21.ff58f8317781d7985ad4.1706754571694+.js 15 KB

1
  1. webpackJsonp([21],{"+CQD":function(t,e,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0});a("yIEv");var i=a("OIh9"),s=(a("jAcA"),a("86U2")),n=(a("Xrj1"),a("1nur")),c=a("7+uW"),o=a("PJh5"),r=a.n(o),d=a("mePG"),l={props:{statisticCycle:{type:String,default:"month"}},data:function(){return{itemList:[{value:0,key:1,type:"平均工时(小时)"},{value:10,key:2,type:"迟到人数"},{value:0,key:3,valueType:"人",type:"早退人数"},{value:0,key:4,valueType:"人",type:"缺卡人数"},{value:0,key:5,valueType:"人",type:"旷工人数"},{key:6,value:0,valueType:"人",type:"外勤人数"},{key:7,value:0,valueType:"人",type:"加班人数"}],params:{date:r()().format("YYYY-MM")},date:"",date_type:3,api:"/ad/statistics/department/monthly",mode:"month"}},components:{SwitchDate:d.a},mounted:function(){this.getApi()},methods:{pushRerun:function(t){var e=t;0==e.value?this.$toast("暂无数据"):this.$router.push({name:"attendenceWork",query:{type:e.key,values:e.value,week:this.date_type,date:this.date,start:this.date.start_date,end:this.date.end_date}})},getApi:function(){this.mode=this.statisticCycle,this.$refs.switch.emitDateChange()},dateChangeHandle:function(t){"month"===t.mode?(this.mode="month",this.api="/ad/statistics/department/monthly",this.params={date:t.year+"-"+t.month},this.date=this.params.date,this.date_type=3):(this.mode="week",this.api="/ad/statistics/department/weekly",this.params={start_date:t.weekStart.replace(/\./g,"-"),end_date:t.weekEnd.replace(/\./g,"-")},this.date=this.params,this.date_type=2),this.getStatisticData()},getStatisticData:function(t){var e=this;this.$toast.loading({mask:!0,message:"加载中..."}),this.$axiosKq("post",this.api,this.params).then(function(a){e.$toast.clear(),1===a.data.code?(e.itemList[0].value=a.data.data.work_time,e.itemList[1].value=a.data.data.late_count,e.itemList[2].value=a.data.data.leave_early_count,e.itemList[3].value=a.data.data.sign_absent_count,e.itemList[4].value=a.data.data.absent_count,e.itemList[5].value=a.data.data.range_count,e.itemList[6].value=a.data.data.ot_count,t&&setTimeout(function(){t.finishPullToRefresh()},500)):e.$toast(a.data.msg)}).catch(function(t){console.log(t)})}}},h={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"month"},[a("SwitchDate",{ref:"switch",attrs:{isSwitchWeek:!1,mode:t.statisticCycle},on:{dateChange:t.dateChangeHandle}}),t._v(" "),3==t.date_type?a("div",{staticClass:"classify danse",on:{click:function(e){return t.$router.push({name:"newAttendance",query:{tabvalue:"tab3",date:t.date,date_type:t.date_type}})}}},[a("div",{staticClass:"category"},[a("icon",{staticClass:"rankIcon",attrs:{name:"rank",w:20}}),t._v(" "),3==t.date_type?a("span",[t._v("月考勤分排名")]):t._e()],1),t._v(" "),a("div",[a("icon",{staticClass:"rightIcon",attrs:{name:"right",w:16}})],1)]):t._e(),t._v(" "),2==t.date_type?a("div",{staticClass:"classify danse",on:{click:function(e){return t.$router.push({name:"newAttendance",query:{tabvalue:"tab3",start:t.date.start_date,end:t.date.end_date,date_type:t.date_type}})}}},[a("div",{staticClass:"category"},[a("icon",{staticClass:"rankIcon",attrs:{name:"rank",w:20}}),t._v(" "),2==t.date_type?a("span",[t._v("周考勤分排名")]):t._e()],1),t._v(" "),a("div",[a("icon",{staticClass:"rightIcon",attrs:{name:"right",w:16}})],1)]):t._e(),t._v(" "),a("div",{staticClass:"timeSpan"},t._l(t.itemList,function(e){return a("div",{key:e.type,staticClass:"timeExactikly",class:{changebackound:0==e.value}},[a("div",{staticStyle:{display:"flex","align-items":"center"},on:{click:function(a){return t.pushRerun(e)}}},[a("div",{staticStyle:{overflow:"hidden","text-overflow":"ellipsis",width:"2rem","white-space":"nowrap","text-align":"center"}},[a("span",[t._v(t._s(e.value))])])]),t._v(" "),a("div",{staticStyle:{color:"#606266"}},[t._v(t._s(e.type))])])}),0)],1)},staticRenderFns:[]};var m=a("VU/8")(l,h,!1,function(t){a("Bmpi")},"data-v-7a166b9a",null).exports,u=a("7gVF");c.a.use(i.a).use(s.a).use(n.a);var v={data:function(){return{dept_id:"",check_date:r()().format("YYYY-MM-DD"),deptFilterData:[{name:"全部",deptId:""}],selected:this.$store.state.attendanceApproval.selected||"tab1",date:r()().format("YYYY-MM-DD"),showDatePicker:!1,deptData:null,deptList:[],iShow:!0}},computed:{formatDate:function(){if(this.date){var t=this.date.split("-");return t[1]+"月"+t[2]+"日"}return this.date}},components:{MonthStatistic:m,DatePicker:u.a},watch:{selected:function(t){"tab1"===t&&this.getRealTimeStatistic()}},beforeRouteLeave:function(t,e,a){this.$store.commit("SET_STATUS",this.selected),"home"==t.name&&(this.$store.commit("SET_STATUS","tab1"),e.meta.keepAlive=!1,this.$store.commit("RESET","common"),clearInterval(this.timer),this.$destroy()),a()},methods:{switchDeptData:function(t,e){this.dept_id=t.deptId,this.deptFilterData.length=e+1,this.deptFilterData.length>1?this.iShow=!1:this.iShow=!0,this.getRealTimeStatistic()},selectDept:function(t){this.deptFilterData.push({name:t.name,deptId:t.id}),this.dept_id=t.id,this.deptFilterData.length>1?this.iShow=!1:this.iShow=!0,this.getRealTimeStatistic()},loadTop:function(t){"tab1"===this.selected?this.getRealTimeStatistic():"tab2"===this.selected?this.$refs.monthStatistic.getStatisticData(this.$refs.list_scroller):"tab3"===this.selected&&this.$refs.monthStatistic.getStatisticData(this.$refs.list_scroller)},getRealTimeStatistic:function(){var t=this;this.$toast.loading({mask:!0,message:"加载中..."}),this.$axiosKq("post","/ad/statistics/department/daily",{date:this.date,dept_id:this.dept_id}).then(function(e){t.$toast.clear(),1==e.data.code?(t.deptData=e.data.data,t.drawCanvas(),setTimeout(function(){t.$refs.list_scroller.finishPullToRefresh()},500)):t.$toast(e.data.msg)}).catch(function(t){console.log(t)})},confirm:function(t){this.date=t.date,this.getRealTimeStatistic(),this.showDatePicker=!1},cancel:function(){this.showDatePicker=!1},d2a:function(t){return t*Math.PI/180},a2d:function(t){return 180*t/Math.PI},drawCanvas:function(){var t,e,a=document.getElementById("c1"),i=a.getContext("2d"),s=(e=(t=i).backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1,(window.devicePixelRatio||1)/e);a.width>300&&(a.width=300),a.height>150&&(a.height=150),a.style.width=a.width+"px",a.style.height=a.height+"px",a.width=a.width*s,a.height=a.height*s;var n=154,c=87,o=70,r=150;requestAnimationFrame(function t(){i.clearRect(0,0,a.width,a.height);i.beginPath();i.font="30px normal";i.fillStyle="#303133";i.textAlign="center";i.textBaseline="bottom";i.fillText(l+"/"+h,154,100);i.closePath();i.beginPath();i.font="12px serif";i.fillStyle="#303133";i.textAlign="center";i.textBaseline="bottom";i.fillText("打卡人数/应到人数",154,124);i.closePath();i.beginPath();i.strokeStyle="rgba(160, 160, 160, 0.4)";i.lineWidth=10;i.setLineDash([2,4]);i.arc(n,c,o,d.d2a(150),d.d2a(390),!1);i.stroke();i.closePath();i.beginPath();r+=5;i.strokeStyle="#26A2FF";i.lineWidth=10;i.setLineDash([2,4]);i.arc(n,c,o,d.d2a(150),d.d2a(r),!1);i.stroke();i.closePath();var e=0==l?150:150+parseInt(l/h*240);e=e>390?390:e;r<e&&requestAnimationFrame(t)});var d=this;i.scale(s,s);var l=d.deptData.sign_count||0,h=d.deptData.total_count||0}}},p={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"AttendanceStatistics",style:{backgroundColor:"tab1"!=t.selected?"#F5F7FA":"#fff"}},[a("van-nav-bar",{attrs:{title:"统计","left-text":"返回","left-arrow":""},on:{"click-left":t.$route_back}}),t._v(" "),t.deptFilterData.length>1&&"tab1"==t.selected?a("div",{staticClass:"deptFilter clamp"},t._l(t.deptFilterData,function(e,i){return a("div",{key:i,staticClass:"deptItem",style:{color:i<t.deptFilterData.length-1?"#26A2FF":"#909399"},on:{click:function(a){return t.switchDeptData(e,i)}}},[t._v("\n "+t._s(e.name)+"\n ")])}),0):t._e(),t._v(" "),a("div",{staticStyle:{position:"relative",height:"calc(100% - 1.9rem)"}},[a("scroller",{ref:"list_scroller",attrs:{onRefresh:t.loadTop}},[a("div",["tab1"===t.selected?a("div",{attrs:{id:"tab1"}},[a("div",{staticClass:"head-wraper"},[a("div",{staticClass:"time",on:{click:function(e){t.showDatePicker=!0}}},[t._v("\n "+t._s(t.date)+"\n "),a("icon",{attrs:{name:"bottom",w:16}})],1)]),t._v(" "),a("canvas",{staticStyle:{width:"300px",display:"block",margin:"0 auto"},attrs:{id:"c1"},on:{click:function(e){return t.$router.push({name:"AttendanceDetail",query:{dept_id:t.dept_id,date:t.date}})}}}),t._v(" "),t.deptData?a("div",{staticClass:"content-wrapper"},[a("div",{staticClass:"item",on:{click:function(e){return t.$router.push({name:"AttendanceDetail",query:{dept_id:t.dept_id,date:t.date}})}}},[a("span",{staticClass:"num",style:{color:t.deptData.un_sign_count>0?"#303133":"#909399"}},[t._v(t._s(t.deptData.un_sign_count||0))]),t._v(" "),a("span",{staticClass:"desc",style:{color:t.deptData.un_sign_count>0?"#303133":"#909399"}},[t._v("未打卡")])]),t._v(" "),a("div",{staticClass:"item",on:{click:function(e){return t.$router.push({name:"AttendanceDetail",query:{dept_id:t.dept_id,date:t.date}})}}},[a("span",{staticClass:"num",style:{color:t.deptData.late_count>0?"#303133":"#909399"}},[t._v(t._s(t.deptData.late_count||0))]),t._v(" "),a("span",{staticClass:"desc",style:{color:t.deptData.late_count>0?"#303133":"#909399"}},[t._v("迟到")])]),t._v(" "),a("div",{staticClass:"item"},[a("span",{staticClass:"num",style:{color:t.deptData.range_count>0?"#303133":"#909399"}},[t._v(t._s(t.deptData.range_count||0))]),t._v(" "),a("span",{staticClass:"desc",style:{color:t.deptData.range_count>0?"#303133":"#909399"}},[t._v("外勤")])])]):t._e(),t._v(" "),t.iShow?a("div",{staticClass:"classStatic",on:{click:function(e){return t.$router.push({name:"newAttendance",query:{tabvalue:"tab3",isPerson:!0,date:t.date,date_type:"1"}})}}},[a("icon",{attrs:{name:"static",w:26}}),t._v("\n    日考勤分排名\n "),a("icon",{staticClass:"rightIcon",attrs:{name:"right",w:14}})],1):t._e(),t._v(" "),t.deptData&&t.deptData.dept_list&&t.deptData.dept_list.length>0?a("div",{staticClass:"deptAttendance"},[a("div",{staticClass:"titleWrapper"},[a("icon",{attrs:{name:"deptAttendance",w:26}}),t._v("\n    部门考勤\n ")],1),t._v(" "),a("div",{staticClass:"content"},[a("div",{staticClass:"title"},[a("div",{staticClass:"item-date"},[t._v(t._s(t.formatDate))]),t._v(" "),a("div",{staticClass:"item-attendance"},[t._v("考勤")]),t._v(" "),a("div",{staticClass:"item-time"},[t._v("平均工时")])]),t._v(" "),t._l(t.deptData.dept_list,function(e){return a("div",{key:e.id,staticClass:"item",on:{click:function(a){return t.selectDept(e)}}},[a("div",{staticClass:"item-name"},[t._v(t._s(e.name))]),t._v(" "),a("van-progress",{staticClass:"item-progress",attrs:{color:"#03a9f4",percentage:0==e.total_work_time?0:Math.round(e.sign_count/e.total_count*100)}}),t._v(" "),a("div",{staticClass:"times"},[t._v(t._s(e.sign_count)+"/"+t._s(e.total_count))]),t._v(" "),a("div",{staticClass:"hour"},[t._v(t._s(e.work_time)+"小时")])],1)})],2)]):t._e(),t._v(" "),a("div",{staticStyle:{height:"2.5rem"}})]):t._e(),t._v(" "),"tab2"===t.selected?a("div",{attrs:{id:"tab2"}},[a("MonthStatistic",{ref:"monthStatistic",attrs:{statisticCycle:"week"}})],1):t._e(),t._v(" "),"tab3"===t.selected?a("div",{attrs:{id:"tab3"}},[a("MonthStatistic",{ref:"monthStatistic",attrs:{statisticCycle:"month"}})],1):t._e()])])],1),t._v(" "),a("van-tabbar",{staticClass:"seleicon",model:{value:t.selected,callback:function(e){t.selected=e},expression:"selected"}},[a("van-tabbar-item",{class:{selected:"tab1"==t.selected},attrs:{name:"tab1"}},[a("icon",{attrs:{name:"day"}}),t._v(" "),a("div",[t._v("日统计")])],1),t._v(" "),a("van-tabbar-item",{class:{selected:"tab2"==t.selected},attrs:{name:"tab2"}},[a("icon",{attrs:{name:"week"}}),t._v(" "),a("div",[t._v("周统计")])],1),t._v(" "),a("van-tabbar-item",{class:{selected:"tab3"==t.selected},attrs:{name:"tab3"}},[a("icon",{attrs:{name:"month"}}),t._v(" "),a("div",[t._v("月统计")])],1)],1),t._v(" "),a("date-picker",{directives:[{name:"show",rawName:"v-show",value:t.showDatePicker,expression:"showDatePicker"}],attrs:{date:t.date,checkDate:t.check_date},on:{confirm:t.confirm,cancel:t.cancel}})],1)},staticRenderFns:[]};var _=a("VU/8")(v,p,!1,function(t){a("PXrw")},"data-v-10321872",null);e.default=_.exports},Bmpi:function(t,e){},PXrw:function(t,e){},WQGJ:function(t,e){},mePG:function(t,e,a){"use strict";var i=a("PJh5"),s=a.n(i),n={props:{isSwitchWeek:{type:Boolean,default:!1},mode:{type:String,default:"month"}},data:function(){return{fadeXType:"fadeX_Prev",monthDate:{year:s()().year(),month:s()().month()+1},weekDate:{weekStart:"",weekEnd:""},formatWeekDate:"",currWeek:0}},watch:{mode:function(t){this.emitDateChange()}},computed:{weekStart:function(){return s()().week(s()().week()+this.currWeek).startOf("week").add(1,"days").format("YYYY.MM.DD")},weekEnd:function(){return s()().week(s()().week()+this.currWeek).endOf("week").add(1,"days").format("YYYY.MM.DD")}},methods:{previous:function(){this.fadeXType="fadeX_Prev","month"===this.mode?this.prevMonth():this.prevWeek(),this.emitDateChange()},next:function(){this.fadeXType="fadeX_Next","month"===this.mode?this.nextMonth():this.nextWeek(),this.emitDateChange()},emitDateChange:function(){"month"===this.mode?(this.monthDate.mode="month",this.$emit("dateChange",this.monthDate)):(this.weekDate.mode="week",this.weekDate.weekStart=this.weekStart,this.weekDate.weekEnd=this.weekEnd,this.$emit("dateChange",this.weekDate))},prevWeek:function(){this.currWeek-=1},nextWeek:function(){this.currWeek+=1},prevMonth:function(){this.monthDate.month--,this.monthDate.month<1&&(this.monthDate.month=12,this.monthDate.year-=1)},nextMonth:function(){this.monthDate.month++,this.monthDate.month>12&&(this.monthDate.month=1,this.monthDate.year+=1)}}},c={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"monthDate",style:{justifyContent:t.isSwitchWeek?"flex-end":"center"}},[t.isSwitchWeek?a("div",{staticClass:"switchDateType"},[a("div",{staticClass:"item week",class:{active:"week"===t.mode},on:{click:function(e){t.mode="week"}}},[t._v("周")]),t._v(" "),a("div",{staticClass:"item month",class:{active:"month"===t.mode},on:{click:function(e){t.mode="month"}}},[t._v("月")])]):t._e(),t._v(" "),a("div",{staticClass:"dateWrapper"},[a("span",{style:{marginRight:"week"===t.mode?"0.8rem":"0.5rem"},on:{click:t.previous}},[a("icon",{staticClass:"rightIcon left",attrs:{name:"right",w:14}})],1),t._v(" "),a("transition",{attrs:{name:t.fadeXType}},["month"===t.mode?a("div",{key:t.monthDate.month,staticClass:"dateText"},[t._v(t._s(t.monthDate.year)+"-"+t._s(t.monthDate.month<10?"0"+t.monthDate.month:t.monthDate.month))]):a("div",{key:t.weekStart,staticClass:"dateText"},[t._v(t._s(t.weekStart.substring(5))+"-"+t._s(t.weekEnd.substring(5)))])]),t._v(" "),a("span",{style:{marginLeft:"week"===t.mode?"0.8rem":"0.5rem"},on:{click:t.next}},[a("icon",{staticClass:"rightIcon right",attrs:{name:"right",w:14}})],1)],1)])},staticRenderFns:[]};var o=a("VU/8")(n,c,!1,function(t){a("WQGJ")},"data-v-1f0a4cbc",null);e.a=o.exports}});