|  | @@ -449,6 +449,48 @@
 | 
	
		
			
				|  |  |            >
 | 
	
		
			
				|  |  |          </div>
 | 
	
		
			
				|  |  |        </div>
 | 
	
		
			
				|  |  | +      <el-divider></el-divider>
 | 
	
		
			
				|  |  | +      <div class="m-core">
 | 
	
		
			
				|  |  | +        <div class="m-wrap">
 | 
	
		
			
				|  |  | +          <div class="title">服务指标明细导出:</div>
 | 
	
		
			
				|  |  | +          <select-all
 | 
	
		
			
				|  |  | +            v-model.trim="serviceOrganId"
 | 
	
		
			
				|  |  | +            class="organSelect"
 | 
	
		
			
				|  |  | +            style="width: 100%"
 | 
	
		
			
				|  |  | +            filterable
 | 
	
		
			
				|  |  | +            multiple
 | 
	
		
			
				|  |  | +            placeholder="请选择分部"
 | 
	
		
			
				|  |  | +            clearable
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  | +            <el-option
 | 
	
		
			
				|  |  | +              v-for="(item, index) in selects.branchs"
 | 
	
		
			
				|  |  | +              :key="index"
 | 
	
		
			
				|  |  | +              :label="item.name"
 | 
	
		
			
				|  |  | +              :value="item.id"
 | 
	
		
			
				|  |  | +            ></el-option>
 | 
	
		
			
				|  |  | +          </select-all>
 | 
	
		
			
				|  |  | +          <el-date-picker
 | 
	
		
			
				|  |  | +            v-model.trim="serviceTimer"
 | 
	
		
			
				|  |  | +            style="width: 420px; margin-left: 15px"
 | 
	
		
			
				|  |  | +            type="daterange"
 | 
	
		
			
				|  |  | +            value-format="yyyy-MM-dd"
 | 
	
		
			
				|  |  | +            range-separator="至"
 | 
	
		
			
				|  |  | +            start-placeholder="开始日期"
 | 
	
		
			
				|  |  | +            end-placeholder="结束日期"
 | 
	
		
			
				|  |  | +            @change="getWeekTime"
 | 
	
		
			
				|  |  | +            :picker-options="{
 | 
	
		
			
				|  |  | +              firstDayOfWeek: 1,
 | 
	
		
			
				|  |  | +            }"
 | 
	
		
			
				|  |  | +          ></el-date-picker>
 | 
	
		
			
				|  |  | +          <el-button
 | 
	
		
			
				|  |  | +            style="margin-left: 10px"
 | 
	
		
			
				|  |  | +            type="primary"
 | 
	
		
			
				|  |  | +            @click="exportDetailService"
 | 
	
		
			
				|  |  | +            v-permission="'export/exercisesSituation'"
 | 
	
		
			
				|  |  | +            >导出</el-button
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  | +        </div>
 | 
	
		
			
				|  |  | +      </div>
 | 
	
		
			
				|  |  |      </div>
 | 
	
		
			
				|  |  |    </div>
 | 
	
		
			
				|  |  |  </template>
 | 
	
	
		
			
				|  | @@ -486,6 +528,8 @@ export default {
 | 
	
		
			
				|  |  |        trainOrganId: null,
 | 
	
		
			
				|  |  |        questionActiveType: "CLOUD_TEACHER_FEEDBACK",
 | 
	
		
			
				|  |  |        vipOrganId: [],
 | 
	
		
			
				|  |  | +      serviceOrganId: [], // 服务报表
 | 
	
		
			
				|  |  | +      serviceTimer: []
 | 
	
		
			
				|  |  |      };
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    mounted() {
 | 
	
	
		
			
				|  | @@ -992,6 +1036,88 @@ export default {
 | 
	
		
			
				|  |  |        //   "您确定导出vip网管课?"
 | 
	
		
			
				|  |  |        // );
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | +    exportDetailService() {
 | 
	
		
			
				|  |  | +      let sunday, monday;
 | 
	
		
			
				|  |  | +      if (this.serviceTimer && this.serviceTimer.length > 1) {
 | 
	
		
			
				|  |  | +        monday = this.serviceTimer[0];
 | 
	
		
			
				|  |  | +        sunday = this.serviceTimer[1];
 | 
	
		
			
				|  |  | +      } else {
 | 
	
		
			
				|  |  | +        monday = null;
 | 
	
		
			
				|  |  | +        sunday = null;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      Export(
 | 
	
		
			
				|  |  | +        this,
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +          url: "/api-web/export/exercisesSituation",
 | 
	
		
			
				|  |  | +          fileName: "服务指标明细.xls",
 | 
	
		
			
				|  |  | +          method: "post",
 | 
	
		
			
				|  |  | +          params: qs.stringify({
 | 
	
		
			
				|  |  | +            monday: monday,
 | 
	
		
			
				|  |  | +            sunday: sunday,
 | 
	
		
			
				|  |  | +            organId: this.serviceOrganId.join(","),
 | 
	
		
			
				|  |  | +          }),
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        "您确定导出服务指标明细?"
 | 
	
		
			
				|  |  | +      );
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    getNowDateAndMonday(time) {
 | 
	
		
			
				|  |  | +      let timestamp = new Date(time.replace(/-/g, "/")).getTime();
 | 
	
		
			
				|  |  | +      let serverDate = new Date(time);
 | 
	
		
			
				|  |  | +      if (serverDate.getDay() == 0) {
 | 
	
		
			
				|  |  | +        timestamp -= 7 * 24 * 60 * 60 * 1000;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      let mondayTime =
 | 
	
		
			
				|  |  | +        timestamp - (serverDate.getDay() - 1) * 24 * 60 * 60 * 1000;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      let mondayData = new Date(mondayTime);
 | 
	
		
			
				|  |  | +      //年
 | 
	
		
			
				|  |  | +      let mondayY = mondayData.getFullYear();
 | 
	
		
			
				|  |  | +      //月
 | 
	
		
			
				|  |  | +      let mondayM =
 | 
	
		
			
				|  |  | +        mondayData.getMonth() + 1 < 10
 | 
	
		
			
				|  |  | +          ? "0" + (mondayData.getMonth() + 1)
 | 
	
		
			
				|  |  | +          : mondayData.getMonth() + 1;
 | 
	
		
			
				|  |  | +      //日
 | 
	
		
			
				|  |  | +      let mondayD =
 | 
	
		
			
				|  |  | +        mondayData.getDate() < 10
 | 
	
		
			
				|  |  | +          ? "0" + mondayData.getDate()
 | 
	
		
			
				|  |  | +          : mondayData.getDate();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      let str = mondayY + "-" + mondayM + "-" + mondayD;
 | 
	
		
			
				|  |  | +      return str;
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    getNowDateAndSunday(time) {
 | 
	
		
			
				|  |  | +      let timestamp = new Date(time.replace(/-/g, "/")).getTime();
 | 
	
		
			
				|  |  | +      let serverDate = new Date(time);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      let num = 7 - serverDate.getDay();
 | 
	
		
			
				|  |  | +      if (num == 7) {
 | 
	
		
			
				|  |  | +        num = 0;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      let sundayTiem = timestamp + num * 24 * 60 * 60 * 1000;
 | 
	
		
			
				|  |  | +      let SundayData = new Date(sundayTiem);
 | 
	
		
			
				|  |  | +      //年
 | 
	
		
			
				|  |  | +      let tomorrowY = SundayData.getFullYear(); //月
 | 
	
		
			
				|  |  | +      let tomorrowM =
 | 
	
		
			
				|  |  | +        SundayData.getMonth() + 1 < 10
 | 
	
		
			
				|  |  | +          ? "0" + (SundayData.getMonth() + 1)
 | 
	
		
			
				|  |  | +          : SundayData.getMonth() + 1;
 | 
	
		
			
				|  |  | +      //日
 | 
	
		
			
				|  |  | +      let tomorrowD =
 | 
	
		
			
				|  |  | +        SundayData.getDate() < 10
 | 
	
		
			
				|  |  | +          ? "0" + SundayData.getDate()
 | 
	
		
			
				|  |  | +          : SundayData.getDate();
 | 
	
		
			
				|  |  | +      let str = tomorrowY + "-" + tomorrowM + "-" + tomorrowD;
 | 
	
		
			
				|  |  | +      return str;
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    getWeekTime(val) {
 | 
	
		
			
				|  |  | +      if (val && val.length > 0) {
 | 
	
		
			
				|  |  | +        let start = this.getNowDateAndMonday(val[0]);
 | 
	
		
			
				|  |  | +        let end = this.getNowDateAndSunday(val[1]);
 | 
	
		
			
				|  |  | +        this.serviceTimer.splice(0, 1, start);
 | 
	
		
			
				|  |  | +        this.serviceTimer.splice(1, 1, end);
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    // AccountDetailTimer
 | 
	
		
			
				|  |  |  };
 |