From a395d48b71ab37d1bdbae32e8bf7aa346b534cf6 Mon Sep 17 00:00:00 2001 From: sige Date: Tue, 14 May 2024 19:28:39 +0800 Subject: [PATCH] =?UTF-8?q?#90=20=EF=BC=9A=E6=95=B0=E6=8D=AE=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=EF=BC=8C=E5=AF=BC=E5=87=BA=E6=97=B6=E5=85=A8=E9=83=A8?= =?UTF-8?q?=E9=83=BD=E4=BC=9A=E5=AF=BC=E5=87=BA=EF=BC=8C=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E5=8D=95=E6=AC=A1=E6=95=B0=E6=8D=AE=E5=AF=BC?= =?UTF-8?q?=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Setting/components/History.vue | 72 +++++++++--- src/components/Setting/index.vue | 4 +- src/components/dialogs/ClearRecordByKeysModal.vue | 131 ++++++++++++++++++++++ src/main.js | 8 ++ src/mock/command.js | 13 +++ 5 files changed, 213 insertions(+), 15 deletions(-) create mode 100644 src/components/dialogs/ClearRecordByKeysModal.vue diff --git a/src/components/Setting/components/History.vue b/src/components/Setting/components/History.vue index 344c5c6..b862d7a 100644 --- a/src/components/Setting/components/History.vue +++ b/src/components/Setting/components/History.vue @@ -2,7 +2,14 @@

消毒名称

-

操作

+

+ + + +

-
-

{{ item }}

-
-
详情
+ +
+

  {{ item }}

+
+
详情
+
-
+
@@ -105,6 +110,7 @@
返回
+ @@ -114,18 +120,35 @@ import Down from '@/assets/img/arrow/down.png' import Top from '@/assets/img/arrow/top.png' import Right from '@/assets/img/arrow/right.png' import Left from '@/assets/img/arrow/left.png' -import { useHistoryStore, useWebSocketStore } from '@/store' -import { getDetailInfoById } from '@/mock/command' +import ClearRecordByKeysModal from 'cpns/dialogs/ClearRecordByKeysModal' +import { useHistoryStore, useWebSocketStore, useSettingStore } from '@/store' +import { getDetailInfoById, exportDisinfectionRecordByKeyListJSON } from '@/mock/command' const showDetailVisible = ref(false) const historyStore = useHistoryStore() const webSocketStore = useWebSocketStore() +const settingStore = useSettingStore() +// 清除记录对话框 +const clearRecordByKeys = ref(null) +// 选中的数据 +const checkedItems = ref([]) // 历史数据列表 const historyDataList = computed(() => { return historyStore.historyDataList.sort((a, b) => b.localeCompare(a)); }); +// 条目操作 +function actionOperationExecute( action ) { + if ( 'export' === action ) { + settingStore.updateExportText('导出消毒记录中') + settingStore.updateExportLoading(true) + webSocketStore.sendCommandMsg(exportDisinfectionRecordByKeyListJSON(checkedItems.value)); + } else if ( 'delete' === action ) { + clearRecordByKeys.value.showDialog(); + } +} + const topContainer = () => { const ele = document.getElementById('set_device_container') ele.scrollTop = ele.scrollTop - 100 < 100 ? 0 : ele.scrollTop - 100 @@ -165,7 +188,29 @@ const showDetailModal = item => { }) } - + diff --git a/src/main.js b/src/main.js index 6c8267c..80c1db2 100644 --- a/src/main.js +++ b/src/main.js @@ -11,6 +11,10 @@ import { NumberKeyboard, Toast, Overlay, + Checkbox, + CheckboxGroup, + DropdownMenu, + DropdownItem } from 'vant' import ElementPlus from 'element-plus' import 'element-plus/dist/index.css' @@ -28,6 +32,10 @@ createApp(App) .use(TimePicker) .use(Field) .use(Overlay) + .use(Checkbox) + .use(CheckboxGroup) + .use(DropdownMenu) + .use(DropdownItem) .use(ElementPlus) .use(Toast) .use(store) diff --git a/src/mock/command.js b/src/mock/command.js index de2b1ea..fbb61bd 100644 --- a/src/mock/command.js +++ b/src/mock/command.js @@ -223,11 +223,24 @@ export const exportDisinfectionRecordJSON = { messageId: 'exportDisinfectionRecord', } +export const exportDisinfectionRecordByKeyListJSON = ( keys ) => ({ + command: 'exportDisinfectionRecord', + messageId: 'exportDisinfectionRecord', + keys, +}); + export const cleanDisinfectionRecordJSON = { command: 'cleanDisinfectionRecord', messageId: 'cleanDisinfectionRecord', } +export const cleanDisinfectionRecordByKeysJSON = ( keys ) => ({ + command: 'cleanDisinfectionRecord', + messageId: 'cleanDisinfectionRecord', + keys, + +}); + export const cleanUserBehaviorRecordJSON = { command: 'cleanUserBehaviorRecord', messageId: 'cleanUserBehaviorRecord',