考评考核

This commit is contained in:
cclu 2023-05-17 18:52:06 +08:00
parent 1bb6617cd3
commit 6a8d324702
6 changed files with 315 additions and 103 deletions

View File

@ -1,65 +1,115 @@
<template>
<view class="main">
<view class="heard">
<image class="headerBg" src="/static/images/examine/bg.png"></image>
<view class="content">
<!-- 顶部标题 -->
<view class="top" :style="{height:menu.bottom+'px'}">
<view class="titleModule" :style="{height:(menu.bottom-menu.top)+'px'}">
<image class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/navigation-left.svg"></image>
<text class="title">考评考核</text>
<scroll-view :style="{height:windowHeight+'px',overflow:'hidden'}" :show-scrollbar="false" scroll-with-animation enable-flex scroll-y="true" @scroll="handlePageScroll">
<view class="main">
<view class="heard">
<image class="headerBg" src="/static/images/examine/bg.png"></image>
<view class="contentHeard">
<!-- 顶部标题 -->
<view class="top" :style="{height:menu.bottom+'px'}">
<view class="titleModule" :style="{height:(menu.bottom-menu.top)+'px'}">
<image @click="handleBack" class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/navigation-left.svg"></image>
<text class="title">考评考核</text>
</view>
</view>
<view :style="{height:menu.bottom+'px'}">
</view>
<!-- 选择片区 -->
<div class="picker">
<div class="selectService" @click="handleShowPopup">
<image class="img" src="/static/images/examine/fixed.svg"></image>
<view class="select">
<view class="selectContent">
<view class="name">皖中</view>
<p class="area">片区</p>
<image class="rightArrow" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/rightArrow.svg"></image>
</view>
</view>
</div>
</div>
<!-- 选择月份 -->
<view class="monthTabs">
<scroll-view class="big" :show-scrollbar="false" scroll-with-animation scroll-x="true" enable-flex :scrollIntoView="current" >
<div :id="'item'+item.value" :class="selectMonth===item.value?'monthItem selectItem':'monthItem'" v-for="(item,index) in monthList" :key="index" @click="handleSelectMonth(item.value)">{{item.label}}</div>
</scroll-view>
</view>
</view>
<!-- 选择片区 -->
<div class="picker">
<div class="selectService" @click="handleShowPopup">
<image class="img" src="/static/images/examine/fixed.svg"></image>
<view class="select">
<view class="selectContent">
<view class="name">皖中</view>
<p class="area">片区</p>
<image class="rightArrow" src="https://eshangtech.com/ShopICO/ahyd-BID/commercial/rightArrow.svg"></image>
</view>
<view class="content">
<view style="height: 50px">
<view class="tab">
<view :class="selectTab===item.value?'tabItem selectItem':'tabItem'" v-for="(item,index) in tabList" :key="index" @click="handleChangeTab(item.value)">{{item.label}}</view>
</view>
</view>
<view v-if="selectTab===1" class="serviceList" :style="{height:scrollTop<95?'calc(100vh - 256px)':'calc(100vh - 150px)',overflow:scrollTop<95?'hidden':'scroll'}">
<view class="serviceItem" v-for="item in 5">
<view class="itemTitle">
<text class="title">新桥服务区</text>
<text :class="selectMonth%3===0?'secondUnit':'unit'">{{selectMonth%3===0?`${Math.abs(selectMonth/3)===1?'一':Math.abs(selectMonth/3)===2?'二':Math.abs(selectMonth/3)===3?'三':'四'}季度`:'月度'}}</text>
</view>
<view class="detail">
<view class="detailTop">
<view class="left">
<image class="icon" src="/static/images/examine/NS.svg"></image>
<text class="type">南区</text>
</view>
<view class="right">
89
<text class="unit"></text>
</view>
</view>
<view class="detailMessage">
<view class="message" style="margin-bottom: 4px">
<image class="icon" src="/static/images/examine/time.svg"></image>
<text class="value">2023/05/11 14:21:03</text>
</view>
<view class="message">
<image class="icon" src="/static/images/examine/user.svg"></image>
<text class="value">陈佳赵卓雅张三李文文胡静</text>
</view>
</view>
</view>
<view class="detail">
<view class="detailTop">
<view class="left">
<image class="icon" src="/static/images/examine/NS.svg"></image>
<text class="type">南区</text>
</view>
<view class="right">
89
<text class="unit"></text>
</view>
</view>
<view class="detailMessage">
<view class="message" style="margin-bottom: 4px">
<image class="icon" src="/static/images/examine/time.svg"></image>
<text class="value">2023/05/11 14:21:03</text>
</view>
<view class="message">
<image class="icon" src="/static/images/examine/user.svg"></image>
<text class="value">陈佳赵卓雅张三李文文胡静</text>
</view>
</view>
</view>
</div>
</div>
<!-- 选择月份 -->
<view class="monthTabs">
<scroll-view class="big" :show-scrollbar="false" scroll-with-animation scroll-x="true" enable-flex :scrollIntoView="current" >
<div :id="'item'+item.value" :class="selectMonth===item.value?'monthItem selectItem':'monthItem'" v-for="(item,index) in monthList" :key="index" @click="handleSelectMonth(item.value)">{{item.label}}</div>
</scroll-view>
</view>
</view>
</view>
<view class="content">
<view class="tab">
<view :class="selectTab===item.value?'tabItem selectItem':'tabItem'" v-for="(item,index) in tabList" :key="index" @click="handleChangeTab(item.value)">{{item.label}}</view>
</view>
<view class="serviceList">
<view class="serviceItem">
<view class="itemTitle">
<text class="title">新桥服务区</text>
<text class="unit">月度</text>
</view>
<view class=""></view>
</view>
</view>
</view>
<uniPopup type="bottom" :round="true" :show="showPop" @hidePopup="hidePopup">
<view class="popup">
<view class="top">
<text class="popupTitle">选择片区</text>
<image class="close" src="/static/images/examine/close.svg"></image>
</view>
<view class="list">
<view class="item" v-for="(item,index) in areaList" :key="index">{{item.label}}<text class="unit">片区</text></view>
</view>
</view>
</uniPopup>
<uniPopup type="bottom" :round="true" :show="showPop" @hidePopup="hidePopup">
<view class="popup">
<view class="top">
<text class="popupTitle">选择片区</text>
<image @click="hidePopup" class="close" src="/static/images/examine/close.svg"></image>
</view>
<view class="list">
<view class="item" v-for="(item,index) in areaList" :key="index">{{item.label}}<text class="unit">片区</text></view>
</view>
</view>
</uniPopup>
</view>
</scroll-view>
</template>
<script>
import uniPopup from '@/components/uni-popup'
@ -70,7 +120,7 @@ export default {
data(){
return {
monthList:[{label:'1月',value:1},{label:'2月',value:2},{label:'3月',value:3},{label:'4月',value:4},{label:'5月',value:5},{label:'6月',value:6},{label:'7月',value:7},
{label:'8月',value:8},{label:'9月',value:9},{label:'10月',value:10},{label:'11月',value:11},{label:'12月',value:12}],
{label:'8月',value:8},{label:'9月',value:9},{label:'10月',value:10},{label:'11月',value:11},{label:'12月',value:12}],
selectMonth:0,
current:'',
menu:{},
@ -80,14 +130,16 @@ export default {
tabList:[{label:'考核管理',value:1},{label:'日常巡检',value:2},{label:'晨会管理',value:3}],// tab
selectTab:1,// tab
serviceList:[],//
scrollTop:0,//
windowHeight:0,//
}
},
onLoad(){
//
let systemInfo = uni.getSystemInfoSync()
this.windowHeight = systemInfo.windowHeight
this.statusBarHeight = Number(systemInfo.statusBarHeight)
this.menu = uni.getMenuButtonBoundingClientRect()
console.log('this.menu',this.menu)
const date = new Date()
let month = date.getMonth() + 1
this.monthList = this.monthList.filter(item=>item.value<=month)
@ -103,7 +155,6 @@ export default {
const month = date.getMonth() + 1
this.selectMonth = month
this.current='item'+month
console.log('this.current',this.current)
},
//
handleShowPopup(){
@ -120,21 +171,32 @@ export default {
//
handleChangeTab(value){
this.selectTab = value
}
},
//
handlePageScroll(e){
this.scrollTop = e.detail.scrollTop
},
//
handleBack(){
uni.switchTab({
url: '/pages/userCenter/userCenter'
})
},
}
}
</script>
<style scoped lang="scss">
@import '/static/public/font/stylesheet.css';
.main{
width: 100%;
height: calc(100vh + 105px);
.heard{
width: 100%;
height: 366px;
height: 185px;
position: relative;
.content{
.contentHeard{
width: 100%;
height: 100%;
position: absolute;
@ -144,7 +206,11 @@ export default {
z-index: 2;
.top{
width: 100%;
position: relative;
position: fixed;
left: 0;
background-image: url("https://eshangtech.com/ShopICO/ahyd-BID/examine/bg.png");
background-position: 0 0;
z-index:99;
.titleModule{
width: 100%;
bottom: 0;
@ -155,7 +221,7 @@ export default {
width: 24px;
height: 24px;
position: absolute;
left: 0px;
left: 16px;
}
.title{
font-size: 18px;
@ -253,17 +319,19 @@ export default {
top: 0;
left: 0;
width: 100%;
height: 100%;
height: 366px;
z-index: 1;
}
}
.content{
width: 100%;
height:200px;
box-sizing: border-box;
padding: 16px 16px 0;
padding: 16px 16px 4px;
border-top-left-radius: 16px;
border-top-right-radius: 16px;
position: relative;
background: #fff;
z-index:99;
.tab{
width: 100%;
height: 38px;
@ -295,15 +363,14 @@ export default {
}
.serviceList{
width: 100%;
background: url("https://eshangtech.com/ShopICO/ahyd-BID/examine/serviceItemBg.svg")no-repeat;
background-size: contain;
.serviceItem{
width: 100%;
height: 270px;
box-sizing: border-box;
padding: 16px;
border-radius: 8px;
margin-top: 12px;
margin-bottom: 12px;
background: linear-gradient(314deg, #FFF1F8 0%, #F2F2FF 32%, #FCFAFF 54%, #FCF6FF 70%, #F2EAFF 100%);
.itemTitle{
display: flex;
align-items: center;
@ -324,6 +391,81 @@ export default {
margin-left: 8px;
border-radius: 2px;
}
.secondUnit{
background:rgba(0, 147, 46, 0.1);
border-radius: 2px;
font-size: 12px;
padding: 3px 4px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #00932E;
margin-left: 8px;
line-height: 12px;
}
}
.detail{
margin-top: 18px;
.detailTop{
display: flex;
align-items: center;
justify-content: space-between;
border-bottom: 1px solid rgba(212, 196, 244, 0.2);
padding: 0 0 8px;
.left{
display: flex;
align-items: center;
.icon{
width: 22px;
height: 22px;
}
.type{
font-size: 14px;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #160002;
line-height: 20px;
margin-left: 8px;
}
}
.right{
font-size: 22px;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
color: #160002;
line-height: 22px;
.unit{
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #786B6C;
line-height: 18px;
margin-left: 2px;
}
}
}
.detailMessage{
margin-top: 14px;
.message{
display: flex;
align-items: center;
.icon{
width: 16px;
height: 16px;
}
.value{
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #160002;
line-height: 20px;
margin-left: 8px;
width: 90%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
}
}
}
}
}
@ -372,5 +514,26 @@ export default {
}
}
}
::-webkit-scrollbar {
width: 4px;
height: 4px;
color:transparent;
}
/*定义滚动条轨道 内阴影+圆角*/
::-webkit-scrollbar-track {
border-radius: 10px;
background-color:transparent;
}
/*定义滑块 内阴影+圆角*/
::-webkit-scrollbar-thumb {
border-radius: 10px;
background-color:transparent;
}
.notice{
font-size: 12px;
color: gray;
}
}
</style>

View File

@ -11,12 +11,12 @@
<text class="day">{{ thisDay }}</text>
<view class="uni-input" style="background: transparent;padding: 0;height:100%">{{ single }}</view>
<image class="icon" src="/static/images/index/arrow_bottom.svg"></image>
</view>
</view>
</picker>
</view>
</view>
</div>
<view class="other">
<view v-if="user.Membership_Id" >
<view v-if="user.Membership_Id" >
<view class="topTitle">
<p class="title">对客营收</p>
<text class="smallTitle">{{monthAmountAdd?monthAmountAdd:'-'}}<text class="month">({{thisMonth?thisMonth:'-'}}月累计)</text></text>
@ -955,24 +955,24 @@ export default {
yesterday = `${y}-${m}-${day}`
}
//
const data = {
Statistics_Date:yesterday,
Statistics_Month:this.theRequest.month,
Province_Code:this.theRequest.ProvinceCode,
pushProvinceCode:this.theRequest.ProvinceCode,
Serverpart_ID:this.theRequest.ServerpartIds?this.theRequest.ServerpartIds:'',
SPRegionType_ID:this.theRequest.GroupType==1020?this.theRequest.ServerpartIds:''
}
request.$webGet('CommercialApi/Revenue/GetRevenuePushList',data).then(res=>{
//
let cashPay = 0
res.Result_Data.List.forEach(item=>{
cashPay= Number(item.CashPay) + cashPay
})
// data
_this.yesterdayAllPay = cashPay
flag1 = true
})
// const data = {
// Statistics_Date:yesterday,
// Statistics_Month:this.theRequest.month,
// Province_Code:this.theRequest.ProvinceCode,
// pushProvinceCode:this.theRequest.ProvinceCode,
// Serverpart_ID:this.theRequest.ServerpartIds?this.theRequest.ServerpartIds:'',
// SPRegionType_ID:this.theRequest.GroupType==1020?this.theRequest.ServerpartIds:''
// }
// request.$webGet('CommercialApi/Revenue/GetRevenuePushList',data).then(res=>{
// //
// let cashPay = 0
// res.Result_Data.List.forEach(item=>{
// cashPay= Number(item.CashPay) + cashPay
// })
// // data
// _this.yesterdayAllPay = cashPay
// flag1 = true
// })
//
// request.$webGet('CommercialApi/Revenue/GetMobileShare',data).then(res=>{
// // data
@ -1074,7 +1074,7 @@ export default {
this.showTableData = result.RevenuePushModel
this.showTableData.compared = result.GrowthRate
//
if (flag1 && flag2 && flag3 ){
if (flag2 && flag3 ){
this.todayAmount()
}
})
@ -1134,18 +1134,18 @@ export default {
}
},
async initData() { //
const data = {
pushProvinceCode:'340000',
Statistics_Date:this.lastDay
}
// const data = {
// pushProvinceCode:'340000',
// Statistics_Date:this.lastDay
// }
//
const totalData = await request.$webGet('CommercialApi/BaseInfo/GetShopCountList',data)
let all = 0
totalData.Result_Data.List.forEach(item=>{
all+=item.SHOP_REVENUECOUNT
})
// this.allShopCount = all
// //
// const totalData = await request.$webGet('CommercialApi/BaseInfo/GetShopCountList',data)
// let all = 0
// totalData.Result_Data.List.forEach(item=>{
// all+=item.SHOP_REVENUECOUNT
// })
// // this.allShopCount = all
//
const shareData = {

View File

@ -233,9 +233,9 @@ import Tabbar from "../../components/tabbar/tabbar.vue";
value: 4,
},
{
id:'',
id:'30f0e7d0-4e01-4a63-a65b-613e1f427335',
name: '考评考核',
homeUrl: '/siteManager/assessment/index',
homeUrl: '/pages/examine/index',
imagePath: '/static/images/user/assessment.svg',
isNotice:false,
notice:0,
@ -287,9 +287,9 @@ import Tabbar from "../../components/tabbar/tabbar.vue";
//
let systemInfo = uni.getSystemInfoSync()
this.statusBarHeight = Number(systemInfo.statusBarHeight)
//
this.menu = uni.getMenuButtonBoundingClientRect()
this.dataList[2].list.forEach(item=>{
for(let key in this.user.AuthorityInfo){
if (key === item.id){
@ -335,6 +335,9 @@ import Tabbar from "../../components/tabbar/tabbar.vue";
})
}
},
onShow(){
uni.hideTabBar()
},
onUnload() {
this.$util.addUserBehavior()
},

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>图标/更多备份_4@2x</title>
<defs>
<linearGradient x1="50%" y1="3.05745013e-15%" x2="50%" y2="99.8934659%" id="linearGradient-1">
<stop stop-color="#AF8CFF" offset="0%"></stop>
<stop stop-color="#7242DE" offset="100%"></stop>
</linearGradient>
</defs>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="考评考核0515" transform="translate(-460.000000, -2623.000000)">
<g id="编组" transform="translate(460.000000, 2623.000000)">
<rect id="矩形" fill="url(#linearGradient-1)" opacity="0.200000003" x="0" y="0" width="24" height="24" rx="3"></rect>
<g id="compass-3-fill" opacity="0.800000012" transform="translate(12.000000, 12.000000) rotate(-45.000000) translate(-12.000000, -12.000000) translate(4.000000, 4.000000)" fill="#8441F3" fill-rule="nonzero">
<path d="M8,16 C3.58172,16 0,12.41824 0,8 C0,3.58172 3.58172,0 8,0 C12.41824,0 16,3.58172 16,8 C16,12.41824 12.41824,16 8,16 Z M11.6,4.4 L6.4,6.4 L4.4,11.6 L9.6,9.6 L11.6,4.4 Z M8,8.8 C7.55816,8.8 7.2,8.44184 7.2,8 C7.2,7.55816 7.55816,7.2 8,7.2 C8.44184,7.2 8.8,7.55816 8.8,8 C8.8,8.44184 8.44184,8.8 8,8.8 Z" id="形状"></path>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>图标/更多备份_8@2x</title>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="考评考核0515" transform="translate(-320.000000, -2623.000000)" fill="#A69E9F" fill-rule="nonzero">
<g id="图标/更多备份-8" transform="translate(312.000000, 2615.000000)">
<g id="形状结合" transform="translate(8.000000, 8.000000)">
<path d="M8,0 C12.418278,0 16,3.581722 16,8 C16,12.418278 12.418278,16 8,16 C3.581722,16 0,12.418278 0,8 C0,3.581722 3.581722,0 8,0 Z M8,1.25 C4.27207794,1.25 1.25,4.27207794 1.25,8 C1.25,11.7279221 4.27207794,14.75 8,14.75 C11.7279221,14.75 14.75,11.7279221 14.75,8 C14.75,4.27207794 11.7279221,1.25 8,1.25 Z M7.5,4 L8.75,4 L8.75,7.5 L12,7.5 L12,8.75 L7.5,8.75 L7.5,4 Z"></path>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>图标/更多备份_7@2x</title>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="考评考核0515" transform="translate(-288.000000, -2623.000000)" fill="#A69E9F" fill-rule="nonzero">
<g id="图标/更多备份-7" transform="translate(280.000000, 2607.000000)">
<g id="形状结合" transform="translate(8.000000, 16.000000)">
<path d="M8,0 C12.418278,0 16,3.581722 16,8 C16,12.418278 12.418278,16 8,16 C3.581722,16 0,12.418278 0,8 C0,3.581722 3.581722,0 8,0 Z M8,11.25 C6.28403874,11.25 4.74363766,12.0016625 3.6900947,13.1936897 C4.85915962,14.1661233 6.36139396,14.75 8,14.75 C9.63860604,14.75 11.1408404,14.1661233 12.3100025,13.1950706 C11.256618,12.0017873 9.71610365,11.25 8,11.25 Z M8,1.25 C4.27207794,1.25 1.25,4.27207794 1.25,8 C1.25,9.63860604 1.83387666,11.1408404 2.80492943,12.3100025 C4.08560898,10.8909096 5.93876295,10 8,10 C10.0613311,10 11.9145601,10.8909908 13.1955736,12.3088591 C14.1661233,11.1408404 14.75,9.63860604 14.75,8 C14.75,4.27207794 11.7279221,1.25 8,1.25 Z M8,3 C9.65685425,3 11,4.34314575 11,6 C11,7.65685425 9.65685425,9 8,9 C6.34314575,9 5,7.65685425 5,6 C5,4.34314575 6.34314575,3 8,3 Z M8,4.25 C7.03350169,4.25 6.25,5.03350169 6.25,6 C6.25,6.96649831 7.03350169,7.75 8,7.75 C8.96649831,7.75 9.75,6.96649831 9.75,6 C9.75,5.03350169 8.96649831,4.25 8,4.25 Z"></path>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB