| 
					
				 | 
			
			
				@@ -0,0 +1,419 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  <div class="m-container"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <h2> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-page-header @back="onCancel" :content="title"></el-page-header> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <!-- <div class="squrt" /> --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </h2> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <el-date-picker 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      v-model="week" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type="week" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      format="yyyy-MM 第 WW 周" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      value-format="yyyy-MM-dd" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      placeholder="选择周" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      @change="changeWeek" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      :picker-options="{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        firstDayOfWeek: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </el-date-picker> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <div class="taskList"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div class="teamDot dotBtn" draggable="true">下校巡查</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <p>任务数量:<span :style="times>activeTotal?'color:red':''">{{activeTotal}}</span>/<span>{{times}}</span></p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <div class="timeWrap"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div class="weekDotList"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <!-- @click="setWeekDotList(item, index)" --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="weekDot" v-for="(item, index) in weekList" :key="index"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <p class="week">{{ item.week }}</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <p class="date">{{ item.dateStr }}</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div class="timer" @drop="drop" @dragover="dragOver($event)"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="imgWrap" v-drag> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <img :src="timerImg" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div v-for="(item, index) in taskList" :key="index + 'new'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-popover placement="top" trigger="hover"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <p>巡查日期:{{ item.planStart | dayjsFormat }}</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                巡查时间:{{ item.planStart | dayjsFormatMinute }}~{{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  item.planEnd | dayjsFormatMinute 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <p>巡查乐团:{{ item.musicGroupName }}</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                slot="reference" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                :style="item.style" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                class="teamDot dot" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                @click="resetSchedule(item)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                下校巡查 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </el-popover> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <el-dialog 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      :title="isNew ? '新增下校巡查' : '修改下校巡查'" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      width="600px" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      :visible.sync="taskStatus" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      v-if="taskStatus" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <taskinfo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :taskInfo="activeTask" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ref="taskinfo" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :rangeStart="rangeStart" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :rangeEnd="rangeEnd" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :MusicGroupList="MusicGroupList" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :itemId="itemId" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @refreshList="refreshList" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div slot="footer" style="margin-top: 20px" class="dialog-footer"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-button @click="taskStatus = false">取 消</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-button type="primary" v-if="isNew" @click="submitInfo(0)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          >确 定</el-button 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-button type="primary" v-else @click="submitInfo(1)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          >确 定</el-button 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </el-dialog> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <taskList ref="taskList" @resetSchedule="resetSchedule" @getTotal='getTotal'/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import dayjs from "dayjs"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { getInspectionItemPlan, getMusicGroup } from "../api"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import taskinfo from "./compontent/taskInfo"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import taskList from "./compontent/taskList"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { permission } from "@/utils/directivePage"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  setDate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  getNowDateAndSunday, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  getNowDateAndMonday, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  getWeekDay, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} from "@/utils/date"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  components: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    taskinfo, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    taskList, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  data() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      timerImg: require("@/views/teacherManager/teacherDetail/components/weekUitl/weekTimer.png"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      active: -1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      week: new Date(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      weekList: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      startTime: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      endTime: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      taskList: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      weekDay: ["周一", "周二", "周三", "周四", "周五", "周六", "周日"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      tableTime: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      title: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      userId: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      taskStatus: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      activeTask: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      isNew: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      rangeStart: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      rangeEnd: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      organId: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      MusicGroupList: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      times:'', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      activeTotal:'' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  async mounted() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.init(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 获取乐团 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const ruselt = await getMusicGroup({ organId: this.organId }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.MusicGroupList = ruselt.data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } catch (e) {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    init() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.times = this.$route.query.times 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.itemId = this.$route.query.itemId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.organId = this.$route.query.organId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.rangeStart = this.$route.query.startTime; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.rangeEnd = this.$route.query.endTime; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.week = this.$route.query.startTime; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.userId = this.$route.query.teacher; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.startTime = this.$route.query.startTime; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let titleMoth = dayjs(this.startTime).format("MM"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.title = `${this.$route.query.name}${titleMoth}月下校巡查安排`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.getCalendatList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.setWeekList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    setStartTimeAndEndTime(date) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.startTime = getNowDateAndMonday(date); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (this.active === -1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.active = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.tableTime = this.startTime; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.endTime = getNowDateAndSunday(date); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    async getCalendatList() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // console.log(this.$route.query.startTIme) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 获取本周的周一和周日 以及这一周得课 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.setStartTimeAndEndTime(this.week); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const result = await getInspectionItemPlan({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          startTime: this.startTime, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          endTime: this.endTime, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          userId: this.userId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          page: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          rows: 9999, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.dataList = result.data.rows; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (let i in this.dataList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.setCourseTime(this.dataList[i]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.taskList.push(this.dataList[i]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } catch (e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        console.log(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    setCourseTime(row) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let startMinutes = this.getMinutes(row.planStart.split(" ")[1]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let endMinutes = this.getMinutes(row.planEnd.split(" ")[1]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let width = (endMinutes - startMinutes) * 1.8; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let left = startMinutes - 240 > 0 ? (startMinutes - 240) * 1.8 + 17 : 17; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let top = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        getWeekDay(row.planStart) === 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          ? 40 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          : getWeekDay(row.planStart) * 60 - 16; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      row.style = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        width: width + "px", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        top: top + "px", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        left: left + "px", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getMinutes(str) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return parseInt(str.split(":")[0]) * 60 + parseInt(str.split(":")[1]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    setWeekList() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.weekList = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let startTime = new Date(this.startTime.replace(/-/g, "/")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      startTime.setTime(startTime.getTime() - 1000 * 60 * 60 * 24); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      for (let i = 0; i < 7; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        startTime.setTime(startTime.getTime() + 1000 * 60 * 60 * 24); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // startTime.setTime(startTime.getTime() - 1000 * 60 * 60 * 24) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.weekList.push({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          week: this.weekDay[i], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          dateStr: startTime.getMonth() + 1 + "月" + startTime.getDate() + "日", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          date: setDate(startTime), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    setWeekDotList(item, index) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.active = index; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.tableTime = item.date; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    changeWeek(val) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.week = val; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.active = -1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.getCalendatList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.setWeekList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$refs.taskList.getList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onCancel() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$router.push({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        path: "/main/main", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        query: { tabrouter: "teamSchedule" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    drop(e, name) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.isNew = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.activeTask = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.taskStatus = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    dragOver(event) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      event.preventDefault(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    submitInfo(val) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 新增修改提交 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$refs.taskinfo.submitInfo(val); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    refreshList(date) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 根据这个时间刷新 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.taskStatus = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.changeWeek(date); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    resetSchedule(row) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 判断是否有权限 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (permission("inspectionItemPlan/update")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.isNew = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.activeTask = row; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.taskStatus = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getTotal(val){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.activeTotal = val 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  directives: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    drag(el) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 拖拽大图片移动 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let oDiv = el; //当前元素 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let self = this; //上下文 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      oDiv.onmousedown = function (e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //鼠标按下,计算当前元素距离可视区的距离 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let disX = e.clientX - oDiv.offsetLeft; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let disY = e.clientY - oDiv.offsetTop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let wrapW = document.querySelector(".timer").offsetWidth; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let imgW = document.querySelector(".imgWrap").offsetWidth; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        document.onmousemove = function (e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          //通过事件委托,计算移动的距离 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          let l = e.clientX - disX; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          let t = e.clientY - disY; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          //移动当前元素 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (l > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            l = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } else if (l < -(imgW - wrapW) + 2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            l = -(imgW - wrapW) + 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          oDiv.style.left = l + "px"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          // oDiv.style.top = t + "px"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        document.onmouseup = function (e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          document.onmousemove = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          document.onmouseup = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<style lang="scss" scoped> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.taskList { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  margin-top: 10px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  flex-direction: row; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .dotBtn { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cursor: pointer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    padding: 0 10px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    color: #fff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    font-size: 14px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    line-height: 25px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    border-radius: 3px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    margin-right: 20px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.teamDot { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  background: linear-gradient( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    to left, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    rgba(90, 121, 246, 0.75), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    rgba(90, 121, 246, 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.timeWrap { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  margin-top: 20px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  flex-direction: row; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  justify-content: flex-start; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .timer { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    width: 1478px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    overflow: auto; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    position: relative; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .imgWrap { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      width: 2194px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      position: relative; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      z-index: 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      img { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        width: 2194px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        position: relative; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        z-index: 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .dot { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        -moz-user-select: none; /*火狐*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        -webkit-user-select: none; /*webkit浏览器*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        -ms-user-select: none; /*IE10*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        user-select: none; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cursor: pointer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        position: absolute; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        min-width: 75px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        height: 25px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        color: #fff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        font-size: 14px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        line-height: 25px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        padding-left: 5px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        z-index: 10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        top: 40px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        right: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        border-radius: 3px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .vipDot { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        background: linear-gradient( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          to left, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          rgba(42, 174, 166, 0.75), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          rgba(42, 174, 166, 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .newDot { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        background: linear-gradient( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          to left, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          rgba(52, 177, 246, 0.75), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          rgba(52, 177, 246, 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .weekDotList { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    margin: 24px 10px 0 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    width: 70px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    flex-direction: column; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    background-color: #fff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .weekDot { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      cursor: pointer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      -moz-user-select: none; /*火狐*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      -webkit-user-select: none; /*webkit浏览器*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      -ms-user-select: none; /*IE10*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      user-select: none; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      width: 70px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      height: 60px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      background-color: #fff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      color: #fff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      padding: 10px 0 10px 10px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      border-radius: 5px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      color: #000; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      p { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        font-size: 12px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        line-height: 20px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .week { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        font-size: 12px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        color: #999; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .date { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        font-size: 12px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        color: #333; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .weekDot.active { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      background-color: rgba(19, 129, 122, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      color: #fff !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      border-radius: 5px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .week { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        font-size: 12px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        color: #fff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .date { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        font-size: 14px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        color: #fff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</style> 
			 |