orderDetail.vue 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726
  1. <template>
  2. <view class="content">
  3. <view class="box">
  4. <view class="hflex acenter">
  5. <image :src="pageData.user.headimg" class="avatar"></image>
  6. <view class="vflex" style="padding-left: 12rpx;">
  7. <view class="text_style1 text_hide" style="max-width: 500rpx;">{{pageData.user.nickname}}</view>
  8. <view class="hflex acenter">
  9. <view class="text_style2">{{pageData.city}}</view>
  10. <view class="text_style2" style="padding: 0 10rpx;">|</view>
  11. <view class="text_style2">{{pageData.create_at}}发布</view>
  12. </view>
  13. </view>
  14. </view>
  15. <view class="text_style3 cell">{{pageData.describe}}</view>
  16. <view class="cell">
  17. <block v-for="(item,index) in pageData.imgs" :key="index">
  18. <image :src="item" mode="aspectFill" class="img" @tap="preview"></image>
  19. </block>
  20. </view>
  21. <view class="hflex acenter jbetween cell">
  22. <view class="label">联系方式</view>
  23. <view class="text_style3">{{pageData.user.phone}}</view>
  24. </view>
  25. <view class="hflex acenter jbetween cell">
  26. <view class="label">维修时间</view>
  27. <view class="text_style3">{{pageData.start_time}}至{{pageData.end_time}}</view>
  28. </view>
  29. <view class="hflex acenter jbetween cell">
  30. <view class="label">维修地点</view>
  31. <view class="text_style3">{{pageData.city}} {{pageData.area}} {{pageData.address}}</view>
  32. </view>
  33. </view>
  34. <view class="box hflex acenter jbetween" style="margin-bottom: 186rpx;">
  35. <view class="title">订单类型</view>
  36. <view class="right">{{pageData.quick == 1 ? '普修' : '快修'}}</view>
  37. </view>
  38. <view class="bottom hflex acenter jbetween">
  39. <view class="vflex acenter jcenter" @click="share('Poster1')">
  40. <image src="https://ship.shipcc.cn/common/share.png" mode="" class="bottom_img"></image>
  41. <view class="" style="font-size: 20rpx;margin-right: 30rpx;">分享</view>
  42. </view>
  43. <view class="bottom_btn" @click="openOffer" v-if="pageData.status == 1 ">立即接单</view>
  44. <view class="bottom_btn bottom_btn2" @click="openSee" v-else>已报价,立即查看</view>
  45. </view>
  46. <view class="share_content" :class="share_show?'':'share_content1'">
  47. <!-- <view style="width: 100%;height: 168rpx;"></view> -->
  48. <view class="share_box vflex">
  49. <view class="vflex share1" id="share1" ref="share1">
  50. <view class="hflex acenter jbetween user">
  51. <view class="hflex acenter">
  52. <image data-etype="image" :data-enode="pageData.user.headimg" :src="pageData.user.headimg" style="width:48rpx;height: 48rpx;border-radius: 50%;: 16rpx 10rpx 0 0" class="img Poster1" mode="aspectFill" shape="10"></image>
  53. <view class="Poster1 user_name" :data-enode="pageData.user.nickname">{{pageData.user.nickname}}</view>
  54. <view class="Poster1 user_text" :data-enode="'|' + pageData.city">| {{pageData.city}}</view>
  55. </view>
  56. <!-- <view class="Poster1 user_text" :data-enode="pageData.create_at + '发布'">{{pageData.create_at}}发布</view> -->
  57. </view>
  58. <!-- <text class="share_name Poster1" style="margin: 20rpx 0 28rpx;" :data-enode="pageData.merchant.company">{{pageData.merchant.company}}</text> -->
  59. <view class="Poster1 share_cell" style="width: 600rpx;" data-etype="textarea" :data-enode="pageData.describe">{{pageData.describe}}</view>
  60. <view class="hflex acenter jbetween">
  61. <view class="share_label Poster1" style="margin: 20rpx 0;" data-enode="维修时间">维修时间</view>
  62. <view class="share_label Poster1" style="margin: 20rpx 0;" :data-enode="pageData.start_time + '至' + pageData.end_time">{{pageData.start_time}}至{{pageData.end_time}}</view>
  63. </view>
  64. <view class="hflex acenter jbetween">
  65. <view class="share_label Poster1" style="margin: 20rpx 0;" data-enode="维修地点">维修地点</view>
  66. <view class="share_label Poster1" data-etype="textarea" style="margin: 20rpx 0;width: 480rpx;" :data-enode="pageData.address">{{pageData.address}}</view>
  67. </view>
  68. <view class="hflex acenter jbetween">
  69. <view class="share_label Poster1" style="margin: 20rpx 0;" data-enode="联系方式">联系方式</view>
  70. <view class="share_label Poster1" style="margin: 20rpx 0;" :data-enode="pageData.user.phone">{{pageData.user.phone}}</view>
  71. </view>
  72. <!-- <view class="share_label Poster1" style="margin: 20rpx 0;" :data-enode="'维修地点' + pageData.address">维修地点:{{pageData.address}}</view>
  73. <view class="share_label Poster1" :data-enode="'联系方式' + pageData.user.phone">联系方式:{{pageData.user.phone}}</view> -->
  74. <view class="Poster1">
  75. <block v-for="(item,index) in pageData.imgs" :key="index">
  76. <image data-etype="image" :data-enode="item" :src="item" style="width:180rpx;height: 180rpx;margin: 16rpx 10rpx 0 0" class="img Poster1" mode="aspectFill" shape="10"></image>
  77. <!-- <video class="img Poster1" v-else data-etype="image" :data-enode="style.code" :src="item.src"></video> -->
  78. </block>
  79. </view>
  80. <view class="hflex acenter share_text jcenter Poster1" style=" margin: 0 190rpx 12rpx;" data-enode="长按或扫码查看">长按或扫码查看</view>
  81. <view style="width: 100%;" class="vflex acenter jcenter">
  82. <image class="Poster1" style="width: 25rpx;height: 20rpx;" :data-enode="style.img1" data-etype="image" :src="style.img1"></image>
  83. <image class="Poster1" style="width: 100%;height: 2rpx;margin: 30rpx 0;" :data-enode="style.img2" data-etype="image" :src="style.img2"></image>
  84. </view>
  85. <view class="hflex acenter jbetween">
  86. <view class="vflex">
  87. <view class="share_name Poster1" style="margin: 54rpx 0 20rpx;" data-enode="船百知">船百知</view>
  88. <view class="share_text Poster1" style="margin: 0 0 36rpx;" data-enode="船百知伴你一起杨帆启航,驶向成功彼岸">船百知伴你一起杨帆启航,驶向成功彼岸</view>
  89. </view>
  90. <image class="Poster1" data-etype="image" :data-enode="style.code" :src="style.code" style="width: 136rpx;height: 136rpx;"></image>
  91. <!-- <image class="Poster1" data-etype="image" :data-enode="share_img" :src="share_img" style="width: 136rpx;height: 136rpx;"></image> -->
  92. </view>
  93. </view>
  94. </view>
  95. <evils-el-poster width="325" :height="height" @on-error="onError" :list="list2" backgroundColor="rgb(255, 255, 255)" @on-success="onSuccess" ref="Eposter"></evils-el-poster>
  96. <view class="share_bottom">
  97. <view class="hflex acenter jcenter">
  98. <button class="vflex acenter jcenter bottom_item" open-type="share">
  99. <image src="https://ship.shipcc.cn/common/wx.png" class="item_icon"></image>
  100. <view class="item_text">微信好友</view>
  101. </button>
  102. <!-- <button class="vflex acenter jcenter bottom_item" open-type="share">
  103. <image src="https://ship.shipcc.cn/common/moments.png" class="item_icon"></image>
  104. <view class="item_text">朋友圈</view>
  105. </button> -->
  106. <view class="vflex acenter jcenter bottom_item" @click="saveImg">
  107. <image src="https://ship.shipcc.cn/common/download.png" class="item_icon"></image>
  108. <view class="item_text">保存图片</view>
  109. </view>
  110. </view>
  111. <view class="share_cancel" @click="close">取消</view>
  112. </view>
  113. </view>
  114. <u-popup :show="quotation_show" mode="center" :round="10" :closeable="true" :safeAreaInsetBottom="false" @close="close">
  115. <view class="popup">
  116. <view class="popup_title">立即报价</view>
  117. <view class="input_bg hflex acenter">
  118. <view class="price">¥</view>
  119. <u-input v-model="offer" placeholder="填写你的报价" border="none"></u-input>
  120. </view>
  121. <view class="hflex acenter">
  122. <image src="https://ship.shipcc.cn/common/icon_tips.png" style="width: 24rpx;height: 24rpx;padding-right: 6rpx"></image>
  123. <view class="popup_info">报价可先不填,可等评估后再填写</view>
  124. </view>
  125. <view class="hflex acenter" style="padding:30rpx 0 20rpx;">
  126. <view class="price">上传图片及资质证明图</view>
  127. </view>
  128. <u-upload :fileList="fileList1" @afterRead="afterRead" @delete="deletePic" name="1" multiple :maxCount="9"></u-upload>
  129. <view class="popup_btn" @click="submit">提交</view>
  130. </view>
  131. </u-popup>
  132. <u-popup :show="detail_show" mode="center" :round="10" :closeable="true" :safeAreaInsetBottom="false" @close="close">
  133. <view class="popup">
  134. <view class="popup_title">报价信息</view>
  135. <view class="popup_name">当前报价</view>
  136. <view class="">
  137. <block v-for="(item,index) in list" :key="index">
  138. <view class="hflex acenter input_bg">
  139. <view class="popup_text">第{{list.length - index}}次报价</view>
  140. <view class="red">{{item.price == 0 ? '未报价' : item.price}}</view>
  141. </view>
  142. </block>
  143. </view>
  144. <!-- <view class="hflex acenter input_bg" v-if="offer_info.list.length >= 1">
  145. <view class="popup_text">第一次报价</view>
  146. <view class="red">{{offer_info.list[0].price}}</view>
  147. </view>
  148. <view class="hflex acenter input_bg" v-if="offer_info.list.length >= 2">
  149. <view class="popup_text">第二次报价</view>
  150. <view class="red">{{offer_info.list[1].price}}</view>
  151. </view>
  152. <view class="hflex acenter input_bg" v-if="offer_info.list.length >= 3">
  153. <view class="popup_text">第三次报价</view>
  154. <view class="red">{{offer_info.list[2].price}}</view>
  155. </view> -->
  156. <view class="popup_name">图片及资质证明图片</view>
  157. <view>
  158. <block v-for="(item,index) in offer_info.imgs" :key="index">
  159. <image :src="item" mode="aspectFill" style="width: 188rpx;height: 188rpx;margin: 0 14rpx 20rpx 0;border-radius: 16rpx;"></image>
  160. </block>
  161. </view>
  162. <view class="popup_btn" @click="toDetail">查看详情</view>
  163. </view>
  164. </u-popup>
  165. </view>
  166. </template>
  167. <script>
  168. import $api from '@/static/js/api.js'
  169. var that = ''
  170. export default {
  171. data() {
  172. return {
  173. pageData: {
  174. },
  175. quotation_show: false,
  176. offer: '',
  177. fileList1: [],
  178. imgs: '',
  179. detail_show: false,
  180. offer_info: {
  181. },
  182. id: '',
  183. list: [],
  184. list2: [],
  185. share_show: false,
  186. style: {
  187. img1: 'https://ship.shipcc.cn/common/down2.png',
  188. img2: 'https://ship.shipcc.cn/common/line.png',
  189. code: 'https://ship.shipcc.cn/common/code.jpg'
  190. },
  191. tempImage:'',
  192. share_img: '',
  193. height: 0
  194. }
  195. },
  196. onLoad(options) {
  197. that = this
  198. that.id = options.id
  199. that.getData()
  200. that.getOffer()
  201. },
  202. methods: {
  203. getData() {
  204. $api.req({
  205. url: '/data/api.auth.ShipEngineMaintenance/repairdetail',
  206. method: 'POST',
  207. data: {
  208. id: that.id
  209. }
  210. }, function(res) {
  211. if(res.code == 1) {
  212. console.log(res);
  213. that.pageData = res.data
  214. }
  215. })
  216. },
  217. getOffer() {
  218. $api.req({
  219. url: '/data/api.auth.ShipEngineMaintenance/offerinfo',
  220. method: 'POST',
  221. data: {
  222. id: that.id
  223. }
  224. }, function(res) {
  225. if(res.code == 1) {
  226. that.offer_info = res.data
  227. let length = res.data.list.length
  228. let index = 0
  229. that.list = []
  230. for(var i=length-1;i>=0;i--) {
  231. that.list.push(that.info.list[i])
  232. }
  233. console.log(that.list);
  234. }
  235. })
  236. },
  237. preview() {
  238. uni.previewImage({
  239. urls: that.pageData.imgs
  240. })
  241. },
  242. // 立即接单
  243. openOffer() {
  244. var maintenance = uni.getStorageSync('maintenance')
  245. if(maintenance) {
  246. that.quotation_show = true
  247. } else {
  248. $api.info("请先成为维修工")
  249. }
  250. },
  251. submit() {
  252. console.log(that.pageData.status);
  253. that.pageData.status = 2
  254. console.log(that.pageData.status);
  255. $api.req({
  256. url: '/data/api.auth.ShipEngineMaintenance/repairoffer',
  257. method: 'POST',
  258. data: {
  259. id: that.id,
  260. price: that.offer,
  261. imgs: that.imgs
  262. }
  263. }, function(res) {
  264. if(res.code == 1) {
  265. $api.info(res.info)
  266. that.close()
  267. // that.pageData = {}
  268. // that.getData()
  269. }
  270. })
  271. },
  272. // 查看报价
  273. openSee() {
  274. that.detail_show = true
  275. },
  276. // 关闭
  277. close() {
  278. that.quotation_show = false
  279. that.detail_show = false
  280. that.share_show = false
  281. },
  282. // 删除图片
  283. deletePic(event) {
  284. this[`fileList${event.name}`].splice(event.index, 1)
  285. },
  286. // 新增图片
  287. async afterRead(event) {
  288. uni.showLoading({
  289. title: '上传中',
  290. mask: true
  291. })
  292. let lists = [].concat(event.file)
  293. let fileListLen = this[`fileList${event.name}`].length
  294. lists.map((item) => {
  295. this[`fileList${event.name}`].push({
  296. ...item,
  297. status: 'uploading',
  298. message: '上传中'
  299. })
  300. })
  301. for (let i = 0; i < lists.length; i++) {
  302. const result = await this.uploadFilePromise(lists[i].url)
  303. let item = this[`fileList${event.name}`][fileListLen]
  304. this[`fileList${event.name}`].splice(fileListLen, 1, Object.assign(item, {
  305. status: 'success',
  306. message: '',
  307. url: result.url
  308. }))
  309. fileListLen++
  310. if(lists.length - 1 == i) {
  311. uni.hideLoading()
  312. }
  313. }
  314. if(that[`fileList${event.name}`].length > 0) {
  315. for(var i=0;i<that[`fileList${event.name}`].length;i++) {
  316. if(i == that[`fileList${event.name}`].length -1) {
  317. that.imgs += that[`fileList${event.name}`][i].url
  318. } else {
  319. that.imgs += that[`fileList${event.name}`][i].url + ','
  320. }
  321. }
  322. }
  323. },
  324. // 上传图片
  325. uploadFilePromise(url) {
  326. return new Promise((resolve, reject) => {
  327. let a = uni.uploadFile({
  328. url: $api.config.baseUrl + '/data/api.auth.Center/upload',
  329. filePath: url,
  330. name: 'file',
  331. header: {
  332. 'content-type': 'application/x-www-form-urlencoded',
  333. 'api-token': uni.getStorageSync('token').token?uni.getStorageSync('token').token:'',
  334. 'api-name': 'wxapp'
  335. },
  336. formData: {
  337. user: 'test'
  338. },
  339. success: (res) => {
  340. setTimeout(() => {
  341. var data = JSON.parse(res.data)
  342. resolve(data.data)
  343. }, 1000)
  344. }
  345. });
  346. })
  347. },
  348. toDetail() {
  349. $api.jump('/page_shop/pages/order/offer2?id=' + that.id + '&status=' + that.pageData.status)
  350. },
  351. share(elClass) {
  352. uni.createSelectorQuery().in(this).select('#share1').boundingClientRect((res) => {
  353. that.height = res.height
  354. console.log(res);
  355. }).exec()
  356. let view = uni.createSelectorQuery().in(this).select(".Poster1");
  357. view.fields({
  358. size: true,
  359. rect: true,
  360. scrollOffset: true
  361. }, data => {
  362. console.log('data=',data);
  363. }).exec();
  364. that.share_show = true
  365. that.$refs.Eposter.createForElRect(elClass,false)
  366. },
  367. onSuccess(e) {
  368. console.log(e);
  369. that.tempImage = e
  370. },
  371. onError(err) {
  372. console.log('发生错误');
  373. console.log(err);
  374. },
  375. saveImg() {
  376. console.log(that.tempImage);
  377. uni.authorize({
  378. scope: 'scope.writePhotosAlbum',
  379. success() {
  380. uni.saveImageToPhotosAlbum({
  381. filePath: that.tempImage,
  382. success: function () {
  383. console.log('save success');
  384. $api.info('保存成功')
  385. that.close()
  386. }
  387. });
  388. }
  389. })
  390. },
  391. },
  392. }
  393. </script>
  394. <style lang="scss" scoped>
  395. .content {
  396. background: #F4F4F4;
  397. .box {
  398. width: 690rpx;
  399. margin: 20rpx 30rpx 0;
  400. background: #FFFFFF;
  401. border-radius: 10px;
  402. box-sizing: border-box;
  403. padding: 20rpx;
  404. .avatar {
  405. width: 72rpx;
  406. height: 72rpx;
  407. border-radius: 50%;
  408. }
  409. .text_style1 {
  410. font-size: 28rpx;
  411. font-weight: 500;
  412. color: #222222;
  413. line-height: 40rpx;
  414. }
  415. .text_style2 {
  416. font-size: 22rpx;
  417. font-weight: 400;
  418. color: #B7B7B7;
  419. line-height: 32rpx;
  420. }
  421. .text_style3 {
  422. font-size: 28rpx;
  423. font-weight: 400;
  424. color: #444444;
  425. line-height: 44rpx;
  426. }
  427. .img {
  428. width: 200rpx;
  429. height: 200rpx;
  430. border-radius: 12rpx;
  431. margin: 0 14rpx 20rpx 0;
  432. }
  433. .img:nth-child(3n+3) {
  434. margin: 0 0 20rpx 0;
  435. }
  436. .label {
  437. width: 200rpx;
  438. font-size: 26rpx;
  439. font-weight: 400;
  440. color: #777777;
  441. line-height: 36rpx;
  442. }
  443. .title {
  444. font-size: 30rpx;
  445. font-weight: 400;
  446. color: #222222;
  447. line-height: 42rpx;
  448. }
  449. .right {
  450. font-size: 30rpx;
  451. font-weight: 500;
  452. color: #506DFF;
  453. line-height: 42rpx;
  454. }
  455. .cell {
  456. padding: 14rpx 0;
  457. }
  458. }
  459. .bottom {
  460. width: 100%;
  461. z-index: 9;
  462. position: fixed;
  463. bottom: 0;
  464. height: 166rpx;
  465. background: #FFFFFF;
  466. box-sizing: border-box;
  467. padding: 8rpx 40rpx 74rpx;
  468. .bottom_img {
  469. width: 40rpx;
  470. height: 40rpx;
  471. margin-right: 30rpx;
  472. }
  473. .text_style1 {
  474. white-space: nowrap;
  475. padding-right: 30rpx;
  476. }
  477. .bottom_btn {
  478. width: 100%;
  479. height: 84rpx;
  480. background: #506DFF;
  481. border-radius: 42rpx;
  482. font-size: 36rpx;
  483. font-weight: 500;
  484. color: #FFFFFF;
  485. text-align: center;
  486. line-height: 84rpx;
  487. }
  488. .bottom_btn2 {
  489. background: rgba(80,109,255,0.5);
  490. }
  491. }
  492. .popup {
  493. width: 670rpx;
  494. background: #FFFFFF;
  495. border-radius: 10px;
  496. box-sizing: border-box;
  497. padding: 36rpx 30rpx 24rpx;
  498. .popup_title {
  499. width: 100%;
  500. text-align: center;
  501. font-size: 32rpx;
  502. font-weight: 500;
  503. color: #222222;
  504. margin-bottom: 24rpx;
  505. }
  506. .popup_name {
  507. font-size: 26rpx;
  508. font-weight: 400;
  509. color: #222222;
  510. padding: 28rpx 0 20rpx;
  511. }
  512. .popup_text {
  513. font-size: 22rpx;
  514. font-weight: 500;
  515. color: #777777;
  516. padding-right: 60rpx;
  517. }
  518. .input_bg {
  519. background: #F4F4F4;
  520. border-radius: 8px;
  521. box-sizing: border-box;
  522. padding: 16rpx 20rpx;
  523. margin: 20rpx 0;
  524. .price {
  525. font-size: 32rpx;
  526. font-weight: 500;
  527. color: #222222;
  528. padding-right: 20rpx;
  529. }
  530. .u-textarea {
  531. background-color: #F4F4F4 !important;
  532. }
  533. .red {
  534. font-size: 28rpx;
  535. font-weight: bold;
  536. color: #FF3636;
  537. }
  538. }
  539. .popup_info {
  540. font-size: 20rpx;
  541. font-weight: 400;
  542. color: #C0C0C0;
  543. line-height: 28rpx;
  544. }
  545. .popup_btn {
  546. width: 610rpx;
  547. height: 80rpx;
  548. background: #506DFF;
  549. border-radius: 40rpx;
  550. font-size: 32rpx;
  551. font-weight: 500;
  552. color: #FFFFFF;
  553. text-align: center;
  554. line-height: 80rpx;
  555. margin: 20rpx 0;
  556. }
  557. }
  558. .share_content {
  559. position: fixed;
  560. top: 0;
  561. left: 0;
  562. z-index: 99;
  563. width: 100vw;
  564. height: 100vh;
  565. background: rgba(0,0,0,0.5);
  566. backdrop-filter: blur(5px);
  567. padding: 0 0 0;
  568. .share_box {
  569. margin: 100rpx auto 0;
  570. width: 650rpx;
  571. height: 800rpx;
  572. overflow: auto;
  573. background: #FFFFFF;
  574. border-radius: 20rpx;
  575. box-sizing: border-box;
  576. padding: 32rpx 35rpx;
  577. .user {
  578. padding-bottom: 24rpx;
  579. .user_text {
  580. font-size: 24rpx;
  581. font-family: SFPro-Regular, SFPro;
  582. font-weight: 400;
  583. color: #888888;
  584. line-height: 28rpx;
  585. }
  586. .user_name {
  587. font-size: 24rpx;
  588. font-family: PingFangSC-Regular, PingFang SC;
  589. font-weight: 400;
  590. color: #222222;
  591. line-height: 34rpx;
  592. }
  593. }
  594. .share_name {
  595. width: 100%;
  596. font-size: 32rpx;
  597. font-weight: 500;
  598. color: #222222;
  599. line-height: 44rpx;
  600. }
  601. .share_boxbg {
  602. background: #F4F4F4;
  603. border-radius: 8px;
  604. box-sizing: border-box;
  605. padding: 0 20rpx;
  606. .share_cell {
  607. font-size: 32rpx;
  608. font-family: PingFangSC-Medium, PingFang SC;
  609. font-weight: 600;
  610. color: #222222;
  611. line-height: 44rpx;
  612. margin: 0 0 36rpx;
  613. }
  614. .item_title {
  615. font-size: 28rpx;
  616. font-weight: 400;
  617. color: #222222;
  618. line-height: 40rpx;
  619. padding: 20rpx 0 16rpx;
  620. }
  621. .text_style2 {
  622. font-size: 24rpx;
  623. font-weight: 400;
  624. color: #888888;
  625. line-height: 34rpx;
  626. }
  627. .padR-20 {
  628. padding-right: 20rpx;
  629. }
  630. }
  631. .share_label {
  632. font-size: 26rpx;
  633. font-weight: 400;
  634. color: #444444;
  635. line-height: 36rpx;
  636. margin: 20rpx 0 54rpx;
  637. }
  638. .share_text {
  639. font-size: 20rpx;
  640. font-weight: 400;
  641. color: #BEBEBE;
  642. line-height: 28rpx;
  643. margin: 20rpx 136rpx 18rpx;
  644. }
  645. .box_bottom {
  646. width: 100%;
  647. padding: 34rpx 0 16rpx;
  648. border-top: 1rpx dashed #C3C3C3;
  649. .bottom_left1 {
  650. font-size: 32rpx;
  651. font-weight: 500;
  652. color: #222222;
  653. line-height: 44rpx;
  654. padding-bottom: 20rpx;
  655. }
  656. .bottom_left2 {
  657. font-size: 22rpx;
  658. font-weight: 400;
  659. color: #999999;
  660. line-height: 32rpx;
  661. }
  662. .bottom_right {
  663. width: 136rpx;
  664. height: 136rpx;
  665. }
  666. }
  667. }
  668. /* .canvas {
  669. position: absolute;
  670. top: 128rpx;
  671. left: 50rpx;
  672. width: 650rpx;
  673. min-height: 494rpx;
  674. background: #FFFFFF;
  675. border-radius: 20rpx;
  676. } */
  677. .share_bottom {
  678. position: fixed;
  679. bottom: 0;
  680. width: 100%;
  681. height: 388rpx;
  682. background: #F5F7FF;
  683. border-radius: 40rpx 40rpx 0px 0px;
  684. .bottom_item {
  685. width: 33%;
  686. margin: 50rpx 0 90rpx;
  687. border: none !important;
  688. background-color: #F5F7FF !important;
  689. .item_icon {
  690. width: 76rpx;
  691. height: 76rpx;
  692. }
  693. .item_text {
  694. font-size: 26rpx;
  695. font-weight: 400;
  696. color: #333333;
  697. line-height: 36rpx;
  698. margin-top: 12rpx;
  699. }
  700. }
  701. button::after {
  702. border: none !important;
  703. }
  704. .share_cancel {
  705. width: 100%;
  706. text-align: center;
  707. font-size: 32rpx;
  708. font-weight: 400;
  709. color: #333333;
  710. line-height: 44rpx;
  711. }
  712. }
  713. }
  714. .share_content1 {
  715. z-index: -99 !important;
  716. }
  717. }
  718. </style>