|
@@ -34,20 +34,31 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
- <el-select placeholder="转结状态" v-model="searchForm.settlementStatus" clearable>
|
|
|
+ <el-select placeholder="转结状态" v-model="searchForm.settlementStatus" clearable>
|
|
|
<el-option label="已结算" value="1"></el-option>
|
|
|
<el-option label="未结算" value="0"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-date-picker
|
|
|
+ v-model.trim="searchForm.date"
|
|
|
+ style="width:410px;"
|
|
|
+ type="daterange"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ range-separator="至"
|
|
|
+ start-placeholder="开始日期"
|
|
|
+ end-placeholder="结束日期"
|
|
|
+ ></el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
<el-form-item>
|
|
|
<el-button type="danger" @click="search">搜索</el-button>
|
|
|
<el-button @click="onReSet" type="primary">重置</el-button>
|
|
|
- <!-- <el-button
|
|
|
+ <el-button
|
|
|
@click="onExport"
|
|
|
type="primary"
|
|
|
- v-permission="'export/exercisesSituations'"
|
|
|
+ v-permission="'export/teacherCourseReward'"
|
|
|
style=" background: #14928a; border:1px solid #14928a;"
|
|
|
- >导出</el-button>-->
|
|
|
+ >导出</el-button>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<div class="tableWrap">
|
|
@@ -91,6 +102,7 @@
|
|
|
|
|
|
<script>
|
|
|
import axios from "axios";
|
|
|
+import qs from 'qs'
|
|
|
import { getToken } from "@/utils/auth";
|
|
|
import pagination from "@/components/Pagination/index";
|
|
|
import load from "@/utils/loading";
|
|
@@ -104,7 +116,8 @@ export default {
|
|
|
search: null,
|
|
|
organId: null,
|
|
|
teacherId: null,
|
|
|
- settlementStatus:null
|
|
|
+ settlementStatus:null,
|
|
|
+ date:[],
|
|
|
},
|
|
|
teacherList: [],
|
|
|
tableList: [],
|
|
@@ -145,14 +158,94 @@ export default {
|
|
|
getList() {
|
|
|
this.searchForm.page = this.rules.page;
|
|
|
this.searchForm.rows = this.rules.limit;
|
|
|
- teacherCourseReward(this.searchForm).then(res => {
|
|
|
+ if(this.searchForm.date&&this.searchForm.date.length>0){
|
|
|
+ this.searchForm.startTime = this.searchForm.date[0]
|
|
|
+ this.searchForm.endTime = this.searchForm.date[1]
|
|
|
+ }else {
|
|
|
+ this.searchForm.startTime = null
|
|
|
+ this.searchForm.endTime = null;
|
|
|
+ }
|
|
|
+
|
|
|
+ let obj = JSON.parse(JSON.stringify(this.searchForm));
|
|
|
+ obj.date = null;
|
|
|
+ teacherCourseReward(obj).then(res => {
|
|
|
if (res.code == 200) {
|
|
|
this.tableList = res.data.rows;
|
|
|
this.rules.total = res.data.total;
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
- onExport() {},
|
|
|
+ onExport() {
|
|
|
+ let url = "/api-web/export/teacherCourseReward";
|
|
|
+ this.searchForm.page = this.rules.page;
|
|
|
+ this.searchForm.rows = this.rules.limit;
|
|
|
+ if(this.searchForm.date&&this.searchForm.date.length>0){
|
|
|
+ this.searchForm.startTime = this.searchForm.date[0]
|
|
|
+ this.searchForm.endTime = this.searchForm.date[1]
|
|
|
+ }{
|
|
|
+ this.searchForm.startTime = null
|
|
|
+ this.searchForm.endTime = null;
|
|
|
+ }
|
|
|
+ let obj = JSON.parse(JSON.stringify(this.searchForm));
|
|
|
+ obj.date = null;
|
|
|
+ const options = {
|
|
|
+ method: "POST",
|
|
|
+ headers: {
|
|
|
+ Authorization: getToken()
|
|
|
+ },
|
|
|
+ data: qs.stringify(obj),
|
|
|
+ url,
|
|
|
+ responseType: "blob"
|
|
|
+ };
|
|
|
+ this.$confirm("您确定导出报表", "提示", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning"
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ load.startLoading()
|
|
|
+ axios(options).then(res => {
|
|
|
+ let blob = new Blob([res.data], {
|
|
|
+ // type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8'
|
|
|
+ type: "application/vnd.ms-excel;charset=utf-8"
|
|
|
+ //word文档为application/msword,pdf文档为application/pdf,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8
|
|
|
+ });
|
|
|
+ let text = (new Response(blob)).text()
|
|
|
+ text.then(res => {
|
|
|
+ // 判断是否报错
|
|
|
+ if(res.indexOf('code') != -1) {
|
|
|
+ let json = JSON.parse(res)
|
|
|
+ this.$message.error(json.msg)
|
|
|
+ } else {
|
|
|
+ let objectUrl = URL.createObjectURL(blob);
|
|
|
+ let link = document.createElement("a");
|
|
|
+ let nowTime = new Date();
|
|
|
+ let ymd =
|
|
|
+ nowTime.getFullYear() +
|
|
|
+ "" +
|
|
|
+ (nowTime.getMonth() + 1) +
|
|
|
+ "" +
|
|
|
+ nowTime.getDate() +
|
|
|
+ "" +
|
|
|
+ nowTime.getHours() +
|
|
|
+ "" +
|
|
|
+ nowTime.getMinutes();
|
|
|
+ let fname = "报表导出" + new Date().getTime(); //下载文件的名字
|
|
|
+ link.href = objectUrl;
|
|
|
+ link.setAttribute("download", fname);
|
|
|
+ document.body.appendChild(link);
|
|
|
+ link.click();
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+ load.endLoading();
|
|
|
+ }).catch(error => {
|
|
|
+ this.$message.error('导出数据失败,请连接管理员');
|
|
|
+ load.endLoading();
|
|
|
+ });
|
|
|
+ })
|
|
|
+ .catch(() => {});
|
|
|
+ },
|
|
|
search() {
|
|
|
this.rules.page = 1;
|
|
|
this.getList();
|
|
@@ -162,7 +255,8 @@ export default {
|
|
|
search: null,
|
|
|
organId: null,
|
|
|
teacherId: null,
|
|
|
- settlementStatus:null
|
|
|
+ settlementStatus:null,
|
|
|
+ date:[],
|
|
|
};
|
|
|
this.search();
|
|
|
}
|