index.vue 42 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459
  1. <template>
  2. <basic-container>
  3. <avue-crud ref="crud"
  4. id="out-table"
  5. v-model="form"
  6. :before-open="beforeOpen"
  7. :data="data"
  8. :option="option"
  9. :page.sync="page"
  10. :permission="permissionList"
  11. :table-loading="loading"
  12. :search.sync="query"
  13. :header-cell-class-name="headerClassName"
  14. @resetColumn="resetColumnTwo('crud', 'option', 'optionBack', 310)"
  15. @saveColumn="saveColumnTwo('crud', 'option', 'optionBack', 310)"
  16. @row-update="rowUpdate"
  17. @row-save="rowSave"
  18. @row-del="rowDel"
  19. @search-change="searchChange"
  20. @search-reset="searchReset"
  21. @selection-change="selectionChange"
  22. @current-change="currentChange"
  23. @size-change="sizeChange"
  24. @refresh-change="refreshChange"
  25. @on-load="onLoad">
  26. <template slot="search" slot-scope="{row,size}">
  27. <el-form ref="form" :model="row" label-width="80px">
  28. <el-row>
  29. <el-col :span="6">
  30. <el-form-item label="客户名称">
  31. <el-select
  32. v-model="query.corpCnName"
  33. filterable
  34. remote
  35. clearable
  36. style="width:100%"
  37. placeholder="请输入关键词"
  38. :remote-method="remoteMethod"
  39. :loading="loading">
  40. <el-option
  41. v-for="item in corpCnNameList"
  42. :key="item.cnName"
  43. :label="item.cnName"
  44. :value="item.cnName">
  45. </el-option>
  46. </el-select>
  47. </el-form-item>
  48. </el-col>
  49. <el-col :span="6">
  50. <el-form-item label="MB/L NO">
  51. <el-input v-model="query.mblno"></el-input>
  52. </el-form-item>
  53. </el-col>
  54. <el-col :span="6">
  55. <el-form-item label="HB/L NO">
  56. <el-input v-model="query.hblno"></el-input>
  57. </el-form-item>
  58. </el-col>
  59. <el-col :span="6">
  60. <el-form-item label="船名">
  61. <el-input v-model="query.vesselCnName"></el-input>
  62. </el-form-item>
  63. </el-col>
  64. <el-col :span="6">
  65. <el-form-item label="航次">
  66. <el-input v-model="query.voyageNo"></el-input>
  67. </el-form-item>
  68. </el-col>
  69. <el-col :span="6">
  70. <el-form-item label="ETD">
  71. <el-input v-model="query.etd"></el-input>
  72. </el-form-item>
  73. </el-col>
  74. </el-row>
  75. </el-form>
  76. </template>
  77. <template slot="searchMenu" slot-scope="{row,size}">
  78. </template>
  79. <template slot="corpCnName" slot-scope="scope">
  80. <avue-text-ellipsis :text="scope.row.corpCnName" :height="30" use-tooltip placement="top">
  81. <small slot="more">...</small>
  82. </avue-text-ellipsis>
  83. </template>
  84. <template slot="remarks" slot-scope="scope">
  85. <avue-text-ellipsis :text="scope.row.remarks" :height="30" use-tooltip placement="top">
  86. <small slot="more">...</small>
  87. </avue-text-ellipsis>
  88. </template>
  89. <template slot="menuLeft">
  90. <!-- v-if="permission.feecenter_delete"-->
  91. <el-button
  92. icon="el-icon-delete"
  93. plain
  94. size="small"
  95. type="danger"
  96. @click="handleDelete">删 除
  97. </el-button>
  98. </template>
  99. </avue-crud>
  100. </basic-container>
  101. </template>
  102. <script>
  103. import {feecenterList, feecenterRemove} from "@/api/iosBasicData/feecenter";
  104. import { getBcorpsList } from "@/api/iosBasicData/bcorps";
  105. import {mapGetters} from "vuex";
  106. export default {
  107. data() {
  108. return {
  109. form: {},
  110. query: {},
  111. loading: true,
  112. page: {
  113. pageSize: 10,
  114. currentPage: 1,
  115. total: 0
  116. },
  117. selectionList: [],
  118. option: {},
  119. optionBack: {
  120. height: 'auto',
  121. calcHeight: 30,
  122. tip: false,
  123. searchShow: true,
  124. searchMenuSpan: 6,
  125. border: true,
  126. index: true,
  127. viewBtn: true,
  128. selection: true,
  129. dialogClickModal: false,
  130. column: [
  131. {
  132. label: "客户名称",
  133. prop: "corpCnName",
  134. width: "180"
  135. },
  136. {
  137. label: "费用简称",
  138. prop: "feeCnName",
  139. width: "180"
  140. },
  141. {
  142. label: "预付/到付",
  143. prop: "paymode"
  144. },
  145. {
  146. label: "计量单位",
  147. prop: "unitNo"
  148. },
  149. {
  150. label: "币种",
  151. prop: "curCode"
  152. },
  153. {
  154. label: "单价",
  155. prop: "price"
  156. },
  157. {
  158. label: "数量",
  159. prop: "quantity"
  160. },
  161. {
  162. label: "CNY(含税)",
  163. prop: "rmbAmount"
  164. },
  165. {
  166. label: "USD(含税)",
  167. prop: "usdAmount"
  168. },
  169. {
  170. label: "对CNY汇率",
  171. width: "100",
  172. prop: "exrate"
  173. },
  174. {
  175. label: "预付地址",
  176. prop: "payplace",
  177. width: "180"
  178. },
  179. {
  180. label: "备注",
  181. prop: "remarks",
  182. width: "180"
  183. },
  184. {
  185. label: "MB/L NO",
  186. prop: "mblno",
  187. width: "200"
  188. },
  189. {
  190. label: "HB/L NO",
  191. prop: "hblno",
  192. width: "240"
  193. },
  194. {
  195. label: "船名",
  196. prop: "vesselCnName"
  197. },
  198. {
  199. label: "航次",
  200. prop: "voyageNo"
  201. },
  202. {
  203. label: "ETD",
  204. prop: "etd"
  205. },
  206. // [
  207. //
  208. // {
  209. // label: "业务类型",
  210. // prop: "businessType",
  211. // rules: [{
  212. // required: true,
  213. // message: "请输入业务类型",
  214. // trigger: "blur"
  215. // }]
  216. // },
  217. // {
  218. // label: "单据类型, DD=直单(默认) MM=主单 MH=主分单 HH=从分单",
  219. // prop: "billType",
  220. // rules: [{
  221. // required: true,
  222. // message: "请输入单据类型, DD=直单(默认) MM=主单 MH=主分单 HH=从分单",
  223. // trigger: "blur"
  224. // }]
  225. // },
  226. //
  227. // {
  228. // label: "行号 基于pid 1...",
  229. // prop: "lineNo",
  230. // rules: [{
  231. // required: true,
  232. // message: "请输入行号 基于pid 1...",
  233. // trigger: "blur"
  234. // }]
  235. // },
  236. // {
  237. // label: "单据编号",
  238. // prop: "billNo",
  239. // rules: [{
  240. // required: true,
  241. // message: "请输入单据编号",
  242. // trigger: "blur"
  243. // }]
  244. // },
  245. // {
  246. // label: "单据日期",
  247. // prop: "billDate",
  248. // rules: [{
  249. // required: true,
  250. // message: "请输入单据日期",
  251. // trigger: "blur"
  252. // }]
  253. // },
  254. // {
  255. // label: "财务日期",
  256. // prop: "accountDate",
  257. // rules: [{
  258. // required: true,
  259. // message: "请输入财务日期",
  260. // trigger: "blur"
  261. // }]
  262. // },
  263. // {
  264. // label: "财务年",
  265. // prop: "accountYear",
  266. // rules: [{
  267. // required: true,
  268. // message: "请输入财务年",
  269. // trigger: "blur"
  270. // }]
  271. // },
  272. // {
  273. // label: "财务月",
  274. // prop: "accountMonth",
  275. // rules: [{
  276. // required: true,
  277. // message: "请输入财务月",
  278. // trigger: "blur"
  279. // }]
  280. // },
  281. // {
  282. // label: "财务日",
  283. // prop: "accountDay",
  284. // rules: [{
  285. // required: true,
  286. // message: "请输入财务日",
  287. // trigger: "blur"
  288. // }]
  289. // },
  290. // {
  291. // label: "业务来源",
  292. // prop: "srcType",
  293. // rules: [{
  294. // required: true,
  295. // message: "请输入业务来源",
  296. // trigger: "blur"
  297. // }]
  298. // },
  299. // {
  300. // label: "来源 id",
  301. // prop: "srcId",
  302. // rules: [{
  303. // required: true,
  304. // message: "请输入来源 id",
  305. // trigger: "blur"
  306. // }]
  307. // },
  308. // {
  309. // label: "来源中文",
  310. // prop: "srcCnName",
  311. // rules: [{
  312. // required: true,
  313. // message: "请输入来源中文",
  314. // trigger: "blur"
  315. // }]
  316. // },
  317. // {
  318. // label: "来源英文",
  319. // prop: "srcEnName",
  320. // rules: [{
  321. // required: true,
  322. // message: "请输入来源英文",
  323. // trigger: "blur"
  324. // }]
  325. // },
  326. // {
  327. // label: "客户 id",
  328. // prop: "corpId",
  329. // rules: [{
  330. // required: true,
  331. // message: "请输入客户 id",
  332. // trigger: "blur"
  333. // }]
  334. // },
  335. //
  336. // {
  337. // label: "客户英文名称",
  338. // prop: "corpEnName",
  339. // rules: [{
  340. // required: true,
  341. // message: "请输入客户英文名称",
  342. // trigger: "blur"
  343. // }]
  344. // },
  345. // {
  346. // label: "航线 id",
  347. // prop: "lineId",
  348. // rules: [{
  349. // required: true,
  350. // message: "请输入航线 id",
  351. // trigger: "blur"
  352. // }]
  353. // },
  354. // {
  355. // label: "航线中文名称",
  356. // prop: "lineCnName",
  357. // rules: [{
  358. // required: true,
  359. // message: "请输入航线中文名称",
  360. // trigger: "blur"
  361. // }]
  362. // },
  363. // {
  364. // label: "航线英文名称",
  365. // prop: "lineEnName",
  366. // rules: [{
  367. // required: true,
  368. // message: "请输入航线英文名称",
  369. // trigger: "blur"
  370. // }]
  371. // },
  372. // {
  373. // label: "船名 id",
  374. // prop: "vesselId",
  375. // rules: [{
  376. // required: true,
  377. // message: "请输入船名 id",
  378. // trigger: "blur"
  379. // }]
  380. // },
  381. // {
  382. // label: "英文船名",
  383. // prop: "vesselEnName",
  384. // rules: [{
  385. // required: true,
  386. // message: "请输入英文船名",
  387. // trigger: "blur"
  388. // }]
  389. // },
  390. // {
  391. // label: "到港日期",
  392. // prop: "eta",
  393. // rules: [{
  394. // required: true,
  395. // message: "请输入到港日期",
  396. // trigger: "blur"
  397. // }]
  398. // },
  399. // {
  400. // label: "箱号",
  401. // prop: "cntrNo",
  402. // rules: [{
  403. // required: true,
  404. // message: "请输入箱号",
  405. // trigger: "blur"
  406. // }]
  407. // },
  408. // {
  409. // label: "装货港 id",
  410. // prop: "polId",
  411. // rules: [{
  412. // required: true,
  413. // message: "请输入装货港 id",
  414. // trigger: "blur"
  415. // }]
  416. // },
  417. // {
  418. // label: "装货港代码",
  419. // prop: "polCode",
  420. // rules: [{
  421. // required: true,
  422. // message: "请输入装货港代码",
  423. // trigger: "blur"
  424. // }]
  425. // },
  426. // {
  427. // label: "装货港英文名称",
  428. // prop: "polCnName",
  429. // rules: [{
  430. // required: true,
  431. // message: "请输入装货港英文名称",
  432. // trigger: "blur"
  433. // }]
  434. // },
  435. // {
  436. // label: "装货港英文名称",
  437. // prop: "polEnName",
  438. // rules: [{
  439. // required: true,
  440. // message: "请输入装货港英文名称",
  441. // trigger: "blur"
  442. // }]
  443. // },
  444. // {
  445. // label: "卸货港 id",
  446. // prop: "podId",
  447. // rules: [{
  448. // required: true,
  449. // message: "请输入卸货港 id",
  450. // trigger: "blur"
  451. // }]
  452. // },
  453. // {
  454. // label: "卸货港代码",
  455. // prop: "podCode",
  456. // rules: [{
  457. // required: true,
  458. // message: "请输入卸货港代码",
  459. // trigger: "blur"
  460. // }]
  461. // },
  462. // {
  463. // label: "卸货港中文名称",
  464. // prop: "podCnName",
  465. // rules: [{
  466. // required: true,
  467. // message: "请输入卸货港中文名称",
  468. // trigger: "blur"
  469. // }]
  470. // },
  471. // {
  472. // label: "卸货港英文名称",
  473. // prop: "podEnName",
  474. // rules: [{
  475. // required: true,
  476. // message: "请输入卸货港英文名称",
  477. // trigger: "blur"
  478. // }]
  479. // },
  480. // {
  481. // label: "费用 Id",
  482. // prop: "feeId",
  483. // rules: [{
  484. // required: true,
  485. // message: "请输入费用 Id",
  486. // trigger: "blur"
  487. // }]
  488. // },
  489. // {
  490. // label: "费用中文名称",
  491. // prop: "feeCode",
  492. // rules: [{
  493. // required: true,
  494. // message: "请输入费用中文名称",
  495. // trigger: "blur"
  496. // }]
  497. // },
  498. // {
  499. // label: "费用英文名称",
  500. // prop: "feeEnName",
  501. // rules: [{
  502. // required: true,
  503. // message: "请输入费用英文名称",
  504. // trigger: "blur"
  505. // }]
  506. // },
  507. // {
  508. // label: "收付 D=收 C=付",
  509. // prop: "dc",
  510. // rules: [{
  511. // required: true,
  512. // message: "请输入收付 D=收 C=付",
  513. // trigger: "blur"
  514. // }]
  515. // },
  516. // {
  517. // label: "汇率,外币转为本币的汇率",
  518. // prop: "exrate",
  519. // rules: [{
  520. // required: true,
  521. // message: "请输入汇率,外币转为本币的汇率",
  522. // trigger: "blur"
  523. // }]
  524. // },
  525. // {
  526. // label: "是否含税(0 不含税 1 含税)",
  527. // prop: "isTax",
  528. // rules: [{
  529. // required: true,
  530. // message: "请输入是否含税(0 不含税 1 含税)",
  531. // trigger: "blur"
  532. // }]
  533. // },
  534. // {
  535. // label: "税种",
  536. // prop: "taxType",
  537. // rules: [{
  538. // required: true,
  539. // message: "请输入税种",
  540. // trigger: "blur"
  541. // }]
  542. // },
  543. // {
  544. // label: "税率 %,即 3% 的税率,值为 3.00",
  545. // prop: "taxRate",
  546. // rules: [{
  547. // required: true,
  548. // message: "请输入税率 %,即 3% 的税率,值为 3.00",
  549. // trigger: "blur"
  550. // }]
  551. // },
  552. // {
  553. // label: "费率税率 %,即 3% 的税率,值为 3.00",
  554. // prop: "surchargeRate",
  555. // rules: [{
  556. // required: true,
  557. // message: "请输入费率税率 %,即 3% 的税率,值为 3.00",
  558. // trigger: "blur"
  559. // }]
  560. // },
  561. // {
  562. // label: "折扣金额",
  563. // prop: "amountDiscount",
  564. // rules: [{
  565. // required: true,
  566. // message: "请输入折扣金额",
  567. // trigger: "blur"
  568. // }]
  569. // },
  570. // {
  571. // label: "去税金额",
  572. // prop: "amountNet",
  573. // rules: [{
  574. // required: true,
  575. // message: "请输入去税金额",
  576. // trigger: "blur"
  577. // }]
  578. // },
  579. // {
  580. // label: "税额",
  581. // prop: "amountTax",
  582. // rules: [{
  583. // required: true,
  584. // message: "请输入税额",
  585. // trigger: "blur"
  586. // }]
  587. // },
  588. // {
  589. // label: "金额,amount_tax + amount_net - amount_discount",
  590. // prop: "amount",
  591. // rules: [{
  592. // required: true,
  593. // message: "请输入金额,amount_tax + amount_net - amount_discount",
  594. // trigger: "blur"
  595. // }]
  596. // },
  597. // {
  598. // label: "本币税额",
  599. // prop: "amountTaxLoc",
  600. // rules: [{
  601. // required: true,
  602. // message: "请输入本币税额",
  603. // trigger: "blur"
  604. // }]
  605. // },
  606. // {
  607. // label: "本币去税金额",
  608. // prop: "amountNetLoc",
  609. // rules: [{
  610. // required: true,
  611. // message: "请输入本币去税金额",
  612. // trigger: "blur"
  613. // }]
  614. // },
  615. // {
  616. // label: "本币折扣金额",
  617. // prop: "amountDiscountLoc",
  618. // rules: [{
  619. // required: true,
  620. // message: "请输入本币折扣金额",
  621. // trigger: "blur"
  622. // }]
  623. // },
  624. // {
  625. // label: "本币金额,外币转为本币的金额",
  626. // prop: "amountLoc",
  627. // rules: [{
  628. // required: true,
  629. // message: "请输入本币金额,外币转为本币的金额",
  630. // trigger: "blur"
  631. // }]
  632. // },
  633. // {
  634. // label: "账单 Id",
  635. // prop: "accBillId",
  636. // rules: [{
  637. // required: true,
  638. // message: "请输入账单 Id",
  639. // trigger: "blur"
  640. // }]
  641. // },
  642. // {
  643. // label: "账单编号",
  644. // prop: "accBillNo",
  645. // rules: [{
  646. // required: true,
  647. // message: "请输入账单编号",
  648. // trigger: "blur"
  649. // }]
  650. // },
  651. // {
  652. // label: "账单日期",
  653. // prop: "accDate",
  654. // rules: [{
  655. // required: true,
  656. // message: "请输入账单日期",
  657. // trigger: "blur"
  658. // }]
  659. // },
  660. // {
  661. // label: "账单金额",
  662. // prop: "accAmount",
  663. // rules: [{
  664. // required: true,
  665. // message: "请输入账单金额",
  666. // trigger: "blur"
  667. // }]
  668. // },
  669. // {
  670. // label: "账单状态 0 = 未生成账单 1=已生成账单",
  671. // prop: "accStatus",
  672. // rules: [{
  673. // required: true,
  674. // message: "请输入账单状态 0 = 未生成账单 1=已生成账单",
  675. // trigger: "blur"
  676. // }]
  677. // },
  678. // {
  679. // label: "账单创建人 Id",
  680. // prop: "accById",
  681. // rules: [{
  682. // required: true,
  683. // message: "请输入账单创建人 Id",
  684. // trigger: "blur"
  685. // }]
  686. // },
  687. // {
  688. // label: "账单创建人",
  689. // prop: "accByName",
  690. // rules: [{
  691. // required: true,
  692. // message: "请输入账单创建人",
  693. // trigger: "blur"
  694. // }]
  695. // },
  696. // {
  697. // label: "对账单 Id",
  698. // prop: "checkBillId",
  699. // rules: [{
  700. // required: true,
  701. // message: "请输入对账单 Id",
  702. // trigger: "blur"
  703. // }]
  704. // },
  705. // {
  706. // label: "对账单编号",
  707. // prop: "checkBillNo",
  708. // rules: [{
  709. // required: true,
  710. // message: "请输入对账单编号",
  711. // trigger: "blur"
  712. // }]
  713. // },
  714. // {
  715. // label: "对账单日期",
  716. // prop: "checkDate",
  717. // rules: [{
  718. // required: true,
  719. // message: "请输入对账单日期",
  720. // trigger: "blur"
  721. // }]
  722. // },
  723. // {
  724. // label: "对账单金额",
  725. // prop: "checkAmount",
  726. // rules: [{
  727. // required: true,
  728. // message: "请输入对账单金额",
  729. // trigger: "blur"
  730. // }]
  731. // },
  732. // {
  733. // label: "对账状态 0 = 未对账 1=已对账",
  734. // prop: "checkStatus",
  735. // rules: [{
  736. // required: true,
  737. // message: "请输入对账状态 0 = 未对账 1=已对账",
  738. // trigger: "blur"
  739. // }]
  740. // },
  741. // {
  742. // label: "对账单创建人 Id",
  743. // prop: "checkById",
  744. // rules: [{
  745. // required: true,
  746. // message: "请输入对账单创建人 Id",
  747. // trigger: "blur"
  748. // }]
  749. // },
  750. // {
  751. // label: "对账单创建人",
  752. // prop: "checkByName",
  753. // rules: [{
  754. // required: true,
  755. // message: "请输入对账单创建人",
  756. // trigger: "blur"
  757. // }]
  758. // },
  759. // {
  760. // label: "对账单 Id",
  761. // prop: "stlBillId",
  762. // rules: [{
  763. // required: true,
  764. // message: "请输入对账单 Id",
  765. // trigger: "blur"
  766. // }]
  767. // },
  768. // {
  769. // label: "结算单编号",
  770. // prop: "stlBillNo",
  771. // rules: [{
  772. // required: true,
  773. // message: "请输入结算单编号",
  774. // trigger: "blur"
  775. // }]
  776. // },
  777. // {
  778. // label: "结算单日期",
  779. // prop: "stlDate",
  780. // rules: [{
  781. // required: true,
  782. // message: "请输入结算单日期",
  783. // trigger: "blur"
  784. // }]
  785. // },
  786. // {
  787. // label: "本次原币结算金额",
  788. // prop: "stlOrgAmount",
  789. // rules: [{
  790. // required: true,
  791. // message: "请输入本次原币结算金额",
  792. // trigger: "blur"
  793. // }]
  794. // },
  795. // {
  796. // label: "本次结算币种",
  797. // prop: "stlCurCode",
  798. // rules: [{
  799. // required: true,
  800. // message: "请输入本次结算币种",
  801. // trigger: "blur"
  802. // }]
  803. // },
  804. // {
  805. // label: "本次结算币种对原币种汇率",
  806. // prop: "stlExrate",
  807. // rules: [{
  808. // required: true,
  809. // message: "请输入本次结算币种对原币种汇率",
  810. // trigger: "blur"
  811. // }]
  812. // },
  813. // {
  814. // label: "本次结算币种对本币汇率",
  815. // prop: "stlExrateLoc",
  816. // rules: [{
  817. // required: true,
  818. // message: "请输入本次结算币种对本币汇率",
  819. // trigger: "blur"
  820. // }]
  821. // },
  822. // {
  823. // label: "本次结算金额",
  824. // prop: "stlAmount",
  825. // rules: [{
  826. // required: true,
  827. // message: "请输入本次结算金额",
  828. // trigger: "blur"
  829. // }]
  830. // },
  831. // {
  832. // label: "本次结算本币金额",
  833. // prop: "stlAmountLoc",
  834. // rules: [{
  835. // required: true,
  836. // message: "请输入本次结算本币金额",
  837. // trigger: "blur"
  838. // }]
  839. // },
  840. // {
  841. // label: "结算单日期",
  842. // prop: "stlStatus",
  843. // rules: [{
  844. // required: true,
  845. // message: "请输入结算单日期",
  846. // trigger: "blur"
  847. // }]
  848. // },
  849. // {
  850. // label: "结算单创建人 Id",
  851. // prop: "stlById",
  852. // rules: [{
  853. // required: true,
  854. // message: "请输入结算单创建人 Id",
  855. // trigger: "blur"
  856. // }]
  857. // },
  858. // {
  859. // label: "结算单创建人",
  860. // prop: "stlByName",
  861. // rules: [{
  862. // required: true,
  863. // message: "请输入结算单创建人",
  864. // trigger: "blur"
  865. // }]
  866. // },
  867. // {
  868. // label: "原币累计已结算金额",
  869. // prop: "stlTtlAmount",
  870. // rules: [{
  871. // required: true,
  872. // message: "请输入原币累计已结算金额",
  873. // trigger: "blur"
  874. // }]
  875. // },
  876. // {
  877. // label: "原币未结算金额",
  878. // prop: "unsettledAmount",
  879. // rules: [{
  880. // required: true,
  881. // message: "请输入原币未结算金额",
  882. // trigger: "blur"
  883. // }]
  884. // },
  885. // {
  886. // label: "凭证 Id",
  887. // prop: "voucherBillId",
  888. // rules: [{
  889. // required: true,
  890. // message: "请输入凭证 Id",
  891. // trigger: "blur"
  892. // }]
  893. // },
  894. // {
  895. // label: "凭证单据编号",
  896. // prop: "voucherBillNo",
  897. // rules: [{
  898. // required: true,
  899. // message: "请输入凭证单据编号",
  900. // trigger: "blur"
  901. // }]
  902. // },
  903. // {
  904. // label: "凭证号",
  905. // prop: "voucherNo",
  906. // rules: [{
  907. // required: true,
  908. // message: "请输入凭证号",
  909. // trigger: "blur"
  910. // }]
  911. // },
  912. // {
  913. // label: "凭证日期",
  914. // prop: "voucherDate",
  915. // rules: [{
  916. // required: true,
  917. // message: "请输入凭证日期",
  918. // trigger: "blur"
  919. // }]
  920. // },
  921. // {
  922. // label: "凭证状态 0 = 未开 1=已开",
  923. // prop: "voucherStatus",
  924. // rules: [{
  925. // required: true,
  926. // message: "请输入凭证状态 0 = 未开 1=已开",
  927. // trigger: "blur"
  928. // }]
  929. // },
  930. // {
  931. // label: "凭证创建人 Id",
  932. // prop: "voucherById",
  933. // rules: [{
  934. // required: true,
  935. // message: "请输入凭证创建人 Id",
  936. // trigger: "blur"
  937. // }]
  938. // },
  939. // {
  940. // label: "凭证创建人",
  941. // prop: "voucherByName",
  942. // rules: [{
  943. // required: true,
  944. // message: "请输入凭证创建人",
  945. // trigger: "blur"
  946. // }]
  947. // },
  948. // {
  949. // label: "排序",
  950. // prop: "sort",
  951. // rules: [{
  952. // required: true,
  953. // message: "请输入排序",
  954. // trigger: "blur"
  955. // }]
  956. // },
  957. // {
  958. // label: "是否已删除(0 否 1是)",
  959. // prop: "isDeleted",
  960. // rules: [{
  961. // required: true,
  962. // message: "请输入是否已删除(0 否 1是)",
  963. // trigger: "blur"
  964. // }]
  965. // },
  966. // {
  967. // label: "版本",
  968. // prop: "version",
  969. // rules: [{
  970. // required: true,
  971. // message: "请输入版本",
  972. // trigger: "blur"
  973. // }]
  974. // },
  975. // {
  976. // label: "状态(0 正常 1停用)",
  977. // prop: "status",
  978. // rules: [{
  979. // required: true,
  980. // message: "请输入状态(0 正常 1停用)",
  981. // trigger: "blur"
  982. // }]
  983. // },
  984. // {
  985. // label: "备注",
  986. // prop: "remarks",
  987. // rules: [{
  988. // required: true,
  989. // message: "请输入备注",
  990. // trigger: "blur"
  991. // }]
  992. // },
  993. // {
  994. // label: "主表客户 id",
  995. // prop: "billCorpId",
  996. // rules: [{
  997. // required: true,
  998. // message: "请输入主表客户 id",
  999. // trigger: "blur"
  1000. // }]
  1001. // },
  1002. // {
  1003. // label: "主表客户中文名称",
  1004. // prop: "billCorpCnName",
  1005. // rules: [{
  1006. // required: true,
  1007. // message: "请输入主表客户中文名称",
  1008. // trigger: "blur"
  1009. // }]
  1010. // },
  1011. // {
  1012. // label: "主表客户英文名称",
  1013. // prop: "billCorpEnName",
  1014. // rules: [{
  1015. // required: true,
  1016. // message: "请输入主表客户英文名称",
  1017. // trigger: "blur"
  1018. // }]
  1019. // },
  1020. // {
  1021. // label: "MB/L 付款地点",
  1022. // prop: "payplace",
  1023. // rules: [{
  1024. // required: true,
  1025. // message: "请输入MB/L 付款地点",
  1026. // trigger: "blur"
  1027. // }]
  1028. // },
  1029. // {
  1030. // label: "发票 Id",
  1031. // prop: "invoiceBillId",
  1032. // rules: [{
  1033. // required: true,
  1034. // message: "请输入发票 Id",
  1035. // trigger: "blur"
  1036. // }]
  1037. // },
  1038. // {
  1039. // label: "发票单据编号",
  1040. // prop: "invoiceBillNo",
  1041. // rules: [{
  1042. // required: true,
  1043. // message: "请输入发票单据编号",
  1044. // trigger: "blur"
  1045. // }]
  1046. // },
  1047. // {
  1048. // label: "发票号",
  1049. // prop: "invoiceNo",
  1050. // rules: [{
  1051. // required: true,
  1052. // message: "请输入发票号",
  1053. // trigger: "blur"
  1054. // }]
  1055. // },
  1056. // {
  1057. // label: "发票日期",
  1058. // prop: "invoiceDate",
  1059. // rules: [{
  1060. // required: true,
  1061. // message: "请输入发票日期",
  1062. // trigger: "blur"
  1063. // }]
  1064. // },
  1065. // {
  1066. // label: "发票状态 0 = 未开 9=已开 2 待开 3 不开",
  1067. // prop: "invoiceStatus",
  1068. // rules: [{
  1069. // required: true,
  1070. // message: "请输入发票状态 0 = 未开 9=已开 2 待开 3 不开",
  1071. // trigger: "blur"
  1072. // }]
  1073. // },
  1074. // {
  1075. // label: "发票币种",
  1076. // prop: "invoiceCurCode",
  1077. // rules: [{
  1078. // required: true,
  1079. // message: "请输入发票币种",
  1080. // trigger: "blur"
  1081. // }]
  1082. // },
  1083. // {
  1084. // label: "发票汇率",
  1085. // prop: "invoiceExrate",
  1086. // rules: [{
  1087. // required: true,
  1088. // message: "请输入发票汇率",
  1089. // trigger: "blur"
  1090. // }]
  1091. // },
  1092. // {
  1093. // label: "本次发票金额",
  1094. // prop: "invoiceAmount",
  1095. // rules: [{
  1096. // required: true,
  1097. // message: "请输入本次发票金额",
  1098. // trigger: "blur"
  1099. // }]
  1100. // },
  1101. // {
  1102. // label: "本次发票本币金额",
  1103. // prop: "invoiceAmountLoc",
  1104. // rules: [{
  1105. // required: true,
  1106. // message: "请输入本次发票本币金额",
  1107. // trigger: "blur"
  1108. // }]
  1109. // },
  1110. // {
  1111. // label: "发票创建人 Id",
  1112. // prop: "invoiceById",
  1113. // rules: [{
  1114. // required: true,
  1115. // message: "请输入发票创建人 Id",
  1116. // trigger: "blur"
  1117. // }]
  1118. // },
  1119. // {
  1120. // label: "发票创建人",
  1121. // prop: "invoiceByName",
  1122. // rules: [{
  1123. // required: true,
  1124. // message: "请输入发票创建人",
  1125. // trigger: "blur"
  1126. // }]
  1127. // },
  1128. // {
  1129. // label: "是否已签收(0 否 1是)",
  1130. // prop: "isSignfor",
  1131. // rules: [{
  1132. // required: true,
  1133. // message: "请输入是否已签收(0 否 1是)",
  1134. // trigger: "blur"
  1135. // }]
  1136. // },
  1137. // {
  1138. // label: "签收人 Id",
  1139. // prop: "signforId",
  1140. // rules: [{
  1141. // required: true,
  1142. // message: "请输入签收人 Id",
  1143. // trigger: "blur"
  1144. // }]
  1145. // },
  1146. // {
  1147. // label: "签收人",
  1148. // prop: "signforName",
  1149. // rules: [{
  1150. // required: true,
  1151. // message: "请输入签收人",
  1152. // trigger: "blur"
  1153. // }]
  1154. // },
  1155. // {
  1156. // label: "签收日期",
  1157. // prop: "signforDate",
  1158. // rules: [{
  1159. // required: true,
  1160. // message: "请输入签收日期",
  1161. // trigger: "blur"
  1162. // }]
  1163. // },
  1164. // {
  1165. // label: "请核人 Id",
  1166. // prop: "applyId",
  1167. // rules: [{
  1168. // required: true,
  1169. // message: "请输入请核人 Id",
  1170. // trigger: "blur"
  1171. // }]
  1172. // },
  1173. // {
  1174. // label: "请核人",
  1175. // prop: "applyName",
  1176. // rules: [{
  1177. // required: true,
  1178. // message: "请输入请核人",
  1179. // trigger: "blur"
  1180. // }]
  1181. // },
  1182. // {
  1183. // label: "请核时间",
  1184. // prop: "applyTime",
  1185. // rules: [{
  1186. // required: true,
  1187. // message: "请输入请核时间",
  1188. // trigger: "blur"
  1189. // }]
  1190. // },
  1191. // {
  1192. // label: "审核人 Id",
  1193. // prop: "approverId",
  1194. // rules: [{
  1195. // required: true,
  1196. // message: "请输入审核人 Id",
  1197. // trigger: "blur"
  1198. // }]
  1199. // },
  1200. // {
  1201. // label: "审核人",
  1202. // prop: "approverName",
  1203. // rules: [{
  1204. // required: true,
  1205. // message: "请输入审核人",
  1206. // trigger: "blur"
  1207. // }]
  1208. // },
  1209. // {
  1210. // label: "审核时间",
  1211. // prop: "approveTime",
  1212. // rules: [{
  1213. // required: true,
  1214. // message: "请输入审核时间",
  1215. // trigger: "blur"
  1216. // }]
  1217. // },
  1218. // {
  1219. // label: "审核状态 0 新建费用 1 已请核 2 审核中 3 驳回 4 通过",
  1220. // prop: "auditStatus",
  1221. // rules: [{
  1222. // required: true,
  1223. // message: "请输入审核状态 0 新建费用 1 已请核 2 审核中 3 驳回 4 通过",
  1224. // trigger: "blur"
  1225. // }]
  1226. // }]
  1227. ]
  1228. },
  1229. data: [],
  1230. corpCnNameList: []
  1231. };
  1232. },
  1233. computed: {
  1234. ...mapGetters(["permission"]),
  1235. permissionList() {
  1236. return {
  1237. addBtn: this.vaildData(this.permission.feecenter_add, false),
  1238. viewBtn: this.vaildData(this.permission.feecenter_view, false),
  1239. // delBtn: this.vaildData(this.permission.feecenter_delete, false),
  1240. editBtn: this.vaildData(this.permission.feecenter_edit, false)
  1241. };
  1242. },
  1243. ids() {
  1244. let ids = [];
  1245. this.selectionList.forEach(ele => {
  1246. ids.push(ele.id);
  1247. });
  1248. return ids.join(",");
  1249. }
  1250. },
  1251. async created () {
  1252. this.option = await this.getColumnData(this.getColumnName(310), this.optionBack);
  1253. getBcorpsList(1, 10).then(res => {
  1254. const data = res.data.data;
  1255. this.corpCnNameList = data.records;
  1256. });
  1257. },
  1258. methods: {
  1259. remoteMethod(cnName) {
  1260. getBcorpsList(1, 10, {cnName}).then(res => {
  1261. const data = res.data.data;
  1262. this.corpCnNameList = data.records;
  1263. });
  1264. },
  1265. rowSave(row, done, loading) {
  1266. add(row).then(() => {
  1267. this.onLoad(this.page);
  1268. this.$message({
  1269. type: "success",
  1270. message: "操作成功!"
  1271. });
  1272. done();
  1273. }, error => {
  1274. loading();
  1275. window.console.log(error);
  1276. });
  1277. },
  1278. rowUpdate(row, index, done, loading) {
  1279. update(row).then(() => {
  1280. this.onLoad(this.page);
  1281. this.$message({
  1282. type: "success",
  1283. message: "操作成功!"
  1284. });
  1285. done();
  1286. }, error => {
  1287. loading();
  1288. console.log(error);
  1289. });
  1290. },
  1291. rowDel(row) {
  1292. this.$confirm("确定将选择数据删除?", {
  1293. confirmButtonText: "确定",
  1294. cancelButtonText: "取消",
  1295. type: "warning"
  1296. })
  1297. .then(() => {
  1298. return feecenterRemove(row.id);
  1299. })
  1300. .then(() => {
  1301. this.onLoad(this.page);
  1302. this.$message({
  1303. type: "success",
  1304. message: "操作成功!"
  1305. });
  1306. });
  1307. },
  1308. handleDelete() {
  1309. if (this.selectionList.length === 0) {
  1310. this.$message.warning("请选择至少一条数据");
  1311. return;
  1312. }
  1313. this.$confirm("确定将选择数据删除?", {
  1314. confirmButtonText: "确定",
  1315. cancelButtonText: "取消",
  1316. type: "warning"
  1317. })
  1318. .then(() => {
  1319. return feecenterRemove(this.ids);
  1320. })
  1321. .then(() => {
  1322. this.onLoad(this.page);
  1323. this.$message({
  1324. type: "success",
  1325. message: "操作成功!"
  1326. });
  1327. this.$refs.crud.toggleSelection();
  1328. });
  1329. },
  1330. beforeOpen(done, type) {
  1331. if (["edit", "view"].includes(type)) {
  1332. getDetail(this.form.id).then(res => {
  1333. this.form = res.data.data;
  1334. });
  1335. }
  1336. done();
  1337. },
  1338. searchReset() {
  1339. this.query = {};
  1340. this.onLoad(this.page);
  1341. },
  1342. searchChange(params, done) {
  1343. console.log(params)
  1344. this.query = params;
  1345. this.page.currentPage = 1;
  1346. this.onLoad(this.page, params);
  1347. done();
  1348. },
  1349. selectionChange(list) {
  1350. this.selectionList = list;
  1351. },
  1352. selectionClear() {
  1353. this.selectionList = [];
  1354. this.$refs.crud.toggleSelection();
  1355. },
  1356. currentChange(currentPage) {
  1357. this.page.currentPage = currentPage;
  1358. },
  1359. sizeChange(pageSize) {
  1360. this.page.pageSize = pageSize;
  1361. },
  1362. refreshChange() {
  1363. this.onLoad(this.page, this.query);
  1364. },
  1365. onLoad(page, params = {}) {
  1366. this.loading = true;
  1367. feecenterList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
  1368. const data = res.data.data;
  1369. this.page.total = data.total;
  1370. this.data = data.records;
  1371. for (let item of this.data) {
  1372. if (item.curCode == 'CNY') {
  1373. this.$set(item, 'rmbAmount', item.amount)
  1374. this.$set(item, 'usdAmount', '')
  1375. } else {
  1376. this.$set(item, 'usdAmount', item.amount)
  1377. this.$set(item, 'rmbAmount', '')
  1378. }
  1379. }
  1380. this.loading = false;
  1381. this.selectionClear();
  1382. });
  1383. },
  1384. //自定义列保存
  1385. async saveColumnTwo(ref, option, optionBack, code) {
  1386. /**
  1387. * 已定义全局方法,直接使用,saveColumnData保存列数据方法,参数传值(表格名称,当前表格的option数据)
  1388. * 已定义全局方法,直接使用,getColumnName方法用来获取枚举值,参数根据自己定义的code值获取中文名
  1389. * 一定要执行异步操作,要等接口成功返回,才能执行下一行代码
  1390. */
  1391. const inSave = await this.saveColumnData(this.getColumnName(code), this[option]);
  1392. if (inSave) {
  1393. this.$message.success("保存成功");
  1394. //关闭窗口
  1395. this.$refs[ref].$refs.dialogColumn.columnBox = false;
  1396. }
  1397. },
  1398. //自定义列重置
  1399. async resetColumnTwo(ref, option, optionBack, code) {
  1400. this[option] = this[optionBack];
  1401. const inSave = await this.delColumnData(this.getColumnName(code), this[optionBack]);
  1402. if (inSave) {
  1403. this.$message.success("重置成功");
  1404. this.$refs[ref].$refs.dialogColumn.columnBox = false;
  1405. }
  1406. },
  1407. // 更改表格颜色
  1408. headerClassName(tab) {
  1409. //颜色间隔
  1410. let back = ""
  1411. if (tab.columnIndex >= 0 && tab.column.level === 1) {
  1412. if (tab.columnIndex % 2 === 0) {
  1413. back = "back-one"
  1414. } else if (tab.columnIndex % 2 === 1) {
  1415. back = "back-two"
  1416. }
  1417. }
  1418. return back;
  1419. },
  1420. }
  1421. };
  1422. </script>
  1423. <style lang="scss" scoped>
  1424. ::v-deep#out-table .back-one {
  1425. background: #ecf5ff !important;
  1426. }
  1427. ::v-deep#out-table .back-two {
  1428. background: #ecf5ff !important;
  1429. }
  1430. ::v-deep .el-input-group__append {
  1431. padding: 0 0px !important;
  1432. }
  1433. /deep/ .el-tree-node__content>.el-tree-node__expand-icon {
  1434. visibility: hidden;
  1435. }
  1436. /deep/ .el-col-md-8 {
  1437. width: 24.33333%;
  1438. }
  1439. </style>