index.vue 22 KB

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