|  | @@ -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();
 | 
	
		
			
				|  |  |      }
 |