Browse Source

修改显示

lex-xin 4 years ago
parent
commit
f1091cd1fe

+ 2 - 0
src/App.vue

@@ -355,6 +355,8 @@ input[type="number"] {
 .horizontal-scrollbar {
   .el-scrollbar__wrap {
     overflow-x: hidden;
+    margin-bottom: -8px !important;
+    margin-right: -8px !important;
     .el-scrollbar__view {
       white-space: nowrap;
     }

+ 1 - 0
src/router/index.js

@@ -439,6 +439,7 @@ export const asyncRoutes = {
   downList:()=>import('@/views/reportForm/downList'),
   // 乐器置换
   reaplceMusicPlayer:()=>import('@/views/reaplceMusicPlayer'),
+  answerList:()=>import('@/views/reaplceMusicPlayer/answerList'),
   // 问卷管理
   setQuestions: () => import('@/views/setQuestions'),
   questionOperation: () => import('@/views/setQuestions/operation'),

+ 164 - 0
src/views/reaplceMusicPlayer/answerList.vue

@@ -0,0 +1,164 @@
+<template>
+<div class='m-container'>
+    <h2>
+      <el-page-header @back="onCancel" :content="titleName"></el-page-header>
+    </h2>
+    <div class="m-core">
+      <save-form
+        :inline="true"
+        ref="searchForm"
+        :model="searchForm"
+        @submit="search"
+        @reset="onReSet"
+      >
+        <el-form-item prop="search">
+          <el-input
+            v-model.trim="searchForm.search"
+            clearable
+            @keyup.enter.native="search"
+            placeholder="编号/姓名/手机号"
+          ></el-input>
+        </el-form-item>
+        <el-form-item>
+          <el-button native-type="submit" type="primary">搜索</el-button>
+          <el-button native-type="reset" type="danger">重置</el-button>
+        </el-form-item>
+      </save-form>
+      <el-card class="box-card" v-for="item in tableList" :key="item.id">
+          <el-row>
+            <el-col :xs="24" :sm="24" :md="6" :lg="4" :xl="4">
+              <el-form label-position="left" inline label-width="90px" class="demo-table-expand">
+                <el-form-item label="学生编号">
+                  <span><copy-text>{{ item.userId}}</copy-text></span>
+                </el-form-item>
+                <el-form-item label="学生姓名">
+                  <span><copy-text>{{ item.username}}</copy-text></span>
+                </el-form-item>
+                <el-form-item label="学生手机号">
+                  <span><copy-text>{{ item.phone}}</copy-text></span>
+                </el-form-item>
+              </el-form>
+              <!-- <el-row :gutter="10" style="font-size: 14px">
+                <el-col :span="24" style="padding-bottom: 8px"><>学生编号:<copy-text>{{ item.userId}}</copy-text></el-col>
+                <el-col :span="24" style="padding-bottom: 8px">学生姓名:<copy-text>{{ item.username}}</copy-text></el-col>
+                <el-col :span="24" style="padding-bottom: 8px">学生手机号:<copy-text>{{ item.phone}}</copy-text></el-col>
+              </el-row> -->
+            </el-col>
+            <el-col :xs="24" :sm="24" :md="18" :lg="20" :xl="20">
+              <el-collapse>
+                <el-collapse-item title="查看答案" name="1">
+                  <div v-for="(o, index) in item.questionnaireResultDtoList" :key="index" class="text item">
+                    <el-alert :title="o.content" type="info" :closable="false"></el-alert>
+                    <div style="padding: 8px 20px; font-size: 14px;">{{ o.answerValue }}</div>
+                  </div>
+                </el-collapse-item>
+              </el-collapse>
+              <!-- <div v-for="(o, index) in item.questionnaireResultDtoList" :key="index" class="text item">
+                <el-alert :title="o.content" type="info" :closable="false"></el-alert>
+                <div style="padding: 8px 20px; font-size: 14px;">{{ o.answerValue }}</div>
+              </div> -->
+            </el-col>
+          </el-row>
+      </el-card>
+      <empty v-if="tableList.length <= 0" />
+      <pagination
+          sync
+          :total.sync="pageInfo.total"
+          :page.sync="pageInfo.page"
+          :limit.sync="pageInfo.limit"
+          :page-sizes="pageInfo.page_size"
+          @pagination="getList"
+        />
+    </div>
+</div>
+</template>
+<script>
+import { questionnaireUserResultQueryPage } from './api'
+import pagination from "@/components/Pagination/index";
+export default {
+    name: 'operationQuestion',
+    components: { pagination },
+    data () {
+        let query = this.$route.query
+        let titleName = '答案详情'
+        return {
+            titleName: titleName,
+            id: query.id,
+            topicId: query.topicId,
+            searchForm: {
+              search: null,
+            },
+            tableList: [],
+            pageInfo: {
+              // 分页规则
+              limit: 10, // 限制显示条数
+              page: 1, // 当前页
+              total: 0, // 总条数
+              page_size: [10, 20, 40, 50], // 选择限制显示条数
+            },
+        }
+    },
+    async mounted () {
+      this.getList()
+    },
+    methods: {
+      search() {
+        this.pageInfo.page = 1;
+        this.getList();
+      },
+      onReSet() {
+        this.$refs.searchForm.resetFields();
+        this.search();
+      },
+      async getList() {
+        try {
+          let params = {
+            activeId: this.id,
+            activeType: 'REPLACEMENT',
+            page: this.pageInfo.page,
+            rows: this.pageInfo.limit,
+            ...this.searchForm
+          }
+          let result = await questionnaireUserResultQueryPage(params)
+          this.tableList = result.data.rows
+          this.pageInfo.total = result.data.total
+        } catch {
+
+        }
+      },
+      onCancel() {
+        this.$store.dispatch('delVisitedViews', this.$route)
+        this.$router.push({ path: '/otherManager/reaplceMusicPlayer' })
+      }
+    }
+}
+</script>
+<style lang="scss" scoped>
+.box-card {
+  margin-bottom: 10px;
+}
+/deep/.el-collapse-item__header {
+  background: #EDEEF0;
+  color: #444;
+  padding: 0 10px;
+}
+/deep/.el-collapse-item__wrap {
+  border: 0;
+}
+/deep/.el-collapse-item__content {
+  padding-bottom: 0;
+}
+
+.demo-table-expand {
+    font-size: 0;
+}
+.demo-table-expand label {
+  width: 90px;
+  color: #99a9bf;
+}
+.demo-table-expand .el-form-item {
+  margin-right: 0;
+  margin-bottom: 0;
+  width: 100%;
+}
+</style>

+ 14 - 1
src/views/reaplceMusicPlayer/api.js

@@ -67,6 +67,19 @@ export function updateInstrumentActivity (data) {
   })
 }
 
-// 导出
+export function questionnaireUserResultQueryPage (data) {
+  return request2({
+    url: api + `/questionnaireUserResult/queryPage`,
+    method: 'get',
+    params: data,
+  })
+}
 
+export function questionnaireQuestionQueryPage (data) {
+  return request2({
+    url: api + `/questionnaireQuestion/queryPage`,
+    method: 'get',
+    params: data,
+  })
+}
 

+ 21 - 10
src/views/reaplceMusicPlayer/index.vue

@@ -75,6 +75,11 @@
         >
           <el-table-column
             align="center"
+            prop="id"
+            label="编号"
+          ></el-table-column>
+          <el-table-column
+            align="center"
             prop="organName"
             label="分部"
           ></el-table-column>
@@ -125,12 +130,11 @@
               <div>{{ scope.row.openPay ? "是" : "否" }}</div>
             </template>
           </el-table-column>
-          <el-table-column align="center" width="180px" label="操作">
+          <el-table-column align="center" width="250px" label="操作">
             <template slot-scope="scope">
               <div>
-                <el-button type="text" @click="lookDetail(scope.row)" v-if="permission('replacementInstrumentActivity/queryPage')"
-                  >详情</el-button
-                >
+                <el-button type="text" @click="lookDetail(scope.row)" v-if="permission('replacementInstrumentActivity/queryPage')">问卷详情</el-button>
+                <el-button type="text" @click="lookDetail(scope.row, 'answer')">答题详情</el-button>
                 <el-button
                   type="text"
                   @click="onCreateQRCode(scope.row, '调查链接')"
@@ -211,14 +215,11 @@
 </template>
 
 <script>
-import axios from "axios";
-import { getToken } from "@/utils/auth";
 import { permission } from "@/utils/directivePage";
 import { vaildStudentUrl, vaildTeachingUrl } from "@/utils/validate";
 import pagination from "@/components/Pagination/index";
 import addUrl from "./modals/addUrl";
 import detail from "./modals/detail";
-import load from "@/utils/loading";
 import { getReplacementList, openPayReplacement } from "./api";
 import { Export } from '@/utils/downLoadFile'
 import cleanDeep from 'clean-deep'
@@ -318,9 +319,19 @@ export default {
         "您确定导出乐器置换列表"
       );
     },
-    lookDetail(row) {
-      this.activeRow = row;
-      this.detailVisible = true;
+    lookDetail(row, type) {
+      if(type == 'answer') {
+        this.$router.push({
+          path: '/reaplceMusicPlayer/answer',
+          query: {
+            id: row.id,
+            topicId: row.topicId
+          }
+        })
+      } else {
+        this.activeRow = row;
+        this.detailVisible = true;
+      }
     },
     onCreateQRCode(row, name) {
       // 生成链接

+ 10 - 3
src/views/reaplceMusicPlayer/modals/detail.vue

@@ -76,9 +76,10 @@
     </el-form>
     <div class="tableWrap">
       <el-table
-        style="width: 100%"
+        style="width: 100% !important"
         :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
         :data="tableList"
+        max-height="500"
       >
         <el-table-column
           align="center"
@@ -204,7 +205,7 @@ export default {
   data() {
     return {
       searchForm: {
-        cooperationOrganId: "",
+        cooperationId: "",
         specification: "",
         search: "",
         subjectId: "",
@@ -230,7 +231,7 @@ export default {
   },
   methods: {
     async init() {
-      this.searchForm.cooperationOrganId = this.detail.cooperationOrganId;
+      this.searchForm.cooperationId = this.detail.id;
       await this.$store.dispatch("setSubjects");
       this.getList();
     },
@@ -296,3 +297,9 @@ export default {
   },
 };
 </script>
+
+<style lang="less" scoped>
+/deep/.el-table th {
+  background: #edeef0;
+}
+</style>

+ 1 - 1
src/views/setQuestions/components/questionList.vue

@@ -29,7 +29,7 @@
                 style="display: inline-block;"
                 :prop="'questionnaireQuestionItemList.' + index + '.answerValue'"
                 :rules="[{ required: true, message: '请输入选项内容', trigger: 'change' }]">
-                <el-input type="text" placeholder="请输入选项内容" :disabled="disabled" v-model="questionnaireQuestionItemList.answerValue"></el-input>
+                <el-input type="text" placeholder="请输入选项内容" :disabled="disabled" maxlength="100" show-word-limit v-model="questionnaireQuestionItemList.answerValue"></el-input>
             </el-form-item>
             <el-form-item label="是否终止答题"
                 style="display: inline-block;"

+ 1 - 1
src/views/setQuestions/index.vue

@@ -17,7 +17,7 @@
                 type="text"
                 clearable
                 v-model="searchForm.search"
-                placeholder="问卷编号或编号"
+                placeholder="问卷编号或名称"
             ></el-input>
         </el-form-item>
         <el-form-item prop="status">

+ 1 - 1
src/views/setQuestions/operation.vue

@@ -64,7 +64,7 @@
                 <el-button style="width: 100%" type="default" :disabled="disabled" @click="addQuestionItem(form.questionnaireQuestionList)" icon="el-icon-plus">新增问题</el-button>
             </el-col>
         </el-row>
-        <el-button type="primary" :disabled="disabled" @click="onSubmit">{{ type == 'create' ? '提交问卷' : '修改问卷' }}</el-button>
+        <el-button type="primary" :disabled="disabled" @click="onSubmit">{{ type == 'create' ? '生成问卷' : '修改问卷' }}</el-button>
         <el-button @click="onReset" :disabled="disabled">重置</el-button>
         <el-button @click="onPreview">预览</el-button>