From d4ff618628bc546279db786bd3aa5b7c971f2613 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 03 八月 2026 14:56:30 +0800
Subject: [PATCH] 银川 1.部署不同公司切换logo逻辑修改
---
src/views/mes/md/unitmeasure/components/select.vue | 44 ++++++++++++++++++++++++--------------------
1 files changed, 24 insertions(+), 20 deletions(-)
diff --git a/src/views/mes/md/unitmeasure/components/select.vue b/src/views/mes/md/unitmeasure/components/select.vue
index 33edc29..ce9645f 100644
--- a/src/views/mes/md/unitmeasure/components/select.vue
+++ b/src/views/mes/md/unitmeasure/components/select.vue
@@ -1,11 +1,11 @@
<script lang="ts" setup>
-import type { MesMdUnitMeasureApi } from '#/api/mes/md/unitmeasure';
+import type { MdmUnitApi } from '#/api/mdm/unit';
import { computed, onMounted, ref, watch } from 'vue';
-import { Select, Tag, Tooltip } from 'ant-design-vue';
+import { Select, Tooltip } from 'ant-design-vue';
-import { getUnitMeasureSimpleList } from '#/api/mes/md/unitmeasure';
+import { getUnitPage } from '#/api/mdm/unit';
defineOptions({ name: 'MdUnitMeasureSelect', inheritAttrs: false });
@@ -25,29 +25,32 @@
);
const emit = defineEmits<{
- change: [item: MesMdUnitMeasureApi.UnitMeasure | undefined];
+ change: [item: MdmUnitApi.Unit | undefined];
'update:modelValue': [value: number | undefined];
}>();
-const allList = ref<MesMdUnitMeasureApi.UnitMeasure[]>([]); // 璁¢噺鍗曚綅鍒楄〃
-const filteredList = ref<MesMdUnitMeasureApi.UnitMeasure[]>([]); // 杩囨护鍚庣殑璁¢噺鍗曚綅鍒楄〃
-const selectedItem = ref<MesMdUnitMeasureApi.UnitMeasure>(); // 褰撳墠閫変腑璁¢噺鍗曚綅
+const allList = ref<MdmUnitApi.Unit[]>([]); // 璁¢噺鍗曚綅鍒楄〃
+const filteredList = ref<MdmUnitApi.Unit[]>([]); // 杩囨护鍚庣殑璁¢噺鍗曚綅鍒楄〃
+const selectedItem = ref<MdmUnitApi.Unit>(); // 褰撳墠閫変腑璁¢噺鍗曚綅
const selectValue = computed({
// 閫夋嫨鍣ㄧ粦瀹氬��
get: () => props.modelValue,
- set: (value: number | undefined) => {
- emit('update:modelValue', value);
+ set: (val: number | undefined) => {
+ emit('update:modelValue', val);
},
});
/** 鍓嶇鎸夊悕绉板拰缂栫爜杩囨护璁¢噺鍗曚綅 */
function handleFilter(input: string, option: any) {
const keyword = input.toLowerCase();
- const item = option?.item as MesMdUnitMeasureApi.UnitMeasure | undefined;
+ // Ant Design Vue 4 涓� Select.Option 鐨勮嚜瀹氫箟灞炴�т笉浼氫紶鍏� option 瀵硅薄
+ // 鏀逛负閫氳繃 option.value 浠� allList 涓煡鎵惧搴旂殑鏁版嵁椤�
+ const item = allList.value.find((i) => i.id === option?.value);
+ if (!item) return false;
return Boolean(
- item?.name?.toLowerCase().includes(keyword) ||
- item?.code?.toLowerCase().includes(keyword),
+ item.name?.toLowerCase().includes(keyword) ||
+ item.code?.toLowerCase().includes(keyword),
);
}
@@ -68,13 +71,18 @@
watch(
() => props.modelValue,
- (value) => {
- syncSelectedItem(value);
+ (val) => {
+ syncSelectedItem(val);
},
);
onMounted(async () => {
- allList.value = await getUnitMeasureSimpleList();
+ try {
+ const result = await getUnitPage({ pageNo: 1, pageSize: 100 });
+ allList.value = result.list ?? [];
+ } catch {
+ allList.value = [];
+ }
filteredList.value = allList.value;
syncSelectedItem(props.modelValue);
});
@@ -109,13 +117,9 @@
<Select.Option
v-for="item in filteredList"
:key="item.id"
- :item="item"
:value="item.id"
>
- <div class="flex items-center gap-2">
- <span>{{ item.name }}</span>
- <Tag v-if="item.code" color="default">缂栧彿: {{ item.code }}</Tag>
- </div>
+ {{ item.name }}
</Select.Option>
</Select>
</Tooltip>
--
Gitblit v1.9.3