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 }); } }, });