Ver código fonte

修改机构管理新增编辑省市区权限

haizhouwang 2 anos atrás
pai
commit
aeb346a2a9
2 arquivos alterados com 83 adições e 37 exclusões
  1. 3 3
      config/dev.env.js
  2. 80 34
      src/views/Sys/Deptall.vue

+ 3 - 3
config/dev.env.js

@@ -5,10 +5,10 @@ const prodEnv = require('./prod.env')
 module.exports = merge(prodEnv, {
   NODE_ENV: '"development"',
   ENV_CONFIG:'"dev"',
-  BASE_URL: '"http://39.98.239.48/web-api"',//测试服务器
+  // BASE_URL: '"http://39.98.239.48/web-api"',//测试服务器
   // BASE_URL:'"http://sxzgkj.baoxianzhanggui.com/web-api"'//正式服务器
-  // BASE_URL: '"http://192.168.0.115:8080/"' //凯森
-  BASE_URL: '"http:///192.168.0.253:8080/"',//田智
+  BASE_URL: '"http://192.168.0.115:8080/"' //凯森
+  // BASE_URL: '"http:///192.168.0.106:8080/"',//田智
 })
 
 

+ 80 - 34
src/views/Sys/Deptall.vue

@@ -71,21 +71,21 @@
           <el-col :span="24">
             <el-col :span="8">
               <el-form-item label="省公司" prop="province">
-                <el-select @change="selectProvince" value-key="areaCname" style="width: 100%;" v-model="selectAddress.province" placeholder="请选择省" size="small">
+                <el-select :disabled="!disabledAddress.province" @change="selectProvince" value-key="areaCname" style="width: 100%;" v-model="selectAddress.province" placeholder="请选择省" size="small">
                   <el-option v-for="item in provinces" :value="item" :key="item.areaCode" :label="item.areaCname"></el-option>
                 </el-select>
               </el-form-item>
             </el-col>
             <el-col :span="8">
               <el-form-item label="支公司" prop="city">
-                <el-select @change="selectCity" value-key="areaCname" style="width: 100%;" v-model="selectAddress.city" placeholder="请选择市" size="small">
+                <el-select :disabled="!disabledAddress.city" @change="selectCity" value-key="areaCname" style="width: 100%;" v-model="selectAddress.city" placeholder="请选择市" size="small">
                   <el-option v-for="(item, index) in cities" :key="index" :value="item" :label="item.areaCname"></el-option>
                 </el-select>
               </el-form-item>
             </el-col>
             <el-col :span="8">
               <el-form-item label="营销服务部" prop="area">
-                <el-select @change="selectArea" value-key="areaCname" style="width: 100%;" v-model="selectAddress.area" placeholder="请选择区" size="small">
+                <el-select :disabled="!disabledAddress.area" @change="selectArea" value-key="areaCname" style="width: 100%;" v-model="selectAddress.area" placeholder="请选择区" size="small">
                   <el-option v-for="(item, index) in areas " :key="index" :value="item" :label="item.areaCname"></el-option>
                 </el-select>
               </el-form-item>
@@ -394,15 +394,15 @@ export default {
             trigger: "blur",
           },
         ],
-        province: [
-          { required: true, message: '请选择省', trigger: 'change' }
-        ],
-        city: [
-          { required: true, message: '请选择市', trigger: 'change' }
-        ],
-        area: [
-          { required: true, message: '请选择区', trigger: 'change' }
-        ]
+        // province: [
+        //   { required: true, message: '请选择省', trigger: 'change' }
+        // ],
+        // city: [
+        //   { required: true, message: '请选择市', trigger: 'change' }
+        // ],
+        // area: [
+        //   { required: true, message: '请选择区', trigger: 'change' }
+        // ]
       },
       //-- address begin ---
       selectAddress: {
@@ -483,7 +483,6 @@ export default {
     //获取省市区树数据
     getQueryTree(){
       this.$api.dept.queryTree().then((res) => {
-        console.log(res)
         this.provinces = res.data; //
       })
     },
@@ -516,8 +515,7 @@ export default {
         city: false,
         area: false,
       };
-
-      if (this.currentTreeNode.comlevel === 0) {
+      if (this.currentTreeNode.comlevel == 0) {
         this.disabledAddress.city = true;
         this.disabledAddress.area = true;
         this.selectAddress.province = "";
@@ -528,39 +526,60 @@ export default {
         this.dataForm.area = "";
       } else {
         if (!!this.currentTreeNode.province) {
-          this.selectAddress.province = this.currentTreeNode.province;
+          this.selectAddress.province = {areaCname:this.currentTreeNode.province};
           this.dataForm.province = this.currentTreeNode.province;
           this.dataForm.id = "";
         }
         if (!!this.currentTreeNode.city) {
-          this.selectAddress.city = this.currentTreeNode.city;
+          this.selectAddress.city = {areaCname:this.currentTreeNode.city};
           this.dataForm.city = this.currentTreeNode.city;
           this.dataForm.id = "";
         }
         if (!!this.currentTreeNode.area) {
-          this.selectAddress.area = this.currentTreeNode.area;
+          this.selectAddress.area = {areaCname:this.currentTreeNode.area};
           this.dataForm.area = this.currentTreeNode.area;
           this.dataForm.id = "";
         }
+        /****
+         * 获取市、区下拉框对应数据 ...start
+         */
+          let cityArr = this.provinces.filter(item=>{
+            return this.dataForm.province == item.areaCname
+          })
+          if(cityArr.length>0){
+            this.cities=cityArr[0].child
+            let areaArr = this.cities.filter(item=>{
+              return this.dataForm.city == item.areaCname
+            })
+            if(areaArr.length>0){
+              this.areas=areaArr[0].child
+            }
+          }
+        /****
+         * 获取市、区下拉框对应数据 ...end
+         */
       }
 
-      if (this.currentTreeNode.comlevel === 1) {
-        this.disabledAddress.city = true;
-        this.disabledAddress.area = true;
-      }
-      if (this.currentTreeNode.comlevel === 2) {
+      if (this.currentTreeNode.comlevel == 1) {
         this.disabledAddress.province = true;
-        this.disabledAddress.area = true;
+        this.disabledAddress.city = false;
+        this.disabledAddress.area = false;
       }
-      if (this.currentTreeNode.comlevel === 3) {
-        this.disabledAddress.province = true;
+      if (this.currentTreeNode.comlevel == 2) {
+        this.disabledAddress.province = false;
         this.disabledAddress.city = true;
+        this.disabledAddress.area = false;
       }
-      if (this.currentTreeNode.comlevel > 3) {
-        this.disabledAddress.province = true;
-        this.disabledAddress.city = true;
+      if (this.currentTreeNode.comlevel == 3) {
+        this.disabledAddress.province = false;
+        this.disabledAddress.city = false;
         this.disabledAddress.area = true;
       }
+      if (this.currentTreeNode.comlevel > 3) {
+        this.disabledAddress.province = false;
+        this.disabledAddress.city = false;
+        this.disabledAddress.area = false;
+      }
       if (this.currentTreeNode.comlevel >= 5) {
         return this.$message({
           message: "门店下不可增设下级子公司",
@@ -686,15 +705,42 @@ export default {
         });
       }
       let that = this;
+      
       that.operType = "EDIT";
       if (data.deptType == "C") {
         //编辑机构
         this.dialogTitle = "修改机构信息";
-        (this.disabledAddress = {
-          province: true,
-          city: true,
-          area: true,
-        }),
+        switch(data.comlevel){
+          case '1':
+              break;
+          case '2':
+            this.disabledAddress = {
+              province: true,
+              city: false,
+              area: false,
+            }
+            break;
+          case '3':
+            this.disabledAddress = {
+              province: true,
+              city: true,
+              area: false,
+            }
+            break;
+          case '4':
+            this.disabledAddress = {
+              province: true,
+              city: true,
+              area: true,
+            }
+            break;
+          default:
+            this.disabledAddress = {
+              province: true,
+              city: true,
+              area: true,
+            }
+        }
           this.$api.dept.getDeptById(data.id).then((res) => {
             that.dataForm = res.data;
             Object.assign(that.dataForm, res.data);