近期修改

master
wangxubin1999 4 years ago
parent c25170177d
commit a78d8e39c8

@ -0,0 +1,109 @@
<template>
<el-dialog :close-on-click-modal="false" v-dialogDrag :title="title" :visible.sync="dialogVisible" width="800px" append-to-body>
<el-input class="form-width-ms" v-model="queryForm.memberName" clearable placeholder="请输入分店名字"></el-input>
<el-button size="mini" type="primary" @click="getData"></el-button>
<el-table @row-dblclick="confirms" :data="list" @row-click="rowClick" max-height="600" v-loading="listLoading" class="margin-top-xs" :element-loading-text="elementLoadingText" :header-cell-style="{background: 'linear-gradient(#6cb3ff, #1873d4)' ,color:'#eeeeee'}">
<el-table-column label="选择" width="60">
<template slot-scope="scope">
<el-radio v-model="radio" :label="scope.row.id" @change.native="scope.row;">
{{ "" }}
</el-radio>
</template>
</el-table-column>
<el-table-column :show-overflow-tooltip="true" align="center" prop="label" label="分店" min-width="120"></el-table-column>
</el-table>
<!-- 分页组件 -->
<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>
<span slot="footer" class="dialog-footer">
<el-button size="mini" type="primary" plain @click="dialogVisible = false"> </el-button>
<el-button size="mini" type="primary" @click="confirms()">
</el-button>
</span>
</el-dialog>
</template>
<script>
import { organizations } from "@/api/storeManage.js";
import { storeMemberpage } from "@/api/storeManage.js";
import { storeMemberOne } from "@/api/eashier.js";
export default {
data() {
return {
radio: null, //
radioForm: {}, //
list: [], //
dialogVisible: false, //
title: "选择会员",
listLoading: false, //list
elementLoadingText: "数据加载中...", //list
total: 0, //
queryForm: {
//
pageNum: 1,
pageSize: 10,
},
};
},
methods: {
//
show(form) {
this.staffList = [];
if (form) {
this.radio = form.id;
this.radioForm = { ...form };
} else {
this.radio = null;
this.radioForm = {};
}
this.dialogVisible = true;
this.getData();
},
//
rowClick(row) {
this.radio = row.id;
this.radioForm = row;
console.log(row)
},
//
handleSizeChange(val) {
// //console.log(` ${val} `);
this.queryForm.pageSize = val;
this.getData();
},
handleCurrentChange(val) {
// //console.log(`: ${val}`);
this.queryForm.pageNum = val;
this.getData();
},
//
async getData() {
organizations({ pageSize: 999 }).then((res) => {
if (res.code == "000000") {
res.rows.forEach((item) => {
item.label = item.storeNum + "-" + item.storeName;
});
this.list=res.rows;
console.log("🚀 ~ file: index.vue ~ line 88 ~ organization ~ this.list", this.list)
this.total=this.list.length;
} else {
this.$alert(res.message, "提示", {
confirmButtonText: "确定",
confirmButtonClass: "confirmbtnFalses",
type: "warning",
center: true,
callback: (action) => {},
});
}
});
},
confirms() {
this.dialogVisible=false;
this.$emit("BranchData", this.radioForm);
},
},
};
</script>
<style>
</style>

@ -136,6 +136,7 @@ export default {
this.title = "选择会员卡包疗程";
var memberIds = {
memberId: this.form.id,
storeId:this.form.storeId
};
if (this.courseProjectId) {
memberIds.courseProjectId = this.courseProjectId;

@ -21,7 +21,7 @@
<el-table-column show-overflow-tooltip min-width="80" align="center" prop="cardGiftMoney" label="赠送金额"></el-table-column>
<el-table-column show-overflow-tooltip min-width="100" align="center" prop="discountFreeAmount" label="赠送折扣(%)"></el-table-column>
<el-table-column show-overflow-tooltip min-width="105" align="center" prop="endTime" label="到期日期"></el-table-column>
</el-table>
</el-table>
<span slot="footer" class="dialog-footer">
<el-button size="mini" type="primary" plain @click="dialogVisible = false"> </el-button>
@ -60,7 +60,7 @@ export default {
//
async getData() {
this.listLoading = true;
recAccountList({ memberId: this.form.memberId }).then((res) => {
recAccountList({ memberId: this.form.memberId}).then((res) => {
this.listLoading = false;
if (res.code === "000000") {
this.listLoading = false;

@ -264,7 +264,7 @@ export default {
//
//
async getData() {
let form = { id: "" };
let form = { id: this.storeId };
if (this.storeId) {
form.storeId = this.storeId;
}

@ -88,7 +88,8 @@ export default {
this.changeStaff();
},
show(form, text) {
console.log(form);
console.log("🚀 ~ file: index.vue ~ line 91 ~ show ~ form", form)
setTimeout(() => {
this.$nextTick(() => {
this.list = JSON.parse(JSON.stringify([]));

@ -403,6 +403,14 @@ export default {
number: "500410",
id:"8008008",
},
{
name: "疗程账户延期",
icon: "el-icon-connection",
route: "/ireatmentdelay",
index: "ireatmentdelay",
number: "5001600",
id:"8008026",
},
{
name: "充值内调单",
icon: "el-icon-sort",
@ -417,13 +425,15 @@ export default {
route: "/transfer",
index: "transfer",
number: "4001500",
id:"8008024",
},
{
name: "疗程转门店",
icon: "el-icon-sort",
route: "/transferstore",
index: "transferstore",
number: "4001600",
number: "4001700",
id:"8008025",
},
// {
// name: "",

@ -0,0 +1,112 @@
<template>
<el-dialog :close-on-click-modal="false" v-dialogDrag rechargeTypeId="form" :title="title" :visible.sync="dialogFormVisible">
<el-form :model="form" :rules="rules" ref="form" label-width="120px">
<el-form-item label="编码:" prop="rechargeTypeNum">
<div>
{{form.courseProjectNum}}{{form.rechargeTypeNum}}
</div>
</el-form-item>
<el-form-item label="名称:" prop="rechargeTypeName">
<div>
{{form.courseProjectName}}{{form.rechargeTypeName}}
</div>
</el-form-item>
<el-form-item label="到期日期:" prop="discount">
<el-date-picker v-model="form.endTime" type="date" value-format="yyyy-MM-dd" placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button size="mini" type="primary" plain @click="dialogFormVisible = false"> </el-button>
<el-button size="mini" type="primary" @click="confirm"> </el-button>
</div>
</el-dialog>
</template>
<script>
import { editCouAccount, editRecAccount } from "@/api/eashier.js";
export default {
data() {
return {
rules: {
rechargeTypeName: {
required: true,
message: "请输入充值名称",
trigger: ["blur", "change"],
},
rechargeTypeNum: {
required: true,
message: "请输入充值编码",
trigger: ["blur", "change"],
},
rechargeMoney: {
required: true,
message: "请输入充值金额",
trigger: ["blur", "change"],
},
},
form: {}, //
title: "", //
dialogFormVisible: false, //
};
},
methods: {
//
show(form) {
this.title = "帐户延期";
this.form = { ...form };
this.dialogFormVisible = true;
},
//
confirm() {
var form = {
id: this.form.id,
endTime: this.form.endTime,
};
if (this.form.rechargeTypeName) {
editRecAccount(form)
.then((res) => {
if (res.code == "000000") {
this.$emit("editData");
this.dialogFormVisible = false;
this.$message.success({
message: "修改成功!",
});
} else {
this.$alert(res.message, "提示", {
confirmButtonText: "确定",
confirmButtonClass: "confirmbtnFalses",
type: "warning",
center: true,
callback: (action) => {},
});
}
})
.catch((err) => {
console.log(err);
});
} else {
editCouAccount(form).then((res) => {
if (res.code == "000000") {
this.$emit("editData");
this.dialogFormVisible = false;
this.$message.success({
message: res.message,
});
} else {
this.$alert(res.message, "提示", {
confirmButtonText: "确定",
confirmButtonClass: "confirmbtnFalses",
type: "warning",
center: true,
callback: (action) => {},
});
}
});
}
},
},
};
</script>
<style>
</style>

@ -0,0 +1,280 @@
<template >
<el-dialog :close-on-click-modal="false" v-dialogDrag rechargeTypeId="form" :title="title" :visible.sync="dialogFormVisible" width="75%">
<div class="form-width-ms block">
<span class="demonstration"></span>
<el-date-picker v-model="queryForm.month" type="month" @change="getData" placeholder="选择月份">
</el-date-picker>
</div>
<el-table border v-loading="listLoading" :data="list" :element-loading-text="elementLoadingText" @row-dblclick="rowdbClick" max-height="650" :header-cell-style="{background: 'linear-gradient(#6cb3ff, #1873d4)',color:'#eeeeee'}">
<el-table-column show-overflow-tooltip align="center" min-width="100" prop="docTypeName" label="类别"></el-table-column>
<el-table-column show-overflow-tooltip align="center" min-width="100" prop="orderStatu" label="状态">
<template slot-scope="scope">
<el-tag :type="scope.row.orderStatu==0?'success':scope.row.orderStatu==0?'danger':''">
{{scope.row.orderStatu==0?'正常':scope.row.orderStatu==1?'作废':'反审核'}}
</el-tag>
</template>
</el-table-column>
<el-table-column show-overflow-tooltip align="center" min-width="100" prop="inputBy" label="操作人"></el-table-column>
<el-table-column show-overflow-tooltip align="center" label="单据">
<el-table-column show-overflow-tooltip align="center" min-width="120" prop="docNum" label="单据号"></el-table-column>
<el-table-column show-overflow-tooltip align="center" min-width="115" prop="inputDate" label="时间"></el-table-column>
<el-table-column show-overflow-tooltip align="center" min-width="100" prop="storeNum" label="门店编码"></el-table-column>
<el-table-column show-overflow-tooltip align="center" min-width="140" prop="storeName" label="门店名称"></el-table-column>
</el-table-column>
<el-table-column show-overflow-tooltip align="center" label="交易">
<el-table-column show-overflow-tooltip align="center" min-width="80" prop="tradeName" label="名称"></el-table-column>
<el-table-column show-overflow-tooltip align="center" min-width="80" prop="price" label="单价">
<template slot-scope="scope">
<div>
{{scope.row.price?scope.row.price:'--'}}
</div>
</template>
</el-table-column>
<el-table-column show-overflow-tooltip align="center" min-width="80" prop="tradeCount" label="数量">
<template slot-scope="scope">
<div>
{{scope.row.tradeCount?scope.row.tradeCount:'--'}}
</div>
</template>
</el-table-column>
<el-table-column show-overflow-tooltip align="center" min-width="80" prop="tradeMoney" label="成交金额"></el-table-column>
<el-table-column show-overflow-tooltip align="center" min-width="80" prop="debtMoney" label="欠款金额"></el-table-column>
</el-table-column>
<el-table-column show-overflow-tooltip align="center" label="收入">
<el-table-column show-overflow-tooltip align="center" min-width="80" prop="accountInMoney" label="金额"></el-table-column>
<el-table-column show-overflow-tooltip align="center" min-width="80" prop="accountInCount" label="次数"></el-table-column>
</el-table-column>
<el-table-column show-overflow-tooltip align="center" label="支出">
<el-table-column show-overflow-tooltip align="center" min-width="80" prop="accountSpendMoney" label="金额"></el-table-column>
<el-table-column show-overflow-tooltip align="center" min-width="80" prop="accountSpendCount" label="次数"></el-table-column>
</el-table-column>
<el-table-column show-overflow-tooltip align="center" label="结余">
<el-table-column show-overflow-tooltip align="center" label="剩余">
<el-table-column show-overflow-tooltip align="center" min-width="80" prop="accountRestMoney" label="金额"></el-table-column>
<el-table-column show-overflow-tooltip align="center" min-width="80" prop="accountRestCount" label="次数"></el-table-column>
</el-table-column>
<el-table-column show-overflow-tooltip align="center" label="可用">
<el-table-column show-overflow-tooltip align="center" min-width="80" prop="accountConsumeMoney" label="金额"> </el-table-column>
<el-table-column show-overflow-tooltip align="center" min-width="80" prop="accountConsumeCount" label="次数"></el-table-column>
</el-table-column>
</el-table-column>
</el-table>
<div class="block margin-top-xs">
<!-- 分页组件 -->
<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>
<orderdetail ref="orderdetail"></orderdetail>
<div slot="footer" class="dialog-footer">
<el-button size="mini" type="primary" plain @click="dialogFormVisible = false">关闭</el-button>
</div>
</el-dialog>
</template>
<script>
import { listByMembers } from "@/api/eashier";
import orderdetail from "@/components/order/detail.vue";
export default {
components: { orderdetail },
data() {
return {
form: {}, //
list: [], //
total: 0, //
title: "", //
listLoading: false, //list
dialogFormVisible: false, //
elementLoadingText: "加载中...", //list
queryForm: {
//
pageNum: 1,
pageSize: 10,
},
itemList: [
//
{
docType: "store_room",
docTypeName: "前台收银",
},
{
docType: "upgrade_out",
docTypeName: "升级转出",
},
{
docType: "upgrade_in",
docTypeName: "升级充值",
},
{
docType: "demotion_out",
docTypeName: "降级转出",
},
{
docType: "demotion_in",
docTypeName: "降级充值",
},
{
docType: "init",
docTypeName: "初始化",
},
{
docType: "card_recharge",
docTypeName: "充值开卡",
},
{
docType: "recharge_roll_course",
docTypeName: "疗程转充值卡",
},
{
docType: "card_change",
docTypeName: "加价转疗程",
},
{
docType: "card_use",
docTypeName: "疗程开卡",
},
{
docType: "store_cash",
docTypeName: "收银",
},
{
docType: "card_repay",
docTypeName: "还款",
},
{
docType: "refund_recharge",
docTypeName: "充值退款",
},
{
docType: "refund_course",
docTypeName: "疗程退款",
},
{
docType: "refund_cash",
docTypeName: "消费退款",
},
{
docType: "promotion",
docTypeName: "促销活动",
},
{
docType: "promotion_card_repay",
docTypeName: "促销还款",
},
],
};
},
methods: {
//
rowdbClick(row) {
this.$refs.orderdetail.show(row);
},
//
show(form) {
this.dialogFormVisible = true;
this.title = form.courseProjectName;
this.form = { ...form };
this.getData();
},
edit(row) {
this.$refs.edit.show(row);
},
//
handleSizeChange(val) {
this.queryForm.pageSize = val;
this.getData();
//console.log(val);
},
handleCurrentChange(val) {
this.queryForm.pageNum = val;
this.getData();
//console.log(val);
},
//
async getData() {
if (this.queryForm.month) {
this.queryForm.inputDate = this.formatTime(
this.queryForm.month,
"YYYY-MM-DD hh:mm:ss"
);
} else {
this.queryForm.inputDate = this.formatTime(
new Date(),
"YYYY-MM-DD hh:mm:ss"
);
}
this.queryForm.memberId = this.form.memberId;
this.queryForm.memberName = this.form.memberName;
this.queryForm.memberPhone = this.form.mobilePhone;
this.queryForm.accountId = this.form.id;
listByMembers(this.queryForm).then((res) => {
if (res.code == "000000") {
res.pageInfo.list.forEach((item) => {
this.itemList.forEach((items) => {
if (item.docType == items.docType) {
item.docTypeName = items.docTypeName;
}
});
});
res.pageInfo.list.forEach((item) => {
if (item.type == "card_repay") {
item.docTypeName = "还款";
}
if (item.type == "card_repay") {
if (item.orderType == "course") {
item.docTypeName = "疗程" + item.docTypeName;
}
if (item.orderType == "recharge") {
item.docTypeName = "充值" + item.docTypeName;
}
}
if (item.docType == "refund_cash_room") {
if (item.accountType == "refund_cash_unaudit_room") {
item.docTypeName = "房间退反审核";
}
if (item.accountType == "refund_cash_audit_room") {
item.docTypeName = "房间消费退";
}
}
if (item.docType == "recharge_Transition") {
if (item.accountType == "recharge_Transition_out") {
item.docTypeName = "充值卡内调转出";
}
if (item.accountType == "recharge_Transition_out_cancel") {
item.docTypeName = "充值内调作废";
}
if (item.accountType == "recharge_Transition_in") {
item.docTypeName = "充值卡内调转入";
}
if (item.accountType == "recharge_Transition_in_cancel") {
item.docTypeName = "充值内调作废";
}
if (item.accountType == "recharge_Transition_out_cancel") {
item.docTypeName = "充值转出反审核";
}
}
});
this.list = res.pageInfo.list;
this.total = res.pageInfo.total;
} else {
this.$alert(res.message, "查询会员疗程", {
confirmButtonText: "确定",
confirmButtonClass: "confirmbtnFalses",
type: "warning",
center: true,
callback: (action) => {},
});
}
});
},
},
};
</script>
<style>
</style>

@ -0,0 +1,94 @@
<template>
<div>
<el-table border v-loading="listLoading" :data="list" :element-loading-text="elementLoadingText" @row-dblclick="rowdbClick" max-height="650" :header-cell-style="{background: 'linear-gradient(#6cb3ff, #1873d4)',color:'#eeeeee'}">
<el-table-column type="index" width="40" align="center"></el-table-column>
<el-table-column show-overflow-tooltip align="center" min-width="100" prop="courseProjectNum" label="编码"></el-table-column>
<el-table-column show-overflow-tooltip align="center" min-width="100" prop="courseProjectName" label="名称"></el-table-column>
<el-table-column show-overflow-tooltip align="center" min-width="80" prop="price" label="单价"></el-table-column>
<el-table-column show-overflow-tooltip align="center" label="余次">
<el-table-column show-overflow-tooltip align="center" min-width="80" prop="courseRestCount" label="剩余"></el-table-column>
<el-table-column show-overflow-tooltip align="center" min-width="80" prop="courseConsumeCount" label="可消费"></el-table-column>
</el-table-column>
<el-table-column show-overflow-tooltip align="center" label="余额">
<el-table-column show-overflow-tooltip align="center" min-width="80" prop="courseRestPrice" label="剩余"></el-table-column>
<el-table-column show-overflow-tooltip align="center" min-width="80" prop="courseConsumePrice" label="可消费"></el-table-column>
</el-table-column>
<el-table-column show-overflow-tooltip align="center" label="门店">
<el-table-column show-overflow-tooltip align="center" min-width="100" prop="storeNum" label="编码"></el-table-column>
<el-table-column show-overflow-tooltip align="center" min-width="120" prop="storeName" label="名称"></el-table-column>
</el-table-column>
<el-table-column show-overflow-tooltip align="center" min-width="100" prop="endTime" sortable label="到期时间"></el-table-column>
<el-table-column align="center" fixed="right" label="操作" width="100" v-role="50011003">
<template slot-scope="scope">
<el-button @click="edit(scope.row)" size="mini" type="primary">帐户延期</el-button>
</template>
</el-table-column>
</el-table>
<edit ref="edit" @editData="editData"></edit>
<detail ref="detail"></detail>
</div>
</template>
<script>
import { listdeals } from "@/api/eashier.js";
import edit from "./edit";
import detail from "./prodetail";
export default {
components: { edit, detail },
data() {
return {
form: {}, //
list: [], //
total: 0, //
listLoading: false, //list
elementLoadingText: "加载中...", //list
queryForm: {
//
pageNum: 1,
pageSize: 10,
},
};
},
methods: {
//
rowdbClick(row) {
this.$refs.detail.show(row);
},
//
show(form) {
this.form = { ...form };
this.getData();
},
//
edit(row) {
this.$refs.edit.show(row);
},
//
editData() {
this.getData();
},
//
async getData() {
var ids = {
memberId: this.form.id,
};
listdeals(ids).then((res) => {
if (res.code == "000000") {
this.list = res.rows;
} else {
this.$alert(res.message, "查询会员疗程", {
confirmButtonText: "确定",
confirmButtonClass: "confirmbtnFalses",
type: "warning",
center: true,
callback: (action) => {},
});
}
});
},
},
};
</script>
<style>
</style>

@ -0,0 +1,164 @@
<template>
<div>
<el-form inline :modal="form" label-width="100px">
<el-form-item label="会员编码">
<div class="form-width-ms">
<el-input v-model="form.memberNum" readonly></el-input>
</div>
</el-form-item>
<el-form-item label="手机号码:">
<div class="form-width-ms">
<el-input style="padding-left:0px;" ref="" oninput="this.value=this.value.replace(/\D/g,'')" pattern="[0-9]*" maxlength="11" v-model="form.mobilePhone" @blur="query" @change="query">
<el-button size="mini" slot="append" icon="el-icon-search" @click="openMember"></el-button>
</el-input>
</div>
</el-form-item>
<el-form-item label="会员名称:">
<div class="form-width-ms">
<span>{{ form.memberName }} <i v-if="form.sex==1" class="el-icon-male text-blue"></i>
<i v-else class="el-icon-female text-pink"></i></span>
</div>
</el-form-item>
<el-form-item label="月份:" v-if="activeName=='交易记录'">
<div class="form-width-ms block">
<span class="demonstration"></span>
<el-date-picker v-model="form.month" type="month" @change="change" placeholder="选择月份">
</el-date-picker>
</div>
</el-form-item>
</el-form>
<el-tabs disabled type="border-card" v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="疗程延期" name="疗程延期">
<pros ref="pros"></pros>
</el-tab-pane>
</el-tabs>
<member ref="member" @memberData="memberData"></member>
</div>
</template>
<script>
import { partten } from "../../../../partten/index";
import member from "@/components/member/index";
import pros from "./components/pros.vue";
import { storeMemberOne } from "@/api/eashier";
export default {
components: {
pros,
member,
},
data() {
return {
form: {
month: new Date(),
},
activeName: "疗程延期", //
};
},
created(){
this.$refs.pros.show(this.form);
this.activeName =" 疗程延期";
},
methods: {
//
change() {
this.$refs.cash.show(this.form);
},
//
//
handleClick(tab, event) {
if (this.form.memberName) {
if (tab.name == "疗程延期") {
this.$refs.pros.show(this.form);
}
this.activeName = tab.name;
} else {
this.$message.error({ message: "请先选择会员!" });
}
},
//
openMember() {
this.$refs.member.show(this.vip);
},
//
memberData(v) {
this.form.mobilePhone = v.mobilePhone;
this.query();
},
//
//
query() {
var number = partten.phoneNum;
if (!number.test(this.form.mobilePhone)) {
this.$message.info({
message: "请输入正确的手机号 ! ",
});
} else {
storeMemberOne({
mobilePhone: this.form.mobilePhone,
storeId: sessionStorage.getItem("parentId"),
}).then((res) => {
if (res.data != undefined && res.data.state == 0) {
this.$message.error({
message: "账户已锁定, 不允许使用 ! ",
});
this.$alert("账户已锁定, 不允许使用 !", "提示", {
confirmButtonText: "确定",
confirmButtonClass: "confirmbtnFalses",
type: "warning",
center: true,
callback: (action) => {},
});
} else {
if (res.code == "000000" || res.code == "200004") {
if (res.code == "000000") {
this.form = res.data;
if (this.activeName == "充值") {
this.$refs.rec.show(this.form);
}
if (this.activeName == "疗程") {
this.$refs.pro.show(this.form);
}
if (this.activeName == "交易记录") {
this.$refs.cashAchi.show(this.form);
}
} else {
if (res.code == "200004") {
this.$confirm(res.message + ",请先注册!", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
cancelButtonClass: "cancelbtnFalses",
confirmButtonClass: "confirmbtnFalses",
type: "warning",
}).then(() => {});
} else {
this.$alert(res.message, "提示", {
confirmButtonText: "确定",
confirmButtonClass: "confirmbtnFalses",
type: "warning",
center: true,
callback: (action) => {},
});
}
}
} else {
this.$alert("查询会员信息 : " + res.message, "提示", {
confirmButtonText: "确定",
confirmButtonClass: "confirmbtnFalses",
type: "warning",
center: true,
callback: (action) => {},
});
}
}
});
}
},
},
created() {},
};
</script>
<style>
</style>

@ -19,10 +19,10 @@
</span>
</div>
</el-form-item>
<el-form-item v-if="sessionStorageData.recDebt&&debtMoneys" label="以往欠款:">
<el-form-item v-show="sessionStorageData.recDebt&&arrears" label="以往欠款:">
<div class="form-width-ms">
{{ debtMoneys }}
<el-button size="mini" type="text" @click="openMoney()" v-show="debtMoneys != 0"></el-button>
<el-button size="mini" type="text" @click="openMoney()" v-show="debtMoneys"></el-button>
</div>
</el-form-item>
<el-form-item label="业务时间:" v-if="isAddition==1">
@ -457,6 +457,7 @@ export default {
adminList: [{ brandNumber: "", staffName: "", ratio: 100 }],
staffList: [],
managerList: [],
arrears:false,
form: {
mobilePhone: null,
memberName: null,
@ -518,6 +519,7 @@ export default {
this.adminList = [...v];
},
openMoney() {
delete this.vip.docType
this.$refs.repayment.show(this.vip);
console.log("🚀 ~ file: collectionList.vue ~ line 522 ~ openMoney ~ this.vip", this.vip)
},
@ -573,7 +575,7 @@ export default {
this.form.rechargeTypeName=""
}
if(this.sessionStorageData.recDebt&&this.debtMoneys){
if(this.sessionStorageData.recDebt&&this.arrears){
this.$alert("存在欠款不允许升降级", "提示", {
confirmButtonText: "确定",
confirmButtonClass: "confirmbtnFalses",
@ -758,6 +760,18 @@ export default {
//
memberData(v) {
this.form.mobilePhone = v.mobilePhone;
console.log("🚀 ~ file: collectionList.vue ~ line 764 ~ memberData ~ v.docType", v.docType)
// if(v.docType[0]=="card_use"||v.docType[1]=="card_use"||v.docType.length==0){
// this.arrears=false
// console.log("🚀 ~ file: collectionList.vue ~ line 766 ~ memberData ~ this.arrears", this.arrears)
// }
v.docType.forEach((item)=>{
if(item=="card_recharge"){
this.arrears=true
}
})
console.log("🚀 ~ file: collectionList.vue ~ line 766 ~ memberData ~ this.arrears", this.arrears)
this.query();
},
//
@ -831,7 +845,7 @@ export default {
query() {
var number = partten.phoneNum;
var mobilePhone = this.form.mobilePhone;
this.empty();
// this.empty();
if (!number.test(mobilePhone)) {
this.$message.info({
message: "请输入正确的手机号 ! ",
@ -938,7 +952,13 @@ export default {
console.log("a")
},
memberAdd(v) {
console.log("🚀 ~ file: collectionList.vue ~ line 941 ~ memberAdd ~ (v", v)
this.form.mobilePhone = v.mobilePhone;
// if(){
// }
this.query();
},
//.`

@ -2,6 +2,13 @@
<!-- 转入 0 转出 1 -->
<div>
<el-form inline>
<el-form-item label="分店名称:" :label-width="labelWidth">
<div class="form-width-ms">
<el-input v-model="label">
<el-button size="mini" slot="append" icon="el-icon-search" @click="openBranch"></el-button>
</el-input>
</div>
</el-form-item>
<el-form-item label="手机号:" :label-width="labelWidth">
<div class="form-width-ms">
<el-input oninput="this.value=this.value.replace(/\D/g,'')" pattern="[0-9]*" maxlength="11" v-model="proForm.mobilePhone" @blur="memberOne" @change="memberOne">
@ -70,7 +77,7 @@
<div style="width: 150px;">总金额 : {{inMoneys}}</div>
</div>
<el-table :data="inList" max-height="150" empty-text=' , ' :header-cell-style="{background: 'linear-gradient(#6cb3ff, #1873d4)' ,color:'#eeeeee'}" style="margin-top: 5px;">
<el-table-column label="充值编码" show-overflow-tooltip show-overflow-tooltip align="center" prop="rechargeTypeNum" min-width="100"></el-table-column>
<el-table-column label="充值编码" show-overflow-tooltip align="center" prop="rechargeTypeNum" min-width="100"></el-table-column>
<el-table-column label="充值名称" show-overflow-tooltip align="center" prop="rechargeTypeName" min-width="110"></el-table-column>
<el-table-column label="充值金额" align="center" prop="rechargeMoney" min-width="70"></el-table-column>
<el-table-column label="折扣(%)" align="center" prop="discount" min-width="70"></el-table-column>
@ -103,6 +110,7 @@
</div>
</el-form>
<member ref="member" @memberData="memberData"></member>
<Branch ref="Branch" @BranchData="BranchData"></Branch>
<project ref="project" @projectData="projectData"></project>
<recType ref="recType" @recTypeData="recTypeData"></recType>
</div>
@ -116,6 +124,7 @@ import {
recAccountOne,
} from "@/api/eashier.js";
import member from "@/components/member/index";
import Branch from "@/components/Branch/index";
import project from "@/components/project/index";
import recType from "@/components/recharge/type/index";
import admin from "@/components/staffList/admin/index";
@ -129,6 +138,7 @@ export default {
member,
project,
recType,
Branch
},
data() {
return {
@ -145,8 +155,8 @@ export default {
additionDate: null,
manageStaffName: null,
mobilePhone: null,
Branch:null,
staffLists: [{ ratio: 100 }],
payLists: [],
},
outList: [],
@ -167,13 +177,21 @@ export default {
sessionStorageList: null,
isAddition: 0,
loading: false,
StoreIds:"",
label:""
};
},
methods: {
setStaffRatio() {
var that = this;
setTimeout(() => {
that.$refs.staffsles.show(that.proForm.staffLists);
if(this.StoreIds){
that.$refs.staffsles.show(that.proForm.staffLists,that.StoreIds);
}else{
that.$refs.staffsles.show(that.proForm.staffLists);
}
console.log("🚀 ~ file: index.vue ~ line 189 ~ setTimeout ~ that.proForm.staffLists", that.proForm.staffLists)
}, 800);
},
staffslesData(v) {
@ -182,9 +200,26 @@ export default {
openMember() {
this.$refs.member.show();
},
openBranch(){
this.$refs.Branch.show();
},
memberData(v) {
this.proForm.mobilePhone = v.mobilePhone;
this.memberOne();
},
BranchData(v) {
this.StoreIds=v.id
this.label=v.label
this.setStaffRatio();
console.log("🚀 ~ file: index.vue ~ line 217 ~ BranchData ~ " , 'aaaa')
},
submit() {
this.proForm.rechargeInMoney = this.inMoneys;
@ -312,9 +347,19 @@ export default {
this.outMoneys = 0;
this.inMoneys = 0;
var mobilePhone = this.proForm.mobilePhone;
this.empty();
// this.empty();
let row = { ...this.proForm };
let form = {
mobilePhone: mobilePhone,
storeId: sessionStorage.getItem("parentId"),
};
if (mobilePhone) {
console.log("🚀 ~ file: index.vue ~ line 347 ~ memberOne ~ this.StoreIds", this.StoreIds)
// if(this.StoreIds){
// form.storeId=this.StoreIds
// console.log("aaaaaaaaaaaaa")
// }
let form = {
mobilePhone: mobilePhone,
storeId: sessionStorage.getItem("parentId"),
@ -354,7 +399,13 @@ export default {
this.$refs.recType.show();
}
if (num == 1) {
this.$refs.project.show(this.proForm);
if(this.StoreIds){
this.proForm.storeId=this.StoreIds
}else{
this.proForm.storeId=""
}
this.$refs.project.show(this.proForm)
}
},
delOldPro(index) {

@ -77,6 +77,10 @@ export default {
couAccountList(ids).then((res) => {
if (res.code == "000000") {
this.list = res.rows;
var shopname=sessionStorage.getItem("storeName")
this.lists =this.list.filter(item=>item.storeName != shopname)
this.list = this.list.filter(item=>item.storeName == shopname)
} else {
this.$alert(res.message, "查询会员疗程", {
confirmButtonText: "确定",
@ -87,19 +91,7 @@ export default {
});
}
});
couAccountListDisable(ids).then((res) => {
if (res.code == "000000") {
this.lists = res.rows;
} else {
this.$alert(res.message, "查询会员疗程", {
confirmButtonText: "确定",
confirmButtonClass: "confirmbtnFalses",
type: "warning",
center: true,
callback: (action) => {},
});
}
});
},
},
};

@ -4,7 +4,7 @@
<el-table @row-dblclick="confirm" :data="tableDate" :header-cell-style="{
background: 'linear-gradient(#6cb3ff, #1873d4)',
color: '#eeeeee',
}" :summary-method="getSummaries" show-summary border max-height="700">
}" show-summary border max-height="700">
<el-table-column align="center" prop="date" min-width="120" label="日期"></el-table-column>
<el-table-column align="center" prop="recharge" label="充值" min-width="75" show-overflow-tooltip> </el-table-column>
<el-table-column align="center" label="疗程">
@ -45,7 +45,7 @@
<detail ref="detail"></detail>
<span slot="footer" class="dialog-footer">
<el-button size="mini" type="primary" @click="dialogVisible = false">关闭</el-button>
</el-button>
</span>
</el-dialog>
</template>
@ -78,6 +78,7 @@ export default {
endDate: this.form.endDate,
startDate: this.form.startDate,
};
console.log("🚀 ~ file: index.vue ~ line 81 ~ getData ~ form", form)
departmentPerformance2(form).then((res) => {
if (res.code == "000000") {
this.tableDate = res.rows;
@ -94,56 +95,57 @@ export default {
},
//
confirm(row) {
this.$refs.detail.show(row);
},
//
//
getSummaries(param) {
const { columns, data } = param;
const sums = [];
columns.forEach((column, index) => {
if (index === 0) {
sums[index] = "合计";
return;
}
// getSummaries(param) {
// const { columns, data } = param;
// const sums = [];
// columns.forEach((column, index) => {
// if (index === 0) {
// sums[index] = "";
// return;
// }
const values = data.map((item) => Number(item[column.property]));
if (column.property == "baseSalary") {
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr);
if (!isNaN(value)) {
return (prev + curr).toFixed(2) * 1;
} else {
sums[index] = "--";
}
}, 0);
sums[index] += " ";
} else if (column.property == "achievementAmount") {
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr);
if (!isNaN(value)) {
return (prev + curr).toFixed(2) * 1;
} else {
sums[index] = "--";
}
}, 0);
sums[index] += " ";
} else if (column.property == "commissionAmount") {
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr);
if (!isNaN(value)) {
return (prev + curr).toFixed(2) * 1;
} else {
sums[index] = "--";
}
}, 0);
sums[index] += " ";
} else {
sums[index] = "--";
}
});
return sums;
},
// const values = data.map((item) => Number(item[column.property]));
// if (column.property == "baseSalary") {
// sums[index] = values.reduce((prev, curr) => {
// const value = Number(curr);
// if (!isNaN(value)) {
// return (prev + curr).toFixed(2) * 1;
// } else {
// sums[index] = "--";
// }
// }, 0);
// sums[index] += " ";
// } else if (column.property == "achievementAmount") {
// sums[index] = values.reduce((prev, curr) => {
// const value = Number(curr);
// if (!isNaN(value)) {
// return (prev + curr).toFixed(2) * 1;
// } else {
// sums[index] = "--";
// }
// }, 0);
// sums[index] += " ";
// } else if (column.property == "commissionAmount") {
// sums[index] = values.reduce((prev, curr) => {
// const value = Number(curr);
// if (!isNaN(value)) {
// return (prev + curr).toFixed(2) * 1;
// } else {
// sums[index] = "--";
// }
// }, 0);
// sums[index] += " ";
// } else {
// sums[index] = "--";
// }
// });
// return sums;
// },
},
created() {
let sDate = this.formatTime(new Date(), "YYYY-MM-DD 00:00:00");

@ -106,6 +106,8 @@ export default {
},
//
confirm(row) {
console.log("🚀 ~ file: index.vue ~ line 109 ~ confirm ~ row", row)
row.endDate=this.formatTime(this.days[1], "YYYY-MM-DD 23:59:59")
this.$refs.detail.show(row);
},
//

@ -326,6 +326,15 @@ const router = new VueRouter({
index: "coursetorec"
}
},
//疗程账户延期 ireatmentdelay
{
path: "/ireatmentdelay",
component: () => import("../pages/eashier/Ireatmentdelay/ireatmentdelay.vue"),
meta: {
title: "疗程转充值",
index: "ireatmentdelay"
}
},
//充值内调单 within
{
path: "/within",

Loading…
Cancel
Save