finstlbillsDetails.vue 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751
  1. <template>
  2. <div class="borderless" v-loading="pageLoading">
  3. <div class="customer-head">
  4. <div class="customer-back">
  5. <el-button type="danger" style="border: none;background: none;color: red" icon="el-icon-arrow-left"
  6. @click="backToList">返回列表
  7. </el-button>
  8. </div>
  9. <div class="add-customer-btn">
  10. <el-button size="small" type="success" style="margin-right: 8px"
  11. :loading="saveLoading" >提取利润及放单
  12. </el-button>
  13. <el-button size="small" type="warning" plain style="margin-right: 8px" :disabled="!form.id"
  14. :loading="saveLoading" @click="finstlbillsRevokeSettlementfun">撤销结算
  15. </el-button>
  16. <el-button size="small" type="success" plain style="margin-right: 8px" :disabled="!form.id"
  17. :loading="saveLoading" @click="finstlbillsConfirmSettlementfun">确认结算
  18. </el-button>
  19. <el-button size="small" type="primary" style="margin-right: 8px" v-if="editSave"
  20. :loading="saveLoading" @click="editHandle">编 辑
  21. </el-button>
  22. <el-button size="small" type="primary" style="margin-right: 8px" v-else
  23. :loading="saveLoading" @click="editCustomer">保 存
  24. </el-button>
  25. </div>
  26. </div>
  27. <div style="margin: 55px 5px 0px 5px;'">
  28. <el-card class="box-card">
  29. <el-form :model="form" ref="form" label-width="90px" class="demo-ruleForm">
  30. <el-row>
  31. <el-row>
  32. <el-col :span="5">
  33. <el-form-item label="结算单号" prop="checkNo">
  34. <el-input style="width: 100%;" v-model="form.billNo"
  35. size="small" autocomplete="off"
  36. :disabled="true"
  37. clearable placeholder="请输入结算单号" >
  38. </el-input>
  39. </el-form-item>
  40. </el-col>
  41. <el-col :span="5">
  42. <el-form-item label="结算日期" prop="billDate">
  43. <el-date-picker v-model="form.billDate" clearable
  44. style="width: 100%;"
  45. type="date" size="small"
  46. :disabled="editSave"
  47. value-format="yyyy-MM-dd HH:mm"
  48. placeholder="选择结算日期">
  49. </el-date-picker>
  50. </el-form-item>
  51. </el-col>
  52. <el-col :span="5">
  53. <el-form-item label="限定金额" prop="billDate">
  54. <el-input style="width: 100%;" v-model="form.limitedAmount"
  55. size="small" autocomplete="off"
  56. :disabled="editSave"
  57. clearable placeholder="请输入限定金额" >
  58. </el-input>
  59. </el-form-item>
  60. </el-col>
  61. <el-col :span="9">
  62. <el-form-item label="审核期间" prop="etd">
  63. <el-date-picker
  64. v-model="form.approvedDate"
  65. type="datetimerange"
  66. range-separator="至"
  67. start-placeholder="开始日期"
  68. end-placeholder="结束日期"
  69. style="width: 100%;"
  70. size="small"
  71. :disabled="editSave"
  72. format="yyyy-MM-dd"
  73. value-format="yyyy-MM-dd"
  74. placeholder="选择对账日期">
  75. </el-date-picker>
  76. </el-form-item>
  77. </el-col>
  78. <el-col :span="10">
  79. <el-form-item label="结算单位" prop="corpCnName">
  80. <el-col :span="11">
  81. <search-query :datalist="corpData"
  82. :selectValue="form.corpCnName"
  83. :clearable="true"
  84. :disabled="editSave"
  85. :filterable="true"
  86. :remote="true"
  87. :buttonIf="false"
  88. :forParameter="{ key:'id', label:'cnName', value:'cnName'}"
  89. @corpChange="corpChange($event,'corpCnName')"
  90. @remoteMethod="corpBcorpsListfun"
  91. @corpFocus="corpBcorpsListfun" >
  92. </search-query>
  93. </el-col>
  94. <el-col :span="12" :offset="1">
  95. <el-input style="width: 100%;" v-model="form.corpEnName"
  96. size="small" autocomplete="off"
  97. :disabled="editSave"
  98. clearable placeholder="请输入" >
  99. </el-input>
  100. </el-col>
  101. </el-form-item>
  102. </el-col>
  103. <el-col :span="5">
  104. <el-form-item label="业务类型" prop="businessTypes" >
  105. <search-query :datalist="businessTypesData"
  106. :selectValue="form.businessTypes"
  107. :clearable="true"
  108. :disabled="editSave"
  109. :buttonIf="false"
  110. @corpChange="corpChange($event,'businessTypes')">
  111. </search-query>
  112. </el-form-item>
  113. </el-col>
  114. <el-col :span="5">
  115. <el-form-item label="查询金额" prop="queryAmount">
  116. <el-input style="width: 100%;" v-model="form.queryAmount"
  117. size="small" autocomplete="off"
  118. :disabled="editSave"
  119. clearable placeholder="请输入查询金额" >
  120. </el-input>
  121. </el-form-item>
  122. </el-col>
  123. <el-col :span="4">
  124. <el-form-item label="币别" prop="curCode">
  125. <search-query :datalist="curCodeData"
  126. :selectValue="form.curCode"
  127. :clearable="true"
  128. :disabled="editSave"
  129. :buttonIf="false"
  130. :filterable="true"
  131. :remote="true"
  132. :forParameter="{ key:'id', label:'code', value:'code'}"
  133. @corpChange="corpChange($event,'curCode')"
  134. @remoteMethod="getRateListfun"
  135. @corpFocus="getRateListfun" >
  136. </search-query>
  137. </el-form-item>
  138. </el-col>
  139. </el-row>
  140. <expand :showBtn="true" :showSpan="true">
  141. <el-row>
  142. <el-row>
  143. <el-col :span="5">
  144. <el-form-item label="收 / 付" prop="dc">
  145. <search-query :datalist="dcData"
  146. :selectValue="form.dc"
  147. :clearable="true"
  148. :disabled="editSave"
  149. :buttonIf="false"
  150. @corpChange="corpChange($event,'dc')">
  151. </search-query>
  152. </el-form-item>
  153. </el-col>
  154. <el-col :span="10">
  155. <el-form-item label="签收日期" prop="etd">
  156. <el-date-picker
  157. v-model="form.accountDate"
  158. type="datetimerange"
  159. range-separator="至"
  160. start-placeholder="开始日期"
  161. end-placeholder="结束日期"
  162. style="width: 100%;"
  163. size="small"
  164. :disabled="editSave"
  165. format="yyyy-MM-dd"
  166. value-format="yyyy-MM-dd"
  167. placeholder="选择签收日期">
  168. </el-date-picker>
  169. </el-form-item>
  170. </el-col>
  171. </el-row>
  172. <el-col :span="5">
  173. <el-form-item label="JOB NO" prop="businessNo">
  174. <el-input style="width: 100%;" v-model="form.businessNo"
  175. size="small" autocomplete="off"
  176. :disabled="editSave"
  177. clearable placeholder="请输入JOB NO" >
  178. </el-input>
  179. </el-form-item>
  180. </el-col>
  181. <el-col :span="5">
  182. <el-form-item label="ACCT NO" prop="accountNo">
  183. <el-input style="width: 100%;" v-model="form.accountNo"
  184. size="small" autocomplete="off"
  185. :disabled="editSave"
  186. clearable placeholder="请输入ACCT NO" >
  187. </el-input>
  188. </el-form-item>
  189. </el-col>
  190. <el-col :span="5">
  191. <el-form-item label="MBL NO" prop="mblno">
  192. <el-input style="width: 100%;" v-model="form.mblno"
  193. size="small" autocomplete="off"
  194. :disabled="editSave"
  195. clearable placeholder="请输入MBL NO" >
  196. </el-input>
  197. </el-form-item>
  198. </el-col>
  199. <el-col :span="5">
  200. <el-form-item label="HBL NO" prop="hblno">
  201. <el-input style="width: 100%;" v-model="form.hblno"
  202. size="small" autocomplete="off"
  203. :disabled="editSave"
  204. clearable placeholder="请输入HBL NO" >
  205. </el-input>
  206. </el-form-item>
  207. </el-col>
  208. <el-col :span="4">
  209. <el-form-item label="CHK NO(无)" prop="hblno">
  210. <el-input style="width: 100%;" v-model="form.hblno"
  211. size="small" autocomplete="off"
  212. :disabled="editSave"
  213. clearable placeholder="请输入CHK NO" >
  214. </el-input>
  215. </el-form-item>
  216. </el-col>
  217. <el-col :span="10">
  218. <el-form-item label="财务日期" prop="etd">
  219. <el-date-picker
  220. v-model="form.accountDate"
  221. type="datetimerange"
  222. range-separator="至"
  223. start-placeholder="开始日期"
  224. end-placeholder="结束日期"
  225. style="width: 100%;"
  226. size="small"
  227. :disabled="editSave"
  228. format="yyyy-MM-dd"
  229. value-format="yyyy-MM-dd"
  230. placeholder="选择财务日期">
  231. </el-date-picker>
  232. </el-form-item>
  233. </el-col>
  234. <el-col :span="5">
  235. <el-form-item label="船 名" prop="vesselCnName" >
  236. <el-input style="width: 100%;" v-model="form.vesselCnName"
  237. size="small" autocomplete="off"
  238. :disabled="editSave"
  239. clearable placeholder="请选择船名" ></el-input>
  240. </el-form-item>
  241. </el-col>
  242. <el-col :span="5">
  243. <el-form-item label="航 次" prop="voyageNo" >
  244. <el-input style="width: 100%;" v-model="form.voyageNo"
  245. size="small" autocomplete="off"
  246. :disabled="editSave"
  247. clearable placeholder="请选择航次" ></el-input>
  248. </el-form-item>
  249. </el-col>
  250. <el-col :span="4">
  251. <el-form-item label="预收帐款" prop="receivableAdvance" >
  252. <el-input style="width: 100%;" v-model="form.receivableAdvance"
  253. size="small" autocomplete="off"
  254. :disabled="editSave"
  255. clearable placeholder="请输入预收帐款" ></el-input>
  256. </el-form-item>
  257. </el-col>
  258. </el-row>
  259. </expand>
  260. <el-row>
  261. <el-col span="24">
  262. <div style="text-align: right">
  263. <el-button size="small" type="" style="margin-right: 8px"
  264. :loading="saveLoading" @click="ResetFilter">重置条件
  265. </el-button>
  266. <el-button size="small" type="primary" style="margin-right: 8px"
  267. :loading="saveLoading" @click="finstlbillslistAccBillV1fun" >检 索
  268. </el-button>
  269. </div>
  270. </el-col>
  271. </el-row>
  272. </el-row>
  273. </el-form>
  274. </el-card>
  275. <el-card style="margin-top: 10px">
  276. <el-row>
  277. <el-col :span="4">
  278. <div class="bottomFlex" style="justify-content: space-around">
  279. <!--<div style="text-align: center">-->
  280. <!-- <div class="weightfont">¥</div>-->
  281. <!-- <div>RMB</div>-->
  282. <!--</div>-->
  283. <div>
  284. <div style="color: #81B337">
  285. <span>税后应收RMB:</span>
  286. <span class="weightnum">¥0元</span>
  287. </div>
  288. <div style="color: #6BBCD1">
  289. <span>税后应付Rmb:</span>
  290. <span class="weightnum">¥0元</span>
  291. </div>
  292. </div>
  293. </div>
  294. </el-col>
  295. <el-col :span="4">
  296. <div class="bottomFlex" style="justify-content: space-around">
  297. <!--<div style="text-align: center">-->
  298. <!-- <div class="weightfont">$</div>-->
  299. <!-- <div>USD</div>-->
  300. <!--</div>-->
  301. <div>
  302. <div style="color: #81B337">
  303. <span>税后应收USD:</span>
  304. <span class="weightnum">$0元</span>
  305. </div>
  306. <div style="color: #6BBCD1">
  307. <span>税后应付USD:</span>
  308. <span class="weightnum">$0元</span>
  309. </div>
  310. </div>
  311. </div>
  312. </el-col>
  313. <el-col :span="4">
  314. <div class="bottomFlex" style="justify-content: space-around">
  315. <!--<div style="text-align: center">-->
  316. <!-- <div class="weightfont">¥</div>-->
  317. <!-- <div>税后RMB</div>-->
  318. <!--</div>-->
  319. <div>
  320. <div style="color: #81B337">
  321. <span>税后应收合计:</span>
  322. <span class="weightnum">¥0元</span>
  323. </div>
  324. <div style="color: #6BBCD1">
  325. <span>税后应付合计:</span>
  326. <span class="weightnum">¥0元</span>
  327. </div>
  328. </div>
  329. </div>
  330. </el-col>
  331. <el-col :span="4">
  332. <div class="bottomFlex" style="justify-content: space-around">
  333. <!--<div style="text-align: center">-->
  334. <!-- <div class="weightfont">$</div>-->
  335. <!-- <div>税后USD</div>-->
  336. <!--</div>-->
  337. <div>
  338. <div style="color: #81B337">
  339. <span>应收RMB:</span>
  340. <span class="weightnum">$0元</span>
  341. </div>
  342. <div style="color: #6BBCD1">
  343. <span>应付RMB:</span>
  344. <span class="weightnum">$0元</span>
  345. </div>
  346. </div>
  347. </div>
  348. </el-col>
  349. <el-col :span="4">
  350. <div class="bottomFlex" style="justify-content: space-around">
  351. <!--<div style="text-align: center">-->
  352. <!-- <div class="weightfont">$</div>-->
  353. <!-- <div>税后USD</div>-->
  354. <!--</div>-->
  355. <div>
  356. <div style="color: #81B337">
  357. <span>应收USD:</span>
  358. <span class="weightnum">$0元</span>
  359. </div>
  360. <div style="color: #6BBCD1">
  361. <span>应付USD:</span>
  362. <span class="weightnum">$0元</span>
  363. </div>
  364. </div>
  365. </div>
  366. </el-col>
  367. <el-col :span="4">
  368. <div class="bottomFlex" style="justify-content: space-around">
  369. <!--<div style="text-align: center">-->
  370. <!-- <div class="weightfont">$</div>-->
  371. <!-- <div>税后USD</div>-->
  372. <!--</div>-->
  373. <div>
  374. <div style="color: #81B337">
  375. <span>销项税合计:</span>
  376. <span class="weightnum">$0元</span>
  377. </div>
  378. <div style="color: #6BBCD1">
  379. <span>进项税合计:</span>
  380. <span class="weightnum">$0元</span>
  381. </div>
  382. </div>
  383. </div>
  384. </el-col>
  385. </el-row>
  386. </el-card>
  387. <el-card style="margin-top: 10px">
  388. <div style="margin-bottom: 10px">
  389. <el-button size="small" type="info" style="margin-right: 8px" :disabled="editSave"
  390. :loading="saveLoading" @click="SelectedRows">确认选定行
  391. </el-button>
  392. </div>
  393. <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
  394. <el-tab-pane label="核销明细" name="first">
  395. <finstlbillsitems :tableData="tableData" @handleSelectionChange="handleSelectionChange"></finstlbillsitems>
  396. </el-tab-pane>
  397. <el-tab-pane label="凭证明细" name="second">凭证明细</el-tab-pane>
  398. </el-tabs>
  399. </el-card>
  400. </div>
  401. </div>
  402. </template>
  403. <script>
  404. import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
  405. import {getRateList} from "@/api/iosBasicData/rateManagement";
  406. import {getBcorpslistByType} from "@/api/iosBasicData/bcorps";
  407. import {
  408. finstlbillsConfirmSettlement,
  409. finstlbillsConfirmSignFor,
  410. finstlbillsDetail,
  411. finstlbillslistAccBillV1,
  412. finstlbillsRevokeSettlement,
  413. finstlbillsRevokeSignFor,
  414. finstlbillsSubmit
  415. } from '@/api/iosBasicData/finstlbills'
  416. import expand from "@/components/basic-container/expand.vue";
  417. import finstlbillsitems from "@/views/iosBasicData/finstlbills/assembly/finstlbillsitems.vue";
  418. export default {
  419. components: {SearchQuery,expand,finstlbillsitems},
  420. props:{
  421. // 编辑还是保存
  422. editSave:{
  423. type:Boolean,
  424. default:true
  425. }
  426. },
  427. data(){
  428. return {
  429. activeName:'first', // tabs 切换数据
  430. tableData:[],
  431. pageLoading:false, // 全屏加载动画
  432. saveLoading:false, // 按钮动画
  433. // 绑定的数据
  434. form:{},
  435. handleSelectionData:[], // 表格选择的数据
  436. corpData:[], // 结算单位 数据
  437. curCodeData:[],// 币别
  438. srcforParameter:{},
  439. // 收 / 付
  440. dcData:[
  441. {
  442. label:'Debit',
  443. value: 'D'
  444. },{
  445. label:'Credit',
  446. value: 'C'
  447. }
  448. ],
  449. // 业务类型
  450. businessTypesData:[
  451. {
  452. label:'海运出口',
  453. value:'SE'
  454. },{
  455. label:'海运进口',
  456. value:'SI'
  457. }
  458. ],
  459. }
  460. },
  461. watch:{
  462. // // 监听业务类型 如果不是分单 可以编辑分单号
  463. // form:{
  464. // // 执行方法
  465. // handler(oldValue,newValue) {
  466. // // 只要分单不能编辑
  467. // console.log(this.form,619)
  468. // if (!newValue || JSON.stringify(newValue) == '{}') {
  469. // return
  470. // }
  471. // delete this.form.id
  472. // this.tableData = []
  473. // this.form.finStlBillsItemsList = []
  474. // console.log(newValue)
  475. //
  476. //
  477. // },
  478. // deep: true, // 深度监听
  479. // immediate: true // 第一次改变就执行
  480. // },
  481. },
  482. created() {
  483. },
  484. methods:{
  485. // 下拉回调
  486. corpChange(value,name){
  487. // 结算单位
  488. if (name == 'corpCnName') {
  489. if (!value) {
  490. this.$set(this.form,'corpId','')
  491. this.$set(this.form,'corpCnName','')
  492. this.$set(this.form,'corpEnName','')
  493. this.$set(this.form,'corpArgreementNo','')
  494. }
  495. for(let item of this.corpData) {
  496. if (item.cnName == value) {
  497. this.$set(this.form,'corpId',item.id)
  498. this.$set(this.form,'corpCnName',item.cnName)
  499. this.$set(this.form,'corpEnName',item.enName)
  500. this.$set(this.form,'corpArgreementNo',item.enName)
  501. }
  502. }
  503. }
  504. else {
  505. this.$set(this.form,name,value)
  506. }
  507. },
  508. // 编辑
  509. editHandle(){
  510. this.editSave = false
  511. },
  512. // 保存
  513. editCustomer(){
  514. // 对账单位
  515. if (!this.form.corpId) {
  516. this.$message.warning('请选择结算单位');
  517. return
  518. }
  519. // 业务类型
  520. if (!this.form.businessTypes) {
  521. this.$message.warning('请选择业务类型');
  522. return
  523. }
  524. // 是否选择从表数据
  525. if (this.handleSelectionData.length == 0) {
  526. this.$message.warning('请选择结算数据');
  527. return;
  528. }
  529. for (let item of this.handleSelectionData) {
  530. if (!item.currentStlCurCode) {
  531. this.$message.warning('请选择本次结算币种');
  532. return;
  533. }
  534. if (!item.currentStlAmount) {
  535. this.$message.warning('请选择本次结算金额');
  536. return;
  537. }
  538. }
  539. this.saveLoading = true // 加载动画
  540. this.form.billNoFormat = 'HYDZ'
  541. this.form.businessTypeCode = 'HYDZ'
  542. this.form.businessType = 'STL' // 结算单
  543. this.form.finStlBillsItemsList = this.handleSelectionData.map((item,index)=>{
  544. item.lineNo = index
  545. item.pType = item.businessType
  546. item.accBillId = item.id
  547. item.accBillNo = item.billNo
  548. item.accDate = item.billDate
  549. if (item.currentStlCurCode == 'CNY') {
  550. item.currentStlAmount = item.currentStlAmountRMB
  551. }else {
  552. item.currentStlAmount = item.currentStlAmountUSD
  553. }
  554. delete item.businessType
  555. delete item.id
  556. delete item.billNo
  557. delete item.billDate
  558. return item
  559. })
  560. finstlbillsSubmit(this.form).then(res=>{
  561. this.saveLoading = false
  562. this.$message.success('操作成功');
  563. this.finstlbillsDetailfun(res.data.data.id)
  564. })
  565. },
  566. // 详情接口
  567. finstlbillsDetailfun(id){
  568. this.pageLoading = true
  569. finstlbillsDetail(id).then(res=>{
  570. this.form = res.data.data
  571. this.tableData = this.form.finStlBillsItemsList.map(item=>{
  572. return item
  573. })
  574. this.pageLoading = false
  575. })
  576. },
  577. // 重置条件
  578. ResetFilter(){
  579. this.form = {}
  580. },
  581. // 检索接口
  582. finstlbillslistAccBillV1fun(){
  583. delete this.form.id
  584. // let obj = JSON.parse(JSON.stringify(this.form))
  585. let obj = {}
  586. obj.corpCnName = this.form.corpId // 结算单位
  587. obj.curCode = this.form.curCode // 币别
  588. obj.dc = this.form.dc // 收付 D=收 C=付
  589. obj.accBillNo = this.form.accountNo // 账单编号 ACCT NO
  590. obj.billNo = this.form.businessNo // 单据编号 JOB NO
  591. obj.mblno = this.form.mblno // MB/L NO
  592. obj.hblno = this.form.hblno // HB/L NO
  593. obj.queryAmount = this.form.queryAmount // 查询金额
  594. obj.businessType = this.form.businessTypes // 业务类型
  595. obj.vesselCnName = this.form.vesselCnName // 中文船名
  596. obj.receivableAdvance = this.form.receivableAdvance // 预收帐款
  597. obj.voyageNo = this.form.voyageNo // 航次
  598. // 审核期间
  599. if (this.form.approvedDate) {
  600. obj.approveTimeList = this.form.approvedDate
  601. }
  602. // 财务期间
  603. if (this.form.accountDate) {
  604. obj.billDateList = this.form.accountDate
  605. }
  606. finstlbillslistAccBillV1(obj).then(res=>{
  607. this.tableData = res.data.data.map(item=>{
  608. if(item.curCode == 'CNY') {
  609. this.$set(item,'amountRMB',item.amount)
  610. this.$set(item,'currentInvoiceAmountRMB',item.currentInvoiceAmount)
  611. this.$set(item,'unsettledAmountRMB',item.unsettledAmount)
  612. this.$set(item,'stlTtlAmountRMB',item.stlTtlAmount)
  613. }else {
  614. this.$set(item,'amountUSD',item.amount)
  615. this.$set(item,'currentInvoiceAmountUSD',item.currentInvoiceAmount)
  616. this.$set(item,'unsettledAmountUSD',item.unsettledAmount)
  617. this.$set(item,'stlTtlAmountUSD',item.stlTtlAmount)
  618. }
  619. return item
  620. })
  621. })
  622. },
  623. // 结算确认
  624. finstlbillsConfirmSettlementfun(){
  625. this.$confirm("确定进行对账操作?", {
  626. confirmButtonText: "确定",
  627. cancelButtonText: "取消",
  628. type: "warning"
  629. }).then(()=>{
  630. finstlbillsConfirmSettlement(this.form).then(res=>{
  631. this.$message.success('操作成功');
  632. this.finstlbillsDetailfun(res.data.data.id)
  633. })
  634. })
  635. },
  636. // 结算撤销
  637. finstlbillsRevokeSettlementfun(){
  638. this.$confirm("确定进行撤销对账操作?", {
  639. confirmButtonText: "确定",
  640. cancelButtonText: "取消",
  641. type: "warning"
  642. }).then(()=>{
  643. finstlbillsRevokeSettlement().then(res=>{
  644. this.$message.success('操作成功');
  645. this.finstlbillsDetailfun(res.data.data.id)
  646. })
  647. })
  648. },
  649. // 确认选定行
  650. SelectedRows(){
  651. this.editCustomer()
  652. },
  653. // 下面表格多选
  654. handleSelectionChange(arr){
  655. this.handleSelectionData = arr
  656. },
  657. //返回列表
  658. backToList() {
  659. this.$emit('goBack')
  660. },
  661. // 请求的接口
  662. // 确认签收接口
  663. finstlbillsConfirmSignForfun(){
  664. this.form.billNoFormat = 'HYDZ'
  665. this.form.businessTypeCode = 'HYDZ'
  666. this.form.businessType = 'STL' // 结算单
  667. // 保留id
  668. this.form.finStlBillsItemsList = this.handleSelectionData.map((item,index)=>{
  669. item.lineNo = index
  670. item.pType = item.businessType
  671. item.accBillId = item.id
  672. item.accBillNo = item.billNo
  673. item.accDate = item.billDate
  674. delete item.businessType
  675. delete item.billNo
  676. delete item.billDate
  677. return item
  678. })
  679. finstlbillsConfirmSignFor(this.form).then(res=>{
  680. this.$message.success('操作成功');
  681. this.finstlbillsDetailfun(res.data.data.id)
  682. })
  683. },
  684. // 撤销签收接口
  685. finstlbillsRevokeSignForfun(){
  686. this.form.billNoFormat = 'HYDZ'
  687. this.form.businessTypeCode = 'HYDZ'
  688. this.form.businessType = 'STL' // 结算单
  689. this.form.finStlBillsItemsList = this.handleSelectionData.map((item,index)=>{
  690. item.lineNo = index
  691. item.pType = item.businessType
  692. item.accBillId = item.id
  693. item.accBillNo = item.billNo
  694. item.accDate = item.billDate
  695. delete item.businessType
  696. delete item.billNo
  697. delete item.billDate
  698. return item
  699. })
  700. finstlbillsRevokeSignFor(this.form).then(res=>{
  701. this.$message.success('操作成功');
  702. this.finstlbillsDetailfun(res.data.data.id)
  703. })
  704. },
  705. // 获取币别数据
  706. getRateListfun(cnName){
  707. getRateList({current:1,size:10,cnName}).then(res=>{
  708. this.curCodeData = res.data.data.records
  709. })
  710. },
  711. // 获取结算单位数据
  712. corpBcorpsListfun(cnName){
  713. getBcorpslistByType(1,10,{cnName}).then(res=>{
  714. this.corpData = res.data.data.records
  715. })
  716. },
  717. }
  718. }
  719. </script>
  720. <style scoped>
  721. ::v-deep.el-form-item {
  722. margin-bottom: 0;
  723. }
  724. .bottomFlex {
  725. display: flex;
  726. align-items: center;
  727. }
  728. .weightfont {
  729. font-size: 20px;
  730. font-weight: bold;
  731. }
  732. .weightnum {
  733. font-size: 15px;
  734. font-weight: 500;
  735. }
  736. </style>