AddOrUpdate.vue 23 KB

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