From e97b55310155a2dd691bd698a10295a4d867f60c Mon Sep 17 00:00:00 2001
From: baoshiwei <baoshiwei@shlanbao.cn>
Date: 星期五, 17 四月 2026 15:55:51 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ruoyi-plus-soybean/src/views/qm/judge/modules/judge-operate-drawer.vue | 59 ++++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 48 insertions(+), 11 deletions(-)
diff --git a/ruoyi-plus-soybean/src/views/qm/judge/modules/judge-operate-drawer.vue b/ruoyi-plus-soybean/src/views/qm/judge/modules/judge-operate-drawer.vue
index 82a891e..28bfabd 100644
--- a/ruoyi-plus-soybean/src/views/qm/judge/modules/judge-operate-drawer.vue
+++ b/ruoyi-plus-soybean/src/views/qm/judge/modules/judge-operate-drawer.vue
@@ -1,10 +1,11 @@
<script setup lang="ts">
-import { computed, onMounted, ref, watch } from 'vue';
+import { computed, ref, watch } from 'vue';
import type { SelectOption } from 'naive-ui';
import { NSelect } from 'naive-ui';
import { jsonClone } from '@sa/utils';
import { fetchCreateJudge, fetchUpdateJudge } from '@/service/api/qm/judge';
import { fetchGetStdList } from '@/service/api/qm/std';
+import { fetchGetMatList } from '@/service/api/md/mat';
import { useFormRules, useNaiveForm } from '@/hooks/common/form';
import { $t } from '@/locales';
@@ -53,6 +54,7 @@
];
const stdOptions = ref<SelectOption[]>([]);
+const matOptions = ref<SelectOption[]>([]);
type Model = Api.Qm.JudgeOperateParams;
@@ -102,6 +104,20 @@
}
}
+async function fetchMatOptions() {
+ if (model.value.category === 1) {
+ matOptions.value = [];
+ return;
+ }
+ const { data } = await fetchGetMatList({ tid: 1, pageSize: 1000 });
+ if (data) {
+ matOptions.value = data.rows.map(item => ({
+ label: item.name,
+ value: item.code
+ }));
+ }
+}
+
async function handleSubmit() {
await validate();
@@ -147,20 +163,39 @@
emit('submitted');
}
-watch(visible, () => {
+watch(visible, async () => {
if (visible.value) {
handleUpdateModelWhenEdit();
restoreValidation();
- // Fetch stdOptions when the drawer becomes visible
- fetchStdOptions();
+ await fetchStdOptions();
+ await fetchMatOptions();
}
});
watch(
() => model.value.category,
- () => {
+ async () => {
fetchStdOptions();
+ model.value.matName = '';
+ model.value.matCode = '';
+ await fetchMatOptions();
+ }
+);
+
+watch(
+ () => model.value.matCode,
+ val => {
+ if (val) {
+ const selectedOption = matOptions.value.find(opt => opt.value === val);
+ if (selectedOption && typeof selectedOption.label === 'string') {
+ const name = selectedOption.label as string;
+ model.value.matName = name;
+ model.value.judgeName = name;
+ }
+ } else {
+ model.value.matName = '';
+ }
}
);
</script>
@@ -172,15 +207,17 @@
<NFormItem label="鍒ゅ畾鍚嶇О" path="judgeName">
<NInput v-model:value="model.judgeName" placeholder="璇疯緭鍏ュ垽瀹氬悕绉�" />
</NFormItem>
- <NFormItem label="鐗╂枡鐗屽彿浠g爜" path="matCode">
- <NInput v-model:value="model.matCode" placeholder="璇疯緭鍏ョ墿鏂欑墝鍙蜂唬鐮�" />
- </NFormItem>
- <NFormItem label="鐗╂枡鐗屽彿" path="matName">
- <NInput v-model:value="model.matName" placeholder="璇疯緭鍏ョ墿鏂欑墝鍙�" />
- </NFormItem>
<NFormItem label="鐗╂枡绫诲瀷" path="category">
<NSelect v-model:value="model.category" :options="categoryOptions" placeholder="璇烽�夋嫨鐗╂枡绫诲瀷" />
</NFormItem>
+ <NFormItem label="鐗╂枡鐗屽彿" path="matName">
+ <NSelect
+ v-model:value="model.matCode"
+ :options="matOptions"
+ placeholder="璇烽�夋嫨鐗╂枡鐗屽彿"
+ :disabled="model.category === 1"
+ />
+ </NFormItem>
<NFormItem label="鐘舵��" path="status">
<NSelect v-model:value="model.status" :options="statusOptions" placeholder="璇烽�夋嫨鐘舵��" />
</NFormItem>
--
Gitblit v1.9.3