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

125 lines
4.3 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*xmTFu6FW7X8wEm1vn2kR3EkQ/wwYzneV3TXpmI7ltmA=*/
/*
* @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}
/*xmTFu6FW7X8wEm1vn2kR3EkQ/wwYzneV3TXpmI7ltmA=*/