dingdanquanliucheng/frontend/mini-app/pages/manager/task-create/task-create.js

104 lines
3.1 KiB
JavaScript
Raw Normal View History

/**
* 管理层创建物流任务页面
* 职责选择待发厂的订单填写信息创建配送任务
*/
Page({
data: {
statusBarHeight: 20,
loading: true,
saving: false,
message: "",
orderRows: [],
selectedOrderId: null,
selectedOrderNo: "",
driverId: "",
pickupAddress: "",
deliveryAddress: "",
pickupContent: "",
quantity: "",
factoryId: "",
remark: "",
},
onShow: function () {
var app = getApp();
this.setData({ statusBarHeight: app.globalData.statusBarHeight });
this.loadOrders();
},
loadOrders: function () {
var that = this;
var app = getApp();
that.setData({ loading: true, message: "" });
app.request({ url: "/api/orders?order_status=pending_factory&page_no=1&page_size=50", method: "GET" }).then(function (data) {
var rows = (data.list || []).map(function (item) {
return {
orderId: item.order_id, orderNo: item.order_no,
customerName: item.customer_name,
statusText: app.mapOrderStatus(item.order_status),
orderStatus: item.order_status,
};
});
that.setData({ orderRows: rows });
}).catch(function (error) {
that.setData({ message: error.message || "加载待分配订单失败" });
}).finally(function () {
that.setData({ loading: false });
});
},
handleChooseOrder: function (event) {
var id = event.currentTarget.dataset.id;
var no = event.currentTarget.dataset.no;
var customer = event.currentTarget.dataset.customer;
this.setData({
selectedOrderId: id, selectedOrderNo: no,
pickupAddress: "工厂A", deliveryAddress: customer + " 收货地址",
pickupContent: customer + " 订单货物", quantity: "1",
message: "已选择订单 " + no,
});
},
handleInput: function (event) {
var field = event.currentTarget.dataset.field;
var obj = {};
obj[field] = event.detail.value;
this.setData(obj);
},
handleSave: function () {
var that = this;
if (!this.data.selectedOrderId) {
this.setData({ message: "请先选择一笔订单" });
return;
}
var app = getApp();
that.setData({ saving: true, message: "" });
app.request({
url: "/api/logistics/tasks",
method: "POST",
data: {
order_id: that.data.selectedOrderId,
driver_id: Number(that.data.driverId),
pickup_address: that.data.pickupAddress,
delivery_address: that.data.deliveryAddress,
pickup_content: that.data.pickupContent,
quantity: Number(that.data.quantity),
factory_id: Number(that.data.factoryId),
remark: that.data.remark,
},
}).then(function (data) {
that.setData({ message: "任务 " + data.task_no + " 创建成功", selectedOrderId: null, selectedOrderNo: "" });
that.loadOrders();
2026-06-01 11:24:20 +08:00
wx.navigateTo({ url: "/pages/driver/task-detail/task-detail?id=" + data.task_id });
}).catch(function (error) {
that.setData({ message: error.message || "创建失败" });
}).finally(function () {
that.setData({ saving: false });
});
},
handleBack: function () { wx.navigateBack({ delta: 1 }); },
});