123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208 |
- <template>
- <view class="goods-container">
- <!-- 展示蒙层 显示推广画报 -->
- <view class="poster" v-if="myqr_show">
- <view class="title">
- <text>推广文案</text>
- </view>
- <view class="ads">
- <view style="width: 480rpx">{{ myqr_ads }}</view>
- </view>
- <image :src="myqr_url" mode="widthFix" style="width: 480rpx" :show-menu-by-longpress="true"></image>
- <view class="tool">
- <view @tap="posterCopy" style="text-align: right">
- <image class="img" style="width: 110rpx; height: 130rpx" src="/static/images/share/p_copy.png">
- </image>
- </view>
- <button open-type="share" class="share-btn">
- <image class="img" style="width: 85rpx; height: 127rpx" src="/static/images/share/p_dy.png"></image>
- </button>
- <view style="text-align: left">
- <image class="img" @tap="goSaveQrcode" src="/static/images/share/p_save.png"></image>
- </view>
- </view>
- <view style="text-align: center">
- <image class="closeImg" @tap="hidePoster" src="/static/images/share/close.png"></image>
- </view>
- </view>
- <view class="container" :style="'filter:brightness(' + myqr_blur + '%)'">
- <image src="/static/images/new/isnew.png" v-if="goods.isNew" class="isNew"></image>
- <swiper class="goodsimgs" :indicator-dots="goods.gallery.length > 1 ? true : false" :autoplay="true"
- interval="3000" duration="1000" indicator-color="rgba(0, 192, 255, .2)"
- indicator-active-color="rgba(0, 192, 255)">
- <swiper-item v-for="(item, index) in gallery" :key="index" >
- <image :src="item" mode="aspectFill"></image>
- </swiper-item>
- </swiper>
- <view class="share-pop-box" v-if="openShare">
- <view class="share-pop">
- <view class="close" @tap="closeShare">
- </view>
- </view>
- </view>
- <view class="goods-info-new" v-if="randomAandB">
- <view class="sku-select" v-if="goods.productType == 2">
- <scroll-view scroll-x="true" class="scroll-view_H" scroll-left="0">
- <view v-for="(item, index) in productList" :key="index" :data-index="index" :data-id="item.id"
- :data-item="item" @tap="selectItem" class="sku-select-item"
- :class="{ 'sku-select-item-active': currentIndexx === index }">
- <view class="product-name">
- {{item.specifications}}
- </view>
- <view class="product-price">
- <span class="current-price"><text
- style="font-size: 14rpx;">¥</text>{{item.price}}</span>
- <span class="original-price">¥{{item.counterPrice}}</span>
- </view>
- </view>
- </scroll-view>
- </view>
- <view class="price-show">
- <view class="sale-num">
- 已爆卖{{ countSalesNumber }}件
- </view>
- <view class="sale-price">
- <view class="price">
- <text class="one">¥</text>
- <text class="two">{{ finallyPrice }}</text>
- <span class="three">{{checkedSku.discountRate}}折</span>
- <span class="four">¥{{ checkedSku.counterPrice }}</span>
- <span class="new-customer-price"
- v-if="checkedSku.newCus">{{checkedSku.newCus==true?'新客价':''}}</span>
- </view>
- </view>
- </view>
- </view>
- <view class="price-line" v-if="!randomAandB">
- <view class="real-price">
- <text class="bold-price-j">¥</text>
- <text class="bold-price">{{ finallyPrice }}</text>
- <span class="new-customer-price"
- v-if="checkedSku.newCus">{{checkedSku.newCus==true?'新客价':''}}</span>
- </view>
- <view class="sale-price">¥{{ checkedSku.counterPrice }}</view>
- <view class="sale-num">已售{{ countSalesNumber }}件</view>
- </view>
- <view class="discount" v-if="!randomAandB">
- <view class="discount-img">
- <image src="https://mall.zhaijieshi.cc/file/wx-dy/bq.png" mode="aspectFill"></image>
- </view>
- <view class="tip">
- {{checkedSku.discountRate}}折热销中
- </view>
- </view>
- <view class="goods-coupon" v-if="couponVoList.length > 0">
- <view class="goupon-tag" v-for="(item, index) in couponVoList" :key="index">{{ item.tag }}</view>
- </view>
- </view>
- <!-- 购买提醒 -->
- <!-- wx:if="{{buyToastShow}}" -->
- <view class="buy-toast" v-if="buyToastShow">
- <swiper :autoplay="true" :circular="true" interval="3000" duration="1000" :vertical="true"
- class="toast-swiper">
- <swiper-item class="toast-swiper-item" v-for="(item, index) in goodsBuyTime" :key="index">
- <view class="toast-item">
- <image :src="item.cusHeadImg + '?w=20'" mode="aspectFill"></image>
- <view>{{ item.comment }}</view>
- </view>
- </swiper-item>
- </swiper>
- </view>
- <!-- 服务 须知 门店 -->
- <view :class="randomAandB==1?'random':''">
- <view class="other-info">
- <view class="name">
- {{ goods.name }}
- </view>
- <view class="common-info">
- <view class="info-title">服务</view>
- <view class="info-content">
- <!-- 专业服务·六区清洁·108项验收标准 -->
- {{ goods.serviceStandards }}
- </view>
- </view>
- <view class="common-info">
- <view class="info-title">须知</view>
- <view class="info-content">
- {{ goods.serviceInstructions }}
- </view>
- </view>
- <view class="common-info">
- <view class="info-title">门店</view>
- <view class="info-content">全国{{ storeNum }}家门店通用</view>
- </view>
- <view class="info-showtip" v-if="randomAandB">
- <view class="img">
- <span class="xianmai">先买后约</span>
- <span class="content">提前预约 · 先一步享鲸致优选服务</span>
- </view>
- <view class="appoint-steps">
- <!-- <image src="https://mall.zhaijieshi.cc/file/wx-dy/tb.png" mode=""
- style="height: 100%;width: 100%;">
- </image>-->
- </view>
- </view>
- </view>
- </view>
- <!-- 规格 -->
- <view class="sku-wrapper" @tap="showSkuPopup(0)" v-if="goods.productType == 2&!randomAandB">
- <view class="current-select">
- <img src="https://mall.zhaijieshi.cc/file/wx-dy/jx.png" />
- </view>
- <view class="sku-info">
- <view class="sku-left">
- <view class="current-sku">{{ checkedSku.specifications }}</view>
- </view>
-
- <view class="sku-right">
- <view class="sku-right-current">共{{ specTotalNum }}种</view>
- <view class="sku-right-img">
- <image src="https://mall.zhaijieshi.cc/file/wx-dy/yjt.png" mode="aspectFit" class="arrow-img">
- </image>
- </view>
- </view>
- </view>
- </view>
- <!-- 档期显示 -->
- <view class="calendar-show" v-if="!randomAandB" @tap="calenderHandle">
- <view class="calendar-title">
- 未来七天档期紧张·请尽早预约
- </view>
- <view class="calendar-show-content">
- <view class="calendar-date" :class="item.dateType==0?'calendar-date':'calendar-date1'"
- v-for="(item,index) in futureDays">
- <view class="calendar-date-date">{{item.value}}</view>
- <view style="font-size: 16rpx;height: 26rpx;">{{item.dateType==0?'充足':'紧张'}}</view>
- </view>
- </view>
- </view>
- <!-- 加购数量 -->
- <!-- v-if="productList.length == 1 && productList[0].isSupportAddbuy" -->
- <view class="num-module" v-if="productList.length == 1 && productList[0].isSupportAddbuy">
- <view class="plus-buy">
- <view class="title">加购</view>
- <view class="plus-name">
- {{ productList[0].unitDescribe }}
- <text>¥{{ productList[0].unitPrice }}</text>
- /{{ productList[0].unitArea }}
- </view>
- </view>
- <view class="plus-num" style="padding-left: 80rpx">
- <view class="title" style="color: #000; width: 160rpx">加购数量</view>
- <view class="calc-counter">
- <view :class="'minus-btn ' + (plusNum == minNum ? 'disable' : '')" @tap="minusNum">-</view>
- <input class="num-input" @input="bindGoodsNumInput" type="number" maxlength="3" placeholder=""
- :value="plusNum" />
- <!-- <view class="num-input">{{ plusNum }}</view> -->
- <view :class="'plus-btn ' + (plusNum >= productList[0].unitMaximum ? 'disable' : '')"
- @tap="addNum">+</view>
- </view>
- </view>
- <view style="color: #fe2b54; margin: 8rpx 0 0" :tt-if="plusNum != 0">
- 每份{{ productList[0].unitArea }},加购{{ plusNum }}份,合计{{ addPurchaseAmount }}元</view>
- </view>
- <!-- 团购评价 -->
- <view class="group-evaluation">
- <view class="title" @tap="goWholeEval">
- <view class="left">团购评价({{goodsCommentCount}}条)</view>
- <view class="right">
- <view>查看全部</view>
- <image src="https://mall.zhaijieshi.cc/file/wx-dy/arrow-grey.png" mode="aspectFit"
- class="arrow-img"></image>
- </view>
- </view>
- <view class="evaluation-item" v-for="(item, index) in goodsComment" :key="index">
- <view class="item-left">
- <view class="eval-top">
- <image :src="item.cusHeadImg + '?w=100'" mode="aspectFill" class="avatar"></image>
- <view class="name">{{ item.cusName }}</view>
- <view class="tag">{{ item.cusLabel }}</view>
- <view class="hp">{{ item.commentType }}</view>
- </view>
- <view class="eval-content">
- {{ item.comment }}
- </view>
- </view>
- <view class="item-right">
- <image :src="item.commentImg + '?w=200'" mode="aspectFill"></image>
- </view>
- </view>
- </view>
- <view class="detail">
- <image mode="widthFix" :src="item + '?w=1024'" v-for="(item, index) in detailList" :key="index"></image>
- </view>
- <!-- 产品推荐 -->
- <view class="recommend-title" v-if="recGoodsList.length > 0">产品推荐</view>
- <view class="recommend-list">
- <navigator :url="'/pages/goods/goods?id=' + item.id" v-for="(item, index) in recGoodsList" :key="index">
- <view class="recommend-item">
- <image :src="item.picUrl" mode="aspectFill"></image>
- <view class="recommend-goods-name">
- {{ item.name }}
- </view>
- <view class="recommend-goods-price">
- ¥
- <text>{{ item.retailPrice }}</text>
- </view>
- </view>
- </navigator>
- </view>
- <!-- 底部按钮 -->
- <view class="bottom-btn">
- <view class="appoint-fire" v-if="!randomAandB">
- </view>
- <view class="bottom-appointment-tips" v-if="randomAandB">
- <view>
- <span class="jinqi">近期可约</span>
- <span class="selected-sku">已选择{{checkedSku.specifications}}</span>
- </view>
- </view>
- <view class="bottom-content" style="display: flex;padding: 12rpx 24rpx 18rpx;">
- <view class="contact-block">
- <view class="contact-wrapper" @tap="goIM">
- <image class="contact-img" mode="aspectFit" src="/static/images/online-new.png"></image>
- <view class="text">客服</view>
- </view>
- </view>
- <view class="c" @tap="addFast" v-if="!randomAandB">立即预约</view>
- <view class="c" @tap="addFast" v-if="randomAandB">立即抢购</view>
- </view>
- </view>
- <!-- sku规格列表 -->
- <view class="appoint-overlay-wrapper" @tap="onSkuClose" v-if="chooseSkuVisible"
- @touchmove.stop.prevent="preventTouchMove">
- <view class="spu-popup" @tap.stop.prevent="stopClick">
- <view class="sku-popup-title">请选择购买规格</view>
- <view class="sku-popup-tips">选择实际服务数量对应的规格</view>
- <scroll-view scroll-y="true" class="sku-list-block" style="height: 300rpx;">
- <view class="sku-list-block">
- <!-- <view class="spu-title">规格</view> -->
- <view style="padding-bottom: 20rpx ;">
- <view :class="'sku-item ' + (activeSku == item.id ? 'active-sku' : '')" :data-index="index"
- :data-id="item.id" @tap="selectSku" v-for="(item, index) in productList" :key="index">
- <span v-if="item.newCus==true" class="xinke">新客专享</span>
- <view>
- {{ item.specifications }}
- </view>
- <view class="sku-price">¥{{item.price}}</view>
- </view>
- </view>
- </view>
- </scroll-view>
- <view class="sku-popup-btntip">
- 附近门店可约 · 预约后锁定档期优先派单
- </view>
- <view class="sku-btn" v-if="randomAandB" @tap="confSku">立即抢购</view>
- <view class="sku-btn" v-else @tap="confSku">{{showType==1?'立即预约':'确定'}}</view>
- </view>
- </view>
- </view>
- </template>
- <script>
- var app = getApp();
- // var WxParse = require('../../lib/wxParse/wxParse.js');
- var util = require('../../utils/util.js');
- var api = require('../../config/api.js');
- var user = require('../../utils/user.js');
- export default {
- data() {
- return {
- gallery: [],
- goodsCommentCount: '',
- showType: 0, // 1弹窗后确认立即下单
- chooseSkuVisible: false,
- activeSku: 0,
- checkedSku: {
- specifications: [],
- id: 0,
- retailPrice: '',
- counterPrice: '',
- url: '',
- discountRate: ""
- },
- currentSku: {
- specifications: [],
- id: 0,
- retailPrice: '',
- counterPrice: '',
- url: '',
- price: ''
- },
- productList: [],
- specTotalNum: '',
- buyToastShow: false,
- goodsBuyTime: {
- cusHeadImg: '',
- comment: ''
- },
- recGoodsList: [],
- plusNum: '0',
- detailList: [],
- detailListAll: [],
- countSalesNumber: '',
- selfPayShow: false,
- selfPayCheck: false,
- spreadPayShow: false,
- spreadPayChecked: false,
- canShare: false,
- id: 0,
- goods: {
- unitMaximum: 1,
- isNew: '',
- gallery: [],
- counterPrice: '',
- name: '',
- serviceInstructions: '',
- productType: 0,
- unitPrice: '',
- unitArea: '',
- type: 0
- },
- groupon: [],
- //该商品支持的团购规格
- grouponLink: {},
- //参与的团购
- attribute: [],
- issueList: [],
- comment: [],
- //brand: {},
- specificationList: [],
- relatedGoods: [],
- cartGoodsCount: 0,
- userHasCollect: 0,
- number: 1,
- checkedSpecText: '规格数量选择',
- tmpSpecText: '请选择规格数量',
- checkedSpecPrice: 0,
- openAttr: false,
- openShare: false,
- collect: false,
- shareImage: '',
- isGroupon: false,
- //标识是否是一个参团购买
- soldout: false,
- canWrite: false,
- //用户是否获取了保存相册的权限
- name_height: 58,
- //根据名称长度 设置高度
- userInfo: {},
- hasLogin: false,
- shareId: 0,
- //options传递过来的参数 表示是打开哪个分享
- wxShareId: 0,
- //如果要分享此商品的分享id
- addressInfo: {},
- rId: 0,
- //分享人id,
- selfDiscount: 0,
- spreadDiscount: 0,
- referee: {
- self: 0,
- share: 0
- },
- myqr_show: false,
- //我的分享二维码
- myqr_url: null,
- //分享海报及推广语言
- myqr_ads: '',
- myqr_blur: 100,
- //背景模糊值
- myqr_bottom_btn: 'fixed',
- //底部功能按钮
- activited: false,
- //是否活动中
- activityPrice: 0,
- //活动价格
- activityTime: 89646,
- //活动倒计时总计时间 (整型 秒)
- activityDay: 0,
- //活动天数
- activityHour: 0,
- //活动小时
- activityMinute: 0,
- //活动分钟
- activitySecond: 0,
- //活动秒
- activityTimer: null,
- //定时器
- code: '',
- //抖音登录code
- isCommiting: false,
- //是否提交中 防止多次提交
- //以下是支付使用参数
- openId: '',
- checkedAddress: '',
- actualPrice: '',
- couponPrice: '',
- addressId: '',
- couponId: '',
- userCouponId: '',
- mobile: '',
- couponVoList: [],
- //优惠券列表
- finallyPrice: '',
- storeNum: '267',
- totalPrice: '',
- addPurchaseAmount: 0,
- addPurchase: [],
- serviceId: '',
- bookDetail: {
- bookDetailId: '',
- statusName: '',
- consignee: '',
- mobile: '',
- address: '',
- fraName: ''
- },
- minNum: 0,
- //达人id 表示是否从小雪花进入
- talentId: '',
- goodsComment: '',
- selfPayChecked: '',
- qid: '', //短链id(表示短链进入)
- futureDays: [],
- randomAandB: 0,
- currentIndexx: 0, // 默认选中第一个
- currentSelectedSku: '',
- selectId: '',
- };
- }, // 页面分享
- onShareAppMessage: function() {
- let that = this;
- if (!app.globalData.hasLogin) {
- uni.navigateTo({
- url: '/pages/auth/login/login'
- });
- return;
- }
- //获取分享id 用来追踪链接
- //引荐人和非引荐人的 链接不同
- let imgUrl = that.goods.shareWxUrl ? that.goods.shareWxUrl : that.goods.gallery[0];
- var path = '/pages/goods/goods?id=' + that.id + '&rId=' + that.userInfo.id;
- if (that.userInfo.isDis) {
- //是引荐人
- path = '/pages/goods/goods?id=' + that.id + '&shareId=' + that.wxShareId;
- }
- this.hidePoster();
- return {
- title: that.goods.name + '\n' + that.myqr_ads,
- path: path,
- imageUrl: imgUrl
- };
- },
- onLoad: async function(options) {
- console.log(options);
- console.log(this.$store.state)
- // 页面初始化 options为页面跳转所带来的参数
- var addressInfo = uni.getStorageSync('addressInfo');
- if (addressInfo) {
- this.setData({
- addressInfo: addressInfo
- });
- }
- var openId = uni.getStorageSync('openId');
- if (openId) {
- this.setData({
- openId: openId
- });
- } else {
- openId = app.globalData.openId; //首页会获取一次
- if (openId == '' || openId == null || openId == undefined) {
- //openid为空 需要去获取
- await this.getUserOpenId();
- } else {
- console.log('进入onload,已提前拿到openid:' + openId);
- this.setData({
- openId: openId
- });
- uni.setStorageSync('openId', openId);
- }
- }
- if (options.rId) {
- this.setData({
- rId: parseInt(options.rId)
- });
- }
- //达人id 小雪花过来的
- if (options.talentId) {
- this.setData({
- talentId: options.talentId
- });
- }
- if (options.shareId) {
- this.setData({
- shareId: parseInt(options.shareId)
- });
- }
- if (options.id) {
- this.setData({
- id: parseInt(options.id)
- });
- this.getGoodsInfo();
- }
- // 补差产品扫二维码进入
- if (options.service_id) {
- this.setData({
- id: parseInt(options.goods_id),
- serviceId: options.service_id
- });
- this.getGoodsInfo();
- }
- //短链或者二维码的id
- if (options.qid) {
- this.setData({
- qid: options.qid
- })
- }
- this.getStore();
- },
- onShow() {
- let randomAandB = uni.getStorageSync('randomAandB');
- console.log("sync get:" + randomAandB)
- if (randomAandB) {
- this.setData({
- randomAandB: randomAandB.randomAandB
- })
- }
- console.log("randomAandB", this.randomAandB);
- util.addLog(1, this.randomAandB ? 9 : 10, 1, {
- goodsId: this.id
- });
- if (app.globalData.hasLogin) {
- let userInfo = uni.getStorageSync('userInfo');
- app.globalData.userInfo = userInfo;
- this.setData({
- userInfo: userInfo,
- hasLogin: true
- });
- }
- if (uni.getStorageSync('newArray') == null || uni.getStorageSync('newArray') == "") {
- console.log("没有数据");
- //随机显示未来几天时间是否充足
- const futureSevenDays = util.getNextSevenDaysFromToday();
- const newSevenDays = futureSevenDays.map(item => {
- return {
- value: item,
- dateType: 0
- };
- });
- // 假设这是你要存储的数据
- let newSevenDayss = util.changeRandomTwoElementsDateType(newSevenDays);
- const timestamp = Date.now(); // 获取当前时间戳
- this.setData({
- futureDays: newSevenDayss
- })
- // 将数据和时间戳一起存储
- uni.setStorage({
- key: 'newArray',
- data: {
- newArray: newSevenDayss,
- timestamp: timestamp
- },
- success() {
- console.log('数据和时间戳存储成功');
- }
- });
- } else {
- console.log("有数据");
- function isDataExpired(timestamp, expiryDuration) {
- const now = Date.now();
- return (now - timestamp) > expiryDuration;
- }
- const expiryDuration = 3600000; // 一小时的毫秒数
- let flag = false;
- let s = uni.getStorageSync("newArray");
- flag = s && isDataExpired(s.timestamp, expiryDuration);
- if (flag) {
- // uni.removeStorageSync("newArray");
- //随机显示未来几天时间是否充足
- const futureSevenDays = util.getNextSevenDaysFromToday();
- const newSevenDays = futureSevenDays.map(item => {
- return {
- value: item,
- dateType: 0
- };
- });
- let newSevenDayss = util.changeRandomTwoElementsDateType(newSevenDays);
- // 假设这是你要存储的数据
- const timestamp = Date.now(); // 获取当前时间戳
- // 将数据和时间戳一起存储
- this.setData({
- futureDays: newSevenDayss
- })
- uni.setStorage({
- key: 'newArray',
- data: {
- newArray: newSevenDayss,
- timestamp: timestamp
- },
- success() {
- console.log('数据和时间戳再次存储成功');
- }
- });
- } else {
- // 将数据和时间戳一起存储
- this.setData({
- futureDays: s.newArray
- })
- }
- }
- },
- onHide() {
- // 页面隐藏
- clearInterval(this.activityTimer);
- util.addLog(2, this.randomAandB ? 9 : 10, 2, {
- goodsId: this.id
- });
- },
- onUnload() {
- // 页面关闭
- clearInterval(this.activityTimer);
- },
- onReady() {
- util.addLog(1, this.randomAandB ? 9 : 10, 1, {
- goodsId: this.id
- });
- // 页面渲染完成
- },
- onReachBottom() {
- console.info('reachbottom');
- let detailListAll = this.detailListAll;
- let detailList = this.detailList;
- //console.info(detailList)
- if (detailListAll.length > detailList.length) {
- // detailListAll = detailListAll.splice(1);
- detailList.push(detailListAll[detailList.length]);
- this.setData({
- detailList: detailList
- // detailListAll: detailListAll
- });
- }
- },
- methods: {
- calenderHandle() {
- util.addLog(1, 10, 24)
- },
- selectItem(e) {
- console.log("item", e.currentTarget.dataset.item);
- console.log("selectItem", e.currentTarget.dataset.id);
- let id = e.currentTarget.dataset.id
- let index = e.currentTarget.dataset.index
- let finallyPrice = e.currentTarget.dataset.item.price
- let counterPrice = e.currentTarget.dataset.item.counterPrice
- let item = e.currentTarget.dataset.item
- // 设置当前选中的项目
- this.setData({
- currentIndexx: index,
- activeSku: id,
- finallyPrice: finallyPrice,
- 'goods.counterPrice': counterPrice,
- selectId: id,
- currentSku: item,
- checkedSku: item
- // currentSelectedSku:item.specifications
- })
- // 打印当前项目的 id
- console.log('当前选中的 index:', e.currentTarget.dataset.index);
- util.addLog(1, 9, 25)
- },
- //禁止蒙版下面的页面滑动
- preventTouchMove() {},
- goCustomerService() {
- //跳转微信客服
- console.info('goCustomerService');
- uni.openCustomerServiceChat({
- extInfo: {
- url: 'https://work.weixin.qq.com/kfid/kfc1fcfae84340d5125'
- },
- corpId: 'ww034f0b524f8ead00',
- success(res) {},
- fail(res) {
- console.info(res);
- }
- });
- },
- shareFriendOrCircle: function() {
- if (!app.globalData.hasLogin) {
- uni.navigateTo({
- url: '/pages/auth/login/login'
- });
- return;
- }
- //分享 弹出图片
- let that = this;
- uni.removeStorageSync(String(that.goods.id));
- //取出本地缓存中的分享图
- // let sUrl=wx.getStorageSync(String(that.data.goods.id));
- // if(sUrl!=null&&sUrl!=""){//获取过的分享图 不需要再次获取
- // that.setData({
- // myqr_url:sUrl,
- // myqr_show:true,
- // myqr_blur:5
- // });
- // return;
- // }
- uni.showLoading({
- title: '生成中'
- });
- util.request(api.QrGoodsCodeCreate, {
- goodsId: that.goods.id
- }).then(function(res) {
- uni.hideLoading();
- if (res.errno == 0) {
- that.setData({
- myqr_url: res.data.imgUrl,
- myqr_show: true,
- myqr_blur: 5
- });
- //保存分享图url到本地缓存
- // wx.setStorageSync(String(that.data.goods.id),res.data.imgUrl);
- } else if (res.errno == 501) {
- uni.navigateTo({
- url: '/pages/auth/login/login'
- });
- } else {
- uni.showToast({
- title: res.errmsg,
- duration: 5000
- });
- }
- });
- //var that = this;
- /*if (this.data.openShare === false) {
- this.setData({
- openShare: !this.data.openShare
- });
- } else {
- return false;
- }*/
- },
- /**活动剩余时间 格式化 */
- handleActivityTime() {
- let that = this;
- let interval = setInterval(function() {
- if (that.activityTime <= 1) {
- return;
- }
- let activityTime = that.activityTime;
- let day = parseInt(activityTime / 86400);
- let hour = parseInt((activityTime % 86400) / 3600);
- console.info((activityTime % 86400) % 3600);
- let minte = parseInt(((activityTime % 86400) % 3600) / 60);
- let second = parseInt(((activityTime % 86400) % 3600) % 60);
- that.setData({
- activityDay: day,
- activityHour: hour < 10 ? '0' + hour.toString() : hour.toString(),
- activityMinute: minte < 10 ? '0' + minte.toString() : minte.toString(),
- activitySecond: second < 10 ? '0' + second.toString() : second.toString(),
- activityTime: activityTime - 1
- });
- }, 1000);
- that.setData({
- activityTimer: interval
- });
- },
- handleSetting: function(e) {
- var that = this;
- // console.log(e)
- if (!e.detail.authSetting['scope.writePhotosAlbum']) {
- uni.showModal({
- title: '警告',
- content: '不授权无法保存',
- showCancel: false
- });
- that.setData({
- canWrite: false
- });
- } else {
- uni.showToast({
- title: '保存成功'
- });
- that.setData({
- canWrite: true
- });
- }
- },
- // 保存分享图
- saveShare: function() {
- let that = this;
- uni.showLoading({
- title: '图片保存中'
- });
- console.log(that);
- uni.downloadFile({
- url: that.myqr_url,
- success: function(res) {
- console.log(res);
- uni.saveImageToPhotosAlbum({
- filePath: res.tempFilePath,
- success: function(res) {
- uni.hideLoading();
- uni.showModal({
- title: '存图成功',
- content: '图片成功保存到相册了,可以分享到朋友圈了',
- showCancel: false,
- confirmText: '好的',
- confirmColor: '#a78845',
- success: function(res) {
- if (res.confirm) {
- console.log('用户点击确定');
- that.setData({
- myqr_show: false,
- myqr_blur: 0
- });
- }
- }
- });
- },
- fail: function(res) {
- uni.hideLoading();
- uni.showModal({
- title: '警告',
- content: '不授权无法保存',
- showCancel: false
- });
- that.setData({
- myqr_show: false,
- myqr_blur: 0
- });
- }
- });
- },
- fail: function(res) {
- uni.hideLoading();
- console.log(res);
- }
- });
- },
- // 获取商品信息
- getGoodsInfo: function() {
- let that = this;
- let params = {
- id: that.id,
- rId: that.rId,
- openId: this.openId
- };
- if (this.serviceId) {
- params = {
- id: that.id,
- rId: that.rId,
- openId: this.openId,
- serviceId: that.serviceId
- };
- }
- console.info('1-》getGoodsInfo start');
- util.request(api.GoodsDetail, params).then(function(res) {
- console.info('2-》getGoodsInfo end');
- console.info(res);
- if (res.errno === 0) {
- let goodsComment = res.data.goodsComment;
- let list = [];
- if (goodsComment) {
- goodsComment.forEach((item) => {
- let obj = item;
- if (item.commentImgs) {
- let img = item.commentImgs.split(',');
- if (img.length >= 1) {
- obj.commentImg = img[0];
- } else {
- obj.commentImg = '';
- }
- }
- list.push(obj);
- });
- }
- let checkedSku = {};
- // if (res.data.info.productType == 3) {
- // let plusInit = res.data.productList.filter((pro) => {
- // return pro.unitIncreaseNumber == 0;
- // });
- // if (plusInit.length >= 1) {
- // checkedSku = plusInit[0];
- // }
- // } else {
- checkedSku = res.data.productList[0];
- // }
- // if (res.data.info.type == 4) {
- that.setData({
- plusNum: 0,
- minNum: 0
- });
- // }
- that.setData({
- goods: res.data.info,
- gallery: res.data.info.gallery.split(','),
- detailList: res.data.info.detail == '' || res.data.info.detail == null ?
- [] : [res.data.info.detail.split(',')[0]],
- detailListAll: res.data.info.detail == '' || res.data.info.detail == null ?
- [] : res.data.info.detail.split(','),
- // attribute: res.data.attribute,
- // issueList: res.data.issue,
- // comment: res.data.comment,
- //brand: res.data.brand,
- specificationList: res.data.specificationList,
- userHasCollect: res.data.userHasCollect,
- shareImage: res.data.shareImage,
- checkedSpecPrice: res.data.info.retailPrice,
- countSalesNumber: res.data.countSalesNumber,
- // canShare: res.data.share,
- // name_height: height,
- wxShareId: res.data.shareId,
- activited: res.data.activited,
- activityTime: res.data.activityTime,
- activityPrice: res.data.activityPrice,
- productList: res.data.productList,
- specTotalNum: res.data.productList.length,
- goodsComment: list,
- buyToastShow: true,
- goodsBuyTime: res.data.goodsBuyTime,
- // checkedSku:res.data.productList[0],
- // currentSku:res.data.productList[0],
- checkedSku: checkedSku,
- currentSku: checkedSku,
- recGoodsList: res.data.recGoodsList,
- // finallyPrice: Number(res.data.info.retailPrice).toFixed(2),
- finallyPrice: res.data.productList[0].counterPrice,
- // addPurchase:res.data.addPurchase,
- bookDetail: res.data.bookDetail,
- goodsCommentCount: res.data.goodsCommentCount
- });
- that.getMaxCoupon();
- // setTimeout(()=>{
- // that.setData({
- // buyToastShow:true
- // });
- // },200);
- // setTimeout(()=>{
- // that.setData({
- // buyToastShow:false
- // })
- // },3200);
- if (res.data.activited) {
- that.handleActivityTime();
- }
- if (res.data.userHasCollect == 1) {
- that.setData({
- collect: true
- });
- } else {
- that.setData({
- collect: false
- });
- }
- // WxParse.wxParse('goodsDetail', 'html', res.data.info.detail, that);
- //获取推荐商品
- //that.getGoodsRelated();
- }
- });
- },
- // 获取推荐商品
- getGoodsRelated: function() {
- let that = this;
- util.request(api.GoodsRelated, {
- id: that.id,
- shopId: this.addressInfo.shopId
- }).then(function(res) {
- if (res.errno === 0) {
- that.setData({
- relatedGoods: res.data.list
- });
- }
- });
- },
- // 规格选择
- clickSkuValue: function(event) {
- let that = this;
- let specName = event.currentTarget.dataset.name;
- let specValueId = event.currentTarget.dataset.valueId;
- //判断是否可以点击
- //TODO 性能优化,可在wx:for中添加index,可以直接获取点击的属性名和属性值,不用循环
- let _specificationList = this.specificationList;
- for (let i = 0; i < _specificationList.length; i++) {
- if (_specificationList[i].name === specName) {
- for (let j = 0; j < _specificationList[i].valueList.length; j++) {
- if (_specificationList[i].valueList[j].id == specValueId) {
- //如果已经选中,则反选
- if (_specificationList[i].valueList[j].checked) {
- _specificationList[i].valueList[j].checked = false;
- } else {
- _specificationList[i].valueList[j].checked = true;
- }
- } else {
- _specificationList[i].valueList[j].checked = false;
- }
- }
- }
- }
- this.setData({
- specificationList: _specificationList
- });
- //重新计算spec改变后的信息
- this.changeSpecInfo();
- //重新计算哪些值不可以点击
- },
- //获取选中的规格信息
- getCheckedSpecValue: function() {
- let checkedValues = [];
- let _specificationList = this.specificationList;
- for (let i = 0; i < _specificationList.length; i++) {
- let _checkedObj = {
- name: _specificationList[i].name,
- valueId: 0,
- valueText: ''
- };
- for (let j = 0; j < _specificationList[i].valueList.length; j++) {
- if (_specificationList[i].valueList[j].checked) {
- _checkedObj.valueId = _specificationList[i].valueList[j].id;
- _checkedObj.valueText = _specificationList[i].valueList[j].value;
- }
- }
- checkedValues.push(_checkedObj);
- }
- return checkedValues;
- },
- //判断规格是否选择完整
- isCheckedAllSpec: function() {
- return !this.getCheckedSpecValue().some(function(v) {
- if (v.valueId == 0) {
- return true;
- }
- });
- },
- getCheckedSpecKey: function() {
- let checkedValue = this.getCheckedSpecValue().map(function(v) {
- return v.valueText;
- });
- return checkedValue;
- },
- // 规格改变时,重新计算价格及显示信息
- changeSpecInfo: function() {
- let checkedNameValue = this.getCheckedSpecValue();
- //设置选择的信息
- let checkedValue = checkedNameValue
- .filter(function(v) {
- if (v.valueId != 0) {
- return true;
- } else {
- return false;
- }
- })
- .map(function(v) {
- return v.valueText;
- });
- if (checkedValue.length > 0) {
- this.setData({
- tmpSpecText: checkedValue.join(' ')
- });
- } else {
- this.setData({
- tmpSpecText: '请选择规格数量'
- });
- }
- if (this.isCheckedAllSpec()) {
- this.setData({
- checkedSpecText: this.tmpSpecText
- });
- // 规格所对应的货品选择以后
- let checkedProductArray = this.getCheckedProductItem(this.getCheckedSpecKey());
- if (!checkedProductArray || checkedProductArray.length <= 0) {
- this.setData({
- soldout: true
- });
- console.error('规格所对应货品不存在');
- return;
- }
- let checkedProduct = checkedProductArray[0];
- if (checkedProduct.number > 0) {
- this.setData({
- checkedSpecPrice: checkedProduct.price,
- soldout: false
- });
- } else {
- this.setData({
- checkedSpecPrice: this.goods.retailPrice,
- soldout: true
- });
- }
- } else {
- this.setData({
- checkedSpecText: '规格数量选择',
- checkedSpecPrice: this.goods.retailPrice,
- soldout: false
- });
- }
- },
- // 获取选中的产品(根据规格)
- getCheckedProductItem: function(key) {
- return this.productList.filter(function(v) {
- if (v.specifications.toString() == key.toString()) {
- return true;
- } else {
- return false;
- }
- });
- },
- goIM() {
- console.info('goIm');
- uni.navigateTo({
- url: '/pages/chat/im/im'
- });
- util.addLog(1, this.randomAandB ? 9 : 10, 12, {
- goodsId: this.id
- });
- },
- //添加或是取消收藏
- addCollectOrNot: function() {
- let that = this;
- util.request(
- api.CollectAddOrDelete, {
- type: 0,
- valueId: this.id
- },
- 'POST'
- ).then(function(res) {
- if (that.userHasCollect == 1) {
- that.setData({
- collect: false,
- userHasCollect: 0
- });
- } else {
- that.setData({
- collect: true,
- userHasCollect: 1
- });
- }
- });
- },
- //立即购买(先自动加入购物车)
- async addFast() {
- var that = this;
- if (that.goods.productType == 2) { //多规格,先弹窗选规格后
- that.showSkuPopup(1);
- return;
- }
- //如果是买约一体商品 必须授权登录
- // if (that.goods.type != 3 && that.hasLogin == false) {
- // uni.navigateTo({
- // url: '/pages/auth/login/login'
- // });
- // return;
- // }
- util.addLog(1, this.randomAandB ? 9 : 10, 22, {
- goodsId: this.goods.id,
- productId: this.checkedSku.id,
- });
- that.fastOrder();
- },
- async fastOrder() {
- //防止多次提交
- var that = this;
- if (that.isCommiting) {
- return;
- }
- that.setData({
- isCommiting: true
- });
- let boo = await this.checkGoods();
- console.info(boo);
- if (!boo) {
- that.setData({
- isCommiting: false
- });
- return;
- }
- //不用加购物车 直接跳转
- app.globalData.infoGoods = {
- name: that.goods.name,
- brief: that.goods.brief,
- picUrl: that.goods.picUrl,
- type: that.checkedSku.type,
- id: that.goods.id
- };
- //20230523对于买约分离的商品 不用提单页 直接结算
- // 商品类型 0 服务类商品 1保险 2中介 3买约分离次卡
- if (that.checkedSku.type == 3 || that.checkedSku.type == 4) {
- console.info('直接拉起支付');
- that.checkoutInfo();
- return;
- }
- uni.setStorageSync('cartId', 0);
- uni.setStorageSync('goodsId', that.goods.id);
- if (that.checkedSku.type == 0) {
- uni.navigateTo({
- url: '/pages/checkout/checkout?productId=' + this.checkedSku.id +
- '&unitIncreaseNumber=' + this.plusNum
- });
- }
- that.setData({
- isCommiting: false
- });
- },
- async checkGoods() {
- let boo = true;
- let that = this;
- //console.info(code);
- await util
- .request(
- api.OrderCheckGoods, {
- goodsId: this.goods.id,
- openId: this.openId,
- productId: this.checkedSku.id,
- unitIncreaseNumber: this.plusNum
- // bookDetailId:this.data.bookDetail.bookDetailId
- },
- 'GET'
- )
- .then(function(res) {
- console.info(res);
- if (res.data && res.data.user) {
- app.globalData.hasLogin = true;
- app.globalData.userInfo = res.data.user.userInfo;
- uni.setStorageSync('userInfo', res.data.user.userInfo);
- uni.setStorageSync('token', res.data.user.token);
- }
- //弹出框信息
- if (res.errno != 0) {
- boo = false;
- util.showErrorToast(res.errmsg);
- } else if (res.data.code === 1) {
- //存在未付款订单 直接拉起支付
- that.setData({
- actualPrice: res.data.actualPrice
- });
- let goNewPage = res.data.goNewPage;
- that.continueToPay(res.data.orderSn, goNewPage);
- boo = false;
- //that.showMyModel(res.data.msg, that);
- } else if (res.data.code === 2) {
- boo = false;
- //新客初体验商品,每个客户只有1次机会哦~
- if (res.data.goodsId) {
- uni.showModal({
- title: '提醒',
- content: res.data.msg,
- confirmText: '去购买',
- success(ress) {
- if (ress.confirm) {
- uni.navigateTo({
- url: '/pages/goods/goods?id=' + res.data.goodsId
- });
- }
- }
- });
- } else {
- uni.showModal({
- title: '提醒',
- content: res.data.msg,
- confirmText: '确定',
- })
- }
- }
- });
- return boo;
- },
- async getStore() {
- let res = await util.request(api.allStore, {}, 'GET');
- if (res.errno == 0) {
- console.log(res);
- this.setData({
- storeNum: res.data.count
- });
- }
- },
- async getMaxCoupon() {
- if (this.openId) {
- let res = await util.request(
- api.selectMaxCoupon, {
- goodsId: this.goods.id,
- openId: this.openId
- },
- 'GET'
- );
- console.log(res);
- if (res.errno == 0) {
- this.setData({
- couponPrice: res.data.couponPrice,
- couponId: res.data.couponId,
- userCouponId: res.data.userCouponId,
- couponVoList: res.data.couponVoList,
- finallyPrice: Number(this.checkedSku.price - res.data.couponPrice).toFixed(2)
- });
- this.setData({
- totalPrice: this.finallyPrice
- });
- }
- } else {
- await this.getUserOpenId();
- let res = await util.request(
- api.selectMaxCoupon, {
- // productId: this.data.checkedSku.id,
- goodsId: this.goods.id,
- openId: this.openId
- },
- 'GET'
- );
- console.log(res);
- if (res.errno == 0) {
- this.setData({
- couponPrice: res.data.couponPrice,
- couponId: res.data.couponId,
- userCouponId: res.data.userCouponId,
- couponVoList: res.data.couponVoList,
- finallyPrice: Number(this.checkedSku.price - res.data.couponPrice).toFixed(2)
- });
- this.setData({
- totalPrice: this.finallyPrice
- });
- }
- }
- },
- aliSubmit() {
- uni.showLoading({
- title: '加载中'
- });
- util.request(api.OrderSubmit, {
- addressId: 0,
- shopId: 0,
- cart: 0,
- goodsId: this.goods.id,
- couponId: this.couponId,
- userCouponId: this.userCouponId,
- productId: this.checkedSku.id,
- unitIncreaseNumber: this.plusNum,
- openId: this.openId,
- orderDate: {
- type: 0,
- weeks: [],
- },
- }, 'POST')
- .then(res => {
- if (res.errno === 0) {
- this.aliPrepay(res.data.orderId);
- } else {
- uni.showModal({
- title: '提醒',
- showCancel: false,
- content: res.errmsg
- });
- }
- })
- .catch((res) => {
- uni.hideLoading();
- util.showErrorToast(res.errmsg);
- });
- },
- aliPrepay(orderId) {
- uni.showLoading({
- title: '加载中'
- });
- let that = this;
- util.request(api.aliPrepay, {
- orderId: orderId
- }).then(function(res) {
- if (res.errno === 0) {
- //是否跳转新支付结果页面
- let goNewPage = res.data.goNewPage;
- let tradeNo = res.data.payment.tradeNo;
- let outOrderNo = res.data.payment.outTradeNo;
- my.tradePay({
- tradeNO: tradeNo,
- success: (payres) => {
- uni.hideLoading();
- util.addLog(1, that.randomAandB ? 9 : 10, 15, {
- goodsId: that.goods.id,
- productId: that.checkedSku.id
- });
- uni.hideLoading();
- console.log('ali调起支付成功');
- console.log(payres);
- let resultCode = payres.resultCode;
- if (resultCode == '9000') {
- //如果是静默状态未登录 开始授权登录
- if (!app.globalData.hasLogin) {
- user.getLoginInfo(outOrderNo).then((resUser) => {
- if (resUser.errno == 0) {
- app.globalData.hasLogin = true;
- app.globalData.userInfo = resUser.data
- .userInfo;
- uni.setStorageSync('userInfo', resUser.data
- .userInfo);
- uni.setStorageSync('token', resUser.data
- .token);
- }
- });
- }
- if (goNewPage) {
- uni.redirectTo({
- url: '/pages/checkout/payResult/payResultNewa?status=1&outOrderNo=' +
- outOrderNo + '&actualPrice=' + that
- .actualPrice + '&goodsId=' + that.id +
- '&productId=' + that.checkedSku.id
- });
- } else {
- uni.redirectTo({
- url: '/pages/checkout/payResult/payResult?status=1&outOrderNo=' +
- outOrderNo + '&actualPrice=' + that
- .actualPrice + '&goodsId=' + that.id
- });
- }
- } else {
- util.addLog(1, that.randomAandB ? 9 : 10, 14, {
- goodsId: that.goods.id,
- productId: that.checkedSku.id
- });
- uni.showModal({
- title: '提示',
- content: "未支付成功," + payres.memo,
- showCancel: false,
- success: function(modalres) {
- if (modalres.confirm) {
- uni.navigateTo({
- url: '/pages/ucenter/orderDetail/orderDetailPay?id=' +
- outOrderNo
- });
- }
- }
- });
- }
- },
- fail: (failres) => {
- console.log(failres);
- uni.hideLoading();
- }
- });
- } else {
- uni.hideLoading();
- uni.showModal({
- title: '提醒',
- showCancel: false,
- content: res.errmsg
- });
- }
- })
- .catch((res) => {
- uni.hideLoading();
- util.showErrorToast(res.errmsg);
- });
- },
- orderPrepay() {
- console.log("支付开始");
- let that = this;
- util.request(api.OrderPrepay, {
- addressId: 0,
- shopId: 0,
- cart: 0,
- goodsId: that.goods.id,
- couponId: that.couponId,
- userCouponId: that.userCouponId,
- productId: that.checkedSku.id,
- unitIncreaseNumber: that.plusNum,
- openId: that.openId
- })
- .then(function(res) {
- if (res.errno === 0) {
- //是否跳转新支付结果页面
- let goNewPage = res.data.goNewPage;
- var callbackData = {
- cartId: null,
- addressId: 0,
- couponId: that.couponId,
- userCouponId: that.userCouponId,
- orderDate: {
- goodId:res.data.jzGoodsId,
- productId:res.data.jzProductId
- // goodId: that.goods.id,
- // productId: that.checkedSku.id
- // bookDetailId:that.data.serviceId,
- // originalOrderId:that.data.bookDetail.originalOrderId,
- // unitIncreaseNumber:that.data.plusNum
- },
- phone_num: that.mobile,
- userId: that.userInfo ? that.userInfo.id : '',
- unitIncreaseNumber: that.plusNum,
- talentId: that.talentId,
- qid: that.qid
- };
- uni.showLoading({
- title: '加载中'
- });
- console.log("callbackData11", callbackData);
- uni.createOrder({
- tenantId: res.data.tenantId,
- skuList: res.data.skuList,
- payment: res.data.payment,
- callbackData: callbackData,
- callbackUrl: res.data.callbackUrl,
- success: (res) => {
- util.addLog(1, that.randomAandB ? 9 : 10, 15, {
- goodsId: that.goods.id,
- productId: that.checkedSku.id
- });
- uni.hideLoading();
- console.log('预下单成功11');
- console.log(res);
- const {
- orderId,
- outOrderNo
- } = res;
- console.log('success res', res, 'orderId', orderId, 'outOrderNo',
- outOrderNo);
- //如果是静默状态未登录 开始授权登录
- if (!app.globalData.hasLogin) {
- user.getLoginInfo(outOrderNo).then((resUser) => {
- if (resUser.errno == 0) {
- app.globalData.hasLogin = true;
- app.globalData.userInfo = resUser.data.userInfo;
- uni.setStorageSync('userInfo', resUser.data
- .userInfo);
- uni.setStorageSync('token', resUser.data.token);
- }
- });
- }
- if (goNewPage) {
- uni.redirectTo({
- url: '/pages/checkout/payResult/payResultNewa?status=1&outOrderNo=' +
- outOrderNo + '&actualPrice=' + that.actualPrice +
- '&goodsId=' + that.id + '&productId=' + that
- .checkedSku.id
- });
- } else {
- uni.redirectTo({
- url: '/pages/checkout/payResult/payResult?status=1&outOrderNo=' +
- outOrderNo + '&actualPrice=' + that.actualPrice +
- '&goodsId=' + that.id
- });
- }
- },
- fail: (res) => {
- util.addLog(1, that.randomAandB ? 9 : 10, 14, {
- goodsId: that.goods.id,
- productId: that.checkedSku.id
- });
- uni.hideLoading();
- console.log('预下单失败11');
- console.log(res);
- const {
- orderId,
- outOrderNo,
- errNo,
- errMsg,
- errLogId
- } = res;
- if (errLogId) {
- console.log('预下单失败', errNo, errMsg, errLogId);
- let tomsg = errMsg;
- if (tomsg.indexOf('createOrder') != -1) {
- tomsg = tomsg.replace('createOrder:fail 开发者限购:', '');
- tomsg = tomsg.replace('createOrder:fail 开发者拒绝交易:', '');
- tomsg = tomsg.replace('createOrder:fail', '');
- }
- uni.showModal({
- title: '提示',
- content: tomsg,
- showCancel: false
- });
- }
- if (orderId || outOrderNo) {
- uni.navigateTo({
- url: '/pages/ucenter/orderDetail/orderDetailPay?id=' +
- outOrderNo
- });
- console.log('支付失败', errNo, errMsg, orderId, outOrderNo);
- // that.setData({
- // payFailShow: true
- // });
- }
- console.log(errNo, errMsg);
- }
- });
- } else {
- uni.showModal({
- title: '提醒',
- showCancel: false,
- content: res.errmsg
- });
- }
- })
- .catch((res) => {
- uni.hideLoading();
- util.showErrorToast(res.errmsg);
- });
- },
- checkoutInfo() {
- let that = this;
- util.request(api.CartCheckout, {
- cartId: 0,
- addressId: 0,
- couponId: that.couponId,
- userCouponId: that.userCouponId,
- goodsId: that.goods.id,
- openId: that.openId,
- productId: this.checkedSku.id,
- unitIncreaseNumber: this.plusNum,
- qid: that.qid
- }).then(function(res) {
- if (res.errno === 0) {
- console.info(res);
- that.setData({
- checkedAddress: res.data.checkedAddress,
- actualPrice: res.data.actualPrice,
- couponPrice: res.data.couponPrice,
- addressId: res.data.addressId,
- couponId: res.data.couponId,
- userCouponId: res.data.userCouponId,
- mobile: res.data.mobile
- });
- //提交订单
- that.submitOrder();
- that.setData({
- isCommiting: false
- });
- } else {
- uni.showModal({
- title: '提示',
- content: res.errmsg,
- showCancel: false
- });
- }
- });
- },
- submitOrder() {
- util.addLog(1, this.randomAandB ? 9 : 10, 13, {
- goodsId: this.goods.id,
- productId: this.checkedSku.id
- });
- // #ifdef MP-TOUTIAO
- this.orderPrepay();
- // #endif
- // #ifdef MP-ALIPAY
- this.aliSubmit();
- // #endif
- },
- continueToPay(outOrderNo, goNewPage) {
- //已有订单重复提交
- let that = this;
- uni.continueToPay({
- outOrderNo: outOrderNo,
- // 外部订单号 2个订单号必填一个
- success: (res) => {
- console.log(res);
- const {
- orderId,
- outOrderNo
- } = res;
- console.log('success res', res);
- console.log('orderId', orderId, 'outOrderNo', outOrderNo);
- if (goNewPage) {
- uni.redirectTo({
- url: '/pages/checkout/payResult/payResultNewa?status=1&outOrderNo=' +
- outOrderNo + '&actualPrice=' + that.actualPrice + '&goodsId=' +
- that.id + '&productId=' + that.checkedSku.id
- });
- } else {
- uni.redirectTo({
- url: '/pages/checkout/payResult/payResult?status=1&outOrderNo=' +
- outOrderNo + '&actualPrice=' + that.actualPrice + '&goodsId=' +
- that.id
- });
- }
- // uni.redirectTo({
- // url: '/pages/checkout/payResult/payResult?status=1&outOrderNo=' + outOrderNo + '&actualPrice=' + that.actualPrice
- // });
- },
- fail: (res) => {
- console.log(res);
- const {
- orderId,
- outOrderNo,
- errNo,
- errMsg,
- errLogId
- } = res;
- if (errLogId) {
- console.log('查询订单信息失败', errNo, errMsg, errLogId);
- }
- if (orderId || outOrderNo) {
- console.log('支付失败', errNo, errMsg, orderId, outOrderNo);
- console.log('订单号' + outOrderNo);
- uni.navigateTo({
- url: '/pages/ucenter/orderDetail/orderDetailPay?id=' + outOrderNo
- });
- }
- // util.showErrorToast('放弃支付');
- }
- });
- },
- async getUserOpenId() {
- let that = this;
- let res = await user.userOpenId();
- console.log(res);
- that.setData({
- openId: res.data
- });
- console.info(res);
- uni.setStorageSync('openId', res.data);
- },
- gofastAddCart() {
- var that = this;
- //提示选择完整规格
- // if (!this.isCheckedAllSpec()) {
- // util.showErrorToast('请选择完整规格');
- // return false;
- // }
- //根据选中的规格,判断是否有对应的sku信息
- // let checkedProductArray = this.getCheckedProductItem(this.getCheckedSpecKey());
- // if (!checkedProductArray || checkedProductArray.length <= 0) {
- // //找不到对应的product信息,提示没有库存
- // util.showErrorToast('没有库存');
- // return false;
- // }
- // let checkedProduct = checkedProductArray[0];
- // //验证库存
- // if (checkedProduct.number <= 0) {
- // util.showErrorToast('没有库存');
- // return false;
- // }
- //立即购买
- // util.request(api.CartFastAdd, {
- // goodsId: this.data.goods.id,
- // number: this.data.number,
- // productId: checkedProduct.id,
- // shareId: this.data.shareId
- // }, "POST").then(res => {
- // if (res.errno == 0) {
- // 如果storage中设置了cartId,则是立即购买,否则是购物车购买
- try {
- // wx.setStorageSync('cartId', res.data);
- // wx.setStorageSync('grouponRulesId', checkedGroupon.id);
- // wx.setStorageSync('grouponLinkId', that.data.grouponLink.id);
- // 支付结果页面展示图片用
- app.globalData.infoGoods = {
- name: this.goods.name,
- brief: this.goods.brief,
- picUrl: this.goods.picUrl,
- type: that.checkedSku.type,
- };
- uni.setStorageSync('cartId', 0);
- uni.setStorageSync('goodsId', this.goods.id);
- console.info(that.shareId);
- if (that.shareId > 0) {
- uni.navigateTo({
- url: '/pages/checkout/checkout?shareId=' + that.shareId
- });
- } else {
- uni.navigateTo({
- url: '/pages/checkout/checkout'
- });
- }
- } catch (e) {
- console.log('CatchClause', e);
- console.log('CatchClause', e);
- console.info(e);
- }
- // } else {
- // util.showErrorToast(res.errmsg);
- // }
- // });
- },
- getdefalutUserAddress() {
- //登陆拿用户默认地址,如果没有就拿系统默认地址
- //如果有默认地址,但是不在门店服务区域里
- util.request(api.OrderBookDefaultAddress, {}, 'get').then((res) => {
- if (res.errno === 0) {
- let address = res.data;
- var city = address.city.indexOf('市辖') != -1 ? address.province : address.city;
- //通过jz_shop的shop_no关联服务力分配的门店id,拿实际的jz_shop的门店id
- var addresInfo = {
- city: city,
- lng: address.lng,
- lat: address.lat,
- shopId: address.shopId,
- address: address.addressDetail,
- shopName: address.shopName
- };
- uni.setStorageSync('addressInfo', addresInfo);
- } else {
- //无默认地址时 拿系统的
- this.getdefaultCityShop();
- }
- });
- },
- getdefaultCityShop() {
- let that = this;
- util.request(api.getDefaultCityShop, {}, 'get').then((res) => {
- if (res.errno === 0) {
- uni.setStorageSync('addressInfo', res.data);
- }
- });
- },
- showMyModel(msg, that) {
- uni.showModal({
- title: '',
- content: msg,
- confirmText: '去处理',
- cancelText: '取消',
- success: function(res) {
- //此商品有个未支付的订单,请到订单页去支付或取消重新下单。
- //去处理:跳转订单页
- if (res.confirm) {
- try {
- uni.setStorageSync('tab', 1);
- } catch (e) {
- console.log('CatchClause', e);
- console.log('CatchClause', e);
- }
- uni.navigateTo({
- url: '/pages/ucenter/order/order',
- success: function(res) {},
- fail: function(res) {},
- complete: function(res) {}
- });
- } else {
- that.gofastAddCart();
- }
- }
- });
- },
- //添加到购物车
- addToCart: function() {
- var that = this;
- if (this.openAttr == false) {
- //打开规格选择窗口
- this.setData({
- openAttr: !this.openAttr
- });
- } else {
- //提示选择完整规格
- if (!this.isCheckedAllSpec()) {
- util.showErrorToast('请选择完整规格');
- return false;
- }
- //根据选中的规格,判断是否有对应的sku信息
- let checkedProductArray = this.getCheckedProductItem(this.getCheckedSpecKey());
- if (!checkedProductArray || checkedProductArray.length <= 0) {
- //找不到对应的product信息,提示没有库存
- util.showErrorToast('没有库存');
- return false;
- }
- let checkedProduct = checkedProductArray[0];
- //验证库存
- if (checkedProduct.number <= 0) {
- util.showErrorToast('没有库存');
- return false;
- }
- //添加到购物车
- util.request(
- api.CartAdd, {
- goodsId: this.goods.id,
- number: this.number,
- productId: checkedProduct.id
- },
- 'POST'
- ).then(function(res) {
- let _res = res;
- if (_res.errno == 0) {
- uni.showToast({
- title: '添加成功'
- });
- that.setData({
- openAttr: !that.openAttr,
- cartGoodsCount: _res.data
- });
- //显示tab购物车缓存
- //user.cartadd(that.data.number);
- if (that.userHasCollect == 1) {
- that.setData({
- collect: true
- });
- } else {
- that.setData({
- collect: false
- });
- }
- } else {
- util.showErrorToast(_res.errmsg);
- }
- });
- }
- },
- cutNumber: function() {
- this.setData({
- number: this.number - 1 > 1 ? this.number - 1 : 1
- });
- },
- addNumber: function() {
- // 如果是安心包只能购买一个
- console.log(this.goods);
- if (this.goods.goodsSn == '1036016') {
- uni.showToast({
- title: '此款商品只能购买一个',
- icon: 'none',
- duration: 2000
- });
- } else {
- this.setData({
- number: this.number + 1
- });
- }
- },
- switchAttrPop: function() {
- if (this.openAttr == false) {
- this.setData({
- openAttr: !this.openAttr
- });
- }
- },
- closeAttr: function() {
- this.setData({
- openAttr: false
- });
- },
- closeShare: function() {
- this.setData({
- openShare: false
- });
- },
- openCartPage: function() {
- uni.switchTab({
- url: '/pages/tabBar/cart/cart'
- });
- },
- qrtouchstart: function() {
- this.setData({
- myqr_blur: 100,
- myqr_show: false
- });
- },
- copyToHM() {
- let copyLink = this.goods.copyLink;
- console.log(copyLink);
- if (copyLink != undefined && copyLink != '') {
- uni.setClipboardData({
- data: copyLink,
- success(res) {
- uni.getClipboardData({
- success(res) {
- console.log(res.data); // data
- }
- });
- }
- });
- } else {
- uni.showToast({
- title: '该商品暂未配置盒马链接',
- icon: 'none'
- });
- }
- },
- onSelfPayChange(e) {
- console.log(e);
- this.setData({
- selfPayChecked: e.detail
- });
- },
- onSpreadPayChange(e) {
- console.log(e);
- this.setData({
- spreadPayChecked: e.detail
- });
- },
- cancelSelfPay() {
- let selfPayChecked = this.selfPayChecked;
- if (selfPayChecked == true) {
- uni.setStorageSync('selfPayChecked', true);
- }
- this.setData({
- selfPayShow: false
- });
- },
- cancelSpreadPay() {
- let spreadPayChecked = this.spreadPayChecked;
- if (spreadPayChecked == true) {
- uni.setStorageSync('spreadPayChecked', true);
- }
- this.setData({
- spreadPayShow: false
- });
- },
- goSelfPay() {
- let selfPayChecked = uni.getStorageSync('selfPayChecked');
- if (selfPayChecked != true) {
- this.setData({
- selfPayShow: true
- });
- } else {
- this.addFast();
- }
- },
- goSpread() {
- let spreadPayChecked = uni.getStorageSync('spreadPayChecked');
- console.log(spreadPayChecked);
- if (spreadPayChecked != true) {
- this.setData({
- spreadPayShow: true
- });
- } else {
- this.createPoster();
- }
- },
- posterCopy() {
- let that = this;
- uni.setClipboardData({
- data: that.myqr_ads,
- success: function(res) {
- uni.getClipboardData({
- success: function(res) {
- uni.showToast({
- title: '文案复制成功',
- icon: 'success',
- duration: 2000
- });
- // that.hidePoster();
- }
- });
- }
- });
- },
- hidePoster() {
- this.setData({
- myqr_show: false,
- myqr_blur: 100,
- myqr_bottom_btn: 'fixed'
- });
- },
- createPoster() {
- uni.showLoading({
- title: '生成中'
- });
- uni.pageScrollTo({
- scrollTop: 0
- });
- if (this.myqr_url != null) {
- uni.hideLoading();
- this.setData({
- myqr_show: true,
- myqr_blur: 25,
- myqr_bottom_btn: 'unset'
- });
- return;
- }
- util.request(
- api.QrGoodsCodeCreate, {
- goods_id: this.goods.id
- },
- 'POST'
- ).then((res) => {
- uni.hideLoading();
- if (res.errno == 0) {
- this.setData({
- myqr_url: res.data.imgUrl,
- myqr_ads: res.data.ads,
- myqr_show: true,
- myqr_blur: 25,
- myqr_bottom_btn: 'unset'
- });
- } else {
- util.showErrorToast('未设置分享图');
- }
- });
- },
- goSaveQrcode: function() {
- //保存二维码图片
- let that = this;
- console.info(that.myqr_url);
- uni.downloadFile({
- url: that.myqr_url,
- success: function(res) {
- if (res.statusCode === 200) {
- let img = res.tempFilePath;
- uni.saveImageToPhotosAlbum({
- filePath: img,
- success(res) {
- that.goCloseMyqr('个人专属二维码图片已保存到您的相册');
- },
- fail(res) {
- that.goCloseMyqr('网络或授权问题 图片保存失败 请重试');
- }
- });
- } else {
- that.goCloseMyqr('网络或授权问题 图片保存失败 请重试');
- }
- },
- fail(res) {
- that.goCloseMyqr('网络或授权问题 图片保存失败 请重试');
- }
- });
- },
- goCloseMyqr: function(msg) {
- //关闭分享图片的弹层
- this.hidePoster();
- if (msg) {
- uni.showToast({
- title: msg,
- icon: 'none',
- duration: 3000
- });
- }
- },
- reSelfPay() {
- let selfPayChecked = this.selfPayChecked;
- if (selfPayChecked == true) {
- uni.setStorageSync('selfPayChecked', true);
- }
- this.setData({
- selfPayShow: false
- });
- this.addFast();
- },
- reSpread() {
- this.setData({
- spreadPayShow: false
- });
- this.createPoster();
- },
- goMemberCenter() {
- if (!app.globalData.hasLogin) {
- uni.navigateTo({
- url: '/pages/auth/login/login'
- });
- return;
- } else {
- uni.navigateTo({
- url: '/pages/member/memberCenter/memberCenter'
- });
- }
- },
- bindGoodsNumInput(e) {
- console.log(e.detail.value);
- let max = this.productList[0].unitMaximum;
- let plusNum = parseInt(e.detail.value == '' ? 0 : e.detail.value);
- if (plusNum > max) {
- plusNum = max;
- }
- let addPurchaseAmount = this.checkedSku.unitPrice * plusNum;
- this.setData({
- plusNum: plusNum,
- addPurchaseAmount: addPurchaseAmount,
- totalPrice: Number(this.checkedSku.price + addPurchaseAmount - this.couponPrice).toFixed(2)
- });
- },
- minusNum() {
- if (this.plusNum == this.minNum) {
- return false;
- } else {
- let result = Number(this.plusNum) - 1;
- let addPurchaseAmount = this.checkedSku.unitPrice * result;
- console.log(this.checkedSku.price * this.plusNum);
- console.log(this.checkedSku.price * this.plusNum - this.couponPrice);
- // 补差类
- this.setData({
- plusNum: result,
- addPurchaseAmount: addPurchaseAmount,
- totalPrice: Number(this.checkedSku.price + addPurchaseAmount - this.couponPrice).toFixed(2)
- });
- // }
- }
- },
- addNum() {
- if (this.productList[0].unitMaximum && this.plusNum >= this.productList[0].unitMaximum) {
- return false;
- } else {
- let result = Number(this.plusNum) + 1;
- let addPurchaseAmount = this.checkedSku.unitPrice * result;
- console.log(this.checkedSku.price * this.plusNum);
- console.log(this.checkedSku.price * this.plusNum - this.couponPrice);
- // 补差类
- this.setData({
- plusNum: result,
- addPurchaseAmount: addPurchaseAmount,
- totalPrice: Number(this.checkedSku.price + addPurchaseAmount - this.couponPrice).toFixed(2)
- });
- // }
- }
- },
- goWholeEval() {
- uni.navigateTo({
- url: '/pages/goods/wholeEvaluation/wholeEvaluation?id=' + this.id
- });
- },
- onSkuClose() {
- this.setData({
- chooseSkuVisible: false
- });
- },
- showSkuPopup(type) {
- this.setData({
- showType: type,
- chooseSkuVisible: true,
- currentSku: this.checkedSku,
- activeSku: this.checkedSku.id
- });
- util.addLog(1, 10, 25)
- },
- selectSku(e) {
- let id = e.currentTarget.dataset.id;
- let index = e.currentTarget.dataset.index;
- this.setData({
- activeSku: id,
- currentSku: this.productList[index],
- // checkedSku: this.productList[index]
- });
- util.addLog(1, this.randomAandB ? 9 : 10, 11, {
- goodsId: this.goods.id,
- productId: this.checkedSku.id
- });
- console.log("selectSku", id);
- },
- confSku() {
- this.setData({
- checkedSku: this.currentSku,
- chooseSkuVisible: false
- });
- this.setData({
- finallyPrice: Number(this.checkedSku.price - this.couponPrice).toFixed(2)
- });
- this.setData({
- totalPrice: Number(this.checkedSku.price - this.couponPrice).toFixed(2)
- });
- util.addLog(1, this.randomAandB ? 9 : 10, 23, {
- goodsId: this.goods.id,
- productId: this.checkedSku.id
- });
- if (this.showType == 1) {
- this.fastOrder();
- }
- },
- stopClick() {}
- }
- };
- </script>
- <style>
- .sku-select {
- overflow: hidden;
- width: 100%;
- padding-left: 24rpx;
- margin-bottom: 10rpx;
- }
- .scroll-view_H {
- white-space: nowrap;
- /* 确保子元素在同一行内显示 */
- overflow-x: scroll;
- /* 允许横向滚动 */
- }
- .sku-select-item {
- width: 226rpx;
- height: 70rpx;
- background: #FFFFFF;
- border-radius: 16rpx;
- border: 2rpx solid #dddddd;
- display: inline-block;
- margin-right: 10rpx;
- padding: 6rpx 10rpx;
- }
- .sku-select-item-active {
- width: 226rpx;
- height: 70rpx;
- background: #FFFFFF;
- border-radius: 16rpx;
- border: 2rpx solid #FE2C58;
- display: inline-block;
- margin-right: 10rpx;
- padding: 6rpx 10rpx;
- }
- .sku-select-item .product-name {
- font-size: 18rpx;
- height: 26rpx;
- line-height: 26rpx;
- width: 198rpx;
- overflow: hidden;
- white-space: nowrap;
- /* 不允许文本换行 */
- text-overflow: ellipsis;
- }
- .sku-select-item .product-price .current-price {
- color: #FE2C58;
- width: 60rpx;
- display: inline-block;
- font-size: 22rpx;
- font-weight: bold;
- }
- .sku-select-item .product-price .original-price {
- font-size: 14rpx;
- text-decoration-line: line-through;
- color: #c1c1c1;
- }
- .myqr {
- position: absolute;
- z-index: 999;
- width: 100%;
- text-align: center;
- height: auto;
- margin-top: 50rpx;
- }
- .myqr .cancel {
- width: 60rpx;
- height: 60rpx;
- margin-top: 30rpx;
- margin-left: 480rpx;
- }
- .myqr .img {
- width: 480rpx;
- }
- .myqr .btn {
- width: 120rpx;
- height: 120rpx;
- line-height: 120rpx;
- margin-top: 20rpx;
- padding: 30rpx;
- background: #ffffff;
- border-radius: 60rpx;
- }
- page {
- background: #f3f3f3;
- }
- .container {
- /* padding-bottom: 40rpx; */
- position: relative;
- /* margin-bottom: 100rpx; */
- /* background-color: #fff; */
- }
- .user_column_item_image {
- width: 50rpx;
- height: 50rpx;
- margin-right: 26rpx;
- margin-top: 25rpx;
- }
- .flexb {
- width: 750rpx;
- height: 88rpx;
- line-height: 103rpx;
- padding-right: 31.25rpx;
- border-bottom: 1px solid #f4f4f4;
- font-size: 30rpx;
- color: #333;
- background: #fff;
- display: flex;
- flex-wrap: nowrap;
- }
- .flex {
- flex-grow: 1;
- text-align: center;
- }
- .show {
- width: 750rpx;
- height: 88rpx;
- background: #fff;
- border-bottom: 1px solid #f4f4f4;
- }
- .show .t {
- float: left;
- width: 600rpx;
- height: 88rpx;
- line-height: 88rpx;
- font-size: 29rpx;
- color: #333;
- margin-left: 31.25rpx;
- }
- .show .t .s {
- font-weight: 600;
- }
- .show .i {
- float: right;
- width: 52rpx;
- height: 52rpx;
- margin-right: 16rpx;
- margin-top: 28rpx;
- }
- .mark-img {
- width: 168rpx;
- height: 68rpx;
- right: 5rpx;
- position: absolute;
- top: 5rpx;
- }
- .goodsimgs {
- width: 750rpx;
- /* height: 492rpx; */
- height: 490rpx;
- }
- .goodsimgs image {
- width: 750rpx;
- /* height: 326rpx; */
- height: 490rpx;
- }
- swiper {
- bottom: 10rpx;
- }
- .commodity_screen {
- width: 100%;
- height: 100%;
- position: fixed;
- top: 0;
- left: 0;
- background: #000;
- opacity: 0.2;
- overflow: hidden;
- z-index: 1000;
- color: #fff;
- }
- .commodity_attr_box {
- width: 100%;
- overflow: hidden;
- position: fixed;
- bottom: 0;
- left: 0;
- z-index: 2000;
- background: #fff;
- padding-top: 20rpx;
- }
- /* 活动样式 */
- .activity {
- width: 750rpx;
- height: 145rpx;
- background: linear-gradient(67deg, #4f43dd, #689cf2, #ba64e2);
- display: flex;
- flex-direction: column;
- padding: 20rpx 30rpx;
- }
- .activity .img {
- background-image: url('https://7a68-zhaijieshi-3guecm78383ca692-1307626841.tcb.qcloud.la/activity/activity.png');
- width: 139rpx;
- height: 32rpx;
- background-size: 100% 100%;
- color: #5244dd;
- font-size: 23rpx;
- text-align: center;
- }
- .activityDay {
- line-height: 42rpx;
- margin-right: 30rpx;
- display: flex;
- height: 42rpx;
- }
- .activityDay image {
- width: 42rpx;
- height: 42rpx;
- margin-right: 10rpx;
- }
- .activityDay text {
- font-size: 24rpx;
- color: #f4f4f4;
- }
- .activityPrice {
- color: #ffffff;
- }
- .activityPrice text {
- font-size: 49rpx;
- font-weight: bold;
- }
- .activityCounterPrice {
- color: #c7c7c7;
- text-decoration: line-through;
- font-size: 24rpx;
- margin-top: 20rpx;
- margin-left: 10rpx;
- }
- .activityTime {
- display: flex;
- flex-direction: row;
- margin-right: 50rpx;
- }
- .activityTime text {
- color: #ffffff;
- line-height: 45rpx;
- }
- .activityTime view {
- width: 45rpx;
- height: 45rpx;
- background: #ffffff;
- border-radius: 5rpx;
- margin: 5rpx;
- line-height: 45rpx;
- text-align: center;
- font-size: 25rpx;
- font-weight: bold;
- color: #b563e1;
- }
- .activityTime .mark {}
- .goods-info {
- width: 750rpx;
- /*height: 306rpx;*/
- overflow: hidden;
- background: #fff;
- border-bottom: 1px solid #f4f4f4;
- }
- .goods-info .c {
- display: block;
- width: 718.75rpx;
- height: 182rpx;
- margin-left: 31.25rpx;
- padding: 3rpx 31.25rpx 20rpx 0;
- }
- .goods-info .c text {
- /* display: block;
- width: 687.5rpx;
- text-align: left; */
- }
- .goods_name {
- white-space: nowrap;
- text-overflow: ellipsis;
- overflow: hidden;
- margin-top: 10rpx;
- display: flex;
- align-items: center;
- }
- .goods_name_left {
- font-weight: 550;
- margin-left: 0rpx;
- font-size: 36rpx;
- letter-spacing: 1rpx;
- color: #2a2a2a;
- font-weight: bold;
- width: 688rpx;
- white-space: pre-wrap;
- }
- .goods_name_right {
- font-weight: 550;
- /* top: 375px; */
- width: 80rpx;
- height: 80rpx;
- line-height: 82rpx;
- /* padding: 0;
- margin: 0;
- right: 10rpx; */
- margin-right: 0rpx;
- text-align: center;
- font-size: 25rpx;
- background-color: #09afff;
- border-radius: 40rpx;
- letter-spacing: 3rpx;
- /* position: absolute; */
- }
- .goods_name_right .img {
- width: 50rpx;
- height: 50rpx;
- margin-top: 15rpx;
- }
- .goods_name_right .txt {
- margin-top: 5rpx;
- font-size: 18rpx;
- color: #000000;
- border: 1rpx solid;
- }
- .goods-info .desc {
- margin: 12rpx 0;
- font-size: 24rpx;
- line-height: 36rpx;
- width: 640rpx;
- white-space: nowrap;
- text-overflow: ellipsis;
- overflow: hidden;
- display: block;
- }
- .goods-info .price {
- height: 60rpx;
- display: flex;
- /* margin-top: 20rpx; */
- align-items: flex-end;
- }
- .goods-info .counterPrice {
- padding-left: 5rpx;
- text-decoration: line-through;
- font-size: 24rpx;
- margin-top: 15rpx;
- margin-left: 10rpx;
- color: #85868a;
- }
- .goods-info .retailPrice {
- height: 49rpx;
- line-height: 44rpx;
- /* color: #5DB5E7; */
- color: #ff2958;
- }
- .goods-info .memberPrice {
- font-size: 26rpx;
- color: #dd483e;
- margin: 0 10rpx 0 20rpx;
- }
- .member-price-tag {
- width: 88rpx;
- height: 26rpx;
- line-height: 26rpx;
- background: url('https://mall.zhaijieshi.cc/file/jzmall/weixin/member/member-price-bg.png') no-repeat center center;
- background-size: 100% 100%;
- color: #5e3a11;
- font-size: 16rpx;
- padding: 0 8rpx 0 0;
- text-align: right;
- margin: 0 0 6rpx 0;
- }
- .member-price-tag.spread-tag {
- margin-left: 20rpx;
- background-image: url('https://mall.zhaijieshi.cc/file/jzmall/weixin/member/spread-price-bg.png');
- width: 122rpx;
- }
- .goods-info .retailPrice text.checked-price {
- font-size: 48rpx;
- font-weight: bold;
- margin-left: 3rpx;
- color: #ff2958;
- }
- .goods-info .brand {
- margin-top: 5rpx;
- min-height: 34rpx;
- text-align: left;
- }
- .goods-info .brand text {
- display: inline-block;
- width: auto;
- padding: 2px 0rpx 2px 0.5rpx;
- line-height: 32.5rpx;
- /*border: 1px solid #f48f18;color: #f48f18;*/
- font-size: 22rpx;
- color: #a98f76;
- /*border-radius: 4rpx;*/
- background-size: 10.75rpx 18.75rpx;
- }
- .section-nav {
- width: 750rpx;
- height: 108rpx;
- background: #fff;
- margin-bottom: 20rpx;
- }
- .section-nav .t {
- float: left;
- width: 600rpx;
- height: 108rpx;
- line-height: 108rpx;
- font-size: 29rpx;
- color: #333;
- margin-left: 31.25rpx;
- }
- .section-nav .i {
- float: right;
- width: 52rpx;
- height: 52rpx;
- margin-right: 16rpx;
- margin-top: 28rpx;
- }
- .section-act .t {
- float: left;
- display: flex;
- align-items: center;
- width: 600rpx;
- height: 108rpx;
- overflow: hidden;
- line-height: 108rpx;
- font-size: 29rpx;
- color: #999;
- margin-left: 31.25rpx;
- }
- .section-act .label {
- color: #999;
- }
- .section-act .tag {
- display: flex;
- align-items: center;
- padding: 0 10rpx;
- border-radius: 3px;
- height: 37rpx;
- width: auto;
- color: #f48f18;
- overflow: hidden;
- border: 1px solid #f48f18;
- font-size: 25rpx;
- margin: 0 10rpx;
- }
- .section-act .text {
- display: flex;
- align-items: center;
- height: 37rpx;
- width: auto;
- overflow: hidden;
- color: #f48f18;
- font-size: 29rpx;
- }
- .comments {
- width: 100%;
- height: auto;
- padding-left: 30rpx;
- background: #fff;
- margin: 20rpx 0;
- }
- .comments .h {
- height: 102.5rpx;
- line-height: 100.5rpx;
- width: 718.75rpx;
- padding-right: 16rpx;
- }
- .comments .h .t {
- display: block;
- float: left;
- width: 50%;
- font-size: 30rpx;
- color: #333;
- }
- .comments .h .i {
- display: block;
- float: right;
- width: 164rpx;
- height: 100.5rpx;
- line-height: 100.5rpx;
- background-size: 52rpx;
- }
- .comments .b {
- height: auto;
- width: 720rpx;
- }
- .comments .item {
- height: auto;
- width: 720rpx;
- overflow: hidden;
- border-top: 1px solid #d9d9d9;
- }
- .comments .info {
- height: 127rpx;
- width: 100%;
- padding: 33rpx 0 27rpx 0;
- }
- .comments .user {
- float: left;
- width: auto;
- height: 67rpx;
- line-height: 67rpx;
- font-size: 0;
- }
- .comments .user image {
- float: left;
- width: 67rpx;
- height: 67rpx;
- margin-right: 17rpx;
- border-radius: 50%;
- }
- .comments .user text {
- display: inline-block;
- width: auto;
- height: 66rpx;
- overflow: hidden;
- font-size: 29rpx;
- line-height: 66rpx;
- }
- .comments .time {
- display: block;
- float: right;
- width: auto;
- height: 67rpx;
- line-height: 67rpx;
- color: #7f7f7f;
- font-size: 25rpx;
- margin-right: 30rpx;
- }
- .comments .content {
- width: 720rpx;
- padding-right: 30rpx;
- line-height: 45.8rpx;
- font-size: 29rpx;
- margin-bottom: 24rpx;
- }
- .comments .imgs {
- width: 720rpx;
- height: auto;
- margin-bottom: 25rpx;
- }
- .comments .imgs .img {
- height: 150rpx;
- width: 150rpx;
- margin-right: 28rpx;
- }
- .comments .spec {
- width: 720rpx;
- padding-right: 30rpx;
- line-height: 30rpx;
- font-size: 24rpx;
- color: #999;
- margin-bottom: 30rpx;
- }
- .comments .customer-service {
- width: 690rpx;
- height: auto;
- overflow: hidden;
- margin-top: 23rpx;
- margin-bottom: 23rpx;
- background: rgba(0, 0, 0, 0.03);
- padding: 21rpx;
- }
- .comments .customer-service .u {
- font-size: 24rpx;
- color: #333;
- line-height: 37.5rpx;
- }
- .comments .customer-service .c {
- font-size: 24rpx;
- color: #999;
- line-height: 37.5rpx;
- }
- .goods-attr {
- width: 750rpx;
- height: auto;
- overflow: hidden;
- padding: 0 31.25rpx 25rpx 31.25rpx;
- background: #fff;
- }
- .goods-attr .t {
- width: 687.5rpx;
- height: 104rpx;
- line-height: 104rpx;
- font-size: 38.5rpx;
- }
- .goods-attr .item {
- width: 687.5rpx;
- height: 68rpx;
- padding: 11rpx 20rpx;
- margin-bottom: 11rpx;
- background: #f7f7f7;
- font-size: 38.5rpx;
- }
- .goods-attr .left {
- float: left;
- font-size: 25rpx;
- width: 134rpx;
- height: 45rpx;
- line-height: 45rpx;
- overflow: hidden;
- color: #999;
- }
- .goods-attr .right {
- float: left;
- font-size: 36.5rpx;
- margin-left: 20rpx;
- width: 480rpx;
- height: 45rpx;
- line-height: 45rpx;
- overflow: hidden;
- color: #333;
- }
- .detail {
- width: 750rpx;
- height: auto;
- overflow: hidden;
- position: relative;
- top: -12rpx;
- /* padding-bottom: 160rpx; */
- }
- .detail image {
- width: 750rpx;
- /* display: block; */
- }
- .common-problem {
- width: 750rpx;
- height: auto;
- overflow: hidden;
- }
- .common-problem .h {
- position: relative;
- height: 145.5rpx;
- width: 750rpx;
- padding: 56.25rpx 0;
- background: #fff;
- text-align: center;
- }
- .common-problem .h .line {
- display: inline-block;
- position: absolute;
- top: 72rpx;
- left: 0;
- z-index: 2;
- height: 1px;
- margin-left: 225rpx;
- width: 300rpx;
- background: #ccc;
- }
- .common-problem .h .title {
- display: inline-block;
- position: absolute;
- top: 56.125rpx;
- left: 0;
- z-index: 3;
- height: 33rpx;
- margin-left: 285rpx;
- width: 180rpx;
- background: #fff;
- }
- .common-problem .b {
- width: 750rpx;
- height: auto;
- overflow: hidden;
- padding: 0rpx 30rpx;
- background: #fff;
- }
- .common-problem .item {
- height: auto;
- overflow: hidden;
- padding-bottom: 25rpx;
- }
- .common-problem .question-box .spot {
- float: left;
- display: block;
- height: 8rpx;
- width: 8rpx;
- background: #b4282d;
- border-radius: 50%;
- margin-top: 11rpx;
- }
- .common-problem .question-box .question {
- float: left;
- line-height: 30rpx;
- padding-left: 8rpx;
- display: block;
- font-size: 26rpx;
- padding-bottom: 15rpx;
- color: #303030;
- }
- .common-problem .answer {
- line-height: 36rpx;
- padding-left: 16rpx;
- font-size: 26rpx;
- color: #787878;
- }
- .related-goods {
- width: 750rpx;
- height: auto;
- overflow: hidden;
- padding-bottom: 80rpx;
- }
- .related-goods .h {
- position: relative;
- height: 145.5rpx;
- width: 750rpx;
- padding: 56.25rpx 0;
- background: #fff;
- text-align: center;
- border-bottom: 1px solid #f4f4f4;
- }
- .related-goods .h .line {
- display: inline-block;
- position: absolute;
- top: 72rpx;
- left: 0;
- z-index: 2;
- height: 1px;
- margin-left: 225rpx;
- width: 300rpx;
- background: #ccc;
- }
- .related-goods .h .title {
- display: inline-block;
- position: absolute;
- top: 56.125rpx;
- left: 0;
- z-index: 3;
- height: 33rpx;
- margin-left: 285rpx;
- width: 180rpx;
- background: #fff;
- }
- .related-goods .b {
- width: 750rpx;
- height: auto;
- overflow: hidden;
- }
- .related-goods .b .item {
- float: left;
- background: #fff;
- width: 375rpx;
- height: auto;
- overflow: hidden;
- text-align: center;
- padding: 15rpx 31.25rpx;
- border-right: 1px solid #f4f4f4;
- border-bottom: 1px solid #f4f4f4;
- }
- .related-goods .item .img {
- width: 311.45rpx;
- height: 311.45rpx;
- }
- .related-goods .item .name {
- display: block;
- width: 311.45rpx;
- height: 35rpx;
- margin: 11.5rpx 0 15rpx 0;
- text-align: center;
- overflow: hidden;
- font-size: 30rpx;
- color: #333;
- }
- .related-goods .item .price {
- display: block;
- width: 311.45rpx;
- height: 30rpx;
- text-align: center;
- font-size: 30rpx;
- color: #b4282d;
- }
- .bottom-btn .l {
- /* flex: 2;
- float: left;
- height: 150rpx;
- width: 162rpx; */
- /* display: flex; */
- }
- .bottom-btn .l.l-collect {
- border-right: none;
- border-left: none;
- text-align: center;
- padding-left: 30rpx;
- /* width: 100rpx; */
- }
- .bottom-btn .l.l-collect .icon {
- font-size: 40rpx;
- }
- .bottom-btn .l.l-collect text {
- /* position: absolute;
- top: 80rpx;
- left: 30rpx;
- font-size: 22rpx; */
- }
- .bottom-btn .l.l-kefu {
- border-right: none;
- border-left: none;
- text-align: center;
- /* width:60rpx; */
- /* position: relative; */
- }
- .contact-block {
- position: relative;
- }
- .bottom-btn .l.l-kefu .icon {
- position: absolute;
- font-size: 44rpx;
- top: 20rpx;
- }
- .bottom-btn .l.l-kefu text {
- /* position: absolute;
- top: 60rpx;
- font-size: 22rpx; */
- }
- .bottom-btn .l.l-cart .box {
- position: relative;
- height: 80rpx;
- width: 70rpx;
- }
- .bottom-btn .l.l-cart .box .txt {
- position: absolute;
- top: 50rpx;
- font-size: 22rpx;
- }
- .bottom-btn .l.l-cart .cart-count {
- height: 28rpx;
- width: 28rpx;
- z-index: 10;
- position: absolute;
- top: 0;
- right: 0;
- background: #b4282d;
- text-align: center;
- font-size: 18rpx;
- color: #fff;
- line-height: 28rpx;
- border-radius: 50%;
- }
- .bottom-btn .l.l-cart .icon {
- position: absolute;
- top: 10rpx;
- left: 0;
- font-size: 44rpx;
- }
- .collect-wrapper,
- .service-wrapper {
- display: flex;
- flex-direction: column;
- justify-content: center;
- flex: 1;
- }
- .collect-text {
- margin: 10rpx 0 0;
- }
- .bottom-btn {
- position: fixed;
- left: 0rpx;
- bottom: 0;
- width: 750rpx;
- min-height: 110rpx;
- background: #fff;
- /* padding: 12rpx 24rpx 18rpx; */
- z-index: 999;
- /* display: flex; */
- /* align-items: center; */
- padding-bottom: constant(safe-area-inset-bottom);
- padding-bottom: env(safe-area-inset-bottom);
- box-shadow: 4rpx -8rpx 16rpx 2rpx rgba(201, 205, 207, 0.25);
- /* box-sizing: content-box; */
- }
- .bottom-btn .bottom-content .contact-block {
- height: 80rpx;
- width: 130rpx;
- position: relative;
- overflow: hidden;
- margin-right: 10rpx;
- }
- .contact-btn {
- height: 80rpx;
- width: 130rpx;
- position: absolute;
- top: 0;
- bottom: 0;
- left: 0;
- z-index: 99;
- opacity: 0;
- }
- .contact-wrapper {
- width: 130rpx;
- height: 80rpx;
- border: 2rpx solid #b3b4b6;
- border-radius: 14rpx;
- /* width: 120rpx; */
- display: flex;
- align-items: center;
- justify-content: center;
- position: absolute;
- top: 0;
- left: 0;
- bottom: 0;
- overflow: hidden;
- padding: 4rpx 0;
- }
- .contact-img {
- width: 24rpx;
- height: 24rpx;
- margin-right: 8rpx;
- /* margin-bottom: 10rpx; */
- }
- .contact-wrapper .text {
- font-size: 28rpx;
- font-weight: bold;
- color: #000;
- height: 40rpx;
- line-height: 40rpx;
- }
- .bottom-btn .share {
- width: 280rpx;
- background: #fff;
- height: 82rpx;
- font-size: 30rpx;
- font-weight: bold;
- color: #09afff;
- text-align: center;
- line-height: 82rpx;
- border: 2rpx solid #09afff;
- border-radius: 82rpx 0rpx 0 82rpx;
- }
- .bottom-btn .c {
- /* width: 570rpx; */
- flex: 1;
- text-align: center;
- height: 80rpx;
- line-height: 80rpx;
- background: #fe2b54;
- border-radius: 15rpx;
- color: #ffffff;
- font-size: 32rpx;
- font-family: PingFangSC, PingFang SC;
- font-weight: 600;
- }
- .dis-order-wrapper {
- width: 452rpx;
- background: #09afff;
- height: 82rpx;
- font-size: 22rpx;
- color: #fff;
- border-radius: 82rpx;
- text-align: center;
- margin-right: 30rpx;
- display: flex;
- align-items: center;
- overflow: hidden;
- }
- .dis-order-wrapper>view {
- flex: 1;
- text-align: center;
- height: 82rpx;
- }
- .spread-order {
- background: #fff;
- border-radius: 0 82rpx 82rpx 0;
- border: 1rpx solid #09afff;
- border-left: none;
- line-height: 24rpx;
- }
- .buy-type {
- font-size: 30rpx;
- font-weight: bold;
- line-height: 30rpx;
- margin: 10rpx 0 4rpx 0;
- overflow: hidden;
- }
- .bottom-btn .r {
- /*border: 1px solid #f48f18;*/
- background: #09afff;
- float: left;
- height: 100rpx;
- /* line-height: 66rpx; */
- flex: 2;
- text-align: center;
- color: #fff;
- margin-left: 15rpx;
- margin-top: 15rpx;
- margin-bottom: 15rpx;
- border-top-left-radius: 50rpx;
- border-bottom-left-radius: 50rpx;
- }
- .bottom-btn .r .title {
- font-size: 46rpx;
- height: 56rpx;
- color: #fff;
- }
- .bottom-btn .r .subtitle {
- font-size: 28rpx;
- color: #fff;
- font-weight: 100;
- }
- /* */
- .attr-pop-box {
- width: 100%;
- height: 100%;
- position: fixed;
- background: rgba(0, 0, 0, 0.5);
- z-index: 8;
- bottom: 0;
- /* display: none; */
- }
- .attr-pop {
- width: 100%;
- height: auto;
- max-height: 780rpx;
- padding: 31.25rpx;
- background: #fff;
- position: fixed;
- z-index: 9;
- bottom: 100rpx;
- }
- .attr-pop .close {
- position: absolute;
- width: 48rpx;
- height: 48rpx;
- right: 31.25rpx;
- overflow: hidden;
- top: 31.25rpx;
- }
- .attr-pop .close .icon {
- width: 48rpx;
- height: 48rpx;
- }
- .attr-pop .img-info {
- width: 687.5rpx;
- height: 177rpx;
- overflow: hidden;
- margin-bottom: 41.5rpx;
- }
- .attr-pop .img {
- float: left;
- height: 177rpx;
- width: 177rpx;
- background: #f4f4f4;
- margin-right: 31.25rpx;
- }
- .attr-pop .info {
- float: left;
- height: 177rpx;
- display: flex;
- align-items: center;
- }
- .attr-pop .p {
- font-size: 33rpx;
- color: #333;
- height: 33rpx;
- line-height: 33rpx;
- margin-bottom: 10rpx;
- }
- .attr-pop .a {
- font-size: 29rpx;
- color: #333;
- height: 40rpx;
- line-height: 40rpx;
- }
- .spec-con {
- width: 100%;
- height: auto;
- overflow: hidden;
- }
- .spec-con .name {
- margin-bottom: 6rpx;
- font-size: 29rpx;
- color: #333;
- }
- .spec-con .values {
- height: auto;
- margin-bottom: 10rpx;
- font-size: 0;
- }
- .spec-con .value {
- display: inline-block;
- height: 62rpx;
- padding: 0 35rpx;
- line-height: 56rpx;
- text-align: center;
- margin-right: 25rpx;
- margin-bottom: 16.5rpx;
- border: 1px solid #333;
- font-size: 25rpx;
- color: #333;
- }
- .spec-con .value.disable {
- border: 1px solid #ccc;
- color: #ccc;
- }
- .spec-con .value.selected {
- border: 1px solid #b4282d;
- color: #b4282d;
- }
- .number-item .selnum {
- width: 200rpx;
- /* width: 322rpx; */
- height: 71rpx;
- border: 1px solid #ccc;
- display: flex;
- }
- .number-item .cut {
- width: 93.75rpx;
- height: 100%;
- text-align: center;
- line-height: 65rpx;
- }
- .number-item .number {
- flex: 1;
- height: 100%;
- text-align: center;
- line-height: 68.75rpx;
- border-left: 1px solid #ccc;
- border-right: 1px solid #ccc;
- float: left;
- }
- .number-item .add {
- width: 93.75rpx;
- height: 100%;
- text-align: center;
- line-height: 65rpx;
- }
- .contact {
- height: 100rpx;
- width: 100rpx;
- border-radius: 100%;
- position: fixed;
- bottom: 96rpx;
- right: 10rpx;
- font-size: 20rpx;
- box-sizing: border-box;
- /* background: url('../../static/images/customer.png') no-repeat center 21rpx; */
- background-size: 55rpx auto;
- }
- .share-pop-box {
- width: 100%;
- height: 100%;
- position: fixed;
- background: rgba(0, 0, 0, 0.5);
- z-index: 8;
- bottom: 0;
- /* display: none; */
- }
- .share-pop {
- width: 100%;
- height: auto;
- max-height: 780rpx;
- padding: 31.25rpx;
- background: #fff;
- position: fixed;
- z-index: 9;
- bottom: 100rpx;
- }
- .share-pop .close {
- position: absolute;
- width: 48rpx;
- height: 48rpx;
- right: 31.25rpx;
- top: 31.25rpx;
- }
- .share-pop .close .icon {
- width: 48rpx;
- height: 48rpx;
- }
- .share-pop .share-info {
- width: 100%;
- height: 225rpx;
- overflow: hidden;
- margin-bottom: 41.5rpx;
- }
- .sharebtn {
- top: 75rpx;
- background: none !important;
- font-size: 32rpx;
- color: #fff !important;
- border-radius: 0%;
- width: 175rpx;
- height: 150rpx;
- text-align: center;
- display: flex;
- justify-content: center;
- align-items: center;
- flex-wrap: wrap;
- float: left;
- background: #fff;
- border-bottom: 0px solid #fafafa;
- margin-left: 15%;
- }
- .sharebtn::after {
- border: none;
- border-radius: 0%;
- }
- .savesharebtn {
- top: 75rpx;
- background: none !important;
- font-size: 32rpx;
- color: #fff !important;
- border-radius: 0%;
- width: 175rpx;
- height: 150rpx;
- text-align: center;
- display: flex;
- justify-content: center;
- align-items: center;
- flex-wrap: wrap;
- float: right;
- background: #fff;
- border-bottom: 0px solid #fafafa;
- margin-right: 15%;
- }
- .savesharebtn::after {
- border: none;
- border-radius: 0%;
- }
- .sharebtn_image {
- /* border: 1px solid #757575; */
- width: 128rpx;
- height: 128rpx;
- margin-top: 0rpx;
- }
- .sharebtn_text {
- /* border: 1px solid #757575; */
- width: 150rpx;
- margin-bottom: 2rpx;
- height: 20rpx;
- line-height: 20rpx;
- font-size: 20rpx;
- color: #555;
- }
- .separate {
- background: #e0e3da;
- width: 100%;
- height: 6rpx;
- }
- /* 新客角标 */
- .isNew {
- position: absolute;
- width: 80rpx;
- height: 120rpx;
- right: 30rpx;
- z-index: 999;
- }
- /* 自购/推广弹框 */
- .overlay-wrapper {
- display: flex;
- align-items: center;
- justify-content: center;
- height: 100%;
- }
- .tips-wrapper {
- width: 588rpx;
- height: 462rpx;
- border-radius: 10rpx;
- background: #fff;
- font-size: 26rpx;
- display: flex;
- flex-direction: column;
- justify-content: space-between;
- }
- .tips-top {
- display: flex;
- flex-direction: column;
- align-items: center;
- padding: 0 40rpx;
- }
- .tips-title {
- font-size: 34rpx;
- font-weight: bold;
- margin: 66rpx 0 24rpx;
- }
- .tips-bottom {
- height: 132rpx;
- border-top: 2rpx solid #e4e4e4;
- display: flex;
- justify-content: space-around;
- align-items: center;
- }
- .tips-bottom .btn-devide {
- width: 2rpx;
- height: 130rpx;
- background: #e4e4e4;
- }
- .cancel-btn {
- width: 202rpx;
- height: 72rpx;
- line-height: 72rpx;
- border: 2rpx solid #85868a;
- color: #282728;
- border-radius: 72rpx;
- text-align: center;
- overflow: hidden;
- }
- .repay-btn {
- width: 202rpx;
- height: 72rpx;
- line-height: 72rpx;
- background: #09afff;
- color: #fff;
- border-radius: 72rpx;
- text-align: center;
- }
- .notip-again {
- padding-left: 40rpx;
- display: flex;
- align-items: center;
- }
- .user-agree {
- /* color:#85868A; */
- font-size: 26rpx;
- margin-left: 8rpx;
- }
- /* 海报的样式 */
- .poster {
- position: absolute;
- top: 20rpx;
- z-index: 99;
- text-align: center;
- left: 0;
- bottom: 0;
- right: 0;
- }
- .title {
- color: #fff;
- margin: 20rpx 0;
- font-size: 30rpx;
- display: flex;
- justify-content: center;
- text-align: left;
- }
- .title text {
- width: 480rpx;
- }
- .ads {
- color: #fff;
- text-align: left;
- margin: 20rpx auto;
- display: flex;
- justify-content: center;
- }
- .tool {
- display: flex;
- text-align: center;
- justify-content: baseline;
- width: 100%;
- margin-top: 20rpx;
- }
- .tool view {
- flex: 1;
- }
- .img {
- width: 107rpx;
- height: 128rpx;
- }
- .closeImg {
- width: 57rpx;
- height: 57rpx;
- }
- .share-btn {
- background-color: transparent;
- flex: 1;
- }
- .share-btn::after {
- border: none;
- }
- /* 商品价格 销量 */
- .goods-info-new {
- margin-top: -8rpx;
- border-top-left-radius: 10px;
- /* 左上角圆角半径 */
- border-top-right-radius: 10px;
- /* 右上角圆角半径 */
- background: #FBFBFC;
- width: 750rpx;
- /* height:138rpx; */
- padding: 10rpx 0rpx 0rpx;
- position: relative;
- z-index: 99;
- box-sizing: border-box;
- }
- .price-line {
- /* height: 50rpx; */
- display: flex;
- align-items: flex-end;
- padding-right: 30rpx;
- border-radius: 40rpx 40rpx 0rpx 0rpx;
- position: relative;
- top: -20rpx;
- background-color: #f5f5f5;
- padding-top: 14rpx;
- }
- .price-line .real-price {
- color: #fe2b54;
- font-size: 42rpx;
- margin-left: 24rpx;
- padding-top: 20rpx;
- font-family: AlibabaPuHuiTi_2_105_Heavy;
- }
- .price-line .real-price .bold-price-j {
- font-weight: bold;
- font-size: 18px;
- margin: 0 4px;
- font-family: AlibabaPuHuiTi_2_105_Heavy;
- }
- .price-line .real-price text.bold-price {
- font-size: 54rpx;
- font-weight: bold;
- height: 54rpx;
- line-height: 54rpx;
- font-family: AlibabaPuHuiTi_2_105_Heavy;
- }
- .price-line .sale-price {
- color: #A5A5A5;
- font-size: 36rpx;
- flex: 1;
- margin-left: 8rpx;
- text-decoration: line-through;
- }
- .price-line .sale-num {
- color: #acadb1;
- font-size: 24rpx;
- }
- .goods-coupon {
- display: flex;
- flex-wrap: wrap;
- margin-top: 20rpx;
- }
- .goods-coupon .goupon-tag {
- height: 30rpx;
- line-height: 30rpx;
- background: rgba(254, 43, 84, 0.1);
- /* opacity: 0.9; */
- border-radius: 5px;
- padding: 0 10rpx;
- margin-right: 10rpx;
- color: #fe2b54;
- font-size: 20rpx;
- }
- /* 服务 须知 门店 */
- .other-info {
- padding: 30rpx 24rpx 16rpx;
- background: #fff;
- border-radius: 24rpx;
- width: 702rpx;
- margin: 0rpx 24rpx 0rpx;
- }
- .other-info .name {
- color: #000000;
- font-size: 34rpx;
- line-height: 34rpx;
- font-weight: bold;
- padding-bottom: 12rpx;
- }
- .other-info .common-info {
- line-height: 36rpx;
- display: flex;
- /* min-height: 52rpx; */
- /* align-items: center; */
- margin-top: 14rpx;
- }
- .common-info .info-title {
- font-size: 24rpx;
- color: #666;
- margin-right: 26rpx;
- font-family: AlibabaPuHuiTi_2_65_Medium;
- }
- .common-info .info-content {
- font-size: 24rpx;
- color: #000;
- flex: 1;
- }
- .common-info image {
- width: 10rpx;
- height: 20rpx;
- }
- .info-showtip .img {
- width: 300px;
- margin-left: 37px;
- margin-top: 5px;
- height: 40px;
- }
- .info-showtip .img .xianmai {
- background-color: #FFF4ED;
- width: 100rpx;
- height: 42rpx;
- color: #FF7527;
- font-size: 24rpx;
- line-height: 42rpx;
- text-align: center;
- display: inline-block;
- margin-right: 5px;
- }
- .info-showtip .img .content {
- color: #A5A5A5;
- font-size: 24rpx;
- }
- .info-showtip .appoint-steps {
- width: 576rpx;
- height: 80rpx;
- margin-left: 37px;
- background-image: url('https://mall.zhaijieshi.cc/file/wx-dy/tb.png');
- background-repeat: no-repeat;
- background-size: contain;
- }
- .price-show {
- width: 100%;
- height: 166rpx;
- background-image: url('https://mall.zhaijieshi.cc/file/wx-dy/dyzsj.png');
- background-repeat: no-repeat;
- background-size: cover;
- padding: 20rpx 24rpx 10rpx;
- }
- .price-show .sale-num {
- color: #FFFFFF;
- font-size: 28rpx;
- }
- .price-show .sale-price {
- display: flex;
- /* margin-top: 16rpx; */
- }
- .price-show .sale-price .price .one {
- font-weight: bold;
- font-size: 18px;
- color: #fff;
- }
- .price-show .sale-price .price .two {
- font-size: 56rpx;
- font-weight: bold;
- color: #fff;
- }
- .price-show .sale-price .price .three {
- background-color: #fff;
- text-align: center;
- color: #FF2D5A;
- width: 74rpx;
- height: 36rpx;
- line-height: 36rpx;
- font-size: 24rpx;
- display: inline-block;
- border-radius: 20rpx;
- margin: 0 20rpx;
- position: relative;
- top: -3px;
- }
- .price-show .sale-price .price .four {
- color: #fff;
- font-size: 32rpx;
- text-decoration-line: line-through;
- }
- .new-customer-price {
- width: 90rpx;
- height: 34rpx;
- line-height: 34rpx;
- background-color: #FFECEA;
- color: #fe2c55;
- text-align: center;
- font-weight: bold;
- display: inline-block;
- margin-left: 20rpx;
- border-radius: 12rpx;
- font-size: 20rpx;
- position: relative;
- top: -3px;
- }
- /* 加购数量 */
- .num-module {
- width: 702rpx;
- /* height: 174rpx; */
- background: #ffffff;
- border-radius: 24rpx;
- margin: 14rpx 24rpx 28rpx;
- padding: 32rpx 24rpx;
- }
- .plus-buy {
- height: 30rpx;
- margin: 0 0 28rpx;
- display: flex;
- align-items: center;
- }
- .num-module .title {
- color: #666;
- font-size: 30rpx;
- /* margin-right:20rpx; */
- width: 80rpx;
- }
- .plus-buy .plus-name {
- font-size: 30rpx;
- color: #010101;
- }
- .plus-buy .plus-name text {
- color: #fe2b54;
- font-weight: bold;
- }
- .plus-num {
- display: flex;
- justify-content: space-between;
- height: 72rpx;
- align-items: center;
- }
- .calc-counter {
- height: 72rpx;
- border-radius: 72rpx;
- display: flex;
- align-items: center;
- border: 2rpx solid #d2d2d2;
- box-sizing: border-box;
- overflow: hidden;
- line-height: 72rpx;
- }
- .calc-counter .minus-btn.disable,
- .calc-counter .plus-btn.disable {
- color: #d2d2d2;
- }
- .calc-counter .plus-btn,
- .calc-counter .minus-btn {
- width: 82rpx;
- text-align: center;
- color: #666;
- line-height: 72rpx;
- font-weight: bold;
- padding-bottom: 4rpx;
- font-size: 36rpx;
- }
- .calc-counter .num-input {
- color: #010101;
- font-size: 30rpx;
- border-left: 2rpx solid #d2d2d2;
- border-right: 2rpx solid #d2d2d2;
- width: 72rpx;
- text-align: center;
- height: 72rpx;
- }
- /* 选择规格 */
- .sku-wrapper {
- margin: 32rpx auto 0;
- /* padding-bottom: 30rpx; */
- /* overflow: hidden; */
- position: relative;
- width: 698rpx;
- height: 124rpx;
- background: #FFFCF7;
- border-radius: 24rpx;
- /* padding-top: 20rpx; */
- display: flex;
- align-items: center;
- }
- .current-select {
- width: 132rpx;
- height: 34rpx;
- position: absolute;
- top: -8rpx;
- }
- .current-select image {
- width: 100%;
- height: 100%;
- }
- .sku-info {
- position: relative;
- display: flex;
- width: 100%;
- }
- .sku-left {
- width: 580rpx;
- overflow: hidden;
- /* background-color: beige; */
- line-height: 90rpx;
- padding-left: 24rpx;
- /* display: flex; */
- align-items: center;
- /* height: 90rpx; */
- }
- .sku-left view.current-sku {
- /* color: #E9A567; */
- margin-left: 18rpx;
- font-family: AlibabaPuHuiTi_2_75_SemiBold;
- font-size: 30rpx;
- white-space: nowrap;
- background-image: linear-gradient(to right, #E9A567 20ch, #FFFCF7 );
- -webkit-background-clip: text;
- background-clip: text;
- /* 标准属性,背景剪裁文本 */
- color: transparent;
- }
- /* 如果需要兼容非WebKit浏览器,可以使用以下备选样式 */
- .no-gradient-fallback .sku-left view.current-sku {
- color: #E9A567; /* 备选文本颜色 */
- }
- .sku-right {
- position: absolute;
- right: 0;
- top: 0;
- bottom: 0;
- /* height: 90rpx; */
- display: flex;
- align-items: center;
- padding-right: 24rpx;
- /* width: 120rpx; */
- z-index: 99;
- justify-content: flex-end;
- }
- .sku-right .sku-right-current {
- color: #a5a5a5;
- font-size: 24rpx;
- margin-right: 6rpx;
- }
- .sku-right .sku-right-img {
- width: 14rpx;
- height: 26rpx;
- }
- .sku-right image {
- width: 100%;
- height: 100%;
- vertical-align: top;
- }
- .all-sku {
- display: flex;
- flex-wrap: wrap;
- padding: 0 30rpx 0 98rpx;
- }
- .all-sku .sku-thumb {
- width: 70rpx;
- height: 70rpx;
- border-radius: 10rpx;
- margin-right: 14rpx;
- }
- .all-sku view {
- font-size: 24rpx;
- color: #666;
- line-height: 70rpx;
- margin-left: 24rpx;
- }
- /* 档期选择 */
- .calendar-show {
- background-color: #fff;
- margin: 18rpx auto 30rpx;
- height: 172rpx;
- width: 698rpx;
- padding-top: 14rpx;
- border-radius: 24rpx;
- }
- .calendar-show .calendar-title {
- display: flex;
- justify-content: center;
- font-size: 24rpx;
- color: #a5a5a5;
- }
- .calendar-show .calendar-show-content {
- display: flex;
- justify-content: space-evenly;
- padding-top: 24rpx;
- }
- .calendar-show-content .calendar-date {
- width: 86rpx;
- height: 82rpx;
- background-color: #FFFCF7;
- color: #E9A567;
- text-align: center;
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-self: center;
- border-radius: 16rpx;
- }
- .calendar-show-content .calendar-date1 {
- width: 86rpx;
- height: 82rpx;
- background-color: #FFFCF7;
- color: #B6B6B6;
- text-align: center;
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-self: center;
- border-radius: 16rpx;
- }
- .calendar-date-date {
- font-size: 36rpx;
- height: 42rpx;
- font-family: AlibabaPuHuiTi_2_75_SemiBold;
- }
- /* 团购评价 */
- .group-evaluation {
- width: 698rpx;
- background: #ffffff;
- border: 1rpx solid #f5f5f5;
- border-radius: 25rpx;
- padding: 30rpx 24rpx 0;
- margin: 0rpx auto 16rpx;
- position: relative;
- top: -12rpx;
- }
- .group-evaluation .title {
- height: 40rpx;
- line-height: 40rpx;
- display: flex;
- justify-content: space-between;
- align-items: center;
- }
- .group-evaluation .title .left {
- font-size: 32rpx;
- line-height: 40rpx;
- color: #000;
- font-weight: bold;
- flex: 1;
- }
- .group-evaluation .title .right {
- color: #666;
- font-size: 28rpx;
- display: flex;
- align-items: center;
- justify-content: space-between;
- }
- .group-evaluation .arrow-img {
- width: 12rpx;
- height: 20rpx;
- margin-left: 6rpx;
- }
- .evaluation-item {
- padding: 30rpx 8rpx 30rpx 0;
- padding-right: 8rpx;
- border-bottom: 1rpx solid #f3f3f3;
- display: flex;
- align-items: center;
- justify-content: space-between;
- }
- .evaluation-item:last-child {
- border: none;
- }
- .evaluation-item .item-left {
- width: 510rpx;
- }
- .eval-top {
- display: flex;
- height: 44rpx;
- align-items: center;
- }
- .eval-top .avatar {
- width: 44rpx;
- height: 44rpx;
- border-radius: 44rpx;
- }
- .eval-top .name {
- margin: 0 10rpx;
- font-size: 28rpx;
- color: #000;
- }
- .eval-top .tag {
- height: 38rpx;
- line-height: 38rpx;
- background: rgba(1, 187, 243, 0.1);
- border-radius: 10rpx;
- color: #01bbf3;
- font-size: 24rpx;
- padding: 0 12rpx;
- margin-right: 10rpx;
- }
- .eval-top .hp {
- height: 38rpx;
- line-height: 38rpx;
- background: rgba(255, 71, 71, 0.1);
- border-radius: 10rpx;
- color: #ff5252;
- font-size: 24rpx;
- padding: 0 12rpx;
- }
- .eval-content {
- display: -webkit-box;
- -webkit-box-orient: vertical;
- -webkit-line-clamp: 2;
- text-overflow: ellipsis;
- overflow: hidden;
- line-height: 36rpx;
- margin-top: 8rpx;
- font-size: 26rpx;
- color: #333;
- }
- .evaluation-item .item-right {
- width: 100rpx;
- height: 100rpx;
- }
- .evaluation-item .item-right image {
- width: 100rpx;
- height: 100rpx;
- border-radius: 10rpx;
- }
- /* 产品推荐 */
- .recommend-title {
- height: 103rpx;
- line-height: 102rpx;
- text-align: center;
- color: #000000;
- font-size: 33rpx;
- /* margin-top:-20rpx; */
- }
- .recommend-list {
- display: flex;
- justify-content: space-between;
- flex-wrap: wrap;
- width: 702rpx;
- margin: 0 24rpx;
- }
- .recommend-item {
- width: 334rpx;
- height: 510rpx;
- background: #ffffff;
- border-radius: 20rpx;
- display: flex;
- flex-direction: column;
- margin: 0 0 20rpx;
- }
- .recommend-item image {
- width: 334rpx;
- height: 334rpx;
- margin-bottom: 20rpx;
- border-radius: 20rpx;
- }
- .recommend-goods-name {
- font-size: 26rpx;
- line-height: 40rpx;
- height: 80rpx;
- width: 294rpx;
- display: -webkit-box;
- -webkit-box-orient: vertical;
- -webkit-line-clamp: 2;
- text-overflow: ellipsis;
- overflow: hidden;
- margin: 0 20rpx;
- /* text-indent: -12rpx; */
- color: #333;
- }
- .recommend-goods-price {
- color: #fe2957;
- font-size: 28rpx;
- margin: 10rpx 20rpx 0;
- height: 56rpx;
- }
- .recommend-goods-price text {
- font-size: 36rpx;
- }
- /* 购买提醒 */
- .buy-toast {
- height: 44rpx;
- min-width: 284rpx;
- position: absolute;
- top: 410rpx;
- left: 24rpx;
- background: rgba(0, 0, 0, 0.5);
- border-radius: 45rpx;
- }
- .toast-swiper {
- height: 44rpx;
- width: 320rpx;
- }
- .toast-item {
- align-items: center;
- display: flex;
- height: 44rpx;
- padding: 0 14rpx 0 10rpx;
- }
- .toast-item image {
- width: 28rpx;
- height: 28rpx;
- border-radius: 28rpx;
- margin-right: 8rpx;
- }
- .toast-item view {
- font-size: 24rpx;
- color: #fff;
- white-space: nowrap;
- }
- /* 规格弹框 */
- .appoint-overlay-wrapper {
- position: fixed;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- background-color: rgba(0, 0, 0, 0.7);
- z-index: 9999;
- display: flex;
- align-items: flex-end;
- }
- .spu-popup {
- /* height: 784rpx; */
- width: 690rpx;
- background: #fff;
- padding: 40rpx 20rpx;
- border-radius: 20rpx 20rpx 0 0;
- margin: 0 30rpx;
- }
- .popup-good {
- height: 130rpx;
- display: flex;
- padding: 0 0 30rpx 0;
- border-bottom: 1rpx solid #eee;
- justify-content: space-between;
- }
- .popup-good .left {
- display: flex;
- align-items: flex-end;
- }
- .popup-good .left image {
- width: 100rpx;
- height: 100rpx;
- border-radius: 10rpx;
- }
- .popup-good .spu-price {
- color: #ff1643;
- font-size: 34rpx;
- font-weight: bold;
- margin: 0 14rpx 0 20rpx;
- line-height: 30rpx;
- }
- .popup-good .spu-price text {
- font-size: 48rpx;
- }
- .popup-good .spu-price-old {
- text-decoration: line-through;
- color: #999999;
- font-size: 24rpx;
- }
- .sku-close {
- width: 48rpx;
- height: 48rpx;
- }
- .sku-list-block {
- min-height: 420rpx;
- padding-bottom: 40rpx;
- }
- .sku-list-block .spu-title {
- height: 86rpx;
- line-height: 86rpx;
- font-weight: bold;
- font-size: 28rpx;
- }
- .sku-list-block .sku-item {
- margin-bottom: 12rpx;
- display: flex;
- background: #FAFAFA;
- border-radius: 8rpx;
- align-items: center;
- justify-content: space-between;
- height: 140rpx;
- padding: 0 20rpx 0 24rpx;
- font-weight: bold;
- }
- .sku-list-block .sku-item view {
- font-size: 30rpx;
- color: #A5A5A5;
- }
- .sku-list-block .sku-item view.sku-price {
- color: #fe2b54;
- font-weight: bold;
- font-size: 32rpx;
- }
- .sku-list-block .sku-item.active-sku {
- border: 2rpx solid #fe2b54;
- }
- .sku-list-block .sku-item.active-sku view {
- color: #fe2b54;
- }
- .sku-btn {
- width: 638rpx;
- height: 90rpx;
- border-radius: 24rpx;
- line-height: 90rpx;
- text-align: center;
- color: #ffff;
- background: #FE2C55;
- font-size: 32rpx;
- margin: 20rpx 6rpx 0;
- /* font-weight: bold; */
- }
- .final-price {
- flex: 1;
- display: flex;
- align-items: center;
- height: 80rpx;
- margin-left: 12rpx;
- }
- .final-price .total-new {
- color: #ff1643;
- font-size: 32rpx;
- }
- .final-price .total-new text {
- font-size: 46rpx;
- font-weight: bold;
- }
- .final-price .total-old {
- text-decoration: line-through;
- font-size: 24rpx;
- color: #999;
- margin-left: 12rpx;
- padding-top: 10rpx;
- }
- /* 关联工单 */
- .service-list {
- margin: 0 24rpx;
- }
- .service-item {
- margin-top: 24rpx;
- background: #ffffff;
- border-radius: 24rpx;
- width: 702rpx;
- padding: 0 24rpx;
- }
- .order-title {
- height: 100rpx;
- line-height: 100rpx;
- font-weight: bold;
- color: #000;
- font-size: 32rpx;
- border-bottom: 2rpx solid #e0e0e0;
- }
- .service-item .service-title {
- height: 80rpx;
- display: flex;
- align-items: center;
- border-bottom: 2rpx solid #e0e0e0;
- }
- .service-title .sercive-name {
- color: #191919;
- font-size: 30rpx;
- font-weight: bold;
- }
- .service-title .service-id {
- color: #666666;
- font-size: 24rpx;
- margin: 0 12rpx 0 0;
- flex: 1;
- }
- .service-title .service-status {
- color: #008dff;
- font-size: 26rpx;
- }
- .service-main {
- padding: 12rpx 0 16rpx;
- }
- .customer-info {
- display: flex;
- align-items: center;
- }
- .customer-info image {
- width: 48rpx;
- height: 48rpx;
- margin-right: 24rpx;
- }
- .customer-info .customer-main {
- display: flex;
- padding: 18rpx 0 4rpx;
- flex-direction: column;
- flex: 1;
- }
- .main-line {
- display: flex;
- height: 44rpx;
- margin-bottom: 4rpx;
- align-items: center;
- }
- .main-line view {
- color: #333333;
- font-size: 32rpx;
- }
- .main-line view.phone {
- color: #999999;
- font-size: 24rpx;
- margin-left: 14rpx;
- }
- .customer-info .customer-address {
- color: #666666;
- line-height: 40rpx;
- }
- .service-main .row {
- /* height: 56rpx;
- line-height: 56rpx; */
- display: flex;
- color: rgba(0, 0, 0, 0.9);
- font-size: 26rpx;
- font-weight: bold;
- align-items: center;
- margin: 10rpx 0;
- }
- .service-main .row text {
- color: #666666;
- font-weight: normal;
- /* white-space: nowrap; */
- }
- .service-remark-wrapper {
- padding: 24rpx 0;
- border-top: 2rpx solid #e0e0e0;
- }
- .service-store {
- height: 36rpx;
- display: flex;
- align-items: center;
- justify-content: space-between;
- }
- .service-store>view {
- display: flex;
- height: 36rpx;
- align-items: center;
- }
- .store-left image {
- width: 36rpx;
- height: 36rpx;
- margin-right: 16rpx;
- }
- .store-left view {
- color: rgba(0, 0, 0, 0.9);
- font-size: 26rpx;
- font-weight: bold;
- }
- .store-right view {
- color: #666666;
- font-size: 24rpx;
- }
- .store-right image {
- width: 24rpx;
- height: 24rpx;
- margin-left: 16rpx;
- }
- .service-remark-wrapper .service-remark {
- width: 652rpx;
- /* height: 56rpx; */
- line-height: 44rpx;
- background: #ebebeb;
- border-radius: 16rpx;
- color: #000000;
- padding: 8rpx 16rpx;
- /* white-space: nowrap;
- text-overflow: ellipsis;*/
- display: -webkit-box;
- -webkit-box-orient: vertical;
- -webkit-line-clamp: 2;
- text-overflow: ellipsis;
- overflow: hidden;
- margin-top: 20rpx;
- }
- .service-remark text {
- color: #fe2b54;
- font-weight: bold;
- }
- .service-operate {
- padding: 24rpx 0;
- border-top: 2rpx solid #e0e0e0;
- display: flex;
- justify-content: flex-end;
- }
- .service-operate view {
- width: 160rpx;
- height: 56rpx;
- line-height: 56rpx;
- border-radius: 28rpx;
- text-align: center;
- color: #f9f4f5;
- font-size: 24rpx;
- background: linear-gradient(90deg, #00baff 0%, #008dff 100%);
- margin-left: 28rpx;
- }
- .sku-popup-title {
- font-weight: bold;
- font-size: 32rpx;
- color: #333;
- padding-left: 20rpx;
- }
- .sku-popup-tips {
- color: #888;
- font-size: 24rpx;
- padding: 10rpx 0 32rpx 20rpx;
- border-bottom: 1rpx solid #eee;
- margin-bottom: 32rpx;
- }
- .sku-popup-btntip {
- color: #FE2C55;
- font-size: 18rpx;
- text-align: center;
- }
- .xinke {
- position: absolute;
- background-color: #DB1A1A;
- margin-left: 505rpx;
- margin-top: -102rpx;
- width: 110rpx;
- height: 38rpx;
- float: right;
- line-height: 40rpx;
- text-align: center;
- color: white;
- border-bottom-left-radius: 20rpx;
- font-size: 22rpx;
- border-top-right-radius: 14rpx;
- }
- .bottom-appointment-tips {
- width: 100%;
- height: 54rpx;
- background-color: #FFE1E5;
- line-height: 54rpx;
- }
- /* .appoint-fire {
- transition: opacity 1s ease-in-out;
- width: 100%;
- height: 54rpx;
- background-image: url('https://mall.zhaijieshi.cc/file/wx-dy/ts.png');
- background-repeat: no-repeat;
- background-size: cover;
- } */
- /* 定义关键帧 */
- @keyframes fadeIn {
- from {
- opacity: 0;
- }
- to {
- opacity: 1;
- width: 100%;
- height: 54rpx;
- background-image: url('https://mall.zhaijieshi.cc/file/wx-dy/ts.png');
- background-repeat: no-repeat;
- background-size: cover;
- }
- }
- /* 应用动画 */
- .appoint-fire {
- animation-name: fadeIn;
- /* 指定动画名称 */
- animation-duration: 2s;
- /* 动画持续时间 */
- animation-delay: 5s;
- /* 动画开始前的延迟时间 */
- animation-fill-mode: forwards;
- /* 动画结束后保持最后一帧的样式 */
- }
- .bottom-appointment-tips view .jinqi {
- background-color: #FE2C55;
- color: #fff;
- width: 86rpx;
- height: 28rpx;
- font-size: 18rpx;
- line-height: 28rpx;
- border-radius: 16rpx;
- display: inline-block;
- text-align: center;
- /* position: relative;
- top: -2px; */
- margin: 0 10rpx 0 24rpx;
- }
- .bottom-appointment-tips view .selected-sku {
- color: #676767;
- font-size: 22rpx;
- }
- .discount {
- display: flex;
- background-color: #FFEEEB;
- width: 190rpx;
- height: 36rpx;
- line-height: 36rpx;
- font-size: 24rpx;
- text-align: center;
- margin: 10rpx 0 0 24rpx;
- border-radius: 6rpx;
- color: #FE2C55;
- justify-content: center;
- position: relative;
- top: -20rpx;
- }
- .discount .discount-img {
- width: 21rpx;
- height: 21rpx;
- margin: 2rpx 6rpx 0 2rpx;
- }
- .discount .discount-img image {
- width: 100%;
- height: 100%;
- }
- .random {
- background-color: #f5f5f5;
- position: relative;
- top: -24rpx;
- padding-top: 16rpx;
- border-radius: 24rpx 24rpx 0 0;
- }
- .goods-container {
- font-weight: 400;
- font-family: AlibabaPuHuiTi_2_55_Regular;
- }
- </style>
|