OpVisaPriec.vue 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670
  1. <template>
  2. <div class="car_add">
  3. <div>
  4. <div class="communal-title">
  5. <div>{{ title }}</div>
  6. </div>
  7. </div>
  8. <hr style='background-color:#5555; height:1px; border:none;' />
  9. <div>
  10. <el-form :model="delegationInfo" label-width="100px" class="demo-ruleForm">
  11. <div style="display: flex;">
  12. <div style="width: 25%;">
  13. <el-form-item label="团组名称:" label-width="160px">
  14. <el-select v-model="OpVisaPriceData.diId" clearable filterable placeholder="团组选择"
  15. :disabled="isShow" style="width: 220px;" @change="DiIdSelectChange">
  16. <el-option v-for="item in delegationInfoList" :key="item.id" :label="item.teamName"
  17. :value="item.id">
  18. </el-option>
  19. </el-select>
  20. </el-form-item>
  21. </div>
  22. <div style="width: 25%;">
  23. <el-form-item label="团 号:" prop="tourCode" label-width="160px">
  24. <el-input placeholder="团号" v-model="delegationInfo.tourCode" :disabled="true">
  25. </el-input>
  26. </el-form-item>
  27. </div>
  28. <div style="width: 25%;">
  29. <el-form-item label="客户:" prop="clientName" label-width="160px">
  30. <el-input placeholder="客户" v-model="delegationInfo.clientName" :disabled="true">
  31. </el-input>
  32. </el-form-item>
  33. </div>
  34. <div style="width: 25%;">
  35. <el-form-item label="出访国家:" prop="visitCountry" label-width="160px">
  36. <el-input placeholder="出访国家" v-model="delegationInfo.visitCountry" :disabled="true">
  37. </el-input>
  38. </el-form-item>
  39. </div>
  40. </div>
  41. <div style="display: flex;">
  42. <div style="width: 25%;">
  43. <el-form-item label="出访时间:" label-width="160px">
  44. <el-input placeholder="出访时间" v-model="VisitDate" :disabled="true">
  45. </el-input>
  46. </el-form-item>
  47. </div>
  48. <div style="width: 25%;">
  49. <el-form-item label="出访人数:" label-width="160px">
  50. <el-input placeholder="出访人数" v-model="delegationInfo.visitPNumber" :disabled="true">
  51. </el-input>
  52. </el-form-item>
  53. </div>
  54. <div style="width: 25%;">
  55. <el-form-item label="出访天数:" label-width="160px">
  56. <el-input placeholder="出访天数" v-model="delegationInfo.visitDays" :disabled="true">
  57. </el-input>
  58. </el-form-item>
  59. </div>
  60. </div>
  61. </el-form>
  62. <el-form :model="OpVisaPriceData" ref="OpVisaPriceData" :rules="OpVisaPriceDataRules" label-width="100px"
  63. class="demo-ruleForm">
  64. <div style="display: flex;">
  65. <div style="width: 25%;">
  66. <el-form-item label="签证客户:" prop="visaClient" label-width="160px">
  67. <el-input placeholder="签证客户" v-model="OpVisaPriceData.visaClient">
  68. </el-input>
  69. </el-form-item>
  70. </div>
  71. <div style="width: 25%;">
  72. <el-form-item label="签证费用:" prop="visaPrice" label-width="160px">
  73. <el-input placeholder="签证费用" v-model="OpVisaPriceData.visaPrice" style="width: 58%;">
  74. </el-input>
  75. <el-select v-model="OpVisaPriceData.visaCurrency" filterable placeholder="币种"
  76. style="width: 35%;">
  77. <el-option v-for="item in currencyList" :key="item.id" :label="item.name" :value="item.id">
  78. </el-option>
  79. </el-select>
  80. </el-form-item>
  81. </div>
  82. <div style="width: 25%;">
  83. <el-form-item label="是否第三方代办:" prop="isThird" label-width="160px">
  84. <el-radio-group v-model="OpVisaPriceData.isThird">
  85. <el-radio :label=1>是</el-radio>
  86. <el-radio :label=0>否</el-radio>
  87. </el-radio-group>
  88. </el-form-item>
  89. </div>
  90. <div style="width: 25%;">
  91. <el-form-item label="客户类型:" prop="passengerType" label-width="160px">
  92. <el-select v-model="OpVisaPriceData.passengerType" clearable filterable placeholder="客户类型">
  93. <el-option v-for="item in passengerTypeSelect" :key="item.id" :label="item.name"
  94. :value="item.id">
  95. </el-option>
  96. </el-select>
  97. </el-form-item>
  98. </div>
  99. </div>
  100. <div style="display: flex;">
  101. <div style="width: 25%;">
  102. <el-form-item label="签证办理人数:" prop="visaNumber" label-width="160px">
  103. <el-input placeholder="签证办理人数" v-model="OpVisaPriceData.visaNumber" style="width: 58%;">
  104. </el-input>
  105. </el-form-item>
  106. </div>
  107. <div style="width: 25%;">
  108. <el-form-item label="免签人数:" prop="visaFreeNumber" label-width="160px">
  109. <el-input placeholder="免签人数" v-model="OpVisaPriceData.visaFreeNumber" style="width: 58%;">
  110. </el-input>
  111. </el-form-item>
  112. </div>
  113. </div>
  114. <div style="display: flex;">
  115. <div style="width: 81%;">
  116. <el-form-item label="备 注:" prop="Remark" label-width="160px">
  117. <el-input type="textarea" :rows="5" placeholder="备注"
  118. v-model="OpVisaPriceData.remark"></el-input>
  119. </el-form-item>
  120. </div>
  121. </div>
  122. <hr style='background-color:#5555; height:1px; border:none;margin-top: 10px;' />
  123. <div style="display: flex;">
  124. <div style="width: 25%;">
  125. <el-form-item label="支付方式:" prop="payDId" label-width="160px">
  126. <el-select v-model="OpVisaPriceData.payDId" placeholder="支付方式" style="width: 100%;"
  127. @change="payChange">
  128. <el-option v-for="item in payment" :key="item.id" :label="item.name" :value="item.id">
  129. </el-option>
  130. </el-select>
  131. </el-form-item>
  132. </div>
  133. <div style="width: 25%;">
  134. <el-form-item label="消费方式:" prop="consumptionPatterns" label-width="160px">
  135. <el-input placeholder="消费方式" v-model="OpVisaPriceData.consumptionPatterns">
  136. </el-input>
  137. </el-form-item>
  138. </div>
  139. <div style="width: 25%;">
  140. <el-form-item label="消费日期:" prop="consumptionDate" label-width="160px">
  141. <el-date-picker v-model="OpVisaPriceData.consumptionDate" placeholder="消费日期" type="date">
  142. </el-date-picker>
  143. </el-form-item>
  144. </div>
  145. <div style="width: 25%;">
  146. <el-form-item label="付款金额:" prop="payMoney" label-width="160px">
  147. <el-input placeholder="付款金额" v-model="OpVisaPriceData.visaPrice" style="width: 52%;"
  148. :disabled="true">
  149. </el-input>
  150. <el-select v-model="OpVisaPriceData.visaCurrency" style="width: 45%;" :disabled="true">
  151. <el-option v-for="item in currencyList" :key="item.id" :label="item.name" :value="item.id">
  152. </el-option>
  153. </el-select>
  154. </el-form-item>
  155. </div>
  156. </div>
  157. <div v-if="OpVisaPriceData.payDId == 72">
  158. <div style="display: flex;">
  159. <div style="width: 25%;">
  160. <el-form-item label="卡类型:" prop="ctdId" label-width="160px">
  161. <el-select v-model="OpVisaPriceData.ctdId" placeholder="卡类型" style="width: 100%;"
  162. @change="ctdChange">
  163. <el-option v-for="item in bankCard" :key="item.id" :label="item.name" :value="item.id">
  164. </el-option>
  165. </el-select>
  166. </el-form-item>
  167. </div>
  168. <div style="width: 25%;">
  169. <el-form-item label="银行卡号:" prop="bankNo" label-width="160px">
  170. <el-input placeholder="银行卡号" v-model="OpVisaPriceData.bankNo" :disabled="true">
  171. </el-input>
  172. </el-form-item>
  173. </div>
  174. <div style="width: 25%;">
  175. <el-form-item label="持卡人姓名:" prop="cardholderName" label-width="160px">
  176. <el-input placeholder="持卡人姓名" v-model="OpVisaPriceData.cardholderName" :disabled="true">
  177. </el-input>
  178. </el-form-item>
  179. </div>
  180. </div>
  181. </div>
  182. <div v-else-if="OpVisaPriceData.payDId == 73">
  183. <div style="display: flex;">
  184. <div style="width: 25%;">
  185. <el-form-item label="公司银行账号:" label-width="160px" prop="companyBankNo">
  186. <el-input placeholder="公司银行账号" v-model="OpVisaPriceData.companyBankNo">
  187. </el-input>
  188. </el-form-item>
  189. </div>
  190. <div style="width: 25%;">
  191. <el-form-item label="对方开户行:" prop="otherBankName" label-width="160px">
  192. <el-input placeholder="对方开户行:" v-model="OpVisaPriceData.otherBankName">
  193. </el-input>
  194. </el-form-item>
  195. </div>
  196. <div style="width: 25%;">
  197. <el-form-item label="对方银行卡号:" prop="otherSideNo" label-width="160px">
  198. <el-input placeholder="对方银行卡号" v-model="OpVisaPriceData.otherSideNo">
  199. </el-input>
  200. </el-form-item>
  201. </div>
  202. <div style="width: 25%;">
  203. <el-form-item label="对方姓名:" prop="otherSideName" label-width="160px">
  204. <el-input placeholder="对方姓名" v-model="OpVisaPriceData.otherSideName">
  205. </el-input>
  206. </el-form-item>
  207. </div>
  208. </div>
  209. </div>
  210. <div v-else-if="OpVisaPriceData.payDId == 83">
  211. <div style="display: flex;">
  212. <div style="width: 25%;">
  213. <el-form-item label="对方开户行:" prop="otherBankName" label-width="160px">
  214. <el-input placeholder="对方开户行" v-model="OpVisaPriceData.otherBankName">
  215. </el-input>
  216. </el-form-item>
  217. </div>
  218. <div style="width: 25%;">
  219. <el-form-item label="对方银行卡号:" prop="otherSideNo" label-width="160px">
  220. <el-input placeholder="对方银行卡号" v-model="OpVisaPriceData.otherSideNo">
  221. </el-input>
  222. </el-form-item>
  223. </div>
  224. <div style="width: 25%;">
  225. <el-form-item label="对方姓名:" prop="otherSideName" label-width="160px">
  226. <el-input placeholder="对方姓名" v-model="OpVisaPriceData.otherSideName">
  227. </el-input>
  228. </el-form-item>
  229. </div>
  230. </div>
  231. </div>
  232. <div v-else></div>
  233. <div style="display:flex;">
  234. <div style="width: 25%;">
  235. <el-form-item label="收款方:" prop="payee" label-width="160px">
  236. <el-input placeholder="对方姓名:" v-model="OpVisaPriceData.payee">
  237. </el-input>
  238. </el-form-item>
  239. </div>
  240. <div style="width: 25%;">
  241. <el-form-item label="费用标识:" prop="orbitalPrivateTransfer" label-width="160px">
  242. <el-select v-model="OpVisaPriceData.orbitalPrivateTransfer" placeholder="费用标识"
  243. style="width: 100%;">
  244. <el-option key="0" label="公转" :value=0>
  245. </el-option>
  246. <el-option key="1" label="私转" :value=1>
  247. </el-option>
  248. </el-select>
  249. </el-form-item>
  250. </div>
  251. </div>
  252. <div style="display: flex;">
  253. <div style="width: 100%;">
  254. <el-form-item label="备 注:" prop="Remark" label-width="160px">
  255. <el-input type="textarea" :rows="5" placeholder="备注"
  256. v-model="OpVisaPriceData.cRemark"></el-input>
  257. </el-form-item>
  258. </div>
  259. </div>
  260. <el-form-item>
  261. <div style="text-align: right;">
  262. <el-button type="primary" @click="addBtn">保存</el-button>
  263. <el-button @click="EscAdd">取消</el-button>
  264. </div>
  265. </el-form-item>
  266. </el-form>
  267. </div>
  268. </div>
  269. </template>
  270. <script>
  271. import { dE } from '@fullcalendar/core/internal-common';
  272. export default {
  273. data() {
  274. return {
  275. title: "新增商邀费用",
  276. token: '',
  277. userId: 0,
  278. id: '',
  279. isShow: false,
  280. delegationInfo: {},
  281. delegationInfoList: [],//团组下拉框
  282. currencyList: [],//币种下拉框
  283. bankCard: [],//卡类型下拉框
  284. payment: [],//支付方式下拉框
  285. OpVisaPriceData: {
  286. status: 0,
  287. id: 0,
  288. diId: '',
  289. visaClient: '',
  290. visaPrice: 0,
  291. visaCurrency: '',
  292. isThird: '',
  293. passengerType: '',
  294. visaNumber: 0,
  295. visaFreeNumber: 0,
  296. createUserId: 0,
  297. remark: '',
  298. payDId: 72,
  299. consumptionPatterns: '',
  300. consumptionDate: '',
  301. ctdId: '',
  302. companyBankNo: '',
  303. otherBankName: '',
  304. otherSideNo: '',
  305. otherSideName: '',
  306. bankNo: '',
  307. cardholderName: '',
  308. payee: '',
  309. orbitalPrivateTransfer: 0,
  310. cRemark: '',
  311. },
  312. IsAuditGM: 0,
  313. VisitDate: '',
  314. passengerTypeSelect: [],
  315. transformDateFormat: function (value) {
  316. // 将value转换为Date对象
  317. var date = new Date(value);
  318. // 获取年、月、日
  319. var year = date.getFullYear();
  320. var month = date.getMonth() + 1;
  321. var day = date.getDate();
  322. // 将月份和日期转换为两位数的格式
  323. if (month < 10) {
  324. month = '0' + month;
  325. }
  326. if (day < 10) {
  327. day = '0' + day;
  328. }
  329. // 返回格式化后的日期字符串
  330. return year + '-' + month + '-' + day;
  331. },
  332. OpVisaPriceDataRules: {
  333. visaPrice: [
  334. { required: true, message: '请输入费用金额', trigger: ['blur', 'change'] },
  335. { pattern: /^(([1-9]?\d{0,8}(\.\d{1,2})?)|999999999|999999999\.(0){1,2})$/, message: '请输入正确的金额(最多2位小数)' }
  336. ],
  337. visaClient: [
  338. { required: true, message: '请输入费用名称', trigger: ['blur', 'change'] },
  339. ],
  340. isThird: [
  341. { required: true, message: '请选择是否第三方代办', trigger: ['blur', 'change'] },
  342. ],
  343. passengerType: [
  344. { required: true, message: '请选择客户类型', trigger: ['blur', 'change'] },
  345. ],
  346. visaNumber: [
  347. { required: true, message: '请输入办理人数', trigger: ['blur', 'change'] },
  348. { pattern: /^[0-9]\d*$/, message: '请输入正确的数字', trigger: ['blur', 'change'] },
  349. ],
  350. visaFreeNumber: [
  351. { required: true, message: '请输入办理人数', trigger: ['blur', 'change'] },
  352. { pattern: /^[0-9]\d*$/, message: '请输入正确的数字', trigger: ['blur', 'change'] },
  353. ],
  354. payDId: [
  355. { required: true, message: '请选择支付方式', trigger: ['blur', 'change'] },
  356. ],
  357. consumptionPatterns: [
  358. { required: true, message: '请输入消费方式', trigger: ['blur', 'change'] },
  359. ],
  360. consumptionDate: [
  361. { required: true, message: '请选择消费日期', trigger: ['blur', 'change'] },
  362. ],
  363. payee: [
  364. { required: true, message: '请输入收款方', trigger: ['blur', 'change'] },
  365. ],
  366. ctdId: [
  367. { required: true, message: '请选择卡类型', trigger: ['blur', 'change'] },
  368. ],
  369. companyBankNo: [{ required: true, message: '公司银行账号', trigger: ['blur', 'change'] },],
  370. otherBankName: [{ required: true, message: '对方开户行', trigger: ['blur', 'change'] },],
  371. otherSideNo: [{ required: true, message: '对方银行卡号', trigger: ['blur', 'change'] },],
  372. totherSideName: [{ required: true, message: '对方姓名', trigger: ['blur', 'change'] },],
  373. }
  374. }
  375. },
  376. methods: {
  377. //初始化下拉框
  378. initializeSelect() {
  379. //团组下拉框绑定
  380. var url = "/api/Groups/DecreasePaymentsSelect"
  381. var that = this
  382. this.$axios({
  383. method: 'post',
  384. url: url,
  385. headers: {
  386. Authorization: 'Bearer ' + this.token
  387. },
  388. data: {
  389. userId: that.userId,
  390. ctId: 80
  391. }
  392. }).then(function (res) {
  393. if (res.data.code == 200) {
  394. that.delegationInfoList = res.data.data.groupName;
  395. that.payment = res.data.data.payment
  396. for (let index = 0; index < that.delegationInfoList.length; index++) {
  397. if (that.delegationInfoList[index].id == that.OpVisaPriceData.diId) {
  398. that.delegationInfo = that.delegationInfoList[index];
  399. that.VisitDate = that.transformDateFormat(that.delegationInfo.visitStartDate) + '至' + that.transformDateFormat(that.delegationInfo.visitEndDate);
  400. break;
  401. }
  402. }
  403. }
  404. })
  405. var url = "/api/Groups/VisaPriceAddSelect"
  406. this.$axios({
  407. method: 'post',
  408. url: url,
  409. headers: {
  410. Authorization: 'Bearer ' + this.token
  411. },
  412. }).then(function (res) {
  413. if (res.data.code == 200) {
  414. that.bankCard = res.data.data.bankCard;
  415. that.payment = res.data.data.payment;
  416. that.currencyList = res.data.data.currencyList;
  417. that.passengerTypeSelect = res.data.data.passengerType;
  418. }
  419. })
  420. },
  421. DiIdSelectChange() {
  422. var that = this;
  423. for (let index = 0; index < that.delegationInfoList.length; index++) {
  424. if (that.delegationInfoList[index].id == that.OpVisaPriceData.diId) {
  425. that.delegationInfo = that.delegationInfoList[index];
  426. that.VisitDate = that.transformDateFormat(that.delegationInfo.visitStartDate) + '至' + that.transformDateFormat(that.delegationInfo.visitEndDate);
  427. break;
  428. }
  429. }
  430. },
  431. payChange() {
  432. this.OpVisaPriceData.ctdId = '';
  433. this.OpVisaPriceData.bankNo = '';
  434. this.OpVisaPriceData.cardholderName = '';
  435. this.OpVisaPriceData.companyBankNo = '';
  436. this.OpVisaPriceData.otherBankName = '';
  437. this.OpVisaPriceData.otherSideNo = '';
  438. this.OpVisaPriceData.otherSideName = '';
  439. this.OpVisaPriceData.cRemark = '';
  440. if (this.OpVisaPriceData.payDId == 73) {
  441. this.OpVisaPriceDataRules.companyBankNo = [{ required: true, message: '公司银行账号', trigger: ['blur', 'change'] },]
  442. this.OpVisaPriceDataRules.otherBankName = [{ required: true, message: '对方开户行', trigger: ['blur', 'change'] },]
  443. this.OpVisaPriceDataRules.otherSideNo = [{ required: true, message: '对方银行卡号', trigger: ['blur', 'change'] },]
  444. this.OpVisaPriceDataRules.otherSideName = [{ required: true, message: '对方姓名', trigger: ['blur', 'change'] },]
  445. this.OpVisaPriceDataRules.ctdId = []
  446. } else if (this.OpVisaPriceData.payDId == 72) {
  447. this.OpVisaPriceDataRules.ctdId = [{ required: true, message: '请选择卡类型', trigger: ['blur', 'change'] },]
  448. this.OpVisaPriceDataRules.companyBankNo = []
  449. this.OpVisaPriceDataRules.otherBankName = []
  450. this.OpVisaPriceDataRules.otherSideNo = []
  451. this.OpVisaPriceDataRules.otherSideName = []
  452. } else if (this.OpVisaPriceData.payDId == 83) {
  453. this.OpVisaPriceDataRules.companyBankNo = []
  454. this.OpVisaPriceDataRules.otherBankName = [{ required: true, message: '对方开户行', trigger: ['blur', 'change'] },]
  455. this.OpVisaPriceDataRules.otherSideNo = [{ required: true, message: '对方银行卡号', trigger: ['blur', 'change'] },]
  456. this.OpVisaPriceDataRules.otherSideName = [{ required: true, message: '对方姓名', trigger: ['blur', 'change'] },]
  457. this.OpVisaPriceDataRules.ctdId = []
  458. } else {
  459. this.OpVisaPriceDataRules.companyBankNo = []
  460. this.OpVisaPriceDataRules.otherBankName = []
  461. this.OpVisaPriceDataRules.otherSideNo = []
  462. this.OpVisaPriceDataRules.otherSideName = []
  463. this.OpVisaPriceDataRules.ctdId = []
  464. }
  465. },
  466. ctdChange(id) {
  467. this.OpVisaPriceData.cardholderName = 'Zhang Hailin';
  468. for (var i = 0; i < this.bankCard.length; i++) {
  469. if (this.bankCard[i].id == parseInt(id)) {
  470. this.OpVisaPriceData.bankNo = this.bankCard[i].remark
  471. }
  472. }
  473. },
  474. //根据Id获取单挑数据及C表数据
  475. QueryVisaById() {
  476. var url = "/api/Groups/QueryVisaById"
  477. var that = this
  478. this.$axios({
  479. method: 'post',
  480. url: url,
  481. headers: {
  482. Authorization: 'Bearer ' + this.token
  483. },
  484. data: {
  485. id: that.OpVisaPriceData.id
  486. }
  487. }).then(function (res) {
  488. if (res.data.code == 200) {
  489. var CreditCardPayment = res.data.data.creditCardPayment;
  490. var VisaInfo = res.data.data.visaInfo;
  491. that.IsAuditGM = CreditCardPayment.isAuditGM;
  492. that.OpVisaPriceData.visaClient = VisaInfo.visaClient;
  493. that.OpVisaPriceData.visaPrice = VisaInfo.visaPrice;
  494. that.OpVisaPriceData.visaCurrency = VisaInfo.visaCurrency;
  495. that.OpVisaPriceData.isThird = VisaInfo.isThird;
  496. that.OpVisaPriceData.passengerType = parseInt(VisaInfo.passengerType);
  497. that.OpVisaPriceData.visaNumber = VisaInfo.visaNumber;
  498. that.OpVisaPriceData.visaFreeNumber = VisaInfo.visaFreeNumber;
  499. that.OpVisaPriceData.createUserId = VisaInfo.createUserId;
  500. that.OpVisaPriceData.remark = VisaInfo.remark;
  501. that.OpVisaPriceData.payDId = CreditCardPayment.payDId;
  502. that.OpVisaPriceData.consumptionPatterns = CreditCardPayment.consumptionPatterns;
  503. that.OpVisaPriceData.consumptionDate = CreditCardPayment.consumptionDate;
  504. that.OpVisaPriceData.ctdId = CreditCardPayment.ctdId;
  505. that.OpVisaPriceData.bankNo = CreditCardPayment.bankNo;
  506. that.OpVisaPriceData.cardholderName = CreditCardPayment.cardholderName;
  507. that.OpVisaPriceData.companyBankNo = CreditCardPayment.companyBankNo
  508. that.OpVisaPriceData.otherBankName = CreditCardPayment.otherBankName
  509. that.OpVisaPriceData.otherSideNo = CreditCardPayment.otherSideNo
  510. that.OpVisaPriceData.otherSideName = CreditCardPayment.otherSideName
  511. that.OpVisaPriceData.payee = CreditCardPayment.payee;
  512. that.OpVisaPriceData.orbitalPrivateTransfer = CreditCardPayment.orbitalPrivateTransfer;
  513. that.OpVisaPriceData.cRemark = CreditCardPayment.remark;
  514. }
  515. })
  516. },
  517. addBtn() {
  518. if (this.IsAuditGM == 1) {
  519. this.$message.error('已通过审核,不可修改!');
  520. } else {
  521. if (this.OpVisaPriceData.diId == null && this.OpVisaPriceData.diId == undefined && this.OpVisaPriceData.diId == "") {
  522. this.$message.error("请选择团组名称");
  523. return;
  524. } else {
  525. const that = this;
  526. that.$refs.OpVisaPriceData.validate((valid) => {
  527. if (valid) {
  528. debugger
  529. that.OpVisaPriceData.createUserId = that.userId;
  530. if (that.OpVisaPriceData.ctdId == '') {
  531. that.OpVisaPriceData.ctdId = 0
  532. }
  533. var url = "/api/Groups/OpVisaPrice"
  534. that.$axios({
  535. method: 'post',
  536. url: url,
  537. headers: {
  538. Authorization: 'Bearer ' + that.token
  539. },
  540. data: that.OpVisaPriceData
  541. }).then(function (res) {
  542. if (res.data.code == 200) {
  543. that.$message({
  544. message: res.data.msg,
  545. type: 'success'
  546. });
  547. that.loading = true;
  548. setTimeout(() => {
  549. that.$router.push({
  550. path: "/home/VisaPriec",
  551. query: {
  552. diId: that.OpVisaPriceData.diId
  553. }
  554. })
  555. }, 3000);
  556. } else {
  557. that.$message.error(res.data.msg);
  558. }
  559. })
  560. } else {
  561. this.$message.error('请完善信息在保存!');
  562. return false;
  563. }
  564. })
  565. }
  566. }
  567. },
  568. EscAdd() {
  569. this.$router.push({
  570. path: "/home/VisaPriec",
  571. query: {
  572. diId: this.OpVisaPriceData.diId
  573. }
  574. })
  575. }
  576. },
  577. mounted() {
  578. this.token = JSON.parse(localStorage.getItem('userinif')).token;
  579. this.userId = JSON.parse(localStorage.getItem('userinif')).userInfo.userId
  580. this.initializeSelect();
  581. this.OpVisaPriceData.diId = parseInt(this.$route.query.DiId)
  582. this.OpVisaPriceData.id = this.$route.query.id
  583. debugger
  584. if (this.OpVisaPriceData.id != null && this.OpVisaPriceData.id != undefined && this.OpVisaPriceData.id != 0) {
  585. this.QueryVisaById();
  586. this.title = "修改签证费用";
  587. this.OpVisaPriceData.status = 2
  588. this.isShow = true
  589. } else {
  590. this.OpVisaPriceData.status = 1
  591. this.title = "新增签证费用"
  592. this.isShow = false
  593. }
  594. }
  595. }
  596. </script>
  597. <style>
  598. .communal-list {
  599. background-color: #fff;
  600. padding: 10px;
  601. box-shadow: 0 0 5px #0005;
  602. border-radius: 10px;
  603. }
  604. .car_add .communal-title {
  605. display: flex;
  606. font-size: 17px;
  607. font-weight: 600;
  608. color: #555;
  609. margin-bottom: 20px;
  610. justify-content: space-between;
  611. align-items: center;
  612. }
  613. .appraise-box {
  614. display: flex;
  615. flex-wrap: wrap;
  616. justify-content: space-between;
  617. margin: 50px 0;
  618. }
  619. .appraise-box>div {
  620. width: 30%;
  621. }
  622. .communal-box {
  623. display: flex;
  624. }
  625. .communal-box>button {
  626. margin-left: 10px;
  627. padding: 8px 20px;
  628. }
  629. .car_add {
  630. background-color: #fff;
  631. padding: 20px;
  632. box-shadow: 0 0 5px #0005;
  633. border-radius: 10px;
  634. }
  635. @media screen and (max-width: 1700px) {
  636. .appraise-box>div {
  637. width: 48%;
  638. }
  639. .appraise-box>div el-form-item__content {
  640. width: 260px !important;
  641. }
  642. }
  643. </style>