Commit 65388ba7 authored by “yiyousong”'s avatar “yiyousong”

fix:修复编辑用户时区域发送改变时会出现清空站点授权的问题

parent 19e7e447
......@@ -16,10 +16,9 @@
>
<a-form-model-item label="站点授权" prop="areaNames">
<a-tree-select
v-model="form.areaNames"
v-model="selectAreaList"
style="width: 100%"
:tree-data="treeData"
allowClear
:load-data="onLoadData"
:dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
tree-checkable
......@@ -72,6 +71,8 @@ export default {
return {
labelCol: { span: 4 },
wrapperCol: { span: 20 },
selectAreaList: [], // 区域绑定数据
changeSelect: [], // 区域数选择发生改变时的数据
form: {
loginName: undefined,
loginPwd: undefined,
......@@ -148,18 +149,34 @@ export default {
// 编辑
onEdit(row) {
this.form = { ...row };
this.form.areaNames = this.form.areaNames.split(",");
// this.form.areaCodes = this.form.areaCodes.split(",");
this.form.areaNames = JSON.parse(this.form.areaNames);
if (this.form.areaNames.length) {
this.selectAreaList = this.form.areaNames.map((v) => v.label);
} else {
this.selectAreaList = [];
}
this.form.areaCodes = this.form.areaCodes.split(",");
this.form.loginPwd && this.$delete(this.form, "loginPwd");
},
onSubmit() {
console.log(this.form.areaCodes);
this.$refs.ruleForm.validate(async (valid) => {
if (valid) {
let hash = {};
this.form.areaNames = [...this.form.areaNames, ...this.changeSelect]
.filter((item) => {
return this.selectAreaList.some((v) => v === item.label);
})
.reduce(function (item, next) {
hash[next.areaCode]
? ""
: (hash[next.areaCode] = true && item.push(next));
return item;
}, []);
let res = await userSave({
...this.form,
areaNames: this.form.areaNames.join(","),
// areaCodes: this.form.areaCodes.join(","),
areaNames: JSON.stringify(this.form.areaNames),
areaCodes: this.form.areaNames.map((v) => v.areaCode).join(","),
});
let { code, msg } = res;
if (code === 1) {
......@@ -176,20 +193,19 @@ export default {
// 选中树节点
handleSelect(value, node, extra) {
let { allCheckedNodes } = extra;
console.log(extra);
let arr = allCheckedNodes.map((v) => {
this.changeSelect = allCheckedNodes.map((v) => {
if (v.node) {
return v.node.data.props.areaCode;
return {
areaCode: v.node.data.props.areaCode,
label: v.node.data.props.label,
};
} else {
return v.data.props.areaCode;
return {
areaCode: v.data.props.areaCode,
label: v.data.props.label,
};
}
});
if (arr.length) {
this.form.areaCodes = arr.join(",");
} else {
this.form.areaCodes = "";
}
console.log(this.form.areaCodes);
},
},
};
......
......@@ -16,7 +16,7 @@
>
<a-form-model-item label="站点授权" prop="areaCodes">
<a-tree-select
v-model="form.areaNames"
v-model="form.areaCodes"
style="width: 100%"
:tree-data="treeData"
allowClear
......@@ -124,7 +124,7 @@ export default {
replaceFields: {
title: "label",
key: "id",
value: "label",
value: "areaCode",
},
};
},
......@@ -180,12 +180,11 @@ export default {
Object.assign(this.form, this.$options.data().form);
},
onSubmit() {
console.log(this.form);
this.$refs.ruleForm.validate(async (valid) => {
if (valid) {
let res = await userSave({
...this.form,
areaNames: this.form.areaNames.join(","),
areaCodes: this.form.areaCodes.join(","),
});
let { code, msg } = res;
if (code === 1) {
......@@ -204,17 +203,22 @@ export default {
let { allCheckedNodes } = extra;
let arr = allCheckedNodes.map((v) => {
if (v.node) {
return v.node.data.props.areaCode;
return {
areaCode: v.node.data.props.areaCode,
label: v.node.data.props.label,
};
} else {
return v.data.props.areaCode;
return {
areaCode: v.data.props.areaCode,
label: v.data.props.label,
};
}
});
if (arr.length) {
this.form.areaCodes = arr.join(",");
this.form.areaNames = JSON.stringify(arr);
} else {
this.form.areaCodes = "";
this.form.areaNames = "";
}
console.log(this.form.areaCodes);
},
},
};
......
......@@ -212,7 +212,6 @@ export default {
this.tablePagination.total = total;
this.userDict = this.transverter(roleId);
this.tableSourceData = data;
console.log(data);
},
// 添加用户
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment