Quellcode durchsuchen

Merge branch 'nwafu_1st_system_v1.1_202605(日志审计)' into SCHOOL-XiBeiNongLin

dedsudiyu vor 9 Stunden
Ursprung
Commit
af8fbab453

+ 6 - 20
pages.json

@@ -291,6 +291,12 @@
 					"style": {
 						"navigationBarTitleText": "化学品信息"
 					}
+				},
+				{
+					"path": "views/pointsDetails/pointsDetails",
+					"style": {
+						"navigationBarTitleText": "积分明细"
+					}
 				}
 			]
 		},
@@ -475,26 +481,6 @@
 						"navigationBarTitleText": "扫码成功"
 					}
 				},
-				{
-					"path": "views/integralManage/creditPoints", //信用分记录
-					"style": {
-						"navigationBarTitleText": "信用分记录",
-						"enablePullDownRefresh": true
-					}
-				},
-				{
-					"path": "views/integralManage/rewardPoints", //奖励分记录
-					"style": {
-						"navigationBarTitleText": "奖励分记录",
-						"enablePullDownRefresh": true
-					}
-				},
-				{
-					"path": "views/integralManage/pointsRecord", //积分记录
-					"style": {
-						"navigationBarTitleText": "积分记录"
-					}
-				},
 				/*准入申请*/
 				{
 					"path": "views/accessApplication/accessApplication", //准入申请

+ 11 - 4
pages/views/pupilPage/pupilMine.vue

@@ -21,19 +21,19 @@
 		</view>
 		<!-- 信用分面板 -->
 		<view class="points-max-box">
-			<view class="points-big-box">
+			<view class="points-big-box" @click="goPointsDetails()">
 				<view class="num-p colorA">{{creditScore!=null?creditScore:'-'}}</view>
 				<view class="img-box">
 					<img :src="imagesUrl('commonality/icon_wd_xyf@1x.png')">
-					<view>信用</view>
+					<view>信用</view>
 				</view>
 			</view>
 			<view class="border-null-p"></view>
-			<view class="points-big-box">
+			<view class="points-big-box" @click="goPointsDetails()">
 				<view class="num-p colorB">{{bonusPoints!=null?bonusPoints:'-'}}</view>
 				<view class="img-box">
 					<img :src="imagesUrl('commonality/icon_wd_jlf@1x.png')">
-					<view>奖励分</view>
+					<view>分</view>
 				</view>
 			</view>
 			<view class="border-null-p"></view>
@@ -124,6 +124,13 @@
 				this.systemUserProfile();
 				this.creditAppletGetMyPointsLogInfo();
 			},
+			//跳转积分明细
+			goPointsDetails(){
+				uni.navigateTo({
+					url: '/pages_basics/views/pointsDetails/pointsDetails?q=' +
+									encodeURIComponent(JSON.stringify(this.bonusPoints?this.bonusPoints:0))
+				});
+			},
 			scanCode() {
 				uni.scanCode({
 					onlyFromCamera: true,

+ 11 - 4
pages/views/teacherPage/teacherMine.vue

@@ -18,19 +18,19 @@
 		</view>
 		<!-- 信用分面板 -->
 		<view class="points-max-box">
-			<view class="points-big-box">
+			<view class="points-big-box" @click="goPointsDetails()">
 				<view class="num-p colorA">{{creditScore!=null?creditScore:'-'}}</view>
 				<view class="img-box">
 					<img :src="imagesUrl('commonality/icon_wd_xyf@1x.png')">
-					<view>信用</view>
+					<view>信用</view>
 				</view>
 			</view>
 			<view class="border-null-p"></view>
-			<view class="points-big-box">
+			<view class="points-big-box" @click="goPointsDetails()">
 				<view class="num-p colorB">{{bonusPoints!=null?bonusPoints:'-'}}</view>
 				<view class="img-box">
 					<img :src="imagesUrl('commonality/icon_wd_jlf@1x.png')">
-					<view>奖励分</view>
+					<view>分</view>
 				</view>
 			</view>
 			<view class="border-null-p"></view>
@@ -134,6 +134,13 @@
 				this.systemUserProfile();
 				this.creditAppletGetMyPointsLogInfo();
 			},
+			//跳转积分明细
+			goPointsDetails(){
+				uni.navigateTo({
+					url: '/pages_basics/views/pointsDetails/pointsDetails?q=' +
+									encodeURIComponent(JSON.stringify(this.bonusPoints?this.bonusPoints:0))
+				});
+			},
 			scanCode() {
 				uni.scanCode({
 					onlyFromCamera: true,

+ 8 - 0
pages_basics/api/index.js

@@ -258,3 +258,11 @@ export const chemicalAppletSelectStockRecord  = (data) => {
 				data: { ...data }
     })
 };
+//用户积分查询
+export const creditMainGetUserReward  = (data) => {
+    return apiResquest({
+        url: `/credit/main/getUserReward`,
+        method: 'POST',
+				data: { ...data }
+    })
+};

+ 270 - 0
pages_basics/views/pointsDetails/pointsDetails.vue

@@ -0,0 +1,270 @@
+<!-- 积分明细 -->
+<template>
+	<view class="pointsDetails">
+		<view class="top-text-box">
+			<view class="img-box">
+				<img class="img-view" :src="imagesUrl('commonality/icon_wd_jlf@1x.png')">
+				<view class="img-text">{{maxNum}}</view>
+			</view>
+			<view class="text-box">积分可以在兑换机扫码兑换丰富礼品</view>
+		</view>
+		<view class="top-button-box">
+			<view :class="checkIndex == 4?'check-button':''" @click="checkButton(4)">全部收支</view>
+			<view :class="checkIndex == 1?'check-button':''" @click="checkButton(1)">已获取</view>
+			<view :class="checkIndex == 2?'check-button':''" @click="checkButton(2)">已消耗</view>
+		</view>
+		<scroll-view scroll-y @scrolltolower="scrollGet" class="for-max-box">
+			<view class="for-big-box" v-for="(item,index) in dataList" :key="index">
+				<img class="left-img" :src="imagesUrl('commonality/icon_wd_jlf@1x.png')"/>
+				<!-- <view class="center-box" v-if="item.data1 == 1">
+					<view>{{item.changeInfo}}</view>
+					<view>{{item.data3}}</view>
+				</view> -->
+				<view class="center-box-1">
+					<view>{{item.changeInfo}}</view>
+				</view>
+				<view class="right-box">
+					<view :class="item.scoreChange>0?'up-color':''">{{item.scoreChange>0?'+'+item.scoreChange:item.scoreChange}}</view>
+					<view>{{item.createTime}}</view>
+				</view>
+			</view>
+			<view class="get-data-null-p" v-if="getDataType">- 没有更多数据 -</view>
+			<view class="get-data-null-p" v-if="!getDataType && textShowType">- 上划加载更多 -</view>
+		</scroll-view>
+	</view>
+</template>
+
+<script>
+	import { creditMainGetUserReward } from '@/pages_basics/api/index.js'
+	export default {
+		data() {
+			return {
+				total: 0,
+				dataList: [
+					{
+						data1:'1',
+						data2:'礼品兑换消耗积分',
+						data3:'(矿泉水)',
+						data4:'-10',
+						data5:'2026-03-06 15:29',
+					},
+					{
+						data1:'2',
+						data2:'完成课程学习获取积分',
+						data3:'',
+						data4:'+10',
+						data5:'2026-03-06 15:29',
+					},
+				],
+				getDataType: false,
+				// 查询参数
+				checkIndex:4,
+				queryParams: {
+					page: 1,
+					pageSize: 10,
+				},
+				maxNum:0,
+				textShowType:false,
+			}
+		},
+		onLoad(option){
+			console.log('option',option)
+			this.$set(this,'maxNum',option.q?option.q:0);
+			this.getList()
+		},
+		onShow(){
+
+		},
+		methods:{
+			checkButton(type){
+				if(this.checkIndex!=type){
+					this.$set(this,'checkIndex',type);
+					this.$set(this,'total',0);
+					this.$set(this,'dataList',[]);
+					this.$set(this,'getDataType',false);
+					this.$set(this.queryParams,'page',1);
+					this.getList();
+				}
+			},
+			//滚动加载事件
+			scrollGet() {
+				let self = this;
+				if (self.total / self.queryParams.pageSize <= self.queryParams.page) {
+					this.$set(this, 'getDataType', true);
+				} else {
+					this.queryParams.page += 1;
+					this.$nextTick(() => {
+						this.getList();
+					})
+				}
+			},
+			//获取实验室列表
+			async getList() {
+				let self = this;
+				let obj = JSON.parse(JSON.stringify(this.queryParams));
+				if(this.checkIndex == 4){
+					obj.bonusType = '';
+				}else{
+					obj.bonusType = this.checkIndex
+				}
+				const {
+					data
+				} = await creditMainGetUserReward(obj);
+				if (data.code == 200) {
+					if(self.queryParams.page == 1){
+						this.dataList = data.data.records;
+						this.total = data.data.total;
+						if (data.data.total / self.queryParams.pageSize <= self.queryParams.page) {
+							this.$set(this, 'getDataType', true);
+						}
+					}else{
+						this.dataList = [...this.dataList, ...data.data.records]
+						this.total = data.data.total;
+						if (data.data.total / self.queryParams.pageSize <= self.queryParams.page) {
+							this.$set(this, 'getDataType', true);
+						}
+					}
+					this.$set(this,'textShowType',true);
+				}
+			},
+		}
+	}
+</script>
+
+<style lang="stylus" scoped>
+	.pointsDetails{
+		height:100%;
+		width:100%
+		overflow: hidden;
+		display: flex;
+		flex-direction: column;
+		.top-text-box{
+			background-color: #fff;
+			height:230rpx;
+			.img-box{
+				display: flex;
+				margin: 40rpx 0 0 300rpx;
+				.img-view{
+					width:60rpx;
+					height:56rpx;
+				}
+				.img-text{
+					line-height:56rpx;
+					height:56rpx;
+					flex:1;
+					font-size:46rpx;
+					margin-left:20rpx;
+				}
+			}
+			.text-box{
+				background-color: #FDECD5;
+				color:#333;
+				text-align: center;
+				font-size:28rpx;
+				width:540rpx;
+				height:60rpx;
+				line-height:60rpx;
+				border-radius:30rpx;
+				margin: 30rpx auto 0
+			}
+		}
+		.top-button-box{
+			height:100rpx;
+			display: flex;
+			view{
+				width: 180rpx;
+				background-color: #D7D7D7;
+				color:#333;
+				text-align: center;
+				height:60rpx;
+				line-height:60rpx;
+				margin:20rpx 0 0 20rpx;
+				border-radius:10rpx;
+			}
+			.check-button{
+				background-color:#06D0D0;
+				color:#fff;
+			}
+		}
+		
+		.for-max-box {
+			flex: 1;
+			overflow-y scroll;
+			.null-img {
+				display block;
+				width: 276rpx;
+				height: 321rpx;
+				position absolute;
+				top: 200rpx;
+				left: 274rpx;
+			}
+			.for-big-box:nth-child(1) {
+				border-top: none;
+			}
+			.for-big-box{
+				background: #fff;
+				border-top:1rpx solid #dedede;
+				display: flex;
+				.left-img{
+					width:30rpx;
+					height:28rpx;
+					margin:61rpx 30rpx 61rpx 40rpx;
+				}
+				.center-box{
+					flex:1;
+					padding: 40rpx 0;
+					view{
+						height:35rpx;
+						line-height:35rpx;
+						font-size:28rpx;
+						font-weight:700;
+					}
+					view:nth-child(1){
+						
+					}
+					view:nth-child(2){
+						color:#A1988D;
+					}
+				}
+				.center-box-1{
+					flex:1;
+					padding: 40rpx 0;
+					view{
+						height:70rpx;
+						line-height:70rpx;
+						font-size:28rpx;
+						font-weight:700;
+					}
+				}
+				.right-box{
+					// width:250rpx;
+					width:288rpx;
+					view:nth-child(1){
+						padding-right:30rpx;
+						text-align: right;
+						color:#666;
+						line-height:60rpx;
+						height:60rpx;
+						margin-top:20rpx;
+						font-weight:700;
+					}
+					view:nth-child(2){
+						font-size:26rpx;
+						color:#A1988D;
+						line-height:60rpx;
+						height:60rpx;
+					}
+					.up-color{
+						color: #d9001d !important;;
+					}
+				}
+			}
+		}
+		.get-data-null-p{
+			text-align: center;
+			height:80rpx;
+			line-height:80rpx;
+			color:#999;
+		}
+	}
+</style>

+ 0 - 437
pages_student/views/integralManage/creditPoints.vue

@@ -1,437 +0,0 @@
-<!--信用分-->
-<template>
-    <view id="creditPoints">
-        <view class="top-title-box">
-            <picker @change="bindPickerChange" :value="pickerIndex" :range="pickerList" range-key="name">
-                <view class="top-title-button-box">
-                    <view>{{pickerList[pickerIndex].name}}</view>
-                    <img :src="imagesUrl('student/icon_jlfmx_xl.png')">
-                </view>
-            </picker>
-            <view class="top-title-null-p"></view>
-            <view class="top-title-get" v-if="pickerIndex == 0 || pickerIndex == 1">总获得:<span>{{obtainPoints}}</span></view>
-            <view class="top-title-exchange" v-if="pickerIndex == 0 || pickerIndex == 2">总减扣:<span>{{deductPoints}}</span></view>
-            <view class="top-title-img" @click="shadeTypeButton">
-                <img :src="imagesUrl('student/icon_jlfmx_bz.png')">
-            </view>
-        </view>
-        <scroll-view scroll-y @scrolltolower="scrollGet" class="for-max-box">
-            <view class="for-min-box" v-for="(item,index) in infoList" :key="index">
-                <view class="for-top-title">
-                    <view class="left-box">
-                        <picker mode="date" fields="month" @change="bindDateChange">
-                            <view class="for-top-title-time">{{item.yearMonth}}</view>
-                        </picker>
-                    </view>
-                    <view class="right-box" @click.stop="moonClick(item)">
-                        <img class="img-one" v-if="item.unfoldType" :src="imagesUrl('commonality/icon_06.png')">
-                        <img class="img-two" v-if="!item.unfoldType" :src="imagesUrl('commonality/icon_04.png')">
-                        <view class="for-top-title-null"></view>
-                        <view class="for-top-title-get" v-if="pickerIndex == 0 || pickerIndex == 1">获得:{{item.obtainPoints}}</view>
-                        <view class="for-top-title-border" v-if="pickerIndex == 0"></view>
-                        <view class="for-top-title-exchange" v-if="pickerIndex == 0 || pickerIndex == 2">减扣:{{item.deductPoints}}</view>
-                    </view>
-                </view>
-                <view class="for-list-min-box" v-for="(minItem,indexTwo) in item.elPointsLoginfoList" :key="indexTwo" v-if="item.unfoldType">
-                    <img :src="imagesUrl('commonality/icon_wd_jlf.png')">
-                    <view class="time-box">
-                        <view>{{minItem.messageContent}}</view>
-                        <view>{{minItem.createTime}}</view>
-                    </view>
-                    <view class="num-p" :class="minItem.points>0?'colorA':(minItem.points<0?'colorB':'')">{{minItem.points>0?'+'+minItem.points:minItem.points}}</view>
-                </view>
-                <view class="for-null-title" v-if="!item.elPointsLoginfoList[0]">暂无数据</view>
-            </view>
-            <img class="null-img" v-if="!infoList[0]" :src="imagesUrl('commonality/null-data-1.png')">
-        </scroll-view>
-        <view class="shade-max-box" v-if="shadeType">
-            <view class="shade-big-box">
-                <view class="shade-title-box">
-                    <view class="img-box"></view>
-                    <view class="title-view">信用分规则</view>
-                    <view class="img-box" @click="shadeTypeButton">
-                        <img :src="imagesUrl('student/icon_jlfgz_gb.png')">
-                    </view>
-                </view>
-                <view class="shade-text-max-box">
-                    <view class="shade-text-title title-colorA">获得</view>
-                    <view class="shade-text-p">满足信用合格分获取条件,获得信用合格分;完成违规处理恢复信用分。</view>
-                    <view class="shade-text-title title-colorB">减扣</view>
-                    <view class="shade-text-p">违规扣分;及时进行违规处理,通过在安全学习与考试一体机学习、考试、做题等方式恢复。</view>
-                </view>
-                <view class="shade-button" @click="shadeTypeButton">知道了</view>
-            </view>
-        </view>
-    </view>
-</template>
-
-<script>
-    import { monthAllCount, monthCountPoints } from '@/api/apiDemo/index.js'
-    export default {
-        name: "creditPoints",
-        data() {
-            return {
-                //遮罩层开关状态
-                shadeType:false,
-                //选项数据
-                pickerList:[
-                    {
-                        name:"全部",
-                        value:"0",
-                    },
-                    {
-                        name:"获得",
-                        value:"1",
-                    },
-                    {
-                        name:"减扣",
-                        value:"2",
-                    },
-                ],
-                pickerIndex:0,
-                //用户数据
-                deductPoints:"",
-                obtainPoints:"",
-                //列表数据
-                infoList:[],
-                getData:{
-                    page:1,
-                    pageSize:20,
-                    getType:true,
-                    nullDataType:true,
-                },
-                //年月
-                yearMonth:"",
-            }
-        },
-        onPullDownRefresh(){
-            this.page = 1;
-            this.infoList = [];
-            this.yearMonth = "";
-            this.getList();
-        },
-        onLoad() {
-            this.getMonthAllCount();
-            this.getList();
-        },
-        methods: {
-            //遮罩层开关
-            shadeTypeButton(){
-                this.shadeType = !this.shadeType;
-            },
-            //分类选择触发
-            bindPickerChange(data){
-                this.page = 1;
-                this.infoList = [];
-                this.pickerIndex = data.detail.value;
-                this.getList();
-            },
-            //时间选择触发
-            bindDateChange(data){
-                this.page = 1;
-                this.infoList = [];
-                this.yearMonth = data.detail.value;
-                this.getList();
-            },
-            //月数据展开关闭
-            moonClick(item){
-                item.unfoldType = !item.unfoldType;
-            },
-            //滚动事件
-            scrollGet(){
-                if(this.getData.getType){
-                    this.getData.page += 1;
-                    this.getList();
-                }
-            },
-            //获取总值
-            async getMonthAllCount(){
-                let obj = {
-                    pointsType:"1"
-                };
-                const {data} = await monthAllCount(obj);
-                if(data.code==200){
-                    this.deductPoints = data.data.deductPoints;
-                    this.obtainPoints = data.data.obtainPoints;
-                }
-            },
-            //获取列表数据
-            async getList(){
-                let self = this;
-                let obj = {
-                    bonusType:this.pickerIndex,
-                    pointsType:"1",
-                    yearMonth:this.yearMonth,
-                    pageNum:this.getData.page,
-                    pageSize:this.getData.pageSize,
-                };
-                const {data} = await monthCountPoints(obj);
-                if(data.code==200){
-                    for(let i=0;i<data.rows.length;i++){
-                        data.rows[i].unfoldType = true
-                    }
-                    if(self.page==1){
-                        if(data.rows.length > 0 && data.rows.length == self.getData.pageSize){
-                            self.infoList = data.rows;
-                        }else if(data.rows.length > 0 && data.rows.length != self.getData.pageSize){
-                            self.infoList = data.rows;
-                            self.getData.getType = false;
-                            self.getData.nullDataType = true;
-                        }else{
-                            self.getData.getType = false;
-                            self.getData.nullDataType = true;
-                        }
-                    }else{
-                        if(data.rows.length > 0 && data.rows.length == self.getData.pageSize){
-                            self.infoList = self.infoList.concat(data.rows)
-                        }else if(data.rows.length > 0 && data.rows.length != self.getData.pageSize){
-                            self.infoList = self.infoList.concat(data.rows);
-                            self.getData.getType = false;
-                            self.getData.nullDataType = true;
-                        }else{
-                            self.getData.getType = false;
-                            self.getData.nullDataType = true;
-                        }
-                    }
-                    wx.stopPullDownRefresh();
-                }
-            },
-        }
-    }
-</script>
-
-<style lang="stylus" scoped>
-    #creditPoints{
-        height:100%;
-        width:100%;
-        display flex
-        flex-direction column
-        .top-title-box{
-            height:100rpx;
-            background #fff
-            border-bottom:20rpx solid #f5f5f5;
-            display flex
-            .top-title-button-box{
-                width:150rpx;
-                height:60rpx;
-                display flex
-                border-radius:30rpx;
-                background #0183fa
-                margin:20rpx;
-                view{
-                    flex:1;
-                    color:#fff;
-                    text-align center
-                    font-size:26rpx;
-                    line-height:60rpx;
-                }
-                img{
-                    width:24rpx;
-                    height:14rpx;
-                    margin:24rpx 25rpx 0 0;
-                }
-            }
-            .top-title-null-p{
-                flex:1;
-            }
-            .top-title-get{
-                line-height:100rpx;
-                font-size:26rpx;
-                margin-right:20rpx;
-            }
-            .top-title-exchange{
-                line-height:100rpx;
-                font-size:26rpx;
-            }
-            .top-title-img{
-                height:100rpx;
-                width:100rpx;
-                img{
-                    width:28rpx;
-                    height:28rpx;
-                    margin:38rpx 36rpx 0 36rpx;
-                }
-            }
-        }
-        .for-max-box{
-            flex:1;
-            overflow-y scroll
-            .for-min-box{
-                .for-top-title{
-                    background #e0e0e0
-                    line-height:80rpx;
-                    display: flex
-                    font-size:26rpx;
-                    color:#333;
-                    padding:0 20rpx;
-                    .left-box{
-                        .for-top-title-time{
-                            margin-right:20rpx;
-                        }
-                    }
-                    .right-box{
-                        display flex
-                        flex:1;
-                        .img-one{
-                            margin-top:36rpx;
-                            width:24rpx;
-                            height:12rpx;
-                        }
-                        .img-two{
-                            margin-top:28rpx;
-                            width:12rpx;
-                            height:24rpx;
-                        }
-                        .for-top-title-null{
-                            flex:1;
-                        }
-                        .for-top-title-get{
-
-                        }
-                        .for-top-title-border{
-                            height:26rpx;
-                            margin:28rpx 18rpx;
-                            width:1rpx;
-                            background #999
-                        }
-                        .for-top-title-exchange{
-
-                        }
-                    }
-                }
-                .for-list-min-box{
-                    // height:110rpx;
-                    display flex
-                    padding:0 20rpx;
-                    background #fff
-                    border-top:1rpx solid #e0e0e0;
-                    img{
-                        margin:42rpx 25rpx 0 0;
-                        height:26rpx;
-                        width:30rpx;
-                    }
-                    .time-box{
-                        flex:1;
-                        view:nth-child(1){
-							padding-top:6px;
-                            line-height:30rpx;
-                            margin-top:13rpx;
-                            font-size:24rpx;
-                            color:#333;
-							display: -webkit-box;
-							-webkit-box-orient: vertical;
-							-webkit-line-clamp: 3;
-							overflow: hidden;
-                        }
-                        view:nth-child(2){
-                            line-height:39rpx;
-                            font-size:24rpx;
-                            color:#999;
-							padding-bottom:6px;
-                        }
-                    }
-                    .num-p{
-						margin-left:20rpx;
-                        line-height:110rpx;
-                        font-size:24rpx;
-                        font-weight:700;
-                    }
-                    .colorA{
-                        color:#0b8d0e;
-                    }
-                    .colorB{
-                        color:#ff9300;
-                    }
-                }
-                .for-null-title{
-                    text-align:center;
-                    line-height:110rpx;
-                    color:#999;
-                    font-size:24rpx;
-                }
-            }
-            .null-img{
-                display block
-                width:276rpx;
-                height:321rpx;
-                position absolute
-                top:100rpx;
-                left:274rpx;
-            }
-        }
-        .shade-max-box{
-            width:100%;
-            height:100%;
-            position fixed
-            top:0;
-            left:0;
-            background rgba(0,0,0,0.4)
-            .shade-big-box{
-                width:528rpx;
-                height:560rpx;
-                border-radius:10rpx;
-                background #fff
-                position absolute
-                left:50%;
-                top:50%;
-                margin-left:-264rpx;
-                margin-top:-280rpx;
-                display flex
-                flex-direction column
-                .shade-title-box{
-                    height:88rpx;
-                    display flex
-                    .title-view{
-                        font-size:28rpx;
-                        color:#333;
-                        flex:1;
-                        text-align center;
-                        line-height:88rpx;
-                    }
-                    .img-box{
-                        width:68rpx;
-                        height:68rpx;
-                        img{
-                            height:28rpx;
-                            width:28rpx;
-                            margin:20rpx;
-                        }
-
-                    }
-                }
-                .shade-text-max-box{
-                    flex:1;
-                    margin:0 37rpx;
-                    .shade-text-title{
-                        line-height:28rpx;
-                        font-size:28rpx;
-                        margin-bottom:24rpx;
-                    }
-                    .shade-text-p{
-                        font-size:24rpx;
-                        margin-bottom:24rpx;
-						overflow :hidden;
-                    }
-                    .title-colorA{
-                        color:#0B8D0E;
-                    }
-                    .title-colorB{
-                        color:#FF9300;
-                    }
-                }
-                .shade-button{
-                    width:300rpx;
-                    height:60rpx;
-                    text-align center;
-                    line-height:60rpx;
-                    color:#fff;
-                    font-size:28rpx;
-                    background #0183FA
-                    border-radius:10rpx;
-                    margin:0 auto 40rpx;
-                }
-            }
-        }
-    }
-
-</style>

+ 0 - 185
pages_student/views/integralManage/pointsRecord.vue

@@ -1,185 +0,0 @@
-<!-- 积分记录 -->
-<template>
-    <view id="pointsRecord">
-        <view class="top-max-box">
-            <img :src="imagesUrl('commonality/icon_wd_jlf.png')">
-            <view>当前积分:</view>
-            <view>{{recordNum}}</view>
-        </view>
-        <scroll-view scroll-y @scrolltolower="scrollGet" class="info-max-box">
-            <view class="for-info-box" v-for="(item,index) in infoList" :key="index" @click="goInfoPage(item)">
-                <view class="left-box">
-                    <view>{{item.remark}}</view>
-                    <view>{{item.createTime}}</view>
-                </view>
-                <view class="right-box" :class="{'colorA':item.recordType.code == 1}">{{item.recordType.code==1?'+':'-'}}{{item.points}}</view>
-            </view>
-            <view class="get-null-box" v-if="getData.nullDataType">暂无更多数据</view>
-        </scroll-view>
-    </view>
-</template>
-
-<script>
-    import { listMyApp,countMyApp } from '@/api/apiDemo/index.js'
-    export default {
-        data() {
-            return {
-                recordNum:"",
-                infoList:[],
-                //列表请求参数
-                getData:{
-                    page:1,
-                    pageSize:20,
-                    getType:true,
-                    nullDataType:true,
-                }
-            }
-        },
-        onLoad() {
-            this.clearData();
-            this.countMyApp();
-            this.getList();
-        },
-        methods: {
-            //获取积分总数
-            async countMyApp() {
-                const {data} = await countMyApp()
-                if(data.code == 200){
-					if(data.data){
-						this.recordNum = data.data;
-					}else{
-						this.recordNum = 0;
-					}
-                }
-            },
-            //清除
-            clearData(){
-                this.recordNum = "";
-                this.infoList = [];
-                this.getData.page = 1;
-                this.getData.getType = true;
-                this.getData.nullDataType = true;
-            },
-            //滚动事件
-            scrollGet(){
-                if(this.getData.getType){
-                    this.getData.page += 1;
-                    this.getList();
-                }
-            },
-            //获取列表数据
-            async getList(){
-                let self = this;
-                let obj = {
-                    pageNum:this.getData.page,
-                    pageSize:this.getData.pageSize,
-                }
-                const {data} = await listMyApp(obj)
-                if(data.code==200){
-                    if(self.page==1){
-                        if(data.rows.length > 0 && data.rows.length == self.getData.pageSize){
-                            self.infoList = data.rows;
-                        }else if(data.rows.length > 0 && data.rows.length != self.getData.pageSize){
-                            self.infoList = data.rows;
-                            self.getData.getType = false;
-                            self.getData.nullDataType = true;
-                        }else{
-                            self.getData.getType = false;
-                            self.getData.nullDataType = true;
-                        }
-                    }else{
-                        if(data.rows.length > 0 && data.rows.length == self.getData.pageSize){
-                            self.infoList = self.infoList.concat(data.rows)
-                        }else if(data.rows.length > 0 && data.rows.length != self.getData.pageSize){
-                            self.infoList = self.infoList.concat(data.rows);
-                            self.getData.getType = false;
-                            self.getData.nullDataType = true;
-                        }else{
-                            self.getData.getType = false;
-                            self.getData.nullDataType = true;
-                        }
-                    }
-                }
-            },
-        }
-    }
-</script>
-
-<style lang="stylus" scoped>
-    #pointsRecord{
-        height:100%;
-        width:100%;
-        display flex;
-        flex-direction column
-        .top-max-box{
-            height:100rpx;
-            display flex
-            background :#fff;
-            margin-bottom:20rpx;
-            img{
-                height:30rpx;
-                width:30rpx;
-                margin:35rpx 35rpx 35rpx 20rpx;
-            }
-            view:nth-child(2){
-                line-height:99rpx;
-                font-size:30rpx;
-                color: #999999;
-                width:150rpx;
-            }
-            view:nth-child(3){
-                flex:1;
-                line-height:99rpx;
-                font-size:30rpx;
-                color: #333333;
-            }
-        }
-        .info-max-box{
-            flex:1;
-            overflow: scroll
-            .for-info-box:nth-child(1){
-                border:none;
-            }
-            .for-info-box{
-                background #fff
-                // height:120rpx;
-                border-top:1rpx solid #F5F5F5;
-                display flex
-                .left-box{
-                    margin-left:20rpx;
-                    flex:1;
-                    view:nth-child(1){
-                        width:500rpx;
-                        line-height: 30rpx;
-                        font-size: 28rpx;
-                        color: #333333;
-                        margin-top:23rpx;
-                    }
-                    view:nth-child(2){
-                        line-height: 20rpx;
-                        font-size: 26rpx;
-                        color: #999999;
-                        margin:23rpx 0;
-
-                    }
-                }
-                .right-box{
-                    width:200rpx;
-                    line-height:120rpx;
-                    font-size: 28rpx;
-                    text-align right;
-                    margin-right:20rpx;
-                }
-                .colorA{
-                    color:#12AE2B;
-                }
-            }
-            .get-null-box{
-                height:100rpx;
-                line-height:100rpx;
-                color:#999;
-                text-align center
-            }
-        }
-    }
-</style>

+ 0 - 436
pages_student/views/integralManage/rewardPoints.vue

@@ -1,436 +0,0 @@
-<!--奖励分-->
-<template>
-    <view id="rewardPoints">
-        <view class="top-title-box">
-            <picker @change="bindPickerChange" :value="pickerIndex" :range="pickerList" range-key="name">
-                <view class="top-title-button-box">
-                    <view>{{pickerList[pickerIndex].name}}</view>
-                    <img :src="imagesUrl('student/icon_jlfmx_xl.png')">
-                </view>
-            </picker>
-            <view class="top-title-null-p"></view>
-            <view class="top-title-get" v-if="pickerIndex == 0 || pickerIndex == 1">总获得:<span>{{obtainPoints}}</span></view>
-            <view class="top-title-exchange" v-if="pickerIndex == 0 || pickerIndex == 2">总兑换:<span>{{deductPoints}}</span></view>
-            <view class="top-title-img" @click="shadeTypeButton">
-                <img :src="imagesUrl('student/icon_jlfmx_bz.png')">
-            </view>
-        </view>
-        <scroll-view scroll-y @scrolltolower="scrollGet" class="for-max-box">
-            <view class="for-min-box" v-for="(item,index) in infoList" :key="index">
-                <view class="for-top-title">
-                    <view class="left-box">
-                        <picker mode="date" fields="month" @change="bindDateChange">
-                            <view class="for-top-title-time">{{item.yearMonth}}</view>
-                        </picker>
-                    </view>
-                    <view class="right-box" @click.stop="moonClick(item)">
-                        <img class="img-one" v-if="item.unfoldType" :src="imagesUrl('commonality/icon_06.png')">
-                        <img class="img-two" v-if="!item.unfoldType" :src="imagesUrl('commonality/icon_04.png')">
-                        <view class="for-top-title-null"></view>
-                        <view class="for-top-title-get" v-if="pickerIndex == 0 || pickerIndex == 1">获得:{{item.obtainPoints}}</view>
-                        <view class="for-top-title-border" v-if="pickerIndex == 0"></view>
-                        <view class="for-top-title-exchange" v-if="pickerIndex == 0 || pickerIndex == 2">兑换:{{item.deductPoints}}</view>
-                    </view>
-                </view>
-                <view class="for-list-min-box" v-for="(minItem,indexTwo) in item.elPointsLoginfoList" :key="indexTwo" v-if="item.unfoldType">
-                    <img :src="imagesUrl('commonality/icon_wd_jlf.png')">
-                    <view class="time-box">
-                        <view>{{minItem.messageContent}}</view>
-                        <view>{{minItem.createTime}}</view>
-                    </view>
-                    <view class="num-p" :class="minItem.points>0?'colorA':(minItem.points<0?'colorB':'')">{{minItem.points>0?'+'+minItem.points:minItem.points}}</view>
-                </view>
-                <view class="for-null-title" v-if="!item.elPointsLoginfoList[0]">暂无数据</view>
-            </view>
-            <img class="null-img" v-if="!infoList[0]" :src="imagesUrl('commonality/null-data-1.png')">
-        </scroll-view>
-        <view class="shade-max-box" v-if="shadeType">
-            <view class="shade-big-box">
-                <view class="shade-title-box">
-                    <view class="img-box"></view>
-                    <view class="title-view">奖励分规则</view>
-                    <view class="img-box" @click="shadeTypeButton">
-                        <img :src="imagesUrl('student/icon_jlfgz_gb.png')">
-                    </view>
-                </view>
-                <view class="shade-text-max-box">
-                    <view class="shade-text-title title-colorA">获得</view>
-                    <view class="shade-text-p">成功签到、离开考勤,学习安全教育课程,通过模拟考试,模拟练习做题,遵守实验室规章制度不违规等,均可获得奖励分。</view>
-                    <view class="shade-text-title title-colorB">兑换</view>
-                    <view class="shade-text-p">奖励分可以在兑换机扫码兑换丰富礼品,累加到一定分值,还可以优先享受实验室资源。</view>
-                </view>
-                <view class="shade-button" @click="shadeTypeButton">知道了</view>
-            </view>
-        </view>
-    </view>
-</template>
-
-<script>
-    import { monthAllCount, monthCountPoints } from '@/api/apiDemo/index.js'
-    export default {
-        name: "rewardPoints",
-        data() {
-            return {
-                //遮罩层开关状态
-                shadeType:false,
-                //选项数据
-                pickerList:[
-                    {
-                        name:"全部",
-                        value:"0",
-                    },
-                    {
-                        name:"获得",
-                        value:"1",
-                    },
-                    {
-                        name:"减扣",
-                        value:"2",
-                    },
-                ],
-                pickerIndex:0,
-                //用户数据
-                deductPoints:"",
-                obtainPoints:"",
-                //列表数据
-                infoList:[],
-                getData:{
-                    page:1,
-                    pageSize:20,
-                    getType:true,
-                    nullDataType:true,
-                },
-                //年月
-                yearMonth:"",
-            }
-        },
-        onPullDownRefresh(){
-            this.page = 1;
-            this.infoList = [];
-            this.yearMonth = "";
-            this.getList();
-        },
-        onLoad() {
-            this.getMonthAllCount();
-            this.getList();
-        },
-        methods: {
-            //遮罩层开关
-            shadeTypeButton(){
-                this.shadeType = !this.shadeType;
-            },
-            //分类选择触发
-            bindPickerChange(data){
-                this.page = 1;
-                this.infoList = [];
-                this.pickerIndex = data.detail.value;
-                this.getList();
-            },
-            //时间选择触发
-            bindDateChange(data){
-                this.page = 1;
-                this.infoList = [];
-                this.yearMonth = data.detail.value;
-                this.getList();
-            },
-            //月数据展开关闭
-            moonClick(item){
-                item.unfoldType = !item.unfoldType;
-            },
-            //滚动事件
-            scrollGet(){
-                if(this.getData.getType){
-                    this.getData.page += 1;
-                    this.getList();
-                }
-            },
-            //获取总值
-            async getMonthAllCount(){
-                let obj = {
-                    pointsType:"2"
-                };
-                const {data} = await monthAllCount(obj);
-                if(data.code==200){
-                    this.deductPoints = data.data.deductPoints;
-                    this.obtainPoints = data.data.obtainPoints;
-                }
-            },
-            //获取列表数据
-            async getList(){
-                let self = this;
-                let obj = {
-                    bonusType:this.pickerIndex,
-                    pointsType:"2",
-                    yearMonth:this.yearMonth,
-                    pageNum:this.getData.page,
-                    pageSize:this.getData.pageSize,
-                };
-                const {data} = await monthCountPoints(obj);
-                if(data.code==200){
-                    for(let i=0;i<data.rows.length;i++){
-                        data.rows[i].unfoldType = true
-                    }
-                    if(self.page==1){
-                        if(data.rows.length > 0 && data.rows.length == self.getData.pageSize){
-                            self.infoList = data.rows;
-                        }else if(data.rows.length > 0 && data.rows.length != self.getData.pageSize){
-                            self.infoList = data.rows;
-                            self.getData.getType = false;
-                            self.getData.nullDataType = true;
-                        }else{
-                            self.getData.getType = false;
-                            self.getData.nullDataType = true;
-                        }
-                    }else{
-                        if(data.rows.length > 0 && data.rows.length == self.getData.pageSize){
-                            self.infoList = self.infoList.concat(data.rows)
-                        }else if(data.rows.length > 0 && data.rows.length != self.getData.pageSize){
-                            self.infoList = self.infoList.concat(data.rows);
-                            self.getData.getType = false;
-                            self.getData.nullDataType = true;
-                        }else{
-                            self.getData.getType = false;
-                            self.getData.nullDataType = true;
-                        }
-                    }
-                    wx.stopPullDownRefresh();
-                }
-            },
-        }
-    }
-</script>
-
-<style lang="stylus" scoped>
-    #rewardPoints{
-        height:100%;
-        width:100%;
-        display flex
-        flex-direction column
-        .top-title-box{
-            height:100rpx;
-            background #fff
-            border-bottom:20rpx solid #f5f5f5;
-            display flex
-            .top-title-button-box{
-                width:150rpx;
-                height:60rpx;
-                display flex
-                border-radius:30rpx;
-                background #0183fa
-                margin:20rpx;
-                view{
-                    flex:1;
-                    color:#fff;
-                    text-align center
-                    font-size:26rpx;
-                    line-height:60rpx;
-                }
-                img{
-                    width:24rpx;
-                    height:14rpx;
-                    margin:24rpx 25rpx 0 0;
-                }
-            }
-            .top-title-null-p{
-                flex:1;
-            }
-            .top-title-get{
-                line-height:100rpx;
-                font-size:26rpx;
-                margin-right:20rpx;
-            }
-            .top-title-exchange{
-                line-height:100rpx;
-                font-size:26rpx;
-            }
-            .top-title-img{
-                height:100rpx;
-                width:100rpx;
-                img{
-                    width:28rpx;
-                    height:28rpx;
-                    margin:38rpx 36rpx 0 36rpx;
-                }
-            }
-        }
-        .for-max-box{
-            flex:1;
-            overflow-y scroll
-            .for-min-box{
-                .for-top-title{
-                    background #e0e0e0
-                    line-height:80rpx;
-                    display: flex
-                    font-size:26rpx;
-                    color:#333;
-                    padding:0 20rpx;
-                    .left-box{
-                        .for-top-title-time{
-                            margin-right:20rpx;
-                        }
-                    }
-                    .right-box{
-                        display flex
-                        flex:1;
-                        .img-one{
-                            margin-top:36rpx;
-                            width:24rpx;
-                            height:12rpx;
-                        }
-                        .img-two{
-                            margin-top:28rpx;
-                            width:12rpx;
-                            height:24rpx;
-                        }
-                        .for-top-title-null{
-                            flex:1;
-                        }
-                        .for-top-title-get{
-
-                        }
-                        .for-top-title-border{
-                            height:26rpx;
-                            margin:28rpx 18rpx;
-                            width:1rpx;
-                            background #999
-                        }
-                        .for-top-title-exchange{
-
-                        }
-                    }
-                }
-                .for-list-min-box{
-                    // height:110rpx;
-                    display flex
-                    padding:0 20rpx;
-                    background #fff
-                    border-top:1rpx solid #e0e0e0;
-                    img{
-                        margin:42rpx 25rpx 0 0;
-                        height:26rpx;
-                        width:30rpx;
-                    }
-                    .time-box{
-                        flex:1;
-                        view:nth-child(1){
-							padding-top:6px;
-                            line-height:30rpx;
-                            margin-top:13rpx;
-                            font-size:24rpx;
-                            color:#333;
-							display: -webkit-box;
-							-webkit-box-orient: vertical;
-							-webkit-line-clamp: 3;
-							overflow: hidden;
-                        }
-                        view:nth-child(2){
-                            line-height:39rpx;
-                            font-size:24rpx;
-                            color:#999;
-							padding-bottom:6px;
-                        }
-                    }
-                    .num-p{
-						margin-left:20rpx;
-                        line-height:110rpx;
-                        font-size:24rpx;
-                        font-weight:700;
-                    }
-                    .colorA{
-                        color:#0b8d0e;
-                    }
-                    .colorB{
-                        color:#ff9300;
-                    }
-                }
-                .for-null-title{
-                    text-align:center;
-                    line-height:110rpx;
-                    color:#999;
-                    font-size:24rpx;
-                }
-            }
-            .null-img{
-                display block
-                width:276rpx;
-                height:321rpx;
-                position absolute
-                top:100rpx;
-                left:274rpx;
-            }
-        }
-        .shade-max-box{
-            width:100%;
-            height:100%;
-            position fixed
-            top:0;
-            left:0;
-            background rgba(0,0,0,0.4)
-            .shade-big-box{
-                width:528rpx;
-                height:560rpx;
-                border-radius:10rpx;
-                background #fff
-                position absolute
-                left:50%;
-                top:50%;
-                margin-left:-264rpx;
-                margin-top:-280rpx;
-                display flex
-                flex-direction column
-                .shade-title-box{
-                    height:88rpx;
-                    display flex
-                    .title-view{
-                        font-size:28rpx;
-                        color:#333;
-                        flex:1;
-                        text-align center;
-                        line-height:88rpx;
-                    }
-                    .img-box{
-                        width:68rpx;
-                        height:68rpx;
-                        img{
-                            height:28rpx;
-                            width:28rpx;
-                            margin:20rpx;
-                        }
-
-                    }
-                }
-                .shade-text-max-box{
-                    flex:1;
-                    margin:0 37rpx;
-                    .shade-text-title{
-                        line-height:28rpx;
-                        font-size:28rpx;
-                        margin-bottom:24rpx;
-                    }
-                    .shade-text-p{
-                        font-size:24rpx;
-                        margin-bottom:24rpx;
-                    }
-                    .title-colorA{
-                        color:#0B8D0E;
-                    }
-                    .title-colorB{
-                        color:#FF9300;
-                    }
-                }
-                .shade-button{
-                    width:300rpx;
-                    height:60rpx;
-                    text-align center;
-                    line-height:60rpx;
-                    color:#fff;
-                    font-size:28rpx;
-                    background #0183FA
-                    border-radius:10rpx;
-                    margin:0 auto 40rpx;
-                }
-            }
-        }
-    }
-
-</style>