Merge branch 'wwz' of gitee.com:shaanxi-super-shopkeeper_1/cashierdesktop into gyq

This commit is contained in:
gyq 2024-03-13 18:27:02 +08:00
commit d83b593db1
5 changed files with 106 additions and 50 deletions

View File

@ -43,4 +43,15 @@ export function accountPaymember(data) {
data
});
}
/**
* 会员扫码充值
* @param {*} params
* @returns
*/
export function membermemberScanPay(data) {
return request({
method: "post",
url: "member/memberScanPay",
data
});
}

View File

@ -45,12 +45,14 @@
</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>
<script setup>
import { onMounted, ref, computed, watch } from 'vue'
import { queryPayType, accountPay, cashPay } from '@/api/pay'
import { queryMembermember, createMembermember, membermemberScanPay, accountPaymember } from '@/api/member/index.js'
import { useUser } from "@/store/user.js"
import { clearNoNum } from '@/utils'
@ -64,6 +66,10 @@ const props = defineProps({
type: Number,
default: 0
},
selecttype: {
type: Number,
default: 0
},
orderId: {
type: [String, Number],
default: ''
@ -111,16 +117,35 @@ async function confirmOrder() {
if (money.value < props.amount) return
payLoading.value = true
switch (payList.value[payActive.value].payType) {
case 'deposit':
await accountPay({
orderId: props.orderId,
memberId: 1
})
case 'deposit'://
if (props.selecttype == 1) {
} else {
await accountPay({
orderId: props.orderId,
memberId: 1
})
}
break;
case 'cash':
await cashPay({
orderId: props.orderId
})
case 'cash'://
if (props.selecttype == 1) {
await accountPaymember({
shopId: store.userInfo.shopId,
memberId: props.orderId,
amount: props.amount
})
} else {
await cashPay({
orderId: props.orderId
})
}
break;
case 'bank'://
if (props.selecttype == 1) {//1
} else {
}
break;
default:
break;

View File

@ -55,9 +55,10 @@ import _ from 'lodash'
import { ref } from 'vue'
import icon from '@/assets/icon_scan.png'
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";
const emits = defineEmits(['success'])
const props = defineProps({
@ -65,6 +66,10 @@ const props = defineProps({
type: [Number, String],
default: 0
},
selecttype: {
type: Number,
default: 0
},
orderId: {
type: [Number, String],
default: ''
@ -84,10 +89,20 @@ async function submitHandle() {
try {
if (!scanCode.value) return
loading.value = true
await scanpay({
orderId: props.orderId,
authCode: scanCode.value
})
if (props.selecttype == 1) {
await membermemberScanPay({
shopId: store.userInfo.shopId,
memberId: props.orderId,
amount: props.amount,
authCode: scanCode.value
})
} else {
await scanpay({
orderId: props.orderId,
authCode: scanCode.value
})
}
loading.value = false
scanCode.value = ''
ElMessage.success('支付成功')

View File

@ -148,15 +148,17 @@
</div>
<div class='keyboard'>
<cwxeyboard @confirmEvent="confirmEvent" @consumeFee="consumeFee" btn-color="orange" title="支付">
<cwxeyboard @confirmEvent="confirmEvent" @consumeFee="consumeFee"
btn-color="orange" title="支付">
</cwxeyboard>
</div>
</div>
</div>
</el-dialog>
</div>
<el-dialog width="500" v-model="payCarddialogVisible" style="padding: 0; " title="会员充值" :close-on-click-modal="false">
<payCard :amount="moneys" :orderId="props.orderId" @paySuccess="paySuccess" />
<el-dialog width="500" v-model="payCarddialogVisible" style="padding: 0; " title="会员充值"
:close-on-click-modal="false">
<payCard :amount="moneys" :orderId="orderId" :selecttype="1" @paySuccess="paySuccess" />
</el-dialog>
@ -171,7 +173,7 @@ import lodash from 'lodash'
import add from '@/views/member/components/add.vue'
import cwxeyboard from '@/components/cwx-keyboard/cwx-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()
@ -180,6 +182,13 @@ const stored = ref(false)//储值余额
const handleClose = async () => {
stored.value = !stored.value
}
const emit = defineEmits('paySuccess')
function paySuccess() {
console.log('188')
dialogVisible.value = false
emit('paySuccess')
}
const props = defineProps({//
membershow: {
@ -215,27 +224,30 @@ const consumeFees = (e) => {
const payCarddialogVisible = ref(false)
const confirmEvent = async () => {//
// 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 orderId = ref('')
}
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 () => {//

View File

@ -318,14 +318,7 @@ const orderDetaildata = ref({//详情数据
// loading
})
const ordereData = reactive({//
list: [{
name: "",
amount: "",
levelConsume: "",
level: "",
code: "",
telephone: ""
}],
list: [],
size: 10,
page: 1,
status: '',