|
|
@@ -2,7 +2,7 @@ |
|
|
|
* @Author: zwq |
|
|
|
* @Date: 2021-11-18 14:16:25 |
|
|
|
* @LastEditors: DY |
|
|
|
* @LastEditTime: 2023-11-23 18:45:15 |
|
|
|
* @LastEditTime: 2023-12-22 16:02:25 |
|
|
|
* @Description: |
|
|
|
--> |
|
|
|
<template> |
|
|
@@ -12,86 +12,153 @@ |
|
|
|
:wrapper-closable="false" |
|
|
|
class="drawer" |
|
|
|
size="50%"> --> |
|
|
|
<div class="app-container"> |
|
|
|
<div class="container"> |
|
|
|
<!-- <small-title slot="title" :no-padding="true"> |
|
|
|
{{ isdetail ? '详情' : !dataForm.id ? '新增' : '编辑' }} |
|
|
|
</small-title> --> |
|
|
|
<el-button style="float: right" type="primary" @click="goback()">返回</el-button> |
|
|
|
<div v-show="workOrderButton.length"> |
|
|
|
<el-button v-for="(work, index) in workOrderButton" :key="index" type="primary" @click="init(work.id, true)">{{ work.name }}</el-button> |
|
|
|
</div> |
|
|
|
<div class="content"> |
|
|
|
<div> |
|
|
|
<h1>工单编码:{{ dataForm.code }}</h1> |
|
|
|
</div> |
|
|
|
<small-title |
|
|
|
style="margin: 16px 0; padding-left: 8px" |
|
|
|
:no-padding="true"> |
|
|
|
基本信息 |
|
|
|
</small-title> |
|
|
|
<div class="formContent"> |
|
|
|
<el-row :gutter="20"> |
|
|
|
<el-col :span="8">工单名称:{{ dataForm.name }}</el-col> |
|
|
|
<el-col :span="8">工单来源:{{ dataForm.triggerOrigin === 1 ? 'MES' : dataForm.triggerOrigin === 2 ? 'ERP' : ''}}</el-col> |
|
|
|
<el-col :span="8">所属订单: |
|
|
|
<span v-for="(item, index) in orderList" :key="index" style="margin-right: 10px">{{ item.orderName }}</span> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row :gutter="20"> |
|
|
|
<el-col :span="8">产品名称:{{ dataForm.productName }}</el-col> |
|
|
|
<el-col :span="8">规 格:{{ dataForm.specifications }}</el-col> |
|
|
|
<el-col :span="8">计划生产数量:{{ dataForm.planQuantity }}</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row :gutter="20"> |
|
|
|
<el-col :span="8">预计用时(小时):{{ dataForm.remainingTime }}</el-col> |
|
|
|
<el-col :span="8">计划投入数量:{{ dataForm.planAssignQuantity }}</el-col> |
|
|
|
<el-col :span="8">优先级:{{ fitlerP(dataForm.priority) }}</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row :gutter="20"> |
|
|
|
<el-col :span="8">负责人:{{ dataForm.workers }}</el-col> |
|
|
|
<el-col :span="8">关联产线: |
|
|
|
<span v-for="(item, index) in dataForm.productLineNames" :key="index" style="margin-right: 10px">{{ item }}</span> |
|
|
|
</el-col> |
|
|
|
<el-col :span="8">物料计算方式:{{ dataForm.materialMethod === 1 ? '产品基础' : dataForm.materialMethod === 2 ? '工艺扩展' : '' }}</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row :gutter="20"> |
|
|
|
<el-col :span="8">关联工艺:{{ dataForm.processFlowName }}</el-col> |
|
|
|
</el-row> |
|
|
|
<div class="card"> |
|
|
|
<div class="boxTitle"> |
|
|
|
<span class="blueTitle"></span> |
|
|
|
<span>工单编码:{{ dataForm.code }}</span> |
|
|
|
</div> |
|
|
|
<el-button style="float: right" type="primary" size="small" plain @click="goback()"> |
|
|
|
<svg-icon icon-class="return"/>返回 |
|
|
|
</el-button> |
|
|
|
<div class="formContent"> |
|
|
|
<el-row :gutter="20"> |
|
|
|
<el-col :span="3"> |
|
|
|
<div class="blodTip">工单名称</div> |
|
|
|
<div class="lightTip">{{ dataForm.name }}</div> |
|
|
|
</el-col> |
|
|
|
<el-col :span="3"> |
|
|
|
<div class="blodTip">工单来源</div> |
|
|
|
<div class="lightTip">{{ dataForm.triggerOrigin === 1 ? 'MES' : dataForm.triggerOrigin === 2 ? 'ERP' : ''}}</div> |
|
|
|
</el-col> |
|
|
|
<el-col :span="3"> |
|
|
|
<div class="blodTip">所属订单</div> |
|
|
|
<div class="lightTip"> |
|
|
|
<span v-for="(item, index) in orderList" :key="index" style="margin-right: 10px">{{ item.orderName }}</span> |
|
|
|
</div> |
|
|
|
</el-col> |
|
|
|
<el-col :span="3"> |
|
|
|
<div class="blodTip">产品名称</div> |
|
|
|
<div class="lightTip">{{ dataForm.productName }}</div> |
|
|
|
</el-col> |
|
|
|
<el-col :span="3"> |
|
|
|
<div class="blodTip">规 格</div> |
|
|
|
<div class="lightTip">{{ dataForm.specifications }}</div> |
|
|
|
</el-col> |
|
|
|
<el-col :span="3"> |
|
|
|
<div class="blodTip">计划生产数量</div> |
|
|
|
<div class="lightTip">{{ dataForm.planQuantity }}</div> |
|
|
|
</el-col> |
|
|
|
<el-col :span="3"> |
|
|
|
<div class="blodTip">预计用时(小时)</div> |
|
|
|
<div class="lightTip">{{ dataForm.remainingTime }}</div> |
|
|
|
</el-col> |
|
|
|
<el-col :span="3"> |
|
|
|
<div class="blodTip">计划投入数量</div> |
|
|
|
<div class="lightTip">{{ dataForm.planAssignQuantity }}</div> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row :gutter="20"> |
|
|
|
<el-col :span="3"> |
|
|
|
<div class="blodTip">优先级</div> |
|
|
|
<div class="lightTip">{{ fitlerP(dataForm.priority) }}</div> |
|
|
|
</el-col> |
|
|
|
<el-col :span="3"> |
|
|
|
<div class="blodTip">负责人</div> |
|
|
|
<div class="lightTip">{{ dataForm.workers }}</div> |
|
|
|
</el-col> |
|
|
|
<el-col :span="3"> |
|
|
|
<div class="blodTip">关联产线</div> |
|
|
|
<div class="lightTip"> |
|
|
|
<span v-for="(item, index) in dataForm.productLineNames" :key="index" style="margin-right: 10px">{{ item }}</span> |
|
|
|
</div> |
|
|
|
</el-col> |
|
|
|
<el-col :span="3"> |
|
|
|
<div class="blodTip">物料计算方式</div> |
|
|
|
<div class="lightTip">{{ dataForm.materialMethod === 1 ? '产品基础' : dataForm.materialMethod === 2 ? '工艺扩展' : '' }}</div> |
|
|
|
</el-col> |
|
|
|
<el-col :span="3"> |
|
|
|
<div class="blodTip">关联工艺</div> |
|
|
|
<div class="lightTip">{{ dataForm.processFlowName }}</div> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<small-title |
|
|
|
style="margin: 16px 0; padding-left: 8px" |
|
|
|
:no-padding="true"> |
|
|
|
生产信息 |
|
|
|
</small-title> |
|
|
|
<div class="formContent"> |
|
|
|
<el-row :gutter="20"> |
|
|
|
<el-col :span="8">工单创建时间:{{ parseTime(dataForm.createTime) }}</el-col> |
|
|
|
<el-col :span="8">计划开始时间:{{ parseTime(dataForm.planStartTime) }}</el-col> |
|
|
|
<el-col :span="8">计划完成时间:{{ parseTime(dataForm.planFinishTime) }}</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row :gutter="20"> |
|
|
|
<el-col :span="8">预计结束时间:{{ parseTime(dataForm.computeFinishTime) }}</el-col> |
|
|
|
<el-col :span="8">实际开始时间:{{ parseTime(dataForm.startProduceTime) }}</el-col> |
|
|
|
<el-col :span="8">实际完成时间:{{ parseTime(dataForm.finishProduceTime) }}</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row :gutter="20"> |
|
|
|
<el-col :span="8">工单状态:{{ fitlerS(dataForm.status) }}</el-col> |
|
|
|
<el-col :span="8">实际投入数量:{{ dataForm.assignQuantity }}</el-col> |
|
|
|
<el-col :span="8">实际生产数量:{{ dataForm.actualQuantity }}</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row :gutter="20"> |
|
|
|
<el-col :span="8">废片数量:{{ dataForm.nokQuantity }}</el-col> |
|
|
|
<el-col :span="8">检测瑕疵数:{{ }}</el-col> |
|
|
|
</el-row> |
|
|
|
<div class="card"> |
|
|
|
<!-- <small-title |
|
|
|
style="margin: 16px 0; padding-left: 8px" |
|
|
|
:no-padding="true"> |
|
|
|
生产信息 |
|
|
|
</small-title> --> |
|
|
|
<div class="boxTitle"> |
|
|
|
<span class="blueTitle"></span> |
|
|
|
<span>生产信息</span> |
|
|
|
</div> |
|
|
|
<div class="formContent"> |
|
|
|
<el-row :gutter="20"> |
|
|
|
<el-col :span="3"> |
|
|
|
<div class="blodTip">工单创建时间</div> |
|
|
|
<div class="lightTip">{{ parseTime(dataForm.createTime) }}</div> |
|
|
|
</el-col> |
|
|
|
<el-col :span="3"> |
|
|
|
<div class="blodTip">计划开始时间</div> |
|
|
|
<div class="lightTip">{{ parseTime(dataForm.planStartTime) }}</div> |
|
|
|
</el-col> |
|
|
|
<el-col :span="3"> |
|
|
|
<div class="blodTip">计划完成时间</div> |
|
|
|
<div class="lightTip">{{ parseTime(dataForm.planFinishTime) }}</div> |
|
|
|
</el-col> |
|
|
|
<el-col :span="3"> |
|
|
|
<div class="blodTip">预计结束时间</div> |
|
|
|
<div class="lightTip">{{ parseTime(dataForm.computeFinishTime) }}</div> |
|
|
|
</el-col> |
|
|
|
<el-col :span="3"> |
|
|
|
<div class="blodTip">实际开始时间</div> |
|
|
|
<div class="lightTip">{{ parseTime(dataForm.startProduceTime) }}</div> |
|
|
|
</el-col> |
|
|
|
<el-col :span="3"> |
|
|
|
<div class="blodTip">实际完成时间</div> |
|
|
|
<div class="lightTip">{{ parseTime(dataForm.finishProduceTime) }}</div> |
|
|
|
</el-col> |
|
|
|
<el-col :span="3"> |
|
|
|
<div class="blodTip">工单状态</div> |
|
|
|
<div class="lightTip">{{ fitlerS(dataForm.status) }}</div> |
|
|
|
</el-col> |
|
|
|
<el-col :span="3"> |
|
|
|
<div class="blodTip">实际投入数量</div> |
|
|
|
<div class="lightTip">{{ dataForm.assignQuantity }}</div> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row :gutter="20"> |
|
|
|
<el-col :span="3"> |
|
|
|
<div class="blodTip">实际生产数量</div> |
|
|
|
<div class="lightTip">{{ dataForm.actualQuantity }}</div> |
|
|
|
</el-col> |
|
|
|
<el-col :span="3"> |
|
|
|
<div class="blodTip">废片数量</div> |
|
|
|
<div class="lightTip">{{ dataForm.nokQuantity }}</div> |
|
|
|
</el-col> |
|
|
|
<el-col :span="3"> |
|
|
|
<div class="blodTip">检测瑕疵数</div> |
|
|
|
<div class="lightTip">{{ }}</div> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="attr-list"> |
|
|
|
<small-title |
|
|
|
style="margin: 16px 0; padding-left: 8px" |
|
|
|
:no-padding="true"> |
|
|
|
订单相关信息 |
|
|
|
</small-title> |
|
|
|
<div class="card" style="padding-bottom: 16px; margin-bottom: 10px"> |
|
|
|
<div class="boxTitle"> |
|
|
|
<span class="blueTitle"></span> |
|
|
|
<span>订单相关信息</span> |
|
|
|
</div> |
|
|
|
<base-table |
|
|
|
:table-props="tableProps" |
|
|
|
:page="listQuery.pageNo" |
|
|
@@ -114,12 +181,11 @@ |
|
|
|
@pagination="getList" /> --> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="attr-list"> |
|
|
|
<small-title |
|
|
|
style="margin: 16px 0; padding-left: 8px" |
|
|
|
:no-padding="true"> |
|
|
|
预计用料信息 |
|
|
|
</small-title> |
|
|
|
<div class="card" style="padding-bottom: 16px;"> |
|
|
|
<div class="boxTitle"> |
|
|
|
<span class="blueTitle"></span> |
|
|
|
<span>预计用料信息</span> |
|
|
|
</div> |
|
|
|
<base-table |
|
|
|
:table-props="tableProps1" |
|
|
|
:page="listQuery1.pageNo" |
|
|
@@ -228,7 +294,8 @@ export default { |
|
|
|
visible: false, |
|
|
|
isdetail: false, |
|
|
|
workOrderButton: [], |
|
|
|
processFlowList: [] |
|
|
|
processFlowList: [], |
|
|
|
// tableH: this.tableHeight(510) / 2 |
|
|
|
}; |
|
|
|
}, |
|
|
|
created() { |
|
|
@@ -391,59 +458,12 @@ export default { |
|
|
|
}; |
|
|
|
</script> |
|
|
|
<style scoped> |
|
|
|
.drawer >>> .el-drawer { |
|
|
|
border-radius: 8px 0 0 8px; |
|
|
|
display: flex; |
|
|
|
flex-direction: column; |
|
|
|
} |
|
|
|
|
|
|
|
.drawer >>> .el-form-item__label { |
|
|
|
padding: 0; |
|
|
|
} |
|
|
|
|
|
|
|
.drawer >>> .el-drawer__header { |
|
|
|
margin: 0; |
|
|
|
padding: 32px 32px 24px; |
|
|
|
border-bottom: 1px solid #dcdfe6; |
|
|
|
} |
|
|
|
.drawer >>> .el-drawer__body { |
|
|
|
flex: 1; |
|
|
|
height: 1px; |
|
|
|
display: flex; |
|
|
|
flex-direction: column; |
|
|
|
} |
|
|
|
|
|
|
|
.drawer >>> .content { |
|
|
|
padding: 10px 24px; |
|
|
|
flex: 1; |
|
|
|
display: flex; |
|
|
|
flex-direction: column; |
|
|
|
/* height: 100%; */ |
|
|
|
} |
|
|
|
|
|
|
|
.drawer >>> .visual-part { |
|
|
|
flex: 1 auto; |
|
|
|
max-height: 76vh; |
|
|
|
overflow: hidden; |
|
|
|
overflow-y: scroll; |
|
|
|
padding-right: 10px; /* 调整滚动条样式 */ |
|
|
|
} |
|
|
|
|
|
|
|
.drawer >>> .el-form, |
|
|
|
.drawer >>> .attr-list { |
|
|
|
padding: 0 16px; |
|
|
|
} |
|
|
|
|
|
|
|
.drawer-body__footer { |
|
|
|
display: flex; |
|
|
|
justify-content: flex-end; |
|
|
|
padding: 18px; |
|
|
|
} |
|
|
|
.formContent { |
|
|
|
font-size: 16px; |
|
|
|
line-height: 1.5; |
|
|
|
margin-bottom: 10px; |
|
|
|
width: 100%; |
|
|
|
padding: 0 14px; |
|
|
|
} |
|
|
|
.action_btn { |
|
|
|
float: right; |
|
|
@@ -453,4 +473,43 @@ export default { |
|
|
|
.add { |
|
|
|
color: #0b58ff; |
|
|
|
} |
|
|
|
.blodTip { |
|
|
|
height: 16px; |
|
|
|
font-size: 14px; |
|
|
|
font-weight: 600; |
|
|
|
color: rgba(0,0,0,0.85); |
|
|
|
margin-bottom: 8px; |
|
|
|
} |
|
|
|
.lightTip { |
|
|
|
height: 16px; |
|
|
|
font-size: 14px; |
|
|
|
font-weight: 400; |
|
|
|
color: rgba(102,102,102,0.75); |
|
|
|
margin-bottom: 12px; |
|
|
|
} |
|
|
|
.container { |
|
|
|
background-color: rgb(242, 244, 249); |
|
|
|
} |
|
|
|
.card { |
|
|
|
padding: 16px 16px 0 16px; |
|
|
|
background-color: #fff; |
|
|
|
border-radius: 9px; |
|
|
|
} |
|
|
|
.boxTitle { |
|
|
|
display: inline-block; |
|
|
|
font-size: 16px; |
|
|
|
font-weight: 400; |
|
|
|
color: #000000; |
|
|
|
margin:0 10px 20px 0; |
|
|
|
} |
|
|
|
.blueTitle { |
|
|
|
content: ''; |
|
|
|
display: inline-block; |
|
|
|
width: 4px; |
|
|
|
height: 18px; |
|
|
|
background-color: #0B58FF; |
|
|
|
border-radius: 1px; |
|
|
|
margin-right: 8px; |
|
|
|
vertical-align: bottom; |
|
|
|
} |
|
|
|
</style> |