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 =>