调整bug

master
chen 2022-05-26 18:41:48 +08:00
parent 8ae783ebe4
commit 7640b848e0
10 changed files with 377 additions and 141 deletions

View File

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

View File

@ -169,10 +169,18 @@
<!-- 其他 -->
<view class="home-fun-box">
<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 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 class="fon24 col3 mar-s10">{{item.title}}</view>
</view>
@ -263,6 +271,7 @@
otherList:[
{imgsrc:'/static/public/icon-home-largeScreen.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:'新产品'},
],
//
@ -460,8 +469,12 @@
let otherUrls = [
'/pagesA/faultStatistics/faultStatistics',
'/pagesA/faultStatistics/projectOverview',
'/pagesA/peopleManagement/peopleManagement',
'/pagesB/new-product/new-product',
];
if(this.role!=3 && index==2) {
otherUrls[index] = '/pagesB/new-product/new-product';
}
uni.navigateTo({
url:otherUrls[index]
})

View File

@ -160,7 +160,7 @@
if (res.code) {
this.projectObj = res.data;
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;//
} else {

View File

@ -34,7 +34,7 @@
<view class="fault-type">
<view class="settlement-type-title">维保类型</view>
<view class="charts-box">
<qiun-data-charts type="ring" :chartData="chartData" background="none" />
<qiun-data-charts type="ring" :chartData="chartData" />
</view>
</view>
<view class="brand-analysis">
@ -58,18 +58,21 @@
</view>
</view>
</container-subgroup-two>
<view v-if="timeVisit">
<timeDate @chooseEv="chooseEv"></timeDate>
</view>
</view>
</template>
<script>
import containerSubgroupTwo from '@/components/containers/container-subgroup-two.vue';
import timeDate from '@/components/time/time-date';
import statusNav from '../../components/status-nav.vue';
export default {
components: {
statusNav,
containerSubgroupTwo
containerSubgroupTwo,
timeDate
},
data() {
return {
@ -100,14 +103,12 @@
],
//
chartData: {
series: [{
format: "tooltipDemo1",
data: []
}]
series: [{data: []}]
},
//
brandAnalysis:[],
timestr:'all'
timestr:'all',
timeVisit:false,
}
},
@ -135,12 +136,14 @@
let obj = {
name: key,
value: parseFloat(res.data.fault_type[key]),
style: "straight",
color: ""
}
fault_type.push(obj)
}
fault_type = fault_type.reverse();
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[1].color = '#2d8dfe';
this.chartData.series[0].data[2].color = '#7f90a4';
@ -158,7 +161,8 @@
this.timestr = 'all';
break;
case 1:
this.timestr = 'all';
this.timeVisit = true;
// this.timestr = 'all';
break;
case 2:
this.timestr = 'yesterday';
@ -170,12 +174,21 @@
this.timestr = 'month';
break;
}
this.checkTJ();
if(index!=1) {
this.checkTJ();
}
},
getPercentage(num, max) {
return Math.ceil(((num - 0) / (max - 0)) * 100) + "%"
},
//
chooseEv(obj){
if(obj.num) {
this.timestr = obj.time;
this.checkTJ();
}
this.timeVisit = false;
}
}
}
</script>
@ -316,7 +329,6 @@
}
.charts-box {
margin: auto;
margin-top: 50rpx;
width: 100%;
height: 330rpx;

View File

@ -1,6 +1,6 @@
<template>
<view class="content">
<statusNav navBarTitle="数据看板"></statusNav>
<statusNav navBarTitle="数据看板" returnColor="#c2c2c2"></statusNav>
<container-subgroup-two>
<view slot="content" style="margin: 0 -30rpx;">
<view class="project-overview">
@ -8,11 +8,11 @@
<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 class="li">{{projectCount[4] || 0}}</view>
<view class="li">{{projectCount[3] || 0}}</view>
<view class="li">{{projectCount[2] || 0}}</view>
<view class="li">{{projectCount[1] || 0}}</view>
<view class="li">{{projectCount[0] || 0}}</view>
</view>
<view class="project-gross-box">
<view class="li">
@ -20,15 +20,15 @@
<view class="date-con">
<view class="date-con-li">
<view class="text">新增项目量</view>
<view class="single-amount">0</view>
<view class="single-amount">{{today.project_count}}</view>
</view>
<view class="date-con-li">
<view class="text">新增工单量</view>
<view class="single-amount">0</view>
<view class="single-amount">{{today.order_count}}</view>
</view>
<view class="date-con-li">
<view class="text">项目维保率</view>
<view class="single-amount">0</view>
<view class="single-amount">{{today.project_rate}}</view>
</view>
</view>
</view>
@ -37,15 +37,15 @@
<view class="date-con">
<view class="date-con-li">
<view class="text">新增项目量</view>
<view class="single-amount">0</view>
<view class="single-amount">{{week.project_count}}</view>
</view>
<view class="date-con-li">
<view class="text">新增工单量</view>
<view class="single-amount">0</view>
<view class="single-amount">{{week.order_count}}</view>
</view>
<view class="date-con-li">
<view class="text">项目维保率</view>
<view class="single-amount">0</view>
<view class="single-amount">{{week.project_rate}}</view>
</view>
</view>
</view>
@ -54,15 +54,15 @@
<view class="date-con">
<view class="date-con-li">
<view class="text">新增项目量</view>
<view class="single-amount">0</view>
<view class="single-amount">{{month.project_count}}</view>
</view>
<view class="date-con-li">
<view class="text">新增工单量</view>
<view class="single-amount">0</view>
<view class="single-amount">{{month.order_count}}</view>
</view>
<view class="date-con-li">
<view class="text">项目维保率</view>
<view class="single-amount">0</view>
<view class="single-amount">{{month.project_rate}}</view>
</view>
</view>
</view>
@ -73,7 +73,7 @@
<view class="settlement-type-title">年度项目数据明细</view>
<view class="">
<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>
@ -83,42 +83,18 @@
<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 class="li" v-for="(item,index) in serviceData.month" :key="index">
<view class="text">{{item.title}}:</view>
<view class="num">{{item.num}}</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 class="li" v-for="(item,index) in serviceData.allArr" :key="index">
<view class="text">{{item.title}}:</view>
<view class="num">{{item.num}}</view>
</view>
</view>
</view>
@ -128,7 +104,7 @@
<view class="settlement-type-title">年度服务数据汇总</view>
<view class="">
<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>
@ -140,25 +116,10 @@
<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 class="li-text li" v-for="(item,index) in warranty_expires" :key="index">
<view class="name">{{index+1}}{{item.project_name}}</view>
<view class="work-order">{{item.order_count}}</view>
<view class="date">{{item.joint_end_time.slice(2)}}</view>
</view>
</view>
</view>
@ -177,32 +138,10 @@
},
data() {
return {
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"
}
]
},
projectCount:[],//
today:'',//
week:'',//
month:'',//
chartData: {
categories: ["1月","2月","3月","4月","5月","6月"],
series: [
@ -211,23 +150,130 @@
index: 1,
data: [40,30,55,110,24,58],
type: "column",
"color": "#fe4141"
color: "#fe4141"
},
{
"name": "",
"data": [40,30,55,110,24,58],
"type": "line",
"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"
name: "",
index: 2,
data: [40,30,55,110,24,58],
type: "point",
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() {
@ -238,7 +284,55 @@
checkSJ() {
this.$requst.get('/universal/api.statistics/data_kanban').then(res=>{
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;
}
})
}

View File

@ -20,7 +20,7 @@
{{item.name}}<text :class="item.isJob ? 'cor' : 'cor1'">({{item.isJob ? '正在作业' : '空闲中'}})</text>
</view>
</view>
<view class="state">已审核</view>
<view class="state">{{['未审核','已审核'][item.is_check]}}</view>
</view>
<view class="con">
<image class="img" :src="item.imgsrc" mode="aspectFill"></image>
@ -43,7 +43,7 @@
</view>
<view class="bottom">
<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 class="bottom-content">
注册时间 <text class="cor3">{{item.time}}</text>
@ -112,13 +112,14 @@
imgsrc:'https://s6.jpg.cm/2022/02/14/L4oDhy.jpg',
number:'YG20211207-001',
rate:5,
num:2,
allnum:2000,
num:item.pending_order,
allnum:item.processed_order,
address:item.address,
phone:'17366921088',
phone:item.phone,
time:item.register_time,
state: false,
isJob: item.is_working ? true : false,
is_check:item.is_check
}
this.dataList.push(obj);
})

View File

@ -34,14 +34,11 @@
<view class="text">项目概况</view>
</view>
<view class="project-message-content">
<view class="li" v-if="projectObj.product_brand">
<view class="title-one">
<text></text>
<text></text>
</view>
<view class="text">{{projectObj.product_brand}}</view>
<view class="li" v-for="(item,index) in projectGK" :key="index">
<view class="title-one flexs">{{item.name}}</view>
<view class="text">{{item.value}}</view>
</view>
<view class="li" v-if="projectObj.product_model">
<!-- <view class="li" v-if="projectObj.product_model">
<view class="title-one">
<text></text>
<text></text>
@ -62,7 +59,7 @@
<view class="li">
<view class="title">竣工日期</view>
<view class="text">2022/01/08</view>
</view>
</view> -->
</view>
<view class="record-nav">
<view class="li" @click="recordNav(index)" :class="item.state ? 'on' : 'mo'"
@ -120,7 +117,8 @@
list_rows:200,
page:1,
recordList:[],//
nomoreText:''
nomoreText:'',
projectGK:[]
}
},
onLoad(op) {
@ -162,6 +160,7 @@
if (res.code) {
this.projectObj = res.data;
this.imgNum = this.projectObj.completed_img.length;
this.projectGK = res.data.project_overview_min;
} else {
}
@ -330,7 +329,6 @@
color: #4d4c4c;
font-size: 24rpx;
font-weight: bold;
width: 93rpx;
display: flex;
justify-content: space-between;

View File

@ -83,8 +83,24 @@
this.eareWidth = rect.width;
}).exec()
this.getDistrict();
this.getEar();
},
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(){
if(this.checkEmpty()) {

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -94,6 +94,11 @@ const cfu = {
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合并后渲染图表。
"demotype": {
@ -417,7 +422,7 @@ const cfu = {
"width": 30,
"activeBgColor": "#000000",
"activeBgOpacity": 0.08
},
}
}
},
"bar": {
@ -619,7 +624,7 @@ const cfu = {
"axisLine": true,
"axisLineColor": "#CCCCCC",
"calibration": false,
"fontColor": "#666666",
"fontColor": "#d0d0d0",
"fontSize": 13,
"rotateLabel": false,
"itemCount": 5,
@ -642,22 +647,23 @@ const cfu = {
"gridType": "solid",//dash虚线 solid:实线
"dashLength": 4,
"gridColor": "#CCCCCC",
"fontColor": "#666666",
"padding": 10,
"showTitle": true,
"data": [{
"position": "top",
"title": "折线"
"title": "折线",
"fontColor": "#d0d0d0",
},
{
"position": "top",
"title": "",
"textAlign": "left"
"fontColor": "#d0d0d0",
},
{
"position": "left",
"title": "",
"textAlign": "left"
"fontColor": "#d0d0d0",
},
]