|
|
|
@ -115,36 +115,6 @@ onBeforeMount(async () => {
|
|
|
|
|
|
|
|
|
|
nextTick(() => {
|
|
|
|
|
finalStore.$subscribe(() => {
|
|
|
|
|
// const customConfig = finalStore.getCustomConfig;
|
|
|
|
|
// console.log("customConfig订阅aside---------------", customConfig);
|
|
|
|
|
// if (customConfig === null) return;
|
|
|
|
|
|
|
|
|
|
// const showKeys: string[] = [...customConfig];
|
|
|
|
|
// // const defaultKeys = Object.keys(asideMap).filter(
|
|
|
|
|
// // (key) => asideMap[key].isDefaultFilter
|
|
|
|
|
// // );
|
|
|
|
|
// // showKeys.unshift(...defaultKeys);
|
|
|
|
|
|
|
|
|
|
// Object.keys(asideMap).forEach((key) => {
|
|
|
|
|
// // 设置显示的或者默认显示的
|
|
|
|
|
// if (key.startsWith("iz"))
|
|
|
|
|
// asideVisible[key] =
|
|
|
|
|
// asideMap[key] && (showKeys.includes(key) || asideMap[key].isDefaultFilter);
|
|
|
|
|
// });
|
|
|
|
|
|
|
|
|
|
// const items = showKeys.reduce((acc, key) => {
|
|
|
|
|
// if (asideMap[key]) {
|
|
|
|
|
// const config = {
|
|
|
|
|
// key,
|
|
|
|
|
// config: asideMap[key],
|
|
|
|
|
// };
|
|
|
|
|
// return [...acc, config];
|
|
|
|
|
// } else {
|
|
|
|
|
// return acc;
|
|
|
|
|
// }
|
|
|
|
|
// }, []);
|
|
|
|
|
// console.log("showItems111111111---------------", items);
|
|
|
|
|
// showItems.value = items;
|
|
|
|
|
const config = finalStore.getSystemConfig
|
|
|
|
|
const customConfig = finalStore.getCustomConfig
|
|
|
|
|
if (
|
|
|
|
@ -152,20 +122,16 @@ nextTick(() => {
|
|
|
|
|
&& isEqual(configFilterRef.value, finalStore.getFilterConfig)
|
|
|
|
|
&& customObjRef.value
|
|
|
|
|
&& isEqual(customObjRef.value, customTempObjRef.value)
|
|
|
|
|
)
|
|
|
|
|
) {
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (config == null || customConfig == null)
|
|
|
|
|
if (config == null || customConfig == null) {
|
|
|
|
|
return
|
|
|
|
|
// console.log("config", config, "customConfig", customConfig);
|
|
|
|
|
/* rao
|
|
|
|
|
const showKeys = [...customConfig].filter(key => !asideMap[key].isDefaultFilter)// 获取customConfig 非isDefaultFilter的选项
|
|
|
|
|
const defaultKeys = Object.keys(asideMap).filter(key => asideMap[key].isDefaultFilter)// 获取asideMap isDefaultFilter的选项
|
|
|
|
|
showKeys.unshift(...defaultKeys)
|
|
|
|
|
*/
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const sortKeyList: any = []
|
|
|
|
|
finalStore.getFilterConfig.map((item: any) => {
|
|
|
|
|
finalStore.getFilterConfig.forEach((item: any) => {
|
|
|
|
|
sortKeyList.push(item?.id)
|
|
|
|
|
})
|
|
|
|
|
const showKeys = [...sortKeyList]
|
|
|
|
@ -178,16 +144,14 @@ nextTick(() => {
|
|
|
|
|
})
|
|
|
|
|
if (customObjRef.value) {
|
|
|
|
|
// 赋值
|
|
|
|
|
Object.keys(customObjRef.value).map((key) => {
|
|
|
|
|
if (asideMap.hasOwnProperty(key)) {
|
|
|
|
|
Object.keys(customObjRef.value).forEach((key) => {
|
|
|
|
|
if (Object.prototype.hasOwnProperty.call(asideMap, key)) {
|
|
|
|
|
const str = key.toLowerCase()
|
|
|
|
|
// console.log("customObjRef.value[str]1111111111111", customObjRef.value[str]);
|
|
|
|
|
if (str == 'izsimilarity') {
|
|
|
|
|
if (typeof customObjRef.value[str] == 'string')
|
|
|
|
|
customObjRef.value[str] = customObjRef.value[str].split(',')
|
|
|
|
|
|
|
|
|
|
asideValue[key] = customObjRef.value[str] // 赋值
|
|
|
|
|
console.log('相似度2222222222', asideValue[key])
|
|
|
|
|
}
|
|
|
|
|
else if (str == 'izyear') {
|
|
|
|
|
if (typeof customObjRef.value[str] == 'string') {
|
|
|
|
@ -197,12 +161,8 @@ nextTick(() => {
|
|
|
|
|
customObjRef.value[str] = time
|
|
|
|
|
}
|
|
|
|
|
asideValue[key] = customObjRef.value[str] // 赋值
|
|
|
|
|
console.log('时间2222222222', asideValue[key])
|
|
|
|
|
}
|
|
|
|
|
else if (customObjRef.value[str]) {
|
|
|
|
|
console.log('customObjRef.value[str]222222', customObjRef.value[str])
|
|
|
|
|
// let list = customObjRef.value[str].split(',');
|
|
|
|
|
// console.log("list222222", list);
|
|
|
|
|
if (typeof customObjRef.value[str] == 'string') {
|
|
|
|
|
customObjRef.value[str] = customObjRef.value[str].split(',')
|
|
|
|
|
asideValue[key] = customObjRef.value[str] // 赋值
|
|
|
|
@ -218,13 +178,9 @@ nextTick(() => {
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
customTempObjRef.value = customObjRef.value
|
|
|
|
|
console.log('asideValue直接处理后的结果', asideValue)
|
|
|
|
|
console.log('customTempObjRef.value', customTempObjRef.value)
|
|
|
|
|
const tempobj = cloneDeep(asideValue)
|
|
|
|
|
console.log('tempObj', tempobj)
|
|
|
|
|
finalStore.setAsideValue(tempobj)
|
|
|
|
|
}
|
|
|
|
|
// console.log("showKeys", showKeys);
|
|
|
|
|
const items = showKeys.reduce((acc, key) => {
|
|
|
|
|
const currentData = asideMap[key]
|
|
|
|
|
const render = currentData?.render
|
|
|
|
@ -241,7 +197,6 @@ nextTick(() => {
|
|
|
|
|
return acc
|
|
|
|
|
}
|
|
|
|
|
}, [])
|
|
|
|
|
console.log('showItems=================================', items)
|
|
|
|
|
showItems.value = items
|
|
|
|
|
configFilterRef.value = finalStore.getFilterConfig
|
|
|
|
|
})
|
|
|
|
@ -277,16 +232,14 @@ function scrollHandler(key: string) {
|
|
|
|
|
async function filterHandler(searchId: string) {
|
|
|
|
|
emitter.emit('filter-final', searchId)
|
|
|
|
|
const res = await getFilterList({ userSearchId: searchId })
|
|
|
|
|
// console.log("顾虑结果", res);
|
|
|
|
|
if (res.code == 'OK') {
|
|
|
|
|
const obj = res.data
|
|
|
|
|
customObjRef.value = res.data
|
|
|
|
|
const showKeys: any[] = []
|
|
|
|
|
Object.keys(obj).map((key) => {
|
|
|
|
|
if (asideMap.hasOwnProperty(key))
|
|
|
|
|
Object.keys(obj).forEach((key) => {
|
|
|
|
|
if (Object.prototype.hasOwnProperty.call(asideMap, key))
|
|
|
|
|
showKeys.push(key)
|
|
|
|
|
})
|
|
|
|
|
console.log('showKeys1111111111111111', showKeys)
|
|
|
|
|
finalStore.setCustomConfig(showKeys)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -305,7 +258,6 @@ function inputChange(keyword) {
|
|
|
|
|
emit('inputChange', keyword)
|
|
|
|
|
}
|
|
|
|
|
function handleOk(item: any) {
|
|
|
|
|
console.log('handleOk', item)
|
|
|
|
|
if (item) {
|
|
|
|
|
AdvanceFilterRef.value.setCurrentlySelectedAdvanced(item.searchname)
|
|
|
|
|
filterHandler(item.id)
|
|
|
|
@ -317,27 +269,17 @@ function handleOk(item: any) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function updateComponent(key, e) {
|
|
|
|
|
console.log('跟新值', key, e)
|
|
|
|
|
console.log('tempAsideValue跟新值', finalStore.getAsideValue, asideValue)
|
|
|
|
|
// let tempAsideValue = finalStore.getAsideValue || asideValue;
|
|
|
|
|
const tempobj = cloneDeep(asideValue)
|
|
|
|
|
console.log(tempobj, 'tempobj')
|
|
|
|
|
tempobj[key] = e
|
|
|
|
|
console.log(tempobj, 'tempobj After')
|
|
|
|
|
customObjRef.value = tempobj
|
|
|
|
|
// asideValue = Object.assign({}, asideValue, tempobj);
|
|
|
|
|
console.log('asideValue跟新值', tempobj)
|
|
|
|
|
finalStore.setAsideValue(tempobj)
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<template>
|
|
|
|
|
<div
|
|
|
|
|
class="aside"
|
|
|
|
|
:style="asideStyle"
|
|
|
|
|
@mouseenter="asideEnter = true"
|
|
|
|
|
@mouseleave="asideEnter = false"
|
|
|
|
|
>
|
|
|
|
|
<div class="aside" :style="asideStyle" @mouseenter="asideEnter = true" @mouseleave="asideEnter = false">
|
|
|
|
|
<div v-show="showCollapse" class="aside-collapse">
|
|
|
|
|
<div class="aside-collapse-btn" @click="collapseHandler">
|
|
|
|
|
<SvgIcon :name="collapseIcon" size="40" />
|
|
|
|
@ -347,31 +289,20 @@ function updateComponent(key, e) {
|
|
|
|
|
<div class="aside-header">
|
|
|
|
|
<!-- 搜索跳转模块 -->
|
|
|
|
|
<Search
|
|
|
|
|
v-show="showSearch"
|
|
|
|
|
@select="scrollHandler"
|
|
|
|
|
@close="setShowSearch(false)"
|
|
|
|
|
@input-change="inputChange"
|
|
|
|
|
v-show="showSearch" @select="scrollHandler" @close="setShowSearch(false)" @input-change="inputChange"
|
|
|
|
|
@show-search="setShowSearch(true)"
|
|
|
|
|
/>
|
|
|
|
|
<!-- 高级筛选 -->
|
|
|
|
|
<AdvanceFilter
|
|
|
|
|
v-show="!showSearch"
|
|
|
|
|
ref="AdvanceFilterRef"
|
|
|
|
|
:type="1"
|
|
|
|
|
@select="filterHandler"
|
|
|
|
|
@update:search="setShowSearch(true)"
|
|
|
|
|
@show-custom="showModal(customModalRef)"
|
|
|
|
|
v-show="!showSearch" ref="AdvanceFilterRef" :type="1" @select="filterHandler"
|
|
|
|
|
@update:search="setShowSearch(true)" @show-custom="showModal(customModalRef)"
|
|
|
|
|
@show-filter="showModal(filterModalRef)"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<component
|
|
|
|
|
:is="item.config.component"
|
|
|
|
|
v-for="(item, index) in showItems"
|
|
|
|
|
:id="item.key"
|
|
|
|
|
:key="index"
|
|
|
|
|
v-model:value="asideValue[item.key]"
|
|
|
|
|
:label="item.config.label"
|
|
|
|
|
:is="item.config.component" v-for="(item, index) in showItems" :id="item.key" :key="index"
|
|
|
|
|
v-model:value="asideValue[item.key]" :label="item.config.label"
|
|
|
|
|
@update:value="(e) => updateComponent(item.key, e)"
|
|
|
|
|
/>
|
|
|
|
|
|
|
|
|
@ -379,9 +310,7 @@ function updateComponent(key, e) {
|
|
|
|
|
<CustomFilterModalVue ref="customModalRef" />
|
|
|
|
|
<!-- 过滤列表 -->
|
|
|
|
|
<FilterModal
|
|
|
|
|
ref="filterModalRef"
|
|
|
|
|
@edit-filter="editFilter"
|
|
|
|
|
@show-new-filter="showModal(newFilterModalRef)"
|
|
|
|
|
ref="filterModalRef" @edit-filter="editFilter" @show-new-filter="showModal(newFilterModalRef)"
|
|
|
|
|
@handle-ok="handleOk"
|
|
|
|
|
/>
|
|
|
|
|
<!-- 新增过滤 -->
|
|
|
|
@ -433,17 +362,11 @@ function updateComponent(key, e) {
|
|
|
|
|
right: -20px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
::v-deep(.n-collapse
|
|
|
|
|
.n-collapse-item.n-collapse-item--right-arrow-placement
|
|
|
|
|
.n-collapse-item__header
|
|
|
|
|
.n-collapse-item-arrow) {
|
|
|
|
|
::v-deep(.n-collapse .n-collapse-item.n-collapse-item--right-arrow-placement .n-collapse-item__header .n-collapse-item-arrow) {
|
|
|
|
|
margin-left: 8px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
::v-deep(.n-collapse
|
|
|
|
|
.n-collapse-item
|
|
|
|
|
.n-collapse-item__header
|
|
|
|
|
.n-collapse-item__header-main) {
|
|
|
|
|
::v-deep(.n-collapse .n-collapse-item .n-collapse-item__header .n-collapse-item__header-main) {
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
}
|
|
|
|
@ -456,18 +379,11 @@ function updateComponent(key, e) {
|
|
|
|
|
border-top: 0px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
::v-deep(.n-collapse
|
|
|
|
|
.n-collapse-item
|
|
|
|
|
.n-collapse-item__content-wrapper
|
|
|
|
|
.n-collapse-item__content-inner) {
|
|
|
|
|
::v-deep(.n-collapse .n-collapse-item .n-collapse-item__content-wrapper .n-collapse-item__content-inner) {
|
|
|
|
|
padding-top: 10px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
::v-deep(.n-scrollbar
|
|
|
|
|
> .n-scrollbar-rail.n-scrollbar-rail--vertical
|
|
|
|
|
> .n-scrollbar-rail__scrollbar, .n-scrollbar
|
|
|
|
|
+ .n-scrollbar-rail.n-scrollbar-rail--vertical
|
|
|
|
|
> .n-scrollbar-rail__scrollbar) {
|
|
|
|
|
::v-deep(.n-scrollbar > .n-scrollbar-rail.n-scrollbar-rail--vertical > .n-scrollbar-rail__scrollbar, .n-scrollbar + .n-scrollbar-rail.n-scrollbar-rail--vertical > .n-scrollbar-rail__scrollbar) {
|
|
|
|
|
width: 0px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|