编辑 | blame | 历史 | 原始文档

通用的升版(升版次)的功能

所有通用的按钮的js都存放在platform/actions下
1. js名称:BaseRevisionAction
2. 功能作用。
- 支持定义UI上下文来展示页面,也支持直接定义表单来展示页面
- 默认为保存和取消按钮,保存的路径为默认,但是可以通过参数配置来替换
- 必须要选择老版本的数据。如果版本号或者版次号是手动输入时,需要在表单或者UI上下文自行配置该字段为显示且可输入。但是如果业务类型不支持手动输入版本,则即使表单或者UI上下文设置了可输入也不会被保存
- 升版本或者升版次后,生命周期的状态会自动变更为初始状态
- 默认为升版本,如果是升版次(二级版本)需要配置参数
- 会先显示出老版本的数据,用户手动修改属性后进行保存
3. 参数的使用
|参数名字|参数说明|参数示例|
|:--:|:--:|:--:|
|type|业务类型|如果参数没有配置这个属性,默认就等于这个按钮所在的组件所属的业务类型|
|form|表单的英文名字|如果设置了form就不显示UI上下文。获取表单的路径为webUIController/getFormDefineById。btmType: 业务类型,值是按钮的参数中的type;id: 表单的英文名称,值是按钮的参数中的form|
|content|UI上下文的名字,优先级小于form|
|upVersion|是否为升版次|true表示为升版次|
|getDataUrl|获取数据的路径|默认为uiDataController/dataFormQuery|
|getDataBackPath|获取数据的服务|一般不需要改动。默认为兼容性为true时等于path,否则为objectServicePath。即configData.compatibility?path:configData.objectServicePath|
|getDataMethod|获取数据的方法类型|默认为get|
|url|后台保存的url|默认为uiDataController/upRevision|
|method|请求后台的方法|默认为put|
|backPath|后台的服务名字|一般不需要改动。默认为兼容性为true时等于path,否则为objectServicePath。即configData.compatibility?path:configData.objectServicePath|
|title|窗口的标题|form不为空则使用form的标题;否则使用UI上下文的时必须要配置。支持${xxx}和sourceData.${xxx}表达式|
|width|窗口的宽度|默认是由layer自适应的|
|height|窗口的高度|默认是由layer自适应的|
|checkNotEdit|属性的值符合条件时不能升版|xxx=yyy&zzz=aaa的方式。使用&分割,=前是属性,=后是属性的值。只要一个条件满足后就不能编辑|
|checkNotEditMsg|不能修改时的提示语句|默认“当前数据不允许升版"|
|successMsg|成功后的提示语句|默认title+"成功"。这个优先级小于后台返回的提示语句|
|postSourceData|保存的时候是否发送来源数据|默认为false|
|postSelectData|保存的时候是否发送选择数据|默认为false|
| |文件上传| |
|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&param1=bbb|
4. 获取数据
- 根据getDataUrl参数来调用后台.
- 参数
|参数名字|参数说明|参数示例|
|:--:|:--:|:--:|
|btmname|业务类型|可以从数据里获取,也可以是按钮上定义的type参数|
|oid|主键|从选择的数据中获取|
|formDefineId|表单的定义编号|form参数|
|sourceDataMap|来源数据|按钮所属的区域的来源数据|
-返回值
"data":{ ... 这里是对象的值的信息 }, "attachmentFileVOs":[{ "oid:"文件的主键", "id":"文件的显示名称,不含后缀", "name":"文件的真实名称,不含后缀", "fileExtension":"文件的后缀名", "fileDocClassify":"文档类型", "fileDocClassifyName":"文档类型的名称", "fileSize":"文件的大小", "downloadCount":"下载次数", "filePath":"文件在卷文件夹里存放的路径" }] , "filePathFieldMap":{ "field这个是字段的名称":{ "oid:"文件的主键", "id":"文件的显示名称,不含后缀", "name":"文件的真实名称,不含后缀", "fileExtension":"文件的后缀名", "fileDocClassify":"文档类型", "fileDocClassifyName":"文档类型的名称", "fileSize":"文件的大小", "downloadCount":"下载次数", "filePath":"文件在卷文件夹里存放的路径" } }

  1. 文件字段的处理.文件上传组件都不显示文档类型的下拉框。
  • 表单显示附件上传。需要配置uploadAttachment为true,页面会显示文件上传的组件,从上传的返回结果中获取到oid的属性,然后保存的时候把这个oid放到releaseFileOids
  • 有文件路径的字段。该字段显示为文件上传,只能一个。上传后,从返回结果中获取filePath,存储到这个字段上。
  1. 保存时需要提交的参数。需要转换为json字符串的方式提交
  • 隐藏属性表示不需要单独处理,它是在表单加载或者是从来源数据里获取的,不会显示
    |参数名字|参数说明|参数示例和取值|
    |:--:|:--:|:--:|
    | |下方是跟配置和文件相关的||
    |formDefineId|表单的定义Id,必输|等于按钮的参数中的form属性;或者是UI上下文中的formDefineVO|
    |upVersion|是否为升版次|true表示为升版次|
    |preEvent|前置事件|按钮参数上的beforeBSEvent|
    |afterEvent|后置事件|按钮参数上的afterBSEvent|
    |beforeServerEvent|服务端的前置事件|来源于按钮的参数|
    |afterServerEvent|服务端的后置时间|来源于按钮的参数|
    |releaseFileOids|附件的文件对象主键|数组的形式。比如 releaseFileOids=["111","222"]|
    | |下方全部是数据的属性||
    |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|从哪个版本拷贝过来的|必输,为弹出页面之前选择的数据的oid|
    |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"] }
  1. 文件上传的参数处理
  • 路径 vciFileUploadController/uploadFile
  • 参数
    |参数名字|参数说明|参数示例和取值|
    |:--:|:--:|:--:|
    |file|文件组件里的名称|不能修改,哪怕表单里有多个文件类型的字段|
    |id|文件的显示名称|一般不输入,默认的是选择的文件的名称|
    |fileDocClassify|文档的使用类型|附件的时候,使用attachment;文件路径的类型的字段时,使用filePathField;|
    |fileDocClassifyName|文档的使用类型名称|附件的时候,使用"附件";文件路径的类型的字段时,使用"文件路径字段";|
    |secretGrade|密级|如果表单上有密级字段显示的时候,文件上传的组件的才显示密级,且文件的密级<=数据的密级|
    |updateFileFlag|是否为修改,true表示为修改|需要和fileOid配合使用|
    |fileOid|文件的主键|只在更新的时候才传递。如果是文件主键类型的字段时,就是这个字段的值,否则会在表单的加载数据中获取到|