فهرست منبع

1、数据组模块选择点位界面:备选点位树添加全选按钮。
2、数据组模块选择点位界面:备选点位树添加合计文本,默认为0;搜索条件下合计全部叶子节点数;搜索条件下选中节点后合计选中节点下的所有叶子节点数。
3、数据组模块选择点位界面:备选点位列表合计文本放在列表下面。
4、数据组模块选择点位界面:复合筛选条件在关闭弹窗时清除内容。
5、策略模块选择点位界面:解决选择点位后保存报错问题。
6、报表设计模块:图表设计中"数据切换周期"改为"切换周期"。
7、生成报表是子报表ID重复问题,修改调用雪花算法的单例模式接口。
8、修改日志生成内容超长问题。截断为1000个字符。

lhy 9 ماه پیش
والد
کامیت
2c4de10558
18فایلهای تغییر یافته به همراه169 افزوده شده و 66 حذف شده
  1. 1 1
      industry-admin/src/views/source/itemGroup/itemChooseTree.css
  2. 99 9
      industry-admin/src/views/source/itemGroup/itemChooseTree.vue
  3. 7 1
      industry-system/industry-da/src/main/java/com/example/opc_da/annotation/WebLogAspect.java
  4. 6 0
      industry-system/industry-da/src/main/java/com/example/opc_da/base/BaseController.java
  5. 2 2
      industry-system/industry-da/src/main/java/com/example/opc_da/policy/EventReportTableTask.java
  6. 1 1
      industry-system/industry-da/src/main/java/com/example/opc_da/service/impl/ReportTableServiceImpl.java
  7. 1 1
      industry-system/industry-da/src/main/java/com/example/opc_da/task/AutoTableQuartzTask.java
  8. 1 1
      industry-system/industry-da/src/main/java/com/example/opc_da/task/AutoTableTimerTask.java
  9. 1 1
      industry-system/industry-da/src/main/java/com/example/opc_da/task/DeviceTableQuartzTask.java
  10. 1 1
      industry-system/industry-da/src/main/java/com/example/opc_da/task/DeviceTableTimerTask.java
  11. 4 2
      industry-system/industry-da/src/main/resources/mapper/DataModelDao.xml
  12. 1 2
      industry-system/industry-da/src/main/resources/mapper/DictDao.xml
  13. 2 2
      industry-system/industry-da/src/main/resources/mapper/FaultManageDao.xml
  14. 1 1
      industry-system/industry-da/src/main/resources/mapper/ReportTableDao.xml
  15. 3 3
      industry-system/industry-da/src/main/resources/static/reportSheet/js/src/model/chart-right-window.js
  16. 13 13
      industry-system/industry-da/src/main/resources/static/reportSheet/js/src/model/data-setting-window.js
  17. 16 16
      industry-system/industry-da/src/main/resources/static/reportSheet/js/src/model/item-list-table.js
  18. 9 9
      industry-system/industry-da/src/main/resources/static/reportSheet/js/src/model/sheet-util.js

+ 1 - 1
industry-admin/src/views/source/itemGroup/itemChooseTree.css

@@ -13,7 +13,7 @@
 }
 
 .cy-leaves-div {
-    height: calc(100% - 80px);
+    height: calc(100% - 82px);
     overflow: auto;
     overflow-x: hidden;
     margin-top: 5px;

+ 99 - 9
industry-admin/src/views/source/itemGroup/itemChooseTree.vue

@@ -36,8 +36,11 @@
           <el-divider content-position="left">点位</el-divider>
           <div class="cy-line" style="padding-bottom: 10px">
             <div style="height: 35px">
-              <el-input placeholder="输入关键字进行过滤" v-model="filterLabelText" size="mini"
+              <el-input placeholder="输入关键字进行过滤" style="width: calc(100% - 60px)" v-model="filterLabelText" size="mini"
                         prefix-icon="el-icon-search"></el-input>
+              <el-checkbox v-model="isSelectAllLabel" @change="handleCheckAllLabelChange"
+                           style="margin-left: 5px">全选
+              </el-checkbox>
             </div>
             <div style="height: calc(100% - 50px); overflow: auto">
               <!-- 树节点 -->
@@ -60,15 +63,19 @@
                                           }}</span>
                                     </span>
                 </virtual-tree> -->
-				<c-tree class="cy-group-tree" ref="cTree" titleField="label" :render="renderTree" :checkable="true" :selectable="true" :filterMethod="filterLabelEvent" @click="handleLabelNodeClick2"></c-tree>
+				        <c-tree class="cy-group-tree" ref="cTree" titleField="label"
+                        :render="renderTree" :checkable="true" :selectable="true"
+                        :filterMethod="filterLabelEvent"
+                        @click="handleLabelNodeClick2"
+                        @selected-change="handleLabelNodeSelected"></c-tree>
               </div>
+              <el-divider content-position="left" style="margin-bottom: 15px !important">
+                <i></i>
+                <span>(共{{ labelList.length }}项)</span>
+              </el-divider>
               <!-- 树节点对应的叶节点 -->
-              <div style="height: 38vh; overflow: auto">
-                <el-divider content-position="left" style="margin-bottom: 15px !important">
-                  <i></i>
-                  <span>(共{{ leavesList.length }}项)</span>
-                </el-divider>
-                <el-input placeholder="输入关键字进行过滤" style="margin-top: -10px; width: calc(100% - 60px)"
+              <div style="height: 32vh; overflow: auto">
+                <el-input placeholder="输入关键字进行过滤" style="width: calc(100% - 60px)"
                           size="mini" @input="filterLeavesEvent" v-model="filterLeavesText"></el-input>
                 <el-checkbox v-model="isSelectAllLeaves" @change="handleCheckAllLeavesChange"
                              style="margin-left: 5px">全选
@@ -78,6 +85,11 @@
                                    @check-change-all="checkChangeAllLeaves"
                                    @check-change="checkChangeLeaves"></p-virtual-check>
                 </div>
+
+                <el-divider content-position="left">
+                  <i></i>
+                  <span>(共{{ leavesList.length }}项)</span>
+                </el-divider>
               </div>
             </div>
           </div>
@@ -139,7 +151,8 @@ export default {
   watch: {
     filterLabelText(val) {
       // this.$refs.itemTree.filter(val);
-	  this.$refs.cTree.filter(val)
+	    this.$refs.cTree.filter(val)
+      this.searchCountChildrenLeaf(val)
     },
   },
   created() {
@@ -161,6 +174,9 @@ export default {
       itemList: [],
       //过滤树节点的输入文本
       filterLabelText: null,
+      // 左侧备选点位树 叶子节点数
+      // 搜索条件下合计全部叶子节点数;搜索条件下选中节点后合计选中节点下的所有叶子节点数。
+      labelList: [],
       //左侧展示的叶节点
       leavesList: [],
       leavesListF: [],
@@ -169,6 +185,7 @@ export default {
       //过滤叶节点的输入文本
       filterLeavesText: null,
       //是否全选所有叶节点
+      isSelectAllLabel: false,
       isSelectAllLeaves: false,
       //右侧展示的,已选择的点位
       chooseItemDataListByTree: [],
@@ -184,6 +201,40 @@ export default {
     }
   },
   methods: {
+    // 搜索条件下合计全部叶子节点数;搜索条件下选中节点后合计选中节点下的所有叶子节点数。
+    searchCountChildrenLeaf(val){
+      const selectedNode = this.$refs.cTree.getSelectedNode()
+      if(selectedNode){
+        if(val){
+          this.labelList = this.findAllChildrenLeaf(selectedNode, val, [])
+        }else{
+          this.labelList = []
+        }
+      }else{
+        if(val){
+          // 扁平化后的节点数据
+          const treeNodes = this.$refs.cTree.getFlatData()
+          this.labelList = treeNodes.filter(v => v.isLeaf && v.label && v.label.indexOf(val) > -1)
+        }else{
+          this.labelList = []
+        }
+      }
+    },
+    // 查询节点下所有子节点
+    findAllChildrenLeaf(node, val, leafNodes) {
+      if(node){
+        const children = node.children
+        children.forEach((child) => {
+          // 递归查询子节点的子节点
+          if(child.isLeaf && child.label && child.label.indexOf(val) > -1){
+            leafNodes.push(child)
+          }else{
+            leafNodes = this.findAllChildrenLeaf(child, val, leafNodes)
+          }
+        })
+      }
+      return leafNodes
+    },
 	  renderTree(h, data) {
 		  if (data.isLeaf) {
 			  return (
@@ -258,6 +309,13 @@ export default {
       this.chooseItemDataListByTree = []
       this.filterLabelText = null
       this.filterLeavesText = null
+
+      this.checkChangeAllLeaves(false);
+      this.checkChangeAllLabel(false);
+      //是否全选所有叶节点
+      this.isSelectAllLabel = false;
+      this.isSelectAllLeaves = false;
+      this.queryParams.needItemStr = []
     },
     /** 查询改数据源下的驱动点位信息 */
     getDriverItemBySouceId(id) {
@@ -402,6 +460,23 @@ export default {
 	    }
 	    return tree;
 	},
+  handleLabelNodeSelected(d){
+    if(d){
+      if(this.filterLabelText){
+        this.labelList = this.findAllChildrenLeaf(d, this.filterLabelText, [])
+      }else{
+        this.labelList = []
+      }
+    }else{
+      if(this.filterLabelText){
+        // 扁平化后的节点数据
+        const treeNodes = this.$refs.cTree.getFlatData()
+        this.labelList = treeNodes.filter(v => v.isLeaf && v.label && v.label.indexOf(this.filterLabelText) > -1)
+      }else{
+        this.labelList = []
+      }
+    }
+  },
 	handleLabelNodeClick2(d) {
 	  let itemNames = [];
 	  _extractDataItemValues(d, itemNames);
@@ -429,6 +504,7 @@ export default {
 	      this.leavesList = leaves
 	      this.leavesListF = leaves
 	      loading.close();
+
 	    }, (e)=>{
 	      loading.close();
 	    })
@@ -454,6 +530,18 @@ export default {
       this.leavesList = filterList;
     },
     /** 全选叶节点事件 */
+    handleCheckAllLabelChange(flag){
+      if(flag){
+        this.$refs.cTree.checkAll()
+      }else{
+        this.$refs.cTree.clearChecked()
+      }
+    },
+    /** 是否全部选中 */
+    checkChangeAllLabel(flag) {
+      this.isSelectAllLabel = flag;
+    },
+    /** 全选叶节点事件 */
     handleCheckAllLeavesChange(flag) {
       this.$refs.pvc.checkedAll(flag);
     },
@@ -689,10 +777,12 @@ export default {
           }
           //console.log(treeData)
           this.checkChangeAllLeaves(false);
+          this.checkChangeAllLabel(false);
           this.$nextTick(() => {
             this.chooseItemDataListByTree = treeData;
             this.isSelectAllItem = false;
             this.isSelectAllLeaves = false;
+            this.isSelectAllLabel = false;
             this.leavesChooseList = [];
             // this.$refs.itemTree.setCheckedKeys([]);
             // this.$refs.itemTree.setCheckedNodes([]);

+ 7 - 1
industry-system/industry-da/src/main/java/com/example/opc_da/annotation/WebLogAspect.java

@@ -114,7 +114,13 @@ public class WebLogAspect {
         }
         log.setOperationName(webLog.OperationEnum().getValue());
         //log.setContent("操作类型:" + webLog.OperationEnum().getValue() + "\n请求参数:" + requestArgs + "\n响应结果:" + ((Result) result).toString());
-        log.setContent("请求参数:" + requestArgs + "\n响应结果:" + ((Result) result).toString());
+        String content = "请求参数:" + requestArgs + "\n响应结果:" + ((Result) result).toString();
+        // 最大字数
+        int maxSize = 1000;
+        if (content.length() > maxSize) {
+            content = "内容字数为:" + content.length() + ",超出设置的最大字数:" + maxSize + ",截断后内容为:" + content.substring(0, maxSize);
+        }
+        log.setContent(content);
         String userId = Convert.toStr(redisUtil.get(request.getHeader("token")));
         User user = userDao.getUserById(userId);
         String userName = user == null ? "" : (user.getUserName() + "@");

+ 6 - 0
industry-system/industry-da/src/main/java/com/example/opc_da/base/BaseController.java

@@ -1,6 +1,7 @@
 package com.example.opc_da.base;
 
 import cn.hutool.core.convert.Convert;
+import cn.hutool.core.util.StrUtil;
 import cn.hutool.extra.servlet.ServletUtil;
 import com.example.opc_common.entity.OperationLog;
 import com.example.opc_common.entity.User;
@@ -43,6 +44,11 @@ public class BaseController {
             OperationLog operationLog = new OperationLog();
             operationLog.setModelName(modelName.getValue());
             operationLog.setOperationName(operationName.getValue());
+            // 最大字数
+            int maxSize = 1000;
+            if (StrUtil.isNotEmpty(content) && content.length() > maxSize) {
+                content = "内容字数为:" + content.length() + ",超出设置的最大字数:" + maxSize + ",截断后内容为:" + content.substring(0, maxSize);
+            }
             operationLog.setContent(content);
             String userId = Convert.toStr(redisUtil.get(request.getHeader("token")));
             User user = userDao.getUserById(userId);

+ 2 - 2
industry-system/industry-da/src/main/java/com/example/opc_da/policy/EventReportTableTask.java

@@ -91,7 +91,7 @@ public class EventReportTableTask implements DisposableBean {
         // 开始不创建子报表,等达到条件(数量达到了设置的条数)后创建
         /*if (this.cureentNum == 0 && Blank.isEmpty(this.currentReportTableId)) {
             //生成一个新的子报表
-            String id = IdUtil.createSnowflake(1, 1).nextId() + "";
+            String id = IdUtil.getSnowflake(1, 1).nextId() + "";
             this.currentReportTableId = id;
             asyncTask.addHaveKeyChReport(reportTable.getId(), id,
                     ConstantStr.EVENT_GENERATE_REPORT, reportTable.getReportTableData(), false);
@@ -128,7 +128,7 @@ public class EventReportTableTask implements DisposableBean {
             operationLog.setIpAddress("127.0.0.1");
             try {
                 //生成一个新的子报表
-                String id = IdUtil.createSnowflake(1, 1).nextId() + "";
+                String id = IdUtil.getSnowflake(1, 1).nextId() + "";
                 this.currentReportTableId = id;
                 asyncTask.addHaveKeyChReport(reportTable.getId(), id,
                         ConstantStr.EVENT_GENERATE_REPORT, reportTable.getReportTableData(), false);

+ 1 - 1
industry-system/industry-da/src/main/java/com/example/opc_da/service/impl/ReportTableServiceImpl.java

@@ -99,7 +99,7 @@ public class ReportTableServiceImpl implements ReportTableService {
                 tableTemplate.getId(), tableTemplate.getVersion(), date
         ));
         //根据模板生成相应的报表
-        String reportTableId = IdUtil.createSnowflake(1, 1).nextId() + "";
+        String reportTableId = IdUtil.getSnowflake(1, 1).nextId() + "";
         ReportTable reportTable = new ReportTable(reportTableId,
                 tableTemplate.getTemplateType(), tableTemplate.getId(), tableTemplate.getUserId(), tableTemplate.getTemplateName(),
                 tableTemplate.getTemplateData(), ConstantStr.DEFAULT_VERSION, tableTemplate.getCreateTime()

+ 1 - 1
industry-system/industry-da/src/main/java/com/example/opc_da/task/AutoTableQuartzTask.java

@@ -43,7 +43,7 @@ public class AutoTableQuartzTask extends QuartzJobBean {
         ReportTable newReportTable = SerializationUtils.clone(reportTable);
         newReportTable.setRunState(ConstantStr.START_UP);
         //生成一张新的子报表,并添加相应的日志,以及用户组授权
-        String id = IdUtil.createSnowflake(1, 1).nextId() + "";
+        String id = IdUtil.getSnowflake(1, 1).nextId() + "";
         asyncTask.addHaveKeyChReport(reportTable.getId(), id, ConstantStr.AUTOMATIC_GENERATE_REPORT,
                 ReportTableValidateFactory.getReportTableValidate(
                         reportTable.getReportTableType()

+ 1 - 1
industry-system/industry-da/src/main/java/com/example/opc_da/task/AutoTableTimerTask.java

@@ -39,7 +39,7 @@ public class AutoTableTimerTask extends PeriodTimerTask {
         ReportTable newReportTable = SerializationUtils.clone(reportTable);
         newReportTable.setRunState(ConstantStr.START_UP);
         //生成一张新的子报表,并添加相应的日志,以及用户组授权
-        String id = IdUtil.createSnowflake(1, 1).nextId() + "";
+        String id = IdUtil.getSnowflake(1, 1).nextId() + "";
         asyncTask.addHaveKeyChReport(reportTable.getId(), id, ConstantStr.AUTOMATIC_GENERATE_REPORT,
                 ReportTableValidateFactory.getReportTableValidate(
                         reportTable.getReportTableType()

+ 1 - 1
industry-system/industry-da/src/main/java/com/example/opc_da/task/DeviceTableQuartzTask.java

@@ -42,7 +42,7 @@ public class DeviceTableQuartzTask extends QuartzJobBean {
         ReportTable newReportTable = SerializationUtils.clone(reportTable);
         newReportTable.setRunState(ConstantStr.START_UP);
         //生成一张新的子报表,并添加相应的日志,以及用户组授权
-        String id = IdUtil.createSnowflake(1, 1).nextId() + "";
+        String id = IdUtil.getSnowflake(1, 1).nextId() + "";
         asyncTask.addHaveKeyChReport(reportTable.getId(), id, ConstantStr.DEVICE_GENERATE_REPORT,
                 ReportTableValidateFactory.getReportTableValidate(
                         reportTable.getReportTableType()

+ 1 - 1
industry-system/industry-da/src/main/java/com/example/opc_da/task/DeviceTableTimerTask.java

@@ -38,7 +38,7 @@ public class DeviceTableTimerTask extends PeriodTimerTask {
         ReportTable newReportTable = SerializationUtils.clone(reportTable);
         newReportTable.setRunState(ConstantStr.START_UP);
         //生成一张新的子报表,并添加相应的日志,以及用户组授权
-        String id = IdUtil.createSnowflake(1, 1).nextId() + "";
+        String id = IdUtil.getSnowflake(1, 1).nextId() + "";
         asyncTask.addHaveKeyChReport(reportTable.getId(), id, ConstantStr.DEVICE_GENERATE_REPORT,
                 ReportTableValidateFactory.getReportTableValidate(
                         reportTable.getReportTableType()

+ 4 - 2
industry-system/industry-da/src/main/resources/mapper/DataModelDao.xml

@@ -98,7 +98,8 @@
         WHERE
             ti.data_model_id = #{id}
         GROUP BY
-            ti.item_group_id;
+            ti.item_group_id,
+            tig.group_name;
     </select>
 
     <select id="getItemGroupByDmList" resultType="java.util.Map">
@@ -116,7 +117,8 @@
                 #{id}
             </foreach>
             GROUP BY
-            ti.item_group_id;
+            ti.item_group_id,
+            tig.group_name;
         </if>
     </select>
 

+ 1 - 2
industry-system/industry-da/src/main/resources/mapper/DictDao.xml

@@ -235,7 +235,6 @@
     <select id="queryTypeAll" resultType="com.example.opc_common.entity.DictType">
         SELECT id, dict_key_type, dict_key_value, sort_num, description
         FROM sys_dict_type
-        group by id
     </select>
 
     <!--根据字典类型查询对应数据-->
@@ -300,4 +299,4 @@
     </select>
 
 
-</mapper>
+</mapper>

+ 2 - 2
industry-system/industry-da/src/main/resources/mapper/FaultManageDao.xml

@@ -160,7 +160,7 @@
                     AND tfm.create_time BETWEEN #{startTime} AND #{endTime}
                 </if>
             ) tmp
-            GROUP BY tmp.device_ledger_id
+            GROUP BY tmp.device_ledger_id,tmp.device_name,tmp.device_num
         ) a
     </select>
 
@@ -189,7 +189,7 @@
                 AND tfm.create_time BETWEEN #{startTime} AND #{endTime}
             </if>
         ) tmp
-        GROUP BY tmp.device_ledger_id
+        GROUP BY tmp.device_ledger_id,tmp.device_name,tmp.device_num
         LIMIT #{startNum}, #{limitNum}
     </select>
 

+ 1 - 1
industry-system/industry-da/src/main/resources/mapper/ReportTableDao.xml

@@ -1188,7 +1188,7 @@
                     #{id}
                 </foreach>
          ) ti
-        GROUP BY ti.itemReadName
+        GROUP BY ti.id,ti.itemReadName,ti.reportTableType
         ORDER BY ti.itemReadName
     </select>
 

+ 3 - 3
industry-system/industry-da/src/main/resources/static/reportSheet/js/src/model/chart-right-window.js

@@ -1167,7 +1167,7 @@ layui.define(['layer', 'form', 'jquery', 'element', 'laydate', 'colorpicker', 's
 						</div>
 						<div class="cr-form-label">切换周期:</div>
 						<div class="layui-form-item">
-							<input name="bucketValue" type="number" lay-affix="number" value="1" placeholder="数据切换周期" step="1" min="1" 
+							<input name="bucketValue" type="number" lay-affix="number" value="1" placeholder="切换周期" step="1" min="1" 
 							class="layui-input chart-hand-bucket-value" lay-filter="chart-hand-bucket-value" />
 						</div>
 						<div class="cr-form-label">时间范围:</div>
@@ -1210,9 +1210,9 @@ layui.define(['layer', 'form', 'jquery', 'element', 'laydate', 'colorpicker', 's
 								<input type="radio" name="bucketType" value="3" title="分" lay-filter="bucket-type">
 								<input type="radio" name="bucketType" value="4" title="秒" lay-filter="bucket-type"> 
 							</div>
-							<div class="cr-form-label">数据切换周期:</div>
+							<div class="cr-form-label">切换周期:</div>
 							<div class="layui-form-item">
-								<input name="bucketValue" lay-filter="bucket-value" type="number" lay-affix="number" value="1" placeholder="数据切换周期" step="1" min="1" class="layui-input bucket-value">
+								<input name="bucketValue" lay-filter="bucket-value" type="number" lay-affix="number" value="1" placeholder="切换周期" step="1" min="1" class="layui-input bucket-value">
 							</div>
 							<div class="cr-form-label">数据区域时间范围:</div>
 							<div class="layui-form-item chart-setting-data-time">

+ 13 - 13
industry-system/industry-da/src/main/resources/static/reportSheet/js/src/model/data-setting-window.js

@@ -1,7 +1,7 @@
 layui.define(['layer', 'form'], function(exports) {
 	const layer = layui.layer
 	const form = layui.form
-	
+
 	form.on('radio(data-setting-data-type)', function(data) {
 		if (data.elem.value == 0) {
 			$('.setting-bucket-value').removeClass('layui-hide')
@@ -9,7 +9,7 @@ layui.define(['layer', 'form'], function(exports) {
 			$('.setting-bucket-value').addClass('layui-hide')
 		}
 	})
-	
+
 	form.on('radio(data-setting-bucket-type)', function(data) {
 		if (data.elem.value == 0 || data.elem.value == 1) {
 			$('.data-setting-data-time').addClass('layui-hide')
@@ -20,7 +20,7 @@ layui.define(['layer', 'form'], function(exports) {
 			$('.data-setting-data-day').addClass('layui-hide')
 		}
 	})
-	
+
 	form.on('select(setting-time-type)', function(data) {
 		const formData = form.val('dataSettingForm')
 		if (formData.bucketType == 1) {
@@ -38,7 +38,7 @@ layui.define(['layer', 'form'], function(exports) {
 			form.render()
 		}
 	})
-	
+
 	const event = {
 		renderTimeSelect: function(type) {
 			let html = ''
@@ -96,8 +96,8 @@ layui.define(['layer', 'form'], function(exports) {
 			return count
 		}
 	}
-	
-	
+
+
 	const view = {
 		content: function() {
 			return `
@@ -204,7 +204,7 @@ layui.define(['layer', 'form'], function(exports) {
 						<div class="layui-form-item setting-bucket-value">
 							<label class="layui-form-label form-required-label">切换周期:</label>
 							<div class="layui-input-block">
-								<input name="bucketValue" type="number" lay-affix="number" value="1" placeholder="数据切换周期" step="1" min="1" class="layui-input">
+								<input name="bucketValue" type="number" lay-affix="number" value="1" placeholder="切换周期" step="1" min="1" class="layui-input">
 							</div>
 						</div>
 						<div class="layui-form-item">
@@ -271,7 +271,7 @@ layui.define(['layer', 'form'], function(exports) {
 			`
 		}
 	}
-	
+
 	const fn = {
 		open: function(params) {
 			const type = layui.sheetTypew.templateReportType
@@ -385,9 +385,9 @@ layui.define(['layer', 'form'], function(exports) {
 					}
 					if (type == 1) {
 						if (data.dataValueType == 0 && (!data.bucketValue || parseInt(data.bucketValue) < 1)) {
-							layer.msg('请设置正确的数据切换周期!', {icon: 2})
+							layer.msg('请设置正确的切换周期!', {icon: 2})
 							return
-						}					
+						}
 						if (data.dataValueType == 0) {
 							const count = parseInt(event.countCycle(data) / parseInt(data.bucketValue))
 							if (count <= 0) {
@@ -401,7 +401,7 @@ layui.define(['layer', 'form'], function(exports) {
 							return;
 						}
 					}
-					
+
 					if (params.success) {
 						data.startTime = $('#data-setting-data-1').val()
 						data.endTime = $('#data-setting-data-2').val()
@@ -413,6 +413,6 @@ layui.define(['layer', 'form'], function(exports) {
 			});
 		}
 	}
-	
+
 	exports('dataSettingw', fn);
-});
+});

+ 16 - 16
industry-system/industry-da/src/main/resources/static/reportSheet/js/src/model/item-list-table.js

@@ -4,7 +4,7 @@ layui.define(['layer', 'form', 'table', 'util', 'dataSettingw', 'sheetUtil', 'it
 	const table = layui.table
 	const util = layui.util
 	const sheetUtil = layui.sheetUtil
-	
+
 	$(document).on('blur', '.item-val-line', function() {
 		if (!$(this).val()) {
 			return
@@ -162,7 +162,7 @@ layui.define(['layer', 'form', 'table', 'util', 'dataSettingw', 'sheetUtil', 'it
 						if(fn.data.deviceDataSetting!=undefined){
 							let data_new = fn.data.itemList.filter(item => item.itemId != fn.data.deviceDataSetting.var1 || item.itemId != fn.data.deviceDataSetting.var2);
 							fn.data.itemList = data_new;
-						}						
+						}
 					}
 					table.reloadData('item-list-table', {
 						data: fn.data.itemList
@@ -239,7 +239,7 @@ layui.define(['layer', 'form', 'table', 'util', 'dataSettingw', 'sheetUtil', 'it
 			})
 		}
 	})
-	
+
 	table.on('tool(item-list-table)', function(obj) {
 		if (obj.event == 'del') {
 			layer.confirm('是否确认删除该点位?', {
@@ -434,7 +434,7 @@ layui.define(['layer', 'form', 'table', 'util', 'dataSettingw', 'sheetUtil', 'it
 						<div class="layui-form-item item-list-bucket-value">
 							<label class="layui-form-label" style="width: 130px;">切换周期:</label>
 							<div style="width: 50%;margin-left: 160px;">
-								<input name="bucketValue" type="number" lay-affix="number" value="1" placeholder="数据切换周期" step="1" min="1" 
+								<input name="bucketValue" type="number" lay-affix="number" value="1" placeholder="切换周期" step="1" min="1" 
 								class="layui-input" />
 							</div>
 						</div>
@@ -589,7 +589,7 @@ layui.define(['layer', 'form', 'table', 'util', 'dataSettingw', 'sheetUtil', 'it
 						}else{
 							return ''
 						}
-						
+
 					}},
 				]
 			if (fn.data.type != 'edit') {
@@ -666,7 +666,7 @@ layui.define(['layer', 'form', 'table', 'util', 'dataSettingw', 'sheetUtil', 'it
 			})
 		}
 	}
-	
+
 	const fn = {
 		data: {
 			itemList: [],
@@ -686,7 +686,7 @@ layui.define(['layer', 'form', 'table', 'util', 'dataSettingw', 'sheetUtil', 'it
 				if (layui.sheetTypew.templateReportType == 5) {
 					_this.data.deviceDataSetting = params.dataSetting
 				}
-				
+
 			}
 			//console.log(_this.data.dataSetting)
 			layer.open({
@@ -714,7 +714,7 @@ layui.define(['layer', 'form', 'table', 'util', 'dataSettingw', 'sheetUtil', 'it
 								$('#itemvar-name-2').attr('data-itemid', deviceDataSetting.var2)
 								$('#itemvar-input-1').val(deviceDataSetting.ipt1)
 								$('#itemvar-input-2').val(deviceDataSetting.ipt2)
-								
+
 								form.val('item-list-form', {
 									variableType: deviceDataSetting.var1 == deviceDataSetting.var2 ? 1 : 2,
 									isGenCountTime: deviceDataSetting.isGenCountTime,
@@ -886,7 +886,7 @@ layui.define(['layer', 'form', 'table', 'util', 'dataSettingw', 'sheetUtil', 'it
 								layer.alert('检测到数据生成区域含有其他定义报表,生成失败!', {icon: 2})
 							})
 						} else if (type == 2) {
-							layui.itemUtil.periodicReport(_this.data.itemList, {	
+							layui.itemUtil.periodicReport(_this.data.itemList, {
 								dataValType: 0,
 								valLine: layui.sheetTypew.templateEventReportNum,
 								isShowDataTime: 0,
@@ -907,13 +907,13 @@ layui.define(['layer', 'form', 'table', 'util', 'dataSettingw', 'sheetUtil', 'it
 								layer.msg('请设置设备报表条件!', {icon: 2})
 								return
 							}
-							if (!_this.data.dataSetting || !_this.data.dataSetting.valueType || !_this.data.dataSetting.valueTakingMode 
+							if (!_this.data.dataSetting || !_this.data.dataSetting.valueType || !_this.data.dataSetting.valueTakingMode
 								|| !_this.data.dataSetting.startTime || !_this.data.dataSetting.endTime) {
 								layer.msg('请设置数据条件!', {icon: 2})
 								return
 							}
 							//console.log(_this.data.dataSetting);
-							const dataList = _this.data.itemList.filter(item => item.itemId != $('#itemvar-name-1').attr('data-itemid') 
+							const dataList = _this.data.itemList.filter(item => item.itemId != $('#itemvar-name-1').attr('data-itemid')
 							&& item.itemId != $('#itemvar-name-2').attr('data-itemid'))
 							layui.itemUtil.deviceReport(dataList, {
 								valLine: itemForm.rowNumber,
@@ -942,9 +942,9 @@ layui.define(['layer', 'form', 'table', 'util', 'dataSettingw', 'sheetUtil', 'it
 			});
 		}
 	}
-	
+
 	const event = {
-		
+
 		updateCell: function(data, index) {
 			const sheetData = luckysheet.getSheetData(0)
 			const nData = sheetData.map(arr => {
@@ -978,7 +978,7 @@ layui.define(['layer', 'form', 'table', 'util', 'dataSettingw', 'sheetUtil', 'it
 			})
 		}
 	}
-	
-	
+
+
 	exports('itemListTable', fn);
-});
+});

+ 9 - 9
industry-system/industry-da/src/main/resources/static/reportSheet/js/src/model/sheet-util.js

@@ -1,12 +1,12 @@
 layui.define(function(exports) {
-	
+
 	layui.util.on({
 		'luckysheet-my-merge-btn': function() {
 			//console.log(1)
 			$('#luckysheet-rightclick-menu').css({display: 'none'})
 		}
 	})
-	
+
 	const getCellData = (row, column) => {
 		return luckysheet.getAllSheets()[0].data[row][column]?.celldata
 	}
@@ -30,7 +30,7 @@ layui.define(function(exports) {
 			let dataSetting = null
 			let position = null
 			for (let i = 0; i < arr.length; i++) {
-				
+
 				for (let j = 0; j < arr[i].length; j++) {
 					if (arr[i][j] && arr[i][j].tableId && arr[i][j].tableId == tableId && !position) {
 						position = {
@@ -88,7 +88,7 @@ layui.define(function(exports) {
 					}else{
 						valueflag = false;
 					}
-					
+
 					if (cell && valueflag) {
 						try {
 							const data = JSON.parse(cell) || {}
@@ -208,7 +208,7 @@ layui.define(function(exports) {
 										luckysheet.undo()
 									} else {
 										const range = luckysheet.getRange()[0]
-										if (!(range.row[0] == moveJson.range.row[0] && range.row[1] == moveJson.range.row[1] && 
+										if (!(range.row[0] == moveJson.range.row[0] && range.row[1] == moveJson.range.row[1] &&
 										range.column[0] == moveJson.range.column[0] && range.column[1] == moveJson.range.column[1])) {
 											const arr = moveJson.data.filter(item => {
 												return item && item.m && item.m.startsWith('^.')
@@ -269,7 +269,7 @@ layui.define(function(exports) {
 						// 		}
 						// 	}
 						// }
-						
+
 						const arr = luckysheet.getSheetData(0)
 						if (sheetData.length > arr.length) {
 							let len = sheetData.length - arr.length
@@ -313,7 +313,7 @@ layui.define(function(exports) {
 							layui.excelUtil.downloadExcel($('#template-name').val())
 						}, 300)
 					}
-					
+
 					window.localStorage.setItem('cnt',-1);
 					window.parent.postMessage({
 						cmd: 'complete',
@@ -325,7 +325,7 @@ layui.define(function(exports) {
 		},
 		checkAutoSheet: function(data) {
 			if (!data.bucketValue || parseInt(data.bucketValue) < 1) {
-				layer.msg('请设置正确的数据切换周期!', {icon: 2})
+				layer.msg('请设置正确的切换周期!', {icon: 2})
 				return false
 			}
 			if (data.bucketType > 1) {
@@ -407,4 +407,4 @@ layui.define(function(exports) {
 	}
 
 	exports('sheetUtil', fn);
-});
+});