103 lines
2.6 KiB
JavaScript
103 lines
2.6 KiB
JavaScript
Page({
|
|
data: {
|
|
loading: true,
|
|
saving: false,
|
|
message: "",
|
|
orderRows: [],
|
|
selectedOrderId: null,
|
|
selectedOrderNo: "",
|
|
driverId: 10,
|
|
pickupAddress: "",
|
|
deliveryAddress: "",
|
|
pickupContent: "",
|
|
quantity: 1,
|
|
factoryId: 1001,
|
|
remark: "微信管理层端创建司机任务",
|
|
},
|
|
|
|
async onShow() {
|
|
await this.loadOrders();
|
|
},
|
|
|
|
async loadOrders() {
|
|
const app = getApp();
|
|
this.setData({ loading: true, message: "" });
|
|
try {
|
|
const data = await app.request({
|
|
url: "/api/orders?order_status=pending_factory&page_no=1&page_size=50",
|
|
method: "GET",
|
|
});
|
|
this.setData({
|
|
orderRows: (data.list || []).map((item) => ({
|
|
orderId: item.order_id,
|
|
orderNo: item.order_no,
|
|
customerName: item.customer_name,
|
|
statusText: app.mapOrderStatus(item.order_status),
|
|
})),
|
|
});
|
|
} catch (error) {
|
|
this.setData({
|
|
message: error.message || "加载待分配订单失败",
|
|
});
|
|
} finally {
|
|
this.setData({ loading: false });
|
|
}
|
|
},
|
|
|
|
handleChooseOrder(event) {
|
|
const { id, no, customer } = event.currentTarget.dataset;
|
|
this.setData({
|
|
selectedOrderId: id,
|
|
selectedOrderNo: no,
|
|
pickupAddress: "工厂A",
|
|
deliveryAddress: `${customer} 收货地址`,
|
|
pickupContent: `${customer} 订单货物`,
|
|
quantity: 1,
|
|
});
|
|
},
|
|
|
|
handleInput(event) {
|
|
const { field } = event.currentTarget.dataset;
|
|
this.setData({
|
|
[field]: event.detail.value,
|
|
});
|
|
},
|
|
|
|
async handleSave() {
|
|
if (!this.data.selectedOrderId) {
|
|
this.setData({ message: "请先选择一笔订单" });
|
|
return;
|
|
}
|
|
const app = getApp();
|
|
this.setData({ saving: true, message: "" });
|
|
try {
|
|
const data = await app.request({
|
|
url: "/api/logistics/tasks",
|
|
method: "POST",
|
|
data: {
|
|
order_id: this.data.selectedOrderId,
|
|
driver_id: Number(this.data.driverId),
|
|
pickup_address: this.data.pickupAddress,
|
|
delivery_address: this.data.deliveryAddress,
|
|
pickup_content: this.data.pickupContent,
|
|
quantity: Number(this.data.quantity),
|
|
factory_id: Number(this.data.factoryId),
|
|
remark: this.data.remark,
|
|
},
|
|
});
|
|
this.setData({
|
|
message: `司机任务 ${data.task_no} 创建成功`,
|
|
selectedOrderId: null,
|
|
selectedOrderNo: "",
|
|
});
|
|
await this.loadOrders();
|
|
} catch (error) {
|
|
this.setData({
|
|
message: error.message || "创建司机任务失败",
|
|
});
|
|
} finally {
|
|
this.setData({ saving: false });
|
|
}
|
|
},
|
|
});
|