From 7cfc44c35849fb5e29d1a34ab21ec214fe1f19a5 Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期日, 29 九月 2024 10:26:55 +0800
Subject: [PATCH] 设备状态特性

---
 src/locales/zh-CN.ts                   |    3 ++-
 src/api/ecg/devmanage/index.ts         |    5 +++++
 src/views/ecg/devmanage/index.vue      |   22 ++++++++++++++++++----
 src/views/ecg/devmanage/DeviceForm.vue |   29 ++++++++++++++++++++++++-----
 4 files changed, 49 insertions(+), 10 deletions(-)

diff --git a/src/api/ecg/devmanage/index.ts b/src/api/ecg/devmanage/index.ts
index 4d3c76b..61c36dd 100644
--- a/src/api/ecg/devmanage/index.ts
+++ b/src/api/ecg/devmanage/index.ts
@@ -92,6 +92,11 @@
     return await request.put({ url: `/ecg/device/update`, data })
   },
 
+  // 淇敼璁惧鐘舵��
+  updateDeviceState: async (data: DeviceVO) => {
+    return await request.post({ url: `/ecg/device/update-dev-state`, data })
+  },
+
   // 鍒犻櫎璁惧
   deleteDevice: async (id: number) => {
     return await request.delete({ url: `/ecg/device/delete?id=` + id })
diff --git a/src/locales/zh-CN.ts b/src/locales/zh-CN.ts
index aa30b3f..09d96ca 100644
--- a/src/locales/zh-CN.ts
+++ b/src/locales/zh-CN.ts
@@ -308,7 +308,8 @@
     typeCreate: '瀛楀吀绫诲瀷鏂板',
     typeUpdate: '瀛楀吀绫诲瀷缂栬緫',
     dataCreate: '瀛楀吀鏁版嵁鏂板',
-    dataUpdate: '瀛楀吀鏁版嵁缂栬緫'
+    dataUpdate: '瀛楀吀鏁版嵁缂栬緫',
+    devState: '璁惧鐘舵��'
   },
   dialog: {
     dialog: '寮圭獥',
diff --git a/src/views/ecg/devmanage/DeviceForm.vue b/src/views/ecg/devmanage/DeviceForm.vue
index e223ace..2f465d9 100644
--- a/src/views/ecg/devmanage/DeviceForm.vue
+++ b/src/views/ecg/devmanage/DeviceForm.vue
@@ -48,10 +48,17 @@
           />
         </el-select>
       </el-form-item>
-      <el-form-item label="閬楀け鏍囪" prop="lost">
-        <el-checkbox v-model="formData.lost" :true-label=1 :false-label=0>
-          閬楀け
-        </el-checkbox>
+
+      <el-form-item v-if="formType !== 'create'" label="鐘舵��" prop="state">
+        <el-radio-group v-if="formType === 'devState'" v-model="formData.state">
+          <el-radio key="0" :label="0"> 绌洪棽涓� </el-radio>
+          <el-radio key="5" :label="5"> 宸查鍙� </el-radio>
+          <el-radio key="10" :label="10"> 宸茶鏈� </el-radio>
+          <el-radio key="20" :label="20"> 宸查仐澶� </el-radio>
+          <el-radio key="30" :label="30"> 缁翠慨涓� </el-radio>
+          <el-radio key="40" :label="40"> 宸叉姤搴� </el-radio>
+        </el-radio-group>
+        <span v-else>{{tranlateDevState(formData.state)}}</span>
       </el-form-item>
     </el-form>
     <template #footer>
@@ -127,9 +134,12 @@
     if (formType.value === 'create') {
       await DeviceApi.createDevice(data)
       message.success(t('common.createSuccess'))
-    } else {
+    } else if (formType.value === 'update') {
       await DeviceApi.updateDevice(data)
       message.success(t('common.updateSuccess'))
+    } else {
+      await DeviceApi.updateDeviceState(data)
+      message.success(t('common.updateStateSuccess'))
     }
     dialogVisible.value = false
     // 鍙戦�佹搷浣滄垚鍔熺殑浜嬩欢
@@ -172,6 +182,15 @@
 
 const categoryOptions = ref<DictDataType[]>([])
 
+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 "宸叉姤搴�";
+}
+
 onMounted( async () => {
   console.info("onMount DeviceForm...")
   const data = await getStrDictOptions(DICT_TYPE.ECG_DEV_CATEGORY)
diff --git a/src/views/ecg/devmanage/index.vue b/src/views/ecg/devmanage/index.vue
index 8253a0d..e1bebfb 100644
--- a/src/views/ecg/devmanage/index.vue
+++ b/src/views/ecg/devmanage/index.vue
@@ -116,10 +116,7 @@
       <el-table-column label="鍨嬪彿" align="center" prop="model" />
       <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 +136,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
@@ -251,6 +256,15 @@
   }
 }
 
+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 "宸叉姤搴�";
+}
+
 /** 鍒濆鍖� **/
 onMounted(() => {
   getList()

--
Gitblit v1.9.3