This commit is contained in:
李志鹏
2026-06-09 10:37:20 +08:00
7 changed files with 22 additions and 14 deletions

14
package-lock.json generated
View File

@@ -10,7 +10,7 @@
"hasInstallScript": true, "hasInstallScript": true,
"dependencies": { "dependencies": {
"axios": "^1.3.6", "axios": "^1.3.6",
"cropper-next-vue": "^0.3.0", "cropper-next-vue": "^0.3.1",
"crypto-js": "^4.2.0", "crypto-js": "^4.2.0",
"element-plus": "^2.13.2", "element-plus": "^2.13.2",
"gsap": "^3.13.0", "gsap": "^3.13.0",
@@ -2155,9 +2155,9 @@
} }
}, },
"node_modules/cropper-next-vue": { "node_modules/cropper-next-vue": {
"version": "0.3.0", "version": "0.3.1",
"resolved": "https://registry.npmjs.org/cropper-next-vue/-/cropper-next-vue-0.3.0.tgz", "resolved": "https://registry.npmjs.org/cropper-next-vue/-/cropper-next-vue-0.3.1.tgz",
"integrity": "sha512-7xw0gGGCc0bKZhtHZ1BU6cxy9QYN5j2BpgIbM27Zdw8f9+W0FekNxSDVpQ4pGbSR540hVuzA+9uO8obUV7ugeA==", "integrity": "sha512-B80WRLPavJ/xAjDEofPWLEqnMy99yzXy+Kpak3wMFf+X/TqebvhvBL3fM0P5ZHLRq0v9k0qSAqFjukBhHc3XZA==",
"license": "ISC", "license": "ISC",
"engines": { "engines": {
"node": ">=22.0.0" "node": ">=22.0.0"
@@ -10162,9 +10162,9 @@
} }
}, },
"cropper-next-vue": { "cropper-next-vue": {
"version": "0.3.0", "version": "0.3.1",
"resolved": "https://registry.npmjs.org/cropper-next-vue/-/cropper-next-vue-0.3.0.tgz", "resolved": "https://registry.npmjs.org/cropper-next-vue/-/cropper-next-vue-0.3.1.tgz",
"integrity": "sha512-7xw0gGGCc0bKZhtHZ1BU6cxy9QYN5j2BpgIbM27Zdw8f9+W0FekNxSDVpQ4pGbSR540hVuzA+9uO8obUV7ugeA==", "integrity": "sha512-B80WRLPavJ/xAjDEofPWLEqnMy99yzXy+Kpak3wMFf+X/TqebvhvBL3fM0P5ZHLRq0v9k0qSAqFjukBhHc3XZA==",
"requires": {} "requires": {}
}, },
"cross-spawn": { "cross-spawn": {

View File

@@ -14,7 +14,7 @@
}, },
"dependencies": { "dependencies": {
"axios": "^1.3.6", "axios": "^1.3.6",
"cropper-next-vue": "^0.3.0", "cropper-next-vue": "^0.3.1",
"crypto-js": "^4.2.0", "crypto-js": "^4.2.0",
"element-plus": "^2.13.2", "element-plus": "^2.13.2",
"gsap": "^3.13.0", "gsap": "^3.13.0",

View File

@@ -50,7 +50,7 @@
<div <div
class="price" class="price"
:class="{ 'is-download': download }" :class="{ 'is-download': download }"
v-if="props.showPrice && props.price" v-if="props.showPrice && (props.price || props.price === 0)"
> >
HK${{ props.price }} HK${{ props.price }}
</div> </div>
@@ -79,6 +79,8 @@
width: 100%; width: 100%;
cursor: pointer; cursor: pointer;
height: var(--commodity-height, auto); height: var(--commodity-height, auto);
aspect-ratio: 0.8/1;
object-fit: cover;
margin-bottom: var(--commodity-marginBottom, 1rem); margin-bottom: var(--commodity-marginBottom, 1rem);
} }
> .detail { > .detail {

View File

@@ -49,7 +49,7 @@ export default {
enterNewPassword: 'Enter a new password for<br/><span>{email}</span>', enterNewPassword: 'Enter a new password for<br/><span>{email}</span>',
passwordsDoNotMatch: 'Passwords do not match', passwordsDoNotMatch: 'Passwords do not match',
logOffTip: 'Are you sure to log off?', logOffTip: 'Are you sure to log off?',
pleaseLogTip: 'Please log in and try again.', pleaseLogTip: 'Please log in and try again.'
}, },
RegisterSuccess: { RegisterSuccess: {
title1: 'Welcome to Stylish Parade!', title1: 'Welcome to Stylish Parade!',
@@ -218,7 +218,8 @@ export default {
invoice: 'Invoice', invoice: 'Invoice',
completePayment: 'Complete Payment', completePayment: 'Complete Payment',
buyAgain: 'Buy Again' buyAgain: 'Buy Again'
} },
invoiceMessage: 'Invoice is being prepared. Please refresh later.'
}, },
empty: { empty: {
title: 'Nothing in Wardrobe yet', title: 'Nothing in Wardrobe yet',

View File

@@ -47,7 +47,7 @@ export default {
enterNewPassword: '请输入新密码<br/><span>{email}</span>', enterNewPassword: '请输入新密码<br/><span>{email}</span>',
passwordsDoNotMatch: '两次输入密码不一致', passwordsDoNotMatch: '两次输入密码不一致',
logOffTip: '确定退出登录吗?', logOffTip: '确定退出登录吗?',
pleaseLogTip: '请重新登录并重试。', pleaseLogTip: '请重新登录并重试。'
}, },
RegisterSuccess: { RegisterSuccess: {
title1: '欢迎来到 Stylish Parade', title1: '欢迎来到 Stylish Parade',
@@ -213,7 +213,8 @@ export default {
invoice: '发票', invoice: '发票',
completePayment: '完成付款', completePayment: '完成付款',
buyAgain: '再次购买' buyAgain: '再次购买'
} },
invoiceMessage: '发票生成中,请稍后刷新页面查看。'
}, },
empty: { empty: {
title: '衣橱暂无内容', title: '衣橱暂无内容',

View File

@@ -12,7 +12,7 @@
<VueCropper <VueCropper
ref="cropperRef" ref="cropperRef"
:img="imageUrl" :img="imageUrl"
:wrapper="{ width: 420, height: 420 }" :wrapper="{ width: '42rem', height: '42rem' }"
:crop-layout="{ width: 260, height: 260 }" :crop-layout="{ width: 260, height: 260 }"
:center-box="true" :center-box="true"
:output-type="outputType" :output-type="outputType"

View File

@@ -283,6 +283,10 @@
const handleClickAction = (order) => { const handleClickAction = (order) => {
if (order.status === 1) { if (order.status === 1) {
// 已支付,查看发票 // 已支付,查看发票
if (!order.hostedInvoiceUrl) {
ElMessage.primary(t('Wardrobe.orders.invoiceMessage'))
return
}
window.open(order.hostedInvoiceUrl, '_blank') window.open(order.hostedInvoiceUrl, '_blank')
return return
} }