Merge branch 'dev_vite' of http://18.167.251.121:10003/aidlab/aida_front into dev_vite

This commit is contained in:
李志鹏
2026-04-24 17:30:08 +08:00
5 changed files with 104 additions and 127 deletions

View File

@@ -208,7 +208,7 @@ const routes: Array<RouteRecordRaw> = [
import("@/views/SellerDashboard/MyListings/createSelect/index.vue")
},
{
path: "select/:id",
path: "select/:collectionId",
name: "myListingsSelectItem",
meta: { enter: "all" },
component: () =>

View File

@@ -479,6 +479,8 @@ export const Https = {
submitSellerApply: '/seller/designer/apply', // 提交卖家申请
getSellerOrderSummary: '/seller/order/summary', // 获取卖家订单数据总览
getSellerOrderList: '/seller/order/page', // 获取卖家订单列表
getListingPopup: '/seller/listing/popup/check', // 获取是否勾选发布作品提示
setListingPopup: '/seller/listing/popup/set', // 设置是否勾选发布作品提示
},

View File

@@ -1,116 +1,72 @@
<script setup lang="ts">
import { ref, onMounted, onUnmounted, reactive, toRefs } from "vue";
import { Https } from '@/tool/https'
import { setPubDate } from "@/tool/util";
import { useI18n } from "vue-i18n";
//const props = defineProps({
//})
const props = defineProps({
getCollectionListData: {
type: Object,
default: () => ({})
}
})
const emit = defineEmits([
'selectCollectionItem',
])
const current = ref(1)
const {t} = useI18n()
const page = ref(1)
const size = ref(6)
const total = ref(0)
const list = ref([
{
imgList:[
{
url:'https://www.minio-api.aida.com.hk/aida-users/83/avatar/2b3d5756-ea29-4020-86a9-3b02cfc73b5a.png?response-content-type=image%2Fpng&response-content-disposition=inline&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=admin%2F20260410%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260410T013002Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=eedfd4114bde66f0ff8fe5e4d7a7274d9007b25deb40ee82a19427f29601e89b',
},{
url:'https://www.minio-api.aida.com.hk/aida-users/83/avatar/2b3d5756-ea29-4020-86a9-3b02cfc73b5a.png?response-content-type=image%2Fpng&response-content-disposition=inline&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=admin%2F20260410%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260410T013002Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=eedfd4114bde66f0ff8fe5e4d7a7274d9007b25deb40ee82a19427f29601e89b',
},{
url:'https://www.minio-api.aida.com.hk/aida-users/83/avatar/2b3d5756-ea29-4020-86a9-3b02cfc73b5a.png?response-content-type=image%2Fpng&response-content-disposition=inline&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=admin%2F20260410%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260410T013002Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=eedfd4114bde66f0ff8fe5e4d7a7274d9007b25deb40ee82a19427f29601e89b',
},{
url:'https://www.minio-api.aida.com.hk/aida-users/83/avatar/2b3d5756-ea29-4020-86a9-3b02cfc73b5a.png?response-content-type=image%2Fpng&response-content-disposition=inline&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=admin%2F20260410%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260410T013002Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=eedfd4114bde66f0ff8fe5e4d7a7274d9007b25deb40ee82a19427f29601e89b',
},
],
type:'Series',
name:'Christmas',
sketchNum: 7,
date: 'today',
id:'1',
},{
imgList:[
{
url:'https://www.minio-api.aida.com.hk/aida-users/83/avatar/2b3d5756-ea29-4020-86a9-3b02cfc73b5a.png?response-content-type=image%2Fpng&response-content-disposition=inline&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=admin%2F20260410%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260410T013002Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=eedfd4114bde66f0ff8fe5e4d7a7274d9007b25deb40ee82a19427f29601e89b',
},{
url:'https://www.minio-api.aida.com.hk/aida-users/83/avatar/2b3d5756-ea29-4020-86a9-3b02cfc73b5a.png?response-content-type=image%2Fpng&response-content-disposition=inline&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=admin%2F20260410%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260410T013002Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=eedfd4114bde66f0ff8fe5e4d7a7274d9007b25deb40ee82a19427f29601e89b',
},{
url:'https://www.minio-api.aida.com.hk/aida-users/83/avatar/2b3d5756-ea29-4020-86a9-3b02cfc73b5a.png?response-content-type=image%2Fpng&response-content-disposition=inline&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=admin%2F20260410%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260410T013002Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=eedfd4114bde66f0ff8fe5e4d7a7274d9007b25deb40ee82a19427f29601e89b',
},{
url:'https://www.minio-api.aida.com.hk/aida-users/83/avatar/2b3d5756-ea29-4020-86a9-3b02cfc73b5a.png?response-content-type=image%2Fpng&response-content-disposition=inline&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=admin%2F20260410%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260410T013002Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=eedfd4114bde66f0ff8fe5e4d7a7274d9007b25deb40ee82a19427f29601e89b',
},
],
type:'Series',
name:'Christmas',
sketchNum: 7,
date: 'today',
id:'2',
},{
imgList:[
{
url:'https://www.minio-api.aida.com.hk/aida-users/83/avatar/2b3d5756-ea29-4020-86a9-3b02cfc73b5a.png?response-content-type=image%2Fpng&response-content-disposition=inline&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=admin%2F20260410%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260410T013002Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=eedfd4114bde66f0ff8fe5e4d7a7274d9007b25deb40ee82a19427f29601e89b',
},{
url:'https://www.minio-api.aida.com.hk/aida-users/83/avatar/2b3d5756-ea29-4020-86a9-3b02cfc73b5a.png?response-content-type=image%2Fpng&response-content-disposition=inline&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=admin%2F20260410%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260410T013002Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=eedfd4114bde66f0ff8fe5e4d7a7274d9007b25deb40ee82a19427f29601e89b',
},{
url:'https://www.minio-api.aida.com.hk/aida-users/83/avatar/2b3d5756-ea29-4020-86a9-3b02cfc73b5a.png?response-content-type=image%2Fpng&response-content-disposition=inline&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=admin%2F20260410%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260410T013002Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=eedfd4114bde66f0ff8fe5e4d7a7274d9007b25deb40ee82a19427f29601e89b',
},{
url:'https://www.minio-api.aida.com.hk/aida-users/83/avatar/2b3d5756-ea29-4020-86a9-3b02cfc73b5a.png?response-content-type=image%2Fpng&response-content-disposition=inline&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=admin%2F20260410%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260410T013002Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=eedfd4114bde66f0ff8fe5e4d7a7274d9007b25deb40ee82a19427f29601e89b',
},
],
type:'Series',
name:'Christmas',
sketchNum: 7,
date: 'today',
id:'1',
},{
imgList:[
{
url:'https://www.minio-api.aida.com.hk/aida-users/83/avatar/2b3d5756-ea29-4020-86a9-3b02cfc73b5a.png?response-content-type=image%2Fpng&response-content-disposition=inline&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=admin%2F20260410%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260410T013002Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=eedfd4114bde66f0ff8fe5e4d7a7274d9007b25deb40ee82a19427f29601e89b',
},{
url:'https://www.minio-api.aida.com.hk/aida-users/83/avatar/2b3d5756-ea29-4020-86a9-3b02cfc73b5a.png?response-content-type=image%2Fpng&response-content-disposition=inline&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=admin%2F20260410%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260410T013002Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=eedfd4114bde66f0ff8fe5e4d7a7274d9007b25deb40ee82a19427f29601e89b',
},{
url:'https://www.minio-api.aida.com.hk/aida-users/83/avatar/2b3d5756-ea29-4020-86a9-3b02cfc73b5a.png?response-content-type=image%2Fpng&response-content-disposition=inline&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=admin%2F20260410%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260410T013002Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=eedfd4114bde66f0ff8fe5e4d7a7274d9007b25deb40ee82a19427f29601e89b',
},{
url:'https://www.minio-api.aida.com.hk/aida-users/83/avatar/2b3d5756-ea29-4020-86a9-3b02cfc73b5a.png?response-content-type=image%2Fpng&response-content-disposition=inline&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=admin%2F20260410%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260410T013002Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=eedfd4114bde66f0ff8fe5e4d7a7274d9007b25deb40ee82a19427f29601e89b',
},
],
type:'Series',
name:'Christmas',
sketchNum: 7,
date: 'today',
id:'1',
},
])
const getListData = ()=>{
return {
...props.getCollectionListData,
page: page.value,
size: size.value,
}
}
const getCreateList = ()=>{
let data = getListData()
Https.axiosPost(Https.httpUrls.historyProject, data).then((rv)=>{
list.value = rv.content || []
total.value = rv.total || 0
})
}
const selectCollectionItem = (item:any)=>{
emit('selectCollectionItem',item)
}
onMounted(()=>{
getCreateList()
})
onUnmounted(()=>{
})
defineExpose({})
defineExpose({getCreateList})
</script>
<template>
<div class="historyList">
<div class="list">
<div v-for="(item,index) in list" :key="index" class="item" @click="selectCollectionItem(item)">
<div class="imgList">
<div v-for="(img,index) in item.imgList" :key="index" class="img">
<div v-for="(img,index) in item.userLikeGroupVO?.groupDetails" :key="index" class="img">
<img :src="img.url" alt="">
</div>
</div>
<div class="detail">
<div class="name">{{item.name}}</div>
<div class="bottom">
<div>{{item.sketchNum}} sketchs</div>
<div>{{item.date}}</div>
<div>{{item.userLikeGroupVO?.groupDetails?.length || 0}} sketchs</div>
<div>{{setPubDate(item.updateTime,t)}}</div>
</div>
</div>
<div class="type" :class="item.type">
{{item.type}}
{{item.process == "SERIES_DESIGN"?"Series":"Single"}}
</div>
</div>
</div>
<div class="pagination">
<a-pagination v-model:current="current" :pageSize="6" :showSizeChanger="false" show-quick-jumper :total="100" show-less-items />
<a-pagination v-model:current="page" @change="getCreateList" :pageSize="6" :showSizeChanger="false" show-quick-jumper :total="total" show-less-items />
</div>
</div>
</template>
@@ -154,11 +110,13 @@ defineExpose({})
padding: 1rem 1.3rem;
display: flex;
gap: .4rem;
justify-content: center;
> .img{
width: 9.7rem;
height: 17.2rem;
border-radius: 1rem;
overflow: hidden;
background-color: #fff;
> img{
object-fit: cover;
height: 100%;

View File

@@ -4,31 +4,38 @@ import sellerHeader from "../../seller-header.vue"
import historyList from "./historyList.vue"
import { useRouter } from "vue-router"
//const props = defineProps({
//})
//const emit = defineEmits([
//])
const router = useRouter()
let data = reactive({
})
const searchType = ref('all')
const searchText = ref('')
let getCollectionListData = reactive({
searchType: '',
searchText: '',
const historyListRef = ref(null)
})
const isShowMark = ref(false)
const historyListRef = ref(null) as any
const handleSearch = () => {
historyListRef.value.getCreateList()
}
const setSearchType = (type:any) => {
getCollectionListData.searchType = type
historyListRef.value.getCreateList()
}
const selectCollectionItem = (item:any) => {
router.push({path:'/home/seller/myListings/select/'+item.id})
}
onMounted(()=>{
})
onUnmounted(()=>{
})
defineExpose({})
const {} = toRefs(data);
</script>
<template>
<div class="myListings-seller">
<div class="create-select">
<seller-header
title="Select Collection"
:breadcrumbs="[
@@ -40,15 +47,15 @@ const {} = toRefs(data);
<div class="content">
<div class="title">
<div class="left">
<div :class="{active:searchType == 'all'}" @click="searchType = 'all'">All</div>
<div :class="{active:searchType == 'series'}" @click="searchType = 'series'">Series Design</div>
<div :class="{active:searchType == 'single'}" @click="searchType = 'single'">Single Design</div>
<div :class="{active:getCollectionListData.searchType == ''}" @click="setSearchType('')">All</div>
<div :class="{active:getCollectionListData.searchType == 'SERIES_DESIGN'}" @click="setSearchType('SERIES_DESIGN')">Series Design</div>
<div :class="{active:getCollectionListData.searchType == 'SINGLE_DESIGN'}" @click="setSearchType('SINGLE_DESIGN')">Single Design</div>
</div>
<div class="right">
<div class="search_input flex flex-align-center">
<input
class="search_input_inner"
v-model="searchText"
v-model="getCollectionListData.searchText"
:bordered="false"
@keydown.enter="handleSearch"
placeholder="123123"
@@ -58,12 +65,12 @@ const {} = toRefs(data);
</div>
</div>
</div>
<historyList ref="historyListRef" @selectCollectionItem="selectCollectionItem"></historyList>
<historyList ref="historyListRef" :getCollectionListData="getCollectionListData" @selectCollectionItem="selectCollectionItem"></historyList>
</div>
</div>
</template>
<style scoped lang="less">
.myListings-seller {
.create-select {
width: 100%;
height: 100%;
overflow: hidden;

View File

@@ -3,6 +3,9 @@ import { ref, onMounted, onUnmounted, reactive, toRefs } from "vue";
import sellerHeader from "../../seller-header.vue"
import { VueDraggable } from "vue-draggable-plus"
import selectMenu from '@/component/modules/selectMenu.vue'
import { Https } from '@/tool/https'
import { useRoute } from 'vue-router'
import { useStore } from 'vuex'
//const props = defineProps({
//})
@@ -10,6 +13,8 @@ import selectMenu from '@/component/modules/selectMenu.vue'
//])
let data = reactive({
})
const store = useStore()
const route = useRoute()
const domSize = ref('Small')
const domSizeList = ref([
{
@@ -26,17 +31,8 @@ const domSizeList = ref([
},
])
const list = ref([
{ id: "1" },
{ id: "2" },
{ id: "3" },
{ id: "4" },
{ id: "5" },
{ id: "6" },
{ id: "7" },
{ id: "8" },
{ id: "9" },
{ id: "10" }
])
const showList = ref([])
const chooseList = ref([])
const chooseItem = (item:any)=>{
chooseList.value.push(item)
@@ -89,6 +85,32 @@ const changeDomSize = ()=>{
setDomSize(listingsBoxRef.value.clientWidth)
},350)
}
const changeGender = ()=>{
}
const setShowList = ()=>{
if(gender.value == 'All'){
showList.value = list.value
}else{
showList.value = list.value.filter((item:any)=>item.sex == gender.value)
}
}
const getCollectionDetail = ()=>{
store.commit("set_loading", true)
let moduleList = [] as any
moduleList = ['design',]
let value:any = {
"id":route.params.collectionId,
"moduleList":moduleList,
}
Https.axiosPost(Https.httpUrls.getModuleContent,value).then(async (rv)=>{
list.value = rv.design.userLikeDetails
setShowList()
store.commit("set_loading", false)
}).catch(()=>{
store.commit("set_loading", false)
})
}
onMounted(()=>{
// 创建观察器
nextTick(()=>{
@@ -105,6 +127,7 @@ onMounted(()=>{
// 开始监听
if(resizeObserver)resizeObserver.observe(listingsBoxRef.value)
})
getCollectionDetail()
})
onUnmounted(()=>{
})
@@ -112,7 +135,7 @@ defineExpose({})
const {} = toRefs(data);
</script>
<template>
<div class="myListings-seller">
<div class="create-select-item">
<seller-header
title="Select Collection"
:breadcrumbs="[
@@ -143,27 +166,6 @@ const {} = toRefs(data);
</div>
<div class="right">
<div class="generalModel_state">
<div>
<selectMenu
:selectList="domSizeList"
@change="changeDomSize"
:isBtnOpen='true'
:style="{
'border-radius':'0rem',
'border':'none',
'font-weight': '900',
'border-right':'2px solid rgba(0,0,0,.2)',
'line-height': '3rem',
'height': '3rem',
'background': 'rgba(0,0,0,0)',
}"
v-model:select="domSize"
>
<template v-slot:btnText>
{{ $t('Header.Filter') }}
</template>
</selectMenu>
</div>
<div>
<selectMenu
:selectList="domSizeList"
@@ -188,7 +190,7 @@ const {} = toRefs(data);
</div>
</div>
<VueDraggable
v-model="list"
v-model="showList"
class="list"
:class="domSize"
v-bind="config"
@@ -208,13 +210,14 @@ const {} = toRefs(data);
<div class="choose">
<i class="fi fi-rr-check"></i>
</div>
<img :src="v.designOutfitUrl || v.url" alt="">
</div>
</VueDraggable>
</div>
</div>
</template>
<style scoped lang="less">
.myListings-seller {
.create-select-item {
width: 100%;
height: 100%;
overflow: hidden;
@@ -329,6 +332,9 @@ const {} = toRefs(data);
border: 1.5px solid #C7C7C7;
// transition: all .3s;
position: relative;
overflow: hidden;
display: flex;
justify-content: center;
> .choose{
display: flex;
width: var(--iconWH);
@@ -347,6 +353,10 @@ const {} = toRefs(data);
display: flex;
}
}
> img{
height: 100%;
object-fit: cover;
}
&.active{
border: 1.5px solid #000;
> .choose{