饮水记录长按删除功能,修复食谱详情中搭配推荐t食品跳转问题

This commit is contained in:
2022-01-20 16:06:30 +08:00
parent edcf04b7e2
commit e7807e9709
7 changed files with 993 additions and 1118 deletions

View File

@@ -35,8 +35,21 @@ const drinkWater = () => {
method: 'POST', method: 'POST',
}) })
} }
/**
* @description:删除喝水记录
* @Date: 2022-01-20 15点08分
*/
const delDrinkWater = (id) => {
return request({
url: `health/waters/${id}`,
method: 'DELETE',
})
}
export { export {
waters, waters,
setWaters, setWaters,
drinkWater drinkWater,
delDrinkWater
} }

View File

@@ -37,7 +37,7 @@
v-if="selectSports.title === '编辑运动'" v-if="selectSports.title === '编辑运动'"
name="trash" name="trash"
color="#ddd" color="#ddd"
size="20" size="16"
label="删除这条数据" label="删除这条数据"
labelColor="#ddd" labelColor="#ddd"
:bold="true" :bold="true"
@@ -49,6 +49,7 @@
placeholder="60" placeholder="60"
class="select-time" class="select-time"
v-model="duration" v-model="duration"
type="number"
> >
<u--text <u--text
text="运动时间:" text="运动时间:"
@@ -132,7 +133,7 @@ export default {
position: relative; position: relative;
.popup-title { .popup-title {
color: $main-color; color: $main-color;
font-size: $title-size + 4; font-size: $title-size-m;
border-bottom: solid 1rpx #f9f9f9; border-bottom: solid 1rpx #f9f9f9;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
@@ -144,6 +145,8 @@ export default {
} }
.title { .title {
color: $text-color; color: $text-color;
font-size: $title-size;
font-weight: bold;
} }
} }
@@ -154,7 +157,7 @@ export default {
justify-content: center; justify-content: center;
box-sizing: border-box; box-sizing: border-box;
padding: $padding * 2 $padding $padding $padding; padding: $padding * 2 $padding $padding $padding;
font-size: $title-size + 4; font-size: $title-size-m;
color: $text-color; color: $text-color;
border-bottom: solid 1rpx #f9f9f9; border-bottom: solid 1rpx #f9f9f9;
.popup-item-title { .popup-item-title {

View File

@@ -13,7 +13,7 @@
:lists="menuData.foods" :lists="menuData.foods"
isType="det" isType="det"
:btnStyle="{'margin-top': '30rpx'}" :btnStyle="{'margin-top': '30rpx'}"
@onMenu="$Router.push({ name: 'menuDetails', params: {id: $event.food_id, title: $event.name }})" @onMenu="$Router.push({ name: 'rankingDetails', params: {id: $event.food_id, title: $event.name }})"
/> />
</view> </view>
<view class="foods"> <view class="foods">

View File

@@ -9,36 +9,18 @@
<template> <template>
<view class="add-foods"> <view class="add-foods">
<!-- 搜索页面 --> <!-- 搜索页面 -->
<u-search <u-search :show-action="true" actionText="搜索" :animation="true" :clearabled="true" placeholder="请输入运动名称" @custom="searchCustom" @clear="clearSearch" v-model="name" />
:show-action="true"
actionText="搜索"
:animation="true"
:clearabled="true"
placeholder="请输入运动名称"
@custom="searchCustom"
@clear="clearSearch"
v-model="name"
/>
<!-- 运动列表 --> <!-- 运动列表 -->
<sports <sports type="add" :lists="lists" @addSport="addSport" />
type="add"
:lists="lists"
@addSport="addSport"
/>
<!-- 添加弹窗 --> <!-- 添加弹窗 -->
<addPopup <addPopup :selectSports="selectSports" :addSportsShow="addSportsShow" @comfirmSport="comfirmSport" @cancleSport="cancleSport" />
:selectSports="selectSports"
:addSportsShow="addSportsShow"
@comfirmSport="comfirmSport"
@cancleSport="cancleSport"
/>
</view> </view>
</template> </template>
<script> <script>
import sports from "@/components/sports"; import sports from '@/components/sports';
import addPopup from "@/components/sports/addPopup"; import addPopup from '@/components/sports/addPopup';
import { healthSports, addHealthSports } from "@/apis/interfaces/sport.js"; import { healthSports, addHealthSports } from '@/apis/interfaces/sport.js';
import moment, { duration } from "moment"; import moment, { duration } from 'moment';
export default { export default {
components: { sports, addPopup }, components: { sports, addPopup },
@@ -49,8 +31,8 @@ export default {
lists: [], // 运动列表 lists: [], // 运动列表
page: 1, page: 1,
has_more: true, has_more: true,
name: "", // 搜索运动名称 name: '', // 搜索运动名称
today: moment(new Date()).format("YYYY-MM-DD"), today: moment(new Date()).format('YYYY-MM-DD')
}; };
}, },
onLoad() { onLoad() {
@@ -60,8 +42,8 @@ export default {
onReachBottom() { onReachBottom() {
if (!this.has_more) { if (!this.has_more) {
uni.showToast({ uni.showToast({
title: "没有更多啦~", title: '没有更多啦~',
icon: "none", icon: 'none'
}); });
} else { } else {
this.page = this.page + 1; this.page = this.page + 1;
@@ -73,9 +55,9 @@ export default {
getExercises() { getExercises() {
let data = { let data = {
page: this.page, page: this.page,
name: this.name, name: this.name
}; };
healthSports(data).then((res) => { healthSports(data).then(res => {
this.lists = this.lists.concat(res.data); this.lists = this.lists.concat(res.data);
this.has_more = res.page.has_more; this.has_more = res.page.has_more;
}); });
@@ -90,23 +72,28 @@ export default {
// 弹窗确认按钮新增 // 弹窗确认按钮新增
comfirmSport(show, duration) { comfirmSport(show, duration) {
let params = { let params = {
unit: "1", // 时间单位:分钟 1 小时 2 unit: '1', // 时间单位:分钟 1 小时 2
duration: duration, // 时常 duration: duration, // 时常
sport_id: this.selectSports.sport_id, // 运动id sport_id: this.selectSports.sport_id, // 运动id
date: this.today, // 日期 date: this.today // 日期
}; };
addHealthSports(params).then((res) => { addHealthSports(params)
.then(res => {
this.addSportsShow = false; this.addSportsShow = false;
this.selectSports = {}; this.selectSports = {};
this.$Router.back(); this.$Router.back();
})
.catch(err => {
uni.showToast({
title: err.message,
icon: 'none'
});
}); });
console.log("弹窗确认按钮新增");
}, },
// 弹窗取消按钮 // 弹窗取消按钮
cancleSport(show) { cancleSport(show) {
this.addSportsShow = show; this.addSportsShow = show;
this.duration = 60; this.duration = 60;
console.log("弹窗取消按钮");
}, },
// 添加运动弹窗显示 // 添加运动弹窗显示
//#region 搜索相关方法 start //#region 搜索相关方法 start
@@ -125,11 +112,11 @@ export default {
}, },
// 点击搜索后面按钮触发事件事件 // 点击搜索后面按钮触发事件事件
clearSearch() { clearSearch() {
this.name = ""; this.name = '';
this.reset(); this.reset();
}, }
//#endregion 搜索相关方法 end //#endregion 搜索相关方法 end
}, }
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>

View File

@@ -7,50 +7,29 @@
--> -->
<template> <template>
<view <view class="drink" v-if="loaded">
class="drink"
v-if="loaded"
>
<!-- 喝水及水杯文字 --> <!-- 喝水及水杯文字 -->
<view class="drink-content"> <view class="drink-content">
<view <view class="title" v-if="!water.is_complete">
class="title" 再喝
v-if="!water.is_complete" <span class="num">{{ water.lack.cup }}</span>
>再喝<span class="num">{{water.lack.cup}}</span><span class="total">{{water.lack.value}}ml</span></view>
<view <span class="total">{{ water.lack.value }}ml</span>
class="title" </view>
v-if="water.is_complete" <view class="title" v-if="water.is_complete">
>已喝<span class="num">{{water.total}}ml</span> 已喝
<u-image <span class="num">{{ water.total }}ml</span>
class="is_complete" <u-image class="is_complete" :src="require('../../static/imgs/target.png')" :lazy-load="true" mode="widthFix" width="140rpx" />
:src="require('../../static/imgs/target.png')"
:lazy-load="true"
mode="widthFix"
width="140rpx"
/>
</view> </view>
<!-- 水杯动态图片 --> <!-- 水杯动态图片 -->
<view class="wave-content"> <view class="wave-content">
<u-image <u-image class="grass" :src="require('../../static/imgs/gress.png')" :lazy-load="true" mode="scaleToFill" width="320rpx" height="520rpx" />
class="grass" <view class="wave" :style="{ '--ballPercent': -ballPercent + 40 + '%' }"></view>
:src="require('../../static/imgs/gress.png')"
:lazy-load="true"
mode="scaleToFill"
width="320rpx"
height="520rpx"
/>
<view
class="wave"
:style="{'--ballPercent': -ballPercent+40+'%'}"
>
</view>
</view> </view>
<!-- 目标 --> <!-- 目标 -->
<view class="water-target"> <view class="water-target">
<view <view class="target-item" @click="targetShow = true">
class="target-item" 今日目标
@click="targetShow = true"
>今日目标
<u-icon <u-icon
class="target-icon" class="target-icon"
name="arrow-right" name="arrow-right"
@@ -64,22 +43,9 @@
space="6" space="6"
/> />
</view> </view>
<view <view class="target-item" @click="waterCShow = true">
class="target-item" 水杯容量
@click="waterCShow = true" <u-icon class="target-icon" name="arrow-right" color="#666" size="14" :bold="true" :label="water.ml + 'ml'" labelPos="left" labelSize="16" labelColor="#666" space="6" />
>水杯容量
<u-icon
class="target-icon"
name="arrow-right"
color="#666"
size="14"
:bold="true"
:label="water.ml+'ml'"
labelPos="left"
labelSize="16"
labelColor="#666"
space="6"
/>
</view> </view>
</view> </view>
<!-- 目标弹出层 --> <!-- 目标弹出层 -->
@@ -108,71 +74,47 @@
/> />
</view> </view>
<!-- 加水 --> <!-- 加水 -->
<view <view class="add-water" @click="drinkWater">
class="add-water" <u-image class="grass" :src="require('../../static/imgs/gress2.png')" :lazy-load="true" mode="scaleToFill" width="60rpx" height="80rpx" />
@click="drinkWater"
>
<u-image
class="grass"
:src="require('../../static/imgs/gress2.png')"
:lazy-load="true"
mode="scaleToFill"
width="60rpx"
height="80rpx"
/>
<span>一杯水</span> <span>一杯水</span>
<u-icon <u-icon class="add-icon" name="plus-circle-fill" color="#34ce98" size="24" />
class="add-icon"
name="plus-circle-fill"
color="#34ce98"
size="24"
/>
</view> </view>
</view> </view>
<!-- 喝水记录 --> <!-- 喝水记录 -->
<view class="--history"> <view class="--history">
<view class="title">喝水记录</view> <view class="title">喝水记录</view>
<template v-if="logs.length > 0"> <template v-if="logs.length > 0">
<view <view class="lists" v-for="item in logs" :key="item.water_log_id" @longpress="delWater(item.water_log_id)">
class="lists" <view class="lists-water"><u-icon size="30" :name="require('../../static/icon/water-icon.png')" /></view>
v-for="item in logs"
:key="item.water_log_id"
>
<view class="lists-water">
<u-icon
size="30"
:name="require('../../static/icon/water-icon.png')"
/>
</view>
<view class="list-item"> <view class="list-item">
<view class="list-item-title"><span>{{item.time}}</span></view> <view class="list-item-title">
<span>{{ item.time }}</span>
</view>
{{ item.ml }}ml {{ item.ml }}ml
</view> </view>
</view> </view>
</template> </template>
<view <view v-else class="no-drink">今天一杯水还没有喝呢来一杯吧~</view>
v-else
class="no-drink"
> 今天一杯水还没有喝呢来一杯吧~</view>
</view> </view>
</view> </view>
</template> </template>
<script> <script>
import { waters, setWaters, drinkWater } from "@/apis/interfaces/drink"; import { waters, setWaters, drinkWater, delDrinkWater } from '@/apis/interfaces/drink';
import moment from "moment"; import moment from 'moment';
export default { export default {
data() { data() {
return { return {
ballPercent: 70, // 喝水比例 ballPercent: 0, // 喝水比例
logs: [], // 水记录 logs: [], // 水记录
water: {}, // 水基本信息 water: {}, // 水基本信息
targetShow: false, targetShow: false,
tagerts: [], // 目标列表 tagerts: [], // 目标列表
tagertsDefaultIndex: ["1"], // 目标默认index tagertsDefaultIndex: ['1'], // 目标默认index
waterCShow: false, waterCShow: false,
cup_mls: [], // 水杯列表 cup_mls: [], // 水杯列表
cupDefaultIndex: ["2"], // 目标默认index cupDefaultIndex: ['2'], // 目标默认index
loaded: false, loaded: false
}; };
}, },
onShow() { onShow() {
@@ -181,22 +123,14 @@ export default {
methods: { methods: {
// 获取喝水页面信息 // 获取喝水页面信息
getWaters() { getWaters() {
waters().then((res) => { waters().then(res => {
this.cup_mls = [res.cup_mls]; this.cup_mls = [res.cup_mls];
this.tagerts = [res.tagerts]; this.tagerts = [res.tagerts];
this.water = res.water; this.water = res.water;
this.logs = res.logs; this.logs = res.logs;
this.ballPercent = res.water.lack.ratio; this.ballPercent = res.water.lack.ratio;
this.cupDefaultIndex = [ this.cupDefaultIndex = [res.cup_mls.findIndex(item => item.number === res.water.ml)];
res.cup_mls.findIndex( this.tagertsDefaultIndex = [res.tagerts.findIndex(item => item.number === res.water.target)];
(item) => item.number === res.water.ml
),
];
this.tagertsDefaultIndex = [
res.tagerts.findIndex(
(item) => item.number === res.water.target
),
];
this.loaded = true; this.loaded = true;
}); });
}, },
@@ -205,20 +139,20 @@ export default {
// console.log("触发了targetSure", index, e.value[0]); // console.log("触发了targetSure", index, e.value[0]);
// let date = moment(new Date()).format("YYYY--MM--DD"); // let date = moment(new Date()).format("YYYY--MM--DD");
let params = {}; let params = {};
if (index === "1") { if (index === '1') {
params = { params = {
type: "target", type: 'target',
ml: e.value[0].number, ml: e.value[0].number,
date: moment(new Date()).format("YYYY-MM-DD"), date: moment(new Date()).format('YYYY-MM-DD')
}; };
} else { } else {
params = { params = {
type: "ml", type: 'ml',
ml: e.value[0].number, ml: e.value[0].number,
date: moment(new Date()).format("YYYY-MM-DD"), date: moment(new Date()).format('YYYY-MM-DD')
}; };
} }
setWaters(params).then((res) => { setWaters(params).then(res => {
this.getWaters(); this.getWaters();
this.waterCShow = false; this.waterCShow = false;
this.targetShow = false; this.targetShow = false;
@@ -226,11 +160,35 @@ export default {
}, },
// 喝水 // 喝水
drinkWater() { drinkWater() {
drinkWater().then((res) => { drinkWater().then(res => {
this.getWaters(); this.getWaters();
}); });
}, },
}, // 删除和喝水记录
delWater(id) {
uni.showModal({
content: '确认删除么?',
confirmText: '确认删除',
confirmColor: '#34ce98',
cancelText: '再想想',
cancelColor: '#ddd',
success: res => {
if (res.confirm) {
delDrinkWater(id)
.then(res => {
this.getWaters();
})
.catch(err => {
uni.showToast({
title: err.message,
icon: 'none'
});
});
}
}
});
}
}
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@@ -243,7 +201,7 @@ export default {
align-items: center; align-items: center;
justify-content: center; justify-content: center;
box-sizing: border-box; box-sizing: border-box;
padding: $padding * 2 0; // padding: $padding 0;
position: relative; position: relative;
// 标题 再喝水 // 标题 再喝水
.title { .title {
@@ -281,6 +239,8 @@ export default {
position: relative; position: relative;
span { span {
padding-top: $padding * 0.4; padding-top: $padding * 0.4;
color:$text-gray-m;
font-size: $title-size;
} }
.add-icon { .add-icon {
position: absolute; position: absolute;
@@ -319,7 +279,7 @@ export default {
} }
// 标题 // 标题
.title { .title {
font-size: $title-size * 1.4; font-size: $title-size + 4;
font-weight: bold; font-weight: bold;
color: $text-color; color: $text-color;
position: relative; position: relative;
@@ -332,7 +292,7 @@ export default {
padding-bottom: $padding; padding-bottom: $padding;
&::before { &::before {
position: absolute; position: absolute;
content: ""; content: '';
width: 8rpx; width: 8rpx;
height: 45rpx; height: 45rpx;
left: 0; left: 0;
@@ -351,11 +311,7 @@ export default {
box-sizing: border-box; box-sizing: border-box;
border-bottom: solid 1rpx #f7f7f7; border-bottom: solid 1rpx #f7f7f7;
.lists-water { .lists-water {
background-image: linear-gradient( background-image: linear-gradient(to right, $main-color, $main-color);
to right,
$main-color,
$main-color
);
width: 90rpx; width: 90rpx;
height: 90rpx; height: 90rpx;
border-radius: 50%; border-radius: 50%;
@@ -419,7 +375,7 @@ export default {
z-index: 10; z-index: 10;
&::before, &::before,
&::after { &::after {
content: ""; content: '';
position: absolute; position: absolute;
width: 1000rpx; width: 1000rpx;
height: 1000rpx; height: 1000rpx;

View File

@@ -26,33 +26,17 @@
<span :class="['num', calorys.exceeds ? 'num1' : '']">{{ calorys.amount }}</span> <span :class="['num', calorys.exceeds ? 'num1' : '']">{{ calorys.amount }}</span>
<span>推荐预算{{ calorys.goal }}</span> <span>推荐预算{{ calorys.goal }}</span>
</arprogress> </arprogress>
<view <view class="info" @click="errToast">
class="info"
@click="errToast"
>
运动消耗 运动消耗
<span>{{ calorys.exercise_total }}</span> <span>{{ calorys.exercise_total }}</span>
</view> </view>
<view class="ic-left">摄入量推荐</view> <view class="ic-left">摄入量推荐</view>
<u-icon <u-icon class="ic-day" name="checkmark-circle" color="#34ce98" size="10" :label="`${calorys.days}天`" labelColor="#34ce98" labelSize="10" space="3" />
class="ic-day"
name="checkmark-circle"
color="#34ce98"
size="10"
:label="`${calorys.days}天`"
labelColor="#34ce98"
labelSize="10"
space="3"
/>
</view> </view>
<!-- 有饮食记录 --> <!-- 有饮食记录 -->
<template v-if="intakes.length > 0"> <template v-if="intakes.length > 0">
<view <view class="foods-add" v-for="(it, index) in intakes" :key="index">
class="foods-add"
v-for="(it, index) in intakes"
:key="index"
>
<view class="foods-title"> <view class="foods-title">
<view class="title-left"> <view class="title-left">
{{ it.name }} {{ it.name }}
@@ -61,62 +45,29 @@
<view class="title-right"> <view class="title-right">
{{ it.total }} {{ it.total }}
<span class="dw">千卡</span> <span class="dw">千卡</span>
<u-icon <u-icon name="arrow-right" color="#ddd" size="13" :bold="true" />
name="arrow-right"
color="#ddd"
size="13"
:bold="true"
/>
</view> </view>
</view> </view>
<goodsList <goodsList :lists="it.intake" type="no-dian" @editGoods="editGoods" @longClickGoods="longClickGoods" />
:lists="it.intake"
type="no-dian"
@editGoods="editGoods"
@longClickGoods="longClickGoods"
/>
</view> </view>
</template> </template>
<!-- 运动列表 --> <!-- 运动列表 -->
<template v-if="sportsTotal > 0"> <template v-if="sportsTotal > 0">
<view <view class="foods-title" style="padding-top:50rpx;">
class="foods-title"
style="padding-top:50rpx;"
>
<view class="title-left">运动</view> <view class="title-left">运动</view>
<view class="title-right"> <view class="title-right">
{{ sportsTotal }} {{ sportsTotal }}
<span class="dw">千卡</span> <span class="dw">千卡</span>
<u-icon <u-icon name="arrow-right" color="#ddd" size="13" :bold="true" />
name="arrow-right"
color="#ddd"
size="13"
:bold="true"
/>
</view> </view>
</view> </view>
<sports <sports type="edit" :lists="sports" @editSport="editSport" @longClick="longClick" />
type="edit"
:lists="sports"
@editSport="editSport"
@longClick="longClick"
/>
</template> </template>
<!-- 没有饮食记录 --> <!-- 没有饮食记录 -->
<view <view class="no-foods" v-if="sports.length === 0 && intakes.length === 0">
class="no-foods" <u-image :src="require('../../static/imgs/no-foods.png')" :lazy-load="true" radius="10rpx" mode="widthFix" width="300rpx" class="no-foods-img" />
v-if="sports.length === 0 && intakes.length === 0"
>
<u-image
:src="require('../../static/imgs/no-foods.png')"
:lazy-load="true"
radius="10rpx"
mode="widthFix"
width="300rpx"
class="no-foods-img"
/>
<view>还没有添加今日饮食记录</view> <view>还没有添加今日饮食记录</view>
<view>请点击屏幕下方按钮来添加</view> <view>请点击屏幕下方按钮来添加</view>
</view> </view>
@@ -133,38 +84,12 @@
@close="addEatShow = false" @close="addEatShow = false"
></u-action-sheet> ></u-action-sheet>
<!-- 底部 早餐等菜单 --> <!-- 底部 早餐等菜单 -->
<u-tabbar <u-tabbar :fixed="true" :placeholder="true" :safeAreaInsetBottom="true" inactiveColor="#333" @click="tabbarClick">
:fixed="true" <u-tabbar-item text="+早餐" @click="tabbarClick" :icon="require('../../static/imgs/foods-1.png')" />
:placeholder="true" <u-tabbar-item text="+午餐" @click="tabbarClick" :icon="require('../../static/imgs/foods-2.png')" />
:safeAreaInsetBottom="true" <u-tabbar-item text="+晚餐" @click="tabbarClick" :icon="require('../../static/imgs/foods-3.png')" />
inactiveColor="#333" <u-tabbar-item text="+加餐" @click="tabbarClick" :icon="require('../../static/imgs/foods-4.png')" />
@click="tabbarClick" <u-tabbar-item text="+运动" @click="tabbarClick" :icon="require('../../static/imgs/foods-5.png')" />
>
<u-tabbar-item
text="+早餐"
@click="tabbarClick"
:icon="require('../../static/imgs/foods-1.png')"
/>
<u-tabbar-item
text="+午餐"
@click="tabbarClick"
:icon="require('../../static/imgs/foods-2.png')"
/>
<u-tabbar-item
text="+晚餐"
@click="tabbarClick"
:icon="require('../../static/imgs/foods-3.png')"
/>
<u-tabbar-item
text="+加餐"
@click="tabbarClick"
:icon="require('../../static/imgs/foods-4.png')"
/>
<u-tabbar-item
text="+运动"
@click="tabbarClick"
:icon="require('../../static/imgs/foods-5.png')"
/>
</u-tabbar> </u-tabbar>
<!-- 修改食品弹窗 --> <!-- 修改食品弹窗 -->
@@ -182,36 +107,26 @@
/> />
<!-- 修改运动弹窗 --> <!-- 修改运动弹窗 -->
<addPopup <addPopup :selectSports="selectSports" :addSportsShow="addSportsShow" @comfirmSport="comfirmSport" @cancleSport="cancleSport" @delSport="delSport" />
:selectSports="selectSports"
:addSportsShow="addSportsShow"
@comfirmSport="comfirmSport"
@cancleSport="cancleSport"
@delSport="delSport"
/>
</view> </view>
</template> </template>
<script> <script>
import arprogress from "@/components/ar-circle-progress/index.vue"; import arprogress from '@/components/ar-circle-progress/index.vue';
import goodsList from "@/components/foods"; import goodsList from '@/components/foods';
import { import { plans, editHealthFoods, delHealthFoods } from '@/apis/interfaces/foods.js';
plans, import moment from 'moment';
editHealthFoods, import addFoods from '@/components/add-goods-template/add-goods-template';
delHealthFoods, import addPopup from '@/components/sports/addPopup';
} from "@/apis/interfaces/foods.js"; import sports from '@/components/sports';
import moment from "moment"; import { editHealthSports, delHealthSports } from '@/apis/interfaces/sport.js';
import addFoods from "@/components/add-goods-template/add-goods-template";
import addPopup from "@/components/sports/addPopup";
import sports from "@/components/sports";
import { editHealthSports, delHealthSports } from "@/apis/interfaces/sport.js";
export default { export default {
components: { components: {
arprogress, arprogress,
goodsList, goodsList,
addFoods, addFoods,
addPopup, addPopup,
sports, sports
}, },
data() { data() {
return { return {
@@ -221,25 +136,25 @@ export default {
addEatShow: false, // 加餐弹窗默认不显示 addEatShow: false, // 加餐弹窗默认不显示
addEatList: [ addEatList: [
{ {
name: "上午加餐", name: '上午加餐',
type: 2, type: 2
}, },
{ {
name: "下午加餐", name: '下午加餐',
type: 4, type: 4
}, },
{ {
name: "晚上加餐", name: '晚上加餐',
type: 6, type: 6
}, }
], ],
today: moment(new Date()).format("YYYY-MM-DD"), today: moment(new Date()).format('YYYY-MM-DD'),
calorys: {}, // 当日食谱推荐页面的信息 calorys: {}, // 当日食谱推荐页面的信息
intakes: [], // 当日摄入列表 intakes: [], // 当日摄入列表
sports: [], // 运动列表 sports: [], // 运动列表
sportsTotal: 0, sportsTotal: 0,
addSportsShow: false, // 添加运动弹窗显示 addSportsShow: false, // 添加运动弹窗显示
selectSports: {}, // 选择新增的运动 selectSports: {} // 选择新增的运动
}; };
}, },
onShow() { onShow() {
@@ -255,43 +170,46 @@ export default {
duration: item.duration, duration: item.duration,
sport_id: item.sport.sport_id, sport_id: item.sport.sport_id,
exercise_id: item.exercise_id, exercise_id: item.exercise_id,
title: "编辑运动", title: '编辑运动'
}; };
// console.log(this.selectSports); // console.log(this.selectSports);
console.log("编辑运动", item); console.log('编辑运动', item);
this.addSportsShow = true; this.addSportsShow = true;
}, },
// 弹窗确认按钮新增 这里接口报错了 // 弹窗确认按钮新增 这里接口报错了
comfirmSport(show, duration) { comfirmSport(show, duration) {
let params = { let params = {
unit: "1", // 时间单位:分钟 1 小时 2 unit: '1', // 时间单位:分钟 1 小时 2
duration: duration, // 时常 duration: duration, // 时常
exercise_id: this.selectSports.exercise_id, // exercise_id: this.selectSports.exercise_id, //
sport_id: this.selectSports.sport_id, // 运动id sport_id: this.selectSports.sport_id, // 运动id
date: this.today, // 日期 date: this.today // 日期
}; };
console.log(params); console.log(params);
editHealthSports(params).then((res) => { editHealthSports(params).then(res => {
this.addSportsShow = false; this.addSportsShow = false;
this.selectSports = {}; this.selectSports = {};
this.getList(); this.getList();
}).catch(err=>{
uni.showToast({
title:err.message,
icon:'none'
})
}); });
console.log("弹窗确认按钮新增");
}, },
// 弹窗取消按钮 // 弹窗取消按钮
cancleSport(show) { cancleSport(show) {
this.addSportsShow = show; this.addSportsShow = show;
console.log("弹窗取消按钮");
}, },
// 删除运动 // 删除运动
delSport() { delSport() {
let params = { let params = {
exercise_id: this.selectSports.exercise_id, // exercise_id: this.selectSports.exercise_id //
}; };
console.log(params); console.log(params);
delHealthSports(params).then((res) => { delHealthSports(params).then(res => {
this.addSportsShow = false; this.addSportsShow = false;
this.selectSports = {}; this.selectSports = {};
this.getList(); this.getList();
@@ -301,43 +219,43 @@ export default {
longClick(item) { longClick(item) {
this.selectSports = item; this.selectSports = item;
uni.showModal({ uni.showModal({
content: "确认删除么?", content: '确认删除么?',
confirmText: "确认删除", confirmText: '确认删除',
confirmColor: "#34ce98", confirmColor: '#34ce98',
cancelText: "再想想", cancelText: '再想想',
cancelColor: "#ddd", cancelColor: '#ddd',
success: (res) => { success: res => {
if (res.confirm) { if (res.confirm) {
this.delSport(); this.delSport();
} }
}, }
}); });
}, },
// 长按删除食品 // 长按删除食品
longClickGoods(e) { longClickGoods(e) {
this.selectGoods = [e]; this.selectGoods = [e];
uni.showModal({ uni.showModal({
content: "确认删除么?", content: '确认删除么?',
confirmText: "确认删除", confirmText: '确认删除',
confirmColor: "#34ce98", confirmColor: '#34ce98',
cancelText: "再想想", cancelText: '再想想',
cancelColor: "#ddd", cancelColor: '#ddd',
success: (res) => { success: res => {
if (res.confirm) { if (res.confirm) {
this.delThis(); this.delThis();
} }
}, }
}); });
}, },
// 错误提示 // 错误提示
errToast() { errToast() {
uni.showToast({ uni.showToast({
title: "努力开发中~", title: '努力开发中~',
icon: "none", icon: 'none'
}); });
}, },
getList() { getList() {
plans(this.today).then((res) => { plans(this.today).then(res => {
this.calorys = res.calorys; this.calorys = res.calorys;
this.calorys.ratio = Number(this.calorys.ratio); this.calorys.ratio = Number(this.calorys.ratio);
this.intakes = res.intakes; this.intakes = res.intakes;
@@ -355,13 +273,11 @@ export default {
if (e === 4) { if (e === 4) {
// 新增运动 // 新增运动
uni.navigateTo({ uni.navigateTo({
url: `/pages/record/addExercises`, url: `/pages/record/addExercises`
}); });
} else { } else {
uni.navigateTo({ uni.navigateTo({
url: `/pages/record/addFoods?type=${ url: `/pages/record/addFoods?type=${e === 0 ? 1 : e === 1 ? 3 : 5}`
e === 0 ? 1 : e === 1 ? 3 : 5
}`,
}); });
} }
} }
@@ -369,7 +285,7 @@ export default {
// 选择了加餐跳转 // 选择了加餐跳转
selectClick(e) { selectClick(e) {
uni.navigateTo({ uni.navigateTo({
url: `/pages/record/addFoods?type=${e.type}`, url: `/pages/record/addFoods?type=${e.type}`
}); });
// 选择加餐 // 选择加餐
}, },
@@ -389,13 +305,13 @@ export default {
ser: 1, ser: 1,
weight: value, weight: value,
food_id: this.selectGoods[0].food_id, food_id: this.selectGoods[0].food_id,
intake_id: this.selectGoods[0].intake_id, intake_id: this.selectGoods[0].intake_id
}; };
this.editHealthFoods(data); this.editHealthFoods(data);
}, },
// 添加食物 // 添加食物
editHealthFoods(data) { editHealthFoods(data) {
editHealthFoods(data).then((res) => { editHealthFoods(data).then(res => {
console.log(res); console.log(res);
this.addShow = false; this.addShow = false;
this.getList(); this.getList();
@@ -403,7 +319,7 @@ export default {
}, },
// 删除该食物 // 删除该食物
delThis(e) { delThis(e) {
delHealthFoods(this.selectGoods[0].intake_id).then((res) => { delHealthFoods(this.selectGoods[0].intake_id).then(res => {
this.addShow = false; this.addShow = false;
this.getList(); this.getList();
}); });
@@ -411,11 +327,11 @@ export default {
// 跳转到食品详情 // 跳转到食品详情
tabGoodsInfo(e) { tabGoodsInfo(e) {
this.$Router.push({ this.$Router.push({
name: "rankingDetails", name: 'rankingDetails',
params: e, params: e
}); });
}, }
}, }
}; };
</script> </script>