diff --git a/src/assets/images/seller/selectCollectionNullStatus.png b/src/assets/images/seller/selectCollectionNullStatus.png
new file mode 100644
index 00000000..56ecc260
Binary files /dev/null and b/src/assets/images/seller/selectCollectionNullStatus.png differ
diff --git a/src/component/Administrator/allUser.vue b/src/component/Administrator/allUser.vue
index 481ec0f6..97c47775 100644
--- a/src/component/Administrator/allUser.vue
+++ b/src/component/Administrator/allUser.vue
@@ -1,529 +1,585 @@
-
-
-
-
-
Create Time:
-
-
-
-
-
-
-
-
-
Country or Region:
+
-
- Email:
-
-
-
-
-
-
-
-
-
- Nearly a year
-
-
- Last month
-
-
- Last week
-
-
-
-
-
+
+
+
+
+
+
Orgnization:
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+ Nearly a year
+
+
+ Last month
+
+
Last week
+
-
-
-
+
+
+
+
+
+
\ No newline at end of file
+
diff --git a/src/component/Administrator/subscriptionPlan.vue b/src/component/Administrator/subscriptionPlan.vue
index 2ba9f564..a52a555e 100644
--- a/src/component/Administrator/subscriptionPlan.vue
+++ b/src/component/Administrator/subscriptionPlan.vue
@@ -1,1133 +1,1536 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
- + Create Organization
-
-
- {{ item.name }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Search
- Reset
-
-
-
-
+
+
+
+
+
+
+ + Create Organization
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Search
+ Reset
+
+
+
+
-
-
-
-
-
-
- {{ formatTime(record[column.key], 'YYYY-MM-DD hh:mm:ss') }}
-
+
+
+
+
+
+
+ {{ formatTime(record[column.key], "YYYY-MM-DD hh:mm:ss") }}
+
-
-
- {{ record.status }}
-
-
+
+
+ {{ record.status }}
+
+
-
-
- Edit
-
- Delete
-
-
-
-
-
-
-
+
+
+ Edit
+
+ Delete
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
- Organization:
- *
-
-
-
- + Create Organization
-
-
- {{ item.name }}
-
-
-
-
-
- Country Or Region:
- *
-
-
-
-
-
- Admin Account:
- *
-
-
-
-
-
- Start Time:
- *
-
-
-
-
-
-
-
-
-
- End Time:
- *
-
-
-
-
-
-
-
-
-
- Sub-Account Num:
- *
-
-
-
-
-
- Credit Limit:
- *
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ formatUserTime(record[column.key]) }}
+
+
+ {{ getSystemUserLabel(record.systemUser) }}
+
+
+ {{ record.isBeginner == 1 ? "Yes" : "No" }}
+
+
+
+
-
-
-
-
-
-
-
-
- Type:
- *
-
-
- Enterprise
- Education
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+ Organization:
+ *
+
+
+
+ + Create Organization
+
+
+ {{ item.name }}
+
+
+
+
+
+ Country Or Region:
+ *
+
+
+
+
+
+ Admin Account:
+ *
+
+
+
+
+
+ Start Time:
+ *
+
+
+
+
+
+
+
+
+
+ End Time:
+ *
+
+
+
+
+
+
+
+
+
+ Sub-Account Num:
+ *
+
+
+
+
+
+ Credit Limit:
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Type:
+ *
+
+
+ Enterprise
+ Education
+
+
+
+
+
+
+
diff --git a/src/lang/cn.ts b/src/lang/cn.ts
index 3772aedb..7ecc8c7a 100644
--- a/src/lang/cn.ts
+++ b/src/lang/cn.ts
@@ -1737,7 +1737,7 @@ export default {
GetStarted: '开始体验',
},
SellerListEdit:{
- saveDraft: "保存草稿",
+ saveDraft: "全部保存",
publish: "发布",
sketch: "线稿图",
mainProductImage: "产品主图",
diff --git a/src/lang/en.ts b/src/lang/en.ts
index 6a621158..2653c745 100644
--- a/src/lang/en.ts
+++ b/src/lang/en.ts
@@ -1788,7 +1788,7 @@ export default {
GetStarted: 'Get Started',
},
SellerListEdit:{
- saveDraft:'Save Draft',
+ saveDraft:'Save All New',
publish:'Publish',
sketch:'Sketch',
mainProductImage:'Main Product Image',
diff --git a/src/views/SellerDashboard/BrandProfile/image-clip-dialog.vue b/src/views/SellerDashboard/BrandProfile/image-clip-dialog.vue
index 399f15c3..6fb34a98 100644
--- a/src/views/SellerDashboard/BrandProfile/image-clip-dialog.vue
+++ b/src/views/SellerDashboard/BrandProfile/image-clip-dialog.vue
@@ -144,7 +144,6 @@ const open = (url, callback, options, origin) => {
coverOrigin.value = origin
data.url = origin[0].url
}
- console.log("-------", origin)
show.value = true
}
const onCancel = () => {
diff --git a/src/views/SellerDashboard/BrandProfile/image-clip.vue b/src/views/SellerDashboard/BrandProfile/image-clip.vue
index ffeb2f9f..189a1ec5 100644
--- a/src/views/SellerDashboard/BrandProfile/image-clip.vue
+++ b/src/views/SellerDashboard/BrandProfile/image-clip.vue
@@ -204,23 +204,23 @@
.cropper-box-canvas {
background-color: #ffffff;
- img {
- height: 100%;
- }
+ // img {
+ // height: 100%;
+ // }
}
}
&.is-cover {
:deep(.vue-cropper) {
overflow: hidden;
}
- :deep(.cropper-box-canvas) {
- width: 31.1rem !important;
- left: 50% !important;
- transform: translateX(-50%) !important;
- img {
- display: none;
- }
- }
+ // :deep(.cropper-box-canvas) {
+ // width: 31.1rem !important;
+ // left: 50% !important;
+ // transform: translateX(-50%) !important;
+ // img {
+ // display: none;
+ // }
+ // }
}
}
diff --git a/src/views/SellerDashboard/MyListings/EditDetail/components/ApparelSketchList.vue b/src/views/SellerDashboard/MyListings/EditDetail/components/ApparelSketchList.vue
new file mode 100644
index 00000000..af4230a2
--- /dev/null
+++ b/src/views/SellerDashboard/MyListings/EditDetail/components/ApparelSketchList.vue
@@ -0,0 +1,86 @@
+
+
+
+
+
+ {{ $t("SellerListEdit.apparelSketchTitle") }}
+ {{ $t("SellerListEdit.apparelSketchSubTitle") }}
+
+
+
+
![]()
+
+
+
+
+
+
+
+
+
diff --git a/src/views/SellerDashboard/MyListings/EditDetail/components/ListingForm.vue b/src/views/SellerDashboard/MyListings/EditDetail/components/ListingForm.vue
new file mode 100644
index 00000000..a9791459
--- /dev/null
+++ b/src/views/SellerDashboard/MyListings/EditDetail/components/ListingForm.vue
@@ -0,0 +1,222 @@
+
+
+
+
+
+
+
diff --git a/src/views/SellerDashboard/MyListings/EditDetail/components/ProductImageList.vue b/src/views/SellerDashboard/MyListings/EditDetail/components/ProductImageList.vue
new file mode 100644
index 00000000..e9c4c972
--- /dev/null
+++ b/src/views/SellerDashboard/MyListings/EditDetail/components/ProductImageList.vue
@@ -0,0 +1,154 @@
+
+
+
+
+
+
+ {{ $t("SellerListEdit.productImageMainTitle") }}
+ {{ $t("SellerListEdit.productImageSubTitle") }}
+
+
{{ selectedCount }}/{{ imageList.length }} selected
+
+
+
+

+
![]()
+
+ main
+
+
+
+
+
+
+
diff --git a/src/views/SellerDashboard/MyListings/EditDetail/components/Radio.vue b/src/views/SellerDashboard/MyListings/EditDetail/components/Radio.vue
index c746dbe7..ff0b9322 100644
--- a/src/views/SellerDashboard/MyListings/EditDetail/components/Radio.vue
+++ b/src/views/SellerDashboard/MyListings/EditDetail/components/Radio.vue
@@ -8,7 +8,7 @@
'radio-button',
{
'is-active': multiple
- ? selectedValues.includes(item.key)
+ ? selectedValues.includes(normalizeValue(item.key))
: modelValue === item.key
}
]"
@@ -20,54 +20,73 @@
diff --git a/src/views/SellerDashboard/MyListings/EditDetail/index.vue b/src/views/SellerDashboard/MyListings/EditDetail/index.vue
index 5fc83dda..b1438021 100644
--- a/src/views/SellerDashboard/MyListings/EditDetail/index.vue
+++ b/src/views/SellerDashboard/MyListings/EditDetail/index.vue
@@ -28,191 +28,32 @@
-
-
-
- {{ $t(topImageTitleMap[type]) }}
-
-
-
-
-
-
![]()
-
-
-
-
- {{ $t("SellerListEdit.cropDesc") }}
-
-
-
-
-
- {{ $t("SellerListEdit.productImageDesc") }}
-
-
-
-
-
-
-
-
-
- {{
- $t("SellerListEdit.productImageMainTitle")
- }}
- {{
- $t("SellerListEdit.productImageSubTitle")
- }}
-
-
- {{ selectedProdImgs }}/{{ prodImgList.length }} selected
-
-
-
-
-

-
![]()
-
- main
-
-
-
-
-
-
- {{
- $t("SellerListEdit.apparelSketchTitle")
- }}
-
- {{ $t("SellerListEdit.apparelSketchSubTitle") }}
-
-
-
-
![]()
-
-
-
-
-
-
+
+
+
-
+
@@ -602,362 +528,10 @@
height: 0;
}
- .required {
- &::after {
- content: "*";
- color: #df2b2c;
- margin-left: 0.4rem;
- }
- }
-
- .left {
- // flex: 1;
- // min-width: 0;
-
- .main-image-container {
- // max-width: 80.2rem;
- column-gap: 3.5rem;
- .main-image-item {
- flex-shrink: 0;
-
- .title {
- font-size: 1.4rem;
- margin-bottom: 0.8rem;
- text-align: center;
- }
-
- .sketch-item {
- width: 11.6rem;
- height: 20.4rem;
- border: 0.15rem solid #d1d1d1;
- border-radius: 1rem;
- position: relative;
- background-color: #f6f6f6;
- overflow: hidden;
-
- &.cover {
- width: 16.2rem;
- background-image: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' rx='11' ry='11' fill='none' stroke='%23D1D1D1' stroke-width='1.5' stroke-dasharray='8%2c 5' stroke-linecap='square'/%3e%3c/svg%3e");
- border: none;
- }
-
- .crop-tool {
- position: absolute;
- top: 0.8rem;
- right: 0.8rem;
- width: 2rem;
- height: 2rem;
- border-radius: 50%;
- background-color: #000000;
- z-index: 1;
- cursor: pointer;
- }
-
- .sketch-img {
- height: 100%;
- &.sketch {
- height: initial;
- width: 100%;
- }
- }
-
- .trigger {
- cursor: pointer;
- height: 100%;
- padding: 6rem 2rem 0;
- &,
- .cover-trigger {
- row-gap: 1.2rem;
- }
-
- .placeholder {
- width: 2.4rem;
- height: 2.4rem;
- border-radius: 0.6rem;
- background: linear-gradient(135deg, #efefef 0%, #cdcdcd 100%);
- }
-
- .trigger-tips {
- font-size: 1.2rem;
- text-align: center;
- color: #585858;
- line-height: 1.3;
- }
- }
- }
- }
- }
-
- .product-image-list-container {
- margin-top: 3rem;
-
- .title {
- font-size: 1.4rem;
- margin-bottom: 1.2rem;
-
- .main-title {
- font-weight: 400;
- font-style: bold;
- }
-
- .sub-title {
- font-size: 1.2rem;
- color: #999;
- }
-
- .title-right {
- color: #585858;
- font-size: 1.4rem;
- }
- }
-
- .product-image-list {
- overflow-x: auto;
- overflow-y: hidden;
- column-gap: 0.8rem;
- max-width: 80.2rem;
- padding-bottom: 1.2rem;
-
- &::-webkit-scrollbar {
- height: 0.8rem;
- }
-
- &::-webkit-scrollbar-track {
- background: #d9d9d9;
- border-radius: 0.8rem;
- }
-
- &::-webkit-scrollbar-thumb {
- background: #000000;
- border-radius: 0.8rem;
- }
-
- .product-image-item {
- width: 11.6rem;
- height: 20.6rem;
- border-radius: 1rem;
- border: 0.15rem solid #c7c7c7;
- position: relative;
- cursor: pointer;
- overflow: hidden;
- flex-shrink: 0;
-
- &::after {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- content: "";
- background-color: #fcfcfc;
- opacity: 0.7;
- border-radius: 1rem;
- }
-
- &.selected {
- border-color: #000;
-
- &::after {
- display: none;
- }
- }
-
- .checked {
- width: 2rem;
- height: 2rem;
- position: absolute;
- top: 0.8rem;
- right: 0.8rem;
- z-index: 1;
- }
-
- .img-src {
- height: 100%;
- }
-
- .main-pic {
- position: absolute;
- height: 2.4rem;
- line-height: 2.4rem;
- left: 0.8rem;
- right: 0.8rem;
- bottom: 0.8rem;
- z-index: 1;
- background: rgba(0, 0, 0, 0.8);
- color: #fff;
- font-size: 1.4rem;
- border-radius: 1.2rem;
- text-align: center;
- }
- }
- }
- }
-
- .apparel-container {
- margin-top: 3rem;
-
- .title {
- font-size: 1.4rem;
- margin-bottom: 0.8rem;
-
- .main-title {
- font-weight: 400;
- font-style: bold;
-
- &::after {
- content: "*";
- color: #df2b2c;
- }
- }
-
- .sub-title {
- font-size: 1.2rem;
- color: #999;
- }
- }
-
- .sketch-list-container {
- column-gap: 1rem;
- flex-wrap: wrap;
-
- .sketch-element {
- width: 10rem;
- height: 14.6rem;
- border: 0.15rem solid #c7c7c7;
- border-radius: 1.2rem;
- position: relative;
- overflow: hidden;
-
- .img-src {
- // height: 100%;
- width: 100%;
- }
-
- .crop-tool {
- position: absolute;
- top: 0.4rem;
- right: 0.4rem;
- width: 2rem;
- height: 2rem;
- border-radius: 50%;
- background-color: #000000;
- }
- }
- }
- }
- }
-
.right {
width: 55.2rem;
flex-shrink: 0;
- .form-container {
- row-gap: 3rem;
-
- .form-item {
- .form-item-label {
- font-size: 1.4rem;
- font-weight: 400;
- font-style: bold;
- margin-bottom: 0.6rem;
- line-height: 1.5;
-
- &.with-tip {
- display: flex;
- align-items: center;
- column-gap: 0.8rem;
- }
-
- .help-text {
- font-size: 1rem;
- color: #999;
- }
- }
-
- .form-item-value {
- border: 0.16rem solid #d1d1d1;
- border-radius: 1.2rem;
- position: relative;
- padding: 1.6rem;
- box-sizing: border-box;
- font-size: 1.2rem;
- color: #000;
-
- &.no-border {
- border: none;
- padding: 0;
- }
-
- &.price {
- column-gap: 0.6rem;
- }
-
- :deep(.ant-input),
- :deep(.ant-input-affix-wrapper),
- :deep(.ant-input-textarea textarea) {
- border: none;
- padding: 0;
- font-size: 1.2rem;
- color: #000;
- box-shadow: none;
- }
-
- :deep(.ant-input) {
- line-height: 1.5;
- }
-
- :deep(.ant-input-show-count-suffix) {
- color: #df2c2c;
- font-size: 1rem;
- }
-
- :deep(textarea.ant-input) {
- resize: none;
- min-height: 5.4rem;
- padding-bottom: 1.8rem;
- line-height: 1.5;
- }
-
- :deep(.ant-input-textarea-show-count) {
- position: relative;
- &::after {
- float: none;
- position: absolute;
- color: #df2c2c;
- bottom: 0;
- right: 1.6rem;
- }
- }
- }
- }
- }
-
- .license-note {
- padding: 1.6rem;
- column-gap: 1.6rem;
- background: #f7f7f7;
- border-radius: 0.8rem;
-
- .info-icon {
- width: 2.4rem;
- height: 2.4rem;
- flex-shrink: 0;
- }
-
- .note-copy {
- font-size: 1.2rem;
- line-height: 1.5;
- color: #000;
- font-weight: 400;
- font-style: medium;
-
- a {
- color: #0080ed;
- text-decoration: underline;
- margin-left: 0.4rem;
- }
- }
- }
.page-control {
justify-content: flex-end;
margin-top: 4rem;
diff --git a/src/views/SellerDashboard/MyListings/EditDetail/types.ts b/src/views/SellerDashboard/MyListings/EditDetail/types.ts
new file mode 100644
index 00000000..a2414647
--- /dev/null
+++ b/src/views/SellerDashboard/MyListings/EditDetail/types.ts
@@ -0,0 +1,47 @@
+export type RadioOption = {
+ name: string | number
+ value: string | number | boolean
+ key: string
+ optype: boolean
+}
+
+export type TopImageType = "sketch" | "mainProductImage" | "cover"
+export type CropType = TopImageType | "apparel"
+
+export type ListingItem = {
+ designItemId: number | string | null
+ sketch: string | null
+ mainProductImage: string
+ cover: string
+ productImage: string[]
+ apparelSketch: string[]
+ productName: string
+ price: string
+ desc: string
+ gender: string
+ category: string[] | null
+ prodImageList: Array<{
+ url: string
+ selected?: boolean
+ }>
+ sketchList: Array<{ url: string | null }>
+}
+
+export type ListingDetailImage = {
+ category?: string | null
+ imageUrl?: string | null
+ isSelected?: boolean | number | string | null
+ sortOrder?: number | null
+}
+
+export type ListingDetailResponse = {
+ id?: number | string | null
+ title?: string | null
+ description?: string | null
+ price?: number | string | null
+ designFor?: string | null
+ productCategory?: string | string[] | null
+ images?: ListingDetailImage[] | null
+}
+
+export type StatusType = "draft" | "publish"
diff --git a/src/views/SellerDashboard/MyListings/createSelect/historyList.vue b/src/views/SellerDashboard/MyListings/createSelect/historyList.vue
index bcd2ed6c..8452f7b6 100644
--- a/src/views/SellerDashboard/MyListings/createSelect/historyList.vue
+++ b/src/views/SellerDashboard/MyListings/createSelect/historyList.vue
@@ -41,7 +41,10 @@ const getCreateList = ()=>{
})
}
const selectCollectionItem = (item:any)=>{
- emit('selectCollectionItem',item)
+ console.log(item)
+ if(item.userLikeGroupVO?.groupDetails?.length > 0){
+ emit('selectCollectionItem',item)
+ }
}
onMounted(()=>{
getCreateList()
@@ -55,9 +58,12 @@ defineExpose({getCreateList})
-
+
+
+

+
{{item.name}}
@@ -123,6 +129,12 @@ defineExpose({getCreateList})
border-radius: 1rem;
overflow: hidden;
background-color: #fff;
+ &.null{
+ background-color: transparent;
+ > img{
+ object-fit: contain;
+ }
+ }
> img{
object-fit: cover;
height: 100%;
diff --git a/src/views/SellerDashboard/MyListings/createSelectItem/index.vue b/src/views/SellerDashboard/MyListings/createSelectItem/index.vue
index 9944930d..78653341 100644
--- a/src/views/SellerDashboard/MyListings/createSelectItem/index.vue
+++ b/src/views/SellerDashboard/MyListings/createSelectItem/index.vue
@@ -45,8 +45,8 @@ const next = ()=>{
router.push({
path:'/home/seller/myListings/edit',
state: {
- id:route.params.collectionId,
designItemIds,
+ type:'create'
}
})
}
@@ -83,7 +83,7 @@ const setDomSize = (width: number)=>{
if(!listingsBoxRef.value)return
let listDom = listingsBoxRef.value.querySelector('.list')
let listItemDom = listDom.querySelector('.item')
- let offsetWidth = listItemDom.getBoundingClientRect().width
+ let offsetWidth = listItemDom?.getBoundingClientRect?.()?.width
let lineNum = Math.floor(width / offsetWidth)
let itemNum = Math.floor((width - (lineNum - 1) * parseInt(gap.value[domSize.value])) / offsetWidth)
listDom.style.maxWidth = ((itemNum - 1) * parseInt(gap.value[domSize.value]) + itemNum * (offsetWidth)) + 'px'
diff --git a/src/views/SellerDashboard/MyListings/main/content.vue b/src/views/SellerDashboard/MyListings/main/content.vue
index 67634495..4e1dcfc5 100644
--- a/src/views/SellerDashboard/MyListings/main/content.vue
+++ b/src/views/SellerDashboard/MyListings/main/content.vue
@@ -5,6 +5,8 @@ import contentItem from "./contentItem.vue"
import selectMenu from '@/component/modules/selectMenu.vue'
import deleteDrafts from './deleteDrafts.vue'
import { Https } from '@/tool/https'
+import { message } from 'ant-design-vue'
+import { useRouter } from 'vue-router'
//const props = defineProps({
//})
@@ -63,10 +65,13 @@ const domSizeList = ref([
const visible = ref(false)
const deleteDraftsRef = ref(null)
+const router = useRouter()
const deleteDraft = (item: any)=>{
- deleteDraftsRef.value.open(()=>{
- list2.value = list2.value.filter((v: any)=>v.id != item.id)
+ deleteDraftsRef.value.open(item,()=>{
+ putListingStatus(item,2).then(()=>{
+ list2.value = list2.value.filter((v: any)=>v.id != item.id)
+ })
})
}
@@ -99,6 +104,7 @@ const getPublishedData = async ()=>{
}
await getPublishList(value).then((res)=>{
if(res.content.length == 0)publishData.isNoData = true
+ publishData.pageNum += 1
list.value.push(...res.content)
})
publishData.isShowMark = false
@@ -113,6 +119,7 @@ const getNoPublishedData = async ()=>{
}
await getPublishList(value).then((res)=>{
if(res.content.length == 0)noPublishData.isNoData = true
+ noPublishData.pageNum += 1
list2.value.push(...res.content)
})
noPublishData.isShowMark = false
@@ -127,28 +134,46 @@ const getPublishList = (data:any)=>{
})
}
-const putListingStatus = ()=>{
- let data = {
- id:'',
- status:'',
- }
- Https.axiosPut(Https.httpUrls.putListingStatus,data).then((res:any)=>{
+const putListingStatus = async (item,status:number)=>{
+ return new Promise
((resolve, reject) => {
+ let data = {
+ id:item.id,
+ status:status,
+ }
+ Https.axiosPut(Https.httpUrls.putListingStatus,data).then((res:any)=>{
+ resolve(res)
+ }).catch((err:any)=>{
+ reject(err)
+ })
})
}
-const draftListing = (item: any)=>{
+const draftListing = async (item: any)=>{
//数组前面添加item
- list2.value.unshift(item)
- list.value = list.value.filter((v: any)=>v.id != item.id)
+ await putListingStatus(item,0).then(()=>{
+ list2.value.unshift(item)
+ list.value = list.value.filter((v: any)=>v.id != item.id)
+ })
+ message.success('Product moved to drafts and stats reset.')
}
-const publishListing = (item: any)=>{
- list.value.unshift(item)
- list2.value = list2.value.filter((v: any)=>v.id != item.id)
+const publishListing = async (item: any)=>{
+ await putListingStatus(item,1).then(()=>{
+ list.value.unshift(item)
+ list2.value = list2.value.filter((v: any)=>v.id != item.id)
+ })
+ message.success('Item is now live on the Marketplace.')
}
const editListing = (item: any)=>{
+ router.push({
+ path:'/home/seller/myListings/edit',
+ state: {
+ id:item.id,
+ type:'edit'
+ }
+ })
}
@@ -167,7 +192,7 @@ const setDomSize = (width: number)=>{
if(!listingsBoxRef.value)return
let listDom = listingsBoxRef.value.querySelector('.list')
let listItemDom = listDom.querySelector('.item')
- let offsetWidth = listItemDom.getBoundingClientRect().width
+ let offsetWidth = listItemDom?.getBoundingClientRect?.()?.width
let lineNum = Math.floor(width / offsetWidth)
let itemNum = Math.floor((width - (lineNum - 1) * parseInt(gap.value[domSize.value])) / offsetWidth)
listDom.style.maxWidth = ((itemNum - 1) * parseInt(gap.value[domSize.value]) + itemNum * (offsetWidth)) + 'px'
diff --git a/src/views/SellerDashboard/MyListings/main/contentItem.vue b/src/views/SellerDashboard/MyListings/main/contentItem.vue
index f190ffcb..cc088540 100644
--- a/src/views/SellerDashboard/MyListings/main/contentItem.vue
+++ b/src/views/SellerDashboard/MyListings/main/contentItem.vue
@@ -32,7 +32,7 @@ const {} = toRefs(data);
-
![]()
+
@@ -50,21 +50,21 @@ const {} = toRefs(data);
-
item name
-
$1123
+
{{item.title}}
+
${{item.price}}
-
123
+
{{ item.salesVolume || 0 }}
-
123
+
{{ item.viewCount }}
@@ -128,6 +128,11 @@ const {} = toRefs(data);
position: relative;
height: var(--itemImgHeight);
width: 100%;
+ > img{
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+ }
> .maskBtn{
position: absolute;
width: 100%;
@@ -182,6 +187,7 @@ const {} = toRefs(data);
gap: var(--detailRightItemGap);
flex-direction: column;
justify-content: space-between;
+ align-items: center;
> div{
color: var(--rightColor);
display: flex;
diff --git a/src/views/SellerDashboard/MyListings/main/deleteDrafts.vue b/src/views/SellerDashboard/MyListings/main/deleteDrafts.vue
index 04287917..4009e679 100644
--- a/src/views/SellerDashboard/MyListings/main/deleteDrafts.vue
+++ b/src/views/SellerDashboard/MyListings/main/deleteDrafts.vue
@@ -15,12 +15,13 @@ const router = useRouter()
const {t} = useI18n()
let data = reactive({
})
-
+const item = ref
()
const fun = ref(null)
let deleteDraftsRef = ref(null)
-const open = (deleteFun)=>{
+const open = (data:any,deleteFun)=>{
+ item.value = data
fun.value = deleteFun
emit('update:visible', true)
}
@@ -35,6 +36,7 @@ const deleteDrafts = ()=>{
const cleardata = ()=>{
+ item.value = null
emit('update:visible', false)
}
@@ -78,11 +80,11 @@ const { showAgain } = toRefs(data);
-
![]()
+
-
Item Name
-
HK$392.00 · Draft
+
{{ item?.value?.title }}
+
HK${{ item?.value?.price }} · Draft