网格树
This commit is contained in:
@@ -97,16 +97,18 @@
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="生效网格" :prop="form.validRangeType == 1 ? 'validRangeData' : ''" :rules="[{ required: true, message: '请选择生效网格', trigger: 'change' }, ]" v-if="form.validRangeType == 1">
|
||||
<el-button type="text" @click="(showGrid = true), beforeSelectTree()" >{{ girdInfoList.length ? "已选择" : "请选择" }}</el-button>
|
||||
<el-button type="text" @click="(showGrid = true), beforeSelectTree()" >{{ girdInfoList.length ? "重新选择" : "请选择" }}</el-button>
|
||||
<div v-if="girdInfoList.length">
|
||||
<span v-for="(e,index) in girdNameList" :key="index" style="margin-right: 8px;">{{e}}</span>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<ai-dialog title="选择网格" :visible.sync="showGrid" :customFooter="true" :destroyOnClose="true" border width="720px" append-to-body>
|
||||
<div class="grid">
|
||||
<el-tree :data="treeObj.treeList" :props="treeObj.defaultProps" node-key="id" ref="tree"
|
||||
show-checkbox lazy :load="loadNode" :default-checked-keys="currCheckedKeys" @check="onCheckChange">
|
||||
show-checkbox lazy :check-strictly="true" :load="loadNode" :default-checked-keys="currCheckedKeys" @check="onCheckChange">
|
||||
</el-tree>
|
||||
<!-- :default-expand-all="true" :check-strictly="true" :check-strictly="true" -->
|
||||
</div>
|
||||
<div class="dialog-footer" slot="footer">
|
||||
<el-button size="medium" @click="showGrid = false">取消</el-button>
|
||||
@@ -210,7 +212,7 @@ export default {
|
||||
scoringCycle: [
|
||||
{ required: true, message: "请选择周期范围", trigger: "change" },
|
||||
],
|
||||
integral: [{required: true, validator: validcode,trigger: "blur"},],
|
||||
integral: [{required: true, validator: validcode, trigger: "blur"},],
|
||||
validRangeType: [
|
||||
{ required: true, message: "请选择有效范围", trigger: "change" },
|
||||
],
|
||||
@@ -236,7 +238,7 @@ export default {
|
||||
girdInfoList: [],
|
||||
currCheckedKeys: [],
|
||||
rulueType: "0",
|
||||
// tree12: []
|
||||
girdNameList: [],
|
||||
};
|
||||
},
|
||||
created() {
|
||||
@@ -281,7 +283,10 @@ export default {
|
||||
},
|
||||
toEdit(row) {
|
||||
this.form = {...row}
|
||||
this.girdInfoList = this.form?.validRangeData?.split(",");
|
||||
if(this.form?.validRangeData) {
|
||||
this.girdInfoList = JSON.parse(this.form.validRangeData)
|
||||
this.girdNameList = this.girdInfoList.map(e=>e.girdName)
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
this.dialog = true;
|
||||
});
|
||||
@@ -422,18 +427,23 @@ export default {
|
||||
if (!this.$refs.tree.getCheckedNodes().length) {
|
||||
return this.$message.error("请选择网格");
|
||||
}
|
||||
// console.log(this.girdInfoList, this.$refs.tree.getCheckedNodes());
|
||||
|
||||
this.girdInfoList = this.$refs.tree.getCheckedNodes().map((item) => {
|
||||
return { ...item, checkType: true };
|
||||
});
|
||||
// this.$set(this.girdInfoList, this.currIndex, {
|
||||
// ...this.$refs.tree.getCheckedNodes(),
|
||||
// checkType: true
|
||||
// })
|
||||
this.form.validRangeData = this.$refs.tree
|
||||
.getCheckedNodes()
|
||||
.map((e) => e.id)
|
||||
.toString();
|
||||
|
||||
|
||||
|
||||
let validRangeData = this.$refs.tree.getCheckedNodes().map((e) => {
|
||||
return {
|
||||
id: e.id,
|
||||
girdName: e.girdName
|
||||
}
|
||||
}
|
||||
)
|
||||
this.girdNameList = validRangeData.map(e=>e.girdName)
|
||||
this.form.validRangeData = JSON.stringify(validRangeData)
|
||||
|
||||
this.showGrid = false;
|
||||
},
|
||||
|
||||
@@ -449,7 +459,7 @@ export default {
|
||||
});
|
||||
|
||||
this.$nextTick(() => {
|
||||
this.currCheckedKeys = this.girdInfoList;
|
||||
this.currCheckedKeys = this.girdInfoList.map(v=>v.id)
|
||||
this.$nextTick(() => {
|
||||
this.$refs.tree?.setCheckedKeys(this.currCheckedKeys);
|
||||
});
|
||||
@@ -487,10 +497,12 @@ export default {
|
||||
},
|
||||
|
||||
onCheckChange(e) {
|
||||
this.girdInfoList.forEach((v) => {
|
||||
if(v == e.id) {
|
||||
this.girdInfoList.forEach((item) => {
|
||||
if(item.id == e.id) {
|
||||
console.log(111);
|
||||
this.$refs.tree.setChecked(e.id, false);
|
||||
} else {
|
||||
console.log(222);
|
||||
this.$refs.tree.setChecked(e.id, true);
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user