kukuasir@vip.qq.com преди 1 година
родител
ревизия
41ca5953b3
променени са 3 файла, в които са добавени 63 реда и са изтрити 18 реда
  1. 30 0
      src/js/common.js
  2. 24 5
      src/js/sort.js
  3. 9 13
      src/views/equip-management/report/list.vue

+ 30 - 0
src/js/common.js

@@ -330,7 +330,14 @@ export function calcEndMinAndMaxValue(standalone) {
     end_max_temp: 0,
     end_max_humidity: 0,
     end_max_dew_point: 0,
+    colorval_end_min_temp: -99,
+    colorval_end_min_humidity: -99,
+    colorval_end_min_dew_point: -99,
+    colorval_end_max_temp: -99,
+    colorval_end_max_humidity: -99,
+    colorval_end_max_dew_point: -99,
   };
+
   standalone.forEach((s) => {
     tmp.end_exception_num += s.end_exception_num;
     if (s.end_min_temp != 0) {
@@ -361,6 +368,29 @@ export function calcEndMinAndMaxValue(standalone) {
   if (tmp.end_min_dew_point == 10000) {
     tmp.end_min_dew_point = 0;
   }
+
+  // 再找一下这些最大值最小值对应在哪个单机中,目前只能根据具体数值来比对
+  standalone.forEach((s) => {
+    if (tmp.end_min_temp == s.end_min_temp) {
+      tmp.colorval_end_min_temp = s.colorval_end_min_temp;
+    }
+    if (tmp.end_min_humidity == s.end_min_humidity) {
+      tmp.colorval_end_min_humidity = s.colorval_end_min_humidity;
+    }
+    if (tmp.end_min_dew_point == s.end_min_dew_point) {
+      tmp.colorval_end_min_dew_point = s.colorval_end_min_dew_point;
+    }
+    if (tmp.end_max_temp == s.end_max_temp) {
+      tmp.colorval_end_max_temp = s.colorval_end_max_temp;
+    }
+    if (tmp.end_max_humidity == s.end_max_humidity) {
+      tmp.colorval_end_max_humidity = s.colorval_end_max_humidity;
+    }
+    if (tmp.end_max_dew_point == s.end_max_dew_point) {
+      tmp.colorval_end_max_dew_point = s.colorval_end_max_dew_point;
+    }
+  });
+
   return tmp;
 }
 

+ 24 - 5
src/js/sort.js

@@ -109,21 +109,40 @@ export function sortBoxListByHeatExchange(data, sort) {
 
 /** 根据面板属性进行排序(比较最大值) */
 export function sortBoxListByEnd(data, sort) {
+  let comparedProp = sort.prop;
+  if (sort.prop != "end_exception_num") {
+    comparedProp = "colorval_" + sort.prop;
+  }
   for (let i = 0; i < data.length; i++) {
     const box = data[i];
     const endCtrl = box.end || [];
     // 末端的通讯异常数量比较特殊,需要累加起来计算
-    // 其他参数不参数与排序
-    if (box.runStatus == 1) {
-      if (sort.prop === "end_exception_num") {
+    if (sort.prop === "end_exception_num") {
+      if (box.runStatus == 1) {
         let total_end_exception_num = 0;
         for (let j = 0; j < endCtrl.length; j++) {
           total_end_exception_num += endCtrl[j].end_exception_num;
         }
         box.max_end_exception_num = total_end_exception_num;
+      } else {
+        box.max_end_exception_num = -1;
       }
-    } else {
-      box.max_end_exception_num = -1;
+    }
+    else {
+      let maxVal = -99;
+      for (let j = 0; j < endCtrl.length; j++) {
+        const end = endCtrl[j];
+        if (comparedProp === sort.prop) {
+          if (end[comparedProp] > maxVal && box.runStatus == 1) {
+            maxVal = end[comparedProp];
+          }
+        } else {
+          if (end[comparedProp] > maxVal && box.runStatus == 1 && end[sort.prop]) {
+            maxVal = end[comparedProp];
+          }
+        }
+      }
+      box["max_" + sort.prop] = maxVal;
     }
   }
   return _sortData(data, sort);

+ 9 - 13
src/views/equip-management/report/list.vue

@@ -332,7 +332,7 @@
 								<span v-else>/</span>
 							</template>
 						</el-table-column>
-						<el-table-column prop="end_min_temp" label="最低室内温度(℃)" align="center" width="160">
+						<el-table-column prop="end_min_temp" label="最低室内温度(℃)" align="center" width="160" sortable="custom">
 							<template slot-scope="scope">
 								<span id="end_min_temp" class="el-table-tag" :style="{ background: calcArgsColor(scope) }"
 									@click="handleItemClick(scope, 'end_min_temp')">
@@ -340,7 +340,7 @@
 								</span>
 							</template>
 						</el-table-column>
-						<el-table-column prop="end_min_humidity" label="最低室内湿度(%)" align="center" width="160">
+						<el-table-column prop="end_min_humidity" label="最低室内湿度(%)" align="center" width="160" sortable="custom">
 							<template slot-scope="scope">
 								<span id="end_min_humidity" class="el-table-tag" :style="{ background: calcArgsColor(scope) }"
 									@click="handleItemClick(scope, 'end_min_humidity')">
@@ -348,7 +348,7 @@
 								</span>
 							</template>
 						</el-table-column>
-						<el-table-column prop="end_min_dew_point" label="最低室内露点(℃)" align="center" width="160">
+						<el-table-column prop="end_min_dew_point" label="最低室内露点(℃)" align="center" width="160" sortable="custom">
 							<template slot-scope="scope">
 								<span id="end_min_dew_point" class="el-table-tag" :style="{ background: calcArgsColor(scope) }"
 									@click="handleItemClick(scope, 'end_min_dew_point')">
@@ -356,7 +356,7 @@
 								</span>
 							</template>
 						</el-table-column>
-						<el-table-column prop="end_max_temp" label="最高室内温度(℃)" align="center" width="160">
+						<el-table-column prop="end_max_temp" label="最高室内温度(℃)" align="center" width="160" sortable="custom">
 							<template slot-scope="scope">
 								<span id="end_max_temp" class="el-table-tag" :style="{ background: calcArgsColor(scope) }"
 									@click="handleItemClick(scope, 'end_max_temp')">
@@ -364,7 +364,7 @@
 								</span>
 							</template>
 						</el-table-column>
-						<el-table-column prop="end_max_humidity" label="最高室内湿度(%)" align="center" width="160">
+						<el-table-column prop="end_max_humidity" label="最高室内湿度(%)" align="center" width="160" sortable="custom">
 							<template slot-scope="scope">
 								<span id="end_max_humidity" class="el-table-tag" :style="{ background: calcArgsColor(scope) }"
 									@click="handleItemClick(scope, 'end_max_humidity')">
@@ -372,7 +372,7 @@
 								</span>
 							</template>
 						</el-table-column>
-						<el-table-column prop="end_max_dew_point" label="最高室内露点(℃)" align="center" width="160">
+						<el-table-column prop="end_max_dew_point" label="最高室内露点(℃)" align="center" width="160" sortable="custom">
 							<template slot-scope="scope">
 								<div>
 									<span id="end_max_dew_point" class="el-table-tag" :style="{ background: calcArgsColor(scope) }"
@@ -628,17 +628,12 @@ export default {
 					style: 'margin-left: 5px;',
 					on: {
 						click: async function () {
-							// that.clickButton(type);
 							const res = await getReportTitle({ title: type });
 							if (res.code === 200) {
-								//this.provinceOption = res.result;
-								// alert(res.result.Content);
-								console.log(res.result.Content);
 								that.showTitle = true;
 								that.Title = res.result.Content;
 								that.titleTxt = type;
 							}
-							//alert(type);
 						}
 					}
 				}, type)
@@ -757,10 +752,13 @@ export default {
 					this.filterOriginData(originData);
 					// 对每个字段设置颜色值
 					define.setPropColorVal(this.dataSource, this.argsList);
+					// console.log(">>> 设置颜色后: ", this.dataSource);
 					// 根据属性排序
 					this.sortDataSource(sort);
+					// console.log(">>> 排序后: ", this.dataSource);
 					// 分页并合并单元格
 					this.genTableData();
+					// console.log('>>> 合并后: ', this.tableData);
 					loading.close();
 				}).catch(err => {
 					console.log('[reportList]请求错误: ', err);
@@ -857,7 +855,6 @@ export default {
 			} else {
 				return sortBoxList(this.dataSource, sort);
 			}
-			// console.log("排序后的数据: ", this.dataSource);
 		},
 		/** 生成tableData */
 		genTableData() {
@@ -873,7 +870,6 @@ export default {
 			// 合并行和列
 			let dataSolve = mergeTableRows(expandNodes, this.mergeColums);
 			this.tableData = dataSolve;
-			console.log('>>> 合并后: ', this.tableData);
 		},
 		/** 数据行合并 */
 		objectSpanMethod({ row, column, rowIndex, columnIndex }) {