| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303 |
- // 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:this.timestamp(currentTimestamp)
- })
- this.getdatetime()
-
- },
- timestamp(n){
- // 使用 Date 对象将时间戳转换为日期时间字符串
- const date = new Date(n);
-
- // 使用 Date 对象的方法获取年月日时分秒
- const year = date.getFullYear();
- const month = date.getMonth() + 1; // 月份是从0开始的,需要加1
- const day = date.getDate();
- const hours = date.getHours();
- const minutes = date.getMinutes();
- const seconds = date.getSeconds();
-
- // 构造你需要的日期时间格式
- return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
- },
- // 查询人员
- 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:this.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() {
-
- }
- })
|