{"remainingRequest":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\bzzgj-fvue\\src\\views\\Manage\\duty\\CMGTDutyAnalysisRelevancy\\components\\MonthScheduling.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\src\\views\\Manage\\duty\\CMGTDutyAnalysisRelevancy\\components\\MonthScheduling.vue","mtime":1690541169595},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nimport CMGTDutyAnalysisRelevancyApi from '@/api/CMGTDutyAnalysisRelevancyApi'\r\nimport moment from 'moment'\r\n\r\n// 解构接口api对象\r\nconst {\r\n MonthSchedulingData\r\n} = CMGTDutyAnalysisRelevancyApi\r\n\r\nexport default {\r\n name: 'MonthScheduling', // 本月排班信息\r\n props: {\r\n rowInfo: {\r\n default() {\r\n return {}\r\n },\r\n type: Object\r\n }\r\n },\r\n data() {\r\n return {\r\n monthSchedulingData: [], // 排班信息数据\r\n calendarDate: '', // 显示月份\r\n calendarDateArr: [], // 记录加载工排班信息的月份\r\n calendarLoading: false // 日历加载loading\r\n }\r\n },\r\n created() {\r\n this.calendarDate = this.rowInfo.yearMonth // 初始化触发watch监听\r\n },\r\n watch: {\r\n /*\r\n * 当日历时间切换时:\r\n * 当年月不存在时,保存选中的年月,并加载切换年月的排班信息\r\n * */\r\n calendarDate(date) {\r\n // 将时间格式化为 YYYY-MM格式\r\n let yearMonth = moment(date).format('YYYY-MM')\r\n if (this.calendarDateArr.some(i => moment(yearMonth).isSame(i))) return\r\n this.calendarDateArr.push(yearMonth)\r\n this.getMonthSchedulingData(moment(date).format('YYYY-MM-DD HH:mm:ss'))\r\n }\r\n },\r\n mounted() {\r\n },\r\n methods: {\r\n /*\r\n * 处理模版内识别不到moment的问题:\r\n * moment函数浅拷贝到methods配置对象中\r\n * */\r\n moment,\r\n\r\n // 获取排班信息\r\n async getMonthSchedulingData(date) {\r\n this.calendarLoading = true // 打开loading\r\n const {id: teamMemberId} = this.rowInfo || {}\r\n const {data: {value}} = await MonthSchedulingData({teamMemberId, date})\r\n if (!(Array.isArray(value) && value.length)) return this.calendarLoading = false\r\n // 合并新旧数据\r\n this.monthSchedulingData = this.monthSchedulingData.concat(value)\r\n this.calendarLoading = false // 关闭loading\r\n },\r\n\r\n // 计算排班起始结束时间\r\n computingTime(date) {\r\n let item = this.monthSchedulingData.find(i => moment(i.arrangeDate).isSame((date)))\r\n if (!item.cmgtDutyWorkclass) return ''\r\n const {scheduleStart, duringTime} = item.cmgtDutyWorkclass || {}\r\n return `${scheduleStart} - ${duringTime}`\r\n }\r\n }\r\n}\r\n",null]}