diff --git a/stdiet-ui/src/store/modules/recipes.js b/stdiet-ui/src/store/modules/recipes.js index 89c1fef86..fabe4fd9e 100644 --- a/stdiet-ui/src/store/modules/recipes.js +++ b/stdiet-ui/src/store/modules/recipes.js @@ -95,7 +95,6 @@ const actions = { startNum: startNumDay, endNum: endNumDay }); - getDicts("cus_cus_unit").then(response => { commit("updateStateData", { cusUnitOptions: response.data }); }); @@ -269,6 +268,13 @@ const actions = { // console.log(params); }, async addDishes({ commit, state }, payload) { + const tarDishesList = state.recipesData[payload.num].dishes.filter( + obj => obj.type === payload.type + ); + if (tarDishesList.some(obj => obj.dishesId === payload.dishesId)) { + console.log("目标餐类已有相同的菜品"); + throw new Error("目标餐类已有相同的菜品"); + } if (state.recipesId) { const tarRecipesObj = state.recipesData[payload.num]; if (tarRecipesObj && payload.data) { diff --git a/stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesCom/AddDishesDrawer/index.vue b/stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesCom/AddDishesDrawer/index.vue index 284353565..1b57baf21 100644 --- a/stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesCom/AddDishesDrawer/index.vue +++ b/stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesCom/AddDishesDrawer/index.vue @@ -99,9 +99,7 @@ export default { if (idx === 0) { this.selDishes.type = cur; } - const tarOpt = this.typeOptions.find( - (obj) => obj.dictValue === cur - ); + const tarOpt = this.typeOptions.find((obj) => obj.dictValue === cur); if (tarOpt) { arr.push(tarOpt); } @@ -134,7 +132,7 @@ export default { igdList, } = this.selDishes; this.$emit("onConfirm", { - id: -1, + id: new Date().getTime(), dishesId: id, methods, name, diff --git a/stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesCom/index.vue b/stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesCom/index.vue index 8c9c0264c..44f452be4 100644 --- a/stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesCom/index.vue +++ b/stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesCom/index.vue @@ -350,6 +350,8 @@ export default { this.addDishes({ num: this.num, data, + }).catch((err) => { + this.$message.error(err.message); }); }, ...mapActions(["updateDishes", "addDishes", "deleteDishes"]),