This commit is contained in:
闫晓茹 2023-04-12 11:50:49 +08:00
parent 69a844b48c
commit 5bdbf83194
28 changed files with 1407 additions and 0 deletions

View File

@ -0,0 +1,486 @@
<template>
<view class="content">
<view class="top">
<view class="touxiang">
<image src="../../static/jiazhang.png" mode=""></image>
</view>
<view class="itemsname">
<view class="parentname">
家长姓名
</view>
<view class="name-item">
<image src="../../static/name-item.png" mode=""></image>
</view>
<view class="inputitem">
<input type="text" maxlength="50" v-model="data.parentName">
</view>
</view>
<view class="itemphone">
<view class="parentphone">
家长电话
</view>
<view class="name-items">
<image src="../../static/phone-item.png" mode=""></image>
</view>
<view class="inputitems">
<input type="text" v-model="data.phone" maxlength="11">
</view>
</view>
<view class="itemidcard">
<view class="schoolphone">
学生身份证号
</view>
<view class="idcard">
<image src="../../static/idcard.png" mode=""></image>
</view>
<view class="inputidcard">
<input type="text" v-model="data.cardNo" maxlength="18">
</view>
</view>
<view class="" style="display:flex; position: relative;left:18%; top:70%; font-size: 28rpx;line-height: 50rpx;">
<checkbox value="cb" :checked="checked" />
我已阅读并同意
<view class="" style="display: inline-block;color:#4D8CE9;border-bottom:1rpx solid #4D8CE9;"
@tap='maskshow=true'>
隐私保护协议
</view>
</view>
<view class="cancelitem">
<view class="cancel" @tap="cancel">
取消
</view>
<view class="submit" @tap="bindParent">
确认
</view>
</view>
</view>
<view class="masks" style="" v-if="maskshow">
<view class="mask">
<view class="title">
智慧幼儿体质评估与促进系统隐私保护
</view>
<view class="text" style="">
<P>本指引是智慧幼儿体质评估与促进系统小程序开发者为收集使用和存储您的信息而制定</P>
<p>开发者收集信息</p>
<ul>
<li>1开发者收集您的姓名用于绑定学生家长信息</li>
<li>2开发者收集学生身份证号用于确认学生身份及成绩信息</li>
<li>3开发者收集您的手机号用于查询学生绑定的信息</li>
</ul>
开发者对信息的存储
<li>1存储地点境内</li>
<li>2存储期限小程序停止运营后及时删除</li>
<view class="" style="margin-top: 50rpx;">
本次操作遵守国家相关法律法规采集的信息仅用于学生体质评估报告的相关信息查询
</view>
</view>
<view class="btns">
<view class="btn1" @tap='maskshow=false'>取消</view>
<view class="btn2" @tap='checkeds'>阅读并同意</view>
</view>
</view>
</view>
<u-toast ref="uToast" />
</view>
</template>
<script>
import {
bindParent
} from '@/api/index/index.js'
import baseurl from '@/api/baseurl.js'
export default {
data() {
return {
checked: false,
maskshow: false,
data: {
// 370883199909083232
// 18363008969
//
cardNo: "",
parentName: "",
phone: "",
openId: '',
// list: [{
// type: 'error',
// icon: false,
// title: '',
// message: "",
// }],
},
}
},
onLoad(options) {
console.log(options)
this.data.openId = options.openId
},
methods: {
//
checkeds() {
this.checked = true;
this.maskshow = false
},
//
bindParent() {
if (this.checked == false) {
this.$refs.uToast.show({
type: 'error',
message: "请先阅读《隐私保护协议!",
})
setTimeout(() => {
this.maskshow = true
}, 500)
} else {
uni.removeStorage({
key: 'phone',
success: function(res) {}
});
bindParent(this.data).then(res => {
if (res.code == 200) {
uni.setStorage({
key: 'phone',
data: res.msg
});
this.$refs.uToast.show({
message: "添加成功",
type: 'success'
})
// uni.showToast({
// message: "",
// icon: 'success'
// });
setTimeout(() => {
uni.navigateTo({
url: '/pages/index/index'
})
}, 500)
} else if (res.code == 500) {
console.log(res.msg)
this.$refs.uToast.show({
message: res.msg,
type: 'error'
})
// uni.showToast({
// title: res.msg,
// icon: 'none',
// duration: 2000
// });
}
})
}
},
//
cancel() {
uni.removeStorageSync('user');
uni.navigateTo({
url: '/pages/index/index'
})
},
}
}
</script>
<style lang="scss">
.text {
margin-top: 40rpx;
padding-bottom: 80rpx;
}
.btn1,
.btn2 {
width: 50%;
height: 80rpx;
line-height: 80rpx;
text-align: center;
display: inline-block;
position: absolute;
background-color: #fff;
bottom: -80rpx;
}
.btn2 {
right: 0;
}
.masks {
background-color: rgba(246, 247, 248, 0.5);
height: 100%;
width: 100%;
position: absolute;
top: 0;
z-index: 999;
}
.mask {
width: 80%;
padding: 0 30rpx 0 30rpx;
left: -5%;
background-color: #fff;
margin: 150rpx auto;
opacity: 1;
position: relative;
}
.title {
height: 100rpx;
line-height: 100rpx;
border-bottom: 1px solid #eeeeee;
/* background-color: red; */
font-size: 36rpx;
margin: 0px auto;
width: 100%;
text-align: center;
/* line-height: 80rpx; */
}
.content {
background-image: linear-gradient(#D7EEE8, #fff);
width: 100%;
// background-color: red;
height: 600rpx;
padding: 3%;
position: relative;
.top {
margin-top: 5%;
width: 95%;
height: 1266rpx;
background: #FFFFFF;
box-shadow: 0rpx 3rpx 18rpx 0rpx rgba(182, 218, 213, 0.43);
border-radius: 10rpx;
position: relative;
.cancelitem {
position: absolute;
bottom: 10%;
display: flex;
left: 10%;
.cancel {
width: 254rpx;
margin-left: 5%;
height: 69rpx;
background: #F4F5F9;
border-radius: 10rpx;
line-height: 69rpx;
font-size: 28rpx;
text-align: center;
}
.submit {
width: 254rpx;
margin-left: 5%;
height: 69rpx;
font-size: 28rpx;
background: #35A97A;
border-radius: 10rpx;
line-height: 69rpx;
text-align: center;
color: #fff;
}
}
.bottombutton {
span {
font-size: 22rpx;
font-family: Source Han Sans CN;
font-weight: 400;
color: #666666;
line-height: 36rpx;
bottom: 18%;
position: absolute;
left: 25%;
}
// /deep/ .u-radio-group
// {
// bottom: 18%;
// position: absolute;
// left: 20%;
// }
}
.itemphone {
.parentphone {
position: absolute;
top: 26%;
left: 5%;
font-size: 28rpx;
font-family: Source Han Sans CN;
font-weight: 500;
color: #000000;
line-height: 48rpx;
display: flex;
}
.inputitems {
background: #FBFBFD;
border-radius: 10rpx;
width: 85%;
height: 89rpx;
top: 30%;
left: 6%;
position: absolute;
border: 1px solid #D7EEE8;
input {
position: absolute;
width: 75%;
top: 30%;
left: 15%;
}
}
.name-items {
width: 71rpx;
height: 71rpx;
position: absolute;
top: 30%;
left: 7%;
z-index: 999;
image {
top: 24%;
position: absolute;
left: 7%;
width: 71rpx;
height: 71rpx;
}
}
}
.itemidcard {
.schoolphone {
position: absolute;
top: 40%;
left: 5%;
font-size: 28rpx;
font-family: Source Han Sans CN;
font-weight: 500;
color: #000000;
line-height: 48rpx;
display: flex;
}
.idcard {
width: 71rpx;
height: 71rpx;
position: absolute;
top: 45%;
left: 7%;
z-index: 999;
image {
top: 24%;
position: absolute;
left: 7%;
width: 71rpx;
height: 71rpx;
}
}
.inputidcard {
background: #FBFBFD;
border-radius: 10rpx;
width: 85%;
height: 89rpx;
top: 45%;
left: 6%;
position: absolute;
border: 1px solid #D7EEE8;
input {
position: absolute;
width: 75%;
top: 37%;
left: 15%;
}
}
}
//
.itemsname {
.parentname {
// width: 300px;
// height: 26px;
position: absolute;
top: 8%;
left: 5%;
font-size: 28rpx;
font-family: Source Han Sans CN;
font-weight: 500;
color: #000000;
line-height: 48rpx;
display: flex;
}
.name-item {
width: 71rpx;
height: 71rpx;
position: absolute;
top: 15%;
left: 7%;
z-index: 999;
image {
position: absolute;
top: 16%;
left: 7%;
width: 71rpx;
height: 71rpx;
}
}
.inputitem {
background: #FBFBFD;
border-radius: 10rpx;
width: 85%;
height: 89rpx;
top: 15%;
left: 6%;
position: absolute;
border: 1px solid #D7EEE8;
input {
position: absolute;
width: 75%;
top: 25%;
left: 15%;
}
}
}
.touxiang {
// float: right;
position: absolute;
right: 3%;
transform: translateY(-30px);
image {
width: 172rpx;
height: 172rpx;
}
}
}
}
</style>

532
pages/Personal/Personal.vue Normal file
View File

@ -0,0 +1,532 @@
<template>
<view class="top">
<view class="content" v-if="!studentId">
<view class="pictures">
<image src="../../static/toux.png" mode=""></image>
</view>
<view class="name" @tap="goindex">
点击登录
</view>
</view>
<view class="content" v-else>
<view class="pictures">
<image src="../../static/toux.png" mode=""></image>
</view>
<view class="name">
{{parentList.parentName}}
</view>
<view class="phone">
{{parentList.phone}}
</view>
<view class="tuichu" @tap="mask=true">
<image src="../../static/tuichu.png" mode=""></image>
</view>
</view>
<view class="student" v-if="!studentId">
<view class="studentitem">
<image src="../../static/renshi.png" mode=""></image>
<span>学生信息</span>
</view>
<view class="backgrounditem">
<view class="picitem">
<image src="../../static/zanwu.png" mode=""></image>
</view>
</view>
</view>
<view class="student" v-for="item in studentInfoList" v-else>
<view class="studentitem">
<image src="../../static/renshi.png" mode=""></image>
<span>学生信息</span>
</view>
<view class="backgrounditem">
<view class="nameitem">{{item.studentName}}
</view>
<view class="sex">性别.年龄:
{{item.orderStatus=='PAY'?'已付款':''}}
<span>{{item.studentSex=='MALE'?'男':''}}
{{item.studentSex=='FEMALE'?'女':''}} {{item.studentAge}}</span>
</view>
<view class="sex">所在班级:
<span>{{item.className}}</span>
</view>
<view class="sex">班主任及电话:
<span>{{item.classTeacher}} {{item.classPhone}}</span>
</view>
<view class="sex">所属幼儿园:
<span>{{item.kindergartenName}}</span>
</view>
</view>
</view>
<view class="school" v-if="!studentId">
<view class="schoolitem">
<view class="studentitem">
<image src="../../static/xuexiao.png" mode=""></image>
<span>幼儿园信息</span>
</view>
<view class="picitem">
<image src="../../static/zanwu.png" mode=""></image>
</view>
</view>
</view>
<view class="school" v-for="item in kindergartenInfoList" v-else>
<view class="gongli" v-if="kindergartenInfoList.kindergartenType=='public_handle'">
<image src="../../static/gongli.png" mode=""></image>
</view>
<view class="gongli" v-else>
<image src="../../static/sili.png" mode=""></image>
</view>
<view class="studentitem">
<image src="../../static/xuexiao.png" mode=""></image>
<span>幼儿园信息</span>
</view>
<view class="schoolitem">
<view class="nameitem">{{item.kindergartenName}}
</view>
<view class="sex">学校地址:
<span>{{item.kindergartenAddress}}</span>
</view>
<view class="sex">园长及电话:
<span>{{item.principalName}} {{item.kindergartenPhone}}</span>
</view>
</view>
</view>
<view class="masks" style="" v-if="mask">
<view class="mask">
<view class="imageitem">
<img src="/static/tishiimage.png" alt="" sizes="" srcset="">
</view>
<view class="title">
退出提醒
</view>
<view class="text" style="margin-top:40rpx">
确定要推出此账号吗
</view>
<view class="btns">
<view class="btn1" @tap='mask=false'>拒绝</view>
<view class="btn2" @tap='gohome'>同意</view>
</view>
</view>
</view>
<u-toast ref="uToast" />
</view>
</template>
<script>
import {
getInfoByPhone
} from '@/api/index/index.js'
import baseurl from '@/api/baseurl.js'
export default {
data() {
return {
studentId:null,
mask: false,
phone: '',
studentInfoList: [],
kindergartenInfoList: [],
parentList: {},
}
},
onShow() {
let that = this;
this.studentId = uni.getStorageSync('studentId');
if (this.studentId) {
uni.getStorage({
key: 'phone',
success: function(res) {
that.phone = res.data
that.getInfoByPhoneinfo();
},
fail: function(err) {
that.login = false
that.stuinfos = false
that.tip = true
that.top2 = false
that.top = true
}
});
uni.getStorage({
key: 'user',
success: function(res) {
that.yonghuwx = res.data
// that.mask = true
},
fail: function(err) {}
});
}
},
methods: {
goindex() {
uni.navigateTo({
url: "/pages/index/index"
})
},
getInfoByPhoneinfo() {
var that = this
getInfoByPhone(this.phone).then(res => {
if (res.code == 200) {
this.studentInfoList = res.data.studentInfoList;
this.kindergartenInfoList = res.data.kindergartenInfoList;
this.parentList = res.data;
// var obj = []
// res.data.studentInfoList.forEach(e => {
// obj.push(e.studentId)
// })
// uni.setStorageSync("studentId", obj)
// that.login = true
// that.stuinfos = true
// that.tip = false
// that.top2 = true
// that.top = false
// this.mask = true;
} else {
}
})
},
gohome() {
let that = this
const value = uni.getStorageSync('phone');
const value2 = uni.getStorageSync('studentId');
if (value && value2) {
// uni.showModal({
// title: '',
// content: '退',
// success: function(res) {
// if (res.confirm) {
uni.removeStorageSync('phone');
uni.removeStorageSync('openid');
uni.removeStorageSync('studentId');
this.mask = false
that.$refs.uToast.show({
message: "退出成功",
type: 'success',
duration: '1500'
})
if (that.timer) {
clearTimeout(that.timer)
}
that.timer = setTimeout(e => {
uni.reLaunch({
url: '/pages/homepage/homepage'
})
}, 1000)
// }
// }
// });
}
},
}
}
</script>
<style lang="scss">
.studentitem {
padding: 3%;
image {
width: 34rpx;
height: 34rpx;
}
span {
margin: 2%;
font-size: 30rpx;
}
}
.nameitem {
font-size: 28rpx;
font-family: Source Han Sans CN;
font-weight: 500;
color: #292828;
// margin: 3%;
width: 90%;
border-bottom: 1rpx solid #CDC9C9;
line-height: 60rpx;
padding-left: 3%;
padding-top: 3%;
margin: 0 auto;
}
.sex {
// width: 139px;
// height: 25px;
font-size: 26rpx;
padding-left: 7%;
padding-top: 3%;
font-family: Source Han Sans CN;
font-weight: 500;
color: #9B9A9A;
line-height: 50rpx;
span {
color: #292828;
font-size: 28rpx;
padding-left: 5%;
}
}
.top {
background-image: linear-gradient(#D7EEE8, #fff);
width: 100%;
// background-color: red;
height: 600rpx;
// margin-top: 10%;
// padding: 3%;
.content {
width: 100%;
height: 376rpx;
background: #37A97B;
position: relative;
.name {
position: absolute;
top: 40%;
left: 35%;
font-size: 32rpx;
font-family: Source Han Sans CN;
font-weight: 400;
color: #FFFFFF;
}
.phone {
top: 50%;
position: absolute;
left: 35%;
font-size: 32rpx;
font-family: Source Han Sans CN;
font-weight: 400;
color: #FFFFFF;
}
.tuichu {
// width: 35rpx;
// height: 35rpx;
top: 45%;
// float: right;
left: 90%;
position: absolute;
image {
width: 35rpx;
height: 35rpx;
}
}
.pictures {
top: 30%;
left: 15%;
position: absolute;
image {
width: 139rpx;
height: 139rpx;
}
}
}
.masks {
/* width: 600rpx;
height: 434rpx;
background: #FFFFFF;
border-radius: 10rpx; */
background-color: #f0f0f0;
height: 100%;
width: 100%;
position: absolute;
opacity: 0.9;
top: 0;
z-index: 999;
.mask {
border-radius: 10rpx;
width: 80%;
height: 400rpx;
background-color: #fff;
margin: 400rpx auto;
position: relative;
.title {
/* height: 80rpx; */
/* line-height: 100rpx; */
margin-top: 3%;
/* border-bottom: 1px solid #eeeeee; */
/* background-color: red; */
font-size: 36rpx;
margin: 0px auto;
width: 100%;
text-align: center;
/* line-height: 80rpx; */
}
.text {
font-size: 30rpx;
width: 100%;
text-align: left;
/* padding-top: 40rpx; */
text-align: center;
}
}
image {
width: 136rpx;
height: 136rpx;
top: -10%;
position: relative;
}
}
.btns {
display: flex;
}
.imageitem {
width: 136rpx;
height: 136rpx;
margin: 0 auto;
/* position: relative; */
}
.btn1,
.btn2 {
top: 75%;
width: 254rpx;
height: 69rpx;
background: #F4F5F9;
border-radius: 10rpx;
/* width: 50%;
height: 80rpx; */
line-height: 80rpx;
text-align: center;
display: inline-block;
position: absolute;
bottom: 0;
}
.btn2 {
/* border-top: 1px solid #eeeeee; */
background-color: #35A97A;
right: 3%;
font-size: 24rpx;
}
.btn1 {
background: #F4F5F9;
color: #000;
left: 3%;
font-size: 24rpx;
}
.school {
width: 95%;
margin: 0 auto;
height: 390rpx;
// background-color: red;
box-shadow: 0rpx 3rpx 18rpx 0rpx rgba(161, 220, 211, 0.43);
border-radius: 10rpx;
transform: translateY(-40px);
// margin-top: 3%;
.gongli {
float: right;
image {
width: 94rpx;
height: 84rpx;
}
}
.schoolitem {
width: 90%;
margin: 0 auto;
height: 263rpx;
background: #F9F9FA;
border-radius: 10rpx;
position: relative;
.picitem {
position: absolute;
top: 25%;
left: 40%;
image {
width: 164rpx;
height: 150rpx;
margin: 0 auto;
}
}
}
}
.student {
width: 90%;
height: 573rpx;
margin: 0 auto;
transform: translateY(-50px);
background: #FFFFFF;
box-shadow: 0rpx 3rpx 18rpx 0rpx rgba(161, 220, 211, 0.43);
border-radius: 10rpx;
padding: 3%;
.backgrounditem {
width: 665rpx;
height: 445rpx;
background: #F9F9FA;
border-radius: 10rpx;
position: relative;
.picitem {
position: absolute;
top: 25%;
left: 40%;
image {
width: 164rpx;
height: 150rpx;
margin: 0 auto;
}
}
}
}
}
</style>

310
pages/grade/grade.vue Normal file
View File

@ -0,0 +1,310 @@
<template>
<view class="content" v-if="StudentScore==0">
<view class="zanwuchengji">
<image src="../../static/zanwuchengji.png" mode=""></image>
<view class="words">
暂无内容
</view>
</view>
</view>
<view class="content" v-else>
<view class="top" v-for="item in StudentScore">
<view class="itemback">
<view class="bindtitle">
批次编号{{item.batchCode}}
</view>
<view class="time">
{{item.createTime}}
</view>
</view>
<view class="name">
{{item.batchName}}
</view>
<view class="grade">
{{item.totalFraction}}
<span></span>
</view>
<view class="baogao">
<view class="image">
</view>
<!-- <view class="look">查看报告</view> -->
<view class="look" @tap='showToast(item)' v-if="item.existFlag==false">查看报告</view>
<view class="lookreport" @tap='lookbook(item)' v-else>查看报告</view>
</view>
</view>
<u-toast ref="uToast" />
</view>
</template>
<script>
import {
getStudentScore,
} from '@/api/index/index.js'
import baseurl from '@/api/baseurl.js'
export default {
data() {
return {
StudentScore: [],
StudentScore: [],
studentId: "",
// studentIdList:{},
}
},
onShow() {
let that = this;
const obj = uni.getStorageSync('studentId');
if (!obj) {
uni.navigateTo({
url: "/pages/index/index"
})
} else {
var arr = {
"studentIdList": obj
}
getStudentScore(arr).then(res => {
this.StudentScore = res.data
console.log(this.StudentScore)
})
}
},
methods: {
showToast() {
this.$refs.uToast.show({
message: "暂无报告",
type: 'error',
duration: 1000
})
},
lookbook(item) {
console.log(item)
uni.showLoading({
title: '获取报告中'
});
var that = this
wx.downloadFile({
url: baseurl + item.downloadAddress,
success: function(res) {
console.log(res)
var filePath = res.tempFilePath;
wx.openDocument({
filePath: filePath,
showMenu: true,
success: function(res) {
uni.hideLoading();
},
fail: function(err) {
uni.hideLoading();
}
});
},
fail: function(err) {
uni.hideLoading();
that.$refs.uToast.show({
title: '请求报告失败',
type: 'error'
})
}
});
},
getPhoneNumberp(val) {
wx.login({
provider: 'weixin',
success: function(loginRes) {
console.log(loginRes)
}
});
},
wxGetUserInfo() {
let that = this;
uni.getUserProfile({
desc: "获取用户信息",
lang: "zh_CN",
success(res) {
console.log(res)
that.yonghuwx = res.userInfo
},
fail(res) {
//home
},
});
},
}
}
</script>
<style lang="scss">
.content {
background: linear-gradient(#D7EEE8, #fff);
// background-color: red;
padding: 3%;
position: relative;
.zanwuchengji {
width: 374rpx;
height: 391rpx;
// background-color: red;
// position: relative;
top: 50%;
// width: 374rpx;
// height: 391rpx;
line-height: 391rpx;
text-align: center;
left: 25%;
// top: -20%;
// margin: 0 auto;
.words {
position: absolute;
top: 100%;
left: 40%;
font-size: 32rpx;
font-family: Source Han Sans CN;
font-weight: 400;
color: #666666;
line-height: 50rpx;
}
image {
// margin: 0 auto;
vertical-align: middle;
width: 374rpx;
height: 391rpx;
position: absolute;
left: 25%;
top: 50%;
}
}
.top {
background: #fff;
box-shadow: 0px 3px 18px 0px rgba(182, 218, 213, 0.43);
width: 100%;
margin: 3% auto 0; // text-align: center;
height: 268rpx;
border-radius: 10rpx;
position: relative;
.name {
width: 250rpx;
height: 50rpx;
font-size: 28rpx;
font-family: Source Han Sans CN;
font-weight: 500;
color: #000000;
line-height: 48rpx;
top: 50%;
left: 20rpx;
position: absolute;
}
.baogao {
font-size: 26rpx;
font-family: Source Han Sans CN;
font-weight: 400;
color: #000;
.image {
width: 35rpx;
// background-size62rpx 50rpx;
height: 38rpx;
background: url(../../static/tijianbaogao.png) no-repeat center center;
background-size: 100% 100%;
left: 80%;
top: 50%;
position: absolute;
}
.look {
left: 75%;
top: 65%;
position: absolute;
}
.lookreport{
left: 75%;
top: 65%;
position: absolute;
color: green;
}
}
.baogao:hover {
font-size: 26rpx;
font-family: Source Han Sans CN;
font-weight: 400;
color: #000;
.image {
width: 35rpx;
height: 38rpx;
background: url(../../static/baogao.png)no-repeat center center;
background-size: 100% 100%;
}
.look {
color: #9B9A9A;
}
.lookreport{
color: green;
}
}
.grade {
// width: 82px;
// height: 78px;
font-size: 70rpx;
font-family: Source Han Sans CN;
font-weight: 500;
color: #35A97A;
line-height: 67rpx;
top: 50%;
left: 40%;
position: absolute;
span {
font-size: 30rpx;
}
}
.itemback {
width: 95%;
height: 70rpx;
margin: 0 auto;
display: flex;
border-bottom: 1rpx solid #CDC9C9;
.time {
float: right;
font-size: 24rpx;
font-family: Source Han Sans CN;
font-weight: 400;
color: #9B9A9A;
line-height: 70rpx;
}
.bindtitle {
width: 500rpx;
height: 50rpx;
line-height: 70rpx;
// background-color: red;
// height: 1rpx;
font-size: 24rpx;
font-family: Source Han Sans CN;
font-weight: 400;
color: #9B9A9A;
// line-height: 48rpx;
}
}
}
}
</style>

View File

@ -0,0 +1,79 @@
<template>
<view class="content">
<view class="poser">
<image src="../../static/poser.png" mode=""></image>
</view>
<view class="background">
<view class="word">
幼儿体质分析与促进系统主要用于管理幼儿园儿童体质测评和促进通过信息化技术建立完整的幼儿园儿童体质报告有针对性的指导儿童做对应的锻炼达到身体全面发展
<view class="introduction">
应用介绍
<view class="words">
可由各托幼园所自行使用用于本园儿童体能锻炼体质与体能测试评估指导本园体能锻炼也可用于各学龄前儿童体质与体能检测机构如妇幼保健院,也可由所有幼儿园与妇幼院构成区域性体质与体能检测区域性应用平台
</view>
可由各托幼园所自行使用用于本园儿童体能锻炼体质与体能测试评估指导本园体能锻炼也可用于各学龄前儿童体质与体能检测机构如妇幼保健院,也可由所有幼儿园与妇幼院构成区域性体质与体能检测区域性应用平台 </view>
<view class="introduction">
优势特点
<view class="words">
与儿童保健管理集体儿童管理数据共享实现儿童在不同业务管理过程中的连续管理过程自动进行体质评分与总评价以班级年级幼儿园辖区等不同方式进行体质与体能评价支持幼儿园老师保健院医生多角色录入支持保健院教育局审核全自动生成测试结果自动生成详细报表自动数据上报
</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
}
},
methods: {
}
}
</script>
<style lang="scss">
.content {
background-image: linear-gradient(#D7EEE8, #fff);
width: 100%;
height: 600rpx;
.background {
width: 90%;
margin: 20rpx auto;
height: 1120rpx;
background: #FFFFFF;
box-shadow: 0rpx 3rpx 18rpx 0rpx rgba(161, 220, 211, 0.43);
border-radius: 10rpx;
padding: 3%;
.word{
width: 98%;
font-size: 28rpx;
line-height: 48rpx;
margin: 0 auto;
.words{
text-indent: 2em;
}
}
}
.poser {
width: 95%;
height: 250rpx;
// background-color: red;
margin: 0 auto;
image {
width: 100%;
height: 250rpx;
}
}
}
</style>

BIN
static/Personal.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
static/baogao.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
static/chengji.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
static/gongli.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
static/grade.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
static/homepage.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
static/idcard.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
static/jiazhang.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

BIN
static/name-item.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
static/phone-item.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
static/poser.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

BIN
static/renshi.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
static/shouye.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
static/sili.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

BIN
static/tijianbaogao.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 850 B

BIN
static/tishi.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

BIN
static/tishiimage.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

BIN
static/toux.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

BIN
static/tuceng.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
static/tuichu.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 583 B

BIN
static/wode.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
static/xuexiao.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 941 B

BIN
static/zanwu.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

BIN
static/zanwuchengji.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB