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 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> </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;

View File

@ -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 = ''
ElMessage.success('支付成功') ElMessage.success('支付成功')

View File

@ -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 () => {//

View File

@ -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: '',