111 lines
2.9 KiB
JavaScript
111 lines
2.9 KiB
JavaScript
|
|
/**
|
|||
|
|
* @author jh
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
|
|||
|
|
import { observable, action, toJS } from 'mobx';
|
|||
|
|
import { message, Modal } from 'antd';
|
|||
|
|
import { WeaLocaleProvider } from 'ecCom';
|
|||
|
|
|
|||
|
|
import { ListStore } from './listStore';
|
|||
|
|
import * as API from '../../apis/userDefaultSettingApi';
|
|||
|
|
|
|||
|
|
const getLabel = WeaLocaleProvider.getLabel;
|
|||
|
|
|
|||
|
|
export default class UserPhraseEditStore extends ListStore {
|
|||
|
|
@observable visiable = false;
|
|||
|
|
@observable phraseDescValue ='';
|
|||
|
|
@observable saveDisable = false;
|
|||
|
|
@observable success = -1; // -1无权限;0异常;1成功
|
|||
|
|
|
|||
|
|
conditions = [];
|
|||
|
|
|
|||
|
|
phraseId = '';
|
|||
|
|
|
|||
|
|
constructor() {
|
|||
|
|
super();
|
|||
|
|
this.onEdit = this.onEdit.bind(this);
|
|||
|
|
this.onCancelEdit = this.onCancelEdit.bind(this);
|
|||
|
|
this.richTextOnChange = this.richTextOnChange.bind(this);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 获取设置信息
|
|||
|
|
* @param id
|
|||
|
|
*/
|
|||
|
|
onEdit(id = '', defaultRemark) {
|
|||
|
|
const para = {
|
|||
|
|
id,
|
|||
|
|
};
|
|||
|
|
API.doEdit(para).then((reVal) => {
|
|||
|
|
super.resetForm();
|
|||
|
|
this.form.initFormFields(reVal.conditions);
|
|||
|
|
this.conditions = reVal.conditions;
|
|||
|
|
this.phraseDescValue = defaultRemark || reVal.phraseDescValue;
|
|||
|
|
// this.visiable = true;
|
|||
|
|
this.phraseId = id;
|
|||
|
|
this.success = reVal.success;
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 保存
|
|||
|
|
*/
|
|||
|
|
onSave(callFun) {
|
|||
|
|
if (this.realLength(this.phraseDescValue) > 4000) {
|
|||
|
|
Modal.warning({ title: getLabel(131329, '信息确认'), okText: getLabel(33703, '确认'), content: getLabel(385840, '文本长度不能超过4000(1个中文字符等于3个长度)') });
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
this.form.validateForm().then((f) => {
|
|||
|
|
if (f.isValid) {
|
|||
|
|
this.saveDisable = true;
|
|||
|
|
const para = {
|
|||
|
|
id: this.phraseId,
|
|||
|
|
phraseDesc: this.phraseDescValue,
|
|||
|
|
};
|
|||
|
|
const formPara = { ...this.form.getFormParams(), ...para };
|
|||
|
|
API.doSave(formPara).then((reVal) => {
|
|||
|
|
message.success(reVal.msg);
|
|||
|
|
this.onCancelEdit();
|
|||
|
|
this.saveDisable = false;
|
|||
|
|
callFun && callFun();
|
|||
|
|
});
|
|||
|
|
} else {
|
|||
|
|
f.showErrors();
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
/**
|
|||
|
|
* 关闭编辑弹框
|
|||
|
|
*/
|
|||
|
|
onCancelEdit() {
|
|||
|
|
this.visiable = false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 富文本编辑器
|
|||
|
|
*/
|
|||
|
|
richTextOnChange(desc = '') {
|
|||
|
|
this.phraseDescValue = desc;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
realLength(str) {
|
|||
|
|
let j = 0;
|
|||
|
|
for (let i = 0; i <= str.length - 1; i++) {
|
|||
|
|
j += 1;
|
|||
|
|
if ((str.charCodeAt(i)) > 127) {
|
|||
|
|
j += 2;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
return j;
|
|||
|
|
}
|
|||
|
|
@action
|
|||
|
|
setStates = (states = {}) => {
|
|||
|
|
const keys = Object.keys(states);
|
|||
|
|
keys.forEach((key) => {
|
|||
|
|
this[key] = states[key];
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
}
|