修改
486
pages/Parentinformation/Parentinformation.vue
Normal 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
@ -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
@ -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-size:62rpx 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>
|
||||
79
pages/homepage/homepage.vue
Normal 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
|
After Width: | Height: | Size: 1.4 KiB |
BIN
static/baogao.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
static/chengji.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
static/gongli.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
static/grade.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
static/homepage.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
static/idcard.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
static/jiazhang.png
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
static/name-item.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
static/phone-item.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
static/poser.png
Normal file
|
After Width: | Height: | Size: 28 KiB |
BIN
static/renshi.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
static/shouye.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
static/sili.png
Normal file
|
After Width: | Height: | Size: 3.5 KiB |
BIN
static/tijianbaogao.png
Normal file
|
After Width: | Height: | Size: 850 B |
BIN
static/tishi.png
Normal file
|
After Width: | Height: | Size: 7.4 KiB |
BIN
static/tishiimage.png
Normal file
|
After Width: | Height: | Size: 5.0 KiB |
BIN
static/toux.png
Normal file
|
After Width: | Height: | Size: 7.9 KiB |
BIN
static/tuceng.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
static/tuichu.png
Normal file
|
After Width: | Height: | Size: 583 B |
BIN
static/wode.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
static/xuexiao.png
Normal file
|
After Width: | Height: | Size: 941 B |
BIN
static/zanwu.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
static/zanwuchengji.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |