From 7bc9c5f7432a9533a0b552c40fb63fc07de5b5fe Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期一, 29 九月 2025 09:56:24 +0800
Subject: [PATCH] 优化
---
admin/src/components/business/OperaDeviceRoleWindow.vue | 63 ++++++++++++++++++++++++++-----
1 files changed, 53 insertions(+), 10 deletions(-)
diff --git a/admin/src/components/business/OperaDeviceRoleWindow.vue b/admin/src/components/business/OperaDeviceRoleWindow.vue
index 4910ac9..84844fb 100644
--- a/admin/src/components/business/OperaDeviceRoleWindow.vue
+++ b/admin/src/components/business/OperaDeviceRoleWindow.vue
@@ -2,14 +2,15 @@
<GlobalWindow
:title="title"
:visible.sync="visible"
+ width="1000px"
:confirm-working="isWorking"
@confirm="confirm"
>
<el-form :model="form" ref="form" :rules="rules">
- <el-form-item label="闂ㄧ缁勫悕绉�" prop="name">
+ <el-form-item label="闂ㄧ鐐瑰垎缁勫悕绉�" prop="name">
<el-input v-model="form.name" placeholder="璇疯緭鍏ュ悕绉�" v-trim/>
</el-form-item>
- <el-form-item label="榛樿闂ㄧ缁�" prop="isDefault">
+ <el-form-item label="榛樿闂ㄧ鐐瑰垎缁�" prop="isDefault">
<el-switch
v-model="form.isDefault"
active-color="#13ce66"
@@ -23,9 +24,17 @@
<el-radio :label="0">鍏ㄩ儴闂ㄧ</el-radio>
<el-radio :label="1">閮ㄥ垎闂ㄧ</el-radio>
</el-radio-group>
- <el-checkbox-group v-model="form.doorIds" v-if="form.radio === 1">
- <el-checkbox :label="item.id" v-for="(item, index) in device" :key="index">{{item.name}}</el-checkbox>
- </el-checkbox-group>
+ <el-transfer
+ v-if="form.radio === 1"
+ style="margin-top: 15px;"
+ :titles="['鏈�夐棬绂佺偣', '宸查�夐棬绂佺偣']"
+ filterable
+ :filter-method="filterMethod"
+ filter-placeholder="璇疯緭鍏ラ棬绂佺偣鎴栧尯鍩熷悕绉�"
+ v-model="form.doorIds"
+ class="transfer"
+ :data="device">
+ </el-transfer>
</el-form-item>
</el-form>
</GlobalWindow>
@@ -47,7 +56,7 @@
}
}
callback()
- }
+ };
return {
// 琛ㄥ崟鏁版嵁
form: {
@@ -59,6 +68,10 @@
radio: 0
},
device: [],
+ filterMethod(query, item) {
+ if (!query) return item;
+ return item.label.indexOf(query) > -1 || item.area.indexOf(query) > -1;
+ },
// 楠岃瘉瑙勫垯
rules: {
name: [
@@ -107,7 +120,7 @@
this.$emit('success')
})
.catch(e => {
- this.$tip.apiFailed(e)
+ // this.$tip.apiFailed(e)
})
.finally(() => {
this.isWorking = false
@@ -136,7 +149,7 @@
this.$emit('success')
})
.catch(e => {
- this.$tip.apiFailed(e)
+ // this.$tip.apiFailed(e)
})
.finally(() => {
this.isWorking = false
@@ -146,9 +159,16 @@
},
// 鑾峰彇璁惧
getLists () {
- getList({})
+ getList({type:0, isdeleted:0 })
.then(res => {
- this.device = res
+ this.device = res.map(item => {
+ return {
+ label: item.doorName,
+ area: item.regionPathName,
+ key: item.id
+ }
+ })
+ console.log(this.device)
})
},
changeRadio (e) {
@@ -176,3 +196,26 @@
}
}
</script>
+
+<style lang="scss" scoped>
+.transfer {
+ height: 600px;
+ width: 100%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+
+ ::v-deep .el-transfer-panel {
+ flex: 1;
+ height: 100%;
+ }
+
+ ::v-deep .el-transfer-panel__body {
+ height: 500px;
+ }
+
+ ::v-deep .el-transfer-panel__list.is-filterable {
+ height: 480px;
+ }
+}
+</style>
--
Gitblit v1.9.3