|
|
@@ -1,6 +1,6 @@
|
|
|
import type { FeedingPlanProduct } from '@/model/feeding-plan'
|
|
|
import type { Product } from '@/model/product'
|
|
|
-import { createFeedingPlan } from '@/api/feeding-plan'
|
|
|
+import { createFeedingPlan, updateFeedingPlan } from '@/api/feeding-plan'
|
|
|
import { createPet } from '@/api/pet'
|
|
|
import {
|
|
|
type CreateFeedingPlanRequest,
|
|
|
@@ -221,6 +221,8 @@ export const useFeedingPlanStore = defineStore('feeding-plan', () => {
|
|
|
})
|
|
|
}
|
|
|
|
|
|
+ const isEdit = ref(false)
|
|
|
+
|
|
|
/**
|
|
|
* 修改指定 productId 的 percentage
|
|
|
* @param productId 产品的id
|
|
|
@@ -246,6 +248,7 @@ export const useFeedingPlanStore = defineStore('feeding-plan', () => {
|
|
|
arrangeDailyConsumeWeight()
|
|
|
}
|
|
|
}
|
|
|
+ const savedFeedingPlan = ref<FeedingPlan | null>(null)
|
|
|
|
|
|
const confirm = async () => {
|
|
|
if (savedPet.value === null) {
|
|
|
@@ -260,7 +263,13 @@ export const useFeedingPlanStore = defineStore('feeding-plan', () => {
|
|
|
percentage: item.percentage,
|
|
|
}
|
|
|
})
|
|
|
- await createFeedingPlan(feedingPlan.value)
|
|
|
+
|
|
|
+ if ((isEdit.value && savedFeedingPlan.value)) {
|
|
|
+ await updateFeedingPlan(savedFeedingPlan.value.id, feedingPlan.value)
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ await createFeedingPlan(feedingPlan.value)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
const initPet = (payload: Pet) => {
|
|
|
@@ -282,7 +291,6 @@ export const useFeedingPlanStore = defineStore('feeding-plan', () => {
|
|
|
feedingPlan.value.targetWeight = calculateIdealWeight()
|
|
|
rer.value = calculateRER(pet.value.weight)
|
|
|
}
|
|
|
- const savedFeedingPlan = ref<FeedingPlan | null>(null)
|
|
|
|
|
|
const initFeedingPlan = (payload: FeedingPlan) => {
|
|
|
// @ts-expect-error @ts-ignore
|