生产计划打印单 及生产计划单页面优化

pull/4/head
qiuhongwu 8 months ago
parent 522d302246
commit e8b387a545

@ -5,7 +5,7 @@
</template> </template>
<ContentWrap class="borderxx"> <ContentWrap class="borderxx">
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="105px"> <el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="120px">
<el-form-item label="生产计划编号" prop="planNo"> <el-form-item label="生产计划编号" prop="planNo">
<el-input v-model="queryParams.planNo" placeholder="生产计划编号" clearable @keyup.enter="handleQuery" class="!w-250px" /> <el-input v-model="queryParams.planNo" placeholder="生产计划编号" clearable @keyup.enter="handleQuery" class="!w-250px" />
</el-form-item> </el-form-item>
@ -36,8 +36,8 @@
<el-form-item label="项目负责人" prop="projectOwner"> <el-form-item label="项目负责人" prop="projectOwner">
<el-input v-model="queryParams.projectOwner" placeholder="项目负责人" clearable @keyup.enter="handleQuery" class="!w-250px" /> <el-input v-model="queryParams.projectOwner" placeholder="项目负责人" clearable @keyup.enter="handleQuery" class="!w-250px" />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item style="margin-left:15px">
<el-button @click="handleQuery"> <el-button @click="handleQuery" type="primary">
<Icon icon="ep:search" class="mr-5px" /> 搜索 <Icon icon="ep:search" class="mr-5px" /> 搜索
</el-button> </el-button>
<el-button @click="resetQuery"> <el-button @click="resetQuery">

@ -2,7 +2,7 @@
<Dialog title="打印预览" v-model="dialogVisible" width="1000"> <Dialog title="打印预览" v-model="dialogVisible" width="1000">
<!-- 打印预览 --> <!-- 打印预览 -->
<div class="print-wrap page" ref="print"> <div class="print-wrap page" ref="print">
<table border="2" cellspacing="0" id="table" style="height: 27cm;"> <table border="2" cellspacing="0" id="table" style="height: 27.2cm;">
<tbody> <tbody>
<tr> <tr>
<td colspan="2"> <td colspan="2">
@ -110,40 +110,50 @@
<td> 设备型号 </td> <td> 设备型号 </td>
<td> 数量 </td> <td> 数量 </td>
<td> 主要材料 </td> <td> 主要材料 </td>
<td> 毛坯日期 </td> <td style="width:110px"> 毛坯日期 </td>
<td> 2D/日期 </td> <td> 2D/日期 </td>
<td> 3D/日期 </td> <td> 3D/日期 </td>
</tr> </tr>
<tr v-for="(item,idx) in formData.projectOrderSubs" :key="idx"> <tr v-for="(item,idx) in formData.projectOrderSubs.slice(0, 4)" :key="idx">
<td class="xh"> {{ idx+1 }} </td> <td class="xh"> {{ idx+1 }} </td>
<td colspan="3" style="padding: 0 0"> <td colspan="3" style="padding: 0 0">
<div style="display: flex; flex-direction: column; justify-content: space-between"> <div style="display: flex; flex-direction: column; justify-content: space-between">
<span style="border-bottom: 1px solid #666"> {{item.name}} </span> <span style="border-bottom: 1px solid #666"> {{item.name}} </span>
<span v-if="!item.projectSubShortName">&nbsp;</span> <span v-if="!item.projectSubShortName">&nbsp;</span>
<span v-else>{{ formData.code+'-'+formData.customer.code+'-'+ item.projectSubShortName}}</span> <span v-else style="font-size: 12px">{{ formData.code+'-'+formData.customer.code+'-'+ item.projectSubShortName}}</span>
</div> </div>
</td> </td>
<td>{{equipInit.find((equip) => equip.id == item.equipId)?.name}} </td> <td>{{equipInit.find((equip) => equip.id == item.equipId)?.name}} </td>
<td>{{item.amount}} </td> <td>{{item.amount}} </td>
<td>{{ item.compositionName }} </td> <td>{{ item.compositionName }} </td>
<td> {{ formatDate(new Date(item.blankDate), 'YYYY-MM-DD') }} </td> <td >
<span v-if="!item.blankDate"> &nbsp;</span>
<span v-else>{{ formatDate(new Date(item.blankDate), 'YYYY-MM-DD') }} </span>
</td>
<td style="padding: 0 0"> <td style="padding: 0 0">
<div style="display: flex; flex-direction: column; justify-content: space-between"> <div style="display: flex; flex-direction: column; justify-content: space-between;width: 100px">
<span style="border-bottom: 1px solid #666"> {{ formatDate(new Date(item.twoDimDate), 'YYYY-MM-DD') }} </span> <span v-if="!item.twoDimDate" style="border-bottom: 1px solid #666">&nbsp;</span>
<span>{{ userInit.find((user) => user.id == item.twoDimOwner)?.nickname }}</span> <span v-else style="border-bottom: 1px solid #666"> {{ formatDate(new Date(item.twoDimDate), 'YYYY-MM-DD') }} </span>
<span v-if="userInit.find((user) => user.id === item.twoDimOwner)?.nickname">{{ userInit.find((user) => user.id == item.twoDimOwner)?.nickname }}</span>
<span v-else>&nbsp;</span>
</div> </div>
</td> </td>
<td style="padding: 0 0"> <td style="padding: 0 0">
<div style="display: flex; flex-direction: column; justify-content: space-between"> <div style="display: flex; flex-direction: column; justify-content: space-between;width: 100px">
<span style="border-bottom: 1px solid #666"> {{ formatDate(new Date(item.threeDimDate), 'YYYY-MM-DD') }} </span> <span v-if="!item.threeDimDate" style="border-bottom: 1px solid #666">&nbsp;</span>
<span>{{ userInit.find((user) => user.id == item.threeDimOwner)?.nickname }}</span>
<span v-else style="border-bottom: 1px solid #666"> {{ formatDate(new Date(item.threeDimDate), 'YYYY-MM-DD') }} </span>
<span v-if="userInit.find((user) => user.id === item.threeDimOwner)?.nickname">
{{ userInit.find((user) => user.id === item.threeDimOwner)?.nickname }}
</span>
<span v-else>&nbsp;</span>
</div> </div>
</td> </td>
</tr> </tr>
</tbody> </tbody>
<tbody v-if="formData.projectOrderSubs.length<8"> <tbody v-if="formData.projectOrderSubs.length<4">
<tr v-for="item in (8-formData.projectOrderSubs.length)" :key="item"> <tr v-for="item in (4-formData.projectOrderSubs.length)" :key="item">
<td> {{item+(formData.projectOrderSubs.length)}}</td> <td> {{item+(formData.projectOrderSubs.length)}}</td>
<td colspan="3">&nbsp; </td> <td colspan="3">&nbsp; </td>
<td> &nbsp; </td> <td> &nbsp; </td>
@ -156,7 +166,7 @@
</tbody> </tbody>
<tbody> <tbody>
<tr> <tr>
<td class="xh"> 序号 </td> <td class="xh"> 序号 </td>
<td colspan="2" style="width: 200px"> 工艺流程 </td> <td colspan="2" style="width: 200px"> 工艺流程 </td>
<td colspan="2"> 开始日期 </td> <td colspan="2"> 开始日期 </td>
@ -168,8 +178,14 @@
<td class="xh"> {{ index+1 }} </td> <td class="xh"> {{ index+1 }} </td>
<td colspan="2"> {{ its.name }}</td> <td colspan="2"> {{ its.name }}</td>
<td colspan="2"> {{formatDate(new Date(its.startDate), 'YYYY-MM-DD')}}</td> <td colspan="2">
<td colspan="2">{{formatDate(new Date(its.endDate), 'YYYY-MM-DD')}} </td> <span v-if="!its.startDate"> &nbsp;</span>
<span v-else>{{formatDate(new Date(its.startDate), 'YYYY-MM-DD')}}</span>
</td>
<td colspan="2">
<span v-if="!its.endDate">&nbsp;</span>
<span v-else>{{formatDate(new Date(its.endDate), 'YYYY-MM-DD')}} </span>
</td>
<td>{{userInit.find((user) => user.id == its.owner)?.nickname}} </td> <td>{{userInit.find((user) => user.id == its.owner)?.nickname}} </td>
<td colspan="2"> {{its.description}}</td> <td colspan="2"> {{its.description}}</td>
</tr> </tr>
@ -210,9 +226,9 @@
</tbody> </tbody>
</table> </table>
<div v-if="formData.projectOrderSubs.length>8"> <div v-if="formData.projectOrderSubs.length>4">
<!-- 附页是否开启需要判断 根据子项目信息--> <!-- 附页是否开启需要判断 根据子项目信息-->
<table border="2" cellspacing="0" id="table1"> <table border="2" cellspacing="0" id="table1" style="height: 27.5cm;">
<tbody> <tbody>
<tr> <tr>
<td colspan="2"> <td colspan="2">
@ -225,7 +241,7 @@
</td> </td>
<td colspan="2" style="padding: 5px 0"> <td colspan="2" style="padding: 5px 0">
<div style="border-bottom: 1px solid #666; padding-bottom: 5px">项目编号</div> <div style="border-bottom: 1px solid #666; padding-bottom: 5px">项目编号</div>
<div style="padding-top: 5px">{{ `formData.code` }}</div> <div style="padding-top: 5px">{{ formData.code }}</div>
</td> </td>
</tr> </tr>
</tbody> </tbody>
@ -233,33 +249,33 @@
<tr> <tr>
<td colspan="2"> 客户名称 </td> <td colspan="2"> 客户名称 </td>
<td colspan="5"> <td colspan="5">
<span>{{ '公司名字' }}</span> <span>{{ formData.customerName }}</span>
</td> </td>
<td colspan="1">{{ `密称` }}</td> <td colspan="1">{{ formData.customer.brief }}</td>
<td> 编码 </td> <td> 编码 </td>
<td>{{ `1091` }} </td> <td>{{ formData.customer.code }} </td>
</tr> </tr>
</tbody> </tbody>
<tr> <tr>
<td colspan="2"> 项目名称 </td> <td colspan="2"> 项目名称 </td>
<td colspan="6"> <td colspan="6">
{{ `系列模具` }} {{ formData.projectName }}
</td> </td>
<td> 业务员 </td> <td> 业务员 </td>
<td>{{ `xxx` }} </td> <td>{{ formData.businessManName }} </td>
</tr> </tr>
<tr> <tr>
<td colspan="2"> 项目工期 </td> <td colspan="2"> 项目工期 </td>
<td style="padding: 0 5px"> </td> <td style="padding: 0 5px"> </td>
<td colspan="1"> <td colspan="1">
<span>{{ '2024/1/11' }}</span> <span>{{ formatDate(new Date(formData.projectStartTime), 'YYYY-MM-DD') }}</span>
</td> </td>
<td colspan="1"></td> <td colspan="1"></td>
<td colspan="1">{{ `2024/4/11` }}</td> <td colspan="1">{{ formatDate(new Date(formData.projectEndTime), 'YYYY-MM-DD') }}</td>
<td>天数</td> <td>天数</td>
<td colspan="1">{{ `92` }}</td> <td colspan="1">{{ betweenDay(new Date(formData.projectStartTime), new Date(formData.projectEndTime)) }}</td>
<td colspan="1"> 是否紧急 </td> <td colspan="1"> 是否紧急 </td>
<td colspan="1">{{ `` }} </td> <td colspan="1">{{ getDictLabel(DICT_TYPE.HELI_COMMON_IS_OR_NOT, formData.isUrgency) }} </td>
</tr> </tr>
<tr> <tr>
<td colspan="10"> <td colspan="10">
@ -285,32 +301,47 @@
<td> 2D/日期 </td> <td> 2D/日期 </td>
<td> 3D/日期 </td> <td> 3D/日期 </td>
</tr> </tr>
<tr v-for="item in 15" :key="item.index"> </tbody>
<td class="xh"> {{ item + 8 }} </td> <tbody>
<tr v-for="(item, idx) in formData.projectOrderSubs.slice(4)" :key="idx">
<td class="xh"> {{ idx+4 }} </td>
<td colspan="3" style="padding: 0 0"> <td colspan="3" style="padding: 0 0">
<div style="display: flex; flex-direction: column; justify-content: space-between"> <div style="display: flex; flex-direction: column; justify-content: space-between">
<span style="border-bottom: 1px solid #666"> {{ `名称` }} </span> <span style="border-bottom: 1px solid #666"> {{item.name}} </span>
<span>{{ `编号` }}</span> <span v-if="!item.projectSubShortName">&nbsp;</span>
<span v-else style="font-size: 12px">{{ formData.code+'-'+formData.customer.code+'-'+ item.projectSubShortName}}</span>
</div> </div>
</td> </td>
<td>{{ `LP 100L` }} </td> <td>{{equipInit.find((equip) => equip.id == item.equipId)?.name}} </td>
<td>{{ `1` }} </td> <td>{{item.amount}} </td>
<td>{{ `H13` }} </td> <td>{{ item.compositionName }} </td>
<td> {{ `2024/1/15` }} </td> <td style="width: 100px !important"> {{ formatDate(new Date(item.blankDate), 'YYYY-MM-DD') }} </td>
<td style="padding: 0 0"> <td style="padding: 0 0">
<div style="display: flex; flex-direction: column; justify-content: space-between"> <div style="display: flex; flex-direction: column; justify-content: space-between">
<span style="border-bottom: 1px solid #666"> {{ `2024/1/15` }} </span> <span style="border-bottom: 1px solid #666;width: 100px"> {{ formatDate(new Date(item.twoDimDate), 'YYYY-MM-DD') }} </span>
<span>{{ `name` }}</span> <span>{{ userInit.find((user) => user.id == item.twoDimOwner)?.nickname }}</span>
</div> </div>
</td> </td>
<td style="padding: 0 0"> <td style="padding: 0 0">
<div style="display: flex; flex-direction: column; justify-content: space-between"> <div style="display: flex; flex-direction: column; justify-content: space-between;width: 100px">
<span style="border-bottom: 1px solid #666"> {{ `2024/1/15` }} </span> <span style="border-bottom: 1px solid #666"> {{ formatDate(new Date(item.threeDimDate), 'YYYY-MM-DD') }} </span>
<span>{{ `name` }}</span> <span>{{ userInit.find((user) => user.id == item.threeDimOwner)?.nickname }}</span>
</div> </div>
</td> </td>
</tr> </tr>
</tbody> </tbody>
<tbody v-if="formData.projectOrderSubs.length<15">
<tr v-for="item in (15-formData.projectOrderSubs.length)" :key="item">
<td> {{item+(formData.projectOrderSubs.length)}}</td>
<td colspan="3">&nbsp; </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td>&nbsp; </td>
<td> &nbsp; </td>
<td> &nbsp; </td>
<td>&nbsp; </td>
</tr>
</tbody>
<tbody> <tbody>
<tr> <tr>
@ -335,16 +366,16 @@
<td colspan="3" style="width: 33%"> 审核/日期 </td> <td colspan="3" style="width: 33%"> 审核/日期 </td>
<td colspan="3" style="width: 33%"> 批准/日期 </td> <td colspan="3" style="width: 33%"> 批准/日期 </td>
</tr> </tr>
<tr> <tr>
<td colspan="4">{{formData.creatorName}}</td> <td colspan="4">{{formData.creatorName}}</td>
<td colspan="3">{{formData.auditUserName}}</td> <td colspan="3">{{formData.auditUserName}}</td>
<td colspan="3">{{formData.approveUserName}}</td> <td colspan="3">{{formData.approveUserName}}</td>
</tr> </tr>
<tr> <tr>
<td colspan="4">{{formatDate(new Date(formData.createTime), 'YYYY-MM-DD')}}</td> <td colspan="4">{{formatDate(new Date(planData.editorDate), 'YYYY-MM-DD')}}</td>
<td colspan="3">{{formatDate(new Date(formData.auditTime), 'YYYY-MM-DD')}}</td> <td colspan="3">{{formatDate(new Date(planData.auditDate), 'YYYY-MM-DD')}}</td>
<td colspan="3">{{formatDate(new Date(formData.approveTime), 'YYYY-MM-DD')}}</td> <td colspan="3">{{formatDate(new Date(planData.approveDate), 'YYYY-MM-DD')}}</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
</div> </div>
@ -564,7 +595,6 @@ const open = async (id: number) => {
// //
planData.value = await PlanApi.getPlan(id) planData.value = await PlanApi.getPlan(id)
formData.value = await ProjectOrderApi.getProjectOrder(planData.value.projectId) formData.value = await ProjectOrderApi.getProjectOrder(planData.value.projectId)
// //
formData.value.projectOrderSubs = await ProjectOrderApi.getProjectOrderSubListByProjectOrderId( formData.value.projectOrderSubs = await ProjectOrderApi.getProjectOrderSubListByProjectOrderId(

Loading…
Cancel
Save