From 4c289d6216ea07f3e153e2c860abca9331589e1d Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期日, 29 九月 2024 14:22:33 +0800
Subject: [PATCH] 设备查询条件

---
 src/views/ecg/devmanage/index.vue |   51 +++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 45 insertions(+), 6 deletions(-)

diff --git a/src/views/ecg/devmanage/index.vue b/src/views/ecg/devmanage/index.vue
index e1bebfb..d2eb6c7 100644
--- a/src/views/ecg/devmanage/index.vue
+++ b/src/views/ecg/devmanage/index.vue
@@ -45,9 +45,10 @@
             placeholder="璇烽�夋嫨鍒嗙被鍚�"
             clearable
             class="!w-240px"
+            @change="categoryChanged"
         >
           <el-option
-              v-for="dict in getStrDictOptions(DICT_TYPE.ECG_DEV_CATEGORY)"
+              v-for="dict in categoryOptions"
               :key="dict.value"
               :label="dict.label"
               :value="dict.value"
@@ -60,8 +61,14 @@
             placeholder="璇烽�夋嫨鍝佺墝"
             clearable
             class="!w-240px"
+            @change="brandChanged"
         >
-          <el-option label="璇烽�夋嫨瀛楀吀鐢熸垚" value="" />
+          <el-option
+              v-for="dict in brandOptions"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+          />
         </el-select>
       </el-form-item>
       <el-form-item label="鍨嬪彿" prop="model">
@@ -71,7 +78,12 @@
             clearable
             class="!w-240px"
         >
-          <el-option label="璇烽�夋嫨瀛楀吀鐢熸垚" value="" />
+          <el-option
+              v-for="dict in modelOptions"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+          />
         </el-select>
       </el-form-item>
       <el-form-item>
@@ -170,10 +182,10 @@
 </template>
 
 <script setup lang="ts">
-import { getStrDictOptions, DICT_TYPE } from '@/utils/dict'
+import {getStrDictOptions, DICT_TYPE, DictDataType} from '@/utils/dict'
 import {dateFormatter, dateFormatter2} from '@/utils/formatTime'
 import download from '@/utils/download'
-import { DeviceApi, DeviceVO } from '@/api/ecg/devmanage'
+import {DeviceApi, DeviceVO, DevModelApi, OptionsVO} from '@/api/ecg/devmanage'
 import DeviceForm from './DeviceForm.vue'
 
 /** 璁惧 鍒楄〃 */
@@ -197,6 +209,10 @@
 })
 const queryFormRef = ref() // 鎼滅储鐨勮〃鍗�
 const exportLoading = ref(false) // 瀵煎嚭鐨勫姞杞戒腑
+
+const categoryOptions = ref<DictDataType[]>([])
+const brandOptions = ref<OptionsVO[]>([])
+const modelOptions = ref<OptionsVO[]>([])
 
 /** 鏌ヨ鍒楄〃 */
 const getList = async () => {
@@ -265,8 +281,31 @@
   else if (state=== 40) return "宸叉姤搴�";
 }
 
+const categoryChanged = async () => {
+  const data = await DevModelApi.getBrandOption(queryParams.category!)
+  brandOptions.value = data
+
+  queryParams.brand = ''
+  queryParams.model = ''
+
+  //queryParams.brand = brandOptions.value.length === 0 ? "" : brandOptions.value[0].value
+  //brandChanged()
+}
+
+const brandChanged = async () => {
+  const data = await DevModelApi.getModelOption(queryParams.category!, queryParams.brand!)
+  modelOptions.value = data
+
+  queryParams.model = ''
+
+  //queryParams.model = modelOptions.value.length === 0 ? "" : modelOptions.value[0].value
+}
+
 /** 鍒濆鍖� **/
-onMounted(() => {
+onMounted( async () => {
+  const data = await getStrDictOptions(DICT_TYPE.ECG_DEV_CATEGORY)
+  categoryOptions.value = data
+
   getList()
 })
 </script>
\ No newline at end of file

--
Gitblit v1.9.3