新增抖音团购核销

This commit is contained in:
gyq
2024-07-01 09:41:33 +08:00
parent 105ad4ee52
commit 78672a0cf9
11 changed files with 513 additions and 51 deletions

View File

@@ -2,7 +2,7 @@
<template>
<div class="dialog">
<el-dialog title="核销团购券" width="600" v-model="dialogVisible" @open="reset">
<el-dialog :title="`核销${props.title}团购券`" width="600" v-model="dialogVisible" @open="reset">
<div class="content">
<div class="left">
<el-image :src="icon" style="width: 60px; height: 60px"></el-image>
@@ -51,7 +51,7 @@
</el-dialog>
<el-dialog title="团购券详情" width="600" v-model="detailVisible">
<div class="group_detil">
<div class="shop_info">
<div class="shop_info" v-if="props.type == 1">
<el-image :src="groupDetail.images[0]" style="width: 50px;height: 50px;"></el-image>
<div class="info">
<div class="name">{{ groupDetail.productName }}</div>
@@ -62,7 +62,7 @@
</div>
</div>
<div class="table">
<el-table :data="groupDetail.productList" border>
<el-table :data="groupDetail.productList" border v-if="props.type == 1">
<el-table-column label="名称" prop="title"></el-table-column>
<el-table-column label="数量" prop="number"></el-table-column>
<el-table-column label="商品信息">
@@ -79,6 +79,12 @@
</template>
</el-table-column>
</el-table>
<el-table ref="douyin_table" :data="groupDetail.goods" border v-if="props.type == 2"
@selection-change="douyinSelectionChange">
<el-table-column type="selection" width="55" />
<el-table-column label="名称" prop="title"></el-table-column>
<el-table-column label="价格" prop="amount"></el-table-column>
</el-table>
</div>
</div>
<div class="footer">
@@ -94,7 +100,7 @@
import _ from "lodash";
import { ref } from "vue";
import icon from "@/assets/icon_scan.png";
import { groupOrderorderInfo, groupOrdergroupScan } from '@/api/group'
import { groupOrderorderInfo, groupOrdergroupScan, douyinfulfilmentcertificateprepare, douyincertificateprepare } from '@/api/group'
import { useUser } from "@/store/user.js";
const store = useUser();
import {
@@ -107,22 +113,14 @@ import { ElMessage } from "element-plus";
const emits = defineEmits(["success"]);
const props = defineProps({
amount: {
type: [Number, String],
default: 0,
title: {
type: String,
default: ''
},
selecttype: {
type: {
type: Number,
default: 0,
},
orderId: {
type: [Number, String],
default: "",
},
fast: {
type: Boolean,
default: false,
},
default: 1
}
});
const dialogVisible = ref(false);
@@ -142,10 +140,29 @@ const detailVisible = ref(false)
// 团购卷核销(仅核销待使用订单)
async function groupOrdergroupScanHandle() {
try {
groupDetailLoading.value = true
const res = await groupOrdergroupScan({
id: groupDetail.value.id
})
switch (props.type) {
case 1:
{
groupDetailLoading.value = true
const res = await groupOrdergroupScan({
id: groupDetail.value.id
})
}
break;
case 2:
{
groupDetailLoading.value = true
let encrypted_codes = groupDetail.value.goods.map(item => item.encrypted_code)
const res = await douyincertificateprepare({
verify_token: groupDetail.value.verify_token,
encrypted_codes: encrypted_codes.join(','),
id: groupDetail.value.id
})
}
break;
default:
break;
}
groupDetailLoading.value = false
detailVisible.value = false
scanCode.value = ''
@@ -158,16 +175,46 @@ async function groupOrdergroupScanHandle() {
}
}
// 提交扫码支付
const douyin_table = ref(null)
// 选择要核销的券
function douyinSelectionChange(e) {
console.log(e);
}
// 核销券码
async function submitHandle() {
try {
loading.value = true
const res = await groupOrderorderInfo({
coupon: scanCode.value,
});
loading.value = false
groupDetail.value = res
detailVisible.value = true
switch (props.type) {
case 1:
{
const res = await groupOrderorderInfo({
coupon: scanCode.value,
});
loading.value = false
groupDetail.value = res
detailVisible.value = true
}
break;
case 2:
{
const res = await douyinfulfilmentcertificateprepare({
object_id: decodeURI(scanCode.value),
});
loading.value = false
groupDetail.value = res
detailVisible.value = true
setTimeout(() => {
groupDetail.value.goods.map(item => {
douyin_table.value.toggleRowSelection(item)
})
}, 100)
}
break;
default:
break;
}
} catch (error) {
loading.value = false
console.log(error);