// pages/scheduling/index.js const api = require('../../api/index.js'); const timestamp = require("../../utils/util.js") Page({ /** * 页面的初始数据 */ data: { visible:false, current: [], options: [], userdata:[], value:'', minDate: new Date(2022, 0, 10).getTime(), maxDate: new Date(2027, 10, 27).getTime(), format(day) { const { date } = day; const year = date.getFullYear(); const month = date.getMonth() + 1; const curDate = date.getDate(); // 农历月份名称 const lunarMonths = ['正月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '冬月', '腊月']; // 农历日期名称 const lunarDays = [ '初一', '初二', '初三', '初四', '初五', '初六', '初七', '初八', '初九', '初十', '十一', '十二', '十三', '十四', '十五', '十六', '十七', '十八', '十九', '二十', '廿一', '廿二', '廿三', '廿四', '廿五', '廿六', '廿七', '廿八', '廿九', '三十' ]; // 阳历节日映射 const solarFestivals = { '1-1': '元旦', '2-14': '情人节', '3-8': '妇女节', '4-1': '愚人节', '5-1': '劳动节', '6-1': '儿童节', '9-10': '教师节', '10-1': '国庆节', '12-24': '平安夜', '12-25': '圣诞节' }; // 农历节日映射(需要根据具体年份计算,这里简化处理) const lunarFestivals = { '正月-初一': '春节', '正月-十五': '元宵', '五月-初五': '端午', '七月-初七': '七夕', '八月-十五': '中秋', '九月-初九': '重阳', '腊月-三十': '除夕' }; // 节气映射(简化版) const solarTerms = { '2-4': '立春', '2-19': '雨水', '3-5': '惊蛰', '3-20': '春分', '4-5': '清明', '4-20': '谷雨', '5-5': '立夏', '5-21': '小满', '6-6': '芒种', '6-21': '夏至', '7-7': '小暑', '7-23': '大暑', '8-8': '立秋', '8-23': '处暑', '9-8': '白露', '9-23': '秋分', '10-8': '寒露', '10-23': '霜降', '11-7': '立冬', '11-22': '小雪', '12-7': '大雪', '12-22': '冬至' }; // 计算农历日期(简化算法) const lunarMonthIndex = (month - 1 + Math.floor(curDate / 15)) % 12; const lunarDayIndex = (curDate - 1) % 30; let lunarDate = lunarDays[lunarDayIndex]; const lunarMonth = lunarMonths[lunarMonthIndex]; // 如果是初一,显示月份 if (lunarDayIndex === 0) { lunarDate = lunarMonth; } // 设置农历显示 day.prefix = lunarDate; // 检查阳历节日 const solarFestivalKey = `${month}-${curDate}`; if (solarFestivalKey in solarFestivals) { day.suffix = solarFestivals[solarFestivalKey]; day.className = 'is-solar-festival'; } // 检查农历节日 const lunarFestivalKey = `${lunarMonth}-${lunarDays[lunarDayIndex]}`; if (lunarFestivalKey in lunarFestivals) { day.suffix = lunarFestivals[lunarFestivalKey]; day.className = 'is-lunar-festival'; } // 检查节气 if (solarFestivalKey in solarTerms) { day.suffix = solarTerms[solarFestivalKey]; day.className = 'is-solar-term'; } // 周末样式 if (date.getDay() === 0 || date.getDay() === 6) { day.className = (day.className || '') + ' is-weekend'; } // 今天日期样式 const today = new Date(); if (year === today.getFullYear() && month === today.getMonth() + 1 && curDate === today.getDate()) { day.className = (day.className || '') + ' is-today'; } return day; }, selectschedudata:[], partnerPosition:wx.getStorageSync('partnerPosition').partnerPosition }, // day.suffix = '¥100'; /** * 生命周期函数--监听页面加载 */ onLoad(options) { this.getuser() const currentTimestamp = Date.now(); this.setData({ value:currentTimestamp, valuename:timestamp.timestamp(currentTimestamp) }) this.getdatetime() }, // 查询人员 getuser(){ let data = { partnerName:'', partnerPhone:'', partnerType:'' } api.request(`/partner/selectinformationall`, 'POST',data) .then((res) => { console.log(res); const positionMap = { 1: '值班员', 2: '值长', 3: '站长', 4: '董事长' }; const transformedData = res.data.map(item => ({ label: item.partnerName, value: item.partnerId, content: positionMap[item.partnerPosition] || item.partnerPosition, ...item })); console.log(transformedData); this.setData({ options:transformedData }) }) .catch((err) => { console.error('请求失败:', err); // 在这里处理请求失败的情况 }); }, handleSelect(e) { const { value } = e.detail; this.setData({ value:value, valuename:timestamp.timestamp(value) }) console.log(value); this.getdatetime() }, handleConfirm(e) { this.setData({ value: e.detail.value }); console.log(e.detail.value); }, handlePanelChange(e) { const { year, month } = e.detail; console.log('year: ', year, 'month: ', month); }, ondutyadd(){ this.setData({ visible:true }) }, onVisibleChange(){ this.setData({ visible:false }) }, handleGroupChange(event) { console.log('group', event.detail.value); this.setData({ current: event.detail.value, }); }, // 查询日期 getdatetime(){ let data = { startdate:this.data.valuename, enddate:this.data.valuename, } api.request(`/scheduling/selectscheduling`, 'POST',data) .then((res) => { console.log(res); this.setData({ selectschedudata:res.data }) }) .catch((err) => { console.error('请求失败:', err); // 在这里处理请求失败的情况 }); }, onworkorder(){ let data ={ schedulingId:this.data.selectschedudata[0].id, partnerId:this.data.current.toString() } api.request(`/scheduling`, 'POST',data) .then((res) => { console.log(res); this.setData({ visible:false }) this.getdatetime() }) .catch((err) => { console.error('请求失败:', err); // 在这里处理请求失败的情况 }); }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ onShow() { }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { } })