diff --git a/config.js b/config.js index 6f0d247..8a030a3 100644 --- a/config.js +++ b/config.js @@ -1,12 +1,12 @@ // 应用全局配置 module.exports = { - // baseUrl: 'https://www.nuoyunr.com', + baseUrl: 'https://www.nuoyunr.com', // baseUrl: 'http://192.168.1.17:48080', // baseUrl: "http://192.168.1.4:48080", - baseUrl: "http://localhost:48080", + // baseUrl: "http://localhost:48080", imagesUrl: 'http://shequ.0315e.com/static/images/pages/', baseImageUrl: 'https://www.nuoyunr.com/minio/', - wsUrl: 'wss://www.nuoyunr.com', + wsUrl: 'ws://192.168.1.17:48080', // 应用信息 appInfo: { // 应用名称 diff --git a/pages-order/orderDetail/orderDetail.vue b/pages-order/orderDetail/orderDetail.vue index 904ee36..c641279 100644 --- a/pages-order/orderDetail/orderDetail.vue +++ b/pages-order/orderDetail/orderDetail.vue @@ -3,175 +3,200 @@ - - - + + + 维修类别: + {{ ticketInfo.repairTypeText }} - 服务顾问 - - {{ticketInfo.adviserName}} {{ticketInfo.linkPhone}} + + 当前工单状态: + {{ ticketInfo.statusStr }} + {{ ticketInfo.statusStr }} + {{ ticketInfo.statusStr }} - - 车辆信息 - - - - - {{ ticketInfo.carNo }} - {{ ticketInfo.carBrandName }} - - - - - - 车架号 - {{ ticketInfo.carVin }} - - - - - - - 注册日期 - {{ ticketInfo.carRegisterDate }} - - - - - - - - + + 车辆进厂时间: + {{ ticketInfo.inTime }} + + + 预计竣工时间: + {{ ticketInfo.outTime }} + + + 实际竣工时间: + {{ ticketInfo.realOverDate }} - - 客户信息 - - - - 姓名 - {{ ticketInfo.userName }} - - - 联系方式 - {{ ticketInfo.userMobile || "" }} + + + + + + {{ ticketInfo.carNo }} + {{ ticketInfo.carBrandName+" " }} - {{ticketInfo.carInfo.carModel}} - - - - - + - - 维修项目 - - + + + + 服务顾问:{{ticketInfo.projectList[activeProjTabKey].servicer}} + 施工人员:{{ticketInfo.projectList[activeProjTabKey].worker}} + + + + {{ index + 1 }} + {{ item.itemName }} + + + {{ 6 + index }} + {{ item.itemName }} + + + + {{ ticketInfo.projectList[activeProjTabKey].showAll ? '收起' : '展开' }} + + - - - 维修配件 - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 更换配件清单 + + + {{ item.groupName }} + + + + + + + + {{ index + 1 }} + {{ item.itemName }} + x{{ item.itemCount || "0" }} + + + {{ 6 + index }} + {{ item.itemName }} + x{{ item.itemCount || "0" }} + + + + {{ ticketInfo.waresGroupList[activePartTabKey].showAll ? '收起' : '展开' }} + + + 维修进度记录表 @@ -180,7 +205,7 @@ 维修中 已完成 - + @@ -189,8 +214,7 @@ @@ -215,7 +245,6 @@ - @@ -248,6 +277,8 @@ doingActive: -1, //维修项目进度记录表 list2: [], + activeProjTabKey: 0, + activePartTabKey: 0, }; }, onLoad(data){ @@ -259,7 +290,12 @@ this.getProjItem() }, methods: { - + chooseProjTab(index) { + this.activeProjTabKey = index + }, + choosePartTab(index) { + this.activePartTabKey = index + }, callPhone(phone){ uni.makePhoneCall({ phoneNumber: phone @@ -339,18 +375,43 @@ //注册日期 if (null != resultObj.carInfo.carRegisterDate){ resultObj.carRegisterDate = formatDate(resultObj.carInfo.carRegisterDate) + }else{ + resultObj.carRegisterDate = '未知' + } + //进场日期 + if (null != resultObj.inTime){ + resultObj.inTime = formatDate(resultObj.inTime) + }else{ + resultObj.inTime = '未知' + } + //最近保养日期 + if (null != resultObj.maintenanceDate){ + resultObj.maintenanceDate = formatDate(resultObj.maintenanceDate) + }else{ + resultObj.maintenanceDate = '未知' + } + //最近保养公里数 + if (!resultObj.maintenanceMileage){ + resultObj.maintenanceMileage = '未知' + } + //预计竣工日期 + if (null != resultObj.outTime){ + resultObj.outTime = formatDate(resultObj.outTime) + }else{ + resultObj.outTime = '未知' } //年检时间 - if (null != resultObj.carInfo.inspectionDate){ - resultObj.inspectionDate = formatDate(resultObj.carInfo.inspectionDate) + console.log(resultObj.carInfo) + if (null != resultObj.carInfo.nextInspectionDate){ + resultObj.nextInspectionDate = formatDate(resultObj.carInfo.nextInspectionDate) } else { - resultObj.inspectionDate = '未知' + resultObj.nextInspectionDate = '未知' } //保险时间 - if (null != resultObj.carInfo.insuranceDate) { - resultObj.insuranceDate = formatDate(resultObj.carInfo.insuranceDate) + if (null != resultObj.carInfo.insuranceExpiryDate) { + resultObj.insuranceExpiryDate = formatDate(resultObj.carInfo.insuranceExpiryDate) } else { - resultObj.insuranceDate = '未知' + resultObj.insuranceExpiryDate = '未知' } //生日 if (null != resultObj.customerInfo.birthday) { @@ -358,6 +419,12 @@ } else { resultObj.birthday = '未知' } + //维修记录格式化时间 + if (null != resultObj.records){ + resultObj.records.map((item)=>{ + item.createTime = formatTimestamp(item.createTime) + }) + } console.log(resultObj,"resultObj") this.buildRecords(resultObj) }) @@ -390,6 +457,9 @@ flex: 1; height: 0; overflow: auto; + position: relative; + background-size: 100% 600rpx; + background: linear-gradient(180deg, #CEE5FF 0%, rgba(206, 229, 255, 0) 100%) no-repeat; } .card { @@ -413,7 +483,7 @@ .desc { font-weight: 500; - font-size: 24rpx; + font-size: 28rpx; color: rgba(255, 255, 255, 0.7); } } @@ -449,6 +519,7 @@ } .cardInfo { + overflow: hidden; .noReviewPart { padding: 10rpx 36rpx 10rpx 36rpx; display: flex; @@ -498,16 +569,21 @@ .projTitle, .userTitle, .carTitle { padding: 30rpx; font-weight: bold; - font-size: 32rpx; + font-size: 36rpx; color: #333333; } + .dl-ifcus{ + font-size: 14px; + float: right; + } + .carCard { .orderFlag { display: flex; align-items: center; column-gap: 14rpx; - padding: 40rpx 30rpx; + padding: 20rpx 30rpx; background: #FFFBF3; border-radius: 8rpx 8rpx 0rpx 0rpx; border-top: 8rpx solid #E8A321; @@ -527,7 +603,7 @@ .flagDesc { font-weight: 500; - font-size: 24rpx; + font-size: 28rpx; color: #999999; } } @@ -536,7 +612,7 @@ .carDetail { background-size: 100% 184rpx; - padding: 0 30rpx; + padding: 30rpx 30rpx; .carHeader { border-radius: 8rpx 8rpx 8rpx 8rpx; @@ -550,7 +626,7 @@ .carImage { width: 192rpx; height: 120rpx; - background: #F2F2F7; + //background: #F2F2F7; border-radius: 8rpx 8rpx 8rpx 8rpx; } @@ -559,23 +635,25 @@ flex-direction: column; row-gap: 20rpx; font-weight: bold; - font-size: 32rpx; + font-size: 36rpx; color: #333333; .carType { font-weight: 500; - font-size: 28rpx; + font-size: 32rpx; color: #858BA0; } } } - + .line { + height: 1rpx; + background-color: #ddd; + } .carBody { display: flex; flex-direction: column; row-gap: 30rpx; padding-top: 30rpx; - border-top: 1rpx solid #DDDDDD; } .carFoot { @@ -588,13 +666,15 @@ padding-bottom: 30rpx; .projList { - padding: 0 30rpx; + padding: 0 20rpx; display: flex; flex-direction: column; - gap: 20rpx; + //gap: 20rpx; .tushi-box{ - font-size: 16px; + font-weight: 500; + font-size: 32rpx; + line-height: 40rpx; display: flex; align-items: center; justify-content: center; @@ -606,18 +686,19 @@ .projItem { background: #FFFFFF; - border-radius: 4rpx 4rpx 4rpx 4rpx; - border: 2rpx solid #DDDDDD; + border-radius: 8rpx 8rpx 8rpx 8rpx; + border: 1rpx solid #DDDDDD; padding: 0 20rpx; + margin-bottom: 10rpx; .projTop { padding: 20rpx 0; - border-bottom: 1rpx solid #DDDDDD; + border-bottom: 1rpx solid #eee; display: flex; align-items: center; justify-content: space-between; font-weight: 500; - font-size: 28rpx; + font-size: 32rpx; color: #333333; .projAmount { @@ -631,8 +712,8 @@ .projDate { font-weight: 500; - font-size: 28rpx; - color: #858BA0; + font-size: 30rpx; + color: #636C8C; display: flex; align-items: center; @@ -643,7 +724,7 @@ .projDesc { font-weight: 500; - font-size: 28rpx; + font-size: 30rpx; color: #858BA0; } @@ -674,10 +755,21 @@ } .projEditItem { + margin-bottom: 17rpx; padding: 0 20rpx; background: #F2F2F7; border-radius: 4rpx 4rpx 4rpx 4rpx; - + position: relative; + .del-proj-box{ + position: absolute; + top: -10px; + right: -10px; + } + .del-wares-box{ + position: absolute; + top: 0; + right: 0; + } .projEditLine1 { display: flex; align-items: center; @@ -687,7 +779,7 @@ font-size: 28rpx; color: #333333; - padding: 30rpx 0; + padding: 15rpx 0; .projAmount { color: #0174F6; @@ -697,14 +789,14 @@ .projBaseInfo { display: grid; grid-template-columns: 1fr 1fr; - font-size: 27rpx; + font-size: 28rpx; color: #999999; gap: 20rpx; margin-bottom: 20rpx; } .projEditFoot { - padding: 30rpx 0; + padding: 10rpx 0; border-top: 1px solid #DDDDDD; display: flex; @@ -757,6 +849,193 @@ } } } + .projEditItem { + //margin-bottom: 25rpx; + padding: 0 20rpx 10rpx 20rpx; + border-bottom: 1rpx solid #F2F2F7; + //background: #F2F2F7; + border-radius: 4rpx 4rpx 4rpx 4rpx; + position: relative; + .del-proj-box{ + position: absolute; + top: -10px; + right: -10px; + } + .del-wares-box{ + position: absolute; + top: 0; + right: 0; + } + .projEditLine1 { + display: flex; + align-items: center; + justify-content: space-between; + + font-weight: 500; + font-size: 28rpx; + color: #333333; + + padding: 15rpx 0; + + .projAmount { + color: #0174F6; + } + } + + .projBaseInfo { + display: grid; + grid-template-columns: 1fr 1fr; + font-size: 28rpx; + color: #999999; + gap: 20rpx; + margin-bottom: 20rpx; + } + + .projEditFoot { + padding: 10rpx 0; + border-top: 1px solid #DDDDDD; + + display: flex; + align-items: center; + column-gap: 10rpx; + + .block1, .block2 { + flex: 1; + width: 0; + + display: flex; + align-items: center; + justify-content: center; + column-gap: 8rpx; + + font-size: 28rpx; + color: #0174F6; + line-height: 28rpx; + + .editPeople { + flex: 1; + width: 0; + + display: flex; + justify-content: space-between; + align-items: center; + + .editForm { + display: flex; + flex-direction: column; + row-gap: 10rpx; + font-size: 28rpx; + color: #333333; + + .label { + font-size: 28rpx; + color: #999999; + } + } + } + } + + .line { + height: 28rpx; + width: 2rpx; + background-color: #DDDDDD; + } + + } + } + .projDateCard, .partCard { + line-height: 1; + .projTabs { + display: flex; + overflow: scroll; + .projTabItem { + padding: 10rpx 20rpx 30rpx; + flex-shrink: 0; + font-weight: 500; + font-size: 32rpx; + color: #636C8C; + &.active { + font-weight: bold; + color: #0174F6; + position: relative; + } + .activeLine { + position: absolute; + bottom: 0; + left: 50%; + transform: translateX(-50%); + width: 36rpx; + height: 8rpx; + background: #0174F6; + border-radius: 4rpx 4rpx 4rpx 4rpx; + } + } + } + .projTabsBottomLine { + width: 686rpx; + height: 1rpx; + background-color: #eee; + margin-bottom: 20rpx; + } + .workPerson { + width: 646rpx; + margin: 0 auto; + padding: 30rpx 20rpx; + background: #F3F5F7; + border-radius: 6rpx 6rpx 6rpx 6rpx; + + display: flex; + align-items: center; + justify-content: space-between; + flex-wrap: wrap; + + font-weight: 500; + font-size: 30rpx; + color: #636C8C; + } + + .projList { + padding: 0 20rpx; + .projItem { + padding: 40rpx 0; + font-weight: 500; + font-size: 32rpx; + line-height: 40rpx; + color: #333333; + border-bottom: 1rpx solid #EEEEEE; + display: flex; + column-gap: 10rpx; + } + .projSeq { + width: 40rpx; + height: 40rpx; + background: #0174F6; + border-radius: 50%; + display: inline-block; + text-align: center; + line-height: 40rpx; + font-weight: 500; + font-size: 16px; + color: #FFFFFF; + } + .projName { + flex: 1; + width: 0; + word-break: break-all; + } + .projItem:last-child { + border-bottom: none; + } + } + + .action { + font-weight: 500; + font-size: 30rpx; + color: #0174F6; + text-align: center; + padding-bottom: 30rpx; + } + } .userCard { .userContainer { @@ -769,24 +1048,24 @@ } .infoItem { + padding: 20rpx 0; display: flex; - flex-direction: column; + justify-content: space-between; + font-weight: 500; + font-size: 32rpx; + line-height: 1; .label { - font-weight: 500; - font-size: 28rpx; - color: #858BA0; + color: #636C8C; } .value { - font-weight: 500; - font-size: 28rpx; color: #333333; } } .projFoot, .userFoot, .carFoot { - padding: 30rpx; + padding: 20rpx; font-weight: 500; font-size: 28rpx; color: #0174F6; @@ -816,5 +1095,131 @@ color: #FFFFFF; } } + + .formItem { + padding: 40rpx 0; + margin: 0 32rpx; + border-bottom: 1rpx solid #EEEEEE; + } + + .formLabel { + font-weight: 500; + font-size: 28rpx; + color: #333333; + padding-bottom: 20rpx; + } + + .edit-proj-input{ + background: white; + width: 90%; + padding: 3rpx 5rpx; + border-radius: 5px; + } +} +.orderInfo { + padding: 0 32rpx; + margin: 40rpx 0; + line-height: 1; + display: flex; + flex-direction: column; + .orderTypeInfo { + padding: 10rpx 0; + font-weight: bold; + font-size: 40rpx; + color: #333333; + } + .orderStateInfo { + padding: 10rpx 0; + font-weight: 500; + font-size: 32rpx; + color: #666666; + } + .orderDateInfo { + padding: 10rpx 0; + font-weight: 500; + font-size: 32rpx; + color: #0174F6; + } +} +.processCard { + line-height: 1; + .tushi-box { + display: flex; + align-items: center; + column-gap: 40rpx; + justify-content: center; + padding-bottom: 30rpx; + font-weight: 500; + font-size: 32rpx; + line-height: 40rpx; + } + .processList { + padding: 0 20rpx; + } + .processItem { + display: flex; + column-gap: 14rpx; + margin-bottom: 20rpx; + display: flex; + align-items: stretch; + .left { + padding-bottom: 24rpx; + display: flex; + flex-direction: column; + row-gap: 8rpx; + .processSeq { + width: 32rpx; + height: 32rpx; + background: #0174F6; + border-radius: 18rpx 18rpx 18rpx 18rpx; + font-weight: 500; + font-size: 28rpx; + color: #FFFFFF; + line-height: 32rpx; + text-align: center; + } + .line { + flex: 1; + height: 0; + width: 2rpx; + background-color: #0174f6; + margin: 0 auto; + } + } + .right { + padding-bottom: 20rpx; + border-bottom: 1rpx solid #eee; + display: flex; + flex-direction: column; + row-gap: 20rpx; + .processName { + font-weight: 500; + font-size: 32rpx; + color: #333333; + } + .processDate { + font-weight: 500; + font-size: 28rpx; + color: #858BA0; + } + .processImgList { + display: flex; + gap: 10rpx; + } + .processImgItem { + width: 120rpx; + height: 120rpx; + background-color: #eee; + } + .processSendUser { + display: flex; + column-gap: 10rpx; + font-weight: 500; + font-size: 32rpx; + color: #0174F6; + } + } + } } + diff --git a/uni_modules/uni-steps/components/uni-steps/uni-steps.vue b/uni_modules/uni-steps/components/uni-steps/uni-steps.vue index 6117006..4631bd0 100644 --- a/uni_modules/uni-steps/components/uni-steps/uni-steps.vue +++ b/uni_modules/uni-steps/components/uni-steps/uni-steps.vue @@ -32,7 +32,7 @@ v-for="(item,index) in options" :key="index" :style="{height: direction === 'column'?heightArr[index]+'px':'14px'}"> + > @@ -200,7 +200,7 @@ } .uni-steps__column-text { - padding: 6px 0px; + padding: 10px 0 2px 0; border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: $uni-border-color; @@ -217,9 +217,9 @@ } .uni-steps__column-title { - font-size: 28rpx; - text-align: left; - line-height: 32rpx; + font-weight: 500; + font-size: 32rpx; + line-height: 40rpx; } .uni-steps__row-desc { @@ -229,9 +229,11 @@ } .uni-steps__column-desc { - font-size: 25rpx; + font-size: 30rpx; text-align: left; line-height: 32rpx; + padding: 10rpx 0; + } .uni-steps__row-container { @@ -278,7 +280,7 @@ .uni-steps__column-line { width: 1px; - background-color: #B7BDC6; + //background-color: #B7BDC6; } .uni-steps__row-line--after { @@ -300,20 +302,29 @@ } .uni-steps__row-circle { - width: 20px; - height: 20px; + width: 40rpx; + height: 40rpx; + text-align: center; border-radius: 50%; background-color: #B7BDC6; margin: 0px 3px; + display: inline-block; + line-height: 40rpx; + font-weight: 500; + font-size: 16px; } .uni-steps__column-circle { - width: 20px; - height: 20px; + width: 40rpx; + height: 40rpx; text-align: center; border-radius: 50%; background-color: #B7BDC6; margin: 4px 0px 5px 0px; + display: inline-block; + line-height: 40rpx; + font-weight: 500; + font-size: 16px; } .uni-steps__row-check { diff --git a/utils/utils.js b/utils/utils.js index 651f7c4..4d0da75 100644 --- a/utils/utils.js +++ b/utils/utils.js @@ -37,19 +37,25 @@ function getOrderStatusText(ticketsStatus,workStatus){ let str = ""; if("04"==ticketsStatus){ //待派工 - str = "待派工" - }else if("05"==ticketsStatus || "07"==ticketsStatus){ + str = "待维修" + }else if("05"==ticketsStatus){ //维修中 str = "维修中" }else if("01"==ticketsStatus){ - //待结算 - str = "待取车结算" + //待取车结算 + str = "已竣工" }else if("06"==ticketsStatus){ //挂单/记账 - str = "挂单/记账" + str = "已结算" + }else if("07"==ticketsStatus){ + //待通知客户取车 + str = "已竣工" + }else if("08"==ticketsStatus){ + //已交车 + str = "已交车" }else if("02"==ticketsStatus){ //已结账 - str = "已结账" + str = "已结算" }else if("03"==ticketsStatus){ //已作废 str = "已作废"