realSceneList.vue 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806
  1. <template>
  2. <div>
  3. <div class="tabsBox">
  4. <div class="myTabsBox myTabsBoxThreeTabs">
  5. <el-tabs
  6. v-model="activeName"
  7. type="card"
  8. @tab-click="pageControl"
  9. >
  10. <el-tab-pane label="交通事故场景" name="1"></el-tab-pane>
  11. <el-tab-pane label="自然驾驶场景" name="2"></el-tab-pane>
  12. <el-tab-pane label="标准法规场景" name="3"></el-tab-pane>
  13. </el-tabs>
  14. </div>
  15. <div v-show="activeName === '1'">
  16. <search-layout>
  17. <template slot="searchItem1">
  18. <span class="label">场景名称</span>
  19. <el-input
  20. v-model="searchParamsA.sceneName"
  21. size="small"
  22. clearable
  23. placeholder="请输入"
  24. maxlength="60"
  25. >
  26. </el-input>
  27. </template>
  28. <template slot="searchItem2">
  29. <span class="label">自车驾驶行为</span>
  30. <el-select v-model="searchParamsA.selfDriving" multiple>
  31. <el-option
  32. v-for="item in selfDrivingList"
  33. :label="item.caption"
  34. :value="item.code"
  35. :key="item.code"
  36. ></el-option>
  37. </el-select>
  38. </template>
  39. <template slot="searchItem3">
  40. <span class="label">目标驾驶行为</span>
  41. <el-select
  42. v-model="searchParamsA.targetDriving"
  43. multiple
  44. >
  45. <el-option
  46. v-for="item in targetDrivingList"
  47. :label="item.caption"
  48. :value="item.code"
  49. :key="item.code"
  50. ></el-option>
  51. </el-select>
  52. </template>
  53. <template slot="searchItem4">
  54. <span class="label">自车反应行为</span>
  55. <el-select
  56. v-model="searchParamsA.selfReaction"
  57. multiple
  58. >
  59. <el-option
  60. v-for="item in selfReactionList"
  61. :label="item.caption"
  62. :value="item.code"
  63. :key="item.code"
  64. ></el-option>
  65. </el-select>
  66. </template>
  67. <template slot="searchItem5">
  68. <span class="label">冲突行为</span>
  69. <el-select
  70. v-model="searchParamsA.conflictBehavior"
  71. multiple
  72. >
  73. <el-option
  74. v-for="item in conflictBehaviorList"
  75. :label="item.caption"
  76. :value="item.code"
  77. :key="item.code"
  78. ></el-option>
  79. </el-select>
  80. </template>
  81. <template slot="searchItem6">
  82. <span class="label">冲突类型</span>
  83. <el-select
  84. v-model="searchParamsA.conflictType"
  85. multiple
  86. >
  87. <el-option
  88. v-for="item in conflictTypeList"
  89. :label="item.caption"
  90. :value="item.code"
  91. :key="item.code"
  92. ></el-option>
  93. </el-select>
  94. </template>
  95. <template slot="searchBtn1">
  96. <el-button type="primary" @click="doSearchA"
  97. >查询</el-button
  98. >
  99. </template>
  100. <template slot="searchBtn2">
  101. <el-button type="primary" @click="doResetA"
  102. >重置</el-button
  103. >
  104. </template>
  105. </search-layout>
  106. <div class="isSelected">
  107. <el-checkbox v-model="selectedA" @change="selectedShowA"
  108. >已选择</el-checkbox
  109. >
  110. </div>
  111. <tableList
  112. ref="tableA"
  113. :columns="columnsA"
  114. :getDataWay="getDataWayA"
  115. :pagination="paginationA"
  116. :checkedData="checkedArrA"
  117. :needLoadedCallBack="true"
  118. :loadedCallBack="loadedCallBackA"
  119. :needSelectedCallBack="true"
  120. :selectedCallBack="selectedCallBackA"
  121. :selectedAllCallBack="selectedAllCallBackA"
  122. index
  123. selection
  124. >
  125. </tableList>
  126. </div>
  127. <div v-show="activeName === '2'">
  128. <search-layout>
  129. <template slot="searchItem1">
  130. <span class="label">场景编号</span>
  131. <el-input
  132. v-model="searchParamsB.naturalName"
  133. size="small"
  134. clearable
  135. placeholder="请输入"
  136. maxlength="60"
  137. >
  138. </el-input>
  139. </template>
  140. <template slot="searchItem2">
  141. <span class="label">道路</span>
  142. <el-cascader
  143. v-model="searchParamsB.road"
  144. :options="roadList"
  145. :props="props"
  146. clearable=""
  147. ></el-cascader>
  148. </template>
  149. <template slot="searchItem3">
  150. <span class="label">基础设施</span>
  151. <el-cascader
  152. v-model="searchParamsB.infrastructure"
  153. :options="infrastructureList"
  154. :props="props"
  155. clearable=""
  156. ></el-cascader>
  157. </template>
  158. <template slot="searchItem4">
  159. <span class="label">交通情况</span>
  160. <el-cascader
  161. v-model="searchParamsB.trafficCondition"
  162. :options="trafficConditionList"
  163. :props="props"
  164. clearable=""
  165. ></el-cascader>
  166. </template>
  167. <template slot="searchItem5">
  168. <span class="label">自车行为</span>
  169. <el-cascader
  170. v-model="searchParamsB.selfBehavior"
  171. :options="selfBehaviorList"
  172. :props="props"
  173. clearable=""
  174. ></el-cascader>
  175. </template>
  176. <template slot="searchItem6">
  177. <span class="label">目标行为</span>
  178. <el-cascader
  179. v-model="searchParamsB.targetBehavior"
  180. :options="targetBehaviorList"
  181. :props="props"
  182. clearable=""
  183. ></el-cascader>
  184. </template>
  185. <template slot="searchItem7">
  186. <span class="label">自然环境</span>
  187. <el-cascader
  188. v-model="searchParamsB.naturalEnvironment"
  189. :options="naturalEnvironmentList"
  190. :props="props"
  191. clearable=""
  192. ></el-cascader>
  193. </template>
  194. <template slot="searchItem8">
  195. <span class="label">临时性操纵</span>
  196. <el-cascader
  197. v-model="searchParamsB.temporaryOperation"
  198. :options="temporaryOperationList"
  199. :props="props"
  200. clearable=""
  201. ></el-cascader>
  202. </template>
  203. <template slot="searchBtn1">
  204. <el-button type="primary" @click="doSearchB"
  205. >查询</el-button
  206. >
  207. </template>
  208. <template slot="searchBtn2">
  209. <el-button type="primary" @click="doResetB"
  210. >重置</el-button
  211. >
  212. </template>
  213. </search-layout>
  214. <div class="isSelected">
  215. <el-checkbox v-model="selectedB" @change="selectedShowB"
  216. >已选择</el-checkbox
  217. >
  218. </div>
  219. <tableList
  220. ref="tableB"
  221. :columns="columnsB"
  222. :getDataWay="getDataWayB"
  223. :pagination="paginationB"
  224. :checkedData="checkedArrB"
  225. :needLoadedCallBack="true"
  226. :loadedCallBack="loadedCallBackB"
  227. :needSelectedCallBack="true"
  228. :selectedCallBack="selectedCallBackB"
  229. :selectedAllCallBack="selectedAllCallBackB"
  230. index
  231. selection
  232. >
  233. </tableList>
  234. </div>
  235. <div v-show="activeName === '3'">
  236. <search-layout>
  237. <template slot="searchItem1">
  238. <span class="label">场景名称</span>
  239. <el-input
  240. v-model="searchParamsC.sceneName"
  241. size="small"
  242. maxlength="60"
  243. clearable
  244. placeholder="请输入"
  245. >
  246. </el-input>
  247. </template>
  248. <template slot="searchItem2">
  249. <span class="label">法规类型</span>
  250. <el-select
  251. v-model="searchParamsC.regulationType"
  252. multiple
  253. >
  254. <el-option
  255. v-for="item in regulationTypeList"
  256. :label="item.caption"
  257. :value="item.code"
  258. :key="item.code"
  259. ></el-option>
  260. </el-select>
  261. </template>
  262. <template slot="searchItem3">
  263. <span class="label">标准类型</span>
  264. <el-input
  265. v-model="searchParamsC.standardType"
  266. size="small"
  267. maxlength="60"
  268. clearable
  269. placeholder="请输入"
  270. >
  271. </el-input>
  272. </template>
  273. <template slot="searchBtn1">
  274. <el-button type="primary" @click="doSearchC"
  275. >查询</el-button
  276. >
  277. </template>
  278. <template slot="searchBtn2">
  279. <el-button type="primary" @click="doResetC"
  280. >重置</el-button
  281. >
  282. </template>
  283. </search-layout>
  284. <div class="isSelected">
  285. <el-checkbox v-model="selectedC" @change="selectedShowC"
  286. >已选择</el-checkbox
  287. >
  288. </div>
  289. <tableList
  290. ref="tableC"
  291. :columns="columnsC"
  292. :getDataWay="getDataWayC"
  293. :pagination="paginationC"
  294. :checkedData="checkedArrC"
  295. :needLoadedCallBack="true"
  296. :loadedCallBack="loadedCallBackC"
  297. :needSelectedCallBack="true"
  298. :selectedCallBack="selectedCallBackC"
  299. :selectedAllCallBack="selectedAllCallBackC"
  300. index
  301. selection
  302. >
  303. </tableList>
  304. </div>
  305. </div>
  306. <div class="flexBox summaryBox">
  307. <div>
  308. 场景总数:
  309. {{
  310. checkedIdsA.length + checkedIdsB.length + checkedIdsC.length
  311. }}
  312. </div>
  313. <div>交通事故场景: {{ checkedIdsA.length }}</div>
  314. <div>自然驾驶场景: {{ checkedIdsB.length }}</div>
  315. <div>标准法规场景: {{ checkedIdsC.length }}</div>
  316. </div>
  317. </div>
  318. </template>
  319. <script>
  320. import searchLayout from "@/components/grid/searchLayout";
  321. import toolbarTab from "@/components/toolbar/toolbarTab";
  322. import tableList from "@/components/grid/TableList";
  323. export default {
  324. name: "realSceneList", // 真实场景列表-三大列表集合
  325. components: { searchLayout, toolbarTab, tableList },
  326. data() {
  327. return {
  328. list: [],
  329. activeName: "1",
  330. searchParamsA: {
  331. //搜索参数
  332. sceneName: "", //场景名称
  333. selfDriving: [], //自车驾驶行为
  334. targetDriving: [], //目标驾驶行为
  335. selfReaction: [], //自车反应行为
  336. conflictBehavior: [], //冲突行为
  337. conflictType: [], //冲突类型
  338. },
  339. selfDrivingList: [],
  340. targetDrivingList: [],
  341. selfReactionList: [],
  342. conflictBehaviorList: [],
  343. conflictTypeList: [],
  344. columnsA: [
  345. //表格列
  346. {
  347. label: "场景名称",
  348. prop: "sceneName",
  349. },
  350. {
  351. label: "自车驾驶行为",
  352. prop: "selfDriving",
  353. },
  354. {
  355. label: "目标驾驶行为",
  356. prop: "targetDriving",
  357. },
  358. {
  359. label: "自车反应行为",
  360. prop: "selfReaction",
  361. },
  362. {
  363. label: "冲突行为",
  364. prop: "conflictBehavior",
  365. },
  366. {
  367. label: "冲突类型",
  368. prop: "conflictType",
  369. },
  370. ],
  371. paginationA: {
  372. //分页使用
  373. currentPage: 1,
  374. pageSize: 10,
  375. position: "right",
  376. pageSizes: [10, 30, 50, 100, 200],
  377. layout: "sizes, total, prev, pager, next, jumper",
  378. },
  379. getDataWayA: {
  380. //加载表格数据
  381. dataType: "url",
  382. type: "post",
  383. // firstRequest: false,
  384. data: this.$api.sceneLibrary.querySceneAccidentList,
  385. param: {},
  386. },
  387. selectedA: false, // 是否选中展示已选择项
  388. searchParamsB: {
  389. //搜索参数
  390. naturalName: "", // 场景编号
  391. road: [], // 道路
  392. infrastructure: [], // 基础设施
  393. trafficCondition: [], // 交通情况
  394. selfBehavior: [], // 自车行为
  395. targetBehavior: [], // 目标行为
  396. naturalEnvironment: [], // 自然环境
  397. },
  398. roadList: [],
  399. infrastructureList: [],
  400. trafficConditionList: [],
  401. selfBehaviorList: [],
  402. targetBehaviorList: [],
  403. naturalEnvironmentList: [],
  404. temporaryOperationList: [],
  405. props: {
  406. multiple: true,
  407. label: "dictName",
  408. value: "dictCode",
  409. },
  410. columnsB: [
  411. //表格列
  412. {
  413. label: "场景编号",
  414. prop: "naturalName",
  415. },
  416. {
  417. label: "天气",
  418. prop: "weather",
  419. },
  420. {
  421. label: "自车行为",
  422. prop: "selfBehavior",
  423. },
  424. {
  425. label: "目标行为",
  426. prop: "targetBehavior",
  427. },
  428. ],
  429. paginationB: {
  430. //分页使用
  431. currentPage: 1,
  432. pageSize: 10,
  433. position: "right",
  434. pageSizes: [10, 30, 50, 100, 200],
  435. layout: "sizes, total, prev, pager, next, jumper",
  436. },
  437. getDataWayB: {
  438. //加载表格数据
  439. dataType: "url",
  440. type: "post",
  441. // firstRequest: false,
  442. data: this.$api.sceneLibrary.querySceneNaturalList,
  443. param: {},
  444. },
  445. selectedB: false,
  446. searchParamsC: {
  447. //搜索参数
  448. sceneName: "", //场景名称
  449. regulationType: [], //法规类型
  450. standardType: "", //标准类型
  451. },
  452. regulationTypeList: [],
  453. columnsC: [
  454. //表格列
  455. {
  456. label: "场景名称",
  457. prop: "sceneName",
  458. },
  459. {
  460. label: "法规类型",
  461. prop: "regulationType",
  462. },
  463. {
  464. label: "标准类型",
  465. prop: "standardType",
  466. },
  467. ],
  468. paginationC: {
  469. //分页使用
  470. currentPage: 1,
  471. pageSize: 10,
  472. position: "right",
  473. pageSizes: [10, 30, 50, 100, 200],
  474. layout: "sizes, total, prev, pager, next, jumper",
  475. },
  476. getDataWayC: {
  477. //加载表格数据
  478. dataType: "url",
  479. type: "post",
  480. // firstRequest: false,
  481. data: this.$api.sceneLibrary.queryStandardsRegulationsList,
  482. param: {},
  483. },
  484. selectedC: false,
  485. checkedArrA: [], // 交通事故列表已选
  486. checkedArrB: [], // 自然驾驶列表已选
  487. checkedArrC: [], // 标准法规列表已选
  488. checkedIdsA: [], // 当前交通事故列表已选
  489. checkedIdsB: [], // 当前自然驾驶列表已选
  490. checkedIdsC: [], // 当前标准法规列表已选
  491. };
  492. },
  493. computed: {},
  494. methods: {
  495. pageControl(data) {
  496. this.activeName = data.name;
  497. if (this.activeName === "1") {
  498. this.doSearchA();
  499. } else if (this.activeName === "2") {
  500. this.doSearchB();
  501. } else {
  502. this.doSearchC();
  503. }
  504. },
  505. doSearchA() {
  506. let data = { ...this.searchParamsA };
  507. if (this.selectedA) {
  508. data.ids = this.checkedIdsA;
  509. } else {
  510. data.ids = null;
  511. }
  512. this.refreshListA(data);
  513. },
  514. //刷新table
  515. refreshListA(param) {
  516. param
  517. ? this.$refs["tableA"].loadData(param)
  518. : this.$refs["tableA"].loadData();
  519. },
  520. doResetA() {
  521. this.searchParamsA = {
  522. sceneName: "",
  523. selfDriving: [],
  524. targetDriving: [],
  525. selfReaction: [],
  526. conflictBehavior: [],
  527. conflictType: [],
  528. };
  529. this.doSearchA();
  530. },
  531. // 数据加载后的回调
  532. loadedCallBackA() {
  533. this.checkedArrA = [];
  534. this.$refs.tableA.tableData.forEach((i) => {
  535. if (this.checkedIdsA.includes(i.accidentId)) {
  536. // 显示已选中的项
  537. this.$refs.tableA.$refs.ListTable.toggleRowSelection(
  538. i,
  539. true
  540. );
  541. this.checkedArrA.push(i);
  542. }
  543. });
  544. },
  545. // 用户勾选完执行函数后的回调
  546. selectedCallBackA(row, type) {
  547. if (type === 1) {
  548. if (!this.checkedIdsA.includes(row.accidentId)) {
  549. this.checkedIdsA.push(row.accidentId);
  550. }
  551. } else {
  552. let index = this.checkedIdsA.indexOf(row.accidentId);
  553. if (index > -1) {
  554. this.checkedIdsA.splice(index, 1);
  555. }
  556. }
  557. },
  558. // 用户勾选全选执行函数后的回调
  559. selectedAllCallBackA(selection, type) {
  560. if (type === 1) {
  561. selection.forEach((i) => {
  562. if (!this.checkedIdsA.includes(i.accidentId)) {
  563. this.checkedIdsA.push(i.accidentId);
  564. }
  565. });
  566. } else {
  567. this.$refs.tableA.tableData.forEach((i) => {
  568. let index = this.checkedIdsA.indexOf(i.accidentId);
  569. if (index > -1) {
  570. this.checkedIdsA.splice(index, 1);
  571. }
  572. });
  573. }
  574. },
  575. doSearchB() {
  576. let data = { ...this.searchParamsB };
  577. if (this.selectedB) {
  578. data.ids = this.checkedIdsB;
  579. } else {
  580. data.ids = null;
  581. }
  582. this.refreshListB(data);
  583. },
  584. //刷新table
  585. refreshListB(param) {
  586. param
  587. ? this.$refs["tableB"].loadData(param)
  588. : this.$refs["tableB"].loadData();
  589. },
  590. doResetB() {
  591. this.searchParamsB = {
  592. naturalName: "",
  593. road: [],
  594. infrastructure: [],
  595. trafficCondition: [],
  596. selfBehavior: [],
  597. targetBehavior: [],
  598. naturalEnvironment: [],
  599. temporaryOperation: [],
  600. };
  601. this.doSearchB();
  602. },
  603. loadedCallBackB() {
  604. this.checkedArrB = [];
  605. this.$refs.tableB.tableData.forEach((i) => {
  606. if (this.checkedIdsB.includes(i.naturalId)) {
  607. this.$refs.tableB.$refs.ListTable.toggleRowSelection(
  608. i,
  609. true
  610. );
  611. this.checkedArrB.push(i);
  612. }
  613. });
  614. },
  615. selectedCallBackB(row, type) {
  616. if (type === 1) {
  617. this.checkedIdsB.push(row.naturalId);
  618. } else {
  619. let index = this.checkedIdsB.indexOf(row.naturalId);
  620. if (index > -1) {
  621. this.checkedIdsB.splice(index, 1);
  622. }
  623. }
  624. },
  625. selectedAllCallBackB(selection, type) {
  626. if (type === 1) {
  627. selection.forEach((i) => {
  628. if (!this.checkedIdsB.includes(i.naturalId)) {
  629. this.checkedIdsB.push(i.naturalId);
  630. }
  631. });
  632. } else {
  633. this.$refs.tableB.tableData.forEach((i) => {
  634. let index = this.checkedIdsB.indexOf(i.naturalId);
  635. if (index > -1) {
  636. this.checkedIdsB.splice(index, 1);
  637. }
  638. });
  639. }
  640. },
  641. doSearchC() {
  642. let data = { ...this.searchParamsC };
  643. if (this.selectedC) {
  644. data.ids = this.checkedIdsC;
  645. } else {
  646. data.ids = null;
  647. }
  648. this.refreshListC(data);
  649. },
  650. //刷新table
  651. refreshListC(param) {
  652. param
  653. ? this.$refs["tableC"].loadData(param)
  654. : this.$refs["tableC"].loadData();
  655. },
  656. doResetC() {
  657. this.searchParamsC = {
  658. sceneName: "",
  659. regulationType: [],
  660. standardType: "",
  661. };
  662. this.doSearchC();
  663. },
  664. loadedCallBackC() {
  665. this.checkedArrC = [];
  666. this.$refs.tableC.tableData.forEach((i) => {
  667. if (this.checkedIdsC.includes(i.regulationsId)) {
  668. this.$refs.tableC.$refs.ListTable.toggleRowSelection(
  669. i,
  670. true
  671. );
  672. this.checkedArrC.push(i);
  673. }
  674. });
  675. },
  676. selectedCallBackC(row, type) {
  677. if (type === 1) {
  678. this.checkedIdsC.push(row.regulationsId);
  679. } else {
  680. let index = this.checkedIdsC.indexOf(row.regulationsId);
  681. if (index > -1) {
  682. this.checkedIdsC.splice(index, 1);
  683. }
  684. }
  685. },
  686. selectedAllCallBackC(selection, type) {
  687. if (type === 1) {
  688. selection.forEach((i) => {
  689. if (!this.checkedIdsC.includes(i.regulationsId)) {
  690. this.checkedIdsC.push(i.regulationsId);
  691. }
  692. });
  693. } else {
  694. this.$refs.tableC.tableData.forEach((i) => {
  695. let index = this.checkedIdsC.indexOf(i.regulationsId);
  696. if (index > -1) {
  697. this.checkedIdsC.splice(index, 1);
  698. }
  699. });
  700. }
  701. },
  702. selectedShowA() {
  703. this.doSearchA();
  704. },
  705. selectedShowB() {
  706. this.doSearchB();
  707. },
  708. selectedShowC() {
  709. this.doSearchC();
  710. },
  711. },
  712. async mounted() {
  713. await this.$dicsListsInit({
  714. selfDrivingList: "selfDriving",
  715. targetDrivingList: "targetDriving",
  716. selfReactionList: "selfReaction",
  717. conflictBehaviorList: "conflictBehavior",
  718. conflictTypeList: "conflictType",
  719. regulationTypeList: "regulationType",
  720. });
  721. await this.$dicsTreesInit({
  722. roadList: "road",
  723. infrastructureList: "infrastructure",
  724. trafficConditionList: "trafficCondition",
  725. selfBehaviorList: "selfBehavior",
  726. targetBehaviorList: "targetBehavior",
  727. naturalEnvironmentList: "naturalEnvironment",
  728. temporaryOperationList: "temporaryOperation",
  729. });
  730. },
  731. };
  732. </script>
  733. <style lang='less' scoped>
  734. .tabsBox {
  735. .el-input,
  736. .el-select {
  737. width: 230px;
  738. }
  739. .label {
  740. min-width: 90px;
  741. }
  742. .isSelected {
  743. padding: 10px 0 10px 10px;
  744. }
  745. }
  746. .summaryBox {
  747. padding: 20px 20px 0;
  748. margin-top: 20px;
  749. border-top: 1px dotted @themeColor;
  750. color: @themeColor;
  751. font-size: 18px;
  752. font-weight: bold;
  753. > div {
  754. margin-right: 30px;
  755. }
  756. }
  757. .myTabsBox {
  758. /deep/ .el-tabs__nav-scroll {
  759. &:after {
  760. width: 100%;
  761. }
  762. }
  763. &.myTabsBoxThreeTabs {
  764. /deep/ .el-tabs {
  765. width: auto;
  766. margin: 0;
  767. }
  768. /deep/ .el-tabs__item {
  769. width: 120px;
  770. }
  771. }
  772. /deep/
  773. .el-tabs--top.el-tabs--card
  774. > .el-tabs__header
  775. .el-tabs__item:nth-child(2) {
  776. border-left-color: @gray;
  777. &.is-active {
  778. border-left-color: @themeColor;
  779. }
  780. }
  781. }
  782. </style>