feat:增加美食表单功能

This commit is contained in:
2025-06-24 20:00:06 +08:00
parent 4956c1822e
commit 69c0bfa4c7
18 changed files with 836 additions and 92 deletions

View File

@@ -3,11 +3,11 @@ import type {
IFoodRecipe, IFoodMaterial, IFoodStep,
IFoodStats, IFoodRecord
} from '@/types/food'
// import {
// addFoodRecipeApi, addFoodRecordApi, deleteFoodRecipeApi, deleteFoodRecordApi,
// queryFoodNameListApi, queryFoodRecipeByIdApi, queryFoodRecipeApi, queryFoodRecordApi,
// queryFoodStatsApi, updateFoodRecipeApi, updateFoodRecordApi, queryFoodCategoryApi
// } from '@/apis/food.ts'
import {
addFoodRecipeApi, addFoodRecordApi, deleteFoodRecipeApi, deleteFoodRecordApi,
queryFoodNameListApi, queryFoodRecipeByIdApi, queryFoodRecipeApi, queryFoodRecordApi,
queryFoodStatsApi, updateFoodRecipeApi, updateFoodRecordApi, queryFoodCategoryApi
} from '@/apis/food.ts'
// import { IDateType, ImagePathEnum } from '@/types'
import type { IDialog, IHandleApi } from 'vue3-common/types'
import { ElMessage } from 'element-plus'
@@ -47,11 +47,6 @@ export const useFoodStore = defineStore('food', {
queryDateType: 'month',
queryDateList: [] as string[],
foodRecipeApiType: 'ADD' as IHandleApi,
foodRecipeDialog: {
visible: false,
title: '',
data: {}
} as IDialog<IFoodRecipe>,
foodMaterialApiType: 'ADD' as IHandleApi,
foodMaterialDialog: {
visible: false,
@@ -67,11 +62,6 @@ export const useFoodStore = defineStore('food', {
} as IDialog<IFoodStep>,
editFoodStepIndex: 0,
foodRecordApiType: 'ADD' as IHandleApi,
foodRecordDialog: {
visible: false,
title: '',
data: {}
} as IDialog<IFoodRecord>,
editFoodRecordIndex: 0,
foodImagePath: 'food',
rateColorList: ['#E2DEDC', '#F7BA2A', '#009FA8'],
@@ -92,21 +82,9 @@ export const useFoodStore = defineStore('food', {
actions: {
async queryFoodRecipeList() {
const { currentPage, pageSize } = this.pageInfo
// const result = await queryFoodRecipeApi(currentPage, pageSize, this.queryRecipe)
const foodRecord: IFoodRecipe = {
category: '家常菜',
materialList: [],
name: '红烧鱼',
recommendRate: 4,
recordList: [],
remark: '',
stepList: []
}
this.foodRecipeList = []
this.foodRecipeList.push(foodRecord)
this.foodRecipeList.push(foodRecord)
// this.foodRecipeList.push(...result.records)
// this.pageInfo.totalSize = result.total
const result = await queryFoodRecipeApi(currentPage, pageSize, this.queryRecipe)
this.foodRecipeList.push(...result.records)
this.pageInfo.totalSize = result.total
},
async queryFoodRecordList() {
const { year, month } = this.queryRecord
@@ -147,19 +125,18 @@ export const useFoodStore = defineStore('food', {
async queryFoodCategory() {
// this.foodCategoryList = await queryFoodCategoryApi()
},
async handleFoodRecipeApi(id?: number) {
const { data } = this.foodRecipeDialog
async handleFoodRecipeApi(foodRecipe: IFoodRecipe) {
switch (this.foodRecipeApiType) {
case 'ADD':
// await addFoodRecipeApi(data)
// await addFoodRecipeApi(foodRecipe)
ElMessage.success('新增菜谱成功')
break
case 'UPDATE':
// await updateFoodRecipeApi(data.id as number, data)
// await updateFoodRecipeApi(foodRecipe.id as number, foodRecipe)
ElMessage.success('更新菜谱成功')
break
case 'DELETE':
// await deleteFoodRecipeApi(id as number)
// await deleteFoodRecipeApi(foodRecipe.id as number)
ElMessage.success('删除菜谱成功')
break
default: