对比新文件 |
| | |
| | | <template> |
| | | <el-bus-crud ref="crud" v-bind="tableConfig" /> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getPartnerListConfig } from '@/utils/form-item-config' |
| | | export default { |
| | | data() { |
| | | return { |
| | | tableConfig: { |
| | | url: 'flower/v2/report/order/detail/page', |
| | | hasEdit: false, |
| | | hasNew: false, |
| | | hasDelete: false, |
| | | hasView: false, |
| | | hasExport: true, |
| | | hasOperation: false, |
| | | exportUrl: 'flower/v2/report/order/detail/export', |
| | | exportText: '导出', |
| | | columns: [ |
| | | { label: '订单号', prop: 'orderNo', minWidth: 150, fixed: 'left' }, |
| | | { |
| | | label: '下单用户', |
| | | prop: 'customer', |
| | | minWidth: '150px', |
| | | fixed: 'left', |
| | | }, |
| | | { label: '收货人地址', prop: 'address', minWidth: '220px' }, |
| | | { label: '合伙人', prop: 'partnerName', minWidth: '120px' }, |
| | | { label: '下单时间', prop: 'orderDate', minWidth: '180px' }, |
| | | { label: '订单金额', prop: 'orderTotal', minWidth: '120px' }, |
| | | { |
| | | label: '花农底价', |
| | | prop: 'orderSupplierPriceAmount', |
| | | minWidth: '120px', |
| | | }, |
| | | { |
| | | label: '平台区间加价', |
| | | prop: 'orderMarkupOneAmount', |
| | | minWidth: '120px', |
| | | }, |
| | | { |
| | | label: '平台加价', |
| | | prop: 'orderMarkupTwoAmount', |
| | | minWidth: '120px', |
| | | }, |
| | | { |
| | | label: '平台区域加价', |
| | | prop: 'platformAreaFeeAmount', |
| | | minWidth: '120px', |
| | | }, |
| | | { |
| | | label: '合伙人加价', |
| | | prop: 'orderMarkupPartnerAmount', |
| | | minWidth: '120px', |
| | | }, |
| | | { |
| | | label: '合伙人区间加价', |
| | | prop: 'partnerSectionFeeAmount', |
| | | minWidth: '120px', |
| | | }, |
| | | { |
| | | label: '会员折扣', |
| | | prop: 'orderPriceDiscountAmount', |
| | | minWidth: '100px', |
| | | }, |
| | | { |
| | | label: '优惠券', |
| | | prop: 'orderCouponAmountTotal', |
| | | minWidth: '100px', |
| | | }, |
| | | { label: '质检降级扣款', prop: 'orderCheckFee', minWidth: '100px' }, |
| | | { |
| | | label: '质检缺货扣款', |
| | | prop: 'orderLackFeeSupplier', |
| | | minWidth: '100px', |
| | | }, |
| | | { label: '质检补货扣款', prop: 'orderReplaceFee', minWidth: '100px' }, |
| | | { |
| | | label: '售后扣合伙人款', |
| | | prop: 'orderFeePartner', |
| | | minWidth: '120px', |
| | | }, |
| | | { |
| | | label: '售后扣花农款', |
| | | prop: 'orderFeeSupplier', |
| | | minWidth: '100px', |
| | | }, |
| | | { |
| | | label: '售后扣平台款', |
| | | prop: 'orderFeePlatform', |
| | | minWidth: '100px', |
| | | }, |
| | | { |
| | | label: '总包干费', |
| | | prop: 'partnerTotalFeeAmount', |
| | | minWidth: '100px', |
| | | }, |
| | | { label: '销售扎数', prop: 'realSaleNum', minWidth: '100px' }, |
| | | { |
| | | label: '利润', |
| | | prop: 'profitFeeAmount', |
| | | minWidth: '100px', |
| | | fixed: 'right', |
| | | }, |
| | | { |
| | | label: '结算状态', |
| | | prop: 'settleStatusStr', |
| | | minWidth: '120px', |
| | | fixed: 'right', |
| | | }, |
| | | ], |
| | | searchForm: [ |
| | | { |
| | | type: 'row', |
| | | span: 6, |
| | | items: [ |
| | | { |
| | | label: '下单日期', |
| | | id: 'calDate', |
| | | component: 'el-date-picker', |
| | | type: 'date', |
| | | el: { |
| | | valueFormat: 'yyyy-MM-dd', |
| | | style: 'width:100%', |
| | | clearable: false, |
| | | }, |
| | | default: this.$route.params.date, |
| | | }, |
| | | { ...getPartnerListConfig() }, |
| | | ], |
| | | }, |
| | | ], |
| | | }, |
| | | } |
| | | }, |
| | | head() { |
| | | return { |
| | | title: '订单结算明细', |
| | | } |
| | | }, |
| | | } |
| | | </script> |
对比新文件 |
| | |
| | | <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> |
| | | </template> |
| | | |
| | | <script> |
| | | import dayjs from 'dayjs' |
| | | import 'dayjs/locale/zh-cn' |
| | | import { getPartnerListConfig } from '@/utils/form-item-config' |
| | | 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` |
| | | return { |
| | | statistic: {}, |
| | | tableConfig: { |
| | | url: 'flower/v2/report/order/sale/page', |
| | | hasNew: false, |
| | | hasEdit: false, |
| | | hasDelete: false, |
| | | viewText: '明细', |
| | | onResetView: (row) => { |
| | | const url = this.$router.resolve( |
| | | `/report/finance/${row.orderDate}` |
| | | ).href |
| | | window.open(url, '_blank') |
| | | }, |
| | | operationAttrs: { |
| | | width: 80, |
| | | fixed: 'right', |
| | | }, |
| | | beforeRequest: async (params) => { |
| | | const { code, data } = await this.$elBusHttp.request( |
| | | `flower/v2/report/order/sale/statis`, |
| | | { params } |
| | | ) |
| | | if (code === 0) { |
| | | data.checkTotalFee = Number( |
| | | ( |
| | | (data.orderCheckFee ?? 0) + |
| | | (data.orderLackFeeSupplier ?? 0) + |
| | | (data.orderReplaceFee ?? 0) |
| | | ).toFixed(2) |
| | | ) |
| | | data.saleTotalFee = Number( |
| | | ( |
| | | (data.orderFeePartner ?? 0) + |
| | | (data.orderFeeSupplier ?? 0) + |
| | | (data.orderFeePlatform ?? 0) |
| | | ).toFixed(2) |
| | | ) |
| | | data.discountTotalFee = Number( |
| | | ( |
| | | (data.orderPriceDiscountAmount ?? 0) + |
| | | (data.orderCouponAmountTotal ?? 0) |
| | | ).toFixed(2) |
| | | ) |
| | | this.statistic = data || {} |
| | | } |
| | | }, |
| | | columns: [ |
| | | { |
| | | label: '下单日期', |
| | | prop: 'orderDate', |
| | | minWidth: 120, |
| | | fixed: 'left', |
| | | }, |
| | | { label: '销售额', prop: 'orderTotal', minWidth: 120 }, |
| | | { |
| | | label: '花农底价', |
| | | prop: 'orderSupplierPriceAmount', |
| | | minWidth: 120, |
| | | }, |
| | | { |
| | | label: '平台区间加价', |
| | | prop: 'orderMarkupOneAmount', |
| | | minWidth: 120, |
| | | }, |
| | | { label: '平台加价', prop: 'orderMarkupTwoAmount', minWidth: 120 }, |
| | | { |
| | | label: '合伙人加价', |
| | | prop: 'orderMarkupPartnerAmount', |
| | | minWidth: 120, |
| | | }, |
| | | { |
| | | label: '会员折扣', |
| | | prop: 'orderPriceDiscountAmount', |
| | | minWidth: 120, |
| | | }, |
| | | { label: '优惠券', prop: 'orderCouponAmountTotal', 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: 'partnerTotalFeeAmount', minWidth: 120 }, |
| | | { label: '销售扎数', prop: 'realSaleNum', minWidth: 120 }, |
| | | { |
| | | label: '利润', |
| | | prop: 'profitFeeAmount', |
| | | minWidth: 120, |
| | | fixed: 'right', |
| | | }, |
| | | { |
| | | label: '结算状态', |
| | | prop: 'settleStatus', |
| | | minWidth: 120, |
| | | fixed: 'right', |
| | | }, |
| | | ], |
| | | searchForm: [ |
| | | { |
| | | type: 'row', |
| | | items: [ |
| | | { |
| | | label: '下单日期', |
| | | id: 'startDate', |
| | | component: 'el-bus-date-range', |
| | | el: { |
| | | clearable: false, |
| | | }, |
| | | // commonFormat: true, |
| | | // commonFormatProps: ['startDate', 'endDate'], |
| | | inputFormat: (row) => { |
| | | if ('startDate' in row || 'endDate' in row) { |
| | | return [ |
| | | this.$elBusUtil.toDate(row.startDate), |
| | | this.$elBusUtil.toDate(row.endDate), |
| | | ] |
| | | } |
| | | }, |
| | | outputFormat: (val) => { |
| | | return { |
| | | startDate: `${this.$elBusUtil.toDate(val[0])} 00:00:00`, |
| | | endDate: `${this.$elBusUtil.toDate(val[1])} 23:59:59`, |
| | | } |
| | | }, |
| | | customClass: 'in-bus-form', |
| | | commonRules: true, |
| | | default: [startDate, endDate], |
| | | }, |
| | | { ...getPartnerListConfig(), label: '合伙人' }, |
| | | ], |
| | | }, |
| | | ], |
| | | }, |
| | | } |
| | | }, |
| | | head() { |
| | | return { |
| | | title: '财务报表', |
| | | } |
| | | }, |
| | | } |
| | | </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; |
| | | } |
| | | </style> |