From 6ab31440f3e8ebc06e43985677c8f42515982c2d Mon Sep 17 00:00:00 2001 From: "liujw155@outlook.com" Date: Thu, 19 Jun 2025 18:27:27 +0800 Subject: [PATCH 1/5] add logic for md0612 --- src/style/iconfonts.scss | 7 + src/subpackage/common/components/card_search.vue | 33 ++- src/subpackage/common/pages/pay_type_select.vue | 281 +++++++++------------ src/subpackage/common/static/images/ic_0.png | Bin 659 -> 0 bytes src/subpackage/common/static/images/ic_1.png | Bin 627 -> 0 bytes src/subpackage/common/static/images/ic_2.png | Bin 1318 -> 0 bytes src/subpackage/common/static/images/ic_3.png | Bin 764 -> 0 bytes src/subpackage/common/static/images/ic_4.png | Bin 1312 -> 0 bytes .../common/static/images/pay_types/ic_0.png | Bin 0 -> 2845 bytes .../common/static/images/pay_types/ic_1.png | Bin 0 -> 1751 bytes .../common/static/images/pay_types/ic_2.png | Bin 0 -> 1254 bytes .../common/static/images/pay_types/ic_3.png | Bin 0 -> 1293 bytes .../common/static/images/pay_types/ic_4.png | Bin 0 -> 2058 bytes .../common/static/images/pay_types/ic_5.png | Bin 0 -> 1944 bytes .../modules/order_detail/end_billing_modal.vue | 24 +- .../order/pages/timekeeping/order_detail/site.vue | 15 +- src/uni.scss | 77 +----- src/utils/calculate.js | 81 ++++++ 18 files changed, 260 insertions(+), 258 deletions(-) create mode 100644 src/style/iconfonts.scss delete mode 100644 src/subpackage/common/static/images/ic_0.png delete mode 100644 src/subpackage/common/static/images/ic_1.png delete mode 100644 src/subpackage/common/static/images/ic_2.png delete mode 100644 src/subpackage/common/static/images/ic_3.png delete mode 100644 src/subpackage/common/static/images/ic_4.png create mode 100644 src/subpackage/common/static/images/pay_types/ic_0.png create mode 100644 src/subpackage/common/static/images/pay_types/ic_1.png create mode 100644 src/subpackage/common/static/images/pay_types/ic_2.png create mode 100644 src/subpackage/common/static/images/pay_types/ic_3.png create mode 100644 src/subpackage/common/static/images/pay_types/ic_4.png create mode 100644 src/subpackage/common/static/images/pay_types/ic_5.png create mode 100644 src/utils/calculate.js diff --git a/src/style/iconfonts.scss b/src/style/iconfonts.scss new file mode 100644 index 0000000..fd88ad5 --- /dev/null +++ b/src/style/iconfonts.scss @@ -0,0 +1,7 @@ +// iconfont 圆圈白勾选中 () +@mixin circleSelected { + @font-face { + font-family: 'circleSelected'; + src: url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAALMAAsAAAAABoQAAAKBAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFQGYACCcAp8gQ4BNgIkAwgLBgAEIAWEZwcyG8wFyJ6aPIECCiFAG9Z64OAyRBCtsdm7Q0SSehbLoiGSIFGSWKuETKZBEyvhf35/7xnAdOP4FUenrzQ93Pfh+85nGtpWwQhHqTkqbZGKQ4bcuXlAiXC5XLju838/+ZcX8D0+5w6Kakp8YPOB7IMu22YtvjPzgU9heNVB7sQ1Ao2WVAnfberQQ/IFh07IF8nuD7L6uLCYOIiVIopC8/VCLbq2QDyJIl2nC+Ax+nz800QsSGoy2E0H540iHN2nOhNyX9UH8pu++TroZQk1yJgDCnHSndkTIZqkCI2eSCO0tQi+UqsqcItdO4T419m1zWCYKu9J5alvVTGBwnDGgNVR7yBHUrac2Pd6NXxz0399PXR5Sfsh+6bGsf6V4SyDML6+NJMpjsxG4KYXz3lfXN57Pg9ffgSe1w5hut+np28LXwreQ6Gwz7e+tZi3tRuiYROget7NpRCG4LJzKj0pFX/1CZEAH/pajELVC2A+UL9rT/CfTJ0gsRgxUjlciUBSrBGn1jc6cSp2oNPdWGvX/RRCva678tUZypDVG6EKN4MaTVZQq94aGs1q3Nyki1uEKHHAhEGC0G4JSatnZO2OqcLdoEavB9Rq949GZ5G0X5OJEOoZ5ZCKhA8Si+BySq4FI7laavLaOVaXNFImW2icqBWqcr6ZOimbYoHsM2kQJSIxl4M0CZdRu91F3MxlpQIqzIjuMqVSarqJQnA5oB5DcRAlInhBhIXAxUkKyFj8Pi3KxMuOw0DKmGFkFiqfUFNQAVSz0Qn13MkhMh8TDYQkhISRnAPRJI2i7OxcCHfzKCtKgBTMI1JuZZQOSUKNivXNjk87AI1sWwqnJALqr6j9DsNUBAA=') format('woff2'); + } +} \ No newline at end of file diff --git a/src/subpackage/common/components/card_search.vue b/src/subpackage/common/components/card_search.vue index aa3011c..2a4b789 100644 --- a/src/subpackage/common/components/card_search.vue +++ b/src/subpackage/common/components/card_search.vue @@ -54,6 +54,7 @@ export default { }, data(){ return { + initData: { /* stadium_id: '', pay_amount: 0 */ }, isShow: false, searchKey: '', cardLs: [], @@ -61,6 +62,10 @@ export default { } }, methods: { + init(data){ + this.initData = { ...data }; + this.show(); + }, // 关闭 hide(){ this.isShow = false; @@ -71,8 +76,9 @@ export default { this.$emit('show'); }, confirmBtn(){ - let { selectedCard } = this; + let { selectedCard, initData } = this; if(!selectedCard?.card_no)return util.showNone('请选择储值卡'); + initData?.success?.(selectedCard); this.hide(); this.$emit('confirm', selectedCard); }, @@ -123,15 +129,12 @@ export default { left: 0; bottom: 0; padding: 46upx 24upx 0upx; - padding-bottom: calc( 0upx + constant(safe-area-inset-bottom)); /* 兼容 iOS < 11.2 */ - padding-bottom: calc( 0upx + env(safe-area-inset-bottom)); /* 兼容 iOS >= 11.2 */ width: 100%; background-color: #fff; + @include isPd(0upx); .cc-tit{ - line-height: 44upx; text-align: center; - font-size: 32upx; - font-weight: 500; + @include flcw(32upx, 44upx, #1a1a1a, 500); } .cc-close{ position: absolute; @@ -149,8 +152,7 @@ export default { .cs-input{ width: 100%; height: 100%; - font-size: 32upx; - color: #1A1A1A; + @include flcw(32upx, 44upx, #1a1a1a); } } .cc-list{ @@ -161,17 +163,15 @@ export default { padding: 20upx; border: 2upx solid #979797; border-radius: 10upx; - @include centerFlex(space-between); + @include ctf(space-between); &:not(:first-child){ margin-top: 24upx; } .ci-content{ flex-grow: 1; .cc-line{ - line-height: 40upx; - font-size: 28upx; - color: #1A1A1A; - @include textHide(1); + @include flcw(28upx, 40upx, #1a1a1a); + @include tHide(1); .cc-txt{ color: #9C9C9F; } @@ -204,12 +204,11 @@ export default { } .cc-btn{ margin-top: 14upx; - line-height: 112upx; text-align: center; - font-size: 32upx; border-radius: 10upx; - background-color: $themeColor; - color: #fff; + background-color: $mColor; + @include flcw(32upx, 112upx, #fff); + } } \ No newline at end of file diff --git a/src/subpackage/common/pages/pay_type_select.vue b/src/subpackage/common/pages/pay_type_select.vue index 78937d3..ab89d2d 100644 --- a/src/subpackage/common/pages/pay_type_select.vue +++ b/src/subpackage/common/pages/pay_type_select.vue @@ -13,40 +13,47 @@ - - 支付方式 - - - - - - {{ e.name || '-' }} - - - - - - - - - - 储值卡卡号:{{ selectedCard.card_no || '-' }} - 使用会员卡支付{{ selectedCard.discount || '-' }}折 - - - 微信昵称:{{ selectedCard.nickname || '-' }} - - - 手机号码:{{ selectedCard.mobile || '-' }} - - - 卡名称:{{ selectedCard.card_name || '-' }} - - - 卡余额:¥{{ selectedCard.balance || '0' }} - - - + + + + + 押金抵扣 + + + + 押金订单号:cs202001101505698956 + 押金金额:¥50元 + 注:押金金额≥实收金额才可支付,扣除费用后剩余押金会原路退回给用户! + + + + + + 储值卡支付 + + + + 使用会员卡支付{{ selectedCard.discount || '-' }}折 + 储值卡卡号:{{ selectedCard.card_no || '-' }} + 微信昵称:{{ selectedCard.nickname || '-' }} + 手机号码:{{ selectedCard.mobile || '-' }} + 卡名称:{{ selectedCard.card_name || '-' }} + 卡余额:¥{{ selectedCard.balance || '0' }} + + + + + + {{ e }} + + + + + + + 其他 + + @@ -73,10 +80,9 @@ import server from '../js/server.js'; import API from '../js/api.js'; import util from '../../../utils/util.js'; import cardSearch from '../components/card_search'; +import { accAdd, accSub, accMul, accDiv } from "@/utils/calculate"; export default { - components: { - 'card-search': cardSearch - }, + components: { 'card-search': cardSearch }, computed: { stadiumInfo(){ return this?.optionsQuery?.stadiumInfo || {}; @@ -87,22 +93,21 @@ export default { discountAmount(){ let { selectedCard, optionsQuery, payAmount, payMethodsID } = this; if(selectedCard?.discount && payMethodsID == 3){ - return Math.floor((optionsQuery?.amount * 100) - (payAmount * 100))/100; + return accSub(optionsQuery?.amount ?? 0, payAmount ?? 0); } return 0; }, payAmount(){ let { selectedCard, optionsQuery, payMethodsID } = this; - if(selectedCard?.discount && payMethodsID == 3){ - return Math.floor((optionsQuery?.amount * 100) * (selectedCard?.discount / 10))/100; + if(selectedCard?.discount && payMethodsID === 3){ + return accMul(optionsQuery?.amount ?? 0, accDiv(selectedCard?.discount ?? 0, 10)); } - return optionsQuery?.amount; + return optionsQuery?.amount ?? 0; } }, data() { return { isCardSelectModal: false, - payMethodsLs: this.getPayMethodsLs(), payMethodsID: 0, optionsQuery: {}, otherTypeRemark: '', @@ -135,13 +140,24 @@ export default { }, submitBtn: util.debounce(function(){ let _type = this.optionsQuery?.type; + // 挂账订单支付提交 if(+_type === 4)return this.takeUpBbocPay(); if(_type !== 4)return this.takeUpSubmit(); }, 300, true), - payMethodsChange(e){ - if(e.id == 3)return this.$refs.cardSearch.show(); - this.payMethodsID = e.id; + payMethodsChange(typeNum){ + let { stadiumInfo, optionsQuery } = this; + // 储值卡 + if(+typeNum === 3)return this.$refs.cardSearch.init({ + stadium_id: stadiumInfo?.id ?? '', + pay_amount: optionsQuery?.amount ?? '', + success: cardRes =>{ + if(!cardRes?.card_no)return this.payMethodsID = 0; + this.selectedCard = cardRes; + this.payMethodsID = 3; + } + }); + this.payMethodsID = +typeNum; }, getPayMethodsLs(){ return [ @@ -224,8 +240,7 @@ export default { padding-bottom: calc( 120rpx + env(safe-area-inset-bottom)); /* 兼容 iOS >= 11.2 */ } .pts-header{ - margin-bottom: 24upx; - padding: 26upx 36upx 110upx; + padding: 26upx 36upx 62upx; background-color: #fff; .ph-stadium-info{ padding-bottom: 34upx; @@ -245,7 +260,7 @@ export default { } } .ph-type-text{ - margin-top: 76upx; + margin-top: 26upx; text-align: center; font-size: 28upx; font-weight: 500; @@ -253,7 +268,7 @@ export default { @include textHide(1); } .ph-price{ - margin-top: 84upx; + margin-top: 28upx; text-align: center; font-size: 80upx; font-weight: 500; @@ -276,108 +291,69 @@ export default { } } } - .pts-container{ - - background-color: #fff; - .pc-tit-bar{ - padding-left: 24upx; - line-height: 72upx; - font-size: 28upx; - color: #9A9A9D; + .pts-content{ + padding: 24upx; + .pc-box{ + padding: 40upx 20upx; + border-radius: 10upx; + background-color: #fff; + &+.pc-box{ + margin-top: 24upx; + } } - .pc-ls{ - padding: 16upx 30upx 0; - .pl-item{ - display: flex; - &:not(:last-child){ - .pi-right{ - border-bottom: 1px solid #D8D8D8; - } - } - >image{ - flex-shrink: 0; - margin-right: 16upx; - width: 54upx; - height: 54upx; - transform: translateY(24upx); - } - .pi-right{ - flex-grow: 1; - .pr-top{ - width: 100%; - height: 102upx; - @include centerFlex(space-between); - .pr-txt{ - flex-shrink: 0; - font-size: 28upx; - color: #181818; - } - .pr-ipt{ - margin-left: 40upx; - margin-right: auto; - padding: 0 16upx; - width: 340upx; - height: 64upx; - border: 2upx solid #D8D8D8; - border-radius: 10upx; - >input{ - width: 100%; - height: 100%; - font-size: 28upx; - color: #181818; - } - } - .pr-icon{ - flex-shrink: 0; - width: 36upx; - height: 36upx; - border-radius: 50%; - border: 2upx solid #aaaaaa; - overflow: hidden; - @include centerFlex(center); - &.active{ - border-color: transparent; - >image{ - visibility: visible; - - } - } - >image{ - visibility: hidden; - display: block; - border: none; - width: 100%; - height: 100%; - } - } - } - .pr-content{ - padding-top: 4upx; - padding-bottom: 30upx; - .pc-line{ - @include centerFlex(flex-start); - .pl-txt{ - line-height: 44upx; - font-size: 24upx; - color: #181818; - @include textHide(1); - } - .pl-tag{ - flex-shrink: 0; - margin-left: 10upx; - padding: 0 6upx; - line-height: 28upx; - font-size: 24upx; - color: #FF873D; - border: 1px solid #FF873D; - border-radius: 4upx; - } - } - } - + .pc-methods-item{ + font-size: 0; + @include ctf; + .pi-icon{ + display: block; + flex-shrink: 0; + width: 44upx; + height: 44upx; + } + .pi-txt{ + margin-left: 20upx; + @include flcw(32upx, 44upx, #1a1a1a); + } + .pi-ipt{ + flex-shrink: 0; + padding: 0 20upx; + margin-left: 40upx; + width: 340upx; + height: 64upx; + border: 2upx solid #D8D8D8; + border-radius: 10upx; + @include flcw(28upx, 1.2em, #181818); + } + @include circleSelected; + .pi-selected{ + flex-shrink: 0; + margin-left: auto; + margin-right: 20upx; + font-size: 36upx; + font-family: circleSelected; + color: $mColor; + } + } + .pc-info{ + margin: 0 auto; + padding: 18upx 46upx; + width: 622upx; + margin-top: 20upx; + background: rgba($color: #70F4D5, $alpha: .1); + .pi-txt{ + @include flcw(24upx, 44upx, #FF801D); + .pt-black{ + @include flcw(24upx, 44upx, #1A1A1A); } } } + .pc-box-succession{ + padding: 10upx 20upx; + .pc-methods-item{ + padding: 30upx 0; + } + } + } .sc-fixed-bot{ position: fixed; @@ -385,20 +361,15 @@ export default { bottom: 0; width: 100%; padding-top: 10upx; - padding-bottom: 10upx; - padding-bottom: calc( 10upx + constant(safe-area-inset-bottom)); /* 兼容 iOS < 11.2 */ - padding-bottom: calc( 10upx + env(safe-area-inset-bottom)); /* 兼容 iOS >= 11.2 */ background-color: #fff; + @include isPd(10upx); .sfb-view{ margin: 0 auto; width: 702upx; - height: 88upx; - line-height: 88upx; text-align: center; - font-size: 32upx; background-color: #FF873D; - color: #fff; - border-radius: 44upx; + border-radius: 10upx; + @include flcw(32upx, 88upx, #fff); } } \ No newline at end of file diff --git a/src/subpackage/common/static/images/ic_0.png b/src/subpackage/common/static/images/ic_0.png deleted file mode 100644 index 2d297adfc970a22f0b6aacaa06edf39c27b7dfa4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 659 zcmeAS@N?(olHy`uVBq!ia0vp^W+2SL3?z5Yp7kC`Wd`_!xB_X8-RvBD*f{sFbL?eh z+s($XgMkyw<=o8-j9~3%@+` z>{=!wS!Ubbp!QQjPWrOWhUF*k*S<2)?C5y^q`>>$b>-yu!t7rTC{0bXs@Z9<(MZTL zHR8&X?8TbDD$6D_io!_BUyR!0_V3c3&)=_}e5|rSh;gOXZD%+3jHD=)-oKZ&UWl1? zf&2G{Z6QwI=j}IYiS-PBJe#-o)#+z*s#3(-Q{LS9S8X&y^Q&b0OXKYh2Rd&q71BGS zCV6$|{wXH~;~)I1Dco=UNT+qPwI-K^m*?bN?@}dXiXMvAuJ|_jdnW7QWgC{5p8Td% zxhT|j%?(Aq6N?VNki4F%vOwVCgNd^8i(kdZf0f&K=909Y6_ cFYiBLpU(ZzS3i=q2^irFp00i_>zopr09|Am_5c6? diff --git a/src/subpackage/common/static/images/ic_1.png b/src/subpackage/common/static/images/ic_1.png deleted file mode 100644 index ac4640ef9349bc3beaad7bbd62ddf6b0ed779351..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 627 zcmeAS@N?(olHy`uVBq!ia0vp^W+2SL3?z5Yp7kC`6$SW&xB_X0mHz~medb^KSpbSY zih#Mi%f0|b_?H32zk(TG_?CU;UH%2E@)Q5EFFeb?@-O`al3My%5KMyEKq(*sYW&K- z9AqX)J;;#Hf*=DwDSj)u4YX9XB*-tAf%W3g{*Ut9*HoS?)T=Kx5q^2bQR2@26*>Oa zN4KQAYtCqk-x;%h+PriI2F7kr7sn8f<8PrpWW$>oe9{*sU~7QWg0#iRFIr^G_Oe3YFCoI|}vBTZ_Kzy=zqv+O6^P zgv_bf^JjN0ZSYWXzjxbU;n|qK7Z2Dy75bBNM3wKOO@!==*yh=%DptPT$DMULGpi(X z?wy&6QrT~<517~*wJqKnIc@G1>DeOe-J#AxerMOpE!wa|;r2^Cxw07nnw#C;`9GJh zi@Y8wb~R*4==6zfH>};3^&6B2R38+XZjtmu%>3mM#f8zoExt_i&}2Ah*JYABsmm#F z*5BS&8;{n?rV5{`FipKLrGqXw@Jqy p6~CHbY1ZRpkz#psrE2~^t@$kpQT0}~sZ&6y$J5o%Wt~$(69A4-9+Ln7 diff --git a/src/subpackage/common/static/images/ic_2.png b/src/subpackage/common/static/images/ic_2.png deleted file mode 100644 index c95d079604012de984ed54c621180ef4494d1317..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1318 zcmV+>1=;$EP)dZ}+Hf z`Lu8Nu5bIdaFM+B0ssI2Qgl*IQvd=M4hJDsH1j*3QS9fM_ut5!|}BvXzd0e0%!(?d#^>)XT@LpK@=W9C{JS#KaO{4F;f3Ez(wgH zxD>w0Sp^zYr!8sM; zz>KnwmbZ?v&BB+f7F&gq*cS>W36K`fzMK^^1NmU}j{qHS(X-ge=1N#s>%_>VGJmF& z=Q+|AcC3fEg$KU{H^l(VX~xqDS*0NLtYI7|1vC_*#4!A@KL{7L+xY*wETnG1XsRW) zTjPaUvxj7qq>@q4$R)RBoNFNil*H#jbdVbbW8=9doYhE|wG|X`%5FdCG_jY$GbWKl zBySr=RlP9`s5GIUlPY1Kv(+Oib4P2|nR7%f!wnV~=W$A0`>e8bgmqtH7jOrp)H zfa@rEX*610(rz3l+#w2`J6;dR=rr74GWjqar;(DSVZ$_I3grf9FV zclXc-lj+saz~n6PoVj6ObNJ0PuMiO$4lpEVPosB`zf3x=Pgh7fHD`R|$sdFPNL`Qf zTP4P#uoX&Am5mTB0AXCZ7tYTdEe2ss8cxn9Vit!%YPo@TDhU>ctb}!LqsL}5` cjs63F0b15v+hIV~T>t<807*qoM6N<$g1RE8c>n+a diff --git a/src/subpackage/common/static/images/ic_3.png b/src/subpackage/common/static/images/ic_3.png deleted file mode 100644 index d077fec53552bbe5ee9de13c0e81c82a9be2c6cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 764 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 v37lkNiG3r%CR@Rotxdx zXU(-mzoI9$mHYnvh1SDy&$(gBvPQ|PKEkB5=i7hOz-`XAOu?oqxtF5f(SqB@dC|R6 z#j29t%~;U2Y0Ry|0000YbW%=J0PPbK@8D$hz`mjQ;NZufWk)v}1^MgA^RKU^m6d8- zPcUk^Td4p51t3X8K~z}7w2jG%!!Qhnh4H~;frM^TC@nn&#<+?7{tq`&6d@)$bfDvp z$o~>Y0mhBZ#eaWH7n<<^ihJBb=TDz6{_@?WxjSHvZn$>*BC%MKnzzft;Eq7Jr$6n! zNQnh8>(hpGDBvpTNFos-#FhbMk9JPtoMDnaS1gl<=pwc%G&andL3-oQQKzoKbO;faRt;(Jr z$*2>J-p4}+rb<*?ye#6;VBqIZEOb%BuMQT0Iz@uT-k((UJ1EN=N?{RiuA@WTE zd_)L)=ydY1r*)pXY*WoG_TIC@884da?z#7h3;;G!&FmIr^2usx{%!53A}u!75!<*EGL1_ao^-IO9NEFE*k%91V| zY8VlSJ%X3?uyhuJsn-6%z_|*&W~m;R%b?33`=Am=Otsp+xUctD9-8&ftevDM5iYfnPH0kh>$wD zcBDFn+dCoWZQ&78HQ`2S@n$YIH1EY(Nl1S^5>ozw+e1lWrElyVjveVv;af2`n2Y6} z^I^Dil4dAvIT?~H<%C@-(Qz(rXeO>WK=f|}#FTQ%A?tvQ=G+9`w}Mt4LPJGqnk9QU z_c-0v@j^_W@Mp28!9x76rJ`fB&k-sGr7HF#O2xftPB)c>OR>Rwu`2b;nO`8(c9d?5 zZA)oe9}b=$?$BH;zKC7drS1f!?n3OHV911SJMPk49y*uqB{BiAYhXF9>i|<)ijyNe zu8s)pqywN(ISxCamtyCEt9`n+90N2bz6L?icnF1A5VUtxs316}FU6+ky;vq`nyLcC zF*G$Qe8}E6#q0GNV#IOQ=o3IZ?N3;1gIs>#Eo#H^Lfq#ci2dQU*oJr%+g`WVEc}^u zx6AwXv2V}Cw#hloekhhVVSfR{zk{`cv|6pkfY!jCH`8-i(J_uEjOG8;jKOZhAP_`% zg#dA}B`2puk#aCA^AG<2@9M&sqR>O51|Ryw?hJz%(iz78FJ9L?x-lT<%^x|kmN%&t z3LLFtDWxbr36d_5{we~4>5&(eDx$@p+~MS1RxC^p$!N|mPDzgzg2}2v+Z# z5~nlpmZnphInZqPZ&F!F1*(&?qLmk4-;z>;a_me?*yA4KuA>U7)wE8#E6u?xy3m8q z)051@#^Lb&Lga2f4#o#ZM8e+^eGt{^|=U_iC=4oDz+ArOi literal 0 HcmV?d00001 diff --git a/src/subpackage/common/static/images/pay_types/ic_2.png b/src/subpackage/common/static/images/pay_types/ic_2.png new file mode 100644 index 0000000000000000000000000000000000000000..95d484e4f581c94952e0cc923fa32c417704dd72 GIT binary patch literal 1254 zcmVqX2&!tTKszZQetf-=T1*7Vj<&rc%5A@KX~x$L+o!zSSO;H~Ja zEyXJx!5o<5m}S&tqvoQM;*$IR`)}87+xFW`&PzPWJE!NTb=h-V(_1&lHPQ0Xd)sfqv;^s4OwHTIre5Ptm9`0F&o?Z{8XUv?tnVh*dceh|L(d;{U z@~sMXC{5{alPX>s3@rLJ<{Nf8GE5*E?#hAWRZidKwR`mFau(6 z{+(aoC|VPNtzaW8vB0aW^zgxMVD=;HbU=s;j>QGOc-z7SN2>*qM1%#_ixp2mJ&3-h zU{IHan&k+-W-cv5ep&6nPOvE8gnN|Vr;b9qveBdy3@x03ou}=ccIS^} zr39)&bBHS>Smg%rynR zV-wkI^+G=D0&C}D)CG|g-*J5H?2VFJ_#Z8Hrwe>CKFpivH4B^@%LOS|v-_MD`Bk>a z!Cj?>N-VDGNfG2Y*<9{2*fc0j{=8=y`z|orU5;Kns;>t7ffn-G1C!qh*ZV+T^}ACp``J!3oiNG^)PRzMfBbS!bE~=4646~{og#$NbnWUM1XqAFb!7%_ zFM=GrGe7ym;4k^#?LYV$@N5c35Y13?8jPSBJKl4}6AMPr{E?d6-ww~Exo3)cxEuZv zi@h1`*=@v!!q=GD0fWB1Yd)HCb7n>l5iG;rKTN1v&yO6-46rZe+|wKOCvXo#bc^oO Q0{{R307*qoM6N<$g62|PO8@`> literal 0 HcmV?d00001 diff --git a/src/subpackage/common/static/images/pay_types/ic_3.png b/src/subpackage/common/static/images/pay_types/ic_3.png new file mode 100644 index 0000000000000000000000000000000000000000..c9e21c738a22d89ecdae59841ca0cc7469d9e782 GIT binary patch literal 1293 zcmV+o1@iidP)an1?fL#^#`iq7^@Y*- zlGgefs`DnT^E9*cx8?lB>im}2`r`Ed*zx_Q-ulh${qg$$((e6#&-hKe_Ojypamx2z z!}s<4|E}TtW5xEI+WNfa{Hfpji`4m`+xoEmih}?E02XvoPE!D{@1PX>=Eg|(+#3jv zZM$Pr&pmiAID)Uo000B*Nkln z&)4nXLmrx4e%jJFaTp&u;GwI@cC|5`ReX+i?c0R0jv?DOJHT2PpYRA{Et^ZED_G67 zO9tyjiaP6^DgoBREq<_`LHHkUjhaiexpERR5FjB(Rddyp#UVgTV$|G`XfA-dy30`z zhQcts3u$Sk&>z|Y3RD!)u>WlhfinXnCSwT~`re-8x%g5-6t3bD+@6Q)l%Jd8RpJ4z z73)Le{9GEmSDbx@i{vsP3^+x58tXf_Fh5t(Wt>WIO~S^UgA4kMclL#@X85n#fNN_! zm$)tNy*G6Vc-s!i>lz8JWm{a8qStXevBaQV|Hr(BZ@4?`>arGQ z!27zmnB0zTaTTJD4RNH_hcqjv8F1?BMxmxxEc@q>Xs(o}3)@}bm9c}bt5{Z%;I~_T zy6gEUVTLF5bVFQ}phAR{d7pr7%V3NvKbMQ@Hn4GF&80QAh{-7DXVW!QYnGF7T^mMT zuKr=h+?JCEp(y+oLLnRiAwWnlXQNHu|FwRt)fhp4z35E$RVFihvsio04x#Y?lOsfa zq{A@va=$xxw>`1B-Ah@W<(3V7Z=M~ofOkDymLZW=CB|!OEZn@qrLY9pB`D~mP7S%i za?`%07fAw0lLu?4f?|+|?X{EKS92;}=H_NQdJ$k3KW-$KCYzYZU*f_Nliib%Q-M{v zL&gwN^uJsUKv_JZQq&O;lrv583YUC7z$#$~4!M}Sy2}Rm+y@N!A-=7g75p3PtT{id zz3!PnkGTY6uW8H!R*h%It{+T!PX?HD4THI&@jTcO@B)QcSX`_vPHrZ%17TtJHR*VM zGY&A9;?CKjsDA_!snzKX(v9U2uSs2@2v@Q4xZZ#D%Q(*kn@xG9VxL{ZEe6@~u#dcp zaj7yV728^-tq@vkAtt%IjLor@deuo&2MHmwTDY;}$Vh5yy}OZw>-OIHwz&7%LmK5O zR$VaPb;XWWB1(gpz>k&B^-Lekb;v3=1`XL7IYh?{)lBY|O;v4>heh$;I=+f#X}k3C zuRLU*-u--}8x(Sv5{{|57 zxlaoXAqtpra-Q__4Cyc2!yu8+&7Zj6`PZJkaF|d&KM0LT<17|8FUtFy zcvPGRQ?xjWj0eY!PKDCzbcQ2Zy!?`ghOa23Y|+#OQs}BTBfq-$00000NkvXXu0mjf D+nSV$ literal 0 HcmV?d00001 diff --git a/src/subpackage/common/static/images/pay_types/ic_4.png b/src/subpackage/common/static/images/pay_types/ic_4.png new file mode 100644 index 0000000000000000000000000000000000000000..cfcaccf8d54fd35ba58a051639f624e13d731ac3 GIT binary patch literal 2058 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 + + 支付订单 + + @@ -20,6 +28,7 @@ 停止计时 - *请输入金额 - + 确认 @@ -53,7 +61,7 @@ export default { // duration: '1小时25分9秒', // amount: '¥100.2' }, - end_type: 'end_timing', // end_timing/ end_order + end_type: 'end_timing', // end_timing/ end_order/ pay_timing[md250612 新增] amount: '', initOptions: {} } @@ -71,12 +79,16 @@ export default { this.info.duration = duration || ''; this.info.amount = amount || ''; this.initOptions = opts; + if(amount)this.amount = amount; this.show(); }, async confirmBtn(){ let { end_type, amount, initOptions } = this; // initOptions?.success?.({ type: end_type, amount: +amount || 0 }); // this.hide(); + if(end_type === 'pay_timing')return initOptions?.toPay?.({ + amount: +amount, + }); try{ let { end_type, amount, initOptions } = this; showLoad(); @@ -242,12 +254,6 @@ export default { .ec-amount{ padding-top: 48upx; - .et-name{ - @include flcw(28upx, 48upx, #1A1A1A); - .en-txt{ - color: #EA5061; - } - } .ea-ipt{ margin-top: 8upx; padding: 0 12upx; diff --git a/src/subpackage/order/pages/timekeeping/order_detail/site.vue b/src/subpackage/order/pages/timekeeping/order_detail/site.vue index 8d9d7b9..767de40 100644 --- a/src/subpackage/order/pages/timekeeping/order_detail/site.vue +++ b/src/subpackage/order/pages/timekeeping/order_detail/site.vue @@ -180,7 +180,7 @@ import refundButton from "@/components/order_refund/permission_btn.vue"; import orderRefundModal from '@/components/order_refund/modal.vue'; import orderRefundInfo from '@/components/order_refund/info.vue'; -import { showModal, routeTo } from '@/utils/util'; +import { showModal, routeTo, jsonStr } from '@/utils/util'; import { getOrderDetail, cancelOrderServer, finishOrder, siteAndPeopleRefundServer } from "./common"; export default { components: { @@ -288,6 +288,19 @@ export default { order_no: orderInfo?.order_no }); }, 1000); + }, + toPay: res=>{ + console.log(res); + let _query = { + brand_id: orderInfo?.brand_id ?? '', + amount: res?.amount ?? 0, + stadiumInfo: { + id: orderInfo?.stadium_id, + name: orderInfo?.stadium_name, + logo: orderInfo?.stadium_logo, + }, + }; + routeTo(`/subpackage/common/pages/pay_type_select?query=${jsonStr(_query)}`, 'rT') } }); }, diff --git a/src/uni.scss b/src/uni.scss index 082358c..b2e1efa 100644 --- a/src/uni.scss +++ b/src/uni.scss @@ -1,79 +1,4 @@ -/** - * 这里是uni-app内置的常用样式变量 - * - * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 - * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App - * - */ - -/** - * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 - * - * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 - */ - -/* 颜色变量 */ - -/* 行为相关颜色 */ -$uni-color-primary: #007aff; -$uni-color-success: #4cd964; -$uni-color-warning: #f0ad4e; -$uni-color-error: #dd524d; - -/* 文字基本颜色 */ -$uni-text-color:#333;//基本色 -$uni-text-color-inverse:#fff;//反色 -$uni-text-color-grey:#999;//辅助灰色,如加载更多的提示信息 -$uni-text-color-placeholder: #808080; -$uni-text-color-disable:#c0c0c0; - -/* 背景颜色 */ -$uni-bg-color:#ffffff; -$uni-bg-color-grey:#f8f8f8; -$uni-bg-color-hover:#f1f1f1;//点击状态颜色 -$uni-bg-color-mask:rgba(0, 0, 0, 0.4);//遮罩颜色 - -/* 边框颜色 */ -$uni-border-color:#c8c7cc; - -/* 尺寸变量 */ - -/* 文字尺寸 */ -$uni-font-size-sm:24rpx; -$uni-font-size-base:28rpx; -$uni-font-size-lg:32rpx; - -/* 图片尺寸 */ -$uni-img-size-sm:40rpx; -$uni-img-size-base:52rpx; -$uni-img-size-lg:80rpx; - -/* Border Radius */ -$uni-border-radius-sm: 4rpx; -$uni-border-radius-base: 6rpx; -$uni-border-radius-lg: 12rpx; -$uni-border-radius-circle: 50%; - -/* 水平间距 */ -$uni-spacing-row-sm: 10px; -$uni-spacing-row-base: 20rpx; -$uni-spacing-row-lg: 30rpx; - -/* 垂直间距 */ -$uni-spacing-col-sm: 8rpx; -$uni-spacing-col-base: 16rpx; -$uni-spacing-col-lg: 24rpx; - -/* 透明度 */ -$uni-opacity-disabled: 0.3; // 组件禁用态的透明度 - -/* 文章场景相关 */ -$uni-color-title: #2C405A; // 文章标题颜色 -$uni-font-size-title:40rpx; -$uni-color-subtitle: #555555; // 二级标题颜色 -$uni-font-size-subtitle:36rpx; -$uni-color-paragraph: #3F536E; // 文章段落颜色 -$uni-font-size-paragraph:30rpx; +@import '~style/iconfonts.scss'; $mColor: #009874; diff --git a/src/utils/calculate.js b/src/utils/calculate.js new file mode 100644 index 0000000..b41a32c --- /dev/null +++ b/src/utils/calculate.js @@ -0,0 +1,81 @@ +/** + * 加法函数 + * @param {number} arg1 数字1 + * @param {number} arg2 数字2 + * @returns {number} 返回两数相加的结果 + * */ +export function accAdd(arg1, arg2) { + var r1, r2, m, c; + try { r1 = arg1.toString().split(".")[1].length; }catch (e) { r1 = 0 }; + try { r2 = arg2.toString().split(".")[1].length }catch (e) { r2 = 0 }; + c = Math.abs(r1 - r2); + m = Math.pow(10, Math.max(r1, r2)); + if (c > 0) { + var cm = Math.pow(10, c); + if (r1 > r2) { + arg1 = Number(arg1.toString().replace(".", "")); + arg2 = Number(arg2.toString().replace(".", "")) * cm; + }else { + arg1 = Number(arg1.toString().replace(".", "")) * cm; + arg2 = Number(arg2.toString().replace(".", "")); + } + }else { + arg1 = Number(arg1.toString().replace(".", "")); + arg2 = Number(arg2.toString().replace(".", "")); + } + return (arg1 + arg2) / m; +} + +/** + * 减法函数 + * @param {number} arg1 数字1 + * @param {number} arg2 数字2 + * @returns {number} 返回两数相减的结果 + * +*/ +export function accSub(arg1, arg2) { + var r1, r2, m, n; + try { r1 = arg1.toString().split(".")[1].length }catch (e) { r1 = 0 }; + try { r2 = arg2.toString().split(".")[1].length }catch (e) { r2 = 0 }; + + m = Math.pow(10, Math.max(r1, r2)); //last modify by deeka //动态控制精度长度 + n = (r1 >= r2) ? r1 : r2; + return ((arg1 * m - arg2 * m) / m).toFixed(n); +} + +/** + * 乘法函数 + * @param {number} arg1 数字1 + * @param {number} arg2 数字2 + * @returns {number} 返回两数相乘的结果 + * +*/ +export function accMul(arg1, arg2) { + var m = 0, s1 = arg1.toString(), s2 = arg2.toString(); + try { m += s1.split(".")[1].length }catch (e) { }; + try { m += s2.split(".")[1].length }catch (e) { }; + + return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m); +} + +/** + * 除法函数 + * @param {number} arg1 数字1 + * @param {number} arg2 数字2 + * @param {number} precision 数字2 + * + * @returns {number} 返回两数相除的结果 + * +*/ +export function accDiv(arg1, arg2, precision = 10) { + var t1 = 0, t2 = 0, r1, r2; + try { t1 = arg1.toString().split(".")[1].length } catch (e) { } + try { t2 = arg2.toString().split(".")[1].length } catch (e) { } + + r1 = Number(arg1.toString().replace(".", "")); + r2 = Number(arg2.toString().replace(".", "")); + const result = (r1 / r2) * Math.pow(10, t2 - t1); + + // 使用四舍五入控制精度 + return parseFloat(result.toFixed(precision)); +} From 1552229bd9a1ee9f4ec0a4d3b9e1250ec61b2855 Mon Sep 17 00:00:00 2001 From: "liujw155@outlook.com" Date: Fri, 20 Jun 2025 18:11:40 +0800 Subject: [PATCH 2/5] finish md0612 --- src/subpackage/common/components/card_search.vue | 2 - src/subpackage/common/js/api.js | 2 + src/subpackage/common/pages/pay_type_select.vue | 28 +++++- src/subpackage/order/js/api.js | 3 + .../order/pages/timekeeping/order_detail/common.js | 20 ++++ .../order/pages/timekeeping/order_detail/site.vue | 111 +++++++++++++++------ 6 files changed, 129 insertions(+), 37 deletions(-) diff --git a/src/subpackage/common/components/card_search.vue b/src/subpackage/common/components/card_search.vue index 2a4b789..f0292a8 100644 --- a/src/subpackage/common/components/card_search.vue +++ b/src/subpackage/common/components/card_search.vue @@ -44,11 +44,9 @@ import API from '../js/api.js'; export default { props: { sid: { - type: String, default: '' }, amount: { - type: String, default: '' }, }, diff --git a/src/subpackage/common/js/api.js b/src/subpackage/common/js/api.js index e38485a..dc2a536 100644 --- a/src/subpackage/common/js/api.js +++ b/src/subpackage/common/js/api.js @@ -5,6 +5,8 @@ export const COMMON_API = { takeUpBbocPay:`${ORIGIN}/admin/stadium/venue/takeUpBbocPay`, // 挂账收款的接口 venueTakeUp: `${ORIGIN}/admin/stadium/venue/takeUp`, // 商家助手-占用场地提交 canUseValueCardList: `${ORIGIN}/admin/stadium/canUseValueCard/list`, // 商家助手-占用场地可用储值卡列表 + + } export default COMMON_API; \ No newline at end of file diff --git a/src/subpackage/common/pages/pay_type_select.vue b/src/subpackage/common/pages/pay_type_select.vue index ab89d2d..60ea767 100644 --- a/src/subpackage/common/pages/pay_type_select.vue +++ b/src/subpackage/common/pages/pay_type_select.vue @@ -14,15 +14,15 @@ - + 押金抵扣 - 押金订单号:cs202001101505698956 - 押金金额:¥50元 + 押金订单号:{{ depositOrderInfo.order_no || '-' }} + 押金金额:¥{{ depositOrderInfo.amount || '0' }}元 注:押金金额≥实收金额才可支付,扣除费用后剩余押金会原路退回给用户! @@ -111,12 +111,14 @@ export default { payMethodsID: 0, optionsQuery: {}, otherTypeRemark: '', - selectedCard: {} + selectedCard: {}, + // md0612 + depositOrderInfo: null, } }, /** * @param {Object} _options = JSON.parse(decodeURIComponent(option.query)) - * @param {String} _options.type 1 -> 客户订场, 2-> 散客, 3-> 锁场, 4 -> 挂账 + * @param {String} _options.type 1 -> 客户订场, 2-> 散客, 3-> 锁场, 4 -> 挂账, 5-> 场地计时订单结束计费 * @param {String} _options.brand_id * @param {String} _options.amount * @param {Object} _options.stadiumInfo @@ -131,6 +133,12 @@ export default { onLoad(option){ let optionsQuery = util.jsonPar(decodeURIComponent(option.query)); this.optionsQuery = optionsQuery; + + const eventChannel = this.getOpenerEventChannel(); + // md0612 支付订单需求 + eventChannel.on('emitFromSiteOrder', async data =>{ + this.depositOrderInfo = data?.depositInfo ?? null; + }) }, methods: { cardSelectConfirm(e){ @@ -140,11 +148,20 @@ export default { }, submitBtn: util.debounce(function(){ let _type = this.optionsQuery?.type; + if(+_type === 5)return this.siteOrderEndPay(); // 挂账订单支付提交 if(+_type === 4)return this.takeUpBbocPay(); if(_type !== 4)return this.takeUpSubmit(); }, 300, true), + siteOrderEndPay(){ + let { optionsQuery, payMethodsID, otherTypeRemark, selectedCard, payAmount } = this; + const eventChannel = this.getOpenerEventChannel(); + let _data = { pay_type: this.getPayMethodsName(payMethodsID) }; + if(selectedCard?.card_no&& payMethodsID === 3)_data['card_no'] = selectedCard?.card_no; + if(otherTypeRemark&& payMethodsID === 4)_data['mark'] = otherTypeRemark; + eventChannel.emit('orderPay', _data); + }, payMethodsChange(typeNum){ let { stadiumInfo, optionsQuery } = this; // 储值卡 @@ -166,6 +183,7 @@ export default { { name: '现金支付', id: 2 }, { name: '储值卡支付', id: 3 }, { name: '其它', id: 4 }, + { name: '押金抵扣', id: 5 }, ] }, diff --git a/src/subpackage/order/js/api.js b/src/subpackage/order/js/api.js index 08aa0ac..aafc3db 100644 --- a/src/subpackage/order/js/api.js +++ b/src/subpackage/order/js/api.js @@ -55,6 +55,9 @@ export const ORDER_API = { cardOrderGet:`${ORIGIN}/admin/venue/number/card/order/get`, // 订场卡订单 - 详情 cardOrderRefund:`${ORIGIN}/admin/venue/number/card/order/refund`, // 订场卡订单 - 退款 cardSoldUsage:`${ORIGIN}/admin/venue/number/card/sold/usage`, // 已售订场卡 - 使用记录 + // md 250612 + orderPayinfo: `${ORIGIN}/admin/assistant/billing/order/payinfo`, // 【1001429】【收银系统】场时 - 支付信息 + orderPay: `${ORIGIN}/admin/assistant/billing/order/pay`, // 【1001429】【收银系统】场时 - 支付 } diff --git a/src/subpackage/order/pages/timekeeping/order_detail/common.js b/src/subpackage/order/pages/timekeeping/order_detail/common.js index 642ef9a..730bbd9 100644 --- a/src/subpackage/order/pages/timekeeping/order_detail/common.js +++ b/src/subpackage/order/pages/timekeeping/order_detail/common.js @@ -123,4 +123,24 @@ export function siteAndPeopleRefundServer({ order_no = '', amount = 0, integral showNone('操作失败!'); console.warn('getOrderDetail err -->', err); }) +} + +export function orderPay({ brand_id, order_no, amount, pay_type, card_no, mark }){ + return server.post({ + url: ORDER_API.orderPay, + data: { + brand_id, order_no, amount, pay_type, card_no, mark + }, + isDefaultGet: false + }) + .then(res =>{ + if(res.data.code == 0){ + return res?.data?.data ?? {}; + }else{ + return Promise.reject(res); + } + }) + .catch(err =>{ + console.warn('subpackage order timekeeping order detail common.js err -->', err); + }) } \ No newline at end of file diff --git a/src/subpackage/order/pages/timekeeping/order_detail/site.vue b/src/subpackage/order/pages/timekeeping/order_detail/site.vue index 767de40..a8e34ab 100644 --- a/src/subpackage/order/pages/timekeeping/order_detail/site.vue +++ b/src/subpackage/order/pages/timekeeping/order_detail/site.vue @@ -24,7 +24,7 @@ {{ orderInfo.start_time || '-' }} 现场扫码结算 {{ orderInfo.end_time || '-' }} {{ orderInfo.extension&&orderInfo.extension.duration || '-' }} @@ -121,7 +121,7 @@ class="pod-btn" v-if="orderInfo.status_text === '待支付'" @click="finishOrder" - >完结订单 + >支付订单 { + hideLoad(); + if(res.data.code == 0){ + console.log(res); + return 'success' + }else{ + return Promise.reject(res); + } + }) + .catch(err =>{ + hideLoad(); + showModal({ content: err?.data?.message ?? '操作失败!' }); + console.warn('subpackage order timekeeping order detail site err -->', err); + }) + }, refundOrder(){ let { orderInfo, extension, refundList } = this; this.$refs.orderRefundModal.show({ @@ -289,39 +315,64 @@ export default { }); }, 1000); }, - toPay: res=>{ - console.log(res); - let _query = { - brand_id: orderInfo?.brand_id ?? '', - amount: res?.amount ?? 0, - stadiumInfo: { - id: orderInfo?.stadium_id, - name: orderInfo?.stadium_name, - logo: orderInfo?.stadium_logo, - }, - }; - routeTo(`/subpackage/common/pages/pay_type_select?query=${jsonStr(_query)}`, 'rT') + toPay: pRes =>{ + this.endToPay(pRes?.amount ?? 0); } }); }, - // // 完结订单弹窗 - finishOrder(){ + endToPay(payAmount){ let { orderInfo } = this; - finishOrder({ - brand_id: orderInfo?.brand_id, - order_no: orderInfo?.order_no, - stadium_id: orderInfo?.stadium_id, - opts: { - finally: ()=> { - setTimeout(()=>{ - this.getOrderDetail({ - brand_id: orderInfo?.brand_id, - order_no: orderInfo?.order_no - }); - }, 1000); + let _brand_id = orderInfo?.brand_id ?? '', + _amount = payAmount ?? 0, + _order_no = orderInfo?.order_no ?? ''; + + let _query = { + brand_id: _brand_id, + amount: _amount, + type: 5, + stadiumInfo: { + id: orderInfo?.stadium_id, + name: orderInfo?.stadium_name, + logo: orderInfo?.stadium_logo, + }, + }; + uni.navigateTo({ + url: `/subpackage/common/pages/pay_type_select?query=${jsonStr(_query)}`, + events: { + orderPay: opRes=>{ + this.orderPay({ + ...opRes, brand_id: _brand_id, order_no: _order_no, amount: _amount, + }) + .then(rRes=>{ + if(rRes === 'success'){ + routeTo(); + this.$nextTick(_=>{ + this.$refs.endBillingModal.hide(); + showNone('操作成功!'); + setTimeout(_=>{ + this.getOrderDetail({ brand_id: _brand_id, order_no: _order_no }); + }, 1000); + }) + } + }) + } + }, + success: navRes=> { + let _query = {}; + if(orderInfo?.extension?.show_deposit)_query.depositInfo = { + amount: orderInfo?.extension?.deposit_amount ?? 0, + order_no: orderInfo?.deposit_order_no ?? '', } + navRes.eventChannel.emit('emitFromSiteOrder', _query); } - }) + }); + }, + // // 完结订单弹窗 + finishOrder(){ + let { orderInfo } = this; + // md0612 “完结订单“按钮改成”支付订单“,支付订单按钮要跳转支付页面 + this.endToPay(orderInfo?.amount ?? 0); + }, toDepoistDetail(){ let { orderInfo } = this; From 8b3bb6ecde3888a0871341ce7f442bd83312ed68 Mon Sep 17 00:00:00 2001 From: "liujw155@outlook.com" Date: Fri, 27 Jun 2025 10:55:11 +0800 Subject: [PATCH 3/5] vtest 1.1.71 & fixed md0612 --- src/subpackage/common/pages/pay_type_select.vue | 4 +- src/subpackage/order/js/api.js | 1 + .../pages/timekeeping/modules/order_list/site.vue | 58 ++++++++++++++++++++-- .../order/pages/timekeeping/order_detail/site.vue | 4 ++ .../order/pages/timekeeping/order_list.vue | 7 ++- 5 files changed, 69 insertions(+), 5 deletions(-) diff --git a/src/subpackage/common/pages/pay_type_select.vue b/src/subpackage/common/pages/pay_type_select.vue index 60ea767..ec2f3b2 100644 --- a/src/subpackage/common/pages/pay_type_select.vue +++ b/src/subpackage/common/pages/pay_type_select.vue @@ -137,7 +137,9 @@ export default { const eventChannel = this.getOpenerEventChannel(); // md0612 支付订单需求 eventChannel.on('emitFromSiteOrder', async data =>{ - this.depositOrderInfo = data?.depositInfo ?? null; + let _dpInfo = data?.depositInfo || null; + this.depositOrderInfo = _dpInfo; + if(_dpInfo?.order_no)this.payMethodsID = 5; }) }, methods: { diff --git a/src/subpackage/order/js/api.js b/src/subpackage/order/js/api.js index aafc3db..cacf445 100644 --- a/src/subpackage/order/js/api.js +++ b/src/subpackage/order/js/api.js @@ -58,6 +58,7 @@ export const ORDER_API = { // md 250612 orderPayinfo: `${ORIGIN}/admin/assistant/billing/order/payinfo`, // 【1001429】【收银系统】场时 - 支付信息 orderPay: `${ORIGIN}/admin/assistant/billing/order/pay`, // 【1001429】【收银系统】场时 - 支付 + orderBfuend: `${ORIGIN}/admin/assistant/billing/order/bfuend`, // 【1001984】【商家助手】- 场时 - 用前结算结束订单 } diff --git a/src/subpackage/order/pages/timekeeping/modules/order_list/site.vue b/src/subpackage/order/pages/timekeeping/modules/order_list/site.vue index 03ebd2d..3adf366 100644 --- a/src/subpackage/order/pages/timekeeping/modules/order_list/site.vue +++ b/src/subpackage/order/pages/timekeeping/modules/order_list/site.vue @@ -28,6 +28,7 @@ 取消预约 结束计费 + 提前结束订单 @@ -36,7 +37,10 @@ @@ -80,7 +132,7 @@ export default { margin-top: 24upx; @include ctf(flex-end); .lb-item{ - width: 192upx; + padding: 0 20upx; height: 80upx; text-align: center; border-radius: 10upx; diff --git a/src/subpackage/order/pages/timekeeping/order_detail/site.vue b/src/subpackage/order/pages/timekeeping/order_detail/site.vue index a8e34ab..74cba73 100644 --- a/src/subpackage/order/pages/timekeeping/order_detail/site.vue +++ b/src/subpackage/order/pages/timekeeping/order_detail/site.vue @@ -36,6 +36,10 @@ ¥{{ orderInfo.amount || '0' }} -¥{{ orderInfo.discount_amount || '0' }} -¥{{ orderInfo.deduction_amount || '0' }} + -¥{{ orderInfo.deposit_deduction_amount || '0' }} + + -¥{{ orderInfo.extension.meituan_args.meituan_coupon_deduction_amount || '0' }} + -¥{{ orderInfo.coupons_amount || '0' }} diff --git a/src/subpackage/order/pages/timekeeping/order_list.vue b/src/subpackage/order/pages/timekeeping/order_list.vue index ce02e6d..1de2ebd 100644 --- a/src/subpackage/order/pages/timekeeping/order_list.vue +++ b/src/subpackage/order/pages/timekeeping/order_list.vue @@ -14,7 +14,7 @@ - + @@ -123,6 +123,11 @@ export default { }) }, methods: { + // 场地计时订单提前结束 + siteOrderEndEarly(e, idx){ + this.orderList[idx] = e; + this.$nextTick(this.$forceUpdate); + }, // 搜索订单 searchOrder(){ let { brand_id, order_type } = this; From 1610523281a31c9dfd45b6c72cb0fb7e7a1c44b8 Mon Sep 17 00:00:00 2001 From: "liujw155@outlook.com" Date: Fri, 27 Jun 2025 16:12:22 +0800 Subject: [PATCH 4/5] vtest 1.1.72 & fix md0612 --- .../pages/timekeeping/modules/order_detail/end_billing_modal.vue | 6 +++--- .../order/pages/timekeeping/modules/order_list/site.vue | 9 ++++++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/subpackage/order/pages/timekeeping/modules/order_detail/end_billing_modal.vue b/src/subpackage/order/pages/timekeeping/modules/order_detail/end_billing_modal.vue index bffde41..0d2c504 100644 --- a/src/subpackage/order/pages/timekeeping/modules/order_detail/end_billing_modal.vue +++ b/src/subpackage/order/pages/timekeeping/modules/order_detail/end_billing_modal.vue @@ -7,7 +7,7 @@ 操作人:{{ info.operator || '-' }} 时长合计:{{ info.duration || '-' }} - 金额合计:{{ info.amount || '-' }} + 金额合计:{{ info.amount || '0' }} @@ -77,9 +77,9 @@ export default { let { operator, duration, amount, ...opts } = data; this.info.operator = operator || ''; this.info.duration = duration || ''; - this.info.amount = amount || ''; + this.info.amount = amount ?? ''; this.initOptions = opts; - if(amount)this.amount = amount; + this.amount = amount ?? ''; this.show(); }, async confirmBtn(){ diff --git a/src/subpackage/order/pages/timekeeping/modules/order_list/site.vue b/src/subpackage/order/pages/timekeeping/modules/order_list/site.vue index 3adf366..2fc7f6f 100644 --- a/src/subpackage/order/pages/timekeeping/modules/order_list/site.vue +++ b/src/subpackage/order/pages/timekeeping/modules/order_list/site.vue @@ -2,7 +2,7 @@ Date: Fri, 27 Jun 2025 16:21:54 +0800 Subject: [PATCH 5/5] vformal 1.1.72 --- src/js/api.js | 4 ++-- src/manifest.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/js/api.js b/src/js/api.js index 7762a45..c2eb919 100644 --- a/src/js/api.js +++ b/src/js/api.js @@ -1,5 +1,5 @@ -export const ORIGIN = `https://testmanager.ouxuanzhineng.cn`; // 测试 -// export const ORIGIN = `https://minimanage.ouxuanzhineng.cn`; // 正式 +// export const ORIGIN = `https://testmanager.ouxuanzhineng.cn`; // 测试 +export const ORIGIN = `https://minimanage.ouxuanzhineng.cn`; // 正式 // export const ORIGIN = `http://192.168.1.135:9090`; // 20210927 测试 diff --git a/src/manifest.json b/src/manifest.json index 67a9bc5..d3f40af 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -73,7 +73,7 @@ // } // }, /* 正式 wxf1294b279ad1b845 测试: wx7106e84614cf0060*/ - "appid" : "wx7106e84614cf0060", + "appid" : "wxf1294b279ad1b845", "setting" : { "urlCheck" : false, "minified" : true,