376 lines
11 KiB
JavaScript
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(); |