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

123 lines
4.2 KiB
JavaScript
Raw Normal View History

2025-08-08 11:34:20 +08:00
/*
* @Author: liuyanp
* @PageInfo: BOM维护卡片-默认按钮事件
* @Date: 2022-01-21 14:00:00
* @Last Modified by: liuyanp
* @Last Modified time: 2022-01-21 14:00:00
*/
//多语使用工具类
import { getLangByResId } from '../../../public/tools/multiLangUtil'
//提示信息工具类
import { showSuccessInfo } from '../../../public/tools/messageUtil'
//状态控制
import { setListButtonDisabled } from '../viewController'
//后事件
import { loadCardPage } from '../events'
//常量
import { BOM_AREA, BOM_CARD_HEAD_PROPERTY } from '../../constance';
//后端请求
import {preDefaultBomData, sureDefaultBomData} from '../../utils'
//自定义组件
import { confirmDialog } from '../../components'
function defaultClick(props, id){
console.log('Card buttonClick-defaultClick')
let formdata = props.form.getAllFormValue(BOM_AREA.bom_card_head)
if(formdata == null){
return
}
beforeDefault.call(this, props, [formdata], (requestparam)=>{
if(requestparam == null){
return
}
doDefault.call(this, props, requestparam, (doRet)=>{
if(doRet == true){
showSuccessInfo('', getLangByResId(this, '10140BOMM2-000010'), 'infinity') /**国际化处理:操作成功!*/
afterDefault.call(this, props, true, (afterRet)=>{
})
}
})
})
}
//默认操作前事件
function beforeDefault(props, formdatas, callback){
console.log('Card buttonClick-defaultClick-beforeDefault')
let param = {}
formdatas.forEach((row)=>{
param = {
id: row.rows[0].values[BOM_CARD_HEAD_PROPERTY.cbomid].value,
ts: row.rows[0].values[BOM_CARD_HEAD_PROPERTY.ts].value
}
})
if(callback){
callback.call(this, param) //返回后台请求参数
}
}
/**
*
* 执行默认操作
* 1. defaultURL - 在后端检查该bom的父项物料有没有默认有效bom如果有则返回默认有效BOM的cbomid否则设置当前BOM为默认BOM
* 2. 如果已经有默认有效BOM则前端给出提示用户需要二次确认否则操作结束
* 3. suredefaultURL - 在后端执行默认操作并把原有默认有效BOM置为非默认返回前端
*/
function doDefault(props, requestparam, callback){
console.log('Card buttonClick-defaultClick-doDefault')
preDefaultBomData.call(this, props, requestparam, (ret)=>{
if(ret && ret.success == true){
if(ret.oriid){
//已经存在默认有效BOM则需要二次确认
confirmDialog.call(this, props, '', getLangByResId(this, '10140BOMM2-000009'), (ret2)=>{/**国际化处理: 物料已存在有效的默认BOM版本是否将当前BOM设为默认BOM版本*/
if(ret2 == null || ret2.beSure == false){
callback.call(this, false)
return //二次确认对话框取消或者关闭,则后续操作不能进行
}else{
let requestparam2 = {
curid: requestparam.id,
curts: requestparam.ts,
oriid: ret.oriid
}
sureDefaultBomData.call(this, props, requestparam2, (ret3)=>{
if(ret3 && ret3.success == true){
callback.call(this, true) //默认设置成功,执行后续操作
return
}
})
}
})
}else{
callback.call(this, true) //默认设置成功,执行后续操作
return
}
}else{
callback.call(this, false)
}
})
}
//默认操作后事件
function afterDefault(props, success, callback){
console.log('Card buttonClick-defaultClick-afterDefault')
//当前分页的数据需要重新加载
if(success == true){
//加载卡片页面area、button状态数据等
loadCardPage.call(this, props)
callback.call(this)
}else{
callback.call(this)
return
}
}
export {defaultClick}