119 lines
3.8 KiB
JavaScript
119 lines
3.8 KiB
JavaScript
|
/*
|
|||
|
* @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}
|