上线提交

master
曾嘉俊 3 years ago
parent b7b9517afb
commit 155ff1793a

21731
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -18,6 +18,66 @@ export function rechargeReissue(data){
})
}
// 疗程导出
export function exportachis(data){
return service({
url:"/api"+'/demay/ssm/course/courseList/exportachis',
data,
method: "post",
responseType:'blob'
})
}
// 促销导出
export function exporDocPromotion(data){
return service({
url:"/api"+'/demay/ssm/docPromotion/docPromotion/exportachis',
data,
method: "post",
responseType:'blob'
})
}
// 加价转疗程导出
export function exporCardChange(data){
return service({
url:"/api"+'/demay/ssm/cardChange/cardChange/exportachis',
data,
method: "post",
responseType:'blob'
})
}
// 还款导出
export function exportrepay(data){
return service({
url:"/api"+'/demay/ssm/repay/repay/exportachis',
data,
method: "post",
responseType:'blob'
})
}
// 充值导出
export function rechargeExport(data){
return service({
url:"/api"+'/demay/ssm/rec/rechargeList/exportachis',
data,
method: "post",
responseType:'blob'
})
}
// 收银导出
export function exporSyList(data){
return service({
url:"/api"+'/demay/ssm/cash/cashList/exportachis',
data,
method: "post",
responseType:'blob'
})
}
// 疗程短信重发
export function courseReissue(data){
return service({

@ -154,13 +154,14 @@ export default {
this.title = "选择会员卡包疗程";
var memberIds = {
memberId: this.form.id,
storeId:this.form.storeId
};
if (this.courseProjectId) {
memberIds.courseProjectId = this.courseProjectId;
}
console.log((sessionStorage.getItem("storeId")),JSON.parse(sessionStorage.getItem("storeId")))
memberIds.storeId = sessionStorage.getItem("storeId")
if(this.form.storeId){
memberIds.storeId = this.form.storeId
}
couAccountListByJZ(memberIds).then((res) => {
this.listLoading = false;
if (res.code == "000000") {

@ -149,7 +149,8 @@
<pro ref="pro" @proData="proData"></pro>
<staffratio ref="staffratio" @staffratioData="staffratioData"></staffratio>
<span slot="footer" class="dialog-footer">
<el-button size="mini" type="primary" plain @click="handleClose"> </el-button>
<el-button size="mini" plain @click="handleClose"> </el-button>
<!-- <el-button size="mini" type="primary" @click="handleExport" :loading="exportLoad">导出</el-button> -->
<el-button size="mini" type="primary" :loading="loading" :disabled="multipleSelection.length==0" @click="confirms(loading=true)"> </el-button>
</span>
</el-dialog>
@ -166,6 +167,7 @@ import {
recAccountCashList,
selectListType,
QuerCompetent,
exportrepay
} from "@/api/eashier.js";
import cancel from "./components/cancel.vue";
import admin from "@/components/staffList/admin/index";
@ -186,6 +188,7 @@ export default {
},
data() {
return {
exportLoad:false,
index:0,
headOffice: false, //
staffList: [], //
@ -223,6 +226,23 @@ export default {
};
},
methods: {
handleExport(){
this.exportLoad = true
let params = {
date:new Date()
}
exportrepay(params).then(res=>{
this.exportLoad = false
let blob = new Blob([res]);
var a = document.createElement("a");
var url = window.URL.createObjectURL(blob);
console.log(url);
a.href = url;
a.download = "还款导出表.xlsx";
a.click();
window.URL.revokeObjectURL(url);
})
},
openStaffRatio(row, text) {
this.$refs.staffratio.show(row, text);
},

@ -375,14 +375,14 @@ export default {
number: "500200",
id:"8008004",
},
// {
// name: "",
// icon: "el-icon-receiving",
// route: "/memberAgreement",
// index: "memberAgreement",
// number: "500200",
// id:"80080042323",
// },
{
name: "会员协议",
icon: "el-icon-receiving",
route: "/memberAgreement",
index: "memberAgreement",
number: "500200",
id:"80080042323",
},
{
name: "疗程内调单",
icon: "el-icon-receiving",

@ -246,7 +246,8 @@
</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button size="mini" type="primary" @click="close"></el-button>
<el-button size="mini" type="primary" @click="rechargeExport" v-if="headOffice" :loading="exportloading"> </el-button>
<el-button size="mini" @click="close"></el-button>
</span>
</el-dialog>
<el-dialog title="账户明细" :visible.sync="postponeDialog" :modal-append-to-body="true">
@ -443,6 +444,7 @@ import {
recAccountList,
recTypeOne,
debtPage,
rechargeExport
} from "@/api/eashier.js";
import addmember from "@/components/member/edit/index";
import admin from "@/components/staffList/admin/index";
@ -470,6 +472,7 @@ export default {
},
data() {
return {
exportloading:false,
giveType:undefined,
printDialogVisible: false, //
listDialogVisible: false,
@ -558,6 +561,23 @@ export default {
};
},
methods: {
rechargeExport(){
this.exportloading = true
let params = {
rechargeDate:this.formatTime(this.selectDate, "YYYY-MM-DD hh:mm:ss")
}
rechargeExport(params).then(res=>{
this.exportloading = false
let blob = new Blob([res]);
var a = document.createElement("a");
var url = window.URL.createObjectURL(blob);
console.log(url);
a.href = url;
a.download = "充值导出表.xlsx";
a.click();
window.URL.revokeObjectURL(url);
})
},
addUserConfirm(phone){
this.form.mobilePhone = phone
this.query()

@ -69,7 +69,6 @@
</div>
</el-form-item>
<br />
<el-form-item label="欠款:">
<div class="form-width-sm">
<span>{{ form.debtMoney }}</span>
@ -92,7 +91,7 @@
</el-form-item>
<br />
<el-form-item label="说明:">
<span>{{ form.description }}</span>
<el-input v-model="form.description"></el-input>
</el-form-item>
</el-form>
<div style="width:280px" class="border-radius-10 border margin-right-xs bg-white padding-xs">
@ -177,7 +176,10 @@ export default {
let params = {
collectionAmount:this.form['collectionAmount'],
additionDate:this.form['additionDate'],
mobilePhone:this.form['mobilePhone']
mobilePhone:this.form['mobilePhone'],
rechargeAccountId:this.form['rechargeAccountId'],
giftAfterMoney:this.form['giftAfterMoney'],
giftBeforeMoney:this.form['giftBeforeMoney']
}
rechargeReissue(params).then(res=>{
// console.log(res)
@ -346,6 +348,7 @@ export default {
}
});
let form = {
description:this.form.description,
rechargeDate: this.form.rechargeDate,
collectionAmount: this.form.collectionAmount,
rechargeAmount: this.form.rechargeAmount,

@ -724,6 +724,7 @@ export default {
}else{
this.proForm.storeId=""
}
console.log( this.proForm )
this.$refs.project.show(this.proForm);
}
},

@ -1,5 +1,5 @@
<template>
<el-dialog :close-on-click-modal="false" v-dialogDrag :title="title" :visible.sync="dialogFormVisible" :before-close="handleClose" width="50%" >
<el-dialog :close-on-click-modal="false" v-dialogDrag :title="title" :visible.sync="dialogFormVisible" :before-close="handleClose" width="80%" >
<el-form :model="form"ref="form" label-width="60px">
<el-form-item label="协议名称" prop="mobilePhone">
<div class="form-width-ms">
@ -53,7 +53,7 @@
<style>
.quill{
height:300px
/* height:300px */
}
</style>

@ -0,0 +1,34 @@
<template>
<div class="phone" v-html="content">
</div>
</template>
<script>
export default {
props:{
content:{
type:String,
default:""
},
},
data() {
return {
};
},
methods: {
}
};
</script>
<style>
.phone{
width: 300px;
height:400px;
border-radius: 20px;
border: 1px solid #ccc;
padding: 10px;
box-sizing: border-box;
overflow-x: hidden;
overflow-y: scroll;
}
</style>

@ -10,6 +10,7 @@
@change="onEditorChange">
>
</quill-editor>
<mobile-template ref="mobileTemplate" :content="content"/>
</div>
</template>
@ -19,6 +20,7 @@
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'
import { quillEditor } from 'vue-quill-editor'
import mobileTemplate from './mobileTemplates.vue'
//
const toolbarOptions = [
@ -56,7 +58,8 @@
name: 'LocalQuillEditor',
// quillEditor
components: {
quillEditor
quillEditor,
mobileTemplate
},
data () {
return {
@ -89,7 +92,13 @@
</script>
<style scoped >
.local-quill-editor{
display: flex;
/* justify-content: space-between; */
}
.editor {
height:250px
height:250px;
width: 75%;
margin-right: 200px;
}
</style>

@ -74,6 +74,7 @@
<detail ref="detail" @detailData="detailData"></detail>
<span slot="footer" class="dialog-footer">
<el-button size="mini" type="primary" plain @click="dialogFormVisible = false"> </el-button>
<el-button size="mini" type="primary" @click="handleExport" :loading="exportLoad" v-if="headOffice"> </el-button>
<el-button size="mini" type="primary" @click="(dialogFormVisible = false)">
</el-button>
</span>
@ -85,6 +86,7 @@ import {
cardChangePage,
cardChangeCancel,
updateStateCardChange,
exporCardChange
} from "@/api/eashier.js";
import admin from "@/components/staffList/admin/index";
import manager from "@/components/staffList/manager/index";
@ -101,6 +103,7 @@ export default {
},
data() {
return {
exportLoad:false,
primaryDialog: false,
dialogFormVisible: false, //
sessionStorageData: {
@ -130,6 +133,23 @@ export default {
};
},
methods: {
handleExport(){
this.exportLoad = true
let params = {
date:new Date()
}
exporCardChange(params).then(res=>{
this.exportLoad = false
let blob = new Blob([res]);
var a = document.createElement("a");
var url = window.URL.createObjectURL(blob);
console.log(url);
a.href = url;
a.download = "加价转疗程导出表.xlsx";
a.click();
window.URL.revokeObjectURL(url);
})
},
//
rowdbClick(row) {
this.$refs.detail.show(row);

@ -134,7 +134,8 @@ export default {
let params = {
additionDate:this.form['courseLists'][0]['date'],
mobilePhone:this.form['mobilePhone'],
projectName:this.form['projectName']
projectName:this.form['projectName'],
courseLists:this.form['courseLists']
}
courseReissue(params).then(res=>{
if(res.code === '000000'){

@ -201,7 +201,7 @@
<el-dialog :close-on-click-modal="false" v-dialogDrag title="疗程" :visible.sync="listDialogVisible" width="90%" :close="close">
<div class="flex justify-between padding-bottom-xs">
<div>
<el-date-picker @change="getList" style="width: 200px" v-model="selectDate" format="yyyy年 MM月" type="month" placeholder="选择日期"></el-date-picker>
<el-date-picker @change="getList" style="width: 200px" v-model="selectDate" type="month" placeholder="选择日期"></el-date-picker>
<selec v-if="headOffice==1" ref="selec" @selecData="selecData"></selec>
</div>
@ -275,7 +275,8 @@
<el-pagination align="left" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="queryForm.pageNum" :page-sizes="[10, 20, 30, 40, 50]" :page-size="queryForm.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="total"></el-pagination>
</div>
<span slot="footer" class="dialog-footer">
<el-button size="mini" type="primary" @click="close"></el-button>
<el-button size="mini" type="primary" @click="exportachis()" v-if="headOffice" :loading="exportloading"> </el-button>
<el-button size="mini" @click="close"> </el-button>
</span>
</el-dialog>
<div>
@ -462,7 +463,8 @@ import {
addcourse,
ctlist,
editCouAccount,
selectCourseOne
selectCourseOne,
exportachis
} from "@/api/eashier.js";
import { propage } from "@/api/storeManage";
import repayment from "@/components/repayment/index.vue";
@ -495,6 +497,7 @@ export default {
},
data() {
return {
exportloading:false,
courseProjectLists:[],
payTypeLists:[],
courseLists:[],
@ -700,6 +703,23 @@ export default {
}
},
methods: {
exportachis(){
this.exportloading = true
let params = {
date:this.formatTime(this.selectDate, "YYYY-MM-DD hh:mm:ss")
}
exportachis(params).then(res=>{
this.exportloading = false
let blob = new Blob([res]);
var a = document.createElement("a");
var url = window.URL.createObjectURL(blob);
console.log(url);
a.href = url;
a.download = "疗程导出表.xlsx";
a.click();
window.URL.revokeObjectURL(url);
})
},
addUserConfirm(phone){
this.form.mobilePhone = phone
this.query()
@ -1654,7 +1674,7 @@ export default {
this.$refs.selec.show();
});
}
this.queryForm.selectDate = this.formatTime(this.selectDate, "YYYYMM");
this.queryForm.selectDate = this.formatTime(this.selectDate, "YYYY-MM");
coursepage(this.queryForm).then((res) => {
if (res.code == "000000") {
res.pageInfo.list.forEach((item) => {

@ -11,6 +11,7 @@
<el-input size="medium" class="form-width-ms" v-model="queryForm.memberName" placeholder="输入要查询的会员名字" clearable></el-input>
<el-input size="medium" class="form-width-ms" maxlength="11" v-model="queryForm.mobilePhone" placeholder="输入要查询的11位会员手机号" oninput="this.value=this.value.replace(/\D/g,'')" pattern="[0-9]*" clearable></el-input>
<el-button size="mini" type="primary" plain @click="getData"></el-button>
<el-button size="mini" type="primary" @click="handleExport" :loading="exportLoad" v-if="headOffice"></el-button>
<el-table :data="billsList" class="margin-top-xs" :header-cell-style="{background: 'linear-gradient(#6cb3ff, #1873d4)' ,color:'#eeeeee'}" ref="multipleTable" highlight-current-row tooltip-effect="dark" stripe>
<el-table-column align="center" label="状态" width="70" fixed="left">
<template slot-scope="scope">
@ -277,6 +278,7 @@ import {
deleteCancelDebtList,
recycleCancelDebtList,
submitCancelDebtList,
exportrepay
} from "@/api/eashier.js";
import { organizations } from "@/api/storeManage.js";
import excel from "@/components/excel";
@ -344,9 +346,27 @@ export default {
infoDialog: false, //
editCancelCIndex: -1,
editCancelMIndex: -1,
exportLoad:false
};
},
methods: {
handleExport(){
this.exportLoad = true
let params = {
date:new Date()
}
exportrepay(params).then(res=>{
this.exportLoad = false
let blob = new Blob([res]);
var a = document.createElement("a");
var url = window.URL.createObjectURL(blob);
console.log(url);
a.href = url;
a.download = "还款单导出表.xlsx";
a.click();
window.URL.revokeObjectURL(url);
})
},
confirms(row) {
this.cancelForm = row;
this.cancelDialogVisible = true;

@ -76,7 +76,8 @@
<el-pagination align="left" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="queryForm.pageNum" :page-sizes="[10, 20, 30, 40, 50]" :page-size="queryForm.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="total"></el-pagination>
</div>
<div slot="footer" class="dialog-footer">
<el-button type="primary" size="mini" @click="dialogVisible = false">关闭</el-button>
<el-button size="mini" type="primary" @click="exporSyList" v-if="headOffice" :loading="exportloading"> </el-button>
<el-button size="mini" @click="dialogVisible = false">关闭</el-button>
</div>
<printform ref="printform"></printform>
<editform ref="editform" @editformData="getData"></editform>
@ -86,7 +87,7 @@
<script>
import printform from "./printform";
import editform from "./editform";
import { cashList, cashsignature } from "@/api/eashier.js";
import { cashList, cashsignature,exporSyList } from "@/api/eashier.js";
import { organizations } from "@/api/storeManage.js";
import selec from "@/components/store/select/index";
import { partten } from "@/utils/partten/index";
@ -94,6 +95,7 @@ export default {
components: { printform, editform, selec },
data() {
return {
exportloading:false,
dialogVisible: false, //
form: {}, //
list: [], //
@ -112,6 +114,23 @@ export default {
};
},
methods: {
exporSyList(){
this.exportloading = true
let params = {
cashDate:this.formatTime(this.month, "YYYY-MM-DD hh:mm:ss")
}
exporSyList(params).then(res=>{
this.exportloading = false
let blob = new Blob([res]);
var a = document.createElement("a");
var url = window.URL.createObjectURL(blob);
console.log(url);
a.href = url;
a.download = "收银导出表.xlsx";
a.click();
window.URL.revokeObjectURL(url);
})
},
selecData(v) {
this.queryForm.storeList = v;
this.getData();

@ -34,7 +34,7 @@
</el-form-item>
<el-form-item label="卡付:">
<div class="activeFormDiv">
<span class="text-price text-red">{{ form.card }}</span>
<span class="text-price text-red">{{ form.card?form.card.toFixed(2):0 }}</span>
</div>
</el-form-item>
<el-form-item label="现付:">

@ -48,13 +48,13 @@
<p>项目</p>
<p style="width:36px">标价</p>
<p style="width:30px">数量</p>
<p style="width:48px">折后价</p>
<p style="width:48px" >折后价</p>
</li>
<li v-for="(item,index) in projectList" :key="index" class="project-top-del">
<p>{{ item.projectName }}</p>
<p style="width:53px"> {{ item.transactionPrice }}</p>
<p style="width:53px"> {{ printForm.cashNumber== 1 ? item.priceMember : item.price }}</p>
<span> {{ item.number }}</span>
<spa style="width:53px"> {{ item.courseRestCount }}</spa>
<span style="width:53px" > {{ item.collectionAmount }}</span>
</li>
</ul>
</div>
@ -81,7 +81,7 @@
</li>
<li v-for="(item, index) in recList" :key="index" class="project-top-del">
<p>{{ item.rechargeTypeName }}</p>
<p> {{ item.spendMoney }}</p>
<p> {{ item.spendMoney?item.spendMoney.toFixed(2):0 }}</p>
<p> {{ item.cardRestMoney }}</p>
</li>
</ul>
@ -141,7 +141,7 @@ export default {
}else{
//
list[index].cardRestMoney = item.cardRestMoney //
list[index].spendMoney += item.spendMoney
list[index].spendMoney += item.spendMoney.toFixed(2)*1
}
})
// this.recList = recList;

@ -297,21 +297,47 @@
label="折扣(%)"
></el-table-column>
<el-table-column
v-if="useRecharge == 3"
align="center"
prop="spendMoney"
label="本次支付"
width="90"
>
<!-- 分开扣 -->
<template slot-scope="scope">
<div
class="form-input-width"
v-if="recIndex != scope.$index"
@click="editcard(scope.row, scope.$index)"
@click="editPaycard(scope.row, scope.$index)">
{{ scope.row.spendMoney }}
<i class="text-cyan el-icon-edit"></i>
</div>
<el-input
v-else
v-focus
type="number"
size="samll"
class="form-input-width"
@blur="endEditPaycard(scope.row, scope.$index)"
v-model="scope.row.spendMoney"></el-input>
</template>
</el-table-column>
<el-table-column
v-else
align="center"
prop="spendMoney"
label="本次支付"
width="90"
>
<!-- 按照比例或者实冲扣 -->
<template slot-scope="scope">
<div
class="form-input-width"
v-if="recIndex != scope.$index"
@click="editcard(scope.row, scope.$index)">
{{ scope.row.spendMoney }}
<i class="text-cyan el-icon-edit"></i>
</div>
<!-- :disabled="scope.row.cardOvers == 0" -->
<el-input
v-else
v-focus
@ -319,8 +345,7 @@
size="samll"
class="form-input-width"
@blur="endEditcard(scope.row, scope.$index)"
v-model="scope.row.spendMoney"
></el-input>
v-model="scope.row.spendMoney"></el-input>
</template>
</el-table-column>
<el-table-column
@ -351,7 +376,30 @@
prop="giftSpendMoney"
label="赠送支付"
width="70"
></el-table-column>
>
<template slot-scope="scope">
<div v-if="useRecharge == 3">
<div
class="form-input-width"
v-if="giveIndex != scope.$index"
@click="editGivecard(scope.row, scope.$index)">
{{ scope.row.giftSpendMoney }}
<i class="text-cyan el-icon-edit"></i>
</div>
<el-input
v-else
v-focus
type="number"
size="samll"
class="form-input-width"
@blur="endEditGivecard(scope.row, scope.$index)"
v-model="scope.row.giftSpendMoney"></el-input>
</div>
<div v-else>
{{ scope.row.giftSpendMoney }}
</div>
</template>
</el-table-column>
<el-table-column
align="center"
prop="cardGiftOvers"
@ -863,6 +911,7 @@ export default {
},
data() {
return {
giveIndex:null,
keyIndex:undefined,
refText:"",
numberTimes:1,
@ -929,6 +978,9 @@ export default {
};
},
computed: {
isApartDeduct(){
},
//
appearPrices() {
/*
@ -1010,6 +1062,179 @@ export default {
}
},
methods: {
//
editPaycard(row,index){
// spendMoney cardConsumeMoney cardOvers discount discountFreeAmount giftSpendMoney cardGiftOvers
this.recIndex = index
let discount = row.discount?row.discount/100:1 //
let appearPrice = this.list[this.projectIndex].transactionPrice - (this.list[this.projectIndex].collectionAmounts?this.list[this.projectIndex].collectionAmounts*1:0)//
let total = (row.cardOvers/discount).toFixed(2)*1 //
if( row.spendMoney ){
row.cardOvers += row.spendMoney
row.spendMoney = 0
this.updataList()
return
}
if( this.list[this.projectIndex].noDiscount == 0 ){ //
if(total>appearPrice){ //
row.spendMoney = (appearPrice *discount).toFixed(2)*1
}else{ //
row.spendMoney = row.cardOvers
}
}else{ //
if(row.cardOvers > appearPrice){ //
row.spendMoney = appearPrice
}else{ //
row.spendMoney = row.cardOvers
}
}
},
endEditPaycard(row,index){
// spendMoney cardConsumeMoney cardOvers discount discountFreeAmount giftSpendMoney cardGiftOvers
let appearPrice = this.list[this.projectIndex].transactionPrice - (this.list[this.projectIndex].collectionAmounts?this.list[this.projectIndex].collectionAmounts*1:0) //
let discount = row.discount?row.discount/100:1 //
if(this.list[this.projectIndex].noDiscount == 0){
if( row.spendMoney > row.cardOvers ){ //
let total = (row.cardOvers/discount).toFixed(2)*1 //
this.$message.warning({ message: "支付金额超出剩余金额" });
if(total>appearPrice){ //*
row.spendMoney = (appearPrice *discount).toFixed(2)*1
row.cardOvers -= row.spendMoney
}else{ //,
row.spendMoney = row.cardOvers
row.cardOvers = 0
}
}else{ //
let total = (row.spendMoney/discount).toFixed(2)*1 //
if( total>appearPrice){
this.$message.warning({ message: "本次支付大于项目金额" });
//
row.spendMoney = (appearPrice*discount).toFixed(2)*1
row.cardOvers -= row.spendMoney
}else{
//
let giveTotal = (row.spendMoney /discount).toFixed(2)*1
if(giveTotal>appearPrice){ //
this.$message.warning({ message: "本次支付大于项目金额" });
//
row.spendMoney = (appearPrice*discount).toFixed(2)*1
row.cardOvers -= row.spendMoney
}else{
row.cardOvers -= row.spendMoney
}
}
}
}else{ //
// ,
if(row.spendMoney > row.cardOvers){
this.$message.warning({ message: "支付金额超出剩余金额" });
if(row.cardOvers > appearPrice){ //
row.spendMoney = appearPrice
row.cardOvers -= row.spendMoney
}else{ //
row.spendMoney = row.cardOvers
row.cardOvers =0
}
}else{ //,
if(row.spendMoney > appearPrice){
this.$message.warning({ message: "本次支付大于项目金额" });
row.spendMoney = appearPrice
row.cardOvers -= row.spendMoney
}else{
row.cardOvers -= row.spendMoney
}
}
}
this.recIndex = null
this.updataList()
},
//
editGivecard(row,index){
// spendMoney cardConsumeMoney cardOvers discount discountFreeAmount giftSpendMoney cardGiftOvers
this.giveIndex = index
let discountFreeAmount = row.discountFreeAmount?row.discountFreeAmount/100:1 //
let appearPrice = this.list[this.projectIndex].transactionPrice - (this.list[this.projectIndex].collectionAmounts?this.list[this.projectIndex].collectionAmounts*1:0)//
let total = (row.cardGiftOvers/discountFreeAmount).toFixed(2)*1 //
if( row.giftSpendMoney ){
row.cardGiftOvers += row.giftSpendMoney
row.giftSpendMoney = 0
this.updataList()
return
}
if( this.list[this.projectIndex].noDiscount == 0 ){ //
if(total>appearPrice){ //
row.giftSpendMoney = (appearPrice *discountFreeAmount).toFixed(2)*1
}else{ //
row.giftSpendMoney = row.cardGiftOvers
}
}else{ //
if(row.cardGiftOvers > appearPrice){ //
row.giftSpendMoney = appearPrice
}else{ //
row.giftSpendMoney = row.cardGiftOvers
}
}
},
endEditGivecard(row,index){
let appearPrice = this.list[this.projectIndex].transactionPrice - (this.list[this.projectIndex].collectionAmounts?this.list[this.projectIndex].collectionAmounts*1:0) //
let discountFreeAmount = row.discountFreeAmount?row.discountFreeAmount/100:1 //
if(this.list[this.projectIndex].noDiscount == 0){
if( row.giftSpendMoney > row.cardGiftOvers ){ //
let total = (row.cardGiftOvers/discountFreeAmount).toFixed(2)*1 //
this.$message.warning({ message: "赠送支付金额超出赠送剩余金额" });
if(total>appearPrice){ //
row.giftSpendMoney = (appearPrice *discountFreeAmount).toFixed(2)*1
row.cardGiftOvers -= row.giftSpendMoney
}else{ //
row.giftSpendMoney = row.cardGiftOvers
row.cardGiftOvers = 0
}
}else{ //
let total = (row.giftSpendMoney/discountFreeAmount).toFixed(2)*1 //
if( total>appearPrice){
this.$message.warning({ message: "本次支付大于项目金额" });
//
row.giftSpendMoney = (appearPrice*discountFreeAmount).toFixed(2)*1
row.cardGiftOvers -= row.giftSpendMoney
}else{
//
let giveTotal = (row.giftSpendMoney /discountFreeAmount).toFixed(2)*1
if(giveTotal>appearPrice){ //
this.$message.warning({ message: "本次支付大于项目金额" });
//
row.giftSpendMoney = (appearPrice*discountFreeAmount).toFixed(2)*1
row.cardGiftOvers -= row.giftSpendMoney
}else{
row.cardGiftOvers -= row.giftSpendMoney
}
}
}
}else{ //
// ,
if(row.giftSpendMoney > row.cardGiftOvers){
this.$message.warning({ message: "赠送支付金额超出赠送剩余金额" });
if(row.cardGiftOvers > appearPrice){ //
console.log( '总价为--->',appearPrice )
row.giftSpendMoney = appearPrice
row.cardGiftOvers -= row.giftSpendMoney
}else{ //
row.giftSpendMoney = row.cardGiftOvers
row.cardGiftOvers =0
}
}else{ //,
if(row.giftSpendMoney > appearPrice){
this.$message.warning({ message: "本次支付大于项目金额" });
console.log('--->',appearPrice)
row.giftSpendMoney = appearPrice
row.cardGiftOvers -= row.giftSpendMoney
}else{
row.cardGiftOvers -= row.giftSpendMoney
}
}
}
this.giveIndex = null
this.updataList()
},
addUserConfirm(phone){
this.memberForm.mobilePhone = phone
this.inputMember()
@ -1186,7 +1411,6 @@ export default {
this.$set(item1,'numRemainder',(item1.cardRestMoney - item1.numCard).toFixed(2)*1) //
this.$set(item1,'giveRemainder',(item1.giftConsumeMoney - item1.cardGive).toFixed(2)*1) //
})
this.updateNum()
// 使
this.cardList = this.cardList.filter(item=>{
return item.numConsume || item.giveConsume
@ -1257,6 +1481,8 @@ export default {
}
this.cardListUpdata()
this.updataCollection()
this.list.push({})
this.list.pop()
},
//
editcard(row, index) {
@ -1280,7 +1506,7 @@ export default {
row.spendMoney = 0
row.cardGiftOvers = ((row.cardGiftOvers?row.cardGiftOvers*1:0) + (row.giftSpendMoney?row.giftSpendMoney*1:0)).toFixed(2)*1
row.giftSpendMoney = 0
//
//
this.$set(this.list[this.projectIndex],'popover',false)
this.$set(this.list[this.projectIndex],'popover',true)
this.list.push({})
@ -1630,7 +1856,7 @@ export default {
row.cardGiftOvers = (row.cardGiftOvers - row.discountFreeAmount).toFixed(2)*1
row.spendMoney = 0
row.cardOvers = 0
// ,,
// ,,
this.$set(this.list[this.projectIndex],'popover',false)
this.$set(this.list[this.projectIndex],'popover',true)
this.list.push({})
@ -1642,7 +1868,7 @@ export default {
row.cardGiftOvers = 0
row.spendMoney = 0
row.cardOvers = 0
// ,,
// ,,
this.$set(this.list[this.projectIndex],'popover',false)
this.$set(this.list[this.projectIndex],'popover',true)
this.list.push({})
@ -1658,7 +1884,7 @@ export default {
row.cardGiftOvers = (row.cardGiftOvers - row.giftSpendMoney).toFixed(2)*1
row.spendMoney = 0
row.cardOvers = 0
// ,,
// ,,
this.$set(this.list[this.projectIndex],'popover',false)
this.$set(this.list[this.projectIndex],'popover',true)
this.list.push({})
@ -1670,7 +1896,7 @@ export default {
row.cardGiftOvers = 0
row.spendMoney = 0
row.cardOvers = 0
// ,,
// ,,
this.$set(this.list[this.projectIndex],'popover',false)
this.$set(this.list[this.projectIndex],'popover',true)
this.list.push({})
@ -1685,7 +1911,7 @@ export default {
row.cardGiftOvers = (row.cardGiftOvers - row.giftSpendMoney).toFixed(2)*1
row.spendMoney = 0
row.cardOvers = 0
// ,,
// ,,
this.$set(this.list[this.projectIndex],'popover',false)
this.$set(this.list[this.projectIndex],'popover',true)
this.list.push({})
@ -1696,7 +1922,7 @@ export default {
row.cardGiftOvers = (row.cardGiftOvers - row.giftSpendMoney).toFixed(2)*1
row.spendMoney = 0
row.cardOvers = 0
// ,,
// ,,
this.$set(this.list[this.projectIndex],'popover',false)
this.$set(this.list[this.projectIndex],'popover',true)
this.list.push({})
@ -1784,7 +2010,7 @@ export default {
row.spendMoney = 0
row.giftSpendMoney = appearPrice
row.cardGiftOvers = (row.cardGiftOvers - appearPrice).toFixed(2)*1
// ,,
// ,,
this.$set(this.list[this.projectIndex],'popover',false)
this.$set(this.list[this.projectIndex],'popover',true)
return this.updataList()
@ -1792,7 +2018,7 @@ export default {
row.spendMoney = 0
row.giftSpendMoney = row.cardGiftOvers
row.cardGiftOvers = 0
// ,,
// ,,
this.$set(this.list[this.projectIndex],'popover',false)
this.$set(this.list[this.projectIndex],'popover',true)
return this.updataList()
@ -1805,7 +2031,7 @@ export default {
row.spendMoney = 0
row.giftSpendMoney = appearPrice
row.cardGiftOvers = (row.cardGiftOvers - appearPrice).toFixed(2)*1
// ,,
// ,,
this.$set(this.list[this.projectIndex],'popover',false)
this.$set(this.list[this.projectIndex],'popover',true)
return this.updataList()
@ -1813,7 +2039,7 @@ export default {
row.spendMoney = 0
row.giftSpendMoney = row.cardGiftOvers
row.cardGiftOvers = 0
// ,,
// ,,
this.$set(this.list[this.projectIndex],'popover',false)
this.$set(this.list[this.projectIndex],'popover',true)
return this.updataList()
@ -1822,14 +2048,13 @@ export default {
row.giftSpendMoney = row.spendMoney*1
row.cardGiftOvers = (row.cardGiftOvers - row.giftSpendMoney).toFixed(2)*1
row.spendMoney = 0
// ,,
// ,,
this.$set(this.list[this.projectIndex],'popover',false)
this.$set(this.list[this.projectIndex],'popover',true)
return this.updataList()
}
}
}
if(row.spendMoney > row.cardOvers){ //
this.$message.warning({ message: "支付金额大于卡付余额" });
//
@ -2423,9 +2648,12 @@ export default {
if (!item.cardGiftOvers) {
item.cardGiftOvers = item.giftConsumeMoney;
}
if (item.type == 0) {
item.discountFreeAmount = 100;
if(!item.discountFreeAmount){
item.discountFreeAmount = 100
}
// if (item.type == 0) {
// item.discountFreeAmount = 100;
// }
if (item.type != 1 && form.noDiscount == 0) {
item.offsetMoney =
(item.cardConsumeMoney / (item.discount / 100)).toFixed(2) * 1;
@ -2793,226 +3021,6 @@ export default {
save() {
this.close();
},
//
async getData() {
this.list.forEach(item => {
item.payLists = [...this.payLists];
item.rechargeAccountList = [];
});
//
var itemForm = this.list[0];
this.notMemberForm = itemForm;
this.cashNumber = itemForm.cashNumber;
if (itemForm.cashNumber == 1) {
//
storeMemberOne({
mobilePhone: itemForm.mobilePhone,
storeId: sessionStorage.getItem("parentId")
}).then(res => {
if (res.code == "000000") {
this.memberForm = res.data;
this.$refs.reccard.show(this.memberForm);
this.$refs.course.show(this.memberForm);
var memberIds = {
memberId: itemForm.memberId
};
cashListByStore({
memberId: this.memberForm.id,
storeId: sessionStorage.getItem("storeId")
}).then(res => {
if (res.code == "000000") {
this.rechargeAccountList = res.rows;
this.list.forEach(item => {
item.rechargeAccountList = this.rechargeAccountList;
});
} else {
this.$alert(res.message, "查询会员卡包", {
confirmButtonText: "确定",
confirmButtonClass: "confirmbtnFalses",
type: "warning",
center: true,
callback: action => {}
});
}
// courseAccountId
couAccountList(memberIds).then(res => {
if (res.code == "000000") {
if (res.rows.length != 0) {
this.list.forEach(items1 => {
res.rows.forEach(items => {
items.number = items.courseConsumeCount;
if (
items.courseProjectId == items1.projectId &&
items.number > 0
) {
if (items1.courseAccountId == null) {
items1.courseAccountId = items.id;
items.number = items.number * 1 - 1;
}
}
});
});
}
} else {
this.$alert(res.message, "查询会员疗程", {
confirmButtonText: "确定",
confirmButtonClass: "confirmbtnFalses",
type: "warning",
center: true,
callback: action => {}
});
}
let list = [];
this.list.forEach((itemList, index) => {
var itemLists = {
index: index,
id: itemList.id,
largeList: itemList.largeList,
zhonggongList: itemList.zhonggongList,
smallList: itemList.smallList,
technicianList: itemList.technicianList,
adminList: [],
managerList: [],
projectName: itemList.projectName,
payLists: itemList.payLists,
rechargeAccountList: this.setRecList(itemList),
courseAccountId: itemList.courseAccountId,
amount: itemList.transactionPrice,
noDiscount: itemList.noDiscount,
integral: 0,
integralMoney: 0,
payMoneys: 0,
spendMoneys: 0,
collectionRechargeAmount: 0,
collRecAmonnt: 0,
collectionCashAmount: 0,
collectionIntegralAmount: 0,
collectionAmount: 0,
projectId: itemList.projectId,
projectName: itemList.projectName,
memberName: itemList.memberName,
memberId: itemList.memberId,
cashNum: itemList.cashNum,
isCardPay: itemList.isCardPay,
storeName: itemList.storeName,
price: itemList.price,
priceMember: itemList.priceMember,
minumumPrice: itemList.minumumPrice,
minumumPriceMember: itemList.minumumPriceMember,
topPrice: itemList.topPrice,
topPriceMember: itemList.topPriceMember,
storeId: itemList.storeId,
transactionPrice: itemList.transactionPrice,
cashNumber: itemList.cashNumber,
numberTimes: 1,
mobilePhone: itemList.mobilePhone,
minumumTimes: itemList.minumumTimes,
commissionZhonggong: itemList.commissionZhonggong,
commissionTechnician: itemList.commissionTechnician,
commissionSmall: itemList.commissionSmall,
commissionLarge: itemList.commissionLarge,
cardCommissionZhonggong: itemList.cardCommissionZhonggong,
cardCommissionTechnician: itemList.cardCommissionTechnician,
cardCommissionSmall: itemList.cardCommissionSmall,
cardCommissionLarge: itemList.cardCommissionLarge,
achievementLarge: itemList.achievementLarge,
achievementSmall: itemList.achievementSmall,
achievementTechnician: itemList.achievementTechnician,
achievementZhonggong: itemList.achievementZhonggong,
cardAchievementLarge: itemList.cardAchievementLarge,
cardAchievementSmall: itemList.cardAchievementSmall,
cardAchievementTechnician:
itemList.cardAchievementTechnician,
cardAchievementZhonggong: itemList.cardAchievementZhonggong
};
if (itemLists.courseAccountId == null) {
itemLists.cashAmount = 0;
itemLists.collectionAmount = 0;
itemLists.courseMoney = 0;
} else {
itemLists.cashAmount = itemLists.amount;
itemLists.collectionAmount = itemLists.amount;
itemLists.courseMoney = itemLists.transactionPrice;
}
list.push(itemLists);
});
this.list = list;
this.setList();
});
});
}
});
} else {
//
let list = [];
this.list.forEach((itemList, index) => {
var itemLists = {
index: index,
id: itemList.id,
largeList: itemList.largeList,
zhonggongList: itemList.zhonggongList,
smallList: itemList.smallList,
technicianList: itemList.technicianList,
adminList: [],
managerList: [],
projectName: itemList.projectName,
payLists: itemList.payLists,
rechargeAccountList: this.rechargeAccountList,
courseAccountId: itemList.courseAccountId,
amount: itemList.transactionPrice,
integral: 0,
integralMoney: 0,
cashAmount: 0,
payMoneys: 0,
spendMoneys: 0,
noDiscount: itemList.noDiscount,
collectionRechargeAmount: 0,
collRecAmonnt: 0,
collectionCashAmount: 0,
collectionAmount: 0,
projectId: itemList.projectId,
isCardPay: itemList.isCardPay,
projectName: itemList.projectName,
memberName: itemList.memberName,
cashNum: itemList.cashNum,
storeName: itemList.storeName,
price: itemList.price,
priceMember: itemList.priceMember,
minumumPrice: itemList.minumumPrice,
minumumPriceMember: itemList.minumumPriceMember,
topPrice: itemList.topPrice,
topPriceMember: itemList.topPriceMember,
storeId: itemList.storeId,
transactionPrice: itemList.transactionPrice,
cashNumber: itemList.cashNumber,
numberTimes: 1,
mobilePhone: itemList.mobilePhone,
minumumTimes: itemList.minumumTimes,
commissionZhonggong: itemList.commissionZhonggong,
commissionTechnician: itemList.commissionTechnician,
commissionSmall: itemList.commissionSmall,
commissionLarge: itemList.commissionLarge,
cardCommissionZhonggong: itemList.cardCommissionZhonggong,
cardCommissionTechnician: itemList.cardCommissionTechnician,
cardCommissionSmall: itemList.cardCommissionSmall,
cardCommissionLarge: itemList.cardCommissionLarge,
achievementLarge: itemList.achievementLarge,
achievementSmall: itemList.achievementSmall,
achievementTechnician: itemList.achievementTechnician,
achievementZhonggong: itemList.achievementZhonggong,
cardAchievementLarge: itemList.cardAchievementLarge,
cardAchievementSmall: itemList.cardAchievementSmall,
cardAchievementTechnician: itemList.cardAchievementTechnician,
cardAchievementZhonggong: itemList.cardAchievementZhonggong
};
list.push(itemLists);
});
this.list = list;
this.setList();
}
},
setList() {
this.list.forEach(item => {
item.editNumber = 1;
@ -3085,14 +3093,14 @@ export default {
memberId: this.memberForm.id,
storeId: sessionStorage.getItem("storeId")
}).then(res => {
console.log('第一次')
if (res.code == "000000") {
this.rechargeAccountList = res.rows;
console.log( 'this.rechargeAccountList--->',this.rechargeAccountList )
this.recListCopy = JSON.parse(JSON.stringify(res.rows));
this.cardList = res.rows
this.cardListUpdata()
this.list.forEach(item => {
item.rechargeAccountList = this.rechargeAccountList;
item.rechargeAccountList = JSON.parse(JSON.stringify(this.rechargeAccountList));
});
this.addPro();
} else {

@ -30,11 +30,11 @@
: '' || scope.row.state ==1
? 'success'
: '' || scope.row.state == 2
? 'info'
? 'danger'
: '' || scope.row.state ==3
? 'success'
: '' || scope.row.state == 4
? 'warning'
: '' || scope.row.state == 4
? 'info'
: ''
">
<div>

@ -7,7 +7,7 @@
<el-radio :label="1">所有门店</el-radio>
<el-radio :label="2">指定门店</el-radio>
</el-radio-group>
<!-- <el-select ref="select" filterable default-first-option v-model="queryForm.storeId" clearable @clear="getList" placeholder="请选择门店" @change="radioChange">
<el-select ref="select" filterable default-first-option v-model="queryForm.storeId" clearable @clear="getList" placeholder="请选择门店" @change="radioChange">
<el-option v-for="item in options" :key="item.id" :label="item.label" :value="item.id">
</el-option>
</el-select> -->
@ -20,6 +20,7 @@
<div>
<el-button size="mini" type="primary" @click="(searchDialog=true)"></el-button>
<el-button size="mini" type="info" @click="getList(refreshtext=true)"></el-button>
<el-button size="mini" type="primary" @click="handleExport" :loading="exportLoad" v-if="headOffice"></el-button>
</div>
</div>
<el-table :data="list" :header-cell-style="{background: 'linear-gradient(#6cb3ff, #1873d4)',color:'#eeeeee',}">
@ -166,7 +167,7 @@ import staffsles from "@/components/staffList/staff/index";
import detail from "./components/detail";
import { organizations } from "@/api/storeManage.js";
import selec from "@/components/store/select/index";
import { exporDocPromotion } from "@/api/eashier.js";
export default {
components: {
staffsles,
@ -177,6 +178,7 @@ export default {
},
data() {
return {
exportLoad:false,
pageInfo: {
total: 0, //
},
@ -236,6 +238,20 @@ export default {
},
methods: {
handleExport(){
let params = {}
exporDocPromotion(params).then(res=>{
this.exportLoad = false
let blob = new Blob([res]);
var a = document.createElement("a");
var url = window.URL.createObjectURL(blob);
console.log(url);
a.href = url;
a.download = "促销导出表.xlsx";
a.click();
window.URL.revokeObjectURL(url);
})
},
storeRadioChange(v) {
if (v != 2) {
this.getList();

@ -12,8 +12,11 @@
<el-form-item label="充值业绩:" prop="rechargeMoneys">
<span>{{ form.rechargeMoneys }}</span>
</el-form-item>
<el-form-item label="疗程业绩:" prop="coursexMoneys">
<span>{{ form.coursexMoneys }}</span>
<el-form-item label="疗程总业绩:" prop="coursexMoneys">
<span>{{ form.coursexMoney + form.coursekMoney }}</span>
</el-form-item>
<el-form-item label="疗程实业绩:" prop="coursexMoneys">
<span>{{ form.coursexMoney }}</span>
</el-form-item>
<el-form-item label="充值卡扣疗程:" prop="coursekMoney">
<span>{{ form.coursekMoney }}</span>

@ -49,17 +49,17 @@
<el-table-column show-overflow-tooltip align="center" min-width="100" prop="staffName" label="员工名称"></el-table-column>
<el-table-column show-overflow-tooltip align="center" min-width="100" prop="cooperationAchi" label="虚业绩">
<template slot-scope="scope">
{{ ( scope.row.cooperationAchi ).toFixed(0) }}
{{ ( scope.row.cooperationAchi ).toFixed(2) }}
</template>
</el-table-column>
<el-table-column show-overflow-tooltip align="center" min-width="100" prop="chia" label="实业绩">
<template slot-scope="scope">
{{ ( scope.row.chia ).toFixed(0) }}
{{ ( scope.row.chia ).toFixed(2) }}
</template>
</el-table-column>
<el-table-column show-overflow-tooltip align="center" min-width="100" label="成交业绩">
<template slot-scope="scope">
{{ (scope.row.chia + scope.row.cooperationAchi).toFixed(0) }}
{{ (scope.row.chia + scope.row.cooperationAchi).toFixed(2) }}
</template>
</el-table-column>
</el-table>

@ -136,8 +136,7 @@ export default {
async getData() {
this.queryForm.storeId = sessionStorage.getItem("parentId");
this.queryForm.liftCardId = this.form.id;
recTypePagess(this.queryForm)
.then((res) => {
recTypePagess(this.queryForm).then((res) => {
this.list = res.pageInfo.list;
this.total = res.pageInfo.total;
})

@ -31,6 +31,11 @@
<el-radio :label="1">比例赠送</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="赠送折扣:" v-if="form.type==0" prop="discountFreeAmount">
<el-input class="form-width" type="number" v-model="form.discountFreeAmount" placeholder="默认100%" oninput="if(!/^[0-9]+$/.test(value)) value=value.replace(/\D/g,'');if(value>100)value=100;if(value<0)value=null" >
<i slot="suffix" style="color: #000;font-style:normal;margin-right: 10px;">%</i>
</el-input>
</el-form-item>
<el-form-item label="赠送金额:" prop="giftMoney">
<el-input type="number" :placeholder="form.donateType==0?'固定金额':form.donateType==1?'比例赠送(%)':''" class="form-width" v-model="form.giftMoney" autocomplete="on" :disabled="form.type === 1">
</el-input>
@ -101,6 +106,11 @@ export default {
message: "请输入享受折扣",
trigger: ["blur", "change"],
},
discountFreeAmount: {
required: true,
message: "请输入赠送折扣",
trigger: ["blur", "change"],
},
},
sessionStorageData: JSON.parse(
sessionStorage.getItem("sessionStorageData")

@ -118,7 +118,7 @@ export default {
this.form.discount = 100;
}
if (this.form.type == 1) {
this.form.giftMoney = null;
// this.form.giftMoney = null;
}
this.form.validTime = this.form.validTime * 1;
let flag = false;

@ -32,6 +32,7 @@
<el-radio-group v-model="dataList.useRecharge" :disabled="!editInput">
<el-radio :label="1">按比例使用赠送金额</el-radio>
<el-radio :label="2">先用实充,再用赠送</el-radio>
<el-radio :label="3">自定义扣款</el-radio>
</el-radio-group>
</div>
</el-form-item>
@ -1166,7 +1167,7 @@ export default {
dataList.useRecharge =
dataList.useRecharge +
"|" +
"1 按比例使用充值金额,2 先使用实充金额,再使用赠送金额";
"1 按比例使用充值金额,2 先使用实充金额,再使用赠送金额,3自定义扣款";
dataList.allowValid =
dataList.allowValid + "|" + "0不控制有效期 1控制有效期,设置到期时间";
dataList.allowMonth = dataList.allowMonth + "|" + "数字帐户默认到期日";

Loading…
Cancel
Save