index.vue 44 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519
  1. <template>
  2. <div class="app-container">
  3. <div v-show="jiGang == false">
  4. <el-form
  5. :model="query"
  6. ref="queryForm"
  7. v-show="showSearch"
  8. label-width="88px"
  9. >
  10. <el-row>
  11. <el-col :span="6">
  12. <el-form-item label="参考编号" prop="fMblno">
  13. <el-input
  14. v-model="query.fMblno"
  15. placeholder="请输入参考编号"
  16. clearable
  17. size="small"
  18. />
  19. </el-form-item>
  20. </el-col>
  21. <el-col :span="6">
  22. <el-form-item label="船名">
  23. <el-select
  24. v-model="query.fVslid"
  25. size="small"
  26. placeholder="请选择"
  27. style="width: 100%"
  28. clearable
  29. @change="fvslChange2"
  30. @clear="fvslClear2"
  31. >
  32. <el-option
  33. v-for="item in TVesselfs2"
  34. :key="item.fId"
  35. :label="item.fName"
  36. :value="item.fId"
  37. />
  38. </el-select>
  39. </el-form-item>
  40. </el-col>
  41. <el-col :span="6">
  42. <el-form-item label="航次">
  43. <el-select
  44. v-model="query.fVoyid"
  45. size="small"
  46. placeholder="请选择"
  47. style="width: 100%"
  48. >
  49. <el-option
  50. v-for="item in TVoyagefs2"
  51. :key="item.fId"
  52. :label="item.fNo"
  53. :value="item.fId"
  54. />
  55. </el-select>
  56. </el-form-item>
  57. </el-col>
  58. <el-col :span="6" style="display: flex; justify-content: flex-end">
  59. <el-form-item>
  60. <el-button
  61. type="cyan"
  62. icon="el-icon-search"
  63. size="mini"
  64. @click="getList"
  65. >搜索
  66. </el-button>
  67. <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
  68. >重置
  69. </el-button>
  70. </el-form-item>
  71. </el-col>
  72. </el-row>
  73. </el-form>
  74. <!-- 列设置-->
  75. <el-dialog
  76. title="提示"
  77. :visible.sync="showSetting"
  78. width="700px"
  79. v-dialogDrag
  80. append-to-body
  81. >
  82. <template slot="title">
  83. <div class="avue-crud__dialog__header">
  84. <span class="el-dialog__title">
  85. <span
  86. style="
  87. display: inline-block;
  88. width: 3px;
  89. height: 20px;
  90. margin-right: 5px;
  91. float: left;
  92. margin-top: 2px;
  93. "
  94. ></span>
  95. </span>
  96. </div>
  97. </template>
  98. <div>配置排序列数据(拖动调整顺序)</div>
  99. <div style="margin-left: 17px">
  100. <el-checkbox
  101. v-model="allCheck"
  102. label="全选"
  103. @change="allChecked"
  104. ></el-checkbox>
  105. </div>
  106. <div style="padding: 4px; display: flex; justify-content: center">
  107. <draggable
  108. v-model="setRowList"
  109. group="site"
  110. animation="300"
  111. @start="onStart"
  112. @end="onEnd"
  113. handle=".indraggable"
  114. >
  115. <transition-group>
  116. <div
  117. v-for="item in setRowList"
  118. :key="item.surface"
  119. class="listStyle"
  120. >
  121. <div style="width: 500px" class="indraggable">
  122. <div class="progress" :style="{ width: item.width + 'px' }">
  123. <el-checkbox
  124. :label="item.name"
  125. v-model="item.checked"
  126. :true-label="0"
  127. :false-label="1"
  128. >{{ item.name }}
  129. </el-checkbox>
  130. </div>
  131. </div>
  132. <el-input-number
  133. v-model.number="item.width"
  134. controls-position="right"
  135. :min="1"
  136. :max="500"
  137. size="mini"
  138. ></el-input-number>
  139. </div>
  140. </transition-group>
  141. </draggable>
  142. </div>
  143. <span slot="footer" class="dialog-footer">
  144. <el-button @click="showSetting = false">取 消</el-button>
  145. <el-button @click="delRow" type="danger">重 置</el-button>
  146. <el-button type="primary" @click="save()">确 定</el-button>
  147. </span>
  148. </el-dialog>
  149. <el-row :gutter="10" class="mb8">
  150. <el-col :span="1.5">
  151. <el-button
  152. type="primary"
  153. icon="el-icon-plus"
  154. size="mini"
  155. @click="handleAdd()"
  156. v-hasPermi="['warehouseBusiness:otherFees:add']"
  157. >新增
  158. </el-button>
  159. </el-col>
  160. <el-col :span="1.5">
  161. <el-button
  162. type="success"
  163. icon="el-icon-edit"
  164. size="mini"
  165. :disabled="single"
  166. @click="handleUpdate"
  167. v-hasPermi="['warehouseBusiness:otherFees:edit']"
  168. >修改
  169. </el-button>
  170. </el-col>
  171. <!-- <el-col :span="1.5">-->
  172. <!-- <el-button-->
  173. <!-- type="danger"-->
  174. <!-- icon="el-icon-delete"-->
  175. <!-- size="mini"-->
  176. <!-- :disabled="multiple"-->
  177. <!-- @click="handleDelete"-->
  178. <!-- v-hasPermi="['agreement:agreementTask:remove']"-->
  179. <!-- >删除-->
  180. <!-- </el-button>-->
  181. <!-- </el-col>-->
  182. <!-- <el-col :span="1.5">-->
  183. <!-- <el-button-->
  184. <!-- type="info"-->
  185. <!-- icon="el-icon-download"-->
  186. <!-- size="mini"-->
  187. <!-- :disabled="single"-->
  188. <!-- @click="handleUpdate(null, 2)"-->
  189. <!-- v-hasPermi="['agreement:agreementStorage:export']"-->
  190. <!-- >复制新增-->
  191. <!-- </el-button>-->
  192. <!-- </el-col>-->
  193. <right-toolbar
  194. :showSearch.sync="showSearch"
  195. @queryTable="getList"
  196. ></right-toolbar>
  197. <div style="margin: 0 12px; float: right">
  198. <el-button
  199. icon="el-icon-setting"
  200. size="mini"
  201. circle
  202. @click="showSetting = !showSetting"
  203. ></el-button>
  204. </div>
  205. </el-row>
  206. <el-table
  207. v-loading="loading"
  208. :data="agreementList"
  209. @selection-change="handleSelectionChange"
  210. >
  211. <el-table-column type="selection" width="55" align="center" />
  212. <el-table-column
  213. type="index"
  214. label="行号"
  215. align="center"
  216. fixed
  217. width="60"
  218. />
  219. <el-table-column
  220. v-for="(item, index) in getRowList"
  221. :key="index"
  222. :label="item.name"
  223. :width="item.width"
  224. :prop="item.label"
  225. header-align="center"
  226. :align="item.align"
  227. :fixed="item.fixed"
  228. :show-overflow-tooltip="true"
  229. sortable
  230. >
  231. </el-table-column>
  232. <el-table-column
  233. label="操作"
  234. align="center"
  235. fixed="right"
  236. width="180"
  237. class-name="small-padding fixed-width"
  238. >
  239. <template slot-scope="scope">
  240. <el-button
  241. size="mini"
  242. type="text"
  243. icon="el-icon-view"
  244. @click="handleUpdate(scope.row)"
  245. >查看
  246. </el-button>
  247. <el-button
  248. size="mini"
  249. type="text"
  250. icon="el-icon-edit"
  251. @click="handleUpdate(scope.row)"
  252. v-if="scope.row.fBillstatus === '暂存'"
  253. v-hasPermi="['warehouseBusiness:otherFees:edit']"
  254. >修改
  255. </el-button>
  256. <el-button
  257. size="mini"
  258. type="text"
  259. icon="el-icon-delete"
  260. @click="handleDelete(scope.row)"
  261. v-if="scope.row.fBillstatus === '暂存'"
  262. v-hasPermi="['warehouseBusiness:otherFees:remove']"
  263. >删除
  264. </el-button>
  265. </template>
  266. </el-table-column>
  267. </el-table>
  268. <div style="padding-top: 10px; float: right; padding-bottom: 20px">
  269. <el-pagination
  270. @size-change="handleSizeChange"
  271. @current-change="handleCurrentChange"
  272. :page-sizes="[10, 20, 30, 40, 50, 100, 150, 200]"
  273. background
  274. layout="sizes, prev, pager, next"
  275. :total="total"
  276. >
  277. </el-pagination>
  278. </div>
  279. </div>
  280. <div v-show="jiGang == true">
  281. <div style="margin-bottom: 20px">
  282. <el-button round icon="el-icon-arrow-left" @click="open" size="small"
  283. >返回列表</el-button
  284. >
  285. <el-button
  286. type="primary"
  287. round
  288. size="small"
  289. @click="submitForm"
  290. icon="el-icon-edit"
  291. >保 存</el-button
  292. >
  293. <el-button
  294. type="success"
  295. round
  296. size="small"
  297. @click="submit"
  298. icon="el-icon-check"
  299. :disabled="disabled"
  300. >提 交</el-button
  301. >
  302. <el-button
  303. type="danger"
  304. round
  305. size="small"
  306. icon="el-icon-close"
  307. @click="cancellation"
  308. v-hasPermi="['warehouseBusiness:otherFees:revoke']"
  309. v-if="queryParams.fBillstatus > 2"
  310. >撤销提交
  311. </el-button>
  312. </div>
  313. <el-form
  314. :model="queryParams"
  315. ref="rules"
  316. :rules="rules"
  317. :inline="true"
  318. label-width="88px"
  319. >
  320. <el-row>
  321. <el-form-item label="日期" prop="fBsdate">
  322. <el-date-picker
  323. v-model="queryParams.fBsdate"
  324. type="date"
  325. style="width: 200px"
  326. value-format="yyyy-MM-dd"
  327. :disabled="disabled"
  328. clearable
  329. size="small"
  330. placeholder="选择日期"
  331. >
  332. </el-date-picker>
  333. </el-form-item>
  334. <el-form-item label="参考编号" prop="fMblno">
  335. <el-input
  336. v-model="queryParams.fMblno"
  337. placeholder="请输入参考编号"
  338. style="width: 200px"
  339. :disabled="disabled"
  340. clearable
  341. size="small"
  342. />
  343. </el-form-item>
  344. <el-form-item label="单据编号" prop="fBillno">
  345. <el-input
  346. v-model="queryParams.fBillno"
  347. placeholder="请输入单据编号"
  348. style="width: 200px"
  349. disabled
  350. clearable
  351. size="small"
  352. />
  353. </el-form-item>
  354. <el-form-item label="船名" v-if="sysType == 3">
  355. <el-select
  356. v-model="queryParams.fVslid"
  357. style="width: 200px"
  358. size="small"
  359. placeholder="请选择船名"
  360. filterable
  361. clearable
  362. @change="fvslChange"
  363. @clear="fvslClear"
  364. >
  365. <el-option
  366. v-for="item in TVesselfs"
  367. :key="item.fId"
  368. :label="item.fName"
  369. :value="item.fId"
  370. />
  371. </el-select>
  372. </el-form-item>
  373. <el-form-item
  374. prop="fVoyid"
  375. header-align="center"
  376. label="航次"
  377. v-if="sysType == 3"
  378. >
  379. <el-select
  380. v-model="queryParams.fVoyid"
  381. size="small"
  382. style="width: 200px"
  383. placeholder="请选择航次"
  384. filterable
  385. >
  386. <el-option
  387. v-for="item in TVoyagefs"
  388. :key="item.fId"
  389. :label="item.fNo"
  390. :value="item.fId"
  391. />
  392. </el-select>
  393. </el-form-item>
  394. <el-form-item label="备注" prop="remark">
  395. <el-input
  396. v-model="queryParams.remark"
  397. placeholder="请输入备注"
  398. :disabled="disabled"
  399. style="width: 796px"
  400. clearable
  401. size="small"
  402. />
  403. </el-form-item>
  404. </el-row>
  405. </el-form>
  406. <h3><i class="el-icon-circle-plus"></i>收款信息</h3>
  407. <div
  408. class="dialogTableTitle flex a-center jlr"
  409. style="
  410. display: flex;
  411. justify-content: space-between;
  412. align-items: center;
  413. margin: 10px 0;
  414. "
  415. >
  416. <div>
  417. <el-button
  418. size="small"
  419. type="primary"
  420. @click.prevent="addCollection()"
  421. :disabled="disabled"
  422. >新行
  423. </el-button>
  424. <!-- <el-button :disabled="browseStatus" @click.prevent="deleteRow(warehouseDrList)"
  425. >删除
  426. </el-button> -->
  427. </div>
  428. </div>
  429. <el-table
  430. :data="warehouseDrList"
  431. ref="table"
  432. tooltip-effect="dark"
  433. border
  434. stripe
  435. show-summary
  436. :disabled="disabled"
  437. :summary-method="warehouseDrSummaries"
  438. >
  439. <el-table-column type="selection" width="55" align="center" />
  440. <el-table-column label="序号" type="index" width="80">
  441. </el-table-column>
  442. <el-table-column
  443. prop="fCorpid"
  444. header-align="center"
  445. align="center"
  446. width="180px"
  447. label="客户名称"
  448. >
  449. <template slot-scope="scope">
  450. <el-select
  451. v-model="scope.row.fCorpid"
  452. filterable
  453. remote
  454. placeholder="客户名称"
  455. :disabled="disabled"
  456. >
  457. <el-option
  458. v-for="(dict, index) in KHblnoOptions"
  459. :key="index.fId"
  460. :label="dict.fName"
  461. :value="dict.fId"
  462. ></el-option>
  463. </el-select>
  464. </template>
  465. </el-table-column>
  466. <!-- <el-table-column-->
  467. <!-- prop="fFeeunitid"-->
  468. <!-- header-align="center"-->
  469. <!-- align="center"-->
  470. <!-- width="180px"-->
  471. <!-- label="码头"-->
  472. <!-- >-->
  473. <!-- <template slot-scope="scope">-->
  474. <!-- <el-select-->
  475. <!-- style="width: 80%"-->
  476. <!-- v-model="scope.row.fFeeunitid"-->
  477. <!-- filterable-->
  478. <!-- :disabled="disabled"-->
  479. <!-- >-->
  480. <!-- <el-option-->
  481. <!-- v-for="(dict, index) in businessTypeOption"-->
  482. <!-- :key="index.dictValue"-->
  483. <!-- :label="dict.dictLabel"-->
  484. <!-- :value="dict.dictValue"-->
  485. <!-- ></el-option>-->
  486. <!-- </el-select>-->
  487. <!-- </template>-->
  488. <!-- </el-table-column>-->
  489. <el-table-column
  490. prop="fFeeid"
  491. header-align="center"
  492. align="center"
  493. width="180px"
  494. label="费用名称"
  495. >
  496. <template slot-scope="scope">
  497. <el-select
  498. style="width: 80%"
  499. v-model="scope.row.fFeeid"
  500. filterable
  501. :disabled="disabled"
  502. >
  503. <el-option
  504. v-for="(dict, index) in fDNameOptions"
  505. :key="index.fId"
  506. :label="dict.fName"
  507. :value="dict.fId"
  508. ></el-option>
  509. </el-select>
  510. </template>
  511. </el-table-column>
  512. <el-table-column
  513. prop="fFeeUnitid"
  514. header-align="center"
  515. align="center"
  516. width="180px"
  517. label="计费单位"
  518. >
  519. <template slot-scope="scope">
  520. <el-select
  521. v-model="scope.row.fFeeunitid"
  522. placeholder="请选择计费单位"
  523. :disabled="disabled"
  524. clearable
  525. >
  526. <el-option
  527. v-for="dict in fFeetUnitOptions"
  528. :key="dict.dictValue"
  529. :label="dict.dictLabel"
  530. :value="dict.dictValue"
  531. />
  532. </el-select>
  533. </template>
  534. </el-table-column>
  535. <!-- <el-table-column-->
  536. <!-- prop="fInventoryDays"-->
  537. <!-- header-align="center"-->
  538. <!-- align="center"-->
  539. <!-- width="180px"-->
  540. <!-- label="箱型"-->
  541. <!-- >-->
  542. <!-- <template slot-scope="scope">-->
  543. <!-- <el-select-->
  544. <!-- v-model="scope.row.fInventoryDays"-->
  545. <!-- placeholder="请选择箱型"-->
  546. <!-- clearable-->
  547. <!-- :disabled="disabled"-->
  548. <!-- >-->
  549. <!-- <el-option-->
  550. <!-- v-for="(dict, index) in jFeetunitOptions"-->
  551. <!-- :key="index.fId"-->
  552. <!-- :label="dict.fNo"-->
  553. <!-- :value="dict.fId"-->
  554. <!-- />-->
  555. <!-- </el-select>-->
  556. <!-- </template>-->
  557. <!-- </el-table-column>-->
  558. <el-table-column
  559. prop="fQty"
  560. header-align="center"
  561. align="center"
  562. width="130px"
  563. label="数量"
  564. >
  565. <template slot-scope="scope">
  566. <el-input
  567. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d\d).*$/, "$1$2.$3")'
  568. v-model="scope.row.fQty"
  569. placeholder="数量"
  570. @input="calculation(scope.row)"
  571. show-word-limit
  572. :disabled="disabled"
  573. />
  574. </template>
  575. </el-table-column>
  576. <el-table-column
  577. prop="fUnitprice"
  578. header-align="center"
  579. align="center"
  580. width="130px"
  581. label="单价"
  582. >
  583. <template slot-scope="scope">
  584. <el-input
  585. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  586. v-model="scope.row.fUnitprice"
  587. placeholder="单价"
  588. show-word-limit
  589. @input="calculation(scope.row)"
  590. :disabled="disabled"
  591. />
  592. </template>
  593. </el-table-column>
  594. <el-table-column
  595. prop="fAmt"
  596. header-align="center"
  597. align="center"
  598. width="130px"
  599. label="金额"
  600. >
  601. <template slot-scope="scope">
  602. <el-input
  603. :disabled="disabled"
  604. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  605. v-model="scope.row.fAmt"
  606. placeholder="金额"
  607. show-word-limit
  608. />
  609. </template>
  610. </el-table-column>
  611. <el-table-column
  612. prop="fCurrency"
  613. header-align="center"
  614. align="center"
  615. width="130px"
  616. label="币别"
  617. >
  618. <template slot-scope="scope">
  619. <el-select
  620. v-model="scope.row.fCurrency"
  621. placeholder="请选择币别"
  622. :disabled="disabled"
  623. clearable
  624. >
  625. <el-option
  626. v-for="dict in currencyList"
  627. :key="dict.dictValue"
  628. :label="dict.dictLabel"
  629. :value="dict.dictValue"
  630. />
  631. </el-select>
  632. </template>
  633. </el-table-column>
  634. <el-table-column
  635. prop="fExrate"
  636. header-align="center"
  637. align="center"
  638. width="130px"
  639. label="汇率"
  640. >
  641. <template slot-scope="scope">
  642. <el-input
  643. v-model="scope.row.fExrate"
  644. :disabled="disabled"
  645. placeholder="汇率"
  646. show-word-limit
  647. />
  648. </template>
  649. </el-table-column>
  650. <el-table-column
  651. prop="remark"
  652. header-align="center"
  653. align="left"
  654. width="150px"
  655. label="备注"
  656. >
  657. <template slot-scope="scope">
  658. <el-input
  659. v-model="scope.row.remark"
  660. :disabled="browseStatus || scope.row.fBillstatus == 6"
  661. placeholder="备注"
  662. show-word-limit
  663. />
  664. </template>
  665. </el-table-column>
  666. <el-table-column header-align="center" align="center" label="操作">
  667. <template slot-scope="scope">
  668. <el-button
  669. @click.native.prevent="deleteRow(scope.$index, warehouseDrList)"
  670. size="small"
  671. :disabled="disabled"
  672. >移除
  673. </el-button>
  674. </template>
  675. </el-table-column>
  676. </el-table>
  677. <h3><i class="el-icon-remove"></i>付款信息</h3>
  678. <div
  679. class="dialogTableTitle flex a-center jlr"
  680. style="
  681. display: flex;
  682. justify-content: space-between;
  683. align-items: center;
  684. margin: 10px 0;
  685. "
  686. >
  687. <div>
  688. <el-button
  689. type="primary"
  690. @click.prevent="addpayment()"
  691. size="small"
  692. :disabled="disabled"
  693. >新行
  694. </el-button>
  695. </div>
  696. </div>
  697. <el-table
  698. :data="warehouseCrList"
  699. :disabled="disabled"
  700. ref="table"
  701. tooltip-effect="dark"
  702. border
  703. stripe
  704. show-summary
  705. :summary-method="warehouseDrSummaries"
  706. >
  707. <el-table-column type="selection" width="55" align="center" />
  708. <el-table-column label="序号" type="index" width="80">
  709. </el-table-column>
  710. <el-table-column
  711. prop="fCorpid"
  712. header-align="center"
  713. align="center"
  714. width="180px"
  715. label="客户名称"
  716. >
  717. <template slot-scope="scope">
  718. <el-select
  719. v-model="scope.row.fCorpid"
  720. filterable
  721. remote
  722. placeholder="客户名称"
  723. :disabled="disabled"
  724. >
  725. <el-option
  726. v-for="(dict, index) in KHblnoOptions"
  727. :key="index.fId"
  728. :label="dict.fName"
  729. :value="dict.fId"
  730. ></el-option>
  731. </el-select>
  732. </template>
  733. </el-table-column>
  734. <!-- <el-table-column-->
  735. <!-- prop="fFeeunitid"-->
  736. <!-- header-align="center"-->
  737. <!-- align="center"-->
  738. <!-- width="180px"-->
  739. <!-- label="码头"-->
  740. <!-- >-->
  741. <!-- <template slot-scope="scope">-->
  742. <!-- <el-select-->
  743. <!-- style="width: 80%"-->
  744. <!-- v-model="scope.row.fFeeunitid"-->
  745. <!-- filterable-->
  746. <!-- :disabled="disabled"-->
  747. <!-- >-->
  748. <!-- <el-option-->
  749. <!-- v-for="(dict, index) in businessTypeOption"-->
  750. <!-- :key="index.dictValue"-->
  751. <!-- :label="dict.dictLabel"-->
  752. <!-- :value="dict.dictValue"-->
  753. <!-- ></el-option>-->
  754. <!-- </el-select>-->
  755. <!-- </template>-->
  756. <!-- </el-table-column>-->
  757. <el-table-column
  758. prop="fFeeid"
  759. header-align="center"
  760. align="center"
  761. width="180px"
  762. label="费用名称"
  763. >
  764. <template slot-scope="scope">
  765. <el-select
  766. style="width: 80%"
  767. v-model="scope.row.fFeeid"
  768. filterable
  769. :disabled="disabled"
  770. >
  771. <el-option
  772. v-for="(dict, index) in fCNameOptions"
  773. :key="index.fId"
  774. :label="dict.fName"
  775. :value="dict.fId"
  776. ></el-option>
  777. </el-select>
  778. </template>
  779. </el-table-column>
  780. <el-table-column
  781. prop="fFeeUnitid"
  782. header-align="center"
  783. align="center"
  784. width="180px"
  785. label="计费单位"
  786. >
  787. <template slot-scope="scope">
  788. <el-select
  789. v-model="scope.row.fFeeunitid"
  790. placeholder="请选择计费单位"
  791. :disabled="disabled"
  792. clearable
  793. >
  794. <el-option
  795. v-for="dict in fFeetUnitOptions"
  796. :key="dict.dictValue"
  797. :label="dict.dictLabel"
  798. :value="dict.dictValue"
  799. />
  800. </el-select>
  801. </template>
  802. </el-table-column>
  803. <!-- <el-table-column-->
  804. <!-- prop="fInventoryDays"-->
  805. <!-- header-align="center"-->
  806. <!-- align="center"-->
  807. <!-- width="180px"-->
  808. <!-- label="箱型"-->
  809. <!-- >-->
  810. <!-- <template slot-scope="scope">-->
  811. <!-- <el-select-->
  812. <!-- v-model="scope.row.fInventoryDays"-->
  813. <!-- placeholder="请选择箱型"-->
  814. <!-- clearable-->
  815. <!-- :disabled="disabled"-->
  816. <!-- >-->
  817. <!-- <el-option-->
  818. <!-- v-for="(dict, index) in jFeetunitOptions"-->
  819. <!-- :key="index.fId"-->
  820. <!-- :label="dict.fNo"-->
  821. <!-- :value="dict.fId"-->
  822. <!-- />-->
  823. <!-- </el-select>-->
  824. <!-- </template>-->
  825. <!-- </el-table-column>-->
  826. <el-table-column
  827. prop="fQty"
  828. header-align="center"
  829. align="center"
  830. width="130px"
  831. label="数量"
  832. >
  833. <template slot-scope="scope">
  834. <el-input
  835. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d\d).*$/, "$1$2.$3")'
  836. v-model="scope.row.fQty"
  837. placeholder="数量"
  838. @input="calculation(scope.row)"
  839. show-word-limit
  840. :disabled="disabled"
  841. />
  842. </template>
  843. </el-table-column>
  844. <el-table-column
  845. prop="fUnitprice"
  846. header-align="center"
  847. align="center"
  848. width="130px"
  849. label="单价"
  850. >
  851. <template slot-scope="scope">
  852. <el-input
  853. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  854. v-model="scope.row.fUnitprice"
  855. placeholder="单价"
  856. show-word-limit
  857. @input="calculation(scope.row)"
  858. :disabled="disabled"
  859. />
  860. </template>
  861. </el-table-column>
  862. <el-table-column
  863. prop="fAmt"
  864. header-align="center"
  865. align="center"
  866. width="130px"
  867. label="金额"
  868. >
  869. <template slot-scope="scope">
  870. <el-input
  871. :disabled="disabled"
  872. oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'
  873. v-model="scope.row.fAmt"
  874. placeholder="金额"
  875. show-word-limit
  876. />
  877. </template>
  878. </el-table-column>
  879. <el-table-column
  880. prop="fCurrency"
  881. header-align="center"
  882. align="center"
  883. width="130px"
  884. label="币别"
  885. >
  886. <template slot-scope="scope">
  887. <el-select
  888. v-model="scope.row.fCurrency"
  889. placeholder="请选择币别"
  890. :disabled="disabled"
  891. clearable
  892. >
  893. <el-option
  894. v-for="dict in currencyList"
  895. :key="dict.dictValue"
  896. :label="dict.dictLabel"
  897. :value="dict.dictValue"
  898. />
  899. </el-select>
  900. </template>
  901. </el-table-column>
  902. <el-table-column
  903. prop="fExrate"
  904. header-align="center"
  905. align="center"
  906. width="130px"
  907. label="汇率"
  908. >
  909. <template slot-scope="scope">
  910. <el-input
  911. v-model="scope.row.fExrate"
  912. :disabled="disabled"
  913. placeholder="汇率"
  914. show-word-limit
  915. />
  916. </template>
  917. </el-table-column>
  918. <el-table-column
  919. prop="remark"
  920. header-align="center"
  921. align="left"
  922. width="150px"
  923. label="备注"
  924. >
  925. <template slot-scope="scope">
  926. <el-input
  927. v-model="scope.row.remark"
  928. :disabled="browseStatus || scope.row.fBillstatus == 6"
  929. placeholder="备注"
  930. show-word-limit
  931. />
  932. </template>
  933. </el-table-column>
  934. <el-table-column header-align="center" align="center" label="操作">
  935. <template slot-scope="scope">
  936. <!-- <el-button size="small">审核费用</el-button> -->
  937. <el-button
  938. @click.native.prevent="deleteRow(scope.$index, warehouseCrList)"
  939. size="small"
  940. :disabled="disabled"
  941. >移除
  942. </el-button>
  943. </template>
  944. </el-table-column>
  945. </el-table>
  946. </div>
  947. </div>
  948. </template>
  949. <script>
  950. import {
  951. listCorps,
  952. preservation,
  953. submit,
  954. allInformation,
  955. single,
  956. singleDeletion,
  957. listCorps_s,
  958. revokeContainerPort,
  959. } from "@/api/otherFinancial";
  960. import { listFees } from "@/api/basicdata/fees";
  961. import { selectTVesself, selectTVoyagef } from "@/api/finance/kaihe/payment";
  962. import Cookies from "js-cookie";
  963. import { addSet, resetModule, select } from "@/api/system/set";
  964. import draggable from "vuedraggable";
  965. export default {
  966. name: "jiGang",
  967. components: {
  968. draggable,
  969. },
  970. data() {
  971. return {
  972. TVesselfs2: [],
  973. TVoyagefs2: [],
  974. rules: {
  975. fBsdate: [{ required: true, message: " ", trigger: "blur" }],
  976. fMblno: [{ required: true, message: " ", trigger: "blur" }],
  977. },
  978. showSearch: true,
  979. jiGang: false,
  980. disabled: false,
  981. agreementList: [],
  982. warehouseCrList: [],
  983. fCNameOptions: [],
  984. fFeeid_s: [],
  985. fStltypeOptions: [],
  986. jFeetunitOptions: [],
  987. KHblnoOptions: [],
  988. browseStatus: false,
  989. fDNameOptions: [],
  990. warehouseDrList: [],
  991. businessTypeOption: [],
  992. loading: true,
  993. blnoOptions: [],
  994. single: true,
  995. total: 0,
  996. query: {
  997. pageNum: 1,
  998. pageSize: 10,
  999. fVslid: null,
  1000. fVoyid: null,
  1001. },
  1002. selection: [],
  1003. queryParams: {
  1004. fVslid: null,
  1005. fVoyid: null,
  1006. },
  1007. fFeetUnitOptions: [],
  1008. currencyList: [],
  1009. TVesselfs: [],
  1010. TVoyagefs: [],
  1011. sysType: "", // 系统判断 1仓储 3凯和
  1012. // 设置列开关
  1013. showSetting: false,
  1014. setRowList: [],
  1015. getRowList: [],
  1016. //自定义列宽
  1017. allCheck: false,
  1018. drag: false,
  1019. tableDate: [
  1020. {
  1021. surface: "1",
  1022. label: "fMblno",
  1023. name: "参考编号",
  1024. checked: 0,
  1025. align: "center",
  1026. width: 150,
  1027. show: true,
  1028. },
  1029. {
  1030. surface: "2",
  1031. label: "shipsName",
  1032. name: "船名",
  1033. checked: 0,
  1034. align: "center",
  1035. width: 150,
  1036. show: true,
  1037. },
  1038. {
  1039. surface: "3",
  1040. label: "voyage",
  1041. name: "航次",
  1042. checked: 0,
  1043. align: "center",
  1044. width: 150,
  1045. show: true,
  1046. },
  1047. {
  1048. surface: "4",
  1049. label: "fBilltype",
  1050. name: "单据类型",
  1051. checked: 0,
  1052. align: "center",
  1053. width: 150,
  1054. show: true,
  1055. },
  1056. {
  1057. surface: "5",
  1058. label: "fBillno",
  1059. name: "单据编号",
  1060. checked: 0,
  1061. align: "center",
  1062. width: 150,
  1063. show: true,
  1064. },
  1065. {
  1066. surface: "6",
  1067. label: "fBsdate",
  1068. name: "单据日期",
  1069. checked: 0,
  1070. align: "center",
  1071. width: 150,
  1072. show: true,
  1073. },
  1074. {
  1075. surface: "7",
  1076. label: "createBy",
  1077. name: "制单人",
  1078. checked: 0,
  1079. align: "center",
  1080. width: 150,
  1081. show: true,
  1082. },
  1083. {
  1084. surface: "8",
  1085. label: "remark",
  1086. name: "备注",
  1087. checked: 0,
  1088. align: "left",
  1089. width: 150,
  1090. show: true,
  1091. },
  1092. ],
  1093. };
  1094. },
  1095. created() {
  1096. this.setRowList = this.tableDate;
  1097. this.getRowList = this.tableDate;
  1098. this.sysType = Cookies.get("sysType");
  1099. if (this.sysType == 1) {
  1100. this.tableDate.forEach((item) => {
  1101. if (item.label == "shipsName" || item.label == "voyage") {
  1102. item.checked = 1;
  1103. item.show = false;
  1104. }
  1105. });
  1106. }
  1107. selectTVesself().then((res) => {
  1108. this.TVesselfs = res.rows;
  1109. });
  1110. selectTVoyagef().then((res) => {
  1111. this.TVoyagefs = res.rows;
  1112. });
  1113. selectTVesself().then((res) => {
  1114. this.TVesselfs2 = res.rows;
  1115. });
  1116. selectTVoyagef().then((res) => {
  1117. this.TVoyagefs2 = res.rows;
  1118. });
  1119. this.getDicts("currency_difference").then((response) => {
  1120. this.currencyList = response.data;
  1121. });
  1122. this.corpsRemoteMethod();
  1123. //付费
  1124. listFees({ fDc: "C" }).then((response) => {
  1125. this.fCNameOptions = response.rows;
  1126. });
  1127. //收费
  1128. listFees({ fDc: "D" }).then((response) => {
  1129. this.fDNameOptions = response.rows;
  1130. });
  1131. this.getDicts("data_unitfees").then((response) => {
  1132. this.fFeetUnitOptions = response.data;
  1133. });
  1134. allInformation().then((res) => {
  1135. if (res.data.corpList) {
  1136. this.KHblnoOptions = res.data.corpList;
  1137. }
  1138. if (res.data.pierList) {
  1139. this.businessTypeOption = res.data.pierList;
  1140. }
  1141. if (res.data.cntrList) {
  1142. this.jFeetunitOptions = res.data.cntrList;
  1143. }
  1144. if (res.data.fees) {
  1145. this.fFeeid_s = res.data.fees;
  1146. }
  1147. });
  1148. this.getRow();
  1149. this.getList();
  1150. },
  1151. activated() {
  1152. if (this.$route.query.id) {
  1153. this.handleUpdate({ fId: this.$route.query.id });
  1154. }
  1155. },
  1156. methods: {
  1157. fvslChange(id) {
  1158. selectTVoyagef({ fPid: id }).then((res) => {
  1159. this.TVoyagefs = res.rows;
  1160. });
  1161. this.queryParams.fVoyid = null;
  1162. },
  1163. fvslClear() {
  1164. selectTVoyagef().then((res) => {
  1165. this.TVoyagefs = res.rows;
  1166. });
  1167. this.queryParams.fVoyid = null;
  1168. },
  1169. fvslChange2(id) {
  1170. selectTVoyagef({ fPid: id }).then((res) => {
  1171. this.TVoyagefs2 = res.rows;
  1172. });
  1173. this.query.fVoyid = null;
  1174. },
  1175. fvslClear2() {
  1176. selectTVoyagef().then((res) => {
  1177. this.TVoyagefs2 = res.rows;
  1178. });
  1179. this.query.fVoyid = null;
  1180. },
  1181. handleSizeChange(val) {
  1182. console.log(`每页 ${val} 条`);
  1183. this.query.pageSize = val;
  1184. this.getList();
  1185. },
  1186. handleCurrentChange(val) {
  1187. console.log(`当前页: ${val}`);
  1188. this.query.pageNum = val;
  1189. this.getList();
  1190. },
  1191. getList() {
  1192. listCorps_s(this.query).then((res) => {
  1193. this.total = res.total;
  1194. this.loading = false;
  1195. this.agreementList = res.rows;
  1196. });
  1197. },
  1198. corpsRemoteMethod(name) {
  1199. if (name == null || name === "") {
  1200. return false;
  1201. }
  1202. let queryParams = { pageNum: 1, fName: name, fTypeid: 1 };
  1203. listCorps(queryParams).then((response) => {
  1204. console.log(response);
  1205. this.fMblnoOptions = response.rows;
  1206. });
  1207. },
  1208. corpsRemote(name) {
  1209. if (name == null || name === "") {
  1210. return false;
  1211. }
  1212. let queryParams = { pageNum: 1, fName: name, fTypeid: 2 };
  1213. listCorps(queryParams).then((response) => {
  1214. console.log(response);
  1215. this.blnoOptions = response.rows;
  1216. });
  1217. },
  1218. changeFeeId(row) {
  1219. for (let li in this.fWbuOptions) {
  1220. if (row.fFeeid === this.fWbuOptions[li].fId) {
  1221. this.$set(row, "fFeeunitid", this.fWbuOptions[li].fFeeunitid + "");
  1222. this.changeFeeUnit(row);
  1223. break;
  1224. }
  1225. }
  1226. },
  1227. resetQuery() {
  1228. this.query = {
  1229. pageNum: 1,
  1230. pageSize: 10,
  1231. };
  1232. },
  1233. open() {
  1234. this.$confirm("是否确定返回列表?", "提示", {
  1235. confirmButtonText: "确定",
  1236. cancelButtonText: "取消",
  1237. type: "warning",
  1238. })
  1239. .then(() => {
  1240. if (this.$route.query.id) {
  1241. this.$router.push({ query: {} });
  1242. }
  1243. this.jiGang = false;
  1244. })
  1245. .catch(() => {});
  1246. },
  1247. handleSelectionChange(selection) {
  1248. console.log(selection);
  1249. this.selection = selection;
  1250. if (selection.length === 1) {
  1251. this.single = false;
  1252. } else {
  1253. this.single = true;
  1254. }
  1255. },
  1256. handleUpdate(row) {
  1257. let fId;
  1258. if (this.selection.length == 1) {
  1259. fId = this.selection[0].fId;
  1260. } else {
  1261. fId = row.fId;
  1262. }
  1263. single(fId).then((res) => {
  1264. if (res.code === 200) {
  1265. this.jiGang = true;
  1266. this.queryParams = res.data.warehouseBills;
  1267. this.warehouseDrList = res.data.feesDrList;
  1268. this.warehouseCrList = res.data.feesCrList;
  1269. for (let item in this.warehouseDrList) {
  1270. this.warehouseDrList[item].fFeeunitid =
  1271. this.warehouseDrList[item].fFeeunitid + "";
  1272. }
  1273. for (let item in this.warehouseCrList) {
  1274. this.warehouseCrList[item].fFeeunitid =
  1275. this.warehouseCrList[item].fFeeunitid + "";
  1276. }
  1277. if (this.queryParams.fBillstatus !== 2) {
  1278. this.disabled = true;
  1279. } else {
  1280. this.disabled = false;
  1281. }
  1282. }
  1283. });
  1284. },
  1285. handleDelete(row) {
  1286. singleDeletion(row.fId).then((res) => {
  1287. console.log(res);
  1288. if (res.code === 200) {
  1289. this.$message.success(res.msg);
  1290. this.getList();
  1291. }
  1292. });
  1293. },
  1294. handleAdd() {
  1295. this.jiGang = true;
  1296. this.disabled = false;
  1297. this.queryParams = {
  1298. fVoyid: null,
  1299. };
  1300. this.warehouseDrList = [];
  1301. this.warehouseCrList = [];
  1302. },
  1303. addpayment() {
  1304. this.warehouseCrList.push({
  1305. fCorpid: "",
  1306. fFeeid: "",
  1307. fFeeUnitid: "",
  1308. fUnitprice: "",
  1309. fAmt: "",
  1310. fExrate: "",
  1311. remark: "",
  1312. fCurrency: "1",
  1313. });
  1314. this.fWbuOptions = [];
  1315. let queryParams = { pageNum: 1, fDc: "C" };
  1316. listFees(queryParams).then((response) => {
  1317. this.fCNameOptions = response.rows;
  1318. });
  1319. },
  1320. deleteRow(index, rows) {
  1321. rows.splice(index, 1);
  1322. },
  1323. submitForm() {
  1324. this.$refs["rules"].validate((valid) => {
  1325. if (valid) {
  1326. let formDatae = new window.FormData();
  1327. formDatae.append("warehouseBills", JSON.stringify(this.queryParams));
  1328. formDatae.append("feesDr", JSON.stringify(this.warehouseDrList));
  1329. formDatae.append("feesCr", JSON.stringify(this.warehouseCrList));
  1330. preservation(formDatae).then((res) => {
  1331. console.log(res);
  1332. if (res.code === 200) {
  1333. this.$message.success("保存成功");
  1334. this.getList();
  1335. this.jiGang = false;
  1336. }
  1337. });
  1338. }
  1339. });
  1340. },
  1341. submit() {
  1342. this.$refs["rules"].validate((valid) => {
  1343. if (valid) {
  1344. let formDatae = new window.FormData();
  1345. formDatae.append("warehouseBills", JSON.stringify(this.queryParams));
  1346. formDatae.append("feesDr", JSON.stringify(this.warehouseDrList));
  1347. formDatae.append("feesCr", JSON.stringify(this.warehouseCrList));
  1348. submit(formDatae).then((res) => {
  1349. console.log(res);
  1350. if (res.code === 200) {
  1351. this.$message.success("提交成功");
  1352. this.getList();
  1353. this.jiGang = false;
  1354. }
  1355. });
  1356. }
  1357. });
  1358. },
  1359. cancellation() {
  1360. // let formDatae = new window.FormData()
  1361. // formDatae.append('warehouseBills', JSON.stringify(this.queryParams))
  1362. // formDatae.append('feesDr', JSON.stringify(this.warehouseDrList))
  1363. // formDatae.append('feesCr', JSON.stringify(this.warehouseCrList))
  1364. revokeContainerPort(this.queryParams.fId).then((res) => {
  1365. console.log(res);
  1366. if (res.code === 200) {
  1367. this.$message.success("撤销成功");
  1368. this.getList();
  1369. this.jiGang = false;
  1370. }
  1371. });
  1372. },
  1373. calculation(row) {
  1374. console.log(row);
  1375. if (row.fQty && row.fUnitprice) {
  1376. row.fAmt = Number(row.fQty) * Number(row.fUnitprice);
  1377. }
  1378. },
  1379. addCollection() {
  1380. this.warehouseDrList.push({
  1381. fCorpid: "",
  1382. fFeeid: "",
  1383. fFeeUnitid: "",
  1384. fUnitprice: "",
  1385. fAmt: "",
  1386. fExrate: "",
  1387. remark: "",
  1388. fCurrency: "1",
  1389. });
  1390. this.fWbuOptions = [];
  1391. let queryParams = { pageNum: 1, fDc: "D" };
  1392. listFees(queryParams).then((response) => {
  1393. this.fDNameOptions = response.rows;
  1394. });
  1395. },
  1396. // 付款合计
  1397. warehouseDrSummaries(param) {
  1398. const { columns, data } = param;
  1399. const sums = [];
  1400. columns.forEach((column, index) => {
  1401. if (index === 0) {
  1402. sums[index] = "合计";
  1403. return;
  1404. }
  1405. const values = data.map((item) => Number(item[column.property]));
  1406. if (
  1407. column.property === "fUnitprice" ||
  1408. column.property === "fAmount" ||
  1409. column.property === "fAmt"
  1410. ) {
  1411. sums[index] = values.reduce((prev, curr) => {
  1412. const value = Number(curr);
  1413. if (!isNaN(value)) {
  1414. return prev + curr;
  1415. } else {
  1416. return prev;
  1417. }
  1418. }, 0);
  1419. sums[index] = sums[index].toFixed(2);
  1420. }
  1421. if (column.property === "fQty") {
  1422. sums[index] = values.reduce((prev, curr) => {
  1423. const value = Number(curr);
  1424. if (!isNaN(value)) {
  1425. return prev + curr;
  1426. } else {
  1427. return prev;
  1428. }
  1429. }, 0);
  1430. sums[index] = sums[index].toFixed(3);
  1431. }
  1432. });
  1433. return sums;
  1434. },
  1435. //列设置全选
  1436. allChecked() {
  1437. if (this.allCheck == true) {
  1438. this.setRowList.map((e) => {
  1439. return (e.checked = 0);
  1440. });
  1441. } else {
  1442. this.setRowList.map((e) => {
  1443. return (e.checked = 1);
  1444. });
  1445. }
  1446. },
  1447. //开始拖拽事件
  1448. onStart() {
  1449. this.drag = true;
  1450. },
  1451. //拖拽结束事件
  1452. onEnd() {
  1453. this.drag = false;
  1454. },
  1455. //重置列表
  1456. delRow() {
  1457. this.data = {
  1458. tableName: "其他账务",
  1459. userId: Cookies.get("userName"),
  1460. };
  1461. resetModule(this.data).then((res) => {
  1462. if (res.code == 200) {
  1463. this.showSetting = false;
  1464. this.setRowList = this.tableDate;
  1465. console.log(this.setRowList);
  1466. this.getRowList = this.tableDate;
  1467. }
  1468. });
  1469. },
  1470. //保存列设置
  1471. save() {
  1472. this.showSetting = false;
  1473. this.data = {
  1474. tableName: "其他账务",
  1475. userId: Cookies.get("userName"),
  1476. sysTableSetList: this.setRowList,
  1477. };
  1478. addSet(this.data).then((res) => {
  1479. this.getRowList = this.setRowList.filter((e) => e.checked == 0);
  1480. });
  1481. },
  1482. //查询列数据
  1483. getRow() {
  1484. let that = this;
  1485. this.data = {
  1486. tableName: "其他账务",
  1487. userId: Cookies.get("userName"),
  1488. };
  1489. select(this.data).then((res) => {
  1490. if (res.data.length != 0) {
  1491. this.getRowList = res.data.filter((e) => e.checked == 0);
  1492. this.setRowList = res.data;
  1493. this.setRowList = this.setRowList.reduce((res, item) => {
  1494. res.push({
  1495. surface: item.surface,
  1496. label: item.label,
  1497. name: item.name,
  1498. checked: item.checked,
  1499. width: item.width,
  1500. fixed: item.fixed,
  1501. });
  1502. return res;
  1503. }, []);
  1504. }
  1505. });
  1506. },
  1507. },
  1508. };
  1509. </script>
  1510. <style scoped lang="scss"></style>