From 3931e2728f618d0090f129b2665bc1285c4440c3 Mon Sep 17 00:00:00 2001
From: gaoshp <291585735@qq.com>
Date: 星期日, 03 十一月 2024 17:27:32 +0800
Subject: [PATCH] update

---
 src/views/console/workstation/index.vue |  196 +++++++++++++++++++++++-------------------------
 1 files changed, 93 insertions(+), 103 deletions(-)

diff --git a/src/views/console/workstation/index.vue b/src/views/console/workstation/index.vue
index 5da01ae..733ae1b 100644
--- a/src/views/console/workstation/index.vue
+++ b/src/views/console/workstation/index.vue
@@ -48,7 +48,11 @@
 										<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,10 @@
 											</template>
 										</el-table-column>
 									</scTable>
-									<div style="margin-left: 14px;flex: 1 1 auto;"
-										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;">
@@ -82,7 +88,8 @@
 											<p class="preview-title">宸ヤ綅淇℃伅</p>
 											<div class="preview-content">
 												<div class="img">
-													<img v-if="!previewData.avatar" :src="machinePng" alt="">
+													<img style="width: 148px;height: 148px;" v-if="!previewData.avatar"
+														:src="machinePng" alt="">
 													<scUpload v-else disabled v-model="previewData.avatar" title="宸ヤ綅鍥剧墖">
 													</scUpload>
 												</div>
@@ -122,87 +129,37 @@
 																<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>
+														<el-header style="justify-content: flex-start;">
 															<h2>閲囬泦淇℃伅</h2>
-															<el-button v-show="list.length > 0"
-																@click="() => { editFlag = !editFlag; }"
+															<!-- <el-button v-show="list.length > 0"
+																@click="() => { editFlag = !editFlag; showTable = !editFlag }"
 																style="margin-left: auto;" text type="primary"
-																size="small">閰嶇疆宸ヤ綅閲囬泦</el-button>
+																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="getExport" style="margin-left: 12px" text
+																type="primary" size="small">瀵煎嚭</el-button>
+															<el-button @click="editCollection" text type="primary"
+																style="margin-left: 0px;" size="small">鏁版嵁鐐圭紪杈�</el-button>
+
 														</el-header>
 														<el-main>
-															<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>
-																	</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>
@@ -258,7 +215,7 @@
 					<el-container>
 						<el-aside width="200px" v-loading="showGrouploading">
 							<el-container>
-								<el-main class="nopadding">
+								<el-main class="nopadding" style="overflow: hidden;">
 									<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"
@@ -317,9 +274,16 @@
 							<el-header v-show="!addGroupShow">
 								<div class="left-panel">
 									<el-button @click="addChild" type="primary" plain>鏂板涓嬬骇</el-button>
-									<el-button @click="deleteWorkGroup"
+									<el-popconfirm width="220" cancel-button-text="鍙栨秷" confirm-button-text="鍒犻櫎"
+										title="鍒犻櫎浼氬皢宸ヤ綅缁勪笅鐨勫伐浣嶇Щ鍔ㄥ埌榛樿缁勪腑锛岃纭鏄惁鍒犻櫎锛�" @confirm="deleteWorkGroup">
+										<template #reference>
+											<el-button v-show="!['1', '101'].includes(treeCheckedNode.id)" type="danger"
+												plain>鍒犻櫎</el-button>
+										</template>
+									</el-popconfirm>
+									<!-- <el-button @click="deleteWorkGroup"
 										v-show="!['1', '101'].includes(treeCheckedNode.id)" type="danger"
-										plain>鍒犻櫎</el-button>
+										plain>鍒犻櫎</el-button> -->
 								</div>
 							</el-header>
 							<el-main class="" v-show="!addGroupShow">
@@ -385,17 +349,22 @@
 			</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 machinePng from '@/assets/machine.png'
+import CollDialog from './CollDialog.vue'
+import CollTable from './CollTable.vue'
+import machinePng from '@/assets/machine1.jpg'
 export default {
 	name: 'system',
 	components: {
-		Dialog
+		Dialog,
+		CollDialog,
+		CollTable
 	},
 	data() {
 		return {
@@ -475,7 +444,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,
@@ -504,8 +472,24 @@
 		this.queryList()
 	},
 	methods: {
+		// 鏁版嵁鐐瑰鍑�
+		getExport() {
+			this.$HTTP.get(`/api/smis/workstation/export-dp?` + this.$TOOL.qsStringify({
+				workstationId: this.previewData.id
+			})).then(res => {
+				if (res.code == 200) {
+					window.open(res.data.link)
+				}
+			})
+		},
+		// 鏁版嵁鐐圭紪杈�
+		editCollection() {
+			this.$refs.CollDialog.open('edit', this.previewData)
+		},
+		successColl() {
+			this.$refs.collTable.refresh()
+		},
 		handleSelectionChange(val) {
-			console.log(val)
 			val.forEach(v => {
 				v.bigScreen = true
 				v.realTimeData = true
@@ -513,7 +497,6 @@
 			})
 			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
@@ -568,13 +551,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)
 					}
 					// })
 
@@ -616,13 +601,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)
 			})
 		},
@@ -645,7 +628,6 @@
 		},
 		rowClick(data) {
 			this.previewData = data
-			console.log(data, '>>>>>>>>>>>')
 			if (!data.id) {
 				Object.keys(this.basic).forEach(key => {
 					this.basic[key] = '-'
@@ -657,21 +639,29 @@
 				this.workbenchVOList = []
 				return
 			}
-			this.$HTTP.get(`/api/blade-cps/workstation/listDmpVariablesByWorkstationId?workstationId=${data.id}`).then(res => {
-				this.list = res?.data?.dmpVariablesVOList
-				Object.keys(this.basic).forEach(key => {
-					this.basic[key] = res?.data?.[key] || '-'
-				})
-			})
-			this.$HTTP.get(`/api/blade-cps/workstation-workbench/listWorkbench?workstationId=${data.id}`).then(res => {
-				Object.keys(this.info).forEach(key => {
-					this.info[key] = res?.data?.[key] || '-'
-				})
-				this.workbenchVOList = res?.data?.workstationList || []
-			})
+			console.log(data, '>>>>>>>>>>>')
+
+
+			// data.machineId && this.$HTTP.get(`/api/smis/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/smis/workstation/listDmpVariablesByWorkstationId?workstationId=${data.id}`).then(res => {
+			// 	// this.list = res?.data?.dmpVariablesVOList
+			// 	Object.keys(this.basic).forEach(key => {
+			// 		this.basic[key] = res?.data?.[key] || '-'
+			// 	})
+			// })
+			// this.$HTTP.get(`/api/smis/workstation-workbench/listWorkbench?workstationId=${data.id}`).then(res => {
+			// 	Object.keys(this.info).forEach(key => {
+			// 		this.info[key] = res?.data?.[key] || '-'
+			// 	})
+			// 	this.workbenchVOList = res?.data?.workstationList || []
+			// })
 		},
 		groupClick1(data) {
-			console.log('-------', data)
 			var params = {
 				groupId: data.id,
 				keyWord: this.keyWord,
@@ -684,7 +674,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])
@@ -701,7 +690,7 @@
 			this.$refs.dialog.open('edit', row)
 		},
 		table_del(row, index, type) {
-			this.$HTTP.delete(`/api/blade-cps/workstation?type=0&workstationIds=${row.id}`).then(res => {
+			this.$HTTP.delete(`/api/smis/workstation?type=0&workstationIds=${row.id}`).then(res => {
 				this.search()
 			})
 		},
@@ -709,13 +698,14 @@
 			this.selection = selection
 		},
 		batchDel() {
-			this.$HTTP.delete(`/api/blade-cps/workstation?type=0&workstationIds=${this.selection.map(item => item.id).join(',')}`).then(res => {
+			this.$HTTP.delete(`/api/smis/workstation?type=0&workstationIds=${this.selection.map(item => item.id).join(',')}`).then(res => {
 				this.search()
 			})
 		},
 		saveInfo() {
-			this.$HTTP.post('/api/blade-cps/workstation-wcs/save', this.workbenchVOList).then(res => {
+			this.$HTTP.post('/api/smis/workstation-wcs/save', this.workbenchVOList).then(res => {
 				this.editFlag = false
+				this.showTable = true
 			})
 		},
 	}

--
Gitblit v1.9.3