Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
P
pica.cloud.web-education-admin
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
Close sidebar
动态
分支图
统计图
创建新议题
提交
议题看板
打开侧边栏
jingqi.liu
pica.cloud.web-education-admin
提交
251e03af
提交
251e03af
编写于
3月 29, 2019
作者:
zhentian.jia
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
合并发布
上级
b84306d3
变更
2
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
181 行增加
和
62 行删除
+181
-62
operation.js
src/utils/operation.js
+58
-33
add-manager.vue
src/views/education/add-manager.vue
+123
-29
未找到文件。
src/utils/operation.js
浏览文件 @
251e03af
//求并集
export
function
getUnion
(
a
,
b
)
{
if
(
a
.
constructor
===
Array
&&
b
.
constructor
===
Array
)
{
let
set1
=
new
Set
(
a
);
let
set2
=
new
Set
(
b
);
return
Array
.
from
(
new
Set
([...
set1
,
...
set2
]));
export
function
getUnion
(
a
,
b
)
{
if
(
a
.
constructor
===
Array
&&
b
.
constructor
===
Array
)
{
let
set1
=
new
Set
(
a
);
let
set2
=
new
Set
(
b
);
return
Array
.
from
(
new
Set
([...
set1
,
...
set2
]));
}
return
null
;
}
//求差集
export
function
getDifference
(
a
,
b
)
{
if
(
a
.
constructor
===
Array
&&
b
.
constructor
===
Array
)
{
let
set1
=
new
Set
(
a
);
let
set2
=
new
Set
(
b
);
return
Array
.
from
(
new
Set
([...
set1
].
filter
(
x
=>
!
set2
.
has
(
x
))));
export
function
getDifference
(
a
,
b
)
{
if
(
a
.
constructor
===
Array
&&
b
.
constructor
===
Array
)
{
let
set1
=
new
Set
(
a
);
let
set2
=
new
Set
(
b
);
return
Array
.
from
(
new
Set
([...
set1
].
filter
(
x
=>
!
set2
.
has
(
x
))));
}
return
null
;
}
//求交集
export
function
getIntersect
(
a
,
b
)
{
if
(
a
.
constructor
===
Array
&&
b
.
constructor
===
Array
)
{
let
set1
=
new
Set
(
a
);
let
set2
=
new
Set
(
b
);
return
Array
.
from
(
new
Set
([...
set1
].
filter
(
x
=>
set2
.
has
(
x
))));
export
function
getIntersect
(
a
,
b
)
{
if
(
a
.
constructor
===
Array
&&
b
.
constructor
===
Array
)
{
let
set1
=
new
Set
(
a
);
let
set2
=
new
Set
(
b
);
return
Array
.
from
(
new
Set
([...
set1
].
filter
(
x
=>
set2
.
has
(
x
))));
}
return
null
;
}
//获取id的list
export
function
getIdList
(
data
)
{
let
list
=
[];
for
(
let
i
=
0
;
i
<
data
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
data
.
length
;
i
++
)
{
list
.
push
(
data
[
i
].
id
);
}
return
list
;
}
//区域
export
function
getDivision
(
data
)
{
if
(
data
===
null
)
{
if
(
data
===
null
)
{
let
empty
=
[];
return
empty
;
}
let
list
=
data
.
split
(
'|'
);
let
num
=
[];
for
(
let
i
=
0
;
i
<
list
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
list
.
length
;
i
++
)
{
num
[
i
]
=
parseInt
(
list
[
i
]);
}
//console.log(list);
...
...
@@ -51,7 +51,7 @@ export function getLevelList(data) {
let
level
=
[];
level
[
0
]
=
{
id
:
'0'
,
label
:
'全部'
,
label
:
'全部
医院等级
'
,
}
for
(
let
i
=
0
;
i
<
data
.
length
;
i
++
)
{
let
obj
=
{
...
...
@@ -63,22 +63,22 @@ export function getLevelList(data) {
//console.log(level);
return
level
;
}
function
inTags
(
id
,
tags
)
{
function
inTags
(
id
,
tags
)
{
let
flag
=
false
;
for
(
let
i
=
0
;
i
<
tags
.
length
;
i
++
)
{
if
(
tags
[
i
].
key
==
id
)
{
for
(
let
i
=
0
;
i
<
tags
.
length
;
i
++
)
{
if
(
tags
[
i
].
key
==
id
)
{
flag
=
true
;
}
}
return
flag
;
}
export
function
inOrganization
(
list
,
id
)
{
export
function
inOrganization
(
list
,
id
)
{
let
flag
=
false
;
if
(
list
.
length
==
0
)
{
if
(
list
.
length
==
0
)
{
flag
=
true
;
}
for
(
let
i
=
0
;
i
<
list
.
length
;
i
++
)
{
if
(
list
[
i
].
id
!=
id
)
{
for
(
let
i
=
0
;
i
<
list
.
length
;
i
++
)
{
if
(
list
[
i
].
id
!=
id
)
{
flag
=
true
;
}
}
...
...
@@ -98,9 +98,9 @@ export function getOrganizationList(data) {
let
list
=
[];
list
[
0
]
=
{
value
:
'0'
,
label
:
'全部'
,
label
:
'全部
机构
'
,
};
for
(
let
i
=
0
;
i
<
data
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
data
.
length
;
i
++
)
{
let
obj
=
{
value
:
data
[
i
].
key
,
label
:
data
[
i
].
name
,
...
...
@@ -114,9 +114,9 @@ export function getHospitalList(data) {
let
list
=
[];
list
[
0
]
=
{
value
:
0
,
label
:
'全部'
,
label
:
'全部
医院
'
,
};
for
(
let
i
=
0
;
i
<
data
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
data
.
length
;
i
++
)
{
let
obj
=
{
value
:
data
[
i
].
id
,
label
:
data
[
i
].
name
,
...
...
@@ -156,8 +156,8 @@ function handlerAction(treeData, selData) {
return
treeData
;
}
function
isValuable
(
val
,
selData
)
{
for
(
let
i
=
0
;
i
<
selData
.
length
;
i
++
)
{
if
(
selData
[
i
][
'value'
].
indexOf
(
val
)
>=
0
)
{
for
(
let
i
=
0
;
i
<
selData
.
length
;
i
++
)
{
if
(
selData
[
i
][
'value'
].
indexOf
(
val
)
>=
0
)
{
return
true
}
}
...
...
@@ -186,12 +186,37 @@ function deleteTreeKey(oData, delKeys) {
})
return
oData
}
function
deleteEmptyChild
(
oData
)
{
oData
=
[...
oData
]
oData
.
forEach
(
elem
=>
{
if
(
elem
.
children
&&
elem
.
children
.
length
==
0
)
{
delete
elem
.
children
}
else
if
(
elem
.
children
)
{
deleteEmptyChild
(
elem
.
children
)
}
})
return
oData
}
function
addEmpty
(
data
)
{
let
after
=
[];
after
[
0
]
=
{
label
:
"全部地区"
,
value
:
"0"
,
}
for
(
let
i
=
0
;
i
<
data
.
length
;
i
++
)
{
after
.
push
(
data
[
i
]);
}
return
after
;
}
export
function
treeHandler
(
treeData
,
selData
)
{
//console.log('treeData',treeData,'selData',selData);
treeData
=
deleteTreeKey
(
treeData
,
[
'status'
,
'disabled'
])
treeData
=
changeTreeKey
(
treeData
,
'id'
,
'value'
)
selData
=
changeTreeKey
(
selData
,
'name'
,
'label'
)
selData
=
changeTreeKey
(
selData
,
'key'
,
'value'
)
let
endData
=
deleteEmptyChild
(
handlerAction
(
treeData
,
selData
));
// console.log(treeData, selData)
return
handlerAction
(
treeData
,
selData
);
//return handlerAction(treeData, selData);
let
returnData
=
addEmpty
(
endData
);
return
returnData
;
}
\ No newline at end of file
src/views/education/add-manager.vue
浏览文件 @
251e03af
...
...
@@ -237,7 +237,7 @@
<el-tab-pane
label=
"设定机构"
name=
"second"
>
<el-form
:inline=
"true"
:model=
"formOrganization"
class=
"demo-form-inline"
>
<el-form-item
label
>
<el-select
<
!--
<
el-select
size=
"mini"
v-model=
"formOrganization.administrativeId"
placeholder=
"全部地区"
...
...
@@ -249,14 +249,14 @@
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
<
!--
<
el-cascader
</el-select>
-->
<el-cascader
v-if=
"idType !== 2"
size=
"mini"
expand-trigger=
"hover"
:options=
"organizationRegion"
v-model=
"formOrganization.administrativeId"
></el-cascader>
-->
v-model=
"formOrganization.administrativeId
List
"
></el-cascader>
</el-form-item>
<el-form-item>
<el-select
size=
"mini"
v-model=
"formOrganization.level"
placeholder=
"全部医院级别"
>
...
...
@@ -619,6 +619,7 @@ export default {
formOrganization
:
{
name
:
""
,
administrativeId
:
"0"
,
administrativeIdList
:
[
'0'
],
level
:
"0"
,
chechAll
:
true
,
pageNum
:
1
,
...
...
@@ -674,6 +675,9 @@ export default {
scopeOfPeopleLast
:
[],
setKindOfOrganizationLast
:
''
,
setKindOfPeopleLast
:
''
,
//搜索类型
searchOrganizationType
:
''
,
searchPeopleType
:
''
,
//选择项目组件 数据
optionsComponent
:
[],
optionsCertificate
:
[],
...
...
@@ -1499,17 +1503,19 @@ export default {
},
//获取勾选树
getCheckedTree
()
{
//let allTree = Object.assign({}, this.treeData[0].children);
// let changedTags = Object.assign({},this.tagsRegion);
// let organizationArea = operationData.treeHandler(this.treeData[0].children,this.tagsRegion);
//console.log('多级树:',organizationArea);
//this.organizationRegion = organizationArea;
//debugger;
//改
this
.
organizationRegion
=
operationData
.
getOrganizationList
(
this
.
tagsRegion
);
//console.log(this.organizationRegion);
if
(
this
.
idType
!=
2
)
{
let
allTree
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
treeData
[
0
].
children
));
let
changedTags
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
tagsRegion
));
let
organizationArea
=
operationData
.
treeHandler
(
allTree
,
changedTags
);
console
.
log
(
'多级树:'
,
organizationArea
);
this
.
organizationRegion
=
organizationArea
;
//debugger;
//改
// this.organizationRegion = operationData.getOrganizationList(
// this.tagsRegion
// );
//console.log(this.organizationRegion);
}
},
//初始化范围树
setTreeData
(
administrative
)
{
...
...
@@ -1968,25 +1974,33 @@ export default {
},
//选择搜索机构方式
searchOrganization
()
{
this
.
formOrganization
.
pageNum
=
1
;
let
searchForm
=
this
.
formOrganization
;
if
(
searchForm
.
administrativeId
==
"0"
&&
searchForm
.
administrativeIdList
[
searchForm
.
administrativeIdList
.
length
-
1
]
==
"0"
&&
searchForm
.
level
==
"0"
&&
searchForm
.
name
==
""
)
{
this
.
searchOrganizationType
=
''
;
this
.
getOrganization
();
}
else
{
this
.
searchOrganizationType
=
'choose'
;
this
.
getOrganizationChoose
();
}
},
//机构搜索
getOrganizationChoose
()
{
// console.log('formOrganization',this.formOrganization);
let
lastNum
=
this
.
formOrganization
.
administrativeIdList
.
length
-
1
let
administrativeIdItem
=
this
.
formOrganization
.
administrativeIdList
[
lastNum
];
console
.
log
(
'多级选中administrativeIdItem:'
,
administrativeIdItem
)
let
req
=
{
projectId
:
this
.
projectId
,
setKind
:
this
.
getKind
(
"administrative"
),
// scope: "000_110",
administrativeId
:
this
.
formOrganization
.
administrativeId
,
//administrativeId: this.formOrganization.administrativeId,
administrativeId
:
administrativeIdItem
,
departmentLevel
:
this
.
formOrganization
.
level
,
organizationName
:
this
.
formOrganization
.
name
,
pageNum
:
this
.
formOrganization
.
pageNum
,
...
...
@@ -2002,6 +2016,37 @@ export default {
if
(
res
.
code
==
"000000"
)
{
this
.
tableOrganization
=
res
.
data
.
organizationList
;
this
.
totalOrganization
=
res
.
data
.
total
;
let
idList
=
operationData
.
getIdList
(
this
.
tableOrganization
);
let
intersect
=
operationData
.
getIntersect
(
idList
,
this
.
changedOrganization
);
this
.
lookedOrganization
=
operationData
.
getUnion
(
this
.
lookedOrganization
,
idList
);
this
.
changedOrganization2
=
operationData
.
getDifference
(
this
.
lookedOrganization
,
this
.
changedOrganization
);
//console.log('全部看过的:',this.lookedOrganization);
if
(
vm
.
checkTableState
.
multipleOrganization
===
""
)
{
if
(
intersect
.
length
==
0
)
{
this
.
initOrganizationStatus
();
}
}
else
if
(
vm
.
checkTableState
.
multipleOrganization
===
true
)
{
let
intersect2
=
operationData
.
getIntersect
(
idList
,
this
.
changedOrganization
);
// console.log('intersect2',intersect2);
if
(
intersect2
.
length
==
0
)
{
this
.
$refs
.
multipleOrganization
.
toggleAllSelection
();
}
}
}
});
},
...
...
@@ -2175,14 +2220,17 @@ export default {
},
//选择搜索机构方式
searchPeople
()
{
this
.
formPerson
.
pageNum
=
1
;
let
searchForm
=
this
.
formPerson
;
if
(
searchForm
.
hospitalId
===
0
&&
searchForm
.
departmentId
===
-
1
&&
searchForm
.
name
==
""
)
{
this
.
searchPeopleType
=
''
;
this
.
getPeople
();
}
else
{
this
.
searchPeopleType
=
'choose'
;
this
.
getPeopleChoose
();
}
},
...
...
@@ -2221,6 +2269,37 @@ export default {
if
(
res
.
code
==
"000000"
)
{
this
.
tablePerson
=
res
.
data
.
people
;
this
.
totalPerson
=
res
.
data
.
total
;
let
idList
=
operationData
.
getIdList
(
this
.
tablePerson
);
let
intersect
=
operationData
.
getIntersect
(
idList
,
this
.
changedPerson
);
this
.
lookedPerson
=
operationData
.
getUnion
(
this
.
lookedPerson
,
idList
);
this
.
changedPerson2
=
operationData
.
getDifference
(
this
.
lookedPerson
,
this
.
changedPerson
);
//console.log('全部看过的:',this.lookedPerson);
if
(
vm
.
checkTableState
.
multiplePerson
===
""
)
{
if
(
intersect
.
length
==
0
)
{
this
.
initPeopleStatus
();
}
debugger
;
}
else
if
(
vm
.
checkTableState
.
multiplePerson
===
true
)
{
let
intersect2
=
operationData
.
getIntersect
(
idList
,
this
.
changedPerson
);
// console.log('intersect2',intersect2);
if
(
intersect2
.
length
==
0
)
{
this
.
$refs
.
multiplePerson
.
toggleAllSelection
();
}
}
}
});
},
...
...
@@ -2292,7 +2371,7 @@ export default {
let
list
=
[];
list
[
0
]
=
{
value
:
-
1
,
label
:
'全部'
,
label
:
'全部
科室
'
,
};
for
(
let
i
=
0
;
i
<
this
.
tableDepartment
.
length
;
i
++
)
{
if
(
this
.
tableDepartment
[
i
].
status
==
1
)
{
...
...
@@ -2313,7 +2392,11 @@ export default {
handleCurrentOrganization
(
val
)
{
//console.log(`当前页: ${val}`);
this
.
formOrganization
.
pageNum
=
val
;
this
.
getOrganization
();
if
(
this
.
searchOrganizationType
==
'choose'
)
{
this
.
getOrganizationChoose
();
}
else
{
this
.
getOrganization
();
}
},
//角色table修改
handleSizePerson
(
val
)
{
...
...
@@ -2323,7 +2406,11 @@ export default {
handleCurrentPerson
(
val
)
{
console
.
log
(
`当前页:
${
val
}
`
);
this
.
formPerson
.
pageNum
=
val
;
this
.
getPeople
();
if
(
this
.
searchPeopleType
==
'choose'
)
{
this
.
getPeopleChoose
();
}
else
{
this
.
getPeople
();
}
},
//行政范围改变更新设定机构和设定人员
updateOrganizationAndPerson
(
allSelectedKeys
)
{
...
...
@@ -2416,9 +2503,9 @@ export default {
.step-content
{
overflow
:
hidden
;
height
:
60px
;
margin-top
:
66px
;
padding
-top
:
15px
;
border-bottom
:
1px
solid
#
ff
f
;
//
margin-top: 66px;
padding
:
15px
0
50px
0
;
border-bottom
:
1px
solid
#
efefe
f
;
.is-text
{
display
:
none
;
}
...
...
@@ -2439,21 +2526,28 @@ export default {
}
.step-num
{
display
:
block
;
margin-top
:
1
.5px
;
font-size
:
12px
;
border
:
2px
solid
#b8babe
;
border
:
1px
solid
#999
!
important
;
border-radius
:
50%
;
width
:
25px
;
height
:
20
px
;
height
:
18
px
;
line-height
:
15px
;
text-align
:
center
;
color
:
#b8babe
;
color
:
#999
;
}
.el-step__title.is-wait
{
color
:
#999
;
}
.el-step__title.is-process
{
color
:
#449284
;
}
.is-finish
{
color
:
#
c0c4cc
;
color
:
#
999
!
important
;
}
.on-step
{
color
:
#
747476
;
border
-color
:
#747476
;
color
:
#
449284
;
border
:
1px
solid
#449284
!
important
;
}
}
.first-step
{
...
...
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录