123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624 |
- <template>
- <div class="cost-all" v-loading="costloading" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading"
- element-loading-background="rgba(0, 0, 0, 0.8)">
- <div class="cost-box">
- <div class="cost-haed">
- <div class="ser-btn">
- <div class="ser-btn-li Cost_topFlex" style="display: flex;">
- <el-select v-model="diid" filterable placeholder="请选择" @change="groupChange">
- <el-option v-for="item in options" :key="item.id" :label="item.groupName" :value="item.id">
- <span v-if="item.isTrue == 'True'" style="color:green">{{ item.groupName }}</span>
- <span v-else style="color:gray">{{ item.groupName }}</span>
- </el-option>
- </el-select>
- <div style="line-height: 40px;width: 90px;text-align: right;padding-right: 12px;">
- 分段类型:
- </div>
- <el-select v-model="costTypevalue" placeholder="请选择" @change="costTypeSelect">
- <el-option v-for="item in costType" :key="item.value" :label="item.label" :value="item.value">
- </el-option>
- </el-select>
- </div>
- <div class="ser-btn-li">
- <el-button type="primary">导入收款账单</el-button>
- <el-button type="primary">生成收款账单</el-button>
- <el-button type="primary">导出客户报表</el-button>
- <el-button type="primary">导出成本</el-button>
- <el-button type="primary" @click="save">保存设置</el-button>
- <el-button type="primary">一键复制</el-button>
- <el-button type="primary">成本通知</el-button>
- </div>
- </div>
- <div class="cost-input">
- <el-form :inline="true" class="demo-form-inline" :model='AGroupCostParameter' ref="inputs"
- :rules="rules">
- <el-form-item label="税率:" prop="tax">
- <el-input v-model="AGroupCostParameter.tax" placeholder="税率"></el-input>
- </el-form-item>
- <el-form-item label="货币:">
- <el-select v-model="AGroupCostParameter.currency" placeholder="请选择">
- <el-option v-for="item in currencyOption" :key="item.value" :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="汇率:" prop="rate">
- <el-input v-model="AGroupCostParameter.rate" placeholder="汇率"></el-input>
- </el-form-item>
- </el-form>
- <div v-show="costTypevalue == 'A'">
- <el-form :inline="true" class="demo-form-inline" :rules="HotelRules" ref="DHotel"
- :model="costTypeHotelNumbers.filter(item => item.type == 'Default')[0]">
- <el-form-item label="TBR:" prop="tbr">
- <el-input
- v-model.number="costTypeHotelNumbers.filter(item => item.type == 'Default')[0].tbr"
- placeholder="TBR"><i slot="suffix"
- style="font-style:normal;margin-right: 10px;">间</i></el-input>
- </el-form-item>
- <el-form-item label="SGR:" prop="sgr">
- <el-input
- v-model.number="costTypeHotelNumbers.filter(item => item.type == 'Default')[0].sgr"
- placeholder="SGR"><i slot="suffix"
- style="font-style:normal;margin-right: 10px;">间</i></el-input>
- </el-form-item>
- <el-form-item label="JS/ES:" prop="jses">
- <el-input
- v-model.number="costTypeHotelNumbers.filter(item => item.type == 'Default')[0].jses"
- placeholder="JS/ES"><i slot="suffix"
- style="font-style:normal;margin-right: 10px;">间</i></el-input>
- </el-form-item>
- <el-form-item label="SUITE:" prop="suite">
- <el-input
- v-model.number="costTypeHotelNumbers.filter(item => item.type == 'Default')[0].suite"
- placeholder="SUITE"><i slot="suffix"
- style="font-style:normal;margin-right: 10px;">间</i></el-input>
- </el-form-item>
- </el-form>
- </div>
- <div v-show="costTypevalue == 'B'" class="CostBShow">
- <el-row>
- <el-form ref="Asection" :inline="true" class="demo-form-inline" :rules="CostTimeRules"
- :model="AGroupCostParameter">
- <el-col :span="5">
- <div> <el-form-item label="第一段开始时间:" prop="costTypeStartTime">
- <el-date-picker v-model="AGroupCostParameter.costTypeStartTime" type="date"
- placeholder="第一段开始时间" format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd">
- </el-date-picker>
- </el-form-item>
- </div>
- </el-col>
- <el-col :span="4">
- <div> <el-form-item label="结束时间:" prop="costTypeendTime"><el-date-picker
- v-model="AGroupCostParameter.costTypeendTime" type="date" placeholder="结束时间"
- format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd">
- </el-date-picker>
- </el-form-item>
- </div>
- </el-col>
- <el-col :span="3">
- <div>
- <el-form-item label="人数:" prop="costTypenumber"><el-input placeholder="人数"
- v-model.number="AGroupCostParameter.costTypenumber" clearable>
- </el-input>
- </el-form-item>
- </div>
- </el-col>
- </el-form>
- <el-form ref="AHotel" :inline="true" class="demo-form-inline" :rules="HotelRules"
- :model="costTypeHotelNumbers.filter(item => item.type == 'A')[0]">
- <el-col :span="3">
- <div><el-form-item label="TBR:" prop="tbr">
- <el-input
- v-model.number="costTypeHotelNumbers.filter(item => item.type == 'A')[0].tbr"
- placeholder="TBR"><i slot="suffix"
- style="font-style:normal;margin-right: 10px;">间</i></el-input>
- </el-form-item></div>
- </el-col>
- <el-col :span="3">
- <div> <el-form-item label="SGR:" prop="sgr">
- <el-input
- v-model.number="costTypeHotelNumbers.filter(item => item.type == 'A')[0].sgr"
- placeholder="SGR"><i slot="suffix"
- style="font-style:normal;margin-right: 10px;">间</i></el-input>
- </el-form-item></div>
- </el-col>
- <el-col :span="3">
- <div><el-form-item label="JS/ES:" prop="jses">
- <el-input
- v-model.number="costTypeHotelNumbers.filter(item => item.type == 'A')[0].jses"
- placeholder="JS/ES"><i slot="suffix"
- style="font-style:normal;margin-right: 10px;">间</i></el-input>
- </el-form-item></div>
- </el-col>
- <el-col :span="3">
- <div><el-form-item label="SUITE:" prop="suite">
- <el-input
- v-model.number="costTypeHotelNumbers.filter(item => item.type == 'A')[0].suite"
- placeholder="SUITE"><i slot="suffix"
- style="font-style:normal;margin-right: 10px;">间</i></el-input>
- </el-form-item></div>
- </el-col>
- </el-form>
- </el-row>
- <el-row>
- <el-form ref="Bsection" :inline="true" class="demo-form-inline" :rules="CostTimeRules"
- :model="BGroupCostParameter">
- <el-col :span="5">
- <div> <el-form-item label="第二段开始时间:" prop="costTypeStartTime">
- <el-date-picker v-model="BGroupCostParameter.costTypeStartTime" type="date"
- placeholder="第二段开始时间" format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd">
- </el-date-picker>
- </el-form-item>
- </div>
- </el-col>
- <el-col :span="4">
- <div> <el-form-item label="结束时间:" prop="costTypeendTime"><el-date-picker
- v-model="BGroupCostParameter.costTypeendTime" type="date" placeholder="结束时间"
- format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd">
- </el-date-picker>
- </el-form-item>
- </div>
- </el-col>
- <el-col :span="3">
- <div>
- <el-form-item label="人数:" prop="costTypenumber"><el-input placeholder="人数"
- v-model.number="BGroupCostParameter.costTypenumber" clearable>
- </el-input>
- </el-form-item>
- </div>
- </el-col>
- </el-form>
- <el-form ref="BHotel" :inline="true" class="demo-form-inline" :rules="HotelRules"
- :model="costTypeHotelNumbers.filter(item => item.type == 'B')[0]">
- <el-col :span="3">
- <div>
- <el-form-item label="TBR:" prop="tbr">
- <el-input
- v-model.number="costTypeHotelNumbers.filter(item => item.type == 'B')[0].tbr"
- placeholder="TBR"><i slot="suffix"
- style="font-style:normal;margin-right: 10px;">间</i></el-input>
- </el-form-item>
- </div>
- </el-col>
- <el-col :span="3">
- <div> <el-form-item label="SGR:" prop="sgr">
- <el-input
- v-model.number="costTypeHotelNumbers.filter(item => item.type == 'B')[0].sgr"
- placeholder="SGR"><i slot="suffix"
- style="font-style:normal;margin-right: 10px;">间</i></el-input>
- </el-form-item></div>
- </el-col>
- <el-col :span="3">
- <div><el-form-item label="JS/ES:" prop="jses">
- <el-input
- v-model.number="costTypeHotelNumbers.filter(item => item.type == 'B')[0].jses"
- placeholder="JS/ES"><i slot="suffix"
- style="font-style:normal;margin-right: 10px;">间</i></el-input>
- </el-form-item></div>
- </el-col>
- <el-col :span="3">
- <div><el-form-item label="SUITE:" prop="suite">
- <el-input
- v-model.number="costTypeHotelNumbers.filter(item => item.type == 'B')[0].suite"
- placeholder="SUITE"><i slot="suffix"
- style="font-style:normal;margin-right: 10px;">间</i></el-input>
- </el-form-item></div>
- </el-col>
- </el-form>
- </el-row>
- </div>
- </div>
- <div class="cost-info">
- <div class="cost-info-li">
- <label>团 号:</label>
- <span>{{ grouptitleinfo.tourCode }}</span>
- </div>
- <div class="cost-info-li">
- <label>客 户:</label>
- <span>{{ grouptitleinfo.clientName }}</span>
- </div>
- <div class="cost-info-li">
- <label>出访国家:</label>
- <span>{{ grouptitleinfo.visitCountry }}</span>
- </div>
- <div class="cost-info-li">
- <label>起止日期:</label>
- <span>{{ grouptitleinfo.visitStartDate }} -
- {{ grouptitleinfo.visitEndDate
- }}</span>
- </div>
- <div class="cost-info-li">
- <label>天数/人数:</label>
- <span>{{ grouptitleinfo.visitDays }}天/{{ grouptitleinfo.visitPNumber }}人</span>
- </div>
- </div>
- </div>
- <div style="color: #606266;font-size: 15px;font-weight: 600;">请选择要显示的项:</div>
- <el-checkbox-group class="form-ss" v-model="CheckBoxListSelect.filter(item => item.cbType == 'Top')[0].cbValues"
- @change="TopChange">
- <el-checkbox v-for="( item, index ) in checkOptions " :key="index" :title="item.tips"
- :label="item.label"></el-checkbox>
- </el-checkbox-group>
- <el-table :summary-method="getSummaries" show-summary :data="tableData" :border="true" size="small"
- row-class-name="row" cell-class-name="column" :highlight-current-row="true" :fit="true"
- :height="centerheight">
- <template v-for="( item, index ) in tableLabel ">
- <el-table-column :key="index" :prop="item.prop" :width="item.width == 150 ? columnWidth : item.width"
- :label="item.label"
- v-if="CheckBoxListSelect.filter(item => item.cbType == 'Top')[0].cbValues.includes(item.label)">
- <!-- eslint-disable-next-line -->
- <template slot="header" slot-scope="scope">
- <el-tooltip effect="dark" :content="item.describe" placement="top">
- <span class="rapAddress">{{ item.label }}</span>
- </el-tooltip>
- </template>
- <template slot-scope="scope">
- <div v-if="item.prop === 'sales'">
- <el-input :ref="'el-input-' + index" v-model="scope.row[item.prop]" show-word-limit />
- </div>
- <div v-else-if="item.prop === 'day'">
- <el-input :ref="'el-input-' + index" v-model="scope.row[item.prop]" type="number" min="0"
- @change="NumberSetTime(scope.row[item.prop], scope.$index)" />
- </div>
- <div v-else-if="item.prop === 'sale'">
- <el-row class="figures-btn">
- <el-button @click="handleEdit(scope.$index, scope.row, 1)" size="mini"
- type="primary">司兼导</el-button>
- <el-button @click="handleEdit(scope.$index, scope.row, 2)" size="mini" type="primary">导
- 游</el-button>
- <el-button @click="handleEdit(scope.$index, scope.row, 3)" size="mini"
- type="primary">车数据</el-button>
- <el-button @click="handleEdit(scope.$index, scope.row, 4)" size="mini" type="primary">景
- 点</el-button>
- </el-row>
- </div>
- <div v-else-if="item.width == 200">
- <el-input type="textarea" :rows="5" placeholder="请输入内容" v-model="scope.row[item.prop]">
- </el-input>
- </div>
- <span v-else :title="scope.row[item.prop]"><el-input placeholder="请输入内容"
- v-model="scope.row[item.prop]" clearable>
- </el-input></span>
- </template>
- </el-table-column>
- </template>
- <el-table-column label="操作" :width="200">
- <!-- eslint-disable-next-line -->
- <template slot-scope="scope">
- <el-button size="mini" @click="handleDelete(scope.$index, scope.row, tableData)" type="danger"><i
- class="el-icon-delete"></i></el-button>
- </template>
- </el-table-column>
- </el-table>
- <div style="text-align: center;padding: 10px 0;"><el-button @click="addStrip" type="primary">添 加 <i
- class="el-icon-plus"></i></el-button></div>
- <div class="sheet-box">
- <div class="sheet-li">
- <div style="color: #606266;font-size: 15px;font-weight: 600;">请选择要显示的项:</div>
- <el-checkbox-group v-model="CheckBoxListSelect.filter(item => item.cbType == 'Left')[0].cbValues">
- <el-checkbox v-for="( item, index ) in sheetoneOptions " :key="index"
- :label="item"></el-checkbox>
- </el-checkbox-group>
- <div style="display: flex;">
- <div :style="{ 'width': costTypevalue == 'A' ? '100%' : '49%' }">
- <div v-for="( sheetitem, index ) in sheetDatal " :key="index">
- <div class="biaoge"
- v-if="CheckBoxListSelect.filter(item => item.cbType == 'Left')[0].cbValues.includes(sheetitem.label)">
- <el-table :data="[{ a: 1 }]" border style="width: 100%">
- <el-table-column v-for="( itemsheetone, index ) in sheetitem.childList "
- :key="index" :prop="itemsheetone.prop" :label="itemsheetone.childLabel">
- <template slot-scope="scope">
- <div v-if="itemsheetone.prop.indexOf(sheetitem.EnLabel) != -1">
- <div v-if="itemsheetone.isBind">
- {{ AGroupCostParameter[itemsheetone.prop] }}
- </div>
- <div v-else>
- <el-input v-model="AGroupCostParameter[itemsheetone.prop]"
- show-word-limit />
- </div>
- </div>
- <div v-else-if="itemsheetone.prop === 'ZCB'">
- {{ calculateZCB(sheetitem.EnLabel) }}
- </div>
- <div v-else-if="itemsheetone.prop === 'DRBJ'">
- {{ calculateDRBJ(sheetitem.EnLabel) }}
- </div>
- <div v-else-if="itemsheetone.prop === 'ZBJ'">
- {{ calculateZBJ(sheetitem.EnLabel) }}
- </div>
- <div v-else-if="itemsheetone.prop === 'DRLR'">
- {{ calculateDRLR(sheetitem.EnLabel) }}
- </div>
- <div v-else-if="itemsheetone.prop === 'ZLR'">
- {{ calculateZLR(sheetitem.EnLabel) }}
- </div>
- <!-- 绑定对象属性的值 -->
- </template>
- </el-table-column>
- </el-table>
- </div>
- </div>
- </div>
- <div style="width: 2%;" v-show="costTypevalue != 'A'"></div>
- <div style="width: 49%;" v-show="costTypevalue != 'A'">
- <div v-for="( sheetitem, index ) in sheetDatal " :key="index">
- <div class="biaoge"
- v-if="CheckBoxListSelect.filter(item => item.cbType == 'Left')[0].cbValues.includes(sheetitem.label)">
- <el-table :data="[{ a: 1 }]" border style="width: 100%"
- :class="{ 'hiddenElement': (sheetitem.EnLabel == 'visa' || sheetitem.EnLabel == 'bx') ? true : false }">
- <el-table-column v-for="( itemsheetone, index ) in sheetitem.childList "
- :key="index" :prop="itemsheetone.prop" :label="itemsheetone.childLabel">
- <template slot-scope="scope">
- <div v-if="itemsheetone.prop.indexOf(sheetitem.EnLabel) != -1">
- <div v-if="itemsheetone.isBind">
- {{ BGroupCostParameter[itemsheetone.prop] }}
- </div>
- <div v-else>
- <el-input v-model="BGroupCostParameter[itemsheetone.prop]"
- show-word-limit />
- </div>
- </div>
- <div v-else-if="itemsheetone.prop === 'ZCB'">
- {{ BcalculateZCB(sheetitem.EnLabel) }}
- </div>
- <div v-else-if="itemsheetone.prop === 'DRBJ'">
- {{ BcalculateDRBJ(sheetitem.EnLabel) }}
- </div>
- <div v-else-if="itemsheetone.prop === 'ZBJ'">
- {{ BcalculateZBJ(sheetitem.EnLabel) }}
- </div>
- <div v-else-if="itemsheetone.prop === 'DRLR'">
- {{ BcalculateDRLR(sheetitem.EnLabel) }}
- </div>
- <div v-else-if="itemsheetone.prop === 'ZLR'">
- {{ BcalculateZLR(sheetitem.EnLabel) }}
- </div>
- <!-- 绑定对象属性的值 -->
- </template>
- </el-table-column>
- </el-table>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="cabin-box">
- <div class="cabin-li">
- <div style="color: #606266;font-size: 15px;font-weight: 600;">请选择要显示的项:</div>
- <el-checkbox-group v-model="CheckBoxListSelect.filter(item => item.cbType == 'Right')[0].cbValues">
- <el-checkbox v-for="( item, index ) in cabinoneOptions " :key="index"
- :label="item"></el-checkbox>
- </el-checkbox-group>
- <div style="display: flex;">
- <div :style="{ 'width': costTypevalue == 'A' ? '100%' : '49%' }">
- <div v-for="( cabinitem, index ) in cabinDatal " :key="index">
- <div class="biaoge"
- v-if="CheckBoxListSelect.filter(item => item.cbType == 'Right')[0].cbValues.includes(cabinitem.label)">
- <div style=" color: rgb(96, 98, 102);font-size: 15px;font-weight: 600;">{{
- cabinitem.label }}
- </div>
- <el-table :data="cabinitem.sheetInfo" border style="width: 100%">
- <el-table-column v-for="( itemcabinone, index ) in cabinitem.childList "
- :key="index" :prop="itemcabinone.prop" :label="itemcabinone.childLabel">
- <template slot-scope="scope">
- <div v-if="itemcabinone.prop === 'toll'">
- <el-input :ref="'el-input-' + index"
- v-model="scope.row[itemcabinone.prop]" show-word-limit disabled />
- </div>
- <span
- v-else-if="itemcabinone.prop === 'costPerson' || itemcabinone.prop === 'singleQuote'"
- :title="scope.row[itemcabinone.prop]">{{
- scope.row[itemcabinone.prop]
- }}</span>
- <span v-else-if="itemcabinone.prop === 'totalCost'"
- :title="scope.row[itemcabinone.prop]">{{
- (scope.row['toll'] * scope.row['costPerson']).toFixed(2)
- }}</span>
- <span v-else-if="itemcabinone.prop === 'totalQuote'"
- :title="scope.row[itemcabinone.prop]">{{
- (scope.row['toll'] * scope.row['singleQuote']).toFixed(2)
- }}</span>
- <span v-else-if="itemcabinone.prop === 'singleProfit'"
- :title="scope.row[itemcabinone.prop]">{{
- ((scope.row['singleQuote'] - scope.row['costPerson'])).toFixed(2)
- }}</span>
- <span v-else-if="itemcabinone.prop === 'totalProfit'"
- :title="scope.row[itemcabinone.prop]">{{
- ((scope.row['singleQuote'] - scope.row['costPerson']) *
- scope.row['toll']).toFixed(2)
- }}</span>
- <span v-else :title="scope.row[itemcabinone.prop]">{{
- scope.row[itemcabinone.prop]
- }}</span>
- </template>
- </el-table-column>
- </el-table>
- </div>
- </div>
- </div>
- <div style="width: 2%;" v-show="costTypevalue != 'A'"></div>
- <div style="width: 49%;" v-show="costTypevalue != 'A'">
- <div v-for="( cabinitem, index ) in BcabinDatal " :key="index">
- <div class="biaoge"
- v-if="CheckBoxListSelect.filter(item => item.cbType == 'Right')[0].cbValues.includes(cabinitem.label)">
- <div style=" color: rgb(96, 98, 102);font-size: 15px;font-weight: 600;">{{
- cabinitem.label }}
- </div>
- <el-table :data="cabinitem.sheetInfo" border style="width: 100%">
- <el-table-column v-for="( itemcabinone, index ) in cabinitem.childList "
- :key="index" :prop="itemcabinone.prop" :label="itemcabinone.childLabel">
- <template slot-scope="scope">
- <div v-if="itemcabinone.prop === 'toll'">
- <el-input :ref="'el-input-' + index"
- v-model="scope.row[itemcabinone.prop]" show-word-limit disabled />
- </div>
- <span
- v-else-if="itemcabinone.prop === 'costPerson' || itemcabinone.prop === 'singleQuote'"
- :title="scope.row[itemcabinone.prop]">{{
- scope.row[itemcabinone.prop]
- }}</span>
- <span v-else-if="itemcabinone.prop === 'totalCost'"
- :title="scope.row[itemcabinone.prop]">{{
- (scope.row['toll'] * scope.row['costPerson']).toFixed(2)
- }}</span>
- <span v-else-if="itemcabinone.prop === 'totalQuote'"
- :title="scope.row[itemcabinone.prop]">{{
- (scope.row['toll'] * scope.row['singleQuote']).toFixed(2)
- }}</span>
- <span v-else-if="itemcabinone.prop === 'singleProfit'"
- :title="scope.row[itemcabinone.prop]">{{
- (scope.row['singleQuote'] - scope.row['costPerson']).toFixed(2)
- }}</span>
- <span v-else-if="itemcabinone.prop === 'totalProfit'"
- :title="scope.row[itemcabinone.prop]">{{
- ((scope.row['singleQuote'] - scope.row['costPerson']) *
- scope.row['toll']).toFixed(2)
- }}</span>
- <span v-else :title="scope.row[itemcabinone.prop]">{{
- scope.row[itemcabinone.prop]
- }}</span>
- </template>
- </el-table-column>
- </el-table>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <el-dialog :title="DialogTitle" :visible.sync="outerVisible" :width="'60%'" :close-on-click-modal="false">
- <div>
- <div style="display: flex;">
- <div style="width: 30%;">
- <el-input v-model="dialogSearchInput" placeholder="请输入城市名称"></el-input>
- </div>
- <div style="width: 2%;"></div>
- <!-- <div><el-button type="primary" @click="dialogSearchMethon">搜索</el-button></div> -->
- </div>
- <br />
- <el-table ref="singleTable" border @current-change="SelChange"
- :data="filterdialogSearchInput.slice((currentPage - 1) * pageSize, currentPage * pageSize)"
- highlight-current-row style="width: 100%">
- <el-table-column v-for=" item, index in SeldialogColumn " :key="index" :prop="item.prop"
- :label="item.title">
- <template slot-scope="scope">
- <div>
- {{ scope.row[item.prop] }}
- </div>
- </template>
- </el-table-column>
- </el-table>
- <div class="block">
- <el-pagination align='center' @current-change="handleCurrentChange" :current-page="currentPage"
- :page-sizes="[5, 10]" :page-size="pageSize" layout="total, sizes, prev, pager, next"
- @size-change="handleSizeChange" :total="filterdialogSearchInput.length">
- </el-pagination>
- </div>
- </div>
- <!-- <el-dialog width="30%" title="内层 Dialog" :visible.sync="innerVisible" append-to-body>
- </el-dialog> -->
- <!-- <div slot="footer" class="dialog-footer">
- <el-button @click="outerVisible = false">取 消</el-button>
- <el-button type="primary" @click="innerVisible = true">打开内层 Dialog</el-button>
- </div> -->
- <div slot="footer" class="dialog-footer">
- <el-button @click="outerVisible = false">取 消</el-button>
- <el-button type="primary" @click="outerVisible = false">确定</el-button>
- </div>
- </el-dialog>
- </div>
- </template>
- <script>
- export default {
- data() {
- return {
- costloading: true,
- outerVisible: false,
- innerVisible: false,
- //checkList: ['DAY', 'ITIN', 'VA', 'VF', 'VRD', 'T/G S', 'DATE'], //列表默认选中
- checkOptions: [
- { label: 'DAY', tips: '时间(DATE)' },
- { label: 'DATE', tips: '行程描述(ITINERARY)' },
- { label: 'ITIN', tips: '行程描述(ITINERARY)' },
- { label: 'VA', tips: '车服务区域(Vehicle Area)' },
- { label: 'VT', tips: '车型(VEHICLE TYPE)' },
- { label: 'VF', tips: '车费用(VEHICLE FEES)' },
- { label: 'VN', tips: '车数量(VEHICLE Number)' },
- { label: 'VRD', tips: '用车时间(VEHICLE RENTAL DURATION)' },
- { label: 'T/G S', tips: '导游工资(TOUR GUIDE SALARY)' },
- { label: 'T/G N', tips: '导游数量(TOUR GUIDE Number)' },
- { label: 'T/G WH', tips: '导游工作时间(导游工作时间)' },
- { label: 'T/G OF', tips: '导游超时费用(TOUR GUIDE OVERTIME FEES)' },
- { label: 'T/G M', tips: '导游餐补(TOUR GUIDE MEALS)' },
- { label: 'T/G A', tips: '导游房补(TOUR GUIDE ACCOMMODATION)' },
- { label: 'T/G TF', tips: '导游交通费(TOUR GUIDE TRANSPORATION FEES)' },
- { label: 'T/G EF', tips: '导游景点费(TOUR GUIDE ENTRANCE FEES)' },
- { label: 'C/F M', tips: '司机餐补(CHAUFFEUR MEALS)' },
- { label: 'C/F OF', tips: '司机超时费用(CHAUFFEUR OVERTIME FEES)' },
- { label: 'B', tips: '早餐(BREAKFAST) #个人成本' },
- { label: 'L', tips: '午餐(LUNCH) #个人成本' },
- { label: 'D', tips: '晚餐(DINNER) #个人成本' },
- { label: 'TBR', tips: '双人间(TWIN BED ROOM) #个人成本' },
- { label: 'SGR', tips: '单间(SINGLE ROOM) #个人成本' },
- { label: 'JS/ES', tips: '小套房/豪华套房(JUNIOR SUITE/EXECUTIVE SUITE) #个人成本' },
- { label: 'SUITE', tips: '套房(SUITE) #个人成本' },
- { label: 'ACCO N', tips: '住宿地名称(ACCOMMODATION NAME)' },
- { label: 'T/V', tips: '公务活动费用(T/V)' },
- { label: '1/L', tips: '公务活动费用(1/L)' },
- { label: 'I/F', tips: '公务翻译费用(INTERPRETER FEES)' },
- { label: 'EF', tips: '景点门票(ENTRANCE FEE) #个人成本' },
- { label: 'B/R/F', tips: '饮料零食水果(BEVERAGE/RRESHMENT/FRUIT)' },
- { label: 'TE', tips: '出行物资(TRAVELLLING ESSENTIALS) #个人成本' },
- { label: 'T/G T', tips: '导游小费(T/G TIPS) #个人成本' },
- { label: 'DRV T', tips: '司机小费(DRIVER TIPS #个人成本)' },
- { label: 'P/C', tips: '零用金(PETTY CASH) #个人成本' },
- { label: 'T/L F', tips: '领队费(TOUR LEADER FEES)' },
- { label: 'E/C T', tips: '会务费(EXPO/CONFERENCE TICKET)' }
- ],
- tableLabel: [
- { label: 'DAY', width: '90', prop: 'day', describe: '天数(DAY)' },
- { label: 'DATE', width: '150', prop: 'date', describe: '时间(DATE)' },
- { label: 'ITIN', width: '200', prop: 'itin', describe: '行程描述(ITINERARY)' },
- { label: 'VA', width: '85', prop: 'sale', describe: '车服务区域(Vehicle Area)' }, // ??????????????
- { label: 'VT', width: '200', prop: 'carType', describe: '车型(VEHICLE TYPE)' },
- { label: 'VF', width: '150', prop: 'carCost', describe: '车费用(VEHICLE FEES)' },
- { label: 'VN', width: '150', prop: 'carNumber', describe: '车数量(VEHICLE Number)' },
- { label: 'VRD', width: '150', prop: 'carTiming', describe: '用车时间(VEHICLE RENTAL DURATION)' },
- { label: 'T/G S', width: '150', prop: 'tgs', describe: '导游工资(TOUR GUIDE SALARY)' },
- { label: 'T/G N', width: '150', prop: 'tgn', describe: '导游数量(TOUR GUIDE Number' },
- { label: 'T/G WH', width: '150', prop: 'tgwh', describe: '导游工作时间(导游工作时间)' },
- { label: 'T/G OF', width: '150', prop: 'tgof', describe: '导游超时费用(TOUR GUIDE OVERTIME FEES)' },
- { label: 'T/G M', width: '150', prop: 'tgm', describe: '导游餐补(TOUR GUIDE MEALS)' },
- { label: 'T/G A', width: '150', prop: 'tga', describe: '导游房补(TOUR GUIDE ACCOMMODATION)' },
- { label: 'T/G TF', width: '150', prop: 'tgtf', describe: '导游交通费(TOUR GUIDE TRANSPORATION FEES)' },
- { label: 'T/G EF', width: '150', prop: 'tgef', describe: '导游景点费(TOUR GUIDE ENTRANCE FEES)' },
- { label: 'C/F M', width: '150', prop: 'cfm', describe: '司机餐补(CHAUFFEUR MEALS)' },
- { label: 'C/F OF', width: '150', prop: 'cfof', describe: '司机超时费用(CHAUFFEUR OVERTIME FEES)' },
- { label: 'B', width: '150', prop: 'b', describe: '早餐(BREAKFAST) #个人成本' },
- { label: 'L', width: '150', prop: 'l', describe: '午餐(LUNCH) #个人成本' },
- { label: 'D', width: '150', prop: 'd', describe: '晚餐(DINNER) #个人成本' },
- { label: 'TBR', width: '150', prop: 'tbr', describe: '双人间(TWIN BED ROOM) #个人成本' },
- { label: 'SGR', width: '150', prop: 'sgr', describe: '单间(SINGLE ROOM) #个人成本' },
- { label: 'JS/ES', width: '150', prop: 'jS_ES', describe: '小套房/豪华套房(JUNIOR SUITE/EXECUTIVE SUITE) #个人成本' },
- { label: 'SUITE', width: '150', prop: 'suite', describe: '套房(SUITE) #个人成本' },
- { label: 'ACCO N', width: '200', prop: 'accon', describe: '住宿地名称(ACCOMMODATION NAME)' },
- { label: 'T/V', width: '150', prop: 'tv', describe: '公务活动费用(T/V)' },
- { label: '1/L', width: '150', prop: 'iL', describe: '邀请函相关费用(1/L)' },
- { label: 'I/F', width: '150', prop: 'if', describe: '公务翻译费用(INTERPRETER FEES)' },
- { label: 'EF', width: '150', prop: 'ef', describe: '景点门票(ENTRANCE FEE) #个人成本' },
- { label: 'B/R/F', width: '150', prop: 'b_R_F', describe: '饮料零食水果(BEVERAGE/RRESHMENT/FRUIT)' },
- { label: 'TE', width: '150', prop: 'te', describe: '出行物资(TRAVELLLING ESSENTIALS) #个人成本' },
- { label: 'T/G T', width: '150', prop: 'tgTips', describe: '导游小费(T/G TIPS) #个人成本' },
- { label: 'DRV T', width: '150', prop: 'drvTips', describe: '司机小费(DRIVER TIPS #个人成本)' },
- { label: 'P/C', width: '150', prop: 'pc', describe: '零用金(PETTY CASH) #个人成本' },
- { label: 'T/L F', width: '150', prop: 'tlf', describe: '领队费(TOUR LEADER FEES)' },
- { label: 'E/C T', width: '150', prop: 'ect', describe: '会务费(EXPO/CONFERENCE TICKET)' }
- ],
- statisticsArr: [
- { label: 'DAY', total: '', individual: '' },
- { label: 'DATE', total: '', individual: '' },
- { label: 'ITIN', total: '', individual: '' },
- { label: 'VA', total: '', individual: '' },
- { label: 'VT', total: '', individual: '' },
- { label: 'VF', total: '车费', individual: '车费人均' },
- { label: 'VN', total: '', individual: '' },
- { label: 'VRD', total: '', individual: '' },
- { label: 'T/G S', total: '导游工资', individual: '导游工资人均' },
- { label: 'T/G N', total: '', individual: '' },
- { label: 'T/G WH', total: '', individual: '' },
- { label: 'T/G OF', total: '', individual: '' },
- { label: 'T/G M', total: '', individual: '' },
- { label: 'T/G A', total: '', individual: '' },
- { label: 'T/G TF', total: '', individual: '' }
- ],
- tableData: [], //列表数据
- options: [],
- diid: '',
- currencyOption: [{
- value: 'CNY',
- label: 'CNY'
- }, {
- value: 'CAD',
- label: 'CAD'
- }, {
- value: 'EGP',
- label: 'EGP'
- }, {
- value: 'EUR',
- label: 'EUR'
- }, {
- value: 'USD',
- label: 'USD'
- }],
- currencyValueL: 'CNY',
- formInline: {
- user: '',
- region: ''
- },
- //sheetoneList: ['签证', '机票', '核酸检测',],
- sheetoneOptions: ['签证', '保险', '机票', '火车票', '船票', '核酸检测', '酒店TBR', '酒店SGR', '酒店JSES', '酒店SUITE', '地接', '公务', '零用金'],
- sheetDatal: [
- {
- label: '签证',
- EnLabel: 'visa',
- childList: [
- {
- childLabel: '签证单人成本(CNY)',
- prop: 'visaCB'
- },
- {
- childLabel: '人数',
- prop: 'visaRS'
- },
- {
- childLabel: '签证系数',
- prop: 'visaXS'
- },
- {
- childLabel: '签证总成本(CNY)',
- prop: 'ZCB'
- },
- {
- childLabel: '签证单人报价(CNY)',
- prop: 'DRBJ' // 系数 * 单价
- },
- {
- childLabel: '签证总报价(CNY)',
- prop: 'ZBJ' // 系数 * 单价 * 人数
- },
- {
- childLabel: '签证单人利润(CNY)',
- prop: 'DRLR' //系数 * 单价 - 单价
- },
- {
- childLabel: '签证总利润(CNY)',
- prop: 'ZLR' //(系数 * 单价 - 单价) * 人数
- },
- ],
- },
- {
- label: '保险',
- EnLabel: 'bx',
- childList: [
- {
- childLabel: '保险单人成本(CNY)',
- prop: 'bxcb'
- },
- {
- childLabel: '人数',
- prop: 'bxrs'
- },
- {
- childLabel: '保险系数',
- prop: 'bxxs'
- },
- {
- childLabel: '保险总成本(CNY)',
- prop: 'ZCB'
- },
- {
- childLabel: '保险单人报价(CNY)',
- prop: 'DRBJ'
- },
- {
- childLabel: '保险总报价(CNY)',
- prop: 'ZBJ'
- },
- {
- childLabel: '保险单人利润(CNY)',
- prop: 'DRLR'
- },
- {
- childLabel: '保险总利润(CNY)',
- prop: 'ZLR'
- },
- ],
- },
- {
- label: '火车票',
- EnLabel: 'hcp',
- childList: [
- {
- childLabel: '火车票单人成本(CNY)',
- prop: 'hcpcb'
- },
- {
- childLabel: '人数',
- prop: 'hcprs'
- },
- {
- childLabel: '火车票系数',
- prop: 'hcpxs'
- },
- {
- childLabel: '火车票总成本(CNY)',
- prop: 'ZCB'
- },
- {
- childLabel: '火车票单人报价(CNY)',
- prop: 'DRBJ'
- },
- {
- childLabel: '火车票总报价(CNY)',
- prop: 'ZBJ'
- },
- {
- childLabel: '火车票单人利润(CNY)',
- prop: 'DRLR'
- },
- {
- childLabel: '火车票总利润(CNY)',
- prop: 'ZLR'
- },
- ],
- },
- {
- label: '机票',
- EnLabel: 'jjc',
- childList: [
- {
- childLabel: '经济舱单人成本(CNY)',
- prop: 'jjccb'
- },
- {
- childLabel: '人数',
- prop: 'jjcrs'
- },
- {
- childLabel: '经济舱系数',
- prop: 'jjcxs'
- },
- {
- childLabel: '经济舱总成本(CNY)',
- prop: 'ZCB'
- },
- {
- childLabel: '经济舱单人报价(CNY)',
- prop: 'DRBJ'
- },
- {
- childLabel: '经济舱总报价(CNY)',
- prop: 'ZBJ'
- },
- {
- childLabel: '经济舱单人利润(CNY)',
- prop: 'DRLR'
- },
- {
- childLabel: '经济舱总利润(CNY)',
- prop: 'ZLR'
- },
- ],
- },
- {
- label: '机票',
- EnLabel: 'gwc',
- childList: [
- {
- childLabel: '公务舱单人成本(CNY)',
- prop: 'gwccb'
- },
- {
- childLabel: '人数',
- prop: 'gwcrs'
- },
- {
- childLabel: '公务舱系数',
- prop: 'gwcxs'
- },
- {
- childLabel: '公务舱总成本(CNY)',
- prop: 'ZCB'
- },
- {
- childLabel: '公务舱单人报价(CNY)',
- prop: 'DRBJ'
- },
- {
- childLabel: '公务舱总报价(CNY)',
- prop: 'ZBJ'
- },
- {
- childLabel: '公务舱单人利润(CNY)',
- prop: 'DRLR'
- },
- {
- childLabel: '公务舱总利润(CNY)',
- prop: 'ZLR'
- },
- ],
- },
- {
- label: '船票',
- EnLabel: 'cp',
- childList: [
- {
- childLabel: '船票单人成本(CNY)',
- prop: 'cpcb'
- },
- {
- childLabel: '人数',
- prop: 'cprs'
- },
- {
- childLabel: '船票系数',
- prop: 'cpxs'
- },
- {
- childLabel: '船票总成本(CNY)',
- prop: 'ZCB'
- },
- {
- childLabel: '船票单人报价(CNY)',
- prop: 'DRBJ'
- },
- {
- childLabel: '船票总报价(CNY)',
- prop: 'ZBJ'
- },
- {
- childLabel: '船票单人利润(CNY)',
- prop: 'DRLR'
- },
- {
- childLabel: '船票总利润(CNY)',
- prop: 'ZLR'
- },
- ],
- },
- {
- label: '核酸检测',
- EnLabel: 'hs',
- childList: [
- {
- childLabel: '核酸检测单人成本(CNY)',
- prop: 'hscb'
- },
- {
- childLabel: '人数',
- prop: 'hsrs'
- },
- {
- childLabel: '核酸检测系数',
- prop: 'hsxs'
- },
- {
- childLabel: '核酸检测总成本(CNY)',
- prop: 'ZCB'
- },
- {
- childLabel: '核酸检测单人报价(CNY)',
- prop: 'DRBJ'
- },
- {
- childLabel: '核酸检测总报价(CNY)',
- prop: 'ZBJ'
- },
- {
- childLabel: '核酸检测单人利润(CNY)',
- prop: 'DRLR'
- },
- {
- childLabel: '核酸检测总利润(CNY)',
- prop: 'ZLR'
- },
- ],
- },
- //---
- {
- label: '酒店TBR',
- EnLabel: 'tbr',
- childList: [
- {
- childLabel: '酒店TBR单人成本(CNY)',
- prop: 'tbrcb',
- isBind: true
- },
- {
- childLabel: '人数',
- prop: 'tbrNumber'
- },
- {
- childLabel: '酒店TBR系数',
- prop: 'tbrxs'
- },
- {
- childLabel: '酒店TBR总成本(CNY)',
- prop: 'ZCB'
- },
- {
- childLabel: '酒店TBR单人报价(CNY)',
- prop: 'DRBJ'
- },
- {
- childLabel: '酒店TBR总报价(CNY)',
- prop: 'ZBJ'
- },
- {
- childLabel: '酒店TBR单人利润(CNY)',
- prop: 'DRLR'
- },
- {
- childLabel: '酒店TBR总利润(CNY)',
- prop: 'ZLR'
- },
- ],
- },
- {
- label: '酒店SGR',
- EnLabel: 'sgr',
- childList: [
- {
- childLabel: '酒店SGR单人成本(CNY)',
- prop: 'sgrcb',
- isBind: true
- },
- {
- childLabel: '人数',
- prop: 'sgrNumber'
- },
- {
- childLabel: '酒店SGR系数',
- prop: 'sgrxs'
- },
- {
- childLabel: '酒店SGR总成本(CNY)',
- prop: 'ZCB'
- },
- {
- childLabel: '酒店SGR单人报价(CNY)',
- prop: 'DRBJ'
- },
- {
- childLabel: '酒店SGR总报价(CNY)',
- prop: 'ZBJ'
- },
- {
- childLabel: '酒店SGR单人利润(CNY)',
- prop: 'DRLR'
- },
- {
- childLabel: '酒店SGR总利润(CNY)',
- prop: 'ZLR'
- },
- ],
- },
- {
- label: '酒店JSES',
- EnLabel: 'jses',
- childList: [
- {
- childLabel: '酒店JSES单人成本(CNY)',
- prop: 'jsescb',
- isBind: true
- },
- {
- childLabel: '人数',
- prop: 'jsesNumber'
- },
- {
- childLabel: '酒店JSES系数',
- prop: 'jsesxs'
- },
- {
- childLabel: '酒店JSES总成本(CNY)',
- prop: 'ZCB'
- },
- {
- childLabel: '酒店JSES单人报价(CNY)',
- prop: 'DRBJ'
- },
- {
- childLabel: '酒店JSES总报价(CNY)',
- prop: 'ZBJ'
- },
- {
- childLabel: '酒店JSES单人利润(CNY)',
- prop: 'DRLR'
- },
- {
- childLabel: '酒店JSES总利润(CNY)',
- prop: 'ZLR'
- },
- ],
- },
- {
- label: '酒店SUITE',
- EnLabel: 'suite',
- childList: [
- {
- childLabel: '酒店SUITE单人成本(CNY)',
- prop: 'suitecb',
- isBind: true
- },
- {
- childLabel: '人数',
- prop: 'suiteNumber'
- },
- {
- childLabel: '酒店SUITE系数',
- prop: 'suitexs'
- },
- {
- childLabel: '酒店SUITE总成本(CNY)',
- prop: 'ZCB'
- },
- {
- childLabel: '酒店SUITE单人报价(CNY)',
- prop: 'DRBJ'
- },
- {
- childLabel: '酒店SUITE总报价(CNY)',
- prop: 'ZBJ'
- },
- {
- childLabel: '酒店SUITE单人利润(CNY)',
- prop: 'DRLR'
- },
- {
- childLabel: '酒店SUITE总利润(CNY)',
- prop: 'ZLR'
- },
- ],
- },
- {
- label: '地接',
- EnLabel: 'dj',
- childList: [
- {
- childLabel: '地接单人成本(CNY)',
- prop: 'djcb',
- isBind: true
- },
- {
- childLabel: '人数', //实体类无地接人数
- prop: 'djrs'
- },
- {
- childLabel: '地接系数',
- prop: 'djxs'
- },
- {
- childLabel: '地接总成本(CNY)',
- prop: 'ZCB'
- },
- {
- childLabel: '地接单人报价(CNY)',
- prop: 'DRBJ'
- },
- {
- childLabel: '地接总报价(CNY)',
- prop: 'ZBJ'
- },
- {
- childLabel: '地接单人利润(CNY)',
- prop: 'DRLR'
- },
- {
- childLabel: '地接总利润(CNY)',
- prop: 'ZLR'
- },
- ],
- },
- {
- label: '公务',
- EnLabel: 'gw',
- childList: [
- {
- childLabel: '公务单人成本(CNY)',
- prop: 'gwcb',
- isBind: true
- },
- {
- childLabel: '人数',
- prop: 'gwrs'
- },
- {
- childLabel: '公务系数',
- prop: 'gwxs'
- },
- {
- childLabel: '公务总成本(CNY)',
- prop: 'ZCB'
- },
- {
- childLabel: '公务单人报价(CNY)',
- prop: 'DRBJ'
- },
- {
- childLabel: '公务总报价(CNY)',
- prop: 'ZBJ'
- },
- {
- childLabel: '公务单人利润(CNY)',
- prop: 'DRLR'
- },
- {
- childLabel: '公务总利润(CNY)',
- prop: 'ZLR'
- },
- ],
- },
- {
- label: '零用金',
- EnLabel: 'lyj',
- childList: [
- {
- childLabel: '零用金单人成本(CNY)',
- prop: 'lyjcb',
- isBind: true
- },
- {
- childLabel: '人数',
- prop: 'lyjrs'
- },
- {
- childLabel: '零用金系数',
- prop: 'lyjxs'
- },
- {
- childLabel: '零用金总成本(CNY)',
- prop: 'ZCB'
- },
- {
- childLabel: '零用金单人报价(CNY)',
- prop: 'DRBJ'
- },
- {
- childLabel: '零用金总报价(CNY)',
- prop: 'ZBJ'
- },
- {
- childLabel: '零用金单人利润(CNY)',
- prop: 'DRLR'
- },
- {
- childLabel: '零用金总利润(CNY)',
- prop: 'ZLR'
- },
- ],
- },
- ],
- //cabinoneList: ['经济舱 TBR', '经济舱 SGR', '核酸检测', '团组预算明细'],
- cabinoneOptions: ['经济舱 TBR', '经济舱 SGR', '公务舱 SGR', '公务舱 JS/ES', '公务舱 SUITE', '经济舱 SUITE'],
- cabinDatal: [
- {
- label: '经济舱 TBR',
- childList: [
- {
- childLabel: '单人成本(CNY)',
- prop: 'costPerson'
- },
- {
- childLabel: '人数',
- prop: 'toll'
- },
- {
- childLabel: '总成本(CNY)',
- prop: 'totalCost'
- },
- {
- childLabel: '单人报价(CNY)',
- prop: 'singleQuote'
- },
- {
- childLabel: '总报价(CNY)',
- prop: 'totalQuote'
- },
- {
- childLabel: '单人利润(CNY)',
- prop: 'singleProfit'
- },
- {
- childLabel: '总利润(CNY)',
- prop: 'totalProfit'
- },
- ],
- sheetInfo: [
- {
- costPerson: 1,
- toll: 11,
- totalCost: 137597.76,
- singleQuote: 102203.71,
- totalQuote: 35394.05,
- singleProfit: 35394.05,
- totalProfit: 35394.05
- },
- ]
- },
- {
- label: '经济舱 SGR',
- childList: [
- {
- childLabel: '单人成本(CNY)',
- prop: 'costPerson'
- },
- {
- childLabel: '人数',
- prop: 'toll'
- },
- {
- childLabel: '总成本(CNY)',
- prop: 'totalCost'
- },
- {
- childLabel: '单人报价(CNY)',
- prop: 'singleQuote'
- },
- {
- childLabel: '总报价(CNY)',
- prop: 'totalQuote'
- },
- {
- childLabel: '单人利润(CNY)',
- prop: 'singleProfit'
- },
- {
- childLabel: '总利润(CNY)',
- prop: 'totalProfit'
- },
- ],
- sheetInfo: [
- {
- costPerson: 1,
- toll: 11,
- totalCost: 137597.76,
- singleQuote: 102203.71,
- totalQuote: 35394.05,
- singleProfit: 35394.05,
- totalProfit: 35394.05
- },
- ]
- },
- {
- label: '公务舱 SGR',
- childList: [
- {
- childLabel: '单人成本(CNY)',
- prop: 'costPerson'
- },
- {
- childLabel: '人数',
- prop: 'toll'
- },
- {
- childLabel: '总成本(CNY)',
- prop: 'totalCost'
- },
- {
- childLabel: '单人报价(CNY)',
- prop: 'singleQuote'
- },
- {
- childLabel: '总报价(CNY)',
- prop: 'totalQuote'
- },
- {
- childLabel: '单人利润(CNY)',
- prop: 'singleProfit'
- },
- {
- childLabel: '总利润(CNY)',
- prop: 'totalProfit'
- },
- ],
- sheetInfo: [
- {
- costPerson: 1,
- toll: 11,
- totalCost: 137597.76,
- singleQuote: 102203.71,
- totalQuote: 35394.05,
- singleProfit: 35394.05,
- totalProfit: 35394.05
- },
- ]
- },
- {
- label: '公务舱 JS/ES',
- childList: [
- {
- childLabel: '单人成本(CNY)',
- prop: 'costPerson'
- },
- {
- childLabel: '人数',
- prop: 'toll'
- },
- {
- childLabel: '总成本(CNY)',
- prop: 'totalCost'
- },
- {
- childLabel: '单人报价(CNY)',
- prop: 'singleQuote'
- },
- {
- childLabel: '总报价(CNY)',
- prop: 'totalQuote'
- },
- {
- childLabel: '单人利润(CNY)',
- prop: 'singleProfit'
- },
- {
- childLabel: '总利润(CNY)',
- prop: 'totalProfit'
- },
- ],
- sheetInfo: [
- {
- costPerson: 1,
- toll: 11,
- totalCost: 137597.76,
- singleQuote: 102203.71,
- totalQuote: 35394.05,
- singleProfit: 35394.05,
- totalProfit: 35394.05
- },
- ]
- },
- {
- label: '公务舱 SUITE',
- childList: [
- {
- childLabel: '单人成本(CNY)',
- prop: 'costPerson'
- },
- {
- childLabel: '人数',
- prop: 'toll'
- },
- {
- childLabel: '总成本(CNY)',
- prop: 'totalCost'
- },
- {
- childLabel: '单人报价(CNY)',
- prop: 'singleQuote'
- },
- {
- childLabel: '总报价(CNY)',
- prop: 'totalQuote'
- },
- {
- childLabel: '单人利润(CNY)',
- prop: 'singleProfit'
- },
- {
- childLabel: '总利润(CNY)',
- prop: 'totalProfit'
- },
- ],
- sheetInfo: [
- {
- costPerson: 1,
- toll: 11,
- totalCost: 137597.76,
- singleQuote: 102203.71,
- totalQuote: 35394.05,
- singleProfit: 35394.05,
- totalProfit: 35394.05
- },
- ]
- }
- ,
- {
- label: '经济舱 SUITE',
- childList: [
- {
- childLabel: '单人成本(CNY)',
- prop: 'costPerson'
- },
- {
- childLabel: '人数',
- prop: 'toll'
- },
- {
- childLabel: '总成本(CNY)',
- prop: 'totalCost'
- },
- {
- childLabel: '单人报价(CNY)',
- prop: 'singleQuote'
- },
- {
- childLabel: '总报价(CNY)',
- prop: 'totalQuote'
- },
- {
- childLabel: '单人利润(CNY)',
- prop: 'singleProfit'
- },
- {
- childLabel: '总利润(CNY)',
- prop: 'totalProfit'
- },
- ],
- sheetInfo: [
- {
- costPerson: 1,
- toll: 11,
- totalCost: 137597.76,
- singleQuote: 102203.71,
- totalQuote: 35394.05,
- singleProfit: 35394.05,
- totalProfit: 35394.05
- },
- ]
- },
- {
- label: '团组预算明细',
- childList: [
- {
- childLabel: '团组成本(CNY)',
- prop: 'groupCosts'
- },
- {
- childLabel: '团组报价(CNY)',
- prop: 'gtroupQuotes'
- },
- {
- childLabel: '团组利润(CNY)',
- prop: 'groupProfit'
- }
- ],
- sheetInfo: [
- {
- groupCosts: 1,
- gtroupQuotes: 11,
- groupProfit: 137597.76,
- },
- ]
- }
- ],
- BcabinDatal: [
- {
- label: '经济舱 TBR',
- childList: [
- {
- childLabel: '单人成本(CNY)',
- prop: 'costPerson'
- },
- {
- childLabel: '人数',
- prop: 'toll'
- },
- {
- childLabel: '总成本(CNY)',
- prop: 'totalCost'
- },
- {
- childLabel: '单人报价(CNY)',
- prop: 'singleQuote'
- },
- {
- childLabel: '总报价(CNY)',
- prop: 'totalQuote'
- },
- {
- childLabel: '单人利润(CNY)',
- prop: 'singleProfit'
- },
- {
- childLabel: '总利润(CNY)',
- prop: 'totalProfit'
- },
- ],
- sheetInfo: [
- {
- costPerson: 0,
- toll: 0,
- totalCost: 137597.76,
- singleQuote: 102203.71,
- totalQuote: 35394.05,
- singleProfit: 35394.05,
- totalProfit: 35394.05
- },
- ]
- },
- {
- label: '经济舱 SGR',
- childList: [
- {
- childLabel: '单人成本(CNY)',
- prop: 'costPerson'
- },
- {
- childLabel: '人数',
- prop: 'toll'
- },
- {
- childLabel: '总成本(CNY)',
- prop: 'totalCost'
- },
- {
- childLabel: '单人报价(CNY)',
- prop: 'singleQuote'
- },
- {
- childLabel: '总报价(CNY)',
- prop: 'totalQuote'
- },
- {
- childLabel: '单人利润(CNY)',
- prop: 'singleProfit'
- },
- {
- childLabel: '总利润(CNY)',
- prop: 'totalProfit'
- },
- ],
- sheetInfo: [
- {
- costPerson: 1,
- toll: 11,
- totalCost: 137597.76,
- singleQuote: 102203.71,
- totalQuote: 35394.05,
- singleProfit: 35394.05,
- totalProfit: 35394.05
- },
- ]
- },
- {
- label: '公务舱 SGR',
- childList: [
- {
- childLabel: '单人成本(CNY)',
- prop: 'costPerson'
- },
- {
- childLabel: '人数',
- prop: 'toll'
- },
- {
- childLabel: '总成本(CNY)',
- prop: 'totalCost'
- },
- {
- childLabel: '单人报价(CNY)',
- prop: 'singleQuote'
- },
- {
- childLabel: '总报价(CNY)',
- prop: 'totalQuote'
- },
- {
- childLabel: '单人利润(CNY)',
- prop: 'singleProfit'
- },
- {
- childLabel: '总利润(CNY)',
- prop: 'totalProfit'
- },
- ],
- sheetInfo: [
- {
- costPerson: 1,
- toll: 11,
- totalCost: 137597.76,
- singleQuote: 102203.71,
- totalQuote: 35394.05,
- singleProfit: 35394.05,
- totalProfit: 35394.05
- },
- ]
- },
- {
- label: '公务舱 JS/ES',
- childList: [
- {
- childLabel: '单人成本(CNY)',
- prop: 'costPerson'
- },
- {
- childLabel: '人数',
- prop: 'toll'
- },
- {
- childLabel: '总成本(CNY)',
- prop: 'totalCost'
- },
- {
- childLabel: '单人报价(CNY)',
- prop: 'singleQuote'
- },
- {
- childLabel: '总报价(CNY)',
- prop: 'totalQuote'
- },
- {
- childLabel: '单人利润(CNY)',
- prop: 'singleProfit'
- },
- {
- childLabel: '总利润(CNY)',
- prop: 'totalProfit'
- },
- ],
- sheetInfo: [
- {
- costPerson: 1,
- toll: 11,
- totalCost: 137597.76,
- singleQuote: 102203.71,
- totalQuote: 35394.05,
- singleProfit: 35394.05,
- totalProfit: 35394.05
- },
- ]
- },
- {
- label: '公务舱 SUITE',
- childList: [
- {
- childLabel: '单人成本(CNY)',
- prop: 'costPerson'
- },
- {
- childLabel: '人数',
- prop: 'toll'
- },
- {
- childLabel: '总成本(CNY)',
- prop: 'totalCost'
- },
- {
- childLabel: '单人报价(CNY)',
- prop: 'singleQuote'
- },
- {
- childLabel: '总报价(CNY)',
- prop: 'totalQuote'
- },
- {
- childLabel: '单人利润(CNY)',
- prop: 'singleProfit'
- },
- {
- childLabel: '总利润(CNY)',
- prop: 'totalProfit'
- },
- ],
- sheetInfo: [
- {
- costPerson: 1,
- toll: 11,
- totalCost: 137597.76,
- singleQuote: 102203.71,
- totalQuote: 35394.05,
- singleProfit: 35394.05,
- totalProfit: 35394.05
- },
- ]
- }
- ,
- {
- label: '经济舱 SUITE',
- childList: [
- {
- childLabel: '单人成本(CNY)',
- prop: 'costPerson'
- },
- {
- childLabel: '人数',
- prop: 'toll'
- },
- {
- childLabel: '总成本(CNY)',
- prop: 'totalCost'
- },
- {
- childLabel: '单人报价(CNY)',
- prop: 'singleQuote'
- },
- {
- childLabel: '总报价(CNY)',
- prop: 'totalQuote'
- },
- {
- childLabel: '单人利润(CNY)',
- prop: 'singleProfit'
- },
- {
- childLabel: '总利润(CNY)',
- prop: 'totalProfit'
- },
- ],
- sheetInfo: [
- {
- costPerson: 1,
- toll: 11,
- totalCost: 137597.76,
- singleQuote: 102203.71,
- totalQuote: 35394.05,
- singleProfit: 35394.05,
- totalProfit: 35394.05
- },
- ]
- }
- ],
- costType: [
- {
- value: 'A',
- label: '单段模式'
- },
- {
- value: 'B',
- label: '双段模式'
- }
- ],
- userId: 0,
- token: '',
- costTypevalue: 'A',
- grouptitleinfo: {},
- costTypeHotelNumbers: [{
- "sgr": 0,
- "tbr": 0,
- "jses": 0,
- "suite": 0,
- "type": "Default",
- "diid": 0,
- id: 0,
- },
- {
- "sgr": 0,
- "tbr": 0,
- "jses": 0,
- "suite": 0,
- "type": "A",
- "diid": 0,
- id: 0,
- },
- {
- "sgr": 0,
- "tbr": 0,
- "jses": 0,
- "suite": 0,
- "type": "B",
- "diid": 0,
- id: 0,
- }],
- CheckBoxListSelect: [
- {
- "diid": 0,
- "cbType": "Top",
- "cbValues": ['DAY', 'ITIN', 'VA', 'VF', 'VRD', 'T/G S', 'DATE'] //"string"
- },
- {
- "diid": 0,
- "cbType": "Left",
- "cbValues": ['签证', '机票', '核酸检测',] //"string"
- },
- {
- "diid": 0,
- "cbType": "Right",
- "cbValues": ['经济舱 TBR', '经济舱 SGR', '团组预算明细'] //"string"
- }
- ],
- AGroupCostParameter: {
- "id": 0,
- "diId": 0,
- "currency": "CNY",
- "rate": 0,
- "tax": 0,
- "ffys": 0,
- "hotelXS": 0,
- "jjccb": 0,
- "jjcxs": 0,
- "jjcrs": 0,
- "gwccb": 0,
- "gwcxs": 0,
- "gwcrs": 0,
- "hcpcb": 0,
- "hcpxs": 0,
- "hcprs": 0,
- "cpcb": 0,
- "cpxs": 0,
- "cprs": 0,
- "bxcb": 0,
- "bxxs": 0,
- "bxrs": 0,
- "hscb": 0,
- "hsxs": 0,
- "hsrs": 0,
- "visaCB": 0,
- "visaXS": 0,
- "visaRS": 0,
- "gwcb": 0,
- "gwxs": 0,
- "gwrs": 0,
- "djcb": 0,
- "djrs": 0,
- "djxs": 0,
- "sgrcb": 0,
- "sgrNumber": 0,
- "sgrxs": 0,
- "tbrcb": 0,
- "tbrNumber": 0,
- "tbrxs": 0,
- "jsescb": 0,
- "jsesNumber": 0,
- "jsesxs": 0,
- "suitecb": 0,
- "suiteNumber": 0,
- "suitexs": 0,
- "lyjcb": 0,
- "lyjxs": 0,
- "lyjrs": 0,
- "isShare": 0,
- "costType": "A",
- "costTypeStartTime": "",
- "costTypeendTime": "",
- "costTypenumber": 0
- },
- BGroupCostParameter: {
- "id": 0,
- "diId": 0,
- "currency": "",
- "rate": 0,
- "tax": 0,
- "ffys": 0,
- "hotelXS": 0,
- "jjccb": 0,
- "jjcxs": 0,
- "jjcrs": 0,
- "gwccb": 0,
- "gwcxs": 0,
- "gwcrs": 0,
- "hcpcb": 0,
- "hcpxs": 0,
- "hcprs": 0,
- "cpcb": 0,
- "cpxs": 0,
- "cprs": 0,
- "bxcb": 0,
- "bxxs": 0,
- "bxrs": 0,
- "hscb": 0,
- "hsxs": 0,
- "hsrs": 0,
- "visaCB": 0,
- "visaXS": 0,
- "visaRS": 0,
- "gwcb": 0,
- "gwxs": 0,
- "gwrs": 0,
- "djcb": 0,
- "djxs": 0,
- "djrs": 0,
- "sgrcb": 0,
- "sgrNumber": 0,
- "sgrxs": 0,
- "tbrcb": 0,
- "tbrNumber": 0,
- "tbrxs": 0,
- "jsescb": 0,
- "jsesNumber": 0,
- "jsesxs": 0,
- "suitecb": 0,
- "suiteNumber": 0,
- "suitexs": 0,
- "lyjcb": 0,
- "lyjxs": 0,
- "lyjrs": 0,
- "isShare": 0,
- "costType": "B",
- "costTypeStartTime": "",
- "costTypeendTime": "",
- "costTypenumber": 0
- },
- dialogColumn: [
- {
- index: 1, data: [
- { title: "国家", prop: "country" },
- { title: "城市", prop: "city" },
- { title: "服务类型", prop: "serviceType" },
- { title: "用车类型", prop: "carType" },
- { title: "用车报价", prop: "offer" },
- { title: "车兼导费用", prop: "cgCost" },
- { title: "用车时长", prop: "runingTime" },
- { title: "车超时费用/时", prop: "overtimeFee" },
- { title: "司兼导超时费/时", prop: "cgOvertimeFee" },
- { title: "币种", prop: "currency" },
- { title: "备注", prop: "remark" }
- ]
- },
- {
- index: 2, data: [
- { title: "国家", prop: "country" },
- { title: "城市", prop: "city" },
- { title: "导游服务类型", prop: "serviceType" },
- { title: "导游工资", prop: "price" },
- { title: "翻译工资", prop: "translationPrice" },
- { title: "超时费用", prop: "overtimeFee" },
- { title: "币种", prop: "currency" },
- { title: "备注", prop: "remark" }
- ]
- },
- {
- index: 3, data: [
- { title: "国家", prop: "country" },
- { title: "城市", prop: "city" },
- { title: "车类型", prop: "carType" },
- { title: "服务类型", prop: "serviceType" },
- { title: "用车时间", prop: "when" },
- { title: "工资", prop: "price" },
- { title: "超时费用", prop: "overtimeFee" },
- { title: "币种", prop: "currency" },
- { title: "备注", prop: "remark" }
- ]
- },
- {
- index: 4, data: [
- { title: "国家", prop: "country" },
- { title: "城市", prop: "city" },
- { title: "景点", prop: "scenicSpot" },
- { title: "景点项目描述", prop: "scenicSpotDetail" },
- { title: "景点价格", prop: "price" },
- { title: "币种", prop: "currency" },
- { title: "景点地址", prop: "address" }
- ]
- }
- // 司兼导
- // 导游
- // 车数据
- // 景点
- ],
- dialogTableData: [],
- SeldialogColumn: [],
- DialogTitle: '',
- pageSize: 5,
- currentPage: 1,
- dialogSearchInput: '',
- selectRow: {},
- rowIndex: 0,
- sumTopPrice: [],
- DJLables: ['VF', 'T/G S', 'T/G OF', 'T/G M', 'T/G A', 'T/G TF', 'T/G EF', 'C/F M', 'C/F OF', 'B', 'L', 'D', 'EF', 'B/R/F', 'TE', 'T/G T', 'DRV T', 'T/L F'],
- GwLables: ['T/V', 'E/C T', 'I/F', '1/L'],
- OtherCostProperty: ['visaCB', 'hcpcb', 'cpcb', 'bxcb', 'hscb', 'djcb', 'gwcb', 'lyjcb'],
- OtherCostPropertyBJ: ['visa', 'hcp', 'cp', 'bx', 'hs', 'dj', 'gw', 'lyj'],
- peopleNumber: 1,
- centerheight: 700,
- defaultheight: 50,
- rules: {
- rate: [
- { pattern: /^-?\d+\.?\d*$/, message: '请输入正确数据', trigger: 'blur', required: true, }
- ],
- tax: [
- { pattern: /^-?\d+\.?\d*$/, message: '请输入正确数据', trigger: 'blur', required: true, }
- ],
- },
- HotelRules: {
- sgr: [
- { type: 'number', min: 0, message: '请输入整数', trigger: 'blur', required: true, },
- ],
- tbr: [
- { type: 'number', min: 0, message: '请输入整数', trigger: 'blur', required: true, },
- ],
- suite: [
- { type: 'number', min: 0, message: '请输入整数', trigger: 'blur', required: true, },
- ],
- jses: [
- { type: 'number', min: 0, message: '请输入整数', trigger: 'blur', required: true, },
- ],
- },
- CostTimeRules: {
- costTypeendTime: [
- { message: '请输入结束时间', trigger: 'blur', required: true, },
- ],
- costTypenumber: [
- { type: 'number', min: 0, message: '请输入整数', trigger: 'blur', required: true, },
- ],
- costTypeStartTime: [
- { message: '请输入开始时间', trigger: 'blur', required: true, },
- ],
- }
- };
- },
- watch: {
- // 此处监听variable变量,当期有变化时执行
- // checkList(item1, item2) {
- // // console.log(item1)
- // // console.log(item2)
- // // item1为新值,item2为旧值
- // },
- 'tableData.length': {
- handler(newValue, oldValue) {
- if (newValue !== oldValue) {
- if (this.tableData.length > 3) {
- this.centerheight = 700;
- } else {
- this.centerheight = this.defaultheight + (this.tableData.length * 220);
- }
- console.log('高度' + this.centerheight);
- }
- }
- }
- },
- methods: {
- getSummaries(param) {
- var that = this;
- //console.log(param)
- const { columns, data } = param;
- const sums = [];
- const sums1 = [];
- var prices = [];
- var thisData = data;
- var ATime = { start: that.addOneDay(that.AGroupCostParameter.costTypeStartTime, 0), end: that.addOneDay(that.AGroupCostParameter.costTypeendTime, 0) };
- var BTime = { start: that.addOneDay(that.BGroupCostParameter.costTypeStartTime, 0), end: that.addOneDay(that.BGroupCostParameter.costTypeendTime, 0) };
- console.log('ATime,BTime', ATime, BTime);
- var data1 = [];
- var data2 = [];
- console.log('datas', data);
- if (that.costTypevalue == 'B') {
- for (var i = 0; i < thisData.length; i++) {
- var forTime = thisData[i].date;
- if (forTime == '' && i != 0) {
- forTime = thisData[i - 1].date;
- }
- if (forTime >= ATime.start && forTime <= ATime.end) {
- data1.push(thisData[i])
- }
- if (forTime >= BTime.start && forTime <= BTime.end) {
- data2.push(thisData[i])
- }
- }
- thisData = data1;
- if (isNaN(Number(that.AGroupCostParameter.costTypenumber)) || Number(that.AGroupCostParameter.costTypenumber) < 1) {
- that.peopleNumber = 1;
- } else {
- that.peopleNumber = Number(that.AGroupCostParameter.costTypenumber);
- }
- }
- console.log('3data', thisData, data1, data2);
- columns.forEach((column, index) => {
- if (index === 0) {
- prices[index] = "总计:";
- return;
- }
- if (column.label == 'DATE' || column.label == 'ITIN' || column.label == 'VT' || column.label == 'VN' || column.label == 'ACCO N' || column.label == 'VA' || column.label == 'VRD' || column.label == 'T/G N' || column.label == 'T/G WH' || column.label == '操作') {
- prices[index] = "——";
- return;
- }
- const values = thisData.map(item => Number(item[column.property]));
- if (!values.every(value => isNaN(value))) {
- sums[index] = values.reduce((prev, curr) => {
- const value = Number(curr);
- if (!isNaN(value)) {
- return prev + curr;
- } else {
- return prev;
- }
- }, 0);
- if (column.label == 'SGR' || column.label == 'JS/ES' || column.label == 'SUITE' || column.label == 'TBR' || column.label == 'B' || column.label == 'L' || column.label == 'D' || column.label == 'EF' || column.label == 'TE' || column.label == 'T/G T' || column.label == 'P/C' || column.label == ' DRV T') {
- prices[index] = '共' + (sums[index] * that.peopleNumber).toFixed(2) + ' ' + this.AGroupCostParameter.currency + '\r\n人均' + (sums[index]).toFixed(2) + " " + this.AGroupCostParameter.currency //sums[index] + '(' + this.AGroupCostParameter.currency + ')' + ' 人均(' + sums[index] + ')';
- } else {
- prices[index] = '共' + sums[index].toFixed(2) + ' ' + this.AGroupCostParameter.currency + '\r\n人均' + (sums[index] / that.peopleNumber).toFixed(2) + " " + this.AGroupCostParameter.currency //sums[index] + '(' + this.AGroupCostParameter.currency + ')' + ' 人均(' + sums[index] + ')';
- sums[index] = parseFloat((sums[index] / that.peopleNumber).toFixed(2));
- }
- } else {
- prices[index] = 'N/A';
- }
- if (that.costTypevalue == 'B') {
- const values1 = data2.map(item => Number(item[column.property]));
- if (!values1.every(value => isNaN(value))) {
- sums1[index] = values1.reduce((prev, curr) => {
- const value = Number(curr);
- if (!isNaN(value)) {
- return prev + curr;
- } else {
- return prev;
- }
- }, 0);
- if (column.label == 'SGR' || column.label == 'JS/ES' || column.label == 'SUITE' || column.label == 'TBR' || column.label == 'B' || column.label == 'L' || column.label == 'D' || column.label == 'EF' || column.label == 'TE' || column.label == 'T/G T' || column.label == 'P/C' || column.label == ' DRV T') {
- prices[index] = 'A段费用' + prices[index] + '\r\nB段费用共' + (sums1[index] * that.BGroupCostParameter.costTypenumber).toFixed(2) + " " + this.AGroupCostParameter.currency + '\r\n人均' + sums1[index] + " " + this.AGroupCostParameter.currency //sums[index] + '(' + this.AGroupCostParameter.currency + ')' + ' 人均(' + sums[index] + ')';
- } else {
- prices[index] = 'A段费用' + prices[index] + '\r\nB段费用共' + sums1[index].toFixed(2) + " " + this.AGroupCostParameter.currency + '\r\n人均' + (sums1[index] / that.BGroupCostParameter.costTypenumber).toFixed(2) + " " + this.AGroupCostParameter.currency //sums[index] + '(' + this.AGroupCostParameter.currency + ')' + ' 人均(' + sums[index] + ')';
- sums1[index] = ((sums1[index] / that.BGroupCostParameter.costTypenumber).toFixed(2));
- }
- } else {
- prices[index] = 'A段费用' + prices[index] + ' B段费用' + 'N/A';
- }
- }
- var fliterList = that.sumTopPrice.filter(function (x) {
- return x.name == column.property;
- })
- if (fliterList.length == 0) {
- that.sumTopPrice.push({ name: column.property, label: column.label, Aprice: sums[index], Bprice: sums1[index] == undefined ? 0 : sums1[index] });
- } else {
- fliterList[0].Aprice = sums[index];
- fliterList[0].Bprice = sums1[index];
- }
- });
- console.log(that.sumTopPrice, 'sumTopPrice---------------');
- this.CalculatedPrice();
- //console.log(that.sumTopPrice, '------------');
- return prices;
- },
- handleEdit(index, row, buttonIndex) {
- //console.log(index, row, buttonIndex);
- this.rowIndex = index; // 行的索引
- var api = '';
- switch (buttonIndex) {
- case 1:
- api = 'GetCarGuides';
- this.DialogTitle = '选择车导数据';
- break;
- case 2:
- api = 'GetGuidesInfo';
- this.DialogTitle = '导游信息';
- break;
- case 3:
- api = 'GetCarInfo';
- this.DialogTitle = '选择车数据';
- break;
- case 4:
- api = 'GetScenicSpotInfo';
- this.DialogTitle = '景点信息';
- break;
- }
- if (api == '') {
- this.$message.error('程序异常!');
- return;
- }
- var dataC = this.dialogColumn.filter(x => x.index == buttonIndex);
- if (dataC.length == 0) {
- this.SeldialogColumn = [];
- } else {
- this.SeldialogColumn = dataC[0].data;
- }
- var that = this;
- this.$axios.post('/api/Groups/' + api, {}, {
- headers: {
- 'Authorization': that.token,
- }
- }).then(resp => {
- console.log(resp.data.data, '------------------------------------');
- that.outerVisible = true;
- if (resp.data.code == 200) {
- that.dialogTableData = resp.data.data;
- } else {
- that.$message.error('获取数据失败!' + resp.data.msg);
- }
- })
- },
- handleDelete(index, row, rows) {
- console.log(index, row, rows);
- this.$confirm('此操作将删除该条信息, 是否继续?', '提示', {
- confirmButtonText: '确定',
- cancelButtonText: '取消',
- type: 'warning'
- }).then(() => {
- this.$message({
- message: '已删除',
- type: 'success',
- offset: 50
- });
- rows.splice(index, 1);
- }).catch(() => {
- this.$message({
- type: 'info',
- message: '已取消删除'
- });
- });
- },
- addStrip() {
- this.tableData.push(
- {
- "diid": this.diid,
- "day": "-",
- "date": "",
- "itin": "",
- "carType": "",
- "carCost": 0,
- "carNumber": 0,
- "carTiming": 0,
- "tgs": 0,
- "tgwh": 0,
- "tgn": 0,
- "tgof": 0,
- "tgm": 0,
- "tga": 0,
- "tgtf": 0,
- "tgef": 0,
- "cfs": 0,
- "cfm": 0,
- "cfof": 0,
- "b": 0,
- "l": 0,
- "d": 0,
- "tbr": 0,
- "sgr": 0,
- "jS_ES": 0,
- "suite": 0,
- "accon": "",
- "tv": 0,
- "iL": 0,
- "if": 0,
- "ef": 0,
- "b_R_F": 0,
- "te": 0,
- "tgTips": 0,
- "drvTips": 0,
- "pc": 0,
- "tlf": 0,
- "ect": 0,
- "id": 1,
- }
- )
- },
- loadData(id) {
- this.costloading = true;
- this.tableData = [];
- var that = this;
- this.$axios.post('/api/Groups/GroupCostInit', {
- Diid: id
- }, {
- headers: {
- 'Authorization': that.token,
- }
- }).then(resp => {
- console.log(resp.data.data, '------------------------------------');
- if (resp.data.code == 200) {
- that.options = resp.data.data.groupList;
- that.grouptitleinfo = resp.data.data.groupInfo.data;
- that.diid = that.grouptitleinfo.id;
- for (var i = 0; i < that.CheckBoxListSelect.length; i++) {
- that.CheckBoxListSelect[i].diid = that.diid;
- }
- if (resp.data.data.groupChecks.length > 0) {
- resp.data.data.groupChecks.forEach(item => {
- for (var i = 0; i < that.CheckBoxListSelect.length; i++) {
- if (item.cbType == that.CheckBoxListSelect[i].cbType) {
- that.CheckBoxListSelect[i].cbValues = item.cbValues.split(',');
- console.log(item.cbValues.split(','));
- break;
- }
- if (that.CheckBoxListSelect[i].diid == 0) {
- that.CheckBoxListSelect[i].diid = that.diid;
- }
- }
- })
- } else {
- that.CheckBoxListSelect = [
- {
- "diid": that.diid,
- "cbType": "Top",
- "cbValues": ['DAY', 'ITIN', 'VA', 'VF', 'VRD', 'T/G S', 'DATE'] //"string"
- },
- {
- "diid": that.diid,
- "cbType": "Left",
- "cbValues": ['签证', '机票', '核酸检测',] //"string"
- },
- {
- "diid": that.diid,
- "cbType": "Right",
- "cbValues": ['经济舱 TBR', '经济舱 SGR', '团组预算明细'] //"string"
- }
- ]
- }
- that.grouptitleinfo.visitStartDate = that.grouptitleinfo.visitStartDate.split(' ')[0];
- that.grouptitleinfo.visitEndDate = that.grouptitleinfo.visitEndDate.split(' ')[0];
- that.peopleNumber = that.grouptitleinfo.visitPNumber > 0 ? that.grouptitleinfo.visitPNumber : 1;
- if (resp.data.data.groupCost.length > 0) {
- that.tableData = resp.data.data.groupCost;
- } else {
- that.tableData = [
- {
- "diid": that.diid,
- "day": "-",
- "date": "",
- "itin": "",
- "carType": "",
- "carCost": 0,
- "carNumber": 0,
- "carTiming": 0,
- "tgs": 0,
- "tgwh": 0,
- "tgn": 0,
- "tgof": 0,
- "tgm": 0,
- "tga": 0,
- "tgtf": 0,
- "tgef": 0,
- "cfs": 0,
- "cfm": 0,
- "cfof": 0,
- "b": 0,
- "l": 0,
- "d": 0,
- "tbr": 0,
- "sgr": 0,
- "jS_ES": 0,
- "suite": 0,
- "accon": "",
- "tv": 0,
- "iL": 0,
- "if": 0,
- "ef": 0,
- "b_R_F": 0,
- "te": 0,
- "tgTips": 0,
- "drvTips": 0,
- "pc": 0,
- "tlf": 0,
- "ect": 0,
- "id": 1,
- }
- ]
- }
- if (resp.data.data.groupCostParameter.length > 0) {
- var acostvalue = resp.data.data.groupCostParameter.filter(x => x.costType == 'A')[0];
- if (acostvalue != undefined) {
- that.AGroupCostParameter = acostvalue;
- } else {
- that.AGroupCostParameter = {
- "id": 0,
- "diId": 0,
- "currency": "CNY",
- "rate": 0,
- "tax": 0,
- "ffys": 0,
- "hotelXS": 0,
- "jjccb": 0,
- "jjcxs": 0,
- "jjcrs": 0,
- "gwccb": 0,
- "gwcxs": 0,
- "gwcrs": 0,
- "hcpcb": 0,
- "hcpxs": 0,
- "hcprs": 0,
- "cpcb": 0,
- "cpxs": 0,
- "cprs": 0,
- "bxcb": 0,
- "bxxs": 0,
- "bxrs": 0,
- "hscb": 0,
- "hsxs": 0,
- "hsrs": 0,
- "visaCB": 0,
- "visaXS": 0,
- "visaRS": 0,
- "gwcb": 0,
- "gwxs": 0,
- "gwrs": 0,
- "djcb": 0,
- "djrs": 0,
- "djxs": 0,
- "sgrcb": 0,
- "sgrNumber": 0,
- "sgrxs": 0,
- "tbrcb": 0,
- "tbrNumber": 0,
- "tbrxs": 0,
- "jsescb": 0,
- "jsesNumber": 0,
- "jsesxs": 0,
- "suitecb": 0,
- "suiteNumber": 0,
- "suitexs": 0,
- "lyjcb": 0,
- "lyjxs": 0,
- "lyjrs": 0,
- "isShare": 0,
- "costType": "A",
- "costTypeStartTime": "",
- "costTypeendTime": "",
- "costTypenumber": 0
- };
- }
- var bcostvalue = resp.data.data.groupCostParameter.filter(x => x.costType == 'B')[0];
- if (bcostvalue != undefined) {
- that.BGroupCostParameter = bcostvalue;
- } else {
- that.BGroupCostParameter = {
- "id": 0,
- "diId": 0,
- "currency": "",
- "rate": 0,
- "tax": 0,
- "ffys": 0,
- "hotelXS": 0,
- "jjccb": 0,
- "jjcxs": 0,
- "jjcrs": 0,
- "gwccb": 0,
- "gwcxs": 0,
- "gwcrs": 0,
- "hcpcb": 0,
- "hcpxs": 0,
- "hcprs": 0,
- "cpcb": 0,
- "cpxs": 0,
- "cprs": 0,
- "bxcb": 0,
- "bxxs": 0,
- "bxrs": 0,
- "hscb": 0,
- "hsxs": 0,
- "hsrs": 0,
- "visaCB": 0,
- "visaXS": 0,
- "visaRS": 0,
- "gwcb": 0,
- "gwxs": 0,
- "gwrs": 0,
- "djcb": 0,
- "djxs": 0,
- "djrs": 0,
- "sgrcb": 0,
- "sgrNumber": 0,
- "sgrxs": 0,
- "tbrcb": 0,
- "tbrNumber": 0,
- "tbrxs": 0,
- "jsescb": 0,
- "jsesNumber": 0,
- "jsesxs": 0,
- "suitecb": 0,
- "suiteNumber": 0,
- "suitexs": 0,
- "lyjcb": 0,
- "lyjxs": 0,
- "lyjrs": 0,
- "isShare": 0,
- "costType": "B",
- "costTypeStartTime": "",
- "costTypeendTime": "",
- "costTypenumber": 0
- };
- }
- if (resp.data.data.groupCostParameter.length > 1) {
- that.costTypevalue = "B";
- } else {
- that.costTypevalue = "A";
- }
- if (that.AGroupCostParameter.costTypeStartTime) {
- that.AGroupCostParameter.costTypeStartTime = new Date(that.AGroupCostParameter.costTypeStartTime);
- }
- if (that.AGroupCostParameter.costTypeendTime) {
- that.AGroupCostParameter.costTypeendTime = new Date(that.AGroupCostParameter.costTypeendTime);
- }
- if (that.BGroupCostParameter.costTypeStartTime) {
- that.BGroupCostParameter.costTypeStartTime = new Date(that.BGroupCostParameter.costTypeStartTime);
- }
- if (that.BGroupCostParameter.costTypeendTime) {
- that.BGroupCostParameter.costTypeendTime = new Date(that.BGroupCostParameter.costTypeendTime);
- }
- } else {
- that.AGroupCostParameter = {
- "id": 0,
- "diId": 0,
- "currency": "CNY",
- "rate": 0,
- "tax": 0,
- "ffys": 0,
- "hotelXS": 0,
- "jjccb": 0,
- "jjcxs": 0,
- "jjcrs": 0,
- "gwccb": 0,
- "gwcxs": 0,
- "gwcrs": 0,
- "hcpcb": 0,
- "hcpxs": 0,
- "hcprs": 0,
- "cpcb": 0,
- "cpxs": 0,
- "cprs": 0,
- "bxcb": 0,
- "bxxs": 0,
- "bxrs": 0,
- "hscb": 0,
- "hsxs": 0,
- "hsrs": 0,
- "visaCB": 0,
- "visaXS": 0,
- "visaRS": 0,
- "gwcb": 0,
- "gwxs": 0,
- "gwrs": 0,
- "djcb": 0,
- "djrs": 0,
- "djxs": 0,
- "sgrcb": 0,
- "sgrNumber": 0,
- "sgrxs": 0,
- "tbrcb": 0,
- "tbrNumber": 0,
- "tbrxs": 0,
- "jsescb": 0,
- "jsesNumber": 0,
- "jsesxs": 0,
- "suitecb": 0,
- "suiteNumber": 0,
- "suitexs": 0,
- "lyjcb": 0,
- "lyjxs": 0,
- "lyjrs": 0,
- "isShare": 0,
- "costType": "A",
- "costTypeStartTime": "",
- "costTypeendTime": "",
- "costTypenumber": 0
- };
- that.BGroupCostParameter = {
- "id": 0,
- "diId": 0,
- "currency": "",
- "rate": 0,
- "tax": 0,
- "ffys": 0,
- "hotelXS": 0,
- "jjccb": 0,
- "jjcxs": 0,
- "jjcrs": 0,
- "gwccb": 0,
- "gwcxs": 0,
- "gwcrs": 0,
- "hcpcb": 0,
- "hcpxs": 0,
- "hcprs": 0,
- "cpcb": 0,
- "cpxs": 0,
- "cprs": 0,
- "bxcb": 0,
- "bxxs": 0,
- "bxrs": 0,
- "hscb": 0,
- "hsxs": 0,
- "hsrs": 0,
- "visaCB": 0,
- "visaXS": 0,
- "visaRS": 0,
- "gwcb": 0,
- "gwxs": 0,
- "gwrs": 0,
- "djcb": 0,
- "djxs": 0,
- "djrs": 0,
- "sgrcb": 0,
- "sgrNumber": 0,
- "sgrxs": 0,
- "tbrcb": 0,
- "tbrNumber": 0,
- "tbrxs": 0,
- "jsescb": 0,
- "jsesNumber": 0,
- "jsesxs": 0,
- "suitecb": 0,
- "suiteNumber": 0,
- "suitexs": 0,
- "lyjcb": 0,
- "lyjxs": 0,
- "lyjrs": 0,
- "isShare": 0,
- "costType": "B",
- "costTypeStartTime": "",
- "costTypeendTime": "",
- "costTypenumber": 0
- };
- that.AGroupCostParameter.diId = that.diid;
- that.BGroupCostParameter.diId = that.diid;
- that.costTypevalue = 'A';
- }
- let hotelNumber = resp.data.data.hotelNumber;
- if (hotelNumber.length > 0) {
- for (var i = 0; i < hotelNumber.length; i++) {
- //替换costTypeHotelNumbers ;
- Array.forEach(that.costTypeHotelNumbers, (item, index) => {
- if (hotelNumber[i]['type'] == item.type) {
- that.$set(that.costTypeHotelNumbers, index, hotelNumber[i]);
- }
- })
- }
- } else {
- that.costTypeHotelNumbers = [{
- "sgr": 0,
- "tbr": 0,
- "jses": 0,
- "suite": 0,
- "type": "Default",
- "diid": 0,
- id: 0,
- },
- {
- "sgr": 0,
- "tbr": 0,
- "jses": 0,
- "suite": 0,
- "type": "A",
- "diid": 0,
- id: 0,
- },
- {
- "sgr": 0,
- "tbr": 0,
- "jses": 0,
- "suite": 0,
- "type": "B",
- "diid": 0,
- id: 0,
- }]
- }
- }
- that.costloading = false;
- }).catch(err => {
- that.costloading = false;
- this.$message({
- message: '网络异常!',
- type: 'error'
- });
- })
- },
- groupChange() {
- this.clearFormVerify();
- this.loadData(this.diid);
- },
- async save() {
- var that = this;
- var Data = { diid: this.diid, userid: this.userId };
- var isTrue = await this.formVerify();
- if (isTrue) {
- Data.checkBoxs = this.CheckBoxListSelect.map(x => {
- return {
- diid: x.diid,
- cbType: x.cbType,
- cbValues: x.cbValues.join(',')
- };
- });
- Data.groupCosts = this.tableData;
- Data.costTypeHotelNumbers = this.costTypeHotelNumbers.map(x => {
- return {
- id: x.id,
- sgr: x.sgr,
- tbr: x.tbr,
- jses: x.jses,
- suite: x.suite,
- type: x.type,
- diid: that.diid
- };
- });
- this.AGroupCostParameter.diId = this.diid;
- this.BGroupCostParameter.diId = this.diid;
- var Aparam = Object.assign({}, this.AGroupCostParameter);
- var Bparam = Object.assign({}, this.BGroupCostParameter);
- if (that.AGroupCostParameter.costTypeStartTime) {
- Aparam.costTypeStartTime = this.addOneDay(that.AGroupCostParameter.costTypeStartTime, 0);
- }
- if (that.AGroupCostParameter.costTypeendTime) {
- Aparam.costTypeendTime = this.addOneDay(that.AGroupCostParameter.costTypeendTime, 0);
- }
- if (that.BGroupCostParameter.costTypeStartTime) {
- Bparam.costTypeStartTime = this.addOneDay(that.BGroupCostParameter.costTypeStartTime, 0);
- }
- if (that.BGroupCostParameter.costTypeendTime) {
- Bparam.costTypeendTime = this.addOneDay(that.BGroupCostParameter.costTypeendTime, 0);
- }
- if (this.costTypevalue == "A") {
- Data.groupCostParameters = [Aparam];
- } else {
- Data.groupCostParameters = [Aparam, Bparam];
- }
- console.log(Data, "save-------Data");
- var that = this;
- this.$axios.post('/api/Groups/SaveGroupCost', Data, {
- headers: {
- 'Authorization': that.token,
- }
- }).then(resp => {
- console.log(resp.data.data, '------------------------------------');
- if (resp.data.code == 200) {
- this.$message({
- message: '保存成功!',
- type: 'success'
- });
- } else {
- this.$message.error('保存失败!' + resp.data.msg);
- }
- })
- } else {
- this.$message.error('请输入完整!');
- }
- },
- TopChange() {
- },
- calculateZCB(EnLabelParam) {
- if (EnLabelParam == undefined) {
- return 0.00;
- }
- var sum = 0.00;
- if (this.AGroupCostParameter[EnLabelParam + 'CB'] != undefined) {
- sum = (parseFloat(this.AGroupCostParameter[EnLabelParam + 'CB']) * parseInt(this.AGroupCostParameter[EnLabelParam + 'RS']));
- } else if (this.AGroupCostParameter[EnLabelParam + 'cb'] != undefined) {
- sum = (parseFloat(this.AGroupCostParameter[EnLabelParam + 'cb']) * parseInt(this.AGroupCostParameter[EnLabelParam + 'rs'] != undefined ? this.AGroupCostParameter[EnLabelParam + 'rs'] : this.AGroupCostParameter[EnLabelParam + 'Number']));
- }
- if (isNaN(sum)) {
- sum = 0.00;
- }
- return sum.toFixed(2);
- },
- calculateDRBJ(EnLabelParam) {
- if (EnLabelParam == undefined) {
- return 0.00;
- }
- var sum = 0.00;
- if (this.AGroupCostParameter[EnLabelParam + 'CB'] != undefined) {
- sum = (parseFloat(this.AGroupCostParameter[EnLabelParam + 'CB']) * parseFloat(this.AGroupCostParameter[EnLabelParam + 'XS']));
- } else if (this.AGroupCostParameter[EnLabelParam + 'cb'] != undefined) {
- sum = (parseFloat(this.AGroupCostParameter[EnLabelParam + 'cb']) * parseFloat(this.AGroupCostParameter[EnLabelParam + 'xs']));
- }
- if (isNaN(sum)) {
- sum = 0.00;
- }
- return sum.toFixed(2);
- },
- calculateZBJ(EnLabelParam) {
- if (EnLabelParam == undefined) {
- return 0.00;
- }
- var sum = 0.00;
- var drbj = this.calculateDRBJ(EnLabelParam);
- if (this.AGroupCostParameter[EnLabelParam + 'RS'] != undefined) {
- sum = drbj * parseInt(this.AGroupCostParameter[EnLabelParam + 'RS']);
- } else if (this.AGroupCostParameter[EnLabelParam + 'rs'] != undefined) {
- sum = drbj * parseInt(this.AGroupCostParameter[EnLabelParam + 'rs']);
- } else if (this.AGroupCostParameter[EnLabelParam + 'Number'] != undefined) {
- sum = drbj * parseInt(this.AGroupCostParameter[EnLabelParam + 'Number']);
- }
- if (isNaN(sum)) {
- sum = 0.00;
- }
- return sum.toFixed(2);
- },
- calculateDRLR(EnLabelParam) {
- if (EnLabelParam == undefined) {
- return 0.00;
- }
- var sum = 0.00;
- var drbj = this.calculateDRBJ(EnLabelParam);
- if (this.AGroupCostParameter[EnLabelParam + 'CB'] != undefined) {
- sum = (drbj - parseFloat(this.AGroupCostParameter[EnLabelParam + 'CB']));
- } else if (this.AGroupCostParameter[EnLabelParam + 'cb'] != undefined) {
- sum = (drbj - parseFloat(this.AGroupCostParameter[EnLabelParam + 'cb']));
- }
- if (isNaN(sum)) {
- sum = 0.00;
- }
- return sum.toFixed(2);
- },
- calculateZLR(EnLabelParam) {
- if (EnLabelParam == undefined) {
- return 0.00;
- }
- var sum = 0.00;
- var drlr = this.calculateDRLR(EnLabelParam);
- if (this.AGroupCostParameter[EnLabelParam + 'RS'] != undefined) {
- sum = drlr * parseInt(this.AGroupCostParameter[EnLabelParam + 'RS']);
- } else if (this.AGroupCostParameter[EnLabelParam + 'rs'] != undefined) {
- sum = drlr * parseInt(this.AGroupCostParameter[EnLabelParam + 'rs']);
- }
- if (isNaN(sum)) {
- sum = 0.00;
- }
- return sum.toFixed(2);
- },
- BcalculateZCB(EnLabelParam) {
- if (EnLabelParam == undefined) {
- return 0.00;
- }
- var sum = 0.00;
- if (this.BGroupCostParameter[EnLabelParam + 'CB'] != undefined) {
- sum = (parseFloat(this.BGroupCostParameter[EnLabelParam + 'CB']) * parseInt(this.BGroupCostParameter[EnLabelParam + 'RS']));
- } else if (this.BGroupCostParameter[EnLabelParam + 'cb'] != undefined) {
- sum = (parseFloat(this.BGroupCostParameter[EnLabelParam + 'cb']) * parseInt(this.BGroupCostParameter[EnLabelParam + 'rs'] != undefined ? this.BGroupCostParameter[EnLabelParam + 'rs'] : this.BGroupCostParameter[EnLabelParam + 'Number']));
- }
- if (isNaN(sum)) {
- sum = 0.00;
- }
- return sum.toFixed(2);;
- },
- BcalculateDRBJ(EnLabelParam) {
- if (EnLabelParam == undefined) {
- return 0.00;
- }
- var sum = 0.00;
- if (this.BGroupCostParameter[EnLabelParam + 'CB'] != undefined) {
- sum = (parseFloat(this.BGroupCostParameter[EnLabelParam + 'CB']) * parseFloat(this.BGroupCostParameter[EnLabelParam + 'XS']));
- } else if (this.BGroupCostParameter[EnLabelParam + 'cb'] != undefined) {
- sum = (parseFloat(this.BGroupCostParameter[EnLabelParam + 'cb']) * parseFloat(this.BGroupCostParameter[EnLabelParam + 'xs']));
- }
- if (isNaN(sum)) {
- sum = 0.00;
- }
- return sum.toFixed(2);;
- },
- BcalculateZBJ(EnLabelParam) {
- if (EnLabelParam == undefined) {
- return 0.00;
- }
- var sum = 0.00;
- var drbj = this.BcalculateDRBJ(EnLabelParam);
- if (this.BGroupCostParameter[EnLabelParam + 'RS'] != undefined) {
- sum = drbj * parseInt(this.BGroupCostParameter[EnLabelParam + 'RS']);
- } else if (this.BGroupCostParameter[EnLabelParam + 'rs'] != undefined) {
- sum = drbj * parseInt(this.BGroupCostParameter[EnLabelParam + 'rs']);
- } else if (this.BGroupCostParameter[EnLabelParam + 'Number'] != undefined) {
- sum = drbj * parseInt(this.BGroupCostParameter[EnLabelParam + 'Number']);
- }
- if (isNaN(sum)) {
- sum = 0.00;
- }
- return sum.toFixed(2);
- },
- BcalculateDRLR(EnLabelParam) {
- if (EnLabelParam == undefined) {
- return 0.00;
- }
- var sum = 0.00;
- var drbj = this.BcalculateDRBJ(EnLabelParam);
- if (this.BGroupCostParameter[EnLabelParam + 'CB'] != undefined) {
- sum = drbj - parseFloat(this.BGroupCostParameter[EnLabelParam + 'CB']);
- } else if (this.BGroupCostParameter[EnLabelParam + 'cb'] != undefined) {
- sum = drbj - parseFloat(this.BGroupCostParameter[EnLabelParam + 'cb']);
- }
- if (isNaN(sum)) {
- sum = 0.00;
- }
- return sum.toFixed(2);;
- },
- BcalculateZLR(EnLabelParam) {
- if (EnLabelParam == undefined) {
- return 0.00;
- }
- var sum = 0.00;
- var drlr = this.BcalculateDRLR(EnLabelParam);
- if (this.BGroupCostParameter[EnLabelParam + 'RS'] != undefined) {
- sum = drlr * parseInt(this.BGroupCostParameter[EnLabelParam + 'RS']);
- } else if (this.BGroupCostParameter[EnLabelParam + 'rs'] != undefined) {
- sum = drlr * parseInt(this.BGroupCostParameter[EnLabelParam + 'rs']);
- }
- if (isNaN(sum)) {
- sum = 0.00;
- }
- return sum.toFixed(2);;
- },
- handleCurrentChange(val) {
- this.currentPage = val;
- },
- SelChange(row, oldrow) {
- console.log(row, oldrow);
- },
- handleSizeChange(val) {
- this.currentPage = 1;
- this.pageSize = val;
- },
- CalculatedPrice() {
- let rate = Number(this.AGroupCostParameter.rate);
- let Djsum = 0;
- let BDjsum = 0;
- var that = this;
- this.DJLables.forEach(function (item) {
- that.sumTopPrice.forEach(function (item1) {
- if (item == item1.label) {
- var Aprice = Number(item1.Aprice);
- if (!isNaN(Aprice)) {
- Djsum += Aprice;
- }
- var Bprice = Number(item1.Bprice);
- if (!isNaN(Bprice)) {
- BDjsum += Bprice;
- }
- }
- })
- })
- Djsum = Number((Djsum * rate).toFixed(2));
- BDjsum = Number((BDjsum * rate).toFixed(2));
- let GWsum = 0;
- let BGWsum = 0;
- this.GwLables.forEach(function (item) {
- that.sumTopPrice.forEach(function (item1) {
- if (item == item1.label) {
- var Aprice = Number(item1.Aprice);
- if (!isNaN(Aprice)) {
- GWsum += Aprice;
- }
- var Bprice = Number(item1.Bprice);
- if (!isNaN(Bprice)) {
- BGWsum += Bprice;
- }
- }
- })
- })
- GWsum = Number((GWsum * rate).toFixed(2));
- BGWsum = Number((BGWsum * rate).toFixed(2));
- let LYJsum = 0;
- let BLYJsum = 0;
- var lyjList = that.sumTopPrice.filter((x) => {
- return x.label == 'P/C';
- })
- if (lyjList.length > 0) {
- LYJsum = lyjList[0].Aprice;
- BLYJsum = lyjList[0].Bprice;
- }
- LYJsum = isNaN(LYJsum) ? 0 : LYJsum;
- BLYJsum = isNaN(BLYJsum) ? 0 : BLYJsum;
- LYJsum = Number((LYJsum * rate).toFixed(2));
- BLYJsum = Number((BLYJsum * rate).toFixed(2));
- let SGRsum = 0;
- let BSGRsum = 0;
- var SGRList = that.sumTopPrice.filter((x) => {
- return x.label == 'SGR';
- })
- if (SGRList.length > 0) {
- SGRsum = SGRList[0].Aprice;
- BSGRsum = SGRList[0].Bprice;
- }
- SGRsum = isNaN(SGRsum) ? 0 : SGRsum;
- BSGRsum = isNaN(BSGRsum) ? 0 : BSGRsum;
- SGRsum = (SGRsum * rate).toFixed(2);
- BSGRsum = (BSGRsum * rate).toFixed(2);
- let TBRsum = 0;
- let BTBRsum = 0;
- var TBRList = that.sumTopPrice.filter((x) => {
- return x.label == 'TBR';
- })
- if (TBRList.length > 0) {
- TBRsum = TBRList[0].Aprice;
- BTBRsum = TBRList[0].Bprice;
- }
- TBRsum = isNaN(TBRsum) ? 0 : TBRsum;
- BTBRsum = isNaN(BTBRsum) ? 0 : BTBRsum;
- TBRsum = TBRsum * rate;
- BTBRsum = BTBRsum * rate;
- let JSESsum = 0;
- let BJSESsum = 0;
- var JSESList = that.sumTopPrice.filter((x) => {
- return x.label == 'JS/ES';
- })
- if (JSESList.length > 0) {
- JSESsum = JSESList[0].Aprice;
- BJSESsum = JSESList[0].Bprice;
- }
- JSESsum = isNaN(JSESsum) ? 0 : JSESsum;
- BJSESsum = isNaN(BJSESsum) ? 0 : BJSESsum;
- JSESsum = JSESsum * rate;
- BJSESsum = BJSESsum * rate;
- let SUITEsum = 0;
- let BSUITEsum = 0;
- var SUITEList = that.sumTopPrice.filter((x) => {
- return x.label == 'SUITE';
- })
- if (SUITEList.length > 0) {
- SUITEsum = SUITEList[0].Aprice;
- BSUITEsum = SUITEList[0].Bprice;
- }
- SUITEsum = isNaN(SUITEsum) ? 0 : SUITEsum;
- BSUITEsum = isNaN(BSUITEsum) ? 0 : BSUITEsum;
- SUITEsum = SUITEsum * rate;
- BSUITEsum = BSUITEsum * rate;
- // console.log(Djsum, GWsum, LYJsum, 'Djsum,GWsum,LYJsum');
- // console.log(SGRsum, TBRsum, JSESsum, SUITEsum, 'SGRsum,TBRsum,JSESsum,SUITEsum');
- var sgrfilter = this.costTypeHotelNumbers.filter(x => {
- return x.type == 'Default'
- })
- let Bsgrfilter = {};
- if (this.costTypevalue == 'B') {
- sgrfilter = this.costTypeHotelNumbers.filter(x => {
- return x.type == 'A'
- })
- Bsgrfilter = this.costTypeHotelNumbers.filter(x => {
- return x.type == 'B'
- })
- Bsgrfilter = Bsgrfilter[0];
- }
- sgrfilter = sgrfilter[0];
- let hotelRooms = {
- "SGR": sgrfilter.sgr,
- "TBR": sgrfilter.tbr,
- "JSES": sgrfilter.jses,
- "SUITE": sgrfilter.suite
- };
- let flights = {
- "经济舱": this.AGroupCostParameter.jjcrs,
- "公务舱": this.AGroupCostParameter.gwcrs
- };
- let result = {};
- for (let flight of ["经济舱", "公务舱"]) {
- if (flight === "经济舱") {
- this.matchRooms(hotelRooms, flights, ["SGR", "TBR", "JSES", "SUITE"], flight, result);
- } else if (flight === "公务舱") {
- this.matchRooms(hotelRooms, flights, ["SUITE", "JSES", "SGR", "TBR"], flight, result);
- }
- }
- if (this.costTypevalue == 'B') {
- let BhotelRooms = {
- "SGR": Bsgrfilter.sgr,
- "TBR": Bsgrfilter.tbr,
- "JSES": Bsgrfilter.jses,
- "SUITE": Bsgrfilter.suite
- };
- let Bflights = {
- "经济舱": this.BGroupCostParameter.jjcrs,
- "公务舱": this.BGroupCostParameter.gwcrs
- };
- let Bresult = {};
- for (let flight of ["经济舱", "公务舱"]) {
- if (flight === "经济舱") {
- this.matchRooms(BhotelRooms, Bflights, ["SGR", "TBR", "JSES", "SUITE"], flight, Bresult);
- } else if (flight === "公务舱") {
- this.matchRooms(BhotelRooms, Bflights, ["SUITE", "JSES", "SGR", "TBR"], flight, Bresult);
- }
- }
- var BtxtJJCSGRRS = (Bresult.hasOwnProperty("经济舱SGR") ? Bresult["经济舱SGR"] : 0)
- var BlblGWCSGRRS = (Bresult.hasOwnProperty("公务舱SGR") ? Bresult["公务舱SGR"] : 0)
- var BtxtJJCTBRRS = (Bresult.hasOwnProperty("经济舱TBR") ? Bresult["经济舱TBR"] * 2 : 0)
- var BtxtGWCJSESRS = (Bresult.hasOwnProperty("公务舱JSES") ? Bresult["公务舱JSES"] : 0)
- var BJJCSUITERS = (Bresult.hasOwnProperty("经济舱SUITE") ? Bresult["经济舱SUITE"] : 0)
- var BtxtGWCSUITERS = (Bresult.hasOwnProperty("公务舱SUITE") ? Bresult["公务舱SUITE"] : 0)
- this.BcabinDatal[0].sheetInfo[0].toll = BtxtJJCTBRRS;
- this.BcabinDatal[1].sheetInfo[0].toll = BtxtJJCSGRRS;
- this.BcabinDatal[2].sheetInfo[0].toll = BlblGWCSGRRS;
- this.BcabinDatal[3].sheetInfo[0].toll = BtxtGWCJSESRS;
- this.BcabinDatal[4].sheetInfo[0].toll = BtxtGWCSUITERS;
- this.BcabinDatal[5].sheetInfo[0].toll = BJJCSUITERS;
- this.BGroupCostParameter.djcb = BDjsum;
- this.BGroupCostParameter.gwcb = BGWsum;
- this.BGroupCostParameter.lyjcb = BLYJsum;
- this.BGroupCostParameter.sgrcb = BSGRsum;
- this.BGroupCostParameter.tbrcb = BTBRsum;
- this.BGroupCostParameter.jsescb = BJSESsum;
- this.BGroupCostParameter.suitecb = BSUITEsum;
- var BleftSum = this.BOtherCost();
- let BJJCSGR = (BleftSum + Number(this.BGroupCostParameter.sgrcb) + Number(this.BGroupCostParameter.jjccb));
- let BJJCTBR = BleftSum + Number(this.BGroupCostParameter.tbrcb) + Number(this.BGroupCostParameter.jjccb);
- let BJJCSUITE = BleftSum + Number(this.BGroupCostParameter.suitecb) + Number(this.BGroupCostParameter.jjccb);
- let BGWCSUITE = BleftSum + Number(this.BGroupCostParameter.suitecb) + Number(this.BGroupCostParameter.gwccb);
- let BGWCSGR = BleftSum + Number(this.BGroupCostParameter.sgrcb) + Number(this.BGroupCostParameter.gwccb);
- let BGWCJSES = BleftSum + Number(this.BGroupCostParameter.jsescb) + Number(this.BGroupCostParameter.gwccb);
- BJJCSGR = BJJCSGR.toFixed(2);
- var BrightSum = 0;
- this.OtherCostPropertyBJ.forEach((x) => {
- BrightSum += Number(that.BcalculateDRBJ(x));
- })
- let BJJCSGRDRBJ = BrightSum + Number(that.BcalculateDRBJ('jjc')) + Number(that.BcalculateDRBJ('sgr'));
- let BJJCTBRDRBJ = BrightSum + Number(that.BcalculateDRBJ('tbr')) + Number(that.BcalculateDRBJ('jjc'));
- let BJJCSUITEDRBJ = BrightSum + Number(that.BcalculateDRBJ('suite')) + Number(that.BcalculateDRBJ('jjc'));
- let BGWCSUITEDRBJ = BrightSum + Number(that.BcalculateDRBJ('suite')) + Number(that.BcalculateDRBJ('gwc'));
- let BGWCSGRDRBJ = BrightSum + Number(that.BcalculateDRBJ('sgr')) + Number(that.BcalculateDRBJ('gwc'));
- let BGWCJSESDRBJ = BrightSum + Number(that.BcalculateDRBJ('jses')) + Number(that.BcalculateDRBJ('gwc'));
- this.BcabinDatal[0].sheetInfo[0].costPerson = BJJCTBR;
- this.BcabinDatal[0].sheetInfo[0].singleQuote = BJJCTBRDRBJ;
- this.BcabinDatal[1].sheetInfo[0].costPerson = BJJCSGR;
- this.BcabinDatal[1].sheetInfo[0].singleQuote = BJJCSGRDRBJ;
- this.BcabinDatal[2].sheetInfo[0].costPerson = BGWCSGR;
- this.BcabinDatal[2].sheetInfo[0].singleQuote = BGWCSGRDRBJ;
- this.BcabinDatal[3].sheetInfo[0].costPerson = BGWCJSES;
- this.BcabinDatal[3].sheetInfo[0].singleQuote = BGWCJSESDRBJ;
- this.BcabinDatal[4].sheetInfo[0].costPerson = BGWCSUITE;
- this.BcabinDatal[4].sheetInfo[0].singleQuote = BGWCSUITEDRBJ;
- this.BcabinDatal[5].sheetInfo[0].costPerson = BJJCSUITE;
- this.BcabinDatal[5].sheetInfo[0].singleQuote = BJJCSUITEDRBJ;
- }
- var txtJJCSGRRS = (result.hasOwnProperty("经济舱SGR") ? result["经济舱SGR"] : 0)
- var lblGWCSGRRS = (result.hasOwnProperty("公务舱SGR") ? result["公务舱SGR"] : 0)
- var txtJJCTBRRS = (result.hasOwnProperty("经济舱TBR") ? result["经济舱TBR"] * 2 : 0)
- var txtGWCJSESRS = (result.hasOwnProperty("公务舱JSES") ? result["公务舱JSES"] : 0)
- var JJCSUITERS = (result.hasOwnProperty("经济舱SUITE") ? result["经济舱SUITE"] : 0)
- var txtGWCSUITERS = (result.hasOwnProperty("公务舱SUITE") ? result["公务舱SUITE"] : 0)
- this.cabinDatal[0].sheetInfo[0].toll = txtJJCTBRRS;
- this.cabinDatal[1].sheetInfo[0].toll = txtJJCSGRRS;
- this.cabinDatal[2].sheetInfo[0].toll = lblGWCSGRRS;
- this.cabinDatal[3].sheetInfo[0].toll = txtGWCJSESRS;
- this.cabinDatal[4].sheetInfo[0].toll = txtGWCSUITERS;
- this.cabinDatal[5].sheetInfo[0].toll = JJCSUITERS;
- this.AGroupCostParameter.djcb = Djsum;
- this.AGroupCostParameter.gwcb = GWsum;
- this.AGroupCostParameter.lyjcb = LYJsum;
- this.AGroupCostParameter.sgrcb = SGRsum;
- this.AGroupCostParameter.tbrcb = TBRsum;
- this.AGroupCostParameter.jsescb = JSESsum;
- this.AGroupCostParameter.suitecb = SUITEsum;
- var leftSum = this.OtherCost();
- let JJCSGR = (leftSum + Number(this.AGroupCostParameter.sgrcb) + Number(this.AGroupCostParameter.jjccb)).toFixed(2);
- let JJCTBR = (leftSum + Number(this.AGroupCostParameter.tbrcb) + Number(this.AGroupCostParameter.jjccb)).toFixed(2);
- let JJCSUITE = (leftSum + Number(this.AGroupCostParameter.suitecb) + Number(this.AGroupCostParameter.jjccb)).toFixed(2);
- let GWCSUITE = (leftSum + Number(this.AGroupCostParameter.suitecb) + Number(this.AGroupCostParameter.gwccb)).toFixed(2);
- let GWCSGR = (leftSum + Number(this.AGroupCostParameter.sgrcb) + Number(this.AGroupCostParameter.gwccb)).toFixed(2);
- let GWCJSES = (leftSum + Number(this.AGroupCostParameter.jsescb) + Number(this.AGroupCostParameter.gwccb)).toFixed(2);
- //console.log(JJCSGR, JJCTBR, JJCSUITE, GWCSUITE, GWCSGR, GWCJSES, '666--------------------------');
- var rightSum = 0;
- this.OtherCostPropertyBJ.forEach((x) => {
- rightSum += Number(that.calculateDRBJ(x));
- })
- let JJCSGRDRBJ = (rightSum + Number(that.calculateDRBJ('jjc')) + Number(that.calculateDRBJ('sgr'))).toFixed(2);
- let JJCTBRDRBJ = (rightSum + Number(that.calculateDRBJ('tbr')) + Number(that.calculateDRBJ('jjc'))).toFixed(2);
- let JJCSUITEDRBJ = (rightSum + Number(that.calculateDRBJ('suite')) + Number(that.calculateDRBJ('jjc'))).toFixed(2);
- let GWCSUITEDRBJ = (rightSum + Number(that.calculateDRBJ('suite')) + Number(that.calculateDRBJ('gwc'))).toFixed(2);
- let GWCSGRDRBJ = (rightSum + Number(that.calculateDRBJ('sgr')) + Number(that.calculateDRBJ('gwc'))).toFixed(2);
- let GWCJSESDRBJ = (rightSum + Number(that.calculateDRBJ('jses')) + Number(that.calculateDRBJ('gwc'))).toFixed(2);
- this.cabinDatal[0].sheetInfo[0].costPerson = JJCTBR;
- this.cabinDatal[0].sheetInfo[0].singleQuote = JJCTBRDRBJ;
- this.cabinDatal[1].sheetInfo[0].costPerson = JJCSGR;
- this.cabinDatal[1].sheetInfo[0].singleQuote = JJCSGRDRBJ;
- this.cabinDatal[2].sheetInfo[0].costPerson = GWCSGR;
- this.cabinDatal[2].sheetInfo[0].singleQuote = GWCSGRDRBJ;
- this.cabinDatal[3].sheetInfo[0].costPerson = GWCJSES;
- this.cabinDatal[3].sheetInfo[0].singleQuote = GWCJSESDRBJ;
- this.cabinDatal[4].sheetInfo[0].costPerson = GWCSUITE;
- this.cabinDatal[4].sheetInfo[0].singleQuote = GWCSUITEDRBJ;
- this.cabinDatal[5].sheetInfo[0].costPerson = JJCSUITE;
- this.cabinDatal[5].sheetInfo[0].singleQuote = JJCSUITEDRBJ;
- let groupCosts = 0;
- let gtroupQuotes = 0;
- for (var i = 0; i < this.cabinDatal.length; i++) {
- var forNumber = Number(this.cabinDatal[i].sheetInfo[0]['toll']);
- if (!isNaN(forNumber) && forNumber > 0) {
- groupCosts += (Number(this.cabinDatal[i].sheetInfo[0]['costPerson']) * forNumber);
- gtroupQuotes += (Number(this.cabinDatal[i].sheetInfo[0]['singleQuote']) * forNumber);
- }
- }
- if (this.costTypevalue == 'B') {
- for (var i = 0; i < this.BcabinDatal.length; i++) {
- var forNumber = Number(this.BcabinDatal[i].sheetInfo[0]['toll']);
- if (!isNaN(forNumber) && forNumber > 0) {
- groupCosts += (Number(this.BcabinDatal[i].sheetInfo[0]['costPerson']) * forNumber);
- gtroupQuotes += (Number(this.BcabinDatal[i].sheetInfo[0]['singleQuote']) * forNumber);
- }
- }
- }
- let groupProfit = gtroupQuotes - groupCosts;
- var cabinDatalLast = this.cabinDatal.filter(function (x) {
- return x.label == '团组预算明细'
- })
- groupCosts = groupCosts.toFixed(2);
- gtroupQuotes = gtroupQuotes.toFixed(2);
- groupProfit = groupProfit.toFixed(2);
- cabinDatalLast[0].sheetInfo[0]['groupCosts'] = groupCosts;
- cabinDatalLast[0].sheetInfo[0]['gtroupQuotes'] = gtroupQuotes;
- cabinDatalLast[0].sheetInfo[0]['groupProfit'] = groupProfit;
- //costTypeHotelNumbers{
- // "sgr": 0,
- // "tbr": 0,
- // "jses": 0,
- // "suite": 0,
- // "type": "Default",
- // "diid": 0,
- // id: 0,
- // }
- //console.log(groupCosts, gtroupQuotes, groupProfit, 'groupCosts, gtroupQuotes, groupProfit');
- },
- OtherCost() {
- // txtVisaCost.Text +txtHCPCB.Text + txtCPCB.Text
- // txtBXCB.Text +txtHSCB.Text) +lblDJDRCB.Text + lblGWDRCD.Text + lblLYJDRCB.Text
- var that = this;
- let sum = 0;
- this.OtherCostProperty.forEach((x) => {
- var param = that.AGroupCostParameter[x];
- if (param != undefined) {
- sum += Number(param);
- }
- })
- return sum;
- },
- BOtherCost() {
- // txtVisaCost.Text +txtHCPCB.Text + txtCPCB.Text
- // txtBXCB.Text +txtHSCB.Text) +lblDJDRCB.Text + lblGWDRCD.Text + lblLYJDRCB.Text
- var that = this;
- let sum = 0;
- this.OtherCostProperty.forEach((x) => {
- var param;
- if (x == 'visaCB' || x == 'bxcb') {
- param = that.AGroupCostParameter[x];
- } else {
- param = that.BGroupCostParameter[x];
- }
- if (param != undefined) {
- sum += Number(param);
- }
- })
- return sum;
- },
- matchRooms(hotelRooms, flights, roomTypes, flightType, result) {
- for (let roomType of roomTypes) {
- while (hotelRooms[roomType] > 0 && flights[flightType] > 0) {
- hotelRooms[roomType]--;
- flights[flightType]--;
- if (roomType === "TBR") {
- flights[flightType]--; //双人间在减少1
- }
- if (result.hasOwnProperty(flightType + roomType)) {
- result[flightType + roomType]++;
- } else {
- result[flightType + roomType] = 1;
- }
- }
- }
- },
- NumberSetTime(number, index) {
- console.log(number, index, this.grouptitleinfo.visitStartDate);
- number = parseInt(number);
- if (!isNaN(number)) {
- var time = this.addOneDay(this.grouptitleinfo.visitStartDate, number)
- this.tableData[index].date = time;
- } else {
- this.tableData[index].date = '';
- this.tableData[index].day = '';
- }
- },
- addOneDay(dateString, number) {
- let date = new Date(dateString);
- date.setDate(date.getDate() + number);
- let year = date.getFullYear();
- let month = date.getMonth() + 1;
- let day = date.getDate();
- month = month < 10 ? '0' + month : month;
- day = day < 10 ? '0' + day : day;
- return `${year}-${month}-${day}`;
- },
- costTypeSelect(val) {
- console.log('costTypeSelect--------------------------------------------------------', val);
- },
- async formVerify() {
- return new Promise((resolve, reject) => {
- var forFormList = [];
- if (this.costTypevalue == 'A') {
- forFormList = ['inputs', 'DHotel'];
- } else {
- forFormList = ['inputs', 'AHotel', 'Asection', 'BHotel', 'Bsection'];
- }
- var that = this;
- for (var i = 0; i < forFormList.length; i++) {
- that.$refs[forFormList[i]].validate((valid) => {
- if (valid) {
- } else {
- resolve(valid);
- }
- });
- }
- resolve(true);
- })
- },
- clearFormVerify() {
- var forFormList = ['inputs', 'AHotel', 'Asection', 'BHotel', 'Bsection', 'DHotel'];
- this.$nextTick(() => {
- for (var i = 0; i < forFormList.length; i++) {
- this.$refs[forFormList[i]].resetFields();
- }
- })
- }
- },
- mounted() {
- this.token = JSON.parse(localStorage.getItem('userinif')).token;
- this.userId = JSON.parse(localStorage.getItem('userinif')).userInfo.userId
- this.loadData(-1);
- },
- computed: {
- defaultCostTypeHotelNumber() {
- const defaultItems = this.costTypeHotelNumbers.filter(item => item.type == 'Default');
- return defaultItems[0];
- },
- filterdialogSearchInput() {
- var that = this;
- return this.dialogTableData.filter(function (x) {
- return x.city.indexOf(that.dialogSearchInput) != -1 || x.country.indexOf(that.dialogSearchInput) != -1;
- })
- },
- columnWidth() {
- if (this.CheckBoxListSelect.filter(item => item.cbType == 'Top')[0].cbValues.length < 9) {
- return ''
- } else {
- return 150
- }
- }
- }
- }
- </script>
- <style>
- .cost-box {
- background-color: #fff;
- padding: 10px;
- box-shadow: 0 0 5px #0005;
- border-radius: 10px;
- }
- .cost-box .el-button+.el-button {
- margin-left: 0;
- }
- .fade-enter-active,
- .fade-leave-active {
- transition: opacity 1;
- }
- .fade-enter,
- .fade-leave-to {
- opacity: 0;
- }
- .cost-haed {
- margin-bottom: 10px;
- }
- .ser-btn {
- display: flex;
- justify-content: space-between;
- margin-bottom: 10px;
- }
- .cost-info {
- display: flex;
- }
- .cost-info-li {
- margin-right: 30px;
- }
- .cost-info-li label {
- color: #606266;
- font-size: 15px;
- font-weight: 600;
- }
- .cost-info-li span {
- color: #606266;
- font-size: 14px;
- }
- .cost-box .el-checkbox-group {
- margin: 5px 0;
- }
- .form-ss .el-checkbox {
- width: 100px;
- margin: 5px 0;
- }
- .sheet-box {
- margin-top: 30px;
- }
- .cabin-box {
- margin-top: 30px;
- }
- .biaoge {
- margin-bottom: 30px;
- }
- .rapAddress {
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
- }
- .cost-box .cabin-box .cost-box .el-checkbox {
- margin-right: 20px;
- }
- .cost-box .el-table .cell {
- text-align: center;
- }
- .figures-btn {
- display: flex;
- flex-direction: column;
- align-items: center;
- }
- .figures-btn .el-button--mini {
- width: 70px;
- margin: 2px 0;
- margin-left: 0;
- }
- .CostBShow .el-col-3 .el-form-item__content {
- width: 60%;
- }
- .CostBShow .el-form-item__content {
- width: 60%;
- }
- .CostBShow .el-date-editor--date {
- width: 100%;
- }
- .Cost_topFlex .el-select {
- width: 200px;
- }
- .hiddenElement {
- visibility: hidden;
- }
- .cost-all .el-table__footer-wrapper .cell {
- white-space: pre;
- }
- </style>
|