回测页面

master
chen 2022-04-02 20:08:56 +08:00
parent fe4b5e8c85
commit d99bdbb3d0
9 changed files with 482 additions and 578 deletions

View File

@ -22,8 +22,8 @@
default:'暂无内容' default:'暂无内容'
}, },
currentType:{ // icon currentType:{ // icon
type:Number, type:String,
default: 0 default: '0'
} }
}, },
data() { data() {
@ -33,7 +33,7 @@
</script> </script>
<style scoped> <style scoped>
.nothing{position: fixed;top: 0;bottom: 0;left: 0;right: 0;display: flex;justify-content: center;align-items: center;} .nothing{position: fixed;top: 0;bottom: 0;left: 0;right: 0;display: flex;justify-content: center;align-items: center;z-index: -1;}
.nothing-box{display: flex;justify-content: center;flex-direction: column;align-items: center;} .nothing-box{display: flex;justify-content: center;flex-direction: column;align-items: center;}
.nothing-box .nothing-img{width: 470rpx;height: 270rpx;} .nothing-box .nothing-img{width: 470rpx;height: 270rpx;}
.iconImg {font-size: 280rpx;color: #999999;} .iconImg {font-size: 280rpx;color: #999999;}

View File

@ -89,7 +89,6 @@ const request = (method, url, options) => {
if(options!=undefined) params = options; if(options!=undefined) params = options;
// params.token = uni.getStorageSync('token'); // params.token = uni.getStorageSync('token');
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
console.log(hostapi,91);
uni.request({ uni.request({
url: `${hostapi}${url}`, url: `${hostapi}${url}`,
method: methods, method: methods,
@ -124,7 +123,7 @@ const uploadFile = (url, options) => {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
uni.uploadFile({ uni.uploadFile({
url: `${hostapi}${url}`, url: `${hostapi}${url}`,
filePath: tempData.file, filePath: tempData.form,
name: 'image', name: 'image',
fileType:'image', fileType:'image',
formData: tempData, formData: tempData,

View File

@ -1,487 +1,410 @@
<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="faultStatistics-nav">
<view class="faultStatistics-nav"> <view class="li" @click="navlistIndexFun(index)" :class="navlistIndex==index?'on':''"
<view class="li" @click="navlistIndexFun(index)" :class="navlistIndex==index?'on':''" v-for="(item,index) in navlist">
v-for="(item,index) in navlist"> {{item.title}}
{{item.title}} </view>
</view> </view>
</view> <view class="settlement-type">
<view class="settlement-type"> <view class="settlement-type-title">结算类型</view>
<view class="settlement-type-title">
结算类型
</view>
<view class="settlement-type-content">
<view class="li liB">
<view class="text">
单次收费
</view>
<view class="num">
20
</view>
</view>
<view class="li liC">
<view class="text">
验收扫尾
</view>
<view class="num">
3
</view>
</view>
<view class="li liD">
<view class="text">
质保免费
</view>
<view class="num">
46
</view>
</view>
<view class="li">
<view class="text">
包年签单
</view>
<view class="num">
10
</view>
</view>
</view>
</view>
<view class="fault-type">
<view class="settlement-type-title">
故障类型
</view>
<view class="charts-box">
<qiun-data-charts type="ring" :chartData="chartData" background="none" />
</view>
</view>
<view class="brand-analysis">
<view class="settlement-type-title">
品牌分析
</view>
<view class="brand-analysis-box">
<view class="li">
<view class="serial-number">
1
</view>
<view class="brand-analysis-center">
<view class="title-box">
<view class="title">
海康威视
</view>
<view class="cor">
10
</view>
<view class="cor1">
23.3%
</view>
</view>
<view class="percentage">
<view class="percentage-box" :style="{width:getPercentage(33,900)}">
</view>
</view>
</view>
<image class="icon" src="../../static/iocn/xl.png" mode=""></image>
</view>
<view class="li">
<view class="serial-number">
2
</view>
<view class="brand-analysis-center">
<view class="title-box">
<view class="title">
海康威视
</view>
<view class="cor">
10
</view>
<view class="cor1">
23.3%
</view>
</view>
<view class="percentage">
<view class="percentage-box" :style="{width:getPercentage(33,900)}">
</view>
</view>
</view>
<image class="icon" src="../../static/iocn/xl.png" mode=""></image>
</view>
<view class="li">
<view class="serial-number">
3
</view>
<view class="brand-analysis-center">
<view class="title-box">
<view class="title">
海康威视
</view>
<view class="cor">
10
</view>
<view class="cor1">
23.3%
</view>
</view>
<view class="percentage">
<view class="percentage-box" :style="{width:getPercentage(33,900)}">
</view>
</view>
</view>
<image class="icon" src="../../static/iocn/xl.png" mode=""></image>
</view>
<view class="li">
<view class="serial-number">
4
</view>
<view class="brand-analysis-center">
<view class="title-box">
<view class="title">
海康威视
</view>
<view class="cor">
10
</view>
<view class="cor1">
23.3%
</view>
</view>
<view class="percentage">
<view class="percentage-box percentage-box-ber" :style="{width:getPercentage(33,80)}">
</view>
</view>
</view>
<image class="icon" src="../../static/iocn/xl.png" mode=""></image>
</view>
</view>
</view>
</view> </container-subgroup-two>
</view> <view class="settlement-type-content">
<view class="li liB">
<view class="text">单次收费</view>
<view class="num">20</view>
</view>
<view class="li liC">
<view class="text">验收扫尾</view>
<view class="num">3</view>
</view>
<view class="li liD">
<view class="text">质保免费</view>
<view class="num">46</view>
</view>
<view class="li">
<view class="text">包年签单</view>
<view class="num">10</view>
</view>
</view>
</view>
<view class="fault-type">
<view class="settlement-type-title">故障类型</view>
<view class="charts-box">
<qiun-data-charts type="ring" :chartData="chartData" background="none" />
</view>
</view>
<view class="brand-analysis">
<view class="settlement-type-title">品牌分析</view>
<view class="brand-analysis-box">
<view class="li">
<view class="serial-number">1</view>
<view class="brand-analysis-center">
<view class="title-box">
<view class="title">海康威视</view>
<view class="cor">10</view>
<view class="cor1">23.3%</view>
</view>
<view class="percentage">
<view class="percentage-box" :style="{width:getPercentage(33,900)}"></view>
</view>
</view>
<image class="icon" src="../../static/iocn/xl.png" mode=""></image>
</view>
<view class="li">
<view class="serial-number">2</view>
<view class="brand-analysis-center">
<view class="title-box">
<view class="title">海康威视</view>
<view class="cor">10</view>
<view class="cor1">23.3%</view>
</view>
<view class="percentage">
<view class="percentage-box" :style="{width:getPercentage(33,900)}"></view>
</view>
</view>
<image class="icon" src="../../static/iocn/xl.png" mode=""></image>
</view>
<view class="li">
<view class="serial-number">3</view>
<view class="brand-analysis-center">
<view class="title-box">
<view class="title">海康威视</view>
<view class="cor">10</view>
<view class="cor1">23.3%</view>
</view>
<view class="percentage">
<view class="percentage-box" :style="{width:getPercentage(33,100)}"></view>
</view>
</view>
<image class="icon" src="../../static/iocn/xl.png" mode=""></image>
</view>
<view class="li">
<view class="serial-number">4</view>
<view class="brand-analysis-center">
<view class="title-box">
<view class="title">海康威视</view>
<view class="cor">10</view>
<view class="cor1">23.3%</view>
</view>
<view class="percentage">
<view class="percentage-box percentage-box-ber"
:style="{width:getPercentage(33,80)}"></view>
</view>
</view>
<image class="icon" src="../../static/iocn/xl.png" mode=""></image>
</view>
</view>
</view>
</view>
</container-subgroup-two>
</view>
</template> </template>
<script> <script>
import containerSubgroupTwo from '@/components/containers/container-subgroup-two.vue'; import containerSubgroupTwo from '@/components/containers/container-subgroup-two.vue';
import statusNav from '../../components/status-nav.vue';
export default {
components: {
statusNav,
containerSubgroupTwo
},
data() {
return {
navlistIndex: 0,
navlist: [{
title: "全部",
},
{ import statusNav from '../../components/status-nav.vue';
title: "按时间段", export default {
}, components: {
{ statusNav,
title: "昨日", containerSubgroupTwo
}, },
{ data() {
title: "本周", return {
}, navlistIndex: 0,
{ navlist: [{
title: "本月", title: "全部",
}, },
],
{
title: "按时间段",
},
{
title: "昨日",
},
{
title: "本周",
},
{
title: "本月",
},
],
chartData: { chartData: {
series: [{ series: [{
format: "tooltipDemo1", format: "tooltipDemo1",
data: [{ data: [{
name: "网络故障", name: "网络故障",
value: 50, value: 50,
style: "straight", style: "straight",
color: "#7F90A4" color: "#7F90A4"
}, },
{ {
name: "模组故障", name: "模组故障",
value: 30, value: 30,
style: "straight", style: "straight",
color: "#67E0FF", color: "#67E0FF",
style: "straight", style: "straight",
}, },
{ {
name: "网络错误", name: "网络错误",
value: 20, value: 20,
style: "straight", style: "straight",
color: "#2D8DFE" color: "#2D8DFE"
}, },
{ {
name: "信息错误", name: "信息错误",
value: 18, value: 18,
color: "#44D2C1", color: "#44D2C1",
style: "straight", style: "straight",
}, },
{ {
name: "供电不足", name: "供电不足",
value: 8, value: 8,
style: "straight", style: "straight",
color: "#F47936" color: "#F47936"
} }
] ]
}] }]
}, },
} }
}, },
onLoad() { onLoad() {
console.log(this.getPercentage(33, 66)) console.log(this.getPercentage(33, 66))
}, },
methods: { methods: {
navlistIndexFun(index) { navlistIndexFun(index) {
this.navlistIndex = index this.navlistIndex = index
}, },
getPercentage(num, max) { getPercentage(num, max) {
return Math.ceil(((num - 0) / (max - 0)) * 100) + "%" return Math.ceil(((num - 0) / (max - 0)) * 100) + "%"
} }
} }
} }
</script> </script>
<style> <style>
.content { .content {
padding: 0rpx 15rpx; padding: 0rpx 15rpx;
} }
.faultStatistics-nav { .faultStatistics-nav {
display: flex; display: flex;
font-size: 30rpx; font-size: 30rpx;
margin-top: 25rpx; margin-top: 25rpx;
color: #958b8b; color: #958b8b;
justify-content: space-around; justify-content: space-around;
} }
.faultStatistics-nav .li { .faultStatistics-nav .li {
padding: 8rpx 13rpx; padding: 8rpx 13rpx;
box-sizing: border-box; box-sizing: border-box;
border: 2rpx solid #F5F5F5; border: 2rpx solid #F5F5F5;
} }
.faultStatistics-nav .on { .faultStatistics-nav .on {
color: #FF5400; color: #FF5400;
border: 2rpx solid #FF5400; border: 2rpx solid #FF5400;
border-radius: 15rpx; border-radius: 8rpx;
box-sizing: border-box; box-sizing: border-box;
} }
.settlement-type { .settlement-type {
width: 100%; width: 100%;
border-radius: 25rpx; border-radius: 25rpx;
height: 400rpx; height: 400rpx;
margin-top: 29rpx; margin-top: 29rpx;
padding: 24rpx; padding: 24rpx;
box-sizing: border-box; box-sizing: border-box;
background-color: #FFFFFF; background-color: #FFFFFF;
box-shadow: 0rpx 10rpx 20rpx rgba(0, 0, 0, 0.1); box-shadow: 0rpx 10rpx 20rpx rgba(0, 0, 0, 0.1);
} }
.settlement-type-title { .settlement-type-title {
font-size: 32rpx; font-size: 32rpx;
color: #2c2c2c; color: #2c2c2c;
display: flex; display: flex;
align-items: center; align-items: center;
font-weight: bold; font-weight: bold;
} }
.settlement-type-title::before { .settlement-type-title::before {
content: ""; content: "";
margin-right: 22rpx; margin-right: 22rpx;
width: 6rpx; width: 6rpx;
display: block; display: block;
height: 32rpx; height: 32rpx;
border-radius: 50rpx; border-radius: 50rpx;
background: linear-gradient(#307ade, #08adf8) background: linear-gradient(#307ade, #08adf8)
} }
.settlement-type-content { .settlement-type-content {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
} }
.settlement-type-content .li { .settlement-type-content .li {
width: 50%; width: 50%;
text-align: center; text-align: center;
padding-bottom: 20rpx; padding-bottom: 20rpx;
padding-top: 26rpx; padding-top: 26rpx;
position: relative; position: relative;
} }
.settlement-type-content .li .text { .settlement-type-content .li .text {
color: #888888; color: #888888;
font-size: 27rpx; font-size: 27rpx;
} }
.settlement-type-content .li .num { .settlement-type-content .li .num {
color: #0ba9f8; color: #0ba9f8;
font-size: 46rpx; font-size: 46rpx;
} }
.settlement-type-content .liB::after { .settlement-type-content .liB::after {
content: ""; content: "";
width: 2rpx; width: 2rpx;
height: 88rpx; height: 88rpx;
background-color: #E5E5E5; background-color: #E5E5E5;
position: absolute; position: absolute;
right: 0rpx; right: 0rpx;
top: 0rpx; top: 0rpx;
} }
.settlement-type-content .liB::before { .settlement-type-content .liB::before {
content: ""; content: "";
width: 245rpx; width: 245rpx;
height: 2rpx; height: 2rpx;
background-color: #E5E5E5; background-color: #E5E5E5;
position: absolute; position: absolute;
left: 50%; left: 50%;
margin-left: -123rpx; margin-left: -123rpx;
bottom: 0rpx; bottom: 0rpx;
} }
.settlement-type-content .liC::before { .settlement-type-content .liC::before {
content: ""; content: "";
width: 245rpx; width: 245rpx;
height: 2rpx; height: 2rpx;
background-color: #E5E5E5; background-color: #E5E5E5;
position: absolute; position: absolute;
left: 50%; left: 50%;
margin-left: -123rpx; margin-left: -123rpx;
bottom: 0rpx; bottom: 0rpx;
} }
.settlement-type-content .liD::before { .settlement-type-content .liD::before {
content: ""; content: "";
width: 2rpx; width: 2rpx;
height: 88rpx; height: 88rpx;
background-color: #E5E5E5; background-color: #E5E5E5;
position: absolute; position: absolute;
right: 0rpx; right: 0rpx;
margin-left: -123rpx; margin-left: -123rpx;
bottom: 10rpx; bottom: 10rpx;
} }
.fault-type { .fault-type {
width: 100%; width: 100%;
padding: 24rpx 21rpx; padding: 24rpx 21rpx;
box-sizing: border-box; box-sizing: border-box;
height: 500rpx; height: 500rpx;
border-radius: 15rpx; border-radius: 15rpx;
margin-top: 30rpx; margin-top: 30rpx;
background-color: #FFFFFF; background-color: #FFFFFF;
box-shadow: 0rpx 10rpx 20rpx rgba(0, 0, 0, 0.1); box-shadow: 0rpx 10rpx 20rpx rgba(0, 0, 0, 0.1);
} }
.charts-box { .charts-box {
margin: auto; margin: auto;
margin-top: 50rpx; margin-top: 50rpx;
width: 100%; width: 100%;
height: 330rpx; height: 330rpx;
} }
.brand-analysis { .brand-analysis {
padding: 24rpx 21rpx; padding: 24rpx 21rpx;
background-color: #FFFFFF; background-color: #FFFFFF;
width: 100%; width: 100%;
border-radius: 15rpx; border-radius: 15rpx;
padding-bottom: 120rpx; padding-bottom: 120rpx;
box-shadow: 0rpx 10rpx 20rpx rgba(0, 0, 0, 0.1); box-shadow: 0rpx 10rpx 20rpx rgba(0, 0, 0, 0.1);
box-sizing: border-box; box-sizing: border-box;
margin-top: 30rpx; margin-top: 30rpx;
} }
.brand-analysis-box .li { .brand-analysis-box .li {
border-bottom: 2rpx solid #EEEEEE; border-bottom: 2rpx solid #EEEEEE;
padding: 27rpx 0rpx; padding: 27rpx 0rpx;
padding-left: 32rpx; padding-left: 32rpx;
display: flex; display: flex;
align-items: center; align-items: center;
box-sizing: border-box; box-sizing: border-box;
} }
.brand-analysis-box .li .serial-number { .brand-analysis-box .li .serial-number {
color: #958b8b; color: #958b8b;
font-size: 28rpx; font-size: 28rpx;
margin-right: 34rpx; margin-right: 34rpx;
} }
.brand-analysis-center { .brand-analysis-center {
flex: 1; flex: 1;
} }
.brand-analysis-center .title-box { .brand-analysis-center .title-box {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
width: 100%; width: 100%;
font-size: 24rpx font-size: 24rpx
} }
.brand-analysis-center .title-box .title { .brand-analysis-center .title-box .title {
color: #333333; color: #333333;
font-size: 26rpx font-size: 26rpx
} }
.cor { .cor {
color: #2d8dfe; color: #2d8dfe;
} }
.cor1 { .cor1 {
color: #999999; color: #999999;
} }
.percentage { .percentage {
width: 100%; width: 100%;
margin-top: 11rpx; margin-top: 11rpx;
background-color: #EDEDED; background-color: #EDEDED;
height: 20rpx; height: 20rpx;
border-radius: 25rpx; border-radius: 25rpx;
} }
.brand-analysis-box .icon { .brand-analysis-box .icon {
width: 16rpx; width: 16rpx;
height: 31rpx; height: 31rpx;
margin-left: 37rpx; margin-left: 37rpx;
} }
.percentage-box { .percentage-box {
height: 100%; height: 100%;
background-color: #2d8efd; background-color: #2d8efd;
border-radius: 25rpx; border-radius: 25rpx;
} }
.percentage-box-ber { .percentage-box-ber {
background-color: #ffb503; background-color: #ffb503;
} }
</style> </style>

View File

@ -237,7 +237,7 @@
<view class="data-icon"> <view class="data-icon">
<view class="settlement-type-title"> <view class="settlement-type-title">
年度项目数据明细 年度服务数据汇总
</view> </view>
<view class=""> <view class="">
<view class="charts-box"> <view class="charts-box">

View File

@ -1,83 +1,68 @@
<template> <template>
<view class="content"> <view>
<statusNav returnColor="#c2c2c2" navBarTitle="人员状态"></statusNav> <statusNav returnColor="#c2c2c2" navBarTitle="人员状态"></statusNav>
<view class="peopleManagement-input"> <container-subgroup-two>
<input type="text" class="int" value="" placeholder="请输入关键字" /> <view slot="content" style="margin: -30rpx;">
<image class="search" src="../../static/iocn/ss.png" mode=""></image> <view class="peopleManagement-input">
<view class="xian"> <input type="text" class="int" value="" placeholder="请输入关键字" placeholder-style="color:#999999;" />
<image class="search" src="../../static/iocn/ss.png" mode=""></image>
</view> <view class="xian"></view>
</view> </view>
<view class="peopleManagement-content">
<view class="peopleManagement-content"> <view class="li" v-for="(item,index) in dataList">
<view class="li" v-for="(item,index) in dataList"> <view class="head">
<view class="head"> <view class="name" @click="listStateFun(item)">
<view class="name" @click="listStateFun(item)"> <view class="icon" v-if="item.state"></view>
<view class="icon" v-if="item.state"> <image class="iconImg" v-else src="../../static/iocn/pxz.png" mode=""></image>
<view class="">
</view> {{item.title}}<text class="cor" v-if="item.isJob">()</text>
<image class="iconImg" v-else src="../../static/iocn/pxz.png" mode=""></image> <text class="cor1" v-else>()</text>
<view class=""> </view>
{{item.title}}<text class="cor" v-if="item.isJob">()</text> </view>
<text class="cor1" v-else>()</text> <view class="state">已审核</view>
</view>
</view> <view class="con">
</view> <image class="img" src="../../static/del/500478055.png" mode=""></image>
<view class="state"> <view class="text scal09">
已审核 <view class="code">
</view> <view class="">编号: YG20211207-001</view>
</view> <view class="iconCon">
<view v-for="(item,index) in 5">
<view class="con"> <image class="icon" v-if="index<=2" src="../../static/iocn/6.png" ></image>
<image class="img" src="../../static/del/500478055.png" mode=""></image> <image class="icon" v-else src="../../static/iocn/7.png" ></image>
</view>
<view class="text scal09"> </view>
<view class="code"> </view>
<view class=""> <view class="p">
编号: YG20211207-001 <view class="one">待处理1 </view>
</view> <view class="">已处理1305 </view>
<view class="iconCon"> </view>
<view v-for="(item,index) in 5"> <view class="address">当前定位湖南省株洲市xxxxxxxx小区1栋202室</view>
<image class="icon" v-if="index<=2" src="../../static/iocn/6.png" ></image> </view>
<image class="icon" v-else src="../../static/iocn/7.png" ></image> </view>
</view> <view class="bottom">
</view> <view class="bottom-content">
</view> 联系电话 <text class="cor3">157xxxx8279</text>
<view class="p"> </view>
<view class="one"> <view class="bottom-content">
待处理1 注册时间 <text class="cor3">2018-12-12</text>
</view> </view>
</view>
<view class=""> </view>
已处理1305 </view>
</view> <button class="submit-button" type="default">派发工单</button>
</view> </view>
<view class="address"> </container-subgroup-two>
当前定位湖南省株洲市xxxxxxxx小区1栋202室
</view>
</view>
</view>
<view class="bottom">
<view class="bottom-content">
联系电话 <text class="cor3">157xxxx8279</text>
</view>
<view class="bottom-content">
注册时间 <text class="cor3">2018-12-12</text>
</view>
</view>
</view>
</view>
<button class="submit-button" type="default">派发工单</button>
</view> </view>
</template> </template>
<script> <script>
import statusNav from '../../components/status-nav.vue'; import statusNav from '../../components/status-nav.vue';
import containerSubgroupTwo from '@/components/containers/container-subgroup-two.vue';
export default { export default {
components: { components: {
statusNav, statusNav,
containerSubgroupTwo
}, },
data() { data() {
return { return {
@ -114,10 +99,6 @@
</script> </script>
<style> <style>
.content {
padding-top: 80rpx;
padding-bottom: 80rpx;
}
.submit-button { .submit-button {
width: 686rpx; width: 686rpx;
border-radius: 50rpx; border-radius: 50rpx;
@ -144,6 +125,7 @@
height: 67rpx; height: 67rpx;
box-sizing: border-box; box-sizing: border-box;
border-radius: 36rpx; border-radius: 36rpx;
font-size: 24rpx;
} }
.peopleManagement-input .xian { .peopleManagement-input .xian {
width: 3rpx; width: 3rpx;
@ -224,9 +206,9 @@
} }
.peopleManagement-content .li .con .img { .peopleManagement-content .li .con .img {
width: 129rpx; width: 140rpx;
height: 114rpx; height: 130rpx;
margin-right: 16rpx; margin-right: 10rpx;
} }
.peopleManagement-content .li .con .text { .peopleManagement-content .li .con .text {
@ -242,6 +224,7 @@
.peopleManagement-content .li .con .text .icon { .peopleManagement-content .li .con .text .icon {
width: 24rpx; width: 24rpx;
height: 24rpx; height: 24rpx;
margin-left: 10rpx;
} }
.peopleManagement-content .li .con .text .code { .peopleManagement-content .li .con .text .code {

View File

@ -11,12 +11,12 @@
</view> </view>
<swiper class="swiper" @change="swiperCurrentFun" :current="swiperCurrent" <swiper class="swiper" @change="swiperCurrentFun" :current="swiperCurrent"
:style="'height:'+swiHeight+'px'"> :style="'height:'+swiHeight+'px'">
<swiper-item> <swiper-item>
<view class="swiper-item uni-bg-red"> <view class="swiper-item uni-bg-red">
<view id="swi1"> <view id="swi1">
<view class="work-order-from"> <view class="work-order-from">
<view class="state" :style="{backgroundColor: statusColor}">状态{{statusText}}</view> <view class="state" :style="{backgroundColor: statusColor}">状态{{statusText}}</view>
<view class="li"> <view class="li" style="margin-top: 20rpx;">
<view class="title">工单编号</view> <view class="title">工单编号</view>
<input type="text" disabled class="input" placeholder="" value="GD20211203-001" /> <input type="text" disabled class="input" placeholder="" value="GD20211203-001" />
</view> </view>
@ -85,7 +85,7 @@
<view id="swi2"> <view id="swi2">
<view class="work-order-from"> <view class="work-order-from">
<view class="state" :style="{backgroundColor: statusColor}">状态{{statusText}}</view> <view class="state" :style="{backgroundColor: statusColor}">状态{{statusText}}</view>
<view class="li"> <view class="li" style="margin-top: 20rpx;">
<view class="title">开始时间</view> <view class="title">开始时间</view>
<input type="text" disabled class="input " placeholder="" value="2022-01-25 09:39" /> <input type="text" disabled class="input " placeholder="" value="2022-01-25 09:39" />
</view> </view>
@ -116,13 +116,13 @@
<view class="icon " :class="isrideo?'on':''"> <view class="icon " :class="isrideo?'on':''">
<view class="icon-content"></view> <view class="icon-content"></view>
</view> </view>
<view class=""></view> <view class="fon24" style="color: #8b8b8b;"></view>
</view> </view>
<view class="isrideo"> <view class="isrideo">
<view class="icon" :class="isrideo?'':'on'"> <view class="icon" :class="isrideo?'':'on'">
<view class="icon-content"></view> <view class="icon-content"></view>
</view> </view>
<view class=""></view> <view class="fon24" style="color: #8b8b8b;"></view>
</view> </view>
</view> </view>
</view> </view>
@ -218,8 +218,8 @@
<view class="record-content"> <view class="record-content">
<view class="title">过程追踪</view> <view class="title">过程追踪</view>
<view class="list"> <view class="list">
<view class="li pad-z40 fon27 col9" :class="index==0 ? 'activeTrack' : ''" v-for="(item,index) in 10" :key="index"> <view class="li pad-z40 fon27 col9 pad-x20" :class="index==0 ? 'activeTrack' : ''" v-for="(item,index) in 10" :key="index">
<view class="disac fw line-h60"> <view class="disac fw line-h40">
<view class="text">部分模组不显示故障陈志远已处理</view> <view class="text">部分模组不显示故障陈志远已处理</view>
<view class="date">2020-05-15 16:00</view> <view class="date">2020-05-15 16:00</view>
</view> </view>
@ -400,7 +400,7 @@
font-size: 26rpx; font-size: 26rpx;
text-align: right; text-align: right;
white-space: nowrap; white-space: nowrap;
flex: 1; /* flex: 1; */
} }
.work-order-from .li .input { .work-order-from .li .input {
@ -488,11 +488,11 @@ flex: 1;
.course-nav .code .btn { .course-nav .code .btn {
background-color: #eeeeee; background-color: #eeeeee;
width: 73rpx;
height: 40rpx; height: 40rpx;
border-radius: 10rpx; border-radius: 10rpx;
text-align: center; text-align: center;
line-height: 40rpx; line-height: 40rpx;
padding: 4rpx 20rpx;
margin-left: 28rpx; margin-left: 28rpx;
border: solid #999999 2rpx; border: solid #999999 2rpx;
} }
@ -509,12 +509,6 @@ flex: 1;
padding-top: 20rpx; padding-top: 20rpx;
} }
.record-content .title {
color: #333333;
margin-left: 12rpx;
font-size: 30rpx;
margin-bottom: 33rpx;
}
.record-content .list .li { .record-content .list .li {
display: flex; display: flex;
@ -717,8 +711,8 @@ flex: 1;
.record-content .title { .record-content .title {
color: #333333; color: #333333;
margin-left: 12rpx; margin-left: -10rpx;
font-size: 30rpx; font-size: 36rpx;
margin-bottom: 40rpx; margin-bottom: 40rpx;
} }
@ -763,9 +757,9 @@ flex: 1;
background-color: #999999; background-color: #999999;
border-radius: 100%; border-radius: 100%;
} }
.record-content .list .activeTrack .line-h60 { .record-content .list .activeTrack .line-h40 {
margin-top: -26rpx; margin-top: -20rpx;
margin-bottom: 20rpx; line-height: 60rpx;
} }
.record-content .list .date { .record-content .list .date {
margin-left: 20rpx; margin-left: 20rpx;

View File

@ -5,41 +5,41 @@
<container-subgroup-two> <container-subgroup-two>
<view slot="content" style="margin: -25rpx -25rpx -0rpx;"> <view slot="content" style="margin: -25rpx -25rpx -0rpx;">
<view class="project-list-input" :style="{top:statusBarHeight + 'px'}"> <view class="project-list-input" :style="{top:statusBarHeight + 'px'}">
<input type="text" @keydown.enter="getDatalist()" class="int" v-model="dataPage.keyword" value="" placeholder="请输入关键字" /> <input type="text" @keydown.enter="getDatalist" @confirm="getDatalist" class="int" v-model="dataPage.keyword" value="" placeholder="请输入关键字" />
<image @click="getDatalist()" class="search" src="../../static/iocn/ss.png" mode=""></image> <image @click="getDatalist" class="search" src="../../static/iocn/ss.png" mode=""></image>
<view class="xian"></view> <view class="xian"></view>
</view> </view>
<view class="screen"> <view class="screen">
<!-- 筛选状态查询日期查询 --> <!-- 筛选状态查询日期查询 -->
<picker @change="bindPickerChange" :value="workeOrderStatusIndex" :range="array" :range-key="'name'"> <picker class="width30 disjcac" @change="bindPickerChange" :value="workeOrderStatusIndex" :range="array" :range-key="'name'">
<view class="li"> <view class="li">
<view class="text" v-if="workeOrderStatus!=''">{{workeOrderStatus}}</view> <view class="text" v-if="workeOrderStatus!=''">{{workeOrderStatus}}</view>
<view class="text" v-else>{{array[workeOrderStatusIndex].name}}</view> <view class="text" v-else>{{array[workeOrderStatusIndex].name}}</view>
<image class="img" src="../../static/iocn/xla.png" mode="aspectFill"></image> <image class="img" src="../../static/iocn/xla.png" mode="aspectFill"></image>
</view> </view>
</picker> </picker>
<picker mode="date" :value="date" @change="bindDateChange"> <picker class="width30 disjcac" mode="date" :value="date" @change="bindDateChange">
<view class="li"> <view class="li">
<view class="text">工单日期</view> <view class="text" v-if="dataPage.order_times==''"></view>
<view class="text" v-else>{{dataPage.order_times}}</view>
<image class="img" src="../../static/iocn/xla.png" mode="aspectFill"></image> <image class="img" src="../../static/iocn/xla.png" mode="aspectFill"></image>
</view> </view>
</picker> </picker>
<view class="li"> <view class="li width30 disjcac">
<view class="text">筛选</view> <view class="text">筛选</view>
<image class="imgA" src="../../static/iocn/sx.png" mode="aspectFill"></image> <image class="imgA" src="../../static/iocn/sx.png" mode="aspectFill"></image>
</view> </view>
</view> </view>
<view class="project-list"> <view class="project-list">
<!-- 列表循环体 --> <!-- 列表循环体 -->
<view class="li" @click="projectDetailsFun(item.status,item.id,item.statusText,item.backgroundColor)" v-for="(item,index) in dataList" :key="index"> <view class="li" @click="projectDetailsFun(item.order_status,item.order_id,item.statusText,item.backgroundColor)" v-for="(item,index) in dataList" :key="index">
<view class="work-order-code">工单编号{{item.order_number}}</view> <view class="work-order-code">工单编号{{item.order_number}}</view>
<view class="message"> <view class="message">
<image class="img" src="../../static/del/img001.png" mode="aspectFill"></image> <image class="img" src="../../static/del/img001.png" mode="aspectFill"></image>
<view class="text"> <view class="text">
<view class="title"> <view class="title">
<view class="text clips1">{{item.project_name}}</view> <view class="text clips1">{{item.project_name}}</view>
<view class="icon" :style="{backgroundColor: item.attributes.color}">{{item.attributes.text <view class="icon" :style="{backgroundColor: item.attributes.color}">{{item.attributes.text}}</view>
}}</view>
</view> </view>
<view class="disjb fc" style="margin-left: -20rpx;height: 70%;"> <view class="disjb fc" style="margin-left: -20rpx;height: 70%;">
<view class="serial-number scal09"> <view class="serial-number scal09">
@ -66,6 +66,7 @@
</view> </view>
</view> </view>
</view> </view>
<nothing-page v-if="total==dataList.length" content="暂无更多列表数据" currentType="0"></nothing-page>
</view> </view>
</container-subgroup-two> </container-subgroup-two>
@ -98,14 +99,12 @@
dataPage:{ dataPage:{
list_rows:10, list_rows:10,
page:1, page:1,
// order_status:"", order_status:"",
// order_times:"", order_times:"",
// keyword:"" keyword:""
}, },
dataList:[ total:0,
dataList:[]
]
} }
}, },
onLoad(option) { onLoad(option) {
@ -127,21 +126,16 @@
this.workeOrderStatusIndex = this.array.findIndex(item=>item.id==option.status); this.workeOrderStatusIndex = this.array.findIndex(item=>item.id==option.status);
if(this.workeOrderStatusIndex!=-1) this.workeOrderStatus = ''; if(this.workeOrderStatusIndex!=-1) this.workeOrderStatus = '';
} }
this.getDatalist(); this.getDatalist();
} else {
} }
}) })
}, },
// //
getDatalist(){ getDatalist(){
this.$requst.get('/universal/api.order/order_list',this.dataPage).then(res => { this.$requst.get('/universal/api.order/order_list',this.dataPage).then(res => {
// this.$toolAll.tools.showToast(res.msg);
if (res.code) { if (res.code) {
this.dataList = res.data.data this.total = res.data.total;
} else if(res.code == 0){ this.dataList = res.data.data;
this.dataList = res.data.data
} }
}) })
}, },
@ -187,9 +181,7 @@
}, },
bindDateChange(date) { bindDateChange(date) {
this.dataPage.order_times=date.detail.value this.dataPage.order_times=date.detail.value
this.getDatalist()
this.getDatalist()
}, },
getDate(type) { getDate(type) {
const date = new Date(); const date = new Date();

View File

@ -27,6 +27,7 @@
</template> </template>
<script> <script>
const app = getApp();
export default { export default {
data() { data() {
return { return {
@ -44,14 +45,18 @@
}, },
methods: { methods: {
getEletronic(){ getEletronic(){
this.$requst.get('/universal/api.user/electronic_badge').then(res=>{ this.$requst.get('/universal/api.user/electronic_badge').then(res=>{
if(res.code==1){ if(res.code){
this.userId=res.data.id let userData = res.data;
this.userName=res.data.name if(userData.avatar) {
this.userPhone=res.data.phone this.userImg = app.globalData.hostapi + '/' + userData.avatar;
this.userEmail=res.data.email }
this.website=res.data.website this.userId = userData.id;
this.userName = userData.name;
this.userContent = userData.affiliation;
this.userPhone = userData.phone;
this.userEmail = userData.email;
this.website = userData.website;
} }
}) })

View File

@ -87,6 +87,14 @@
sourceType:['album','camera'], sourceType:['album','camera'],
sizeType:['compressed'], sizeType:['compressed'],
success: (res) => { success: (res) => {
let params = {
dir:'images',
from:res.tempFilePaths[0]
}
console.log(params,95);
this.$requst.post('/universal/api.upload/upload',params).then(res=>{
})
this.imgList[index].imgsrc = res.tempFilePaths[0]; this.imgList[index].imgsrc = res.tempFilePaths[0];
} }
}) })