export const HandleClass = { getBehaviors: (behaviorValue, componentData) => { //获取全量behaviors的taggets const behaviors = componentData.behaviors || []; const behavior = behaviors.find(ls => ls.behaviorValue === behaviorValue) || {}; return (behavior.targets || '').split(','); }, 'showComponent': { //控制组件显,需要处理其他组件的隐 name: '控制组件显隐', fun: ({ behavior = {}, formData, componentData, value }) => { const newFormData = formData.slice(); const targets = (behavior.targets || '').split(','); const allTargets = HandleClass.getBehaviors(behavior.behaviorValue, componentData); //所有的依赖关系包含需要显示与隐藏的控件 newFormData.forEach(ls => { if (allTargets.includes(ls.name)) { // 现只做条件相等处理 const display = String(behavior.params) === String(value) && targets.includes(ls.name) ? 1 : 0; ls.behaviorResult = { ...ls.behaviorResult, display, } } }) return newFormData } }, 'changeParams': { name: '修改business,请求参数', fun: ({ behavior = {}, formData, componentData, value, handleType }, resertValue) => { // handleType 为init时不处理值的问题 const newFormData = formData.slice(); const targets = (behavior.targets || '').split(','); targets.forEach(ls => { const index = newFormData.findIndex(item => item.name === ls); const obj = newFormData[index] || {}; const paramsJson = {}; paramsJson[componentData.name] = value; paramsJson['fieldMessage'] = `请输入${componentData.title}`; obj.behaviorResult = { ...obj.behaviorResult, paramsJson, } resertValue && resertValue({ key: ls }); if (handleType !== 'init') { obj.value = void 0; //将目标组件清空 } }); return newFormData } } }