|
|
|
|
@ -47,14 +47,14 @@
|
|
|
|
|
<el-input
|
|
|
|
|
style="height:100%;"
|
|
|
|
|
class="form-width-xss"
|
|
|
|
|
v-model="memberForm.man"
|
|
|
|
|
v-model="memberForm.manNumber"
|
|
|
|
|
type="number"
|
|
|
|
|
></el-input>
|
|
|
|
|
女:
|
|
|
|
|
<el-input
|
|
|
|
|
style="height:100%;"
|
|
|
|
|
class="form-width-xss"
|
|
|
|
|
v-model="memberForm.woman"
|
|
|
|
|
v-model="memberForm.womanNumber"
|
|
|
|
|
type="number"
|
|
|
|
|
></el-input>
|
|
|
|
|
</div>
|
|
|
|
|
@ -152,7 +152,7 @@
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column
|
|
|
|
|
show-overflow-tooltip
|
|
|
|
|
min-width="120"
|
|
|
|
|
min-width="150"
|
|
|
|
|
align="center"
|
|
|
|
|
prop="projectName"
|
|
|
|
|
label="项目名称"
|
|
|
|
|
@ -174,7 +174,7 @@
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column
|
|
|
|
|
show-overflow-tooltip
|
|
|
|
|
min-width="170"
|
|
|
|
|
min-width="100"
|
|
|
|
|
align="center"
|
|
|
|
|
prop=""
|
|
|
|
|
label="支付类型"
|
|
|
|
|
@ -186,8 +186,9 @@
|
|
|
|
|
<div v-else>
|
|
|
|
|
<div v-if="cashNumber ==1">
|
|
|
|
|
<div v-if=" scope.row.transactionPrice!=0">
|
|
|
|
|
<el-radio v-model="scope.row.radio" label="1" @input="radioInput(scope.row)">现付</el-radio>
|
|
|
|
|
<el-radio v-model="scope.row.radio" label="2" @input="radioInput(scope.row)">卡付</el-radio>
|
|
|
|
|
<div>现付/卡付</div>
|
|
|
|
|
<!-- <el-radio v-model="scope.row.radio" label="1" @input="radioInput(scope.row)">现付</el-radio>
|
|
|
|
|
<el-radio v-model="scope.row.radio" label="2" @input="radioInput(scope.row)">卡付</el-radio> -->
|
|
|
|
|
</div>
|
|
|
|
|
<div v-else>现付</div>
|
|
|
|
|
</div>
|
|
|
|
|
@ -224,18 +225,17 @@
|
|
|
|
|
align="center"
|
|
|
|
|
prop=""
|
|
|
|
|
label="充值卡付"
|
|
|
|
|
>
|
|
|
|
|
>
|
|
|
|
|
<template slot-scope="props">
|
|
|
|
|
<div v-if="props.row.isCardPay == 0">
|
|
|
|
|
<div
|
|
|
|
|
@click.stop="projectindex(props.$index)"
|
|
|
|
|
v-if="props.row.radio == 2"
|
|
|
|
|
>
|
|
|
|
|
<el-popover
|
|
|
|
|
placement="bottom"
|
|
|
|
|
width="900"
|
|
|
|
|
@show="openRec(props.row,props.$index)"
|
|
|
|
|
v-model='props.row.popover'
|
|
|
|
|
v-model='props.row.popover'
|
|
|
|
|
>
|
|
|
|
|
<div v-if="props.row.courseAccountId == null">
|
|
|
|
|
<el-table
|
|
|
|
|
@ -344,12 +344,9 @@
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</el-table>
|
|
|
|
|
</div>
|
|
|
|
|
<el-button slot="reference">充值卡</el-button>
|
|
|
|
|
<el-button slot="reference" >充值卡</el-button>
|
|
|
|
|
</el-popover>
|
|
|
|
|
</div>
|
|
|
|
|
<div v-else>
|
|
|
|
|
不允许卡付
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div v-else>不允许卡付</div>
|
|
|
|
|
</template>
|
|
|
|
|
@ -730,6 +727,22 @@
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</el-table>
|
|
|
|
|
<div class="right">
|
|
|
|
|
<el-form ref="form" label-width="65px">
|
|
|
|
|
<el-form-item label="疗程付:">
|
|
|
|
|
<span class="text-price text-red">{{ formMoneys.Course?formMoneys.Course:0 }}</span>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="卡付:">
|
|
|
|
|
<span class="text-price text-red">{{ formMoneys.card?formMoneys.card:0 }}</span>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="现付:">
|
|
|
|
|
<span class="text-price text-red">{{ formMoneys.cash?formMoneys.cash:0 }}</span>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="实收金额:">
|
|
|
|
|
<span class="text-price text-red">{{ formMoneys.total?formMoneys.total:0 }}</span>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<!-- <div class="right">
|
|
|
|
|
<el-form ref="form" label-width="65px">
|
|
|
|
|
@ -750,9 +763,9 @@
|
|
|
|
|
class="flex justify-center align-center text-bold padding-bottom-xs"
|
|
|
|
|
>
|
|
|
|
|
<div class="form-width-m ">
|
|
|
|
|
<span class=" ">总付金额:</span>
|
|
|
|
|
<span class="text-red text-price">
|
|
|
|
|
{{ total }}
|
|
|
|
|
<!-- <span class=" ">总付金额:</span> -->
|
|
|
|
|
<span class="text-red ">
|
|
|
|
|
<!-- {{ total }} -->
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="form-width-m">
|
|
|
|
|
@ -800,7 +813,7 @@ import { Mixins } from './mixins'
|
|
|
|
|
import addmember from "@/components/member/edit/index";
|
|
|
|
|
import message from './detail/message.vue';
|
|
|
|
|
import captcha from './captcha.vue';
|
|
|
|
|
import { getSmsCode,chekeMsg,upcashPassword } from '@/api/login.js'
|
|
|
|
|
import { getCode,upcashPassword } from '@/api/login.js'
|
|
|
|
|
import {
|
|
|
|
|
selectList,
|
|
|
|
|
selectListType,
|
|
|
|
|
@ -826,6 +839,7 @@ import recash from "./recash";
|
|
|
|
|
import orders from "./detail/detail";
|
|
|
|
|
import { partten } from "@/utils/partten/index.js";
|
|
|
|
|
export default {
|
|
|
|
|
name:"services",
|
|
|
|
|
mixins:[Mixins],
|
|
|
|
|
components: {
|
|
|
|
|
member,
|
|
|
|
|
@ -844,6 +858,7 @@ export default {
|
|
|
|
|
},
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
formMoneys:{},
|
|
|
|
|
cardList:[],
|
|
|
|
|
numlist:[{settlementNum:0,payNum:0}],
|
|
|
|
|
message:"",
|
|
|
|
|
@ -993,6 +1008,39 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
updataCollection(){
|
|
|
|
|
let card = 0; //卡付
|
|
|
|
|
let Course = 0; //疗程付
|
|
|
|
|
let cash = 0; //现付
|
|
|
|
|
let total = 0 //总价
|
|
|
|
|
if(this.list.length){
|
|
|
|
|
this.list.forEach(item=>{
|
|
|
|
|
if(item.transactionPrice){
|
|
|
|
|
if(item.collectionRechargeAmount){
|
|
|
|
|
// 卡付
|
|
|
|
|
card+=((item.collectionRechargeAmount).toFixed(2)*1)
|
|
|
|
|
item.rechargeAccountList.forEach(item=>{ //算上赠送金额
|
|
|
|
|
item.giftSpendMoney?item.giftSpendMoney:0
|
|
|
|
|
card+=item.giftSpendMoney
|
|
|
|
|
card = card.toFixed(2)*1
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
if(item.courseAccountId){
|
|
|
|
|
// 疗程付
|
|
|
|
|
Course+=((item.transactionPrice).toFixed(2)*1)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
try{
|
|
|
|
|
cash = eval(this.$refs.payment.payLists.map(item=>{return item.payMoney?item.payMoney*1:0}).join("+")) //现付
|
|
|
|
|
}catch(err){}
|
|
|
|
|
}
|
|
|
|
|
total = ((card*1+Course*1+cash*1))
|
|
|
|
|
total = total.toFixed(2)*1
|
|
|
|
|
this.formMoneys = {
|
|
|
|
|
card,Course,cash,total
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
// 切换卡付/现付
|
|
|
|
|
radioInput(row){
|
|
|
|
|
if(row.radio==1){
|
|
|
|
|
@ -1068,10 +1116,10 @@ export default {
|
|
|
|
|
let params = {
|
|
|
|
|
mobilePhone:this.memberForm.mobilePhone
|
|
|
|
|
}
|
|
|
|
|
getSmsCode(params).then(res=>{
|
|
|
|
|
if(res.code == '200007'){
|
|
|
|
|
getCode(params).then(res=>{
|
|
|
|
|
if(res.code == '000000'){
|
|
|
|
|
this.$message.success({ message: "验证码已发送,注意查看手机" });
|
|
|
|
|
}else{
|
|
|
|
|
}else if(res.code=='200007'){
|
|
|
|
|
this.$alert(res.message, "提示", {
|
|
|
|
|
confirmButtonText: "确定",
|
|
|
|
|
confirmButtonClass: "confirmbtnFalses",
|
|
|
|
|
@ -1198,6 +1246,7 @@ export default {
|
|
|
|
|
} //误差
|
|
|
|
|
}
|
|
|
|
|
this.cardListUpdata()
|
|
|
|
|
this.updataCollection()
|
|
|
|
|
},
|
|
|
|
|
//修改卡付金额
|
|
|
|
|
editcard(row, index) {
|
|
|
|
|
@ -2020,7 +2069,10 @@ export default {
|
|
|
|
|
// transactionPrice
|
|
|
|
|
let form = { ...row };
|
|
|
|
|
if (this.cashNumber == 1) { //是会员的情况
|
|
|
|
|
if(row.radio == 2){
|
|
|
|
|
console.log('--->',row.radio)
|
|
|
|
|
if(row.radio == '2'){
|
|
|
|
|
// 会员
|
|
|
|
|
console.log('---->',form.topPriceMember,form.transactionPrice * 1,form.minumumPriceMember)
|
|
|
|
|
if (form.topPriceMember < form.transactionPrice * 1 ||form.transactionPrice * 1 < form.minumumPriceMember){
|
|
|
|
|
this.$message.error({
|
|
|
|
|
message:
|
|
|
|
|
@ -2034,6 +2086,7 @@ export default {
|
|
|
|
|
form.amount = row.transactionPrice;
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
// 散客
|
|
|
|
|
if (form.topPrice < form.transactionPrice * 1 ||form.transactionPrice * 1 < form.minumumPrice){
|
|
|
|
|
this.$message.error({
|
|
|
|
|
message: "价格不能低于" + form.minumumPrice + "高于" + form.topPrice
|
|
|
|
|
@ -2196,6 +2249,7 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
this.list.splice(this.proIndex,1,[])
|
|
|
|
|
this.setProOne(v);
|
|
|
|
|
this.updataCollection()
|
|
|
|
|
},
|
|
|
|
|
// cashAmount
|
|
|
|
|
setProOne(row) {
|
|
|
|
|
@ -2209,6 +2263,7 @@ export default {
|
|
|
|
|
id: row.courseProjectId
|
|
|
|
|
}).then(res => {
|
|
|
|
|
if (res.code == "000000") {
|
|
|
|
|
// transactionPrice
|
|
|
|
|
form = {
|
|
|
|
|
payLists: this.payLists,
|
|
|
|
|
zhonggongList: [],
|
|
|
|
|
@ -2259,7 +2314,7 @@ export default {
|
|
|
|
|
cashNumber: this.cashNumber,
|
|
|
|
|
numberTimes: 1,
|
|
|
|
|
minumumTimes: res.data.minumumTimes,
|
|
|
|
|
radio:'2' //默认卡付
|
|
|
|
|
// radio:'2' //默认卡付
|
|
|
|
|
};
|
|
|
|
|
this.setRecList(form);
|
|
|
|
|
if (this.cashNumber == 1) {
|
|
|
|
|
@ -2277,6 +2332,21 @@ export default {
|
|
|
|
|
form.memberId = this.memberForm.id;
|
|
|
|
|
form.integral = this.memberForm.integral;
|
|
|
|
|
form.rechargeAccountList = JSON.parse(JSON.stringify(this.recListCopy));
|
|
|
|
|
if(!form.courseAccountId){ //只有不是疗程才使用
|
|
|
|
|
if(!this.recListCopy.length){
|
|
|
|
|
// 没有充值卡,散客价格
|
|
|
|
|
form.radio = '1'
|
|
|
|
|
form.transactionPrice = form.price
|
|
|
|
|
console.log('没有充值卡--->散客价格')
|
|
|
|
|
}else{
|
|
|
|
|
console.log('充值卡存在---->',form.rechargeAccountList)
|
|
|
|
|
// 充值卡存在,判断卡里还有没有余额,有余额会员价,没余额散客价
|
|
|
|
|
// 可用余额cardOvers 赠送剩余cardGiftOvers
|
|
|
|
|
let list = [{cardConsumeMoney:0,cardGiftMoney:0},{cardConsumeMoney:1,cardGiftMoney:0}]
|
|
|
|
|
form.radio = '2'
|
|
|
|
|
form.transactionPrice = form.priceMember
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
form.amount = res.data.price;
|
|
|
|
|
form.transactionPrice = res.data.price;
|
|
|
|
|
@ -2311,6 +2381,7 @@ export default {
|
|
|
|
|
this.expand.push(i);
|
|
|
|
|
this.expandedRows.push(this.list[i]);
|
|
|
|
|
}
|
|
|
|
|
this.updataCollection()
|
|
|
|
|
this.openRec(form);
|
|
|
|
|
this.sumAmont();
|
|
|
|
|
} else {
|
|
|
|
|
@ -2408,12 +2479,16 @@ export default {
|
|
|
|
|
let passShow = false;
|
|
|
|
|
this.list.forEach((item, index) => {
|
|
|
|
|
if (index == 0) {
|
|
|
|
|
item.man = this.notMemberForm.man
|
|
|
|
|
? this.notMemberForm.man
|
|
|
|
|
: this.memberForm.man;
|
|
|
|
|
item.woman = this.notMemberForm.woman
|
|
|
|
|
? this.notMemberForm.woman
|
|
|
|
|
: this.memberForm.woman;
|
|
|
|
|
item.manNumber = this.notMemberForm.manNumber
|
|
|
|
|
? this.notMemberForm.manNumber
|
|
|
|
|
: this.memberForm.manNumber;
|
|
|
|
|
item.womanNumber = this.notMemberForm.womanNumber
|
|
|
|
|
? this.notMemberForm.womanNumber
|
|
|
|
|
: this.memberForm.womanNumber;
|
|
|
|
|
let man = this.list.filter(item=>item.sex === 0)
|
|
|
|
|
let woman = this.list.filter(item=>item.sex === 1)
|
|
|
|
|
if(man.length)item.man=man.length
|
|
|
|
|
if(woman.length)item.woman = woman.length
|
|
|
|
|
}
|
|
|
|
|
if (item.courseAccountId != null) {
|
|
|
|
|
passShow = true;
|
|
|
|
|
@ -2508,6 +2583,7 @@ export default {
|
|
|
|
|
});
|
|
|
|
|
this.formData = new FormData();
|
|
|
|
|
this.notData();
|
|
|
|
|
this.updataCollection()
|
|
|
|
|
} else {
|
|
|
|
|
this.payLists = this.payListsCopy;
|
|
|
|
|
this.list.forEach(item => {
|
|
|
|
|
@ -2578,6 +2654,7 @@ export default {
|
|
|
|
|
});
|
|
|
|
|
this.sumAmont();
|
|
|
|
|
this.cardListUpdata()
|
|
|
|
|
this.updataCollection()
|
|
|
|
|
},
|
|
|
|
|
//打开选择会员弹窗
|
|
|
|
|
openMember() {
|
|
|
|
|
@ -2591,7 +2668,6 @@ export default {
|
|
|
|
|
},
|
|
|
|
|
reccardData(v) {},
|
|
|
|
|
courseData(v) {
|
|
|
|
|
console.log('这个v--->',v)
|
|
|
|
|
if (!v.courseAccountId) {
|
|
|
|
|
v.courseAccountId = null;
|
|
|
|
|
v.courseProjectId = v.id;
|
|
|
|
|
@ -2611,6 +2687,7 @@ export default {
|
|
|
|
|
let total = eval(this.$refs.payment.payLists.map(item=>{return item.payMoney?item.payMoney*1:0}).join("+"))//现金/卡付总和
|
|
|
|
|
this.numlist=[{settlementNum:total,payNum:total}]
|
|
|
|
|
}
|
|
|
|
|
this.updataCollection()
|
|
|
|
|
},
|
|
|
|
|
rowClassName({ row, rowIndex }) {
|
|
|
|
|
row.index = rowIndex;
|
|
|
|
|
@ -2710,7 +2787,6 @@ export default {
|
|
|
|
|
callback: action => {}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
let list = [];
|
|
|
|
|
this.list.forEach((itemList, index) => {
|
|
|
|
|
var itemLists = {
|
|
|
|
|
@ -3178,6 +3254,7 @@ export default {
|
|
|
|
|
}, 500);
|
|
|
|
|
this.setPage();
|
|
|
|
|
console.log('点击了清空界面')
|
|
|
|
|
this.updataCollection()
|
|
|
|
|
},
|
|
|
|
|
setPage() {
|
|
|
|
|
this.getDetail();
|
|
|
|
|
@ -3188,7 +3265,19 @@ export default {
|
|
|
|
|
},
|
|
|
|
|
created() {
|
|
|
|
|
this.notData()
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
// services
|
|
|
|
|
beforeRouteLeave(to, from, next) {
|
|
|
|
|
// 导航离开该组件的对应路由时调用
|
|
|
|
|
if (to.name == "services") {
|
|
|
|
|
//前往详情页面时缓存页面
|
|
|
|
|
from.meta.keepAlive = true;
|
|
|
|
|
} else {
|
|
|
|
|
// 是去 C 页面,缓存
|
|
|
|
|
from.meta.keepAlive = false;
|
|
|
|
|
}
|
|
|
|
|
next();
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
@ -3210,6 +3299,7 @@ export default {
|
|
|
|
|
width: 8%;
|
|
|
|
|
}
|
|
|
|
|
.right{
|
|
|
|
|
margin-top: 15px;
|
|
|
|
|
padding: 0 40px 10px 0;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
line-height: 12px;
|
|
|
|
|
@ -3217,7 +3307,8 @@ export default {
|
|
|
|
|
border: 1px solid #ccc;
|
|
|
|
|
background: white;
|
|
|
|
|
border-radius: 10px;
|
|
|
|
|
height: 0.45rem;
|
|
|
|
|
height: 0.9rem;
|
|
|
|
|
width: 200px;
|
|
|
|
|
}
|
|
|
|
|
.el-icon-edit-outline {
|
|
|
|
|
padding-left: 5px;
|
|
|
|
|
|