You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
bocai_supplyChain/subPage/todayData/index.js

610 lines
17 KiB
JavaScript

// pages/todayData/index.js
const app = getApp();
var dateTimePicker = require("../../utils/dateTimePicker.js");
var dateUtil = require("../../utils/dateUtil.js");
var { formatDateYMD, fullCopy } = require("../../utils/commonUtil.js");
import moment from 'moment'
import { customRequest } from '../../utils/request.js';
Page({
/**
* 页面的初始数据
*/
data: {
currentTime: formatDateYMD(new Date()),
currentTime2: formatDateYMD(new Date()),
start: formatDateYMD(new Date()),
end: formatDateYMD(new Date()),
endTime: formatDateYMD(new Date()),
tabs: [{ title: "全部" }, { title: "审核中" }, { title: "待接待" }, { title: "待面试" }, { title: "待入职" }, { title: "在职中" }, { title: "已完成" }],
activeTab: 0,
dataList: [],
isLoading: true,
totalObj: {
// 数据总计
arrived: null,
entry: null,
obJob: null,
passed: null,
signUps: null,
},
dropdownShow: false,
dateList: [
{
name: '昨日',
value: 7
},
{
name: '上周',
value: 3
},
{
name: '上月',
value: 5
},
{
name: '近7日',
value: 0
},
{
name: '近30日',
value: 1
},
],
groupDataList: [],// 分组列表
dateType: '',
dateVal: 6,
sortType: 0,
totalObj: {},
currentGroup: {},
notCustom: true
},
/**
* 生命周期函数--监听页面加载
*/
onLoad (options) {
this.getGroupList(this.data.currentTime, this.data.currentTime2)
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady () { },
/**
* 生命周期函数--监听页面显示
*/
onShow () {
let that = this;
// this.getDataList();
console.log(that.data.endTime);
},
changeDateTime (e) {
console.log(e);
if (e.currentTarget.dataset.type == "start") {
this.setData({
currentTime: e.detail.value,
start: e.detail.value
});
} else if (e.currentTarget.dataset.type == "end") {
this.setData({
currentTime2: e.detail.value,
end: e.detail.value
});
}
let time1 = new Date(this.data.currentTime).getTime();
let time2 = new Date(this.data.currentTime2).getTime();
console.log(time1);
console.log(time2);
if (time1 > time2) {
wx.showToast({
duration: 2000,
title: "结束时间不能早于开始时间",
mask: true,
icon: "none",
});
return;
}
this.setData({
dateVal: -1,
notCustom: false
})
this.getGroupList(this.data.currentTime, this.data.currentTime2)
// this.getDataList();
},
showToast () {
wx.showToast({
title: "仅显示当前在职数",
icon: "none",
});
},
/**
* 获取团队列表
*/
getGroupList () {
let that = this;
customRequest("/yishoudan/statistics/agency/teamWithGroup", {
header: 'headers', method: 'post', data: {
start: this.data.start,
end: this.data.end,
}
}).then(({ data }) => {
if (data.status == 200) {
let totalObj = {
arrived: null,
entry: null,
obJob: null,
passed: null,
signUps: null,
finshedGPA: null,
entryGPA: null,
}
data.data.list.forEach((item, index) => {
totalObj.arrived += item.arrived
totalObj.entry += item.entry
totalObj.obJob += item.obJob
totalObj.passed += item.passed
totalObj.signUps += item.signUps
totalObj.finshedGPA += item.finshedGPA
totalObj.entryGPA += item.entryGPA
totalObj.index = index + 2
})
that.data.totalObj = totalObj
let newList = []
data.data.list.forEach((item, index) => {
newList = newList.concat(item.users)
console.log(item)
console.log(index)
})
console.log(newList)
if (that.data.sortType != 0) {
that.data.dataList = fullCopy(data.data.list)
if (that.data.currentGroup) {
that.selectGroup(that.data.currentGroup)
}
} else {
newList.sort((a, b) => b.funnel - a.funnel);
that.data.dataList = fullCopy(newList)
}
that.data.groupDataList = fullCopy(data.data.list)
// that.data.totalDataList = fullCopy(newList)
// that.isspinning = false
that.data.groupDataList.forEach((item) => {
console.log(item);
item.title = item.agencyTeamName
})
that.data.groupDataList.unshift({
title: '全部部门', agencyTeamId: 12, agencyTeamIdx: 2, arrived: 3, entry: 1, entryGPA: 0.03, finshedGPA: 1.86, funnel: 3.2, obJob: 71, packageIdx: 138, passed: 2, signUps: 8
})
that.setData({
groupDataList: that.data.groupDataList,
dataList: that.data.dataList,
totalObj: that.data.totalObj
})
}
})
// wx.request({
// url: app.globalData.ip + "/yishoudan/statistics/agency/teamWithGroup",
// method: "post",
// header: app.globalData.headers,
// data: {
// start: this.data.start,
// end: this.data.end,
// },
// success: function ({ data }) {
// console.log(data);
// if (data.status == 200) {
// let totalObj = {
// arrived: null,
// entry: null,
// obJob: null,
// passed: null,
// signUps: null,
// finshedGPA: null,
// entryGPA: null,
// }
// data.data.list.forEach((item, index) => {
// totalObj.arrived += item.arrived
// totalObj.entry += item.entry
// totalObj.obJob += item.obJob
// totalObj.passed += item.passed
// totalObj.signUps += item.signUps
// totalObj.finshedGPA += item.finshedGPA
// totalObj.entryGPA += item.entryGPA
// totalObj.index = index + 2
// })
// that.data.totalObj = totalObj
// let newList = []
// data.data.list.forEach((item, index) => {
// newList = newList.concat(item.users)
// console.log(item)
// console.log(index)
// })
// console.log(newList)
// if (that.data.sortType != 0) {
// that.data.dataList = fullCopy(data.data.list)
// if (that.data.currentGroup) {
// that.selectGroup(that.data.currentGroup)
// }
// } else {
// that.data.dataList = fullCopy(newList)
// }
// that.data.groupDataList = fullCopy(data.data.list)
// // that.data.totalDataList = fullCopy(newList)
// // that.isspinning = false
// that.data.groupDataList.forEach((item) => {
// console.log(item);
// item.title = item.agencyTeamName
// })
// that.data.groupDataList.unshift({
// title: '全部部门', agencyTeamId: 12, agencyTeamIdx: 2, arrived: 3, entry: 1, entryGPA: 0.03, finshedGPA: 1.86, funnel: 3.2, obJob: 71, packageIdx: 138, passed: 2, signUps: 8
// })
// that.setData({
// groupDataList: that.data.groupDataList,
// dataList: that.data.dataList,
// totalObj: that.data.totalObj
// })
// }
// }
// });
},
/**
* 团队排序的分组点击
*/
onTabClick (e) {
console.log(e);
if (e.detail.index != 0) {
let val = this.data.groupDataList[e.detail.index]
this.selectGroup(val)
} else {
this.selectGroup('all')
}
},
selectGroup (val) {
console.log(val)
if (typeof val == 'object') {
this.data.currentGroup = val
this.data.groupDataList.forEach((item) => {
console.log(item)
console.log()
if (item.agencyTeamId == val.agencyTeamId) {
this.data.dataList = item.users
this.data.totalObj.arrived = 0
this.data.totalObj.entry = 0
this.data.totalObj.obJob = 0
this.data.totalObj.passed = 0
this.data.totalObj.signUps = 0
this.data.totalObj.finshedGPA = 0
this.data.totalObj.entryGPA = 0
this.data.dataList.forEach((item1) => {
this.data.totalObj.arrived += item1.arrived
this.data.totalObj.entry += item1.entry
this.data.totalObj.obJob += item1.obJob
this.data.totalObj.passed += item1.passed
this.data.totalObj.signUps += item1.signUps
this.data.totalObj.finshedGPA += item1.finshedGPA
this.data.totalObj.entryGPA += item1.entryGPA
})
}
})
this.data.dataList.sort((a, b) => b.funnel - a.funnel);
this.setData({
dataList: this.data.dataList,
totalObj: this.data.totalObj,
currentGroup: this.data.currentGroup,
})
console.log(this.dataList)
} else {
this.data.currentGroup = {}
this.setData({
currentGroup: this.data.currentGroup,
})
this.getGroupList()
}
},
/**
* 获取数据
*/
getDataList () {
let that = this;
wx.showLoading({
title: "加载中...",
mask: true,
});
that.setData({
isLoading: true,
});
customRequest("/statistics/agency/team", {
header: 'headers', method: 'post', data: {
start: that.data.currentTime,
end: that.data.currentTime2,
}
}).then((res) => {
if (res.data.status == 200) {
that.data.totalObj = {
arrived: null,
entry: null,
obJob: null,
passed: null,
signUps: null,
};
res.data.data.list.forEach((item, index) => {
that.data.totalObj.arrived += item.arrived;
that.data.totalObj.entry += item.entry;
that.data.totalObj.obJob += item.obJob;
that.data.totalObj.passed += item.passed;
that.data.totalObj.signUps += item.signUps;
that.data.totalObj.index = index + 2;
});
that.setData({
dataList: res.data.data.list,
totalObj: that.data.totalObj,
// dataList: [],
});
}
wx.hideLoading();
that.setData({
isLoading: false,
});
})
// wx.request({
// url: app.globalData.ip + "/statistics/agency/team",
// method: "post",
// data: {
// start: that.data.currentTime,
// end: that.data.currentTime2,
// },
// header: app.globalData.headers,
// success (res) {
// console.log(res);
// if (res.data.status == 200) {
// that.data.totalObj = {
// arrived: null,
// entry: null,
// obJob: null,
// passed: null,
// signUps: null,
// };
// // let newList = []
// // const len = 3;
// // for (let i = 0; i < res.data.data.list.length; i++) { // 循环截取 每次截取三个
// // const arr = res.data.data.list.slice(i, i + 3);
// // const obj = { ...arr }
// // newList.push(obj);
// // i = i + len - 1;
// // }
// // newList.forEach((item) => {
// // console.log(item);
// // item.arrived = 0
// // item.entry = 0
// // item.obJob = 0
// // item.passed = 0
// // item.signUps = 0
// // for (var k in item) {
// // console.log(item[k]);
// // console.log(item.arrived);
// // console.log(item.arrived + item[k].arrived);
// // item.arrived += item[k].arrived*1;
// // item.entry += item[k].entry*1;
// // item.obJob += item[k].obJob*1;
// // item.passed += item[k].passed*1;
// // item.signUps += item[k].signUps*1;
// // }
// // })
// res.data.data.list.forEach((item, index) => {
// that.data.totalObj.arrived += item.arrived;
// that.data.totalObj.entry += item.entry;
// that.data.totalObj.obJob += item.obJob;
// that.data.totalObj.passed += item.passed;
// that.data.totalObj.signUps += item.signUps;
// that.data.totalObj.index = index + 2;
// });
// that.setData({
// dataList: res.data.data.list,
// totalObj: that.data.totalObj,
// // dataList: [],
// });
// }
// wx.hideLoading();
// that.setData({
// isLoading: false,
// });
// },
// });
},
triggerGroup (e) {
console.log(e);
let type = e.currentTarget.dataset.type
this.data.dataList.forEach((item, index) => {
if (type == index) {
item.checked = !item.checked
}
})
// this.data.dataList[type].checked = !this.data.dataList[type].checked
console.log(this.data.dataList[type].checked);
this.setData({
dataList: this.data.dataList
// [type]: !this.data[type]
})
},
setSortType (e) {
this.setData({
sortType: e.currentTarget.dataset.id
})
this.selectGroup('all')
// this.getGroupList()
},
formatDate (tag) {
let start, end
console.log(tag);
if (tag == 0) {
start = moment().add(-6, 'd').format('YYYY-MM-DD')
end = moment().format('YYYY-MM-DD')
} else if (tag == 1) {
start = moment().add(-29, 'd').format('YYYY-MM-DD')
end = moment().format('YYYY-MM-DD')
} else if (tag == 2) {
start = moment().startOf('week').format('YYYY-MM-DD')
end = moment().format('YYYY-MM-DD')
} else if (tag == 3) {
start = moment()
.week(moment().week() - 1)
.weekday(0)
.format('YYYY-MM-DD')
end = moment()
.week(moment().week() - 1)
.weekday(6)
.format('YYYY-MM-DD')
console.log(start)
console.log(end)
// return
} else if (tag == 4) {
start = moment().startOf('month').format('YYYY-MM-DD')
end = moment().format('YYYY-MM-DD')
} else if (tag == 5) {
start = moment().subtract('month', 1).format('YYYY-MM') + '-01'
end = moment().subtract(1, 'month').endOf('month').format('YYYY-MM-DD')
} else if (tag == 6) {
start = moment().add(-0, 'd').format('YYYY-MM-DD')
end = moment().format('YYYY-MM-DD')
} else if (tag == 7) {
start = moment().add(-1, 'd').format('YYYY-MM-DD')
end = moment().add(-1, 'd').format('YYYY-MM-DD')
}
console.log(start);
console.log(end);
this.setData({
currentTime: start,
currentTime2: end,
start,
end
})
this.getGroupList()
},
/**
* 时间筛选
*/
setOuterDate (e) {
console.log(e);
this.setData({
dateType: '',
dateVal: e.currentTarget.dataset.type,
notCustom: true
})
console.log(this.data.dateVal);
this.formatDate(this.data.dateVal)
},
setDate (e) {
let that = this
console.log(e);
that.data.dateList.forEach((item) => {
if (item.value == e.currentTarget.dataset.type) {
console.log(item.value);
that.setData({
dateType: item.name,
dateVal: item.value,
dropdownShow: false,
notCustom: true
})
setTimeout(() => {
console.log(that.data.dateVal);
}, 10);
}
})
console.log(that.data.dateVal);
that.formatDate(that.data.dateVal)
},
hideDefinedDropdown () {
this.setData({
definedDropdownShow: false
})
},
showDefinedDropdown () {
this.setData({
definedDropdownShow: true,
dropdownShow: false
})
console.log(this.data.definedDropdownShow);
},
toDataDetail (e) {
console.log(e);
let info = e.currentTarget.dataset.info;
let type = e.currentTarget.dataset.type;
console.log(type);
// console.log(e.currentTarget.dataset.info);
// console.log(JSON.parse(e.currentTarget.dataset.info));
let data = { userId: info.id, type, start: this.data.currentTime, end: this.data.currentTime2, agencyTeamId: info.agencyTeamId }
console.log(data);
wx.navigateTo({
url: "/pages/dataDetail/index?info=" + JSON.stringify(data),
});
},
hideDropdown () {
this.setData({
dropdownShow: false
})
},
showDropdown () {
this.setData({
dropdownShow: true
})
},
/**
* 阻止滑动穿透
*
*
*/
modalMove () {
return false;
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide () { },
/**
* 生命周期函数--监听页面卸载
*/
onUnload () { },
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh () { },
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom () { },
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
return app.sharePageImage()
},
});