Administrator
2021-08-26 5a8bc481870caa1bb54f0ab48849db932102db71
src/views/securityGuard/securityGuard.vue
@@ -1,5 +1,5 @@
<template>
  <el-row class="securityGuard">
  <el-row :class="{securityGuard : isSecurity}">
    <el-col :span="0" style="display: none">
      <div class="box">
        <el-scrollbar>
@@ -26,6 +26,7 @@
          @row-del="rowDel"
          :row-style="rowStyle"
          @row-save="rowSave"
          @row-update="rowUpdate"
          :before-open="beforeOpen"
          :page.sync="page"
          @search-change="searchChange"
@@ -299,7 +300,7 @@
    return {
      securityid: "",
      excelBox1: false,
      isSecurity: false,
      isSecurity: true,
      excelForm1: {},
      excelOption1: {
        submitBtn: false,
@@ -327,7 +328,8 @@
        ],
      },
      form: {},
      form: {
      },
      search: {},
      roleBox: false,
      excelBox: false,
@@ -439,6 +441,7 @@
              {
                label: "登录账号",
                prop: "account",
                editDisabled:true,
                rules: [
                  {
                    required: true,
@@ -451,6 +454,7 @@
              {
                label: "密码",
                prop: "password",
                type:'password',
                hide: true,
                editDisplay: false,
                viewDisplay: false,
@@ -461,6 +465,7 @@
              {
                label: "确认密码",
                prop: "password2",
                type:'password',
                hide: true,
                editDisplay: false,
                viewDisplay: false,
@@ -468,6 +473,15 @@
                  { required: true, validator: validatePass2, trigger: "blur" },
                ],
              },
            ],
          },
          {
            label: "详细信息",
            prop: "detailInfo",
            labelWidth: "110",
            icon: "el-icon-s-order",
            column: [
              {
                label: "姓名",
                prop: "realName",
@@ -506,69 +520,6 @@
                row: true,
                prop: "myPicture",
              },
              // {
              //   label: "编号",
              //   prop: "code",
              // },
              {
                label: "所属辖区",
                prop: "jurisdiction",
                // multiple: true,
                type: "tree",
                dicUrl: "/api/jurisdiction/lazy-tree?parentId=0",
                props: {
                  label: "title",
                  value: "id",
                },
                checkStrictly: true,
                slot: true,
                rules: [
                  {
                    required: false,
                    message: "请选择所属辖区",
                    trigger: "click",
                  },
                ],
              },
              // {
              //   label: "所属角色",
              //   prop: "roleId",
              //   multiple: true,
              //   type: "tree",
              //   dicData: [],
              //   props: {
              //     label: "title",
              //   },
              //   checkStrictly: true,
              //   slot: true,
              //   rules: [
              //     {
              //       required: true,
              //       message: "请选择所属角色",
              //       trigger: "click",
              //     },
              //   ],
              // },
              // {
              //   label: "所属岗位",
              //   prop: "postId",
              //   type: "tree",
              //   multiple: true,
              //   dicData: [],
              //   props: {
              //     label: "postName",
              //     value: "id",
              //   },
              //   rules: [
              //     {
              //       required: false,
              //       message: "请选择所属岗位",
              //       trigger: "click",
              //     },
              //   ],
              // },
              {
                label: "是否持证",
                prop: "hold",
@@ -592,6 +543,19 @@
                hide: true,
              },
              {
                label: "身份证号",
                prop: "cardid",
                hide: true,
                overHidden: true,
                rules: [
                  {
                    required: true,
                    message: "请输入身份证号",
                    trigger: "blur",
                  },
                ],
              },
              {
                label: "手机号码",
                prop: "phone",
                overHidden: true,
@@ -606,19 +570,6 @@
              {
                label: "电子邮箱",
                prop: "email",
              },
              {
                label: "身份证号",
                prop: "cardid",
                hide: true,
                overHidden: true,
                rules: [
                  {
                    required: true,
                    message: "请输入身份证号",
                    trigger: "blur",
                  },
                ],
              },
              {
                label: "籍贯",
@@ -662,6 +613,26 @@
                prop: "registered",
              },
              {
                label: "所属辖区",
                prop: "jurisdiction",
                // multiple: true,
                type: "tree",
                dicUrl: "/api/jurisdiction/lazy-tree?parentId=0",
                props: {
                  label: "title",
                  value: "id",
                },
                checkStrictly: true,
                slot: true,
                rules: [
                  {
                    required: false,
                    message: "请选择所属辖区",
                    trigger: "click",
                  },
                ],
              },
              {
                label: "入职时间",
                prop: "rtime",
                type: "date",
@@ -688,91 +659,13 @@
                  // },
                ],
              },
              {
                label: "生日",
                type: "date",
                prop: "birthday",
                format: "yyyy-MM-dd",
                valueFormat: "yyyy-MM-dd",
              },
            ],
          },
          {
            label: "从业信息",
            prop: "detailInfo",
            icon: "el-icon-s-order",
            column: [
              {
                prop: "UserPractitionersInfo",
                type: "dynamic",
                border: false,
                span: 24,
                children: {
                  align: "left",
                  headerAlign: "center",
                  type: "form",
                  rowAdd: (done) => {
                    console.log(done, 111);
                    done({
                      input: "默认值",
                    });
                  },
                  rowDel: (row, done) => {
                    console.log(row, 222);
                    done();
                  },
                  column: [
                    {
                      width: 200,
                      label: "单位名称",
                      prop: "companyname",
                      formslot: true,
                    },
                    {
                      width: 200,
                      label: "部门",
                      prop: "department",
                      formslot: true,
                    },
                    {
                      width: 200,
                      label: "岗位",
                      prop: "post",
                      formslot: true,
                    },
                    {
                      width: 200,
                      label: "岗位职责",
                      prop: "responsibilities",
                      formslot: true,
                    },
                    {
                      width: 200,
                      label: "入职时间",
                      type: "date",
                      format: "yyyy-MM-dd",
                      valueFormat: "yyyy-MM-dd",
                      prop: "entryTime",
                      formslot: true,
                    },
                    {
                      width: 200,
                      label: "离职时间",
                      type: "date",
                      format: "yyyy-MM-dd",
                      valueFormat: "yyyy-MM-dd",
                      prop: "departureTime",
                      formslot: true,
                    },
                    {
                      width: 200,
                      label: "离职原因",
                      prop: "leaving",
                      formslot: true,
                    },
                  ],
                },
              },
              // {
              //   label: "生日",
              //   type: "date",
              //   prop: "birthday",
              //   format: "yyyy-MM-dd",
              //   valueFormat: "yyyy-MM-dd",
              // },
            ],
          },
        ],
@@ -958,6 +851,8 @@
    if (!website.tenantMode) {
      this.initData(website.tenantId);
    }
    console.log(this.search,111);
    this.search['status'] = 1;
  },
  methods: {
    handleImport1() {
@@ -1028,24 +923,7 @@
      if (row.postId) {
        row.postId = row.postId.join(",");
      }
      const userPractitionersList = [];
      var userPractitionersInfo = row.UserPractitionersInfo;
      if (userPractitionersInfo.length > 0) {
        userPractitionersInfo.forEach((item) => {
          const info = {
            companyname: item.companyname,
            department: item.department,
            departureTime: item.departureTime,
            entryTime: item.entryTime,
            name: row.realName,
            leaving: item.leaving,
            securityid: row.id,
            post: item.post,
            responsibilities: item.responsibilities,
          };
          userPractitionersList.push(info);
        });
      }
      const user = {
        account: row.account,
        address: row.address,
@@ -1072,17 +950,16 @@
        sex: row.sex,
      };
      const userMap = {
        user: user,
        userPractitionersInfo: userPractitionersList,
        user: user
      };
      securitySave(userMap).then(
        () => {
          this.initFlag = false;
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
          this.initFlag = false;
          this.onLoad(this.page);
          done();
        },
        (error) => {
@@ -1095,42 +972,15 @@
      row.deptId = row.deptId;
      row.roleId = row.roleId.join(",");
      row.postId = row.postId.join(",");
      const userPractitionersList = [];
      var userPractitionersInfo = row.UserPractitionersInfo;
      if (userPractitionersInfo.length > 0) {
        userPractitionersInfo.forEach((item) => {
          const info = {
            companyname: item.companyname,
            department: item.department,
            departureTime: item.departureTime,
            entryTime: item.entryTime,
            name: row.realName,
            leaving: item.leaving,
            securityid: row.id,
            post: item.post,
            responsibilities: item.responsibilities,
          };
          userPractitionersList.push(info);
        });
      }
      var IdCardNo = row.id;
      //值替换,education 放在页面会卡死
      row.education = row.education1;
      update(row).then(
        () => {
          const experience = {
            securityid: IdCardNo,
            userPractitionersInfo: userPractitionersList,
          };
          //更新从业信息
          saveOrUpdateUserPractitionersInfo(experience).then(() => {
            this.$message({
              type: "success",
              message: "操作成功!",
            });
          });
      update(row).then(() => {
          this.initFlag = false;
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
          done();
        },
        (error) => {
@@ -1146,7 +996,7 @@
        type: "warning",
      })
        .then(() => {
          row.status = "0";
          row.status = "2";
          return update(row);
        })
        .then(() => {
@@ -1334,6 +1184,7 @@
      this.onLoad(this.page, this.query);
    },
    onLoad(page, params = {}) {
      params = this.search;
      var that = this;
      //获取当前登录人员的角色信息
      var roleIds = this.userInfo.role_id.split(",");
@@ -1354,7 +1205,7 @@
            //禁止编辑
            deptColumn.disabled = true;
            deptColumn.value = that.userInfo.dept_id;
            that.isSecurity = true;
            that.isSecurity = false;
            //如果是保安公司管理员
            params["deptId"] = that.userInfo.dept_id;
          } else if (roleAlias == "公安管理员") {