直接收银修改

master
wangxubin@yeah.net 3 years ago
parent d0d1603688
commit f9be002800

@ -135,6 +135,7 @@ export default {
partten.https + res.data.filePath + "/" + res.data.fileName;
}
this.$refs.printform.show(this.printForm);
console.log(this.printForm)
});
},
handleSizeChange(v) {

@ -1,5 +1,6 @@
<template>
<el-dialog :close-on-click-modal="false" v-dialogDrag title="打印" append-to-body :visible.sync="printDialogVisible" width="60%">
<el-dialog :close-on-click-modal="false" v-dialogDrag title="打印" append-to-body :visible.sync="printDialogVisible"
width="60%">
<div id="printService" class="printDiv">
<div class="text-center text-grey padding-xs">
服务
@ -11,7 +12,8 @@
<el-form-item label="时间:"> {{ printForm.cashDate }} </el-form-item><br>
<el-form-item label="单号:">{{ printForm.cashNum }} </el-form-item><br>
<el-form-item label="顾客:">
{{ printForm.memberName?printForm.memberName:'散客' }}/{{ printForm.mobilePhone?printForm.mobilePhone:'******' }}
{{ printForm.memberName ? printForm.memberName : '散客' }}/{{ printForm.mobilePhone ? printForm.mobilePhone : '******'
}}
</el-form-item><br>
<el-form-item label="收银:">
<div>{{ staffName }} </div>
@ -29,36 +31,39 @@
<div class="text-left" style="width:25%">折后 </div>
</div>
<div style="height:15px"></div>
<div class="print-table flex justify-center align-center" v-for="(item,index) in printForm.projectList">
<div class="text-left" style="width:50%"> <span class="text-cyan text-out">{{item.projectName}}</span></div>
<div class="text-left" style="width:25%"> <span class="text-red text-price">{{item.priceMember}}</span></div>
<div class="text-left" style="width:25%"> <span class="text-red text-price">{{item.transactionPrice}}</span></div>
<div class="print-table flex justify-center align-center" v-for="(item, index) in printForm.projectList">
<div class="text-left" style="width:50%"> <span class="text-cyan text-out">{{ item.projectName }}</span></div>
<div class="text-left" style="width:25%"> <span class="text-red text-price">{{ item.priceMember }}</span></div>
<div class="text-left" style="width:25%"> <span class="text-red text-price">{{ item.discountmoney }}</span>
</div>
</div>
<div style="height:8px"></div>
<hr class="text-grey">
<div style="height:8px"></div>
<div v-if="recList.length!=0">
<div v-if="recList.length != 0">
<div class="print-table flex justify-center align-center">
<div class="text-left" style="width:50%">充值帐户 </div>
<div class="text-left" style="width:25%;padding-right:5px">支付 </div>
<div class="text-left" style="width:25%;padding-right:5px">剩余 </div>
</div>
<div style="height:15px"></div>
<div class="print-table flex justify-center align-center" v-for="(item,index) in recList">
<div class="text-left" style="width:50%"> <span class="text-cyan text-out">{{item.rechargeTypeName}}</span></div>
<div class="text-left" style="width:25%"> <span class="text-red text-price">{{item.spendMoney}}</span></div>
<div class="text-left" style="width:25%"> <span class="text-red text-price">{{item.cardRestMoney}}</span></div>
<div class="print-table flex justify-center align-center" v-for="(item, index) in recList">
<div class="text-left" style="width:50%"> <span class="text-cyan text-out">{{ item.rechargeTypeName }}</span>
</div>
<div class="text-left" style="width:25%"> <span class="text-red text-price">{{ item.spendMoney }}</span></div>
<div class="text-left" style="width:25%"> <span class="text-red text-price">{{ item.cardRestMoney }}</span>
</div>
</div>
</div>
<div v-if="printForm.payLists.length!=0">
<div v-if="printForm.payLists.length != 0">
<div class="print-table flex justify-center align-center">
<div class="text-left" style="width:50%">支付方式 </div>
<div class="text-left" style="width:50%;">支付 </div>
</div>
<div style="height:15px"></div>
<div class="print-table flex justify-center align-center" v-for="(item,index) in printForm.payLists">
<div class="text-left" style="width:50%"> <span class="text-cyan text-out">{{item.payName}}</span></div>
<div class="text-left" style="width:50%"> <span class="text-red text-price">{{item.payMoney}}</span></div>
<div class="print-table flex justify-center align-center" v-for="(item, index) in printForm.payLists">
<div class="text-left" style="width:50%"> <span class="text-cyan text-out">{{ item.payName }}</span></div>
<div class="text-left" style="width:50%"> <span class="text-red text-price">{{ item.payMoney }}</span></div>
</div>
</div>
<!-- <div class="flex justify-start align-center padding-top-xs padding-bottom-xs">
@ -128,7 +133,13 @@ export default {
form.projectList.forEach((item) => {
recList = recList.concat(item.rechargeConsumeList);
});
this.printForm.projectList.forEach((item) => {
item.discountmoney = ((item.collectionAmount * 1) + (item.collectionRechargeAmount * 1)).toFixed(2) * 1;
})
this.recList = recList;
console.log(form.projectList)
// console.log(this.recList)
this.printDialogVisible = true;
},
},

@ -221,7 +221,7 @@
</el-table>
</div>
<!-- <recash ref="recash" @recashData="recashData"></recash> -->
<el-button slot="reference">充值卡</el-button>
<el-button slot="reference" @click="selectindex(props.row)"></el-button>
</el-popover>
</div>
<div v-else></div>
@ -393,6 +393,9 @@ export default {
};
},
methods: {
selectindex(row) {
console.log(row)
},
changeMember() {
if (this.cashNumber == 1) {
Object.assign(this.$data, this.$options.data.call(this));
@ -415,139 +418,16 @@ export default {
},
//
editcard(row, index) {
this.recIndex = index;
// let debtMoney =
// (this.recForm.amount * 1 - this.recForm.cashAmount * 1).toFixed(2) * 1;
// let form = { ...row };
// //console.log(debtMoney);//
// if (debtMoney > 0) {
// // let cardMoney =
// // (form.offsetMoney + form.offsetGiftMoney).toFixed(2) * 1;
// // if (cardMoney < debtMoney) {
// // form.spendMoney = form.cardOver;
// // form.giftSpendMoney = form.giftConsumeMoney;
// // form.discoutMoney = form.offsetMoney;
// // form.discoutGiftMoney = form.offsetGiftMoney;
// // } else {
// //console.log(form);
// //console.log(form.type);
// //console.log(this.useRecharge);
// if (form.type == 2 || form.type == 0) {
// if (this.useRecharge == 2) {
// //
// if (this.recForm.noDiscount == 0) {
// if (form.offsetMoney > debtMoney) {
// form.spendMoney =
// ((debtMoney * form.discount) / 100).toFixed(2) * 1;
// } else {
// form.spendMoney = form.cardOver;
// form.discoutMoney =
// (form.cardOver * (form.discount / 100)).toFixed(2) * 1;
// form.giftSpendMoney =
// (
// (debtMoney - form.discoutMoney) *
// (form.discountFreeAmount / 100)
// ).toFixed(2) * 1;
// form.discoutGiftMoney =
// (debtMoney - form.discoutMoney).toFixed(2) * 1;
// }
// } else {
// if (form.offsetMoney > debtMoney) {
// form.spendMoney = debtMoney;
// } else {
// form.spendMoney = form.cardOver;
// form.discoutMoney = form.cardOver.toFixed(2) * 1;
// form.giftSpendMoney =
// (debtMoney - form.discoutMoney).toFixed(2) * 1;
// form.discoutGiftMoney =
// (debtMoney - form.discoutMoney).toFixed(2) * 1;
// }
// }
// } else {
// //使
// let sunRatio =
// (form.cardRestMoney + form.cardGiftOvers).toFixed(2) * 1;///+
// let recRatio = (form.cardRestMoney / sunRatio).toFixed(2) * 1;//
// let recGiftRatio = (form.cardGiftOvers / sunRatio).toFixed(2) * 1;//
// //console.log(form.cardRestMoney);//
// //console.log(form.cardGiftOvers);//
// //console.log(sunRatio);//+
// //console.log()
// if (form.offsetMoney > debtMoney * recRatio) {//
// if (this.recForm.noDiscount == 0) {
// form.spendMoney =//
// (debtMoney * recRatio * (form.discount / 100)).toFixed(2) * 1;
// //console.log(recRatio)
// //console.log(form.spendMoney)
// form.discoutMoney = (debtMoney * recRatio).toFixed(2) * 1;//
// form.giftSpendMoney =//
// (
// debtMoney *
// recGiftRatio *
// (form.discountFreeAmount / 100)
// ).toFixed(2) * 1;
// //console.log(form.giftSpendMoney)
// form.discoutGiftMoney =
// (debtMoney * recGiftRatio).toFixed(2) * 1;
// } else {
// //console.log(debtMoney);
// form.spendMoney = (debtMoney * recRatio).toFixed(2) * 1;
// form.discoutMoney = (debtMoney * recRatio).toFixed(2) * 1;
// form.giftSpendMoney = (debtMoney * recGiftRatio).toFixed(2) * 1;
// form.discoutGiftMoney =
// (debtMoney * recGiftRatio).toFixed(2) * 1;
// }
// } else {
// form.spendMoney = form.cardOver;
// form.discoutMoney =
// (form.cardOver / (form.discount / 100)).toFixed(2) * 1;
// form.giftSpendMoney =
// debtMoney * recRatio -
// form.discoutMoney +
// (debtMoney * recGiftRatio).toFixed(2) * 1;
// form.discoutGiftMoney =
// (
// debtMoney * recRatio -
// form.discoutMoney +
// (debtMoney * recGiftRatio) / (form.discountFreeAmount / 100)
// ).toFixed(2) * 1;
// }
// }
// if (form.spendMoney == 0) {
// form.giftSpendMoney = 0;
// form.discoutMoney = 0;
// form.discoutGiftMoney = 0;
// }
// } else {
// if (this.recForm.noDiscount == 0) {
// //
// form.spendMoney =
// ((debtMoney * form.discount) / 100).toFixed(2) * 1;
// } else {
// //
// form.spendMoney = debtMoney;
// }
// form.discoutMoney = debtMoney;
// }
// } else {
// form.spendMoney = 0;
// form.giftSpendMoney = 0;
// }
// if (form.spendMoney > form.cardOver) {
// form.spendMoney = form.cardOver;
// form.giftSpendMoney = form.cardGiftOvers;
// }
// this.rowRecList.splice(index, 1, form);
console.log(index)
},
endEditcard(row, index) {
//console.log(row)
console.log(index)
let debtMoney =
(this.recForm.amount * 1 - this.recForm.cashAmount * 1).toFixed(2) * 1;
console.log(this.recForm)
let form = { ...row };
//console.log(form)
console.log(form)
//console.log(debtMoney);//
if (debtMoney > 0) {
if (form.type == 2 || form.type == 0) {
@ -588,19 +468,14 @@ export default {
(form.cardRestMoney + form.cardGiftOvers).toFixed(2) * 1;///+
let recRatio = (form.cardRestMoney / sunRatio).toFixed(2) * 1;//
let recGiftRatio = (form.cardGiftOvers / sunRatio).toFixed(2) * 1;//
//console.log(form.cardRestMoney);//
//console.log(form.cardGiftOvers);//
//console.log(sunRatio);//+
//console.log(form.spendMoney)
if (form.offsetMoney > debtMoney * recRatio) {//
if (this.recForm.noDiscount == 0) {
form.discoutMoney =//
((form.spendMoney * 1) / (form.discount / 100)).toFixed(2) * 1;
//console.log(recRatio)
//console.log(form.spendMoney)
form.giftSpendMoney = ((form.spendMoney * 1) / recRatio * recGiftRatio).toFixed(2) * 1;
console.log("这个是赠送金额" + form.giftSpendMoney)
form.discoutGiftMoney =//
((form.spendMoney * 1) / recRatio * recGiftRatio / (form.discountFreeAmount / 100)).toFixed(2) * 1;
(form.giftSpendMoney / (form.discountFreeAmount / 100)).toFixed(2) * 1;
//console.log(form.discoutGiftMoney)
} else {
//console.log(debtMoney);
@ -616,6 +491,7 @@ export default {
form.discoutMoney =
((form.spendMoney * 1) * (form.discount / 100)).toFixed(2) * 1;
form.giftSpendMoney = ((form.spendMoney * 1) / recRatio * recGiftRatio).toFixed(2) * 1;
console.log("这个是赠送金额" + form.giftSpendMoney)
form.discoutGiftMoney =//
(form.giftSpendMoney * (form.discount / 100)).toFixed(2) * 1;
}
@ -628,15 +504,16 @@ export default {
} else {
if (this.recForm.noDiscount == 0) {
//
form.spendMoney =
((debtMoney * form.discount) / 100).toFixed(2) * 1;
form.discoutMoney =
((form.spendMoney * form.discount) / 100).toFixed(2) * 1;
} else {
//
form.spendMoney = debtMoney;
不可以打
form.discoutMoney = form.spendMoney;
}
form.discoutMoney = debtMoney;
form.discoutGiftMoney=0
}
if (form.discoutGiftMoney + form.discoutMoney > this.list[index].amount) {
if (form.discoutGiftMoney + form.discoutMoney > this.list[this.editProIndex].amount) {
this.$message.info({
message: "卡付金额不能大于套餐金额",
});
@ -660,7 +537,7 @@ export default {
}
this.rowRecList.splice(index, 1, form);
this.list[index].collectionCashAmounts = this.list[index].amount - (form.discoutMoney + form.discoutGiftMoney)
this.list[this.editProIndex].collectionCashAmounts = this.list[this.editProIndex].amount - (form.discoutMoney + form.discoutGiftMoney)
//console.log(this.list)
//console.log('index'+index)
let num = 0;
@ -788,6 +665,7 @@ export default {
this.recForm = JSON.parse(JSON.stringify(row));
this.rowRecList = JSON.parse(JSON.stringify(row.rechargeAccountList));
this.editProIndex = row.index;
console.log( this.editProIndex)
},
recashData(v) {
this.list = v.list;
@ -1307,8 +1185,8 @@ export default {
});
console.log(list)
list.forEach((item)=>{
item.collectionAmount=item.collectionAmounts
list.forEach((item) => {
item.collectionAmount = item.collectionAmounts
})
console.log(list)
@ -1318,7 +1196,7 @@ export default {
this.$message.success({
message: "验证成功 , 收银" + res.message,
});
this.formData =new FormData()
this.formData = new FormData()
this.notData();
} else {
this.payLists = this.payListsCopy;
@ -1332,14 +1210,20 @@ export default {
center: true,
callback: (action) => { },
});
this.formData = new FormData()
}
});
},
openStaffRatio(row, index, text) {
this.editIndex = index;
console.log(row)
this.$refs.staffratio.show(row, text);
this.$refs.staffratio.showdetele();
localStorage.setItem("row",JSON.stringify(row))
localStorage.setItem("text",text)
},
staffratioData(v) {
console.log(v)
let form = this.list[this.editIndex];
let texts = v.text + "s";
form[v.text] = v.list;

@ -1,5 +1,6 @@
<template>
<el-dialog :close-on-click-model="false" v-dialogDrag :title="staffTitle" :visible.sync="dialogVisible" width="500px" append-to-body :before-close="handleClose">
<el-dialog :close-on-click-model="false" v-dialogDrag :title="staffTitle" :visible.sync="dialogVisible" width="500px"
append-to-body :before-close="handleClose">
<el-button size="mini" type="primary" @click="add()"></el-button>
<el-button size="mini" type="primary" @click="del()"></el-button>
<div class="flex">
@ -7,7 +8,8 @@
<el-table-column align="center" :label="staffTitle">
<el-table-column min-width="140" align="center" label="员工">
<template slot-scope="scope">
<el-select filterable default-first-option v-model="scope.row.label" placeholder="请选择" @change="editChange($event,scope.$index)">
<el-select filterable default-first-option v-model="scope.row.label" placeholder="请选择"
@click="editclick($event, scope.$index)" @change="editChange($event, scope.$index)">
<el-option v-for="item in openList" :key="item.id" :label="item.label" :value="item.id">
</el-option>
</el-select>
@ -15,7 +17,8 @@
</el-table-column>
<el-table-column min-width="100" align="center" label="占比">
<template slot-scope="scope">
<el-input v-focus type="number" @blur="endEdit(scope.row,scope.$index)" :disabled="scope.$index==0" size="samll" v-model="scope.row.ratio"></el-input>
<el-input v-focus type="number" @blur="endEdit(scope.row, scope.$index)" :disabled="scope.$index == 0"
size="samll" v-model="scope.row.ratio"></el-input>
</template>
</el-table-column>
</el-table-column>
@ -40,24 +43,54 @@ export default {
form: {}, //
openList: [],
staffText: "",
staffTexts: "",
staffTitle: "",
staffTitles: "",
staffListCopy: [],
lists: [],
len: 0
};
},
methods: {
handleClose() {
Object.assign(this.$data, this.$options.data.call(this));
console.log(this.lists)
let forms = {
text: this.staffTexts,
list: this.lists
};
console.log(this.lists)
this.$emit("staffratioData", forms);
this.dialogVisible = false;
},
add() {
this.list.push({});
this.list.push({ label: "", ratio: 0 });
this.changeStaff();
},
endEdit(row, index) {
if (row.ratio || row.ratio * 1 < 101) {
row.ratio = row.ratio * 1;
} else {
console.log(row)
if (row.ratio * 1 > 100) {
this.$alert("输入值不能大于100", "提示", {
confirmButtonText: "确定",
confirmButtonClass: "confirmbtnFalses",
type: "warning",
center: true,
callback: (action) => { },
});
row.ratio = 0;
} else if (row.ratio * 1 < 0) {
this.$alert("输入值不能小于0", "提示", {
confirmButtonText: "确定",
confirmButtonClass: "confirmbtnFalses",
type: "warning",
center: true,
callback: (action) => { },
});
row.ratio = 0;
}
else {
row.ratio = row.ratio * 1;
}
let number = 0;
this.list.forEach((item, index) => {
if (index != 0) {
@ -65,30 +98,94 @@ export default {
}
});
this.list[0].ratio = 100 - number;
if (this.list[0].ratio < 0) {
this.$alert("第一个人员占比过低", "提示", {
confirmButtonText: "确定",
confirmButtonClass: "confirmbtnFalses",
type: "warning",
center: true,
callback: (action) => { },
});
this.list[0].ratio = this.list[0].ratio + row.ratio
row.ratio = 0;
}
this.changeStaff();
},
editChange(e, index) {
let number = 0;
let row = this.list[index];
if (this.list.length == 1) {
row.ratio = 100;
} else {
row.ratio = 0
this.list.forEach((item, index) => {
if (index != 0) {
number += item.ratio * 1;
}
this.list[0].ratio = 100 - number;
})
console.log(this.list[0].ratio)
}
let form = {};
this.openList.forEach((item) => {
if (e == item.id) {
form = { ...item };
}
});
if (row.ratio > 0) {
form.ratio = row.ratio;
}
})
form.ratio = row.ratio;
this.list.splice(index, 1, form);
console.log(this.openList);
this.changeStaff();
},
editclick(index) {
let row = this.list[index];
row.ratio=0
let number = 0;
this.list.forEach((item, index) => {
if (index != 0) {
number += item.ratio * 1;
}
this.list[0].ratio = 100 - number;
})
console.log(this.list[0].ratio)
},
del() {
let index = this.list.length - 1;
this.list[0].ratio += this.list[index].ratio;
this.list.splice(index, 1);
this.changeStaff();
},
showdetele() {
setTimeout(() => {
this.$nextTick(() => {
let row = JSON.parse(localStorage.getItem('row'));
let text = localStorage.getItem('text')
this.lists = JSON.parse(JSON.stringify([]));
this.staffTexts = text;
this.lists = row[text];
this.len = this.lists.length
this.lists.forEach((item) => {
if (item.id) {
item.label = item.brandNumber + "-" + item.staffName;
}
});
this.dialogVisible = true;
this.getData();
this.changeStaff();
let number = 0;
this.lists.forEach((item, index) => {
if (index != 0) {
number += item.ratio * 1;
}
});
if (this.lists.length > 0) {
this.lists[0].ratio = (100 - number).toFixed(2) * 1;
}
});
}, 300);
},
show(form, text) {
setTimeout(() => {
this.$nextTick(() => {
@ -131,8 +228,8 @@ export default {
if (this.list.length > 0) {
this.list[0].ratio = (100 - number).toFixed(2) * 1;
}
this.list.push({ label: "", ratio: 0 });
});
console.log(this.list);
}, 300);
},
changeStaff() {
@ -168,7 +265,7 @@ export default {
confirmButtonClass: "confirmbtnFalses",
type: "warning",
center: true,
callback: (action) => {},
callback: (action) => { },
});
}
});
@ -188,7 +285,7 @@ export default {
confirmButtonClass: "confirmbtnFalses",
type: "warning",
center: true,
callback: (action) => {},
callback: (action) => { },
});
}
});
@ -211,7 +308,7 @@ export default {
confirmButtonClass: "confirmbtnFalses",
type: "warning",
center: true,
callback: (action) => {},
callback: (action) => { },
});
}
});
@ -230,6 +327,13 @@ export default {
},
confirms() {
let flag = this.isRepeat(this.list, "brandNumber");
console.log(this.list)
this.list.forEach((item,index)=>{
if(item.label==""){
this.list.splice(index,1)
}
})
let form = {
text: this.staffText,
list: this.list,
@ -237,6 +341,7 @@ export default {
console.log(flag);
if (flag) {
this.$emit("staffratioData", form);
console.log(form)
this.dialogVisible = false;
} else {
this.$alert("选择员工存在重复", "提示", {
@ -244,7 +349,7 @@ export default {
confirmButtonClass: "confirmbtnFalses",
type: "warning",
center: true,
callback: (action) => {},
callback: (action) => { },
});
}
},

Loading…
Cancel
Save