dingdanquanliucheng/frontend/mini-manager/pages/supplier-text.js

119 lines
3.1 KiB
JavaScript

Page({
data: {
loading: true,
actionLoading: false,
message: "",
orderRows: [],
selectedOrderId: null,
selectedOrderNo: "",
textContent: "",
templateType: "default",
},
async onShow() {
await this.loadOrders();
},
async loadOrders() {
const app = getApp();
this.setData({ loading: true, message: "" });
try {
const [approvedData, pendingFactoryData] = await Promise.all([
app.request({
url: "/api/orders?order_status=approved&page_no=1&page_size=50",
method: "GET",
}),
app.request({
url: "/api/orders?order_status=pending_factory&page_no=1&page_size=50",
method: "GET",
}),
]);
const orderRows = [...(approvedData.list || []), ...(pendingFactoryData.list || [])].map((item) => ({
orderId: item.order_id,
orderNo: item.order_no,
customerName: item.customer_name,
statusText: app.mapOrderStatus(item.order_status),
}));
this.setData({ orderRows });
} catch (error) {
this.setData({
message: error.message || "加载待发厂订单失败",
});
} finally {
this.setData({ loading: false });
}
},
handleChooseOrder(event) {
const { id, no } = event.currentTarget.dataset;
this.setData({
selectedOrderId: id,
selectedOrderNo: no,
textContent: "",
});
},
handleTextInput(event) {
this.setData({
textContent: event.detail.value,
});
},
async handleGenerateText() {
if (!this.data.selectedOrderId) {
this.setData({ message: "请先选择一笔订单" });
return;
}
const app = getApp();
this.setData({ actionLoading: true, message: "" });
try {
const data = await app.request({
url: `/api/orders/${this.data.selectedOrderId}/supplier-text`,
method: "POST",
data: { supplier_id: 1001 },
});
this.setData({
textContent: data.text_content,
templateType: data.template_type,
message: "发厂文案已生成",
});
} catch (error) {
this.setData({
message: error.message || "生成发厂文案失败",
});
} finally {
this.setData({ actionLoading: false });
}
},
async handleConfirmText() {
if (!this.data.selectedOrderId) {
this.setData({ message: "请先选择一笔订单" });
return;
}
const app = getApp();
this.setData({ actionLoading: true, message: "" });
try {
await app.request({
url: `/api/orders/${this.data.selectedOrderId}/supplier-text/confirm`,
method: "POST",
data: {
supplier_id: 1001,
text_content: this.data.textContent,
remark: "微信管理层端确认发厂",
},
});
this.setData({
message: `订单 ${this.data.selectedOrderNo} 已确认下发工厂`,
});
await this.loadOrders();
} catch (error) {
this.setData({
message: error.message || "确认发厂失败",
});
} finally {
this.setData({ actionLoading: false });
}
},
});