From 6fa85fcb11a88bacbeace4ac6218b84830e032a8 Mon Sep 17 00:00:00 2001
From: mayf <m13160102112@163.com>
Date: 星期一, 09 九月 2024 21:30:27 +0800
Subject: [PATCH] 订单详情增加积分兑换商品

---
 pages/order/list/_id.vue |  170 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 160 insertions(+), 10 deletions(-)

diff --git a/pages/order/list/_id.vue b/pages/order/list/_id.vue
index 47086a7..7c548e7 100644
--- a/pages/order/list/_id.vue
+++ b/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,8 +63,18 @@
         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="realPrice"
         min-width="100"
       ></el-table-column>
       <el-table-column
@@ -135,18 +158,69 @@
         </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 label="原因" prop="reason"></el-table-column>
-        <el-table-column label="售后时间" prop="createTime"></el-table-column>
-        <el-table-column label="处理时间" prop="auditTime"></el-table-column>
-        <el-table-column label="处理状态" prop="statusStr"></el-table-column>
         <el-table-column
-          label="处理结果"
-          prop="auditStatusStr"
+          label="商品名称"
+          prop="flowerName"
+          min-width="150"
+          fixed="left"
         ></el-table-column>
-        <el-table-column label="操作">
+        <el-table-column
+          label="级别"
+          prop="flowerLevelStr"
+          min-width="120"
+        ></el-table-column>
+        <el-table-column
+          label="颜色"
+          prop="flowerColor"
+          min-width="120"
+        ></el-table-column>
+        <el-table-column
+          label="原因"
+          prop="reason"
+          min-width="200"
+        ></el-table-column>
+        <el-table-column
+          label="售后时间"
+          prop="createTime"
+          min-width="180"
+        ></el-table-column>
+        <el-table-column
+          label="处理时间"
+          prop="auditTime"
+          min-width="180"
+        ></el-table-column>
+        <el-table-column
+          label="处理状态"
+          prop="statusStr"
+          min-width="120"
+        ></el-table-column>
+        <el-table-column
+          label="实际退款"
+          prop="totalFee"
+          min-width="120"
+        ></el-table-column>
+        <el-table-column label="操作" width="120" fixed="right">
           <template #default="{ row }">
             <el-button type="text" @click="toDetail(row.id)"
               >查看详情</el-button
@@ -289,14 +363,67 @@
             { 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: '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: 'remarks',
+              type: 'input',
+              el: { type: 'textarea' },
+              span: 24,
+            },
+          ],
+        },
+      ],
+      discountForm: [
+        {
+          type: 'row',
+          items: [
+            {
+              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 !== 'ratio',
+            },
           ],
         },
       ],
@@ -432,7 +559,29 @@
         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}元优惠券)`
+        }
         this.detail = data
+        this.$nextTick(() => {
+          if (this.$refs.discountForm) {
+            this.$refs.discountForm.updateForm(data)
+          }
+        })
         this.$refs.form.updateForm(data)
       }
       this.loading = false
@@ -561,6 +710,7 @@
 
 <style lang="scss" scoped>
 .order-detail {
+  border-radius: 0;
   .el-bus-title {
     margin-bottom: 10px;
   }

--
Gitblit v1.9.3