longyvfengyun
2024-09-12 502bfbe0e9c8821464a81d0079a330e5761e01b3
修改权限和创建用户
3个文件已修改
1132 ■■■■ 已修改文件
src/assets/js/config.module.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/userMager/addEdit.vue 240 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/userMager/powerMager.vue 888 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/js/config.module.js
@@ -94,9 +94,9 @@
     */
    // name: "",
    // name: "sxty", // 请查看alarmPopup是否开启,logo是否开启且为gjdw
    // name: "tydc",
    name: "tydc",
    // name: 'njck',
    name: "ynkm",
    // name: "ynkm",
    //value: false,
  },
  // 是否要(加验签) 安全模式
src/views/userMager/addEdit.vue
@@ -19,7 +19,7 @@
            >
              <el-option
                v-for="(item, key) in udepartmentList"
                :key="'key'+key"
                :key="'key' + key"
                :label="item.label"
                :value="item.value"
              >
@@ -90,7 +90,7 @@
            >
              <el-option
                v-for="(item, key) in ujobGroupList"
                :key="'key'+key"
                :key="'key' + key"
                :label="item.label"
                :value="item.value"
              >
@@ -103,12 +103,14 @@
              v-model="formData.urole"
              size="mini"
              placeholder="请选择用户角色"
              class="width_140">
              class="width_140"
            >
              <el-option
                v-for="(item, key) in uroleList"
                :key="'key'+key"
                :key="'key' + key"
                :label="item.label"
                :value="item.value"></el-option>
                :value="item.value"
              ></el-option>
            </el-select>
          </el-form-item>
@@ -117,65 +119,86 @@
              v-model="formData.type"
              size="mini"
              placeholder="请选择用户类型"
              class="width_140">
              class="width_140"
            >
              <el-option
                v-for="(item, key) in type"
                :key="'key'+key"
                :key="'key' + key"
                :label="item.label"
                :value="item.value">
                :value="item.value"
              >
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="过期时间:" class="table-cell" v-if="formData.type==2">
          <el-form-item
            label="过期时间:"
            class="table-cell"
            v-if="formData.type == 2"
          >
            <el-date-picker
                v-model="expirationTime"
                type="datetime"
                size="mini"
                :start-placeholder="startTime"
                placeholder="选择日期时间">
              v-model="expirationTime"
              type="datetime"
              size="mini"
              :start-placeholder="startTime"
              placeholder="选择日期时间"
            >
            </el-date-picker>
          </el-form-item>
          <div class="clear" v-if="formData.type==2"></div>
          <el-form-item label="用户权限:" class="table-cell" prop="permitGroupId" v-if="status=='add'">
          <div class="clear" v-if="formData.type == 2"></div>
          <el-form-item
            label="用户权限:"
            class="table-cell"
            prop="permitGroupId"
            v-if="status == 'add'"
          >
            <el-select
                v-model="formData.permitGroupId"
                size="mini"
                placeholder="请选择用户权限组"
                class="width_140">
              v-model="formData.permitGroupId"
              size="mini"
              placeholder="请选择用户权限组"
              class="width_140"
              :disabled="!isCanChangePower"
            >
              <el-option
                  v-for="(item, key) in groupList"
                  :key="'key'+key"
                  :label="item.txt"
                  :value="item.value">
                v-for="(item, key) in groupList"
                :key="'key' + key"
                :label="item.txt"
                :value="item.value"
              >
              </el-option>
            </el-select>
          </el-form-item>
          <div class="clear"></div>
          <el-form-item label="访问控制时间:" class="table-cell" prop="visitTime" v-if="isSysAdmin">
          <el-form-item
            label="访问控制时间:"
            class="table-cell"
            prop="visitTime"
            v-if="isSysAdmin"
          >
            <el-time-picker
                popper-class="white-bg"
                is-range
                size="mini"
                arrow-control
                v-model="rangeTime"
                range-separator="至"
                start-placeholder="开始时间"
                end-placeholder="结束时间"
                placeholder="选择时间范围"
                @change="timeChange">
              popper-class="white-bg"
              is-range
              size="mini"
              arrow-control
              v-model="rangeTime"
              range-separator="至"
              start-placeholder="开始时间"
              end-placeholder="结束时间"
              placeholder="选择时间范围"
              @change="timeChange"
            >
            </el-time-picker>
          </el-form-item>
          <el-form-item label="IP白名单:" prop="visitIp" v-if="isSysAdmin">
            <el-input
                type="textarea"
                :rows="6"
                placeholder="请输入内容"
                resize="none"
                v-model="formData.visitIp">
              type="textarea"
              :rows="6"
              placeholder="请输入内容"
              resize="none"
              v-model="formData.visitIp"
            >
            </el-input>
          </el-form-item>
        </div>
        <!-- <div class="clear" v-if="status == 'edit'"></div> -->
        <!-- <el-form-item label="身份证号:" class="table-cell">
@@ -264,19 +287,28 @@
</template>
<script>
import { searchProvince } from "../../assets/js/api";
import { groupAndUserListOfCurrentUser,user,getPermitGroupList } from './apis/apis'
import { testVal } from '@/assets/js/tools'
import {
  groupAndUserListOfCurrentUser,
  user,
  getPermitGroupList,
} from "./apis/apis";
import { testVal } from "@/assets/js/tools";
import RSA from "@/assets/js/tools/RSA";
import const_user from "@/assets/js/const/const_user";
import const_rules from "@/assets/js/const/const_rules";
import formatPassword from "@/assets/js/tools/formatPassword";
import { isHasPermit, getLabelByValue } from "@/assets/js/tools";
export default {
  name:'addEdit',
  name: "addEdit",
  props: ["status", "opt", "index", "seft"],
  data() {
    let userId = sessionStorage.getItem("userPowerGroup");
    let constRules = const_rules;
    let permits = this.$store.state.user.permits;
    let isCanChangePower = isHasPermit("permit_edit_permit", permits);
    return {
      isCanChangePower,
      expirationTime: new Date(),
      startTime: new Date().format("yyyy-MM-dd hh:mm:ss"),
      userId: userId,
@@ -309,19 +341,16 @@
        uauthority: this.opt.uauthority || "",
        umobilephone: this.opt.umobilephone || "",
        uemployeeId: this.opt.uemployeeId || "",
        type:this.opt.type || 1,
        status:  this.opt.status || 1,
        type: this.opt.type || 1,
        status: this.opt.status || 1,
        urole: 0,
        expirationTime: this.opt.expirationTime || null,
        permitGroupId: this.opt.permitGroupId || "",                // 用户所在权限组
        visitTime: this.opt.visitTime || "00:00:01~23:59:59",   // 默认值 全天
        visitIp: this.opt.visitIp ||"*"                      // 允许访问的IP * 代表全部
        permitGroupId: this.opt.permitGroupId || "", // 用户所在权限组
        visitTime: this.opt.visitTime || "00:00:01~23:59:59", // 默认值 全天
        visitIp: this.opt.visitIp || "*", // 允许访问的IP * 代表全部
      },
      groupList: [],
      rangeTime: [
        "2016-10-1 00:00:01",
        "2016-10-1 23:59:59",
      ],
      rangeTime: ["2016-10-1 00:00:01", "2016-10-1 23:59:59"],
      rules: {
        uname: [
          {
@@ -367,9 +396,9 @@
        visitIp: [
          {
            validator(rule, value, callback) {
              testVal(rule, value, callback, constRules.isWhiteIp)
              testVal(rule, value, callback, constRules.isWhiteIp);
            },
            trigger: 'change'
            trigger: "change",
          },
        ],
        permitGroupId: [
@@ -384,8 +413,8 @@
  },
  computed: {
    isSysAdmin() {
      return this.userId==1?true:false;
    }
      return this.userId == 1 ? true : false;
    },
  },
  mounted() {
    this.queryWhq(); //维护区
@@ -400,51 +429,58 @@
      this.formData.permitGroupId = 100;
      let times = this.opt.visitTime.split("~");
      this.rangeTime = [
          new Date("2016-10-1 "+times[0]),
        new Date("2016-10-1 "+times[1]),
        new Date("2016-10-1 " + times[0]),
        new Date("2016-10-1 " + times[1]),
      ];
    }
  },
  methods: {
    searchGroup() {
      // 查询用户权限
      getPermitGroupList().then(res => {
        let rs = res.data;
        let data = [];
        if (rs.code == 1) {
          data = rs.data.map(item => {
            item.txt = item.permitGroupName;
            item.value = item.permitGroupId;
            item.key = item.permitGroupName;
            return item;
          });
        }
        // 设置权限组
        this.groupList = data.filter(item => {
          if (item.value != 100002) {
            return true;
      getPermitGroupList()
        .then((res) => {
          const permitGroupId = sessionStorage.getItem("userPowerGroup") * 1;
          console.log(permitGroupId);
          let rs = res.data;
          let data = [];
          if (rs.code === 1) {
            data = rs.data.map((item) => {
              item.txt = item.permitGroupName;
              item.value = item.permitGroupId;
              item.key = item.permitGroupName;
              return item;
            });
          }
          // 设置权限组
          this.groupList = data.filter((item) => {
            if (item.value !== 100002) {
              return true;
            }
          });
          this.formData.permitGroupId = permitGroupId;
        })
        .catch((error) => {
          console.log(error);
        });
      }).catch(error => {
        console.log(error);
      });
    },
    timeChange(time) {
      let time1 = time[0].format("hh:mm:ss");
      let time2 = time[1].format("hh:mm:ss");
      this.formData.visitTime = time1+"~"+time2;
      this.formData.visitTime = time1 + "~" + time2;
    },
    // 查询工作班组
    queryGzbz: function() {
    queryGzbz: function () {
      let vm = this;
      groupAndUserListOfCurrentUser().then((res) => {
      groupAndUserListOfCurrentUser()
        .then((res) => {
          let re = res.data;
          let params = [];
          if (re.code == 1) {
            re.data.forEach((list) => {
              let objs = {
                label: list.baoJiGroupName,
                value: list.baoJiGroupName//list.baoJiGroupId,
                value: list.baoJiGroupName, //list.baoJiGroupId,
              };
              params.push(objs);
            });
@@ -457,9 +493,10 @@
        .catch((error) => {});
    },
    // 查询维护区
    queryWhq: function() {
    queryWhq: function () {
      let vm = this;
      searchProvince().then((res) => {
      searchProvince()
        .then((res) => {
          let rs = res.data;
          let params = [];
          if (rs.code == 1) {
@@ -480,37 +517,40 @@
        .catch((err) => {});
    },
    // 取消隐藏弹框
    cancelOpen: function() {
    cancelOpen: function () {
      let vm = this;
      vm.$emit("onClose");
    },
    // 确定
    confirmOpen: function() {
    confirmOpen: function () {
      let vm = this;
      vm.$refs.formDataBox.validate((valid) => {
        if (valid) {
          let data = vm.formData;
              if(data.type == 1) {
                data.expirationTime = null;
              }else {
                data.expirationTime = new Date(this.expirationTime).format("yyyy-MM-dd hh:mm:ss");
              }
          if (data.type == 1) {
            data.expirationTime = null;
          } else {
            data.expirationTime = new Date(this.expirationTime).format(
              "yyyy-MM-dd hh:mm:ss"
            );
          }
          switch (vm.status) {
            case "add": //新增
              // vm.updateLicense();
              // let psw = RSA.encrypt(vm.formData.upassword);
              // debugger
              let psw = vm.formData.upassword;
                  vm.formData.upassword = encodeURIComponent(formatPassword(psw));
                  vm.addUser(vm.formData);
              vm.formData.upassword = encodeURIComponent(formatPassword(psw));
              vm.addUser(vm.formData);
              break;
            case "edit": //修改
              user(data,"PUT").then((res) => {
              user(data, "PUT")
                .then((res) => {
                  let result = res.data;
                  if (result.code == 1) {
                    if(result.data ===false){
                    if (result.data === false) {
                      vm.$layer.msg(result.msg);
                    }else{
                    } else {
                      vm.$emit("success", result);
                    }
                  } else {
@@ -531,16 +571,16 @@
    addUser(data) {
      let vm = this;
      data.usnId = data.upassword;
      user(data,"POST").then((res) => {
      user(data, "POST")
        .then((res) => {
          let result = res.data;
          vm.formData.upassword = "";
          if (result.code == 1) {
            if(result.data === false){
            if (result.data === false) {
              vm.$layer.msg(result.msg);
            }else{
            } else {
              vm.$emit("success", result);
            }
          } else {
            vm.$layer.msg(result.msg);
          }
@@ -550,7 +590,7 @@
        });
    },
    // 添加/更新license
    updateLicense: function() {
    updateLicense: function () {
      let vm = this;
      vm.$layer.prompt(
        {
src/views/userMager/powerMager.vue
@@ -2,45 +2,63 @@
  <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="false"
                   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>
        <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>
        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">
              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;">
          <div class="power-tree-wrapper w320" style="overflow-y: auto">
            <el-tree
                ref="powerTree"
                :data="powerTree"
                show-checkbox
                node-key="id"
                highlight-current>
              ref="powerTree"
              :data="powerTree"
              show-checkbox
              node-key="id"
              highlight-current
            >
            </el-tree>
          </div>
        </div>
@@ -48,18 +66,16 @@
    </div>
    <!-- 添加权限组 -->
    <el-dialog
        title="添加权限组"
        width="480px"
        :visible.sync="addGroup.show"
        :close-on-click-modal="false"
        top="0"
        class="dialog-center"
        :modal-append-to-body="false">
      title="添加权限组"
      width="480px"
      :visible.sync="addGroup.show"
      :close-on-click-modal="false"
      top="0"
      class="dialog-center"
      :modal-append-to-body="false"
    >
      <div class="params-container">
        <el-form
            size="mini"
            label-position="top"
            class="params-dialog">
        <el-form size="mini" label-position="top" class="params-dialog">
          <div class="table-layout">
            <div class="table-row">
              <div class="table-cell">
@@ -70,13 +86,17 @@
            </div>
            <div class="table-row">
              <div class="table-cell">
                <div class="dialog-tree-container h400" style="overflow-y: auto">
                <div
                  class="dialog-tree-container h400"
                  style="overflow-y: auto"
                >
                  <el-tree
                      ref="addPowerTree"
                      :data="powerTree"
                      show-checkbox
                      node-key="id"
                      highlight-current>
                    ref="addPowerTree"
                    :data="powerTree"
                    show-checkbox
                    node-key="id"
                    highlight-current
                  >
                  </el-tree>
                </div>
              </div>
@@ -90,28 +110,30 @@
    </el-dialog>
    <!-- 编辑包机组 -->
    <el-dialog
        title="修改权限树"
        width="480px"
        :visible.sync="editGroup.show"
        :close-on-click-modal="false"
        top="0"
        class="dialog-center"
        :modal-append-to-body="false">
      title="修改权限树"
      width="480px"
      :visible.sync="editGroup.show"
      :close-on-click-modal="false"
      top="0"
      class="dialog-center"
      :modal-append-to-body="false"
    >
      <div class="params-container">
        <el-form
            size="mini"
            label-position="top"
            class="params-dialog">
        <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">
                <div
                  class="dialog-tree-container h400"
                  style="overflow-y: auto"
                >
                  <el-tree
                      ref="editPowerTree"
                      :data="powerTree"
                      show-checkbox
                      node-key="id"
                      highlight-current>
                    ref="editPowerTree"
                    :data="powerTree"
                    show-checkbox
                    node-key="id"
                    highlight-current
                  >
                  </el-tree>
                </div>
              </div>
@@ -127,10 +149,10 @@
</template>
<script>
import MyCard from './MyCard.vue'
import BaojiGroupList from './BaojiGroupList'
import ContextBox from '../../components/ContentBox'
import {isHasPermit} from "@/assets/js/tools";
import MyCard from "./MyCard.vue";
import BaojiGroupList from "./BaojiGroupList";
import ContextBox from "../../components/ContentBox";
import { isHasPermit } from "@/assets/js/tools";
import {
  getPermitGroupList,
  getPermitList,
@@ -138,77 +160,77 @@
  addPermitGroup,
  deletePermitGroup,
  permitGroupUser,
  userSearchCSAll2
} from "./apis/apis"
  userSearchCSAll2,
} from "./apis/apis";
export default {
  name:"powerMager",
  name: "powerMager",
  components: {
    MyCard,
    BaojiGroupList,
    ContextBox
    ContextBox,
  },
  data() {
    let permits = this.$store.state.user.permits;
    let isCanEdit = isHasPermit('permit_edit_permit', permits);
    let isCanEdit = isHasPermit("permit_edit_permit", permits);
    return {
      isCanEdit: isCanEdit,
      activeName: 'power-group-user',
      activeName: "power-group-user",
      powerInfo: {
        permit_group_name: '',
        permit_group_id: '',
        permit_group_name: "",
        permit_group_id: "",
      },
      powergrouplist: [],
      user: {
        data: [],
        value: [],
        added: []
        added: [],
      },
      addGroup: {
        show: false,
        permit_group_name: '',
        permit_group_name: "",
      },
      editGroup: {
        show: false,
        permit_group_name: '',
        permit_group_name: "",
      },
      powerTree: [
        {
          id: 'report_query',
          label: '报表查询权限',
          id: "report_query",
          label: "报表查询权限",
          children: [
            {
              id: 'battinf_report_query_permit',
              label: '电池信息报表',
              id: "battinf_report_query_permit",
              label: "电池信息报表",
              leaf: true,
            },
            {
              id: 'battgroup_report_query_permit',
              label: '电池组分析报表',
              id: "battgroup_report_query_permit",
              label: "电池组分析报表",
              leaf: true,
            },
            {
              id: 'monomer_report_query_permit',
              label: '电池单体分析报表',
              id: "monomer_report_query_permit",
              label: "电池单体分析报表",
              leaf: true,
            }
          ]
            },
          ],
        },
        {
          id: 'batttest_data',
          label: '电池数据管理',
          id: "batttest_data",
          label: "电池数据管理",
          children: [
            {
              id: 'batttest_data_query_permit',
              label: '查询',
              id: "batttest_data_query_permit",
              label: "查询",
              leaf: true,
            },
            {
              id: 'batttest_data_edit_permit',
              label: '编辑',
              id: "batttest_data_edit_permit",
              label: "编辑",
              leaf: true,
            },
          ]
          ],
        },
        // {
        //   id: 'power_info_data',
@@ -227,271 +249,271 @@
        //   ]
        // },
        {
          id: 'task_manage',
          label: '作业管理权限',
          id: "task_manage",
          label: "作业管理权限",
          children: [
            {
              id: 'task_query_permit',
              label: '查询',
              id: "task_query_permit",
              label: "查询",
              leaf: true,
            },
            {
              id: 'task_edit_permit',
              label: '编辑',
              id: "task_edit_permit",
              label: "编辑",
              leaf: true,
            },
            {
              id: 'task_check_permit',
              label: '抽查',
              id: "task_check_permit",
              label: "抽查",
              leaf: true,
            },
            {
              id: 'task_recheck_permit',
              label: '复查',
              id: "task_recheck_permit",
              label: "复查",
              leaf: true,
            },
          ]
          ],
        },
        {
          id: 'user_manage',
          label: '用户和包机组权限',
          id: "user_manage",
          label: "用户和包机组权限",
          children: [
            {
              id: 'usr_query_permit',
              label: '查询',
              id: "usr_query_permit",
              label: "查询",
              leaf: true,
            },
            {
              id: 'usr_edit_permit',
              label: '编辑',
              id: "usr_edit_permit",
              label: "编辑",
              leaf: true,
            },
          ]
          ],
        },
        {
          id: 'power_manage',
          label: '权限管理',
          id: "power_manage",
          label: "权限管理",
          children: [
            {
              id: 'permit_query_permit',
              label: '查询',
              id: "permit_query_permit",
              label: "查询",
              leaf: true,
            },
            {
              id: 'permit_edit_permit',
              label: '编辑',
              id: "permit_edit_permit",
              label: "编辑",
              leaf: true,
            },
          ]
          ],
        },
        {
          id: 'server_manage',
          label: '服务器参数设置权限',
          id: "server_manage",
          label: "服务器参数设置权限",
          children: [
            {
              id: 'server_param_query_permit',
              label: '查询',
              id: "server_param_query_permit",
              label: "查询",
              leaf: true,
            },
            {
              id: 'server_param_edit_permit',
              label: '编辑',
              id: "server_param_edit_permit",
              label: "编辑",
              leaf: true,
            },
          ]
          ],
        },
        {
          id: 'test_permit_manage',
          label: '操作权限',
          id: "test_permit_manage",
          label: "操作权限",
          children: [
            {
              id: 'batt_test_op_permit',
              label: '电池测试',
              id: "batt_test_op_permit",
              label: "电池测试",
              leaf: true,
            },
            {
              id: 'analog_loader_op_permit',
              label: '虚拟负载',
              id: "analog_loader_op_permit",
              label: "虚拟负载",
              leaf: true,
            },
          ]
          ],
        },
        {
          id: 'batt_warn_manage',
          label: '电池告警管理权限',
          id: "batt_warn_manage",
          label: "电池告警管理权限",
          children: [
            {
              id: 'batt_alm_query_permit',
              label: '查询',
              id: "batt_alm_query_permit",
              label: "查询",
              leaf: true,
            },
            {
              id: 'batt_alm_confirm_permit',
              label: '确认',
              id: "batt_alm_confirm_permit",
              label: "确认",
              leaf: true,
            },
            {
              id: 'batt_alm_clear_permit',
              label: '取消',
              id: "batt_alm_clear_permit",
              label: "取消",
              leaf: true,
            },
            {
              id: 'batt_alm_delete_permit',
              label: '删除',
              id: "batt_alm_delete_permit",
              label: "删除",
              leaf: true,
            }
          ]
            },
          ],
        },
        {
          id: 'batt_warn_param_manage',
          label: '电池告警参数设置权限',
          id: "batt_warn_param_manage",
          label: "电池告警参数设置权限",
          children: [
            {
              id: 'batt_alm_param_query_permit',
              label: '查询',
              id: "batt_alm_param_query_permit",
              label: "查询",
              leaf: true,
            },
            {
              id: 'batt_alm_param_edit_permit',
              label: '编辑',
              id: "batt_alm_param_edit_permit",
              label: "编辑",
              leaf: true,
            },
          ]
          ],
        },
        {
          id: 'dev_warn_manage',
          label: '设备告警管理权限',
          id: "dev_warn_manage",
          label: "设备告警管理权限",
          children: [
            {
              id: 'dev_alm_query_permit',
              label: '查询',
              id: "dev_alm_query_permit",
              label: "查询",
              leaf: true,
            },
            {
              id: 'dev_alm_confirm_permit',
              label: '确认',
              id: "dev_alm_confirm_permit",
              label: "确认",
              leaf: true,
            },
            {
              id: 'dev_alm_clear_permit',
              label: '取消',
              id: "dev_alm_clear_permit",
              label: "取消",
              leaf: true,
            },
            {
              id: 'dev_alm_delete_permit',
              label: '删除',
              id: "dev_alm_delete_permit",
              label: "删除",
              leaf: true,
            }
          ]
            },
          ],
        },
        {
          id: 'battfault_manage',
          label: '电池故障管理权限',
          id: "battfault_manage",
          label: "电池故障管理权限",
          children: [
            {
              id: 'battfault_query_permit',
              label: '查询',
              id: "battfault_query_permit",
              label: "查询",
              leaf: true,
            },
            {
              id: 'battfault_add_permit',
              label: '添加',
              id: "battfault_add_permit",
              label: "添加",
              leaf: true,
            },
            {
              id: 'battfault_edit_permit',
              label: '编辑',
              id: "battfault_edit_permit",
              label: "编辑",
              leaf: true,
            },
            {
              id: 'battfault_delete_permit',
              label: '删除',
              id: "battfault_delete_permit",
              label: "删除",
              leaf: true,
            },
            {
              id: 'battmaint_confirm_permit',
              label: '故障排除确认',
              id: "battmaint_confirm_permit",
              label: "故障排除确认",
              leaf: true,
            },
          ]
          ],
        },
        {
          id: 'usrtaskcheck_manage',
          label: '作业抽查任务管理权限',
          id: "usrtaskcheck_manage",
          label: "作业抽查任务管理权限",
          children: [
            {
              id: 'usrtaskcheck_query_permit',
              label: '查询',
              id: "usrtaskcheck_query_permit",
              label: "查询",
              leaf: true,
            },
            {
              id: 'usrtaskcheck_add_permit',
              label: '添加',
              id: "usrtaskcheck_add_permit",
              label: "添加",
              leaf: true,
            },
            {
              id: 'usrtaskcheck_edit_permit',
              label: '编辑',
              id: "usrtaskcheck_edit_permit",
              label: "编辑",
              leaf: true,
            },
            {
              id: 'usrtaskcheck_delete_permit',
              label: '删除',
              id: "usrtaskcheck_delete_permit",
              label: "删除",
              leaf: true,
            },
            {
              id: 'usrtaskcheck_confirm_permit',
              label: '确认',
              id: "usrtaskcheck_confirm_permit",
              label: "确认",
              leaf: true,
            },
          ]
          ],
        },
        {
          id: 'taskchange_manage',
          label: '作业变更管理权限',
          id: "taskchange_manage",
          label: "作业变更管理权限",
          children: [
            {
              id: 'taskchange_query_permit',
              label: '查询',
              id: "taskchange_query_permit",
              label: "查询",
              leaf: true,
            },
            {
              id: 'taskchange_add_permit',
              label: '添加',
              id: "taskchange_add_permit",
              label: "添加",
              leaf: true,
            },
            {
              id: 'taskchange_shenpi_permit',
              label: '审批',
              id: "taskchange_shenpi_permit",
              label: "审批",
              leaf: true,
            },
            {
              id: 'taskchange_delete_permit',
              label: '删除',
              id: "taskchange_delete_permit",
              label: "删除",
              leaf: true,
            },
          ]
          ],
        },
        {
          id: 'batt_map_manage',
          label: '机房定位信息管理权限',
          id: "batt_map_manage",
          label: "机房定位信息管理权限",
          children: [
            {
              id: 'batt_map_edit_permit',
              label: '编辑',
              id: "batt_map_edit_permit",
              label: "编辑",
              leaf: true,
            },
            {
              id: 'batt_map_delete_permit',
              label: '删除',
              id: "batt_map_delete_permit",
              label: "删除",
              leaf: true,
            },
          ]
          ],
        },
      ],
      powerNames: [],
      powersData: []
    }
      powersData: [],
    };
  },
  methods: {
    initData() {
@@ -499,13 +521,13 @@
      this.user = {
        data: [],
        value: [],
        added: []
        added: [],
      };
      // 初始化查询条件
      this.powerInfo = {
        permit_group_id: '',
        permit_group_name: '',
        permit_group_id: "",
        permit_group_name: "",
      };
      // 列表的激活状态修改
@@ -517,25 +539,27 @@
      // 初始化数据
      this.initData();
      // 请求后台查询
      getPermitGroupList().then(res => {
        let rs = res.data;
        let data = [];
        if (rs.code == 1) {
          data = rs.data.map(item => {
            item.txt = item.permitGroupName;
            item.key = item.permitGroupId;
            return item;
          });
        }
        // 设置权限组
        this.powergrouplist = data.filter(item => {
          if (item.key != 100002 && item.key >100) {
            return item;
      getPermitGroupList()
        .then((res) => {
          let rs = res.data;
          let data = [];
          if (rs.code == 1) {
            data = rs.data.map((item) => {
              item.txt = item.permitGroupName;
              item.key = item.permitGroupId;
              return item;
            });
          }
          // 设置权限组
          this.powergrouplist = data.filter((item) => {
            if (item.key != 100002 && item.key > 100) {
              return item;
            }
          });
        })
        .catch((error) => {
          console.log(error);
        });
      }).catch(error => {
        console.log(error);
      });
    },
    // 获取权限组信息
    groupListClick(item) {
@@ -545,65 +569,66 @@
      this.userSearchCSAll2();
      this.getUserPermits();
    },
    userSearchCSAll2(){
      userSearchCSAll2().then(res=>{
        console.log(res);
      }).catch(error=>{
        console.log(error);
      });
    userSearchCSAll2() {
      userSearchCSAll2()
        .then((res) => {
          console.log(res);
        })
        .catch((error) => {
          console.log(error);
        });
    },
    // 权限组-用户-权限信息查询
    getUserPermits:function(status){
    getUserPermits: function (status) {
      let self = this;
      let data = {
        permitGroupId:self.powerInfo.permit_group_id
      }
          getPermitGroupInfo(data).then(res=>{
            let resdata = res.data;
                if(resdata.code == 1){
                  // 未添加
                  let usersNotAdded = resdata.data.usersNotAdded.map(item => {
                          item.key = item.uid;
                          item.label = item.uname;
                          item.disabled = !self.isCanEdit;
                          return item;
                      });
                      let usersAdded = [];
                      let added = [];
                    // 已添加
                    resdata.data.usersAdded.forEach(list => {
                          list.key = list.uid;
                          list.label = list.uname;
                          list.disabled = !self.isCanEdit;
                          usersNotAdded.push(list);
                          added.push(list);
                          usersAdded.push(list.uid);
                    });
                      self.user.data = usersNotAdded;
                      self.user.value = usersAdded;
                      self.user.added = added;
                    // 权限
                    let powersData = [];
                    let data = [];
                        data = resdata.data.permits.filter(item => {
                          return item.permitItemValue == 1;
                        }).map(item => {
                          return item.permitItemName;
                        });
                        powersData = resdata.data.permits.map(item => {
                          return item;
                        });
                        if(status == 1){
                          self.$refs["editPowerTree"].setCheckedKeys(data)
                        }else{
                          self.$refs["powerTree"].setCheckedKeys(data)
                        }
                        ;
                        self.powersData = powersData;
                }
          })
        permitGroupId: self.powerInfo.permit_group_id,
      };
      getPermitGroupInfo(data).then((res) => {
        let resdata = res.data;
        if (resdata.code == 1) {
          // 未添加
          let usersNotAdded = resdata.data.usersNotAdded.map((item) => {
            item.key = item.uid;
            item.label = item.uname;
            item.disabled = !self.isCanEdit;
            return item;
          });
          let usersAdded = [];
          let added = [];
          // 已添加
          resdata.data.usersAdded.forEach((list) => {
            list.key = list.uid;
            list.label = list.uname;
            list.disabled = !self.isCanEdit;
            usersNotAdded.push(list);
            added.push(list);
            usersAdded.push(list.uid);
          });
          self.user.data = usersNotAdded;
          self.user.value = usersAdded;
          self.user.added = added;
          // 权限
          let powersData = [];
          let data = [];
          data = resdata.data.permits
            .filter((item) => {
              return item.permitItemValue == 1;
            })
            .map((item) => {
              return item.permitItemName;
            });
          powersData = resdata.data.permits.map((item) => {
            return item;
          });
          if (status == 1) {
            self.$refs["editPowerTree"].setCheckedKeys(data);
          } else {
            self.$refs["powerTree"].setCheckedKeys(data);
          }
          self.powersData = powersData;
        }
      });
    },
    showAddPermit() {
      // 显示面板
@@ -613,54 +638,59 @@
      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);
      });
      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() {
      let self = this;
      // 查询所有的权限名称信息
      getPermitList().then(res => {
        let rs = res.data;
        if (rs.code == 1) {
          self.powerNames = rs.data.map(item => {
            return item.permitItemName;
          });
        }
      }).catch(error => {
        console.log(error);
      });
      getPermitList()
        .then((res) => {
          let rs = res.data;
          if (rs.code == 1) {
            self.powerNames = rs.data.map((item) => {
              return item.permitItemName;
            });
          }
        })
        .catch((error) => {
          console.log(error);
        });
    },
    checkPowerGroup(value) {
      var rs = {
        code: 1,
        message: '',
        message: "",
      };
      // 为空检测
      if (value == '') {
      if (value == "") {
        rs.code = 0;
        rs.message = "权限组名称不能为空";
        return rs;
@@ -687,18 +717,20 @@
      }
      let searchParams = this.getAddParams();
      // 请求后台
      addPermitGroup(searchParams,"POST").then(res => {
        let rs = res.data;
        if (rs.code == 1) {
          this.addGroup.show = false;
          this.$layer.msg('添加成功');
          this.searchGroup();
        } else {
          this.$layer.msg('添加失败');
        }
      }).catch(error => {
        console.log(error);
      });
      addPermitGroup(searchParams, "POST")
        .then((res) => {
          let rs = res.data;
          if (rs.code == 1) {
            this.addGroup.show = false;
            this.$layer.msg("添加成功");
            this.searchGroup();
          } else {
            this.$layer.msg("添加失败");
          }
        })
        .catch((error) => {
          console.log(error);
        });
    },
    // 获取新增参数
    getAddParams(status) {
@@ -706,26 +738,26 @@
      let checkedKeys = [];
      let permit_group_id = 0;
      let permit_group_name = self.addGroup.permit_group_name;
          if(status){
            checkedKeys = self.$refs.editPowerTree.getCheckedKeys();
            permit_group_id = self.powerInfo.permit_group_id;
            permit_group_name = self.powerInfo.permit_group_name
          }else{
            checkedKeys = self.$refs.addPowerTree.getCheckedKeys();
          }
      return self.powerNames.map(item => {
      if (status) {
        checkedKeys = self.$refs.editPowerTree.getCheckedKeys();
        permit_group_id = self.powerInfo.permit_group_id;
        permit_group_name = self.powerInfo.permit_group_name;
      } else {
        checkedKeys = self.$refs.addPowerTree.getCheckedKeys();
      }
      return self.powerNames.map((item) => {
        let tmp = {
          num: 0,
            permitGroupId: permit_group_id,
            permitGroupName: permit_group_name,
            permitItemName: item,
            permitItemValue: 0
          };
          // item存在被选择的权限中
          if (checkedKeys.indexOf(item) != -1) {
            tmp.permitItemValue = 1;
          }
          return tmp;
          permitGroupId: permit_group_id,
          permitGroupName: permit_group_name,
          permitItemName: item,
          permitItemValue: 0,
        };
        // item存在被选择的权限中
        if (checkedKeys.indexOf(item) != -1) {
          tmp.permitItemValue = 1;
        }
        return tmp;
      });
    },
    // 编辑权限组
@@ -741,24 +773,25 @@
      let self = this;
      let searchParams = self.getAddParams(true);
      // 请求后台
      addPermitGroup(searchParams,"PUT").then(res => {
        let rs = res.data;
        if (rs.code == 1) {
          self.editGroup.show = false;
          self.$layer.msg('修改成功');
          // 查询当前权限组的权限
          self.getUserPermits();
        } else {
          self.$layer.msg('修改失败');
        }
      }).catch(error => {
        console.log(error);
      });
      addPermitGroup(searchParams, "PUT")
        .then((res) => {
          let rs = res.data;
          if (rs.code == 1) {
            self.editGroup.show = false;
            self.$layer.msg("修改成功");
            // 查询当前权限组的权限
            self.getUserPermits();
          } else {
            self.$layer.msg("修改失败");
          }
        })
        .catch((error) => {
          console.log(error);
        });
    },
    confirmDelGroup() {
      let name = this.powerInfo.permit_group_name;
      this.$layer.confirm('确认删除' + name, {icon: 3}, index => {
      this.$layer.confirm("确认删除" + name, { icon: 3 }, (index) => {
        // 关闭弹出框
        this.$layer.close(index);
        // 删除权限组
@@ -768,34 +801,36 @@
    delGroup() {
      let self = this;
      let searchParams = {
            permitGroupId: self.powerInfo.permit_group_id
          }
        permitGroupId: self.powerInfo.permit_group_id,
      };
      // 请求后台
      deletePermitGroup(searchParams).then(res => {
        let rs = res.data;
        if (rs.code == 1) {
          // 提示信息
          self.$message({
            type: 'success',
            message: rs.msg,
          });
      deletePermitGroup(searchParams)
        .then((res) => {
          let rs = res.data;
          if (rs.code == 1) {
            // 提示信息
            self.$message({
              type: "success",
              message: rs.msg,
            });
          // 查询权限组
          self.searchGroup();
        } else {
          // 提示信息
          self.$message({
            type: 'error',
            message: rs.msg,
          });
        }
      }).catch(error => {
        console.log(error);
      })
            // 查询权限组
            self.searchGroup();
          } else {
            // 提示信息
            self.$message({
              type: "error",
              message: rs.msg,
            });
          }
        })
        .catch((error) => {
          console.log(error);
        });
    },
    // 获取选中用户信息
    getUserListByUIds(UIds, type) {
      var userList = type == 'left' ? this.user.added : this.user.data;
      var userList = type == "left" ? this.user.added : this.user.data;
      var powerInfo = this.powerInfo;
      var result = [];
      for (var i = 0; i < UIds.length; i++) {
@@ -803,7 +838,7 @@
        for (var k = 0; k < userList.length; k++) {
          var user = userList[k];
          if (user.uid == UId) {
            if (type == 'left') {
            if (type == "left") {
              result.push({
                permitGroupId: powerInfo.permit_group_id,
                num: user.ubaojiUsr,
@@ -826,45 +861,48 @@
    userChange(list, type, values) {
      var userList = this.getUserListByUIds(values, type);
      let obj = {
            operationFlag:""
          };
          // 根据类型确定事件
          switch (type) {
            case 'left':
              obj.operationFlag = "-1";
              break;
            case 'right':
              obj.operationFlag = "1"
              break;
          }
          this.addUser(obj,userList);
        operationFlag: "",
      };
      // 根据类型确定事件
      switch (type) {
        case "left":
          obj.operationFlag = "-1";
          break;
        case "right":
          obj.operationFlag = "1";
          break;
      }
      this.addUser(obj, userList);
    },
    addUser(obj,list) {
    addUser(obj, list) {
      // 添加、移除用户
      permitGroupUser(obj,list).then(res => {
        let rs = res.data;
        if (rs.code == 1) {
          // 提示信息
          this.$message({
            type: 'success',
            message: rs.msg,
          });
        } else {
          // 提示信息
          this.$message({
            type: 'error',
            message: rs.msg,
          });
        }
        // 查询已添加的用户
        this.getUserPermits();
      }).catch(error => {
        console.log(error);
      });
      permitGroupUser(obj, list)
        .then((res) => {
          let rs = res.data;
          if (rs.code == 1) {
            // 提示信息
            this.$message({
              type: "success",
              message: rs.msg,
            });
          } else {
            // 提示信息
            this.$message({
              type: "error",
              message: rs.msg,
            });
          }
          // 查询已添加的用户
          this.getUserPermits();
        })
        .catch((error) => {
          console.log(error);
        });
    },
  },
  computed: {
    getToolsState() {    // 根据选中的状态确定包机组列表工具栏的状态
    getToolsState() {
      // 根据选中的状态确定包机组列表工具栏的状态
      return this.powerInfo.permit_group_id == "" ? true : false;
    },
  },
@@ -873,9 +911,8 @@
    this.setPowerNames();
    // 查询所有的权限组
    this.searchGroup();
  }
}
  },
};
</script>
<style scoped>
@@ -885,13 +922,12 @@
}
.tab-pane-content {
  height: 100%;
  overflow-y: auto;
}
.dialog-tree-container {
  background-color: #FFFFFF;
  background-color: #ffffff;
}
.power-user-tree {