detailsPage.vue 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705
  1. <template>
  2. <div>
  3. <div class="customer-head">
  4. <div class="customer-back">
  5. <el-button type="danger" style="border: none;background: none;color: red" icon="el-icon-arrow-left"
  6. @click="backToList(0)">返回列表
  7. </el-button>
  8. <el-button v-if="detailData.id" type="danger" style="border: none;background: none;color: red"
  9. icon="el-icon-arrow-left"
  10. @click="backToList(1)">返回审核列表
  11. </el-button>
  12. </div>
  13. <div class="add-customer-btn">
  14. <el-button class="el-button--small-yh" style="margin-right: 10px" type="primary" size="small"
  15. :disabled="form.status>0"
  16. @click="confirmEdit" v-if="optionForm.disabled === true">编辑
  17. </el-button>
  18. <el-dropdown style="margin-right: 10px">
  19. <el-button type="primary" size="small">
  20. 审核处理<i class="el-icon-arrow-down el-icon--right"></i>
  21. </el-button>
  22. <el-dropdown-menu slot="dropdown">
  23. <el-dropdown-item @click.native="pleaseCheck" :disabled="form.status>0">请核数据</el-dropdown-item>
  24. <el-dropdown-item @click.native="checkScheduleDialog = true,checkId = form.id">审核进度</el-dropdown-item>
  25. <el-dropdown-item @click.native="repealCancel" :disabled="form.status === 0 || !form.status"
  26. v-if="!detailData.id">撤销请核
  27. </el-dropdown-item>
  28. <!-- <el-dropdown-item @click.native="changeApproveOpen">特殊审批</el-dropdown-item>-->
  29. </el-dropdown-menu>
  30. </el-dropdown>
  31. <el-button class="el-button--small-yh" type="primary" size="small" :disabled="form.status>0"
  32. @click="editCustomer">保存数据
  33. </el-button>
  34. </div>
  35. </div>
  36. <trade-card title="基础资料" style="margin-top: 50px">
  37. <avue-form :option="optionForm" v-model="form" ref="form">
  38. <template slot="companyId" slot-scope="scope">
  39. <crop-select v-model="form.companyId" @getCorpData="(row)=>{getGSData(row,['form','company'])}"
  40. :disabled="scope.disabled"
  41. corpType="GS"/>
  42. </template>
  43. <template slot="addressId" slot-scope="scope">
  44. <port-info :disabled="scope.disabled" v-model="form.addressId" type="id"
  45. @balabalaTow="(val)=>{balabala(val,['form','address'])}"/>
  46. </template>
  47. <template slot="shippingCompany" slot-scope="scope">
  48. <crop-select v-model="form.shippingCompanyId"
  49. @getCorpData="(row)=>{getGSData(row,['form','shippingCompany'])}" :disabled="scope.disabled"
  50. corpType="GS"/>
  51. </template>
  52. <template slot="departureHarbor" slot-scope="scope">
  53. <port-info :disabled="scope.disabled" v-model="form.departureHarborId" type="id"
  54. @balabalaTow="(val)=>{balabala(val,['form','departureHarbor'])}"/>
  55. </template>
  56. <template slot="objectiveHarbor" slot-scope="scope">
  57. <port-info :disabled="scope.disabled" v-model="form.objectiveHarborId" type="id"
  58. @balabalaTow="(val)=>{balabala(val,['form','objectiveHarbor'])}"/>
  59. </template>
  60. </avue-form>
  61. </trade-card>
  62. <trade-card title="箱信息">
  63. <avue-crud
  64. :option="option"
  65. :data="dataList"
  66. v-model="formTwo"
  67. ref="crud"
  68. :key="key"
  69. :upload-delete="uploadDelete"
  70. @row-save="rowSave"
  71. @row-update="rowUpdate"
  72. @selection-change="selectionChange"
  73. @resetColumn="resetColumnTwo('crud','option','optionBack',243.1)"
  74. @saveColumn="saveColumnTwo('crud','option','optionBack',243.1)">
  75. <template slot-scope="{type,size,row,index,disabled}" slot="menu">
  76. <el-button icon="el-icon-edit" :size="size" :disabled="disabled" :type="type"
  77. @click="$refs.crud.rowEdit(row,index)">编辑
  78. </el-button>
  79. <el-button icon="el-icon-delete" :size="size" :disabled="disabled" :type="type"
  80. @click="rowDel(row,index,'MX')">删除
  81. </el-button>
  82. </template>
  83. <template slot="addressForm" slot-scope="scope">
  84. <port-info v-model="formTwo.addressId" type="id" :disabled="scope.disabled"
  85. @balabalaTow="(val)=>{balabala(val,['formTwo','address'])}"/>
  86. </template>
  87. <!-- <template slot="boxMakingCompanyIdForm" slot-scope="scope">-->
  88. <!-- <crop-select v-model="formTwo.boxMakingCompanyId" :disabled="scope.disabled" :refresh="false"-->
  89. <!-- @getCorpData="(row)=>{getGSData(row,['formTwo','boxMakingCompany'])}" corpType="GS"/>-->
  90. <!-- </template>-->
  91. </avue-crud>
  92. </trade-card>
  93. <!-- 费用信息组件-->
  94. <box-cost v-model="dataListTwo" :codeValue="243.2" :tabShow="3" activeName="second" ref="boxCost"
  95. url="/api/blade-box-tube/files/remove" @resetTrigger="resetTrigger"></box-cost>
  96. <trade-card title="附件明细">
  97. <c-upload
  98. basic
  99. :data="tradingBoxFilesList"
  100. :disabled="disabled"
  101. deleteUrl="/api/blade-box-tube/transportFiles/remove"
  102. :enumerationValue="243.3"
  103. display
  104. />
  105. </trade-card>
  106. <el-dialog
  107. append-to-body
  108. title="审批进度"
  109. class="el-dialogDeep"
  110. :visible.sync="checkScheduleDialog"
  111. width="40%"
  112. :close-on-click-modal="false"
  113. :destroy-on-close="true"
  114. :close-on-press-escape="false"
  115. v-dialog-drag
  116. >
  117. <check-schedule
  118. :checkId="checkId"
  119. :batchNo="batchNo"
  120. @choceScheduleFun="choceScheduleFun"
  121. ></check-schedule>
  122. </el-dialog>
  123. </div>
  124. </template>
  125. <script>
  126. import {
  127. detail,
  128. submit,
  129. tradingBoxItem,
  130. tradingBoxFees,
  131. pleaseCheck,
  132. repealCancel,
  133. tradingBoxFiles
  134. } from "@/api/boxManagement/boxRepair/index.js";
  135. import checkSchedule from "@/components/check/checkSchedule";
  136. import {selectByName} from "@/api/boxManagement";
  137. export default {
  138. name: "detailsPage",
  139. props: {
  140. onLoad: Object,
  141. detailData: Object
  142. },
  143. components: {checkSchedule},
  144. data() {
  145. return {
  146. key: 0,
  147. checkScheduleDialog: false,
  148. checkId: '',
  149. batchNo: '',
  150. breakConfiguration: {
  151. multipleChoices: false,
  152. multiple: false,
  153. disabled: false,
  154. searchShow: true,
  155. collapseTags: false,
  156. clearable: true,
  157. placeholder: "请点击右边按钮选择",
  158. dicData: []
  159. },
  160. form: {},
  161. formTwo: {},
  162. formSearch: {},
  163. optionForm: {
  164. menuBtn: false,
  165. span: 6,
  166. column: [{
  167. label: '系统号',
  168. prop: 'sysNo',
  169. disabled: true
  170. }, {
  171. label: '客户',
  172. prop: 'companyId',
  173. width: 100,
  174. search: true,
  175. overHidden: true,
  176. rules: [{
  177. required: true,
  178. message: " ",
  179. trigger: "blur"
  180. }]
  181. }, {
  182. label: '地点',
  183. prop: 'addressId'
  184. }, {
  185. label: '业务日期',
  186. prop: 'newDate',
  187. type: "date",
  188. searchRange: true,
  189. searchDefaultTime: ["00:00:00", "23:59:59"],
  190. format: "yyyy-MM-dd",
  191. valueFormat: "yyyy-MM-dd HH:mm:ss"
  192. }, {
  193. label: '备注',
  194. prop: 'remarks',
  195. type: 'textarea',
  196. minRows: 3,
  197. span: 24,
  198. }]
  199. },
  200. option: {},
  201. optionBack: {
  202. align: 'center',
  203. index: true,
  204. selection: false,
  205. addBtnText: "录入明细",
  206. refreshBtn: false,
  207. addBtn: true,
  208. span: 8,
  209. addRowBtn: false,
  210. cellBtn: false,
  211. editBtn: false,
  212. delBtn: false,
  213. menuWidth: 200,
  214. dialogTop: 25,
  215. dialogWidth: "80%",
  216. column: [{
  217. label: '箱号',
  218. prop: 'code',
  219. overHidden: true,
  220. remote: true,
  221. filterable: true,
  222. type: "select",
  223. dicUrl: "/api/blade-box-tube/archives/selectArchivesList?size=10&current=1&code={{key}}",
  224. props: {
  225. label: "code",
  226. value: "code"
  227. },
  228. rules: [{
  229. required: true,
  230. message: " ",
  231. trigger: "blur"
  232. }]
  233. }, {
  234. label: '位置',
  235. prop: 'position',
  236. overHidden: true,
  237. rules: [{
  238. required: true,
  239. message: " ",
  240. trigger: "blur"
  241. }]
  242. }, {
  243. label: '照片',
  244. prop: 'itemFilesList',
  245. overHidden: true,
  246. type: 'upload',
  247. span: 24,
  248. listType: 'picture-card',
  249. tip: '只能上传jpg/png文件,且不超过500kb',
  250. propsHttp: {
  251. url: 'link',
  252. name: 'originalName',
  253. res: 'data'
  254. },
  255. action: '/api/blade-resource/oss/endpoint/put-file'
  256. }, {
  257. label: '备注',
  258. prop: 'remarks',
  259. overHidden: true,
  260. type: 'textarea',
  261. minRows: 3,
  262. span: 24,
  263. width: 200
  264. }]
  265. },
  266. dataList: [],
  267. dataListTwo: [],
  268. tradingBoxFilesList: [],
  269. selectionList: [],
  270. disabled: false,
  271. costData: {}
  272. }
  273. },
  274. async created() {
  275. this.option = await this.getColumnData(this.getColumnName(243.1), this.optionBack);
  276. this.option.selectable = (row, index) => {
  277. return row.id;
  278. }
  279. selectByName("租金").then(res => {
  280. this.costData = res.data.data
  281. })
  282. if (this.onLoad.id && this.detailData.id) {
  283. this.refresh(this.onLoad.id, true)
  284. } else if (this.onLoad.id) {
  285. this.refresh(this.onLoad.id, true)
  286. }
  287. this.key++
  288. },
  289. methods: {
  290. confirmEdit() {
  291. if (this.form.status > 0) {
  292. //基础资料
  293. this.$set(this.optionForm, "disabled", true)
  294. //箱信息
  295. this.$set(this.option, "disabled", true)
  296. this.$set(this.option, "addBtn", false)
  297. this.$set(this.option, "menu", false)
  298. //费用信息
  299. this.$set(this.$refs.boxCost.option, "disabled", true)
  300. this.$set(this.$refs.boxCost.option, "addBtn", false)
  301. this.$set(this.$refs.boxCost.option, "menu", false)
  302. //附件和顶部按钮
  303. this.disabled = true
  304. } else {
  305. //基础资料
  306. this.$set(this.optionForm, "disabled", false)
  307. //箱信息
  308. this.$set(this.option, "disabled", false)
  309. this.$set(this.option, "addBtn", true)
  310. this.$set(this.option, "menu", true)
  311. //费用信息
  312. this.$set(this.$refs.boxCost.option, "disabled", false)
  313. this.$set(this.$refs.boxCost.option, "addBtn", true)
  314. this.$set(this.$refs.boxCost.option, "menu", true)
  315. //附件和顶部按钮
  316. this.disabled = false
  317. }
  318. },
  319. selectionChange(list) {
  320. this.selectionList = list
  321. },
  322. track(row) {
  323. // this.dataTrackList = row
  324. this.formSearch = row
  325. this.boxTrack = true
  326. },
  327. // 明细删除
  328. rowDel(row, index, type) {
  329. this.$confirm("确定将选择数据删除?", {
  330. confirmButtonText: "确定",
  331. cancelButtonText: "取消",
  332. type: "warning"
  333. }).then(() => {
  334. if (row.id) {
  335. tradingBoxItem(row.id).then(res => {
  336. if (res.data.success) {
  337. this.$message.success("操作成功!");
  338. this.dataList.splice(index, 1);
  339. if (this.dataListTwo.length > 0) {
  340. for (let item in this.dataListTwo) {
  341. if (this.dataListTwo[item].code == row.code) {
  342. if (this.dataListTwo[item].autoGenerate == 1) {
  343. if (this.dataListTwo[item].id) {
  344. tradingBoxFees(this.dataListTwo[item].id).then(res => {
  345. if (res.data.success) {
  346. this.dataListTwo.splice(index, 1);
  347. }
  348. });
  349. } else {
  350. this.dataListTwo.splice(Number(item), 1);
  351. }
  352. }
  353. }
  354. }
  355. }
  356. }
  357. });
  358. } else {
  359. this.dataList.splice(index, 1);
  360. this.$message.success("操作成功!");
  361. if (this.dataListTwo.length > 0) {
  362. for (let item in this.dataListTwo) {
  363. if (this.dataListTwo[item].code === row.code) {
  364. if (this.dataListTwo[item].autoGenerate == 1) {
  365. this.dataListTwo.splice(Number(item), 1);
  366. }
  367. }
  368. }
  369. }
  370. }
  371. }
  372. )
  373. ;
  374. },
  375. balabala(val, type) {
  376. if (val === null) {
  377. this[type[0]][type[1]] = ''
  378. } else {
  379. this[type[0]][type[1]] = val.name
  380. }
  381. },
  382. //撤销
  383. repealCancel() {
  384. this.$confirm("您确定撤回此次申请吗?", {
  385. confirmButtonText: "确定",
  386. cancelButtonText: "取消",
  387. type: "warning"
  388. }).then(() => {
  389. const data = {
  390. id: this.form.id,
  391. pageLabel: "出库装运",
  392. checkFlag: 1,
  393. }
  394. const loading = this.$loading({
  395. lock: true,
  396. text: '加载中',
  397. spinner: 'el-icon-loading',
  398. background: 'rgba(255,255,255,0.7)'
  399. });
  400. repealCancel(data).then(res => {
  401. loading.close();
  402. this.$message.success('撤回成功')
  403. this.refresh(this.form.id)
  404. })
  405. })
  406. },
  407. // 请核
  408. pleaseCheck() {
  409. if (this.dataList.length === 0) {
  410. return this.$message.error("箱信息不能为空")
  411. }
  412. if (this.$refs.boxCost.dataList.length === 0) {
  413. return this.$message.error("费用信息不能为空")
  414. }else {
  415. for (let item of this.$refs.boxCost.dataList){
  416. if (!item.id){
  417. return this.$message.error("费用信息未保存")
  418. }
  419. }
  420. }
  421. this.$confirm("您确定提交请核申请吗?", {
  422. confirmButtonText: "确定",
  423. cancelButtonText: "取消",
  424. type: "warning"
  425. }).then(() => {
  426. this.$refs["form"].validate((valid, done) => {
  427. done()
  428. if (valid) {
  429. let data = {
  430. ...this.form,
  431. repairItemList: this.dataList,
  432. repairFeesList: this.dataListTwo,
  433. filesList: this.tradingBoxFilesList,
  434. billType: "WASH",
  435. checkFlag: 2
  436. }
  437. const loading = this.$loading({
  438. lock: true,
  439. text: '加载中',
  440. spinner: 'el-icon-loading',
  441. background: 'rgba(255,255,255,0.7)'
  442. });
  443. submit(data).then(res => {
  444. const data = {
  445. id: res.data.data.id,
  446. url: '/boxManagement/exportShipment/index',
  447. pageStatus: "this.$store.getters.domSaleStatus",
  448. pageLabel: "出口装运",
  449. checkFlag: 1,
  450. }
  451. pleaseCheck({
  452. ...data,
  453. billType: "WASH"
  454. }).then(rest => {
  455. loading.close();
  456. this.$message.success('请核成功')
  457. this.refresh(res.data.data.id)
  458. }).catch(() => {
  459. loading.close();
  460. })
  461. }).catch(() => {
  462. loading.close();
  463. })
  464. }
  465. });
  466. })
  467. },
  468. //审核关闭
  469. choceScheduleFun() {
  470. this.checkScheduleDialog = false
  471. },
  472. refresh(id, type) {
  473. const loading = this.$loading({
  474. lock: true,
  475. text: '加载中',
  476. spinner: 'el-icon-loading',
  477. background: 'rgba(255,255,255,0.7)'
  478. });
  479. detail({id: id}).then(res => {
  480. this.form = res.data.data
  481. this.dataList = res.data.data.repairItemList
  482. this.dataListTwo = res.data.data.repairFeesList
  483. this.tradingBoxFilesList = res.data.data.filesList
  484. delete this.form.repairItemList
  485. delete this.form.repairFeesList
  486. delete this.form.filesList
  487. loading.close();
  488. if (type) {
  489. //基础资料
  490. this.$set(this.optionForm, "disabled", true)
  491. //箱信息
  492. this.$set(this.option, "disabled", true)
  493. this.$set(this.option, "addBtn", false)
  494. this.$set(this.option, "menu", false)
  495. //费用信息
  496. this.$set(this.$refs.boxCost.option, "disabled", true)
  497. this.$set(this.$refs.boxCost.option, "addBtn", false)
  498. this.$set(this.$refs.boxCost.option, "menu", false)
  499. //附件和顶部按钮
  500. this.disabled = true
  501. } else {
  502. if (this.form.status > 0) {
  503. //基础资料
  504. this.$set(this.optionForm, "disabled", true)
  505. //箱信息
  506. this.$set(this.option, "disabled", true)
  507. this.$set(this.option, "addBtn", false)
  508. this.$set(this.option, "menu", false)
  509. //费用信息
  510. this.$set(this.$refs.boxCost.option, "disabled", true)
  511. this.$set(this.$refs.boxCost.option, "addBtn", false)
  512. this.$set(this.$refs.boxCost.option, "menu", false)
  513. //附件和顶部按钮
  514. this.disabled = true
  515. } else {
  516. //基础资料
  517. this.$set(this.optionForm, "disabled", false)
  518. //箱信息
  519. this.$set(this.option, "disabled", false)
  520. this.$set(this.option, "addBtn", true)
  521. this.$set(this.option, "menu", true)
  522. //费用信息
  523. this.$set(this.$refs.boxCost.option, "disabled", false)
  524. this.$set(this.$refs.boxCost.option, "addBtn", true)
  525. this.$set(this.$refs.boxCost.option, "menu", true)
  526. //附件和顶部按钮
  527. this.disabled = false
  528. }
  529. }
  530. })
  531. },
  532. //新增修改
  533. editCustomer() {
  534. this.$refs["form"].validate((valid, done) => {
  535. done()
  536. if (valid) {
  537. let data = {
  538. ...this.form,
  539. repairItemList: this.dataList,
  540. repairFeesList: this.dataListTwo,
  541. filesList: this.tradingBoxFilesList,
  542. billType: "WASH"
  543. }
  544. const loading = this.$loading({
  545. lock: true,
  546. text: '加载中',
  547. spinner: 'el-icon-loading',
  548. background: 'rgba(255,255,255,0.7)'
  549. });
  550. submit(data).then(res => {
  551. if (this.form.id) {
  552. this.$message.success("修改成功")
  553. } else {
  554. this.$message.success("新增成功")
  555. }
  556. loading.close();
  557. this.refresh(res.data.data.id)
  558. }).catch(() => {
  559. loading.close();
  560. })
  561. }
  562. });
  563. },
  564. //删除图片
  565. uploadDelete(file, column) {
  566. return new Promise((resolve, reject) => {
  567. this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
  568. confirmButtonText: '确定',
  569. cancelButtonText: '取消',
  570. type: 'warning'
  571. }).then(() => {
  572. if (this.formTwo.itemFilesList[file.uid].id) {
  573. tradingBoxFiles(this.formTwo.itemFilesList[file.uid].id).then(res => {
  574. this.$message({
  575. type: 'success',
  576. message: '删除成功!'
  577. });
  578. resolve();
  579. })
  580. } else {
  581. resolve()
  582. }
  583. }).catch(()=>{
  584. reject();
  585. this.$message({
  586. type: "info",
  587. message: "已取消删除"
  588. });
  589. })
  590. })
  591. },
  592. rowSave(form, done, loading) {
  593. let result = this.dataList.some((item) => {
  594. if (item.code == form.code) {
  595. return true
  596. }
  597. })
  598. if (result === true) {
  599. this.$message.error("已存在此箱号");
  600. return loading();
  601. }
  602. done(form)
  603. },
  604. rowUpdate(form, index, done, loading) {
  605. form.boxType = form.$boxTypeId
  606. done(form)
  607. },
  608. getGSData(row, type) {
  609. this[type[0]][type[1]] = row.cname
  610. },
  611. backToList(type) {
  612. if (type == 0) {
  613. if (this.detailData.id) {
  614. this.$router.push({
  615. path: '/boxManagement/exportShipment/index'
  616. });
  617. }
  618. this.$emit("backToList", type);
  619. } else if (type == 1) {
  620. this.$router.push({
  621. path: '/approveData/index'
  622. });
  623. this.$emit("backToList", type);
  624. }
  625. },
  626. //自定义列保存
  627. async saveColumnTwo(ref, option, optionBack, code) {
  628. /**
  629. * 已定义全局方法,直接使用,saveColumnData保存列数据方法,参数传值(表格名称,当前表格的option数据)
  630. * 已定义全局方法,直接使用,getColumnName方法用来获取枚举值,参数根据自己定义的code值获取中文名
  631. * 一定要执行异步操作,要等接口成功返回,才能执行下一行代码
  632. */
  633. const inSave = await this.saveColumnData(this.getColumnName(code), this[option]);
  634. if (inSave) {
  635. this.$message.success("保存成功");
  636. //关闭窗口
  637. this.$refs[ref].$refs.dialogColumn.columnBox = false;
  638. }
  639. },
  640. resetTrigger() {
  641. if (this.optionForm.disabled == true) {
  642. if (this.form.status > 0) {
  643. //基础资料
  644. this.$set(this.optionForm, "disabled", true)
  645. //箱信息
  646. this.$set(this.option, "disabled", true)
  647. this.$set(this.option, "addBtn", false)
  648. this.$set(this.option, "menu", false)
  649. //费用信息
  650. this.$set(this.$refs.boxCost.option, "disabled", true)
  651. this.$set(this.$refs.boxCost.option, "addBtn", false)
  652. this.$set(this.$refs.boxCost.option, "menu", false)
  653. //附件和顶部按钮
  654. this.disabled = true
  655. } else {
  656. //基础资料
  657. this.$set(this.optionForm, "disabled", false)
  658. //箱信息
  659. this.$set(this.option, "disabled", false)
  660. this.$set(this.option, "addBtn", true)
  661. this.$set(this.option, "menu", true)
  662. //费用信息
  663. this.$set(this.$refs.boxCost.option, "disabled", false)
  664. this.$set(this.$refs.boxCost.option, "addBtn", true)
  665. this.$set(this.$refs.boxCost.option, "menu", true)
  666. //附件和顶部按钮
  667. this.disabled = false
  668. }
  669. } else {
  670. //基础资料
  671. this.$set(this.optionForm, "disabled", false)
  672. //箱信息
  673. this.$set(this.option, "disabled", false)
  674. this.$set(this.option, "addBtn", true)
  675. this.$set(this.option, "menu", true)
  676. //费用信息
  677. this.$set(this.$refs.boxCost.option, "disabled", false)
  678. this.$set(this.$refs.boxCost.option, "addBtn", true)
  679. this.$set(this.$refs.boxCost.option, "menu", true)
  680. //附件和顶部按钮
  681. this.disabled = false
  682. }
  683. },
  684. //自定义列重置
  685. async resetColumnTwo(ref, option, optionBack, code) {
  686. this[option] = this[optionBack];
  687. const inSave = await this.delColumnData(this.getColumnName(code), this[optionBack]);
  688. if (inSave) {
  689. this.resetTrigger()
  690. this.$message.success("重置成功");
  691. this.$refs[ref].$refs.dialogColumn.columnBox = false;
  692. }
  693. }
  694. }
  695. }
  696. </script>
  697. <style scoped>
  698. ::v-deep .el-form-item {
  699. margin-bottom: 8px;
  700. }
  701. </style>