AddOrUpdate.vue 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746
  1. <template>
  2. <el-dialog
  3. :title="title"
  4. :visible.sync="showDialog"
  5. width="80%"
  6. @close="handleClose"
  7. :close-on-click-modal="false"
  8. >
  9. <span>
  10. <el-form ref="form" :model="form" :rules="rules" label-width="80px">
  11. <el-row>
  12. <el-col :span="6">
  13. <el-form-item label="客户名称" prop="corpId">
  14. <el-select
  15. v-model="form.corpId"
  16. placeholder="请输入客户名称"
  17. :clearable="true"
  18. filterable
  19. size="mini"
  20. style="width: 180px"
  21. :disabled="true"
  22. >
  23. <el-option
  24. v-for="(dict, index) in fMblnoOptions"
  25. :key="index.fId"
  26. :label="dict.fName"
  27. :value="dict.fId"
  28. />
  29. </el-select>
  30. </el-form-item>
  31. </el-col>
  32. <el-col :span="6">
  33. <el-form-item label="业务类型" prop="billType">
  34. <el-select
  35. v-model="form.billType"
  36. placeholder="请选择业务类型"
  37. :disabled="true"
  38. size="mini"
  39. style="width: 180px"
  40. >
  41. <el-option
  42. v-for="(dict, index) in billTypeList"
  43. :key="index.dictSort"
  44. :label="dict.dictLabel"
  45. :value="dict.dictSort"
  46. />
  47. </el-select>
  48. </el-form-item>
  49. </el-col>
  50. <el-col :span="6">
  51. <el-form-item label="运输方式" prop="transType">
  52. <el-select
  53. v-model="form.transType"
  54. placeholder="请选择运输方式"
  55. :disabled="true"
  56. size="mini"
  57. style="width: 180px"
  58. >
  59. <el-option
  60. v-for="(dict, index) in transTypeList"
  61. :key="index.dictValue"
  62. :label="dict.dictLabel"
  63. :value="dict.dictValue"
  64. />
  65. </el-select>
  66. </el-form-item>
  67. </el-col>
  68. <el-col :span="6">
  69. <el-form-item label="运输性质" prop="transProp">
  70. <el-select
  71. v-model="form.transProp"
  72. placeholder="请选择运输方式"
  73. :disabled="true"
  74. size="mini"
  75. style="width: 180px"
  76. >
  77. <el-option
  78. v-for="(dict, index) in transPropList"
  79. :key="index.dictValue"
  80. :label="dict.dictLabel"
  81. :value="dict.dictValue"
  82. />
  83. </el-select>
  84. </el-form-item>
  85. </el-col>
  86. </el-row>
  87. <el-row>
  88. <el-col :span="6">
  89. <el-form-item label="提箱地点" prop="loadAddr">
  90. <el-input
  91. v-model="form.loadAddr"
  92. placeholder="请输入提箱地点"
  93. :disabled="true"
  94. size="mini"
  95. style="width: 180px"
  96. />
  97. </el-form-item>
  98. </el-col>
  99. <el-col :span="6">
  100. <el-form-item label="提箱时间" prop="loadDate">
  101. <el-date-picker
  102. clearable
  103. size="mini"
  104. style="width: 180px"
  105. v-model="form.loadDate"
  106. type="date"
  107. :disabled="true"
  108. value-format="yyyy-MM-dd"
  109. placeholder="选择卸箱时间"
  110. >
  111. </el-date-picker>
  112. </el-form-item>
  113. </el-col>
  114. <el-col :span="6">
  115. <el-form-item label="装货地点" prop="mdLoadAddr">
  116. <el-input
  117. v-model="form.mdLoadAddr"
  118. placeholder="请输入装货地点"
  119. :disabled="true"
  120. size="mini"
  121. style="width: 180px"
  122. />
  123. </el-form-item>
  124. </el-col>
  125. <el-col :span="6">
  126. <el-form-item label="装货时间" prop="mdLoadDate">
  127. <el-date-picker
  128. clearable
  129. size="mini"
  130. style="width: 180px"
  131. v-model="form.mdLoadDate"
  132. type="date"
  133. :disabled="true"
  134. value-format="yyyy-MM-dd"
  135. placeholder="选择装货时间"
  136. >
  137. </el-date-picker>
  138. </el-form-item>
  139. </el-col>
  140. <el-col :span="6">
  141. <el-form-item label="卸箱地点" prop="unLoadAddr">
  142. <el-input
  143. v-model="form.unLoadAddr"
  144. placeholder="请输入装卸箱地点"
  145. :disabled="true"
  146. size="mini"
  147. style="width: 180px"
  148. />
  149. </el-form-item>
  150. </el-col>
  151. <el-col :span="6">
  152. <el-form-item label="卸箱时间" prop="unLoadDate">
  153. <el-date-picker
  154. clearable
  155. size="mini"
  156. style="width: 180px"
  157. v-model="form.unLoadDate"
  158. type="date"
  159. :disabled="true"
  160. value-format="yyyy-MM-dd"
  161. placeholder="选择卸箱时间"
  162. >
  163. </el-date-picker>
  164. </el-form-item>
  165. </el-col>
  166. </el-row>
  167. <el-row>
  168. <el-col :span="6">
  169. <el-form-item label="提单号" prop="mblno">
  170. <el-input
  171. v-model="form.mblno"
  172. placeholder="请输入提单号"
  173. :disabled="true"
  174. size="mini"
  175. style="width: 180px"
  176. />
  177. </el-form-item>
  178. </el-col>
  179. <el-col :span="6">
  180. <el-form-item label="货品名称" prop="goodsId">
  181. <el-select
  182. v-model="form.goodsId"
  183. placeholder="请输入货品名称"
  184. :disabled="true"
  185. clearable
  186. filterable
  187. size="mini"
  188. style="width: 180px"
  189. >
  190. <el-option
  191. v-for="(dict, index) in goodsOptions"
  192. :key="index.fId"
  193. :label="dict.fName"
  194. :value="dict.fId"
  195. />
  196. </el-select>
  197. </el-form-item>
  198. </el-col>
  199. <el-col :span="6">
  200. <el-form-item label="计划件数" prop="qtyPlan">
  201. <el-input
  202. v-model="form.qtyPlan"
  203. placeholder="请输入计划件数"
  204. :disabled="true"
  205. v-input-limit="2"
  206. size="mini"
  207. style="width: 180px"
  208. />
  209. </el-form-item>
  210. </el-col>
  211. <el-col :span="6">
  212. <el-form-item label="重量(吨)" prop="weightPlan">
  213. <el-input
  214. v-model="form.weightPlan"
  215. placeholder="请输入计划重量"
  216. :disabled="true"
  217. v-input-limit="2"
  218. size="mini"
  219. style="width: 180px"
  220. />
  221. </el-form-item>
  222. </el-col>
  223. </el-row>
  224. <el-row>
  225. <el-col :span="6">
  226. <el-form-item label="船名" prop="ysl">
  227. <el-input
  228. v-model="form.ysl"
  229. placeholder="请输入船名"
  230. :disabled="true"
  231. size="mini"
  232. style="width: 180px"
  233. />
  234. </el-form-item>
  235. </el-col>
  236. <el-col :span="6">
  237. <el-form-item label="航次" prop="voy">
  238. <el-input
  239. v-model="form.voy"
  240. placeholder="请输入航次"
  241. :disabled="true"
  242. size="mini"
  243. style="width: 180px"
  244. />
  245. </el-form-item>
  246. </el-col>
  247. <el-col :span="6">
  248. <el-form-item label="起运港" prop="polId">
  249. <el-input
  250. v-model="form.polId"
  251. placeholder="请输入起运港"
  252. :disabled="true"
  253. size="mini"
  254. style="width: 180px"
  255. />
  256. </el-form-item>
  257. </el-col>
  258. <el-col :span="6">
  259. <el-form-item label="目的港" prop="podId">
  260. <el-input
  261. v-model="form.podId"
  262. placeholder="请输入目的港"
  263. :disabled="true"
  264. size="mini"
  265. style="width: 180px"
  266. />
  267. </el-form-item>
  268. </el-col>
  269. </el-row>
  270. </el-form>
  271. <template slot="title">
  272. <i class="header-icon el-icon-circle-plus" style="font-size: 16px"
  273. ><span
  274. style="font-size: 16px; font-weight: bolder; margin-left: 5px"
  275. >添加费用明细</span
  276. >
  277. </i>
  278. </template>
  279. <div>
  280. <div
  281. style="display: flex; justify-content: space-between;margin: 10px 0;">
  282. <div>
  283. <el-button
  284. type="primary"
  285. icon="el-icon-plus"
  286. size="mini"
  287. @click="addRelevt"
  288. :disabled="disabled"
  289. >添加费用</el-button>
  290. </div>
  291. </div>
  292. </div>
  293. <el-table
  294. :data="feesList"
  295. style="width: 100%"
  296. >
  297. <el-table-column
  298. prop="fCorpid"
  299. label="结算单位"
  300. align="center"
  301. width="180"
  302. >
  303. <template slot-scope="scope">
  304. <el-select
  305. v-model="scope.row.fCorpid"
  306. placeholder="请输入客户名称"
  307. :clearable="true"
  308. filterable
  309. size="mini"
  310. style="width: 160px"
  311. :disabled="scope.row.actId != '1090' ? true : false || disabled"
  312. >
  313. <el-option
  314. v-for="(dict, index) in fMblnoOptions"
  315. :key="index.fId"
  316. :label="dict.fName"
  317. :value="dict.fId"
  318. />
  319. </el-select>
  320. </template>
  321. </el-table-column>
  322. <el-table-column
  323. prop="fFeeid"
  324. label="费用名称"
  325. width="180"
  326. >
  327. <template slot-scope="scope">
  328. <el-select
  329. v-model="scope.row.fFeeid"
  330. filterable
  331. :disabled="scope.row.actId != '1090' ? true : false || disabled"
  332. remote
  333. placeholder="费用名称"
  334. >
  335. <el-option
  336. v-for="(dict, index) in fCNameOptions"
  337. :key="index.fId"
  338. :label="dict.fName"
  339. :value="dict.fId"
  340. ></el-option>
  341. </el-select>
  342. </template>
  343. </el-table-column>
  344. <el-table-column
  345. prop="fDc"
  346. label="收付"
  347. width="180"
  348. >
  349. <template slot-scope="scope">
  350. <el-select v-model="scope.row.fDc" placeholder="请选择" :disabled="scope.row.actId != '1090' ? true : false || disabled">
  351. <el-option label="收" value="D"></el-option>
  352. <el-option label="付" value="C"></el-option>
  353. </el-select>
  354. </template>
  355. </el-table-column>
  356. <el-table-column
  357. prop="fFeeunitid"
  358. label="计费单位"
  359. width="180"
  360. >
  361. <template slot-scope="scope">
  362. <el-select
  363. v-model="scope.row.fFeeunitid"
  364. placeholder="请选择计费单位"
  365. :disabled="scope.row.actId != '1090' ? true : false || disabled"
  366. clearable
  367. >
  368. <el-option
  369. v-for="dict in jFeetunitOptions"
  370. :key="dict.dictValue"
  371. :label="dict.dictLabel"
  372. :value="dict.dictValue"
  373. />
  374. </el-select>
  375. </template>
  376. </el-table-column>
  377. <el-table-column
  378. prop="fBillingQty"
  379. label="计费数量"
  380. width="180"
  381. >
  382. <template slot-scope="scope">
  383. <el-input v-model="scope.row.fBillingQty" :disabled="scope.row.actId != '1090' ? true : false || disabled" placeholder="请输入内容"></el-input>
  384. </template>
  385. </el-table-column>
  386. <el-table-column
  387. prop="fUnitprice"
  388. label="单价"
  389. width="180"
  390. >
  391. <template slot-scope="scope">
  392. <el-input v-model="scope.row.fUnitprice" :disabled="scope.row.actId != '1090' ? true : false || disabled" placeholder="请输入内容"></el-input>
  393. </template>
  394. </el-table-column>
  395. <el-table-column
  396. prop="fCurrency"
  397. label="币种"
  398. width="180"
  399. >
  400. <template slot-scope="scope">
  401. <el-input v-model="scope.row.fCurrency" :disabled="scope.row.actId != '1090' ? true : false || disabled" placeholder="请输入内容"></el-input>
  402. </template>
  403. </el-table-column>
  404. <el-table-column
  405. prop="fTaxrate"
  406. label="税率"
  407. width="180"
  408. >
  409. <template slot-scope="scope">
  410. <el-input v-model="scope.row.fTaxrate" :disabled="scope.row.actId != '1090' ? true : false || disabled" placeholder="请输入内容"></el-input>
  411. </template>
  412. </el-table-column>
  413. <el-table-column
  414. prop="fAmount"
  415. label="金额"
  416. width="180"
  417. >
  418. <template slot-scope="scope">
  419. <el-input v-model="scope.row.fAmount" :disabled="scope.row.actId != '1090' ? true : false || disabled" placeholder="请输入内容"></el-input>
  420. </template>
  421. </el-table-column>
  422. <el-table-column
  423. prop="fExrate"
  424. label="汇率"
  425. width="180"
  426. >
  427. <template slot-scope="scope">
  428. <el-input v-model="scope.row.fExrate" :disabled="scope.row.actId != '1090' ? true : false || disabled" placeholder="请输入内容"></el-input>
  429. </template>
  430. </el-table-column>
  431. <el-table-column
  432. prop="remarks"
  433. label="备注"
  434. width="180"
  435. >
  436. <template slot-scope="scope">
  437. <el-input v-model="scope.row.remarks" :disabled="scope.row.actId != '1090' ? true : false || disabled" placeholder="请输入内容"></el-input>
  438. </template>
  439. </el-table-column>
  440. <el-table-column
  441. label="操作"
  442. align="center"
  443. class-name="small-padding fixed-width"
  444. fixed="right"
  445. width="150px"
  446. >
  447. <template slot-scope="scope">
  448. <el-button
  449. size="mini"
  450. type="text"
  451. icon="el-icon-delete"
  452. :disabled="scope.row.actId != '1090' ? true : false || disabled"
  453. @click.native.prevent="deleteRow(scope.$index)"
  454. >删除</el-button
  455. >
  456. </template>
  457. </el-table-column>
  458. </el-table>
  459. </span>
  460. <span slot="footer" class="dialog-footer">
  461. <el-button type="primary" @click="submitForm">提交</el-button>
  462. <el-button type="success" @click="submitAllowChanges">修改</el-button>
  463. <el-button type="info" @click="submitSave">保 存</el-button>
  464. <el-button type="warning" @click="submitRetreat">撤 回</el-button>
  465. <el-button @click="showDialog = false">取 消</el-button>
  466. </span>
  467. </el-dialog>
  468. </template>
  469. <script>
  470. import { removeFtmsorderbillscars } from '@/api/fleet/ftmsorderbillscars'
  471. import { query,submit} from '@/api/track/singleCost'
  472. import { listGoods } from '@/api/basicdata/goods'
  473. import { listCorps } from '@/api/basicdata/corps'
  474. import { listFees } from '@/api/basicdata/fees'
  475. import UploadFile from '@/components/Uploadfile'
  476. import Cookies from 'js-cookie'
  477. export default {
  478. name: 'plans',
  479. props: {
  480. addOrUpdateVisible: {
  481. type: Boolean,
  482. default: false
  483. },
  484. title: {
  485. type: String,
  486. required: ''
  487. },
  488. fname: Object
  489. },
  490. components: {
  491. UploadFile
  492. },
  493. data() {
  494. return {
  495. jFeetunitOptions:[],
  496. form: {},
  497. feesList:[],
  498. // 控制弹出框显示隐藏
  499. showDialog: false,
  500. disabled: true,
  501. // 表单校验
  502. rules: {
  503. corpId: [
  504. { required: true, message: '请输入客户名称', trigger: 'blur' }
  505. ],
  506. billType: [
  507. { required: true, message: '请选择业务类型', trigger: 'blur' }
  508. ],
  509. transType: [
  510. { required: true, message: '请选择运输方式', trigger: 'blur' }
  511. ],
  512. loadAddr: [
  513. { required: true, message: '请输入提箱地点', trigger: 'blur' }
  514. ],
  515. loadAttntel: [
  516. {
  517. pattern: /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/,
  518. message: '请正确输入手机号',
  519. trigger: 'blur'
  520. }
  521. ],
  522. mdLoadAttnTel: [
  523. {
  524. pattern: /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/,
  525. message: '请正确输入手机号',
  526. trigger: 'blur'
  527. }
  528. ],
  529. unLoadAttnTel: [
  530. {
  531. pattern: /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/,
  532. message: '请正确输入手机号',
  533. trigger: 'blur'
  534. }
  535. ]
  536. },
  537. billTypeList: [],
  538. transTypeList: [],
  539. transPropList: [],
  540. goodsLossTypeList: [],
  541. relevantAttachments: [],
  542. cntrIdList: [],
  543. priceTypeList: [],
  544. userType: null,
  545. username: null,
  546. collapses: [],
  547. fMblnoOptions: [],
  548. cntrId2List: [],
  549. goodsOptions: [],
  550. fWbuOptions: []
  551. }
  552. },
  553. created() {
  554. this.getDicts("data_unitfees").then((response) => {
  555. console.log(response.data)
  556. if (response.data){
  557. this.jFeetunitOptions = response.data;
  558. }
  559. });
  560. listFees().then((response) => {
  561. this.fCNameOptions = response.rows;
  562. });
  563. this.getDicts('data_billType').then((response) => {
  564. console.log(response.data)
  565. this.billTypeList = response.data
  566. })
  567. this.getDicts('data_transType').then((response) => {
  568. this.transTypeList = response.data
  569. })
  570. this.getDicts('data_transProp').then((response) => {
  571. this.transPropList = response.data
  572. })
  573. this.getDicts('data_goodsLossType').then((response) => {
  574. this.goodsLossTypeList = response.data
  575. })
  576. this.getDicts('data_cntrId').then((response) => {
  577. if (response.data) {
  578. response.data.map((e) => (e.noOption = false))
  579. this.cntrIdList = response.data
  580. }
  581. })
  582. this.getDicts('data_priceType').then((response) => {
  583. this.priceTypeList = response.data
  584. })
  585. listCorps().then((response) => {
  586. this.fMblnoOptions = response.rows
  587. })
  588. listGoods().then((response) => {
  589. this.goodsOptions = response.rows
  590. })
  591. listFees().then((response) => {
  592. this.fWbuOptions = response.rows
  593. })
  594. this.userType = Cookies.get('userType')
  595. this.username = Cookies.get('userName')
  596. },
  597. methods: {
  598. deleteRow(index) {
  599. this.feesList.splice(index, 1);
  600. },
  601. init() {
  602. console.log(this.fname.id)
  603. this.showDialog = true
  604. query(this.fname.id).then(data => {
  605. console.log(data)
  606. this.form = data.data.ftmsorderbills
  607. this.feesList = data.data.ftmsorderbillsfees
  608. for (let item in this.feesList){
  609. this.feesList[item].fFeeunitid = this.feesList[item].fFeeunitid + ""
  610. }
  611. })
  612. },
  613. //选中时赋值pid
  614. checkPid(row) {
  615. let arr = this.schedulingList
  616. let arr2 = arr.filter((e) => e.cntrId == row.cntrId)
  617. row['pid'] = arr2[0].id
  618. },
  619. noMorecntrId(e) {
  620. this.cntrIdList.forEach((item) => (item.noOption = false))
  621. let arrIds = e.map((item) => item.cntrId)
  622. this.cntrIdList
  623. .filter((item) => arrIds.indexOf(item.dictValue) > -1)
  624. .forEach((item) => (item.noOption = true))
  625. },
  626. showSure(val) {
  627. let pidList = val.filter((e) => e.pid != null)
  628. let arr1 = pidList
  629. let arr1Ids = arr1.map((item) => item.cntrId)
  630. arr1Ids = [...new Set(arr1Ids)]
  631. let arr2 = this.cntrIdList
  632. this.cntrId2List = arr2.filter(
  633. (item) => arr1Ids.indexOf(item.dictValue) > -1
  634. )
  635. },
  636. // 新增附件上传
  637. addRelevt() {
  638. this.feesList.push({
  639. actId:'1090',
  640. fPid:this.feesList[0].fPid,
  641. fCorpid:'',
  642. fFeeid:'',
  643. fDc:'',
  644. fFeeunitid:"1",
  645. fBillingQty:'',
  646. fUnitprice:'',
  647. fCurrency:'',
  648. fTaxrate:'',
  649. fAmount:'',
  650. fExrate:'',
  651. remarks:''
  652. })
  653. console.log(this.feesList)
  654. },
  655. deleteplansRow(index, rows, row) {
  656. let arr = this.schedulingList
  657. let arr2 = arr.filter((e) => e.cntrId == row.cntrId && e.cntrId != null)
  658. if (arr2.length != 0) {
  659. this.msgSuccess('调度安排已插入此箱型数据,不能删除')
  660. } else {
  661. this.cntrIdList
  662. .filter((item) => item.dictValue == row.cntrId)
  663. .forEach((item) => (item.noOption = false))
  664. rows.splice(index, 1)
  665. }
  666. },
  667. // 上传成功返回数据
  668. showFile(row) {
  669. for (let list in this.relevantAttachments) {
  670. this.$set(this.relevantAttachments[list], 'attachUrl', row.url)
  671. this.$set(this.relevantAttachments[list], 'attachName', row.fileName)
  672. }
  673. },
  674. // 弹出框关闭后触发
  675. handleClose() {
  676. // 子组件调用父组件方法,并传递参数
  677. this.$emit('changeShow', 'false')
  678. this.cntrIdList.forEach((item) => (item.noOption = false))
  679. this.collapses = []
  680. },
  681. /** 提交按钮 */
  682. submitForm() {
  683. console.log(this.feesList)
  684. this.$refs['form'].validate((valid) => {
  685. if (valid) {
  686. }
  687. })
  688. },
  689. //修改
  690. submitFix() {
  691. this.$refs['form'].validate((valid) => {
  692. if (valid) {
  693. }
  694. })
  695. },
  696. //保存
  697. submitSave() {
  698. let formDatae = new window.FormData()
  699. formDatae.append('ftmsorderbillsfees', JSON.stringify(this.feesList))
  700. submit(formDatae).then(data=>{
  701. this.feesList = data.data.ftmsorderbillsfeesList
  702. for (let item in this.feesList){
  703. this.feesList[item].fFeeunitid = this.feesList[item].fFeeunitid + ""
  704. console.log(this.feesList[item])
  705. }
  706. this.$message.success('保存成功');
  707. })
  708. },
  709. //撤回
  710. submitRetreat() {
  711. },
  712. //修改
  713. submitAllowChanges() {
  714. this.disabled = !this.disabled
  715. },
  716. //单条订单调度提交
  717. addscarsRow(row) {
  718. },
  719. delscarsRow(index, rows, row) {
  720. if (row.billStatus != 6 && row.id != null) {
  721. removeFtmsorderbillscars(row).then((response) => {
  722. if (response.code == 200) {
  723. rows.splice(index, 1)
  724. this.msgSuccess('成功删除')
  725. }
  726. })
  727. } else {
  728. rows.splice(index, 1)
  729. }
  730. },
  731. revokescarsRow(index, rows, row) {
  732. },
  733. changescarsRow(row) {
  734. }
  735. },
  736. watch: {
  737. // 监听 addOrUpdateVisible 改变
  738. addOrUpdateVisible(oldVal, newVal) {
  739. this.showDialog = this.addOrUpdateVisible
  740. }
  741. }
  742. }
  743. </script>