From 1d7b7cd2598be64daaa123e4fb615c9786a19365 Mon Sep 17 00:00:00 2001 From: huangdeliang Date: Sat, 27 Feb 2021 16:57:45 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=B2=E8=81=94=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../custom/SysRecipesPlanController.java | 6 + .../controller/custom/SysWapController.java | 15 + .../stdiet/custom/domain/SysRecipesPlan.java | 5 + .../custom/mapper/SysRecipesPlanMapper.java | 4 +- .../service/ISysRecipesPlanService.java | 18 +- .../impl/SysRecipesPlanServiceImpl.java | 10 +- .../service/impl/SysRecipesServiceImpl.java | 1 + .../mapper/custom/SysRecipesPlanMapper.xml | 152 ++++---- stdiet-ui/src/api/custom/recipesPlan.js | 33 +- .../components/RecipesPlanDrawer/index.vue | 89 ++++- stdiet-ui/src/router/index.js | 3 +- stdiet-ui/src/store/modules/recipes.js | 75 ++-- stdiet-ui/src/utils/request.js | 1 - .../RecipesView/RecipesAspectCom/index.vue | 49 ++- .../src/views/custom/recipesBuild/index.vue | 12 +- .../src/views/custom/recipesPlan/index.vue | 366 +++--------------- 16 files changed, 388 insertions(+), 451 deletions(-) diff --git a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysRecipesPlanController.java b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysRecipesPlanController.java index b7de225f6..88f35a1f4 100644 --- a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysRecipesPlanController.java +++ b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysRecipesPlanController.java @@ -57,6 +57,12 @@ public class SysRecipesPlanController extends BaseController return getDataTable(list); } + @PreAuthorize("@ss.hasPermi('recipes:recipesPlan:list')") + @GetMapping(value = "/list/{cusId}") + public AjaxResult getAllPlanByCusId(@PathVariable Long cusId) { + return AjaxResult.success(sysRecipesPlanService.selectPlanListByCusId(cusId)); + } + /** * 获取食谱计划详细信息 */ diff --git a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysWapController.java b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysWapController.java index 45cb7f108..bb4236852 100644 --- a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysWapController.java +++ b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysWapController.java @@ -34,16 +34,31 @@ public class SysWapController extends BaseController { return AjaxResult.success(iSysWapServices.getRecipesPlanListInfo(outId)); } + /** + * 获取用户信息 + * @param outId + * @return + */ @GetMapping(value = "/healthyInfo/{outId}") public AjaxResult healthy(@PathVariable String outId) { return AjaxResult.success(iSysWapServices.getHealthyDataByOutId(outId)); } + /** + * 获取某天食谱菜品 + * @param id + * @return + */ @GetMapping(value = "/recipes/menu/{id}") public AjaxResult dayilyMenu(@PathVariable Long id) { return AjaxResult.success(iSysRecipesService.selectDishesByMenuId(id)); } + /** + * 系统字典 + * @param dictType + * @return + */ @GetMapping(value = "/dict/{dictType}") public AjaxResult sysDict(@PathVariable String dictType) { return AjaxResult.success(iSysDictTypeService.selectDictDataByType(dictType)); diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysRecipesPlan.java b/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysRecipesPlan.java index 3251d3bc7..babdade09 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysRecipesPlan.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysRecipesPlan.java @@ -28,6 +28,11 @@ public class SysRecipesPlan { private Long cusId; + /** + * 对外的用户id + */ + private String outId; + //客户ID // private Long customerId; diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysRecipesPlanMapper.java b/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysRecipesPlanMapper.java index 9cdcd751f..a4fb2093f 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysRecipesPlanMapper.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysRecipesPlanMapper.java @@ -88,9 +88,9 @@ public interface SysRecipesPlanMapper */ List selectPlanListByOrderId(SysRecipesPlan sysRecipesPlan); - List selectPlanListByOutId(String outId); - Long getCusIdByOutId(String outId); List selectRecipesPlanListInfo(String outId); + + List selectPlanListByCusId(Long cusId); } \ No newline at end of file diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysRecipesPlanService.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysRecipesPlanService.java index 0f333c918..146b1f68b 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysRecipesPlanService.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysRecipesPlanService.java @@ -91,10 +91,26 @@ public interface ISysRecipesPlanService */ List selectPlanListByOrderId(SysRecipesPlan sysRecipesPlan); - List selectPlanListByOutId(String outId); + /** + * 通过outId查询cusId + * @param outId + * @return + */ Long getCusIdByOutId(String outId); + /** + * 通过outId查询食谱计划简要 + * @param outId + * @return + */ List selectRecipesPlanListInfo(String outId); + /** + * 通过客户id查询食谱计划 + * @param cusId + * @return + */ + List selectPlanListByCusId(Long cusId); + } \ No newline at end of file diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysRecipesPlanServiceImpl.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysRecipesPlanServiceImpl.java index 49df25d1c..db6fb1ec8 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysRecipesPlanServiceImpl.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysRecipesPlanServiceImpl.java @@ -293,11 +293,6 @@ public class SysRecipesPlanServiceImpl implements ISysRecipesPlanService { return sysRecipesPlanMapper.selectPlanListByOrderId(sysRecipesPlan); } - @Override - public List selectPlanListByOutId(String outId) { - return sysRecipesPlanMapper.selectPlanListByOutId(outId); - } - @Override public Long getCusIdByOutId(String outId) { return sysRecipesPlanMapper.getCusIdByOutId(outId); @@ -308,4 +303,9 @@ public class SysRecipesPlanServiceImpl implements ISysRecipesPlanService { return sysRecipesPlanMapper.selectRecipesPlanListInfo(outId); } + @Override + public List selectPlanListByCusId(Long cusId) { + return sysRecipesPlanMapper.selectPlanListByCusId(cusId); + } + } \ No newline at end of file diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysRecipesServiceImpl.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysRecipesServiceImpl.java index 34e0ddb24..9c38d2f2a 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysRecipesServiceImpl.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysRecipesServiceImpl.java @@ -54,6 +54,7 @@ public class SysRecipesServiceImpl implements ISysRecipesService { SysRecipesPlan sysRecipesPlan = new SysRecipesPlan(); sysRecipesPlan.setId(sysRecipes.getPlanId()); sysRecipesPlan.setRecipesId(sysRecipes.getId()); + sysRecipesPlan.setReviewStatus(1); sysRecipesPlanMapper.updateSysRecipesPlan(sysRecipesPlan); } diff --git a/stdiet-custom/src/main/resources/mapper/custom/SysRecipesPlanMapper.xml b/stdiet-custom/src/main/resources/mapper/custom/SysRecipesPlanMapper.xml index ce4ece5b7..3a114d26f 100644 --- a/stdiet-custom/src/main/resources/mapper/custom/SysRecipesPlanMapper.xml +++ b/stdiet-custom/src/main/resources/mapper/custom/SysRecipesPlanMapper.xml @@ -5,52 +5,53 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - select id, order_id, cus_id, start_date, end_date, start_num_day, end_num_day, recipes_id, send_flag, send_time, create_time, create_by, update_time, update_by, del_flag, review_status from sys_recipes_plan - SELECT srp.id,srp.order_id,srp.recipes_id,srp.start_num_day,srp.end_num_day,srp.cus_id,sc.phone, + SELECT srp.id,srp.order_id,srp.recipes_id,srp.start_num_day,srp.end_num_day,srp.cus_id,sc.phone, su_nutritionist.nick_name nutritionist,su_nutritionist_assis.nick_name AS nutritionist_assis, - srp.start_date,srp.end_date,srp.send_flag,srp.send_time, sc.name as customer - FROM sys_recipes_plan srp - LEFT JOIN sys_order sr ON sr.order_id = srp.order_id - LEFT JOIN sys_customer sc ON sc.id = srp.cus_id - LEFT JOIN sys_user su_nutritionist ON su_nutritionist.user_id = sr.nutritionist_id AND su_nutritionist.del_flag = 0 - LEFT JOIN sys_user su_nutritionist_assis ON su_nutritionist_assis.user_id = sr.nutri_assis_id AND su_nutritionist_assis.del_flag = 0 - WHERE srp.del_flag = 0 and sr.del_flag = 0 - AND srp.order_id = #{orderId} + srp.start_date,srp.end_date,srp.send_flag,srp.send_time, sc.name as customer, srp.review_status + FROM sys_recipes_plan srp + LEFT JOIN sys_order sr ON sr.order_id = srp.order_id + LEFT JOIN sys_customer sc ON sc.id = srp.cus_id + LEFT JOIN sys_user su_nutritionist ON su_nutritionist.user_id = sr.nutritionist_id AND su_nutritionist.del_flag + = 0 + LEFT JOIN sys_user su_nutritionist_assis ON su_nutritionist_assis.user_id = sr.nutri_assis_id AND + su_nutritionist_assis.del_flag = 0 + WHERE srp.del_flag = 0 and sr.del_flag = 0 + AND srp.order_id = #{orderId} AND srp.send_flag = #{sendFlag} - AND (sc.name like concat('%',#{customer},'%') OR sc.phone like concat('%',#{customer},'%')) - AND su_nutritionist.user_id = #{nutritionistId} - AND su_nutritionist_assis.user_id = #{nutritionistAssisId} - AND srp.start_date BETWEEN date_format(#{startDate},'%y%m%d') AND date_format(#{endDate},'%y%m%d') - ORDER BY srp.order_id DESC,srp.id ASC + AND (sc.name like concat('%',#{customer},'%') OR sc.phone like + concat('%',#{customer},'%')) + + AND su_nutritionist.user_id = #{nutritionistId} + AND su_nutritionist_assis.user_id = #{nutritionistAssisId} + AND srp.review_status = #{reviewStatus} + AND srp.start_date BETWEEN date_format(#{startDate},'%y%m%d') + AND date_format(#{endDate},'%y%m%d') + + ORDER BY srp.order_id DESC,srp.id ASC - - + select id, out_id, start_date, end_date, start_num_day, end_num_day, recipes_id, review_status from sys_recipes_plan where cus_id=#{cusId} order by create_time desc - - - - - + + + + + + diff --git a/stdiet-ui/src/api/custom/recipesPlan.js b/stdiet-ui/src/api/custom/recipesPlan.js index 5fe40ae7c..b58401ef8 100644 --- a/stdiet-ui/src/api/custom/recipesPlan.js +++ b/stdiet-ui/src/api/custom/recipesPlan.js @@ -1,36 +1,43 @@ -import request from '@/utils/request' +import request from "@/utils/request"; // 查询食谱计划列表 export function listRecipesPlan(query) { return request({ - url: '/recipes/recipesPlan/list', - method: 'get', + url: "/recipes/recipesPlan/list", + method: "get", params: query - }) + }); } // 查询食谱计划详细 export function getRecipesPlan(id) { return request({ - url: '/recipes/recipesPlan/' + id, - method: 'get' - }) + url: "/recipes/recipesPlan/" + id, + method: "get" + }); } // 修改食谱计划 export function updateRecipesPlan(data) { return request({ - url: '/recipes/recipesPlan', - method: 'put', + url: "/recipes/recipesPlan", + method: "put", data: data - }) + }); } // 导出食谱计划 export function exportRecipesPlan(query) { return request({ - url: '/recipes/recipesPlan/export', - method: 'get', + url: "/recipes/recipesPlan/export", + method: "get", params: query - }) + }); +} + +export function listRecipesPlanByCusId(id) { + return request({ + url: "/recipes/recipesPlan/list/" + id, + method: "get" + }); } diff --git a/stdiet-ui/src/components/RecipesPlanDrawer/index.vue b/stdiet-ui/src/components/RecipesPlanDrawer/index.vue index dbecf5cbb..5ef6b8b44 100644 --- a/stdiet-ui/src/components/RecipesPlanDrawer/index.vue +++ b/stdiet-ui/src/components/RecipesPlanDrawer/index.vue @@ -6,19 +6,60 @@ @closed="handleOnClosed" size="40%" > -
+
客户食谱链接 + + + 查看暂停记录 + + + + + + + + + + + + + + + + 查看暂停记录 + >增加暂停记录 @@ -44,6 +85,8 @@ @@ -78,4 +155,8 @@ export default { /deep/ :focus { outline: 0; } + +.recipes_plan_drawer_wrapper { + height: calc(100vh - 77px); +} diff --git a/stdiet-ui/src/router/index.js b/stdiet-ui/src/router/index.js index 3437271be..04ff11715 100644 --- a/stdiet-ui/src/router/index.js +++ b/stdiet-ui/src/router/index.js @@ -140,9 +140,10 @@ export const constantRoutes = [ ] }, { - path: "/recipes/build", + path: "/recipes/build/:name/:planId", component: resolve => require(["@/views/custom/recipesBuild"], resolve), name: "RecipiesBuild", + props: true, meta: { title: "食谱制作" }, hidden: true }, diff --git a/stdiet-ui/src/store/modules/recipes.js b/stdiet-ui/src/store/modules/recipes.js index f8804023e..84ff42331 100644 --- a/stdiet-ui/src/store/modules/recipes.js +++ b/stdiet-ui/src/store/modules/recipes.js @@ -7,6 +7,7 @@ import { deleteDishesApi, addRecipesApi } from "@/api/custom/recipes"; +import { getRecipesPlan, updateRecipesPlan } from "@/api/custom/recipesPlan"; import { getDicts } from "@/api/system/dict/data"; const oriState = { @@ -23,7 +24,8 @@ const oriState = { typeOptions: [], currentDay: -1, startNum: 0, - endNum: 0 + endNum: 0, + reviewStatus: 0 }; const mutations = { @@ -72,32 +74,55 @@ const mutations = { const actions = { async init({ commit, dispatch }, payload) { - return new Promise((res, rej) => { - // console.log(payload); - // - commit("updateStateData", payload); - // - getDicts("cus_cus_unit").then(response => { - commit("updateStateData", { cusUnitOptions: response.data }); - }); - getDicts("cus_cus_weight").then(response => { - commit("updateStateData", { cusWeightOptions: response.data }); - }); - getDicts("cus_dishes_type").then(response => { - commit("updateStateData", { typeOptions: response.data }); - }); + // console.log(payload); + const planResponse = await getRecipesPlan(payload.planId); + const { + startNumDay, + endNumDay, + recipesId, + cusId, + reviewStatus + } = planResponse.data; + commit("updateStateData", { + cusId, + recipesId, + reviewStatus, + planId: payload.planId, + startNum: startNumDay, + endNum: endNumDay + }); + getDicts("cus_cus_unit").then(response => { + commit("updateStateData", { cusUnitOptions: response.data }); + }); + getDicts("cus_cus_weight").then(response => { + commit("updateStateData", { cusWeightOptions: response.data }); + }); + getDicts("cus_dishes_type").then(response => { + commit("updateStateData", { typeOptions: response.data }); + }); + + return new Promise((res, rej) => { // 健康数据 - if (payload.cusId) { - dispatch("getHealthyData", payload).catch(err => rej(err)); + if (cusId) { + dispatch("getHealthyData", { cusId }).catch(err => rej(err)); } // 食谱数据 - if (payload.recipesId) { - dispatch("getRecipesInfo", payload).catch(err => rej(err)); + if (recipesId) { + dispatch("getRecipesInfo", { recipesId }).catch(err => rej(err)); } }); }, + async updateReviewStatus({ commit, state }, payload) { + const response = await updateRecipesPlan({ + id: state.planId, + reviewStatus: payload.reviewStatus + }); + if (response.code === 200) { + commit("updateStateData", payload); + } + }, async getHealthyData({ commit }, payload) { commit("updateStateData", { healthDataLoading: true }); const healthyDataResult = await getCustomerPhysicalSignsByCusId( @@ -127,16 +152,14 @@ const actions = { const recipesDataResult = await getRecipesApi(payload.recipesId); let recipesData = []; if (recipesDataResult.code === 200) { - const { endNum, startNum } = state; - let length = null; - if (endNum && startNum) { - length = endNum - startNum; - } + const { endNum, startNum, recipesId } = state; + // 计算 + let length = endNum - startNum; recipesData = recipesDataResult.data.reduce((outArr, dayData, idx) => { - if (!length || (length && length >= idx)) { + if (!recipesId || length >= idx) { outArr.push({ id: dayData.id, - numDay: startNum ? startNum + idx : dayData.numDay, + numDay: !recipesId ? startNum + idx : dayData.numDay, dishes: dayData.dishes.reduce((arr, cur) => { if ( cur.dishesId > -1 && diff --git a/stdiet-ui/src/utils/request.js b/stdiet-ui/src/utils/request.js index f6261ff03..90df1b246 100644 --- a/stdiet-ui/src/utils/request.js +++ b/stdiet-ui/src/utils/request.js @@ -29,7 +29,6 @@ service.interceptors.request.use(config => { service.interceptors.response.use(res => { // 未设置状态码则默认成功状态 const code = res.data.code || 200; - console.log(res) // 获取错误信息 const msg = errorCode[code] || res.data.msg || errorCode['default'] if (code === 401) { 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 a74c628b6..26f66188a 100644 --- a/stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesAspectCom/index.vue +++ b/stdiet-ui/src/views/custom/recipesBuild/RecipesView/RecipesAspectCom/index.vue @@ -4,6 +4,31 @@ :style="`height: ${collapse ? 30 : 200}px`" >
+ +
+ 审核通过 + 未审核通过 +
+ + {{ reviewStatus === 1 ? "未审核" : "已审核" }} + +
生成食谱 - {{ - `${collapse ? "展开分析" : "收起分析"}` - }} + + {{ `${collapse ? "展开" : "收起"}` }} + +
@@ -79,6 +113,11 @@ export default { .header { text-align: right; height: 30px; + + .arrow_icon { + transition: all 0.3s; + transform-origin: center center; + } } .content { diff --git a/stdiet-ui/src/views/custom/recipesBuild/index.vue b/stdiet-ui/src/views/custom/recipesBuild/index.vue index 9a557b1e3..c8bdba22b 100644 --- a/stdiet-ui/src/views/custom/recipesBuild/index.vue +++ b/stdiet-ui/src/views/custom/recipesBuild/index.vue @@ -1,5 +1,5 @@ @@ -219,121 +182,11 @@ :limit.sync="queryParams.pageSize" @pagination="getList" /> - - - - - - - - - - - - - - - - - - - - - - - - - - 搜索 - - - - - - - - - - - - - - - - - - - - - - - -