weaver_trunk_cli/pc4mobx/esearch/stores/weesoSeachSetStore.js

376 lines
11 KiB
JavaScript

import { observable, action, toJS } from 'mobx';
import { WeaTableNew, WeaForm, WeaLogView } from 'comsMobx';
import { WeaLocaleProvider } from 'ecCom';
import * as API from '../apis/searchSet.js';
import weesoStore from './weeso';
const {TableStore} = WeaTableNew;
const {LogStore} = WeaLogView;
const getLabel = WeaLocaleProvider.getLabel;
class WeesonSeachSetStore {
@observable dialogVisible = false;
@observable customizationDialogVisible = false;
@observable searchTableStore = new TableStore();
@observable commonConditionTableStore = new TableStore();
@observable form = new WeaForm();
@observable conditions = [];
@observable stepForm = new WeaForm();
@observable stepConditions = [];
@observable addCommonForm = new WeaForm();
@observable addCommonConditions = [];
@observable currentStep = 0;
@observable stepContents = [
{ step: 0, label: getLabel('524084','页面基本设置') },
{ step: 1, label: getLabel('524085','常用条件设置') },
{ step: 2, label: getLabel('524261','搜索结果页设置') },
{ step: 3, label: getLabel('555','完成') }
];
@observable collectParams = {
favname:getLabel('524262','微搜设置'),
favouritetype: 1,
objid:0,
link : 'wui/engine.html#/meetingengine/msgdefine',
importantlevel:1,
};
@observable addCommonVisible = false;
@observable maintenanceKeyAddCommonVisible = false;
@observable page_uuid = 'FULLSEARCH';
@observable recordId = '';
@observable recordParams = {};
@observable addRecordId = '';
@observable urlDialogVisible = false;
@observable homeLoading = false;
@observable search_type = '';
@observable page_descStr = '';
@observable baseDatas = {};
@observable commonConditionParams = {};
@observable browserKeyArr = [];
@observable commonPageType = '';
@observable hasPageIcon = true;
@observable hasPageResultLogo= true;
@observable pageCusCurrentId = '';
@observable adSearchForm = new WeaForm();
@observable adSearchFormConditions = [];
@observable commonDialogVisible = false;
@observable commonDialogInputVal = '';
@observable searchTagParams = {};
@observable logStore = new LogStore();
@observable logvisible = false;
@observable logSmallType = '3';
@observable logType = '35';
@observable topTabsVisible = true;
@observable homeToResultPage = undefined;
@observable editCommonConditionRetdatas = {};
@observable searchPageRight = true;
@observable searchDefinePageInputVal = '';
@observable searchDefineCommonInputVal = '';
@observable recordType = '';
@observable defalutStepForm = new WeaForm();
@action
setState = (params = {}, callback) => {
Object.keys(params).forEach(key => {
this[key] = params[key];
});
typeof callback === 'function' && callback();
}
getSeachTable = (params) => {
API.getSeachTable(params).then(result => {
// this.searchTableStore.getDatas(result.sessionkey, 1);
})
}
getSeachCustomTable = (params) => {
this.form = new WeaForm();
this.conditions = [];
API.getSeachCustomTable(params).then(result => {
if(result.api_status) {
this.form.initFormFields(result.fields);
this.conditions = result.fields;
}
});
}
getCustompageBaseDatas = (params, type) => {
// cuspage_type: 1:基础信息 2: 仅获取历史搜索记录 (刷新的时候) 3: 仅获取常用条件(刷新的时候) 其他值: 全部获取
if(type !== 'init') {
params = {
page_uuid: this.page_uuid,
...params
};
}
this.homeLoading = true;
API.getCustompageBaseDatas(params).then(result => {
this.homeLoading = false;
if(type === 'init') {
this.page_uuid = result.page_uuid;
}
if(result.api_status) {
if(result.cuspage_type === '1') {
this.baseDatas = result;
weesoStore.setState({ defalutMoreKey: result.search_type });
}
if(result.cuspage_type === '2') {
weesoStore.setState({ historySearchList: result.historySearchList });
}
if(result.cuspage_type === '3') {
weesoStore.setState({ tagList: result.tagList });
}
if(result.search_type) {
this.search_type = result.search_type;
if(result.search_type === 'ALL') {
this.topTabsVisible = true;
} else {
this.topTabsVisible = false;
}
}
if(result.page_descStr) {
this.page_descStr = result.page_descStr;
}
}
});
}
//新建编辑保存 常用条件
doSaveSearchTag = (params, callback) => {
params = {
page_uuid: this.page_uuid,
search_type: weesoStore.defalutMoreKey,
...params
};
API.doSaveSearchTag(params).then(result => {
if(result.api_status) {
typeof callback === 'function' && callback(result);
}
});
}
//插入历史搜索记录
doSaveHistorySearch = (params) => {
params = {
page_uuid: this.page_uuid,
search_type: weesoStore.defalutMoreKey,
...params
};
API.doSaveHistorySearch(params).then(result => {
});
}
//删除常用条件
delSearchTag = (params, callback) => {
params = {
page_uuid: this.page_uuid,
...params
};
API.delSearchTag(params).then(result => {
if(result.api_status) {
typeof callback === 'function' && callback();
}
});
}
//删除历史搜索条件
delHistorySearch = (params, callback) => {
params = {
page_uuid: this.page_uuid,
...params
};
API.delHistorySearch(params).then(result => {
if(result.api_status) {
typeof callback === 'function' && callback();
}
});
}
getCusPageSetDtl = (params, callback) => {
params = {
page_uuid: this.page_uuid,
...params,
};
// params.id = 33
// params.type = 3
this.stepForm = new WeaForm();
this.defalutStepForm = new WeaForm();
this.stepConditions = [];
API.getCusPageSetDtl(params).then(result => {
if(result.api_status) {
this.page_icon_dir = result.page_icon_dir;
if(result.fields === undefined) {
this.stepForm = new WeaForm();
this.defalutStepForm = new WeaForm();
this.stepConditions = [];
} else {
this.stepForm.initFormFields(result.fields);
this.defalutStepForm.initFormFields(result.fields);
this.stepForm.updateFields()
this.stepConditions = result.fields;
}
typeof callback === 'function' && callback(result);
}
});
}
getCusPageSetList = (params, callback) => {
params = {
page_uuid: this.page_uuid,
page_title: this.searchDefinePageInputVal,
...params,
};
API.getCusPageSetList(params).then(result => {+ ``
if(result.api_status) {
if(result.status === 'noright') {
this.searchPageRight = false;
} else {
this.searchPageRight = true;
this.searchTableStore.getDatas(result.sessionkey, 1);
typeof callback === 'function' && callback();
}
}
});
}
doSaveCusPageSetDtl = (params, callback) => {
params = {
page_uuid: this.page_uuid,
...params,
};
API.doSaveCusPageSetDtl(params).then(result => {
if(result.ret === 'success') {
this.recordId = result.id;
this.pageCusCurrentId = result.id;
typeof callback === 'function' && callback(result);
}
});
}
getSearchTagList = (params, callback) => {
params = {
page_uuid: this.page_uuid,
tagTitle: this.searchDefineCommonInputVal,
...params,
};
this.commonConditionTableStore = new TableStore();
API.getSearchTagList(params).then(result => {
if(result.api_status) {
this.commonConditionTableStore.getDatas(result.sessionkey, 1);
typeof callback === 'function' && callback();
}
});
}
getSearchTagDtl = (params, callback) => {
params = {
page_uuid: this.page_uuid,
...params,
};
this.addCommonForm = new WeaForm();
this.addCommonConditions = [];
API.getSearchTagDtl(params).then(result => {
if(result.api_status) {
this.addCommonForm.initFormFields(result.fields);
this.addCommonConditions = result.fields;
this.browserKeyArr = result.browserKeyArr;
this.editCommonConditionRetdatas = result;
typeof callback === 'function' && callback();
}
});
}
//删除搜索页面
delCusPageSet = (params, callback) => {
params = {
page_uuid: this.page_uuid,
...params
};
API.delCusPageSet(params).then(result => {
if(result.api_status) {
typeof callback === 'function' && callback();
}
});
}
// 取消隐藏/隐藏
showAndHideSearchTag = (params, callback) => {
params = {
page_uuid: this.page_uuid,
...params
};
API.showAndHideSearchTag(params).then(result => {
if(result.api_status) {
typeof callback === 'function' && callback();
}
});
}
// 高级搜索
getAdConditions = (params, callback) => {
params = {
page_uuid: this.page_uuid,
fromCondition: 1,
search_type: weesoStore.defalutMoreKey,
...params,
};
if(!this.topTabsVisible) {
params = {
...params,
search_type: this.search_type,
}
}
this.adSearchForm = new WeaForm();
this.adSearchFormConditions = [];
API.getSearchTagDtl(params).then(result => {
if(result.api_status) {
this.adSearchForm.initFormFields(result.fields);
// this.adSearchForm.resetForm();
if(result.fields && result.fields[0] && result.fields[0].items && result.fields[0].items[1]) {
if(result.fields[0].items[1].selectLinkageDatas && result.fields[0].items[1].selectLinkageDatas[5]) {
result.fields[0].items[1].selectLinkageDatas[5].viewAttr = 3;
}
}
this.adSearchFormConditions = result.fields;
this.browserKeyArr = result.browserKeyArr;
typeof callback === 'function' && callback();
}
});
}
adSearchFormReset = () => {
this.adSearchForm.resetForm();
setTimeout(() => {
this.adSearchForm.updateFields({ CREATEDATE_date_select: '0', BEGINDATE_date_select: '0' });
}, 0);
}
filterParams = () => {
let browserKeyArr = this.browserKeyArr;
let adSearchForm = this.adSearchForm;
const formParams = adSearchForm.getFormParams();
let search_json = { ...formParams };
delete search_json.showorder;
delete search_json.tagName;
delete search_json.tagTitle;
browserKeyArr = toJS(browserKeyArr);
Object.keys(search_json).forEach(key => {
if(browserKeyArr.some(v => v === key)) {
if(search_json[key] !== '') {
search_json[key] = search_json[key].split(',');
} else {
delete search_json[key];
}
}
});
if(Object.keys(search_json).length === 1 && search_json.CREATEDATE_date_select === '0') {
delete search_json.CREATEDATE_date_select;
}
return search_json;
}
}
export default new WeesonSeachSetStore();