陶杰
2024-10-30 33ba0b0585a2ecbbb04ade3df268ad2b05e1221c
pages/report/finance/index.vue
@@ -1,78 +1,88 @@
<template>
  <div>
    <el-row :gutter="20">
      <el-col :span="4" class="mb-10">
        <el-card>
          <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-card>
          <div class="statistic-title">底价合计</div>
          <div class="statistic-num">
            {{ statistic.orderSupplierPriceAmount || 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.orderMarkupOneAmount || 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.orderMarkupTwoAmount || 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.orderMarkupPartnerAmount || 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.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-card>
          <div class="statistic-title">包干费合计</div>
          <div class="statistic-num">
            {{ statistic.partnerTotalFeeAmount || 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.realSaleNum || 0 }}</div>
        </el-card>
      </el-col>
    </el-row>
    <el-bus-crud v-bind="tableConfig" />
    <div v-loading="statisticLoading">
      <el-row :gutter="20">
        <el-col :span="4" class="mb-10">
          <el-card>
            <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-card>
            <div class="statistic-title">销售合计(实付)</div>
            <div class="statistic-num">{{ statistic.totalAmount || 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.orderSupplierPriceAmount || 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.orderMarkupOneAmount || 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.orderMarkupTwoAmount || 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.orderMarkupPartnerAmount || 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.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-card>
            <div class="statistic-title">包干费合计</div>
            <div class="statistic-num">
              {{ statistic.partnerTotalFeeAmount || 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.realSaleNum || 0 }}</div>
          </el-card>
        </el-col>
      </el-row>
    </div>
    <el-bus-crud ref="crud" v-bind="tableConfig" />
  </div>
</template>
@@ -83,12 +93,10 @@
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,
      tableConfig: {
        url: 'flower/v2/report/order/sale/page',
        hasNew: false,
@@ -99,8 +107,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')
        },
@@ -109,11 +121,14 @@
          fixed: 'right',
        },
        beforeRequest: async (params) => {
          const { code, data } = await this.$elBusHttp.request(
          this.statisticLoading = true
          // eslint-disable-next-line
          let { code, data } = await this.$elBusHttp.request(
            `flower/v2/report/order/sale/statis`,
            { params }
          )
          if (code === 0) {
            data = data || {}
            data.checkTotalFee = Number(
              (
                (data.orderCheckFee ?? 0) +
@@ -136,6 +151,7 @@
            )
            this.statistic = data || {}
          }
          this.statisticLoading = false
        },
        columns: [
          {
@@ -144,7 +160,8 @@
            minWidth: 120,
            fixed: 'left',
          },
          { label: '销售额', prop: 'orderTotal', minWidth: 120 },
          { label: '销售额(原订单)', prop: 'orderTotal', minWidth: 120 },
          { label: '销售额(实付)', prop: 'totalAmount', minWidth: 120 },
          {
            label: '花农底价',
            prop: 'orderSupplierPriceAmount',
@@ -174,7 +191,8 @@
          { label: '售后扣花农款', prop: 'orderFeeSupplier', minWidth: 150 },
          { label: '售后扣平台款', prop: 'orderFeePlatform', minWidth: 150 },
          { label: '总包干费', prop: 'partnerTotalFeeAmount', minWidth: 120 },
          { label: '销售扎数', prop: 'realSaleNum', minWidth: 120 },
          { label: '总售扎数', prop: 'orderNum', minWidth: 120 },
          { label: '实际销售扎数', prop: 'realSaleNum', minWidth: 120 },
          {
            label: '利润',
            prop: 'profitFeeAmount',
@@ -217,7 +235,7 @@
                },
                customClass: 'in-bus-form',
                commonRules: true,
                default: [startDate, endDate],
                default: [defaultDate, defaultDate],
              },
              { ...getPartnerListConfig(), label: '合伙人' },
            ],
@@ -235,16 +253,5 @@
</script>
<style lang="scss" scoped>
.statistic-title {
  text-align: center;
  font-size: 20px;
  color: $main-title-color;
  font-weight: bold;
  margin-bottom: 6px;
}
.statistic-num {
  text-align: center;
  font-size: 16px;
  color: $primary-color;
}
@import '@/assets/statistic/index.scss';
</style>