Pārlūkot izejas kodu

图片回显时将字符串转化为数组,提交时将数组转化为字符串

tongshangming 2 gadi atpakaļ
vecāks
revīzija
0c1793be83

+ 2 - 2
src/components/core/ProTable.vue

@@ -105,8 +105,8 @@ const getTableData = () => {
       pageNo: curPage.value
     })
     .then((res: any) => {
-      tableData.value = res.list || res.rows
-      total.value = res.total
+      tableData.value = res.list || res.rows || res.infos
+      total.value = res.total || res.totalCount
     })
     .finally(() => {
       loading.value = false

+ 4 - 0
src/components/core/form/BasicForm.vue

@@ -18,6 +18,10 @@ const formData = computed(() => {
     const buildFormData = (formItems: Array<BasicFormItem>, res: any) => {
       formItems.forEach(item => {
         if (!item.notFormItem || !notFormItem.includes(item.type)) {
+          // 将上传的值改成数组
+          if (item.type === 'upload' && !Array.isArray(item.value)) {
+            item.value = item.value.splice(',')
+          }
           // 避免修改当前表单项value重置其他表单项的value
           res[item.name] = res[item.name] !== undefined && item.value !== undefined ? res[item.name] : item.value
         }

+ 10 - 3
src/components/core/form/ProForm.vue

@@ -36,11 +36,18 @@ const submit = async () => {
   return formRef.value.validate().then(async () => {
     const loading = ElLoading.service()
     try {
-      if (formInitData.value.id) {
-        await props.update(formInitData.value)
+      const data = { ...formInitData.value }
+      // 将上传的值改成逗号隔开的字符串
+      props.formConfig.formItems.forEach(item => {
+        if (item.type === 'upload') {
+          data[item.name] = data[item.name].join(',')
+        }
+      })
+      if (data.id) {
+        await props.update(data)
         message = '编辑成功'
       } else {
-        await props.create(formInitData.value)
+        await props.create(data)
         message = '新增成功'
       }