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