tk2312-web/src/uapbd/mmbase/bom0202/card/btnClicks/unCommitClick.js

119 lines
3.8 KiB
JavaScript
Raw Normal View History

2025-08-08 11:34:20 +08:00
/*
* @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}