53 lines
1.5 KiB
JavaScript
53 lines
1.5 KiB
JavaScript
import * as API from '../../apis/autographApi';
|
|
import { observable, action } from 'mobx';
|
|
|
|
export default class AutographStore {
|
|
@observable initInfo = [];
|
|
@observable isMustInput = '';
|
|
@observable isAutoResizeSignImage = true;
|
|
@observable recordId = '0';
|
|
@observable visible = true;
|
|
|
|
@action
|
|
setMobxState = (params = {}) => {
|
|
Object.keys(params).forEach((v) => {
|
|
this[v] = params[v];
|
|
});
|
|
}
|
|
@action
|
|
getAutographInfo = params => new Promise((resolve) => {
|
|
API.getAutographInfo(params).then((res) => {
|
|
this.initInfo = res;
|
|
resolve(res);
|
|
});
|
|
})
|
|
|
|
@action
|
|
saveAutograph = (src) => {
|
|
const isMustInput = this.isMustInput;
|
|
if (isMustInput === '1' || (isMustInput === '2' && src === 'reject')) {
|
|
if (Consult.DocEmpty && Consult.OpinionText == '') {
|
|
return false;
|
|
}
|
|
}
|
|
// TODO save
|
|
let record = '';
|
|
const timestamp = Date.parse(new Date()) / 1000;
|
|
if (Consult.Modify) {
|
|
let saveFlag = this.isAutoResizeSignImage ? Consult.SaveAsGifEx(`${timestamp}.gif`, 'All', 'Remote') : Consult.SaveSignature();
|
|
if (!saveFlag) {
|
|
return false;
|
|
}
|
|
record = Consult.WebGetMsgByName('RECORDID');
|
|
if (parseInt(record) > 0 && this.isAutoResizeSignImage) {
|
|
Consult.WebSetMsgByName('TEMPCALL', '1');
|
|
Consult.WebSetMsgByName('TEMPID', record);
|
|
saveFlag = Consult.SaveSignature();
|
|
}
|
|
} else {
|
|
return this.recordId;
|
|
}
|
|
return record;
|
|
}
|
|
}
|