var app = getApp() var that; var typeArr = []; Page({ data: { date: app.globalData.month, typesIndex: 0,//条件选择 types: [ { id: 0, name: '全部' }, { id: 1, name: '积分奖扣' }, { id: 2, name: '任务' }, { id: 3, name: '积分系统分配' }, { id: 4, name: '考勤系统分配' }, { id: 5, name: '积分申请' }, { id: 8, name: '积分导入' }, { id: 9, name: 'A分转B分' }, { id: 10, name: '钉钉汇报(日志)奖扣分' } ], showStaff: false,//显示员工选择 staffVal: '员工', page: 1, popupCx: '', }, onLoad(e) { that = this; typeArr = [{ id: 0, name: '全部' }]; dd.setNavigationBar({ title: "积分事件" }); if (e.month && e.id) { this.setData({ date: e.month ? e.month : app.globalData.month, recorder_id: e.id }) } this.getDataAccess(); }, onShow() { if (that.data.page == 1) { that.getData(); } }, onUnload() { // 页面被关闭 app.globalData.socketApi.closewebsocket(); }, opneWebSocket(data, is) { app.globalData.socketApi.sendData(data, (res) => { if (res.code == 1&&res.type=='esi') { console.log(res.result) var data = res.result.list; data.map((item) => { item.ptObj = app.getTypesItem(item.pt_id); }) if (is) { if (data.length == 0) { this.setData({ isData: true }) return; } var list = that.data.list; this.setData({ list: list.concat(data) }) } else { this.setData({ list: [] }); this.setData({ list: data, isData: false }) } } }, true); }, getData(is) { var data = { type: "esi", page: that.data.page, page_size: 20, month: that.data.dateObj || that.data.date, recorder_id: that.data.recorder_id, // employee_id: that.data.employee_ids, pt_id:3, dc_status:JSON.stringify([1]), order_key:'update_time' } if (that.data.typesIndex != 0) { data.source_type = that.data.types.length > 0 ? that.data.types[that.data.typesIndex].id : '' } if(that.data.employee_ids){ data.employee_id=that.data.employee_ids; } this.opneWebSocket(data, is); return false; app.$get('api/integral/statistics/integral', data).then((res) => { var data = res.data.data.list; data.map((item) => { item.ptObj = app.getTypesItem(item.pt_id); }) if (is) { if (data.length == 0) { this.setData({ isData: true }) return; } var list = that.data.list; this.setData({ list: list.concat(data) }) } else { this.setData({ list: [] }); this.setData({ list: data, isData: false }) } }) }, // 获取数据范围权限 getDataAccess() { app.$get('/api/integral/statistics/range_level').then(res => { let resData = res.data.data; if (resData == 1) { this.setData({ str: '仅查看自己的数据' }) } else if (resData == 2) { this.setData({ str: '查看自己以及管理范围内用户的数据' }) } else { this.setData({ str: '查看全员数据' }) } }) }, //上啦加载 onScrollToLower() { if (!that.data.isData) { this.setData({ page: ++that.data.page }) this.getData(true); } }, //打开兴趣 openDetail(e) { var item = e.target.dataset.item; dd.navigateTo({ url: '../prizeBuckleDetail/prizeBuckleDetail?id=' + item.id }) }, //显示规则组件 selectRule() { this.setData({ popupCx: 'container__mask', showRuleTwo: true }) }, //显示选择时间组件 selectDate() { this.setData({ popupCx: 'container__mask', showDate: true }) }, //显示选择员工 selectStaff() { this.setData({ popupCx: 'container__mask', showStaff: true }) }, //选择时间 onConfirmDate(data) { that.setData({ defaultDate: data, dateObj: data.date, date_type: data.type == 1 ? 3 : data.type, page: 1, selectDateVal: data.type == 1 ? (data.date == that.data.date ? '本月' : '月') : '日', }) this.getData(); }, //关闭弹窗 onClose() { this.setData({ showDate: false, showStaff: false, showRuleTwo: false, popupCx: '', }) }, //选择事件来源 bingIntegralType(e) { this.setData({ typesIndex: e.detail.value, page: 1, }); this.getData(); }, //选择员工 onConfirmStaff(data) { if (!data) { this.setData({ staffVal: '员工', employee_ids: '', page: 1 }) this.getData(); return false; } if (data.length > 0) { if (data.length > 1) { var str = ""; var arr = []; data.forEach((item) => { str += item.name + ',' arr.push(item.id); }) var employee_ids = arr.join(','); this.setData({ staffVal: str.substring(0, str.length - 1), employee_ids: employee_ids, page: 1, }) } else { this.setData({ staffVal: data[0].name, employee_ids: data[0].id.toString(), page: 1, }) } } else { this.setData({ staffVal: '员工', employee_ids: '', page: 1, }) } this.getData(); }, //选择规则 onConfirmRule(e) { this.setData({ rule_id: e.id ? e.id : '', page: 1, ruleVal: e.name, }) this.getData(); }, });