391 lines
8.8 KiB
Vue
391 lines
8.8 KiB
Vue
|
|
<template>
|
|||
|
|
<view class="hole-page">
|
|||
|
|
<view class="nav-bar"></view>
|
|||
|
|
<view class="upper-card">
|
|||
|
|
<view class="card-tit">
|
|||
|
|
<span>当前积分</span>
|
|||
|
|
<view>
|
|||
|
|
<view @click="showHelp">积分说明</view>
|
|||
|
|
<image src="../../static/alert.png" mode=""></image>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="score">{{ score }}</view>
|
|||
|
|
<view class="sub-tit">今日积分</view>
|
|||
|
|
<view class="sub-cont">
|
|||
|
|
<h4>
|
|||
|
|
<span>学习项目</span>
|
|||
|
|
<span>0分</span>
|
|||
|
|
</h4>
|
|||
|
|
<h4>
|
|||
|
|
<span>考试</span>
|
|||
|
|
<span>0分</span>
|
|||
|
|
</h4>
|
|||
|
|
<h4>
|
|||
|
|
<span>自测练习</span>
|
|||
|
|
<span>0分</span>
|
|||
|
|
</h4>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="to-mall">
|
|||
|
|
<view class="mall-lef">
|
|||
|
|
<image src="../../static/mallSelected.png" mode=""></image>
|
|||
|
|
<span style="padding-left: 10rpx;">前往积分商城兑换商品</span>
|
|||
|
|
</view>
|
|||
|
|
<view class="mall-rig" @click="toggleMall">立即兑换</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="lower-switch">
|
|||
|
|
<view
|
|||
|
|
class="recieve"
|
|||
|
|
:class="[{ active: switchCount == 0 }]"
|
|||
|
|
@click="midSwitch(0)"
|
|||
|
|
>
|
|||
|
|
奖惩记录
|
|||
|
|
</view>
|
|||
|
|
<view
|
|||
|
|
class="exchange"
|
|||
|
|
:class="[{ active: switchCount == 1 }]"
|
|||
|
|
@click="midSwitch(1)"
|
|||
|
|
>
|
|||
|
|
兑换记录
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
<view
|
|||
|
|
class="fetch-record"
|
|||
|
|
v-show="switchCount == 0"
|
|||
|
|
>
|
|||
|
|
|
|||
|
|
</view>
|
|||
|
|
<view
|
|||
|
|
class="exchange-record"
|
|||
|
|
v-show="switchCount == 1"
|
|||
|
|
>
|
|||
|
|
<view
|
|||
|
|
class="single-record"
|
|||
|
|
v-for="(gift, index) in exchangeRecord"
|
|||
|
|
:key="index"
|
|||
|
|
>
|
|||
|
|
<view class="gift-upper">
|
|||
|
|
<h3>{{ gift.shopName }}*{{ gift.shopSum }}</h3>
|
|||
|
|
<span>-{{ gift.changePoint }}</span>
|
|||
|
|
</view>
|
|||
|
|
<view class="gift-lower">
|
|||
|
|
{{ gift.shopTime }}
|
|||
|
|
</view>
|
|||
|
|
<!-- <view>{{ gift.shopName }}</view>
|
|||
|
|
<view>{{ gift.shopSum }}</view>
|
|||
|
|
<view>-{{ gift.changePoint }}</view>
|
|||
|
|
<view>{{ gift.shopTime }}</view> -->
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
<view
|
|||
|
|
class="exchange-record"
|
|||
|
|
v-show="switchCount == 0"
|
|||
|
|
>
|
|||
|
|
<view
|
|||
|
|
class="single-record"
|
|||
|
|
v-for="(gift, index) in awardPunishRecord"
|
|||
|
|
:key="index"
|
|||
|
|
>
|
|||
|
|
<view class="gift-upper">
|
|||
|
|
<h3 style="font-size: 16px;">{{ gift.pointResource }}</h3>
|
|||
|
|
<span>{{ gift.changePoint }}</span>
|
|||
|
|
</view>
|
|||
|
|
<view class="gift-lower">
|
|||
|
|
{{ gift.shopTime }}
|
|||
|
|
</view>
|
|||
|
|
<!-- <view>{{ gift.shopName }}</view>
|
|||
|
|
<view>{{ gift.shopSum }}</view>
|
|||
|
|
<view>-{{ gift.changePoint }}</view>
|
|||
|
|
<view>{{ gift.shopTime }}</view> -->
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
<uni-popup ref="popup" type="center" :mask-click="false">
|
|||
|
|
<view
|
|||
|
|
style="
|
|||
|
|
width: 75%;
|
|||
|
|
height: 100%;
|
|||
|
|
margin: 2% auto;
|
|||
|
|
background-color: #fff;
|
|||
|
|
box-sizing: border-box;
|
|||
|
|
padding: 20rpx 40rpx;
|
|||
|
|
font-size: 14px;
|
|||
|
|
line-height: 30px;
|
|||
|
|
display: flex;
|
|||
|
|
flex-direction: column;
|
|||
|
|
justify-content: space-around;
|
|||
|
|
"
|
|||
|
|
>
|
|||
|
|
根据现场施工人员实名制花名册,统一录入至“安全管控平台”,并设施每人初始安全积分,初始积分为60分。
|
|||
|
|
<br>
|
|||
|
|
施工人员可以通过参加安全质量培训,安全知识自学,举报违章操作,及时发现安全隐患,完成隐患排查及整改,发现他人违章,个人违章自查自改,安全竞赛取得成效或名次等方式获取相应的安全积分。
|
|||
|
|
<br>
|
|||
|
|
当施工人员被举报违章,发生不符合安全文明施工的行为,安全问题整改通知单整改不及时,不参加站班会及各类安全会议等情况将扣除相应积分。
|
|||
|
|
<br>
|
|||
|
|
个人积分设置两个档位,一是当个人积分下降至40分时,系统会发出预警,提醒作业人员尽快完成积分的补充;二是当个人积分下降至30分时,后台及个人手机端将会“亮红灯”,禁止相关施工人员进入现场作业。“亮红灯”后,施工人员只有参加项目部组织的安全考试合格后,积分恢复至30分以上方可重新进场作业。
|
|||
|
|
<!-- <button
|
|||
|
|
style="width: 100%; background-color: #04367a; color: #fff;"
|
|||
|
|
@click="closeHelp"
|
|||
|
|
>
|
|||
|
|
关闭说明
|
|||
|
|
</button> -->
|
|||
|
|
<view
|
|||
|
|
style="
|
|||
|
|
width: 100%;
|
|||
|
|
margin-top: 5vh;
|
|||
|
|
display: flex;
|
|||
|
|
justify-content: center;
|
|||
|
|
align-items: center;
|
|||
|
|
box-sizing: border-box;
|
|||
|
|
padding: 10rpx 0;
|
|||
|
|
font-size: 14px;
|
|||
|
|
background-color: #219ef8;
|
|||
|
|
color: #fff;
|
|||
|
|
border-radius: 15rpx;
|
|||
|
|
"
|
|||
|
|
@click="closeHelp"
|
|||
|
|
>
|
|||
|
|
关闭说明
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</uni-popup>
|
|||
|
|
</view>
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
<script>
|
|||
|
|
import { publicPath } from '../../public'
|
|||
|
|
export default {
|
|||
|
|
data() {
|
|||
|
|
return {
|
|||
|
|
score: uni.getStorageSync('point'),
|
|||
|
|
switchCount: 0,
|
|||
|
|
exchangeRecord: [],
|
|||
|
|
awardPunishRecord: []
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
methods: {
|
|||
|
|
midSwitch (count) {
|
|||
|
|
this.switchCount = count
|
|||
|
|
},
|
|||
|
|
toggleMall () {
|
|||
|
|
uni.navigateTo({
|
|||
|
|
url: '/pages/pointsMall/pointsMall'
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
showHelp () {
|
|||
|
|
this.$refs.popup.open()
|
|||
|
|
},
|
|||
|
|
closeHelp () {
|
|||
|
|
this.$refs.popup.close()
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
onShow() {
|
|||
|
|
let that = this
|
|||
|
|
that.exchangeRecord = []
|
|||
|
|
// 获取奖品兑换记录
|
|||
|
|
uni.request({
|
|||
|
|
url: publicPath + '/backstage/appshoping/getchangehistory',
|
|||
|
|
method: 'POST',
|
|||
|
|
header: {
|
|||
|
|
'content-type':'application/x-www-form-urlencoded; charset=UTF-8'
|
|||
|
|
},
|
|||
|
|
data: {
|
|||
|
|
userId: uni.getStorageSync('id'),
|
|||
|
|
shopId: '0'
|
|||
|
|
},
|
|||
|
|
success: (res) => {
|
|||
|
|
console.log(res);
|
|||
|
|
if (res.data.length != 0) {
|
|||
|
|
that.exchangeRecord = res.data
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
// 获取奖惩记录
|
|||
|
|
uni.request({
|
|||
|
|
url: publicPath + '/backstage/appshoping/getchangehistory',
|
|||
|
|
method: 'POST',
|
|||
|
|
header: {
|
|||
|
|
'content-type':'application/x-www-form-urlencoded; charset=UTF-8'
|
|||
|
|
},
|
|||
|
|
data: {
|
|||
|
|
userId: uni.getStorageSync('id'),
|
|||
|
|
shopId: ''
|
|||
|
|
},
|
|||
|
|
success: (res) => {
|
|||
|
|
console.log(res);
|
|||
|
|
if (res.data.length != 0) {
|
|||
|
|
that.awardPunishRecord = res.data
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
<style lang="scss">
|
|||
|
|
.hole-page{
|
|||
|
|
width: 100%;
|
|||
|
|
height: 100vh;
|
|||
|
|
background-color: #f7fbfe;
|
|||
|
|
.nav-bar{
|
|||
|
|
width: 100%;
|
|||
|
|
height: var(--status-bar-height);
|
|||
|
|
padding-top: var(--status-bar-height);
|
|||
|
|
}
|
|||
|
|
.upper-card{
|
|||
|
|
width: 95%;
|
|||
|
|
margin: 20rpx auto;
|
|||
|
|
border-radius: 25rpx;
|
|||
|
|
/* background-image: url('/static/pointsBgd.png');
|
|||
|
|
background-repeat: no-repeat;
|
|||
|
|
background-size: 100% 100%; */
|
|||
|
|
background: linear-gradient(90deg, #036acf, #1b8aec, #3fa7fe);
|
|||
|
|
box-sizing: border-box;
|
|||
|
|
padding: 25rpx;
|
|||
|
|
color: #fff;
|
|||
|
|
.card-tit{
|
|||
|
|
width: 100%;
|
|||
|
|
height: 40rpx;
|
|||
|
|
display: flex;
|
|||
|
|
justify-content: space-between;
|
|||
|
|
align-items: center;
|
|||
|
|
font-size: 14px;
|
|||
|
|
view{
|
|||
|
|
width: 25%;
|
|||
|
|
height: 100%;
|
|||
|
|
display: flex;
|
|||
|
|
align-items: center;
|
|||
|
|
justify-content: space-around;
|
|||
|
|
image{
|
|||
|
|
width: 20%;
|
|||
|
|
height: 80%;
|
|||
|
|
}
|
|||
|
|
view{
|
|||
|
|
flex: 1;
|
|||
|
|
font-weight: bold;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
.score{
|
|||
|
|
width: 100%;
|
|||
|
|
font-size: 40px;
|
|||
|
|
font-weight: bold;
|
|||
|
|
margin: 15rpx auto;
|
|||
|
|
}
|
|||
|
|
.sub-tit{
|
|||
|
|
font-size: 14px;
|
|||
|
|
margin: 15rpx auto;
|
|||
|
|
}
|
|||
|
|
.sub-cont{
|
|||
|
|
width: 100%;
|
|||
|
|
display: flex;
|
|||
|
|
h4{
|
|||
|
|
margin-right: 6vw;
|
|||
|
|
box-sizing: border-box;
|
|||
|
|
display: flex;
|
|||
|
|
align-items: center;
|
|||
|
|
font-size: 14px;
|
|||
|
|
font-weight: normal;
|
|||
|
|
border-radius: 15rpx;
|
|||
|
|
span:first-child{
|
|||
|
|
padding-right: 10rpx;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
h4:last-child{
|
|||
|
|
margin-right: 0;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
.to-mall{
|
|||
|
|
width: 95%;
|
|||
|
|
margin: 20rpx auto;
|
|||
|
|
display: flex;
|
|||
|
|
justify-content: space-between;
|
|||
|
|
align-items: center;
|
|||
|
|
font-size: 14px;
|
|||
|
|
box-sizing: border-box;
|
|||
|
|
padding: 0 10rpx;
|
|||
|
|
.mall-lef{
|
|||
|
|
width: 50%;
|
|||
|
|
height: 40rpx;
|
|||
|
|
display: flex;
|
|||
|
|
align-items: center;
|
|||
|
|
image{
|
|||
|
|
width: 10%;
|
|||
|
|
height: 100%;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
.mall-rig{
|
|||
|
|
color: #219ef8;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
.lower-switch{
|
|||
|
|
width: 95%;
|
|||
|
|
margin: 20rpx auto;
|
|||
|
|
margin-bottom: 0;
|
|||
|
|
display: flex;
|
|||
|
|
align-items: center;
|
|||
|
|
background-color: #fff;
|
|||
|
|
box-sizing: border-box;
|
|||
|
|
padding: 20rpx;
|
|||
|
|
border-radius: 20rpx;
|
|||
|
|
view{
|
|||
|
|
display: flex;
|
|||
|
|
justify-content: center;
|
|||
|
|
align-items: center;
|
|||
|
|
box-sizing: border-box;
|
|||
|
|
padding: 15rpx;
|
|||
|
|
font-size: 16px;
|
|||
|
|
margin-right: 15rpx;
|
|||
|
|
}
|
|||
|
|
.active{
|
|||
|
|
color: #219ef8;
|
|||
|
|
border-bottom: 2px solid #219ef8;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
.fetch-record, .exchange-record{
|
|||
|
|
width: 95%;
|
|||
|
|
box-sizing: border-box;
|
|||
|
|
border-radius: 15rpx;
|
|||
|
|
padding: 10rpx;
|
|||
|
|
margin: 0 auto;
|
|||
|
|
background-color: #fff;
|
|||
|
|
}
|
|||
|
|
.fetch-record{
|
|||
|
|
// background-color: #0053FD;
|
|||
|
|
}
|
|||
|
|
.exchange-record{
|
|||
|
|
display: flex;
|
|||
|
|
flex-direction: column;
|
|||
|
|
.single-record{
|
|||
|
|
width: 100%;
|
|||
|
|
margin: 20rpx auto;
|
|||
|
|
box-sizing: border-box;
|
|||
|
|
padding: 20rpx;
|
|||
|
|
display: flex;
|
|||
|
|
flex-direction: column;
|
|||
|
|
border-bottom: 1px solid #dbdbdb;
|
|||
|
|
.gift-upper{
|
|||
|
|
width: 100%;
|
|||
|
|
margin-bottom: 10rpx;
|
|||
|
|
display: flex;
|
|||
|
|
justify-content: space-between;
|
|||
|
|
align-items: center;
|
|||
|
|
h3{
|
|||
|
|
font-size: 20px;
|
|||
|
|
}
|
|||
|
|
span{
|
|||
|
|
font-size: 20px;
|
|||
|
|
font-weight: bold;
|
|||
|
|
color: red;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
.gift-lower{
|
|||
|
|
width: 100%;
|
|||
|
|
font-size: 14px;
|
|||
|
|
color: #7f7f7f;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</style>
|