reportUni.vue 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230
  1. <template>
  2. <view class="content">
  3. <!-- <homenav :iStatusBarHeight="iStatusBarHeight" :title="'检测报告'" ></homenav> -->
  4. <view class="car-report-main newjcbgD">
  5. <view class="car-report newcar-report">
  6. <view class="top" >
  7. <view class="orderState">
  8. <image src="../../static/img/icon_order_def.png" mode="" style="width: 44rpx;height: 44rpx;">
  9. </image>
  10. <view class="SheetState">检测报告</view>
  11. </view>
  12. </view>
  13. <!-- 店铺信息 -->
  14. <view class="shopBox">
  15. <view style="width: 40rpx; height: 40rpx;">
  16. <image src="../../static/img/icon_store.png" mode="" class="shopBoximg"></image>
  17. </view>
  18. <view class="shopCont">
  19. <view class="shopName">{{detailData.shopName}}</view>
  20. <view class="Address">
  21. {{detailData.shopAddress}}
  22. </view>
  23. </view>
  24. <!-- <view class="shopRightBox" @click="map">
  25. <image src="../../static/img/icon_ditu.png" mode="" class="shopRightImg"></image>
  26. <view class="shopRihgtTxt">地图</view>
  27. </view> -->
  28. <!-- <view class="shopsx"></view> -->
  29. <view class="shopRightBox" @click="call">
  30. <image src="../../static/img/icon_phone.png" mode="" class="shopRightImg"></image>
  31. <view class="shopRihgtTxt">电话</view>
  32. </view>
  33. </view>
  34. <!-- 车辆信息 -->
  35. <view class="carinfoBox">
  36. <view class="carinfoBoxTop">
  37. <view style="width: 40rpx; height: 40rpx;">
  38. <image v-if="detailData.brandLogo" :src="detailData.brandLogo" mode="" class="shopRightImg">
  39. </image>
  40. <image v-else src="../../static/img/icon_che.png" mode="" class="shopRightImg"></image>
  41. </view>
  42. <view class="carinfoBoxTopCont">
  43. <view class="carinfoBoxTopContTop">
  44. <view class="carInfoplateNumber">{{detailData.licensePlateNumber}}</view>
  45. <view class="carTnfomilage" v-if="detailData.currentMileage">
  46. {{detailData.currentMileage}}km
  47. </view>
  48. </view>
  49. <view class="carInfocarModel" v-if="detailData.carModel">{{detailData.carModel}}</view>
  50. <view class="carInfocarModel" v-else>暂无</view>
  51. <view class="workBox">
  52. <image src="../../static/img/icon_order_jiedai.png" mode=""
  53. style="width: 27rpx; height: 29rpx;"></image>
  54. <view class="workName" v-if="detailData.workerName">{{detailData.workerName}}</view>
  55. <view class="workName" v-if="detailData.time">{{detailData.time}}</view>
  56. </view>
  57. </view>
  58. </view>
  59. <view class="car-report-item questionBox">
  60. <view class="car-report-statistics">
  61. <view class="car-report-statistics-item">
  62. <p style="font-size: 24rpx;">急需处理</p>
  63. <h3 class="report-color-red" style="font-size: 28rpx;">
  64. {{detailData.ultimateOutcome&&detailData.ultimateOutcome[3]&&detailData.ultimateOutcome[3].length||0}}
  65. </h3>
  66. </view>
  67. <view class="car-report-statistics-item">
  68. <p style="font-size: 24rpx;">密切关注</p>
  69. <h3 class="report-color-yellow" style="font-size: 28rpx;">
  70. {{detailData.ultimateOutcome&&detailData.ultimateOutcome[2]&&detailData.ultimateOutcome[2].length||0}}
  71. </h3>
  72. </view>
  73. <view class="car-report-statistics-item">
  74. <p style="font-size: 24rpx;">状态良好</p>
  75. <h3 class="report-color-green" style="font-size: 28rpx;">
  76. {{detailData.ultimateOutcome&&detailData.ultimateOutcome[1]&&detailData.ultimateOutcome[1].length||0}}
  77. </h3>
  78. </view>
  79. </view>
  80. </view>
  81. </view>
  82. <view v-for="status in listData">
  83. <view :key="status.valueType">
  84. <view class="car-report-item flex"
  85. :class="{'report-warning':status.valueType===2,'report-error':status.valueType===3,'report-ok':status.valueType===1}"
  86. @click="ckd(status)">
  87. <view class="report-status-count">{{status.value&&status.value.length||0}}项</view>
  88. <view class="report-status">
  89. <h3>{{status.name}}</h3>
  90. <p v-if="status.valueType===1&&!status.show">点击查看详情</p>
  91. <p v-else>{{status.message}}</p>
  92. </view>
  93. <image class="icon-select-down" v-if="status.show" src="../../static/img/icon_arrow_up.png"
  94. mode=""></image>
  95. <image class="icon-select-down" v-else src="../../static/img/icon_arrow_down.png" mode="">
  96. </image>
  97. </view>
  98. <!-- <collapse-transition> -->
  99. <view v-show="status.show">
  100. <view class="car-report-item" v-for="item in status.value" :key="item.name">
  101. <view class="car-report-item-title"
  102. :class="{'warning-title':status.valueType===2,'error-title':status.valueType===3,'ok-title':status.valueType===1}">
  103. <h3 class="carjcdItemname">{{item.name}}</h3>
  104. <h4 class="carjcZt"><i class="title-icon"></i>{{status.name}}</h4>
  105. </view>
  106. <view class="car-report-item-info">
  107. <view v-if="item.SectionType===0">
  108. <view class="nameBox" v-for="(item2,index) in item.value" :key="index">
  109. <view class="contentB2">
  110. <view class="leftName">{{item2.ItemName}}:</view>
  111. <view v-if="item2.Value" class="itemValue">{{item2.Value}}</view>
  112. </view>
  113. <view class="kuang"
  114. :class="{'report-color-red':item2.ValueType===3,'report-color-yellow':item2.ValueType===2}">
  115. {{item2.ValueType===3?'急需处理':item2.ValueType===2?'密切关注':'状态良好'}}</view>
  116. </view>
  117. <view class="contentB">
  118. <view class="leftT">备注:</view>
  119. <view v-if="item.Comment" class="contentStr">{{item.Comment}}</view>
  120. </view>
  121. <view class="contentB">
  122. <view class="leftT">说明:</view>
  123. <view v-if="item.Describe" class="contentStr">{{item.Describe}}</view>
  124. </view>
  125. </view>
  126. <view class="warning-lamp" v-if="item.SectionType===2">
  127. <span v-for="(item2,index) in item.value" :key="index"
  128. class="lamp-item error-lamp"
  129. :class="[{'check':item2.IsSelect},{'img4':(index+1)%4==0}]"
  130. v-bind:style="{'background-image':'url('+item2.ItemIcon+')'}"></span>
  131. </view>
  132. <view v-if="item.SectionType===1">
  133. <view class="car-report-rv">
  134. <img :src="item.SectionPic" style="width: 100%; height: 100%;" alt="图片加载失败">
  135. </view>
  136. <view class="car-report-rv-buttom"></view>
  137. </view>
  138. <view class="video-button carjcvideo-button" v-if="item.VideoName&&!item.showVideo">
  139. <view class="video-play" @click="ckVideo(item)"></view>
  140. {{item.VideoName}}
  141. </view>
  142. <view class="image-list">
  143. <view class="image-list-item" v-for="(file,index) in item.photoPath"
  144. :key="file.id">
  145. <img mode='aspectFit' :src="file" @click="sphotos(item.photoPath,index)" class="image-list-item-img"/>
  146. </view>
  147. </view>
  148. <view class="video-wrapper" v-if="item.showVideo">
  149. <video :src="item.VideoURL"></video>
  150. <!-- <video-player class="vjs-custom-skin" :options="getPlayerOptions(item.VideoURL)"></video-player> -->
  151. </view>
  152. <view class="car-report-remarks" v-if="item.SectionType&&item.Comment">
  153. <p><span>备注:</span>{{item.Comment}} </p>
  154. </view>
  155. </view>
  156. </view>
  157. </view>
  158. <!-- </collapse-transition> -->
  159. </view>
  160. </view>
  161. </view>
  162. </view>
  163. <!-- 手机号授权 -->
  164. <view class="authorizBox" v-if="authorizShow" @click="authorizShow=false">
  165. <view class="authorizCont" @click.stop="">
  166. <view class="authorizName">{{wxOpenData.miniAppName}}</view>
  167. <view class="authorizMs">您好,欢迎访问本店,授权手机号登录能获取我们最新的促销活动哦~</view>
  168. <button class="authorizContbutton" type="default" open-type="getPhoneNumber"
  169. @getphonenumber="decryptPhoneNumber">授权</button>
  170. </view>
  171. <view style="text-align: center;padding-top: 56rpx;">
  172. <image src="../../static/img/icon_guanbi@2x.png" mode="" class="authorizCloseImg"></image>
  173. </view>
  174. </view>
  175. </view>
  176. </template>
  177. <script>
  178. //import homenav from "../../components/homenav/nav.vue"
  179. export default {
  180. components: {
  181. //homenav
  182. },
  183. data() {
  184. return {
  185. detailData: {},
  186. listData: {},
  187. id: '',
  188. userInfo: '',
  189. ext: '',
  190. wxOpenData: '',
  191. authorizShow: false,
  192. code: '',
  193. iStatusBarHeight:'',
  194. }
  195. },
  196. onLoad(opt) {
  197. //this.iStatusBarHeight = uni.getSystemInfoSync().statusBarHeight;
  198. uni.setNavigationBarTitle({
  199. title: '检测报告' // 设定新标题
  200. });
  201. this.id = opt.id;
  202. this.getDetail()
  203. /* this.userInfo = this.$store.state.userInfo;
  204. this.ext = this.$common.getExtStoreId();
  205. if (this.userInfo) {
  206. if (this.id) {
  207. this.getDetail()
  208. }
  209. } else {
  210. this.$common.automaticlogin().then(val => {
  211. this.userInfo = this.$store.state.userInfo;
  212. this.wxOpenData = this.$store.state.wxOpenData;
  213. this.themeColor = uni.getStorageSync("themeColor");
  214. if (this.id) {
  215. this.getDetail()
  216. }
  217. if(!this.userInfo){
  218. this.authorizShow=true
  219. }
  220. })
  221. }*/
  222. },
  223. methods: {
  224. sphotos(arr,index){
  225. uni.previewImage({
  226. urls: arr,
  227. current: index,
  228. longPressActions: {
  229. itemList: ['发送给朋友', '保存图片', '收藏'],
  230. success: function(data) {
  231. console.log('选中了第' + (data.tapIndex + 1) + '个按钮,第' + (data.index + 1) + '张图片');
  232. },
  233. fail: function(err) {
  234. console.log(err.errMsg);
  235. }
  236. }
  237. });
  238. },
  239. call() {
  240. uni.makePhoneCall({
  241. phoneNumber: this.detailData.mobilePhone
  242. });
  243. },
  244. decryptPhoneNumber: function(e) {
  245. console.log(e);
  246. this.code = e.detail.code
  247. this.wxPhoneLogin()
  248. this.authorizShow = false;
  249. },
  250. wxPhoneLogin() {
  251. var that = this;
  252. this.$http('miniApp2/sys/wxPhoneLogin', {
  253. appId: this.ext.appId,
  254. unionId: this.ext.unionId,
  255. code: this.code,
  256. openId: this.wxOpenData.openid
  257. }, 'POST').then(res => {
  258. var data = res.data;
  259. if (data.loginInfo) {
  260. this.userInfo = data.loginInfo.openUser;
  261. this.wxOpenData = data.loginInfo;
  262. this.$store.commit('mutationswxOpenData', data)
  263. this.$store.commit('mutationsuserInfo', this.userInfo)
  264. this.getDetail()
  265. }
  266. })
  267. },
  268. ckd(status) {
  269. status.show = !status.show
  270. },
  271. ckVideo(item) {
  272. console.log("点击视频")
  273. item.showVideo = !item.showVideo
  274. },
  275. getPlayerOptions(url) {
  276. return {
  277. // videojs options
  278. muted: true,
  279. language: 'zh',
  280. width: document.documentElement.clientWidth - 40,
  281. height: (document.documentElement.clientWidth - 40) / 16 * 9,
  282. playbackRates: [0.7, 1.0, 1.5, 2.0],
  283. sources: [{
  284. type: 'video/mp4',
  285. src: url
  286. }]
  287. }
  288. },
  289. getDetail() {
  290. this.$http('opencheckReport/getTestReportDetails', {
  291. sheetId: this.id
  292. }, 'GET').then(res => {
  293. let data = [{
  294. name: '急需处理',
  295. value: res.data.ultimateOutcome[3],
  296. valueType: 3,
  297. message: '以下项存在异常,请尽快去处理哟~',
  298. show: true
  299. }, {
  300. name: '密切关注',
  301. value: res.data.ultimateOutcome[2],
  302. valueType: 2,
  303. message: '以下项需保持关注~',
  304. show: true
  305. }, {
  306. name: '状态良好',
  307. value: res.data.ultimateOutcome[1],
  308. valueType: 1,
  309. message: '以下项没有异常,请保持定期检测哟~',
  310. show: false
  311. }]
  312. data.forEach((item, index) => {
  313. item.value && item.value.forEach((item2, index2) => {
  314. this.$set(item2, 'name', Object.keys(item2)[0])
  315. this.$set(item2, 'value', item2[Object.keys(item2)[0]])
  316. this.$set(item2, 'showVideo', false)
  317. this.$set(item2, 'VideoName', item2.value[0].VideoName)
  318. this.$set(item2, 'VideoURL', item2.value[0].VideoURL)
  319. this.$set(item2, 'photoPath', item2.value[0].photoPath && item2.value[
  320. 0].photoPath.split(',') || [])
  321. this.$set(item2, 'Comment', item2.value[0].Comment)
  322. this.$set(item2, 'Describe', item2.value[0].Describe)
  323. this.$set(item2, 'SectionType', item2.value[0].SectionType)
  324. this.$set(item2, 'SectionPic', item2.value[0].SectionPic)
  325. })
  326. })
  327. console.log(data)
  328. this.detailData = res.data
  329. this.listData = data
  330. })
  331. }
  332. }
  333. }
  334. </script>
  335. <style scoped lang="scss">
  336. .image-list {
  337. display: block;
  338. }
  339. .image-list-item {
  340. vertical-align: top;
  341. position: relative;
  342. display: inline-block;
  343. width: 25%;
  344. margin: 4rpx auto;
  345. }
  346. .image-list-item .image-list-item-img{
  347. width: 160rpx;
  348. height: 160rpx;
  349. }
  350. .remove {
  351. position: absolute;
  352. text-align: center;
  353. line-height: 20rpx;
  354. border-radius: 50%;
  355. font-size: 20rpx;
  356. font-weight: 700;
  357. color: rgb(255, 255, 255);
  358. right: 10%;
  359. top: 0px;
  360. height: 20rpx;
  361. width: 20rpx;
  362. background-color: gray;
  363. display: block;
  364. }
  365. img {
  366. display: block;
  367. width: 85rpx;
  368. height: 85rpx;
  369. vertical-align: center;
  370. border: 1px solid rgba(247, 247, 247, 1);
  371. border-radius: 10rpx;
  372. object-fit: contain;
  373. cursor: pointer;
  374. }
  375. .newjcbgD .newcar-report {
  376. // background: url('http://dmsphoto.66km.com.cn/thFiles/58BF776D-0B1D-420A-A7C1-BAE6FA7E8695.png') no-repeat;
  377. background-size: 100%;
  378. position: relative;
  379. background: #F7F7F7;
  380. }
  381. .newcar-reportTs {
  382. font-size: 44rpx;
  383. color: #ffffff;
  384. font-weight: 600;
  385. position: absolute;
  386. top: 50rpx;
  387. left: 24rpx;
  388. }
  389. .car-report {
  390. // background: url("http://dmsphoto.66km.com.cn/thFiles/B5701B43-38A7-48A9-928D-7C8CCCE750D6.png") 100% -70px no-repeat;
  391. background-size: contain;
  392. padding: 0 20rpx 20rpx 20rpx;
  393. }
  394. .car-report-title {
  395. margin-top: 140rpx;
  396. }
  397. .report-title-box {
  398. h4 {
  399. margin-left: 10rpx;
  400. margin-bottom: 30rpx;
  401. .car-list-container-title {
  402. h5,
  403. h3,
  404. .km-con {
  405. color: white;
  406. }
  407. }
  408. }
  409. }
  410. .car-list-container-icon {
  411. width: 72rpx;
  412. height: 72rpx;
  413. display: inline-block;
  414. }
  415. .car-list-container-title {
  416. display: inline-block;
  417. padding-left: 10rpx;
  418. >h5 {
  419. height: 36rpx;
  420. font-size: 32rpx;
  421. font-weight: 600;
  422. color: rgba(51, 51, 51, 1);
  423. line-height: 36rpx;
  424. display: inline-block;
  425. margin-right: 10rpx;
  426. }
  427. .km-con {
  428. height: 33rpx;
  429. font-size: 24rpx;
  430. font-weight: 400;
  431. color: rgba(102, 102, 102, 1);
  432. line-height: 33rpx;
  433. border-radius: 5rpx;
  434. border: 2rpx solid rgba(221, 221, 221, 1);
  435. display: inline-block;
  436. padding: 2rpx 11rpx;
  437. transform: translateY(-4rpx);
  438. }
  439. >h3 {
  440. width: 550rpx;
  441. height: 33rpx;
  442. font-size: 24rpx;
  443. font-weight: 400;
  444. color: rgba(153, 153, 153, 1);
  445. line-height: 33rpx;
  446. }
  447. }
  448. .car-report-item {
  449. background-color: #fff;
  450. padding: 30rpx 20rpx;
  451. // box-shadow: 0px 0px 10rpx 0px rgba(153, 153, 153, 0.16);
  452. border-radius: 10rpx;
  453. margin-bottom: 20rpx;
  454. position: relative;
  455. .car-report-item-info {
  456. padding: 15rpx 0;
  457. .car-report-rv {
  458. width: 331rpx;
  459. height: 465rpx;
  460. margin: 10rpx auto;
  461. position: relative;
  462. }
  463. .car-report-rv-buttom {
  464. width: 480rpx;
  465. height: 70rpx;
  466. background: url("http://dmsphoto.66km.com.cn/thFiles/1A42D7CB-072B-4565-95BA-878FA340B852.png") 100% 100% no-repeat;
  467. background-size: contain;
  468. margin: 10rpx auto;
  469. }
  470. .car-report-remarks {
  471. border-top: 2px solid #EEEEEE;
  472. padding-top: 10rpx;
  473. margin-top: 10rpx;
  474. margin-bottom: -10rpx;
  475. }
  476. .video-wrapper {
  477. margin-top: 20rpx;
  478. //border-radius:20px;
  479. object-fit: fill;
  480. overflow: hidden;
  481. .vjs-paused {
  482. overflow: hidden;
  483. }
  484. }
  485. .video-button {
  486. margin-top: 20rpx;
  487. height: 90rpx;
  488. background-color: #FEEFD8;
  489. display: flex;
  490. font-size: 28rpx;
  491. font-weight: 500;
  492. color: rgba(185, 144, 86, 1);
  493. line-height: 90rpx;
  494. .video-play {
  495. width: 50rpx;
  496. height: 50rpx;
  497. margin: 20rpx;
  498. display: inline-block;
  499. background: url("http://dmsphoto.66km.com.cn/thFiles/A7F13529-E889-4B2B-83B7-4CD5E322853D.png") 100% 100% no-repeat;
  500. background-size: contain;
  501. }
  502. }
  503. .warning-lamp {
  504. display: flex;
  505. justify-content: flex-start;
  506. align-content: center;
  507. flex-wrap: wrap;
  508. .img4 {
  509. margin-right: 0rpx;
  510. }
  511. .lamp-item {
  512. margin: 30rpx;
  513. margin-right: 55rpx;
  514. width: 80rpx;
  515. height: 70rpx;
  516. display: block;
  517. background: url("http://dmsphoto.66km.com.cn/thFiles/DE80CE12-534E-4AD0-921A-17051A4F5984.png") 100% 100% no-repeat;
  518. background-size: contain;
  519. position: relative;
  520. // &.check:after {
  521. // background: url("http://dmsphoto.66km.com.cn/thFiles/7E809DDE-FD2D-4158-A6EF-01FC855A5A2D.png") 100% 100% no-repeat;
  522. // background-size: contain;
  523. // }
  524. // &:after {
  525. // content: '';
  526. // width: 38rpx;
  527. // height: 38rpx;
  528. // border-radius: 50%;
  529. // border: 2px solid rgba(221, 221, 221, 1);
  530. // display: block;
  531. // position: absolute;
  532. // left: -50rpx;
  533. // top: 18rpx;
  534. // }
  535. &.error-lamp {
  536. // color: #F03B3B;
  537. // filter: drop-shadow(#F03B3B 10rpx 0);
  538. // &svg path {
  539. // fill: rgb(18, 136, 222)
  540. // }
  541. }
  542. }
  543. }
  544. p {
  545. font-size: 28rpx;
  546. font-weight: 400;
  547. color: rgba(153, 153, 153, 1);
  548. line-height: 150%;
  549. padding: 8rpx 0;
  550. display: flex;
  551. align-items: baseline;
  552. >span {
  553. height: 28rpx;
  554. font-size: 28rpx;
  555. font-weight: 400;
  556. color: rgba(102, 102, 102, 1);
  557. line-height: 28rpx;
  558. padding-top: 5rpx;
  559. }
  560. .info-status {
  561. margin-left: 10rpx;
  562. height: 38rpx;
  563. border-radius: 8rpx;
  564. border: 2rpx solid rgba(221, 221, 221, 1);
  565. padding: 2rpx 14rpx;
  566. text-decoration: none;
  567. font-style: normal;
  568. width: 115rpx;
  569. }
  570. }
  571. }
  572. .car-report-item-title {
  573. position: relative;
  574. &.error-title {
  575. .title-icon {
  576. background: url("http://dmsphoto.66km.com.cn/thFiles/69B1087C-79B4-40E3-99DD-7B6F7C334373.png") 100% 100% no-repeat;
  577. }
  578. >h4 {
  579. display: flex;
  580. font-weight: 400;
  581. color: rgba(240, 59, 59, 1);
  582. .title-icon {
  583. width: 36rpx;
  584. height: 36rpx;
  585. background-size: contain;
  586. margin-right: 10rpx;
  587. transform: translateY(2rpx);
  588. }
  589. }
  590. }
  591. &.ok-title {
  592. .title-icon {
  593. background: url("http://dmsphoto.66km.com.cn/thFiles/A331D98F-D90C-4170-BA36-EBD94C2B8EE1.png") 100% 100% no-repeat;
  594. }
  595. >h4 {
  596. display: flex;
  597. font-weight: 400;
  598. color: rgba(38, 150, 92, 1);
  599. .title-icon {
  600. width: 36rpx;
  601. height: 36rpx;
  602. background-size: contain;
  603. margin-right: 10rpx;
  604. transform: translateY(2px);
  605. }
  606. }
  607. }
  608. &.warning-title {
  609. .title-icon {
  610. background: url("http://dmsphoto.66km.com.cn/thFiles/C3B101F2-32E7-4247-A679-52C82C976E0D.png") 100% 100% no-repeat;
  611. }
  612. >h4 {
  613. display: flex;
  614. font-weight: 400;
  615. color: rgba(241, 157, 1, 1);
  616. .title-icon {
  617. width: 36rpx;
  618. height: 36rpx;
  619. background-size: contain;
  620. margin-right: 10rpx;
  621. transform: translateY(2px);
  622. }
  623. }
  624. }
  625. >h3 {
  626. height: 32rpx;
  627. font-size: 32rpx;
  628. font-weight: 600;
  629. color: rgba(51, 51, 51, 1);
  630. line-height: 32rpx;
  631. padding-top: 10rpx;
  632. padding-bottom: 30rpx;
  633. border-bottom: 2px solid #EEEEEE;
  634. padding-right: 200rpx;
  635. }
  636. >h4 {
  637. position: absolute;
  638. top: 6rpx;
  639. right: 0;
  640. height: 42rpx;
  641. font-size: 30rpx;
  642. font-weight: 400;
  643. line-height: 42rpx;
  644. }
  645. }
  646. &.report-error {
  647. .report-status-count {
  648. background-color: rgb(255, 77, 15);
  649. }
  650. }
  651. &.report-warning {
  652. .report-status-count {
  653. background-color: rgb(244, 165, 11);
  654. }
  655. }
  656. &.report-ok {
  657. .report-status-count {
  658. background-color: rgb(41, 162, 87);
  659. }
  660. }
  661. .report-status-count {
  662. width: 100rpx;
  663. height: 100rpx;
  664. border-radius: 50%;
  665. margin: 10rpx 20rpx;
  666. margin-left: 0;
  667. line-height: 100rpx;
  668. text-align: center;
  669. font-size: 30rpx;
  670. font-weight: 500;
  671. color: rgba(255, 255, 255, 1);
  672. }
  673. .report-status {
  674. flex-grow: 1;
  675. >h3 {
  676. height: 45rpx;
  677. font-size: 32rpx;
  678. font-weight: 500;
  679. color: rgba(51, 51, 51, 1);
  680. line-height: 45rpx;
  681. margin-bottom: 10rpx;
  682. padding-top: 15rpx;
  683. }
  684. >p {
  685. height: 33rpx;
  686. font-size: 24rpx;
  687. font-weight: 400;
  688. color: rgba(153, 153, 153, 1);
  689. line-height: 33rpx;
  690. }
  691. }
  692. .car-report-statistics {
  693. display: flex;
  694. justify-content: space-around;
  695. .car-report-statistics-item {
  696. >h3 {
  697. text-align: center;
  698. height: 40rpx;
  699. font-size: 44rpx;
  700. font-weight: 500;
  701. // line-height: 62rpx;
  702. }
  703. >p {
  704. height: 40rpx;
  705. font-size: 28rpx;
  706. font-weight: 400;
  707. color: rgba(153, 153, 153, 1);
  708. line-height: 40rpx;
  709. }
  710. }
  711. }
  712. h5 {
  713. margin: 0 0 16rpx 8rpx;
  714. width: 600rpx;
  715. height: 37rpx;
  716. font-size: 26rpx;
  717. font-weight: 400;
  718. color: rgba(51, 51, 51, 1);
  719. line-height: 37rpx;
  720. .phone {
  721. position: absolute;
  722. right: 40rpx;
  723. top: 24rpx;
  724. width: 30rpx;
  725. height: 40rpx;
  726. display: inline-block;
  727. background: url("http://dmsphoto.66km.com.cn/thFiles/36EFD213-1D81-4153-AFFD-33BE701E5DBF.png") 100% no-repeat;
  728. background-size: contain;
  729. }
  730. .shop-icon {
  731. vertical-align: sub;
  732. transform: translateY(-2rpx);
  733. }
  734. &:last-child {
  735. margin-bottom: 0;
  736. }
  737. }
  738. }
  739. .fule {
  740. display: flex;
  741. }
  742. .newjcbgD .hhhhh5 {
  743. height: 44rpx !important;
  744. font-weight: 500 !important;
  745. color: #3C3C3C !important;
  746. font-size: 28rpx !important;
  747. }
  748. .newjcbgD .hxxhhh5 {
  749. padding-left: 50rpx;
  750. color: #999999 !important;
  751. }
  752. .newjcbgD .shop-icon2 {
  753. /* background: url(../newimg/icon_store@2x.png);
  754. background-size: 100% !important; */
  755. width: 40rpx;
  756. height: 44rpx;
  757. margin-right: 10rpx;
  758. }
  759. .newjcbgD .car-report .car-report-item h5 .phone {
  760. background: url('http://dmsphoto.66km.com.cn/thFiles/AA0ED98C-DC25-41D0-B09A-9ACC497D017A.png');
  761. background-size: 100% 100% !important;
  762. width: 60rpx;
  763. height: 60rpx;
  764. }
  765. .report-color-red {
  766. color: rgba(240, 59, 59, 1) !important;
  767. border-color: rgba(240, 59, 59, 1) !important;
  768. }
  769. .report-color-yellow {
  770. color: rgb(242, 157, 0) !important;
  771. border-color: rgb(242, 157, 0) !important;
  772. }
  773. .report-color-green {
  774. color: rgba(38, 150, 92, 1) !important;
  775. border-color: rgba(38, 150, 92, 1) !important;
  776. }
  777. .authorizBox {
  778. width: 100vw;
  779. height: 100vh;
  780. background: rgba(0, 0, 0, 0.5);
  781. position: fixed;
  782. top: 0;
  783. left: 0;
  784. }
  785. .authorizCont {
  786. margin-top: 30vh;
  787. width: 564rpx;
  788. height: 408rpx;
  789. background: #FFFFFF;
  790. border-radius: 24rpx;
  791. margin-left: 93rpx;
  792. position: relative;
  793. }
  794. .authorizCloseImg {
  795. width: 62rpx;
  796. height: 62rpx;
  797. }
  798. .sqLogoBox {
  799. width: 180rpx;
  800. height: 180rpx;
  801. background: #FFFFFF;
  802. border-radius: 90rpx;
  803. text-align: center;
  804. position: absolute;
  805. top: -50rpx;
  806. left: 192rpx;
  807. }
  808. .authorizName {
  809. color: #333333;
  810. line-height: 42rpx;
  811. font-size: 30rpx;
  812. text-align: center;
  813. padding-top: 58rpx;
  814. }
  815. .authorizMs {
  816. color: #999999;
  817. line-height: 36rpx;
  818. font-size: 26rpx;
  819. width: 452rpx;
  820. padding-top: 24rpx;
  821. text-align: center;
  822. margin-left: 56rpx;
  823. }
  824. .authorizContbutton {
  825. width: 422rpx;
  826. height: 88rpx;
  827. background: #D53533;
  828. border-radius: 44rpx;
  829. line-height: 88rpx;
  830. text-align: center;
  831. font-size: 30rpx;
  832. color: #FFFFFF;
  833. margin-top: 62rpx;
  834. margin-left: 71rpx;
  835. }
  836. .flex {
  837. display: flex;
  838. align-items: center;
  839. justify-content: space-between;
  840. }
  841. .icon-select-down {
  842. width: 34rpx;
  843. height: 22rpx;
  844. }
  845. .top {
  846. height: 190rpx;
  847. background: #FF0000;
  848. margin-left: -20rpx;
  849. margin-right: -20rpx;
  850. }
  851. .orderState {
  852. display: flex;
  853. justify-content: center;
  854. align-items: center;
  855. padding-top: 40rpx;
  856. }
  857. .SheetState {
  858. display: flex;
  859. justify-content: center;
  860. font-size: 36rpx;
  861. font-weight: 500;
  862. color: #FFFFFF;
  863. margin-left: 15rpx;
  864. }
  865. .shopBoximg {
  866. width: 40rpx;
  867. height: 40rpx;
  868. }
  869. .shopRightImg {
  870. width: 44rpx;
  871. height: 45rpx;
  872. }
  873. .shopsx {
  874. width: 1px;
  875. height: 50rpx;
  876. background: #EEEEEE;
  877. margin-top: 30rpx;
  878. margin-left: 28rpx;
  879. }
  880. .shopBox {
  881. display: flex;
  882. justify-content: space-between;
  883. padding: 30rpx 20rpx;
  884. margin-top: -60rpx;
  885. background-color: #FFFFFF;
  886. border-radius: 10rpx;
  887. }
  888. .shopCont {
  889. flex-grow: 1;
  890. padding-left: 20rpx;
  891. }
  892. .shopName {
  893. font-size: 30rpx;
  894. font-weight: bold;
  895. color: #3C3C3C;
  896. line-height: 42rpx;
  897. }
  898. .Address {
  899. color: #999999;
  900. font-size: 24rpx;
  901. margin-top: 10rpx;
  902. }
  903. .shopRihgtTxt {
  904. color: #999999;
  905. font-size: 24rpx;
  906. }
  907. .shopRightBox {
  908. padding-left: 28rpx;
  909. width: 70rpx;
  910. }
  911. .carinfoBox {
  912. background: #FFFFFF;
  913. border-radius: 10rpx;
  914. margin-top: 20rpx;
  915. padding: 20rpx;
  916. margin-bottom: 20rpx;
  917. }
  918. .carinfoBox .carLogo {
  919. width: 60rpx;
  920. height: 60rpx;
  921. margin-top: 6rpx;
  922. }
  923. .carinfoBoxTop {
  924. display: flex;
  925. }
  926. .carinfoBoxTopCont {
  927. flex-grow: 1;
  928. padding-left: 20rpx;
  929. }
  930. .carinfoBoxTopContTop {
  931. display: flex;
  932. }
  933. .carInfoplateNumber {
  934. font-weight: 500;
  935. color: #3C3C3C;
  936. font-size: 30rpx;
  937. line-height: 42rpx;
  938. padding-right: 16rpx;
  939. }
  940. .carTnfomilage {
  941. color: #F19D01;
  942. font-size: 22rpx;
  943. padding: 0rpx 10rpx;
  944. border-radius: 4rpx;
  945. border: 1px solid #F19D01;
  946. height: 32rpx;
  947. line-height: 34rpx;
  948. margin-top: 2rpx;
  949. margin-left: 2rpx;
  950. }
  951. .carInfocarModel {
  952. padding-top: 10rpx;
  953. color: #999999;
  954. font-size: 24rpx;
  955. width: 100%;
  956. }
  957. .workBox {
  958. display: flex;
  959. align-items: center;
  960. }
  961. .workName {
  962. padding-left: 10rpx;
  963. font-size: 24rpx;
  964. font-weight: 400;
  965. color: #999999;
  966. padding-top: 10rpx;
  967. padding-bottom: 18rpx;
  968. }
  969. .questionBox {
  970. padding: 20rpx;
  971. border-top: #EEEEEE solid 1rpx;
  972. // box-shadow: 0 0 0 0;
  973. margin-bottom: 0;
  974. padding-bottom: 0;
  975. }
  976. // p {
  977. // font-size: 28rpx;
  978. // font-weight: 400;
  979. // color: rgba(153, 153, 153, 1);
  980. // line-height: 150%;
  981. // padding: 8rpx 0;
  982. // display: flex;
  983. // align-items: baseline;
  984. // >span {
  985. // height: 28rpx;
  986. // font-size: 28rpx;
  987. // font-weight: 400;
  988. // color: rgba(102, 102, 102, 1);
  989. // line-height: 28rpx;
  990. // padding-top: 5rpx;
  991. // }
  992. .contentB {
  993. display: flex;
  994. align-items: baseline;
  995. font-size: 28rpx;
  996. font-weight: 400;
  997. color: rgba(153, 153, 153, 1);
  998. line-height: 150%;
  999. padding: 8rpx 0;
  1000. }
  1001. .leftT {
  1002. font-size: 26rpx;
  1003. font-weight: 400;
  1004. line-height: 26rpx;
  1005. padding-top: 5rpx;
  1006. width: 100rpx;
  1007. color: #999999;
  1008. }
  1009. .contentStr {
  1010. flex-grow: 1;
  1011. width: calc(100vw - 100rpx);
  1012. color: #333333;
  1013. font-size: 26rpx;
  1014. }
  1015. .nameBox {
  1016. display: flex;
  1017. align-items: baseline;
  1018. }
  1019. .contentB2 {
  1020. display: flex;
  1021. align-items: baseline;
  1022. font-size: 28rpx;
  1023. font-weight: 400;
  1024. color: rgba(153, 153, 153, 1);
  1025. line-height: 150%;
  1026. padding: 8rpx 0;
  1027. max-width: 500rpx;
  1028. }
  1029. .leftName {
  1030. font-size: 26rpx;
  1031. font-weight: 400;
  1032. line-height: 26rpx;
  1033. padding-top: 5rpx;
  1034. color: #999999;
  1035. text-overflow: ellipsis;
  1036. white-space: nowrap;
  1037. }
  1038. .itemValue {
  1039. color: #333333;
  1040. font-size: 26rpx;
  1041. }
  1042. .kuang {
  1043. margin-left: 10rpx;
  1044. height: 33rpx;
  1045. border-radius: 8rpx;
  1046. border: 2rpx solid rgba(221, 221, 221, 1);
  1047. text-align: center;
  1048. width: 122rpx;
  1049. line-height: 33rpx;
  1050. font-size: 24rpx;
  1051. color: #999999;
  1052. }
  1053. </style>