This commit is contained in:
cun-nan 2024-01-30 18:36:40 +08:00
parent d5a7ddd1d2
commit 63ca5ca01b
7 changed files with 209 additions and 25 deletions

View File

@ -211,21 +211,21 @@
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="进货单价" prop="buyingPrice"> <el-form-item label="进货单价" prop="buyingPrice">
<el-input v-model="form.buyingPrice" oninput="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')"> <el-input v-model="form.buyingPrice" maxlength="10" oninput="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')">
<template slot="append"></template> <template slot="append"></template>
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="零售价" prop="retailPrice"> <el-form-item label="零售价" prop="retailPrice">
<el-input v-model="form.retailPrice" @input="getPrice" oninput="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')"> <el-input v-model="form.retailPrice" maxlength="10" @input="getPrice" oninput="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')">
<template slot="append"></template> <template slot="append"></template>
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="会员价" prop="memberPrice"> <el-form-item label="会员价" prop="memberPrice">
<el-input v-model="form.memberPrice" oninput="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')"> <el-input v-model="form.memberPrice" maxlength="10" oninput="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')">
<template slot="append"></template> <template slot="append"></template>
</el-input> </el-input>
</el-form-item> </el-form-item>

View File

@ -212,11 +212,11 @@
<dict-tag :options="dict.type.zhzt" :value="scope.row.status"/> <dict-tag :options="dict.type.zhzt" :value="scope.row.status"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="公众号" align="center" prop="official"> <!-- <el-table-column label="公众号" align="center" prop="official">-->
<template slot-scope="scope"> <!-- <template slot-scope="scope">-->
<dict-tag :options="dict.type.official" :value="scope.row.official"/> <!-- <dict-tag :options="dict.type.official" :value="scope.row.official"/>-->
</template> <!-- </template>-->
</el-table-column> <!-- </el-table-column>-->
<el-table-column label="操作" align="center" width="120" fixed='right'> <el-table-column label="操作" align="center" width="120" fixed='right'>
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button

View File

@ -269,11 +269,18 @@
collapse-tags collapse-tags
@change="getCheckbox" @change="getCheckbox"
placeholder="请选择"> placeholder="请选择">
<el-checkbox style="margin-left: 100px" :checked="checked" v-model="checked" @change='selectAll'>全选</el-checkbox>
<!-- <el-option-->
<!-- v-for="dict in dict.type.shqx"-->
<!-- :key="dict.label"-->
<!-- :label="dict.label"-->
<!-- :value="dict.label"-->
<!-- >-->
<el-option <el-option
v-for="dict in dict.type.shqx" v-for="dict in shqxList"
:key="dict.label" :key="dict.dictValue"
:label="dict.label" :label="dict.dictLabel"
:value="dict.label" :value="dict.dictValue"
> >
</el-option> </el-option>
</el-select> </el-select>
@ -324,6 +331,7 @@ import {getName} from "../../utils/fuint";
import {addStaff, createStaffQrCode, delStaff, getStaff, listStaff, queryStaff, updateStaff} from "@/api/staff/staff"; import {addStaff, createStaffQrCode, delStaff, getStaff, listStaff, queryStaff, updateStaff} from "@/api/staff/staff";
import {getDuty, listDuty} from "@/api/staff/duty"; import {getDuty, listDuty} from "@/api/staff/duty";
import html2canvas from "html2canvas"; import html2canvas from "html2canvas";
import {getDicts} from "@/api/order/data";
export default { export default {
name: "StaffList", name: "StaffList",
@ -333,6 +341,7 @@ export default {
return { return {
// //
type:"", type:"",
checked:false,
// url // url
imgUrl:"", imgUrl:"",
// //
@ -351,6 +360,7 @@ export default {
// //
showSearch: true, showSearch: true,
storeOptions: [], storeOptions: [],
shqxList: [],
// role:[], // role:[],
posPrem:'', posPrem:'',
posOptions:[ posOptions:[
@ -481,6 +491,22 @@ export default {
// this.getStoreList(); // this.getStoreList();
}, },
methods: { methods: {
selectAll(val){
this.auditPrem = []
if (val) {
this.shqxList.forEach((item) => {
this.auditPrem.push(item.dictValue)
this.form.auditPrem = this.auditPrem.toString();
})
} else {
this.auditPrem = []
}
},
getAuditPrem(){
getDicts("shqx").then(res => {
this.shqxList = res.data
})
},
// //
getStaffQRcode(id){ getStaffQRcode(id){
createStaffQrCode(id).then(res => { createStaffQrCode(id).then(res => {
@ -543,11 +569,16 @@ export default {
handleNodeClick2(data) { handleNodeClick2(data) {
this.form.appletPrem = JSON.stringify(data); this.form.appletPrem = JSON.stringify(data);
}, },
getCheckbox(){ getCheckbox(val){
console.log("this.auditPrem.toString()",this.auditPrem.toString()) console.log("this.auditPrem.toString()",this.auditPrem.toString())
// this.form.writeOff = this.writeOff.toString(); // this.form.writeOff = this.writeOff.toString();
// this.form.specialPrem = this.specialPrem.toString(); // this.form.specialPrem = this.specialPrem.toString();
this.form.auditPrem = this.auditPrem.toString(); this.form.auditPrem = this.auditPrem.toString();
if (val.length === this.shqxList.length) {
this.checked = true
} else {
this.checked = false
}
}, },
// //
toTarget(url) { toTarget(url) {
@ -637,6 +668,7 @@ export default {
// //
cancel() { cancel() {
this.open = false; this.open = false;
this.checked = false;
this.reset(); this.reset();
}, },
changePassword(){ changePassword(){
@ -660,6 +692,7 @@ export default {
if (response.data==1){ if (response.data==1){
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
this.open = false; this.open = false;
this.checked = false;
this.getList(); this.getList();
} }
}); });
@ -673,6 +706,7 @@ export default {
if (response.data==1){ if (response.data==1){
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess("修改成功");
this.open = false; this.open = false;
this.checked = false;
this.getList(); this.getList();
}else { }else {
this.$modal.msgError("手机号已存在"); this.$modal.msgError("手机号已存在");
@ -684,11 +718,12 @@ export default {
}); });
}, },
// //
handleUpdate(row) { async handleUpdate(row) {
this.reset(); this.reset();
this.open = true; this.open = true;
const id = row.id || this.ids; const id = row.id || this.ids;
getStaff(id).then(response => { await this.getAuditPrem()
await getStaff(id).then(response => {
this.form = response.data; this.form = response.data;
this.form.password = '123456' this.form.password = '123456'
// this.form.refundPassword = '123456' // this.form.refundPassword = '123456'
@ -699,7 +734,11 @@ export default {
this.auditPrem = [] this.auditPrem = []
this.auditPrem = this.form.auditPrem.split(","); this.auditPrem = this.form.auditPrem.split(",");
console.log("this.form.auditPrem",this.auditPrem) console.log("this.form.auditPrem",this.auditPrem)
if (this.auditPrem.length === this.shqxList.length) {
this.checked = true
} else {
this.checked = false
}
} }
if (this.writeOff.length > 0){ if (this.writeOff.length > 0){
this.writeOff = this.form.writeOff.split(","); this.writeOff = this.form.writeOff.split(",");

View File

@ -247,15 +247,15 @@
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="消费条件" prop="meetCondition"> <el-form-item label="消费条件" prop="meetCondition">
<el-input v-if="form.type == 'orderAmount'" v-model="form.meetCondition"> <el-input v-if="form.type == 'orderAmount'" maxlength="10" oninput="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')" v-model="form.meetCondition">
<template slot="prepend">订单金额消费满</template> <template slot="prepend">订单金额消费满</template>
<template slot="append"></template> <template slot="append"></template>
</el-input> </el-input>
<el-input v-if="form.type == 'payAmount'" v-model="form.meetCondition"> <el-input v-if="form.type == 'payAmount'" maxlength="10" oninput="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')" v-model="form.meetCondition">
<template slot="prepend">实际金额消费满</template> <template slot="prepend">实际金额消费满</template>
<template slot="append"></template> <template slot="append"></template>
</el-input> </el-input>
<el-input v-if="form.type == 'refuleNum'" v-model="form.meetCondition"> <el-input v-if="form.type == 'refuleNum'" maxlength="10" oninput="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')" v-model="form.meetCondition">
<template slot="prepend">加油数量消费满</template> <template slot="prepend">加油数量消费满</template>
<template slot="append">单位/立方</template> <template slot="append">单位/立方</template>
</el-input> </el-input>
@ -266,7 +266,7 @@
<el-col :span="24"> <el-col :span="24">
<el-form-item label="提成金额" prop="royaltyRate"> <el-form-item label="提成金额" prop="royaltyRate">
<el-input v-model="form.royaltyRate" placeholder="请输入提成"> <el-input v-model="form.royaltyRate" placeholder="请输入提成">
<el-select v-model="select" style="width: 70px" slot="append" placeholder="请选择"> <el-select v-model="select" maxlength="10" oninput="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')" style="width: 70px" slot="append" placeholder="请选择">
<el-option label="元" value="元"></el-option> <el-option label="元" value="元"></el-option>
<el-option label="%" value="%"></el-option> <el-option label="%" value="%"></el-option>
</el-select> </el-select>
@ -553,7 +553,9 @@ export default {
submitForm: function() { submitForm: function() {
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
if (valid) { if (valid) {
this.form.royaltyRate = this.form.royaltyRate + this.select if (/^\d+$/.test(this.form.royaltyRate)){
this.form.royaltyRate = this.form.royaltyRate + this.select
}
this.form.staffRoleGroup = this.staffRoleGroup.toString() this.form.staffRoleGroup = this.staffRoleGroup.toString()
if (this.form.id) { if (this.form.id) {
updateCommission(this.form).then(response => { updateCommission(this.form).then(response => {

View File

@ -61,7 +61,7 @@ public interface StaffCommissionService extends IService<StaffCommission> {
* @param amount 订单金额 * @param amount 订单金额
* @param payAmount 实付金额 * @param payAmount 实付金额
* @param oilLiters 油品消费升数 * @param oilLiters 油品消费升数
* @param type 订单类型油品非油品 * @param type 订单类型1.油品2.非油品3.储值卡4.囤油卡5.礼品卡6.加油
* @param orderNo 关联订单号 * @param orderNo 关联订单号
*/ */
void countStaffCommission(Integer staffId,Integer storeId,Double amount,Double payAmount,Double oilLiters,String type,String orderNo); void countStaffCommission(Integer staffId,Integer storeId,Double amount,Double payAmount,Double oilLiters,String type,String orderNo);

View File

@ -174,7 +174,6 @@ public class StaffCommissionServiceImpl extends ServiceImpl<StaffCommissionMappe
} }
} }
} }
} }
if (type.equals("2") && staffCommission.getCommissionSource().equals("非油品")){ if (type.equals("2") && staffCommission.getCommissionSource().equals("非油品")){
for (String staffRoleGroup : staffRoleGroups) { for (String staffRoleGroup : staffRoleGroups) {
@ -197,6 +196,150 @@ public class StaffCommissionServiceImpl extends ServiceImpl<StaffCommissionMappe
} }
} }
} }
// 按照实付金额计算提成
if (staffCommission.getType().equals("payAmount")) {
if (payAmount >= Double.valueOf(staffCommission.getMeetCondition())) {
if (unit.equals("")) {
commissionRecord.setAmount(royaltyRate);
}
if (unit.equals("%")) {
commissionRecord.setAmount(payAmount * (royaltyRate / 100));
}
}
}
commissionRecordService.insertRecord(commissionRecord);
}
}
}
if (type.equals("3") && staffCommission.getCommissionSource().equals("储值卡")){
for (String staffRoleGroup : staffRoleGroups) {
if (staff.getRoleId().equals(staffRoleGroup)) {
commissionRecord.setStaffId(staffId);
commissionRecord.setStoreId(storeId);
commissionRecord.setType(type);
commissionRecord.setDescription(staffCommission.getCommissionSource() + "订单出售提成");
commissionRecord.setOrderNo(orderNo);
Double royaltyRate = Double.valueOf(staffCommission.getRoyaltyRate().substring(0, staffCommission.getRoyaltyRate().length() - 1));
String unit = staffCommission.getRoyaltyRate().substring(staffCommission.getRoyaltyRate().length() - 1);
// 按照订单金额计算提成
if (staffCommission.getType().equals("orderAmount")) {
if (amount >= Double.valueOf(staffCommission.getMeetCondition())) {
if (unit.equals("")) {
commissionRecord.setAmount(royaltyRate);
}
if (unit.equals("%")) {
commissionRecord.setAmount(amount * (royaltyRate / 100));
}
}
}
// 按照实付金额计算提成
if (staffCommission.getType().equals("payAmount")) {
if (payAmount >= Double.valueOf(staffCommission.getMeetCondition())) {
if (unit.equals("")) {
commissionRecord.setAmount(royaltyRate);
}
if (unit.equals("%")) {
commissionRecord.setAmount(payAmount * (royaltyRate / 100));
}
}
}
commissionRecordService.insertRecord(commissionRecord);
}
}
}
if (type.equals("4") && staffCommission.getCommissionSource().equals("囤油卡")){
for (String staffRoleGroup : staffRoleGroups) {
if (staff.getRoleId().equals(staffRoleGroup)) {
commissionRecord.setStaffId(staffId);
commissionRecord.setStoreId(storeId);
commissionRecord.setType(type);
commissionRecord.setDescription(staffCommission.getCommissionSource() + "订单出售提成");
commissionRecord.setOrderNo(orderNo);
Double royaltyRate = Double.valueOf(staffCommission.getRoyaltyRate().substring(0, staffCommission.getRoyaltyRate().length() - 1));
String unit = staffCommission.getRoyaltyRate().substring(staffCommission.getRoyaltyRate().length() - 1);
// 按照订单金额计算提成
if (staffCommission.getType().equals("orderAmount")) {
if (amount >= Double.valueOf(staffCommission.getMeetCondition())) {
if (unit.equals("")) {
commissionRecord.setAmount(royaltyRate);
}
if (unit.equals("%")) {
commissionRecord.setAmount(amount * (royaltyRate / 100));
}
}
}
// 按照实付金额计算提成
if (staffCommission.getType().equals("payAmount")) {
if (payAmount >= Double.valueOf(staffCommission.getMeetCondition())) {
if (unit.equals("")) {
commissionRecord.setAmount(royaltyRate);
}
if (unit.equals("%")) {
commissionRecord.setAmount(payAmount * (royaltyRate / 100));
}
}
}
commissionRecordService.insertRecord(commissionRecord);
}
}
}
if (type.equals("5") && staffCommission.getCommissionSource().equals("礼品卡")){
for (String staffRoleGroup : staffRoleGroups) {
if (staff.getRoleId().equals(staffRoleGroup)) {
commissionRecord.setStaffId(staffId);
commissionRecord.setStoreId(storeId);
commissionRecord.setType(type);
commissionRecord.setDescription(staffCommission.getCommissionSource() + "订单出售提成");
commissionRecord.setOrderNo(orderNo);
Double royaltyRate = Double.valueOf(staffCommission.getRoyaltyRate().substring(0, staffCommission.getRoyaltyRate().length() - 1));
String unit = staffCommission.getRoyaltyRate().substring(staffCommission.getRoyaltyRate().length() - 1);
// 按照订单金额计算提成
if (staffCommission.getType().equals("orderAmount")) {
if (amount >= Double.valueOf(staffCommission.getMeetCondition())) {
if (unit.equals("")) {
commissionRecord.setAmount(royaltyRate);
}
if (unit.equals("%")) {
commissionRecord.setAmount(amount * (royaltyRate / 100));
}
}
}
// 按照实付金额计算提成
if (staffCommission.getType().equals("payAmount")) {
if (payAmount >= Double.valueOf(staffCommission.getMeetCondition())) {
if (unit.equals("")) {
commissionRecord.setAmount(royaltyRate);
}
if (unit.equals("%")) {
commissionRecord.setAmount(payAmount * (royaltyRate / 100));
}
}
}
commissionRecordService.insertRecord(commissionRecord);
}
}
}
if (type.equals("6") && staffCommission.getCommissionSource().equals("加油")){
for (String staffRoleGroup : staffRoleGroups) {
if (staff.getRoleId().equals(staffRoleGroup)) {
commissionRecord.setStaffId(staffId);
commissionRecord.setStoreId(storeId);
commissionRecord.setType(type);
commissionRecord.setDescription(staffCommission.getCommissionSource() + "订单出售提成");
commissionRecord.setOrderNo(orderNo);
Double royaltyRate = Double.valueOf(staffCommission.getRoyaltyRate().substring(0, staffCommission.getRoyaltyRate().length() - 1));
String unit = staffCommission.getRoyaltyRate().substring(staffCommission.getRoyaltyRate().length() - 1);
// 按照订单金额计算提成
if (staffCommission.getType().equals("orderAmount")) {
if (amount >= Double.valueOf(staffCommission.getMeetCondition())) {
if (unit.equals("")) {
commissionRecord.setAmount(royaltyRate);
}
if (unit.equals("%")) {
commissionRecord.setAmount(amount * (royaltyRate / 100));
}
}
}
// 按照实付金额计算提成 // 按照实付金额计算提成
if (staffCommission.getType().equals("payAmount")) { if (staffCommission.getType().equals("payAmount")) {
if (payAmount >= Double.valueOf(staffCommission.getMeetCondition())) { if (payAmount >= Double.valueOf(staffCommission.getMeetCondition())) {

View File

@ -4,8 +4,8 @@
<sql id="selectHangBill"> <sql id="selectHangBill">
select hb.*,ms.real_name,ms.mobile,cu.unit_name,cu.person_credit,cu.contact_mobile,cu.credit_limit select hb.*,ms.real_name,ms.mobile,cu.unit_name,cu.person_credit,cu.contact_mobile,cu.credit_limit
from hang_bill hb from hang_bill hb
inner join mt_staff ms on hb.staff_id = ms.id left join mt_staff ms on hb.staff_id = ms.id
inner join credit_unit cu on hb.credit_unit_id = cu.id left join credit_unit cu on hb.credit_unit_id = cu.id
</sql> </sql>
<select id="selectHangBillList" resultType="com.fuint.business.order.vo.HangBillVo"> <select id="selectHangBillList" resultType="com.fuint.business.order.vo.HangBillVo">