242 lines
4.4 KiB
Vue
242 lines
4.4 KiB
Vue
<template>
|
|
<view v-if="isRecord" class="wrapper">
|
|
<view class="bg" @click="onTap">
|
|
<view class="edit" @click.stop>
|
|
<view class="title">手动记录</view>
|
|
<view class="editem" @click="hideKeyboard">
|
|
<view class="left">日期</view>
|
|
<view class="right">
|
|
<picker mode="date" :value="regTime" :end="endDate" @change="bindDateChange">
|
|
<view class="text">{{regTime?regTime:"请选择"}}</view>
|
|
</picker>
|
|
</view>
|
|
</view>
|
|
<view class="editem">
|
|
<view class="left">体重</view>
|
|
<view class="right">
|
|
<input v-model="weight" type="digit" placeholder="请输入" />kg
|
|
</view>
|
|
</view>
|
|
<view class="btn close" @click="onTap()">取消</view>
|
|
<view class="btn" @click="handleTarget">确定</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import {
|
|
mapState
|
|
} from "vuex";
|
|
export default {
|
|
data() {
|
|
return {
|
|
regTime: "",
|
|
weight: "",
|
|
}
|
|
},
|
|
computed: {
|
|
...mapState(["user", "isRecord"]),
|
|
endDate() {
|
|
return this.$tools.getDate("start")
|
|
},
|
|
startDate() {
|
|
return this.$tools.GetDateStr(-90);
|
|
},
|
|
},
|
|
methods: {
|
|
// 手动记录
|
|
handleTarget() {
|
|
let that = this
|
|
if (!that.regTime) {
|
|
that.$tools.msg("请选择测量日期")
|
|
return
|
|
}
|
|
if (!that.weight) {
|
|
that.$tools.msg("请输入测量体重")
|
|
return
|
|
}
|
|
that.$model.getinsertmeasure({
|
|
familyid: that.user.familyid,
|
|
time: that.regTime,
|
|
weight: that.weight,
|
|
}).then(res => {
|
|
if (res.code != 0) return
|
|
that.$tools.msg(res.message)
|
|
that.$store.commit("changeRecord", false);
|
|
that.$store.dispatch("getResult", {
|
|
birthday: that.user.birthday,
|
|
familyid: that.user.familyid,
|
|
height: that.user.height,
|
|
sex: that.user.sex,
|
|
})
|
|
that.$store.dispatch("getUserInfo", {
|
|
familyid: that.user.familyid,
|
|
})
|
|
that.$emit("getList", this.startDate, this.endDate)
|
|
that.regTime = ""
|
|
that.weight = ""
|
|
})
|
|
},
|
|
//
|
|
bindDateChange(e) {
|
|
this.regTime = e.target.value
|
|
},
|
|
onTap() {
|
|
this.regTime = ""
|
|
this.weight = ""
|
|
this.$store.commit("changeRecord", false);
|
|
},
|
|
hideKeyboard() {
|
|
uni.hideKeyboard()
|
|
},
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style scoped lang="scss">
|
|
.wrapper {
|
|
position: fixed;
|
|
left: 0;
|
|
right: 0;
|
|
top: 0;
|
|
bottom: 0;
|
|
z-index: 999;
|
|
|
|
.bg {
|
|
position: fixed;
|
|
left: 0;
|
|
right: 0;
|
|
top: 0;
|
|
bottom: 0;
|
|
background-color: rgba(0, 0, 0, 0.4);
|
|
z-index: 99;
|
|
}
|
|
|
|
.edit {
|
|
width: 15rem;
|
|
height: auto;
|
|
background: #fff;
|
|
border-radius: 10px;
|
|
padding: 15px;
|
|
position: relative;
|
|
top: 15%;
|
|
margin: auto;
|
|
z-index: 99999;
|
|
overflow: hidden;
|
|
|
|
.title {
|
|
text-align: center;
|
|
width: 100%;
|
|
color: #333;
|
|
font-size: 18px;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.editem {
|
|
position: relative;
|
|
display: flex;
|
|
font-size: 14px;
|
|
border-radius: 10px;
|
|
margin-top: 15px;
|
|
height: 40px;
|
|
justify-content: space-between;
|
|
background: #eee;
|
|
padding: 0px 10px;
|
|
align-items: center;
|
|
|
|
.radioimg {
|
|
font-size: 22px;
|
|
color: $btncolor;
|
|
}
|
|
|
|
.radio {
|
|
width: 50%;
|
|
text-align: right;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
|
|
.name {
|
|
width: 4rem;
|
|
color: #333;
|
|
}
|
|
|
|
.right {
|
|
width: 60%;
|
|
height: 40px;
|
|
line-height: 40px;
|
|
text-align: right;
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
|
|
|
|
input {
|
|
margin-right: 10px;
|
|
height: 40px;
|
|
line-height: 40px;
|
|
text-align: left;
|
|
}
|
|
|
|
picker {
|
|
width: 100%;
|
|
text-align: left;
|
|
}
|
|
|
|
.uni-input {
|
|
position: absolute;
|
|
right: 30px;
|
|
top: 0;
|
|
left: 0;
|
|
height: 40px;
|
|
line-height: 40px;
|
|
text-align: right;
|
|
z-index: 9999;
|
|
}
|
|
|
|
}
|
|
|
|
.value {
|
|
position: relative;
|
|
z-index: 999;
|
|
width: 3rem;
|
|
text-align: center;
|
|
float: left;
|
|
margin-right: 10px;
|
|
}
|
|
|
|
.iconfont {
|
|
margin-left: 10px;
|
|
float: right;
|
|
display: flex;
|
|
}
|
|
}
|
|
|
|
.tips {
|
|
font-size: 0.75rem;
|
|
color: #999;
|
|
text-align: center;
|
|
margin-top: 15px;
|
|
margin-bottom: 20px;
|
|
display: flex;
|
|
}
|
|
}
|
|
}
|
|
|
|
.btn {
|
|
width: 40%;
|
|
float: right;
|
|
margin-top: 15px;
|
|
background: $maincolor !important;
|
|
}
|
|
|
|
.edit {
|
|
top: 20%
|
|
}
|
|
|
|
.close {
|
|
background: #dfdfdf !important;
|
|
float: left;
|
|
}
|
|
</style> |