From 9e70204584a5c675a4d0e37fff9020d242df9bdb Mon Sep 17 00:00:00 2001
From: mayf <m13160102112@163.com>
Date: 星期五, 06 九月 2024 16:21:50 +0800
Subject: [PATCH] readonly form减少表单项间距 统一详情样式

---
 pages/order/list/_id.vue |   99 ++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 96 insertions(+), 3 deletions(-)

diff --git a/pages/order/list/_id.vue b/pages/order/list/_id.vue
index 9e243ad..87dd692 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
@@ -136,6 +159,7 @@
       </el-table-column>
     </el-table>
     <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
@@ -322,14 +346,60 @@
             { 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' },
+          ],
+        },
+      ],
+      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',
+            },
           ],
         },
       ],
@@ -465,7 +535,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
@@ -594,6 +686,7 @@
 
 <style lang="scss" scoped>
 .order-detail {
+  border-radius: 0;
   .el-bus-title {
     margin-bottom: 10px;
   }

--
Gitblit v1.9.3