import React from 'react';
import {inject, observer} from 'mobx-react';
import {toJS} from 'mobx';
import {Spin, Modal, Row, Col} from 'antd';
import {WeaNewScrollPagination, WeaLocaleProvider} from 'ecCom';
const getLabel = WeaLocaleProvider.getLabel;
import WeesoTop from './childComponents/WeesoTop';
import WeesoInput from './childComponents/WeesoInput';
import CommonContent from './childComponents/CommonContent';
import SearchTools from './childComponents/SearchTools';
import ImagesContent from './childComponents/ImagesContent';
import Adlink from './childComponents/Adlink';
const store = ['routing', 'weesoStore', 'weesoSeachSetStore']
@inject(...store)
@observer
class WeesoResult extends React.Component {
constructor(props) {
super(props);
this.state = {
}
}
viewSubCompany = (subcompanyid) => {
const { addSubdomainUrl } = this.props.weesoStore;
window.open(`${addSubdomainUrl('/spa/hrm/engine.html#/hrmengine/organization?showTree=false&isView=1&type=subcompany&id=')}${subcompanyid}`);
}
viewDepartment = (departmentid) => {
const { addSubdomainUrl } = this.props.weesoStore;
window.open(`${addSubdomainUrl('/spa/hrm/engine.html#/hrmengine/organization?showTree=false&isView=1&type=department&id=')}${departmentid}`);
}
componentDidMount() {
const {weesoStore, routing, weesoSeachSetStore} = this.props;
const { getAdConditions, recordType } = this.props.weesoSeachSetStore;
//处理外部跳转进入微搜结果页面
//value: 输入框的值 type:搜索类型 searchType: 内容/图片 msg: 服务未启动的报错信息
const {location} = this.props;
const {query = {value: '', type: '', searchType: '', msg}} = location;
const { search } = this.props.location;
weesoStore.setState(
{ urlParams: query || {} },
()=>{
if(query.value !== undefined){//需要!== undefined作为判断,不能去掉
weesoStore.isCustomer = true;
if (query.value.trim() == '' && query.type == 'ALL') {
routing.push(`/main/esearch/weeso`);
}else if(query.searchType == 'ERROR'){
Modal.error({
title: getLabel(15172, "系统提示"),
content: query.msg,
});
}else {
weesoStore.setState(
{
inputValue: query.value || '',
defalutMoreKey: query.type || 'ALL',
searchType: query.searchType || 'CONTENT'
}
);
query.page_uuid && weesoSeachSetStore.setState({ page_uuid: query.page_uuid });
const callRouting = () => routing.push(`/main/esearch/weeso${search}`);
const callSearch = () => weesoStore.inputValue !== '' && weesoStore.doSearch();
weesoStore.getBaseData(false, callRouting, callSearch, query.page_uuid);
}
}
weesoStore.showSubmit();
weesoStore.initWeesoResult();
weesoStore.changeKey(query.type || 'ALL', false);
weesoStore.isCustomer = false;
weesoStore.showAdmin = false;
if(query && (query.value || query.type)) {// 直接url搜索 main/esearch/result?searchType=CONTENT&type=ALL&value=aa
weesoStore.setState(
{
inputValue: query.value || '',
defalutMoreKey: query.type || 'ALL',
searchType: query.searchType || 'CONTENT',
},
() => {
weesoSeachSetStore.setState({ topTabsVisible: true }, () => {
let p = {
search_type: query.type || 'ALL',
page_uuid: query.page_uuid || 'FULLSEARCH',
};
if(query.page_uuid && (query.page_uuid !== 'FULLSEARCH')) {
p = {
search_type: ''
};
}
getAdConditions(p);
});
}
);
} else {
if(query.page_uuid && (query.page_uuid !== 'FULLSEARCH')) {
// let p = {
// search_type: '',
// page_uuid: query.page_uuid,
// };
// getAdConditions(p);
} else if(recordType !== 'commonContion') {
getAdConditions();
}
}
});
}
componentWillReceiveProps(nextProps) {
//处理外部跳转进入微搜结果页面
const {location, weesoStore, routing, weesoSeachSetStore} = this.props;
const { getAdConditions } = this.props.weesoSeachSetStore;
const {query = {value: '', type: '', searchType: '', mag: ''}} = location;
const
nextVal = nextProps.location.query.value,
nextType = nextProps.location.query.type,
nextSearchType = nextProps.location.query.searchType,
nextMsg = nextProps.location.query.msg;
weesoStore.setState(
{ urlParams: nextProps.location.query || {} },
()=>{
const { search } = this.props.location;
if (this.props.location.key !== nextProps.location.key && weesoStore && nextVal && nextType) {
//if (weesoStore && (query.value || nextVal) && (nextType !== query.type || nextVal !== query.value)) {
weesoStore.isCustomer = true;
if (nextVal == '' && nextType == 'ALL') {
routing.push(`/main/esearch/weeso${search}`)
}else if (nextType == 'ERROR') {
Modal.error({
title: getLabel(15172, "系统提示"),
content: nextMsg,
});
} else {
const key = nextType || 'ALL';
weesoStore.changeKey(key, false);
weesoStore.setState(
{
inputValue: nextVal ? nextVal : query.value,
defalutMoreKey: nextType ? nextType : query.type,
defaultKey: nextSearchType ? nextSearchType : query.searchType
}
)
weesoStore.resortTopTaps();
weesoStore.inputValue !== '' && weesoStore.doSearch();
}
}
weesoStore.isCustomer = false;
});
if(query && (query.value || query.type)) {// 直接url搜索 main/esearch/result?searchType=CONTENT&type=ALL&value=aa
weesoStore.setState(
{
inputValue: query.value || '',
defalutMoreKey: query.type || 'ALL',
searchType: query.searchType || 'CONTENT',
},
() => {
weesoSeachSetStore.setState({ topTabsVisible: true }, () => {
let p = {
search_type: query.type || 'ALL',
page_uuid: query.page_uuid || 'FULLSEARCH',
};
getAdConditions(p);
});
}
);
}
}
componentWillUnmount() {
const { weesoSeachSetStore, weesoStore } = this.props;
weesoSeachSetStore.setState({
searchTagParams: {}
});
weesoStore.setState({
skipSearchParams: {}
});
}
render() {
const {weesoStore} = this.props;
let {defaultKey, loading, emptyResult, page, pages, imageResult, defalutMoreKey, inputValue, searchDatas, isSearchSucess,
searchKey, tagsDatas, page_resultShowLogo, page_resultLogo
} = weesoStore;
const {contentType, normalkey} = searchDatas;
const { logoVisible } = tagsDatas;
let numberPage = Number(page);
emptyResult = toJS(emptyResult);
const showResult = isSearchSucess ? defalutMoreKey == contentType : true; //判断搜索结果和页面显示的搜索内容是否一致(避免因数据加载速度,前面搜素结果覆盖当下)
const hideTitle = this.props.location.query.hideTitle;
let { topTabsVisible, page_descStr } = this.props.weesoSeachSetStore;
let topHeight = !topTabsVisible&&page_descStr==='' ? 'h-85' : 'h-115';
if(hideTitle === 'true') {
if(page_descStr !== '') {
topHeight = 'h-115';
} else {
topHeight = 'h-85';
}
}
const hideSearch = this.props.location.query.hideSearch || '0';
let topStyle = {};
if (hideSearch === '1') {
topStyle = { display: 'none' };
}
return (
{page_resultShowLogo && }
{/*
*/}
{/* */}
{
defaultKey == 'CONTENT' ?
:
{
if (page < pages) {
weesoStore.setState({page: `${numberPage + 1}`})
weesoStore.inputValue != '' && weesoStore.doSearch();
}
setTimeout(() => {
this.setState({
newScrollLoading: false,
})
}, 2000)
}}>
{emptyResult ?
:
imageResult && imageResult.lengrh != 0 && imageResult.map((item, index) => {
return (
)
})
}
}
)
}
}
export default props =>