From 306660c86f86cc92a725db3cc1c2f324cf6eaf96 Mon Sep 17 00:00:00 2001
From: buhuazhen <hua100783@gmail.com>
Date: 星期五, 29 五月 2026 13:54:11 +0800
Subject: [PATCH] fix:所有采购合同号改为采购单号。销售合同号改为销售单号。
---
src/views/procurementManagement/paymentHistory/index.vue | 6
src/views/safeProduction/safeWorkApproval/components/infoFormDia.vue | 4
src/views/procurementManagement/procurementInvoiceLedger/index.vue | 34 +-
src/views/procurementManagement/invoiceEntry/index.vue | 6
src/views/collaborativeApproval/approvalProcess/index.vue | 22
src/views/procurementManagement/paymentEntry/index.vue | 8
src/views/salesManagement/salesLedger/index.vue | 198 ++++++++--------
src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue | 14
src/views/salesManagement/invoiceLedger/index.vue | 8
src/views/collaborativeApproval/purchaseApproval/index.vue | 44 +-
src/views/collaborativeApproval/shipmentReview/index.vue | 6
src/views/procurementManagement/invoiceEntry/components/Modal.vue | 108 ++++----
src/api/procurementManagement/invoiceEntry.js | 6
src/views/qualityManagement/afterSalesTraceability/index.vue | 8
src/views/salesManagement/receiptPayment/index.vue | 4
src/views/reportAnalysis/projectProfit/index.vue | 2
src/views/financialManagement/receivable/receipt.vue | 2
src/views/safeProduction/safeWorkApproval/components/approvalDia.vue | 10
src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue | 16
src/views/financialManagement/receivable/invoiceApply.vue | 2
src/views/salesManagement/invoiceRegistration/index.vue | 76 +++---
src/api/procurementManagement/paymentEntry.js | 4
src/views/procurementManagement/paymentLedger/index.vue | 2
src/views/procurementManagement/procurementLedger/index.vue | 62 ++--
src/api/salesManagement/salesLedger.js | 4
src/views/productionManagement/productionReporting/index.vue | 4
src/views/productionManagement/productionOrder/index.vue | 2
src/views/procurementManagement/procurementInvoiceLedger/Modal/EditModal.vue | 22
src/views/procurementManagement/purchaseReturnOrder/New.vue | 8
src/views/procurementManagement/transferManagement/index.vue | 6
src/views/salesManagement/receiptPaymentHistory/index.vue | 2
31 files changed, 350 insertions(+), 350 deletions(-)
diff --git a/src/api/procurementManagement/invoiceEntry.js b/src/api/procurementManagement/invoiceEntry.js
index 8325aa7..0f77f90 100644
--- a/src/api/procurementManagement/invoiceEntry.js
+++ b/src/api/procurementManagement/invoiceEntry.js
@@ -1,7 +1,7 @@
// 閲囪喘-鏉ョエ鐧昏鎺ュ彛
import request from "@/utils/request";
-// 鏌ヨ閲囪喘鍚堝悓鍙�
+// 鏌ヨ閲囪喘鍗曞彿
export function getProduct(query) {
return request({
url: "/purchase/ledger/getProduct",
@@ -10,7 +10,7 @@
});
}
-// 鏌ヨid閲囪喘鍚堝悓鍙�
+// 鏌ヨid閲囪喘鍗曞彿
export function getPurchaseNoById(query) {
return request({
url: "/purchase/ledger/getPurchaseNoById",
@@ -18,7 +18,7 @@
params: query,
});
}
-// 鏍规嵁閲囪喘鍚堝悓鍙锋煡璇㈣缁嗕俊鎭�
+// 鏍规嵁閲囪喘鍗曞彿鏌ヨ璇︾粏淇℃伅
export function getInfo(query) {
return request({
url: "/purchase/ledger/getInfo",
diff --git a/src/api/procurementManagement/paymentEntry.js b/src/api/procurementManagement/paymentEntry.js
index 6ef0eb9..ea1cf03 100644
--- a/src/api/procurementManagement/paymentEntry.js
+++ b/src/api/procurementManagement/paymentEntry.js
@@ -16,14 +16,14 @@
method: "get",
});
}
-// 鏍规嵁閲囪喘鍚堝悓鍙锋煡璇㈣鎯�
+// 鏍规嵁閲囪喘鍗曞彿鏌ヨ璇︽儏
export function byPurchaseId(query) {
return request({
url: "/purchase/paymentRegistration/byPurchaseId/" + query,
method: "get",
});
}
-// 鏌ヨ閲囪喘鍚堝悓鍙�
+// 鏌ヨ閲囪喘鍗曞彿
export function getPurchaseNo() {
return request({
url: "/purchase/ledger/getPurchaseNo",
diff --git a/src/api/salesManagement/salesLedger.js b/src/api/salesManagement/salesLedger.js
index 6548927..c3fd672 100644
--- a/src/api/salesManagement/salesLedger.js
+++ b/src/api/salesManagement/salesLedger.js
@@ -101,7 +101,7 @@
});
}
-// 鏍规嵁閿�鍞悎鍚屽彿鏌ヤ骇鍝佷俊鎭�
+// 鏍规嵁閿�鍞崟鍙锋煡浜у搧淇℃伅
export function getProductInfoByContractNo(query) {
return request({
url: "/purchase/ledger/getProductBySalesNo",
@@ -116,4 +116,4 @@
method: "get",
params: query,
});
-}
\ No newline at end of file
+}
diff --git a/src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue b/src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue
index 20a4ee6..a0b93b5 100644
--- a/src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue
+++ b/src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue
@@ -34,7 +34,7 @@
</el-row>
<el-row v-if="!isQuotationApproval && !isPurchaseApproval">
<el-col :span="24">
- <el-form-item :label="props.approveType == 5 ? '閲囪喘鍚堝悓鍙凤細' : '瀹℃壒浜嬬敱锛�'" prop="approveReason">
+ <el-form-item :label="props.approveType == 5 ? '閲囪喘鍗曞彿锛�' : '瀹℃壒浜嬬敱锛�'" prop="approveReason">
<el-input v-model="form.approveReason" placeholder="璇疯緭鍏�" clearable type="textarea" disabled/>
</el-form-item>
</el-col>
@@ -134,10 +134,10 @@
<el-empty v-if="!currentPurchase || !currentPurchase.purchaseContractNumber" description="鏈煡璇㈠埌瀵瑰簲閲囪喘璇︽儏" />
<template v-else>
<el-descriptions :column="2" border>
- <el-descriptions-item label="閲囪喘鍚堝悓鍙�">{{ currentPurchase.purchaseContractNumber }}</el-descriptions-item>
+ <el-descriptions-item label="閲囪喘鍗曞彿">{{ currentPurchase.purchaseContractNumber }}</el-descriptions-item>
<el-descriptions-item label="渚涘簲鍟嗗悕绉�">{{ currentPurchase.supplierName }}</el-descriptions-item>
<el-descriptions-item label="椤圭洰鍚嶇О">{{ currentPurchase.projectName }}</el-descriptions-item>
- <el-descriptions-item label="閿�鍞悎鍚屽彿">{{ currentPurchase.salesContractNo }}</el-descriptions-item>
+ <el-descriptions-item label="閿�鍞崟鍙�">{{ currentPurchase.salesContractNo }}</el-descriptions-item>
<el-descriptions-item label="绛捐鏃ユ湡">{{ currentPurchase.executionDate }}</el-descriptions-item>
<el-descriptions-item label="褰曞叆鏃ユ湡">{{ currentPurchase.entryDate }}</el-descriptions-item>
<el-descriptions-item label="浠樻鏂瑰紡">{{ currentPurchase.paymentMethod }}</el-descriptions-item>
@@ -309,8 +309,8 @@
getProductOptions().then(() => {
// 纭繚鍊肩被鍨嬪尮閰嶏紙濡傛灉閫夐」宸插姞杞斤級
if (productOptions.value.length > 0 && form.value.approveDeptId) {
- const matchedOption = productOptions.value.find(opt =>
- opt.deptId == form.value.approveDeptId ||
+ const matchedOption = productOptions.value.find(opt =>
+ opt.deptId == form.value.approveDeptId ||
String(opt.deptId) === String(form.value.approveDeptId)
);
if (matchedOption) {
@@ -339,7 +339,7 @@
}
}
- // 閲囪喘瀹℃壒锛氱敤瀹℃壒浜嬬敱瀛楁鎵胯浇鐨�"閲囪喘鍚堝悓鍙�"鍘绘煡閲囪喘璇︽儏
+ // 閲囪喘瀹℃壒锛氱敤瀹℃壒浜嬬敱瀛楁鎵胯浇鐨�"閲囪喘鍗曞彿"鍘绘煡閲囪喘璇︽儏
if (isPurchaseApproval.value) {
const purchaseContractNumber = row?.approveReason;
if (purchaseContractNumber) {
@@ -445,4 +445,4 @@
width: 200px;
height: 60px;
}
-</style>
\ No newline at end of file
+</style>
diff --git a/src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue b/src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue
index 998fa33..5fa775e 100644
--- a/src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue
+++ b/src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue
@@ -35,7 +35,7 @@
</el-row>
<el-row>
<el-col :span="24">
- <el-form-item :label="props.approveType == 5 ? '閲囪喘鍚堝悓鍙凤細' : '瀹℃壒浜嬬敱锛�'" prop="approveReason">
+ <el-form-item :label="props.approveType == 5 ? '閲囪喘鍗曞彿锛�' : '瀹℃壒浜嬬敱锛�'" prop="approveReason">
<el-input v-model="form.approveReason" placeholder="璇疯緭鍏�" clearable type="textarea" />
</el-form-item>
</el-col>
@@ -304,10 +304,10 @@
]
form.value.approveUser = userStore.id;
form.value.approveTime = getCurrentDate();
-
+
// 鑾峰彇褰撳墠鐢ㄦ埛淇℃伅骞惰缃儴闂↖D
form.value.approveDeptId = userStore.currentDeptId
-
+
// 鍔犺浇閮ㄩ棬閫夐」锛屽苟鍦ㄥ姞杞藉畬鎴愬悗璁剧疆閮ㄩ棬鍚嶇О
getProductOptions();
if (operationType.value === 'edit') {
@@ -320,7 +320,7 @@
if (res.data && res.data.approveUserIds) {
const userIds = res.data.approveUserIds.split(',')
approverNodes.value = userIds.map((userId, idx) => ({
- id: idx + 1,
+ id: idx + 1,
userId: parseInt(userId.trim())
}))
nextApproverId = userIds.length + 1
@@ -336,8 +336,8 @@
productOptions.value = res.data;
// 濡傛灉宸叉湁閮ㄩ棬ID锛岃嚜鍔ㄨ缃儴闂ㄥ悕绉帮紙鐢ㄤ簬楠岃瘉锛�
if (form.value.approveDeptId && productOptions.value.length > 0) {
- const matchedDept = productOptions.value.find(dept =>
- dept.deptId == form.value.approveDeptId ||
+ const matchedDept = productOptions.value.find(dept =>
+ dept.deptId == form.value.approveDeptId ||
String(dept.deptId) === String(form.value.approveDeptId)
);
if (matchedDept) {
@@ -356,7 +356,7 @@
if (children && children.length > 0) {
newItem.children = convertIdToValue(children);
}
-
+
return newItem;
});
}
@@ -473,4 +473,4 @@
<style scoped>
-</style>
\ No newline at end of file
+</style>
diff --git a/src/views/collaborativeApproval/approvalProcess/index.vue b/src/views/collaborativeApproval/approvalProcess/index.vue
index 33bde47..13523a0 100644
--- a/src/views/collaborativeApproval/approvalProcess/index.vue
+++ b/src/views/collaborativeApproval/approvalProcess/index.vue
@@ -10,7 +10,7 @@
<el-tab-pane label="鎶ヤ环瀹℃壒" name="6"></el-tab-pane>
<el-tab-pane label="鍙戣揣瀹℃壒" name="7"></el-tab-pane>
</el-tabs>
-
+
<div class="search_form">
<div>
<span class="search_title">娴佺▼缂栧彿锛�</span>
@@ -114,7 +114,7 @@
const isReimburseType = currentApproveType.value === 4; // 鎶ラ攢绠$悊
const isQuotationType = currentApproveType.value === 6; // 鎶ヤ环瀹℃壒
const isPurchaseType = currentApproveType.value === 5; // 閲囪喘瀹℃壒
-
+
// 鍩虹鍒楅厤缃�
const baseColumns = [
{
@@ -160,7 +160,7 @@
width: 220
},
{
- label: isQuotationType ? "鎶ヤ环鍗曞彿" : isPurchaseType ? "閲囪喘鍚堝悓鍙�" : "瀹℃壒浜嬬敱",
+ label: isQuotationType ? "鎶ヤ环鍗曞彿" : isPurchaseType ? "閲囪喘鍗曞彿" : "瀹℃壒浜嬬敱",
prop: "approveReason",
},
{
@@ -169,7 +169,7 @@
width: 120
}
];
-
+
// 閲戦鍒楋紙浠呮姤閿�绠$悊鏄剧ず锛�
if (isReimburseType) {
baseColumns.push({
@@ -178,7 +178,7 @@
width: 120
});
}
-
+
// 鏃ユ湡鍒楋紙鏍规嵁绫诲瀷鍔ㄦ�侀厤缃級
baseColumns.push(
{
@@ -192,14 +192,14 @@
width: 120
}
);
-
+
// 褰撳墠瀹℃壒浜哄垪
baseColumns.push({
label: "褰撳墠瀹℃壒浜�",
prop: "approveUserCurrentName",
width: 120
});
-
+
// 鎿嶄綔鍒�
const actionOperations = [
{
@@ -257,7 +257,7 @@
width: 230,
operation: actionOperations,
});
-
+
return baseColumns;
});
const tableData = ref([]);
@@ -371,17 +371,17 @@
// 鏍规嵁URL鍙傛暟璁剧疆鏍囩椤靛拰鏌ヨ鏉′欢
const approveType = route.query.approveType;
const approveId = route.query.approveId;
-
+
if (approveType) {
// 璁剧疆鏍囩椤碉紙approveType 瀵瑰簲 activeTab 鐨� name锛�
activeTab.value = String(approveType);
}
-
+
if (approveId) {
// 璁剧疆娴佺▼缂栧彿鏌ヨ鏉′欢
searchForm.value.approveId = String(approveId);
}
-
+
// 鏌ヨ鍒楄〃
getList();
});
diff --git a/src/views/collaborativeApproval/purchaseApproval/index.vue b/src/views/collaborativeApproval/purchaseApproval/index.vue
index af17bbe..6dd0969 100644
--- a/src/views/collaborativeApproval/purchaseApproval/index.vue
+++ b/src/views/collaborativeApproval/purchaseApproval/index.vue
@@ -7,7 +7,7 @@
<el-input v-model="searchForm.supplierName" placeholder="璇疯緭鍏�" clearable prefix-icon="Search"
@change="handleQuery" />
</el-form-item>
- <el-form-item label="閲囪喘鍚堝悓鍙凤細">
+ <el-form-item label="閲囪喘鍗曞彿锛�">
<el-input
v-model="searchForm.purchaseContractNumber"
style="width: 240px"
@@ -17,7 +17,7 @@
:prefix-icon="Search"
/>
</el-form-item>
- <el-form-item label="閿�鍞悎鍚屽彿锛�">
+ <el-form-item label="閿�鍞崟鍙凤細">
<el-input v-model="searchForm.salesContractNo" placeholder="璇疯緭鍏�" clearable prefix-icon="Search"
@change="handleQuery" />
</el-form-item>
@@ -90,13 +90,13 @@
</el-table-column>
<el-table-column align="center" label="搴忓彿" type="index" width="60" />
<el-table-column
- label="閲囪喘鍚堝悓鍙�"
+ label="閲囪喘鍗曞彿"
prop="purchaseContractNumber"
width="200"
show-overflow-tooltip
/>
<el-table-column
- label="閿�鍞悎鍚屽彿"
+ label="閿�鍞崟鍙�"
prop="salesContractNo"
width="200"
show-overflow-tooltip
@@ -516,9 +516,9 @@
// 绉婚櫎鏂囦欢
function handleRemove(file) {
console.log("handleRemove", file.id);
- if (file.size > 1024 * 1024 * 10) {
+ if (file.size > 1024 * 1024 * 10) {
// 浠呭墠绔竻鐞嗭紝涓嶈皟鐢ㄥ垹闄ゆ帴鍙e拰鎻愮ず
- return;
+ return;
}
if (operationType.value === "edit") {
let ids = [];
@@ -703,7 +703,7 @@
};
// 瀹℃壒閫氳繃鏂规硶
const approvePurchase = (row) => {
- ElMessageBox.confirm(`纭閫氳繃閲囪喘鍚堝悓鍙蜂负 ${row.purchaseContractNumber} 鐨勫鎵癸紵`, '瀹℃壒纭', {
+ ElMessageBox.confirm(`纭閫氳繃閲囪喘鍗曞彿涓� ${row.purchaseContractNumber} 鐨勫鎵癸紵`, '瀹℃壒纭', {
confirmButtonText: '纭',
cancelButtonText: '鍙栨秷',
type: 'warning',
@@ -719,7 +719,7 @@
// 瀹℃壒鎷掔粷鏂规硶
const rejectPurchase = (row) => {
- ElMessageBox.confirm(`纭鎷掔粷閲囪喘鍚堝悓鍙蜂负 ${row.purchaseContractNumber} 鐨勫鎵癸紵`, '瀹℃壒纭', {
+ ElMessageBox.confirm(`纭鎷掔粷閲囪喘鍗曞彿涓� ${row.purchaseContractNumber} 鐨勫鎵癸紵`, '瀹℃壒纭', {
confirmButtonText: '纭',
cancelButtonText: '鍙栨秷',
type: 'warning',
@@ -813,29 +813,29 @@
if (field === 'taxInclusiveTotalPrice') {
// 宸茬煡鍚◣鎬讳环鍜屾暟閲忥紝鍙嶇畻鍚◣鍗曚环
if (productForm.value.quantity) {
- productForm.value.taxInclusiveUnitPrice =
+ productForm.value.taxInclusiveUnitPrice =
(Number(productForm.value.taxInclusiveTotalPrice) / Number(productForm.value.quantity)).toFixed(2);
}
// 宸茬煡鍚◣鎬讳环鍜屽惈绋庡崟浠凤紝鍙嶇畻鏁伴噺
else if (productForm.value.taxInclusiveUnitPrice) {
- productForm.value.quantity =
+ productForm.value.quantity =
(Number(productForm.value.taxInclusiveTotalPrice) / Number(productForm.value.taxInclusiveUnitPrice)).toFixed(2);
}
// 鍙嶇畻涓嶅惈绋庢�讳环
- productForm.value.taxExclusiveTotalPrice =
+ productForm.value.taxExclusiveTotalPrice =
(Number(productForm.value.taxInclusiveTotalPrice) / (1 + taxRate / 100)).toFixed(2);
} else if (field === 'taxExclusiveTotalPrice') {
// 鍙嶇畻鍚◣鎬讳环
- productForm.value.taxInclusiveTotalPrice =
+ productForm.value.taxInclusiveTotalPrice =
(Number(productForm.value.taxExclusiveTotalPrice) * (1 + taxRate / 100)).toFixed(2);
// 宸茬煡鏁伴噺锛屽弽绠楀惈绋庡崟浠�
if (productForm.value.quantity) {
- productForm.value.taxInclusiveUnitPrice =
+ productForm.value.taxInclusiveUnitPrice =
(Number(productForm.value.taxInclusiveTotalPrice) / Number(productForm.value.quantity)).toFixed(2);
}
// 宸茬煡鍚◣鍗曚环锛屽弽绠楁暟閲�
else if (productForm.value.taxInclusiveUnitPrice) {
- productForm.value.quantity =
+ productForm.value.quantity =
(Number(productForm.value.taxInclusiveTotalPrice) / Number(productForm.value.taxInclusiveUnitPrice)).toFixed(2);
}
}
@@ -863,11 +863,11 @@
// 鏄剧ず浜岀淮鐮�
const showQRCode = async (row) => {
try {
- // 鏋勫缓浜岀淮鐮佸唴瀹癸紝鍙寘鍚噰璐悎鍚屽彿锛堢函鏂囨湰锛�
+ // 鏋勫缓浜岀淮鐮佸唴瀹癸紝鍙寘鍚噰璐崟鍙凤紙绾枃鏈級
const qrContent = row.purchaseContractNumber || '';
// 妫�鏌ュ唴瀹规槸鍚︿负绌�
if (!qrContent || qrContent.trim() === '') {
- proxy.$modal.msgWarning("璇ヨ娌℃湁閲囪喘鍚堝悓鍙凤紝鏃犳硶鐢熸垚浜岀淮鐮�");
+ proxy.$modal.msgWarning("璇ヨ娌℃湁閲囪喘鍗曞彿锛屾棤娉曠敓鎴愪簩缁寸爜");
return;
}
qrCodeUrl.value = await QRCode.toDataURL(qrContent, {
@@ -891,10 +891,10 @@
proxy.$modal.msgWarning("浜岀淮鐮佹湭鐢熸垚");
return;
}
-
+
const a = document.createElement('a');
a.href = qrCodeUrl.value;
- a.download = `閲囪喘鍚堝悓鍙蜂簩缁寸爜_${new Date().getTime()}.png`;
+ a.download = `閲囪喘鍗曞彿浜岀淮鐮乢${new Date().getTime()}.png`;
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
@@ -914,7 +914,7 @@
scanRemark: "",
});
const scanAddRules = {
- purchaseContractNumber: [{ required: true, message: "璇疯緭鍏ラ噰璐悎鍚屽彿", trigger: "blur" }],
+ purchaseContractNumber: [{ required: true, message: "璇疯緭鍏ラ噰璐崟鍙�", trigger: "blur" }],
supplierName: [{ required: true, message: "璇疯緭鍏ヤ緵搴斿晢鍚嶇О", trigger: "blur" }],
projectName: [{ required: true, message: "璇疯緭鍏ラ」鐩悕绉�", trigger: "blur" }],
};
@@ -951,7 +951,7 @@
// 瑙f瀽鎵爜鍐呭锛堟ā鎷熻В鏋愪簩缁寸爜鏁版嵁锛�
const parseScanContent = (content) => {
if (!content) return;
-
+
// 妯℃嫙瑙f瀽浜岀淮鐮佸唴瀹癸紝杩欓噷鍙互鏍规嵁瀹為檯闇�姹傝皟鏁磋В鏋愰�昏緫
// 鍋囪鎵爜鍐呭鏍煎紡涓猴細鍚堝悓鍙穦渚涘簲鍟唡椤圭洰|閲戦|浠樻鏂瑰紡
const parts = content.split('|');
@@ -986,11 +986,11 @@
remark: scanAddForm.scanRemark,
type: 2
};
-
+
// 妯℃嫙鏂板鎴愬姛
proxy.$modal.msgSuccess("鎵爜鏂板鎴愬姛锛�");
closeScanAddDialog();
-
+
// 鍙互閫夋嫨鏄惁鍒锋柊鍒楄〃
// getList();
}
diff --git a/src/views/collaborativeApproval/shipmentReview/index.vue b/src/views/collaborativeApproval/shipmentReview/index.vue
index ac2b790..38f6ea0 100644
--- a/src/views/collaborativeApproval/shipmentReview/index.vue
+++ b/src/views/collaborativeApproval/shipmentReview/index.vue
@@ -2,11 +2,11 @@
<div class="app-container">
<div class="search_form">
<div>
- <span class="search_title">閿�鍞悎鍚屽彿锛�</span>
+ <span class="search_title">閿�鍞崟鍙凤細</span>
<el-input
v-model="searchForm.salesContractNo"
style="width: 240px"
- placeholder="璇疯緭鍏ラ攢鍞悎鍚屽彿鎼滅储"
+ placeholder="璇疯緭鍏ラ攢鍞崟鍙锋悳绱�"
@change="handleQuery"
clearable
:prefix-icon="Search"
@@ -110,7 +110,7 @@
},
},
{
- label: "閿�鍞悎鍚屽彿",
+ label: "閿�鍞崟鍙�",
prop: "salesContractNo",
width: 170
},
diff --git a/src/views/financialManagement/receivable/invoiceApply.vue b/src/views/financialManagement/receivable/invoiceApply.vue
index 31b6345..6337c61 100644
--- a/src/views/financialManagement/receivable/invoiceApply.vue
+++ b/src/views/financialManagement/receivable/invoiceApply.vue
@@ -226,7 +226,7 @@
<el-table-column prop="customerName" label="瀹㈡埛鍚嶇О" min-width="120" show-overflow-tooltip />
<el-table-column prop="productName" label="浜у搧鍚嶇О" min-width="120" show-overflow-tooltip />
<el-table-column prop="specificationModel" label="瑙勬牸鍨嬪彿" min-width="140" show-overflow-tooltip />
- <el-table-column prop="salesContractNo" label="閿�鍞悎鍚屽彿" min-width="140" show-overflow-tooltip />
+ <el-table-column prop="salesContractNo" label="閿�鍞崟鍙�" min-width="140" show-overflow-tooltip />
<el-table-column prop="shippingNo" label="鍙戣揣鍗曞彿" min-width="130" show-overflow-tooltip />
<el-table-column prop="shippingDate" label="鍙戣揣鏃ユ湡" width="110" align="center" />
<el-table-column prop="outboundAmount" label="鍑哄簱閲戦" width="110" align="right">
diff --git a/src/views/financialManagement/receivable/receipt.vue b/src/views/financialManagement/receivable/receipt.vue
index 6ddb3fe..13c0f53 100644
--- a/src/views/financialManagement/receivable/receipt.vue
+++ b/src/views/financialManagement/receivable/receipt.vue
@@ -246,7 +246,7 @@
min-width="140"
show-overflow-tooltip />
<el-table-column prop="salesContractNo"
- label="閿�鍞悎鍚屽彿"
+ label="閿�鍞崟鍙�"
min-width="140"
show-overflow-tooltip />
<el-table-column prop="shippingNo"
diff --git a/src/views/procurementManagement/invoiceEntry/components/Modal.vue b/src/views/procurementManagement/invoiceEntry/components/Modal.vue
index 33d5144..65580e0 100644
--- a/src/views/procurementManagement/invoiceEntry/components/Modal.vue
+++ b/src/views/procurementManagement/invoiceEntry/components/Modal.vue
@@ -9,12 +9,12 @@
>
<el-row :gutter="30">
<el-col :span="12">
- <el-form-item label="閲囪喘鍚堝悓鍙凤細" prop="purchaseLedgerNo">
+ <el-form-item label="閲囪喘鍗曞彿锛�" prop="purchaseLedgerNo">
<el-input v-model="form.purchaseLedgerNo" disabled placeholder="澶氬悎鍚屾壒閲忓鐞嗭紙鍏蜂綋鍚堝悓鍙疯浜у搧鍒楄〃锛�" />
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="閿�鍞悎鍚屽彿锛�" prop="salesContractNo">
+ <el-form-item label="閿�鍞崟鍙凤細" prop="salesContractNo">
<el-input
v-model="form.salesContractNo"
placeholder="鑷姩濉厖"
@@ -96,7 +96,7 @@
/>
</el-form-item>
</el-col>
-
+
</el-row>
<el-form-item label="浜у搧淇℃伅锛�"> </el-form-item>
<el-table
@@ -133,10 +133,10 @@
/>
<el-table-column label="鏈寮�绁ㄦ暟" prop="ticketsNum" width="180">
<template #default="scope">
- <el-input-number
- :step="0.1"
- :min="0"
- :max="scope.row.tempFutureTickets || 0"
+ <el-input-number
+ :step="0.1"
+ :min="0"
+ :max="scope.row.tempFutureTickets || 0"
style="width: 100%"
:precision="2"
v-model="scope.row.ticketsNum"
@@ -151,9 +151,9 @@
width="180"
>
<template #default="scope">
- <el-input-number
- :step="0.01"
- :min="0"
+ <el-input-number
+ :step="0.01"
+ :min="0"
style="width: 100%"
:precision="2"
v-model="scope.row.ticketsAmount"
@@ -215,8 +215,8 @@
const formRef = ref();
const { proxy } = getCurrentInstance();
const { form } = useFormData({
- purchaseLedgerNo: undefined, // 閲囪喘鍚堝悓鍙�
- salesContractNo: undefined, // 閿�鍞悎鍚屽彿
+ purchaseLedgerNo: undefined, // 閲囪喘鍗曞彿
+ salesContractNo: undefined, // 閿�鍞崟鍙�
supplierName: undefined, // 渚涘簲鍟嗗悕绉�
projectName: undefined, // 椤圭洰鍚嶇О
invoiceNumber: undefined, // 鍙戠エ鍙�
@@ -356,14 +356,14 @@
const isSameSupplier = selectedRows.every(row =>
row.supplierName === firstRow.supplierName
);
-
+
if (!isSameSupplier) {
proxy.$modal.msgError("璇烽�夋嫨鐩稿悓渚涘簲鍟嗗悕绉扮殑鍚堝悓");
return;
}
-
- // 鍏佽涓嶅悓鐨勯噰璐悎鍚屽彿鎵归噺澶勭悊锛屾棤闇�妫�鏌ラ噸澶�
-
+
+ // 鍏佽涓嶅悓鐨勯噰璐崟鍙锋壒閲忓鐞嗭紝鏃犻渶妫�鏌ラ噸澶�
+
// 娓呯┖琛ㄥ崟鏁版嵁
Object.keys(form).forEach(key => {
if (key !== 'productData') {
@@ -371,12 +371,12 @@
}
});
form.productData = [];
-
+
// 鍔犺浇鎵�鏈夐�変腑鍚堝悓鐨勪骇鍝佹暟鎹�
const promises = selectedRows.map(row =>
getInfo({ id: row.id })
);
-
+
Promise.all(promises).then(results => {
// 鍚堝苟鎵�鏈夊悎鍚岀殑浜у搧鏁版嵁锛屽苟涓烘瘡涓骇鍝佹坊鍔犲搴旂殑鍚堝悓淇℃伅
const allProductData = [];
@@ -388,7 +388,7 @@
allProductData.push({
...item,
purchaseLedgerId: contractId, // 娣诲姞鍚堝悓ID鐢ㄤ簬绛涢��
- purchaseLedgerNo: contract.purchaseContractNumber, // 娣诲姞閲囪喘鍚堝悓鍙�
+ purchaseLedgerNo: contract.purchaseContractNumber, // 娣诲姞閲囪喘鍗曞彿
supplierName: contract.supplierName, // 娣诲姞渚涘簲鍟嗗悕绉�
projectName: contract.projectName // 娣诲姞椤圭洰鍚嶇О
// 淇濈暀浜у搧鏈韩鐨刬d锛屼笉瑕嗙洊
@@ -396,9 +396,9 @@
});
}
});
-
- // 璁剧疆琛ㄥ崟鏁版嵁锛堜娇鐢ㄧ涓�涓悎鍚岀殑鍩烘湰淇℃伅锛岄噰璐悎鍚屽彿鐣欑┖锛�
- form.purchaseLedgerNo = ""; // 閲囪喘鍚堝悓鍙风暀绌猴紝鍥犱负浼氬湪浜у搧琛ㄦ牸涓垎鍒樉绀�
+
+ // 璁剧疆琛ㄥ崟鏁版嵁锛堜娇鐢ㄧ涓�涓悎鍚岀殑鍩烘湰淇℃伅锛岄噰璐崟鍙风暀绌猴級
+ form.purchaseLedgerNo = ""; // 閲囪喘鍗曞彿鐣欑┖锛屽洜涓轰細鍦ㄤ骇鍝佽〃鏍间腑鍒嗗埆鏄剧ず
form.invoiceNumber = "";
form.entryDate = dayjs().format("YYYY-MM-DD");
form.enterDate = dayjs().format("YYYY-MM-DD");
@@ -408,7 +408,7 @@
// 淇濈暀褰曞叆浜轰俊鎭�
form.issUerId = userStore.id;
form.issUer = userStore.nickName;
-
+
// 璁剧疆浜у搧鏁版嵁锛屽苟鍒濆鍖栧紑绁ㄦ暟閲忓拰閲戦
allProductData.forEach(item => {
// 淇濆瓨"鍘熷鏈潵绁ㄦ暟/閲戦"锛堢敤浜庢牎楠屼笌璁$畻锛�
@@ -438,15 +438,15 @@
);
}
});
-
+
form.productData = allProductData;
-
+
// 璁$畻鍙戠エ閲戦锛氭墍鏈変骇鍝佺殑鏈寮�绁ㄩ噾棰濅箣鍜岋紙鏂板榛樿 0锛�
const totalAmount = allProductData.reduce((sum, item) => {
return sum + (Number(item.ticketsAmount) || 0);
}, 0);
form.invoiceAmount = Number(totalAmount.toFixed(2));
-
+
// 瀛樺偍閫変腑鐨勫悎鍚屾暟鎹�
selectedContracts.value = selectedRows;
});
@@ -455,7 +455,7 @@
const response = await getPurchaseById({ id, type: 2 });
// 鍏煎涓嶅悓鐨勮繑鍥炴牸寮忥細鍙兘鏄� { code, data } 鎴栫洿鎺ヨ繑鍥炴暟鎹�
const data = response.data || response;
-
+
// 鍏煎涓嶅悓鐨勫瓧娈靛悕锛歱urchaseContractNumber 鎴� purchaseLedgerNo
form.purchaseLedgerNo = data.purchaseContractNumber || data.purchaseLedgerNo || "";
form.invoiceAmount = data.invoiceAmount;
@@ -465,7 +465,7 @@
form.supplierName = data.supplierName;
form.entryDate = data.entryDate;
form.enterDate = data.enterDate || dayjs().format("YYYY-MM-DD");
-
+
// 缂栬緫鏃朵篃闇�瑕佸垵濮嬪寲浜у搧鏁版嵁鐨� tempFutureTickets 鍜� tempFutureTicketsAmount
// 鍚屾椂涓烘瘡涓骇鍝佹坊鍔犲悎鍚屽彿绛変俊鎭�
const contractNumber = data.purchaseContractNumber || data.purchaseLedgerNo || "";
@@ -479,16 +479,16 @@
item.tempFutureTicketsAmount = Number(
item.futureTicketsAmount !== undefined ? item.futureTicketsAmount : (item.taxInclusiveTotalPrice || 0)
);
-
+
// 纭繚姣忎釜浜у搧閮芥湁鍚堝悓鍙凤紝鐢ㄤ簬鏄剧ず鍦�"鎵�灞炲悎鍚�"鍒�
if (!item.purchaseLedgerNo) {
item.purchaseLedgerNo = contractNumber;
}
});
}
-
+
form.productData = data.productData || [];
-
+
// 缂栬緫妯″紡涓嬶紝鏍规嵁浜у搧鏁版嵁涓殑鏈寮�绁ㄩ噾棰濊嚜鍔ㄨ绠楀彂绁ㄩ噾棰�
calculateinvoiceAmount();
}
@@ -565,15 +565,15 @@
// 鍒ゆ柇浜у搧鏄惁鍙互缁х画鏉ョエ鎿嶄綔锛氬鏋滄湭鏉ョエ鏁板拰鏈潵绁ㄩ噾棰濋兘涓�0鎴栧皬浜庣瓑浜�0锛屽垯绂佺敤
const isProductDisabled = (row) => {
// 浼樺厛浣跨敤 tempFutureTickets锛堝師濮嬫湭鏉ョエ鏁帮級锛屽鏋滄病鏈夊垯浣跨敤 futureTickets
- const futureTickets = Number(row.tempFutureTickets !== undefined
- ? row.tempFutureTickets
+ const futureTickets = Number(row.tempFutureTickets !== undefined
+ ? row.tempFutureTickets
: (row.futureTickets !== undefined ? row.futureTickets : 0));
-
+
// 浼樺厛浣跨敤 tempFutureTicketsAmount锛堝師濮嬫湭鏉ョエ閲戦锛夛紝濡傛灉娌℃湁鍒欎娇鐢� futureTicketsAmount
- const futureAmount = Number(row.tempFutureTicketsAmount !== undefined
- ? row.tempFutureTicketsAmount
+ const futureAmount = Number(row.tempFutureTicketsAmount !== undefined
+ ? row.tempFutureTicketsAmount
: (row.futureTicketsAmount !== undefined ? row.futureTicketsAmount : 0));
-
+
// 鍙湁褰撴湭鏉ョエ鏁板拰鏈潵绁ㄩ噾棰濋兘涓�0鎴栧皬浜庣瓑浜�0鏃讹紝鎵嶇鐢�
return futureTickets <= 0 && futureAmount <= 0;
};
@@ -583,7 +583,7 @@
if (!modalOptions.value || typeof modalOptions.value !== 'object') {
modalOptions.value = {};
}
-
+
// 鏍规嵁鎿嶄綔绫诲瀷鍜岄�変腑鏁版嵁璁剧疆鏍囬
if (Array.isArray(selectedRows) && selectedRows.length > 1) {
// 鎵归噺鎿嶄綔
@@ -598,15 +598,15 @@
modalOptions.value.title = "鏉ョエ鐧昏"; // 榛樿鏍囬
}
}
-
+
visible.value = true;
-
+
// 濡傛灉鏄崟涓搷浣滐紝鑾峰彇id
if (!Array.isArray(selectedRows) || selectedRows.length === 1) {
const idValue = Array.isArray(selectedRows) ? selectedRows[0].id : selectedRows;
id.value = idValue;
}
-
+
await getTableData(type, selectedRows);
};
@@ -627,7 +627,7 @@
const contractProductData = form.productData.filter(item =>
item.purchaseLedgerId === contract.id
);
-
+
// 涓烘瘡涓噰璐悎鍚屽垱寤虹嫭绔嬬殑瀵硅薄
return {
// 鍩虹琛ㄥ崟鏁版嵁
@@ -637,23 +637,23 @@
enterDate: form.enterDate,
issUerId: form.issUerId, // 褰曞叆浜篿d
issUer: form.issUer, // 褰曞叆浜�
-
+
// 鍚堝悓瀹為檯淇℃伅
purchaseLedgerId: contract.id, // 浣跨敤id浣滀负瀛楁鍚嶏紝鍊间负purchaseLedgerId
- purchaseContractNumber: contract.purchaseContractNumber, // 浣跨敤瀹為檯鐨勯噰璐悎鍚屽彿
- salesContractNo: contract.salesContractNo, // 浣跨敤瀹為檯鐨勯攢鍞悎鍚屽彿
+ purchaseContractNumber: contract.purchaseContractNumber, // 浣跨敤瀹為檯鐨勯噰璐崟鍙�
+ salesContractNo: contract.salesContractNo, // 浣跨敤瀹為檯鐨勯攢鍞崟鍙�
supplierName: contract.supplierName, // 浣跨敤瀹為檯鐨勪緵搴斿晢鍚嶇О
projectName: contract.projectName, // 浣跨敤瀹為檯鐨勯」鐩悕绉�
-
+
// 浜у搧鏁版嵁
productData: proxy.HaveJson(contractProductData),
-
+
// 鎵归噺鏍囪瘑
isBatch: true,
type: 4
};
});
-
+
// 鍙皟鐢ㄤ竴娆℃帴鍙o紝浼犻�掑寘鍚墍鏈夊悎鍚屾暟鎹殑鏁扮粍
modalLoading.value = true;
addOrUpdateRegistration(batchData).then((res) => {
@@ -677,22 +677,22 @@
enterDate: form.enterDate,
issUerId: form.issUerId, // 褰曞叆浜篿d
issUer: form.issUer, // 褰曞叆浜�
-
+
// 鍚堝悓瀹為檯淇℃伅
purchaseLedgerId: singleContract.id, // 浣跨敤id浣滀负瀛楁鍚嶏紝鍊间负purchaseLedgerId
- purchaseContractNumber: singleContract.purchaseContractNumber, // 浣跨敤瀹為檯鐨勯噰璐悎鍚屽彿
- salesContractNo: singleContract.salesContractNo, // 浣跨敤瀹為檯鐨勯攢鍞悎鍚屽彿
+ purchaseContractNumber: singleContract.purchaseContractNumber, // 浣跨敤瀹為檯鐨勯噰璐崟鍙�
+ salesContractNo: singleContract.salesContractNo, // 浣跨敤瀹為檯鐨勯攢鍞崟鍙�
supplierName: singleContract.supplierName, // 浣跨敤瀹為檯鐨勪緵搴斿晢鍚嶇О
projectName: singleContract.projectName, // 浣跨敤瀹為檯鐨勯」鐩悕绉�
-
+
// 浜у搧鏁版嵁
productData: proxy.HaveJson(form.productData),
-
+
// 鎵归噺鏍囪瘑
isBatch: false,
type: 4
}];
-
+
modalLoading.value = true;
addOrUpdateRegistration(singleFormArray).then((res) => {
modalLoading.value = false;
diff --git a/src/views/procurementManagement/invoiceEntry/index.vue b/src/views/procurementManagement/invoiceEntry/index.vue
index 8c435e0..044c5cc 100644
--- a/src/views/procurementManagement/invoiceEntry/index.vue
+++ b/src/views/procurementManagement/invoiceEntry/index.vue
@@ -21,10 +21,10 @@
/>
</el-form-item>
- <el-form-item label="閿�鍞悎鍚屽彿">
+ <el-form-item label="閿�鍞崟鍙�">
<el-input
v-model="filters.salesContractNo"
- placeholder="璇疯緭鍏ラ攢鍞悎鍚屽彿"
+ placeholder="璇疯緭鍏ラ攢鍞崟鍙�"
clearable
/>
</el-form-item>
@@ -127,7 +127,7 @@
width:150
},
{
- label: "閿�鍞悎鍚屽彿",
+ label: "閿�鍞崟鍙�",
prop: "salesContractNo",
width:150
},
diff --git a/src/views/procurementManagement/paymentEntry/index.vue b/src/views/procurementManagement/paymentEntry/index.vue
index 73c5a1a..4a480c7 100644
--- a/src/views/procurementManagement/paymentEntry/index.vue
+++ b/src/views/procurementManagement/paymentEntry/index.vue
@@ -140,8 +140,8 @@
size="small"
>
<el-table-column type="index" label="搴忓彿" width="50" align="center"/>
- <el-table-column label="閲囪喘鍚堝悓鍙�" prop="purchaseContractNumber" show-overflow-tooltip />
- <el-table-column label="閿�鍞悎鍚屽彿" prop="salesContractNo" show-overflow-tooltip />
+ <el-table-column label="閲囪喘鍗曞彿" prop="purchaseContractNumber" show-overflow-tooltip />
+ <el-table-column label="閿�鍞崟鍙�" prop="salesContractNo" show-overflow-tooltip />
<el-table-column label="渚涘簲鍟嗗悕绉�" prop="supplierName" show-overflow-tooltip />
<el-table-column
label="浜у搧澶х被"
@@ -246,12 +246,12 @@
slot: "expand",
},
{
- label: "閲囪喘鍚堝悓鍙�",
+ label: "閲囪喘鍗曞彿",
prop: "purchaseContractNumber",
width:160
},
{
- label: "閿�鍞悎鍚屽彿",
+ label: "閿�鍞崟鍙�",
prop: "salesContractNo",
width:160
},
diff --git a/src/views/procurementManagement/paymentHistory/index.vue b/src/views/procurementManagement/paymentHistory/index.vue
index c9e9836..b288115 100644
--- a/src/views/procurementManagement/paymentHistory/index.vue
+++ b/src/views/procurementManagement/paymentHistory/index.vue
@@ -1,11 +1,11 @@
<template>
<div class="app-container">
<el-form :model="searchForm" :inline="true">
- <el-form-item label="閲囪喘鍚堝悓鍙�">
+ <el-form-item label="閲囪喘鍗曞彿">
<el-input
v-model="searchForm.purchaseContractNumber"
style="width: 240px"
- placeholder="杈撳叆閲囪喘鍚堝悓鍙锋悳绱�"
+ placeholder="杈撳叆閲囪喘鍗曞彿鎼滅储"
@change="handleQuery"
clearable
:prefix-icon="Search"
@@ -93,7 +93,7 @@
const isShowSummarySon = ref(true);
const tableColumn = ref([
{
- label: "閲囪喘鍚堝悓鍙�",
+ label: "閲囪喘鍗曞彿",
prop: "purchaseContractNumber",
},
{
diff --git a/src/views/procurementManagement/paymentLedger/index.vue b/src/views/procurementManagement/paymentLedger/index.vue
index 294561d..497b996 100644
--- a/src/views/procurementManagement/paymentLedger/index.vue
+++ b/src/views/procurementManagement/paymentLedger/index.vue
@@ -142,7 +142,7 @@
width: 110,
},
{
- label: "閲囪喘鍚堝悓鍙�",
+ label: "閲囪喘鍗曞彿",
prop: "purchaseContractNumber",
width: 150,
},
diff --git a/src/views/procurementManagement/procurementInvoiceLedger/Modal/EditModal.vue b/src/views/procurementManagement/procurementInvoiceLedger/Modal/EditModal.vue
index 4e461dc..c3a3a7b 100644
--- a/src/views/procurementManagement/procurementInvoiceLedger/Modal/EditModal.vue
+++ b/src/views/procurementManagement/procurementInvoiceLedger/Modal/EditModal.vue
@@ -5,12 +5,12 @@
<el-form :model="form">
<el-row :gutter="20">
<el-col :span="12">
- <el-form-item label="閲囪喘鍚堝悓鍙凤細">
+ <el-form-item label="閲囪喘鍗曞彿锛�">
<el-tag size="large">{{ form.purchaseContractNumber }}</el-tag>
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="閿�鍞悎鍚屽彿锛�">
+ <el-form-item label="閿�鍞崟鍙凤細">
<el-text>{{ form.salesContractNo }}</el-text>
</el-form-item>
</el-col>
@@ -106,8 +106,8 @@
const { form, resetForm } = useFormData({
id: undefined,
- purchaseContractNumber: undefined, // 閲囪喘鍚堝悓鍙�
- salesContractNo: undefined, // 閿�鍞悎鍚屽彿
+ purchaseContractNumber: undefined, // 閲囪喘鍗曞彿
+ salesContractNo: undefined, // 閿�鍞崟鍙�
createdAt: undefined, // 鍒涘缓鏃堕棿
invoiceNumber: undefined, // 鍙戠エ鍙�
ticketsNum: undefined, // 鏉ョエ鏁�
@@ -144,7 +144,7 @@
proxy.$modal.msgWarning("鍚◣鍗曚环涓嶈兘涓洪浂鎴栨湭瀹氫箟");
return;
}
-
+
// 妫�鏌ユ潵绁ㄦ暟涓嶈兘澶т簬锛堝師濮嬪凡鏉ョエ鏁� + 鏈潵绁ㄦ暟锛�
const maxNum = maxTicketsNum.value;
if (Number(form.ticketsNum) > maxNum) {
@@ -152,10 +152,10 @@
form.ticketsNum = maxNum;
return;
}
-
+
// 璁$畻鏈鏂板鐨勬潵绁ㄦ暟锛堝綋鍓嶆潵绁ㄦ暟 - 鍘熷宸叉潵绁ㄦ暟锛�
const newTicketsNum = Number(form.ticketsNum) - Number(originalTicketsNum.value);
-
+
// 濡傛灉鏂板鐨勬潵绁ㄦ暟澶т簬鏈潵绁ㄦ暟锛屽垯闄愬埗
if (newTicketsNum > Number(temFutureTickets.value)) {
proxy.$modal.msgWarning("鏈鏂板鏉ョエ鏁颁笉寰楀ぇ浜庢湭鏉ョエ鏁�");
@@ -181,7 +181,7 @@
// 璁$畻鏈�澶у彲濉啓閲戦 = 锛堝師濮嬪凡鏉ョエ鏁� + 鏈潵绁ㄦ暟锛�* 鍚◣鍗曚环
const maxAmount = maxTicketsNum.value * Number(form.taxInclusiveUnitPrice);
-
+
if (Number(val) > maxAmount) {
proxy.$modal.msgWarning(`鏈鏉ョエ閲戦涓嶅緱澶т簬${maxAmount.toFixed(2)}鍏僠);
form.ticketsAmount = maxAmount.toFixed(2);
@@ -191,7 +191,7 @@
// 纭繚鎵�鏈夋暟鍊奸兘杞崲涓烘暟瀛楃被鍨嬭繘琛岃绠�
const ticketsNum = Number(val) / Number(form.taxInclusiveUnitPrice);
-
+
// 妫�鏌ユ潵绁ㄦ暟涓嶈兘澶т簬鏈�澶у��
if (ticketsNum > maxTicketsNum.value) {
proxy.$modal.msgWarning(`鏉ョエ鏁颁笉鑳藉ぇ浜�${maxTicketsNum.value}`);
@@ -199,9 +199,9 @@
form.ticketsAmount = maxAmount.toFixed(2);
return;
}
-
+
form.ticketsNum = Number(ticketsNum.toFixed(2));
-
+
// 璁$畻鏈潵绁ㄦ暟
const newTicketsNum = form.ticketsNum - originalTicketsNum.value;
const futureTickets = Number(temFutureTickets.value) - newTicketsNum;
diff --git a/src/views/procurementManagement/procurementInvoiceLedger/index.vue b/src/views/procurementManagement/procurementInvoiceLedger/index.vue
index d82e3e7..9d450e0 100644
--- a/src/views/procurementManagement/procurementInvoiceLedger/index.vue
+++ b/src/views/procurementManagement/procurementInvoiceLedger/index.vue
@@ -1,7 +1,7 @@
<template>
<div class="app-container">
<el-form :model="filters" :inline="true">
- <el-form-item label="閲囪喘鍚堝悓鍙�">
+ <el-form-item label="閲囪喘鍗曞彿">
<el-input
v-model="filters.purchaseContractNumber"
style="width: 240px"
@@ -83,8 +83,8 @@
</template>
</PIMTable>
</div>
- <FileListDialog
- ref="fileListRef"
+ <FileListDialog
+ ref="fileListRef"
v-model="fileListDialogVisible"
title="闄勪欢鍒楄〃"
:showUploadButton="true"
@@ -140,18 +140,18 @@
} = usePaginationApi(
productRecordPage,
{
- purchaseContractNumber: undefined, // 閲囪喘鍚堝悓鍙�
+ purchaseContractNumber: undefined, // 閲囪喘鍗曞彿
supplierName: undefined, // 渚涘簲鍟�
createdAt: [], // 鏉ョエ鏃ユ湡
},
[
{
- label: "閲囪喘鍚堝悓鍙�",
+ label: "閲囪喘鍗曞彿",
prop: "purchaseContractNumber",
width: 150,
},
{
- label: "閿�鍞悎鍚屽彿",
+ label: "閿�鍞崟鍙�",
prop: "salesContractNo",
width: 150,
},
@@ -303,7 +303,7 @@
proxy.$modal.msgWarning("缂哄皯鐧昏ID锛屾棤娉曚繚瀛橀檮浠�");
return;
}
-
+
return new Promise((resolve) => {
// 鍒涘缓涓�涓殣钘忕殑鏂囦欢杈撳叆鍏冪礌
const input = document.createElement('input');
@@ -315,14 +315,14 @@
resolve(null);
return;
}
-
+
try {
// 浣跨敤 FormData 涓婁紶鏂囦欢
const formData = new FormData();
formData.append('file', file);
formData.append('type', '4'); // type 鍙傛暟锛岀敤鎴锋湭鎸囧畾鍏蜂綋鍊硷紝鍏堜紶绌哄瓧绗︿覆
formData.append('id', currentRowId.value); // 褰撳墠琛岀殑 id
-
+
const uploadRes = await request({
url: '/file/uploadByCommon',
method: 'post',
@@ -332,10 +332,10 @@
Authorization: `Bearer ${getToken()}`
}
});
-
+
if (uploadRes.code === 200) {
proxy.$modal.msgSuccess("闄勪欢涓婁紶鎴愬姛");
-
+
// 鍒锋柊鍒楄〃鑾峰彇鏈�鏂版暟鎹�
await new Promise((resolveRefresh) => {
// 璋冪敤 API 鑾峰彇鏈�鏂板垪琛ㄦ暟鎹�
@@ -348,7 +348,7 @@
// 鏇存柊鏁版嵁鍒楄〃
dataList.value = data.records;
pagination.total = data.total;
-
+
// 浠庡閮ㄦ暟鎹幏鍙� commonFiles
const currentRow = dataList.value.find(row => row.id === currentRowId.value);
if (currentRow && fileListRef.value) {
@@ -363,7 +363,7 @@
resolveRefresh();
});
});
-
+
resolve({
name: uploadRes.data?.originalName || file.name,
url: uploadRes.data?.tempPath || uploadRes.data?.url,
@@ -381,7 +381,7 @@
document.body.removeChild(input);
}
};
-
+
document.body.appendChild(input);
input.click();
});
@@ -392,7 +392,7 @@
try {
await delCommonFile([file.id]);
proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛");
-
+
// 鍒锋柊鍒楄〃鑾峰彇鏈�鏂版暟鎹�
await new Promise((resolveRefresh) => {
// 璋冪敤 API 鑾峰彇鏈�鏂板垪琛ㄦ暟鎹�
@@ -405,7 +405,7 @@
// 鏇存柊鏁版嵁鍒楄〃
dataList.value = data.records;
pagination.total = data.total;
-
+
// 浠庡閮ㄦ暟鎹幏鍙� commonFiles
const currentRow = dataList.value.find(row => row.id === currentRowId.value);
if (currentRow && fileListRef.value) {
@@ -420,7 +420,7 @@
resolveRefresh();
});
});
-
+
return true;
} catch (error) {
proxy.$modal.msgError("鍒犻櫎澶辫触");
diff --git a/src/views/procurementManagement/procurementLedger/index.vue b/src/views/procurementManagement/procurementLedger/index.vue
index 8c409a7..504ac5b 100644
--- a/src/views/procurementManagement/procurementLedger/index.vue
+++ b/src/views/procurementManagement/procurementLedger/index.vue
@@ -87,7 +87,7 @@
prop="availableQuality" />
<el-table-column label="閫�璐ф暟閲�"
prop="returnQuality" />
-
+
<el-table-column label="绋庣巼(%)"
prop="taxRate" />
<el-table-column label="鍚◣鍗曚环(鍏�)"
@@ -123,7 +123,7 @@
width="100"
show-overflow-tooltip>
<template #default="scope">
- <el-tag
+ <el-tag
:type="getApprovalStatusType(scope.row.approvalStatus)"
size="small">
{{ approvalStatusText[scope.row.approvalStatus] || '鏈煡鐘舵��' }}
@@ -334,7 +334,7 @@
:value="item.templateName">
<div style="display: flex; justify-content: space-between; align-items: center;">
<span>{{ item.templateName }}</span>
- <el-icon
+ <el-icon
v-if="item.id"
class="delete-icon"
@click.stop="handleDeleteTemplate(item)"
@@ -651,8 +651,8 @@
</el-row>
</el-form>
</FormDialog>
- <FileListDialog
- ref="fileListRef"
+ <FileListDialog
+ ref="fileListRef"
v-model="fileListDialogVisible"
title="闄勪欢鍒楄〃"
/>
@@ -1087,7 +1087,7 @@
.filter(node => node.userId)
.map(node => node.userId)
.join(",");
-
+
let params = {
productData: proxy.HaveJson(productData.value),
supplierId: form.value.supplierId,
@@ -1236,7 +1236,7 @@
return;
}
}
-
+
await getTemplateList();
operationType.value = type;
form.value = {};
@@ -1268,15 +1268,15 @@
form.value.entryDate = getCurrentDate();
if (type === "add") {
- // 鏂板鏃剁敓鎴愰噰璐悎鍚屽彿
+ // 鏂板鏃剁敓鎴愰噰璐崟鍙�
try {
const purchaseNoRes = await createPurchaseNo();
if (purchaseNoRes?.data) {
form.value.purchaseContractNumber = purchaseNoRes.data;
}
} catch (error) {
- console.error("鐢熸垚閲囪喘鍚堝悓鍙峰け璐�:", error);
- proxy.$modal.msgWarning("鐢熸垚閲囪喘鍚堝悓鍙峰け璐�");
+ console.error("鐢熸垚閲囪喘鍗曞彿澶辫触:", error);
+ proxy.$modal.msgWarning("鐢熸垚閲囪喘鍗曞彿澶辫触");
}
} else if (type === "edit" && row?.id) {
// 缂栬緫鏃跺姞杞芥暟鎹�
@@ -1370,7 +1370,7 @@
return;
}
const approveUserIds = approverNodes.value.map(node => node.userId).join(",");
-
+
if (productData.value.length > 0) {
// 鏂板鏃讹紝闇�瑕佷粠姣忎釜浜у搧瀵硅薄涓垹闄� id 瀛楁
let processedProductData = productData.value;
@@ -1427,17 +1427,17 @@
productForm.value = {};
proxy.resetForm("productFormRef");
productFormVisible.value = true;
-
+
// 鍏堣幏鍙栦骇鍝侀�夐」锛岀‘淇濇暟鎹姞杞藉畬鎴�
await getProductOptions();
-
+
// 绛夊緟 DOM 鏇存柊
await nextTick();
-
+
if (type === "edit") {
// 澶嶅埗琛屾暟鎹�
productForm.value = { ...row };
-
+
// 濡傛灉鏄粠妯℃澘鍔犺浇鐨勬暟鎹紝鍙兘娌℃湁 productId 鍜� productModelId
// 闇�瑕佹牴鎹� productCategory 鍜� specificationModel 鏉ユ煡鎵惧搴旂殑 ID
if (!productForm.value.productId && productForm.value.productCategory) {
@@ -1454,17 +1454,17 @@
}
return null;
};
-
+
const productId = findProductIdByCategory(productOptions.value, productForm.value.productCategory);
if (productId) {
productForm.value.productId = productId;
// 鑾峰彇鍨嬪彿鍒楄〃骞剁瓑寰呭畬鎴�
const modelRes = await modelList({ id: productId });
modelOptions.value = modelRes;
-
+
// 绛夊緟 DOM 鏇存柊
await nextTick();
-
+
// 鏍规嵁 specificationModel 鏌ユ壘 productModelId
if (productForm.value.specificationModel && modelOptions.value.length > 0) {
const modelItem = modelOptions.value.find(
@@ -1480,15 +1480,15 @@
} else if (productForm.value.productId) {
// 濡傛灉鏈� productId锛屾甯稿姞杞藉瀷鍙峰垪琛�
await getModels(productForm.value.productId);
-
+
// 绛夊緟 DOM 鏇存柊
await nextTick();
-
+
if (productForm.value.productModelId) {
getProductModel(productForm.value.productModelId);
}
}
-
+
// 鏈�鍚庡啀绛夊緟涓�娆� DOM 鏇存柊锛岀‘淇濇墍鏈夋暟鎹兘宸茶缃�
await nextTick();
}
@@ -1828,7 +1828,7 @@
proxy.$modal.msgWarning("鏃犳硶鍒犻櫎璇ユā鏉�");
return;
}
-
+
try {
await ElMessageBox.confirm(
`纭畾瑕佸垹闄ゆā鏉�"${item.templateName}"鍚楋紵`,
@@ -1839,7 +1839,7 @@
type: "warning",
}
);
-
+
const res = await delPurchaseTemplate([item.id]);
if (res && res.code === 200) {
ElMessage({
@@ -1892,7 +1892,7 @@
display: flex;
align-items: center;
}
-
+
// 瀹℃壒浜鸿妭鐐瑰鍣ㄦ牱寮�
.approver-nodes-container {
display: flex;
@@ -1903,7 +1903,7 @@
border-radius: 4px;
border: 1px solid #e4e7ed;
}
-
+
.approver-node-item {
flex: 0 0 calc(33.333% - 12px);
min-width: 200px;
@@ -1912,38 +1912,38 @@
border-radius: 4px;
border: 1px solid #dcdfe6;
transition: all 0.3s;
-
+
&:hover {
border-color: #409eff;
box-shadow: 0 2px 8px rgba(64, 158, 255, 0.1);
}
}
-
+
.approver-node-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 8px;
}
-
+
.approver-node-label {
font-size: 13px;
font-weight: 500;
color: #606266;
}
-
+
@media (max-width: 1200px) {
.approver-node-item {
flex: 0 0 calc(50% - 8px);
}
}
-
+
@media (max-width: 768px) {
.approver-node-item {
flex: 0 0 100%;
}
}
-
+
// 鍒犻櫎鍥炬爣鏍峰紡
.delete-icon {
transition: all 0.3s;
diff --git a/src/views/procurementManagement/purchaseReturnOrder/New.vue b/src/views/procurementManagement/purchaseReturnOrder/New.vue
index 17e36dc..b9bf522 100644
--- a/src/views/procurementManagement/purchaseReturnOrder/New.vue
+++ b/src/views/procurementManagement/purchaseReturnOrder/New.vue
@@ -184,12 +184,12 @@
</el-form-item>
<el-form-item
- label="閲囪喘鍚堝悓鍙凤細"
+ label="閲囪喘鍗曞彿锛�"
prop="purchaseLedgerId"
:rules="[
{
required: true,
- message: '璇烽�夋嫨閲囪喘鍚堝悓鍙�',
+ message: '璇烽�夋嫨閲囪喘鍗曞彿',
trigger: 'change',
}
]"
@@ -377,7 +377,7 @@
v-model="formState.incomeType"
placeholder="璇烽�夋嫨"
clearable
-
+
>
<el-option :label="item.label" :value="item.value" v-for="(item,index) in payment_methods" :key="index" />
</el-select>
@@ -784,4 +784,4 @@
border-radius: 50%;
margin-right: 8px;
}
-</style>
\ No newline at end of file
+</style>
diff --git a/src/views/procurementManagement/transferManagement/index.vue b/src/views/procurementManagement/transferManagement/index.vue
index 3646449..1db93e4 100644
--- a/src/views/procurementManagement/transferManagement/index.vue
+++ b/src/views/procurementManagement/transferManagement/index.vue
@@ -2,7 +2,7 @@
<div class="app-container">
<!-- 鎼滅储杩囨护鍖� -->
<el-form :model="searchForm" :inline="true">
- <el-form-item label="閲囪喘鍚堝悓鍙�">
+ <el-form-item label="閲囪喘鍗曞彿">
<el-input v-model="searchForm.purchaseContractNumber" placeholder="璇疯緭鍏�" />
</el-form-item>
<el-form-item label="渚涘簲鍟�">
@@ -18,7 +18,7 @@
<el-table :data="orderList" border v-loading="loading" height="calc(100vh - 12em)">
<!-- 娣诲姞搴忓彿鍒� -->
<el-table-column align="center" label="搴忓彿" type="index" width="60" />
- <el-table-column prop="purchaseContractNumber" label="閲囪喘鍚堝悓鍙�" show-overflow-tooltip />
+ <el-table-column prop="purchaseContractNumber" label="閲囪喘鍗曞彿" show-overflow-tooltip />
<el-table-column prop="supplierName" label="渚涘簲鍟�" show-overflow-tooltip />
<el-table-column label="浠樻鐘舵��">
<template #default="scope">
@@ -66,7 +66,7 @@
<!-- 纭鏀惰揣瀵硅瘽妗� -->
<FormDialog v-model="receiptDialogVisible" title="纭鏀惰揣" :width="'70%'" @close="receiptDialogVisible = false" @confirm="submitReceipt" @cancel="receiptDialogVisible = false">
<el-form :model="receiptForm" label-width="120px" ref="formRef">
- <el-form-item label="閲囪喘鍚堝悓鍙�">
+ <el-form-item label="閲囪喘鍗曞彿">
<el-input v-model="receiptForm.purchaseContractNumber" disabled />
</el-form-item>
<el-form-item label="寮傚父鍘熷洜">
diff --git a/src/views/productionManagement/productionOrder/index.vue b/src/views/productionManagement/productionOrder/index.vue
index 729cd5a..5560703 100644
--- a/src/views/productionManagement/productionOrder/index.vue
+++ b/src/views/productionManagement/productionOrder/index.vue
@@ -125,7 +125,7 @@
width: '120px',
},
{
- label: "閿�鍞悎鍚屽彿",
+ label: "閿�鍞崟鍙�",
prop: "salesContractNo",
width: '150px',
},
diff --git a/src/views/productionManagement/productionReporting/index.vue b/src/views/productionManagement/productionReporting/index.vue
index 8490b85..bdff088 100644
--- a/src/views/productionManagement/productionReporting/index.vue
+++ b/src/views/productionManagement/productionReporting/index.vue
@@ -173,7 +173,7 @@
width: 120,
},
{
- label: "閿�鍞悎鍚屽彿",
+ label: "閿�鍞崟鍙�",
prop: "salesContractNo",
width: 120,
},
@@ -202,7 +202,7 @@
prop: "unit",
width: 120,
},
-
+
{
label: "鍒涘缓鏃堕棿",
prop: "createTime",
diff --git a/src/views/qualityManagement/afterSalesTraceability/index.vue b/src/views/qualityManagement/afterSalesTraceability/index.vue
index 8cd4856..20659b0 100644
--- a/src/views/qualityManagement/afterSalesTraceability/index.vue
+++ b/src/views/qualityManagement/afterSalesTraceability/index.vue
@@ -116,7 +116,7 @@
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="搴忓彿" type="index" width="55" align="center" />
- <el-table-column label="閿�鍞悎鍚屽彿" prop="contractNo" width="160" />
+ <el-table-column label="閿�鍞崟鍙�" prop="contractNo" width="160" />
<el-table-column label="浜у搧缂栧彿" prop="productCode" width="140" />
<el-table-column label="浜у搧鍨嬪彿" prop="productModel" width="140" />
<el-table-column label="瀹㈡埛鍚嶇О" prop="customerName" width="160" />
@@ -172,10 +172,10 @@
>
<el-row>
<el-col :span="12">
- <el-form-item label="閿�鍞悎鍚屽彿" prop="contractNo">
+ <el-form-item label="閿�鍞崟鍙�" prop="contractNo">
<el-input
v-model="form.contractNo"
- placeholder="璇烽�夋嫨鍏宠仈閿�鍞悎鍚屽彿"
+ placeholder="璇烽�夋嫨鍏宠仈閿�鍞崟鍙�"
/>
</el-form-item>
</el-col>
@@ -387,7 +387,7 @@
},
rules: {
contractNo: [
- { required: true, message: "閿�鍞悎鍚屽彿涓嶈兘涓虹┖", trigger: "blur" },
+ { required: true, message: "閿�鍞崟鍙蜂笉鑳戒负绌�", trigger: "blur" },
],
productCode: [
{ required: true, message: "浜у搧缂栧彿涓嶈兘涓虹┖", trigger: "blur" },
diff --git a/src/views/reportAnalysis/projectProfit/index.vue b/src/views/reportAnalysis/projectProfit/index.vue
index f61cbe5..f13f70a 100644
--- a/src/views/reportAnalysis/projectProfit/index.vue
+++ b/src/views/reportAnalysis/projectProfit/index.vue
@@ -57,7 +57,7 @@
},
[
{
- label: "閿�鍞悎鍚屽彿",
+ label: "閿�鍞崟鍙�",
align: "center",
prop: "customerContractNo",
},
diff --git a/src/views/safeProduction/safeWorkApproval/components/approvalDia.vue b/src/views/safeProduction/safeWorkApproval/components/approvalDia.vue
index 8d40a2e..1fa465b 100644
--- a/src/views/safeProduction/safeWorkApproval/components/approvalDia.vue
+++ b/src/views/safeProduction/safeWorkApproval/components/approvalDia.vue
@@ -35,7 +35,7 @@
</el-row>
<el-row v-if="!isQuotationApproval && !isPurchaseApproval">
<el-col :span="24">
- <el-form-item :label="props.approveType == 5 ? '閲囪喘鍚堝悓鍙凤細' : '瀹℃壒浜嬬敱锛�'"
+ <el-form-item :label="props.approveType == 5 ? '閲囪喘鍗曞彿锛�' : '瀹℃壒浜嬬敱锛�'"
prop="approveReason">
<el-input v-model="form.approveReason"
placeholder="璇疯緭鍏�"
@@ -154,10 +154,10 @@
<template v-else>
<el-descriptions :column="2"
border>
- <el-descriptions-item label="閲囪喘鍚堝悓鍙�">{{ currentPurchase.purchaseContractNumber }}</el-descriptions-item>
+ <el-descriptions-item label="閲囪喘鍗曞彿">{{ currentPurchase.purchaseContractNumber }}</el-descriptions-item>
<el-descriptions-item label="渚涘簲鍟嗗悕绉�">{{ currentPurchase.supplierName }}</el-descriptions-item>
<el-descriptions-item label="椤圭洰鍚嶇О">{{ currentPurchase.projectName }}</el-descriptions-item>
- <el-descriptions-item label="閿�鍞悎鍚屽彿">{{ currentPurchase.salesContractNo }}</el-descriptions-item>
+ <el-descriptions-item label="閿�鍞崟鍙�">{{ currentPurchase.salesContractNo }}</el-descriptions-item>
<el-descriptions-item label="绛捐鏃ユ湡">{{ currentPurchase.executionDate }}</el-descriptions-item>
<el-descriptions-item label="褰曞叆鏃ユ湡">{{ currentPurchase.entryDate }}</el-descriptions-item>
<el-descriptions-item label="浠樻鏂瑰紡">{{ currentPurchase.paymentMethod }}</el-descriptions-item>
@@ -416,7 +416,7 @@
}
}
- // 閲囪喘瀹℃壒锛氱敤瀹℃壒浜嬬敱瀛楁鎵胯浇鐨�"閲囪喘鍚堝悓鍙�"鍘绘煡閲囪喘璇︽儏
+ // 閲囪喘瀹℃壒锛氱敤瀹℃壒浜嬬敱瀛楁鎵胯浇鐨�"閲囪喘鍗曞彿"鍘绘煡閲囪喘璇︽儏
if (isPurchaseApproval.value) {
const purchaseContractNumber = row?.approveReason;
if (purchaseContractNumber) {
@@ -527,4 +527,4 @@
width: 200px;
height: 60px;
}
-</style>
\ No newline at end of file
+</style>
diff --git a/src/views/safeProduction/safeWorkApproval/components/infoFormDia.vue b/src/views/safeProduction/safeWorkApproval/components/infoFormDia.vue
index 02b728e..7486f20 100644
--- a/src/views/safeProduction/safeWorkApproval/components/infoFormDia.vue
+++ b/src/views/safeProduction/safeWorkApproval/components/infoFormDia.vue
@@ -38,7 +38,7 @@
</el-row>
<el-row>
<el-col :span="24">
- <el-form-item :label="props.approveType == 5 ? '閲囪喘鍚堝悓鍙凤細' : '瀹℃壒浜嬬敱锛�'"
+ <el-form-item :label="props.approveType == 5 ? '閲囪喘鍗曞彿锛�' : '瀹℃壒浜嬬敱锛�'"
prop="approveReason">
<el-input v-model="form.approveReason"
placeholder="璇疯緭鍏�"
@@ -483,4 +483,4 @@
</script>
<style scoped>
-</style>
\ No newline at end of file
+</style>
diff --git a/src/views/salesManagement/invoiceLedger/index.vue b/src/views/salesManagement/invoiceLedger/index.vue
index 3827854..5ad1331 100644
--- a/src/views/salesManagement/invoiceLedger/index.vue
+++ b/src/views/salesManagement/invoiceLedger/index.vue
@@ -3,7 +3,7 @@
<div class="search_form">
<el-form :inline="true" :model="searchForm">
<el-form-item label="瀹㈡埛鍚嶇О/鍚堝悓鍙�">
- <el-input v-model="searchForm.searchText" style="width: 240px" placeholder="杈撳叆瀹㈡埛鍚嶇О/閿�鍞悎鍚屽彿鎼滅储"
+ <el-input v-model="searchForm.searchText" style="width: 240px" placeholder="杈撳叆瀹㈡埛鍚嶇О/閿�鍞崟鍙锋悳绱�"
@change="handleQuery" clearable :prefix-icon="Search" />
</el-form-item>
<el-form-item label="寮�绁ㄦ棩鏈�">
@@ -30,7 +30,7 @@
:row-key="(row) => row.id" show-summary :summary-method="summarizeMainTable" height="calc(100vh - 18.5em)">
<el-table-column align="center" type="selection" width="55" />
<el-table-column align="center" label="搴忓彿" type="index" width="60" />
- <el-table-column label="閿�鍞悎鍚屽彿" prop="salesContractNo" show-overflow-tooltip width="180" />
+ <el-table-column label="閿�鍞崟鍙�" prop="salesContractNo" show-overflow-tooltip width="180" />
<el-table-column label="瀹㈡埛鍚嶇О" prop="customerName" show-overflow-tooltip width="240" />
<el-table-column label="浜у搧澶х被" prop="productCategory" width="200" />
<el-table-column label="瑙勬牸鍨嬪彿" prop="specificationModel" width="160" show-overflow-tooltip />
@@ -56,7 +56,7 @@
<el-form :model="form" label-width="140px" label-position="top" :rules="rules" ref="formRef">
<el-row :gutter="30">
<el-col :span="12">
- <el-form-item label="閿�鍞悎鍚屽彿锛�" prop="salesContractNo">
+ <el-form-item label="閿�鍞崟鍙凤細" prop="salesContractNo">
<el-input v-model="form.salesContractNo" disabled></el-input>
</el-form-item>
</el-col>
@@ -273,7 +273,7 @@
if (!form.value.invoicePerson) {
form.value.invoicePerson = userStore.nickName;
}
-
+
// 璁$畻鍙戠エ閲戦鏈�澶у�硷細noInvoiceAmount + invoiceAmount
const noInvoiceAmount = parseFloat(res.data.noInvoiceAmount || 0);
const invoiceAmount = parseFloat(res.data.invoiceAmount || 0);
diff --git a/src/views/salesManagement/invoiceRegistration/index.vue b/src/views/salesManagement/invoiceRegistration/index.vue
index 44e1c4e..a4ecc8b 100644
--- a/src/views/salesManagement/invoiceRegistration/index.vue
+++ b/src/views/salesManagement/invoiceRegistration/index.vue
@@ -30,9 +30,9 @@
<div class="flex justify-between">
<div></div>
<div>
- <el-button
- type="primary"
- @click="openForm"
+ <el-button
+ type="primary"
+ @click="openForm"
style="margin-bottom: 8px"
:disabled="!canInvoice"
>
@@ -116,7 +116,7 @@
</el-table-column>
<el-table-column align="center" label="搴忓彿" type="index" width="60" />
<el-table-column
- label="閿�鍞悎鍚屽彿"
+ label="閿�鍞崟鍙�"
prop="salesContractNo"
show-overflow-tooltip
/>
@@ -137,7 +137,7 @@
prop="contractAmount"
show-overflow-tooltip
:formatter="formattedNumber"
-
+
/>
<el-table-column
label="宸插紑绁ㄩ噾棰�(鍏�)"
@@ -184,7 +184,7 @@
>
<el-row :gutter="30">
<el-col :span="12">
- <el-form-item label="閿�鍞悎鍚屽彿锛�" prop="salesContractNo">
+ <el-form-item label="閿�鍞崟鍙凤細" prop="salesContractNo">
<el-input v-model="form.salesContractNo" disabled placeholder="澶氬悎鍚屾壒閲忓鐞嗭紙鍏蜂綋鍚堝悓鍙疯浜у搧鍒楄〃锛�"></el-input>
</el-form-item>
</el-col>
@@ -250,7 +250,7 @@
/>
</el-form-item>
</el-col>
-
+
</el-row>
<el-row>
<el-form-item label="浜у搧淇℃伅锛�" prop="entryDate"> </el-form-item>
@@ -301,9 +301,9 @@
/>
<el-table-column label="鏈寮�绁ㄦ暟" prop="currentInvoiceNum" width="180">
<template #default="scope">
- <el-input-number
- :step="0.1"
- :min="0"
+ <el-input-number
+ :step="0.1"
+ :min="0"
style="width: 100%"
:precision="2"
v-model="scope.row.currentInvoiceNum"
@@ -318,9 +318,9 @@
width="180"
>
<template #default="scope">
- <el-input-number
- :step="0.01"
- :min="0"
+ <el-input-number
+ :step="0.01"
+ :min="0"
style="width: 100%"
:precision="2"
v-model="scope.row.currentInvoiceAmount"
@@ -562,28 +562,28 @@
proxy.$modal.msgError("璇疯嚦灏戦�夋嫨涓�鏉″悎鍚�");
return;
}
-
+
// 妫�鏌ユ墍鏈夐�夋嫨鐨勫悎鍚屾槸鍚﹀叿鏈夌浉鍚岀殑瀹㈡埛鍚嶇О
const firstRow = selectedRows.value[0];
const isSameCustomer = selectedRows.value.every(row =>
row.customerName === firstRow.customerName
);
-
+
if (!isSameCustomer) {
proxy.$modal.msgError("璇烽�夋嫨鐩稿悓瀹㈡埛鍚嶇О鐨勫悎鍚�");
return;
}
-
- // 鍏佽涓嶅悓鐨勯攢鍞悎鍚屽彿鎵归噺澶勭悊锛屾棤闇�妫�鏌ラ噸澶�
-
+
+ // 鍏佽涓嶅悓鐨勯攢鍞崟鍙锋壒閲忓鐞嗭紝鏃犻渶妫�鏌ラ噸澶�
+
form.value = {};
productData.value = [];
-
+
// 鍔犺浇鎵�鏈夐�変腑鍚堝悓鐨勪骇鍝佹暟鎹�
const promises = selectedRows.value.map(row =>
getSalesLedgerWithProducts({ id: row.id })
);
-
+
Promise.all(promises).then(results => {
// 鍚堝苟鎵�鏈夊悎鍚岀殑浜у搧鏁版嵁锛屽苟涓烘瘡涓骇鍝佹坊鍔犲搴旂殑鍚堝悓淇℃伅
const allProductData = [];
@@ -595,24 +595,24 @@
allProductData.push({
...item,
// id: contractId, // 鏄庣‘璁剧疆鍚堝悓ID
- salesContractNo: contract.salesContractNo, // 娣诲姞閿�鍞悎鍚屽彿
+ salesContractNo: contract.salesContractNo, // 娣诲姞閿�鍞崟鍙�
customerName: contract.customerName, // 娣诲姞瀹㈡埛鍚嶇О
customerContractNo: contract.customerContractNo // 娣诲姞瀹㈡埛鍚堝悓鍙�
});
});
}
});
-
- // 璁剧疆琛ㄥ崟鏁版嵁锛堜娇鐢ㄧ涓�涓悎鍚岀殑鍩烘湰淇℃伅锛岄攢鍞悎鍚屽彿鐣欑┖锛�
+
+ // 璁剧疆琛ㄥ崟鏁版嵁锛堜娇鐢ㄧ涓�涓悎鍚岀殑鍩烘湰淇℃伅锛岄攢鍞崟鍙风暀绌猴級
form.value = { ...results[0] };
form.value.createTime = dayjs().format("YYYY-MM-DD");
form.value.issueDate = dayjs().format("YYYY-MM-DD");
form.value.createUer = userStore.nickName;
form.value.selectedContractIds = selectedRows.value.map(row => row.id); // 瀛樺偍鎵�鏈夐�変腑鐨勫悎鍚孖D
- form.value.salesContractNo = ""; // 閿�鍞悎鍚屽彿鐣欑┖锛屽洜涓轰細鍦ㄤ骇鍝佽〃鏍间腑鍒嗗埆鏄剧ず
-
+ form.value.salesContractNo = ""; // 閿�鍞崟鍙风暀绌猴紝鍥犱负浼氬湪浜у搧琛ㄦ牸涓垎鍒樉绀�
+
productData.value = allProductData;
-
+
// 瀵逛簬涓嶈兘寮�绁ㄧ殑浜у搧锛屽皢寮�绁ㄦ暟鍜屽紑绁ㄩ噾棰濊缃负0
productData.value.forEach(item => {
if (isProductInvoiceDisabled(item)) {
@@ -620,7 +620,7 @@
item.currentInvoiceAmount = 0;
}
});
-
+
dialogFormVisible.value = true;
console.log("productData.value ", productData.value);
});
@@ -637,32 +637,32 @@
const contractProductData = productData.value.filter(item =>
item.salesLedgerId === contract.id
);
-
- // 涓烘瘡涓攢鍞悎鍚屽彿鍒涘缓鐙珛鐨勫璞�
+
+ // 涓烘瘡涓攢鍞崟鍙峰垱寤虹嫭绔嬬殑瀵硅薄
return {
// 鍩虹琛ㄥ崟鏁版嵁
issueDate: form.value.issueDate,
createTime: form.value.createTime,
createUer: form.value.createUer,
invoiceNo: form.value.invoiceNo,
-
+
// 鍚堝悓瀹為檯淇℃伅
id: contract.id, // 浣跨敤id浣滀负瀛楁鍚嶏紝鍊间负salesLedgerId
- salesContractNo: contract.salesContractNo, // 浣跨敤瀹為檯鐨勯攢鍞悎鍚屽彿
+ salesContractNo: contract.salesContractNo, // 浣跨敤瀹為檯鐨勯攢鍞崟鍙�
customerName: contract.customerName, // 浣跨敤瀹為檯鐨勫鎴峰悕绉�
customerId: contract.customerId, // 娣诲姞瀹㈡埛ID
customerContractNo: contract.customerContractNo, // 浣跨敤瀹為檯鐨勫鎴峰悎鍚屽彿
projectName: contract.projectName, // 浣跨敤瀹為檯鐨勯」鐩悕绉�
salesman: contract.salesman, // 浣跨敤瀹為檯鐨勪笟鍔″憳
-
+
// 浜у搧鏁版嵁
productData: proxy.HaveJson(contractProductData),
-
+
// 鎵归噺鏍囪瘑
isBatch: true
};
});
-
+
// 鍙皟鐢ㄤ竴娆℃帴鍙o紝浼犻�掑寘鍚墍鏈夊悎鍚屾暟鎹殑鏁扮粍
invoiceRegistrationSave(batchData).then(() => {
proxy.$modal.msgSuccess("鎵归噺鏂板鎴愬姛");
@@ -679,19 +679,19 @@
createTime: form.value.createTime,
createUer: form.value.createUer,
invoiceNo: form.value.invoiceNo,
-
+
// 鍚堝悓瀹為檯淇℃伅
id: singleContract.id, // 浣跨敤id浣滀负瀛楁鍚嶏紝鍊间负salesLedgerId
- salesContractNo: singleContract.salesContractNo, // 浣跨敤瀹為檯鐨勯攢鍞悎鍚屽彿
+ salesContractNo: singleContract.salesContractNo, // 浣跨敤瀹為檯鐨勯攢鍞崟鍙�
customerName: singleContract.customerName, // 浣跨敤瀹為檯鐨勫鎴峰悕绉�
customerId: singleContract.customerId, // 娣诲姞瀹㈡埛ID
customerContractNo: singleContract.customerContractNo, // 浣跨敤瀹為檯鐨勫鎴峰悎鍚屽彿
projectName: singleContract.projectName, // 浣跨敤瀹為檯鐨勯」鐩悕绉�
salesman: singleContract.salesman, // 浣跨敤瀹為檯鐨勪笟鍔″憳
-
+
// 浜у搧鏁版嵁
productData: proxy.HaveJson(productData.value),
-
+
// 鎵归噺鏍囪瘑
isBatch: false
}
diff --git a/src/views/salesManagement/receiptPayment/index.vue b/src/views/salesManagement/receiptPayment/index.vue
index 25bd280..bd803da 100644
--- a/src/views/salesManagement/receiptPayment/index.vue
+++ b/src/views/salesManagement/receiptPayment/index.vue
@@ -126,7 +126,7 @@
</el-table-column>
<el-table-column align="center" label="搴忓彿" type="index" width="60" />
<el-table-column
- label="閿�鍞悎鍚屽彿"
+ label="閿�鍞崟鍙�"
prop="salesContractNo"
show-overflow-tooltip
width="240"
@@ -206,7 +206,7 @@
size="small"
>
<el-table-column type="index" label="搴忓彿" width="50" align="center"/>
- <el-table-column label="閿�鍞悎鍚屽彿" prop="salesContractNo" show-overflow-tooltip />
+ <el-table-column label="閿�鍞崟鍙�" prop="salesContractNo" show-overflow-tooltip />
<el-table-column label="瀹㈡埛鍚嶇О" prop="customerName" show-overflow-tooltip />
<el-table-column
label="浜у搧澶х被"
diff --git a/src/views/salesManagement/receiptPaymentHistory/index.vue b/src/views/salesManagement/receiptPaymentHistory/index.vue
index 11a59a6..031494e 100644
--- a/src/views/salesManagement/receiptPaymentHistory/index.vue
+++ b/src/views/salesManagement/receiptPaymentHistory/index.vue
@@ -75,7 +75,7 @@
const { proxy } = getCurrentInstance();
const tableColumn = ref([
{
- label: "閿�鍞悎鍚屽彿",
+ label: "閿�鍞崟鍙�",
prop: "salesContractNo",
width:240
},
diff --git a/src/views/salesManagement/salesLedger/index.vue b/src/views/salesManagement/salesLedger/index.vue
index 9972416..c9a3b47 100644
--- a/src/views/salesManagement/salesLedger/index.vue
+++ b/src/views/salesManagement/salesLedger/index.vue
@@ -6,7 +6,7 @@
<el-input v-model="searchForm.customerName" placeholder="璇疯緭鍏�" clearable prefix-icon="Search"
@change="handleQuery" />
</el-form-item>
- <el-form-item label="閿�鍞悎鍚屽彿锛�">
+ <el-form-item label="閿�鍞崟鍙凤細">
<el-input v-model="searchForm.salesContractNo" placeholder="璇疯緭鍏�" clearable prefix-icon="Search"
@change="handleQuery" />
</el-form-item>
@@ -95,8 +95,8 @@
<!--鎿嶄綔-->
<el-table-column Width="60px" label="鎿嶄綔" align="center">
<template #default="scope">
- <el-button
- link
+ <el-button
+ link
type="primary"
:disabled="!canShip(scope.row)"
@click="openDeliveryForm(scope.row)">
@@ -108,7 +108,7 @@
</template>
</el-table-column>
<el-table-column align="center" label="搴忓彿" type="index" width="60" />
- <el-table-column label="閿�鍞悎鍚屽彿" prop="salesContractNo" width="180" show-overflow-tooltip />
+ <el-table-column label="閿�鍞崟鍙�" prop="salesContractNo" width="180" show-overflow-tooltip />
<el-table-column label="瀹㈡埛鍚嶇О" prop="customerName" width="300" show-overflow-tooltip />
<el-table-column label="涓氬姟鍛�" prop="salesman" width="100" show-overflow-tooltip />
<el-table-column label="椤圭洰鍚嶇О" prop="projectName" width="180" show-overflow-tooltip />
@@ -143,7 +143,7 @@
</el-row>
<el-row :gutter="30">
<el-col :span="12">
- <el-form-item label="閿�鍞悎鍚屽彿锛�" prop="salesContractNo">
+ <el-form-item label="閿�鍞崟鍙凤細" prop="salesContractNo">
<el-input v-model="form.salesContractNo" placeholder="鑷姩鐢熸垚" clearable disabled />
</el-form-item>
</el-col>
@@ -234,7 +234,7 @@
<el-table-column label="涓嶅惈绋庢�讳环(鍏�)" prop="taxExclusiveTotalPrice" :formatter="formattedNumber" />
<el-table-column fixed="right" label="鎿嶄綔" min-width="60" align="center" v-if="operationType !== 'view'">
<template #default="scope">
- <el-button link type="primary" size="small"
+ <el-button link type="primary" size="small"
:disabled="isProductShipped(scope.row)"
@click="openProductForm('edit', scope.row,scope.$index)">缂栬緫</el-button>
</template>
@@ -292,7 +292,7 @@
<el-button type="primary" @click="fetchQuotationList">鎼滅储</el-button>
<el-button @click="resetQuotationSearch">閲嶇疆</el-button>
</div>
-
+
<el-table
:data="quotationList"
border
@@ -317,7 +317,7 @@
</template>
</el-table-column>
</el-table>
-
+
<pagination
v-show="quotationPage.total > 0"
:total="quotationPage.total"
@@ -326,7 +326,7 @@
:limit="quotationPage.size"
@pagination="quotationPaginationChange"
/>
-
+
<template #footer>
<el-button @click="quotationDialogVisible = false">鍏抽棴</el-button>
</template>
@@ -482,7 +482,7 @@
<div class="header">
<div class="document-title">闆跺敭鍙戣揣鍗�</div>
</div>
-
+
<div class="info-section">
<div class="info-row">
<div>
@@ -503,7 +503,7 @@
<span class="value">{{ item.salesContractNo }}</span>
</div>
</div>
-
+
<div class="table-section">
<table class="product-table">
<thead>
@@ -541,7 +541,7 @@
</tfoot>
</table>
</div>
-
+
<div class="footer-section">
<div class="footer-row">
<div class="footer-item">
@@ -644,15 +644,15 @@
<el-row :gutter="30">
<el-col :span="24">
<el-form-item label="鍙戣揣鍥剧墖锛�">
- <el-upload
- v-model:file-list="deliveryFileList"
- :action="upload.url"
- multiple
- ref="deliveryFileUpload"
+ <el-upload
+ v-model:file-list="deliveryFileList"
+ :action="upload.url"
+ multiple
+ ref="deliveryFileUpload"
auto-upload
- :headers="upload.headers"
+ :headers="upload.headers"
:data="{ type: 9 }"
- :on-success="handleDeliveryUploadSuccess"
+ :on-success="handleDeliveryUploadSuccess"
:on-remove="handleDeliveryRemove"
list-type="picture-card"
:limit="9"
@@ -1067,7 +1067,7 @@
if (children && children.length > 0) {
newItem.children = convertIdToValue(children);
}
-
+
return newItem;
});
}
@@ -1236,10 +1236,10 @@
const applyQuotation = (row) => {
if (!row) return;
selectedQuotation.value = row;
-
+
// 涓氬姟鍛�
form.value.salesman = (row.salesperson || "").trim();
-
+
// 瀹㈡埛鍚嶇О -> customerId
const qCustomerName = String(row.customer || "").trim();
const customer = (customerOption.value || []).find((c) => {
@@ -1252,7 +1252,7 @@
// 濡傛灉鎵句笉鍒帮紝淇濈暀鍘熷�硷紙鍏佽鐢ㄦ埛鎵嬪姩閫夋嫨/涓嶆墦鏂凡鏈夎緭鍏ワ級
form.value.customerId = form.value.customerId || "";
}
-
+
// 浜у搧淇℃伅鏄犲皠锛氭姤浠� products -> 鍙拌处 productData
const products = Array.isArray(row.products) ? row.products : [];
productData.value = products.map((p) => {
@@ -1274,7 +1274,7 @@
invoiceType: "澧炴櫘绁�",
};
});
-
+
quotationDialogVisible.value = false;
};
function changs(val) {
@@ -1356,7 +1356,7 @@
proxy.$modal.msgWarning("宸插彂璐ф垨瀹℃牳閫氳繃鐨勪骇鍝佷笉鑳界紪杈�");
return;
}
-
+
productOperationType.value = type;
productForm.value = {};
proxy.resetForm("productFormRef");
@@ -1423,14 +1423,14 @@
proxy.$modal.msgWarning("璇烽�夋嫨鏁版嵁");
return;
}
-
+
// 妫�鏌ユ槸鍚︽湁宸插彂璐ф垨瀹℃牳閫氳繃鐨勪骇鍝�
const shippedProducts = productSelectedRows.value.filter(row => isProductShipped(row));
if (shippedProducts.length > 0) {
proxy.$modal.msgWarning("宸插彂璐ф垨瀹℃牳閫氳繃鐨勪骇鍝佷笉鑳藉垹闄�");
return;
}
-
+
if (operationType.value === "add") {
productSelectedRows.value.forEach((selectedRow) => {
const index = productData.value.findIndex(
@@ -1576,25 +1576,25 @@
proxy.$modal.msgWarning("璇烽�夋嫨瑕佹墦鍗扮殑鏁版嵁");
return;
}
-
+
// 鏄剧ず鍔犺浇鐘舵��
proxy.$modal.loading("姝e湪鑾峰彇浜у搧鏁版嵁锛岃绋嶅��...");
-
+
try {
// 涓烘瘡涓�変腑鐨勯攢鍞彴璐﹁褰曟煡璇㈠搴旂殑浜у搧鏁版嵁
const printDataWithProducts = [];
-
+
for (const row of selectedRows.value) {
try {
// 璋冪敤productList鎺ュ彛鏌ヨ浜у搧鏁版嵁
const productRes = await productList({ salesLedgerId: row.id, type: 1 });
-
+
// 灏嗕骇鍝佹暟鎹暣鍚堝埌閿�鍞彴璐﹁褰曚腑
const rowWithProducts = {
...row,
products: productRes.data || []
};
-
+
printDataWithProducts.push(rowWithProducts);
} catch (error) {
console.error(`鑾峰彇閿�鍞彴璐� ${row.id} 鐨勪骇鍝佹暟鎹け璐�:`, error);
@@ -1605,11 +1605,11 @@
});
}
}
-
+
printData.value = printDataWithProducts;
console.log('鎵撳嵃鏁版嵁锛堝寘鍚骇鍝侊級:', printData.value);
printPreviewVisible.value = true;
-
+
} catch (error) {
console.error('鑾峰彇浜у搧鏁版嵁澶辫触:', error);
proxy.$modal.msgError("鑾峰彇浜у搧鏁版嵁澶辫触锛岃閲嶈瘯");
@@ -1621,10 +1621,10 @@
const executePrint = () => {
console.log('寮�濮嬫墽琛屾墦鍗帮紝鏁版嵁鏉℃暟:', printData.value.length);
console.log('鎵撳嵃鏁版嵁:', printData.value);
-
+
// 鍒涘缓涓�涓柊鐨勬墦鍗扮獥鍙�
const printWindow = window.open('', '_blank', 'width=800,height=600');
-
+
// 鏋勫缓鎵撳嵃鍐呭
let printContent = `
<!DOCTYPE html>
@@ -1760,7 +1760,7 @@
</head>
<body>
`;
-
+
// 涓烘瘡鏉℃暟鎹敓鎴愭墦鍗伴〉闈�
printData.value.forEach((item, index) => {
printContent += `
@@ -1769,7 +1769,7 @@
<div class="header">
<div class="document-title">闆跺敭鍙戣揣鍗�</div>
</div>
-
+
<div class="info-section">
<div class="info-row">
<div>
@@ -1857,16 +1857,16 @@
</div>
`;
});
-
+
printContent += `
</body>
</html>
`;
-
+
// 鍐欏叆鍐呭鍒版柊绐楀彛
printWindow.document.write(printContent);
printWindow.document.close();
-
+
// 绛夊緟鍐呭鍔犺浇瀹屾垚鍚庢墦鍗�
printWindow.onload = () => {
setTimeout(() => {
@@ -1957,19 +1957,19 @@
// 鏍规嵁鍚◣鎬讳环璁$畻鍚◣鍗曚环鍜屾暟閲�
const calculateFromTotalPrice = () => {
if (isCalculating.value) return;
-
+
const totalPrice = parseFloat(productForm.value.taxInclusiveTotalPrice);
const quantity = parseFloat(productForm.value.quantity);
-
+
if (!totalPrice || !quantity || quantity <= 0) {
return;
}
-
+
isCalculating.value = true;
-
+
// 璁$畻鍚◣鍗曚环 = 鍚◣鎬讳环 / 鏁伴噺
productForm.value.taxInclusiveUnitPrice = (totalPrice / quantity).toFixed(2);
-
+
// 濡傛灉鏈夌◣鐜囷紝璁$畻涓嶅惈绋庢�讳环
if (productForm.value.taxRate) {
productForm.value.taxExclusiveTotalPrice =
@@ -1978,7 +1978,7 @@
productForm.value.taxRate
);
}
-
+
isCalculating.value = false;
};
@@ -1989,25 +1989,25 @@
return;
}
if (isCalculating.value) return;
-
+
const exclusiveTotalPrice = parseFloat(productForm.value.taxExclusiveTotalPrice);
const quantity = parseFloat(productForm.value.quantity);
const taxRate = parseFloat(productForm.value.taxRate);
-
+
if (!exclusiveTotalPrice || !quantity || quantity <= 0 || !taxRate) {
return;
}
-
+
isCalculating.value = true;
-
+
// 鍏堣绠楀惈绋庢�讳环 = 涓嶅惈绋庢�讳环 / (1 - 绋庣巼/100)
const taxRateDecimal = taxRate / 100;
const inclusiveTotalPrice = exclusiveTotalPrice / (1 - taxRateDecimal);
productForm.value.taxInclusiveTotalPrice = inclusiveTotalPrice.toFixed(2);
-
+
// 璁$畻鍚◣鍗曚环 = 鍚◣鎬讳环 / 鏁伴噺
productForm.value.taxInclusiveUnitPrice = (inclusiveTotalPrice / quantity).toFixed(2);
-
+
isCalculating.value = false;
};
@@ -2018,19 +2018,19 @@
return;
}
if (isCalculating.value) return;
-
+
const quantity = parseFloat(productForm.value.quantity);
const unitPrice = parseFloat(productForm.value.taxInclusiveUnitPrice);
-
+
if (!quantity || quantity <= 0 || !unitPrice) {
return;
}
-
+
isCalculating.value = true;
-
+
// 璁$畻鍚◣鎬讳环
productForm.value.taxInclusiveTotalPrice = (unitPrice * quantity).toFixed(2);
-
+
// 濡傛灉鏈夌◣鐜囷紝璁$畻涓嶅惈绋庢�讳环
if (productForm.value.taxRate) {
productForm.value.taxExclusiveTotalPrice =
@@ -2039,7 +2039,7 @@
productForm.value.taxRate
);
}
-
+
isCalculating.value = false;
};
@@ -2050,19 +2050,19 @@
return;
}
if (isCalculating.value) return;
-
+
const quantity = parseFloat(productForm.value.quantity);
const unitPrice = parseFloat(productForm.value.taxInclusiveUnitPrice);
-
+
if (!quantity || quantity <= 0 || !unitPrice) {
return;
}
-
+
isCalculating.value = true;
-
+
// 璁$畻鍚◣鎬讳环
productForm.value.taxInclusiveTotalPrice = (unitPrice * quantity).toFixed(2);
-
+
// 濡傛灉鏈夌◣鐜囷紝璁$畻涓嶅惈绋庢�讳环
if (productForm.value.taxRate) {
productForm.value.taxExclusiveTotalPrice =
@@ -2071,7 +2071,7 @@
productForm.value.taxRate
);
}
-
+
isCalculating.value = false;
};
@@ -2082,23 +2082,23 @@
return;
}
if (isCalculating.value) return;
-
+
const inclusiveTotalPrice = parseFloat(productForm.value.taxInclusiveTotalPrice);
const taxRate = parseFloat(productForm.value.taxRate);
-
+
if (!inclusiveTotalPrice || !taxRate) {
return;
}
-
+
isCalculating.value = true;
-
+
// 璁$畻涓嶅惈绋庢�讳环
productForm.value.taxExclusiveTotalPrice =
proxy.calculateTaxExclusiveTotalPrice(
inclusiveTotalPrice,
taxRate
);
-
+
isCalculating.value = false;
};
/**
@@ -2110,15 +2110,15 @@
if (row.shippingDate || row.shippingCarNumber) {
return '宸插彂璐�';
}
-
+
// 鑾峰彇鍙戣揣鐘舵�佸瓧娈�
const status = row.shippingStatus;
-
+
// 濡傛灉鐘舵�佷负绌烘垨鏈畾涔夛紝榛樿涓�"寰呭彂璐�"
if (status === null || status === undefined || status === '') {
return '寰呭彂璐�';
}
-
+
// 鐘舵�佹槸瀛楃涓�
const statusStr = String(status).trim();
const statusTextMap = {
@@ -2141,15 +2141,15 @@
if (row.shippingDate || row.shippingCarNumber) {
return 'success';
}
-
+
// 鑾峰彇鍙戣揣鐘舵�佸瓧娈�
const status = row.shippingStatus;
-
+
// 濡傛灉鐘舵�佷负绌烘垨鏈畾涔夛紝榛樿涓虹伆鑹诧紙寰呭彂璐э級
if (status === null || status === undefined || status === '') {
return 'info';
}
-
+
// 鐘舵�佹槸瀛楃涓�
const statusStr = String(status).trim();
const typeTextMap = {
@@ -2173,15 +2173,15 @@
if (row.approveStatus !== 1) {
return false;
}
-
+
// 鑾峰彇鍙戣揣鐘舵��
const shippingStatus = row.shippingStatus;
-
+
// 濡傛灉宸插彂璐э紙鏈夊彂璐ф棩鏈熸垨杞︾墝鍙凤級锛屼笉鑳藉啀娆″彂璐�
if (row.shippingDate || row.shippingCarNumber) {
return false;
}
-
+
// 鍙戣揣鐘舵�佸繀椤绘槸"寰呭彂璐�"鎴�"瀹℃牳鎷掔粷"
const statusStr = shippingStatus ? String(shippingStatus).trim() : '';
return statusStr === '寰呭彂璐�' || statusStr === '瀹℃牳鎷掔粷';
@@ -2209,7 +2209,7 @@
proxy.$modal.msgWarning("鍙湁鍦ㄤ骇鍝佺姸鎬佹槸鍏呰冻锛屽彂璐х姸鎬佹槸寰呭彂璐ф垨瀹℃牳鎷掔粷鐨勬椂鍊欐墠鍙互鍙戣揣");
return;
}
-
+
currentDeliveryRow.value = row;
deliveryForm.value = {
type: "璐ц溅",
@@ -2254,13 +2254,13 @@
// 淇濆瓨褰撳墠灞曞紑鐨勮ID锛屼互渚垮彂璐у悗閲嶆柊鍔犺浇瀛愯〃鏍兼暟鎹�
const currentExpandedKeys = [...expandedRowKeys.value];
const salesLedgerId = currentDeliveryRow.value.salesLedgerId;
-
+
// 鑾峰彇涓婁紶鍥剧墖鐨勪复鏃禝D
let tempFileIds = [];
if (deliveryFileList.value !== null && deliveryFileList.value.length > 0) {
tempFileIds = deliveryFileList.value.map((item) => item.tempId);
}
-
+
addShippingInfo({
salesLedgerId: salesLedgerId,
salesLedgerProductId: currentDeliveryRow.value.id,
@@ -2363,12 +2363,12 @@
padding: 15px;
border-bottom: 1px solid #e4e7ed;
text-align: center;
-
+
.el-button {
margin: 0 10px;
}
}
-
+
.print-preview-content {
padding: 20px;
background-color: #f5f5f5;
@@ -2400,13 +2400,13 @@
.header {
text-align: center;
margin-bottom: 8px;
-
+
.company-name {
font-size: 18px;
font-weight: bold;
margin-bottom: 4px;
}
-
+
.document-title {
font-size: 16px;
font-weight: bold;
@@ -2418,16 +2418,16 @@
display: flex;
justify-content: space-between;
align-items: center;
-
+
.info-row {
line-height: 20px;
-
+
.label {
font-weight: bold;
width: 60px;
font-size: 14px;
}
-
+
.value {
margin-right: 20px;
min-width: 80px;
@@ -2439,12 +2439,12 @@
.table-section {
margin-bottom: 4px;
flex: 1;
-
+
.product-table {
width: 100%;
border-collapse: collapse;
border: 1px solid #000;
-
+
th, td {
border: 1px solid #000;
padding: 6px;
@@ -2452,16 +2452,16 @@
font-size: 14px;
line-height: 1.4;
}
-
+
th {
font-weight: bold;
}
-
+
.total-label {
text-align: right;
font-weight: bold;
}
-
+
.total-value {
font-weight: bold;
}
@@ -2474,22 +2474,22 @@
margin-bottom: 3px;
line-height: 20px;
justify-content: space-between;
-
+
.footer-item {
display: flex;
margin-right: 20px;
-
+
.label {
font-weight: bold;
width: 80px;
font-size: 14px;
}
-
+
.value {
min-width: 80px;
font-size: 14px;
}
-
+
&.address-item {
.address-value {
min-width: 200px;
@@ -2503,7 +2503,7 @@
.app-container {
display: none;
}
-
+
.print-page {
box-shadow: none;
margin: 0;
--
Gitblit v1.9.3