This commit is contained in:
Vinjor 2024-09-22 18:53:19 +08:00
commit a352d84ed6
6 changed files with 181 additions and 166 deletions

View File

@ -133,7 +133,7 @@ public class CardCoupon extends Model<CardCoupon> {
private Date updateTime;
//当次获取数量
@TableField(exist = false)
private Integer giftCardToatl;
private Integer giftCardTotal;
}

View File

@ -38,7 +38,7 @@ public class CardCouponUserServiceImpl extends ServiceImpl<CardCouponUserMapper,
@Override
public boolean userCanGet(Integer couponId, Integer userId) {
CardCoupon cardCoupon = cardCouponService.getById(couponId);
if (cardCoupon.getTfTotal()<=cardCoupon.getTfTotal()){
if (cardCoupon.getTfTotal()<=cardCoupon.getTfGetNum()){
//领取数量大于策略中的送出总量
return false;
}

View File

@ -5,7 +5,7 @@
<select id="getByCardId" resultType="com.fuint.business.marketingActivity.cardCoupon.entity.CardCoupon">
SELECT
cc.*,cvc.gift_card_total as giftCardToatl
cc.*,cvc.gift_card_total as giftCardTotal
FROM
card_value_child cvc
INNER JOIN card_coupon cc on cvc.vouchers_id = cc.id

View File

@ -2172,11 +2172,7 @@
},
//
async confirm(flag) {
this.flag = flag
if (flag === 1) {
if (this.cardValueForm.paymentType === '') {
this.$message.error('请选择支付方式');
@ -2198,18 +2194,13 @@
this.$message.error('请选择支付方式');
return
}
this.realyPayBills = this.cardFuelDieselForm.rechargeBalance
}
//
await this.getSendPrintIndex(this.realyPayBills);
this.openConfirm = true;
this.isPay = true
this.getCode(this.realyPayBills,1)
},
printLocally() {
if (!connectFlag){

View File

@ -120,9 +120,9 @@
</div>
<div class="er-box"></div>
<div class="wrap-box">
<div class="f-box" v-for="(item,index) in cardList" :class="{'f-acvite' : index == ruleIndex }"
<div class="f-box" v-for="(item,index) in payList" :class="{'f-acvite' : index == ruleIndex }"
@click="setindex(index)" :key="index"
>{{ item.name }}
>{{ item.dictLabel }}
</div>
</div>
</div>
@ -406,7 +406,7 @@
<memberRecharge :userId="chooseVipUser.id" ref="rechargeRef"></memberRecharge>
<span slot="footer" class="dialog-footer">
<el-button @click="memberRecharge = false"> </el-button>
<el-button type="primary" @click="memberRecharge = false">确认充值</el-button>
<el-button type="primary" @click="rechargeConfirm()">确认充值</el-button>
</span>
</el-dialog>
<el-dialog
@ -423,6 +423,93 @@
<el-button type="primary" @click="sonButton()"> </el-button>
</span>
</el-dialog>
<!-- 确认充值-->
<el-dialog :close-on-click-modal="false" title="确认充值" :visible.sync="openConfirm" width="500px" append-to-body>
<div v-if="isPay"
v-loading="loading">
<div style="text-align: center;font-size: 15px;font-weight: bold">付款金额</div>
<div style="text-align: center;font-size: 30px;font-weight: bold;color: red;margin: 10px 0">
{{ payForm.realyPayBills }}
</div>
<!-- <div style="text-align: center;margin-bottom: 10px">赠送金额</div> -->
<div v-if="(payForm.paymentType !== 'CASH' && flag === 1) || (payForm.paymentType !== 'CASH' && flag ===2) ">
<div>
<el-input v-model="payForm.authCode"
v-focus ref="getFocus"
autofocus
@keydown.enter.native="collection1"
placeholder="扫描或输入付款码、支持微信、支付宝、云闪付">
<i
slot="suffix">
<svg t="1697791915471" class="icon" viewBox="0 0 1024 1024" version="1.1"
xmlns="http://www.w3.org/2000/svg" p-id="1479" width="32" height="32">
<path
d="M149.333333 170.858667A21.546667 21.546667 0 0 1 170.858667 149.333333H384V106.666667H170.858667A64.213333 64.213333 0 0 0 106.666667 170.858667V384h42.666666V170.858667zM170.858667 874.666667A21.546667 21.546667 0 0 1 149.333333 853.141333V640H106.666667v213.141333A64.213333 64.213333 0 0 0 170.858667 917.333333H384v-42.666666H170.858667zM853.12 149.333333A21.546667 21.546667 0 0 1 874.666667 170.858667V384h42.666666V170.858667A64.213333 64.213333 0 0 0 853.141333 106.666667H640v42.666666h213.141333zM874.666667 853.141333A21.546667 21.546667 0 0 1 853.141333 874.666667H640v42.666666h213.141333A64.213333 64.213333 0 0 0 917.333333 853.141333V640h-42.666666v213.141333zM106.666667 490.666667h810.666666v42.666666H106.666667v-42.666666z"
fill="#3D3D3D" p-id="1480"></path>
</svg>
</i>
</el-input>
</div>
<div class="demo-image">
<div class="block" style="text-align: center">
<el-image
style="width: 200px; height: 200px"
fit="cover"
src="https://oil.wudb.cn/static/img/scan-demo.fcb8b1ab.png"></el-image>
</div>
</div>
</div>
<div v-else>
<div>
<el-input v-model="payForm.authCode"
v-focus ref="getFocus"
autofocus maxlength="10"
@input="changeSeekZero1"
@keydown.enter.native="collection1"
oninput="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')"
placeholder="请输入收款金额">
</el-input>
</div>
<div style="text-align: right;margin: 10px 0">
<span>应找零</span>
<span style="color: red;font-size: 18px"> {{ payForm.seekZero }}</span>
</div>
</div>
<el-divider></el-divider>
<div style="display: flex;justify-content: space-around">
<el-button @click="cancelCollection">取消收款</el-button>
<el-button type="primary" @click="collection1">确定收款</el-button>
</div>
</div>
<div v-else>
<div v-if="isPaySuccess">
<el-result icon="success" title="收款成功">
<template slot="extra">
<el-button type="primary" @click="handClose1"> </el-button>
</template>
</el-result>
</div>
<div v-else-if="isAwait">
<el-result icon="warning" title="支付等待超时,请前往订单列表查看是否支付成功!">
<template slot="extra">
<el-button type="primary" @click="handClose1"> </el-button>
</template>
</el-result>
</div>
<div v-else>
<el-result icon="error" title="支付失败,请重新支付">
<template slot="extra">
<el-button type="primary" @click="handClose1"> </el-button>
</template>
</el-result>
</div>
</div>
</el-dialog>
</div>
</template>
@ -438,10 +525,21 @@ import {QRCodeByStoreId} from "@/api/staff/qrcode";
import {userListByPhone} from "@/api/cashier/user";
import { VueClipboard } from 'vue-clipboard2';
import {getDicts} from "@/api/dict/data";
export default {
data() {
return {
payForm:{
realyPayBills:0.00,
paymentType:null,
authCode:null,
seekZero:0.00
},
openConfirm:false,
isPay:false,
loading:false,
//
collectionImg: '',
baseUrl: process.env.VUE_APP_BASE_API,
@ -498,39 +596,7 @@ export default {
num: '0'
},
],
cardList: [
{
name: '储值卡',
num: '0'
},
{
name: '支付宝',
num: '0'
},
{
name: '微信',
num: '0'
},
{
name: '银联二维码',
num: '0'
},
{
name: '现金',
num: '0'
},
{
name: '小程序码',
num: '0'
},
{
name: '挂账',
num: '0'
},
{
name: '囤油卡',
num: '0'
}
payList: [
],
//
tabList: {
@ -611,10 +677,9 @@ export default {
this.getOilList()
this.getGoodsList()
this.getQRCodeInfoByStoreId(0);
this.getPayList()
},
mounted() {
},
computed: {
getGoodsItem() {
if (this.oilGunClearing.amount && this.oilGunClearing.amount !== undefined) {
@ -648,6 +713,37 @@ export default {
},
methods: {
//
getPayList(){
getDicts("payment_type").then( response => {
this.payList = response.data;
})
},
//
async rechargeConfirm() {
let selectCard = this.$refs.rechargeRef.selectCard
if (!selectCard.paymentType) {
this.$message.error('请选择支付方式');
return
}
if (!selectCard.paymentType) {
this.$message.error('请选择输入充值本金');
return
}
if (!selectCard.paymentType) {
this.$message.error('请选择输入充值本金');
return
}
this.payForm.realyPayBills = selectCard.rechargeBalance
this.payForm.paymentType = selectCard.paymentType
// //
// await this.getSendPrintIndex(this.realyPayBills);
this.openConfirm = true;
this.isPay = true
this.getCode(this.realyPayBills,1)
},
/**
* @description 油枪金额和商品金额发生变化请求后端查询可用优惠活动和优惠券
* 传入后台的参数会员的用户id加油油号加油订单金额不包括商品金额加油订单总金额包括商品金额加油总升数
@ -777,7 +873,6 @@ export default {
item.img = './imgs/0oil.png'
item.classStyle = 'card0'
})
}
if (key == '98#') {
this.tabList[key].forEach(item => {
@ -896,15 +991,6 @@ export default {
})
},
changeBox() {
this.boxShow = !this.boxShow
},
changeBox1() {
this.boxShow1 = !this.boxShow1
},
changeBox2() {
this.boxShow2 = !this.boxShow2
},
setTabindex(key, index) {
//
this.tabIndex = index
@ -935,58 +1021,6 @@ export default {
this.oilGun = item
},
loadAll() {
return [
{ 'value': '三全鲜食(北新泾店)', 'address': '长宁区新渔路144号' },
{ 'value': 'Hot honey 首尔炸鸡(仙霞路)', 'address': '上海市长宁区淞虹路661号' },
{ 'value': '新旺角茶餐厅', 'address': '上海市普陀区真北路988号创邑金沙谷6号楼113' },
{ 'value': '泷千家(天山西路店)', 'address': '天山西路438号' },
{ 'value': '胖仙女纸杯蛋糕(上海凌空店)', 'address': '上海市长宁区金钟路968号1幢18号楼一层商铺18-101' },
{ 'value': '贡茶', 'address': '上海市长宁区金钟路633号' },
{ 'value': '豪大大香鸡排超级奶爸', 'address': '上海市嘉定区曹安公路曹安路1685号' },
{ 'value': '茶芝兰(奶茶,手抓饼)', 'address': '上海市普陀区同普路1435号' },
{ 'value': '十二泷町', 'address': '上海市北翟路1444弄81号B幢-107' },
{ 'value': '星移浓缩咖啡', 'address': '上海市嘉定区新郁路817号' },
{ 'value': '阿姨奶茶/豪大大', 'address': '嘉定区曹安路1611号' },
{ 'value': '新麦甜四季甜品炸鸡', 'address': '嘉定区曹安公路2383弄55号' },
{ 'value': 'Monica摩托主题咖啡店', 'address': '嘉定区江桥镇曹安公路2409号1F2383弄62号1F' },
{ 'value': '浮生若茶凌空soho店', 'address': '上海长宁区金钟路968号9号楼地下一层' },
{ 'value': 'NONO JUICE 鲜榨果汁', 'address': '上海市长宁区天山西路119号' },
{ 'value': 'CoCo都可(北新泾店)', 'address': '上海市长宁区仙霞西路' },
{ 'value': '快乐柠檬(神州智慧店)', 'address': '上海市长宁区天山西路567号1层R117号店铺' },
{ 'value': 'Merci Paul cafe', 'address': '上海市普陀区光复西路丹巴路28弄6号楼819' },
{ 'value': '猫山王(西郊百联店)', 'address': '上海市长宁区仙霞西路88号第一层G05-F01-1-306' },
{ 'value': '枪会山', 'address': '上海市普陀区棕榈路' },
{ 'value': '纵食', 'address': '元丰天山花园(东门) 双流路267号' },
{ 'value': '钱记', 'address': '上海市长宁区天山西路' },
{ 'value': '壹杯加', 'address': '上海市长宁区通协路' },
{ 'value': '唦哇嘀咖', 'address': '上海市长宁区新泾镇金钟路999号2幢B幢第01层第1-02A单元' },
{ 'value': '爱茜茜里(西郊百联)', 'address': '长宁区仙霞西路88号1305室' },
{ 'value': '爱茜茜里(近铁广场)', 'address': '上海市普陀区真北路818号近铁城市广场北区地下二楼N-B2-O2-C商铺' },
{ 'value': '鲜果榨汁(金沙江路和美广店)', 'address': '普陀区金沙江路2239号金沙和美广场B1-10-6' },
{ 'value': '开心丽果(缤谷店)', 'address': '上海市长宁区威宁路天山路341号' },
{ 'value': '超级鸡车(丰庄路店)', 'address': '上海市嘉定区丰庄路240号' },
{ 'value': '妙生活果园(北新泾店)', 'address': '长宁区新渔路144号' },
{ 'value': '香宜度麻辣香锅', 'address': '长宁区淞虹路148号' },
{ 'value': '凡仔汉堡(老真北路店)', 'address': '上海市普陀区老真北路160号' },
{ 'value': '港式小铺', 'address': '上海市长宁区金钟路968号15楼15-105室' },
{ 'value': '蜀香源麻辣香锅(剑河路店)', 'address': '剑河路443-1' },
{ 'value': '北京饺子馆', 'address': '长宁区北新泾街道天山西路490-1号' },
{ 'value': '饭典*新简餐凌空SOHO店', 'address': '上海市长宁区金钟路968号9号楼地下一层9-83室' },
{ 'value': '焦耳·川式快餐(金钟路店)', 'address': '上海市金钟路633号地下一层甲部' },
{ 'value': '动力鸡车', 'address': '长宁区仙霞西路299弄3号101B' },
{ 'value': '浏阳蒸菜', 'address': '天山西路430号' },
{ 'value': '四海游龙(天山西路店)', 'address': '上海市长宁区天山西路' },
{ 'value': '樱花食堂(凌空店)', 'address': '上海市长宁区金钟路968号15楼15-105室' },
{ 'value': '壹分米客家传统调制米粉(天山店)', 'address': '天山西路428号' },
{ 'value': '福荣祥烧腊(平溪路店)', 'address': '上海市长宁区协和路福泉路255弄57-73号' },
{ 'value': '速记黄焖鸡米饭', 'address': '上海市长宁区北新泾街道金钟路180号1层01号摊位' },
{ 'value': '红辣椒麻辣烫', 'address': '上海市长宁区天山西路492号' },
{ 'value': '(小杨生煎)西郊百联餐厅', 'address': '长宁区仙霞西路88号百联2楼' },
{ 'value': '阳阳麻辣烫', 'address': '天山西路389号' },
{ 'value': '南拳妈妈龙虾盖浇饭', 'address': '普陀区金沙江路1699号鑫乐惠美食广场A13' }
]
},
//
querySearchAsync(queryString, cb) {
const restaurants = this.restaurants

View File

@ -1,15 +1,15 @@
<script >
<script>
import {cardValueList,getCoupons} from "@/api/newHome/newHome";
import {number} from "echarts/lib/export";
import { queryStaffs} from "@/api/staff/staff";
import {getDicts} from "@/api/dict/data";
export default {
props: {
userId: number
},
data() {
return {
youhuiquanlist:[],
selectCard:{},
selectCard:{cardCouponList:[]},
tabList:[
{
name:'电子储值卡',
@ -47,17 +47,35 @@ export default {
{ required: true, message: '充值金额', trigger: 'change' }
],
},
cardList:[]
cardList:[],
staffList:[],
//
payList:[],
}
},
methods:{
//
getPayList(){
getDicts("payment_type").then( response => {
this.payList = response.data;
})
},
getStaffList() {
queryStaffs().then(response => {
this.staffList = response.data;
}
);
},
selectTab(index){
this.tabIndex = index
this.selectCard.cardType = index
},
chooseActive(data,index){
this.kIndex = index
this.selectCard = data
console.log(this.selectCard)
this.selectCard.cardCouponList = []
this.getCouponList(data.id)
},
getCardValueList(){
@ -65,19 +83,19 @@ export default {
cardValueList().then(res=>{
this.kIndex = 0
this.cardList = res.data
if (this.cardList&&this.cardList.length>0) {
console.log(70707)
this.chooseActive(this.cardList[0],0)
that.getCouponList(this.cardList[0].id);
}
})
this.getStaffList()
this.getPayList()
},
getCouponList(cardValueId){
console.log({userId:this.userId,cardValueId:cardValueId},72)
getCoupons({userId:this.userId,cardValueId:cardValueId}).then(res=>{
console.log(res,72)
this.selectCard.cardCouponList = res.data
})
}
}
}
@ -123,38 +141,33 @@ export default {
</el-form-item>
</div>
<el-form-item label="赠送优惠券" >
<el-button type="primary" style="margin-left: 30px" size="mini" @click="getlistFavorable()" >添加</el-button>
</el-form-item>
<!-- 选择优惠券-->
<div class="xh-box" >
<div style="margin: 10px 0px">
<div class="xh-box" v-if="selectCard.cardCouponList.length>0">
<div style="margin: 10px 0px;width: 800px;margin-left: 25px">
<el-table
:data="youhuiquanlist"
:data="selectCard.cardCouponList"
border
style="width: 100%">
<el-table-column
prop="giftCardName"
prop="name"
label="卡券名称"
width="0">
</el-table-column>
<el-table-column
prop="giftCardType"
prop="type"
label="券类型"
width="80">
<template slot-scope="scope">
<span v-if="scope.row.giftCardType == 0" >油品券</span>
<span v-if="scope.row.giftCardType == 1" >商品券</span>
<span v-if="scope.row.giftCardType == 2" >通用券</span>
<span v-if="scope.row.type == 0" >油品券</span>
<span v-if="scope.row.type == 1" >商品券</span>
<span v-if="scope.row.type == 2" >通用券</span>
</template>
</el-table-column>
<el-table-column
prop="date"
label="券详情"
width="80">
<template slot-scope="scope">
<span>{{scope.row.giftCardDetail}}</span>
</template>
</el-table-column>
<el-table-column
prop="instruction"
@ -164,51 +177,28 @@ export default {
<el-table-column
prop="date"
label="有效期(天)">
<template slot-scope="scope">
<span v-if="scope.row.timeType == 0" > {{scope.row.validityZero}} </span>
<span v-if="scope.row.timeType == 1" > {{scope.row.validityOne}} </span>
<span v-if="scope.row.timeType == 2" > {{scope.row.validityTwo}} </span>
</template>
</el-table-column>
<el-table-column
prop="date"
prop="giftCardTotal"
label="数量"
width="240">
<template slot-scope="scope">
<el-input-number v-model="scope.row.giftCardTotal" controls-position="right" :min="1" :max="9999"></el-input-number>
</template>
</el-table-column>
<el-table-column
prop="address"
label="操作">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
@click="deletedata(scope.row)"
>删除</el-button>
</template>
</el-table-column>
</el-table>
</div>
</div>
<el-form-item label="提成员工" prop="region" >
<el-select v-model="ruleForm.region" placeholder="请选择提成员工" style="width: 330px">
<el-option label="员工一" value="shanghai"></el-option>
<el-option label="员工二" value="beijing"></el-option>
<el-select filterable v-model="selectCard.chooseStaff" placeholder="请选择提成员工" style="width: 330px">
<el-option v-for="data in staffList" :label="data.realName" :value="data.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="充值备注" prop="desc" style="width: 450px">
<el-input type="textarea" v-model="ruleForm.desc"></el-input>
<el-input type="textarea" v-model="selectCard.desc"></el-input>
</el-form-item>
<el-form-item label="支付方式" prop="resource">
<el-radio-group v-model="ruleForm.resource">
<el-radio label="支付宝"></el-radio>
<el-radio label="微信"></el-radio>
<el-radio label="银联二维码"></el-radio>
<el-radio label="现金"></el-radio>
<el-radio-group v-model="selectCard.paymentType">
<el-radio v-for="item in payList" v-if="item.dictValue!='APPLET_CODE'" :label="item.dictValue">{{item.dictLabel}}</el-radio>
</el-radio-group>
</el-form-item>
</el-form>