Commit f3135500 authored by Mac's avatar Mac

1

parent ff0cd97c
......@@ -29,7 +29,7 @@
<q-card-section class="row items-center q-pb-none ">
<div class="text-h6">选择企业成员</div>
<q-space />
<q-btn icon="close" flat round dense v-close-popup />
<q-btn icon="close" flat round dense v-close-popup @click="closeEditOrder" />
</q-card-section>
<q-separator />
<q-card-section class="q-pt-none" style="padding: 20px 0;">
......@@ -47,7 +47,7 @@
<div style="width: 300px; margin: 0 20px;">
<p style="margin: 0 0 20px 0;">已选:</p>
<div class="Approval_yxList">
<li v-for="item in showMember">{{item.DeptName}}
<li v-for="item in newList">{{item.DeptName}}
<i @click="mySetCheckedKeys(item.DeptId)"
class="el-icon-circle-close showMemberIcon"></i>
</li>
......@@ -80,12 +80,12 @@
type: String,
default: '',
},
byval:{
byval: {
type: Array,
default: [],
},
cptype:{//1是列表上使用2 新增使用
type:String,
cptype: {//1是列表上使用2 新增使用
type: String,
default: '1',
}
......@@ -104,14 +104,16 @@
showMember: [],
memberSetCheckedKeys: [],
sysUserKeys: [],
newList:[]
newList: []
}
},
created() {
if(this.byval.length>0){
this.IsShow = true
if (this.byval.length > 0) {
this.memberSetCheckedKeys = [];
this.showMember = JSON.parse(JSON.stringify(this.byval))
this.byval.forEach(x=>{
this.newList = JSON.parse(JSON.stringify(this.byval))
this.byval.forEach(x => {
this.memberSetCheckedKeys.push(x.DeptId)
})
}
......@@ -143,9 +145,9 @@
if (!value) return true;
return data.DeptName.indexOf(value) !== -1;
},
handleNodeChange(data, checked) {
console.log(data,checked)
// console.log(data,checked)
data.IsCheck = checked;
if (data.DataType == 2 && data.IsCheck) { //是员工且选中
let isExsit = false
......@@ -156,11 +158,7 @@
}
})
if (!isExsit) {
this.showMember.push({
DeptName: data.DeptName,
DeptId: data.DeptId,
DataType:data.DataType
})
this.showMember.push(data)
this.memberSetCheckedKeys.push(data.DeptId)
}
} else if (data.DataType == 2 && !data.IsCheck) {
......@@ -175,6 +173,7 @@
if (data.DataType != 2 && data.IsCheck) {
if (this.memberSetCheckedKeys.findIndex(item => item === data.DeptId) == -1) {
this.memberSetCheckedKeys.push(data.DeptId)
this.showMember.push(data)
}
} else if (data.DataType == 2 && !data.IsCheck) {
if (this.memberSetCheckedKeys.findIndex(item => item === data.DeptId) != -1) {
......@@ -183,20 +182,49 @@
this.memberSetCheckedKeys.splice(this.memberSetCheckedKeys.findIndex(item => item === data.ParentId), 1)
}
}
} else if (data.DataType != 2 && !data.IsCheck) {
if (this.memberSetCheckedKeys.findIndex(item => item === data.DeptId) != -1) {
this.showMember.splice(this.showMember.findIndex(item => item.DeptId === data.DeptId), 1)
this.memberSetCheckedKeys.splice(this.memberSetCheckedKeys.findIndex(item => item === data.DeptId), 1)
if (this.showMember.findIndex(item => item.DeptId === data.ParentId) != -1) {
this.memberSetCheckedKeys.splice(this.memberSetCheckedKeys.findIndex(item => item === data.ParentId), 1)
}
}
}
},
btncheck(){//对数据的处理
this.getdataprocess()
btncheck() {//对数据的处理
this.newList = []
// console.log(this.memberList)
this.memberList.forEach(x => {
if (x.IsCheck == true) {
this.newList.push(x)
} else {
this.getChildList(x.ChildList)
}
})
// console.log(this.newList)
},
getdataprocess(){
getChildList(ChildList) {
ChildList.forEach(x => {
if (x.IsCheck == true) {
this.newList.push(x)
} else {
this.getChildList(x.ChildList)
}
})
},
getChildList(x,list){
arrayUnique(arr, id) {//数组去重
var hash = {};
return arr.reduce(function (item, next) {
hash[next[id]] ? '' : hash[next[id]] = true && item.push(next);
return item;
}, []);
},
mySetCheckedKeys(id) {
console.log(id)
console.log(this.memberSetCheckedKeys)
if (this.memberSetCheckedKeys.length == 0)
return
if (id == -1) {
......@@ -205,15 +233,66 @@
}
this.showMember.splice(this.showMember.findIndex(item => item.DeptId === id), 1)
this.memberSetCheckedKeys.splice(this.memberSetCheckedKeys.findIndex(item => item === id), 1)
this.qudiaoziji(id)
console.log(this.memberSetCheckedKeys)
this.newList.splice(this.newList.findIndex(item => item.DeptId === id), 1)
this.$refs.treeUser.setCheckedKeys(this.memberSetCheckedKeys);
},
qudiaoziji(id) {
this.memberList.forEach(x => {
if (x.DeptId == id) {
let obj = []
if (x.ChildList && x.ChildList.length > 0) {
x.ChildList.forEach(j => {
obj.push(j.DeptId)
})
this.memberSetCheckedKeys = this.arrayWeightRemoval(this.memberSetCheckedKeys,obj)
}
} else {
this.qudiaoziji_t(x.ChildList, id)
}
})
},
arrayWeightRemoval(array1,array2) {
//临时数组存放
var tempArray1 = [];//临时数组1
var tempArray2 = [];//临时数组2
for (var i = 0; i < array2.length; i++) {
tempArray1[array2[i]] = true;//将数array2 中的元素值作为tempArray1 中的键,值为true;
}
for (var i = 0; i < array1.length; i++) {
if (!tempArray1[array1[i]]) {
tempArray2.push(array1[i]);//过滤array1 中与array2 相同的元素;
}
}
return tempArray2;
},
qudiaoziji_t(ChildList, id) {
ChildList.forEach(x => {
if (x.DeptId == id) {
let obj = []
if (x.ChildList && x.ChildList.length > 0) {
x.ChildList.forEach(j => {
obj.push(j.DeptId)
})
this.memberSetCheckedKeys = this.arrayWeightRemoval(this.memberSetCheckedKeys,obj)
}
} else {
this.qudiaoziji_t(x.ChildList, id)
}
})
},
//关闭弹窗
closeEditOrder() {
this.$emit('close')
},
saveOrderInfo() {
this.$emit('success',this.showMember,this.cptype)
this.$emit('success', this.newList, this.cptype)
}
}
......
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