From b46e6d2306515f94bf77c06e8d80ac76267e3ddb Mon Sep 17 00:00:00 2001 From: gaoshp <291585735@qq.com> Date: 星期日, 02 六月 2024 21:44:23 +0800 Subject: [PATCH] 搜索 --- src/views/mdc/status-record.vue | 180 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 166 insertions(+), 14 deletions(-) diff --git a/src/views/mdc/status-record.vue b/src/views/mdc/status-record.vue index c588cdf..e705c18 100644 --- a/src/views/mdc/status-record.vue +++ b/src/views/mdc/status-record.vue @@ -2,7 +2,7 @@ * @Author: lzhe lzhe@example.com * @Date: 2024-04-26 09:36:18 * @LastEditors: lzhe lzhe@example.com - * @LastEditTime: 2024-04-26 18:07:52 + * @LastEditTime: 2024-05-14 18:41:53 * @FilePath: /smart-web/src/views/mdc/status-record.vue * @Description: 杩欐槸榛樿璁剧疆,璇疯缃甡customMade`, 鎵撳紑koroFileHeader鏌ョ湅閰嶇疆 杩涜璁剧疆: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE --> @@ -18,11 +18,11 @@ </div> <div class="footer"> <el-button @click="query" type="primary">鏌ヨ</el-button> - <el-button>瀵煎嚭</el-button> + <el-button @click="exportData">瀵煎嚭</el-button> </div> </div> <div class="aposcope-right"> - <el-tabs tab-position="top" v-model="activeName" type="card"> + <el-tabs tab-position="top" v-model="activeName" type="card" @tab-change="tabChange"> <el-tab-pane label="鎸夋棩鏈熸煡鐪�" name="shift"> <el-button-group> <el-button @click="changeTab(item)" :type="btnListActive == item.id ? 'primary' : ''" v-for="item in btnList" :key="item.id" size="small">{{item.title }}</el-button> @@ -42,10 +42,40 @@ <!-- collectionstatus 鍙嶉鐘舵�� date 鏃ユ湡 workstationInfoList 宸ヤ綅list --> - <record-charts :collectionstatus="collectionstatus" :date="date" :workstationInfoList="workstationInfoList" v-if="collectionstatus.length != 0"></record-charts> + <record-charts-by-date :achievements="allwcs" :date="date" :workstationInfoList="workstationInfoList" v-if="achievements.length != 0"></record-charts-by-date> </el-tab-pane> <el-tab-pane label="鎸夊伐浣嶆煡鐪�" name="time"> - 鎸夊伐浣嶆煡鐪� + <div class="fact-analysis-realtim"> + <div class="wimi-empty" v-if="isshowempty" style="background-color: rgb(255, 255, 255);"> + <div class="wimi-empty-img" style="width: 150px; height: 150px;"> + <img src="./quesheng.bd026700.png" style="height: auto; width: 100%;"> + </div> + <div class="empty-description"> + <div>鏆傛棤鏁版嵁</div> + </div> + </div> + <div v-if="!isshowempty"> + <el-button-group> + <el-button @click="changeTabGongwei(item)" :type="btnGongweiListActive == item.id ? 'primary' : ''" v-for="item in btnGongweiList" :key="item.id" size="small">{{item.name }}</el-button> + </el-button-group> + <div class="status"> + <div class="status-wrap align-left"> + <div class="feed-button" @click="table_edit">鐘舵�佸弽棣�</div> + <div class="collect-status">閲囬泦鐘舵��</div> + <div class="status-box" v-for="item in achievements"><div class="status-color" :style="{'background-color': item.color}"></div>{{ item.name }}</div> + </div> + <div class="status-wrap"> + <el-checkbox v-model="checked1" label="浜哄伐鍙嶉鐘舵��" size="large" /> + <div class="status-con"> + <div class="status-box" v-for="item in collectionstatus"><div class="status-color" :style="{'background-color': item.color}"></div>{{ item.name }}</div> + </div> + </div> + </div> + <!-- setWork 鍏ュ弬 --> + <record-charts-by-workstation :setWork="setWork" :select="select" :achievements="allwcs" v-if="!isshowempty"></record-charts-by-workstation> + </div> + </div> + <save-dialog v-if="dialog.save" ref="saveDialog" @success="addfeedbackSuccess" :workstationId="lastLevelId" @closed="dialog.save=false"></save-dialog> </el-tab-pane> </el-tabs> </div> @@ -53,14 +83,17 @@ </template> <script> +import saveDialog from './add-station-status' import moment from 'moment'; import MYTree from './MYTree.vue'; -import recordCharts from './components/recordCharts.vue'; +import recordChartsByDate from './components/recordChartsByDate.vue'; +import recordChartsByWorkstation from './components/recordChartsByWorkstation.vue'; export default { components: { - time: "", MYTree, - recordCharts + recordChartsByDate, + recordChartsByWorkstation, + saveDialog }, watch: { treeChecked(select) { @@ -73,12 +106,18 @@ }, data() { return { + dialog: { + save: false + }, + isshowempty: true, select: [], workstationInfoList: [], date: "", checked1: true, btnListActive: '', + btnGongweiListActive: "", btnList: [], + btnGongweiList: [], timeBtn: "", shortcuts: [ { @@ -113,7 +152,10 @@ time: [], treeChecked: [], achievements: [], - collectionstatus: [] + collectionstatus: [], + workstationId: "", + setWork: {}, + allwcs: [] } }, created() { @@ -124,9 +166,68 @@ this.init(); }, methods: { + addfeedbackSuccess() { + var workstationName = ""; + this.btnGongweiList.forEach(item=> { + if(item.id == this.btnGongweiListActive) { + workstationName = item.name; + } + }) + this.setWork = { + endDate: this.time[1], + startDate: this.time[0], + humanFeedback: true, + machineFeedback: true, + workstationId: this.lastLevelId, + workstationName: workstationName + } + }, + table_edit(){ + this.dialog.save = true + this.$nextTick(() => { + this.$refs.saveDialog.open('edit').setData(this.lastLevelId); + }) + }, + tabChange(val) { + if(val == "time") { //鎸夊伐浣嶆煡鐪� + + }else if(val == "shift") { //鎸夋棩鏈熸煡鐪� + + } + }, + exportData() { //瀵煎嚭 + var obj = { + endTime: this.time[1], + startTime: this.time[0], + workstationInfoList: this.workstationInfoList + } + this.$HTTP.post(`/api/blade-mdc/status-record/excel/export`,obj).then(res=> { + if(res.code == 200) { + window.open(res.data.link); + } + }) + }, changeTab(item) { this.btnListActive = item.id; this.date = item.id; + }, + changeTabGongwei(item) { //鎸夊伐浣嶆煡璇� + this.btnGongweiListActive = item.id; + this.lastLevelId = this.btnGongweiListActive; + var workstationName = ""; + this.btnGongweiList.forEach(item=> { + if(item.id == this.btnGongweiListActive) { + workstationName = item.name; + } + }) + this.setWork = { + endDate: this.time[1], + startDate: this.time[0], + humanFeedback: true, + machineFeedback: true, + workstationId: item.id, + workstationName: workstationName + } }, getachievements() { //鐝鐘舵�佽褰曢噰闆嗙姸鎬� this.$HTTP.get(`/api/blade-cps/global_wcs/wcs-achievements`).then(res=> { @@ -143,6 +244,7 @@ }) this.achievements = achievements; this.collectionstatus = collectionstatus; + this.allwcs = res.data; } }) }, @@ -177,6 +279,20 @@ query() { this.getTime({endDate: this.time[1],startDate: this.time[0],statisticalMethod: 'SHIFT'}); this.workstationInfoList = this.select; + if(this.select.length != 0) { //閫変簡鍊兼樉绀哄伐浣� + this.btnGongweiList = this.select; + this.btnGongweiListActive = this.btnGongweiList[0].id; + this.lastLevelId = this.btnGongweiListActive; + this.setWork = { + endDate: this.time[1], + startDate: this.time[0], + humanFeedback: true, + machineFeedback: true, + workstationId: this.select[0].id, + workstationName: this.btnGongweiList[0].name + } + this.isshowempty = false; + } } } } @@ -236,7 +352,10 @@ z-index: 99; } .MYTree { - height: calc(100% - 200px); + height: 600px; + } + .MYTree-content { + height: 100%; overflow: hidden; overflow-y: auto; } @@ -282,11 +401,44 @@ flex-wrap: wrap; } .status-wrap /deep/ .el-checkbox.el-checkbox--large { - color: #3b8e8e; + color: #409eff; } - .pagination { - text-align: right; + .fact-analysis-realtim { display: flex; - justify-content: end; + flex-direction: row; + flex-wrap: wrap; + justify-content: flex-start; + align-content: flex-start; + box-sizing: border-box; + background: #fff; + height: 500px; + } + .wimi-empty { + height: 100%; + width: 100%; + display: flex; + border-radius: 2px; + flex-direction: column; + flex-wrap: nowrap; + align-content: center; + justify-content: center; + align-items: center; + } + .empty-description { + margin-bottom: 20px; + font-size: 14px; + color: #5e6d82; + margin-top: -16px; + line-height: 28px; + } + .feed-button { + position: absolute; + right: 10px; + top: -2px; + color: #409eff; + cursor: pointer; + } + .aposcope-right /deep/ .el-tabs__content { + overflow: visible; } </style> \ No newline at end of file -- Gitblit v1.9.3