| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- import PageContainerBehavior from "../../../../core/behavior/page-container.behavior";
- import tickleBehavior from "../../../../core/behavior/tickle.behavior";
- import { orderConfirmReceiptMethod } from "../../request";
- // module/article/pages/confirm-receiving/confirm-receiving.ts
- Page({
- behaviors: [
- PageContainerBehavior,
- tickleBehavior,
- ],
- data: {
- patientConditioningRecordId: '',
- orderId: '',
- goodsList: [] as Array<{
- id: number;
- name: string;
- description: string;
- image: string;
- checked: boolean;
- }>
- },
- async onLoad(options: any) {
- console.log("onLoad", options)
- if (options.patientConditioningRecordId) {
- this.setData({ patientConditioningRecordId: options.patientConditioningRecordId });
- }
- if (options.goodsList) {
- const goodsList = JSON.parse(decodeURIComponent(options.goodsList));
- // 为每个商品添加 checked 属性,默认全部选中
- const goodsListWithChecked = goodsList.map((item: any) => ({
- ...item,
- checked: true
- }));
- this.setData({ goodsList: goodsListWithChecked });
- }
- console.log("goodsList", this.data.goodsList)
- },
- properties: {
- },
- copyExpressNo(e: any) {
- wx.setClipboardData({
- data: e.currentTarget.dataset.no,
- success: () => wx.showToast({ title: '已复制', icon: 'none' })
- });
- },
- onCancel() {
- // 关闭弹窗或返回
- wx.navigateBack();
- },
- // 商品复选框变化
- onGoodsCheckChange(e: any) {
- const { index } = e.currentTarget.dataset;
- const checked = e.detail.checked;
- const goodsList = this.data.goodsList;
- goodsList[index].checked = checked;
- this.setData({ goodsList });
- },
- // 确认收货逻辑
- async onConfirmReceiving() {
- // 获取选中的商品id数组
- const selectedIds = this.data.goodsList
- .filter((item: any) => item.checked)
- .map((item: any) => item.id);
- if (selectedIds.length === 0) {
- wx.showToast({ title: '请至少选择一个商品', icon: 'none' });
- return;
- }
- console.log(selectedIds, "selectedIds======选中的商品id")
- let that = this;
- wx.showModal({
- title: '提示',
- content: '确认收货后,订单将无法修改,请确认无误后再进行操作',
- success: (res) => {
- if (res.confirm) {
- that.confirmReceiving(selectedIds);
- }
- }
- });
- },
- async confirmReceiving(selectedIds: number[]) {
- try {
- await orderConfirmReceiptMethod(this.data.patientConditioningRecordId, selectedIds);
- wx.showToast({ title: '收货成功', icon: 'success' });
- setTimeout(() => {
- wx.redirectTo({
- url: "/module/article/pages/success-page/success-page?title=收货成功",
- });
- }, 1000);
- } catch (error: any) {
- wx.showToast({ title: error.errMsg || '收货失败', icon: 'none' });
- }
- }
- })
|