Browse Source

Merge branch 'refs/heads/lihui/feature-20250815155204-金币优化' into milestone-20250815-金币优化

youhua/chongzhi
lihui 2 months ago
parent
commit
4cd57b6a68
  1. 70
      src/views/consume/gold/addCoinConsume.vue
  2. 101
      src/views/recharge/gold/addCoinRecharge.vue

70
src/views/consume/gold/addCoinConsume.vue

@ -226,7 +226,7 @@ const add = async function () {
// jwcode // jwcode
// jwcode:permanentGold:freeGold // jwcode:permanentGold:freeGold
WriteCookies.value = `coinConsume:${addConsume.value.jwcode}:${addConsume.value.goodsName}}`
WriteCookies.value = `coinConsume:${addConsume.value.jwcode}:${addConsume.value.goodsName}`
//value //value
WriteCookiesTime.value = dayjs().format("YYYY-MM-DD HH:mm:ss"); WriteCookiesTime.value = dayjs().format("YYYY-MM-DD HH:mm:ss");
// cookies,jwcodekeyvaluejwcode1 // cookies,jwcodekeyvaluejwcode1
@ -321,7 +321,7 @@ const ConsumeDialogVisiblehandleClose = () => {
resetForm() resetForm()
user.value = {} user.value = {}
}; };
``
// 使cookie // 使cookie
const ConsumeDialogVisibleContinue = () => { const ConsumeDialogVisibleContinue = () => {
ConsumeDialogVisible.value = false; ConsumeDialogVisible.value = false;
@ -346,7 +346,7 @@ const FirstConsumeDialogVisiblehandleClose = () => {
user.value = {} user.value = {}
}; };
// 使cookie
//
const FirstConsumeDialogVisibleContinue = () => { const FirstConsumeDialogVisibleContinue = () => {
FirstConsumeDialogVisible.value = false; FirstConsumeDialogVisible.value = false;
add(); add();
@ -387,6 +387,7 @@ const addBefore = () => {
console.log("time", WriteCookiesTime.value) console.log("time", WriteCookiesTime.value)
// //
ReadCookiesTime.value = moment(cookie).format('YYYY-MM-DD HH:mm:ss') ReadCookiesTime.value = moment(cookie).format('YYYY-MM-DD HH:mm:ss')
console.log("cookie========", cookie)
if (cookie) { if (cookie) {
ConsumeDialogVisible.value = true; ConsumeDialogVisible.value = true;
} else { } else {
@ -655,8 +656,15 @@ onMounted(async function () {
</el-row> </el-row>
</el-form> </el-form>
</el-card> </el-card>
<el-dialog v-model="ConsumeDialogVisible" title="操作确认" :before-close="ConsumeDialogVisiblehandleClose"
:close-on-click-modal="false" width="480px">
<el-dialog
v-model="FirstConsumeDialogVisible"
title="操作确认"
:before-close="FirstConsumeDialogVisiblehandleClose"
:close-on-click-modal="false"
width="480px"
>
<!-- 内容整体居中且收窄 --> <!-- 内容整体居中且收窄 -->
<div class="confirm-body"> <div class="confirm-body">
<!-- 用户信息 --> <!-- 用户信息 -->
@ -696,41 +704,20 @@ onMounted(async function () {
</el-col> </el-col>
</el-row> </el-row>
<!-- 风险提示 -->
<div style="display: flex; align-items: center; margin-top: 20px;">
<el-icon :size="24" color="#FFD700">
<WarnTriangleFilled />
</el-icon>
<p>重复购买风险提示</p>
</div>
<!-- 记录 + 虚线分隔 -->
<div>
<el-divider border-style="dashed" />
<p>检测到该用户近期有相似消费记录</p>
· {{ ReadCookiesTime }} 购买 {{ addConsume.goodsName }}(操作人: {{ adminData.adminName }})
</div>
<div style="margin-top: 10px">
<p>是否继续操作</p>
</div>
</div> </div>
<!-- 底部按钮居中 --> <!-- 底部按钮居中 -->
<template #footer> <template #footer>
<div class="dialog-footer-center"> <div class="dialog-footer-center">
<el-button @click="ConsumeDialogVisibleCancel"> </el-button>
<el-button type="primary" @click="ConsumeDialogVisibleContinue">确认购买</el-button>
<el-button @click="FirstConsumeDialogVisibleCancel"> </el-button>
<el-button type="primary" @click="FirstConsumeDialogVisibleContinue">确认购买</el-button>
</div> </div>
</template> </template>
</el-dialog> </el-dialog>
<el-dialog
v-model="FirstConsumeDialogVisible"
title="操作确认"
:before-close="FirstConsumeDialogVisiblehandleClose"
:close-on-click-modal="false"
width="480px"
>
<el-dialog v-model="ConsumeDialogVisible" title="第二次操作确认" :before-close="ConsumeDialogVisiblehandleClose"
:close-on-click-modal="false" width="480px">
<!-- 内容整体居中且收窄 --> <!-- 内容整体居中且收窄 -->
<div class="confirm-body"> <div class="confirm-body">
<!-- 用户信息 --> <!-- 用户信息 -->
@ -770,13 +757,30 @@ onMounted(async function () {
</el-col> </el-col>
</el-row> </el-row>
<!-- 风险提示 -->
<div style="display: flex; align-items: center; margin-top: 20px;">
<el-icon :size="24" color="#FFD700">
<WarnTriangleFilled />
</el-icon>
<p>重复购买风险提示</p>
</div>
<!-- 记录 + 虚线分隔 -->
<div>
<el-divider border-style="dashed" />
<p>检测到该用户近期有相似消费记录</p>
· {{ ReadCookiesTime }} 购买 {{ addConsume.goodsName }}(操作人: {{ adminData.adminName }})
</div>
<div style="margin-top: 10px">
<p>是否继续操作</p>
</div>
</div> </div>
<!-- 底部按钮居中 --> <!-- 底部按钮居中 -->
<template #footer> <template #footer>
<div class="dialog-footer-center"> <div class="dialog-footer-center">
<el-button @click="FirstConsumeDialogVisibleCancel"> </el-button>
<el-button type="primary" @click="FirstConsumeDialogVisibleContinue">确认购买</el-button>
<el-button @click="ConsumeDialogVisibleCancel"> </el-button>
<el-button type="primary" @click="ConsumeDialogVisibleContinue">确认购买</el-button>
</div> </div>
</template> </template>
</el-dialog> </el-dialog>

101
src/views/recharge/gold/addCoinRecharge.vue

@ -133,10 +133,20 @@ const add = async function () {
} }
} }
//
//
const RechargeDialogVisible = ref(false); const RechargeDialogVisible = ref(false);
//
const FirstRechargeDialogVisible = ref(false);
//
//
const FirstRechargeDialogVisiblehandleClose = () => {
FirstRechargeDialogVisible.value = false;
//
deleteRecharge()
user.value = {}
};
//
const RechargeDialogVisiblehandleClose = () => { const RechargeDialogVisiblehandleClose = () => {
RechargeDialogVisible.value = false; RechargeDialogVisible.value = false;
// //
@ -156,16 +166,21 @@ const RechargeDialogVisibleCancel = () => {
user.value = {} user.value = {}
}; };
//
const proceedWithRecharge = () => {
ElMessageBox.confirm('确认充值?')
.then(() => {
add();
console.log('充值成功');
})
.catch(() => {
console.log('取消充值');
});
//
// const proceedWithRecharge = () => {
// FirstRechargeDialogVisible.value = false
// add()
// };
const FistRechargeDialogVisibleContinue = () => {
FirstRechargeDialogVisible.value = false
add()
};
//
const FirstRechargeDialogVisibleCancel = () => {
FirstRechargeDialogVisible.value = false
deleteRecharge()
user.value = {}
}; };
// //
@ -241,7 +256,7 @@ const addBefore = () => {
if (cookie) { if (cookie) {
RechargeDialogVisible.value = true; RechargeDialogVisible.value = true;
} else { } else {
proceedWithRecharge();
FirstRechargeDialogVisible.value = true;
} }
}); });
}; };
@ -792,6 +807,47 @@ onMounted(() => {
</el-form> </el-form>
</el-card> </el-card>
<el-dialog v-model="FirstRechargeDialogVisible" title="操作确认" :before-close="FirstRechargeDialogVisiblehandleClose"
:close-on-click-modal="false" width="400px">
<!-- 内容整体居中且收窄 -->
<div class="confirm-body">
<!-- 用户信息 -->
<div>
<div class="field-label">用户信息</div>
<el-input :model-value="user.jwcode + (user.name ? '' + user.name + '' : '')" disabled/>
</div>
<!-- 活动名称 -->
<div class="field">
<div class="field-label">活动名称</div>
<el-input v-model="recharge.activity" disabled/>
</div>
<!-- 金币信息同一行左右排列 -->
<el-row :gutter="20" class="coins-row">
<el-col :span="12">
<div class="field">
<div class="field-label">永久金币</div>
<el-input v-model="recharge.permanentGold" disabled/>
</div>
</el-col>
<el-col :span="12">
<div class="field">
<div class="field-label">免费金币</div>
<el-input v-model="recharge.freeGold" disabled/>
</div>
</el-col>
</el-row>
</div>
<!-- 底部按钮居中 -->
<template #footer>
<div class="dialog-footer-center">
<el-button @click="FirstRechargeDialogVisibleCancel"> </el-button>
<el-button type="primary" @click="FistRechargeDialogVisibleContinue">确认充值</el-button>
</div>
</template>
</el-dialog>
<el-dialog v-model="RechargeDialogVisible" title="操作确认" :before-close="RechargeDialogVisiblehandleClose" <el-dialog v-model="RechargeDialogVisible" title="操作确认" :before-close="RechargeDialogVisiblehandleClose"
:close-on-click-modal="false" width="480px"> :close-on-click-modal="false" width="480px">
<!-- 内容整体居中且收窄 --> <!-- 内容整体居中且收窄 -->
@ -850,6 +906,7 @@ onMounted(() => {
</template> </template>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
@ -918,4 +975,22 @@ p {
margin-right: 300px; margin-right: 300px;
margin-top: 150px; margin-top: 150px;
} }
.field-label {
font-size: 14px;
color: #606266;
margin-bottom: 6px;
}
/* 金币行紧凑 */
.coins-row .field {
margin-bottom: 0;
}
/* 底部按钮居中 */
.dialog-footer-center {
display: flex;
justify-content: center;
gap: 12px;
}
</style> </style>
Loading…
Cancel
Save