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 @@ + + + + +