校园报告—门禁报告公话报告2

parent 5c61b638
<template> <template>
<view class="tainer" :style="{height:containerHeight+'rpx'}"> <view class="tainer" :style="{height:containerHeight+'rpx'}">
<view v-if="showReport"> <view v-if="showReport">
<view class="school-report-header"> <view class="school-report-header">
<view class="school-report-header-item"> <view class="school-report-header-item">
...@@ -27,7 +27,8 @@ ...@@ -27,7 +27,8 @@
</view> </view>
<view class="school-report-screen-item-two"> <view class="school-report-screen-item-two">
<view class="school-report-date"> <view class="school-report-date">
<picker @change="dataRangeChange" :value="dataRangeIndex" :range="dataRangeArr" range-key="week"> <picker @change="dataRangeChange" :value="dataRangeIndex" :range="dataRangeArr"
range-key="week">
<view class="uni-input">{{dataRangeArr[dataRangeIndex].weekstr||""}}</view> <view class="uni-input">{{dataRangeArr[dataRangeIndex].weekstr||""}}</view>
</picker> </picker>
</view> </view>
...@@ -40,13 +41,16 @@ ...@@ -40,13 +41,16 @@
<view class="school-report-context"> <view class="school-report-context">
<view class="school-report-context-tab"> <view class="school-report-context-tab">
<view class="school-report-context-tab-item"> <view class="school-report-context-tab-item">
<view class="school-report-context-tab-item-one" :class="tabIndex==1?'active':''" @tap="tabTap(1)"> <view class="school-report-context-tab-item-one" :class="tabIndex==1?'active':''"
@tap="tabTap(1)">
<text>消费报告</text> <text>消费报告</text>
</view> </view>
<view v-if="isAttendanceOpen" class="school-report-context-tab-item-one" :class="tabIndex==2?'active':''" @tap="tabTap(2)"> <view v-if="isAttendanceOpen" class="school-report-context-tab-item-one"
:class="tabIndex==2?'active':''" @tap="tabTap(2)">
<text>门禁报告</text> <text>门禁报告</text>
</view> </view>
<view v-if="isPubTalkOpen" class="school-report-context-tab-item-one" :class="tabIndex==3?'active':''" @tap="tabTap(3)"> <view v-if="isPubTalkOpen" class="school-report-context-tab-item-one"
:class="tabIndex==3?'active':''" @tap="tabTap(3)">
<text>公话报告</text> <text>公话报告</text>
</view> </view>
</view> </view>
...@@ -74,9 +78,12 @@ ...@@ -74,9 +78,12 @@
</view> </view>
</view> </view>
<view class="school-report-context-card-one-context-txt"> <view class="school-report-context-card-one-context-txt">
<text v-if="diningSituations.cateringLevel"><text class="txt-important">{{diningSituations.notCateringNumber}}</text>次未吃{{diningSituations.notCateringType}},请提醒<text class="txt-important">{{userInfo.userName}}</text> <text v-if="diningSituations.cateringLevel"><text
class="txt-important">{{diningSituations.notCateringNumber}}</text>次未吃{{diningSituations.notCateringType}},请提醒<text
class="txt-important">{{userInfo.userName}}</text>
{{diningSituations.clues}}</text> {{diningSituations.clues}}</text>
<text v-else>恭喜<text class="txt-important">{{userInfo.userName}}</text>荣获“快乐干饭人”称号,快乐要和家人一起分享哦</text> <text v-else>恭喜<text
class="txt-important">{{userInfo.userName}}</text>荣获“快乐干饭人”称号,快乐要和家人一起分享哦</text>
</view> </view>
</view> </view>
<view class="school-report-context-card-one-context-item"> <view class="school-report-context-card-one-context-item">
...@@ -85,7 +92,8 @@ ...@@ -85,7 +92,8 @@
</view> </view>
</view> </view>
<view class="school-report-context-card-one-context-txt"> <view class="school-report-context-card-one-context-txt">
<text v-if="isEatLow">食堂消费占比<text class="txt-important-two">过低</text>,请及时调整饮食习惯</text> <text v-if="isEatLow">食堂消费占比<text
class="txt-important-two">过低</text>,请及时调整饮食习惯</text>
<text v-else>饮食较<text class="txt-important-two">均衡</text>,继续保持哦</text> <text v-else>饮食较<text class="txt-important-two">均衡</text>,继续保持哦</text>
</view> </view>
</view> </view>
...@@ -100,13 +108,15 @@ ...@@ -100,13 +108,15 @@
的同学<text v-if="isReasonable">,请及时评估生活费是否合理</text> 的同学<text v-if="isReasonable">,请及时评估生活费是否合理</text>
</view> </view>
</view> </view>
<view class="school-report-context-card-one-context-item school-report-context-card-one-context-item-last"> <view
class="school-report-context-card-one-context-item school-report-context-card-one-context-item-last">
<view class="school-report-context-card-one-context-dot"> <view class="school-report-context-card-one-context-dot">
<view class="school-report-context-card-one-context-dot-item"> <view class="school-report-context-card-one-context-dot-item">
</view> </view>
</view> </view>
<view class="school-report-context-card-one-context-txt"> <view class="school-report-context-card-one-context-txt">
<text v-if="isAbnormal"><text class="txt-important-two">{{consumerTrend.clues}}</text>的消费金额存在异常,请及时关注</text> <text v-if="isAbnormal"><text
class="txt-important-two">{{consumerTrend.clues}}</text>的消费金额存在异常,请及时关注</text>
<text v-else>每日消费金额较稳定,继续保持哦</text> <text v-else>每日消费金额较稳定,继续保持哦</text>
</view> </view>
</view> </view>
...@@ -114,8 +124,10 @@ ...@@ -114,8 +124,10 @@
<!-- 门禁报告 --> <!-- 门禁报告 -->
<view v-show="tabIndex==2" class="attendance-report-context-card-one-context"> <view v-show="tabIndex==2" class="attendance-report-context-card-one-context">
<view class="attendance-report-context-card-one-context-item"> <view class="attendance-report-context-card-one-context-item">
<text v-if="attendanceReport.abnormalNum"><text class="txt-important">{{attendanceReport.abnormalNum}}</text>天出勤异常,请及时关注</text> <text v-if="attendanceReport.abnormalNum"><text
<text v-else>恭喜<text class="txt-important">{{userInfo.userName}}</text>荣获全勤好学生,风雨无阻上学路</text> class="txt-important">{{attendanceReport.abnormalNum}}</text>天出勤异常,请及时关注</text>
<text v-else>恭喜<text
class="txt-important">{{userInfo.userName}}</text>荣获全勤好学生,风雨无阻上学路</text>
</view> </view>
</view> </view>
<!-- 公话报告 --> <!-- 公话报告 -->
...@@ -126,8 +138,10 @@ ...@@ -126,8 +138,10 @@
</view> </view>
</view> </view>
<view class="pubTalk-report-context-card-one-context-txt"> <view class="pubTalk-report-context-card-one-context-txt">
<text>最喜欢和<text class="txt-important">{{pubTalkReport.talkText1}}</text>沟通,共通话<text class="txt-important">{{pubTalkReport.talkText2}} <text>最喜欢和<text class="txt-important">{{pubTalkReport.talkText1}}</text>沟通,共通话<text
{{pubTalkReport.talkText3}}分钟</text>,超过全校<text class="txt-important">{{pubTalkReport.talkText4}}</text>的同学</text> class="txt-important">{{pubTalkReport.talkText2}}
{{pubTalkReport.talkText3}}分钟</text>,超过全校<text
class="txt-important">{{pubTalkReport.talkText4}}</text>的同学</text>
</view> </view>
</view> </view>
<view class="pubTalk-report-context-card-one-context-item" v-else> <view class="pubTalk-report-context-card-one-context-item" v-else>
...@@ -145,17 +159,23 @@ ...@@ -145,17 +159,23 @@
</view> </view>
</view> </view>
<view class="pubTalk-report-context-card-one-context-txt"> <view class="pubTalk-report-context-card-one-context-txt">
<text><text class="txt-important">{{pubTalkReport.talkText5}}</text>沟通最少,共通话<text class="txt-important">{{pubTalkReport.talkText6}} <text><text class="txt-important">{{pubTalkReport.talkText5}}</text>沟通最少,共通话<text
{{pubTalkReport.talkText7}}分钟</text>,超过全校<text class="txt-important">{{pubTalkReport.talkText8}}</text>的同学</text> class="txt-important">{{pubTalkReport.talkText6}}
{{pubTalkReport.talkText7}}分钟</text>,超过全校<text
class="txt-important">{{pubTalkReport.talkText8}}</text>的同学</text>
</view> </view>
</view> </view>
<view class="pubTalk-report-context-card-one-context-item pubTalk-report-context-card-one-context-item-last" v-if="pubTalkReport.talkText9"> <view
class="pubTalk-report-context-card-one-context-item pubTalk-report-context-card-one-context-item-last"
v-if="pubTalkReport.talkText9">
<view class="pubTalk-report-context-card-one-context-dot"> <view class="pubTalk-report-context-card-one-context-dot">
<view class="pubTalk-report-context-card-one-context-dot-item"> <view class="pubTalk-report-context-card-one-context-dot-item">
</view> </view>
</view> </view>
<view class="pubTalk-report-context-card-one-context-txt"> <view class="pubTalk-report-context-card-one-context-txt">
<text><text class="txt-important">{{pubTalkReport.talkText9}}</text>是默默的守护,有时也不要忘记多和<text class="txt-important">{{pubTalkReport.talkText9}}</text>进行交流</text> <text><text
class="txt-important">{{pubTalkReport.talkText9}}</text>是默默的守护,有时也不要忘记多和<text
class="txt-important">{{pubTalkReport.talkText9}}</text>进行交流</text>
</view> </view>
</view> </view>
</view> </view>
...@@ -169,20 +189,25 @@ ...@@ -169,20 +189,25 @@
</view> </view>
<view class="school-report-context-card-two-conclusion"> <view class="school-report-context-card-two-conclusion">
<view class="school-report-context-card-two-conclusion-txt"> <view class="school-report-context-card-two-conclusion-txt">
<text>{{['',''][reportTypeIndex]}}<text class="abnormal-days">{{diningSituations.notRepastDay}}</text>天就餐异常</text> <text>{{['',''][reportTypeIndex]}}<text
class="abnormal-days">{{diningSituations.notRepastDay}}</text>天就餐异常</text>
</view> </view>
<view class="school-report-context-card-two-conclusion-logo"> <view class="school-report-context-card-two-conclusion-logo">
<view class="school-report-context-card-two-conclusion-logo-item"> <view class="school-report-context-card-two-conclusion-logo-item">
<view class="school-report-context-card-two-conclusion-logo-item-dot"> <view class="school-report-context-card-two-conclusion-logo-item-dot">
</view> </view>
</view> </view>
<view class="school-report-context-card-two-conclusion-logo-item school-report-context-card-two-conclusion-logo-item-right"> <view
class="school-report-context-card-two-conclusion-logo-item school-report-context-card-two-conclusion-logo-item-right">
<text>未就餐</text> <text>未就餐</text>
</view> </view>
</view> </view>
</view> </view>
<view class="school-report-context-card-two-calendar"> <view class="school-report-context-card-two-calendar">
<van-calendar v-if="tabIndex==1" :formatter="formatter" :min-date="minDate" :max-date="maxDate" :default-date="minDate" :row-height="44" :show-title="false" :show-subtitle="false" :show-mark="false" :poppable="false" :show-confirm="false" :style="{ height: '575rpx' }" @select="dateSelect" /> <van-calendar v-show="tabIndex==1" :formatter="formatter" :min-date="minDate"
:max-date="maxDate" :default-date="minDate" :row-height="44" :show-title="false"
:show-subtitle="false" :show-mark="false" :poppable="false" :show-confirm="false"
:style="{ height: '575rpx' }" @select="dateSelect" />
</view> </view>
<view class="school-report-context-card-two-details"> <view class="school-report-context-card-two-details">
<view class="school-report-context-card-two-details-item"> <view class="school-report-context-card-two-details-item">
...@@ -194,7 +219,8 @@ ...@@ -194,7 +219,8 @@
<text>早餐</text> <text>早餐</text>
</view> </view>
<view class="school-report-context-card-two-details-meal-logo"> <view class="school-report-context-card-two-details-meal-logo">
<view v-if="diningSituations.notRepastDetails.breakfastStatus" class="school-report-context-card-two-details-meal-img"> <view v-if="diningSituations.notRepastDetails.breakfastStatus"
class="school-report-context-card-two-details-meal-img">
<image src="../../static/images/eatted.png" mode=""></image> <image src="../../static/images/eatted.png" mode=""></image>
</view> </view>
<view v-else class="school-report-context-card-two-details-meal-noeat"> <view v-else class="school-report-context-card-two-details-meal-noeat">
...@@ -204,8 +230,10 @@ ...@@ -204,8 +230,10 @@
<view class="school-report-context-card-two-details-meal-txt"> <view class="school-report-context-card-two-details-meal-txt">
<text>中餐</text> <text>中餐</text>
</view> </view>
<view class="school-report-context-card-two-details-meal-logo school-report-context-card-two-details-meal-logo-two"> <view
<view v-if="diningSituations.notRepastDetails.lunchStatus" class="school-report-context-card-two-details-meal-img"> class="school-report-context-card-two-details-meal-logo school-report-context-card-two-details-meal-logo-two">
<view v-if="diningSituations.notRepastDetails.lunchStatus"
class="school-report-context-card-two-details-meal-img">
<image src="../../static/images/eatted.png" mode=""></image> <image src="../../static/images/eatted.png" mode=""></image>
</view> </view>
<view v-else class="school-report-context-card-two-details-meal-noeat"> <view v-else class="school-report-context-card-two-details-meal-noeat">
...@@ -215,8 +243,10 @@ ...@@ -215,8 +243,10 @@
<view class="school-report-context-card-two-details-meal-txt"> <view class="school-report-context-card-two-details-meal-txt">
<text>晚餐</text> <text>晚餐</text>
</view> </view>
<view class="school-report-context-card-two-details-meal-logo school-report-context-card-two-details-meal-logo-three"> <view
<view v-if="diningSituations.notRepastDetails.supperStatus" class="school-report-context-card-two-details-meal-img"> class="school-report-context-card-two-details-meal-logo school-report-context-card-two-details-meal-logo-three">
<view v-if="diningSituations.notRepastDetails.supperStatus"
class="school-report-context-card-two-details-meal-img">
<image src="../../static/images/eatted.png" mode=""></image> <image src="../../static/images/eatted.png" mode=""></image>
</view> </view>
<view v-else class="school-report-context-card-two-details-meal-noeat"> <view v-else class="school-report-context-card-two-details-meal-noeat">
...@@ -235,8 +265,10 @@ ...@@ -235,8 +265,10 @@
</view> </view>
<view class="school-report-context-card-three-conclusion"> <view class="school-report-context-card-three-conclusion">
<view class="school-report-context-card-three-conclusion-item"> <view class="school-report-context-card-three-conclusion-item">
<text v-if="isEatLow">食堂消费占比<text class="school-report-context-card-three-conclusion-item-describe">过低</text>,请及时调整饮食习惯</text> <text v-if="isEatLow">食堂消费占比<text
<text v-else>饮食较<text class="school-report-context-card-three-conclusion-item-describe">均衡</text>,继续保持哦</text> class="school-report-context-card-three-conclusion-item-describe">过低</text>,请及时调整饮食习惯</text>
<text v-else>饮食较<text
class="school-report-context-card-three-conclusion-item-describe">均衡</text>,继续保持哦</text>
</view> </view>
</view> </view>
<view id="consumer-preferences-pie"> <view id="consumer-preferences-pie">
...@@ -250,7 +282,10 @@ ...@@ -250,7 +282,10 @@
</view> </view>
<view class="school-report-context-card-four-conclusion"> <view class="school-report-context-card-four-conclusion">
<view class="school-report-context-card-four-conclusion-item"> <view class="school-report-context-card-four-conclusion-item">
<text>消费总额<text class="consume-total">{{consumerAmountObj.consumerAmount}}</text>元,超过全校<text class="consume-total">{{consumerAmountObj.exceedRate}}%</text>的同学<text v-if="isReasonable">,请及时评估生活费是否合理</text></text> <text>消费总额<text
class="consume-total">{{consumerAmountObj.consumerAmount}}</text>元,超过全校<text
class="consume-total">{{consumerAmountObj.exceedRate}}%</text>的同学<text
v-if="isReasonable">,请及时评估生活费是否合理</text></text>
</view> </view>
</view> </view>
<view class="consume-total-img"> <view class="consume-total-img">
...@@ -288,7 +323,8 @@ ...@@ -288,7 +323,8 @@
</view> </view>
<view class="school-report-context-card-five-conclusion"> <view class="school-report-context-card-five-conclusion">
<view class="school-report-context-card-five-conclusion-item"> <view class="school-report-context-card-five-conclusion-item">
<text v-if="isAbnormal"><text class="abnormal-date">{{consumerTrend.clues}}</text>的消费金额存在异常,请及时关注</text> <text v-if="isAbnormal"><text
class="abnormal-date">{{consumerTrend.clues}}</text>的消费金额存在异常,请及时关注</text>
<text v-else>每日消费金额较稳定,继续保持哦</text> <text v-else>每日消费金额较稳定,继续保持哦</text>
</view> </view>
</view> </view>
...@@ -319,7 +355,8 @@ ...@@ -319,7 +355,8 @@
</view> </view>
<view class="attendance-report-context-card-two-conclusion"> <view class="attendance-report-context-card-two-conclusion">
<view class="attendance-report-context-card-two-conclusion-txt"> <view class="attendance-report-context-card-two-conclusion-txt">
<text>{{['',''][reportTypeIndex]}}<text class="abnormal-days">{{attendanceReport.abnormalNum}}</text>天出勤异常</text> <text>{{['',''][reportTypeIndex]}}<text
class="abnormal-days">{{attendanceReport.abnormalNum}}</text>天出勤异常</text>
</view> </view>
<view class="attendance-report-context-card-two-conclusion-logo"> <view class="attendance-report-context-card-two-conclusion-logo">
<view class="attendance-report-context-card-two-conclusion-logo-item"> <view class="attendance-report-context-card-two-conclusion-logo-item">
...@@ -339,7 +376,10 @@ ...@@ -339,7 +376,10 @@
</view> </view>
</view> </view>
<view class="attendance-report-context-card-two-calendar"> <view class="attendance-report-context-card-two-calendar">
<van-calendar v-if="tabIndex==2" :formatter="formatter" :min-date="minDate" :max-date="maxDate" :default-date="minDate" :row-height="44" :show-title="false" :show-subtitle="false" :show-mark="false" :poppable="false" :show-confirm="false" :style="{ height: '575rpx' }" @select="attendanceDateSelect"> <van-calendar v-show="tabIndex==2" :formatter="formatter" :min-date="minDate"
:max-date="maxDate" :default-date="minDate" :row-height="44" :show-title="false"
:show-subtitle="false" :show-mark="false" :poppable="false" :show-confirm="false"
:style="{ height: '575rpx' }" @select="attendanceDateSelect">
<template #top-info="item"> <template #top-info="item">
<span v-if="item.topInfo=='请假'" class="mark-green">请假</span> <span v-if="item.topInfo=='请假'" class="mark-green">请假</span>
<span v-if="item.topInfo=='迟到'" class="mark-orange">迟到</span> <span v-if="item.topInfo=='迟到'" class="mark-orange">迟到</span>
...@@ -352,7 +392,8 @@ ...@@ -352,7 +392,8 @@
</view> </view>
<view v-if="tabIndex==2&&attendanceReportDatail.length" class="attendance-report-context-details"> <view v-if="tabIndex==2&&attendanceReportDatail.length" class="attendance-report-context-details">
<view v-for="(detailItem,detailIndex) in attendanceReportDatail" :key="detailIndex"> <view v-for="(detailItem,detailIndex) in attendanceReportDatail" :key="detailIndex">
<view v-if="detailItem.attendIntervalType&&detailItem.attendIntervalType!=-1" class="attendance-report-context-card-two-details"> <view v-if="detailItem.attendIntervalType&&detailItem.attendIntervalType!=-1"
class="attendance-report-context-card-two-details">
<view class="attendance-report-context-card-two-details-item"> <view class="attendance-report-context-card-two-details-item">
<view class="attendance-report-context-card-two-details-time"> <view class="attendance-report-context-card-two-details-time">
<view class="attendance-report-context-card-two-details-time-img"> <view class="attendance-report-context-card-two-details-time-img">
...@@ -369,7 +410,8 @@ ...@@ -369,7 +410,8 @@
</view> </view>
</view> </view>
</view> </view>
<view v-else-if="detailItem.attendIntervalType==-1" class="attendance-report-context-card-two-details"> <view v-else-if="detailItem.attendIntervalType==-1"
class="attendance-report-context-card-two-details">
<view class="attendance-report-context-card-two-details-item"> <view class="attendance-report-context-card-two-details-item">
<view class="attendance-report-context-card-two-details-time"> <view class="attendance-report-context-card-two-details-time">
<view class="attendance-report-context-card-two-details-time-txt txt-details"> <view class="attendance-report-context-card-two-details-time-txt txt-details">
...@@ -389,12 +431,15 @@ ...@@ -389,12 +431,15 @@
</view> </view>
<view v-else class="dashed-line-first"> <view v-else class="dashed-line-first">
</view> </view>
<view v-if="index" class="attendance-report-dot" :style="{border:item.border}"> <view v-if="index" class="attendance-report-dot"
:style="{border:item.border}">
</view> </view>
<view v-else class="attendance-report-dot-first" :style="{border:item.border}"> <view v-else class="attendance-report-dot-first"
:style="{border:item.border}">
</view> </view>
</view> </view>
<view class="attendance-report-details-item-box" :style="{top: 18+index*170+'rpx'}"> <view class="attendance-report-details-item-box"
:style="{top: 18+index*170+'rpx'}">
<view class="attendance-report-details-item"> <view class="attendance-report-details-item">
<view class="attendance-report-time"> <view class="attendance-report-time">
<view class="attendance-report-time-txt"> <view class="attendance-report-time-txt">
...@@ -414,14 +459,16 @@ ...@@ -414,14 +459,16 @@
</view> </view>
<view class="attendance-report-details-img-item"> <view class="attendance-report-details-img-item">
<view class="attendance-report-time-details"> <view class="attendance-report-time-details">
<view v-if="item.describeContent!='当日早到冠军'" class="attendance-report-time-details-item"> <view v-if="item.describeContent!='当日早到冠军'"
class="attendance-report-time-details-item">
<text>{{item.describeContent}}</text> <text>{{item.describeContent}}</text>
</view> </view>
<view class="attendance-report-time-details-icon"> <view class="attendance-report-time-details-icon">
</view> </view>
</view> </view>
<view class="attendance-report-details-img-box"> <view class="attendance-report-details-img-box">
<image v-if="item.attendImage" :src="item.attendImage" mode="" @click="imageClick(item.attendImage)"> <image v-if="item.attendImage" :src="item.attendImage" mode=""
@click="imageClick(item.attendImage)">
</image> </image>
</view> </view>
</view> </view>
...@@ -468,13 +515,18 @@ ...@@ -468,13 +515,18 @@
</view> </view>
</view> </view>
<view class="leave-message-summary" v-if="pubTalkReport.messageText1"> <view class="leave-message-summary" v-if="pubTalkReport.messageText1">
<text><text class="txt-important">{{pubTalkReport.messageText1}}</text> 最喜欢和你留言,共 <text class="txt-important">{{pubTalkReport.messageText2}}</text> 次,超过全校<text class="txt-important">{{pubTalkReport.messageText3}}%</text>的同学</text> <text><text class="txt-important">{{pubTalkReport.messageText1}}</text> 最喜欢和你留言,共 <text
class="txt-important">{{pubTalkReport.messageText2}}</text> 次,超过全校<text
class="txt-important">{{pubTalkReport.messageText3}}</text>的同学</text>
</view> </view>
<view class="leave-message-summary" v-else> <view class="leave-message-summary" v-else>
<text class="txt-important">想家人了可以多多留言哦~</text> <text class="txt-important">想家人了可以多多留言哦~</text>
</view> </view>
<view class="leave-message-summary leave-message-less-summary" v-if="pubTalkReport.messageText4"> <view class="leave-message-summary leave-message-less-summary"
<text><text class="txt-important">{{pubTalkReport.messageText4}}</text> 留言最少,共 <text class="txt-important">{{pubTalkReport.messageText5}}</text> 次,超过全校<text class="txt-important">{{pubTalkReport.messageText6}}%</text>的同学</text> v-if="pubTalkReport.messageText4">
<text><text class="txt-important">{{pubTalkReport.messageText4}}</text> 留言最少,共 <text
class="txt-important">{{pubTalkReport.messageText5}}</text> 次,超过全校<text
class="txt-important">{{pubTalkReport.messageText6}}</text>的同学</text>
</view> </view>
<view class="leave-message-bar-unit"> <view class="leave-message-bar-unit">
<text>(次)</text> <text>(次)</text>
...@@ -488,7 +540,8 @@ ...@@ -488,7 +540,8 @@
<text>到期后将无法查看完整报告</text> <text>到期后将无法查看完整报告</text>
</view> </view>
<view class="school-report-validity"> <view class="school-report-validity">
<text>有效期至<text class="validity-date">{{memberInfo.invalidDateStr}}</text>,剩余<text class="validity-date">{{memberInfo.differDay}}天</text></text> <text>有效期至<text class="validity-date">{{memberInfo.invalidDateStr}}</text>,剩余<text
class="validity-date">{{memberInfo.differDay}}天</text></text>
</view> </view>
</view> </view>
<view class="school-report-footer-item-two"> <view class="school-report-footer-item-two">
...@@ -499,7 +552,8 @@ ...@@ -499,7 +552,8 @@
</view> </view>
</view> </view>
</view> </view>
<view v-if="flag==tabIndex" class="no-open" :style="{height:[915,845,891][tabIndex-1]+'rpx',top:[1425,1099,1260][tabIndex-1]+'rpx'}"> <view v-if="flag==tabIndex" class="no-open"
:style="{height:[915,845,891][tabIndex-1]+'rpx',top:[1425,1099,1260][tabIndex-1]+'rpx'}">
<view class="no-open-solution" @tap="equityPay"> <view class="no-open-solution" @tap="equityPay">
<view class="no-open-solution-txt"> <view class="no-open-solution-txt">
<text>最低{{memberInfo.leastAmount||''}}元/天开通,查看完整{{['消费','门禁','公话'][tabIndex-1]}}报告</text> <text>最低{{memberInfo.leastAmount||''}}元/天开通,查看完整{{['消费','门禁','公话'][tabIndex-1]}}报告</text>
...@@ -516,7 +570,8 @@ ...@@ -516,7 +570,8 @@
<view class="summary-item"> <view class="summary-item">
<text>{{['月度消费报告','实时推送','音视频通话'][tabIndex-1]}}</text> <text>{{['月度消费报告','实时推送','音视频通话'][tabIndex-1]}}</text>
</view> </view>
<view class="summary-item-icon" :class="['consumer-report-icon','attendance-report-icon','pubTalk-report-icon'][tabIndex-1]"> <view class="summary-item-icon"
:class="['consumer-report-icon','attendance-report-icon','pubTalk-report-icon'][tabIndex-1]">
<text>+</text> <text>+</text>
</view> </view>
<view class="summary-item"> <view class="summary-item">
...@@ -652,26 +707,28 @@ ...@@ -652,26 +707,28 @@
</view> </view>
<view v-else class="nodata"> <view v-else class="nodata">
<view class="nodataImg"> <view class="nodataImg">
<img style="width: 100%" src="https://xiaopay2020.oss-cn-shenzhen.aliyuncs.com/static/weapp/images/purchaseChart.gif" /> <img style="width: 100%"
src="https://xiaopay2020.oss-cn-shenzhen.aliyuncs.com/static/weapp/images/purchaseChart.gif" />
</view> </view>
<view class="nodataTxt"> <view class="nodataTxt">
<text>当前为使用高峰期,请稍后再试</text> <text>当前为使用高峰期,请稍后再试</text>
</view> </view>
</view> </view>
<van-dialog class="htmlCanvas" id="htmlCanvas" ref="imgCanvas" v-model="dialogShow" show-cancel-button style="width: 100%; max-height: 80% !important;overflow: scroll"> <van-dialog class="htmlCanvas" id="htmlCanvas" ref="imgCanvas" v-model="dialogShow" confirm-button-text='长按保存'
close-on-click-overlay style="width: 100%; max-height: 80% !important;overflow: scroll">
</van-dialog> </van-dialog>
</view> </view>
</view> </view>
</template> </template>
<script> <script>
import html2cancas from "html2canvas" import html2cancas from "html2canvas"
var gHost = "https://" + window.location.host; var gHost = "https://" + window.location.host;
if (window.location.protocol != "https:") { if (window.location.protocol != "https:") {
gHost = "https://fpdev.xiaopay.net"; gHost = "https://fpdev.xiaopay.net";
} }
//获取参数 //获取参数
function getQueryParams(params) { function getQueryParams(params) {
let href = window.location.href let href = window.location.href
let query = href.substring(href.indexOf('?') + 1); let query = href.substring(href.indexOf('?') + 1);
let vars = query.split("&"); let vars = query.split("&");
...@@ -682,11 +739,11 @@ function getQueryParams(params) { ...@@ -682,11 +739,11 @@ function getQueryParams(params) {
} }
} }
return (false); return (false);
} }
// 时间处理模块 // 时间处理模块
import dayjs from 'dayjs' import dayjs from 'dayjs'
import moment from "moment"; import moment from "moment";
export default { export default {
name: 'SchoolReport', name: 'SchoolReport',
data() { data() {
return { return {
...@@ -822,7 +879,7 @@ export default { ...@@ -822,7 +879,7 @@ export default {
}); });
let tmpArr = [] let tmpArr = []
// 获取时间 // 获取时间
for (let i = 0; i <= 11; i++) { for (let i = 1; i <= 11; i++) {
let startWeek = dayjs().subtract(i, 'month').startOf('month'); let startWeek = dayjs().subtract(i, 'month').startOf('month');
let endWeek = dayjs().$d.getTime() > dayjs().subtract(i, 'month').endOf('month').$d.getTime() ? dayjs() let endWeek = dayjs().$d.getTime() > dayjs().subtract(i, 'month').endOf('month').$d.getTime() ? dayjs()
.subtract(i, 'month').endOf('month') : dayjs(); .subtract(i, 'month').endOf('month') : dayjs();
...@@ -868,7 +925,7 @@ export default { ...@@ -868,7 +925,7 @@ export default {
} }
return false; return false;
}, },
tabTap: function (num) { tabTap: function(num) {
this.tabIndex = num; this.tabIndex = num;
if (num == 1) { if (num == 1) {
this.$nextTick(() => { this.$nextTick(() => {
...@@ -992,7 +1049,7 @@ export default { ...@@ -992,7 +1049,7 @@ export default {
}) })
} }
}, },
toImage: function () { toImage: function() {
this.$nextTick(() => { this.$nextTick(() => {
html2cancas(document.getElementsByClassName("tainer")[0], { html2cancas(document.getElementsByClassName("tainer")[0], {
useCORS: true, useCORS: true,
...@@ -1008,7 +1065,7 @@ export default { ...@@ -1008,7 +1065,7 @@ export default {
}) })
}) })
}, },
shareHandler: function () { shareHandler: function() {
let htmlCanvasImg = document.getElementsByClassName("htmlCanvasImg")[0]; let htmlCanvasImg = document.getElementsByClassName("htmlCanvasImg")[0];
if (htmlCanvasImg) { if (htmlCanvasImg) {
htmlCanvasImg.parentNode.removeChild(htmlCanvasImg); htmlCanvasImg.parentNode.removeChild(htmlCanvasImg);
...@@ -1016,15 +1073,15 @@ export default { ...@@ -1016,15 +1073,15 @@ export default {
this.toImage(); this.toImage();
this.dialogShow = true; this.dialogShow = true;
}, },
schoolReportChange: function (e) { schoolReportChange: function(e) {
this.reportTypeIndex = e.target.value; this.reportTypeIndex = e.target.value;
this.getDataRangeArr(this.reportTypeIndex); this.getDataRangeArr(this.reportTypeIndex);
}, },
dataRangeChange: function (e) { dataRangeChange: function(e) {
this.dataRangeIndex = e.target.value; this.dataRangeIndex = e.target.value;
this.getDataRangeArr(this.reportTypeIndex); this.getDataRangeArr(this.reportTypeIndex);
}, },
getDataRangeArr: function (num) { getDataRangeArr: function(num) {
if (num) { if (num) {
let tmpArr = [] let tmpArr = []
for (let i = 1; i <= 52; i++) { for (let i = 1; i <= 52; i++) {
...@@ -1163,13 +1220,13 @@ export default { ...@@ -1163,13 +1220,13 @@ export default {
this.attendanceSituations.attendanceDate = this.formatDate(date); this.attendanceSituations.attendanceDate = this.formatDate(date);
this.attendanceReprotDatail(this.formatDateTwo(date)); this.attendanceReprotDatail(this.formatDateTwo(date));
}, },
piechart: function () { piechart: function() {
var myChart = echarts.init(document.getElementById('consumer-preferences-pie')); var myChart = echarts.init(document.getElementById('consumer-preferences-pie'));
var option = { var option = {
tooltip: { tooltip: {
trigger: 'item' trigger: 'item'
}, },
series: this.pieDatas.map(function (data, idx) { series: this.pieDatas.map(function(data, idx) {
return { return {
type: 'pie', type: 'pie',
radius: ['33', '58'], radius: ['33', '58'],
...@@ -1179,7 +1236,7 @@ export default { ...@@ -1179,7 +1236,7 @@ export default {
borderWidth: 3, borderWidth: 3,
}, },
label: { label: {
formatter: function (e) { formatter: function(e) {
return e.name + "\n" + e.value + ''; return e.name + "\n" + e.value + '';
}, },
padding: [0, 2], padding: [0, 2],
...@@ -1196,12 +1253,12 @@ export default { ...@@ -1196,12 +1253,12 @@ export default {
color: ['#00C47C', '#F6C723', '#FF8646'] color: ['#00C47C', '#F6C723', '#FF8646']
}; };
option && myChart.setOption(option); option && myChart.setOption(option);
window.addEventListener('resize', function () { window.addEventListener('resize', function() {
myChart.resize(); myChart.resize();
}) })
}, },
// 获取某月的所有周六 // 获取某月的所有周六
getMonthSaturdayDate: function (year, month) { getMonthSaturdayDate: function(year, month) {
const lastDay = new Date(year, month, 0).getDate(); const lastDay = new Date(year, month, 0).getDate();
const startDay = new Date(year, month, 1).getDate() const startDay = new Date(year, month, 1).getDate()
const allDate = []; const allDate = [];
...@@ -1217,7 +1274,7 @@ export default { ...@@ -1217,7 +1274,7 @@ export default {
}) })
return saturdayDate; return saturdayDate;
}, },
linechart: function (num) { linechart: function(num) {
var mySize = document.getElementById('consumer-trend-line'); var mySize = document.getElementById('consumer-trend-line');
mySize.style.width = 360 + 'px'; mySize.style.width = 360 + 'px';
mySize.style.height = 260 + 'px'; mySize.style.height = 260 + 'px';
...@@ -1321,27 +1378,27 @@ export default { ...@@ -1321,27 +1378,27 @@ export default {
color: 'transparent' color: 'transparent'
} }
}, },
extraCssText: `width:109px;height:55px;line-height:33rpx;background: no-repeat center/100% url(../../static/images/consumeTrendbgm.png); extraCssText: `width:109px;height:55px;line-height:33rpx;background: no-repeat center/100% url(./static/images/consumeTrendbgm.png);
font-size:24rpx;font-family: PingFangSC-Medium, PingFang SC;font-weight: 500; font-size:24rpx;font-family: PingFangSC-Medium, PingFang SC;font-weight: 500;
color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
confine: true, confine: true,
position: function (pt) { position: function(pt) {
return [pt[0] - 27, pt[1] - 73]; return [pt[0] - 27, pt[1] - 73];
}, },
formatter: function (data) { formatter: function(data) {
let desp = ['', '消费金额偏高', '消费金额偏低'][data[0].data.isException - 1] let desp = ['', '消费金额偏高', '消费金额偏低'][data[0].data.isException - 1]
return data[0].name + '消费' + data[0].value + '' + '<br>' + desp; return data[0].name + '消费' + data[0].value + '' + '<br>' + desp;
} }
}, },
}; };
option && myLineChart.setOption(option); option && myLineChart.setOption(option);
window.addEventListener('resize', function () { window.addEventListener('resize', function() {
myLineChart.resize(); myLineChart.resize();
}) })
}, },
callNumberBarchart: function () { callNumberBarchart: function() {
var mySize = document.getElementById('call-number-bar'); var mySize = document.getElementById('call-number-bar');
mySize.style.width = 350 + 'px'; mySize.style.width = 350 + 'px';
mySize.style.height = 260 + 'px'; mySize.style.height = 260 + 'px';
...@@ -1359,7 +1416,7 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -1359,7 +1416,7 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
color: 'rgba(0, 0, 0, 0.5)', color: 'rgba(0, 0, 0, 0.5)',
fontSize: 12 fontSize: 12
}, },
formatter: function (params) { formatter: function(params) {
var newParamsName = ""; var newParamsName = "";
var tempParamsName = ""; var tempParamsName = "";
var paramsNameNumber = params.length; var paramsNameNumber = params.length;
...@@ -1392,7 +1449,7 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -1392,7 +1449,7 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
yAxis: { yAxis: {
type: 'value', type: 'value',
min: 0, min: 0,
max: function (value) { max: function(value) {
return Math.ceil(value.max) + 1 return Math.ceil(value.max) + 1
}, },
minInterval: 1 minInterval: 1
...@@ -1417,11 +1474,11 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -1417,11 +1474,11 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
}] }]
}; };
option && myCallNumberBarchart.setOption(option); option && myCallNumberBarchart.setOption(option);
window.addEventListener('resize', function () { window.addEventListener('resize', function() {
myCallNumberBarchart.resize(); myCallNumberBarchart.resize();
}) })
}, },
callDurationBarchart: function () { callDurationBarchart: function() {
var mySize = document.getElementById('call-duration-bar'); var mySize = document.getElementById('call-duration-bar');
mySize.style.width = 340 + 'px'; mySize.style.width = 340 + 'px';
mySize.style.height = 260 + 'px'; mySize.style.height = 260 + 'px';
...@@ -1439,7 +1496,7 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -1439,7 +1496,7 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
color: 'rgba(0, 0, 0, 0.5)', color: 'rgba(0, 0, 0, 0.5)',
fontSize: 12 fontSize: 12
}, },
formatter: function (params) { formatter: function(params) {
var newParamsName = ""; var newParamsName = "";
var tempParamsName = ""; var tempParamsName = "";
var paramsNameNumber = params.length; var paramsNameNumber = params.length;
...@@ -1472,7 +1529,7 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -1472,7 +1529,7 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
yAxis: { yAxis: {
type: 'value', type: 'value',
min: 0, min: 0,
max: function (value) { max: function(value) {
return Math.ceil(value.max) return Math.ceil(value.max)
}, },
minInterval: 1 minInterval: 1
...@@ -1497,11 +1554,11 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -1497,11 +1554,11 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
}] }]
}; };
option && myCallDurationBarchart.setOption(option); option && myCallDurationBarchart.setOption(option);
window.addEventListener('resize', function () { window.addEventListener('resize', function() {
myCallDurationBarchart.resize(); myCallDurationBarchart.resize();
}) })
}, },
leaveMessageBarchart: function () { leaveMessageBarchart: function() {
var mySize = document.getElementById('leave-message-bar'); var mySize = document.getElementById('leave-message-bar');
mySize.style.width = 350 + 'px'; mySize.style.width = 350 + 'px';
mySize.style.height = 260 + 'px'; mySize.style.height = 260 + 'px';
...@@ -1519,7 +1576,7 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -1519,7 +1576,7 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
color: 'rgba(0, 0, 0, 0.5)', color: 'rgba(0, 0, 0, 0.5)',
fontSize: 12 fontSize: 12
}, },
formatter: function (params) { formatter: function(params) {
var newParamsName = ""; var newParamsName = "";
var tempParamsName = ""; var tempParamsName = "";
var paramsNameNumber = params.length; var paramsNameNumber = params.length;
...@@ -1552,7 +1609,7 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -1552,7 +1609,7 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
yAxis: { yAxis: {
type: 'value', type: 'value',
min: 0, min: 0,
max: function (value) { max: function(value) {
return Math.ceil(value.max) return Math.ceil(value.max)
}, },
minInterval: 1 minInterval: 1
...@@ -1577,7 +1634,7 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -1577,7 +1634,7 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
}] }]
}; };
option && myLeaveMessageBarchart.setOption(option); option && myLeaveMessageBarchart.setOption(option);
window.addEventListener('resize', function () { window.addEventListener('resize', function() {
myLeaveMessageBarchart.resize(); myLeaveMessageBarchart.resize();
}) })
}, },
...@@ -1803,7 +1860,7 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -1803,7 +1860,7 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
uni.showToast({ uni.showToast({
icon: "none", icon: "none",
mask: true, mask: true,
title: data.msg title: data.message
}) })
return return
} }
...@@ -1837,7 +1894,7 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -1837,7 +1894,7 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
uni.showToast({ uni.showToast({
icon: "none", icon: "none",
mask: true, mask: true,
title: data.msg title: data.message
}) })
return return
} }
...@@ -1869,7 +1926,7 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -1869,7 +1926,7 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
uni.showToast({ uni.showToast({
icon: "none", icon: "none",
mask: true, mask: true,
title: data.msg title: data.message
}) })
return return
} }
...@@ -2042,9 +2099,9 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -2042,9 +2099,9 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
}) })
} }
}, },
equityPay: function () { equityPay: function() {
jWeixin.miniProgram.switchTab({ jWeixin.miniProgram.switchTab({
url: `/pages/UserMain/main`, url: `/pages/Member/main`,
success: function success() { success: function success() {
console.log('skip success') console.log('skip success')
}, },
...@@ -2056,16 +2113,16 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -2056,16 +2113,16 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
} }
}); });
}, },
imageClick: function (src) { imageClick: function(src) {
this.imageDialogSrc = src; this.imageDialogSrc = src;
this.imageDialogShow = true; this.imageDialogShow = true;
}, },
}, },
} }
</script> </script>
<style lang="scss"> <style lang="scss">
.nodata { .nodata {
position: absolute; position: absolute;
left: 50%; left: 50%;
top: 0%; top: 0%;
...@@ -2086,9 +2143,9 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -2086,9 +2143,9 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
font-weight: 500; font-weight: 500;
color: #999999; color: #999999;
} }
} }
.tainer { .tainer {
.school-report-header { .school-report-header {
height: 88rpx; height: 88rpx;
margin: 72rpx 0 48rpx 40rpx; margin: 72rpx 0 48rpx 40rpx;
...@@ -3052,7 +3109,6 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -3052,7 +3109,6 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
height: 756rpx; height: 756rpx;
background: #FFFFFF; background: #FFFFFF;
border-radius: 16rpx; border-radius: 16rpx;
margin: 0 0 40rpx;
.leave-message-summary { .leave-message-summary {
height: 90rpx; height: 90rpx;
...@@ -3232,7 +3288,6 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -3232,7 +3288,6 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
height: 634rpx; height: 634rpx;
background: #FFFFFF; background: #FFFFFF;
border-radius: 16rpx; border-radius: 16rpx;
margin-bottom: 37rpx;
position: relative; position: relative;
.school-report-context-card-five-conclusion { .school-report-context-card-five-conclusion {
...@@ -3305,7 +3360,7 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -3305,7 +3360,7 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
.school-report-footer { .school-report-footer {
height: 169rpx; height: 169rpx;
margin: 0 0 43rpx; margin: 40rpx 0 43rpx;
padding: 33rpx 34rpx 42rpx 42rpx; padding: 33rpx 34rpx 42rpx 42rpx;
box-sizing: border-box; box-sizing: border-box;
background: no-repeat center/100% url(../../static/images/extendPermissionsBg.png); background: no-repeat center/100% url(../../static/images/extendPermissionsBg.png);
...@@ -3597,5 +3652,5 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -3597,5 +3652,5 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
} }
} }
} }
</style> </style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment