Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
confucius
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
罗超
confucius
Commits
54e4e7d9
Commit
54e4e7d9
authored
Sep 18, 2021
by
黄奎
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/confucius
parents
41267782
77e3fb8e
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
283 additions
and
193 deletions
+283
-193
choiceapprovalorbranch.vue
...se/customer/CSChild/components/choiceapprovalorbranch.vue
+283
-193
No files found.
src/pages/enterprise/customer/CSChild/components/choiceapprovalorbranch.vue
View file @
54e4e7d9
...
...
@@ -20,7 +20,6 @@
text-indent
:
15px
;
border-bottom
:
1px
dotted
#eee
;
}
</
style
>
<
template
>
...
...
@@ -30,31 +29,34 @@
<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;"
>
<div
style=
"display: flex;align-items: flex-start;justify-content: space-between;"
>
<div
style=
"width: 300px; margin: 0 20px;"
>
<p
style=
"margin: 0 0 10px 0;display: flex;align-items: center;"
>
选择:
<el-input
style=
"width: 200px;"
placeholder=
"输入关键字进行过滤"
v-model=
"filterText"
>
<p
style=
"margin: 0 0 10px 0;display: flex;align-items: center;"
>
选择:
<el-input
style=
"width: 200px;"
placeholder=
"输入关键字进行过滤"
v-model=
"filterText"
>
</el-input>
</p>
<el-tree
class=
'ApprovalProcessBg'
:filter-node-method=
"filterNode"
:data=
"memberList"
show-checkbox
ref=
"treeUser"
:props=
"defaultProps"
:render-after-expand=
"false"
node-key=
"DeptId
"
@
check-change=
"handleNodeChange"
@
check=
'btncheck'
>
<el-tree
class=
'ApprovalProcessBg'
:filter-node-method=
"filterNode"
:data=
"memberList"
show-checkbox
ref=
"treeUser"
:props=
"defaultProps"
:render-after-expand=
"false
"
node-key=
"DeptId"
@
check-change=
"handleNodeChange"
@
check=
'btncheck'
>
</el-tree>
</div>
<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
}}
<i
@
click=
"mySetCheckedKeys(item.DeptId)"
class=
"el-icon-circle-close showMemberIcon"
></i>
<li
v-for=
"item in newList"
>
{{
item
.
DeptName
}}
<i
@
click=
"mySetCheckedKeys(item.DeptId)"
class=
"el-icon-circle-close showMemberIcon"
></i>
</li>
</div>
</div>
</div>
</q-card-section>
<q-separator
/>
<q-card-actions
align=
"right"
class=
"bg-white"
>
<q-btn
class=
"q-mr-md"
label=
"取消"
@
click=
"closeEditOrder"
/>
...
...
@@ -62,6 +64,7 @@
</q-card-actions>
</q-card>
</q-dialog>
</div>
</
template
>
...
...
@@ -71,6 +74,7 @@
}
from
'../../../../../api/users/user'
export
default
{
props
:
{
outerindex
:
{
type
:
String
,
...
...
@@ -80,11 +84,13 @@
type
:
Array
,
default
:
[],
},
cptype
:
{
//1是列表上使用2 新增使用
cptype
:
{
//1是列表上使用2 新增使用
type
:
String
,
default
:
'1'
,
}
},
data
()
{
return
{
IsShow
:
true
,
...
...
@@ -102,16 +108,19 @@
}
},
created
()
{
this
.
IsShow
=
true
if
(
this
.
byval
.
length
>
0
)
{
this
.
memberSetCheckedKeys
=
[];
this
.
showMember
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
byval
))
this
.
newList
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
byval
))
this
.
byval
.
forEach
(
x
=>
{
this
.
memberSetCheckedKeys
.
push
(
x
.
DeptId
)
})
}
this
.
getMember
()
//部门下面选择员工
this
.
getMember
()
//部门下面选择员工
},
mounted
()
{
},
watch
:
{
filterText
(
val
)
{
...
...
@@ -128,13 +137,17 @@
_this
.
$refs
.
treeUser
.
setCheckedKeys
(
_arr
);
}
}).
catch
(()
=>
{
})
},
filterNode
(
value
,
data
)
{
if
(
!
value
)
return
true
;
return
data
.
DeptName
.
indexOf
(
value
)
!==
-
1
;
},
handleNodeChange
(
data
,
checked
)
{
// console.log(data,checked)
data
.
IsCheck
=
checked
;
if
(
data
.
DataType
==
2
&&
data
.
IsCheck
)
{
//是员工且选中
let
isExsit
=
false
...
...
@@ -145,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
)
{
...
...
@@ -164,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
)
{
...
...
@@ -172,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
)
{
...
...
@@ -194,14 +233,65 @@
}
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
)
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment