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>
|