|
@@ -1,6 +1,6 @@
|
|
|
<template>
|
|
<template>
|
|
|
<ele-modal
|
|
<ele-modal
|
|
|
- title="出库单"
|
|
|
|
|
|
|
+ title="送货单"
|
|
|
:visible.sync="QRvisible"
|
|
:visible.sync="QRvisible"
|
|
|
v-if="QRvisible"
|
|
v-if="QRvisible"
|
|
|
width="90%"
|
|
width="90%"
|
|
@@ -18,10 +18,10 @@
|
|
|
style="
|
|
style="
|
|
|
position: relative;
|
|
position: relative;
|
|
|
width: 100%;
|
|
width: 100%;
|
|
|
- height: 100px;
|
|
|
|
|
display: flex;
|
|
display: flex;
|
|
|
flex-direction: column;
|
|
flex-direction: column;
|
|
|
align-items: center;
|
|
align-items: center;
|
|
|
|
|
+ margin-bottom: 20px;
|
|
|
"
|
|
"
|
|
|
>
|
|
>
|
|
|
<!-- <img
|
|
<!-- <img
|
|
@@ -32,22 +32,13 @@
|
|
|
/> -->
|
|
/> -->
|
|
|
<div
|
|
<div
|
|
|
style="
|
|
style="
|
|
|
- font-size: 20px;
|
|
|
|
|
|
|
+ font-size: 18px;
|
|
|
font-weight: 800;
|
|
font-weight: 800;
|
|
|
text-align: center;
|
|
text-align: center;
|
|
|
width: 100%;
|
|
width: 100%;
|
|
|
"
|
|
"
|
|
|
>{{ groupName || '长沙宝盛汽车配件有限公司' }}送货单</div
|
|
>{{ groupName || '长沙宝盛汽车配件有限公司' }}送货单</div
|
|
|
>
|
|
>
|
|
|
- <!-- <div
|
|
|
|
|
- style="
|
|
|
|
|
- font-size: 18px;
|
|
|
|
|
- font-weight: 800;
|
|
|
|
|
- text-align: center;
|
|
|
|
|
- width: 100%;
|
|
|
|
|
- "
|
|
|
|
|
- >送货单</div
|
|
|
|
|
- > -->
|
|
|
|
|
</div>
|
|
</div>
|
|
|
<div
|
|
<div
|
|
|
style="
|
|
style="
|
|
@@ -58,9 +49,9 @@
|
|
|
margin-bottom: 10px;
|
|
margin-bottom: 10px;
|
|
|
"
|
|
"
|
|
|
>
|
|
>
|
|
|
- <span style="width: 40%">客户名称:{{ formData.contactName }}</span>
|
|
|
|
|
|
|
+ <span style="width: 40%">客户名称:</span>
|
|
|
<span style="width: 40%"
|
|
<span style="width: 40%"
|
|
|
- >发货单号:{{ formData.printNo || formData.docNo }}</span
|
|
|
|
|
|
|
+ >发货单号:{{ infoData.allotCode }}</span
|
|
|
>
|
|
>
|
|
|
</div>
|
|
</div>
|
|
|
<div
|
|
<div
|
|
@@ -72,13 +63,10 @@
|
|
|
margin-bottom: 10px;
|
|
margin-bottom: 10px;
|
|
|
"
|
|
"
|
|
|
>
|
|
>
|
|
|
- <span style="width: 40%">发货日期:{{ formData.createTime }}</span>
|
|
|
|
|
|
|
+ <span style="width: 40%">发货日期:{{ infoData.createTime }}</span>
|
|
|
<span style="width: 40%"
|
|
<span style="width: 40%"
|
|
|
- >收货联系人:{{ formData.linkName }}
|
|
|
|
|
-
|
|
|
|
|
- <!-- 联系电话:{{ formData.linkPhone }} -->
|
|
|
|
|
|
|
+ >收货联系人:
|
|
|
</span>
|
|
</span>
|
|
|
- <!-- <span> 车牌号:{{ formData.carNo }} </span> -->
|
|
|
|
|
</div>
|
|
</div>
|
|
|
<table
|
|
<table
|
|
|
cellspacing="0"
|
|
cellspacing="0"
|
|
@@ -96,7 +84,8 @@
|
|
|
<td style="padding: 5px; width: 35px"> 序号 </td>
|
|
<td style="padding: 5px; width: 35px"> 序号 </td>
|
|
|
<td style="padding: 5px;"> 车型 </td>
|
|
<td style="padding: 5px;"> 车型 </td>
|
|
|
<td style="padding: 5px;"> 料号 </td>
|
|
<td style="padding: 5px;"> 料号 </td>
|
|
|
- <td style="padding: 5px; width: 50px"> 单位</td>
|
|
|
|
|
|
|
+ <td style="padding: 5px;"> 零件名 </td>
|
|
|
|
|
+ <td style="padding: 5px;"> 单位</td>
|
|
|
<td style="padding: 5px"> 交货数</td>
|
|
<td style="padding: 5px"> 交货数</td>
|
|
|
<td style="padding: 5px"> 实收数量</td>
|
|
<td style="padding: 5px"> 实收数量</td>
|
|
|
<td style="padding: 5px"> 客户订单号</td>
|
|
<td style="padding: 5px"> 客户订单号</td>
|
|
@@ -105,20 +94,37 @@
|
|
|
<td style="padding: 5px"> 备注</td>
|
|
<td style="padding: 5px"> 备注</td>
|
|
|
</tr>
|
|
</tr>
|
|
|
|
|
|
|
|
- <tr align="center" v-for="(item, index) in formData.productList">
|
|
|
|
|
|
|
+ <tr align="center" v-for="(item, index) in detailList">
|
|
|
<td style="padding: 5px"> {{ index + 1 }} </td>
|
|
<td style="padding: 5px"> {{ index + 1 }} </td>
|
|
|
- <td style="padding: 5px"> </td>
|
|
|
|
|
- <td style="padding: 5px"> {{ item.productName }} </td>
|
|
|
|
|
|
|
+ <td style="padding: 5px"> </td>
|
|
|
|
|
+ <td style="padding: 5px"> {{ item.categoryCode }} </td>
|
|
|
<td style="padding: 5px">
|
|
<td style="padding: 5px">
|
|
|
- {{ item.productCode }}
|
|
|
|
|
|
|
+ {{ item.categoryName }}
|
|
|
|
|
+ </td>
|
|
|
|
|
+ <td style="padding: 5px"> {{ item.measureUnit }} </td>
|
|
|
|
|
+ <td style="padding: 5px"> {{ item.quantity }}</td>
|
|
|
|
|
+ <td style="padding: 5px"> {{ item.quantity }}</td>
|
|
|
|
|
+ <td style="padding: 5px"> {{ item.saleOrderNo }}</td>
|
|
|
|
|
+ <td style="padding: 5px"> {{ item.weight }}</td>
|
|
|
|
|
+ <td style="padding: 5px">{{ item.produceRoutingName }} </td>
|
|
|
|
|
+ <td style="padding: 5px"> {{ item.remark }} </td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr style="height: 40px;">
|
|
|
|
|
+ <td style="border: 1px solid #000; padding: 8px; text-align: center;"></td>
|
|
|
|
|
+ <td colspan="2" style="border: 1px solid #000; padding: 8px; text-align: center;">合计</td>
|
|
|
|
|
+ <!-- <td style="border: 1px solid #000; padding: 8px; text-align: center;"></td> -->
|
|
|
|
|
+ <td style="border: 1px solid #000; padding: 8px; text-align: center;"></td>
|
|
|
|
|
+ <td style="border: 1px solid #000; padding: 8px; text-align: center;"></td>
|
|
|
|
|
+ <td style="border: 1px solid #000; padding: 8px; text-align: center;">{{ detailList.reduce((total, item) => total + Number(item.quantity || 0), 0) || ''}}</td>
|
|
|
|
|
+ <td style="border: 1px solid #000; padding: 8px; text-align: center;">{{ detailList.reduce((total, item) => total + Number(item.quantity || 0), 0) || ''}}</td>
|
|
|
|
|
+ <td style="border: 1px solid #000; padding: 8px; text-align: center;" colspan="4">
|
|
|
|
|
+ <div style="display: flex; align-items: center;">
|
|
|
|
|
+ <div style="flex: 1;">铁框:</div>
|
|
|
|
|
+ <div style="flex: 1;">托盘:</div>
|
|
|
|
|
+ <div style="flex: 1;">工装:</div>
|
|
|
|
|
+ <div style="flex: 1;">胶框:</div>
|
|
|
|
|
+ </div>
|
|
|
</td>
|
|
</td>
|
|
|
- <td style="padding: 5px"> {{ item.productName }} </td>
|
|
|
|
|
- <td style="padding: 5px"> {{ item.measuringUnit }}</td>
|
|
|
|
|
- <td style="padding: 5px"> {{ item.totalCount }}</td>
|
|
|
|
|
- <td style="padding: 5px"> {{ item.totalCount }}</td>
|
|
|
|
|
- <td style="padding: 5px"> </td>
|
|
|
|
|
- <td style="padding: 5px">{{ item.orderNo }} </td>
|
|
|
|
|
- <td style="padding: 5px"> </td>
|
|
|
|
|
</tr>
|
|
</tr>
|
|
|
</tbody>
|
|
</tbody>
|
|
|
</table>
|
|
</table>
|
|
@@ -132,13 +138,13 @@
|
|
|
"
|
|
"
|
|
|
>
|
|
>
|
|
|
<div style="flex: 1">
|
|
<div style="flex: 1">
|
|
|
- <div>发货人:</div>
|
|
|
|
|
|
|
+ <div>发货人:{{ infoData.allotName }}</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div style="flex: 1">
|
|
<div style="flex: 1">
|
|
|
- <div>送货人:</div>
|
|
|
|
|
|
|
+ <div>承运人:</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div style="flex: 1"> 收货人: </div>
|
|
<div style="flex: 1"> 收货人: </div>
|
|
|
- <div style="flex: 1"> 托盘:{{ formData.trayNum }} </div>
|
|
|
|
|
|
|
+ <!-- <div style="flex: 1"> 托盘:{{ infoData.trayNum }} </div> -->
|
|
|
|
|
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
@@ -151,7 +157,7 @@
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
<script>
|
|
|
- // import { getSendSaleOrderrecordDetailSplit } from '@/api/saleManage/saleordersendrecord';
|
|
|
|
|
|
|
+ import storageApi from '@/api/warehouseManagement/index.js';
|
|
|
import { mapGetters } from 'vuex';
|
|
import { mapGetters } from 'vuex';
|
|
|
export default {
|
|
export default {
|
|
|
name: 'print',
|
|
name: 'print',
|
|
@@ -159,48 +165,55 @@
|
|
|
...mapGetters(['user'])
|
|
...mapGetters(['user'])
|
|
|
},
|
|
},
|
|
|
props: {
|
|
props: {
|
|
|
- groupName: ''
|
|
|
|
|
|
|
+ groupName: {
|
|
|
|
|
+ type: String,
|
|
|
|
|
+ default: ''
|
|
|
|
|
+ }
|
|
|
},
|
|
},
|
|
|
data() {
|
|
data() {
|
|
|
return {
|
|
return {
|
|
|
checked: '',
|
|
checked: '',
|
|
|
QRvisible: false,
|
|
QRvisible: false,
|
|
|
isPrintPrice: false,
|
|
isPrintPrice: false,
|
|
|
- formData: {},
|
|
|
|
|
- outBound: {}
|
|
|
|
|
|
|
+ infoData: {},
|
|
|
|
|
+ outBound: {},
|
|
|
|
|
+ detailList: []
|
|
|
};
|
|
};
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
methods: {
|
|
methods: {
|
|
|
- async open(id) {
|
|
|
|
|
- // this.formData = await getSendSaleOrderrecordDetailSplit(id);
|
|
|
|
|
|
|
+ async open(row) {
|
|
|
|
|
+ this.row = row;
|
|
|
|
|
+ this.getData();
|
|
|
this.QRvisible = true;
|
|
this.QRvisible = true;
|
|
|
- // let dataArray = await getInfoBySourceBizNoAll(this.formData.docNo);
|
|
|
|
|
- // this.outBound = JSON.parse(JSON.stringify(dataArray[0]));
|
|
|
|
|
- // this.outBound['outInDetailRecordRequestList'] = [];
|
|
|
|
|
-
|
|
|
|
|
- // dataArray.forEach((item) => {
|
|
|
|
|
- // item.outInDetailList.forEach((val) => {
|
|
|
|
|
- // val['orderNo'] = item.orderNo;
|
|
|
|
|
- // if (val.outInDetailRecordRequestList.length) {
|
|
|
|
|
- // val.outInDetailRecordRequestList.forEach((j) => {
|
|
|
|
|
- // j['categoryName'] = val.categoryName;
|
|
|
|
|
- // j['categoryModel'] = val.categoryModel;
|
|
|
|
|
- // j['specification'] = val.specification;
|
|
|
|
|
- // j['categoryCode'] = val.categoryCode;
|
|
|
|
|
- // j['orderNo'] = item.orderNo;
|
|
|
|
|
-
|
|
|
|
|
- // });
|
|
|
|
|
- // this.outBound['outInDetailRecordRequestList'].push(
|
|
|
|
|
- // ...val.outInDetailRecordRequestList
|
|
|
|
|
- // );
|
|
|
|
|
- // } else {
|
|
|
|
|
- // this.outBound['outInDetailRecordRequestList'].push(val);
|
|
|
|
|
- // }
|
|
|
|
|
- // });
|
|
|
|
|
- // });
|
|
|
|
|
- //包装维度
|
|
|
|
|
},
|
|
},
|
|
|
|
|
+ async getData() {
|
|
|
|
|
+ const res = await storageApi.getAllotDetailList({
|
|
|
|
|
+ applyId: this.row.id
|
|
|
|
|
+ });
|
|
|
|
|
+ const data = await storageApi.getAllotDetail(this.row.id);
|
|
|
|
|
+ this.infoData = data;
|
|
|
|
|
+ if (this.infoData.type == 1) {
|
|
|
|
|
+ // 库内调拨
|
|
|
|
|
+ /* this.infoData.auditStatus = 2; */
|
|
|
|
|
+ this.infoData.auditStatus = data.status;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // 库外调拨
|
|
|
|
|
+ this.infoData.auditStatus = data.status;
|
|
|
|
|
+ }
|
|
|
|
|
+ this.detailList = res.map((item) => {
|
|
|
|
|
+ return {
|
|
|
|
|
+ ...item,
|
|
|
|
|
+ categoryCode: this.infoData.categoryCode,
|
|
|
|
|
+ categoryName: this.infoData.categoryName,
|
|
|
|
|
+ brandNum: this.infoData.brandNum,
|
|
|
|
|
+ categoryModel: this.infoData.model,
|
|
|
|
|
+ specification: this.infoData.specification
|
|
|
|
|
+ };
|
|
|
|
|
+ });
|
|
|
|
|
+ console.log('infoData', this.infoData)
|
|
|
|
|
+ console.log('detailList', this.detailList)
|
|
|
|
|
+ },
|
|
|
close() {
|
|
close() {
|
|
|
this.QRvisible = false;
|
|
this.QRvisible = false;
|
|
|
},
|
|
},
|