import {
observable,
action,
computed
} from 'mobx';
import { WeaLocaleProvider} from 'ecCom';
import { Button, message} from 'antd';
import {WeaTableNew} from 'comsMobx';
import * as api from '../apis/suggestDetail';
const {TableStore} = WeaTableNew;
const getLabel = WeaLocaleProvider.getLabel;
export class SuggestDetailStore {
targetId = "";
detailInfo = "";
@observable suggestDetail = {};
@observable selectedKey = "0";
@observable tableStore = new TableStore();
@observable isTable = false;
@observable isHandle = false;
@observable loading = true;
@computed get btns(){
const {suggesttype } = this.suggestDetail;
const btns = [
];
if (suggesttype === "1") {
btns.push();
}else{
btns.push();
};
return (!this.isTable && !this.isHandle) ? btns : [];
}
@computed get detailId(){
const {randomFieldId, id} = this.suggestDetail;
return randomFieldId || id;
}
@action getSuggestList = () => {
const params ={
cmd: "suggest",
status:"0",
targetId:this.targetId,
};
if (this.detailInfo) {
Object.assign(params,{
detailInfo:this.detailInfo,
})
}
this.tableStore= new TableStore();
this.loading = true;
api.getSuggestList(params).then(res => {
const { sessionkey,datas } = res;
if (sessionkey) {
this.tableStore.getDatas(sessionkey);
this.isTable = true;
}
if (datas ) {
if (datas[0]) {
this.suggestDetail = datas[0];
this.isTable = false;
}else{
this.isHandle = true;
}
}
this.loading = false;
})
}
@action markAsRead = () => {
this.save({cmd:"doChange"})
}
@action confirmAdd = () => {
this.save({cmd:"doAdd"})
}
@action confirmDel = () => {
const params = {
cmd:"doDel",
id:this.detailId
}
api.del(params).then(res => {
const {status} = res;
if (status == 1) {
message.success(res.message);
this.isHandle = true;
}else{
message.warning(res.message || "error");
}
})
}
save = (datas = {}) => {
const params = {
id: this.detailId,
...datas
};
api.save(params).then(res => {
const {status} = res;
if (status == 1) {
message.success(res.message);
this.isHandle = true;
}else{
message.warning(res.message || "error");
}
})
}
@action setSelectedKey = (key) => {
this.selectedKey = key;
}
createDialog = () => {
const { groupidspan } = this.suggestDetail;
let url = `/spa/hrm/index_mobx.html#/main/hrm/operateGroup?groupId=${groupidspan}&groupType=2`;
if (this.f_weaver_belongto_userid) {
url = `${url}&f_weaver_belongto_userid=${this.f_weaver_belongto_userid}`
}
const dia = ecCom.WeaTools.createDialog({
url,
title: getLabel(126252, "常用组设置"),
icon:'icon-coms-hrm',
iconBgcolor:'#217346',
style:{width:600,height:600},
callback: (datas)=>{ // 数据通信
//0表示当前保存的是基本信息,需要关闭弹框并刷新当前页面
if (datas === 0) {
dia.close();
this.getSuggestList();
}
},
onCancel: ()=>{ // 关闭通信
}
});
dia.show();
}
setQuery = (query) => {
Object.keys(query).forEach(key => {
if (query[key]) {
this[key] = query[key];
}
})
}
}