async submit (form, valid) {
this.editedForm = form
if(valid) {
let params = {...form,...this.searchObj,parent_id: this.handleFunObj.parent_id}
let url = this.title == '新增' ? 'jCI_UnitPartition_create' : 'jCI_UnitPartition_edit'
let res = await this.$api[url](params)
this.$success(`${this.title == '新增' ? '新增成功' : '编辑成功'}`)
this.$refs.addEditBbook.handleClose()
// this.loading = true
this.loadChildrenMethod('')
}
},
async loadChildrenMethod ({ row }) {
let _this =this
//主要代码
if(row == undefined){ //编辑或新增
if(this.title == '编辑') {
//编辑替换数据( 树)
//found为递归查找,changeChildren为递归改变子级数据
change(this.tableData,'found','')
function change(data,type,changeParent_no) {
for(let val of data){
//递归查找被改变的节点
if (val.id == _this.editedForm.id) {
//找到被改变的节点
val.no = _this.editedForm.no
val.real_no = _this.editedForm.parent_no + '-' + _this.editedForm.no
val.name = _this.editedForm.name
//找到被改变的节点之后,递归改变其子级数据data[0].children
if(data[0].children && data[0].children.length > 0) {
change( data[0].children, 'changeChildren', val.real_no )
}
}else if(type == 'changeChildren') {
//递归被改变的节点data,改变子级数据data[0].children
for(let item of data) {
item.real_no = changeParent_no + '-' + item.no
//继续递归,item.real_no作为下一级的父级no:changeParent_no
if( data[0].children && data[0].children.length >0 ) {
change(data[0].children,'changeChildren', item.real_no)
}
}
} else {
//继续递归查找被改变的节点
if(data[0].children && data[0].children.length > 0) {
change(data[0].children,'found', '')
}
}
}
}
return
}else {
//新增
return
}
}
let params = { ...this.searchObj }
params.parent_id = row.id //用当前点击的id作为父级id请求数据
let res = await this.$api.jCI_UnitPartition_index(params)
let childs = res.result.data
// 异步加载子节点
return new Promise(resolve => {
resolve(childs)
})
},