解决pages.json冲突

master
chen 2022-03-18 08:58:57 +08:00
commit 34341b9128
16 changed files with 1701 additions and 80 deletions

View File

@ -65,9 +65,21 @@ uni-radio .uni-radio-input {border: 1rpx solid #444444;}
/* panding全局 */ /* panding全局 */
.padding{ .padding{
padding: 0 27rpx; padding: 0 27rpx;
} }
/* 按钮全局 */
.submit-button {
width: 686rpx;
border-radius: 50rpx;
height: 90rpx;
background-color: #02A2ea;
line-height: 90rpx;
color: #FFFFFF;
text-align: center;
font-size: 30rpx;
}
/* 登录 */ /* 登录 */
.login-img { .login-img {
width: 100%; width: 100%;

View File

@ -116,13 +116,13 @@
// //
switch (index){ switch (index){
case 1: case 1:
uni.reLaunch({url:'/pages/tabbar/project-list/project-list'}) uni.reLaunch({url:'/pages/project/projectList'})
break; break;
case 2: case 2:
// uni.reLaunch({url:'/pages/tabbar/project-list/project-list'}) // uni.reLaunch({url:'/pages/tabbar/project-list/project-list'})
break; break;
case 3: case 3:
uni.reLaunch({url:'/pages/tabbar/feedback/feedback'}) uni.reLaunch({url:'/pages/feedback/feedback'})
break; break;
case 4: case 4:
uni.reLaunch({url:'/pages/tabbar/my/my'}) uni.reLaunch({url:'/pages/tabbar/my/my'})

View File

@ -11,7 +11,7 @@
<view class="return-box" @tap="backEv" v-if="ifReturn" <view class="return-box" @tap="backEv" v-if="ifReturn"
:style="{height: navBarHeight+'px'}"> :style="{height: navBarHeight+'px'}">
<slot name="leftContent"> <slot name="leftContent">
<i class="icon icon-return" style="font-size: 40rpx;" <i class="icon icon-return" style="font-size: 32rpx;"
:style="{color: returnColor}"></i> :style="{color: returnColor}"></i>
</slot> </slot>
</view> </view>
@ -47,7 +47,7 @@
// //
navBarHeight: { navBarHeight: {
type:Number, type:Number,
default:50 default:40
}, },
// //
ifReturn:{ ifReturn:{
@ -182,6 +182,7 @@
width: 100%; width: 100%;
font-size: 32rpx; font-size: 32rpx;
display: flex; display: flex;
font-weight: bold;
} }
.tab-title .title-box{margin-top: -4rpx;} .tab-title .title-box{margin-top: -4rpx;}
</style> </style>

View File

@ -32,8 +32,8 @@
}, { }, {
"path": "pages/tabbar/my/my", "path": "pages/tabbar/my/my",
"style": { "style": {
"navigationBarTitleText": "个人中心" "navigationBarTitleText": "个人中心",
"navigationStyle": "custom" //
} }
}, { }, {
"path": "pages/login/agreement", "path": "pages/login/agreement",
@ -79,13 +79,15 @@
"path": "pages/project/projectList", "path": "pages/project/projectList",
"style": { "style": {
"navigationBarTitleText": "", "navigationBarTitleText": "",
"enablePullDownRefresh": false "enablePullDownRefresh": false,
"navigationStyle": "custom" //
} }
}, { }, {
"path": "pages/project/details", "path": "pages/project/details",
"style": { "style": {
"navigationBarTitleText": "" "navigationBarTitleText": "",
"navigationStyle": "custom" //
} }
}, },
@ -97,76 +99,103 @@
} }
} }
],
"subPackages": [ , {
{//A "path": "pages/feedback/feedback",
"root": "pagesA", "style": {
"pages": [ "navigationBarTitleText": "",
"navigationStyle": "custom", //
"enablePullDownRefresh": false
}
}
,{
"path" : "pages/workOrder/workOrder",
"style" :
{ {
"navigationBarTitleText": "",
"navigationStyle": "custom", //
"enablePullDownRefresh": false
}
}
,{
"path" : "pages/workOrder/workorderTwo",
"style" :
{
"navigationBarTitleText": "",
"navigationStyle": "custom", //
"enablePullDownRefresh": false
}
}
,{
"path" : "pages/workOrder/workOrderLlsit",
"style" :
{
"navigationBarTitleText": "",
"navigationStyle": "custom", //
"enablePullDownRefresh": false
}
}
],
"subPackages": [{ //A
"root": "pagesA",
"pages": [{
"path": "test/test", "path": "test/test",
"style": { "style": {
"navigationBarTitleText": "", "navigationBarTitleText": "",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
} }]
]
}, },
{ //B { //B
"root": "pagesB", "root": "pagesB",
"pages": [ "pages": [{
{
"path": "personal-information/personal-information", "path": "personal-information/personal-information",
"style": { "style": {
"navigationBarTitleText": "个人信息", "navigationBarTitleText": "个人信息",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
} }, {
,{
"path": "electronic-certificate/electronic-certificate", "path": "electronic-certificate/electronic-certificate",
"style": { "style": {
"navigationBarTitleText": "电子证件", "navigationBarTitleText": "电子证件",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
} }, {
,{
"path": "service-range/service-range", "path": "service-range/service-range",
"style" : "style": {
{
"navigationBarTitleText": "服务范围", "navigationBarTitleText": "服务范围",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
} }, {
,{
"path": "i-want-evaluate/i-want-evaluate", "path": "i-want-evaluate/i-want-evaluate",
"style" : "style": {
{
"navigationBarTitleText": "我要评价", "navigationBarTitleText": "我要评价",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
} }, {
,{
"path": "my-account/my-account", "path": "my-account/my-account",
"style" : "style": {
{
"navigationBarTitleText": "我的账户", "navigationBarTitleText": "我的账户",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
} }, {
,{
"path": "set-up/set-up", "path": "set-up/set-up",
"style" : "style": {
{
"navigationBarTitleText": "设置", "navigationBarTitleText": "设置",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
} }]
]
} }
], ],
"preloadRule": { "preloadRule": {
"pages/tabbar/pagehome/pagehome": { "pages/tabbar/pagehome/pagehome": {
"network": "all", "network": "all",

239
pages/feedback/feedback.vue Normal file
View File

@ -0,0 +1,239 @@
<template>
<view class="content">
<statusNav navBarTitle="意见反馈"></statusNav>
<view class="opinion-type">
意见类型
</view>
<view class="opinion-type-content">
<view class="li" @click="opinionType(index)" :class="item.state?'on':''" v-for="(item,index) in typeData">
{{item.title}}
</view>
</view>
<view class="feedback-input">
<input type="text" class="inputCss" placeholder="请填写您的意见或建议内容" placeholder-class="inputCss-input"
value="" />
<input type="text" class="inputCss" placeholder="请输入联系人姓名" placeholder-class="inputCss-input" value="" />
<input type="text" class="inputCss" placeholder="请输入联系人电话" placeholder-class="inputCss-input" value="" />
<view class="fault-pictures">
<image class="img" src="../../static/iocn/gz.png" mode="aspectFill"></image>
<view class="text">
请上传图片
</view>
</view>
</view>
<view class="feedback-approach">
<view class="feedback-con">
<image class="icon" src="../../static/iocn/tel.png" mode=""></image>
<view class="feedback-tel-con">
<view class="text">
服务监督电话
</view>
<view class="tel">
156 1566 0510
</view>
</view>
</view>
<view class="feedback-con">
<image class="icon" src="../../static/iocn/date.png" mode=""></image>
<view class="feedback-tel-con">
<view class="text">
反馈受理时间
</view>
<view class="tel">
9:00 - 18:00
</view>
</view>
</view>
</view>
<button class="submit-button" type="default">提交反馈</button>
<footTabOne :current="3"></footTabOne>
</view>
</template>
<script>
import statusNav from '../../components/status-nav.vue';
import footTabOne from "../../components/foot-tabs/foot-tab-one.vue"
export default {
components:{
footTabOne,
statusNav
},
data() {
return {
typeData: [{
title: "未解决问题",
state: false
},
{
title: "处理不及时",
state: false
},
{
title: "软件问题",
state: false
},
{
title: "报修问题",
state: true
},
{
title: "服务投诉",
state: false
},
{
title: "其他问题反馈",
state: false
},
]
}
},
methods: {
opinionType(index){
for (var i = 0; i < this.typeData.length; i++) {
this.typeData[i].state=false
}
this.typeData[index].state=true
}
}
}
</script>
<style>
page {
background-color: #F7F7F7;
}
.content{
padding-top: 76rpx;
}
.opinion-type {
width: 100%;
height: 80rpx;
line-height: 80rpx;
padding: 0 40rpx;
margin-top: 24rpx;
background-color: #FFFFFF;
font-size: 36rpx;
font-weight: bold;
}
.opinion-type-content .li {
width: 214rpx;
height: 68rpx;
background-color: #FFFFFF;
text-align: center;
line-height: 68rpx;
color: #dddddd;
border-radius: 8rpx;
margin-bottom: 24rpx;
}
.opinion-type-content {
padding: 22rpx 40rpx 0rpx;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.opinion-type-content .on {
background-color: #00A2E9;
color: #FFFFFF;
}
.inputCss {
height: 78rpx;
width: 100%;
box-sizing: border-box;
padding: 0rpx 17rpx;
font-size: 30rpx;
border-radius: 10rpx;
background-color: #FFFFFF;
color: #9f9898;
display: flex;
margin-bottom: 16rpx;
align-items: center;
}
.inputCss-input {
font-size: 26rpx;
color: #9f9898;
}
.feedback-input {
padding: 0 40rpx;
}
.fault-pictures {
display: flex;
align-items: center;
justify-content: center;
margin-top: 18rpx;
height: 388rpx;
box-sizing: border-box;
width: 100%;
background-color: #FFFFFF;
flex-direction: column;
}
.fault-pictures .img {
width: 62rpx;
margin-bottom: 27rpx;
height: 62rpx;
}
.fault-pictures .text {
font-size: 26rpx;
color: #9f9898;
}
.feedback-con{
width: 320rpx;
height: 100rpx;
border-radius: 8rpx;
background-color: #ffe5e5;
display: flex;
align-items: center;
box-sizing: border-box;
padding-left: 26rpx;
}
.feedback-con .icon{
width: 40rpx;
height: 40rpx;
margin-right: 18rpx;
}
.feedback-tel-con .text{
font-size: 24rpx;
margin-bottom: 10rpx;
}
.feedback-tel-con .tel{
font-size: 28rpx;
}
.feedback-approach{
padding: 0 40rpx;
display: flex;
align-items: center;
justify-content: space-between;
margin-top: 14rpx;
}
.submit-button {
width: 686rpx;
margin-top: 58rpx;
border-radius: 50rpx;
height: 90rpx;
background-color: #02A2ea;
line-height: 90rpx;
color: #FFFFFF;
text-align: center;
font-size: 30rpx;
}
</style>

View File

@ -1,5 +1,6 @@
<template> <template>
<view class="content"> <view class="content">
<statusNav navBarTitle="项目详情"></statusNav>
<view class="details-head"> <view class="details-head">
<view class="swiper-head"> <view class="swiper-head">
<swiper class="swiper" @change="changeAutoplay" :autoplay="autoplay" :interval="interval" <swiper class="swiper" @change="changeAutoplay" :autoplay="autoplay" :interval="interval"
@ -44,26 +45,216 @@
</view> </view>
<view class="last-date"> <view class="last-date">
<view class="last-date-content"> <view class="last-date-content">
<image class="icon" src="../../static/iocn/gzzt.png" mode=""></image>
<view class="text">
最近一次故障时间2021-11-18 170016
</view>
</view> </view>
</view> </view>
<view class="project-message-title">
<view class="icon">
</view>
<view class="text">
项目概况
</view>
</view>
<view class="project-message-content">
<view class="li">
<view class="title-one">
<text></text>
<text></text>
</view>
<view class="text">
海康威视
</view>
</view>
<view class="li">
<view class="title-one">
<text></text>
<text></text>
</view>
<view class="text">
DS-CK25FI/H
</view>
</view>
<view class="li">
<view class="title-one">
<text></text>
<text></text>
</view>
<view class="text">
3.94*2.02m
</view>
</view>
<view class="li">
<view class="title">
安装位置
</view>
<view class="text">
xx综合楼2楼会议室403
</view>
</view>
<view class="li">
<view class="title">
竣工日期
</view>
<view class="text">
2022/01/08
</view>
</view>
</view>
<view class="record-nav">
<view class="li" @click="recordNav(index)" :class="item.state?'on':''" v-for="(item,index) in recordState">
{{item.title}}
</view>
</view>
<view class="record-content">
<view class="title">
维修追踪
</view>
<view class="list">
<view class="li on">
<view class="icon">
<view class="icon-con">
</view>
</view>
<view class="con">
<view class="text">
黑屏故障 某某已处理
</view>
<view class="date">
2020-05-15 16:00
</view>
</view>
</view>
<view class="li">
<view class="icon">
</view>
<view class="con">
<view class="text">
黑屏故障 某某已处理
</view>
<view class="date">
2020-05-15 16:00
</view>
</view>
</view>
<view class="li">
<view class="icon">
</view>
<view class="con">
<view class="text">
黑屏故障 某某已处理
</view>
<view class="date">
2020-05-15 16:00
</view>
</view>
</view>
<view class="li">
<view class="icon">
</view>
<view class="con">
<view class="text">
黑屏故障 某某已处理
</view>
<view class="date">
2020-05-15 16:00
</view>
</view>
</view>
<view class="li">
<view class="icon">
</view>
<view class="con">
<view class="text">
黑屏故障 某某已处理
</view>
<view class="date">
2020-05-15 16:00
</view>
</view>
</view>
<view class="li">
<view class="icon">
</view>
<view class="con">
<view class="text">
黑屏故障 某某已处理
</view>
<view class="date">
2020-05-15 16:00
</view>
</view>
</view>
<view class="li">
<view class="icon">
</view>
<view class="con">
<view class="text">
黑屏故障 某某已处理
</view>
<view class="date">
2020-05-15 16:00
</view>
</view>
</view>
</view>
</view>
</view> </view>
</template> </template>
<script> <script>
import statusNav from "../../components/status-nav.vue"
export default { export default {
components:{
statusNav
},
data() { data() {
return { return {
autoplay: true, autoplay: true,
interval: 3000, interval: 3000,
index: 1, index: 1,
recordState: [{
title: '维修记录',
state: true
},
{
title: '保养记录',
state: false
},
{
title: '巡检记录',
state: false
},
]
} }
}, },
methods: { methods: {
changeAutoplay(data) { changeAutoplay(data) {
console.log() console.log()
this.index = data.detail.current - 0 + 1 this.index = data.detail.current - 0 + 1
},
recordNav(index) {
for (var i = 0; i < this.recordState.length; i++) {
this.recordState[i].state = false
}
this.recordState[index].state = true
} }
} }
} }
@ -142,16 +333,201 @@
font-size: 24rpx; font-size: 24rpx;
color: #666666; color: #666666;
} }
.last-date { .last-date {
width: 100%; width: 100%;
padding: 10rpx 13rpx 10rpx; padding: 10rpx 13rpx 10rpx;
box-shadow: 0rpx 10rpx 10rpx rgba(0,0,0,0.1); box-shadow: 0rpx 5rpx 3rpx rgba(0, 0, 0, 0.1);
} }
.last-date-content { .last-date-content {
width: 100%; width: 100%;
height: 57rpx; height: 57rpx;
display: flex;
padding-left: 20rpx;
align-items: center;
border-radius: 10rpx; border-radius: 10rpx;
background: linear-gradient(to right, #FFEBEB, #F7F7F7); background: linear-gradient(to right, #FFEBEB, #F7F7F7);
} }
.last-date-content .icon {
width: 30rpx;
height: 30rpx;
margin-right: 20rpx;
}
.last-date-content .text {
font-size: 22rpx;
color: #333333;
}
.project-message-title {
display: flex;
padding: 0 33rpx;
align-items: center;
border-bottom: 2rpx solid #ebebeb;
margin-top: 23rpx;
padding-bottom: 21rpx;
}
.project-message-title .icon {
width: 8rpx;
height: 27rpx;
margin-right: 15rpx;
border-radius: 50rpx;
background: linear-gradient(#00A2e9, #bbe6f9);
}
.project-message-title .text {
font-size: 13rpx
}
.project-message-content {
display: flex;
box-shadow: 0rpx 5rpx 5rpx rgba(0, 0, 0, 0.1);
padding: 30rpx 25rpx 0rpx;
flex-wrap: wrap;
justify-content: space-between;
}
.project-message-content .title-one {
color: #4d4c4c;
font-size: 24rpx;
font-weight: bold;
width: 93rpx;
display: flex;
justify-content: space-between;
}
.project-message-content .li {
display: flex;
margin-bottom: 31rpx;
}
.project-message-content .title {
color: #4d4c4c;
font-weight: bold;
font-size: 24rpx
}
.project-message-content .text {
color: #4d4c4c;
font-size: 24rpx
}
.record-nav {
padding: 55rpx 50rpx 33rpx;
display: flex;
justify-content: space-between;
border-bottom: 2rpx solid #D5D4D4;
}
.record-nav .li {
font-size: 24rpx;
width: 128rpx;
text-align: center;
font-weight: bold;
position: relative;
}
.record-nav .on {
color: #00b1ff;
}
.record-nav .on::after {
content: "";
width: 100%;
height: 2rpx;
position: absolute;
background-color: #00B1FF;
top: 65rpx;
left: 0rpx;
}
.record-content {
margin-top: 33rpx;
padding: 0 52rpx;
}
.record-content .title {
color: #333333;
margin-left: 12rpx;
font-size: 24rpx;
margin-bottom: 33rpx;
}
.record-content .list .li {
display: flex;
align-items: center;
margin-bottom: 40rpx;
}
.record-content .list .li .icon {
width: 14rpx;
height: 14rpx;
margin-right: 50rpx;
border-radius: 50%;
background-color: #999999;
margin-left: 5rpx;
position: relative;
}
.record-content .list .li .icon::after {
content: "";
width: 1rpx;
position: absolute;
left: 7rpx;
height: 64rpx;
background-color: #999999;
top: 14rpx;
}
.record-content .list .li .con {
display: flex;
align-items: center;
font-size: 26rpx;
color: #999999;
}
.record-content .list .on .icon {
background-color: #5caefb;
width: 21rpx;
height: 21rpx;
margin-left: 1rpx;
display: flex;
align-items: center;
justify-content: center;
position: relative;
z-index: 1;
}
.record-content .list .on .icon .icon-con{
background-color: #0084ff;
width: 13rpx;
height: 13rpx;
border-radius: 50%;
}
.record-content .list .on .icon::after {
content: "";
width: 1rpx;
position: absolute;
left: 9rpx;
height: 167rpx;
z-index: -1;
background-color: #0084ff;
top: 20rpx;
}
.record-content .list .on .con{
display: block;
color: #0084ff;
}
.record-content .list .on .con .text{
margin-bottom: 35rpx;
}
.record-content .list .on .con .date{
margin-bottom: 35rpx;
}
.record-content .list .on{
align-items: flex-start;
}
</style> </style>

View File

@ -1,5 +1,6 @@
<template> <template>
<view class="content"> <view class="content">
<statusNav navBarTitle="项目列表"></statusNav>
<view class="project-list-input"> <view class="project-list-input">
<input type="text" class="int" value="" placeholder="请输入关键字" /> <input type="text" class="int" value="" placeholder="请输入关键字" />
<image class="search" src="../../static/ss.png" mode=""></image> <image class="search" src="../../static/ss.png" mode=""></image>
@ -36,7 +37,7 @@
</view> </view>
<view class="project-list"> <view class="project-list">
<view class="li"> <view class="li" @click="projectDetailsFun()">
<view class="message"> <view class="message">
<image class="img" src="../../static/del/项目图片.png" mode="aspectFill"></image> <image class="img" src="../../static/del/项目图片.png" mode="aspectFill"></image>
@ -114,12 +115,18 @@
</view> </view>
</view> </view>
<footTabOne :current="1"></footTabOne>
</view> </view>
</template> </template>
<script> <script>
import statusNav from '../../components/status-nav.vue';
import footTabOne from "../../components/foot-tabs/foot-tab-one.vue"
export default { export default {
components:{
footTabOne,
statusNav
},
data() { data() {
const currentDate = this.getDate({ const currentDate = this.getDate({
format: true format: true
@ -131,6 +138,11 @@
} }
}, },
methods: { methods: {
projectDetailsFun(){
uni.navigateTo({
url:"/pages/project/details"
})
},
bindPickerChange(data){ bindPickerChange(data){
console.log(data) console.log(data)
}, },
@ -162,6 +174,9 @@
background-color: #F7F7F7; background-color: #F7F7F7;
} }
.content{
padding-top: 76rpx;
}
.project-list-input { .project-list-input {
width: 100%; width: 100%;
height: 114rpx; height: 114rpx;

View File

@ -202,6 +202,7 @@
<image class="flexs mar-z20" :src="item.imgsrc" style="width: 280rpx;height: 112rpx;" mode="widthFix" lazy-load></image> <image class="flexs mar-z20" :src="item.imgsrc" style="width: 280rpx;height: 112rpx;" mode="widthFix" lazy-load></image>
</view> </view>
</view> </view>
<!-- 底部tab --> <!-- 底部tab -->
<foot-tab></foot-tab> <foot-tab></foot-tab>
</view> </view>

View File

@ -0,0 +1,247 @@
<template>
<view class="content">
<statusNav navBarTitle="处理工单"></statusNav>
<view class="work-order-schedule">
<view class="li">
<view class="icon on icon-after">
1
</view>
<view class="text">
签到执行
</view>
</view>
<view class="li">
<view class="icon icon-after">
2
</view>
<view class="text">
填写维保单
</view>
</view>
<view class="li">
<view class="icon">
3
</view>
<view class="text">
结算审核
</view>
</view>
</view>
<view class="work-order-from">
<view class="li">
<view class="title">
工单编号
</view>
<input type="text" class="input" placeholder="" value="GD20211203-001" />
</view>
<view class="li">
<view class="title">
项目编号
</view>
<input type="text" class="input" placeholder="" value="GD20211203-001" />
</view>
<view class="li">
<view class="title">
项目名称
</view>
<input type="text" class="input" placeholder="" value="湖南省林业科学院11楼会议室P2.5" />
</view>
<view class="li">
<view class="title">
产品类型
</view>
<input type="text" class="input" placeholder="" value="Q2.5-E" />
</view>
<view class="li">
<view class="title">
安装位置
</view>
<input type="text" class="input" placeholder="" value="详细地址+某某栋11楼会议室" />
</view>
<view class="li">
<view class="title">
故障类型
</view>
<input type="text" class="input" placeholder="" value="供电不足" />
</view>
<view class="li">
<view class="title">
紧急程度
</view>
<input type="text" class="input" placeholder="" value="紧急" />
</view>
<view class="li">
<view class="title">
故障说明
</view>
<textarea auto-height class="input" value="*********************************************************************************************************" placeholder="" />
</view>
<view class="li">
<view class="title">
故障图片
</view>
<view class="input">
<image class="img" src="../../static/del/微信图片_20220113152400.png" mode="aspectFill"></image>
<image class="img" src="../../static/del/微信图片_20220113152400.png" mode="aspectFill"></image>
</view>
</view>
</view>
<view class="work-order-from">
<view class="li">
<view class="title">
</view>
<input type="text" class="input" placeholder="" value="林某" />
</view>
<view class="li">
<view class="title">
报单时间
</view>
<input type="text" class="input" placeholder="" value="2021/12/3 12:00:05" />
</view>
<view class="li">
<view class="title">
服务方式
</view>
<input type="text" class="input" placeholder="" value="上门服务" />
</view>
<view class="li">
<view class="title">
定位地址
</view>
<input type="text" class="input" placeholder="" value="*******************************" />
</view>
</view>
<button class="submit-button" type="default">签到</button>
</view>
</template>
<script>
import statusNav from '../../components/status-nav.vue';
import footTabOne from "../../components/foot-tabs/foot-tab-one.vue"
export default {
components: {
footTabOne,
statusNav
},
data() {
return {
}
},
methods: {
}
}
</script>
<style>
.content {
padding-top: 80rpx;
}
.submit-button {
width: 686rpx;
border-radius: 50rpx;
height: 90rpx;
background-color: #02A2ea;
line-height: 90rpx;
color: #FFFFFF;
margin-top: 60rpx;
text-align: center;
font-size: 30rpx;
}
.work-order-schedule {
display: flex;
padding: 22rpx 29rpx;
margin-top: 10rpx;
background-color: #FFFFFF;
justify-content: space-between;
}
.work-order-schedule .icon {
width: 38rpx;
height: 38rpx;
color: #FFFFFF;
margin: auto;
position: relative;
font-size: 24rpx;
margin-bottom: 10rpx;
text-align: center;
line-height: 38rpx;
background-color: #999999;
border-radius: 50%;
}
.work-order-schedule .on {
background-color: #5391F3
}
.work-order-schedule .text {
font-size: 24rpx;
color: #333333;
}
.work-order-schedule .icon-after::after {
content: "";
width: 265rpx;
height: 2rpx;
background-color: #999999;
position: absolute;
top: 19rpx;
left: 38rpx;
}
.work-order-from {
margin-top: 10rpx;
background-color: #FFFFFF;
}
.work-order-from .li {
display: flex;
padding: 20rpx 40rpx;
border-bottom: 2rpx solid #ececec;
}
.work-order-from .li .title {
font-size: 26rpx;
width: 133rpx;
}
.work-order-from .li .input {
font-size: 24rpx;
color: #8b8b8b;
flex: 1;
padding-left: 15rpx;
}
.work-order-from .li .input .img{
width: 169rpx;
height: 127rpx;
margin-right: 10rpx;
}
</style>

View File

@ -0,0 +1,353 @@
<template>
<view class="content">
<statusNav navBarTitle="项目列表"></statusNav>
<view class="project-list-input">
<input type="text" class="int" value="" placeholder="请输入关键字" />
<image class="search" src="../../static/ss.png" mode=""></image>
</view>
<view class="screen">
<picker @change="bindPickerChange" :value="index" :range="array">
<view class="li">
<view class="text">
产品类型
</view>
<image class="img" src="../../static/iocn/xla.png" mode="aspectFill"></image>
</view>
</picker>
<picker mode="date" :value="date" @change="bindDateChange">
<view class="li">
<view class="text">
竣工日期
</view>
<image class="img" src="../../static/iocn/xla.png" mode="aspectFill"></image>
</view>
</picker>
<view class="li">
<view class="text">
筛选
</view>
<image class="imgA" src="../../static/iocn/sx.png" mode="aspectFill"></image>
</view>
</view>
<view class="project-list">
<view class="li" @click="projectDetailsFun()">
<view class="message">
<image class="img" src="../../static/del/项目图片.png" mode="aspectFill"></image>
<view class="text">
<view class="title">
湖南工业大学化工学院会议室P2.5全彩LED显示屏
</view>
<view class="serial-number">
项目编号20220108-1001
</view>
<view class="specification">
规格型号DS-CK25FI/H
</view>
<view class="specification">
产品尺寸3.94*2.02
</view>
<view class="installation-site">
安装位置xxx综合楼2楼会议室
</view>
</view>
</view>
<view class="project-list-address">
<view class="address">
<image class="img" src="../../static/iocn/im.png" mode="aspectFill"></image>
<view class="text">
湖南省长沙市高新开发区谷园路109号像素大厦1205
</view>
</view>
<view class="date">
2022/01/08
</view>
</view>
<view class="icon iconBer">
质保到期
</view>
</view>
<view class="li">
<view class="message">
<image class="img" src="../../static/del/项目图片.png" mode="aspectFill"></image>
<view class="text">
<view class="title">
湖南工业大学化工学院会议室P2.5全彩LED显示屏
</view>
<view class="serial-number">
项目编号20220108-1001
</view>
<view class="specification">
规格型号DS-CK25FI/H
</view>
<view class="specification">
产品尺寸3.94*2.02
</view>
<view class="installation-site">
安装位置xxx综合楼2楼会议室
</view>
</view>
</view>
<view class="project-list-address">
<view class="address">
<image class="img" src="../../static/iocn/im.png" mode="aspectFill"></image>
<view class="text">
湖南省长沙市高新开发区谷园路109号像素大厦1205
</view>
</view>
<view class="date">
2022/01/08
</view>
</view>
<view class="icon iconBera">
质保中
</view>
</view>
</view>
<footTabOne :current="1"></footTabOne>
</view>
</template>
<script>
import statusNav from '../../components/status-nav.vue';
import footTabOne from "../../components/foot-tabs/foot-tab-one.vue"
export default {
components:{
footTabOne,
statusNav
},
data() {
const currentDate = this.getDate({
format: true
})
return {
date: currentDate,
array: ['类型', '类型', '类型', '类型'],
index: 0,
}
},
methods: {
projectDetailsFun(){
uni.navigateTo({
url:"/pages/project/details"
})
},
bindPickerChange(data){
console.log(data)
},
bindDateChange(date){
console.log(date)
},
getDate(type) {
const date = new Date();
let year = date.getFullYear();
let month = date.getMonth() + 1;
let day = date.getDate();
if (type === 'start') {
year = year - 60;
} else if (type === 'end') {
year = year + 2;
}
month = month > 9 ? month : '0' + month;
day = day > 9 ? day : '0' + day;
console.log(year,month,day)
return `${year}-${month}-${day}`;
}
}
}
</script>
<style scoped>
page {
background-color: #F7F7F7;
}
.content{
padding-top: 76rpx;
}
.project-list-input {
width: 100%;
height: 114rpx;
position: relative;
padding: 20rpx 16rpx;
box-sizing: border-box;
background-color: #FFFFFF
}
.project-list-input .int {
width: 100%;
height: 100%;
background-color: #F7F7F7;
padding: 0 25rpx;
box-sizing: border-box;
border-radius: 36rpx;
}
.project-list-input .search {
width: 28rpx;
height: 28rpx;
position: absolute;
right: 43rpx;
top: 50%;
margin-top: -14rpx;
}
.screen {
display: flex;
justify-content: space-around;
padding: 46rpx 20rpx;
}
.screen .li {
display: flex;
align-items: center;
}
.screen .li .text {
font-size: 32rpx;
color: #333333;
margin-right: 10rpx;
}
.screen .li .img {
width: 14rpx;
height: 8rpx;
}
.screen .li .imgA {
width: 24rpx;
height: 23rpx;
}
.project-list .li {
width: 710rpx;
box-sizing: border-box;
background-color: #FFFFFF;
position: relative;
margin: auto;
margin-bottom: 20rpx;
padding: 33rpx 23rpx;
}
.project-list .li .icon {
width: 135rpx;
height: 40rpx;
position: absolute;
font-size: 24rpx;
color: #FFFFFF;
right: 23rpx;
line-height: 40rpx;
text-align: center;
background-size: 100% 100%;
top: -10rpx;
}
.project-list .li .iconBer {
background-image: url(../../static/iocn/za.png);
}
.project-list .li .iconBera {
background-image: url(../../static/iocn/zaa.png);
}
.project-list .li .message {
display: flex;
}
.project-list .li .message .img {
width: 230rpx;
margin-right: 11rpx;
height: 180rpx;
}
.project-list .li .message .text {
flex: 1;
}
.project-list .li .message .text .title {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
overflow: hidden;
text-overflow: ellipsis;
word-wrap: break-word;
word-break: break-all;
margin-bottom: 15rpx;
font-size: 28rpx;
line-height: 29rpx;
color: #333333;
font-weight: bold;
}
.project-list .li .message .serial-number {
color: #ff8800;
font-size: 24rpx;
margin-bottom: 15rpx;
line-height: 24rpx;
}
.project-list .li .message .specification {
color: #00b1ff;
font-size: 24rpx;
margin-bottom: 15rpx;
line-height: 24rpx;
}
.project-list .li .message .installation-site {
color: #6b6a6a;
font-size: 24rpx;
margin-bottom: 15rpx;
line-height: 24rpx;
}
.project-list-address {
display: flex;
/* justify-content: space-between; */
}
.project-list-address .text {
font-size: 24rpx;
}
.project-list-address .date {
font-size: 24rpx;
text-align: right;
margin-left: 20rpx;
margin-top: 12rpx;
}
.project-list-address .img {
width: 23rpx;
height: 28rpx;
margin-right: 10rpx;
}
.project-list-address .address {
display: flex;
align-items: center;
}
.pickerDate {
width: 300rpx;
height: 300rpx;
}
</style>

View File

@ -0,0 +1,348 @@
<template>
<view class="content">
<statusNav navBarTitle="处理工单"></statusNav>
<view class="work-order-schedule">
<view class="li">
<view class="icon icon-after">
1
</view>
<view class="text">
签到执行
</view>
</view>
<view class="li">
<view class="icon on icon-after">
2
</view>
<view class="text">
填写维保单
</view>
</view>
<view class="li">
<view class="icon">
3
</view>
<view class="text">
结算审核
</view>
</view>
</view>
<view class="work-order-from">
<view class="li">
<view class="title">
工单编号
</view>
<input type="text" class="input" placeholder="" value="GD20211203-001" />
</view>
<view class="li">
<view class="title">
项目编号
</view>
<input type="text" class="input" placeholder="" value="XM20211203-001" />
</view>
<view class="li">
<view class="title">
项目名称
</view>
<input type="text" class="input input-black" placeholder="" value="湖南省林业科学院11楼会议室P2.5" />
</view>
<view class="li">
<view class="title">
产品类型
</view>
<input type="text" class="input input-black" placeholder="" value="Q2.5-E" />
</view>
<view class="li">
<view class="title">
安装位置
</view>
<input type="text" class="input input-black" placeholder="" value="详细地址+某某栋11楼会议室" />
</view>
<view class="li">
<view class="title">
故障类型
</view>
<input type="text" class="input input-black" placeholder="" value="供电不足" />
</view>
<view class="li">
<view class="title">
服务方式
</view>
<input type="text" class="input input-black" placeholder="" value="上门服务" />
</view>
<view class="li">
<view class="title">
故障说明
</view>
<textarea auto-height class="input input-black"
value="*********************************************************************************************************"
placeholder="" />
</view>
<view class="li">
<view class="title">
故障图片
</view>
<view class="input add-display">
<view class="">
<image class="img" src="../../static/del/微信图片_20220113152400.png" mode="aspectFill"></image>
<image class="img" src="../../static/del/微信图片_20220113152400.png" mode="aspectFill"></image>
</view>
<view class="add-img">
<image class="icon" src="../../static/iocn/jia.png" mode=""></image>
</view>
</view>
</view>
<view class="li">
<view class="title">
开始时间
</view>
<input type="text" class="input " placeholder="" value="2022-01-25 09:39" />
</view>
<view class="li">
<view class="title">
结束时间
</view>
<input type="text" class="input input-black" placeholder="" value="2022-01-25 15:30" />
</view>
<view class="li">
<view class="title">
维保用时
</view>
<input type="text" class="input " placeholder="" value="5小时51分钟" />
</view>
<view class="li">
<view class="title">
维保费用
</view>
<input type="text" class="input input-black" placeholder="" value="¥500.00元" />
</view>
<view class="li">
<view class="title">
等待时长
</view>
<input type="text" class="input " placeholder="" value="1天6小时35分钟" />
</view>
<view class="li">
<view class="title">
主维保人
</view>
<input type="text" class="input input-black" placeholder="" value="陈志远" />
</view>
<view class="li">
<view class="title">
更换配件
</view>
<view class="rideo">
</view>
</view>
</view>
<view class="work-order-from">
<view class="li">
<view class="title">
工作描述
</view>
<textarea auto-height class="input input-black"
value="*********************************************************************************************************"
placeholder="" />
</view>
<view class="li">
<view class="title">
维保图片
</view>
<view class="input add-display">
<view class="">
<image class="img" src="../../static/del/微信图片_20220113152400.png" mode="aspectFill"></image>
<image class="img" src="../../static/del/微信图片_20220113152400.png" mode="aspectFill"></image>
</view>
<view class="add-img">
<image class="icon" src="../../static/iocn/jia.png" mode=""></image>
</view>
</view>
</view>
<view class="li">
<view class="title">
故障原因
</view>
<textarea auto-height class="input input-black"
value="*********************************************************************************************************"
placeholder="" />
</view>
<view class="li">
<view class="title">
主维保人
</view>
<input type="text" class="input input-black" placeholder="" value="罗帅 陈志远" />
</view>
</view>
<button class="submit-button" type="default">签到</button>
</view>
</template>
<script>
import statusNav from '../../components/status-nav.vue';
import footTabOne from "../../components/foot-tabs/foot-tab-one.vue"
export default {
components: {
footTabOne,
statusNav
},
data() {
return {
}
},
methods: {
}
}
</script>
<style>
.content {
padding-top: 80rpx;
}
.submit-button {
width: 686rpx;
border-radius: 50rpx;
height: 90rpx;
background-color: #02A2ea;
line-height: 90rpx;
color: #FFFFFF;
margin-top: 60rpx;
text-align: center;
font-size: 30rpx;
}
.work-order-schedule {
display: flex;
padding: 22rpx 29rpx;
margin-top: 10rpx;
background-color: #FFFFFF;
justify-content: space-between;
}
.work-order-schedule .icon {
width: 38rpx;
height: 38rpx;
color: #FFFFFF;
margin: auto;
position: relative;
font-size: 24rpx;
margin-bottom: 10rpx;
text-align: center;
line-height: 38rpx;
background-color: #999999;
border-radius: 50%;
}
.work-order-schedule .on {
background-color: #5391F3
}
.work-order-schedule .text {
font-size: 24rpx;
color: #333333;
}
.work-order-schedule .icon-after::after {
content: "";
width: 265rpx;
height: 2rpx;
background-color: #999999;
position: absolute;
top: 19rpx;
left: 38rpx;
}
.work-order-from {
margin-top: 10rpx;
background-color: #FFFFFF;
}
.work-order-from .li {
display: flex;
padding: 20rpx 40rpx;
border-bottom: 2rpx solid #ececec;
}
.work-order-from .li .title {
font-size: 26rpx;
width: 133rpx;
}
.work-order-from .li .input {
font-size: 24rpx;
color: #8b8b8b;
flex: 1;
padding-left: 15rpx;
}
.work-order-from .li .input .img {
width: 169rpx;
height: 127rpx;
margin-right: 10rpx;
}
.work-order-from .li .input .add-img {
width: 136rpx;
height: 127rpx;
display: flex;
justify-content: center;
background-color: #DCDCDC;
align-items: center;
}
.work-order-from .li .input .add-img .icon {
width: 64rpx;
height: 64rpx;
}
.work-order-from .li .add-display {
display: flex;
}
.work-order-from .li .input-black {
color: #292929;
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

BIN
static/iocn/date.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
static/iocn/gzzt.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 511 B

BIN
static/iocn/jia.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 B

BIN
static/iocn/tel.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB