Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
P
pica-admin-consultation
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
Close sidebar
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
com.pica.cloud.education.frontend
pica-admin-consultation
提交
54004433
提交
54004433
编写于
1月 13, 2021
作者:
huangwensu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
删除多余的文件
上级
401188a6
变更
9
显示空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
9 行增加
和
3827 行删除
+9
-3827
router.js
src/router/router.js
+9
-44
edit.vue
src/views/IM/waiting-session/edit.vue
+0
-583
add-edit.vue
src/views/discuss/add-edit.vue
+0
-582
index.vue
src/views/discuss/index.vue
+0
-340
question-list.vue
src/views/question-naire/question-list.vue
+0
-990
index.vue
src/views/report/index.vue
+0
-315
reportSet.vue
src/views/report/reportSet.vue
+0
-284
add-edit.vue
src/views/topicManage/add-edit.vue
+0
-306
index.vue
src/views/topicManage/index.vue
+0
-383
未找到文件。
src/router/router.js
浏览文件 @
54004433
import
App
from
'../App'
import
App
from
'../App'
const
home
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/home'
)),
'home'
)
// 等待会话
const
blank
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/blank'
)),
'blank'
)
const
discuss
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/discuss/index.vue'
)),
'index'
)
const
creatDiscuss
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/discuss/add-edit.vue'
)),
'creatDiscuss'
)
const
questionNaire
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/question-naire/question-list.vue'
)),
'questionNaire'
)
const
topicList
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/topicManage/index.vue'
)),
'topicList'
)
const
reportSet
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/report/reportSet.vue'
)),
'reportSet'
)
const
waitingSessionList
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/IM/waiting-session/list.vue'
)),
'waitingSessionList'
)
const
waitingSessionList
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/IM/waiting-session/list.vue'
)),
'waitingSessionList'
)
const
waitingSessionEdit
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/IM/waiting-session/edit.vue'
)),
'waitingSessionEdit'
)
const
searchMessageList
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/IM/search-message/list.vue'
)),
'
waitingSession
List'
)
const
searchMessageList
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/IM/search-message/list.vue'
)),
'
searchMessage
List'
)
const
searchMessageDetail
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/IM/search-message/detail.vue'
)),
'
waitingSessionEdit
'
)
const
searchMessageDetail
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/IM/search-message/detail.vue'
)),
'
searchMessageDetail
'
)
// 当前会话
const
currentSessionIndex
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/IM/current-session/index.vue'
)),
'currentMessageIndex'
)
const
currentSessionIndex
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/IM/current-session/index.vue'
)),
'currentMessageIndex'
)
const
currentSessionDetail
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/IM/current-session/detail.vue'
)),
'currentMessageDetail'
)
const
currentSessionDetail
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/IM/current-session/detail.vue'
)),
'currentMessageDetail'
)
...
@@ -25,13 +16,13 @@ export default [{
...
@@ -25,13 +16,13 @@ export default [{
children
:
[
children
:
[
{
{
path
:
''
,
path
:
''
,
redirect
:
'/
home
'
redirect
:
'/
waiting-session-list
'
},
{
},
{
path
:
'/
waiting-session-list
'
,
path
:
'/
home
'
,
component
:
waitingSessionList
component
:
waitingSessionList
},
{
},
{
path
:
'/waiting-session-
edi
t'
,
path
:
'/waiting-session-
lis
t'
,
component
:
waitingSession
Edi
t
component
:
waitingSession
Lis
t
},
{
},
{
path
:
'/search-message-list'
,
path
:
'/search-message-list'
,
component
:
searchMessageList
component
:
searchMessageList
...
@@ -44,33 +35,7 @@ export default [{
...
@@ -44,33 +35,7 @@ export default [{
},
{
},
{
path
:
'/current-session-detail'
,
path
:
'/current-session-detail'
,
component
:
currentSessionDetail
component
:
currentSessionDetail
},
{
}
path
:
'/questionNaire'
,
component
:
questionNaire
},
{
path
:
'/home'
,
component
:
home
},
{
path
:
'/discuss-list'
,
component
:
discuss
},
{
path
:
'/creat-discuss'
,
component
:
creatDiscuss
},
{
path
:
'/question-naire'
,
component
:
questionNaire
},
{
path
:
'/topic-list'
,
component
:
topicList
},
{
path
:
'/report-set'
,
component
:
reportSet
},
]
]
}]
}]
\ No newline at end of file
src/views/IM/waiting-session/edit.vue
已删除
100644 → 0
浏览文件 @
401188a6
<
template
>
<div
class=
"add-manager-wrap"
>
<bread-crumb
:curmbFirst=
"curmbFirst"
:curmbSecond=
"curmbSecond"
></bread-crumb>
<div
class=
"add-content screenSet"
id=
"screenSet"
>
<div
class=
"discuss-opt"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"100px"
>
<el-form-item
label=
"讨论主题"
required
>
<el-col
:span=
"8"
>
<el-input
v-model=
"form.subject"
size=
"mini"
type=
"textarea"
:maxLength=
"maxTopic"
></el-input>
</el-col>
</el-form-item>
<el-form-item
label=
"分类"
required
>
<el-col
:span=
"8"
>
<el-select
size=
"mini"
v-model=
"form.deriverName"
placeholder=
"请选择"
>
<el-option
v-for=
"item in derivers"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-col>
</el-form-item>
<el-form-item
label=
"内容发布控制"
>
<div>
<span
class=
"label-name"
>
话题
</span>
<el-radio
v-model=
"form.ht"
label=
"1"
>
允许
</el-radio>
<el-radio
v-model=
"form.ht"
label=
"0"
>
不允许
</el-radio>
</div>
<!--
<div>
<span
class=
"label-name"
>
评论
</span>
<el-radio
v-model=
"form.pl"
label=
"1"
>
允许
</el-radio>
<el-radio
v-model=
"form.pl"
label=
"0"
>
不允许
</el-radio>
</div>
-->
<div>
<span
class=
"label-name"
>
回复
</span>
<el-radio
v-model=
"form.displayReplyBtn"
:label=
"1"
>
允许
</el-radio>
<el-radio
v-model=
"form.displayReplyBtn"
:label=
"2"
>
不允许
</el-radio>
<span
class=
"label-name"
>
前端展示数量:
</span>
<el-input-number
v-model=
"form.replyShowNum"
controls-position=
"right"
:min=
"0"
></el-input-number>
<el-checkbox
v-model=
"form.replyOfficial"
style=
"margin-left: 20px"
>
置顶官方回复
</el-checkbox>
</div>
<div>
<span
class=
"label-name"
>
点赞
</span>
<el-radio
v-model=
"form.displayLikeBtn"
:label=
"1"
>
允许
</el-radio>
<el-radio
v-model=
"form.displayLikeBtn"
:label=
"2"
>
不允许
</el-radio>
</div>
</el-form-item>
<el-form-item
label=
"审核规则"
required
>
<div>
<span
class=
"label-name"
>
文字
</span>
<el-radio
v-model=
"form.wz"
label=
"2"
disabled
>
先审后显示
</el-radio>
<el-radio
v-model=
"form.wz"
label=
"4"
disabled
>
后审先显示
</el-radio>
</div>
<div>
<span
class=
"label-name"
>
图片
</span>
<el-radio
v-model=
"form.tp"
label=
"8"
disabled
>
先审后显示
</el-radio>
<el-radio
v-model=
"form.tp"
label=
"16"
disabled
>
后审先显示
</el-radio>
</div>
</el-form-item>
<el-form-item
label=
"开放客群"
required
>
<el-checkbox
label=
"注册用户"
v-model=
"form.isZC"
></el-checkbox>
<el-checkbox
label=
"认证用户"
v-model=
"form.isRZ"
></el-checkbox>
</el-form-item>
<el-form-item
label=
"发布按钮文案"
required
>
<el-row>
<el-col
:span=
"6"
>
<div>
<span
class=
"label-name label-f"
>
话题发布
</span>
<el-input
v-model=
"form.topicBtnText"
size=
"mini"
style=
"width: 100px;"
:maxLength=
"maxBtn"
></el-input>
</div>
</el-col>
<el-col
:span=
"10"
>
<div>
<span
class=
"label-name label-w"
>
输入界面title文案
</span>
<el-input
v-model=
"form.inputTitle"
size=
"mini"
style=
"width: 100px;"
:maxLength=
"5"
></el-input>
</div>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"6"
>
<div>
<span
class=
"label-name label-f"
>
评论发布
</span>
<el-input
v-model=
"form.commentBtnText"
size=
"mini"
style=
"width: 100px;"
:maxLength=
"maxBtn"
></el-input>
</div>
</el-col>
<el-col
:span=
"12"
>
<div>
<span
class=
"label-name label-w"
>
输入界面提示文案
</span>
<el-input
v-model=
"form.inputReminder"
size=
"mini"
style=
"width: 260px;"
:maxLength=
"15"
></el-input>
</div>
</el-col>
</el-row>
</el-form-item>
<el-form-item
label=
"底Bar显示控制"
>
<el-radio
v-model=
"form.displayBar"
:label=
"1"
>
评论+点赞
</el-radio>
<el-radio
v-model=
"form.displayBar"
:label=
"2"
>
仅评论
</el-radio>
<el-radio
v-model=
"form.displayBar"
:label=
"3"
>
无
</el-radio>
</el-form-item>
<el-form-item
label=
"列表排序控制"
>
<el-radio
v-model=
"form.displayListSort"
:label=
"1"
>
综合排序
</el-radio>
<el-radio
v-model=
"form.displayListSort"
:label=
"2"
>
按最新发布时间
</el-radio>
<el-radio
v-model=
"form.displayListSort"
:label=
"3"
>
按最高点赞数
</el-radio>
</el-form-item>
<el-form-item
label=
"话题列表页标题文案"
label-width=
"140px"
>
<div>
<el-input
v-model=
"form.commentListDetails"
size=
"mini"
style=
"width: 100px;"
:maxLength=
"maxBtn"
></el-input>
</div>
</el-form-item>
<el-form-item
label=
"话题详情页话题文案"
label-width=
"140px"
>
<div>
<el-input
v-model=
"form.commentDetails"
size=
"mini"
style=
"width: 100px;"
:maxLength=
"maxBtn"
></el-input>
</div>
</el-form-item>
<el-form-item
label=
"是否仅显示评论区"
label-width=
"110px"
>
<el-radio
v-model=
"form.displayOnlyComment"
:label=
"1"
>
是
</el-radio>
<el-radio
v-model=
"form.displayOnlyComment"
:label=
"2"
>
否
</el-radio>
</el-form-item>
<el-form-item
label=
"备注"
>
<el-col
:span=
"8"
>
<el-input
v-model=
"form.remark"
size=
"mini"
type=
"textarea"
:maxLength=
"maxTopic"
></el-input>
</el-col>
</el-form-item>
</el-form>
<div
class=
"btn-box pdrt20"
>
<el-button
type=
"primary"
size=
"small"
class=
"button-green"
@
click=
"save"
>
保存
</el-button>
<el-button
size=
"small"
class=
"button-white"
@
click=
"goBack"
>
返回
</el-button>
</div>
</div>
</div>
</div>
</
template
>
<
script
>
import
BreadCrumb
from
"@/components/breadcrumb.vue"
;
import
{
doUpload
,
getFilePath
}
from
"@/utils/qiniu-util"
;
import
{
returnData
}
from
"../../mock"
;
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
:
'新建'
,
derivers
:[
{
value
:
'直播'
,
label
:
'直播'
},
{
value
:
'发现'
,
label
:
'发现'
},
{
value
:
'课程'
,
label
:
'课程'
},
{
value
:
'积木'
,
label
:
'积木'
},
],
maxBtn
:
4
,
form
:{
subject
:
''
,
ht
:
'1'
,
wz
:
'4'
,
tp
:
'16'
,
user
:
'1'
,
isZC
:
false
,
isRZ
:
false
,
zc
:
4
,
rz
:
8
,
topicBtnText
:
'发布话题'
,
commentBtnText
:
'发布评论'
,
commentDetails
:
'全部评论'
,
commentListDetails
:
'热门话题'
,
displayTopicBtn
:
true
,
//是否显示发布话题按钮
// displayCommentBtn:true,//是否显示评论按钮
displayReplyBtn
:
1
,
//是否显示回复按钮
displayLikeBtn
:
1
,
//是否显示点赞按钮
remark
:
''
,
deriverName
:
'积木'
,
replyShowNum
:
5
,
replyOfficial
:
false
,
inputTitle
:
'话题发布'
,
inputReminder
:
''
,
displayBar
:
1
,
displayListSort
:
1
,
displayOnlyComment
:
2
},
maxTopic
:
60
,
id
:
0
,
};
},
computed
:
{
...
mapGetters
([
"_token"
,
"idType"
])
},
created
()
{
this
.
id
=
this
.
$route
.
query
.
id
if
(
this
.
id
){
this
.
curmbSecond
=
'编辑'
this
.
getDissById
(
this
.
id
)
}
},
// 挂载到Dom完成时
mounted
:
function
()
{
},
methods
:
{
//返回
goBack
(){
this
.
$router
.
back
(
-
1
)
},
showError
(
str
){
this
.
$message
({
message
:
str
,
type
:
'warning'
});
},
//保存讨论
save
(){
let
visibility
=
0
,
auditRules
=
0
,
_this
=
this
;
if
(
this
.
form
.
isRZ
){
visibility
=
8
}
if
(
this
.
form
.
isZC
){
visibility
=
4
}
if
(
this
.
form
.
isRZ
&&
this
.
form
.
isZC
){
visibility
=
12
}
if
(
this
.
form
.
subject
==
''
){
console
.
log
(
this
.
form
.
subject
)
this
.
showError
(
'请输入讨论主题'
)
return
;
}
if
(
visibility
==
0
){
this
.
showError
(
'请选择开发客群'
);
return
;
}
if
(
this
.
form
.
topicBtnText
==
''
){
this
.
showError
(
'请输入话题发布按钮文字'
);
return
;
}
if
(
this
.
form
.
commentBtnText
==
''
){
this
.
showError
(
'请输入评论发布按钮文字'
);
return
;
}
if
(
this
.
form
.
inputTitle
==
''
){
this
.
showError
(
'请输入输入界面title文案'
);
return
;
}
auditRules
=
Number
(
this
.
form
.
wz
)
+
Number
(
this
.
form
.
tp
)
let
parm
=
{
"auditrules"
:
auditRules
,
"commentbtntext"
:
this
.
form
.
commentBtnText
,
"commentDetails"
:
this
.
form
.
commentDetails
,
'commentListDetails'
:
this
.
form
.
commentListDetails
,
//"deleteflag": 0,
//"derivedid": 0,
"category"
:
this
.
form
.
deriverName
,
// "displaycommentbtn": this.form.pl == 1 ? true : false,
"displaytopicbtn"
:
this
.
form
.
ht
==
1
?
true
:
false
,
"displayReplyBtn"
:
this
.
form
.
displayReplyBtn
,
"displayLikeBtn"
:
this
.
form
.
displayLikeBtn
,
"replyShowNum"
:
this
.
form
.
replyShowNum
,
"replyOfficial"
:
this
.
form
.
replyOfficial
?
1
:
2
,
"inputTitle"
:
this
.
form
.
inputTitle
,
"inputReminder"
:
this
.
form
.
inputReminder
,
"displayBar"
:
this
.
form
.
displayBar
,
"displayListSort"
:
this
.
form
.
displayListSort
,
"displayOnlyComment"
:
this
.
form
.
displayOnlyComment
,
//"id": 0,
"subject"
:
this
.
form
.
subject
,
"topicbtntext"
:
_this
.
form
.
topicBtnText
,
"visibility"
:
visibility
,
"remark"
:
this
.
form
.
remark
}
if
(
this
.
id
){
parm
.
id
=
Number
(
this
.
id
)
this
.
PUT
(
'/interaction/discuss/'
,
parm
).
then
((
res
)
=>
{
// closeLoading(vm)
if
(
res
.
code
==
'000000'
)
{
this
.
$message
({
message
:
'保存成功!'
,
type
:
'success'
});
setTimeout
(()
=>
{
this
.
goBack
()
},
1500
)
}
})
}
else
{
this
.
POST
(
'/interaction/discuss/'
,
parm
).
then
((
res
)
=>
{
// closeLoading(vm)
if
(
res
.
code
==
'000000'
)
{
this
.
$message
({
message
:
'保存成功!'
,
type
:
'success'
});
setTimeout
(()
=>
{
this
.
goBack
()
},
1500
)
}
})
}
},
//获取讨论组件详细
getDissById
(
id
){
this
.
GET
(
'/interaction/discuss/'
+
id
).
then
((
res
)
=>
{
// closeLoading(vm)
if
(
res
.
code
==
'000000'
)
{
this
.
id
=
res
.
data
.
id
this
.
form
.
subject
=
res
.
data
.
subject
this
.
form
.
deriverName
=
res
.
data
.
category
// 发布按钮文案
this
.
form
.
topicBtnText
=
res
.
data
.
topicbtntext
==
null
?
''
:
res
.
data
.
topicbtntext
this
.
form
.
commentBtnText
=
res
.
data
.
commentbtntext
this
.
form
.
inputTitle
=
res
.
data
.
inputTitle
||
'话题发布'
this
.
form
.
inputReminder
=
res
.
data
.
inputReminder
// title文案
this
.
form
.
commentDetails
=
res
.
data
.
commentDetails
this
.
form
.
commentListDetails
=
res
.
data
.
commentListDetails
// 备注
this
.
form
.
remark
=
res
.
data
.
remark
//开放客群
if
(
res
.
data
.
visibility
==
14
||
res
.
data
.
visibility
==
12
){
this
.
form
.
isRZ
=
true
this
.
form
.
isZC
=
true
}
else
if
(
res
.
data
.
visibility
==
6
){
this
.
form
.
isRZ
=
false
this
.
form
.
isZC
=
true
}
else
if
(
res
.
data
.
visibility
==
10
){
this
.
form
.
isRZ
=
true
this
.
form
.
isZC
=
false
}
//审核规则
if
(
res
.
data
.
auditrules
==
18
){
this
.
form
.
wz
=
"2"
this
.
form
.
tp
=
"16"
}
else
if
(
res
.
data
.
auditrules
==
10
){
this
.
form
.
wz
=
"2"
this
.
form
.
tp
=
"8"
}
else
if
(
res
.
data
.
auditrules
==
12
){
this
.
form
.
wz
=
"4"
this
.
form
.
tp
=
"8"
}
else
if
(
res
.
data
.
auditrules
==
20
){
this
.
form
.
wz
=
"4"
this
.
form
.
tp
=
"16"
}
//内容发布控制
this
.
form
.
ht
=
res
.
data
.
displaytopicbtn
?
"1"
:
"0"
// this.form.pl = res.data.displaycommentbtn ? "1" : "0"
this
.
form
.
displayReplyBtn
=
res
.
data
.
displayReplyBtn
this
.
form
.
displayLikeBtn
=
res
.
data
.
displayLikeBtn
this
.
form
.
replyShowNum
=
res
.
data
.
replyShowNum
this
.
form
.
replyOfficial
=
res
.
data
.
replyOfficial
==
1
?
true
:
false
// 底部bar 列表排序 显示评论区
this
.
form
.
displayBar
=
res
.
data
.
displayBar
this
.
form
.
displayListSort
=
res
.
data
.
displayListSort
this
.
form
.
displayOnlyComment
=
res
.
data
.
displayOnlyComment
}
})
}
}
};
</
script
>
<
style
lang=
"scss"
scoped
>
.discuss-opt
{
padding
:
20px
;
.btn-box
{
text-align
:
center
}
.label-name
{
font-size
:
12px
;
color
:
#606266
;
padding-right
:
10px
;
display
:
inline-block
;
}
.label-f
{
width
:
80px
;
}
.label-w
{
width
:
110px
}
.pdrt20
{
padding
:
20px
0
;
}
.el-radio__label
,
.el-checkbox__label
{
font-size
:
12px
;
}
}
.add-manager-wrap
{
.add-content
{
background
:
#fff
;
}
.rim
{
border
:
1px
solid
#dddddd
;
}
.step-content
{
overflow
:
hidden
;
height
:
60px
;
margin-top
:
66px
;
padding-top
:
15px
;
border-bottom
:
1px
solid
#fff
;
.is-text
{
display
:
none
;
}
.el-steps--simple
{
background
:
#fff
;
}
.button-green
{
color
:
#ffffff
;
background
:
#449284
;
border-color
:
#bfdad5
;
border-radius
:
2px
;
}
.button-white
{
color
:
#606266
;
background
:
#ffffff
;
border-color
:
#ecedf1
;
border-radius
:
2px
;
}
.step-num
{
display
:
block
;
font-size
:
12px
;
border
:
2px
solid
#b8babe
;
border-radius
:
50%
;
width
:
25px
;
height
:
20px
;
line-height
:
15px
;
text-align
:
center
;
color
:
#b8babe
;
}
.is-finish
{
color
:
#c0c4cc
;
}
.on-step
{
color
:
#747476
;
border-color
:
#747476
;
}
}
.first-step
{
margin-top
:
20px
;
.bg-uploader
{
img
{
float
:
left
;
}
.bg-img
{
width
:
84px
;
height
:
100px
;
}
.bg-video
{
float
:
left
;
width
:
100px
;
height
:
100px
;
}
.limit-text
{
float
:
left
;
margin-left
:
10px
;
margin-top
:
-10px
;
p
{
font-size
:
12px
;
color
:
#999
;
}
}
}
.el-upload__tip
{
position
:
absolute
;
top
:
-6px
;
left
:
130px
;
}
.choose-button
{
background
:
#fff
;
color
:
#409eff
;
border
:
1px
solid
#409eff
;
}
}
.second-step
{
margin
:
10px
0
0
20px
;
//隐藏树展开
.table-empty
{
img
{
width
:
100px
;
}
p
{
margin-top
:
-50px
;
}
}
.el-tree-node__expand-icon
{
display
:
none
;
}
.el-table__header-wrapper
{
.el-checkbox__inner
{
//display: none;
//visibility: hidden;
}
}
.department
{
margin-top
:
20px
;
border
:
1px
solid
#dddddd
;
}
.
el-tabs__nav-wrap
:
:
after
{
display
:
none
;
}
.el-tabs__active-bar
{
display
:
none
;
}
#tab-first
,
#tab-second
,
#tab-third
{
padding-right
:
0px
;
}
#
tab-first
:
:
after
,
#tab
-
second
::
after
,
#tab
-
third
::
after
{
color
:
#c7cbd2
;
margin-left
:
20px
;
content
:
"•"
;
}
.el-tag
{
margin
:
0
10px
10px
0
;
border
:
1
.3px
solid
#48a8fe
;
color
:
#1e92fe
;
background-color
:
#e7f6fe
;
.el-icon-close
{
width
:
13px
;
height
:
13px
;
line-height
:
13px
;
font-size
:
12px
;
background-color
:
#0486fe
;
border-radius
:
50%
;
color
:
#d4edfe
;
}
}
}
.third-step
{
margin
:
30px
0
0px
30px
;
padding-bottom
:
30px
;
}
}
</
style
>
\ No newline at end of file
src/views/discuss/add-edit.vue
已删除
100644 → 0
浏览文件 @
401188a6
<
template
>
<div
class=
"add-manager-wrap"
>
<bread-crumb
:curmbFirst=
"curmbFirst"
:curmbSecond=
"curmbSecond"
></bread-crumb>
<div
class=
"add-content screenSet"
id=
"screenSet"
>
<div
class=
"discuss-opt"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"100px"
>
<el-form-item
label=
"讨论主题"
required
>
<el-col
:span=
"8"
>
<el-input
v-model=
"form.subject"
size=
"mini"
type=
"textarea"
:maxLength=
"maxTopic"
></el-input>
</el-col>
</el-form-item>
<el-form-item
label=
"分类"
required
>
<el-col
:span=
"8"
>
<el-select
size=
"mini"
v-model=
"form.deriverName"
placeholder=
"请选择"
>
<el-option
v-for=
"item in derivers"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-col>
</el-form-item>
<el-form-item
label=
"内容发布控制"
>
<div>
<span
class=
"label-name"
>
话题
</span>
<el-radio
v-model=
"form.ht"
label=
"1"
>
允许
</el-radio>
<el-radio
v-model=
"form.ht"
label=
"0"
>
不允许
</el-radio>
</div>
<!--
<div>
<span
class=
"label-name"
>
评论
</span>
<el-radio
v-model=
"form.pl"
label=
"1"
>
允许
</el-radio>
<el-radio
v-model=
"form.pl"
label=
"0"
>
不允许
</el-radio>
</div>
-->
<div>
<span
class=
"label-name"
>
回复
</span>
<el-radio
v-model=
"form.displayReplyBtn"
:label=
"1"
>
允许
</el-radio>
<el-radio
v-model=
"form.displayReplyBtn"
:label=
"2"
>
不允许
</el-radio>
<span
class=
"label-name"
>
前端展示数量:
</span>
<el-input-number
v-model=
"form.replyShowNum"
controls-position=
"right"
:min=
"0"
></el-input-number>
<el-checkbox
v-model=
"form.replyOfficial"
style=
"margin-left: 20px"
>
置顶官方回复
</el-checkbox>
</div>
<div>
<span
class=
"label-name"
>
点赞
</span>
<el-radio
v-model=
"form.displayLikeBtn"
:label=
"1"
>
允许
</el-radio>
<el-radio
v-model=
"form.displayLikeBtn"
:label=
"2"
>
不允许
</el-radio>
</div>
</el-form-item>
<el-form-item
label=
"审核规则"
required
>
<div>
<span
class=
"label-name"
>
文字
</span>
<el-radio
v-model=
"form.wz"
label=
"2"
disabled
>
先审后显示
</el-radio>
<el-radio
v-model=
"form.wz"
label=
"4"
disabled
>
后审先显示
</el-radio>
</div>
<div>
<span
class=
"label-name"
>
图片
</span>
<el-radio
v-model=
"form.tp"
label=
"8"
disabled
>
先审后显示
</el-radio>
<el-radio
v-model=
"form.tp"
label=
"16"
disabled
>
后审先显示
</el-radio>
</div>
</el-form-item>
<el-form-item
label=
"开放客群"
required
>
<el-checkbox
label=
"注册用户"
v-model=
"form.isZC"
></el-checkbox>
<el-checkbox
label=
"认证用户"
v-model=
"form.isRZ"
></el-checkbox>
</el-form-item>
<el-form-item
label=
"发布按钮文案"
required
>
<el-row>
<el-col
:span=
"6"
>
<div>
<span
class=
"label-name label-f"
>
话题发布
</span>
<el-input
v-model=
"form.topicBtnText"
size=
"mini"
style=
"width: 100px;"
:maxLength=
"maxBtn"
></el-input>
</div>
</el-col>
<el-col
:span=
"10"
>
<div>
<span
class=
"label-name label-w"
>
输入界面title文案
</span>
<el-input
v-model=
"form.inputTitle"
size=
"mini"
style=
"width: 100px;"
:maxLength=
"5"
></el-input>
</div>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"6"
>
<div>
<span
class=
"label-name label-f"
>
评论发布
</span>
<el-input
v-model=
"form.commentBtnText"
size=
"mini"
style=
"width: 100px;"
:maxLength=
"maxBtn"
></el-input>
</div>
</el-col>
<el-col
:span=
"12"
>
<div>
<span
class=
"label-name label-w"
>
输入界面提示文案
</span>
<el-input
v-model=
"form.inputReminder"
size=
"mini"
style=
"width: 260px;"
:maxLength=
"15"
></el-input>
</div>
</el-col>
</el-row>
</el-form-item>
<el-form-item
label=
"底Bar显示控制"
>
<el-radio
v-model=
"form.displayBar"
:label=
"1"
>
评论+点赞
</el-radio>
<el-radio
v-model=
"form.displayBar"
:label=
"2"
>
仅评论
</el-radio>
<el-radio
v-model=
"form.displayBar"
:label=
"3"
>
无
</el-radio>
</el-form-item>
<el-form-item
label=
"列表排序控制"
>
<el-radio
v-model=
"form.displayListSort"
:label=
"1"
>
综合排序
</el-radio>
<el-radio
v-model=
"form.displayListSort"
:label=
"2"
>
按最新发布时间
</el-radio>
<el-radio
v-model=
"form.displayListSort"
:label=
"3"
>
按最高点赞数
</el-radio>
</el-form-item>
<el-form-item
label=
"话题列表页标题文案"
label-width=
"140px"
>
<div>
<el-input
v-model=
"form.commentListDetails"
size=
"mini"
style=
"width: 100px;"
:maxLength=
"maxBtn"
></el-input>
</div>
</el-form-item>
<el-form-item
label=
"话题详情页话题文案"
label-width=
"140px"
>
<div>
<el-input
v-model=
"form.commentDetails"
size=
"mini"
style=
"width: 100px;"
:maxLength=
"maxBtn"
></el-input>
</div>
</el-form-item>
<el-form-item
label=
"是否仅显示评论区"
label-width=
"110px"
>
<el-radio
v-model=
"form.displayOnlyComment"
:label=
"1"
>
是
</el-radio>
<el-radio
v-model=
"form.displayOnlyComment"
:label=
"2"
>
否
</el-radio>
</el-form-item>
<el-form-item
label=
"备注"
>
<el-col
:span=
"8"
>
<el-input
v-model=
"form.remark"
size=
"mini"
type=
"textarea"
:maxLength=
"maxTopic"
></el-input>
</el-col>
</el-form-item>
</el-form>
<div
class=
"btn-box pdrt20"
>
<el-button
type=
"primary"
size=
"small"
class=
"button-green"
@
click=
"save"
>
保存
</el-button>
<el-button
size=
"small"
class=
"button-white"
@
click=
"goBack"
>
返回
</el-button>
</div>
</div>
</div>
</div>
</
template
>
<
script
>
import
BreadCrumb
from
"../../components/breadcrumb.vue"
;
import
{
doUpload
,
getFilePath
}
from
"../../utils/qiniu-util"
;
import
{
returnData
}
from
"../mock"
;
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
:
'新建'
,
derivers
:[
{
value
:
'直播'
,
label
:
'直播'
},
{
value
:
'发现'
,
label
:
'发现'
},
{
value
:
'课程'
,
label
:
'课程'
},
{
value
:
'积木'
,
label
:
'积木'
},
],
maxBtn
:
4
,
form
:{
subject
:
''
,
ht
:
'1'
,
wz
:
'4'
,
tp
:
'16'
,
user
:
'1'
,
isZC
:
false
,
isRZ
:
false
,
zc
:
4
,
rz
:
8
,
topicBtnText
:
'发布话题'
,
commentBtnText
:
'发布评论'
,
commentDetails
:
'全部评论'
,
commentListDetails
:
'热门话题'
,
displayTopicBtn
:
true
,
//是否显示发布话题按钮
// displayCommentBtn:true,//是否显示评论按钮
displayReplyBtn
:
1
,
//是否显示回复按钮
displayLikeBtn
:
1
,
//是否显示点赞按钮
remark
:
''
,
deriverName
:
'积木'
,
replyShowNum
:
5
,
replyOfficial
:
false
,
inputTitle
:
'话题发布'
,
inputReminder
:
''
,
displayBar
:
1
,
displayListSort
:
1
,
displayOnlyComment
:
2
},
maxTopic
:
60
,
id
:
0
,
};
},
computed
:
{
...
mapGetters
([
"_token"
,
"idType"
])
},
created
()
{
this
.
id
=
this
.
$route
.
query
.
id
if
(
this
.
id
){
this
.
curmbSecond
=
'编辑'
this
.
getDissById
(
this
.
id
)
}
},
// 挂载到Dom完成时
mounted
:
function
()
{
},
methods
:
{
//返回
goBack
(){
this
.
$router
.
back
(
-
1
)
},
showError
(
str
){
this
.
$message
({
message
:
str
,
type
:
'warning'
});
},
//保存讨论
save
(){
let
visibility
=
0
,
auditRules
=
0
,
_this
=
this
;
if
(
this
.
form
.
isRZ
){
visibility
=
8
}
if
(
this
.
form
.
isZC
){
visibility
=
4
}
if
(
this
.
form
.
isRZ
&&
this
.
form
.
isZC
){
visibility
=
12
}
if
(
this
.
form
.
subject
==
''
){
console
.
log
(
this
.
form
.
subject
)
this
.
showError
(
'请输入讨论主题'
)
return
;
}
if
(
visibility
==
0
){
this
.
showError
(
'请选择开发客群'
);
return
;
}
if
(
this
.
form
.
topicBtnText
==
''
){
this
.
showError
(
'请输入话题发布按钮文字'
);
return
;
}
if
(
this
.
form
.
commentBtnText
==
''
){
this
.
showError
(
'请输入评论发布按钮文字'
);
return
;
}
if
(
this
.
form
.
inputTitle
==
''
){
this
.
showError
(
'请输入输入界面title文案'
);
return
;
}
auditRules
=
Number
(
this
.
form
.
wz
)
+
Number
(
this
.
form
.
tp
)
let
parm
=
{
"auditrules"
:
auditRules
,
"commentbtntext"
:
this
.
form
.
commentBtnText
,
"commentDetails"
:
this
.
form
.
commentDetails
,
'commentListDetails'
:
this
.
form
.
commentListDetails
,
//"deleteflag": 0,
//"derivedid": 0,
"category"
:
this
.
form
.
deriverName
,
// "displaycommentbtn": this.form.pl == 1 ? true : false,
"displaytopicbtn"
:
this
.
form
.
ht
==
1
?
true
:
false
,
"displayReplyBtn"
:
this
.
form
.
displayReplyBtn
,
"displayLikeBtn"
:
this
.
form
.
displayLikeBtn
,
"replyShowNum"
:
this
.
form
.
replyShowNum
,
"replyOfficial"
:
this
.
form
.
replyOfficial
?
1
:
2
,
"inputTitle"
:
this
.
form
.
inputTitle
,
"inputReminder"
:
this
.
form
.
inputReminder
,
"displayBar"
:
this
.
form
.
displayBar
,
"displayListSort"
:
this
.
form
.
displayListSort
,
"displayOnlyComment"
:
this
.
form
.
displayOnlyComment
,
//"id": 0,
"subject"
:
this
.
form
.
subject
,
"topicbtntext"
:
_this
.
form
.
topicBtnText
,
"visibility"
:
visibility
,
"remark"
:
this
.
form
.
remark
}
if
(
this
.
id
){
parm
.
id
=
Number
(
this
.
id
)
this
.
PUT
(
'/interaction/discuss/'
,
parm
).
then
((
res
)
=>
{
// closeLoading(vm)
if
(
res
.
code
==
'000000'
)
{
this
.
$message
({
message
:
'保存成功!'
,
type
:
'success'
});
setTimeout
(()
=>
{
this
.
goBack
()
},
1500
)
}
})
}
else
{
this
.
POST
(
'/interaction/discuss/'
,
parm
).
then
((
res
)
=>
{
// closeLoading(vm)
if
(
res
.
code
==
'000000'
)
{
this
.
$message
({
message
:
'保存成功!'
,
type
:
'success'
});
setTimeout
(()
=>
{
this
.
goBack
()
},
1500
)
}
})
}
},
//获取讨论组件详细
getDissById
(
id
){
this
.
GET
(
'/interaction/discuss/'
+
id
).
then
((
res
)
=>
{
// closeLoading(vm)
if
(
res
.
code
==
'000000'
)
{
this
.
id
=
res
.
data
.
id
this
.
form
.
subject
=
res
.
data
.
subject
this
.
form
.
deriverName
=
res
.
data
.
category
// 发布按钮文案
this
.
form
.
topicBtnText
=
res
.
data
.
topicbtntext
==
null
?
''
:
res
.
data
.
topicbtntext
this
.
form
.
commentBtnText
=
res
.
data
.
commentbtntext
this
.
form
.
inputTitle
=
res
.
data
.
inputTitle
||
'话题发布'
this
.
form
.
inputReminder
=
res
.
data
.
inputReminder
// title文案
this
.
form
.
commentDetails
=
res
.
data
.
commentDetails
this
.
form
.
commentListDetails
=
res
.
data
.
commentListDetails
// 备注
this
.
form
.
remark
=
res
.
data
.
remark
//开放客群
if
(
res
.
data
.
visibility
==
14
||
res
.
data
.
visibility
==
12
){
this
.
form
.
isRZ
=
true
this
.
form
.
isZC
=
true
}
else
if
(
res
.
data
.
visibility
==
6
){
this
.
form
.
isRZ
=
false
this
.
form
.
isZC
=
true
}
else
if
(
res
.
data
.
visibility
==
10
){
this
.
form
.
isRZ
=
true
this
.
form
.
isZC
=
false
}
//审核规则
if
(
res
.
data
.
auditrules
==
18
){
this
.
form
.
wz
=
"2"
this
.
form
.
tp
=
"16"
}
else
if
(
res
.
data
.
auditrules
==
10
){
this
.
form
.
wz
=
"2"
this
.
form
.
tp
=
"8"
}
else
if
(
res
.
data
.
auditrules
==
12
){
this
.
form
.
wz
=
"4"
this
.
form
.
tp
=
"8"
}
else
if
(
res
.
data
.
auditrules
==
20
){
this
.
form
.
wz
=
"4"
this
.
form
.
tp
=
"16"
}
//内容发布控制
this
.
form
.
ht
=
res
.
data
.
displaytopicbtn
?
"1"
:
"0"
// this.form.pl = res.data.displaycommentbtn ? "1" : "0"
this
.
form
.
displayReplyBtn
=
res
.
data
.
displayReplyBtn
this
.
form
.
displayLikeBtn
=
res
.
data
.
displayLikeBtn
this
.
form
.
replyShowNum
=
res
.
data
.
replyShowNum
this
.
form
.
replyOfficial
=
res
.
data
.
replyOfficial
==
1
?
true
:
false
// 底部bar 列表排序 显示评论区
this
.
form
.
displayBar
=
res
.
data
.
displayBar
this
.
form
.
displayListSort
=
res
.
data
.
displayListSort
this
.
form
.
displayOnlyComment
=
res
.
data
.
displayOnlyComment
}
})
}
}
};
</
script
>
<
style
lang=
"scss"
scoped
>
.discuss-opt
{
padding
:
20px
;
.btn-box
{
text-align
:
center
}
.label-name
{
font-size
:
12px
;
color
:
#606266
;
padding-right
:
10px
;
display
:
inline-block
;
}
.label-f
{
width
:
80px
;
}
.label-w
{
width
:
110px
}
.pdrt20
{
padding
:
20px
0
;
}
.el-radio__label
,
.el-checkbox__label
{
font-size
:
12px
;
}
}
.add-manager-wrap
{
.add-content
{
background
:
#fff
;
}
.rim
{
border
:
1px
solid
#dddddd
;
}
.step-content
{
overflow
:
hidden
;
height
:
60px
;
margin-top
:
66px
;
padding-top
:
15px
;
border-bottom
:
1px
solid
#fff
;
.is-text
{
display
:
none
;
}
.el-steps--simple
{
background
:
#fff
;
}
.button-green
{
color
:
#ffffff
;
background
:
#449284
;
border-color
:
#bfdad5
;
border-radius
:
2px
;
}
.button-white
{
color
:
#606266
;
background
:
#ffffff
;
border-color
:
#ecedf1
;
border-radius
:
2px
;
}
.step-num
{
display
:
block
;
font-size
:
12px
;
border
:
2px
solid
#b8babe
;
border-radius
:
50%
;
width
:
25px
;
height
:
20px
;
line-height
:
15px
;
text-align
:
center
;
color
:
#b8babe
;
}
.is-finish
{
color
:
#c0c4cc
;
}
.on-step
{
color
:
#747476
;
border-color
:
#747476
;
}
}
.first-step
{
margin-top
:
20px
;
.bg-uploader
{
img
{
float
:
left
;
}
.bg-img
{
width
:
84px
;
height
:
100px
;
}
.bg-video
{
float
:
left
;
width
:
100px
;
height
:
100px
;
}
.limit-text
{
float
:
left
;
margin-left
:
10px
;
margin-top
:
-10px
;
p
{
font-size
:
12px
;
color
:
#999
;
}
}
}
.el-upload__tip
{
position
:
absolute
;
top
:
-6px
;
left
:
130px
;
}
.choose-button
{
background
:
#fff
;
color
:
#409eff
;
border
:
1px
solid
#409eff
;
}
}
.second-step
{
margin
:
10px
0
0
20px
;
//隐藏树展开
.table-empty
{
img
{
width
:
100px
;
}
p
{
margin-top
:
-50px
;
}
}
.el-tree-node__expand-icon
{
display
:
none
;
}
.el-table__header-wrapper
{
.el-checkbox__inner
{
//display: none;
//visibility: hidden;
}
}
.department
{
margin-top
:
20px
;
border
:
1px
solid
#dddddd
;
}
.
el-tabs__nav-wrap
:
:
after
{
display
:
none
;
}
.el-tabs__active-bar
{
display
:
none
;
}
#tab-first
,
#tab-second
,
#tab-third
{
padding-right
:
0px
;
}
#
tab-first
:
:
after
,
#tab
-
second
::
after
,
#tab
-
third
::
after
{
color
:
#c7cbd2
;
margin-left
:
20px
;
content
:
"•"
;
}
.el-tag
{
margin
:
0
10px
10px
0
;
border
:
1
.3px
solid
#48a8fe
;
color
:
#1e92fe
;
background-color
:
#e7f6fe
;
.el-icon-close
{
width
:
13px
;
height
:
13px
;
line-height
:
13px
;
font-size
:
12px
;
background-color
:
#0486fe
;
border-radius
:
50%
;
color
:
#d4edfe
;
}
}
}
.third-step
{
margin
:
30px
0
0px
30px
;
padding-bottom
:
30px
;
}
}
</
style
>
\ No newline at end of file
src/views/discuss/index.vue
已删除
100644 → 0
浏览文件 @
401188a6
<
template
>
<div
class=
"item-component-wrap"
>
<bread-crumb
:curmbFirst=
"curmbFirst"
:curmbSecond=
"curmbSecond"
></bread-crumb>
<div
class=
"component-content screenSet"
id=
"screenSet"
>
<div
class=
"search-title"
>
查询条件
</div>
<el-row
:gutter=
"30"
class=
"row"
type=
"flex"
style=
"margin-top: 10px;"
>
<el-form
ref=
"serchForm"
:model=
"searchParam"
label-width=
"75px"
style=
"width:100%;"
>
<el-col
:span=
"6"
>
<el-form-item
label=
"讨论主题:"
>
<el-input
clearable
v-model=
"searchParam.theme"
size=
"mini"
placeholder=
"请输入主题"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"创建人:"
>
<el-input
clearable
v-model=
"searchParam.name"
size=
"mini"
placeholder=
"请输入创建人名称"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"分类:"
>
<el-select
v-model=
"categoryStatus"
size=
"mini"
placeholder=
"请选择分类"
>
<el-option
v-for=
"(item,index) in category"
:key=
"index"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"状态:"
>
<el-select
clearable
v-model=
"searchParam.status"
size=
"mini"
placeholder=
"请选择发布状态"
>
<el-option
v-for=
"(item,index) in statuSelect"
:key=
"index"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
style=
"text-align:right;padding:0 30px 15px 0;"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"search"
>
查询
</el-button>
<el-button
type=
"default"
size=
"small"
@
click=
"reseat"
>
重置
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"creatFun('1')"
>
举报设置
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"creatFun('2')"
>
新建讨论组件
</el-button>
</el-col>
</el-form>
</el-row>
<el-table
:data=
"tableData"
style=
"width: 100%"
v-loading=
"loading"
>
<el-table-column
prop=
"id"
label=
"ID编号"
min-width=
"50"
align=
"center"
></el-table-column>
<el-table-column
prop=
"subject"
label=
"讨论主题"
min-width=
"100"
align=
"center"
></el-table-column>
<el-table-column
prop=
"category"
label=
"分类"
min-width=
"50"
align=
"center"
></el-table-column>
<el-table-column
prop=
"remark"
label=
"备注"
min-width=
"100"
align=
"center"
></el-table-column>
<el-table-column
prop=
"createdusername"
label=
"创建人"
min-width=
"50"
align=
"center"
></el-table-column>
<el-table-column
prop=
"modifiedUsername"
label=
"最后修改人"
min-width=
"100"
align=
"center"
></el-table-column>
<el-table-column
prop=
"status"
label=
"状态"
min-width=
"80"
align=
"center"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
status
|
filteFun
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
fixed=
"right"
align=
"center"
min-width=
"200"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"edit(scope.row)"
>
编辑
</el-button>
<el-button
type=
"primary"
v-if=
"scope.row.status == 3 || scope.row.status == 1"
size=
"small"
@
click=
"optFun(scope.row,'发布')"
>
发布
</el-button>
<el-button
type=
"primary"
v-if=
"scope.row.status == 2"
size=
"small"
@
click=
"optFun(scope.row,'下线')"
>
下线
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"topicManage(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=
"searchParam.pageNo"
:page-sizes=
"[15, 30, 50, 100, 200, 500, 700, 1000, 1500, 2000]"
:page-size=
"searchParam.pageSize"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"totalRows"
></el-pagination>
</div>
</div>
</div>
</template>
<
script
>
import
BreadCrumb
from
"../../components/breadcrumb.vue"
;
import
{
doUpload
,
getFilePath
}
from
"../../utils/qiniu-util"
;
import
{
validateWord
}
from
"../../utils/validate.js"
;
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
:
"讨论组件"
,
searchParam
:
{
theme
:
""
,
type
:
""
,
name
:
""
,
status
:
""
,
pageNo
:
1
,
pageSize
:
15
},
category
:
[],
categoryStatus
:
""
,
statuSelect
:
[
{
label
:
"未发布"
,
value
:
"1"
},
{
label
:
"已发布"
,
value
:
"2"
},
{
label
:
"已下架"
,
value
:
"3"
}
],
tableData
:
[],
totalRows
:
0
,
loading
:
false
};
},
computed
:
{
...
mapGetters
([
"_token"
,
"idType"
])
},
filters
:
{
filteFun
(
index
)
{
let
str
=
""
;
if
(
index
==
1
)
{
str
=
"未发布"
;
}
else
if
(
index
==
2
)
{
str
=
"已发布"
;
}
else
if
(
index
==
3
)
{
str
=
"已下线"
;
}
return
str
;
}
},
created
()
{
this
.
getData
();
//this.sun()
},
// 挂载到Dom完成时
mounted
:
function
()
{
commonUtil
.
resizeHeight
();
},
methods
:
{
// 列表查询
search
()
{
this
.
getData
();
},
//获取数据
getData
()
{
let
subject
=
0
,
status
=
0
,
name
=
0
;
if
(
this
.
searchParam
.
theme
!=
""
)
{
subject
=
this
.
searchParam
.
theme
;
}
if
(
this
.
searchParam
.
status
!=
""
)
{
status
=
this
.
searchParam
.
status
;
}
if
(
this
.
searchParam
.
name
!=
""
)
{
name
=
this
.
searchParam
.
name
;
}
console
.
log
(
this
.
categoryStatus
);
this
.
loading
=
true
;
let
cStatus
=
this
.
categoryStatus
?
this
.
categoryStatus
:
"0"
;
//'0'表示默认查所有的
let
url
=
"/interaction/discuss/"
+
cStatus
+
"/"
+
subject
+
"/"
+
name
+
"/"
+
status
+
"/"
+
this
.
searchParam
.
pageNo
+
"/"
+
this
.
searchParam
.
pageSize
;
this
.
GET
(
url
).
then
(
res
=>
{
this
.
loading
=
false
;
if
(
res
.
code
==
"000000"
)
{
console
.
log
(
res
.
data
);
this
.
tableData
=
res
.
data
.
resp
.
discuss
||
[];
this
.
totalRows
=
res
.
data
.
resp
.
count
;
if
(
res
.
data
.
typeList
&&
res
.
data
.
typeList
.
length
)
{
let
arr
=
[];
for
(
let
i
=
0
;
i
<
res
.
data
.
typeList
.
length
;
i
++
)
{
let
obj
=
{};
obj
.
label
=
res
.
data
.
typeList
[
i
];
obj
.
value
=
res
.
data
.
typeList
[
i
];
arr
.
push
(
obj
);
}
this
.
category
=
arr
;
}
}
});
},
// 重置
reseat
()
{
this
.
searchParam
=
Object
.
assign
(
{},
{
theme
:
""
,
type
:
""
,
name
:
""
,
category
:
""
,
status
:
""
,
pageNo
:
1
,
pageSize
:
15
}
);
(
this
.
category
=
[]),
(
this
.
categoryStatus
=
""
),
this
.
getData
();
},
creatFun
(
index
)
{
if
(
index
==
1
)
{
this
.
$router
.
push
({
path
:
"/report-set"
});
}
else
if
(
index
==
2
)
{
this
.
$router
.
push
({
path
:
"/creat-discuss"
});
}
},
edit
(
item
)
{
this
.
$router
.
push
({
path
:
"/creat-discuss"
,
query
:
{
id
:
item
.
id
}
});
},
topicManage
(
item
)
{
this
.
$router
.
push
({
path
:
"/topic-list"
,
query
:
{
id
:
item
.
id
}
});
},
// 发布、下线
optFun
(
row
,
str
)
{
let
status
=
0
;
if
(
str
==
"发布"
)
{
status
=
2
;
}
else
if
(
str
==
"下线"
)
{
status
=
3
;
}
this
.
$confirm
(
"确定要"
+
str
+
"该讨论吗?"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
})
.
then
(()
=>
{
this
.
PUT
(
"/interaction/discuss/release"
,
{
id
:
row
.
id
,
status
:
status
})
.
then
(
res
=>
{
if
(
res
.
code
==
"000000"
)
{
this
.
$message
({
type
:
"success"
,
message
:
"操作成功!"
});
this
.
getData
();
}
})
.
catch
(
function
(
error
)
{
this
.
$message
.
error
(
error
);
});
})
.
catch
(()
=>
{
this
.
$message
({
type
:
"info"
,
message
:
"已取消"
});
});
},
handleSizeChange
(
value
)
{
this
.
searchParam
.
pageSize
=
value
;
this
.
getData
();
},
handleCurrentChange
(
value
)
{
this
.
searchParam
.
pageNo
=
value
;
this
.
getData
();
}
}
};
</
script
>
<
style
lang=
"scss"
scoped
>
.item-component-wrap
{
.component-content
{
padding
:
10px
;
background
:
#fff
;
// margin: 84px 20px 20px;
.search-title
{
padding
:
10px
12px
;
font-size
:
12px
;
color
:
#449284
;
border-bottom
:
1px
solid
#efefef
;
}
.create-button
{
padding
:
0
0
15px
;
margin-top
:
0
!
important
;
text-align
:
right
;
}
.table-empty
{
img
{
width
:
100px
;
}
p
{
margin-top
:
-50px
;
}
}
}
}
</
style
>
\ No newline at end of file
src/views/question-naire/question-list.vue
已删除
100644 → 0
浏览文件 @
401188a6
<
template
>
<div
class=
"question-wrap"
>
<bread-crumb
:curmbFirst=
"curmbFirst"
:curmbSecond=
"curmbSecond"
>
</bread-crumb>
<div
class=
"question-content screenSet"
id=
"screenSet"
>
<el-row
:gutter=
"30"
class=
"row"
type=
"flex"
style=
"margin-top: 10px;"
>
<el-form
ref=
"serchForm"
:model=
"searchParam"
label-width=
"75px"
label-suffix=
":"
style=
"width:100%;"
>
<el-col
:span=
"6"
>
<el-form-item
label=
"问卷名称"
>
<el-input
v-model=
"searchParam.name"
size=
"mini"
placeholder=
"请输入问卷名称"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"状态"
>
<el-select
clearable
v-model=
"searchParam.status"
size=
"mini"
placeholder=
"请选择问卷状态"
>
<el-option
v-for=
"(item, index) in statuSelect"
:key=
"index"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
style=
"text-align:right;padding:0 30px 15px 0;"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"search(1)"
>
查询
</el-button
>
<el-button
type=
"default"
size=
"small"
@
click=
"reset"
>
重置
</el-button
>
</el-col>
</el-form>
</el-row>
<el-button
class=
"add-question"
type=
"primary"
size=
"small"
@
click=
"addQuestion"
>
新增问卷
</el-button
>
<el-table
:data=
"tableData"
style=
"width: 100%"
v-loading=
"loading"
>
<el-table-column
prop=
"id"
label=
"问卷编号"
min-width=
"50"
align=
"center"
></el-table-column>
<el-table-column
prop=
"name"
label=
"问卷名称"
min-width=
"100"
align=
"center"
></el-table-column>
<el-table-column
label=
"最后修改人"
min-width=
"50"
align=
"center"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
modifiedId
|
modifyType
(
modifyArray
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"最后修改时间"
min-width=
"100"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
modifiedTime
|
liveDateFilter
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"问卷状态"
min-width=
"80"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
status
|
questionStatus
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
fixed=
"right"
align=
"center"
min-width=
"200"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"editQuestion(scope.row)"
>
编辑
</el-button
>
<el-button
type=
"primary"
v-show=
"scope.row.status == 1"
size=
"small"
@
click=
"onAndDownLine(scope.row)"
>
上线
</el-button>
<el-button
type=
"primary"
v-show=
"scope.row.status == 2"
size=
"small"
@
click=
"onAndDownLine(scope.row)"
>
下线
</el-button>
<!--
<el-button
type=
"primary"
size=
"small"
@
click=
"reviewQuestion(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=
"searchParam.pageNo"
:page-sizes=
"[15, 30, 50, 100, 200, 500, 700, 1000, 1500, 2000]"
:page-size=
"searchParam.pageSize"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"totalRows"
>
</el-pagination>
</div>
</div>
<!-- 问卷新增(编辑) -->
<el-dialog
class=
"img-edit"
:title=
"questionTitle"
:visible
.
sync=
"discussEditVisible"
:close-on-click-modal=
"false"
:close-on-press-escape=
"false"
>
<el-form
ref=
"questionForm"
:rules=
"rules"
:model=
"questionEditList"
label-width=
"220px"
label-suffix=
":"
size=
"mini"
>
<el-form-item>
<el-radio-group
v-model=
"questionEditList.showType"
style=
"margin-left: -65px;"
:disabled=
"formStatus != 'create'"
>
<el-radio
:label=
"1"
>
单题显示
</el-radio>
<el-radio
:label=
"2"
>
平铺显示
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"问卷标题"
prop=
"name"
>
<el-input
v-model=
"questionEditList.name"
maxlength=
"30"
placeholder=
"标题最多30字符"
style=
"width: 300px;"
>
</el-input>
</el-form-item>
<el-form-item
label=
"题库导入"
prop=
"fileName"
>
<el-col
:span=
"12"
>
<el-input
class=
"form-input"
:placeholder=
"excelFileName"
v-model=
"fileName"
disabled
style=
"width: 99%;"
/>
</el-col>
<el-col
:span=
"10"
>
<el-upload
class=
"upload-demo"
style=
"display: inline-block;width: 80px;"
action=
"#"
accept=
".xlsx"
:before-upload=
"beforeImport"
:limit=
"1"
>
<el-button
type=
"primary"
size=
"mini"
>
导入题库
</el-button>
</el-upload>
<el-button
type=
"default"
size=
"mini"
@
click=
"uploadTemplate"
>
模板下载
</el-button
>
</el-col>
</el-form-item>
<el-form-item
label=
"下一题按钮"
v-show=
"questionEditList.showType == 1"
>
<div
class=
"submit-btn"
style=
"margin-right:20px;"
>
<p>
置灰不可点
</p>
<el-upload
v-model=
"questionEditList.nextDisableClickUrl"
class=
"avatar-uploader"
action=
"#"
:show-file-list=
"false"
:before-upload=
"beforeAvatarUpload_1"
>
<el-button
size=
"mini"
type=
"primary"
>
上传
</el-button>
</el-upload>
<div
class=
"uploat-content"
>
<img
v-show=
"questionEditList.nextDisableClickUrl"
:src=
"questionEditList.nextDisableClickUrl"
class=
"bg-img"
/>
<img
v-show=
"!questionEditList.nextDisableClickUrl"
class=
"bg-img"
src=
"https://files.yunqueyi.com/image/png/common/20190408164003674.png"
/>
</div>
</div>
<div
class=
"submit-btn"
>
<p>
点亮可点
</p>
<el-upload
v-model=
"questionEditList.nextClickUrl"
class=
"avatar-uploader"
action=
"#"
:show-file-list=
"false"
:before-upload=
"beforeAvatarUpload_2"
>
<el-button
size=
"mini"
type=
"primary"
>
上传
</el-button>
</el-upload>
<div
class=
"uploat-content"
>
<img
v-show=
"questionEditList.nextClickUrl"
:src=
"questionEditList.nextClickUrl"
class=
"bg-img"
/>
<img
v-show=
"!questionEditList.nextClickUrl"
class=
"bg-img"
src=
"https://files.yunqueyi.com/image/png/common/20190408164015812.png"
/>
</div>
</div>
</el-form-item>
<el-form-item
label=
"问卷导言"
v-show=
"questionEditList.showType == 2"
>
<el-input
type=
"textarea"
:autosize=
"{ minRows: 3 }"
v-model=
"questionEditList.questionIntro"
maxlength=
"210"
placeholder=
"最多210字符"
></el-input>
</el-form-item>
<el-form-item
label=
"业务类型"
v-show=
"questionEditList.showType == 2"
prop=
"bizType"
>
<el-radio-group
v-model=
"questionEditList.bizType"
:disabled=
"formStatus != 'create'"
>
<el-radio
:label=
"0"
>
普通问卷
</el-radio>
<el-radio
:label=
"1"
>
招募问卷
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"是否需要审核"
v-show=
"questionEditList.showType == 2"
prop=
"bizType"
>
<el-radio-group
v-model=
"questionEditList.auditFlag"
:disabled=
"formStatus != 'create'"
@
change=
"addAuditFlag"
>
<el-radio
:label=
"2"
>
否
</el-radio>
<el-radio
:label=
"1"
>
是
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"填写完是否需要提示用户分享"
v-show=
"questionEditList.showType == 2"
>
<el-radio-group
v-model=
"questionEditList.shareFlag"
:disabled=
"formStatus != 'create'"
>
<el-radio
:label=
"2"
>
否
</el-radio>
<el-radio
:label=
"1"
>
是
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"分享地址"
class=
"spe-label-require"
v-show=
"questionEditList.showType == 2 && questionEditList.shareFlag == 1"
>
<el-input
v-model=
"questionEditList.shareUrl"
style=
"width: 300px;"
>
</el-input>
</el-form-item>
<el-form-item
label=
"分享的标题"
class=
"spe-label-require"
v-show=
"questionEditList.showType == 2 && questionEditList.shareFlag == 1"
>
<el-input
v-model=
"questionEditList.shareTitle"
style=
"width: 300px;"
>
</el-input>
</el-form-item>
<el-form-item
label=
"分享的描述"
class=
"spe-label-require"
v-show=
"questionEditList.showType == 2 && questionEditList.shareFlag == 1"
>
<el-input
v-model=
"questionEditList.shareIntro"
style=
"width: 300px;"
>
</el-input>
</el-form-item>
<el-form-item
label=
"基本信息"
v-show=
"questionEditList.showType == 2"
>
<el-checkbox
v-model=
"userBase.name"
label=
"true"
>
姓名
</el-checkbox>
<el-checkbox
v-model=
"userBase.mobile"
label=
"true"
>
手机号
</el-checkbox
>
<el-checkbox
v-model=
"userBase.address"
label=
"true"
>
地址
</el-checkbox
>
</el-form-item>
<div
v-show=
"questionEditList.showType == 2"
>
<el-form-item
class=
"submit-btn"
label=
"头图"
>
<el-upload
v-model=
"questionEditList.headDiagramUrl"
class=
"avatar-uploader"
action=
"#"
:show-file-list=
"false"
:before-upload=
"beforeAvatarUpload_4"
>
<el-button
class=
"head-btn"
size=
"mini"
type=
"primary"
>
上传
</el-button
>
</el-upload>
<div
class=
"uploat-content"
>
<img
v-show=
"questionEditList.headDiagramUrl"
:src=
"questionEditList.headDiagramUrl"
class=
"head-bg-img"
/>
<img
v-show=
"!questionEditList.headDiagramUrl"
class=
"head-bg-img"
src=
"../../assets/image/default.png"
/>
</div>
</el-form-item>
</div>
<el-form-item
class=
"submit-btn"
label=
"提交按钮"
>
<el-upload
v-model=
"questionEditList.submitButtomUrl"
class=
"avatar-uploader"
action=
"#"
:show-file-list=
"false"
:before-upload=
"beforeAvatarUpload_3"
>
<el-button
size=
"mini"
type=
"primary"
>
上传
</el-button>
</el-upload>
<div
class=
"uploat-content"
>
<img
v-show=
"questionEditList.submitButtomUrl"
:src=
"questionEditList.submitButtomUrl"
class=
"bg-img"
/>
<img
v-show=
"!questionEditList.submitButtomUrl"
class=
"bg-img"
src=
"https://files.yunqueyi.com/image/png/common/20190408164026451.png"
/>
</div>
</el-form-item>
<el-form-item
label=
"问卷填写完毕提示文案"
prop=
"promptCopy"
>
<el-input
v-model=
"questionEditList.promptCopy"
maxlength=
"40"
style=
"width: 300px;"
></el-input>
<span
style=
"font-size:12px;"
>
限40字符
</span>
</el-form-item>
<el-form-item
label=
"登录权限控制"
v-show=
"questionEditList.showType == 2"
>
<el-checkbox-group
v-model=
"loginAuthList"
class=
"login-auth"
>
<el-checkbox
label=
"1"
:disabled=
"questionEditList.auditFlag==1"
>
云鹊医APP
</el-checkbox>
<el-checkbox
label=
"2"
:disabled=
"questionEditList.auditFlag==1"
>
云鹊医H5
</el-checkbox>
</el-checkbox-group>
<p
style=
"color:red;"
>
注意:如不勾选登录权限则用户信息记录为游客
</p>
</el-form-item>
<el-form-item
label=
"问卷填写次数"
v-show=
"questionEditList.showType == 2"
prop=
"limitNum"
>
<el-radio
v-model=
"questionEditList.limitNumFlag"
label=
"0"
:disabled=
"questionEditList.auditFlag==1"
>
<el-input
v-model=
"questionEditList.limitNum"
controls-position=
"right"
:min=
"1"
style=
"width: 100px;"
@
blur=
"checkLimitNum"
@
focus=
"beforeInputLimitNum"
:disabled=
"questionEditList.auditFlag==1"
></el-input>
</el-radio>
<el-radio
v-model=
"questionEditList.limitNumFlag"
label=
"1"
:disabled=
"questionEditList.auditFlag==1"
>
不限制填写次数
</el-radio
>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
style=
"text-align:center;"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"submitQuestion"
style=
"width:120px;"
>
提交
</el-button
>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
BreadCrumb
from
"../../components/breadcrumb.vue"
;
import
*
as
commonUtil
from
"../../utils/utils"
;
import
{
getFilePath
,
doUpload
}
from
"../../utils/qiniu-util"
;
import
{
QUESTION_UPLOAD_TEMPLATE
}
from
"../../utils/constants"
;
let
vm
=
null
;
export
default
{
components
:
{
BreadCrumb
},
data
()
{
return
{
curmbFirst
:
"组件"
,
curmbSecond
:
"问卷管理"
,
questionTitle
:
"问卷新增/编辑"
,
discussEditVisible
:
false
,
excelFileName
:
""
,
fileName
:
""
,
fileArray
:
[],
tableData
:
[],
totalRows
:
0
,
loading
:
false
,
searchParam
:
{
name
:
""
,
status
:
""
,
pageSize
:
15
,
pageNo
:
1
},
modifyArray
:
[],
questionEditList
:
{
id
:
""
,
showType
:
1
,
name
:
""
,
nextDisableClickUrl
:
""
,
nextClickUrl
:
""
,
submitButtomUrl
:
""
,
promptCopy
:
""
,
headDiagramUrl
:
""
,
questionIntro
:
""
,
bizType
:
0
,
//业务类型 0普通 ,1 招募
limitNumFlag
:
"0"
,
//填写次数flag
limitNum
:
1
,
//填写次数
auditFlag
:
2
,
shareFlag
:
2
,
shareUrl
:
''
,
shareTitle
:
''
,
shareIntro
:
''
,
},
formStatus
:
"create"
,
loginAuthList
:
[],
//登录权限控制
userBase
:
{},
//基本信息
rules
:
{
name
:
[
{
required
:
true
,
message
:
"请输入问卷标题"
,
trigger
:
"blur"
}
],
promptCopy
:
[
{
required
:
true
,
message
:
"请输入问卷填写完毕提示文案"
,
trigger
:
"blur"
}
],
bizType
:
[
{
required
:
true
,
message
:
"请选择业务类型"
,
trigger
:
"blur"
}
],
limitNum
:
[
{
required
:
true
}
]
},
statuSelect
:
[
{
label
:
"下线"
,
value
:
1
},
{
label
:
"上线"
,
value
:
2
}
]
};
},
created
()
{
vm
=
this
;
vm
.
search
();
vm
.
getAllModify
();
},
// 挂载到Dom完成时
mounted
:
function
()
{
commonUtil
.
resizeHeight
();
},
methods
:
{
addAuditFlag
()
{
if
(
this
.
questionEditList
.
auditFlag
==
1
)
{
vm
.
loginAuthList
=
[
"1"
,
"2"
];
vm
.
questionEditList
.
limitNumFla
=
'1'
;
vm
.
questionEditList
.
limitNum
=
1
;
}
else
{
}
},
// 查询
search
(
flag
)
{
if
(
flag
)
vm
.
searchParam
.
pageNo
=
1
;
vm
.
GET
(
"/campaign/adminQuestionnaire/queryList"
,
vm
.
searchParam
).
then
(
res
=>
{
if
(
res
.
code
==
"000000"
)
{
vm
.
tableData
=
res
.
data
.
questionnaireList
;
vm
.
totalRows
=
res
.
data
.
total
;
}
}
);
},
handleSizeChange
(
value
)
{
vm
.
searchParam
.
pageSize
=
value
;
vm
.
search
();
},
handleCurrentChange
(
value
)
{
vm
.
searchParam
.
pageNo
=
value
;
vm
.
search
();
},
reset
()
{
vm
.
searchParam
.
name
=
""
;
vm
.
searchParam
.
status
=
""
;
vm
.
search
();
},
// 获取所有修改人
getAllModify
()
{
vm
.
GET
(
"/campaign/adminQuestionnaire/getAllUser"
).
then
(
res
=>
{
if
(
res
.
code
==
"000000"
)
{
vm
.
modifyArray
=
res
.
data
;
}
});
},
// 新增问卷
addQuestion
()
{
vm
.
discussEditVisible
=
true
;
vm
.
formStatus
=
"create"
;
if
(
vm
.
$refs
.
questionForm
!==
undefined
)
{
vm
.
$refs
.
questionForm
.
resetFields
();
}
vm
.
questionEditList
=
Object
.
assign
(
{},
{
id
:
""
,
showType
:
1
,
name
:
""
,
nextDisableClickUrl
:
""
,
nextClickUrl
:
""
,
submitButtomUrl
:
""
,
promptCopy
:
"您已成功提交问卷,感谢您的参与!"
,
headDiagramUrl
:
""
,
questionIntro
:
""
,
bizType
:
0
,
limitNumFlag
:
"0"
,
limitNum
:
1
,
auditFlag
:
2
,
shareFlag
:
2
,
shareUrl
:
''
,
shareTitle
:
''
,
shareIntro
:
''
,
}
);
vm
.
loginAuthList
=
[
"1"
];
vm
.
userBase
=
Object
.
assign
(
{},
{
address
:
false
,
mobile
:
false
,
name
:
false
}
);
vm
.
fileName
=
""
;
vm
.
fileArray
=
[];
vm
.
excelFileName
=
""
;
},
// 编辑
editQuestion
(
row
)
{
if
(
vm
.
$refs
.
questionForm
!==
undefined
)
{
vm
.
$refs
.
questionForm
.
resetFields
();
}
vm
.
discussEditVisible
=
true
;
vm
.
formStatus
=
"edit"
;
vm
.
excelFileName
=
""
;
vm
.
fileName
=
""
;
vm
.
fileArray
=
[];
vm
.
GET
(
"/campaign/adminQuestionnaire/getQuestionnaireById"
,
{
id
:
row
.
id
}).
then
(
res
=>
{
if
(
res
.
code
==
"000000"
)
{
// console.log(res.data);
let
{
questionnaireInfo
,
loginAuthInfo
}
=
res
.
data
.
data
;
vm
.
questionEditList
=
Object
.
assign
({},
questionnaireInfo
);
vm
.
questionEditList
=
Object
.
assign
({},
vm
.
questionEditList
,
{
questionIntro
:
questionnaireInfo
.
questionIntro
.
replace
(
/<br>/g
,
"
\n
"
),
limitNumFlag
:
questionnaireInfo
.
limitNum
<
1
?
"1"
:
"0"
,
limitNum
:
questionnaireInfo
.
limitNum
<
1
?
1
:
questionnaireInfo
.
limitNum
});
const
userBaseData
=
JSON
.
parse
(
questionnaireInfo
.
userBase
);
vm
.
userBase
=
Object
.
assign
({},
vm
.
userBase
,
{
address
:
Boolean
(
userBaseData
.
address
),
mobile
:
Boolean
(
userBaseData
.
mobile
),
name
:
Boolean
(
userBaseData
.
name
)
});
vm
.
loginAuthList
=
loginAuthInfo
;
}
});
},
// 上线/下线
onAndDownLine
(
row
)
{
let
req
=
null
;
if
(
row
.
status
==
1
)
{
req
=
{
id
:
row
.
id
,
status
:
2
};
}
else
{
req
=
{
id
:
row
.
id
,
status
:
1
};
}
vm
.
GET
(
"/campaign/adminQuestionnaire/upperOrLowerShip"
,
req
).
then
(
res
=>
{
if
(
res
.
code
==
"000000"
)
{
vm
.
search
();
}
});
},
// 导入题库
beforeImport
(
file
)
{
if
(
commonUtil
.
isEmptyUtils
(
file
))
return
;
let
arr
=
file
.
type
.
split
(
"/"
);
let
ext
=
"."
+
arr
[
1
];
let
reader
=
new
FileReader
();
reader
.
onload
=
function
(
e
)
{
let
fileJson
=
{
fileName
:
file
.
name
,
file
:
e
.
target
.
result
.
substr
(
e
.
target
.
result
.
indexOf
(
"base64,"
)
+
7
),
ext
:
ext
};
vm
.
fileArray
=
[
{
base64
:
fileJson
}
];
vm
.
fileName
=
file
.
name
;
vm
.
excelFileName
=
file
.
name
;
vm
.
$message
.
info
(
"读取完毕"
);
};
reader
.
readAsDataURL
(
file
);
return
false
;
},
// 模板下载
uploadTemplate
()
{
window
.
location
.
href
=
QUESTION_UPLOAD_TEMPLATE
;
},
// 置灰不可点图片上传
beforeAvatarUpload_1
(
file
)
{
if
(
commonUtil
.
isEmptyUtils
(
file
))
return
;
vm
.
imgDoUpload
(
file
,
1
,
50
,
750
,
100
);
return
false
;
},
// 点亮图片上传
beforeAvatarUpload_2
(
file
)
{
if
(
commonUtil
.
isEmptyUtils
(
file
))
return
;
vm
.
imgDoUpload
(
file
,
2
,
50
,
750
,
100
);
return
false
;
},
// 提交图片上传
beforeAvatarUpload_3
(
file
)
{
if
(
commonUtil
.
isEmptyUtils
(
file
))
return
;
vm
.
imgDoUpload
(
file
,
3
,
50
,
690
,
88
);
return
false
;
},
// 头图图片上传
beforeAvatarUpload_4
(
file
)
{
if
(
commonUtil
.
isEmptyUtils
(
file
))
return
;
vm
.
imgDoUpload
(
file
,
4
,
100
,
750
,
-
1
);
return
false
;
},
imgDoUpload
(
file
,
urlType
,
size
,
w
,
h
)
{
const
isSize
=
file
.
size
/
1024
<
size
;
if
(
!
isSize
)
{
vm
.
$message
.
info
(
"上传图片要小于"
+
size
+
"k"
);
return
;
}
var
_img
=
new
FileReader
();
_img
.
readAsDataURL
(
file
);
_img
.
onload
=
function
(
theFile
)
{
let
image
=
new
Image
();
image
.
src
=
theFile
.
target
.
result
;
image
.
onload
=
function
()
{
let
_this
=
this
;
let
uploadFlag
=
false
;
if
(
h
==
-
1
)
{
if
(
_this
.
width
!=
w
)
{
vm
.
$message
.
info
(
"上传图片宽度应为"
+
w
+
",请重新上传"
);
}
else
{
uploadFlag
=
true
;
}
}
else
{
if
(
_this
.
width
!=
w
||
_this
.
height
!=
h
)
{
vm
.
$message
.
info
(
"上传图片尺寸应为"
+
w
+
"*"
+
h
+
",请重新上传"
);
}
else
{
uploadFlag
=
true
;
}
}
if
(
uploadFlag
)
{
vm
.
$message
.
info
(
"开始上传"
);
doUpload
(
vm
,
file
,
getFilePath
(
file
,
null
),
"preview4"
,
"progress1"
,
1
).
then
(
function
(
path
)
{
if
(
urlType
==
1
)
{
vm
.
questionEditList
.
nextDisableClickUrl
=
path
.
fullPath
;
}
else
if
(
urlType
==
2
)
{
vm
.
questionEditList
.
nextClickUrl
=
path
.
fullPath
;
}
else
if
(
urlType
==
3
)
{
vm
.
questionEditList
.
submitButtomUrl
=
path
.
fullPath
;
}
else
{
vm
.
questionEditList
.
headDiagramUrl
=
path
.
fullPath
;
}
vm
.
$message
.
success
(
"上传成功"
);
});
}
};
};
},
// 提交
submitQuestion
()
{
if
(
vm
.
questionEditList
.
showType
==
1
)
{
// 单题显示
vm
.
questionEditList
.
questionIntro
=
""
;
vm
.
questionEditList
.
headDiagramUrl
=
""
;
}
else
{
vm
.
questionEditList
.
nextDisableClickUrl
=
""
;
vm
.
questionEditList
.
nextClickUrl
=
""
;
}
if
(
!
vm
.
questionEditList
.
id
)
{
if
(
commonUtil
.
isEmptyList
(
vm
.
fileArray
))
{
vm
.
$message
.
info
(
"请导入题库"
);
return
;
}
}
if
(
vm
.
questionEditList
.
showType
==
2
)
{
if
(
vm
.
questionEditList
.
shareFlag
==
1
)
{
if
(
vm
.
questionEditList
.
shareUrl
==
''
)
{
vm
.
$message
.
info
(
"请填写分享地址"
);
return
;
}
if
(
vm
.
questionEditList
.
shareTitle
==
''
)
{
vm
.
$message
.
info
(
"请填写分享标题"
);
return
;
}
if
(
vm
.
questionEditList
.
shareIntro
==
''
)
{
vm
.
$message
.
info
(
"请填写分享描述"
);
return
;
}
}
else
{
vm
.
questionEditList
.
shareUrl
=
''
;
vm
.
questionEditList
.
shareTitle
=
''
;
vm
.
questionEditList
.
shareIntro
=
''
;
}
}
let
req
=
{
model
:
JSON
.
parse
(
JSON
.
stringify
(
vm
.
questionEditList
)),
fileArray
:
vm
.
fileArray
,
loginAuth
:
[]
};
if
(
vm
.
questionEditList
.
limitNumFlag
==
1
)
{
req
.
model
.
limitNum
=
-
1
;
}
let
reqUserBase
=
Object
.
assign
({},
vm
.
userBase
,
{
address
:
Number
(
vm
.
userBase
.
address
),
mobile
:
Number
(
vm
.
userBase
.
mobile
),
name
:
Number
(
vm
.
userBase
.
name
)
});
req
.
model
.
userBase
=
JSON
.
stringify
(
reqUserBase
);
vm
.
loginAuthList
.
map
(
u
=>
{
req
.
loginAuth
.
push
({
value
:
u
});
});
req
.
model
.
questionIntro
=
vm
.
questionEditList
.
questionIntro
.
replace
(
/
\n
/g
,
"<br>"
);
// console.log(req);
vm
.
$refs
.
questionForm
.
validate
(
valid
=>
{
//console.log(this.discussEditVisible)
if
(
valid
)
{
if
(
vm
.
formStatus
===
'create'
&&
vm
.
questionEditList
.
showType
==
2
)
{
vm
.
$confirm
(
'业务类型提交后无法再次修改, 请确认是否提交?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
})
.
then
(()
=>
{
commonUtil
.
openLoading
(
vm
)
vm
.
POST
(
'/campaign/adminQuestionnaire/insertOrUpdateQuestionnaire'
,
req
).
then
(
res
=>
{
commonUtil
.
closeLoading
(
vm
)
if
(
res
.
code
==
'000000'
)
{
vm
.
discussEditVisible
=
false
vm
.
$message
({
type
:
'success'
,
message
:
'操作成功'
})
vm
.
search
()
}
else
{
vm
.
$message
.
info
(
res
.
message
)
}
})
})
.
catch
(()
=>
{
vm
.
$message
({
type
:
'info'
,
message
:
'已取消提交'
})
})
}
else
{
commonUtil
.
openLoading
(
vm
)
vm
.
POST
(
'/campaign/adminQuestionnaire/insertOrUpdateQuestionnaire'
,
req
).
then
(
res
=>
{
commonUtil
.
closeLoading
(
vm
)
if
(
res
.
code
==
'000000'
)
{
vm
.
discussEditVisible
=
false
vm
.
$message
({
type
:
'success'
,
message
:
'操作成功'
})
vm
.
search
()
}
else
{
vm
.
$message
.
info
(
res
.
message
)
}
})
}
}
})
},
// 校验输入数字为正整数
checkLimitNum
()
{
const
regexp
=
/^
[
1-9
]\d
*$/
;
if
(
!
regexp
.
test
(
vm
.
questionEditList
.
limitNum
))
{
vm
.
questionEditList
=
Object
.
assign
({},
vm
.
questionEditList
,
{
limitNum
:
1
});
}
},
// foucs选中则改变radio
beforeInputLimitNum
()
{
vm
.
questionEditList
=
Object
.
assign
({},
vm
.
questionEditList
,
{
limitNumFlag
:
"0"
});
}
}
};
</
script
>
<
style
lang=
"scss"
scoped
>
.question-wrap
{
.question-content
{
background
:
#fff
;
.add-question
{
float
:
right
;
margin
:
10px
;
}
.table-empty
{
img
{
width
:
100px
;
}
p
{
margin-top
:
-50px
;
}
}
}
.submit-btn
{
display
:
inline-block
;
overflow
:
hidden
;
p
{
font-size
:
12px
;
}
.avatar-uploader
{
float
:
right
;
.el-button
{
margin-left
:
10px
;
}
.head-btn
{
margin-top
:
48px
!
important
;
}
}
.uploat-content
{
float
:
left
;
.bg-img
{
width
:
150px
;
height
:
30px
;
}
.head-bg-img
{
width
:
80px
;
height
:
80px
;
}
}
}
.login-auth
{
width
:
400px
;
.el-checkbox
{
display
:
inline-block
;
width
:
150px
;
text-align
:
left
;
}
}
}
</
style
>
<
style
>
.spe-label-require
.el-form-item__label
:before
{
content
:
'*'
;
color
:
#F56C6C
;
margin-right
:
4px
;
}
</
style
>
src/views/report/index.vue
已删除
100644 → 0
浏览文件 @
401188a6
<
template
>
<div
class=
"item-component-wrap"
>
<bread-crumb
:curmbFirst=
"curmbFirst"
:curmbSecond=
"curmbSecond"
>
</bread-crumb>
<div
class=
"component-content screenSet"
id=
"screenSet"
>
<div
class=
"search-title"
>
查询条件
</div>
<el-row
:gutter=
"30"
class=
"row"
type=
"flex"
style=
"margin-top: 10px;"
>
<el-form
ref=
"serchForm"
:model=
"searchParam"
label-width=
"75px"
style=
"width:100%;"
>
<el-col
:span=
"6"
>
<el-form-item
label=
"话题名称:"
>
<el-input
clearable
v-model=
"searchParam.theme"
size=
"mini"
placeholder=
"请输入话题名称"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"创建日期:"
>
<el-date-picker
v-model=
"searchParam.time"
size=
"mini"
type=
"date"
placeholder=
"选择日期"
></el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"创建人:"
>
<el-input
clearable
v-model=
"searchParam.name"
size=
"mini"
placeholder=
"请输入组件名称"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"最后修改人:"
>
<el-input
clearable
v-model=
"searchParam.name"
size=
"mini"
placeholder=
"请输入组件名称"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"状态:"
>
<el-select
clearable
v-model=
"searchParam.status"
size=
"mini"
placeholder=
"请选择发布状态"
>
<el-option
v-for=
"(item,index) in statuSelect"
:key=
"index"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
style=
"text-align:right;padding:0 30px 15px 0;"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"search"
>
查询
</el-button>
<el-button
type=
"default"
size=
"small"
@
click=
"reseat"
>
重置
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"createTopic"
>
新建话题
</el-button>
</el-col>
</el-form>
</el-row>
<el-table
:data=
"tableData"
style=
"width: 100%"
v-loading=
"loading"
>
<el-table-column
prop=
"id"
label=
"排序"
min-width=
"50"
align=
"center"
></el-table-column>
<el-table-column
prop=
"subject"
label=
"话题名称"
min-width=
"100"
align=
"center"
></el-table-column>
<el-table-column
prop=
"createdusername"
label=
"创建人"
min-width=
"50"
align=
"center"
></el-table-column>
<el-table-column
prop=
"remark"
label=
"创建日期"
min-width=
"100"
align=
"center"
></el-table-column>
<el-table-column
prop=
"createdName"
label=
"最后修改人"
min-width=
"100"
align=
"center"
></el-table-column>
<el-table-column
prop=
"createdName"
label=
"修改日期"
min-width=
"100"
align=
"center"
></el-table-column>
<el-table-column
prop=
"status"
label=
"状态"
min-width=
"80"
align=
"center"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
status
|
filteFun
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
fixed=
"right"
align=
"center"
min-width=
"200"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"edit(scope.row)"
>
编辑
</el-button>
<el-button
type=
"primary"
v-if=
"scope.row.status == 3 || scope.row.status == 1"
size=
"small"
@
click=
"optFun(scope.row,'发布')"
>
发布
</el-button>
<el-button
type=
"primary"
v-if=
"scope.row.status == 2"
size=
"small"
@
click=
"optFun(scope.row,'下线')"
>
下线
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"topicManage(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=
"searchParam.pageNo"
:page-sizes=
"[15, 30, 50, 100, 200, 500, 700, 1000, 1500, 2000]"
:page-size=
"searchParam.pageSize"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"totalRows"
>
</el-pagination>
</div>
</div>
</div>
</template>
<
script
>
import
BreadCrumb
from
'../../components/breadcrumb.vue'
import
{
doUpload
,
getFilePath
}
from
"../../utils/qiniu-util"
import
{
validateWord
}
from
"../../utils/validate.js"
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
:
'举报设置'
,
searchParam
:
{
theme
:
''
,
type
:
''
,
name
:
''
,
status
:
''
,
pageNo
:
1
,
pageSize
:
15
},
category
:[
{
value
:
'积木'
,
label
:
'积木'
}
],
statuSelect
:
[
{
label
:
'未发布'
,
value
:
'1'
},{
label
:
'已发布'
,
value
:
'2'
},{
label
:
'已下架'
,
value
:
'3'
}
],
tableData
:
[],
totalRows
:
0
,
loading
:
false
,
isShow
:
true
,
}
},
computed
:
{
...
mapGetters
([
'_token'
,
'idType'
])
},
filters
:{
filteFun
(
index
){
let
str
=
''
;
if
(
index
==
1
){
str
=
'未发布'
}
else
if
(
index
==
2
){
str
=
'已发布'
}
else
if
(
index
==
3
){
str
=
'已下线'
}
return
str
}
},
created
()
{
this
.
getData
()
//this.sun()
},
// 挂载到Dom完成时
mounted
:
function
()
{
commonUtil
.
resizeHeight
()
},
methods
:
{
// 列表查询
search
()
{
this
.
getData
()
},
getFun
(
obj
){
console
.
log
(
obj
)
this
.
isShow
=
false
;
},
//获取数据
getData
(){
let
subject
=
0
,
status
=
0
,
name
=
0
;
if
(
this
.
searchParam
.
theme
!=
''
){
subject
=
this
.
searchParam
.
theme
}
if
(
this
.
searchParam
.
status
!=
''
){
status
=
this
.
searchParam
.
status
}
if
(
this
.
searchParam
.
name
!=
''
){
name
=
this
.
searchParam
.
name
}
this
.
loading
=
true
;
let
url
=
'/interaction/discuss/'
+
subject
+
'/'
+
name
+
'/'
+
status
+
'/'
+
this
.
searchParam
.
pageNo
+
'/'
+
this
.
searchParam
.
pageSize
this
.
GET
(
url
).
then
((
res
)
=>
{
this
.
loading
=
false
if
(
res
.
code
==
'000000'
)
{
this
.
tableData
=
res
.
data
.
discuss
||
[]
this
.
totalRows
=
res
.
data
.
count
}
})
},
// 重置
reseat
()
{
this
.
searchParam
=
Object
.
assign
({},{
theme
:
''
,
type
:
''
,
name
:
''
,
category
:
''
,
status
:
''
,
pageNo
:
1
,
pageSize
:
15
})
this
.
getData
()
},
// 新建组件
createTopic
()
{
this
.
isShow
=
true
;
},
edit
(
item
){
this
.
$router
.
push
({
path
:
'creat-discuss'
,
query
:{
id
:
item
.
id
}})
},
topicManage
(
item
){
},
// 发布、下线
optFun
(
row
,
str
)
{
let
status
=
0
;
if
(
str
==
'发布'
){
status
=
2
}
else
if
(
str
==
'下线'
){
status
=
3
}
this
.
$confirm
(
'确定要'
+
str
+
'该讨论吗?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
this
.
PUT
(
'/interaction/discuss/'
,{
id
:
row
.
id
,
status
:
status
}).
then
((
res
)
=>
{
if
(
res
.
code
==
"000000"
)
{
this
.
$message
({
type
:
'success'
,
message
:
'操作成功!'
});
this
.
getData
()
}
}).
catch
(
function
(
error
)
{
this
.
$message
.
error
(
error
);
});
}).
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
message
:
'已取消'
})
})
},
handleSizeChange
(
value
)
{
this
.
searchParam
.
pageSize
=
value
this
.
getData
()
},
handleCurrentChange
(
value
)
{
this
.
searchParam
.
pageNo
=
value
this
.
getData
()
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.item-component-wrap
{
.component-content
{
padding
:
10px
;
background
:
#fff
;
// margin: 84px 20px 20px;
.search-title
{
padding
:
10px
12px
;
font-size
:
12px
;
color
:
#449284
;
border-bottom
:
1px
solid
#efefef
;
}
.create-button
{
padding
:
0
0
15px
;
margin-top
:
0
!
important
;
text-align
:
right
;
}
.table-empty
{
img
{
width
:
100px
;
}
p
{
margin-top
:
-50px
;
}
}
}
}
</
style
>
src/views/report/reportSet.vue
已删除
100644 → 0
浏览文件 @
401188a6
<
template
>
<div
class=
"item-component-wrap"
>
<bread-crumb
:curmbFirst=
"curmbFirst"
:curmbSecond=
"curmbSecond"
>
</bread-crumb>
<div
class=
"component-content screenSet"
id=
"screenSet"
>
<div
class=
"search-title"
>
预警邮箱
</div>
<el-row
:gutter=
"30"
class=
"row"
type=
"flex"
style=
"margin-top: 10px;"
v-for=
"(item,index) in reportData"
:key=
"index"
>
<el-form
label-width=
"75px"
style=
"width:100%;"
>
<el-col
:span=
"5"
>
<el-form-item
label=
"姓名:"
>
<el-input
clearable
v-model=
"item.userName"
size=
"mini"
placeholder=
"请输入接收人姓名"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"Dr.id:"
>
<el-input
clearable
v-model=
"item.doctorId"
size=
"mini"
placeholder=
"请输入doctorId"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"9"
>
<el-form-item
label=
"邮箱地址:"
>
<el-col
:span=
"12"
style=
"padding-right: 5px;"
>
<el-input
clearable
v-model=
"item.email"
size=
"mini"
placeholder=
"请输入邮箱前缀"
></el-input>
</el-col>
<div
class=
'email-h'
>
@picahealth.com
</div>
</el-form-item>
</el-col>
<el-col
:span=
"2"
>
<div
class=
"opt-icon"
>
<i
class=
"el-icon-circle-plus-outline"
@
click=
"add"
></i>
<i
class=
"el-icon-remove-outline"
@
click=
"remove(index)"
v-if=
"index > 0"
></i>
</div>
</el-col>
</el-form>
</el-row>
<div
class=
"opt-btn"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"save"
:disabled=
"isSaveBack"
>
保存
</el-button>
<el-button
size=
"small"
class=
"button-white"
@
click=
"goBack"
>
返回
</el-button>
</div>
</div>
</div>
</
template
>
<
script
>
import
BreadCrumb
from
'../../components/breadcrumb.vue'
import
{
doUpload
,
getFilePath
}
from
"../../utils/qiniu-util"
import
{
validateWord
}
from
"../../utils/validate.js"
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
:
'举报设置'
,
reportData
:[],
isSaveBack
:
false
,
}
},
computed
:
{
...
mapGetters
([
'_token'
,
'idType'
])
},
created
()
{
this
.
getData
()
},
// 挂载到Dom完成时
mounted
:
function
()
{
commonUtil
.
resizeHeight
()
},
methods
:
{
//返回
goBack
(){
this
.
$router
.
back
(
-
1
)
},
//保存
save
(){
let
index
=
this
.
handelData
(
this
.
reportData
)
console
.
log
(
index
)
if
(
index
==
1
){
this
.
$message
({
message
:
'姓名、邮箱或doctorId不能为空!'
,
type
:
'warning'
});
return
;
}
if
(
index
==
2
){
this
.
$message
({
message
:
'doctorId已存在'
,
type
:
'warning'
});
return
;
}
if
(
index
==
3
){
this
.
$message
({
message
:
'doctorId只能是大于0的纯数字!'
,
type
:
'warning'
,
});
return
;
}
let
d
=
this
.
handelEmail
(
this
.
reportData
,
2
)
let
parm
=
{
informConfigs
:
d
}
//JSON.stringify(this.reportData)
this
.
loading
=
true
;
this
.
isSaveBack
=
true
;
this
.
POST
(
'/interaction/informConfig/insertAdmin'
,
parm
).
then
((
res
)
=>
{
this
.
loading
=
false
if
(
res
.
code
==
'000000'
)
{
this
.
$message
({
message
:
'保存成功!'
,
type
:
'success'
});
}
else
{
this
.
$message
({
message
:
res
.
message
,
type
:
'warning'
});
}
setTimeout
(()
=>
{
this
.
isSaveBack
=
false
;
},
2000
)
})
},
add
(){
this
.
reportData
.
push
(
{
"doctorId"
:
''
,
"email"
:
""
,
"userName"
:
""
},
)
},
remove
(
index
){
this
.
reportData
.
splice
(
index
,
1
);
},
//保存
saveFun
(){
},
handelData
(
d
){
console
.
log
(
d
)
let
index
=
null
,
hash
=
[],
r
=
/^
[
1-9
]
+
\d
*$/
;
for
(
let
i
=
0
;
i
<
d
.
length
;
i
++
){
let
parm
=
String
(
d
[
i
].
doctorId
)
if
(
d
[
i
].
doctorId
==
''
||
d
[
i
].
userName
==
''
||
d
[
i
].
email
==
''
){
index
=
1
break
;
}
if
(
!
r
.
test
(
d
[
i
].
doctorId
)){
console
.
log
(
d
[
i
].
doctorId
)
index
=
3
break
;
}
if
(
hash
.
indexOf
(
parm
)
==
-
1
){
hash
.
push
(
parm
)
}
else
{
index
=
2
;
break
;
}
}
return
index
;
},
//处理邮箱展示
handelEmail
(
d
,
str
){
let
A
=
[],
parm
=
{};
for
(
let
i
=
0
;
i
<
d
.
length
;
i
++
){
parm
=
{...
d
[
i
]}
if
(
str
==
1
){
parm
[
'email'
]
=
d
[
i
].
email
.
split
(
"@"
)[
0
]
}
else
if
(
str
==
2
){
parm
[
'email'
]
=
d
[
i
].
email
+
'@picahealth.com'
}
A
.
push
(
parm
)
}
console
.
log
(
A
)
return
A
;
},
//获取数据
getData
(){
let
parm
=
{
pageNo
:
1
,
pageSize
:
20
}
this
.
GET
(
'/interaction/informConfig/getInformList'
,
parm
).
then
((
res
)
=>
{
if
(
res
.
code
==
'000000'
)
{
if
(
res
.
data
.
length
==
0
){
this
.
reportData
=
[{
"doctorId"
:
''
,
"email"
:
""
,
"userName"
:
""
},]
}
else
{
this
.
reportData
=
this
.
handelEmail
(
res
.
data
,
1
)
||
[]
}
}
else
{
this
.
$message
({
message
:
res
.
message
,
type
:
'warning'
});
}
})
},
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.item-component-wrap
{
.component-content
{
padding
:
10px
;
background
:
#fff
;
// margin: 84px 20px 20px;
.search-title
{
padding
:
10px
12px
;
font-size
:
12px
;
color
:
#449284
;
border-bottom
:
1px
solid
#efefef
;
}
.create-button
{
padding
:
0
0
15px
;
margin-top
:
0
!
important
;
text-align
:
right
;
}
.table-empty
{
img
{
width
:
100px
;
}
p
{
margin-top
:
-50px
;
}
}
.opt-icon
{
line-height
:
40px
;
i
{
margin-right
:
10px
;
}
}
.opt-btn
{
text-align
:
center
}
.email-h
{
float
:
left
;
}
}
}
</
style
>
src/views/topicManage/add-edit.vue
已删除
100644 → 0
浏览文件 @
401188a6
<
template
>
<el-dialog
:title=
"title"
:visible
.
sync=
"dialogFormVisible"
@
close=
"optFun('1')"
>
<el-form
:model=
"form"
class=
"topicOpt"
>
<el-form-item
label=
"主题"
:label-width=
"formLabelWidth"
required
>
<el-input
v-model=
"objInfo.topic.subject"
auto-complete=
"off"
clearable
size=
"mini"
:maxLength=
"max"
placeholder=
"请输入主题(最长60个字符)"
></el-input>
</el-form-item>
<el-form-item
label=
"内容"
:label-width=
"formLabelWidth"
>
<el-input
type=
"textarea"
v-model=
"objInfo.topic.content"
auto-complete=
"off"
clearable
size=
"mini"
:maxLength=
"maxL"
placeholder=
"请输入主题(最长1000个字符)"
rows=
"5"
></el-input>
</el-form-item>
<el-form-item
label=
"话题配图"
:label-width=
"formLabelWidth"
class=
"teste1"
>
<!--
<el-upload
action=
"#"
list-type=
"picture-card"
:file-list=
"fileList"
:on-change=
"selectImg"
:on-preview=
"handlePictureCardPreview"
:on-remove=
"handleRemove"
>
<i
class=
"el-icon-plus"
></i>
-->
<el-upload
action=
"#"
list-type=
"picture-card"
:file-list=
"fileList"
:on-preview=
"handlePictureCardPreview"
:on-remove=
"handleRemove"
:before-upload=
"beforeAvatarUpload"
>
<i
class=
"el-icon-plus"
></i>
</el-upload>
<el-dialog
:visible
.
sync=
"dialogVisible"
size=
"tiny"
:modal=
"false"
:close-on-click-modal=
"false"
>
<img
width=
"100%"
:src=
"dialogImageUrl"
alt=
""
>
</el-dialog>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"optFun('1')"
size=
"mini"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"optFun('2')"
size=
"mini"
:disabled=
"isRequestBack"
>
确 定
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
{
doUpload
,
getFilePath
}
from
"../../utils/qiniu-util"
;
import
{
mapGetters
}
from
"vuex"
;
import
{
openLoading
,
closeLoading
}
from
"../../utils/utils"
;
import
*
as
commonUtil
from
"../../utils/utils"
;
let
vm
=
null
;
export
default
{
data
()
{
return
{
formLabelWidth
:
"80px"
,
form
:{},
id
:
null
,
dialogImageUrl
:
''
,
max
:
60
,
maxL
:
1000
,
dialogVisible
:
false
,
dialogFormVisible
:
false
,
fileList
:[],
title
:
'编辑话题'
,
reType
:
[
'PUT'
,
'POST'
],
isEdit
:
false
,
objInfo
:{
topic
:{
subject
:
''
,
content
:
''
},
images
:[]
},
isRequestBack
:
false
,
};
},
props
:{
isShow
:{
default
:
false
,
type
:
Boolean
},
editInfo
:{
default
:()
=>
{},
type
:
Object
},
discussId
:{
default
:
0
,
type
:
Number
}
},
computed
:
{
...
mapGetters
([
"_token"
,
"idType"
]),
},
created
()
{
this
.
dialogFormVisible
=
this
.
isShow
if
(
this
.
editInfo
.
topic
){
this
.
isEdit
=
true
;
this
.
objInfo
=
this
.
editInfo
;
this
.
objInfo
.
topic
.
content
=
this
.
objInfo
.
topic
.
content
.
replace
(
/ /g
,
" "
);
}
else
{
this
.
title
=
'新增话题'
this
.
isEdit
=
false
}
console
.
log
(
this
.
editInfo
);
if
(
this
.
objInfo
.
images
.
length
>
0
){
for
(
let
i
=
0
;
i
<
this
.
objInfo
.
images
.
length
;
i
++
){
this
.
fileList
.
push
({
url
:
this
.
objInfo
.
images
[
i
].
imageurl
,
imageurl
:
this
.
objInfo
.
images
[
i
].
imageurl
,
id
:
this
.
objInfo
.
images
[
i
].
id
})
}
}
},
// 挂载到Dom完成时
mounted
:
function
()
{
},
methods
:
{
handlePictureCardPreview
(
file
){
//console.log(file)
this
.
dialogImageUrl
=
file
.
url
;
this
.
dialogVisible
=
true
;
},
selectImg
(
file
){
//console.log(file)
this
.
fileList
.
push
({
url
:
file
.
url
,
imageurl
:
file
.
url
,
})
},
beforeAvatarUpload
(
file
){
//console.log(file)
let
imgTypes
=
[
'jpg'
,
'png'
,
'gif'
,
'jpeg'
]
if
(
file
.
type
){
let
fileType
=
file
.
type
.
split
(
'/'
)[
1
];
if
(
imgTypes
.
indexOf
(
fileType
)
==
-
1
){
this
.
showError
(
'上传图片格式仅支持png、jpg、jpeg、gif '
);
return
false
;
}
}
else
{
this
.
showError
(
'上传图片格式仅支持png,jpg,jpeg,gif!'
);
return
false
;
}
// console.log(this.fileList)
if
(
this
.
fileList
.
length
>
5
){
// /、this.$message.info('图片个数不能超过6个')
this
.
showError
(
'上传图片个数不能超过6个'
);
return
false
;
}
this
.
imgDoUpload
(
file
,
4
,
2048
,
400
,
400
)
},
imgDoUpload
(
file
,
urlType
,
size
,
w
,
h
)
{
let
vm
=
this
;
const
isSize
=
file
.
size
/
1024
<
size
;
if
(
!
isSize
)
{
//vm.$message.info('上传图片要小于' + size + 'k')
//vm.$message.info('上传图片要小于2M')
vm
.
showError
(
'上传图片要小于2M'
);
return
;
}
var
_img
=
new
FileReader
()
_img
.
readAsDataURL
(
file
)
_img
.
onload
=
function
(
theFile
)
{
let
image
=
new
Image
()
image
.
src
=
theFile
.
target
.
result
image
.
onload
=
function
()
{
let
_this
=
this
vm
.
$message
.
info
(
'开始上传'
);
doUpload
(
vm
,
file
,
getFilePath
(
file
,
null
),
'preview4'
,
'progress1'
,
1
).
then
(
function
(
path
)
{
//console.log(path)
vm
.
fileList
.
push
({
url
:
path
.
fullPath
,
imageurl
:
path
.
fullPath
})
vm
.
$message
.
success
(
'上传成功'
)
}).
catch
((
res
)
=>
{
console
.
log
(
res
)
});
}
}
},
handleRemove
(
file
,
fileList
){
let
index
=
null
;
if
(
this
.
fileList
.
length
>
0
){
for
(
let
i
=
0
;
i
<
this
.
fileList
.
length
;
i
++
){
if
(
file
.
url
==
this
.
fileList
[
i
].
url
){
index
=
i
;
break
;
}
}
if
(
index
!=
null
){
this
.
fileList
.
splice
(
index
,
1
)
}
//console.log(file)
//console.log(this.fileList)
}
},
optFun
(
index
){
if
(
index
==
1
){
this
.
dialogFormVisible
=
false
;
this
.
$emit
(
'setFun'
,
false
)
}
else
if
(
index
==
2
){
this
.
subFun
()
}
},
//返回
goBack
(){
this
.
$router
.
back
(
-
1
)
},
showError
(
str
){
//console.log(str)
this
.
$message
({
message
:
str
,
type
:
'warning'
});
},
//保存修改讨论组件详细
subFun
(){
let
A
=
this
.
isEdit
?
this
.
reType
[
0
]
:
this
.
reType
[
1
];
let
_this
=
this
;
if
(
this
.
objInfo
.
topic
.
subject
.
length
==
0
){
this
.
showError
(
'请输入主题!'
);
return
;
}
// 加入话题内容识别宫格
let
placeContent
=
this
.
objInfo
.
topic
.
content
.
replace
(
/ /gi
,
' '
);
let
parm
=
{
topic
:{
subject
:
this
.
objInfo
.
topic
.
subject
,
// content:this.objInfo.topic.content,
content
:
placeContent
,
discussid
:
this
.
objInfo
.
topic
.
discussid
||
this
.
discussId
,
id
:
this
.
objInfo
.
topic
.
id
||
null
,
official
:
true
},
images
:
this
.
fileList
}
this
.
isRequestBack
=
true
;
this
[
A
](
'/interaction/topic/'
,
parm
).
then
((
res
)
=>
{
if
(
res
.
code
==
'000000'
)
{
this
.
$message
({
message
:
'操作成功!'
,
type
:
'success'
});
setTimeout
(()
=>
{
this
.
isRequestBack
=
false
;
this
.
$emit
(
'setFun'
,
true
)
},
2000
)
}
else
{
this
.
isRequestBack
=
false
;
this
.
$message
({
message
:
res
.
message
,
type
:
'error'
});
}
}).
catch
(
function
(
error
)
{
///console.log()
//_this.$message.error('接口异常请联系管理员');
});
}
}
};
</
script
>
<
style
lang=
"scss"
scoped
>
.topicOpt
{
.el-form-item__content
{
width
:
80%
;
}
.el-upload--picture-card
{
height
:
80px
;
width
:
80px
;
line-height
:
80px
;
}
.el-upload-list--picture-card
.el-upload-list__item
{
width
:
80px
;
height
:
80px
;
}
.el-form-item__label
{
// line-height: 26px;
}
}
</
style
>
\ No newline at end of file
src/views/topicManage/index.vue
已删除
100644 → 0
浏览文件 @
401188a6
<
template
>
<div
class=
"item-component-wrap"
>
<bread-crumb
:curmbFirst=
"curmbFirst"
:curmbSecond=
"curmbSecond"
>
</bread-crumb>
<div
class=
"component-content screenSet"
id=
"screenSet"
>
<div
class=
"search-title"
>
查询条件
</div>
<el-row
:gutter=
"30"
class=
"row"
type=
"flex"
style=
"margin-top: 10px;"
>
<el-form
ref=
"serchForm"
:model=
"searchParam"
label-width=
"75px"
style=
"width:100%;"
>
<!--
<el-col
:span=
"6"
>
<el-form-item
label=
"话题名称:"
>
<el-input
clearable
v-model=
"searchParam.theme"
size=
"mini"
placeholder=
"请输入话题名称"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"创建日期:"
>
<el-date-picker
v-model=
"searchParam.time"
size=
"mini"
type=
"date"
placeholder=
"选择日期"
></el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"创建人:"
>
<el-input
clearable
v-model=
"searchParam.name"
size=
"mini"
placeholder=
"请输入组件名称"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"最后修改人:"
>
<el-input
clearable
v-model=
"searchParam.name"
size=
"mini"
placeholder=
"请输入组件名称"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"状态:"
>
<el-select
clearable
v-model=
"searchParam.status"
size=
"mini"
placeholder=
"请选择发布状态"
>
<el-option
v-for=
"(item,index) in statuSelect"
:key=
"index"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
-->
<el-col
style=
"text-align:right;padding:0 30px 15px 0;"
>
<!--
<el-button
type=
"primary"
size=
"small"
@
click=
"search"
>
查询
</el-button>
<el-button
type=
"default"
size=
"small"
@
click=
"reseat"
>
重置
</el-button>
-->
<el-button
type=
"primary"
size=
"small"
@
click=
"createTopic"
>
新建话题
</el-button>
</el-col>
</el-form>
</el-row>
<el-table
:data=
"tableData"
style=
"width: 100%"
v-loading=
"loading"
>
<el-table-column
type=
"index"
prop=
"topOrder"
label=
"排序"
min-width=
"50"
align=
"center"
></el-table-column>
<el-table-column
prop=
"id"
label=
"Id"
min-width=
"50"
align=
"center"
></el-table-column>
<el-table-column
prop=
"subject"
label=
"话题名称"
min-width=
"100"
align=
"center"
></el-table-column>
<el-table-column
prop=
"createdName"
label=
"创建人"
min-width=
"50"
align=
"center"
></el-table-column>
<el-table-column
prop=
"createdtime"
label=
"创建日期"
min-width=
"100"
align=
"center"
></el-table-column>
<el-table-column
prop=
"modifiedName"
label=
"最后修改人"
min-width=
"100"
align=
"center"
></el-table-column>
<el-table-column
prop=
"modifiedName"
label=
"话题来源"
min-width=
"100"
align=
"center"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
official
?
'官方'
:
'用户'
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"modifiedtime"
label=
"修改日期"
min-width=
"100"
align=
"center"
></el-table-column>
<el-table-column
prop=
"status"
label=
"状态"
min-width=
"80"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span
v-if=
"!scope.row.official"
>
已发布
</span>
<span
v-else
>
{{
scope
.
row
.
releaseStatus
==
1
?
'已发布'
:
'未发布'
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
fixed=
"right"
align=
"center"
min-width=
"200"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"edit(scope.row)"
>
编辑
</el-button>
<el-button
type=
"primary"
v-if=
"!scope.row.official"
size=
"small"
@
click=
"optFun(scope.row)"
disabled
>
下线
</el-button>
<el-button
type=
"primary"
v-if=
"scope.row.releaseStatus == 1 && scope.row.official"
size=
"small"
@
click=
"optFun(scope.row)"
>
下线
</el-button>
<el-button
type=
"primary"
v-if=
"scope.row.releaseStatus != 1 && scope.row.official"
size=
"small"
@
click=
"optFun(scope.row)"
>
发布
</el-button>
<el-button
v-if=
"scope.row.toporder == 0"
type=
"primary"
size=
"small"
@
click=
"topicManage(scope.row,'置顶')"
>
置顶
</el-button>
<el-button
v-else
type=
"primary"
size=
"small"
@
click=
"topicManage(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=
"pageNo"
:page-sizes=
"[15, 30, 50, 100, 200, 500, 700, 1000, 1500, 2000]"
:page-size=
"pageSize"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"totalRows"
>
</el-pagination>
</div>
</div>
<AddEdit
:isShow=
"isShow"
v-on:setFun=
"getFun"
v-if=
"isShow"
:editInfo=
"editInfo"
:discussId=
"discussId"
></AddEdit>
</div>
</template>
<
script
>
import
BreadCrumb
from
'../../components/breadcrumb.vue'
import
{
doUpload
,
getFilePath
}
from
"../../utils/qiniu-util"
import
{
validateWord
}
from
"../../utils/validate.js"
import
{
mapGetters
}
from
'vuex'
import
{
openLoading
,
closeLoading
}
from
'../../utils/utils'
import
*
as
commonUtil
from
'../../utils/utils'
import
AddEdit
from
'./add-edit.vue'
let
vm
=
null
export
default
{
components
:
{
BreadCrumb
,
AddEdit
},
data
()
{
return
{
curmbFirst
:
'组件'
,
curmbSecond
:
'讨论组件'
,
searchParam
:
{
theme
:
''
,
type
:
''
,
name
:
''
,
status
:
''
,
pageNo
:
1
,
pageSize
:
15
},
category
:[
{
value
:
'积木'
,
label
:
'积木'
}
],
statuSelect
:
[
{
label
:
'未发布'
,
value
:
'1'
},{
label
:
'已发布'
,
value
:
'2'
},{
label
:
'已下架'
,
value
:
'3'
}
],
tableData
:
[],
totalRows
:
0
,
loading
:
false
,
isShow
:
false
,
discussId
:
null
,
pageNo
:
1
,
pageSize
:
15
,
editInfo
:{},
}
},
computed
:
{
...
mapGetters
([
'_token'
,
'idType'
])
},
created
()
{
this
.
discussId
=
Number
(
this
.
$route
.
query
.
id
)
this
.
getData
()
//this.sun()
},
// 挂载到Dom完成时
mounted
:
function
()
{
commonUtil
.
resizeHeight
()
},
methods
:
{
// 列表查询
search
()
{
this
.
getData
()
},
getFun
(
obj
){
console
.
log
(
obj
)
this
.
isShow
=
false
if
(
obj
){
this
.
getData
()
}
},
//获取数据
getData
(){
let
_this
=
this
;
this
.
loading
=
true
;
let
parm
=
{
discussId
:
this
.
discussId
,
pageNo
:
this
.
pageNo
,
pageSize
:
this
.
pageSize
}
this
.
GET
(
'/interaction/topic/getTopicList'
,
parm
).
then
((
res
)
=>
{
this
.
loading
=
false
if
(
res
.
code
==
'000000'
)
{
this
.
tableData
=
res
.
data
.
topics
||
[]
this
.
totalRows
=
res
.
data
.
count
}
else
{
this
.
$message
({
message
:
res
.
message
,
type
:
'warning'
});
}
}).
catch
(
function
(
error
)
{
console
.
log
(
error
.
message
)
_this
.
$message
.
error
(
error
.
message
);
_this
.
loading
=
false
});
},
// 重置
reseat
()
{
this
.
searchParam
=
Object
.
assign
({},{
theme
:
''
,
type
:
''
,
name
:
''
,
category
:
''
,
status
:
''
,
pageNo
:
1
,
pageSize
:
15
})
this
.
getData
()
},
// 新建组件
createTopic
()
{
this
.
editInfo
=
{}
this
.
isShow
=
true
;
},
edit
(
item
){
///topic/getTopicDetailsById
this
.
GET
(
'/interaction/topic/getTopicDetailsById'
,{
topicId
:
item
.
id
}).
then
((
res
)
=>
{
if
(
res
.
code
==
"000000"
)
{
this
.
editInfo
=
res
.
data
;
this
.
isShow
=
true
;
}
else
{
this
.
$message
({
message
:
res
.
message
,
type
:
'warning'
});
}
}).
catch
(
function
(
error
)
{
// this.$message.error(error);
});
},
// 置顶
topicManage
(
item
,
str
){
///topic/topicTop
let
_this
=
this
;
let
status
=
0
;
if
(
str
==
'置顶'
){
status
=
1
}
else
if
(
str
==
'取消置顶'
){
status
=
2
}
this
.
$confirm
(
'确定要'
+
str
+
'该讨论吗?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
_this
.
GET
(
'/interaction/topic/topicTop'
,{
topicId
:
item
.
id
,
topNum
:
status
}).
then
((
res
)
=>
{
if
(
res
.
code
==
"000000"
)
{
_this
.
$message
({
type
:
'success'
,
message
:
'操作成功!'
});
_this
.
setTimeFun
()
}
}).
catch
(
function
(
error
)
{
// this.$message.error(error);
});
}).
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
message
:
'已取消'
})
})
},
setTimeFun
(){
setTimeout
(()
=>
{
this
.
getData
()
},
2000
)
},
// 发布、下线
optFun
(
row
)
{
let
status
=
0
,
str
=
''
,
_this
=
this
,
index
=
0
;
str
=
row
.
releaseStatus
==
1
?
'下架'
:
'发布'
if
(
row
.
releaseStatus
==
1
){
index
=
2
}
else
if
(
row
.
releaseStatus
==
2
){
index
=
1
}
let
parm
=
{
topic
:{
id
:
row
.
id
,
releaseStatus
:
index
}
}
this
.
$confirm
(
'确定要'
+
str
+
'该话题吗?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
_this
.
PUT
(
'/interaction/topic/updateRelease'
,
parm
).
then
((
res
)
=>
{
if
(
res
.
code
==
"000000"
)
{
_this
.
$message
({
type
:
'success'
,
message
:
'操作成功!'
});
_this
.
setTimeFun
()
}
}).
catch
(
function
(
error
)
{
// this.$message.error(error);
});
}).
catch
(()
=>
{
_this
.
$message
({
type
:
'info'
,
message
:
'已取消'
})
})
},
handleSizeChange
(
value
)
{
this
.
pageSize
=
value
this
.
getData
()
},
handleCurrentChange
(
value
)
{
this
.
pageNo
=
value
this
.
getData
()
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.item-component-wrap
{
.component-content
{
padding
:
10px
;
background
:
#fff
;
// margin: 84px 20px 20px;
.search-title
{
padding
:
10px
12px
;
font-size
:
12px
;
color
:
#449284
;
border-bottom
:
1px
solid
#efefef
;
}
.create-button
{
padding
:
0
0
15px
;
margin-top
:
0
!
important
;
text-align
:
right
;
}
.table-empty
{
img
{
width
:
100px
;
}
p
{
margin-top
:
-50px
;
}
}
}
}
</
style
>
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录