田源
2023-11-29 e8992a5bd384b7695747e36eaab709b75de32da2
Source/UBCS-WEB/src/views/system/user.vue
@@ -199,22 +199,6 @@
export default {
  data() {
    const validatePass = (rule, value, callback) => {
      if (value === '') {
        callback(new Error('请输入密码'));
      } else {
        callback();
      }
    };
    const validatePass2 = (rule, value, callback) => {
      if (value === '') {
        callback(new Error('请再次输入密码'));
      } else if (value !== this.form.password) {
        callback(new Error('两次输入密码不一致!'));
      } else {
        callback();
      }
    };
    return {
      tenantId:'',
      form: {},
@@ -279,7 +263,175 @@
          children: 'children'
        }
      },
      option: {
      data: [],
      platformQuery: {},
      platformSelectionList: [],
      platformData: [],
      platformForm: {},
      platformOption: {
        tip: false,
        searchShow: true,
        searchMenuSpan: 6,
        border: true,
        index: true,
        selection: true,
        viewBtn: true,
        dialogClickModal: false,
        menuWidth: 120,
        editBtnText: '配置',
        column: [
          {
            label: "登录账号",
            prop: "account",
            search: true,
            display: false
          },
          {
            label: "所属租户",
            prop: "tenantName",
            slot: true,
            display: false
          },
          {
            label: "用户姓名",
            prop: "realName",
            search: true,
            display: false
          },
          {
            label: "用户平台",
            prop: "userTypeName",
            slot: true,
            display: false
          },
          {
            label: "用户平台",
            type: "select",
            dicUrl: "/api/ubcs-system/dict/dictionary?code=user_type",
            props: {
              label: "dictValue",
              value: "dictKey"
            },
            dataType: "number",
            search: true,
            hide: true,
            display: false,
            prop: "userType",
            rules: [{
              required: true,
              message: "请选择用户平台",
              trigger: "blur"
            }]
          },
          {
            label: "用户拓展",
            prop: "userExt",
            type: "textarea",
            minRows: 8,
            span: 24,
            overHidden: true,
            row: true,
            hide: true,
          },
        ],
      },
      excelForm: {},
      excelOption: {
        submitBtn: false,
        emptyBtn: false,
        column: [
          {
            label: '模板上传',
            prop: 'excelFile',
            type: 'upload',
            drag: true,
            loadText: '模板上传中,请稍等',
            span: 24,
            propsHttp: {
              res: 'data'
            },
            tip: '请上传 .xls,.xlsx 标准格式文件',
            action: "/api/ubcs-user/import-user"
          },
          {
            label: "数据覆盖",
            prop: "isCovered",
            type: "switch",
            align: "center",
            width: 80,
            dicData: [
              {
                label: "否",
                value: 0
              },
              {
                label: "是",
                value: 1
              }
            ],
            value: 0,
            slot: true,
            rules: [
              {
                required: true,
                message: "请选择是否覆盖",
                trigger: "blur"
              }
            ]
          },
          {
            label: '模板下载',
            prop: 'excelTemplate',
            formslot: true,
            span: 24,
          }
        ]
      },
      selid:[],
      UserPwdstrategyVO:{
        userIds:[],
        pwdstrategyId:''
      },
      userflag:true,
      usernumber:0,
      userStatus:false,
    };
  },
  watch: {
    'form.tenantId'() {
      if (this.form.tenantId !== '' && this.initFlag) {
        this.initData(this.form.tenantId);
        // console.log('this.form.tenantId',this.form.tenantId)
      }
    },
    'excelForm.isCovered'() {
      if (this.excelForm.isCovered !== '') {
        const column = this.findObject(this.excelOption.column, "excelFile");
        column.action = `/api/ubcs-user/import-user?isCovered=${this.excelForm.isCovered}`;
      }
    }
  },
  computed: {
    ...mapGetters(["userInfo", "permission"]),
    /** 按钮显示隐藏控制 */
    permissionList() {
      return {
        addBtn: this.vaildData(this.permission.user.user_add, false),
        viewBtn: this.vaildData(this.permission.user.user_view, false),
        delBtn: this.vaildData(this.permission.user.user_delete, false),
        editBtn: this.vaildData(this.permission.user.user_edit, false),
        deactEnBtn: this.vaildData(this.permission.user.user_deact_en,false),
        exportBtn: this.vaildData(this.permission.user.user_export,false),
        pwdStrategyBtn: this.vaildData(this.permission.user.user_pwd_strategy,false),
        importBtn: this.vaildData(this.permission.user.user_import,false),
        resetBtn: this.vaildData(this.permission.user.user_reset,false),
        roleBtn: this.vaildData(this.permission.user.user_role,false),
        unsealBtn: this.vaildData(this.permission.user.user_unseal,false),
      };
    },
    option() {
      return{
        height:'auto',
        calcHeight: 80,
        tip: false,
@@ -432,7 +584,19 @@
                hide: true,
                editDisplay: false,
                viewDisplay: false,
                rules: [{required: true, validator: validatePass, trigger: 'blur'}]
                  rules: [{
                    required: true,
                    validator:(rule, value,callback) => {
                      if (value === '') {
                        callback(new Error('请再次输入密码'));
                      } else if (value !== this.form.password) {
                        callback(new Error('两次输入密码不一致!'));
                      } else {
                        callback();
                      }
                    },
                    trigger: 'blur'
                  }]
              },
              {
                label: '确认密码',
@@ -441,7 +605,19 @@
                type: "password",
                editDisplay: false,
                viewDisplay: false,
                rules: [{required: true, validator: validatePass2, trigger: 'blur'}]
                  rules: [{
                    required: true,
                    validator:(rule, value,callback) => {
                      if (value === '') {
                        callback(new Error('请再次输入密码'));
                      } else if (value !== this.form.password) {
                        callback(new Error('两次输入密码不一致!'));
                      } else {
                        callback();
                      }
                    },
                    trigger: 'blur'
                  }]
              },
            ]
          },
@@ -535,6 +711,7 @@
                multiple: true,
                type: "tree",
                dicData: [],
                  disabled:this.userStatus,
                props: {
                  label: "title"
                },
@@ -563,207 +740,12 @@
                  trigger: "click"
                }]
              },
              /*{
                label: "所属岗位",
                prop: "postId",
                type: "tree",
                multiple: true,
                dicData: [],
                props: {
                  label: "postName",
                  value: "id"
                },
                rules: [{
                  required: false,
                  message: "请选择所属岗位",
                  trigger: "click"
                }],
              },*/
            ]
          },
        ]
      },
      data: [],
      platformQuery: {},
      platformSelectionList: [],
      platformData: [],
      platformForm: {},
      platformOption: {
        tip: false,
        searchShow: true,
        searchMenuSpan: 6,
        border: true,
        index: true,
        selection: true,
        viewBtn: true,
        dialogClickModal: false,
        menuWidth: 120,
        editBtnText: '配置',
        column: [
          {
            label: "登录账号",
            prop: "account",
            search: true,
            display: false
          },
          {
            label: "所属租户",
            prop: "tenantName",
            slot: true,
            display: false
          },
          {
            label: "用户姓名",
            prop: "realName",
            search: true,
            display: false
          },
          {
            label: "用户平台",
            prop: "userTypeName",
            slot: true,
            display: false
          },
          {
            label: "用户平台",
            type: "select",
            dicUrl: "/api/ubcs-system/dict/dictionary?code=user_type",
            props: {
              label: "dictValue",
              value: "dictKey"
            },
            dataType: "number",
            search: true,
            hide: true,
            display: false,
            prop: "userType",
            rules: [{
              required: true,
              message: "请选择用户平台",
              trigger: "blur"
            }]
          },
          {
            label: "用户拓展",
            prop: "userExt",
            type: "textarea",
            minRows: 8,
            span: 24,
            overHidden: true,
            row: true,
            hide: true,
          },
        ],
      },
      excelForm: {},
      excelOption: {
        submitBtn: false,
        emptyBtn: false,
        column: [
          {
            label: '模板上传',
            prop: 'excelFile',
            type: 'upload',
            drag: true,
            loadText: '模板上传中,请稍等',
            span: 24,
            propsHttp: {
              res: 'data'
            },
            tip: '请上传 .xls,.xlsx 标准格式文件',
            action: "/api/ubcs-user/import-user"
          },
          {
            label: "数据覆盖",
            prop: "isCovered",
            type: "switch",
            align: "center",
            width: 80,
            dicData: [
              {
                label: "否",
                value: 0
              },
              {
                label: "是",
                value: 1
              }
            ],
            value: 0,
            slot: true,
            rules: [
              {
                required: true,
                message: "请选择是否覆盖",
                trigger: "blur"
              }
            ]
          },
          {
            label: '模板下载',
            prop: 'excelTemplate',
            formslot: true,
            span: 24,
          }
        ]
      },
      selid:[],
      UserPwdstrategyVO:{
        userIds:[],
        pwdstrategyId:''
      },
      userflag:true,
      usernumber:0
    };
  },
  watch: {
    'form.tenantId'() {
      if (this.form.tenantId !== '' && this.initFlag) {
        this.initData(this.form.tenantId);
        // console.log('this.form.tenantId',this.form.tenantId)
      }
    },
    'excelForm.isCovered'() {
      if (this.excelForm.isCovered !== '') {
        const column = this.findObject(this.excelOption.column, "excelFile");
        column.action = `/api/ubcs-user/import-user?isCovered=${this.excelForm.isCovered}`;
      }
    }
  },
  computed: {
    ...mapGetters(["userInfo", "permission"]),
    /** 按钮显示隐藏控制 */
    permissionList() {
      return {
        addBtn: this.vaildData(this.permission.user.user_add, false),
        viewBtn: this.vaildData(this.permission.user.user_view, false),
        delBtn: this.vaildData(this.permission.user.user_delete, false),
        editBtn: this.vaildData(this.permission.user.user_edit, false),
        deactEnBtn: this.vaildData(this.permission.user.user_deact_en,false),
        exportBtn: this.vaildData(this.permission.user.user_export,false),
        pwdStrategyBtn: this.vaildData(this.permission.user.user_pwd_strategy,false),
        importBtn: this.vaildData(this.permission.user.user_import,false),
        resetBtn: this.vaildData(this.permission.user.user_reset,false),
        roleBtn: this.vaildData(this.permission.user.user_role,false),
        unsealBtn: this.vaildData(this.permission.user.user_unseal,false),
      };
    },
    // platformPermissionList() {
    //   return {
    //     addBtn: this.vaildData(this.permission.user.user_add, false),
    //     viewBtn: this.vaildData(this.permission.user.user_view, false),
    //     delBtn: this.vaildData(this.permission.user.user_delete, false),
    //     editBtn: this.vaildData(this.permission.user.user_edit, false),
    //     deactEnBtn: this.vaildData(this.permission.user.user_deact_en,false),
    //     exportBtn: this.vaildData(this.permission.user.user_export,false),
    //     pwdStrategyBtn: this.vaildData(this.permission.user.user_pwd_strategy,false),
    //     importBtn: this.vaildData(this.permission.user.user_import,false),
    //     resetBtn: this.vaildData(this.permission.user.user_reset,false),
    //     roleBtn: this.vaildData(this.permission.user.user_role,false),
    //     unsealBtn: this.vaildData(this.permission.user.user_unseal,false),
    //   };
    // },
    ids() {
      let ids = [];
      this.selectionList.forEach(ele => {
@@ -1117,6 +1099,12 @@
    },
    beforeOpen(done, type) {
      //console.log(type)
      if(type === "edit"){
        this.userStatus = true;
      }else {
        this.userStatus = false;
      }
      //console.log(type)
      // console.log('this.tenantId',this.tenantId)
      // const column = this.findObject(this.option.group,'tenantId');
      // column.value=this.tenantId;