From 4f08bedf61ada511a8288a75b9ef4706b49af8ca Mon Sep 17 00:00:00 2001 From: huangdeliang Date: Fri, 5 Mar 2021 14:32:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=8D=E5=88=B6=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- stdiet-ui/src/store/modules/recipes.js | 56 ++++++--- .../RecipesCom/AddDishesDrawer/index.vue | 3 +- .../RecipesCom/DishesSettingDialog/index.vue | 98 +++++++++++++++ .../RecipesCom/ReuseDialog/index.vue | 20 --- .../RecipesView/RecipesCom/index.vue | 117 +++++++++++++++--- 5 files changed, 237 insertions(+), 57 deletions(-) create mode 100644 stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesCom/DishesSettingDialog/index.vue delete mode 100644 stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesCom/ReuseDialog/index.vue diff --git a/stdiet-ui/src/store/modules/recipes.js b/stdiet-ui/src/store/modules/recipes.js index ff9381d34..64d1b922d 100644 --- a/stdiet-ui/src/store/modules/recipes.js +++ b/stdiet-ui/src/store/modules/recipes.js @@ -28,7 +28,8 @@ const oriState = { startNum: 0, endNum: 0, reviewStatus: 0, - templateInfo: undefined + templateInfo: undefined, + copyData: undefined }; const mutations = { @@ -37,7 +38,7 @@ const mutations = { obj => obj.id === payload.id ); if (tarDishes) { - if (tarDishes.dishesId !== payload.dishesId) { + if (payload.dishesId || payload.type !== undefined) { // 替换菜品 Object.keys(payload).forEach(key => { if (key === "num") { @@ -282,6 +283,7 @@ const actions = { // console.log(params); }, async addDishes({ commit, state }, payload) { + console.log(payload); const tarDishesList = state.recipesData[payload.num].dishes.filter( obj => obj.type === payload.data.type ); @@ -367,26 +369,34 @@ const actions = { ); if (tarDishes) { const mTarDishes = JSON.parse(JSON.stringify(tarDishes)); - const tarIgd = mTarDishes.igdList.find(obj => obj.id === payload.igdId); - if (tarIgd) { - payload.weight && (tarIgd.weight = payload.weight); - payload.cusWeight && (tarIgd.cusWeight = payload.cusWeight); - payload.cusUnit && (tarIgd.cusUnit = payload.cusUnit); + let params = { + id: mTarDishes.id + }; + if (payload.type !== undefined) { + // 修改餐类 + params.type = payload.type; + } else { + // 修改食材 + const tarIgd = mTarDishes.igdList.find( + obj => obj.id === payload.igdId + ); + if (tarIgd) { + payload.weight && (tarIgd.weight = payload.weight); + payload.cusWeight && (tarIgd.cusWeight = payload.cusWeight); + payload.cusUnit && (tarIgd.cusUnit = payload.cusUnit); - const params = { - id: mTarDishes.id, - detail: mTarDishes.igdList.map(igd => ({ + params.detail = mTarDishes.igdList.map(igd => ({ id: igd.id, weight: igd.weight, cus_unit: igd.cusUnit, cus_weight: igd.cusWeight - })) - }; - const result = await updateDishesDetailApi(params); - if (result.code === 200) { - commit("updateRecipesDishesDetail", payload); + })); } } + const result = await updateDishesDetailApi(params); + if (result.code === 200) { + commit("updateRecipesDishesDetail", payload); + } } } else { commit("updateRecipesDishesDetail", payload); @@ -408,7 +418,21 @@ const actions = { commit("deleteSomeDayDishes", payload); } }, - async deleteMenu({ commit }, payload) {} + async deleteMenu({ commit }, payload) {}, + async setCopyData({ commit, state }, payload) { + return new Promise((res, rej) => { + const tarDishes = state.recipesData[payload.num].dishes.find( + obj => obj.id === payload.id + ); + if (tarDishes) { + commit("updateStateData", { copyData: tarDishes }); + + res("复制成功"); + } else { + rej("复制失败"); + } + }); + } }; const getters = { 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 016e098b2..0bebd4e41 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 @@ -92,13 +92,14 @@ export default { data.name }」`; this.id = data.id; + this.type = data.type; } else if (type) { this.title = `添加第${numDay}天${this.typeDict[type]}菜品`; this.type = type; } this.visible = true; this.$nextTick(() => { - this.$refs.dishesRef.getList({ type }); + this.$refs.dishesRef.getList({ type: this.type }); }); }, handleOnClosed(done) { diff --git a/stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesCom/DishesSettingDialog/index.vue b/stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesCom/DishesSettingDialog/index.vue new file mode 100644 index 000000000..a2eaa3fc3 --- /dev/null +++ b/stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesCom/DishesSettingDialog/index.vue @@ -0,0 +1,98 @@ + + + diff --git a/stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesCom/ReuseDialog/index.vue b/stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesCom/ReuseDialog/index.vue deleted file mode 100644 index 4446677a8..000000000 --- a/stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesCom/ReuseDialog/index.vue +++ /dev/null @@ -1,20 +0,0 @@ - - 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 271333801..eb6b7508c 100644 --- a/stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesCom/index.vue +++ b/stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesCom/index.vue @@ -11,8 +11,22 @@ >