<template>
|
<div class="app-container">
|
<el-table v-loading="listLoading" :data="tableData" border fit highlight-current-row style="width: 100%">
|
<el-table-column prop="questionTitle" label="反馈题目" />
|
<el-table-column prop="describe" label="反馈描述" />
|
<el-table-column prop="userName" label="反馈用户" />
|
<el-table-column prop="fix" label="是否处理" width="100px" align="center">
|
<template slot-scope="{row}">
|
<el-tag :type="row.fix ? 'success' : 'warning'">{{ row.fix ? '已处理' : '未处理' }}</el-tag>
|
</template>
|
</el-table-column>
|
<el-table-column prop="fixTime" label="处理时间" width="160px"/>
|
<el-table-column label="操作" align="center" width="300px">
|
<template slot-scope="{row}">
|
<el-button size="mini" @click="showQuestion(row)" class="link-left">题目预览</el-button>
|
<el-popconfirm title="确认处理" @confirm="hanldSettleFeedback(row)">
|
<el-button slot="reference" v-if="!row.fix" size="mini" type="primary" class="link-left">确认处理</el-button>
|
</el-popconfirm>
|
<el-popconfirm title="确认删除" @confirm="hanldDeleteFeedback(row)">
|
<el-button slot="reference" size="mini" type="danger" class="link-left">删除</el-button>
|
</el-popconfirm>
|
</template>
|
</el-table-column>
|
</el-table>
|
<pagination v-show="total > 0" :total="total" :page.sync="queryParam.pageIndex" :limit.sync="queryParam.pageSize"
|
@pagination="search" />
|
|
<!-- 预览框 -->
|
<el-dialog :visible.sync="questionShow.dialog" style="width: 100%;height: 100%">
|
<QuestionShow :qType="questionShow.qType" :question="questionShow.question" :qLoading="questionShow.loading"/>
|
</el-dialog>
|
</div>
|
</template>
|
|
<script>
|
import Pagination from '@/components/Pagination'
|
import feedbackApi from '@/api/feedback'
|
import QuestionShow from '../exam/question/components/Show'
|
import questionApi from '@/api/question'
|
|
export default {
|
components: { Pagination, QuestionShow },
|
data() {
|
return {
|
queryParam: {
|
pageIndex: 1,
|
pageSize: 10
|
},
|
subjectFilter: null,
|
listLoading: true,
|
tableData: [],
|
total: 0,
|
questionShow: {
|
qType: 0,
|
dialog: false,
|
question: null,
|
loading: false
|
},
|
}
|
},
|
created() {
|
this.search()
|
},
|
methods: {
|
search() {
|
this.listLoading = true
|
feedbackApi.getFeedbackPageList(this.queryParam).then(data => {
|
const re = data.response
|
this.tableData = re.list
|
this.total = re.total
|
this.queryParam.pageIndex = re.pageNum
|
this.listLoading = false
|
})
|
},
|
showQuestion (row) {
|
let _this = this
|
this.questionShow.dialog = true
|
this.questionShow.loading = true
|
questionApi.select(row.questionId).then(re => {
|
_this.questionShow.qType = re.response.questionType
|
_this.questionShow.question = re.response
|
_this.questionShow.loading = false
|
})
|
},
|
hanldSettleFeedback(row) {
|
feedbackApi.settleFeedback(row.id).then(res => {
|
this.$message({
|
message: '操作成功',
|
type: 'success'
|
})
|
this.search()
|
})
|
},
|
hanldDeleteFeedback(row) {
|
feedbackApi.deleteFeedback(row.id).then(res => {
|
this.$message({
|
message: '操作成功',
|
type: 'success'
|
})
|
this.search()
|
})
|
}
|
}
|
}
|
</script>
|