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