| | |
| | | }) |
| | | const form = ref({ |
| | | }) |
| | | let produceList2 = ref([]) |
| | | |
| | | |
| | | |
| | | const getData = () => { |
| | | if(props.deliveryId===null || props.deliveryId===undefined || props.deliveryId===''){ |
| | | return |
| | |
| | | |
| | | request.post(`/delivery/getSelectDeliveryPrinting`,form.value).then((res) => { |
| | | if(res.code==200){ |
| | | produceList.value = deepClone(res.data.data) |
| | | delivery.value=deepClone(res.data.delivery) |
| | | money.value=deepClone(res.data.money) |
| | | otherMoney.value=deepClone(res.data.otherMoney) |
| | | produceList.value.forEach(item => { |
| | | sumMoney+=item.DeliveryDetail.money |
| | | }) |
| | | otherMoney1=[] |
| | | otherMoney=deepClone(res.data.otherMoney) |
| | | for(let i=0;i<otherMoney.length;i++){ |
| | | if(otherMoney[i].DeliveryDetailOtherMoney.monery!=null){ |
| | | otherMoneys+=otherMoney[i].DeliveryDetailOtherMoney.monery |
| | | if(otherMoney1.length===0){ |
| | | otherMoney1.push(otherMoney[i]) |
| | | } |
| | | else{ |
| | | for(let s=0;s<otherMoney1.length;s++){ |
| | | if(otherMoney[i].DeliveryDetailOtherMoney.alias===otherMoney1[s].DeliveryDetailOtherMoney.alias){ |
| | | produceList.value = deepClone(res.data) |
| | | for(let i=0;i<produceList.value.length;i++){ |
| | | let produceList1= ({ |
| | | data:null, |
| | | otherMoney:null, |
| | | otherMoney1:null, |
| | | delivery:null, |
| | | money:null, |
| | | otherMoneys:0, |
| | | sumMoney:0 |
| | | }) |
| | | produceList1.data=produceList.value[i].data |
| | | produceList1.delivery=produceList.value[i].delivery |
| | | produceList1.money=produceList.value[i].money |
| | | produceList1.otherMoney=produceList.value[i].otherMoney |
| | | for(let j=0;j<produceList1.data.length;j++){ |
| | | produceList1.sumMoney+=produceList1.data[j].DeliveryDetail.money |
| | | } |
| | | otherMoney1=[] |
| | | for(let i=0;i<produceList1.otherMoney.length;i++){ |
| | | if(produceList1.otherMoney[i].DeliveryDetailOtherMoney.monery!=null){ |
| | | produceList1.otherMoneys+=produceList1.otherMoney[i].DeliveryDetailOtherMoney.monery |
| | | if(otherMoney1.length===0){ |
| | | otherMoney1.push(produceList1.otherMoney[i]) |
| | | } |
| | | else{ |
| | | for(let s=0;s<otherMoney1.length;s++){ |
| | | if(produceList1.otherMoney[i].DeliveryDetailOtherMoney.alias===otherMoney1[s].DeliveryDetailOtherMoney.alias){ |
| | | |
| | | otherMoney1[s].DeliveryDetailOtherMoney.count=add(otherMoney[i].DeliveryDetailOtherMoney.count,otherMoney1[s].DeliveryDetailOtherMoney.count) |
| | | otherMoney1[s].DeliveryDetailOtherMoney.monery =add(otherMoney[i].DeliveryDetailOtherMoney.monery,otherMoney1[s].DeliveryDetailOtherMoney.monery) |
| | | break |
| | | otherMoney1[s].DeliveryDetailOtherMoney.count=add(produceList1.otherMoney[i].DeliveryDetailOtherMoney.count,otherMoney1[s].DeliveryDetailOtherMoney.count) |
| | | otherMoney1[s].DeliveryDetailOtherMoney.monery =add(produceList1.otherMoney[i].DeliveryDetailOtherMoney.monery,otherMoney1[s].DeliveryDetailOtherMoney.monery) |
| | | break |
| | | } |
| | | if(s+1===otherMoney1.length){ |
| | | otherMoney1.push(produceList1.otherMoney[i]) |
| | | break |
| | | } |
| | | } |
| | | if(s+1===otherMoney1.length){ |
| | | otherMoney1.push(otherMoney[i]) |
| | | break |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | } |
| | | produceList1.otherMoney1=otherMoney1 |
| | | produceList2.value.push(produceList1) |
| | | } |
| | | |
| | | }else{ |
| | | ElMessage.warning(res.msg) |
| | | router.push("/login") |
| | |
| | | |
| | | <template> |
| | | <div id="sheet"> |
| | | <table > |
| | | <table class="pages" v-for="(itme1, index) in produceList2" :key="index" > |
| | | <thead> |
| | | <tr class="title-s"> |
| | | <th colspan="9"> |
| | |
| | | <th colspan="5" style="width: 40%;"> |
| | | <h3>销售发货单</h3> |
| | | </th> |
| | | <th colspan="2" style="width: 30%;text-align: left;">发货单号:<span>{{delivery.deliveryId}}</span></th> |
| | | <th colspan="2" style="width: 30%;text-align: left;">发货单号:<span>{{itme1.delivery.deliveryId}}</span></th> |
| | | </tr> |
| | | <tr> |
| | | <th style="text-align: left;border:none;" colspan="4">客户名称:<span>{{delivery.customerName}}</span></th> |
| | | <th style="text-align: left;border:none;" colspan="3">项目名称:<span>{{delivery.project}}</span></th> |
| | | <th style="text-align: left;border:none;" colspan="2">联系人:<span>{{delivery.contacts}}</span></th> |
| | | <th style="text-align: left;border:none;" colspan="4">客户名称:<span>{{itme1.delivery.customerName}}</span></th> |
| | | <th style="text-align: left;border:none;" colspan="3">项目名称:<span>{{itme1.delivery.project}}</span></th> |
| | | <th style="text-align: left;border:none;" colspan="2">联系人:<span>{{itme1.delivery.contacts}}</span></th> |
| | | </tr> |
| | | <tr> |
| | | <th style="text-align: left;border:none;" colspan="7">送货地址:<span>{{delivery.deliveryAddress}}</span></th> |
| | | <th style="text-align: left;border:none;" colspan="2">联系电话:<span>{{delivery.contactNumber}}</span></th> |
| | | <th style="text-align: left;border:none;" colspan="7">送货地址:<span>{{itme1.delivery.deliveryAddress}}</span></th> |
| | | <th style="text-align: left;border:none;" colspan="2">联系电话:<span>{{itme1.delivery.contactNumber}}</span></th> |
| | | </tr> |
| | | |
| | | |
| | |
| | | <tr style="border-style: none"> |
| | | <td colspan="9" style="border-style: none"> |
| | | <table style="border-style: none;width: 100%;height: 100%;"> |
| | | <template v-for="(item, index) in produceList" :key="index" > |
| | | <template v-for="(item, index) in itme1.data" :key="index" > |
| | | <thead> |
| | | <tr v-if="index===0"> |
| | | <th style="width: 6%;">序号</th> |
| | |
| | | </template> |
| | | <tr class="day-in"> |
| | | <td style="font-size: 15px;" colspan="3">合计:</td> |
| | | <td>{{delivery.quantity}}</td> |
| | | <td>{{delivery.area}}</td> |
| | | <td>{{itme1.delivery.quantity}}</td> |
| | | <td>{{itme1.delivery.area}}</td> |
| | | <td></td> |
| | | <td>{{parseFloat(sumMoney.toFixed(2))}}</td> |
| | | <td>{{parseFloat(itme1.sumMoney.toFixed(2))}}</td> |
| | | <td colspan="2"></td> |
| | | </tr> |
| | | <tr class="day-in"> |
| | |
| | | <span style="width: 25%">金额</span> |
| | | </div> |
| | | </td> |
| | | <td style="text-align: left;border:none;font-size: 15px;" colspan="5">总金额: {{delivery.money}}</td> |
| | | <td style="text-align: left;border:none;font-size: 15px;" colspan="5">总金额: {{itme1.delivery.money}}</td> |
| | | </tr> |
| | | <tr class="day-in"> |
| | | <td style="text-align: left;border-width: 0 1px 0 0; border-style: solid; border-color: #d3dce6;" colspan="4" > |
| | | <div style="display: flex;font-size: 10px;text-align: center" v-for="(item, index2) in otherMoney1" :key="index2"> |
| | | <div style="display: flex;font-size: 10px;text-align: center" v-for="(item, index2) in itme1.otherMoney1" :key="index2"> |
| | | <span style="width: 25%">{{item.DeliveryDetailOtherMoney.alias}}</span> |
| | | <span style="width: 25%">{{item.DeliveryDetailOtherMoney.price}}</span> |
| | | <span style="width: 25%">{{item.DeliveryDetailOtherMoney.count}}</span> |
| | | <span style="width: 25%">{{parseFloat(item.DeliveryDetailOtherMoney.monery).toFixed(2)}}</span> |
| | | </div> |
| | | <div style="display: flex;font-size: 10px;text-align: center" v-if="delivery.freight>0"> |
| | | <div style="display: flex;font-size: 10px;text-align: center" v-if="itme1.delivery.freight>0"> |
| | | <span style="width: 25%">运费</span> |
| | | <span style="width: 25%">{{delivery.freightPrice}}</span> |
| | | <span style="width: 25%">{{delivery.freightQuantity}}</span> |
| | | <span style="width: 25%">{{delivery.freight}}</span> |
| | | <span style="width: 25%">{{itme1.delivery.freightPrice}}</span> |
| | | <span style="width: 25%">{{itme1.delivery.freightQuantity}}</span> |
| | | <span style="width: 25%">{{itme1.delivery.freight}}</span> |
| | | </div> |
| | | </td> |
| | | <td style="text-align: left;border:none;font-size: 15px;" colspan="5">大写金额: {{money}}</td> |
| | | <td style="text-align: left;border:none;font-size: 15px;" colspan="5">大写金额: {{itme1.money}}</td> |
| | | </tr> |
| | | |
| | | |
| | |
| | | <tr class="day-in" style="border: 0;" v-if="company.showDeliveryCreator"> |
| | | <td colspan="9" style="border: 0"> |
| | | <div style="display:flex;text-align: left" class="bottom"> |
| | | <div style="width: 15%">制单员:{{ delivery.creator }}</div> |
| | | <div style="width: 25%">制单日期:{{ delivery.createTime }}</div> |
| | | <div style="width: 15%">制单员:{{ itme1.delivery.creator }}</div> |
| | | <div style="width: 25%">制单日期:{{ itme1.delivery.createTime }}</div> |
| | | <div style="width: 10%">发货员:</div> |
| | | <div style="width: 10%">司机:</div> |
| | | <div style="width: 15%">客户签字:</div> |
| | |
| | | <tr class="day-in" style="border: 0" v-if="!company.showDeliveryCreator"> |
| | | <td colspan="9" style="border: 0"> |
| | | <div style="display:flex;text-align: left" class="bottom"> |
| | | <div style="width: 15%">制单员:{{ delivery.creator }}</div> |
| | | <div style="width: 15%">制单日期:{{ delivery.createTime1 }}</div> |
| | | <div style="width: 15%">制单员:{{ itme1.delivery.creator }}</div> |
| | | <div style="width: 15%">制单日期:{{ itme1.delivery.createTime1 }}</div> |
| | | <div style="width: 15%">发货员:</div> |
| | | <div style="width: 15%">司机:</div> |
| | | <div style="width: 15%">客户签字:</div> |
| | |
| | | |
| | | |
| | | <style scoped> |
| | | @media print { |
| | | |
| | | .pages { |
| | | page-break-after: always; |
| | | } |
| | | } |
| | | h1,h3{ |
| | | left:0; |
| | | right:0; |