#通用的增加功能 所有通用的按钮的js都存放在platform/actions下 1. js名称:BaseAddAction 2. 功能作用。 - 支持定义UI上下文来展示页面,也支持直接定义表单来展示页面 - 默认为保存和取消按钮,保存的路径为默认,但是可以通过参数配置来替换 3. 参数的使用 |参数名字|参数说明|参数示例| |:--:|:--:|:--:| |type|业务类型|如果参数没有配置这个属性,默认就等于这个按钮所在的组件所属的业务类型| |form|表单的英文名字|如果设置了form就不显示UI上下文。获取表单的路径为webUIController/getFormDefineById。btmType: 业务类型,值是按钮的参数中的type;id: 表单的英文名称,值是按钮的参数中的form| |content|UI上下文的名字,优先级小于form| |initValue|初始化的值,即页面初始化的时候设置的值.如果设置则上一个区域必须选择数据|注意可能存在${xxx}的形式,需要在前端根据按钮中的参数dataStore来处理.其中root.${xxx}和sourceData.${xxx}是来源数据来替换| |url|后台保存的url|默认为uiDataController/addSave| |method|请求后台的方法|默认为post| |backPath|后台的服务名字|默认为兼容性为true时等于path,否则为objectServicePath。即configData.compatibility?path:configData.objectServicePath| |postSourceData|保存的时候是否发送来源数据|默认为false| |postSelectData|保存的时候是否发送选择数据|默认为false| |title|窗口的标题|form不为空则使用form的标题;否则使用UI上下文的时必须要配置.支持${xxx}和sourceData.${xxx}表达式| |width|窗口的宽度|默认是由layer自适应的| |height|窗口的高度|默认是由layer自适应的| |hiddenButton|是否隐藏保存和取消按钮,boolean类型,|在配置content的时候,在UI定义上已经包含了保存和取消按钮的时候,需要隐藏默认的按钮| | |文件上传| | |uploadFileUrl| 文件上传的路径|默认为vciFileUploadController/uploadFile| |uploadFileBackPath|文件上传的服务名称| 默认为兼容性为true时等于path,否则为fileServicePath| |uploadAttachment|值为true和false显示上传附件|附件可以添加多个| |uploadAttachmentTitle|附件显示的名称|默认显示为"附件"| | |前后置事件|| |saveBeforeEvent|保存的前置事件|注意与按钮本身的前置事件区分| |saveAfterEvent|保存的后置事件|不论是否有后置事件,保存成功后都需要刷新面板| |beforeBSEvent|保存的B/S的前置事件|即后台处理的时候的前置事件| |afterBSEvent|保存的B/S的后置事件|即后台处理的时候的后置事件| |beforeServerEvent|服务端的前置事件|在主服务里处理的事件,有事务控制,可以随意操作数据.server端的前置事件需要加到主服务的运行环境中,一般不使用| |afterServerEvent|服务端的后置事件|在主服务里处理的事件,一般是多个业务功能有公共的处理部分是使用| | |前后置事件的值使用标准的配置|jsPath#methodName?param=aaa¶m1=bbb| 4. 文件字段的处理.文件上传组件都不显示文档类型的下拉框。 - 表单显示附件上传。需要配置uploadAttachment为true,页面会显示文件上传的组件,从上传的返回结果中获取到oid的属性,然后保存的时候把这个oid放到releaseFileOids - 有文件路径的字段。该字段显示为文件上传,只能一个。上传后,从返回结果中获取filePath,存储到这个字段上。 5. 保存时需要提交的参数。需要转换为json字符串的方式提交 - 隐藏属性表示不需要单独处理,它是在表单加载或者是从来源数据里获取的,不会显示 |参数名字|参数说明|参数示例和取值| |:--:|:--:|:--:| | |下方是跟配置和文件相关的|| |formDefineId|表单的定义Id,必输|等于按钮的参数中的form属性;或者是UI上下文中的formDefineVO| |preEvent|前置事件|按钮参数上的beforeBSEvent| |afterEvent|后置事件|按钮参数上的afterBSEvent| |beforeServerEvent|服务端的前置事件|来源于按钮的参数| |afterServerEvent|服务端的后置时间|来源于按钮的参数| |releaseFileOids|附件的文件对象主键|数组的形式。比如 releaseFileOids=["111","222"]| | |下方全部是数据的属性|| |oid|主键|修改的时候,这个值必输| |id|编号|有id属性的时候才传递| |name|名称|| |description|描述|| |revisionOid|版本对象的主键|一般修改的时候才传递,属于默认的隐藏属性| |nameOid|对象的主键|一般修改的时候才传递,属于默认的隐藏属性| |btmname|业务类型|必输。按钮的type参数| |lastR|是否最后版本|一般修改的时候才传递,属于默认的隐藏属性| |firstR|是否首个版本|一般修改的时候才传递,属于默认的隐藏属性| |lastV|是否最后版次|一般修改的时候才传递,属于默认的隐藏属性| |firstV|是否首个版次|一般修改的时候才传递,属于默认的隐藏属性| |creator|创建人|用户的账号| |createTime|创建时间|时间类型,需要yyyy-MM-dd HH:mm:ss| |lastModifier|最后时间|用户的账号| |lastModifyTime|最后修改时间|时间类型,需要yyyy-MM-dd HH:mm:ss| |revisionRule|版本号的规则|修改的时候才传递,属于默认的隐藏属性| |revisionSeq|版本的序号|修改的时候才传递,属于默认的隐藏属性| |revisionValue|版本的值|修改的时候才传递,属于默认的隐藏属性| |versionRule|版次的规则|修改的时候才传递,属于默认的隐藏属性| |versionSeq|版次的序号|修改的时候才传递,属于默认的隐藏属性| |versionValue|版次的值|修改的时候才传递,属于默认的隐藏属性| |lcStatus|状态的值|生命周期的状态,一般不传递,都是后台处理。但是传递后优先级高于后台的处理| |ts|时间戳|不要改这个值,表单读取到的是多少,就返回多少,yyyy-MM-dd HH:mm:ss.SSS|] |owner|拥有者|一般等于creator| |checkInBy|签入的用户|用户的账号| |checkInTime|签入的时间|时间类型,需要yyyy-MM-dd HH:mm:ss| |checkOutBy|签出的用户|用户的账号| |checkOutTime|签出的时间|时间类型,需要yyyy-MM-dd HH:mm:ss| |copyFromVersion|从哪个版本拷贝过来的|升版的时候必输| |secretGrade|密级|数字格式| |data|其他的属性,就是除了上面的属性以外,都传递到这个属性里|这个是map的形式,转换为json字符串之前,是{xxxx:yyyy,zzz:aaa}这样的形式| - 示例 ``` //添加 { "formDefineId":"11111", "oid":"", "name":"这个是名称,标题", "btmname":"test", "data":{ "attr1":"第一个属性的值", "attr2":"第二个属性的值", "attr3":3, "attr4":"2021-01-01 12:12:12" }, "releaseFileOids":["222","333","444"] } //修改 { "formDefineId":"11111", "oid":"11111111111", "ts":"021-01-01 12:12:12.345", "name":"这个是名称,标题", "btmname":"test", "data":{ "attr1":"第一个属性的值", "attr2":"第二个属性的值", "attr3":3, "attr4":"2021-01-01 12:12:12" }, "releaseFileOids":["222","333","444"] } ``` 6. 文件上传的参数处理 - 路径 vciFileUploadController/uploadFile - 参数 |参数名字|参数说明|参数示例和取值| |:--:|:--:|:--:| |file|文件组件里的名称|不能修改,哪怕表单里有多个文件类型的字段| |id|文件的显示名称|一般不输入,默认的是选择的文件的名称| |fileDocClassify|文档的使用类型|附件的时候,使用attachment;文件路径的类型的字段时,使用filePathField;| |fileDocClassifyName|文档的使用类型名称|附件的时候,使用"附件";文件路径的类型的字段时,使用"文件路径字段";| |secretGrade|密级|如果表单上有密级字段显示的时候,文件上传的组件的才显示密级,且文件的密级<=数据的密级| |updateFileFlag|是否为修改,true表示为修改|需要和oid配合使用| |fileOid|文件的主键|只在更新的时候才传递。如果是文件主键类型的字段时,就是这个字段的值,否则会在表单的加载数据中获取到| 7. 使用content的方式显示的页面的保存处理逻辑 - 支持的场景 |场景|场景说明| |:--:|:--:| |单个表单,无特殊的展示内容|强烈不推荐使用这种方式,单个表单请使用form属性配置的方式| |表单加特殊表达的页面|比如增加表单的某个字段的预览等,这些效果全部是跟表单相关的。不是主子表的形式。这种可以将特殊的页面使用自定义组件完成| |主子表|即主表显示为表单,子表显示为表格。一般子表提供增行,删行的默认操作按钮;这种常用在xxx申请单等单据上| |一主,多个子表|即主表为表单,子表是多个选项卡,选项卡中一般为表格。| |单个表格|常用是链接类型的某一端数据的添加| |自定义页面|自定义页面也是为了数据的添加。但是每个页面只能是单种数据的添加| - 支持在页面上获取表单,表格,树表,自定义的数据,不支持树的数据编辑。 - 页面上的组件,需要在附加属性上配置与上一个组件的数据关联。配置的格式符合统一的附加属性的方式,即xxx=yyy&zzz=aa。配置的附加属性如下 |属性名字|属性说明|示例和取值| |:--:|:--:|:--:| |onlyView|只是做数据展示|即这个组件不编辑,只是做展示;或者是该组件独自保存,则需要配置单独的保存按钮| |linkCompId|关联的组件的编号|默认是当前组件的上一个组件(根据组件的排序号);比如可以配置为多个子表的方式| |linkFieldName|必输,当前业务类型中与上一个组件的关联的字段|如果是链接类型的时候,默认为f_oid。也支持initValue${xxx}和sourceData.${xxx}的方法(xxx是属性的名称)| |directionFlag|是否反向|当前组件是链接类型的时候使用|directionFlag为true时,如果linkFieldName没有设置则默认为t_oid| |sourceFieldName|上一个组件是链接类型时,存在关联的属性的名称|业务类型默认为oid,链接类型也默认oid| - 页面上的按钮控制