From e8992a5bd384b7695747e36eaab709b75de32da2 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期三, 29 十一月 2023 10:41:00 +0800
Subject: [PATCH] 用户管理所属角色-禁用

---
 Source/UBCS-WEB/src/components/FormTemplate/index.vue        |  149 +++++----
 Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue |   80 ++---
 Source/UBCS-WEB/src/views/system/user.vue                    |  660 +++++++++++++++++++++----------------------
 3 files changed, 444 insertions(+), 445 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
index b633a29..b8bfceb 100644
--- a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
+++ b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
@@ -75,7 +75,7 @@
     // 琛ㄥ崟绫诲瀷锛坅dd, edit, detail锛�
     type: {
       type: String,
-      default: "",
+      default: "add",
     },
     // 鑷畾涔夎〃鍗曠被鍨�
     selfColumnType: {
@@ -106,6 +106,8 @@
   },
   data() {
     return {
+      //骞翠唬鍙�
+      dataYearValue:null,
       filteredObject: {},
       filteredArray: [],
       isSeriesType: {},
@@ -139,7 +141,7 @@
       // 琛ㄥ崟灞炴��
       attributes: [],
       slotColumnList: [],
-      isShow:null,
+      isShow: "",
     };
   },
   mounted() {
@@ -170,12 +172,6 @@
       immediate: true,
       handler(newV) {
         this.$emit("getFormData", newV);
-        // console.log("filteredObject",this.filteredObject)
-        if (this.filteredObject.label === "绯诲垪鍙�") {
-          if (newV.isSeries === "false") {
-            this.filteredObject.disabled = true;
-          }
-        }
       },
     },
     attrList: {
@@ -184,15 +180,6 @@
       handler(newVal, oldVal) {
         if (newVal) {
           this.$emit("attrList", newVal)
-        }
-      }
-    },
-    isSeriesType: {
-      deep: true,
-      immediate: true,
-      handler(newVal, oldVal) {
-        if (newVal) {
-          this.$emit("isSeriesType", newVal)
         }
       }
     },
@@ -205,11 +192,22 @@
       deep: true,
       immediate: true
     },
+    isShow: {
+      handler(newV) {
+        this.$emit("isShow", newV)
+      }
+    },
+    dataYearValue:{
+      handler(newV){
+        if(newV){
+          this.$emit("dataYearValue",newV)
+        }
+      }
+    }
   },
   methods: {
     // 娓叉煋琛ㄥ崟妯℃澘
     templateRender(formItemList, TreeValue) {
-      // debugger
       if (this.eventList) {
         this.eventFlag = this.eventList.some(item => {
           if (item.classifyInvokeEditFlag === 'true') {
@@ -224,18 +222,12 @@
       let dictKeys = [];
       let slotColumnList = [];
       formItemList.forEach((formItem) => {
-        console.log('formItem',formItem);
         formItem = this.resetFormConfig(formItem);
         //灞炴�х爜娈佃鍒�
         if (formItem.secType === "codeattrsec") {
           this.attrList.push(formItem);
         }
         //绯诲垪鍙疯鍒�
-        if (formItem.label === "绯诲垪鍙�") {
-          this.isSeriesType = formItem;
-          // console.log("绯诲垪鍙�",formItem)
-        }
-        //鏇存敼鏂瑰紡瑙勫垯
         if (formItem.field === "codeStandardEditType") {
           if (this.status === "amend") {
             formItem.readOnly = true;
@@ -281,23 +273,27 @@
           formItem.fieldMap[formItem.field + 'id'] = 'id'
         }
 
-
         let columnItem = {
           change: (val) => {
-            // console.log(val)
             if (val.column.field === "drawingno") {
               this.codeattrsecValue = val.value;
               return;
             }
-            ;
+            //鏄惁绯诲垪-绯诲垪鍙�
             if (val.column.field === "isSeries") {
               if (val.value === "false") {
                 this.isShow = true;
-              }else {
+              } else {
                 this.isShow = false;
               }
             }
-
+            if(val.column.field === "releaseDate"){
+              if(val.value){
+                this.dataYearValue = val.column.valueFormat;
+              }else {
+                this.dataYearValue = null;
+              }
+            }
           },
           dataKey: formItem.dataKey || formItem.field,
           label: formItem.text,
@@ -308,8 +304,7 @@
           field: formItem.field,
           type: this.columnType[formItem.type],
           dicData: this.getDataList(formItem.type, formItem.data),
-          disabled: this.type === "detail" ? true : formItem.readOnly || (formItem.codeValueApplyStatus && formItem.codeValueApplyStatus == 2 ? true : false) ||
-            (this.isShow && formItem.label === "绯诲垪鍙�" ? true : false),
+          disabled: this.type === "detail" ? true : formItem.readOnly || (formItem.codeValueApplyStatus && formItem.codeValueApplyStatus == 2 ? true : false),
           prepend: this.preOrSufFixShow("text", formItem.prefix),
           append: this.preOrSufFixShow("text", formItem.suffix),
           prefixIcon: this.preOrSufFixShow("icon", formItem.prefix),
@@ -319,13 +314,10 @@
           keyAttr: formItem.keyAttr,
           value: (formItem.dicData && formItem.dicData.length > 0 && formItem.secType == "codefixedsec" ? formItem.dicData[0].id : null) ||
             (formItem.secType == "codedatesec" ? formItem.codeDateValue : null) || (TreeValue && formItem.secType == "codelevelsec" ? TreeValue : null) ||
-            (formItem.secType == "codeattrsec" ? this.add : null) || (this.status === "apply" && formItem.field === "codeStandardEditType" ? "1" : null) ||
-            (formItem.field === "isSeries" ? "true" : null),
+            (formItem.secType == "codeattrsec" ? this.add : null) || (this.status === "apply" && formItem.field === "codeStandardEditType" ? "1" : null),
           placeholder: formItem.inputTip,
           comboxKey: formItem.comboxKey,
           tip: formItem.tooltips,
-          // hidden:formItem.secType && formItem.codeValueApplyStatus == 3 ? true : false,
-          // readonly:formItem.codeValueApplyStatus && formItem.codeValueApplyStatus == 2 ?true : false ,
           display: !formItem.hidden,
           maxlength: formItem.maxlength,
           filterable: true,
@@ -364,7 +356,6 @@
           },
         };
         this.filteredObject = columnItem
-        // console.log("columnItem", columnItem)
         slotColumnList.push(columnItem);
         if (group.length === 0) {
           column.push(columnItem);
@@ -373,9 +364,7 @@
         }
       });
 
-      // this.filteredArray = column.filter(obj => obj.label === "绯诲垪鍙�");
       this.slotColumnList = slotColumnList;
-      // console.log(slotColumnList)
       this.$set(this.option, "column", column);
       this.$set(this.option, "group", group);
       this.updateIndex++;
@@ -387,9 +376,12 @@
       this.getFormDetail();
     },
     //淇敼绾ц仈椤�
-    changeChildItem(items, TreeValue) {
-      let column = this.option.column;
-      let group = this.option.group;
+    changeChildItem(items, TreeValue, type) {
+      type = type || "add"
+      // let column = this.option.column;
+      // let group = this.option.group;
+      let column = [];
+      let group = [];
       let that = this;
       items.forEach((item) => {
         let formItem = this.resetFormConfig(item);
@@ -412,9 +404,6 @@
           formItem.fieldMap[formItem.field + 'id'] = 'id'
         }
         let columnItem = {
-          change: (val) => {
-            // console.log('1', val)
-          },
           label: formItem.text,
           labelslot: true,
           prop: this.$utilFunc.isValuableObj(formItem.referConfig)
@@ -423,7 +412,7 @@
           field: formItem.field,
           type: this.columnType[formItem.type],
           dicData: this.getDataList(formItem.type, formItem.data),
-          disabled: this.type === "detail" ? true : formItem.readOnly || (formItem.codeValueApplyStatus && formItem.codeValueApplyStatus == 2 ? true : false),
+          disabled: type === "detail" ? true : formItem.readOnly || (formItem.codeValueApplyStatus && formItem.codeValueApplyStatus == 2 ? true : false),
           prepend: this.preOrSufFixShow("text", formItem.prefix),
           append: this.preOrSufFixShow("text", formItem.suffix),
           prefixIcon: this.preOrSufFixShow("icon", formItem.prefix),
@@ -475,7 +464,6 @@
             value: "key",
           },
         };
-
         if (group.length === 0) {
           that.slotColumnList.forEach((colItem, index) => {
             if (colItem.field == columnItem.field) {
diff --git a/Source/UBCS-WEB/src/components/FormTemplate/index.vue b/Source/UBCS-WEB/src/components/FormTemplate/index.vue
index dd94ab2..2ad4a80 100644
--- a/Source/UBCS-WEB/src/components/FormTemplate/index.vue
+++ b/Source/UBCS-WEB/src/components/FormTemplate/index.vue
@@ -1,85 +1,88 @@
 <template>
   <el-dialog
-    :visible.sync="dialogVisible"
     v-if="dialogVisible"
     v-dialogDrag
-    top="-5vh"
-    class="avue-dialog avue-dialog--top"
     :title="title"
+    :visible.sync="dialogVisible"
     :width="width"
     append-to-body
+    class="avue-dialog avue-dialog--top"
+    top="-5vh"
     @opened="openDialog"
   >
     <FormTemplate
-      key="masterForm" data-key="masterForm"
-      :status="status"
-      v-bind="$attrs"
-      :type="type"
-      :TreeValue="TreeValue"
-      :rowOid="rowOid"
-      :eventList="eventList"
-      :templateOid="templateOid"
-      v-if="dialogVisible"
+      v-if="dialogVisible" key="masterForm"
       ref="FormTemplate"
+      v-bind="$attrs"
+      :TreeValue="TreeValue"
+      :eventList="eventList"
+      :rowOid="rowOid"
+      :status="status"
+      :templateOid="templateOid"
+      :type="type"
+      data-key="masterForm"
       @getFormData="getFormData"
+      @isShow="isShowHandler"
+      @dataYearValue="dataYearHandler"
     ></FormTemplate>
     <div
-      class="tab_box"
       v-if="
         type !== 'detail' &&
         dialogVisible &&
         (showCodeApply || showResembleQuery) &&
         type !== 'preview'
       "
+      class="tab_box"
     >
       <el-tabs v-model="activeName" type="border-card" @tab-click="handleClick">
-        <el-tab-pane label="鐮佸�肩敵璇�" name="codeApply" v-if="showCodeApply">
+        <el-tab-pane v-if="showCodeApply" label="鐮佸�肩敵璇�" name="codeApply">
           <FormTemplate
-            key="codeApplyForm" data-key="codeApplyForm"
-            secDTOListv-bind="$attrs"
-            :type="type"
-            :selfColumnType="selfColumnType"
+            key="codeApplyForm" ref="CodeApply"
             :selfColumnConfig="selfColumnConfig"
-            ref="CodeApply"
-            @getFormData="getCodeApplyFormData"
+            :selfColumnType="selfColumnType"
+            :type="type"
+            data-key="codeApplyForm"
+            secDTOListv-bind="$attrs"
             @attrList="attrListForm"
-            @isSeriesType="isSeriesTypeString"
+            @getFormData="getCodeApplyFormData"
             @referConfigDataUpdate="referConfigDataUpdate"
           ></FormTemplate>
         </el-tab-pane>
         <el-tab-pane
+          v-if="showResembleQuery"
           label="鐩镐技椤规煡璇�"
           name="resembleQuery"
-          v-if="showResembleQuery"
         >
           <ResembleQuery
-            v-bind="$attrs"
             ref="resembleQueryRef"
-            :hasResemble="this.hasResemble"
-            :column="this.resembleTableColumn"
+            v-bind="$attrs"
             :codeClassifyOid="codeClassifyOid"
+            :column="this.resembleTableColumn"
             :form="this.form"
+            :hasResemble="this.hasResemble"
             :templateOid="templateOid"
           ></ResembleQuery>
         </el-tab-pane>
       </el-tabs>
     </div>
     <template #footer>
-      <div class="" v-if="type !== 'detail'">
-        <el-button @click="close()" size="small">鍙� 娑�</el-button>
+      <div v-if="type !== 'detail'" class="">
+        <el-button size="small" @click="close()">鍙� 娑�</el-button>
         <el-button
-          @click="submit()"
-          type="primary"
           :loading="submitBtnLoading"
           size="small"
-          >{{ submitText }}</el-button
+          type="primary"
+          @click="submit()"
+        >{{ submitText }}
+        </el-button
         >
         <el-button
-          @click="resembleQuerySubmit"
-          type="primary"
-          size="small"
           v-if="showResembleQuery"
-          >鐩镐技鍍忔煡璇�</el-button
+          size="small"
+          type="primary"
+          @click="resembleQuerySubmit"
+        >鐩镐技鍍忔煡璇�
+        </el-button
         >
       </div>
     </template>
@@ -87,14 +90,15 @@
 </template>
 
 <script>
-import { getCodeRule, getFormTemplate } from "@/api/formTemplate.js";
+import {getCodeRule, getFormTemplate} from "@/api/formTemplate.js";
 import FormTemplate from "./FormTemplate";
 import ResembleQuery from "./ResembleQuery";
+
 export default {
   name: "FormTemplateDialog",
-  components: { ResembleQuery, FormTemplate },
+  components: {ResembleQuery, FormTemplate},
   props: {
-    status:{
+    status: {
       type: String,
       default: "",
     },
@@ -102,7 +106,7 @@
       type: Boolean,
       default: false,
     },
-    TreeValue:{
+    TreeValue: {
       type: String,
       default: "",
     },
@@ -138,11 +142,11 @@
   },
   data() {
     return {
-      isSeriesType:{},
-      attrList:[],
-      eventList:[],
+      isSeriesType: {},
+      attrList: [],
+      eventList: [],
       //鐮佸�肩殑绗簩绉嶅彧璇婚殣钘忔儏鍐�
-      codeValueApplyStatus:'',
+      codeValueApplyStatus: '',
       loading: false,
       submitBtnLoading: false,
       hasResemble: false,
@@ -222,9 +226,11 @@
         "secretgrade",
       ],
       codeRuleOid: "",
+      isShowStatus: ""
     };
   },
-  created() {},
+  created() {
+  },
   computed: {
     dialogVisible: {
       get() {
@@ -235,9 +241,9 @@
       },
     },
   },
-  watch:{
-    codeApplyForm:{
-      handler(newval,oldval){
+  watch: {
+    codeApplyForm: {
+      handler(newval, oldval) {
         // console.log('newval',newval)
       }
     }
@@ -275,7 +281,7 @@
               this.$refs.FormTemplate.templateRender(
                 res.data.formDefineVO.items
               );
-              this.eventList=res.data.templateVO.attributes
+              this.eventList = res.data.templateVO.attributes
               // this.$refs.FormTemplate.$emit('eventList',  res.data.templateVO.attributes);
               if (Object.keys(this.setForm).length > 0) {
                 this.$refs.FormTemplate.form = this.setForm;
@@ -316,6 +322,7 @@
           if (that.secVOList.length > 0 && that.type === "add") {
             that.showCodeApply = true;
             that.activeName = "codeApply";
+
             this.$nextTick(() => {
               that.$refs.CodeApply.templateRender(that.secVOList, this.TreeValue);
             });
@@ -326,12 +333,7 @@
       });
     },
     getFormData(form) {
-      // if (this.status === "apply"){
-      //   form.codeStandardEditType = "鍒跺畾";
-      //   return;
-      // }
       this.form = form;
-      // console.log("form",form)
       //灞炴�х爜娈佃祴鍊�
       if (this.attrList) {
         this.attrList.forEach(item => {
@@ -342,12 +344,28 @@
       }
 
     },
-    isSeriesTypeString(val){
-      this.isSeriesType = val;
+    //绯诲垪鍙疯鍒�
+    isShowHandler(val) {
+      let that = this;
+      this.isShowStatus = val;
+
+        this.secVOList.forEach(item => {
+          if (item.name === "绯诲垪鍙�") {
+            this.$set(item, "readOnly", val)
+          }
+        })
+      if(this.$refs.CodeApply.changeChildItem ){
+        this.$refs.CodeApply.changeChildItem(this.secVOList, this.TreeValue, this.type);
+      }
+    },
+    //骞翠唬鍙�
+    dataYearHandler(val){
+      console.log("val",val)
+
     },
     //灞炴�х爜娈佃祴鍊�
-    attrListForm(attrListForm){
-      this.attrList=attrListForm;
+    attrListForm(attrListForm) {
+      this.attrList = attrListForm;
     },
     getCodeApplyFormData(codeApplyForm) {
       // console.log("codeApplyForm",codeApplyForm)
@@ -355,21 +373,21 @@
     },
     // 鍙傜収缁勪欢鏁版嵁鍙樻洿
     referConfigDataUpdate(data) {
-      const { field } = data;
-      let childItems=[];
+      const {field} = data;
+      let childItems = [];
       this.secVOList = this.secVOList.map((item) => {
         if (item.parentClassifySecOid === field) {
           this.$refs.CodeApply.form[item.oid] = undefined;
           this.$refs.CodeApply.form[item.name] = undefined;
-          item.readOnly=false;
-          item.referConfig.extraParams.parentClassifyValueOid=data.value;
+          item.readOnly = false;
+          item.referConfig.extraParams.parentClassifyValueOid = data.value;
           item.referConfig.reloadData = true;
           childItems.push(item)
         }
         return item;
       });
       //this.$refs.CodeApply.templateRender(this.secVOList,this.TreeValue);
-      this.$refs.CodeApply.changeChildItem(childItems);
+      this.$refs.CodeApply.changeChildItem(childItems,this.TreeValue,this.type);
     },
     resembleQuerySubmit() {
       this.activeName = "resembleQuery";
@@ -426,7 +444,7 @@
         "lastmodifier"
       ];
       let resForm = {};
-      const { defaultValue, formValue } = this.getDefaultValueAndFormValues(
+      const {defaultValue, formValue} = this.getDefaultValueAndFormValues(
         this.form
       );
       noData.forEach((item) => {
@@ -534,9 +552,13 @@
           if (!this.codeApplyForm[item.parentClassifySecOid]) {
             return true;
           } else {
-            return false;
+            return item.readOnly || false;
           }
+        } else {
+          return item.readOnly || false;
         }
+      } else {
+        return item.readOnly || false;
       }
     },
     isRequired(item) {
@@ -577,6 +599,7 @@
   top: 2px;
   color: red;
 }
+
 // 瑙e喅swich缁勪欢涓嶅瀭鐩村眳涓殑闂
 /deep/ .el-switch {
   vertical-align: baseline;
diff --git a/Source/UBCS-WEB/src/views/system/user.vue b/Source/UBCS-WEB/src/views/system/user.vue
index bbd3232..8503d84 100644
--- a/Source/UBCS-WEB/src/views/system/user.vue
+++ b/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: {},
@@ -278,310 +262,6 @@
           value: 'value',
           children: 'children'
         }
-      },
-      option: {
-        height:'auto',
-        calcHeight: 80,
-        tip: false,
-        searchShow: true,
-        searchMenuSpan: 6,
-        columnBtn:false,
-        border: true,
-        index: true,
-        selection: true,
-        /* 涓嬮潰杩欎笁涓睘鎬ч粯璁よ缃负true锛�
-          瀹為檯鏍规嵁permissionList涓鐓х殑灞炴�ц繘琛屾帶鍒剁殑 */
-        viewBtn: true,
-        editBtn: true,
-        delBtn: true,
-        addBtn: true,
-        dialogType: 'drawer',
-        dialogClickModal: false,
-        highlightCurrentRow: true, //琛岄�変腑鏃堕珮浜�
-        column: [
-          {
-            label: "鐧诲綍璐﹀彿",
-            prop: "account",
-            search: true,
-            display: false
-          },
-          {
-            label: "鎵�灞炵鎴�",
-            prop: "tenantName",
-            slot: true,
-            display: false
-          },
-          {
-            label: "鐢ㄦ埛濮撳悕",
-            prop: "realName",
-            search: true,
-            display: false
-          },
-          {
-            label: "鎵�灞炶鑹�",
-            prop: "roleName",
-            slot: true,
-            display: false
-          },
-          {
-            label: "瀵嗙爜绛栫暐",
-            prop: "pwdStrategy",
-            slot: true,
-            display: false
-          },
-          {
-            label: "鎵�灞為儴闂�",
-            prop: "deptName",
-            slot: 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: "鐘舵��",
-            display: false,
-            sortable:true,
-            html:true,
-            prop: "userStatus",
-            formatter : function (row, column) {
-              return row.userStatus == 0 ? '<i class="el-icon-check" style="color: #32cd32;font-size: 20px;font-weight: 800"></i>' : '<i class="el-icon-close" style="color: #ff0000;font-size: 20px;font-weight: 800"></i>'
-            }
-          },
-        ],
-        group: [
-          {
-            label: '鍩虹淇℃伅',
-            prop: 'baseInfo',
-            icon: 'el-icon-user-solid',
-            column: [
-              {
-                label: "鎵�灞炵鎴�",
-                prop: "tenantId",
-                type: "tree",
-                dicUrl: "/api/ubcs-system/tenant/select",
-                props: {
-                  label: "tenantName",
-                  value: "tenantId"
-                },
-                hide: !website.tenantMode,
-                addDisplay: website.tenantMode,
-                editDisplay: website.tenantMode,
-                viewDisplay: website.tenantMode,
-                rules: [{
-                  required: true,
-                  message: "璇疯緭鍏ユ墍灞炵鎴�",
-                  trigger: "click"
-                }],
-                span: 24,
-                value:""
-              },
-              {
-                label: "鐧诲綍璐﹀彿",
-                prop: "account",
-                rules: [{
-                  required: true,
-                  message: "璇疯緭鍏ョ櫥褰曡处鍙�",
-                  trigger: "blur"
-                }],
-              },
-              {
-                label: "鐢ㄦ埛骞冲彴",
-                type: "select",
-                dicUrl: "/api/ubcs-system/dict/dictionary?code=user_type",
-                props: {
-                  label: "dictValue",
-                  value: "dictKey"
-                },
-                value:'1',
-                dataType: "number",
-                slot: true,
-                prop: "userType",
-                rules: [{
-                  required: true,
-                  message: "璇烽�夋嫨鐢ㄦ埛骞冲彴",
-                  trigger: "blur"
-                }]
-              },
-              {
-                label: '瀵嗙爜',
-                prop: 'password',
-                type: "password",
-                hide: true,
-                editDisplay: false,
-                viewDisplay: false,
-                rules: [{required: true, validator: validatePass, trigger: 'blur'}]
-              },
-              {
-                label: '纭瀵嗙爜',
-                prop: 'password2',
-                hide: true,
-                type: "password",
-                editDisplay: false,
-                viewDisplay: false,
-                rules: [{required: true, validator: validatePass2, trigger: 'blur'}]
-              },
-            ]
-          },
-          {
-            label: '璇︾粏淇℃伅',
-            prop: 'detailInfo',
-            icon: 'el-icon-s-order',
-            column: [
-              {
-                label: "鐢ㄦ埛鏄电О",
-                prop: "name",
-                hide: true,
-                rules: [{
-                  required: true,
-                  message: "璇疯緭鍏ョ敤鎴锋樀绉�",
-                  trigger: "blur"
-                }]
-              },
-              {
-                label: "鐢ㄦ埛濮撳悕",
-                prop: "realName",
-                rules: [{
-                  required: true,
-                  message: "璇疯緭鍏ョ敤鎴峰鍚�",
-                  trigger: "blur"
-                }, {
-                  min: 2,
-                  max: 5,
-                  message: '濮撳悕闀垮害鍦�2鍒�5涓瓧绗�'
-                }]
-              },
-              {
-                label: "鎵嬫満鍙风爜",
-                prop: "phone",
-                overHidden: true
-              },
-              {
-                label: "鐢靛瓙閭",
-                prop: "email",
-                hide: true,
-                overHidden: true
-              },
-              {
-                label: "鐢ㄦ埛鎬у埆",
-                prop: "sex",
-                type: "select",
-                dicData: [
-                  {
-                    label: "鐢�",
-                    value: 1
-                  },
-                  {
-                    label: "濂�",
-                    value: 2
-                  },
-                  {
-                    label: "鏈煡",
-                    value: 3
-                  }
-                ],
-                hide: true
-              },
-              {
-                label: "鐢ㄦ埛鐢熸棩",
-                type: "date",
-                prop: "birthday",
-                format: "yyyy-MM-dd hh:mm:ss",
-                valueFormat: "yyyy-MM-dd hh:mm:ss",
-                hide: true
-              },
-              {
-                label: "璐﹀彿鐘舵��",
-                prop: "statusName",
-                hide: true,
-                display: false
-              }
-            ]
-          },
-          {
-            label: '鑱岃矗淇℃伅',
-            prop: 'dutyInfo',
-            icon: 'el-icon-s-custom',
-            column: [
-              {
-                label: "鐢ㄦ埛缂栧彿",
-                prop: "code",
-              },
-              {
-                label: "鎵�灞炶鑹�",
-                prop: "roleId",
-                multiple: true,
-                type: "tree",
-                dicData: [],
-                props: {
-                  label: "title"
-                },
-                checkStrictly: true,
-                slot: true,
-                rules: [{
-                  required: true,
-                  message: "璇烽�夋嫨鎵�灞炶鑹�",
-                  trigger: "click"
-                }]
-              },
-              {
-                label: "鎵�灞為儴闂�",
-                prop: "deptId",
-                type: "tree",
-                multiple: true,
-                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"
-                }],
-              },*/
-            ]
-          },
-        ]
       },
       data: [],
       platformQuery: {},
@@ -714,7 +394,8 @@
         pwdstrategyId:''
       },
       userflag:true,
-      usernumber:0
+      usernumber:0,
+      userStatus:false,
     };
   },
   watch: {
@@ -749,21 +430,322 @@
         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),
-    //   };
-    // },
+    option() {
+      return{
+          height:'auto',
+          calcHeight: 80,
+          tip: false,
+          searchShow: true,
+          searchMenuSpan: 6,
+          columnBtn:false,
+          border: true,
+          index: true,
+          selection: true,
+          /* 涓嬮潰杩欎笁涓睘鎬ч粯璁よ缃负true锛�
+            瀹為檯鏍规嵁permissionList涓鐓х殑灞炴�ц繘琛屾帶鍒剁殑 */
+          viewBtn: true,
+          editBtn: true,
+          delBtn: true,
+          addBtn: true,
+          dialogType: 'drawer',
+          dialogClickModal: false,
+          highlightCurrentRow: true, //琛岄�変腑鏃堕珮浜�
+          column: [
+            {
+              label: "鐧诲綍璐﹀彿",
+              prop: "account",
+              search: true,
+              display: false
+            },
+            {
+              label: "鎵�灞炵鎴�",
+              prop: "tenantName",
+              slot: true,
+              display: false
+            },
+            {
+              label: "鐢ㄦ埛濮撳悕",
+              prop: "realName",
+              search: true,
+              display: false
+            },
+            {
+              label: "鎵�灞炶鑹�",
+              prop: "roleName",
+              slot: true,
+              display: false
+            },
+            {
+              label: "瀵嗙爜绛栫暐",
+              prop: "pwdStrategy",
+              slot: true,
+              display: false
+            },
+            {
+              label: "鎵�灞為儴闂�",
+              prop: "deptName",
+              slot: 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: "鐘舵��",
+              display: false,
+              sortable:true,
+              html:true,
+              prop: "userStatus",
+              formatter : function (row, column) {
+                return row.userStatus == 0 ? '<i class="el-icon-check" style="color: #32cd32;font-size: 20px;font-weight: 800"></i>' : '<i class="el-icon-close" style="color: #ff0000;font-size: 20px;font-weight: 800"></i>'
+              }
+            },
+          ],
+          group: [
+            {
+              label: '鍩虹淇℃伅',
+              prop: 'baseInfo',
+              icon: 'el-icon-user-solid',
+              column: [
+                {
+                  label: "鎵�灞炵鎴�",
+                  prop: "tenantId",
+                  type: "tree",
+                  dicUrl: "/api/ubcs-system/tenant/select",
+                  props: {
+                    label: "tenantName",
+                    value: "tenantId"
+                  },
+                  hide: !website.tenantMode,
+                  addDisplay: website.tenantMode,
+                  editDisplay: website.tenantMode,
+                  viewDisplay: website.tenantMode,
+                  rules: [{
+                    required: true,
+                    message: "璇疯緭鍏ユ墍灞炵鎴�",
+                    trigger: "click"
+                  }],
+                  span: 24,
+                  value:""
+                },
+                {
+                  label: "鐧诲綍璐﹀彿",
+                  prop: "account",
+                  rules: [{
+                    required: true,
+                    message: "璇疯緭鍏ョ櫥褰曡处鍙�",
+                    trigger: "blur"
+                  }],
+                },
+                {
+                  label: "鐢ㄦ埛骞冲彴",
+                  type: "select",
+                  dicUrl: "/api/ubcs-system/dict/dictionary?code=user_type",
+                  props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                  },
+                  value:'1',
+                  dataType: "number",
+                  slot: true,
+                  prop: "userType",
+                  rules: [{
+                    required: true,
+                    message: "璇烽�夋嫨鐢ㄦ埛骞冲彴",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: '瀵嗙爜',
+                  prop: 'password',
+                  type: "password",
+                  hide: true,
+                  editDisplay: false,
+                  viewDisplay: false,
+                  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: '纭瀵嗙爜',
+                  prop: 'password2',
+                  hide: true,
+                  type: "password",
+                  editDisplay: false,
+                  viewDisplay: false,
+                  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: '璇︾粏淇℃伅',
+              prop: 'detailInfo',
+              icon: 'el-icon-s-order',
+              column: [
+                {
+                  label: "鐢ㄦ埛鏄电О",
+                  prop: "name",
+                  hide: true,
+                  rules: [{
+                    required: true,
+                    message: "璇疯緭鍏ョ敤鎴锋樀绉�",
+                    trigger: "blur"
+                  }]
+                },
+                {
+                  label: "鐢ㄦ埛濮撳悕",
+                  prop: "realName",
+                  rules: [{
+                    required: true,
+                    message: "璇疯緭鍏ョ敤鎴峰鍚�",
+                    trigger: "blur"
+                  }, {
+                    min: 2,
+                    max: 5,
+                    message: '濮撳悕闀垮害鍦�2鍒�5涓瓧绗�'
+                  }]
+                },
+                {
+                  label: "鎵嬫満鍙风爜",
+                  prop: "phone",
+                  overHidden: true
+                },
+                {
+                  label: "鐢靛瓙閭",
+                  prop: "email",
+                  hide: true,
+                  overHidden: true
+                },
+                {
+                  label: "鐢ㄦ埛鎬у埆",
+                  prop: "sex",
+                  type: "select",
+                  dicData: [
+                    {
+                      label: "鐢�",
+                      value: 1
+                    },
+                    {
+                      label: "濂�",
+                      value: 2
+                    },
+                    {
+                      label: "鏈煡",
+                      value: 3
+                    }
+                  ],
+                  hide: true
+                },
+                {
+                  label: "鐢ㄦ埛鐢熸棩",
+                  type: "date",
+                  prop: "birthday",
+                  format: "yyyy-MM-dd hh:mm:ss",
+                  valueFormat: "yyyy-MM-dd hh:mm:ss",
+                  hide: true
+                },
+                {
+                  label: "璐﹀彿鐘舵��",
+                  prop: "statusName",
+                  hide: true,
+                  display: false
+                }
+              ]
+            },
+            {
+              label: '鑱岃矗淇℃伅',
+              prop: 'dutyInfo',
+              icon: 'el-icon-s-custom',
+              column: [
+                {
+                  label: "鐢ㄦ埛缂栧彿",
+                  prop: "code",
+                },
+                {
+                  label: "鎵�灞炶鑹�",
+                  prop: "roleId",
+                  multiple: true,
+                  type: "tree",
+                  dicData: [],
+                  disabled:this.userStatus,
+                  props: {
+                    label: "title"
+                  },
+                  checkStrictly: true,
+                  slot: true,
+                  rules: [{
+                    required: true,
+                    message: "璇烽�夋嫨鎵�灞炶鑹�",
+                    trigger: "click"
+                  }]
+                },
+                {
+                  label: "鎵�灞為儴闂�",
+                  prop: "deptId",
+                  type: "tree",
+                  multiple: true,
+                  dicData: [],
+                  props: {
+                    label: "title"
+                  },
+                  checkStrictly: true,
+                  slot: true,
+                  rules: [{
+                    required: true,
+                    message: "璇烽�夋嫨鎵�灞為儴闂�",
+                    trigger: "click"
+                  }]
+                },
+              ]
+            },
+          ]
+
+      }
+    },
     ids() {
       let ids = [];
       this.selectionList.forEach(ele => {
@@ -1116,6 +1098,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');

--
Gitblit v1.9.3