zjs_project 3 hónapja
szülő
commit
163a970ae8
2 módosított fájl, 73 hozzáadás és 10 törlés
  1. 9 9
      src/utils/auth.ts
  2. 64 1
      src/views/orders/list.vue

+ 9 - 9
src/utils/auth.ts

@@ -27,15 +27,15 @@ export function getUserId() {
     return cache.get("userId")
 }
 export function clearAuthInfo() {
-    const userStore = useUserStore()
-    const tabsStore = useTabsStore()
-    userStore.resetState()
-    tabsStore.$reset()
-    cache.remove(TOKEN_KEY)
-    cache.remove("brandId")
-    cache.remove("houseId")
-    cache.remove("userId")
-    resetRouter()
+    // const userStore = useUserStore()
+    // const tabsStore = useTabsStore()
+    // userStore.resetState()
+    // tabsStore.$reset()
+    // cache.remove(TOKEN_KEY)
+    // cache.remove("brandId")
+    // cache.remove("houseId")
+    // cache.remove("userId")
+    // resetRouter()
     console.warn("***clearAuthInfo***")
     // 确认窗体
     ElMessageBox.confirm("已经在其他地方登录", '温馨提示', {

+ 64 - 1
src/views/orders/list.vue

@@ -86,9 +86,10 @@
                     "></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="120" fixed="right">
+                <el-table-column label="操作" width="200" fixed="right">
                     <template #default="{ row }">
                         <el-button type="primary" link @click="showDetail(row)">查看已点菜品</el-button>
+                        <el-button v-if="row.status=='2'" type="danger" link @click="refund(row)">退款</el-button>
                     </template>
                 </el-table-column>
             </el-table>
@@ -96,6 +97,27 @@
                 <pagination v-model="pager" @change="getLists" />
             </div>
         </el-card>
+        <el-dialog 
+            v-model="refundDialogVisible"
+            title="退款" 
+            width="400px"
+            @close="refundDialogVisible = false">
+            <div class="refund-dialog-content">
+                <el-input 
+                    v-model="refundAmount" 
+                    placeholder="请输入退款金额"
+                    type="number">
+                    <template #prepend><icon :size="25" name="el-icon-money" /></template>
+                    <template #append>元</template>
+                </el-input>
+            </div>
+            <template #footer>
+                <span class="dialog-footer">
+                    <el-button @click="refundDialogVisible = false">取 消</el-button>
+                    <el-button type="primary" @click="confirmRefund">确 定</el-button>
+                </span>
+            </template>
+        </el-dialog>
     </div>
 </template>
 
@@ -142,6 +164,31 @@
             showDetail(row);
         }
     }
+    // 添加这些变量到组件顶层
+    const refundDialogVisible = ref(false)
+    const refundAmount = ref(0)
+
+    // 修改refund函数
+    const refund = async (row: any) => {
+        refundDialogVisible.value = true
+    }
+
+    const confirmRefund = async () => {
+        // try {
+        //     const res = await processRefund({ id: row.id, amount: refundAmount.value })
+        //     if (res.success) {
+        //         feedback.msgSuccess('退款成功')
+        //     } else {
+        //         feedback.msgError('退款失败')
+        //     }
+        // } catch (error) {
+        //     console.error('退款失败:', error)
+        //     feedback.msgError('退款失败')
+        // } finally {
+        //     refundDialogVisible.value = false
+        // }
+    }
+
     // 展示订单详情
     const showDetail = async (row : any) => {
         try {
@@ -243,4 +290,20 @@
             }
         }
     }
+
+    .refund-dialog-content {
+        padding: 20px 0px;
+        
+        :deep(.el-input) {
+            width: 100%;
+        }
+    }
+
+    .dialog-footer {
+        text-align: right;
+        
+        .el-button + .el-button {
+            margin-left: 12px;
+        }
+    }
 </style>