From 1f7e58b5ec4f633773bbcfe65d1f686f934905d1 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 22 九月 2026 09:13:08 +0800
Subject: [PATCH] 新疆-融邦环保 1.采购申请页面字段修改 2.油品出入库反显逻辑修改
---
src/views/inventoryManagement/stockManagement/OilStockInDialog.vue | 60 ++++++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 40 insertions(+), 20 deletions(-)
diff --git a/src/views/inventoryManagement/stockManagement/OilStockInDialog.vue b/src/views/inventoryManagement/stockManagement/OilStockInDialog.vue
index 36468ce..ab1199c 100644
--- a/src/views/inventoryManagement/stockManagement/OilStockInDialog.vue
+++ b/src/views/inventoryManagement/stockManagement/OilStockInDialog.vue
@@ -10,15 +10,16 @@
ref="formRef">
<el-row :gutter="30">
<el-col :span="12">
- <el-form-item label="浜у搧澶х被"
+ <el-form-item label="浜у搧"
prop="productId"
:rules="[
{
required: true,
- message: '璇烽�夋嫨浜у搧澶х被',
+ message: '璇烽�夋嫨浜у搧',
trigger: 'change',
}
]">
+ <!-- 娌瑰搧鐢便�屼骇鍝� + 瑙勬牸鍨嬪彿銆嶄袱绾ч�夊嚭锛屼笉鍗曠嫭缁存姢 -->
<el-tree-select v-model="formState.productId"
placeholder="璇烽�夋嫨"
clearable
@@ -206,10 +207,11 @@
<el-col :span="12">
<el-form-item label="娌瑰搧"
prop="oilProduct"
- :rules="[{ required: true, message: '璇烽�夋嫨娌瑰搧', trigger: 'change' }]">
- <el-input :model-value="formState.oilProduct"
- readonly
- placeholder="--" />
+ :rules="[{ required: true, message: '璇疯緭鍏ユ补鍝�', trigger: 'change' }]">
+ <!-- 閫夊畬銆屼骇鍝� + 瑙勬牸鍨嬪彿銆嶈嚜鍔ㄥ啓鍏ワ紝涔熻兘鑷繁鏀� -->
+ <el-input v-model="formState.oilProduct"
+ placeholder="閫夊畬浜у搧涓庤鏍煎瀷鍙峰悗鑷姩鐢熸垚"
+ @input="handleOilProductInput" />
</el-form-item>
</el-col>
</el-row>
@@ -315,7 +317,6 @@
prop="trailerPlateNo"
:rules="[{ required: true, message: '璇疯緭鍏ヨ溅鎸傜墝鍙�', trigger: 'blur' }]">
<el-input v-model="formState.trailerPlateNo"
- :readonly="!!formState.vehicleId"
placeholder="璇疯緭鍏�"
clearable />
</el-form-item>
@@ -679,6 +680,26 @@
const productOptions = ref([]);
const modelOptions = ref([]);
+ // 娌瑰搧榛樿鐢便�屼骇鍝� + 瑙勬牸鍨嬪彿銆嶄袱绾ф嫾鍑烘潵锛堜袱绾ч兘閫夊畬鎵嶆湁鍊硷級銆�
+ // autoOilProduct 璁颁綇鑷姩鍐欒繘鍘荤殑鍊硷紝鐢ㄦ潵鍒ゆ柇鐢ㄦ埛鏈夋病鏈夋墜鏀硅繃鈥斺�旀墜鏀硅繃灏变笉鍐嶈鐩�
+ const autoOilProduct = ref("");
+
+ const oilProductLabel = (productName, model) =>
+ [productName, model].filter(Boolean).join(" / ");
+
+ const syncOilProduct = next => {
+ const current = formState.value.oilProduct;
+ if (!current || current === autoOilProduct.value) {
+ formState.value.oilProduct = next || undefined;
+ }
+ autoOilProduct.value = next || "";
+ };
+
+ // 鎵嬫敼杩囦箣鍚� autoOilProduct 灏卞涓嶄笂浜嗭紝鍚庨潰鐨勪骇鍝�/瑙勬牸鑱斿姩涓嶅啀瑕嗙洊瀹�
+ const handleOilProductInput = () => {
+ autoOilProduct.value = "";
+ };
+
let { proxy } = getCurrentInstance();
const closeModal = () => {
@@ -708,19 +729,17 @@
}
};
- // 杞﹁締閫夋嫨鏀瑰彉锛氳溅鐗屽彿銆佽溅鎸傜墝鍙蜂笌鍙告満淇℃伅鐢辫溅杈嗕富鏁版嵁甯﹀嚭锛屽徃鏈哄彲鎵嬪姩瑕嗙洊
+ // 杞﹁締閫夋嫨鏀瑰彉锛氳溅鐗屽彿涓庡徃鏈轰俊鎭敱杞﹁締涓绘暟鎹甫鍑猴紝鍙告満鍙墜鍔ㄨ鐩栥��
+ // 杞︽寕鐗屽彿鏄寕杞﹁嚜宸辩殑鐗屻�佷笉鍦ㄨ溅杈嗕富鏁版嵁閲岋紝濮嬬粓鎵嬪~锛屼笉鍙備笌鑱斿姩銆�
const vehicleChange = id => {
const vehicle = vehicleList.value.find(item => item.id === id);
- if (vehicle) {
- formState.value.truckPlateNo = vehicle.plateNumber || "";
- // 杞︽寕鐗屽彿涓庤溅鐗屽彿鏄悓涓�涓墝锛岄�変簡杞﹁締灏卞甫鍑哄苟缃负鍙锛岄伩鍏嶆墜濉嚭涓や釜涓嶄竴鑷寸殑鍊�
- formState.value.trailerPlateNo = vehicle.plateNumber || "";
- formState.value.driverName = vehicle.driverName || "";
- formState.value.driverPhone = vehicle.driverPhone || "";
- } else {
+ if (!vehicle) {
formState.value.truckPlateNo = "";
- formState.value.trailerPlateNo = "";
+ return;
}
+ formState.value.truckPlateNo = vehicle.plateNumber || "";
+ formState.value.driverName = vehicle.driverName || "";
+ formState.value.driverPhone = vehicle.driverPhone || "";
};
const getProductOptions = () =>
@@ -746,7 +765,8 @@
formState.value.productName = "";
formState.value.productModelName = "";
formState.value.unit = "";
- formState.value.oilProduct = undefined;
+ // 娌瑰搧鏄骇鍝� + 瑙勬牸鎷煎嚭鏉ョ殑锛屾崲浜嗕骇鍝佸氨涓�璧蜂綔搴燂紝鎵嬫敼杩囩殑涓嶅姩
+ syncOilProduct("");
modelOptions.value = [];
if (!value) {
return;
@@ -756,14 +776,14 @@
});
};
- // 瑙勬牸鍨嬪彿鏀瑰彉锛氫骇鍝佸悕绉�/瑙勬牸/鍗曚綅鐢辫鏍间富鏁版嵁甯﹀嚭锛屾补鍝佸彇浜у搧鍚嶇О
+ // 瑙勬牸鍨嬪彿鏀瑰彉锛氫骇鍝佸悕绉�/瑙勬牸/鍗曚綅鐢辫鏍间富鏁版嵁甯﹀嚭
const handleProductModelChange = value => {
const item = modelOptions.value.find(row => row.id === value);
formState.value.productName = item?.productName || "";
formState.value.productModelName = item?.model || "";
formState.value.unit = item?.unit || "";
- // 鏈鎴枫�屾补鍝併�嶅氨鏄骇鍝佸悕绉帮紙搴撳瓨鏄庣粏/鍑哄簱鍙拌处鐨勬补鍝佸垪缁戠殑閮芥槸 productName锛�
- formState.value.oilProduct = item?.productName || undefined;
+ // 鏈鎴枫�屾补鍝併�嶆寜銆屼骇鍝佸悕绉� / 瑙勬牸鍨嬪彿銆嶅睍绀猴紝搴撳瓨鏄庣粏銆佸嚭搴撳彴璐︾殑娌瑰搧鍒楀彇鐨勫氨鏄畠
+ syncOilProduct(oilProductLabel(item?.productName, item?.model));
proxy.$refs["formRef"]?.validateField("productModelId");
};
--
Gitblit v1.9.3