This commit is contained in:
cun-nan 2024-02-04 13:37:04 +08:00
parent b1b8797ad0
commit 033a66f12d
12 changed files with 1286 additions and 75 deletions

View File

@ -26,3 +26,30 @@ export function addCreditUnit(data) {
data: data
})
}
// 修改挂账记录
export function editCreditUnit(data) {
return request({
url: '/business/creditUnit',
method: 'put',
data: data
})
}
// 根据id查询挂账记录
export function creditUnitInfo(id) {
return request({
url: '/business/creditUnit/' + id,
method: 'get',
})
}
// 根据id删除挂账记录
export function deleteCreditUnit(id) {
return request({
url: '/business/creditUnit/' + id,
method: 'delete',
})
}

View File

@ -2,24 +2,48 @@
<div>
<el-card >
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="会员号" prop="userNo">
<el-form-item label="单位名称" prop="unitName">
<el-input
v-model="queryParams.userNo"
placeholder="请输入会员号"
v-model="queryParams.unitName"
placeholder="请输入单位名称"
clearable
style="width: 240px;"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="手机号" prop="mobile">
<el-form-item label="挂账人" prop="personCredit">
<el-input
v-model="queryParams.mobile"
placeholder="请输入会员手机号"
v-model="queryParams.personCredit"
placeholder="请输入挂账人名称"
clearable
style="width: 240px;"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="联系电话" prop="contactMobile">
<el-input
v-model="queryParams.contactMobile"
placeholder="请输入挂账人联系电话"
clearable
style="width: 240px;"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select
v-model="queryParams.status"
placeholder="全部"
clearable
style="width: 240px"
>
<el-option
v-for="dict in dict.type.zhzt"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
@ -69,7 +93,7 @@
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row,1)"
@click="handleDelete(scope.row)"
>删除</el-button>
</template>
</el-table-column>
@ -85,7 +109,7 @@
</el-card>
<!-- 新增挂账单位信息-->
<el-dialog title="新增挂账单位" :visible.sync="open1" width="700px" append-to-body>
<el-dialog :title="title" :visible.sync="open1" width="700px" append-to-body>
<el-form ref="formName" :model="form1" :rules="rules1" label-width="120px">
<el-row>
<el-col :span="24">
@ -110,12 +134,36 @@
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="挂账额度" prop="creditLimit">
<el-input v-model="form1.creditLimit" placeholder="请输入挂账额度为0则不限额" maxlength="30">
<el-form-item label="预设挂账额度" prop="creditLimit">
<el-input v-model="form1.creditLimit" @input="changeCreditAmount" placeholder="请输入挂账额度为0则不限额" maxlength="30">
<template slot="append"></template>
</el-input>
<span style="font-size: 12px;color: grey">
0为不限额,额度为当前单位最大可挂账金额,如已挂账金额归还,额度将也同步返还
额度为当前单位最大可挂账金额,如已挂账金额归还,额度将也同步返还
</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="已使用挂账额度" prop="creditLimit">
<el-input v-model="form1.usedCreditLimit" disabled placeholder="0" maxlength="30">
<template slot="append"></template>
</el-input>
<span style="font-size: 12px;color: grey">
额度为当前单位最大可挂账金额,如已挂账金额归还,额度将也同步返还
</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="剩余挂账额度" prop="creditLimit">
<el-input v-model="form1.residueCreditLimit" disabled placeholder="0" maxlength="30">
<template slot="append"></template>
</el-input>
<span style="font-size: 12px;color: grey">
额度为当前单位最大可挂账金额,如已挂账金额归还,额度将也同步返还
</span>
</el-form-item>
</el-col>
@ -144,9 +192,16 @@
</template>
<script>
import {addCreditUnit, listsCreditUnit} from "@/api/staff/user/creditunit";
import {
addCreditUnit,
creditUnitInfo,
deleteCreditUnit,
editCreditUnit,
listsCreditUnit
} from "@/api/staff/user/creditunit";
export default {
dicts: ['zhzt'],
data(){
return {
list:[],
@ -154,9 +209,14 @@ export default {
total:0,
form1:{},
open1:false,
title:"",
queryParams:{
page:1,
pageSize: 10,
unitName:"",
personCredit:"",
contactMobile:"",
status:"",
},
rules1: {
unitName: [ { required: true, message: "请填写挂账单位名称", trigger: "blur" }, ],
@ -171,6 +231,15 @@ export default {
this.getList()
},
methods: {
changeCreditAmount(){
if (this.title = "新增挂账单位") {
this.form1.usedCreditLimit = this.form1.creditLimit
this.form1.residueCreditLimit = 0
}
if (this.title = "修改挂账单位") {
this.form1.usedCreditLimit = this.form1.creditLimit - this.form1.residueCreditLimit
}
},
getList(){
this.loading = true;
listsCreditUnit(this.queryParams).then(res => {
@ -180,23 +249,57 @@ export default {
})
},
handleAdd(){
this.title = "新增挂账单位"
this.open1 = true
},
handleUpdate(){
handleUpdate(data){
creditUnitInfo(data.id).then(res => {
this.form1 = res.data
this.title = "修改挂账单位"
this.open1 = true
})
},
handleDelete(){
handleDelete(row){
const name = row.unitName
this.$modal.confirm('确定删除"' + name + '"的挂账单位信息?').then(function() {
// return deleteMember(row.id);
return deleteCreditUnit(row.id);
}).then(() => {
this.queryParams.page = 1
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
//
addCredit(){
this.$refs["formName"].validate((valid) => {
if (valid) {
addCreditUnit(this.form1).then( response => {
this.$modal.msgSuccess("挂账单位信息创建成功");
this.open1 = false;
this.getList();
})
if (this.form1.id){
if (this.form1.creditLimit < this.form1.residueCreditLimit){
this.$modal.msgError("请确保预设挂账额度大于剩余挂账额度");
return ;
}
editCreditUnit(this.form1).then(res => {
if (res.data==1) {
this.$modal.msgSuccess("挂账单位信息修改成功");
this.open1 = false;
this.getList();
}else {
this.$modal.msgError("挂账单位信息修改失败");
}
})
}else {
addCreditUnit(this.form1).then( response => {
if (response.data==1) {
this.$modal.msgSuccess("挂账单位信息创建成功");
this.open1 = false;
this.getList();
}else {
this.$modal.msgError("挂账单位信息创建失败,挂站单位名称不可重复");
}
})
}
}else {
return false;
}

View File

@ -83,37 +83,50 @@
<el-table
:data="orderList"
style="width: 100%">
<el-table-column type="expand">
<template slot-scope="props">
<el-form label-position="left" class="demo-table-expand" style="margin-left: 20px">
<el-form-item label="收银员">
<span>{{ getRealName(staffList,props.row.staffId) }}</span>
</el-form-item>
<el-form-item label="收银员手机号">
<span>{{ getMobile(staffList,props.row.staffId) }}</span>
</el-form-item>
</el-form>
</template>
</el-table-column>
<el-table-column prop="orderNo" label="订单号" width="220"> </el-table-column>
<el-table-column prop="amount" label="订单金额"> </el-table-column>
<el-table-column prop="payAmount" label="实付金额"> </el-table-column>
<el-table-column prop="seekZero" label="找零金额"> </el-table-column>
<el-table-column label="订单金额组成">
<el-table-column prop="oilOrderAmount" label="油品金额">
<!-- <el-table-column type="expand">-->
<!-- <template slot-scope="props">-->
<!-- <el-form label-position="left" class="demo-table-expand" style="margin-left: 20px">-->
<!-- <el-form-item label="收银员">-->
<!-- <span>{{ getRealName(staffList,props.row.staffId) }}</span>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="收银员手机号">-->
<!-- <span>{{ getMobile(staffList,props.row.staffId) }}</span>-->
<!-- </el-form-item>-->
<!-- </el-form>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column type="index" width="80" 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="payAmount" align="center" label="实付金额"> </el-table-column>
<el-table-column prop="seekZero" align="center" label="找零金额"> </el-table-column>
<el-table-column label="订单金额组成" align="center">
<el-table-column prop="oilOrderAmount" align="center" label="油品金额">
<template slot-scope="scope">
<span>{{scope.row.oilOrderAmount ? scope.row.oilOrderAmount : '0'}}</span>
</template>
</el-table-column>
<el-table-column prop="goodsOrderAmount" label="商品金额">
<el-table-column prop="goodsOrderAmount" align="center" label="商品金额">
<template slot-scope="scope">
<span>{{scope.row.goodsOrderAmount ? scope.row.goodsOrderAmount : '0'}}</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column align="center" label="实付订单金额组成">
<el-table-column prop="oilOrderAmount" align="center" label="油品实付金额" width="100">
<template slot-scope="scope">
<span>{{scope.row.oilOrderAmount ? scope.row.oilOrderAmount : '0'}}</span>
</template>
</el-table-column>
<el-table-column prop="goodsOrderAmount" align="center" label="商品实付金额" width="110">
<template slot-scope="scope">
<span>{{scope.row.goodsOrderAmount ? scope.row.goodsOrderAmount : '0'}}</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column prop="payUser" label="付款用户"> </el-table-column>
<el-table-column prop="status" label="状态">
<el-table-column prop="payUser" align="center" label="付款用户" width="110"> </el-table-column>
<el-table-column prop="status" align="center" label="状态">
<template slot-scope="scope">
<el-tag v-if="scope.row.status === 'unpaid'">未支付</el-tag>
<el-tag type="success" v-else-if="scope.row.status === 'paid'">已支付</el-tag>
@ -126,6 +139,11 @@
<span>{{ scope.row.payTime ? parseTime(scope.row.payTime):"--" }}</span>
</template>
</el-table-column>
<el-table-column label="操作人" align="center" prop="staffId">
<template slot-scope="scope">
<span>{{ getRealName(staffList,scope.row.staffId) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button style="width: 60px" size="mini"

View File

@ -262,14 +262,6 @@ public class FyPayServiceImpl implements FyPayService {
for (JSONObject jsonObject : jsonObjects) {
oilOrderService.addOilTrack(jsonObject,oilOrder.getStoreId());
}
// 修改优惠券使用状态
if (oilOrder.getCouponId()!=null) {
CardFavorableRecord byId = cardFavorableRecordService.getById(oilOrder.getCouponId());
if (!ObjectUtil.isEmpty(byId)) {
byId.setStatus("1");
cardFavorableRecordService.updateById(byId);
}
}
}
}
}

View File

@ -45,4 +45,34 @@ public class CreditUnitController extends BaseController {
private ResponseObject add(@Validated @RequestBody CreditUnit creditUnit){
return getSuccessResult(creditUnitService.insertCreditUnit(creditUnit));
}
/**
* 修改挂账单位信息
* @param creditUnit
* @return
*/
@PutMapping
private ResponseObject edit(@Validated @RequestBody CreditUnit creditUnit){
return getSuccessResult(creditUnitService.updateCreditUnit(creditUnit));
}
/**
* 修改挂账单位信息
* @param id
* @return
*/
@GetMapping("{id}")
private ResponseObject creditUnitInfo(@PathVariable Integer id){
return getSuccessResult(creditUnitService.selectCreditUnitById(id));
}
/**
* 修改挂账单位信息
* @param id
* @return
*/
@DeleteMapping("{id}")
private ResponseObject delete(@PathVariable Integer id){
return getSuccessResult(creditUnitService.deleteCreditUnitById(id));
}
}

View File

@ -50,15 +50,15 @@ public class CreditUnit extends BaseEntity implements Serializable {
*/
private String contactMobile;
/**
* 挂账额度
* 预设挂账额度
*/
private Double creditLimit;
/**
* 挂账额度
* 可使用挂账额度
*/
private Double usedCreditLimit;
/**
* 挂账额度
* 剩余挂账额度
*/
private Double residueCreditLimit;
/**

View File

@ -27,6 +27,18 @@ public interface CreditUnitService extends IService<CreditUnit> {
*/
public List<CreditUnit> selectCreditUnitList();
/**
* 根据id查询挂账单位信息
* @return
*/
public CreditUnit selectCreditUnitById(Integer id);
/**
* 根据id删除挂账单位信息
* @return
*/
public int deleteCreditUnitById(Integer id);
/**
* 根据id查询挂账单位信息
* @return

View File

@ -1,5 +1,6 @@
package com.fuint.business.order.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -38,6 +39,16 @@ public class CreditUnitServiceImpl extends ServiceImpl<CreditUnitMapper, CreditU
return list;
}
@Override
public CreditUnit selectCreditUnitById(Integer id) {
return baseMapper.selectById(id);
}
@Override
public int deleteCreditUnitById(Integer id) {
return baseMapper.deleteById(id);
}
@Override
public CreditUnit selectCreditUnitListById(int id) {
CreditUnit creditUnit = baseMapper.selectById(id);
@ -50,7 +61,15 @@ public class CreditUnitServiceImpl extends ServiceImpl<CreditUnitMapper, CreditU
LJStore store = storeService.selectStoreByStoreId(nowAccountInfo.getStoreId());
creditUnit.setStoreId(store.getId());
creditUnit.setChainStoreId(store.getChainStoreId());
int row = baseMapper.insert(creditUnit);
// 查询挂账单位是否存在
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("unit_name",creditUnit.getUnitName());
queryWrapper.eq("store_id",store.getId());
CreditUnit creditUnit1 = baseMapper.selectOne(queryWrapper);
int row = 0;
if (ObjectUtil.isEmpty(creditUnit1)){
row = baseMapper.insert(creditUnit);
}
return row;
}

View File

@ -17,3 +17,31 @@ export function addCreditUnit(data) {
data: data
})
}
// 修改挂账记录
export function editCreditUnit(data) {
return request({
url: '/business/creditUnit',
method: 'put',
data: data
})
}
// 根据id查询挂账记录
export function creditUnitInfo(id) {
return request({
url: '/business/creditUnit/' + id,
method: 'get',
})
}
// 根据id删除挂账记录
export function deleteCreditUnit(id) {
return request({
url: '/business/creditUnit/' + id,
method: 'delete',
})
}

File diff suppressed because it is too large Load Diff

View File

@ -263,11 +263,11 @@ export default {
activeName: 'second',
tabarr:[
{name:'收银台',icon:'el-icon-s-platform',path:'/homeindex'},
{name:'充值',icon: 'el-icon-s-finance',path:'/Recharge'},
// {name:'',icon: 'el-icon-s-finance',path:'/Recharge'},
{name:'订单',icon: 'el-icon-s-order',path:'/Order'},
{name:'会员',icon: 'el-icon-s-custom',path:'/Vip'},
{name:'核销',icon: 'el-icon-s-check',path:'/WriteOff'},
{name:'挂账',icon:'el-icon-s-claim',path:'/credit'},
{name:'挂账管理',icon:'el-icon-s-claim',path:'/credit'},
{name:'积分',icon:'el-icon-s-data',path:'/Integral'},
{name:'交班',icon: 'el-icon-s-flag',path:'/Handover'},
],

View File

@ -94,18 +94,19 @@
<el-table
:data="orderList"
style="width: 100%">
<el-table-column type="expand">
<template slot-scope="props">
<el-form label-position="left" class="demo-table-expand" style="margin-left: 20px">
<el-form-item label="收银员">
<span>{{ getRealName(staffList,props.row.staffId) }}</span>
</el-form-item>
<el-form-item label="收银员手机号">
<span>{{ getMobile(staffList,props.row.staffId) }}</span>
</el-form-item>
</el-form>
</template>
</el-table-column>
<!-- <el-table-column type="expand">-->
<!-- <template slot-scope="props">-->
<!-- <el-form label-position="left" class="demo-table-expand" style="margin-left: 20px">-->
<!-- <el-form-item label="收银员">-->
<!-- <span>{{ getRealName(staffList,props.row.staffId) }}</span>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="收银员手机号">-->
<!-- <span>{{ getMobile(staffList,props.row.staffId) }}</span>-->
<!-- </el-form-item>-->
<!-- </el-form>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column type="index" width="80" 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="payAmount" align="center" label="实付金额"> </el-table-column>
@ -123,19 +124,19 @@
</el-table-column>
</el-table-column>
<el-table-column align="center" label="实付订单金额组成">
<el-table-column prop="oilOrderAmount" align="center" label="油品实付金额">
<el-table-column prop="oilOrderAmount" align="center" label="油品实付金额" width="100">
<template slot-scope="scope">
<span>{{scope.row.oilOrderAmount ? scope.row.oilOrderAmount : '0'}}</span>
</template>
</el-table-column>
<el-table-column prop="goodsOrderAmount" align="center" label="商品实付金额">
<el-table-column prop="goodsOrderAmount" align="center" label="商品实付金额" width="110">
<template slot-scope="scope">
<span>{{scope.row.goodsOrderAmount ? scope.row.goodsOrderAmount : '0'}}</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column prop="payUser" align="center" label="付款用户"> </el-table-column>
<el-table-column prop="payUser" align="center" label="付款用户" width="110"> </el-table-column>
<el-table-column prop="status" align="center" label="状态">
<template slot-scope="scope">
<el-tag v-if="scope.row.status === 'unpaid'">未支付</el-tag>
@ -154,7 +155,7 @@
<span>{{ getRealName(staffList,scope.row.staffId) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="300" class-name="small-padding fixed-width">
<el-table-column label="操作" align="center" width="240" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button style="width: 60px" size="mini"
@click="getOrdersInfo(scope.row.id)"