1. 基本功能 1. 基本功能
1.1. 批量状态 1.1. 批量状态
平台支持批量状态设置,界面仅仅是个按钮效果,点击后根据配置的内容进行变化,例如设置状态前入库单状态是未入库,点击设置状态按钮后,变成已入库。
1.2. 批量更新 1.2. 批量更新
平台支持批量更新配置,与批量状态不同的是它有单独的更新维护界面。
2. 配置方法 2. 配置方法
云平台版本需要更新到5.5.0.0+,包括前端BaseController.js文件。
2.1. 批量状态 2.1. 批量状态
配置
- 对象建模–业务对象–业务对象管理:编辑要配置设置状态的业务对象,进入方法定义tab页。
- 新增方法定义,输入【调用方法名称】、【调用方法描述】、【方法类型】处选择批量状态,【URL地址】处输入业务对象名称(首字母小写)/调用方法名称,新增一个设置状态的方法。
- 进入下方批量状态tab页,左侧为属性列表,右侧为更新列表,在左侧属性列表中勾选要设置状态的属性,点击右移箭头,把要设置状态的属性移入更新列表。
- 在右侧更新列表处,设置默认值类型(变量、表达式、固定值),默认值(设置状态后的值)。
(1)默认值类型:
变量:数字、字符串
表达式:方法、运算
固定值:平台默认值,如当前用户、当前日期等
(2)如果选择的属性控件类型是下拉框或者联想控件,需要在搜索帮助名、字典处填入相应的数据字典和搜索帮助名,还需注意如果是下拉控件,在默认值处填入的是数据字典中对应的代码值。
- 编辑业务对象,点击【可视化布局】按钮进入可视化编辑,配置设置状态按钮。
- 设置完后点击保存,并提交业务对象。
代码
在业务对象+BsCtrl.js文件中生成批量状态方法。
/**
* GLPaaS生成
* 批量状态
*/
$scope.batchStausTestDengpp3201S = function(){
var checkRows = $scope.testDengpp3201SCheckedRows;
if (checkRows.length == 0){
$scope.baseAlert("提示", "暂无选中的记录");
return;
}
var modifiedData = _.filter($scope.testDengpp3201Ss, function (item) {return item.rowStatus == 4 || item.rowStatus == 16 })
if (modifiedData && modifiedData.length>0) {
$scope.baseShow({
title: '提示',
msg: '存在未保存的记录,请先保存!',
buttons: [{
text: '确定',
type: 'sure',
handler: function () {
$scope.testDengpp3201SGrid.select($scope.testDengpp3201SGrid.getPhysicalRow($scope.testDengpp3201S), $scope.testDengpp3201SGrid.__selectedColumnIndex);
}
}]
});
return;
}
$http.post($config.ctx + '/testDengpp3201S/batchStaus', checkRows).success(function (data) {
$scope.baseAlert("提示", data.msg);
$scope.refreshCurrentPage("TestDengpp3201S");
})
}
2.2. 批量更新 2.2. 批量更新
平台版本必须是5.5.0.0+。
配置
- 对象建模–业务对象–业务对象管理:编辑要配置批量更新的业务对象,进入方法定义tab页。
- 新增方法定义,输入【调用方法名称】、【调用方法描述】、【方法类型】处选择批量更新,【URL地址】处输入业务对象名称(首字母小写)/调用方法名称,【简易标题】可以设置批量更新的弹框标题,【国际化标题】则是将支持弹框标题国际化,宽、高分别定义弹框的宽跟高。
- 进入下方批量更新tab页,左侧为属性列表,右侧为更新列表,在左侧属性列表中勾选要设置批量更新的属性,点击右移箭头,把要设置批量更新的属性移入更新列表。
(1)如果批量更新的维护界面即弹框是云平台提供的默认维护界面的话,则需要在批量更新tab页维护需要的字段
(2)如果批量更新的维护界面是用户自定义界面,则需要配置一个页面类型为自定义页面的界面,并在跳转地址输入配置的自定义页面的路径(eg:/html/platform/implement/metadata/xxx.html),此时不需要在批量更新tab页维护字段,因为要维护的字段已经在自定义页面维护好。
- 在右侧更新列表处,设置默认值类型(变量、表达式、固定值),默认值(设置状态后的值)。
(1)默认值类型:
变量:数字、字符串
表达式:方法、运算
固定值:平台默认值,如当前用户、当前日期等
(2)如果选择的属性控件类型是下拉框或者联想控件,需要在搜索帮助名、字典处填入相应的数据字典和搜索帮助名,还需注意如果是下拉控件,在默认值处填入的是数据字典中对应的代码值。 - 编辑业务对象,点击【可视化布局】按钮进入可视化编辑,配置批量更新按钮。
- 设置完后点击保存,并提交业务对象,然后重新生成代码。
代码
在业务对象+BsCtrl.js文件中生成批量更新方法,如果批量更新的维护界面是用户自定义界面,参考如下:
/**
* GLPaaS生成
* 批量更新 常用案例NewHot103
*/
$scope.batchUpdateTestCaseNewHot103 = function() {
var url = "/html/sample/test/testCaseNewHot103batchUpdate.html";
var openType = "2";
var checkRows = $scope.testCaseNewHot103CheckedRows;
if (checkRows.length == 0) {
$scope.baseAlert("提示", "暂无选中的记录");
return;
}
if (url.indexOf("?") >= 0) {
url = url + "&openType=" + openType;
} else {
url = url + "?openType=" + openType;
}
url = url + "&boName=TestCaseNewHot103&methodType=BATCH_UPDATE&methodName=batchUpdate";
var batchUpdateUrl = '/testCaseNewHot103/batchUpdate';
url = url + '&batchUpdateUrl=' + batchUpdateUrl;
var options = {
title: '自定义批量更新',
closable: true,
modal: true,
url: url,
width: 900,
height: 700,
data: checkRows
};
$scope.showUrl(options);
}
;
批量更新的维护界面即弹框是云平台提供的默认维护界面,参考如下:
/**
* GLPaaS生成
* 动态批量更新 常用案例NewHot103
*/
$scope.dynamicUpdateTestCaseNewHot103 = function() {
var url = "/html/platform/implement/metadata/ipfCommonBatchUpdateManage.html";
var openType = "2";
var checkRows = $scope.testCaseNewHot103CheckedRows;
if (checkRows.length == 0) {
$scope.baseAlert("提示", "暂无选中的记录");
return;
}
if (url.indexOf("?") >= 0) {
url = url + "&openType=" + openType;
} else {
url = url + "?openType=" + openType;
}
url = url + "&boName=TestCaseNewHot103&methodType=BATCH_UPDATE&methodName=dynamicUpdate";
var batchUpdateUrl = '/testCaseNewHot103/dynamicUpdate';
url = url + '&batchUpdateUrl=' + batchUpdateUrl;
var options = {
title: '批量更新',
closable: true,
modal: true,
url: url,
width: 900,
height: 700,
data: checkRows
};
$scope.showUrl(options);
}
;
$scope.testCaseNewHot103 = {};
$scope.testCaseNewHot103s = [];
$scope.perTestCaseNewHot103s = [];
$scope.testCaseNewHot103Deleteds = [];