<template> <view class="content"> <statusNav returnColor="#c2c2c2" 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" > <swiper-item> <view class="swiper-item uni-bg-red"> <image class="img" src="../../static/del/img001.png" mode="aspectFill"></image> </view> </swiper-item> <swiper-item> <view class="swiper-item uni-bg-red"> <image class="img" src="../../static/del/img001.png" mode="aspectFill"></image> </view> </swiper-item> <swiper-item> <view class="swiper-item uni-bg-red"> <image class="img" src="../../static/del/img001.png" mode="aspectFill"></image> </view> </swiper-item> </swiper> <view class="indication-point "> {{index}}/3 </view> </view> <view class="title"> 湖南工业大学生化学院会议室P2.5全彩LED显示屏 </view> <view class="code"> XM20220108-1001 </view> <view class="address"> <image class="img" src="../../static/iocn/im.png" mode=""></image> <view class="text"> 湖南省长沙市高新开发区谷园路109号像素大厦1205 </view> </view> </view> <view class="last-date"> <view class="last-date-content"> <image class="icon" src="../../static/iocn/gzzt.png" mode=""></image> <view class="text"> 最近一次故障时间:2021-11-18 17:00:16 </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> </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 { autoplay: true, interval: 3000, index: 1, recordState: [{ title: '维修记录', state: true }, { title: '保养记录', state: false }, { title: '巡检记录', state: false }, ] } }, methods: { changeAutoplay(data) { console.log() 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 } } } </script> <style> page { background-color: #F7F7F7; } .content { padding: 16rpx 0; } .swiper { width: 100%; height: 500rpx; } .swiper .img { height: 500rpx; width: 100%; } .head-top{ position: relative; z-index: 1; margin-top: 15rpx; box-shadow: 0rpx 5rpx 5rpx rgba(0, 0, 0, 0.1); } .details-head { width: 725rpx; margin: auto; padding: 24rpx 12rpx; box-sizing: border-box; height: 682rpx; background-color: #FFFFFF; border-radius: 20rpx; } .swiper-head { position: relative; } .indication-point { width: 102rpx; height: 46rpx; border-radius: 26rpx 0 0 0; right: 0px; bottom: 0rpx; text-align: center; color: #fff; position: absolute; background-color: #e64545; } .details-head .title { font-size: 28rpx; padding: 13rpx 0rpx; } .details-head .code { font-size: 24rpx; padding: 0rpx 0rpx 13rpx 0rpx; color: #ff8800; } .address { display: flex; align-items: center; } .address .img { width: 18rpx; margin-right: 14rpx; height: 24rpx; } .address .text { font-size: 24rpx; color: #666666; } .last-date { width: 100%; padding: 10rpx 13rpx 10rpx; border-bottom: 6rpx solid #E7E7E7; } .last-date-content { width: 100%; height: 57rpx; display: flex; padding-left: 20rpx; align-items: center; border-radius: 10rpx; 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; padding-top: 23rpx; align-items: center; border-bottom: 2rpx solid #ebebeb; margin-top: 2rpx; background-color: #FFFFFF; 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: 26rpx } .project-message-content { display: flex; padding: 30rpx 25rpx 0rpx; background-color: #FFFFFF; border-bottom: 6rpx solid #E7E7E7; position: relative; z-index: 2; 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: 51rpx 50rpx 33rpx; display: flex; margin-top: 4rpx; justify-content: space-between; background-color: #FFFFFF; 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 { padding: 0 52rpx; padding-top: 33rpx; padding-bottom: 40rpx; background-color: #FFFFFF; } .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: 2rpx; 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: 2rpx; position: absolute; left: 9rpx; height: 170rpx; 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>