调整bug
parent
8ae783ebe4
commit
7640b848e0
|
@ -0,0 +1,96 @@
|
||||||
|
<template>
|
||||||
|
<view style="">
|
||||||
|
<view class="" style="position: fixed;bottom: 0;background-color: rgba(0, 0,0, .5);top: 0;left: 0;right: 0;">
|
||||||
|
<view class="" style="position: absolute;bottom: 0;left: 0;right: 0; background-color: #FFFFFF;padding-top: 20rpx;">
|
||||||
|
<view class="disjbac pad-zy20">
|
||||||
|
<view @tap="chooseEv(0)" class="pad-sx10 pad-zy30 bacf5 radius10 col9">取消</view>
|
||||||
|
<view @tap="chooseEv(1)" class="pad-sx10 pad-zy30 pbackc radius10 colf">选择</view>
|
||||||
|
</view>
|
||||||
|
<picker-view :indicator-style="indicatorStyle" :value="value" @change="bindChange" class="picker-view">
|
||||||
|
<picker-view-column>
|
||||||
|
<view class="item" v-for="(item,index) in years" :key="index">{{item}}</view>
|
||||||
|
</picker-view-column>
|
||||||
|
<picker-view-column>
|
||||||
|
<view class="item" v-for="(item,index) in months" :key="index">{{item < 10 ? '0'+item : item}}</view>
|
||||||
|
</picker-view-column>
|
||||||
|
<picker-view-column>
|
||||||
|
<view class="item" v-for="(item,index) in days" :key="index">{{item < 10 ? '0'+item : item}}</view>
|
||||||
|
</picker-view-column>
|
||||||
|
<picker-view-column>
|
||||||
|
<view class="item">-</view>
|
||||||
|
</picker-view-column>
|
||||||
|
<picker-view-column>
|
||||||
|
<view class="item" v-for="(item,index) in years" :key="index">{{item}}</view>
|
||||||
|
</picker-view-column>
|
||||||
|
<picker-view-column>
|
||||||
|
<view class="item" v-for="(item,index) in months" :key="index">{{item < 10 ? '0'+item : item}}</view>
|
||||||
|
</picker-view-column>
|
||||||
|
<picker-view-column>
|
||||||
|
<view class="item" v-for="(item,index) in days" :key="index">{{item < 10 ? '0'+item : item}}</view>
|
||||||
|
</picker-view-column>
|
||||||
|
</picker-view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name:"time-date",
|
||||||
|
data() {
|
||||||
|
const date = new Date()
|
||||||
|
const years = []
|
||||||
|
const year = date.getFullYear()
|
||||||
|
const months = []
|
||||||
|
const month = date.getMonth() + 1
|
||||||
|
const days = []
|
||||||
|
const day = date.getDate()
|
||||||
|
for (let i = 1990; i <= date.getFullYear(); i++) {
|
||||||
|
years.push(i)
|
||||||
|
}
|
||||||
|
for (let i = 1; i <= 12; i++) {
|
||||||
|
months.push(i)
|
||||||
|
}
|
||||||
|
for (let i = 1; i <= 31; i++) {
|
||||||
|
days.push(i)
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
title: 'picker-view',
|
||||||
|
years,
|
||||||
|
year,
|
||||||
|
months,
|
||||||
|
month,
|
||||||
|
days,
|
||||||
|
day,
|
||||||
|
value: [9999, month - 1, day - 1,9999, 9999 , month - 1, day - 1],
|
||||||
|
indicatorStyle: `height: 50px;`,
|
||||||
|
timestr:''
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted() {},
|
||||||
|
methods:{
|
||||||
|
bindChange: function (e) {
|
||||||
|
const val = e.detail.value
|
||||||
|
this.timestr = `${this.years[val[0]]}-${this.months[val[1]] < 10 ? '0'+this.months[val[1]] : '0'+this.months[val[1]]}-${this.days[val[2]] < 10 ? '0'+this.days[val[2]] : this.days[val[2]]},${this.years[val[4]]}-${this.months[val[5]] < 10 ? '0'+this.months[val[5]] : this.months[val[5]]}-${this.days[val[6]] < 10 ? '0'+this.days[val[6]] : this.days[val[6]]}`
|
||||||
|
},
|
||||||
|
chooseEv(index){
|
||||||
|
this.$emit('chooseEv',{time:this.timestr,num:index});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.picker-view {
|
||||||
|
width: 750rpx;
|
||||||
|
height: 600rpx;
|
||||||
|
margin-top: 20rpx;
|
||||||
|
}
|
||||||
|
.item {
|
||||||
|
height: 50px!important;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -169,10 +169,18 @@
|
||||||
<!-- 其他 -->
|
<!-- 其他 -->
|
||||||
<view class="home-fun-box">
|
<view class="home-fun-box">
|
||||||
<view class="fun-title col3 fon28 disac bold">其他</view>
|
<view class="fun-title col3 fon28 disac bold">其他</view>
|
||||||
<view class="disac mar-s60 mar-x20">
|
<view class="disac mar-s60 mar-x20" v-if="role==3">
|
||||||
<view @tap="otherEv(index)" class="disjcac fc width25" v-for="(item,index) in otherList" :key="index">
|
<view @tap="otherEv(index)" class="disjcac fc width25" v-for="(item,index) in otherList" :key="index">
|
||||||
<view class="posir" style="height: 58rpx;">
|
<view class="posir" style="height: 58rpx;">
|
||||||
<image :style="{width: [58,49,58][index]+'rpx',height:[51,58,55][index] + 'rpx'}" style="width: 58rpx;" :src="item.imgsrc" mode="widthFix"></image>
|
<image :style="{width: [58,49,56,58][index]+'rpx',height:[51,58,58,55][index] + 'rpx'}" style="width: 58rpx;" :src="item.imgsrc" mode="widthFix"></image>
|
||||||
|
</view>
|
||||||
|
<view class="fon24 col3 mar-s10">{{item.title}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="disac mar-s60 mar-x20" v-else>
|
||||||
|
<view @tap="otherEv(index)" class="disjcac fc width25" v-for="(item,index) in otherList" :key="index" v-if="index!=2">
|
||||||
|
<view class="posir" style="height: 58rpx;">
|
||||||
|
<image :style="{width: [58,49,56,58][index]+'rpx',height:[51,58,58,55][index] + 'rpx'}" style="width: 58rpx;" :src="item.imgsrc" mode="widthFix"></image>
|
||||||
</view>
|
</view>
|
||||||
<view class="fon24 col3 mar-s10">{{item.title}}</view>
|
<view class="fon24 col3 mar-s10">{{item.title}}</view>
|
||||||
</view>
|
</view>
|
||||||
|
@ -263,6 +271,7 @@
|
||||||
otherList:[
|
otherList:[
|
||||||
{imgsrc:'/static/public/icon-home-largeScreen.png',title:'维保统计'},
|
{imgsrc:'/static/public/icon-home-largeScreen.png',title:'维保统计'},
|
||||||
{imgsrc:'/static/public/icon-home-reportForm.png',title:'数据看板'},
|
{imgsrc:'/static/public/icon-home-reportForm.png',title:'数据看板'},
|
||||||
|
{imgsrc:'/static/public/icon-home-status.png',title:'人员状态'},
|
||||||
{imgsrc:'/static/public/icon-home-product.png',title:'新产品'},
|
{imgsrc:'/static/public/icon-home-product.png',title:'新产品'},
|
||||||
],
|
],
|
||||||
// 解决方案
|
// 解决方案
|
||||||
|
@ -460,8 +469,12 @@
|
||||||
let otherUrls = [
|
let otherUrls = [
|
||||||
'/pagesA/faultStatistics/faultStatistics',
|
'/pagesA/faultStatistics/faultStatistics',
|
||||||
'/pagesA/faultStatistics/projectOverview',
|
'/pagesA/faultStatistics/projectOverview',
|
||||||
|
'/pagesA/peopleManagement/peopleManagement',
|
||||||
'/pagesB/new-product/new-product',
|
'/pagesB/new-product/new-product',
|
||||||
];
|
];
|
||||||
|
if(this.role!=3 && index==2) {
|
||||||
|
otherUrls[index] = '/pagesB/new-product/new-product';
|
||||||
|
}
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url:otherUrls[index]
|
url:otherUrls[index]
|
||||||
})
|
})
|
||||||
|
|
|
@ -160,7 +160,7 @@
|
||||||
if (res.code) {
|
if (res.code) {
|
||||||
this.projectObj = res.data;
|
this.projectObj = res.data;
|
||||||
this.imgNum = this.projectObj.completed_img.length;
|
this.imgNum = this.projectObj.completed_img.length;
|
||||||
this.projectGK = this.projectObj.project_overview_min;//项目概况
|
this.projectGK = this.projectObj.project_overview;//项目概况
|
||||||
this.project_material = this.projectObj.project_material;//项目材料
|
this.project_material = this.projectObj.project_material;//项目材料
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
<view class="fault-type">
|
<view class="fault-type">
|
||||||
<view class="settlement-type-title">维保类型</view>
|
<view class="settlement-type-title">维保类型</view>
|
||||||
<view class="charts-box">
|
<view class="charts-box">
|
||||||
<qiun-data-charts type="ring" :chartData="chartData" background="none" />
|
<qiun-data-charts type="ring" :chartData="chartData" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="brand-analysis">
|
<view class="brand-analysis">
|
||||||
|
@ -58,18 +58,21 @@
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</container-subgroup-two>
|
</container-subgroup-two>
|
||||||
|
<view v-if="timeVisit">
|
||||||
|
<timeDate @chooseEv="chooseEv"></timeDate>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import containerSubgroupTwo from '@/components/containers/container-subgroup-two.vue';
|
import containerSubgroupTwo from '@/components/containers/container-subgroup-two.vue';
|
||||||
|
import timeDate from '@/components/time/time-date';
|
||||||
import statusNav from '../../components/status-nav.vue';
|
import statusNav from '../../components/status-nav.vue';
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
statusNav,
|
statusNav,
|
||||||
containerSubgroupTwo
|
containerSubgroupTwo,
|
||||||
|
timeDate
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
@ -100,14 +103,12 @@
|
||||||
],
|
],
|
||||||
// 维保类型
|
// 维保类型
|
||||||
chartData: {
|
chartData: {
|
||||||
series: [{
|
series: [{data: []}]
|
||||||
format: "tooltipDemo1",
|
|
||||||
data: []
|
|
||||||
}]
|
|
||||||
},
|
},
|
||||||
// 品牌分析
|
// 品牌分析
|
||||||
brandAnalysis:[],
|
brandAnalysis:[],
|
||||||
timestr:'all'
|
timestr:'all',
|
||||||
|
timeVisit:false,
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -135,12 +136,14 @@
|
||||||
let obj = {
|
let obj = {
|
||||||
name: key,
|
name: key,
|
||||||
value: parseFloat(res.data.fault_type[key]),
|
value: parseFloat(res.data.fault_type[key]),
|
||||||
style: "straight",
|
|
||||||
color: ""
|
color: ""
|
||||||
|
|
||||||
}
|
}
|
||||||
fault_type.push(obj)
|
fault_type.push(obj)
|
||||||
}
|
}
|
||||||
|
fault_type = fault_type.reverse();
|
||||||
this.chartData.series[0].data = fault_type;
|
this.chartData.series[0].data = fault_type;
|
||||||
|
this.chartData.series[0].format = "customToolTip";
|
||||||
this.chartData.series[0].data[0].color = '#56ddff';
|
this.chartData.series[0].data[0].color = '#56ddff';
|
||||||
this.chartData.series[0].data[1].color = '#2d8dfe';
|
this.chartData.series[0].data[1].color = '#2d8dfe';
|
||||||
this.chartData.series[0].data[2].color = '#7f90a4';
|
this.chartData.series[0].data[2].color = '#7f90a4';
|
||||||
|
@ -158,7 +161,8 @@
|
||||||
this.timestr = 'all';
|
this.timestr = 'all';
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
this.timestr = 'all';
|
this.timeVisit = true;
|
||||||
|
// this.timestr = 'all';
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
this.timestr = 'yesterday';
|
this.timestr = 'yesterday';
|
||||||
|
@ -170,12 +174,21 @@
|
||||||
this.timestr = 'month';
|
this.timestr = 'month';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
if(index!=1) {
|
||||||
this.checkTJ();
|
this.checkTJ();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
getPercentage(num, max) {
|
getPercentage(num, max) {
|
||||||
return Math.ceil(((num - 0) / (max - 0)) * 100) + "%"
|
return Math.ceil(((num - 0) / (max - 0)) * 100) + "%"
|
||||||
|
},
|
||||||
|
// 时段改变事件
|
||||||
|
chooseEv(obj){
|
||||||
|
if(obj.num) {
|
||||||
|
this.timestr = obj.time;
|
||||||
|
this.checkTJ();
|
||||||
|
}
|
||||||
|
this.timeVisit = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@ -316,7 +329,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.charts-box {
|
.charts-box {
|
||||||
margin: auto;
|
|
||||||
margin-top: 50rpx;
|
margin-top: 50rpx;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 330rpx;
|
height: 330rpx;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<view class="content">
|
<view class="content">
|
||||||
<statusNav navBarTitle="数据看板"></statusNav>
|
<statusNav navBarTitle="数据看板" returnColor="#c2c2c2"></statusNav>
|
||||||
<container-subgroup-two>
|
<container-subgroup-two>
|
||||||
<view slot="content" style="margin: 0 -30rpx;">
|
<view slot="content" style="margin: 0 -30rpx;">
|
||||||
<view class="project-overview">
|
<view class="project-overview">
|
||||||
|
@ -8,11 +8,11 @@
|
||||||
<view class="project-gross">
|
<view class="project-gross">
|
||||||
<view class="project-gross-title">累计总项目量</view>
|
<view class="project-gross-title">累计总项目量</view>
|
||||||
<view class="project-gross-num">
|
<view class="project-gross-num">
|
||||||
<view class="li">0</view>
|
<view class="li">{{projectCount[4] || 0}}</view>
|
||||||
<view class="li">2</view>
|
<view class="li">{{projectCount[3] || 0}}</view>
|
||||||
<view class="li">9</view>
|
<view class="li">{{projectCount[2] || 0}}</view>
|
||||||
<view class="li">8</view>
|
<view class="li">{{projectCount[1] || 0}}</view>
|
||||||
<view class="li">5</view>
|
<view class="li">{{projectCount[0] || 0}}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="project-gross-box">
|
<view class="project-gross-box">
|
||||||
<view class="li">
|
<view class="li">
|
||||||
|
@ -20,15 +20,15 @@
|
||||||
<view class="date-con">
|
<view class="date-con">
|
||||||
<view class="date-con-li">
|
<view class="date-con-li">
|
||||||
<view class="text">新增项目量</view>
|
<view class="text">新增项目量</view>
|
||||||
<view class="single-amount">0单</view>
|
<view class="single-amount">{{today.project_count}}单</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="date-con-li">
|
<view class="date-con-li">
|
||||||
<view class="text">新增工单量</view>
|
<view class="text">新增工单量</view>
|
||||||
<view class="single-amount">0单</view>
|
<view class="single-amount">{{today.order_count}}单</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="date-con-li">
|
<view class="date-con-li">
|
||||||
<view class="text">项目维保率</view>
|
<view class="text">项目维保率</view>
|
||||||
<view class="single-amount">0单</view>
|
<view class="single-amount">{{today.project_rate}}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
@ -37,15 +37,15 @@
|
||||||
<view class="date-con">
|
<view class="date-con">
|
||||||
<view class="date-con-li">
|
<view class="date-con-li">
|
||||||
<view class="text">新增项目量</view>
|
<view class="text">新增项目量</view>
|
||||||
<view class="single-amount">0单</view>
|
<view class="single-amount">{{week.project_count}}单</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="date-con-li">
|
<view class="date-con-li">
|
||||||
<view class="text">新增工单量</view>
|
<view class="text">新增工单量</view>
|
||||||
<view class="single-amount">0单</view>
|
<view class="single-amount">{{week.order_count}}单</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="date-con-li">
|
<view class="date-con-li">
|
||||||
<view class="text">项目维保率</view>
|
<view class="text">项目维保率</view>
|
||||||
<view class="single-amount">0单</view>
|
<view class="single-amount">{{week.project_rate}}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
@ -54,15 +54,15 @@
|
||||||
<view class="date-con">
|
<view class="date-con">
|
||||||
<view class="date-con-li">
|
<view class="date-con-li">
|
||||||
<view class="text">新增项目量</view>
|
<view class="text">新增项目量</view>
|
||||||
<view class="single-amount">0单</view>
|
<view class="single-amount">{{month.project_count}}单</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="date-con-li">
|
<view class="date-con-li">
|
||||||
<view class="text">新增工单量</view>
|
<view class="text">新增工单量</view>
|
||||||
<view class="single-amount">0单</view>
|
<view class="single-amount">{{month.order_count}}单</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="date-con-li">
|
<view class="date-con-li">
|
||||||
<view class="text">项目维保率</view>
|
<view class="text">项目维保率</view>
|
||||||
<view class="single-amount">0单</view>
|
<view class="single-amount">{{month.project_rate}}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
@ -73,7 +73,7 @@
|
||||||
<view class="settlement-type-title">年度项目数据明细</view>
|
<view class="settlement-type-title">年度项目数据明细</view>
|
||||||
<view class="">
|
<view class="">
|
||||||
<view class="charts-box">
|
<view class="charts-box">
|
||||||
<qiun-data-charts type="mix" :chartData="chartData" background="none" />
|
<qiun-data-charts type="mix" :opts="opts" :chartData="chartData" background="none" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
@ -83,42 +83,18 @@
|
||||||
<view class="serve-data-left">
|
<view class="serve-data-left">
|
||||||
<view class="title">本月服务量</view>
|
<view class="title">本月服务量</view>
|
||||||
<view class="text-con">
|
<view class="text-con">
|
||||||
<view class="li">
|
<view class="li" v-for="(item,index) in serviceData.month" :key="index">
|
||||||
<view class="text">维保工单:</view>
|
<view class="text">{{item.title}}:</view>
|
||||||
<view class="num">3</view>
|
<view class="num">{{item.num}}</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>
|
||||||
<view class="serve-data-left">
|
<view class="serve-data-left">
|
||||||
<view class="title">累计服务量</view>
|
<view class="title">累计服务量</view>
|
||||||
<view class="text-con">
|
<view class="text-con">
|
||||||
<view class="li">
|
<view class="li" v-for="(item,index) in serviceData.allArr" :key="index">
|
||||||
<view class="text">维保工单:</view>
|
<view class="text">{{item.title}}:</view>
|
||||||
<view class="num">3</view>
|
<view class="num">{{item.num}}</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>
|
||||||
|
@ -128,7 +104,7 @@
|
||||||
<view class="settlement-type-title">年度服务数据汇总</view>
|
<view class="settlement-type-title">年度服务数据汇总</view>
|
||||||
<view class="">
|
<view class="">
|
||||||
<view class="charts-box">
|
<view class="charts-box">
|
||||||
<qiun-data-charts type="mix" :chartData="chartDataA" background="none" />
|
<qiun-data-charts type="mix" :opts="opts2" :chartData="chartDataA" background="none" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
@ -140,25 +116,10 @@
|
||||||
<view class="work-order">工单</view>
|
<view class="work-order">工单</view>
|
||||||
<view class="date">日期</view>
|
<view class="date">日期</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="li-text li">
|
<view class="li-text li" v-for="(item,index) in warranty_expires" :key="index">
|
||||||
<view class="name">1.五岭新天地二期停车场xxxxxxxxxxxxx</view>
|
<view class="name">{{index+1}}、{{item.project_name}}</view>
|
||||||
<view class="work-order">6</view>
|
<view class="work-order">{{item.order_count}}</view>
|
||||||
<view class="date">22/2/24</view>
|
<view class="date">{{item.joint_end_time.slice(2)}}</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>
|
||||||
</view>
|
</view>
|
||||||
|
@ -177,32 +138,10 @@
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
chartDataA: {
|
projectCount:[],//累计总项目量
|
||||||
categories: ["1月","2月","3月","4月","5月","6月"],
|
today:'',//今日数据
|
||||||
series: [
|
week:'',//本周数据
|
||||||
{
|
month:'',//本月数据
|
||||||
name: "",
|
|
||||||
index: 1,
|
|
||||||
data: [40,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: {
|
chartData: {
|
||||||
categories: ["1月","2月","3月","4月","5月","6月"],
|
categories: ["1月","2月","3月","4月","5月","6月"],
|
||||||
series: [
|
series: [
|
||||||
|
@ -211,23 +150,130 @@
|
||||||
index: 1,
|
index: 1,
|
||||||
data: [40,30,55,110,24,58],
|
data: [40,30,55,110,24,58],
|
||||||
type: "column",
|
type: "column",
|
||||||
"color": "#fe4141"
|
color: "#fe4141"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "",
|
name: "",
|
||||||
"data": [40,30,55,110,24,58],
|
data: [40,30,55,110,24,58],
|
||||||
"type": "line",
|
type: "line",
|
||||||
"color": "#fe4141"
|
color: "#fe4141"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "",
|
name: "",
|
||||||
"index": 2,
|
index: 2,
|
||||||
"data": [40,30,55,110,24,58],
|
data: [40,30,55,110,24,58],
|
||||||
"type": "point",
|
type: "point",
|
||||||
"color": "#fe4141"
|
color: "#fe4141"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
opts: {
|
||||||
|
padding: [15,15,0,15],
|
||||||
|
legend: {},
|
||||||
|
fontColor:'#FF0000',
|
||||||
|
yAxis: {
|
||||||
|
disabled: false,
|
||||||
|
disableGrid: false,
|
||||||
|
splitNumber: 5,
|
||||||
|
gridType: "solid",
|
||||||
|
dashLength: 4,
|
||||||
|
gridColor: "#CCCCCC",
|
||||||
|
padding: 10,
|
||||||
|
showTitle: true,
|
||||||
|
data: [
|
||||||
|
{
|
||||||
|
min: 0,
|
||||||
|
max: 5000,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
min: 0,
|
||||||
|
max: 5000,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
min: 0,
|
||||||
|
max: 5000,
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
extra: {
|
||||||
|
mix: {
|
||||||
|
column: {
|
||||||
|
linearType:"custom",
|
||||||
|
width: 20,
|
||||||
|
linearOpacity:0.6,
|
||||||
|
customColor:["#FF0000","#fc7575"],
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
serviceData:{month:[],allArr:[]},//服务数据
|
||||||
|
chartDataA: {
|
||||||
|
categories: ["1月","2月","3月","4月","5月","6月"],
|
||||||
|
series: [
|
||||||
|
{
|
||||||
|
name: "",
|
||||||
|
index: 1,
|
||||||
|
data: [40,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"
|
||||||
|
}
|
||||||
|
|
||||||
|
]
|
||||||
|
},
|
||||||
|
opts2: {
|
||||||
|
padding: [15,15,0,15],
|
||||||
|
legend: {},
|
||||||
|
fontColor:'#308de1',
|
||||||
|
yAxis: {
|
||||||
|
disabled: false,
|
||||||
|
disableGrid: false,
|
||||||
|
splitNumber: 5,
|
||||||
|
gridType: "solid",
|
||||||
|
dashLength: 4,
|
||||||
|
gridColor: "#CCCCCC",
|
||||||
|
padding: 10,
|
||||||
|
showTitle: true,
|
||||||
|
data: [
|
||||||
|
{
|
||||||
|
min: 0,
|
||||||
|
max: 5000,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
min: 0,
|
||||||
|
max: 5000,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
min: 0,
|
||||||
|
max: 5000,
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
extra: {
|
||||||
|
mix: {
|
||||||
|
column: {
|
||||||
|
linearType:"custom",
|
||||||
|
width: 20,
|
||||||
|
linearOpacity:0.6,
|
||||||
|
customColor:["#308de1","#5bc2f2"],
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
// 质保即将到期项目
|
||||||
|
warranty_expires:[]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad() {
|
onLoad() {
|
||||||
|
@ -238,7 +284,55 @@
|
||||||
checkSJ() {
|
checkSJ() {
|
||||||
this.$requst.get('/universal/api.statistics/data_kanban').then(res=>{
|
this.$requst.get('/universal/api.statistics/data_kanban').then(res=>{
|
||||||
if(res.code) {
|
if(res.code) {
|
||||||
|
// 累计总项目量
|
||||||
|
let projectCountNum = res.data.project_count.toString().split(',');
|
||||||
|
if(projectCountNum.length > 1) {
|
||||||
|
this.projectCount = projectCountNum.reverse();
|
||||||
|
} else {
|
||||||
|
this.projectCount = projectCountNum;
|
||||||
|
}
|
||||||
|
// 今日数据
|
||||||
|
this.today = res.data.today;
|
||||||
|
// 本周数据
|
||||||
|
this.week = res.data.week;
|
||||||
|
// 本月数据
|
||||||
|
this.month = res.data.month;
|
||||||
|
// 年度项目数据明细
|
||||||
|
let yearProject = [[],[]];
|
||||||
|
res.data.project_month.forEach((item,index)=>{
|
||||||
|
if(index < 12) {
|
||||||
|
yearProject[0].push(item.name+'月');
|
||||||
|
yearProject[1].push(item.value);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
this.chartData.categories = yearProject[0];
|
||||||
|
this.chartData.series[0].data = yearProject[1];
|
||||||
|
this.chartData.series[1].data = yearProject[1];
|
||||||
|
this.chartData.series[2].data = yearProject[1];
|
||||||
|
let maxNum = Math.max.apply(null, yearProject[1]);
|
||||||
|
// 服务数据:本月服务量
|
||||||
|
for (let key in res.data.service.month) {
|
||||||
|
this.serviceData.month.push({title: key,num:res.data.service.month[key]});
|
||||||
|
}
|
||||||
|
// 服务数据:累计服务量
|
||||||
|
for (let key in res.data.service.all) {
|
||||||
|
this.serviceData.allArr.push({title: key,num:res.data.service.all[key]});
|
||||||
|
}
|
||||||
|
// 年度服务数据汇总
|
||||||
|
let yearService = [[],[]];
|
||||||
|
res.data.order_month.forEach((item,index)=>{
|
||||||
|
if(index < 12) {
|
||||||
|
yearService[0].push(item.name+'月');
|
||||||
|
yearService[1].push(item.value);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
this.chartDataA.categories = yearService[0];
|
||||||
|
this.chartDataA.series[0].data = yearService[1];
|
||||||
|
this.chartDataA.series[1].data = yearService[1];
|
||||||
|
this.chartDataA.series[2].data = yearService[1];
|
||||||
|
let maxNum2 = Math.max.apply(null, yearService[1]);
|
||||||
|
// 质保即将到期项目
|
||||||
|
this.warranty_expires = res.data.warranty_expires;
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
{{item.name}}<text :class="item.isJob ? 'cor' : 'cor1'">({{item.isJob ? '正在作业' : '空闲中'}})</text>
|
{{item.name}}<text :class="item.isJob ? 'cor' : 'cor1'">({{item.isJob ? '正在作业' : '空闲中'}})</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="state">已审核</view>
|
<view class="state">{{['未审核','已审核'][item.is_check]}}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="con">
|
<view class="con">
|
||||||
<image class="img" :src="item.imgsrc" mode="aspectFill"></image>
|
<image class="img" :src="item.imgsrc" mode="aspectFill"></image>
|
||||||
|
@ -43,7 +43,7 @@
|
||||||
</view>
|
</view>
|
||||||
<view class="bottom">
|
<view class="bottom">
|
||||||
<view class="bottom-content">
|
<view class="bottom-content">
|
||||||
联系电话: <text class="cor3">{{$toolAll.tools.hideMPhone(item.phone,'x')}}</text>
|
联系电话: <text class="cor3" v-if="item.phone">{{$toolAll.tools.hideMPhone(item.phone,'x')}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="bottom-content">
|
<view class="bottom-content">
|
||||||
注册时间: <text class="cor3">{{item.time}}</text>
|
注册时间: <text class="cor3">{{item.time}}</text>
|
||||||
|
@ -112,13 +112,14 @@
|
||||||
imgsrc:'https://s6.jpg.cm/2022/02/14/L4oDhy.jpg',
|
imgsrc:'https://s6.jpg.cm/2022/02/14/L4oDhy.jpg',
|
||||||
number:'YG20211207-001',
|
number:'YG20211207-001',
|
||||||
rate:5,
|
rate:5,
|
||||||
num:2,
|
num:item.pending_order,
|
||||||
allnum:2000,
|
allnum:item.processed_order,
|
||||||
address:item.address,
|
address:item.address,
|
||||||
phone:'17366921088',
|
phone:item.phone,
|
||||||
time:item.register_time,
|
time:item.register_time,
|
||||||
state: false,
|
state: false,
|
||||||
isJob: item.is_working ? true : false,
|
isJob: item.is_working ? true : false,
|
||||||
|
is_check:item.is_check
|
||||||
}
|
}
|
||||||
this.dataList.push(obj);
|
this.dataList.push(obj);
|
||||||
})
|
})
|
||||||
|
|
|
@ -34,14 +34,11 @@
|
||||||
<view class="text">项目概况</view>
|
<view class="text">项目概况</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="project-message-content">
|
<view class="project-message-content">
|
||||||
<view class="li" v-if="projectObj.product_brand">
|
<view class="li" v-for="(item,index) in projectGK" :key="index">
|
||||||
<view class="title-one">
|
<view class="title-one flexs">{{item.name}}:</view>
|
||||||
<text>品</text>
|
<view class="text">{{item.value}}</view>
|
||||||
<text>牌:</text>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="text">{{projectObj.product_brand}}</view>
|
<!-- <view class="li" v-if="projectObj.product_model">
|
||||||
</view>
|
|
||||||
<view class="li" v-if="projectObj.product_model">
|
|
||||||
<view class="title-one">
|
<view class="title-one">
|
||||||
<text>型</text>
|
<text>型</text>
|
||||||
<text>号:</text>
|
<text>号:</text>
|
||||||
|
@ -62,7 +59,7 @@
|
||||||
<view class="li">
|
<view class="li">
|
||||||
<view class="title">竣工日期:</view>
|
<view class="title">竣工日期:</view>
|
||||||
<view class="text">2022/01/08</view>
|
<view class="text">2022/01/08</view>
|
||||||
</view>
|
</view> -->
|
||||||
</view>
|
</view>
|
||||||
<view class="record-nav">
|
<view class="record-nav">
|
||||||
<view class="li" @click="recordNav(index)" :class="item.state ? 'on' : 'mo'"
|
<view class="li" @click="recordNav(index)" :class="item.state ? 'on' : 'mo'"
|
||||||
|
@ -120,7 +117,8 @@
|
||||||
list_rows:200,
|
list_rows:200,
|
||||||
page:1,
|
page:1,
|
||||||
recordList:[],//记录列表
|
recordList:[],//记录列表
|
||||||
nomoreText:''
|
nomoreText:'',
|
||||||
|
projectGK:[]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad(op) {
|
onLoad(op) {
|
||||||
|
@ -162,6 +160,7 @@
|
||||||
if (res.code) {
|
if (res.code) {
|
||||||
this.projectObj = res.data;
|
this.projectObj = res.data;
|
||||||
this.imgNum = this.projectObj.completed_img.length;
|
this.imgNum = this.projectObj.completed_img.length;
|
||||||
|
this.projectGK = res.data.project_overview_min;
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -330,7 +329,6 @@
|
||||||
color: #4d4c4c;
|
color: #4d4c4c;
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
width: 93rpx;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|
||||||
|
|
|
@ -83,8 +83,24 @@
|
||||||
this.eareWidth = rect.width;
|
this.eareWidth = rect.width;
|
||||||
}).exec()
|
}).exec()
|
||||||
this.getDistrict();
|
this.getDistrict();
|
||||||
|
this.getEar();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 地区接口
|
||||||
|
getEar() {
|
||||||
|
let params = {
|
||||||
|
pidkey:'',
|
||||||
|
pid:'',
|
||||||
|
all:1
|
||||||
|
}
|
||||||
|
this.$requst.get('/universal/api.other/city',params).then(res=>{
|
||||||
|
if(res.code) {
|
||||||
|
|
||||||
|
} else {
|
||||||
|
this.$toolAll.tools.showToast(res.msg);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
// 提交保存
|
// 提交保存
|
||||||
submitData(){
|
submitData(){
|
||||||
if(this.checkEmpty()) {
|
if(this.checkEmpty()) {
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 2.1 KiB |
|
@ -94,6 +94,11 @@ const cfu = {
|
||||||
return series[index].name + "\n" + series[index].data + '元'
|
return series[index].name + "\n" + series[index].data + '元'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"customToolTip":function(val, index, series, opts){
|
||||||
|
if(index !== undefined){
|
||||||
|
return series[index].name+series[index].data+'%'
|
||||||
|
}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
//这里演示了自定义您的图表类型的option,可以随意命名,之后在组件上 type="demotype" 后,组件会调用这个花括号里的option,如果组件上还存在opts参数,会将demotype与opts中option合并后渲染图表。
|
//这里演示了自定义您的图表类型的option,可以随意命名,之后在组件上 type="demotype" 后,组件会调用这个花括号里的option,如果组件上还存在opts参数,会将demotype与opts中option合并后渲染图表。
|
||||||
"demotype": {
|
"demotype": {
|
||||||
|
@ -417,7 +422,7 @@ const cfu = {
|
||||||
"width": 30,
|
"width": 30,
|
||||||
"activeBgColor": "#000000",
|
"activeBgColor": "#000000",
|
||||||
"activeBgOpacity": 0.08
|
"activeBgOpacity": 0.08
|
||||||
},
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"bar": {
|
"bar": {
|
||||||
|
@ -619,7 +624,7 @@ const cfu = {
|
||||||
"axisLine": true,
|
"axisLine": true,
|
||||||
"axisLineColor": "#CCCCCC",
|
"axisLineColor": "#CCCCCC",
|
||||||
"calibration": false,
|
"calibration": false,
|
||||||
"fontColor": "#666666",
|
"fontColor": "#d0d0d0",
|
||||||
"fontSize": 13,
|
"fontSize": 13,
|
||||||
"rotateLabel": false,
|
"rotateLabel": false,
|
||||||
"itemCount": 5,
|
"itemCount": 5,
|
||||||
|
@ -642,22 +647,23 @@ const cfu = {
|
||||||
"gridType": "solid",//dash:虚线 solid:实线
|
"gridType": "solid",//dash:虚线 solid:实线
|
||||||
"dashLength": 4,
|
"dashLength": 4,
|
||||||
"gridColor": "#CCCCCC",
|
"gridColor": "#CCCCCC",
|
||||||
|
"fontColor": "#666666",
|
||||||
"padding": 10,
|
"padding": 10,
|
||||||
"showTitle": true,
|
"showTitle": true,
|
||||||
"data": [{
|
"data": [{
|
||||||
"position": "top",
|
"position": "top",
|
||||||
"title": "折线"
|
"title": "折线",
|
||||||
|
"fontColor": "#d0d0d0",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"position": "top",
|
"position": "top",
|
||||||
"title": "",
|
"title": "",
|
||||||
"textAlign": "left"
|
"fontColor": "#d0d0d0",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"position": "left",
|
"position": "left",
|
||||||
|
|
||||||
"title": "",
|
"title": "",
|
||||||
"textAlign": "left"
|
"fontColor": "#d0d0d0",
|
||||||
},
|
},
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|
Loading…
Reference in New Issue