Browse Source

订单页面调整

licc 3 days ago
parent
commit
8c0a3e5449
1 changed files with 88 additions and 87 deletions
  1. 88 87
      src/views/orders/list.vue

+ 88 - 87
src/views/orders/list.vue

@@ -5,24 +5,24 @@
                 <el-form-item label="订单类型" class="w-[280px]">
                     <el-select class="w-[280px]" v-model="queryParams.type">
                         <el-option label="全部" value />
-                        <el-option label="台点单" value="0" />
+                        <el-option label="台点单" value="0" />
                         <el-option label="扫码点单" value="1" />
                     </el-select>
                 </el-form-item>
                 <el-form-item label="订单状态" class="w-[280px]">
                     <el-select class="w-[280px]" v-model="queryParams.status">
                         <el-option label="全部" value />
-                        <el-option label="待下单" value="0" />
-                        <el-option label="待结帐" value="1" />
-                        <el-option label="已完成" value="2" />
+<!--                        <el-option label="待下单" value="0" />-->
+<!--                        <el-option label="待结帐" value="1" />-->
+                        <el-option label="已下单" value="2" />
                         <el-option label="已退款" value="4" />
                     </el-select>
                 </el-form-item>
-                <el-form-item label="创建时间" class="w-[280px]">
-                    <el-date-picker v-model="createTime" @change="setCreateTime" type="datetimerange"
-                        range-separator="-" start-placeholder="开始时间" end-placeholder="结束时间" />
-                </el-form-item>
-                <el-form-item label="结账时间" class="w-[280px]">
+<!--                <el-form-item label="创建时间" class="w-[280px]">-->
+<!--                    <el-date-picker v-model="createTime" @change="setCreateTime" type="datetimerange"-->
+<!--                        range-separator="-" start-placeholder="开始时间" end-placeholder="结束时间" />-->
+<!--                </el-form-item>-->
+                <el-form-item label="下单时间" class="w-[280px]">
                     <el-date-picker v-model="checkoutTime" @change="setCheckoutTime" type="datetimerange"
                         range-separator="-" start-placeholder="开始时间" end-placeholder="结束时间" />
                 </el-form-item>
@@ -33,100 +33,101 @@
             </el-form>
         </el-card>
         <el-card class="!border-none mt-4" shadow="never">
-            <el-table v-loading="pager.loading" :data="pager.lists" row-key="id" :expand-row-keys="expandRowKeys" @expand-change="handleExpandChange">
-                <el-table-column type="expand" >
-                    <template #default="{ row }">
-                        <div class="order-detail-wrapper" v-loading="!orderDetails[row.id]">
-                            <template v-if="orderDetails[row.id]">
-                                <div class="detail-header">
-                                    <span>订单详情</span>
-                                    <span class="time">下单时间:{{ timeFormat(orderDetails[row.id].createTime) }}</span>
-                                </div>
-                                <el-table :data="orderDetails[row.id].dishes" border class="detail-table">
-                                    <el-table-column label="菜品图片" width="120" align="center">
-                                        <template #default="{ row }">
-                                            <el-image :src="row.image" :preview-src-list="[row.image]"
-                                                class="dish-image" fit="cover" />
-                                        </template>
-                                    </el-table-column>
-                                    <el-table-column prop="name" label="菜品名称">
-                                        <template #default="{ row }">
-                                            <div>
-                                                {{ row.name }}
-                                                <div v-if="row.specsList && row.specsList.length" class="mt-1">
-                                                    <el-tag
-                                                        v-for="spec in row.specsList"
-                                                        :key="spec.id"
-                                                        size="small"
-                                                        class="mr-1 mb-1"
-                                                    >
-                                                        {{ spec.name }}: {{ spec.value }}
-                                                    </el-tag>
-                                                </div>
-                                            </div>
-                                        </template>
-                                    </el-table-column>
-                                    <el-table-column prop="amount" label="单价">
-                                        <template #default="{ row }">
-                                            ¥{{ row.amount }}
-                                        </template>
-                                    </el-table-column>
-                                    <el-table-column prop="number" label="数量" width="120" align="center" />
-                                    <el-table-column label="小计" width="120" align="right">
-                                        <template #default="{ row }">
-                                            ¥{{ row.amount * row.number}}
-                                        </template>
-                                    </el-table-column>
-                                </el-table>
-                                <div class="detail-footer">
-                                    <div class="total-info">
-                                        <span>共 {{ getTotalCount(orderDetails[row.id].dishes) }} 件商品</span>
-                                        <span class="total-price">
-                                            订单总价:<em>¥{{ orderDetails[row.id].amount}}</em>
-                                        </span>
-                                    </div>
-                                </div>
-                            </template>
-                        </div>
-                    </template>
-                </el-table-column>
+<!--            :expand-row-keys="expandRowKeys" @expand-change="handleExpandChange"-->
+            <el-table v-loading="pager.loading" :data="pager.lists" row-key="id">
+<!--                <el-table-column type="expand" >-->
+<!--                    <template #default="{ row }">-->
+<!--                        <div class="order-detail-wrapper" v-loading="!orderDetails[row.id]">-->
+<!--                            <template v-if="orderDetails[row.id]">-->
+<!--                                <div class="detail-header">-->
+<!--                                    <span>订单详情</span>-->
+<!--                                    <span class="time">下单时间:{{ timeFormat(orderDetails[row.id].createTime) }}</span>-->
+<!--                                </div>-->
+<!--                                <el-table :data="orderDetails[row.id].dishes" border class="detail-table">-->
+<!--                                    <el-table-column label="菜品图片" width="120" align="center">-->
+<!--                                        <template #default="{ row }">-->
+<!--                                            <el-image :src="row.image" :preview-src-list="[row.image]"-->
+<!--                                                class="dish-image" fit="cover" />-->
+<!--                                        </template>-->
+<!--                                    </el-table-column>-->
+<!--                                    <el-table-column prop="name" label="菜品名称">-->
+<!--                                        <template #default="{ row }">-->
+<!--                                            <div>-->
+<!--                                                {{ row.name }}-->
+<!--                                                <div v-if="row.specsList && row.specsList.length" class="mt-1">-->
+<!--                                                    <el-tag-->
+<!--                                                        v-for="spec in row.specsList"-->
+<!--                                                        :key="spec.id"-->
+<!--                                                        size="small"-->
+<!--                                                        class="mr-1 mb-1"-->
+<!--                                                    >-->
+<!--                                                        {{ spec.name }}: {{ spec.value }}-->
+<!--                                                    </el-tag>-->
+<!--                                                </div>-->
+<!--                                            </div>-->
+<!--                                        </template>-->
+<!--                                    </el-table-column>-->
+<!--                                    <el-table-column prop="amount" label="单价">-->
+<!--                                        <template #default="{ row }">-->
+<!--                                            ¥{{ row.amount }}-->
+<!--                                        </template>-->
+<!--                                    </el-table-column>-->
+<!--                                    <el-table-column prop="number" label="数量" width="120" align="center" />-->
+<!--                                    <el-table-column label="小计" width="120" align="right">-->
+<!--                                        <template #default="{ row }">-->
+<!--                                            ¥{{ row.amount * row.number}}-->
+<!--                                        </template>-->
+<!--                                    </el-table-column>-->
+<!--                                </el-table>-->
+<!--                                <div class="detail-footer">-->
+<!--                                    <div class="total-info">-->
+<!--                                        <span>共 {{ getTotalCount(orderDetails[row.id].dishes) }} 件商品</span>-->
+<!--                                        <span class="total-price">-->
+<!--                                            订单总价:<em>¥{{ orderDetails[row.id].amount}}</em>-->
+<!--                                        </span>-->
+<!--                                    </div>-->
+<!--                                </div>-->
+<!--                            </template>-->
+<!--                        </div>-->
+<!--                    </template>-->
+<!--                </el-table-column>-->
                 <el-table-column type="index" min-width="80" />
-                <el-table-column label="订单号" prop="number" min-width="180" show-overflow-tooltip></el-table-column>
-                <el-table-column label="支付金额" min-width="160" prop="amount">
+                <el-table-column label="下单时间" prop="checkoutTime" min-width="120"></el-table-column>
+                <el-table-column label="订单号" prop="number" min-width="150" show-overflow-tooltip></el-table-column>
+                <el-table-column label="类型" prop="type" :formatter="(row: any) => (row.type == 0 ? '吧台点单' : '扫码点单')"></el-table-column>
+                <el-table-column label="桌号/餐号" prop="deskName">
+                    <template #default="{ row }">{{
+                        row.deskName ? row.deskName : row.mealCode
+                    }}</template>
+                </el-table-column>
+                <el-table-column label="产品清单" prop="deskName" min-width="120">
                     <template #default="{ row }">
-                        <div>
-                            <div :style="row.status > 1 && row.status != 6 ? 'text-decoration: line-through;': ''" v-if="row.status > 1 && row.status != 6">订单金额:¥{{row.amount}}</div>
-                            <div style="color: #f01414;" v-if="row.status >= 2 && row.status != 6">
-                              实付金额:¥{{row.payAmount || row.amount}}
-                            </div>
-                            <div v-if="row.ticketNo" class="refund-info">
-                                <div style="font-size: 12px;">抵扣券号:{{ row.ticketNo }}</div>
-                                <div style="font-size: 12px;">抵扣金额:¥{{ row.ticketAmount }}</div>
+                        <div v-for="orderDish in row.orderDishes" :key="orderDish.id">
+                            {{ orderDish.name }}<span style="margin: 0 15px 0 15px;">x</span>{{orderDish.number}}
+                            <div v-if="orderDish.specsList && orderDish.specsList.length">
+                                <div v-for="spec in orderDish.specsList" :key="spec.id" class="refund-info" style="margin-left: 20px;margin-top: 0;">
+                                    - {{ spec.name }}: {{ spec.value }}
+                                </div>
                             </div>
                         </div>
                     </template>
                 </el-table-column>
-                <el-table-column label="桌号/餐号" prop="deskName" min-width="100">
-                  <template #default="{ row }">
-                    {{ row.deskName ? row.deskName : row.mealCode }}
-                  </template>
-                </el-table-column>
+                <el-table-column label="订单金额(元)" prop="amount" min-width="100"></el-table-column>
+                <el-table-column label="优惠金额(元)" prop="ticketAmount" min-width="100"></el-table-column>
+                <el-table-column label="实付金额(元)" prop="payAmount" min-width="100"></el-table-column>
                 <el-table-column label="备注" prop="remark"  min-width="100" show-tooltip-when-overflow></el-table-column>
-                <el-table-column label="状态" min-width="170" prop="status" >
+                <el-table-column label="状态" min-width="160" prop="status" >
                     <template #default="{ row }">
                         <div>
-                            {{ row.status == 4 ? '退款成功' : row.status == 2 ? '已完成' : row.status == 0 ? '待下单'
+                            {{ row.status == 4 ? '已退款' : row.status == 2 ? '已下单' : row.status == 0 ? '待下单'
                             : row.status == 1 ? '待支付' : row.status == 5 ? '退款中' : row.status == 3 ? '支付失败' : '已关闭' }}
                             <div v-if="row.refundStatus=='SUCCESS'" class="refund-info">
                                 <div>退款时间:{{ row.refundTime }}</div>
-                                <div>退款金额:{{ row.refundAmount }}</div>
+                                <div>退款金额:{{ row.refundAmount }}</div>
                             </div>
                         </div>
                     </template>
                 </el-table-column>
-                <el-table-column label="类型" prop="type" :formatter="(row: any) => (row.type == 0 ? '吧台点餐' : '扫码点餐')"></el-table-column>
-                <el-table-column label="结账时间" prop="checkoutTime"></el-table-column>
-                <el-table-column label="创建时间" prop="createTime"></el-table-column>
                 <el-table-column label="操作" width="60" fixed="right">
                     <template #default="{ row }">
 <!--                        <el-button type="primary" link @click="showDetail(row)">查看已点菜品</el-button>-->