Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
P
pica.cloud.web-admin-protocol-center
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
Close sidebar
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
com.pica.cloud.education.frontend
pica.cloud.web-admin-protocol-center
提交
557d0c82
提交
557d0c82
编写于
10月 09, 2019
作者:
guangjun.yang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
整理代码
上级
96adea71
变更
2
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
0 行增加
和
616 行删除
+0
-616
item-role.vue
src/views/system-old/item-role.vue
+0
-396
role.vue
src/views/system-old/role.vue
+0
-220
未找到文件。
src/views/system-old/item-role.vue
已删除
100644 → 0
浏览文件 @
96adea71
<
template
>
<div
class=
"item-role-wrap"
>
<bread-crumb
:curmbFirst=
"curmbFirst"
:curmbSecond=
"curmbSecond"
:curmbThird=
"curmbThird"
></bread-crumb>
<div
class=
"component-content screenSet"
id=
"screenSet"
>
<div
class=
"header-title"
>
查询条件
</div>
<el-row
:gutter=
"30"
class=
"row"
type=
"flex"
style=
"margin-top: 10px;"
>
<el-form
:model=
"formInline"
ref=
"formInline"
label-width=
"75px"
class=
"form-inline"
>
<el-col
:span=
"5"
>
<el-form-item
label=
"姓名:"
>
<el-input
size=
"small"
v-model=
"formInline.userName"
placeholder=
"请输入名称"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"角色:"
>
<el-select
size=
"small"
v-model=
"formInline.projeceRole"
placeholder=
"请选择角色"
>
<el-option
v-for=
"(item, index) in roleList"
:key=
"index"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"所属机构:"
>
<el-select
size=
"small"
v-model=
"formInline.organizationName"
placeholder=
"请选择所属机构"
>
<el-option
v-for=
"(item, index) in organizationList"
:key=
"index"
:label=
"item"
:value=
"item"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"所属科室:"
>
<el-select
size=
"small"
v-model=
"formInline.departmentsName"
placeholder=
"请选择所属科室"
>
<el-option
v-for=
"(item, index) in departmentsList"
:key=
"index"
:label=
"item"
:value=
"item"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"4"
style=
"padding:0;text-align:right;padding-right:10px;"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"searchList()"
>
查询
</el-button>
<el-button
type=
"default"
size=
"small"
@
click=
"resetForm('formInline')"
style=
"margin-left:0;"
>
重置
</el-button>
</el-col>
</el-form>
</el-row>
<el-table
:data=
"tableData"
style=
"width: 100%"
>
<el-table-column
prop=
"userId"
label=
"用户ID"
align=
"center"
></el-table-column>
<el-table-column
prop=
"userName"
label=
"姓名"
align=
"center"
></el-table-column>
<el-table-column
prop=
"projeceRole"
label=
"角色"
align=
"center"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
projeceRole
|
projeceRoleType
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"organizationName"
label=
"所属机构"
align=
"center"
></el-table-column>
<el-table-column
prop=
"departmentsName"
label=
"科室"
align=
"center"
></el-table-column>
<el-table-column
fixed=
"right"
label=
"操作"
width=
"300"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"primary"
size=
"small"
v-show=
"showButton(scope.row,'L2')"
@
click=
"openDialog(scope.row,'L2')"
>
升级项目负责人
</el-button>
<el-button
type=
"primary"
size=
"small"
v-show=
"showButton(scope.row,'L3')"
@
click=
"openDialog(scope.row,'L3')"
>
升级次级负责人
</el-button>
<el-button
type=
"primary"
size=
"small"
v-show=
"showButton(scope.row,'L0')"
@
click=
"openDialog(scope.row,'L0')"
>
降为普通用户
</el-button>
</
template
>
</el-table-column>
<div
slot=
"empty"
>
<div
class=
"table-empty"
>
<img
src=
"../../assets/image/no-content1.png"
>
<p>
没有查询到相关结果
</p>
</div>
</div>
</el-table>
<div
class=
"pagination"
>
<el-pagination
background
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"formInline.pageNo"
:page-sizes=
"[10, 20, 30, 100]"
:page-size=
"formInline.pageSize"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"totalRows"
></el-pagination>
</div>
<el-dialog
title
:visible
.
sync=
"dialog.show"
width=
"30%"
center
>
<p
v-if=
"numL3 > 1"
class=
"dialog-p"
>
确认将{{ dialog.role }}
<span
class=
"user-name"
>
"{{ dialog.name }}"
</span>
{{ dialog.option }}吗?"
</p>
<p
v-else
>
该用户为此机构仅有的次级负责人,确认需要降级吗?
</p>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"default"
size=
"small"
@
click=
"dialog.show = false"
>
取消
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"changeRole()"
>
确定
</el-button>
</span>
</el-dialog>
<el-dialog
title
:visible
.
sync=
"dialogFull"
width=
"30%"
center
>
<p
class=
"dialog-p"
>
无法操作,项目负责人已满
<span
class=
"user-name"
>
5人
</span>
</p>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"default"
size=
"small"
@
click=
"dialogFull = false"
>
取消
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"dialogFull = false"
>
确定
</el-button>
</span>
</el-dialog>
</div>
</div>
</template>
<
script
>
import
BreadCrumb
from
"../../components/breadcrumb.vue"
;
import
{
create
}
from
"domain"
;
import
{
openLoading
,
closeLoading
}
from
"../../utils/utils"
;
import
*
as
commonUtil
from
'../../utils/utils'
let
vm
=
null
;
export
default
{
components
:
{
BreadCrumb
},
data
()
{
const
item
=
{
userId
:
"298490"
,
userName
:
"李雪"
,
projeceRole
:
"L0"
,
organizationName
:
"浙江省人民医院"
,
departmentsName
:
"外科"
};
return
{
curmbFirst
:
"系统管理"
,
curmbSecond
:
"角色管理"
,
curmbThird
:
"项目角色"
,
tableData
:
[],
loading
:
true
,
timingTime
:
""
,
totalRows
:
0
,
currentPage
:
1
,
formInline
:
{
portalProjectId
:
""
,
pageNo
:
1
,
pageSize
:
10
,
departmentsName
:
""
,
organizationName
:
""
,
projeceRole
:
""
,
userName
:
""
},
departmentsList
:
[],
organizationList
:
[],
roleList
:
[
{
label
:
"内部管理员"
,
value
:
"L1"
},
{
label
:
"项目负责人"
,
value
:
"L2"
},
{
label
:
"次级负责人"
,
value
:
"L3"
},
{
label
:
"普通用户"
,
value
:
"L0"
}
],
numL2
:
0
,
numL3
:
0
,
dialog
:
{
show
:
false
,
role
:
"项目负责人"
,
name
:
"李雷"
,
option
:
"升级为项目负责人"
,
full
:
false
},
dialogFull
:
false
,
scopeRow
:
{},
activeUser
:
''
,
};
},
created
()
{
vm
=
this
;
this
.
queryRoleList
();
},
// 挂载到Dom完成时
mounted
:
function
()
{
commonUtil
.
resizeHeight
();
},
methods
:
{
searchList
()
{
this
.
formInline
.
pageNo
=
1
;
this
.
queryRoleList
();
},
//查询用户列表
queryRoleList
()
{
this
.
formInline
.
portalProjectId
=
vm
.
getUrlSearch
(
window
.
location
.
href
,
"portalProjectId"
);
if
(
this
.
formInline
.
portalProjectId
==
null
)
{
this
.
formInline
.
portalProjectId
=
""
;
}
let
req
=
{};
req
=
this
.
formInline
;
openLoading
(
vm
);
vm
.
GET
(
"portal/portalProjectOrRole/queryRoleList"
,
req
).
then
(
res
=>
{
closeLoading
(
vm
);
if
(
res
.
code
==
"000000"
)
{
vm
.
tableData
=
res
.
data
.
projectRoleInfoModels
;
vm
.
totalRows
=
res
.
data
.
total
;
vm
.
activeUser
=
res
.
data
.
activeUser
;
console
.
log
(
'activeUser'
,
vm
.
activeUser
);
//this.roleList = setRoleList(res.data.roleList);
this
.
organizationList
=
res
.
data
.
organizationList
;
this
.
departmentsList
=
res
.
data
.
departmentsList
;
this
.
numL2
=
res
.
data
.
numL2
;
this
.
numL3
=
res
.
data
.
numL3
;
}
});
},
//改变等级
changeRole
()
{
let
req
=
{
portalProjectId
:
this
.
formInline
.
portalProjectId
,
updateL
:
this
.
scopeRow
.
updateL
,
userId
:
this
.
scopeRow
.
userId
,
numL2
:
this
.
numL2
,
nowL
:
this
.
scopeRow
.
projeceRole
};
vm
.
GET
(
"portal/portalProjectOrRole/roleLevelUpdate"
,
req
).
then
(
res
=>
{
this
.
dialog
.
show
=
false
;
if
(
res
.
code
==
"000000"
)
{
console
.
log
(
res
);
this
.
queryRoleList
();
}
vm
.
$message
({
type
:
'info'
,
message
:
res
.
message
,
})
});
},
handleSizeChange
(
val
)
{
console
.
log
(
`每页
${
val
}
条`
);
this
.
formInline
.
pageSize
=
val
;
},
handleCurrentChange
(
val
)
{
console
.
log
(
`当前页:
${
val
}
`
);
this
.
formInline
.
pageNo
=
val
;
this
.
queryRoleList
();
},
//重置表单
resetForm
()
{
vm
.
formInline
=
Object
.
assign
(
{},
{
portalProjectId
:
""
,
pageNo
:
1
,
pageSize
:
10
,
departmentsName
:
""
,
organizationName
:
""
,
projeceRole
:
""
,
userName
:
""
}
);
vm
.
queryRoleList
();
},
//按钮展示情况
showButton
(
row
,
projeceRole
)
{
let
flag
=
false
;
if
(
vm
.
activeUser
==
"L1"
)
{
//当前内部管理员
if
(
row
.
projeceRole
==
"L2"
)
{
if
(
projeceRole
==
"L0"
)
{
flag
=
true
;
}
}
else
if
(
row
.
projeceRole
==
"L3"
)
{
if
(
projeceRole
==
"L2"
||
projeceRole
==
"L0"
)
{
flag
=
true
;
}
}
else
if
(
row
.
projeceRole
==
"L0"
)
{
if
(
projeceRole
==
"L2"
||
projeceRole
==
"L3"
)
{
flag
=
true
;
}
}
}
else
if
(
vm
.
activeUser
==
"L2"
)
{
//当前项目负责人
if
(
row
.
projeceRole
==
"L3"
)
{
if
(
projeceRole
==
"L2"
||
projeceRole
==
"L0"
)
{
flag
=
true
;
}
}
else
if
(
row
.
projeceRole
==
"L0"
)
{
if
(
projeceRole
==
"L2"
||
projeceRole
==
"L3"
)
{
flag
=
true
;
}
}
}
else
if
(
vm
.
activeUser
==
"L3"
)
{
//当前次级负责人
if
(
row
.
projeceRole
==
"L0"
)
{
if
(
projeceRole
==
"L3"
)
{
flag
=
true
;
}
}
}
return
flag
;
},
//打开弹出框
openDialog
(
row
,
projeceRole
)
{
console
.
log
(
row
);
if
(
projeceRole
==
"L2"
&&
this
.
numL2
>=
5
)
{
this
.
dialogFull
=
true
;
}
else
{
this
.
dialog
.
show
=
true
;
}
this
.
dialog
.
name
=
row
.
userName
;
this
.
scopeRow
=
row
;
this
.
scopeRow
.
updateL
=
projeceRole
;
if
(
row
.
projeceRole
==
"L2"
)
{
this
.
dialog
.
role
=
"项目负责人"
;
if
(
projeceRole
==
"L0"
)
{
this
.
dialog
.
option
=
"降级为普通用户"
;
}
}
else
if
(
row
.
projeceRole
==
"L3"
)
{
this
.
dialog
.
role
=
"次级负责人"
;
if
(
projeceRole
==
"L2"
)
{
this
.
dialog
.
option
=
"升级为项目负责人"
;
}
else
if
(
projeceRole
==
"L0"
)
{
this
.
dialog
.
option
=
"降级为普通用户"
;
}
}
else
if
(
row
.
projeceRole
==
"L0"
)
{
this
.
dialog
.
role
=
"普通用户"
;
if
(
projeceRole
==
"L2"
)
{
this
.
dialog
.
option
=
"升级为项目负责人"
;
}
else
if
(
projeceRole
==
"L3"
)
{
this
.
dialog
.
option
=
"升级为次级负责人"
;
}
}
}
}
};
</
script
>
<
style
lang=
"scss"
>
.item-role-wrap
{
.component-content
{
padding
:
10px
;
background
:
#fff
;
.form-inline
{
margin-left
:
30px
;
}
.header-title
{
padding
:
10px
12px
;
font-size
:
12px
;
color
:
#449284
;
border-bottom
:
1px
solid
#efefef
;
}
.dialog-p
{
text-align
:
center
;
span
{
color
:
#449284
;
}
}
.table-empty
{
img
{
width
:
100px
;
}
p
{
margin-top
:
-50px
;
}
}
}
}
</
style
>
\ No newline at end of file
src/views/system-old/role.vue
已删除
100644 → 0
浏览文件 @
96adea71
<
template
>
<div
class=
"role-wrap"
>
<bread-crumb
:curmbFirst=
"curmbFirst"
:curmbSecond=
"curmbSecond"
></bread-crumb>
<div
class=
"component-content screenSet"
id=
"screenSet"
>
<div
class=
"header-title"
>
查询条件
</div>
<el-row
:gutter=
"30"
class=
"row"
type=
"flex"
style=
"margin-top: 10px;"
>
<el-form
ref=
"formInline"
:model=
"formInline"
label-width=
"75px"
style=
"width:100%;"
>
<el-col
:span=
"6"
>
<el-form-item
label=
"项目名称:"
>
<el-input
v-model=
"formInline.projectName"
size=
"small"
placeholder=
"请输入项目名称"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"项目时间:"
>
<el-date-picker
v-model=
"formInline.projectBegintime"
size=
"small"
type=
"datetime"
placeholder=
"请选择开始时间"
value-format=
"yyyy-MM-dd HH:mm:ss"
:picker-options=
"pickerOptions0"
></el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
"~"
>
<el-date-picker
v-model=
"formInline.projectEndtime"
size=
"small"
type=
"datetime"
placeholder=
"请选择结束时间"
value-format=
"yyyy-MM-dd HH:mm:ss"
:picker-options=
"pickerOptions1"
default-time=
"23:59:59"
></el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"8"
style=
"padding:0;text-align:right;padding-right:15px;"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"searchList"
>
查询
</el-button>
<el-button
type=
"default"
size=
"small"
@
click=
"resetForm"
style=
"margin-left:0;"
>
重置
</el-button>
</el-col>
</el-form>
</el-row>
<el-table
:data=
"tableData"
style=
"width: 100%"
>
<el-table-column
prop=
"id"
label=
"ID编号"
min-width=
"100"
align=
"center"
></el-table-column>
<el-table-column
prop=
"projectName"
label=
"项目名称"
min-width=
"100"
align=
"center"
></el-table-column>
<el-table-column
prop=
"createdName"
label=
"创建人"
align=
"center"
></el-table-column>
<el-table-column
prop=
"projectIntro"
label=
"项目简介"
align=
"center"
min-width=
"100"
show-overflow-tooltip
></el-table-column>
<el-table-column
prop=
"projectBegintime"
label=
"项目开始时间"
align=
"center"
></el-table-column>
<el-table-column
prop=
"projectEndtime"
label=
"项目结束时间"
align=
"center"
></el-table-column>
<el-table-column
prop=
"projectStatus"
label=
"状态"
align=
"center"
>
<template
slot-scope=
"scope"
>
<span>
{{
[
scope
.
row
.
projectStatus
,
idType
]
|
statusProject
}}
</span>
</
template
>
</el-table-column>
<el-table-column
fixed=
"right"
label=
"操作"
width=
"200"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"toPage(scope.row)"
>
查看项目人员
</el-button>
</
template
>
</el-table-column>
<div
slot=
"empty"
>
<div
class=
"table-empty"
>
<img
src=
"../../assets/image/no-content1.png"
>
<p>
没有查询到相关结果
</p>
</div>
</div>
</el-table>
<div
class=
"pagination"
>
<el-pagination
background
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"formInline.pageNo"
:page-sizes=
"[10, 30, 50, 100]"
:page-size=
"formInline.pageSize"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"totalRows"
></el-pagination>
</div>
</div>
</div>
</template>
<
script
>
import
BreadCrumb
from
"../../components/breadcrumb.vue"
;
import
{
create
}
from
"domain"
;
import
{
mapGetters
}
from
'vuex'
import
{
openLoading
,
closeLoading
}
from
"../../utils/utils"
;
import
*
as
commonUtil
from
"../../utils/utils"
;
let
vm
=
null
;
export
default
{
components
:
{
BreadCrumb
},
data
()
{
return
{
curmbFirst
:
"系统管理"
,
curmbSecond
:
"角色管理"
,
tableData
:
[],
loading
:
false
,
timingTime
:
""
,
currentPage
:
1
,
duringTime
:
0
,
totalRows
:
0
,
formInline
:
{
projectName
:
""
,
projectBegintime
:
""
,
projectEndtime
:
""
,
pageNo
:
1
,
pageSize
:
10
,
type
:
2
},
pickerOptions0
:
{
disabledDate
:
time
=>
{
if
(
this
.
formInline
.
projectEndtime
!=
""
&&
this
.
formInline
.
projectEndtime
!=
null
)
{
return
(
time
.
getTime
()
>
new
Date
(
this
.
formInline
.
projectEndtime
).
getTime
()
);
}
}
},
pickerOptions1
:
{
disabledDate
:
time
=>
{
return
(
time
.
getTime
()
<
new
Date
(
this
.
formInline
.
projectBegintime
).
getTime
()
);
//减去一天的时间代表可以选择同一天;
}
}
};
},
computed
:
{
...
mapGetters
([
"_token"
])
},
created
()
{
vm
=
this
;
vm
.
idType
=
localStorage
.
getItem
(
'storageIdType'
);
console
.
log
(
'idType:'
,
vm
.
idType
);
this
.
search
();
},
// 挂载到Dom完成时
mounted
:
function
()
{
commonUtil
.
resizeHeight
();
},
methods
:
{
searchList
()
{
this
.
formInline
.
pageNo
=
1
;
this
.
search
();
},
search
()
{
let
req
=
{};
//console.log(this.formInline);
req
=
this
.
formInline
;
openLoading
(
vm
);
vm
.
GET
(
"portal/portalInfo/getProjectList"
,
req
).
then
(
res
=>
{
closeLoading
(
vm
);
if
(
res
.
code
==
"000000"
)
{
vm
.
tableData
=
res
.
data
.
data
;
vm
.
totalRows
=
res
.
data
.
totalRows
;
}
});
},
resetForm
()
{
vm
.
formInline
=
Object
.
assign
(
{},
{
projectName
:
""
,
projectBegintime
:
""
,
projectEndtime
:
""
,
duringTime
:
""
,
pageNo
:
1
,
pageSize
:
10
}
);
vm
.
search
();
},
toPage
(
row
)
{
this
.
$router
.
push
(
"item-role?portalProjectId="
+
row
.
id
);
},
handleSizeChange
(
val
)
{
this
.
formInline
.
pageSize
=
val
;
this
.
search
();
console
.
log
(
`每页
${
val
}
条`
);
},
handleCurrentChange
(
val
)
{
this
.
formInline
.
pageNo
=
val
;
this
.
search
();
console
.
log
(
`当前页:
${
val
}
`
);
}
}
};
</
script
>
<
style
lang=
"scss"
>
.role-wrap
{
.component-content
{
padding
:
10px
;
background
:
#fff
;
.header-title
{
padding
:
10px
12px
;
font-size
:
12px
;
color
:
#449284
;
border-bottom
:
1px
solid
#efefef
;
}
.to-right
{
float
:
right
;
}
.add-button
{
float
:
right
;
}
.table-empty
{
img
{
width
:
100px
;
}
p
{
margin-top
:
-50px
;
}
}
}
}
</
style
>
\ No newline at end of file
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录