doum
3 天以前 078a5c4ced367fdbd5a16c27c8bada6e44e632d5
admin/src/components/business/OperaDeviceRoleWindow.vue
@@ -2,15 +2,15 @@
    <GlobalWindow
        :title="title"
        :visible.sync="visible"
        width="50%"
        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"
@@ -27,10 +27,12 @@
                <el-transfer
                    v-if="form.radio === 1"
                    style="margin-top: 15px;"
                    :titles="['未选门禁组', '已选门禁组']"
                    :titles="['未选门禁点', '已选门禁点']"
                    filterable
                    filter-placeholder="请输入门禁组名称"
                    :filter-method="filterMethod"
                    filter-placeholder="请输入门禁点或区域名称"
                    v-model="form.doorIds"
                    class="transfer"
                    :data="device">
                </el-transfer>
            </el-form-item>
@@ -54,7 +56,7 @@
        }
      }
      callback()
    }
    };
    return {
      // 表单数据
      form: {
@@ -66,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: [
@@ -114,7 +120,7 @@
              this.$emit('success')
            })
            .catch(e => {
              this.$tip.apiFailed(e)
              // this.$tip.apiFailed(e)
            })
            .finally(() => {
              this.isWorking = false
@@ -143,7 +149,7 @@
              this.$emit('success')
            })
            .catch(e => {
              this.$tip.apiFailed(e)
              // this.$tip.apiFailed(e)
            })
            .finally(() => {
              this.isWorking = false
@@ -153,11 +159,12 @@
    },
    // 获取设备
    getLists () {
      getList({})
      getList({type:0, isdeleted:0 })
        .then(res => {
          this.device = res.map(item => {
            return {
              label: item.name,
              label: item.doorName,
              area: item.regionPathName,
              key: item.id
            }
          })
@@ -190,8 +197,25 @@
}
</script>
<style>
    .el-transfer-panel {
        width: 350px;
    }
<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>