Files
zhgh_hhu/target/classes/views/platform/question/onlineAnswer.html
T
2026-09-20 15:46:34 +08:00

155 lines
5.9 KiB
HTML

<!--#
layout("/layouts/platform.html"){
#-->
<div id="app">
<guava ref="guava">
<el-card shadow="never">
<div class="btn-group tool-button">
<el-date-picker
:clearable="false"
placeholder="选择年"
type="year"
v-model="pageForm.year"
value-format="yyyy">
</el-date-picker>
</div>
<div class="btn-group tool-button">
<el-input placeholder="请输入内容" v-model="pageForm.qtitle">
<template slot="prepend">标题</template>
</el-input>
</div>
<div class="btn-group tool-button">
<el-button @click="doSearch" icon="el-icon-search" type="primary"></el-button>
</div>
</el-card>
<el-card shadow="never" class="mt20">
<el-table :data="tableData" align="center" header-align="center" size="medium" style="width: 100%">
<el-table-column align="center" header-align="center" label="序号" type="index">
<template scope="scope">
<span>{{scope.$index+(pageForm.pageNumber - 1) * pageForm.pageSize + 1}} </span>
</template>
</el-table-column>
<el-table-column align="center" header-align="center" label="标题" prop="qtitle"></el-table-column>
<el-table-column align="center" header-align="center" label="说明" prop="qsm"
show-overflow-tooltip>
<template scope="scope">
<div v-html="scope.row.qsm" v-if="!isNull(scope.row.qsm)">
{{scope.row.qsm}}
</div>
<span v-else>暂无</span>
</template>
</el-table-column>
<el-table-column align="center" header-align="center" label="开始时间" prop="startTime">
<template slot-scope="scope">
{{moment(scope.row.startTime).format('YYYY-MM-DD HH:mm')}}
</template>
</el-table-column>
<el-table-column align="center" header-align="center" label="结束时间" prop="endTime">
<template slot-scope="scope">
{{moment(scope.row.endTime).format('YYYY-MM-DD HH:mm')}}
</template>
</el-table-column>
<el-table-column align="center" label="类型" prop="qlx">
<template scope="{row}">
<span v-if="row.qlx===1">调查</span>
<span v-if="row.qlx===2">答题</span>
<!-- <span v-if="row.qlx===3">购物调查</span>-->
<span v-if="row.qlx===4">意向选择</span>
</template>
</el-table-column>
<el-table-column align="center" header-align="center" label="状态" prop="qflag">
<template scope="scope">
<span style="color: #E6A23C" v-if="scope.row.qflag==1">未开启</span>
<span style="color: #67C23A" v-if="scope.row.qflag==2">已开启</span>
<span style="color: #F56C6C" v-if="scope.row.qflag==3">已关闭</span>
</template>
</el-table-column>
<el-table-column align="center" header-align="center" label="操作">
<template scope="scope">
<el-button @click="openStart(scope.row)" size="mini" type="primary">
开始答题
</el-button>
</template>
</el-table-column>
</el-table>
</el-card>
<template #edit>
<online-answer ref="onlineAnswerRef"></online-answer>
</template>
</guava>
</div>
<script>
<!--#include('/platform/question/components/answer.js'){}#-->
new Vue({
el: '#app',
mixins: [initTableMixins],
components: {
onlineAnswer
},
data() {
return {
pageForm: {
status: 1,
type: 2
},
isNull(val) {
return !val
},
dialogVisible: false
}
},
methods: {
async openStart(row) {
const {qid, qlx, qflag, activityUserScopeId} = row
if (qflag !== 2) {
this.$message.warning('该问卷未发布')
return
}
const now = new Date().getTime()
if (now < row.startTime || now > row.endTime) {
this.$message.warning('不在开启时间内')
return
}
if (activityUserScopeId) {
const resp = await $.get('/mobile/question/h5/checkPermission/' + activityUserScopeId)
if (!resp.data) {
this.$message.warning('您无权限参加')
return
}
}
if (qlx === 2) {
this.$refs.guava.edit()
this.$nextTick(() => {
this.$refs.onlineAnswerRef.onOpen(qid)
})
}
},
pageData() {
$.post('/mobile/question/h5/pageData', this.pageForm).then(res => {
if (res.code === 0) {
this.tableData = res.data.list;
this.pageForm.totalCount = res.data.totalCount;
}
})
}
},
created() {
this.pageData()
}
})
</script>
<!--#
}
#-->