whychdw
2021-01-04 2ee170702e77b5e1ccd8ae45cdb32edead5ad598
提交内容
3个文件已修改
1670 ■■■■ 已修改文件
src/pages/dataTest/movingRingSystem/HomeList.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/dataTest/realTime.vue 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/userMager/powerMager.vue 1664 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/dataTest/movingRingSystem/HomeList.vue
@@ -207,11 +207,12 @@
                let params = data.data;
                let powerInfo = [];
                if(rs.code == 1 && rs.data && rs.data.length !=0) {
                    console.log(rs.data);
                    powerInfo = rs.data.map(item=>{
                        params.powerDeviceId = item.powerDeviceId;
                        return {
                            id: params.StationName+"-"+9527,
                            label: "电源信息",
                            label: item.powerDeviceName,
                            type: "powerInfo",
                            params: params,
                            leaf: true,
src/pages/dataTest/realTime.vue
@@ -162,9 +162,6 @@
                        <el-tab-pane label="逆变信息" name="niBianInfoTab">
                            <ni-bian-info-tab ref="niBianInfoTab" :name="acTabs" :devId="batt.FBSDeviceId"></ni-bian-info-tab>
                        </el-tab-pane>
                        <el-tab-pane label="汇集器状态" name="collectState">
                        </el-tab-pane>
                    </el-tabs>
                </div>
            </flex-layout>
src/pages/userMager/powerMager.vue
@@ -1,53 +1,53 @@
<template>
     <flex-layout direction="row" no-bg>
        <my-card slot="header" title="权限组列表" class="w320">
            <div slot="card-tools">
                <el-button class="card-tools" size="mini" type="primary"
                :disabled="!isCanEdit"
                icon="el-icon-plus" circle
                @click="showAddPermit"></el-button>
                <el-button class="card-tools" size="mini" type="primary"
                :disabled="getToolsState || !isCanEdit"
                icon="el-icon-edit" circle
                @click="showEidtPermit"></el-button>
                <el-button class="card-tools" size="mini" type="danger"
                :disabled="getToolsState || !isCanEdit"
                icon="el-icon-delete" circle
                @click="confirmDelGroup"></el-button>
            </div>
            <baoji-group-list
            ref="groupList"
            @handle-click="groupListClick"
            :list="powergrouplist"></baoji-group-list>
        </my-card>
        <div class="flex-page-content">
            <context-box title="用户-权限树">
                <div class="power-user-tree">
                    <div class="power-content power-content-user">
                        <el-transfer
                        v-model="user.value"
                        :titles="['未添加用户', '已添加用户']"
                        :button-texts="['移除', '添加']"
                        :data="user.data"
                        :filterable="true"
                        @change="userChange"
                        class="transfer-width320 transfer-left">
                        </el-transfer>
                    </div>
                    <div class="power-tree-wrapper w320" style="overflow-y: auto;">
                        <el-tree
                        ref="powerTree"
                        :data="powerTree"
                        show-checkbox
                        node-key="id"
                        highlight-current>
                        </el-tree>
                    </div>
                </div>
            </context-box>
  <flex-layout direction="row" no-bg>
    <my-card slot="header" title="权限组列表" class="w320">
      <div slot="card-tools">
        <el-button class="card-tools" size="mini" type="primary"
                   :disabled="!isCanEdit"
                   icon="el-icon-plus" circle
                   @click="showAddPermit"></el-button>
        <el-button class="card-tools" size="mini" type="primary"
                   :disabled="getToolsState || !isCanEdit"
                   icon="el-icon-edit" circle
                   @click="showEidtPermit"></el-button>
        <el-button class="card-tools" size="mini" type="danger"
                   :disabled="getToolsState || !isCanEdit"
                   icon="el-icon-delete" circle
                   @click="confirmDelGroup"></el-button>
      </div>
      <baoji-group-list
          ref="groupList"
          @handle-click="groupListClick"
          :list="powergrouplist"></baoji-group-list>
    </my-card>
    <div class="flex-page-content">
      <context-box title="用户-权限树">
        <div class="power-user-tree">
          <div class="power-content power-content-user">
            <el-transfer
                v-model="user.value"
                :titles="['未添加用户', '已添加用户']"
                :button-texts="['移除', '添加']"
                :data="user.data"
                :filterable="true"
                @change="userChange"
                class="transfer-width320 transfer-left">
            </el-transfer>
          </div>
          <div class="power-tree-wrapper w320" style="overflow-y: auto;">
            <el-tree
                ref="powerTree"
                :data="powerTree"
                show-checkbox
                node-key="id"
                highlight-current>
            </el-tree>
          </div>
        </div>
        <!-- 添加权限组 -->
        <el-dialog
      </context-box>
    </div>
    <!-- 添加权限组 -->
    <el-dialog
        title="添加权限组"
        width="480px"
        :visible.sync="addGroup.show"
@@ -55,41 +55,41 @@
        top="0"
        class="dialog-center"
        :modal-append-to-body="false">
            <div class="params-container">
                <el-form
                size="mini"
                label-position="top"
                class="params-dialog">
                    <div class="table-layout">
                        <div class="table-row">
                            <div class="table-cell">
                                <el-form-item label="权限组名称">
                                    <el-input v-model="addGroup.permit_group_name"></el-input>
                                </el-form-item>
                            </div>
                        </div>
                        <div class="table-row">
                            <div class="table-cell">
                                <div class="dialog-tree-container h400" style="overflow-y: auto">
                                    <el-tree
                                    ref="addPowerTree"
                                    :data="powerTree"
                                    show-checkbox
                                    node-key="id"
                                    highlight-current>
                                    </el-tree>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="form-footer">
                        <three-btn @click="addGroupOk">确定</three-btn>
                    </div>
                </el-form>
      <div class="params-container">
        <el-form
            size="mini"
            label-position="top"
            class="params-dialog">
          <div class="table-layout">
            <div class="table-row">
              <div class="table-cell">
                <el-form-item label="权限组名称">
                  <el-input v-model="addGroup.permit_group_name"></el-input>
                </el-form-item>
              </div>
            </div>
        </el-dialog>
        <!-- 编辑包机组 -->
        <el-dialog
            <div class="table-row">
              <div class="table-cell">
                <div class="dialog-tree-container h400" style="overflow-y: auto">
                  <el-tree
                      ref="addPowerTree"
                      :data="powerTree"
                      show-checkbox
                      node-key="id"
                      highlight-current>
                  </el-tree>
                </div>
              </div>
            </div>
          </div>
          <div class="form-footer">
            <three-btn @click="addGroupOk">确定</three-btn>
          </div>
        </el-form>
      </div>
    </el-dialog>
    <!-- 编辑包机组 -->
    <el-dialog
        title="修改权限树"
        width="480px"
        :visible.sync="editGroup.show"
@@ -97,33 +97,33 @@
        top="0"
        class="dialog-center"
        :modal-append-to-body="false">
            <div class="params-container">
                <el-form
                size="mini"
                label-position="top"
                class="params-dialog">
                    <div class="table-layout">
                        <div class="table-row">
                            <div class="table-cell">
                                <div class="dialog-tree-container h400" style="overflow-y: auto">
                                    <el-tree
                                    ref="editPowerTree"
                                    :data="powerTree"
                                    show-checkbox
                                    node-key="id"
                                    highlight-current>
                                    </el-tree>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="form-footer">
                        <three-btn @click="editGroupOk">确定</three-btn>
                    </div>
                </el-form>
      <div class="params-container">
        <el-form
            size="mini"
            label-position="top"
            class="params-dialog">
          <div class="table-layout">
            <div class="table-row">
              <div class="table-cell">
                <div class="dialog-tree-container h400" style="overflow-y: auto">
                  <el-tree
                      ref="editPowerTree"
                      :data="powerTree"
                      show-checkbox
                      node-key="id"
                      highlight-current>
                  </el-tree>
                </div>
              </div>
            </div>
        </el-dialog>
     </flex-layout>
          </div>
          <div class="form-footer">
            <three-btn @click="editGroupOk">确定</three-btn>
          </div>
        </el-form>
      </div>
    </el-dialog>
  </flex-layout>
</template>
<script>
@@ -133,749 +133,769 @@
import {isHasPermit} from "@/assets/js/tools";
export default {
    components: {
        MyCard,
        BaojiGroupList,
        ContextBox
    },
    data() {
        let permits = this.$store.state.user.permits;
        let isCanEdit = isHasPermit('permit_edit_permit', permits);
        return {
            isCanEdit: isCanEdit,
            activeName: 'power-group-user',
            powerInfo: {
                permit_group_name: '',
                permit_group_id: '',
  components: {
    MyCard,
    BaojiGroupList,
    ContextBox
  },
  data() {
    let permits = this.$store.state.user.permits;
    let isCanEdit = isHasPermit('permit_edit_permit', permits);
    return {
      isCanEdit: isCanEdit,
      activeName: 'power-group-user',
      powerInfo: {
        permit_group_name: '',
        permit_group_id: '',
      },
      powergrouplist: [],
      user: {
        data: [],
        value: [],
        added: []
      },
      addGroup: {
        show: false,
        permit_group_name: '',
      },
      editGroup: {
        show: false,
        permit_group_name: '',
      },
      powerTree: [
        {
          id: 'report_query',
          label: '报表查询权限',
          children: [
            {
              id: 'battinf_report_query_permit',
              label: '电池信息报表',
              leaf: true,
            },
            powergrouplist: [],
            user: {
                data: [],
                value: [],
                added: []
            {
              id: 'battgroup_report_query_permit',
              label: '电池组分析报表',
              leaf: true,
            },
            addGroup: {
                show: false,
                permit_group_name: '',
            {
              id: 'monomer_report_query_permit',
              label: '电池单体分析报表',
              leaf: true,
            }
          ]
        },
        {
          id: 'batttest_data',
          label: '电池数据管理',
          children: [
            {
              id: 'batttest_data_query_permit',
              label: '查询',
              leaf: true,
            },
            editGroup: {
                show: false,
                permit_group_name: '',
            {
              id: 'batttest_data_edit_permit',
              label: '编辑',
              leaf: true,
            },
            powerTree: [
                {
                    id: 'report_query',
                    label: '报表查询权限',
                    children:[
                        {
                            id: 'battinf_report_query_permit',
                            label: '电池信息报表',
                            leaf: true,
                        },
                        {
                            id: 'battgroup_report_query_permit',
                            label: '电池组分析报表',
                            leaf: true,
                        },
                        {
                            id: 'monomer_report_query_permit',
                            label: '电池单体分析报表',
                            leaf: true,
                        }
                    ]
                },
                {
                    id: 'batttest_data',
                    label: '电池数据管理',
                    children:[
                        {
                            id: 'batttest_data_query_permit',
                            label: '查询',
                            leaf: true,
                        },
                        {
                            id: 'batttest_data_edit_permit',
                            label: '编辑',
                            leaf: true,
                        },
                    ]
                },
                {
                    id: 'task_manage',
                    label: '作业管理权限',
                    children: [
                        {
                            id: 'task_query_permit',
                            label: '查询',
                            leaf: true,
                        },
                        {
                            id: 'task_edit_permit',
                            label: '编辑',
                            leaf: true,
                        },
                        {
                            id: 'task_check_permit',
                            label: '抽查',
                            leaf: true,
                        },
                        {
                            id: 'task_recheck_permit',
                            label: '复查',
                            leaf: true,
                        },
                    ]
                },
                {
                    id: 'user_manage',
                    label: '用户和包机组权限',
                    children: [
                        {
                            id: 'usr_query_permit',
                            label: '查询',
                            leaf: true,
                        },
                        {
                            id: 'usr_edit_permit',
                            label: '编辑',
                            leaf: true,
                        },
                    ]
                },
                {
                    id: 'power_manage',
                    label: '权限管理',
                    children: [
                        {
                            id: 'permit_query_permit',
                            label: '查询',
                            leaf: true,
                        },
                        {
                            id: 'permit_edit_permit',
                            label: '编辑',
                            leaf: true,
                        },
                    ]
                },
                {
                    id: 'server_manage',
                    label: '服务器参数设置权限',
                    children: [
                        {
                            id: 'server_param_query_permit',
                            label: '查询',
                            leaf: true,
                        },
                        {
                            id: 'server_param_edit_permit',
                            label: '编辑',
                            leaf: true,
                        },
                    ]
                },
                {
                    id: 'test_permit_manage',
                    label: '操作权限',
                    children: [
                        {
                            id: 'batt_test_op_permit',
                            label: '电池测试',
                            leaf: true,
                        },
                        {
                            id: 'analog_loader_op_permit',
                            label: '虚拟负载',
                            leaf: true,
                        },
                    ]
                },
                {
                    id: 'batt_warn_manage',
                    label: '电池告警管理权限',
                    children: [
                        {
                            id: 'batt_alm_query_permit',
                            label: '查询',
                            leaf: true,
                        },
                        {
                            id: 'batt_alm_confirm_permit',
                            label: '确认',
                            leaf: true,
                        },
                        {
                            id: 'batt_alm_clear_permit',
                            label: '取消',
                            leaf: true,
                        },
                        {
                            id: 'batt_alm_delete_permit',
                            label: '删除',
                            leaf: true,
                        }
                    ]
                },
                {
                    id: 'batt_warn_param_manage',
                    label: '电池告警参数设置权限',
                    children: [
                        {
                            id: 'batt_alm_param_query_permit',
                            label: '查询',
                            leaf: true,
                        },
                        {
                            id: 'batt_alm_param_edit_permit',
                            label: '编辑',
                            leaf: true,
                        },
                    ]
                },
                {
                    id: 'dev_warn_manage',
                    label: '设备告警管理权限',
                    children: [
                        {
                            id: 'dev_alm_query_permit',
                            label: '查询',
                            leaf: true,
                        },
                        {
                            id: 'dev_alm_confirm_permit',
                            label: '确认',
                            leaf: true,
                        },
                        {
                            id: 'dev_alm_clear_permit',
                            label: '取消',
                            leaf: true,
                        },
                        {
                            id: 'dev_alm_delete_permit',
                            label: '删除',
                            leaf: true,
                        }
                    ]
                },
                {
                    id: 'battfault_manage',
                    label: '电池故障管理权限',
                    children: [
                        {
                            id: 'battfault_query_permit',
                            label: '查询',
                            leaf: true,
                        },
                        {
                            id: 'battfault_add_permit',
                            label: '添加',
                            leaf: true,
                        },
                        {
                            id: 'battfault_edit_permit',
                            label: '编辑',
                            leaf: true,
                        },
                        {
                            id: 'battfault_delete_permit',
                            label: '删除',
                            leaf: true,
                        },
                        {
                            id: 'battmaint_confirm_permit',
                            label: '故障排除确认',
                            leaf: true,
                        },
                    ]
                },
                {
                    id: 'usrtaskcheck_manage',
                    label: '作业抽查任务管理权限',
                    children: [
                        {
                            id: 'usrtaskcheck_query_permit',
                            label: '查询',
                            leaf: true,
                        },
                        {
                            id: 'usrtaskcheck_add_permit',
                            label: '添加',
                            leaf: true,
                        },
                        {
                            id: 'usrtaskcheck_edit_permit',
                            label: '编辑',
                            leaf: true,
                        },
                        {
                            id: 'usrtaskcheck_delete_permit',
                            label: '删除',
                            leaf: true,
                        },
                        {
                            id: 'usrtaskcheck_confirm_permit',
                            label: '确认',
                            leaf: true,
                        },
                    ]
                },
                {
                    id: 'taskchange_manage',
                    label: '作业变更管理权限',
                    children: [
                        {
                            id: 'taskchange_query_permit',
                            label: '查询',
                            leaf: true,
                        },
                        {
                            id: 'taskchange_add_permit',
                            label: '添加',
                            leaf: true,
                        },
                        {
                            id: 'taskchange_shenpi_permit',
                            label: '审批',
                            leaf: true,
                        },
                        {
                            id: 'taskchange_delete_permit',
                            label: '删除',
                            leaf: true,
                        },
                    ]
                },
                {
                    id: 'batt_map_manage',
                    label: '机房定位信息管理权限',
                    children: [
                        {
                            id: 'batt_map_edit_permit',
                            label: '编辑',
                            leaf: true,
                        },
                        {
                            id: 'batt_map_delete_permit',
                            label: '删除',
                            leaf: true,
                        },
                    ]
                },
            ],
            powerNames: [],
            powersData: []
        }
    },
    methods:{
        initData() {
            // 初始化用户列表
            this.user = {
                data: [],
                value: [],
                added: []
            };
            // 初始化查询条件
            this.powerInfo = {
                permit_group_id: '',
                permit_group_name: '',
            };
            // 列表的激活状态修改
            this.$refs.groupList.activeKey = "";
            // 初始化树
            this.$refs.powerTree.setCheckedKeys([]);
          ]
        },
        searchGroup() {
            // 初始化数据
            this.initData();
            // 请求后台查询
            this.$apis.userMager.powerMager.searchGroup().then(res=>{
                let rs = JSON.parse(res.data.result);
                let data = [];
                if(rs.code == 1) {
                    data = rs.data.map(item=>{
                        item.txt = item.permit_group_name;
                        item.key = item.permit_group_id;
                        return item;
                    });
                }
                // 设置权限组
                this.powergrouplist = data.filter(item=>{
                    if(item.key != 100002) {
                        return item;
                    }
                });
            }).catch(error=>{
                console.log(error);
            });
        },
        groupListClick(item) {
            // 设置查询的值
            this.powerInfo.permit_group_id = item.key;
            this.powerInfo.permit_group_name = item.txt;
            // 查询所有的用户
            this.searchUserListAll();
            // 查询权限组下的用户
            this.searchUserList();
            // 查询当前权限组的权限
            this.searchPermits('powerTree');
        },
        showAddPermit() {
            // 显示面板
            this.addGroup.show = true;
            // 初始化面板的值
            this.addGroup.permit_group_name = "";
            this.$nextTick(()=>{
                this.$refs.addPowerTree.setCheckedKeys([]);
            });
        },
        searchPermits(treeName) {
            let id = this.powerInfo.permit_group_id;
            // 查询后台
            this.$apis.userMager.powerMager.searchPermits(id).then(res=> {
                let rs = JSON.parse(res.data.result);
                let data = [];
                let powersData = [];
                if(rs.code == 1) {
                    data = rs.data.filter(item=>{
                        return item.permit_item_value;
                    }).map(item=>{
                        return item.permit_item_name;
                    });
                    powersData = rs.data.map(item=>{
                        return item;
                    });
                }
                this.$refs[treeName].setCheckedKeys(data);
                this.powersData = powersData;
            }).catch(error=>{
                console.log(error);
            });
        },
        setPowerNames() {
            // 查询后台
            this.$apis.userMager.powerMager.serchPermitNames().then(res=>{
                let rs = JSON.parse(res.data.result);
                if(rs.code == 1) {
                    this.powerNames = rs.data.map(item=>{
                        return item.permit_item_name;
                    });
                }
            }).catch(error=>{
                console.log(error);
            });
        },
        checkPowerGroup(value) {
            var rs = {
                code: 1,
                message: '',
            };
            // 为空检测
            if(value == '') {
                rs.code = 0;
                rs.message = "权限组名称不能为空";
                return rs;
        {
          id: 'power_info_data',
          label: "电源数据管理",
          children: [
            {
              id: "power_info_data_query_permit",
              label: '查询',
              leaf: true,
            },
            {
              id: "power_info_data_edit_permit",
              label: '编辑',
              leaf: true,
            }
            // 遍历包机组列表获取是否重名
            for(var i=0; i<this.powergrouplist.length; i++) {
                var _data = this.powergrouplist[i];
                if(value == _data.txt) {
                    rs.code = 0;
                    rs.message = value+"已存在";
                    break;
                }
          ]
        },
        {
          id: 'task_manage',
          label: '作业管理权限',
          children: [
            {
              id: 'task_query_permit',
              label: '查询',
              leaf: true,
            },
            {
              id: 'task_edit_permit',
              label: '编辑',
              leaf: true,
            },
            {
              id: 'task_check_permit',
              label: '抽查',
              leaf: true,
            },
            {
              id: 'task_recheck_permit',
              label: '复查',
              leaf: true,
            },
          ]
        },
        {
          id: 'user_manage',
          label: '用户和包机组权限',
          children: [
            {
              id: 'usr_query_permit',
              label: '查询',
              leaf: true,
            },
            {
              id: 'usr_edit_permit',
              label: '编辑',
              leaf: true,
            },
          ]
        },
        {
          id: 'power_manage',
          label: '权限管理',
          children: [
            {
              id: 'permit_query_permit',
              label: '查询',
              leaf: true,
            },
            {
              id: 'permit_edit_permit',
              label: '编辑',
              leaf: true,
            },
          ]
        },
        {
          id: 'server_manage',
          label: '服务器参数设置权限',
          children: [
            {
              id: 'server_param_query_permit',
              label: '查询',
              leaf: true,
            },
            {
              id: 'server_param_edit_permit',
              label: '编辑',
              leaf: true,
            },
          ]
        },
        {
          id: 'test_permit_manage',
          label: '操作权限',
          children: [
            {
              id: 'batt_test_op_permit',
              label: '电池测试',
              leaf: true,
            },
            {
              id: 'analog_loader_op_permit',
              label: '虚拟负载',
              leaf: true,
            },
          ]
        },
        {
          id: 'batt_warn_manage',
          label: '电池告警管理权限',
          children: [
            {
              id: 'batt_alm_query_permit',
              label: '查询',
              leaf: true,
            },
            {
              id: 'batt_alm_confirm_permit',
              label: '确认',
              leaf: true,
            },
            {
              id: 'batt_alm_clear_permit',
              label: '取消',
              leaf: true,
            },
            {
              id: 'batt_alm_delete_permit',
              label: '删除',
              leaf: true,
            }
            return rs;
          ]
        },
        addGroupOk() {
            let permit_group_name = this.addGroup.permit_group_name;
            let checkedRs = this.checkPowerGroup(permit_group_name);
            if(checkedRs.code == 0) {
                this.$layer.msg(checkedRs.message);
                return;
        {
          id: 'batt_warn_param_manage',
          label: '电池告警参数设置权限',
          children: [
            {
              id: 'batt_alm_param_query_permit',
              label: '查询',
              leaf: true,
            },
            {
              id: 'batt_alm_param_edit_permit',
              label: '编辑',
              leaf: true,
            },
          ]
        },
        {
          id: 'dev_warn_manage',
          label: '设备告警管理权限',
          children: [
            {
              id: 'dev_alm_query_permit',
              label: '查询',
              leaf: true,
            },
            {
              id: 'dev_alm_confirm_permit',
              label: '确认',
              leaf: true,
            },
            {
              id: 'dev_alm_clear_permit',
              label: '取消',
              leaf: true,
            },
            {
              id: 'dev_alm_delete_permit',
              label: '删除',
              leaf: true,
            }
            let searchParams = this.getAddParams();
            // 请求后台
            this.$apis.userMager.powerMager.add(searchParams).then(res=>{
                let rs = JSON.parse(res.data.result);
                if(rs.code == 1) {
                    this.addGroup.show=false;
                    this.$layer.msg('添加成功');
                    this.searchGroup();
                }else {
                   this.$layer.msg('添加失败');
                }
            }).catch(error=>{
                console.log(error);
            });
          ]
        },
        getAddParams() {
             let checkedKeys = this.$refs.addPowerTree.getCheckedKeys();
             let permit_group_name = this.addGroup.permit_group_name;
             return this.powerNames.map(item=>{
                 let tmp = {
                    num: 0,
                    permit_group_id: 0,
                    permit_group_name: permit_group_name,
                    permit_item_name: item,
                    permit_item_value: 0
                 };
                 // item存在被选择的权限中
                 if(checkedKeys.indexOf(item) != -1) {
                     tmp.permit_item_value = 1;
                 }
                 return tmp;
             });
        {
          id: 'battfault_manage',
          label: '电池故障管理权限',
          children: [
            {
              id: 'battfault_query_permit',
              label: '查询',
              leaf: true,
            },
            {
              id: 'battfault_add_permit',
              label: '添加',
              leaf: true,
            },
            {
              id: 'battfault_edit_permit',
              label: '编辑',
              leaf: true,
            },
            {
              id: 'battfault_delete_permit',
              label: '删除',
              leaf: true,
            },
            {
              id: 'battmaint_confirm_permit',
              label: '故障排除确认',
              leaf: true,
            },
          ]
        },
        showEidtPermit() {
            // 显示面板
            this.editGroup.show = true;
            this.$nextTick(()=>{
                // 查询并设置权限
                this.searchPermits('editPowerTree');
            });
        {
          id: 'usrtaskcheck_manage',
          label: '作业抽查任务管理权限',
          children: [
            {
              id: 'usrtaskcheck_query_permit',
              label: '查询',
              leaf: true,
            },
            {
              id: 'usrtaskcheck_add_permit',
              label: '添加',
              leaf: true,
            },
            {
              id: 'usrtaskcheck_edit_permit',
              label: '编辑',
              leaf: true,
            },
            {
              id: 'usrtaskcheck_delete_permit',
              label: '删除',
              leaf: true,
            },
            {
              id: 'usrtaskcheck_confirm_permit',
              label: '确认',
              leaf: true,
            },
          ]
        },
        editGroupOk() {
            let checkedKeys = this.$refs.editPowerTree.getCheckedKeys();
            console.log(checkedKeys);
            let searchParams = this.powersData.map(item=>{
                if(checkedKeys.indexOf(item.permit_item_name) != -1) {
                    item.permit_item_value = 1;
                }else {
                    item.permit_item_value = 0;
                }
                return item;
            });
            // 请求后台
            this.$apis.userMager.powerMager.update(searchParams).then(res=>{
                let rs = JSON.parse(res.data.result);
                if(rs.code == 1) {
                    this.editGroup.show=false;
                    this.$layer.msg('修改成功');
                    // 查询当前权限组的权限
                    this.searchPermits('powerTree');
                }else {
                   this.$layer.msg('修改失败');
                }
            }).catch(error=>{
                console.log(error);
            });
        {
          id: 'taskchange_manage',
          label: '作业变更管理权限',
          children: [
            {
              id: 'taskchange_query_permit',
              label: '查询',
              leaf: true,
            },
            {
              id: 'taskchange_add_permit',
              label: '添加',
              leaf: true,
            },
            {
              id: 'taskchange_shenpi_permit',
              label: '审批',
              leaf: true,
            },
            {
              id: 'taskchange_delete_permit',
              label: '删除',
              leaf: true,
            },
          ]
        },
        confirmDelGroup() {
            let name = this.powerInfo.permit_group_name;
            this.$layer.confirm('确认删除'+name, {icon:3},index=>{
                // 关闭弹出框
                this.$layer.close(index);
                // 删除权限组
                this.delGroup();
            });
        {
          id: 'batt_map_manage',
          label: '机房定位信息管理权限',
          children: [
            {
              id: 'batt_map_edit_permit',
              label: '编辑',
              leaf: true,
            },
            {
              id: 'batt_map_delete_permit',
              label: '删除',
              leaf: true,
            },
          ]
        },
        delGroup() {
            let searchParams = {
                up:{
                    permit_group_id:this.powerInfo.permit_group_id,
                    permit_group_name:this.powerInfo.permit_group_name
                }
            };
            // 请求后台
            this.$apis.userMager.powerMager.del(searchParams).then(res=>{
                let rs = JSON.parse(res.data.result);
                if(rs.code == 1) {
                    // 提示信息
                    this.$message({
                        type: 'success',
                        message: rs.msg,
                    });
                    // 查询权限组
                    this.searchGroup();
                }else {
                    // 提示信息
                    this.$message({
                        type: 'error',
                        message: rs.msg,
                    });
                }
            }).catch(error=>{
                console.log(error);
            })
        },
        searchUserListAll() {
            // 查询后台
            this.$apis.userMager.userInfo.searchAll().then(res=>{
                let rs = JSON.parse(res.data.result);
                let data = [];
                if(rs.code == 1) {
                    data = rs.data.map(item=>{
                        item.key = item.UId;
                        item.label = item.UName;
                        item.disabled = !this.isCanEdit;
                        return item;
                    });
                }
                // 设置用户名
                this.user.data = data;
            }).catch(error=>{
                console.log(error);
            });
        },
        searchUserList() {
            let id = this.powerInfo.permit_group_id;
            this.$apis.userMager.userInfo.searchPowerUser(id).then(res=>{
                let rs = JSON.parse(res.data.result);
                let data = [];
                let added = [];
                if(rs.code == 1) {
                    data = rs.data.map(item=>{
                        return item.UId;
                    });
                    added = rs.data;
                }
                // 设置用户名
                this.user.value = data;
                this.user.added = added;
            }).catch(error=>{
                console.log(error);
            });
        },
        getUserListByUIds(UIds, type) {
            var userList = type == 'left'?this.user.added:this.user.data;
            console.log(userList)
            var powerInfo = this.powerInfo;
            var result = [];
            for(var i=0; i<UIds.length; i++) {
                var UId = UIds[i];
                for(var k=0; k<userList.length; k++) {
                    var user = userList[k];
                    if(user.UId == UId) {
                        if(type == 'left') {
                            result.push({
                                uname: user.UName,
                                permit_group_name: powerInfo.permit_group_name,
                                num: user.UBaojiusr,
                            });
                        }else {
                            result.push({
                                permit_group_id: powerInfo.permit_group_id,
                                permit_group_name: powerInfo.permit_group_name,
                                uId: user.UId,
                                uname: user.UName,
                            });
                        }
                        break;
                    }
                }
            }
            return result;
        },
        userChange(list, type, values) {
            var userList = this.getUserListByUIds(values, type);
            // 根据类型确定事件
            switch(type) {
                case 'left':
                    this.removeUser(userList);
                break;
                case 'right':
                    this.addUser(userList);
                break;
            }
        },
        addUser(list) {
            // 查询后台
            this.$apis.userMager.powerMager.addUser(list).then(res=>{
                let rs = JSON.parse(res.data.result);
                if(rs.code == 1) {
                    // 提示信息
                    this.$message({
                        type: 'success',
                        message: rs.msg,
                    });
                }else {
                    // 提示信息
                    this.$message({
                        type: 'error',
                        message: rs.msg,
                    });
                }
                // 查询已添加的用户
                this.searchUserList();
            }).catch(error=>{
                console.log(error);
            });
        },
        removeUser(list) {
            console.log(list);
            // 查询后台
            this.$apis.userMager.powerMager.removeUser(list).then(res=>{
                let rs = JSON.parse(res.data.result);
                if(rs.code == 1) {
                    // 提示信息
                    this.$message({
                        type: 'success',
                        message: rs.msg,
                    });
                }else {
                    // 提示信息
                    this.$message({
                        type: 'error',
                        message: rs.msg,
                    });
                }
                // 查询已添加的用户
                this.searchUserList();
            }).catch(error=>{
                console.log(error);
            });
        }
    },
    computed: {
        getToolsState() {    // 根据选中的状态确定包机组列表工具栏的状态
            return this.powerInfo.permit_group_id == ""?true:false;
        },
    },
    mounted() {
        // 设置powerNames
        this.setPowerNames();
        // 查询所有的权限组
        this.searchGroup();
      ],
      powerNames: [],
      powersData: []
    }
  },
  methods: {
    initData() {
      // 初始化用户列表
      this.user = {
        data: [],
        value: [],
        added: []
      };
      // 初始化查询条件
      this.powerInfo = {
        permit_group_id: '',
        permit_group_name: '',
      };
      // 列表的激活状态修改
      this.$refs.groupList.activeKey = "";
      // 初始化树
      this.$refs.powerTree.setCheckedKeys([]);
    },
    searchGroup() {
      // 初始化数据
      this.initData();
      // 请求后台查询
      this.$apis.userMager.powerMager.searchGroup().then(res => {
        let rs = JSON.parse(res.data.result);
        let data = [];
        if (rs.code == 1) {
          data = rs.data.map(item => {
            item.txt = item.permit_group_name;
            item.key = item.permit_group_id;
            return item;
          });
        }
        // 设置权限组
        this.powergrouplist = data.filter(item => {
          if (item.key != 100002) {
            return item;
          }
        });
      }).catch(error => {
        console.log(error);
      });
    },
    groupListClick(item) {
      // 设置查询的值
      this.powerInfo.permit_group_id = item.key;
      this.powerInfo.permit_group_name = item.txt;
      // 查询所有的用户
      this.searchUserListAll();
      // 查询权限组下的用户
      this.searchUserList();
      // 查询当前权限组的权限
      this.searchPermits('powerTree');
    },
    showAddPermit() {
      // 显示面板
      this.addGroup.show = true;
      // 初始化面板的值
      this.addGroup.permit_group_name = "";
      this.$nextTick(() => {
        this.$refs.addPowerTree.setCheckedKeys([]);
      });
    },
    searchPermits(treeName) {
      let id = this.powerInfo.permit_group_id;
      // 查询后台
      this.$apis.userMager.powerMager.searchPermits(id).then(res => {
        let rs = JSON.parse(res.data.result);
        let data = [];
        let powersData = [];
        if (rs.code == 1) {
          data = rs.data.filter(item => {
            return item.permit_item_value;
          }).map(item => {
            return item.permit_item_name;
          });
          powersData = rs.data.map(item => {
            return item;
          });
        }
        this.$refs[treeName].setCheckedKeys(data);
        this.powersData = powersData;
      }).catch(error => {
        console.log(error);
      });
    },
    setPowerNames() {
      // 查询后台
      this.$apis.userMager.powerMager.serchPermitNames().then(res => {
        let rs = JSON.parse(res.data.result);
        if (rs.code == 1) {
          this.powerNames = rs.data.map(item => {
            return item.permit_item_name;
          });
        }
      }).catch(error => {
        console.log(error);
      });
    },
    checkPowerGroup(value) {
      var rs = {
        code: 1,
        message: '',
      };
      // 为空检测
      if (value == '') {
        rs.code = 0;
        rs.message = "权限组名称不能为空";
        return rs;
      }
      // 遍历包机组列表获取是否重名
      for (var i = 0; i < this.powergrouplist.length; i++) {
        var _data = this.powergrouplist[i];
        if (value == _data.txt) {
          rs.code = 0;
          rs.message = value + "已存在";
          break;
        }
      }
      return rs;
    },
    addGroupOk() {
      let permit_group_name = this.addGroup.permit_group_name;
      let checkedRs = this.checkPowerGroup(permit_group_name);
      if (checkedRs.code == 0) {
        this.$layer.msg(checkedRs.message);
        return;
      }
      let searchParams = this.getAddParams();
      // 请求后台
      this.$apis.userMager.powerMager.add(searchParams).then(res => {
        let rs = JSON.parse(res.data.result);
        if (rs.code == 1) {
          this.addGroup.show = false;
          this.$layer.msg('添加成功');
          this.searchGroup();
        } else {
          this.$layer.msg('添加失败');
        }
      }).catch(error => {
        console.log(error);
      });
    },
    getAddParams() {
      let checkedKeys = this.$refs.addPowerTree.getCheckedKeys();
      let permit_group_name = this.addGroup.permit_group_name;
      return this.powerNames.map(item => {
        let tmp = {
          num: 0,
          permit_group_id: 0,
          permit_group_name: permit_group_name,
          permit_item_name: item,
          permit_item_value: 0
        };
        // item存在被选择的权限中
        if (checkedKeys.indexOf(item) != -1) {
          tmp.permit_item_value = 1;
        }
        return tmp;
      });
    },
    showEidtPermit() {
      // 显示面板
      this.editGroup.show = true;
      this.$nextTick(() => {
        // 查询并设置权限
        this.searchPermits('editPowerTree');
      });
    },
    editGroupOk() {
      let checkedKeys = this.$refs.editPowerTree.getCheckedKeys();
      let searchParams = this.powersData.map(item => {
        if (checkedKeys.indexOf(item.permit_item_name) != -1) {
          item.permit_item_value = 1;
        } else {
          item.permit_item_value = 0;
        }
        return item;
      });
      // 请求后台
      this.$apis.userMager.powerMager.update(searchParams).then(res => {
        let rs = JSON.parse(res.data.result);
        if (rs.code == 1) {
          this.editGroup.show = false;
          this.$layer.msg('修改成功');
          // 查询当前权限组的权限
          this.searchPermits('powerTree');
        } else {
          this.$layer.msg('修改失败');
        }
      }).catch(error => {
        console.log(error);
      });
    },
    confirmDelGroup() {
      let name = this.powerInfo.permit_group_name;
      this.$layer.confirm('确认删除' + name, {icon: 3}, index => {
        // 关闭弹出框
        this.$layer.close(index);
        // 删除权限组
        this.delGroup();
      });
    },
    delGroup() {
      let searchParams = {
        up: {
          permit_group_id: this.powerInfo.permit_group_id,
          permit_group_name: this.powerInfo.permit_group_name
        }
      };
      // 请求后台
      this.$apis.userMager.powerMager.del(searchParams).then(res => {
        let rs = JSON.parse(res.data.result);
        if (rs.code == 1) {
          // 提示信息
          this.$message({
            type: 'success',
            message: rs.msg,
          });
          // 查询权限组
          this.searchGroup();
        } else {
          // 提示信息
          this.$message({
            type: 'error',
            message: rs.msg,
          });
        }
      }).catch(error => {
        console.log(error);
      })
    },
    searchUserListAll() {
      // 查询后台
      this.$apis.userMager.userInfo.searchAll().then(res => {
        let rs = JSON.parse(res.data.result);
        let data = [];
        if (rs.code == 1) {
          data = rs.data.map(item => {
            item.key = item.UId;
            item.label = item.UName;
            item.disabled = !this.isCanEdit;
            return item;
          });
        }
        // 设置用户名
        this.user.data = data;
      }).catch(error => {
        console.log(error);
      });
    },
    searchUserList() {
      let id = this.powerInfo.permit_group_id;
      this.$apis.userMager.userInfo.searchPowerUser(id).then(res => {
        let rs = JSON.parse(res.data.result);
        let data = [];
        let added = [];
        if (rs.code == 1) {
          data = rs.data.map(item => {
            return item.UId;
          });
          added = rs.data;
        }
        // 设置用户名
        this.user.value = data;
        this.user.added = added;
      }).catch(error => {
        console.log(error);
      });
    },
    getUserListByUIds(UIds, type) {
      var userList = type == 'left' ? this.user.added : this.user.data;
      console.log(userList)
      var powerInfo = this.powerInfo;
      var result = [];
      for (var i = 0; i < UIds.length; i++) {
        var UId = UIds[i];
        for (var k = 0; k < userList.length; k++) {
          var user = userList[k];
          if (user.UId == UId) {
            if (type == 'left') {
              result.push({
                uname: user.UName,
                permit_group_name: powerInfo.permit_group_name,
                num: user.UBaojiusr,
              });
            } else {
              result.push({
                permit_group_id: powerInfo.permit_group_id,
                permit_group_name: powerInfo.permit_group_name,
                uId: user.UId,
                uname: user.UName,
              });
            }
            break;
          }
        }
      }
      return result;
    },
    userChange(list, type, values) {
      var userList = this.getUserListByUIds(values, type);
      // 根据类型确定事件
      switch (type) {
        case 'left':
          this.removeUser(userList);
          break;
        case 'right':
          this.addUser(userList);
          break;
      }
    },
    addUser(list) {
      // 查询后台
      this.$apis.userMager.powerMager.addUser(list).then(res => {
        let rs = JSON.parse(res.data.result);
        if (rs.code == 1) {
          // 提示信息
          this.$message({
            type: 'success',
            message: rs.msg,
          });
        } else {
          // 提示信息
          this.$message({
            type: 'error',
            message: rs.msg,
          });
        }
        // 查询已添加的用户
        this.searchUserList();
      }).catch(error => {
        console.log(error);
      });
    },
    removeUser(list) {
      console.log(list);
      // 查询后台
      this.$apis.userMager.powerMager.removeUser(list).then(res => {
        let rs = JSON.parse(res.data.result);
        if (rs.code == 1) {
          // 提示信息
          this.$message({
            type: 'success',
            message: rs.msg,
          });
        } else {
          // 提示信息
          this.$message({
            type: 'error',
            message: rs.msg,
          });
        }
        // 查询已添加的用户
        this.searchUserList();
      }).catch(error => {
        console.log(error);
      });
    }
  },
  computed: {
    getToolsState() {    // 根据选中的状态确定包机组列表工具栏的状态
      return this.powerInfo.permit_group_id == "" ? true : false;
    },
  },
  mounted() {
    // 设置powerNames
    this.setPowerNames();
    // 查询所有的权限组
    this.searchGroup();
  }
}
</script>
<style scoped>
.flex-page-content {
    margin-left: 8px;
    margin-right: 8px;
  margin-left: 8px;
  margin-right: 8px;
}
.tab-pane-content {
    height: 100%;
    overflow-y: auto;
  height: 100%;
  overflow-y: auto;
}
.dialog-tree-container {
    background-color: #FFFFFF;
  background-color: #FFFFFF;
}
.power-user-tree {
    display: flex;
    flex-direction: row;
    height: 100%;
  display: flex;
  flex-direction: row;
  height: 100%;
}
.power-content {
    flex:1;
    overflow-y: auto;
  flex: 1;
  overflow-y: auto;
}
.power-content-user {
    padding: 0 8px 8px 8px;
  padding: 0 8px 8px 8px;
}
</style>