This commit is contained in:
2024-06-07 17:35:55 +08:00
parent 858bc7e6bf
commit 15aa52ce61
2 changed files with 131 additions and 45 deletions

View File

@@ -440,11 +440,18 @@
<el-card class="box-card dataStatistics">
<div slot="header" class="clearfix">
<span class="title">工单号:{{ CurrentWorkorder.clientWorkorder }}</span>
<span style="margin-left: 10px;">
<el-tag v-if="workOrderInListStatus === 0" type="primary" effect="dark">正常</el-tag>
<el-tag v-if="workOrderInListStatus === 1" type="danger" effect="dark">有未完成工单</el-tag>
<el-tag v-if="workOrderInListStatus === 2" type="warning" effect="dark">首个工单</el-tag>
<el-tag v-if="workOrderInListStatus === 3" type="success" effect="dark">最后工单</el-tag>
</span>
<el-button-group style="float: right">
<el-button type="primary" size="mini" @click="getNext_current_workorder">下一个工单<i class="el-icon-arrow-right el-icon--right"></i></el-button>
<el-button type="primary" icon="el-icon-arrow-left" size="mini" @click="getPrevious_current_workorder">上一个工单</el-button>
</el-button-group>
</div>
<el-button type="success" size="medium" @click="setWorkOrderStartTime">同步开始时间</el-button>
<el-button type="primary" size="medium" @click="workOrderCompleted">首检完成</el-button>
<table>
@@ -499,78 +506,82 @@
</div>
<!-- 额外数据区域 -->
<div style="width: 66%;margin-top: 10px;">
<el-card class="box-card">
<el-card class="box-card board-box">
<div slot="header" class="clearfix">
<span class="title">工单数据看板</span>
<span class="border-title title">工单数据看板</span>
<el-button style="float: right;" icon="el-icon-refresh" @click="handlerSyncDataBoard(CurrentWorkorder.clientWorkorder)">刷新</el-button>
</div>
<el-descriptions style="font-size: 18px;" :column="6" border>
<el-descriptions-item content-class-name="my-content1">
<template slot="label">
<i class="el-icon-tickets"></i>
工单号
<span>工单号</span>
</template>
<span v-if="workOrderBoardData">{{workOrderBoardData.workOrderId}}</span>
</el-descriptions-item>
<el-descriptions-item content-class-name="my-content1">
<template slot="label">
工单位置
<span>工单位置</span>
</template>
<span v-if="workOrderBoardData">{{` ${workOrderBoardData.workOrderIndex} / ${workOrderBoardData.workOrderDayListCount} `}}</span>
</el-descriptions-item>
<el-descriptions-item content-class-name="my-content1">
<template slot="label">
<i class="el-icon-finished"></i>
已完成
<span>已完成</span>
</template>
<span v-if="workOrderBoardData">{{workOrderBoardData.workOrderFinishNum}}</span>
</el-descriptions-item>
<el-descriptions-item content-class-name="my-content1">
<template slot="label">
<i class="el-icon-close"></i>
未完成
<span>未完成</span>
</template>
<span v-if="workOrderBoardData">{{workOrderBoardData.workOrderNotFinishNum}}</span>
</el-descriptions-item>
<el-descriptions-item content-class-name="my-content1">
<template slot="label">
<i class="el-icon-printer"></i>
待打标签
<span>已打</span>
</template>
<span v-if="workOrderBoardData">{{` ${workOrderBoardData.workOrderFinishPackageNum} / ${workOrderBoardData.workOrderPackageCount} `}}</span>
<span v-if="workOrderBoardData" :class="workOrderBoardData.workOrderFinishPackageNum === workOrderBoardData.workOrderPackageCount?'color-green':'color-red'">
{{` ${workOrderBoardData.workOrderFinishPackageNum} / ${workOrderBoardData.workOrderPackageCount} `}}
</span>
</el-descriptions-item>
<el-descriptions-item content-class-name="my-content1">
<template slot="label">
<i class="el-icon-printer"></i>
未打标签
<span>未打</span>
</template>
<span v-if="workOrderBoardData">{{workOrderBoardData.workOrderNotFinishPackageNum}}</span>
</el-descriptions-item>
<el-descriptions-item content-class-name="my-content2">
<template slot="label">
<i class="el-icon-tickets"></i>
个工单
<span>上个工单</span>
</template>
<span v-if="workOrderBoardData.lastWorkOrderId">{{workOrderBoardData.lastWorkOrderId}}</span>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<i class="el-icon-printer"></i>
待打标签
<span>已打</span>
</template>
<span v-if="workOrderBoardData.lastWorkOrderId">{{` ${workOrderBoardData.lastWorkOrderFinishPackageNum} / ${workOrderBoardData.lastWorkOrderPackageCount} `}}</span>
<span v-if="workOrderBoardData.lastWorkOrderId" :class="workOrderBoardData.lastWorkOrderFinishPackageNum === workOrderBoardData.lastWorkOrderPackageCount?'color-green':'color-red'">
{{` ${workOrderBoardData.lastWorkOrderFinishPackageNum} / ${workOrderBoardData.lastWorkOrderPackageCount} `}}
</span>
</el-descriptions-item>
<el-descriptions-item content-class-name="my-content2">
<template slot="label">
<i class="el-icon-printer"></i>
未打标签
<span>未打</span>
</template>
<span v-if="workOrderBoardData.lastWorkOrderId">{{workOrderBoardData.lastWorkOrderNotFinishPackageNum}}</span>
</el-descriptions-item>
<el-descriptions-item content-class-name="my-content3">
<template slot="label">
<i class="el-icon-time"></i>
数据更新时间
<span>更新时间</span>
</template>
<span>{{workOrderBoardData.updatedTime}}</span>
</el-descriptions-item>
@@ -601,6 +612,7 @@
} from '@/api/qualityManagement/firstFQC.js'
import {
CheckWorkOrderInDayListNum,
CheckPackageWorkOrderInListStatus,
GetWorkOrderBoardData
} from '@/api/qualityManagement/commonFQC.js';
import { mapState, mapGetters, mapMutations, mapActions } from 'vuex'
@@ -633,6 +645,8 @@
},
// 工单开始时间
workOrderStartTime: "",
workOrderStatus: -1,
workOrderInListStatus: -1,
workOrderChart: [0, 0, 0, 0],
workOrderBoardData: {},
toUpdateNum: 0, //弹窗更新值
@@ -651,7 +665,7 @@
watch: {
'CurrentWorkorder.clientWorkorder'(newValue, oldValue) {
this.getWorkOrderStartTime(newValue);
// this.getWorkOrderInDayListNum(newValue);
this.getWorkOrderInListStatus(newValue);
this.handlerSyncDataBoard(newValue);
}
},
@@ -1252,12 +1266,27 @@
}
})
},
// 获取工单在工单列表中的状态
getWorkOrderInListStatus(workOrderId) {
if (workOrderId == null) {
this.workOrderInListStatus = -1;
return;
}
const queryData = {
workOrderId: workOrderId
}
CheckPackageWorkOrderInListStatus(queryData).then(res => {
if (res.code === 200) {
this.workOrderInListStatus = res.data;
}
})
},
// 数据看板同步
handlerSyncDataBoard(workOrderId) {
let queryData = {
workOrderId: workOrderId
}
if (workOrderId === null || workOrderId === undefined ) {
if (workOrderId === null || workOrderId === undefined) {
queryData.workOrderId = this.CurrentWorkorder.clientWorkorder
}
if (queryData.workOrderId === null || workOrderId === undefined) {
@@ -1283,18 +1312,46 @@
}
</script>
<style lang="scss" scoped>
.my_content{
span {
font-weight: 700
}
.board-box {
background-color: #032169;
}
.border-title {
color: white !important;
}
.board-text {
// font-weight: 600 !important;
}
.color-red {
color: red;
}
.color-green {
color: seagreen;
}
.my_content {
background: #ffff00;
}
.my-content1{
.my-content1 {
background: #f0f9eb;
}
.my-content2{
.my-content2 {
background: #f4f4f5;
}
.my-content3{
.my-content3 {
background: #d9ecff;
}
.dataStatistics {
.title {
font-size: 1.2rem;

View File

@@ -453,10 +453,10 @@
工单号:{{ CurrentWorkorder.clientWorkorder }}
</span>
<span style="margin-left: 10px;">
<el-tag v-if="workOrderInListStatus === 0" type="primary" effect="dark">前边无未完成工单</el-tag>
<el-tag v-if="workOrderInListStatus === 1" type="danger" effect="dark">前边有未完成工单</el-tag>
<el-tag v-if="workOrderInListStatus === 0" type="primary" effect="dark">正常</el-tag>
<el-tag v-if="workOrderInListStatus === 1" type="danger" effect="dark">有未完成工单</el-tag>
<el-tag v-if="workOrderInListStatus === 2" type="warning" effect="dark">首个工单</el-tag>
<el-tag v-if="workOrderInListStatus === 3" type="success" effect="dark">最后一个工单</el-tag>
<el-tag v-if="workOrderInListStatus === 3" type="success" effect="dark">最后工单</el-tag>
</span>
<el-button-group style="float: right">
<el-button type="primary" size="mini" @click="getNext_current_workorder">下一个工单<i class="el-icon-arrow-right el-icon--right"></i></el-button>
@@ -515,79 +515,83 @@
</div>
</div>
<!-- 额外数据区域 -->
<div style="width: 50%;margin-top: 10px;">
<el-card class="box-card">
<div style="width: 100%;margin-top: 140px;">
<el-card class="box-card board-box">
<div slot="header" class="clearfix">
<span class="title">工单数据看板</span>
<span class="border-title title">工单数据看板</span>
<el-button style="float: right;" icon="el-icon-refresh" @click="handlerSyncDataBoard(CurrentWorkorder.clientWorkorder)">刷新</el-button>
</div>
<el-descriptions style="font-size: 18px;" :column="6" border>
<el-descriptions-item content-class-name="my-content1">
<template slot="label">
<i class="el-icon-tickets"></i>
工单号
<span class="board-text">工单号</span>
</template>
<span v-if="workOrderBoardData" >{{workOrderBoardData.workOrderId}}</span>
<span v-if="workOrderBoardData">{{workOrderBoardData.workOrderId}}</span>
</el-descriptions-item>
<el-descriptions-item content-class-name="my-content1">
<template slot="label">
工单位置
<span class="board-text">工单位置</span>
</template>
<span v-if="workOrderBoardData">{{` ${workOrderBoardData.workOrderIndex} / ${workOrderBoardData.workOrderDayListCount} `}}</span>
</el-descriptions-item>
<el-descriptions-item content-class-name="my-content1">
<template slot="label">
<i class="el-icon-finished"></i>
已完成
<span class="board-text">已完成</span>
</template>
<span v-if="workOrderBoardData">{{workOrderBoardData.workOrderFinishNum}}</span>
</el-descriptions-item>
<el-descriptions-item content-class-name="my-content1">
<template slot="label">
<i class="el-icon-close"></i>
未完成
<span class="board-text">未完成</span>
</template>
<span v-if="workOrderBoardData">{{workOrderBoardData.workOrderNotFinishNum}}</span>
</el-descriptions-item>
<el-descriptions-item content-class-name="my-content1">
<template slot="label">
<i class="el-icon-printer"></i>
待打
<span class="board-text">已打</span>
</template>
<span v-if="workOrderBoardData">{{` ${workOrderBoardData.workOrderFinishPackageNum} / ${workOrderBoardData.workOrderPackageCount} `}}</span>
<span v-if="workOrderBoardData" :class="workOrderBoardData.workOrderFinishPackageNum === workOrderBoardData.workOrderPackageCount?'color-green':'color-red'">
{{` ${workOrderBoardData.workOrderFinishPackageNum} / ${workOrderBoardData.workOrderPackageCount} `}}
</span>
</el-descriptions-item>
<el-descriptions-item content-class-name="my-content1">
<template slot="label">
<i class="el-icon-printer"></i>
未打
<span class="board-text">未打</span>
</template>
<span v-if="workOrderBoardData">{{workOrderBoardData.workOrderNotFinishPackageNum}}</span>
</el-descriptions-item >
</el-descriptions-item>
<el-descriptions-item content-class-name="my-content2">
<template slot="label">
<i class="el-icon-tickets"></i>
上个工单
<span class="board-text">上个工单</span>
</template>
<span v-if="workOrderBoardData.lastWorkOrderId">{{workOrderBoardData.lastWorkOrderId}}</span>
</el-descriptions-item>
<el-descriptions-item content-class-name="my-content2">
<template slot="label">
<i class="el-icon-printer"></i>
待打
<span class="board-text">已打</span>
</template>
<span v-if="workOrderBoardData.lastWorkOrderId">{{` ${workOrderBoardData.lastWorkOrderFinishPackageNum} / ${workOrderBoardData.lastWorkOrderPackageCount} `}}</span>
<span v-if="workOrderBoardData.lastWorkOrderId" :class="workOrderBoardData.lastWorkOrderFinishPackageNum === workOrderBoardData.lastWorkOrderPackageCount?'color-green':'color-red'">
{{` ${workOrderBoardData.lastWorkOrderFinishPackageNum} / ${workOrderBoardData.lastWorkOrderPackageCount} `}}
</span>
</el-descriptions-item>
<el-descriptions-item content-class-name="my-content2">
<template slot="label">
<i class="el-icon-printer"></i>
未打
<span class="board-text">未打</span>
</template>
<span v-if="workOrderBoardData.lastWorkOrderId">{{workOrderBoardData.lastWorkOrderNotFinishPackageNum}}</span>
</el-descriptions-item>
<el-descriptions-item content-class-name="my-content3">
<template slot="label">
<i class="el-icon-time"></i>
更新时间
<span class="board-text">更新时间</span>
</template>
<span>{{workOrderBoardData.updatedTime}}</span>
</el-descriptions-item>
@@ -679,7 +683,7 @@
'CurrentWorkorder.clientWorkorder'(newValue, oldValue) {
this.showBigImageView();
this.getWorkOrderStartTime(newValue);
this.getWorkOrderList(newValue);
this.getWorkOrderInListStatus(newValue);
this.handlerSyncDataBoard(newValue);
}
},
@@ -1245,7 +1249,7 @@
})
},
// 获取工单在工单列表中的状态
getWorkOrderList(workOrderId) {
getWorkOrderInListStatus(workOrderId) {
if (workOrderId == null) {
this.workOrderInListStatus = -1;
return;
@@ -1293,15 +1297,40 @@
</script>
<style lang="scss" scoped>
.my-content1{
span{
font-weight: 700
}
.board-box {
background-color:#032169;
}
.border-title{
color:white !important;
}
.board-text{
// font-weight: 600 !important;
}
.color-red {
color: red;
}
.color-green {
color: seagreen;
}
.my-content1 {
background: #f0f9eb;
}
.my-content2{
.my-content2 {
background: #f4f4f5;
}
.my-content3{
.my-content3 {
background: #d9ecff;
}
.dataStatistics {
.title {
font-size: 1.2rem;