发货单打印

pull/3/head
qiuhongwu 9 months ago
parent 7b88f34d52
commit 232cfdef95

@ -3,7 +3,7 @@
<!-- 打印预览 --> <!-- 打印预览 -->
<div class="print-wrap page" ref="print"> <div class="print-wrap page" ref="print">
<!-- 客户联 --> <!-- 客户联 -->
<table border="2" cellspacing="0" id="table" > <table border="2" cellspacing="0" id="table">
<tbody> <tbody>
<tr> <tr>
<td colspan="10"> <td colspan="10">
@ -64,13 +64,17 @@
<td>尺寸()</td> <td>尺寸()</td>
<td colspan="2"> 备注 </td> <td colspan="2"> 备注 </td>
</tr> </tr>
<tr v-show="subTotalAmount <= splitThreshold" v-for="(item,index) in formData.deliverOrderSubs" :key="index"> <tr
<td colspan="4">{{item.name}}</td> v-show="subTotalAmount <= splitThreshold"
<td>{{getDictLabel(DICT_TYPE.HELI_MATERIAL_UNIT, item.unit)}}</td> v-for="(item, index) in formData.deliverOrderSubs"
<td>{{item.amount}}</td> :key="index"
<td>{{item.weight}}</td> >
<td>{{item.size}}</td> <td colspan="4">{{ item.name }}</td>
<td colspan="2">{{item.remark}}</td> <td>{{ getDictLabel(DICT_TYPE.HELI_MATERIAL_UNIT, item.unit) }}</td>
<td>{{ item.amount }}</td>
<td>{{ item.weight }}</td>
<td>{{ item.size }}</td>
<td colspan="2">{{ item.remark }}</td>
</tr> </tr>
<tr v-if="subTotalAmount > splitThreshold"> <tr v-if="subTotalAmount > splitThreshold">
<td colspan="4">工装模具详见清单附件</td> <td colspan="4">工装模具详见清单附件</td>
@ -89,6 +93,16 @@
<td colspan="2"></td> <td colspan="2"></td>
</tr> </tr>
</tbody> </tbody>
<tbody v-if="subTotalAmount > splitThreshold">
<tr v-for="item in 4" :key="item">
<td colspan="4"> &nbsp;</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td colspan="2"></td>
</tr>
</tbody>
<tr> <tr>
<td colspan="2"> 发货单位 </td> <td colspan="2"> 发货单位 </td>
<td colspan="3"> <td colspan="3">
@ -101,13 +115,18 @@
</tr> </tr>
<tr> <tr>
<td colspan="2"> 司机姓名 </td> <td colspan="2"> 司机姓名 </td>
<td colspan="2"> <td colspan="2" v-if="formData.transportDriverName">
{{ formData.transportDriverName }} {{ formData.transportDriverName }}
</td> </td>
<td colspan="2" v-else style="width: 60px"></td>
<td>车牌号</td> <td>车牌号</td>
<td colspan="2">{{formData.transportBusNumber}}</td> <td colspan="2" v-if="formData.transportBusNumber">{{ formData.transportBusNumber }}</td>
<td colspan="2" v-else style="width: 50px"></td>
<td> 电话 </td> <td> 电话 </td>
<td colspan="2">{{ formData.transportDriverMobile }} </td> <td colspan="2" v-if="formData.transportDriverMobile"
>{{ formData.transportDriverMobile }}
</td>
<td colspan="2" v-else style="width: 50px"></td>
</tr> </tr>
<tr> <tr>
<td colspan="5"> <td colspan="5">
@ -144,16 +163,16 @@
</tr> </tr>
</tbody> </tbody>
<tbody> <tbody>
<tr> <tr>
<td colspan="2"> 发货编号 </td> <td colspan="2"> 发货编号 </td>
<td colspan="3"> <td colspan="3">
<span>{{ formData.code }}</span> <span>{{ formData.code }}</span>
</td> </td>
<td>合同号</td> <td>合同号</td>
<td colspan="2">{{ formData.contractNo }}</td> <td colspan="2">{{ formData.contractNo }}</td>
<td> 性质 </td> <td> 性质 </td>
<td>{{ formData.property }} </td> <td>{{ formData.property }} </td>
</tr> </tr>
</tbody> </tbody>
<tr> <tr>
<td colspan="2"> 发货日期 </td> <td colspan="2"> 发货日期 </td>
@ -190,13 +209,17 @@
<td>尺寸()</td> <td>尺寸()</td>
<td colspan="2"> 备注 </td> <td colspan="2"> 备注 </td>
</tr> </tr>
<tr v-show="subTotalAmount <= splitThreshold" v-for="(item,index) in formData.deliverOrderSubs" :key="index"> <tr
<td colspan="4">{{item.name}}</td> v-show="subTotalAmount <= splitThreshold"
<td>{{getDictLabel(DICT_TYPE.HELI_MATERIAL_UNIT, item.unit)}}</td> v-for="(item, index) in formData.deliverOrderSubs"
<td>{{item.amount}}</td> :key="index"
<td>{{item.weight}}</td> >
<td>{{item.size}}</td> <td colspan="4">{{ item.name }}</td>
<td colspan="2">{{item.remark}}</td> <td>{{ getDictLabel(DICT_TYPE.HELI_MATERIAL_UNIT, item.unit) }}</td>
<td>{{ item.amount }}</td>
<td>{{ item.weight }}</td>
<td>{{ item.size }}</td>
<td colspan="2">{{ item.remark }}</td>
</tr> </tr>
<tr v-if="subTotalAmount > splitThreshold"> <tr v-if="subTotalAmount > splitThreshold">
<td colspan="4">工装模具详见清单附件</td> <td colspan="4">工装模具详见清单附件</td>
@ -215,6 +238,16 @@
<td colspan="2"></td> <td colspan="2"></td>
</tr> </tr>
</tbody> </tbody>
<tbody v-if="subTotalAmount > splitThreshold">
<tr v-for="item in 4" :key="item">
<td colspan="4"> &nbsp;</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td colspan="2"></td>
</tr>
</tbody>
<tr> <tr>
<td colspan="2"> 发货单位 </td> <td colspan="2"> 发货单位 </td>
<td colspan="3"> <td colspan="3">
@ -227,13 +260,18 @@
</tr> </tr>
<tr> <tr>
<td colspan="2"> 司机姓名 </td> <td colspan="2"> 司机姓名 </td>
<td colspan="2"> <td colspan="2" v-if="formData.transportDriverName">
{{ formData.transportDriverName }} {{ formData.transportDriverName }}
</td> </td>
<td colspan="2" v-else style="width: 60px"></td>
<td>车牌号</td> <td>车牌号</td>
<td colspan="2">{{formData.transportBusNumber}}</td> <td colspan="2" v-if="formData.transportBusNumber">{{ formData.transportBusNumber }}</td>
<td colspan="2" v-else style="width: 50px"></td>
<td> 电话 </td> <td> 电话 </td>
<td colspan="2">{{ formData.transportDriverMobile }} </td> <td colspan="2" v-if="formData.transportDriverMobile"
>{{ formData.transportDriverMobile }}
</td>
<td colspan="2" v-else style="width: 50px"></td>
</tr> </tr>
<tr> <tr>
<td colspan="5"> <td colspan="5">
@ -261,70 +299,71 @@
<!-- 附件需要判断 --> <!-- 附件需要判断 -->
<div v-if="subTotalAmount > splitThreshold"> <div v-if="subTotalAmount > splitThreshold">
<div class="divide_line1" style="margin-top: 30px"></div> <div class="divide_line1" style="margin-top: 30px"></div>
<table border="2" cellspacing="0" id="table1" style="height: 28cm; "> <table border="2" cellspacing="0" id="table1" style="height: 28cm">
<tbody> <tbody>
<tr> <tr>
<td colspan="10"> <td colspan="10">
<div style="display: flex; align-items: center; justify-content: space-between"> <div style="display: flex; align-items: center; justify-content: space-between">
<img src="/src/assets/imgs/exlogo.png" style="width: 100px" alt="" /> <img src="/src/assets/imgs/exlogo.png" style="width: 100px" alt="" />
<span style="font-size: 20px; font-weight: 700">清单附件</span> <span style="font-size: 20px; font-weight: 700">清单附件</span>
<span style="font-size: 12px">发货编号{{ formData.code }}</span> <span style="font-size: 12px">发货编号{{ formData.code }}</span>
</div> </div>
</td> </td>
</tr> </tr>
</tbody> </tbody>
<tbody> <tbody>
<tr> <tr>
<td> 序号 </td> <td> 序号 </td>
<td colspan="3"> <td colspan="3">
<span>摸具名称</span> <span>摸具名称</span>
</td> </td>
<td colspan="3">摸具图号</td> <td colspan="3">摸具图号</td>
<td> 数量() </td> <td> 数量() </td>
<td colspan="2">备注 </td> <td colspan="2">备注 </td>
</tr> </tr>
<tr> <tr>
<td colspan="10" style="background-color: rgb(255, 255, 0)"> <td colspan="10" style="background-color: rgb(255, 255, 0)">
<div style="text-align: left">模具清单</div> <div style="text-align: left">模具清单</div>
</td> </td>
</tr> </tr>
<tr v-for="(item,index) in formData.deliverOrderSubs" :key="index"> <tr v-for="(item, index) in formData.deliverOrderSubs" :key="index">
<td> {{ index+1 }} </td> <td> {{ index + 1 }} </td>
<td colspan="3">{{ item.name }}</td> <td colspan="3">{{ item.name }}</td>
<td colspan="3">{{ item.blueprintNo}}</td> <td colspan="3">{{ item.blueprintNo }}</td>
<td> {{ item.amount }} </td> <td> {{ item.amount }} </td>
<td colspan="2">{{ item.remark }} </td> <td colspan="2">{{ item.remark }} </td>
</tr> </tr>
<tr> <tr>
<td colspan="10" style="background-color: rgb(255, 255, 0)"> <td colspan="10" style="background-color: rgb(255, 255, 0)">
<div style="text-align: left">备件清单</div> <div style="text-align: left">备件清单</div>
</td> </td>
</tr> </tr>
<tr v-for="(item, index) in formData.deliverOrderOtherSpareSubs" :key="index"> <tr v-for="(item, index) in formData.deliverOrderOtherSpareSubs" :key="index">
<td> {{ index+1 }} </td> <td> {{ index + 1 }} </td>
<td colspan="3"> <td colspan="3">
<span>{{ item.name }}</span> <span>{{ item.name }}</span>
</td> </td>
<td colspan="3">{{ item.blueprintNo}}</td> <td colspan="3">{{ item.blueprintNo }}</td>
<td> {{ item.amount }} </td> <td> {{ item.amount }} </td>
<td colspan="2">{{ item.remark }} </td> <td colspan="2">{{ item.remark }} </td>
</tr> </tr>
<tr>
<td colspan="10" style="background-color: rgb(255, 255, 0)">
<div style="text-align: left">刀具清单</div>
</td>
</tr>
<tr v-for="(item, index) in formData.deliverOrderOtherCutterSubs" :key="index">
<td> {{ index + 1 }} </td>
<td colspan="3">
<span>{{ item.name }}</span>
</td>
<td colspan="3">{{ item.blueprintNo }}</td>
<td> {{ item.amount }} </td>
<td colspan="2">{{ item.remark }} </td>
</tr>
<tr>
<td colspan="10" style="background-color: rgb(255, 255, 0)">
<div style="text-align: left">刀具清单</div>
</td>
</tr>
<tr v-for="(item, index) in formData.deliverOrderOtherCutterSubs" :key="index">
<td> {{ index+1 }} </td>
<td colspan="3">
<span>{{ item.name }}</span>
</td>
<td colspan="3">{{ item.blueprintNo}}</td>
<td> {{ item.amount }} </td>
<td colspan="2">{{ item.remark }} </td>
</tr>
</tbody> </tbody>
<tr> <tr>
<td colspan="10"> <td colspan="10">
@ -334,12 +373,12 @@
</table> </table>
<div <div
style=" style="
width: 100%; width: 100%;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
margin-bottom: 20px; margin-bottom: 20px;
" "
> >
<span>制单人{{ formData.creatorName }}</span> <span>制单人{{ formData.creatorName }}</span>
<span>-回单联-</span> <span>-回单联-</span>
@ -356,10 +395,10 @@
<script setup lang="ts"> <script setup lang="ts">
// import { ref, reactive } from 'vue' // import { ref, reactive } from 'vue'
import { Check } from '@element-plus/icons-vue' import { Check } from '@element-plus/icons-vue'
import {ref} from "vue"; import { ref } from 'vue'
import {getDictLabel, DICT_TYPE} from "@/utils/dict"; import { getDictLabel, DICT_TYPE } from '@/utils/dict'
import {getDeliverOrder, getDeliverOrderSubListByDeliveryOrderId} from "@/api/heli/deliverorder"; import { getDeliverOrder, getDeliverOrderSubListByDeliveryOrderId } from '@/api/heli/deliverorder'
import {formatDate} from "@/utils/formatTime"; import { formatDate } from '@/utils/formatTime'
const dialogVisible = ref(false) // const dialogVisible = ref(false) //
const onPrint = () => { const onPrint = () => {
@ -501,27 +540,30 @@ const open = async (id: number) => {
formData.value.deliverCompany = '杭州合立机械有限公司' formData.value.deliverCompany = '杭州合立机械有限公司'
// //
let properties = formData.value.property.split(",") let properties = formData.value.property.split(',')
let property = ""; let property = ''
for (let i = 0; i < properties.length; i++) { for (let i = 0; i < properties.length; i++) {
property += getDictLabel(DICT_TYPE.HELI_PROJECT_PROPERTY, properties[i]) + ","; property += getDictLabel(DICT_TYPE.HELI_PROJECT_PROPERTY, properties[i]) + ','
} }
formData.value.property = property.substring(0, property.length-1); formData.value.property = property.substring(0, property.length - 1)
// //
const subArr = await getDeliverOrderSubListByDeliveryOrderId(id) const subArr = await getDeliverOrderSubListByDeliveryOrderId(id)
subTotalAmount.value = subArr.length subTotalAmount.value = subArr.length
if(subTotalAmount.value > splitThreshold){ if (subTotalAmount.value > splitThreshold) {
formData.value.deliverOrderSubs = subArr.filter(sub => sub.category == 'DELIVER_LIST'); formData.value.deliverOrderSubs = subArr.filter((sub) => sub.category == 'DELIVER_LIST')
// //
formData.value.deliverOrderOtherSpareSubs = subArr.filter(sub => (sub.category == 'OTHER_LIST' && sub.subType == 1 )); formData.value.deliverOrderOtherSpareSubs = subArr.filter(
formData.value.deliverOrderOtherCutterSubs = subArr.filter(sub => (sub.category == 'OTHER_LIST' && sub.subType == 2 )); (sub) => sub.category == 'OTHER_LIST' && sub.subType == 1
}else{ )
formData.value.deliverOrderOtherCutterSubs = subArr.filter(
(sub) => sub.category == 'OTHER_LIST' && sub.subType == 2
)
} else {
formData.value.deliverOrderSubs = subArr formData.value.deliverOrderSubs = subArr
} }
} finally { } finally {
formLoading.value = false formLoading.value = false
} }

Loading…
Cancel
Save