From ddf15c484eb3208b76cdb25c2737cd4e960ea8df Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期一, 14 十月 2024 14:49:15 +0800
Subject: [PATCH] 常规检查
---
src/views/ecg/devmanage/index.vue | 101 ++++++++++++++++++++++++++++++++++++++------------
1 files changed, 76 insertions(+), 25 deletions(-)
diff --git a/src/views/ecg/devmanage/index.vue b/src/views/ecg/devmanage/index.vue
index e1bebfb..4e20cc8 100644
--- a/src/views/ecg/devmanage/index.vue
+++ b/src/views/ecg/devmanage/index.vue
@@ -19,17 +19,6 @@
class="!w-220px"
/>
</el-form-item>
- <el-form-item label="鍒涘缓鏃堕棿" prop="createTime">
- <el-date-picker
- v-model="queryParams.createTime"
- value-format="YYYY-MM-DD HH:mm:ss"
- type="daterange"
- start-placeholder="寮�濮嬫棩鏈�"
- end-placeholder="缁撴潫鏃ユ湡"
- :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
- class="!w-220px"
- />
- </el-form-item>
<el-form-item label="璁惧缂栧彿" prop="devId">
<el-input
v-model="queryParams.devId"
@@ -39,15 +28,31 @@
class="!w-240px"
/>
</el-form-item>
+ <el-form-item label="鐘舵��" prop="state">
+ <el-select
+ v-model="queryParams.state"
+ placeholder="璇烽�夋嫨鐘舵��"
+ clearable
+ class="!w-240px"
+ >
+ <el-option
+ v-for="dict in stateOptions"
+ :key="dict.value"
+ :label="dict.label"
+ :value="dict.value"
+ />
+ </el-select>
+ </el-form-item>
<el-form-item label="鍒嗙被鍚�" prop="category">
<el-select
v-model="queryParams.category"
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 +65,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 +82,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>
@@ -114,7 +130,7 @@
</template>
</el-table-column>
<el-table-column label="鍨嬪彿" align="center" prop="model" />
- <el-table-column label="浣跨敤鎯呭喌" align="center" prop="lost" >
+ <el-table-column label="鐘舵��" align="center" prop="lost" >
<template #default="scope">
<span>{{tranlateDevState(scope.row.state)}}</span>
</template>
@@ -170,10 +186,10 @@
</template>
<script setup lang="ts">
-import { getStrDictOptions, DICT_TYPE } from '@/utils/dict'
-import {dateFormatter, dateFormatter2} from '@/utils/formatTime'
+import {getStrDictOptions, DICT_TYPE, DictDataType} from '@/utils/dict'
+import {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'
/** 璁惧 鍒楄〃 */
@@ -191,12 +207,17 @@
purchaseDate: [],
createTime: [],
devId: undefined,
+ state: undefined,
category: undefined,
brand: undefined,
model: undefined
})
const queryFormRef = ref() // 鎼滅储鐨勮〃鍗�
const exportLoading = ref(false) // 瀵煎嚭鐨勫姞杞戒腑
+
+const categoryOptions = ref<DictDataType[]>([])
+const brandOptions = ref<OptionsVO[]>([])
+const modelOptions = ref<OptionsVO[]>([])
/** 鏌ヨ鍒楄〃 */
const getList = async () => {
@@ -256,17 +277,47 @@
}
}
+const stateOptions = [
+ {label: "绌洪棽", value: 0},
+ {label: "宸查鐢�", value: 5},
+ {label: "宸茶鏈�", value: 10},
+ {label: "宸查仐澶�", value: 20},
+ {label: "寰呯淮淇�", value: 30},
+ {label: "缁翠慨涓�", value: 40},
+ {label: "宸叉姤搴�", value: 50}
+ ]
+
const tranlateDevState = (state) => {
- if (state === 0) return "绌洪棽";
- else if (state=== 5) return "宸查鐢�";
- else if (state=== 10) return "宸茶鏈�";
- else if (state=== 20) return "宸查仐澶�";
- else if (state=== 30) return "缁翠慨涓�";
- else if (state=== 40) return "宸叉姤搴�";
+ const stateOption = stateOptions.find(obj => obj.value === state)
+ console.info( stateOption )
+ return undefined !== stateOption ? stateOption.label : ''
+}
+
+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