From dcec89674bb865fe631041a4e8e19a5b57c83e04 Mon Sep 17 00:00:00 2001 From: lSun <15893999301@qq.com> Date: Wed, 5 Mar 2025 09:46:58 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8F=9C=E5=93=81=E8=8F=9C=E8=B0=B1-=E8=90=A5?= =?UTF-8?q?=E5=85=BB=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/dish/nutritionInfo.js | 56 ++ src/views/dish/nutritionInfo/cascaderMixin.js | 46 + src/views/dish/nutritionInfo/index.vue | 805 ++++++++++++++++++ 3 files changed, 907 insertions(+) create mode 100644 src/api/dish/nutritionInfo.js create mode 100644 src/views/dish/nutritionInfo/cascaderMixin.js create mode 100644 src/views/dish/nutritionInfo/index.vue diff --git a/src/api/dish/nutritionInfo.js b/src/api/dish/nutritionInfo.js new file mode 100644 index 00000000..3b018886 --- /dev/null +++ b/src/api/dish/nutritionInfo.js @@ -0,0 +1,56 @@ +import request from '@/utils/request' + +// 查询获取所有食材营养信息 +export function listNutrition(query) { + return request({ + url: '/smart-canteen/api/v1/menunutrition/getMenuNutritionPage', + method: 'post', + data: query + }) +} + +// 查询详细 +export function getNutrition(data) { + return request({ + url: '/smart-canteen/api/v1/menunutrition/oneMaterial', + method: 'post', + data: data + }) +} + +// 新增 +export function addMenuNutrition(data) { + return request({ + url: '/smart-canteen/api/v1/menunutrition/addMenuNutrition', + method: 'post', + data: data + }) +} + +// 修改 +export function updateNutrition(data) { + return request({ + url: '/smart-canteen/api/v1/menunutrition/updateMenuNutrition', + method: 'post', + data: data + }) +} + +// 删除 +export function delNutrition(data) { + return request({ + url: '/smart-canteen/api/v1/menunutrition/remove', + method: 'post', + data: data + }) +} + +// 获取所有食材类别 +export function typeList(data) { + return request({ + url: '/smart-canteen/api/v1/menunutrition/all/type/list', + method: 'post', + data: data + }) +} + diff --git a/src/views/dish/nutritionInfo/cascaderMixin.js b/src/views/dish/nutritionInfo/cascaderMixin.js new file mode 100644 index 00000000..740cee37 --- /dev/null +++ b/src/views/dish/nutritionInfo/cascaderMixin.js @@ -0,0 +1,46 @@ +/** + * 级联选择器相关方法 + */ +export const cascaderMixin = { + methods: { + /** + * 更新级联选择器选项 + * @returns {void} + */ + updateCascaderOptions() { + this.cascaderOptions = this.cascaderOptionsMethod(); + }, + + /** + * 生成级联选择器的选项数据 + * @returns {Array<{value: string, label: string, children: Array<{value: string, label: string}>}>} + */ + cascaderOptionsMethod() { + if (!this.queryParams.status) { + return []; + } + return this.queryParams.status.map(item => ({ + value: item.bigType, + label: item.bigType, + children: item.littleTypeList.map(subItem => ({ + value: subItem, + label: subItem + })) + })); + }, + + /** + * 处理级联选择器值变化 + * @param {Array} value - 选中的值数组 + */ + handleChange(value) { + if (value && value.length >= 2) { + this.queryParams.bigType = value[0]; + this.queryParams.littleType = value[1]; + } else { + this.queryParams.bigType = undefined; + this.queryParams.littleType = undefined; + } + } + } +}; diff --git a/src/views/dish/nutritionInfo/index.vue b/src/views/dish/nutritionInfo/index.vue new file mode 100644 index 00000000..10f9faf2 --- /dev/null +++ b/src/views/dish/nutritionInfo/index.vue @@ -0,0 +1,805 @@ + + + + +