From 69bcdcd2b9e8c46c2752d1976290438e3439c7a6 Mon Sep 17 00:00:00 2001 From: aihe <961836564@qq.com> Date: Fri, 14 Jun 2024 23:43:50 +0800 Subject: [PATCH] uu --- common/enum.js | 15 ++++++++++++++- common/getCdnUrl.js | 4 ++++ common/scanUtil.js | 15 ++++++++++++++- common/untool.js | 12 ++++++++++++ .../buns-post-edit-templates/bpe-cost-tmp.vue | 2 +- .../bpe-coststatic-tmp.vue | 2 +- pages/deliveryDeal/signedScanning.vue | 18 ++++++++++++++++-- pages/post/model.js | 2 +- static/tone/confirmation.mp3 | Bin 0 -> 2592 bytes static/tone/correct.mp3 | Bin 0 -> 2592 bytes static/tone/dotexist.mp3 | Bin 0 -> 2664 bytes static/tone/network-error.mp3 | Bin 0 -> 4752 bytes static/tone/order-exception.mp3 | Bin 0 -> 4680 bytes static/tone/print-cancel.mp3 | Bin 0 -> 2736 bytes static/tone/print-fail.mp3 | Bin 0 -> 2592 bytes static/tone/print-success.mp3 | Bin 0 -> 2664 bytes static/tone/repetitive.mp3 | Bin 0 -> 2592 bytes 17 files changed, 63 insertions(+), 7 deletions(-) create mode 100644 static/tone/confirmation.mp3 create mode 100644 static/tone/correct.mp3 create mode 100644 static/tone/dotexist.mp3 create mode 100644 static/tone/network-error.mp3 create mode 100644 static/tone/order-exception.mp3 create mode 100644 static/tone/print-cancel.mp3 create mode 100644 static/tone/print-fail.mp3 create mode 100644 static/tone/print-success.mp3 create mode 100644 static/tone/repetitive.mp3 diff --git a/common/enum.js b/common/enum.js index 8dcd48b..9f6c2ad 100644 --- a/common/enum.js +++ b/common/enum.js @@ -1,4 +1,4 @@ -import getCdnUrl from "./getCdnUrl.js" +import getCdnUrl, { getCdnRoot } from "./getCdnUrl.js" import { authCodeEnum } from "./authCode" const dateTypeEnum = { @@ -74,6 +74,18 @@ const dealBtnMap = { } +const audioTypeEnum = { + confirmation: getCdnRoot('tone/confirmation.mp3'), + correct: getCdnRoot('tone/correct.mp3'), + dotexist: getCdnRoot('tone/dotexist.mp3'), + networkError: getCdnRoot('tone/network-error.mp3'), + orderException: getCdnRoot('tone/order-exception.mp3'), + printCancel: getCdnRoot('tone/print-cancel.mp3'), + printFail: getCdnRoot('tone/print-fail.mp3'), + printSuccess: getCdnRoot('tone/print-success.mp3'), + repetitive: getCdnRoot('tone/repetitive.mp3'), +} + export { addressNameCodeMap, dateRangeList, @@ -82,4 +94,5 @@ export { dateTypeEnum, dateTypeList, authCodeEnum, + audioTypeEnum, } \ No newline at end of file diff --git a/common/getCdnUrl.js b/common/getCdnUrl.js index f5b6140..c03ff71 100644 --- a/common/getCdnUrl.js +++ b/common/getCdnUrl.js @@ -1,3 +1,7 @@ export default (path)=> { return `/static/images/${path}` +} + +export const getCdnRoot = (path)=> { + return `/static/${path}` } \ No newline at end of file diff --git a/common/scanUtil.js b/common/scanUtil.js index b1879f7..5bbd935 100644 --- a/common/scanUtil.js +++ b/common/scanUtil.js @@ -1,5 +1,6 @@ import dayjs from "dayjs" -import { showToast } from "@/common/untool" +import { showToast, playAudio } from "@/common/untool" +import { audioTypeEnum } from "@/common/enum" export const scanTypeEnum = { lanShou: 10, // 揽收 @@ -35,8 +36,20 @@ export const ansScanResponse = ({ res, title })=> { let bl = false if(result == "success") { bl = true + playAudio(audioTypeEnum.correct) title && showToast(`${title}成功`) } else { + switch (resItem?.message){ + case '重复扫描': + playAudio(audioTypeEnum.repetitive) + break; + case '运单号不存在': + playAudio(audioTypeEnum.dotexist) + break; + default: + playAudio(audioTypeEnum.networkError) + break; + } showToast(resItem?.message || `${title}失败`) } return { diff --git a/common/untool.js b/common/untool.js index 4c78adc..eab3c69 100644 --- a/common/untool.js +++ b/common/untool.js @@ -266,6 +266,17 @@ const reloadCurrentPage = (_thisPage)=> { }); } +const playAudio = (src)=> { + const innerAudioContext = uni.createInnerAudioContext(); + innerAudioContext.autoplay = true; + innerAudioContext.src = src + innerAudioContext.onPlay(() => { + console.log('开始播放==='); + }); + innerAudioContext.onError((res) => { + console.log("playAudio onError ======", res); + }); +} export { reLaunch, @@ -288,4 +299,5 @@ export { promiseTimeout, setNavigationBarTitle, reloadCurrentPage, + playAudio } diff --git a/components/buns-post-edit-templates/bpe-cost-tmp.vue b/components/buns-post-edit-templates/bpe-cost-tmp.vue index bd51deb..b1538e6 100644 --- a/components/buns-post-edit-templates/bpe-cost-tmp.vue +++ b/components/buns-post-edit-templates/bpe-cost-tmp.vue @@ -89,7 +89,7 @@ - diff --git a/components/buns-post-edit-templates/bpe-coststatic-tmp.vue b/components/buns-post-edit-templates/bpe-coststatic-tmp.vue index c5ac822..49aaf29 100644 --- a/components/buns-post-edit-templates/bpe-coststatic-tmp.vue +++ b/components/buns-post-edit-templates/bpe-coststatic-tmp.vue @@ -64,7 +64,7 @@ 费用备注 - {{modelInfo.feeRemaker || '-'}} + {{modelInfo.feeRemark || '-'}} diff --git a/pages/deliveryDeal/signedScanning.vue b/pages/deliveryDeal/signedScanning.vue index 7e65e2e..f0c2f92 100644 --- a/pages/deliveryDeal/signedScanning.vue +++ b/pages/deliveryDeal/signedScanning.vue @@ -23,6 +23,12 @@ + + + + + + @@ -51,6 +57,7 @@ import dayjs from "dayjs" import * as apiService from "@/common/api" import { scanTypeEnum, getScanParams, ansScanResponse } from "@/common/scanUtil" + import { checkParams } from "@/common/validate" export default { components:{ BpeGoodphotoTmp }, @@ -72,8 +79,14 @@ signMan: "", picUrl: '', remark: "", - scanDate: "" + dispatchOrSendManCode: "" }, + submitValidConfig: { + signMan: { required: true, requiredMsg: '签收人不能为空' }, + // dispatchOrSendManCode: { required: true, requiredMsg: '请选择派件员' }, + billCode: { required: true, requiredMsg: '运单号不能为空' }, + }, + paiRes: { list: [] }, } }, onShareAppMessage() { @@ -88,7 +101,7 @@ }, methods: { - + getRSDStaffList: apiService.getRSDStaffList, initData() { this.submitParam.billCode = this.queryOption.billCode || this.queryOption.orderSn }, @@ -96,6 +109,7 @@ }), async handleSubmit() { + await checkParams(this.submitParam, this.submitValidConfig) this.submitParam.picUrl = this.submitParam.picUrl?.join?.(",") || '' let scnParam = getScanParams(scanTypeEnum.qianShou, { ...this.submitParam }) let res = await apiService.scanRecord({...scnParam, _loading: true}) diff --git a/pages/post/model.js b/pages/post/model.js index 4f9401a..7a9c51a 100644 --- a/pages/post/model.js +++ b/pages/post/model.js @@ -67,7 +67,7 @@ export const getOrderModels = () => { blOverLong: undefined, blOverWeight: undefined, overWeightNumber: undefined, - feeRemaker: undefined, // 付款方式-其他-备注 + feeRemark: undefined, // 付款方式-其他-备注 realValue: undefined, blDispFd: undefined, transferCode: undefined, diff --git a/static/tone/confirmation.mp3 b/static/tone/confirmation.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..c83c9c887a72300cca6a035eac35dfa171cd09f0 GIT binary patch literal 2592 zcmb`|eK?bC9|!Pj!)Tjf#xs<}LTf}MCSzWbS{kZHLUSi~C{6StYQwx28fhdg$;*mI ziKNtIDehh^?%#2oe_iMAbN$Zq_#W250&=AskXuH;2I2j|qShH?gAZfPmZPI4An)RSB!&KkW_T*U>n z5Q2=7)JnmUqozJ>+&Uo(tWDyQ;+yT6s#3$+k?2Et95&L0mYXF_ELVd>VF8>SUUX0HGU;W{kJnknE>ccw3HC zN@zzgoKYhFmOa zGoldC+?T#UGrR9+Q zNP)6+n_8dr4~JCGDynxayM2Dm!AD4eh zuj^RJ9q&BJPON9h?3wEtrKAS=p!10I8wdO-I^mXce7UMEb^dAQ6~7?sw}6kl6xz@g zDnu-(KmIunb}|MT>?0}Al%$SZ_qZ@8N9S!g*Ezk90Fb$rRLKZpll2o5Z?1jrIhyS$ zBZ$1@tO2r!YhIvtq%p?d_g4LJXV}4GSeX*Y63v*ZMLGX=WdZ;JS%;<}Vp#3XG>Yq7 z^C98~eP-SFG#M(?#Y(+W`X!?8@z=F_+whdrl#QEA44iwtEnsIQcA}=U!xG0BQkMRx zb+GE4CaF~r0`40q%rqMgFIsn+iY+D6;M;wCv^8#(TyaH zc1*F8-kngMgiYw$&}Ta?Q(QW{^z7Ym;AgZxLS7`o~zTQAl0JW5cg&4BD z_Tp62&f5#L!9wTn%|`%;u{jICDAIIhS6eO9XVuvfC0=`p{UIGv??AFD?6_f``Q9NL z;z{T6{)TMv!(tC}3qnL_EHwtmVp41!71GUdNxvpWv@hHBy?M6S$^AvF5Tk7LsW7W)a6)eW@37{cHh_v7^oUeF^OB#2RJRLh-K|Vxy*ewB-JGibVGiL|RnU&jSn{kHYaOWo7qVc>Jl?SiIcG(6Sq-!m}POyfsV>CDZ zeN1`SxDIZxxlC29=Q-nE+f5av@)N|)@t&cOibo;`g02LtnkLmH` zZCKCqPV|aMbydU(;OclJAY1-s#o2j{iw*ER|HP_|ePsJG*-W)--?%$f10DhJt{N$- zgql>qoI4`p8~I9$!dtwj3iTz)=-pT29h@@XO;-Gw&9oGJ6E~y9Kk{dOLa?=ONBrZl zY)}wO=R>c+s|n}%zLw0bn0eN>q)_l~#5fAmy8M$~xP=goxHhRhqo_0C65hPwT0clL+Ipo zTA3$ZtLB<_=^*WqC9$E*StbQd$KZ2CYm`!}@>|^n@m7Ldtt$F2bw=#ETLxG4(p@(e zfAT-LJdT-7w`TsToi*&&oYfq4sB{h^z8UpWji}2{Wm_Zm*s3wW zp7ZDpLK%`)^QZ-7<+S>fsFdc3RCpc>?a9GAP~=O2n>5u#a0Y`MDoDEc(uef6v|%>v zMp2Q$mxdaz&&#W;w&|2Ro2HfP``k)0HA>O9tJx9C0ikJe&k@gIhp1VFdeD*F&-RcX z>(HvWBy=gXxV%CA!EOwGowU2-XwU78nq&8L_UPyITyqRA9^G-FF9^(b26$XFSVpE5 zeraa5a2_nlmq<9+A`{UvHT%27(1ng*FJ3qANM!t^LyiYcnGaJsGiY(n>Vr+WG)9bsB zO5uBBNK%%|U*%_0pK(MdLbopj>V$-dVO}>S>$>B!Ox2_m{Vv$iRkv#B501n#?6;ay z{F%{LPw+jiMDVMc(6r^b3}sU^qi!j0phiU^ig(fF(rRP5WbR%b{$s?^ParUexU0zJg6}b0iBq+}egzO<85901k_ccH!^hTxt zIpPlj9?_Qj%eV=E=;!A>s2KNL^E_>OD4mxGJ8RWl3T03mc02Lp3S(x6$e7u~pl|oE mv2<{-+_3Zw`zr-I))1t$1zM`V((r%wz|Nt+$*K4ooIe3Id>!fl literal 0 HcmV?d00001 diff --git a/static/tone/correct.mp3 b/static/tone/correct.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..6991e22bd3102fe806e8071c63d0f717ed695a34 GIT binary patch literal 2592 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 I`TxlIA9dm>y8r+H literal 0 HcmV?d00001 diff --git a/static/tone/dotexist.mp3 b/static/tone/dotexist.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..bb6c6a28ce5ca5c0dde36ca786eab03de7be4cd8 GIT binary patch literal 2664 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 literal 0 HcmV?d00001 diff --git a/static/tone/network-error.mp3 b/static/tone/network-error.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..db263acf6ab8e83475133981d4875f6030686315 GIT binary patch literal 4752 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 literal 0 HcmV?d00001 diff --git a/static/tone/repetitive.mp3 b/static/tone/repetitive.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..21a36da79a91a2829e1eef7228bb414a151503be GIT binary patch literal 2592 zcmb`{dpy)x8vyX%FoVVnGYCz}gt2x)?m`)4J+?~V)i#%sa7(c z>TNm*g71y1I?KSNBd5lQF~1jiT4TOBs7IE!;vX9or@C>FvrE#N)0tN)MY9xPDCQQ^Iq~y{Zb(u~2kQ0gA9=2W zA2VB27sFB?AY!qrBzo0Ei1c93^k)b{L_TxFv{LW$fN%Yg@Z<3*fwtlI<3?G^^HO+Z zlHoC#0&-=ZPR`?+ihvr6+XxFRTkP_&`JegD*vHGA(>sQM^)GYxJkK#nNd zY=%pTzeBsjGb_ViNu5PS9 zOGssMJeCQy3O0LnfO*2t48kLKImy&T;9J~tkHf&Xw00Y_*dIE_TP za9rv2OI&Ap$dN%d@>+qbr)k=gF*xJS+}W+umc9G{Jf2TMH73&Gwh-uuI5!?WBOvSBLTc45TfmGMxJHnl2I4a%sx8ZTZ~kN_;mLO`?(-Vk0DA zgAMu&o#`z~>$&H+|2E~=1EAo;b;v=YdN(vZ|F9OmH!eH&F8I1>Mxfu~$sTa#UjE(m z*rMt?&)ZyH-G1mZcrbIh@R5GcqS#M{SItt(@K^3he~SA63Jy=dAl2Srl|W=3OO*m?SsP*0+jO?Y7EdF z9;9Z;5jGPJ77k(q_53s+V-#c!Ax8<7b$8t(ddOimh}YM)Mx5#w3kAW?iip62Uy=oe ziqfJof0kDduIu=wc&sYXh?tp?VdBF$qm9)rx^qJfxB*S=jzdHn8<+PFzza8~7PNKg zJ6}uKg$5nO(62g82V`AU4jSu29Hi%MKW#lrt8!K_l|O<#edJKxqA3prY7 zoDLJnwJa*DOJeaiRc|&X>^%~s-%%=lfWLScK4m)+6}RMPYv{PlU%PT=C2Fs0)7q7U zjOC3vdW(6-O5mo8G81wPP|kcd5M)`X2MS}9HXTC*$~G2-ONbd+MZ)AoGQSAe~W5jvZh^Bnmm<3y;~ z*73zRg6N|<)rYgLL5?$OXr%)PdQI!}IEG2~$PkuI#Ol4SwRp7hNIkuFuj8l8P~Z*h zz4-(TWecJ#_=m^BeK2{Bb#E1fq{{NF$0=hUu0W0lDxiNbD`=QznUrFY5?zDUhaPgx z4Hj;Gh^-h)0$+yX`|~ZD%}=ToW8Exs&Hb|pw|g!S<*iZb)mF3W9>2iPK+YMoSi{a7 z4md#H*S6U?`utS_;0^HlFhhN@%ZatMnu|!>eWvTMwzSawCT?&qQ8k8Lpz-&zD7gdnWL-@oBTap`@5N5t|EEIEMKr$t k6Tp=^@xA(gScjY_01&nYcH$rMzPAK9tbfVr{ui9T0s08k)&Kwi literal 0 HcmV?d00001