了解 : 怎么处理jobbox status drop down list roll back

时间:2023-03-09 16:27:55
了解 : 怎么处理jobbox status drop down list roll back
that.onStatusEnumChange = function (toStatus) {
  //设计理念是当completed 和 rejected 的状态下,是无法换状态
if (toStatus == "completed" || toStatus == "rejected") {
S.confirm("After status change to " + toStatus + ", it will not able to change back, are you sure ?", function () {
updateStatus();
}, function () {
rollbackValue();
});
}
else {
updateStatus();
}
  //恢复资料
function rollbackValue() {
that.resourceClone.statusEnum = that.resource.statusEnum;
}
function updateStatus() {
    //new HttpObj 制作一个请求对象
var updateStatushttpObj = new HttpObj({
url: "//localhost:4745/api/Orders(" + that.resourceClone.id + ")/RPC.changeStatus",
method: "POST",
data: {
toStatusEnum: that.resourceClone.statusEnum
}
});     //refreshAsyncHttpObj 制作一个请求对象,同时有promise(把回来的资源给覆盖回之前的资源)
var refreshResourceHttpObj = that.resource.extend.refreshAsyncHttpObj();     //batchHttp 就是把所有请求对象给发出去
batchHttp([updateStatushttpObj, refreshResourceHttpObj], {
ajaxCommObject: {}
}).then(function () {
that.resourceClone = that.resource.extend.cloneForPut();
}, function () {
rollbackValue();
});
}
}