表格异步保存明细流程
2024-08-26 11:03:38 1 举报
表格异步保存明细流程
作者其他创作
大纲/内容
引用组件的fpSaveDetails
主要变量(内存中)1、异步数据队列数据2、队列执行状态3、正在处理的异步队列数据4、处理过的数据对象5、老数据队列
tableEventBus.$emit($cellDown)
队列执行完成判断是队列中是否有新的未执行数据
更新行数据为失败状态
cellMixin的cellDown
回调并传递新数据
否
业务修改(入库单)传参:isAsyncSaveDetail:是否异步,默认falsehandleSaveCallBack函数:每条完成操作完成之后的回调(如需要)保存请求的loading改为false,不然会遮挡下一行操作调用组件的checkAsyncIsComplete方法判断是否全部保存
结束
调用props.fpSaveDetails
失败
单个执行完成
Fx-list-virtual-table的onListCellDown
是
更改执行状态为完成
递归继续执行
调用表格组件的方法看是否明细都已执行,表格根据执行状态来判断是否执行完成
成功
删除队列中已执行的数据(异步队列和原数据数组都删除)
Fx-details-table的setRowEdit
是否异步
输入框的向下事件
还原行数据为编辑前的数据
Fx-list-cell-input-number的onInputDown
异步队列是否在执行
更新行数据为成功状态
promise.map批量顺序执行异步队列去执行业务的promise函数
emit(on-row-edit-up-down-change)
执行请求并返回
单行结束
向异步数组数据里添加当前行数据(同时把未编辑之前的数据保存到指定数组)
触发异步队列执行
保存主单据
回调并传递原数据
调用
收藏
0 条评论
回复 删除
下一页