From 4f17438e8199eb44c98d6fcc888dc08ece3bab19 Mon Sep 17 00:00:00 2001
From: lzhe <lzhe@example.com>
Date: 星期五, 08 十一月 2024 18:14:05 +0800
Subject: [PATCH] 1

---
 src/views/mdc/state-feedback.vue |  235 ++++++++++++++++++++++++----------------------------------
 1 files changed, 98 insertions(+), 137 deletions(-)

diff --git a/src/views/mdc/state-feedback.vue b/src/views/mdc/state-feedback.vue
index 27adbd7..13951e3 100644
--- a/src/views/mdc/state-feedback.vue
+++ b/src/views/mdc/state-feedback.vue
@@ -2,72 +2,83 @@
  * @Author: lzhe lzhe@example.com
  * @Date: 2024-03-26 10:28:33
  * @LastEditors: lzhe lzhe@example.com
- * @LastEditTime: 2024-04-18 17:10:39
+ * @LastEditTime: 2024-11-08 18:11:39
  * @FilePath: /smart-web/src/views/master/person/main/index.vue
  * @Description: 杩欐槸榛樿璁剧疆,璇疯缃甡customMade`, 鎵撳紑koroFileHeader鏌ョ湅閰嶇疆 杩涜璁剧疆: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 -->
 <template>
-	<div class="aposcope-main">
-		<div class="aposcope-left">
-			<div class="left-title">宸ヤ綅</div>
-			<el-tree :data="tableData" node-key="id" default-expand-all :expand-on-click-node="false" :props="defalutProps" @node-click="handleNodeClick" ref="treeRef" highlight-current />
-		</div>
-		<div class="aposcope-right">
-			<div class="right-top">
-				<div>
-					<el-button type="primary" @click="addData">鍙嶉</el-button>
-					<el-button type="danger" plain @click="delData">鎵归噺鍒犻櫎</el-button>
-				</div>
-				<div>
-					<el-select v-model="searchData.feedBackStatus" multiple style="width: 185px;margin-right: 8px;;" @change="feedBackStatusChange">
-						<el-option v-for="item in feedBackStatusList" :key="item.code" :label="item.name" :value="item.code"/>
-					</el-select>
-					<el-date-picker v-model="searchData.date" type="datetimerange" range-separator="鑷�" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" align="right" value-format="YYYY-MM-DD HH:mm:ss" @change="dateChange" style="vertical-align: middle;">
-					</el-date-picker>
-				</div>
-			</div>
-			<div class="right-content" v-if="searchDataList.length == 0">
-				<img src="./quesheng.bd026700.png" />
-				<div>
-					<span>鏆傛棤鍙嶉鐘舵�佹暟鎹�</span>
-				</div>
-			</div>
-			<el-table ref="searchDataListRef" v-if="searchDataList.length != 0" :data="searchDataList" border style="width: 100%;margin-top: 20px;" class="multipleTableRef" @selection-change="searchHandleSelectionChange">
-				<el-table-column type="selection" width="55" />
-				<el-table-column prop="workstationName" label="宸ヤ綅鍚嶇О"></el-table-column>
-				<el-table-column prop="wcsDesc" label="鐘舵��"></el-table-column>
-				<el-table-column prop="feedbackDesc" label="鎻忚堪"></el-table-column>
-				<el-table-column prop="httpMethod" label="鎸佺画鏃堕暱">
-					<template #default="scope">
-						<span>{{sumTime(scope.row.startTime,scope.row.endTime)}}</span>
-					</template>
-				</el-table-column>
-				<el-table-column prop="scopePath" label="鐘舵�佹椂闂�">
-					<template #default="scope">
-						<span>{{scope.row.startTime}}~{{ scope.row.endTime }}</span>
-					</template>
-				</el-table-column>
-				<el-table-column fixed="right" label="鎿嶄綔">
-					<template #default="scope">
-						<el-button text type="primary" size="small" @click="table_del(scope.row, scope.$index)">鍒犻櫎</el-button>
-					</template>
-				</el-table-column>
-			</el-table>
-		</div>
-	</div>
-	<save-dialog v-if="dialog.save" ref="saveDialog" :feedBackStatusList="feedBackStatusList" :workstationId="lastLevelId" @success="addfeedbackSuccess" @closed="dialog.save=false"></save-dialog>
+	<el-main style="height: 100%;">
+        <el-card shadow="never" style="height: 100%;" body-style="height: 100%;padding: 0;">
+            <el-container style="height: 100%;">
+                <el-aside width="300px" style="height: 100%;">
+                    <el-container style="flex-direction: column;">
+						<div class="aposcope-left">
+							<el-row style="margin: 8px;font-size: 14px;">宸ヤ綅</el-row>
+							<MYTree v-model="treeChecked" @loaded="query"></MYTree>
+						</div>
+                    </el-container>
+                </el-aside>
+                <el-container>
+                    <el-main>
+                        <div class="right-top">
+							<div>
+								<el-button type="primary" @click="addData">鍙嶉</el-button>
+								<el-button type="danger" plain @click="delData">鎵归噺鍒犻櫎</el-button>
+							</div>
+							<div>
+								<el-select v-model="searchData.feedBackStatus" multiple style="width: 185px;margin-right: 8px;;" @change="feedBackStatusChange">
+									<el-option v-for="item in feedBackStatusList" :key="item.code" :label="item.name" :value="item.code"/>
+								</el-select>
+								<el-date-picker v-model="searchData.date" type="datetimerange" range-separator="鑷�" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" align="right" value-format="YYYY-MM-DD HH:mm:ss" @change="dateChange" style="vertical-align: middle;">
+								</el-date-picker>
+							</div>
+						</div>
+						<div class="right-content" v-if="searchDataList.length == 0">
+							<!-- <img src="./quesheng.bd026700.png" /> -->
+							<div style="margin-top: 120px;font-size: 16px;color: #666;">
+								<span>鏆傛棤鍙嶉鐘舵�佹暟鎹�</span>
+							</div>
+						</div>
+						<el-table ref="searchDataListRef" v-if="searchDataList.length != 0" :data="searchDataList" border style="width: 100%;margin-top: 20px;" class="multipleTableRef" @selection-change="searchHandleSelectionChange">
+							<el-table-column type="selection" width="55" />
+							<el-table-column prop="workstationName" label="宸ヤ綅鍚嶇О"></el-table-column>
+							<el-table-column prop="wcsDesc" label="鐘舵��"></el-table-column>
+							<el-table-column prop="feedbackDesc" label="鎻忚堪"></el-table-column>
+							<el-table-column prop="httpMethod" label="鎸佺画鏃堕暱">
+								<template #default="scope">
+									<span>{{sumTime(scope.row.startTime,scope.row.endTime)}}</span>
+								</template>
+							</el-table-column>
+							<el-table-column prop="scopePath" label="鐘舵�佹椂闂�">
+								<template #default="scope">
+									<span>{{scope.row.startTime}}~{{ scope.row.endTime }}</span>
+								</template>
+							</el-table-column>
+							<el-table-column fixed="right" label="鎿嶄綔">
+								<template #default="scope">
+									<el-button text type="primary" size="small" @click="table_del(scope.row, scope.$index)">鍒犻櫎</el-button>
+								</template>
+							</el-table-column>
+						</el-table>
+                    </el-main>
+                </el-container>
+            </el-container>
+        </el-card>
+    </el-main>
+	<save-dialog v-if="dialog.save" ref="saveDialog" :feedBackStatusList="feedBackStatusList" :workstationId="treeChecked.toString()" @success="addfeedbackSuccess" @closed="dialog.save=false"></save-dialog>
 </template>
 <script>
 	import { useTransitionFallthroughEmits } from 'element-plus';
-import saveDialog from './add-feedback'
+	import MYTree from './MYTree.vue'
+	import saveDialog from './add-feedback'
 	export default {
 		name: "state-feedback",
 		data(){
 			return {
+				treeChecked: [],
 				dialog: {
 					save: false
 				},
-				lastLevelId: "",
 				feedBackStatusList: [],
 				current: "1",
 				size: "15",
@@ -94,19 +105,23 @@
 			
 		},
 		mounted(){
-			this.getTreeList();
 			this.getfeedBackStatusList();  //鑾峰彇鐘舵�乴ist
 		},
 		components: {
-			saveDialog
+			saveDialog,MYTree
 	    },
+		watch: {
+			treeChecked() {
+				this.query()
+			}
+		},
 		methods: {
 			table_del(row) {
 				this.$confirm(`纭畾灏嗛�夋嫨鏁版嵁鍒犻櫎?`, '', {
 					type: 'warning'
 				}).then(() => {
 					var arr = [row.id]
-					this.$HTTP.delete("/api/blade-cps/workstation-wcs-feedback",arr).then(res=> {
+					this.$HTTP.delete("/api/mdc/workstation-wcs-feedback",arr).then(res=> {
 						if(res.code == 200) {
 							this.$message.success("鎿嶄綔鎴愬姛");
 							this.getlist();
@@ -120,10 +135,13 @@
 				this.getlist();
 			},
 			getfeedBackStatusList() {
-				this.$HTTP.get("/api/blade-cps/global_wcs/wcs-achievements").then(res=> {
+				this.$HTTP.get("/api/smis/global_wcs/wcs-achievements").then(res=> {
 					if(res.code == 200) {
-						this.feedBackStatusList.push(res.data[0]);
-						this.feedBackStatusList.push(res.data[1]);
+						res.data.forEach(item=> {
+							if(item.type == "4") {
+								this.feedBackStatusList.push(item);
+							}
+						})
 					}
 				})
 			},
@@ -160,47 +178,25 @@
 				var d = diffDays == 0?"":diffDays + "澶�";
 				return d + diffHours + "灏忔椂 " + diffMinutes + "鍒嗛挓 " + diffSeconds + "绉�"
 			},
-			handleNodeClick(data) {
-				if(data.code) {
-					this.lastLevelId = data.id;
-					var obj = {
-						workstationId: this.lastLevelId,
-					}
-					if(this.searchData.feedBackStatus.length != 0) {
-						obj.feedBackStatus = this.searchData.feedBackStatus;
-					}
-					if(this.searchData.endDate) {
-						obj.endDate = this.searchData.endDate;
-					}
-					if(this.searchData.startDate) {
-						obj.startDate = this.searchData.startDate;
-					}
-					this.$HTTP.post("/api/blade-cps/workstation-wcs-feedback/page?current=1&size=15",obj).then(res=> {
-						if(res.code == 200) {
-							this.searchDataList = res.data.records;
-						}
-					})
+			query() {
+				if (!this.treeChecked.toString()) return;
+				var obj = {
+					workstationId: this.treeChecked.toString(),
 				}
-			},
-			getLastLevelIds(tree) {  
-				if (tree.length === 0) return ""; // 濡傛灉娌℃湁鏍硅妭鐐癸紝杩斿洖绌� 
-				const lastLevelIds = []; 
-				const lastLevelCodes = [];
-				function traverseTree(node) {  
-					if(!node.code) {
-						lastLevelCodes.push(node.id);
+				if(this.searchData.feedBackStatus.length != 0) {
+					obj.feedBackStatus = this.searchData.feedBackStatus;
+				}
+				if(this.searchData.endDate) {
+					obj.endDate = this.searchData.endDate;
+				}
+				if(this.searchData.startDate) {
+					obj.startDate = this.searchData.startDate;
+				}
+				this.$HTTP.post("/api/mdc/workstation-wcs-feedback/page?current=1&size=15",obj).then(res=> {
+					if(res.code == 200) {
+						this.searchDataList = res.data.records;
 					}
-					if (node.children.length > 0) {  
-						node.children.forEach(traverseTree); // 閫掑綊閬嶅巻瀛愯妭鐐�  
-					} else {  
-						if(node.code) {
-							lastLevelIds.push(node.id); // 鏈塩ode鎵嶈 
-						}
-					}
-				}  	
-				// 鍙亶鍘嗙涓�涓牴鑺傜偣  
-				traverseTree(tree[0]);  
-				return {lastLevelCodes,lastLevelId:lastLevelIds[0]}; // 杩斿洖lastLevelCodes锛氭病鏈塩ode鐨勬暟缁勩�俵astLevelId锛氭湁code鐨勭涓�涓猧d
+				})
 			},
 			buildTree(items) {  
 			  const idMap = {};  
@@ -237,29 +233,9 @@
 				})
 				return tree;
 			},
-			getTreeList(flag) {
-				var obj = {
-					groupCategory: 1,
-					groupType: "group_workstation"
-				}
-				this.$HTTP.post("/api/blade-cps/group/groupWorkstation/type",obj).then(res=> {
-					if(res.code == 200) {
-						if (res.code == 200) {
-							var treeDisabled = this.addTreeDisable(res.data);
-							this.tableData = this.buildTree(treeDisabled);  //浠庢墎骞冲寲鍙樹负鏍戠姸缁撴瀯
-							this.$nextTick(()=> {
-								this.lastLevelId = this.getLastLevelIds(this.tableData).lastLevelId;
-								this.$refs.treeRef.setCurrentKey(this.lastLevelId);  //绗竴涓妭鐐圭殑绗竴涓瓙鑺傜偣鏈�鍚庝竴绾ч粯璁ら�変腑
-								this.getlist();  //娓叉煋鍙嶉鍒楄〃
-							})
-							
-						}
-					}
-				})
-			},
 			getlist() {
 				var obj = {
-					workstationId: this.lastLevelId,
+					workstationId: this.treeChecked.toString(),
 				}
 				if(this.searchData.feedBackStatus != 0) {
 					obj.feedBackStatus = this.searchData.feedBackStatus;
@@ -270,24 +246,9 @@
 				if(this.searchData.startDate) {
 					obj.startDate = this.searchData.startDate;
 				}
-				this.$HTTP.post("/api/blade-cps/workstation-wcs-feedback/page?current=1&size=15",obj).then(res=> {
+				this.$HTTP.post("/api/mdc/workstation-wcs-feedback/page?current=1&size=15",obj).then(res=> {
 					if(res.code == 200) {
 						this.searchDataList = res.data.records;
-					}
-				})
-			},
-			loadNode(node, resolve, reject) {
-				if(node.data.id) {
-					this.parentId = node.data.id;
-				}else {
-					this.parentId = '0';
-				}
-				this.$HTTP.get("/api/blade-system/menu/lazy-list",{parentId: this.parentId}).then(res=> {
-					if(res.code == 200) {
-						res.data.forEach(node => {
-							node.hasChildren = !node.hasChildren;
-						});
-						resolve(res.data);
 					}
 				})
 			},
@@ -310,7 +271,7 @@
 					sel.push(item.id);
 				})
 				var that = this;
-				this.$HTTP.delete("/api/blade-cps/workstation-wcs-feedback",sel).then(res=> {
+				this.$HTTP.delete("/api/mdc/workstation-wcs-feedback",sel).then(res=> {
 					if(res.code == 200) {
 						this.$message.success("鎿嶄綔鎴愬姛");
 						this.getlist();
@@ -327,10 +288,10 @@
 	margin: 8px;
 }
 .aposcope-left {
-	width: 240px;
 	margin-right: 8px;
-	padding: 4px;
+	padding: 20px;
 	background-color: #fff;
+	padding-top: 20px;
 }
 .aposcope-right {
 	flex: 1;

--
Gitblit v1.9.3