ReedawFoodApp/pages/card/card.vue

239 lines
4.9 KiB
Vue

<template>
<view class="cardContent">
<view class="cardList">
<view class="caritem" @click="handleNavTol('/pageTwo/charts/charts')">
<image src="/static/q5.png"></image>
<view>{{$t('titleCharts')}}</view>
</view>
<view class="caritem" @click="handleNavTol('/pageTwo/compk/contrast')">
<image src="/static/q3.png"></image>
<view>{{$t('titleContrast')}}</view>
</view>
<view class="caritem" @click="handlerRecord">
<image src="/static/q7.png"></image>
<view>{{$t('addRecord')}}</view>
</view>
<view class="caritem" @click="handleNavTol('/pageTwo/history/history')">
<image src="/static/q8.png"></image>
<view>{{$t('HistoricalRcord')}}</view>
</view>
</view>
<view class="cardListchosen">
<view class="item" v-for="(ite,ind) in cardList.chosen_fixed" @click="handleNavTol(ite.page_jump)">
<view class="info">
<image :src="ite.icon"></image>
<text>{{ite.name}}</text>
</view>
</view>
<view class="item" v-for="(ite,ind) in cardList.chosen_yes" @click="handleNavItem(ite)">
<view class="info">
<image :src="ite.icon"></image>
<text>{{ite.name}}</text>
</view>
</view>
</view>
<!-- 通用卡片新增数据 -->
<view class="wrapper" v-if="isPublicCard">
<view class="bg" @click="onTap">
<view class="edit" @click.stop>
<view class="title">{{name}}</view>
<!-- 项目内容 -->
<view class="editem">
<view class="left">{{$t('TimeSpent')}}</view>
<view class="right">
<input type="number" v-model="number" :placeholder="$t('verifyRecord')">
<text style="width: 60px;">{{$t('minutes')}}</text>
</view>
</view>
<view class="btn close" @click="onTap()">{{$t('btnSancellation')}}</view>
<view class="btn" @click="handlepublicmeasure">{{$t('btnConfirm')}}</view>
</view>
</view>
</view>
<record></record>
</view>
</template>
<script>
import {
mapState
} from "vuex";
import record from '@/components/cardIndex/record.vue';
export default {
data() {
return {
name: "",
isPublicCard: false,
number: "",
key_word: ""
}
},
components: {
record,
},
computed: {
...mapState(['user', "CardList"]),
endDate() {
return this.$tools.getDate("start")
},
startDate() {
return this.$tools.GetDateStr(-90);
},
cardList() {
return this.CardList
}
},
onLoad() {
let that = this
uni.setNavigationBarTitle({
title: this.$t('titleExercise'),
})
},
methods: {
// 手动
handlerRecord() {
this.$store.commit('changeTsPublicRecord', true)
},
handleNavItem(ite) {
if (ite.page_jump) {
uni.navigateTo({
url: ite.page_jump
})
} else {
this.name = ite.name
this.key_word = ite.id
this.isPublicCard = true
}
},
handleNavTol(url) {
uni.navigateTo({
url: url
})
},
handlepublicmeasure() {
let that = this
if (!that.number) {
that.$tools.msg(that.$t('verifyTime'))
return
}
that.$model.getpublicmeasurecard({
aud_id: that.user.aud_id,
card_id: that.key_word,
time_m: that.number
}).then(res => {
if (res.code != 0) return
that.$tools.msg(res.msg)
that.number = ""
that.key_word = ""
that.isPublicCard = false
})
},
onTap() {
let that = this
that.name = ""
that.number = ""
that.key_word = ""
that.isPublicCard = false
},
handleSetCard() {
uni.navigateTo({
url: "/pageTwo/cardList/card"
})
}
}
}
</script>
<style scoped lang="scss">
.cardContent {
min-height: 100vh;
background: #F7F7F7;
padding: 5px 0 15PX;
}
.cardList {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background: #fff;
margin: 10px;
padding: 10px;
border-radius: 10px;
.caritem {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
image {
width: 40px;
height: 40px;
}
}
}
.cardListchosen {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 15px 10px;
.item {
width: 48%;
background-color: #fff;
margin-bottom: 15px;
position: relative;
height: 60px;
line-height: 60px;
border-radius: 5px;
.info {
width: calc(100% - 20px);
padding: 0 10px;
display: flex;
align-items: center;
image {
width: 30px;
height: 30px;
background-color: #f2f2f2;
border-radius: 50%;
float: left;
margin-right: 10px;
}
text {
width: calc(100% - 35px);
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
}
}
.btn {
width: 40%;
float: right;
margin-top: 15px;
background: $maincolor !important;
}
.close {
background: #dfdfdf !important;
float: left;
}
.setCard {
color: $maincolor;
margin: 15px;
text-align: center;
border: 1px solid $maincolor;
border-radius: 10px;
height: 40px;
line-height: 40px;
background: #fff;
}
</style>