From c9e78ad7be4006bfd62e728b249e68a7366d2e38 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期三, 21 一月 2026 17:27:18 +0800
Subject: [PATCH] 湟水峡 1.生产报工单价默认值修改 2.车辆管理页面开发和联调 3.生产管理模块修改 4.发货前端页面开发
---
src/views/salesManagement/salesLedger/index.vue | 122 +++++++++++++++++++++++++++-------------
1 files changed, 83 insertions(+), 39 deletions(-)
diff --git a/src/views/salesManagement/salesLedger/index.vue b/src/views/salesManagement/salesLedger/index.vue
index aedfb98..a1bed58 100644
--- a/src/views/salesManagement/salesLedger/index.vue
+++ b/src/views/salesManagement/salesLedger/index.vue
@@ -55,33 +55,11 @@
<el-tag v-if="scope.row.approveStatus === 4" type="danger">瀹℃牳澶辫触</el-tag>
</template>
</el-table-column>
- <el-table-column label="鍙戣揣杞︾墝" minWidth="100px" align="center">
- <template #default="scope">
- <div>
- <el-tag type="success" v-if="scope.row.shippingCarNumber">{{ scope.row.shippingCarNumber }}</el-tag>
- <el-tag v-else type="info">鏈彂璐�</el-tag>
- </div>
- </template>
- </el-table-column>
- <el-table-column label="鍙戣揣鏃ユ湡" minWidth="100px" align="center">
- <template #default="scope">
- <div>
- <div v-if="scope.row.shippingDate">{{ scope.row.shippingDate }}</div>
- <el-tag v-else type="info">鏈彂璐�</el-tag>
- </div>
- </template>
- </el-table-column>
<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 Width="60px" label="鎿嶄綔" align="center">
- <template #default="scope">
- <el-button :disabled="scope.row.approveStatus!==2 || scope.row.approveStatus!==5" link type="primary" size="small" @click="openDeliveryForm(scope.row)">鍙戣揣</el-button>
- </template>
- </el-table-column>
</el-table>
</template>
</el-table-column>
@@ -95,12 +73,13 @@
<el-table-column label="褰曞叆浜�" prop="entryPersonName" width="100" show-overflow-tooltip />
<el-table-column label="褰曞叆鏃ユ湡" prop="entryDate" width="120" show-overflow-tooltip />
<el-table-column label="绛捐鏃ユ湡" prop="executionDate" width="120" show-overflow-tooltip />
- <el-table-column fixed="right" label="鎿嶄綔" min-width="100" align="center">
+ <el-table-column label="鍙戣揣杞︾墝" prop="shippingCarNumber" width="140" align="center" show-overflow-tooltip />
+ <el-table-column label="鍙戣揣鏃ユ湡" prop="shippingDate" width="140" align="center" show-overflow-tooltip />
+ <el-table-column fixed="right" label="鎿嶄綔" min-width="140" align="center">
<template #default="scope">
<el-button link type="primary" size="small" @click="openForm('edit', scope.row)">缂栬緫</el-button>
-<!-- <el-button link type="primary" size="small" @click="openForm('view', scope.row)">璇︽儏</el-button>-->
<el-button link type="primary" size="small" @click="downLoadFile(scope.row)">闄勪欢</el-button>
-<!-- <el-button link type="primary" size="small" @click="openDeliveryForm(scope.row)">鍙戣揣</el-button>-->
+ <el-button link type="primary" size="small" @click="openDeliveryForm(scope.row)">鍙戣揣</el-button>
</template>
</el-table-column>
</el-table>
@@ -447,6 +426,21 @@
<el-form :model="deliveryForm" label-width="120px" label-position="top" :rules="deliveryRules" ref="deliveryFormRef">
<el-row :gutter="30">
<el-col :span="24">
+ <el-form-item label="鍙戣揣绫诲瀷锛�" prop="shippingType">
+ <el-select
+ v-model="deliveryForm.shippingType"
+ placeholder="璇烽�夋嫨鍙戣揣绫诲瀷"
+ style="width: 100%"
+ @change="handleShippingTypeChange"
+ >
+ <el-option label="璐ц溅" value="truck" />
+ <el-option label="蹇��" value="express" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="24">
<el-form-item label="鍙戣揣鏃ユ湡锛�" prop="shippingDate">
<el-date-picker
style="width: 100%"
@@ -461,11 +455,20 @@
</el-col>
</el-row>
<el-row :gutter="30">
- <el-col :span="24">
+ <el-col :span="24" v-if="deliveryForm.shippingType === 'truck'">
<el-form-item label="鍙戣揣杞︾墝鍙凤細" prop="shippingCarNumber">
<el-input
v-model="deliveryForm.shippingCarNumber"
placeholder="璇疯緭鍏ュ彂璐ц溅鐗屽彿"
+ clearable
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="24" v-else>
+ <el-form-item label="蹇�掑叕鍙革細" prop="expressCompany">
+ <el-input
+ v-model="deliveryForm.expressCompany"
+ placeholder="璇疯緭鍏ュ揩閫掑叕鍙�"
clearable
/>
</el-form-item>
@@ -492,7 +495,7 @@
import { UploadFilled } from "@element-plus/icons-vue";
import useUserStore from "@/store/modules/user";
import { userListNoPage } from "@/api/system/user.js";
-import FileListDialog from '@/components/Dialog/FileListDialog.vue';
+import FileList from '@/views/salesManagement/salesLedger/fileList.vue';
import FormDialog from '@/components/Dialog/FormDialog.vue';
import { getQuotationList } from "@/api/salesManagement/salesQuotation.js";
import {
@@ -618,15 +621,23 @@
const currentDeliveryRow = ref(null);
const deliveryFormData = reactive({
deliveryForm: {
+ shippingType: "truck", // truck: 璐ц溅, express: 蹇��
shippingDate: "",
shippingCarNumber: "",
+ expressCompany: "",
},
deliveryRules: {
+ shippingType: [
+ { required: true, message: "璇烽�夋嫨鍙戣揣绫诲瀷", trigger: "change" }
+ ],
shippingDate: [
{ required: true, message: "璇烽�夋嫨鍙戣揣鏃ユ湡", trigger: "change" }
],
shippingCarNumber: [
- { required: true, message: "璇疯緭鍏ュ彂璐ц溅鐗屽彿", trigger: "blur" }
+ { validator: (_, value, callback) => validateShippingCarNumber(value, callback), trigger: "blur" }
+ ],
+ expressCompany: [
+ { validator: (_, value, callback) => validateExpressCompany(value, callback), trigger: "blur" }
],
},
});
@@ -1434,6 +1445,20 @@
return total.toFixed(2);
};
+// 鍙戣揣绫诲瀷鏍¢獙锛氳揣杞︽椂瑕佹眰杞︾墝锛屽揩閫掓椂瑕佹眰蹇�掑叕鍙�
+const validateShippingCarNumber = (value, callback) => {
+ if (deliveryForm.value.shippingType === "truck") {
+ if (!value) return callback(new Error("璇疯緭鍏ュ彂璐ц溅鐗屽彿"));
+ }
+ callback();
+};
+const validateExpressCompany = (value, callback) => {
+ if (deliveryForm.value.shippingType === "express") {
+ if (!value) return callback(new Error("璇疯緭鍏ュ揩閫掑叕鍙�"));
+ }
+ callback();
+};
+
const mathNum = () => {
console.log("productForm.value", productForm.value);
if (!productForm.value.taxInclusiveUnitPrice) {
@@ -1622,16 +1647,24 @@
// 鎵撳紑鍙戣揣寮规
const openDeliveryForm = (row) => {
- getProductInventory({ salesLedgerId: row.id, type:1 }).then((res) => {
- currentDeliveryRow.value = row;
- deliveryForm.value = {
- shippingDate: getCurrentDate(),
- shippingCarNumber: "",
- };
- deliveryFormVisible.value = true;
- }).catch(err => {
- ElMessage.error(err.msg);
- });
+ // getProductInventory({ salesLedgerId: row.id, type:1 }).then((res) => {
+ // currentDeliveryRow.value = row;
+ // deliveryForm.value = {
+ // shippingDate: getCurrentDate(),
+ // shippingCarNumber: "",
+ // };
+ // deliveryFormVisible.value = true;
+ // }).catch(err => {
+ // ElMessage.error(err.msg);
+ // });
+ currentDeliveryRow.value = row;
+ deliveryForm.value = {
+ shippingType: "truck",
+ shippingDate: getCurrentDate(),
+ shippingCarNumber: "",
+ expressCompany: "",
+ };
+ deliveryFormVisible.value = true;
};
// 鎻愪氦鍙戣揣琛ㄥ崟
@@ -1640,8 +1673,10 @@
if (valid) {
addShippingInfo({
salesLedgerId: currentDeliveryRow.value.id,
+ shippingType: deliveryForm.value.shippingType,
shippingDate: deliveryForm.value.shippingDate,
- shippingCarNumber: deliveryForm.value.shippingCarNumber,
+ shippingCarNumber: deliveryForm.value.shippingType === "truck" ? deliveryForm.value.shippingCarNumber : "",
+ expressCompany: deliveryForm.value.shippingType === "express" ? deliveryForm.value.expressCompany : "",
})
.then(() => {
proxy.$modal.msgSuccess("鍙戣揣鎴愬姛");
@@ -1662,6 +1697,15 @@
currentDeliveryRow.value = null;
};
+// 鍙戣揣绫诲瀷鍒囨崲鏃舵竻绌哄搴斿瓧娈�
+const handleShippingTypeChange = (val) => {
+ if (val === "truck") {
+ deliveryForm.value.expressCompany = "";
+ } else {
+ deliveryForm.value.shippingCarNumber = "";
+ }
+};
+
onMounted(() => {
getList();
});
--
Gitblit v1.9.3