|
|
@@ -22,7 +22,7 @@
|
|
|
<div v-else @click="onCancel">取消</div>
|
|
|
</template>
|
|
|
</van-search>
|
|
|
- <van-tabs
|
|
|
+ <!-- <van-tabs
|
|
|
v-model:active="sort"
|
|
|
:ellipsis="false"
|
|
|
line-width="16"
|
|
|
@@ -46,7 +46,7 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</van-tab>
|
|
|
- </van-tabs>
|
|
|
+ </van-tabs> -->
|
|
|
<!-- <van-checkbox
|
|
|
v-if="isSearch && source == 'TRANSFER' && !title"
|
|
|
@change="getData(true)"
|
|
|
@@ -55,7 +55,7 @@
|
|
|
>仅看在售</van-checkbox
|
|
|
> -->
|
|
|
|
|
|
- <van-button
|
|
|
+ <!-- <van-button
|
|
|
@click="changeSort"
|
|
|
v-if="isSearch && source == 'TRANSFER' && !title"
|
|
|
class="sala"
|
|
|
@@ -66,7 +66,7 @@
|
|
|
icon-position="right"
|
|
|
round
|
|
|
>{{ salable ? '在售中' : salable === false ? '仅展示' : '综合排序' }}</van-button
|
|
|
- >
|
|
|
+ > -->
|
|
|
</van-sticky>
|
|
|
|
|
|
<van-action-sheet
|
|
|
@@ -86,7 +86,8 @@
|
|
|
v-show="isSearch"
|
|
|
>
|
|
|
<template v-for="(item, index) in list" :key="index">
|
|
|
- <product-info dark v-model:info="list[index]" @update:info="init"></product-info>
|
|
|
+ <component :is="com" dark v-model:info="list[index]" @update:info="init" list></component>
|
|
|
+ <!-- <product-info dark v-model:info="list[index]" @update:info="init"></product-info> -->
|
|
|
</template>
|
|
|
<van-empty v-if="empty" description="什么都没有搜到哦~" :image="require('@assets/kong_png_wusousuo.png')" />
|
|
|
</van-list>
|
|
|
@@ -95,12 +96,24 @@
|
|
|
|
|
|
<script>
|
|
|
import ProductInfo from '../../components/product/productInfo.vue';
|
|
|
+import NewsRecord from '@/components/product/NewsRecord.vue';
|
|
|
+import ActivityRecord from '@/components/product/ActivityRecord.vue';
|
|
|
+import ShowInfo from '@/components/asset/showInfo.vue';
|
|
|
+import CreatorSmall from '@/components/creator/CreatorSmall.vue';
|
|
|
+import CreatorInfo from '@/components/creator/CreatorInfoList.vue';
|
|
|
import product from '../../mixins/product';
|
|
|
import list from '../../mixins/list';
|
|
|
import search from '../../mixins/search';
|
|
|
export default {
|
|
|
name: 'productSearch',
|
|
|
- components: { ProductInfo },
|
|
|
+ components: {
|
|
|
+ NewsRecord,
|
|
|
+ ActivityRecord,
|
|
|
+ ProductInfo,
|
|
|
+ ShowInfo,
|
|
|
+ CreatorSmall,
|
|
|
+ CreatorInfo
|
|
|
+ },
|
|
|
inject: ['bar', 'setKeeps', 'scrollWrapper', 'changeScroll'],
|
|
|
mixins: [product, list, search],
|
|
|
setup() {
|
|
|
@@ -122,7 +135,7 @@ export default {
|
|
|
type: '',
|
|
|
source: '',
|
|
|
minterId: '',
|
|
|
- url: '/collection/all',
|
|
|
+
|
|
|
scrollTop: 0,
|
|
|
sort: 'id,desc',
|
|
|
sortDes: '',
|
|
|
@@ -183,12 +196,48 @@ export default {
|
|
|
})
|
|
|
};
|
|
|
});
|
|
|
+ },
|
|
|
+ url() {
|
|
|
+ if (this.pageType === 'news') {
|
|
|
+ return '/news/all';
|
|
|
+ }
|
|
|
+ if (this.pageType === 'mintActivities') {
|
|
|
+ return '/mintActivity/all';
|
|
|
+ }
|
|
|
+ if (this.pageType === 'minters') {
|
|
|
+ return '/user/all';
|
|
|
+ }
|
|
|
+ if (this.pageType === 'users') {
|
|
|
+ return '/user/all';
|
|
|
+ }
|
|
|
+ if (this.pageType === 'showrooms') {
|
|
|
+ return '/showroom/all';
|
|
|
+ }
|
|
|
+ return '/collection/all';
|
|
|
+ },
|
|
|
+ com() {
|
|
|
+ if (this.pageType === 'news') {
|
|
|
+ return 'NewsRecord';
|
|
|
+ }
|
|
|
+ if (this.pageType === 'mintActivities') {
|
|
|
+ return 'ActivityRecord';
|
|
|
+ }
|
|
|
+ if (this.pageType === 'minters') {
|
|
|
+ return 'CreatorSmall';
|
|
|
+ }
|
|
|
+ if (this.pageType === 'users') {
|
|
|
+ return 'CreatorInfo';
|
|
|
+ }
|
|
|
+ if (this.pageType === 'showrooms') {
|
|
|
+ return 'ShowInfo';
|
|
|
+ }
|
|
|
+ return 'ProductInfo';
|
|
|
}
|
|
|
},
|
|
|
mounted() {
|
|
|
this.$store.dispatch('getUsedBuy');
|
|
|
- if (this.$route.query.type) {
|
|
|
- this.type = this.$route.query.type;
|
|
|
+ if (this.$route.query.pageType) {
|
|
|
+ this.pageType = this.$route.query.pageType;
|
|
|
}
|
|
|
if (this.$route.query.source) {
|
|
|
this.source = this.$route.query.source;
|
|
|
@@ -301,14 +350,81 @@ export default {
|
|
|
if (sort == 'price') {
|
|
|
sort = 'price,' + this.sortDes;
|
|
|
}
|
|
|
- let type = this.type;
|
|
|
- if (!type && !this.showHall) {
|
|
|
- type = 'DEFAULT,BLIND_BOX';
|
|
|
+ if (this.pageType === 'showrooms') {
|
|
|
+ return {
|
|
|
+ query: {
|
|
|
+ del: false,
|
|
|
+ status: 'SUCCESS',
|
|
|
+ publish: true,
|
|
|
+ type: this.type
|
|
|
+ },
|
|
|
+ search: this.search,
|
|
|
+ sort: 'heats,desc'
|
|
|
+ };
|
|
|
+ }
|
|
|
+ if (this.pageType === 'users') {
|
|
|
+ return {
|
|
|
+ query: {
|
|
|
+ del: false,
|
|
|
+ minter: false
|
|
|
+ },
|
|
|
+ search: this.search
|
|
|
+ };
|
|
|
+ }
|
|
|
+ if (this.pageType === 'minters') {
|
|
|
+ return {
|
|
|
+ query: {
|
|
|
+ del: false,
|
|
|
+ minter: true
|
|
|
+ },
|
|
|
+ search: this.search
|
|
|
+ };
|
|
|
+ }
|
|
|
+ if (this.pageType === 'mintActivities') {
|
|
|
+ return {
|
|
|
+ query: {
|
|
|
+ del: false,
|
|
|
+ companyId: 1
|
|
|
+ },
|
|
|
+ search: this.search
|
|
|
+ };
|
|
|
+ }
|
|
|
+ if (this.pageType === 'news') {
|
|
|
+ return {
|
|
|
+ query: {
|
|
|
+ onShelf: true,
|
|
|
+ del: false,
|
|
|
+ companyId: 1
|
|
|
+ },
|
|
|
+ search: this.search
|
|
|
+ };
|
|
|
+ }
|
|
|
+ if (this.pageType === 'pictures') {
|
|
|
+ return {
|
|
|
+ query: {
|
|
|
+ onShelf: true,
|
|
|
+ type: 'PICTURE',
|
|
|
+ del: false
|
|
|
+ },
|
|
|
+ search: this.search,
|
|
|
+ sort: this.sort === 'id,desc' ? this.sortOptions[this.title] || sort : sort
|
|
|
+ };
|
|
|
+ }
|
|
|
+ if (this.pageType === 'domains') {
|
|
|
+ return {
|
|
|
+ query: {
|
|
|
+ onShelf: true,
|
|
|
+ type: 'DOMAIN',
|
|
|
+ del: false
|
|
|
+ },
|
|
|
+ search: this.search,
|
|
|
+ sort: this.sort === 'id,desc' ? this.sortOptions[this.title] || sort : sort
|
|
|
+ };
|
|
|
}
|
|
|
return {
|
|
|
query: {
|
|
|
onShelf: true,
|
|
|
- type: type,
|
|
|
+ type: 'DEFAULT,BLIND_BOX',
|
|
|
source: this.source,
|
|
|
minterId: this.minterId,
|
|
|
del: false,
|
|
|
@@ -668,4 +784,25 @@ export default {
|
|
|
z-index: 2;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+.van-list {
|
|
|
+ padding: 8px;
|
|
|
+ --bg2: #2b2b2c;
|
|
|
+ --text0: #fff;
|
|
|
+ --btnplaintBg: rgba(255, 255, 255, 0.08);
|
|
|
+ --btnplaintBorder: rgba(255, 255, 255, 0.08);
|
|
|
+ --border: rgba(255, 255, 255, 0.08);
|
|
|
+ .news-record {
|
|
|
+ border-radius: 0;
|
|
|
+ }
|
|
|
+ .showInfo {
|
|
|
+ background-color: #2b2b2c;
|
|
|
+ border-radius: 12px;
|
|
|
+ margin: 0 8px;
|
|
|
+ }
|
|
|
+ .showInfo + .showInfo {
|
|
|
+ margin-top: 16px;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
</style>
|