From a3057955f855b8a266c017df00645845e7471410 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 07 八月 2026 18:01:59 +0800
Subject: [PATCH] 银川 1.不合格品处理页面开发联调 2.招投标管理 - 可配置版前端联调方案

---
 src/views/wls/stocktaking/plan/components/condition-value-input.vue |   30 +++++++++++++++++++++---------
 1 files changed, 21 insertions(+), 9 deletions(-)

diff --git a/src/views/wls/stocktaking/plan/components/condition-value-input.vue b/src/views/wls/stocktaking/plan/components/condition-value-input.vue
index d38c9de..1ad1dfc 100644
--- a/src/views/wls/stocktaking/plan/components/condition-value-input.vue
+++ b/src/views/wls/stocktaking/plan/components/condition-value-input.vue
@@ -1,7 +1,7 @@
 <script lang="ts" setup>
 import type { NumberDictDataType } from '@vben/hooks';
 
-import { ref, watch } from 'vue';
+import { computed, ref, watch } from 'vue';
 
 import { DICT_TYPE, WlsStockTakingParamTypeEnum } from '@vben/constants';
 import { getDictOptions } from '@vben/hooks';
@@ -24,16 +24,19 @@
   defineProps<{
     modelValue?: number;
     type?: number;
+    value?: number;
     valueCode?: string;
   }>(),
   {
     modelValue: undefined,
     type: undefined,
+    value: undefined,
     valueCode: undefined,
   },
 );
 const emit = defineEmits<{
   'update:modelValue': [value?: number];
+  'update:value': [value?: number];
   valueChange: [
     payload: { valueCode?: string; valueId?: number; valueName?: string },
   ];
@@ -44,6 +47,9 @@
   'number',
 ) as NumberDictDataType[];
 
+/** 鍏煎 VbenForm 榛樿 v-model prop ('value') 鍜� Vue 3 鏍囧噯 ('modelValue') */
+const effectiveValue = computed(() => props.value ?? props.modelValue);
+
 const locationWarehouseId = ref<number>(); // 搴撳尯閫夋嫨鍣ㄤ复鏃舵暟鎹細閫変粨搴撳悗浼犵粰搴撳尯閫夋嫨鍣�
 const areaWarehouseId = ref<number>(); // 搴撲綅閫夋嫨鍣ㄤ复鏃舵暟鎹細閫変粨搴撳悗浼犵粰搴撳尯閫夋嫨鍣�
 const areaLocationId = ref<number>(); // 搴撲綅閫夋嫨鍣ㄤ复鏃舵暟鎹細閫夊簱鍖哄悗浼犵粰搴撲綅閫夋嫨鍣�
@@ -53,6 +59,7 @@
 /** 閫氱敤閫夋嫨鍣ㄥ彉鍖栵細鍥炲~鏉′欢鍊肩紪鐮併�佸悕绉� */
 function handleSelectorChange(item?: any) {
   emit('update:modelValue', item?.id);
+  emit('update:value', item?.id);
   emit('valueChange', {
     valueId: item?.id,
     valueCode: item?.code || '',
@@ -63,6 +70,7 @@
 /** 鎵规閫夋嫨鍣ㄥ彉鍖� */
 function handleBatchChange(batch?: any) {
   emit('update:modelValue', batch?.id);
+  emit('update:value', batch?.id);
   emit('valueChange', {
     valueId: batch?.id,
     valueCode: batch?.code || '',
@@ -75,6 +83,7 @@
   qualityStatusValue.value = value;
   const selected = qualityStatusOptions.find((item) => item.value === value);
   emit('update:modelValue', undefined);
+  emit('update:value', undefined);
   emit('valueChange', {
     valueId: undefined,
     valueCode: value === null ? '' : String(value),
@@ -85,6 +94,7 @@
 /** 搴撳尯浠撳簱閫夋嫨鍥炶皟锛氭竻绌哄簱鍖� */
 function handleLocationWarehouseChange() {
   emit('update:modelValue', undefined);
+  emit('update:value', undefined);
   emit('valueChange', { valueId: undefined, valueCode: '', valueName: '' });
 }
 
@@ -92,12 +102,14 @@
 function handleAreaWarehouseChange() {
   areaLocationId.value = undefined;
   emit('update:modelValue', undefined);
+  emit('update:value', undefined);
   emit('valueChange', { valueId: undefined, valueCode: '', valueName: '' });
 }
 
 /** 搴撲綅搴撳尯閫夋嫨鍥炶皟锛氭竻绌哄簱浣� */
 function handleAreaLocationChange() {
   emit('update:modelValue', undefined);
+  emit('update:value', undefined);
   emit('valueChange', { valueId: undefined, valueCode: '', valueName: '' });
 }
 
@@ -109,14 +121,14 @@
       : undefined;
     return;
   }
-  if (!props.modelValue) {
+  if (!effectiveValue.value) {
     return;
   }
   if (props.type === WlsStockTakingParamTypeEnum.LOCATION) {
-    const location = await getWarehouseLocation(props.modelValue);
+    const location = await getWarehouseLocation(effectiveValue.value);
     locationWarehouseId.value = location?.warehouseId;
   } else if (props.type === WlsStockTakingParamTypeEnum.AREA) {
-    const area = await getWarehouseArea(props.modelValue);
+    const area = await getWarehouseArea(effectiveValue.value);
     areaWarehouseId.value = area?.warehouseId;
     areaLocationId.value = area?.locationId;
   }
@@ -139,7 +151,7 @@
 <template>
   <WmWarehouseSelect
     v-if="type === WlsStockTakingParamTypeEnum.WAREHOUSE"
-    :model-value="modelValue"
+    :model-value="effectiveValue"
     @change="handleSelectorChange"
   />
   <div
@@ -153,7 +165,7 @@
     />
     <WmWarehouseLocationSelect
       v-if="locationWarehouseId"
-      :model-value="modelValue"
+      :model-value="effectiveValue"
       :warehouse-id="locationWarehouseId"
       placeholder="璇烽�夋嫨搴撳尯"
       @change="handleSelectorChange"
@@ -177,7 +189,7 @@
     />
     <WmWarehouseAreaSelect
       v-if="areaLocationId"
-      :model-value="modelValue"
+      :model-value="effectiveValue"
       :location-id="areaLocationId"
       placeholder="璇烽�夋嫨搴撲綅"
       @change="handleSelectorChange"
@@ -185,12 +197,12 @@
   </div>
   <MdItemSelect
     v-else-if="type === WlsStockTakingParamTypeEnum.ITEM"
-    :model-value="modelValue"
+    :model-value="effectiveValue"
     @change="handleSelectorChange"
   />
   <WmBatchSelect
     v-else-if="type === WlsStockTakingParamTypeEnum.BATCH"
-    :model-value="modelValue"
+    :model-value="effectiveValue"
     @change="handleBatchChange"
   />
   <Select

--
Gitblit v1.9.3