baozhengjin.vue 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801
  1. <template>
  2. <view class="content">
  3. <view class="margin padding" style="background: #fff; border-radius: 16rpx;">
  4. <view class="flex" style="justify-content: space-between; margin: 20rpx 0; color: #999;">
  5. <view> 账户状态</view>
  6. <view style="padding: 8rpx 15rpx; border: 1rpx solid #00c18a; background: #e8fbf6; color: #00c18a; border-radius: 12rpx;">
  7. 已认证
  8. </view>
  9. </view>
  10. <view class="flex" style="justify-content: space-between; margin: 20rpx 0; color: #999;">
  11. <view> 保证金状态</view>
  12. <view>
  13. 账户余额
  14. </view>
  15. </view>
  16. <view class="flex" style="justify-content: space-between; margin: 20rpx 0;">
  17. <view style="font-size: 32rpx; color: #f56c6c;"> 未缴纳</view>
  18. <view style="font-size: 32rpx;" >
  19. ¥ 0.00
  20. </view>
  21. </view>
  22. </view>
  23. <view class="padding margin" style="background: #fff; border-radius: 13rpx;">
  24. <view class="acount_type">设置保证金金额</view>
  25. <view class="flex" style="justify-content: space-between;margin-top: 30rpx;">
  26. <view style="color: #999;"> 建议金额</view>
  27. <view class="flex">
  28. <view v-for="(item,index) in moneyslist" :key="index" :class="moneyslists == item.id ? 'tabg' : 'tab'" style="margin-left: 20rpx;" @click="tabshj(item.value, index)">
  29. ¥ {{ item.value }}
  30. </view>
  31. </view>
  32. </view>
  33. <view style="margin-top: 20rpx;">
  34. <u-input v-model="earnestMoney" type="number" placeholder="请输入支付金额" :border="true" />
  35. </view>
  36. <view style="font-size: 26rpx; color: #999;margin-top: 20rpx;">保证金金额范围 ¥500 - ¥5000</view>
  37. <view class="text-right margin-top-sm margin-right-sm" @click="goDet">查看明细</view>
  38. <!-- <view class="part1_box">
  39. <view class="text-right margin-top-sm margin-right-sm" @click="goDet">查看明细</view>
  40. <view class="balance">
  41. <view class="balance_name">保证金余额(元)</view>
  42. <view class="balance_price">{{mayMoney}}</view>
  43. </view>
  44. <view class="part1_btn">
  45. <view class="btn_left" @click="tuiBtn()">退保证金</view>
  46. <view class="btn_right" @click="openPay()">缴纳保证金</view>
  47. </view>
  48. </view> -->
  49. </view>
  50. <view class="margin padding" style="background: #fff; border-radius: 16rpx;">
  51. <view class="acount_type">支付方式</view>
  52. <view style="margin-top: 30rpx;">
  53. <view class="flex align-center justify-between padding margin-bottom-sm" v-for="(item,index) in payList"
  54. style="border: 1rpx solid #f2f2f2; border-radius: 16rpx;"
  55. :key='index'>
  56. <image v-if="globalImages" :src="globalImages + item.image" style="width: 56rpx;height: 56rpx;" mode=""></image>
  57. <view class="flex-sub text-xl margin-left">{{item.name}}</view>
  58. <radio-group name="openWay" style="margin-left: 20upx;" @change='selectWay(item)'>
  59. <label class="tui-radio">
  60. <radio class="red" :checked="openWay === item.id ? true : false" />
  61. </label>
  62. </radio-group>
  63. </view>
  64. </view>
  65. </view>
  66. <view class="margin padding" style="background: #fff; border-radius: 16rpx;">
  67. <view class="acount_type">保证及说明</view>
  68. <view class="acount_box flex" style="margin-top: 30rpx;" v-for="(item,index) in list" :key="item.id">
  69. <view>
  70. <image v-if="globalImages" :src="globalImages + item.imgurl" style="width: 56rpx;height: 56rpx;" mode=""></image>
  71. </view>
  72. <view style="margin-left: 20rpx;">
  73. <view class="name">{{item.name}}</view>
  74. <view class="tit">{{item.tit}}</view>
  75. </view>
  76. </view>
  77. <view class="acount_box flex padding" style="margin-top: 30rpx;border-radius: 16rpx; background: #fcf6ec;">
  78. <view>
  79. <image v-if="globalImages" :src="globalImages + 'imgs/exclamation.png'" style="width: 36rpx;height: 36rpx;" mode=""></image>
  80. </view>
  81. <view style="margin-left: 20rpx;">
  82. 保证金仅用于保障服务质量,无违规行为可全额退还。
  83. </view>
  84. </view>
  85. </view>
  86. <view class="margin padding" style="background: #fff; border-radius: 16rpx;">
  87. <view class="acount_type">常见问题</view>
  88. <view class="u-page__item" style="margin-top: 20rpx;">
  89. <u-collapse
  90. accordion
  91. >
  92. <u-collapse-item
  93. title="为什么要缴纳保证金?"
  94. >
  95. <text class="u-collapse-content">缴纳保证金主要是为了 保障平台、乘客和司机的多方利益。通过保证金,平台可以有效约束司机行为,防止违规操作(如拒单、绕路等),同时为乘客提供更安全的服务保障。</text>
  96. </u-collapse-item>
  97. <u-collapse-item
  98. title="保证金可以退还吗?"
  99. >
  100. <text class="u-collapse-content">可以,停止接单30天后可申请退还保证金,审核通过后3个工作日内到账。</text>
  101. </u-collapse-item>
  102. <u-collapse-item
  103. title="退款需要多长时间?"
  104. >
  105. <text class="u-collapse-content">1-3个工作日</text>
  106. </u-collapse-item>
  107. <u-collapse-item
  108. title="什么情况下会扣除保证金?"
  109. >
  110. <text class="u-collapse-content">司机存在违规情况,例如:无正当理由拒绝接单、故意绕路增加乘客费用、故意绕路增加乘客费用、无故取消已接订单等。</text>
  111. </u-collapse-item>
  112. </u-collapse>
  113. </view>
  114. </view>
  115. <view class="margin padding" style="background: #fff; border-radius: 16rpx;">
  116. <view class="flex" style="justify-content: space-between;">
  117. <view class="acount_type">交易记录</view>
  118. <view style="font-size: 26rpx; color: #999;" @click="goDet">查看全部</view>
  119. </view>
  120. <view style="margin-top: 30rpx;">
  121. <view class="content" v-if="list2.length" >
  122. <view class="list_box" v-for="(item,index) in list2" :key="index">
  123. <view class="list_left" style="padding: 30rpx 0;" :class="{ 'border-bottom': index !== list2.length - 1 }">
  124. <view class="name">{{item.title}}</view>
  125. <view class="flex justify-between align-center">
  126. <view style="color: red;">{{item.type==1?'+':'-'}} {{item.money}}</view>
  127. <view class="data">{{item.createTime}}</view>
  128. </view>
  129. </view>
  130. </view>
  131. </view>
  132. </view>
  133. </view>
  134. <view class="margin padding" style="background: #fff; border-radius: 16rpx;">
  135. <view class="acount_type">是否需要帮助?</view>
  136. <view class="flex justify-between align-center" style="padding: 30rpx; margin: 20rpx 0; background: #f9fafb; border-radius: 16rpx;">
  137. <view class="flex">
  138. <image v-if="globalImages" :src="globalImages + 'imgs/kefu.png'" style="width: 76rpx;height: 76rpx;" mode=""></image>
  139. <view style="margin-left: 20rpx;">
  140. <view class="name">在线客服</view>
  141. <view class="data">24小时服务</view>
  142. </view>
  143. </view>
  144. <view class="name">联系</view>
  145. </view>
  146. <view class="flex justify-between align-center" style="padding: 30rpx; margin: 20rpx 0; background: #f9fafb; border-radius: 16rpx;">
  147. <view class="flex">
  148. <image v-if="globalImages" :src="globalImages + 'imgs/xiaoxi.png'" style="width: 76rpx;height: 76rpx;" mode=""></image>
  149. <view style="margin-left: 20rpx;">
  150. <view class="name">意见反馈</view>
  151. <view class="data">帮助我们改进</view>
  152. </view>
  153. </view>
  154. <view class="name">反馈</view>
  155. </view>
  156. </view>
  157. <view class="margin padding" style="background: #fff; border-radius: 16rpx;">
  158. <view class="flex" style="margin-top: 30rpx;" >
  159. <view>
  160. <image v-if="globalImages" :src="globalImages + 'imgs/tishi.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  161. </view>
  162. <view style="margin-left: 20rpx;">
  163. <view class="name">安全提示</view>
  164. </view>
  165. </view>
  166. <view class="flex" style="margin-top: 30rpx;" >
  167. <view>
  168. <image v-if="globalImages" :src="globalImages + 'imgs/answer.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  169. </view>
  170. <view style="margin-left: 20rpx;">
  171. <view class="name">平台不会以任何理由要求您提供支付密码</view>
  172. </view>
  173. </view>
  174. <view class="flex" style="margin-top: 30rpx;" >
  175. <view>
  176. <image v-if="globalImages" :src="globalImages + 'imgs/answer.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  177. </view>
  178. <view style="margin-left: 20rpx;">
  179. <view class="name">所有交易均通过加密通道完成</view>
  180. </view>
  181. </view>
  182. <view class="flex" style="margin-top: 30rpx;" >
  183. <view>
  184. <image v-if="globalImages" :src="globalImages + 'imgs/answer.png'" style="width: 56rpx;height: 56rpx;" mode=""></image>
  185. </view>
  186. <view style="margin-left: 20rpx;">
  187. <view class="name">保证金退还无需支付任何手续费</view>
  188. </view>
  189. </view>
  190. </view>
  191. <view class="sure" @click="jiaoBtn">立即缴纳</view>
  192. <!-- 支付方式 -->
  193. <!-- <u-popup v-model="shows" mode="center" width="640rpx" height="640rpx" border-radius="14" @close="closePopup()">
  194. <view style="width: 100%;height: 300upx;background: #FFFFFF;">
  195. <view class="receipt_code">
  196. <view class="code_title">请输入支付金额</view>
  197. <u-input v-model="earnestMoney" type="number" placeholder="请输入支付金额" :border="true" />
  198. <view class="margin-tb padding-lr radius bg-white" style="height: 220upx;">
  199. <view class="flex align-center justify-between padding-tb-sm" v-for="(item,index) in payList"
  200. :key='index'>
  201. <image :src="item.image" style="width: 80upx;height: 80upx;border-radius: 50upx;"></image>
  202. <view class="flex-sub text-xl text-bold margin-left">{{item.name}}</view>
  203. <radio-group name="openWay" style="margin-left: 20upx;" @change='selectWay(item)'>
  204. <label class="tui-radio">
  205. <radio class="red" :checked="openWay === item.id ? true : false" />
  206. </label>
  207. </radio-group>
  208. </view>
  209. </view>
  210. <view class="sure" @click="jiaoBtn">确定</view>
  211. </view>
  212. </view>
  213. </u-popup> -->
  214. </view>
  215. </template>
  216. <script>
  217. import { waitForGlobalImages } from '@/utils/globalImageLoader'
  218. export default {
  219. data() {
  220. return {
  221. shows: false,
  222. baozhengjin: 0,
  223. disabled: true,
  224. moneys: '',
  225. list: [{
  226. id: 1,
  227. name: '缴纳保证金',
  228. tit: '选择支付方式并完成支付,保证金即将冻结在您的账户中。',
  229. imgurl: 'imgs/one.png'
  230. }, {
  231. id: 2,
  232. name: '开始接单',
  233. tit: '缴纳保证金后,您将获得更多优质订单和平台权益。',
  234. imgurl: 'imgs/two.png'
  235. }, {
  236. id: 3,
  237. name: '申请退款',
  238. tit: '停止接单30天后可申请退还保证金,审核通过后3个工作日内到账。',
  239. imgurl: 'imgs/three.png'
  240. }],
  241. mayMoney: 0,
  242. openWay: 1,
  243. payList: [],
  244. earnestMoney: '',
  245. globalImages: '',
  246. moneyslists: 2,
  247. accordionVal:'1',
  248. list2: [],
  249. moneyslist: [
  250. {
  251. id: 0,
  252. value:500,
  253. },{
  254. id: 1,
  255. value:1000,
  256. },{
  257. id: 2,
  258. value:2000,
  259. },
  260. ]
  261. }
  262. },
  263. onLoad() {
  264. this.taskData2()
  265. waitForGlobalImages().then((path) => {
  266. console.log('✅ 全局图片路径:', path)
  267. this.globalImages = path
  268. })
  269. // uni.showToast({
  270. // title: '申请成功'
  271. // })
  272. //获取保证金
  273. this.$Request.getT('/app/common/type/261').then(res => {
  274. if (res.code === 0) {
  275. this.baozhengjin = res.data.value;
  276. }
  277. });
  278. // #ifdef MP-WEIXIN
  279. this.payList = [{
  280. id: 1,
  281. image: 'imgs/weixin.png',
  282. name: '微信'
  283. }]
  284. // #endif
  285. // #ifdef APP-PLUS
  286. this.payList = [{
  287. id: 1,
  288. image: 'imgs/weixin.png',
  289. name: '微信'
  290. },
  291. {
  292. id: 2,
  293. image: 'imgs/zhifubao.png',
  294. name: '支付宝'
  295. }
  296. ]
  297. // #endif
  298. // #ifdef H5
  299. let ua = navigator.userAgent.toLowerCase();
  300. if (ua.indexOf('micromessenger') !== -1) {
  301. //公众号是否自动登录 443
  302. this.$Request.get('/app/common/type/443').then(res => {
  303. if (res.data && res.data.value && res.data.value == '是') {
  304. this.payList = [{
  305. id: 1,
  306. image: '../static/weixin.png',
  307. name: '微信'
  308. }];
  309. this.openWay = 1;
  310. } else {
  311. this.payList = [{
  312. id: 2,
  313. image: '../static/zhifubao.png',
  314. name: '支付宝'
  315. }];
  316. this.openWay = 2;
  317. }
  318. })
  319. } else {
  320. this.payList = [{
  321. id: 2,
  322. image: '../static/zhifubao.png',
  323. name: '支付宝'
  324. }];
  325. this.openWay = 2;
  326. }
  327. // #endif
  328. },
  329. onShow() {
  330. this.taskData()
  331. },
  332. methods: {
  333. // 获取任务数据
  334. taskData2() {
  335. this.$Request.getT('/app/userMoney/selectUserMoneyDetails?classify=1&page=1&limit=15').then(res => {
  336. if(res.code==0){
  337. this.list2 = res.data.records
  338. }
  339. });
  340. },
  341. tabshj(value, index) {
  342. this.moneyslists = index
  343. this.earnestMoney = value
  344. },
  345. openPay() {
  346. let checkCertification = uni.getStorageSync('checkCertification')
  347. if (checkCertification == 2) {
  348. this.shows = true
  349. } else {
  350. this.$queue.showToast('请先实名认证后再来缴纳保证金!');
  351. }
  352. },
  353. // 跳转保证金明细
  354. goDet() {
  355. uni.navigateTo({
  356. url: '/my/wallet/bzjlist'
  357. })
  358. },
  359. selectWay: function(item) {
  360. this.openWay = item.id;
  361. },
  362. zhifu() {
  363. this.shows = true
  364. },
  365. // 关闭底部弹出层
  366. closePopup() {
  367. this.shows = false
  368. },
  369. // 获取任务数据
  370. taskData() {
  371. let that = this;
  372. let token = this.$queue.getData('token');
  373. let userId = this.$queue.getData('userId');
  374. if (token) {
  375. //this.$queue.showLoading("加载中...");
  376. //可以提现金额查询预估收入查询
  377. let userId = this.$queue.getData('userId');
  378. this.$Request.getT("/app/user/selectUserDetails?userId=" + userId).then(res => {
  379. uni.hideLoading();
  380. if (res.code === 0 && res.data) {
  381. that.mayMoney = res.data.cashDeposit;
  382. if (!res.data.cashDeposit) {
  383. // this.earnestMoney=this.baozhengjin;
  384. // this.disabled=true;
  385. } else {
  386. // this.disabled=false;
  387. }
  388. } else if (res.code === -102) {
  389. this.$queue.showToast(res.msg);
  390. this.$queue.logout();
  391. } else {
  392. that.mayMoney = '0';
  393. }
  394. });
  395. }
  396. },
  397. // 缴纳
  398. jiaoBtn() {
  399. let that = this;
  400. if (!this.earnestMoney) {
  401. that.$queue.showToast('请输入支付金额');
  402. return;
  403. }
  404. uni.showLoading({
  405. title: '支付中'
  406. });
  407. // 微信支付
  408. if (that.openWay == 1) {
  409. // #ifdef APP-PLUS
  410. uni.hideLoading();
  411. // 微信APP支付 根据订单id获取支付信息
  412. this.$Request.postT('/app/wxPayRider/wxPayCashDeposit?money=' + that.earnestMoney + '&type=1').then(
  413. ret => {
  414. console.log(JSON.stringify(ret), '支付信息')
  415. if (ret.code == 0) {
  416. this.isCheckPay(ret.code, 'wxpay', JSON.stringify(ret.data));
  417. } else {
  418. that.shows = false
  419. that.earnestMoney = ''
  420. that.$queue.showToast(ret.msg);
  421. }
  422. });
  423. // #endif
  424. // #ifdef H5
  425. let ua = navigator.userAgent.toLowerCase();
  426. console.log(ua.indexOf('micromessenger'))
  427. if (ua.indexOf('micromessenger') !== -1) {
  428. let openId = that.$queue.getData('openid') ? that.$queue.getData('openid') : '';
  429. that.$Request.postT('/app/wxPayRider/wxPayCashDeposit?money=' + that.earnestMoney + '&type=2')
  430. .then(res => {
  431. if (res.code == 0) {
  432. that.callPay(res);
  433. } else {
  434. that.shows = false
  435. that.earnestMoney = ''
  436. that.$queue.showToast(res.msg);
  437. }
  438. });
  439. }
  440. // #endif
  441. // #ifdef MP-WEIXIN
  442. that.$Request.postT('/app/wxPayRider/wxPayCashDeposit?money=' + that.earnestMoney + '&type=3').then(
  443. res => {
  444. console.log('res', res)
  445. if (res.code == 0) {
  446. uni.requestPayment({
  447. provider: 'wxpay',
  448. timeStamp: res.data.timestamp,
  449. nonceStr: res.data.noncestr,
  450. package: res.data.package,
  451. signType: res.data.signType,
  452. paySign: res.data.sign,
  453. success: function(res) {
  454. that.shows = false
  455. this.earnestMoney = ''
  456. uni.hideLoading();
  457. that.taskData()
  458. that.$queue.showToast('支付成功');
  459. setTimeout(function() {
  460. uni.hideLoading();
  461. }, 1000);
  462. },
  463. fail: function(err) {
  464. that.shows = false
  465. this.earnestMoney = ''
  466. console.log('fail:' + JSON.stringify(err));
  467. uni.hideLoading();
  468. that.$queue.showToast('支付失败');
  469. }
  470. });
  471. } else {
  472. that.shows = false
  473. that.earnestMoney = ''
  474. that.$queue.showToast(res.msg);
  475. }
  476. });
  477. // #endif
  478. } else if (this.openWay == 2) { //支付宝支付
  479. // #ifdef H5
  480. that.$Request.postT('/app/aliPay/aliPayRiderCashDeposit?cashDeposit=' + that.earnestMoney +
  481. '&classify=5').then(
  482. res => {
  483. if (res.code == 0) {
  484. const div = document.createElement('div')
  485. div.innerHTML = res.data //此处form就是后台返回接收到的数据
  486. document.body.appendChild(div)
  487. document.forms[0].submit()
  488. } else {
  489. uni.hideLoading();
  490. that.$queue.showToast(res.msg);
  491. }
  492. });
  493. // #endif
  494. // #ifdef APP
  495. this.$Request.postT('/app/aliPay/aliPayRiderCashDeposit?cashDeposit=' + that.earnestMoney +
  496. '&classify=4').then(
  497. ret => {
  498. console.log(JSON.stringify(ret), '支付信息')
  499. if (ret.code == 0) {
  500. this.isCheckPay(ret.code, 'alipay', ret.data);
  501. } else {
  502. that.shows = false
  503. that.earnestMoney = ''
  504. that.$queue.showToast(ret.msg);
  505. }
  506. });
  507. // #endif
  508. }
  509. },
  510. callPay: function(response) {
  511. if (typeof WeixinJSBridge === "undefined") {
  512. if (document.addEventListener) {
  513. document.addEventListener('WeixinJSBridgeReady', this.onBridgeReady(response), false);
  514. } else if (document.attachEvent) {
  515. document.attachEvent('WeixinJSBridgeReady', this.onBridgeReady(response));
  516. document.attachEvent('onWeixinJSBridgeReady', this.onBridgeReady(response));
  517. }
  518. } else {
  519. this.onBridgeReady(response);
  520. }
  521. },
  522. onBridgeReady: function(response) {
  523. let that = this;
  524. console.log(!response.package, '2222222')
  525. // if (!response.package) {
  526. // return;
  527. // }
  528. this.earnestMoney = ''
  529. this.shows = false
  530. console.log(response, '1111111111')
  531. WeixinJSBridge.invoke(
  532. 'getBrandWCPayRequest', {
  533. "appId": response.data.appid, //公众号名称,由商户传入
  534. "timeStamp": response.data.timestamp, //时间戳,自1970年以来的秒数
  535. "nonceStr": response.data.noncestr, //随机串
  536. "package": response.data.package,
  537. "signType": response.data.signType, //微信签名方式:
  538. "paySign": response.data.sign //微信签名
  539. },
  540. function(res) {
  541. console.log(res, '/*-/*-/*-')
  542. if (res.err_msg === "get_brand_wcpay_request:ok") {
  543. // 使用以上方式判断前端返回,微信团队郑重提示:
  544. //res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
  545. that.taskData()
  546. uni.showLoading({
  547. title: '支付成功'
  548. });
  549. setTimeout(function() {
  550. uni.hideLoading();
  551. }, 1000);
  552. } else {
  553. uni.hideLoading();
  554. }
  555. WeixinJSBridge.log(response.err_msg);
  556. }
  557. );
  558. },
  559. isCheckPay(status, name, order) {
  560. this.earnestMoney = ''
  561. this.shows = false
  562. if (status == 0) {
  563. this.setPayment(name, order);
  564. } else {
  565. uni.hideLoading();
  566. uni.showToast({
  567. title: '支付信息有误',
  568. icon: 'none'
  569. });
  570. }
  571. },
  572. setPayment(name, order) {
  573. let that = this
  574. console.log(name, '*-*-*', order)
  575. uni.requestPayment({
  576. provider: name,
  577. orderInfo: order, //微信、支付宝订单数据
  578. success: function(res) {
  579. console.log(res)
  580. that.taskData()
  581. uni.hideLoading();
  582. uni.showLoading({
  583. title: '支付成功'
  584. });
  585. },
  586. fail: function(err) {
  587. console.log(err)
  588. uni.hideLoading();
  589. },
  590. complete() {
  591. uni.hideLoading();
  592. }
  593. });
  594. },
  595. // 退保证金
  596. tuiBtn() {
  597. let that = this
  598. if (that.mayMoney == 0) {
  599. uni.showToast({
  600. icon: 'none',
  601. title: '暂无保证金'
  602. })
  603. return
  604. }
  605. uni.showModal({
  606. title: '提示',
  607. content: '确认退还保证金吗?如果存在未完成订单和未处理完成的投诉无法退还,需要先处理完毕后再申请',
  608. success: function(res) {
  609. if (res.confirm) {
  610. that.$Request.getT('/app/cash/cashDepositMoney').then(res => {
  611. console.log(res)
  612. if (res.code == 0) {
  613. uni.showToast({
  614. title: '申请成功'
  615. })
  616. } else {
  617. uni.showToast({
  618. title: res.msg,
  619. icon: 'none'
  620. })
  621. }
  622. setTimeout(function() {
  623. that.taskData()
  624. }, 1000)
  625. });
  626. }
  627. },
  628. })
  629. }
  630. }
  631. }
  632. </script>
  633. <style>
  634. .border-bottom {
  635. border-bottom: 1rpx solid #e4e7ed; /* 下边框样式 */
  636. }
  637. .tab {
  638. padding: 10rpx 15rpx;
  639. border-radius: 12rpx;
  640. background: #f5f5f5;
  641. }
  642. .tabg {
  643. padding: 8rpx 15rpx;
  644. border-radius: 12rpx;
  645. background: #00c18a;
  646. color: #fff;
  647. }
  648. /* 支付金额弹框 */
  649. .receipt_code {
  650. width: 90%;
  651. margin: 0 auto;
  652. }
  653. .code_title {
  654. width: 100%;
  655. line-height: 100rpx;
  656. font-size: 31rpx;
  657. font-weight: bold;
  658. text-align: center;
  659. letter-spacing: 2rpx;
  660. margin-top: 21rpx;
  661. margin-bottom: 25rpx;
  662. }
  663. ::v-deep .u-input--border {
  664. border: 1px solid #F2F2F2 !important;
  665. /* background: #F2F2F2 !important; */
  666. color: #999999 !important;
  667. font-weight: 500 !important;
  668. letter-spacing: 2rpx !important;
  669. }
  670. ::v-deep .u-input__input {
  671. font-size: 30rpx;
  672. /* font-weight: bold; */
  673. flex: 1;
  674. color: #999999 !important;
  675. min-height: 85rpx !important;
  676. margin-top: 7rpx;
  677. }
  678. .sure {
  679. width: 90%;
  680. height: 80rpx;
  681. background: #00c18a;
  682. color: white;
  683. border-radius: 16rpx;
  684. text-align: center;
  685. line-height: 80rpx;
  686. margin-top: 30rpx;
  687. margin-left: 5%;
  688. letter-spacing: 2rpx;
  689. }
  690. .content {
  691. width: 100%;
  692. position: relative;
  693. }
  694. .acont_part1 {
  695. width: 100%;
  696. }
  697. .balance {
  698. width: 90%;
  699. margin: 0 auto;
  700. text-align: center;
  701. /* margin-top: 50rpx; */
  702. line-height: 55rpx;
  703. }
  704. .balance_name {
  705. font-size: 26rpx;
  706. letter-spacing: 2rpx;
  707. }
  708. .balance_price {
  709. margin-top: 10rpx;
  710. font-weight: bold;
  711. font-size: 60rpx;
  712. }
  713. .part1_btn {
  714. width: 90%;
  715. margin: 0 auto;
  716. margin-top: 80rpx;
  717. display: flex;
  718. }
  719. .btn_left {
  720. flex: 1;
  721. border: 1rpx solid #CCCCCC;
  722. text-align: center;
  723. line-height: 80rpx;
  724. color: black;
  725. font-size: 24rpx;
  726. border-radius: 12rpx;
  727. margin-right: 10rpx;
  728. }
  729. .btn_right {
  730. flex: 1;
  731. border: 1rpx solid #CCCCCC;
  732. text-align: center;
  733. line-height: 80rpx;
  734. background: #2474FF;
  735. color: white;
  736. font-size: 24rpx;
  737. border-radius: 12rpx;
  738. margin-left: 10rpx;
  739. }
  740. .acont_part2 {
  741. width: 90%;
  742. position: absolute;
  743. top: 500rpx;
  744. left: 37rpx;
  745. }
  746. .acount_type {
  747. font-size: 34rpx;
  748. /* font-weight: bold; */
  749. letter-spacing: 2rpx;
  750. margin-bottom: 10rpx;
  751. /* line-height: 75rpx; */
  752. }
  753. .name {
  754. font-size: 26rpx;
  755. /* font-weight: bold; */
  756. letter-spacing: 2rpx;
  757. margin-bottom: 10rpx;
  758. }
  759. .tit {
  760. color: #999;
  761. font-size: 25rpx;
  762. }
  763. </style>