/** * createDelivery - 创建包材 */ createPackagingMaterial() { const { dispatch, history } = this.props; const { creationListSelectedRows = [] } = this.state; dispatch({ type: 'deliveryCreation/batchCreateDelivery', data: creationListSelectedRows, }).then((res) => { if (getResponse(res)) { if (res.length === 1) { const asnHeaderId = res.map((n) => n.asnHeaderId); // 前端判空/未定义 if (!isNil(asnHeaderId)) { notification.success(); history.push({ pathname: `/sinv/delivery-creation/detail/${asnHeaderId}` }); } } else if (res.length > 1) { notification.success(); history.push({ pathname: `/sinv/delivery-creation/detailTable` }); } } }); }
时间: 2024-04-10 18:30:32 浏览: 219
行业文档-设计装置-包材以及形成该包材的纸板.zip
这段代码是一个React组件中的方法,用于创建包材。首先,它从组件的props中获取dispatch和history对象。然后,它从件的state中获取creationListSelectedRows数组,默认为空数组。
接下来,它使用dispatch方法触发一个名为'deliveryCreation/batchCreateDelivery'的action,将creationListSelectedRows数组作为数据传递给该action。然后,它使用.then()方法来处理该action返回的结果。
如果结果通过getResponse函数判断为真,表示操作成功。如果返回结果数组的长度为1,它会从返回结果中提取asnHeaderId,并检查是否为null或undefined。如果asnHeaderId不为空,它会显示一个成功的通知,并使用history对象将页面重定向到`/sinv/delivery-creation/detail/${asnHeaderId}`路径。
如果返回结果数组的长度大于1,它会显示一个成功的通知,并使用history对象将页面重定向到`/sinv/delivery-creation/detailTable`路径。
阅读全文