Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
cms-admin
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
cms-admin
Commits
e3376ebb
提交
e3376ebb
authored
5月 14, 2021
作者:
pengxiaohui
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
设置模块接口调试
上级
1b59626c
全部展开
显示空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
115 行增加
和
39 行删除
+115
-39
settings.js
src/api/settings.js
+16
-3
index.vue
src/pages/settings/project/index.vue
+97
-34
index.vue
src/pages/settings/role/index.vue
+2
-2
index.vue
src/pages/settings/staff/index.vue
+0
-0
没有找到文件。
src/api/settings.js
浏览文件 @
e3376ebb
...
@@ -51,10 +51,10 @@ export function createStaff(data) {
...
@@ -51,10 +51,10 @@ export function createStaff(data) {
return
httpRequest
.
post
(
'/api/cms/admin/v1/user/create'
,
data
)
return
httpRequest
.
post
(
'/api/cms/admin/v1/user/create'
,
data
)
}
}
/**
/**
* 更新
角色
* 更新
员工
*/
*/
export
function
updateStaff
(
data
)
{
export
function
updateStaff
(
data
)
{
return
httpRequest
.
put
(
`/api/cms/admin/v1/user/
${
data
.
type
_id
}
/update`
,
data
)
return
httpRequest
.
put
(
`/api/cms/admin/v1/user/
${
data
.
sso
_id
}
/update`
,
data
)
}
}
/* ------------------------------------项目管理------------------------------------ */
/* ------------------------------------项目管理------------------------------------ */
...
@@ -77,8 +77,15 @@ export function createProject(data) {
...
@@ -77,8 +77,15 @@ export function createProject(data) {
* 更新项目
* 更新项目
*/
*/
export
function
updateProject
(
data
)
{
export
function
updateProject
(
data
)
{
return
httpRequest
.
put
(
`/api/cms/admin/v1/project/
${
data
.
type_id
}
/update`
,
data
)
return
httpRequest
.
put
(
`/api/cms/admin/v1/project/
${
data
.
project_id
}
/update`
,
data
)
}
/**
* 删除项目
*/
export
function
deleteProject
(
data
)
{
return
httpRequest
.
delete
(
`/api/cms/admin/v1/project/
${
data
.
project_id
}
/delete`
,
data
)
}
}
/* ------------------------------------类型管理------------------------------------ */
/* ------------------------------------类型管理------------------------------------ */
/**
/**
* 获取类型列表
* 获取类型列表
...
@@ -99,3 +106,9 @@ export function createType(data) {
...
@@ -99,3 +106,9 @@ export function createType(data) {
export
function
updateType
(
data
)
{
export
function
updateType
(
data
)
{
return
httpRequest
.
put
(
`/api/cms/admin/v1/type/
${
data
.
type_id
}
/update`
,
data
)
return
httpRequest
.
put
(
`/api/cms/admin/v1/type/
${
data
.
type_id
}
/update`
,
data
)
}
}
/**
* 获取所有的内容分类
*/
export
function
getContentTypesList
(
params
)
{
return
httpRequest
.
get
(
'/api/cms/admin/v1/type/content-types'
,
{
params
})
}
src/pages/settings/project/index.vue
浏览文件 @
e3376ebb
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
<
template
v-slot:project_id=
"scope"
><span
class=
"details-handle"
@
click=
"handleDetails(scope.row)"
>
{{
scope
.
row
.
id
}}
</span></
template
>
<
template
v-slot:project_id=
"scope"
><span
class=
"details-handle"
@
click=
"handleDetails(scope.row)"
>
{{
scope
.
row
.
id
}}
</span></
template
>
<!-- 状态 -->
<!-- 状态 -->
<
template
v-slot:status=
"{ row }"
>
<
template
v-slot:status=
"{ row }"
>
<el-switch
v-model=
"row.status"
:active-value=
"1"
:inactive-value=
"0"
active-text=
"启用"
inactive-text=
"停用"
></el-switch>
<el-switch
v-model=
"row.status"
:active-value=
"1"
:inactive-value=
"0"
active-text=
"启用"
inactive-text=
"停用"
@
change=
"statusChange(row)"
></el-switch>
</
template
>
</
template
>
</table-list>
</table-list>
<el-drawer
ref=
"drawer"
:visible
.
sync=
"drawerVisible"
size=
"490px"
@
close=
"handleDrawerClose"
>
<el-drawer
ref=
"drawer"
:visible
.
sync=
"drawerVisible"
size=
"490px"
@
close=
"handleDrawerClose"
>
...
@@ -28,7 +28,7 @@
...
@@ -28,7 +28,7 @@
</el-form-item>
</el-form-item>
<el-form-item
label=
"项目类型"
prop=
"type_id"
>
<el-form-item
label=
"项目类型"
prop=
"type_id"
>
<el-select
v-model=
"form.type_id"
placeholder=
"请选择项目类型"
size=
"small"
style=
"width:100%;"
>
<el-select
v-model=
"form.type_id"
placeholder=
"请选择项目类型"
size=
"small"
style=
"width:100%;"
>
<el-option
:label=
"item.
label
"
:value=
"item.id"
v-for=
"item in projectTypeList"
:key=
"item.id"
/>
<el-option
:label=
"item.
name
"
:value=
"item.id"
v-for=
"item in projectTypeList"
:key=
"item.id"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"项目网址"
prop=
"project_uri"
>
<el-form-item
label=
"项目网址"
prop=
"project_uri"
>
...
@@ -38,7 +38,7 @@
...
@@ -38,7 +38,7 @@
<el-checkbox
:indeterminate=
"adType.isIndeterminate"
v-model=
"adType.checkAll"
@
change=
"val => handleCheckAllChange(val, 'adType')"
>
全选
</el-checkbox>
<el-checkbox
:indeterminate=
"adType.isIndeterminate"
v-model=
"adType.checkAll"
@
change=
"val => handleCheckAllChange(val, 'adType')"
>
全选
</el-checkbox>
<div
style=
"margin: 2px 0;"
></div>
<div
style=
"margin: 2px 0;"
></div>
<el-checkbox-group
v-model=
"form.adType"
@
change=
"val => handleCheckedChange(val, 'adType')"
>
<el-checkbox-group
v-model=
"form.adType"
@
change=
"val => handleCheckedChange(val, 'adType')"
>
<el-checkbox
v-for=
"item in
t
ypeList"
:label=
"item.id"
:key=
"item.id"
>
{{item.name}}
</el-checkbox>
<el-checkbox
v-for=
"item in
adT
ypeList"
:label=
"item.id"
:key=
"item.id"
>
{{item.name}}
</el-checkbox>
</el-checkbox-group>
</el-checkbox-group>
</el-form-item>
</el-form-item>
<el-form-item
label=
"文章类型"
style=
"margin-bottom:0;"
>
<el-form-item
label=
"文章类型"
style=
"margin-bottom:0;"
>
...
@@ -66,7 +66,7 @@
...
@@ -66,7 +66,7 @@
</template>
</template>
<
script
>
<
script
>
import
TableList
from
'@/components/TableList'
import
TableList
from
'@/components/TableList'
import
{
getProjectList
,
crea
teProject
}
from
'@/api/settings'
import
{
getProjectList
,
getTypeList
,
getContentTypesList
,
createProject
,
updateProject
,
dele
teProject
}
from
'@/api/settings'
const
defaultForm
=
{
const
defaultForm
=
{
name
:
''
,
name
:
''
,
short_name
:
''
,
short_name
:
''
,
...
@@ -89,9 +89,6 @@ export default {
...
@@ -89,9 +89,6 @@ export default {
{
id
:
'1'
,
name
:
'启用'
},
{
id
:
'1'
,
name
:
'启用'
},
{
id
:
'0'
,
name
:
'停用'
}
{
id
:
'0'
,
name
:
'停用'
}
],
],
projectTypeList
:
[
{
id
:
'111'
,
label
:
'学位教育'
}
],
selectedItem
:
{},
selectedItem
:
{},
drawerVisible
:
false
,
drawerVisible
:
false
,
drawerType
:
''
,
drawerType
:
''
,
...
@@ -102,21 +99,10 @@ export default {
...
@@ -102,21 +99,10 @@ export default {
type_id
:
{
required
:
true
,
message
:
'请输入项目类型'
,
trigger
:
'blur'
},
type_id
:
{
required
:
true
,
message
:
'请输入项目类型'
,
trigger
:
'blur'
},
project_uri
:
{
required
:
true
,
message
:
'请输入项目网址'
,
trigger
:
'blur'
}
project_uri
:
{
required
:
true
,
message
:
'请输入项目网址'
,
trigger
:
'blur'
}
},
},
adTypeList
:
[
projectTypeList
:
[],
{
id
:
'111'
,
name
:
'banner广告A'
},
adTypeList
:
[],
{
id
:
'122'
,
name
:
'正文区广告A'
},
articleTypeList
:
[],
{
id
:
'1331'
,
name
:
'侧边栏广告a'
}
imageTextTypeList
:
[],
],
articleTypeList
:
[
{
id
:
'111'
,
name
:
'banner广告b'
},
{
id
:
'122'
,
name
:
'正文区广告b'
},
{
id
:
'1331'
,
name
:
'侧边栏广告b'
}
],
imageTextTypeList
:
[
{
id
:
'111'
,
name
:
'banner广告c'
},
{
id
:
'122'
,
name
:
'正文区广告c'
},
{
id
:
'1331'
,
name
:
'侧边栏广告c'
}
],
adType
:
{
adType
:
{
isIndeterminate
:
false
,
isIndeterminate
:
false
,
checkAll
:
false
checkAll
:
false
...
@@ -128,7 +114,8 @@ export default {
...
@@ -128,7 +114,8 @@ export default {
imageTextType
:
{
imageTextType
:
{
isIndeterminate
:
false
,
isIndeterminate
:
false
,
checkAll
:
false
checkAll
:
false
}
},
tableSelections
:
[]
}
}
},
},
computed
:
{
computed
:
{
...
@@ -140,7 +127,7 @@ export default {
...
@@ -140,7 +127,7 @@ export default {
let
text
=
''
let
text
=
''
if
(
type
===
'create'
)
text
=
'新建项目'
if
(
type
===
'create'
)
text
=
'新建项目'
else
if
(
type
===
'edit'
)
text
=
'编辑项目'
else
if
(
type
===
'edit'
)
text
=
'编辑项目'
else
text
=
this
.
selectedItem
.
titl
e
||
'项目详情'
else
text
=
this
.
selectedItem
.
nam
e
||
'项目详情'
return
text
return
text
},
},
tableOptions
()
{
tableOptions
()
{
...
@@ -183,6 +170,10 @@ export default {
...
@@ -183,6 +170,10 @@ export default {
}
}
}
}
},
},
created
()
{
this
.
fetchProjectTypeList
()
this
.
fetchContentTypeList
()
},
methods
:
{
methods
:
{
handleCreate
()
{
handleCreate
()
{
this
.
drawerVisible
=
true
this
.
drawerVisible
=
true
...
@@ -192,15 +183,25 @@ export default {
...
@@ -192,15 +183,25 @@ export default {
this
.
selectedItem
=
Object
.
assign
({},
val
)
this
.
selectedItem
=
Object
.
assign
({},
val
)
this
.
drawerVisible
=
true
this
.
drawerVisible
=
true
this
.
drawerType
=
'details'
this
.
drawerType
=
'details'
Object
.
keys
(
this
.
form
).
forEach
(
key
=>
{
const
valItem
=
val
[
key
]
if
(
valItem
)
{
this
.
form
[
key
]
=
valItem
}
})
this
.
form
.
adType
=
val
.
advert_type_ids
this
.
form
.
articleType
=
val
.
article_type_ids
this
.
form
.
imageTextType
=
val
.
imgtext_type_ids
console
.
log
(
this
.
form
)
},
},
handleCheckAllChange
(
val
,
target
)
{
handleCheckAllChange
(
val
,
target
)
{
this
.
form
[
target
]
=
val
?
this
.
typeList
.
map
(
item
=>
item
.
id
)
:
[];
this
.
form
[
target
]
=
val
?
this
[
target
+
'List'
]
.
map
(
item
=>
item
.
id
)
:
[];
this
[
target
].
isIndeterminate
=
false
;
this
[
target
].
isIndeterminate
=
false
;
},
},
handleCheckedChange
(
val
,
target
)
{
handleCheckedChange
(
val
,
target
)
{
const
checkedCount
=
val
.
length
;
const
checkedCount
=
val
.
length
;
this
[
target
].
checkAll
=
checkedCount
===
this
.
typeList
.
length
;
this
[
target
].
checkAll
=
checkedCount
===
this
[
target
+
'List'
]
.
length
;
this
[
target
].
isIndeterminate
=
checkedCount
>
0
&&
checkedCount
<
this
.
typeList
.
length
;
this
[
target
].
isIndeterminate
=
checkedCount
>
0
&&
checkedCount
<
this
[
target
+
'List'
]
.
length
;
},
},
handleDrawerClose
()
{
handleDrawerClose
()
{
this
.
drawerVisible
=
false
this
.
drawerVisible
=
false
...
@@ -209,25 +210,87 @@ export default {
...
@@ -209,25 +210,87 @@ export default {
handleDrawerSubmit
()
{
handleDrawerSubmit
()
{
this
.
$refs
.
drawerForm
.
validate
(
valid
=>
{
this
.
$refs
.
drawerForm
.
validate
(
valid
=>
{
if
(
valid
)
{
if
(
valid
)
{
console
.
log
(
'drawerForm'
)
if
(
this
.
drawerType
===
'create'
)
{
this
.
fetchCreateProject
()
}
else
{
const
data
=
this
.
getFormData
()
data
.
project_id
=
this
.
selectedItem
.
id
this
.
fetchUpdateProject
(
data
)
}
this
.
drawerVisible
=
false
}
else
{
}
else
{
return
false
return
false
}
}
})
})
},
},
selectionChange
(
val
)
{
selectionChange
(
val
)
{
console
.
log
(
val
)
this
.
tableSelections
=
val
.
map
(
item
=>
item
.
id
)
},
},
fetchCreateProject
()
{
statusChange
(
val
)
{
this
.
fetchUpdateProject
({
project_id
:
val
.
id
,
status
:
val
.
status
},
'status'
)
},
getFormData
()
{
const
form
=
this
.
form
const
data
=
{
const
data
=
{
name
:
this
.
form
.
role_name
advert_type_ids
:
form
.
adType
,
article_type_ids
:
form
.
articleType
,
imgtext_type_ids
:
form
.
imageTextType
}
Object
.
keys
(
form
).
forEach
(
key
=>
{
if
(
typeof
key
===
'string'
)
{
data
[
key
]
=
form
[
key
]
}
}
})
return
data
},
fetchCreateProject
()
{
const
data
=
this
.
getFormData
()
createProject
(
data
).
then
((
res
)
=>
{
createProject
(
data
).
then
((
res
)
=>
{
if
(
res
.
code
===
0
&&
res
.
message
===
'SUCCESS'
)
{
if
(
res
.
code
===
0
&&
res
.
message
===
'SUCCESS'
)
{
this
.
fetchRoleList
()
this
.
$message
.
success
(
'新建项目成功'
)
this
.
$message
.
success
(
'创建角色成功'
)
this
.
$refs
.
tabList
.
refetch
()
}
else
{
this
.
$message
.
error
(
res
.
message
||
'新建项目失败'
)
}
})
},
fetchUpdateProject
(
data
,
type
)
{
const
msg
=
type
===
'status'
?
'更改状态'
:
'更改项目'
updateProject
(
data
).
then
((
res
)
=>
{
if
(
res
.
code
===
0
&&
res
.
message
===
'SUCCESS'
)
{
this
.
$message
.
success
(
msg
+
'成功'
)
this
.
$refs
.
tabList
.
refetch
()
}
else
{
this
.
$message
.
error
(
res
.
message
||
msg
+
'失败'
)
}
})
},
fetchDeleteProject
()
{
deleteProject
({
project_id
:
this
.
tableSelections
[
0
]
}).
then
((
res
)
=>
{
if
(
res
.
code
===
0
&&
res
.
data
&&
res
.
data
.
status
)
{
this
.
$message
.
success
(
'删除项目成功'
)
this
.
$refs
.
tabList
.
refetch
()
}
else
{
}
else
{
this
.
$message
.
error
(
'创建角色失败'
)
this
.
$message
.
error
(
res
.
message
||
'删除项目失败'
)
}
})
},
fetchProjectTypeList
()
{
getTypeList
({
type
:
0
,
status
:
1
,
limit
:
100
}).
then
((
res
)
=>
{
if
(
res
.
code
===
0
&&
res
.
data
&&
Array
.
isArray
(
res
.
data
.
data
))
{
this
.
projectTypeList
=
res
.
data
.
data
}
})
},
fetchContentTypeList
()
{
getContentTypesList
().
then
((
res
)
=>
{
if
(
res
.
code
===
0
&&
res
.
data
)
{
this
.
adTypeList
=
res
.
data
.
advert_list
this
.
articleTypeList
=
res
.
data
.
article_list
this
.
imageTextTypeList
=
res
.
data
.
imgtext_list
}
}
})
})
}
}
...
...
src/pages/settings/role/index.vue
浏览文件 @
e3376ebb
...
@@ -256,9 +256,9 @@ export default {
...
@@ -256,9 +256,9 @@ export default {
createRole
(
data
).
then
((
res
)
=>
{
createRole
(
data
).
then
((
res
)
=>
{
if
(
res
.
code
===
0
&&
res
.
message
===
'SUCCESS'
)
{
if
(
res
.
code
===
0
&&
res
.
message
===
'SUCCESS'
)
{
this
.
fetchRoleList
()
this
.
fetchRoleList
()
this
.
$message
.
success
(
'
创
建角色成功'
)
this
.
$message
.
success
(
'
新
建角色成功'
)
}
else
{
}
else
{
this
.
$message
.
error
(
'
创
建角色失败'
)
this
.
$message
.
error
(
'
新
建角色失败'
)
}
}
})
})
},
},
...
...
src/pages/settings/staff/index.vue
浏览文件 @
e3376ebb
差异被折叠。
点击展开。
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论