房间收银暂停重构
parent
07a721ee5a
commit
96a5b686a1
@ -0,0 +1,104 @@
|
|||||||
|
<template>
|
||||||
|
<el-form inline label-width="80px">
|
||||||
|
<el-form-item label="顾客类型:">
|
||||||
|
<el-switch v-model="form.cashNumber" active-color="#13ce66" inactive-color="#ff4949" :active-text="form.cashNumber?'会员':'散客'" @change="callback">
|
||||||
|
</el-switch>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="手机号码:">
|
||||||
|
<el-input v-model="form.mobilePhone" @change="fetchMember" maxlength="11" size="small" class="width-ms">
|
||||||
|
<el-button slot="append" icon="el-icon-search" v-if="form.cashNumber" @click="handleMember"></el-button>
|
||||||
|
</el-input>
|
||||||
|
<Member ref="member" @memberData="callBackMember"></Member>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="名字:">
|
||||||
|
<el-input v-show="!form.cashNumber" size="small" v-model="form.memberName"></el-input>
|
||||||
|
<div v-show="form.cashNumber" class="width-m margin-right-xs">
|
||||||
|
{{form.memberName}}
|
||||||
|
<i v-show="form.sex==1" class="el-icon-male text-blue"></i>
|
||||||
|
<i v-show="form.sex==0" class="el-icon-female text-pink"></i>
|
||||||
|
</div>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="男客:">
|
||||||
|
<el-input-number class="form-width-sm" size="small" v-model="form.man" :min="0" :max="10" label="男客数量"></el-input-number>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="女客:">
|
||||||
|
<el-input-number class="form-width-sm" size="small" v-model="form.woman" :min="0" :max="10" label="女客数量"></el-input-number>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import { storeMemberOne } from "@/api/eashier.js";
|
||||||
|
import Member from "@/components/member/index";
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
Member
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
form: {
|
||||||
|
cashNumber: true,
|
||||||
|
man: 0,
|
||||||
|
woman: 0
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 打开选择会员弹窗
|
||||||
|
handleMember() {
|
||||||
|
this.$refs.member.show();
|
||||||
|
},
|
||||||
|
// 选择会员后返回数据
|
||||||
|
callBackMember(data) {
|
||||||
|
let form = Object.assign({}, this.form);
|
||||||
|
if (data) {
|
||||||
|
form.mobilePhone = data.mobilePhone;
|
||||||
|
form.memberName = data.memberName;
|
||||||
|
form.memberId = data.id;
|
||||||
|
form.id = data.id;
|
||||||
|
form.sex = data.sex;
|
||||||
|
} else {
|
||||||
|
form.memberName = null
|
||||||
|
form.memberId = null
|
||||||
|
form.id = null
|
||||||
|
form.sex = null
|
||||||
|
}
|
||||||
|
this.form = Object.assign({}, form);
|
||||||
|
this.callback()
|
||||||
|
},
|
||||||
|
// 根据手机号码查询会员信息
|
||||||
|
async fetchMember(value) {
|
||||||
|
if (value) {
|
||||||
|
let { code, data, message } = await storeMemberOne({
|
||||||
|
mobilePhone: this.form.mobilePhone,
|
||||||
|
storeId: sessionStorage.getItem("parentId"),
|
||||||
|
})
|
||||||
|
if (code == "000000") {
|
||||||
|
this.callBackMember(data)
|
||||||
|
} else {
|
||||||
|
this.callBackMember()
|
||||||
|
this.$alert(message, "提示", {
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
confirmButtonClass: "confirmbtnFalses",
|
||||||
|
type: "warning",
|
||||||
|
center: true,
|
||||||
|
callback: (action) => { },
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.callBackMember()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
callback() {
|
||||||
|
this.$emit('call-back-baseMsg', this.form);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style scoped>
|
||||||
|
.el-input-group {
|
||||||
|
margin-top: 3px;
|
||||||
|
}
|
||||||
|
.el-input-group .el-button {
|
||||||
|
padding: 0.06rem;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@ -0,0 +1,72 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<!-- 基础信息 -->
|
||||||
|
<BaseMsg ref="baseMsg" @call-back-baseMsg="callBackBaseMsg"></BaseMsg>
|
||||||
|
<!-- 收费项目 -->
|
||||||
|
<PayItems ref="payItems" @call-back-payItems="callBackPayItems"></PayItems>
|
||||||
|
<!-- 总金额 -->
|
||||||
|
<CashTotalMoney ref="CashTotalMoney" :form="form" @call-back-cashTotalMoney="callBackCashTotalMoney"></CashTotalMoney>
|
||||||
|
<!-- 去结算抽屉 -->
|
||||||
|
<CashPay ref="CashPay"></CashPay>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import BaseMsg from "./components/baseMsg";
|
||||||
|
import PayItems from "./components/payItems";
|
||||||
|
import CashTotalMoney from "./components/cashTotalMoney";
|
||||||
|
import CashPay from "./components/cashPay";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
BaseMsg,
|
||||||
|
PayItems,
|
||||||
|
CashTotalMoney,
|
||||||
|
CashPay,
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
form: {
|
||||||
|
cashNumber: true
|
||||||
|
},
|
||||||
|
list: []
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// ================================== 基础信息 ================================== //
|
||||||
|
callBackBaseMsg(data) {
|
||||||
|
let form = Object.assign(this.form, data);
|
||||||
|
this.form = Object.assign({}, form);
|
||||||
|
this.$refs.payItems.fetchData(this.list, this.form)
|
||||||
|
},
|
||||||
|
// ================================== 收费项目 ================================== //
|
||||||
|
callBackPayItems(list, form) {
|
||||||
|
this.form = Object.assign({}, form);
|
||||||
|
this.list = Array.from(list);
|
||||||
|
},
|
||||||
|
// ================================== 总金额 ================================== //
|
||||||
|
callBackCashTotalMoney() {
|
||||||
|
this.$refs.CashPay.show()
|
||||||
|
},
|
||||||
|
|
||||||
|
//组件传值
|
||||||
|
show(list) {
|
||||||
|
this.list = Array.from(list);
|
||||||
|
this.$refs.payItems.fetchData(this.list, this.form)
|
||||||
|
},
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
// var scrollDiv = document.getElementsByClassName("bing-foot");
|
||||||
|
// scrollDiv.scrollTop = scrollDiv.scrollHeight;
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.bing-foot {
|
||||||
|
height: 100px;
|
||||||
|
width: 100%;
|
||||||
|
background: rgb(255, 246, 228);
|
||||||
|
line-height: 100px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
Loading…
Reference in New Issue