From bea29e310ef785a6614933492c2e8d863e500b71 Mon Sep 17 00:00:00 2001 From: huangdeliang Date: Thu, 4 Mar 2021 16:50:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=9B=BF=E6=8D=A2=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=EF=BC=8C=E5=BF=AB=E9=80=9F=E5=A2=9E=E5=8A=A0=E9=A4=90?= =?UTF-8?q?=E7=B1=BB=E8=8F=9C=E5=93=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/custom/SysRecipesMapper.xml | 3 + stdiet-ui/src/store/modules/recipes.js | 76 +++++++++++++-- stdiet-ui/src/utils/request.js | 2 +- stdiet-ui/src/views/custom/dishes/index.vue | 6 +- .../RecipesView/RecipesAspectCom/BarChart.vue | 6 +- .../RecipesView/RecipesAspectCom/PieChart.vue | 2 +- .../RecipesView/RecipesAspectCom/index.vue | 1 - .../AddDishesDrawer/SelectDishes.vue | 19 +++- .../RecipesCom/AddDishesDrawer/index.vue | 69 +++++++++----- .../RecipesView/RecipesCom/index.vue | 94 ++++++++++++++----- 10 files changed, 207 insertions(+), 71 deletions(-) diff --git a/stdiet-custom/src/main/resources/mapper/custom/SysRecipesMapper.xml b/stdiet-custom/src/main/resources/mapper/custom/SysRecipesMapper.xml index 3e15a55d7..82feea188 100644 --- a/stdiet-custom/src/main/resources/mapper/custom/SysRecipesMapper.xml +++ b/stdiet-custom/src/main/resources/mapper/custom/SysRecipesMapper.xml @@ -82,6 +82,9 @@ update sys_customer_menu_dishes + menu_id = #{menuId}, + dishes_id = #{dishesId}, + type = #{type}, detail = #{detail, jdbcType=OTHER, typeHandler=com.stdiet.custom.typehandler.ArrayJsonHandler}, where id = #{id} diff --git a/stdiet-ui/src/store/modules/recipes.js b/stdiet-ui/src/store/modules/recipes.js index 6043be6c4..ff9381d34 100644 --- a/stdiet-ui/src/store/modules/recipes.js +++ b/stdiet-ui/src/store/modules/recipes.js @@ -37,11 +37,21 @@ const mutations = { obj => obj.id === payload.id ); if (tarDishes) { - const tarIgd = tarDishes.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); + if (tarDishes.dishesId !== payload.dishesId) { + // 替换菜品 + Object.keys(payload).forEach(key => { + if (key === "num") { + return; + } + tarDishes[key] = payload[key]; + }); + } else { + const tarIgd = tarDishes.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); + } } } }, @@ -49,6 +59,12 @@ const mutations = { state.recipesData[payload.num].dishes.push(payload.data); }, setCurrentDay(state, payload) { + if (state.currentDay !== payload.currentDay) { + state.currentDay = payload.currentDay; + } + }, + resetCurrentDay(state, payload) { + // console.log(payload); state.currentDay = payload.currentDay === state.currentDay ? -1 : payload.currentDay; }, @@ -267,11 +283,12 @@ const actions = { }, async addDishes({ commit, state }, payload) { const tarDishesList = state.recipesData[payload.num].dishes.filter( - obj => obj.type === payload.type + obj => obj.type === payload.data.type ); - if (tarDishesList.some(obj => obj.dishesId === payload.dishesId)) { - console.log("目标餐类已有相同的菜品"); - throw new Error("目标餐类已有相同的菜品"); + if (tarDishesList.some(obj => obj.dishesId === payload.data.dishesId)) { + return new Promise((res, rej) => + rej(`目标餐类已有相同的菜品「${payload.data.name}」`) + ); } if (state.recipesId) { const tarRecipesObj = state.recipesData[payload.num]; @@ -301,6 +318,47 @@ const actions = { commit("addRecipesDishes", payload); } }, + async replaceDishes({ commit, state }, payload) { + // console.log(payload); + const tarDishesList = state.recipesData[payload.num].dishes.filter( + obj => obj.type === payload.data.type + ); + if (tarDishesList.some(obj => obj.dishesId === payload.data.dishesId)) { + return new Promise((res, rej) => + rej(`目标餐类已有相同的菜品「${payload.data.name}」`) + ); + } + if (state.recipesId) { + const tarDishes = state.recipesData[payload.num].dishes.find( + obj => obj.id === payload.data.id + ); + if (tarDishes) { + const params = { + id: tarDishes.id, + dishesId: payload.data.dishesId, + detail: payload.data.igdList.map(igd => ({ + id: igd.id, + weight: igd.weight, + cus_unit: igd.cusUnit, + cus_weight: igd.cusWeight + })) + }; + // console.log(params); + const result = await updateDishesDetailApi(params); + if (result.code === 200) { + commit("updateRecipesDishesDetail", { + num: payload.num, + ...payload.data + }); + } + } + } else { + commit("updateRecipesDishesDetail", { + num: payload.num, + ...payload.data + }); + } + }, async updateDishes({ commit, state }, payload) { // console.log(payload); if (state.recipesId) { diff --git a/stdiet-ui/src/utils/request.js b/stdiet-ui/src/utils/request.js index 90df1b246..c26c01fa8 100644 --- a/stdiet-ui/src/utils/request.js +++ b/stdiet-ui/src/utils/request.js @@ -32,7 +32,7 @@ service.interceptors.response.use(res => { // 获取错误信息 const msg = errorCode[code] || res.data.msg || errorCode['default'] if (code === 401) { - console.log(code) + // console.log(code) MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { confirmButtonText: '重新登录', cancelButtonText: '取消', diff --git a/stdiet-ui/src/views/custom/dishes/index.vue b/stdiet-ui/src/views/custom/dishes/index.vue index 8f0bb00d1..497b27e66 100644 --- a/stdiet-ui/src/views/custom/dishes/index.vue +++ b/stdiet-ui/src/views/custom/dishes/index.vue @@ -277,7 +277,6 @@ v-model="scope.row.weight" size="mini" controls-position="right" - @change="handleInputChange" :min="0" :step="5" /> @@ -749,12 +748,9 @@ export default { }, []); }); }, - handleInputChange(val) { - // console.log({ val, table: this.selTableData }); - }, getSummaries(param) { const { columns, data } = param; - console.log(data); + // console.log(data); return columns.reduce( (arr, cur, idx) => { if (idx > 1) { diff --git a/stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesAspectCom/BarChart.vue b/stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesAspectCom/BarChart.vue index 531961636..6a06111b8 100644 --- a/stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesAspectCom/BarChart.vue +++ b/stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesAspectCom/BarChart.vue @@ -68,7 +68,7 @@ export default { this.updateChart(this.data.length > 0 ? this.data : {}); }, updateChart(source) { - console.log(this.max); + // console.log(this.max); this.chart.clear(); this.chart.setOption({ title: { @@ -141,10 +141,10 @@ export default { x: 0, }, markLine: { - data: [{ name: "BMR", yAxis: this.max - 400 }], + data: [{ name: "BMR", yAxis: this.max ? this.max - 400 : 0 }], symbol: "none", lineStyle: { - color: "red", + color: "#d96969", }, }, itemStyle: { diff --git a/stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesAspectCom/PieChart.vue b/stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesAspectCom/PieChart.vue index b2dceb9ca..329b44f4d 100644 --- a/stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesAspectCom/PieChart.vue +++ b/stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesAspectCom/PieChart.vue @@ -87,7 +87,7 @@ export default { return obj; }, {}), })); - console.log(mData); + // console.log(mData); return mData; }, }, diff --git a/stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesAspectCom/index.vue b/stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesAspectCom/index.vue index 65b73303b..8d4d713dd 100644 --- a/stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesAspectCom/index.vue +++ b/stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesAspectCom/index.vue @@ -26,7 +26,6 @@ slot="reference" size="mini" v-if="reviewStatus" - @click="handleReview" :type="reviewStatus === 1 ? 'danger' : 'success'" > {{ reviewStatus === 1 ? "未审核" : "已审核" }} diff --git a/stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesCom/AddDishesDrawer/SelectDishes.vue b/stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesCom/AddDishesDrawer/SelectDishes.vue index 348ae2f45..3b74c2417 100644 --- a/stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesCom/AddDishesDrawer/SelectDishes.vue +++ b/stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesCom/AddDishesDrawer/SelectDishes.vue @@ -17,6 +17,7 @@ { this.dishesList = result.rows.map((d) => { @@ -149,12 +155,21 @@ export default { this.loading = false; }); }, + clean() { + this.queryParams = { + pageNum: 1, + pageSize: 10, + name: null, + type: null, + reviewStatus: "yes", + }; + }, handleCurrentChange(data) { this.$emit("onChange", data); }, handleQuery() { this.queryParams.pageNum = 1; - this.getList(); + this.getList({}); }, resetQuery() { this.resetForm("queryForm"); 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 1b57baf21..424927ea6 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 @@ -1,6 +1,6 @@