소스 검색

feat(store): 添加菜品删除功能

- 在 storeDecoration 模块中新增 deleteDish 接口
- 更新菜单管理页面以支持删除菜品操作
- 修改删除逻辑以适配新的后端接口参数格式
- 导入并使用新的 deleteDish API 替代原有更新标记方式
- 调整删除按钮点击事件处理函数名称避免冲突
- 根据当前标签页动态传递 dishType 参数到删除接口
spy 3 주 전
부모
커밋
3e63a6d108
2개의 변경된 파일14개의 추가작업 그리고 25개의 파일을 삭제
  1. 4 1
      src/api/modules/storeDecoration.ts
  2. 10 24
      src/views/storeDecoration/menuManagement/index.vue

+ 4 - 1
src/api/modules/storeDecoration.ts

@@ -94,7 +94,10 @@ export const createOrUpdateDish = (params: any) => {
 export const getDishList = (params: any) => {
   return httpApi.get(`/alienStorePlatform/menuPlatform/getMenuByStoreId`, params);
 };
-
+//删除菜单
+export const deleteDish = (params: any) => {
+  return httpApi.get(`/alienStorePlatform/menuPlatform/delete`, params);
+};
 //获取菜品详情
 export const getDishDetail = (params: any) => {
   return httpApi.get(`/alienStorePlatform/menuPlatform/getMenuInfo`, params);

+ 10 - 24
src/views/storeDecoration/menuManagement/index.vue

@@ -30,7 +30,7 @@
           </div>
           <div class="dish-actions">
             <el-button type="primary" link @click="editDish(dish, index)"> 编辑 </el-button>
-            <el-button type="primary" link @click="deleteDish(dish.id!, index)"> 删除 </el-button>
+            <el-button type="primary" link @click="deleteDishHandler(dish.id!, index)"> 删除 </el-button>
             <el-button v-if="dish.dishType === 1" type="primary" link @click="cancelRecommend(dish.id!, index)">
               取消推荐
             </el-button>
@@ -138,7 +138,7 @@ import { Picture } from "@element-plus/icons-vue";
 import UploadImg from "@/components/Upload/Img.vue";
 import { uploadImg } from "@/api/modules/newLoginApi";
 import { localGet } from "@/utils";
-import { createOrUpdateDish, getDishList, getDishDetail } from "@/api/modules/storeDecoration";
+import { createOrUpdateDish, getDishList, getDishDetail, deleteDish } from "@/api/modules/storeDecoration";
 
 // 菜品接口
 interface Dish {
@@ -317,7 +317,7 @@ const editDish = async (dish: Dish, index: number) => {
 };
 
 // 删除菜品
-const deleteDish = async (id: string | number, index: number) => {
+const deleteDishHandler = async (id: string | number, index: number) => {
   try {
     await ElMessageBox.confirm("确认删除该菜品吗?", "提示", {
       confirmButtonText: "确定",
@@ -331,30 +331,16 @@ const deleteDish = async (id: string | number, index: number) => {
       return;
     }
 
-    const userInfo: any = localGet("geeker-user")?.userInfo || {};
-    const storeId = userInfo.storeId;
-    if (!storeId) {
-      ElMessage.error("未找到店铺ID");
-      return;
-    }
+    // 根据当前tab确定dishType:0表示菜单, 1表示推荐
+    const dishType = activeTab.value === "recommended" ? 1 : 0;
 
-    // 通过更新接口删除(设置deleteFlag,如果有的话,或者直接调用删除接口)
-    // 如果没有删除接口,可以通过更新dishType为-1或其他标记来删除
-    // 这里假设可以通过更新接口删除,实际需要根据后端接口调整
-    const params: any = {
-      id: dish.id,
-      storeId: Number(storeId),
-      dishName: dish.dishName,
-      dishPrice: dish.dishPrice,
-      costPrice: dish.costPrice,
-      dishesUnit: dish.dishesUnit,
-      imgUrl: dish.imgUrl,
-      description: dish.description || "",
-      dishType: dish.dishType,
-      deleteFlag: 1 // 假设有删除标记字段
+    // 调用删除接口,参数是 dishType 和 ids
+    const params = {
+      dishType: dishType,
+      ids: id
     };
 
-    const res: any = await createOrUpdateDish(params);
+    const res: any = await deleteDish(params);
     if (res && (res.code === 200 || res.code === "200")) {
       ElMessage.success("删除成功");
       await loadDishList();