陶杰
2024-12-18 62fc9aeb10edb2295ec221d4a814f3fb9feaf5ae
pages/report/finance/index.vue
@@ -1,14 +1,21 @@
<template>
  <div>
    <div v-loading="statisticLoading">
      <el-row :gutter="20">
        <el-col :span="4" class="mb-10">
        <el-col :span="3" class="mb-2">
          <el-card>
            <div class="statistic-title">销售合计</div>
            <div class="statistic-title">销售合计(原订单)</div>
            <div class="statistic-num">{{ statistic.orderTotal || 0 }}</div>
          </el-card>
        </el-col>
        <el-col :span="4" class="mb-10">
        <el-col :span="3" class="mb-2">
          <el-card>
            <div class="statistic-title">销售合计(实付)</div>
            <div class="statistic-num">{{ statistic.totalAmount || 0 }}</div>
          </el-card>
        </el-col>
        <el-col :span="3" class="mb-2">
          <el-card>
            <div class="statistic-title">底价合计</div>
            <div class="statistic-num">
@@ -16,7 +23,7 @@
            </div>
          </el-card>
        </el-col>
        <el-col :span="4" class="mb-10">
        <el-col :span="3" class="mb-2">
          <el-card>
            <div class="statistic-title">区间加价</div>
            <div class="statistic-num">
@@ -24,7 +31,7 @@
            </div>
          </el-card>
        </el-col>
        <el-col :span="4" class="mb-10">
        <el-col :span="3" class="mb-2">
          <el-card>
            <div class="statistic-title">平台加价</div>
            <div class="statistic-num">
@@ -32,7 +39,7 @@
            </div>
          </el-card>
        </el-col>
        <el-col :span="4" class="mb-10">
        <el-col :span="3" class="mb-2">
          <el-card>
            <div class="statistic-title">合伙人加价</div>
            <div class="statistic-num">
@@ -40,27 +47,7 @@
            </div>
          </el-card>
        </el-col>
        <el-col :span="4" class="mb-10">
          <el-card>
            <div class="statistic-title">质检扣款</div>
            <div class="statistic-num">{{ statistic.checkTotalFee || 0 }}</div>
          </el-card>
        </el-col>
        <el-col :span="4" class="mb-10">
          <el-card>
            <div class="statistic-title">售后扣款</div>
            <div class="statistic-num">{{ statistic.saleTotalFee || 0 }}</div>
          </el-card>
        </el-col>
        <el-col :span="4" class="mb-10">
          <el-card>
            <div class="statistic-title">优惠合计</div>
            <div class="statistic-num">
              {{ statistic.discountTotalFee || 0 }}
            </div>
          </el-card>
        </el-col>
        <el-col :span="4" class="mb-10">
        <el-col :span="3" class="mb-2">
          <el-card>
            <div class="statistic-title">包干费合计</div>
            <div class="statistic-num">
@@ -68,15 +55,153 @@
            </div>
          </el-card>
        </el-col>
        <el-col :span="4" class="mb-10">
      </el-row>
      <el-row :gutter="20">
        <el-col :span="3" class="mb-2">
          <el-card>
            <div class="statistic-title">销售扎数</div>
            <div class="statistic-title">质检总扣款</div>
            <div class="statistic-num">
              <!-- {{ statistic.checkTotalFee || 0 }} -->
              {{ statistic.orderCheckTotalFee || 0 }}
            </div>
          </el-card>
        </el-col>
        <el-col :span="3" class="mb-2">
        <el-card>
            <div class="statistic-title">缺货扣款</div>
            <div class="statistic-num">{{ statistic.orderLackFeeSupplier || 0 }}</div>
          </el-card>
        </el-col>
        <el-col :span="3" class="mb-2">
        <el-card>
            <div class="statistic-title">补货扣款</div>
            <div class="statistic-num">{{ statistic.orderReplaceFee || 0 }}</div>
          </el-card>
        </el-col>
        <el-col :span="3" class="mb-2">
        <el-card>
            <div class="statistic-title">降级扣款</div>
            <div class="statistic-num">{{ statistic.orderCheckFee || 0 }}</div>
          </el-card>
        </el-col>
      </el-row>
      <el-row :gutter="20">
        <!-- <el-col :span="3" class="mb-2">
          <el-card>
            <div class="statistic-title">售后总扣款</div>
            <div class="statistic-num">{{ statistic.saleTotalFee || 0 }}</div>
          </el-card>
        </el-col> -->
        <el-col :span="3" class="mb-2">
          <el-card>
            <div class="statistic-title">售后总扣款</div>
            <div class="statistic-num">{{ statistic.orderTotalFee || 0 }}</div>
          </el-card>
        </el-col>
        <el-col :span="3" class="mb-2">
          <el-card>
            <div class="statistic-title">售后供应商扣款</div>
            <div class="statistic-num">{{ statistic.orderFeeSupplier || 0 }}</div>
          </el-card>
        </el-col>
        <el-col :span="3" class="mb-2">
          <el-card>
            <div class="statistic-title">售后平台扣款</div>
            <div class="statistic-num">{{ statistic.orderFeePlatform || 0 }}</div>
          </el-card>
        </el-col>
        <el-col :span="3" class="mb-2">
          <el-card>
            <div class="statistic-title">售后合伙人扣款</div>
            <div class="statistic-num">{{ statistic.orderFeePartner || 0 }}</div>
          </el-card>
        </el-col>
        <el-col :span="3" class="mb-2">
          <el-card>
            <div class="statistic-title">售后打包扣款</div>
            <div class="statistic-num">{{ statistic.orderFeePlatformPack || 0 }}</div>
          </el-card>
        </el-col>
        <el-col :span="3" class="mb-2">
          <el-card>
            <div class="statistic-title">售后质检扣款</div>
            <div class="statistic-num">{{ statistic.orderFeePlatformCheck || 0 }}</div>
          </el-card>
        </el-col>
        <el-col :span="3" class="mb-2">
          <el-card>
            <div class="statistic-title">售后物流扣款</div>
            <div class="statistic-num">{{ statistic.orderFeePlatformTransport || 0 }}</div>
          </el-card>
        </el-col>
        <el-col :span="3" class="mb-2">
          <el-card>
            <div class="statistic-title">售后打包运费扣款</div>
            <div class="statistic-num">{{ statistic.orderFeePackingTransport || 0 }}</div>
          </el-card>
        </el-col>
      </el-row>
      <el-row :gutter="20">
        <el-col :span="3" class="mb-2">
          <el-card>
            <div class="statistic-title">优惠合计</div>
            <div class="statistic-num">
              <!-- {{ statistic.discountTotalFee || 0 }} -->
              {{ statistic.orderDiscountTotalFee || 0 }}
            </div>
          </el-card>
        </el-col>
        <el-col :span="3" class="mb-2">
          <el-card>
            <div class="statistic-title">会员折扣</div>
            <div class="statistic-num">
              {{ statistic.orderPriceDiscountAmount || 0 }}
            </div>
          </el-card>
        </el-col>
        <el-col :span="3" class="mb-2">
          <el-card>
            <div class="statistic-title">优惠券</div>
            <div class="statistic-num">
              {{ statistic.orderCouponAmountTotal || 0 }}
            </div>
          </el-card>
        </el-col>
      </el-row>
      <el-row :gutter="20">
        <el-col :span="3" class="mb-2">
          <el-card>
            <div class="statistic-title">总销售扎数</div>
            <div class="statistic-num">{{ statistic.orderNum || 0 }}</div>
          </el-card>
        </el-col>
        <el-col :span="3" class="mb-2">
          <el-card>
            <div class="statistic-title">实际销售扎数</div>
            <div class="statistic-num">{{ statistic.realSaleNum || 0 }}</div>
          </el-card>
        </el-col>
        <el-col :span="3" class="mb-2">
          <el-card>
            <div class="statistic-title">缺货扎数</div>
            <div class="statistic-num">{{ statistic.orderLackNum || 0 }}</div>
          </el-card>
        </el-col>
        <el-col :span="3" class="mb-2">
          <el-card>
            <div class="statistic-title">降级扎数</div>
            <div class="statistic-num">{{ statistic.orderReduceNum || 0 }}</div>
          </el-card>
        </el-col>
        <el-col :span="3" class="mb-2">
          <el-card>
            <div class="statistic-title">补货扎数</div>
            <div class="statistic-num">{{ statistic.orderReplaceNum || 0 }}</div>
          </el-card>
        </el-col>
      </el-row>
    </div>
    <el-bus-crud v-bind="tableConfig" />
    <el-bus-crud ref="crud" v-bind="tableConfig" />
  </div>
</template>
@@ -87,10 +212,7 @@
dayjs.locale('zh-cn')
export default {
  data() {
    const endDate = `${dayjs().format('YYYY-MM-DD')} 00:00:00`
    const startDate = `${dayjs()
      .subtract(1, 'month')
      .format('YYYY-MM-DD')} 23:59:59`
    const defaultDate = `${dayjs().format('YYYY-MM-DD')} 00:00:00`
    return {
      statistic: {},
      statisticLoading: false,
@@ -104,8 +226,12 @@
        exportUrl: 'flower/v2/report/order/sale/export',
        exportText: '导出',
        onResetView: (row) => {
          const searchFormRef = this.$refs.crud.$refs.searchForm
          const searchFormValue = searchFormRef.getFormValue()
          const url = this.$router.resolve(
            `/report/finance/${row.orderDate}`
            `/report/finance/${row.orderDate}?partnerId=${
              searchFormValue?.partnerId || ''
            }`
          ).href
          window.open(url, '_blank')
        },
@@ -153,7 +279,8 @@
            minWidth: 120,
            fixed: 'left',
          },
          { label: '销售额', prop: 'orderTotal', minWidth: 120 },
          { label: '销售额(原订单)', prop: 'orderTotal', minWidth: 120 },
          { label: '销售额(实付)', prop: 'totalAmount', minWidth: 120 },
          {
            label: '花农底价',
            prop: 'orderSupplierPriceAmount',
@@ -170,20 +297,31 @@
            prop: 'orderMarkupPartnerAmount',
            minWidth: 120,
          },
          {
            label: '会员折扣',
            prop: 'orderPriceDiscountAmount',
            minWidth: 120,
          },
          { label: '优惠合计', prop: 'orderDiscountTotalFee',  minWidth: 120,},
          { label: '会员折扣', prop: 'orderPriceDiscountAmount',minWidth: 120,},
          { label: '优惠券', prop: 'orderCouponAmountTotal', minWidth: 120 },
          { label: '质检总扣款', prop: 'orderCheckTotalFee', minWidth: 120 },
          { label: '降级扣款', prop: 'orderCheckFee', minWidth: 120 },
          { label: '缺货扣款', prop: 'orderLackFeeSupplier', minWidth: 120 },
          { label: '补货扣款', prop: 'orderReplaceFee', minWidth: 120 },
          { label: '售后扣合伙人款', prop: 'orderFeePartner', minWidth: 150 },
          { label: '售后扣花农款', prop: 'orderFeeSupplier', minWidth: 150 },
          { label: '售后扣平台款', prop: 'orderFeePlatform', minWidth: 150 },
          { label: '售后总扣款', prop: 'orderTotalFee', minWidth: 150 },
          { label: '售后供应商扣款', prop: 'orderFeeSupplier', minWidth: 150 },
          { label: '售后平台扣款', prop: 'orderFeePlatform', minWidth: 150 },
          { label: '售后合伙人扣款', prop: 'orderFeePartner', minWidth: 150 },
          { label: '售后打包扣款', prop: 'orderFeePlatformPack', minWidth: 150 },
          { label: '售后质检扣款', prop: 'orderFeePlatformCheck', minWidth: 150 },
          { label: '售后物流扣款', prop: 'orderFeePlatformTransport', minWidth: 150 },
          { label: '售后打包运费扣款', prop: 'orderFeePackingTransport', minWidth: 150 },
          { label: '总包干费', prop: 'partnerTotalFeeAmount', minWidth: 120 },
          { label: '销售扎数', prop: 'realSaleNum', minWidth: 120 },
          { label: '总售扎数', prop: 'orderNum', minWidth: 120 },
          { label: '实际销售扎数', prop: 'realSaleNum', minWidth: 120 },
          { label: '缺货扎数', prop: 'orderLackNum', minWidth: 120 },
          { label: '降级扎数', prop: 'orderReduceNum', minWidth: 120 },
          { label: '补货扎数', prop: 'orderReplaceNum', minWidth: 120 },
          {
            label: '利润',
            prop: 'profitFeeAmount',
@@ -226,7 +364,7 @@
                },
                customClass: 'in-bus-form',
                commonRules: true,
                default: [startDate, endDate],
                default: [defaultDate, defaultDate],
              },
              { ...getPartnerListConfig(), label: '合伙人' },
            ],
@@ -244,9 +382,11 @@
</script>
<style lang="scss" scoped>
@import '@/assets/statistic/index.scss';
.statistic-title {
  text-align: center;
  font-size: 20px;
  font-size: 16px;
  color: $main-title-color;
  font-weight: bold;
  margin-bottom: 6px;
@@ -256,4 +396,5 @@
  font-size: 16px;
  color: $primary-color;
}
</style>