/* * @Author: liuyanp * @PageInfo: BOM维护卡片-收回按钮事件 * @Date: 2022-01-22 10:00:00 * @Last Modified by: zhangwds * @Last Modified time: 2023-10-19 17:58:28 */ import {cardCache} from "nc-lightapp-front"; let {updateCache} = cardCache; //多语使用工具类 import { getLangByResId } from '../../../public/tools/multiLangUtil' //提示信息工具类 import { showSuccessInfo, showErrorInfo } from '../../../public/tools/messageUtil' //常量 import { BOM_PAGECODE, BOM_AREA, BOM_BUSIENUM, BOM_CARD_HEAD_PROPERTY,BOM_MODULE } from '../../constance'; //后端请求 import {unCommitBomData} from '../../utils' import { loadCardPage } from '../events' function unCommitClick(props, id){ console.log('Card buttonClick-unCommitClick') let formdata = props.form.getAllFormValue(BOM_AREA.bom_card_head) if(formdata == null){ return } beforeUnCommit.call(this, props, [formdata], (requestparam)=>{ if(requestparam == null){ return } doUnCommit.call(this, props, requestparam, (doRet, data)=>{ console.log({retdata: data}) if(doRet == true){ showSuccessInfo(null, getLangByResId(this, '10140BOMM3-000029')) /**国际化处理:收回成功*/ afterUnCommit.call(this, props, true, data, ()=>{}) } }) }) } //收回操作前事件 function beforeUnCommit(props, formdatas, callback){ console.log('Card buttonClick-unCommitClick-beforeUnCommit') //检查是否可以进行批量收回 let canbatchuncommit = checkCanBatchUnCommit(props, formdatas) if(canbatchuncommit == false){ showErrorInfo('', getLangByResId(this, '110140BOMM4013'), 'infinity') /**国际化处理:非自由态的BOM才可以收回,请重新选择!*/ callback.call(this, null) return } let pkTsParams = [] formdatas.forEach((row)=>{ pkTsParams.push({ pk: row.rows[0].values[BOM_CARD_HEAD_PROPERTY.cbomid].value, ts: row.rows[0].values[BOM_CARD_HEAD_PROPERTY.ts].value }) }) let param = { pkTsParams: pkTsParams, pageid: BOM_PAGECODE.bom_card } if(callback){ callback.call(this, param) } } //检查是否可以批量收回 == 是否都是非自由状态的BOM function checkCanBatchUnCommit(props, formdatas){ let canbatchuncommit = true formdatas.forEach((row)=>{ let fbillstatus = row.rows[0].values[BOM_CARD_HEAD_PROPERTY.fbillstatus].value if(fbillstatus == BOM_BUSIENUM.FBILLSTATUS.IFREEDOM){ canbatchuncommit = false return canbatchuncommit } }) return canbatchuncommit } //收回操作 function doUnCommit(props, requestparam, callback){ console.log('Card buttonClick-commitClick-doUnCommit') unCommitBomData.call(this, props, requestparam, (ret)=>{ if(ret && ret.success == true){ callback.call(this, true, ret.data) }else{ callback.call(this, false, null) } }) } //收回操作后事件 function afterUnCommit(props, success, formdata, callback){ console.log('Card buttonClick-unCommitClick-afterUnCommit') if(formdata.head[BOM_AREA.bom_card_head]){ props.form.setAllFormValue({[BOM_AREA.bom_card_head]: formdata.head[BOM_AREA.bom_card_head] })} let cbomid = props.form.getFormItemsValue(BOM_AREA.bom_card_head, BOM_CARD_HEAD_PROPERTY.cbomid).value; updateCache(BOM_MODULE.head_pk, cbomid, formdata, BOM_AREA.bom_card_head, BOM_MODULE.dataSource); props.setUrlParam(cbomid) //把cbomid保存一下 //当前分页的数据需要重新加载 if(success == true){ loadCardPage.call(this, props, null, false) callback.call(this) return }else{ callback.call(this) return } } export {unCommitClick}