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