Browse Source

1、采集器:编辑和新增弹出窗口标题区分。
2、报表设计:饼状图配置多个点位时,能显示多个点位的分区
3、自动报表饼状图单个、多个点位均可显示点位名称。

lry 9 months ago
parent
commit
f93fb95117

+ 4 - 1
industry-admin/src/views/collector/index.vue

@@ -83,7 +83,7 @@
       </el-col>
     </el-row>
 
-    <el-dialog title="编辑采集器" :visible.sync="dialogAdd" width="800px" :close-on-click-modal="false">
+    <el-dialog :title="diatitle" :visible.sync="dialogAdd" width="800px" :close-on-click-modal="false">
       <el-form ref="addForm" :model="addForm" :rules="addRules" label-width="90px">
         <el-form-item label="名称" prop="name">
           <el-input v-model="addForm.name" placeholder="请输入采集器名称"/>
@@ -302,6 +302,7 @@ export default {
       dialogSetting: false,
       activeName: '0',
       loading: true,
+      diatitle:'新增采集器',
       groupDialog: false,
       queryParams: {
         page: 1,
@@ -523,6 +524,7 @@ export default {
       }
     },
     handelAdd() {
+      this.diatitle = '新增采集器'
       this.dialogAdd = true
     },
     handelAddCancel() {
@@ -850,6 +852,7 @@ export default {
       this.dialogSetting = false
     },
     handelEdit(row) {
+      this.diatitle = '编辑采集器'
       this.dialogAdd = true
       this.addForm = {
         id: row.id,

+ 17 - 5
industry-system/industry-da/src/main/java/com/example/opc_da/validate/reportTable/AutomaticReportTableValidate.java

@@ -649,10 +649,18 @@ public abstract class AutomaticReportTableValidate implements ReportTableValidat
                 List<JSONObject> item = list.stream().map(v -> {
                     JSONObject jsonObject = new JSONObject();
                     jsonObject.put("value", v.getValue());
-                    if(v.getName()!=null){
-                        jsonObject.put("name", v.getName());
+                    String itemId = v.getName();
+                    String itemName="";
+                    for(int i=0;i<items.size(); i++){
+                        JSONObject obj = items.getJSONObject(i);
+                        if (obj.getString("value").equals(itemId)) {
+                            itemName = obj.getString("title");
+                        }
+                    }
+                    if(items.size()>1){
+                        jsonObject.put("name", itemName);
                     }else{
-                        jsonObject.put("name", v.getTime());
+                        jsonObject.put("name", itemName + ' '+v.getTime());
                     }
                     return jsonObject;
                 }).collect(Collectors.toList());
@@ -668,7 +676,7 @@ public abstract class AutomaticReportTableValidate implements ReportTableValidat
                     for (int j = 0; j < items.size(); j++) {
                         JSONObject obj = items.getJSONObject(j);
                         if (obj.getString("value").equals(itemName)) {
-                            object.put("name", obj.getString("title"));
+                            //object.put("name", obj.getString("title"));
                         }
                     }
                     pieserieData.add(object);
@@ -764,9 +772,12 @@ public abstract class AutomaticReportTableValidate implements ReportTableValidat
             while (sDateTime.isBefore(endDateTime)) {
                 eDateTime = BucketTypeFactory.getBucketType(bucketType).plusLocalDateTime(sDateTime, bucketValue);
                 List<String> valueList = new ArrayList<>();
+                String itemName = "";
                 if (CollUtil.isNotEmpty(itemList)) {
                     for (int i = 0; i < itemList.size(); i++) {
                         Item item = itemList.get(i);
+
+                        itemName = item.getName();
                         LocalDateTime itemDateTime = LocalDateTime.parse(item.getTime(), DateTimeFormatter.ofPattern(timePattern));
                         if (sDateTime.isAfter(itemDateTime)) {
                             itemList.remove(i);
@@ -804,7 +815,8 @@ public abstract class AutomaticReportTableValidate implements ReportTableValidat
 
                 newItemList.add(new Item()
                         .value(CalculateDataFactory.getCalculateData(valueTakingMode).calculateData(valueList, scale, defaultScale))
-                        .time(sDateTime.format(DateTimeFormatter.ofPattern(timePattern_str))));
+                        .time(sDateTime.format(DateTimeFormatter.ofPattern(timePattern_str)))
+                        .name(itemName));
 
                 sDateTime = eDateTime;
 

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

@@ -183,8 +183,15 @@ layui.define(['layer', 'form', 'jquery', 'element', 'laydate', 'colorpicker', 's
 			let nameData = []
 			let series = []
 			if (this.data.chartType == 'pie') {
-				const num = Math.floor(Math.random() * 1000)
+				console.log(itemList);
 				nameData.push(itemList[0].title)
+				let sdata = []
+				for(let i=0;i<itemList.length;i++){
+					const num = Math.floor(Math.random() * 1000)
+					sdata.push({
+						value:num,name:itemList[i].title
+					})
+				}
 				series.push({
 					left:'10%',
 					right:'10%',
@@ -192,9 +199,7 @@ layui.define(['layer', 'form', 'jquery', 'element', 'laydate', 'colorpicker', 's
 					bottom:'10%',
 					radius: "80%",
 					type: "pie",
-					data: [
-						{ value: num, name: itemList[0].title }
-					]
+					data: sdata
 				})
 			} else {
 				for (let i = 0; i < itemList.length; i++) {