shaogen1995 4 lat temu
rodzic
commit
8cdce17df1

+ 2 - 2
src/configue/http.js

@@ -11,8 +11,8 @@ let loading = ''
 // 不校验token的api
 const notTokenApis = ['/admin/login']
 // 配置请求域名
-// const serverName = 'http://192.168.0.135:8001/'
-const serverName = isProduction ? 'http://8.135.106.227:8001/' : 'http://8.135.106.227:8001/'
+const serverName = 'http://192.168.0.135:8001/'
+// const serverName = isProduction ? 'http://8.135.106.227:8001/' : 'http://8.135.106.227:8001/'
 // http://192.168.0.44:8100/web/index.html#/
 
 const serverLocation = window.location.hostname

+ 24 - 5
src/pages/exhibition/exhibitionEdit.vue

@@ -7,6 +7,19 @@
       label-width="100px"
       class="demo-ruleForm"
     >
+
+      <el-row>
+        <el-col :span="12">
+          <el-form-item label="类型" prop="type">
+            <el-radio-group v-model="form.type">
+              <el-radio label="time">临时展览</el-radio>
+              <el-radio label="fixed">固定展览</el-radio>
+            </el-radio-group>
+          </el-form-item>
+        </el-col>
+      </el-row>
+
+
       <el-row>
         <el-col :span="12">
           <el-form-item label="标题:" prop="name" maxlength="30">
@@ -14,7 +27,7 @@
           </el-form-item>
         </el-col>
       </el-row>
-      <el-row>
+      <el-row v-show="form.type==='time'"> 
         <el-col :span="12">
           <el-form-item label="展览时间:" prop="startTime">
             <el-date-picker
@@ -103,6 +116,7 @@
 import * as common from "@/util/commonfn.js";
 import { VueEditor } from "vue2-editor";
 export default {
+  name:'tanchuang',
   components: {
     VueEditor,
   },
@@ -146,6 +160,7 @@ export default {
         token: window.localStorage.getItem("token"),
       },
       form: {
+        type:"time",
         name: "",
         content: "",
         startTime: "",
@@ -155,14 +170,15 @@ export default {
       rules: {
         name: [{ required: true, message: "请输入标题", trigger: "blur" }],
         startTime: [
-          { required: true, message: "请输入开始时间", trigger: "blur"},
+          // { required: true, message: "请输入开始时间", trigger: "blur"},
           { validator: startTimeRule, trigger: "blur"},
         ],
         endTime: [
-          { required: true, message: "请输入结束时间", trigger: "blur" },
+          // { required: true, message: "请输入结束时间", trigger: "blur" },
           { validator: endTimeRule,  trigger: "blur" },
         ],
         content: [{ required: true, message: "请输入内容", trigger: "blur" }],
+        type: [{ required: true, message: "请输入内容", trigger: "blur" }],
       },
       token: window.localStorage.getItem("token"),
       uploadUrl: `${this.$serverName}manage/exhibition/upload`,
@@ -192,6 +208,8 @@ export default {
       }
     },
     submitForm(formName) {
+      if(this.form.type==='time'&&this.form.startTime==='') return this.$message.warning('开始时间不能为空')
+      if(this.form.type==='time'&&this.form.endTime==='') return this.$message.warning('结束时间不能为空')
       this.$refs[formName].validate((valid) => {
         if (valid) {
           if (!this["form"].thumb) {
@@ -206,8 +224,9 @@ export default {
       });
     },
     async save() {
-      let { content, name, startTime, id, endTime, thumb } = this.form;
+      let { content, name, startTime, id, endTime, thumb,type } = this.form;
       let data = {
+        type,
         content,
         name,
         startTime,
@@ -256,7 +275,7 @@ export default {
   watch: {
     iframeData: {
       handler: function () {
-        this.form = this.iframeData;
+        if(this.iframeData.id) this.form = this.iframeData;
       },
       deep: true,
       immediate: true,

+ 67 - 17
src/pages/questionnaire/questionnaireResult.vue

@@ -16,7 +16,7 @@
             <el-radio v-model="showDataType" label="1">计数</el-radio>
           </div>
         </div>
-        <el-table
+        <!-- <el-table
           :data="tableData"
           height="61vh"
           class="collection-con"
@@ -35,6 +35,18 @@
               {{ handleData(scope.row[key])}}
             </template>
           </el-table-column>
+        </el-table> -->
+        <el-table :data="tableData" style="width: 100%">
+          <el-table-column prop="index" label="题号"></el-table-column>
+          <el-table-column prop="A" label="A" v-if="tableShow.A"></el-table-column>
+          <el-table-column prop="B" label="B" v-if="tableShow.B"></el-table-column>
+          <el-table-column prop="C" label="C" v-if="tableShow.C"></el-table-column>
+          <el-table-column prop="D" label="D" v-if="tableShow.D"></el-table-column>
+          <el-table-column prop="E" label="E" v-if="tableShow.E"></el-table-column>
+          <el-table-column prop="F" label="F" v-if="tableShow.F"></el-table-column>
+          <el-table-column prop="G" label="G" v-if="tableShow.G"></el-table-column>
+          <el-table-column prop="H" label="H" v-if="tableShow.H"></el-table-column>
+          <el-table-column prop="I" label="I" v-if="tableShow.I"></el-table-column>
         </el-table>
       </div>
     </div>
@@ -56,6 +68,17 @@ export default {
   },
   data() {
     return {
+      tableShow:{
+        A:true,
+        B:true,
+        C:true,
+        D:true,
+        E:true,
+        F:true,
+        G:true,
+        H:true,
+        I:true,
+      },
       crumbData,
       detail: {},
       tableData: [],
@@ -80,38 +103,65 @@ export default {
   mounted() {},
 
   methods: {
-    handleData(data) {
-      return (data !== 0 && (!data || data === 'null' )) ? '-': this.showDataType==='0'? String(data*100).slice(0,4)+'%' :data
-    },
     async getInformation() {
+      this.tableData=[]
       let result = await this.$http({
         method: "get",
         url: `/manage/countAnswer/detail/${this.questionGroupId}/${this.showDataType}`,
-        // url: `/manage/countAnswer/detail/36/0`,
       });
       if (result.code !== 0) {
         return;
       }
       this.detail = result.data;
-      this.tableData = this.detail.answer;
-      let maxLen = 0;
-      let maxNum = 0;
-      let maxArr = [];
-      this.tableData.map((item) => {
-        if (Object.entries(item).length > maxLen) {
-          maxLen = Object.entries(item).length;
-          maxNum = item.num;
+      let obj ={}
+      obj = this.detail.answer;
+      // console.log(999,obj);
+      for(let k in obj) {
+        let tempObj ={}
+        tempObj.index = k
+        if(this.showDataType==='0') {
+          obj[k].forEach(v=>{
+            tempObj[v.answer]= (Number(v.count*100).toFixed(0))+'%';
+          })
+        }else if(this.showDataType==='1') {
+          obj[k].forEach(v=>{
+            tempObj[v.answer]= v.count;
+          })
         }
-      });
-      maxArr = this.tableData.filter((item) => item.num === maxNum);
-      this.maxObject = { ...maxArr[0] };
-      delete this.maxObject.num;
+        this.tableData.push(tempObj)
+      }
+      // console.log(9999,this.tableData);
+      // console.log(this.tableData.some(v=>v.a!==''));
+      this.tableData.forEach(v=>{
+        if(!v.A) v.A='-'
+        if(!v.B) v.B='-'
+        if(!v.C) v.C='-'
+        if(!v.D) v.D='-'
+        if(!v.E) v.E='-'
+        if(!v.F) v.F='-'
+        if(!v.G) v.G='-'
+        if(!v.H) v.H='-'
+        if(!v.I) v.I='-'
+      })
+        if(this.tableData.every(v=>v.A==='-')) this.tableShow.A=false
+        if(this.tableData.every(v=>v.B==='-')) this.tableShow.B=false
+        if(this.tableData.every(v=>v.C==='-')) this.tableShow.C=false
+        if(this.tableData.every(v=>v.D==='-')) this.tableShow.D=false
+        if(this.tableData.every(v=>v.E==='-')) this.tableShow.E=false
+        if(this.tableData.every(v=>v.F==='-')) this.tableShow.F=false
+        if(this.tableData.every(v=>v.G==='-')) this.tableShow.G=false
+        if(this.tableData.every(v=>v.H==='-')) this.tableShow.H=false
+        if(this.tableData.every(v=>v.I==='-')) this.tableShow.I=false
     },
   },
 };
 </script>
 
 <style lang="less" scoped>
+/deep/.el-table__body-wrapper{
+  max-height: 512px;
+  overflow-y: auto;
+}
 .top-body {
   border-top: 0.0625rem solid #e6e6e6;
   line-height: 1.5;