index.vue 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854
  1. <template>
  2. <div class="app-container">
  3. <el-form
  4. :model="queryParams"
  5. ref="queryForm"
  6. :inline="true"
  7. v-show="showSearch"
  8. label-width="68px"
  9. >
  10. <el-form-item label-width="100px" label="客户名称" prop="corpId">
  11. <el-select
  12. v-model="queryParams.corpId"
  13. placeholder="请输入客户名称"
  14. clearable
  15. size="small"
  16. filterable
  17. >
  18. <el-option
  19. v-for="(dict, index) in fMblnoOptions"
  20. :key="index.fId"
  21. :label="dict.fName"
  22. :value="dict.fId"
  23. />
  24. </el-select>
  25. </el-form-item>
  26. <el-form-item label-width="100px" label="业务类型" prop="billType">
  27. <el-select
  28. v-model="queryParams.billType"
  29. placeholder="请选择业务类型"
  30. clearable
  31. size="small"
  32. >
  33. <el-option
  34. v-for="(dict, index) in billTypeList"
  35. :key="index.dictValue"
  36. :label="dict.dictLabel"
  37. :value="dict.dictValue"
  38. />
  39. </el-select>
  40. </el-form-item>
  41. <el-form-item label-width="100px" label="运输方式" prop="transType">
  42. <el-select
  43. v-model="queryParams.transType"
  44. placeholder="请选择运输方式"
  45. clearable
  46. size="small"
  47. >
  48. <el-option
  49. v-for="(dict, index) in transTypeList"
  50. :key="index.dictValue"
  51. :label="dict.dictLabel"
  52. :value="dict.dictValue"
  53. />
  54. </el-select>
  55. </el-form-item>
  56. <el-form-item label-width="100px" label="运输性质" prop="transProp">
  57. <el-select
  58. v-model="queryParams.transProp"
  59. placeholder="请选择运输性质"
  60. clearable
  61. size="small"
  62. >
  63. <el-option
  64. v-for="(dict, index) in transPropList"
  65. :key="index.dictValue"
  66. :label="dict.dictLabel"
  67. :value="dict.dictValue"
  68. />
  69. </el-select>
  70. </el-form-item>
  71. <el-form-item label-width="100px" label="提单号" prop="mblno">
  72. <el-input
  73. v-model="queryParams.mblno"
  74. placeholder="请输入提单号"
  75. clearable
  76. size="small"
  77. @keyup.enter.native="handleQuery"
  78. />
  79. </el-form-item>
  80. <el-form-item label-width="100px" label="货品名称" prop="goodsId">
  81. <el-select
  82. v-model="queryParams.goodsId"
  83. placeholder="请输入货品名称"
  84. clearable
  85. size="small"
  86. filterable
  87. >
  88. <el-option
  89. v-for="(dict, index) in goodsOptions"
  90. :key="index.fId"
  91. :label="dict.fName"
  92. :value="dict.fId"
  93. />
  94. </el-select>
  95. </el-form-item>
  96. <el-form-item label-width="100px" label="装车地点" prop="loadAddr">
  97. <el-input
  98. v-model="queryParams.loadAddr"
  99. placeholder="请输入装车地点"
  100. clearable
  101. size="small"
  102. @keyup.enter.native="handleQuery"
  103. />
  104. </el-form-item>
  105. <el-form-item label-width="100px" label="装卸货地点" prop="mdLoadAddr">
  106. <el-input
  107. v-model="queryParams.mdLoadAddr"
  108. placeholder="请输入装卸货地点"
  109. clearable
  110. size="small"
  111. @keyup.enter.native="handleQuery"
  112. />
  113. </el-form-item>
  114. <el-form-item label-width="100px" label="卸车地点" prop="unLoadAddr">
  115. <el-input
  116. v-model="queryParams.unLoadAddr"
  117. placeholder="请输入卸车地点"
  118. clearable
  119. size="small"
  120. @keyup.enter.native="handleQuery"
  121. />
  122. </el-form-item>
  123. <el-form-item>
  124. <el-button
  125. type="cyan"
  126. icon="el-icon-search"
  127. size="mini"
  128. @click="handleQuery"
  129. style="margin-left: 30px"
  130. >搜索</el-button
  131. >
  132. <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
  133. >重置</el-button
  134. >
  135. </el-form-item>
  136. </el-form>
  137. <el-row :gutter="10" class="mb8">
  138. <!-- <el-col :span="1.5">
  139. <el-button
  140. type="primary"
  141. icon="el-icon-plus"
  142. size="mini"
  143. @click="handleAdd"
  144. v-hasPermi="['fleet:plans:add']"
  145. >新增</el-button
  146. >
  147. </el-col> -->
  148. <el-col :span="1.5">
  149. <el-button
  150. type="success"
  151. icon="el-icon-edit"
  152. size="mini"
  153. :disabled="single"
  154. @click="handleUpdate"
  155. v-hasPermi="['fleet:plans:edit']"
  156. >修改</el-button
  157. >
  158. </el-col>
  159. <el-col :span="1.5">
  160. <el-button
  161. type="danger"
  162. icon="el-icon-delete"
  163. size="mini"
  164. :disabled="multiple"
  165. @click="handleDelete"
  166. v-hasPermi="['fleet:plans:remove']"
  167. >删除</el-button
  168. >
  169. </el-col>
  170. <el-col :span="1.5">
  171. <el-button
  172. type="warning"
  173. icon="el-icon-download"
  174. size="mini"
  175. @click="handleExport"
  176. v-hasPermi="['fleet:plans:export']"
  177. >导出</el-button
  178. >
  179. </el-col>
  180. <div class="tabSetting">
  181. <right-toolbar
  182. :showSearch.sync="showSearch"
  183. @queryTable="getList"
  184. ></right-toolbar>
  185. <div style="margin: 0 12px">
  186. <el-button
  187. icon="el-icon-setting"
  188. size="mini"
  189. circle
  190. @click="showSetting = !showSetting"
  191. ></el-button>
  192. </div>
  193. </div>
  194. </el-row>
  195. <el-dialog title="提示" :visible.sync="showSetting" width="700px">
  196. <div>配置排序列数据(拖动调整顺序)</div>
  197. <div style="margin-left: 17px">
  198. <el-checkbox
  199. v-model="allCheck"
  200. label="全选"
  201. @change="allChecked"
  202. ></el-checkbox>
  203. </div>
  204. <div style="padding: 4px; display: flex; justify-content: center">
  205. <draggable
  206. v-model="setRowList"
  207. group="site"
  208. animation="300"
  209. @start="onStart"
  210. @end="onEnd"
  211. handle=".indraggable"
  212. >
  213. <transition-group>
  214. <div
  215. v-for="item in setRowList"
  216. :key="item.surface"
  217. class="listStyle"
  218. >
  219. <div style="width: 500px" class="indraggable">
  220. <div class="progress" :style="{ width: item.width + 'px' }">
  221. <el-checkbox
  222. :label="item.name"
  223. v-model="item.checked"
  224. :true-label="0"
  225. :false-label="1"
  226. >{{ item.name }}
  227. </el-checkbox>
  228. </div>
  229. </div>
  230. <el-input-number
  231. v-model.number="item.width"
  232. controls-position="right"
  233. :min="1"
  234. :max="500"
  235. size="mini"
  236. ></el-input-number>
  237. </div>
  238. </transition-group>
  239. </draggable>
  240. </div>
  241. <span slot="footer" class="dialog-footer">
  242. <el-button @click="showSetting = false">取 消</el-button>
  243. <el-button type="primary" @click="save()">确 定</el-button>
  244. </span>
  245. </el-dialog>
  246. <el-table
  247. v-loading="loading"
  248. :data="ftmsorderbillsList"
  249. @selection-change="handleSelectionChange"
  250. >
  251. <el-table-column type="selection" width="55" align="center" />
  252. <el-table-column
  253. v-for="(item, index) in getRowList"
  254. :key="index"
  255. :label="item.name"
  256. :width="item.width"
  257. :prop="item.label"
  258. align="center"
  259. :show-overflow-tooltip="true"
  260. >
  261. </el-table-column>
  262. <el-table-column
  263. label="操作"
  264. align="center"
  265. class-name="small-padding fixed-width"
  266. fixed="right"
  267. width="150px"
  268. >
  269. <template slot-scope="scope">
  270. <el-button
  271. size="mini"
  272. type="text"
  273. icon="el-icon-edit"
  274. @click="handleUpdate(scope.row)"
  275. >查看</el-button
  276. >
  277. <!-- <el-button
  278. v-if="scope.row.billStatus != 6"
  279. size="mini"
  280. type="text"
  281. icon="el-icon-edit"
  282. @click="handleUpdate(scope.row)"
  283. v-hasPermi="['fleet:plans:edit']"
  284. >修改</el-button
  285. > -->
  286. <el-button
  287. size="mini"
  288. type="text"
  289. icon="el-icon-delete"
  290. @click="handleDelete(scope.row)"
  291. v-hasPermi="['fleet:plans:remove']"
  292. >删除</el-button
  293. >
  294. </template>
  295. </el-table-column>
  296. </el-table>
  297. <pagination
  298. v-show="total > 0"
  299. :total="total"
  300. :page.sync="queryParams.pageNum"
  301. :limit.sync="queryParams.pageSize"
  302. @pagination="getList"
  303. />
  304. <!-- 新增编辑弹框子组件 -->
  305. <add-or-update
  306. v-if="addOrUpdateVisible"
  307. :title="title"
  308. :fname="form"
  309. ref="addOrUpdateRef"
  310. ></add-or-update>
  311. </div>
  312. </template>
  313. <script>
  314. import AddOrUpdate from "./AddOrUpdate";
  315. import {
  316. getFtmsorderbills,
  317. delFtmsorderbills,
  318. exportFtmsorderbills,
  319. } from "@/api/fleet/ftmsorderbills";
  320. import { listFtmsorderbillsplans } from "@/api/track/singleCost";
  321. import { listGoods } from "@/api/basicdata/goods";
  322. import { listCorps } from "@/api/basicdata/corps";
  323. import { addSet, select } from "@/api/system/set";
  324. import Cookies from "js-cookie";
  325. import draggable from "vuedraggable";
  326. export default {
  327. name: "plans",
  328. data() {
  329. return {
  330. // 控制新增编辑弹窗的显示与隐藏
  331. addOrUpdateVisible: false,
  332. // 非单个禁用
  333. single: true,
  334. // 非多个禁用
  335. multiple: true,
  336. // 显示搜索条件
  337. showSearch: true,
  338. // 订单主表格数据
  339. ftmsorderbillsList: [],
  340. // 总条数
  341. total: 0,
  342. // 查询参数
  343. queryParams: {
  344. pageNum: 1,
  345. pageSize: 10,
  346. corpId: null,
  347. billType: null,
  348. transType: null,
  349. transProp: null,
  350. goodsId: null,
  351. mblno: null,
  352. loadAddr: null,
  353. mdLoadAddr: null,
  354. unLoadAddr: null,
  355. },
  356. showSetting: false,
  357. drag: false,
  358. setRowList: [
  359. {
  360. surface: "1",
  361. label: "mdLoadDate",
  362. name: "装卸日期",
  363. checked: 0,
  364. width: 100,
  365. },
  366. {
  367. surface: "1",
  368. label: "billType",
  369. name: "贸易方式",
  370. checked: 0,
  371. width: 100,
  372. },
  373. {
  374. surface: "1",
  375. label: "transType",
  376. name: "运输方式",
  377. checked: 0,
  378. width: 100,
  379. },
  380. {
  381. surface: "1",
  382. label: "corpId",
  383. name: "托运人",
  384. checked: 0,
  385. width: 100,
  386. },
  387. {
  388. surface: "1",
  389. label: "ysl",
  390. name: "船名",
  391. checked: 0,
  392. width: 100,
  393. },
  394. {
  395. surface: "1",
  396. label: "voy",
  397. name: "航次",
  398. checked: 0,
  399. width: 100,
  400. },
  401. {
  402. surface: "1",
  403. label: "mblno",
  404. name: "运单号",
  405. checked: 0,
  406. width: 100,
  407. },
  408. {
  409. surface: "1",
  410. label: "cntrQty",
  411. name: "柜量",
  412. checked: 0,
  413. width: 100,
  414. },
  415. {
  416. surface: "1",
  417. label: "cntrId",
  418. name: "柜型",
  419. checked: 0,
  420. width: 100,
  421. },
  422. {
  423. surface: "1",
  424. label: "goodsId",
  425. name: "品名",
  426. checked: 0,
  427. width: 100,
  428. },
  429. {
  430. surface: "1",
  431. label: "cntrWeight",
  432. name: "重量",
  433. checked: 0,
  434. width: 100,
  435. },
  436. {
  437. surface: "1",
  438. label: "polId",
  439. name: "起运港",
  440. checked: 0,
  441. width: 100,
  442. },
  443. {
  444. surface: "1",
  445. label: "podId",
  446. name: "目的港",
  447. checked: 0,
  448. width: 100,
  449. },
  450. {
  451. surface: "1",
  452. label: "loadAddr",
  453. name: "提箱场站",
  454. checked: 0,
  455. width: 100,
  456. },
  457. {
  458. surface: "1",
  459. label: "mdLoadAddr",
  460. name: "装货地",
  461. checked: 0,
  462. width: 100,
  463. },
  464. {
  465. surface: "1",
  466. label: "unLoadAddr",
  467. name: "卸货地",
  468. checked: 0,
  469. width: 100,
  470. }
  471. ],
  472. getRowList: [
  473. {
  474. surface: "1",
  475. label: "mdLoadDate",
  476. name: "装卸日期",
  477. checked: 0,
  478. width: 100,
  479. },
  480. {
  481. surface: "1",
  482. label: "billType",
  483. name: "贸易方式",
  484. checked: 0,
  485. width: 100,
  486. },
  487. {
  488. surface: "1",
  489. label: "transType",
  490. name: "运输方式",
  491. checked: 0,
  492. width: 100,
  493. },
  494. {
  495. surface: "1",
  496. label: "corpId",
  497. name: "托运人",
  498. checked: 0,
  499. width: 100,
  500. },
  501. {
  502. surface: "1",
  503. label: "ysl",
  504. name: "船名",
  505. checked: 0,
  506. width: 100,
  507. },
  508. {
  509. surface: "1",
  510. label: "voy",
  511. name: "航次",
  512. checked: 0,
  513. width: 100,
  514. },
  515. {
  516. surface: "1",
  517. label: "mblno",
  518. name: "运单号",
  519. checked: 0,
  520. width: 100,
  521. },
  522. {
  523. surface: "1",
  524. label: "cntrQty",
  525. name: "柜量",
  526. checked: 0,
  527. width: 100,
  528. },
  529. {
  530. surface: "1",
  531. label: "cntrId",
  532. name: "柜型",
  533. checked: 0,
  534. width: 100,
  535. },
  536. {
  537. surface: "1",
  538. label: "goodsId",
  539. name: "品名",
  540. checked: 0,
  541. width: 100,
  542. },
  543. {
  544. surface: "1",
  545. label: "cntrWeight",
  546. name: "重量",
  547. checked: 0,
  548. width: 100,
  549. },
  550. {
  551. surface: "1",
  552. label: "polId",
  553. name: "起运港",
  554. checked: 0,
  555. width: 100,
  556. },
  557. {
  558. surface: "1",
  559. label: "podId",
  560. name: "目的港",
  561. checked: 0,
  562. width: 100,
  563. },
  564. {
  565. surface: "1",
  566. label: "loadAddr",
  567. name: "提箱场站",
  568. checked: 0,
  569. width: 100,
  570. },
  571. {
  572. surface: "1",
  573. label: "mdLoadAddr",
  574. name: "装货地",
  575. checked: 0,
  576. width: 100,
  577. },
  578. {
  579. surface: "1",
  580. label: "unLoadAddr",
  581. name: "卸货地",
  582. checked: 0,
  583. width: 100,
  584. }
  585. ],
  586. allCheck: false,
  587. title: "",
  588. form: {},
  589. goodsOptions: [],
  590. fMblnoOptions: [],
  591. transPropList: [],
  592. transTypeList: [],
  593. billTypeList: [],
  594. };
  595. },
  596. // 使用子组件
  597. components: {
  598. AddOrUpdate,
  599. draggable,
  600. },
  601. created() {
  602. this.getList();
  603. this.getDicts("data_billType").then((response) => {
  604. this.billTypeList = response.data;
  605. });
  606. this.getDicts("data_transType").then((response) => {
  607. this.transTypeList = response.data;
  608. });
  609. this.getDicts("data_transProp").then((response) => {
  610. this.transPropList = response.data;
  611. });
  612. listGoods().then((response) => {
  613. this.goodsOptions = response.rows;
  614. });
  615. listCorps().then((response) => {
  616. this.fMblnoOptions = response.rows;
  617. });
  618. this.getRow();
  619. },
  620. methods: {
  621. //列设置全选
  622. allChecked() {
  623. if (this.allCheck == true) {
  624. this.setRowList.map((e) => {
  625. return (e.checked = 0);
  626. });
  627. } else {
  628. this.setRowList.map((e) => {
  629. return (e.checked = 1);
  630. });
  631. }
  632. },
  633. //查询列数据
  634. getRow() {
  635. let that = this;
  636. this.data = {
  637. tableName: "单趟费用",
  638. userId: Cookies.get("userName"),
  639. };
  640. select(this.data).then((res) => {
  641. console.log(res);
  642. if (res.data.length != 0) {
  643. this.getRowList = res.data.filter((e) => e.checked == 0);
  644. this.setRowList = res.data;
  645. this.setRowList = this.setRowList.reduce((res, item) => {
  646. res.push({
  647. surface: item.surface,
  648. label: item.label,
  649. name: item.name,
  650. checked: item.checked,
  651. width: item.width,
  652. });
  653. return res;
  654. }, []);
  655. }
  656. });
  657. },
  658. //保存列设置
  659. save() {
  660. this.showSetting = false;
  661. this.data = {
  662. tableName: "单趟费用",
  663. userId: Cookies.get("userName"),
  664. sysTableSetList: this.setRowList,
  665. };
  666. addSet(this.data).then((res) => {
  667. this.getRowList = this.setRowList.filter((e) => e.checked == 0);
  668. });
  669. },
  670. //开始拖拽事件
  671. onStart() {
  672. this.drag = true;
  673. },
  674. //拖拽结束事件
  675. onEnd() {
  676. this.drag = false;
  677. },
  678. /** 查询订单主列表 */
  679. getList() {
  680. this.loading = true;
  681. listFtmsorderbillsplans(this.queryParams).then((response) => {
  682. this.ftmsorderbillsList = response.rows;
  683. this.total = response.total;
  684. this.loading = false;
  685. });
  686. },
  687. /** 新增按钮操作 */
  688. handleAdd() {
  689. this.reset();
  690. this.addOrUpdateVisible = !this.addOrUpdateVisible;
  691. this.title = "添加订单主";
  692. },
  693. // 表单重置
  694. reset() {
  695. this.form = {
  696. id: null,
  697. billNo: null,
  698. actId: null,
  699. corpId: null,
  700. transUserName: null,
  701. planUserName: null,
  702. billType: null,
  703. transType: null,
  704. transProp: null,
  705. ifContracted: null,
  706. contractNo: null,
  707. refNo: null,
  708. accstlType: null,
  709. accdays: null,
  710. goodsId: null,
  711. goodsPrice: null,
  712. goodsLossType: null,
  713. goodsLossStd: null,
  714. mblno: null,
  715. ysl: null,
  716. voy: null,
  717. pol: null,
  718. pod: null,
  719. qtyPlan: null,
  720. qtyDisPatch: null,
  721. weightPlan: null,
  722. cntrDesc: null,
  723. carNoList: null,
  724. loadAddr: null,
  725. loadAttn: null,
  726. loadAttntel: null,
  727. loadDate: null,
  728. mdLoadAddr: null,
  729. mdLoadAttn: null,
  730. mdLoadAttnTel: null,
  731. mdLoadDate: null,
  732. unLoadAddr: null,
  733. unLoadAttn: null,
  734. unLoadAttnTel: null,
  735. unLoadDate: null,
  736. routeId: null,
  737. routeDesc: null,
  738. ifWaybill: null,
  739. ifNeedinvDr: null,
  740. postDate: null,
  741. billStatus: 0,
  742. delFlag: null,
  743. createBy: null,
  744. createTime: null,
  745. updateBy: null,
  746. updateTime: null,
  747. remarks: null,
  748. };
  749. this.resetForm("form");
  750. },
  751. // 多选框选中数据
  752. handleSelectionChange(selection) {
  753. this.ids = selection.map((item) => item.id);
  754. this.single = selection.length !== 1;
  755. this.multiple = !selection.length;
  756. },
  757. /** 修改按钮操作 */
  758. handleUpdate(row) {
  759. let id = row.id;
  760. this.reset();
  761. this.title = "查看订单";
  762. this.addOrUpdateVisible = true;
  763. this.form.id = id;
  764. this.$nextTick(() => {
  765. this.$refs.addOrUpdateRef.init();
  766. });
  767. },
  768. // //获取到保存并复制
  769. // getSave(data) {
  770. // data.data.map((e) => {
  771. // if (e.cntrId != null) {
  772. // return (e.cntrId = e.cntrId.toString());
  773. // }
  774. // });
  775. // this.vehicleList = data.data;
  776. // },
  777. /** 删除按钮操作 */
  778. handleDelete(row) {
  779. const ids = row.id || this.ids;
  780. this.$confirm('是否确认删除订单主编号为"' + ids + '"的数据项?', "警告", {
  781. confirmButtonText: "确定",
  782. cancelButtonText: "取消",
  783. type: "warning",
  784. })
  785. .then(function () {
  786. return delFtmsorderbills(ids);
  787. })
  788. .then(() => {
  789. this.getList();
  790. this.msgSuccess("删除成功");
  791. });
  792. },
  793. /** 导出按钮操作 */
  794. handleExport() {
  795. const queryParams = this.queryParams;
  796. this.$confirm("是否确认导出所有订单主数据项?", "警告", {
  797. confirmButtonText: "确定",
  798. cancelButtonText: "取消",
  799. type: "warning",
  800. })
  801. .then(function () {
  802. return exportFtmsorderbills(queryParams);
  803. })
  804. .then((response) => {
  805. this.download(response.msg);
  806. });
  807. },
  808. /** 搜索按钮操作 */
  809. handleQuery() {
  810. this.queryParams.pageNum = 1;
  811. this.getList();
  812. },
  813. /** 重置按钮操作 */
  814. resetQuery() {
  815. this.resetForm("queryForm");
  816. this.handleQuery();
  817. },
  818. // 监听 子组件弹窗关闭后触发,有子组件调用
  819. showAddOrUpdate(data) {
  820. if (data === "false") {
  821. this.addOrUpdateVisible = false;
  822. this.disabled = false;
  823. } else {
  824. this.addOrUpdateVisible = true;
  825. }
  826. },
  827. },
  828. };
  829. </script>
  830. <style lang="scss" scoped>
  831. .tabSetting {
  832. display: flex;
  833. justify-content: flex-end;
  834. }
  835. .listStyle {
  836. display: flex;
  837. border-top: 1px solid #dcdfe6;
  838. border-left: 1px solid #dcdfe6;
  839. border-right: 1px solid #dcdfe6;
  840. }
  841. .listStyle:last-child {
  842. border-bottom: 1px solid #dcdfe6;
  843. }
  844. .progress {
  845. display: flex;
  846. align-items: center;
  847. padding: 2px;
  848. background-color: rgba(0, 0, 0, 0.05);
  849. height: 100%;
  850. }
  851. </style>