陶杰
2025-01-09 111392f8ae1f27c4cde93bd7974a5f16c8188188
pages/order/after-sale/index.vue
@@ -11,6 +11,15 @@
<script>
import AfterSaleTable from '@/components/order/after-sale-table'
const feeKeys = [
  'feeSupplier',
  'feePlatform',
  'feePartner',
  'feePlatformPack',
  'feePlatformCheck',
  'feePlatformTransport',
  'feePackingTransport',
]
export default {
  components: {
    AfterSaleTable,
@@ -62,7 +71,7 @@
                  },
                  // code: 'ORDER_SALES_STATUS',
                },
                default: '',
                default: this.$route.query.status || '',
                span: 24,
                searchImmediately: true,
                on: {
@@ -122,9 +131,45 @@
              { label: '合伙人加价(元):', id: 'markupPartner', type: 'input' },
              { label: '原价(元):', id: 'price', type: 'input' },
              { label: '券后单价(元):', id: 'realPrice', type: 'input' },
              { label: '券后总金额(元):', id: 'realTotal', type: 'input' },
              { label: '供应商价格(元):', id: 'supplierPrice', type: 'input' },
              { label: '商品数量:', id: 'flowerNum', type: 'input' },
              { label: '申请售后数量:', id: 'num', type: 'input' },
            ],
          },
          {
            type: 'row',
            items: [
              {
                label: '质检总扣款(元):',
                id: 'checkTotalAmount',
                type: 'input',
                span: 24,
                customClass: 'to-red to-bold',
              },
              {
                label: '降级数量:',
                id: 'reduceNum',
                type: 'input',
              },
              {
                label: '降级总金额(元):',
                id: 'reduceAmount',
                type: 'input',
              },
              {
                label: '缺货数量:',
                id: 'lackNum',
                type: 'input',
                span: 24,
              },
              {
                label: '已退总金额(元):',
                id: 'refundTotalAmount',
                type: 'input',
                span: 24,
                customClass: 'to-red to-bold',
              },
            ],
          },
        ],
@@ -182,6 +227,29 @@
                    id: 'feePlatformTransport',
                    type: 'input-number',
                    el: { min: 0, precision: 2, controls: false },
                  },
                  {
                    label: '打包运费(元)(散户):',
                    id: 'feePackingTransport',
                    type: 'input-number',
                    el: { min: 0, precision: 2, controls: false },
                  },
                  {
                    label: '实际总扣款(元):',
                    id: 'tempTotal',
                    component: 'simple-text',
                    readonly: true,
                    forceDisabled: true,
                    el: (row) => ({
                      text: feeKeys
                        .reduce((total, current) => {
                          total += row[current] ?? 0
                          return total
                        }, 0)
                        .toFixed(2),
                    }),
                    span: 24,
                    customClass: 'to-bold-label',
                  },
                  {
                    label: '申请理由:',
@@ -253,11 +321,44 @@
    onDetail(item) {
      this.$router.push(`${this.$route.path}/view/${item.id}`)
    },
    onHandle(item) {
      this.$refs.crud.$refs.extraDialog[0].show(item)
    async onHandle(item) {
      const { code, data } = await this.$elBusHttp.request(
        'flower/api/sales/list/view',
        { params: { id: item.id } }
      )
      if (code === 0) {
        feeKeys.forEach((key) => {
          data[key] = data[key] ?? undefined
        })
        this.$refs.crud.$refs.extraDialog[0].show(data)
      }
    },
  },
}
</script>
<style lang="scss" scoped></style>
<style lang="scss" scoped>
::v-deep {
  .el-form-item {
    &.to-bold {
      .el-form-item__label,
      .simple-text,
      .el-bus-form-item__normal {
        font-weight: bold;
      }
    }
    &.to-red {
      .el-form-item__label,
      .simple-text,
      .el-bus-form-item__normal {
        color: $danger-color;
      }
    }
    &.to-bold-label {
      .el-form-item__label {
        font-weight: bold;
      }
    }
  }
}
</style>