92 lines
2.5 KiB
JavaScript
92 lines
2.5 KiB
JavaScript
|
|
var { request } = require('../../../utils/request');
|
||
|
|
var app = getApp();
|
||
|
|
|
||
|
|
Page({
|
||
|
|
data: {
|
||
|
|
orders: [],
|
||
|
|
caregivers: [],
|
||
|
|
orderLoading: false,
|
||
|
|
selectedOrder: null,
|
||
|
|
selectedCaregiverId: null,
|
||
|
|
showDialog: false,
|
||
|
|
history: [],
|
||
|
|
historyLoading: false
|
||
|
|
},
|
||
|
|
|
||
|
|
onShow() {
|
||
|
|
this.loadPending();
|
||
|
|
this.loadCaregivers();
|
||
|
|
this.loadHistory();
|
||
|
|
},
|
||
|
|
|
||
|
|
onPullDownRefresh() {
|
||
|
|
Promise.all([this.loadPending(), this.loadCaregivers(), this.loadHistory()])
|
||
|
|
.finally(function() { wx.stopPullDownRefresh(); });
|
||
|
|
},
|
||
|
|
|
||
|
|
async loadPending() {
|
||
|
|
this.setData({ orderLoading: true });
|
||
|
|
try {
|
||
|
|
var res = await request({ url: '/system/dispatch/pending', method: 'GET', loading: false });
|
||
|
|
if (res.code === 200) {
|
||
|
|
this.setData({ orders: res.data || [], orderLoading: false });
|
||
|
|
}
|
||
|
|
} catch (e) { this.setData({ orderLoading: false }); }
|
||
|
|
},
|
||
|
|
|
||
|
|
async loadCaregivers() {
|
||
|
|
try {
|
||
|
|
var res = await request({ url: '/system/dispatch/caregivers', method: 'GET', loading: false });
|
||
|
|
if (res.code === 200) {
|
||
|
|
this.setData({ caregivers: res.data || [] });
|
||
|
|
}
|
||
|
|
} catch (e) {}
|
||
|
|
},
|
||
|
|
|
||
|
|
async loadHistory() {
|
||
|
|
this.setData({ historyLoading: true });
|
||
|
|
try {
|
||
|
|
var res = await request({ url: '/system/dispatch/history', method: 'GET', loading: false });
|
||
|
|
if (res.code === 200) {
|
||
|
|
this.setData({ history: res.data || [], historyLoading: false });
|
||
|
|
}
|
||
|
|
} catch (e) { this.setData({ historyLoading: false }); }
|
||
|
|
},
|
||
|
|
|
||
|
|
showAssignDialog(e) {
|
||
|
|
var order = e.currentTarget.dataset.item;
|
||
|
|
this.setData({ selectedOrder: order, selectedCaregiverId: null, showDialog: true });
|
||
|
|
},
|
||
|
|
|
||
|
|
async doAssign() {
|
||
|
|
if (!this.data.selectedCaregiverId || !this.data.selectedOrder) return;
|
||
|
|
try {
|
||
|
|
var res = await request({
|
||
|
|
url: '/system/dispatch/assign/' + this.data.selectedOrder.orderId + '/' + this.data.selectedCaregiverId,
|
||
|
|
method: 'POST',
|
||
|
|
loading: true,
|
||
|
|
loadingText: '派单中...'
|
||
|
|
});
|
||
|
|
if (res.code === 200) {
|
||
|
|
wx.showToast({ title: '派单成功', icon: 'success' });
|
||
|
|
this.setData({ showDialog: false });
|
||
|
|
this.loadPending();
|
||
|
|
this.loadCaregivers();
|
||
|
|
this.loadHistory();
|
||
|
|
}
|
||
|
|
} catch (e) {}
|
||
|
|
},
|
||
|
|
|
||
|
|
selectCaregiver(e) {
|
||
|
|
this.setData({ selectedCaregiverId: e.currentTarget.dataset.id });
|
||
|
|
},
|
||
|
|
|
||
|
|
closeDialog() {
|
||
|
|
this.setData({ showDialog: false, selectedOrder: null, selectedCaregiverId: null });
|
||
|
|
},
|
||
|
|
|
||
|
|
getStatusLabel(s) {
|
||
|
|
return app.getStatusLabel(s);
|
||
|
|
}
|
||
|
|
});
|