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") import("@/views/SellerDashboard/MyListings/createSelect/index.vue")
}, },
{ {
path: "select/:id", path: "select/:collectionId",
name: "myListingsSelectItem", name: "myListingsSelectItem",
meta: { enter: "all" }, meta: { enter: "all" },
component: () => component: () =>

View File

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

View File

@@ -1,116 +1,72 @@
<script setup lang="ts"> <script setup lang="ts">
import { ref, onMounted, onUnmounted, reactive, toRefs } from "vue"; 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([ const emit = defineEmits([
'selectCollectionItem', 'selectCollectionItem',
]) ])
const current = ref(1) const {t} = useI18n()
const page = ref(1)
const size = ref(6)
const total = ref(0)
const list = ref([ 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)=>{ const selectCollectionItem = (item:any)=>{
emit('selectCollectionItem',item) emit('selectCollectionItem',item)
} }
onMounted(()=>{ onMounted(()=>{
getCreateList()
}) })
onUnmounted(()=>{ onUnmounted(()=>{
}) })
defineExpose({}) defineExpose({getCreateList})
</script> </script>
<template> <template>
<div class="historyList"> <div class="historyList">
<div class="list"> <div class="list">
<div v-for="(item,index) in list" :key="index" class="item" @click="selectCollectionItem(item)"> <div v-for="(item,index) in list" :key="index" class="item" @click="selectCollectionItem(item)">
<div class="imgList"> <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=""> <img :src="img.url" alt="">
</div> </div>
</div> </div>
<div class="detail"> <div class="detail">
<div class="name">{{item.name}}</div> <div class="name">{{item.name}}</div>
<div class="bottom"> <div class="bottom">
<div>{{item.sketchNum}} sketchs</div> <div>{{item.userLikeGroupVO?.groupDetails?.length || 0}} sketchs</div>
<div>{{item.date}}</div> <div>{{setPubDate(item.updateTime,t)}}</div>
</div> </div>
</div> </div>
<div class="type" :class="item.type"> <div class="type" :class="item.type">
{{item.type}} {{item.process == "SERIES_DESIGN"?"Series":"Single"}}
</div> </div>
</div> </div>
</div> </div>
<div class="pagination"> <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>
</div> </div>
</template> </template>
@@ -154,11 +110,13 @@ defineExpose({})
padding: 1rem 1.3rem; padding: 1rem 1.3rem;
display: flex; display: flex;
gap: .4rem; gap: .4rem;
justify-content: center;
> .img{ > .img{
width: 9.7rem; width: 9.7rem;
height: 17.2rem; height: 17.2rem;
border-radius: 1rem; border-radius: 1rem;
overflow: hidden; overflow: hidden;
background-color: #fff;
> img{ > img{
object-fit: cover; object-fit: cover;
height: 100%; height: 100%;

View File

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

View File

@@ -3,6 +3,9 @@ import { ref, onMounted, onUnmounted, reactive, toRefs } from "vue";
import sellerHeader from "../../seller-header.vue" import sellerHeader from "../../seller-header.vue"
import { VueDraggable } from "vue-draggable-plus" import { VueDraggable } from "vue-draggable-plus"
import selectMenu from '@/component/modules/selectMenu.vue' import selectMenu from '@/component/modules/selectMenu.vue'
import { Https } from '@/tool/https'
import { useRoute } from 'vue-router'
import { useStore } from 'vuex'
//const props = defineProps({ //const props = defineProps({
//}) //})
@@ -10,6 +13,8 @@ import selectMenu from '@/component/modules/selectMenu.vue'
//]) //])
let data = reactive({ let data = reactive({
}) })
const store = useStore()
const route = useRoute()
const domSize = ref('Small') const domSize = ref('Small')
const domSizeList = ref([ const domSizeList = ref([
{ {
@@ -26,17 +31,8 @@ const domSizeList = ref([
}, },
]) ])
const list = 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 chooseList = ref([])
const chooseItem = (item:any)=>{ const chooseItem = (item:any)=>{
chooseList.value.push(item) chooseList.value.push(item)
@@ -89,6 +85,32 @@ const changeDomSize = ()=>{
setDomSize(listingsBoxRef.value.clientWidth) setDomSize(listingsBoxRef.value.clientWidth)
},350) },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(()=>{ onMounted(()=>{
// 创建观察器 // 创建观察器
nextTick(()=>{ nextTick(()=>{
@@ -105,6 +127,7 @@ onMounted(()=>{
// 开始监听 // 开始监听
if(resizeObserver)resizeObserver.observe(listingsBoxRef.value) if(resizeObserver)resizeObserver.observe(listingsBoxRef.value)
}) })
getCollectionDetail()
}) })
onUnmounted(()=>{ onUnmounted(()=>{
}) })
@@ -112,7 +135,7 @@ defineExpose({})
const {} = toRefs(data); const {} = toRefs(data);
</script> </script>
<template> <template>
<div class="myListings-seller"> <div class="create-select-item">
<seller-header <seller-header
title="Select Collection" title="Select Collection"
:breadcrumbs="[ :breadcrumbs="[
@@ -143,27 +166,6 @@ const {} = toRefs(data);
</div> </div>
<div class="right"> <div class="right">
<div class="generalModel_state"> <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> <div>
<selectMenu <selectMenu
:selectList="domSizeList" :selectList="domSizeList"
@@ -188,7 +190,7 @@ const {} = toRefs(data);
</div> </div>
</div> </div>
<VueDraggable <VueDraggable
v-model="list" v-model="showList"
class="list" class="list"
:class="domSize" :class="domSize"
v-bind="config" v-bind="config"
@@ -208,13 +210,14 @@ const {} = toRefs(data);
<div class="choose"> <div class="choose">
<i class="fi fi-rr-check"></i> <i class="fi fi-rr-check"></i>
</div> </div>
<img :src="v.designOutfitUrl || v.url" alt="">
</div> </div>
</VueDraggable> </VueDraggable>
</div> </div>
</div> </div>
</template> </template>
<style scoped lang="less"> <style scoped lang="less">
.myListings-seller { .create-select-item {
width: 100%; width: 100%;
height: 100%; height: 100%;
overflow: hidden; overflow: hidden;
@@ -329,6 +332,9 @@ const {} = toRefs(data);
border: 1.5px solid #C7C7C7; border: 1.5px solid #C7C7C7;
// transition: all .3s; // transition: all .3s;
position: relative; position: relative;
overflow: hidden;
display: flex;
justify-content: center;
> .choose{ > .choose{
display: flex; display: flex;
width: var(--iconWH); width: var(--iconWH);
@@ -347,6 +353,10 @@ const {} = toRefs(data);
display: flex; display: flex;
} }
} }
> img{
height: 100%;
object-fit: cover;
}
&.active{ &.active{
border: 1.5px solid #000; border: 1.5px solid #000;
> .choose{ > .choose{