|
@@ -105,6 +105,8 @@ export default function () {
|
|
|
// 是否是领域化页面(医械通)
|
|
|
const isBidField = location.href.includes('/jylab/medical/index')
|
|
|
|
|
|
+ const { goback, keywords: urlKeywords, selectType: urlSelectType } = useRoute().query
|
|
|
+
|
|
|
// 缓存存储配置
|
|
|
const storageConfig = {
|
|
|
listTab: {
|
|
@@ -182,7 +184,6 @@ export default function () {
|
|
|
/**
|
|
|
* 搜索前校验
|
|
|
*/
|
|
|
- const { keywords: urlKeywords } = useRoute().query
|
|
|
const {
|
|
|
getWhiteList,
|
|
|
onTheWhiteList,
|
|
@@ -471,7 +472,6 @@ export default function () {
|
|
|
listState.pageNum = page
|
|
|
doQuery({}, 'pageNumChange', page)
|
|
|
}
|
|
|
-
|
|
|
// 分页大小事件
|
|
|
function doChangePageSize(size) {
|
|
|
listState.pageSize = size
|
|
@@ -557,7 +557,6 @@ export default function () {
|
|
|
// P260需求精准搜索无结果时 自动切换到模糊搜索(查询) 模糊搜索也无结果时再切回精准(不查询)
|
|
|
// 条件:1.精准搜索模式 2.返回无数据 3.有主关键词或附加词
|
|
|
let autoSwitchModel = false
|
|
|
- const { goback } = useRoute().query
|
|
|
function changeSearchMode (searchType) {
|
|
|
const total = listState.total
|
|
|
const { searchMode, additionalWords, input } = inputKeywordsState.value
|
|
@@ -888,13 +887,17 @@ export default function () {
|
|
|
restoreFilter(item, 'saveBack')
|
|
|
}
|
|
|
}
|
|
|
- function restoreFilter (viewFilter, type) {
|
|
|
+ function restoreFilter (viewFilter, type, expandFilter) {
|
|
|
let resultFilter = {}
|
|
|
if(type === 'saveBack') {
|
|
|
resultFilter = FilterHistoryAjaxModelRestore.formatAll(viewFilter)
|
|
|
} else {
|
|
|
resultFilter = viewFilter
|
|
|
}
|
|
|
+ // 额外需要回显的拓展数据
|
|
|
+ if(expandFilter && typeof expandFilter === 'object') {
|
|
|
+ Object.assign(resultFilter, expandFilter)
|
|
|
+ }
|
|
|
doChangeTab({ key: resultFilter.searchGroup })
|
|
|
filterState.value = {
|
|
|
bidField: isBidField ? 'medical' : '',
|
|
@@ -1295,14 +1298,20 @@ export default function () {
|
|
|
const { key, _storage } = storageConfig.filter
|
|
|
const params =_storage.getItem(key)
|
|
|
if (params) {
|
|
|
- restoreFilter(JSON.parse(params), 'localBack')
|
|
|
+ const expandFilter = {}
|
|
|
+ if(urlSelectType) {
|
|
|
+ expandFilter.selectType = urlSelectType.split(',')
|
|
|
+ }
|
|
|
+ if(urlKeywords) {
|
|
|
+ expandFilter.input = urlKeywords
|
|
|
+ }
|
|
|
+ restoreFilter(JSON.parse(params), 'localBack', expandFilter)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// 恢复筛选条件
|
|
|
// 恢复优先级、外边跳转进工作台的最高、其次是本地缓存、最后是已存筛选条件第一条
|
|
|
function getLastFilter () {
|
|
|
- const { goback, searchGroup, subtype } = useRoute().query
|
|
|
if(isLogin.value) {
|
|
|
const { key, _storage } = storageConfig.filter
|
|
|
const params =_storage.getItem(key)
|
|
@@ -1312,7 +1321,12 @@ export default function () {
|
|
|
// 免费用户恢复tab,搜索范围默认标题和正文
|
|
|
if(isFree.value) {
|
|
|
restoreSearchGroupFromLocal()
|
|
|
- const defaultSelectType = ['title', 'content']
|
|
|
+ let defaultSelectType = ['title', 'content']
|
|
|
+ // 如果路由传参带入搜索范围参数
|
|
|
+ if(urlSelectType) {
|
|
|
+ const arr = urlSelectType.split(',')
|
|
|
+ defaultSelectType = arr
|
|
|
+ }
|
|
|
filterState.value.selectType = defaultSelectType
|
|
|
if(!goback) {
|
|
|
// 非工作台外跳转进入则默认搜索
|
|
@@ -1330,7 +1344,14 @@ export default function () {
|
|
|
if(isVip.value) {
|
|
|
// 付费用户,优先恢复本地缓存,本地无缓存,则恢复已存筛选第一条数据
|
|
|
if(!jParams && Array.isArray(arr) && arr.length > 0){
|
|
|
- restoreFilter(arr[0], 'saveBack')
|
|
|
+ const expandFilter = {}
|
|
|
+ if(urlSelectType) {
|
|
|
+ expandFilter.selectType = urlSelectType.split(',')
|
|
|
+ }
|
|
|
+ if(urlKeywords) {
|
|
|
+ expandFilter.input = urlKeywords
|
|
|
+ }
|
|
|
+ restoreFilter(arr[0], 'saveBack', expandFilter)
|
|
|
}
|
|
|
}
|
|
|
})
|