billHistoryDetail.vue 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648
  1. <template>
  2. <view class="content flex flex_column" v-if="billInfo">
  3. <view class="b_head">
  4. <view class="head_list">
  5. <text>分享时间</text>
  6. <text>{{ billInfo.createDate }}</text>
  7. </view>
  8. <view class="head_list" v-if="billInfo.customer">
  9. <text>客户名称</text>
  10. <text>{{ billInfo.customer.customerName }}</text>
  11. </view>
  12. <!-- <view class="head_list">
  13. <text>对账周期</text>
  14. <text>{{ timeInfo || '--' }}</text>
  15. </view> -->
  16. <view class="head_list">
  17. <text>付款状态</text>
  18. <text>{{ billInfo.billStatus == 'UNSETTLE' ? '未付款' : billInfo.settleStyleSnDictValue ? '已结清(' + billInfo.settleStyleSnDictValue + ')' : '已结清' }}</text>
  19. </view>
  20. </view>
  21. <view class="b_detail" v-if="billInfo.billStatus == 'UNSETTLE'">
  22. <view class="detail_list u-flex">
  23. <view class="detail_box">
  24. <text>总单数:</text>
  25. <text>{{ billInfo.detailNum }}</text>
  26. </view>
  27. <view class="detail_box">
  28. <text>待收:</text>
  29. <text>¥{{dueAmount}}</text>
  30. </view>
  31. </view>
  32. <view class="detail_list u-flex">
  33. <view class="detail_box">
  34. <text>折让:</text>
  35. <text>¥{{ billInfo.discountAmount||billInfo.discountAmount==0? toThousands(billInfo.discountAmount,2):'--'}}</text>
  36. </view>
  37. <view class="detail_box">
  38. <text>折后:</text>
  39. <text>¥{{ billInfo.settleAmount||billInfo.settleAmount ==0? toThousands(billInfo.settleAmount,2):'--' }}</text>
  40. </view>
  41. </view>
  42. </view>
  43. <view class="b_detail" v-else>
  44. <view class="detail_list u-flex">
  45. <view class="detail_box">
  46. <text>总单数:</text>
  47. <text>{{ billInfo.detailNum }}</text>
  48. </view>
  49. <view class="detail_box">
  50. <text>折让:</text>
  51. <text>¥{{ billInfo.discountAmount||billInfo.discountAmount==0? toThousands(billInfo.discountAmount,2):'--'}}</text>
  52. </view>
  53. </view>
  54. <view class="detail_list u-flex">
  55. <view class="detail_box">
  56. <text>折后:</text>
  57. <text>¥{{foldAmount}}</text>
  58. </view>
  59. <view class="detail_box">
  60. <text>实收:</text>
  61. <text>¥{{ billInfo.settleRealAmount||billInfo.settleRealAmount ==0? toThousands(billInfo.settleRealAmount,2):'--' }}</text>
  62. </view>
  63. </view>
  64. </view>
  65. <view class="detail_con"><billList ref="billBox" :showCheck="isShowEdit" :list="billArr" @allChecked="chooseBillList"></billList></view>
  66. <view v-if="!isShowEdit">
  67. <view class="footer u-flex u-row-center" v-if="billInfo.billStatus == 'UNSETTLE'&& billArr&&billArr.length!=0">
  68. <view class="u-flex u-col-center" >
  69. <u-button type="primary" shape="circle" :loading="btnLoading" @click="submitOrder" :custom-style="customStyle">再次发送对账单</u-button>
  70. <u-button type="warning" shape="circle" style="margin-left:30rpx;width:290rpx;" @click="openPaymentModal">确认收款</u-button>
  71. </view>
  72. </view>
  73. <view class="footer" v-else-if="billInfo.billStatus != 'UNSETTLE'&& billArr&&billArr.length!=0">
  74. <u-button type="primary" shape="circle" :loading="btnLoading" @click="submitOrder" :custom-style="customStyle">再次发送对账单</u-button>
  75. </view>
  76. </view>
  77. <view v-else>
  78. <view class="footer flex align_center" v-if="billInfo.billStatus == 'UNSETTLE' && billArr&&billArr.length!=0">
  79. <u-checkbox-group style="flex:1;">
  80. <u-checkbox v-model="checkedAll" shape="circle" @change="chooseAll">{{checkedAll?'取消全选':'全选'}}</u-checkbox>
  81. </u-checkbox-group>
  82. <view class="u-flex u-row-right">
  83. <u-button type="error" shape="circle" :loading="btnLoading" @click="handleEvents('del')" :custom-style="customDelStyle">删除</u-button>
  84. <u-button type="warning" shape="circle" style="margin-left: 30rpx;" @click="handleEvents('update')">一键刷新</u-button>
  85. </view>
  86. </view>
  87. </view>
  88. <!-- 一键刷新 删除 -->
  89. <u-modal v-model="modalShow" :show-title="false" :content="modalCon" :show-cancel-button="true" @cancel="closeDelModal" @confirm="handleConfirm"></u-modal>
  90. <!-- 确认收款弹窗 -->
  91. <u-popup v-model="showPayment" mode="center" @close="closePopup" :border-radius="20" width="82%">
  92. <view class="slot-content">
  93. <view style="padding:50rpx 30rpx 20rpx;">
  94. <u-form :model="form" ref="uForm" :error-type="['message']" :label-width="150" :rules="rules" :label-style="{color:'#999'}">
  95. <u-form-item :border-bottom ="false" label="总单数:" prop="num" v-if="billArr">{{billArr.length}}</u-form-item>
  96. <u-form-item :border-bottom ="false" label="结算方式:" prop="settleTypeName">
  97. <u-input type="select" placeholder="请选择结算方式" :height="60" v-model="form.settleTypeName" @click="settleShow = true"/>
  98. </u-form-item>
  99. <u-form-item v-if="enableFundAccount" style="padding-top:0;" :border-bottom ="false" label="结算账户:" prop="settleAccountName">
  100. <u-input type="select" placeholder="请选择结算账户" :height="60" v-model="form.settleAccountName" @click="openSettleAccount"/>
  101. </u-form-item>
  102. <u-form-item :border-bottom ="false" label="待收金额:" prop="num">¥{{dueAmount}}</u-form-item>
  103. <u-form-item :border-bottom ="false" label="折让金额:" prop="discountAmount"><u-input type="number" :custom-style="{color:'#ffa500'}" placeholder="请输入折让金额(最多2位小数)" :border="true" :height="60" v-model="form.discountAmount"/></u-form-item>
  104. <view class="tip" v-if="form.discountAmount*1 > dueAmount*1">折让金额不能大于待收金额,请重新输入</view>
  105. </u-form>
  106. </view>
  107. <view class="costText">实收金额</view>
  108. <view class="costText1">¥{{settlement<0?0:settlement}}</view>
  109. <view class="paymentFooter flex algin-center">
  110. <view @click="closePopup">取消</view>
  111. <view @click="handlePay">确定</view>
  112. </view>
  113. </view>
  114. </u-popup>
  115. <!-- 提示弹窗 -->
  116. <u-modal v-model="showModal" confirm-text="知道了" :content="modalContent" :show-title="false"></u-modal>
  117. <u-picker mode="selector" v-model="settleShow" @confirm="confirmSettle" :default-selector="[0]" :range="settleList" range-key="dispName"></u-picker>
  118. <u-picker mode="selector" v-model="settleAccount" @confirm="confirmSettleAccount" :default-selector="[0]" :range="accountList" range-key="name"></u-picker>
  119. <!-- 分享询问弹窗 -->
  120. <u-modal v-model="shareShow" :show-cancel-button="true" :content="shareContent" @confirm="handleShare" @cancel="shareShow = false;btnLoading = false;"></u-modal>
  121. </view>
  122. </template>
  123. <script>
  124. import billList from './billListComponent.vue';
  125. import { findBySn, insert,settleVerify,settle,flushBill,deleteDetails } from '@/api/verify.js';
  126. import getDate from '@/libs/getDate.js';
  127. import { toThousands } from '@/libs/tools.js'
  128. import { getLookUpDatas } from '@/api/data';
  129. import { queryFunctionState,settleAccountList } from '@/api/user';
  130. export default {
  131. components: { billList },
  132. data() {
  133. return {
  134. customStyle: {
  135. backgroundColor: this.$config('primaryColor'),
  136. color: '#fff'
  137. },
  138. customDelStyle: {
  139. width:'200rpx',
  140. color: '#fff'
  141. },
  142. verifySn: '',
  143. billInfo: null,
  144. billArr: [],
  145. timeInfo: '',
  146. btnLoading: false,
  147. shareShow: false,
  148. isShowEdit:false,//编辑
  149. settleShow:false,//结算方式
  150. shareContent: `是否同意发送对账单给微信好友?`,
  151. toThousands,
  152. showPayment:false,
  153. form:{
  154. receiptAmount:0,
  155. discountAmount:undefined,
  156. settleType:'',
  157. settleTypeName:'',
  158. settleAccountSn:'',
  159. settleAccountName:''
  160. },
  161. settleList:[],
  162. rules: {
  163. settleTypeName: [
  164. {
  165. required: true,
  166. message: '请选择结算方式',
  167. trigger: ['change','blur'],
  168. }
  169. ],
  170. settleAccountName:[
  171. {
  172. required: true,
  173. message: '请选择结算账户',
  174. trigger: ['change','blur'],
  175. }
  176. ]
  177. },
  178. showModal:false,
  179. modalContent:'',
  180. enableFundAccount:false,
  181. accountList:[],//结算账户列表
  182. settleAccount:false,
  183. orderList:[],
  184. modalShow:false,
  185. modalCon:'刷新后,将删除对账单中已收款的订单,更新待收款单据。确定刷新吗?',
  186. eventsType:'' //打开弹窗类型 del删除 update更新
  187. };
  188. },
  189. onReady() {
  190. uni.setNavigationBarColor({
  191. frontColor: '#ffffff',
  192. backgroundColor: this.$config('primaryColor')
  193. });
  194. },
  195. onLoad(options) {
  196. if (options && options.billId) {
  197. this.verifySn = options.billId;
  198. this.loadData({ verifySn: options.billId });
  199. }
  200. },
  201. //编辑事件
  202. onNavigationBarButtonTap(e){
  203. this.isShowEdit = !this.isShowEdit
  204. var pages = getCurrentPages();
  205. var page = pages[pages.length - 1];
  206. var currentWebview = page.$getAppWebview();
  207. var tn = currentWebview.getStyle().titleNView;
  208. let _this = this
  209. if(_this.isShowEdit){
  210. tn.buttons[0].text = '\ue601 取消';
  211. }else{
  212. tn.buttons[0].text = '\ue601 编辑';
  213. }
  214. _this.$nextTick(()=>{
  215. currentWebview.setStyle({
  216. titleNView: tn
  217. });
  218. })
  219. },
  220. computed: {
  221. //经销商信息
  222. userData() {
  223. return this.$store.state.vuex_userData;
  224. },
  225. settlement() {
  226. let totalPrice=this.billInfo.totalAmount?this.billInfo.totalAmount:0;
  227. let settleRealAmount = this.billInfo.settleRealAmount?this.billInfo.settleRealAmount:0
  228. let discountPrice=this.form.discountAmount?this.form.discountAmount:0
  229. let priceNum=totalPrice - discountPrice - settleRealAmount;
  230. let endPay=Number(priceNum)>0 ? priceNum : 0
  231. const ret = endPay.toFixed(2)
  232. this.form.receiptAmount = ret
  233. return ret
  234. },
  235. // 待收金额
  236. dueAmount(){
  237. let totalAmount = this.billInfo.totalAmount?this.billInfo.totalAmount:0
  238. let settleRealAmount = this.billInfo.settleRealAmount?this.billInfo.settleRealAmount:0
  239. let duePrice = totalAmount - settleRealAmount
  240. duePrice=Number(duePrice)>0 ? duePrice : 0
  241. const resPrice = duePrice.toFixed(2)
  242. return resPrice
  243. },
  244. //经销商信息
  245. userData() {
  246. return this.$store.state.vuex_userData;
  247. },
  248. // 折后金额
  249. foldAmount(){
  250. let totalAmount = this.billInfo.totalAmount?this.billInfo.totalAmount:0
  251. let discountPrice=this.billInfo.discountAmount?this.billInfo.discountAmount:0
  252. let foldPrice = totalAmount - discountPrice
  253. foldPrice=Number(foldPrice)>0 ? foldPrice : 0
  254. const newFoldPrice = foldPrice.toFixed(2)
  255. return newFoldPrice
  256. }
  257. },
  258. methods: {
  259. loadData(ajaxData) {
  260. let that = this;
  261. findBySn(ajaxData).then(res => {
  262. if (res.status == 200) {
  263. that.billInfo = res.data;
  264. that.billArr = res.data.detailList;
  265. let timeobj = getDate.editDay(res.data.bizBeginDate, res.data.bizEndDate);
  266. that.timeInfo = timeobj.starttime + '~' + timeobj.endtime;
  267. that.$nextTick(() => {
  268. that.$refs.billBox.setData(res.data.detailList);
  269. });
  270. this.isShowEditBtn()
  271. }
  272. });
  273. },
  274. //关闭编辑按钮
  275. isShowEditBtn(){
  276. // #ifdef APP-PLUS
  277. let webview = this.$mp.page.$getAppWebview();
  278. if(this.billInfo.billStatus != 'UNSETTLE' || !this.billArr || this.showPayment || this.modalShow){
  279. webview.setTitleNViewButtonStyle(0, {
  280. width:'0px'
  281. })
  282. }else{
  283. webview.setTitleNViewButtonStyle(0, {
  284. width:'60px'
  285. })
  286. }
  287. // #endif
  288. },
  289. // 关闭弹窗
  290. closePopup(){
  291. this.form={
  292. receiptAmount:0,
  293. discountAmount:this.billInfo.discountAmount,
  294. settleType:'',
  295. settleTypeName:'',
  296. settleAccountSn:'',
  297. settleAccountName:''
  298. }
  299. this.showPayment = false
  300. this.isShowEditBtn()
  301. },
  302. // 打开确认收款弹窗
  303. openPaymentModal(){
  304. let _this=this
  305. // 校验弹窗是否需要打开
  306. settleVerify({ verifySn: _this.verifySn}).then(res => {
  307. if (res.status == 200) {
  308. if(!res.data.falg){
  309. _this.modalContent = res.data.message
  310. _this.$nextTick(()=>{
  311. _this.showModal = true
  312. })
  313. }else{
  314. // 判断是否显示结算类型
  315. queryFunctionState().then(res => {
  316. if (res.status == 200) {
  317. _this.enableFundAccount = res.data.functionEnableFlag == 1
  318. }
  319. })
  320. _this.getPayType();
  321. _this.showPayment = true
  322. _this.form.discountAmount=_this.billInfo.discountAmount?toThousands(_this.billInfo.discountAmount):'0.00'
  323. _this.$nextTick(()=>{
  324. _this.isShowEditBtn();
  325. _this.$refs.uForm.setRules(_this.rules);
  326. })
  327. }
  328. }
  329. });
  330. },
  331. //获取结算类型列表
  332. getPayType(){
  333. getLookUpDatas({
  334. lookupCode: 'SETTLE_STYLE',
  335. pageNo: 1,
  336. pageSize: 1000
  337. }).then(result => {
  338. if (result && result.status == 200) {
  339. this.settleList = result.data.list;
  340. }
  341. });
  342. },
  343. //获取结算账户
  344. getPayAccount(typeCode){
  345. settleAccountList({settleStyleSn: typeCode,pageNo:1,pageSize:500,state:'ENABLE'}).then(result => {
  346. if (result && result.status == 200) {
  347. result.data.list.forEach(item=>{
  348. item.name = item.accountName+'-'+item.accountNo
  349. })
  350. this.accountList = result.data.list;
  351. }
  352. });
  353. },
  354. //结算类型 确定
  355. confirmSettle(e){
  356. let pos=e[0]
  357. this.form.settleType = this.settleList[pos].code
  358. this.form.settleTypeName = this.settleList[pos].dispName
  359. if(this.enableFundAccount){
  360. this.form.settleAccountSn=''
  361. this.form.settleAccountName=''
  362. this.getPayAccount(this.settleList[pos].code)
  363. }
  364. },
  365. submitOrder() {
  366. //发送对账单
  367. this.shareShow = true;
  368. },
  369. //结算账户弹窗
  370. openSettleAccount(){
  371. if(!this.form.settleTypeName){
  372. uni.showToast({
  373. title:'请先选择结算类型',
  374. icon:'none'
  375. })
  376. return
  377. }
  378. if(this.accountList && this.accountList.length==0){
  379. uni.showToast({
  380. title:'结算账户暂时没有数据,请重新选择结算类型',
  381. icon:'none'
  382. })
  383. return
  384. }
  385. this.settleAccount = true
  386. },
  387. //结算账户 确定
  388. confirmSettleAccount(e){
  389. let pos=e[0]
  390. this.form.settleAccountSn=this.accountList[pos].settleAccountSn
  391. this.form.settleAccountName=this.accountList[pos].name
  392. },
  393. //确认收款
  394. handlePay(){
  395. let _this=this
  396. _this.$refs.uForm.validate(valid => {
  397. if (valid) {
  398. let totalPrice=this.billInfo.totalAmount?this.billInfo.totalAmount:0;
  399. let discountPrice=this.form.discountAmount?this.form.discountAmount:0
  400. if (discountPrice > totalPrice) {
  401. uni.showToast({
  402. title: '折让金额不能大于待收金额,请重新输入',
  403. icon: 'none'
  404. });
  405. return;
  406. }
  407. let reg = /^(([1-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,2})))$/;
  408. if(discountPrice && discountPrice!=0){
  409. if (!reg.test(discountPrice)) {
  410. uni.showToast({
  411. title: '折让金额格式不正确,请重新输入',
  412. icon: 'none'
  413. });
  414. return;
  415. }
  416. }
  417. let ajaxData=JSON.stringify(_this.form)
  418. let newAjaxData = JSON.parse(ajaxData)
  419. newAjaxData.verifySn = _this.verifySn
  420. newAjaxData.discountAmount = _this.form.discountAmount?_this.form.discountAmount:0
  421. delete newAjaxData.settleAccountName
  422. settle(newAjaxData).then(result => {
  423. if (result && result.status == 200) {
  424. uni.showToast({
  425. title:result.message
  426. });
  427. _this.closePopup()
  428. _this.loadData({ verifySn: _this.verifySn });
  429. }
  430. });
  431. } else {
  432. console.log('验证失败');
  433. }
  434. });
  435. },
  436. // 分享图文
  437. handleShare() {
  438. let jumpUrl = getApp().globalData.baseUrl.replace('qpls-md/','')
  439. let url = jumpUrl+'dzd/index.html?' + this.userData.orgSn + '&' + this.verifySn;
  440. if (uni.getSystemInfoSync().platform == 'ios') {
  441. uni.share({
  442. provider: 'weixin',
  443. scene: 'WXSceneSession',
  444. type: 0,
  445. href: url,
  446. title: this.billInfo.customer.customerName + '的对账单',
  447. summary: '共' + this.billInfo.settleAmount + '元,请您查阅',
  448. imageUrl: '../../static/logo.png',
  449. success: function(res) {
  450. console.log('success:' + JSON.stringify(res));
  451. },
  452. fail: function(err) {
  453. console.log('fail:' + JSON.stringify(err));
  454. }
  455. });
  456. } else {
  457. uni.shareWithSystem({
  458. summary: this.billInfo.customer.customerName + '您好,您有一个对账单共' + this.billInfo.settleAmount + '元,请您查阅',
  459. href: url,
  460. success() {
  461. console.log('调取微信列表成功,分享不一定成功');
  462. },
  463. fail() {
  464. console.log('分享失败');
  465. }
  466. });
  467. }
  468. },
  469. //一键刷新
  470. handleUpdate(){
  471. this.checkedAll = false
  472. this.$refs.billBox.allSelect(false);
  473. flushBill({verifySn:this.verifySn}).then(res => {
  474. if (res.status == 200) {
  475. this.loadData({ verifySn: this.verifySn })
  476. }
  477. });
  478. },
  479. //删除
  480. deleteOrder(){
  481. let that=this
  482. deleteDetails({verifySn:that.verifySn,detailSnList:that.orderList}).then(res => {
  483. if (res.status == 200) {
  484. uni.showToast({
  485. title:res.message,
  486. duration: 2000
  487. })
  488. that.loadData({ verifySn: that.verifySn });
  489. }
  490. });
  491. },
  492. closeDelModal(){
  493. this.modalShow = false
  494. let that=this
  495. that.$nextTick(()=>{
  496. that.isShowEditBtn()
  497. })
  498. },
  499. handleEvents(type){
  500. this.eventsType=type
  501. if(type == 'del'){
  502. let allList=this.$refs.billBox.getAllData();
  503. let newChooseList = []
  504. let num = 0
  505. allList.forEach(item=>{
  506. if(item.checked){
  507. newChooseList.push(item.detailSn)
  508. num+=item.unsettleAmount
  509. }
  510. })
  511. if(newChooseList.length == 0){
  512. uni.showToast({
  513. title:'请先选择要删除的销售单',
  514. icon:'none'
  515. })
  516. return
  517. }
  518. this.orderList=newChooseList
  519. let newNum=toThousands(num,2)
  520. this.modalCon = '选中'+newChooseList.length+'项,待收金额¥'+newNum+',确认删除吗?'
  521. }else{
  522. this.modalCon='刷新后,将删除对账单中已收款的订单,更新待收款单据。确定刷新吗?'
  523. }
  524. let that=this
  525. that.$nextTick(()=>{
  526. that.modalShow = true
  527. that.isShowEditBtn()
  528. })
  529. },
  530. //确定提交删除、刷新
  531. handleConfirm(){
  532. if(this.eventsType=='del'){
  533. this.deleteOrder();
  534. }else{
  535. this.handleUpdate();
  536. }
  537. },
  538. chooseBillList(flag){
  539. this.checkedAll = flag
  540. },
  541. chooseAll(){
  542. this.$refs.billBox.allSelect(!this.checkedAll);
  543. }
  544. }
  545. };
  546. </script>
  547. <style lang="scss" scoped>
  548. .content {
  549. height: 100vh;
  550. width: 100%;
  551. box-sizing: border-box;
  552. .b_head {
  553. background-color: #fff;
  554. .head_list {
  555. padding: 14rpx 20rpx;
  556. border-bottom: 1rpx solid #f8f8f8;
  557. text {
  558. &:first-child {
  559. color: $uni-text-color-grey;
  560. display: inline-block;
  561. width: 160rpx;
  562. }
  563. }
  564. }
  565. }
  566. .b_detail {
  567. margin: 6rpx 0;
  568. background-color: #fff;
  569. padding: 20rpx;
  570. box-sizing: border-box;
  571. .detail_list {
  572. margin-bottom: 10rpx;
  573. &:last-child {
  574. margin-bottom: 0rpx;
  575. }
  576. .detail_box::after {
  577. content: ';';
  578. color: $uni-text-color-grey;
  579. }
  580. .detail_box {
  581. text {
  582. &:first-child {
  583. color: $uni-text-color-grey;
  584. }
  585. &:last-child {
  586. color: $uni-color-warning;
  587. font-weight: 600;
  588. }
  589. }
  590. }
  591. }
  592. }
  593. .detail_con {
  594. flex-grow: 1;
  595. overflow: auto;
  596. background-color: #fff;
  597. }
  598. .footer {
  599. width: 100%;
  600. box-sizing: border-box;
  601. padding: 10rpx 20rpx;
  602. background: #fff;
  603. }
  604. }
  605. // 确认收款弹窗
  606. .slot-content{
  607. .u-form-item{
  608. line-height:0 !important;
  609. }
  610. .paymentFooter{
  611. border-top:1rpx solid #eee;
  612. view{
  613. width: 50%;
  614. text-align:center;
  615. padding:26rpx 0;
  616. }
  617. }
  618. .paymentFooter view:last-child{
  619. color:#007aff;
  620. border-left:1rpx solid #eee;
  621. }
  622. .costText {
  623. text-align: center;
  624. color: $uni-text-color-grey;
  625. font-size: 22rpx;
  626. }
  627. .costText1 {
  628. text-align: center;
  629. font-weight: bold;
  630. color: $uni-color-error;
  631. font-size: 36rpx;
  632. line-height: 60rpx;
  633. padding-bottom: 30rpx;
  634. }
  635. .tip {
  636. color: #fa3534;
  637. font-size: 20rpx;
  638. margin-left: 160rpx;
  639. }
  640. }
  641. </style>