riku
2024-11-13 ab70c6eb4a181b282af0eb200275cd8a4d2ab172
2024.11.13

1. 移除业务指导单位
已修改11个文件
已删除3个文件
862 ■■■■■ 文件已修改
data/schedules.js 207 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/home.js 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/mAssessment/assessment/assessment.json 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/mAssessment/assessment/assessment.wxml 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/mAssessment/assessment/assessment.wxss 192 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/mExtra/pSupervisionchange/pSupervisionchange.wxml 49 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/mExtra/pSupervisionchangeDetail/pSupervisionchangeDetail.wxml 65 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/mService/behaviors/bScheduleManager.js 91 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/mService/cSchedule/cSchedule.wxml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/mService/pSchedule/pSchedule.js 96 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/mUser/pAbout/pAbout.wxml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/mUser/sceneauthentication/industrial/index.wxml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/mUser/userlogin/userlogin.wxml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/baserequest.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
data/schedules.js
@@ -1,92 +1,129 @@
import moment from '../utils/moment.min'
import moment from '../utils/moment.min';
import scheduleservice from '../service/scheduleservice';
var schedules = undefined;
//
const sysSchedules = function () {
  let s = []
  const now = moment().hour(0).minute(0).second(0).millisecond(0)
  const year = now.year()
  //台账每月10号为提交日
  const day = 10
  for (let m = 1; m <= 12; m++) {
    const mon = m > 9 ? m : `0${m}`
    const item = {
      time: moment(`${year}-${mon}-10`),
      type: 0,
      events: [{
        category: `${year}å¹´${m}月环保工作日程`,
        name: `提交${m}月环保台账`,
        type: 1, //系统日程
        steps: [{
          index: '01',
          title: ['提交', '方式'],
          content: '前往台账管理界面,根据台账类型分类上传台账图片。'
        }, {
          index: '02',
          title: ['提交', '期限'],
          content: '注意台账提交周期为一个月,每月尽量10号之前提交上月台账,逾期后环保信用评估会有所影响。'
        }]
      }]
    }
    s.push(item)
  }
  //评估每月提交一次,定为5号
  for (let m = 1; m <= 12; m++) {
    const mon = m > 9 ? m : `0${m}`
    const item = {
      time: moment(`${year}-${mon}-05`),
      type: 1,
      events: [{
        category: `${year}å¹´${m}月环保工作日程`,
        name: `完成${m}月自测智评`,
        type: 1, //系统日程
        steps: [{
          index: '01',
          title: ['自评', '方法'],
          content: '前往自测智评界面,点击“去测评”按钮进行自评。'
        }, {
          index: '02',
          title: ['测评', '周期'],
          content: '测评周期为一个月一次,积极自评可有效帮助您知晓企业当前的环保隐患。'
        }]
      }]
    }
    s.push(item)
  }
  //承诺每一年提交一次
  const item = {
    category: `${year}å¹´12月环保工作日程`,
    time: moment(`${year}-12-31`),
    type: 2,
    events: [{
      name: `完成守法承诺`,
      type: 1, //系统日程
      steps: [{
        index: '01',
        title: ['承诺', '方法'],
        content: '前往守法承诺界面,根据提示,签署守法承诺书。'
      }, {
        index: '02',
        title: ['承诺书', '作用'],
        content: '签署守法承诺书,意味着您主动向环保部门承诺遵守相关规章制度。'
      }, {
        index: '03',
        title: ['承诺书', '有效期'],
        content: '守法承诺书从签署之日起,有效期为一年'
      }]
    }],
  }
  s.push(item)
// const sysSchedules = function () {
//   let s = []
//   const now = moment().hour(0).minute(0).second(0).millisecond(0)
//   const year = now.year()
//   //台账每月10号为提交日
//   const day = 10
//   for (let m = 1; m <= 12; m++) {
//     const mon = m > 9 ? m : `0${m}`
//     const item = {
//       time: moment(`${year}-${mon}-10`),
//       type: 0,
//       events: [{
//         category: `${year}å¹´${m}月环保工作日程`,
//         name: `提交${m}月环保台账`,
//         type: 1, //系统日程
//         steps: [{
//           index: '01',
//           title: ['提交', '方式'],
//           content: '前往台账管理界面,根据台账类型分类上传台账图片。'
//         }, {
//           index: '02',
//           title: ['提交', '期限'],
//           content: '注意台账提交周期为一个月,每月尽量10号之前提交上月台账,逾期后环保信用评估会有所影响。'
//         }]
//       }]
//     }
//     s.push(item)
//   }
//   //评估每月提交一次,定为5号
//   for (let m = 1; m <= 12; m++) {
//     const mon = m > 9 ? m : `0${m}`
//     const item = {
//       time: moment(`${year}-${mon}-05`),
//       type: 1,
//       events: [{
//         category: `${year}å¹´${m}月环保工作日程`,
//         name: `完成${m}月自测智评`,
//         type: 1, //系统日程
//         steps: [{
//           index: '01',
//           title: ['自评', '方法'],
//           content: '前往自测智评界面,点击“去测评”按钮进行自评。'
//         }, {
//           index: '02',
//           title: ['测评', '周期'],
//           content: '测评周期为一个月一次,积极自评可有效帮助您知晓企业当前的环保隐患。'
//         }]
//       }]
//     }
//     s.push(item)
//   }
//   //承诺每一年提交一次
//   const item = {
//     category: `${year}å¹´12月环保工作日程`,
//     time: moment(`${year}-12-31`),
//     type: 2,
//     events: [{
//       name: `完成守法承诺`,
//       type: 1, //系统日程
//       steps: [{
//         index: '01',
//         title: ['承诺', '方法'],
//         content: '前往守法承诺界面,根据提示,签署守法承诺书。'
//       }, {
//         index: '02',
//         title: ['承诺书', '作用'],
//         content: '签署守法承诺书,意味着您主动向环保部门承诺遵守相关规章制度。'
//       }, {
//         index: '03',
//         title: ['承诺书', '有效期'],
//         content: '守法承诺书从签署之日起,有效期为一年'
//       }]
//     }],
//   }
//   s.push(item)
  s.sort(function (x, y) {
    if (x.time.isBefore(y.time)) {
      return -1;
    } else if (x.time.isAfter(y.time)) {
      return 1;
//   s.sort(function (x, y) {
//     if (x.time.isBefore(y.time)) {
//       return -1;
//     } else if (x.time.isAfter(y.time)) {
//       return 1;
//     } else {
//       return 0;
//     }
//   })
//   return s
// }
/**
 * èŽ·å–ç”¨æˆ·æœ¬å¹´åº¦çš„æ‰€æœ‰çŽ¯ä¿æ—¥ç¨‹
 */
function sysSchedules() {
  let startTime = moment()
    .month(0)
    .date(1)
    .format('YYYY-MM-DD')
  let endTime = moment()
    .month(11)
    .date(31)
    .format('YYYY-MM-DD')
  return new Promise((resolve, reject) => {
    if (schedules) {
      resolve(schedules);
    } else {
      return 0;
      scheduleservice.getSchedules(
        { startTime, endTime, type: 0 },
        {
          success: res => {
            schedules = res.data;
            schedules.forEach(s => {
              s.time = moment(s.time.split('T')[0]).format('YYYY-MM-DD');
            });
            resolve(res.data);
          },
          fail: e => {
            reject(e);
          },
        },
      );
    }
  })
  return s
  });
}
export default sysSchedules
export default sysSchedules;
pages/home/home.js
@@ -30,7 +30,7 @@
    userRealName: '',
    //历史评分详情
    assessmentCompleted: false,
    assessmentCompleted: undefined,
    historyPoint: {
      time: '测评周期----å¹´--月',
      score: '--',
@@ -40,7 +40,7 @@
      period: '',
    },
    //台账完成情况
    ledgerCompleted: false,
    ledgerCompleted: undefined,
    monthInfo: {
      //必填项总数
      totalMust: 0,
@@ -161,9 +161,18 @@
        let year = lastOne.updateDate.substring(0, 4);
        let month = lastOne.updateDate.substring(5, 7);
        const now = moment();
        if (now.year() == year && now.month() + 1 == month) {
        // fixme 2024.5.24 ä¸´æ—¶æ·»åŠ é™å®‰åŒ»ç–—æœºæž„çš„è¯„ä¼°å‘¨æœŸä¸º1年,后续再做完善
        const inPeriod =
          app.globalData.userInfo.extension1 == '静安区' &&
          app.globalData.userInfo.extension2 == '9' &&
          year == now.year();
        if ((now.year() == parseInt(year) && now.month() + 1 == parseInt(month) ) || inPeriod) {
          that.setData({
            assessmentCompleted: true,
            assessmentCompleted: 2,
          });
        } else {
          that.setData({
            assessmentCompleted: 1,
          });
        }
        that.setData({
@@ -289,8 +298,7 @@
    this.setData({
      monthInfo,
      ledgerCompleted: monthInfo.percent >= 100 && monthInfo.percent2 >= 100,
      // ledgerCompleted: true
      ledgerCompleted: monthInfo.percent >= 100 && monthInfo.percent2 >= 100 ? 2 : 1,
    });
  },
pages/mAssessment/assessment/assessment.json
ÎļþÒÑɾ³ý
pages/mAssessment/assessment/assessment.wxml
ÎļþÒÑɾ³ý
pages/mAssessment/assessment/assessment.wxss
ÎļþÒÑɾ³ý
pages/mExtra/pSupervisionchange/pSupervisionchange.wxml
@@ -19,20 +19,50 @@
          <block wx:if="{{item.proPics.length > 0}}">
            <view class="text-2">问题图片</view>
            <view class="img-group">
              <view wx:for="{{item.proPics}}" wx:for-index="index2" wx:key="index2" wx:for-item="m">
                <image class="img-group_img" src="{{m}}" mode="aspectFill" bindtap="previewImage" data-type="pro" data-index="{{[index, index2]}}"></image>
              <view
                wx:for="{{item.proPics}}"
                wx:for-index="index2"
                wx:key="index2"
                wx:for-item="m"
              >
                <image
                  class="img-group_img"
                  src="{{m}}"
                  mode="aspectFill"
                  bindtap="previewImage"
                  data-type="pro"
                  data-index="{{[index, index2]}}"
                ></image>
              </view>
            </view>
          </block>
          <block wx:if="{{item.changePics.length > 0}}">
            <view class="text-2">整改图片</view>
            <view class="img-group">
              <view wx:for="{{item.changePics}}" wx:for-index="index2" wx:key="index2" wx:for-item="m">
                <image class="img-group_img" src="{{m}}" mode="aspectFill" bindtap="previewImage" data-type="change" data-index="{{[index, index2]}}"></image>
              <view
                wx:for="{{item.changePics}}"
                wx:for-index="index2"
                wx:key="index2"
                wx:for-item="m"
              >
                <image
                  class="img-group_img"
                  src="{{m}}"
                  mode="aspectFill"
                  bindtap="previewImage"
                  data-type="change"
                  data-index="{{[index, index2]}}"
                ></image>
              </view>
            </view>
          </block>
          <button bindtap="changeProblem" disabled="{{item.ischanged}}" data-index="{{index}}">{{item.ischanged ? '已整改' : '整改'}}</button>
          <button
            bindtap="changeProblem"
            disabled="{{item.ischanged}}"
            data-index="{{index}}"
          >
            {{item.ischanged ? '已整改' : '整改'}}
          </button>
        </view>
      </block>
      <template wx:else is="nodataPage"></template>
@@ -43,5 +73,12 @@
    <mp-icon type="filled" icon="error" size="60" color="white"></mp-icon>
    <view>{{reason}}</view>
  </view>
  <my-gallery hide-on-click="{{true}}" show-delete="{{false}}" show="{{showPreview}}" img-urls="{{previewImageUrls}}" current="{{previewCurrent}}" title="{{title}}"></my-gallery>
  <my-gallery
    hide-on-click="{{true}}"
    show-delete="{{false}}"
    show="{{showPreview}}"
    img-urls="{{previewImageUrls}}"
    current="{{previewCurrent}}"
    title="{{title}}"
  ></my-gallery>
</view>
pages/mExtra/pSupervisionchangeDetail/pSupervisionchangeDetail.wxml
@@ -3,8 +3,7 @@
<view class="page">
  <view class="banner-bg"></view>
  <view class="page__hd">
  </view>
  <view class="page__hd"> </view>
  <view class="page__bd">
    <block wx:if="{{problemList.length > 0}}">
      <view wx:for="{{problemList}}" wx:key="index" class="card-subtask">
@@ -16,32 +15,74 @@
        <block wx:if="{{item.proPics.length > 0}}">
          <view class="text-2">问题图片</view>
          <view class="img-group">
            <view wx:for="{{item.proPics}}" wx:for-index="index2" wx:key="index2" wx:for-item="m">
              <image class="img-group_img" src="{{m}}" mode="aspectFill" bindtap="previewImage" data-type="pro" data-index="{{[index, index2]}}"></image>
            <view
              wx:for="{{item.proPics}}"
              wx:for-index="index2"
              wx:key="index2"
              wx:for-item="m"
            >
              <image
                class="img-group_img"
                src="{{m}}"
                mode="aspectFill"
                bindtap="previewImage"
                data-type="pro"
                data-index="{{[index, index2]}}"
              ></image>
            </view>
          </view>
        </block>
        <block wx:if="{{item.changePics.length > 0}}">
          <view class="text-2">整改图片</view>
          <view class="img-group">
            <view wx:for="{{item.changePics}}" wx:for-index="index2" wx:key="index2" wx:for-item="m">
              <image class="img-group_img" src="{{m}}" mode="aspectFill" bindtap="previewImage" data-type="change" data-index="{{[index, index2]}}"></image>
            <view
              wx:for="{{item.changePics}}"
              wx:for-index="index2"
              wx:key="index2"
              wx:for-item="m"
            >
              <image
                class="img-group_img"
                src="{{m}}"
                mode="aspectFill"
                bindtap="previewImage"
                data-type="change"
                data-index="{{[index, index2]}}"
              ></image>
            </view>
          </view>
        </block>
        <block wx:else>
          <mp-upload title="上传台账图片" titleClass="upload-title-class" max-count="3" files="{{imgFiles}}" binduploadImg="uploadFile" binddelete="delImg"></mp-upload>
          <mp-upload
            title="上传台账图片"
            titleClass="upload-title-class"
            max-count="3"
            files="{{imgFiles}}"
            binduploadImg="uploadFile"
            binddelete="delImg"
          ></mp-upload>
        </block>
        <button bindtap="submitDialog" disabled="{{item.ischanged}}" data-index="{{index}}">{{item.ischanged ? '已整改' : '上传'}}</button>
        <button
          bindtap="submitDialog"
          disabled="{{item.ischanged}}"
          data-index="{{index}}"
        >
          {{item.ischanged ? '已整改' : '上传'}}
        </button>
      </view>
    </block>
    <template wx:else is="nodataPage"></template>
  </view>
  <view class="page__ft">
  </view>
  <view class="page__ft"> </view>
  <c-dialog show="{{showDialog}}" yes="确认" bindconfirm="changeProblem">
    <view>确认是否提交整改?</view>
  </c-dialog>
  <my-gallery hide-on-click="{{true}}" show-delete="{{false}}" show="{{showPreview}}" img-urls="{{previewImageUrls}}" current="{{previewCurrent}}" title="{{title}}"></my-gallery>
  <my-gallery
    hide-on-click="{{true}}"
    show-delete="{{false}}"
    show="{{showPreview}}"
    img-urls="{{previewImageUrls}}"
    current="{{previewCurrent}}"
    title="{{title}}"
  ></my-gallery>
</view>
pages/mService/behaviors/bScheduleManager.js
@@ -12,37 +12,47 @@
  // behaviors: [bLoadingStatus],
  properties: {
    ledgerCompleted: {
      type: Boolean,
      observer(value) {
        this.checkScheduleComplete(0, value);
      },
    },
    assessmentCompleted: {
      type: Boolean,
      type: Number,
      observer(value) {
        this.checkScheduleComplete(1, value);
      },
    },
    assessmentCompleted: {
      type: Number,
      observer(value) {
        this.checkScheduleComplete(2, value);
      },
    },
  },
  data: {
    // å…¨éƒ¨çŽ¯ä¿æ—¥ç¨‹
    allSchedules: [],
    // å½“前用户最临近未完成日程
    thisSchedule: {},
    // å½“前用户最临近未完成日程索引
    index: 0,
    // å°è´¦å’Œè‡ªè¯„本期完成情况
    scheduleComplete: new Map(),
    // éœ€è¦åšæ—¥ç¨‹æ˜¯å¦å®Œæˆåˆ¤æ–­çš„æ—¥ç¨‹ä¸ªæ•°ï¼ˆå°è´¦å’Œè‡ªè¯„)
    scheduleCount: 2,
  },
  lifetimes: {
    attached: function () {
      this.setData({
        scheduleComplete: new Map(),
      });
      this.getAllSchedules().then(() => {
      this.getRecentSchedule();
      this.getSchedules();
      if (app.globalData.newUser) {
        this.nextSchedules();
      }
      // this.getAllSchedules()
      });
      // this.getSchedules();
    },
  },
  methods: {
    // èŽ·å–æœ€é‚»è¿‘çš„ä¸€ä¸ªçŽ¯ä¿ç³»ç»Ÿæ—¥ç¨‹
    getSchedules() {
      // let startTime = '2023-04-10';
      // let endTime = '2023-04-10';
      let startTime = moment().format('YYYY-MM-DD');
      let endTime = startTime;
      const that = this;
@@ -51,6 +61,9 @@
        {
          success(res) {
            if (res.data.length > 0) {
              res.data.sort(
                (a, b) => Math.abs(a.diffDays) - Math.abs(b.diffDays),
              );
              const schedule = res.data[0];
              schedule.time = moment(schedule.time.split('T')[0]).format(
                'YYYY-MM-DD',
@@ -71,7 +84,7 @@
    getRecentSchedule() {
      //1. ä»ŽæŽ¥å£èŽ·å–ç”¨æˆ·ä¸ªäººã€ç”¨æˆ·ä¼ä¸šç±»åž‹çš„ç›¸å…³æœ€ä¸´è¿‘æ—¥ç¨‹
      //2. æŒ‰ç…§æœ¬åœ°é€»è¾‘,得出最邻近日程
      const schedules = sysSchedules();
      const schedules = this.data.allSchedules;
      //2.1 å°†å°è´¦ã€è¯„估、承诺三项APP功能定义为日程
      //2.2 é€‰æ‹©æœ€é‚»è¿‘的事项作为当日的提醒事项,
      let today = moment().hour(0).minute(0).second(0).millisecond(0);
@@ -80,8 +93,8 @@
      let index = 0;
      for (let i = 0; i < schedules.length; i++) {
        let s = schedules[i];
        let d = s.time.diff(today, 'days');
        s.diffDays = d;
        let d = s.diffDays;
        // if (d == -8) {
        if (Math.abs(d) < Math.abs(diffDays)) {
          let _index = i;
@@ -93,60 +106,52 @@
      //2.3 æ—¥ç¨‹åœ¨æ—¶é—´ç»´åº¦ä¸Šåˆ†ä¸ºä¸‰ç±»æé†’,预告、当日、未完成的逾期提醒
      this.setData({
        allSchedules: schedules,
        // thisSchedule: {
        //   date: schedule.time,
        //   time: schedule.time.format('YYYY-MM-DD dddd'),
        //   type: schedule.type,
        //   events: schedule.events,
        //   diffDays: schedule.diffDays,
        // },
        thisSchedule: schedule,
        index,
      });
    },
    //获取所有日程
    getAllSchedules() {
      const schedules = sysSchedules();
      return sysSchedules().then(res => {
      this.setData({
        allSchedules: schedules,
          allSchedules: res,
        });
      });
    },
    // å½“前日程完成,顺延下一个日程
    nextSchedules() {
      let today = moment().hour(0).minute(0).second(0).millisecond(0);
      let s = this.data.allSchedules[this.data.index + 1];
      let d = s.time.diff(today, 'days');
      s.diffDays = d;
      this.setData({
        thisSchedule: {
          date: s.time,
          time: s.time.format('YYYY-MM-DD'),
          type: s.type,
          events: s.events,
          diffDays: s.diffDays,
        },
        thisSchedule: s,
        index: this.data.index + 1,
      });
    },
    // æ£€æŸ¥å½“前日程是否完成
    checkScheduleComplete(type, value) {
    // æ£€æŸ¥å½“前日程是否完成(2023.8.24 ç›®å‰åªæ¶‰åŠå°è´¦å’Œè‡ªè¯„两类日程)
    checkScheduleComplete(scId, value) {
      const { scheduleComplete, scheduleCount } = this.data;
      scheduleComplete.set(scId, value);
      // å°è´¦å’Œè‡ªè¯„的结果全部传入后再做判断
      if (scheduleComplete.size < scheduleCount) return;
      // æ–°ç”¨æˆ·ä¸åšåˆ¤æ–­
      if (app.globalData.newUser) return;
      // æ—¥ç¨‹ç±»åž‹ä¸ä¸€è‡´æ— éœ€åˆ¤æ–­
      if (this.data.thisSchedule.type != type) return;
      // æ—¥ç¨‹ä¸åœ¨å½“月的无需判断
      let index = 0;
      const thisMonth = moment().month();
      const sTimeMonth = moment(this.data.thisSchedule.date).month();
      do {
        const { thisSchedule } = this.data;
        // æ—¥ç¨‹ä¸åœ¨å½“月的无需判断
        const sTimeMonth = moment(thisSchedule.time).month();
      if (thisMonth != sTimeMonth) return;
      // æ—¥ç¨‹å®Œæˆåˆ™é¡ºå»¶ä¸‹ä¸ªæ—¥ç¨‹
      if (value) {
        // åˆ¤æ–­å½“月该日程是否完成,完成则将当前日程顺延至下一个
        if (scheduleComplete.get(thisSchedule.id) == 2) {
        this.nextSchedules();
      }
        index++
      } while (index < scheduleCount);
    },
  },
});
pages/mService/cSchedule/cSchedule.wxml
@@ -12,6 +12,9 @@
    <text>工作日程</text>
  </view>
  <view class="schedule-title">{{thisSchedule.title}}</view>
  <view wx:if="{{thisSchedule.content}}" class="schedule-time"
    >{{thisSchedule.content}}</view
  >
  <view class="schedule-time">
    <text>{{thisSchedule.time}}</text>
    <view class="schedule-time__right">
pages/mService/pSchedule/pSchedule.js
@@ -1,77 +1,79 @@
// pages/mService/pSchedule/pSchedule.js
import bScheduleManager from '../behaviors/bScheduleManager'
const moment = require('../../../utils/moment.min')
import sysSchedules from '../../../data/schedules';
import moment from "../../../utils/moment.min";
Page({
  behaviors: [bScheduleManager],
  /**
   * é¡µé¢çš„初始数据
   */
  data: {
    totals: 0,
    schedules: [{
      category: '2022å¹´9月环保工作日程',
      details: [{
        time: '9月10日',
        name: '环保日程',
        left: 3,
      }]
    }]
    schedules: [
      // {
      //   category: '2022å¹´9月环保工作日程',
      //   details: [
      //     {
      //       time: '9月10日',
      //       name: '环保日程',
      //       left: 3,
      //     },
      //   ],
      // },
    ],
  },
  /**
   * ç”Ÿå‘½å‘¨æœŸå‡½æ•°--监听页面加载
   */
  onLoad(options) {
    // const now = moment().hour(0).minute(0).second(0).millisecond(0)
    // const year = now.year()
    const schedules = []
    let totals = this.data.allSchedules.length
    sysSchedules().then(res => this.parseAllSchedules(res));
  },
    const map = new Map()
    for (let i = 0; i < this.data.allSchedules.length; i++) {
      const s = this.data.allSchedules[i];
      s.events.forEach(e => {
        if (!map.has(e.category)) {
          map.set(e.category, [])
  parseAllSchedules(allSchedules) {
    const schedules = [];
    let totals = allSchedules.length;
    const map = new Map();
    for (let i = 0; i < allSchedules.length; i++) {
      const s = allSchedules[i];
      const _time = moment(s.time)
      const category = `${_time.year()}å¹´${_time.month() + 1}月环保工作日程`
      if (!map.has(category)) {
        map.set(category, []);
        }
        map.get(e.category).push({
          time: s.time.format('MM月DD日'),
          name: e.name,
      map.get(category).push({
        time: _time.format('MM月DD日'),
        name: s.title,
          left: s.diffDays,
          s: s
        })
        s: s,
      });
    }
    for (let item of map) {
      schedules.push({
        category: item[0],
        details: item[1]
      })
        details: item[1],
      });
    }
    this.setData({
      schedules,
      totals
    })
      totals,
    });
  },
  goto(e) {
    var that = this
    const index = e.currentTarget.dataset.index
    const s = that.data.schedules[index[0]].details[index[1]].s
    const _s = {
      time: s.time.format('YYYY-MM-DD dddd'),
      events: s.events,
      diffDays: s.diffDays,
      steps: s.steps,
      category: s.category
    }
    console.log(that.data.schedules);
    const index = e.currentTarget.dataset.index;
    const s = this.data.schedules[index[0]].details[index[1]].s;
    // const _s = {
    //   time: s.time.format('YYYY-MM-DD dddd'),
    //   events: s.events,
    //   diffDays: s.diffDays,
    //   steps: s.steps,
    //   category: s.category,
    // };
    wx.navigateTo({
      url: '/pages/mService/pScheduledetail/pScheduledetail',
      success: (res) => {
        res.eventChannel.emit('acceptDataFromOpenerPage', _s)
      success: res => {
        res.eventChannel.emit('acceptDataFromOpenerPage', s);
      },
    })
  }
})
    });
  },
});
pages/mUser/pAbout/pAbout.wxml
@@ -19,7 +19,7 @@
    </view>
  </view>
  <view class="page__ft">
    <view>业务指导:上海市生态环境局执法总队</view>
    <!-- <view>业务指导:上海市生态环境局执法总队</view> -->
    <view>技术支持:上海飞羽环保科技有限公司</view>
  </view>
</view>
pages/mUser/sceneauthentication/industrial/index.wxml
@@ -56,7 +56,11 @@
              bind:click="onDeleteDevice"
            />
          </view>
          <c-form form="{{item}}" data-index="{{index}}" bind:itemChange="onDeviceChange"></c-form>
          <c-form
            form="{{item}}"
            data-index="{{index}}"
            bind:itemChange="onDeviceChange"
          ></c-form>
          <!-- <template is="sceneInfo" data="{{ msg: item }}" /> -->
          <!-- <view style="padding: 0 10px;background-color: white;">
            <mp-cells>
pages/mUser/userlogin/userlogin.wxml
@@ -18,7 +18,7 @@
    </view>
  </view>
  <view class="page__ft">
    <view>业务指导:上海市生态环境局执法总队</view>
    <!-- <view>业务指导:上海市生态环境局执法总队</view> -->
    <view>技术支持:上海飞羽环保科技有限公司</view>
  </view>
</view>
service/baserequest.js
@@ -44,12 +44,15 @@
    fun.url = bUrl + url;
  }
  var fun1 = util.deepCopy(fun);
  fun1.success = function (res) {
    if (mode == 'debug') {
      console.log(
        '|------------------------------------------------------------------------------------------------------------',
      );
      console.log('|--访问: ', fun.url);
    console.log('|--参数: ', fun.data);
  }
  fun1.success = function (res) {
    if (mode == 'debug') {
      console.log('|--结果: ', res);
    }
@@ -73,8 +76,7 @@
  };
  fun1.fail = function (error) {
    if (mode == 'debug') {
      console.log('--------------请求错误----------------' + fun.url);
      console.log(error);
      console.log('|--错误: ', error);
    }
    wx.showToast({
      title: '请求失败',