From 65972957e56a31778cc1633b1032ac16627665f3 Mon Sep 17 00:00:00 2001
From: gaoshp <291585735@qq.com>
Date: 星期六, 05 十月 2024 21:28:25 +0800
Subject: [PATCH] update

---
 src/views/console/workstation/index.vue |  150 ++++++++++++++++++++++++--------------------------
 1 files changed, 72 insertions(+), 78 deletions(-)

diff --git a/src/views/console/workstation/index.vue b/src/views/console/workstation/index.vue
index c4eddba..eb35a5f 100644
--- a/src/views/console/workstation/index.vue
+++ b/src/views/console/workstation/index.vue
@@ -44,11 +44,15 @@
 								<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"></el-table-column>
 										<el-table-column label="宸ヤ綅鍚嶇О" prop="name" width="120"></el-table-column>
-										<el-table-column label="宸ヤ綅绫诲瀷" prop="type" 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">
@@ -71,8 +75,16 @@
 											</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">
@@ -116,83 +128,34 @@
 																<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>
 															<h2>閲囬泦淇℃伅</h2>
-															<el-button v-show="list.length > 0"
-																@click="editFlag = !editFlag" style="margin-left: auto;"
-																text type="primary" size="small">閰嶇疆宸ヤ綅閲囬泦</el-button>
+															<!-- <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>
+																type="primary" size="small">淇濆瓨</el-button> -->
+															<!-- <el-button text type="primary" size="small"
+																@click="editDMP">淇敼DMP閰嶇疆</el-button> -->
+															<el-button @click="editCollection" text type="primary"
+																size="small">鏁版嵁鐐圭紪杈�</el-button>
 														</el-header>
 														<el-main>
-															<el-table :data="list" height="200px">
-																<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>
-																	</template>
-																</el-table-column>
-																<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>
-																		<!-- {{ dmp_data_type.find(v => v.dictKey == scope.row.wcsDataType)?.dictValue }} -->
-																	</template>
-																</el-table-column>
-																<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>
-																		<!-- {{ 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" />
-																	</template>
-																</el-table-column>
-																<el-table-column label="瀹炴椂鏁版嵁" prop="realTimeData">
-																	<template #default="scope">
-																		<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" />
-																	</template>
-																</el-table-column>
-															</el-table>
+															<!-- <el-table :data="list" height="200px">
+															</el-table> -->
+															<CollTable ref="collTable" :info="previewData"></CollTable>
 														</el-main>
 													</el-container>
 												</el-tab-pane>
@@ -375,20 +338,26 @@
 			</el-tabs>
 		</el-card>
 		<Dialog ref="dialog" @success="success" :option="{ types, status, group }"></Dialog>
+		<CollDialog ref="CollDialog" @success="successColl" :option="{ previewData }"></CollDialog>
 	</el-main>
 </template>
 
 <script>
 import pmsPng from '@/assets/pms.png'
 import Dialog from './Dialog.vue'
+import CollDialog from './CollDialog.vue'
+import CollTable from './CollTable.vue'
 import machinePng from '@/assets/machine.png'
 export default {
 	name: 'system',
 	components: {
-		Dialog
+		Dialog,
+		CollDialog,
+		CollTable
 	},
 	data() {
 		return {
+			showTable: true,
 			machinePng,
 			showGrouploading: false,
 			options: [],
@@ -464,7 +433,6 @@
 			handler(val) {
 				this.queryList().then(() => {
 					if (val == 1) {
-						console.log('>>>>>>>>>>>>>>', this.treeCheckedNode)
 						this.apiObj = this.$API.workstation.getList
 						this.params = {
 							groupId: this.treeCheckedNode.id,
@@ -493,6 +461,27 @@
 		this.queryList()
 	},
 	methods: {
+		// 鏁版嵁鐐圭紪杈�
+		editCollection() {
+			this.$refs.CollDialog.open('edit', this.previewData)
+		},
+		successColl() {
+			this.$refs.collTable.refresh()
+		},
+		handleSelectionChange(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) {
+					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) {
@@ -541,13 +530,15 @@
 					this.showGrouploading = false
 					// 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)
 					}
 					// })
 
@@ -589,13 +580,11 @@
 					groupCategory: this.treeCheckedNode.groupCategory
 				}, this.form)
 				return this.$API.workstation.saveWorkstationGroup.post(data).then(res => {
-					console.log(res)
 					this.queryList(true)
 				})
 			}
 			let data = Object.assign({}, this.treeCheckedNode, this.form)
 			this.$API.workstation.saveWorkstationGroup.put(data).then(res => {
-				console.log(res)
 				this.queryList(true)
 			})
 		},
@@ -618,7 +607,6 @@
 		},
 		rowClick(data) {
 			this.previewData = data
-			console.log(data, '>>>>>>>>>>>')
 			if (!data.id) {
 				Object.keys(this.basic).forEach(key => {
 					this.basic[key] = '-'
@@ -630,8 +618,15 @@
 				this.workbenchVOList = []
 				return
 			}
+			console.log(data, '>>>>>>>>>>>')
+			this.$HTTP.get(`/api/blade-cps/workstation/listDmpVariablesByMachineId?machineId=${data.machineId}`).then(res => {
+				this.list = res?.data
+				// Object.keys(this.basic).forEach(key => {
+				// 	this.basic[key] = res?.data?.[key] || '-'
+				// })
+			})
 			this.$HTTP.get(`/api/blade-cps/workstation/listDmpVariablesByWorkstationId?workstationId=${data.id}`).then(res => {
-				this.list = res?.data?.dmpVariablesVOList
+				// this.list = res?.data?.dmpVariablesVOList
 				Object.keys(this.basic).forEach(key => {
 					this.basic[key] = res?.data?.[key] || '-'
 				})
@@ -644,7 +639,6 @@
 			})
 		},
 		groupClick1(data) {
-			console.log('-------', data)
 			var params = {
 				groupId: data.id,
 				keyWord: this.keyWord,
@@ -657,7 +651,6 @@
 		dataChange(res, data) {
 
 			if (data.length > 0) {
-				console.log(data[0], '>>>>>>>>')
 				this.$refs.table.setCurrentRow(data[0])
 				this.previewData = data[0]
 				this.rowClick(data[0])
@@ -689,6 +682,7 @@
 		saveInfo() {
 			this.$HTTP.post('/api/blade-cps/workstation-wcs/save', this.workbenchVOList).then(res => {
 				this.editFlag = false
+				this.showTable = true
 			})
 		},
 	}

--
Gitblit v1.9.3