瀏覽代碼

fix bug done

xjc 4 年之前
父節點
當前提交
baa357b706
共有 5 個文件被更改,包括 73 次插入6 次删除
  1. 3 0
      src/api.js
  2. 2 2
      src/views/Home.vue
  3. 66 3
      src/views/message/MessageAnalyse.vue
  4. 1 1
      src/views/message/survey/answer.html
  5. 1 0
      vue.config.js

+ 3 - 0
src/api.js

@@ -198,6 +198,9 @@ export default {
 	downloadAnalyseItem:params => {
 		return axios.post(`${baseURL}/api/admin/message/survey/result/download/item`,params,{responseType:"blob"});
 	},
+	showAnalyseItem: params => {
+		return axios.get(`${baseURL}/api/admin/message/survey/result/show/item`, { params: params });
+	},
 	// 通知管理
 	addNotice: params => {
 		return axios.post(`${baseURL}/api/admin/message/notice`, params);

+ 2 - 2
src/views/Home.vue

@@ -10,8 +10,8 @@
 	<el-container>
 		<el-header>
 			<div class="header">
-				<!-- <img class="logo" src="../assets/logo.png" alt=""> -->
-				<!-- <div class="siteTitle">中科院期刊微信公众号集中管理平台</div> -->
+				<img class="logo" src="../assets/logo.png" alt="">
+				<div class="siteTitle">中科院期刊微信公众号集中管理平台</div>
 			</div>	
 			<div class="nav">
 				<!-- <router-link :class="act?'active':''" to="/index/index" @click.native='active(1)'>首页</router-link>

+ 66 - 3
src/views/message/MessageAnalyse.vue

@@ -60,13 +60,19 @@
             >导出Excel</span
           >
         </div>
-        <div
+        <!-- <div
           class="item-content"
           v-if="item.type == 'input' || item.type == 'textarea'"
         >
           【答案】:<span v-for="(item1, index) in item.result" :key="index"
             >{{ item1 }}{{ index == item.result.length - 1 ? "" : "、" }}</span
           >
+        </div> -->
+        <div
+          class="item-content"
+          v-if="item.type == 'input' || item.type == 'textarea'"
+        >
+          【答案】:<el-button type="primary" size="mini" @click="showItemResult(item)">查看详情</el-button>
         </div>
         <div
           class="item-content"
@@ -83,15 +89,43 @@
           </el-table>
           <div
             :id="`chartPie${index}`"
-            style="width: 500px; height: 150px"
+            style="width: 500px; height: 250px"
           ></div>
           <div
             :id="`chartBar${index}`"
-            style="width: 500px; height: 150px"
+            style="width: 500px; height: 250px"
           ></div>
         </div>
       </div>
     </div>
+     <!-- 查看答题详情 -->
+    <el-dialog
+        :title="dialogTitle"
+        :close-on-click-modal="false"
+        :visible.sync="dialogVisible"
+      >
+        <div class="content">
+            <el-table
+              class="table"
+              :data="analyseDataList"
+              height="50vh"
+              border
+              v-loading="loading"
+              default-expand-all
+              row-key="id"
+              style="width: 100%"
+            >
+              <el-table-column v-for="(item, key) in this.headers" :key="key" :prop="item" :label="item"> </el-table-column>
+            </el-table>
+            <Page
+              ref="pageButton"
+              :current="form.page"
+              :page_size="form.page_size"
+              :total="total"
+              @pageChange="gopage"
+            />
+        </div>
+    </el-dialog>
   </section>
 </template>
 <script>
@@ -104,8 +138,14 @@ export default {
   data() {
     return {
       //   checked: [],
+      form:{},
+      total: 1,
       loading: false,
       results: [],
+      dialogTitle:"",
+      dialogVisible:false,
+      analyseDataList:[],
+      headers:[]
     };
   },
   filters: {
@@ -121,6 +161,13 @@ export default {
   },
 
   methods: {
+    gopage(size) {
+      if (size) {
+        this.form.page_size = size;
+      }
+      this.form.page = this.$refs.pageButton.page;
+      this.showItemResult();
+    },
     downloadAll() {
       let message_id = this.$route.query.id;
       let type = this.$route.query.type;
@@ -173,6 +220,22 @@ export default {
           this.download_loading = false;
         });
     },
+    showItemResult(item) {
+      console.log(item)
+      this.dialogTitle = '"'+item.label+'"答案详情'
+      let message_id = this.$route.query.id;
+      let type = this.$route.query.type;
+      var parm = this.form;
+      parm.message_id = message_id
+      parm.type = type
+      parm.item = item.label
+      this.$api.showAnalyseItem(parm).then((res)=>{
+        let data = res.data.data
+        this.headers = Object.keys(data[0])
+        this.analyseDataList = data
+      })
+      this.dialogVisible = true;
+    },
     getData() {
       let message_id = this.$route.query.id;
       let type = this.$route.query.type;

+ 1 - 1
src/views/message/survey/answer.html

@@ -48,7 +48,7 @@
       <img src="static/survey_logo.png" alt="" class="survey_logo" />
       <h5 align="center" class="tpl_title">{{ title }}</h5>
       <el-form ref="form2" :model="form2" class="tpl_form over_y" :rules="rules1.rules" v-if="this.form2.status==1">
-        <el-form-item v-for="(item, index) in widgetList" :key="index" :label="(index+1)+'、'+(item.label)"
+        <el-form-item v-for="(item, index) in widgetList" :key="index" :label="(index+1)+'、'+(item.label)+item.cntype"
           :prop="item.label">
           <el-input v-if="item.type == 'input'" v-model="form2[item.label]" :placeholder="item.placeholder"></el-input>
           <el-input v-if="item.type == 'textarea'" type="textarea" v-model="form2[item.label]"

+ 1 - 0
vue.config.js

@@ -3,6 +3,7 @@ module.exports={
         proxy:{
             '/api':{
                 target:'http://39.107.246.59:81',
+                // target:'https://test.scxjc.club',
                 changeOrigin: true,
             }
         }