|
@@ -13,7 +13,7 @@
|
|
/>
|
|
/>
|
|
<!-- 标题 -->
|
|
<!-- 标题 -->
|
|
<div v-if="showNav" class="nav-back-title">
|
|
<div v-if="showNav" class="nav-back-title">
|
|
- <img src="@/assets/images/BackArrow.png" alt="返回" @click="back" />
|
|
|
|
|
|
+ <img src="@/assets/images/BackArrow.png" alt="返回" @click="router.back()" />
|
|
<h2>{{ title }}</h2>
|
|
<h2>{{ title }}</h2>
|
|
</div>
|
|
</div>
|
|
<!-- 标题 -->
|
|
<!-- 标题 -->
|
|
@@ -83,6 +83,7 @@
|
|
:style="{ width: rowWidth }"
|
|
:style="{ width: rowWidth }"
|
|
@click="handleShowDetail(item)"
|
|
@click="handleShowDetail(item)"
|
|
>
|
|
>
|
|
|
|
+ <a class="d-none" :href="router.resolve({ path: props.detailsPage, query: { id: item.id }}).href" />
|
|
<img
|
|
<img
|
|
:src="item.image || defaultImage" alt="新闻图片"
|
|
:src="item.image || defaultImage" alt="新闻图片"
|
|
/>
|
|
/>
|
|
@@ -132,8 +133,7 @@
|
|
|
|
|
|
<script setup lang="ts">
|
|
<script setup lang="ts">
|
|
import { computed, onMounted, ref, watch, type PropType } from 'vue';
|
|
import { computed, onMounted, ref, watch, type PropType } from 'vue';
|
|
-import { useSimplePagerDataLoader } from '@/composeable/SimplePagerDataLoader';
|
|
|
|
-import { usePageAction } from '@/composeable/PageAction';
|
|
|
|
|
|
+import { useSSrSimplePagerDataLoader } from '@/composeable/SimplePagerDataLoader';
|
|
import DateUtils from '@/common/utils/DateUtils';
|
|
import DateUtils from '@/common/utils/DateUtils';
|
|
import TagBar from '../content/TagBar.vue';
|
|
import TagBar from '../content/TagBar.vue';
|
|
import Dropdown from '../controls/Dropdown.vue';
|
|
import Dropdown from '../controls/Dropdown.vue';
|
|
@@ -143,8 +143,6 @@ import Pagination from '../controls/Pagination.vue';
|
|
import TitleDescBlock from '../parts/TitleDescBlock.vue';
|
|
import TitleDescBlock from '../parts/TitleDescBlock.vue';
|
|
import IconSearch from '../icons/IconSearch.vue';
|
|
import IconSearch from '../icons/IconSearch.vue';
|
|
|
|
|
|
-const { navTo, back } = usePageAction();
|
|
|
|
-
|
|
|
|
export interface DropdownCommonItem {
|
|
export interface DropdownCommonItem {
|
|
id: number;
|
|
id: number;
|
|
name: string;
|
|
name: string;
|
|
@@ -254,9 +252,12 @@ const props = defineProps({
|
|
},
|
|
},
|
|
})
|
|
})
|
|
|
|
|
|
|
|
+const router = useRouter();
|
|
|
|
+
|
|
const realRowCount = computed(() => {
|
|
const realRowCount = computed(() => {
|
|
- if (window.innerWidth < 768)
|
|
|
|
- return 1;
|
|
|
|
|
|
+ if (import.meta.client)
|
|
|
|
+ if (window.innerWidth < 768)
|
|
|
|
+ return 1;
|
|
return props.rowCount;
|
|
return props.rowCount;
|
|
});
|
|
});
|
|
const rowWidth = computed(() => {
|
|
const rowWidth = computed(() => {
|
|
@@ -291,24 +292,27 @@ function handleChangeDropDownValue(index: number, value: number) {
|
|
function handleShowDetail(item: any) {
|
|
function handleShowDetail(item: any) {
|
|
if (props.showDetail)
|
|
if (props.showDetail)
|
|
return props.showDetail(item);
|
|
return props.showDetail(item);
|
|
- navTo(props.detailsPage, {
|
|
|
|
- id: item.id,
|
|
|
|
- ...props.detailsParams,
|
|
|
|
|
|
+ router.push({
|
|
|
|
+ path: props.detailsPage,
|
|
|
|
+ query: {
|
|
|
|
+ id: item.id,
|
|
|
|
+ }
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
|
|
+//子分类
|
|
|
|
+const selectedTag = ref(props.defaultSelectTag);
|
|
const pageSize = ref(props.pageSize);
|
|
const pageSize = ref(props.pageSize);
|
|
|
|
+const route = useRoute();
|
|
|
|
|
|
-const newsLoader = useSimplePagerDataLoader(pageSize, (page, size) => props.load(
|
|
|
|
|
|
+const newsLoader = await useSSrSimplePagerDataLoader(route.fullPath + '/list', Number(route.query.page || 1), pageSize, (page, size) => props.load(
|
|
page, size,
|
|
page, size,
|
|
selectedTag.value,
|
|
selectedTag.value,
|
|
searchText.value,
|
|
searchText.value,
|
|
dropDownValues.value,
|
|
dropDownValues.value,
|
|
));
|
|
));
|
|
|
|
|
|
-//子分类
|
|
|
|
-const selectedTag = ref(props.defaultSelectTag);
|
|
|
|
-
|
|
|
|
watch(() => props.defaultSelectTag, (v) => {
|
|
watch(() => props.defaultSelectTag, (v) => {
|
|
selectedTag.value = v;
|
|
selectedTag.value = v;
|
|
})
|
|
})
|