Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
confucius
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
罗超
confucius
Commits
12e7fabe
Commit
12e7fabe
authored
Apr 07, 2022
by
zhengke
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
4f782181
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
431 additions
and
0 deletions
+431
-0
questionnaireList.vue
src/pages/activity/questionnaireList.vue
+197
-0
resultPageList.vue
src/pages/activity/resultPageList.vue
+224
-0
routes.js
src/router/routes.js
+10
-0
No files found.
src/pages/activity/questionnaireList.vue
0 → 100644
View file @
12e7fabe
<
template
>
<div
class=
"page-body"
>
<div
class=
"page-search row items-center"
>
<div
class=
"col row wrap q-col-gutter-md"
>
<div
class=
"col-3"
>
<q-input
@
input=
"resetSearch"
clearable
filled
v-model=
"msg.Title"
label=
"问卷调查名称"
maxlength=
"20"
/>
</div>
<div
class=
"col-3"
>
<q-select
@
input=
"resetSearch"
clearable
filled
stack-label
option-value=
"Id"
option-label=
"Name"
v-model=
"msg.SurveyType"
ref=
"SurveyType"
:options=
"platList"
emit-value
map-options
label=
"类型"
:dense=
"false"
/>
</div>
<div
class=
"col-3"
>
<q-select
@
input=
"resetSearch"
filled
v-model=
"msg.IsShow"
:options=
"ShowOpts"
emit-value
map-options
label=
"是否显示"
/>
</div>
</div>
</div>
<div
class=
"page-content"
>
<q-table
:pagination=
"msg"
:loading=
"loading"
no-data-label=
"暂无相关数据"
flat
class=
"sticky-right-column-table sticky-column-table"
separator=
"none"
:data=
"dataList"
:columns=
"columns"
row-key=
"name"
>
<template
v-slot:top
>
<div
class=
"col-2 q-table__title"
>
问卷信息
</div>
<q-space
/>
<div
class=
"page-option"
>
<q-btn
color=
"accent"
size=
"sm"
icon=
"add"
label=
"新增"
@
click=
"addObj(null)"
/>
</div>
</
template
>
<
template
v-slot:body-cell-IsRequired=
"props"
>
<q-td
:props=
"props"
>
<span
v-if=
"props.row.IsRequired==0"
>
否
</span>
<span
v-if=
"props.row.IsRequired==1"
>
是
</span>
</q-td>
</
template
>
<
template
v-slot:body-cell-IsShow=
"props"
>
<q-td
:props=
"props"
>
<span
v-if=
"props.row.IsShow==0"
>
是
</span>
<span
v-if=
"props.row.IsShow==1"
>
否
</span>
</q-td>
</
template
>
<
template
v-slot:bottom
>
<q-pagination
class=
"full-width justify-end"
v-model=
"msg.pageIndex"
color=
"primary"
:max=
"pageCount"
:input=
"true"
@
input=
"changePage"
/>
</
template
>
<!-- <template v-slot:body-cell-optioned="props">
<q-td :props="props">
<q-btn flat size="xs" icon="edit" color="accent" style="font-weight:400" label="编辑"
@click="addObj(props.row)" />
</q-td>
</template> -->
</q-table>
<!-- <teacher-form v-if="persistent" :save-obj="objOption" @close="closeSaveForm" @success="RefreshPage">
</teacher-form> -->
</div>
</div>
</template>
<
script
>
// import teacherForm from '../../components/school/teacher/teacher-form'
export
default
{
meta
:
{
title
:
"问卷调查"
},
components
:
{
// teacherForm
},
data
()
{
return
{
columns
:
[
{
name
:
'ID'
,
label
:
'ID'
,
align
:
'left'
,
field
:
'ID'
},
{
name
:
'Title'
,
label
:
'问题名称'
,
field
:
'Title'
,
align
:
'left'
},
{
name
:
'FormTypeStr'
,
label
:
'问卷类型'
,
field
:
'FormTypeStr'
,
align
:
'left'
},
{
name
:
'IsRequired'
,
label
:
'是否必填'
,
field
:
'IsRequired'
,
align
:
'left'
},
{
name
:
'IsShow'
,
label
:
'是否显示'
,
field
:
'IsShow'
,
align
:
'left'
},
{
name
:
'Sort'
,
label
:
'排序'
,
field
:
'Sort'
,
align
:
'left'
},
{
name
:
'optioned'
,
label
:
'操作'
,
field
:
'TId'
}
],
dataList
:
[],
loading
:
true
,
ShowOpts
:
[{
label
:
'不限'
,
value
:
'-1'
},
{
label
:
'是'
,
value
:
'0'
},
{
label
:
'否'
,
value
:
'1'
}
],
msg
:{
pageIndex
:
1
,
pageSize
:
15
,
rowsPerPage
:
15
,
PrizeType
:
0
,
Title
:
''
,
IsShow
:
'-1'
,
SurveyType
:
0
,
ActivitySurveyId
:
0
,
//活动id
},
platList
:[],
pageCount
:
0
,
persistent
:
false
,
objOption
:
null
,
}
},
created
()
{
},
mounted
()
{
this
.
getPlat
();
this
.
getList
();
},
methods
:
{
getPlat
(){
this
.
apipostDS
(
"/api/Survey/GetSurveyTypeEnumList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
){
this
.
platList
=
res
.
data
.
data
;
let
obj
=
{
Id
:
0
,
Name
:
'不限'
}
this
.
platList
.
unshift
(
obj
);
}
else
{
this
.
Info
(
res
.
data
.
message
);
}
})
},
resetSearch
()
{
this
.
loading
=
true
;
this
.
msg
.
pageIndex
=
1
;
this
.
getList
();
},
getList
(){
this
.
loading
=
true
;
this
.
apipostDS
(
"/api/Survey/GetPageList"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
){
this
.
dataList
=
res
.
data
.
data
.
pageData
;
this
.
pageCount
=
res
.
data
.
data
.
pageCount
;
}
else
{
this
.
Info
(
res
.
data
.
message
);
}
})
},
addObj
(){
}
// changePage(val) {
// this.msg.pageIndex = val;
// this.loading = true;
// this.getTeacher();
// },
},
}
</
script
>
<
style
lang=
"sass"
>
@import
url('~assets/css/table.sass')
</
style
>
\ No newline at end of file
src/pages/activity/resultPageList.vue
0 → 100644
View file @
12e7fabe
<
template
>
<div
class=
"resultPageList"
>
<div
class=
"el-card__header"
><span>
问卷调查列表
</span></div>
<div
class=
"content"
>
<div
style=
"display: flex;flex-direction: row;align-items: center"
>
<div
class=
"block"
>
<div
class=
"searchInput"
style=
"width:250px"
>
<el-input
style=
"display:inline-block;width:225px;height:30px"
placeholder=
"请输入昵称搜索"
v-model=
"msg.AliasName"
size=
"small"
@
clear=
"getList"
@
keyup
.
enter
.
native=
"getList"
clearable
></el-input><span
@
click=
"getList"
class=
"el-icon-search"
style=
"color:#979dad;font-size:14px;position:relative;top:1px"
></span>
</div><span>
填写时间:
</span>
<el-date-picker
v-model=
"dateList"
@
change=
"getList()"
size=
"small"
type=
"datetimerange"
range-separator=
"至"
value-format=
"yyyy-MM-dd"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
></el-date-picker>
</div>
</div>
</div>
<div
style=
"padding: 20px;background: #fff;"
>
<el-table
:data=
"tableData"
header-cell-class-name=
"headClass"
style=
"width: 100%"
border
>
<el-table-column
prop=
"ID"
label=
"ID"
width=
"100"
></el-table-column>
<el-table-column
prop=
"ActiveSurveyName"
label=
"活动名称"
></el-table-column>
<el-table-column
prop=
"AliasName"
label=
"信息"
><template
slot-scope=
"scope"
>
<div
class=
"app-image"
:style=
"
{backgroundImage:'url(' + scope.row.Photo + ')',backgroundSize:'cover'}">
</div>
<div
flex=
"dir:left cross:center"
>
{{
scope
.
row
.
AliasName
}}
</div>
</
template
></el-table-column>
<el-table-column
label=
"创建时间"
prop=
"CreateDateStr"
></el-table-column>
<el-table-column
fixed=
"right"
label=
"操作"
width=
"180"
><
template
slot-scope=
"scope"
>
<!--
<el-tooltip
class=
"item"
effect=
"dark"
content=
"详情"
placement=
"top"
><img
src=
"../../assets/img/userman/detail.png"
alt=
""
class=
"imgstyle"
@
click=
"grant(scope.row)"
>
</el-tooltip>
-->
</
template
></el-table-column>
</el-table>
<el-pagination
style=
"text-align:right"
background
@
current-change=
"handleCurrentChange"
:page-size=
"msg.pageSize"
layout=
"prev, pager, next"
:current-page
.
sync=
"msg.pageIndex"
:total=
"count"
></el-pagination>
</div>
<el-dialog
title=
"用户问卷调查详情"
:visible
.
sync=
"dialogVisible"
width=
"600px"
>
<div
class=
"wjstyle"
v-if=
"xqdata!=null"
>
<div
class=
"row"
style=
"font-size: 16px;margin-bottom: 10px"
><img
:src=
"xqdata.obj.Photo"
alt=
""
style=
"width: 50px;height: 50px;margin-right: 10px"
>
{{xqdata.obj.Name}}
</div>
<div>
创建时间: {{xqdata.obj.CreateDateStr}}
</div>
<div
style=
"font-size: 16px;margin: 10px 0 ;font-weight: bold"
>
用户信息
</div>
<div
v-for=
"(item,index) in xqdata.baseList"
:key=
"index"
>
<div>
{{index+1}}、 {{item.Title}}
</div>
<div
v-if=
"item.SurveyType==4"
style=
"margin: 10px 0;"
>
<el-input
v-if=
"item.FormType==2"
type=
"textarea"
placeholder=
"请输入内容"
v-model=
"item.TextContent"
:rows=
"3"
size=
"small"
:disabled=
"true"
></el-input>
<el-input
v-if=
"item.FormType==1"
type=
"text"
placeholder=
"请输入内容"
v-model=
"item.TextContent"
size=
"small"
:disabled=
"true"
></el-input>
</div>
<!-- 单选 -->
<div
v-if=
"item.SurveyType==2|| item.SurveyType==3"
style=
"margin: 10px 0;"
>
<el-checkbox
v-model=
"x.IsCheck==1?true:false"
disabled
v-for=
"(x,y) in item.SurveyOptionsList"
:key=
"y"
>
{{x.OptionsName}}
</el-checkbox>
</div>
<div
v-if=
"item.SurveyType==1"
style=
"margin: 10px 0;"
>
<el-rate
v-model=
"item.ScoreNum"
disabled
show-score
text-color=
"#ff9900"
score-template=
"{value}分"
>
</el-rate>
</div>
</div>
<div
style=
"font-size: 16px;margin: 10px 0 ;font-weight: bold"
>
问卷调查表信息
</div>
<div
v-for=
"(item,index) in xqdata.surverList"
:key=
"index"
>
<div>
{{index+1}}、 {{item.Title}}
</div>
<div
v-if=
"item.SurveyType==4"
style=
"margin: 10px 0;"
>
<el-input
v-if=
"item.FormType==2"
type=
"textarea"
placeholder=
"请输入内容"
v-model=
"item.TextContent"
:rows=
"3"
size=
"small"
:disabled=
"true"
></el-input>
<el-input
v-if=
"item.FormType==1"
type=
"text"
placeholder=
"请输入内容"
v-model=
"item.TextContent"
size=
"small"
:disabled=
"true"
></el-input>
</div>
<!-- 单选 -->
<div
v-if=
"item.SurveyType==2|| item.SurveyType==3"
style=
"margin: 10px 0;"
>
<el-checkbox
v-model=
"x.IsCheck==1?true:false"
disabled
v-for=
"(x,y) in item.SurveyOptionsList"
:key=
"y"
>
{{x.OptionsName}}
</el-checkbox>
</div>
<div
v-if=
"item.SurveyType==1"
style=
"margin: 10px 0;"
>
<el-rate
v-model=
"item.ScoreNum"
disabled
show-score
text-color=
"#ff9900"
score-template=
"{value}分"
>
</el-rate>
</div>
</div>
</div>
</el-dialog>
</div>
</template>
<
script
>
export
default
{
name
:
"resultPageList"
,
data
()
{
return
{
msg
:
{
pageIndex
:
1
,
pageSize
:
20
,
AliasName
:
''
,
StartDate
:
''
,
EndDate
:
''
,
}
,
tableData
:
[],
count
:
0
,
loading
:
false
,
dateList
:
[],
dialogVisible
:
false
,
xqdata
:
null
,
}
}
,
created
()
{
this
.
getDateList
();
}
,
methods
:
{
getDateList
()
{
this
.
loading
=
true
;
if
(
this
.
dateList
&&
this
.
dateList
.
length
>
0
)
{
this
.
msg
.
StartDate
=
this
.
dateList
[
0
];
this
.
msg
.
EndDate
=
this
.
dateList
[
1
];
}
else
{
this
.
msg
.
StartDate
=
''
;
this
.
msg
.
EndDate
=
''
;
}
this
.
apipost
(
"/api/Survey/GetResultPageList"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
tableData
=
res
.
data
.
data
.
pageData
;
this
.
count
=
res
.
data
.
data
.
count
;
}
else
{
this
.
Info
(
res
.
data
.
message
);
}
}
)
},
getList
()
{
this
.
msg
.
pageIndex
=
1
this
.
getDateList
();
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getDateList
();
},
grant
(
row
)
{
this
.
apipost
(
"/api/Survey/GetGuestSurveyDetails"
,
{
SurveyID
:
row
.
ID
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
xqdata
=
res
.
data
.
data
;
this
.
dialogVisible
=
true
}
else
{
this
.
Info
(
res
.
data
.
message
);
}
}
)
}
}
}
</
script
>
<
style
>
.resultPageList
.el-card__header
{
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
justify-content
:
space-between
;
background
:
#fff
;
}
.resultPageList
.el-button--small
{
padding
:
9px
15px
;
}
.resultPageList
.content
.searchInput
{
border
:
1px
solid
#DCDFE6
;
border-radius
:
4px
;
margin-left
:
20px
;
}
.resultPageList
.content
.searchInput
.el-input__inner
{
border
:
none
;
outline
:
none
;
height
:
30px
;
line-height
:
30px
;
}
.resultPageList
.content
.searchInput
{
line-height
:
normal
;
display
:
inline-table
;
border-collapse
:
separate
;
border-spacing
:
0
;
width
:
250px
;
}
.resultPageList
.content
{
background
:
#fff
;
margin-top
:
10px
;
padding
:
15px
;
box-sizing
:
border-box
;
}
.resultPageList
.app-image
{
background-position
:
center
center
;
width
:
50px
;
height
:
50px
;
border-radius
:
0%
;
float
:
left
;
margin-right
:
8px
;
}
.resultPageList
.wjstyle
{
width
:
100%
;
;
}
</
style
>
src/router/routes.js
View file @
12e7fabe
...
@@ -1180,6 +1180,16 @@ const routes = [{
...
@@ -1180,6 +1180,16 @@ const routes = [{
component
:
()
=>
component
:
()
=>
import
(
"pages/activity/myadvert.vue"
)
import
(
"pages/activity/myadvert.vue"
)
},
},
{
path
:
"/activity/questionnaireList"
,
//问卷调查表
component
:
()
=>
import
(
"pages/activity/questionnaireList.vue"
)
},
{
path
:
"/activity/resultPageList"
,
//查看结果
component
:
()
=>
import
(
"pages/activity/resultPageList.vue"
)
},
{
{
path
:
"/sale/appointManagement"
,
//销售 约课管理
path
:
"/sale/appointManagement"
,
//销售 约课管理
component
:
()
=>
component
:
()
=>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment