mo 3 lat temu
rodzic
commit
2a2df70cdf

+ 13 - 1
src/store/modules/permission.js

@@ -677,7 +677,19 @@ function setDetailRoute(accessedRoutes) {
             id: 'xx19'
           }
         },
-
+        {
+          name: '答题详情',
+          path: 'userAskList',
+          component: () => import('@/views/setQuestions/userAskList'),
+          hidden: true,
+          meta: {
+            noCache: '1',
+            title: '答题详情',
+            belongTopMenu: "/operateManager",
+            activeMenu: '/operateManager/setQuestions',
+            id: 'xx19'
+          }
+        },
       ])
     }
     if (route.path == '/financialManager') {

+ 143 - 110
src/views/reaplceMusicPlayer/answerList.vue

@@ -1,5 +1,5 @@
 <template>
-<div class='m-container'>
+  <div class="m-container">
     <h2>
       <el-page-header @back="onCancel" :content="titleName"></el-page-header>
     </h2>
@@ -22,135 +22,165 @@
         <el-form-item>
           <el-button native-type="submit" type="primary">搜索</el-button>
           <el-button native-type="reset" type="danger">重置</el-button>
-          <el-button type="primary" @click="onExport" v-if="$helpers.permission('questionnaireUserResult/export')">导出</el-button>
+          <el-button
+            type="primary"
+            @click="onExport"
+            v-if="$helpers.permission('questionnaireUserResult/export')"
+            >导出</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="5" :xl="5">
-              <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-row>
+          <el-form
+            label-position="left"
+            :inline="true"
+            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="19" :xl="19">
-              <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;" v-if="o.answerValue || o.additionalValue">{{ o.answerValue ? o.answerValue : o.additionalValue }}</div>
-                    <!-- <div style="padding: 8px 20px; font-size: 14px;" v-else>未答题</div> -->
-                    <el-tag style="margin: 8px 20px; font-size: 14px;" type="danger" v-else>未答题</el-tag>
-                  </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-row>
+        <el-row>
+          <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"
+                  v-if="o.answerValue || o.additionalValue"
+                >
+                  {{ o.answerValue ? o.answerValue : o.additionalValue }}
+                </div>
+                <!-- <div style="padding: 8px 20px; font-size: 14px;" v-else>未答题</div> -->
+                <el-tag
+                  style="margin: 8px 20px; font-size: 14px"
+                  type="danger"
+                  v-else
+                  >未答题</el-tag
+                >
+              </div>
+            </el-collapse-item>
+          </el-collapse>
+        </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"
-        />
+        sync
+        :total.sync="pageInfo.total"
+        :page.sync="pageInfo.page"
+        :limit.sync="pageInfo.limit"
+        :page-sizes="pageInfo.page_size"
+        @pagination="getList"
+      />
     </div>
-</div>
+  </div>
 </template>
 <script>
-import { questionnaireUserResultQueryPage } from './api'
-import { Export } from '@/utils/downLoadFile'
+import { questionnaireUserResultQueryPage } from "./api";
+import { Export } from "@/utils/downLoadFile";
 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();
+  name: "operationQuestion",
+  components: { pagination },
+  data() {
+    let query = this.$route.query;
+    let titleName = "问答详情";
+    return {
+      titleName: titleName,
+      id: query.id,
+      topicId: query.topicId,
+      searchForm: {
+        search: null,
       },
-      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' })
+      tableList: [],
+      pageInfo: {
+        // 分页规则
+        limit: 10, // 限制显示条数
+        page: 1, // 当前页
+        total: 0, // 总条数
+        page_size: [10, 20, 40, 50], // 选择限制显示条数
       },
-      onExport() {
-        Export(this, {
-          url: '/api-web/questionnaireUserResult/export',
-          fileName: '问答详情.xls',
-          method: 'get',
-          params: { cooperationId: this.id, activeType: 'REPLACEMENT' }
-        }, '您确定导出问答详情?')
-      }
-    }
-}
+    };
+  },
+  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" });
+    },
+    onExport() {
+      Export(
+        this,
+        {
+          url: "/api-web/questionnaireUserResult/export",
+          fileName: "问答详情.xls",
+          method: "get",
+          params: { cooperationId: this.id, activeType: "REPLACEMENT" },
+        },
+        "您确定导出问答详情?"
+      );
+    },
+  },
+};
 </script>
 <style lang="scss" scoped>
 .box-card {
   margin-bottom: 10px;
 }
 /deep/.el-collapse-item__header {
-  background: #EDEEF0;
+  background: #edeef0;
   color: #444;
   padding: 0 10px;
 }
@@ -162,7 +192,7 @@ export default {
 }
 
 .demo-table-expand {
-    font-size: 0;
+  font-size: 0;
 }
 .demo-table-expand label {
   width: 90px;
@@ -171,6 +201,9 @@ export default {
 .demo-table-expand .el-form-item {
   margin-right: 0;
   margin-bottom: 0;
-  width: 100%;
+  width: 300px;
+  span {
+    width: 200px;
+  }
 }
-</style>
+</style>

+ 9 - 1
src/views/setQuestions/api.js

@@ -29,4 +29,12 @@ export const questionnaireTopicUpdateStatus = data => request2({
     data,
     method: 'post',
     requestType: 'form'
-})
+})
+
+// 问卷答案 questionnaireUserResult/queryResultPage
+export const questionnaireUserResult = data => request2({
+  url: '/api-web/questionnaireUserResult/queryResultPage',
+  data,
+  params: data,
+  method: 'get',
+})

+ 160 - 109
src/views/setQuestions/index.vue

@@ -1,30 +1,39 @@
 <template>
-  <div class='m-container'>
+  <div class="m-container">
     <h2>
-      <div class="squrt"></div>问卷管理
+      <div class="squrt"></div>
+      问卷管理
     </h2>
     <div class="m-core">
-        <el-button type="primary" @click="onQuestionOperation('create')"
-           v-if="$helpers.permission('/operateManager/questionOperation/create')"
-           class='newBand'>添加问卷</el-button>
-        <save-form :inline="true"
-               @submit="search"
-               @reset="onReSet"
-               ref="searchForm"
-               :model="searchForm">
+      <el-button
+        type="primary"
+        @click="onQuestionOperation('create')"
+        v-if="$helpers.permission('/operateManager/questionOperation/create')"
+        class="newBand"
+        >添加问卷</el-button
+      >
+      <save-form
+        :inline="true"
+        @submit="search"
+        @reset="onReSet"
+        ref="searchForm"
+        :model="searchForm"
+      >
         <el-form-item prop="search">
-            <el-input
-                type="text"
-                clearable
-                v-model="searchForm.search"
-                placeholder="问卷编号或名称"
-            ></el-input>
+          <el-input
+            type="text"
+            clearable
+            v-model="searchForm.search"
+            placeholder="问卷编号或名称"
+          ></el-input>
         </el-form-item>
         <el-form-item prop="status">
-          <el-select v-model="searchForm.status"
-                     filterable
-                     placeholder="请选择问卷状态"
-                     clearable>
+          <el-select
+            v-model="searchForm.status"
+            filterable
+            placeholder="请选择问卷状态"
+            clearable
+          >
             <el-option label="启用" :value="1"></el-option>
             <el-option label="停用" :value="0"></el-option>
           </el-select>
@@ -37,145 +46,187 @@
       </save-form>
       <!-- 列表 -->
       <div class="tableWrap">
-        <el-table :data='tableList'
-                  :header-cell-style="{background:'#EDEEF0',color:'#444'}">
-          <el-table-column align='center'
-                           prop="id"
-                           label="问卷编号">
+        <el-table
+          :data="tableList"
+          :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
+        >
+          <el-table-column align="center" prop="id" label="问卷编号">
             <template slot-scope="scope">
               <copy-text>{{ scope.row.id }}</copy-text>
             </template>
           </el-table-column>
-          <el-table-column align='center'
-                           prop="title"
-                           label="问卷名称">
+          <el-table-column align="center" prop="title" label="问卷名称">
             <template slot-scope="scope">
               <!-- <copy-text>{{ scope.row.title }}</copy-text> -->
-              <overflow-text :text="scope.row.title" ></overflow-text>
+              <overflow-text :text="scope.row.title"></overflow-text>
             </template>
           </el-table-column>
-          <el-table-column align='center'
-                           prop="status"
-                           label="状态">
+          <el-table-column align="center" prop="status" label="状态">
             <template slot-scope="scope">
-              {{ scope.row.status ? '开启' : '关闭' }}
+              {{ scope.row.status ? "开启" : "关闭" }}
             </template>
           </el-table-column>
-          <el-table-column align='center'
-                           label="操作">
+          <el-table-column align="center" label="操作">
             <template slot-scope="scope">
-              <el-button @click="onQuestionOperation('look', scope.row)"
-                         v-if="$helpers.permission('/operateManager/questionOperation/detail')"
-                         type="text">详情</el-button>
-              <el-button @click="onOperation(scope.row)"
-                         v-if="$helpers.permission(scope.row.status ? 'questionnaireTopic/updateStatus/stop' : 'questionnaireTopic/updateStatus/start')"
-                         type="text">{{ scope.row.status ? '停用' : '启用' }}</el-button>
+              <el-button
+                @click="onQuestionOperation('look', scope.row)"
+                v-if="
+                  $helpers.permission(
+                    '/operateManager/questionOperation/detail'
+                  )
+                "
+                type="text"
+                >详情</el-button
+              >
+              <el-button
+                @click="onOperation(scope.row)"
+                v-if="
+                  $helpers.permission(
+                    scope.row.status
+                      ? 'questionnaireTopic/updateStatus/stop'
+                      : 'questionnaireTopic/updateStatus/start'
+                  )
+                "
+                type="text"
+                >{{ scope.row.status ? "停用" : "启用" }}</el-button
+              >
               <!-- 启用的问卷不能修改 -->
-              <el-button @click="onQuestionOperation('update', scope.row)"
-                         v-if="$helpers.permission('/operateManager/questionOperation/update') && !scope.row.status"
-                         type="text">修改</el-button>
+              <el-button
+                @click="onQuestionOperation('update', scope.row)"
+                v-if="
+                  $helpers.permission(
+                    '/operateManager/questionOperation/update'
+                  ) && !scope.row.status
+                "
+                type="text"
+                >修改</el-button
+              >
+              <el-button
+                @click="lookAsk(scope.row)"
+                v-if="
+                  $helpers.permission(
+                    '/userAskList'
+                  )
+                "
+                type="text"
+                >答题详情</el-button
+              >
             </template>
           </el-table-column>
         </el-table>
-        <pagination sync :total.sync="pageInfo.total"
-                    :page.sync="pageInfo.page"
-                    :limit.sync="pageInfo.limit"
-                    :page-sizes="pageInfo.page_size"
-                    @pagination="getList" />
+        <pagination
+          sync
+          :total.sync="pageInfo.total"
+          :page.sync="pageInfo.page"
+          :limit.sync="pageInfo.limit"
+          :page-sizes="pageInfo.page_size"
+          @pagination="getList"
+        />
       </div>
     </div>
-
   </div>
 </template>
 <script>
-import pagination from '@/components/Pagination/index'
-import { questionnaireTopicQueryPage, questionnaireTopicUpdateStatus } from './api'
+import pagination from "@/components/Pagination/index";
+import {
+  questionnaireTopicQueryPage,
+  questionnaireTopicUpdateStatus,
+} from "./api";
 export default {
-  name: 'branchSetting',
+  name: "branchSetting",
   components: { pagination },
-  data () {
+  data() {
     return {
-        searchForm: {
-            search: null,
-            status: null
-        },
-        tableList: [],
-        pageInfo: {
-            // 分页规则
-            limit: 10, // 限制显示条数
-            page: 1, // 当前页
-            total: 0, // 总条数
-            page_size: [10, 20, 40, 50] // 选择限制显示条数
-        },
-        organId: null,
-    }
+      searchForm: {
+        search: null,
+        status: null,
+      },
+      tableList: [],
+      pageInfo: {
+        // 分页规则
+        limit: 10, // 限制显示条数
+        page: 1, // 当前页
+        total: 0, // 总条数
+        page_size: [10, 20, 40, 50], // 选择限制显示条数
+      },
+      organId: null,
+    };
   },
-  mounted () {
-    this.getList()
+  mounted() {
+    this.getList();
   },
   methods: {
-    getList () {
+    getList() {
       questionnaireTopicQueryPage({
         rows: this.pageInfo.limit,
         page: this.pageInfo.page,
-        ...this.searchForm
-      }).then(res => {
+        ...this.searchForm,
+      }).then((res) => {
         if (res.code == 200 && res.data) {
-          this.tableList = res.data.rows
-          this.pageInfo.total = res.data.total
+          this.tableList = res.data.rows;
+          this.pageInfo.total = res.data.total;
         }
-      })
+      });
     },
     onQuestionOperation(type, row) {
-        let str = '问卷'
-        if(type == 'create') {
-          str = '添加' + str
-        } else if(type == 'update') {
-          str = '修改' + str
-        } else if(type == 'look') {
-          str = '查看' + str
-        }
-        let params = {
-          type
-        }
-        if(type == 'update' || type == 'look') {
-          params.id = row.id
+      let str = "问卷";
+      if (type == "create") {
+        str = "添加" + str;
+      } else if (type == "update") {
+        str = "修改" + str;
+      } else if (type == "look") {
+        str = "查看" + str;
+      }
+      let params = {
+        type,
+      };
+      if (type == "update" || type == "look") {
+        params.id = row.id;
+      }
+      this.$router.push(
+        {
+          path: "/operateManager/questionOperations",
+          query: params,
+        },
+        (router) => {
+          router.meta.title = str;
         }
-        this.$router.push({
-            path: '/operateManager/questionOperations',
-            query: params
-        }, (router) => {
-            router.meta.title = str;
-        })
+      );
     },
     async onOperation(row, type) {
-      let str = row.status ? '停用' : '启用'
-      this.$confirm(`是否${str}该问卷?`, '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
+      let str = row.status ? "停用" : "启用";
+      this.$confirm(`是否${str}该问卷?`, "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
       }).then(async () => {
         try {
-            let status = row.status ? 0 : 1
-            await questionnaireTopicUpdateStatus({ topicId: row.id, status: status })
-            this.$message.success(str + '成功')
-            this.getList()
+          let status = row.status ? 0 : 1;
+          await questionnaireTopicUpdateStatus({
+            topicId: row.id,
+            status: status,
+          });
+          this.$message.success(str + "成功");
+          this.getList();
         } catch {
           //
         }
-      })
+      });
     },
     search() {
       this.pageInfo.page = 1;
       this.getList();
     },
     onReSet() {
-      this.$refs['searchForm'].resetFields();
+      this.$refs["searchForm"].resetFields();
       this.search();
     },
-
-  }
-}
+    lookAsk(row){
+      this.$router.push({path:'/operateManager/userAskList',query:{id:row.id,name:row.title}})
+      console.log(row)
+    }
+  },
+};
 </script>
 <style lang="scss" scoped>
 /deep/.el-button--primary {

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

@@ -268,4 +268,4 @@ export default {
 /deep/.el-collapse-item__wrap, /deep/.el-collapse-item__header {
     background-color: #eef4f9;
 }
-</style>
+</style>

+ 203 - 0
src/views/setQuestions/userAskList.vue

@@ -0,0 +1,203 @@
+<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-button
+            type="primary"
+            @click="onExport"
+            v-if="$helpers.permission('questionnaireUserResult/export')"
+            >导出</el-button
+          > -->
+        </el-form-item>
+      </save-form>
+
+      <div class="tableWrap" v-if="tableList.length > 0">
+        <el-table
+          :data="tableList"
+          :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
+        >
+          <el-table-column
+            align="center"
+            :label="item.content"
+            v-for="(item, index) in tableList[0].questionnaireResultDtoList"
+            :key="item.userId"
+          >
+            <template slot-scope="scope">
+              <div v-if=" scope.row.questionnaireResultDtoList[index]&&scope.row.questionnaireResultDtoList[index].type">
+                <p v-if=" scope.row.questionnaireResultDtoList[index].type == 'radio'">
+                  {{
+                    scope.row.questionnaireResultDtoList[index].questionnaireQuestionItemIdList=='true' ? "是" : "否"
+                  }}
+                </p>
+                <p v-if="scope.row.questionnaireResultDtoList[index].type == 'checkbox'">
+                  {{ scope.row.questionnaireResultDtoList[index].answerValue }}
+                </p>
+                <p v-if="scope.row.questionnaireResultDtoList[index].type == 'textarea'">
+                  <overflow-text  :text="scope.row.questionnaireResultDtoList[index].additionalValue" />
+                </p>
+                <div v-if="scope.row.questionnaireResultDtoList[index].type == 'file'">
+                  <p
+                    v-for="(url, index) in JSON.parse(scope.row.questionnaireResultDtoList[index].additionalValue)"
+                    :key="index"
+                  >
+                    <a :href="url.url">{{ url.name }}</a>
+                  </p>
+                </div>
+                <div v-if="scope.row.questionnaireResultDtoList[index].type == 'image'">
+                  <div v-if="JSON.parse(scope.row.questionnaireResultDtoList[index].additionalValue).length > 0">
+                    <el-image
+
+                      v-for="(item,index) in JSON.parse(scope.row.questionnaireResultDtoList[index].additionalValue)"
+                      :key="index"
+                      style="width: 50px; height: 50px;margin-right:5px"
+                      :src="item.url"
+                      :preview-src-list="[
+                        item.url,
+                      ]"
+                    >
+                    </el-image>
+                  </div>
+
+                  <span v-else>--</span>
+                </div>
+              </div>
+              <p v-else>--</p>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+      <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 { questionnaireUserResult } from "./api";
+import { Export } from "@/utils/downLoadFile";
+import pagination from "@/components/Pagination/index";
+export default {
+  name: "operationQuestion",
+  components: { pagination },
+  data() {
+    let query = this.$route.query;
+    let titleName = "问答详情";
+    return {
+      titleName: query.name,
+      id: query.id,
+      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 = {
+          topicId: this.id,
+          page: this.pageInfo.page,
+          rows: this.pageInfo.limit,
+          ...this.searchForm,
+        };
+        console.log(params);
+        let result = await questionnaireUserResult(params);
+        this.tableList = result.data.rows;
+        this.pageInfo.total = result.data.total;
+      } catch {}
+    },
+    onCancel() {
+      this.$store.dispatch("delVisitedViews", this.$route);
+      this.$router.push({ path: "/operateManager/setQuestions" });
+    },
+    // onExport() {
+    //   Export(
+    //     this,
+    //     {
+    //       url: "/api-web/questionnaireUserResult/export",
+    //       fileName: "问答详情.xls",
+    //       method: "get",
+    //       params: { cooperationId: this.id, activeType: "REPLACEMENT" },
+    //     },
+    //     "您确定导出问答详情?"
+    //   );
+    // },
+  },
+};
+</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: 300px;
+  span {
+    width: 200px;
+  }
+}
+</style>