Ver código fonte

修改事件驱动报表

FinalYu 1 ano atrás
pai
commit
7b6936ca82

+ 1 - 1
chuanyi_client2/src/views/my_report/index.vue

@@ -566,7 +566,7 @@ export default {
         },
         showsheetbar: false, // 是否显示底部 sheet 页按钮
         sheetFormulaBar: false, // 是否显示公式
-        row: 100, // 是否显示底部 sheet 页按钮
+        row: 120, // 是否显示底部 sheet 页按钮
         data: [{
           "name": "统计报表", //工作表名称
         }],

+ 1 - 1
chuanyi_client2/src/views/my_report/index_block.vue

@@ -405,7 +405,7 @@ export default {
         },
         showsheetbar: false, // 是否显示底部 sheet 页按钮
         sheetFormulaBar: false, // 是否显示公式
-        row: 100, // 是否显示底部 sheet 页按钮
+        row: 120, // 是否显示底部 sheet 页按钮
         data: [{
           "name": "统计报表", //工作表名称
         }],

+ 18 - 5
chuanyi_client2/src/views/report_template/index.vue

@@ -379,7 +379,7 @@
             </template>
           </el-table>
         </div>
-        <div v-if="chooseGroupItemList.length > 0">
+        <div v-if="chooseGroupItemList.length > 0 && templateReportType != 2">
           <template>
             <el-divider content-position="left">数据项排列方式</el-divider>
             <div class="cy-line custom-tree">
@@ -654,7 +654,7 @@ export default {
         },
         showsheetbar: false, // 是否显示底部 sheet 页按钮
         sheetFormulaBar: false, // 是否显示公式
-        row: 100, // 是否显示底部 sheet 页按钮
+        row: 120, // 是否显示底部 sheet 页按钮
         data: [{
           "name": "统计报表", //工作表名称
         }],
@@ -800,6 +800,7 @@ export default {
         let option = JSON.parse(JSON.stringify(_this.luckysheetOption))
         option.hook = {
           workbookCreateAfter() {
+            // 定时本地存储
             _this.autoSaveReportInfo()
           },
           cellUpdated(r, c, newV, oldV) {
@@ -1485,14 +1486,22 @@ export default {
         showAlertMsgWin(this, null, '数据项读取条件不能为空!')
         return
       }
-      let rangeWithFlatten = luckysheet.getRangeWithFlatten()
-      let c = rangeWithFlatten[0].c
-      let r = rangeWithFlatten[0].r
+      let c, r
+      // 事件驱动报表格式设置
+      if (this.templateReportType == 2) {
+        c = 0
+        r = 1
+      } else {
+        let rangeWithFlatten = luckysheet.getRangeWithFlatten()
+        c = rangeWithFlatten[0].c
+        r = rangeWithFlatten[0].r
+      }
       // 值显示数量
       for (let n = 0; n < this.itemShowParams.valLine; n ++) {
         this.chooseGroupItemList.forEach((item, i) => {
           let groupId = item.itemGroupId
           let name = item.itemName
+          let describe = item.describe
           name = name.substring(name.lastIndexOf('.') + 1)
           let v = '${' + groupId + '.' + name + '}'
           item.placeHolder = v
@@ -1511,6 +1520,10 @@ export default {
           }
           item.xaxis = p_r
           item.yaxis = p_c
+          // 事件驱动报表格式设置
+          if (this.templateReportType == 2) {
+            luckysheet.setCellValue(0, p_c, describe ? describe : name)
+          }
           luckysheet.setCellValue(p_r, p_c, v)
           this.pushToItemTable(item)
         })

+ 23 - 5
chuanyi_client2/src/views/run_config/index.vue

@@ -641,7 +641,7 @@ export default {
         },
         showsheetbar: false, // 是否显示底部 sheet 页按钮
         sheetFormulaBar: false, // 是否显示公式
-        row: 100, // 是否显示底部 sheet 页按钮
+        row: 120, // 是否显示底部 sheet 页按钮
         data: [{
           "name": "统计报表", //工作表名称
         }],
@@ -1191,10 +1191,26 @@ export default {
       })
     },
     /** 绘制表格数据 */
-    drawTableData(tableItemList) {
+    drawTableData(tableItemList, type) {
       if (!tableItemList || tableItemList.length == 0) return
+      // 事件驱动报表
+      if (type == 2 || type == 4) {
+        tableItemList.forEach((tableItem, i) => {
+          let valueList = tableItem.valueList ? tableItem.valueList.split(',') : []
+          let xAxis = tableItem.xaxis
+          let yAxis = tableItem.yaxis
+          if (valueList.length == 0) {
+            luckysheet.setCellValue(xAxis, yAxis, '')
+          } else {
+            valueList.forEach((v, j) => {
+              luckysheet.setCellValue(xAxis + j, yAxis, v)
+            })
+          }
+        })
+        return
+      }
+      // 其余报表信息
       tableItemList.forEach((tableItem, i) => {
-        // console.log(tableItem)
         let standby = tableItem.standby ? JSON.parse(tableItem.standby) : {}
         let dataIndex = standby.index != null ? standby.index : -1
         let valueList = tableItem.valueList ? tableItem.valueList.split(',') : []
@@ -1508,6 +1524,8 @@ export default {
       let baseItem = luckyData.baseItem
       // 数据项
       let reportTableItemList = dataInfo.reportTableItemList
+      // 报表类型
+      let reportTableType = dataInfo.reportTableType
 
       luckysheet.destroy()
       let option = luckyData.option
@@ -1567,7 +1585,7 @@ export default {
             // 绘制基础数据项
             _this.drawBaseInfo(baseItem)
             // 绘制数据值
-            _this.drawTableData(reportTableItemList)
+            _this.drawTableData(reportTableItemList, reportTableType)
             luckysheet.setRangeShow('BH1')
             if (loading) loading.close()
           }
@@ -1583,7 +1601,7 @@ export default {
             // 绘制基础数据项
             _this.drawBaseInfo(baseItem)
             // 绘制数据值
-            _this.drawTableData(reportTableItemList)
+            _this.drawTableData(reportTableItemList, reportTableType)
             luckysheet.setRangeShow('BH1')
             if (loading) loading.close()
           },