OpInvitationOfficialActivities.vue 58 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200
  1. <template>
  2. <div class="car_add">
  3. <div class="haed-yqgw">
  4. <div class="communal-title">
  5. <div>{{ title }}</div>
  6. </div>
  7. <div style="display: flex;align-items: center;">
  8. <el-popover placement="right" trigger="hover">
  9. <el-table height="700" :data="budgeting" border>
  10. <el-table-column width="100" property="date" label="日期"></el-table-column>
  11. <el-table-column width="120" label="会务活动费">
  12. <template slot-scope="scope">
  13. <span>
  14. {{ townum(scope.row.officialActivitiesFee)+' '+ bizhong }}
  15. </span>
  16. </template>
  17. </el-table-column>
  18. <el-table-column width="120" label="公务翻译费">
  19. <template slot-scope="scope">
  20. <span>
  21. {{ townum(scope.row.officialTransFee)+' '+ bizhong }}
  22. </span>
  23. </template>
  24. </el-table-column>
  25. <el-table-column width="120" label="邀请函费用">
  26. <template slot-scope="scope">
  27. <span>
  28. {{ townum(scope.row.invitationFee) +' '+ bizhong }}
  29. </span>
  30. </template>
  31. </el-table-column>
  32. <el-table-column width="120" label="会务费">
  33. <template slot-scope="scope">
  34. <span>
  35. {{ townum(scope.row.activitiesFee)+' ' + bizhong }}
  36. </span>
  37. </template>
  38. </el-table-column>
  39. </el-table>
  40. <el-button type="primary" slot="reference">移上提示成本</el-button>
  41. </el-popover>
  42. <!-- 客户名单 -->
  43. <el-popover
  44. placement="bottom"
  45. width="662"
  46. trigger="hover">
  47. <el-table max-height="600" border :data="rollcallarr">
  48. <el-table-column width="100" property="date" label="姓名">
  49. <template slot-scope="scope">
  50. {{ scope.row.lastName}}{{scope.row.firstName}}
  51. </template>
  52. </el-table-column>
  53. <el-table-column width="200" property="lastName" label="拼音">
  54. <template slot-scope="scope">
  55. {{ pinyingxing(scope.row.lastName) }}/{{ pinyingxing(scope.row.firstName) }}
  56. </template>
  57. </el-table-column>
  58. <el-table-column width="50" property="sex" label="性别">
  59. <template slot-scope="scope">
  60. {{ scope.row.sex==0?'男':'女'}}
  61. </template>
  62. </el-table-column>
  63. <el-table-column width="110" property="birthDay" label="生日">
  64. <template slot-scope="scope">
  65. {{ fgarr(scope.row.birthDay) }}
  66. </template>
  67. </el-table-column>
  68. <el-table-column width="200" property="idCardNo" label="身份证号码">
  69. <template slot-scope="scope">
  70. {{ scope.row.idCardNo }}
  71. </template>
  72. </el-table-column>
  73. </el-table>
  74. <el-button style="margin-left: 10px;" slot="reference">移上查看客户名单</el-button>
  75. <!-- <span slot="reference" style="cursor: pointer;margin-left: 20px;">"移上查看客户名单"</span> -->
  76. </el-popover>
  77. </div>
  78. </div>
  79. <hr style='background-color:#5555; height:1px; border:none;margin: 10px 0;' />
  80. <div style="padding-top: 10px;">
  81. <el-form :model="delegationInfo" class="demo-ruleForm">
  82. <div style="display: flex;flex-wrap: wrap;">
  83. <div style="width: 385px;">
  84. <el-form-item label="团组名称:" label-width="160px">
  85. <el-select v-model="DiIdSelect" clearable filterable placeholder="团组选择"
  86. @change="DecreasePaymentsChange" :disabled="isShow" style="width: 100%;">
  87. <el-option v-for="item in delegationInfoList" :key="item.id" :label="item.teamName"
  88. :value="item.id">
  89. </el-option>
  90. </el-select>
  91. </el-form-item>
  92. </div>
  93. <div style="width: 385px;">
  94. <el-form-item label="团 号:" prop="tourCode" label-width="160px">
  95. <el-input placeholder="团号" v-model="delegationInfo.tourCode" :disabled="true">
  96. </el-input>
  97. </el-form-item>
  98. </div>
  99. <div style="width: 385px;">
  100. <el-form-item label="客户:" prop="clientName" label-width="160px">
  101. <el-input placeholder="客户" v-model="delegationInfo.clientName" :disabled="true">
  102. </el-input>
  103. </el-form-item>
  104. </div>
  105. <div style="width: 385px;">
  106. <el-form-item label="出访国家:" prop="visitCountry" label-width="160px">
  107. <el-input placeholder="出访国家" v-model="delegationInfo.visitCountry" :disabled="true">
  108. </el-input>
  109. </el-form-item>
  110. </div>
  111. </div>
  112. </el-form>
  113. <el-form :model="InvitationOfficialActivities" ref="InvitationOfficialActivities"
  114. :rules="InvitationOfficialActivitiesRules" label-width="160px" class="demo-ruleForm">
  115. <div style="display:flex ; flex-wrap: wrap;">
  116. <div style="width: 385px;">
  117. <el-form-item label="邀请方地区:" prop="inviterArea" label-width="160px">
  118. <el-input placeholder="邀请方地区" v-model="InvitationOfficialActivities.inviterArea">
  119. </el-input>
  120. </el-form-item>
  121. </div>
  122. <div style="width: 385px;">
  123. <el-form-item label="邀请方:" prop="inviter" label-width="160px">
  124. <el-input placeholder="邀请方" v-model="InvitationOfficialActivities.inviter">
  125. </el-input>
  126. </el-form-item>
  127. </div>
  128. <div style="width: 385px;">
  129. <el-form-item label="邀请方职位:" prop="job" label-width="160px">
  130. <el-input placeholder="邀请方职位" v-model="InvitationOfficialActivities.job">
  131. </el-input>
  132. </el-form-item>
  133. </div>
  134. <div style="width: 385px;">
  135. <el-form-item label="邀请时间:" prop="inviteTime" label-width="160px">
  136. <el-date-picker value-format="yyyy-MM-dd" v-model="InvitationOfficialActivities.inviteTime"
  137. type="date" placeholder="选择日期">
  138. </el-date-picker>
  139. </el-form-item>
  140. </div>
  141. <div style="width: 385px;">
  142. <el-form-item label="是否到场:" prop="isGoOfficaiaBussiness" label-width="160px">
  143. <el-radio-group v-model="InvitationOfficialActivities.isGoOfficaiaBussiness">
  144. <el-radio :label=1>是</el-radio>
  145. <el-radio :label=0>否</el-radio>
  146. </el-radio-group>
  147. </el-form-item>
  148. </div>
  149. <div style="width: 385px;">
  150. <el-form-item label="联系人:" prop="contact" label-width="160px">
  151. <el-input placeholder="联系人" v-model="InvitationOfficialActivities.contact">
  152. </el-input>
  153. </el-form-item>
  154. </div>
  155. <div style="width: 385px;">
  156. <el-form-item label="联系电话:" prop="tel" label-width="160px">
  157. <el-input placeholder="联系电话" v-model="InvitationOfficialActivities.tel">
  158. </el-input>
  159. </el-form-item>
  160. </div>
  161. <div style="width: 385px;">
  162. <el-form-item label="电子邮箱:" prop="email" label-width="160px">
  163. <el-input placeholder="电子邮箱" v-model="InvitationOfficialActivities.email">
  164. </el-input>
  165. </el-form-item>
  166. </div>
  167. <div style="width: 385px;">
  168. <el-form-item label="传真号码:" prop="fax" label-width="160px">
  169. <el-input placeholder="传真号码" v-model="InvitationOfficialActivities.fax">
  170. </el-input>
  171. </el-form-item>
  172. </div>
  173. </div>
  174. <div style="display: flex; flex-wrap: wrap;">
  175. <div style="width: 775px;">
  176. <el-form-item label="邀请方地址:" prop="address" label-width="160px">
  177. <el-input type="textarea" :rows="5" placeholder="邀请方地址"
  178. v-model="InvitationOfficialActivities.address"></el-input>
  179. </el-form-item>
  180. </div>
  181. <div style="width: 775px;">
  182. <el-form-item label="其他信息:" prop="otherInformation" label-width="160px">
  183. <el-input type="textarea" :rows="5" placeholder="其他信息"
  184. v-model="InvitationOfficialActivities.otherInformation"></el-input>
  185. </el-form-item>
  186. </div>
  187. </div>
  188. <div style="display:flex ;flex-wrap: wrap;">
  189. <div style="width: 385px;">
  190. <div style="display: flex;">
  191. <div style="width: 72%;">
  192. <el-form-item label="公务活动费:" prop="eventsCost" label-width="160px">
  193. <el-input-number @change="computerenminbi" :precision="2" placeholder="公务活动费" v-model="InvitationOfficialActivities.eventsCost" :controls='false'>
  194. </el-input-number>
  195. </el-form-item>
  196. </div>
  197. <div style="width: 28%;">
  198. <el-form-item prop="eventsCurrency" label-width="5px">
  199. <el-select @change="computerenminbi(1)" v-model="InvitationOfficialActivities.eventsCurrency" placeholder="币种">
  200. <el-option v-for="item in rateList" :key="item.currencyId"
  201. :label="item.currencyCode" :value="item.currencyId"></el-option>
  202. </el-select>
  203. </el-form-item>
  204. </div>
  205. </div>
  206. </div>
  207. <div style="width: 385px;">
  208. <div style="display: flex;">
  209. <div style="width: 72%;">
  210. <el-form-item label="公务翻译费:" prop="translateCost" label-width="160px">
  211. <el-input-number @change="computerenminbi" :precision="2" placeholder="公务翻译费" v-model="InvitationOfficialActivities.translateCost" :controls='false'>
  212. </el-input-number>
  213. </el-form-item>
  214. </div>
  215. <div style="width: 28%;">
  216. <el-form-item prop="translateCurrency" label-width="5px">
  217. <el-select @change="computerenminbi" v-model="InvitationOfficialActivities.translateCurrency" placeholder="币种">
  218. <el-option v-for="item in rateList" :key="item.currencyId"
  219. :label="item.currencyCode" :value="item.currencyId"></el-option>
  220. </el-select>
  221. </el-form-item>
  222. </div>
  223. </div>
  224. </div>
  225. <div style="width: 385px;">
  226. <div style="display: flex;">
  227. <div style="width: 72%;">
  228. <el-form-item label="快递费:" prop="sendCost" label-width="160px">
  229. <el-input-number @change="computerenminbi" :precision="2" v-model="InvitationOfficialActivities.sendCost" :controls='false'
  230. ></el-input-number>
  231. </el-form-item>
  232. </div>
  233. <div style="width: 28%;">
  234. <el-form-item prop="sendCurrency" label-width="5px">
  235. <el-select @change="computerenminbi" v-model="InvitationOfficialActivities.sendCurrency" placeholder="币种">
  236. <el-option v-for="item in rateList" :key="item.currencyId"
  237. :label="item.currencyCode" :value="item.currencyId"></el-option>
  238. </el-select>
  239. </el-form-item>
  240. </div>
  241. </div>
  242. </div>
  243. <div style="width: 385px;">
  244. <div style="display: flex;">
  245. <div style="width: 72%;">
  246. <el-form-item label="邀请费用:" prop="inviteCost" label-width="160px">
  247. <el-input-number @change="computerenminbi" :precision="2" placeholder="邀请费用" v-model="InvitationOfficialActivities.inviteCost" :controls='false'>
  248. </el-input-number>
  249. </el-form-item>
  250. </div>
  251. <div style="width: 28%;">
  252. <el-form-item prop="inviteCurrency" label-width="5px">
  253. <el-select @change="computerenminbi" v-model="InvitationOfficialActivities.inviteCurrency" placeholder="币种">
  254. <el-option v-for="item in rateList" :key="item.currencyId"
  255. :label="item.currencyCode" :value="item.currencyId"></el-option>
  256. </el-select>
  257. </el-form-item>
  258. </div>
  259. </div>
  260. </div>
  261. <div style="width: 385px;">
  262. <div style="display: flex;">
  263. <div style="width: 72%;">
  264. <el-form-item label="支付总费用:" prop="payMoney" label-width="160px">
  265. <el-input-number :disabled="true" :precision="2" v-model="InvitationOfficialActivities.payMoney" :controls='false'
  266. ></el-input-number>
  267. </el-form-item>
  268. </div>
  269. <div style="width: 28%;">
  270. <el-form-item prop="paymentCurrency" label-width="5px">
  271. <el-select :disabled="true" v-model="InvitationOfficialActivities.paymentCurrency" placeholder="币种">
  272. <el-option v-for="item in rateList" :key="item.currencyId"
  273. :label="item.currencyCode" :value="item.currencyId"></el-option>
  274. </el-select>
  275. </el-form-item>
  276. </div>
  277. </div>
  278. </div>
  279. <div style="width: 385px;">
  280. <el-form-item label="收款方:" prop="payee" label-width="160px">
  281. <el-input placeholder="收款方" v-model="InvitationOfficialActivities.payee">
  282. </el-input>
  283. </el-form-item>
  284. </div>
  285. <div style="width: 385px;">
  286. <el-form-item label="费用标识:" prop="orbitalPrivateTransfer">
  287. <el-select v-model="InvitationOfficialActivities.orbitalPrivateTransfer" placeholder="费用标识"
  288. style="width: 100%;">
  289. <el-option v-for="item in costIdentificationData" :key="item.id" :label="item.name" :value="item.id">
  290. </el-option>
  291. </el-select>
  292. </el-form-item>
  293. </div>
  294. <div style="width: 385px;">
  295. <el-form-item label="消费日期:" prop="consumptionDate">
  296. <el-date-picker value-format="yyyy-MM-dd" v-model="InvitationOfficialActivities.consumptionDate"
  297. type="date" placeholder="选择日期">
  298. </el-date-picker>
  299. </el-form-item>
  300. </div>
  301. <div style="width: 385px;">
  302. <el-form-item label="消费方式:" prop="consumptionPatterns">
  303. <el-input placeholder="消费方式" v-model="InvitationOfficialActivities.consumptionPatterns">
  304. </el-input>
  305. </el-form-item>
  306. </div>
  307. <div style="width: 385px;">
  308. <el-form-item label="支付方式:" prop="payDId">
  309. <el-select v-model="InvitationOfficialActivities.payDId" placeholder="支付方式">
  310. <el-option v-for="item in payment" :key="item.id" :label="item.name" :value="item.id">
  311. </el-option>
  312. </el-select>
  313. </el-form-item>
  314. </div>
  315. <div v-if="InvitationOfficialActivities.payDId==72" style="width: 385px;">
  316. <el-form-item label="卡类型:" prop="ctdId">
  317. <el-select @change="cardhandoff" v-model="InvitationOfficialActivities.ctdId" placeholder="卡类型">
  318. <el-option v-for="item in cardTypeData" :key="item.id" :label="item.name" :value="item.id">
  319. </el-option>
  320. </el-select>
  321. </el-form-item>
  322. </div>
  323. <div v-if="InvitationOfficialActivities.payDId==72" style="width: 385px;">
  324. <el-form-item label="银行卡号:" prop="bankNo">
  325. <el-input :disabled="true" placeholder="银行卡号" v-model="InvitationOfficialActivities.bankNo">
  326. </el-input>
  327. </el-form-item>
  328. </div>
  329. <div v-if="InvitationOfficialActivities.payDId==72" style="width: 385px;">
  330. <el-form-item label="持卡人姓名:" prop="cardholderName">
  331. <el-input :disabled="true" placeholder="持卡人姓名" v-model="InvitationOfficialActivities.cardholderName">
  332. </el-input>
  333. </el-form-item>
  334. </div>
  335. <div v-if="InvitationOfficialActivities.payDId==73||InvitationOfficialActivities.payDId==83" style="width: 385px;">
  336. <el-form-item label="公司银行卡号:" prop="companyBankNo">
  337. <el-input placeholder="公司银行卡号" v-model="InvitationOfficialActivities.companyBankNo">
  338. </el-input>
  339. </el-form-item>
  340. </div>
  341. <div v-if="InvitationOfficialActivities.payDId==73||InvitationOfficialActivities.payDId==83" style="width: 385px;">
  342. <el-form-item label="对方开户行:" prop="otherBankName">
  343. <el-input placeholder="对方开户行" v-model="InvitationOfficialActivities.otherBankName">
  344. </el-input>
  345. </el-form-item>
  346. </div>
  347. <div v-if="InvitationOfficialActivities.payDId==73||InvitationOfficialActivities.payDId==83" style="width: 385px;">
  348. <el-form-item label="对方银行账号:" prop="otherSideNo">
  349. <el-input placeholder="对方银行账号" v-model="InvitationOfficialActivities.otherSideNo">
  350. </el-input>
  351. </el-form-item>
  352. </div>
  353. <div v-if="InvitationOfficialActivities.payDId==73||InvitationOfficialActivities.payDId==83" style="width: 385px;">
  354. <el-form-item label="对方姓名:" prop="otherSideName">
  355. <el-input placeholder="对方姓名" v-model="InvitationOfficialActivities.otherSideName">
  356. </el-input>
  357. </el-form-item>
  358. </div>
  359. <div style="width: 385px;">
  360. <el-form-item style="position: relative;" label="附件:" prop="fileUrl" label-width="160px">
  361. <span style="position: absolute;top: 0;left: -50px;color: red;">*</span>
  362. <el-upload
  363. :file-list="uploadFiles"
  364. multiple ref="upload"
  365. :on-success="upLoadSuccess"
  366. :on-error="upLoadError"
  367. :on-remove="handleRemove"
  368. :before-remove="beforeRemove"
  369. :on-change="onChange"
  370. :limit="10"
  371. :on-exceed="exceed"
  372. action=""
  373. :auto-upload="false">
  374. <el-button slot="trigger" size="small" type="primary">选取文件</el-button>
  375. <!-- <el-button style="margin-left: 10px;" size="small" type="success"
  376. @click="submitUpload">上传到服务器</el-button> -->
  377. </el-upload>
  378. </el-form-item>
  379. </div>
  380. </div>
  381. <div style="display: flex;">
  382. <div style="width: 100%;">
  383. <el-form-item label="备 注:" prop="remark" label-width="160px">
  384. <el-input type="textarea" :rows="5" placeholder="备注"
  385. v-model="InvitationOfficialActivities.remark"></el-input>
  386. </el-form-item>
  387. </div>
  388. </div>
  389. <el-form-item>
  390. <div style="text-align: right;">
  391. <el-button type="primary" @click="addBtn">保存</el-button>
  392. <el-button @click="cancelbtn">取消</el-button>
  393. </div>
  394. </el-form-item>
  395. </el-form>
  396. </div>
  397. </div>
  398. </template>
  399. <script>
  400. import { pinyin } from 'pinyin-pro';
  401. var figurecharacter = (rule, value, callback) => {
  402. if (!(/^\d+-*[\d,-]*$/.test(value))) {
  403. callback(new Error('请输正确座机或手机号格式!'));
  404. }else {
  405. callback();
  406. }
  407. }
  408. var emailat = (rule, value, callback) => {
  409. if (!value.includes('@')) {
  410. callback(new Error('邮箱格式不正确!'));
  411. }else {
  412. callback();
  413. }
  414. }
  415. var namearr=['小姐','先生','女士','老师']
  416. var namewy = (rule, value, callback) => {
  417. var array=namearr.map((item,index)=>{
  418. if (value.includes(item)) {
  419. console.log(4123);
  420. callback(new Error('联系人不能包含先生、女士、小姐等字样'));
  421. return
  422. }
  423. })
  424. callback();
  425. }
  426. import { debounce } from '../../store/statice'
  427. export default {
  428. data() {
  429. return {
  430. uploadURL: "http://132.232.92.186:8888/api/Groups/UploadProject",
  431. projectName: [],
  432. uploadFiles: [],//上传的文件列表
  433. DelfileName: "",
  434. title: "新增商邀费用",
  435. token: '',
  436. userId: 0,
  437. id: '',
  438. DiId: '',
  439. isShow: false,
  440. DiIdSelect: '',
  441. delegationInfo: {},
  442. IsAuditGM: 0,
  443. delegationInfoList: [],//团组下拉框
  444. payment: [],//支付方式下拉框
  445. cardTypeData:[],//卡类型下拉框
  446. costIdentificationData:[],//费用标识下拉框
  447. InvitationOfficialActivities: {
  448. status: 0,
  449. payDId: 0,
  450. orbitalPrivateTransfer: 0,
  451. payee: '',
  452. id: 0,
  453. diId: '',
  454. inviterArea: '',
  455. inviter: '',
  456. inviteTime: this.transformDateFormat(new Date()),
  457. attachment: '',
  458. payMoney:0,
  459. paymentCurrency:'',
  460. eventsCost:0,
  461. eventsCurrency:'',
  462. inviteCost: 0,
  463. inviteCurrency: '',
  464. translateCost:0,
  465. translateCurrency: '',
  466. sendCost: 0,
  467. sendCurrency:'',
  468. isGoOfficaiaBussiness: 0,
  469. createUserId: 0,
  470. remark: '',
  471. address: '',
  472. contact: '',
  473. job: '',
  474. tel: '',
  475. email: '',
  476. fax: '',
  477. otherInformation: '',
  478. consumptionDate: '',//消费日期
  479. consumptionPatterns: '',//消费方式
  480. ctdId: '',//卡类型
  481. bankNo: '',//银行卡号
  482. cardholderName: '',//持卡人姓名
  483. companyBankNo: '',//公司银行卡号
  484. otherBankName: '',//对方开户行
  485. otherSideNo: '',//对方银行账号
  486. otherSideName: '',//对方姓名
  487. },
  488. headers: {
  489. Authorization: JSON.parse(localStorage.getItem('userinif')).token,
  490. TypeName: "B"
  491. },
  492. InvitationOfficialActivitiesRules: {
  493. inviteCost: [
  494. { required: true, message: '请输入费用金额', trigger: 'blur' },
  495. ],
  496. eventsCost: [
  497. { required: true, message: '请输入费用金额', trigger: 'blur' },
  498. ],
  499. translateCost: [
  500. { required: true, message: '请输入费用金额', trigger: 'blur' },
  501. ],
  502. sendCost: [
  503. { required: true, message: '请输入费用金额', trigger: 'blur' },
  504. ],
  505. payMoney: [
  506. { required: true, message: '请输入费用金额', trigger: 'blur' },
  507. ],
  508. companyBankNo: [
  509. { required: true, message: '请输入', trigger: 'blur' },
  510. ],
  511. email: [
  512. { required: true, message: '请输入', trigger: 'blur' },
  513. {validator: emailat, trigger: 'blur'},
  514. ],
  515. otherBankName: [
  516. { required: true, message: '请输入', trigger: 'blur' },
  517. ],
  518. otherSideNo: [
  519. { required: true, message: '请输入', trigger: 'blur' },
  520. ],
  521. otherSideName: [
  522. { required: true, message: '请输入', trigger: 'blur' },
  523. ],
  524. inviterArea: [
  525. { required: true, message: '请输入邀请方地区', trigger: 'change' },
  526. { required: true, message: '请输入邀请方地区', trigger: 'blur' },
  527. ],
  528. inviter: [
  529. { required: true, message: '请输入邀请方', trigger: 'change' },
  530. { required: true, message: '请输入邀请方', trigger: 'blur' },
  531. ],
  532. job: [
  533. { required: true, message: '请输入邀请方', trigger: 'change' },
  534. { required: true, message: '请输入邀请方', trigger: 'blur' },
  535. ],
  536. inviteTime: [
  537. { required: true, message: '请选择邀请时间', trigger: 'change' },
  538. { required: true, message: '请选择邀请时间', trigger: 'blur' },
  539. ],
  540. consumptionDate: [
  541. { required: true, message: '请选择邀请时间', trigger: 'change' },
  542. { required: true, message: '请选择邀请时间', trigger: 'blur' },
  543. ],
  544. consumptionPatterns: [
  545. { required: true, message: '请选择邀请时间', trigger: 'change' },
  546. { required: true, message: '请选择邀请时间', trigger: 'blur' },
  547. ],
  548. contact: [
  549. { required: true, message: '请输入联系人', trigger: 'change' },
  550. { required: true, message: '请输入联系人', trigger: 'blur' },
  551. {validator: namewy, trigger: 'blur'},
  552. ],
  553. tel: [
  554. { required: true, message: '请输入联系方式', trigger: 'change' },
  555. { required: true, message: '请输入联系方式', trigger: 'blur' },
  556. {validator: figurecharacter, trigger: 'blur'},
  557. ],
  558. address: [
  559. { required: true, message: '请输入邀请方地址', trigger: 'change' },
  560. { required: true, message: '请输入邀请方地址', trigger: 'blur' },
  561. ],
  562. payee: [
  563. { required: true, message: '请输入收款方', trigger: 'change' },
  564. { required: true, message: '请输入收款方', trigger: 'blur' },
  565. ],
  566. inviteCurrency: [
  567. { required: true, message: '请选择币种', trigger: 'change' },
  568. { required: true, message: '请选择币种', trigger: 'blur' },
  569. ],
  570. eventsCurrency: [
  571. { required: true, message: '请选择币种', trigger: 'change' },
  572. { required: true, message: '请选择币种', trigger: 'blur' },
  573. ],
  574. translateCurrency: [
  575. { required: true, message: '请选择币种', trigger: 'change' },
  576. { required: true, message: '请选择币种', trigger: 'blur' },
  577. ],
  578. sendCurrency: [
  579. { required: true, message: '请选择币种', trigger: 'change' },
  580. { required: true, message: '请选择币种', trigger: 'blur' },
  581. ],
  582. paymentCurrency: [
  583. { required: true, message: '请选择币种', trigger: 'change' },
  584. { required: true, message: '请选择币种', trigger: 'blur' },
  585. ],
  586. },
  587. rateList: [],
  588. budgeting:[],
  589. bizhong:'',
  590. rollcallarr:[],
  591. }
  592. },
  593. methods: {
  594. //拼音
  595. pinyingxing(val){
  596. return pinyin(val, { toneType: 'none' }).toUpperCase();
  597. },
  598. //fenge
  599. fgarr(val){
  600. val=val+""
  601. return val.split(' ')[0]
  602. },
  603. //保留两位小数
  604. townum(val) {
  605. if (val == 0.00) {
  606. return '--'
  607. } else {
  608. return val.toFixed(2)
  609. }
  610. },
  611. //卡类型切换
  612. cardhandoff(val){
  613. console.log(val)
  614. for(var i=0;i<this.cardTypeData.length;i++){
  615. if(val==this.cardTypeData[i].id){
  616. this.InvitationOfficialActivities.bankNo=this.cardTypeData[i].remark;
  617. this.InvitationOfficialActivities.cardholderName=this.cardTypeData[i].cardholder;
  618. }
  619. }
  620. },
  621. //获取基础数据
  622. InvitationOfficialActivityInitBasicData() {
  623. var url = "/api/Groups/InvitationOfficialActivityInitBasicData"
  624. var that = this
  625. this.$axios({
  626. method: 'post',
  627. url: url,
  628. headers: {
  629. Authorization: 'Bearer ' + this.token
  630. }
  631. }).then(function (res) {
  632. if (res.data.code == 200) {
  633. console.log(res)
  634. that.payment = res.data.data.payTypeData;
  635. that.cardTypeData = res.data.data.cardTypeData;
  636. that.costIdentificationData = res.data.data.costIdentificationData;
  637. //下拉框初始值
  638. that.InvitationOfficialActivities.orbitalPrivateTransfer=that.costIdentificationData[0].id;
  639. that.InvitationOfficialActivities.payDId=that.payment[0].id;
  640. that.InvitationOfficialActivities.ctdId=that.cardTypeData[0].id;
  641. that.InvitationOfficialActivities.bankNo=that.cardTypeData[0].remark;
  642. that.InvitationOfficialActivities.cardholderName=that.cardTypeData[0].cardholder;
  643. if (that.id != null && that.id != undefined && that.id != 0) {
  644. that.InvitationOfficialActivitiesById();
  645. that.title = "修改商邀费用";
  646. that.InvitationOfficialActivities.status = 2
  647. that.isShow = true
  648. } else {
  649. that.InvitationOfficialActivities.status = 1
  650. that.title = "新增商邀费用"
  651. that.isShow = false
  652. }
  653. }else{
  654. that.$message.error(res.data.msg);
  655. }
  656. })
  657. },
  658. //获取客户名单info
  659. PostTourClientListByDiId(val) {
  660. this.rollcallarr=[];
  661. var that = this
  662. var url = "/api/Groups/PostTourClientListByDiId"
  663. this.$axios({
  664. method: 'post',
  665. url: url,
  666. headers: {
  667. Authorization: 'Bearer ' + that.token
  668. },
  669. data: {
  670. portType:1,
  671. diid: val?val:that.DiIdSelect,
  672. pageId:104,
  673. userId:233
  674. }
  675. }).then(function (res) {
  676. if (res.data.code == 200) {
  677. that.rollcallarr=res.data.data;
  678. } else {
  679. that.$message.error(res.data.msg);
  680. }
  681. })
  682. },
  683. //获取成本提示
  684. getcostbudgeting() {
  685. this.budgeting = [];
  686. this.bizhong = '';
  687. var url = "/api/Groups/PostGroupCostModulePrompt"
  688. var that = this
  689. this.$axios({
  690. method: 'post',
  691. url: url,
  692. headers: {
  693. Authorization: 'Bearer ' + this.token
  694. },
  695. data: {
  696. userId: that.userId,
  697. diId: that.DiIdSelect ? that.DiIdSelect : that.DiId,
  698. cTable: 79,
  699. }
  700. }).then(function (res) {
  701. if (res.data.code == 200) {
  702. that.budgeting = res.data.data.modulePromptInfos[0].data;
  703. that.bizhong = res.data.data.modulePromptInfos[0].currencyCode;
  704. } else {
  705. that.$message.error(res.data.msg);
  706. }
  707. })
  708. },
  709. //团组下拉框
  710. AirTicketResSelect() {
  711. var url = "/api/Groups/DecreasePaymentsSelect"
  712. var that = this
  713. this.$axios({
  714. method: 'post',
  715. url: url,
  716. headers: {
  717. Authorization: 'Bearer ' + this.token
  718. },
  719. data: {
  720. userId: that.userId,
  721. ctId: 81
  722. }
  723. }).then(function (res) {
  724. if (res.data.code == 200) {
  725. console.log(res)
  726. that.delegationInfoList = res.data.data.groupName;
  727. that.DiIdSelect = parseInt(that.DiId)
  728. for (let index = 0; index < that.delegationInfoList.length; index++) {
  729. if (that.delegationInfoList[index].id == that.DiIdSelect) {
  730. that.delegationInfo = that.delegationInfoList[index];
  731. break;
  732. }
  733. }
  734. that.PostTourClientListByDiId();
  735. // that.payment = res.data.data.payment
  736. }
  737. })
  738. },
  739. InvitationOfficialActivitiesById() {
  740. var url = "/api/Groups/InvitationOfficialActivitiesById"
  741. var that = this
  742. this.$axios({
  743. method: 'post',
  744. url: url,
  745. headers: {
  746. Authorization: 'Bearer ' + this.token
  747. },
  748. data: {
  749. Id: that.id,
  750. portType: 1
  751. }
  752. }).then(function (res) {
  753. if (res.data.code == 200) {
  754. console.log(res.data.data)
  755. that.InvitationOfficialActivities.payDId = res.data.data._CreditCard.payDId;
  756. that.InvitationOfficialActivities.orbitalPrivateTransfer = res.data.data._CreditCard.orbitalPrivateTransfer;
  757. that.InvitationOfficialActivities.payee = res.data.data._CreditCard.payee;
  758. that.InvitationOfficialActivities.id = res.data.data._Invitation.id;
  759. that.InvitationOfficialActivities.diId = res.data.data._Invitation.diId;
  760. that.InvitationOfficialActivities.inviterArea = res.data.data._Invitation.inviterArea;
  761. that.InvitationOfficialActivities.inviter = res.data.data._Invitation.inviter;
  762. that.InvitationOfficialActivities.inviteTime = res.data.data._Invitation.inviteTime;
  763. that.InvitationOfficialActivities.attachment = res.data.data._Invitation.attachments;
  764. that.projectName = res.data.data._Invitation.attachments;
  765. that.InvitationOfficialActivities.inviteCost = res.data.data._Invitation.inviteCost;
  766. that.InvitationOfficialActivities.inviteCurrency = res.data.data._Invitation.inviteCurrency;
  767. that.InvitationOfficialActivities.sendCost = res.data.data._Invitation.sendCost;
  768. that.InvitationOfficialActivities.sendCurrency = res.data.data._Invitation.sendCurrency;
  769. that.InvitationOfficialActivities.eventsCost = res.data.data._Invitation.eventsCost;
  770. that.InvitationOfficialActivities.eventsCurrency = res.data.data._Invitation.eventsCurrency;
  771. that.InvitationOfficialActivities.translateCost = res.data.data._Invitation.translateCost;
  772. that.InvitationOfficialActivities.translateCurrency = res.data.data._Invitation.translateCurrency;
  773. that.InvitationOfficialActivities.isGoOfficaiaBussiness = res.data.data._Invitation.isGoOfficaiaBussiness;
  774. that.InvitationOfficialActivities.remark = res.data.data._Invitation.remark;
  775. that.InvitationOfficialActivities.address = res.data.data._InvitationData.address;
  776. that.InvitationOfficialActivities.contact = res.data.data._InvitationData.contact;
  777. that.InvitationOfficialActivities.job = res.data.data._InvitationData.job;
  778. that.InvitationOfficialActivities.tel = res.data.data._InvitationData.tel;
  779. that.IsAuditGM = res.data.data._CreditCard.isAuditGM;
  780. //
  781. that.InvitationOfficialActivities.consumptionDate = res.data.data._CreditCard.consumptionDate;
  782. that.InvitationOfficialActivities.consumptionPatterns = res.data.data._CreditCard.consumptionPatterns;
  783. that.InvitationOfficialActivities.ctdId = res.data.data._CreditCard.ctdId;
  784. that.InvitationOfficialActivities.bankNo = res.data.data._CreditCard.bankNo;
  785. that.InvitationOfficialActivities.cardholderName = res.data.data._CreditCard.cardholderName;
  786. that.InvitationOfficialActivities.companyBankNo = res.data.data._CreditCard.companyBankNo;
  787. that.InvitationOfficialActivities.otherBankName = res.data.data._CreditCard.otherBankName;
  788. that.InvitationOfficialActivities.otherSideNo = res.data.data._CreditCard.otherSideNo;
  789. that.InvitationOfficialActivities.otherSideName = res.data.data._CreditCard.otherSideName;
  790. //
  791. that.InvitationOfficialActivities.payMoney=res.data.data._CreditCard.payMoney;
  792. that.InvitationOfficialActivities.paymentCurrency=res.data.data._CreditCard.paymentCurrency;
  793. that.InvitationOfficialActivities.email = res.data.data._InvitationData.email;
  794. that.InvitationOfficialActivities.fax = res.data.data._InvitationData.fax;
  795. that.InvitationOfficialActivities.otherInformation = res.data.data._InvitationData.remark;
  796. if (that.InvitationOfficialActivities.attachment != null && that.InvitationOfficialActivities.attachment != undefined && that.InvitationOfficialActivities.attachment != "") {
  797. for (let m = 0; m < that.InvitationOfficialActivities.attachment.length; m++) {
  798. that.uploadFiles.push({
  799. name: that.InvitationOfficialActivities.attachment[m],
  800. url: 'http://132.232.92.186:24/Office/GrpFile/商邀相关文件/'+that.InvitationOfficialActivities.attachment[m],
  801. })
  802. }
  803. }
  804. }
  805. })
  806. },
  807. //币种不同计算为人民币
  808. computerenminbi(val){
  809. if(val==1){
  810. if(this.InvitationOfficialActivities.inviteCurrency==''||this.InvitationOfficialActivities.translateCurrency==''||this.InvitationOfficialActivities.sendCurrency==''){
  811. this.InvitationOfficialActivities.inviteCurrency=this.InvitationOfficialActivities.eventsCurrency;
  812. this.InvitationOfficialActivities.translateCurrency=this.InvitationOfficialActivities.eventsCurrency;
  813. this.InvitationOfficialActivities.sendCurrency=this.InvitationOfficialActivities.eventsCurrency;
  814. }
  815. }
  816. var eventsRate=0;
  817. var inviteRate=0;
  818. var translateRate=0;
  819. var sendRate=0;
  820. for (let h = 0; h < this.rateList.length; h++) {
  821. if(this.InvitationOfficialActivities.eventsCurrency==this.rateList[h].currencyId){
  822. eventsRate=this.rateList[h].rate;
  823. }
  824. if(this.InvitationOfficialActivities.inviteCurrency==this.rateList[h].currencyId){
  825. inviteRate=this.rateList[h].rate;
  826. }
  827. if(this.InvitationOfficialActivities.translateCurrency==this.rateList[h].currencyId){
  828. translateRate=this.rateList[h].rate;
  829. }
  830. if(this.InvitationOfficialActivities.sendCurrency==this.rateList[h].currencyId){
  831. sendRate=this.rateList[h].rate;
  832. }
  833. }
  834. if(
  835. this.InvitationOfficialActivities.eventsCurrency!=this.InvitationOfficialActivities.inviteCurrency
  836. ||this.InvitationOfficialActivities.inviteCurrency!=this.InvitationOfficialActivities.translateCurrency
  837. ||this.InvitationOfficialActivities.translateCurrency!=this.InvitationOfficialActivities.sendCurrency
  838. ||this.InvitationOfficialActivities.sendCurrency!=this.InvitationOfficialActivities.eventsCurrency
  839. ){
  840. this.InvitationOfficialActivities.paymentCurrency=836
  841. this.InvitationOfficialActivities.payMoney=(
  842. this.InvitationOfficialActivities.eventsCost*eventsRate+
  843. this.InvitationOfficialActivities.inviteCost*inviteRate+
  844. this.InvitationOfficialActivities.translateCost*translateRate+
  845. this.InvitationOfficialActivities.sendCost*sendRate
  846. );
  847. }else{
  848. this.InvitationOfficialActivities.paymentCurrency=this.InvitationOfficialActivities.eventsCurrency
  849. this.InvitationOfficialActivities.payMoney=(
  850. this.InvitationOfficialActivities.eventsCost+
  851. this.InvitationOfficialActivities.inviteCost+
  852. this.InvitationOfficialActivities.translateCost+
  853. this.InvitationOfficialActivities.sendCost
  854. );
  855. }
  856. },
  857. cancelbtn(){
  858. this.$router.push({
  859. path: "/home/InvitationOfficialActivities",
  860. query: {
  861. DiId: this.DiId,
  862. }
  863. })
  864. },
  865. //点击保存事件
  866. addBtn:debounce(function () {
  867. if (this.uploadFiles.length === 0) {
  868. return this.$message.warning('请选取文件后再上传');
  869. }
  870. if(this.InvitationOfficialActivities.payDId!=72){
  871. this.InvitationOfficialActivities.ctdId=0;
  872. this.InvitationOfficialActivities.bankNo="";
  873. this.InvitationOfficialActivities.cardholderName="";
  874. }
  875. if (this.IsAuditGM == 1) {
  876. this.$message.error('已通过审核,不可修改!');
  877. } else {
  878. if (this.DiId == null && this.DiId == undefined && this.DiId == "") {
  879. this.$message.error("请选择团组名称");
  880. return;
  881. }
  882. const that = this;
  883. that.$refs.InvitationOfficialActivities.validate((valid) => {
  884. if (valid) {
  885. that.submitUpload()
  886. that.InvitationOfficialActivities.attachment = that.projectName
  887. that.InvitationOfficialActivities.diId = that.DiIdSelect;
  888. that.InvitationOfficialActivities.createUserId = that.userId;
  889. var url = "/api/Groups/OpInvitationOfficialActivities"
  890. that.$axios({
  891. method: 'post',
  892. url: url,
  893. headers: {
  894. Authorization: 'Bearer ' + that.token
  895. },
  896. data: that.InvitationOfficialActivities
  897. }).then(function (res) {
  898. if (res.data.code == 200) {
  899. that.$message({
  900. message: res.data.msg,
  901. type: 'success'
  902. });
  903. setTimeout(() => {
  904. that.cancelbtn()
  905. }, 500);
  906. } else {
  907. that.$message.error(res.data.msg);
  908. }
  909. })
  910. } else {
  911. this.$message.error('请完善信息在保存!');
  912. return false;
  913. }
  914. })
  915. }
  916. // 此时必填完成,做保存后的业务操作
  917. },1000),
  918. DecreasePaymentsChange(val) {
  919. var that = this
  920. for (let index = 0; index < this.delegationInfoList.length; index++) {
  921. if (this.delegationInfoList[index].id == parseInt(this.DiIdSelect)) {
  922. this.delegationInfo = this.delegationInfoList[index];
  923. break;
  924. }
  925. }
  926. this.QueryRate();
  927. setTimeout(function () {
  928. that.PostTourClientListByDiId(val);
  929. },500)
  930. },
  931. //上传
  932. // 文件超出限制
  933. exceed(files, fileList) {
  934. this.$message.warning(
  935. `当前限制选择 10个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length
  936. } 个文件,请取消要替换的文件`
  937. );
  938. },
  939. //文件上传成功时的钩子
  940. upLoadSuccess(response, file, fileList) {
  941. if (response.code == 200) {
  942. // var that = this;
  943. // that.$axios({
  944. // method: 'post',
  945. // url: "/api/Groups/DelFile",
  946. // headers: {
  947. // Authorization: 'Bearer ' + that.token
  948. // },
  949. // data: {
  950. // fileName: that.DelfileName,
  951. // id: that.id
  952. // }
  953. // }).then(function (res) {
  954. // if (res.data.code == 200) {
  955. // }
  956. // })
  957. // that.InvitationOfficialActivities.attachment = response.data
  958. that.InvitationOfficialActivities.diId = that.DiIdSelect;
  959. that.InvitationOfficialActivities.createUserId = that.userId;
  960. var url = "/api/Groups/OpInvitationOfficialActivities"
  961. that.$axios({
  962. method: 'post',
  963. url: url,
  964. headers: {
  965. Authorization: 'Bearer ' + that.token
  966. },
  967. data: that.InvitationOfficialActivities
  968. }).then(function (res) {
  969. if (res.data.code == 200) {
  970. that.$message({
  971. message: res.data.msg,
  972. type: 'success'
  973. });
  974. that.loading = true;
  975. setTimeout(() => {
  976. that.$router.push('/home/InvitationOfficialActivities?DiId='+that.DiIdSelect)
  977. }, 500);
  978. } else {
  979. that.$message.error(res.data.msg);
  980. }
  981. })
  982. console.log("上传成功");
  983. } else {
  984. console.log("保存失败");
  985. }
  986. },
  987. //上传服务器
  988. submitUpload(val) {
  989. //判断是否有文件再上传
  990. var verdict=false
  991. if (this.uploadFiles.length === 0) {
  992. return this.$message.warning('请选取文件后再上传');
  993. }
  994. // 下面的代码将创建一个空的FormData对象:
  995. const formData = new FormData()
  996. // 你可以使用FormData.append来添加键/值对到表单里面;
  997. this.uploadFiles.forEach((file) => {
  998. if(file.raw!=undefined){
  999. verdict=true;
  1000. formData.append('files', file.raw);
  1001. }
  1002. })
  1003. if(!verdict){
  1004. return
  1005. }
  1006. var that = this;
  1007. var url = "/api/Groups/UploadProjects"
  1008. this.$axios({
  1009. method: 'post',
  1010. url: url,
  1011. headers: {
  1012. Authorization: 'Bearer ' + that.token,
  1013. TypeName: "B"
  1014. },
  1015. data:formData
  1016. }).then(function (res) {
  1017. if (res.data.code == 200) {
  1018. } else {
  1019. that.$message.error(res.data.msg);
  1020. }
  1021. })
  1022. },
  1023. //文件上传失败时的钩子
  1024. upLoadError(response, file, fileList) {
  1025. console.log("项目添加失败");
  1026. },
  1027. //删除文件
  1028. beforeRemove(file,fileList){
  1029. if(file && file.status=="success"){
  1030. return this.$confirm('此文件已上传至服务器此操作将永久删除该文件, 是否继续?', '提示', {
  1031. confirmButtonText: '确定',
  1032. cancelButtonText: '取消',
  1033. type: 'warning'
  1034. }).then(() => {
  1035. }).catch(() => {
  1036. this.$message({
  1037. type: 'info',
  1038. message: '已取消删除'
  1039. });
  1040. reject(false)
  1041. });
  1042. }else{
  1043. let id1 = this.projectName.findIndex(item => {
  1044. if (item.name == file.name) {
  1045. return true
  1046. }
  1047. })
  1048. this.projectName.splice(id1, 1)
  1049. }
  1050. },
  1051. handleRemove(file, fileList) {
  1052. var that = this;
  1053. that.$axios({
  1054. method: 'post',
  1055. url: "/api/Groups/DelFile",
  1056. headers: {
  1057. Authorization: 'Bearer ' + that.token,
  1058. typeName:'B'
  1059. },
  1060. data: {
  1061. fileName: file.name,
  1062. id: that.id,
  1063. }
  1064. }).then(function (res) {
  1065. if (res.data.code == 200) {
  1066. let id1 = that.projectName.findIndex(item => {
  1067. if (item.name == file.name) {
  1068. return true
  1069. }
  1070. })
  1071. that.projectName.splice(id1, 1)
  1072. that.$message({
  1073. type: 'success',
  1074. message: res.data.msg
  1075. });
  1076. }
  1077. })
  1078. },
  1079. onChange(file, fileList) {
  1080. this.uploadFiles = fileList;
  1081. this.projectName.push(file.name)
  1082. },
  1083. QueryRate() {
  1084. var url = "/api/Business/PostGroupTeamRateByDiIdAndCTableId"
  1085. var that = this
  1086. this.$axios({
  1087. method: 'post',
  1088. url: url,
  1089. headers: {
  1090. Authorization: 'Bearer ' + that.token
  1091. },
  1092. data: {
  1093. "portType": 1,
  1094. "diId": that.DiIdSelect ? that.DiIdSelect : that.DiId,
  1095. "cTable": 81 //商邀
  1096. }
  1097. }).then(function (res) {
  1098. if (res.data.code == 200) {
  1099. that.rateList = res.data.data.teamRates;
  1100. that.getcostbudgeting()
  1101. }
  1102. })
  1103. },
  1104. back() {
  1105. this.$router.push({
  1106. path: "/home/InvitationOfficialActivities",
  1107. query: {
  1108. DiId: this.DiIdSelect ? this.DiIdSelect : this.DiId,
  1109. }
  1110. })
  1111. },
  1112. },
  1113. mounted() {
  1114. this.token = JSON.parse(localStorage.getItem('userinif')).token;
  1115. this.userId = JSON.parse(localStorage.getItem('userinif')).userInfo.userId
  1116. this.InvitationOfficialActivityInitBasicData();
  1117. this.AirTicketResSelect();
  1118. this.id = this.$route.query.id
  1119. this.DiId = this.$route.query.DiId
  1120. this.QueryRate();
  1121. }
  1122. }
  1123. </script>
  1124. <style>
  1125. .car_add .communal-title {
  1126. display: flex;
  1127. font-size: 17px;
  1128. font-weight: 600;
  1129. color: #555;
  1130. margin-bottom: 20px;
  1131. justify-content: space-between;
  1132. align-items: center;
  1133. }
  1134. .appraise-box {
  1135. display: flex;
  1136. flex-wrap: wrap;
  1137. justify-content: space-between;
  1138. margin: 50px 0;
  1139. }
  1140. .appraise-box>div {
  1141. width: 30%;
  1142. }
  1143. .communal-box {
  1144. display: flex;
  1145. }
  1146. .communal-box>button {
  1147. margin-left: 10px;
  1148. padding: 8px 20px;
  1149. }
  1150. .car_add {
  1151. background-color: #fff;
  1152. padding: 20px;
  1153. box-shadow: 0 0 5px #0005;
  1154. border-radius: 10px;
  1155. min-height: 810px;
  1156. }
  1157. .haed-yqgw{
  1158. display: flex;
  1159. justify-content: space-between;
  1160. }
  1161. .ExpressPirce .el-input input {
  1162. text-align: left;
  1163. }
  1164. .car_add .el-date-editor.el-input,.car_add .el-input-number,.car_add .el-select{
  1165. width: 100%;
  1166. }
  1167. @media screen and (max-width: 1700px) {
  1168. .appraise-box>div {
  1169. width: 48%;
  1170. }
  1171. .appraise-box>div el-form-item__content {
  1172. width: 260px !important;
  1173. }
  1174. }
  1175. </style>