|
@@ -130,7 +130,9 @@
|
|
|
<el-dialog title="打印" v-if="openPdf" v-model="openPdf" width="840px">
|
|
|
<div id="pdfDom" ref="pdfDom" style="width: 776px">
|
|
|
<div style="border: 1px solid #000; border-collapse: collapse">
|
|
|
- <div style="text-align: right; padding: 2px 4px 0 0">合同号:aa</div>
|
|
|
+ <div style="text-align: right; padding: 2px 4px 0 0">
|
|
|
+ 合同号:{{ pdfData.code }}
|
|
|
+ </div>
|
|
|
<div class="title">购销合同</div>
|
|
|
<div style="display: flex">
|
|
|
<div style="display: flex; width: 50%; padding-right: 20px">
|
|
@@ -142,17 +144,23 @@
|
|
|
</div>
|
|
|
<div style="display: flex; width: 50%; padding-left: 20px">
|
|
|
<div style="width: 60px">卖方:</div>
|
|
|
- <div style="width: calc(100% - 60px)">供应商</div>
|
|
|
+ <div style="width: calc(100% - 60px)">
|
|
|
+ {{ pdfData.supplyName }}
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div style="display: flex">
|
|
|
<div style="display: flex; width: 50%; padding-right: 20px">
|
|
|
<div style="width: 60px">经手人:</div>
|
|
|
- <div style="width: calc(100% - 60px)">翁本娟</div>
|
|
|
+ <div style="width: calc(100% - 60px)">
|
|
|
+ {{ pdfData.purchaseName }}
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div style="display: flex; width: 50%; padding-left: 20px">
|
|
|
<div style="width: 60px">经手人:</div>
|
|
|
- <div style="width: calc(100% - 60px)">供应商联系人</div>
|
|
|
+ <div style="width: calc(100% - 60px)">
|
|
|
+ {{ pdfData.contactPerson }}
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div>买卖双方经协商,一致同意签订以下合同</div>
|
|
@@ -162,30 +170,41 @@
|
|
|
<td style="width: 70px">序号</td>
|
|
|
<td>品名</td>
|
|
|
<td>规格型号</td>
|
|
|
- <td style="width: 60px">数量</td>
|
|
|
<td style="width: 60px">单位</td>
|
|
|
+ <td style="width: 60px">数量</td>
|
|
|
<td style="width: 100px">单价</td>
|
|
|
<td style="width: 100px">金额</td>
|
|
|
</tr>
|
|
|
- <tr v-for="(row, index) in 5" :key="row">
|
|
|
+ <tr
|
|
|
+ v-for="(row, index) in pdfData.purchaseDetailList"
|
|
|
+ :key="row.id"
|
|
|
+ >
|
|
|
<td style="width: 70px">{{ index + 1 }}</td>
|
|
|
- <td>品名</td>
|
|
|
- <td>规格型号</td>
|
|
|
- <td style="width: 60px">数量</td>
|
|
|
- <td style="width: 60px">单位</td>
|
|
|
- <td style="width: 100px">单价</td>
|
|
|
- <td style="width: 100px">金额</td>
|
|
|
+ <td>{{ row.productName }}</td>
|
|
|
+ <td>{{ row.productSpec }}</td>
|
|
|
+ <td style="width: 60px">{{ row.productUnitName }}</td>
|
|
|
+ <td style="width: 60px">{{ row.count }}</td>
|
|
|
+ <td style="width: 100px">
|
|
|
+ <span v-if="pdfData.currency">{{ pdfData.currency }}</span
|
|
|
+ >{{ row.price }}
|
|
|
+ </td>
|
|
|
+ <td style="width: 100px">
|
|
|
+ <span v-if="pdfData.currency">{{ pdfData.currency }}</span
|
|
|
+ >{{ row.amount }}
|
|
|
+ </td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td colspan="3" style="text-align: right">合计:</td>
|
|
|
- <td>300</td>
|
|
|
+ <td colspan="4" style="text-align: right">合计:</td>
|
|
|
+ <td>{{ pdfData.countTotal }}</td>
|
|
|
<td></td>
|
|
|
- <td></td>
|
|
|
- <td>$300</td>
|
|
|
+ <td>
|
|
|
+ <span v-if="pdfData.currency">{{ pdfData.currency }}</span
|
|
|
+ >{{ pdfData.productMoney }}
|
|
|
+ </td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<td colspan="7" style="text-align: left">
|
|
|
- 合计人民币金额(大写):
|
|
|
+ 合计人民币金额(大写):{{ pdfData.moneyChinese }}
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
@@ -194,10 +213,10 @@
|
|
|
福建省福州市鼓楼区软件大道89号福州软件园A区28号楼五层
|
|
|
</td>
|
|
|
</tr>
|
|
|
- <tr>
|
|
|
+ <!-- <tr>
|
|
|
<td>交货时间:</td>
|
|
|
<td colspan="6" style="text-align: left"></td>
|
|
|
- </tr>
|
|
|
+ </tr> -->
|
|
|
<tr>
|
|
|
<td>保修期:</td>
|
|
|
<td colspan="6" style="text-align: left">一年</td>
|
|
@@ -235,18 +254,42 @@
|
|
|
<div>
|
|
|
地址:福建省福州市鼓楼区软件大道89号福州软件园A区28号楼五层
|
|
|
</div>
|
|
|
- <div>电话:18750510253</div>
|
|
|
- <div>传真:18750510253</div>
|
|
|
+ <div>电话:</div>
|
|
|
+ <div>传真:</div>
|
|
|
+ <div style="opacity: 0">|</div>
|
|
|
<div style="margin-top: auto">代表人签字:</div>
|
|
|
</div>
|
|
|
<div style="width: 50%; padding-left: 20px">
|
|
|
<div>卖方:</div>
|
|
|
- <div>单位名称:供应商</div>
|
|
|
- <div>统一社会信用代码:供应商</div>
|
|
|
- <div>开户银行:工商银行常州市武进支行</div>
|
|
|
- <div>帐号:1105021009000038765</div>
|
|
|
- <div>地址:1105021009000038765</div>
|
|
|
- <div>电话:1105021009000038765</div>
|
|
|
+ <div>单位名称:{{ pdfData.supplyName }}</div>
|
|
|
+ <div>统一社会信用代码:</div>
|
|
|
+ <div>开户银行:{{ pdfData.openingBank }}</div>
|
|
|
+ <div>帐号:{{ pdfData.accountOpening }}</div>
|
|
|
+ <div>
|
|
|
+ 地址:<span
|
|
|
+ v-if="
|
|
|
+ pdfData.supplyAddress && pdfData.supplyAddress.countryName
|
|
|
+ "
|
|
|
+ >{{ pdfData.supplyAddress.countryName }}</span
|
|
|
+ >
|
|
|
+ <span
|
|
|
+ v-if="
|
|
|
+ pdfData.supplyAddress && pdfData.supplyAddress.provinceName
|
|
|
+ "
|
|
|
+ >,{{ pdfData.supplyAddress.provinceName }}</span
|
|
|
+ >
|
|
|
+ <span
|
|
|
+ v-if="pdfData.supplyAddress && pdfData.supplyAddress.cityName"
|
|
|
+ >,{{ pdfData.supplyAddress.cityName }}</span
|
|
|
+ >
|
|
|
+ <span
|
|
|
+ v-if="
|
|
|
+ pdfData.supplyAddress && pdfData.supplyAddress.areaDetail
|
|
|
+ "
|
|
|
+ >,{{ pdfData.supplyAddress.areaDetail }}</span
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ <div>电话:{{ pdfData.contactNumber }}</div>
|
|
|
<div>代表人签字:</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -257,7 +300,7 @@
|
|
|
border-top: 1px solid #000;
|
|
|
"
|
|
|
>
|
|
|
- 签订日期:2023-04-13
|
|
|
+ 签订日期:{{ pdfData.approvedDate }}
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -278,6 +321,7 @@
|
|
|
import { ElMessage, ElMessageBox } from "element-plus";
|
|
|
import byTable from "@/components/byTable/index";
|
|
|
import byForm from "@/components/byForm/index";
|
|
|
+import { numberChinese } from "@/utils/util.js";
|
|
|
|
|
|
const loading = ref(false);
|
|
|
const submitLoading = ref(false);
|
|
@@ -645,12 +689,16 @@ const handleArrival = (row) => {
|
|
|
purchaseId: row.id,
|
|
|
code: res.code,
|
|
|
supplyId: res.supplyId,
|
|
|
- arrivalDetailList: res.purchaseDetailList.map((x) => ({
|
|
|
- ...x,
|
|
|
- purchaseDetailId: x.id,
|
|
|
- purchaseCount: x.count,
|
|
|
- count: Number(x.count) - Number(x.sumArrivalCount),
|
|
|
- })),
|
|
|
+ arrivalDetailList: res.purchaseDetailList.map((x) => {
|
|
|
+ let obj = {
|
|
|
+ ...x,
|
|
|
+ purchaseDetailId: x.id,
|
|
|
+ purchaseCount: x.count,
|
|
|
+ count: Number(x.count) - Number(x.sumArrivalCount),
|
|
|
+ };
|
|
|
+ delete obj.status;
|
|
|
+ return obj;
|
|
|
+ }),
|
|
|
arrivalStatus: "",
|
|
|
};
|
|
|
dialogVisible.value = true;
|
|
@@ -681,11 +729,45 @@ const handleClickCode = (row) => {
|
|
|
},
|
|
|
});
|
|
|
};
|
|
|
+
|
|
|
const openPdf = ref(false);
|
|
|
-let rowData = ref({});
|
|
|
+let pdfData = ref({});
|
|
|
const handlePrintPdf = (row) => {
|
|
|
- rowData.value = row;
|
|
|
- openPdf.value = true;
|
|
|
+ proxy.post("/purchase/detail", { id: row.id }).then((res) => {
|
|
|
+ proxy
|
|
|
+ .post("/supplierInfo/detail", { id: res.supplyId })
|
|
|
+ .then((supplyData) => {
|
|
|
+ res.contactPerson = supplyData.contactPerson;
|
|
|
+ res.contactNumber = supplyData.contactNumber;
|
|
|
+ res.openingBank = supplyData.openingBank;
|
|
|
+ res.accountOpening = supplyData.accountOpening;
|
|
|
+ let countTotal = 0;
|
|
|
+ let productMoney = 0;
|
|
|
+ for (let i = 0; i < res.purchaseDetailList.length; i++) {
|
|
|
+ const e = res.purchaseDetailList[i];
|
|
|
+ e.productUnitName = proxy.dictValueLabel(
|
|
|
+ e.productUnit,
|
|
|
+ productUnit.value
|
|
|
+ );
|
|
|
+ countTotal += Number(e.count);
|
|
|
+ productMoney += Number(e.amount);
|
|
|
+ }
|
|
|
+ res.countTotal = countTotal;
|
|
|
+ res.productMoney = productMoney;
|
|
|
+ res.moneyChinese = numberChinese(res.productMoney);
|
|
|
+ res.supplyAddress = {
|
|
|
+ countryName: supplyData.countryName,
|
|
|
+ provinceName: supplyData.provinceName,
|
|
|
+ cityName: supplyData.cityName,
|
|
|
+ areaDetail: supplyData.areaDetail,
|
|
|
+ };
|
|
|
+ if (res.approvedDate) {
|
|
|
+ res.approvedDate = res.approvedDate.slice(0, 10);
|
|
|
+ }
|
|
|
+ pdfData.value = res;
|
|
|
+ openPdf.value = true;
|
|
|
+ });
|
|
|
+ });
|
|
|
};
|
|
|
const clickDownload = () => {
|
|
|
proxy.getPdf("请款PDF文件");
|