master
tangyi 2022-03-25 18:33:33 +08:00
parent 6caa02508a
commit 3bbd8c3701
14 changed files with 2552 additions and 2448 deletions

View File

@ -1,12 +1,12 @@
<template>
<view class="content">
<statusNav navBarTitle="项目详情"></statusNav>
<container-subgroup-two>
<view slot="content" style="margin: 0 -30rpx;">
<view class="head-top">
<view class="details-head">
<view class="swiper-head">
<swiper class="swiper" @change="changeAutoplay" :autoplay="autoplay" :interval="interval"
>
<swiper class="swiper" @change="changeAutoplay" :autoplay="autoplay" :interval="interval">
<swiper-item>
<view class="swiper-item uni-bg-red">
<image class="img" src="../../static/del/img001.png" mode="aspectFill"></image>
@ -55,7 +55,6 @@
</view>
</view>
<view class="project-message-title">
<view class="icon">
@ -64,7 +63,6 @@
项目概况
</view>
</view>
<view class="project-message-content">
<view class="li">
<view class="title-one">
@ -172,7 +170,6 @@
</view>
</view>
</view>
<view class="project-message-title">
<view class="icon">
@ -181,7 +178,6 @@
项目材料
</view>
</view>
<view class="project-materials-content">
<view class="project-materials-title">
<view class="text">
@ -224,13 +220,11 @@
</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">
维修追踪
@ -331,14 +325,21 @@
</view>
</view>
</view>
</view>
</container-subgroup-two>
</view>
</template>
<script>
import containerSubgroupTwo from '@/components/containers/container-subgroup-two.vue';
import statusNav from "../../components/status-nav.vue"
export default {
components: {
statusNav
statusNav,
containerSubgroupTwo
},
data() {
return {
@ -382,7 +383,7 @@
.content {
padding: 16rpx 0;
padding-top: 100rpx;
}
.swiper {
@ -616,8 +617,10 @@
left: 7rpx;
height: 102rpx;
background-color: #999999;
top: 14rpx;;
top: 14rpx;
;
}
.record-content .list .li .con {
display: flex;
align-items: center;
@ -636,12 +639,14 @@
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: 2rpx;
@ -652,16 +657,20 @@
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;
}
@ -677,10 +686,12 @@
padding: 26rpx 20rpx;
justify-content: space-between;
}
.project-materials-title .text {
width: 16%;
text-align: center;
}
.project-materials-text {
display: flex;
background-color: #FFFFFF;
@ -689,6 +700,7 @@
font-size: 24rpx;
justify-content: space-between;
}
.project-materials-text .text {
width: 16%;
text-align: center;

View File

@ -1,7 +1,8 @@
<template>
<view class="content">
<statusNav navBarTitle="(项目)查询结果"></statusNav>
<container-subgroup-two>
<view slot="content" style="margin: 0 -30rpx;">
<view class="project-list">
<view class="li" @click="projectDetailsFun()">
<view class="message">
@ -118,17 +119,17 @@
</view>
</view>
</view>
<footTabOne :current="1"></footTabOne>
</view>
</container-subgroup-two>
</view>
</template>
<script>
import statusNav from '../../components/status-nav.vue';
import footTabOne from "../../components/foot-tabs/foot-tab-one.vue"
import containerSubgroupTwo from '@/components/containers/container-subgroup-two.vue';
export default {
components:{
footTabOne,
containerSubgroupTwo,
statusNav
},
data() {
@ -175,7 +176,6 @@
}
.content{
padding-top: 100rpx;
}
.project-list-input {
width: 100%;
@ -183,7 +183,10 @@
position: relative;
padding: 20rpx 16rpx;
box-sizing: border-box;
background-color: #FFFFFF
background-color: #FFFFFF;
}
.project-list-input .int {

View File

@ -1,6 +1,8 @@
<template>
<view>
<view class="head">
<view class="text">
查询功能
@ -246,6 +248,7 @@
margin: auto;
}
.imgJCon {
display: flex;
justify-content: center;

View File

@ -1,6 +1,9 @@
<template>
<view class="content">
<statusNav navBarTitle="故障统计"></statusNav>
<container-subgroup-two>
<view slot="content" style="margin: 0 -30rpx;">
<view class="faultStatistics-nav">
<view class="li" @click="navlistIndexFun(index)" :class="navlistIndex==index?'on':''"
v-for="(item,index) in navlist">
@ -174,14 +177,20 @@
</view>
</view>
</view> </container-subgroup-two>
</view>
</template>
<script>
import containerSubgroupTwo from '@/components/containers/container-subgroup-two.vue';
import statusNav from '../../components/status-nav.vue';
export default {
components: {
statusNav
statusNav,
containerSubgroupTwo
},
data() {
return {
@ -263,8 +272,6 @@
<style>
.content {
padding: 0rpx 15rpx;
padding-top: 80rpx;
padding-bottom: 80rpx;
}
@ -473,6 +480,7 @@
background-color: #2d8efd;
border-radius: 25rpx;
}
.percentage-box-ber {
background-color: #ffb503;
}

View File

@ -1,7 +1,8 @@
<template>
<view class="content">
<statusNav navBarTitle="数据看板"></statusNav>
<container-subgroup-two>
<view slot="content" style="margin: 0 -30rpx;">
<view class="project-overview">
<view class="settlement-type-title">
项目概况
@ -309,14 +310,19 @@
</view>
</view>
</view>
</view>
</container-subgroup-two>
</view>
</template>
<script>
import containerSubgroupTwo from '@/components/containers/container-subgroup-two.vue';
import statusNav from '../../components/status-nav.vue';
export default {
components: {
statusNav
statusNav,
containerSubgroupTwo
},
data() {
return {
@ -450,9 +456,7 @@
<style>
.content {
padding: 10rpx;
padding-top: 90rpx;
padding-bottom: 80rpx;
padding:0rpx 10rpx;
}
.charts-box{
width: 100%;

View File

@ -1,12 +1,15 @@
<template>
<view class="content">
<view class="">
<statusNav navBarTitle="意见反馈"></statusNav>
<container-subgroup-two>
<view slot="content" style="margin: 0 -30rpx;">
<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">
<view class="li" @click="opinionType(index)" :class="item.state?'on':''"
v-for="(item,index) in typeData">
{{item.title}}
</view>
</view>
@ -15,8 +18,10 @@
<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="" />
<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>
@ -53,6 +58,8 @@
</view>
</view>
<button class="submit-button" type="default">提交反馈</button>
</view>
</container-subgroup-two>
<footTabOne :current="3"></footTabOne>
</view>
@ -61,10 +68,12 @@
<script>
import statusNav from '../../components/status-nav.vue';
import footTabOne from "../../components/foot-tabs/foot-tab-one.vue"
import containerSubgroupTwo from '@/components/containers/container-subgroup-two.vue';
export default {
components: {
footTabOne,
statusNav
statusNav,
containerSubgroupTwo
},
data() {
return {
@ -110,10 +119,8 @@
page {
background-color: #F7F7F7;
}
.content{
padding-top: 76rpx;
padding-bottom: 180rpx;
}
.opinion-type{
width: 100%;
height: 80rpx;
@ -121,7 +128,6 @@
padding: 0 40rpx;
border-top: 2rpx solid #EAEAEA;
border-bottom: 2rpx solid #EAEAEA;
margin-top: 24rpx;
background-color: #FFFFFF;
font-size: 36rpx;
font-weight: bold;
@ -197,6 +203,7 @@
color: #9f9898;
}
.feedback-con {
width: 320rpx;
height: 100rpx;
@ -207,20 +214,24 @@
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;
@ -228,6 +239,7 @@
justify-content: space-between;
margin-top: 14rpx;
}
.submit-button {
width: 686rpx;
margin-top: 58rpx;

View File

@ -1,12 +1,14 @@
<template>
<view class="content">
<statusNav navBarTitle="项目详情"></statusNav>
<container-subgroup-two>
<view slot="content" style="margin: -25rpx -30rpx;">
<view class="head-top">
<view class="details-head">
<view class="swiper-head">
<swiper class="swiper" @change="changeAutoplay" :autoplay="autoplay" :interval="interval"
:duration="duration">
>
<swiper-item>
<view class="swiper-item uni-bg-red">
<image class="img" src="../../static/del/img001.png" mode="aspectFill"></image>
@ -221,14 +223,19 @@
</view>
</view>
</view>
</view>
</container-subgroup-two>
</view>
</template>
<script>
import statusNav from "../../components/status-nav.vue"
import containerSubgroupTwo from '@/components/containers/container-subgroup-two.vue';
export default {
components:{
statusNav
statusNav,
containerSubgroupTwo
},
data() {
return {
@ -272,8 +279,6 @@
.content {
padding: 16rpx 0;
padding-top: 80rpx;
padding-bottom: 80rpx;
}
.swiper {

View File

@ -1,6 +1,9 @@
<template>
<view class="content" :style="{paddingTop: statusHeight + 'px'}">
<statusNav navBarTitle="项目列表" :ifReturn="false"></statusNav>
<container-subgroup-two>
<view slot="content" style="margin: -100rpx -30rpx;">
<view class="project-list-input">
<input type="text" class="int" value="" placeholder="请输入关键字" />
<view class="xian">
@ -53,6 +56,10 @@
</view>
</view>
</container-subgroup-two>
<footTabOne :current="1"></footTabOne>
</view>
</template>
@ -60,10 +67,12 @@
<script>
import statusNav from '../../components/status-nav.vue';
import footTabOne from "../../components/foot-tabs/foot-tab-one.vue"
import containerSubgroupTwo from '@/components/containers/container-subgroup-two.vue';
export default {
components: {
footTabOne,
statusNav
statusNav,
containerSubgroupTwo
},
data() {
const currentDate = this.getDate({
@ -113,11 +122,6 @@
background-color: #F7F7F7;
}
.content {
/* padding-top: 76rpx; */
padding-bottom: 160rpx;
}
.project-list-input {
width: 100%;
height: 114rpx;

View File

@ -1,14 +1,16 @@
<template>
<view class="content">
<statusNav :navBarTitle="textTitle"></statusNav>
<container-subgroup-two>
<view slot="content" style="margin:-25rpx 0rpx 0rpx;">
<view class="details-nav">
<view class="li" @click="detailsNavpa(index)" :class="item.state?'on':''"
v-for="(item,index) in detailsNav">
{{item.title}}
</view>
</view>
<swiper class="swiper" @change="swiperCurrentFun" :current="swiperCurrent" :style="'height:'+swiHeight+'px'">
<swiper class="swiper" @change="swiperCurrentFun" :current="swiperCurrent"
:style="'height:'+swiHeight+'px'">
<swiper-item>
<view class="swiper-item uni-bg-red">
<view id="swi1">
@ -228,10 +230,10 @@
</view>
<view class="input add-display">
<view class="">
<image class="img" src="../../static/del/img001.png"
mode="aspectFill"></image>
<image class="img" src="../../static/del/img001.png"
mode="aspectFill"></image>
<image class="img" src="../../static/del/img001.png" mode="aspectFill">
</image>
<image class="img" src="../../static/del/img001.png" mode="aspectFill">
</image>
</view>
</view>
</view>
@ -480,20 +482,28 @@
</view>
</swiper-item>
</swiper>
</view>
</container-subgroup-two>
</view>
</template>
<script>
import containerSubgroupTwo from '@/components/containers/container-subgroup-two.vue';
import statusNav from '../../components/status-nav.vue';
import footTabOne from "../../components/foot-tabs/foot-tab-one.vue"
export default {
components: {
footTabOne,
statusNav
statusNav,
containerSubgroupTwo
},
data() {
return {
swiperCurrent: 0,
swiHeight:0,
textTitle: "工单详情",
isrideo: true,
detailsNav: [{
@ -599,9 +609,7 @@ isrideoFun(is){
</script>
<style>
.content {
padding-top: 80rpx;
}
.content {}
.swiper {
min-height: 88vh;
@ -858,9 +866,11 @@ isrideoFun(is){
.work-order-from .li .add-display {
display: flex;
}
.change-accessory {
background-color: #FFFFFF;
}
.change-accessory .li .img {
width: 185rpx;
height: 185rpx;
@ -903,14 +913,17 @@ isrideoFun(is){
margin-bottom: 12rpx;
color: #666666;
}
.work-order-from .rideo {
display: flex;
}
.work-order-from .isrideo {
display: flex;
align-items: center;
margin-right: 41rpx;
}
.work-order-from .isrideo .icon {
width: 26rpx;
border: 2rpx solid #818181;
@ -921,6 +934,7 @@ isrideoFun(is){
justify-content: center;
align-items: center;
}
.work-order-from .isrideo .icon .icon-content {
width: 19rpx;
height: 19rpx;
@ -931,6 +945,7 @@ isrideoFun(is){
.work-order-from .isrideo .on {
border: 2rpx solid #D81E06;
}
.work-order-from .isrideo .on .icon-content {
background-color: #D81E06
}

View File

@ -1,6 +1,8 @@
<template>
<view class="content">
<statusNav navBarTitle="工单回访"></statusNav>
<container-subgroup-two>
<view slot="content" style="margin: -25rpx -30rpx 0rpx;">
<view class="hint">
客户服务重在回访仔细倾听以服务质量求发展
</view>
@ -49,16 +51,19 @@
</view>
<button class="submit-button" type="default">确认发送</button>
</view>
</container-subgroup-two>
</view>
</template>
<script>
import statusNav from '../../components/status-nav.vue';
import containerSubgroupTwo from '@/components/containers/container-subgroup-two.vue';
export default {
components: {
statusNav,
containerSubgroupTwo,
},
data() {
return {
@ -72,14 +77,14 @@
</script>
<style>
.content{
padding-top: 80rpx;
}
.hint {
color: #358ff0;
font-size: 24rpx;
padding: 25rpx 30rpx;
}
.submit-button {
width: 686rpx;
border-radius: 50rpx;
@ -91,6 +96,7 @@
text-align: center;
font-size: 30rpx;
}
.payReturnVisit-input {
background-color: #FFFFFF;
height: 103rpx;
@ -118,20 +124,24 @@
font-size: 30rpx;
margin-top: 2rpx;
}
.payReturnVisit-from {
background-color: #FFFFFF;
}
.payReturnVisit-textarea {
width: 700rpx;
border-bottom: 2rpx solid #f4f4f4;
margin: auto;
padding-bottom: 30rpx;
}
.payReturnVisit-textarea .title {
padding: 30rpx 0rpx;
font-size: 30rpx;
font-weight: bold;
}
.payReturnVisit-textarea .textarea {
width: 100%;
height: 200rpx;

View File

@ -1,7 +1,8 @@
<template>
<view class="content">
<statusNav navBarTitle="处理工单"></statusNav>
<container-subgroup-two>
<view slot="content" style="margin: 0 -25rpx;">
<view class="work-order-schedule">
<view class="li">
<view class="icon on icon-after">
@ -87,7 +88,9 @@
故障说明
</view>
<textarea auto-height class="input" value="*********************************************************************************************************" placeholder="" />
<textarea auto-height class="input"
value="*********************************************************************************************************"
placeholder="" />
</view>
<view class="li">
<view class="title">
@ -137,16 +140,21 @@
</view>
<button class="submit-button" type="default">签到</button>
</view>
</container-subgroup-two>
</view>
</template>
<script>
import containerSubgroupTwo from '@/components/containers/container-subgroup-two.vue';
import statusNav from '../../components/status-nav.vue';
import footTabOne from "../../components/foot-tabs/foot-tab-one.vue"
export default {
components: {
footTabOne,
statusNav
statusNav,
containerSubgroupTwo
},
data() {
return {
@ -160,10 +168,7 @@
</script>
<style>
.content {
padding-top: 80rpx;
padding-bottom: 80rpx;
}
.submit-button {
width: 686rpx;
border-radius: 50rpx;
@ -175,6 +180,7 @@
text-align: center;
font-size: 30rpx;
}
.work-order-schedule {
display: flex;
padding: 22rpx 29rpx;
@ -241,11 +247,13 @@
flex: 1;
padding-left: 15rpx;
}
.work-order-from .li .input .img {
width: 169rpx;
height: 127rpx;
margin-right: 10rpx;
}
.work-order-from .li .input-black {
color: #292929;
}

View File

@ -1,6 +1,9 @@
<template>
<view class="content">
<status-nav navBarTitle="工单列表" returnColor="#c2c2c2"></status-nav>
<container-subgroup-two>
<view slot="content" style="margin: 0 -25rpx;">
<view class="project-list-input">
<input type="text" class="int" value="" placeholder="请输入关键字" />
<image class="search" src="../../static/iocn/ss.png" mode=""></image>
@ -9,7 +12,6 @@
</view>
</view>
<view class="screen">
<picker @change="bindPickerChange" :value="index" :range="array">
<view class="li">
@ -202,17 +204,22 @@
</view>
</view>
</container-subgroup-two>
<footTabOne :current="1"></footTabOne>
</view>
</template>
<script>
import containerSubgroupTwo from '@/components/containers/container-subgroup-two.vue';
import statusNav from '../../components/status-nav.vue';
import footTabOne from "../../components/foot-tabs/foot-tab-one.vue"
export default {
components: {
footTabOne,
statusNav
statusNav,
containerSubgroupTwo
},
data() {
const currentDate = this.getDate({
@ -263,10 +270,7 @@
background-color: #F7F7F7;
}
.content {
padding-top: 76rpx;
padding-bottom: 140rpx;
}
.project-list-input .xian {
width: 3rpx;
height: 35rpx;
@ -473,7 +477,6 @@
height: 30rpx;
margin-right: 10rpx;
}
.project-list-address .address {
display: flex;
align-items: center;

View File

@ -1,6 +1,9 @@
<template>
<view class="content">
<statusNav navBarTitle="处理工单"></statusNav>
<container-subgroup-two>
<view slot="content" style="margin: 0 -25rpx;">
<view class="work-order-schedule">
<view class="li">
<view class="icon icon-after">
@ -209,12 +212,17 @@
<button class="submit-button" type="default">提交审核</button>
</view>
</container-subgroup-two>
</view>
</template>
<script>
import statusNav from '../../components/status-nav.vue';
import footTabOne from "../../components/foot-tabs/foot-tab-one.vue"
import containerSubgroupTwo from '@/components/containers/container-subgroup-two.vue';
var content = null;
var touchs = [];
var canvasw = 0;
@ -230,7 +238,7 @@
components: {
footTabOne,
statusNav,
containerSubgroupTwo
},
data() {
return {
@ -379,10 +387,7 @@
</script>
<style>
.content {
padding-top: 80rpx;
padding-bottom: 80rpx;
}
.submit-button {
width: 686rpx;
@ -647,20 +652,24 @@
align-items: center;
}
.money-receiving-code .title .icon {
width: 22rpx;
height: 22rpx;
margin-right: 30rpx;
}
.money-receiving-code .title .text {
font-size: 26rpx;
color: #333333;
}
.money-receiving-code .img {
width: 22rpx;
height: 12rpx;
transform: rotateZ(-90deg);
}
.address {
width: 100%;
height: 80rpx;
@ -671,15 +680,18 @@
box-sizing: border-box;
padding: 0rpx 13rpx;
}
.address .icon {
width: 24rpx;
height: 32rpx;
margin-right: 30rpx;
}
.address .text {
font-size: 26rpx;
color: #5d5c5c;
}
.remark {
width: 100%;
margin-top: 13rpx;
@ -688,11 +700,13 @@
height: 360rpx;
box-sizing: border-box;
}
.remark .title {
margin-bottom: 30rpx;
font-size: 28rpx;
font-weight: bold;
}
.remark .textarea {
width: 100%;

View File

@ -1,7 +1,8 @@
<template>
<view class="content">
<statusNav navBarTitle="处理工单"></statusNav>
<container-subgroup-two>
<view slot="content" style="margin: 0 -25rpx;">
<view class="work-order-schedule">
<view class="li">
<view class="icon icon-after">
@ -271,16 +272,22 @@
</view>
</view>
<button class="submit-button" type="default">下一步</button>
</view>
</container-subgroup-two>
</view>
</template>
<script>
import statusNav from '../../components/status-nav.vue';
import footTabOne from "../../components/foot-tabs/foot-tab-one.vue"
import containerSubgroupTwo from '@/components/containers/container-subgroup-two.vue';
export default {
components: {
footTabOne,
statusNav
statusNav,
containerSubgroupTwo
},
data() {
return {
@ -318,10 +325,6 @@ isrideoFun(is){
</script>
<style>
.content {
padding-top: 80rpx;
padding-bottom: 20rpx;
}
.submit-button {
width: 686rpx;