details.vue 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098
  1. <template>
  2. <view class="container">
  3. <!--banner-->
  4. <view class="tui-banner-swiper">
  5. <swiper :autoplay="true" :interval="5000" :duration="150" :circular="true"
  6. :style="{ height: swiperHeight + 'px' }" @change="bannerChange">
  7. <block v-for="(item, index) in banner" :key="index">
  8. <swiper-item class="swiper" :data-index="index" @tap.stop="previewImage">
  9. <image mode="widthFix" :src="item" class="tui-slide-image" @load="setswiperHeight" />
  10. </swiper-item>
  11. </block>
  12. </swiper>
  13. <!-- 视频-->
  14. <view v-if="detail.videourl" class="tui-video__box" @tap.stop="play">
  15. <image src="/static/images/mall/video.png" mode="widthFix"></image>
  16. </view>
  17. <view class="tui-banner-tag">
  18. <tui-tag padding="12rpx 18rpx" type="translucent" shape="circleLeft" :scaleMultiple="0.82" originRight>
  19. {{ bannerIndex + 1 }}/{{ banner.length }}
  20. </tui-tag>
  21. </view>
  22. </view>
  23. <!--banner-->
  24. <view class="tui-pro-detail">
  25. <view class="tui-product-title tui-border-radius">
  26. <view class="tui-namebox tui-padding">
  27. <view class="tui-name">
  28. <view><text>{{detail.title}}</text> <text class="keyi">今天可约</text></view>
  29. <view class="tui-identitylabel tui-gray">
  30. <text>实名认证</text>
  31. <!--<text>河北人</text><text>30岁</text>-->
  32. </view>
  33. </view>
  34. <view class="tui-collection tui-size" @tap="collecting">
  35. <tui-icon :name="collected ? 'like-fill' : 'like'" :color="collected ? '#ff201f' : '#333'"
  36. :size="20"></tui-icon>
  37. <view class="tui-scale-collection" :class="{'tui-icon-red':collected}">关注</view>
  38. <view class="tui-scale-collection">{{detail.viewed}}人浏览</view>
  39. </view>
  40. </view>
  41. <view class="list-cell" :data-id="detail.sid" @tap="goStore">
  42. <view class="tui-selected-box">{{detail.store}}</view>
  43. </view>
  44. <view v-if="detail.introduction" class="tui-container">
  45. {{detail.introduction || ''}}
  46. </view>
  47. <view class="tui-guarantee">
  48. <view class="tui-guarantee-item">
  49. <tui-icon name="circle-selected" :size="14" color="#999"></tui-icon>
  50. <text class="tui-pl">随时预约</text>
  51. </view>
  52. <view class="tui-guarantee-item">
  53. <tui-icon name="circle-selected" :size="14" color="#999"></tui-icon>
  54. <text class="tui-pl">专业工具</text>
  55. </view>
  56. <view class="tui-guarantee-item">
  57. <tui-icon name="circle-selected" :size="14" color="#999"></tui-icon>
  58. <text class="tui-pl">受专业培训</text>
  59. </view>
  60. <view class="tui-guarantee-item">
  61. <tui-icon name="circle-selected" :size="14" color="#999"></tui-icon>
  62. <text class="tui-pl">省心省钱</text>
  63. </view>
  64. </view>
  65. </view>
  66. <view v-if="technicalcomment && technicalcomment.length>0" class="tui-cmt-box tui-mtop tui-radius-all">
  67. <view class="list-cell tui-last tui-between">
  68. <view class="tui-bold tui-cell-title">评价</view>
  69. <!--<view class="tui-flex-center" @tap="evaluate">
  70. <text class="tui-cmt-all">查看全部</text>
  71. <tui-icon name="more-fill" :size="20" color="#ff201f"></tui-icon>
  72. </view>-->
  73. </view>
  74. <view v-for="(item, index) in technicalcomment" :key="index" class="tui-cmt-content tui-padding">
  75. <view class="tui-cmt-user">
  76. <image :src="item.head_img_url" class="tui-acatar"></image>
  77. <view class="tui-attr">{{item.nick_name}}</view>
  78. </view>
  79. <tui-rate :current="item.level"></tui-rate>
  80. <view class="tui-cmt">{{item.content}}</view>
  81. <!--<view class="tui-attr">颜色:叠层钛钢流苏耳环(A74)</view>-->
  82. </view>
  83. <!--<view class="tui-cmt-btn">
  84. <tui-button width="240rpx" height="64rpx" :size="24" type="black" plain shape="circle"
  85. @click="evaluate">查看全部评价</tui-button>
  86. </view>-->
  87. </view>
  88. <view class="tui-radius-all tui-mtop">
  89. <view class="tui-combination-text tui-between">
  90. <view class="tui-combination-title">
  91. <tui-tabs :sliderBgColor="pagestyleconfig.appstylecolor" :selectedColor="pagestyleconfig.appstylecolor" :tabs="tabs" :currentTab="currentTab" :sliderWidth="100" :width="200" itemWidth="50%" @change="change"></tui-tabs>
  92. </view>
  93. </view>
  94. <block v-if="currentTab==0">
  95. <block v-for="(item, index) in detail.goodslist" :key="index">
  96. <view :data-url="'/pages/goodsDetail/goodsDetail?id=' + item.id + '&uuid=' + detail.uuid"
  97. @tap="navigationTo" class="border-flex">
  98. <!-- 图片 -->
  99. <view class="border-left">
  100. <image mode="widthFix" :src="item.image" />
  101. </view>
  102. <!-- 文字 -->
  103. <view class="border-right">
  104. <view>{{item.name}}</view>
  105. <view class="price">
  106. <view class="left-box">¥{{item.price}} </view>
  107. <view class="right-box">
  108. <button class="itembutton" :style="'background:'+ pagestyleconfig.appstylecolor">立即预约</button>
  109. </view>
  110. </view>
  111. </view>
  112. </view>
  113. </block>
  114. </block>
  115. <block v-if="currentTab==1">
  116. <view><diyfieldsview ptype="technical" update="1" geturl="registerfield.view" :technicalid="technicalid"></diyfieldsview></view>
  117. </block>
  118. </view>
  119. <view class="tui-safearea-bottom"></view>
  120. </view>
  121. </view>
  122. </template>
  123. <script>
  124. const thorui = require('@/components/common/tui-clipboard/tui-clipboard.js');
  125. const poster = require('@/components/common/tui-poster/tui-poster.js');
  126. import uParse from '@/components/jyf-parser/jyf-parser';
  127. import diyfieldsview from "@/components/views/diyfields/diyfieldsview"
  128. export default {
  129. components: {
  130. uParse,
  131. diyfieldsview
  132. },
  133. data() {
  134. return {
  135. uid: '',
  136. technicalid:'',
  137. currentTab: 0,
  138. pagestyleconfig: [],
  139. is_show: 0,
  140. tabs: [{
  141. name: "服务的项目"
  142. }, {
  143. name: "个人简介"
  144. }],
  145. detail: {},
  146. technicalcomment: [],
  147. windowWidth: 0,
  148. height: 64, //header高度
  149. top: 26, //标题图标距离顶部距离
  150. scrollH: 0, //滚动总高度
  151. swiperHeight: 343,
  152. opcity: 0,
  153. iconOpcity: 0.5,
  154. banner: [],
  155. bannerIndex: 0,
  156. collected: false,
  157. winWidth: uni.upx2px(560 * 2),
  158. winHeight: uni.upx2px(890 * 2)
  159. };
  160. },
  161. onLoad: function(e) {
  162. let _this = this;
  163. let obj = {};
  164. // #ifdef MP-WEIXIN
  165. obj = wx.getMenuButtonBoundingClientRect();
  166. // #endif
  167. // #ifdef MP-BAIDU
  168. obj = swan.getMenuButtonBoundingClientRect();
  169. // #endif
  170. // #ifdef MP-ALIPAY
  171. my.hideAddToDesktopMenu();
  172. // #endif
  173. _this.$request.post('config', {
  174. mo: 'pagestyle'
  175. }).then(res => {
  176. if (res.errno == 0) {
  177. _this.pagestyleconfig = res.data
  178. }
  179. });
  180. if (e && e.scene) {
  181. const scene = decodeURIComponent(e.scene) // 处理扫码进商品详情页面的逻辑
  182. if (scene) {
  183. e.id = scene.split(',')[0]
  184. if (scene.split(',')[1]) {
  185. e.reid = scene.split(',')[1];
  186. }
  187. }
  188. }
  189. if (e.reid) {
  190. uni.setStorageSync('reid', e.reid)
  191. }
  192. _this.sam.login().then(res => {
  193. if (res.uid > 0) {
  194. _this.uid = res.uid;
  195. if (uni.getStorageSync('reid')) {
  196. _this.$request.get('member.bindpid', {
  197. samkey: (new Date()).valueOf(),
  198. pid: uni.getStorageSync('reid')
  199. }).then(res => {
  200. if (res.errno == 0) {
  201. console.log('pid绑定成功');
  202. }
  203. })
  204. }
  205. }
  206. });
  207. setTimeout(() => {
  208. uni.getSystemInfo({
  209. success: res => {
  210. console.log(res);
  211. this.width = obj.left || res.windowWidth;
  212. this.height = obj.top ? obj.top + obj.height + 8 : res.statusBarHeight +
  213. 44;
  214. this.top = obj.top ? obj.top + (obj.height - 32) / 2 : res
  215. .statusBarHeight + 6;
  216. this.scrollH = res.windowWidth;
  217. this.windowWidth = res.windowWidth;
  218. }
  219. });
  220. }, 0);
  221. this.getDetail(e.id);
  222. _this.technicalid = e.id
  223. },
  224. onShow() {
  225. this.sam.login();
  226. },
  227. methods: {
  228. bannerChange: function(e) {
  229. this.bannerIndex = e.detail.current;
  230. },
  231. navigationTo: function(e) {
  232. this.sam.navigateTo(e.currentTarget.dataset.url);
  233. },
  234. change(e) {
  235. this.currentTab = e.index;
  236. },
  237. play() {
  238. uni.navigateTo({
  239. url: '/pages/video/video?videourl=' + this.detail.videourl,
  240. animationType: 'zoom-out'
  241. })
  242. },
  243. gettechnicalcomment: function() {
  244. var _this = this;
  245. _this.$request.get('comment.gettechnicalcomment', {
  246. uuid: _this.detail.uuid
  247. }).then(res => {
  248. if (res.errno == 0) {
  249. _this.technicalcomment = res.data
  250. }
  251. })
  252. },
  253. goStore: function(e) {
  254. var id = e.currentTarget.dataset.id;
  255. if (id > 0) {
  256. this.sam.navigateTo('/pages/store_details/store_details?id=' + e.currentTarget.dataset.id);
  257. }
  258. },
  259. getDetail(id) {
  260. const _this = this;
  261. _this.$request.get('technical.detail', {
  262. id: id
  263. }).then(res => {
  264. if (res.errno == 0) {
  265. _this.detail = res.data
  266. _this.banner = res.data.photoalbum;
  267. _this.gettechnicalcomment();
  268. }
  269. });
  270. },
  271. back: function() {
  272. uni.navigateBack();
  273. },
  274. collecting: function() {
  275. this.collected = !this.collected;
  276. },
  277. navigateTo(url) {
  278. this.sam.navigateTo(url);
  279. },
  280. setswiperHeight(e) {
  281. //console.log(e);
  282. this.swiperHeight = e.detail.height * (this.windowWidth / e.detail.width);
  283. }
  284. },
  285. onPageScroll(e) {
  286. let scroll = e.scrollTop <= 0 ? 0 : e.scrollTop;
  287. let opcity = scroll / this.scrollH;
  288. if (this.opcity >= 1 && opcity >= 1) {
  289. return;
  290. }
  291. this.opcity = opcity;
  292. this.iconOpcity = 0.5 * (1 - opcity < 0 ? 0 : 1 - opcity);
  293. },
  294. /**
  295. * 页面相关事件处理函数--监听用户下拉动作
  296. */
  297. onPullDownRefresh: function() {
  298. setTimeout(() => {
  299. uni.stopPullDownRefresh()
  300. }, 200);
  301. },
  302. //发送给朋友
  303. onShareAppMessage: function() {
  304. let _this = this;
  305. return {
  306. title: _this.detail.title || "",
  307. path: "/pages/technical/details?id=" + _this.detail.id + "&reid=" + _this.uid,
  308. };
  309. },
  310. onShareTimeline(res) { //分享到朋友圈
  311. return {}
  312. }
  313. };
  314. </script>
  315. <style>
  316. /* 商品详情图样式 */
  317. .pro_detailImg {
  318. width: 100%;
  319. }
  320. .pro_detailImg img {
  321. width: 100%;
  322. height: auto;
  323. display: block;
  324. }
  325. .pro_detailImg {
  326. display: flex;
  327. flex-direction: column;
  328. transform: translateZ(0);
  329. }
  330. .pro_detailImg image {
  331. width: 100%;
  332. display: block;
  333. }
  334. page {
  335. background-color: #f7f7f7;
  336. }
  337. .container {
  338. padding-bottom: 110rpx;
  339. }
  340. .tui-header-box {
  341. width: 100%;
  342. position: fixed;
  343. left: 0;
  344. top: 0;
  345. z-index: 995;
  346. }
  347. .tui-header {
  348. width: 100%;
  349. font-size: 18px;
  350. line-height: 18px;
  351. font-weight: 500;
  352. height: 32px;
  353. display: flex;
  354. align-items: center;
  355. justify-content: center;
  356. }
  357. .tui-header-icon {
  358. position: fixed;
  359. top: 0;
  360. left: 10px;
  361. display: flex;
  362. align-items: flex-start;
  363. justify-content: space-between;
  364. height: 32px;
  365. transform: translateZ(0);
  366. z-index: 9999;
  367. }
  368. .tui-header-icon .tui-badge {
  369. background: #e41f19 !important;
  370. position: absolute;
  371. right: -4px;
  372. }
  373. .tui-icon-ml {
  374. margin-left: 20rpx;
  375. }
  376. .tui-icon-box {
  377. position: relative;
  378. height: 20px !important;
  379. width: 20px !important;
  380. padding: 6px !important;
  381. border-radius: 50%;
  382. display: flex;
  383. align-items: center;
  384. justify-content: center;
  385. }
  386. .tui-banner-swiper {
  387. position: relative;
  388. }
  389. .tui-video__box {
  390. width: 130rpx;
  391. height: 130rpx;
  392. position: absolute;
  393. left: 50%;
  394. bottom: 40%;
  395. transform: translateX(-50%);
  396. z-index: 2;
  397. }
  398. .tui-video__box image {
  399. width: 130rpx;
  400. height: 130rpx;
  401. -webkit-filter: opacity(60%);
  402. /* Chrome, Safari, Opera */
  403. filter: opacity(60%);
  404. }
  405. .tui-video__box view {
  406. width: 100%;
  407. height: 100%;
  408. font-size: 24rpx;
  409. position: absolute;
  410. left: 0;
  411. top: 0;
  412. display: flex;
  413. align-items: center;
  414. padding-left: 66rpx;
  415. box-sizing: border-box;
  416. }
  417. .tui-banner-tag {
  418. position: absolute;
  419. color: #fff;
  420. bottom: 30rpx;
  421. right: 0;
  422. }
  423. .tui-slide-image {
  424. width: 100%;
  425. display: block;
  426. }
  427. /*顶部菜单*/
  428. .tui-menu-box {
  429. box-sizing: border-box;
  430. }
  431. .tui-menu-header {
  432. font-size: 34rpx;
  433. color: #fff;
  434. height: 32px;
  435. display: flex;
  436. align-items: center;
  437. }
  438. .tui-menu-itembox {
  439. color: #fff;
  440. padding: 40rpx 10rpx 0 10rpx;
  441. box-sizing: border-box;
  442. display: flex;
  443. flex-wrap: wrap;
  444. font-size: 26rpx;
  445. }
  446. .tui-menu-item {
  447. width: 22%;
  448. height: 160rpx;
  449. border-radius: 24rpx;
  450. display: flex;
  451. align-items: center;
  452. flex-direction: column;
  453. justify-content: center;
  454. background: rgba(0, 0, 0, 0.4);
  455. margin-right: 4%;
  456. margin-bottom: 4%;
  457. }
  458. .tui-menu-item:nth-of-type(4n) {
  459. margin-right: 0;
  460. }
  461. .tui-badge-box {
  462. position: relative;
  463. }
  464. .tui-badge-box .tui-badge-class {
  465. position: absolute;
  466. top: -8px;
  467. right: -8px;
  468. }
  469. .tui-msg-badge {
  470. top: -10px;
  471. }
  472. .tui-icon-up_box {
  473. width: 100%;
  474. display: flex;
  475. align-items: center;
  476. justify-content: center;
  477. }
  478. .tui-menu-text {
  479. padding-top: 12rpx;
  480. }
  481. .tui-opcity .tui-menu-text,
  482. .tui-opcity .tui-badge-box {
  483. opacity: 0.5;
  484. transition: opacity 0.2s ease-in-out;
  485. }
  486. /*顶部菜单*/
  487. /*内容 部分*/
  488. .tui-padding {
  489. padding: 0 30rpx;
  490. box-sizing: border-box;
  491. }
  492. .tui-ml-auto {
  493. margin-left: auto;
  494. }
  495. /* #ifdef H5 */
  496. .tui-ptop {
  497. padding-top: 44px;
  498. }
  499. /* #endif */
  500. .tui-size {
  501. font-size: 24rpx;
  502. line-height: 24rpx;
  503. }
  504. .tui-gray {
  505. color: #999;
  506. }
  507. .tui-icon-red {
  508. color: #ff201f;
  509. }
  510. .tui-border-radius {
  511. border-bottom-left-radius: 24rpx;
  512. border-bottom-right-radius: 24rpx;
  513. overflow: hidden;
  514. }
  515. .tui-radius-all {
  516. border-radius: 24rpx;
  517. overflow: hidden;
  518. }
  519. .overflowhidden {
  520. overflow: hidden;
  521. }
  522. .tui-mtop {
  523. margin-top: 26rpx;
  524. }
  525. .tui-pro-detail {
  526. box-sizing: border-box;
  527. color: #333;
  528. }
  529. .tui-product-title {
  530. background: #fff;
  531. padding-top: 20rpx;
  532. }
  533. .tui-namebox {
  534. display: flex;
  535. align-items: center;
  536. justify-content: space-between;
  537. color: #333333;
  538. font-size: 36rpx;
  539. font-weight: bold;
  540. line-height: 44rpx;
  541. }
  542. .tui-name {
  543. align-items: center;
  544. }
  545. .tui-name .keyi {
  546. font-size: 24rpx;
  547. color: #c55756;
  548. font-weight: normal;
  549. background-color: #f2e7eb;
  550. padding-left: 5rpx;
  551. padding-right: 5rpx;
  552. margin-left: 20rpx;
  553. border-radius: 5rpx;
  554. border: 1rpx solid #c55756;
  555. }
  556. .tui-identitylabel {
  557. font-size: 26rpx;
  558. line-height: 26rpx;
  559. padding: 10rpx 0rpx;
  560. box-sizing: border-box;
  561. font-weight: normal;
  562. }
  563. .tui-identitylabel text {
  564. background-color: #eee;
  565. padding-left: 5rpx;
  566. padding-right: 5rpx;
  567. margin-right: 10rpx;
  568. border-radius: 5rpx;
  569. }
  570. .points_goods {
  571. font-size: 26rpx;
  572. line-height: 26rpx;
  573. padding: 10rpx 30rpx;
  574. box-sizing: border-box;
  575. font-weight: normal;
  576. }
  577. .tui-collection {
  578. color: #333;
  579. display: flex;
  580. align-items: center;
  581. flex-direction: column;
  582. justify-content: center;
  583. }
  584. .tui-scale-collection {
  585. transform: scale(0.7);
  586. transform-origin: center 90%;
  587. line-height: 24rpx;
  588. font-weight: normal;
  589. margin-top: 4rpx;
  590. }
  591. .tui-pro-titbox {
  592. font-size: 32rpx;
  593. font-weight: 500;
  594. position: relative;
  595. padding: 0 150rpx 0 30rpx;
  596. box-sizing: border-box;
  597. }
  598. .tui-pro-title {
  599. padding-top: 20rpx;
  600. }
  601. .tui-sub-title {
  602. padding: 20rpx 0;
  603. line-height: 32rpx;
  604. }
  605. .list-cell {
  606. width: 100%;
  607. position: relative;
  608. display: flex;
  609. align-items: center;
  610. font-size: 26rpx;
  611. line-height: 20rpx;
  612. padding: 20rpx 30rpx;
  613. box-sizing: border-box;
  614. }
  615. .tui-right {
  616. position: absolute;
  617. right: 30rpx;
  618. top: 30rpx;
  619. }
  620. .tui-top40 {
  621. top: 40rpx !important;
  622. }
  623. .tui-bold {
  624. font-weight: bold;
  625. }
  626. .list-cell::after {
  627. content: '';
  628. position: absolute;
  629. border-bottom: 1rpx solid #eaeef1;
  630. -webkit-transform: scaleY(0.5);
  631. transform: scaleY(0.5);
  632. bottom: 0;
  633. right: 0;
  634. left: 126rpx;
  635. }
  636. .tui-last::after {
  637. border-bottom: 0 !important;
  638. }
  639. .tui-flex-center {
  640. display: flex;
  641. align-items: center;
  642. }
  643. .tui-cell-title {
  644. width: 66rpx;
  645. padding-right: 30rpx;
  646. flex-shrink: 0;
  647. }
  648. .tui-promotion-box {
  649. display: flex;
  650. align-items: center;
  651. padding: 10rpx 0;
  652. width: 80%;
  653. }
  654. .tui-promotion-box text {
  655. width: 70%;
  656. white-space: nowrap;
  657. overflow: hidden;
  658. text-overflow: ellipsis;
  659. }
  660. .tui-addr-box {
  661. width: 76%;
  662. }
  663. .tui-addr-item {
  664. padding: 10rpx;
  665. line-height: 34rpx;
  666. }
  667. .tui-container {
  668. color: #666;
  669. padding: 20rpx 30rpx 10rpx 30rpx;
  670. font-size: 24rpx;
  671. }
  672. .tui-guarantee {
  673. background: #fcf9f0;
  674. display: flex;
  675. flex-wrap: wrap;
  676. padding: 20rpx 30rpx 20rpx 30rpx;
  677. font-size: 24rpx;
  678. }
  679. .tui-guarantee-item {
  680. color: #999;
  681. padding-right: 30rpx;
  682. }
  683. .tui-pl {
  684. padding-left: 4rpx;
  685. }
  686. .tui-cmt-box {
  687. background: #fff;
  688. }
  689. .tui-between {
  690. justify-content: space-between !important;
  691. }
  692. .tui-cmt-all {
  693. color: #ff201f;
  694. padding-right: 8rpx;
  695. }
  696. .tui-cmt-content {
  697. font-size: 26rpx;
  698. }
  699. .tui-cmt-user {
  700. display: flex;
  701. align-items: center;
  702. }
  703. .tui-acatar {
  704. width: 60rpx;
  705. height: 60rpx;
  706. border-radius: 30rpx;
  707. display: block;
  708. margin-right: 16rpx;
  709. }
  710. .tui-cmt {
  711. padding: 14rpx 0;
  712. }
  713. .tui-attr {
  714. font-size: 24rpx;
  715. color: #999;
  716. padding: 6rpx 0;
  717. }
  718. .tui-cmt-btn {
  719. padding: 50rpx 0 30rpx 0;
  720. box-sizing: border-box;
  721. display: flex;
  722. align-items: center;
  723. justify-content: center;
  724. }
  725. .tui-nomore-box {
  726. padding-top: 10rpx;
  727. }
  728. .tui-product-img {
  729. display: flex;
  730. flex-direction: column;
  731. transform: translateZ(0);
  732. }
  733. .tui-product-img image {
  734. width: 100%;
  735. display: block;
  736. }
  737. /*底部操作栏*/
  738. .tui-col-7 {
  739. width: 65%;
  740. }
  741. .tui-col-5 {
  742. width: 35%;
  743. }
  744. .tui-operation {
  745. width: 100%;
  746. height: 100rpx;
  747. background: rgba(255, 255, 255, 0.98);
  748. position: fixed;
  749. display: flex;
  750. align-items: center;
  751. justify-content: space-between;
  752. z-index: 10;
  753. bottom: 0;
  754. left: 0;
  755. padding-bottom: env(safe-area-inset-bottom);
  756. }
  757. .tui-safearea-bottom {
  758. width: 100%;
  759. height: env(safe-area-inset-bottom);
  760. }
  761. .tui-operation::before {
  762. content: '';
  763. position: absolute;
  764. top: 0;
  765. right: 0;
  766. left: 0;
  767. border-top: 1rpx solid #eaeef1;
  768. -webkit-transform: scaleY(0.5);
  769. transform: scaleY(0.5);
  770. }
  771. .tui-operation-left {
  772. display: flex;
  773. align-items: center;
  774. }
  775. .tui-operation-item {
  776. flex: 1;
  777. display: flex;
  778. align-items: center;
  779. justify-content: center;
  780. flex-direction: column;
  781. position: relative;
  782. }
  783. .item-button {
  784. padding-top: 8rpx;
  785. padding-bottom: 1rpx;
  786. padding-left: 0px;
  787. padding-right: 0px;
  788. background-color: #fff;
  789. margin-left: auto;
  790. margin-right: auto;
  791. box-sizing: border-box;
  792. font-size: 18px;
  793. text-align: center;
  794. text-decoration: none;
  795. line-height: 22px;
  796. border-radius: 0px;
  797. -webkit-tap-highlight-color: transparent;
  798. overflow: hidden;
  799. cursor: pointer;
  800. color: #333;
  801. }
  802. .tui-operation-text {
  803. font-size: 22rpx;
  804. color: #333;
  805. }
  806. .tui-opacity {
  807. opacity: 0.5;
  808. }
  809. .tui-scale-small {
  810. transform: scale(0.9);
  811. transform-origin: center center;
  812. }
  813. .tui-operation-right {
  814. height: 100rpx;
  815. padding: 0 12rpx;
  816. box-sizing: border-box;
  817. }
  818. .tui-right-flex {
  819. display: flex;
  820. align-items: center;
  821. justify-content: center;
  822. }
  823. .tui-flex-1 {
  824. flex: 1;
  825. padding: 6rpx;
  826. }
  827. .tui-combination-text {
  828. width: 100%;
  829. display: flex;
  830. align-items: center;
  831. background: #fff;
  832. }
  833. .tui-combination-title {
  834. font-weight: bold;
  835. box-sizing: border-box;
  836. }
  837. .tui-sub__title {
  838. font-size: 26rpx;
  839. padding-right: 30rpx;
  840. }
  841. .tui-step__box {
  842. width: 100%;
  843. height: 210rpx;
  844. background: #fff;
  845. padding: 0 60rpx;
  846. display: flex;
  847. align-items: center;
  848. justify-content: space-between;
  849. box-sizing: border-box;
  850. }
  851. .border-flex {
  852. display: flex;
  853. width: 100%;
  854. background-color: #ffffff;
  855. align-items: center;
  856. padding: 30rpx 0;
  857. }
  858. .border-left image {
  859. width: 160rpx;
  860. height: 160rpx;
  861. border-radius: 10rpx;
  862. text-align: center;
  863. }
  864. .border-left,
  865. .border-right,
  866. .total,
  867. .suit {
  868. margin-left: 20rpx;
  869. }
  870. .suit {
  871. font-weight: bold;
  872. font-size: 26rpx;
  873. margin-left: 20rpx;
  874. }
  875. .border-right {
  876. line-height: 50rpx;
  877. font-size: 26rpx;
  878. width: 100%;
  879. margin-right: 20rpx;
  880. }
  881. .tui-content-box {
  882. width: 100%;
  883. padding: 0 30rpx;
  884. box-sizing: border-box;
  885. }
  886. .tui-box {
  887. width: 100%;
  888. background: #fff;
  889. box-shadow: 0 3rpx 20rpx rgba(183, 183, 183, 0.1);
  890. border-radius: 30rpx;
  891. overflow: hidden;
  892. }
  893. .tui-tool-box {
  894. margin-top: 20rpx;
  895. }
  896. .tui-tool-icon-box {
  897. position: relative;
  898. }
  899. .tui-tool-text {
  900. font-size: 24rpx;
  901. font-weight: 400;
  902. color: #666;
  903. padding-top: 4rpx;
  904. line-height: 24rpx;
  905. }
  906. .tui-flex-wrap {
  907. flex-wrap: wrap;
  908. height: auto;
  909. }
  910. .tui-tool-list {
  911. width: 100%;
  912. padding-top: 15rpx;
  913. padding-bottom: 20rpx;
  914. padding-left: 20rpx;
  915. padding-right: 20rpx;
  916. box-sizing: border-box;
  917. display: flex;
  918. align-items: center;
  919. }
  920. .tui-tool-item {
  921. width: 25%;
  922. display: flex;
  923. align-items: center;
  924. justify-content: center;
  925. flex-direction: column;
  926. padding-top: 15rpx;
  927. padding-bottom: 15rpx;
  928. background-color: #fff;
  929. }
  930. .tui-tool-icon {
  931. width: 64rpx;
  932. height: 64rpx;
  933. display: block;
  934. }
  935. .price {
  936. width: 100%;
  937. font-size: 30rpx;
  938. color: #eb0909;
  939. display: flex;
  940. }
  941. .left-box {
  942. width: 68%;
  943. }
  944. .right-box {
  945. width: 32%;
  946. text-align: right;
  947. float: right;
  948. }
  949. .itembutton {
  950. height: 52rpx;
  951. line-height: 52rpx;
  952. margin-top: 10rpx;
  953. font-size: 24rpx;
  954. border-radius: 50rpx;
  955. color: #ffffff;
  956. align-items: center;
  957. }
  958. </style>