会员支付
This commit is contained in:
parent
c1d4405d0e
commit
ec1fe43f3d
|
|
@ -43,4 +43,15 @@ export function accountPaymember(data) {
|
||||||
data
|
data
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* 会员扫码充值
|
||||||
|
* @param {*} params
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
export function membermemberScanPay(data) {
|
||||||
|
return request({
|
||||||
|
method: "post",
|
||||||
|
url: "member/memberScanPay",
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -45,12 +45,14 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<scanModal ref="scanModalRef" :amount="props.amount" :orderId="props.orderId" @success="scanCodeSuccess" />
|
<scanModal ref="scanModalRef" :amount="props.amount" :orderId="props.orderId" :selecttype="props.selecttype"
|
||||||
|
@success="scanCodeSuccess" />
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { onMounted, ref, computed, watch } from 'vue'
|
import { onMounted, ref, computed, watch } from 'vue'
|
||||||
import { queryPayType, accountPay, cashPay } from '@/api/pay'
|
import { queryPayType, accountPay, cashPay } from '@/api/pay'
|
||||||
|
import { queryMembermember, createMembermember, membermemberScanPay, accountPaymember } from '@/api/member/index.js'
|
||||||
import { useUser } from "@/store/user.js"
|
import { useUser } from "@/store/user.js"
|
||||||
import { clearNoNum } from '@/utils'
|
import { clearNoNum } from '@/utils'
|
||||||
|
|
||||||
|
|
@ -64,6 +66,10 @@ const props = defineProps({
|
||||||
type: Number,
|
type: Number,
|
||||||
default: 0
|
default: 0
|
||||||
},
|
},
|
||||||
|
selecttype: {
|
||||||
|
type: Number,
|
||||||
|
default: 0
|
||||||
|
},
|
||||||
orderId: {
|
orderId: {
|
||||||
type: [String, Number],
|
type: [String, Number],
|
||||||
default: ''
|
default: ''
|
||||||
|
|
@ -111,16 +117,35 @@ async function confirmOrder() {
|
||||||
if (money.value < props.amount) return
|
if (money.value < props.amount) return
|
||||||
payLoading.value = true
|
payLoading.value = true
|
||||||
switch (payList.value[payActive.value].payType) {
|
switch (payList.value[payActive.value].payType) {
|
||||||
case 'deposit':
|
case 'deposit'://储值卡
|
||||||
|
if (props.selecttype == 1) {
|
||||||
|
|
||||||
|
} else {
|
||||||
await accountPay({
|
await accountPay({
|
||||||
orderId: props.orderId,
|
orderId: props.orderId,
|
||||||
memberId: 1
|
memberId: 1
|
||||||
})
|
})
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 'cash':
|
case 'cash'://现金
|
||||||
|
if (props.selecttype == 1) {
|
||||||
|
await accountPaymember({
|
||||||
|
shopId: store.userInfo.shopId,
|
||||||
|
memberId: props.orderId,
|
||||||
|
amount: props.amount
|
||||||
|
})
|
||||||
|
} else {
|
||||||
await cashPay({
|
await cashPay({
|
||||||
orderId: props.orderId
|
orderId: props.orderId
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'bank'://银行卡
|
||||||
|
if (props.selecttype == 1) {//1 代表会员
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -55,9 +55,10 @@ import _ from 'lodash'
|
||||||
import { ref } from 'vue'
|
import { ref } from 'vue'
|
||||||
import icon from '@/assets/icon_scan.png'
|
import icon from '@/assets/icon_scan.png'
|
||||||
import { scanpay, queryOrder } from '@/api/pay'
|
import { scanpay, queryOrder } from '@/api/pay'
|
||||||
|
import { useUser } from "@/store/user.js"
|
||||||
|
const store = useUser()
|
||||||
|
import { queryMembermember, createMembermember, membermemberScanPay, accountPaymember } from '@/api/member/index.js'
|
||||||
import { ElMessage } from "element-plus";
|
import { ElMessage } from "element-plus";
|
||||||
|
|
||||||
const emits = defineEmits(['success'])
|
const emits = defineEmits(['success'])
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
|
|
@ -65,6 +66,10 @@ const props = defineProps({
|
||||||
type: [Number, String],
|
type: [Number, String],
|
||||||
default: 0
|
default: 0
|
||||||
},
|
},
|
||||||
|
selecttype: {
|
||||||
|
type: Number,
|
||||||
|
default: 0
|
||||||
|
},
|
||||||
orderId: {
|
orderId: {
|
||||||
type: [Number, String],
|
type: [Number, String],
|
||||||
default: ''
|
default: ''
|
||||||
|
|
@ -84,10 +89,20 @@ async function submitHandle() {
|
||||||
try {
|
try {
|
||||||
if (!scanCode.value) return
|
if (!scanCode.value) return
|
||||||
loading.value = true
|
loading.value = true
|
||||||
|
if (props.selecttype == 1) {
|
||||||
|
await membermemberScanPay({
|
||||||
|
shopId: store.userInfo.shopId,
|
||||||
|
memberId: props.orderId,
|
||||||
|
amount: props.amount,
|
||||||
|
authCode: scanCode.value
|
||||||
|
})
|
||||||
|
} else {
|
||||||
await scanpay({
|
await scanpay({
|
||||||
orderId: props.orderId,
|
orderId: props.orderId,
|
||||||
authCode: scanCode.value
|
authCode: scanCode.value
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
|
||||||
loading.value = false
|
loading.value = false
|
||||||
scanCode.value = ''
|
scanCode.value = ''
|
||||||
emits('success')
|
emits('success')
|
||||||
|
|
|
||||||
|
|
@ -148,15 +148,17 @@
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class='keyboard'>
|
<div class='keyboard'>
|
||||||
<cwxeyboard @confirmEvent="confirmEvent" @consumeFee="consumeFee" btn-color="orange" title="支付">
|
<cwxeyboard @confirmEvent="confirmEvent" @consumeFee="consumeFee"
|
||||||
|
btn-color="orange" title="支付">
|
||||||
</cwxeyboard>
|
</cwxeyboard>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
<el-dialog width="500" v-model="payCarddialogVisible" style="padding: 0; " title="会员充值" :close-on-click-modal="false">
|
<el-dialog width="500" v-model="payCarddialogVisible" style="padding: 0; " title="会员充值"
|
||||||
<payCard :amount="moneys" :orderId="props.orderId" @paySuccess="paySuccess" />
|
:close-on-click-modal="false">
|
||||||
|
<payCard :amount="moneys" :orderId="orderId" :selecttype="1" @paySuccess="paySuccess" />
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -171,7 +173,7 @@ import lodash from 'lodash'
|
||||||
import add from '@/views/member/components/add.vue'
|
import add from '@/views/member/components/add.vue'
|
||||||
import cwxeyboard from '@/components/cwx-keyboard/cwx-keyboard.vue'
|
import cwxeyboard from '@/components/cwx-keyboard/cwx-keyboard.vue'
|
||||||
import keyboard from '@/views/home/components/keyboard.vue'
|
import keyboard from '@/views/home/components/keyboard.vue'
|
||||||
import payCard from '@/views/member/components/payCard/payCard.vue'
|
import payCard from '@/components/payCard/payCard.vue'
|
||||||
|
|
||||||
const store = useUser()
|
const store = useUser()
|
||||||
|
|
||||||
|
|
@ -180,6 +182,13 @@ const stored = ref(false)//储值余额
|
||||||
const handleClose = async () => {
|
const handleClose = async () => {
|
||||||
stored.value = !stored.value
|
stored.value = !stored.value
|
||||||
}
|
}
|
||||||
|
const emit = defineEmits('paySuccess')
|
||||||
|
|
||||||
|
function paySuccess() {
|
||||||
|
console.log('188')
|
||||||
|
dialogVisible.value = false
|
||||||
|
emit('paySuccess')
|
||||||
|
}
|
||||||
|
|
||||||
const props = defineProps({//首页传值
|
const props = defineProps({//首页传值
|
||||||
membershow: {
|
membershow: {
|
||||||
|
|
@ -215,27 +224,30 @@ const consumeFees = (e) => {
|
||||||
|
|
||||||
const payCarddialogVisible = ref(false)
|
const payCarddialogVisible = ref(false)
|
||||||
|
|
||||||
const confirmEvent = async () => {//子组件 确认按钮
|
const orderId = ref('')
|
||||||
// payCarddialogVisible.value = true
|
|
||||||
try {
|
|
||||||
let res = await accountPaymember({
|
|
||||||
shopId: store.userInfo.shopId,
|
|
||||||
memberId: tableData.list[datarow.value].id,
|
|
||||||
amount: moneys.value
|
|
||||||
})
|
|
||||||
if (res == null) {
|
|
||||||
recharge.value = false
|
|
||||||
moneys.value = 0
|
|
||||||
ElMessage({
|
|
||||||
message: '充值成功',
|
|
||||||
type: 'success',
|
|
||||||
})
|
|
||||||
resetMembrform.value = { ...membrform.value }
|
|
||||||
asyncqueryMembermember()
|
|
||||||
}
|
|
||||||
} catch (error) {
|
|
||||||
|
|
||||||
}
|
const confirmEvent = async () => {//子组件 确认按钮
|
||||||
|
orderId.value = tableData.list[datarow.value].id
|
||||||
|
payCarddialogVisible.value = true
|
||||||
|
// try {
|
||||||
|
// let res = await accountPaymember({
|
||||||
|
// shopId: store.userInfo.shopId,
|
||||||
|
// memberId: tableData.list[datarow.value].id,
|
||||||
|
// amount: moneys.value
|
||||||
|
// })
|
||||||
|
// if (res == null) {
|
||||||
|
// recharge.value = false
|
||||||
|
// moneys.value = 0
|
||||||
|
// ElMessage({
|
||||||
|
// message: '充值成功',
|
||||||
|
// type: 'success',
|
||||||
|
// })
|
||||||
|
// resetMembrform.value = { ...membrform.value }
|
||||||
|
// asyncqueryMembermember()
|
||||||
|
// }
|
||||||
|
// } catch (error) {
|
||||||
|
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
const MemberAccount = async () => {//获取流水
|
const MemberAccount = async () => {//获取流水
|
||||||
|
|
|
||||||
|
|
@ -318,14 +318,7 @@ const orderDetaildata = ref({//详情数据
|
||||||
// loading
|
// loading
|
||||||
})
|
})
|
||||||
const ordereData = reactive({//表格数据
|
const ordereData = reactive({//表格数据
|
||||||
list: [{
|
list: [],
|
||||||
name: "",
|
|
||||||
amount: "",
|
|
||||||
levelConsume: "",
|
|
||||||
level: "",
|
|
||||||
code: "",
|
|
||||||
telephone: ""
|
|
||||||
}],
|
|
||||||
size: 10,
|
size: 10,
|
||||||
page: 1,
|
page: 1,
|
||||||
status: '',
|
status: '',
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue