index.vue 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884
  1. <template>
  2. <view class="container mine clearfix">
  3. <view
  4. class="tui-header-box first"
  5. :style="{ height: isCmcustomClass == 'fiexd' ? CustomBar + 6 + 'px' : CustomBar + 6 + 'px' }"
  6. :class="isCmcustomClass"
  7. >
  8. <view class="header-top" :style="{ paddingTop: top + 'px', lineHeight: CustomBar + 20 + 'px' }"></view>
  9. <view class="header-sit">
  10. <text class="iconfont icon-fanhui" @click.stop="this.$api.navigateBack(1)"></text>
  11. <text class="header-sit-text">关联订单</text>
  12. </view>
  13. </view>
  14. <tui-skeleton
  15. v-if="skeletonShow"
  16. backgroundColor="#fafafa"
  17. borderRadius="10rpx"
  18. :isLoading="true"
  19. :loadingType="7"
  20. ></tui-skeleton>
  21. <view class="container-content" v-else>
  22. <view class="tui-header-tabs day clearfix" :style="{ top: CustomBar + 6 + 'px' }">
  23. <view v-if="!isShowHeader">
  24. <view class="tui-header-top">
  25. <view class="title"> 收款信息 </view>
  26. <view class="tui-header-button">
  27. <view class="button btn-confirm" @click="toNoSms('/pages/collection/list')">
  28. <text class="iconfont icon-wodedingdan"></text> 收款列表
  29. </view>
  30. </view>
  31. </view>
  32. <view class="tui-header-item">
  33. <view class="list-title-t">
  34. <view class="list-title-tip">
  35. <text class="badges">{{ receiptInfo.receiptType | formatReceiptType }}</text>
  36. </view>
  37. <view class="list-title-num" :style="{ color: formatColor(receiptInfo.receiptStatus) }">{{
  38. receiptInfo.receiptStatus | formatStateType
  39. }}</view>
  40. </view>
  41. <view class="list-title-b">
  42. <view class="list-title-b-item ">
  43. 收款金额:<text class="text">¥{{ receiptInfo.receiptAmount | NumFormat }}</text>
  44. </view>
  45. <view class="list-title-b-item ">
  46. 收款类型:<text class="text">{{ receiptInfo.payTypeText }}</text>
  47. </view>
  48. </view>
  49. <view class="list-title-b">
  50. 收款时间:<text class="text">{{ receiptInfo.receiptDate }}</text>
  51. </view>
  52. <template v-if="receiptInfo.smsContent">
  53. <view class="list-title-b">收款短信:</view>
  54. <view class="list-title-b sms">
  55. <text class="text">{{ receiptInfo.smsContent ? receiptInfo.smsContent : '无' }}</text>
  56. </view>
  57. </template>
  58. <view class="list-icon" v-if="receiptInfo.tipMsg">
  59. <image
  60. class="list-icon-image"
  61. src="https://static.caimei365.com/app/crm/image/icon-noconfirm@2x.png"
  62. mode=""
  63. v-if="receiptInfo.receiptStatus == 1"
  64. ></image>
  65. <image
  66. class="list-icon-image"
  67. src="https://static.caimei365.com/app/crm/image/icon-noaudit@2x.png"
  68. mode=""
  69. v-if="receiptInfo.receiptStatus == 2"
  70. ></image>
  71. </view>
  72. </view>
  73. </view>
  74. <view class="tui-header-tabmain">
  75. <input
  76. class="input"
  77. type="text"
  78. v-model="listQuery.keyword"
  79. confirm-type="search"
  80. @confirm="subMitSearch()"
  81. placeholder="请输入供应商名称"
  82. />
  83. <text class="iconfont icon-sousuo"></text>
  84. </view>
  85. </view>
  86. <view
  87. class="user-section"
  88. :style="{
  89. top: isIphoneX ? CustomBar + 260 + 'px' : CustomBar + 250 + 'px',
  90. left: 0 + 'px',
  91. paddingBottom: isIphoneX ? '178rpx' : '144rpx'
  92. }"
  93. >
  94. <view class="header-content">
  95. <view :class="{ 'tui-order-list': scrollTop >= 0 }" class="clearfix">
  96. <!-- 空白页 -->
  97. <empty v-if="isEmpty" :typeIndex="currents" :navbarHeight="navbarHeight"></empty>
  98. <!-- 列表 -->
  99. <view v-else class="tui-order-content">
  100. <view
  101. class="tui-order-item"
  102. v-for="(order, index) in orderList"
  103. :key="index"
  104. >
  105. <view class="list-title" @click.stop="orderDetail(order.mainOrder.orderId)">
  106. <view class="list-title-t">
  107. <view class="list-title-tip">
  108. <text class="badges">{{ order.mainOrder.orderType | formatOrderType }}</text>
  109. </view>
  110. <view class="list-title-tag" v-if="order.mainOrder.organizeId == 3">
  111. <text class="badges">维沙</text>
  112. </view>
  113. <view class="list-title-num">{{ order.mainOrder.status | stateExpFormat }}</view>
  114. </view>
  115. <view class="list-title-a">
  116. <view class="list-title-a-text">
  117. 子订单编号:<text class="text">{{ order.shopOrderNo }} ( {{ order.shopOrderId }} )</text>
  118. </view>
  119. <view class="list-title-a-text">
  120. 供应商名称:<text class="text">{{ order.shopName }}</text>
  121. </view>
  122. <view class="list-title-a-text">
  123. 订单金额:<text class="text">¥{{ order.needPayAmount | NumFormat }}</text>
  124. </view>
  125. </view>
  126. <view class="list-title-b">
  127. 客户名称:<text class="text">{{ order.mainOrder.userName ? order.mainOrder.userName : '无' }}</text>
  128. </view>
  129. <view class="list-title-b">
  130. 订单编号:<text class="text">{{ order.mainOrder.orderNo }} ( {{ order.mainOrder.orderId }} )</text>
  131. </view>
  132. <view class="list-title-b">
  133. 下单日期:<text class="text">{{ order.mainOrder.orderTime }}</text>
  134. </view>
  135. <view class="list-title-b">
  136. <view class="list-title-b-item ">
  137. 订单金额:<text class="text">¥{{ order.mainOrder.payTotalFee | NumFormat }}</text>
  138. </view>
  139. <view class="list-title-b-item ">
  140. 已收金额:<text class="text">¥{{ order.mainOrder.paidAmount | NumFormat }}</text>
  141. </view>
  142. </view>
  143. </view>
  144. <view class="list-checked" @click="checkedOrder(order,index)">
  145. <text
  146. class="iconfont"
  147. :class="order.isChecked ? 'icon-yixuanze' : 'icon-weixuanze'"
  148. ></text>
  149. </view>
  150. <view class="list-detail" @click.stop="orderDetail(order.mainOrder.orderId)">
  151. <text class="iconfont icon-xiayibu"></text>
  152. </view>
  153. </view>
  154. <!--加载loadding-->
  155. <tui-loadmore :visible="loadding" :index="3" type="black"></tui-loadmore>
  156. <tui-nomore :visible="!pullUpOn" bgcolor="#F7F7F7" :text="nomoreText"></tui-nomore>
  157. <!--加载loadding-->
  158. </view>
  159. </view>
  160. </view>
  161. </view>
  162. <view class="distinguish-button" :style="{ paddingBottom: isIphoneX ? '68rpx' : '24rpx' }">
  163. <view class="button" @click="confirmDistinguish">确认</view>
  164. </view>
  165. </view>
  166. <!-- 弹窗 -->
  167. <tui-modal :show="modal" :padding="'40rpx 30rpx'" @cancel="hideMobel" :custom="true" fadeIn >
  168. <view class="tui-modal-custom">
  169. <view class="tui-prompt-text">
  170. {{ contentModalText }}
  171. </view>
  172. <view class="tui-prompt-flex">
  173. <view class="btn btn-confirm" @click="hideMobel">知道了</view>
  174. </view>
  175. </view>
  176. </tui-modal>
  177. </view>
  178. </template>
  179. <script>
  180. import headerBack from '@/components/cm-module/headerNavbar/header-back' //自定义导航
  181. import modalLayer from '@/components/modal-layer'
  182. import empty from '@/components/empty'
  183. import wxLogin from '@/services/wxLogin.js'
  184. import { mapState, mapMutations } from 'vuex'
  185. const defaultListQuery = {
  186. pageNum: 1, //页数
  187. pageSize: 10, //条数
  188. confirmedType: 0,
  189. id: 0,
  190. keyword: '',
  191. }
  192. export default {
  193. components: {
  194. empty
  195. },
  196. data() {
  197. return {
  198. CustomBar: this.CustomBar, // 顶部导航栏高度
  199. isIphoneX: this.$store.state.isIphoneX,
  200. receiptInfo: {},
  201. listQuery: Object.assign({}, defaultListQuery),
  202. orderList: [],
  203. scrollTop: 0,
  204. isEmpty: false,
  205. loadding: false,
  206. pullUpOn: true,
  207. hasNextPage: false,
  208. pullFlag: true,
  209. navbarHeight: '',
  210. nomoreText: '上拉显示更多',
  211. contentModalText: '', //操作文字提示语句
  212. modal: false,
  213. OperationType: '', //操作类型
  214. isCmcustomClass: 'left',
  215. isShowHeader: false,
  216. height: 64, //header高度
  217. top: 0, //标题图标距离顶部距离
  218. scrollH: 0, //滚动总高度
  219. opcity: 1,
  220. checkedOrderList: [],
  221. checkedIds:[],
  222. checkedRefundIndex: 0,
  223. confirmRefundParams:{
  224. shopOrderId:0,
  225. id:0,
  226. },
  227. skeletonShow: true,
  228. modelTpye:1,// 收款弹窗类型
  229. }
  230. },
  231. onLoad(option) {
  232. let obj = {}
  233. uni.getSystemInfo({
  234. success: res => {
  235. this.width = obj.left || res.windowWidth
  236. this.height = obj.top ? obj.top + obj.height + 8 : res.statusBarHeight + 44
  237. this.top = obj.top ? obj.top + (obj.height - 32) / 2 : res.statusBarHeight + 6
  238. this.scrollH = res.windowWidth * 0.6
  239. }
  240. })
  241. this.confirmRefundParams.id = option.id
  242. this.getOrderReceiptDetail(this.confirmRefundParams.id)
  243. },
  244. computed: {
  245. ...mapState(['hasLogin']),
  246. },
  247. methods: {
  248. getOrderReceiptDetail(id) {
  249. // 收款详情
  250. this.OrderService.orderReceiptRefundDetail({ id: id })
  251. .then(response => {
  252. this.receiptInfo = response.data
  253. this.getOrderReceiptRefundOrders()
  254. })
  255. .catch(err => {
  256. this.$util.msg(err.msg, 2000)
  257. })
  258. },
  259. getOrderReceiptRefundOrders() {
  260. // 收款详情-订单列表
  261. this.OrderService.orderReceiptRefundOrders(this.listQuery)
  262. .then(response => {
  263. let data = response.data
  264. this.hasNextPage = response.data.hasNextPage
  265. if (data.list && data.list.length > 0) {
  266. this.isEmpty = false
  267. this.orderList = data.list.map((el, index) => {
  268. el.isChecked = false
  269. return el
  270. })
  271. this.pullFlag = false
  272. setTimeout(() => {
  273. this.pullFlag = true
  274. }, 500)
  275. if (this.hasNextPage) {
  276. this.pullUpOn = false
  277. this.nomoreText = '上拉显示更多'
  278. } else {
  279. if (this.orderList.length < 3) {
  280. this.pullUpOn = true
  281. } else {
  282. this.pullUpOn = false
  283. this.loadding = false
  284. this.nomoreText = '已至底部'
  285. }
  286. }
  287. } else {
  288. this.isEmpty = true
  289. }
  290. this.skeletonShow = false
  291. })
  292. .catch(err => {
  293. this.$util.msg(err.msg, 2000)
  294. })
  295. },
  296. getOnReachBottomData(index) {
  297. //上拉加载
  298. this.listQuery.pageNum += 1
  299. this.OrderService.orderReceiptRefundOrders(this.listQuery)
  300. .then(response => {
  301. let data = response.data
  302. if (data.list && data.list.length > 0) {
  303. this.hasNextPage = data.hasNextPage
  304. let list = data.list.map((el, index) => {
  305. el.isChecked = false
  306. return el
  307. })
  308. this.orderList = this.orderList.concat(list)
  309. this.pullFlag = false // 防上拉暴滑
  310. setTimeout(() => {
  311. this.pullFlag = true
  312. }, 500)
  313. if (this.hasNextPage) {
  314. this.pullUpOn = false
  315. this.nomoreText = '上拉显示更多'
  316. } else {
  317. this.pullUpOn = false
  318. this.loadding = false
  319. this.nomoreText = '已至底部'
  320. }
  321. }
  322. })
  323. .catch(error => {
  324. this.$util.msg(error.msg, 2000)
  325. })
  326. },
  327. subMitSearch() {
  328. // 确认搜索
  329. this.listQuery.pageNum = 1
  330. this.getOrderReceiptRefundOrders()
  331. },
  332. confirmDistinguish() {
  333. // 点击确认
  334. if (this.confirmRefundParams.shopOrderId == 0) {
  335. this.$util.msg('请选择订单!', 2000)
  336. return
  337. }
  338. this.orderReceiptConfirm(this.confirmRefundParams)
  339. },
  340. checkedOrder(order,index) {
  341. // 勾选关联订单
  342. this.checkedIndex = index
  343. this.orderList.forEach((el, index) => {
  344. if (this.checkedIndex == index) {
  345. el.isChecked = true
  346. this.confirmRefundParams.shopOrderId = el.shopOrderId
  347. } else {
  348. el.isChecked = false
  349. }
  350. })
  351. console.log('shopOrderId',this.confirmRefundParams.shopOrderId)
  352. },
  353. orderReceiptConfirm(params){
  354. //确认关联退款子订单
  355. this.OrderService.orderReceiptConfirmRefund(params)
  356. .then(response => {
  357. this.$util.msg('关联成功~', 2000, true, 'success')
  358. setTimeout(()=>{
  359. this.$api.navigateTo(`/pages/relation/refund/detail?id=${this.confirmRefundParams.id}`)
  360. },2000)
  361. })
  362. .catch(error => {
  363. this.modal = true
  364. this.contentModalText = error.msg
  365. })
  366. },
  367. hideMobel() {
  368. this.modal = false
  369. },
  370. formatColor(state) {
  371. //设置颜色
  372. let stateColor = '',
  373. stateColorObject = {
  374. 1: '#FEAC20',
  375. 2: '#4cd964',
  376. 3: '#34CC8C',
  377. 4: '#F94B4B',
  378. 5: '#007aff'
  379. }
  380. Object.keys(stateColorObject).forEach(function(key) {
  381. if (key == state) {
  382. stateColor = stateColorObject[key]
  383. }
  384. })
  385. return stateColor
  386. },
  387. orderDetail(id) {
  388. //订单详情跳转
  389. this.$api.navigateTo(`/pages/relation/order/detail?orderId=${id}`)
  390. },
  391. toNoSms(url) {
  392. this.$api.navigateTo(url)
  393. }
  394. },
  395. onPageScroll(e) {
  396. //实时获取到滚动的值
  397. if (e.scrollTop > 30) {
  398. this.isCmcustomClass = 'fiexd'
  399. } else {
  400. this.isCmcustomClass = 'left'
  401. }
  402. if (e.scrollTop > 180) {
  403. this.isShowHeader = true
  404. } else {
  405. this.isShowHeader = false
  406. }
  407. },
  408. onReachBottom() {
  409. if (this.hasNextPage) {
  410. this.loadding = true
  411. this.pullUpOn = true
  412. this.getOnReachBottomData()
  413. }
  414. },
  415. onPullDownRefresh() {
  416. setTimeout(() => {
  417. this.listQuery.pageNum = 1
  418. this.getOrderReceiptRefundOrders()
  419. uni.stopPullDownRefresh()
  420. }, 200)
  421. },
  422. onShareAppMessage(res) {
  423. //分享购买优惠券
  424. const payment = res.target.dataset.payment
  425. console.log('payment', payment)
  426. if (res.from === 'button') {
  427. // console.log('来自页面内转发按钮')
  428. return {
  429. title: `【待确认】收款金额${payment.receiptAmount.toFixed(2)}元,收款时间:${payment.receiptDate}`,
  430. path: `pages/seller/cart/coupon-share?payment=${payment.id}`,
  431. imageUrl: 'https://static.caimei365.com/app/img/icon/icon-shareCoupon@2x.png'
  432. }
  433. }
  434. },
  435. onShow() {
  436. }
  437. }
  438. </script>
  439. <style lang="scss">
  440. @import '@/uni.scss';
  441. page {
  442. background: #f7f7f7;
  443. }
  444. .tui-header-box {
  445. width: 100%;
  446. background: #ffffff;
  447. z-index: 999;
  448. position: fixed;
  449. top: 0;
  450. left: 0;
  451. background-size: cover;
  452. background-image: url(https://static.caimei365.com/app/crm/image/statistic_bg2.png);
  453. &.fiexd {
  454. }
  455. &.first {
  456. }
  457. }
  458. .header-top {
  459. width: 100%;
  460. font-size: 16px;
  461. font-weight: 500;
  462. height: 32px;
  463. display: flex;
  464. align-items: center;
  465. justify-content: center;
  466. position: relative;
  467. padding: 0 40rpx;
  468. }
  469. .header-sit {
  470. width: 100%;
  471. box-sizing: border-box;
  472. height: 80rpx;
  473. line-height: 80rpx;
  474. box-sizing: border-box;
  475. color: #ffffff;
  476. .header-sit-text {
  477. text-align: left;
  478. font-size: $font-size-40;
  479. font-weight: 600;
  480. font-family: '正楷';
  481. }
  482. .icon-fanhui {
  483. display: block;
  484. width: 80rpx;
  485. height: 80rpx;
  486. float: left;
  487. text-align: center;
  488. line-height: 80rpx;
  489. font-size: 42rpx;
  490. }
  491. }
  492. .tui-header-tabs {
  493. width: 100%;
  494. height: auto;
  495. margin-bottom: 40rpx;
  496. padding: 20rpx 24rpx;
  497. background: #ffffff;
  498. box-sizing: border-box;
  499. position: fixed;
  500. z-index: 999;
  501. box-shadow: 0 10rpx 10rpx 0 rgba(86, 119, 252, 0.2);
  502. .tui-header-top {
  503. width: 100%;
  504. height: 66rpx;
  505. box-sizing: border-box;
  506. float: left;
  507. .title {
  508. float: left;
  509. line-height: 66rpx;
  510. color: #333333;
  511. text-align: left;
  512. font-size: $font-size-30;
  513. font-weight: 600;
  514. }
  515. .tui-header-button {
  516. float: right;
  517. box-sizing: border-box;
  518. height: 100%;
  519. line-height: 66rpx;
  520. padding: 5rpx 0;
  521. .button {
  522. float: left;
  523. box-sizing: border-box;
  524. padding: 0 24rpx;
  525. height: 100%;
  526. line-height: 56rpx;
  527. border-radius: 8rpx;
  528. text-align: center;
  529. color: #ffffff;
  530. margin-left: 10rpx;
  531. &.btn-confirm {
  532. background: $btn-confirm;
  533. }
  534. }
  535. }
  536. }
  537. .tui-header-item {
  538. width: 100%;
  539. height: auto;
  540. margin: 10rpx 0;
  541. position: relative;
  542. float: left;
  543. .list-title-t {
  544. width: 100%;
  545. height: 50rpx;
  546. float: left;
  547. font-size: $font-size-28;
  548. padding-bottom: 10rpx;
  549. margin-bottom: 10rpx;
  550. .list-title-num {
  551. float: left;
  552. text-align: left;
  553. color: #999999;
  554. margin-left: 30rpx;
  555. line-height: 40rpx;
  556. }
  557. .list-title-tip {
  558. float: left;
  559. .badges {
  560. display: block;
  561. float: left;
  562. padding: 0 15rpx;
  563. height: 40rpx;
  564. line-height: 40rpx;
  565. border-radius: 4rpx;
  566. background: $btn-confirm;
  567. font-size: $font-size-24;
  568. text-align: center;
  569. color: #ffffff;
  570. }
  571. }
  572. }
  573. .list-title-b {
  574. width: 100%;
  575. height: 40rpx;
  576. float: left;
  577. font-size: $font-size-24;
  578. line-height: 40rpx;
  579. color: #666666;
  580. text-align: left;
  581. .text{
  582. color: #999999;
  583. }
  584. .list-title-b-item {
  585. width: 50%;
  586. height: 100%;
  587. float: left;
  588. }
  589. &.sms {
  590. height: 100rpx;
  591. padding: 10rpx;
  592. border-radius: 4rpx;
  593. }
  594. }
  595. .list-icon {
  596. width: 120rpx;
  597. height: 120rpx;
  598. border-radius: 10rpx;
  599. position: absolute;
  600. right: 0;
  601. top: 0;
  602. color: #dd524d;
  603. z-index: 99;
  604. .list-icon-image{
  605. width: 120rpx;
  606. height: 120rpx;
  607. display: block;
  608. }
  609. }
  610. }
  611. .tui-header-tabmain {
  612. width: 100%;
  613. height: 70rpx;
  614. float: left;
  615. position: relative;
  616. .input {
  617. width: 100%;
  618. height: 70rpx;
  619. box-sizing: border-box;
  620. padding: 0 20rpx;
  621. padding-left: 70rpx;
  622. background: #f7f7f7;
  623. border-radius: 8rpx;
  624. font-size: $font-size-26;
  625. }
  626. .icon-sousuo {
  627. width: 80rpx;
  628. height: 70rpx;
  629. display: block;
  630. line-height: 70rpx;
  631. text-align: center;
  632. color: #999999;
  633. font-size: $font-size-38;
  634. position: absolute;
  635. left: 0;
  636. top: 0;
  637. }
  638. }
  639. .button-content {
  640. width: 100%;
  641. height: auto;
  642. float: left;
  643. position: relative;
  644. .btn {
  645. height: 64rpx;
  646. padding: 0 20rpx;
  647. margin: 10rpx 0 0 0;
  648. line-height: 64rpx;
  649. font-size: $font-size-26;
  650. text-align: center;
  651. border-radius: 6rpx;
  652. float: right;
  653. }
  654. .btn-confirm {
  655. background-color: #ff5000;
  656. color: #ffffff;
  657. }
  658. }
  659. }
  660. .distinguish-button {
  661. width: 100%;
  662. position: fixed;
  663. bottom: 0;
  664. left: 0;
  665. background-color: #ffffff;
  666. padding: 0 50rpx;
  667. padding-top: 20rpx;
  668. .button {
  669. width: 100%;
  670. height: 80rpx;
  671. background: $btn-confirm;
  672. border-radius: 40rpx;
  673. text-align: center;
  674. color: #ffffff;
  675. line-height: 80rpx;
  676. font-size: $font-size-28;
  677. box-shadow: 0 10rpx 14rpx 0 rgba(86, 119, 252, 0.2);
  678. }
  679. }
  680. .user-section {
  681. position: absolute;
  682. width: 100%;
  683. }
  684. .header-content {
  685. width: 100%;
  686. height: auto;
  687. position: relative;
  688. background-color: #f7f7f7;
  689. .tui-header-btm {
  690. width: 100%;
  691. padding: 0 30rpx;
  692. box-sizing: border-box;
  693. display: flex;
  694. align-items: center;
  695. justify-content: space-between;
  696. color: #fff;
  697. }
  698. }
  699. .tui-order-list {
  700. margin-top: 24rpx;
  701. width: 100%;
  702. position: relative;
  703. box-sizing: border-box;
  704. padding: 0 20rpx;
  705. }
  706. .tui-order-content {
  707. width: 100%;
  708. height: auto;
  709. }
  710. .tui-order-item {
  711. display: flex;
  712. flex-direction: column;
  713. width: 100%;
  714. padding: 20rpx 20rpx;
  715. background: #fff;
  716. margin-bottom: 24rpx;
  717. border-radius: 8rpx;
  718. position: relative;
  719. .list-checked {
  720. width: 80rpx;
  721. height: 80rpx;
  722. line-height: 80rpx;
  723. text-align: center;
  724. position: absolute;
  725. right: 0;
  726. top: 0;
  727. .iconfont {
  728. font-size: 38rpx;
  729. color: $color-system;
  730. }
  731. }
  732. .list-detail {
  733. width: 70rpx;
  734. height: 80rpx;
  735. line-height: 80rpx;
  736. text-align: center;
  737. position: absolute;
  738. right: 0;
  739. bottom: 0;
  740. .iconfont {
  741. font-size: $font-size-32;
  742. color: #999999;
  743. }
  744. }
  745. }
  746. .list-title {
  747. width: 100%;
  748. height: auto;
  749. .list-title-t {
  750. width: 100%;
  751. height: 50rpx;
  752. float: left;
  753. font-size: $font-size-24;
  754. padding-bottom: 10rpx;
  755. .list-title-tip {
  756. float: left;
  757. .badges {
  758. display: block;
  759. float: left;
  760. padding: 0 15rpx;
  761. height: 40rpx;
  762. line-height: 40rpx;
  763. border-radius: 20rpx;
  764. background: rgba(248, 204, 148, 0.5);
  765. font-size: $font-size-24;
  766. text-align: center;
  767. color: #666666;
  768. }
  769. }
  770. .list-title-tag {
  771. float: left;
  772. margin-left: 20rpx;
  773. .badges {
  774. display: block;
  775. float: left;
  776. padding: 0 15rpx;
  777. height: 40rpx;
  778. line-height: 40rpx;
  779. border-radius: 20rpx;
  780. background: linear-gradient(270deg, #fee9ba 0%, #f0cb72 100%);
  781. font-size: $font-size-24;
  782. text-align: center;
  783. color: #666666;
  784. }
  785. }
  786. .list-title-num {
  787. float: left;
  788. text-align: left;
  789. color: #e15616;
  790. line-height: 40rpx;
  791. margin-left: 20rpx;
  792. }
  793. }
  794. .list-title-a {
  795. width: 100%;
  796. height: auto;
  797. float: left;
  798. padding: 5rpx 8rpx;
  799. border-radius: 4rpx;
  800. background-color: rgba(247, 247, 247, 1);
  801. margin-bottom: 10rpx;
  802. .text{
  803. color: #999999;
  804. }
  805. .list-title-a-text {
  806. width: 100%;
  807. height: 44rpx;
  808. float: left;
  809. font-size: $font-size-24;
  810. line-height: 44rpx;
  811. color: #666666;
  812. text-align: left;
  813. }
  814. }
  815. .list-title-b {
  816. width: 100%;
  817. height: 40rpx;
  818. float: left;
  819. font-size: $font-size-24;
  820. line-height: 40rpx;
  821. color: #666666;
  822. text-align: left;
  823. .text{
  824. color: #999999;
  825. }
  826. .list-title-b-item {
  827. width: 50%;
  828. height: 100%;
  829. float: left;
  830. }
  831. &.sms {
  832. height: auto;
  833. }
  834. }
  835. }
  836. .tui-prompt-flex{
  837. width: 100%;
  838. height: 70rpx;
  839. display: flex;
  840. margin-top: 20rpx;
  841. .btn{
  842. flex: 1;
  843. line-height: 70rpx;
  844. font-size: $font-size-26;
  845. text-align: center;
  846. color: #FFFFFF;
  847. border-radius: 33rpx;
  848. margin: 0 24rpx;
  849. &.btn-cancel{
  850. background: #F7F7F7;
  851. color: #999999;
  852. }
  853. &.btn-confirm{
  854. background: $color-system;
  855. }
  856. }
  857. }
  858. .tui-prompt-text{
  859. line-height: 44rpx;
  860. font-size: $font-size-26;
  861. color: #333333;
  862. .text{
  863. color: $color-system;
  864. }
  865. }
  866. </style>