废话不多说,先上代码:
var builder = ODataEFBatchSample.createBatchBuilder();
var changeSet = builder.addChangeSet();
changeSet.addRequest({
requestUri: ControllersUrls.DocumentChangeApplys,
method: 'POST',
data: {
ApplyID: $scope.applyNO,
DeptID: $scope.applyDeptID,
DeptName: $scope.applyDept,
ApplicantType: $scope.ApplicantType,
ApplyType: $scope.applyType,
ChangeFileName: fileName,
RelatedPersonID: "smc\ssss",
RelatedPersonName: $scope.relatedPerson,
IsInvolveOtherDept: $scope.isInvolvedDept,
InvolveOtherDeptID: relatedDeptID,
InvolveOtherDeptName: relatedDeptName,
ChangeDescript: $scope.ChangeDescript,
ApproveStep: $scope.ApproveStep,
ApproveState: $scope.ApproveState,
CurrentUserID: DirectorID,
CurrentUserName: DirectorName
}
});
changeSet.addRequest({
requestUri: ControllersUrls.DocumentSubFlows,
method: 'POST',
data: {
ApplyID: $scope.applyNO,
CompanyCode: $scope.comanyName.CompanyCode,
CompanyName: $scope.comanyName.CompanyName,
FlowID: $scope.flowName.FlowID,
FlowName: $scope.flowName.FlowName,
SubFlowID: $scope.subFlowName.SubFlowID,
SubFlowName: $scope.subFlowName.SubFlowName,
IsChangeName: $scope.IsChangeName,
ChangedName: $scope.changeSubFlowName,
IsChangeFile: $scope.IsChangeFile,
ChangeState: $scope.ChangeState
}
});
changeSet.addRequest({
requestUri: ControllersUrls.DocumentReferences,
method: 'POST',
data: {
ApplyID: $scope.applyNO,
DeptID: $scope.applyDeptID,
DeptName: $scope.applyDept,
RuleID: $scope.ruleID1,
RuleName: $scope.ruleName1
}
});
获取批量请求。提交成功或者提交失败都会弹出相应的对话框。
var batchRequest = builder.getBatchRequest();
ODataEFBatchSample.postBatch(batchRequest).then(function (data) {
var responses = getResponses(data);
var IS_Bos = true;
var ErrMessage = '';
responses.forEach(function (value, index) {
if (value.response != null && value.response.statusCode != 200) {
IS_Bos = false;
ErrMessage = value.message;
return;
}
});
if (!IS_Bos) {
alert('提交失败!\r\n错误原因:' + ErrMessage);
}
else {
//alert('提交成功!');
//普通JS脚本中无法使用AngularJS方法,需套用
$timeout(function () {
$location.path('/DocCreate');
});
}
});