|
@@ -37,6 +37,13 @@ interface VipPackage {
|
|
|
|
|
|
|
|
export default defineComponent({
|
|
export default defineComponent({
|
|
|
name: 'VipPurchaseModal',
|
|
name: 'VipPurchaseModal',
|
|
|
|
|
+ props: {
|
|
|
|
|
+ /** 是否有取消按钮 */
|
|
|
|
|
+ hasCancel: {
|
|
|
|
|
+ type: Boolean,
|
|
|
|
|
+ default: false
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
emits: ['close', 'success'],
|
|
emits: ['close', 'success'],
|
|
|
setup(_, { emit }) {
|
|
setup(_, { emit }) {
|
|
|
const userStore = useUserStore();
|
|
const userStore = useUserStore();
|
|
@@ -159,12 +166,10 @@ export default defineComponent({
|
|
|
pollingTimer.value = window.setInterval(async () => {
|
|
pollingTimer.value = window.setInterval(async () => {
|
|
|
try {
|
|
try {
|
|
|
const { data } = await getOrderDetail(orderNo.value);
|
|
const { data } = await getOrderDetail(orderNo.value);
|
|
|
- if (
|
|
|
|
|
- data &&
|
|
|
|
|
- (data.orderStatus === 'PAID' || data.status === 'SUCCESS')
|
|
|
|
|
- ) {
|
|
|
|
|
|
|
+ if (data && data.status === 'PAID') {
|
|
|
stopPolling();
|
|
stopPolling();
|
|
|
window.$message.success('支付成功');
|
|
window.$message.success('支付成功');
|
|
|
|
|
+ handleCancel()
|
|
|
await userStore.getInfo();
|
|
await userStore.getInfo();
|
|
|
emit('success');
|
|
emit('success');
|
|
|
emit('close');
|
|
emit('close');
|
|
@@ -241,6 +246,7 @@ export default defineComponent({
|
|
|
// getHttpOrigin() +
|
|
// getHttpOrigin() +
|
|
|
qrCodeUrl.value =
|
|
qrCodeUrl.value =
|
|
|
'https://test.kt.colexiu.com/classroom-app/#/payDefine?' + params;
|
|
'https://test.kt.colexiu.com/classroom-app/#/payDefine?' + params;
|
|
|
|
|
+ console.log(qrCodeUrl.value);
|
|
|
showQrCode.value = true;
|
|
showQrCode.value = true;
|
|
|
console.log(qrCodeUrl.value, 'value');
|
|
console.log(qrCodeUrl.value, 'value');
|
|
|
startPolling();
|
|
startPolling();
|
|
@@ -278,8 +284,7 @@ export default defineComponent({
|
|
|
styles.packageItem,
|
|
styles.packageItem,
|
|
|
selectedPackageId.value === pkg.id ? styles.selected : ''
|
|
selectedPackageId.value === pkg.id ? styles.selected : ''
|
|
|
]}
|
|
]}
|
|
|
- onClick={() => (selectedPackageId.value = pkg.id)}
|
|
|
|
|
- >
|
|
|
|
|
|
|
+ onClick={() => (selectedPackageId.value = pkg.id)}>
|
|
|
<div class={styles.packageName}>{pkg.name}</div>
|
|
<div class={styles.packageName}>{pkg.name}</div>
|
|
|
<div class={styles.freeText}>{pkg.freeText || ''}</div>
|
|
<div class={styles.freeText}>{pkg.freeText || ''}</div>
|
|
|
<div class={styles.packagePrice}>
|
|
<div class={styles.packagePrice}>
|
|
@@ -293,14 +298,16 @@ export default defineComponent({
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div class={styles.btnGroup}>
|
|
<div class={styles.btnGroup}>
|
|
|
|
|
+ <NButton round size="large" onClick={() => emit('close')}>
|
|
|
|
|
+ 取消
|
|
|
|
|
+ </NButton>
|
|
|
<NButton
|
|
<NButton
|
|
|
round
|
|
round
|
|
|
size="large"
|
|
size="large"
|
|
|
type="primary"
|
|
type="primary"
|
|
|
loading={loading.value}
|
|
loading={loading.value}
|
|
|
disabled={loading.value || hasClicked.value}
|
|
disabled={loading.value || hasClicked.value}
|
|
|
- onClick={handlePurchase}
|
|
|
|
|
- >
|
|
|
|
|
|
|
+ onClick={handlePurchase}>
|
|
|
续费 ¥{currentPackage.value?.price}
|
|
续费 ¥{currentPackage.value?.price}
|
|
|
</NButton>
|
|
</NButton>
|
|
|
</div>
|
|
</div>
|