|
|
@@ -26,6 +26,37 @@
|
|
|
>嘉实(湖南)医药科技有限公司产品出库单</div
|
|
|
>
|
|
|
</div>
|
|
|
+ <div
|
|
|
+ style="
|
|
|
+ width: 100%;
|
|
|
+ font-size: 12px;
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ margin-bottom: 10px;
|
|
|
+ margin-top: 10px;
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <span style="width: 39%">制单日期:{{ formData.createTime }}</span>
|
|
|
+ <span style="width: 39%">发货日期:{{ outBound.createTime }}</span>
|
|
|
+ <span style="width: 22%">出库单号:{{ outBound.bizNo }}</span>
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ style="
|
|
|
+ width: 100%;
|
|
|
+ font-size: 12px;
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ margin-bottom: 10px;
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <span style="width: 39%"
|
|
|
+ >上市许可持有人:嘉实(湖南)医药科技有限公司</span
|
|
|
+ >
|
|
|
+ <span style="width: 39%"
|
|
|
+ >地址:长沙高新开发区汇智中路179号金导园C区8栋</span
|
|
|
+ >
|
|
|
+ <span style="width: 22%">电话:0731-84221288</span>
|
|
|
+ </div>
|
|
|
<div
|
|
|
style="
|
|
|
width: 100%;
|
|
|
@@ -35,9 +66,11 @@
|
|
|
margin-bottom: 10px;
|
|
|
"
|
|
|
>
|
|
|
- <span style="width:39%">制单日期:{{ formData.receiveAddress }}</span>
|
|
|
- <span style="width:39%">发货日期:{{ formData.docNo }}</span>
|
|
|
- <span style="width:22%">出库单号:{{ formData.docNo }}</span>
|
|
|
+ <span style="width: 39%"
|
|
|
+ >受托生产企业:湖南天济草堂制药股份有限公司</span
|
|
|
+ >
|
|
|
+ <span style="width: 39%">地址:长沙高新开发区环联路7号</span>
|
|
|
+ <span style="width: 22%"></span>
|
|
|
</div>
|
|
|
<div
|
|
|
style="
|
|
|
@@ -48,8 +81,9 @@
|
|
|
margin-bottom: 10px;
|
|
|
"
|
|
|
>
|
|
|
- <span style="width: 70%">客户地址:{{ formData.receiveAddress }}</span>
|
|
|
- <span style="width: 30%">NO.:{{ formData.docNo }}</span>
|
|
|
+ <span style="width: 39%">购货单位:{{ formData.contactName }}</span>
|
|
|
+ <span style="width: 39%">收货地址:{{ formData.receiveAddress }}</span>
|
|
|
+ <span style="width: 22%"></span>
|
|
|
</div>
|
|
|
<table
|
|
|
cellspacing="0"
|
|
|
@@ -64,35 +98,48 @@
|
|
|
>
|
|
|
<tbody>
|
|
|
<tr align="center">
|
|
|
- <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>
|
|
|
+ <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>
|
|
|
+ <td style="padding: 5px"> 金额(元)</td>
|
|
|
+ <td style="padding: 5px"> 有效期</td>
|
|
|
<td style="padding: 5px"> 备注</td>
|
|
|
</tr>
|
|
|
|
|
|
- <tr align="center" v-for="(item, index) in formData.productList">
|
|
|
- <td style="padding: 5px"> {{ index + 1 }} </td>
|
|
|
- <td style="padding: 5px"> {{ item.productName }} </td>
|
|
|
+ <tr
|
|
|
+ align="center"
|
|
|
+ v-for="(item, index) in outBound.outInDetailRecordRequestList"
|
|
|
+ >
|
|
|
+ <td style="padding: 5px"> {{ item.categoryName }} </td>
|
|
|
<td style="padding: 5px">
|
|
|
- {{ item.packingSpecification }}/{{ item.modelType }}
|
|
|
+ {{ item.specification }}
|
|
|
</td>
|
|
|
- <td style="padding: 5px"> 嘉实(湖南)医院科技有限公司</td>
|
|
|
- <td style="padding: 5px"> {{ item.totalCount }}</td>
|
|
|
- <td style="padding: 5px"> {{ item.measuringUnit }}</td>
|
|
|
+ <td style="padding: 5px"> {{ item.packingSpecification }}</td>
|
|
|
+ <td style="padding: 5px"> {{ item.categoryModel }}</td>
|
|
|
+ <td style="padding: 5px"> {{ item.approvalNumber }}</td>
|
|
|
<td style="padding: 5px"> {{ item.batchNo }}</td>
|
|
|
- <td style="padding: 5px"> 序列号</td>
|
|
|
- <td style="padding: 5px"> {{ item.productCode }}</td>
|
|
|
+ <td style="padding: 5px"> {{ item.measureUnit }}</td>
|
|
|
+ <td style="padding: 5px"> {{ item.measureQuantity }}</td>
|
|
|
+
|
|
|
+ <td style="padding: 5px"> {{ item.singlePrice }}</td>
|
|
|
+ <td style="padding: 5px">{{ item.totalPrice }} </td>
|
|
|
+ <td style="padding: 5px"> {{ item.guaranteePeriodText }}</td>
|
|
|
+ <td style="padding: 5px"> </td>
|
|
|
</tr>
|
|
|
- <tr>
|
|
|
- <td style="padding: 5px" colspan="9">
|
|
|
- 备注: 白色仓库联
|
|
|
- 红色客户联 黄色财务联</td
|
|
|
- >
|
|
|
+
|
|
|
+ <tr align="center">
|
|
|
+ <td style="padding: 5px" colspan="7"> 合计 </td>
|
|
|
+ <td style="padding: 5px"> {{ getTotal('measureQuantity') }}</td>
|
|
|
+ <td style="padding: 5px"> {{ getTotal('singlePrice') }}</td>
|
|
|
+ <td style="padding: 5px"> {{ getTotal('totalPrice') }} </td>
|
|
|
+ <td style="padding: 5px"></td>
|
|
|
+ <td style="padding: 5px"> </td>
|
|
|
</tr>
|
|
|
</tbody>
|
|
|
</table>
|
|
|
@@ -105,17 +152,25 @@
|
|
|
margin-top: 10px;
|
|
|
"
|
|
|
>
|
|
|
- <div style="flex: 1">
|
|
|
- <div>编单人/日期:{{ formData.makerName }}</div>
|
|
|
- <div>{{ formData.createTime }}</div>
|
|
|
- </div>
|
|
|
- <div style="flex: 1">
|
|
|
- <div>审核人/日期:</div>
|
|
|
- <div>12</div>
|
|
|
- </div>
|
|
|
- <div style="flex: 1">
|
|
|
- 收货人:{{ formData.linkName }} {{ formData.linkPhone }}
|
|
|
- </div>
|
|
|
+ <div style="flex: 1"> 开票员: </div>
|
|
|
+ <div style="flex: 1"> 保管员: </div>
|
|
|
+ <div style="flex: 1"> 复核: </div>
|
|
|
+ <div style="flex: 1"> 发货员: </div>
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ style="
|
|
|
+ width: 100%;
|
|
|
+ font-size: 12px;
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ margin-top: 10px;
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <div style="flex: 1"> </div>
|
|
|
+ <div style="flex: 1"> 白联:开票留存 </div>
|
|
|
+ <div style="flex: 1"> 红联:仓库留存 </div>
|
|
|
+ <div style="flex: 1"> 蓝联:财务留存 </div>
|
|
|
+ <div style="flex: 1"> 绿联/黄联:随货同行 </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
@@ -128,7 +183,7 @@
|
|
|
|
|
|
<script>
|
|
|
import { getSendSaleOrderrecordDetailSplit } from '@/api/saleManage/saleordersendrecord';
|
|
|
-
|
|
|
+ import { getInfoBySourceBizNoAll } from '@/api/wms';
|
|
|
import { mapGetters } from 'vuex';
|
|
|
export default {
|
|
|
name: 'print',
|
|
|
@@ -141,16 +196,49 @@
|
|
|
checked: '',
|
|
|
QRvisible: false,
|
|
|
isPrintPrice: false,
|
|
|
- formData: {}
|
|
|
+ formData: {},
|
|
|
+ outBound: {}
|
|
|
};
|
|
|
},
|
|
|
|
|
|
methods: {
|
|
|
- open(id) {
|
|
|
- getSendSaleOrderrecordDetailSplit(id).then((data) => {
|
|
|
- this.formData = data;
|
|
|
+ async open(id) {
|
|
|
+ this.formData = await getSendSaleOrderrecordDetailSplit(id);
|
|
|
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.outInDetailRecordRequestList.forEach((j) => {
|
|
|
+ let data=this.formData.productList.find(product=>product.productCode==val.categoryCode)
|
|
|
+ j['categoryName'] = val.categoryName;
|
|
|
+ j['categoryModel'] = val.categoryModel;
|
|
|
+ j['specification'] = val.specification;
|
|
|
+ j['categoryCode'] = val.categoryCode;
|
|
|
+ j['packingSpecification'] = val.extField?.packingSpecification;
|
|
|
+ j['approvalNumber'] = val.extField?.approvalNumber;
|
|
|
+ if(data){
|
|
|
+ j['singlePrice'] = data.singlePrice;
|
|
|
+ j['totalPrice'] = j.measureQuantity*data.singlePrice;
|
|
|
+ j['guaranteePeriodText'] = data.guaranteePeriod?(data.guaranteePeriod+(data.guaranteePeriodUnitName||'')):''
|
|
|
+ }
|
|
|
+ });
|
|
|
+ this.outBound['outInDetailRecordRequestList'].push(
|
|
|
+ ...val.outInDetailRecordRequestList
|
|
|
+ );
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
+ getTotal(key) {
|
|
|
+ let val=0
|
|
|
+ this.outBound?.outInDetailRecordRequestList.forEach(item=>{
|
|
|
+ if(Number(item[key])){
|
|
|
+ val+=Number(item[key])
|
|
|
+ }
|
|
|
+ })
|
|
|
+ return val;
|
|
|
},
|
|
|
close() {
|
|
|
this.QRvisible = false;
|