场景1:高级列表自定义弹窗集成设计表单
高级列表集成按钮
按钮示例代码
// 常见的工具类
const { loadCmp, useCompModal ,message} = configs.utils;
// 获取高级列表对象实体,用于控制列表刷新
const tableRef = configs.context.getCompRef({ code: 'b213a0'})
const LCPDetailTemplate = loadCmp({ sourceName: 'cir-lcp-sdk', exposesKey: 'LCPDetailTemplate' });
// 获取当前行的数据
const { invQty,itemCd,mainId,buyerChnName,dataType,id,zmFzr,wyFzr,swFzr,buyerDomainCode } = configs.data.extraData.record;
const itemId = id===mainId?'':mainId;
if(invQty<=0){
// tips业务提示
message.warning('当前库存数量小于0,不需要进行处置拆分!');
}else{
let ContentRef ;
// 使用弹窗
useCompModal(LCPDetailTemplate, {
title: '数据处置',
width: '70%',
bodyStyle: { minHeight: 500, height: 500, padding: 0 },// 指定窗口大小
onCancel:function(){
// 控制列表数据刷新
tableRef.refresh();
},
onOk: async function(){
// 此段代码用于控制点击弹窗的ok按钮控制内部集成单据的保存按钮
// ContentRef为当前渲染模版的运行实例对象
const { RenderRef, FormUtils, GlobalContext } = ContentRef || {};
const renderContext = RenderRef?.current?.getContext?.();
const eventCenter = RenderRef?.current?.getEventCenter?.();
if (!eventCenter) throw new Error('当前关联表单页面渲染引擎事件中心未正常加载!');
GlobalContext?.pageTools?.setDetailPageLoading?.(true);
const { setCommonName: _setCommonName } = FormUtils || {};
// 获取弹窗表单的按钮配置
const btnConfig = renderContext?.getBtnConfig({attrCode:'SPLIT',formCode:'',btnCode:'BUTTON_EF745678627E7'});
GlobalContext?.pageTools?.setDetailPageLoading?.(true);
const { setCommonName: _setCommonName } = FormUtils || {};
// 通过渲染引擎的事件中心调用表单详情保存事件
const savedResp = await eventCenter.runEvent({
code: 'csbCusViewTableModal_handleRelyByCreateaa', // 此处code须为全局唯一,顾根据开发者的场景重写值内容
config: btnConfig?.config,
});
GlobalContext?.pageTools?.setDetailPageLoading?.(false);
if (savedResp?.success) tableRef.refresh();
return savedResp?.success;
// 控制列表数据刷新
tableRef.refresh();
},
didMount: (ref) => {
// 用于传递当前表单数据体
ContentRef = ref;
}
}, {
// 具体表单对象配置信息
appId:'510e4864c85146fb81282ae6fe883865',
tenantId:'c518f53d-b405-4111-afe1-5c082b284971',
classId:'9187e9b7701f4d20b83cc6e4470067df', // 加载当前表单配置的对象id
pageId:itemId, // 需要从后端加载表单数据的主键id
metaConfig:{
// 需要默认初始化的表单数据
formDefaultData:{
'BASE_6412AEFD46FC':invQty,
'ITEM_NUMBER':itemCd,
'BASE_29C809A1DD758':mainId,
'BASE_ACB7BD9D4D5DF':buyerDomainCode,
'BASE_C0DA7DE65B294':dataType,
'ID':mainId,
'SW_FZR':swFzr,
'WK_FZR':wyFzr,
'ZM_FZR':zmFzr
}
}
});
}
场景2:列表数据操作按钮校验
高级列表集成按钮
示例代码
const { loadCmp, useCompModal ,message} = configs.utils;
const { invQty,itemCd,mainId,buyerChnName,dataType,id } = configs.data.extraData.record;
if(id === mainId){
response = { success: false};
message.warn('当前数据并未做拆单处置,无法保存!');
}
场景3:表单提交数据逻辑校验
表单集成保存按钮
示例代码
const { loadCmp, useCompModal ,message} = configs.utils;
const { REMAIN} = configs.data?.allData;
console.log(configs.data?.allData);
if(REMAIN<0){
response = { success: false};
message.warn('库存处置总数量大于实际库存数量,无法处置!');
}
作者:王浩彬 创建时间:2023-01-05 16:57
最后编辑:袁子涵 更新时间:2024-12-11 10:09
最后编辑:袁子涵 更新时间:2024-12-11 10:09