detailPage.vue 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815
  1. <template>
  2. <div>
  3. <div class="customer-head">
  4. <div class="customer-back">
  5. <el-button
  6. type="danger"
  7. style="border: none;background: none;color: red"
  8. icon="el-icon-arrow-left"
  9. @click="backToList"
  10. >返回列表
  11. </el-button>
  12. </div>
  13. <div>
  14. <el-button
  15. class="el-button--small-yh add-customer-btn"
  16. type="primary"
  17. :disabled="goodsForm.status === 1 || !goodsForm.id"
  18. size="small"
  19. style="margin-right: 70px;"
  20. @click="submit"
  21. >提交
  22. </el-button>
  23. <el-button
  24. class="el-button--small-yh add-customer-btn"
  25. type="primary"
  26. :disabled="goodsForm.status === 1"
  27. size="small"
  28. @click="editCustomer"
  29. >保存
  30. </el-button>
  31. </div>
  32. </div>
  33. <containerTitle
  34. title="起止地信息"
  35. style="margin-top: 50px"></containerTitle>
  36. <basic-container>
  37. <el-table
  38. ref="singleTable"
  39. :data="tableData"
  40. size="mini"
  41. :header-cell-style="{color:'#000',background:'#fafafa'}"
  42. style="width: 100%">
  43. <el-table-column
  44. align="center"
  45. v-if="goodsForm.status !== 1"
  46. width="40">
  47. <template slot-scope="scope">
  48. <el-tooltip className="item" v-if="scope.$index === tableData.length-1" effect="dark" content="增加途径地址"
  49. placement="top">
  50. <el-button type="primary" icon="el-icon-plus" size="mini" circle @click="addAddress"
  51. style="margin-right: 1.25rem;"></el-button>
  52. </el-tooltip>
  53. </template>
  54. </el-table-column>
  55. <el-table-column
  56. property="date"
  57. align="center"
  58. width="40">
  59. <template slot-scope="scope">
  60. <span v-if="scope.$index == 0">
  61. <el-button type="primary" size="mini" circle>起</el-button>
  62. </span>
  63. <span v-else-if="scope.$index === tableData.length-1">
  64. <el-button type="success" size="mini" circle>止</el-button>
  65. </span>
  66. <span v-else>
  67. <el-button v-if="goodsForm.status === 1" type="success" size="mini" circle>途</el-button>
  68. <el-tooltip v-else class="item" effect="dark" content="删除" placement="right">
  69. <el-button type="danger" icon="el-icon-delete" size="mini" circle
  70. @click="deleteAddress(scope)"></el-button>
  71. </el-tooltip>
  72. </span>
  73. </template>
  74. </el-table-column>
  75. <el-table-column
  76. type="index"
  77. label="序号"
  78. align="center"
  79. width="60">
  80. </el-table-column>
  81. <el-table-column
  82. property="province"
  83. label="省市区"
  84. align="center"
  85. width="280">
  86. <template slot-scope="scope">
  87. <el-cascader
  88. size="small"
  89. style="width: 100%;"
  90. :disabled="goodsForm.status === 1"
  91. v-model="scope.row.region"
  92. :props="treeOption"></el-cascader>
  93. </template>
  94. </el-table-column>
  95. <el-table-column
  96. property="address"
  97. align="center"
  98. label="详细地址">
  99. <template slot-scope="scope">
  100. <el-input v-model="scope.row.address" :disabled="goodsForm.status === 1" size="small"
  101. placeholder="请输入内容"></el-input>
  102. </template>
  103. </el-table-column>
  104. </el-table>
  105. </basic-container>
  106. <containerTitle title="箱信息"></containerTitle>
  107. <basic-container v-if="goodsForm.status === 0 || !goodsForm.status">
  108. <avue-crud :data="entrustList"
  109. :option="entrustOptionTwo"
  110. @row-save="(row,done,loading)=>{rowSave(row,0,done,loading)}"
  111. @row-update="rowSave"
  112. @row-del="rowDel"></avue-crud>
  113. </basic-container>
  114. <basic-container v-if="goodsForm.status !== 0 && goodsForm.status">
  115. <avue-crud
  116. :data="entrustList"
  117. :option="entrustOptionTwoT"
  118. @row-save="(row,done,loading)=>{rowSaveT(row,0,done,loading)}"
  119. @row-update="rowSaveT">
  120. <template slot="fleetId" slot-scope="{ row, index }">
  121. <crop-select
  122. v-if="row.$cellEdit"
  123. v-model="row.fleetId"
  124. :cropIndex="index"
  125. @getCorpData="(data)=>{getfleetIdT(data,row)}"
  126. ></crop-select>
  127. <span v-else>{{ row.fleetName }}</span>
  128. </template>
  129. </avue-crud>
  130. </basic-container>
  131. <containerTitle title="货物信息"></containerTitle>
  132. <basic-container>
  133. <avue-form :option="goodsOptionForm" v-model="goodsForm">
  134. <template slot-scope="scope" slot="corpId">
  135. <crop-select
  136. :disabled="goodsForm.status === 1"
  137. v-model="goodsForm.corpId"
  138. ></crop-select>
  139. </template>
  140. </avue-form>
  141. </basic-container>
  142. <containerTitle title="费用明细"></containerTitle>
  143. <basic-container>
  144. <el-tabs v-model="activeIndex" @tab-click="handleSelect">
  145. <el-tab-pane label="应收" name="1"></el-tab-pane>
  146. <el-tab-pane label="应付" name="2"></el-tab-pane>
  147. </el-tabs>
  148. <avue-crud
  149. v-if="activeIndex === '1'"
  150. :data="collectionList"
  151. :option="collectionOption"
  152. ref="collection"
  153. @row-save="(row,done,loading)=>{rowSave(row,0,done,loading)}"
  154. @row-update="rowSave"
  155. @row-del="makeDel">
  156. <template slot-scope="{row}" slot="corpId">
  157. <crop-select
  158. v-if="row.$cellEdit"
  159. v-model="row.corpId"
  160. @getCorpData="(data)=>{getfleetId(data,row)}"
  161. ></crop-select>
  162. <span v-else>{{ row.corpName }}</span>
  163. </template>
  164. <template slot-scope="{row}" slot="feeId">
  165. <breakdown-select
  166. v-if="row.$cellEdit"
  167. v-model="row.feeId"
  168. @selectValue="(value) => selectValue(value,row)"
  169. :configuration="breakConfiguration"
  170. >
  171. </breakdown-select>
  172. <span v-else>{{ row.feeName }}</span>
  173. </template>
  174. <template slot-scope="{row,index}" slot="menu">
  175. <el-button
  176. type="text"
  177. size="small"
  178. :icon="row.$cellEdit?'el-icon-circle-plus-outline':'el-icon-edit'"
  179. @click="rowCell(row,index)"
  180. >{{ row.$cellEdit ? '保存' : '编辑' }}
  181. </el-button>
  182. <el-button type="text"
  183. icon="el-icon-delete"
  184. size="small"
  185. @click="$refs.collection.rowDel(row,index)"
  186. >删除
  187. </el-button>
  188. </template>
  189. <template slot="menuLeft">
  190. <el-button type="primary" icon="el-icon-plus" @click="addRowCollection" size="small">录入明细</el-button>
  191. </template>
  192. </avue-crud>
  193. <avue-crud
  194. v-if="activeIndex === '2'"
  195. :data="paymentList"
  196. :option="paymentOption"
  197. ref="payment"
  198. @row-save="(row,done,loading)=>{rowSave(row,0,done,loading)}"
  199. @row-update="rowSave"
  200. @row-del="feeDel"
  201. >
  202. <template slot-scope="{row}" slot="corpId">
  203. <crop-select
  204. v-if="row.$cellEdit"
  205. v-model="row.corpId"
  206. @getCorpData="(data)=>{getfleetId(data,row)}"
  207. ></crop-select>
  208. <span v-else>{{ row.corpName }}</span>
  209. </template>
  210. <template slot-scope="{row}" slot="feeId">
  211. <breakdown-select
  212. v-if="row.$cellEdit"
  213. v-model="row.feeId"
  214. @selectValue="(value) => selectValue(value,row)"
  215. :configuration="breakConfiguration"
  216. >
  217. </breakdown-select>
  218. <span v-else>{{ row.feeName }}</span>
  219. </template>
  220. <template slot-scope="{row,index}" slot="menu">
  221. <el-button
  222. type="text"
  223. size="small"
  224. :icon="row.$cellEdit?'el-icon-circle-plus-outline':'el-icon-edit'"
  225. @click="paymentRowCell(row,index)"
  226. >{{ row.$cellEdit ? '保存' : '编辑' }}
  227. </el-button>
  228. <el-button type="text"
  229. icon="el-icon-delete"
  230. size="small"
  231. @click="$refs.payment.rowDel(row,index)"
  232. >删除
  233. </el-button>
  234. </template>
  235. <template slot="menuLeft">
  236. <el-button type="primary" icon="el-icon-plus" @click="addRowPayment" size="small">录入明细</el-button>
  237. </template>
  238. </avue-crud>
  239. </basic-container>
  240. <containerTitle title="上传附件"></containerTitle>
  241. <c-upload
  242. typeUpload="CD"
  243. :data="orderFilesList"
  244. :enumerationValue="76"
  245. ></c-upload>
  246. </div>
  247. </template>
  248. <script>
  249. import {getLazyTree} from "@/api/base/region";
  250. import {saveDelegationList, detailDelegationList, removeCollection, saveSaveList} from "@/api/landTransportation";
  251. export default {
  252. props: {
  253. id: {
  254. type: String
  255. }
  256. },
  257. data() {
  258. return {
  259. activeIndex: '1',
  260. goodsForm: {},
  261. orderFilesList: [],
  262. roleName: localStorage.getItem("roleName").split(',')[0],
  263. breakConfiguration: {
  264. multipleChoices: false,
  265. multiple: false,
  266. disabled: false,
  267. searchShow: true,
  268. collapseTags: false,
  269. clearable: true,
  270. placeholder: '请点击右边按钮选择',
  271. dicData: []
  272. },
  273. advantageProjectData: [],
  274. treeOption: {
  275. label: 'title',
  276. value: 'id',
  277. lazy: true,
  278. lazyLoad(node, resolve) {
  279. const parentId = node.level === 0 ? '00' : node.data.id;
  280. getLazyTree(parentId).then(res => {
  281. resolve(
  282. res.data.data.map(item => {
  283. return {
  284. ...item,
  285. leaf: !item.hasChildren
  286. };
  287. })
  288. );
  289. });
  290. }
  291. },
  292. tableData: [],
  293. entrustListT: [],
  294. entrustOptionTwoT: {
  295. align: 'center',
  296. menuAlign: 'center',
  297. index: true,
  298. cellBtn: true,
  299. addBtn: false,
  300. addRowBtn: false,
  301. delBtn: false,
  302. showSummary: true,
  303. summaryText: "合计",
  304. sumColumnList: [
  305. {
  306. name: 'landWeight',
  307. type: 'sum',
  308. decimals: 6
  309. }, {
  310. name: 'landAmountC',
  311. type: 'sum',
  312. decimals: 2
  313. }, {
  314. name: 'landAmountD',
  315. type: 'sum',
  316. decimals: 2
  317. }, {
  318. name: 'ctnQuantity',
  319. type: 'count'
  320. }],
  321. column: [{
  322. label: '尺寸箱型',
  323. width: 100,
  324. prop: 'ctnType'
  325. }, {
  326. label: '箱量',
  327. width: 50,
  328. prop: 'ctnQuantity'
  329. }, {
  330. label: '重量',
  331. width: 160,
  332. prop: 'landWeight',
  333. controls: false,
  334. precision: 6,
  335. type: 'number'
  336. }, {
  337. label: '陆运费(D)',
  338. prop: 'landAmountD'
  339. }, {
  340. label: '备注',
  341. cell: true,
  342. prop: 'remarks'
  343. }
  344. ]
  345. },
  346. entrustList: [],
  347. goodsOptionForm: {
  348. menuBtn: false,
  349. disabled: false,
  350. column: [{
  351. label: '客户名称',
  352. formslot: true,
  353. prop: 'corpId'
  354. }, {
  355. label: '所属公司',
  356. formslot: true,
  357. prop: 'belongCompany'
  358. }, {
  359. label: '订单号',
  360. prop: 'id',
  361. disabled: true
  362. }, {
  363. label: '提单号',
  364. prop: 'billNo'
  365. }, {
  366. label: '场站',
  367. prop: 'station'
  368. }, {
  369. label: '到厂时间',
  370. type: "datetime",
  371. format: 'yyyy-MM-dd HH:mm:ss',
  372. valueFormat: 'yyyy-MM-dd HH:mm:ss',
  373. prop: 'arrivalTime'
  374. }, {
  375. label: '工厂名称',
  376. prop: 'factory'
  377. }, {
  378. label: '货物名称',
  379. prop: 'goods'
  380. }, {
  381. label: '备注',
  382. prop: 'remarks'
  383. }
  384. ]
  385. },
  386. entrustOptionTwo: {
  387. align: 'center',
  388. menuAlign: 'center',
  389. addBtnText: '录入箱信息',
  390. index: true,
  391. cellBtn: true,
  392. addBtn: false,
  393. addRowBtn: true,
  394. showSummary: true,
  395. summaryText: "合计",
  396. sumColumnList: [
  397. {
  398. name: 'landWeight',
  399. type: 'sum',
  400. decimals: 6
  401. }, {
  402. name: 'landAmountD',
  403. type: 'sum',
  404. decimals: 2
  405. }, {
  406. name: 'ctnQuantity',
  407. type: 'sum',
  408. decimals: 1
  409. }],
  410. column: [{
  411. label: '尺寸箱型',
  412. cell: true,
  413. prop: 'ctnType',
  414. type: 'select',
  415. width: 100,
  416. dicUrl: "/api/blade-system/dict-biz/dictionary?code=boxType",
  417. props: {
  418. label: "dictValue",
  419. value: "dictKey"
  420. }
  421. }, {
  422. label: '箱量',
  423. cell: true,
  424. prop: 'ctnQuantity',
  425. controls: false,
  426. precision: 0,
  427. width: 100,
  428. type: 'number'
  429. }, {
  430. label: '总重量(吨)',
  431. cell: true,
  432. prop: 'landWeight',
  433. controls: false,
  434. width: 200,
  435. precision: 6,
  436. type: 'number'
  437. }, {
  438. label: '陆运费(D)',
  439. cell: true,
  440. prop: 'landAmountD',
  441. controls: false,
  442. width: 200,
  443. precision: 2,
  444. type: 'number'
  445. }, {
  446. label: '备注',
  447. cell: true,
  448. prop: 'remarks'
  449. }
  450. ]
  451. },
  452. collectionList: [],
  453. collectionOption: {
  454. align: 'center',
  455. menuAlign: 'center',
  456. index: true,
  457. cancelBtn: false,
  458. editBtn: false,
  459. delBtn: false,
  460. cellBtn: false,
  461. addBtn: false,
  462. addRowBtn: false,
  463. showSummary: true,
  464. addBtnText: '录入明细',
  465. summaryText: "合计",
  466. sumColumnList: [{
  467. name: 'price',
  468. type: 'sum',
  469. decimals: 2
  470. }, {
  471. name: 'amount',
  472. type: 'sum',
  473. decimals: 2
  474. }, {
  475. name: 'quantity',
  476. type: 'sum',
  477. decimals: 1
  478. }],
  479. column: [{
  480. label: '客户名称',
  481. slot: true,
  482. prop: 'corpId'
  483. }, {
  484. label: '费用名称',
  485. slot: true,
  486. prop: 'feeId'
  487. }, {
  488. label: '计价单位',
  489. cell: true,
  490. prop: 'unit',
  491. type: "select",
  492. dicUrl: "/api/blade-system/dict-biz/dictionary?code=unit",
  493. props: {
  494. label: "dictValue",
  495. value: "dictKey"
  496. }
  497. }, {
  498. label: '数量',
  499. cell: true,
  500. prop: 'quantity'
  501. }, {
  502. label: '单价',
  503. cell: true,
  504. prop: 'price'
  505. }, {
  506. label: '金额',
  507. cell: true,
  508. prop: 'amount'
  509. }, {
  510. label: '税率(默认6)',
  511. cell: true,
  512. prop: 'taxRate'
  513. }, {
  514. label: '币别',
  515. cell: true,
  516. prop: 'currency',
  517. type: "select",
  518. dicUrl: "/api/blade-system/dict-biz/dictionary?code=currency",
  519. props: {
  520. label: "dictValue",
  521. value: "dictKey"
  522. },
  523. }
  524. ]
  525. },
  526. paymentList: [],
  527. paymentOption: {
  528. align: 'center',
  529. menuAlign: 'center',
  530. index: true,
  531. cancelBtn: false,
  532. editBtn: false,
  533. delBtn: false,
  534. cellBtn: false,
  535. addBtn: false,
  536. addRowBtn: false,
  537. showSummary: true,
  538. addBtnText: '录入明细',
  539. summaryText: "合计",
  540. sumColumnList: [{
  541. name: 'price',
  542. type: 'sum',
  543. decimals: 2
  544. }, {
  545. name: 'amount',
  546. type: 'sum',
  547. decimals: 2
  548. }, {
  549. name: 'quantity',
  550. type: 'sum',
  551. decimals: 1
  552. }],
  553. column: [{
  554. label: '客户名称',
  555. slot: true,
  556. prop: 'corpId'
  557. }, {
  558. label: '费用名称',
  559. slot: true,
  560. prop: 'feeId'
  561. }, {
  562. label: '计价单位',
  563. cell: true,
  564. prop: 'unit',
  565. type: "select",
  566. dicUrl: "/api/blade-system/dict-biz/dictionary?code=unit",
  567. props: {
  568. label: "dictValue",
  569. value: "dictKey"
  570. }
  571. }, {
  572. label: '数量',
  573. cell: true,
  574. prop: 'quantity'
  575. }, {
  576. label: '单价',
  577. cell: true,
  578. prop: 'price'
  579. }, {
  580. label: '金额',
  581. cell: true,
  582. prop: 'amount'
  583. }, {
  584. label: '税率(默认6)',
  585. cell: true,
  586. prop: 'taxRate'
  587. }, {
  588. label: '币别(默认RMB)',
  589. cell: true,
  590. prop: 'currency',
  591. type: "select",
  592. dicUrl: "/api/blade-system/dict-biz/dictionary?code=currency",
  593. props: {
  594. label: "dictValue",
  595. value: "dictKey"
  596. },
  597. }
  598. ]
  599. }
  600. };
  601. },
  602. created() {
  603. if (this.id) {
  604. detailDelegationList({id: this.id, kind: '1'}).then(res => {
  605. this.goodsForm = res.data.data
  606. this.tableData = res.data.data.orderAddressList
  607. this.entrustList = res.data.data.orderItemList
  608. this.goodsList = res.data.data.orderItemList
  609. if (res.data.data.orderFeeList.length > 0) {
  610. res.data.data.orderFeeList.forEach(item => {
  611. if (item.type == 1) {
  612. this.collectionList.push(item)
  613. } else {
  614. this.paymentList.push(item)
  615. }
  616. })
  617. }
  618. this.goodsOptionForm.disabled = this.goodsForm.status === 1
  619. delete this.goodsForm.orderAddressList
  620. delete this.goodsForm.orderItemList
  621. delete this.goodsForm.orderFeeList
  622. this.tableData.forEach(item => {
  623. if (item.region) item.region = item.region.split(',')
  624. })
  625. })
  626. } else {
  627. this.tableData = [{
  628. region: [],
  629. address: ''
  630. }, {
  631. region: [],
  632. address: ''
  633. }]
  634. this.entrustList = [{$cellEdit: true}]
  635. }
  636. },
  637. methods: {
  638. //刷新数据
  639. refreshData() {
  640. detailDelegationList({id: this.id, kind: '1'}).then(res => {
  641. this.goodsForm = res.data.data
  642. this.tableData = res.data.data.orderAddressList
  643. this.entrustList = res.data.data.orderItemList
  644. this.goodsList = res.data.data.orderItemList
  645. if (res.data.data.orderFeeList.length > 0) {
  646. res.data.data.orderFeeList.forEach(item => {
  647. if (item.type == 1) {
  648. this.collectionList.push(item)
  649. } else {
  650. this.paymentList.push(item)
  651. }
  652. })
  653. }
  654. this.goodsOptionForm.disabled = this.goodsForm.status === 1
  655. delete this.goodsForm.orderAddressList
  656. delete this.goodsForm.orderItemList
  657. delete this.goodsForm.orderFeeList
  658. this.tableData.forEach(item => {
  659. if (item.region) item.region = item.region.split(',')
  660. })
  661. })
  662. },
  663. //提交委托
  664. submit() {
  665. saveDelegationList({
  666. id: this.goodsForm.id
  667. }).then(res => {
  668. this.$message.success('提交成功');
  669. this.refreshData()
  670. })
  671. },
  672. //切换收付费
  673. handleSelect(tab, event) {
  674. this.activeIndex = tab.name
  675. },
  676. //箱信息保存
  677. rowSaveT(row, index, done, loading) {
  678. row.$cellEdit = false
  679. done()
  680. },
  681. //箱信息选择车队
  682. getfleetIdT(data, row) {
  683. this.$set(row, 'fleetName', data.cname)
  684. },
  685. //地址新增
  686. addAddress() {
  687. this.tableData.splice(this.tableData.length - 1, 0, {leas: 1111})
  688. },
  689. //返回主列表
  690. backToList() {
  691. this.goodsForm = {}
  692. this.$emit('backToList')
  693. },
  694. //删除途径地址
  695. deleteAddress(scope) {
  696. this.tableData.splice(scope.$index, 1);
  697. },
  698. //箱信息保存
  699. rowSave(row, index, done, loading) {
  700. row.$cellEdit = false
  701. done()
  702. },
  703. rowCell(row, index) {
  704. this.$refs.collection.rowCell(row, index)
  705. },
  706. paymentRowCell(row, index) {
  707. this.$refs.payment.rowCell(row, index)
  708. },
  709. //箱信息移除
  710. rowDel(row, index) {
  711. this.$confirm('此操作将永久删除该单据, 是否继续?', '提示', {
  712. confirmButtonText: '确定',
  713. cancelButtonText: '取消',
  714. type: 'warning'
  715. }).then(() => {
  716. this.entrustList.splice(index, 1);
  717. }).catch(() => {
  718. this.$message({
  719. type: 'info',
  720. message: '已取消删除'
  721. });
  722. });
  723. },
  724. //保存
  725. editCustomer() {
  726. let data = JSON.parse(JSON.stringify(this.tableData))
  727. data.forEach(item => {
  728. if (item.region.length !== 0) item.region = item.region.join(',')
  729. })
  730. saveSaveList({
  731. ...this.goodsForm,
  732. kind: '1',
  733. orderAddressList: data,
  734. orderItemList: this.entrustList,
  735. orderFeeList: this.collectionList.concat(this.paymentList)
  736. }).then(res => {
  737. this.$message.success('保存成功');
  738. this.refreshData()
  739. })
  740. },
  741. //收费新增
  742. addRowCollection() {
  743. this.$refs.collection.rowCellAdd({
  744. currency: '1',
  745. type: '1',
  746. $cellEdit: true
  747. });
  748. },
  749. //付费新增
  750. addRowPayment() {
  751. this.$refs.payment.rowCellAdd({
  752. currency: '1',
  753. type: '2',
  754. $cellEdit: true
  755. });
  756. },
  757. //选择费用
  758. selectValue(value, row) {
  759. this.$set(row, 'feeName', value.cname)
  760. },
  761. //选择客户信息触发
  762. getfleetId(data, row) {
  763. this.$set(row, 'corpName', data.cname)
  764. },
  765. //收款信息移除
  766. makeDel(row, index) {
  767. this.$confirm('此操作将永久删除该单据, 是否继续?', '提示', {
  768. confirmButtonText: '确定',
  769. cancelButtonText: '取消',
  770. type: 'warning'
  771. }).then(() => {
  772. if (row.id) removeCollection(row.id)
  773. this.collectionList.splice(index, 1);
  774. }).catch(() => {
  775. this.$message({
  776. type: 'info',
  777. message: '已取消删除'
  778. });
  779. });
  780. },
  781. //付款信息移除
  782. feeDel(row, index) {
  783. this.$confirm('此操作将永久删除该单据, 是否继续?', '提示', {
  784. confirmButtonText: '确定',
  785. cancelButtonText: '取消',
  786. type: 'warning'
  787. }).then(() => {
  788. if (row.id) removeCollection(row.id)
  789. this.paymentList.splice(index, 1);
  790. }).catch(() => {
  791. this.$message({
  792. type: 'info',
  793. message: '已取消删除'
  794. });
  795. });
  796. },
  797. //自定义表头
  798. renderHeader(h) {
  799. return (
  800. <div>
  801. <el-tooltip className="item" effect="dark" content="增加途径地址" placement="top">
  802. <el-button type="primary" icon="el-icon-plus" size="mini" circle onClick={() => this.addAddress()}
  803. style="margin-right: 1.25rem;"></el-button>
  804. </el-tooltip>
  805. </div>
  806. )
  807. }
  808. }
  809. }
  810. </script>
  811. <style scoped>
  812. </style>