HotelReservations.vue 122 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355
  1. <template>
  2. <div v-loading.fullscreen.lock="loading">
  3. <div class="hotelr-all">
  4. <div class="hotelr-head">
  5. <div class="hotelr-head-li">
  6. <label>团组名称:</label>
  7. <el-select style="width:220px" @change="delegationSelectChange" v-model="OpHotelReservationsData.diId" clearable filterable
  8. placeholder="请选择">
  9. <el-option v-for="item in delegationInfoList" :key="item.id" :label="item.teamName"
  10. :value="item.id">
  11. </el-option>
  12. </el-select>
  13. </div>
  14. <div class="hotelr-info">
  15. <div class="hotelr-info-li">
  16. <label>团 号:</label>
  17. <span>{{ delegationInfo.tourCode }}</span>
  18. </div>
  19. <div class="hotelr-info-li">
  20. <label>客 户:</label>
  21. <span>{{ delegationInfo.clientName }}</span>
  22. </div>
  23. <div class="hotelr-info-li">
  24. <label>出访国家:</label>
  25. <span>{{ delegationInfo.visitCountry|filter_city }}</span>
  26. </div>
  27. <div class="hotelr-info-li">
  28. <label>起止日期:</label>
  29. <span>{{ delegationInfo.visitStartDate|filter_time }}~{{delegationInfo.visitEndDate|filter_time}}</span>
  30. </div>
  31. <div class="hotelr-info-li">
  32. <label>天数/人数:</label>
  33. <span>{{ delegationInfo.visitDays }}/{{ delegationInfo.visitPNumber }}</span>
  34. </div>
  35. </div>
  36. </div>
  37. <div class="hotelr-table">
  38. <el-table :data="tableDatas.slice((currentPage - 1) * pageSize, currentPage * pageSize)" border
  39. style="width: 100%" v-loading="loading" element-loading-text="拼命加载中...">
  40. <el-table-column type="index" label="序号" width="55">
  41. </el-table-column>
  42. <!-- <el-table-column prop="reservationsNo" label="预定号">
  43. </el-table-column> -->
  44. <el-table-column prop="hotelName" label="酒店名称" width="">
  45. </el-table-column>
  46. <el-table-column prop="checkInDate" label="入住日期" width="120">
  47. </el-table-column>
  48. <el-table-column prop="checkOutDate" label="退房日期" width="120">
  49. </el-table-column>
  50. <el-table-column prop="payMoney" label="付款金额" width="">
  51. <template slot-scope="scope">
  52. {{ scope.row.payMoney.toFixed(2) }} ({{ scope.row.payCurrency }})
  53. </template>
  54. </el-table-column>
  55. <el-table-column prop="createUserName" label="操作人" width="90">
  56. </el-table-column>
  57. <el-table-column prop="createTime" label="操作时间" width="180">
  58. </el-table-column>
  59. <el-table-column prop="isAuditGMStr" label="是否审核" width="85">
  60. </el-table-column>
  61. <el-table-column prop="name" label="操 作" width="140">
  62. <template slot-scope="scope">
  63. <el-button type="primary" size="mini" icon="el-icon-edit"
  64. @click="PostHotelReservationsDetails(scope.$index, scope.row)"></el-button>
  65. <el-button type="danger" size="mini" icon="el-icon-delete"
  66. @click="delinif(scope.$index, scope.row)"></el-button>
  67. </template>
  68. </el-table-column>
  69. <!-- <el-table-column prop="address" label="VOUCHER" width="100">
  70. <template slot-scope="scope">
  71. <i @click="DownloadVOUCHER(scope.$index, scope.row)">生成</i>
  72. </template>
  73. </el-table-column> -->
  74. </el-table>
  75. <div class="block">
  76. <el-pagination align='center' @size-change="handleSizeChange" @current-change="handleCurrentChange"
  77. :current-page="currentPage" :page-sizes="[3, 5, 7, 9]" :page-size="pageSize"
  78. layout="total, sizes, prev, pager, next" :total="tableDatas.length">
  79. </el-pagination>
  80. </div>
  81. </div>
  82. <div class="hotelr-form">
  83. <div class="form-head">
  84. <el-popover placement="right" trigger="hover">
  85. <div>币种:{{bizhong}}&nbsp;&nbsp;&nbsp;汇率:{{fournum(huilv)}}</div>
  86. <el-table :data="budgeting" border>
  87. <el-table-column width="50" property="day" label="天数"></el-table-column>
  88. <el-table-column width="100" property="date" label="日期"></el-table-column>
  89. <el-table-column width="300" property="accon" label="酒店名称"></el-table-column>
  90. <el-table-column width="300" property="itin" label="行程描述"></el-table-column>
  91. <el-table-column width="110" property="sgr" label="单人间(SGR)"></el-table-column>
  92. <el-table-column width="100" property="tbr" label="双人(TBR)"></el-table-column>
  93. <el-table-column width="100" property="jS_ES" label="套间(JS_ES)"></el-table-column>
  94. <el-table-column width="115" label="套房(SUITE)">
  95. <template slot-scope="scope">
  96. {{ townum(scope.row.suite) }}
  97. </template>
  98. </el-table-column>
  99. </el-table>
  100. <el-button slot="reference">移上提示每天详细房价</el-button>
  101. </el-popover>
  102. <div class="form-head-btn">
  103. <el-button type="primary" @click="DownloadVOUCHER">VOUCHER</el-button>
  104. <el-button type="primary" @click="ConfirmWord">确认单</el-button>
  105. <el-button type="primary" @click="BookingCost">预订成本</el-button>
  106. <el-button type="primary" @click="AddToggle">新增切换</el-button>
  107. <el-button type="primary" @click="AddBtn('RequiredParameters')">保存设置</el-button>
  108. </div>
  109. </div>
  110. <el-form :model="RequiredParameters" :rules="RequiredParametersRules"
  111. ref="RequiredParameters" label-width="110px" class="demo-OpHotelReservationsData">
  112. <div class="form-foundationone select-bz">
  113. <div style="display: flex;flex-wrap: wrap;">
  114. <el-form-item style="width:395px ;" label="客人类型" prop="TypeGuest">
  115. <el-select size="medium" v-model="RequiredParameters.TypeGuest" placeholder="请选择客人类型">
  116. <el-option v-for="item in guestType" :key="item.id" :label="item.name" :value="item.id">
  117. </el-option>
  118. </el-select>
  119. </el-form-item>
  120. <!-- <el-form-item style="width:395px ;" label="银行卡" prop="BankCards">
  121. <el-select size="medium" value-key="value" v-model="RequiredParameters.BankCards"
  122. placeholder="银支付信用卡行卡" @change="budgetCurrencyChange" >
  123. <el-option v-for="item in bankCard" :key="item.id" :label="item.name"
  124. :value="item.id">
  125. </el-option>
  126. </el-select>
  127. </el-form-item>
  128. <el-form-item label="当前团组汇率" >
  129. <span>{{ RequiredParameters.CurrentRate*1?RequiredParameters.CurrentRate.toFixed(4):RequiredParameters.CurrentRate}}</span>
  130. </el-form-item> -->
  131. <el-form-item style="width:395px ;" label="入住卷号码" prop="VoucherNumber">
  132. <el-input size="medium" type="text"
  133. v-model="RequiredParameters.VoucherNumber"></el-input>
  134. </el-form-item>
  135. <el-form-item style="width:395px ;" label="预订网站" prop="BookingWeb">
  136. <el-select size="medium" v-model="RequiredParameters.BookingWeb"
  137. placeholder="预订网站">
  138. <el-option v-for="item in bookingWebsite" :key="item.id" :label="item.name"
  139. :value="item.id">
  140. </el-option>
  141. </el-select>
  142. </el-form-item>
  143. <!-- <el-form-item style="width:790px ;" label="预订号码" prop="ReservationNumber">
  144. <el-input :rows="1" type="textarea" v-model="RequiredParameters.ReservationNumber"></el-input>
  145. </el-form-item> -->
  146. <el-form-item style="width:395px ;" label="酒店确定号码" prop="DetermineNumber">
  147. <el-input size="medium" type="text"
  148. v-model="RequiredParameters.DetermineNumber"></el-input>
  149. </el-form-item>
  150. <el-form-item style="width:395px ;" label="所在城市" prop="LocationCity">
  151. <el-input size="medium" type="text" v-model="RequiredParameters.LocationCity"></el-input>
  152. </el-form-item>
  153. <el-form-item style="width:395px ;" label="酒店名称" prop="HotelName">
  154. <el-input size="medium" type="text" v-model="RequiredParameters.HotelName"></el-input>
  155. </el-form-item>
  156. <el-form-item style="width:395px ;" label="酒店电话" prop="HotelPhone">
  157. <el-input size="medium" type="text" v-model="RequiredParameters.HotelPhone"></el-input>
  158. </el-form-item>
  159. </div>
  160. <el-form-item label="酒店地址" prop="HotelAddress">
  161. <el-input :rows="1" type="textarea" v-model="RequiredParameters.HotelAddress"></el-input>
  162. </el-form-item>
  163. <el-form-item label="客人姓名" prop="GuestName">
  164. <el-select
  165. size="medium"
  166. style="width: 100%;"
  167. v-model="RequiredParameters.GuestName"
  168. multiple
  169. filterable
  170. allow-create
  171. default-first-option
  172. @change="selectchg"
  173. placeholder="请选择人员">
  174. <el-option
  175. v-for="item in GuestNamelist"
  176. :key="item.id"
  177. :label="item.lastName+item.firstName"
  178. :value="item.id">
  179. </el-option>
  180. </el-select>
  181. <!-- <el-input :rows="1" type="textarea" v-model="RequiredParameters.GuestName"></el-input> -->
  182. </el-form-item>
  183. <div class="remcss" style="display: flex;flex-wrap: wrap;">
  184. <el-form-item prop="OnTime" style="width:395px ;" label="入住时间" required>
  185. <el-date-picker @change="CalculateAmount" size="medium" type="date" placeholder="选择日期"
  186. v-model="RequiredParameters.OnTime" style="width: 100%;"></el-date-picker>
  187. </el-form-item>
  188. <el-form-item style="width:395px ;" label="离店时间" prop="OutTime">
  189. <el-date-picker @change="CalculateAmount" size="medium" type="date" placeholder="选择时间"
  190. v-model="RequiredParameters.OutTime" style="width: 100%;"></el-date-picker>
  191. </el-form-item>
  192. <el-form-item style="width:395px ;" label="入住类型" prop="TypeStay">
  193. <el-select style="width: 100%;" size="medium" v-model="RequiredParameters.TypeStay"
  194. placeholder="请选择入住人类型">
  195. <el-option v-for="item in CheckType" :key="item.id" :label="item.name"
  196. :value="item.id">
  197. </el-option>
  198. </el-select>
  199. </el-form-item>
  200. </div>
  201. <el-form-item label="房间说明" prop="RoomExplain">
  202. <el-input :rows="1" type="textarea" v-model="RequiredParameters.RoomExplain"></el-input>
  203. </el-form-item>
  204. <el-form-item label="备注">
  205. <el-input :rows="3" type="textarea" v-model="RequiredParameters.Remark"></el-input>
  206. </el-form-item>
  207. </div>
  208. <div class="form-foundationone">
  209. <div class="Exchangerate-box">
  210. <div v-for="(item,index) in currencyarrss" :key="index">
  211. {{item.currencyCode}}:&nbsp;{{item.rate}}
  212. </div>
  213. </div>
  214. <div style="display: flex;flex-wrap: wrap;">
  215. <el-form-item style="width:395px ;" label="酒店单间">
  216. <el-input-number :controls="false" @change="CalculateAmount" style="width:50px ;" size="medium"
  217. v-model="TwoParameters.singleroomsNum"></el-input-number>
  218. <span>间</span>
  219. <el-input-number @change="CalculateAmount" class="fjprice" style="width:80px;" :precision="2" :controls="false" size="medium" v-model="TwoParameters.singleroomsPrice">
  220. </el-input-number>
  221. <span>单价</span>
  222. <el-select size="medium" filterable @change="selectroomCurrency" v-model="TwoParameters.singleroomsCurrency"
  223. style="width: 80px;" placeholder="">
  224. <el-option v-for="item in currencyList" :key="item.currencyId" :label="item.currencyCode"
  225. :value="item.currencyId">
  226. </el-option>
  227. </el-select>
  228. </el-form-item>
  229. <el-form-item style="width:395px ;" label="酒店双间">
  230. <el-input-number :controls="false" @change="CalculateAmount" style="width:50px ;" size="medium"
  231. v-model="TwoParameters.doubleroomNum"></el-input-number>
  232. <span>间</span>
  233. <el-input-number @change="CalculateAmount" class="fjprice" style="width:80px;" :precision="2" size="medium" :controls="false" v-model="TwoParameters.doubleroomPrice">
  234. </el-input-number>
  235. <!-- <el-input style="width:80px ;" size="medium"
  236. v-model="TwoParameters.doubleroomPrice"></el-input> -->
  237. <span>单价</span>
  238. <el-select size="medium" filterable @change="selectroomCurrency" v-model="TwoParameters.doubleroomCurrency"
  239. style="width: 80px;" placeholder="">
  240. <el-option v-for="item in currencyList" :key="item.currencyId" :label="item.currencyCode"
  241. :value="item.currencyId">
  242. </el-option>
  243. </el-select>
  244. </el-form-item>
  245. <el-form-item style="width:395px ;" label="酒店套房">
  246. <el-input-number :controls="false" @change="CalculateAmount" style="width:50px ;" size="medium"
  247. v-model="TwoParameters.suiteNum"></el-input-number>
  248. <span>间</span>
  249. <el-input-number @change="CalculateAmount" class="fjprice" style="width:80px;" :precision="2" size="medium" :controls="false" v-model="TwoParameters.suitePrice">
  250. </el-input-number>
  251. <!-- <el-input style="width:80px ;" size="medium"
  252. v-model="TwoParameters.suitePrice"></el-input> -->
  253. <span>单价</span>
  254. <el-select size="medium" filterable @change="selectroomCurrency" v-model="TwoParameters.suiteCurrency"
  255. style="width: 80px;" placeholder="">
  256. <el-option v-for="item in currencyList" :key="item.currencyId" :label="item.currencyCode"
  257. :value="item.currencyId">
  258. </el-option>
  259. </el-select>
  260. </el-form-item>
  261. <el-form-item style="width:395px ;" label="其他房型">
  262. <el-input-number :controls="false" @change="CalculateAmount" style="width:50px ;" size="medium"
  263. v-model="TwoParameters.otherroomNum"></el-input-number>
  264. <span>间</span>
  265. <el-input-number @change="CalculateAmount" class="fjprice" style="width:80px;" :precision="2" size="medium" :controls="false" v-model="TwoParameters.otherroomPrice">
  266. </el-input-number>
  267. <!-- <el-input style="width:80px ;" size="medium"
  268. v-model="TwoParameters.otherroomPrice"></el-input> -->
  269. <span>单价</span>
  270. <el-select size="medium" filterable @change="selectroomCurrency" v-model="TwoParameters.otherroomCurrency"
  271. style="width: 80px;" placeholder="">
  272. <el-option v-for="item in currencyList" :key="item.currencyId" :label="item.currencyCode"
  273. :value="item.currencyId">
  274. </el-option>
  275. </el-select>
  276. </el-form-item>
  277. <el-form-item style="width:395px;" label="酒店房费">
  278. <el-input-number class="fjprice" style="width: 50%;" :precision="2" size="medium" :controls="false" v-model="TwoParameters.amount"></el-input-number>
  279. <!-- <el-input size="medium" type="text" v-model="TwoParameters.amount" style="width: 50%;" @change="bankCardPriceChange"></el-input> -->
  280. <el-input disabled size="medium" type="text" v-model="TwoParameters.credit" style="width: 43%;"></el-input>
  281. </el-form-item>
  282. <el-form-item style="width:395px ;" label="房费地接代付">
  283. <el-switch @change="Payforselection(roomtaxobj.priceType,roomtaxobj.isOppay)" v-model="roomtaxobj.isOppay"></el-switch>
  284. </el-form-item>
  285. <div style="width: 395px;">
  286. <el-form-item label="支付方式:" label-width="110px">
  287. <el-select v-model="roomtaxobj.payDId" placeholder="支付方式"
  288. style="width: 100%;">
  289. <el-option v-for="item in payment" :key="item.id" :label="item.name"
  290. :value="item.id">
  291. </el-option>
  292. </el-select>
  293. </el-form-item>
  294. </div>
  295. <div style="width: 395px;">
  296. <el-form-item label="消费方式:" label-width="110px">
  297. <el-input placeholder="消费方式" v-model="roomtaxobj.consumptionPatterns">
  298. </el-input>
  299. </el-form-item>
  300. </div>
  301. <div style="width: 395px;">
  302. <el-form-item label="消费日期:" label-width="110px">
  303. <el-date-picker v-model="roomtaxobj.consumptionDate" consumptionDate="消费日期"
  304. type="date" style="width: 100%;">
  305. </el-date-picker>
  306. </el-form-item>
  307. </div>
  308. <div v-if="roomtaxobj.payDId == 72" style="width: 395px;">
  309. <el-form-item label="卡类型:" label-width="110px">
  310. <el-select v-model="roomtaxobj.ctdId" placeholder="卡类型"
  311. style="width: 100%;" @change="changecardtype">
  312. <el-option v-for="item in bankCard" :key="item.id" :label="item.name"
  313. :value="item.id">
  314. </el-option>
  315. </el-select>
  316. </el-form-item>
  317. </div>
  318. <div v-if="roomtaxobj.payDId == 72" style="width: 395px;">
  319. <el-form-item label="银行卡号:" label-width="110px">
  320. <el-input placeholder="银行卡号" v-model="roomtaxobj.bankNo"
  321. :disabled="true">
  322. </el-input>
  323. </el-form-item>
  324. </div>
  325. <div v-if="roomtaxobj.payDId == 72" style="width: 395px;">
  326. <el-form-item label="持卡人姓名:" label-width="110px">
  327. <el-input placeholder="持卡人姓名" v-model="roomtaxobj.cardholderName"
  328. :disabled="true">
  329. </el-input>
  330. </el-form-item>
  331. </div>
  332. <div v-if="roomtaxobj.payDId == 73" style="width: 395px;">
  333. <el-form-item label="公司银行账号:" label-width="110px">
  334. <el-input placeholder="公司银行账号" v-model="roomtaxobj.companyBankNo">
  335. </el-input>
  336. </el-form-item>
  337. </div>
  338. <div v-if="roomtaxobj.payDId == 73" style="width: 395px;">
  339. <el-form-item label="对方开户行:" label-width="110px">
  340. <el-input placeholder="对方开户行:" v-model="roomtaxobj.otherBankName">
  341. </el-input>
  342. </el-form-item>
  343. </div>
  344. <div v-if="roomtaxobj.payDId == 73" style="width: 395px;">
  345. <el-form-item label="对方银行卡号:" label-width="110px">
  346. <el-input placeholder="对方银行卡号" v-model="roomtaxobj.otherSideNo">
  347. </el-input>
  348. </el-form-item>
  349. </div>
  350. <div v-if="roomtaxobj.payDId == 73" style="width: 395px;">
  351. <el-form-item label="对方姓名:" label-width="110px">
  352. <el-input placeholder="对方姓名" v-model="roomtaxobj.otherSideName">
  353. </el-input>
  354. </el-form-item>
  355. </div>
  356. <div v-if="roomtaxobj.payDId == 83||roomtaxobj.payDId == 1067||roomtaxobj.payDId == 1068" style="width: 395px;">
  357. <el-form-item label="对方开户行:" label-width="110px">
  358. <el-input placeholder="对方开户行" v-model="roomtaxobj.otherBankName">
  359. </el-input>
  360. </el-form-item>
  361. </div>
  362. <div v-if="roomtaxobj.payDId == 83||roomtaxobj.payDId == 1067||roomtaxobj.payDId == 1068" style="width: 395px;">
  363. <el-form-item label="对方银行卡号:" label-width="110px">
  364. <el-input placeholder="对方银行卡号" v-model="roomtaxobj.otherSideNo">
  365. </el-input>
  366. </el-form-item>
  367. </div>
  368. <div v-if="roomtaxobj.payDId == 83||roomtaxobj.payDId == 1067||roomtaxobj.payDId == 1068" style="width: 395px;">
  369. <el-form-item label="对方姓名:" label-width="110px">
  370. <el-input placeholder="对方姓名" v-model="roomtaxobj.otherSideName">
  371. </el-input>
  372. </el-form-item>
  373. </div>
  374. <div style="width: 395px;">
  375. <el-form-item label="收款方:" label-width="110px">
  376. <el-input placeholder="收款方" v-model="roomtaxobj.payee">
  377. </el-input>
  378. </el-form-item>
  379. </div>
  380. <div style="width: 395px;">
  381. <el-form-item label="费用标识:" label-width="110px">
  382. <el-select v-model="roomtaxobj.orbitalPrivateTransfer" placeholder="费用标识"
  383. style="width: 100%;">
  384. <el-option key="-1" label="未选择" :value=-1>
  385. </el-option>
  386. <el-option key="0" label="公转" :value=0>
  387. </el-option>
  388. <el-option key="1" label="私转" :value=1>
  389. </el-option>
  390. </el-select>
  391. </el-form-item>
  392. </div>
  393. </div>
  394. <div class="payment-detail" style="display: flex;flex-wrap: wrap;">
  395. <el-form-item style="width:395px ;" label="城市税">
  396. <el-input-number :controls="false" :precision="2" style="width:50% ;" size="medium"
  397. v-model="TwoParameters.CitytaxPrice" @change="AmountPayment"></el-input-number>
  398. <el-select style="width:43% ;" size="medium"
  399. v-model="TwoParameters.CitytaxCurrency" placeholder="请选择" clearable filterable
  400. @change="AmountPayment">
  401. <el-option v-for="item in currencyList" :key="item.currencyId" :label="item.currencyCode"
  402. :value="item.currencyId">
  403. </el-option>
  404. </el-select>
  405. </el-form-item>
  406. <el-form-item style="width:395px ;" label="城市税地接代付">
  407. <el-switch @change="Payforselection(Citytaxobj.priceType,Citytaxobj.isOppay)" v-model="Citytaxobj.isOppay"></el-switch>
  408. </el-form-item>
  409. <div style="width: 395px;">
  410. <el-form-item label="支付方式:" label-width="110px">
  411. <el-select v-model="Citytaxobj.payDId" placeholder="支付方式"
  412. style="width: 100%;">
  413. <el-option v-for="item in payment" :key="item.id" :label="item.name"
  414. :value="item.id">
  415. </el-option>
  416. </el-select>
  417. </el-form-item>
  418. </div>
  419. <div style="width: 395px;">
  420. <el-form-item label="消费方式:" label-width="110px">
  421. <el-input placeholder="消费方式" v-model="Citytaxobj.consumptionPatterns">
  422. </el-input>
  423. </el-form-item>
  424. </div>
  425. <div style="width: 395px;">
  426. <el-form-item label="消费日期:" label-width="110px">
  427. <el-date-picker v-model="Citytaxobj.consumptionDate" placeholder="消费日期"
  428. type="date" style="width: 100%;">
  429. </el-date-picker>
  430. </el-form-item>
  431. </div>
  432. <div v-if="Citytaxobj.payDId == 72" style="width: 395px;">
  433. <el-form-item label="卡类型:" label-width="110px">
  434. <el-select v-model="Citytaxobj.ctdId" placeholder="卡类型"
  435. style="width: 100%;" @change="citychangecardtype">
  436. <el-option v-for="item in bankCard" :key="item.id" :label="item.name"
  437. :value="item.id">
  438. </el-option>
  439. </el-select>
  440. </el-form-item>
  441. </div>
  442. <div v-if="Citytaxobj.payDId == 72" style="width: 395px;">
  443. <el-form-item label="银行卡号:" label-width="110px">
  444. <el-input placeholder="银行卡号" v-model="Citytaxobj.bankNo"
  445. :disabled="true">
  446. </el-input>
  447. </el-form-item>
  448. </div>
  449. <div v-if="Citytaxobj.payDId == 72" style="width: 395px;">
  450. <el-form-item label="持卡人姓名:" label-width="110px">
  451. <el-input placeholder="持卡人姓名" v-model="Citytaxobj.cardholderName"
  452. :disabled="true">
  453. </el-input>
  454. </el-form-item>
  455. </div>
  456. <div v-if="Citytaxobj.payDId == 73" style="width: 395px;">
  457. <el-form-item label="公司银行账号:" label-width="110px">
  458. <el-input placeholder="公司银行账号" v-model="Citytaxobj.companyBankNo">
  459. </el-input>
  460. </el-form-item>
  461. </div>
  462. <div v-if="Citytaxobj.payDId == 73" style="width: 395px;">
  463. <el-form-item label="对方开户行:" label-width="110px">
  464. <el-input placeholder="对方开户行:" v-model="Citytaxobj.otherBankName">
  465. </el-input>
  466. </el-form-item>
  467. </div>
  468. <div v-if="Citytaxobj.payDId == 73" style="width: 395px;">
  469. <el-form-item label="对方银行卡号:" label-width="110px">
  470. <el-input placeholder="对方银行卡号" v-model="Citytaxobj.otherSideNo">
  471. </el-input>
  472. </el-form-item>
  473. </div>
  474. <div v-if="Citytaxobj.payDId == 73" style="width: 395px;">
  475. <el-form-item label="对方姓名:" label-width="110px">
  476. <el-input placeholder="对方姓名" v-model="Citytaxobj.otherSideName">
  477. </el-input>
  478. </el-form-item>
  479. </div>
  480. <div v-if="Citytaxobj.payDId == 83||Citytaxobj.payDId == 1067||Citytaxobj.payDId == 1068" style="width: 395px;">
  481. <el-form-item label="对方开户行:" label-width="110px">
  482. <el-input placeholder="对方开户行" v-model="Citytaxobj.otherBankName">
  483. </el-input>
  484. </el-form-item>
  485. </div>
  486. <div v-if="Citytaxobj.payDId == 83||Citytaxobj.payDId == 1067||Citytaxobj.payDId == 1068" style="width: 395px;">
  487. <el-form-item label="对方银行卡号:" label-width="110px">
  488. <el-input placeholder="对方银行卡号" v-model="Citytaxobj.otherSideNo">
  489. </el-input>
  490. </el-form-item>
  491. </div>
  492. <div v-if="Citytaxobj.payDId == 83||Citytaxobj.payDId == 1067||Citytaxobj.payDId == 1068" style="width: 395px;">
  493. <el-form-item label="对方姓名:" label-width="110px">
  494. <el-input placeholder="对方姓名" v-model="Citytaxobj.otherSideName">
  495. </el-input>
  496. </el-form-item>
  497. </div>
  498. <div style="width: 395px;">
  499. <el-form-item label="收款方:" label-width="110px">
  500. <el-input placeholder="收款方" v-model="Citytaxobj.payee">
  501. </el-input>
  502. </el-form-item>
  503. </div>
  504. <div style="width: 395px;">
  505. <el-form-item label="费用标识:" label-width="110px">
  506. <el-select v-model="Citytaxobj.orbitalPrivateTransfer" placeholder="费用标识"
  507. style="width: 100%;">
  508. <el-option key="-1" label="未选择" :value=-1>
  509. </el-option>
  510. <el-option key="0" label="公转" :value=0>
  511. </el-option>
  512. <el-option key="1" label="私转" :value=1>
  513. </el-option>
  514. </el-select>
  515. </el-form-item>
  516. </div>
  517. </div>
  518. <div class="payment-detail" style="display: flex;flex-wrap: wrap;">
  519. <el-form-item style="width:395px ;" label="地税">
  520. <el-input-number :controls="false" :precision="2" style="width:50% ;" size="medium"
  521. v-model="TwoParameters.RentPrice"
  522. @change="AmountPayment"></el-input-number>
  523. <el-select style="width:43% ;" size="medium"
  524. v-model="TwoParameters.RentCurrency" placeholder="请选择" clearable
  525. filterable @change="AmountPayment">
  526. <el-option v-for="item in currencyList" :key="item.currencyId" :label="item.currencyCode"
  527. :value="item.currencyId">
  528. </el-option>
  529. </el-select>
  530. </el-form-item>
  531. <el-form-item style="width:395px ;" label="地税地接代付">
  532. <el-switch @change="Payforselection(landtaxobj.priceType,landtaxobj.isOppay)" v-model="landtaxobj.isOppay"></el-switch>
  533. </el-form-item>
  534. <div style="width: 395px;">
  535. <el-form-item label="支付方式:" label-width="110px">
  536. <el-select v-model="landtaxobj.payDId" placeholder="支付方式"
  537. style="width: 100%;">
  538. <el-option v-for="item in payment" :key="item.id" :label="item.name"
  539. :value="item.id">
  540. </el-option>
  541. </el-select>
  542. </el-form-item>
  543. </div>
  544. <div style="width: 395px;">
  545. <el-form-item label="消费方式:" label-width="110px">
  546. <el-input placeholder="消费方式" v-model="landtaxobj.consumptionPatterns">
  547. </el-input>
  548. </el-form-item>
  549. </div>
  550. <div style="width: 395px;">
  551. <el-form-item label="消费日期:" label-width="110px">
  552. <el-date-picker v-model="landtaxobj.consumptionDate" placeholder="消费日期"
  553. type="date" style="width: 100%;">
  554. </el-date-picker>
  555. </el-form-item>
  556. </div>
  557. <div v-if="landtaxobj.payDId == 72" style="width: 395px;">
  558. <el-form-item label="卡类型:" label-width="110px">
  559. <el-select v-model="landtaxobj.ctdId" placeholder="卡类型"
  560. style="width: 100%;" @change="landchangecardtype">
  561. <el-option v-for="item in bankCard" :key="item.id" :label="item.name"
  562. :value="item.id">
  563. </el-option>
  564. </el-select>
  565. </el-form-item>
  566. </div>
  567. <div v-if="landtaxobj.payDId == 72" style="width: 395px;">
  568. <el-form-item label="银行卡号:" label-width="110px">
  569. <el-input placeholder="银行卡号" v-model="landtaxobj.bankNo"
  570. :disabled="true">
  571. </el-input>
  572. </el-form-item>
  573. </div>
  574. <div v-if="landtaxobj.payDId == 72" style="width: 395px;">
  575. <el-form-item label="持卡人姓名:" label-width="110px">
  576. <el-input placeholder="持卡人姓名" v-model="landtaxobj.cardholderName"
  577. :disabled="true">
  578. </el-input>
  579. </el-form-item>
  580. </div>
  581. <div v-if="landtaxobj.payDId == 73" style="width: 395px;">
  582. <el-form-item label="公司银行账号:" label-width="110px">
  583. <el-input placeholder="公司银行账号" v-model="landtaxobj.companyBankNo">
  584. </el-input>
  585. </el-form-item>
  586. </div>
  587. <div v-if="landtaxobj.payDId == 73" style="width: 395px;">
  588. <el-form-item label="对方开户行:" label-width="110px">
  589. <el-input placeholder="对方开户行:" v-model="landtaxobj.otherBankName">
  590. </el-input>
  591. </el-form-item>
  592. </div>
  593. <div v-if="landtaxobj.payDId == 73" style="width: 395px;">
  594. <el-form-item label="对方银行卡号:" label-width="110px">
  595. <el-input placeholder="对方银行卡号" v-model="landtaxobj.otherSideNo">
  596. </el-input>
  597. </el-form-item>
  598. </div>
  599. <div v-if="landtaxobj.payDId == 73" style="width: 395px;">
  600. <el-form-item label="对方姓名:" label-width="110px">
  601. <el-input placeholder="对方姓名" v-model="landtaxobj.otherSideName">
  602. </el-input>
  603. </el-form-item>
  604. </div>
  605. <div v-if="landtaxobj.payDId == 83||landtaxobj.payDId == 1067||landtaxobj.payDId == 1068" style="width: 395px;">
  606. <el-form-item label="对方开户行:" label-width="110px">
  607. <el-input placeholder="对方开户行" v-model="landtaxobj.otherBankName">
  608. </el-input>
  609. </el-form-item>
  610. </div>
  611. <div v-if="landtaxobj.payDId == 83||landtaxobj.payDId == 1067||landtaxobj.payDId == 1068" style="width: 395px;">
  612. <el-form-item label="对方银行卡号:" label-width="110px">
  613. <el-input placeholder="对方银行卡号" v-model="landtaxobj.otherSideNo">
  614. </el-input>
  615. </el-form-item>
  616. </div>
  617. <div v-if="landtaxobj.payDId == 83||landtaxobj.payDId == 1067||landtaxobj.payDId == 1068" style="width: 395px;">
  618. <el-form-item label="对方姓名:" label-width="110px">
  619. <el-input placeholder="对方姓名" v-model="landtaxobj.otherSideName">
  620. </el-input>
  621. </el-form-item>
  622. </div>
  623. <div style="width: 395px;">
  624. <el-form-item label="收款方:" label-width="110px">
  625. <el-input placeholder="收款方" v-model="landtaxobj.payee">
  626. </el-input>
  627. </el-form-item>
  628. </div>
  629. <div style="width: 395px;">
  630. <el-form-item label="费用标识:" label-width="110px">
  631. <el-select v-model="landtaxobj.orbitalPrivateTransfer" placeholder="费用标识"
  632. style="width: 100%;">
  633. <el-option key="-1" label="未选择" :value=-1>
  634. </el-option>
  635. <el-option key="0" label="公转" :value=0>
  636. </el-option>
  637. <el-option key="1" label="私转" :value=1>
  638. </el-option>
  639. </el-select>
  640. </el-form-item>
  641. </div>
  642. </div>
  643. <div class="payment-detail" style="display: flex;flex-wrap: wrap;">
  644. <el-form-item style="width:395px ;" label="酒店早餐">
  645. <el-input-number :controls="false" :precision="2" style="width:50% ;" size="medium"
  646. v-model="TwoParameters.breakfastPrice"
  647. @change="AmountPayment"></el-input-number>
  648. <el-select style="width:43% ;" size="medium"
  649. v-model="TwoParameters.breakfastCurrency" placeholder="请选择" clearable
  650. filterable @change="AmountPayment">
  651. <el-option v-for="item in currencyList" :key="item.currencyId" :label="item.currencyCode"
  652. :value="item.currencyId">
  653. </el-option>
  654. </el-select>
  655. </el-form-item>
  656. <el-form-item style="width:395px ;" label="早餐地接代付">
  657. <el-switch @change="Payforselection(Hotelbreakfastobj.priceType,Hotelbreakfastobj.isOppay)" v-model="Hotelbreakfastobj.isOppay"></el-switch>
  658. </el-form-item>
  659. <div style="width: 395px;">
  660. <el-form-item label="支付方式:" label-width="110px">
  661. <el-select v-model="Hotelbreakfastobj.payDId" placeholder="支付方式"
  662. style="width: 100%;">
  663. <el-option v-for="item in payment" :key="item.id" :label="item.name"
  664. :value="item.id">
  665. </el-option>
  666. </el-select>
  667. </el-form-item>
  668. </div>
  669. <div style="width: 395px;">
  670. <el-form-item label="消费方式:" label-width="110px">
  671. <el-input placeholder="消费方式" v-model="Hotelbreakfastobj.consumptionPatterns">
  672. </el-input>
  673. </el-form-item>
  674. </div>
  675. <div style="width: 395px;">
  676. <el-form-item label="消费日期:" label-width="110px">
  677. <el-date-picker v-model="Hotelbreakfastobj.consumptionDate" placeholder="消费日期"
  678. type="date" style="width: 100%;">
  679. </el-date-picker>
  680. </el-form-item>
  681. </div>
  682. <div v-if="Hotelbreakfastobj.payDId == 72" style="width: 395px;">
  683. <el-form-item label="卡类型:" label-width="110px">
  684. <el-select v-model="Hotelbreakfastobj.ctdId" placeholder="卡类型"
  685. style="width: 100%;" @change="Hotelchangecardtype">
  686. <el-option v-for="item in bankCard" :key="item.id" :label="item.name"
  687. :value="item.id">
  688. </el-option>
  689. </el-select>
  690. </el-form-item>
  691. </div>
  692. <div v-if="Hotelbreakfastobj.payDId == 72" style="width: 395px;">
  693. <el-form-item label="银行卡号:" label-width="110px">
  694. <el-input placeholder="银行卡号" v-model="Hotelbreakfastobj.bankNo"
  695. :disabled="true">
  696. </el-input>
  697. </el-form-item>
  698. </div>
  699. <div v-if="Hotelbreakfastobj.payDId == 72" style="width: 395px;">
  700. <el-form-item label="持卡人姓名:" label-width="110px">
  701. <el-input placeholder="持卡人姓名" v-model="Hotelbreakfastobj.cardholderName"
  702. :disabled="true">
  703. </el-input>
  704. </el-form-item>
  705. </div>
  706. <div v-if="Hotelbreakfastobj.payDId == 73" style="width: 395px;">
  707. <el-form-item label="公司银行账号:" label-width="110px">
  708. <el-input placeholder="公司银行账号" v-model="Hotelbreakfastobj.companyBankNo">
  709. </el-input>
  710. </el-form-item>
  711. </div>
  712. <div v-if="Hotelbreakfastobj.payDId == 73" style="width: 395px;">
  713. <el-form-item label="对方开户行:" label-width="110px">
  714. <el-input placeholder="对方开户行:" v-model="Hotelbreakfastobj.otherBankName">
  715. </el-input>
  716. </el-form-item>
  717. </div>
  718. <div v-if="Hotelbreakfastobj.payDId == 73" style="width: 395px;">
  719. <el-form-item label="对方银行卡号:" label-width="110px">
  720. <el-input placeholder="对方银行卡号" v-model="Hotelbreakfastobj.otherSideNo">
  721. </el-input>
  722. </el-form-item>
  723. </div>
  724. <div v-if="Hotelbreakfastobj.payDId == 73" style="width: 395px;">
  725. <el-form-item label="对方姓名:" label-width="110px">
  726. <el-input placeholder="对方姓名" v-model="Hotelbreakfastobj.otherSideName">
  727. </el-input>
  728. </el-form-item>
  729. </div>
  730. <div v-if="Hotelbreakfastobj.payDId == 83||Hotelbreakfastobj.payDId == 1067||Hotelbreakfastobj.payDId == 1068" style="width: 395px;">
  731. <el-form-item label="对方开户行:" label-width="110px">
  732. <el-input placeholder="对方开户行" v-model="Hotelbreakfastobj.otherBankName">
  733. </el-input>
  734. </el-form-item>
  735. </div>
  736. <div v-if="Hotelbreakfastobj.payDId == 83||Hotelbreakfastobj.payDId == 1067||Hotelbreakfastobj.payDId == 1068" style="width: 395px;">
  737. <el-form-item label="对方银行卡号:" label-width="110px">
  738. <el-input placeholder="对方银行卡号" v-model="Hotelbreakfastobj.otherSideNo">
  739. </el-input>
  740. </el-form-item>
  741. </div>
  742. <div v-if="Hotelbreakfastobj.payDId == 83||Hotelbreakfastobj.payDId == 1067||Hotelbreakfastobj.payDId == 1068" style="width: 395px;">
  743. <el-form-item label="对方姓名:" label-width="110px">
  744. <el-input placeholder="对方姓名" v-model="Hotelbreakfastobj.otherSideName">
  745. </el-input>
  746. </el-form-item>
  747. </div>
  748. <div style="width: 395px;">
  749. <el-form-item label="收款方:" label-width="110px">
  750. <el-input placeholder="收款方" v-model="Hotelbreakfastobj.payee">
  751. </el-input>
  752. </el-form-item>
  753. </div>
  754. <div style="width: 395px;">
  755. <el-form-item label="费用标识:" label-width="110px">
  756. <el-select v-model="Hotelbreakfastobj.orbitalPrivateTransfer" placeholder="费用标识"
  757. style="width: 100%;">
  758. <el-option key="-1" label="未选择" :value=-1>
  759. </el-option>
  760. <el-option key="0" label="公转" :value=0>
  761. </el-option>
  762. <el-option key="1" label="私转" :value=1>
  763. </el-option>
  764. </el-select>
  765. </el-form-item>
  766. </div>
  767. </div>
  768. <div class="payment-detail" style="display: flex;flex-wrap: wrap;">
  769. <div style="width: 395px;">
  770. <el-form-item label="付款金额:" label-width="110px">
  771. <el-input disabled placeholder="付款金额" v-model="Paymentinfor.paymentAmount"
  772. style="width: 52%;">
  773. </el-input>
  774. <el-select disabled v-model="Paymentinfor.paymentCurrency" style="width: 45%;"
  775. filterable>
  776. <el-option v-for="item in currencyList" :key="item.currencyId" :label="item.currencyCode"
  777. :value="item.currencyId">
  778. </el-option>
  779. </el-select>
  780. </el-form-item>
  781. </div>
  782. </div>
  783. <!-- <div v-if="Paymentinfor.paymentMethods == 72">
  784. <div style="display: flex;flex-wrap: wrap;">
  785. </div>
  786. </div> -->
  787. <!-- <div v-else-if="Paymentinfor.paymentMethods == 73">
  788. <div style="display: flex;flex-wrap: wrap;">
  789. </div>
  790. </div> -->
  791. <!-- <div v-else-if="Paymentinfor.paymentMethods == 83||Paymentinfor.paymentMethods == 1067||Paymentinfor.paymentMethods == 1068">
  792. <div style="display: flex;flex-wrap: wrap;">
  793. </div>
  794. </div> -->
  795. <!-- <div style="display:flex;flex-wrap: wrap;">
  796. </div> -->
  797. <div style="display: flex;">
  798. <div style="width: 100%;">
  799. <el-form-item label="备 注:" label-width="110px">
  800. <el-input type="textarea" :rows="5" placeholder="备注"
  801. v-model="Paymentinfor.remarks"></el-input>
  802. </el-form-item>
  803. </div>
  804. </div>
  805. </div>
  806. </el-form>
  807. </div>
  808. </div>
  809. </div>
  810. </template>
  811. <script>
  812. import { el } from '@fullcalendar/core/internal-common';
  813. import { set } from 'vue';
  814. import {debounce} from '../../store/statice'
  815. export default {
  816. data() {
  817. return {
  818. userId:0,
  819. cTable:0,
  820. pageId:0,
  821. tableData: [],
  822. tableDatas: [],
  823. currentPage: 1, // 当前页码
  824. pageSize: 5,// 每页的数据条数
  825. gridData: [],
  826. uploadURL: "http://132.232.92.186:8888/api/Groups/UploadHotel",
  827. projectName: "",
  828. uploadFiles: [],//上传的文件列表
  829. DelfileName: "",
  830. headers: {
  831. Authorization: JSON.parse(localStorage.getItem('userinif')).token,
  832. },
  833. loading:false,
  834. modifieds:0,//能否修改
  835. Rate: '1',
  836. loading: false,
  837. isAuditGM: 0,
  838. delegationInfoList: [],
  839. delegationInfo: {},
  840. guestType: [],//客人类型
  841. currencyList: [],//币种下拉框
  842. bankCard: [],//卡类型下拉框
  843. payment: [],//支付方式下拉框
  844. bookingWebsite: [],//预订网站
  845. CheckType: [],
  846. CardCurrency: '',
  847. currencySingle: { id: 836, name: 'CNY', remark: '人民币' },
  848. inifid:0,
  849. // staydays:1,//入住天数i'an'ting
  850. GuestNamelist:[],//客人名单
  851. GuestNameval:[],
  852. //必填参数
  853. RequiredParameters:{
  854. TypeGuest:'',//客人类型
  855. BankCards:'',//银行卡
  856. CurrentRate:'',//当前团组汇率
  857. VoucherNumber:'',//入住卷号码
  858. BookingWeb:'',//预订网站
  859. ReservationNumber:'',//预订号码
  860. DetermineNumber:'',//酒店确定号码
  861. LocationCity:'',//所在城市
  862. HotelName:'',//酒店名称
  863. HotelPhone:'',//酒店电话
  864. HotelAddress:'',//酒店地址
  865. GuestName:'',//客人姓名
  866. OnTime:'',//入住时间
  867. OutTime:'',//离店时间
  868. TypeStay:'',//入住类型
  869. RoomExplain:'',//房间说明
  870. Remark:'',//备注
  871. },
  872. //二阶段参数
  873. TwoParameters:{
  874. singleroomsNum:0,//单间数
  875. singleroomsPrice:0,//酒店单间单价
  876. singleroomsCurrency:'',//单间单价币种
  877. doubleroomNum:0,//双间数
  878. doubleroomPrice:0,//酒店双间单价
  879. doubleroomCurrency:'',//双间单价币种
  880. suiteNum:0,//套房间数
  881. suitePrice:0,//酒店套房单价
  882. suiteCurrency:'',//套房单价币种
  883. otherroomNum:0,//其他数
  884. otherroomPrice:0,//酒店其他单价
  885. otherroomCurrency:'',//其他单价币种
  886. amount:0,//信用卡金额
  887. credit:'',//信用卡
  888. breakfastPrice:0,//酒店早餐价格
  889. breakfastCurrency:'',//酒店早餐单价币种
  890. resource:false,//酒店早餐是否为地接代付
  891. RentPrice:0,//地税价格
  892. RentCurrency:'',//地税单价币种
  893. CitytaxPrice:0,//城市税价格
  894. CitytaxCurrency:'',//城市税单价币种
  895. },
  896. //付款信息
  897. Paymentinfor:{
  898. paymentMethods:0,//支付方式
  899. consumptionPatterns:'',//消费方式
  900. purchaseDate:'',//消费日期
  901. paymentAmount:0,//付款金额
  902. paymentCurrency:0,//付款币种
  903. beneficiary:'',//收款方
  904. expenseid:0,//费用标识
  905. remarks:'',//备 注
  906. //刷卡
  907. cardtype:'',//卡类型:
  908. cardnumber:'',//银行卡号
  909. cardname:'',//持卡人姓名
  910. //转账
  911. transferbanknumber:'',//公司银行账号
  912. transferbank:'',//对方开户行
  913. transfercardnumber:'',//对方银行卡号
  914. transfername:'',//对方姓名
  915. //汇款
  916. remittancebank:'',//对方开户行
  917. remittancecardnumber:'',//对方银行卡号
  918. remittancename:'',//对方姓名
  919. },
  920. OpHotelReservationsData: {
  921. diId: 0,
  922. },
  923. //必填验证
  924. RequiredParametersRules: {
  925. TypeGuest: [
  926. { required: true, message: '请选择客人类型', trigger: ['blur', 'change'] }
  927. ],
  928. BankCards: [
  929. { required: true, message: '请选择银行卡', trigger: ['blur', 'change'] }
  930. ],
  931. VoucherNumber: [
  932. { required: true, message: '请输入入住卷号码', trigger: ['blur', 'change'] }
  933. ],
  934. BookingWeb: [
  935. { required: true, message: '请选择预订网站', trigger: ['blur', 'change'] }
  936. ],
  937. ReservationNumber: [
  938. { required: true, message: '请输入预订号码', trigger: ['blur', 'change'] }
  939. ],
  940. DetermineNumber: [
  941. { required: true, message: '请输入酒店确定号码', trigger: ['blur', 'change'] }
  942. ],
  943. LocationCity: [
  944. { required: true, message: '请输入所在城市', trigger: ['blur', 'change'] }
  945. ],
  946. HotelName: [
  947. { required: true, message: '请输入酒店名称', trigger: ['blur', 'change'] }
  948. ],
  949. HotelPhone: [
  950. { required: true, message: '请输入酒店电话', trigger: ['blur', 'change'] }
  951. ],
  952. HotelAddress: [
  953. { required: true, message: '请输入酒店地址', trigger: ['blur', 'change'] }
  954. ],
  955. GuestName: [
  956. { required: true, message: '请输入客人姓名', trigger: ['blur'] }
  957. ],
  958. OnTime: [
  959. { required: true, message: '请选择入住时间', trigger: ['blur', 'change'] }
  960. ],
  961. OutTime: [
  962. { required: true, message: '请选择离店时间', trigger: ['blur', 'change'] }
  963. ],
  964. TypeStay: [
  965. { required: true, message: '请选择入住类型', trigger: ['blur', 'change'] }
  966. ],
  967. RoomExplain: [
  968. { required: true, message: '请输入房间说明', trigger: ['blur', 'change'] }
  969. ],
  970. Remark: [
  971. { required: true, message: '请输入备注', trigger: ['blur', 'change'] }
  972. ],
  973. },
  974. budgeting:[],
  975. bizhong:'',
  976. huilv:0,
  977. //房费
  978. roomtaxobj:{
  979. id:0,
  980. diId:0,
  981. hrId:0,
  982. priceType:1,
  983. price:0,
  984. currency:0,
  985. rate:0,
  986. isOppay:0,
  987. payDId:0,
  988. consumptionPatterns:'',
  989. consumptionDate:'',
  990. ctdId:0,
  991. bankNo:'',
  992. cardholderName:'',
  993. companyBankNo:'',
  994. otherBankName:'',
  995. otherSideNo:'',
  996. otherSideName:'',
  997. payee:'',
  998. orbitalPrivateTransfer:0,
  999. },
  1000. //城市税
  1001. Citytaxobj:{
  1002. id:0,
  1003. diId:0,
  1004. hrId:0,
  1005. priceType:4,
  1006. price:0,
  1007. currency:0,
  1008. rate:0,
  1009. isOppay:0,
  1010. payDId:0,
  1011. consumptionPatterns:'',
  1012. consumptionDate:'',
  1013. ctdId:0,
  1014. bankNo:'',
  1015. cardholderName:'',
  1016. companyBankNo:'',
  1017. otherBankName:'',
  1018. otherSideNo:'',
  1019. otherSideName:'',
  1020. payee:'',
  1021. orbitalPrivateTransfer:0,
  1022. },
  1023. //地税
  1024. landtaxobj:{
  1025. id:0,
  1026. diId:0,
  1027. hrId:0,
  1028. priceType:3,
  1029. price:0,
  1030. currency:0,
  1031. rate:0,
  1032. isOppay:0,
  1033. payDId:0,
  1034. consumptionPatterns:'',
  1035. consumptionDate:'',
  1036. ctdId:0,
  1037. bankNo:'',
  1038. cardholderName:'',
  1039. companyBankNo:'',
  1040. otherBankName:'',
  1041. otherSideNo:'',
  1042. otherSideName:'',
  1043. payee:'',
  1044. orbitalPrivateTransfer:0,
  1045. },
  1046. //酒店早餐
  1047. Hotelbreakfastobj:{
  1048. id:0,
  1049. diId:0,
  1050. hrId:0,
  1051. priceType:2,
  1052. price:0,
  1053. currency:0,
  1054. rate:0,
  1055. isOppay:0,
  1056. payDId:0,
  1057. consumptionPatterns:'',
  1058. consumptionDate:'',
  1059. ctdId:0,
  1060. bankNo:'',
  1061. cardholderName:'',
  1062. companyBankNo:'',
  1063. otherBankName:'',
  1064. otherSideNo:'',
  1065. otherSideName:'',
  1066. payee:'',
  1067. orbitalPrivateTransfer:0,
  1068. },
  1069. currencyarrs:[],
  1070. currencyarrss:[],
  1071. }
  1072. },
  1073. methods: {
  1074. //保留两位小数
  1075. townum(val){
  1076. return val.toFixed(2)
  1077. },
  1078. //保留4位小数
  1079. fournum(val){
  1080. return val.toFixed(4)
  1081. },
  1082. //获取成本提示
  1083. getcostbudgeting(){
  1084. this.budgeting=[];
  1085. var url = "/api/Groups/PostGroupCostModulePrompt"
  1086. var that = this
  1087. this.$axios({
  1088. method: 'post',
  1089. url: url,
  1090. headers: {
  1091. Authorization: 'Bearer ' + this.token
  1092. },
  1093. data: {
  1094. userId: that.userId,
  1095. diId: that.OpHotelReservationsData.diId,
  1096. cTable:that.cTable,
  1097. }
  1098. }).then(function (res) {
  1099. if (res.data.code == 200) {
  1100. that.budgeting=res.data.data.modulePromptInfos[0].data;
  1101. that.bizhong=res.data.data.modulePromptInfos[0].currencyCode;
  1102. that.huilv=res.data.data.modulePromptInfos[0].rate;
  1103. } else {
  1104. // that.$message.error(res.data.msg);
  1105. }
  1106. })
  1107. },
  1108. //每页条数改变时触发 选择一页显示多少行
  1109. handleSizeChange(val) {
  1110. this.currentPage = 1;
  1111. this.pageSize = val;
  1112. },
  1113. //当前页改变时触发 跳转其他页
  1114. handleCurrentChange(val) {
  1115. this.currentPage = val;
  1116. },
  1117. //获取ctable
  1118. PostPageLinkCTable() {
  1119. var url = "/api/Business/PostPageLinkCTable"
  1120. var that = this
  1121. this.$axios({
  1122. method: 'post',
  1123. url: url,
  1124. headers: {
  1125. Authorization: 'Bearer ' + this.token
  1126. },
  1127. data: {
  1128. pageId:that.pageId
  1129. }
  1130. }).then(function (res) {
  1131. if (res.data.code == 200) {
  1132. that.cTable=res.data.data.cTable;
  1133. that.PostGroupListByCTableAndUserId();
  1134. that.getcostbudgeting()
  1135. }else{
  1136. that.$message({
  1137. message:"获取cTable失败",
  1138. duration:3000,
  1139. type:"error"
  1140. });
  1141. }
  1142. }).catch(function (error) {
  1143. that.$message.error("获取cTable失败");
  1144. });
  1145. },
  1146. //获取团组
  1147. PostGroupListByCTableAndUserId() {
  1148. var url = "/api/Business/PostGroupListByCTableAndUserId"
  1149. var that = this
  1150. this.$axios({
  1151. method: 'post',
  1152. url: url,
  1153. headers: {
  1154. Authorization: 'Bearer ' + this.token
  1155. },
  1156. data: {
  1157. portType: 1,
  1158. pageIndex: 1,
  1159. pageSize:99999,
  1160. userId: that.userId,
  1161. cTable:that.cTable
  1162. }
  1163. }).then(function (res) {
  1164. if (res.data.code == 200) {
  1165. if(res.data.data.length==0){
  1166. that.OpHotelReservationsData.diId='无团组权限!'
  1167. that.$message({
  1168. message:"无任何团组权限,请联系管理员添加团组!",
  1169. duration:5000,
  1170. type:"warning"
  1171. });
  1172. }
  1173. if(that.OpHotelReservationsData.diId==0){
  1174. that.OpHotelReservationsData.diId=res.data.data[0].id
  1175. }
  1176. that.delegationInfoList = res.data.data;
  1177. for(var x=0;x<res.data.data.length;x++){
  1178. if(that.OpHotelReservationsData.diId==res.data.data[x].id){
  1179. that.delegationInfo=res.data.data[x]
  1180. }
  1181. }
  1182. that.PostHotelReservationsItemsByDiId()
  1183. // that.PostHotelReservationsBasicsDataInit()
  1184. // that.delegationInfo=
  1185. }
  1186. }).catch(function (error) {
  1187. that.$message.error("获取团组失败");
  1188. });
  1189. },
  1190. //获取酒店表格
  1191. PostHotelReservationsItemsByDiId() {
  1192. var url = "/api/Groups/PostHotelReservationsItemsByDiId"
  1193. var that = this
  1194. var data= {
  1195. portType:1,
  1196. userId:that.userId,
  1197. pageId:that.pageId,
  1198. diId:that.OpHotelReservationsData.diId
  1199. }
  1200. that.tableDatas=[];
  1201. this.$axios({
  1202. method: 'post',
  1203. url: url,
  1204. headers: {
  1205. Authorization: 'Bearer ' + this.token
  1206. },
  1207. data: {
  1208. portType:1,
  1209. userId:that.userId,
  1210. pageId:that.pageId,
  1211. diId:that.OpHotelReservationsData.diId
  1212. }
  1213. }).then(function (res) {
  1214. if (res.data.code == 200) {
  1215. that.PostHotelReservationsBasicsDataInit()
  1216. that.tableDatas=res.data.data
  1217. }
  1218. }).catch(function (error) {
  1219. that.$message.error("获取酒店表格失败");
  1220. });
  1221. },
  1222. //选择客人姓名
  1223. selectchg(){
  1224. console.log(this.RequiredParameters.GuestName)
  1225. },
  1226. //酒店预订 基础数据
  1227. PostHotelReservationsBasicsDataInit() {
  1228. var url = "/api/Groups/PostHotelReservationsBasicsDataInit"
  1229. var that = this
  1230. this.$axios({
  1231. method: 'post',
  1232. url: url,
  1233. headers: {
  1234. Authorization: 'Bearer ' + this.token
  1235. },
  1236. data: {
  1237. portType:1,
  1238. userId:that.userId,
  1239. pageId:that.pageId,
  1240. diId:that.OpHotelReservationsData.diId
  1241. }
  1242. }).then(function (res) {
  1243. if (res.data.code == 200) {
  1244. that.GuestNamelist=res.data.data.guestName;
  1245. that.guestType=res.data.data.guestType;
  1246. if(that.guestType){
  1247. that.RequiredParameters.TypeGuest=that.guestType[0].id;//客人类型
  1248. }
  1249. that.RequiredParameters.VoucherNumber=res.data.data.checkVolumeNo;
  1250. that.bankCard=res.data.data.bankCard;
  1251. if(that.bankCard){
  1252. that.RequiredParameters.BankCards=that.bankCard[0].id;//银行卡
  1253. that.roomtaxobj.ctdId=that.bankCard[0].id;
  1254. that.Citytaxobj.ctdId=that.bankCard[0].id;
  1255. that.landtaxobj.ctdId=that.bankCard[0].id;
  1256. that.Hotelbreakfastobj.ctdId=that.bankCard[0].id;
  1257. that.changecardtype(that.roomtaxobj.ctdId);
  1258. that.citychangecardtype(that.Citytaxobj.ctdId);
  1259. that.landchangecardtype(that.landtaxobj.ctdId);
  1260. that.Hotelchangecardtype(that.Hotelbreakfastobj.ctdId);
  1261. that.TwoParameters.credit='币种'+'('+that.bankCard[0].currency+')';//银行卡
  1262. }
  1263. that.bookingWebsite=res.data.data.bookingWebsite;
  1264. if(that.bookingWebsite){
  1265. that.RequiredParameters.BookingWeb=that.bookingWebsite[0].id;//预订网站
  1266. }
  1267. that.CheckType=res.data.data.checkPerson;
  1268. if(that.CheckType){
  1269. that.RequiredParameters.TypeStay=that.CheckType[0].id;//预订网站
  1270. }
  1271. that.currencyList = res.data.data.currencyList//币种下拉框
  1272. let ass=that.currencyList.find(ass=>{
  1273. return ass.currencyCode==that.bankCard[0].currency
  1274. })
  1275. if(ass){
  1276. for(var i=0;i<that.currencyList.length;i++){
  1277. if(that.bankCard[0].currency==that.currencyList[i].currencyCode){
  1278. that.RequiredParameters.CurrentRate=that.currencyList[i].rate;//当前团组汇率
  1279. that.TwoParameters.singleroomsCurrency=that.currencyList[i].currencyId;
  1280. that.TwoParameters.doubleroomCurrency=that.currencyList[i].currencyId;
  1281. that.TwoParameters.suiteCurrency=that.currencyList[i].currencyId;
  1282. that.TwoParameters.otherroomCurrency=that.currencyList[i].currencyId;
  1283. that.TwoParameters.breakfastCurrency=that.currencyList[i].currencyId;
  1284. that.TwoParameters.RentCurrency=that.currencyList[i].currencyId;
  1285. that.TwoParameters.CitytaxCurrency=that.currencyList[i].currencyId;
  1286. that.Paymentinfor.paymentCurrency=that.currencyList[i].currencyId;
  1287. }
  1288. }
  1289. }else{
  1290. that.RequiredParameters.CurrentRate='当前团组未设置此币种汇率!';//当前团组汇率
  1291. }
  1292. that.payment = res.data.data.payment//支付方式下拉框
  1293. if(that.payment){
  1294. that.roomtaxobj.payDId=that.payment[0].id;//支付方式
  1295. that.Citytaxobj.payDId=that.payment[0].id;//城市税支付方式
  1296. that.landtaxobj.payDId=that.payment[0].id;//地税支付方式
  1297. that.Hotelbreakfastobj.payDId=that.payment[0].id;//酒店早餐支付方式
  1298. }
  1299. }
  1300. }).catch(function (error) {
  1301. that.$message.error("获取基础数据失败");
  1302. });
  1303. },
  1304. //银行卡值改变
  1305. budgetCurrencyChange(val) {
  1306. var CScurrency='';
  1307. this.roomtaxobj.ctdId=val
  1308. this.Citytaxobj.ctdId=val
  1309. this.landtaxobj.ctdId=val
  1310. this.Hotelbreakfastobj.ctdId=val
  1311. this.changecardtype(val);
  1312. this.landchangecardtype(val);
  1313. this.Hotelchangecardtype(val);
  1314. this.citychangecardtype(val);
  1315. for(var i=0;i<this.bankCard.length;i++){
  1316. if(val==this.bankCard[i].id){
  1317. CScurrency=this.bankCard[i].currency
  1318. this.TwoParameters.credit='币种'+'('+this.bankCard[i].currency+')'
  1319. }
  1320. }
  1321. let ass=this.currencyList.find(ass=>{
  1322. return ass.currencyCode==CScurrency
  1323. })
  1324. if(ass){
  1325. for(var i=0;i<this.currencyList.length;i++){
  1326. if(CScurrency==this.currencyList[i].currencyCode){
  1327. this.RequiredParameters.CurrentRate=this.currencyList[i].rate;//当前团组汇率
  1328. this.TwoParameters.singleroomsCurrency=this.currencyList[i].currencyId;
  1329. this.TwoParameters.doubleroomCurrency=this.currencyList[i].currencyId;
  1330. this.TwoParameters.suiteCurrency=this.currencyList[i].currencyId;
  1331. this.TwoParameters.otherroomCurrency=this.currencyList[i].currencyId;
  1332. this.TwoParameters.breakfastCurrency=this.currencyList[i].currencyId;
  1333. this.TwoParameters.RentCurrency=this.currencyList[i].currencyId;
  1334. this.TwoParameters.CitytaxCurrency=this.currencyList[i].currencyId;
  1335. this.Paymentinfor.paymentCurrency=this.currencyList[i].currencyId;
  1336. }
  1337. }
  1338. }else{
  1339. this.RequiredParameters.CurrentRate='当前团组未设置此币种汇率!';//当前团组汇率
  1340. this.TwoParameters.singleroomsCurrency='暂无';
  1341. this.TwoParameters.doubleroomCurrency='暂无';
  1342. this.TwoParameters.suiteCurrency='暂无';
  1343. this.TwoParameters.otherroomCurrency='暂无';
  1344. this.TwoParameters.breakfastCurrency='暂无';
  1345. this.TwoParameters.RentCurrency='暂无';
  1346. this.TwoParameters.CitytaxCurrency='暂无';
  1347. this.Paymentinfor.paymentCurrency='暂无';
  1348. }
  1349. this.CalculateAmount()
  1350. },
  1351. //地税卡类型切换
  1352. landchangecardtype(val){
  1353. for(var i=0;i<this.bankCard.length;i++){
  1354. if(val==this.bankCard[i].id){
  1355. this.landtaxobj.bankNo=this.bankCard[i].remark;
  1356. this.landtaxobj.cardholderName=this.bankCard[i].cardholder;
  1357. }
  1358. }
  1359. },
  1360. //酒店早餐卡类型切换
  1361. Hotelchangecardtype(val){
  1362. for(var i=0;i<this.bankCard.length;i++){
  1363. if(val==this.bankCard[i].id){
  1364. this.Hotelbreakfastobj.bankNo=this.bankCard[i].remark;
  1365. this.Hotelbreakfastobj.cardholderName=this.bankCard[i].cardholder;
  1366. }
  1367. }
  1368. },
  1369. //城市税卡类型切换
  1370. citychangecardtype(val){
  1371. for(var i=0;i<this.bankCard.length;i++){
  1372. if(val==this.bankCard[i].id){
  1373. this.Citytaxobj.bankNo=this.bankCard[i].remark;
  1374. this.Citytaxobj.cardholderName=this.bankCard[i].cardholder;
  1375. }
  1376. }
  1377. },
  1378. //卡切换
  1379. changecardtype(val){
  1380. for(var i=0;i<this.bankCard.length;i++){
  1381. if(val==this.bankCard[i].id){
  1382. this.roomtaxobj.bankNo=this.bankCard[i].remark;
  1383. this.roomtaxobj.cardholderName=this.bankCard[i].cardholder;
  1384. }
  1385. }
  1386. },
  1387. //详情
  1388. PostHotelReservationsDetails(index,row) {
  1389. this.modifieds=row.isAuditGM;
  1390. this.inifid=row.id;
  1391. var url = "/api/Groups/PostHotelReservationsDetails"
  1392. var that = this
  1393. this.$axios({
  1394. method: 'post',
  1395. url: url,
  1396. headers: {
  1397. Authorization: 'Bearer ' + this.token
  1398. },
  1399. data: {
  1400. portType:1,
  1401. userId:that.userId,
  1402. pageId:that.pageId,
  1403. diId:that.OpHotelReservationsData.diId,
  1404. id:row.id
  1405. }
  1406. }).then(function (res) {
  1407. if (res.data.code == 200) {
  1408. //必填参数
  1409. that.RequiredParameters.TypeGuest=res.data.data.gtId;//客人类型
  1410. that.RequiredParameters.BankCards=res.data.data.ctdId;//银行卡
  1411. // for(let l=0;l<that.bankCard.length;l++){
  1412. // if(that.bankCard[l].id==that.RequiredParameters.BankCards){
  1413. // that.TwoParameters.credit=that.bankCard[l].name+'('+that.bankCard[l].currency+')'
  1414. // for(let f=0;f<that.currencyList.length;f++){
  1415. // if(that.bankCard[l].currency==that.currencyList[f].currencyCode){
  1416. // that.RequiredParameters.CurrentRate=that.currencyList[f].rate
  1417. // }
  1418. // }
  1419. // }
  1420. // }
  1421. that.RequiredParameters.VoucherNumber=res.data.data.checkNumber;//入住卷号码
  1422. that.RequiredParameters.BookingWeb=res.data.data.reservationsWebsite;//预订网站
  1423. that.RequiredParameters.ReservationNumber=res.data.data.reservationsNo;//预订号码
  1424. that.RequiredParameters.DetermineNumber=res.data.data.determineNo;//酒店确定号码
  1425. that.RequiredParameters.LocationCity=res.data.data.city;//所在城市
  1426. that.RequiredParameters.HotelName=res.data.data.hotelName;//酒店名称
  1427. that.RequiredParameters.HotelPhone=res.data.data.hotelTel;//酒店电话
  1428. that.RequiredParameters.HotelAddress=res.data.data.hotelAddress;//酒店地址
  1429. that.RequiredParameters.GuestName=(res.data.data.guestName.split(",")).map(Number);//客人姓名
  1430. that.RequiredParameters.OnTime=new Date(res.data.data.checkInDate);//入住时间
  1431. that.RequiredParameters.OutTime=new Date(res.data.data.checkOutDate);//离店时间
  1432. that.RequiredParameters.TypeStay=res.data.data.checkType==0?'':res.data.data.checkType;//入住类型
  1433. that.RequiredParameters.RoomExplain=res.data.data.roomExplanation;//房间说明
  1434. that.RequiredParameters.Remark=res.data.data.hotelRemark;//备注
  1435. //二阶段参数
  1436. that.TwoParameters.singleroomsNum=res.data.data.singleRoomCount//单间数
  1437. that.TwoParameters.singleroomsPrice=res.data.data.singleRoomPrice//酒店单间单价
  1438. that.TwoParameters.doubleroomNum=res.data.data.doubleRoomCount//双间数
  1439. that.TwoParameters.doubleroomPrice=res.data.data.doubleRoomPrice//酒店双间单价
  1440. that.TwoParameters.suiteNum=res.data.data.suiteRoomCount//套房间数
  1441. that.TwoParameters.suitePrice=res.data.data.suiteRoomPrice//酒店套房单价
  1442. that.TwoParameters.otherroomNum=res.data.data.otherRoomCount//其他数
  1443. that.TwoParameters.otherroomPrice=res.data.data.otherRoomPrice//酒店其他单价
  1444. //付款信息
  1445. that.Paymentinfor.paymentMethods=res.data.data.payDId//支付方式
  1446. that.Paymentinfor.consumptionPatterns=res.data.data.consumptionPatterns//消费方式
  1447. that.Paymentinfor.purchaseDate=res.data.data.consumptionDate//消费日期
  1448. // that.$set(that.Paymentinfor,'purchaseDate',res.data.data.consumptionDate)//消费日期
  1449. // console.log(that.Paymentinfor.purchaseDate)
  1450. that.Paymentinfor.paymentAmount=res.data.data.payMoney.toFixed(2)//付款金额
  1451. that.Paymentinfor.paymentCurrency=res.data.data.paymentCurrency//付款币种
  1452. //刷卡
  1453. that.Paymentinfor.cardtype=res.data.data.ctdId//卡类型
  1454. that.Paymentinfor.cardnumber=res.data.data.bankNo//银行卡号
  1455. that.Paymentinfor.cardname=res.data.data.cardholderName//持卡人姓名
  1456. //转账
  1457. that.Paymentinfor.transferbank=res.data.data.otherBankName//对方开户行
  1458. that.Paymentinfor.transfercardnumber=res.data.data.otherSideNo//对方银行卡号
  1459. that.Paymentinfor.transfername=res.data.data.otherSideName//对方姓名
  1460. //汇款
  1461. that.Paymentinfor.remittancebank=res.data.data.otherBankName//对方开户行
  1462. that.Paymentinfor.remittancecardnumber=res.data.data.otherSideNo//对方银行卡号
  1463. that.Paymentinfor.remittancename=res.data.data.otherSideName//对方姓名
  1464. that.Paymentinfor.beneficiary=res.data.data.payee//收款方
  1465. that.Paymentinfor.expenseid=res.data.data.orbitalPrivateTransfer//费用标识
  1466. that.Paymentinfor.remarks=res.data.data.ccpRemark//备 注
  1467. //之前代码未改
  1468. for (let x = 0; x < res.data.data.contents.length; x++) {
  1469. if(res.data.data.contents[x].priceType==1){
  1470. that.roomtaxobj=res.data.data.contents[x];
  1471. that.roomtaxobj.isOppay=that.roomtaxobj.isOppay==0?false:true;
  1472. that.TwoParameters.amount= that.roomtaxobj.price//信用卡金额
  1473. that.TwoParameters.singleroomsCurrency=that.roomtaxobj.currency
  1474. that.TwoParameters.doubleroomCurrency=that.roomtaxobj.currency
  1475. that.TwoParameters.suiteCurrency=that.roomtaxobj.currency
  1476. that.TwoParameters.otherroomCurrency=that.roomtaxobj.currency
  1477. for(var i=0;i<that.currencyList.length;i++){
  1478. if(that.roomtaxobj.currency==that.currencyList[i].currencyId){
  1479. that.RequiredParameters.CurrentRate=that.currencyList[i].rate
  1480. that.TwoParameters.credit='币种'+'('+that.currencyList[i].currencyCode+')'
  1481. }
  1482. }
  1483. }
  1484. if(res.data.data.contents[x].priceType==2){
  1485. that.Hotelbreakfastobj=res.data.data.contents[x];
  1486. that.Hotelbreakfastobj.isOppay=that.Hotelbreakfastobj.isOppay==0?false:true;
  1487. that.TwoParameters.breakfastPrice=that.Hotelbreakfastobj.price//酒店早餐价格
  1488. that.TwoParameters.breakfastCurrency=that.Hotelbreakfastobj.currency//酒店早餐单价币种
  1489. }
  1490. if(res.data.data.contents[x].priceType==3){
  1491. that.landtaxobj=res.data.data.contents[x];
  1492. that.landtaxobj.isOppay=that.landtaxobj.isOppay==0?false:true;
  1493. that.TwoParameters.RentPrice=that.landtaxobj.price//地税价格
  1494. that.TwoParameters.RentCurrency=that.landtaxobj.currency//地税单价币种
  1495. }
  1496. if(res.data.data.contents[x].priceType==4){
  1497. that.Citytaxobj=res.data.data.contents[x];
  1498. that.Citytaxobj.isOppay=that.Citytaxobj.isOppay==0?false:true;
  1499. that.TwoParameters.CitytaxPrice=that.Citytaxobj.price//城市税价格
  1500. that.TwoParameters.CitytaxCurrency=that.Citytaxobj.currency//城市税单价币种
  1501. }
  1502. }
  1503. // that.budgetCurrencyChange(that.RequiredParameters.BankCards)
  1504. // that.CalculateAmount();
  1505. // that.AmountPayment();
  1506. }
  1507. }).catch(function (error) {
  1508. that.$message.error("获取详情失败");
  1509. });
  1510. },
  1511. //房费币种选择
  1512. selectroomCurrency(val){
  1513. this.TwoParameters.singleroomsCurrency=val;
  1514. this.TwoParameters.doubleroomCurrency=val;
  1515. this.TwoParameters.suiteCurrency=val;
  1516. this.TwoParameters.otherroomCurrency=val;
  1517. for(var i=0;i<this.currencyList.length;i++){
  1518. if(val==this.currencyList[i].currencyId){
  1519. // CScurrency=this.bankCard[i].currency
  1520. this.RequiredParameters.CurrentRate=this.currencyList[i].rate
  1521. this.TwoParameters.credit='币种'+'('+this.currencyList[i].currencyCode+')'
  1522. }
  1523. }
  1524. this.CalculateAmount()
  1525. },
  1526. //转换日期
  1527. transferdate(val){
  1528. var today = new Date(val);
  1529. var DD = String(today.getDate()).padStart(2, '0'); // 获取日
  1530. var MM = String(today.getMonth() + 1).padStart(2, '0'); //获取月份,1 月为 0
  1531. var yyyy = today.getFullYear(); // 获取年
  1532. return yyyy+'-'+MM+'-'+DD
  1533. },
  1534. //新增修改api
  1535. PostHotelReservationsAddOrEdit() {
  1536. var guestNametext='';
  1537. for(let a=0;a<this.RequiredParameters.GuestName.length;a++){
  1538. guestNametext += this.RequiredParameters.GuestName[a]+','
  1539. }
  1540. //未修改前代码,房费参数赋值
  1541. this.roomtaxobj.price=this.TwoParameters.amount;
  1542. this.roomtaxobj.currency=this.TwoParameters.otherroomCurrency;
  1543. this.roomtaxobj.isOppay=this.roomtaxobj.isOppay==false?0:1;
  1544. for(let b=0;b<this.currencyList.length;b++){
  1545. if(this.roomtaxobj.currency==this.currencyList[b].currencyId){
  1546. this.roomtaxobj.rate=this.currencyList[b].rate
  1547. }
  1548. }
  1549. //未修改前代码,城市税参数赋值
  1550. this.Citytaxobj.price=this.TwoParameters.CitytaxPrice;
  1551. this.Citytaxobj.currency=this.TwoParameters.CitytaxCurrency;
  1552. this.Citytaxobj.isOppay=this.Citytaxobj.isOppay==false?0:1;
  1553. for(let b=0;b<this.currencyList.length;b++){
  1554. if(this.Citytaxobj.currency==this.currencyList[b].currencyId){
  1555. this.Citytaxobj.rate=this.currencyList[b].rate
  1556. }
  1557. }
  1558. //未修改前代码,地税参数赋值
  1559. this.landtaxobj.price=this.TwoParameters.RentPrice;
  1560. this.landtaxobj.currency=this.TwoParameters.RentCurrency;
  1561. this.landtaxobj.isOppay=this.landtaxobj.isOppay==false?0:1;
  1562. for(let b=0;b<this.currencyList.length;b++){
  1563. if(this.landtaxobj.currency==this.currencyList[b].currencyId){
  1564. this.landtaxobj.rate=this.currencyList[b].rate
  1565. }
  1566. }
  1567. //未修改前代码,酒店早餐参数赋值
  1568. this.Hotelbreakfastobj.price=this.TwoParameters.breakfastPrice;
  1569. this.Hotelbreakfastobj.currency=this.TwoParameters.breakfastCurrency;
  1570. this.Hotelbreakfastobj.isOppay=this.Hotelbreakfastobj.isOppay==false?0:1;
  1571. for(let b=0;b<this.currencyList.length;b++){
  1572. if(this.Hotelbreakfastobj.currency==this.currencyList[b].currencyId){
  1573. this.Hotelbreakfastobj.rate=this.currencyList[b].rate
  1574. }
  1575. }
  1576. this.loading=true;
  1577. var url = "/api/Groups/PostHotelReservationsAddOrEdit"
  1578. var that = this
  1579. var data= {
  1580. portType:1,
  1581. userId:that.userId,//用户Id
  1582. pageId:that.pageId,//页面Id
  1583. id:that.inifid,//Id
  1584. diId:that.OpHotelReservationsData.diId,//团组Id
  1585. gtId:that.RequiredParameters.TypeGuest,//客人类型 Id
  1586. ctdId:that.RequiredParameters.BankCards,//信用卡类型
  1587. checkNumber:that.RequiredParameters.VoucherNumber,//入住卷号
  1588. reservationsWebsite:that.RequiredParameters.BookingWeb,//预订网站
  1589. reservationsNo:that.RequiredParameters.ReservationNumber,//预订号码
  1590. determineNo:that.RequiredParameters.DetermineNumber,//酒店确定号码
  1591. city:that.RequiredParameters.LocationCity,//城市
  1592. hotelName:that.RequiredParameters.HotelName,//酒店名称
  1593. hotelTel:that.RequiredParameters.HotelPhone,//酒店电话
  1594. hotelAddress:that.RequiredParameters.HotelAddress,//酒店地址
  1595. guestName:guestNametext.substring(0, guestNametext.length - 1),//客户名称
  1596. checkInDate:that.transferdate(that.RequiredParameters.OnTime),//入住时间
  1597. checkOutDate:that.transferdate(that.RequiredParameters.OutTime),//离店时间
  1598. checkType:that.RequiredParameters.TypeStay,//房间入住人类型
  1599. roomExplanation:that.RequiredParameters.RoomExplain,//房间说明
  1600. hotelRemark:that.RequiredParameters.Remark,//酒店备注
  1601. singleRoomPrice:that.TwoParameters.singleroomsPrice,//单间价格
  1602. singleRoomCount:that.TwoParameters.singleroomsNum,//单间数量
  1603. doubleRoomPrice:that.TwoParameters.doubleroomPrice,//双间价格
  1604. doubleRoomCount:that.TwoParameters.doubleroomNum,//双间数量
  1605. suiteRoomPrice:that.TwoParameters.suitePrice,//套房价格
  1606. suiteRoomCount:that.TwoParameters.suiteNum,//套房数量
  1607. otherRoomPrice:that.TwoParameters.otherroomPrice,//其他房间价格
  1608. otherRoomCount:that.TwoParameters.otherroomNum,//其他房间数量
  1609. cardPrice:that.Paymentinfor.paymentAmount,//付款金额
  1610. cardPriceCurrency:that.Paymentinfor.paymentCurrency,//付款币种
  1611. contents:[
  1612. that.roomtaxobj,
  1613. that.Citytaxobj,
  1614. that.landtaxobj,
  1615. that.Hotelbreakfastobj
  1616. ],
  1617. // isoppay:that.TwoParameters.resource==true?1:0,//是否由地接支付 0 否 1 是
  1618. // breakfastPrice:that.TwoParameters.breakfastPrice,//早餐价格
  1619. // breakfastCurrency:that.TwoParameters.breakfastCurrency,//早餐币种
  1620. // governmentRent:that.TwoParameters.RentPrice,//地税
  1621. // governmentRentCurrency:that.TwoParameters.RentCurrency,//地税币种
  1622. // cityTax:that.TwoParameters.CitytaxPrice,//城市税
  1623. // cityTaxCurrency:that.TwoParameters.CitytaxCurrency,//城市税币种
  1624. // payDId:that.Paymentinfor.paymentMethods,//支付方式
  1625. // consumptionPatterns:that.Paymentinfor.consumptionPatterns,//消费方式
  1626. // consumptionDate:that.Paymentinfor.purchaseDate!=''?that.transferdate(that.Paymentinfor.purchaseDate):'',//消费日期
  1627. // payMoney:that.Paymentinfor.paymentAmount,//付款金额
  1628. // paymentCurrency:that.Paymentinfor.paymentCurrency,//付款币种
  1629. // bankNo:that.Paymentinfor.cardnumber,//银行卡号
  1630. // cardholderName:that.Paymentinfor.cardname,//持卡人姓名
  1631. // CompanyBankNo:that.Paymentinfor.transferbanknumber,//公司银行账户
  1632. // otherBankName:that.Paymentinfor.transferbank,//对方开户行
  1633. // otherSideNo:that.Paymentinfor.transfercardnumber,//对方银行账号
  1634. // otherSideName:that.Paymentinfor.transfername,//对方姓名
  1635. // payee:that.Paymentinfor.beneficiary,//收款方
  1636. // orbitalPrivateTransfer:that.Paymentinfor.expenseid,//费用标识
  1637. ccpRemark:that.Paymentinfor.remarks,//C表付款信息 备注
  1638. }
  1639. // console.log(JSON.stringify(data))
  1640. this.$axios({
  1641. method: 'post',
  1642. url: url,
  1643. headers: {
  1644. Authorization: 'Bearer ' + this.token
  1645. },
  1646. data: {
  1647. portType:1,
  1648. userId:that.userId,//用户Id
  1649. pageId:that.pageId,//页面Id
  1650. id:that.inifid,//Id
  1651. diId:that.OpHotelReservationsData.diId,//团组Id
  1652. gtId:that.RequiredParameters.TypeGuest,//客人类型 Id
  1653. ctdId:that.RequiredParameters.BankCards,//信用卡类型
  1654. checkNumber:that.RequiredParameters.VoucherNumber,//入住卷号
  1655. reservationsWebsite:that.RequiredParameters.BookingWeb,//预订网站
  1656. reservationsNo:that.RequiredParameters.ReservationNumber,//预订号码
  1657. determineNo:that.RequiredParameters.DetermineNumber,//酒店确定号码
  1658. city:that.RequiredParameters.LocationCity,//城市
  1659. hotelName:that.RequiredParameters.HotelName,//酒店名称
  1660. hotelTel:that.RequiredParameters.HotelPhone,//酒店电话
  1661. hotelAddress:that.RequiredParameters.HotelAddress,//酒店地址
  1662. guestName:guestNametext.substring(0, guestNametext.length - 1),//客户名称
  1663. checkInDate:that.transferdate(that.RequiredParameters.OnTime),//入住时间
  1664. checkOutDate:that.transferdate(that.RequiredParameters.OutTime),//离店时间
  1665. checkType:that.RequiredParameters.TypeStay,//房间入住人类型
  1666. roomExplanation:that.RequiredParameters.RoomExplain,//房间说明
  1667. hotelRemark:that.RequiredParameters.Remark,//酒店备注
  1668. singleRoomPrice:that.TwoParameters.singleroomsPrice,//单间价格
  1669. singleRoomCount:that.TwoParameters.singleroomsNum,//单间数量
  1670. doubleRoomPrice:that.TwoParameters.doubleroomPrice,//双间价格
  1671. doubleRoomCount:that.TwoParameters.doubleroomNum,//双间数量
  1672. suiteRoomPrice:that.TwoParameters.suitePrice,//套房价格
  1673. suiteRoomCount:that.TwoParameters.suiteNum,//套房数量
  1674. otherRoomPrice:that.TwoParameters.otherroomPrice,//其他房间价格
  1675. otherRoomCount:that.TwoParameters.otherroomNum,//其他房间数量
  1676. cardPrice:that.Paymentinfor.paymentAmount,//付款金额
  1677. cardPriceCurrency:that.Paymentinfor.paymentCurrency,//付款币种
  1678. contents:[
  1679. that.roomtaxobj,
  1680. that.Citytaxobj,
  1681. that.landtaxobj,
  1682. that.Hotelbreakfastobj
  1683. ],
  1684. }
  1685. }).then(function (res) {
  1686. if (res.data.code == 200) {
  1687. that.$message({
  1688. type: 'success',
  1689. message: res.data.msg,
  1690. duration:'3000'
  1691. });
  1692. that.PostHotelReservationsItemsByDiId()
  1693. setTimeout(() => {
  1694. that.AddToggle()
  1695. that.loading=false;
  1696. }, 500);
  1697. }else{
  1698. that.$message.error(res.data.msg);
  1699. that.loading=false;
  1700. }
  1701. }).catch(function (error) {
  1702. that.$message.error("新增或修改失败");
  1703. that.loading=false;
  1704. });
  1705. },
  1706. //代付选中
  1707. Payforselection(val,val2){
  1708. if(val==1){
  1709. if(val2==true){
  1710. this.roomtaxobj.payDId=73;
  1711. }else{
  1712. this.roomtaxobj.payDId=72;
  1713. }
  1714. }
  1715. if(val==2){
  1716. if(val2==true){
  1717. this.Hotelbreakfastobj.payDId=73;
  1718. }else{
  1719. this.Hotelbreakfastobj.payDId=72;
  1720. }
  1721. }
  1722. if(val==3){
  1723. if(val2==true){
  1724. this.landtaxobj.payDId=73;
  1725. }else{
  1726. this.landtaxobj.payDId=72;
  1727. }
  1728. }
  1729. if(val==4){
  1730. if(val2==true){
  1731. this.Citytaxobj.payDId=73;
  1732. }else{
  1733. this.Citytaxobj.payDId=72;
  1734. }
  1735. }
  1736. },
  1737. //保存
  1738. AddBtn:debounce(function(RequiredParameters) {
  1739. if(this.RequiredParameters.CurrentRate=="当前团组未设置此币种汇率!"){
  1740. this.$alert('当前团组未设置此币种汇率,请前往设置!', '警告', {
  1741. confirmButtonText: '确定',
  1742. callback: action => {
  1743. this.$message({
  1744. type: 'info',
  1745. message: `action: ${ action }`
  1746. });
  1747. }
  1748. });
  1749. return
  1750. }
  1751. // console.log(this.Paymentinfor.purchaseDate)
  1752. this.CalculateAmount()
  1753. this.$refs[RequiredParameters].validate((valid) => {
  1754. if (valid) {
  1755. if(this.inifid==0){
  1756. if(this.modifieds==1){
  1757. this.$message.error("已被审核,无法修改此条数据");
  1758. }else{
  1759. this.PostHotelReservationsAddOrEdit();
  1760. }
  1761. }else{
  1762. if(this.modifieds==1){
  1763. this.$message.error("已被审核,无法修改此条数据");
  1764. }else{
  1765. this.PostHotelReservationsAddOrEdit();
  1766. }
  1767. }
  1768. } else {
  1769. this.$message({
  1770. showClose: true,
  1771. message: '请填写完红框内的信息!',
  1772. type: 'error',
  1773. duration:'3000'
  1774. });
  1775. return false;
  1776. }
  1777. });
  1778. },1000,true),
  1779. //预定成本
  1780. BookingCost(){
  1781. var url = "/api/Groups/PostHotelReservationsPredictedCostFileDownload"
  1782. var that = this
  1783. this.$axios({
  1784. method: 'post',
  1785. url: url,
  1786. headers: {
  1787. Authorization: 'Bearer ' + that.token
  1788. },
  1789. data: {
  1790. portType: 1 ,
  1791. userId: that.userId ,
  1792. pageId: that.pageId ,
  1793. diId: that.OpHotelReservationsData.diId ,
  1794. }
  1795. }).then(function (res) {
  1796. if (res.data.code == 200) {
  1797. window.location.href = res.data.data
  1798. } else {
  1799. that.$message.error(res.data.msg);
  1800. }
  1801. }).catch(function (error) {
  1802. that.$message.error("接口错误,请联系信息部!");
  1803. });
  1804. },
  1805. //删除
  1806. delinif(index,row){
  1807. if(row.isAuditGM!=1){
  1808. this.$confirm('此操作将删除此条数据,是否确认', '提示', {
  1809. confirmButtonText: '确定',
  1810. cancelButtonText: '取消',
  1811. type: 'warning'
  1812. }).then(() => {
  1813. var url = "/api/Groups/PostHotelReservationsDel"
  1814. var that = this
  1815. this.$axios({
  1816. method: 'post',
  1817. url: url,
  1818. headers: {
  1819. Authorization: 'Bearer ' + this.token
  1820. },
  1821. data: {
  1822. portType:1,
  1823. userId:that.userId,
  1824. pageId:that.pageId,
  1825. id:row.id,
  1826. diId:that.OpHotelReservationsData.diId
  1827. }
  1828. }).then(function (res) {
  1829. if (res.data.code == 200) {
  1830. that.$message({
  1831. type: 'success',
  1832. message: '删除成功!'
  1833. });
  1834. that.PostHotelReservationsItemsByDiId()
  1835. }
  1836. }).catch(function (error) {
  1837. that.$message.error("删除失败");
  1838. });
  1839. }).catch(() => {
  1840. });
  1841. }else{
  1842. this.$message.error("已被审核,无法删除此条数据");
  1843. }
  1844. },
  1845. //新增切换
  1846. AddToggle(){
  1847. this.modifieds=0;
  1848. this.inifid=0;
  1849. //必填参数
  1850. this.RequiredParameters={
  1851. TypeGuest:'',//客人类型
  1852. BankCards:'',//银行卡
  1853. CurrentRate:'',//当前团组汇率
  1854. VoucherNumber:'',//入住卷号码
  1855. BookingWeb:'',//预订网站
  1856. ReservationNumber:'',//预订号码
  1857. DetermineNumber:'',//酒店确定号码
  1858. LocationCity:'',//所在城市
  1859. HotelName:'',//酒店名称
  1860. HotelPhone:'',//酒店电话
  1861. HotelAddress:'',//酒店地址
  1862. GuestName:'',//客人姓名
  1863. OnTime:'',//入住时间
  1864. OutTime:'',//离店时间
  1865. TypeStay:'',//入住类型
  1866. RoomExplain:'',//房间说明
  1867. Remark:'',//备注
  1868. },
  1869. //二阶段参数
  1870. this.TwoParameters={
  1871. singleroomsNum:0,//单间数
  1872. singleroomsPrice:0,//酒店单间单价
  1873. singleroomsCurrency:'',//单间单价币种
  1874. doubleroomNum:0,//双间数
  1875. doubleroomPrice:0,//酒店双间单价
  1876. doubleroomCurrency:'',//双间单价币种
  1877. suiteNum:0,//套房间数
  1878. suitePrice:0,//酒店套房单价
  1879. suiteCurrency:'',//套房单价币种
  1880. otherroomNum:0,//其他数
  1881. otherroomPrice:0,//酒店其他单价
  1882. otherroomCurrency:'',//其他单价币种
  1883. amount:0,//信用卡金额
  1884. credit:'',//信用卡
  1885. breakfastPrice:0,//酒店早餐价格
  1886. breakfastCurrency:'',//酒店早餐单价币种
  1887. resource:false,//酒店早餐是否为地接代付
  1888. RentPrice:0,//地税价格
  1889. RentCurrency:'',//地税单价币种
  1890. CitytaxPrice:0,//城市税价格
  1891. CitytaxCurrency:'',//城市税单价币种
  1892. },
  1893. //付款信息
  1894. this.Paymentinfor={
  1895. paymentMethods:0,//支付方式
  1896. consumptionPatterns:'',//消费方式
  1897. purchaseDate:'',//消费日期
  1898. paymentAmount:0,//付款金额
  1899. paymentCurrency:0,//付款币种
  1900. beneficiary:'',//收款方
  1901. expenseid:-1,//费用标识
  1902. remarks:'',//备 注
  1903. //刷卡
  1904. cardtype:'',//卡类型:
  1905. cardnumber:'',//银行卡号
  1906. cardname:'',//持卡人姓名
  1907. //转账
  1908. transferbanknumber:'',//公司银行账号
  1909. transferbank:'',//对方开户行
  1910. transfercardnumber:'',//对方银行卡号
  1911. transfername:'',//对方姓名
  1912. //汇款
  1913. remittancebank:'',//对方开户行
  1914. remittancecardnumber:'',//对方银行卡号
  1915. remittancename:'',//对方姓名
  1916. }
  1917. //房费
  1918. this.roomtaxobj={
  1919. id:0,
  1920. diId:0,
  1921. hrId:0,
  1922. priceType:1,
  1923. price:0,
  1924. currency:0,
  1925. rate:0,
  1926. isOppay:0,
  1927. payDId:0,
  1928. consumptionPatterns:'',
  1929. consumptionDate:'',
  1930. ctdId:0,
  1931. bankNo:'',
  1932. cardholderName:'',
  1933. companyBankNo:'',
  1934. otherBankName:'',
  1935. otherSideNo:'',
  1936. otherSideName:'',
  1937. payee:'',
  1938. orbitalPrivateTransfer:0,
  1939. }
  1940. //城市税
  1941. this.Citytaxobj={
  1942. id:0,
  1943. diId:0,
  1944. hrId:0,
  1945. priceType:4,
  1946. price:0,
  1947. currency:0,
  1948. rate:0,
  1949. isOppay:0,
  1950. payDId:0,
  1951. consumptionPatterns:'',
  1952. consumptionDate:'',
  1953. ctdId:0,
  1954. bankNo:'',
  1955. cardholderName:'',
  1956. companyBankNo:'',
  1957. otherBankName:'',
  1958. otherSideNo:'',
  1959. otherSideName:'',
  1960. payee:'',
  1961. orbitalPrivateTransfer:0,
  1962. }
  1963. //地税
  1964. this.landtaxobj={
  1965. id:0,
  1966. diId:0,
  1967. hrId:0,
  1968. priceType:3,
  1969. price:0,
  1970. currency:0,
  1971. rate:0,
  1972. isOppay:0,
  1973. payDId:0,
  1974. consumptionPatterns:'',
  1975. consumptionDate:'',
  1976. ctdId:0,
  1977. bankNo:'',
  1978. cardholderName:'',
  1979. companyBankNo:'',
  1980. otherBankName:'',
  1981. otherSideNo:'',
  1982. otherSideName:'',
  1983. payee:'',
  1984. orbitalPrivateTransfer:0,
  1985. }
  1986. //酒店早餐
  1987. this.Hotelbreakfastobj={
  1988. id:0,
  1989. diId:0,
  1990. hrId:0,
  1991. priceType:2,
  1992. price:0,
  1993. currency:0,
  1994. rate:0,
  1995. isOppay:0,
  1996. payDId:0,
  1997. consumptionPatterns:'',
  1998. consumptionDate:'',
  1999. ctdId:0,
  2000. bankNo:'',
  2001. cardholderName:'',
  2002. companyBankNo:'',
  2003. otherBankName:'',
  2004. otherSideNo:'',
  2005. otherSideName:'',
  2006. payee:'',
  2007. orbitalPrivateTransfer:0,
  2008. }
  2009. if (this.$refs.RequiredParameters){
  2010. this.$nextTick(() => {
  2011. this.$refs['RequiredParameters'].clearValidate();
  2012. })
  2013. }
  2014. this.PostHotelReservationsBasicsDataInit();
  2015. },
  2016. //计算日期
  2017. CalculateTade(){
  2018. var times=' 00:00:00'
  2019. if(this.RequiredParameters.OutTime!=''&&this.RequiredParameters.OnTime!=''){
  2020. if(this.RequiredParameters.OnTime>=this.RequiredParameters.OutTime){
  2021. this.$confirm('离店日期不能小于入住日期', '提示', {
  2022. confirmButtonText: '确定',
  2023. cancelButtonText: '取消',
  2024. type: 'warning'
  2025. }).then(() => {
  2026. this.RequiredParameters.OutTime="";
  2027. }).catch(() => {
  2028. });
  2029. return
  2030. }
  2031. var post=new Date(this.transferdate(this.RequiredParameters.OutTime)+times);
  2032. var prior=new Date(this.transferdate(this.RequiredParameters.OnTime)+times);
  2033. return (post-prior)/(1*24*60*60*1000)
  2034. }else{
  2035. return 1
  2036. }
  2037. },
  2038. //计算信用卡金额
  2039. CalculateAmount(){
  2040. console.log(this.CalculateTade())//天数
  2041. var compute=0
  2042. compute=((this.TwoParameters.singleroomsNum*this.TwoParameters.singleroomsPrice)+(this.TwoParameters.doubleroomNum*this.TwoParameters.doubleroomPrice)+(this.TwoParameters.suiteNum*this.TwoParameters.suitePrice)+(this.TwoParameters.otherroomNum*this.TwoParameters.otherroomPrice))*this.CalculateTade()
  2043. this.TwoParameters.amount=compute
  2044. this.AmountPayment()
  2045. },
  2046. //付款金额
  2047. AmountPayment(){
  2048. if(this.TwoParameters.suiteCurrency!=this.TwoParameters.RentCurrency||this.TwoParameters.suiteCurrency!=this.TwoParameters.CitytaxCurrency||this.TwoParameters.suiteCurrency!=this.TwoParameters.breakfastCurrency){
  2049. this.Paymentinfor.paymentCurrency=836;
  2050. var dishui=0;
  2051. var chengshishui=0;
  2052. var zaocan=0;
  2053. if(this.TwoParameters.suiteCurrency!=this.TwoParameters.RentCurrency){
  2054. for(let i =0;i<this.currencyList.length;i++){
  2055. if(this.TwoParameters.RentCurrency==this.currencyList[i].currencyId){
  2056. dishui=this.TwoParameters.RentPrice*this.currencyList[i].rate
  2057. }
  2058. }
  2059. }else{
  2060. dishui=this.TwoParameters.RentPrice*this.RequiredParameters.CurrentRate
  2061. }
  2062. if(this.TwoParameters.suiteCurrency!=this.TwoParameters.CitytaxCurrency){
  2063. for(let i =0;i<this.currencyList.length;i++){
  2064. if(this.TwoParameters.CitytaxCurrency==this.currencyList[i].currencyId){
  2065. chengshishui=this.TwoParameters.CitytaxPrice*this.currencyList[i].rate
  2066. }
  2067. }
  2068. }else{
  2069. chengshishui=this.TwoParameters.CitytaxPrice*this.RequiredParameters.CurrentRate
  2070. }
  2071. if(this.TwoParameters.suiteCurrency!=this.TwoParameters.breakfastCurrency){
  2072. for(let i =0;i<this.currencyList.length;i++){
  2073. if(this.TwoParameters.breakfastCurrency==this.currencyList[i].currencyId){
  2074. zaocan=this.TwoParameters.breakfastPrice*this.currencyList[i].rate
  2075. }
  2076. }
  2077. }else{
  2078. zaocan=this.TwoParameters.breakfastPrice*this.RequiredParameters.CurrentRate
  2079. }
  2080. // console.log(dishui,chengshishui,zaocan)
  2081. this.Paymentinfor.paymentAmount=(dishui+chengshishui+zaocan+(this.TwoParameters.amount*this.RequiredParameters.CurrentRate)).toFixed(2)
  2082. }else{
  2083. this.Paymentinfor.paymentCurrency=this.TwoParameters.RentCurrency
  2084. this.Paymentinfor.paymentAmount=(this.TwoParameters.RentPrice+this.TwoParameters.CitytaxPrice+this.TwoParameters.breakfastPrice+this.TwoParameters.amount).toFixed(2)
  2085. }
  2086. },
  2087. //切换团组
  2088. delegationSelectChange() {
  2089. this.delegationInfo=[];
  2090. this.PostGroupListByCTableAndUserId();
  2091. this.AddToggle();
  2092. this.getcostbudgeting();
  2093. },
  2094. DownloadVOUCHER(index,row) {
  2095. var url = "/api/Groups/PostHotelReservationsCreateVoucherBatchNew"
  2096. var that = this
  2097. this.$axios({
  2098. method: 'post',
  2099. url: url,
  2100. headers: {
  2101. Authorization: 'Bearer ' + that.token
  2102. },
  2103. data: {
  2104. portType: 1 ,
  2105. userId: that.userId ,
  2106. pageId: that.pageId ,
  2107. diId: that.OpHotelReservationsData.diId ,
  2108. id: 0
  2109. }
  2110. }).then(function (res) {
  2111. if (res.data.code == 200) {
  2112. window.location.href = res.data.data
  2113. } else {
  2114. that.$message.error(res.data.msg);
  2115. }
  2116. }).catch(function (error) {
  2117. that.$message.error("网络错误,请稍后重试");
  2118. });
  2119. },
  2120. ConfirmWord() {
  2121. var url = "/api/Groups/PostHotelReservationsConfirmationSlip"
  2122. var that = this
  2123. this.$axios({
  2124. method: 'post',
  2125. url: url,
  2126. headers: {
  2127. Authorization: 'Bearer ' + that.token
  2128. },
  2129. data: {
  2130. portType: 1 ,
  2131. userId: that.userId ,
  2132. pageId: that.pageId ,
  2133. diId: that.OpHotelReservationsData.diId ,
  2134. }
  2135. }).then(function (res) {
  2136. if (res.data.code == 200) {
  2137. window.location.href = res.data.data
  2138. } else {
  2139. that.$message.error(res.data.msg);
  2140. }
  2141. }).catch(function (error) {
  2142. that.$message.error("网络错误,请稍后重试");
  2143. });
  2144. },
  2145. },
  2146. filters:{
  2147. filter_city(value){
  2148. if(value){
  2149. return value.replaceAll('|','、')
  2150. }
  2151. },
  2152. filter_time(value){
  2153. if(value){
  2154. return value.split(" ")[0]
  2155. }
  2156. }
  2157. },
  2158. watch:{
  2159. CalculateTade:function(a,b){
  2160. // console.log(a,b)
  2161. },
  2162. 'TwoParameters.singleroomsCurrency': {
  2163. handler (val) {
  2164. this.currencyarrss=[];
  2165. this.currencyarrs[0]=val;
  2166. var arr=Array.from(new Set(this.currencyarrs));
  2167. console.log(arr);
  2168. for(let i=0;i<this.currencyList.length;i++){
  2169. for(let j=0;j<arr.length;j++){
  2170. if(arr[j]==this.currencyList[i].currencyId){
  2171. this.currencyarrss.push(this.currencyList[i])
  2172. }
  2173. }
  2174. }
  2175. this.currencyarrss=Array.from(new Set(this.currencyarrss));
  2176. }
  2177. },
  2178. 'TwoParameters.breakfastCurrency': {
  2179. handler (val) {
  2180. this.currencyarrss=[];
  2181. this.currencyarrs[1]=val;
  2182. var arr=Array.from(new Set(this.currencyarrs));
  2183. console.log(arr);
  2184. for(let i=0;i<this.currencyList.length;i++){
  2185. for(let j=0;j<arr.length;j++){
  2186. if(arr[j]==this.currencyList[i].currencyId){
  2187. this.currencyarrss.push(this.currencyList[i])
  2188. }
  2189. }
  2190. }
  2191. this.currencyarrss=Array.from(new Set(this.currencyarrss));
  2192. }
  2193. },
  2194. 'TwoParameters.RentCurrency': {
  2195. handler (val) {
  2196. this.currencyarrss=[];
  2197. this.currencyarrs[2]=val;
  2198. var arr=Array.from(new Set(this.currencyarrs));
  2199. console.log(arr);
  2200. for(let i=0;i<this.currencyList.length;i++){
  2201. for(let j=0;j<arr.length;j++){
  2202. if(arr[j]==this.currencyList[i].currencyId){
  2203. this.currencyarrss.push(this.currencyList[i])
  2204. }
  2205. }
  2206. }
  2207. this.currencyarrss=Array.from(new Set(this.currencyarrss));
  2208. }
  2209. },
  2210. 'TwoParameters.CitytaxCurrency': {
  2211. handler (val) {
  2212. this.currencyarrss=[];
  2213. this.currencyarrs[3]=val;
  2214. var arr=Array.from(new Set(this.currencyarrs));
  2215. console.log(arr);
  2216. for(let i=0;i<this.currencyList.length;i++){
  2217. for(let j=0;j<arr.length;j++){
  2218. if(arr[j]==this.currencyList[i].currencyId){
  2219. this.currencyarrss.push(this.currencyList[i])
  2220. }
  2221. }
  2222. }
  2223. this.currencyarrss=Array.from(new Set(this.currencyarrss));
  2224. }
  2225. },
  2226. },
  2227. mounted() {
  2228. this.token = JSON.parse(localStorage.getItem('userinif')).token;
  2229. this.pageId=Number(localStorage.getItem('indexs').split('-')[1]);//页面id
  2230. this.userId = JSON.parse(localStorage.getItem('userinif')).userInfo.userId;
  2231. this.PostPageLinkCTable();
  2232. // this.PostHotelReservationsItemsByDiId()
  2233. // this.HotelReservationsInitialize();
  2234. //this.AirTicketResList()
  2235. }
  2236. }
  2237. </script>
  2238. <style>
  2239. .hotelr-all {
  2240. background-color: #fff;
  2241. padding: 10px;
  2242. box-shadow: 0 0 5px #0005;
  2243. border-radius: 10px;
  2244. height: 100%;
  2245. min-height: 840px;
  2246. }
  2247. .hotelr-all .block {
  2248. margin-top: 10px;
  2249. }
  2250. .hotelr-head-li label {
  2251. color: #606266;
  2252. font-size: 15px;
  2253. font-weight: 600;
  2254. }
  2255. .hotelr-head {
  2256. display: flex;
  2257. justify-content: space-between;
  2258. }
  2259. .hotelr-info {
  2260. display: flex;
  2261. margin-top: 10px;
  2262. }
  2263. .hotelr-info-li {
  2264. margin-right: 30px;
  2265. }
  2266. .hotelr-info-li label {
  2267. color: #606266;
  2268. font-size: 15px;
  2269. font-weight: 600;
  2270. }
  2271. .hotelr-info-li span {
  2272. color: #606266;
  2273. font-size: 14px;
  2274. }
  2275. .hotelr-table {
  2276. margin-top: 10px;
  2277. }
  2278. .form-head {
  2279. display: flex;
  2280. justify-content: space-between;
  2281. }
  2282. .hotelr-form {
  2283. margin-top: 20px;
  2284. }
  2285. .fjprice.el-input-number.is-without-controls .el-input__inner {
  2286. padding-left: 2px;
  2287. padding-right: 2px;
  2288. }
  2289. .form-foundationone {
  2290. margin-top: 10px;
  2291. border-top: 2px solid #409EFF;
  2292. padding-top: 10px;
  2293. }
  2294. .form-foundationone .el-form-item {
  2295. margin-bottom: 12px;
  2296. }
  2297. .form-foundationone .el-form-item__error {
  2298. top: 90%;
  2299. }
  2300. .select-bz .el-select {
  2301. width: 100%;
  2302. }
  2303. .payment-detail{
  2304. border-top: #0002 1px solid;
  2305. padding-top: 10px;
  2306. }
  2307. .Exchangerate-box{
  2308. display: flex;
  2309. flex-wrap: wrap;
  2310. padding: 0 40px;
  2311. margin-bottom: 10px;
  2312. font-size: 14px;
  2313. color: red;
  2314. }
  2315. .Exchangerate-box div{
  2316. width: 120px;
  2317. }
  2318. </style>