530 lines
11 KiB
Vue
530 lines
11 KiB
Vue
<template>
|
||
<view class="fullHeight personContent">
|
||
<image src="/static/personManage/titleBG.png" class="titleBg"></image>
|
||
<headers :showBack="true" :themeType="'white'">
|
||
<view class="headerName">
|
||
车辆管理
|
||
</view>
|
||
</headers>
|
||
<view class="topBox" :style="{ 'margin-top': (200-statusBarHeight-44 - 110) + 'px' }">
|
||
<image src="/static/personManage/left.png" class="topBoxBG" v-show="tabIndex==0"></image>
|
||
<image src="/static/personManage/right.png" class="topBoxBG" v-show="tabIndex==1"></image>
|
||
<view class="item item1">
|
||
<view class="itemInner" @click="tabIndex=0">
|
||
<view class="">
|
||
<view class="txt" :class="tabIndex==0?'active':''">
|
||
今日总进场次数
|
||
</view>
|
||
<view class="num">
|
||
{{statictisData.innum}}
|
||
</view>
|
||
</view>
|
||
|
||
</view>
|
||
<view class="itemInner" @click="tabIndex=1">
|
||
<view class="">
|
||
<view class="txt" :class="tabIndex==1?'active':''">
|
||
今日总出场次数
|
||
</view>
|
||
<view class="num">
|
||
{{statictisData.outnum}}
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="item item2">
|
||
<view class="itemInner">
|
||
<view class="" v-if="tabIndex==0">
|
||
<view class="txt">
|
||
<text>外来车辆进场车次</text>
|
||
</view>
|
||
<view class="num">
|
||
{{statictisData.wlcInNum}}
|
||
</view>
|
||
</view>
|
||
<view class="" v-else>
|
||
<view class="txt">
|
||
<text>外来车辆出场车次</text>
|
||
</view>
|
||
<view class="num">
|
||
{{statictisData.wlcOutNum}}
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="itemInner" v-if="tabIndex==0">
|
||
<view class="">
|
||
<view class="txt">
|
||
<text>固定车辆进场车次</text>
|
||
</view>
|
||
<view class="num">
|
||
{{statictisData.gdcInNum}}
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="itemInner" v-else>
|
||
<view class="">
|
||
<view class="txt">
|
||
<text>固定车辆出场车次</text>
|
||
</view>
|
||
<view class="num">
|
||
{{statictisData.gdcOutNum}}
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="item item3">
|
||
<view class="itemInner">
|
||
<view class="" v-if="tabIndex==0">
|
||
<view class="txt">
|
||
<text>长期车进场车次</text>
|
||
</view>
|
||
<view class="num">
|
||
{{statictisData.cqcInNum}}
|
||
</view>
|
||
</view>
|
||
<view class="" v-else>
|
||
<view class="txt">
|
||
<text>长期车出场车次</text>
|
||
</view>
|
||
<view class="num">
|
||
{{statictisData.cqcOutNum}}
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="itemInner">
|
||
<view class="" v-if="tabIndex==0">
|
||
<view class="txt">
|
||
临时车进场车次
|
||
</view>
|
||
<view class="num">
|
||
{{statictisData.lscInNum}}
|
||
</view>
|
||
</view>
|
||
<view class="" v-else>
|
||
<view class="txt">
|
||
临时车出场车次
|
||
</view>
|
||
<view class="num">
|
||
{{statictisData.lscOutNum}}
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="middleBox" v-if="COMPANY != 'longguang' && COMPANY != 'nanchang'">
|
||
<view class="box" @click="viewWorkerAnalysis">
|
||
<image src="/static/card.png" class="img" style="width: 40rpx;height: 19px;"></image>
|
||
<view class="data-count">
|
||
<view @click="toCarList(1)">
|
||
<text>固定车总数</text>
|
||
<text>{{carstatictisData.gdcNum}}</text>
|
||
</view>
|
||
<view @click="toCarList(2)">
|
||
<text>长期车总数</text>
|
||
<text>{{carstatictisData.cqcNum}}</text>
|
||
</view>
|
||
<view @click="toCarList(3)">
|
||
<text>临时车总数</text>
|
||
<text>{{carstatictisData.lscNum}}</text>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="box operateBox">
|
||
<!-- <view class="item" @click="viewSafeMange">
|
||
<view class="imgBox">
|
||
<image src="/static/personManage/aqjy.png" mode="" style="width: 29px;height: 40rpx;"></image>
|
||
</view>
|
||
<view class="txt">
|
||
安全教育
|
||
</view>
|
||
</view> -->
|
||
<!-- <view v-if="COMPANY != 'longguang'" class="item" @click="goClockIn" v-show="mobileAttendance==0">
|
||
<view class="imgBox">
|
||
<image src="/static/personManage/ydkq.png" mode="" style="width: 24rpx;height: 24rpx;"></image>
|
||
</view>
|
||
<view class="txt">
|
||
移动考勤
|
||
</view>
|
||
</view>
|
||
<view class="item" v-if="COMPANY == 'longguang'" @click="viewTeamList" v-show="mobileAttendance==0">
|
||
<view class="imgBox">
|
||
<image src="/static/personManage/cdw.png" mode="" style="width: 24rpx;height: 24rpx;"></image>
|
||
</view>
|
||
<view class="txt">
|
||
查队伍
|
||
</view>
|
||
</view> -->
|
||
<view class="item" @click="viewRecord(0)">
|
||
<view class="imgBox">
|
||
<image src="/static/carManage/icon1.png" mode="" style="width: 70rpx;height: 50rpx;"></image>
|
||
</view>
|
||
<view class="txt">
|
||
车辆通行记录
|
||
</view>
|
||
</view>
|
||
<view class="item" @click="viewRecord(1)">
|
||
<view class="imgBox">
|
||
<image src="/static/carManage/icon2.png" mode="" style="width: 80rpx;height: 70rpx;"></image>
|
||
</view>
|
||
<view class="txt">
|
||
车辆黑白名单统计
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<!-- <view class="tabBarBox">
|
||
<view class="item active">
|
||
<image src="/static/personManage/index.png" class="img"></image>
|
||
<view class="txt">
|
||
首页
|
||
</view>
|
||
</view>
|
||
<view class="item" @click="queryStaff">
|
||
<image src="/static/personManage/search.png" class="img"></image>
|
||
<view class="txt">
|
||
查人员
|
||
</view>
|
||
</view>
|
||
</view> -->
|
||
<view class="tabBarBox" v-if="COMPANY == 'agjt'">
|
||
<view class="item active">
|
||
<image src="/static/personManage/index.png" class="img"></image>
|
||
<view class="txt">
|
||
首页
|
||
</view>
|
||
</view>
|
||
<view class="item" @click="queryStaff">
|
||
<image src="/static/personManage/search.png" class="img"></image>
|
||
<view class="txt">
|
||
查车辆
|
||
</view>
|
||
</view>
|
||
<!-- <view class="item">
|
||
<image src="/static/personManage/location.png" class="img"></image>
|
||
<view class="txt">
|
||
定位
|
||
</view>
|
||
</view> -->
|
||
</view>
|
||
<levitatedsphere :x="100" :y="80"></levitatedsphere>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import levitatedsphere from "@/components/levitatedsphere/levitatedsphere.vue"
|
||
import headers from "../../../components/headers/headers.vue"
|
||
export default {
|
||
data() {
|
||
return {
|
||
projectDetail: null,
|
||
statictisData: {},
|
||
statusBarHeight: 0,
|
||
tabIndex: 0,
|
||
mobileAttendance:1,//是否能移动考勤,0是,1否
|
||
carstatictisData: {}
|
||
};
|
||
},
|
||
onLoad() {
|
||
this.statusBarHeight = uni.getStorageSync('systemInfo').statusBarHeight
|
||
this.projectDetail = JSON.parse(uni.getStorageSync('projectDetail'))
|
||
this.mobileAttendance=JSON.parse(uni.getStorageSync('userInfo')).mobileAttendance
|
||
this.loadData()
|
||
this.loadCarData()
|
||
},
|
||
methods: {
|
||
loadCarData(){
|
||
var that = this
|
||
this.sendRequest({
|
||
url: 'xmgl/carInfo/countCarModuleType',
|
||
data: {
|
||
projectSn: this.projectDetail.projectSn
|
||
},
|
||
method: "POST",
|
||
success(res) {
|
||
that.carstatictisData = res.result
|
||
console.log('获取的数据',that.carstatictisData);
|
||
}
|
||
})
|
||
},
|
||
loadData() {
|
||
var that = this
|
||
this.sendRequest({
|
||
url: 'xmgl/carPassRecord/getTodayOutInNumber',
|
||
data: {
|
||
projectSn: this.projectDetail.projectSn
|
||
},
|
||
method: "GET",
|
||
success(res) {
|
||
that.statictisData = res.result
|
||
console.log('获取的数据',that.statictisData);
|
||
}
|
||
})
|
||
},
|
||
viewWorkerAnalysis() {
|
||
uni.navigateTo({
|
||
url: './workerAnalysis'
|
||
})
|
||
},
|
||
viewSafeMange() {
|
||
uni.navigateTo({
|
||
url: './safetyEducationManage/index'
|
||
})
|
||
},
|
||
viewTeamList() {
|
||
uni.navigateTo({
|
||
url: './searchTeam/teamList'
|
||
})
|
||
},
|
||
goClockIn() {
|
||
var userInfo = JSON.parse(uni.getStorageSync('userInfo'))
|
||
if (userInfo.accountType == 6) {
|
||
uni.navigateTo({
|
||
url: './clockIn?faceScore='
|
||
})
|
||
// uni.navigateTo({
|
||
// url:'./faceRecognition'
|
||
// })
|
||
} else {
|
||
uni.showModal({
|
||
title: '提示',
|
||
content: '只有项目子账号才能使用该功能!'
|
||
})
|
||
}
|
||
|
||
},
|
||
toCarList(carType){
|
||
uni.navigateTo({
|
||
url: './index?listType=1' + '&carType=' + carType
|
||
})
|
||
},
|
||
viewRecord(type) {
|
||
uni.navigateTo({
|
||
url: './index?listType=' + type
|
||
})
|
||
},
|
||
safeMeeting(){
|
||
uni.navigateTo({
|
||
url:'../../videoManage/safeMeeting?sn='+this.projectDetail.projectSn
|
||
})
|
||
},
|
||
viewVideo(){
|
||
uni.navigateTo({
|
||
url: '../../videoManage/videoList?sn='+this.projectDetail.projectSn+'&pageType=backEnd'
|
||
})
|
||
},
|
||
//查询人员
|
||
queryStaff(){
|
||
uni.navigateTo({
|
||
url: './queryStaff'
|
||
})
|
||
},
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style lang="scss" scoped>
|
||
.personContent {
|
||
color: $uni-text-color2;
|
||
font-size: 30rpx;
|
||
:deep(.headerBox){
|
||
background-color: transparent;
|
||
border-bottom: none;
|
||
}
|
||
}
|
||
|
||
.titleBg {
|
||
width: 100%;
|
||
position: absolute;
|
||
top: 0;
|
||
left: 0;
|
||
height: 200px;
|
||
}
|
||
|
||
.middleBox {
|
||
display: flex;
|
||
align-items: center;
|
||
margin: 30rpx;
|
||
|
||
.box {
|
||
flex: 1;
|
||
display: inline-flex;
|
||
align-items: center;
|
||
height: 65px;
|
||
|
||
&:first-child {
|
||
margin-right: 10rpx;
|
||
}
|
||
|
||
.img {
|
||
margin-right: 16rpx;
|
||
margin-left: 40rpx;
|
||
}
|
||
|
||
.data-count{
|
||
flex: 1;
|
||
display: flex;
|
||
justify-content: space-around;
|
||
>view{
|
||
display: flex;
|
||
flex-direction: column;
|
||
justify-content: center;
|
||
align-items: center;
|
||
text:nth-child(1){
|
||
color: #3C3C3C;
|
||
font-size: 28rpx ;
|
||
}
|
||
text:nth-child(2){
|
||
color: #5382F6;
|
||
font-size: 30rpx ;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
.box {
|
||
box-shadow: 0 4px 24px 0px rgba(212, 220, 236, 0.69);
|
||
border-radius: 16rpx;
|
||
}
|
||
|
||
.operateBox {
|
||
display: flex;
|
||
align-items: center;
|
||
font-size: 24rpx;
|
||
height: 96px;
|
||
margin: 0 30rpx;
|
||
|
||
.item {
|
||
flex: 1;
|
||
|
||
.imgBox {
|
||
height: 24rpx;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
margin-bottom: 20rpx;
|
||
}
|
||
|
||
.txt {
|
||
text-align: center;
|
||
}
|
||
}
|
||
}
|
||
|
||
.tabBarBox {
|
||
display: flex;
|
||
align-items: center;
|
||
font-size: 24rpx;
|
||
border-top: 1px solid rgba(151, 151, 151, 0.2);
|
||
position: fixed;
|
||
bottom: 0;
|
||
left: 0;
|
||
width: 100%;
|
||
height: 64rpx;
|
||
|
||
.item {
|
||
flex: 1;
|
||
// display: inline-flex;
|
||
text-align: center;
|
||
color: rgba(148, 149, 173, 1);
|
||
|
||
.img {
|
||
width: 70rpx;
|
||
height: 70rpx;
|
||
}
|
||
|
||
&.active {
|
||
color: rgba(72, 141, 236, 1);
|
||
}
|
||
}
|
||
}
|
||
|
||
.topBox {
|
||
margin: 0 10rpx;
|
||
position: relative;
|
||
height: 270px;
|
||
z-index: 4;
|
||
|
||
.topBoxBG {
|
||
position: absolute;
|
||
top: 0;
|
||
left: 0;
|
||
width: 100%;
|
||
height: 100%;
|
||
z-index: -1;
|
||
}
|
||
|
||
.item {
|
||
margin: 0 20rpx;
|
||
display: flex;
|
||
|
||
.itemInner {
|
||
display: inline-flex;
|
||
flex: 1;
|
||
align-items: center;
|
||
justify-content: center;
|
||
|
||
&:first-child {
|
||
border-right: 1px solid rgba(55, 45, 102, 0.1);
|
||
}
|
||
}
|
||
|
||
.txt {
|
||
color: rgba(55, 45, 102, 0.6);
|
||
font-size: 30rpx;
|
||
text-align: center;
|
||
}
|
||
|
||
.active {
|
||
color: rgba(55, 45, 102, 1);
|
||
font-weight: bold;
|
||
}
|
||
|
||
.num {
|
||
font-size: 40rpx;
|
||
font-weight: bold;
|
||
text-align: center;
|
||
}
|
||
}
|
||
|
||
.item1 {
|
||
height: calc(33% - 20rpx);
|
||
padding-top: 20rpx;
|
||
|
||
.itemInner {
|
||
&:first-child {
|
||
border-right: none;
|
||
}
|
||
}
|
||
}
|
||
|
||
.item2 {
|
||
height: 20%;
|
||
margin: 4% 20rpx;
|
||
// padding-bottom: 2%;
|
||
// .itemInner{
|
||
// padding-bottom: 20rpx;
|
||
|
||
// }
|
||
|
||
}
|
||
|
||
.item3 {
|
||
|
||
padding-top: 4%;
|
||
height: 20%;
|
||
position: relative;
|
||
|
||
&::after {
|
||
content: "";
|
||
position: absolute;
|
||
left: 5%;
|
||
width: 90%;
|
||
top: 0px;
|
||
border-top: 1px solid rgba(55, 45, 102, 0.1);
|
||
}
|
||
|
||
}
|
||
}
|
||
</style>
|