order-payhlb.vue 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760
  1. <template>
  2. <view class="container cashier" v-show="isRepuest">
  3. <cu-custom :navbar-data='nvabarData' @navigateBack="hanldNavigateBack"></cu-custom>
  4. <view class="container-cash clearfix" :style="{marginTop:CustomBar+'px'}">
  5. <view class="container-wrapper">
  6. <view class="pay-content">
  7. <view class="pay-top">
  8. <view class="pay-paid">
  9. <text class="txt-m">待付金额</text>
  10. <text class="txt-b"><text class="small">¥</text>{{obligation | NumFormat}}</text>
  11. </view>
  12. <view class="pay-payd">
  13. <view class="pay-paids">
  14. <text class="txt-m">应付总额</text>
  15. <text class="txt-b">¥{{payableAmount | NumFormat}}</text>
  16. </view>
  17. <view class="pay-paids">
  18. <text class="txt-m">已支付金额</text>
  19. <text class="txt-b">¥{{receiptAmount | NumFormat}}</text>
  20. </view>
  21. </view>
  22. </view>
  23. <view class="pay-bot">
  24. <view class="bot-title"><text>本次支付金额</text></view>
  25. <view class="bot-input">
  26. <text>¥</text>
  27. <input class="input"
  28. type="digit"
  29. v-model="payAmount"
  30. @focus="focusInput"
  31. @blur="blurInput"
  32. placeholder="输入金额不能大于待付金额"
  33. placeholder-class="placeholder"/>
  34. </view>
  35. <view class="bot-resid">
  36. <text class="bot-resid-le">应付剩余¥{{balanceAmount|NumFormat}}</text>
  37. <text class="bot-resid-ri">支付记录 <text class="iconfont icon-xiangyou"></text> </text>
  38. </view>
  39. </view>
  40. </view>
  41. <view class="pay-record" :style="{paddingBottom:isIphoneX ? '156rpx' : '112rpx'}">
  42. <view class="record-title"><text>支付记录</text></view>
  43. <view class="record-list">
  44. <view class="list-main" v-if="discernReceipt.length>0">
  45. <view class="list-item" v-for="(item,index) in discernReceipt" :key="index">
  46. <text class="text row-1">¥{{item.receiptAmount | NumFormat}}</text>
  47. <text class="text row-2">{{payTypeText(item.payType)}}</text>
  48. <text class="text row-3">{{item.receiptDate}}</text>
  49. </view>
  50. </view>
  51. <view class="list-none" v-else>暂无支付记录</view>
  52. </view>
  53. </view>
  54. </view>
  55. <view class="pay-button" :style="{paddingBottom:isIphoneX ? '68rpx' : '24rpx'}">
  56. <view class="btn" @click.stop="buttonSubMit" :style="{'background':btnColor}">{{buttonText}}</view>
  57. </view>
  58. </view>
  59. <view class="alert spec" :class="specClass" v-if="isShowTip">
  60. <!-- 选择支付弹窗说明 -->
  61. <view class="freight-alert" @tap="hideTips">
  62. <view class="content">
  63. <view class="title">
  64. <text>支付链接</text>
  65. <text class="iconfont icon-iconfontguanbi" @click.stop="hideTips"></text>
  66. </view>
  67. <view class="text-content">
  68. <view class="text">请复制以下链接,并发送至电脑端,在浏览器访问该链接并选择银行尽快完成支付</view>
  69. <view class="text-p">{{payHttpUrl}}</view>
  70. <view class="text-b">链接有效期为72小时</view>
  71. </view>
  72. <view class="text-button" @click.stop="clipboard(payHttpUrl)">复制链接</view>
  73. </view>
  74. </view>
  75. </view>
  76. <!-- 弹窗提示 -->
  77. <tui-modal
  78. :show="modal"
  79. @click="handleClick"
  80. :content="contentModalText"
  81. :button="modalButton"
  82. color="#333"
  83. :size="32"
  84. shape="circle"
  85. :maskClosable="false"
  86. >
  87. </tui-modal>
  88. </view>
  89. </template>
  90. <script>
  91. import authorize from '@/common/config/authorize.js'
  92. import thorui from '@/components/clipboard/clipboard.thorui.js'
  93. import payMixins from '@/mixins/payMixins.js'
  94. export default{
  95. mixins: [payMixins],
  96. data(){
  97. return{
  98. orderId:0,
  99. shopOrderId:0,
  100. shopOrderInfo:0,
  101. payType:'',
  102. payWay:'',
  103. isRepuest:false,
  104. realPay:0,//应付金额
  105. payableAmount:0,// 应付总额
  106. receiptAmount:0,// 已付金额
  107. obligation:0,//待付金额
  108. balanceAmount:0,
  109. payAmount:0,
  110. nvabarData: { //顶部自定义导航
  111. showCapsule:1, // 是否显示左上角图标 1表示显示 0表示不显示,
  112. showSearch: 0,
  113. title: '收银台', // 导航栏 中间的标题
  114. haveBack:true,
  115. textLeft:this.$store.state.isIphone
  116. },
  117. idCardList:[],
  118. isIphoneX:this.$store.state.isIphoneX,
  119. CustomBar:this.CustomBar,// 顶部导航栏高度
  120. tabCurrentIndex:0,
  121. isShowTip:false,
  122. buttonText:'去支付',
  123. btnColor:'#09BB07',
  124. discernReceipt:[],
  125. showDigitKeyboard:false,
  126. payHttpUrl:'',
  127. mbOrderId:0, // 支付记录订单Id
  128. modal:false,
  129. contentModalText: '本次支付金额已超出微信支付限额,请输入小于5千的金额。', //操作文字提示语句
  130. modalButton: [
  131. {
  132. text: '知道了',
  133. customStyle: {
  134. color: '#fff',
  135. bgColor: 'linear-gradient(90deg, #F28F31 0%, #F3B574 100%)'
  136. },
  137. plain: false
  138. }
  139. ],
  140. }
  141. },
  142. onLoad(option) {
  143. this.initData(option)
  144. },
  145. filters: {
  146. NumFormat(value) {
  147. if(!value) return '0.00'
  148. /*原来用的是Number(value).toFixed(0),这样取整时有问题,例如0.51取整之后为1,感谢Nils指正*/
  149. /*后来改成了 Number(value)|0,但是输入超过十一位就为负数了,具体见评论 */
  150. var intPart = Number(value) - Number(value)%1 //获取整数部分(这里是windy93的方法)
  151. var intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,') //将整数部分逢三一断
  152. var floatPart = '.00' //预定义小数部分
  153. var value2Array = value.toString().split('.')
  154. //=2表示数据有小数位
  155. if(value2Array.length == 2) {
  156. floatPart = value2Array[1].toString() //拿到小数部分
  157. if(floatPart.length == 1) { //补0,实际上用不着
  158. return intPartFormat + '.' + floatPart + '0'
  159. } else {
  160. return intPartFormat + '.' + floatPart
  161. }
  162. } else {
  163. return intPartFormat + floatPart
  164. }
  165. }
  166. },
  167. methods:{
  168. initData(e){
  169. this.payType = e.type
  170. console.log(this.payType)
  171. this.shopOrderId = e.shopOrderId
  172. switch(this.payType){
  173. case '0':
  174. this.payWay = 'WEIXIN'
  175. this.btnColor='#09BB07'
  176. this.buttonText = '去支付'
  177. break
  178. case '1':
  179. this.payWay = 'UNIONPAY'
  180. this.btnColor='#034582'
  181. this.buttonText = '生成企业网银支付链接'
  182. break
  183. case '2':
  184. this.payWay = 'UNIONPAY'
  185. this.btnColor='#034582'
  186. this.buttonText = '生成个人网银支付链接'
  187. break
  188. }
  189. this.GetPayOrderInfo()
  190. },
  191. GetPayOrderInfo(){//初始化支付信息
  192. this.PayService.PayOrderCheckoutShoporders({shopOrderId:this.shopOrderId}).then(response =>{
  193. let data = response.data
  194. this.discernReceipt = data.discernReceipt // 支付记录
  195. this.shopOrderInfo = data.shopOrder // 子订单
  196. this.obligation = data.shopOrder.obligation // 待付金额
  197. this.orderId = data.shopOrder.orderId // 主订单Id
  198. this.receiptAmount = data.shopOrder.receiptAmount // 已付金额
  199. this.payableAmount = data.shopOrder.realPay // 应付金额
  200. this.payAmount = this.toFixedFn(this.obligation) // 自定义金额
  201. this.balanceAmount = this.obligation - this.payAmount // 计算剩余支付金额
  202. this.isRepuest = true
  203. }).catch(error =>{
  204. this.$util.msg(error.msg,2000)
  205. })
  206. },
  207. buttonSubMit(){
  208. switch(this.payType){
  209. case '0':// 微信支付
  210. // 友盟埋点收集微信支付
  211. if(process.env.NODE_ENV != 'development'){
  212. this.$uma.trackEvent('Um_Event_ConfirmWechatPay', {
  213. Um_Key_PageName: '微信支付',
  214. Um_Key_SourcePage: '线上支付',
  215. Um_Key_PayName:`${this.buttonText}`,
  216. Um_Key_PayOrderID:`${this.shopOrderId}`
  217. })
  218. }
  219. this.MiniWxPayFor()
  220. break
  221. case '1':// 企业网银
  222. // 友盟埋点收集企业网银
  223. if(process.env.NODE_ENV != 'development'){
  224. this.$uma.trackEvent('Um_Event_ConfirmEbankPay', {
  225. Um_Key_PageName: '企业网银',
  226. Um_Key_SourcePage: '线上支付',
  227. Um_Key_PayName:`${this.buttonText}`,
  228. Um_Key_PayOrderID:`${this.shopOrderId}`
  229. })
  230. }
  231. this.BuildCatenate()
  232. break
  233. case '2':// 个人网银
  234. // 友盟埋点收集个人网银
  235. if(process.env.NODE_ENV != 'development'){
  236. this.$uma.trackEvent('Um_Event_ConfirmAbankPay', {
  237. Um_Key_PageName: '个人网银',
  238. Um_Key_SourcePage: '线上支付',
  239. Um_Key_PayName:`${this.buttonText}`,
  240. Um_Key_PayOrderID:`${this.shopOrderId}`
  241. })
  242. }
  243. this.BuildCatenate()
  244. break
  245. }
  246. },
  247. BuildCatenate(){// 企业网银 个人网银
  248. if(this.payAmount == 0){
  249. this.$util.msg('请输入本次支付的金额',2000)
  250. return
  251. }
  252. if(this.payAmount <=10){
  253. this.$util.msg('网银支付的金额必须大于¥10.00',2000)
  254. return
  255. }
  256. if( this.payType == '1'){
  257. if(this.payAmount != this.payableAmount){
  258. this.contentModalText = '企业网银支付每次收取的手续费较高,建议一次性全额付款。'
  259. this.modal = true
  260. return
  261. }
  262. }
  263. this.PayService.PayOrderPayLink({unpaidAmount:this.payAmount,shopOrderId:this.shopOrderId,payType:this.payType}).then(response =>{
  264. this.payHttpUrl = response.data
  265. this.isShowTip = true
  266. })
  267. },
  268. async MiniWxPayFor(){// 微信支付
  269. if(this.payAmount > 5000){
  270. this.modal = true
  271. return
  272. }
  273. if(this.payAmount == 0){
  274. this.$util.msg('请输入本次支付的金额',2000)
  275. return
  276. }
  277. if(this.payAmount*100 < 2){
  278. this.$util.msg('本次支付的金额必须大于¥0.02',2000)
  279. return
  280. }
  281. // 获取微信code
  282. const wechatCode = await authorize.getCode('weixin')
  283. const params = {
  284. payAmount:this.payAmount,
  285. payType:'XCX',
  286. code:wechatCode,
  287. shopOrderId:this.shopOrderId
  288. }
  289. this.weChatMiniOrderWxPay(params)
  290. },
  291. handleClick(){
  292. this.modal = false
  293. },
  294. confirmEvent(value){//点击自定义键盘完成的回调函数
  295. this.chechValue(value)
  296. this.showDigitKeyboard = false
  297. },
  298. blurInput(e){
  299. this.chechValue(e.detail.value)
  300. },
  301. focusInput(){
  302. // this.showDigitKeyboard = true
  303. },
  304. hideKeyboard(){
  305. this.showDigitKeyboard = false
  306. },
  307. chechValue(value){
  308. let patern = /\d+\.\d+/g
  309. if(value && value.split('.').length > 2) {
  310. value= patern.exec(value)
  311. }
  312. if(value == '' || value <0 ){
  313. this.payAmount = ''
  314. this.balanceAmount = this.obligation
  315. }else if( value > this.obligation){
  316. this.payAmount = this.toFixedFn(this.obligation)
  317. this.balanceAmount = this.toFixedFn(this.obligation - this.payAmount)
  318. }else{
  319. this.payAmount = this.toFixedFn(value)
  320. this.balanceAmount = this.toFixedFn(this.obligation - this.payAmount)
  321. }
  322. },
  323. hanldNavigateBack(){//页面返回
  324. uni.navigateBack({
  325. delta: 1
  326. })
  327. },
  328. payTypeText (state){//处理支付记录文字
  329. let stateText = '',
  330. stateTextObject={
  331. 12:'企业网银',
  332. 13:'微信支付',
  333. 14:'支付宝',
  334. 15:'微信支付',
  335. 16:'余额抵扣',
  336. }
  337. Object.keys(stateTextObject).forEach(key => {
  338. if(key == state){
  339. stateText = stateTextObject[key]
  340. }
  341. })
  342. return stateText
  343. },
  344. hideTips(){//隐藏弹窗
  345. this.isShowTip = false
  346. },
  347. toFixedFn(text){//处理小数点后两位数
  348. return Number(text).toFixed(2)
  349. },
  350. copyClipboard(data){
  351. //复制账号
  352. thorui.getClipboardData(data, (res) => {
  353. if (res) {
  354. this.$util.msg('已复制',2000)
  355. } else {
  356. this.$util.msg('复制失败',2000)
  357. }
  358. })
  359. },
  360. clipboard(data) {//复制链接
  361. console.log('data',data)
  362. thorui.getClipboardData(data, (res) => {
  363. if (res) {
  364. this.isShowTip = false
  365. this.$util.msg('已复制',2000)
  366. // 友盟埋点收集复制网银链接
  367. if(process.env.NODE_ENV != 'development'){
  368. this.$uma.trackEvent('Um_Event_CopyUnionPay', {
  369. Um_Key_PageName: '网银支付',
  370. Um_Key_SourcePage: '线上支付',
  371. Um_Key_PayName:`${this.buttonText}`,
  372. Um_Key_PayOrderID:`${this.shopOrderId}`
  373. })
  374. }
  375. } else {
  376. this.$util.msg('复制失败',2000)
  377. }
  378. })
  379. },
  380. discard(){
  381. //丢弃
  382. }
  383. },
  384. onShow() {
  385. }
  386. }
  387. </script>
  388. <style lang="scss">
  389. page{height: auto !important;background-color: #FFFFFF;}
  390. .container-cash{
  391. width: 100%;
  392. .container-wrapper{
  393. width:100%;
  394. margin: 0 auto;
  395. .pay-content{
  396. width: 662rpx;
  397. height: 420rpx;
  398. padding: 64rpx 44rpx 0 44rpx;
  399. border-radius: 0 0 60rpx 60rpx;
  400. background: url(https://img.caimei365.com/group1/M00/03/BD/Cmis218elN6AY6VeAAqw4n3n4nw186.png) no-repeat;
  401. background-size: cover;
  402. float: left;
  403. position: relative;
  404. .pay-top{
  405. width: 100%;
  406. height: auto;
  407. float: left;
  408. margin-bottom: 44rpx;
  409. .pay-paid{
  410. width: 100%;
  411. height: auto;
  412. margin-bottom: 38rpx;
  413. text{
  414. line-height: 48rpx;
  415. text-align: left;
  416. color: #FFFFFF;
  417. width: 100%;
  418. }
  419. .txt-m{
  420. font-size: $font-size-26;
  421. opacity: 0.7;
  422. display: inline-block;
  423. }
  424. .txt-b{
  425. font-size: $font-size-48;
  426. display: inline-block;
  427. .small{
  428. font-size: $font-size-32;
  429. }
  430. }
  431. }
  432. .pay-payd{
  433. width: 100%;
  434. height: auto;
  435. .pay-paids{
  436. height: auto;
  437. float: left;
  438. margin-right: 48rpx;
  439. text{
  440. line-height: 48rpx;
  441. text-align: left;
  442. color: #FFFFFF;
  443. }
  444. .txt-m{
  445. width: 100%;
  446. display: inline-block;
  447. font-size: $font-size-26;
  448. opacity: 0.7;
  449. }
  450. .txt-b{
  451. width: 100%;
  452. display: inline-block;
  453. font-size: $font-size-32;
  454. }
  455. }
  456. }
  457. }
  458. .pay-bot{
  459. width: 614rpx;
  460. height: 184rpx;
  461. padding: 24rpx;
  462. background: #FFFFFF;
  463. border-radius: 28rpx;
  464. box-shadow:0 2px 6px rgba(255, 77, 0, .17);
  465. position: absolute;
  466. bottom: -92rpx;
  467. left:44rpx;
  468. .bot-title{
  469. line-height: 36rpx;
  470. font-size: $font-size-26;
  471. color: #666666;
  472. }
  473. .bot-input{
  474. width: 100%;
  475. height: 66rpx;
  476. margin: 15rpx 0;
  477. border-bottom: 1px solid #EBEBEB;
  478. line-height: 66rpx;
  479. font-size: $font-size-32;
  480. color: $text-color;
  481. text{
  482. display: block;
  483. float: left;
  484. }
  485. .input{
  486. font-size: $font-size-40;
  487. width: 500rpx;
  488. height: 66rpx;
  489. padding: 0 10rpx;
  490. line-height: 66rpx;
  491. float: left;
  492. .none{
  493. color:$text-color;
  494. opacity: 0.3;
  495. }
  496. .text{
  497. color:$text-color;
  498. }
  499. }
  500. .placeholder{
  501. font-size: $font-size-26;
  502. }
  503. }
  504. .bot-resid{
  505. line-height: 36rpx;
  506. font-size: $font-size-26;
  507. margin-top: 24rpx;
  508. .bot-resid-le{
  509. display: inline-block;
  510. float: left;
  511. color: $color-system;
  512. }
  513. .bot-resid-ri{
  514. display: inline-block;
  515. float: right;
  516. color: #1890F9;
  517. .icon-xiangyou{
  518. margin-left: 5rpx;
  519. }
  520. }
  521. }
  522. }
  523. }
  524. .pay-record{
  525. float: left;
  526. background: #FFFFFF;
  527. width: 702rpx;
  528. height: auto;
  529. padding: 0 24rpx;
  530. margin-top: 112rpx;
  531. .record-title{
  532. width: 100%;
  533. float: left;
  534. font-size: $font-size-28;
  535. color: $text-color;
  536. line-height: 80rpx;
  537. height: 80rpx;
  538. border-bottom: 1px solid #F8F8F8;
  539. }
  540. .record-list{
  541. width: 100%;
  542. height: auto;
  543. float: left;
  544. .list-none{
  545. line-height: 80rpx;
  546. font-size: $font-size-26;
  547. color: #999999;
  548. text-align: left;
  549. }
  550. .list-main{
  551. height: auto;
  552. display: flex;
  553. flex-direction:column;
  554. .list-item{
  555. width: 100%;
  556. height:80rpx;
  557. display: flex;
  558. flex: 1;
  559. line-height: 80rpx;
  560. font-size: $font-size-26;
  561. color: $text-color;
  562. .text{
  563. &.row-1{
  564. flex: 3;
  565. }
  566. &.row-2{
  567. flex: 3;
  568. }
  569. &.row-3{
  570. flex: 4;
  571. text-align: right;
  572. color: #999999;
  573. }
  574. }
  575. }
  576. }
  577. }
  578. }
  579. }
  580. .pay-button{
  581. width: 100%;
  582. background-color: #FFFFFF;
  583. position: fixed;
  584. height: 88rpx;
  585. padding-top: 24rpx;
  586. bottom: 0;
  587. .btn{
  588. width: 702rpx;
  589. height: 88rpx;
  590. border-radius: 44rpx;
  591. font-size: $font-size-28;
  592. line-height: 88rpx;
  593. color: #FFFFFF;
  594. margin: 0 auto;
  595. text-align: center;
  596. background: $btn-confirm;
  597. }
  598. }
  599. }
  600. .freight-alert{
  601. width: 100%;
  602. height: 100%;
  603. background: rgba(0,0,0,.5);
  604. position: fixed;
  605. top: 0;
  606. left: 0;
  607. z-index: 8888;
  608. transition: all 0.4s;
  609. &.none{
  610. display: none;
  611. }
  612. &.show{
  613. display: block;
  614. }
  615. .content{
  616. width: 422rpx;
  617. height:434rpx;
  618. position: absolute;
  619. background: $bg-color;
  620. left: 0;
  621. right: 0;
  622. bottom: 0;
  623. top: 0;
  624. margin: auto;
  625. padding: 20rpx 32rpx;
  626. border-radius: 12rpx;
  627. .title{
  628. width: 100%;
  629. height: 68rpx;
  630. line-height: 68rpx;
  631. font-size: $font-size-28;
  632. color: $text-color;
  633. text-align: center;
  634. position: relative;
  635. .icon-iconfontguanbi{
  636. width: 68rpx;
  637. height: 68rpx;
  638. text-align: center;
  639. line-height: 68rpx;
  640. position: absolute;
  641. right: 0;
  642. top: 0;
  643. font-size: $font-size-36;
  644. color: #999999;
  645. }
  646. }
  647. .text-content{
  648. width: 100%;
  649. height: auto;
  650. .text{
  651. padding: 20rpx 0 0 0;
  652. line-height: 44rpx;
  653. font-size: $font-size-26;
  654. color:#666666;
  655. text-align: justify;
  656. }
  657. .text-p{
  658. width: 100%;
  659. line-height: 44rpx;
  660. font-size: $font-size-26;
  661. color:$color-system;
  662. text-align: left;
  663. text-overflow:ellipsis;
  664. display: -webkit-box;
  665. word-break: break-all;
  666. -webkit-box-orient: vertical;
  667. -webkit-line-clamp: 1;
  668. overflow: hidden;
  669. }
  670. .text-b{
  671. line-height: 44rpx;
  672. font-size: $font-size-24;
  673. color:#999999;
  674. text-align: left;
  675. }
  676. }
  677. .text-button{
  678. width: 100%;
  679. height: 88rpx;
  680. line-height: 88rpx;
  681. background: $btn-confirm;
  682. font-size: $font-size-28;
  683. border-radius: 44rpx;
  684. color:#FFFFFF;
  685. text-align: center;
  686. margin-top: 20rpx;
  687. }
  688. }
  689. }
  690. .tui-prompt-title{
  691. width: 100%;
  692. height: 44rpx;
  693. line-height: 44rpx;
  694. padding: 20rpx 0;
  695. text-align: center;
  696. color: #333333;
  697. border-bottom: 1px solid #E2E7EF;
  698. }
  699. .tui-prompt-text{
  700. padding-top: 20rpx;
  701. .tui-prompt-tips{
  702. width: 100%;
  703. line-height: 36rpx;
  704. font-size: $font-size-22;
  705. color: #F3B574;
  706. text-align: justify;
  707. margin-bottom: 24rpx;
  708. }
  709. .tui-prompt-item{
  710. width: 100%;
  711. line-height: 60rpx;
  712. color: #333333;
  713. font-size: $font-size-26;
  714. .text{
  715. font-weight: bold;
  716. }
  717. .copy{
  718. height: 38rpx;
  719. box-sizing: border-box;
  720. padding: 0 24rpx;
  721. text-align: center;
  722. line-height: 36rpx;
  723. display: inline-block;
  724. .iconfont{
  725. font-size: $font-size-40;
  726. color: #666666;
  727. }
  728. }
  729. }
  730. }
  731. .tui-prompt-flex{
  732. width: 100%;
  733. height: auto;
  734. margin-top: 20rpx;
  735. box-sizing: border-box;
  736. padding: 0 35rpx;
  737. .btn{
  738. width: 100%;
  739. line-height: 84rpx;
  740. font-size: $font-size-26;
  741. text-align: center;
  742. color: #FFFFFF;
  743. border-radius: 44rpx;
  744. margin: 20rpx 0;
  745. &.btn-cancel{
  746. background: #FFFFFF;
  747. color: #333333;
  748. border: 1px solid #979797;
  749. }
  750. &.btn-confirm{
  751. background: $btn-confirm;
  752. }
  753. }
  754. }
  755. </style>