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

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

@ -5,7 +5,7 @@
</template>
<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-input v-model="queryParams.planNo" placeholder="生产计划编号" clearable @keyup.enter="handleQuery" class="!w-250px" />
</el-form-item>
@ -36,8 +36,8 @@
<el-form-item label="项目负责人" prop="projectOwner">
<el-input v-model="queryParams.projectOwner" placeholder="项目负责人" clearable @keyup.enter="handleQuery" class="!w-250px" />
</el-form-item>
<el-form-item>
<el-button @click="handleQuery">
<el-form-item style="margin-left:15px">
<el-button @click="handleQuery" type="primary">
<Icon icon="ep:search" class="mr-5px" /> 搜索
</el-button>
<el-button @click="resetQuery">

@ -2,7 +2,7 @@
<Dialog title="打印预览" v-model="dialogVisible" width="1000">
<!-- 打印预览 -->
<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>
<tr>
<td colspan="2">
@ -110,40 +110,50 @@
<td> 设备型号 </td>
<td> 数量 </td>
<td> 主要材料 </td>
<td> 毛坯日期 </td>
<td style="width:110px"> 毛坯日期 </td>
<td> 2D/日期 </td>
<td> 3D/日期 </td>
</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 colspan="3" style="padding: 0 0">
<div style="display: flex; flex-direction: column; justify-content: space-between">
<span style="border-bottom: 1px solid #666"> {{item.name}} </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>
</td>
<td>{{equipInit.find((equip) => equip.id == item.equipId)?.name}} </td>
<td>{{item.amount}} </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">
<div style="display: flex; flex-direction: column; justify-content: space-between">
<span style="border-bottom: 1px solid #666"> {{ formatDate(new Date(item.twoDimDate), 'YYYY-MM-DD') }} </span>
<span>{{ userInit.find((user) => user.id == item.twoDimOwner)?.nickname }}</span>
<div style="display: flex; flex-direction: column; justify-content: space-between;width: 100px">
<span v-if="!item.twoDimDate" style="border-bottom: 1px solid #666">&nbsp;</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>
</td>
<td style="padding: 0 0">
<div style="display: flex; flex-direction: column; justify-content: space-between">
<span style="border-bottom: 1px solid #666"> {{ formatDate(new Date(item.threeDimDate), 'YYYY-MM-DD') }} </span>
<span>{{ userInit.find((user) => user.id == item.threeDimOwner)?.nickname }}</span>
<div style="display: flex; flex-direction: column; justify-content: space-between;width: 100px">
<span v-if="!item.threeDimDate" style="border-bottom: 1px solid #666">&nbsp;</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>
</td>
</tr>
</tbody>
<tbody v-if="formData.projectOrderSubs.length<8">
<tr v-for="item in (8-formData.projectOrderSubs.length)" :key="item">
<tbody v-if="formData.projectOrderSubs.length<4">
<tr v-for="item in (4-formData.projectOrderSubs.length)" :key="item">
<td> {{item+(formData.projectOrderSubs.length)}}</td>
<td colspan="3">&nbsp; </td>
<td> &nbsp; </td>
@ -168,8 +178,14 @@
<td class="xh"> {{ index+1 }} </td>
<td colspan="2"> {{ its.name }}</td>
<td colspan="2"> {{formatDate(new Date(its.startDate), 'YYYY-MM-DD')}}</td>
<td colspan="2">{{formatDate(new Date(its.endDate), 'YYYY-MM-DD')}} </td>
<td colspan="2">
<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 colspan="2"> {{its.description}}</td>
</tr>
@ -210,9 +226,9 @@
</tbody>
</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>
<tr>
<td colspan="2">
@ -225,7 +241,7 @@
</td>
<td colspan="2" style="padding: 5px 0">
<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>
</tr>
</tbody>
@ -233,33 +249,33 @@
<tr>
<td colspan="2"> 客户名称 </td>
<td colspan="5">
<span>{{ '公司名字' }}</span>
<span>{{ formData.customerName }}</span>
</td>
<td colspan="1">{{ `密称` }}</td>
<td colspan="1">{{ formData.customer.brief }}</td>
<td> 编码 </td>
<td>{{ `1091` }} </td>
<td>{{ formData.customer.code }} </td>
</tr>
</tbody>
<tr>
<td colspan="2"> 项目名称 </td>
<td colspan="6">
{{ `系列模具` }}
{{ formData.projectName }}
</td>
<td> 业务员 </td>
<td>{{ `xxx` }} </td>
<td>{{ formData.businessManName }} </td>
</tr>
<tr>
<td colspan="2"> 项目工期 </td>
<td style="padding: 0 5px"> </td>
<td colspan="1">
<span>{{ '2024/1/11' }}</span>
<span>{{ formatDate(new Date(formData.projectStartTime), 'YYYY-MM-DD') }}</span>
</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 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">{{ getDictLabel(DICT_TYPE.HELI_COMMON_IS_OR_NOT, formData.isUrgency) }} </td>
</tr>
<tr>
<td colspan="10">
@ -285,32 +301,47 @@
<td> 2D/日期 </td>
<td> 3D/日期 </td>
</tr>
<tr v-for="item in 15" :key="item.index">
<td class="xh"> {{ item + 8 }} </td>
</tbody>
<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">
<div style="display: flex; flex-direction: column; justify-content: space-between">
<span style="border-bottom: 1px solid #666"> {{ `名称` }} </span>
<span>{{ `编号` }}</span>
<span style="border-bottom: 1px solid #666"> {{item.name}} </span>
<span v-if="!item.projectSubShortName">&nbsp;</span>
<span v-else style="font-size: 12px">{{ formData.code+'-'+formData.customer.code+'-'+ item.projectSubShortName}}</span>
</div>
</td>
<td>{{ `LP 100L` }} </td>
<td>{{ `1` }} </td>
<td>{{ `H13` }} </td>
<td> {{ `2024/1/15` }} </td>
<td>{{equipInit.find((equip) => equip.id == item.equipId)?.name}} </td>
<td>{{item.amount}} </td>
<td>{{ item.compositionName }} </td>
<td style="width: 100px !important"> {{ formatDate(new Date(item.blankDate), 'YYYY-MM-DD') }} </td>
<td style="padding: 0 0">
<div style="display: flex; flex-direction: column; justify-content: space-between">
<span style="border-bottom: 1px solid #666"> {{ `2024/1/15` }} </span>
<span>{{ `name` }}</span>
<span style="border-bottom: 1px solid #666;width: 100px"> {{ formatDate(new Date(item.twoDimDate), 'YYYY-MM-DD') }} </span>
<span>{{ userInit.find((user) => user.id == item.twoDimOwner)?.nickname }}</span>
</div>
</td>
<td style="padding: 0 0">
<div style="display: flex; flex-direction: column; justify-content: space-between">
<span style="border-bottom: 1px solid #666"> {{ `2024/1/15` }} </span>
<span>{{ `name` }}</span>
<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>{{ userInit.find((user) => user.id == item.threeDimOwner)?.nickname }}</span>
</div>
</td>
</tr>
</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>
<tr>
@ -341,9 +372,9 @@
<td colspan="3">{{formData.approveUserName}}</td>
</tr>
<tr>
<td colspan="4">{{formatDate(new Date(formData.createTime), 'YYYY-MM-DD')}}</td>
<td colspan="3">{{formatDate(new Date(formData.auditTime), 'YYYY-MM-DD')}}</td>
<td colspan="3">{{formatDate(new Date(formData.approveTime), 'YYYY-MM-DD')}}</td>
<td colspan="4">{{formatDate(new Date(planData.editorDate), 'YYYY-MM-DD')}}</td>
<td colspan="3">{{formatDate(new Date(planData.auditDate), 'YYYY-MM-DD')}}</td>
<td colspan="3">{{formatDate(new Date(planData.approveDate), 'YYYY-MM-DD')}}</td>
</tr>
</tbody>
</table>
@ -564,7 +595,6 @@ const open = async (id: number) => {
//
planData.value = await PlanApi.getPlan(id)
formData.value = await ProjectOrderApi.getProjectOrder(planData.value.projectId)
//
formData.value.projectOrderSubs = await ProjectOrderApi.getProjectOrderSubListByProjectOrderId(

Loading…
Cancel
Save