222 lines
5.6 KiB
JavaScript
222 lines
5.6 KiB
JavaScript
import { observable, action } from 'mobx';
|
|
import * as API from '../apis/constrpsubsearch';
|
|
import * as Util from '../util/index';
|
|
import cloneDeep from 'lodash/cloneDeep'
|
|
import {Modal,message} from 'antd'
|
|
import {WeaTableNew,WeaForm} from 'comsMobx'
|
|
import { toJS } from 'mobx';
|
|
const {TableStore} = WeaTableNew;
|
|
const confirm = Modal.confirm;
|
|
import {WeaLocaleProvider} from 'ecCom';
|
|
const getLabel = WeaLocaleProvider.getLabel;
|
|
import {i18n} from '../public/i18n';
|
|
|
|
export class HrmConstRpSubSearch {
|
|
title = getLabel('15687',"个人信息");
|
|
@observable verified = false;
|
|
@observable hasRight = false;
|
|
@observable showResult = false;
|
|
@observable topTabkey = '15687';
|
|
@observable scopeId = '1';
|
|
@observable scopeCmd = '0';
|
|
@observable tabkey = '15687';
|
|
@observable templateid = "0";
|
|
@observable form = new WeaForm();
|
|
@observable table = new TableStore();
|
|
@observable tabDatas = [];
|
|
@observable config = []
|
|
@observable visible = false
|
|
@observable templeteValue = ''
|
|
@observable defaulttabkey = ''
|
|
@observable isReSave = false;
|
|
@observable isCustom = '';
|
|
@observable prePath = '';
|
|
@observable prePathName = '';
|
|
configbak = []
|
|
|
|
@action
|
|
getTabInfo(params={},cb){
|
|
this.title = "";
|
|
this.tabkey = '';
|
|
this.tabDatas = [];
|
|
this.verified = false;
|
|
params.scopeId = this.scopeId;
|
|
params.isCustom = this.isCustom;
|
|
API.getTabInfo(params).then(data=>{
|
|
this.verified = true;
|
|
if (data.status == '1') {
|
|
this.title = data.tabInfo[0].title;
|
|
this.topTabkey = data.tabInfo[0].key;
|
|
this.tabkey = data.tabInfo[0].key;
|
|
this.scopeCmd = data.tabInfo[0].key;
|
|
this.defaulttabkey = data.tabInfo[0].key;
|
|
this.tabDatas = data.tabInfo;
|
|
this.hasRight = true;
|
|
cb && cb();
|
|
} else {
|
|
this.hasRight = false;
|
|
//message.warning(data.message);
|
|
}
|
|
}, error=> {
|
|
message.warning(error.message);
|
|
})
|
|
}
|
|
|
|
changeTab(key) {
|
|
this.tabkey = key;
|
|
this.config=[];
|
|
this.configbak=[];
|
|
this.templateid = "0";
|
|
if(key&& key.split("_").length==3){
|
|
let tmpValue = key.split("_");
|
|
this.scopeCmd = tmpValue[1];
|
|
this.templateid = tmpValue[2];
|
|
}else{
|
|
this.scopeCmd = key;
|
|
}
|
|
this.getCondition();
|
|
}
|
|
|
|
changeTopTab(key) {
|
|
this.topTabkey = key;
|
|
this.changeTab(key)
|
|
}
|
|
|
|
updateTempleteValue(v) {
|
|
this.templeteValue = v;
|
|
}
|
|
|
|
updateVisible(bool) {
|
|
this.visible = bool;
|
|
}
|
|
|
|
getCondition(params = {}) {
|
|
params.scopeId = this.scopeId;
|
|
params.cmd = this.scopeCmd;
|
|
params.templateid = this.templateid;
|
|
params.isCustom = this.isCustom;
|
|
this.showResult = false;
|
|
this.config = [];
|
|
this.configbak = [];
|
|
API.getCondition(params).then(data=>{
|
|
if (data.status == '1') {
|
|
this.config = data.condition;
|
|
this.configbak = cloneDeep(data.condition);
|
|
} else {
|
|
message.warning(data.message);
|
|
}
|
|
}, error=> {
|
|
message.warning(error.message);
|
|
})
|
|
}
|
|
|
|
doSearch(params){
|
|
this.getSearchList(params);
|
|
}
|
|
|
|
reSearch(){
|
|
this.showResult = false;
|
|
}
|
|
|
|
reset(){
|
|
this.config=[];
|
|
let __this = this;
|
|
setTimeout(function () {
|
|
__this.config=cloneDeep(__this.configbak);
|
|
}, 0);
|
|
}
|
|
|
|
saveTemplete(params={}){
|
|
let doSave = params.doSave || false;
|
|
if(doSave){
|
|
params.templateid=this.templateid;
|
|
}else{
|
|
let templeteValue = this.templeteValue ||'';
|
|
if(templeteValue==''){
|
|
message.warning(i18n.message.requireFieldNone());
|
|
return;
|
|
}
|
|
}
|
|
|
|
if(this.isReSave){
|
|
params.cmd="ctrlc";
|
|
}
|
|
params.templateName = this.templeteValue;
|
|
params.isCustom = this.isCustom;
|
|
API.saveTemplete(params).then(data=>{
|
|
if (data.status == '1') {
|
|
if(doSave){
|
|
|
|
}else{
|
|
this.templateid = data.templateid;
|
|
let tmpTabKey = params.scopeId+"_"+params.scopeCmd+"_"+data.templateid;
|
|
this.updateVisible(false)
|
|
this.templeteValue='';
|
|
this.isReSave = false;
|
|
this.getTabInfo({},()=> {
|
|
this.topTabkey = params.scopeCmd;
|
|
this.changeTab(tmpTabKey);
|
|
});
|
|
}
|
|
message.success(i18n.message.saveSuccess());
|
|
} else {
|
|
message.warning(data.message);
|
|
}
|
|
}, error=> {
|
|
message.warning(error.message);
|
|
})
|
|
}
|
|
|
|
deleteTabs(){
|
|
let __this = this;
|
|
let params={};
|
|
params.cmd = "del";
|
|
params.scopeId=this.scopeId;
|
|
params.scopeCmd=this.scopeCmd;
|
|
params.templateid=this.templateid;
|
|
confirm({
|
|
title: '系统提示',
|
|
content: '确定要删除该页签吗?',
|
|
onOk(){
|
|
API.saveTemplete(params).then(data=>{
|
|
if (data.status == '1') {
|
|
scopeId:1
|
|
__this.getTabInfo({},()=>{
|
|
__this.changeTopTab(params.scopeCmd);
|
|
});
|
|
message.success("删除成功");
|
|
} else {
|
|
message.warning(data.message);
|
|
}
|
|
}, error=> {
|
|
message.warning(error.message);
|
|
})
|
|
},
|
|
onCancel(){},
|
|
});
|
|
}
|
|
|
|
importExcel(params = {}){
|
|
this.table.exportAll();
|
|
}
|
|
|
|
getSearchList(params = {}) {
|
|
params.scopeId = this.scopeId;
|
|
params.isCustom = this.isCustom;
|
|
if(this.isCustom=='1'){
|
|
params.scopeCmd = '0';
|
|
}else{
|
|
params.scopeCmd = this.scopeCmd;
|
|
}
|
|
API.getSearchList(params).then(data=>{
|
|
if (data.status == '1') {
|
|
this.table.getDatas(data.sessionkey,1);
|
|
this.showResult = true;
|
|
} else {
|
|
message.warning(data.message);
|
|
}
|
|
}, error=> {
|
|
message.warning(error.message);
|
|
})
|
|
}
|
|
} |