流程自动保存功能
由 0x400 发布于
```
this.define('saveFormDataInstance', function (callback, failure, history, data, issubmit) {
var form = this.form.getApp().appForm;
if (form.officeList) {
form.officeList.each(function (module) {
module.save(history);
});
}
var data = data || form.getData(issubmit);
form.modifedData = {};
form.setModifedData(data);
if (form.toWordSaveList && form.toWordSaveList.length){
var p = [];
form.toWordSaveList.each(function(editor){
if (editor.docToWord) p.push(new Promise(function(resolve){ editor.docToWord(resolve) }));
});
var copyData = Object.clone(data);
Promise.all(p).then(function(){
if( Object.keys(form.modifedData).length > 0 ){
form.workAction.saveData(function () {
form.businessData.originalData = null;
form.businessData.originalData = copyData;
if(callback)callback();
}, failure, form.businessData.work.id, form.modifedData);
}
}.bind(this));
}else{
var copyData = Object.clone(data);
if( Object.keys(form.modifedData).length > 0 ){
console.log("开始保存===",new Date().format("%Y-%m-%d %H:%M:%S"))
form.workAction.saveData(function () {
form.businessData.originalData = null;
form.businessData.originalData = copyData;
if(callback)callback();
console.log("结束保存===",new Date().format("%Y-%m-%d %H:%M:%S"))
}, failure, form.businessData.work.id, form.modifedData);
}
}
});
this.saveInterval = setInterval(() => {
console.log("自动保存===",new Date().format("%Y-%m-%d %H:%M:%S"))
if(this.workContext.getControl().allowProcessing){
this.saveFormDataInstance();
}
}, 10000); // 每 10 秒执行一次
```
评论