From 71f58f33a8bd79e66d5cc70e62c1a7daa2861e30 Mon Sep 17 00:00:00 2001 From: gaoshp <291585735@qq.com> Date: 星期四, 18 四月 2024 23:47:18 +0800 Subject: [PATCH] update --- src/views/mdc/station-live.vue | 306 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 292 insertions(+), 14 deletions(-) diff --git a/src/views/mdc/station-live.vue b/src/views/mdc/station-live.vue index e384ab3..8811149 100644 --- a/src/views/mdc/station-live.vue +++ b/src/views/mdc/station-live.vue @@ -1,21 +1,299 @@ <!-- - * @Date: 2024-04-09 22:11:21 - * @LastEditors: Sneed - * @LastEditTime: 2024-04-09 22:11:27 - * @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/views/mdc/state-feedback.vue + * @Author: lzhe lzhe@example.com + * @Date: 2024-03-26 10:28:33 + * @LastEditors: lzhe lzhe@example.com + * @LastEditTime: 2024-04-18 18:35:55 + * @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> - 鐘舵�佸弽棣� - </div> + <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="content-machine-box"> + <div class="content-machine-img"><img src="./station.png" alt=""></div> + <div class="content-machine-detail"> + <div class="content-machine-name">461</div> + <el-form :model="stationForm" ref="dialogForm" label-width="80px" label-position="center" style="width: 100%;"> + <el-row> + <el-col :span="8"> + <el-form-item label="宸ヤ綅缂栧彿">{{stationForm.test}}</el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="鏈哄櫒鍝佺墝">{{stationForm.test}}</el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="鏈哄櫒缂栧彿">{{stationForm.test}}</el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="鏈哄櫒鍚嶇О">{{stationForm.test}}</el-form-item> + </el-col> + </el-row> + </el-form> + </div> + </div> + <div class="collect-info-panel"> + <div class="fact-analysis-realtim"> + <div class="fact-analysis-card"> + <div class="card-name" style="background-color: rgb(127, 192, 192);">璁惧鐘舵��</div> + <div class="card-value" style="background-color: rgba(127, 192, 192, 0.14);"></div> + </div> + </div> + </div> + </div> + </div> + <save-dialog v-if="dialog.save" ref="saveDialog" @success="addfeedbackSuccess" @closed="dialog.save=false"></save-dialog> </template> - <script> - export default { - - } +import saveDialog from './add-station-status' + export default { + name: "state-feedback", + data(){ + return { + stationForm: { + test: "" + }, + dialog: { + save: false + }, + lastLevelId: "", + current: "1", + size: "15", + searchData: { + feedBackStatus: [], + date: [], + endDate: "", + startDate: "" + }, + searchDataList: [], //鍙充晶鏁版嵁list + aList: [], + defalutProps: { + label: 'title', + children: 'children', + isLeaf: 'hasChildren', + disabled: 'disabled' + }, + parentId: "0", + tableData: [], + searchSelection: [] + } + }, + created(){ + + }, + mounted(){ + this.getTreeList(); + }, + components: { + saveDialog + }, + methods: { + addfeedbackSuccess() { + this.getlist(); + }, + feedBackStatusChange(val) { + this.getlist(); + }, + 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; + } + }) + } + }, + getLastLevelIds(tree) { + if (tree.length === 0) return ""; // 濡傛灉娌℃湁鏍硅妭鐐癸紝杩斿洖绌� + const lastLevelIds = []; + const lastLevelCodes = []; + function traverseTree(node) { + if(!node.code) { + lastLevelCodes.push(node.id); + } + 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 = {}; + const tree = []; + // 绗竴姝ワ細鍒涘缓id鍒板璞$殑鏄犲皠 + items.forEach(item => { + idMap[item.id] = { ...item, children: [] }; + }); + // 绗簩姝ワ細鏋勫缓鏍戝舰缁撴瀯 + items.forEach(item => { + const currentNode = idMap[item.id]; + // 濡傛灉parentId涓�0锛岃鏄庢槸鏍硅妭鐐� + if (item.parentId === 0) { + tree.push(currentNode); + } else { + // 鍚﹀垯锛屾煡鎵剧埗鑺傜偣锛屽苟灏嗗綋鍓嶈妭鐐规坊鍔犲埌鐖惰妭鐐圭殑children鏁扮粍涓� + const parentId = item.parentId; + if (idMap[parentId]) { + idMap[parentId].children.push(currentNode); + } + } + }); + return tree; + }, + addTreeDisable(treeData) { + var tree = []; + treeData.forEach(item=> { + if(item.code) { + item.disabled = false; + }else { + item.disabled = true; + } + tree.push(item); + }) + 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() { + this.$HTTP.get(`/api/blade-cps/workstation/get?workstationId=${this.lastLevelId}`).then(res=> { + if(res.code == 200) { + console.log(res.data,234) + } + }) + } + } + } </script> - -<style lang="scss" scoped> - +<style scoped> +.aposcope-main { + display: flex; + min-height: 100%; + margin: 8px; +} +.aposcope-left { + width: 240px; + margin-right: 8px; + padding: 4px; + background-color: #fff; +} +.aposcope-right { + flex: 1; + padding: 8px; + background-color: #fff; +} +.left-title { + font-size: 16px; + text-align: center; + height: 38px; + line-height: 38px; + border-bottom: 1px solid #e2e2e2; + background-color: #409eff; + color: #fff; + border-radius: 2px 2px 0 0; +} +.content-machine-box { + display: flex; + align-items: center; +} +.content-machine-img { + margin: 14px; + padding: 2px; + border: 1px solid #e8e8e8; + width: 148px; + height: 145px; + justify-content: center; +} +.content-machine-img img { + width: 135px; + height: 135px; +} +.content-machine-detail { + display: flex; + width: calc(100% - 210px); + flex-direction: column; + align-items: flex-start; + align-content: flex-start; + flex-wrap: nowrap; +} +.content-machine-name { + margin-bottom: 12px; + font-size: 24px; + font-weight: 700; +} +.collect-info-panel { + background-color: rgba(59, 142, 142, .06); + padding: 8px; + padding-top: 0; +} +.fact-analysis-realtim { + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: flex-start; + align-content: flex-start; + box-sizing: border-box; + background: #fff; +} +.fact-analysis-card { + border-radius: 2px; + box-sizing: border-box; + display: flex; + margin: 8px; +} +.fact-analysis-card .card-name { + width: 98px; + height: 68px; + display: flex; + justify-content: center; + align-items: center; + color: #fff; +} +.fact-analysis-card .card-value { + min-width: 118px; + max-width: 396px; + align-items: center; + padding: 0 8px; + overflow: hidden; + word-break: break-all; +} </style> \ No newline at end of file -- Gitblit v1.9.3