flying-monkey/pagesA/faultStatistics/projectOverview.vue

699 lines
26 KiB
Vue

<template>
<view class="content">
<statusNav navBarTitle="数据看板"></statusNav>
<container-subgroup-two>
<view slot="content" style="margin: 0 -30rpx;">
<view class="project-overview">
<view class="settlement-type-title">
项目概况
</view>
<view class="project-gross">
<view class="project-gross-title">
累计总项目量
</view>
<view class="project-gross-num">
<view class="li">
0
</view>
<view class="li">
2
</view>
<view class="li">
9
</view>
<view class="li">
8
</view>
<view class="li">
5
</view>
</view>
<view class="project-gross-box">
<view class="li">
<view class="date">
今日
</view>
<view class="date-con">
<view class="date-con-li">
<view class="text">
新增项目量
</view>
<view class="single-amount">
0
</view>
</view>
<view class="date-con-li">
<view class="text">
新增工单量
</view>
<view class="single-amount">
0
</view>
</view>
<view class="date-con-li">
<view class="text">
项目维保率
</view>
<view class="single-amount">
0
</view>
</view>
</view>
</view>
<view class="li">
<view class="date">
本周
</view>
<view class="date-con">
<view class="date-con-li">
<view class="text">
新增项目量
</view>
<view class="single-amount">
0
</view>
</view>
<view class="date-con-li">
<view class="text">
新增工单量
</view>
<view class="single-amount">
0
</view>
</view>
<view class="date-con-li">
<view class="text">
项目维保率
</view>
<view class="single-amount">
0
</view>
</view>
</view>
</view>
<view class="li">
<view class="date">
本月
</view>
<view class="date-con">
<view class="date-con-li">
<view class="text">
新增项目量
</view>
<view class="single-amount">
0
</view>
</view>
<view class="date-con-li">
<view class="text">
新增工单量
</view>
<view class="single-amount">
0
</view>
</view>
<view class="date-con-li">
<view class="text">
项目维保率
</view>
<view class="single-amount">
0
</view>
</view>
</view>
</view>
</view>
</view>
</view>
<view class="data-icon">
<view class="settlement-type-title">
年度项目数据明细
</view>
<view class="">
<view class="charts-box">
<qiun-data-charts type="mix" :chartData="chartData" background="none" />
</view>
</view>
</view>
<view class="serve-data">
<view class="settlement-type-title">
服务数据
</view>
<view class="serve-data-box">
<view class="serve-data-left">
<view class="title">
本月服务量
</view>
<view class="text-con">
<view class="li">
<view class="text">
维保工单:
</view>
<view class="num">
3
</view>
</view>
<view class="li">
<view class="text">
巡检服务单:
</view>
<view class="num">
65465
</view>
</view>
<view class="li">
<view class="text">
移屏服务单:
</view>
<view class="num">
32132
</view>
</view>
<view class="li">
<view class="text">
拆屏工单:
</view>
<view class="num">
32132
</view>
</view>
</view>
</view>
<view class="serve-data-left">
<view class="title">
累计服务量
</view>
<view class="text-con">
<view class="li">
<view class="text">
维保工单:
</view>
<view class="num">
3
</view>
</view>
<view class="li">
<view class="text">
巡检服务单:
</view>
<view class="num">
65465
</view>
</view>
<view class="li">
<view class="text">
移屏服务单:
</view>
<view class="num">
32132
</view>
</view>
<view class="li">
<view class="text">
拆屏工单:
</view>
<view class="num">
32132
</view>
</view>
</view>
</view>
</view>
</view>
<view class="data-icon">
<view class="settlement-type-title">
年度服务数据汇总
</view>
<view class="">
<view class="charts-box">
<qiun-data-charts type="mix" :chartData="chartDataA" background="none" />
</view>
</view>
</view>
<view class="expire-project">
<view class="settlement-type-title settlement-type-titlea">
质保即将到期项目
</view>
<view class="expire-project-box">
<view class="li-title li">
<view class="name">
项目名称
</view>
<view class="work-order">
工单
</view>
<view class="date">
日期
</view>
</view>
<view class="li-text li">
<view class="name">
1.五岭新天地二期停车场xxxxxxxxxxxxx
</view>
<view class="work-order">
6
</view>
<view class="date">
22/2/24
</view>
</view>
<view class="li-text li">
<view class="name">
1.五岭新天地二期停车场xxxxxxxxxxxxx
</view>
<view class="work-order">
6
</view>
<view class="date">
22/2/24
</view>
</view>
<view class="li-text li">
<view class="name">
1.五岭新天地二期停车场xxxxxxxxxxxxx
</view>
<view class="work-order">
6
</view>
<view class="date">
22/2/24
</view>
</view>
<view class="li-text li">
<view class="name">
1.五岭新天地二期停车场xxxxxxxxxxxxx
</view>
<view class="work-order">
6
</view>
<view class="date">
22/2/24
</view>
</view>
</view>
</view>
</view>
</container-subgroup-two>
</view>
</template>
<script>
import containerSubgroupTwo from '@/components/containers/container-subgroup-two.vue';
import statusNav from '../../components/status-nav.vue';
export default {
components: {
statusNav,
containerSubgroupTwo
},
data() {
return {
chartDataA: {
categories: [
"1月",
"2月",
"3月",
"4月",
"5月",
"6月"
],
series: [
{
name: "",
index: 1,
data: [
40,
{
value: 30,
},
55,
110,
24,
58
],
type: "column",
"color": "#308de1"
},
{
"name": "",
"data": [
40,
30,
55,
110,
24,
58
],
"type": "line",
"color": "#308de1"
},
{
"name": "",
"index": 2,
"data": [
40,
30,
55,
110,
24,
58
],
"type": "point",
"color": "#308de1"
}
]
},
chartData: {
categories: [
"1月",
"2月",
"3月",
"4月",
"5月",
"6月"
],
series: [
{
name: "",
index: 1,
data: [
40,
{
value: 30,
},
55,
110,
24,
58
],
type: "column",
"color": "#fe4141"
},
{
"name": "",
"data": [
40,
30,
55,
110,
24,
58
],
"type": "line",
"color": "#fe4141"
},
{
"name": "",
"index": 2,
"data": [
40,
30,
55,
110,
24,
58
],
"type": "point",
"color": "#fe4141"
}
]
},
}
},
methods: {
}
}
</script>
<style>
.content {
padding:0rpx 10rpx;
}
.charts-box{
width: 100%;
}
.settlement-type-title {
font-size: 32rpx;
color: #2c2c2c;
display: flex;
align-items: center;
font-weight: bold;
}
.settlement-type-title::before {
content: "";
margin-right: 22rpx;
width: 6rpx;
display: block;
height: 32rpx;
border-radius: 50rpx;
background: linear-gradient(#307ade, #08adf8)
}
.project-overview {
background-color: #FFFFFF;
border-radius: 40rpx;
padding: 26rpx 24rpx;
box-shadow: 0rpx 10rpx 20rpx rgba(0, 0, 0, 0.1);
}
.project-gross {
margin-top: 25rpx;
}
.project-gross .project-gross-title {
color: #2c2c2c;
font-size: 30rpx;
font-weight: bold;
text-align: center;
}
.project-gross-num {
display: flex;
justify-content: center;
margin-top: 20rpx;
margin-bottom: 27rpx;
}
.project-gross-num .li {
width: 76rpx;
height: 94rpx;
text-align: center;
font-size: 60rpx;
color: #FFFFFF;
line-height: 94rpx;
margin: 0 4rpx;
background-color: #00a0e9;
border-radius: 10rpx;
}
.project-gross-box .li {
margin-bottom: 50rpx;
}
.project-gross-box .li .date {
color: #2C2C2C;
font-size: 28rpx;
display: flex;
align-items: center;
font-weight: bold;
}
.project-gross-box .li .date::before {
content: "";
display: block;
width: 10rpx;
margin-right: 10rpx;
height: 10rpx;
border-radius: 50%;
background-color: #FFBB31;
}
.project-gross-box .li .date-con {
display: flex;
padding: 0 23rpx;
padding-right: 0rpx;
margin-top: 20rpx;
}
.project-gross-box .li .date-con .date-con-li {
border-right: 2rpx solid #E6E6E6;
padding-right: 58rpx;
padding-left: 60rpx;
}
.project-gross-box .li .date-con .date-con-li:first-child {
text-align: left;
padding-left: 0rpx;
}
.project-gross-box .li .date-con .date-con-li:last-child {
border: none;
}
.project-gross-box .li .date-con .date-con-li .text {
font-size: 24rpx;
color: #a2a2a2;
}
.project-gross-box .li .date-con .date-con-li .single-amount {
font-size: 30rpx;
color: #f8b21b;
margin-top: 10rpx;
}
.data-icon {
background-color: #FFFFFF;
border-radius: 40rpx;
padding: 26rpx 24rpx;
margin-top: 15rpx;
box-shadow: 0rpx 10rpx 20rpx rgba(0, 0, 0, 0.1);
}
.serve-data {
padding: 26rpx 24rpx;
margin-top: 27rpx;
box-shadow: 0rpx 10rpx 20rpx rgba(0, 0, 0, 0.1);
border-radius: 40rpx;
background-color: #FFFFFF;
padding-bottom: 40rpx;
}
.serve-data-box {
display: flex;
margin-top: 27rpx;
}
.serve-data-box .serve-data-left {
width: 50%;
}
.serve-data-box .serve-data-left .title {
font-size: 28rpx;
color: #2c2c2c;
font-weight: bold;
display: flex;
align-items: center;
}
.serve-data-box .serve-data-left .title::before {
content: "";
width: 10rpx;
display: block;
border-radius: 50%;
margin-right: 13rpx;
height: 10rpx;
background-image: linear-gradient(#5fc0f0, #297ddc);
}
.serve-data-box .serve-data-left .li {
display: flex;
margin-top: 40rpx;
}
.serve-data-box .serve-data-left .li .text {
width: 130rpx;
font-size: 24rpx;
color: #a2a2a2;
margin-right: 20rpx;
text-align: right;
}
.serve-data-box .serve-data-left .li .num {
width: 130rpx;
font-size: 24rpx;
color: #27cdc9;
font-weight: bold;
}
.serve-data-box .serve-data-left:nth-child(2) {
padding-left: 32rpx;
}
.expire-project{
padding: 26rpx 24rpx;
margin-top: 27rpx;
box-shadow: 0rpx 10rpx 20rpx rgba(0, 0, 0, 0.1);
border-radius: 40rpx;
background-color: #FFFFFF;
}
.settlement-type-titlea::before {
content: "";
margin-right: 22rpx;
width: 6rpx;
display: block;
height: 32rpx;
border-radius: 50rpx;
background: linear-gradient(#2ed5b6, #2fd9cf)
}
.expire-project-box .li-title{
display: flex;
width: 100%;
font-size: 28rpx;
color: #a2a2a2;
margin-top: 20rpx;
}
.expire-project-box .li-title .name{
padding-left: 80rpx;
box-sizing: border-box;
}
.expire-project-box .li .name{
width: 455rpx;
}
.expire-project-box .li .work-order{
width: 80rpx;
text-align: center;
}
.expire-project-box .li .date{
flex: 1;
text-align: center;
}
.expire-project-box .li-text{
display: flex;
padding: 17rpx 0rpx;
font-size: 24rpx;
border-bottom: 2rpx solid #E6E6E6;
color: #27cdc9;
}
.expire-project-box .li-text .name{
color: #333333;
}
.expire-project-box .li-text:last-child{
border: none;
}
</style>