|
|
@@ -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);
|