| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387 | 
							- // pages/create-order/index.js
 
- import http from '../../utils/http'
 
- import util from '../../utils/util'
 
- import api from '../../utils/api'
 
- import Dialog from '../../miniprogram_npm/@vant/weapp/dialog/dialog';
 
- Page({
 
-   /**
 
-    * 页面的初始数据
 
-    */
 
-   data: {
 
-     tabs: ['内部设备调用', '调用设备添加'],
 
-     tabIndex: 1,
 
-     work_points: [],
 
-     pointIndex: -1,
 
-     id: -1,
 
-     project: null,
 
-     remark: '',
 
-     devices: [],
 
-     // create/edit
 
-     type: 'create',
 
-     order_id: '',
 
-     loadedOrder: false,
 
-     role: null,
 
-     // 审核(check)|确认(pass)|重新提交(re-submit)|退回(back)
 
-     actionType: null,
 
-     order: null,
 
-     canEdit: true,
 
-     showBack: false,
 
-     showRent: false,
 
-     showDate: false,
 
-     deviceIndex: -1
 
-   },
 
-   /**
 
-    * 生命周期函数--监听页面加载
 
-    */
 
-   onLoad: function (options) {
 
-     // options = {
 
-     //   id: 1,
 
-     //   type: 'edit',
 
-     //   order_id: 194
 
-     // }
 
-     var id = options.id ? options.id : 1
 
-     var type = options.type ? options.type : 'create'
 
-     var order_id = options.order_id ? options.order_id : ''
 
-     this.setData({
 
-       id,
 
-       type,
 
-       order_id
 
-     })
 
-     this.init()
 
-   },
 
-   init() {
 
-     var order_id = this.data.order_id
 
-     api.getProject(this)
 
-     api.getByName(this, 'work-points/get', 'work_points', {project_id: this.data.id});
 
-     if (order_id) {
 
-       var that = this
 
-       api.getByName(this, 'orders/detail', 'order', {
 
-         id: order_id
 
-       }, function (res) {
 
-         api.getByName(that, 'orders/getRole', 'role', {
 
-           id: that.data.order ? that.data.order.project_id : ''
 
-         }, function (res) {
 
-           that.updateActionType()
 
-           that.initData()
 
-         });
 
-       });
 
-       wx.setNavigationBarTitle({
 
-         title: '订单详情',
 
-       })
 
-     }
 
-   },
 
-   updateActionType: function () {
 
-     var actionType = ''
 
-     var role = this.data.role
 
-     var order = this.data.order
 
-     if (order.level == role.level) {
 
-       if (['checking', 'checked'].indexOf(order.status_key) != -1 && role && role.rights && role.rights.applyCheck) actionType = 'check';
 
-       else if (order.status_key == 'reject' && role.key == 'machine') actionType = 're-submit'
 
-       else if (order.status_key == 'checked' && role.key == 'machine') actionType = 'back'
 
-     }
 
-     var canEdit = (actionType == 're-submit');
 
-     if (order.is_draft == 1) {
 
-       canEdit = true
 
-       actionType = 'edit'
 
-     }
 
-     this.setData({
 
-       actionType,
 
-       canEdit
 
-     })
 
-   },
 
-   navigate: function (e) {
 
-     wx.navigateTo({
 
-       url: e.currentTarget.dataset.url,
 
-     })
 
-   },
 
-   switchChecked: function (e) {
 
-     var index = e.detail.index
 
-     var devices = this.data.devices
 
-     devices[index].checked = !devices[index].checked
 
-     this.setData({
 
-       devices
 
-     })
 
-   },
 
-   switchShow: function (e) {
 
-     var name = e.currentTarget.dataset.name
 
-     var val = this.data[name]
 
-     this.setData({
 
-       [name]: !val
 
-     })
 
-   },
 
-   check: function (e) {
 
-     var type = e.currentTarget.dataset.type
 
-     var that = this
 
-     var msg = '确认通过审核吗?'
 
-     if (type == 'reject') msg = '确认驳回申请吗?'
 
-     else if (type == 'pass' || type == 're-submit') msg = '确认提交吗?'
 
-     else if (type == 'back') {
 
-       this.switchShow(e)
 
-       return false
 
-     } else if (type == 're-rent') {
 
-       this.switchShow(e)
 
-       return false
 
-     }
 
-     Dialog.confirm({
 
-         title: '提示',
 
-         message: msg,
 
-       })
 
-       .then(() => {
 
-         that.submitCheck(e)
 
-       })
 
-   },
 
-   editDate: function (e) {
 
-     var deviceIndex = e.detail.index
 
-     var device = this.data.devices[deviceIndex]
 
-     var default_dates = [device.start_date, device.end_date]
 
-     this.setData({
 
-       showDate: true,
 
-       default_dates,
 
-       deviceIndex
 
-     })
 
-   },
 
-   confirmDate: function (e) {
 
-     var [start_date, end_date] = e.detail;
 
-     start_date = util.formatDate(start_date)
 
-     end_date = util.formatDate(end_date)
 
-     var devices = this.data.devices
 
-     var deviceIndex = this.data.deviceIndex
 
-     if (this.data.actionType == 'back') {
 
-       var init_end_date = this.data.devices[deviceIndex].init_end_date
 
-       if (init_end_date >= start_date) {
 
-         util.error('该设备还在使用中,请重新选择续租时间')
 
-         return false;
 
-       }
 
-     }
 
-     devices[deviceIndex].start_date = start_date
 
-     devices[deviceIndex].end_date = end_date
 
-     devices[deviceIndex].is_change = true
 
-     this.setData({
 
-       devices,
 
-       showDate: false
 
-     })
 
-   },
 
-   submitCheck: function (e) {
 
-     var type = e.currentTarget.dataset.type
 
-     var is_change = e.currentTarget.dataset.change
 
-     var that = this
 
-     if (this.data.devices.length <= 0) {
 
-       util.error('请选择调用设备');
 
-       return false;
 
-     }
 
-     if (type == 'back') {
 
-       var devices = this.data.devices
 
-       var find = false;
 
-       for (var i = 0; i < devices.length; ++i) {
 
-         if (devices[i].checked) {
 
-           find = true;
 
-           break;
 
-         }
 
-       }
 
-       if (!find) {
 
-         util.error('归还设备不能为空');
 
-         return false;
 
-       }
 
-       this.switchShow(e)
 
-     }
 
-     http({
 
-       url: 'orders/check',
 
-       data: {
 
-         id: this.data.order_id,
 
-         type: type,
 
-         remark: this.data.remark,
 
-         devices: this.data.devices,
 
-         is_change: is_change
 
-       },
 
-       success: function (res) {
 
-         if (res.code == 0) {
 
-           util.success('操作成功')
 
-           setTimeout(function () {
 
-             that.init()
 
-           }, 1000)
 
-         }
 
-       }
 
-     })
 
-   },
 
-   initData: function () {
 
-     var order = this.data.order,
 
-       work_points = this.data.work_points,
 
-       pointIndex = this.data.pointIndex
 
-     for (var i = 0; i < work_points.length; ++i) {
 
-       if (work_points[i].id == order.work_point_id) {
 
-         pointIndex = i;
 
-         break;
 
-       }
 
-     }
 
-     this.setData({
 
-       pointIndex,
 
-       remark: order.remark,
 
-       devices: order.inner_devices,
 
-       loadedOrder: true
 
-     })
 
-   },
 
-   submit: function (e) {
 
-     var type = e.currentTarget.dataset.type
 
-     var is_draft = type == 'draft' ? 1 : 2
 
-     var submit_type = this.data.type
 
-     if (this.data.pointIndex < 0) {
 
-       util.error('需求工点必填');
 
-       return false;
 
-     }
 
-     if (this.data.devices.length <= 0) {
 
-       util.error('请选择调用设备');
 
-       return false;
 
-     }
 
-     if (type == 're-rent') {
 
-       var devices = this.data.devices
 
-       for (var i = 0; i < devices.length; ++i) {
 
-         if (devices[i].start_date <= devices[i].init_end_date) {
 
-           util.error('有设备还在使用中,请重新选择续租时间')
 
-           return false;
 
-         }
 
-       }
 
-       this.setData({
 
-         showRent: false
 
-       })
 
-     }
 
-     var work_point = this.data.work_points[this.data.pointIndex]
 
-     var url = (submit_type == 'create' || type == 're-rent') ? 'orders/createInner' : 'orders/updateInner'
 
-     wx.setStorageSync('sg-added-devices', [])
 
-     var that = this
 
-     http({
 
-       url: url,
 
-       data: {
 
-         id: this.data.order_id,
 
-         project_id: this.data.id,
 
-         work_point_id: work_point.id,
 
-         remark: this.data.remark,
 
-         devices: this.data.devices,
 
-         is_draft: is_draft,
 
-         type: type
 
-       },
 
-       success: function (res) {
 
-         if (res.code == 0) {
 
-           util.success('操作成功')
 
-           setTimeout(function () {
 
-             var url = '/pages/order-inner/index?id=' + that.data.id
 
-             if (is_draft == 1) {
 
-               wx.navigateBack({
 
-                 delta: 0,
 
-               })
 
-             } else {
 
-               wx.redirectTo({
 
-                 url: url,
 
-               })
 
-             }
 
-           }, 1000)
 
-         }
 
-       }
 
-     })
 
-   },
 
-   switchTab: function (e) {
 
-     this.setData({
 
-       tabIndex: e.currentTarget.dataset.index
 
-     })
 
-   },
 
-   onChange: function (e) {
 
-     var name = e.currentTarget.dataset.name
 
-     this.setData({
 
-       [name]: e.detail.value
 
-     })
 
-   },
 
-   /**
 
-    * 生命周期函数--监听页面初次渲染完成
 
-    */
 
-   onReady: function () {
 
-   },
 
-   /**
 
-    * 生命周期函数--监听页面显示
 
-    */
 
-   onShow: function () {
 
-     if (this.data.type == 'create' || this.data.loadedOrder) {
 
-       var devices = wx.getStorageSync('sg-added-devices')
 
-       devices = devices ? devices : []
 
-       this.setData({
 
-         devices
 
-       })
 
-     }
 
-   },
 
-   goAdd: function (e) {
 
-     var devices = this.data.devices
 
-     wx.setStorageSync('sg-added-devices', devices)
 
-     this.navigate(e)
 
-   },
 
-   deleteDevice: function (e) {
 
-     wx.showModal({
 
-       title: "提示",
 
-       content: "是否确定删除",
 
-       success: (res) => {
 
-         if (res.confirm) {
 
-           var index = e.detail.index
 
-           var devices = this.data.devices
 
-           devices.splice(index, 1)
 
-           this.setData({
 
-             devices
 
-           })
 
-         }
 
-       }
 
-     })
 
-   },
 
-   /**
 
-    * 生命周期函数--监听页面隐藏
 
-    */
 
-   onHide: function () {
 
-   },
 
-   /**
 
-    * 生命周期函数--监听页面卸载
 
-    */
 
-   onUnload: function () {
 
-   },
 
-   /**
 
-    * 页面相关事件处理函数--监听用户下拉动作
 
-    */
 
-   onPullDownRefresh: function () {
 
-   },
 
-   /**
 
-    * 页面上拉触底事件的处理函数
 
-    */
 
-   onReachBottom: function () {
 
-   },
 
-   /**
 
-    * 用户点击右上角分享
 
-    */
 
-   onShareAppMessage: function () {
 
-   }
 
- })
 
 
  |