cloudroam
2025-01-09 bf6b7af0fb6c230eb15dd09ceda3a04abf958141
pages/order/list/_id.vue
@@ -6,7 +6,20 @@
      label-width="auto"
      :content="formContent"
      readonly
      class="readonly-form"
    ></el-bus-form>
    <template v-if="detail.memberCouponAmount || detail.memberDiscountType">
      <div class="base-page-wrapper__line"></div>
      <el-bus-title title="优惠信息" size="small" />
      <el-bus-form
        ref="discountForm"
        label-width="auto"
        :content="discountForm"
        readonly
        class="readonly-form"
      ></el-bus-form>
    </template>
    <div class="base-page-wrapper__line"></div>
    <el-bus-title title="商品信息" size="small">
      <template #right>
        <el-button
@@ -50,9 +63,29 @@
        min-width="100"
      ></el-table-column>
      <el-table-column
        label="单价(元)"
        label="会员单价(元)"
        prop="price"
        min-width="100"
      ></el-table-column>
      <el-table-column
        label="原价(元)"
        prop="originalPrice"
        min-width="100"
      ></el-table-column>
      <el-table-column
        label="券后总金额(元)"
        prop="realTotal"
        min-width="120"
      ></el-table-column>
      <el-table-column
        label="券后单价(元)"
        prop="realPrice"
        min-width="100"
      ></el-table-column>
      <el-table-column
        label="优惠总金额(元)"
        prop="couponAmountTotal"
        min-width="120"
      ></el-table-column>
      <el-table-column
        label="供应商"
@@ -90,8 +123,23 @@
        min-width="120"
      ></el-table-column>
      <el-table-column
        label="质检扣款(元)"
        label="质检退款(元)"
        prop="deductAmount"
        min-width="120"
      ></el-table-column>
      <el-table-column
        label="补货扣款(元)"
        prop="replaceFee"
        min-width="120"
      ></el-table-column>
      <el-table-column
        label="降级扣款(元)"
        prop="checkFee"
        min-width="120"
      ></el-table-column>
      <el-table-column
        label="缺货扣款(元)"
        prop="lackFeeSupplier"
        min-width="120"
      ></el-table-column>
      <el-table-column label="质检审核" width="220" fixed="right">
@@ -135,7 +183,25 @@
        </template>
      </el-table-column>
    </el-table>
    <template v-if="detail.pointGoodsList && detail.pointGoodsList.length > 0">
      <div class="base-page-wrapper__line"></div>
      <el-bus-title title="积分兑换商品" size="small" />
      <el-table :data="detail.pointGoodsList">
        <el-table-column label="商品图片">
          <template #default="{ row }">
            <el-bus-image
              :src="row.cover"
              lazy
              style="width: 50px; height: 50px"
            />
          </template>
        </el-table-column>
        <el-table-column label="商品名称" prop="name"></el-table-column>
        <el-table-column label="兑换数量" prop="num"></el-table-column>
      </el-table>
    </template>
    <template v-if="afterSaleList && afterSaleList.length > 0">
      <div class="base-page-wrapper__line"></div>
      <el-bus-title title="售后信息" size="small" class="mt-20"></el-bus-title>
      <el-table :data="afterSaleList">
        <el-table-column
@@ -295,11 +361,26 @@
    span: 24,
    readonly: true,
  },
  {
    label: '提交时间:',
    id: 'checkTime',
    type: 'input',
    span: 24,
    readonly: true,
  },
]
const dialogAuditForm = [
  {
    label: '审核结果:',
    id: 'auditStatusStr',
    type: 'input',
    hidden: (row) => !row.auditStatusStr,
    span: 24,
    readonly: true,
  },
  {
    label: '审核时间:',
    id: 'auditTime',
    type: 'input',
    hidden: (row) => !row.auditStatusStr,
    span: 24,
@@ -322,14 +403,82 @@
            { label: '收货地址:', id: 'customerWholeAddress', type: 'input' },
            { label: '下单时间:', id: 'createTime', type: 'input' },
            { label: '支付时间:', id: 'paymentTime', type: 'input' },
            { label: '商品金额:', id: 'flowerAmount', type: 'input' },
            { label: '商品金额:', id: 'flowerAmountDesc', type: 'input' },
            { label: '打包费:', id: 'packingFee', type: 'input' },
            { label: '运费:', id: 'transportFee', type: 'input' },
            { label: '订单金额:', id: 'totalAmount', type: 'input' },
            { label: '订单金额:', id: 'originalPrice', type: 'input' },
            { label: '实际支付金额:', id: 'totalAmountDesc', type: 'input' },
            { label: '订单状态:', id: 'statusBackendStr', type: 'input' },
            { label: '合伙人:', id: 'partnerName', type: 'input' },
            { label: '库区:', id: 'warehouseName', type: 'input' },
            { label: '库位:', id: 'warehouseLocationCode', type: 'input' },
            { label: '特殊需求:', id: 'specialNeedsStr', type: 'input' },
            { label: '快递号:', id: 'deliveryNo', type: 'input' },
            {
              label: '备注:',
              id: 'remarks',
              type: 'input',
              el: { type: 'textarea' },
              span: 24,
            },
          ],
        },
      ],
      discountForm: [
        {
          type: 'row',
          items: [
            {
              label: '优惠券类型:',
              id: 'couponDiscountTypeName',
              type: 'input',
              hidden: (row) => !row.memberCouponAmount,
            },
            {
              label: '使用条件:',
              id: 'minOrderAmount',
              type: 'input',
              hidden: (row) => !row.memberCouponAmount,
            },
            {
              label: '优惠券名称:',
              id: 'memberCouponName',
              type: 'input',
              hidden: (row) => !row.memberCouponAmount,
            },
            {
              label: '优惠券金额:',
              id: 'memberCouponAmount',
              type: 'input',
              hidden: (row) => !row.memberCouponAmount,
            },
            {
              label: '会员等级:',
              id: 'memberName',
              type: 'input',
              hidden: (row) => !row.memberDiscountType,
            },
            {
              label: '会员折扣类型:',
              id: 'memberDiscountType',
              type: 'input',
              str: true,
              hidden: (row) => !row.memberDiscountType,
            },
            {
              label: '会员折扣:',
              id: 'memberDiscountRatio',
              type: 'input',
              unit: '%',
              hidden: (row) => row.memberDiscountType !== 'ratio',
            },
            {
              label: '会员优惠:',
              id: 'memberDiscountAmount',
              type: 'input',
              unit: '元/扎',
              hidden: (row) => row.memberDiscountType !== 'amount',
            },
          ],
        },
      ],
@@ -465,7 +614,36 @@
        data.customerWholeAddress = `${data.customerProvince || ''}${
          data.customerCity || ''
        }${data.customerRegion || ''}${data.customerAddress || ''}`
        // 如果享受了会员优惠则显示具体会员优惠
        data.flowerAmountDesc = data.flowerAmount
        if (data.memberDiscountType) {
          if (data.memberDiscountType === 'ratio' && data.memberDiscountRatio) {
            data.flowerAmountDesc += `(其中享受会员折扣${data.memberDiscountRatio}%)`
          } else if (
            data.memberDiscountType === 'amount' &&
            data.memberDiscountAmount
          ) {
            data.flowerAmountDesc += `(其中享受会员优惠每扎减${data.memberDiscountAmount}元)`
          }
        }
        // 如果使用了优惠券则显示优惠券具体信息
        data.totalAmountDesc = data.totalAmount
        if (data.memberCouponAmount) {
          data.totalAmountDesc += `(其中使用了${data.memberCouponAmount}元优惠券)`
        }
        data.originalPrice = Number(
          (
            (data.flowerAmount || 0) +
            (data.packingFee || 0) +
            (data.transportFee || 0)
          ).toFixed(2)
        )
        this.detail = data
        this.$nextTick(() => {
          if (this.$refs.discountForm) {
            this.$refs.discountForm.updateForm(data)
          }
        })
        this.$refs.form.updateForm(data)
      }
      this.loading = false
@@ -594,6 +772,7 @@
<style lang="scss" scoped>
.order-detail {
  border-radius: 0;
  .el-bus-title {
    margin-bottom: 10px;
  }