From 24fd83dff534ff4d60e29b055f5694dae2a3ad01 Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期日, 29 九月 2024 16:04:46 +0800
Subject: [PATCH] update
---
src/views/ecg/devmanage/index.vue | 110 +++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 87 insertions(+), 23 deletions(-)
diff --git a/src/views/ecg/devmanage/index.vue b/src/views/ecg/devmanage/index.vue
index 8253a0d..bb1db29 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,12 +130,9 @@
</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 v-if="scope.row.state === 0">绌洪棽</span>
- <span v-if="scope.row.state === 5">宸查鐢�</span>
- <span v-if="scope.row.state === 10">浣跨敤涓�</span>
- <span v-if="scope.row.state === 20">宸查仐澶�</span>
+ <span>{{tranlateDevState(scope.row.state)}}</span>
</template>
</el-table-column>
<el-table-column label="閲囪喘鏃ユ湡" align="center" prop="purchaseDate" :formatter="dateFormatter2" width="120px"/>
@@ -139,6 +152,14 @@
v-hasPermi="['ecg:device:update']"
>
缂栬緫
+ </el-button>
+ <el-button
+ link
+ type="primary"
+ @click="openForm('devState', scope.row.id)"
+ v-hasPermi="['ecg:device:update']"
+ >
+ 璁惧鐘舵��
</el-button>
<el-button
link
@@ -165,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'
/** 璁惧 鍒楄〃 */
@@ -186,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 () => {
@@ -251,8 +277,46 @@
}
}
+const stateOptions = [
+ {label: "绌洪棽", value: 0},
+ {label: "宸查鐢�", value: 5},
+ {label: "宸茶鏈�", value: 10},
+ {label: "宸查仐澶�", value: 20},
+ {label: "缁翠慨涓�", value: 30},
+ {label: "宸叉姤搴�", value: 40}
+ ]
+
+const tranlateDevState = (state) => {
+ 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