Przeglądaj źródła

1.添加金额大写转小写公共方法
2.去除不必要的代码
3.修改机构管理

haizhouwang 2 lat temu
rodzic
commit
8133a5d151

+ 104 - 0
src/utils/moneyTransition.js

@@ -0,0 +1,104 @@
+/**
+ * 数字钱转大写(最多可转小数点后两位小数)
+ * @param {*} amount
+ */
+export function toChies (amount) {
+   // 汉字的数字
+   const cnNums = [
+    "零",
+    "壹",
+    "贰",
+    "叁",
+    "肆",
+    "伍",
+    "陆",
+    "柒",
+    "捌",
+    "玖",
+  ];
+  // 基本单位
+  const cnIntRadice = ["", "拾", "佰", "仟"];
+  // 对应整数部分扩展单位
+  const cnIntUnits = ["", "万", "亿", "兆"];
+  // 对应小数部分单位
+  const cnDecUnits = ["角", "分"];
+  // 整数金额时后面跟的字符
+  const cnInteger = "整";
+  // 整型完以后的单位
+  const cnIntLast = "元";
+  // 最大处理的数字
+  const maxNum = 9999999999999999.99;
+  // 金额整数部分
+  let integerNum;
+  // 金额小数部分
+  let decimalNum;
+  // 输出的中文金额字符串
+  let chineseStr = "";
+  // 分离金额后用的数组,预定义
+  let parts;
+  if (amount === "") {
+    return "";
+  }
+  amount = parseFloat(amount);
+  if (amount >= maxNum) {
+    // 超出最大处理数字
+    return "";
+  }
+  if (amount === 0) {
+    chineseStr = cnNums[0] + cnIntLast + cnInteger;
+    return chineseStr;
+  }
+  // 转换为字符串
+  amount = amount.toString();
+  if (amount.indexOf(".") === -1) {
+    integerNum = amount;
+
+    decimalNum = "";
+  } else {
+    parts = amount.split(".");
+    integerNum = parts[0];
+    decimalNum = parts[1].substr(0, 4);
+  }
+  // 获取整型部分转换
+  if (parseInt(integerNum, 10) > 0) {
+    let zeroCount = 0;
+    const IntLen = integerNum.length;
+    for (let i = 0; i < IntLen; i++) {
+      const n = integerNum.substr(i, 1);
+      const p = IntLen - i - 1;
+      const q = p / 4;
+      const m = p % 4;
+      if (n === "0") {
+        zeroCount++;
+      } else {
+        if (zeroCount > 0) {
+          chineseStr += cnNums[0];
+        }
+        // 归零
+        zeroCount = 0;
+        //alert(cnNums[parseInt(n)])
+        chineseStr += cnNums[parseInt(n)] + cnIntRadice[m];
+      }
+      if (m === 0 && zeroCount < 4) {
+        chineseStr += cnIntUnits[q];
+      }
+    }
+    chineseStr += cnIntLast;
+  }
+  // 小数部分
+  if (decimalNum !== "") {
+    const decLen = decimalNum.length;
+    for (let i = 0; i < decLen; i++) {
+      const n = decimalNum.substr(i, 1);
+      if (n !== "0") {
+        chineseStr += cnNums[Number(n)] + cnDecUnits[i];
+      }
+    }
+  }
+  if (chineseStr === "") {
+    chineseStr += cnNums[0] + cnIntLast + cnInteger;
+  } else if (decimalNum === "") {
+    chineseStr += cnInteger;
+  }
+  return chineseStr;
+}

+ 59 - 133
src/views/FinancialManagement/ExpenseManagement/ExpenseApplyFor.vue

@@ -338,6 +338,13 @@
       </div>
       <div slot="footer" class="dialog-footer">
         <el-button @click="resetForm" size="small">取 消</el-button>
+        <el-button
+          v-if="expendDataId"
+          @click="expendDataup"
+          type="primary"
+          size="small"
+          >导 出</el-button
+        >
         <el-button type="primary" @click="submitForm" size="small">{{
           buttonValue
         }}</el-button>
@@ -360,6 +367,7 @@
 <script>
 import ExpenseComponent from "./ExpenseComponent.vue"; //新增账户信息弹框
 import KtCommonTable from "@/views/Core/KtCommonTable.vue"; //表格组件
+import {toChies} from '../../../utils/moneyTransition';
 export default {
   name: "ExpenseApplyFor",
   components: { KtCommonTable, ExpenseComponent },
@@ -611,6 +619,40 @@ export default {
   },
   mounted() {},
   methods: {
+    //导出
+    expendDataup(idList) {
+      if (this.expendDataId) {
+        let url = process.env.BASE_URL + "/upload/" + this.tableForm.uplodePath; // 3.创建一个临时的url指向blob对象
+        // 4.创建url之后可以模拟对此文件对象的一系列操作,例如:预览、下载
+        let a = document.createElement("a");
+        a.href = url;
+        a.download = "资金使用申请单.xlsx";
+        a.click();
+        // 5.释放这个临时的对象url
+        window.URL.revokeObjectURL(url);
+        this.resetForm();
+        this.findPage();
+      } else {
+        this.$api.expense.excel(idList).then((response) => {
+          if (response.code == 200) {
+            response.data.forEach((data) => {
+              this.resetForm();
+              this.findPage();
+              let url = process.env.BASE_URL + "/upload/" + data.uplodePath; // 3.创建一个临时的url指向blob对象
+              // 4.创建url之后可以模拟对此文件对象的一系列操作,例如:预览、下载
+              let a = document.createElement("a");
+              a.href = url;
+              a.download = "资金使用申请单.xlsx";
+              a.click();
+              // 5.释放这个临时的对象url
+              window.URL.revokeObjectURL(url);
+            });
+          } else {
+            this.$message.error(response.msg);
+          }
+        });
+      }
+    },
     //点击编辑按钮
     expendEdit(index) {
       let row = index.row;
@@ -627,16 +669,16 @@ export default {
             this.tableForm.payMethod = this.tableForm.payMethod.split(",");
             this.tableForm.collectionMessage = res.data.enterAccountId;
             this.tableForm.company = res.data.outAccountId;
-            let obj = this.fundFlowData.find(item=>item.child.find(chidlItem=>chidlItem.category == this.tableForm.fundUse));
-            this.tableForm.fundUse = [obj.category,obj.child.find(item=>item.category==this.tableForm.fundUse).category]
-            let arr = [];
-            this.tableForm.payMethod.forEach((items) => {
-              arr.push(
-                this.payment_methodsData.find((item) => item.value == items)
-                  .label
-              );
-            });
-            this.tableForm.payMethod = arr;
+            let obj = this.fundFlowData.find((item) =>
+              item.child.find(
+                (chidlItem) => chidlItem.category == this.tableForm.fundUse
+              )
+            );
+            this.tableForm.fundUse = [
+              obj.category,
+              obj.child.find((item) => item.category == this.tableForm.fundUse)
+                .category,
+            ];
           } else {
             this.$message.error(res.msg);
           }
@@ -850,7 +892,7 @@ export default {
     },
     //申请金额填写完成后
     chageAppl(e) {
-      this.tableForm.bigApplyAmount = this.toChies(this.tableForm.applyAmount);
+      this.tableForm.bigApplyAmount = toChies(this.tableForm.applyAmount);
     },
     //数据字典
     business(typeName) {
@@ -928,24 +970,7 @@ export default {
         //新增+导出
         this.$api.expense.insert(params).then((res) => {
           if (res.code == 200) {
-            this.$api.expense.excel([res.data]).then((response) => {
-              if (response.code == 200) {
-                response.data.forEach((data) => {
-                  this.resetForm();
-                  this.findPage();
-                  let url = process.env.BASE_URL + "/upload/" + data.uplodePath; // 3.创建一个临时的url指向blob对象
-                  // 4.创建url之后可以模拟对此文件对象的一系列操作,例如:预览、下载
-                  let a = document.createElement("a");
-                  a.href = url;
-                  a.download = "资金使用申请单.xlsx";
-                  a.click();
-                  // 5.释放这个临时的对象url
-                  window.URL.revokeObjectURL(url);
-                });
-              } else {
-                this.$message.error(res.msg);
-              }
-            });
+            this.expendDataup([res.data]);
           } else {
             this.$message.error(res.msg);
           }
@@ -956,116 +981,17 @@ export default {
     toPayment(list) {
       let newList = [];
       list.forEach((item) => {
-        newList.push(
-          this.payment_methodsData.find((payItem) => payItem.label == item)
-            .value
+        let newItem = this.payment_methodsData.find(
+          (payItem) => payItem.label == item
         );
+        if (newItem) {
+          newList.push(newItem.value);
+        }
       });
       newList.sort();
       newList = newList.join(",");
       return newList;
     },
-    //小写转大写金额
-    toChies(amount) {
-      // 汉字的数字
-      const cnNums = [
-        "零",
-        "壹",
-        "贰",
-        "叁",
-        "肆",
-        "伍",
-        "陆",
-        "柒",
-        "捌",
-        "玖",
-      ];
-      // 基本单位
-      const cnIntRadice = ["", "拾", "佰", "仟"];
-      // 对应整数部分扩展单位
-      const cnIntUnits = ["", "万", "亿", "兆"];
-      // 对应小数部分单位
-      const cnDecUnits = ["角", "分"];
-      // 整数金额时后面跟的字符
-      const cnInteger = "整";
-      // 整型完以后的单位
-      const cnIntLast = "元";
-      // 最大处理的数字
-      const maxNum = 9999999999999999.99;
-      // 金额整数部分
-      let integerNum;
-      // 金额小数部分
-      let decimalNum;
-      // 输出的中文金额字符串
-      let chineseStr = "";
-      // 分离金额后用的数组,预定义
-      let parts;
-      if (amount === "") {
-        return "";
-      }
-      amount = parseFloat(amount);
-      if (amount >= maxNum) {
-        // 超出最大处理数字
-        return "";
-      }
-      if (amount === 0) {
-        chineseStr = cnNums[0] + cnIntLast + cnInteger;
-        return chineseStr;
-      }
-      // 转换为字符串
-      amount = amount.toString();
-      if (amount.indexOf(".") === -1) {
-        integerNum = amount;
-
-        decimalNum = "";
-      } else {
-        parts = amount.split(".");
-        integerNum = parts[0];
-        decimalNum = parts[1].substr(0, 4);
-      }
-      // 获取整型部分转换
-      if (parseInt(integerNum, 10) > 0) {
-        let zeroCount = 0;
-        const IntLen = integerNum.length;
-        for (let i = 0; i < IntLen; i++) {
-          const n = integerNum.substr(i, 1);
-          const p = IntLen - i - 1;
-          const q = p / 4;
-          const m = p % 4;
-          if (n === "0") {
-            zeroCount++;
-          } else {
-            if (zeroCount > 0) {
-              chineseStr += cnNums[0];
-            }
-            // 归零
-            zeroCount = 0;
-            //alert(cnNums[parseInt(n)])
-            chineseStr += cnNums[parseInt(n)] + cnIntRadice[m];
-          }
-          if (m === 0 && zeroCount < 4) {
-            chineseStr += cnIntUnits[q];
-          }
-        }
-        chineseStr += cnIntLast;
-      }
-      // 小数部分
-      if (decimalNum !== "") {
-        const decLen = decimalNum.length;
-        for (let i = 0; i < decLen; i++) {
-          const n = decimalNum.substr(i, 1);
-          if (n !== "0") {
-            chineseStr += cnNums[Number(n)] + cnDecUnits[i];
-          }
-        }
-      }
-      if (chineseStr === "") {
-        chineseStr += cnNums[0] + cnIntLast + cnInteger;
-      } else if (decimalNum === "") {
-        chineseStr += cnInteger;
-      }
-      return chineseStr;
-    },
   },
 };
 </script>

+ 5 - 102
src/views/FinancialManagement/ExpenseManagement/ExpenseManagement.vue

@@ -241,6 +241,7 @@
 import KtCommonTable from "@/views/Core/KtCommonTable.vue"; //表格组件
 import KtButton from "@/views/Core/KtButton"; // 按钮权限组件
 import ExpenseComponent from "./ExpenseComponent.vue"; //新增账户信息弹框
+import {toChies} from '../../../utils/moneyTransition';
 
 export default {
   name: "ExpenseManagement",
@@ -544,7 +545,7 @@ export default {
   methods: {
     //申请金额填写完成后
     chageAppl(e) {
-      this.inComeFormData.bigApplyAmount = this.toChies(
+      this.inComeFormData.bigApplyAmount = toChies(
         this.inComeFormData.applyAmount
       );
     },
@@ -894,107 +895,6 @@ export default {
         });
       }
     },
-    //小写转大写金额
-    toChies(amount) {
-      // 汉字的数字
-      const cnNums = [
-        "零",
-        "壹",
-        "贰",
-        "叁",
-        "肆",
-        "伍",
-        "陆",
-        "柒",
-        "捌",
-        "玖",
-      ];
-      // 基本单位
-      const cnIntRadice = ["", "拾", "佰", "仟"];
-      // 对应整数部分扩展单位
-      const cnIntUnits = ["", "万", "亿", "兆"];
-      // 对应小数部分单位
-      const cnDecUnits = ["角", "分"];
-      // 整数金额时后面跟的字符
-      const cnInteger = "整";
-      // 整型完以后的单位
-      const cnIntLast = "元";
-      // 最大处理的数字
-      const maxNum = 9999999999999999.99;
-      // 金额整数部分
-      let integerNum;
-      // 金额小数部分
-      let decimalNum;
-      // 输出的中文金额字符串
-      let chineseStr = "";
-      // 分离金额后用的数组,预定义
-      let parts;
-      if (amount === "") {
-        return "";
-      }
-      amount = parseFloat(amount);
-      if (amount >= maxNum) {
-        // 超出最大处理数字
-        return "";
-      }
-      if (amount === 0) {
-        chineseStr = cnNums[0] + cnIntLast + cnInteger;
-        return chineseStr;
-      }
-      // 转换为字符串
-      amount = amount.toString();
-      if (amount.indexOf(".") === -1) {
-        integerNum = amount;
-
-        decimalNum = "";
-      } else {
-        parts = amount.split(".");
-        integerNum = parts[0];
-        decimalNum = parts[1].substr(0, 4);
-      }
-      // 获取整型部分转换
-      if (parseInt(integerNum, 10) > 0) {
-        let zeroCount = 0;
-        const IntLen = integerNum.length;
-        for (let i = 0; i < IntLen; i++) {
-          const n = integerNum.substr(i, 1);
-          const p = IntLen - i - 1;
-          const q = p / 4;
-          const m = p % 4;
-          if (n === "0") {
-            zeroCount++;
-          } else {
-            if (zeroCount > 0) {
-              chineseStr += cnNums[0];
-            }
-            // 归零
-            zeroCount = 0;
-            //alert(cnNums[parseInt(n)])
-            chineseStr += cnNums[parseInt(n)] + cnIntRadice[m];
-          }
-          if (m === 0 && zeroCount < 4) {
-            chineseStr += cnIntUnits[q];
-          }
-        }
-        chineseStr += cnIntLast;
-      }
-      // 小数部分
-      if (decimalNum !== "") {
-        const decLen = decimalNum.length;
-        for (let i = 0; i < decLen; i++) {
-          const n = decimalNum.substr(i, 1);
-          if (n !== "0") {
-            chineseStr += cnNums[Number(n)] + cnDecUnits[i];
-          }
-        }
-      }
-      if (chineseStr === "") {
-        chineseStr += cnNums[0] + cnIntLast + cnInteger;
-      } else if (decimalNum === "") {
-        chineseStr += cnInteger;
-      }
-      return chineseStr;
-    },
   },
 };
 </script>
@@ -1120,5 +1020,8 @@ export default {
 .ktTable >>> .cell .el-button{
   width: 80px;
 }
+.expendDialog >>> .cell .el-button{
+  width: auto;
+}
 </style>
   

+ 0 - 23
src/views/PeopleManage/Agent/AgentManage.vue

@@ -27,12 +27,6 @@
         <SplitArea :size="rightSplitWidth">
           <templateTable :formList="formList" :searchData.sync="queryFrom" :tableConfig="tableConfig" :btnGroup="btnGroup"
             :data="pageResult" @getList="findPage" @handleSearchList="handleSearchList" :pagination="pageData">
-            <div style="display:inline-block;" slot="upload">
-              <el-upload class="upload" ref="upload" :show-file-list="false" :limit="1" action="#"
-                :http-request="carfrontChange" :multiple="false">
-                <el-button type="primary" size="small" @click="$refs.upload.clearFiles()">导入新用户</el-button>
-              </el-upload>
-            </div>
           </templateTable>
         </SplitArea>
         <!-- 右侧列表页面End -->
@@ -562,23 +556,6 @@ export default {
         this.formDataRules.logoutTime = undefined
       }
     },
-    // excel导入
-    carfrontChange(file) {
-      const params = new FormData(); // 声明formData数据类型
-      params.append("file", file.file);
-      params.append("deptId", this.deptId);
-      this.$api.dept.newUserImport(params).then(res => {
-        if (res.code == 200) {
-          this.$message({
-            message: res.msg,
-            type: "success"
-          });
-          this.findPage();
-        } else {
-          this.$message.error(res.msg);
-        }
-      });
-    },
     identityChange(iden){
         let sex = null;
         let birth = null;

+ 11 - 5
src/views/PeopleManage/Player/PlayerManage.vue

@@ -39,7 +39,7 @@
                 <el-col :span="8">
                   <el-form-item label="机构名称" prop="deptId">
                     <el-cascader style="width:200px" :options="ztreeNodes" v-model="formData.deptId" clearable
-                    :disabled="dialogTitle == '编辑出单员'"
+                    :disabled="dialogTitle == '编辑渠道信息'"
                       :show-all-levels="false" :props="{
                         value: 'id',
                         label: 'name',
@@ -74,7 +74,7 @@
                
                 <el-col :span="8">
                   <el-form-item label="状态" prop="status">
-                    <el-select :disabled="dialogTitle == '新增出单员'"  style="width:200px" v-model="formData.status" placeholder="请选择">
+                    <el-select :disabled="dialogTitle == '新增渠道信息'"  style="width:200px" v-model="formData.status" placeholder="请选择">
                       <el-option v-for="val in user_statusoptions" :label="val.label" :value="val.value"
                         :key="val.id"></el-option>
                     </el-select>
@@ -152,6 +152,12 @@
             type: "select",
             options: JSON.parse(localStorage.getItem('user_statusoptions'))
           },
+          // {
+          //   label: "角色",
+          //   prop: "roleId",
+          //   type: "select",
+          //   options: [{label: "出单员", value: "1"},{label: "团队长", value: "2"}]
+          // },
         ],
         tableConfig: {
           columns: [
@@ -341,7 +347,7 @@
           res.data.sysUser.status += ''
           this.formData = res.data.sysUser
           this.formData.password = ''
-          this.dialogTitle = "编辑出单员";
+          this.dialogTitle = "编辑渠道信息";
           this.dialogVisible = true;
         }
         else {
@@ -368,7 +374,7 @@
         }
         this.formData.status = statusArr.length > 0 ? statusArr[0].value : ''
         this.activeName = '1'
-        this.dialogTitle = "新增出单员";
+        this.dialogTitle = "新增渠道信息";
         this.dialogVisible = true;
   
       },
@@ -390,7 +396,7 @@
           if (valid) {
             this.$confirm("确认提交吗?", "提示", {})
               .then(() => {
-                if (this.dialogTitle == '新增出单员') {
+                if (this.dialogTitle == '新增渠道信息') {
                   this.$api.user.saveUserInfo({sysUser: this.formData}).then((res) => {
                     if (res.code == 200) {
                       this.$message({

+ 333 - 202
src/views/PeopleManage/Seo/StaffSeo.vue

@@ -24,23 +24,38 @@
               <el-row>
                 <el-col :span="5">
                   <el-form-item label="工号">
-                    <el-input clearable size="small" placeholder="工号" v-model="pageData.userId"></el-input>
+                    <el-input
+                      clearable
+                      size="small"
+                      placeholder="工号"
+                      v-model="pageData.userId"
+                    ></el-input>
                   </el-form-item>
                 </el-col>
                 <el-col :span="5">
                   <el-form-item label="姓名">
-                    <el-input clearable size="small" placeholder="姓名" v-model="pageData.name"></el-input>
+                    <el-input
+                      clearable
+                      size="small"
+                      placeholder="姓名"
+                      v-model="pageData.name"
+                    ></el-input>
                   </el-form-item>
                 </el-col>
                 <el-col :span="5">
                   <el-form-item label="手机号">
-                    <el-input clearable size="small" placeholder="手机号" v-model="pageData.mobile"></el-input>
+                    <el-input
+                      clearable
+                      size="small"
+                      placeholder="手机号"
+                      v-model="pageData.mobile"
+                    ></el-input>
                   </el-form-item>
                 </el-col>
                 <el-col :span="5">
                   <el-form-item label="状态">
                     <el-select
-                      style="width:200px"
+                      style="width: 200px"
                       clearable
                       v-model="pageData.status"
                       placeholder="请选择"
@@ -56,7 +71,12 @@
                 </el-col>
                 <el-col :span="4">
                   <el-form-item label>
-                    <el-button size="small" type="primary" @click="queryStaffInfo">查询</el-button>
+                    <el-button
+                      size="small"
+                      type="primary"
+                      @click="queryStaffInfo"
+                      >查询</el-button
+                    >
                   </el-form-item>
                 </el-col>
               </el-row>
@@ -69,35 +89,56 @@
             :data="pageResult"
             :columns="columns"
             button4Name="查看"
-            editButtonName="编辑"
             :showBatchDelete="false"
             @findPage="findPage"
             button1Background="#F2904B"
             @handleButton4="handleDetail"
-            @handleEdit="handleTableEdit"
+            button4Icon="el-icon-search"
           ></kt-common-table>
         </SplitArea>
         <!-- 右侧列表页面End -->
       </Split>
     </el-main>
 
-    <el-dialog :title="dialogTitle" width="60%" :visible.sync="dialogVisible" :close-on-click-modal="false"
-      :before-close="handleDialogBefore" @close="closeDialog" v-dialogDrag>
-      <el-tabs v-model="activeName"   >
+    <el-dialog
+      :title="dialogTitle"
+      width="60%"
+      :visible.sync="dialogVisible"
+      :close-on-click-modal="false"
+      :before-close="handleDialogBefore"
+      @close="closeDialog"
+      v-dialogDrag
+    >
+      <el-tabs v-model="activeName">
         <el-tab-pane label="基本信息" name="1">
-          <el-form :disabled="isDisabled" :model="formData" :rules="formDataRules" ref="formData" :inline="true" @keyup.enter.native="nextStep()"
-            label-width="130px" size="small">
+          <el-form
+            :disabled="isDisabled"
+            :model="formData"
+            :rules="formDataRules"
+            ref="formData"
+            :inline="true"
+            @keyup.enter.native="nextStep()"
+            label-width="130px"
+            size="small"
+          >
             <el-row>
               <el-col :span="8">
                 <el-form-item label="机构名称" prop="deptId">
-                  <el-cascader style="width:200px" :options="ztreeNodes" v-model="formData.deptId" clearable
-                    :show-all-levels="false" :props="{
+                  <el-cascader
+                    style="width: 200px"
+                    :options="ztreeNodes"
+                    v-model="formData.deptId"
+                    clearable
+                    :show-all-levels="false"
+                    :props="{
                       value: 'id',
                       label: 'name',
                       checkStrictly: true,
-                    }" @change="handleChange">
-                  </el-cascader>
-                </el-form-item></el-col>
+                    }"
+                    @change="handleChange"
+                  >
+                  </el-cascader> </el-form-item
+              ></el-col>
               <el-col :span="8">
                 <el-form-item label="员工工号" prop="id">
                   <el-input v-model="formData.id" disabled></el-input>
@@ -110,7 +151,11 @@
               </el-col>
               <el-col :span="8">
                 <el-form-item label="身份证号" prop="identity">
-                  <el-input v-model="formData.identity" :maxlength="18" @change="identityChange"></el-input>
+                  <el-input
+                    v-model="formData.identity"
+                    :maxlength="18"
+                    @change="identityChange"
+                  ></el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="8">
@@ -122,36 +167,66 @@
                 <el-form-item label="密码" prop="word">
                   <!-- <el-input type="text"  v-model="formData.word" @input="replacePwd" oncopy="return false" oncut="return false" @select="selectText" @keyup.delete="deleteText"/> -->
 
-                  <el-input style="width:200px"  v-model="formData.password" autocomplete="new-password"
-                    show-password></el-input>
-                    
+                  <el-input
+                    style="width: 200px"
+                    v-model="formData.password"
+                    autocomplete="new-password"
+                    show-password
+                  ></el-input>
                 </el-form-item>
               </el-col>
-             
+
               <el-col :span="8">
                 <el-form-item label="状态" prop="status">
-                  <el-select style="width:200px" v-model="formData.status" placeholder="请选择">
-                    <el-option v-for="val in user_statusoptions" :label="val.label" :value="val.value"
-                      :key="val.id"></el-option>
+                  <el-select
+                    style="width: 200px"
+                    v-model="formData.status"
+                    placeholder="请选择"
+                  >
+                    <el-option
+                      v-for="val in user_statusoptions"
+                      :label="val.label"
+                      :value="val.value"
+                      :key="val.id"
+                    ></el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
               <el-col :span="8">
                 <el-form-item label="角色" prop="roleId">
-                  <el-select style="width:200px" v-model="formData.roleId" placeholder="请选择" disabled>
-                    <el-option v-for="val in roles" :label="val.name" :value="val.id + ''" :key="val.id"></el-option>
+                  <el-select
+                    style="width: 200px"
+                    v-model="formData.roleId"
+                    placeholder="请选择"
+                    disabled
+                  >
+                    <el-option
+                      v-for="val in roles"
+                      :label="val.name"
+                      :value="val.id + ''"
+                      :key="val.id"
+                    ></el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
             </el-row>
           </el-form>
-          <div style="text-align: right;">
-            <el-button size="small" type="primary" @click="nextStep">下一步</el-button>
+          <div style="text-align: right">
+            <el-button size="small" type="primary" @click="nextStep"
+              >下一步</el-button
+            >
           </div>
         </el-tab-pane>
         <el-tab-pane label="详细信息" name="2">
-          <el-form :disabled="isDisabled" :model="formDataDetail" :rules="formDataRulesDetail" ref="formDataDetail" :inline="true"
-           label-width="130px" size="small">
+          <el-form
+            :disabled="isDisabled"
+            :model="formDataDetail"
+            :rules="formDataRulesDetail"
+            ref="formDataDetail"
+            :inline="true"
+            label-width="130px"
+            size="small"
+          >
             <el-row>
               <el-col :span="8">
                 <el-form-item label="开户账号" prop="accountno">
@@ -165,14 +240,28 @@
               </el-col>
               <el-col :span="8">
                 <el-form-item label="性别" prop="sex">
-                  <el-select style="width:200px" v-model="formDataDetail.sex" placeholder="请选择">
-                    <el-option v-for="val in sexoptions" :label="val.label" :value="val.value" :key="val.id"></el-option>
+                  <el-select
+                    style="width: 200px"
+                    v-model="formDataDetail.sex"
+                    placeholder="请选择"
+                  >
+                    <el-option
+                      v-for="val in sexoptions"
+                      :label="val.label"
+                      :value="val.value"
+                      :key="val.id"
+                    ></el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
               <el-col :span="8">
                 <el-form-item label="出生日期" prop="birthday">
-                  <el-date-picker style="width:200px" v-model="formDataDetail.birthday" type="date" placeholder="选择日期">
+                  <el-date-picker
+                    style="width: 200px"
+                    v-model="formDataDetail.birthday"
+                    type="date"
+                    placeholder="选择日期"
+                  >
                   </el-date-picker>
                 </el-form-item>
               </el-col>
@@ -183,7 +272,11 @@
               </el-col>
               <el-col :span="8">
                 <el-form-item label="婚姻状况" prop="maritalStatus">
-                  <el-select v-model="formDataDetail.maritalStatus" placeholder="请选择婚姻状况" style="width:200px">
+                  <el-select
+                    v-model="formDataDetail.maritalStatus"
+                    placeholder="请选择婚姻状况"
+                    style="width: 200px"
+                  >
                     <el-option label="未婚" value="未婚"></el-option>
                     <el-option label="已婚" value="已婚"></el-option>
                     <el-option label="离异" value="离异"></el-option>
@@ -193,15 +286,27 @@
               </el-col>
               <el-col :span="8">
                 <el-form-item label="民族" prop="nations">
-                  <el-select style="width:200px" v-model="formDataDetail.nations" placeholder="请选择民族">
-                    <el-option :label="national" :value="national" v-for="national in nationalList"
-                      :key="national"></el-option>
+                  <el-select
+                    style="width: 200px"
+                    v-model="formDataDetail.nations"
+                    placeholder="请选择民族"
+                  >
+                    <el-option
+                      :label="national"
+                      :value="national"
+                      v-for="national in nationalList"
+                      :key="national"
+                    ></el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
               <el-col :span="8">
                 <el-form-item label="政治面貌" prop="politicsStatus">
-                  <el-select style="width:200px" v-model="formDataDetail.politicsStatus" placeholder="请选择">
+                  <el-select
+                    style="width: 200px"
+                    v-model="formDataDetail.politicsStatus"
+                    placeholder="请选择"
+                  >
                     <el-option label="群众" value="群众"></el-option>
                     <el-option label="共青团员" value="共青团员"></el-option>
                     <el-option label="中共党员" value="中共党员"></el-option>
@@ -210,7 +315,11 @@
               </el-col>
               <el-col :span="8">
                 <el-form-item label="健康状况" prop="health">
-                  <el-select style="width:200px" v-model="formDataDetail.health" placeholder="请选择">
+                  <el-select
+                    style="width: 200px"
+                    v-model="formDataDetail.health"
+                    placeholder="请选择"
+                  >
                     <el-option label="健康" value="健康"></el-option>
                     <el-option label="亚健康" value="亚健康"></el-option>
                     <el-option label="疾病" value="疾病"></el-option>
@@ -223,14 +332,18 @@
                 </el-form-item>
               </el-col>
               <el-col :span="8">
-                 <el-form-item label="居住地址" prop="address">
-                   <el-input v-model="formDataDetail.address"></el-input>
-                 </el-form-item>
-               </el-col>
-             
+                <el-form-item label="居住地址" prop="address">
+                  <el-input v-model="formDataDetail.address"></el-input>
+                </el-form-item>
+              </el-col>
+
               <el-col :span="8">
                 <el-form-item label="血型" prop="bloodType">
-                  <el-select style="width:200px" v-model="formDataDetail.bloodType" placeholder="请选择">
+                  <el-select
+                    style="width: 200px"
+                    v-model="formDataDetail.bloodType"
+                    placeholder="请选择"
+                  >
                     <el-option label="A型" value="A型"></el-option>
                     <el-option label="B型" value="B型"></el-option>
                     <el-option label="O型" value="O型"></el-option>
@@ -240,7 +353,11 @@
               </el-col>
               <el-col :span="8">
                 <el-form-item label="学历" prop="education">
-                  <el-select style="width:200px" v-model="formDataDetail.education" placeholder="请选择">
+                  <el-select
+                    style="width: 200px"
+                    v-model="formDataDetail.education"
+                    placeholder="请选择"
+                  >
                     <el-option label="小学" value="小学"></el-option>
                     <el-option label="初中" value="初中"></el-option>
                     <el-option label="高中" value="高中"></el-option>
@@ -252,13 +369,18 @@
                 </el-form-item>
               </el-col>
               <el-col :span="8">
-                  <el-form-item label="毕业院校" prop="school">
-                    <el-input v-model="formDataDetail.school"></el-input>
-                  </el-form-item>
-                </el-col>
+                <el-form-item label="毕业院校" prop="school">
+                  <el-input v-model="formDataDetail.school"></el-input>
+                </el-form-item>
+              </el-col>
               <el-col :span="8">
                 <el-form-item label="毕业时间" prop="graduationTime">
-                  <el-date-picker  style="width:200px" v-model="formDataDetail.graduationTime" type="date" placeholder="选择日期">
+                  <el-date-picker
+                    style="width: 200px"
+                    v-model="formDataDetail.graduationTime"
+                    type="date"
+                    placeholder="选择日期"
+                  >
                   </el-date-picker>
                 </el-form-item>
               </el-col>
@@ -268,37 +390,66 @@
                 </el-form-item>
               </el-col>
               <el-col :span="8">
-                  <el-form-item label="入司时间" prop="entryTime">
-                    <el-date-picker style="width:200px" v-model="formDataDetail.entryTime" type="date" placeholder="选择日期">
-                    </el-date-picker>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="8">
-                <el-form-item label="代理人资格证号" prop="agentQualificationCode">
-                  <el-input v-model="formDataDetail.agentQualificationCode"></el-input>
+                <el-form-item label="入司时间" prop="entryTime">
+                  <el-date-picker
+                    style="width: 200px"
+                    v-model="formDataDetail.entryTime"
+                    type="date"
+                    placeholder="选择日期"
+                  >
+                  </el-date-picker>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8">
+                <el-form-item
+                  label="代理人资格证号"
+                  prop="agentQualificationCode"
+                >
+                  <el-input
+                    v-model="formDataDetail.agentQualificationCode"
+                  ></el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="8">
                 <el-form-item label="紧急联系人电话" prop="emergencyContactTel">
-                  <el-input v-model="formDataDetail.emergencyContactTel"></el-input>
+                  <el-input
+                    v-model="formDataDetail.emergencyContactTel"
+                  ></el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="8">
-                <el-form-item label="紧急联系人姓名" prop="emergencyContactName">
-                  <el-input v-model="formDataDetail.emergencyContactName"></el-input>
+                <el-form-item
+                  label="紧急联系人姓名"
+                  prop="emergencyContactName"
+                >
+                  <el-input
+                    v-model="formDataDetail.emergencyContactName"
+                  ></el-input>
                 </el-form-item>
               </el-col>
             </el-row>
           </el-form>
-          <div style="text-align: right;">
-            <el-button size="small" type="primary" style="background-color: #ffc000; border: 1px solid #ffc000"
-              @click="closeDialog">取消</el-button>
-            <el-button size="small" type="primary" @click="activeName = '1'">上一步</el-button>
-            <el-button size="small" v-if="!isDisabled" type="primary" @click="submitForm">提交</el-button>
+          <div style="text-align: right">
+            <el-button
+              size="small"
+              type="primary"
+              style="background-color: #ffc000; border: 1px solid #ffc000"
+              @click="closeDialog"
+              >取消</el-button
+            >
+            <el-button size="small" type="primary" @click="activeName = '1'"
+              >上一步</el-button
+            >
+            <el-button
+              size="small"
+              v-if="!isDisabled"
+              type="primary"
+              @click="submitForm"
+              >提交</el-button
+            >
           </div>
         </el-tab-pane>
       </el-tabs>
-
     </el-dialog>
   </div>
 </template>
@@ -311,11 +462,11 @@ import { validateSfz } from "../../../utils/validate.js";
 export default {
   components: {
     tree,
-    KtCommonTable
+    KtCommonTable,
   },
   data() {
     return {
-      activeName: '1',
+      activeName: "1",
       //56个民族
       nationalList: [
         "汉族",
@@ -381,12 +532,12 @@ export default {
         deptId: "99",
         userId: "",
         realName: "",
-        mobile: ""
+        mobile: "",
       },
-      dialogTitle:'',
-      isDisabled:false,
+      dialogTitle: "",
+      isDisabled: false,
       formData: {},
-      
+
       roles: [],
       peopledeptid: "",
       /**Split 开始 */
@@ -395,17 +546,17 @@ export default {
       ztreeObj: null,
       ztreeSetting: {
         check: {
-          enable: false
+          enable: false,
         },
         data: {
           simpleData: {
             enable: true,
-            pIdKey: "parentId"
-          }
+            pIdKey: "parentId",
+          },
         },
         view: {
-          showIcon: false
-        }
+          showIcon: false,
+        },
       },
       ztreeNodes: [],
       currentTreeNode: null,
@@ -421,7 +572,7 @@ export default {
           prop: "pdeptName",
           label: "机构名称",
           minWidth: 120,
-          sortable: false
+          sortable: false,
         },
         { prop: "deptName", label: "部门名称", minWidth: 80, sortable: false },
         { prop: "userId", label: "工号", minWidth: 120, sortable: false },
@@ -430,22 +581,24 @@ export default {
           prop: "sex",
           label: "性别",
           minWidth: 80,
-          sortable: false
+          sortable: false,
         },
         { prop: "mobile", label: "联系电话", minWidth: 100, sortable: false },
         {
           prop: "status",
           label: "状态",
           minWidth: 70,
-          sortable: false
-        }
+          sortable: false,
+        },
       ],
-      sexoptions: JSON.parse(localStorage.getItem('sexOptions')) ,
-      user_statusoptions: JSON.parse(localStorage.getItem('user_statusoptions')) ,
-      roles: JSON.parse(localStorage.getItem('find_all')) ,
+      sexoptions: JSON.parse(localStorage.getItem("sexOptions")),
+      user_statusoptions: JSON.parse(
+        localStorage.getItem("user_statusoptions")
+      ),
+      roles: JSON.parse(localStorage.getItem("find_all")),
       option: [],
-      formDataRules:{
-        deptId:[{ required: true, message: "请选择机构", trigger: "change" }],
+      formDataRules: {
+        deptId: [{ required: true, message: "请选择机构", trigger: "change" }],
         mobile: [
           { required: true, message: "请输入手机号", trigger: "blur" },
           { min: 11, max: 11, message: "请输入11位手机号码", trigger: "blur" },
@@ -460,18 +613,19 @@ export default {
         // password: [{ required: true, message: "请填写密码", trigger: "blur" }],
         status: [{ required: true, message: "请选择状态", trigger: "change" }],
         roleId: [{ required: true, message: "请填写角色", trigger: "blur" }],
-        identity:
-        [{ required: true, message: "请填写身份证号" },
-        { validator: validateSfz }], 
-        },
+        identity: [
+          { required: true, message: "请填写身份证号" },
+          { validator: validateSfz },
+        ],
+      },
     };
   },
   created() {
     // this.$api.role.findAll().then(res => {
     //   this.roles = res.data;
     // });
-  //  this.getDictItems("user_status");
-  //    this.getDictItems("sex");
+    //  this.getDictItems("user_status");
+    //    this.getDictItems("sex");
     this.findLeftTreeData(); // 获取机构树的数据
   },
   mounted() {
@@ -487,16 +641,16 @@ export default {
       );
       this.rightSplitWidth = 100 - this.leftSplitWidth;
     },
-    findLeftTreeData: function() {
-      this.$api.dept.findDeptTree().then(res => {
+    findLeftTreeData: function () {
+      this.$api.dept.findDeptTree().then((res) => {
         this.ztreeNodes = res.data;
       });
     },
-    onZTreeClick: function(evt, treeId, treeNode) {
+    onZTreeClick: function (evt, treeId, treeNode) {
       // 点击事件
       this.currentTreeNode = evt;
       this.pageData.deptId = this.currentTreeNode.id;
-      this.pageData.pageNum =1;
+      this.pageData.pageNum = 1;
       this.findPage();
       // this.formData.deptId = [];
       // this.platform(treeId);
@@ -530,21 +684,21 @@ export default {
         name: this.pageData.name,
         userId: this.pageData.userId,
         status: this.pageData.status,
-        roleId: ""
+        roleId: "",
       };
       let res = await this.$api.user.findPage({
         dto,
         pageNum: this.pageData.pageNum,
-        pageSize: this.pageData.pageSize
+        pageSize: this.pageData.pageSize,
       });
       if (res.code == 200) {
-        res.data.content.forEach(val => {
+        res.data.content.forEach((val) => {
           if (val.sex && val.sex !== "" && val.sex !== null) {
-            val.sex = this.sexoptions.find(ele => ele.value == val.sex).label;
+            val.sex = this.sexoptions.find((ele) => ele.value == val.sex).label;
           }
           if (val.status && val.status !== "" && val.status !== null) {
             val.status = this.user_statusoptions.find(
-              ele => ele.value == val.status
+              (ele) => ele.value == val.status
             ).label;
           }
         });
@@ -557,15 +711,15 @@ export default {
       //--数据字典--
       this.$api.dict
         .findByLableName(typeName)
-        .then(response => {
+        .then((response) => {
           this[typeName + "options"] = response.data; // 把获取到的数据赋给this.data
         })
-        .catch(error => {
+        .catch((error) => {
           this[typeName + "options"] = [];
         });
     },
-     //联级选择器触发事件
-     handleChange(val) {
+    //联级选择器触发事件
+    handleChange(val) {
       if (val && val.length !== 0) {
         this.formData.deptId = val.at(-1);
       }
@@ -574,135 +728,112 @@ export default {
       // 退出对话框之前确认提示
       var that = this;
       this.$confirm("确认关闭?")
-        .then(_ => {
+        .then((_) => {
           done();
         })
-        .catch(_ => {});
+        .catch((_) => {});
     },
     closeDialog() {
       this.dialogVisible = false;
     },
-    async detail(params){
-      this.activeName = '1'
-      let res = await this.$api.user.getUserDatail(params.row.userId)
-        if (res.code == 200) {
-          res.data.sysUser.status += ''
-        this.formData = res.data.sysUser
-        this.formDataDetail = res.data.sysUserInfo?res.data.sysUserInfo:{}
-          this.formData.password = "";
-        }
-    },
-    handleTableEdit(params){
-     this.detail(params)
-      this.dialogTitle = "编辑";
-      this.isDisabled=false
-      this.dialogVisible = true;
+    async detail(params) {
+      this.activeName = "1";
+      let res = await this.$api.user.getUserDatail(params.row.userId);
+      if (res.code == 200) {
+        res.data.sysUser.status += "";
+        this.formData = res.data.sysUser;
+        this.formDataDetail = res.data.sysUserInfo ? res.data.sysUserInfo : {};
+        this.formData.password = "";
+      }
     },
     handleDetail(params) {
-      this.detail(params)
+      this.detail(params);
       this.dialogTitle = "详情";
-      this.isDisabled=true
+      this.isDisabled = true;
       this.dialogVisible = true;
     },
-    identityChange(iden){
-        let sex = null;
-        let birth = null;
-        let myDate = new Date();
-        let month = myDate.getMonth() + 1;
-        let day = myDate.getDate();
-          sex = iden.substring(16,17);
-          birth = iden.substring(6,10)+"-"+iden.substring(10,12)+"-"+iden.substring(12,14);
-          let age = 0;
-          if (iden.substring(10, 12) < month || iden.substring(10, 12) == month && iden.substring(12, 14) <= day) age++;
-        if(sex%2 === 0)
-          sex = '女';
-        else
-          sex = '男';
-          this.formDataDetail.birthday=birth
-          this.formDataDetail.sex=this.sexoptions.find(val=>sex==val.label).value
+    identityChange(iden) {
+      let sex = null;
+      let birth = null;
+      let myDate = new Date();
+      let month = myDate.getMonth() + 1;
+      let day = myDate.getDate();
+      sex = iden.substring(16, 17);
+      birth =
+        iden.substring(6, 10) +
+        "-" +
+        iden.substring(10, 12) +
+        "-" +
+        iden.substring(12, 14);
+      let age = 0;
+      if (
+        iden.substring(10, 12) < month ||
+        (iden.substring(10, 12) == month && iden.substring(12, 14) <= day)
+      )
+        age++;
+      if (sex % 2 === 0) sex = "女";
+      else sex = "男";
+      this.formDataDetail.birthday = birth;
+      this.formDataDetail.sex = this.sexoptions.find(
+        (val) => sex == val.label
+      ).value;
     },
-    beforeTabLeave(){
+    beforeTabLeave() {
       let p = new Promise((resolve, reject) => {
         this.$refs.formData.validate(async (valid) => {
           valid ? resolve() : reject();
           if (valid !== resolve()) {
             // this.$message.error("请完善基本信息!");
           }
-        
         });
       });
       return p;
     },
     // 下一步
-     nextStep() {
+    nextStep() {
       this.$refs.formData.validate((valid) => {
         if (valid) {
-          this.activeName = '2'
+          this.activeName = "2";
         }
       });
-  },
+    },
     // 提交
     submitForm() {
       this.$refs.formDataDetail.validate((valid) => {
         if (valid) {
-          this.$confirm("确认提交吗?", "提示", {})
-            .then(() => {
-              // if(!this.basicInformation.id && this.dialogTitle =="新增代理人"){
-              //   this.$message({
-              //     message: '请先填写基本信息!!!',
-              //     type: 'warning'
-              //   });
-              //   return false
-              // }
-              if (this.dialogTitle == '新增代理人') {
-                if(!this.formDataDetail.password){
-                  this.formDataDetail.password=this.formDataDetail.mobile+'@2023'
+          this.$confirm("确认提交吗?", "提示", {}).then(() => {
+            if (!this.formDataDetail.password) {
+              this.formDataDetail.password =
+                this.formDataDetail.mobile + "@2023";
+            }
+            this.$api.user
+              .saveUserInfo({
+                sysUser: this.formData,
+                sysUserInfo: this.formDataDetail,
+              })
+              .then((res) => {
+                if (res.code == 200) {
+                  this.$message({
+                    message: "保存成功",
+                    type: "success",
+                  });
+                  this.activeName = "1";
+                  this.dialogVisible = false;
+                  this.$refs["formData"].resetFields();
+                  this.$refs["formDataDetail"].resetFields();
+                  this.findPage();
+                } else {
+                  this.$message({
+                    message: `保存失败,请重新添加,(${res.msg})`,
+                    type: "error",
+                  });
                 }
-                this.$api.user.saveUserInfo({ sysUser: this.formData, sysUserInfo: this.formDataDetail }).then((res) => {
-                  if (res.code == 200) {
-                    this.$message({
-                      message: "保存成功",
-                      type: "success",
-                    });
-                    this.activeName = '1'
-                    this.dialogVisible = false;
-                    this.$refs["formData"].resetFields();
-                    this.$refs["formDataDetail"].resetFields();
-                    this.findPage();
-                  } else {
-                    this.$message({
-                      message: `保存失败,请重新添加,(${res.msg})`,
-                      type: "error",
-                    });
-                  }
-                });
-              }
-              else{
-                this.$api.user.updateUserInfo(this.formData.id,{ sysUser: this.formData, sysUserInfo: this.formDataDetail }).then((res) => {
-                  if (res.code == 200) {
-                    this.$message({
-                      message: "编辑成功",
-                      type: "success",
-                    });
-                    this.activeName = '1'
-                    this.dialogVisible = false;
-                    this.$refs["formData"].resetFields();
-                    this.$refs["formDataDetail"].resetFields();
-                    this.findPage();
-                  } else {
-                    this.$message({
-                      message: `编辑失败,请重新添加,(${res.msg})`,
-                      type: "error",
-                    });
-                  }
-                });
-              }
-
-            })
+              });
+          });
         }
       });
     },
-  }
+  },
 };
 </script>
 

+ 385 - 219
src/views/PeopleManage/TeamLeader/TeamLeaderManage.vue

@@ -5,16 +5,13 @@
         <!-- 左侧树Start -->
         <SplitArea :size="leftSplitWidth" :minSize="240">
           <div>
-            <div >
+            <div>
               <!-- <el-checkbox v-model="containsSubDeptChecked"
                 >包含下级机构</el-checkbox
               > -->
 
               <kt-button
-                style="
-                  background-color: #ffc000;
-                  border: #ffc000;
-                "
+                style="background-color: #ffc000; border: #ffc000"
                 icon="fa fa-plus"
                 label="添加人员"
                 type="primary"
@@ -74,13 +71,18 @@
                 <el-col :span="5">
                   <el-form-item label="状态">
                     <el-select
-              style="width:200px"
-              clearable 
-                v-model="pageData.status"
-                placeholder="请选择"
-              >
-              <el-option v-for="val in user_statusoptions" :label="val.label" :value="val.value" :key="val.id"></el-option>
-            </el-select>
+                      style="width: 200px"
+                      clearable
+                      v-model="pageData.status"
+                      placeholder="请选择"
+                    >
+                      <el-option
+                        v-for="val in user_statusoptions"
+                        :label="val.label"
+                        :value="val.value"
+                        :key="val.id"
+                      ></el-option>
+                    </el-select>
                   </el-form-item>
                 </el-col>
                 <el-col :span="4">
@@ -97,45 +99,63 @@
             </el-form>
           </el-row>
 
-            <kt-common-table
-              permsEdit="sys:agent:edit"
-              permsDelete="sys:agent:delete"
-              :data="pageResult"
-              :columns="columns"
-              editButtonName="编辑"
-              :showBatchDelete="false"
-              @findPage="findPage"
-              @handleEdit="handleTableEdit"
-            >
-            </kt-common-table>
-         
+          <kt-common-table
+            permsEdit="sys:agent:edit"
+            permsDelete="sys:agent:delete"
+            :data="pageResult"
+            :columns="columns"
+            editButtonName="编辑"
+            :showBatchDelete="false"
+            @findPage="findPage"
+            @handleEdit="handleTableEdit"
+          >
+          </kt-common-table>
         </SplitArea>
         <!-- 右侧列表页面End -->
       </Split>
     </el-main>
 
+    <!-- 新增修改界面 -->
 
-
-<!-- 新增修改界面 -->
-
-<el-dialog :title="dialogTitle" width="60%" :visible.sync="dialogVisible" :close-on-click-modal="false"
-      :before-close="handleDialogBefore" @close="closeDialog" v-dialogDrag>
-      <el-tabs v-model="activeName"  :before-leave="beforeTabLeave">
+    <el-dialog
+      :title="dialogTitle"
+      width="60%"
+      :visible.sync="dialogVisible"
+      :close-on-click-modal="false"
+      :before-close="handleDialogBefore"
+      @close="closeDialog"
+      v-dialogDrag
+    >
+      <el-tabs v-model="activeName" :before-leave="beforeTabLeave">
         <el-tab-pane label="基本信息" name="1">
-          <el-form :model="formData" :rules="formDataRules" ref="formData" :inline="true" @keyup.enter.native="nextStep()"
-            label-width="130px" size="small">
+          <el-form
+            :model="formData"
+            :rules="formDataRules"
+            ref="formData"
+            :inline="true"
+            @keyup.enter.native="nextStep()"
+            label-width="130px"
+            size="small"
+          >
             <el-row>
               <el-col :span="8">
                 <el-form-item label="机构名称" prop="deptId">
-                  <el-cascader style="width:200px" :options="ztreeNodes" v-model="formData.deptId" clearable
-                  :disabled="dialogTitle == '编辑团队长'"
-                    :show-all-levels="false" :props="{
+                  <el-cascader
+                    style="width: 200px"
+                    :options="ztreeNodes"
+                    v-model="formData.deptId"
+                    clearable
+                    :disabled="dialogTitle == '编辑团队长'"
+                    :show-all-levels="false"
+                    :props="{
                       value: 'id',
                       label: 'name',
                       checkStrictly: true,
-                    }" @change="handleChange">
-                  </el-cascader>
-                </el-form-item></el-col>
+                    }"
+                    @change="handleChange"
+                  >
+                  </el-cascader> </el-form-item
+              ></el-col>
               <el-col :span="8">
                 <el-form-item label="员工工号" prop="id">
                   <el-input v-model="formData.id" disabled></el-input>
@@ -145,9 +165,14 @@
                 <el-form-item label="手机号" prop="mobile">
                   <el-input v-model="formData.mobile"></el-input>
                 </el-form-item>
-              </el-col>  <el-col :span="8">
+              </el-col>
+              <el-col :span="8">
                 <el-form-item label="身份证号" prop="identity">
-                  <el-input v-model="formData.identity" :maxlength="18" @change="identityChange"></el-input>
+                  <el-input
+                    v-model="formData.identity"
+                    :maxlength="18"
+                    @change="identityChange"
+                  ></el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="8">
@@ -157,42 +182,78 @@
               </el-col>
               <el-col v-if="dialogPassword" :span="8">
                 <el-form-item label="密码" prop="password">
-                  <el-input  v-model="formData.password" :class="isShow==true?'disc':'none'" ></el-input>
+                  <el-input
+                    v-model="formData.password"
+                    :class="isShow == true ? 'disc' : 'none'"
+                  ></el-input>
                   <i class="el-icon-view icon" @click="isShowFun()"></i>
                   <!-- <el-input style="width:200px" v-model="formData.password" autocomplete="new-password" -->
-                    <!-- show-password></el-input> -->
+                  <!-- show-password></el-input> -->
                 </el-form-item>
               </el-col>
               <el-col :span="8">
                 <el-form-item label="状态" prop="status">
-                  <el-select style="width:200px"  @change="statusChange" v-model="formData.status" placeholder="请选择">
-                    <el-option v-for="val in user_statusoptions" :label="val.label" :value="val.value"
-                      :key="val.id"></el-option>
+                  <el-select
+                    style="width: 200px"
+                    @change="statusChange"
+                    v-model="formData.status"
+                    placeholder="请选择"
+                  >
+                    <el-option
+                      v-for="val in user_statusoptions"
+                      :label="val.label"
+                      :value="val.value"
+                      :key="val.id"
+                    ></el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
               <el-col :span="8">
                 <el-form-item label="角色" prop="roleId">
-                  <el-select style="width:200px" v-model="formData.roleId" placeholder="请选择" disabled>
-                    <el-option v-for="val in roles" :label="val.name" :value="val.id + ''" :key="val.id"></el-option>
+                  <el-select
+                    style="width: 200px"
+                    v-model="formData.roleId"
+                    placeholder="请选择"
+                    disabled
+                  >
+                    <el-option
+                      v-for="val in roles"
+                      :label="val.name"
+                      :value="val.id + ''"
+                      :key="val.id"
+                    ></el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
               <el-col :span="8">
                 <el-form-item label="离职时间" prop="logoutTime">
-                  <el-date-picker value-format="yyyy-MM-dd" style="width:200px" v-model="formData.logoutTime" type="date" placeholder="选择日期">
+                  <el-date-picker
+                    value-format="yyyy-MM-dd"
+                    style="width: 200px"
+                    v-model="formData.logoutTime"
+                    type="date"
+                    placeholder="选择日期"
+                  >
                   </el-date-picker>
                 </el-form-item>
               </el-col>
             </el-row>
           </el-form>
-          <div style="text-align: right;">
-            <el-button size="small" type="primary" @click="nextStep">下一步</el-button>
+          <div style="text-align: right">
+            <el-button size="small" type="primary" @click="nextStep"
+              >下一步</el-button
+            >
           </div>
         </el-tab-pane>
         <el-tab-pane label="详细信息" name="2">
-          <el-form :model="formDataDetail" :rules="formDataRulesDetail" ref="formDataDetail" :inline="true"
-           label-width="130px" size="small">
+          <el-form
+            :model="formDataDetail"
+            :rules="formDataRulesDetail"
+            ref="formDataDetail"
+            :inline="true"
+            label-width="130px"
+            size="small"
+          >
             <el-row>
               <el-col :span="8">
                 <el-form-item label="开户账号" prop="accountno">
@@ -206,14 +267,28 @@
               </el-col>
               <el-col :span="8">
                 <el-form-item label="性别" prop="sex">
-                  <el-select style="width:200px" v-model="formDataDetail.sex" placeholder="请选择">
-                    <el-option v-for="val in sexoptions" :label="val.label" :value="val.value" :key="val.id"></el-option>
+                  <el-select
+                    style="width: 200px"
+                    v-model="formDataDetail.sex"
+                    placeholder="请选择"
+                  >
+                    <el-option
+                      v-for="val in sexoptions"
+                      :label="val.label"
+                      :value="val.value"
+                      :key="val.id"
+                    ></el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
               <el-col :span="8">
                 <el-form-item label="出生日期" prop="birthday">
-                  <el-date-picker style="width:200px" v-model="formDataDetail.birthday" type="date" placeholder="选择日期">
+                  <el-date-picker
+                    style="width: 200px"
+                    v-model="formDataDetail.birthday"
+                    type="date"
+                    placeholder="选择日期"
+                  >
                   </el-date-picker>
                 </el-form-item>
               </el-col>
@@ -224,7 +299,11 @@
               </el-col>
               <el-col :span="8">
                 <el-form-item label="婚姻状况" prop="maritalStatus">
-                  <el-select v-model="formDataDetail.maritalStatus" placeholder="请选择婚姻状况" style="width:200px">
+                  <el-select
+                    v-model="formDataDetail.maritalStatus"
+                    placeholder="请选择婚姻状况"
+                    style="width: 200px"
+                  >
                     <el-option label="未婚" value="未婚"></el-option>
                     <el-option label="已婚" value="已婚"></el-option>
                     <el-option label="离异" value="离异"></el-option>
@@ -234,15 +313,27 @@
               </el-col>
               <el-col :span="8">
                 <el-form-item label="民族" prop="nations">
-                  <el-select style="width:200px" v-model="formDataDetail.nations" placeholder="请选择民族">
-                    <el-option :label="national" :value="national" v-for="national in nationalList"
-                      :key="national"></el-option>
+                  <el-select
+                    style="width: 200px"
+                    v-model="formDataDetail.nations"
+                    placeholder="请选择民族"
+                  >
+                    <el-option
+                      :label="national"
+                      :value="national"
+                      v-for="national in nationalList"
+                      :key="national"
+                    ></el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
               <el-col :span="8">
                 <el-form-item label="政治面貌" prop="politicsStatus">
-                  <el-select style="width:200px" v-model="formDataDetail.politicsStatus" placeholder="请选择">
+                  <el-select
+                    style="width: 200px"
+                    v-model="formDataDetail.politicsStatus"
+                    placeholder="请选择"
+                  >
                     <el-option label="群众" value="群众"></el-option>
                     <el-option label="共青团员" value="共青团员"></el-option>
                     <el-option label="中共党员" value="中共党员"></el-option>
@@ -251,7 +342,11 @@
               </el-col>
               <el-col :span="8">
                 <el-form-item label="健康状况" prop="health">
-                  <el-select style="width:200px" v-model="formDataDetail.health" placeholder="请选择">
+                  <el-select
+                    style="width: 200px"
+                    v-model="formDataDetail.health"
+                    placeholder="请选择"
+                  >
                     <el-option label="健康" value="健康"></el-option>
                     <el-option label="亚健康" value="亚健康"></el-option>
                     <el-option label="疾病" value="疾病"></el-option>
@@ -264,14 +359,18 @@
                 </el-form-item>
               </el-col>
               <el-col :span="8">
-                 <el-form-item label="居住地址" prop="address">
-                   <el-input v-model="formDataDetail.address"></el-input>
-                 </el-form-item>
-               </el-col>
-             
+                <el-form-item label="居住地址" prop="address">
+                  <el-input v-model="formDataDetail.address"></el-input>
+                </el-form-item>
+              </el-col>
+
               <el-col :span="8">
                 <el-form-item label="血型" prop="bloodType">
-                  <el-select style="width:200px" v-model="formDataDetail.bloodType" placeholder="请选择">
+                  <el-select
+                    style="width: 200px"
+                    v-model="formDataDetail.bloodType"
+                    placeholder="请选择"
+                  >
                     <el-option label="A型" value="A型"></el-option>
                     <el-option label="B型" value="B型"></el-option>
                     <el-option label="O型" value="O型"></el-option>
@@ -281,7 +380,11 @@
               </el-col>
               <el-col :span="8">
                 <el-form-item label="学历" prop="education">
-                  <el-select style="width:200px" v-model="formDataDetail.education" placeholder="请选择">
+                  <el-select
+                    style="width: 200px"
+                    v-model="formDataDetail.education"
+                    placeholder="请选择"
+                  >
                     <el-option label="小学" value="小学"></el-option>
                     <el-option label="初中" value="初中"></el-option>
                     <el-option label="高中" value="高中"></el-option>
@@ -293,13 +396,18 @@
                 </el-form-item>
               </el-col>
               <el-col :span="8">
-                  <el-form-item label="毕业院校" prop="school">
-                    <el-input v-model="formDataDetail.school"></el-input>
-                  </el-form-item>
-                </el-col>
+                <el-form-item label="毕业院校" prop="school">
+                  <el-input v-model="formDataDetail.school"></el-input>
+                </el-form-item>
+              </el-col>
               <el-col :span="8">
                 <el-form-item label="毕业时间" prop="graduationTime">
-                  <el-date-picker  style="width:200px" v-model="formDataDetail.graduationTime" type="date" placeholder="选择日期">
+                  <el-date-picker
+                    style="width: 200px"
+                    v-model="formDataDetail.graduationTime"
+                    type="date"
+                    placeholder="选择日期"
+                  >
                   </el-date-picker>
                 </el-form-item>
               </el-col>
@@ -309,39 +417,63 @@
                 </el-form-item>
               </el-col>
               <el-col :span="8">
-                  <el-form-item label="入司时间" prop="entryTime">
-                    <el-date-picker style="width:200px" v-model="formDataDetail.entryTime" type="date" placeholder="选择日期">
-                    </el-date-picker>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="8">
-                <el-form-item label="代理人资格证号" prop="agentQualificationCode">
-                  <el-input v-model="formDataDetail.agentQualificationCode"></el-input>
+                <el-form-item label="入司时间" prop="entryTime">
+                  <el-date-picker
+                    style="width: 200px"
+                    v-model="formDataDetail.entryTime"
+                    type="date"
+                    placeholder="选择日期"
+                  >
+                  </el-date-picker>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8">
+                <el-form-item
+                  label="代理人资格证号"
+                  prop="agentQualificationCode"
+                >
+                  <el-input
+                    v-model="formDataDetail.agentQualificationCode"
+                  ></el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="8">
                 <el-form-item label="紧急联系人电话" prop="emergencyContactTel">
-                  <el-input v-model="formDataDetail.emergencyContactTel"></el-input>
+                  <el-input
+                    v-model="formDataDetail.emergencyContactTel"
+                  ></el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="8">
-                <el-form-item label="紧急联系人姓名" prop="emergencyContactName">
-                  <el-input v-model="formDataDetail.emergencyContactName"></el-input>
+                <el-form-item
+                  label="紧急联系人姓名"
+                  prop="emergencyContactName"
+                >
+                  <el-input
+                    v-model="formDataDetail.emergencyContactName"
+                  ></el-input>
                 </el-form-item>
               </el-col>
             </el-row>
           </el-form>
-          <div style="text-align: right;">
-            <el-button size="small" type="primary" style="background-color: #ffc000; border: 1px solid #ffc000"
-              @click="closeDialog">取消</el-button>
-            <el-button size="small" type="primary" @click="activeName = '1'">上一步</el-button>
-            <el-button size="small" type="primary" @click="submitForm">提交</el-button>
+          <div style="text-align: right">
+            <el-button
+              size="small"
+              type="primary"
+              style="background-color: #ffc000; border: 1px solid #ffc000"
+              @click="closeDialog"
+              >取消</el-button
+            >
+            <el-button size="small" type="primary" @click="activeName = '1'"
+              >上一步</el-button
+            >
+            <el-button size="small" type="primary" @click="submitForm"
+              >提交</el-button
+            >
           </div>
         </el-tab-pane>
       </el-tabs>
-
     </el-dialog>
-
   </div>
 </template>
 
@@ -358,10 +490,9 @@ export default {
     KtCommonTable,
   },
   data() {
-
     return {
-      activeName: '1',
-      isShow:true,
+      activeName: "1",
+      isShow: true,
       //56个民族
       nationalList: [
         "汉族",
@@ -421,19 +552,19 @@ export default {
         "赫哲族",
         "珞巴族",
       ],
-      pageData:{
+      pageData: {
         pageNum: 1,
         pageSize: 20,
-        deptId:JSON.parse(localStorage.getItem('user_data')).deptId  ,
-        userId:'',
-        realName:'',
-        mobile:'',
+        deptId: JSON.parse(localStorage.getItem("user_data")).deptId,
+        userId: "",
+        realName: "",
+        mobile: "",
       },
-      formData:{
-        roleId:'21',
+      formData: {
+        roleId: "21",
       },
-      formDataRules:{
-        deptId:[{ required: true, message: "请选择机构", trigger: "change" }],
+      formDataRules: {
+        deptId: [{ required: true, message: "请选择机构", trigger: "change" }],
         mobile: [
           { required: true, message: "请输入手机号", trigger: "blur" },
           { min: 11, max: 11, message: "请输入11位手机号码", trigger: "blur" },
@@ -448,11 +579,12 @@ export default {
         // password: [{ required: true, message: "请填写密码", trigger: "blur" }],
         status: [{ required: true, message: "请选择状态", trigger: "change" }],
         // roleId: [{ required: true, message: "请填写角色", trigger: "blur" }],
-        identity:
-        [{ required: true, message: "请填写身份证号" },
-        { validator: validateSfz }], 
-        },
-        formDataDetail: {},
+        identity: [
+          { required: true, message: "请填写身份证号" },
+          { validator: validateSfz },
+        ],
+      },
+      formDataDetail: {},
       formDataRulesDetail: {
         // accountno: [{ required: true, message: "请填写开户账号", trigger: "blur" }],
         // address: [{ required: true, message: "请填写居住地址", trigger: "blur" }],
@@ -460,8 +592,7 @@ export default {
         // birthday: [{ required: true, message: "请填写出生日期", trigger: "blur" }],
         // identity:
         // [{ required: true, message: "请填写身份证号" },
-        // { validator: validateSfz }], 
-
+        // { validator: validateSfz }],
         // koseki: [{ required: true, message: "请填写户籍", trigger: "blur" }],
         // maritalStatus: [{ required: true, message: "请选择婚姻状况", trigger: "change" }],
         // nations: [{ required: true, message: "请选择民族", trigger: "change" }],
@@ -508,7 +639,7 @@ export default {
         },
 
         { prop: "deptName", label: "部门名称", minWidth: 80, sortable: false },
-      
+
         { prop: "userId", label: "工号", minWidth: 80, sortable: false },
         { prop: "name", label: "姓名", minWidth: 120, sortable: false },
         {
@@ -518,7 +649,7 @@ export default {
           sortable: false,
         },
         { prop: "mobile", label: "联系电话", minWidth: 100, sortable: false },
-          {
+        {
           prop: "roleId",
           label: "角色",
           minWidth: 80,
@@ -535,11 +666,13 @@ export default {
       dialogVisible: false, // 新增编辑界面是否显示
       departmentList: [], // 选中公司的所有部门的集合
       deptInfo: {}, //选中机构的基本信息
-      sexoptions: JSON.parse(localStorage.getItem('sexOptions')) ,
-      user_statusoptions: JSON.parse(localStorage.getItem('user_statusoptions')) ,
-      roles: JSON.parse(localStorage.getItem('find_all')) ,
+      sexoptions: JSON.parse(localStorage.getItem("sexOptions")),
+      user_statusoptions: JSON.parse(
+        localStorage.getItem("user_statusoptions")
+      ),
+      roles: JSON.parse(localStorage.getItem("find_all")),
       option: [], //机构列表
-      dialogPassword:false, //密码是否显示
+      dialogPassword: false, //密码是否显示
     };
   },
   created() {
@@ -550,7 +683,6 @@ export default {
     // this.getDictItems("sex");
     // this.getDictItems("user_status");
     this.findLeftTreeData(); // 获取机构树的数据
-
   },
   mounted() {
     //用像素初始化左边的split的宽度
@@ -568,23 +700,23 @@ export default {
   },
   methods: {
     //状态改变时
-    statusChange(e){
-      if(e==0){
-        this.$set( this.formDataRules,'logoutTime',[
-        {  required: true, message: '请选择日期', trigger: 'change' }
-          ])
-      }else{
-        this.formDataRules.logoutTime = undefined
+    statusChange(e) {
+      if (e == 0) {
+        this.$set(this.formDataRules, "logoutTime", [
+          { required: true, message: "请选择日期", trigger: "change" },
+        ]);
+      } else {
+        this.formDataRules.logoutTime = undefined;
       }
     },
     // 查询Start
     queryStaffInfo() {
       this.findPage();
     },
-    sexFormatter(row){
+    sexFormatter(row) {
       // return this.sexoptions[row.sex]
       // return row.sex+'1'
-// console.log(val,1)
+      // console.log(val,1)
     },
     changeTreeWidth(widthVal) {
       // 初始化树的宽度
@@ -595,18 +727,32 @@ export default {
     },
     findLeftTreeData: function () {
       this.$api.dept.findDeptTree().then((res) => {
+        console.log(res);
+        // this.treeDataRecursion(res.data, 1);
+        // console.log(res.data);
         this.ztreeNodes = res.data;
       });
     },
+    //树过滤五级机构递归
+    treeDataRecursion(data, num) {
+      data = data || this.ztreeNodes;
+      for (let i = 0; i < data.length; i++) {
+        if (data[i].comlevel == 5 && data[i].managementSource != num) {
+          data.splice(i, 1);
+          i = i - 1;
+        } else {
+          this.treeDataRecursion(data[i].children, num);
+        }
+      }
+    },
     onZTreeClick: function (evt, treeId, treeNode) {
       // 点击事件
       this.currentTreeNode = evt;
-      this.deptId  = this.currentTreeNode.id;
-      this.pageData.pageNum =1;
+      this.deptId = this.currentTreeNode.id;
+      this.pageData.pageNum = 1;
       this.findPage();
       // this.formData.deptId = [];
       // this.platform(treeId);
-      
     },
     //联级选择器触发事件
     handleChange(val) {
@@ -614,25 +760,34 @@ export default {
         this.formData.deptId = val.at(-1);
       }
     },
-    isShowFun(){
-      this.isShow=!this.isShow
+    isShowFun() {
+      this.isShow = !this.isShow;
     },
-    identityChange(iden){
-        let sex = null;
-        let birth = null;
-        let myDate = new Date();
-        let month = myDate.getMonth() + 1;
-        let day = myDate.getDate();
-          sex = iden.substring(16,17);
-          birth = iden.substring(6,10)+"-"+iden.substring(10,12)+"-"+iden.substring(12,14);
-          let age = 0;
-          if (iden.substring(10, 12) < month || iden.substring(10, 12) == month && iden.substring(12, 14) <= day) age++;
-        if(sex%2 === 0)
-          sex = '女';
-        else
-          sex = '男';
-          this.formDataDetail.birthday=birth
-          this.formDataDetail.sex=this.sexoptions.find(val=>sex==val.label).value
+    identityChange(iden) {
+      let sex = null;
+      let birth = null;
+      let myDate = new Date();
+      let month = myDate.getMonth() + 1;
+      let day = myDate.getDate();
+      sex = iden.substring(16, 17);
+      birth =
+        iden.substring(6, 10) +
+        "-" +
+        iden.substring(10, 12) +
+        "-" +
+        iden.substring(12, 14);
+      let age = 0;
+      if (
+        iden.substring(10, 12) < month ||
+        (iden.substring(10, 12) == month && iden.substring(12, 14) <= day)
+      )
+        age++;
+      if (sex % 2 === 0) sex = "女";
+      else sex = "男";
+      this.formDataDetail.birthday = birth;
+      this.formDataDetail.sex = this.sexoptions.find(
+        (val) => sex == val.label
+      ).value;
     },
     // 右侧列表的方法Start
     findPage(data) {
@@ -641,47 +796,54 @@ export default {
         this.pageData.pageNum = data.pageRequest.pageNum;
         this.pageData.pageSize = data.pageRequest.pageSize;
       }
-       let dto={
-        deptId:this.deptId,
-        mobile:this.pageData.mobile,
-        name:this.pageData.name,
-        userId:this.pageData.userId,
-        status:this.pageData.status,
-        roleId:'21',
-      }
+      let dto = {
+        deptId: this.deptId,
+        mobile: this.pageData.mobile,
+        name: this.pageData.name,
+        userId: this.pageData.userId,
+        status: this.pageData.status,
+        roleId: "21",
+      };
       this.$api.user
-        .findPage({dto,pageNum:this.pageData.pageNum,pageSize:this.pageData.pageSize})
+        .findPage({
+          dto,
+          pageNum: this.pageData.pageNum,
+          pageSize: this.pageData.pageSize,
+        })
         .then((res) => {
-          res.data.content.forEach(val=>{
-            if(val.sex&& val.sex!==''&& val.sex!==null){
-              val.sex=this.sexoptions.find(ele=>ele.value==val.sex).label
+          res.data.content.forEach((val) => {
+            if (val.sex && val.sex !== "" && val.sex !== null) {
+              val.sex = this.sexoptions.find(
+                (ele) => ele.value == val.sex
+              ).label;
             }
-            if(val.status&& val.status!==''&& val.status!==null){
-              val.status=this.user_statusoptions.find(ele=>ele.value==val.status).label
+            if (val.status && val.status !== "" && val.status !== null) {
+              val.status = this.user_statusoptions.find(
+                (ele) => ele.value == val.status
+              ).label;
             }
-            val.roleId=val.roleName
-          })
+            val.roleId = val.roleName;
+          });
           this.pageResult = res.data;
-        })
+        });
     },
-    beforeTabLeave(){
+    beforeTabLeave() {
       // let p = new Promise((resolve, reject) => {
       //   this.$refs.formData.validate(async (valid) => {
       //     valid ? resolve() : reject();
       //     if (valid !== resolve()) {
       //       // this.$message.error("请完善基本信息!");
       //     }
-        
       //   });
       // });
       // return p;
     },
-       // 下一步
-       nextStep() {
+    // 下一步
+    nextStep() {
       this.$refs.formData.validate((valid) => {
         if (valid) {
-          this.activeName = '2'
-          // this.formData.deptIdCom= this.formData.deptId 
+          this.activeName = "2";
+          // this.formData.deptIdCom= this.formData.deptId
           // this.formData.deptId =  this.formData.deptId.at(-1);
           // if (this.formData.referrerId) {
           //   this.formData.referrerName = this.recommenderOptions.find(val => this.formData.referrerId == val.id).name
@@ -699,30 +861,28 @@ export default {
           // });
         }
       });
-  },
+    },
     async handleTableEdit(params) {
-      this.activeName = '1'
-      let res = await this.$api.user.getUserDatail(params.row.userId)
+      this.activeName = "1";
+      let res = await this.$api.user.getUserDatail(params.row.userId);
       if (res.code == 200) {
-        res.data.sysUser.status += ''
-        this.formData = res.data.sysUser
-        if(this.formData.status==0){
-          this.$set( this.formDataRules,'logoutTime',[
-            {  required: true, message: '请选择日期', trigger: 'change' }
-          ])
-        }else{
-          this.formDataRules.logoutTime = undefined
+        res.data.sysUser.status += "";
+        this.formData = res.data.sysUser;
+        if (this.formData.status == 0) {
+          this.$set(this.formDataRules, "logoutTime", [
+            { required: true, message: "请选择日期", trigger: "change" },
+          ]);
+        } else {
+          this.formDataRules.logoutTime = undefined;
         }
-        this.formDataDetail = res.data.sysUserInfo?res.data.sysUserInfo:{}
-        this.formData.password = ''
+        this.formDataDetail = res.data.sysUserInfo ? res.data.sysUserInfo : {};
+        this.formData.password = "";
         this.dialogTitle = "编辑团队长";
         this.dialogVisible = true;
         this.dialogPassword = false;
-        this.formData.referrerId = ''
-        this.formData.referrerName = ''
-
-      }
-      else {
+        this.formData.referrerId = "";
+        this.formData.referrerName = "";
+      } else {
         this.$message.error(res.msg);
       }
     },
@@ -753,16 +913,15 @@ export default {
       //    deptId = this.formData.deptId.at(-1);
       // }
       this.formData = {
-        roleId: '21',
-        status: '',
-        deptId: this.deptId
-      }
-      this.formDataDetail = {}
-      this.activeName = '1'
+        roleId: "21",
+        status: "",
+        deptId: this.deptId,
+      };
+      this.formDataDetail = {};
+      this.activeName = "1";
       this.dialogTitle = "新增团队长";
       this.dialogVisible = true;
       this.dialogPassword = true;
-      
     },
     // 新增或修改的弹出框Start
     getDictItems(typeName) {
@@ -808,17 +967,21 @@ export default {
     submitForm() {
       this.$refs.formDataDetail.validate((valid) => {
         if (valid) {
-          this.$confirm("确认提交吗?", "提示", {})
-            .then(() => {
-              // if(!this.basicInformation.id && this.dialogTitle =="新增代理人"){
-              //   this.$message({
-              //     message: '请先填写基本信息!!!',
-              //     type: 'warning'
-              //   });
-              //   return false
-              // }
-              if (this.dialogTitle == '新增团队长') {
-                this.$api.user.saveUserInfo({ sysUser: this.formData, sysUserInfo: this.formDataDetail }).then((res) => {
+          this.$confirm("确认提交吗?", "提示", {}).then(() => {
+            // if(!this.basicInformation.id && this.dialogTitle =="新增代理人"){
+            //   this.$message({
+            //     message: '请先填写基本信息!!!',
+            //     type: 'warning'
+            //   });
+            //   return false
+            // }
+            if (this.dialogTitle == "新增团队长") {
+              this.$api.user
+                .saveUserInfo({
+                  sysUser: this.formData,
+                  sysUserInfo: this.formDataDetail,
+                })
+                .then((res) => {
                   if (res.code == 200) {
                     this.$message({
                       message: "保存成功",
@@ -835,9 +998,13 @@ export default {
                     });
                   }
                 });
-              }
-              else{
-                this.$api.user.updateUserInfo(this.formData.id,{ sysUser: this.formData, sysUserInfo: this.formDataDetail }).then((res) => {
+            } else {
+              this.$api.user
+                .updateUserInfo(this.formData.id, {
+                  sysUser: this.formData,
+                  sysUserInfo: this.formDataDetail,
+                })
+                .then((res) => {
                   if (res.code == 200) {
                     this.$message({
                       message: "编辑成功",
@@ -854,9 +1021,8 @@ export default {
                     });
                   }
                 });
-              }
-
-            })
+            }
+          });
         }
       });
     },
@@ -881,19 +1047,19 @@ export default {
 .queryFrom .queryButton .el-form-item__content {
   margin-left: 0px !important;
 }
-.disc{
-  -webkit-text-security:disc;
+.disc {
+  -webkit-text-security: disc;
   position: relative;
 }
-.none{
-  -webkit-text-security:none;
+.none {
+  -webkit-text-security: none;
   position: relative;
 }
-.icon{
+.icon {
   color: #ccc;
   position: absolute;
   right: 0;
-  top:10px;
-  text-align: center
+  top: 10px;
+  text-align: center;
 }
 </style>

+ 1 - 2
src/views/Sys/Deptall.vue

@@ -107,13 +107,12 @@
           </el-col>
           <el-col :span="8">
             <el-form-item label="来源" prop="managementSource" >
-              <el-select style="width: 100%" v-model="dataForm.managementSource"  >
+              <el-select :disabled="operType=='EDIT'" style="width: 100%" v-model="dataForm.managementSource"  >
                 <el-option label="渠道" value="1"></el-option>
                 <el-option label="个代" value="2"></el-option>
                 <el-option label="服务" value="3"></el-option>
               </el-select>
             </el-form-item>
-
           </el-col>
           <el-col :span="8">
           </el-col>