huangxw 10 ماه پیش
والد
کامیت
9b79d30e53
3فایلهای تغییر یافته به همراه13 افزوده شده و 8 حذف شده
  1. 11 6
      src/components/FileUpload/index.vue
  2. 1 1
      src/views/cdt/models/uploadInvoiceForm.vue
  3. 1 1
      src/views/cdt/models/uploadReportForm.vue

+ 11 - 6
src/components/FileUpload/index.vue

@@ -63,7 +63,6 @@ const props = defineProps({
   isShowTip: propTypes.bool.def(true),
   tipText: propTypes.string.def(''),
   span: propTypes.number.def(24),
-  isObject: propTypes.bool.def(false),
   multiple: propTypes.bool.def(true),
   white: propTypes.bool.def(false),
   // 上传数据格式
@@ -89,15 +88,21 @@ const fileUploadRef = ref<ElUploadInstance>();
 const progressList = ref<any>([]);
 watch(
   () => props.modelValue,
-  async (val) => {
+  async (val: any) => {
       if (val) {
           let temp = 1;
           // 首先将值转为数组
           let list = [];
            if (props.format === 'array' && Array.isArray(val)) {
               list = val;
-           } else if (props.format === 'object' || props.isObject) {
-              list = [val];
+           } else if (props.format === 'object') {
+              list = [{
+                    name: val.fileName,
+                    url: val.url,
+                    fileSize: val.fileSize,
+                    fileType: val.fileType,
+                    ossId: val.ossId
+              }];
           } else {
               const res = await listByIds(val as string);
               list = res.data.map((oss) => {
@@ -187,7 +192,7 @@ const uploadedSuccessfully = () => {
       if (props.format === 'id') {
          emit('change', listToString(valuef));
          emit('update:modelValue', listToString(valuef));
-      } else if (props.isObject || props.format === 'object') {
+      } else if (props.format === 'object') {
           emit('change', valuef[0])
           emit('update:modelValue', valuef[0]);
       } else {
@@ -205,7 +210,7 @@ const handleDelete = (index: number) => {
   fileUploadRef.value?.abort(fileList.value[index]);
   fileList.value.splice(index, 1);
   const valuef = fileList.value.map(({ name, url, fileType, fileSize }) => ({ fileName: name, url, fileSize, fileType }));
-  if (props.isObject) {
+  if (props.format === 'object') {
       emit('change', null)
       emit('update:modelValue', null);
   } else {

+ 1 - 1
src/views/cdt/models/uploadInvoiceForm.vue

@@ -3,7 +3,7 @@
         <template #default>
             <el-form ref="formRef" :model="form" :rules="rules" label-width="auto" hide-required-asterisk>
                 <el-form-item label="发票:" prop="invoice">
-                    <file-upload v-model="form.invoice" :limit="1" isObject :fileType="['pdf']" :span="24" />
+                    <file-upload v-model="form.invoice" :limit="1" format="object" :fileType="['pdf']" :span="24" />
                 </el-form-item>
             </el-form>
         </template>

+ 1 - 1
src/views/cdt/models/uploadReportForm.vue

@@ -3,7 +3,7 @@
         <template #default>
             <el-form ref="formRef" :model="form" :rules="rules" label-width="auto" hide-required-asterisk>
                 <el-form-item label="报告:" prop="report">
-                    <file-upload v-model="form.report" :limit="1" isObject :fileType="['pdf']" :span="24" />
+                    <file-upload v-model="form.report" :limit="1" format="object" :fileType="['pdf']" :span="24" />
                 </el-form-item>
             </el-form>
         </template>