소스 검색

下载问卷统计结果完成

xjc 4 년 전
부모
커밋
140421f32e
2개의 변경된 파일76개의 추가작업 그리고 51개의 파일을 삭제
  1. 53 48
      src/api.js
  2. 23 3
      src/views/message/Message.vue

+ 53 - 48
src/api.js

@@ -5,12 +5,12 @@ axios.interceptors.request.use(
 	config => {
 		const token = localStorage.getItem('token');
 		// if (config.url.indexOf('downloadzip') >= 0) {
-			// if (token) { // 判断是否存在token,如果存在的话,则每个http header都加上token                      
-			// 	config.headers.Authorization = `${token}`;   
-			// } else {
-			// 	//未登录
-			// 	window.location.hash = "/login";
-			// }
+		// if (token) { // 判断是否存在token,如果存在的话,则每个http header都加上token                      
+		// 	config.headers.Authorization = `${token}`;   
+		// } else {
+		// 	//未登录
+		// 	window.location.hash = "/login";
+		// }
 		// } 
 		return config;
 	},
@@ -65,111 +65,116 @@ export default {
 	},
 	// 账号
 	getUserList: params => {
-		return axios.get(`${baseURL}/api/admin/user/list`,{params:params})
+		return axios.get(`${baseURL}/api/admin/user/list`, { params: params })
 	},
 	getAllSysUserList: params => {
-		return axios.get(`${baseURL}/api/admin/user/all`,{params:params})
+		return axios.get(`${baseURL}/api/admin/user/all`, { params: params })
 	},
 	// 获取用户待选期刊列表
-	getUserJournals:() => {
+	getUserJournals: () => {
 		return axios.get(`${baseURL}/api/admin/user/journals`)
 	},
 	// 获取用户待选角色列表
-	getUserRoles:() => {
+	getUserRoles: () => {
 		return axios.get(`${baseURL}/api/admin/user/roles`)
 	},
 	//新增管理员
-	addUser:params => {
+	addUser: params => {
 		return axios.post(`${baseURL}/api/admin/user`, params);
 	},
 	// 修改管理员
-	editUser:params => {
+	editUser: params => {
 		return axios.put(`${baseURL}/api/admin/user`, params);
 	},
 	// 删除管理员
-	delUser:params => {
-		return axios.delete(`${baseURL}/api/admin/user`, {params:params});
+	delUser: params => {
+		return axios.delete(`${baseURL}/api/admin/user`, { params: params });
 	},
 	// 获取角色权限
-	getUserPermissions:() => {
+	getUserPermissions: () => {
 		return axios.get(`${baseURL}/api/admin/user/permissions`)
 	},
 	// 新增表单模板
-	addTemplate:params => {
+	addTemplate: params => {
 		return axios.post(`${baseURL}/api/admin/message/template`, params);
 	},
 	// 编辑表单模板
-	editTemplate:params => {
+	editTemplate: params => {
 		return axios.put(`${baseURL}/api/admin/message/template`, params);
 	},
 	// 删除表单模板
-	delTemplate:params => {
-		return axios.delete(`${baseURL}/api/admin/message/template`, {params:params});
+	delTemplate: params => {
+		return axios.delete(`${baseURL}/api/admin/message/template`, { params: params });
 	},
 	// 获取模板详情
-	getTemplate:params => {
-		return axios.get(`${baseURL}/api/admin/message/template`, {params:params});
+	getTemplate: params => {
+		return axios.get(`${baseURL}/api/admin/message/template`, { params: params });
 	},
 	// 获取模板列表
 	getTemplateList: params => {
-		return axios.get(`${baseURL}/api/admin/message/template/list`,{params:params})
+		return axios.get(`${baseURL}/api/admin/message/template/list`, { params: params })
 	},
 	//获取所有模板列表
 	getAllTemplateList: params => {
-		return axios.get(`${baseURL}/api/admin/message/template/all`,{params:params})
+		return axios.get(`${baseURL}/api/admin/message/template/all`, { params: params })
 	},
 	// 新增角色
-	addRole:params => {
+	addRole: params => {
 		return axios.post(`${baseURL}/api/admin/role`, params);
 	},
 	// 修改角色
-	editRole:params => {
+	editRole: params => {
 		return axios.put(`${baseURL}/api/admin/role`, params);
 	},
-	delRole:params => {
-		return axios.delete(`${baseURL}/api/admin/role`, {params:params});
+	delRole: params => {
+		return axios.delete(`${baseURL}/api/admin/role`, { params: params });
 	},
 	// 获取角色列表
-	getRoleList:params => {
-		return axios.get(`${baseURL}/api/admin/role/list`, {params:params});
+	getRoleList: params => {
+		return axios.get(`${baseURL}/api/admin/role/list`, { params: params });
 	},
 	// 获取角色详情
-	getRoleInfo:params => {
-		return axios.get(`${baseURL}/api/admin/role`, {params:params});
+	getRoleInfo: params => {
+		return axios.get(`${baseURL}/api/admin/role`, { params: params });
 	},
 	// 消息管理
-	addMessage:params => {
+	addMessage: params => {
 		return axios.post(`${baseURL}/api/admin/message`, params);
 	},
-	editMessage:params => {
+	editMessage: params => {
 		return axios.put(`${baseURL}/api/admin/message`, params);
 	},
-	getMessageList:params => {
-		return axios.get(`${baseURL}/api/admin/message/list`, {params:params});
+	getMessageList: params => {
+		return axios.get(`${baseURL}/api/admin/message/list`, { params: params });
 	},
-	getMessageReceiverList:params => {
-		return axios.get(`${baseURL}/api/admin/message/receiver/list`, {params:params});
+	getMessageReceiverList: params => {
+		return axios.get(`${baseURL}/api/admin/message/receiver/list`, { params: params });
 	},
-	getMessageInfo:params => {
-		return axios.get(`${baseURL}/api/admin/message`, {params:params});
+	getMessageInfo: params => {
+		return axios.get(`${baseURL}/api/admin/message`, { params: params });
 	},
-	delMessageInfo:params => {
-		return axios.delete(`${baseURL}/api/admin/message`, {params:params});
+	delMessageInfo: params => {
+		return axios.delete(`${baseURL}/api/admin/message`, { params: params });
 	},
 	uploadFile: params => {
 		return axios.post(`${baseURL}/api/admin/uploadfile`, params);
 	},
-	saveSurveyResult:params => {
+	saveSurveyResult: params => {
 		return axios.post(`${baseURL}/api/admin/message/survey/result`, params);
 	},
-	getMessageSurveyAnalyse:params => {
-		return axios.get(`${baseURL}/api/admin/message/survey/analyse`, {params:params});
+	getMessageSurveyAnalyse: params => {
+		return axios.get(`${baseURL}/api/admin/message/survey/analyse`, { params: params });
+	},
+	downloadSurveyResult: params => {
+		return axios.get(`${baseURL}/api/admin/message/survey/result/download`, {
+			params: params, responseType: "blob"
+		});
 	},
 	// 会议相关
-	getCityList:params => {
-		return axios.get(`${baseURL}/api/admin/common/city`, {params:params});
+	getCityList: params => {
+		return axios.get(`${baseURL}/api/admin/common/city`, { params: params });
 	},
-	getAllOrganizer:params => {
-		return axios.get(`${baseURL}/api/admin/journal/organizer/all`, {params:params});
+	getAllOrganizer: params => {
+		return axios.get(`${baseURL}/api/admin/journal/organizer/all`, { params: params });
 	},
 }

+ 23 - 3
src/views/message/Message.vue

@@ -157,7 +157,7 @@ a {
           </template>
         </el-table-column>
         <el-table-column prop="cname" label="发送者"> </el-table-column>
-        <el-table-column prop="receiver_names" label="接收者">
+        <!-- <el-table-column prop="receiver_names" label="接收者"> -->
         </el-table-column>
         <el-table-column prop="ctime" label="发送时间"> </el-table-column>
         <el-table-column prop="zip" width="150" label="操作">
@@ -357,7 +357,7 @@ a {
               <el-button type="primary" @click="search">搜索</el-button>
             </el-form-item>
             <el-form-item style="float: right">
-              <el-button type="primary">导出Excel</el-button>
+              <el-button type="primary" @click="downloadExcel">导出Excel</el-button>
             </el-form-item>
           </el-form>
         </div>
@@ -422,7 +422,9 @@ export default {
   data() {
     return {
     //   checked: [],
-        postResult:{},
+      cur_message_id:null,
+      cur_post_type:null,
+      postResult:{},
       analyseDataList:[],
       title: "",
       widgetList: [],
@@ -511,6 +513,22 @@ export default {
   },
   computed() {},
   methods: {
+    downloadExcel(){
+      this.$api.downloadSurveyResult({message_id:this.cur_message_id,type:this.cur_post_type}).then((res)=>{
+          var elink = document.createElement('a');
+          let blob=new Blob([res.data], {type: 'application/vnd.ms-excel,charset=UTF-8'});
+          let objUrl=URL.createObjectURL(blob);
+          let file_name=decodeURIComponent(res.headers['content-disposition'].split('=')[1]);
+          console.log(file_name)
+          elink.download = file_name;
+          elink.style.display = 'none';                
+          elink.href = objUrl;
+          document.body.appendChild(elink);
+          elink.click();
+          document.body.removeChild(elink);      
+          this.download_loading = false;
+      })
+    },
     showPostResult(row){
         this.postResult = row.post_result
         this.dialogTitle3 = "填报结果"
@@ -521,6 +539,8 @@ export default {
       this.dialogVisible2 = true;
       this.$api.getMessageSurveyAnalyse({type:type,message_id:message_id}).then((res)=>{
           this.analyseDataList = res.data.data.list
+          this.cur_message_id = message_id
+          this.cur_post_type = type
       })
     },
     handleSuccess(res, file) {