From ede3acd28592921521e2e53e62321e5b5bf55f61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8C=83=E9=B9=8F?= Date: Wed, 4 Sep 2024 10:36:33 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=94=B5=E5=AD=90=E9=92=A5?= =?UTF-8?q?=E5=8C=99=E7=9B=B8=E5=85=B3bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/keyDetail/keyDetail.vue | 52 +++++++++++++++++++- pages/keyList/keyList.vue | 70 ++++++++++++++++++++++++++- pages/setting/setting.vue | 1 + static/images/icon_admin.png | Bin 0 -> 1473 bytes static/images/icon_remote_unlock.png | Bin 0 -> 3495 bytes stores/lock.js | 6 ++- 6 files changed, 125 insertions(+), 4 deletions(-) create mode 100755 static/images/icon_admin.png create mode 100755 static/images/icon_remote_unlock.png diff --git a/pages/keyDetail/keyDetail.vue b/pages/keyDetail/keyDetail.vue index 9d4752b..b5c4035 100644 --- a/pages/keyDetail/keyDetail.vue +++ b/pages/keyDetail/keyDetail.vue @@ -40,6 +40,15 @@ {{ timeFormat(currentKeyInfo.sendDate, 'yyyy-mm-dd h:M') }} 删除钥匙 + + + + + 同时删除其发送的所有钥匙,钥匙删除后不能恢复 + + + @@ -52,7 +61,10 @@ import { useBasicStore } from '@/stores/basic' export default { data () { - return {} + return { + showModal: false, + checked: false + } }, computed: { ...mapState(useLockStore, ['currentKeyInfo', 'keySearch']), @@ -61,8 +73,46 @@ export default { timeFormat, ...mapActions(useLockStore, ['updateKeySearch', 'getKeyList', 'convertWeekDaysToChineseString']), ...mapActions(useBasicStore, ['backAndToast']), + cancelModal() { + this.showModal = false + this.checked = false + }, + changeRadio() { + this.checked = !this.checked + }, + async confirmModal() { + uni.showLoading({ + title: '删除中', + mask: true + }) + const that = this + const { code } = await deleteKeyRequest({ + keyId: that.currentKeyInfo.keyId, + includeUnderlings: that.checked ? 1 : 0 + }) + that.showModal = false + if(code === 0) { + that.updateKeySearch({ + ...that.keySearch, + pageNo: 1 + }) + that.getKeyList(that.keySearch) + uni.hideLoading() + that.backAndToast('删除成功') + } else { + uni.hideLoading() + uni.showToast({ + title: 'message', + icon: 'none' + }) + } + }, async deleteKey () { const that = this + if(that.currentKeyInfo.keyRight === 1) { + that.showModal = true + return + } uni.showModal({ title: '提示', content: '确定要删除该钥匙', diff --git a/pages/keyList/keyList.vue b/pages/keyList/keyList.vue index 5fe1e34..5faa250 100644 --- a/pages/keyList/keyList.vue +++ b/pages/keyList/keyList.vue @@ -20,8 +20,11 @@ - + {{ key.keyName }} + + {{ getKeyStatus(key.keyStatus) }} @@ -39,6 +42,15 @@ 重置钥匙 发送钥匙 + + + + + 同时删除其发送的所有钥匙,钥匙删除后不能恢复 + + + @@ -54,6 +66,8 @@ import { deleteKeyRequest, resetKeyRequest } from '@/api/key' export default { data () { return { + showModal: false, + checked: false, deviceInfo: null, refresherTriggered: false, requestFinished: false, @@ -62,7 +76,8 @@ export default { style: { backgroundColor: '#f56c6c' } - }] + }], + deleteKeyId: '' } }, computed: { @@ -87,6 +102,43 @@ export default { methods: { ...mapActions(useBasicStore, ['routeJump', 'getDeviceInfo']), ...mapActions(useLockStore, ['getKeyList', 'updateCurrentKeyInfo', 'updateKeySearch', 'getKeyStatus']), + changeRadio() { + this.checked = !this.checked + }, + async confirmModal() { + uni.showLoading({ + title: '删除中', + mask: true + }) + const that = this + const { code } = await deleteKeyRequest({ + keyId: that.deleteKeyId, + includeUnderlings: that.checked ? 1 : 0 + }) + that.showModal = false + if(code === 0) { + that.updateKeySearch({ + ...that.keySearch, + pageNo: 1 + }) + that.getKeyList(that.keySearch) + uni.hideLoading() + uni.showToast({ + title: '删除成功', + icon: 'none' + }) + } else { + uni.hideLoading() + uni.showToast({ + title: 'message', + icon: 'none' + }) + } + }, + cancelModal() { + this.showModal = false + this.checked = false + }, toKeyDetail(key) { this.updateCurrentKeyInfo(key) this.routeJump({ @@ -98,6 +150,11 @@ export default { const that = this let index = this.keyList.findIndex(item => item.keyId === key.keyId) that.$refs.swipeItem[index].closeHandler() + if(data.keyRight === 1) { + this.deleteKeyId = key.keyId + this.showModal = true + return + } uni.showModal({ title: '提示', content: '确定要删除该钥匙', @@ -274,6 +331,7 @@ page { width: 574rpx; .key-right-top { + max-width: 450rpx; font-size: 32rpx; font-weight: bold; padding-bottom: 6rpx; @@ -282,6 +340,13 @@ page { text-overflow: ellipsis; } + .key-admin { + margin-top: 8rpx; + margin-left: 10rpx; + width: 25rpx; + height: 25rpx; + } + .key-right-bottom { font-size: 24rpx; color: #999999; @@ -289,6 +354,7 @@ page { } .key-status { + margin-top: 4rpx; margin-left: auto; font-size: 26rpx; color: #63b8af; diff --git a/pages/setting/setting.vue b/pages/setting/setting.vue index f4e9b99..5ebb714 100644 --- a/pages/setting/setting.vue +++ b/pages/setting/setting.vue @@ -134,6 +134,7 @@ export default { keyId: that.keyId, includeUnderlings: that.checked ? 1 : 0 }) + that.showModal = false if(code === 0) { uni.hideLoading() that.updateLockSearch({ diff --git a/static/images/icon_admin.png b/static/images/icon_admin.png new file mode 100755 index 0000000000000000000000000000000000000000..d2a83cfdbc19552de090223b86ffd5b5e5b05625 GIT binary patch literal 1473 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 AwEzGB literal 0 HcmV?d00001 diff --git a/stores/lock.js b/stores/lock.js index 996d90f..27b541a 100644 --- a/stores/lock.js +++ b/stores/lock.js @@ -45,7 +45,7 @@ export const useLockStore = defineStore('lock', { searchStr: '', endDate: '0', startDate: '0', - keyStatus: [110401,110402,110412], + keyStatus: [110401, 110402, 110412, 110405, 110403], keyRight: 0 }, } @@ -93,10 +93,14 @@ export const useLockStore = defineStore('lock', { getKeyStatus(keyStatus) { if(keyStatus === 110401) { return '正常' + } else if(keyStatus === 110403) { + return '未生效' } else if(keyStatus === 110402) { return '待接收' } else if(keyStatus === 110412) { return '已过期' + } else if(keyStatus === 110405) { + return '已冻结' } else { return '' }