|
@@ -1,6 +1,7 @@
|
|
|
// pagesPublic/pages/work-order/work-order.js
|
|
|
var dateTimePicker = require('../../../utils/dateTimePicker');
|
|
|
const FormData = require('../../pages/menu/formData.js');
|
|
|
+const twoHours = 7200000;
|
|
|
|
|
|
import {
|
|
|
baseUrl,
|
|
@@ -22,7 +23,7 @@ Page({
|
|
|
startYear: 2000,
|
|
|
endYear: 2250,
|
|
|
typeList: ['报修类型一', '报修类型二', '报修类型三'],
|
|
|
- list: [{ type: '维修类型一', address: '食堂二楼楼梯地砖', time: '2022-03-15 13:45' }, { type: '维修类型一', address: '食堂二楼楼梯地砖', time: '2022-03-15 13:45' }],
|
|
|
+ list: [],
|
|
|
tempFileList: []
|
|
|
},
|
|
|
|
|
@@ -31,10 +32,10 @@ Page({
|
|
|
*/
|
|
|
onLoad(options) {
|
|
|
// 获取完整的年月日 时分秒,以及默认显示的数组
|
|
|
- var obj = dateTimePicker.dateTimePicker(this.data.startYear, this.data.endYear);
|
|
|
+ let obj = dateTimePicker.dateTimePicker(this.data.startYear, this.data.endYear);
|
|
|
// 精确到分的处理,将数组的秒去掉
|
|
|
- // var lastArray = obj.dateTimeArray.pop();
|
|
|
- // var lastTime = obj.dateTime.pop();
|
|
|
+ let lastArray = obj.dateTimeArray.pop();
|
|
|
+ let lastTime = obj.dateTime.pop();
|
|
|
this.setData({
|
|
|
dateTime: obj.dateTime,
|
|
|
dateTimeArray: obj.dateTimeArray
|
|
@@ -93,6 +94,9 @@ Page({
|
|
|
this.setData({
|
|
|
currentIndex: e.currentTarget.dataset.idx
|
|
|
});
|
|
|
+ if (e.currentTarget.dataset.idx == 1) {
|
|
|
+ this.loadMyApplication();
|
|
|
+ }
|
|
|
},
|
|
|
|
|
|
/**
|
|
@@ -109,6 +113,9 @@ Page({
|
|
|
this.setData({
|
|
|
currentIndex: e.detail.current
|
|
|
});
|
|
|
+ if (e.detail.current == 1) {
|
|
|
+ this.loadMyApplication();
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
|
|
@@ -150,6 +157,14 @@ Page({
|
|
|
});
|
|
|
return;
|
|
|
}
|
|
|
+ let tempList = this.data.tempFileList;
|
|
|
+ if (!tempList || tempList.length == 0) {
|
|
|
+ wx.showToast({
|
|
|
+ title: '请上传报修图片',
|
|
|
+ icon: 'error'
|
|
|
+ });
|
|
|
+ return;
|
|
|
+ }
|
|
|
if (!e.detail.value.phone) {
|
|
|
wx.showToast({
|
|
|
title: '请输入联系电话',
|
|
@@ -157,51 +172,109 @@ Page({
|
|
|
});
|
|
|
return;
|
|
|
}
|
|
|
- if (!e.detail.value.arriveTime) {
|
|
|
+ let phone = e.detail.value.phone;
|
|
|
+ let reg = /^((0\d{2,3}(-)?\d{7,8})|(1[3-9]\d{9}))$/;
|
|
|
+ if (!reg.test(phone)) {
|
|
|
wx.showToast({
|
|
|
- title: '请选择上门时间',
|
|
|
+ title: '联系电话格式有误',
|
|
|
icon: 'error'
|
|
|
});
|
|
|
return;
|
|
|
}
|
|
|
- let tempList = this.data.tempFileList;
|
|
|
- if (!tempList || tempList.length == 0) {
|
|
|
+ if (!e.detail.value.arriveTime) {
|
|
|
wx.showToast({
|
|
|
- title: '请上传报修图片',
|
|
|
+ title: '请选择上门时间',
|
|
|
icon: 'error'
|
|
|
});
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
- let formData = new FormData();
|
|
|
- formData.append('repairType', e.detail.value.type);
|
|
|
- formData.append('userDescription', e.detail.value.description);
|
|
|
- formData.append('phoneNum', e.detail.value.phone);
|
|
|
- formData.append('appointmentTime', e.detail.value.arriveTime);
|
|
|
- formData.append('maintenanceAddress', e.detail.value.address);
|
|
|
- for (let i in tempList) {
|
|
|
- formData.appendFile('files', tempList[i]);
|
|
|
- }
|
|
|
- let data = formData.getData();
|
|
|
- request({
|
|
|
- url: '/mini/worker/addOrder',
|
|
|
- method: 'POST',
|
|
|
- data: data.buffer,
|
|
|
- contentType: data.contentType
|
|
|
- }).then(res => {
|
|
|
- if (res.data.result) {
|
|
|
- wx.showToast({
|
|
|
- title: '提交成功',
|
|
|
- icon: 'success'
|
|
|
- });
|
|
|
- wx.navigateBack();
|
|
|
- } else {
|
|
|
- wx.showToast({
|
|
|
- title: '提交失败',
|
|
|
- icon: 'error'
|
|
|
- });
|
|
|
+ let arriveTime = e.detail.value.arriveTime;
|
|
|
+ let t = new Date(arriveTime).getTime();
|
|
|
+ let now = new Date().getTime();
|
|
|
+ // 判断预约时间是否在两小时后
|
|
|
+ if (t - now < twoHours) {
|
|
|
+ wx.showModal({
|
|
|
+ content: '您预约的上门时间过于紧急,确定继续预约?',
|
|
|
+ complete: (res) => {
|
|
|
+ if (res.cancel) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (res.confirm) {
|
|
|
+ let formData = new FormData();
|
|
|
+ formData.append('repairType', e.detail.value.type);
|
|
|
+ formData.append('userDescription', e.detail.value.description);
|
|
|
+ formData.append('phoneNum', e.detail.value.phone);
|
|
|
+ formData.append('appointmentTime', e.detail.value.arriveTime);
|
|
|
+ formData.append('maintenanceAddress', e.detail.value.address);
|
|
|
+ formData.append('userId', wx.getStorageSync('userid'));
|
|
|
+ for (let i in tempList) {
|
|
|
+ formData.appendFile('files', tempList[i]);
|
|
|
+ }
|
|
|
+ let data = formData.getData();
|
|
|
+ request({
|
|
|
+ url: '/mini/worker/addOrder',
|
|
|
+ method: 'POST',
|
|
|
+ data: data.buffer,
|
|
|
+ contentType: data.contentType
|
|
|
+ }).then(res => {
|
|
|
+ console.info(res)
|
|
|
+ if (res.result) {
|
|
|
+ wx.showToast({
|
|
|
+ title: '提交成功',
|
|
|
+ icon: 'success',
|
|
|
+ mask: true,
|
|
|
+ });
|
|
|
+ setTimeout(() => {
|
|
|
+ wx.navigateBack();
|
|
|
+ }, 1500);
|
|
|
+ } else {
|
|
|
+ wx.showToast({
|
|
|
+ title: '提交失败',
|
|
|
+ icon: 'error',
|
|
|
+ mask: true
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ let formData = new FormData();
|
|
|
+ formData.append('repairType', e.detail.value.type);
|
|
|
+ formData.append('userDescription', e.detail.value.description);
|
|
|
+ formData.append('phoneNum', e.detail.value.phone);
|
|
|
+ formData.append('appointmentTime', e.detail.value.arriveTime);
|
|
|
+ formData.append('maintenanceAddress', e.detail.value.address);
|
|
|
+ formData.append('userId', wx.getStorageSync('userid'));
|
|
|
+ for (let i in tempList) {
|
|
|
+ formData.appendFile('files', tempList[i]);
|
|
|
}
|
|
|
- });
|
|
|
+ let data = formData.getData();
|
|
|
+ request({
|
|
|
+ url: '/mini/worker/addOrder',
|
|
|
+ method: 'POST',
|
|
|
+ data: data.buffer,
|
|
|
+ contentType: data.contentType
|
|
|
+ }).then(res => {
|
|
|
+ console.info(res)
|
|
|
+ if (res.result) {
|
|
|
+ wx.showToast({
|
|
|
+ title: '提交成功',
|
|
|
+ icon: 'success',
|
|
|
+ mask: true,
|
|
|
+ });
|
|
|
+ setTimeout(() => {
|
|
|
+ wx.navigateBack();
|
|
|
+ }, 1500);
|
|
|
+ } else {
|
|
|
+ wx.showToast({
|
|
|
+ title: '提交失败',
|
|
|
+ icon: 'error',
|
|
|
+ mask: true
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
},
|
|
|
|
|
|
/**
|
|
@@ -246,13 +319,61 @@ Page({
|
|
|
*/
|
|
|
toDetail(e) {
|
|
|
wx.navigateTo({
|
|
|
- url: '../work-order-detail/work-order-detail',
|
|
|
+ url: '../work-order-detail/work-order-detail?id=' + e.currentTarget.dataset.id + '&isuser=' + e.currentTarget.dataset.isuser
|
|
|
});
|
|
|
},
|
|
|
|
|
|
- toRepairDetail() {
|
|
|
- wx.navigateTo({
|
|
|
- url: '../work-order-detail/work-order-detail',
|
|
|
+ /**
|
|
|
+ * 加载我的申请
|
|
|
+ */
|
|
|
+ loadMyApplication() {
|
|
|
+ let that = this;
|
|
|
+ // let formData = new FormData();
|
|
|
+ // formData.append('id', wx.getStorageSync('userid'));
|
|
|
+ // let data = formData.getData();
|
|
|
+ // request({
|
|
|
+ // url: '/mini/worker/myOrder',
|
|
|
+ // method: 'GET',
|
|
|
+ // data: data.buffer,
|
|
|
+ // contentType: data.contentType
|
|
|
+ // }).then(res => {
|
|
|
+ // console.info(res)
|
|
|
+ // if (res.result) {
|
|
|
+ // } else {
|
|
|
+ // wx.showToast({
|
|
|
+ // title: '加载失败',
|
|
|
+ // icon: 'error',
|
|
|
+ // mask: true
|
|
|
+ // });
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ wx.request({
|
|
|
+ url: baseUrl + '/mini/worker/myOrder',
|
|
|
+ method: 'GET',
|
|
|
+ header: {
|
|
|
+ 'mini-token': wx.getStorageSync('token')
|
|
|
+ },
|
|
|
+ data: {
|
|
|
+ 'id': wx.getStorageSync('userid')
|
|
|
+ },
|
|
|
+ dataType: 'json',
|
|
|
+ success: function (res) {
|
|
|
+ console.info(res)
|
|
|
+ let data = res.data.data;
|
|
|
+ for (let i in data) {
|
|
|
+ if (data[i].status == 2) {
|
|
|
+ data[i].image = 'status-complete.png';
|
|
|
+ } else if (data[i].status == -1) {
|
|
|
+ data[i].image = 'status-incomplete.png';
|
|
|
+ } else {
|
|
|
+ data[i].image = 'status-repair.png';
|
|
|
+ }
|
|
|
+ }
|
|
|
+ that.setData({
|
|
|
+ list: data
|
|
|
+ });
|
|
|
+ }
|
|
|
});
|
|
|
}
|
|
|
+
|
|
|
})
|