Merge branch 'dev_vite' of http://18.167.251.121:10003/aidlab/aida_front into dev_vite
This commit is contained in:
@@ -1734,7 +1734,7 @@ export default {
|
|||||||
step3Info: '详情信息已从AiDA自动填充,请检查并补充任何缺失的信息。',
|
step3Info: '详情信息已从AiDA自动填充,请检查并补充任何缺失的信息。',
|
||||||
step4Title: '上架发布',
|
step4Title: '上架发布',
|
||||||
step4Info: '发布后,你的设计将立即在市场上线。',
|
step4Info: '发布后,你的设计将立即在市场上线。',
|
||||||
showAgain: '不再提示',
|
showAgain: '7天内不再提示',
|
||||||
GetStarted: '开始体验',
|
GetStarted: '开始体验',
|
||||||
},
|
},
|
||||||
SellerListEdit: {
|
SellerListEdit: {
|
||||||
|
|||||||
@@ -1785,7 +1785,7 @@ export default {
|
|||||||
step3Info: 'Details are pre-filled from AiDA. Review and complete any missing information.',
|
step3Info: 'Details are pre-filled from AiDA. Review and complete any missing information.',
|
||||||
step4Title: 'Listing Live',
|
step4Title: 'Listing Live',
|
||||||
step4Info: 'Publish and your design goes live on the marketplace.',
|
step4Info: 'Publish and your design goes live on the marketplace.',
|
||||||
showAgain: 'Don’t show me again',
|
showAgain: 'Don’t show this again for 7 days',
|
||||||
GetStarted: 'Get Started',
|
GetStarted: 'Get Started',
|
||||||
},
|
},
|
||||||
SellerListEdit:{
|
SellerListEdit:{
|
||||||
|
|||||||
@@ -594,13 +594,18 @@
|
|||||||
if (!validatePublishRequired()) return
|
if (!validatePublishRequired()) return
|
||||||
|
|
||||||
await handleSaveForm(status)
|
await handleSaveForm(status)
|
||||||
|
|
||||||
|
// 从 sessionStorage 获取参数
|
||||||
|
const paramsStr = sessionStorage.getItem('listingEditParams')
|
||||||
|
const params = paramsStr ? JSON.parse(paramsStr) : {}
|
||||||
|
|
||||||
if (status === "draft") {
|
if (status === "draft") {
|
||||||
ROUTER.push({
|
ROUTER.push({
|
||||||
name: "Status",
|
name: "Status",
|
||||||
params: { status: "draft" },
|
params: { status: "draft" },
|
||||||
state: {
|
state: {
|
||||||
type: history.state?.type,
|
type: params.type,
|
||||||
collectionId: history.state?.collectionId
|
collectionId: params.collectionId
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else if (status === "publish") {
|
} else if (status === "publish") {
|
||||||
@@ -608,8 +613,8 @@
|
|||||||
name: "Status",
|
name: "Status",
|
||||||
params: { status: "publish" },
|
params: { status: "publish" },
|
||||||
state: {
|
state: {
|
||||||
type: history.state?.type,
|
type: params.type,
|
||||||
collectionId: history.state?.collectionId
|
collectionId: params.collectionId
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -642,12 +647,15 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
const data = history.state
|
// 从 sessionStorage 获取参数
|
||||||
|
const paramsStr = sessionStorage.getItem('listingEditParams')
|
||||||
|
const data = paramsStr ? JSON.parse(paramsStr) : {}
|
||||||
|
|
||||||
if (data?.type === "edit") {
|
if (data?.type === "edit") {
|
||||||
itemId.value = history.state?.id
|
itemId.value = data?.id
|
||||||
handleGetDetailById()
|
handleGetDetailById()
|
||||||
} else {
|
} else {
|
||||||
const designItemIds = history.state?.designItemIds || []
|
const designItemIds = data?.designItemIds || []
|
||||||
|
|
||||||
if (!designItemIds.length) return
|
if (!designItemIds.length) return
|
||||||
|
|
||||||
@@ -659,6 +667,7 @@
|
|||||||
// console.log("list", list.length, list)
|
// console.log("list", list.length, list)
|
||||||
handleFetchItemDetial(list)
|
handleFetchItemDetial(list)
|
||||||
}
|
}
|
||||||
|
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -55,26 +55,28 @@ defineExpose({getCreateList})
|
|||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<div class="historyList">
|
<div class="historyList">
|
||||||
<div class="list">
|
<div class="listBox">
|
||||||
<div v-for="(item,index) in list" :key="index" class="item" @click="selectCollectionItem(item)">
|
<div class="list">
|
||||||
<div class="imgList">
|
<div v-for="(item,index) in list" :key="index" class="item" @click="selectCollectionItem(item)">
|
||||||
<div v-if="item.userLikeGroupVO?.groupDetails?.length > 0" v-for="(img,index) in item.userLikeGroupVO?.groupDetails.slice(0, 4)" :key="index" class="img">
|
<div class="imgList">
|
||||||
<img :src="img.url" alt="">
|
<div v-if="item.userLikeGroupVO?.groupDetails?.length > 0" v-for="(img,index) in item.userLikeGroupVO?.groupDetails.slice(0, 4)" :key="index" class="img">
|
||||||
|
<img :src="img.url" alt="">
|
||||||
|
</div>
|
||||||
|
<div v-else class="img null">
|
||||||
|
<img src="@/assets/images/seller/selectCollectionNullStatus.png" alt="">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-else class="img null">
|
<div class="detail">
|
||||||
<img src="@/assets/images/seller/selectCollectionNullStatus.png" alt="">
|
<div class="name">{{item.name}}</div>
|
||||||
|
<div class="bottom">
|
||||||
|
<div>{{item.userLikeGroupVO?.groupDetails?.length || 0}} {{ $t('Seller.sketchs') }}</div>
|
||||||
|
<div>{{setPubDate(item.updateTime,t)}}</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="type" :class="item.type">
|
||||||
<div class="detail">
|
{{item.process == "SERIES_DESIGN"?"Series":"Single"}}
|
||||||
<div class="name">{{item.name}}</div>
|
|
||||||
<div class="bottom">
|
|
||||||
<div>{{item.userLikeGroupVO?.groupDetails?.length || 0}} {{ $t('Seller.sketchs') }}</div>
|
|
||||||
<div>{{setPubDate(item.updateTime,t)}}</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="type" :class="item.type">
|
|
||||||
{{item.process == "SERIES_DESIGN"?"Series":"Single"}}
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="pagination">
|
<div class="pagination">
|
||||||
@@ -94,105 +96,110 @@ defineExpose({getCreateList})
|
|||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin-top: 3rem;
|
margin-top: 3rem;
|
||||||
> .list{
|
> .listBox{
|
||||||
height: 100%;
|
height: 100%;
|
||||||
overflow: hidden;
|
|
||||||
display: grid;
|
|
||||||
grid-template-columns: repeat(3, 1fr);
|
|
||||||
row-gap: 2.4rem; /* 垂直间距 3px */
|
|
||||||
column-gap: 3.2rem; /* 横向间距 2px */
|
|
||||||
align-content: start;
|
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
&::-webkit-scrollbar{
|
&::-webkit-scrollbar{
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
> .item{
|
> .list{
|
||||||
width: 42.6rem;
|
display: grid;
|
||||||
height: auto;
|
grid-template-columns: repeat(3, 1fr);
|
||||||
// height: 27.6rem;
|
row-gap: 2.4rem; /* 垂直间距 3px */
|
||||||
border: 1.5px solid #C7C7C7;
|
column-gap: 3.2rem; /* 横向间距 2px */
|
||||||
position: relative;
|
align-content: start;
|
||||||
overflow: hidden;
|
&::-webkit-scrollbar{
|
||||||
border-radius: 2rem;
|
display: none;
|
||||||
cursor: pointer;
|
|
||||||
transition: all .3s;
|
|
||||||
> .imgList{
|
|
||||||
background-color: #eaeaea;
|
|
||||||
height: 19.2rem;
|
|
||||||
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;
|
|
||||||
&.null{
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
> img{
|
|
||||||
object-fit: contain;
|
|
||||||
height: 100%;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
> .detail{
|
> .item{
|
||||||
padding: 2rem 2.4rem;
|
width: 42.6rem;
|
||||||
> .name{
|
height: auto;
|
||||||
font-family: pingfang_heavy;
|
// height: 27.6rem;
|
||||||
font-weight: 400;
|
border: 1.5px solid #C7C7C7;
|
||||||
font-size: 1.797rem;
|
position: relative;
|
||||||
line-height: 1;
|
overflow: hidden;
|
||||||
}
|
|
||||||
> .bottom{
|
|
||||||
display: flex;
|
|
||||||
margin-top: .8rem;
|
|
||||||
justify-content: space-between;
|
|
||||||
> div{
|
|
||||||
font-size: 1.2rem;
|
|
||||||
font-family: pingfang_regular;
|
|
||||||
font-weight: 400;
|
|
||||||
font-size: 1.6rem;
|
|
||||||
line-height: 1;
|
|
||||||
color: #585858;
|
|
||||||
}
|
|
||||||
> div:nth-child(2){
|
|
||||||
color: #979797;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
> .type{
|
|
||||||
width: 7.6rem;
|
|
||||||
height: 3rem;
|
|
||||||
border-radius: 2rem;
|
border-radius: 2rem;
|
||||||
border: 1px solid #727070;
|
cursor: pointer;
|
||||||
background: #7E7C7C;
|
transition: all .3s;
|
||||||
font-weight: 500;
|
> .imgList{
|
||||||
font-size: 1.4rem;
|
background-color: #eaeaea;
|
||||||
line-height: 150%;
|
height: 19.2rem;
|
||||||
color: #fff;
|
padding: 1rem 1.3rem;
|
||||||
position: absolute;
|
display: flex;
|
||||||
top: .5rem;
|
gap: .4rem;
|
||||||
right: .5rem;
|
justify-content: center;
|
||||||
display: flex;
|
> .img{
|
||||||
justify-content: center;
|
width: 9.7rem;
|
||||||
align-items: center;
|
height: 17.2rem;
|
||||||
&.Series{
|
border-radius: 1rem;
|
||||||
|
overflow: hidden;
|
||||||
|
background-color: #fff;
|
||||||
|
&.null{
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
> img{
|
||||||
|
object-fit: contain;
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
> .detail{
|
||||||
|
padding: 2rem 2.4rem;
|
||||||
|
> .name{
|
||||||
|
font-family: pingfang_heavy;
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 1.797rem;
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
> .bottom{
|
||||||
|
display: flex;
|
||||||
|
margin-top: .8rem;
|
||||||
|
justify-content: space-between;
|
||||||
|
> div{
|
||||||
|
font-size: 1.2rem;
|
||||||
|
font-family: pingfang_regular;
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 1.6rem;
|
||||||
|
line-height: 1;
|
||||||
|
color: #585858;
|
||||||
|
}
|
||||||
|
> div:nth-child(2){
|
||||||
|
color: #979797;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
> .type{
|
||||||
|
width: 7.6rem;
|
||||||
|
height: 3rem;
|
||||||
|
border-radius: 2rem;
|
||||||
|
border: 1px solid #727070;
|
||||||
|
background: #7E7C7C;
|
||||||
|
font-weight: 500;
|
||||||
|
font-size: 1.4rem;
|
||||||
|
line-height: 150%;
|
||||||
|
color: #fff;
|
||||||
|
position: absolute;
|
||||||
|
top: .5rem;
|
||||||
|
right: .5rem;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
&.Series{
|
||||||
|
|
||||||
|
}
|
||||||
|
&.Single{
|
||||||
|
background-color: #ffffff;
|
||||||
|
color: #727070;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
&.Single{
|
&:hover{
|
||||||
background-color: #ffffff;
|
border: 1.5px solid #000;
|
||||||
color: #727070;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
&:hover{
|
|
||||||
border: 1.5px solid #000;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
> .pagination{
|
> .pagination{
|
||||||
margin-top: 3rem;
|
margin-top: 3rem;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import { useRouter } from "vue-router"
|
|||||||
//])
|
//])
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
let getCollectionListData = reactive({
|
let getCollectionListData = reactive({
|
||||||
process: [],
|
process: ['SERIES_DESIGN','SINGLE_DESIGN'],
|
||||||
projectName: '',
|
projectName: '',
|
||||||
|
|
||||||
})
|
})
|
||||||
@@ -21,11 +21,7 @@ const handleSearch = () => {
|
|||||||
historyListRef.value.getCreateList()
|
historyListRef.value.getCreateList()
|
||||||
}
|
}
|
||||||
const setProcess = (type:any) => {
|
const setProcess = (type:any) => {
|
||||||
if(type){
|
getCollectionListData.process = type
|
||||||
getCollectionListData.process = [type]
|
|
||||||
}else{
|
|
||||||
getCollectionListData.process = []
|
|
||||||
}
|
|
||||||
historyListRef.value.getCreateList()
|
historyListRef.value.getCreateList()
|
||||||
}
|
}
|
||||||
const selectCollectionItem = (item:any) => {
|
const selectCollectionItem = (item:any) => {
|
||||||
@@ -44,9 +40,9 @@ defineExpose({})
|
|||||||
<div class="content">
|
<div class="content">
|
||||||
<div class="title">
|
<div class="title">
|
||||||
<div class="left">
|
<div class="left">
|
||||||
<div :class="{active:!getCollectionListData.process?.[0]}" @click="setProcess('')">{{$t('Seller.All')}}</div>
|
<div :class="{active:getCollectionListData.process?.includes('SERIES_DESIGN') && getCollectionListData.process?.includes('SINGLE_DESIGN')}" @click="setProcess(['SERIES_DESIGN','SINGLE_DESIGN'])">{{$t('Seller.All')}}</div>
|
||||||
<div :class="{active:getCollectionListData.process[0] == 'SERIES_DESIGN'}" @click="setProcess('SERIES_DESIGN')">{{$t('Seller.SeriesDesign')}}</div>
|
<div :class="{active:getCollectionListData.process[0] == 'SERIES_DESIGN' && getCollectionListData.process.length == 1}" @click="setProcess(['SERIES_DESIGN'])">{{$t('Seller.SeriesDesign')}}</div>
|
||||||
<div :class="{active:getCollectionListData.process[0] == 'SINGLE_DESIGN'}" @click="setProcess('SINGLE_DESIGN')">{{$t('Seller.SingleDesign')}}</div>
|
<div :class="{active:getCollectionListData.process[0] == 'SINGLE_DESIGN' && getCollectionListData.process.length == 1}" @click="setProcess(['SINGLE_DESIGN'])">{{$t('Seller.SingleDesign')}}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<div class="search_input flex flex-align-center">
|
<div class="search_input flex flex-align-center">
|
||||||
|
|||||||
@@ -57,13 +57,16 @@ const chooseItem = (item:any)=>{
|
|||||||
const next = ()=>{
|
const next = ()=>{
|
||||||
if(chooseList.value.length == 0)return
|
if(chooseList.value.length == 0)return
|
||||||
let designItemIds = chooseList.value.map((item:any)=>({designOutfitUrl:item.designOutfitUrl,designItemId:item.designItemId}))
|
let designItemIds = chooseList.value.map((item:any)=>({designOutfitUrl:item.designOutfitUrl,designItemId:item.designItemId}))
|
||||||
|
|
||||||
|
// 使用 sessionStorage 传递参数
|
||||||
|
sessionStorage.setItem('listingEditParams', JSON.stringify({
|
||||||
|
designItemIds,
|
||||||
|
type:'create',
|
||||||
|
collectionId: route.params.collectionId
|
||||||
|
}))
|
||||||
|
|
||||||
router.push({
|
router.push({
|
||||||
path:'/home/seller/myListings/edit',
|
path:'/home/seller/myListings/edit'
|
||||||
state: {
|
|
||||||
designItemIds,
|
|
||||||
type:'create',
|
|
||||||
collectionId: route.params.collectionId
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user