Merge remote-tracking branch 'origin/master'

This commit is contained in:
齐天大圣 2024-03-01 14:16:58 +08:00
commit a16552120f
42 changed files with 720 additions and 570 deletions

View File

@ -20,7 +20,7 @@
<style >
.app-container{
width: 100%;
height: 100vh;
//height: 100vh;
background: #f6f8f9;
}
</style>

View File

@ -78,7 +78,7 @@ export function updateActiveConsumption(data) {
// 删除消费有礼活动
export function delActiveConsumption(id) {
return request({
url: '/business/marketingActivity/activeConsumption/' + id,
url: 'business/marketingActivity/activeConsumption/delById/' + id,
method: 'delete'
})
}

View File

@ -1,11 +1,11 @@
import request from '@/utils/request'
// 查询会员等级列表
export function listUserGrade(query) {
export function listUserGrade() {
return request({
url: '/business/userManager/userGrade/list',
method: 'get',
params: query
})
}

View File

@ -52,23 +52,50 @@
</el-table-column>
<el-table-column label="活动名称" align="center" prop="name" />
<el-table-column label="适用油品" align="center" prop="adaptOil" >
<template slot-scope="scope">
<span v-for="item in scope.row.adaptOil">{{ item }}, </span>
</template>
</el-table-column>
<el-table-column label="满足金额" align="center" prop="participationConditionMoney" >
<template slot-scope="scope">
<span>{{ scope.row.participationConditionMoney }} </span>
</template>
</el-table-column>
<el-table-column label="适用会员类型" align="center" prop="adaptUserType" >
<el-table-column label="适用用户" align="center" prop="adaptUserType" >
<template slot-scope="scope">
<span v-if="scope.row.adaptUserType == 0">全部用户</span>
<span v-if="scope.row.adaptUserType == 1">全部会员</span>
<span v-if="scope.row.adaptUserType == 2">等级会员</span>
</template>
</el-table-column>
<el-table-column label="会员等级" align="center" prop="dieselUserLevel" >
<template slot-scope="scope">
<span v-for="(item,index) in scope.row.dieselUserLevel "> {{item}} </span>
</template>
<el-table-column label="赠券数量" align="center" prop="adaptUserType" >
<template slot-scope="scope">
<div>优惠券{{scope.row.youhuiTotal || 0}}</div>
<div>兑换券{{scope.row.duihuanTotal || 0}}</div>
</template>
</el-table-column>
<el-table-column label="核销统计" align="center" prop="adaptUserType" >
<template slot-scope="scope">
<div>优惠券{{scope.row.youhuiTotaled || 0}}</div>
<div>兑换券{{scope.row.duihuanTotaled || 0}}</div>
</template>
</el-table-column>
<el-table-column label="活动时间" align="center" prop="adaptUserType" >
<template slot-scope="scope">
<div>{{scope.row.activeStartTime || 0}}</div>
<div>{{scope.row.activeEndTime || 0}}</div>
</template>
</el-table-column>
<!-- <el-table-column label="会员等级" align="center" prop="dieselUserLevel" >-->
<!-- <template slot-scope="scope">-->
<!-- <span v-for="(item,index) in scope.row.dieselUserLevel "> {{item}} </span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="活动状态" align="center" prop="status" >
<template slot-scope="scope">
@ -77,6 +104,21 @@
</template>
</el-table-column>
<!-- <el-table-column label="活动时间" align="center" prop="adaptUserType" >-->
<!-- <template slot-scope="scope">-->
<!-- <span >{{scope.row.activeStartTime || 0}}-{{scope.row.activeEndTime || 0}}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="活动更新时间" align="center" prop="updateTime" >
<template slot-scope="scope">
<span >{{scope.row.updateTime || '暂无更新'}}</span>
</template>
</el-table-column>
<el-table-column label="操作员" align="center" prop="updateTime" >
<template slot-scope="scope">
<span >{{scope.row.createBy || ''}}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
@ -94,7 +136,15 @@
@click="handleDeletexia(scope.row)"
v-if="scope.row.isonline == 0"
>下线</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="Deleteshan(scope.row)"
v-if="scope.row.isonline == 1"
>删除</el-button>
</template>
</el-table-column>
</el-table>
@ -113,6 +163,18 @@
<el-form-item label="活动名称" prop="name">
<el-input v-model="form.name" placeholder="请输入活动名称" />
</el-form-item>
<el-form-item label="满足金额" prop="moneyType">
<el-select v-model="form.moneyType" placeholder="请选择满足金额" >
<el-option
v-for="dict in moneyList"
:key="dict.id.toString()"
:label="dict.name"
:value="dict.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="满足金额" prop="participationConditionMoney">
<el-input-number :min="0.01" v-model="form.participationConditionMoney" placeholder="请输入满足金额" />
</el-form-item>
@ -523,6 +585,10 @@ export default {
name: "ActiveConsumption",
data() {
return {
moneyList:[
{name:'订单金额',id:'1'},
{name:'实付金额',id:'2'}
],
labelPosition:'left',
userGradeList:[],
pdidlist:[],//id
@ -625,6 +691,9 @@ export default {
adaptOil: [
{ required: true, message: '必填项不能为空', trigger: 'blur' },
],
moneyType:[
{ required: true, message: '必填项不能为空', trigger: 'blur' },
],
name: [
{ required: true, message: '必填项不能为空', trigger: 'blur' },
],
@ -966,9 +1035,13 @@ export default {
const id = row.id || this.ids
getActiveConsumption(id).then(response => {
this.form = response.data;
this.form.tableDatas = response.data.activeConsumptionChildList.filter(item => item.activeGift == '1')
this.tableDatas = response.data.activeConsumptionChildList.filter(item => item.activeGift == '2')
this.form.shiwudata = response.data.activeConsumptionChildList.filter(item => item.activeGift == '4')
if(response.data.activeConsumptionChildList&&response.data.activeConsumptionChildList.length >1){
this.form.tableDatas = response.data.activeConsumptionChildList.filter(item => item.activeGift == '1')
this.tableDatas = response.data.activeConsumptionChildList.filter(item => item.activeGift == '2')
this.form.shiwudata = response.data.activeConsumptionChildList.filter(item => item.activeGift == '4')
}
this.open = true;
this.title = "修改消费有礼活动";
});
@ -1044,16 +1117,19 @@ export default {
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除消费有礼活动编号为"' + ids + '"的数据项?').then(function() {
return delActiveConsumption(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
Deleteshan(row){
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除消费有礼活动编号为"' + ids + '"的数据项?').then(function() {
return delActiveConsumption(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 删除按钮操作 */
/** 导出按钮操作 */
handleExport() {
this.download('business/marketingActivity/activeConsumption/export', {

View File

@ -51,11 +51,32 @@
</el-table-column>
<!-- <el-table-column label="活动编号" align="center" prop="id" />-->
<el-table-column label="活动名称" align="center" prop="name" />
<el-table-column label="会员等级" align="center" prop="dieselUserLevel" >
<el-table-column label="适用油品" align="center" prop="adaptOil" >
<template slot-scope="scope">
<span > {{ scope.row.adaptOilss}} </span>
</template>
</el-table-column>
<el-table-column label="适用用户" align="center" prop="adaptOil" >
<template slot-scope="scope">
<span v-for="(item,index) in scope.row.dieselUserLevel "> {{item}} </span>
</template>
</el-table-column>
<el-table-column label="满足金额(元)" align="center" prop="adaptOil" >
<template slot-scope="scope">
<span> {{scope.row.activeDiscountChildList[0].amount}} </span>
</template>
</el-table-column>
<el-table-column label="折扣金额(元)" align="center" prop="adaptOil" >
<template slot-scope="scope">
<span> {{scope.row.activeDiscountChildList[0].discount}} </span>
</template>
</el-table-column>
<!-- <el-table-column label="会员等级" align="center" prop="dieselUserLevel" >-->
<!-- <template slot-scope="scope">-->
<!-- <span v-for="(item,index) in scope.row.dieselUserLevel "> {{item}} </span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="活动状态 " align="center" prop="status" >
@ -65,6 +86,22 @@
</template>
</el-table-column>
<el-table-column label="活动时间" align="center" prop="adaptUserType" >
<template slot-scope="scope">
<span >{{scope.row.activeStartTime || 0}}-{{scope.row.activeEndTime || 0}}</span>
</template>
</el-table-column>
<el-table-column label="活动更新时间" align="center" prop="updateTime" >
<template slot-scope="scope">
<span >{{scope.row.updateTime || '暂无更新'}}</span>
</template>
</el-table-column>
<el-table-column label="操作员" align="center" prop="updateTime" >
<template slot-scope="scope">
<span >{{scope.row.createBy || ''}}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
@ -100,23 +137,21 @@
<el-input v-model="form.name" placeholder="请输入活动名称" />
</el-form-item>
<el-form-item label="满减规则" prop="activeDiscountChildList">
<div v-for="(item,index) in form.activeDiscountChildList" :key="index" style="width: 100%; display: flex;align-items: center; margin-bottom: 10px ">
<div style="width: 100%; display: flex;align-items: center; margin-bottom: 10px ">
<div style="width: 25%;display: flex; align-items: center;margin-right: 20px " >
<span></span> <el-input-number v-model="item.amount" :min="0" :max="99999" label="0"></el-input-number> <span></span>
<span></span> <el-input-number v-model="activeDiscountChildList[0].amount" :min="0" :max="99999" label="0"></el-input-number> <span></span>
</div>
<div style="width: 25%;display: flex; align-items: center;">
<span></span> <el-input-number v-model="item.discount" :min="0" :max="9.9" placeholder="1 ~ 9.9" label=""></el-input-number> <span></span>
<span></span> <el-input-number v-model="activeDiscountChildList[0].discount" :min="0" :max="9.9" placeholder="1 ~ 9.9" label=""></el-input-number> <span></span>
</div>
<div @click="deleteactiveDiscountChildList(index)">
<el-button type="danger" icon="el-icon-delete" circle style="margin-left: 8px" ></el-button>
</div>
<!-- <div @click="deleteactiveDiscountChildList(index)">-->
<!-- <el-button type="danger" icon="el-icon-delete" circle style="margin-left: 8px" ></el-button>-->
<!-- </div>-->
</div>
<div >
<el-button type="primary" icon="el-icon-plus" @click="addactiveDiscountChildList">新增</el-button>
</div>
<!-- <div >-->
<!-- <el-button type="primary" icon="el-icon-plus" @click="addactiveDiscountChildList">新增</el-button>-->
<!-- </div>-->
</el-form-item>
<el-row :gutter="20">
@ -202,6 +237,10 @@ export default {
labelPosition:'left',
discount:'',
amount:'',
activeDiscountChildList:[
{amount:'',discount:''},
],
userGradeList:[],
oillist:['92#','95#','98#','0#','-10#','LNG','CNG','京92#','京95#','京0#'],
//
@ -245,7 +284,11 @@ export default {
isonline: null,
},
//
form: {},
form: {
},
//
rules: {
name: [
@ -285,9 +328,16 @@ export default {
};
},
created() {
console.log('dsbuaidhbiasuigbduaibduui')
listUserGrade().then(res=>{
console.log('1233333333333333333333' ,res)
this.userGradeList = res.data.records
})
//
this.getList();
this.getoilName();
this.listUserGrade()
},
methods: {
/** 查询折扣营销列表 */
@ -309,12 +359,7 @@ export default {
},
listUserGrade(){
listUserGrade().then(res=>{
if(res.code == 200){
this.userGradeList = res.data.records
}
})
},
//
addactiveDiscountChildList(){
@ -445,6 +490,7 @@ export default {
},
/** 提交按钮 */
submitForm() {
this.form.activeDiscountChildList = this.activeDiscountChildList
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {

View File

@ -51,11 +51,26 @@
</el-table-column>
<!-- <el-table-column label="活动编号" align="center" prop="id" />-->
<el-table-column label="活动名称" align="center" prop="name" />
<el-table-column label="会员等级" align="center" prop="dieselUserLevel" >
<el-table-column label="适用油品" align="center" prop="adaptOil" >
<template slot-scope="scope">
<span > {{ scope.row.adaptOilss}} </span>
</template>
</el-table-column>
<el-table-column label="适用用户" align="center" prop="adaptOil" >
<template slot-scope="scope">
<span v-for="(item,index) in scope.row.dieselUserLevel "> {{item}} </span>
</template>
</el-table-column>
<el-table-column label="满足金额(元)" align="center" prop="adaptOil" >
<template slot-scope="scope">
<span> {{scope.row.activeDiscountChildList[0].amount}} </span>
</template>
</el-table-column>
<el-table-column label="减去金额(元)" align="center" prop="adaptOil" >
<template slot-scope="scope">
<span> {{scope.row.activeDiscountChildList[0].deductionAmount}} </span>
</template>
</el-table-column>
<el-table-column label="活动状态 " align="center" prop="status" >
@ -64,6 +79,21 @@
<span style="cursor: pointer;" @click="jinyong(scope.row)" v-if="scope.row.status == 1"> <el-tag type="danger">禁用</el-tag> </span>
</template>
</el-table-column>
<el-table-column label="活动时间" align="center" prop="adaptUserType" >
<template slot-scope="scope">
<span >{{scope.row.activeStartTime || 0}}-{{scope.row.activeEndTime || 0}}</span>
</template>
</el-table-column>
<el-table-column label="活动更新时间" align="center" prop="updateTime" >
<template slot-scope="scope">
<span >{{scope.row.updateTime || '暂无更新'}}</span>
</template>
</el-table-column>
<el-table-column label="操作员" align="center" prop="updateTime" >
<template slot-scope="scope">
<span >{{scope.row.createBy || ''}}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
@ -80,13 +110,7 @@
@click="handleDeletexia(scope.row)"
v-if="scope.row.isonline == 0"
>下线</el-button>
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-delete"-->
<!-- @click="handleDelete(scope.row)"-->
<!-- -->
<!-- >下线</el-button>-->
</template>
</el-table-column>
</el-table>
@ -106,24 +130,23 @@
<el-form-item label="活动名称" prop="name">
<el-input v-model="form.name" placeholder="请输入活动名称" />
</el-form-item>
<el-form-item label="满减规则" prop="activeDiscountChildList">
<div v-for="(item,index) in form.activeDiscountChildList" :key="index" style="width: 100%; display: flex;align-items: center; margin-bottom: 10px ">
<div style="width: 100%; display: flex;align-items: center; margin-bottom: 10px ">
<div style="width: 25%;display: flex; align-items: center;margin-right: 20px " >
<span></span> <el-input-number v-model="item.amount" :min="0" :max="9999" label="0"></el-input-number> <span></span>
<span></span> <el-input-number v-model="activeDiscountChildList[0].amount" :min="0" :max="99999" label="0"></el-input-number> <span></span>
</div>
<div style="width: 25%;display: flex; align-items: center;">
<span></span> <el-input-number v-model="item.deductionAmount" :min="0" :max="9999" label="0"></el-input-number> <span></span>
<span></span> <el-input-number v-model="activeDiscountChildList[0].deductionAmount" :min="0" :max="9.9" placeholder="1 ~ 9.9" label=""></el-input-number> <span></span>
</div>
<div @click="deleteactiveDiscountChildList(index)">
<el-button type="danger" icon="el-icon-delete" circle style="margin-left: 8px" ></el-button>
</div>
<!-- <div @click="deleteactiveDiscountChildList(index)">-->
<!-- <el-button type="danger" icon="el-icon-delete" circle style="margin-left: 8px" ></el-button>-->
<!-- </div>-->
</div>
<div>
<el-button type="primary" icon="el-icon-plus" @click="addactiveDiscountChildList">新增</el-button>
</div>
<!-- <div >-->
<!-- <el-button type="primary" icon="el-icon-plus" @click="addactiveDiscountChildList">新增</el-button>-->
<!-- </div>-->
</el-form-item>
<el-row :gutter="20">
@ -204,6 +227,10 @@ export default {
name: "ActiveFullminus",
data() {
return {
activeDiscountChildList:[
{amount:'',deductionAmount:''},
],
labelPosition:'left',
oillist:['92#','95#','98#','0#','-10#','LNG','CNG','京92#','京95#','京0#'],
userGradeList: [],
@ -444,6 +471,7 @@ export default {
},
/** 提交按钮 */
submitForm() {
this.form.activeDiscountChildList = this.activeDiscountChildList
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {

View File

@ -180,270 +180,71 @@
</div>
</el-card>
<el-card>
<el-table v-loading="loading" :data="activeFullminusList" @selection-change="handleSelectionChange">
<el-table-column
type="index"
align="center"
label="序号"
>
</el-table-column>
<!-- <el-table-column label="活动编号" align="center" prop="id" />-->
<el-table-column label="活动名称" align="center" prop="name" />
<el-table-column label="活动时间" align="center" prop="adaptUserType" >
<template slot-scope="scope">
<span >{{scope.row.activeStartTime || 0}}-{{scope.row.activeEndTime || 0}}</span>
</template>
</el-table-column>
<!-- <el-card style="margin-bottom: 20px">-->
<!-- <el-row :gutter="10" class="mb8">-->
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="primary"-->
<!-- plain-->
<!-- icon="el-icon-plus"-->
<!-- size="mini"-->
<!-- @click="handleAdd"-->
<!-- >新增</el-button>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- <el-table v-loading="loading" :data="activeNewlywedsList" :label-position="labelPosition" @selection-change="handleSelectionChange">-->
<!-- <el-table-column-->
<!-- type="index"-->
<!-- align="center"-->
<!-- label="排序"-->
<!-- >-->
<!-- </el-table-column>-->
<!-- <el-table-column label="活动编号" align="center" prop="id" />-->
<!-- <el-table-column label="活动名称" align="center" prop="name" />-->
<!-- <el-table-column label="活动开始时间" align="center" prop="activeStartTime" width="180">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{scope.row.activeStartTime}}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="活动结束时间" align="center" prop="activeEndTime" width="180">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{scope.row.activeEndTime}}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="有礼奖励" align="center" prop="courtesyReward" >-->
<!-- <template slot-scope="scope">-->
<!-- <div v-for="(item,index) in scope.row.courtesyReward ">-->
<!-- <div v-if="item == 0" >优惠券</div>-->
<!-- <div v-if="item == 1">兑换券</div>-->
<!-- </div>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="活动码" align="center" prop="activeCode" >-->
<!-- <template slot-scope="scope">-->
<!-- <div style="cursor: pointer" @click="qrcodelook(scope.row.activeCode)">-->
<!-- <i class="el-icon-picture" ></i>-->
<!-- </div>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="活动状态" align="center" prop="status" >-->
<!-- <template slot-scope="scope">-->
<!-- <span v-if="scope.row.status == 0"> <el-tag>进行中</el-tag> </span>-->
<!-- <span v-if="scope.row.status == 1"> <el-tag type="success">待生效</el-tag> </span>-->
<!-- <span v-if="scope.row.status == 2"> <el-tag type="danger">已结束</el-tag> </span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">-->
<!-- <template slot-scope="scope">-->
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-edit"-->
<!-- @click="handleUpdate(scope.row)"-->
<!-- >修改</el-button>-->
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-delete"-->
<!-- @click="handleDeletexia(scope.row)"-->
<!-- v-if="scope.row.isonline == 0"-->
<!-- >下线</el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- </el-table>-->
<el-table-column label="活动状态 " align="center" prop="status" >
<template slot-scope="scope">
<span style="cursor: pointer;" @click="qiyong(scope.row)" v-if="scope.row.status == 0"> <el-tag>启用</el-tag > </span>
<span style="cursor: pointer;" @click="jinyong(scope.row)" v-if="scope.row.status == 1"> <el-tag type="danger">禁用</el-tag> </span>
</template>
</el-table-column>
<el-table-column label="赠送积分" align="center" prop="adaptUserType" >
<template slot-scope="scope">
<span >{{scope.row.points || 0}}</span>
</template>
</el-table-column>
<el-table-column label="赠送成长值" align="center" prop="adaptUserType" >
<template slot-scope="scope">
<span >{{scope.row.growthValue || 0}}</span>
</template>
</el-table-column>
<el-table-column label="活动更新时间" align="center" prop="updateTime" >
<template slot-scope="scope">
<span >{{scope.row.updateTime || '暂无更新'}}</span>
</template>
</el-table-column>
<!-- <pagination-->
<!-- v-show="total>0"-->
<!-- :total="total"-->
<!-- :page.sync="queryParams.pageNum"-->
<!-- :limit.sync="queryParams.pageSize"-->
<!-- @pagination="getList"-->
<!-- />-->
<!-- </el-card>-->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
<!-- 添加或修改新人有礼活动对话框 -->
<!-- <el-dialog :title="title" :visible.sync="open" width="45%" append-to-body>-->
<!-- <el-form ref="form" :model="form" :rules="rules" :label-position="labelPosition" label-width="110px">-->
<!-- <el-form-item label="活动名称" prop="name">-->
<!-- <el-input v-model="form.name" placeholder="请输入活动名称" />-->
<!-- </el-form-item>-->
<!-- <el-row :gutter="20">-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label="活动开始时间" prop="activeStartTime">-->
<!-- <el-date-picker clearable-->
<!-- v-model="form.activeStartTime"-->
<!-- type="datetime"-->
<!-- value-format="yyyy-MM-dd HH:mm:ss"-->
<!-- placeholder="请选择活动开始时间">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label="活动结束时间" prop="activeEndTime">-->
<!-- <el-date-picker clearable-->
<!-- v-model="form.activeEndTime"-->
<!-- type="datetime"-->
<!-- value-format="yyyy-MM-dd HH:mm:ss"-->
<!-- placeholder="请选择活动结束时间">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- <el-form-item label="有礼奖励" prop="courtesyReward" >-->
<!-- <el-checkbox-group v-model="form.courtesyReward">-->
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDeletexia(scope.row)"
v-if="scope.row.isonline == 0"
>下线</el-button>
<!-- <el-checkbox label="1" >赠送优惠券</el-checkbox>-->
<!-- <el-checkbox label="2" >赠送兑换券</el-checkbox>-->
</template>
</el-table-column>
</el-table>
<!-- </el-checkbox-group>-->
<!-- </el-form-item>-->
<!-- &lt;!&ndash; 选择优惠券&ndash;&gt;-->
<!-- <div class="xh-box" v-if="form.courtesyReward && form.courtesyReward.indexOf('1')>-1 " >-->
<!-- <div class="box-bt"> <div >赠送卡券</div> <el-button type="primary" icon="el-icon-plus" @click="getlistFavorable()" >新增</el-button> </div>-->
<!-- <div style="margin: 10px 0px">-->
<!-- <el-table-->
<!-- :data="form.tableDatas"-->
<!-- border-->
<!-- style="width: 100%">-->
<!-- <el-table-column-->
<!-- prop="giftCardName"-->
<!-- label="卡券名称"-->
<!-- width="0">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- prop="giftCardType"-->
<!-- 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>-->
<!-- </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="date"-->
<!-- label="有效期(天)"-->
<!-- width="240">-->
<!-- <template slot-scope="scope">-->
<!-- <span v-if="scope.row.timeType == 0" > <el-input-number v-model="scope.row.validityZero" controls-position="right" :min="1" :max="9999"></el-input-number> </span>-->
<!-- <span v-if="scope.row.timeType == 1" > <el-input-number v-model="scope.row.validityOne" controls-position="right" :min="1" :max="9999"></el-input-number> </span>-->
<!-- <span v-if="scope.row.timeType == 2" > <el-input-number v-model="scope.row.validityTwo" controls-position="right" :min="1" :max="9999"></el-input-number> </span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- prop="date"-->
<!-- 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>-->
<!-- &lt;!&ndash; 选择兑换券&ndash;&gt;-->
<!-- <div class="xh-box" v-if="form.courtesyReward && form.courtesyReward.indexOf('2')>-1 " >-->
<!-- <div class="box-bt"> <div >选择兑换券</div> <el-button type="primary" icon="el-icon-plus" @click="getlistExchange()" >新增</el-button> </div>-->
<!-- <div style="margin: 10px 0px">-->
</el-card>
<!-- <el-table-->
<!-- :data="tableDatas"-->
<!-- border-->
<!-- style="width: 100%">-->
<!-- <el-table-column-->
<!-- prop="giftCardName"-->
<!-- label="卡券名称"-->
<!-- width="80">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- prop="date"-->
<!-- 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>-->
<!-- </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="date"-->
<!-- label="有效期(天)"-->
<!-- width="240">-->
<!-- <template slot-scope="scope">-->
<!-- <span > <el-input-number v-model="scope.row.giftCardTime" controls-position="right" :min="1" :max="9999"></el-input-number> </span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- prop="date"-->
<!-- 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="deletedhdata(scope.row)"-->
<!-- >删除</el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- </el-table>-->
<!-- </div>-->
<!-- </div>-->
<!-- <el-form-item label="赠送积分" prop="points">-->
<!-- <el-input-number v-model="form.points" controls-position="right" :min="1" :max="99999"></el-input-number>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="赠送成长值" prop="growthValue">-->
<!-- <el-input-number v-model="form.growthValue" controls-position="right" :min="1" :max="9999999"></el-input-number>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="自定义规则" prop="remark">-->
<!-- <el-input v-model="form.remark" placeholder="请输入自定义规则" />-->
<!-- </el-form-item>-->
<!-- </el-form>-->
<!-- <div slot="footer" class="dialog-footer">-->
<!-- <el-button type="primary" @click=""> </el-button>-->
<!-- <el-button @click="cancel"> </el-button>-->
<!-- </div>-->
<!-- </el-dialog>-->
<!-- 优惠券列表-->
@ -661,6 +462,7 @@ export default {
points: null,
growthValue: null,
},
activeFullminusList: [],
//
form: {
id:1,
@ -695,11 +497,19 @@ export default {
};
},
created() {
this.handleUpdate();
this.getList()
// this.handleUpdate();
},
methods: {
/** 查询新人有礼活动列表 */
getList() {
this.loading = true;
getActiveNewlyweds(1).then(res=>{
this.activeFullminusList = res.data;
this.total = res.data.total;
console.log(res)
this.loading = false;
})
// this.loading = true;
// listActiveNewlyweds(this.queryParams).then(response => {
// this.activeNewlywedsList = response.data.records;

View File

@ -91,7 +91,7 @@
</el-card>
<el-card style="margin-top: 20px">
<div>
<div v-if="activeName=='goods'">
<el-button
type="primary"
@click="batchGrounding('qy')"

View File

@ -8,11 +8,17 @@
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="100px">
<el-form-item label="交班方式" prop="status">
<el-select v-model="queryParams.status" style="width: 150px" placeholder="交班方式" clearable>
<el-option label="统一交班" value="统一交班">统一交班</el-option>
<el-option label="个人交班" value="个人交班">个人交班</el-option>
</el-select>
</el-form-item>
<el-form-item label="交班员工" prop="staffId">
<el-select v-model="queryParams.staffId" style="width: 150px" placeholder="交班方式" clearable>
<el-option
v-for="option in shiftHandoverList"
:key="option.dictCode"
:label="option.dictLabel"
:value="option.dictLabel"
v-for="option in staffList"
:key="option.id"
:label="option.realName"
:value="option.id"
></el-option>
</el-select>
</el-form-item>
@ -43,8 +49,6 @@
</el-form>
</el-card>
<!-- style="width: 1500px"-->
<el-card style="margin-top: 20px" class="box-card">
<el-table
ref="tables"
@ -103,6 +107,7 @@ import {getHandoverListApi,printLocallyApi} from "@/api/handover/handover";
import {getStatisticsApi } from "@/api/order/order";
import {getDicts} from "@/api/order/data";
import HandoverOnly from "@/views/handover/HandoverOnly.vue";
import {listStaff} from "@/api/order/staff";
export default {
name: "pointsCashier",
@ -131,7 +136,7 @@ export default {
defaultSort: {prop: 'createTime', order: 'descending'},
total: 0,
staffList:[],
statisticsForm: {
num:0,
exchangeQuantity:0,
@ -144,6 +149,7 @@ export default {
this.getList();
this.getStatistics();
this.getStatus();
this.getStaffList();
},
methods: {
getList(){
@ -177,6 +183,14 @@ export default {
this.getList();
},
getStaffList() {
listStaff(this.addDateRange({ page: 1,
pageSize: 10000})).then(response => {
this.staffList = response.data.records;
}
);
},
resetQuery(){
this.queryParams = {
giftName: '',
@ -187,6 +201,7 @@ export default {
pageSize:10
},
this.dateRange = []
this.getList();
},
printLocally(data) {
printLocallyApi(data).then(res=>{

View File

@ -58,11 +58,11 @@
<div>{{ handoverList && handoverList.orderSummary ? handoverList.orderSummary.oilPaid : '0' }}</div>
</div>
<div class="input-box">
<div>油品优惠(实收)</div>
<div>{{ handoverList && handoverList.orderSummary ? handoverList.orderSummary.oilDiacount : '0' }}</div>
<!-- <div class="input-box">-->
<!-- <div>油品优惠(实收)</div>-->
<!-- <div>{{ handoverList && handoverList.orderSummary ? handoverList.orderSummary.oilDiacount : '0' }}</div>-->
</div>
<!-- </div>-->
<!-- <div class="input-box">-->
<!-- <div>抹零总额(实收)</div>-->
<!-- <div>2164.55</div>-->
@ -75,11 +75,11 @@
<div>{{ handoverList && handoverList.orderSummary ? handoverList.orderSummary.cardOrder : '0' }}</div>
</div>
<div class="input-box">
<div>会员储值(退款)</div>
<div>{{ handoverList && handoverList.orderSummary ? handoverList.orderSummary.cardRefund : '0' }}</div>
<!-- <div class="input-box">-->
<!-- <div>会员储值(退款)</div>-->
<!-- <div>{{ handoverList && handoverList.orderSummary ? handoverList.orderSummary.cardRefund : '0' }}</div>-->
</div>
<!-- </div>-->
<div class="input-box">
<div>会员储值(实收)</div>
<div>{{ handoverList && handoverList.orderSummary ? handoverList.orderSummary.cardPaid : '0' }}</div>
@ -90,11 +90,11 @@
<div>{{ handoverList && handoverList.orderSummary ? handoverList.orderSummary.cardGiftOrder : '0' }}</div>
</div>
<div class="input-box">
<div>储值赠送(退款)</div>
<div>{{ handoverList && handoverList.orderSummary ? handoverList.orderSummary.cardGiftRefund : '0' }}</div>
<!-- <div class="input-box">-->
<!-- <div>储值赠送(退款)</div>-->
<!-- <div>{{ handoverList && handoverList.orderSummary ? handoverList.orderSummary.cardGiftRefund : '0' }}</div>-->
</div>
<!-- </div>-->
<div class="input-box">
<div>储值赠送(实际)</div>
<div>{{ handoverList && handoverList.orderSummary ? handoverList.orderSummary.cardGiftPaid : '0' }}</div>
@ -107,11 +107,11 @@
<div>{{ handoverList && handoverList.orderSummary ? handoverList.orderSummary.fuelOrder : '0' }}</div>
</div>
<div class="input-box">
<div>存油储值(退款)</div>
<div>{{ handoverList && handoverList.orderSummary ? handoverList.orderSummary.fuelRefund : '0' }}</div>
<!-- <div class="input-box">-->
<!-- <div>存油储值(退款)</div>-->
<!-- <div>{{ handoverList && handoverList.orderSummary ? handoverList.orderSummary.fuelRefund : '0' }}</div>-->
</div>
<!-- </div>-->
<div class="input-box">
<div>存油储值(实收)</div>
<div>{{ handoverList && handoverList.orderSummary ? handoverList.orderSummary.fuelPaid : '0' }}</div>

View File

@ -16,7 +16,7 @@
<el-option label="未支付" value="unpaid">未支付</el-option>
<el-option label="付款成功" value="paid">付款成功</el-option>
<el-option label="付款失败" value="payFail">付款失败</el-option>
</el-select>
</el-select>
</el-form-item>
<el-form-item label="手机号码" prop="giftName">
<el-input
@ -27,7 +27,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="注册时间">
<el-form-item label="时间">
<el-date-picker
v-model="dateRange"
style="width: 240px"
@ -197,8 +197,7 @@ export default {
this.$forceUpdate()
},
getStatistics() {
getStatisticsApi({orderType: 1}).then(res=>{
getStatisticsApi(this.addDateRange(this.queryParams, this.dateRange)).then(res=>{
this.statisticsForm = res.data
})
},
@ -206,6 +205,7 @@ export default {
handleUpdate(){},
handleQuery(){
this.getList();
this.getStatistics();
},
resetQuery(){
@ -218,7 +218,9 @@ export default {
pageSize:10
},
this.dateRange = []
this.getList();
this.getList()
this.getStatistics();
},
handleDetail(data){
this.openDetail = true

View File

@ -254,7 +254,7 @@
</el-card>
<!-- 添加会员信息选择是否批量录入-->
<el-dialog :title="title" width="55%" :visible.sync="openUser" append-to-body>
<el-dialog :title="title" width="40%" :visible.sync="openUser" append-to-body>
<el-alert
type="info"
:closable="false">
@ -268,31 +268,31 @@
<el-button type="primary"
icon="el-icon-connection" @click="addMult" round>批量导入会员</el-button>
</div>
<div>
<el-table ref="tables" v-loading="loading" :data="userList">
<el-table-column prop="batchNumber" align="center" label="批次号" width="200"/>
<el-table-column prop="type" align="center" label="类型"/>
<el-table-column prop="memberNumber" align="center" label="会员数"/>
<el-table-column label="执行结果" align="center" >
<el-table-column prop="successNumber" align="center" label="成功人数"/>
<el-table-column prop="errorNumber" align="center" label="失败人数"/>
<el-table-column prop="repeatNumber" align="center" label="重复人数"/>
</el-table-column>
<el-table-column prop="createTime" align="center" label="处理时间" width="160">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<!-- <el-table-column prop="date" align="center" label="处理结果详情"/>-->
</el-table>
<!-- <div>-->
<!-- <el-table ref="tables" v-loading="loading" :data="userList">-->
<!-- <el-table-column prop="batchNumber" align="center" label="批次号" width="200"/>-->
<!-- <el-table-column prop="type" align="center" label="类型"/>-->
<!-- <el-table-column prop="memberNumber" align="center" label="会员数"/>-->
<!-- <el-table-column label="执行结果" align="center" >-->
<!-- <el-table-column prop="successNumber" align="center" label="成功人数"/>-->
<!-- <el-table-column prop="errorNumber" align="center" label="失败人数"/>-->
<!-- <el-table-column prop="repeatNumber" align="center" label="重复人数"/>-->
<!-- </el-table-column>-->
<!-- <el-table-column prop="createTime" align="center" label="处理时间" width="160">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ parseTime(scope.row.createTime) }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!--&lt;!&ndash; <el-table-column prop="date" align="center" label="处理结果详情"/>&ndash;&gt;-->
<!-- </el-table>-->
<pagination
:total="total1"
:page.sync="queryParams.page"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
<!-- <pagination-->
<!-- :total="total1"-->
<!-- :page.sync="queryParams.page"-->
<!-- :limit.sync="queryParams.pageSize"-->
<!-- @pagination="getList"-->
<!-- />-->
<!-- </div>-->
</el-dialog>
<!-- 添加或修改对话框 -->

View File

@ -48,7 +48,7 @@ Vue.prototype.getName = getName
Vue.prototype.download = download
Vue.prototype.handleTree = handleTree
// Vue.prototype.pcUrl = 'http://192.168.0.121:82/'
Vue.prototype.pcUrl = 'http://192.168.0.121:82/'
Vue.prototype.pcUrl = 'http://192.168.0.178:81/'
// Vue.prototype.pcUrl = 'http://47.95.206.185:85/'
// 全局组件挂载

View File

@ -13,6 +13,7 @@ import com.fuint.api.fuyou.util.Utils;
import com.fuint.business.commission.service.StaffCommissionService;
import com.fuint.business.integral.entity.IntegralOrders;
import com.fuint.business.integral.service.IntegralOrdersService;
import com.fuint.business.integral.service.IntegralSettingsService;
import com.fuint.business.marketingActivity.cardFavorable.entity.CardFavorableRecord;
import com.fuint.business.marketingActivity.cardFavorable.service.CardFavorableRecordService;
import com.fuint.business.marketingActivity.cardFule.entity.CardFuelRecord;
@ -51,6 +52,8 @@ public class FyPayServiceImpl implements FyPayService {
private StaffCommissionService staffCommissionService;
@Autowired
private MerchantConfigRecordService merchantConfigRecordService;
@Resource
private IntegralSettingsService integralSettingsService;
/**
* 条码支付
@ -194,14 +197,16 @@ public class FyPayServiceImpl implements FyPayService {
oilOrder.setTankId(tankId);
oilOrderService.addOilTracks(oilOrder, oilOrder.getStoreId());
}
if (ObjectUtil.isNotEmpty(oilOrder.getUserId())) integralSettingsService.refuelPoints(oilOrder);
// 修改优惠券使用状态
if (oilOrder.getCouponId()!=null){
CardFavorableRecord byId = cardFavorableRecordService.getById(oilOrder.getCouponId());
if (!ObjectUtil.isEmpty(byId)){
byId.setStatus("1");
cardFavorableRecordService.updateById(byId);
}
}
// if (oilOrder.getCouponId()!=null){
// CardFavorableRecord byId = cardFavorableRecordService.getById(oilOrder.getCouponId());
// if (!ObjectUtil.isEmpty(byId)){
// byId.setStatus("1");
// cardFavorableRecordService.updateById(byId);
// }
// }
}
if (!ObjectUtil.isEmpty(goodsOrder)){
// 商品订单

View File

@ -40,6 +40,8 @@
<!-- <result property="addrName" column="addrName" jdbcType="VARCHAR"/>-->
<!-- <result property="addrMobile" column="addrMobile" jdbcType="VARCHAR"/>-->
<result property="address" column="address" jdbcType="VARCHAR"/>
<result property="actualPayment" column="actual_payment" jdbcType="VARCHAR"/>
<result property="makeChange" column="make_change" jdbcType="VARCHAR"/>
</resultMap>
@ -73,6 +75,9 @@
io.update_time,
io.courier_companies,
io.the_tracking_number,
io.actual_payment,
io.make_change,
io.payment_type,
mu.mobile,
mu.user_no,
mu.name,

View File

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fuint.business.integral.entity.IntegralGift;
import com.fuint.business.integral.entity.IntegralSettings;
import com.fuint.business.order.entity.OilOrder;
import io.lettuce.core.dynamic.annotation.Param;
@ -69,4 +70,9 @@ public interface IntegralSettingsService {
IntegralSettings signInFunction(IntegralSettings integralSettings);
/**
* 加油赠送积分
* @param order
*/
void refuelPoints(OilOrder order);
}

View File

@ -447,7 +447,7 @@ public class IntegralOrdersServiceImpl implements IntegralOrdersService {
// 首先判断是否足够积分
LJUserVo ljUserVos = ljUserMapper.selectAllInfoById2(nowAccountInfo.getId(), integralOrdersList.getChainStoreId());
if (ljUserVos.getPoints() <= integralOrdersList.getAllPoints()) {
if (Double.valueOf(ljUserVos.getPoints()).compareTo(integralOrdersList.getAllPoints()) <0 ) {
integralOrdersList.getIntegralOrdersList().get(0).setStatus("un");
applet.put("code", "error");
applet.put("msg", "积分不足");

View File

@ -15,6 +15,7 @@ import com.fuint.business.integral.mapper.IntegralDetailMapper;
import com.fuint.business.integral.mapper.IntegralSettingsMapper;
import com.fuint.business.integral.service.IntegralDetailService;
import com.fuint.business.integral.service.IntegralSettingsService;
import com.fuint.business.order.entity.OilOrder;
import com.fuint.business.petrolStationManagement.entity.OilNumber;
import com.fuint.business.petrolStationManagement.mapper.OilNumberMapper;
import com.fuint.business.storeInformation.entity.LJStore;
@ -107,6 +108,7 @@ public class IntegralSettingsServiceImpl implements IntegralSettingsService {
refuelConsumptionAmountMap.put("oilName", oilNumber.getOilName() + oilNumber.getOilType());
refuelConsumptionAmountMap.put("amount", 0);
refuelConsumptionAmountMap.put("integral", 0);
refuelConsumptionAmountMap.put("oilNameId", oilNumber.getId());
refuelConsumptionAmountList.add(refuelConsumptionAmountMap);
}
String refuelConsumptionAmount = JSON.toJSONString(refuelConsumptionAmountList);
@ -126,6 +128,7 @@ public class IntegralSettingsServiceImpl implements IntegralSettingsService {
refuelConsumptionAmountMap.put("oilName", oilNumber.getOilName() + oilNumber.getOilType());
refuelConsumptionAmountMap.put("amount", 0);
refuelConsumptionAmountMap.put("integral", 0);
refuelConsumptionAmountMap.put("oilNameId",oilNumber.getId());
refuelConsumptionAmountList.add(refuelConsumptionAmountMap);
}
String refuelConsumptionAmount = JSON.toJSONString(refuelConsumptionAmountList);
@ -298,6 +301,69 @@ public class IntegralSettingsServiceImpl implements IntegralSettingsService {
return null;
}
@Override
public void refuelPoints(OilOrder order) {
IntegralSettings integralSettings = integralSettingsMapper.getByStoreId(order.getStoreId());
if (ObjectUtil.isNotEmpty(integralSettings) && integralSettings.getRefuelPointsRules()==0
&& integralSettings.getRefuelPointsFunction() ==0){
if (integralSettings.getRefuelSceneType()==0){
// 按金额
if (integralSettings.getRefuelAmountType()==0){
// 按订单金额
countPoints(integralSettings,order.getOils(),order.getOrderAmount(),order.getUserId());
}else {
// 按实付金额
if (integralSettings.getRefuelValueParticipation()==0){
// 储值金额不参与
countPoints(integralSettings,order.getOils(),order.getPayAmount(),order.getUserId());
}else {
// 储值金额参与
countPoints(integralSettings,order.getOils(),order.getPayAmount()+order.getBalanceAmount(),order.getUserId());
}
}
}else if (integralSettings.getRefuelSceneType()==1){
// 按实付金额
countPoints(integralSettings,order.getOils(),order.getPayAmount()+order.getBalanceAmount(),order.getUserId());
}
}
}
/**
* 计算赠送积分
* @param integralSettings
* @param oilId 油品id
* @param amount 消费金额
* @param userId 用户id
*/
private void countPoints(IntegralSettings integralSettings,String oilId,Double amount,Integer userId){
LJStore store = iljStoreService.selectStoreByStoreId(integralSettings.getStoreId());
UserBalance balance = userBalanceService.selectUserBalance(userId, store.getChainStoreId());
if (ObjectUtil.isNotEmpty(balance)) {
if (integralSettings.getRefuelSceneRules()==0) {
// 通用规则
if (integralSettings.getRefuelFuelAmount() <= amount) {
Integer points = balance.getPoints();
balance.setPoints(points+integralSettings.getRefuelPoints());
}
} else {
// 油品区分
JSONArray jsonArray = JSONArray.parseArray(integralSettings.getRefuelConsumptionAmount());
for (int i = 0;i<jsonArray.size();i++){
Double amount1 = Double.valueOf(jsonArray.getJSONObject(i).get("amount").toString());
Integer integral = Integer.valueOf(jsonArray.getJSONObject(i).get("integral").toString());
String oilNameId = jsonArray.getJSONObject(i).get("oilNameId").toString();
if (oilNameId.equals(oilId)){
if (amount1<=amount){
Integer points = balance.getPoints();
balance.setPoints(points+integral);
}
}
}
}
userBalanceService.updateUserBalance(balance);
}
}
private void extracted(LJUserVo ljUserVos, JSONArray jsonArray, int dayInt) {
IntegralDetail integralDetail = new IntegralDetail();
integralDetail.setStoreId(ljUserVos.getStoreId());

View File

@ -178,8 +178,8 @@ public class QrCodeUtils {
*/
private BufferedImage createQrCode(InputStream logoStream, String url, int width, int height) throws IOException {
QrConfig config = new QrConfig(width, height);
Image image = ImageIO.read(logoStream);
config.setImg(image);
// Image image = ImageIO.read(logoStream);
// config.setImg(image);
config.setMargin(1);
config.setErrorCorrection(ErrorCorrectionLevel.H);
return QrCodeUtil.generate(url, config);

View File

@ -87,6 +87,10 @@ public class CashierOrder extends BaseEntity implements Serializable {
* 订单金额
*/
private Double amount;
/**
* 优惠后应付金额
*/
private Double afterDiscountAmount;
/**
* 实付金额
*/

View File

@ -2,6 +2,7 @@ package com.fuint.business.order.entity;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fuint.repository.model.base.BaseEntity;
import lombok.Data;
@ -43,6 +44,10 @@ public class HandoverRecord extends BaseEntity {
private Integer storeId;
@TableField(exist = false
)
private String realName;

View File

@ -15,7 +15,8 @@
<result property="updateBy" column="update_by" jdbcType="INTEGER"/>
<!-- <result property="staffName" column="real_name" jdbcType="VARCHAR"/>-->
<result property="type" column="type" jdbcType="VARCHAR"/>
<result property="status" column="real_name" jdbcType="VARCHAR"/>
<result property="status" column="status" jdbcType="VARCHAR"/>
<result property="realName" column="real_name" jdbcType="VARCHAR"/>
</resultMap>
<!--查询单个-->
@ -63,6 +64,10 @@
</if>
<if test="staffId != null">
and staff_id = #{staffId}
and status = '个人交班'
</if>
<if test="staffId == null">
and status = '统一交班'
</if>
<if test="recordData != null and recordData != ''">
and record_data = #{recordData}
@ -379,6 +384,14 @@ limit 1
a.staffId AS staffId,
sum( a.numberOfDeals ) AS numberOfDeals,
SUM( a.paidAmount) AS paidAmount,
SUM(IF(a.flag ='oil', a.numberOfDeals,0)) oilN,
SUM(IF(a.flag ='oil', a.paidAmount,0)) oilP,
SUM(IF(a.flag ='card', a.numberOfDeals,0)) cardN,
SUM(IF(a.flag ='card', a.paidAmount,0)) cardP,
SUM(IF(a.flag ='fuel', a.numberOfDeals,0)) fuelN,
SUM(IF(a.flag ='fuel', a.paidAmount,0)) fuelP,
SUM(IF(a.flag ='goods', a.numberOfDeals,0)) goodsN,
SUM(IF(a.flag ='goods', a.paidAmount,0)) goodsP,
ms.real_name name
from
(SELECT
@ -424,26 +437,26 @@ limit 1
where store_id = #{storeId}
and create_time BETWEEN #{startTime} AND #{endTime}
GROUP BY
staff_id UNION ALL
SELECT
'point' AS flag,
staff_id staffId,
count( STATUS = 'paid' ) numberOfDeals,
SUM(IF(status='status', amount, 0)) AS paidAmount
FROM
integral_orders
where store_id = #{storeId}
and create_time BETWEEN #{startTime} AND #{endTime}
GROUP BY payment_type
having staff_id is not null
staff_id
) AS a
left join mt_staff ms ON a.staffId = ms.id
GROUP BY a.staffId
HAVING a.staffId is not null
</select>
<!-- UNION ALL-->
<!-- SELECT-->
<!-- 'point' AS flag,-->
<!-- staff_id staffId,-->
<!-- count( STATUS = 'paid' ) numberOfDeals,-->
<!-- SUM(IF(status='status', amount, 0)) AS paidAmount-->
<!-- FROM-->
<!-- integral_orders-->
<!-- where store_id = #{storeId}-->
<!-- and create_time BETWEEN #{startTime} AND #{endTime}-->
<!-- GROUP BY payment_type-->
<!-- having staff_id is not null-->
<select id="billingDetails" resultType="java.util.Map">
select
cu.unit_name name,

View File

@ -72,12 +72,13 @@
<if test="order.orderStatus != null and order.orderStatus != ''">
and order_status = #{order.orderStatus}
</if>
<if test="order.remark != null and order.remark != ''">
and order_status = 'paid' and remark is null or remark = '' and order_status = 'paid'
</if>
<if test="order.payType != null and order.payType != ''">
and pay_type = #{order.payType}
</if>
<if test="order.remark != null and order.remark != ''">
and order_status = 'paid' and remark is null and store_id = #{order.storeId}
or remark = '' and order_status = 'paid' and store_id = #{order.storeId}
</if>
order by create_time desc
</where>
</select>

View File

@ -18,6 +18,7 @@ import com.fuint.business.convenienceSore.entity.LJGoods;
import com.fuint.business.convenienceSore.entity.SaleDetail;
import com.fuint.business.convenienceSore.service.LJGoodsService;
import com.fuint.business.convenienceSore.service.SaleDetailService;
import com.fuint.business.integral.service.IntegralSettingsService;
import com.fuint.business.marketingActivity.activeDiscount.entity.ActiveDiscountChild;
import com.fuint.business.marketingActivity.activeDiscount.service.ActiveDiscountService;
import com.fuint.business.marketingActivity.activeDiscount.vo.ActiveDiscountVO;
@ -114,6 +115,8 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
private ActiveFullminusService activeFullminusService;
@Resource
private ActiveDiscountService activeDiscountService;
@Resource
private IntegralSettingsService integralSettingsService;
@Override
public IPage<OilOrder> selectOilOrderList(Page page, OilOrder order) {
@ -487,6 +490,7 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
cashierOrder.setOilDiscountAmount(oilDiscount);
cashierOrder.setTerminal(terminal);
cashierOrder.setPayType(payType);
cashierOrder.setAfterDiscountAmount(oilAmount+goodsAmount-oilDiscount-goodsDiscount);
// 如果金额不等于0调用第三方支付接口
if (!map.get("allAmount").equals("0") && !map.get("payType").equals("CASH")){
@ -521,7 +525,6 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
// throw new RuntimeException("支付失败");
}
}else {
cashierOrder.setPayAmount(oilAmount+goodsAmount-oilDiscount-goodsDiscount);
this.insertAllOrderInfo(orderNo,storeId,oilAmount+goodsAmount,Double.valueOf(map.get("allAmount")),payType,userId,"PC","6","paid");
}
@ -531,6 +534,7 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
orders.put("oilOrder",oilOrder2);
if (oilOrder2.getOrderStatus().equals("paid")){
cashierOrder.setPayTime(new Date());
if (ObjectUtil.isNotEmpty(oilOrder2.getUserId())) integralSettingsService.refuelPoints(oilOrder2);
}
cashierOrder.setOilOrderId(oilOrder2.getId());
}
@ -1221,6 +1225,7 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
}
this.updateOilOrder(oilOrder);
if (oilOrder.getOrderStatus().equals("paid")) {
if (ObjectUtil.isNotEmpty(oilOrder.getUserId())) integralSettingsService.refuelPoints(oilOrder);
this.updateCardAndActiveById(oilOrder.getStoreId(), oilOrder.getUserId(), oilOrder.getActiveId(), oilOrder.getCouponId(), oilOrder.getActiveType(), oilOrder.getOrderAmount(), Integer.valueOf(oilOrder.getOils()));
}
@ -1268,6 +1273,7 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
// oilOrder.setPayAmount(oilOrder.getOrderAmount()-oilOrder.getDiscountAmount());
oilOrder.setOrderStatus(status);
if (status.equals("paid")){
if (ObjectUtil.isNotEmpty(oilOrder.getUserId())) integralSettingsService.refuelPoints(oilOrder);
oilOrder.setPayTime(new Date());
CardValueChildOrder cardValueChildOrder = cardValueChildOrderService.selectCardValueChildOrderByOrderNo(orderNo);
if (ObjectUtil.isNotEmpty(cardValueChildOrder)){

View File

@ -12,6 +12,7 @@ import com.fuint.business.storeInformation.service.ILJStoreService;
import com.fuint.business.userManager.entity.*;
import com.fuint.business.userManager.mapper.LJUserMapper;
import com.fuint.business.userManager.mapper.MtInvitationMapper;
import com.fuint.business.userManager.mapper.UserBalanceMapper;
import com.fuint.business.userManager.service.*;
import com.fuint.business.userManager.vo.LJUserVo;
import com.fuint.common.dto.AccountInfo;
@ -34,6 +35,8 @@ public class LJUserServiceImpl extends ServiceImpl<LJUserMapper, LJUser> impleme
@Autowired
private UserBalanceService balanceService;
@Autowired
private UserBalanceMapper userBalanceMapper;
@Autowired
private ILJStoreService storeService;
@Resource
private LJUserMapper ljUserMapper;
@ -145,12 +148,14 @@ public class LJUserServiceImpl extends ServiceImpl<LJUserMapper, LJUser> impleme
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.apply(true, "TO_DAYS(NOW())-TO_DAYS(create_time) = 0");
Integer addNum = baseMapper.selectCount(queryWrapper);
// Integer addNum = baseMapper.selectCount(queryWrapper);
Integer addNum = userBalanceMapper.selectCount(queryWrapper);
QueryWrapper queryWrapper1 = new QueryWrapper<>();
queryWrapper1.apply(true, "TO_DAYS(NOW())-TO_DAYS(create_time) = 1");
Integer yesterdayAddNum = baseMapper.selectCount(queryWrapper1);
// Integer yesterdayAddNum = baseMapper.selectCount(queryWrapper1);
Integer yesterdayAddNum = userBalanceMapper.selectCount(queryWrapper1);
map.put("balance",balance);
map.put("point",point);

View File

@ -19,10 +19,11 @@ export function listCardOilRecord(query) {
}
// 查询优惠券信息列表
export function cardBalanceCount() {
export function cardBalanceCount(query) {
return request({
url: '/business/CardBalanceChange/getBalanceStoreCount',
method: 'get',
params: query
})
}

View File

@ -315,13 +315,18 @@
<div class="boloicon">员工统计</div>
<div class="input-hui-frou">
<div>员工姓名</div>
<div>笔数</div>
<div style="text-align: right">金额</div>
<!-- <div>笔数</div>-->
<div>充值(笔数/金额)</div>
<div>加油(笔数/金额)</div>
<div>商品(笔数/金额)</div>
<div style="text-align: right">总笔数/总金额</div>
</div>
<div class="input-box-frou" v-for="item in employeeStatistics()">
<div>{{item.name}}</div>
<div>{{item.numberOfDeals}}</div>
<div style="text-align: right">{{item.paidAmount}}</div>
<div>{{item.cardN+item.fuelN}}/{{item.cardP+item.fuelP}}</div>
<div>{{item.oilN}}/{{item.oilP}}</div>
<div>{{item.goodsN}}/{{item.goodsP}}</div>
<div style="text-align: right">{{item.numberOfDeals}}/{{item.paidAmount}}</div>
</div>
<el-divider></el-divider>
<div class="input-box">
@ -428,6 +433,7 @@ import SelectStaff from "@/components/local/selectStaff.vue";
staffId:'',
staffName:null
}
this.getHandover()
},
//
chooseStaff() {
@ -437,7 +443,7 @@ import SelectStaff from "@/components/local/selectStaff.vue";
this.openStaff = false
this.staff.staffId = data.mtStaffId,
this.staff.staffName = data.realName
this.staff.staffName = data.realName
console.log("realName",this.staff.staffName)
this.getHandover();
},

View File

@ -14,7 +14,7 @@
</el-select>
</el-form-item>
<el-form-item label="交班员工" prop="staffId">
<el-select v-model="queryParams.staffId" style="width: 150px" placeholder="交班方式" clearable>
<el-select v-model="queryParams.staffId" style="width: 150px" placeholder="交班员工" clearable>
<el-option
v-for="option in staffList"
:key="option.id"
@ -60,6 +60,7 @@
<el-table-column label="班次员工" align="center" prop="staffName"/>
<el-table-column label="开始时间" align="center" prop="startTime"/>
<el-table-column label="结束时间" align="center" prop="endTime" />
<el-table-column label="交班方式" align="center" prop="status" />
<el-table-column label="交班状态" align="center" prop="status" width="">
<template slot-scope="scope">
<el-tag effect="plain" v-if="scope.row.type =='0'"> 已交班</el-tag>

View File

@ -75,11 +75,11 @@
<div>{{ handoverList && handoverList.orderSummary ? handoverList.orderSummary.cardOrder : '0' }}</div>
</div>
<div class="input-box">
<div>会员储值(退款)</div>
<div>{{ handoverList && handoverList.orderSummary ? handoverList.orderSummary.cardRefund : '0' }}</div>
<!-- <div class="input-box">-->
<!-- <div>会员储值(退款)</div>-->
<!-- <div>{{ handoverList && handoverList.orderSummary ? handoverList.orderSummary.cardRefund : '0' }}</div>-->
</div>
<!-- </div>-->
<div class="input-box">
<div>会员储值(实收)</div>
<div>{{ handoverList && handoverList.orderSummary ? handoverList.orderSummary.cardPaid : '0' }}</div>
@ -90,11 +90,11 @@
<div>{{ handoverList && handoverList.orderSummary ? handoverList.orderSummary.cardGiftOrder : '0' }}</div>
</div>
<div class="input-box">
<div>储值赠送(退款)</div>
<div>{{ handoverList && handoverList.orderSummary ? handoverList.orderSummary.cardGiftRefund : '0' }}</div>
<!-- <div class="input-box">-->
<!-- <div>储值赠送(退款)</div>-->
<!-- <div>{{ handoverList && handoverList.orderSummary ? handoverList.orderSummary.cardGiftRefund : '0' }}</div>-->
</div>
<!-- </div>-->
<div class="input-box">
<div>储值赠送(实际)</div>
<div>{{ handoverList && handoverList.orderSummary ? handoverList.orderSummary.cardGiftPaid : '0' }}</div>
@ -107,11 +107,11 @@
<div>{{ handoverList && handoverList.orderSummary ? handoverList.orderSummary.fuelOrder : '0' }}</div>
</div>
<div class="input-box">
<div>存油储值(退款)</div>
<div>{{ handoverList && handoverList.orderSummary ? handoverList.orderSummary.fuelRefund : '0' }}</div>
<!-- <div class="input-box">-->
<!-- <div>存油储值(退款)</div>-->
<!-- <div>{{ handoverList && handoverList.orderSummary ? handoverList.orderSummary.fuelRefund : '0' }}</div>-->
</div>
<!-- </div>-->
<div class="input-box">
<div>存油储值(实收)</div>
<div>{{ handoverList && handoverList.orderSummary ? handoverList.orderSummary.fuelPaid : '0' }}</div>

View File

@ -1000,6 +1000,8 @@ import {listCardFavorableRecord} from "@/api/cashier/cardfavorablerecord";
},
//
async collection() {
let isPayFlag = false
let this_ = this
let actualPayment = 0
@ -1049,7 +1051,6 @@ import {listCardFavorableRecord} from "@/api/cashier/cardfavorablerecord";
}
});
if (flag) return
let timer = setInterval(async () => {
await getCheckTheStatusOfYourPaymentByIntegralApi({orderNumber:orderNumber}).then(response => {
if (response.data!=null){
@ -1058,7 +1059,10 @@ import {listCardFavorableRecord} from "@/api/cashier/cardfavorablerecord";
}
if (response.data.status == "paid"){
this_.isPaySuccess = true;
isPayFlag = true
this_.isQuery = false;
clearInterval(timer);
// this_.printLocally()
}
if (response.data.status == "payFail"){
this_.isPaySuccess = false;
@ -1072,7 +1076,13 @@ import {listCardFavorableRecord} from "@/api/cashier/cardfavorablerecord";
if (this_.isQuery == false) {
this_.loading = false;
this_.isPay = false;
console.log("isPayFlag",isPayFlag)
if (isPayFlag) {
this_.printLocally()
isPayFlag = false
}
clearInterval(timer);
clearInterval(timer2);
clearTimeout(timer3);
}
},500)
@ -1088,12 +1098,11 @@ import {listCardFavorableRecord} from "@/api/cashier/cardfavorablerecord";
},15000)
}
if (this.isPaySuccess) {
this.printLocally()
// console.log("isPayFlag",isPayFlag)
}
// this.paymentType = ''
},
//
@ -1145,6 +1154,7 @@ import {listCardFavorableRecord} from "@/api/cashier/cardfavorablerecord";
this.authCode = '';
},
async printLocally(data) {
console.log("111111111111111111111111111111111111111111111")
if (!connectFlag){
return
}
@ -1220,8 +1230,9 @@ import {listCardFavorableRecord} from "@/api/cashier/cardfavorablerecord";
fromHtml = bodyStyle+this.$refs.report.innerHTML
// LODOP.PRINT_INITA(0, 0, 665, 600, '')
LODOP.ADD_PRINT_HTM(0, 0, "100%", "100%", fromHtml);
// LODOP.SET_PRINT_PAGESIZE(100,100,100,100)
LODOP.SET_PRINT_MODE("FULL_WIDTH_FOR_OVERFLOW",true);

View File

@ -120,17 +120,17 @@
</div>
<div>-{{ oilDiscount.toFixed(2) }}</div>
</div>
<div class="center-left-hj" v-show="isMember && refuelMoney1.length>0">
<div class="center-left-hj" v-show="isMember && refuelMoney.length>0">
<div>
<el-checkbox
style="color: black;font-size: 16px"
v-model="checkAll3" @change="handleCheckAllChange3">
</el-checkbox><!--:indeterminate="isIndeterminate3"-->
囤油卡
<div style="margin: 5px 0" v-for="(item,index) in refuelMoney1" :key="index">
<div style="margin: 5px 0" v-for="(item,index) in refuelMoney" :key="index">
{{ item.type }}
<!-- <span style="color: #00afff">{{ item.oilType }}</span>-->
余额{{ item.refuelMoney }}L
余额{{ item.refuelMoney ? item.refuelMoney : 0.00 }}L
</div>
</div>
<div>- {{ consumeRefuelMoney.toFixed(2) }}L</div>
@ -317,7 +317,7 @@
<div v-if="isMember">{{ item.memberPrice }}</div>
<div>
<el-input-number v-model="item.num" size="small" controls-position="right"
@change="handleChange" :min="1" :max="10000"></el-input-number>
@change="handleChange" :min="1" :max="item.stock"></el-input-number>
</div>
<div @click="delGoods(index)"><i class="el-icon-circle-close" style="font-size: 22px"></i></div>
</div>
@ -573,7 +573,7 @@
<div style="margin: 5px 0" v-for="(item,index) in refuelMoney" :key="index">
{{ item.type }}
<!-- <span style="color: #00afff">{{ item.oilType }}</span>-->
余额{{ item.refuelMoney }}L
余额{{ item.refuelMoney ? item.refuelMoney : 0.00 }}L
</div>
</el-descriptions-item>
</el-descriptions>
@ -918,11 +918,7 @@
</el-dialog>
<!-- 加油枪加油金额-->
<el-dialog
title="加油金额"
:close-on-click-modal="false"
:visible.sync="dialogVisibleamount"
width="30%">
<el-dialog title="加油金额" :close-on-click-modal="false" :visible.sync="dialogVisibleamount" width="30%">
<div class="amount">
<span>已选油品</span>
<span class="amountBlue">{{ getName(oilNameList,form.oilName) }}</span>
@ -1427,7 +1423,7 @@
{value:"¥300"},
],
//
member:{},
member:{id:""},
//
grade:{},
//
@ -1631,7 +1627,7 @@
this.getStaff();
this.getList();
this.getCouponList();
this.getUnitList();
// this.getUnitList();
},
directives: {
// v-focus
@ -1673,7 +1669,6 @@
// realName: data.realName,
// staffMobile: data.staffMobile,
// },
// console.log('Received data in parent:', data);
this.cardFuelDieselForm.mtStaffId = data.mtStaffId
this.cardFuelDieselForm.realName = data.realName
@ -1706,9 +1701,7 @@
await getCardValueListApi(quy).then(res => {
this.cardValueList = res.data.records;
this.cardValueList.sort((a, b) => a.rechargeBalance - b.rechargeBalance);
// console.log("this.grade.name",this.grade)
})
// console.log("this.cardValueList", this.grade)
if (this.cardValueList.length > 0) {
//
@ -1761,7 +1754,6 @@
},
selectOilType(status, oilType) {
this.tabOilType = oilType;
// console.log("453",oilType)
this.tabOilTypeClick(oilType);
},
//
@ -1788,7 +1780,6 @@
// this.cardValueForm.amount = null
this.$set(this.cardValueForm, 'amount', data);
// console.log("data17.16", this.cardValueForm.amount)
if (!data) {
this.cardValueForm.amount = ''
@ -1936,7 +1927,6 @@
this_.isPay = false;
this_.isPaySuccess = false;
this_.isAwait = true;
console.log("t3")
}, 15000)
} else if (this.flag === 2) {
@ -1955,7 +1945,6 @@
actualPayment = this.authCode
makeChange = this.seekZero
}
// console.log("cardFuelDieselForm",this.cardFuelDieselForm)
this.cardFuelDieselForm.mtUserId = userForm.id
this.cardFuelDieselForm.name = userForm.name
this.cardFuelDieselForm.mobile = userForm.mobile
@ -1963,7 +1952,6 @@
this.cardFuelDieselForm.actualPayment = actualPayment
this.cardFuelDieselForm.makeChange = makeChange
// console.log("this.cardFuelDieselForm",this.cardFuelDieselForm)
let id;
@ -2027,7 +2015,6 @@
},
//
rechargeCard(index, item) {
// console.log("index", index)
// this.cardValueForm.amount = null,
this.cardValueForm.rechargeType = 0
@ -2061,7 +2048,6 @@
this.cardValueForm.percentageCommissions = file.percentageCommissions
this.cardValueForm.amountCommission = file.amountCommission
// console.log("file.royaltyType ", file.royaltyType )
//
if (file.royaltyType === "3") {
@ -2077,7 +2063,6 @@
},
//
async tabOilTypeClick(data) {
// console.log("aaaaaaaaaaaaaa",data)
await this.getCardFuelDieselList()
this.cardFuelDieselList = this.sourceCardFuelDieselList.filter(item => {
@ -2145,7 +2130,6 @@
let file = {}
//
file = this.cardFuelDieselList[index]
// console.log("file",file)
this.cardFuelDieselForm.points = file.points
this.cardFuelDieselForm.rechargeBalance = file.rechargeBalance
this.cardFuelDieselForm.oilType = file.oilType
@ -2276,7 +2260,6 @@
// LODOP.ADD_PRINT_BARCODE(10,40,100,100,'QRCode','123456789');
// let preview = LODOP.PREVIEW();
// console.log("preview",preview);
LODOP.PRINT();
}
}catch (e){
@ -2290,7 +2273,6 @@
}
//
let LODOP = getLodop(); //
console.log(LODOP)
if (LODOP) {
LODOP.PRINT_INIT();
var bodyStyle = `<style>
@ -2370,7 +2352,6 @@
// LODOP.ADD_PRINT_BARCODE(10,40,100,100,'QRCode','123456789');
// let preview = LODOP.PREVIEW();
// console.log("preview",preview);
LODOP.PRINT();
}
@ -2542,6 +2523,7 @@
this.dialogVisibleCredit = false;
this.printLocally()
this.form1.unitName = ""
this.payType = "WECHAT"
this.resetMember();
this.resetting();
this.empty();
@ -2559,11 +2541,12 @@
this.form1.residueCreditLimit = val.residueCreditLimit
return val.id
},
querySearch1(queryString, cb) {
async querySearch1(queryString, cb) {
await this.getUnitList();
let _this = this;
let obj = {};
let results = _this.unitList
if (queryString != "" && queryString!=undefined){
if (queryString){
results = [];
_this.unitList.forEach(item => {
if (item.unitName.includes(queryString)){
@ -2702,6 +2685,8 @@
if (this.goodsOrder.length==0) {
this.payType = "balance"
}
}else {
this.payType = "WECHAT"
}
}else {
this.checkAll4 = false
@ -3348,7 +3333,9 @@
isDefaultUseCard(){
if (this.isOilStorageCard){
this.checkAll3 = true;
this.payType = "oilCard"
if (this.goodsOrder.length==0){
this.payType = "oilCard"
}
this.checkAll1 = false;
this.fullReduction = 0;
this.checkAll2 = false;
@ -3443,6 +3430,7 @@
this.goodsAmount = 0;
this.goodsActualPay = 0;
this.goodsDiscount = 0;
},
//
getStaff(){
@ -3468,16 +3456,19 @@
let result = true;
let goods = this.goodsOrder;
let _this = this;
this.goodsDiscount = 0
// this.goodsDiscount = 0
if (this.goodsOrder.length > 0) {
let amount = 0;
for (let i = 0; i < goods.length; i++) {
if (goods[i].id == val.id) {
if (val.stock<goods[i].num + 1){
this.$modal.msgError("商品库存不足,请重新选择商品")
result = false;
break;
}
goods[i].num = goods[i].num + 1;
goods[i].retailPrice = val.retailPrice;
goods[i].memberPrice = val.memberPrice;
val.num = goods[i].num + 1;
this.goodsTotal += 1;
if (_this.isMember) {
@ -3504,7 +3495,6 @@
if (_this.isMember) {
this.goodsDiscount += (val.retailPrice - val.memberPrice)
}
console.log(this.goodsAmount)
this.goodsAmount += +val.retailPrice
this.goodsActualPay = this.goodsAmount - this.goodsDiscount;
this.goodsOrder.push(val);
@ -3664,15 +3654,19 @@
_this.oilActualPay = 0;
_this.hoardAmount = 0;
_this.oilAmount = 0;
_this.refuelMoney1 = []
_this.oilOrder.forEach(item => {
let conRefMon = 0;
let hoardAmount = 0;
let hoardAmount1 = 0;
let amount = 0;
let amount1 = 0;
let id = ""
if (_this.refuelMoney){
for (let i = 0;i < _this.refuelMoney.length;i++){
//
if (_this.refuelMoney[i].oilType==item.oilName && _this.refuelMoney[i].refuelMoney>0){
this.refuelMoney1.push(item)
_this.refuelMoney1.push(item)
id = item.id
_this.isOilStorageCard = true
if (_this.refuelMoney[i].refuelMoney >= item.liters){
@ -3683,10 +3677,15 @@
hoardAmount = item.amount - (_this.refuelMoney[i].refuelMoney * item.oilPrice).toFixed(2)
}
}
if (_this.refuelMoney[i].oilType!=item.oilName){
amount = item.amount
}
}
}
_this.consumeRefuelMoney += +conRefMon
_this.hoardAmount += +hoardAmount
hoardAmount1 += +hoardAmount
amount1 += +amount
_this.hoardAmount = hoardAmount1 + amount1
_this.oilAmount += +item.amount
// _this.changeBalance(_this.hoardAmount,id)
// if (_this.consumeRefuelMoney!=0){
@ -3808,6 +3807,7 @@
this.oilOrder.forEach(item => {
if (item.id==data.id){
this.amount = item.amount
this.form = item
result = true
this.isExistOilOrder = true;
}
@ -4018,7 +4018,7 @@
if (i.oilType==item.oilType){
if ((i.refuelMoney-item.liters)>=0){
let refuelMoney = i.refuelMoney;
i.refuelMoney = refuelMoney-item.liters
i.refuelMoney = (refuelMoney-item.liters).toFixed(2)
}else {
i.refuelMoney = 0
}
@ -4040,8 +4040,9 @@
_this.isQuery = false;
_this.amount = 0
_this.printLocally()
_this.loading = false;
_this.printLocally()
_this.resetting1();
if (response.data.oilOrderAmount>0){
// for (let i =0;i<_this.oilPreferentialData.length;i++){
@ -4173,6 +4174,7 @@
this.$message.error("商品不可使用囤油卡付款")
return;
}
if (this.refuelMoney1.length>0){
this.checkAll3 = true
this.handleCheckAllChange3(true)
@ -4203,6 +4205,12 @@
return;
}
}
if (payType == 'APPLET_CODE'){
if (this.goodsOrder.length>0){
this.$message.error("商品不可使用储值卡付款")
return;
}
}
this.typeIdex = payType
this.map.payType = payType;
this.payType = payType;

View File

@ -59,6 +59,18 @@
</template>
{{ dataForm.updateTime }}
</el-descriptions-item>
<el-descriptions-item v-if="dataForm.paymentType == 'CASH'">
<template slot="label">
现金支付
</template>
{{ dataForm.actualPayment }}
</el-descriptions-item>
<el-descriptions-item v-if="dataForm.paymentType == 'CASH'">
<template slot="label">
现金支付找零
</template>
{{ dataForm.makeChange }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
付款备注

View File

@ -27,7 +27,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="注册时间">
<el-form-item label="时间">
<el-date-picker
v-model="dateRange"
style="width: 240px"

View File

@ -121,6 +121,7 @@
<el-table-column type="index" width="50" align="center" label="序号"/>
<el-table-column prop="orderNo" align="center" label="订单号" width="220"> </el-table-column>
<el-table-column prop="amount" align="center" label="订单金额"> </el-table-column>
<el-table-column prop="afterDiscountAmount" align="center" label="优惠后应付金额"> </el-table-column>
<el-table-column prop="payAmount" align="center" label="实付金额"> </el-table-column>
<el-table-column prop="seekZero" align="center" label="找零金额"> </el-table-column>
<el-table-column align="center" label="订单金额组成">

View File

@ -651,6 +651,7 @@ import {oilNumbers} from "@/api/cashier/oilnumber";
if (val!=undefined){
this.queryParams.page = val
}
this.dateRange = []
if (this.beginTime && this.endTime) {
this.dateRange.push(this.beginTime.toLocaleDateString())
this.dateRange.push(this.endTime.toLocaleDateString())
@ -665,10 +666,12 @@ import {oilNumbers} from "@/api/cashier/oilnumber";
if (val!=undefined){
this.queryParams.page = val
}
this.dateRange = []
if (this.beginTime && this.endTime) {
this.dateRange.push(this.beginTime.toLocaleDateString())
this.dateRange.push(this.endTime.toLocaleDateString())
}
console.log(this.dateRange)
cardBalanceCount(this.addDateRange(this.queryParams, this.dateRange)).then(res => {
this.inCount = res.data.inCount
this.outCount = res.data.outCount
@ -681,6 +684,7 @@ import {oilNumbers} from "@/api/cashier/oilnumber";
if (val!=undefined){
this.queryParams.page = val
}
this.dateRange = []
if (this.beginTime && this.endTime) {
this.dateRange.push(this.beginTime.toLocaleDateString())
this.dateRange.push(this.endTime.toLocaleDateString())
@ -695,6 +699,7 @@ import {oilNumbers} from "@/api/cashier/oilnumber";
if (val!=undefined){
this.queryParams.page = val
}
this.dateRange = []
if (this.beginTime && this.endTime) {
this.dateRange.push(this.beginTime.toLocaleDateString())
this.dateRange.push(this.endTime.toLocaleDateString())

View File

@ -223,12 +223,12 @@
<el-tag v-else type="danger">禁用</el-tag>
</template>
</el-table-column>
<el-table-column label="公众号" align="center" prop="official">
<template slot-scope="scope">
<span v-if="scope.row.official == 'ygz'">已关注</span>
<span v-else>未关注</span>
</template>
</el-table-column>
<!-- <el-table-column label="公众号" align="center" prop="official">-->
<!-- <template slot-scope="scope">-->
<!-- <span v-if="scope.row.official == 'ygz'">已关注</span>-->
<!-- <span v-else>未关注</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="操作" align="center" width="120" fixed='right'>
<template slot-scope="scope">
<el-button
@ -258,7 +258,7 @@
</el-card>
<!-- 添加会员信息选择是否批量录入-->
<el-dialog :close-on-click-modal="false" :title="title" width="55%" :visible.sync="openUser" append-to-body>
<el-dialog :close-on-click-modal="false" :title="title" width="40%" :visible.sync="openUser" append-to-body>
<el-alert
type="info"
:closable="false">
@ -272,31 +272,31 @@
<el-button type="primary"
icon="el-icon-connection" @click="addMult" round>批量导入会员</el-button>
</div>
<div>
<el-table ref="tables" v-loading="loading" :data="userList">
<el-table-column prop="batchNumber" align="center" label="批次号" width="200"/>
<el-table-column prop="type" align="center" label="类型"/>
<el-table-column prop="memberNumber" align="center" label="会员数"/>
<el-table-column label="执行结果" align="center" >
<el-table-column prop="successNumber" align="center" label="成功人数"/>
<el-table-column prop="errorNumber" align="center" label="失败人数"/>
<el-table-column prop="repeatNumber" align="center" label="重复人数"/>
</el-table-column>
<el-table-column prop="createTime" align="center" label="处理时间" width="160">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<!-- <el-table-column prop="date" align="center" label="处理结果详情"/>-->
</el-table>
<!-- <div>-->
<!-- <el-table ref="tables" v-loading="loading" :data="userList">-->
<!-- <el-table-column prop="batchNumber" align="center" label="批次号" width="200"/>-->
<!-- <el-table-column prop="type" align="center" label="类型"/>-->
<!-- <el-table-column prop="memberNumber" align="center" label="会员数"/>-->
<!-- <el-table-column label="执行结果" align="center" >-->
<!-- <el-table-column prop="successNumber" align="center" label="成功人数"/>-->
<!-- <el-table-column prop="errorNumber" align="center" label="失败人数"/>-->
<!-- <el-table-column prop="repeatNumber" align="center" label="重复人数"/>-->
<!-- </el-table-column>-->
<!-- <el-table-column prop="createTime" align="center" label="处理时间" width="160">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ parseTime(scope.row.createTime) }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- &lt;!&ndash; <el-table-column prop="date" align="center" label="处理结果详情"/>&ndash;&gt;-->
<!-- </el-table>-->
<pagination
:total="total1"
:page.sync="queryParams.page"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
<!-- <pagination-->
<!-- :total="total1"-->
<!-- :page.sync="queryParams.page"-->
<!-- :limit.sync="queryParams.pageSize"-->
<!-- @pagination="getList"-->
<!-- />-->
<!-- </div>-->
</el-dialog>
<!-- 添加或修改对话框 -->
@ -347,7 +347,7 @@
<el-row>
<el-col :span="24">
<el-form-item label="会员初始积分" prop="points">
<el-input v-model="form.points" placeholder="0" maxlength="30"/>
<el-input :disabled="title == '编辑会员'" v-model="form.points" placeholder="0" maxlength="30"/>
</el-form-item>
</el-col>
</el-row>
@ -361,7 +361,7 @@
<el-row>
<el-col :span="24">
<el-form-item label="储值通用余额" prop="cardBalance">
<el-input v-model="form.cardBalance" placeholder="0" maxlength="30"/>
<el-input :disabled="title == '编辑会员'" v-model="form.cardBalance" placeholder="0" maxlength="30"/>
</el-form-item>
</el-col>
</el-row>
@ -372,19 +372,19 @@
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- <el-row>-->
<!-- <el-col :span="24">-->
<!-- <el-form-item label="是否关注公众号">-->
<!-- <el-radio-group v-model="form.official">-->
<!-- <el-radio label="ygz" value="ygz">已关注</el-radio>-->
<!-- <el-radio label="wgz" value="wgz">未关注</el-radio>-->
<!-- </el-radio-group>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
<el-row>
<el-col :span="24">
<el-form-item label="是否关注公众号">
<el-radio-group v-model="form.official">
<el-radio label="ygz" value="ygz">已关注</el-radio>
<el-radio label="wgz" value="wgz">未关注</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="会员状态">
<el-form-item label="会员状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio label="qy" value="qy">启用</el-radio>
<el-radio label="jy" value="jy">禁用</el-radio>
@ -562,6 +562,7 @@
mobile: [
{ required: true, message: "请输入手机号", trigger: "blur" },
],
status: [{ required: true, message: "请选择会员状态", trigger: "blur" }],
},
}
},

View File

@ -205,6 +205,7 @@
let storeId = "19";
let staffId = "";
console.log(111);
if (str.includes("&")) {
let arr = str.split("&");
arr.forEach(item => {
@ -234,9 +235,9 @@
uni.setStorageSync("storeId", storeId)
}
await this.getUserAuthority();
// await this.getOilType();
}
await this.getUserAuthority();
// await this.getOilType();
await this.getTheJudgmentIsTheSame();
}else{
await this.getUserAuthority();
@ -246,7 +247,7 @@
},
onShow() {
this.isJoined()
this.getIndexBanner()
// this.getIndexBanner()
},
components: {
tabbar
@ -277,14 +278,16 @@
method: 'get',
}).then(res => {
_this.list1 = res.data
for (let i = 0; i < res.data.length; i++) {
if (res.data[i].bannerUrl.includes("http")) {
_this.list1[i].bannerUrl = res.data[i].bannerUrl
} else {
_this.list1[i].bannerUrl = _this.baseUrl + res.data[i].bannerUrl
if (res.data.length>0){
for (let i = 0; i < res.data.length; i++) {
if (res.data[i].bannerUrl.includes("http")) {
_this.list1[i].bannerUrl = res.data[i].bannerUrl
} else {
_this.list1[i].bannerUrl = _this.baseUrl + res.data[i].bannerUrl
}
}
console.log(_this.list1);
}
console.log(_this.list1);
})
}
},
@ -388,6 +391,7 @@
},
// tokenid
async getTheJudgmentIsTheSame() {
console.log(this.AppToken,547);
//
if (!this.AppToken) {
return;
@ -417,8 +421,8 @@
data: {
code: res.code
}
}).then(res => {
if (!res.data) {
}).then(resp => {
if (!resp.data) {
uni.removeStorageSync("App-Token");
}
})
@ -443,7 +447,8 @@
storeId: uni.getStorageSync("storeId"),
},
}).then((resp) => {
if (!res.data) {
console.log(resp,85412);
if (!resp.data) {
uni.removeStorageSync("App-Token");
}
})
@ -490,10 +495,6 @@
},
//
getAddress(storeId) {
// uni.showToast({
// title:"id"+storeId,
// icon:"none"
// })
let _this = this;
uni.getLocation({
// 使wgs84 使gcj02
@ -517,17 +518,19 @@
},
}).then((response) => {
console.log(response,"2154");
// uni.showToast({
// title:"121984:"+storeId
// })
if (response.data.store){
_this.distance = (Math.ceil(response.data.distance))
.toFixed(1)
_this.store = response.data.store
console.log(response,"storeId");
uni.setStorageSync("storeId", response.data.store.id)
uni.setStorageSync("chainStoreId", response.data.store.chainStoreId)
// console.log(uni.getStorageSync("chainStoreId"));
let welfare = response.data.store.welfare
if (welfare) {
if (welfare.includes(",")) {
console.log(uni.getStorageSync("chainStoreId"));
if (response.data.store.welfare) {
if (response.data.store.welfare.includes(",")) {
_this.welfare = response.data.store.welfare
.split(",")
} else {
@ -554,7 +557,7 @@
})
}
})
}).catch(err => {})
// uni.showToast({
// title: "",

View File

@ -216,6 +216,7 @@
},
//
getUser() {
console.log(this.AppToken,2343);
if (!this.AppToken) {
return;
}
@ -223,7 +224,8 @@
url: 'business/userManager/user/getUser',
method: 'get',
}).then(res => {
if (res.data != null && res.data != "" && res.data != undefined) {
console.log(res,1541);
if (res.data) {
this.user = res.data
uni.setStorageSync('userId', res.data.id)
this.user.mobile = res.data.mobile.slice(0, 3) + "****" + res.data.mobile.slice(res.data

View File

@ -301,14 +301,14 @@
_this.storeId = res.data.id;
uni.setStorageSync("storeId", _this.store.id)
uni.setStorageSync("chainStoreId", _this.store.chainStoreId)
let welfare = res.data.welfare
if (welfare) {
if (welfare.includes(",")) {
_this.welfare = res.data.welfare.split(",")
} else {
_this.welfare.push(res.data.welfare)
}
}
// let welfare = res.data.welfare
// if (welfare) {
// if (welfare.includes(",")) {
// _this.welfare = res.data.welfare.split(",")
// } else {
// _this.welfare.push(res.data.welfare)
// }
// }
}).catch(err => {
// uni.showLoading({
// title: JSON.stringify(err) + 222
@ -337,9 +337,8 @@
_this.storeId = response.data.store.id;
_this.getOilNumber(_this.storeId);
// _this.getStaffList(_this.storeId)
let welfare = response.data.store.welfare;
if (welfare != undefined && welfare != null && welfare != "") {
if (welfare.includes(",")) {
if (response.data.store.welfare) {
if (response.data.store.welfare.includes(",")) {
_this.welfare = response.data.store.welfare.split(",");
} else {
_this.welfare.push(response.data.store.welfare);

View File

@ -91,7 +91,11 @@
encryptedData: encryptedData,
},
}).then((resp) => {
// console.log(resp)
if (uni.getStorageSync("y_type") ==
'yaoqingyouli') {
this.activeRecommendRecords()
}
if (resp.code == 200) {
uni.setStorageSync('App-Token', resp.data.token);
@ -102,8 +106,7 @@
url: '/pages/index/index'
})
}
console.log("swq", uni.getStorageSync(
'App-Token'));
console.log("swq", uni.getStorageSync('App-Token'));
})
},
fail: err => {

View File

@ -11,42 +11,44 @@
:dots-styles="dotsStyles" field="content">
<swiper class="swiper-box" @change="change" :current="swiperDotIndex">
<swiper-item v-for="(item, index) in userGradeList" :key="index">
<view class="top-box">
<view>
<view class="top-box">
<view class="b-top">
<view style="width: 70%;">
<view class="title-size">
{{item.name}}
<span v-if="member.gradeId==item.id">(当前等级)</span>
<view class="b-top">
<view style="width: 70%;">
<view class="title-size">
{{item.name}}
<span v-if="member.gradeId==item.id">(当前等级)</span>
</view>
<view class="min-size" style="margin-bottom: 20px;">升级会员享更多特权</view>
<!-- <view class="min-size" style="margin-bottom: 10px;" v-if="userBalance.gradeId == item.id && index < (userGradeList.length-1)">
在获得{{item.growthValue - userBalance.growthValue}}可升级至{{userGradeList[index+1].name}}
</view>
<view class="min-size" style="margin-bottom: 10px;" v-else-if="userBalance.gradeId == item.id && index == (userGradeList.length-1)">
已达到最高等级
</view> -->
<view class="min-size" style="margin-bottom: 10px;" >
达到当前等级所需成长值为{{item.growthValue}}
</view>
<u-line-progress :percentage="percentage" activeColor="#2F72F7"></u-line-progress>
</view>
<view class="min-size" style="margin-bottom: 20px;">升级会员享更多特权</view>
<!-- <view class="min-size" style="margin-bottom: 10px;" v-if="userBalance.gradeId == item.id && index < (userGradeList.length-1)">
在获得{{item.growthValue - userBalance.growthValue}}可升级至{{userGradeList[index+1].name}}
<view class="right-img">
<image src="../../static/imgs/vipxz.png" mode="aspectFit"></image>
</view>
<view class="min-size" style="margin-bottom: 10px;" v-else-if="userBalance.gradeId == item.id && index == (userGradeList.length-1)">
已达到最高等级
</view> -->
<view class="min-size" style="margin-bottom: 10px;" >
达到当前等级所需成长值为{{item.growthValue}}
</view>
<u-line-progress :percentage="percentage" activeColor="#2F72F7"></u-line-progress>
</view>
<view class="right-img">
<image src="../../static/imgs/vipxz.png" mode="aspectFit"></image>
</view>
</view>
</view>
<!-- qy -->
<view class="c-box">
<!-- <view class="title-bai">会员权益</view> -->
<view class="wrap-box">
<!-- qy -->
<view class="c-box">
<!-- <view class="title-bai">会员权益</view> -->
<view class="wrap-box">
<view class="box-ba" v-for="(item,index) in oilNameList" :key="index">
<view class="min-box">
<image :src="item.imgurl" mode="aspectFit"></image>
<view class="box-ba" v-for="(item,index) in oilNameList" :key="index">
<view class="min-box">
<image :src="item.imgurl" mode="aspectFit"></image>
</view>
<view class="mu_">{{item.name}}</view>
</view>
<view class="mu_">{{item.name}}</view>
</view>
</view>
</view>
@ -316,7 +318,7 @@
}
.swiper-box {
height: 500px;
height: 50vh;
}
.content {

View File

@ -476,6 +476,8 @@
if (this.refuelMoney[i].refuelMoney >= this.oilOrder.oilNum){
this.oilCardRedece = this.oilOrder.oilNum
this.refuelMoneyAfter[i].refuelMoney = this.refuelMoney[i].refuelMoney - this.oilOrder.oilNum
this.payAmount = 0
this.checkOilCard = true
}else{
this.oilCardRedece = this.refuelMoney[i].refuelMoney
this.refuelMoneyAfter[i].refuelMoney = 0