12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951 |
- <template>
- <div v-loading.fullscreen.lock="fullscreenLoading">
- <div class="Entry-all">
- <el-dialog v width="400px" title="设置查看权限" class="permissionsbox" :visible.sync="setpermissions">
- <el-checkbox-group v-model="viewUsers" @change="handleCheckAllChange">
- <el-checkbox v-for="item in viewUsersarr" :label="item.id" :key="item.id">{{item.name}}</el-checkbox>
- </el-checkbox-group>
- <div style="text-align: right;margin-top: 15px;">
- <el-button size="mini" @click="EnterExitCostSetViewPermissiion" type="primary">分配</el-button>
- <el-button size="mini" @click="setpermissions=false">取消</el-button>
- </div>
- </el-dialog>
- <div class="Entry-head">
- <div class="Entry-head-li">
- <label>团组名称:</label>
- <el-select style="width:250px" @change="chengvalue" v-model="value" filterable placeholder="请选择">
- <el-option v-for="item in options" :key="item.id" :label="item.groupName" :value="item.id">
- <span v-if="item.isNull=='false'" style="color:#409EFF">{{ item.groupName }}</span>
- <span v-else style="color:gray">{{ item.groupName }}</span>
- </el-option>
- </el-select>
- </div>
- <div v-if="isSave" class="Entry-head-li">
-
- <el-button @click="NationalTravelFeeImportReceivables" type="primary">导出到收款账单</el-button>
- <el-button @click="cleanout" type="primary">全部清空</el-button>
- <el-button @click="storage()" type="primary">保存</el-button>
- <el-select style="width:202px" v-model="listvalue" placeholder="请选择">
- <el-option v-for="item in listvalueoptions" :key="item.id" :label="item.name" :value="item.id">
- </el-option>
- </el-select>
- <el-button @click="eptschedule(1)" type="primary">导出所选明细表</el-button>
- <el-select style="width:202px" v-model="tablevalue" placeholder="请选择">
- <el-option v-for="item in tablevalueoptions" :key="item.id" :label="item.name" :value="item.id">
- </el-option>
- </el-select>
- <el-button @click="eptschedule(2)" type="primary">导出下拉所选表格</el-button>
- <el-button v-if="isAssignPerm" @click="setpermissionsbtn" type="primary">设置权限</el-button>
- <el-button @click="eptschedule(3)" type="primary">团组成员名单</el-button>
- </div>
- </div>
- <div class="Entry-form">
- <div class="Entry-form-li">
- <div class="Entry-li-lables">
- <el-checkbox v-model="choiceOne"></el-checkbox>
- <div class="li-lable">一、境内费用(其他费用)</div>
- <div class="li-lable">
- <span class="redzhu">(注:填好数值鼠标点击其他区域计算合计)</span>
- <label>合计:</label>
- <div class="sub-boxs">
- {{ DomesticFees.total=(DomesticFees.visafees + DomesticFees.vaccinefees +
- DomesticFees.nucleicfees + DomesticFees.serviceCharge + DomesticFees.insurance +
- DomesticFees.ticketsExhibitionL) | numFilter }}
- </div>
- <span>元/人</span>
- </div>
- </div>
- <div class="Entry-li-inif">
- <div class="Entry-inif-box">
- <label>签证费:</label>
- <el-input-number size="mini" :controls="false" :precision="2"
- v-model="DomesticFees.visafees"></el-input-number>
- <span>元/人</span>
- </div>
- <div class="Entry-inif-box">
- <label>签证费用描述:</label>
- <el-input style="width:900px" size="mini"
- v-model="DomesticFees.visafeesDescription"></el-input>
- <span class="redzhu">{{ visabeizhu }}</span>
- </div>
- <el-button @click="Getnewvisafee" type="primary"
- size="mini">获取最新签证费用</el-button>
- </div>
- <div class="Entry-li-inif">
- <div class="Entry-inif-box">
- <label>疫苗费:</label>
- <el-input-number size="mini" :controls="false" :precision="2"
- v-model="DomesticFees.vaccinefees"></el-input-number>
- <span>元/人</span>
- </div>
- <div class="Entry-inif-box">
- <label>核酸检测费:</label>
- <el-input-number size="mini" :controls="false" :precision="2"
- v-model="DomesticFees.nucleicfees"></el-input-number>
- <span>元/人;</span>
- </div>
- <div class="Entry-inif-box">
- <label> 服务费:</label>
- <el-input-number size="mini" :controls="false" :precision="2"
- v-model="DomesticFees.serviceCharge"></el-input-number>
- <span>元/人;</span>
- </div>
- </div>
- <div class="Entry-li-inif">
- <div class="Entry-inif-box">
- <label>保险费:</label>
- <el-input-number size="mini" :controls="false" :precision="2"
- v-model="DomesticFees.insurance"></el-input-number>
- <span>元/人</span>
- </div>
- <div class="Entry-inif-box">
- <label>参展门票:</label>
- <el-input-number size="mini" :controls="false" :precision="2"
- v-model="DomesticFees.ticketsExhibitionL"></el-input-number>
- <span>元/人;</span>
- </div>
- <div class="Entry-inif-box">
- <label>备注:</label>
- <el-input style="width:900px" size="mini"
- v-model="DomesticFees.firstItemRemark"></el-input>
- </div>
- </div>
- </div>
- <div class="Entry-form-li">
- <div class="Entry-li-lables">
-
- <div class="li-lable">二、国际旅费合计:</div>
- <div style="display: flex;">
- <div class="li-lable">
- <el-checkbox style="margin-right: -10px;" v-model="sumJJC"></el-checkbox>
- <label>(经济舱)</label>
- <div class="sub-boxs">
- {{ TotalExpenses.EconomyClasstotal=(TotalExpenses.EconomyClass +
- TotalExpenses.TravellingExpenses) | numFilter }}
- </div>
- <span>元/人</span>
- </div>
-
- <div class="li-lable">
- <el-checkbox style="margin-right: -10px;" v-model="sumGWC"></el-checkbox>
- <label>(公务舱)</label>
- <div class="sub-boxs">
- {{ TotalExpenses.BusinessClasstotal=(TotalExpenses.BusinessClass +
- TotalExpenses.TravellingExpenses) | numFilter }}
- </div>
- <span>元/人</span>
- </div>
-
- <div class="li-lable">
- <el-checkbox style="margin-right: -10px;" v-model="sumTDC"></el-checkbox>
- <label>(头等舱)</label>
- <div class="sub-boxs">
- {{ TotalExpenses.Firstclasstotal=(TotalExpenses.Firstclass +
- TotalExpenses.TravellingExpenses) | numFilter }}
- </div>
- <span>元/人</span>
- </div>
- </div>
- </div>
- <div class="Entry-li-inif">
- <label>国际机票: </label>
- <div class="Entry-inif-box">
- <label>(经济舱):</label>
- <el-input-number size="mini" :controls="false" :precision="2"
- v-model="TotalExpenses.EconomyClass"></el-input-number>
- <span>元/人</span>
- </div>
- <div class="Entry-inif-box">
- <label>(公务舱):</label>
- <el-input-number size="mini" :controls="false" :precision="2"
- v-model="TotalExpenses.BusinessClass"></el-input-number>
- <span>元/人;</span>
- </div>
- <div class="Entry-inif-box">
- <label>(头等舱):</label>
- <el-input-number size="mini" :controls="false" :precision="2"
- v-model="TotalExpenses.Firstclass"></el-input-number>
- <span>元/人;</span>
- </div>
- <span v-if="airDataArr.length<=0" class="redzhu">(机票数据未录入)</span>
- <div v-else>
- <span class="redzhu">有多条机票费用数据请自行选择!!</span>
- <el-select style="width:400px" @change="Fillin" size="mini" v-model="airDataArrvalue" placeholder="请选择">
- <el-option
- v-for="item in airDataArr"
- :key="item.remark"
- :label="item.remark"
- :value="item.remark">
- </el-option>
- </el-select>
-
- </div>
- </div>
- <div class="Entry-li-inif">
- <div class="Entry-inif-box">
- <label>城市区间交通费:</label>
- <el-input-number size="mini" :controls="false" :precision="2"
- v-model="TotalExpenses.TravellingExpenses"></el-input-number>
- <span>元/人;</span>
- </div>
- </div>
- <div class="Entry-li-inif">
- <div class="Entry-inif-box">
- <label>备注:</label>
- <el-input style="width:1000px" size="mini"
- v-model="TotalExpenses.twoItemRemark"></el-input>
- </div>
- </div>
- <div class="Entry-li-inif">
- <div v-for="(item, index) in currencys" :key="index" class="Entry-inif-box">
- <label>{{ item.currencyName }}汇率:</label>
- <el-input-number size="mini" :controls="false" :precision="4"
- v-model="item.rate"></el-input-number>
- </div>
- <span style="color:red;">* 若客户有意见,需要与财务商量后进行适当调整 </span>
-
- {{CurrencysRemark}}
- </div>
- </div>
- <div class="Entry-form-li">
- <div class="Entry-li-lable">
- <div style="display: flex;align-items: center;">
- <el-checkbox v-model="choiceThree"></el-checkbox>
- <div class="li-lable">三、住宿费:</div>
- <div style="display: flex;">
- <div class="li-lable">
- <label>合计:</label>
- <div class="sub-boxs">{{ TotalAccommodationFee | numFilter }}</div>
- <span>元/人</span>
- </div>
- </div>
- </div>
- <div class="btn-Entry">
- <el-button type="primary" @click="addlist('住宿费')" size="mini">新 增</el-button>
- </div>
- </div>
- <div class="Entry-li-inif">
- <el-table :data="quarterageData" border style="width: 100%">
- <el-table-column prop="days" label="第几晚" width="180">
- <template slot-scope="scope">
- <el-input-number size="mini" :controls="false"
- v-model="scope.row.days"></el-input-number>
- </template>
- </el-table-column>
- <el-table-column style="position: relative;" prop="city" label="城 市" width="180">
- <template slot-scope="scope">
- <el-select size="mini" @change="changeSelect(scope.row, $event, scope.$index)"
- v-model="scope.row.nationalTravelFeeId" filterable placeholder="请选择">
- <el-option v-for="item in placeinif" :key="item.id" :label="item.cityname"
- :value="item.id">
- <span style="float: left">{{ item.cityname }}</span>
- {{item.city}}
- </el-option>
- </el-select>
- </template>
- </el-table-column>
- <el-table-column prop="cost" label=" 费用标准" width="180">
- <template slot-scope="scope">
- <el-input-number @input="zhusuinput(scope.row)" size="mini" :precision="2"
- :controls="false" v-model="scope.row.cost"></el-input-number>
- </template>
- </el-table-column>
- <el-table-column prop="currencyName" label=" 币 种" width="180">
- <template slot-scope="scope">
- <el-input disabled size="mini" v-model="scope.row.currencyName"></el-input>
- </template>
- </el-table-column>
- <el-table-column prop="subTotal" label="费用小计" width="180">
- <template slot-scope="scope">
- <div class="sub-boxs">{{ scope.row.subTotal | numFilter }}</div> CNY
- </template>
- </el-table-column>
- <el-table-column prop="address" label="操 作">
- <template slot-scope="scope">
- <el-button v-if="isSave" style="color: #fff;" size="mini" type="danger"
- @click="deleteRow(scope.$index, scope.row, quarterageData, 1)">删除</el-button>
- </template>
- </el-table-column>
- </el-table>
- </div>
- </div>
- <div class="Entry-form-li">
- <div class="Entry-li-lable">
- <div style="display: flex;align-items: center;">
- <el-checkbox v-model="choiceFour"></el-checkbox>
- <div class="li-lable">四、伙食费:</div>
- <div style="display: flex;">
- <div class="li-lable">
- <label>合计:</label>
- <div class="sub-boxs">{{ TotalMeals | numFilter }}</div>
- <span>元/人</span>
- </div>
- </div>
- </div>
- <div class="btn-Entry">
- <el-button type="primary" @click="addlist('伙食费')" size="mini">新 增</el-button>
- </div>
- </div>
- <div class="Entry-li-inif">
- <el-table :data="boardWagesData" border style="width: 100%">
- <el-table-column prop="days" label="第几晚" width="180">
- <template slot-scope="scope">
- <el-input-number size="mini" :controls="false"
- v-model="scope.row.days"></el-input-number>
- </template>
- </el-table-column>
- <el-table-column style="position: relative;" prop="city" label="城 市" width="180">
-
- <template slot-scope="scope">
- <el-select size="mini" @change="mealschangeSelect(scope.row, $event, scope.$index)"
- v-model="scope.row.nationalTravelFeeId" filterable placeholder="请选择">
- <el-option v-for="item in placeinif" :key="item.id" :label="item.cityname"
- :value="item.id">
- <span style="float: left">{{ item.cityname }}</span>
- {{item.city}}
- </el-option>
- </el-select>
- </template>
- </el-table-column>
- <el-table-column prop="cost" label=" 费用标准" width="180">
- <template slot-scope="scope">
- <el-input-number size="mini" @input="mealsinput(scope.row)" :precision="2"
- :controls="false" v-model="scope.row.cost"></el-input-number>
- </template>
- </el-table-column>
- <el-table-column prop="currencyName" label=" 币 种" width="180">
- <template slot-scope="scope">
- <el-input disabled size="mini" v-model="scope.row.currencyName"></el-input>
- </template>
- </el-table-column>
- <el-table-column prop="subTotal" label="费用小计" width="180">
- <template slot-scope="scope">
- <div class="sub-boxs">{{ scope.row.subTotal | numFilter }}</div> CNY
- </template>
- </el-table-column>
- <el-table-column prop="address" label="操 作">
- <template slot-scope="scope">
- <el-button v-if="isSave" style="color: #fff;" size="mini" type="danger"
- @click="deleteRow(scope.$index, scope.row, boardWagesData, 2)">删除</el-button>
- </template>
- </el-table-column>
- </el-table>
- </div>
- </div>
- <div class="Entry-form-li">
- <div class="Entry-li-lable">
- <div style="display: flex;align-items: center;">
- <el-checkbox v-model="choiceFive"></el-checkbox>
- <div class="li-lable">五、公杂费:</div>
- <div style="display: flex;">
- <div class="li-lable">
- <label>合计:</label>
- <div class="sub-boxs">{{ TotalMiscellaneous | numFilter }}</div>
- <span>元/人</span>
- </div>
- </div>
- </div>
- <div class="btn-Entry">
- <el-button type="primary" @click="addlist('公杂费')" size="mini">新 增</el-button>
- </div>
- </div>
- <div class="Entry-li-inif">
- <el-table :data="miscellaneousFeeData" border style="width: 100%">
- <el-table-column prop="days" label="第几晚" width="180">
- <template slot-scope="scope">
- <el-input-number size="mini" :controls="false"
- v-model="scope.row.days"></el-input-number>
- </template>
- </el-table-column>
- <el-table-column style="position: relative;" prop="city" label="城 市" width="180">
-
- <template slot-scope="scope">
- <el-select @change="MiscellaneouschangeSelect(scope.row, $event)" size="mini"
- v-model="scope.row.nationalTravelFeeId" filterable placeholder="请选择">
- <el-option v-for="item in placeinif" :key="item.id" :label="item.cityname"
- :value="item.id">
- <span style="float: left">{{ item.cityname }}</span>
- {{item.city}}
- </el-option>
- </el-select>
- </template>
- </el-table-column>
- <el-table-column prop="cost" label=" 费用标准" width="180">
- <template slot-scope="scope">
- <el-input-number @input="Miscellaneousinput(scope.row)" size="mini" :precision="2"
- :controls="false" v-model="scope.row.cost"></el-input-number>
- </template>
- </el-table-column>
- <el-table-column prop="currencyName" label=" 币 种" width="180">
- <template slot-scope="scope">
- <el-input disabled size="mini" v-model="scope.row.currencyName"></el-input>
- </template>
- </el-table-column>
- <el-table-column prop="subTotal" label="费用小计" width="180">
- <template slot-scope="scope">
- <div class="sub-boxs">{{ scope.row.subTotal | numFilter }}</div> CNY
- </template>
- </el-table-column>
- <el-table-column prop="address" label="操 作">
- <template slot-scope="scope">
- <el-button v-if="isSave" style="color: #fff;" size="mini" type="danger"
- @click="deleteRow(scope.$index, scope.row, miscellaneousFeeData, 3)">删除</el-button>
- </template>
- </el-table-column>
- </el-table>
- </div>
- </div>
- <div class="Entry-form-li">
- <div class="Entry-li-lable">
- <div style="display: flex;align-items: center;">
- <el-checkbox v-model="choiceSix"></el-checkbox>
- <div class="li-lable">六、培训费:</div>
- <div style="display: flex;">
- <div class="li-lable">
- <label>合计:</label>
- <div class="sub-boxs">{{ trainingExpense | numFilter }}</div>
- <span>元/人</span>
- </div>
- </div>
- </div>
- <div class="btn-Entry">
- <el-button type="primary" @click="addlist('培训费')" size="mini">新 增</el-button>
- </div>
- </div>
- <div class="Entry-li-inif">
- <el-table :data="trainingExpenseData" border style="width: 100%">
- <el-table-column prop="days" label="第几晚" width="180">
- <template slot-scope="scope">
- <el-input-number size="mini" :controls="false"
- v-model="scope.row.days"></el-input-number>
- </template>
- </el-table-column>
- <el-table-column style="position: relative;" prop="city" label="城 市" width="180">
-
- <template slot-scope="scope">
- <el-select @change="TrainingExpenseDataSelect(scope.row, $event, scope.$index)" size="mini"
- v-model="scope.row.nationalTravelFeeId" filterable placeholder="请选择">
- <el-option v-for="item in placeinif" :key="item.id" :label="item.cityname"
- :value="item.id">
- <span style="float: left">{{ item.cityname }}</span>
- {{item.city}}
- </el-option>
- </el-select>
- </template>
- </el-table-column>
- <el-table-column prop="cost" label=" 费用标准" width="180">
- <template slot-scope="scope">
- <el-input-number @input="Traininginput(scope.row)" size="mini" :precision="2"
- :controls="false" v-model="scope.row.cost"></el-input-number>
- </template>
- </el-table-column>
- <el-table-column prop="currencyName" label=" 币 种" width="180">
- <template slot-scope="scope">
- <el-input disabled size="mini" v-model="scope.row.currencyName"></el-input>
- </template>
- </el-table-column>
- <el-table-column prop="subTotal" label="费用小计" width="180">
- <template slot-scope="scope">
- <div class="sub-boxs">{{ scope.row.subTotal | numFilter }}</div> CNY
- </template>
- </el-table-column>
- <el-table-column prop="address" label="操 作">
- <template slot-scope="scope">
- <el-button v-if="isSave" style="color: #fff;" size="mini" type="danger"
- @click="deleteRow(scope.$index, scope.row, trainingExpenseData, 4)">删除</el-button>
- </template>
- </el-table-column>
- </el-table>
- </div>
- </div>
- <div class="Entry-form-li">
- <div class="Entry-li-lable">
- <div style="display: flex;align-items: center;">
- <el-checkbox v-model="choiceSeven"></el-checkbox>
- <div class="li-lable">七、其他:</div>
- <div style="display: flex;">
- <div class="li-lable">
- <label>合计:</label>
- <div class="sub-boxs">{{ otherExpense | numFilter }}</div>
- <span>元/人</span>
- </div>
- </div>
- <div style="color:red">
- 注:特殊情况才在这里填写,如:要计算车导费、备用金费用等
- </div>
- </div>
- <div class="btn-Entry">
- <el-button type="primary" @click="addlist('其他')" size="mini">新 增</el-button>
- </div>
- </div>
- <div class="Entry-li-inif">
- <el-table :data="otherData" border style="width: 100%">
- <el-table-column prop="index" label="第几项" width="180">
- <template slot-scope="scope">
- <el-input-number size="mini" :controls="false"
- v-model="scope.row.index"></el-input-number>
- </template>
- </el-table-column>
- <el-table-column style="position: relative;" prop="setDataId" label="费用类型" width="180">
-
- <template slot-scope="scope">
- <el-select size="mini" v-model="scope.row.setDataId" filterable placeholder="请选择">
- <el-option v-for="item in otherfylx" :key="item.id" :label="item.name"
- :value="item.id">
- <span style="float: left">{{ item.name }}</span>
- {{item.city}}
- </el-option>
- </el-select>
- </template>
- </el-table-column>
- <el-table-column prop="cost" label=" 费用标准" width="180">
- <template slot-scope="scope">
- <el-input-number @input="otherinput(scope.row)" size="mini" :precision="2"
- :controls="false" v-model="scope.row.cost"></el-input-number>
- </template>
- </el-table-column>
- <el-table-column prop="currencyName" label=" 币 种" width="180">
- <template slot-scope="scope">
- <el-select @change="othercurrencychange(scope.row.currency, scope.row)" size="mini"
- v-model="scope.row.currency" filterable placeholder="请选择">
- <el-option v-for="item in othercurrencys" :key="item.currencyId"
- :label="item.currencyCode" :value="item.currencyId">
- <span style="float: left">{{ item.currencyCode + ' 汇率:' + item.rate
- }}</span>
- </el-option>
- </el-select>
-
- </template>
- </el-table-column>
- <el-table-column prop="subTotal" label="费用小计" width="180">
- <template slot-scope="scope">
- <div class="sub-boxs">{{ scope.row.subTotal | numFilter }}</div> CNY
- </template>
- </el-table-column>
- <el-table-column prop="remark" label="备注" width="450">
- <template slot-scope="scope">
- <el-input size="mini" v-model="scope.row.remark"></el-input>
- </template>
- </el-table-column>
- <el-table-column prop="address" label="操 作">
- <template slot-scope="scope">
- <el-button v-if="isSave" style="color: #fff;" size="mini" type="danger"
- @click="DeleteOtherExpenses(scope.$index, scope.row, otherData)">删除</el-button>
- </template>
- </el-table-column>
- </el-table>
- </div>
- </div>
- <div class="Entry-form-li">
- <div class="Entry-li-lables">
- <div class="li-lable">费用总计:</div>
- <div style="display: flex;">
- <div class="li-lable">
-
- <label>(经济舱)</label>
- <div class="sub-boxs">{{ jjctotal | numFilter }}</div>
- <span>元/人</span>
- </div>
-
- <div class="li-lable">
-
- <label>(公务舱)</label>
- <div class="sub-boxs">{{ gwctotal | numFilter }}</div>
- <span>元/人</span>
- </div>
-
- <div class="li-lable">
-
- <label>(头等舱)</label>
- <div class="sub-boxs">{{ tdctotal | numFilter }}</div>
- <span>元/人</span>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </template>
- <script>
- import { Decimal } from 'decimal.js'
- import { debounce } from '../../store/statice'
- import { number } from 'echarts';
- export default {
- data() {
- return {
- fullscreenLoading: false,
- options: [],
- listvalue: 1005,
- tablevalue: '',
- listvalueoptions: [],
- tablevalueoptions: [],
-
- choiceOne: false,
- choiceTwo: false,
- choiceThree: false,
- choiceFour: false,
- choiceFive: false,
- choiceSix: false,
- choiceSeven: false,
- sumJJC: false,
- sumGWC: false,
- sumTDC: false,
- airJJC_Checked: false,
- airGWC_Checked: false,
- airTDC_Checked: false,
-
- isAssignPerm:false,
- provinceId:'',
- userId: '',
- token: '',
- value: '',
- options: [],
- Visafees: '',
- Visadepicted: '',
- currencys: [],
- currencyss: [],
- DomesticFees: {
- visafees: '',
- visafeesDescription: '',
- vaccinefees: 0,
- nucleicfees: 0,
- serviceCharge: 0,
- insurance: 500,
- ticketsExhibitionL: 0,
- total: 0,
- firstItemRemark:''
- },
- TotalExpenses: {
- EconomyClass: 0,
- BusinessClass: 0,
- Firstclass: 0,
- TravellingExpenses: 0,
- EconomyClasstotal: 0,
- BusinessClasstotal: 0,
- Firstclasstotal: 0,
- twoItemRemark:''
- },
- TotalAccommodationFee: 0,
- TotalMeals: 0,
- TotalMiscellaneous: 0,
- trainingExpense: 0,
- otherExpense: 0,
- quarterageData: [],
- boardWagesData: [],
- miscellaneousFeeData: [],
- trainingExpenseData: [],
- otherData: [],
- placeinif: [],
-
- treeData: "",
- treeDataValue: "",
- data: [],
- defaultProps: {
- children: "cityData",
- label: "city",
-
- },
- jjctotal: 0,
- gwctotal: 0,
- tdctotal: 0,
- storageid: 0,
- visabeizhu: "",
- ID: '',
- TicketJudgment: {},
- CurrencysRemark: '',
-
- watchedPrice: null,
- cubtn: false,
- getvisafeebtn: false,
- visainfo: {},
-
- othercurrencys: [],
- otherfylx: [],
-
- setpermissions:false,
- isSave:false,
- isView:false,
- viewUsers:[],
- viewUsersby:[],
- viewUsersarr:[],
-
- airDataArr:[],
- airDataArrvalue:''
- }
- },
- methods: {
-
- GetEnterExitCostDataSource() {
- var url = "/api/Groups/GetEnterExitCostDataSource"
- var that = this
- this.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer ' + this.token
- },
- data: {
- portType: 1
- }
- }).then(function (res) {
- if (res.data.code == 200) {
- that.options = res.data.data.groupNameData;
- that.currencys = res.data.data.currencyInit;
- that.viewUsersarr= res.data.data.viewPermissionData;
- if (that.value == null) {
- that.value = res.data.data.groupNameData[0].id;
- that.provinceId = res.data.data.groupNameData[0].provinceId;
- }
-
- that.GetEnterExitCostInfobyDiId();
- that.PostGroupTeamRateByDiIdAndCTableId();
-
-
- }
- })
- },
-
- PostGroupTeamRateByDiIdAndCTableId() {
- this.othercurrencys = [];
- var url = "/api/Business/PostGroupTeamRateByDiIdAndCTableId"
- var that = this
- this.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer ' + this.token
- },
- data: {
- portType: 1,
- diId: that.value,
- cTable: 98
- }
- }).then(function (res) {
- if (res.data.code == 200) {
- that.othercurrencys = res.data.data.teamRates;
- for (let sr = 0; sr < that.othercurrencys.length; sr++) {
- if (that.othercurrencys[sr].currencyCode != 'CNY') {
- that.othercurrencys[sr].rate = (that.othercurrencys[sr].rate * 1.03).toFixed(4)
- }
- for (let y = 0; y < that.currencys.length; y++) {
- if (that.currencys[y].currencyCode == that.othercurrencys[sr].currencyCode) {
- that.othercurrencys[sr].rate = that.currencys[y].rate;
- }
- }
- }
- } else {
- that.$message.error(res.data.msg);
- }
- })
- },
-
- QuerySetData() {
- var url = "/api/System/QuerySetData"
- var that = this
- this.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer ' + this.token
- },
- data: {
- dataType: 92
- }
- }).then(function (res) {
- if (res.data.code == 200) {
- that.otherfylx = res.data.data;
- } else {
- that.$message.error(res.data.msg);
- }
- })
- },
-
- GetEnterExitCostCorrelationTips(val) {
- this.getvisafeebtn = false;
- if (val == 1) {
- this.TotalExpenses.EconomyClass = 0;
- this.TotalExpenses.BusinessClass = 0;
- this.DomesticFees.visafees = 0;
- this.DomesticFees.visafeesDescription = "";
- var url = "/api/Groups/GetEnterExitCostCorrelationTips"
- var that = this
- this.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer ' + this.token
- },
- data: {
- portType: 1,
- diId: that.value
- }
- }).then(function (res) {
- if (res.data.code == 200) {
- that.TotalExpenses.EconomyClass = res.data.data.airData[0].jjcCurrentRate;
- that.TotalExpenses.BusinessClass = res.data.data.airData[0].gwcCurrentRate;
- that.DomesticFees.visafees = res.data.data.visaData.feeTotal;
- that.DomesticFees.visafeesDescription = res.data.data.visaData.remark;
- } else {
- that.$message.error(res.data.msg);
- }
- })
- } else {
- var url = "/api/Groups/GetEnterExitCostCorrelationTips"
- var that = this
- this.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer ' + this.token
- },
- data: {
- portType: 1,
- diId: that.value
- }
- }).then(function (res) {
- if (res.data.code == 200) {
- that.TicketJudgment = res.data.data.airData;
- that.airDataArr=res.data.data.airData;
- if (that.TotalExpenses.EconomyClass==0) {
- that.TotalExpenses.EconomyClass = that.airDataArr[0].jjcCurrentRate;
- }
- if (that.TotalExpenses.BusinessClass==0) {
- that.TotalExpenses.BusinessClass = that.airDataArr[0].gwcCurrentRate;
- }
- that.visainfo = res.data.data.visaData;
- that.currencyss = res.data.data.reteInfos;
- if (that.DomesticFees.visafees != res.data.data.visaData.feeTotal && res.data.data.visaData.feeTotal != 0) {
- that.getvisafeebtn = true;
- }
- for (let s = 0; s < that.currencys.length; s++) {
- if (that.currencys[s].rate != that.currencyss[s].rate) {
- that.cubtn = true;
- that.CurrencysRemark = '当前汇率与实时汇率不同!移上查看'
- return
- } else {
- that.cubtn = false;
- }
- }
- } else {
- that.$message.error(res.data.msg);
- }
- })
- }
- },
-
- Fillin(val) {
- var obj = {}
- obj = this.airDataArr.find(function (i,indexs) {
- return i.remark === val
- });
- this.TotalExpenses.EconomyClass = obj.jjcCurrentRate;
- this.TotalExpenses.BusinessClass = obj.gwcCurrentRate;
- },
-
- EnterExitCostFileOwner() {
- this.listvalueoptions=[];
- this.tablevalueoptions=[];
- console.log(this.provinceId);
-
- var url = "/api/Groups/EnterExitCostFileOwner/"+this.provinceId
- var that = this
- this.$axios({
- method: 'get',
- url: url,
- }).then(function (res) {
- if (res.data.code == 200) {
- that.listvalueoptions = res.data.data.wordTypeData;
- that.tablevalueoptions = res.data.data.excelTypeData;
- }else {
- that.$message.error(res.data.msg);
- }
- })
- },
-
- GetNationalTravelFeeData() {
- var url = "/api/Groups/GetNationalTravelFeeData"
- var that = this
- this.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer ' + this.token
- },
- data: {
- portType: 1,
- provinceId:that.provinceId,
- }
- }).then(function (res) {
- let placeinifarr = [];
- if (res.data.code == 200) {
- for (let i = 0; i < res.data.data.length; i++) {
- res.data.data[i]['cityname'] = res.data.data[i].country + '-' + res.data.data[i].city;
- placeinifarr.push(res.data.data[i]);
- }
- that.placeinif = placeinifarr;
- }
- })
- },
- GetEnterExitCostInfobyDiId() {
-
- this.ID = '';
-
- this.viewUsers=[];
- this.viewUsersby=[];
- this.TotalAccommodationFee = 0;
- this.TotalMeals = 0;
- this.TotalMiscellaneous = 0;
- this.trainingExpense = 0;
- this.otherExpense = 0;
- this.DomesticFees = {
- visafees: '',
- visafeesDescription: '',
- vaccinefees: 0,
- nucleicfees: 0,
- serviceCharge: 0,
- insurance: 500,
- ticketsExhibitionL: 0,
- total: 0,
- firstItemRemark:''
- }
- this.TotalExpenses = {
- EconomyClass: 0,
- BusinessClass: 0,
- Firstclass: 0,
- TravellingExpenses: 0,
- EconomyClasstotal: 0,
- BusinessClasstotal: 0,
- Firstclasstotal: 0,
- twoItemRemark:''
- }
- this.choiceOne = false
- this.choiceTwo = false
- this.choiceThree = false
- this.choiceFour = false
- this.choiceFive = false
- this.choiceSix = false
- this.choiceSeven = false
- this.sumJJC = false
- this.sumGWC = false
- this.sumTDC = false
- this.airJJC_Checked = false
- this.airGWC_Checked = false
- this.isSave = false
- this.isView = false
- this.storageid = 0
- this.quarterageData = [
- {
- id: 0,
- diId: this.value,
- type: 1,
- days: 1,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- },
- {
- id: 0,
- diId: this.value,
- type: 1,
- days: 2,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- },
- {
- id: 0,
- diId: this.value,
- type: 1,
- days: 3,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- },
- {
- id: 0,
- diId: this.value,
- type: 1,
- days: 4,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- },
- {
- id: 0,
- diId: this.value,
- type: 1,
- days: 5,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- },
- {
- id: 0,
- diId: this.value,
- type: 1,
- days: 6,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- },
- {
- id: 0,
- diId: this.value,
- type: 1,
- days: 7,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- },
- {
- id: 0,
- diId: this.value,
- type: 1,
- days: 8,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- },
- ]
- this.boardWagesData = [
- {
- id: 0,
- diId: this.value,
- type: 2,
- days: 1,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- },
- {
- id: 0,
- diId: this.value,
- type: 2,
- days: 2,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- },
- {
- id: 0,
- diId: this.value,
- type: 2,
- days: 3,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- },
- {
- id: 0,
- diId: this.value,
- type: 2,
- days: 4,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- },
- {
- id: 0,
- diId: this.value,
- type: 2,
- days: 5,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- },
- {
- id: 0,
- diId: this.value,
- type: 2,
- days: 6,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- },
- {
- id: 0,
- diId: this.value,
- type: 2,
- days: 7,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- },
- {
- id: 0,
- diId: this.value,
- type: 2,
- days: 8,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- },
- ]
- this.miscellaneousFeeData = [
- {
- id: 0,
- diId: this.value,
- type: 3,
- days: 1,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- },
- {
- id: 0,
- diId: this.value,
- type: 3,
- days: 2,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- },
- {
- id: 0,
- diId: this.value,
- type: 3,
- days: 3,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- },
- {
- id: 0,
- diId: this.value,
- type: 3,
- days: 4,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- },
- {
- id: 0,
- diId: this.value,
- type: 3,
- days: 5,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- },
- {
- id: 0,
- diId: this.value,
- type: 3,
- days: 6,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- },
- {
- id: 0,
- diId: this.value,
- type: 3,
- days: 7,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- },
- {
- id: 0,
- diId: this.value,
- type: 3,
- days: 8,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- },
- ]
- this.trainingExpenseData = [
- {
- id: 0,
- diId: this.value,
- type: 4,
- days: 1,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- },
- {
- id: 0,
- diId: this.value,
- type: 4,
- days: 2,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- },
- {
- id: 0,
- diId: this.value,
- type: 4,
- days: 3,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- },
- {
- id: 0,
- diId: this.value,
- type: 4,
- days: 4,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- },
- {
- id: 0,
- diId: this.value,
- type: 4,
- days: 5,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- },
- {
- id: 0,
- diId: this.value,
- type: 4,
- days: 6,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- },
- {
- id: 0,
- diId: this.value,
- type: 4,
- days: 7,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- },
- {
- id: 0,
- diId: this.value,
- type: 4,
- days: 8,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- },
- ]
- this.otherData = [
- {
- id: 0,
- diId: this.value,
- setDataId: '',
- index: 1,
- cost: '',
- cost: 0,
- currency: '',
- subTotal: 0,
- remark:'',
- },
- {
- id: 0,
- diId: this.value,
- setDataId: '',
- index: 2,
- cost: '',
- cost: 0,
- currency: '',
- subTotal: 0,
- remark:'',
- },
- {
- id: 0,
- diId: this.value,
- setDataId: '',
- index: 3,
- cost: '',
- cost: 0,
- currency: '',
- subTotal: 0,
- remark:'',
- },
- {
- id: 0,
- diId: this.value,
- setDataId: '',
- index: 4,
- cost: '',
- cost: 0,
- currency: '',
- subTotal: 0,
- remark:'',
- },
- {
- id: 0,
- diId: this.value,
- setDataId: '',
- index: 5,
- cost: '',
- cost: 0,
- currency: '',
- subTotal: 0,
- remark:'',
- },
- {
- id: 0,
- diId: this.value,
- setDataId: '',
- index: 6,
- cost: '',
- cost: 0,
- currency: '',
- subTotal: 0,
- remark:'',
- },
- {
- id: 0,
- diId: this.value,
- setDataId: '',
- index: 7,
- cost: '',
- cost: 0,
- currency: '',
- subTotal: 0,
- remark:'',
- },
- {
- id: 0,
- diId: this.value,
- setDataId: '',
- index: 8,
- cost: '',
- cost: 0,
- currency: '',
- subTotal: 0,
- remark:'',
- },
- ]
- this.isAssignPerm=false;
- var url = "/api/Groups/GetEnterExitCostInfobyDiId"
- var that = this
- this.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer ' + this.token
- },
- data: {
- portType: 1,
- diId: that.value,
- currUserId:that.userId
- }
- }).then(function (res) {
- if (res.data.code == 200) {
- that.ID = res.data.data.id;
- that.provinceId=res.data.data.provinceId;
-
- that.currencys = res.data.data.currencys;
- that.isAssignPerm=res.data.data.isAssignPerm;
-
- that.isSave=res.data.data.isSave;
- that.isView=res.data.data.isView;
- that.viewUsers=res.data.data.viewUsers;
- that.viewUsersby=res.data.data.viewUsers;
-
- that.DomesticFees.visafees = res.data.data.visa;
- that.DomesticFees.visafeesDescription = res.data.data.visaRemark;
- that.DomesticFees.vaccinefees = res.data.data.yiMiao;
- that.DomesticFees.nucleicfees = res.data.data.heSuan;
- that.DomesticFees.serviceCharge = res.data.data.service;
- that.DomesticFees.insurance = res.data.data.safe;
- that.DomesticFees.ticketsExhibitionL = res.data.data.ticket;
- that.DomesticFees.firstItemRemark = res.data.data.firstItemRemark;
-
- that.TotalExpenses.EconomyClass = res.data.data.airJJ;
- that.TotalExpenses.BusinessClass = res.data.data.airGW;
- that.TotalExpenses.Firstclass = res.data.data.airTD;
- that.TotalExpenses.TravellingExpenses = res.data.data.cityTranffic;
- that.TotalExpenses.twoItemRemark = res.data.data.twoItemRemark;
-
- that.choiceOne = res.data.data.choiceOne == 1 ? true : false;
- that.choiceTwo = res.data.data.choiceTwo == 1 ? true : false;
- that.choiceThree = res.data.data.choiceThree == 1 ? true : false;
- that.choiceFour = res.data.data.choiceFour == 1 ? true : false;
- that.choiceFive = res.data.data.choiceFive == 1 ? true : false;
- that.choiceSix = res.data.data.choiceSix == 1 ? true : false;
- that.choiceSeven = res.data.data.otherExpenses_Checked == 1 ? true : false;
- that.sumJJC = res.data.data.sumJJC == 1 ? true : false;
- that.sumGWC = res.data.data.sumGWC == 1 ? true : false;
- that.sumTDC = res.data.data.sumTDC == 1 ? true : false;
- that.airJJC_Checked = res.data.data.airJJC_Checked == 1 ? true : false;
- that.airGWC_Checked = res.data.data.airGWC_Checked == 1 ? true : false;
-
- that.quarterageData = res.data.data.quarterageData;
- for (let a = 0; a < res.data.data.quarterageData.length; a++) {
-
- that.TotalAccommodationFee += Number(res.data.data.quarterageData[a].subTotal)
- }
-
- that.boardWagesData = res.data.data.boardWagesData;
- for (let b = 0; b < res.data.data.boardWagesData.length; b++) {
- that.TotalMeals += res.data.data.boardWagesData[b].subTotal
- }
-
- that.miscellaneousFeeData = res.data.data.miscellaneousFeeData;
- for (let c = 0; c < res.data.data.miscellaneousFeeData.length; c++) {
- that.TotalMiscellaneous += res.data.data.miscellaneousFeeData[c].subTotal
- }
-
- that.trainingExpenseData = res.data.data.trainingExpenseData;
- for (let d = 0; d < res.data.data.trainingExpenseData.length; d++) {
- that.trainingExpense += res.data.data.trainingExpenseData[d].subTotal
- }
-
- that.otherData = res.data.data.dayOtherPriceData;
- for (let e = 0; e < res.data.data.dayOtherPriceData.length; e++) {
- that.otherExpense += res.data.data.dayOtherPriceData[e].subTotal
- }
- that.storageid = res.data.data.id;
-
- that.fullscreenLoading = false;
- that.GetEnterExitCostCorrelationTips(2);
- that.EnterExitCostFileOwner();
- that.GetNationalTravelFeeData();
- } else {
- that.fullscreenLoading = false;
- that.provinceId=res.data.data.provinceId;
- that.EnterExitCostFileOwner();
- that.GetNationalTravelFeeData();
- that.GetEnterExitCostCorrelationTips(1);
- that.$message.warning(res.data.msg);
- if (res.data.msg=='未查询出数据!可操作该条数据!') {
- that.isSave=true;
- that.isView=true;
- }
- }
- })
- },
-
- cleanout() {
- this.fullscreenLoading = true
- this.$confirm('此操作将全部清空, 是否继续?', '提示', {
- confirmButtonText: '确定',
- cancelButtonText: '取消',
- type: 'warning'
- }).then(() => {
- var url = "/api/Groups/PostEnterExitCostOneClickClear"
- var that = this
- this.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer ' + this.token
- },
- data: {
- portType: 1,
- diId: that.value,
- userId: that.userId,
- id: that.ID
- }
- }).then(function (res) {
- if (res.data.code == 200) {
- that.$message({
- type: 'success',
- message: res.data.msg
- });
- that.GetEnterExitCostInfobyDiId()
- } else {
- that.fullscreenLoading = false;
- that.$message.error(res.data.msg);
- }
- })
- }).catch(() => {
- this.fullscreenLoading = false;
- this.$message({
- type: 'info',
- message: '已取消清空'
- });
- });
- },
-
- handNodeClick(data, node, e) {
- this.treeDataValue = data.name
- this.treeData = data.name
- },
-
- SRrequirement(obj) {
- var currencyinfo = {}
- var rate = 0
- currencyinfo = this.othercurrencys.find(function (i) {
- return i.currencyId === obj.currency
- });
- rate = currencyinfo.rate;
- this.otherExpense = 0;
- for (let l = 0; l < this.otherData.length; l++) {
- this.otherData[l].currency = obj.currency
- this.otherData[l].subTotal = Number(this.otherData[l].cost) * Number(rate);
- this.otherExpense += this.otherData[l].subTotal;
- }
- },
-
- changeSelect(val, item, index) {
- var xiabiao=0
- var rate = 0
- var obj = {}
- obj = this.placeinif.find(function (i,indexs) {
- xiabiao=indexs
- return i.id === item
- });
- this.placeinif.splice(xiabiao,1);
- this.placeinif.unshift(obj);
- this.SRrequirement(obj)
-
- val.currencyName = obj.currencyName;
- val.currency = obj.currency;
- val.cost = obj.roomCost;
- for (let j = 0; j < this.currencys.length; j++) {
- if (this.currencys[j].currencyCode == obj.currencyCode) {
- rate = this.currencys[j].rate;
- }
- }
- val.subTotal = Number(val.cost) * Number(rate);
- this.TotalAccommodationFee = 0;
- for (let a = 0; a < this.quarterageData.length; a++) {
- this.TotalAccommodationFee += Number(this.quarterageData[a].subTotal.toFixed(2));
- }
-
- },
-
- zhusuinput(val) {
- var rate = 0
- for (let j = 0; j < this.currencys.length; j++) {
- if (this.currencys[j].currencyName == val.currencyName) {
- rate = this.currencys[j].rate;
- }
- }
- val.subTotal = Number(val.cost) * Number(rate);
- this.TotalAccommodationFee = 0;
- for (let a = 0; a < this.quarterageData.length; a++) {
- this.TotalAccommodationFee += Number(Number(this.quarterageData[a].subTotal).toFixed(2));
- }
- },
-
- mealsinput(val) {
- var rate = 0
- for (let j = 0; j < this.currencys.length; j++) {
- if (this.currencys[j].currencyName == val.currencyName) {
- rate = this.currencys[j].rate;
- }
- }
- val.subTotal = Number(val.cost) * Number(rate);
- this.TotalMeals = 0;
- for (let a = 0; a < this.boardWagesData.length; a++) {
-
- this.TotalMeals += Number(Number(this.boardWagesData[a].subTotal).toFixed(2));
- }
- },
-
- mealschangeSelect(val, item, index) {
- var xiabiao=0
- var rate = 0
- var obj = {}
- obj = this.placeinif.find(function (i,indexs) {
- xiabiao=indexs
- return i.id === item
- });
- this.placeinif.splice(xiabiao,1);
- this.placeinif.unshift(obj);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- val.currencyName = obj.currencyName;
- val.currency = obj.currency;
- val.cost = obj.foodCost;
- for (let j = 0; j < this.currencys.length; j++) {
- if (this.currencys[j].currencyCode == obj.currencyCode) {
- rate = this.currencys[j].rate;
- }
- }
- val.subTotal = Number(val.cost) * Number(rate);
- this.TotalMeals = 0;
- for (let a = 0; a < this.boardWagesData.length; a++) {
- this.TotalMeals += this.boardWagesData[a].subTotal
- }
- this.MiscellaneouschangeSelect(this.miscellaneousFeeData, item, index)
- },
-
- Miscellaneousinput(val) {
- var rate = 0
- for (let j = 0; j < this.currencys.length; j++) {
- if (this.currencys[j].currencyName == val.currencyName) {
- rate = this.currencys[j].rate;
- }
- }
- val.subTotal = Number(val.cost) * Number(rate);
- this.TotalMiscellaneous = 0;
- for (let a = 0; a < this.miscellaneousFeeData.length; a++) {
-
- this.TotalMiscellaneous += Number(Number(this.miscellaneousFeeData[a].subTotal).toFixed(2));
- }
- },
-
- MiscellaneouschangeSelect(val, item, index) {
- var xiabiao=0
- var rate = 0
- var obj = {}
- obj = this.placeinif.find(function (i,indexs) {
- xiabiao=indexs
- return i.id === item
- });
- this.placeinif.splice(xiabiao,1);
- this.placeinif.unshift(obj);
-
- if (index != undefined) {
- val[index].currencyName = obj.currencyName;
- val[index].currency = obj.currency;
- val[index].cost = obj.publicCost;
- val[index].nationalTravelFeeId = obj.id;
- for (let j = 0; j < this.currencys.length; j++) {
- if (this.currencys[j].currencyCode == obj.currencyCode) {
- rate = this.currencys[j].rate;
- }
- }
- val[index].subTotal = Number(val[index].cost) * Number(rate);
- this.TotalMiscellaneous = 0;
- for (let a = 0; a < this.miscellaneousFeeData.length; a++) {
- this.TotalMiscellaneous += this.miscellaneousFeeData[a].subTotal
- }
- }
- val.currencyName = obj.currencyName;
- val.currency = obj.currency;
- val.cost = obj.publicCost;
- for (let j = 0; j < this.currencys.length; j++) {
- if (this.currencys[j].currencyCode == obj.currencyCode) {
- rate = this.currencys[j].rate;
- }
- }
- val.subTotal = Number(val.cost) * Number(rate);
- this.TotalMiscellaneous = 0;
- for (let a = 0; a < this.miscellaneousFeeData.length; a++) {
- this.TotalMiscellaneous += this.miscellaneousFeeData[a].subTotal
-
- }
- },
-
- Traininginput(val) {
- var rate = 0
- for (let j = 0; j < this.currencys.length; j++) {
- if (this.currencys[j].currencyName == val.currencyName) {
- rate = this.currencys[j].rate;
- }
- }
- val.subTotal = Number(val.cost) * Number(rate);
- this.trainingExpense = 0;
- for (let a = 0; a < this.trainingExpenseData.length; a++) {
-
- this.trainingExpense += Number(Number(this.trainingExpenseData[a].subTotal).toFixed(2));
- }
- },
-
- TrainingExpenseDataSelect(val, item,index) {
- var xiabiao=0
- var rate = 0
- var obj = {}
- obj = this.placeinif.find(function (i,indexs) {
- xiabiao=indexs
- return i.id === item
- });
- this.placeinif.splice(xiabiao,1);
- this.placeinif.unshift(obj);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- val.currencyName = obj.currencyName;
- val.currency = obj.currency;
- val.cost=obj.trainCost;
-
- for (let j = 0; j < this.currencys.length; j++) {
- if (this.currencys[j].currencyCode == obj.currencyCode) {
- rate = this.currencys[j].rate;
- }
- }
- val.subTotal = Number(val.cost) * Number(rate);
- this.trainingExpense=0;
- for (let a = 0; a < this.trainingExpenseData.length; a++) {
- this.trainingExpense += this.trainingExpenseData[a].subTotal
- }
- },
-
- othercurrencychange(val, row) {
- var obj = {};
- var rate = 0;
- obj = this.othercurrencys.find(function (i) {
- return i.currencyId === val;
- });
- rate = obj.rate
- row.subTotal = Number(row.cost) * Number(rate);
- this.otherExpense = 0;
- for (let a = 0; a < this.otherData.length; a++) {
- this.otherExpense += this.otherData[a].subTotal;
- }
- },
-
- otherinput(val) {
- if (val.currency == '' || this.othercurrencys == '') {
- return
- }
- var obj = {}
- var rate = 0
- obj = this.othercurrencys.find(function (i) {
- return i.currencyId === val.currency
- });
- rate = obj.rate
- val.subTotal = Number(val.cost) * Number(rate);
- this.otherExpense = 0;
- for (let a = 0; a < this.otherData.length; a++) {
-
- this.otherExpense += Number(Number(this.otherData[a].subTotal).toFixed(2));
- }
- },
-
- addlist(text) {
- if (text == "住宿费") {
- this.quarterageData.push({
- id: 0,
- diId: this.value,
- type: 1,
- days: this.quarterageData.length != 0 ? (this.quarterageData[this.quarterageData.length - 1].days) + 1 : 1,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- })
-
-
-
-
-
-
-
-
-
-
-
- }
- if (text == "伙食费") {
- this.boardWagesData.push({
- id: 0,
- diId: this.value,
- type: 2,
- days: this.boardWagesData.length != 0 ? (this.boardWagesData[this.boardWagesData.length - 1].days) + 1 : 1,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- })
- this.miscellaneousFeeData.push({
- id: 0,
- diId: this.value,
- type: 3,
- days: this.miscellaneousFeeData.length != 0 ? (this.miscellaneousFeeData[this.miscellaneousFeeData.length - 1].days) + 1 : 1,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- })
- }
- if (text == "公杂费") {
- this.miscellaneousFeeData.push({
- id: 0,
- diId: this.value,
- type: 3,
- days: this.miscellaneousFeeData.length != 0 ? (this.miscellaneousFeeData[this.miscellaneousFeeData.length - 1].days) + 1 : 1,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- })
- }
- if (text == "培训费") {
- this.trainingExpenseData.push({
- id: 0,
- diId: this.value,
- type: 4,
- days: this.trainingExpenseData.length != 0 ? (this.trainingExpenseData[this.trainingExpenseData.length - 1].days) + 1 : 1,
- nationalTravelFeeId: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark: '',
- })
- }
- if (text == "其他") {
- this.otherData.push({
- id: 0,
- diId: this.value,
- setDataId: '',
- index: this.otherData.length != 0 ? (this.otherData[this.otherData.length - 1].index) + 1 : 1,
- cost: '',
- cost: 0,
- currency: 0,
- subTotal: 0,
- remark:'',
- })
- }
- },
-
- storage: debounce(function () {
- return new Promise((resolve, reject) => {
-
- this.fullscreenLoading = true
- var quarterageDatas = [];
- for (let m = 0; m < this.quarterageData.length; m++) {
- if (this.quarterageData[m].nationalTravelFeeId != '') {
- quarterageDatas.push({
- id: this.quarterageData[m].id,
- diId: this.quarterageData[m].diId,
- type: this.quarterageData[m].type,
- days: this.quarterageData[m].days,
- nationalTravelFeeId: this.quarterageData[m].nationalTravelFeeId,
- cost: this.quarterageData[m].cost,
- currency: this.quarterageData[m].currency,
- subTotal: this.quarterageData[m].subTotal,
- remark: this.quarterageData[m].remark,
- })
- }
- }
-
- var boardWagesDatas = [];
- for (let n = 0; n < this.boardWagesData.length; n++) {
- if (this.boardWagesData[n].nationalTravelFeeId != '') {
- boardWagesDatas.push({
- id: this.boardWagesData[n].id,
- diId: this.boardWagesData[n].diId,
- type: this.boardWagesData[n].type,
- days: this.boardWagesData[n].days,
- nationalTravelFeeId: this.boardWagesData[n].nationalTravelFeeId,
- cost: this.boardWagesData[n].cost,
- currency: this.boardWagesData[n].currency,
- subTotal: this.boardWagesData[n].subTotal,
- remark: this.boardWagesData[n].remark,
- })
- }
- }
-
- var miscellaneousFeeDatas = [];
- for (let b = 0; b < this.miscellaneousFeeData.length; b++) {
- if (this.miscellaneousFeeData[b].nationalTravelFeeId != '') {
- miscellaneousFeeDatas.push({
- id: this.miscellaneousFeeData[b].id,
- diId: this.miscellaneousFeeData[b].diId,
- type: this.miscellaneousFeeData[b].type,
- days: this.miscellaneousFeeData[b].days,
- nationalTravelFeeId: this.miscellaneousFeeData[b].nationalTravelFeeId,
- cost: this.miscellaneousFeeData[b].cost,
- currency: this.miscellaneousFeeData[b].currency,
- subTotal: this.miscellaneousFeeData[b].subTotal,
- remark: this.miscellaneousFeeData[b].remark,
- })
- }
- }
-
- var trainingExpenseDatas = [];
- for (let p = 0; p < this.trainingExpenseData.length; p++) {
- if (this.trainingExpenseData[p].nationalTravelFeeId != '') {
- trainingExpenseDatas.push({
- id: this.trainingExpenseData[p].id,
- diId: this.trainingExpenseData[p].diId,
- type: this.trainingExpenseData[p].type,
- days: this.trainingExpenseData[p].days,
- nationalTravelFeeId: this.trainingExpenseData[p].nationalTravelFeeId,
- cost: this.trainingExpenseData[p].cost,
- currency: this.trainingExpenseData[p].currency,
- subTotal: this.trainingExpenseData[p].subTotal,
- remark: this.trainingExpenseData[p].remark,
- })
- }
- }
-
- var otherDatas = [];
- for (let c = 0; c < this.otherData.length; c++) {
- if (this.otherData[c].setDataId != '') {
- otherDatas.push({
- id: this.otherData[c].id,
- diId: this.otherData[c].diId,
- index: this.otherData[c].index,
- setDataId: this.otherData[c].setDataId,
- cost: this.otherData[c].cost,
- currency: this.otherData[c].currency,
- subTotal: this.otherData[c].subTotal,
- remark: this.otherData[c].remark,
- })
- }
- }
- this.storageAPI(quarterageDatas, boardWagesDatas, miscellaneousFeeDatas, trainingExpenseDatas, otherDatas)
- })
- }, 1000, true),
-
-
- storageAPI(arrthre, arrfour, arrfive, arrsix, arrSeven) {
- var url = "/api/Groups/PostEnterExitCostOperate"
- var that = this
- this.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer ' + this.token,
- contentType: 'application/json'
- },
- data: {
- portType: 1,
- userId: that.userId,
- id: that.storageid,
- diId: that.value,
- choiceOne: that.choiceOne ? 1 : 0,
- insidePay: that.DomesticFees.total,
- visa: that.DomesticFees.visafees,
- visaRemark: that.DomesticFees.visafeesDescription,
- yiMiao: that.DomesticFees.vaccinefees,
- heSuan: that.DomesticFees.nucleicfees,
- service: that.DomesticFees.serviceCharge,
- ticket: that.DomesticFees.ticketsExhibitionL,
- safe: that.DomesticFees.insurance,
- firstItemRemark:that.DomesticFees.firstItemRemark,
- choiceTwo: that.choiceTwo ? 1 : 0,
- otherExpenses_Checked: that.choiceSeven ? 1 : 0,
- sumJJC: that.sumJJC ? 1 : 0,
- sumGWC: that.sumGWC ? 1 : 0,
- sumTDC: that.sumTDC ? 1 : 0,
- outsideJJPay: that.TotalExpenses.EconomyClasstotal,
- outsideGWPay: that.TotalExpenses.BusinessClasstotal,
- outsideTDPay: that.TotalExpenses.Firstclasstotal,
- twoItemRemark:that.TotalExpenses.twoItemRemark,
- airJJ: that.TotalExpenses.EconomyClass,
- airGW: that.TotalExpenses.BusinessClass,
- airTD: that.TotalExpenses.Firstclass,
- cityTranffic: that.TotalExpenses.TravellingExpenses,
- dayOtherPriceData: arrSeven,
- currencys: that.currencys,
- choiceThree: that.choiceThree ? 1 : 0,
- quarterageData: arrthre,
- choiceFour: that.choiceFour ? 1 : 0,
- boardWagesData: arrfour,
- choiceFive: that.choiceFive ? 1 : 0,
- miscellaneousFeeData: arrfive,
- choiceSix: that.choiceSix ? 1 : 0,
-
- trainingExpenseData: arrsix,
- airJJC_Checked: that.airJJC_Checked ? 1 : 0,
- airGWC_Checked: that.airGWC_Checked ? 1 : 0,
- airTDC_Checked: that.airTDC_Checked ? 1 : 0,
- }
- }).then(function (res) {
- if (res.data.code == 200) {
- that.$message({
- type: 'success',
- message: res.data.msg
- });
- that.GetEnterExitCostInfobyDiId()
- } else {
- that.fullscreenLoading = false;
- that.$message.error(res.data.msg);
- }
- }).catch(function (error) {
- that.$message.error(error.message);
- });
- },
-
- chengvalue(val) {
- window.localStorage.setItem('sgvalue', this.value);
- for(let i=0;i<this.options.length;i++){
- if (val==this.options[i].id) {
- console.log(this.options[i]);
- this.provinceId=this.options[i].provinceId
- }
- }
- this.airDataArrvalue='';
- this.fullscreenLoading = true;
-
-
- this.GetEnterExitCostInfobyDiId();
- this.PostGroupTeamRateByDiIdAndCTableId();
- },
- eptschedule: debounce(function (val) {
- return new Promise((resolve, reject) => {
-
- this.fullscreenLoading = true
- var quarterageDatas = [];
- for (let m = 0; m < this.quarterageData.length; m++) {
- if (this.quarterageData[m].nationalTravelFeeId != '') {
- quarterageDatas.push({
- id: this.quarterageData[m].id,
- diId: this.quarterageData[m].diId,
- type: this.quarterageData[m].type,
- days: this.quarterageData[m].days,
- nationalTravelFeeId: this.quarterageData[m].nationalTravelFeeId,
- cost: this.quarterageData[m].cost,
- currency: this.quarterageData[m].currency,
- subTotal: this.quarterageData[m].subTotal,
- remark: this.quarterageData[m].remark,
- })
- }
- }
-
- var boardWagesDatas = [];
- for (let n = 0; n < this.boardWagesData.length; n++) {
- if (this.boardWagesData[n].nationalTravelFeeId != '') {
- boardWagesDatas.push({
- id: this.boardWagesData[n].id,
- diId: this.boardWagesData[n].diId,
- type: this.boardWagesData[n].type,
- days: this.boardWagesData[n].days,
- nationalTravelFeeId: this.boardWagesData[n].nationalTravelFeeId,
- cost: this.boardWagesData[n].cost,
- currency: this.boardWagesData[n].currency,
- subTotal: this.boardWagesData[n].subTotal,
- remark: this.boardWagesData[n].remark,
- })
- }
- }
-
- var miscellaneousFeeDatas = [];
- for (let b = 0; b < this.miscellaneousFeeData.length; b++) {
- if (this.miscellaneousFeeData[b].nationalTravelFeeId != '') {
- miscellaneousFeeDatas.push({
- id: this.miscellaneousFeeData[b].id,
- diId: this.miscellaneousFeeData[b].diId,
- type: this.miscellaneousFeeData[b].type,
- days: this.miscellaneousFeeData[b].days,
- nationalTravelFeeId: this.miscellaneousFeeData[b].nationalTravelFeeId,
- cost: this.miscellaneousFeeData[b].cost,
- currency: this.miscellaneousFeeData[b].currency,
- subTotal: this.miscellaneousFeeData[b].subTotal,
- remark: this.miscellaneousFeeData[b].remark,
- })
- }
- }
-
- var trainingExpenseDatas = [];
- for (let p = 0; p < this.trainingExpenseData.length; p++) {
- if (this.trainingExpenseData[p].nationalTravelFeeId != '') {
- trainingExpenseDatas.push({
- id: this.trainingExpenseData[p].id,
- diId: this.trainingExpenseData[p].diId,
- type: this.trainingExpenseData[p].type,
- days: this.trainingExpenseData[p].days,
- nationalTravelFeeId: this.trainingExpenseData[p].nationalTravelFeeId,
- cost: this.trainingExpenseData[p].cost,
- currency: this.trainingExpenseData[p].currency,
- subTotal: this.trainingExpenseData[p].subTotal,
- remark: this.trainingExpenseData[p].remark,
- })
- }
- }
-
- var otherDatas = [];
- for (let c = 0; c < this.otherData.length; c++) {
- if (this.otherData[c].setDataId != '') {
- otherDatas.push({
- id: this.otherData[c].id,
- diId: this.otherData[c].diId,
- index: this.otherData[c].index,
- setDataId: this.otherData[c].setDataId,
- cost: this.otherData[c].cost,
- currency: this.otherData[c].currency,
- subTotal: this.otherData[c].subTotal,
- remark: this.otherData[c].remark,
- })
- }
- }
- var url = "/api/Groups/PostEnterExitCostOperate"
- var that = this
- this.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer ' + this.token,
- contentType: 'application/json'
- },
- data: {
- portType: 1,
- userId: that.userId,
- id: that.storageid,
- diId: that.value,
- choiceOne: that.choiceOne ? 1 : 0,
- insidePay: that.DomesticFees.total,
- visa: that.DomesticFees.visafees,
- visaRemark: that.DomesticFees.visafeesDescription,
- yiMiao: that.DomesticFees.vaccinefees,
- heSuan: that.DomesticFees.nucleicfees,
- service: that.DomesticFees.serviceCharge,
- ticket: that.DomesticFees.ticketsExhibitionL,
- safe: that.DomesticFees.insurance,
- firstItemRemark: that.DomesticFees.firstItemRemark,
- choiceTwo: that.choiceTwo ? 1 : 0,
- otherExpenses_Checked: that.choiceSeven ? 1 : 0,
- sumJJC: that.sumJJC ? 1 : 0,
- sumGWC: that.sumGWC ? 1 : 0,
- sumTDC: that.sumTDC ? 1 : 0,
- outsideJJPay: that.TotalExpenses.EconomyClasstotal,
- outsideGWPay: that.TotalExpenses.BusinessClasstotal,
- outsideTDPay: that.TotalExpenses.Firstclasstotal,
- twoItemRemark: that.TotalExpenses.twoItemRemark,
- airJJ: that.TotalExpenses.EconomyClass,
- airGW: that.TotalExpenses.BusinessClass,
- airTD: that.TotalExpenses.Firstclass,
- cityTranffic: that.TotalExpenses.TravellingExpenses,
- dayOtherPriceData: otherDatas,
- currencys: that.currencys,
- choiceThree: that.choiceThree ? 1 : 0,
- quarterageData: quarterageDatas,
- choiceFour: that.choiceFour ? 1 : 0,
- boardWagesData: boardWagesDatas,
- choiceFive: that.choiceFive ? 1 : 0,
- miscellaneousFeeData: miscellaneousFeeDatas,
- choiceSix: that.choiceSix ? 1 : 0,
-
- trainingExpenseData: trainingExpenseDatas,
- airJJC_Checked: that.airJJC_Checked ? 1 : 0,
- airGWC_Checked: that.airGWC_Checked ? 1 : 0,
- airTDC_Checked: that.airTDC_Checked ? 1 : 0,
- }
- }).then(function (res) {
- if (res.data.code == 200) {
- that.$message({
- type: 'success',
- message: res.data.msg
- });
- that.GetEnterExitCostInfobyDiId()
- var subTypeId = 0
- if (val == 1) {
- subTypeId = that.listvalue
- } else if (val == 2) {
- subTypeId = that.tablevalue
- } else {
- subTypeId = 1
- }
- if (subTypeId == "") {
- that.$message.error('请选择需要导出的表格');
- return
- }
- var url = "/api/Groups/PostEnterExitCostDownload"
- that.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer ' + that.token
- },
- data: {
- portType: 1,
- diId: that.value,
- exportType: val,
- subTypeId: subTypeId
- }
- }).then(function (res) {
- if (res.data.code == 200) {
- that.$message({
- type: 'success',
- message: res.data.msg
- });
- window.open(res.data.data.url);
- } else {
- that.$message.error(res.data.msg);
- }
- })
- } else {
- that.fullscreenLoading = false;
- that.$message.error(res.data.msg);
- }
- }).catch(function (error) {
- that.$message.error(error.message);
- });
-
- })
-
-
-
- }, 500, true),
-
- calculation() {
- var jnfy
- var jjcxj
- var gwcxj
- var tdcxj
- var zsf
- var hsf
- var gzf
- var pxf
- var qtfy
- if (this.choiceOne == true) {
- jnfy = this.DomesticFees.total;
- } else {
- jnfy = 0;
- }
- if (this.choiceThree == true) {
- zsf = this.TotalAccommodationFee;
- } else {
- zsf = 0;
- }
- if (this.choiceFour == true) {
- hsf = this.TotalMeals;
- } else {
- hsf = 0;
- }
- if (this.choiceFive == true) {
- gzf = this.TotalMiscellaneous;
- } else {
- gzf = 0;
- }
- if (this.choiceSix == true) {
- pxf = this.trainingExpense;
- } else {
- pxf = 0;
- }
- if (this.choiceSeven == true) {
- qtfy = this.otherExpense;
- } else {
- qtfy = 0;
- }
- if (this.sumJJC == true) {
- jjcxj = this.TotalExpenses.EconomyClasstotal;
- this.jjctotal = jnfy + jjcxj + zsf + hsf + gzf + pxf + qtfy;
- } else {
- jjcxj = 0;
- this.jjctotal = 0;
- }
- if (this.sumGWC == true) {
- gwcxj = this.TotalExpenses.BusinessClasstotal;
- this.gwctotal = jnfy + gwcxj + zsf + hsf + gzf + pxf + qtfy;
- } else {
- gwcxj = 0;
- this.gwctotal = 0;
- }
- if (this.sumTDC == true) {
- tdcxj = this.TotalExpenses.Firstclasstotal;
- this.tdctotal = jnfy + tdcxj + zsf + hsf + gzf + pxf + qtfy;
- } else {
- tdcxj = 0;
- this.tdctotal = 0;
- }
- },
-
- DeleteOtherExpenses(index, row, rows) {
- this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
- confirmButtonText: '确定',
- cancelButtonText: '取消',
- type: 'warning'
- }).then(() => {
- {
- if (row.id == 0) {
- this.$message({
- type: 'success',
- message: '删除成功'
- });
- rows.splice(index, 1);
- this.otherExpense = 0;
- for (let a = 0; a < rows.length; a++) {
- this.otherExpense += rows[a].subTotal;
- }
- return;
- }
- var url = "/api/Groups/DeleteOtherExpenses"
- var that = this
- this.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer ' + that.token
- },
- data: {
- portType: 1,
- id: row.id,
- deleteUserId: that.userId
- }
- }).then(function (res) {
- if (res.data.code == 200) {
- that.$message({
- type: 'success',
- message: res.data.msg
- });
- rows.splice(index, 1);
- this.otherExpense = 0;
- for (let a = 0; a < rows.length; a++) {
- this.otherExpense += rows[a].subTotal;
- }
- } else {
- that.$message.error(res.data.msg);
- }
- })
- }
- }).catch(() => {
- this.$message({
- type: 'info',
- message: '已取消删除'
- });
- });
- },
-
- deleteRow(index, row, rows, val) {
- this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
- confirmButtonText: '确定',
- cancelButtonText: '取消',
- type: 'warning'
- }).then(() => {
- if (row.id == 0) {
- this.$message({
- type: 'success',
- message: '删除成功'
- });
- rows.splice(index, 1);
- if (val == 1) {
- this.TotalAccommodationFee = 0;
- for (let a = 0; a < rows.length; a++) {
- this.TotalAccommodationFee += rows[a].subTotal;
- }
- }
- if (val == 2) {
- this.TotalMeals = 0;
- for (let a = 0; a < rows.length; a++) {
- this.TotalMeals += rows[a].subTotal;
- }
- }
- if (val == 3) {
- this.TotalMiscellaneous = 0;
- for (let a = 0; a < rows.length; a++) {
- this.TotalMiscellaneous += rows[a].subTotal;
- }
- }
- if (val == 4) {
- this.trainingExpense = 0;
- for (let a = 0; a < rows.length; a++) {
- this.trainingExpense += rows[a].subTotal;
- }
- }
- return;
- }
- var url = "/api/Groups/PostEnterExitCostSubItemDel"
- var that = this
- this.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer ' + that.token
- },
- data: {
- portType: 1,
- id: row.id,
- deleteUserId: that.userId
- }
- }).then(function (res) {
- if (res.data.code == 200) {
- that.$message({
- type: 'success',
- message: res.data.msg
- });
- rows.splice(index, 1);
- if (val == 1) {
- that.TotalAccommodationFee = 0;
- for (let a = 0; a < rows.length; a++) {
- that.TotalAccommodationFee += rows[a].subTotal;
- }
- }
- if (val == 2) {
- that.TotalMeals = 0;
- for (let a = 0; a < rows.length; a++) {
- that.TotalMeals += rows[a].subTotal;
- }
- }
- if (val == 3) {
- that.TotalMiscellaneous = 0;
- for (let a = 0; a < rows.length; a++) {
- that.TotalMiscellaneous += rows[a].subTotal;
- }
- }
- if (val == 4) {
- that.trainingExpense = 0;
- for (let a = 0; a < rows.length; a++) {
- that.trainingExpense += rows[a].subTotal;
- }
- }
- } else {
- that.$message.error(res.data.msg);
- }
- })
- }).catch(() => {
- this.$message({
- type: 'info',
- message: '已取消删除'
- });
- });
- },
-
- adoptRealtime() {
- for (let at = 0; at < this.currencys.length; at++) {
- for (let rt = 0; rt < this.currencyss.length; rt++) {
- if (this.currencys[at].currencyCode == this.currencyss[rt].currCode) {
- this.currencys[at].rate = this.currencyss[rt].rate
- }
- }
- }
- this.cubtn = false;
- },
- Getnewvisafee() {
- this.DomesticFees.visafees = this.visainfo.feeTotal;
- this.DomesticFees.visafeesDescription = this.visainfo.remark;
- this.getvisafeebtn = false;
- },
-
- NationalTravelFeeImportReceivables() {
- var url = "/api/Groups/NationalTravelFeeImportReceivables/" + this.value
- var that = this
- this.$axios({
- method: 'get',
- url: url,
- headers: {
- Authorization: 'Bearer ' + that.token
- },
- }).then(function (res) {
- if (res.data.code == 200) {
- that.$message({
- type: 'success',
- message: res.data.msg
- });
- } else {
- that.$message.error(res.data.msg);
- }
- }).catch(function (error) {
- that.$message.error("操作错误,联系信息部!");
- });
- },
-
- setpermissionsbtn(){
- this.viewUsers=this.viewUsersby;
- this.setpermissions=true;
- },
- handleCheckAllChange(val) {
-
-
- },
-
- EnterExitCostSetViewPermissiion() {
- var url = "/api/Groups/EnterExitCostSetViewPermissiion"
- var that = this
- this.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer ' + that.token
- },
- data:{
- portType:1,
- groupId:that.value,
- userIds:that.viewUsers,
- currUserId:that.userId,
- }
- }).then(function (res) {
- if (res.data.code == 200) {
- that.$message({
- type: 'success',
- message: res.data.msg
- });
- that.setpermissions=false;
- that.GetEnterExitCostInfobyDiId();
- } else {
- that.setpermissions=false;
- that.$message.error(res.data.msg);
- }
- }).catch(function (error) {
- that.$message.error("操作错误,联系信息部!");
- });
- },
- },
- filters: {
- numFilter(value) {
-
- let realVal = new Decimal(value).toFixed(2)
- return realVal
- }
- },
- watch: {
- choiceOne(val) {
- this.calculation();
- },
- choiceThree(val) {
- this.calculation();
- },
- choiceFour(val) {
- this.calculation();
- },
- choiceFive(val) {
- this.calculation();
- },
- choiceSix(val) {
- this.calculation();
- },
- choiceSeven(val) {
- this.calculation();
- },
-
- sumJJC(val) {
- this.calculation();
- },
- sumGWC(val) {
- this.calculation();
- },
- sumTDC(val) {
- this.calculation();
- },
- 'DomesticFees.total': {
- handler(newVal, oldVal) {
- this.calculation();
-
-
- },
- },
- TotalAccommodationFee: {
- handler(newVal, oldVal) {
- this.calculation();
-
-
- },
- },
- TotalMeals: {
- handler(newVal, oldVal) {
- this.calculation();
-
-
- },
- },
- TotalMiscellaneous: {
- handler(newVal, oldVal) {
- this.calculation();
-
-
- },
- },
- trainingExpense: {
- handler(newVal, oldVal) {
- this.calculation();
-
-
- },
- },
- otherExpense: {
- handler(newVal, oldVal) {
- this.calculation();
-
-
- },
- },
- 'TotalExpenses.EconomyClasstotal': {
- handler(newVal, oldVal) {
- this.calculation();
-
-
- },
- },
- 'TotalExpenses.BusinessClasstotal': {
- handler(newVal, oldVal) {
- this.calculation();
-
-
- },
- },
- 'TotalExpenses.Firstclasstotal': {
- handler(newVal, oldVal) {
- this.calculation();
-
-
- },
- },
-
- DomesticFees: {
- handler(newVal, oldVal) {
- if (newVal.insurance == undefined) {
- newVal.insurance = 0
- }
- if (newVal.nucleicfees == undefined) {
- newVal.nucleicfees = 0
- }
- if (newVal.serviceCharge == undefined) {
- newVal.serviceCharge = 0
- }
- if (newVal.ticketsExhibitionL == undefined) {
- newVal.ticketsExhibitionL = 0
- }
- if (newVal.vaccinefees == undefined) {
- newVal.vaccinefees = 0
- }
- if (newVal.visafees == undefined) {
- newVal.visafees = 0
- }
- },
- immediate: true,
- deep: true
- },
-
- TotalExpenses: {
- handler(newVal, oldVal) {
- if (newVal.EconomyClass == undefined) {
- newVal.EconomyClass = 0
- }
- if (newVal.BusinessClass == undefined) {
- newVal.BusinessClass = 0
- }
- if (newVal.TravellingExpenses == undefined) {
- newVal.TravellingExpenses = 0
- }
- },
- immediate: true,
- deep: true
- },
-
- currencys: {
- handler(val) {
- this.TotalAccommodationFee = 0
- for (let q = 0; q < this.quarterageData.length; q++) {
- for (let qc = 0; qc < this.currencys.length; qc++) {
- if (this.currencys[qc].currencyCode == this.quarterageData[q].curremcyCode||this.currencys[qc].currencyName == this.quarterageData[q].currencyName) {
- this.quarterageData[q].subTotal = (this.currencys[qc].rate * this.quarterageData[q].cost).toFixed(2)
- }
- }
- this.TotalAccommodationFee += Number(this.quarterageData[q].subTotal);
- }
-
- this.TotalMeals = 0
- for (let b = 0; b < this.boardWagesData.length; b++) {
- for (let bc = 0; bc < this.currencys.length; bc++) {
- if (this.currencys[bc].currencyCode == this.boardWagesData[b].curremcyCode||this.currencys[bc].currencyName == this.boardWagesData[b].currencyName) {
- this.boardWagesData[b].subTotal = this.currencys[bc].rate * this.boardWagesData[b].cost
- }
- }
- this.TotalMeals += this.boardWagesData[b].subTotal
- }
-
- this.TotalMiscellaneous = 0
- for (let m = 0; m < this.miscellaneousFeeData.length; m++) {
- for (let mc = 0; mc < this.currencys.length; mc++) {
- if (this.currencys[mc].currencyCode == this.miscellaneousFeeData[m].curremcyCode||this.currencys[mc].currencyName == this.miscellaneousFeeData[m].currencyName) {
- this.miscellaneousFeeData[m].subTotal = this.currencys[mc].rate * this.miscellaneousFeeData[m].cost
- }
- }
- this.TotalMiscellaneous += this.miscellaneousFeeData[m].subTotal
- }
-
- this.trainingExpense = 0
- for (let t = 0; t < this.trainingExpenseData.length; t++) {
- for (let tc = 0; tc < this.currencys.length; tc++) {
- if (this.currencys[tc].currencyCode == this.trainingExpenseData[t].curremcyCode||this.currencys[tc].currencyName == this.trainingExpenseData[t].currencyName) {
- this.trainingExpenseData[t].subTotal = this.currencys[tc].rate * this.trainingExpenseData[t].cost
- }
- }
- this.trainingExpense += this.trainingExpenseData[t].subTotal
- }
-
- for (let nc = 0; nc < this.currencys.length; nc++) {
- for (let nt = 0; nt < this.othercurrencys.length; nt++) {
- if (this.currencys[nc].currencyCode == this.othercurrencys[nt].currencyCode||this.currencys[nc].currencyName == this.othercurrencys[nt].currencyName) {
- this.othercurrencys[nt].rate = this.currencys[nc].rate;
- }
- }
- }
- this.otherExpense = 0;
- for (let wm = 0; wm < this.otherData.length; wm++) {
- for (let cj = 0; cj < this.othercurrencys.length; cj++) {
- if (this.otherData[wm].currency == this.othercurrencys[cj].currencyId) {
- this.otherData[wm].rate = this.othercurrencys[cj].rate
- }
- }
- this.otherExpense += this.otherData[wm].subTotal;
- if (this.otherData[wm].rate) {
- this.otherData[wm].subTotal = this.otherData[wm].cost * this.otherData[wm].rate;
- }
- }
- },
- deep: true
- }
- },
- created() {
- this.QuerySetData();
- },
- mounted() {
- this.token = JSON.parse(localStorage.getItem('userinif')).token;
- this.userId = JSON.parse(localStorage.getItem('userinif')).userInfo.userId;
- this.value = JSON.parse(localStorage.getItem('sgvalue'))
- this.GetEnterExitCostDataSource();
-
- },
- destroyed() {
- window.localStorage.removeItem('sgvalue');
- },
- }
- </script>
- <style>
- .Entry-all {
- background-color: #fff;
- padding: 10px;
- box-shadow: 0 0 5px #0005;
- border-radius: 10px;
- height: 100%;
- min-height: 840px;
- }
- .Entry-head-li label {
- color: #606266;
- font-size: 15px;
- font-weight: 600;
- }
- .Entry-head {
- display: flex;
- justify-content: space-between;
- }
- .Entry-form {
- margin-top: 10px;
- border-top: 2px solid #409EFF;
- }
- .Entry-li-inif {
- display: flex;
- align-items: center;
- width: 100%;
- border-top: 1px solid #ebeef5;
- padding: 5px 0;
- }
- .Entry-li-inif:last-child {
- border-bottom: 1px solid #ebeef5;
- }
- .Entry-li-lable {
- display: flex;
- justify-content: space-between;
- align-items: center;
- margin: 10px 0;
- margin-top: 20px;
- }
- .Entry-li-lables {
- display: flex;
- align-items: center;
- margin: 10px 0;
- margin-top: 20px;
- }
- .Entry-inif-box .depipt {
- display: inline-block;
- width: 240px;
- }
- .Entry-inif-box {
- margin-right: 20px;
- }
- .Entry-li-inif label {
- font-size: 14px;
- color: #606266;
- }
- .Entry-form .redzhu {
- font-size: 14px;
- color: red;
- }
- .sub-boxs {
- -ms-user-select: none;
- -khtml-user-select: none;
- -webkit-user-select: none;
- -moz-user-select: none;
- font-size: 12px;
- font-family: "微软雅黑";
- user-select: none;
- background-color: #FFF;
- background-image: none;
- border-radius: 4px;
- border: 1px solid #DCDFE6;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- color: #606266;
- display: inline-block;
- height: 28px;
- line-height: 28px;
- outline: 0;
- padding: 0 15px;
- -webkit-transition: border-color .2s cubic-bezier(.645, .045, .355, 1);
- transition: border-color .2s cubic-bezier(.645, .045, .355, 1);
- }
- .btn-Entry {
- text-align: right;
- }
- .Entry-all .el-checkbox__inner {
- width: 18px;
- height: 18px;
- margin-right: 10px;
- }
- .Entry-all .el-checkbox__inner::after {
- height: 10px;
- left: 6px;
-
- }
- .Entry-all .el-table th.el-table__cell>.cell {
- text-align: center;
- }
- .Entry-all .el-button+.el-button{
- margin-left: 0px;
- }
- .Entry-all .permissionsbox .el-checkbox-group{
- display: flex;
- flex-wrap: wrap;
- justify-content: space-between;
- }
- .Entry-all .permissionsbox .el-checkbox{
- width: 150px;
- margin-right: 0;
- }
- </style>
|