This commit is contained in:
许允枞 2025-04-11 10:50:45 +08:00
parent 1abdae0f3f
commit ba779a4aff
2 changed files with 2573 additions and 1386 deletions

1184
pages/index/meetCarOrder.vue Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,14 +1,14 @@
<template>
<view class="content">
<!-- <view class="top-heder">-->
<!-- <view class="t-left" @click="getback()">-->
<!-- <uni-icons type="left" size="18"></uni-icons>-->
<!-- </view>-->
<!-- <view class="t-title">-->
<!-- <text>检测详情</text>-->
<!-- </view>-->
<!-- <view class="t-you"></view>-->
<!-- </view>-->
<!-- <view class="top-heder">-->
<!-- <view class="t-left" @click="getback()">-->
<!-- <uni-icons type="left" size="18"></uni-icons>-->
<!-- </view>-->
<!-- <view class="t-title">-->
<!-- <text>检测详情</text>-->
<!-- </view>-->
<!-- <view class="t-you"></view>-->
<!-- </view>-->
<headersVue titles="检测详情" style="position: static !important;">
<u-icon name="arrow-left" color="#fff" size="18"></u-icon>
</headersVue>
@ -93,14 +93,9 @@
<!-- <text>{{ detailData.workerName }}</text>-->
<!-- </view>-->
<view class="steps-container">
<view
v-for="(item, index) in detailData.workNodes"
:key="index"
class="step-item"
>
<view v-for="(item, index) in detailData.workNodes" :key="index" class="step-item">
<!-- 圆形图标 -->
<view
class="step-circle"
<view class="step-circle"
:class="{'circle-blue': item.type === '1', 'circle-yellow': item.type === '0'}">
</view>
<!-- 项目信息 -->
@ -163,13 +158,15 @@
</view>
</view>
<text class="times" v-if="!item.updateTime">{{ item.createTime }}</text>
<text class="times" v-else style="text-align: center">{{ item.createTime }}<br/><text></text><br/>{{item.updateTime}}</text>
<text class="times" v-else
style="text-align: center">{{ item.createTime }}<br /><text></text><br />{{item.updateTime}}</text>
</view>
<view class="p_box" v-if="index+1 <detailData.stepInfos.length || (item.images.length > 0 || item.content)">
<view class="g_hui" v-if="item.images.length > 0 || item.content">
<view style="margin-bottom: 10px; box-sizing: border-box;" v-if="item.content">{{ item.content }}</view>
<view style="margin-bottom: 10px; box-sizing: border-box;" v-if="item.content">{{ item.content }}
</view>
<view style="display: flex" v-if="item.images">
<u-album :urls="item.imageList" :singleSize="70"></u-album>
</view>
@ -179,7 +176,8 @@
</view>
</view>
<view class="annniu" v-if="detailData.status&&(detailData.status == 0 || detailData.status == 2)&&workNodeStatus == 1"
<view class="annniu"
v-if="detailData.status&&(detailData.status == 0 || detailData.status == 2)&&workNodeStatus == 1"
@click="hge = true;getProject();cancelInterval()">
<view class="">结束检测</view>
</view>
@ -199,9 +197,9 @@
<view class="on-inputx">
<text>施工图片</text>
</view>
<!-- :sizeType="['compressed']" 压缩图片参数-->
<u-upload :sizeType="['compressed']" :fileList="fileList1" @afterRead="afterRead" @delete="deletePic" name="1" multiple
:maxCount="10"></u-upload>
<!-- :sizeType="['compressed']" 压缩图片参数-->
<u-upload :sizeType="['compressed']" :fileList="fileList1" @afterRead="afterRead" @delete="deletePic"
name="1" multiple :maxCount="10"></u-upload>
<view class="t-title">是否合格</view>
<view class="on-inputx">
@ -275,8 +273,7 @@
<text>备注</text>
</view>
<u--textarea v-model="payRemark" placeholder="如果存在组合付款方式,请在备注中描述清楚"
border="bottom"></u--textarea>
<u--textarea v-model="payRemark" placeholder="如果存在组合付款方式,请在备注中描述清楚" border="bottom"></u--textarea>
<view class="bottomx" @click="tiijiao()" style="margin-top: 10px;">
@ -288,25 +285,25 @@
<u-picker :show="bankShow" :columns="bankList" @confirm="chooseBank" @cancel="bankShow=false"
keyName="label"></u-picker>
<u-picker :show="showLeadMan" :columns="leadManList" :defaultIndex="defaultIndex" @confirm="confirmLeadMan"
@cancel="cancelLeadMan"
keyName="nickname"></u-picker>
@cancel="cancelLeadMan" keyName="nickname"></u-picker>
<uni-popup ref="alertDialog" type="dialog">
<uni-popup-dialog cancelText="关闭" confirmText="确定" title="通知" content="您确定制证完成吗"
@confirm="dialogConfirm"
<uni-popup-dialog cancelText="关闭" confirmText="确定" title="通知" content="您确定制证完成吗" @confirm="dialogConfirm"
@close="dialogClose"></uni-popup-dialog>
</uni-popup>
</view>
</template>
<script>
import config from '@/config'
import request from '../../utils/request';
import upload from '@/utils/upload.js'
import headersVue from "@/components/header/headers.vue";
import config from '@/config'
import request from '../../utils/request';
import upload from '@/utils/upload.js'
import headersVue from "@/components/header/headers.vue";
export default {
components: {headersVue},
export default {
components: {
headersVue
},
data() {
return {
baseImageUrl: this.$baseImageUrl,
@ -325,7 +322,7 @@ export default {
hge: false,
roleSelect: '',
orImages: false,
isShowClient:true,
isShowClient: true,
show: false,
xling: false,
leadManList: [],
@ -383,7 +380,7 @@ export default {
if (this.workNodeStatus == '1') {
this.isExamines()
}
if (this.inspectionInfoId){
if (this.inspectionInfoId) {
this.judgeUpdateLeadMan()
}
this.getindex()
@ -399,8 +396,7 @@ export default {
//
this.timer = setInterval(this.getindex, 10000);
},
onShow() {
},
onShow() {},
onHide() {
clearInterval(this.timer);
this.timer = null
@ -410,7 +406,7 @@ export default {
this.timer = null;
},
methods: {
judgeUpdateLeadMan(){
judgeUpdateLeadMan() {
request({
url: '/system/info/judgeUpdateLeadMan?id=' + this.inspectionInfoId,
method: 'get'
@ -418,7 +414,7 @@ export default {
this.isChangeLeadMan = res.data
})
},
cancelInterval(){
cancelInterval() {
if (this.timer) {
clearInterval(this.timer);
this.timer = null;
@ -471,7 +467,10 @@ export default {
const index = subArray.findIndex(item => item.id === this.detailData.leadManId);
if (index !== -1) {
//
return {subArrayIndex, itemIndex: index};
return {
subArrayIndex,
itemIndex: index
};
} else {
// null undefined
return null;
@ -639,6 +638,7 @@ export default {
uni.showToast({
title: "成功",
})
uni.$emit('refresh')
uni.navigateBack();
}
if (res.code == 500) {
@ -752,8 +752,8 @@ export default {
}
this.bankList.push(tempList)
}
}catch (e) {
console.log(e,'查询错误')
} catch (e) {
console.log(e, '查询错误')
}
},
@ -777,16 +777,13 @@ export default {
this.xling = false
},
openxl(e) {
},
close(e) {
},
openxl(e) {},
close(e) {},
confirm(e) {
this.show = false,
this.lei = e.value[0].label
},
change(e) {
},
change(e) {},
cancel(e) {
this.show = false
},
@ -839,21 +836,21 @@ export default {
clearInterval(this.timer);
}
}
}
}
</script>
<style scoped lang="scss">
image {
image {
width: 100%;
height: 100%;
}
}
.lantong {
.lantong {
background-color: #0174F6 !important;
color: white;
}
}
.lan-box {
.lan-box {
font-size: 14px;
margin: 5px 10px;
padding: 5px;
@ -861,25 +858,25 @@ image {
background-color: #F4F4F4;
border-radius: 4px;
}
}
.warp-box {
.warp-box {
width: 100%;
display: flex;
align-items: center;
flex-wrap: wrap;
}
}
.content {
.content {
box-sizing: border-box;
width: 100%;
height: 100%;
background: #fff;
}
}
.top-heder {
.top-heder {
width: 100%;
// height: 46px;
background: white;
@ -891,24 +888,24 @@ image {
padding-top: 45px;
padding-bottom: 15px;
margin-bottom: 10px;
}
}
.t-title {
.t-title {
font-size: 17px;
font-weight: bold;
color: #333333;
}
}
.t-left {
.t-left {
width: 10%;
}
}
.t-you {
.t-you {
height: 100%;
width: 10%;
}
}
.x-box {
.x-box {
width: 95%;
margin: 10px auto;
background: #FFFFFF;
@ -924,9 +921,9 @@ image {
// display: flex;
// align-items: center;
// justify-content: center;
}
}
.p_box {
.p_box {
position: relative;
width: 90%;
margin: 0 auto;
@ -935,25 +932,25 @@ image {
//border-left: 1px dashed #DEE1EA;
border-left: 1px dashed #0d2e8d;
}
}
.g_hui {
.g_hui {
background: #F4F5F8;
border-radius: 16rpx 16rpx 16rpx 16rpx;
box-sizing: border-box;
padding: 10px;
}
}
.p_titel {
.p_titel {
width: 90%;
margin: 0 auto;
box-sizing: border-box;
position: relative;
}
}
.bottomx {
.bottomx {
margin: 0 auto;
width: 225px;
height: 46px;
@ -964,9 +961,9 @@ image {
align-items: center;
justify-content: center;
//color: #0174F6;
}
}
.bottomxx {
.bottomxx {
position: fixed;
right: 10px;
bottom: 150px;
@ -981,18 +978,18 @@ image {
justify-content: center;
color: white;
z-index: 999;
}
}
.touxiang {
.touxiang {
width: 50px;
height: 50px;
border-radius: 50%;
overflow: hidden;
margin: 10px auto;
}
}
.sanniu {
.sanniu {
width: 105px;
height: 35px;
background: #0D2E8D;
@ -1005,9 +1002,9 @@ image {
color: #FFFFFF;
line-height: 15px;
margin: 0 auto;
}
}
.xiamxia {
.xiamxia {
width: 30%;
height: 30px;
background: linear-gradient(180deg, #3F61C0 0%, #0D2E8D 100%);
@ -1020,9 +1017,9 @@ image {
color: #FFFFFF;
line-height: 15px;
margin: 15px auto;
}
}
.annniu {
.annniu {
width: 90%;
height: 45px;
background: linear-gradient(180deg, #3F61C0 0%, #0D2E8D 100%);
@ -1035,9 +1032,9 @@ image {
color: #FFFFFF;
line-height: 15px;
margin: 15px auto;
}
}
.banniu {
.banniu {
width: 20%;
height: 30px;
background: linear-gradient(180deg, #3F61C0 0%, #0D2E8D 100%);
@ -1048,33 +1045,32 @@ image {
font-size: 15px;
font-weight: 400;
color: #FFFFFF;
}
}
.box {
}
.box {}
.box-dis {
.box-dis {
box-sizing: border-box;
padding: 15px 0px;
// border-bottom: 1px solid #EEEEEE;
display: flex;
align-items: center;
}
}
.shop-img {
.shop-img {
width: 150px;
height: 150px;
border-radius: 8px;
overflow: hidden;
margin-right: 10px;
}
}
.ds-right {
.ds-right {
width: 55%;
}
}
.dis-hui {
.dis-hui {
width: 100%;
display: flex;
align-items: center;
@ -1082,24 +1078,24 @@ image {
font-weight: 400;
color: #999999;
margin-bottom: 5px;
}
}
.times {
.times {
font-size: 14px;
font-weight: 600;
color: #999999;
margin-left: 25px;
}
}
.h-title {
.h-title {
font-size: 16px;
font-weight: bold;
color: #333333;
margin-bottom: 5px;
}
}
.box-top {
.box-top {
box-sizing: border-box;
//padding: 15px;
border-bottom: 1px solid #EEEEEE;
@ -1108,9 +1104,9 @@ image {
align-items: center;
justify-content: space-around;
margin-bottom: 15px;
}
}
.t-input {
.t-input {
width: 90%;
margin: 20px auto;
border: 1px solid #0D2E8D;
@ -1118,61 +1114,61 @@ image {
box-sizing: border-box;
padding: 2px 5px;
}
}
.on-input {
.on-input {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
margin: 15px auto;
}
}
.on-inputx {
.on-inputx {
width: 100%;
display: flex;
align-items: center;
margin: 15px auto;
}
}
.bottom-input {
.bottom-input {
border-top: 1px solid #F4F4F4;
box-sizing: border-box;
padding-top: 20px;
display: flex;
justify-content: space-between;
width: 100%;
}
}
.o-left {
.o-left {
font-size: 15px;
font-weight: 400;
color: #666666;
}
}
.o-right {
.o-right {
font-size: 15px;
font-weight: 400;
color: #333333;
}
}
.o-zui {
.o-zui {
font-size: 20px;
font-weight: 500;
color: #333333;
}
}
.popup-box {
.popup-box {
overflow: hidden;
border-radius: 8px;
box-sizing: border-box;
padding: 15px;
width: 100%;
background-color: white;
}
}
.sousuo {
.sousuo {
width: 95%;
margin: 0 auto;
margin-left: 0px;
@ -1189,24 +1185,24 @@ image {
input {
width: 80%;
}
}
}
.list-box {
.list-box {
width: 100%;
height: 300px;
overflow: hidden;
box-sizing: border-box;
}
}
.list_scroll {
.list_scroll {
height: 100%; //
display: flex;
flex-direction: column;
}
}
.list-qiu {
.list-qiu {
width: 95%;
border-bottom: 1px solid #EEEEEE;
box-sizing: border-box;
@ -1214,16 +1210,16 @@ image {
display: flex;
justify-content: space-between;
align-items: center;
}
}
.tel {
.tel {
margin-left: 5px;
font-size: 15px;
font-weight: 400;
color: #666666;
}
}
.bd-tel {
.bd-tel {
width: 100%;
border-top: 1px solid #EEEEEE;
box-sizing: border-box;
@ -1233,17 +1229,17 @@ image {
justify-content: center;
color: #0D2E8D;
}
}
.imgs-warp {
.imgs-warp {
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
margin-top: 10px;
}
}
.imgss {
.imgss {
width: 32%;
height: 110px;
overflow: hidden;
@ -1253,9 +1249,9 @@ image {
height: 100%;
}
}
}
.anniu {
.anniu {
box-sizing: border-box;
padding: 2px 10px;
margin: 0px 10px;
@ -1267,9 +1263,9 @@ image {
display: flex;
align-items: center;
justify-content: center;
}
}
.an {
.an {
box-sizing: border-box;
padding: 2px 10px;
margin: 0px 10px;
@ -1281,15 +1277,15 @@ image {
display: flex;
align-items: center;
justify-content: center;
}
}
.box_ {
.box_ {
width: 100%;
display: flex;
flex-wrap: wrap;
}
}
.box_button {
.box_button {
border-radius: 6px;
border: 1px solid #999;
display: flex;
@ -1300,9 +1296,9 @@ image {
padding: 5px 10px;
margin-right: 5px;
margin-bottom: 5px;
}
}
.box_button_x {
.box_button_x {
border-radius: 6px;
border: 1px solid #0D2E8D;
display: flex;
@ -1315,9 +1311,9 @@ image {
margin-bottom: 5px;
background: #0D2E8D;
color: #fff;
}
}
.qiu_ {
.qiu_ {
width: 25px;
height: 25px;
display: flex;
@ -1331,9 +1327,9 @@ image {
//position: absolute;
//left: -10x;
//top: 0px;
}
}
.xb_ {
.xb_ {
width: 13%;
height: 35px;
@ -1344,65 +1340,72 @@ image {
color: #0D2E8D;
font-size: 40px;
font-weight: bold;
}
}
.steps-container {
.steps-container {
display: flex;
flex-wrap: wrap; /* 自动换行 */
justify-content: space-between; /* 均匀分布 */
gap: 10px; /* 控制横向和纵向间距 */
}
flex-wrap: wrap;
/* 自动换行 */
justify-content: space-between;
/* 均匀分布 */
gap: 10px;
/* 控制横向和纵向间距 */
}
.step-item {
.step-item {
display: flex;
align-items: center; /* 图标和文字垂直居中对齐 */
width: 31%; /* 每行展示三个 */
align-items: center;
/* 图标和文字垂直居中对齐 */
width: 31%;
/* 每行展示三个 */
text-align: left;
margin-bottom: 20px;
}
}
.step-circle {
.step-circle {
width: 18px;
height: 18px;
border-radius: 50%;
background: linear-gradient(to right, #F1F1F1, #858899);
box-shadow: 0px 0px 0px 2px rgba(0, 0, 0, 0.3);
flex-shrink: 0;
margin-right: 5px; /* 圆点和文字的间距 */
}
margin-right: 5px;
/* 圆点和文字的间距 */
}
.circle-blue {
.circle-blue {
background: linear-gradient(to right, #80BCFF, #0174F6) !important;
box-shadow: 0px 0px 0px 2px rgba(0, 0, 0, 0.3);
}
}
.circle-yellow {
.circle-yellow {
background: linear-gradient(to right, #FFD78C, #FFB323) !important;
}
}
.step-content {
.step-content {
font-size: 16px;
line-height: 20px; /* 与图标高度对齐 */
line-height: 20px;
/* 与图标高度对齐 */
color: #333;
}
}
.r-two-box {
.r-two-box {
width: 100%;
background: #F4F5F8;
border-radius: 8px;
box-sizing: border-box;
padding: 10px;
margin-bottom: 15px;
}
}
.h-two-box {
.h-two-box {
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
}
}
.h-two-r {
.h-two-r {
display: flex;
align-items: center;
font-size: 30rpx;
@ -1414,28 +1417,28 @@ image {
margin-right: 5px;
}
}
}
.h_title {
.h_title {
font-size: 24rpx;
color: #999999;
margin-bottom: 5px;
}
}
.h_name {
.h_name {
font-size: 28rpx;
color: #333333;
}
}
.jc_title {
.jc_title {
font-weight: bold;
font-size: 28rpx;
color: #333333;
}
}
.jc_name {
.jc_name {
font-weight: 500;
font-size: 28rpx;
color: #9AA0B0;
}
}
</style>