From f8f6aef5508148a784c05e71366796bb0b61164d Mon Sep 17 00:00:00 2001
From: 李喆(开发组) <lzhe@yxqiche.com>
Date: 星期二, 18 十一月 2025 14:04:31 +0800
Subject: [PATCH] Merge branch 'new' of http://122.9.151.159:9090/r/smart-web into new

---
 .env.development                        |    2 
 src/views/console/workstation/index.vue |   18 ++++++---
 src/views/mdc/realtime-status/index.vue |   10 ++++-
 vue.config.js                           |   14 +++++--
 src/views/mdc/processParam/index.vue    |   35 +++++++++++++----
 src/config/index.js                     |   10 ++--
 package.json                            |    1 
 .env.local                              |   19 +++++++++
 8 files changed, 83 insertions(+), 26 deletions(-)

diff --git a/.env.development b/.env.development
index bbf7451..bdeec82 100644
--- a/.env.development
+++ b/.env.development
@@ -11,7 +11,7 @@
 VUE_APP_TITLE = 鍒堕�犱俊鎭鐞嗙郴缁�
 
 # 鎺ュ彛鍦板潃
-VUE_APP_API_BASEURL =  http://120.46.212.231:85
+VUE_APP_API_BASEURL =  http://120.46.212.231:4102
 # 鏈湴绔彛
 VUE_APP_PORT = 2800
 
diff --git a/.env.local b/.env.local
new file mode 100644
index 0000000..104882a
--- /dev/null
+++ b/.env.local
@@ -0,0 +1,19 @@
+###
+ # @Date: 2024-03-23 09:49:06
+ # @LastEditors: gaoshp
+ # @LastEditTime: 2025-03-24 21:39:04
+ # @FilePath: /cps-web/.env.local
+### 
+# 鏈湴鐜
+NODE_ENV = local
+
+# 鏍囬
+VUE_APP_TITLE = 鍒堕�犱俊鎭鐞嗙郴缁�
+
+# 鎺ュ彛鍦板潃
+VUE_APP_API_BASEURL =  http://localhost:4102
+# 鏈湴绔彛
+VUE_APP_PORT = 2800
+
+# 鏄惁寮�鍚唬鐞�
+VUE_APP_PROXY = true
\ No newline at end of file
diff --git a/package.json b/package.json
index bfbc46d..38c6785 100644
--- a/package.json
+++ b/package.json
@@ -5,6 +5,7 @@
 	"scripts": {
 		"serve": "vue-cli-service serve",
 		"start": "vue-cli-service serve",
+		"local": "vue-cli-service serve --mode local",
 		"build": "vue-cli-service build --report",
 		"lint": "vue-cli-service lint"
 	},
diff --git a/src/config/index.js b/src/config/index.js
index 23735b8..b01d923 100644
--- a/src/config/index.js
+++ b/src/config/index.js
@@ -1,9 +1,9 @@
 /*
  * @Author: lzhe lzhe@example.com
  * @Date: 2024-03-26 10:28:33
- * @LastEditors: lzhe lzhe@example.com
- * @LastEditTime: 2024-06-20 23:30:15
- * @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/config/index.js
+ * @LastEditors: gaoshp
+ * @LastEditTime: 2025-11-14 20:21:40
+ * @FilePath: /cps-web/src/config/index.js
  * @Description: 杩欐槸榛樿璁剧疆,璇疯缃甡customMade`, 鎵撳紑koroFileHeader鏌ョ湅閰嶇疆 杩涜璁剧疆: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  */
 const DEFAULT_CONFIG = {
@@ -20,9 +20,9 @@
 	CORE_VER: "1.6.9",
 
 	//鎺ュ彛鍦板潃
-	API_URL: process.env.NODE_ENV === 'development' && process.env.VUE_APP_PROXY === 'true' ? "/api" : process.env.VUE_APP_API_BASEURL,
+	API_URL: ['development','local'].includes(process.env.NODE_ENV) && process.env.VUE_APP_PROXY === 'true' ? "/api" : process.env.VUE_APP_API_BASEURL,
 	//璇锋眰瓒呮椂
-	TIMEOUT: 10000,
+	TIMEOUT: 20000,
 
 	//TokenName
 	TOKEN_NAME: "Blade-Auth",
diff --git a/src/views/console/workstation/index.vue b/src/views/console/workstation/index.vue
index fed5a67..0c45c6a 100644
--- a/src/views/console/workstation/index.vue
+++ b/src/views/console/workstation/index.vue
@@ -226,7 +226,7 @@
 						</el-aside>
 						<el-container>
 							<el-main class="" v-show="addGroupShow">
-								<el-form v-show="treeCheckedNode.id == 1" :model="form" :rules="rules" ref="dialogForm"
+								<el-form v-if="treeCheckedNode.id == 1" :model="form" :rules="rules" ref="dialogForm"
 									label-width="200px" label-position="left">
 									<!-- <el-form-item label="浜х嚎鏍囩" prop="groupTag">
 										<el-select v-model="form.groupTag" clearable placeholder="浜х嚎鏍囩"
@@ -248,8 +248,8 @@
 									</el-form-item>
 								</el-form>
 								<el-form
-									v-show="group_tag.map(item => item.dictKey).includes(treeCheckedNode.groupTag) || beltline_type.map(item => item.dictKey).includes(treeCheckedNode.groupTag) || treeCheckedNode.id == 101"
-									:model="form" :rules="rules" ref="dialogForm" label-width="200px"
+									v-if="group_tag.map(item => item.dictKey).includes(treeCheckedNode.groupTag) || beltline_type.map(item => item.dictKey).includes(treeCheckedNode.groupTag) || treeCheckedNode.id == 101"
+									:model="form" :rules="rules" ref="dialogForm1" label-width="200px"
 									label-position="left">
 									<el-form-item label="宸ヤ綅缁勬爣绛�" prop="groupTag">
 										<el-select v-model="form.groupTag" clearable placeholder="宸ヤ綅缁勬爣绛�"
@@ -293,7 +293,7 @@
 									<li>澶囨敞: {{ treeCheckedNode.remark }}</li>
 								</ul>
 								<el-form
-									v-show="beltline_type.map(item => item.dictKey).includes(treeCheckedNode.groupTag)"
+									v-if="beltline_type.map(item => item.dictKey).includes(treeCheckedNode.groupTag)"
 									:model="form" :rules="rules" ref="dialogForm" label-width="200px"
 									label-position="left">
 									<el-form-item label="浜х嚎鏍囩" prop="groupTag">
@@ -315,7 +315,7 @@
 											placeholder="澶囨敞"></el-input>
 									</el-form-item>
 								</el-form>
-								<el-form v-show="group_tag.map(item => item.dictKey).includes(treeCheckedNode.groupTag)"
+								<el-form v-if="group_tag.map(item => item.dictKey).includes(treeCheckedNode.groupTag)"
 									:model="form" :rules="rules" ref="dialogForm" label-width="200px"
 									label-position="left">
 									<el-form-item label="宸ヤ綅缁勬爣绛�" prop="groupTag">
@@ -616,7 +616,13 @@
 		},
 		addChild() {
 			this.addGroupShow = true
-			this.$refs.dialogForm.resetFields()
+			this.$nextTick(() => {
+				Object.keys(this.form).forEach(key => {
+					this.form[key] = ''
+				})
+				// this.$refs.dialogForm.resetFields()
+			})
+			
 		},
 		groupClick(node) {
 			this.treeCheckedNode = node
diff --git a/src/views/mdc/processParam/index.vue b/src/views/mdc/processParam/index.vue
index 1308f40..b42be0b 100644
--- a/src/views/mdc/processParam/index.vue
+++ b/src/views/mdc/processParam/index.vue
@@ -278,6 +278,7 @@
             })
         },
         setLineOptions(data, myname) {
+            console.log('data0',data)
             if (!data) return
             // console.log(data, myname)
             let xAxis = data?.map(item => {
@@ -328,6 +329,9 @@
         },
         setDeviceStatusOptions(data, myname) {
             debugger
+            //console.log('data1',data)
+            //console.log('endtime1',this.timeRange.endTime)
+            
             let total = Math.abs(moment(this.timeRange.startTime).diff(moment(this.timeRange.endTime)))
             let start = this.timeRange.startTime
             let len = data?.data?.length
@@ -350,6 +354,10 @@
                 }
                 // }
                 // let color = !name ? 'transparent' : data.data[i - 1].color
+                //name = name+'s'
+                if(name == undefined){
+                    name = "鏃犳暟鎹�"
+                }
                 return {
                     name,
                     type: 'bar',
@@ -436,18 +444,21 @@
             }
             let key = myname === 'DeviceStatus' ? 'name' : 'value'
             data.forEach(v => {
-                if (obj[v[key]]) {
-                    obj[v[key]] += moment(v.time).valueOf() - moment(start).valueOf()
-                } else {
-                    obj[v[key]] = moment(v.time).valueOf() - moment(start).valueOf()
+                if(v[key] != undefined){
+                   
+                
+                    if (obj[v[key]]) {
+                        obj[v[key]] += moment(v.time).valueOf() - moment(start).valueOf()
+                    } else {
+                        obj[v[key]] = moment(v.time).valueOf() - moment(start).valueOf()
+                    }
+                    start = v.time
                 }
-                start = v.time
-
             })
             let result = Object.keys(obj).map(key => {
                 return {
                     value: obj[key] / 1000,
-                    name: key,
+                    name: key,//杩愯/鎶ヨ/寰呮満
                     // itemStyle: {
                     //     color: item.color, // 杩欎竴琛屽浐瀹氱殑棰滆壊鍊奸渶瑕佸垹闄ゆ垨娉ㄩ噴
                     // },
@@ -455,10 +466,13 @@
             }).map(v => {
                 if (myname === 'DeviceStatus') {
                     if(v.name != 'undefined') {
+                        //锛僁3D3D3 鐏拌壊
+                        //let itemFound = this.legend.find(item => item.name === v.name)
                         return {
                             ...v,
                             itemStyle: {
                                 color: this.legend.find(item => item.name === v.name).color
+                                //color: itemFound?itemFound.color:'锛僁3D3D3'
                             }
                         }
                     }
@@ -471,7 +485,12 @@
                     trigger: 'item',
                     formatter: function (params) {
                         let d = moment.duration(params.value, 'seconds')
-                        return `${params.name}: ${d.hours()}灏忔椂${d.minutes()}鍒�${d.seconds()}绉抈
+                        let nameVal = params.name
+                        if(params.name == undefined){
+                            nameVal = '鏃犳暟鎹�'
+                        }
+                        //return `${params.name}: ${d.hours()}灏忔椂${d.minutes()}鍒�${d.seconds()}绉抈
+                        return `${nameVal}: ${d.hours()}灏忔椂${d.minutes()}鍒�${d.seconds()}绉抈
                     }
                 },
                 legend: {
diff --git a/src/views/mdc/realtime-status/index.vue b/src/views/mdc/realtime-status/index.vue
index dba5641..462fa0b 100644
--- a/src/views/mdc/realtime-status/index.vue
+++ b/src/views/mdc/realtime-status/index.vue
@@ -212,6 +212,7 @@
 			this.gettimestatus();
 		},
 		next() {
+
 			if ((this.current * this.line) < this.total / this.column) {
 				this.current = Number(this.current) + 1;
 				this.gettimestatus();
@@ -292,6 +293,7 @@
 								if (eventData.data.DeviceStatus) {
 									var time = moment(eventData.data.DeviceStatus.t).format('YYYY-MM-DD HH:mm:ss');
 									var preT = moment(eventData.data.DeviceStatus.preT).format('YYYY-MM-DD HH:mm:ss');
+									//console.log('time='+time+",preT="+preT);
 									var diffTime = that.changeTime(time,preT);  //杞崲鎴愬樊鍊硷紙鏃跺垎绉掞級
 									var diffTime = diffTime;
 									item.time = diffTime;
@@ -324,8 +326,12 @@
 									} else {
 										if(eventData.data[item1.key]) {
 											if(item1.key == "Alarm") {
-												var vJson = JSON.parse(eventData.data[item1.key].v);
-												item1.code = JSON.stringify(vJson[0]);
+												try {
+												  var vJson = JSON.parse(eventData.data[item1.key].v);
+												  item1.code = JSON.stringify(vJson[0]);
+												} catch (e) {
+												  item1.code = eventData.data[item1.key].v;
+												}
 											}else {
 												item1.code = eventData.data[item1.key].v;
 											}
diff --git a/vue.config.js b/vue.config.js
index 2d7118e..46ed856 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -1,7 +1,7 @@
 /*
  * @Date: 2024-03-23 09:49:06
- * @LastEditors: lzhe lzhe@example.com
- * @LastEditTime: 2024-11-27 14:59:26
+ * @LastEditors: gaoshp
+ * @LastEditTime: 2025-11-04 22:19:58
  * @FilePath: /cps-web/vue.config.js
  */
 const { defineConfig } = require('@vue/cli-service')
@@ -18,10 +18,14 @@
 
 	//寮�鍙戞湇鍔�,build鍚庣殑鐢熶骇妯″紡杩橀渶nginx浠g悊
 	devServer: {
+		client: {
+			overlay: false
+		},
 		allowedHosts: 'all',
 		open: false, //杩愯鍚庤嚜鍔ㄦ墦寮�娴忚鍣�
 		port: process.env.VUE_APP_PORT, //鎸傝浇绔彛
 		proxy: {
+			/*
 			'/api/smart-collect': {
 				target: 'http://120.46.212.231:5102',
 				// ws: true,
@@ -53,12 +57,14 @@
 				pathRewrite: {
 					'^/api': '/'
 				}
-			},
+			},*/
 			'/api': {
+				// target: 'http://localhost:4102', 
 				target: process.env.VUE_APP_API_BASEURL,
 				ws: true,
 				pathRewrite: {
-					// '^/api': '/'
+					 //'^/api': '/api'
+					 '^/api': '/'
 				}
 			},
 

--
Gitblit v1.9.3