From 1988d77f4df3c01a9137303e0c959b3442c14377 Mon Sep 17 00:00:00 2001
From: lzhe <lzhe@example.com>
Date: 星期一, 30 九月 2024 22:10:30 +0800
Subject: [PATCH] 1

---
 src/views/console/workstation/index.vue |  158 +++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 112 insertions(+), 46 deletions(-)

diff --git a/src/views/console/workstation/index.vue b/src/views/console/workstation/index.vue
index 2671639..964c685 100644
--- a/src/views/console/workstation/index.vue
+++ b/src/views/console/workstation/index.vue
@@ -7,11 +7,10 @@
 						<el-aside width="200px" v-loading="showGrouploading">
 							<el-container>
 								<el-main class="nopadding">
-									<el-tree ref="group" class="menu" node-key="id" :data="group"
-										:current-node-key="treeCheckKey" :highlight-current="true"
-										:expand-on-click-node="false" :check-on-click-node="true"
-										:default-expanded-keys="[1]" :render-content="renderContent"
-										@node-click="groupClick1"></el-tree>
+									<el-tree :expand-on-click-node="false" ref="group" class="menu" node-key="id"
+										:data="group" :current-node-key="treeCheckKey" :highlight-current="true"
+										:check-on-click-node="true" :default-expanded-keys="[1]"
+										:render-content="renderContent" @node-click="groupClick1"></el-tree>
 								</el-main>
 							</el-container>
 						</el-aside>
@@ -26,12 +25,12 @@
 								<div class="right-panel">
 									<div class="right-panel-search">
 										<span>绫诲瀷</span>
-										<el-select v-model="type" style="width: 240px">
+										<el-select v-model="type" style="width: 240px" clearable>
 											<el-option v-for="item in types" :key="item.value" :label="item.label"
 												:value="item.value" />
 										</el-select>
 										<span>鐘舵��</span>
-										<el-select v-model="statu" style="width: 240px">
+										<el-select v-model="statu" style="width: 240px" clearable>
 											<el-option v-for="item in status" :key="item.value" :label="item.label"
 												:value="item.value" />
 										</el-select>
@@ -45,16 +44,16 @@
 								<div style="display: flex">
 									<scTable highlight-current-row @dataChange="dataChange" @row-click="rowClick"
 										ref="table" :params="params" :apiObj="apiObj"
-										@selection-change="selectionChange" stripe>
+										@selection-change="selectionChange" stripe v-show="showTable">
 										<el-table-column type="selection" width="50"></el-table-column>
-										<el-table-column label="宸ヤ綅缂栧彿" prop="code" width="120"
-											sortable='custom'></el-table-column>
-										<el-table-column label="宸ヤ綅鍚嶇О" prop="name" width="120"
-											sortable='custom'></el-table-column>
-										<el-table-column label="宸ヤ綅绫诲瀷" prop="type" width="120"
-											sortable='custom'></el-table-column>
-										<el-table-column label="宸ヤ綅鏃ュ巻" prop="calendarName" width="120"
-											sortable='custom'></el-table-column>
+										<el-table-column label="宸ヤ綅缂栧彿" prop="code" width="120"></el-table-column>
+										<el-table-column label="宸ヤ綅鍚嶇О" prop="name" width="120"></el-table-column>
+										<el-table-column label="宸ヤ綅绫诲瀷" prop="type" width="120">
+											<template #default="scope">
+												<span>{{ scope.row.type == '0' ? '鏈哄櫒' : '浜哄伐' }}</span>
+											</template>
+										</el-table-column>
+										<el-table-column label="宸ヤ綅鏃ュ巻" prop="calendarName" width="120"></el-table-column>
 										<el-table-column label="鎿嶄綔" fixed="right" align="right" width="160">
 											<template #default="scope">
 												<el-button-group>
@@ -76,12 +75,22 @@
 											</template>
 										</el-table-column>
 									</scTable>
-									<div style="margin-left: 14px" v-if="Object.keys(previewData).length > 0">
+									<div :style="{
+										'max-width': showTable ? '50%' : '100%', 'margin-left': '14px',
+										flex: '1 1 auto'
+									}" v-if="Object.keys(previewData).length > 0">
 										<div class="header">
+											<el-icon @click="showTable = !showTable"
+												style="font-size: 20px;cursor: pointer;margin-top: 10px;">
+												<el-icon-arrow-left v-show="showTable" />
+												<el-icon-arrow-right v-show="!showTable" />
+											</el-icon>
 											<p class="preview-title">宸ヤ綅淇℃伅</p>
 											<div class="preview-content">
 												<div class="img">
-													<img :src="machinePng" alt="">
+													<img v-if="!previewData.avatar" :src="machinePng" alt="">
+													<scUpload v-else disabled v-model="previewData.avatar" title="宸ヤ綅鍥剧墖">
+													</scUpload>
 												</div>
 												<ul>
 													<li>宸ヤ綅缂栧彿 {{ previewData.code }}</li>
@@ -96,7 +105,9 @@
 											<el-tabs tab-position="top" class="custom-tabs" v-model="normal">
 												<el-tab-pane label="鏈哄櫒淇℃伅" name="1">
 													<el-container>
-														<el-header>鍩虹鏁版嵁</el-header>
+														<el-header>
+															<h2>鍩虹鏁版嵁</h2>
+														</el-header>
 														<el-main>
 															<el-row>
 																<el-col :span="4">
@@ -117,61 +128,85 @@
 																<el-col :span="8">
 																	{{ basic.machineBrand }}
 																</el-col>
-																<el-col :span="4">
+																<!-- <el-col :span="4">
 																	椹卞姩鍚嶇О
 																</el-col>
 																<el-col :span="8">
 																	{{ basic.typeName }}
-																</el-col>
+																</el-col> -->
 															</el-row>
 														</el-main>
 													</el-container>
 													<el-container>
 														<el-header>
-															<span>閲囬泦淇℃伅</span>
-															<el-button  @click="editFlag = !editFlag" style="margin-left: auto;" text type="primary" size="small">閰嶇疆宸ヤ綅閲囬泦</el-button>
-															<el-button v-show="editFlag" @click="saveInfo" text type="primary" size="small">淇濆瓨</el-button>
-															<el-button text type="primary" size="small">淇敼DMP閰嶇疆</el-button>
+															<h2>閲囬泦淇℃伅</h2>
+															<el-button v-show="list.length > 0"
+																@click="() => { editFlag = !editFlag; showTable = !editFlag }"
+																style="margin-left: auto;" text type="primary"
+																size="small">{{ editFlag ? '鍙栨秷' : '閰嶇疆宸ヤ綅閲囬泦'
+																}}</el-button>
+															<el-button v-show="editFlag" @click="saveInfo" text
+																type="primary" size="small">淇濆瓨</el-button>
+															<!-- <el-button text type="primary" size="small"
+																@click="editDMP">淇敼DMP閰嶇疆</el-button> -->
 														</el-header>
 														<el-main>
-															<el-table :data="list" height="200px">
-																<el-table-column label="閲囬泦鍙橀噺鍚嶇О" prop="name" />
-																<el-table-column label="宸ヤ綅鍙橀噺鍚嶇О" prop="dataItem">
+															<el-table :data="list" height="200px"
+																@selection-change="handleSelectionChange">
+																<el-table-column type="selection" width="55"
+																	v-if="editFlag" />
+																<el-table-column label="閲囬泦鍙橀噺鍚嶇О" prop="name"
+																	width="120" />
+																<el-table-column label="宸ヤ綅鍙橀噺鍚嶇О" prop="dataItem"
+																	width="120">
 																	<template #default="scope">
-																		<el-input :disabled="!editFlag" v-model="scope.row.dataItem"></el-input>
+																		<el-input :disabled="!editFlag"
+																			v-model="scope.row.dataItem"></el-input>
 																	</template>
 																</el-table-column>
-																<el-table-column label="鏁版嵁鏍囩" prop="description">
+																<el-table-column label="鏁版嵁鏍囩" prop="description"
+																	width="150">
 																	<template #default="scope">
-																		<el-select :disabled="!editFlag" v-model="scope.row.description">
-																			<el-option v-for="item in workstation_param_type" :key="item.dictKey" :label="item.dictValue"
-																				:value="item.dictKey-0" />
+																		<el-select :disabled="!editFlag"
+																			v-model="scope.row.description">
+																			<el-option
+																				v-for="item in workstation_param_type"
+																				:key="item.dictKey"
+																				:label="item.dictValue"
+																				:value="item.dictKey - 0" />
 																		</el-select>
 																		<!-- {{ dmp_data_type.find(v => v.dictKey == scope.row.wcsDataType)?.dictValue }} -->
 																	</template>
 																</el-table-column>
-																<el-table-column label="鏁版嵁绫诲埆" prop="wcsDataType">
+																<el-table-column label="鏁版嵁绫诲埆" prop="wcsDataType"
+																	width="150">
 																	<template #default="scope">
-																		<el-select disabled v-model="scope.row.wcsDataType">
-																			<el-option v-for="item in dmp_data_type" :key="item.dictKey" :label="item.dictValue"
-																				:value="item.dictKey-0" />
+																		<el-select disabled
+																			v-model="scope.row.wcsDataType">
+																			<el-option v-for="item in dmp_data_type"
+																				:key="item.dictKey"
+																				:label="item.dictValue"
+																				:value="item.dictKey - 0" />
 																		</el-select>
 																		<!-- {{ dmp_data_type.find(v => v.dictKey == scope.row.wcsDataType)?.dictValue }} -->
 																	</template>
 																</el-table-column>
 																<el-table-column label="澶у睆" prop="bigScreen">
 																	<template #default="scope">
-																		<el-checkbox :disabled="!editFlag" v-model="scope.row.bigScreen"  />
+																		<el-checkbox :disabled="!editFlag"
+																			v-model="scope.row.bigScreen" />
 																	</template>
 																</el-table-column>
 																<el-table-column label="瀹炴椂鏁版嵁" prop="realTimeData">
 																	<template #default="scope">
-																		<el-checkbox :disabled="!editFlag" v-model="scope.row.realTimeData"  />
+																		<el-checkbox :disabled="!editFlag"
+																			v-model="scope.row.realTimeData" />
 																	</template>
 																</el-table-column>
 																<el-table-column label="杩囩▼鍙傛暟" prop="processParameter">
 																	<template #default="scope">
-																		<el-checkbox :disabled="!editFlag" v-model="scope.row.processParameter"  />
+																		<el-checkbox :disabled="!editFlag"
+																			v-model="scope.row.processParameter" />
 																	</template>
 																</el-table-column>
 															</el-table>
@@ -210,7 +245,7 @@
 														<el-col :span="8">
 															<ul class="workbench">
 																<li v-for="item in workbenchVOList" :key="item.sort">
-																	{{`銆�${item.sort}銆慲}}{{item.name}}
+																	{{ `銆�${item.sort}銆慲 }}{{ item.name }}
 																</li>
 															</ul>
 														</el-col>
@@ -371,6 +406,7 @@
 	},
 	data() {
 		return {
+			showTable: true,
 			machinePng,
 			showGrouploading: false,
 			options: [],
@@ -475,6 +511,31 @@
 		this.queryList()
 	},
 	methods: {
+		handleSelectionChange(val) {
+			console.log(val)
+			val.forEach(v => {
+				v.bigScreen = true
+				v.realTimeData = true
+				v.processParameter = true
+			})
+			this.list.forEach(v => {
+				if (val.filter(item => v.id === item.id).length == 0) {
+					console.log(v)
+					v.bigScreen = false
+					v.realTimeData = false
+					v.processParameter = false
+				}
+			})
+		},
+		editDMP() {
+			this.$HTTP.get(`/api/blade-system/param/detail?paramKey=system.dmp.url`).then(res => {
+				if (res.success) {
+					window.open(res.data.paramValue)
+				} else {
+					this.$message.error(res.msg)
+				}
+			})
+		},
 		renderContent(h, { data }) {
 			let img = data.groupTag == 'fms_beltline'
 			return h('span', {
@@ -512,15 +573,18 @@
 					let data = this.formatData(res.data)
 					this.group = data
 					this.showGrouploading = false
+					console.log('>>>>>>>>>>>>>>>>>>>>>')
 					// this.$nextTick(() => {
 					if (!flag) {
+						debugger
 						let parent = res.data.filter(item => item.parentId == 0)[0]
 						this.treeCheckedNode = parent
 						this.treeCheckKey = parent.id
 					} else {
-						let parent = res.data.filter(item => item.id == this.treeCheckedNode.id)[0]
-						this.treeCheckedNode = parent
-						this.treeCheckKey = parent.id
+						debugger
+						let parent = res.data.filter(item => item.parentId == 0)[0]
+						parent && (this.treeCheckedNode = parent)
+						parent && (this.treeCheckKey = parent.id)
 					}
 					// })
 
@@ -659,9 +723,10 @@
 				this.search()
 			})
 		},
-		saveInfo () {
-			this.$HTTP.post('/api/blade-cps/workstation-wcs/save',this.workbenchVOList).then(res => {
+		saveInfo() {
+			this.$HTTP.post('/api/blade-cps/workstation-wcs/save', this.workbenchVOList).then(res => {
 				this.editFlag = false
+				this.showTable = true
 			})
 		},
 	}
@@ -701,6 +766,7 @@
 		}
 	}
 }
+
 .workbench {
 	list-style: none;
 }

--
Gitblit v1.9.3