瀏覽代碼

fix: 数据模板导入获取数据异常bug修复

cfort 1 年之前
父節點
當前提交
6f62a5bb49

+ 11 - 16
src/business/platform/data/templaterender/components/import-columns-dialog.vue

@@ -285,14 +285,18 @@ export default {
                     selectFieldsTableData.push({ title: target[f] || null, dataType: '', disabled: true, checked: false, key: '' })
                 }
             }
+            const labelList = Object.keys(this.fields).map(key => ({
+                key,
+                label: this.fields[key].label,
+                field_type: this.fields[key].field_type || this.fields[key].type
+            }))
             selectFieldsTableData.forEach(s => {
-                for (var f in this.fields) {
-                    if (s.title === this.fields[f].label) {
-                        s.dataType = this.fields[f].field_type || this.fields[f].type
-                        s.disabled = !this.fields[f].label === s.title
-                        s.checked = this.fields[f].label === s.title
-                        s.key = f
-                    }
+                const t = labelList.find(i => i.label === s.title)
+                if (t) {
+                    s.dataType = t.field_type || t.type
+                    s.disabled = !t.label === s.title
+                    s.checked = t.label === s.title
+                    s.key = t.key
                 }
             })
             this.selectFieldsTableData = selectFieldsTableData
@@ -376,15 +380,6 @@ export default {
             // 列表数据处理
             const tableData = JSON.parse(JSON.stringify(this.tableData.data))
             const saveData = []
-            const gysmlSql = 'select * FROM t_gysml'
-            // 去除字符串里的空格
-            function trim (str) {
-                var reg = /\s+/g
-                if (typeof str === 'string') {
-                    var trimStr = str.replace(reg, '')
-                }
-                return trimStr
-            }
             switch (formKey) {
                 default:
                     tableData.forEach(data => {

+ 8 - 2
src/business/platform/data/templaterender/templates/list.vue

@@ -1819,10 +1819,16 @@ export default {
             })
         },
         setValue (data) {
-            return Array.isArray(data) ? data.map(item => ({ [item]: '' })) : {}
+            return Object.values(data).reduce((obj, item) => {
+                obj[item] = ''
+                return obj
+            }, {})
         },
         getKeys (data) {
-            return Array.isArray(data) ? data.map(item => ({ [item.label]: item.name })) : {}
+            return data.reduce((obj, item) => {
+                obj[item.label] = item.name
+                return obj
+            }, {})
         },
         xlsxFileClick () {
             this.xlsxFileVisible = true