| | |
| | | * @Author: lzhe lzhe@example.com |
| | | * @Date: 2024-04-26 09:36:18 |
| | | * @LastEditors: lzhe lzhe@example.com |
| | | * @LastEditTime: 2024-10-10 12:40:54 |
| | | * @LastEditTime: 2024-11-04 12:11:01 |
| | | * @FilePath: /smart-web/src/views/mdc/status-record.vue |
| | | * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE |
| | | --> |
| | | <template> |
| | | <el-main style="height: 100%;"> |
| | | <el-main style="height: 100%;" class="timeAnalysis"> |
| | | <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> |
| | | </el-aside> |
| | | <el-container> |
| | | <el-main> |
| | | <el-main style="position: relative;"> |
| | | <span class="setSpan"> |
| | | <el-icon class="setIcon"> |
| | | <Setting /> |
| | | </el-icon> |
| | | <span class="setBtn" @click="openSet">分析设置</span> |
| | | </span> |
| | | <el-tabs tab-position="top" v-model="activeName" type="card" @tab-change="tabChange"> |
| | | <el-tab-pane label="按班次统计" name="shift"> |
| | | <!-- 日期 --> |
| | |
| | | </el-container> |
| | | </el-container> |
| | | </el-card> |
| | | <el-dialog title="设置" v-model="dialogVisible" v-if="dialogVisible" width="30%" class="setModelStyle"> |
| | | <Efficiency :showModalList="showModalList" /> |
| | | </el-dialog> |
| | | </el-main> |
| | | </template> |
| | | |
| | | <script> |
| | | import exportDialog from '@/layout/components/exportDialog.vue' |
| | | import * as ElementPlusIconsVue from '@element-plus/icons-vue' |
| | | import Efficiency from './configComp/Efficiency.vue' |
| | | let icons = [] |
| | | for (const [key, component] of Object.entries(ElementPlusIconsVue)) { |
| | | icons.push(key) |
| | |
| | | import MYTree from './MYTree.vue'; |
| | | export default { |
| | | components: { |
| | | ...ElementPlusIconsVue,MYTree,exportDialog |
| | | ...ElementPlusIconsVue,MYTree,exportDialog,Efficiency |
| | | }, |
| | | data() { |
| | | return { |
| | | showModalList: [1], |
| | | dialogVisible: false, |
| | | treeListNodeList: [], |
| | | ids: [], |
| | | activeNames: [], |
| | |
| | | this.getGlobal(); //获取颜色 |
| | | }, |
| | | methods: { |
| | | openSet() { |
| | | this.dialogVisible = true; |
| | | }, |
| | | exportExcel(statisticalMethod) { |
| | | var ids = []; |
| | | this.treeChecked.forEach(item=> { |
| | | ids.push(item,id); |
| | | ids.push(item.id); |
| | | }) |
| | | this.$HTTP.post(`/api/blade-mdc/time-used-analysis/excel/export`, { |
| | | this.$HTTP.post(`/api/mdc/time-used-analysis/excel/export`, { |
| | | startTime: this.time[0], |
| | | endTime: this.time[1], |
| | | enums: statisticalMethod, |
| | |
| | | }) |
| | | }, |
| | | getGlobal() { |
| | | this.$HTTP.get(`/api/blade-cps/global_wcs/list`).then(res=> { |
| | | this.$HTTP.get(`/api/smis/global_wcs/list`).then(res=> { |
| | | if(res.code == 200) { |
| | | this.getGlobalColorList = res.data; |
| | | } |
| | |
| | | type: 1 |
| | | } |
| | | } |
| | | this.$HTTP.post(`/api/blade-mdc/time-used-analysis/workstation/shiftName`,obj).then(res=> { |
| | | this.$HTTP.post(`/api/mdc/time-used-analysis/workstation/shiftName`,obj).then(res=> { |
| | | if(res.code == 200) { |
| | | this.setTitle = res.data.shiftDetails; |
| | | res.data.shiftDetails.forEach(item=> { |
| | |
| | | }else if(this.btnLeftctive == 2) { //按工位组统计 |
| | | obj.type = 1; |
| | | } |
| | | this.$HTTP.post(`/api/blade-mdc/time-used-analysis/work-stations?current=${this.current}&size=${this.size}`,obj).then(res=> { |
| | | this.$HTTP.post(`/api/mdc/time-used-analysis/work-stations?current=${this.current}&size=${this.size}`,obj).then(res=> { |
| | | if(res.code == 200) { |
| | | var xAxis = []; |
| | | res.data.workStationDetails.forEach(item=> { |
| | |
| | | }else if(this.btnLeftctive == 2) { //按工位组统计 |
| | | obj.type = 1; |
| | | } |
| | | this.$HTTP.post(`/api/blade-mdc/time-used-analysis/work-stations?current=${this.current}&size=${this.size}`,obj).then(res=> { |
| | | this.$HTTP.post(`/api/mdc/time-used-analysis/work-stations?current=${this.current}&size=${this.size}`,obj).then(res=> { |
| | | if(res.code == 200) { |
| | | var xAxis = []; |
| | | res.data.workStationDetails == null ? res.data.workStationDetails = [] : res.data.workStationDetails; |
| | |
| | | }) |
| | | }, |
| | | getTree2List() { //按工位组统计 |
| | | this.$HTTP.get(`/api/blade-cps/group/tree?groupCategory=1&groupType=group_workstation`).then(res=> { |
| | | this.$HTTP.get(`/api/smis/group/tree?groupCategory=1&groupType=group_workstation`).then(res=> { |
| | | if(res.code == 200) { |
| | | this.tree2 = res.data; |
| | | } |
| | |
| | | startDate: this.btnList[len-1].id, |
| | | statisticalMethod: "WEEK" |
| | | } |
| | | this.$HTTP.post(`/api/blade-mdc/efficiency-analysis/interval`,obj).then(res=> { |
| | | this.$HTTP.post(`/api/mdc/efficiency-analysis/interval`,obj).then(res=> { |
| | | if(res.code == 200) { |
| | | var dateInJuly = moment(this.btnList[0].id); |
| | | // 获取该月份的第一天 |
| | |
| | | // startTime: this.time[0], |
| | | // workstationInfoList: this.workstationInfoList |
| | | // } |
| | | // this.$HTTP.post(`/api/blade-mdc/time-used-analysis/excel/export`,obj).then(res=> { |
| | | // this.$HTTP.post(`/api/mdc/time-used-analysis/excel/export`,obj).then(res=> { |
| | | // if(res.code == 200) { |
| | | // window.open(res.data.link); |
| | | // } |
| | |
| | | } |
| | | }, |
| | | getTime(data) { |
| | | this.$HTTP.post('/api/blade-mdc/efficiency-analysis/interval', { |
| | | this.$HTTP.post('/api/mdc/efficiency-analysis/interval', { |
| | | ...data |
| | | }).then(res => { |
| | | if (res.code === 200) { |
| | |
| | | margin: 8px; |
| | | padding-left: 16px; |
| | | } |
| | | .setSpan { |
| | | vertical-align: sub; |
| | | font-size: 14px; |
| | | position: absolute; |
| | | top: 26px; |
| | | left: 280px; |
| | | z-index: 11; |
| | | } |
| | | .setIcon { |
| | | color: #409eff; |
| | | margin-left: 15px; |
| | | vertical-align: -2px; |
| | | } |
| | | .setBtn { |
| | | margin-left: 2px; |
| | | color: #409eff; |
| | | margin-left: 8px; |
| | | cursor: pointer; |
| | | font-size: 14px; |
| | | } |
| | | .timeAnalysis >>> .el-dialog__body { |
| | | padding-bottom: 0px; |
| | | padding-top: 0px; |
| | | } |
| | | </style> |