Merge branch 'dev_vite' of http://18.167.251.121:10003/aidlab/aida_front into dev_vite
This commit is contained in:
@@ -1831,5 +1831,27 @@ export default {
|
||||
stopSellingTitle: "停用卖家账户",
|
||||
stopSellingTip: "永久停用您的卖家账户。所有商品列表和发票记录将被删除。您以后可以重新注册为卖家,但您的先前销售数据无法恢复。",
|
||||
deactivate: "停用卖家账户",
|
||||
newListing: "新建商品",
|
||||
draftMessage: '商品已保存为草稿。您可以继续编辑,或稍后在“我的商品”中发布。',
|
||||
publishMessage: '商品现已上架。买家可以浏览并购买您的设计。',
|
||||
ActiveListings: '已发布商品',
|
||||
Drafts: '草稿',
|
||||
Cancel: '取消',
|
||||
Delete: '删除',
|
||||
DeleteConfirm: '确认删除吗?',
|
||||
DeleteDesc: '删除后,商品将无法恢复。',
|
||||
Edit: '编辑',
|
||||
Draft: '草稿',
|
||||
Publish: '发布',
|
||||
sketchesSelected: '已选择的线稿图',
|
||||
Next: '下一步',
|
||||
All: '全部',
|
||||
SeriesDesign: '系列设计',
|
||||
SingleDesign: '单设计商品',
|
||||
sketchs: '线稿图',
|
||||
MyListings: '我的商品',
|
||||
MyListingsInfo: '已发布商品和未发布库存',
|
||||
SelectCollection: '选择商品',
|
||||
SelectSketch: '选择线稿图',
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1885,5 +1885,27 @@ export default {
|
||||
stopSellingTitle: "Deactivate seller account",
|
||||
stopSellingTip: "Permanently deactivate your seller account. All listings and invoice records will be deleted. You may re-register as a seller in the future, but your previous sales data cannot be recovered.",
|
||||
deactivate: "Deactivate",
|
||||
newListing: "New Listing",
|
||||
draftMessage: 'Product moved to drafts and stats reset.',
|
||||
publishMessage: 'Item is now live on the Marketplace.',
|
||||
ActiveListings: 'Active Listings',
|
||||
Drafts: 'Drafts',
|
||||
Cancel: 'Cancel',
|
||||
Delete: 'Delete',
|
||||
DeleteConfirm: 'Delete this listing?',
|
||||
DeleteDesc: 'Your listing and its details will be permanently removed.',
|
||||
Edit: 'Edit',
|
||||
Draft: 'Draft',
|
||||
Publish: 'Publish',
|
||||
sketchesSelected: 'Sketches selected',
|
||||
Next: 'Next',
|
||||
All: 'All',
|
||||
SeriesDesign: 'Series Design',
|
||||
SingleDesign: 'Single Design',
|
||||
sketchs: 'sketches',
|
||||
MyListings: 'My Listings',
|
||||
MyListingsInfo: 'Active listings and unpublished inventory',
|
||||
SelectCollection: 'Select Collection',
|
||||
SelectSketch: 'Select Sketch',
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,15 +13,15 @@ type SellerBreadcrumbItem = {
|
||||
type SellerBreadcrumbList = SellerRouteMetaValue<SellerBreadcrumbItem[]>
|
||||
|
||||
const myListingsBreadcrumb: SellerBreadcrumbItem = {
|
||||
title: "My Listings",
|
||||
title: "Seller.MyListings",
|
||||
to: { name: "myListingsIndex" }
|
||||
}
|
||||
const selectCollectionBreadcrumb: SellerBreadcrumbItem = {
|
||||
title: "Select Collection",
|
||||
title: "Seller.SelectCollection",
|
||||
to: { name: "myListingsSelect" }
|
||||
}
|
||||
const selectSketchBreadcrumb: SellerBreadcrumbItem = {
|
||||
title: "Select Sketch",
|
||||
title: "Seller.SelectSketch",
|
||||
to: (route) => {
|
||||
const collectionId =
|
||||
route.params.collectionId ||
|
||||
@@ -257,8 +257,8 @@ const routes: Array<RouteRecordRaw> = [
|
||||
name: "myListingsIndex",
|
||||
meta: {
|
||||
enter: "all",
|
||||
sellerHeaderTitle: "My Listings",
|
||||
sellerHeaderTip: "Active listings and unpublished inventory.",
|
||||
sellerHeaderTitle: "Seller.MyListings",
|
||||
sellerHeaderTip: "Seller.MyListingsInfo",
|
||||
sellerBreadcrumbs: [myListingsBreadcrumb]
|
||||
},
|
||||
component: () =>
|
||||
@@ -269,7 +269,7 @@ const routes: Array<RouteRecordRaw> = [
|
||||
name: "myListingsSelect",
|
||||
meta: {
|
||||
enter: "all",
|
||||
sellerHeaderTitle: "Select Collection",
|
||||
sellerHeaderTitle: "Seller.SelectCollection",
|
||||
sellerBreadcrumbs: [
|
||||
myListingsBreadcrumb,
|
||||
selectCollectionBreadcrumb
|
||||
@@ -284,7 +284,7 @@ const routes: Array<RouteRecordRaw> = [
|
||||
meta: {
|
||||
enter: "all",
|
||||
cache: true,
|
||||
sellerHeaderTitle: "Select Collection",
|
||||
sellerHeaderTitle: "Seller.SelectCollection",
|
||||
sellerBreadcrumbs: [
|
||||
myListingsBreadcrumb,
|
||||
selectCollectionBreadcrumb,
|
||||
|
||||
@@ -68,7 +68,7 @@ defineExpose({getCreateList})
|
||||
<div class="detail">
|
||||
<div class="name">{{item.name}}</div>
|
||||
<div class="bottom">
|
||||
<div>{{item.userLikeGroupVO?.groupDetails?.length || 0}} sketchs</div>
|
||||
<div>{{item.userLikeGroupVO?.groupDetails?.length || 0}} {{ $t('Seller.sketchs') }}</div>
|
||||
<div>{{setPubDate(item.updateTime,t)}}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -44,9 +44,9 @@ defineExpose({})
|
||||
<div class="content">
|
||||
<div class="title">
|
||||
<div class="left">
|
||||
<div :class="{active:!getCollectionListData.process?.[0]}" @click="setProcess('')">All</div>
|
||||
<div :class="{active:getCollectionListData.process[0] == 'SERIES_DESIGN'}" @click="setProcess('SERIES_DESIGN')">Series Design</div>
|
||||
<div :class="{active:getCollectionListData.process[0] == 'SINGLE_DESIGN'}" @click="setProcess('SINGLE_DESIGN')">Single Design</div>
|
||||
<div :class="{active:!getCollectionListData.process?.[0]}" @click="setProcess('')">{{$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] == 'SINGLE_DESIGN'}" @click="setProcess('SINGLE_DESIGN')">{{$t('Seller.SingleDesign')}}</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="search_input flex flex-align-center">
|
||||
|
||||
@@ -6,11 +6,13 @@ import selectMenu from '@/component/modules/selectMenu.vue'
|
||||
import { Https } from '@/tool/https'
|
||||
import { useRoute } from 'vue-router'
|
||||
import { useStore } from 'vuex'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
|
||||
// 定义组件名称
|
||||
defineOptions({
|
||||
name: 'myListingsSelectItem'
|
||||
})
|
||||
const { t } = useI18n()
|
||||
//const props = defineProps({
|
||||
//})
|
||||
//const emit = defineEmits([
|
||||
@@ -22,15 +24,15 @@ const route = useRoute()
|
||||
const domSize = ref('Small')
|
||||
const domSizeList = ref([
|
||||
{
|
||||
label:'Small',
|
||||
label:t('Header.Small'),
|
||||
value:'Small',
|
||||
},
|
||||
{
|
||||
label:'Medium',
|
||||
label:t('Header.Medium'),
|
||||
value:'Medium',
|
||||
},
|
||||
{
|
||||
label:'Large',
|
||||
label:t('Header.Large'),
|
||||
value:'Large',
|
||||
},
|
||||
])
|
||||
@@ -158,10 +160,10 @@ const {} = toRefs(data);
|
||||
<template #right>
|
||||
<div class="header-right">
|
||||
<div class="chooseNum">
|
||||
{{ chooseList.length }} sketches selected
|
||||
{{ chooseList.length }} {{ t('Seller.sketchesSelected') }}
|
||||
</div>
|
||||
<div class="button" @click="next">
|
||||
<span>Next</span>
|
||||
<span>{{ $t('Seller.Next') }}</span>
|
||||
<div class="icon">
|
||||
<i class="fi fi-rr-arrow-small-right"></i>
|
||||
</div>
|
||||
@@ -173,7 +175,7 @@ const {} = toRefs(data);
|
||||
<div class="title">
|
||||
<div class="left">
|
||||
<i class="fi fi-rs-comments"></i>
|
||||
<span>Active Listings</span>
|
||||
<span>{{ $t('Seller.ActiveListings') }}</span>
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="generalModel_state">
|
||||
|
||||
@@ -7,11 +7,13 @@ import deleteDrafts from './deleteDrafts.vue'
|
||||
import { Https } from '@/tool/https'
|
||||
import { message } from 'ant-design-vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
|
||||
//const props = defineProps({
|
||||
//})
|
||||
//const emit = defineEmits([
|
||||
//])
|
||||
const { t:$t } = useI18n()
|
||||
let data = reactive({
|
||||
showDrafts: false,
|
||||
})
|
||||
@@ -50,15 +52,15 @@ const config = ref({
|
||||
const domSize = ref('Small')
|
||||
const domSizeList = ref([
|
||||
{
|
||||
label:'Small',
|
||||
label:$t('Header.Small'),
|
||||
value:'Small',
|
||||
},
|
||||
{
|
||||
label:'Medium',
|
||||
label:$t('Header.Medium'),
|
||||
value:'Medium',
|
||||
},
|
||||
{
|
||||
label:'Large',
|
||||
label:$t('Header.Large'),
|
||||
value:'Large',
|
||||
},
|
||||
])
|
||||
@@ -155,7 +157,7 @@ const draftListing = async (item: any)=>{
|
||||
list2.value.unshift(item)
|
||||
list.value = list.value.filter((v: any)=>v.id != item.id)
|
||||
})
|
||||
message.success('Product moved to drafts and stats reset.')
|
||||
message.success(t('Seller.draftMessage'))
|
||||
}
|
||||
|
||||
const publishListing = async (item: any)=>{
|
||||
@@ -163,7 +165,7 @@ const publishListing = async (item: any)=>{
|
||||
list.value.unshift(item)
|
||||
list2.value = list2.value.filter((v: any)=>v.id != item.id)
|
||||
})
|
||||
message.success('Item is now live on the Marketplace.')
|
||||
message.success(t('Seller.publishMessage'))
|
||||
}
|
||||
|
||||
const editListing = (item: any)=>{
|
||||
@@ -237,7 +239,7 @@ const { showDrafts } = toRefs(data);
|
||||
<div class="title">
|
||||
<div class="left">
|
||||
<i class="fi fi-rs-comments"></i>
|
||||
<span>Active Listings</span>
|
||||
<span>{{ $t('Seller.ActiveListings') }}</span>
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="generalModel_state">
|
||||
@@ -302,7 +304,7 @@ const { showDrafts } = toRefs(data);
|
||||
<div class="title">
|
||||
<div class="left">
|
||||
<i class="fi fi-rs-comments"></i>
|
||||
<span>Drafts</span>
|
||||
<span>{{ $t('Seller.Drafts') }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<VueDraggable
|
||||
|
||||
@@ -36,15 +36,15 @@ const {} = toRefs(data);
|
||||
<div class="maskBtn">
|
||||
<div @click="$emit('editListing',item)">
|
||||
<svgIcon name="seller-edit" :size="domSize == 'Small'?32:domSize == 'Medium'?40:48" />
|
||||
<div>Edit</div>
|
||||
<div>{{ $t('Seller.Edit') }}</div>
|
||||
</div>
|
||||
<div v-if="type == 'listings'" @click="$emit('draftListing',item)">
|
||||
<svgIcon name="seller-draft" :size="domSize == 'Small'?32:domSize == 'Medium'?40:48" />
|
||||
<div>Draft</div>
|
||||
<div>{{ $t('Seller.Draft') }}</div>
|
||||
</div>
|
||||
<div v-else-if="type == 'drafts'" @click="$emit('publishListing',item)">
|
||||
<svgIcon name="seller-share" :size="domSize == 'Small'?32:domSize == 'Medium'?40:48" />
|
||||
<div>Publish</div>
|
||||
<div>{{ $t('Seller.Publish') }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -75,8 +75,8 @@ const { showAgain } = toRefs(data);
|
||||
<i class="fi fi-rr-trash"></i>
|
||||
</div>
|
||||
<div class="titleText">
|
||||
<h1>Delete this listing?</h1>
|
||||
<p>Your listing and its details will be permanently removed.</p>
|
||||
<h1>{{ $t('Seller.DeleteConfirm') }}</h1>
|
||||
<p>{{ $t('Seller.DeleteDesc') }}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="deleteContent">
|
||||
@@ -85,12 +85,12 @@ const { showAgain } = toRefs(data);
|
||||
</div>
|
||||
<div class="detail">
|
||||
<div class="name">{{ item?.title }}</div>
|
||||
<div class="price">HK${{ item?.price }} · Draft</div>
|
||||
<div class="price">HK${{ item?.price }} · {{ $t('Seller.Drafts') }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btnBox">
|
||||
<div class="btn" @click.stop="cleardata()">Cancel</div>
|
||||
<div class="btn" @click.stop="deleteDrafts()">Delete</div>
|
||||
<div class="btn" @click.stop="cleardata()">{{ $t('Seller.Cancel') }}</div>
|
||||
<div class="btn" @click.stop="deleteDrafts()">{{ $t('Seller.Delete') }}</div>
|
||||
</div>
|
||||
</a-modal>
|
||||
</div>
|
||||
|
||||
@@ -44,7 +44,7 @@ const {} = toRefs(data);
|
||||
<seller-header>
|
||||
<template #right>
|
||||
<div class="button" @click="newListing">
|
||||
<span>New Listing</span>
|
||||
<span>{{ $t('Seller.newListing') }}</span>
|
||||
<div class="icon">
|
||||
<i class="fi fi-br-plus"></i>
|
||||
</div>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
clickable: i < breadcrumbList.length - 1
|
||||
}"
|
||||
@click="onBreadcrumbClick(v, i)"
|
||||
>{{ v.title }}</span
|
||||
>{{ $t(v.title) }}</span
|
||||
>
|
||||
<span class="icon" v-show="i < breadcrumbList.length - 1">
|
||||
<svg-icon name="seller-arrow_right_solid" size="10" />
|
||||
@@ -109,7 +109,7 @@
|
||||
|
||||
const resolveTitle = (title?: RouteMetaValue<string>, titleKey?: RouteMetaValue<string>) => {
|
||||
const key = resolveMetaValue(titleKey)
|
||||
return key ? t(key) : resolveMetaValue(title) || ""
|
||||
return title ? t(title) || "" : ""
|
||||
}
|
||||
|
||||
const autoBreadcrumbs = computed(() => {
|
||||
|
||||
Reference in New Issue
Block a user