From bdc5539eca6e1126960efdd70b8b561c484fbf8f Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 11 五月 2026 11:51:21 +0800
Subject: [PATCH] 天津军泰伟业 1.销售台账添加新字段
---
src/views/salesManagement/salesLedger/index.vue | 177 ++++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 144 insertions(+), 33 deletions(-)
diff --git a/src/views/salesManagement/salesLedger/index.vue b/src/views/salesManagement/salesLedger/index.vue
index 67d88b9..5fa56d0 100644
--- a/src/views/salesManagement/salesLedger/index.vue
+++ b/src/views/salesManagement/salesLedger/index.vue
@@ -14,6 +14,18 @@
<el-input v-model="searchForm.projectName" placeholder="璇疯緭鍏�" clearable prefix-icon="Search"
@change="handleQuery" />
</el-form-item>
+ <el-form-item label="璁㈠崟绫诲瀷锛�">
+ <el-input v-model="searchForm.orderType" placeholder="璇疯緭鍏�" clearable prefix-icon="Search"
+ @change="handleQuery" />
+ </el-form-item>
+ <el-form-item label="璁㈠崟琛岋細">
+ <el-input v-model="searchForm.orderLine" placeholder="璇疯緭鍏�" clearable prefix-icon="Search"
+ @change="handleQuery" />
+ </el-form-item>
+ <el-form-item label="闇�姹傛棩鏈燂細">
+ <el-date-picker v-model="searchForm.demandDate" value-format="YYYY-MM-DD" format="YYYY-MM-DD" type="daterange"
+ placeholder="璇烽�夋嫨" clearable @change="(val) => changeDaterange(val, 'demandDate')" />
+ </el-form-item>
<el-form-item label="褰曞叆鏃ユ湡锛�">
<el-date-picker v-model="searchForm.entryDate" value-format="YYYY-MM-DD" format="YYYY-MM-DD" type="daterange"
placeholder="璇烽�夋嫨" clearable @change="changeDaterange" />
@@ -46,8 +58,14 @@
<el-table-column align="center" label="搴忓彿" type="index"/>
<el-table-column label="浜у搧澶х被" prop="productCategory" />
<el-table-column label="鍥剧焊缂栧彿" prop="specificationModel" />
- <el-table-column label="鐗╂枡鍙�" prop="material" />
+ <el-table-column label="鐗╂枡鍙�" prop="materialNo" width="120" show-overflow-tooltip />
<el-table-column label="鍗曚綅" prop="unit" />
+ <el-table-column label="鏄惁鍠风爞" prop="isSpray" width="100" align="center">
+ <template #default="scope">
+ <el-tag v-if="scope.row.isSpray" type="warning">鏄�</el-tag>
+ <el-tag v-else type="info">鍚�</el-tag>
+ </template>
+ </el-table-column>
<el-table-column label="浜у搧鐘舵��"
width="100px"
align="center">
@@ -68,10 +86,10 @@
<el-table-column label="宸插彂璐ф暟閲�" prop="shippingNum" align="center" />
<el-table-column label="宸查��璐ф暟閲�" prop="returnNum" align="center" />
<el-table-column label="鏁伴噺" prop="quantity" />
- <el-table-column label="绋庣巼(%)" prop="taxRate" />
- <el-table-column label="鍚◣鍗曚环(鍏�)" prop="taxInclusiveUnitPrice" :formatter="formattedNumber" />
- <el-table-column label="鍚◣鎬讳环(鍏�)" prop="taxInclusiveTotalPrice" :formatter="formattedNumber" />
- <el-table-column label="涓嶅惈绋庢�讳环(鍏�)" prop="taxExclusiveTotalPrice" :formatter="formattedNumber" />
+ <el-table-column v-if="isSalesDepartment" label="绋庣巼(%)" prop="taxRate" />
+ <el-table-column v-if="isSalesDepartment" label="鍚◣鍗曚环(鍏�)" prop="taxInclusiveUnitPrice" :formatter="formattedNumber" />
+ <el-table-column v-if="isSalesDepartment" label="鍚◣鎬讳环(鍏�)" prop="taxInclusiveTotalPrice" :formatter="formattedNumber" />
+ <el-table-column v-if="isSalesDepartment" label="涓嶅惈绋庢�讳环(鍏�)" prop="taxExclusiveTotalPrice" :formatter="formattedNumber" />
<!--鎿嶄綔-->
<el-table-column width="150" label="鎿嶄綔" align="center" fixed="right">
<template #default="scope">
@@ -102,7 +120,7 @@
<el-table-column label="涓氬姟鍛�" prop="salesman" width="100" show-overflow-tooltip />
<el-table-column label="椤圭洰鍚嶇О" prop="projectName" width="180" show-overflow-tooltip />
<el-table-column label="浠樻鏂瑰紡" prop="paymentMethod" show-overflow-tooltip />
- <el-table-column label="鍚堝悓閲戦(鍏�)" prop="contractAmount" width="220" show-overflow-tooltip
+ <el-table-column v-if="isSalesDepartment" label="鍚堝悓閲戦(鍏�)" prop="contractAmount" width="220" show-overflow-tooltip
:formatter="formattedNumber" />
<el-table-column label="褰曞叆浜�" prop="entryPersonName" width="100" show-overflow-tooltip />
<el-table-column label="褰曞叆鏃ユ湡" prop="entryDate" width="120" show-overflow-tooltip />
@@ -167,7 +185,7 @@
<el-col :span="12">
<el-form-item label="绛捐鏃ユ湡锛�" prop="executionDate">
<el-date-picker style="width: 100%" v-model="form.executionDate" value-format="YYYY-MM-DD"
- format="YYYY-MM-DD" type="date" placeholder="璇烽�夋嫨" clearable :disabled="operationType === 'view'" />
+ format="YYYY-MM-DD" type="date" placeholder="璇烽�夋嫨" clearable :disabled="operationType === 'view'" />
</el-form-item>
</el-col>
<el-col :span="12">
@@ -175,6 +193,32 @@
<el-input v-model="form.paymentMethod" placeholder="璇疯緭鍏�" clearable :disabled="operationType === 'view'" />
</el-form-item>
</el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="璁㈠崟绫诲瀷锛�" prop="orderType">
+ <el-input v-model="form.orderType" placeholder="璇疯緭鍏�" clearable :disabled="operationType === 'view'" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="璁㈠崟琛岋細" prop="orderLine">
+ <el-input v-model="form.orderLine" placeholder="璇疯緭鍏�" clearable :disabled="operationType === 'view'" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="闇�姹傛棩鏈燂細" prop="demandDate">
+ <el-date-picker style="width: 100%" v-model="form.demandDate" value-format="YYYY-MM-DD" format="YYYY-MM-DD"
+ type="date" placeholder="璇烽�夋嫨" clearable :disabled="operationType === 'view'" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="浜よ揣鏃ユ湡锛�" prop="entryDate">
+ <el-date-picker style="width: 100%" v-model="form.deliveryDate" value-format="YYYY-MM-DD" format="YYYY-MM-DD"
+ type="date" placeholder="璇烽�夋嫨" clearable />
+ </el-form-item>
+ </el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="12">
@@ -194,14 +238,6 @@
</el-form-item>
</el-col>
</el-row>
- <el-row :gutter="30">
- <el-col :span="12">
- <el-form-item label="浜よ揣鏃ユ湡锛�" prop="entryDate">
- <el-date-picker style="width: 100%" v-model="form.deliveryDate" value-format="YYYY-MM-DD" format="YYYY-MM-DD"
- type="date" placeholder="璇烽�夋嫨" clearable />
- </el-form-item>
- </el-col>
- </el-row>
<el-row>
<el-form-item label="浜у搧淇℃伅锛�" prop="entryDate">
<el-button v-if="operationType !== 'view'" type="primary" @click="openProductForm('add')">娣诲姞</el-button>
@@ -215,13 +251,23 @@
<el-table-column align="center" label="搴忓彿" type="index" width="60" />
<el-table-column label="浜у搧澶х被" prop="productCategory" />
<el-table-column label="鍥剧焊缂栧彿" prop="specificationModel" />
- <el-table-column label="鐗╂枡鍙�" prop="material" />
+ <el-table-column label="鐗╂枡鍙�" prop="materialNo" width="120" show-overflow-tooltip />
<el-table-column label="鍗曚綅" prop="unit" />
<el-table-column label="鏁伴噺" prop="quantity" />
- <el-table-column label="绋庣巼(%)" prop="taxRate" />
- <el-table-column label="鍚◣鍗曚环(鍏�)" prop="taxInclusiveUnitPrice" :formatter="formattedNumber" />
- <el-table-column label="鍚◣鎬讳环(鍏�)" prop="taxInclusiveTotalPrice" :formatter="formattedNumber" />
- <el-table-column label="涓嶅惈绋庢�讳环(鍏�)" prop="taxExclusiveTotalPrice" :formatter="formattedNumber" />
+ <el-table-column label="浜よ揣鏁伴噺" prop="deliveryQuantity" />
+ <el-table-column label="鍓╀綑鏁伴噺" prop="remainingQuantity" />
+ <el-table-column label="瀛愬簱瀛�" prop="subInventory" width="120" show-overflow-tooltip />
+ <el-table-column label="璐т綅" prop="location" width="120" show-overflow-tooltip />
+ <el-table-column label="鏄惁鍠风爞" prop="isSpray" width="100" align="center">
+ <template #default="scope">
+ <el-tag v-if="scope.row.isSpray" type="warning">鏄�</el-tag>
+ <el-tag v-else type="info">鍚�</el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column v-if="isSalesDepartment" label="绋庣巼(%)" prop="taxRate" />
+ <el-table-column v-if="isSalesDepartment" label="鍚◣鍗曚环(鍏�)" prop="taxInclusiveUnitPrice" :formatter="formattedNumber" />
+ <el-table-column v-if="isSalesDepartment" label="鍚◣鎬讳环(鍏�)" prop="taxInclusiveTotalPrice" :formatter="formattedNumber" />
+ <el-table-column v-if="isSalesDepartment" 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"
@@ -345,8 +391,8 @@
</el-row>
<el-row :gutter="30">
<el-col :span="24">
- <el-form-item label="鐗╂枡鍙凤細" prop="material">
- <el-input v-model="productForm.material" placeholder="璇疯緭鍏ョ墿鏂欏彿" clearable />
+ <el-form-item label="鐗╂枡鍙凤細" prop="materialNo">
+ <el-input v-model="productForm.materialNo" placeholder="璇疯緭鍏ョ墿鏂欏彿" clearable />
</el-form-item>
</el-col>
</el-row>
@@ -356,9 +402,10 @@
<el-input v-model="productForm.unit" placeholder="璇疯緭鍏�" clearable />
</el-form-item>
</el-col>
- <el-col :span="12">
+ <el-col :span="12" v-if="isSalesDepartment">
<el-form-item label="绋庣巼(%)锛�" prop="taxRate">
<el-select v-model="productForm.taxRate" placeholder="璇烽�夋嫨" clearable @change="calculateFromTaxRate">
+ <el-option label="0" value="0" />
<el-option label="1" value="1" />
<el-option label="6" value="6" />
<el-option label="13" value="13" />
@@ -368,10 +415,43 @@
</el-row>
<el-row :gutter="30">
<el-col :span="12">
+ <el-form-item label="浜よ揣鏁伴噺锛�" prop="deliveryQuantity">
+ <el-input-number :step="0.1" :min="0" v-model="productForm.deliveryQuantity" placeholder="璇疯緭鍏�" clearable
+ :precision="2" style="width: 100%" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鍓╀綑鏁伴噺锛�" prop="remainingQuantity">
+ <el-input-number :step="0.1" :min="0" v-model="productForm.remainingQuantity" placeholder="璇疯緭鍏�" clearable
+ :precision="2" style="width: 100%" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="瀛愬簱瀛橈細" prop="subInventory">
+ <el-input v-model="productForm.subInventory" placeholder="璇疯緭鍏�" clearable />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="璐т綅锛�" prop="location">
+ <el-input v-model="productForm.location" placeholder="璇疯緭鍏�" clearable />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="鏄惁鍠风爞锛�" prop="isSpray">
+ <el-switch v-model="productForm.isSpray" active-text="鏄�" inactive-text="鍚�" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="12" v-if="isSalesDepartment">
<el-form-item label="鍚◣鍗曚环(鍏�)锛�" prop="taxInclusiveUnitPrice">
<el-input-number :step="0.01" :min="0" v-model="productForm.taxInclusiveUnitPrice" style="width: 100%"
- :precision="2"
- placeholder="璇疯緭鍏�" clearable @change="calculateFromUnitPrice" />
+ :precision="2"
+ placeholder="璇疯緭鍏�" clearable @change="calculateFromUnitPrice" />
</el-form-item>
</el-col>
<el-col :span="12">
@@ -382,7 +462,7 @@
</el-form-item>
</el-col>
</el-row>
- <el-row :gutter="30">
+ <el-row :gutter="30" v-if="isSalesDepartment">
<el-col :span="12">
<el-form-item label="鍚◣鎬讳环(鍏�)锛�" prop="taxInclusiveTotalPrice">
<el-input v-model="productForm.taxInclusiveTotalPrice" placeholder="璇疯緭鍏�" clearable @change="calculateFromTotalPrice" />
@@ -394,7 +474,7 @@
</el-form-item>
</el-col>
</el-row>
- <el-row :gutter="30">
+ <el-row :gutter="30" v-if="isSalesDepartment">
<el-col :span="12">
<el-form-item label="鍙戠エ绫诲瀷锛�" prop="invoiceType">
<el-select v-model="productForm.invoiceType" placeholder="璇烽�夋嫨" clearable>
@@ -631,6 +711,12 @@
const userStore = useUserStore();
const { proxy } = getCurrentInstance();
+
+// 鏄惁鏄攢鍞儴锛堟帶鍒朵环鏍煎瓧娈垫樉绀�/闅愯棌锛�
+const isSalesDepartment = computed(() => {
+ return currentFactoryName.value === '閿�鍞儴';
+});
+
const tableData = ref([]);
const productData = ref([]);
const selectedRows = ref([]);
@@ -654,6 +740,12 @@
searchForm: {
customerName: "", // 瀹㈡埛鍚嶇О
salesContractNo: "", // 閿�鍞悎鍚岀紪鍙�
+ projectName: "", // 椤圭洰鍚嶇О
+ orderType: "", // 璁㈠崟绫诲瀷
+ orderLine: "", // 璁㈠崟琛�
+ demandDate: null, // 闇�姹傛棩鏈�
+ demandDateStart: undefined,
+ demandDateEnd: undefined,
entryDate: null, // 褰曞叆鏃ユ湡
entryDateStart: undefined,
entryDateEnd: undefined,
@@ -662,12 +754,16 @@
salesContractNo: "",
salesman: "",
customerId: "",
+ projectName: "",
entryPerson: "",
entryDate: "",
deliveryDate: "",
maintenanceTime: "",
productData: [],
executionDate: "",
+ orderType: "",
+ orderLine: "",
+ demandDate: "",
},
rules: {
salesman: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
@@ -690,10 +786,15 @@
productId: "",
productModelId: "",
productCategory: "",
- material: "",
+ materialNo: "",
specificationModel: "",
unit: "",
quantity: "",
+ deliveryQuantity: 0,
+ remainingQuantity: 0,
+ subInventory: "",
+ location: "",
+ isSpray: false,
taxInclusiveUnitPrice: "",
taxRate: "",
taxInclusiveTotalPrice: "",
@@ -801,13 +902,23 @@
},
});
-const changeDaterange = (value) => {
+const changeDaterange = (value, type = 'entryDate') => {
if (value) {
- searchForm.entryDateStart = dayjs(value[0]).format("YYYY-MM-DD");
- searchForm.entryDateEnd = dayjs(value[1]).format("YYYY-MM-DD");
+ if (type === 'demandDate') {
+ searchForm.demandDateStart = dayjs(value[0]).format("YYYY-MM-DD");
+ searchForm.demandDateEnd = dayjs(value[1]).format("YYYY-MM-DD");
+ } else {
+ searchForm.entryDateStart = dayjs(value[0]).format("YYYY-MM-DD");
+ searchForm.entryDateEnd = dayjs(value[1]).format("YYYY-MM-DD");
+ }
} else {
- searchForm.entryDateStart = undefined;
- searchForm.entryDateEnd = undefined;
+ if (type === 'demandDate') {
+ searchForm.demandDateStart = undefined;
+ searchForm.demandDateEnd = undefined;
+ } else {
+ searchForm.entryDateStart = undefined;
+ searchForm.entryDateEnd = undefined;
+ }
}
handleQuery();
};
--
Gitblit v1.9.3