优化财务报表

This commit is contained in:
gyq
2026-02-04 16:32:55 +08:00
parent ddd39ec031
commit b87b4c000e
8 changed files with 129 additions and 45 deletions

View File

@@ -5,8 +5,8 @@
<el-button type="primary" icon="Upload" @click="show">批量导入</el-button>
<el-button icon="Download" @click="downloadTemplateAjax">下载银收客模板</el-button>
</div>
<el-dialog title="批量导入" width="800px" v-model="visible" :close-on-click-modal="false"
:close-on-press-escape="false">
<el-dialog title="批量导入" width="800px" v-model="visible" :close-on-click-modal="false" :close-on-press-escape="false"
@close="dialogClose">
<div class="row">
<tabHeader v-model="tabActive" :list="tabs" />
</div>
@@ -166,6 +166,12 @@ async function downloadTemplateAjax() {
}
}
const emits = defineEmits(['close'])
function dialogClose() {
emits('close')
}
onMounted(() => {
getPlatformList()
});

View File

@@ -35,31 +35,59 @@
<div class="intro">营业额</div>
<div class="pay_wrap">
<div class="item">
<span class="n">{{ tableData.turnover.wechat || 0 }}</span>
<div class="n">
<span class="i"></span>
{{ multiplyAndFormat(tableData.turnover.wechat || 0) }}
</div>
<span class="t">微信支付金额</span>
</div>
<div class="item">
<span class="n">{{ tableData.turnover.alipay || 0 }}</span>
<div class="n">
<span class="i"></span>
{{ multiplyAndFormat(tableData.turnover.alipay || 0) }}
</div>
<span class="t">支付宝支付金额</span>
</div>
<div class="item">
<span class="n">{{ tableData.turnover.selfScan || 0 }}</span>
<span class="t">主扫收款</span>
<div class="n">
<span class="i"></span>
{{ multiplyAndFormat(tableData.turnover.selfScan || 0) }}
</div>
<span class="t">二维码收款</span>
</div>
<div class="item">
<span class="n">{{ tableData.turnover.cash || 0 }}</span>
<div class="n">
<span class="i"></span>
{{ multiplyAndFormat(tableData.turnover.barScan || 0) }}
</div>
<span class="t">扫码收款</span>
</div>
<div class="item">
<div class="n">
<span class="i"></span>
{{ multiplyAndFormat(tableData.turnover.cash || 0) }}
</div>
<span class="t">现金收款</span>
</div>
<div class="item">
<span class="n">{{ tableData.turnover.recharge || 0 }}</span>
<div class="n">
<span class="i"></span>
{{ multiplyAndFormat(tableData.turnover.recharge || 0) }}
</div>
<span class="t">充值</span>
</div>
<div class="item">
<span class="n">{{ tableData.turnover.owed || 0 }}</span>
<div class="n">
<span class="i"></span>
{{ multiplyAndFormat(tableData.turnover.owed || 0) }}
</div>
<span class="t">挂账</span>
</div>
<div class="item">
<span class="n">{{ tableData.turnover.balance || 0 }}</span>
<div class="n">
<span class="i"></span>
{{ multiplyAndFormat(tableData.turnover.balance || 0) }}
</div>
<span class="t">余额支付</span>
</div>
</div>
@@ -97,7 +125,10 @@
<span class="t">桌台数</span>
</div>
<div class="item">
<span class="n">{{ tableData.sts.avgPayAmount || 0 }}</span>
<div class="n">
<span class="i"></span>
{{ multiplyAndFormat(tableData.sts.avgPayAmount || 0) }}
</div>
<div class="t">客单价
<el-tooltip class="box-item" effect="dark" content="实付金额(包含现金支付 包含会员支付 包含挂账)/就餐人数没有具体人数时默认一桌按照1人计算"
placement="top">
@@ -118,7 +149,10 @@
</div>
</div>
<div class="item">
<span class="n">{{ tableData.sts.profitAmount || 0 }}</span>
<div class="n">
<span class="i"></span>
{{ multiplyAndFormat(tableData.sts.profitAmount || 0) }}
</div>
<div class="t">毛利润
<el-tooltip class="box-item" effect="dark" content="(订单实付金额-商品成本)" placement="top">
<el-icon color="#666">
@@ -128,7 +162,10 @@
</div>
</div>
<div class="item">
<span class="n">{{ tableData.sts.productCostAmount || 0 }}</span>
<div class="n">
<span class="i"></span>
{{ multiplyAndFormat(tableData.sts.productCostAmount || 0) }}
</div>
<span class="t">商品成本</span>
</div>
<div class="item">
@@ -146,7 +183,10 @@
<span class="t">净利率</span>
</div>
<div class="item">
<span class="n">{{ tableData.sts.netProfitRate || 0 }}</span>
<div class="n">
<span class="i"></span>
{{ multiplyAndFormat(tableData.sts.netProfitRate || 0) }}
</div>
<span class="t">净利润</span>
</div>
</div>
@@ -172,7 +212,8 @@
</div>
<div class="item">
<div class="n">
{{ tableData.discount.newConsumerDiscount || 0 }}
<span class="i"></span>
{{ multiplyAndFormat(tableData.discount.newConsumerDiscount || 0) }}
</div>
<div class="label">
新客立减
@@ -180,7 +221,8 @@
</div>
<div class="item">
<div class="n">
{{ tableData.discount.freeCashAmount || 0 }}
<span class="i"></span>
{{ multiplyAndFormat(tableData.discount.freeCashAmount || 0) }}
</div>
<div class="label">
霸王餐
@@ -188,7 +230,8 @@
</div>
<div class="item">
<div class="n">
{{ tableData.discount.fullMinusAmount || 0 }}
<span class="i"></span>
{{ multiplyAndFormat(tableData.discount.fullMinusAmount || 0) }}
</div>
<div class="label">
满减活动
@@ -196,7 +239,8 @@
</div>
<div class="item">
<div class="n">
{{ tableData.discount.couponAmount || 0 }}
<span class="i"></span>
{{ multiplyAndFormat(tableData.discount.couponAmount || 0) }}
</div>
<div class="label">
优惠券
@@ -204,7 +248,8 @@
</div>
<div class="item">
<div class="n">
{{ tableData.discount.memberDiscount || 0 }}
<span class="i"></span>
{{ multiplyAndFormat(tableData.discount.memberDiscount || 0) }}
</div>
<div class="label">
会员折扣
@@ -212,7 +257,8 @@
</div>
<div class="item">
<div class="n">
{{ tableData.discount.pointsDiscountAmount || 0 }}
<span class="i"></span>
{{ multiplyAndFormat(tableData.discount.pointsDiscountAmount || 0) }}
</div>
<div class="label">
积分抵扣金额
@@ -220,7 +266,8 @@
</div>
<div class="item">
<div class="n">
{{ tableData.discount.orderDiscount || 0 }}
<span class="i"></span>
{{ multiplyAndFormat(tableData.discount.orderDiscount || 0) }}
</div>
<div class="label">
订单改价
@@ -237,7 +284,8 @@
<div class="item_list">
<div class="item">
<div class="n">
{{ tableData.refund.onlineRefundAmount || 0 }}
<span class="i"></span>
{{ multiplyAndFormat(tableData.refund.onlineRefundAmount || 0) }}
</div>
<div class="label">
线上退款金额
@@ -245,7 +293,8 @@
</div>
<div class="item">
<div class="n">
{{ tableData.refund.cashRefundAmount || 0 }}
<span class="i"></span>
{{ multiplyAndFormat(tableData.refund.cashRefundAmount || 0) }}
</div>
<div class="label">
现金退款金额
@@ -253,15 +302,17 @@
</div>
<div class="item">
<div class="n">
{{ tableData.refund.rechargeRefundAmount || 0 }}
<span class="i"></span>
{{ multiplyAndFormat(tableData.refund.memberRefundAmount || 0) }}
</div>
<div class="label">
充值退款金额
余额退款金额
</div>
</div>
<div class="item">
<div class="n">
{{ tableData.refund.onlineRechargeRefundAmount || 0 }}
<span class="i"></span>
{{ multiplyAndFormat(tableData.refund.onlineRechargeRefundAmount || 0) }}
</div>
<div class="label">
线上充值退款金额
@@ -269,20 +320,13 @@
</div>
<div class="item">
<div class="n">
{{ tableData.refund.cashRechargeRefundAmount || 0 }}
<span class="i"></span>
{{ multiplyAndFormat(tableData.refund.cashRechargeRefundAmount || 0) }}
</div>
<div class="label">
现金充值退款金额
</div>
</div>
<div class="item">
<div class="n">
{{ tableData.refund.memberRefundAmount || 0 }}
</div>
<div class="label">
会员退款金额
</div>
</div>
</div>
</div>
<div class="card" style="flex: 1;">
@@ -442,6 +486,11 @@ onMounted(() => {
.item_list {
margin-top: 14px;
.title {
font-size: 14px;
color: #666;
}
.item {
height: 50px;
display: flex;
@@ -457,6 +506,14 @@ onMounted(() => {
font-size: 16px;
color: #333;
font-weight: bold;
display: flex;
align-items: center;
.i {
font-size: 10px;
position: relative;
top: 1px;
}
}
.label {
@@ -503,6 +560,14 @@ onMounted(() => {
font-size: 20px;
font-weight: bold;
color: #333;
display: flex;
align-items: center;
.i {
font-size: 12px;
position: relative;
top: 3px;
}
}
.t {

View File

@@ -52,7 +52,7 @@
<span>营业</span>
</div>
<div class="u-flex" style="flex-wrap: wrap">
<importData :type="9" style="margin-right: 14px;" />
<importData :type="9" style="margin-right: 14px;" @close="importDataClose" />
<el-select v-if="isHeadShop == 1 && loginType == 0" v-model="shopId" placeholder="选择分店"
style="width: 200px; margin-right: 10px;" @change="shopChange">
<el-option v-for="item in branchList" :key="item.shopId" :label="item.shopName" :value="item.shopId" />
@@ -714,6 +714,15 @@ export default {
// this.initCardUserChart();
},
methods: {
importDataClose() {
// this.summaryGet();
this.dateAmount();
this.dateProduct();
// this.summaryDateGet();
this.timeChange(this.timeValue);
this.profitRateBarChart()
this.costLineChart()
},
/**
* 获取分店列表
*/

View File

@@ -44,7 +44,7 @@
<span v-if="!downloadLoading">导出Excel</span>
<span v-else>下载中...</span>
</el-button>
<importData :type="7" />
<importData :type="7" @close="getTableData" />
</el-form-item>
</el-form>
</div>

View File

@@ -34,7 +34,7 @@
<span v-if="!downloadLoading">导出Excel</span>
<span v-else>下载中...</span>
</el-button>
<importData :type="8" />
<importData :type="8" @close="getTableData" />
</div>
</div>
</el-form>
@@ -91,11 +91,11 @@
</el-table-column>
</el-table> -->
</div>
<!-- <div class="head-container">
<el-pagination :total="tableData.total" :current-page="tableData.page + 1" :page-size="tableData.size"
<div class="head-container">
<el-pagination :total="tableData.total" :current-page="tableData.page" :page-size="tableData.size"
@current-change="paginationChange" @size-change="sizeChange"
layout="total, sizes, prev, pager, next, jumper"></el-pagination>
</div> -->
</div>
</div>
</template>
@@ -202,13 +202,14 @@ export default {
},
// 重置查询
resetHandle() {
this.timeValue = "";
this.timeValue = "today";
this.query = { ...this.resetQuery };
this.page = 1;
this.getTableData();
},
// 分页大小改变
sizeChange(e) {
this.tableData.page = 1
this.tableData.size = e;
this.getTableData();
},
@@ -228,8 +229,11 @@ export default {
// page: this.tableData.page,
// size: this.tableData.size,
rangeType: this.timeValue,
// rangeType: 'custom',
beginDate: this.query.createdAt[0],
endDate: this.query.createdAt[1],
// beginDate: '2026-01-26',
// endDate: '2026-01-26',
shopId: this.shopId
});
this.tableData.loading = false;

View File

@@ -16,7 +16,7 @@
</el-tag>
</template> -->
<template #custom>
<importData :type="3" />
<importData :type="3" @close="newHandleQueryClick" />
</template>
<template #type="scope">
{{ typeFilter(scope.row[scope.prop]) }}

View File

@@ -31,7 +31,7 @@
下载桌台码
</el-button>
<!-- 批量导入 -->
<importData :type="5" />
<importData :type="5" @close="init" />
<!-- <el-button icon="Upload" @click="importDataRef.show()">
批量导入
</el-button> -->

View File

@@ -32,7 +32,7 @@
@edit-click="handleEditClick" @export-click="handleExportClick" @upload-click="" @search-click="handleSearchClick"
@toolbar-click="handleToolbarClick" @operat-click="handleOperatClick" @filter-change="handleFilterChange">
<template #custom>
<importData ref="importDataRef" :type="6" />
<importData ref="importDataRef" :type="6" @close="searchQueryClick" />
</template>
<template #status="scope">
<el-link :type="scope.row[scope.prop] == 1 ? 'success' : 'info'">