From d1791f762791428af91467b8855de83d54f015f9 Mon Sep 17 00:00:00 2001
From: zhuguifei <312353457@qq.com>
Date: 星期五, 17 四月 2026 15:23:21 +0800
Subject: [PATCH] feat: 1.新增物料、物料类型、材料检验统计等表维护功能  2.完善判定依据-判断依据明细  3.新增判断依据、物料管理等字典翻译类  4.成品物料批次-原始数据维护页面

---
 ruoyi-plus-soybean/src/views/qm/judge/modules/judge-search.vue |   54 ++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 48 insertions(+), 6 deletions(-)

diff --git a/ruoyi-plus-soybean/src/views/qm/judge/modules/judge-search.vue b/ruoyi-plus-soybean/src/views/qm/judge/modules/judge-search.vue
index 235b8a3..ba7c5dd 100644
--- a/ruoyi-plus-soybean/src/views/qm/judge/modules/judge-search.vue
+++ b/ruoyi-plus-soybean/src/views/qm/judge/modules/judge-search.vue
@@ -1,6 +1,7 @@
 <script setup lang="ts">
-import { toRaw } from 'vue';
+import { onMounted, ref, toRaw, watch } from 'vue';
 import { jsonClone } from '@sa/utils';
+import { fetchGetMatList } from '@/service/api/md/mat';
 import { useNaiveForm } from '@/hooks/common/form';
 import { $t } from '@/locales';
 
@@ -19,6 +20,43 @@
 const model = defineModel<Api.Qm.JudgeSearchParams>('model', { required: true });
 
 const defaultModel = jsonClone(toRaw(model.value));
+
+const matOptions = ref<CommonType.Option[]>([]);
+
+async function getMatOptions() {
+  if (model.value.category !== 0) {
+    matOptions.value = [];
+    model.value.matName = null;
+    model.value.matCode = null;
+    return;
+  }
+  const { data } = await fetchGetMatList({ tid: 1, pageSize: 1000 });
+  if (data) {
+    matOptions.value = data.rows.map(item => ({
+      label: item.name,
+      value: item.code
+    }));
+  }
+}
+
+watch(
+  () => model.value.category,
+  newVal => {
+    if (newVal === 0) {
+      getMatOptions();
+    } else {
+      matOptions.value = [];
+      model.value.matName = null;
+      model.value.matCode = null;
+    }
+  }
+);
+
+onMounted(() => {
+  if (model.value.category === 0) {
+    getMatOptions();
+  }
+});
 
 function resetModel() {
   Object.assign(model.value, defaultModel);
@@ -53,11 +91,15 @@
               />
             </NFormItemGi>
 
-            <NFormItemGi span="24 s:12 m:6" label="鐗╂枡鐗屽彿浠g爜" label-width="auto" path="matCode" class="pr-24px">
-              <NInput v-model:value="model.matCode" placeholder="璇疯緭鍏ョ墿鏂欑墝鍙蜂唬鐮�" />
-            </NFormItemGi>
-            <NFormItemGi span="24 s:12 m:6" label="鐗╂枡鐗屽彿" label-width="auto" path="matName" class="pr-24px">
-              <NInput v-model:value="model.matName" placeholder="璇疯緭鍏ョ墿鏂欑墝鍙�" />
+            <NFormItemGi span="24 s:12 m:6" label="鐗╂枡鐗屽彿" label-width="auto" path="matCode" class="pr-24px">
+              <NSelect
+                v-model:value="model.matCode"
+                :options="matOptions"
+                placeholder="璇烽�夋嫨鐗╂枡鐗屽彿"
+                :disabled="model.category !== 0"
+                clearable
+                filterable
+              />
             </NFormItemGi>
             <NFormItemGi span="24 s:12 m:6" label="鍒ゅ畾鍚嶇О" label-width="auto" path="judgeName" class="pr-24px">
               <NInput v-model:value="model.judgeName" placeholder="璇疯緭鍏ュ垽瀹氬悕绉�" />

--
Gitblit v1.9.3