| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600 |
- <template>
- <div class="content">
- <div class="goodsCard acea-row row-between">
- <div class="conter">
- <div class="cart">
- <div :style="'height:' + 100 + '%'" class="acea-row">
- <div class="acea-row row-between row-bottom cart-left">
- <div class="left-top">
- <div v-if="checkOut == 0" class="cart">
- <div v-if="userInfo" class="title acea-row row-middle">
- <div class="picture" @click="getUserDetail">
- <img :src="userInfo.avatar" />
- </div>
- <div class="text">
- <div class="textCon line1">
- <div class="text-wrap">
- <div class="name-wrap">
- <span class="name">{{ userInfo.nickname }}</span>
- <span v-if="userInfo.phone"
- class="phone mr10">手机号:{{ userInfo.phone }}</span>
- </div>
- </div>
- <Dropdown class="switchs" trigger="click"
- @on-click="changeMenu($event)">
- <a href="javascript:void(0)">
- 切换会员
- <Icon type="ios-arrow-down"></Icon>
- </a>
- <DropdownMenu slot="list">
- <DropdownItem name="1">选择用户</DropdownItem>
- <DropdownItem name="2">游客</DropdownItem>
- </DropdownMenu>
- </Dropdown>
- </div>
- <div v-if="userInfo.uid" class="user-msg">
- <span class="balance">积分<span class="num">{{
- userInfo.integral
- }}</span></span>
- <span class="balance">余额<span class="num">{{
- userInfo.now_money
- }}</span></span>
- </div>
- </div>
- </div>
- <div class="count">
- <div class="cart-sel">
- 已选购<span class="num">{{ cartSum }}</span>件
- </div>
- <div class="count-r">
- <!-- <span class="coupon" @click="couponTap">优惠券</span>-->
- <span class="clear" @click="delAll">
- <img alt="" src="../../assets/images/clear.png" />
- 清空</span>
- </div>
- </div>
- <div class="listCon">
- <div v-if="cartList.length" class="list">
- <div v-for="(data, proindex) in cartList" :key="proindex + 'data'"
- class="promotions">
- <div v-for="(pro, index) in data.promotions" :key="index + 'pro'"
- class="promotions-msg">
- <div class="flex-1">
- <span class="card">{{ pro.title }}</span>
- <span class="desc">{{ pro.desc }}</span>
- </div>
- <div class="collect" @click="collectOrder(pro)">
- {{ pro.promotions_type == 1 ? "去逛逛" : "去凑单" }}
- <span class="iconfont iconjinru"></span>
- </div>
- </div>
- <div v-for="(item, indexs) in data.cart" :key="indexs + 'car'"
- :class="{ is_give: item.is_gift }" class="item acea-row row-middle">
- <div class="picture">
- <img v-if="item.productInfo.attrInfo"
- :src="item.productInfo.attrInfo.image" />
- <img v-else :src="item.productInfo.image" />
- </div>
- <div v-if="!item.is_gift" class="text">
- <div class="name line1">
- {{ item.productInfo.store_name }}
- </div>
- <div v-if="
- item.productInfo.attrInfo &&
- item.productInfo.spec_type
- " class="info" @click="cartAttr(item)">
- <div class="suk line1">
- {{ item.productInfo.attrInfo.suk }}
- </div>
- <span class="iconfont iconxiayi"></span>
- </div>
- <div v-else class="info">默认</div>
- <div class="sum_price">¥ {{ item.sum_price }}</div>
- </div>
- <div v-else class="text">
- <div class="give-name line1">
- {{ item.productInfo.store_name }}
- </div>
- <div class="give-info">赠品</div>
- </div>
- <div v-if="!item.is_gift" class="del"
- @click="delCart(item, proindex, indexs, 'cart')">
- 删除
- </div>
- <div v-if="!item.is_gift"
- class="cartBnt acea-row row-center-wrapper">
- <div class="iconfont iconjian"
- @click="calculate(item, 'reduce')"></div>
- <!-- <input type="text" v-model="item.cart_num">-->
- <InputNumber v-model="item.cart_num"
- :max="item.productInfo.attrInfo.stock" :min="1" @on-blur="
- (e) => {
- changeCart(e, item);
- }
- "></InputNumber>
- <div class="iconfont iconjia" @click="calculate(item, 'add')">
- </div>
- </div>
- <div v-else class="cartBnt">
- <span>x{{ item.cart_num }}</span>
- </div>
- </div>
- </div>
- </div>
- <div v-if="invalidList.length" class="list promotions">
- <div v-for="(item, index) in invalidList" :key="index"
- class="item acea-row row-middle">
- <div class="picture">
- <img v-if="item.productInfo.attrInfo"
- :src="item.productInfo.attrInfo.image" />
- <img v-else :src="item.productInfo.image" />
- </div>
- <div class="text invalid">
- <div class="name line1">
- {{ item.productInfo.store_name }}
- </div>
- <div v-if="item.productInfo.attrInfo" class="info">
- <div class="suk line1">
- {{ item.productInfo.attrInfo.suk }}
- </div>
- <span class="iconfont iconxiayi"></span>
- </div>
- <div v-else class="info">默认</div>
- <div class="end">该商品已失效</div>
- </div>
- <div class="del" @click="delCart(item, index, 1, 'inv')">
- 删除
- </div>
- </div>
- </div>
- <div v-if="!invalidList.length && !cartList.length"
- class="noCart acea-row row-center-wrapper">
- <div>
- <div class="picture">
- <img src="@/assets/images/no-cart.png" />
- </div>
- <div class="tip">暂无商品,快去添加吧~</div>
- </div>
- </div>
- </div>
- <div class="footer">
- <div class="left">
- <div class="conInfo">
- <div class="right">
- <div class="storeBnt-wrap">
- <div class="storeBnt" @click="storeTap">
- <span class="text line1">{{
- storeInfos ? storeInfos.staff_name : "切换店员"
- }}</span>
- <Icon style="display: inline-block; padding-left: 10px"
- type="ios-arrow-down" />
- </div>
- </div>
- <div class="discount">
- 优惠: ¥{{
- this.$computes.Sub(
- priceInfo.sumPrice || 0,
- priceInfo.payPrice || 0
- ) || 0
- }}
- </div>
- <div v-if="cartList.length" class="detailed" @click="discountCon">
- 明细
- </div>
- <span class="discount">实付: </span>
- <span class="rmb">¥</span>
- <span class="num">{{
- cartSum && priceInfo.payPrice ? priceInfo.payPrice : 0
- }}</span>
- </div>
- </div>
- </div>
- <div class="footer-bottom">
- <Button :disabled="!cartList.length" @click="openSettle">立即结账</Button>
- </div>
- </div>
- </div>
- <div v-else class="cart" style="padding-top: 15px">
- <Form ref="lodgeFrom" :label-width="100" :model="lodgeFrom" @submit.native.prevent>
- <FormItem :labelWidth="20" label="" label-for="nickname">
- <Row>
- <Col>
- <Input v-model="lodgeFrom.keyword" element-id="nickname" enter-button
- placeholder="请输入用户名称/ID/手机号" search style="width: 370px"
- @on-search="storeSearch">
- </Input>
- </Col>
- </Row>
- </FormItem>
- </Form>
- <Table ref="selection" :columns="columns" :data="tableHang" :loading="loading"
- class="tableList" highlight-row no-filtered-userFrom-text="暂无筛选结果"
- no-userFrom-text="暂无数据">
- <template slot="nickname" slot-scope="{ row }">
- <div>{{ row.uid ? row.nickname : "游客" }}</div>
- </template>
- <template slot="action" slot-scope="{ row, index }">
- <a @click="billHang(row, index)">提单</a>
- <a class="ml10" @click="hangDel(row, index)">删除</a>
- </template>
- </Table>
- <div class="acea-row row-right page mr5">
- <Page :current="lodgeFrom.page" :page-size="lodgeFrom.limit" :total="totalHang"
- show-total size="small" @on-change="pageHangChange" />
- </div>
- </div>
- <div class="btn-group-vertical">
- <Button :disabled="!cartList.length" @click="lodgeTap">挂单</Button>
- <Button :disabled="!userInfo.uid" @click="rechargeBnt">充值</Button>
- <Button :disabled="!userInfo.uid || !cartList.length"
- :class="{ selected: integral }" @click="integralTap">积分</Button>
- <Button :disabled="!userInfo.uid || !cartList.length"
- @click="couponTap">优惠券</Button>
- <Button :disabled="!cartList.length" @click="changePrice">改价</Button>
- <Button :disabled="!cartList.length" @click="remarks">备注</Button>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="goods">
- <div class="acea-row" style="height: 100%">
- <div class="goodsCon">
- <div class="goods-top">
- <Input v-model="goodFrom.store_name" :maxlength="20" class="input" element-id="name"
- enter-button placeholder="搜索商品名称/ID/唯一码或点击聚焦扫码" search size="large"
- @on-search="orderSearch">
- <Select slot="prepend" v-model="goodFrom.field_key" style="width: 90px">
- <Option value="all">全部</Option>
- <Option value="store_name">商品名称</Option>
- <Option value="id">ID</Option>
- <Option value="bar_code">唯一码</Option>
- </Select>
- </Input>
- <swiper v-if="activityTypeArr.length" :options="swiperOption" @ready="readySwiper"
- @click="clickSwiper">
- <swiper-slide v-for="(item, index) in activityTypeArr" :key="index"
- :class="{ active: swiperClickedIndex === index }">{{ item.desc }}</swiper-slide>
- </swiper>
- <Alert v-if="swiperClickedIndex">
- <div>活动时间:{{activityTypeArr[swiperClickedIndex].section_time[0]}} ~
- {{activityTypeArr[swiperClickedIndex].section_time[1]}}</div>
- <div style="margin-top: 14px;">活动内容:{{activityTypeArr[swiperClickedIndex].desc}}</div>
- </Alert>
- <div ref="listWrap" class="list-wrap" @scroll="pageChange">
- <Row v-if="goodData.length && (goodFrom.cate_id !== '99999' || activityFrom.type)"
- :gutter="15" class="list">
- <Col v-for="(item, index) in goodData" :key="index" :sm="12" :md="12" :lg="12"
- :xl="8" :xxl="4">
- <div :class="{ on: item.stock }" class="item" @click="attrTap(item)">
- <div :style="{ height: goodsHeight + 'px' }" class="picture">
- <img :src="item.image" alt="商品图" style="width: 100%;" />
- </div>
- <div class="name line1">
- {{ item.store_name || item.title }}
- </div>
- <div class="text">
- <div class="text-left">
- <!-- <div class="stock">
- <span v-if=" !(item.coupon instanceof Array)">券</span>
- <span
- v-if="
- item.promotions && !Array.isArray(item.promotions)
- "
- >{{ item.promotions.title }}</span
- >
- <span v-if="activityFrom.type == 5">秒杀</span>
- </div> -->
- <div class="money">
- <span class="rmb">¥</span>{{ item.price }}
- </div>
- </div>
- <div v-if="item.cart_num && cartList.length" class="icon-cart-num">
- {{ item.cart_num > 99 ? "99+" : item.cart_num }}
- </div>
- <div v-if="!item.stock && !item.cart_num" class="no-stock">
- <div class="trip">
- <div>暂无</div>
- <div>库存</div>
- </div>
- </div>
- </div>
- </div>
- </Col>
- </Row>
- <!-- <div
- v-if="
- goodData.length &&
- (goodFrom.cate_id !== '99999' || activityFrom.type)
- "
- class="list acea-row"
- ref="list"
- >
- <div
- v-for="(item, index) in goodData"
- :key="index"
- :class="item.stock > 0 ? 'on' : ''"
- class="item"
- ref="item"
- @click="attrTap(item)"
- >
- <div class="picture">
- <img :src="item.image" alt="商品图" />
- </div>
- <div class="name line1">
- {{ item.store_name || item.title }}
- </div>
- <div class="text">
- <div class="text-left"> -->
- <!-- <div class="stock">
- <span v-if=" !(item.coupon instanceof Array)">券</span>
- <span
- v-if="
- item.promotions && !Array.isArray(item.promotions)
- "
- >{{ item.promotions.title }}</span
- >
- <span v-if="activityFrom.type == 5">秒杀</span>
- </div> -->
- <!-- <div class="money">
- <span class="rmb">¥</span>{{ item.price }}
- </div>
- </div>
- <div
- v-if="item.cart_num && cartList.length"
- class="icon-cart-num"
- >
- {{ item.cart_num > 99 ? "99+" : item.cart_num }}
- </div>
- <div v-if="!item.stock && !item.cart_num" class="no-stock">
- <div class="trip">
- <div>暂无</div>
- <div>库存</div>
- </div>
- </div>
- </div>
- </div>
- <div v-for="item in shadow" class="item-shadow"></div>
- </div> -->
- <div v-else-if="goodFrom.cate_id === '99999' && !activityFrom.type">
- <activityCard v-if="!activityFrom.type" :uid="userInfo.uid"
- @selectaActivity="selectaActivity">
- </activityCard>
- </div>
- <div v-else class="noGood acea-row row-center-wrapper">
- <div>
- <div class="picture">
- <img :src="
- require(`@/assets/images/${
- goodFrom.cate_id == '99999'
- ? 'no-active.png'
- : 'no-goods.png'
- }`)
- " />
- </div>
- <div class="tip">
- {{
- goodFrom.cate_id === "99999"
- ? "暂无活动,敬请期待~"
- : "暂无商品,先看看别的吧~"
- }}
- </div>
- </div>
- </div>
- </div>
- <!-- </Scroll> -->
- </div>
- <!-- <div
- v-if="
- goodData.length &&
- (goodFrom.cate_id !== '99999' || activityFrom.type)
- "
- class="acea-row row-right page"
- >
- <Page
- :page-size="goodFrom.limit"
- :total="total"
- show-elevator
- show-total
- @on-change="pageChange"
- />
- </div> -->
- </div>
- <div class="goodClass acea-row row-center">
- <div>
- <div v-for="(item, index) in cateData" :key="index"
- :class="currentCate == index ? 'on' : ''" class="item line1"
- @click="cateTap(item, index)">
- {{ item.cate_name }}
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <Modal v-model="modalUser" :mask-closable="false" :scrollable="true" closable footer-hide title="用户列表"
- width="950" class-name="user-modal">
- <userList v-if="modalUser" ref="users" :uid="userInfo.uid || 0" @getUserId="getUserId"></userList>
- </Modal>
- <settleDrawer v-model="settleVisible" :list="payList" :type="payType" :money="settleMoney"
- :collection="collection" :verify="yueVerify" :z-index="zIndex" @payPrice="payPrice" @numTap="numTap"
- @delNum="delNum" @cashBnt="cashBnt"></settleDrawer>
- <recharge ref="recharge" v-model="rechargeVisible" :userInfo="userInfo" @getSuccess="getSuccess"
- @recharge="onRecharge"></recharge>
- <couponList v-if="userInfo && cartList.length" ref="coupon" :couponId="couponId==0?-1:couponId"
- :cartList="cartList" :uid="userInfo.uid" @getCouponId="getCouponId"></couponList>
- <storeList ref="store" :storeInfo="storeInfos" @getStoreId="getStoreId" @getUserInfo="getUserInfo"></storeList>
- <!-- :uid="userInfo?userInfo.uid:0" -->
- <productAttr ref="attrs" :attr="attr" :disabled="disabled" :isCart="isCart" @ChangeAttr="ChangeAttr"
- @goCat="goCat">
- </productAttr>
- <productAttr ref="skillAttrs" :attr="attr" :disabled="disabled" :isCart="isCart" isSkill
- @ChangeAttr="ChangeAttr" @goCat="goPay"></productAttr>
- <Modal v-model="payTypeModal" footer-hide title="支付方式" @on-visible-change="changeModal">
- <div class="payModal">
- <div class="type" @click="payPrice('cash')">
- <div class="img">
- <img alt="" src="../../assets/images/xpay.png" />
- </div>
- <div class="text">现金收款</div>
- </div>
- <div class="type" @click="payPrice('')">
- <div class="img">
- <img alt="" src="../../assets/images/wx_zfb_pay.png" />
- </div>
- <div class="text">微信/支付宝</div>
- </div>
- <div class="type" @click="payPrice('yue')">
- <div class="img">
- <img alt="" src="../../assets/images/yue.png" />
- </div>
- <div class="text">余额收款</div>
- </div>
- </div>
- </Modal>
- <Modal v-model="modal" title="备注" class-name="remarks-modal">
- <!-- <form-create-->
- <!-- v-model="fapi"-->
- <!-- :rule="rule"-->
- <!-- @on-submit="onSubmit"-->
- <!-- class="remark"-->
- <!-- ></form-create>-->
- <Input v-model="createOrder.remarks" :rows="5" maxlength="200" placeholder="订单备注" show-word-limit
- type="textarea" />
- <div slot="footer">
- <Button type="primary" size="large" long @click="onSubmit">提交</Button>
- </div>
- </Modal>
- <Modal v-model="modal2" title="订单改价" class-name="change-price-modal" @on-cancel="cancelPrice">
- <Form :model="formItem">
- <FormItem>
- <div class="acea-row">
- <div class="input-number">
- <InputNumber v-model="formItem.price" :max="9999999" :min="0" @on-change="tapPrice">
- </InputNumber>
- <div class="input-suffix">元</div>
- </div>
- <div class="input-number discount">
- <InputNumber v-model="discountPrice" :max="100" :min="0" @on-change="tapDiscount">
- </InputNumber>
- <div class="input-suffix">%</div>
- </div>
- </div>
- </FormItem>
- <FormItem label="改价后金额:">
- <div class="changePrice">
- ¥{{ formItem.price || 0 }}
- </div>
- </FormItem>
- </Form>
- <div slot="footer">
- <Button type="primary" size="large" long @click="onSubmit2">确定</Button>
- </div>
- <!-- <form-create v-model="fapi2" :rule="rule2" @on-submit="onSubmit2" class="remark"></form-create> -->
- </Modal>
- <Modal v-model="modalPay" class="modalPay" footer-hide width="430px" @on-cancel="modalPayCancel">
- <div class="payPage">
- <div class="header acea-row row-center-wrapper">
- <div class="picture"><img src="../../assets/images/gold.png" /></div>
- <div class="text">应收金额(元)</div>
- </div>
- <div class="money">
- ¥<span class="num">{{
- priceInfo.payPrice ? priceInfo.payPrice : 0
- }}</span>
- </div>
- <!-- <div class="tip acea-row row-center-wrapper">
- <Icon type="ios-alert" class="icon" />
- {{createOrder.pay_type=='yue'?'提示:使用扫码枪扫描用户个人中心二维码':'提示:引导用户扫描柜台二维码,注册登录后支付'}}
- </div> -->
- <Input ref="focusNum" v-model="payNum" placeholder="请点击输入框聚焦扫码或输入编码号" size="large"
- style="margin-top: 16px" type="url" @input="inputSaoMa" />
- <div class="process">
- <div class="picture">
- <!-- <img
- v-if="createOrder.pay_type == 'yue'"
- src="../../assets/images/process1.png"
- />
- <img v-else src="../../assets/images/process2.png" /> -->
- <img src="../../assets/images/process1.png" />
- </div>
- <div class="list acea-row row-between-wrapper">
- <div class="item one">
- <div class="name">
- {{
- createOrder.pay_type == "yue" ? "出示付款码" : "打开付款码"
- }}
- </div>
- <div>
- {{
- createOrder.pay_type == "yue"
- ? "用户打开个人中心"
- : "微信/支付宝付款码"
- }}
- </div>
- </div>
- <div class="item two">
- <div class="name">
- {{ createOrder.pay_type == "yue" ? "扫描付款码" : "贴合付款盒子" }}
- </div>
- <div>
- {{ createOrder.pay_type == "yue" ? "扫码枪" : "等待完成支付" }}
- </div>
- </div>
- <div class="item three">
- <div class="name">确认收款</div>
- <div>收银台确认</div>
- </div>
- </div>
- </div>
- <!-- <Button type="primary" class="bnt" @click="confirm">确认</Button> -->
- <!-- <div v-else>
- <Button type="primary" class="bnt" @click="confirmOrder" v-if="isOrderCreate">确认</Button>
- <Button type="primary" class="bnt" @click="confirm" v-else>创建订单</Button>
- </div> -->
- </div>
- </Modal>
- <Modal v-model="modalCash" class="cash" footer-hide width="770px" @on-cancel="cancel">
- <div class="cashPage acea-row">
- <div class="left">
- <div class="picture">
- <img src="../../assets/images/gold.png" />
- </div>
- <div class="text">应收金额(元)</div>
- <div class="money">
- ¥<span class="num">{{
- priceInfo.payPrice ? priceInfo.payPrice : 0
- }}</span>
- </div>
- </div>
- <div class="right">
- <div class="rightCon">
- <div class="top acea-row row-between-wrapper">
- <div>实际收款(元)</div>
- <div class="num">{{ collection }}</div>
- </div>
- <div class="center acea-row row-between-wrapper">
- <div>需找零(元)</div>
- <div v-if="
- this.$computes.Sub(
- collection,
- priceInfo.payPrice ? priceInfo.payPrice : 0
- ) > 0
- " class="num">
- {{
- this.$computes.Sub(
- collection,
- priceInfo.payPrice ? priceInfo.payPrice : 0
- )
- }}
- </div>
- <div v-else class="num">0</div>
- </div>
- <div class="bottom acea-row">
- <div v-for="(item, index) in numList" :key="index" :class="item == '.' ? 'spot' : ''"
- class="item acea-row row-center-wrapper" @click="numTap(item)">
- {{ item }}
- </div>
- <div class="item acea-row row-center-wrapper" @click="delNum">
- <Icon type="ios-backspace" />
- </div>
- </div>
- </div>
- <Button type="primary" @click="cashBnt">确认</Button>
- </div>
- </div>
- </Modal>
- <Modal v-model="discount" footer-hide title="优惠明细" width="400">
- <div class="discountCon">
- <div class="item acea-row row-between-wrapper">
- <div>订单原价</div>
- <div>¥{{ priceInfo.sumPrice || 0 }}</div>
- </div>
- <div class="item acea-row row-between-wrapper">
- <div>会员优惠金额:</div>
- <div>¥{{ priceInfo.vipPrice || 0 }}</div>
- </div>
- <div class="item acea-row row-between-wrapper">
- <div>优惠券金额:</div>
- <div>¥{{ priceInfo.couponPrice || 0 }}</div>
- </div>
- <div class="item acea-row row-between-wrapper">
- <div>积分抵扣:</div>
- <div>¥{{ priceInfo.deductionPrice || 0 }}</div>
- </div>
- <div v-for="(item, index) in priceInfo.promotionsDetail" :key="index"
- class="item acea-row row-between-wrapper">
- <div>{{ item.title }}:</div>
- <div>¥{{ item.promotions_price || 0 }}</div>
- </div>
- </div>
- </Modal>
- <Modal v-model="userInfoShow" class-name="vertical-center-modal" footer-hide title="是否切换此用户" width="340">
- <div class="search_user_info">
- <div class="picture">
- <img :src="modalUserInfo.avatar" alt="" />
- </div>
- <p class="user_name">{{ modalUserInfo.real_name }}</p>
- <p class="user_id">ID:{{ modalUserInfo.uid }}</p>
- <p class="user_phone">手机号:{{ modalUserInfo.phone }}</p>
- <div class="sure_btn" @click="checkUser()">确定</div>
- </div>
- </Modal>
- <!-- 会员详情-->
- <user-details ref="userDetails" @operation="operation"></user-details>
- </div>
- </template>
- <script>
- import userList from "@/components/userList";
- import storeList from "@/components/storeList";
- import couponList from "@/components/couponList";
- import productAttr from "./components/productAttr";
- import recharge from "@/components/recharge";
- import activityCard from "@/components/activityCard";
- import userDetails from "@/components/userDetail/userDetails";
- import settleDrawer from "@/components/settleDrawer";
- import "../../assets/js/core.js";
- import {
- cashierProduct,
- cashierCate,
- cashierUser,
- cashierCode,
- cashierCart,
- cashierDetail,
- cashierCartList,
- cashierCartNum,
- cashierchangeCart,
- cashierCartDel,
- cashierCompute,
- cashierCreate,
- cashierPay,
- postCashierSwitch,
- postCashierHang,
- getHangList,
- getHang,
- cashierHang,
- cashierGetAttr,
- swithUser
- } from "@/api/order";
- import {
- checkOrderApi,
- getUserInfo,
- userSaveApi
- } from "@/api/user";
- import {
- activityList,
- activityTypeList
- } from "@/api/product";
- import Setting from '@/setting';
- export default {
- name: "index",
- components: {
- userList,
- storeList,
- productAttr,
- couponList,
- recharge,
- activityCard,
- userDetails,
- settleDrawer,
- },
- data() {
- return {
- formItem: {
- price: 0,
- },
- discountPrice: 100,
- loading: false,
- cashBntLoading: false,
- totalHang: 0,
- tableHang: [],
- activeHangon: -1,
- hangData: [],
- lodgeFrom: {
- keyword: "",
- page: 1,
- limit: 10,
- },
- currentid: "",
- columns: [{
- title: "选择",
- key: "chose",
- width: 60,
- align: "center",
- render: (h, params) => {
- let id = params.row.id;
- let flag = false;
- if (this.currentid === id) {
- flag = true;
- } else {
- flag = false;
- }
- let self = this;
- return h("div", [
- h("Radio", {
- props: {
- value: flag,
- },
- on: {
- "on-change": () => {
- self.currentid = id;
- self.activeHangon = params.index;
- let data = {
- uid: params.row.uid,
- };
- let touristId = params.row.tourist_uid;
- if (params.row.uid) {
- this.userInfoData(data);
- } else {
- this.setUp(touristId);
- }
- },
- },
- }),
- ]);
- },
- },
- {
- title: "用户",
- slot: "nickname",
- minWidth: 70,
- },
- {
- title: "订单金额",
- key: "price",
- minWidth: 70,
- },
- {
- title: "时间",
- key: "_add_time",
- minWidth: 70,
- },
- {
- title: "操作",
- slot: "action",
- minWidth: 100,
- align: "center",
- },
- ],
- checkOut: 0,
- modalUser: false,
- flag: true,
- goodFrom: {
- store_name: "",
- field_key: "all",
- cate_id: "",
- page: 1,
- limit: 20,
- uid: 0,
- staff_id: 0,
- },
- activityFrom: {
- page: 1,
- limit: 20,
- type: 0,
- uid: 0,
- promotions_id: 0,
- },
- total: 0,
- goodData: [],
- cateData: [],
- currentCate: 0, //分类的当前index;
- currentTab: "2",
- codeNum: "",
- payNum: "",
- userInfo: {},
- storeInfos: {}, //门店店员信息
- storeList: [], //门店列表
- attr: {
- productAttr: [],
- productSelect: {},
- },
- storeInfo: {}, //商品信息
- productValue: [],
- attrValue: "", //已选属性
- productId: 0, //产品id
- seckillId: 0, //秒杀商品id
- cartList: [],
- isCart: 0,
- cartInfo: {
- //更改属性所需参数
- cart_id: 0,
- product_id: 0,
- unique: "",
- },
- modal: false,
- fapi: {},
- rule: [{
- type: "input",
- field: "remarks",
- title: "备注",
- props: {
- type: "textarea",
- maxlength: 100,
- "show-word-limit": true,
- },
- }, ],
- modal2: false,
- rule2: [{
- type: "InputNumber",
- field: "change_price",
- title: "实付款",
- value: 0,
- props: {
- min: 0,
- },
- }, ],
- integral: false, //是否使用积分
- coupon: false, //是否使用优惠券
- couponId: 0, //优惠券id
- modalPay: false,
- payTypeModal: false,
- cartSum: 0,
- priceInfo: {},
- createOrder: {
- remarks: "",
- change_price: 0,
- cart_id: [], // 购物车id
- userCode: "",
- is_price: 0,
- auth_code: "",
- },
- modalCash: false,
- numList: ["7", "8", "9", "4", "5", "6", "1", "2", "3", "0", "."],
- collectionArray: [],
- collection: 0,
- isOrderCreate: 0,
- discount: false,
- payType: "", // 支付方式
- orderId: "", //订单id
- seckillOrderId: "", //秒杀订单id
- clientHeight: 0,
- cartHeight: 0,
- goodsHeight: 0,
- invalidList: [],
- promotionsList: [],
- defaultcalc: false,
- orderSystem: {
- loadingMsg: null,
- timer: null,
- },
- disabled: false, //阻止属性弹窗多次提交
- unchangedPrice: 0,
- cumping: false, //加减节流
- modalUserInfo: {}, //搜索出来的用户信息
- userInfoShow: false, //扫码枪搜索用户弹窗状态
- settleVisible: false,
- payList: [{
- label: '微信/支付宝',
- value: '',
- status: true,
- },
- {
- label: '现金收款',
- value: 'cash',
- status: true,
- },
- {
- label: '余额收款',
- value: 'yue',
- status: true,
- },
- ],
- shadow: 0,
- rechargeVisible: false,
- settleMoney: 0,
- yueVerify: false,
- activityTypeArr: [],
- swiper: null,
- swiperClickedIndex: 0,
- swiperOption: {
- slidesPerView: 'auto',
- spaceBetween: 14,
- setWrapperSize: true,
- },
- rechargeData: {},
- zIndex: 9999,
- };
- },
- watch: {
- goodData(value) {
- this.$nextTick(() => {
- if (value.length) {
- this.goodsHeight = this.$refs.listWrap.querySelector('.picture').clientWidth;
- }
- });
- }
- },
- created() {
- let clientWidth = document.documentElement.clientWidth;
- let pageLimt;
- if (clientWidth > 2260) {
- pageLimt = 30;
- } else if (clientWidth > 1580) {
- pageLimt = 30;
- } else if (clientWidth > 1270) {
- pageLimt = 30;
- } else {
- pageLimt = 30;
- }
- this.goodFrom.limit = pageLimt;
- this.activityFrom.limit = pageLimt;
- this.userInfo = JSON.parse(window.localStorage.getItem("cashierUser")) || {};
- if (!this.userInfo.uid) {
- this.setUp();
- }
- this.cateList();
- console.log(this.$route.query)
- if (this.$route.query.uid || this.$route.query.tourist_uid) {
- let uid = this.$route.query.uid,
- touristId = this.$route.query.tourist_uid,
- staffId = this.$route.query.staff_id,
- index = this.$route.query.index;
- this.checkOut = 0;
- this.activeHangon = index;
- this.storeInfos.id = staffId;
- let data = {
- uid,
- };
- if (uid != 0) {
- this.userInfoData(data, true);
- this.getSwithUser(data);
- } else {
- this.setUp(touristId, true);
- if (touristId) {
- this.getSwithUser({
- tourist_uid: touristId
- });
- }
- }
- } else if (this.userInfo.uid) {
- this.getSwithUser({
- uid: this.userInfo.uid
- })
- } else if (this.userInfo.touristId) {
- console.log(this.userInfo.touristId)
- this.getSwithUser({
- tourist_uid: this.userInfo.touristId
- })
- }
- },
- methods: {
- reloadList() {
- this.reloading = true;
- this.limitTemp = this.goodFrom.limit;
- this.goodFrom.limit *= this.goodFrom.page;
- this.goodFrom.page = 1;
- if (this.activityFrom.type) {
- this.limitTemp = this.activityFrom.limit;
- this.activityFrom.limit *= this.activityFrom.page;
- this.activityFrom.page = 1;
- }
- },
- getSwithUser(data) {
- swithUser(data).then(res => {}).catch(err => {
- this.$Message.error(err.msg);
- })
- },
- ceshi() {
- this.$router.push({
- path: `${Setting.roterPre}/auxScreen/login`
- })
- },
- jsToJava() {
- try {
- window.Jsbridge.invoke('openCacheBox', JSON.stringify({
- 'p1-key': 'p1-value'
- }), this.myFunction());
- } catch (e) {
- }
- },
- myFunction() {
- console.log('myFunction called222');
- },
- tapDiscount() {
- this.formItem.price =
- this.$computes
- .Mul(this.unchangedPrice || 0, this.discountPrice / 100 || 0)
- .toFixed(2) || 0;
- },
- tapPrice() {
- this.formItem.price = Number(this.formItem.price.toFixed(2));
- let num = this.$computes.Div(
- this.formItem.price || 0,
- this.unchangedPrice || 0
- );
- this.discountPrice = Number((num * 100).toFixed(2)) || 0;
- },
- cancelPrice() {
- this.formItem.price = this.priceInfo.payPrice || 0;
- this.tapPrice();
- },
- getSuccess(e) {
- let money = this.$computes.Add(this.userInfo.now_money, e);
- this.userInfo.now_money = money;
- let storage = window.localStorage;
- storage.setItem("cashierUser", JSON.stringify(this.userInfo));
- },
- clear() {
- this.priceInfo.couponPrice = 0;
- this.priceInfo.payPrice = 0;
- this.priceInfo.deductionPrice = 0;
- this.priceInfo.totalPrice = 0;
- this.priceInfo.vipPrice = 0;
- this.priceInfo.sumPrice = 0;
- this.cartList = [];
- this.promotionsList = [];
- this.cartSum = 0;
- this.collection = 0;
- this.collectionArray = [];
- this.createOrder.change_price = 0;
- this.createOrder.remarks = "";
- this.coupon = false;
- this.couponId = 0;
- this.integral = false;
- this.createOrder.is_price = 0;
- this.activityFrom.type = 0;
- this.goodFrom.cate_id = "";
- },
- cancel() {
- this.collection = 0;
- this.collectionArray = [];
- },
- // 挂单区删除
- hangDel(row, index) {
- cashierHang(row.id)
- .then((res) => {
- if (this.tableHang.length == 1) {
- this.lodgeFrom.page = 1;
- this.hangList();
- } else {
- this.tableHang.splice(index, 1);
- this.totalHang = this.totalHang - 1;
- }
- this.hangData[index].is_check = 1;
- this.$Message.success(res.msg);
- })
- .catch((err) => {
- this.$Message.error(err.msg);
- });
- },
- // 点击左侧挂单
- hangDataTap(index, item) {
- this.activeHangon = index;
- this.checkOut = 0;
- let touristId = item.tourist_uid;
- let data = {
- uid: item.uid,
- };
- this.activityFrom.type = 0;
- if (item.uid) {
- this.userInfoData(data);
- } else {
- this.setUp(touristId);
- this.getSwithUser({
- tourist_uid: touristId
- })
- }
- },
- // 挂单列表
- hangList() {
- this.loading = true;
- let storeId = this.storeInfos.id;
- getHangList(storeId, this.lodgeFrom)
- .then((res) => {
- this.loading = false;
- this.tableHang = res.data.data;
- this.totalHang = res.data.count;
- })
- .catch((err) => {
- this.loading = false;
- this.$Message.error(err.msg);
- });
- },
- pageHangChange(e) {
- this.lodgeFrom.page = e;
- this.hangList();
- },
- // 提单;
- billHang(item, index) {
- this.checkOut = 0;
- this.activeHangon = index;
- let touristId = item.tourist_uid;
- let data = {
- uid: item.uid,
- };
- if (item.uid) {
- this.userInfoData(data);
- } else {
- this.setUp(touristId);
- }
- },
- //快速挂单列表(最左侧的)
- hangDataList() {
- let storeId = this.storeInfos.id;
- getHang(storeId)
- .then((res) => {
- this.hangData = res.data;
- this.defaultSel();
- })
- .catch((err) => {
- this.$Message.error(err.msg);
- });
- },
- //保存挂单
- lodgeTap() {
- // let data = {
- // cart_ids: this.createOrder.cart_id,
- // uid: this.userInfo.uid || 0,
- // tourist_uid: this.userInfo.touristId || "",
- // staff_id: this.storeInfos.id,
- // price: this.priceInfo.payPrice || 0,
- // };
- let userInfo = {
- avatar: require("@/assets/images/yonghu.png"),
- nickname: "游客",
- uid: 0,
- touristId: this.userInfo.touristId,
- };
- this.userInfo = userInfo;
- let storage = window.localStorage;
- storage.setItem("cashierUser", JSON.stringify(userInfo));
- setTimeout((e) => {
- this.hangDataTap(0, this.hangData[0]);
- }, 500);
- // postCashierHang(data)
- // .then((res) => {
- // this.activeHangon = -1;
- // this.$Message.success(res.msg);
- // this.hangDataList();
- // this.hangList();
- // this.setUp();
- // })
- // .catch((err) => {
- // this.$Message.error(err.msg);
- // });
- },
- //搜索挂单
- storeSearch() {
- this.lodgeFrom.page = 1;
- this.hangList();
- },
- //默认选中
- defaultSel(type) {
- let uid = this.userInfo.uid;
- let touristId = this.userInfo.touristId;
- if (uid) {
- let flag = 0;
- this.hangData.forEach((item, index) => {
- if (item.uid == uid) {
- flag = 1;
- this.activeHangon = index;
- }
- });
- if (!flag) {
- this.activeHangon = -1;
- }
- } else if (touristId) {
- this.activeHangon = -1;
- this.hangData.forEach((item, index) => {
- if (item.tourist_uid == touristId) {
- this.activeHangon = index;
- }
- });
- if (this.activeHangon == -1) {
- this.activeHangon = 0;
- this.userInfo.touristId = this.hangData[0].tourist_uid;
- this.getSwithUser({
- tourist_uid: this.userInfo.touristId
- })
- }
- }
- },
- // 充值
- rechargeBnt() {
- this.rechargeVisible = true;
- },
- //点击出现优惠明细
- discountCon() {
- this.discount = true;
- },
- //现金收款创建订单并支付
- cashBnt(payNum) {
- if (this.cashBntLoading) return;
- this.cashBntLoading = true;
- if (this.isOrderCreate) {
- this.getCashierPay("cash");
- } else {
- if (this.rechargeVisible) {
- this.rechargeBalance(payNum);
- } else {
- this.orderCreate();
- }
- }
- setTimeout(() => {
- this.cashBntLoading = false;
- }, 1000);
- },
- //清除计算机输入的数字
- delNum(type) {
- if (type === -1) {
- this.collectionArray = [];
- } else {
- this.collectionArray.pop();
- }
- this.collection = this.collectionArray.length ?
- this.collectionArray.join("") :
- 0;
- },
- //输入实际收款金额
- numTap(item) {
- if (this.defaultcalc === false) {
- this.collection = "";
- this.defaultcalc = true;
- }
- let x = String(this.collection).indexOf(".") + 1;
- let y = String(this.collection).length - x;
- console.log(x, y);
- if (x === 0 || y < 2) {
- if (this.collectionArray.join("") <= 9999999) {
- this.collectionArray.push(item);
- }
- this.collection =
- this.collectionArray.join("") > 99999999 ?
- 99999999 :
- this.collectionArray.join("");
- }
- },
- checkOrderTime(msg) {
- let that = this;
- let num = 1;
- let timer = (this.orderSystem.timer = setInterval(function() {
- that.confirmOrder(timer, msg);
- num++;
- if (num >= 60) {
- clearInterval(timer);
- msg();
- that.isOrderCreate = 1;
- that.$Message.success("支付失败");
- }
- }, 1000));
- },
- confirmOrder(timer, msg) {
- let data = {
- order_id: this.orderId,
- };
- checkOrderApi(3, data)
- .then((res) => {
- if (res.data.status == true) {
- msg();
- clearInterval(timer);
- this.isOrderCreate = 0;
- this.$Message.success("支付成功");
- this.goodList();
- this.modalPay = false;
- this.changePoints();
- let storage = window.localStorage;
- storage.setItem("cashierUser", JSON.stringify(this.userInfo));
- this.clear();
- }
- })
- .catch((err) => {
- msg();
- this.$Message.error(err.msg);
- });
- },
- payPrice(payType) {
- this.payType = payType;
- if (payType == "" || payType == "yue") {
- this.createOrder.userCode = "";
- this.createOrder.auth_code = "";
- // this.payNum = "";
- // if (payType == '' || this.priceInfo.is_cashier_yue_pay_verify) {
- // // this.modalPay = true;
- // let that = this;
- // this.$nextTick(() => {
- // // this.$refs.focusNum.focus();
- // document.onkeydown = function(e) {
- // if (e.which == 13) {
- // if (that.payNum) {
- // that.createOrder.userCode = that.payNum;
- // that.createOrder.auth_code = that.payNum;
- // that.confirm();
- // }
- // if (that.codeNum) {
- // that.codeInfo({
- // bar_code: that.codeNum,
- // });
- // }
- // }
- // };
- // });
- // } else {
- // this.confirm();
- // }
- } else if (payType == "cash") {
- // this.modalCash = true;
- // this.collection = this.priceInfo.payPrice ? this.priceInfo.payPrice : 0;
- this.keyboard();
- }
- this.createOrder.integral = this.integral;
- this.createOrder.coupon = this.coupon;
- this.createOrder.coupon_id = this.couponId;
- if (this.coupon && !this.couponId)
- return this.$Message.error("请选择有效优惠券");
- this.createOrder.pay_type = payType;
- this.createOrder.staff_id = this.storeInfos.id;
- // this.fapi.resetFields();
- },
- // 线上支付和余额支付
- confirm(payNum) {
- this.createOrder.userCode = payNum;
- this.createOrder.auth_code = payNum;
- if (this.payType == "yue") {
- // this.createOrder.userCode = this.payNum;
- if (!this.createOrder.userCode && this.priceInfo.is_cashier_yue_pay_verify) {
- return this.$Message.error("请扫描个人中心二维码");
- }
- if (this.isOrderCreate) {
- this.getCashierPay("yue");
- } else {
- this.orderCreate();
- }
- } else if (this.payType == "") {
- // this.createOrder.auth_code = this.payNum;
- if (!this.createOrder.auth_code) {
- return this.$Message.error("请扫描您的付款码");
- }
- if (this.isOrderCreate) {
- this.getCashierPay("");
- } else {
- this.orderCreate();
- }
- }
- },
- modalPayCancel() {
- this.$Message.destroy();
- if (this.orderSystem.timer) {
- clearInterval(this.orderSystem.timer);
- this.orderSystem.timer = null;
- }
- },
- getCashierPay(payType) {
- let data = {
- payType: payType,
- userCode: this.payNum,
- auth_code: this.payNum,
- };
- if (payType == "cash") {
- if (parseFloat(this.priceInfo.payPrice) > parseFloat(this.collection)) {
- return this.$Message.error("您付款金额不足");
- }
- }
- cashierPay(this.orderId, data)
- .then((res) => {
- this.payNum = "";
- if (res.data.status == "SUCCESS") {
- this.isOrderCreate = 0;
- this.$Message.success("支付成功");
- this.modalCash = false;
- this.modalPay = false;
- this.changePoints();
- let storage = window.localStorage;
- storage.setItem("cashierUser", JSON.stringify(this.userInfo));
- this.clear();
- this.goodList();
- //现金收款打开钱箱
- if (payType == "cash") {
- this.jsToJava();
- }
- } else if (res.data.status == "PAY_ING") {
- let msg = this.$Message.loading({
- content: "等待支付中...",
- duration: 0,
- });
- this.orderSystem.loadingMsg = msg;
- this.orderId = res.data.order_id;
- this.checkOrderTime(msg);
- // this.confirmOrder();
- } else {
- this.isOrderCreate = 1;
- this.orderId = res.data.order_id;
- this.$Message.error(res.data.message);
- }
- })
- .catch((err) => {
- this.payNum = "";
- this.$Message.error(err.msg);
- });
- },
- // 创建订单
- orderCreate() {
- if (this.payType == "cash") {
- if (parseFloat(this.priceInfo.payPrice) > parseFloat(this.collection)) {
- return this.$Message.error("您付款金额不足");
- }
- }
- this.createOrder.tourist_uid = this.userInfo.touristId;
- if (this.activityFrom.type == 5) {
- this.createOrder.cart_id = [this.seckillOrderId];
- this.createOrder.new = 1;
- } else if (this.storeInfo.product_type == 4) {
- this.createOrder.new = 1;
- }
- cashierCreate(this.userInfo.uid, this.createOrder)
- .then((res) => {
- let storage = window.localStorage;
- this.payNum = "";
- if (this.payType == "yue") {
- // this.modalPay = false;
- this.settleVisible = false;
- this.payNum = "";
- this.createOrder.userCode = "";
- if (res.data.status == "ORDER_CREATE") {
- this.isOrderCreate = 1;
- this.orderId = res.data.order_id;
- this.$Message.success(res.data.message);
- } else if (res.data.status == "SUCCESS") {
- this.isOrderCreate = 0;
- this.$Message.success("支付成功");
- let money = this.$computes.Sub(
- this.userInfo.now_money,
- this.priceInfo.payPrice
- );
- this.userInfo.now_money = money;
- this.changePoints();
- this.payTypeModal = false;
- // this.modalPay = false;
- storage.setItem("cashierUser", JSON.stringify(this.userInfo));
- // this.goodList();
- this.clear();
- } else {
- this.isOrderCreate = 1;
- this.orderId = res.data.order_id;
- this.$Message.error(res.data.message);
- }
- }
- if (this.payType == "cash") {
- if (res.data.status == "SUCCESS") {
- this.$Message.success("支付成功");
- // storage.removeItem("cashierUser");
- // this.userInfo = null;
- if (this.userInfo.uid) {
- this.changePoints();
- }
- storage.setItem("cashierUser", JSON.stringify(this.userInfo));
- // this.goodList();
- // this.modalCash = false;
- this.payTypeModal = false;
- this.settleVisible = false;
- this.clear();
- this.jsToJava();
- }
- }
- if (this.payType == "") {
- this.payNum = "";
- this.createOrder.auth_code = "";
- if (res.data.status == "ORDER_CREATE") {
- this.isOrderCreate = 1;
- this.orderId = res.data.order_id;
- this.$Message.success(res.data.message);
- } else if (res.data.status == "PAY_ING") {
- let msg = this.$Message.loading({
- content: "等待支付中...",
- duration: 0,
- });
- this.orderId = res.data.order_id;
- this.checkOrderTime(msg);
- } else if (res.data.status == "SUCCESS") {
- this.$Message.success("支付成功");
- // storage.removeItem("cashierUser");
- // this.userInfo = null;
- // this.setUp();
- this.changePoints();
- storage.setItem("cashierUser", JSON.stringify(this.userInfo));
- // this.goodList();
- // this.modalPay = false;
- this.settleVisible = false;
- this.clear();
- } else {
- this.isOrderCreate = 1;
- this.orderId = res.data.order_id;
- this.$Message.error(res.data.message);
- }
- }
- })
- .catch((err) => {
- console.log(err)
- this.payNum = "";
- this.$Message.error(err.msg);
- });
- },
- //更新积分、更新左侧挂单、更新挂单(此函数支付成功调用)
- changePoints() {
- let usedIntegral = this.$computes.Sub(
- this.userInfo.integral,
- this.priceInfo.usedIntegral
- );
- this.userInfo.integral = usedIntegral;
- // this.hangDataList();
- //顶部挂单列表中删除刚才支付成功的用户
- this.hangData.splice(this.activeHangon, 1);
- //重置默认选中
- this.activeHangon = 0;
- this.hangDataTap(0, this.hangData[0]);
- //
- this.tableHang.forEach((item, index) => {
- if (item.uid) {
- if (this.userInfo.uid == item.uid) {
- this.tableHang.splice(index, 1);
- }
- } else {
- if (this.userInfo.touristId == item.tourist_uid) {
- this.tableHang.splice(index, 1);
- }
- }
- });
- },
- changeModal(n) {
- if (!n) {
- this.cartCompute();
- }
- },
- // 计算金额
- cartCompute(cartId) {
- let ids = [];
- if (cartId) {
- ids = [cartId];
- } else {
- if (!this.cartList.length) {
- this.priceInfo = {};
- return;
- }
- this.cartList.forEach((item) => {
- item.cart.forEach((good) => {
- ids.push(good.id);
- });
- });
- }
- this.createOrder.cart_id = ids;
- let data = {
- integral: this.integral,
- coupon: this.coupon,
- coupon_id: this.couponId,
- cart_id: ids,
- };
- if (cartId) {
- data.new = 1;
- }
- cashierCompute(this.userInfo.uid, data)
- .then((res) => {
- this.priceInfo = res.data;
- this.unchangedPrice = this.priceInfo.payPrice || 0;
- this.formItem.price = this.priceInfo.payPrice || 0;
- this.tapPrice();
- if (cartId) {
- this.openSettle();
- }
- })
- .catch((err) => {
- this.$Message.error(err.msg);
- this.coupon = false;
- });
- },
- // 点击使用优惠券
- couponTap() {
- this.$refs.coupon.modals = true;
- this.$refs.coupon.currentid = this.couponId || 0;
- this.$refs.coupon.getList();
- },
- getCouponId(e) {
- this.couponId = e.id;
- this.coupon = true;
- this.$refs.coupon.modals = false;
- if (e.id) this.createOrder.is_price = 0;
- this.cartCompute();
- },
- closeCoupon() {
- this.coupon = false;
- this.couponId = 0;
- this.cartCompute();
- },
- // 是否使用积分
- integralTap() {
- if (!this.userInfo.uid) {
- this.$Message.warning("请先选择用户再使用积分");
- return;
- }
- this.integral = !this.integral;
- if (this.integral) this.createOrder.is_price = 0;
- this.cartCompute();
- },
- changePrice() {
- this.modal2 = true;
- },
- remarks() {
- // this.fapi.resetFields();
- this.modal = true;
- },
- // 提交备注
- onSubmit() {
- this.modal = false;
- },
- onSubmit2() {
- if (this.formItem.price >= 0 && this.formItem.price != null) {
- this.priceInfo.payPrice = this.formItem.price;
- this.$Message.success("改价成功");
- this.createOrder.is_price = 1;
- this.createOrder.change_price = this.formItem.price;
- this.getSwithUser({
- change_price: this.formItem.price
- });
- this.cancelPrice();
- this.modal2 = false;
- } else {
- return this.$Message.error("价格不能为空");
- }
- },
- // 删除
- del(ids, type, index, num, name) {
- this.$Modal.confirm({
- title: "删除该购物车",
- content: "<p>确定要删除该购物车吗?</p><p>删除该购物车后将无法恢复,请谨慎操作!</p>",
- onOk: () => {
- cashierCartDel(this.userInfo.uid, ids)
- .then((res) => {
- this.$Message.success("删除成功");
- this.reloadList();
- this.goodList(this.activityFrom.type);
- if (type) {
- this.clear();
- this.invalidList = [];
- this.hangDataList();
- } else {
- if (name == "inv" && num) {
- this.invalidList.splice(index, 1);
- } else {
- this.cartList[index].cart.splice(num, 1);
- if (this.cartList.length) {
- this.getCartList();
- // if (this.activityFrom.type) {
- // this.goodList(this.activityFrom.type);
- // } else {
- // // this.goodList();
- // }
- } else {
- this.hangDataList();
- this.clear();
- }
- }
- // this.cartSum = this.cartSum - 1;
- }
- })
- .catch((err) => {
- this.$Message.error(err.msg);
- });
- },
- onCancel: () => {},
- });
- },
- delAll() {
- let ids = [];
- if (!this.cartList.length && !this.invalidList.length)
- return this.$Message.warning("购物车暂无商品");
- this.cartList.forEach((item) => {
- item.cart.forEach((good) => {
- ids.push(good.id);
- });
- });
- this.getSwithUser({
- chang_cart_remove: 1
- });
- this.invalidList.forEach((item) => {
- ids.push(item.id);
- });
- this.del({
- ids: ids,
- },
- 1
- );
- },
- delCart(item, index, num, type) {
- let ids = [];
- ids.push(item.id);
- this.del({
- ids: ids,
- },
- 0,
- index,
- num,
- type
- );
- },
- // 点击切换属性
- cartAttr(item) {
- this.disabled = false;
- this.$refs.attrs.modals = true;
- this.isCart = 1;
- this.cartInfo.cart_id = item.id;
- this.cartInfo.product_id = item.product_id;
- this.goodsInfo(item.product_id);
- },
- // 加入购物车
- joinCart(num) {
- let that = this;
- if (num) {
- let productSelect = that.productValue[this.attrValue];
- //如果有属性,没有选择,提示用户选择
- if (that.attr.productAttr.length && productSelect === undefined) {
- return this.$Message.warning("产品库存不足,请选择其它");
- }
- }
- if (this.activeHangon == -1) this.activeHangon = 0;
- // let uid = this.userInfo.uid;
- let uid = this.hangData[this.activeHangon].uid || this.userInfo.uid || 0;
- let data = {
- productId: this.productId,
- seckillId: this.seckillId,
- cartNum: 1,
- uniqueId: num ?
- this.attr.productSelect !== undefined ?
- this.attr.productSelect.unique :
- "" :
- "",
- staff_id: this.storeInfos.id,
- tourist_uid: this.userInfo.touristId,
- new: Number(this.storeInfo.product_type === 4),
- };
- cashierCart(uid, data)
- .then((res) => {
- if (this.storeInfo.product_type === 4) {
- this.$refs.skillAttrs.modals = false;
- this.cartCompute(res.data.cartId);
- return false;
- }
- this.$refs.attrs.modals = false;
- this.$Message.success("添加购物车成功");
- this.getCartList();
- if (this.activityFrom.type) {
- this.reloadList();
- this.goodList(this.activityFrom.type);
- } else {
- //如果是扫码查询商品摒弃直接加入购物车的情况下,在加入购物车成功以后,清空输入框的内容,重新请求列表
- this.goodFrom.store_name = "";
- this.reloadList();
- this.goodList();
- }
- this.hangDataList();
- this.disabled = true;
- })
- .catch((err) => {
- this.$Message.error(err.msg);
- });
- },
- // 购物车加减
- cartChange(item) {
- let uid = item.uid;
- let data = {
- number: item.cart_num,
- id: item.id,
- };
- cashierCartNum(uid, data)
- .then((res) => {
- this.cartCompute();
- })
- .catch((err) => {
- this.$Message.error(err.msg);
- });
- },
- changeCart(e, item) {
- let uid = item.uid;
- let data = {
- number: item.cart_num,
- id: item.id,
- };
- cashierCartNum(uid, data)
- .then((res) => {
- this.getCartList();
- this.cartCompute();
- this.reloadList();
- this.goodList(this.activityFrom.type);
- })
- .catch((err) => {
- if (type === "reduce" && item.cart_num > 1) {
- item.cart_num++;
- } else if (type === "add" && item.cart_num < item.branch_stock) {
- item.cart_num--;
- }
- this.$Message.error(err.msg);
- });
- },
- calculate(item, type) {
- if (this.cumping) return;
- if (type === "reduce" && item.cart_num > 1) {
- item.cart_num--;
- } else if (type === "add" && item.cart_num < item.branch_stock) {
- item.cart_num++;
- } else {
- return this.$Message.error(
- item.cart_num === 1 ? "数量最小为1" : "库存不足"
- );
- }
- let uid = item.uid;
- let data = {
- number: item.cart_num,
- id: item.id,
- };
- this.cumping = true;
- cashierCartNum(uid, data)
- .then((res) => {
- this.getCartList();
- this.cartCompute();
- this.reloadList();
- this.goodList(this.activityFrom.type);
- })
- .catch((err) => {
- if (type === "reduce" && item.cart_num > 1) {
- item.cart_num++;
- } else if (type === "add" && item.cart_num < item.branch_stock) {
- item.cart_num--;
- }
- this.$Message.error(err.msg);
- });
- },
- changeCartAttr() {
- this.cartInfo.unique =
- this.attr.productSelect !== undefined ?
- this.attr.productSelect.unique :
- "";
- cashierchangeCart(this.cartInfo)
- .then((res) => {
- this.disabled = true;
- this.$Message.success(res.msg);
- this.$refs.attrs.modals = false;
- this.getCartList();
- // this.cartList.forEach(res => {
- // if (res.id == this.cartInfo.cart_id) {
- // res.productInfo.attrInfo.suk = this.attrValue;
- // res.truePrice = this.attr.productSelect.price;
- // }
- // })
- this.cartCompute();
- })
- .catch((err) => {
- this.$Message.error(err.msg);
- });
- },
- goCat(e) {
- if (e) {
- this.changeCartAttr();
- } else {
- this.joinCart(1);
- }
- },
- //秒杀购买
- goPay() {
- if (this.storeInfo.product_type === 4) {
- this.joinCart(0);
- } else {
- this.joinSkillCart(0);
- }
- },
- joinSkillCart(num) {
- let that = this;
- if (num) {
- let productSelect = that.productValue[this.attrValue];
- //如果有属性,没有选择,提示用户选择
- if (that.attr.productAttr.length && productSelect === undefined) {
- return this.$Message.warning("产品库存不足,请选择其它");
- }
- }
- let uid = this.userInfo.uid;
- let data = {
- productId: this.productId,
- secKillId: this.seckillId,
- cartNum: 1,
- uniqueId: this.attr.productSelect.unique,
- staff_id: this.storeInfos.id,
- tourist_uid: this.userInfo.touristId,
- new: 1,
- };
- cashierCart(uid, data)
- .then((res) => {
- this.seckillOrderId = res.data.cartId;
- this.$refs.skillAttrs.modals = false;
- // this.payTypeModal = true;
- this.cartComputeActivity(res.data.cartId);
- this.disabled = true;
- })
- .catch((err) => {
- this.$Message.error(err.msg);
- });
- },
- // 获取用户详情
- getUserDetail() {
- if (this.userInfo.uid) {
- this.$refs.userDetails.modals = true;
- this.$refs.userDetails.activeName = "info";
- this.$refs.userDetails.getDetails(this.userInfo.uid);
- }
- },
- // 购物车列表
- getCartList() {
- let uid = this.userInfo.uid;
- let staffId = this.storeInfos.id;
- if (uid >= 0) {
- let data = {
- tourist_uid: this.userInfo.touristId
- };
- cashierCartList(uid, staffId, data)
- .then((res) => {
- this.cartList = res.data.valid;
- this.invalidList = res.data.invalid;
- this.cartSum = res.data.count;
- // this.promotionsList = res.data.promotions;
- // this.cartSum = res.data.valid.length;
- if (res.data.valid.length) {
- this.cartCompute();
- } else {
- this.clear();
- }
- })
- .catch((err) => {
- this.$Message.error(err.msg);
- })
- .finally((e) => {
- this.cumping = false;
- });
- } else {
- this.$Message.error("请添加或选择用户");
- }
- },
- // 选择属性
- attrTap(item) {
- this.disabled = false;
- if (this.userInfo && this.userInfo.uid >= 0) {
- this.productId = item.product_id;
- if (!item.stock) return this.$Message.error("暂无库存");
- // if (this.activityFrom.type === "5") {
- // this.seckillId = item.id;
- // this.isCart = 0; //判断切换属性或是加入购物车:0加入购物车;1切换属性
- // this.$refs.skillAttrs.modals = true;
- // this.cashierGetAttr(item.id);
- // } else if (item.spec_type) {
- // this.isCart = 0; //判断切换属性或是加入购物车:0加入购物车;1切换属性
- // this.$refs.attrs.modals = true;
- // this.goodsInfo(item.product_id || item.id);
- // } else if (item.product_type === 4) {
- // // this.isCart = 0; //判断切换属性或是加入购物车:0加入购物车;1切换属性
- // // this.$refs.attrs.modals = true;
- // // this.goodsInfo(item.product_id || item.id);
- // } else {
- // console.log(666)
- // // 0为单规格属性
- // this.joinCart(0);
- // }
- if (this.activityFrom.type === "5") {
- this.seckillId = item.id;
- this.isCart = 0; //判断切换属性或是加入购物车:0加入购物车;1切换属性
- this.$refs.skillAttrs.modals = true;
- this.cashierGetAttr(item.id);
- } else if (item.spec_type) {
- this.isCart = 0; //判断切换属性或是加入购物车:0加入购物车;1切换属性
- this.$refs.attrs.modals = true;
- this.goodsInfo(item.product_id || item.id);
- } else {
- // 0为单规格属性
- if (item.product_type === 4) {
- this.isCart = 0;
- this.$refs.skillAttrs.modals = true;
- this.goodsInfo(item.product_id || item.id);
- } else {
- this.joinCart(0);
- }
- }
- } else {
- this.$Message.error("请添加或选择用户");
- }
- },
- // 商品详情
- goodsInfo(id) {
- cashierDetail(id, this.userInfo.uid)
- .then((res) => {
- let data = res.data;
- this.storeInfo = data.storeInfo;
- this.productValue = data.productValue;
- this.$set(this.attr, "productAttr", data.productAttr);
- this.DefaultSelect();
- })
- .catch((err) => {
- this.$Message.error(err.msg);
- });
- },
- // 商品详情
- cashierGetAttr(id) {
- cashierGetAttr(id, this.userInfo.uid)
- .then((res) => {
- let data = res.data;
- this.storeInfo = data.storeInfo;
- this.productValue = data.productValue;
- this.$set(this.attr, "productAttr", data.productAttr);
- this.DefaultSelect();
- })
- .catch((err) => {
- this.$Message.error(err.msg);
- });
- },
- /**
- * 默认选中属性
- *
- */
- DefaultSelect: function() {
- let productAttr = this.attr.productAttr;
- let value = [];
- for (var key in this.productValue) {
- if (this.productValue[key].stock > 0) {
- value = this.attr.productAttr.length ? key.split(",") : [];
- break;
- }
- }
- //isCart 1为触发购物车 0为商品
- if (this.isCart) {
- //购物车默认打开时,随着选中的属性改变
- let attrValue = [];
- // this.cartList.forEach((res) => {
- // if (res.id == this.cartInfo.cart_id) {
- // attrValue = res.productInfo.attrInfo.suk.split(",");
- // }
- // });
- this.cartList.forEach((item) => {
- item.cart.forEach((res) => {
- if (res.id == this.cartInfo.cart_id) {
- attrValue = res.productInfo.attrInfo.suk.split(",");
- }
- });
- });
- for (let i = 0; i < productAttr.length; i++) {
- this.$set(productAttr[i], "index", attrValue[i]);
- }
- } else {
- for (let i = 0; i < productAttr.length; i++) {
- this.$set(productAttr[i], "index", value[i]);
- }
- }
- //sort();排序函数:数字-英文-汉字;
- let productSelect = this.productValue[value.join(",")];
- if (productSelect && productAttr.length) {
- this.$set(
- this.attr.productSelect,
- "store_name",
- this.storeInfo.store_name
- );
- this.$set(this.attr.productSelect, "image", productSelect.image);
- this.$set(this.attr.productSelect, "price", productSelect.price);
- this.$set(this.attr.productSelect, "stock", productSelect.stock);
- this.$set(this.attr.productSelect, "unique", productSelect.unique);
- this.$set(this.attr.productSelect, "cart_num", 1);
- this.$set(this, "attrValue", value.join(","));
- } else if (!productSelect && productAttr.length) {
- this.$set(
- this.attr.productSelect,
- "store_name",
- this.storeInfo.store_name
- );
- this.$set(this.attr.productSelect, "image", this.storeInfo.image);
- this.$set(this.attr.productSelect, "price", this.storeInfo.price);
- this.$set(this.attr.productSelect, "stock", 0);
- this.$set(this.attr.productSelect, "unique", "");
- this.$set(this.attr.productSelect, "cart_num", 0);
- this.$set(this, "attrValue", "");
- } else if (!productSelect && !productAttr.length) {
- this.$set(
- this.attr.productSelect,
- "store_name",
- this.storeInfo.store_name
- );
- this.$set(this.attr.productSelect, "image", this.storeInfo.image);
- this.$set(this.attr.productSelect, "price", this.storeInfo.price);
- this.$set(this.attr.productSelect, "stock", this.storeInfo.stock);
- this.$set(
- this.attr.productSelect,
- "unique",
- this.storeInfo.unique || ""
- );
- this.$set(this.attr.productSelect, "cart_num", 1);
- this.$set(this, "attrValue", "");
- }
- },
- /**
- * 属性变动赋值
- *
- */
- ChangeAttr(res) {
- let productSelect = this.productValue[res];
- if (productSelect && productSelect.stock > 0) {
- this.$set(this.attr.productSelect, "image", productSelect.image);
- this.$set(this.attr.productSelect, "price", productSelect.price);
- this.$set(this.attr.productSelect, "stock", productSelect.stock);
- this.$set(this.attr.productSelect, "unique", productSelect.unique);
- this.$set(this.attr.productSelect, "cart_num", 1);
- this.$set(
- this.attr.productSelect,
- "vip_price",
- productSelect.vip_price
- );
- this.$set(this, "attrValue", res);
- } else {
- this.$set(this.attr.productSelect, "image", this.storeInfo.image);
- this.$set(this.attr.productSelect, "price", this.storeInfo.price);
- this.$set(this.attr.productSelect, "stock", 0);
- this.$set(this.attr.productSelect, "unique", "");
- this.$set(this.attr.productSelect, "cart_num", 0);
- this.$set(
- this.attr.productSelect,
- "vip_price",
- this.storeInfo.vip_price
- );
- this.$set(this, "attrValue", "");
- }
- },
- storeTap() {
- this.$refs.store.modals = true;
- this.$refs.store.cancel();
- },
- setUp(touristId, init) {
- let timestamp = new Date().getTime();
- let userInfo = {
- avatar: require("@/assets/images/yonghu.png"),
- nickname: "游客",
- uid: 0,
- touristId: touristId || timestamp,
- };
- if (!touristId) {
- this.getSwithUser({
- tourist_uid: timestamp
- })
- }
- this.userInfo = userInfo;
- let storage = window.localStorage;
- storage.setItem("cashierUser", JSON.stringify(userInfo));
- if (init) return;
- this.getCartList();
- this.reloadList();
- this.goodList();
- },
- // 选择用户
- changeMenu(name) {
- if (name == 1) {
- this.setUser();
- } else {
- this.activeHangon = -1;
- this.clear();
- this.setUp();
- }
- },
- // 修改用户
- setUser() {
- this.modalUser = true;
- // this.$refs.users.currentid = 0;
- // this.$refs.users.modals = true
- // this.$refs.users.cancel();
- },
- // 当前选中门店店员信息
- getStoreId(e) {
- this.clear();
- this.storeList.forEach((i) => {
- if (i.id == e.id) {
- sessionStorage.setItem("staffInfo", JSON.stringify(e));
- this.goodFrom.staff_id = e.id;
- this.storeInfos = i;
- this.getCartList();
- this.reloadList();
- this.goodList();
- this.hangDataList();
- // this.hangList();
- this.getSwithUser({
- cashier_id: e.id
- });
- }
- });
- },
- // 门店店员信息以及门店店员列表
- getUserInfo(e) {
- this.storeInfos = e.users;
- this.storeList = e.storeList;
- this.goodFrom.staff_id = e.users.id;
- sessionStorage.setItem("staffInfo", JSON.stringify(e.users));
- if (this.userInfo) {
- this.getCartList();
- } else {
- this.setUp();
- }
- this.reloadList();
- this.goodList();
- this.hangDataList();
- // this.hangList();
- },
- // 收银台切换购物车用户
- cashierSwitch(data) {
- postCashierSwitch(data, this.storeInfos.id)
- .then((res) => {})
- .catch((err) => {
- this.$Message.error(err.msg);
- });
- },
- getUserId(e) {
- this.clear();
- this.modalUser = false;
- let data = {
- uid: e.uid,
- };
- let dataSwitch = {
- uid: this.userInfo.touristId,
- to_uid: e.uid,
- is_tourist: 1,
- };
- this.cashierSwitch(dataSwitch);
- this.userInfoData(data);
- this.getSwithUser({
- uid: e.uid
- });
- },
- checkUser() {
- this.userInfoShow = false;
- this.goodFrom.store_name = "";
- this.getUserId(this.modalUserInfo);
- },
- // 获取收银台用户信息
- userInfoData(data, init) {
- cashierUser(data)
- .then((res) => {
- this.userInfo = res.data;
- let storage = window.localStorage;
- storage.setItem("cashierUser", JSON.stringify(res.data));
- if (init) return;
- this.hangDataList();
- this.getCartList();
- this.reloadList();
- this.goodList();
- this.defaultSel(1);
- })
- .catch((err) => {
- this.$Message.error(err.msg);
- });
- },
- //扫码枪扫码,针对带有字母的
- inputSaoMa(e) {
- // setTimeout定时器的作用是,等待扫码枪输入完,拿到完整的二维码信息,再调接口(扫码枪输入速度大概8~20毫秒,手动输速度大概是80毫秒),否则拿不到完整的二维信息。
- let val = e;
- if (val === "") return false;
- clearTimeout(this.endTimeout);
- this.endTimeout = null;
- this.endTimeout = setTimeout(() => {
- // if (this.payNum === val) {
- // clearTimeout(this.endTimeout)
- // if (val) {
- // this.createOrder.userCode = val;
- // this.createOrder.auth_code = val;
- // this.confirm();
- // }
- // }
- if (this.codeNum === val) {
- clearTimeout(this.endTimeout);
- if (val) {
- this.codeInfo({
- bar_code: val,
- });
- }
- }
- }, 500);
- },
- // 用户详情操作
- operation(type) {
- this.$refs.userDetails.modals = false;
- if (type === 1) {
- this.rechargeBnt();
- } else {
- this.setUser();
- }
- },
- codeInfo(data) {
- data.uid = this.userInfo ? this.userInfo.uid : 0;
- data.staff_id = this.storeInfos.id;
- data.tourist_uid = this.userInfo.touristId;
- if (this.userInfo == null) {
- this.codeNum = "";
- return this.$Message.error("请添加或选择用户");
- }
- cashierCode(data)
- .then((res) => {
- this.codeNum = "";
- let data = res.data;
- if (data.hasOwnProperty("userInfo")) {
- // 用户 Object.keys(this.userInfo).length
- if (this.userInfo) {
- this.$Modal.confirm({
- title: "切换用户",
- content: "<p>确定要切换用户吗?</p>",
- onOk: () => {
- this.userInfo = res.data.userInfo;
- let storage = window.localStorage;
- storage.setItem(
- "cashierUser",
- JSON.stringify(res.data.userInfo)
- );
- this.getCartList();
- },
- onCancel: () => {},
- });
- } else {
- this.userInfo = res.data.userInfo;
- let storage = window.localStorage;
- storage.setItem("cashierUser", JSON.stringify(res.data.userInfo));
- }
- }
- this.goodList();
- this.getCartList();
- })
- .catch((err) => {
- this.codeNum = "";
- this.$Message.error(err.msg);
- });
- },
- //点击分类
- cateTap(item, index) {
- this.currentCate = index;
- this.goodFrom.cate_id = item.id;
- this.goodFrom.promotions_id = 0;
- this.activityFrom.type = 0;
- this.activityFrom.page = 1;
- this.goodFrom.page = 1;
- this.goodFrom.store_name = "";
- this.goodData = [];
- this.activityTypeArr = [];
- this.swiperClickedIndex = 0;
- this.activityFrom.promotions_id = 0;
- if (index !== 1) {
- this.seckillId = 0;
- this.goodList();
- }
- },
- //分类列表
- cateList() {
- cashierCate()
- .then((res) => {
- let all = [{
- cate_name: "全部商品",
- id: "",
- },
- {
- cate_name: "活动商品",
- id: "99999",
- },
- ];
- let data = [...all, ...res.data];
- this.cateData = data;
- })
- .catch((err) => {
- this.$Message.error(err.msg);
- });
- },
- //商品列表
- goodList(type) {
- if (this.activityFrom.type) {
- this.activityFrom.uid = this.userInfo ? this.userInfo.uid : 0;
- this.activityFrom.type = type;
- this.activityFrom.staff_id = this.storeInfos.id;
- if (!this.userInfo.uid)
- this.activityFrom.tourist_uid = this.userInfo.touristId;
- activityList(this.activityFrom).then((res) => {
- let data = res.data;
- this.total = data.count;
- if (this.reloading) {
- this.reloading = false;
- this.activityFrom.limit = this.limitTemp;
- this.goodData = data.list;
- } else {
- this.goodData = this.goodData.concat(data.list);
- }
- });
- } else {
- this.goodFrom.uid = this.userInfo ? this.userInfo.uid : 0;
- if (!this.userInfo.uid)
- this.goodFrom.tourist_uid = this.userInfo.touristId;
- cashierProduct(this.goodFrom)
- .then((res) => {
- let data = res.data;
- this.total = data.count;
- if (this.reloading) {
- this.reloading = false;
- this.goodFrom.limit = this.limitTemp;
- this.goodData = data.list;
- } else {
- this.goodData = this.goodData.concat(data.list);
- }
- if (data.attrValue) {
- // 加入购物车
- this.attr.productSelect.unique = data.attrValue.unique;
- this.productId = data.attrValue.product_id;
- this.joinCart(1);
- }
- if (data.userInfo) {
- this.modalUserInfo = data.userInfo;
- this.userInfoShow = true;
- }
- })
- .catch((err) => {
- this.$Message.error(err.msg);
- });
- }
- },
- // 活动商品列表
- selectaActivity(type) {
- this.goodData = [];
- this.activityFrom.type = type;
- if (this.activityFrom.type != 5) {
- this.activityTypeList(type);
- }
- this.goodList(type);
- },
- cartComputeActivity(id) {
- let data = {
- integral: this.integral,
- coupon: this.coupon,
- coupon_id: this.couponId,
- cart_id: [id],
- new: 1,
- };
- cashierCompute(this.userInfo.uid, data)
- .then((res) => {
- this.priceInfo = res.data;
- this.unchangedPrice = this.priceInfo.payPrice || 0;
- this.formItem.price = this.priceInfo.payPrice || 0;
- this.tapPrice();
- this.openSettle();
- })
- .catch((err) => {
- this.$Message.error(err.msg);
- this.coupon = false;
- });
- },
- // 去凑单
- collectOrder(item) {
- this.currentCate = 1;
- this.activityFrom.promotions_id = item.id;
- this.activityFrom.page = 1;
- this.activityFrom.type = item.promotions_type;
- this.reloadList();
- this.goodList(item.promotions_type);
- },
- //搜索
- orderSearch() {
- this.goodFrom.page = 1;
- this.goodData = [];
- if (this.activityFrom.type) {
- this.activityFrom.page = 1;
- this.activityFrom.store_name = this.goodFrom.store_name;
- this.goodList(this.activityFrom.type);
- } else {
- this.goodFrom.page = 1;
- this.goodList();
- }
- },
- pageChange(event) {
- if (Math.abs(event.target.scrollHeight - event.target.clientHeight - event.target.scrollTop) < 1) {
- if (this.activityFrom.type) {
- this.activityFrom.page++;
- } else {
- this.goodFrom.page++;
- }
- this.goodList(this.activityFrom.type);
- }
- },
- // 监听键盘函数
- keyboard() {
- let that = this;
- function delNums(item) {
- that.collectionArray.pop();
- that.collection = that.collectionArray.length ?
- that.collectionArray.join("") :
- 0;
- }
- function numTaps(item) {
- if (that.defaultcalc === false) {
- that.collection = "";
- that.defaultcalc = true;
- }
- let x = String(that.collection).indexOf(".") + 1;
- let y = String(that.collection).length - x;
- console.log(x, y);
- if (x === 0 || y < 2) {
- if (that.collectionArray.join("") <= 9999999) {
- that.collectionArray.push(item);
- }
- that.collection =
- that.collectionArray.join("") > 99999999 ?
- 99999999 :
- that.collectionArray.join("");
- }
- }
- document.onkeydown = function(event) {
- let e = event || window.event;
- let key = e.keyCode;
- if (that.modalCash) {
- event.stopPropagation(); // 阻止事件冒泡传递
- event.preventDefault(); //阻止默认事件原有功能
- }
- switch (key) {
- case 96:
- case 48:
- numTaps(0);
- break;
- case 97:
- case 49:
- numTaps(1);
- break;
- case 98:
- case 50:
- numTaps(2);
- break;
- case 99:
- case 51:
- numTaps(3);
- break;
- case 100:
- case 52:
- numTaps(4);
- break;
- case 101:
- case 53:
- numTaps(5);
- break;
- case 102:
- case 54:
- numTaps(6);
- break;
- case 103:
- case 55:
- numTaps(7);
- break;
- case 104:
- case 56:
- numTaps(8);
- break;
- case 105:
- case 57:
- numTaps(9);
- break;
- case 110:
- numTaps(".");
- break;
- case 190:
- numTaps(".");
- break;
- case 8:
- delNums();
- break;
- }
- };
- },
- // 打开结算抽屉
- openSettle() {
- this.payList.forEach((value, index, arr) => {
- value.status = true;
- if (value.value === 'yue' && !this.userInfo.uid) {
- value.status = false;
- }
- if (value.status && (!index || !arr[index - 1].status)) {
- this.payType = value.value;
- }
- });
- this.yueVerify = !!this.priceInfo.is_cashier_yue_pay_verify;
- this.settleMoney = this.priceInfo.payPrice;
- this.collection = this.priceInfo.payPrice;
- this.settleVisible = true;
- },
- onRecharge(e) {
- for (let i = 0; i < this.payList.length; i++) {
- this.payList[i].status = this.payList[i].value !== 'yue';
- if (!this.payList[i].status) {
- continue;
- }
- if (!i || !this.payList[i - 1].status) {
- this.payType = this.payList[i].value;
- }
- }
- this.yueVerify = !!this.priceInfo.is_cashier_yue_pay_verify;
- this.settleMoney = e.price;
- this.collection = e.price;
- this.rechargeData.rechar_id = e.rechar_id;
- this.rechargeData.price = e.price;
- this.zIndex = 1 + Number(this.$refs.recharge.$el.querySelector('.ivu-modal-mask').style.zIndex);
- this.settleVisible = true;
- },
- activityTypeList(type) {
- activityTypeList(type).then(res => {
- this.activityTypeArr = [{
- desc: '全部',
- id: 0
- },
- ...res.data
- ];
- });
- },
- readySwiper(swiper) {
- this.swiper = swiper;
- },
- clickSwiper() {
- if (this.swiper.clickedIndex === undefined || this.swiper.clickedIndex === this.swiperClickedIndex) {
- return false;
- }
- this.swiperClickedIndex = this.swiper.clickedIndex;
- this.activityFrom.page = 1;
- this.activityFrom.promotions_id = this.activityTypeArr[this.swiperClickedIndex].id;
- this.goodData = [];
- this.goodList(this.activityFrom.type);
- },
- // 充值余额
- rechargeBalance(auth_code) {
- this.rechargeData.uid = this.userInfo.uid;
- this.rechargeData.pay_type = this.payType ? 4 : 3;
- this.rechargeData.auth_code = auth_code || '';
- userSaveApi(this.rechargeData).then((res) => {
- let status = res.data.status;
- switch (status) {
- case 'SUCCESS':
- this.$Message.success('充值成功');
- this.settleVisible = false;
- this.userInfoData({
- uid: this.userInfo.uid
- });
- break;
- case 'PAY_ING':
- let msg = this.$Message.loading({
- content: '等待支付中...',
- duration: 0,
- });
- this.checkOrderTime(msg);
- break;
- default:
- this.$Message.warning('支付失败');
- break;
- }
- }).catch((err) => {
- this.$Message.error(err.msg);
- });
- }
- },
- };
- </script>
- <style lang="stylus" scoped>
- @media screen and (min-width: 2260px) {
- // .goodsCon {
- // .item {
- // width: 19% !important;
- // }
- // .list:after{
- // content:'';
- // width: 20%;
- // }
- // }
- }
- @media screen and (max-width: 1580px) {
- // .goodsCon {
- // .item {
- // width: 32% !important;
- // }
- // .list:after{
- // content:'';
- // width: 33%;
- // }
- // }
- }
- @media screen and (max-width: 1270px) {
- // .goodsCon {
- // .item {
- // width: 49% !important;
- // }
- // }
- }
- ::-webkit-scrollbar-thumb {
- -webkit-box-shadow: inset 0 0 6px #ccc;
- }
- ::-webkit-scrollbar {
- width: 2px !important;
- /* 对垂直流动条有效 */
- }
- /deep/.change-price-modal {
- .ivu-modal-content {
- border-radius: 10px;
- }
- .ivu-modal-body {
- padding: 30px 25px 50px;
- }
- .ivu-form-item:last-child {
- margin-bottom: 0;
- }
- .ivu-form-item-content {
- font-size: 14px !important;
- color: #303133;
- }
- .input-suffix {
- color: #909399;
- }
- .ivu-modal-footer {
- padding: 17px 25px;
- border-top: none;
- }
- .ivu-btn {
- height: 46px;
- border-radius: 23px;
- background: #1890FF;
- font-weight: 500;
- font-size: 16px !important;
- }
- }
- .input-number {
- flex: 1;
- position: relative;
- display: flex;
- align-items: center;
- padding: 0 15px 0 0;
- border: 1px solid #DDDDDD;
- border-radius: 4px;
- .ivu-input-number {
- flex: 1;
- height: 36px;
- border: none;
- &-focused {
- box-shadow: none;
- }
- }
- /deep/.ivu-input-number-handler-wrap {
- display: none;
- }
- /deep/.ivu-input-number-input-wrap {
- height: 36px;
- }
- /deep/.ivu-input-number-input {
- height: 36px;
- padding: 0 15px;
- }
- &.discount {
- flex: none;
- width: 167px;
- margin-left: 12px;
- }
- }
- .changePrice {
- font-weight: 600;
- font-size: 14px;
- color: #F5222D;
- .price {
- font-size: 17px;
- margin-left: 5px;
- }
- }
- .tableList {
- /deep/ .ivu-table-header table {
- border-top: 0 !important;
- }
- /deep/ .ivu-table th,
- /deep/ .ivu-table td {
- border-bottom: 0 !important;
- height: 34px !important;
- }
- /deep/ .ivu-table-cell {
- padding: 0 !important;
- }
- /deep/ .ivu-table th {
- color: #999999;
- }
- }
- .left {
- /deep/ .ivu-form-item {
- margin-bottom: 12px !important;
- }
- }
- .header .ivu-btn {
- width: 56px;
- height: 28px;
- border-radius: 4px;
- border: 1px solid #FFFFFF;
- background-color: unset !important;
- color: #fff;
- &:hover {
- border-color: #ccc;
- color: #ccc;
- }
- }
- .headerCard {
- background: #1890FF;
- border-radius: 0 !important;
- }
- .remark {
- /deep/ .ivu-input-wrapper {
- width: 91% !important;
- }
- /deep/ .ivu-input-number {
- width: 91% !important;
- }
- /deep/ .ivu-form-item-content {
- margin-left: 63px !important;
- }
- /deep/ .ivu-form-item-label {
- width: 63px !important;
- }
- }
- .noCart {
- height: 100%;
- display: flex;
- .tip {
- text-align: center;
- color: #ccc;
- font-size: 14px;
- }
- .picture {
- width: 200px;
- height: 140px;
- margin: 20px 160px;
- img {
- width: 100%;
- height: 100%;
- }
- }
- }
- .goodsCard {
- flex: 1;
- max-width: 100%;
- min-width: 1100px;
- height: calc(100vh - 155px);
- display: flex;
- flex-wrap: nowrap;
- padding: 20px;
- background-color: #F5F5F5;
- }
- .modalPay {
- /deep/ .ivu-modal-body {
- padding: 0;
- }
- }
- .cash {
- /deep/ .ivu-modal-body {
- padding: 0 !important;
- }
- }
- .discountCon {
- .item {
- font-size: 15px;
- margin-bottom: 10px;
- }
- }
- .content {
- height: calc(100vh - 66px);
- display: flex;
- flex-direction: column;
- }
- .cashPage {
- text-align: center;
- .right {
- width: 488px;
- background: #F5F5F5;
- padding: 16px 16px 16px 0;
- border-radius: 0 6px 6px 0;
- /deep/ .ivu-btn-primary {
- width: 100px;
- }
- .rightCon {
- width: 388px;
- height: 506px;
- margin: 35px auto 20px auto;
- background-color: #fff;
- border-radius: 14px;
- .top {
- height: 80px;
- color: rgba(0, 0, 0, 0.65);
- font-size: 13px;
- padding: 0 20px;
- .num {
- font-size: 42px;
- color: rgba(0, 0, 0, 0.85);
- }
- }
- .center {
- width: 100%;
- height: 46px;
- background-color: #1890FF;
- font-size: 13px;
- color: #fff;
- padding: 0 20px;
- .num {
- font-size: 27px;
- }
- }
- .bottom {
- padding: 10px 0 0 8px;
- .item {
- width: 108px;
- height: 62px;
- background: #FAFAFA;
- border-radius: 9px;
- border: 1px solid rgba(0, 0, 0, 0.15);
- color: #1890FF;
- font-size: 32px;
- margin-left: 12px;
- margin-top: 12px;
- cursor: pointer;
- &.on {
- background: #1890FF;
- color: #FFFFFF;
- font-size: 20px;
- }
- &.spot {
- padding-bottom: 15px;
- }
- }
- }
- }
- }
- .left {
- width: 282px;
- padding: 16px 0 16px 16px;
- .picture {
- width: 110px;
- height: 110px;
- margin: 180px auto 0 auto;
- img {
- width: 100%;
- height: 100%;
- }
- }
- .text {
- color: rgba(0, 0, 0, 0.45);
- font-size: 14px;
- margin-top: 14px;
- }
- .money {
- color: rgba(0, 0, 0, 0.85);
- font-size: 18px;
- .num {
- font-size: 32px;
- margin-left: 5px;
- }
- }
- }
- }
- .payPage {
- text-align: center;
- padding: 16px;
- /deep/ .ivu-input {
- width: 394px !important;
- text-align: center;
- }
- .header {
- margin: 35px 0 3px 0;
- }
- .process {
- width: 394px;
- height: 158px;
- border: 1px dashed #D8D8D8;
- border-top: 1px dashed #fff;
- margin: -1px auto 43px;
- &.on {
- border-top: 1px dashed #D8D8D8;
- margin-top: 20px;
- .list {
- padding-left: 14px !important;
- }
- }
- .list {
- padding: 6px 10px 0 3px;
- .item {
- font-size: 12px;
- color: #666;
- .name {
- color: #333;
- font-size: 13px;
- font-weight: bold;
- }
- }
- }
- .picture {
- width: 362px;
- height: 68px;
- margin: 24px auto 0 auto;
- img {
- width: 100%;
- height: 100%;
- }
- }
- }
- .picture {
- width: 18px;
- height: 18px;
- img {
- width: 100%;
- height: 100%;
- }
- margin-right: 7px;
- }
- .text {
- color: rgba(0, 0, 0, 0.45);
- font-size: 14px;
- }
- .money {
- font-size: 18px;
- color: rgba(0, 0, 0, 0.85);
- .num {
- font-size: 32px;
- margin-left: 5px;
- }
- }
- .tip {
- width: 310px;
- height: 26px;
- background: rgba(255, 126, 0, 0.1);
- border-radius: 13px;
- font-size: 13px;
- color: #FF7E00;
- margin: 10px auto 0 auto;
- .icon {
- font-size: 16px;
- margin-right: 5px;
- }
- }
- .bnt {
- width: 394px;
- height: 38px;
- margin: 28px 0 15px 0;
- }
- }
- .goods {
- flex: 1;
- min-width: 0;
- // width: calc(100% - 500px);
- height: 100%;
- /deep/ .ivu-card-body {
- height: 100%;
- padding: 10px 0 0px 0 !important;
- }
- .smCode {
- padding: 0 16px;
- /deep/ .ivu-input-large {
- height: 350px !important;
- text-align: center;
- font-size: 20px !important;
- }
- }
- .goodsCon {
- flex: 1;
- min-width: 0;
- padding: 0 20px;
- height: 100%;
- display: flex;
- flex-direction: column;
- justify-content: space-between;
- /deep/ .ivu-input-group {
- .ivu-input {
- height: 50px;
- text-align: center;
- border: 0;
- }
- }
- .input {
- // padding: 20px 10px 10px 0;
- /deep/ .ivu-input-group-prepend,
- .ivu-input-group-append {
- border: 0;
- border-radius: 10px;
- background-color: #FFFFFF;
- }
- /deep/.ivu-input-search {
- border-radius: 0 10px 10px 0;
- }
- }
- .goods-top {
- flex: 1;
- min-height: 0;
- display: flex;
- flex-direction: column;
- overflow: hidden;
- }
- .page {
- margin-top: 0;
- padding: 10px 16px 10px 0;
- }
- .noGood {
- height: 100%;
- border-radius: 20px;
- background: #FFFFFF;
- .picture {
- width: 180px;
- height: 140px;
- }
- img {
- width: 100%;
- height: 100%;
- }
- .tip {
- margin-top: 30px;
- font-size: 15px;
- text-align: center;
- color: #ccc;
- }
- }
- .list-wrap {
- flex: 1;
- min-height: 0;
- padding-top: 20px;
- overflow-x: hidden;
- }
- .list-wrap::-webkit-scrollbar {
- display: none;
- }
- .ivu-scroll-wrapper {
- flex: 1;
- min-height: 0;
- }
- /deep/.ivu-scroll-container {
- height: 100%;
- }
- .list {
- .item {
- position: relative;
- padding: 10px;
- border-radius: 10px;
- margin-bottom: 15px;
- background: #FFFFFF;
- &.on:hover {
- background-color: #1890FF;
- color: #fff !important;
- box-shadow: 0px 0px 14px 0px rgba(0, 84, 161, 0.18);
- .name {
- color: #fff !important;
- margin-bottom: 10px;
- }
- .stock {
- color: #fff !important;
- span {
- border-color: #fff !important;
- }
- }
- .money {
- color: #fff !important;
- }
- }
- .icon-cart-num {
- position: absolute;
- top: -8px;
- right: 0;
- padding: 5px 7px 3px;
- border-radius: 11px;
- background: #FF7700;
- font-size: 14px;
- line-height: 14px;
- color: #FFFFFF;
- }
- .no-stock {
- top: 0;
- left: 0;
- position: absolute;
- width: 100%;
- height: 100%;
- background: rgba(0, 0, 0, 0.2);
- border-radius: 10px;
- display: flex;
- align-items: center;
- justify-content: center;
- .trip {
- background: #4E4E4E;
- width: 70px;
- height: 70px;
- border-radius: 50%;
- display: flex;
- align-items: center;
- flex-direction: column;
- justify-content: center;
- color: #FFFFFF;
- font-size: 14px;
- }
- }
- .picture {
- width: 100%;
- height: 130px;
- img {
- width: 100%;
- height: 100%;
- border-radius: 8px;
- }
- }
- .name {
- font-size: 16px;
- line-height: 16px;
- color: rgba(0, 0, 0, 0.85);
- margin-top: 10px;
- margin-bottom: 14px;
- }
- .text {
- display: flex;
- justify-content: space-between;
- max-height: 80px;
- .text-left {
- display: flex;
- flex-direction: column;
- justify-content: space-between;
- }
- .iconfont {
- position: absolute;
- color: #1890FF;
- font-size: 20px;
- right: 5px;
- bottom: 5px;
- }
- .stock {
- font-size: 13px;
- color: #606266;
- margin: 2px 0;
- span {
- border-radius: 3px;
- border: 1px solid #606266;
- padding: 3px 6px;
- margin-right: 8px;
- font-size: 12px;
- }
- }
- .money {
- font-weight: 500;
- color: #F5222D;
- font-size: 18px;
- line-height: 18px;
- .rmb {
- font-size: 14px;
- }
- }
- }
- }
- .item-shadow {
- width: 150px;
- }
- }
- }
- .goodClass {
- width: 140px;
- overflow-y: auto;
- border-radius: 20px;
- padding: 20px 15px;
- background-color: #FFFFFF;
- .item {
- cursor: pointer;
- width: 110px;
- height: 40px;
- text-align: center;
- line-height: 40px;
- margin-bottom: 18px;
- font-size: 16px;
- color: rgba(0, 0, 0, 0.85);
- border-radius: 20px;
- transition: all 0.1s;
- &.on {
- background-color: #1890FF;
- color: #fff;
- }
- }
- .item:hover {
- background-color: #1890FF;
- color: #fff;
- }
- }
- }
- .conter {
- height: 100%;
- width: 595px;
- /deep/ .ivu-card-body {
- height: 100%;
- padding: 0 !important;
- }
- .cart {
- position: relative;
- display: flex;
- flex-direction: column;
- height: 100%;
- // max-width: 500px;
- .title {
- padding: 0 18px;
- border: 2px solid #FF7700;
- }
- .left-top {
- width: 100%;
- height: 100%;
- display: flex;
- border-radius: 20px;
- background-color: #FFFFFF;
- overflow: hidden;
- .cart {
- // height: calc(100% - 82px);
- flex: 1;
- min-width: 0;
- }
- .btn-group-vertical {
- display: flex;
- flex-direction: column;
- padding: 27px 18px;
- border-left: 1px solid #EEEEEE;
- overflow-x: hidden;
- .ivu-btn {
- flex-shrink: 0;
- width: 100px;
- height: 40px;
- border-color: #1890FF;
- border-radius: 20px;
- margin-bottom: 30px;
- font-size: 16px !important;
- color: #1890FF;
- }
- .ivu-btn[disabled] {
- color: #c5c8ce;
- border-color: #dcdee2;
- }
- .ivu-btn:not([disabled]):active {
- background-color: #F1F1F1;
- }
- .ivu-btn.selected {
- background-color: #F1F1F1;
- }
- }
- }
- .cart-left {
- display: flex;
- flex-direction: column;
- width: 100%;
- height: 100%;
- .count {
- padding: 0px 24px 20px;
- border-bottom: 1px solid #EEEEEE;
- display: flex;
- align-items: center;
- justify-content: space-between;
- .num {
- color: #FF7700;
- padding: 0 5px;
- }
- .cart-sel {
- font-size: 14px;
- }
- .count-r {
- display: flex;
- align-items: center;
- .coupon {
- border-radius: 4px;
- border: 1px solid #FF7700;
- color: #FF7700;
- padding: 3px 10px;
- cursor: pointer;
- font-size: 14px;
- }
- .clear {
- display: flex;
- align-items: center;
- cursor: pointer;
- font-size: 12px;
- img {
- width: 16px;
- height: 16px;
- margin: 0 6px 0 14px;
- }
- }
- }
- }
- }
- .tourist::-webkit-scrollbar {
- height: 4px !important;
- }
- .tourist {
- width: 100%;
- padding-left: 13px;
- padding-top: 15px;
- display: flex;
- overflow-x: auto;
- overflow-y: hidden;
- white-space: nowrap;
- /* 解决ios手机页面滑动卡顿问题 */
- -webkit-overflow-scrolling: touch;
- .item-w1 {
- min-width: 100px;
- }
- .item-w2 {
- min-width: 140px;
- }
- .item {
- height: 38px;
- background: #F7F7F7;
- border-radius: 50px;
- font-size: 12px;
- color: rgba(0, 0, 0, 0.85);
- position: relative;
- padding-left: 7px;
- margin-bottom: 9px;
- margin-right: 12px;
- cursor: pointer;
- .picture {
- width: 24px;
- height: 24px;
- border-radius: 50%;
- margin-right: 6px;
- img {
- width: 100%;
- height: 100%;
- border-radius: 50%;
- }
- }
- .name {
- width: 50px;
- }
- .guadan {
- font-size: 10px;
- border: 1px solid #FF7700;
- color: #FF7700;
- padding: 0 3px;
- border-radius: 2px;
- margin-right: 12px;
- }
- &:hover {
- background: #FF7700;
- color: #fff;
- .guadan {
- border: 1px solid #fff;
- color: #fff;
- }
- }
- &.on {
- background: #FF7700;
- color: #fff;
- .guadan {
- border: 1px solid #fff;
- color: #fff;
- }
- }
- }
- }
- .right {
- width: 90px;
- .navTabs {
- position: absolute;
- top: 15px;
- cursor: pointer;
- img {
- display: block;
- width: 40px;
- height: 85px;
- }
- .label01 {
- z-index: 5;
- position: relative;
- }
- .label02 {
- margin-top: -16px;
- }
- }
- .item {
- width: 72px;
- background: #F2F3F5;
- margin: 0 auto 13px auto;
- text-align: center;
- padding: 9px 0;
- cursor: pointer;
- position: relative;
- .iconfont {
- position: absolute;
- font-size: 20px;
- top: -9px;
- right: -7px;
- color: #bbb;
- }
- &:hover {
- background-color: #1890FF;
- color: #fff;
- }
- &.on {
- background-color: #1890FF;
- color: #fff;
- }
- }
- }
- .title {
- // border-bottom: 1px solid #D8D8D8;
- // width: 376px;
- flex-shrink: 0;
- height: 90px;
- background: rgba(255, 119, 0, 0.05);
- border-radius: 10px;
- margin: 27px 24px 24px;
- display: flex;
- align-items: center;
- flex-wrap: nowrap;
- overflow: hidden;
- .picture {
- width: 50px;
- height: 50px;
- border-radius: 50%;
- margin-right: 15px;
- img {
- width: 100%;
- height: 100%;
- border-radius: 50%;
- }
- }
- .switchs {
- color: #FF7700;
- cursor: pointer;
- // position: absolute;
- // right: 19px;
- // top: 10px;
- a {
- font-size: 14px;
- color: #FF7700;
- }
- }
- .text {
- font-size: 13px;
- font-weight: 400;
- color: rgba(51, 51, 51, 0.85);
- flex: 1;
- min-width: 0;
- .textCon {
- margin-bottom: 6px;
- display: flex;
- align-items: center;
- .name {
- font-size: 18px;
- }
- .phone {
- color: #999;
- }
- }
- .text-wrap {
- flex: 1;
- min-width: 0;
- }
- .name-wrap {
- display: inline-flex;
- align-items: center;
- max-width: 100%;
- }
- .user-msg {}
- .balance {
- margin-right: 12px;
- .num {
- font-weight: 600;
- color: #303133;
- font-size 17px;
- line-height: 17px;
- margin-left: 4px;
- }
- }
- .recharge {
- color: #1890FF;
- padding: 2px 4px;
- cursor: pointer;
- border-radius: 3px;
- }
- .recharge:hover {
- background-color: #1890FF;
- color: #fff;
- }
- .name {
- flex: 1;
- min-width: 0;
- overflow: hidden;
- text-overflow: ellipsis;
- color: rgba(0, 0, 0, 0.85);
- font-size: 14px;
- font-weight: 600;
- margin-right: 6px;
- }
- }
- }
- .listCon {
- overflow-x: hidden;
- // height: calc(100% - 168px);
- flex: 1;
- .promotions {
- border-bottom: 1px dashed #EEEEEE;
- .promotions-msg {
- display: flex;
- justify-content: space-between;
- padding: 10px 0;
- color: #333333;
- font-size: 14px;
- border-bottom: 1px solid #f2f2f2;
- .card {
- color: #FF7700;
- padding: 1px 6px;
- margin-right: 8px;
- border-radius: 3px;
- background-color: #Fcf0e2;
- font-size: 12px;
- white-space: nowrap;
- }
- .flex-1 {
- flex: 1;
- display: flex;
- align-items: center;
- }
- .collect {
- cursor: pointer;
- width: 70px;
- display: flex;
- align-items: center;
- flex-basis: max-content;
- .iconjinru {
- font-size: 12px;
- }
- }
- }
- .is_give {
- height: 60px;
- .picture {
- width: 40px;
- height: 40px;
- img {
- width: 100%;
- height: 100%;
- border-radius: 5px;
- }
- }
- .give-name {
- font-size: 12px;
- color: #333;
- max-width: 200px;
- }
- .give-info {
- font-size: 12px;
- color: #ccc;
- }
- }
- }
- }
- .list::-webkit-scrollbar {
- width: 0 !important;
- }
- .list {
- -ms-overflow-style: none;
- }
- .list {
- overflow: -moz-scrollbars-none;
- }
- .list {
- overflow: hidden;
- overflow-y: scroll;
- .item {
- padding: 20px 25px;
- position: relative;
- display: flex;
- flex-wrap: nowrap;
- height: 100%;
- border-radius: 10px;
- &:hover {
- background: rgba(24, 144, 255, 0.05);
- }
- /deep/ .ivu-input-number-input {
- text-align: center;
- }
- /deep/ .ivu-input-number-controls-outside {
- width: 112px !important;
- }
- .picture {
- width: 74px;
- height: 74px;
- img {
- width: 100%;
- height: 100%;
- border-radius: 5px;
- }
- }
- .del {
- position: absolute;
- font-size: 15px;
- color: #1890FF;
- right: 25px;
- top: 20px;
- cursor: pointer;
- padding: 2px 7px;
- }
- .cartBnt {
- position: absolute;
- right: 25px;
- height: 24px;
- bottom: 20px;
- .iconfont {
- width: 24px;
- height: 24px;
- background-color: #F2F3F5;
- text-align: center;
- line-height: 24px;
- color: rgba(0, 0, 0, 0.85);
- border-radius: 50%;
- }
- .iconjia {
- color: #fff;
- background-color: #1890FF;
- font-size: 12px;
- }
- .ivu-input-number {
- outline: unset;
- width: 60px;
- margin: 0 2px;
- text-align: center;
- font-size: 16px;
- font-family: PingFangSC-Semibold, PingFang SC;
- font-weight: 600;
- color: rgba(0, 0, 0, 0.85);
- border: none;
- background-color: rgba(255, 255, 255, 0);
- /deep/ .ivu-input-number-handler-wrap {
- display: none;
- }
- }
- }
- .text {
- flex: 1;
- color: #000;
- font-size: 18px;
- margin-left: 10px;
- display: flex;
- flex-direction: column;
- justify-content: space-between;
- height: 100%;
- overflow: hidden;
- .end {
- color: #999;
- font-size: 13px;
- }
- .name {
- font-size: 15px;
- margin-top: 5px;
- width: 82%;
- }
- .info {
- color: #999;
- font-size: 12px;
- cursor: pointer;
- padding: 4px 0 7px 0;
- display: flex;
- align-items: center;
- .iconfont {
- font-size: 12px;
- margin-left: 5px;
- }
- .suk {
- max-width: 50%;
- }
- }
- .sum_price {
- font-size: 16px;
- font-weight: 500;
- color: rgba(0, 0, 0, 0.85);
- }
- &.invalid {
- .info {
- cursor: unset;
- display: flex;
- align-items: center;
- }
- .suk {
- max-width: 50%;
- }
- .name {
- color: #999;
- }
- }
- }
- }
- }
- .left {
- width: 100%;
- height: 70px;
- display: flex;
- align-items: center;
- background-color: #fff;
- padding: 0 30px 0 24px;
- }
- .conInfo {
- display: flex;
- justify-content: space-between;
- align-items: center;
- width: 100%;
- color: #000;
- .storeBnt-wrap {
- flex: 1;
- }
- .storeBnt {
- padding: 0 10px;
- height: 40px;
- border-radius: 6px;
- //border: 1px solid #CCCCCC;
- color: #333333;
- font-size: 14px;
- display: inline-flex;
- align-items: center;
- justify-content: center;
- cursor: pointer;
- .text {
- max-width: 100px;
- }
- }
- .right {
- flex: 1;
- display: flex;
- width: max-content;
- align-items: baseline;
- font-size: 14px;
- flex-wrap: nowrap;
- white-space: nowrap;
- div {
- white-space: nowrap;
- }
- .rmb {
- font-weight: 600;
- font-size: 16px;
- color: rgba(245, 34, 45, 1);
- }
- .discount {
- font-size: 14px;
- padding: 0 9px
- }
- .detailed {
- color: #1890FF;
- padding: 0 9px 0 3px;
- cursor: pointer;
- }
- .num {
- color: rgba(245, 34, 45, 1);
- font-size: 24px;
- line-height: 22px;
- font-weight: 600;
- white-space: nowrap;
- }
- }
- .num {
- font-size: 24px;
- }
- }
- .footer {
- box-shadow: 0 -1px 11px 0 rgba(0, 0, 0, 0.06);
- .footer-bottom {
- display: flex;
- align-items: center;
- height: 88px;
- padding: 0 24px;
- border-top: 1px solid #EEEEEE;
- .ivu-btn {
- flex: 1;
- height: 50px;
- border-color: #1890FF;
- border-radius: 25px;
- background-color: #1890FF;
- font-weight: 500;
- font-size: 18px !important;
- color: #FFFFFF;
- }
- }
- }
- }
- .title {
- color: rgba(0, 0, 0, 0.85);
- .text {
- font-size: 16px;
- font-weight: 500;
- }
- .picture {
- width: 32px;
- height: 32px;
- border-radius: 50%;
- cursor: pointer;
- img {
- width: 100%;
- height: 100%;
- border-radius: 50%;
- }
- }
- .info {
- font-size: 14px;
- margin-left: 8px;
- cursor: pointer;
- .iconfont {
- font-size: 12px;
- margin-left: 5px;
- }
- &:hover {
- color: #2d8cf0;
- }
- }
- }
- }
- .header {
- color: #fff;
- .title {
- font-size: 18px;
- font-weight: 500;
- }
- .right {
- .picture {
- width: 32px;
- height: 32px;
- border-radius: 50%;
- img {
- width: 100%;
- height: 100%;
- border-radius: 50%;
- }
- }
- .storeBnt {
- width: 80px;
- height: 32px;
- background: #FFFFFF;
- border-radius: 1px;
- color: #1890FF;
- font-size: 14px;
- text-align: center;
- line-height: 32px;
- margin-left: 10px;
- cursor: pointer;
- &:hover {
- background-color: rgba(255, 255, 255, 0.9);
- }
- }
- .info {
- font-size: 14px;
- font-weight: 400;
- color: #fff;
- span {
- padding: 0 8px;
- &~span {
- border-left: 1px solid #DDDDDD;
- }
- }
- }
- .bnt {
- margin-left: 20px;
- }
- }
- }
- footer {
- display: flex;
- background-color: #fff;
- .footer {
- width: 500px;
- padding: 13px 17px 13px 17px;
- .pay {
- .bnt {
- border-radius: 6px;
- width: 30%;
- height: 0.32rem;
- border: 1px solid #1890FF;
- color: #1890FF;
- font-size: 0.11rem;
- text-align: center;
- font-weight: 500;
- cursor: pointer;
- &.on {
- background: #1890FF;
- color: #fff;
- }
- &.bntUid {
- background: #1890FF;
- color: #fff;
- cursor: unset;
- &.on {
- background: #ccc;
- border: 1px solid #ccc;
- color: #fff;
- }
- }
- }
- &.noCart {
- .bnt {
- border: 1px solid #ccc !important;
- color: #ccc;
- cursor: unset;
- &.on {
- border: 1px solid #1890FF;
- background: #ccc;
- color: #fff;
- }
- }
- }
- }
- }
- .right {
- padding: 10px 17px 15px 17px;
- border-radius: 0 6px 6px 0;
- display: flex;
- flex: 1;
- box-shadow: 5px 0px 14px 0px rgba(0, 0, 0, 0.06);
- background-color: #fff;
- /deep/ .ivu-btn-primary {
- width: 100px;
- }
- .rightCon {
- display: flex;
- align-items: center;
- .top {
- height: 80px;
- color: rgba(0, 0, 0, 0.65);
- font-size: 13px;
- padding: 0 20px;
- .num {
- font-size: 42px;
- color: rgba(0, 0, 0, 0.85);
- }
- }
- .center {
- width: 100%;
- height: 46px;
- background-color: #1890FF;
- font-size: 13px;
- color: #fff;
- padding: 0 20px;
- .num {
- font-size: 27px;
- }
- }
- .item {
- width: 80px;
- height: 46px;
- display: flex;
- align-items: center;
- justify-content: center;
- background: #F2F3F5;
- color: #fff;
- cursor: unset;
- border-radius: 4px;
- margin-right: 14px;
- cursor: pointer;
- color: #000000;
- font-size: 17px;
- &.on {
- background: #E7F3FF;
- color: #1890FF;
- font-size: 17px;
- font-weight: 400;
- }
- &.spot {
- padding-bottom: 15px;
- }
- }
- .bottom {
- padding: 10px 0 0 8px;
- }
- }
- .noCart {
- display: flex;
- align-items: center;
- .item {
- background: #ccc;
- color: #fff;
- cursor: unset;
- width: 80px;
- height: 46px;
- display: flex;
- align-items: center;
- justify-content: center;
- margin-right: 14px;
- border-radius: 4px;
- font-size: 16px;
- &:nth-child(3) {
- &:hover {
- background-color: #ccc;
- }
- }
- &:nth-child(4) {
- &:hover {
- background-color: #ccc;
- }
- }
- &:nth-child(5) {
- &:hover {
- background-color: #ccc;
- }
- }
- &.on {
- background-color: #ccc;
- }
- }
- }
- }
- }
- /deep/ .ivu-page {
- font-size: 15px;
- }
- .payModal {
- display: flex;
- align-items: center;
- justify-content: center;
- padding: 67px 52px;
- .type {
- display: flex;
- flex-direction: column;
- align-items: center;
- border: 1px solid #1890FF;
- padding: 33px 37px;
- border-radius: 6px;
- margin: 0 15px;
- cursor: pointer;
- .img {
- width: 66px;
- height: 55px;
- margin-bottom: 33px;
- img {
- width: 100%;
- }
- }
- .text {
- white-space: nowrap;
- }
- }
- .type:hover {
- background-color: #f2f2f2;
- }
- }
- .goast {
- background: rgba(24, 144, 255, 0.1) !important;
- color: #1890FF !important;
- }
- .v-center {
- margin-top: 100px;
- }
- .search_user_info {
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- .picture {
- width: 110px;
- height: 110px;
- margin: 20px 0 20px;
- img {
- width: 100%;
- height: 100%;
- border-radius: 50%;
- }
- }
- .user_name {
- font-size: 18px;
- font-weight: 600;
- color: rgba(0, 0, 0, 0.85);
- margin-bottom: 14px;
- }
- .user_id {
- font-size: 12px;
- font-weight: 400;
- color: #999999;
- }
- .user_phone {
- font-size: 14px;
- font-weight: 400;
- color: rgba(0, 0, 0, 0.85);
- margin: 14px 0 40px;
- }
- .sure_btn {
- width: 176px;
- height: 46px;
- line-height: 46px;
- text-align: center;
- color: #fff;
- font-size: 16px;
- background: #1890FF;
- border-radius: 6px;
- margin-bottom: 30px;
- }
- }
- /deep/.remarks-modal {
- .ivu-modal-content {
- border-radius: 10px;
- }
- .ivu-modal-body {
- padding: 20px 25px;
- }
- .ivu-input {
- padding: 14px;
- border: 1px solid #DDDDDD;
- border-radius: 6px;
- &:focus {
- border-color: #1890FF;
- box-shadow: none;
- }
- }
- .ivu-input-word-count {
- right: 14px;
- bottom: 14px;
- }
- .ivu-modal-footer {
- padding: 17px 25px;
- border-top: none;
- }
- .ivu-btn {
- height: 46px;
- border-radius: 23px;
- background: #1890FF;
- font-weight: 500;
- font-size: 16px !important;
- }
- }
- /deep/.user-modal {
- .ivu-modal-content {
- border-radius: 10px;
- }
- }
- .swiper-container {
- width: 100%;
- margin-top: 20px;
- }
- .swiper-slide {
- width: auto;
- height: 36px;
- padding: 0 16px;
- border: 1px solid #CCCCCC;
- border-radius: 18px;
- background: #F7FBFF;
- font-size: 14px;
- line-height: 36px;
- color: #666666;
- cursor: pointer;
- &.active {
- border: 1px solid #1890FF;
- color: #1890FF;
- }
- }
- .ivu-alert {
- padding: 20px 18px;
- border: 1px solid #1890FF;
- border-radius: 10px;
- margin-top: 20px;
- background: #F7FBFF;
- font-size: 14px;
- line-height: 22px;
- color: #1890FF;
- }
- </style>
|