Преглед изворни кода

1、修改透视表
2、修改自定义报表

周兴 пре 3 година
родитељ
комит
a45ee2da0d

+ 13 - 13
src/components/base/dk-perspective/dk-pivot.vue

@@ -152,7 +152,7 @@
                         <DkTableColumn v-for="(cItem,cIndex) in dataFields"
                                        ref="col"
                                        :key="cIndex"
-                                       :field="itemTop + '_' + getTitle(groupCols,index) + cItem.label"
+                                       :field="itemTop + '_' + getTitle(groupCols,index) + cItem.key"
                                        width="auto" :filter="false"
                                        :title="cItem.label"></DkTableColumn>
                       </div>
@@ -174,7 +174,7 @@
                     <DkTableColumn v-for="(cItem,cIndex) in dataFields"
                                    ref="col"
                                    :key="cIndex"
-                                   :field="itemTop + '_' + cItem.label"
+                                   :field="itemTop + '_' + cItem.key"
                                    width="auto" :filter="false"
                                    :title="cItem.label"></DkTableColumn>
                   </div>
@@ -197,7 +197,7 @@
             <DkTableColumn v-for="(cItem,cIndex) in dataFields"
                            ref="col"
                            :key="cIndex"
-                           :field="cItem.label"
+                           :field="cItem.key"
                            width="auto" :filter="false"
                            :title="cItem.label"></DkTableColumn>
           </div>
@@ -570,11 +570,10 @@ export default {
         this.tableData = []
         const valuesHashTable = new HashTable()
         const fields = [...this.rowFields, ...this.colFields]
-
+        const dataKey = []
         this.data.forEach(it => {
           const rowKey = []
           const colKey = []
-          const dataKey = []
           let filtered = false
 
           // Check if item passes fields value filters
@@ -640,17 +639,18 @@ export default {
               // 循环列
               this.$refs.col.forEach(col => {
                 let headerFields = col.field.split('_')
-                console.log('col.field',col.field)
-                let key = []
-                // 如果
-                if(headerFields.length > 1){
-                  key = [...rowKeys, ...headerFields]
-                }else{
-                  key = [...rowKeys]
+                // 如果只有一个值域,是不要显示
+                if(this.dataFields.length == 1){
+                  let index = headerFields.findIndex(it=>it == this.dataFields[0].key)
+                  // 删除掉
+                  if(index >= 0){
+                    headerFields.splice(index,1)
+                  }
                 }
+                let key = [...rowKeys, ...headerFields]
                 let value = valuesHashTable.get(key);
-                console.log('value',value,valuesHashTable,key)
                 item[col.field] = value ? value.toThousandth() : null;
+                // console.log('col.field',col.field,headerFields,valuesHashTable,key)
               })
             })
           }

+ 1 - 0
src/locale/lang/zh-CN.js

@@ -885,6 +885,7 @@ export const columns = {
   flgPage:'分页',
   userNames:'用户',
   reportKind: '条件类型',
+  settingNumberType:'设置数值格式',
 }
 
 /**

+ 6 - 4
src/view/mst/custom-report/form.vue

@@ -189,7 +189,7 @@ export default {
           width: '90px'
         },
         // 列宽
-        {field: 'width', type: 'number', width: '150px', value: '150'},
+        {field: 'width', type: 'number', width: '90px', value: '150'},
         // 对齐方式
         {
           field: 'align',
@@ -201,9 +201,11 @@ export default {
           width: '90px'
         },
         // 小数位数
-        {field: 'digits', type: 'number', width: '100px', max: 6},
-        // 是否千分位显示
-        {field: 'flgThousandth', type: 'switch', width: '100px', value: false},
+        {field: 'settingNumberType', type: 'button', width: '100px'},
+        // // 小数位数
+        // {field: 'digits', type: 'number', width: '100px', max: 6},
+        // // 是否千分位显示
+        // {field: 'flgThousandth', type: 'switch', width: '100px', value: false},
       ],
       conditionData: [],
       currentRow: null