securityHidden.vue 21 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021
  1. <!-- 数据看板-安全隐患 -->
  2. <template>
  3. <view class="hazardSources">
  4. <!-- 计划列表 -->
  5. <picker @change="bindPickerChange" :value="pickerIndex" :range="pickerList" range-key="planTitle">
  6. <view class="small-title">
  7. <view class="small-title-l">{{pickerList[pickerIndex].planTitle}}</view>
  8. <img class="small-title-r" src="@/pages/images/dataBoard/icon_06.png">
  9. </view>
  10. </picker>
  11. <view class="chart">
  12. <!-- 图表选项卡 -->
  13. <view class="chart-t">
  14. <view class="chart-t-li" :class="chartIndex==index?'color-A':'color-B'" @click="chartClick(index)"
  15. v-for="(item,index) in chartTitle">{{item}}</view>
  16. </view>
  17. <!-- 安全隐患排行-图表 -->
  18. <view class="chart-b" v-if="chartIndex==0">
  19. <qiun-data-charts :canvas2d="true" type="column" :opts="opts" :echartsH5="true" :chartData="chartData" />
  20. </view>
  21. <!-- 一级指标排行-图表 -->
  22. <view class="chart-b2" v-if="chartIndex==0">
  23. <view class="chart-b2-li" v-for="(item,index) in hiddenChartBottom">
  24. <view class="chart-b2-li-t">
  25. <text>{{index+1}}</text>
  26. <text>{{item.name}}</text>
  27. </view>
  28. <view class="chart-b2-li-b">{{item.total}}</view>
  29. </view>
  30. </view>
  31. <!-- 暂无法整改-图表 -->
  32. <view class="chart-b-tow" v-if="chartIndex==1 || chartIndex==2">
  33. <qiun-data-charts :canvas2d="true" :tapLegend="false" :tooltipShow="false" type="bar" :opts="optsTow"
  34. :echartsH5="true" :chartData="chartDataTow" />
  35. </view>
  36. </view>
  37. <!-- 选项卡 -->
  38. <scroll-view scroll-x @scrolltolower="scrollGet" v-if="chartIndex!=0">
  39. <view class="tabTitle_tow">
  40. <view class="tabTitle_tow_li" @tap="tabClickTow(item,index)" :key="index" v-for="(item,index) in tabTextTow">
  41. <view :class="{on:curTabTow==index}" class="tabTitle_tow_text">{{item}}</view>
  42. <view :class="{on:curTabTow==index}" class="tabTitle_tow_across"></view>
  43. </view>
  44. </view>
  45. </scroll-view>
  46. <!--安全隐患排行 -->
  47. <view class="table" v-if="chartIndex==0">
  48. <uni-card>
  49. <view style="height: 200px">
  50. <zb-table :columns="column" :stripe="false" :border="false" :data="dataList"></zb-table>
  51. </view>
  52. </uni-card>
  53. </view>
  54. <!-- 一级指标排行 -->
  55. <view class="table-tow" v-if="chartIndex!=0 && curTabTow==0">
  56. <uni-card>
  57. <view style="height: 200px">
  58. <zb-table :columns="column2" :stripe="false" :border="false" :data="dataListTow"></zb-table>
  59. </view>
  60. </uni-card>
  61. </view>
  62. <!--学院单位 -->
  63. <view class="table-three" v-if="chartIndex!=0 && curTabTow==1">
  64. <uni-card>
  65. <view style="height: 200px">
  66. <zb-table :columns="column3" :stripe="false" :border="false" :data="dataListThree"></zb-table>
  67. </view>
  68. </uni-card>
  69. </view>
  70. </view>
  71. </template>
  72. <script>
  73. import {
  74. config
  75. } from '@/api/request/config.js'
  76. import {
  77. securityCheckPlanPlantList,
  78. reportAppStatisticsDangerSort,
  79. securityCheckDangerNotHazardOneCollect,
  80. securityCheckDangerHazardOneCollect,
  81. } from '@/pages/api/index.js'
  82. export default {
  83. name: "hazardSources",
  84. components: {
  85. },
  86. data() {
  87. return {
  88. chartType: 3,
  89. chartTitle: ['安全隐患排行', '一级指标排行', '暂无法整改'],
  90. chartIndex: 0,
  91. opts: {
  92. color: ["#149F12", "#FF0000", "#FF9D25", ],
  93. padding: [15, 15, 4, 5],
  94. enableScroll: false,
  95. legend: {
  96. position: 'top',
  97. fontColor: '#fff',
  98. },
  99. xAxis: {
  100. disableGrid: true,
  101. disabled: true,
  102. axisLine: false,
  103. },
  104. yAxis: {
  105. disableGrid: true,
  106. data: [{
  107. disabled: true,
  108. }]
  109. },
  110. extra: {
  111. column: {
  112. type: "group",
  113. width: 14,
  114. linearType: "opacity",
  115. linearOpacity: 0.6,
  116. }
  117. }
  118. },
  119. optsTow: {
  120. rotate: false,
  121. rotateLock: false,
  122. color: ["#1890FF", "#91CB74", "#FAC858", "#EE6666", "#73C0DE", "#3CA272", "#FC8452", "#9A60B4", "#ea7ccc"],
  123. padding: [15, 20, 15, 0],
  124. dataLabel: true,
  125. enableScroll: false,
  126. fontColor: '#ffffff',
  127. legend: {
  128. show: false,
  129. },
  130. xAxis: {
  131. disabled: true,
  132. disableGrid: true,
  133. axisLine: false,
  134. fontColor: '#fff',
  135. },
  136. yAxis: {},
  137. extra: {
  138. bar: {
  139. type: "group",
  140. width: 15,
  141. meterBorde: 1,
  142. meterFillColor: "#FFFFFF",
  143. activeBgColor: "#000000",
  144. activeBgOpacity: 0.08,
  145. linearType: "custom",
  146. barBorderCircle: true,
  147. seriesGap: 2,
  148. categoryGap: 2
  149. }
  150. }
  151. },
  152. chartData: {},
  153. chartDataTow: {},
  154. // 查询参数
  155. queryParams: {
  156. page: 1,
  157. pageSize: 10,
  158. },
  159. column: [{
  160. type: 'index',
  161. label: '排行',
  162. fixed: true,
  163. width: 60,
  164. align: 'center',
  165. },
  166. {
  167. name: 'deptSortName',
  168. label: '学院单位',
  169. fixed: true,
  170. width: 80,
  171. align: 'center',
  172. },
  173. {
  174. name: 'totalNum',
  175. label: '总隐患',
  176. align: 'center',
  177. },
  178. {
  179. name: 'rectifyNum',
  180. label: '已整改',
  181. align: 'center',
  182. },
  183. {
  184. name: 'notRectifyNum',
  185. label: '未整改',
  186. align: 'center',
  187. },
  188. {
  189. name: 'tempNum',
  190. label: '暂无法整改',
  191. align: 'center',
  192. },
  193. ],
  194. column2: [{
  195. type: 'index',
  196. label: '序号',
  197. fixed: true,
  198. width: 60,
  199. align: 'center',
  200. },
  201. {
  202. name: 'name',
  203. label: '一级指标',
  204. fixed: true,
  205. width: 80,
  206. align: 'center',
  207. },
  208. {
  209. name: 'num',
  210. label: '隐患数',
  211. align: 'center',
  212. },
  213. {
  214. name: 'ratio',
  215. label: '占比',
  216. align: 'center',
  217. },
  218. ],
  219. column3: [{
  220. type: 'index',
  221. label: '排行',
  222. fixed: true,
  223. width: 60,
  224. align: 'center',
  225. },
  226. {
  227. name: 'deptSortName',
  228. label: '学院单位',
  229. fixed: true,
  230. width: 80,
  231. align: 'center',
  232. },
  233. {
  234. name: 'hazardNum',
  235. label: '总隐患',
  236. align: 'center',
  237. },
  238. ],
  239. dataList: [],
  240. dataListTow: [],
  241. dataListThree: [],
  242. total: 0,
  243. tabTextTow: ['一级指标', '学院单位'],
  244. curTabTow: 0,
  245. pickerList: [],
  246. pickerIndex: 0,
  247. hiddenChartBottom: [],
  248. }
  249. },
  250. created() {
  251. },
  252. beforeMount() {
  253. },
  254. mounted() {
  255. this.securityCheckPlanPlantList();
  256. },
  257. methods: {
  258. scrollGet() {
  259. },
  260. bindPickerChange(data) {
  261. console.log(data)
  262. this.pickerIndex = data.detail.value;
  263. if (this.chartIndex == 0) {
  264. //安全隐患排行
  265. this.reportAppStatisticsDangerSort(this.pickerList[this.pickerIndex].planId)
  266. } else if (this.chartIndex == 1) {
  267. //一级指标排行
  268. this.dataListTow = [];
  269. this.dataListThree = [];
  270. this.chartDataTow = {};
  271. this.securityCheckDangerHazardOneCollect(this.pickerList[this.pickerIndex].planId)
  272. } else if (this.chartIndex == 2) {
  273. //暂无法整改
  274. this.dataListTow = [];
  275. this.dataListThree = [];
  276. this.chartDataTow = {};
  277. this.securityCheckDangerNotHazardOneCollect(this.pickerList[this.pickerIndex].planId)
  278. }
  279. },
  280. chartClick(index) {
  281. this.chartIndex = index;
  282. this.curTabTow = 0;
  283. if (this.chartIndex == 0) {
  284. //安全隐患排行
  285. this.reportAppStatisticsDangerSort(this.pickerList[this.pickerIndex].planId)
  286. } else if (this.chartIndex == 1) {
  287. //一级指标排行
  288. this.securityCheckDangerHazardOneCollect(this.pickerList[this.pickerIndex].planId)
  289. } else if (this.chartIndex == 2) {
  290. //暂无法整改
  291. this.securityCheckDangerNotHazardOneCollect(this.pickerList[this.pickerIndex].planId)
  292. }
  293. },
  294. //顶部tab点击
  295. tabClickTow(item, index) {
  296. this.curTabTow = index;
  297. },
  298. //计划标题
  299. async securityCheckPlanPlantList() {
  300. let self = this;
  301. const {
  302. data
  303. } = await securityCheckPlanPlantList();
  304. if (data.code == 200) {
  305. this.pickerList = data.data
  306. this.reportAppStatisticsDangerSort(this.pickerList[0].planId)
  307. }
  308. },
  309. //安全隐患列表数据
  310. async reportAppStatisticsDangerSort(planId) {
  311. let self = this;
  312. const {
  313. data
  314. } = await reportAppStatisticsDangerSort({
  315. 'type': '-1',
  316. 'planId': planId
  317. });
  318. if (data.code == 200) {
  319. this.dataList = data.data;
  320. if (data.data[0]) {
  321. let name = [];
  322. let list = [];
  323. let list2 = [];
  324. let list3 = [];
  325. let num = 0;
  326. self.hiddenChartBottom = [];
  327. data.data.forEach(function(item, index) {
  328. if (index < 3) {
  329. name.push(item.deptSortName)
  330. list.push(item.rectifyNum)
  331. list2.push(item.notRectifyNum)
  332. list3.push(item.tempNum)
  333. num = item.rectifyNum + item.notRectifyNum + item.tempNum
  334. self.hiddenChartBottom.push({
  335. 'name': item.deptSortName,
  336. 'total': num
  337. })
  338. }
  339. })
  340. let res = {
  341. categories: name,
  342. series: [{
  343. name: "已整改",
  344. textColor: '#fff',
  345. data: list
  346. },
  347. {
  348. name: "未整改",
  349. textColor: '#fff',
  350. data: list2
  351. },
  352. {
  353. name: "暂无法整改",
  354. textColor: '#fff',
  355. data: list3
  356. }
  357. ]
  358. };
  359. this.chartData = JSON.parse(JSON.stringify(res));
  360. } else {
  361. let res = {
  362. categories: ['无数据'],
  363. series: [{
  364. name: "已整改",
  365. textColor: '#fff',
  366. data: [0]
  367. },
  368. {
  369. name: "未整改",
  370. textColor: '#fff',
  371. data: [0]
  372. },
  373. {
  374. name: "暂无法整改",
  375. textColor: '#fff',
  376. data: [0]
  377. }
  378. ]
  379. };
  380. this.chartData = JSON.parse(JSON.stringify(res));
  381. }
  382. }
  383. },
  384. //一级指标
  385. async securityCheckDangerHazardOneCollect(planId) {
  386. let self = this;
  387. const {
  388. data
  389. } = await securityCheckDangerHazardOneCollect({
  390. 'type': '-1',
  391. 'planId': planId
  392. });
  393. if (data.code == 200) {
  394. //列表
  395. this.$set(this, 'dataListTow', data.data.head);
  396. this.$set(this, 'dataListThree', data.data.list);
  397. let column3 = [{
  398. type: 'index',
  399. label: '排行',
  400. fixed: true,
  401. width: 60,
  402. align: 'center',
  403. },
  404. {
  405. name: 'deptSortName',
  406. label: '学院单位',
  407. fixed: true,
  408. width: 80,
  409. align: 'center',
  410. },
  411. {
  412. name: 'hazardNum',
  413. label: '总隐患',
  414. align: 'center',
  415. },
  416. ]
  417. if (data.data.head[0]) {
  418. let name = [];
  419. let list = [];
  420. data.data.head.forEach(function(item, index) {
  421. if (index < 5) {
  422. column3.push({
  423. name: item.code,
  424. label: item.name,
  425. align: 'center',
  426. })
  427. let newName = item.name;
  428. if(newName.length > 6){
  429. newName = newName.slice(0, 6) + '..';
  430. }
  431. name.push(newName)
  432. // name.push(item.name)
  433. list.push(item.num)
  434. }
  435. })
  436. //图表
  437. let res = {
  438. categories: name,
  439. series: [{
  440. name: "",
  441. data: list
  442. }, ]
  443. };
  444. this.chartDataTow = JSON.parse(JSON.stringify(res));
  445. } else {
  446. //图表
  447. let res = {
  448. categories: ['无数据'],
  449. series: [{
  450. name: "",
  451. data: [0]
  452. }]
  453. };
  454. this.chartDataTow = JSON.parse(JSON.stringify(res));
  455. }
  456. this.column3 = JSON.parse(JSON.stringify(column3));
  457. }
  458. },
  459. //暂无法整改
  460. async securityCheckDangerNotHazardOneCollect(planId) {
  461. let self = this;
  462. let obj = {
  463. rectifyStatus: 4,
  464. planId: planId
  465. };
  466. const {
  467. data
  468. } = await securityCheckDangerNotHazardOneCollect(obj);
  469. if (data.code == 200) {
  470. //列表
  471. this.$set(this, 'dataListTow', data.data.head);
  472. this.$set(this, 'dataListThree', data.data.list);
  473. let column3 = [{
  474. type: 'index',
  475. label: '排行',
  476. fixed: true,
  477. width: 60,
  478. align: 'center',
  479. },
  480. {
  481. name: 'deptSortName',
  482. label: '学院单位',
  483. fixed: true,
  484. width: 80,
  485. align: 'center',
  486. },
  487. {
  488. name: 'hazardNum',
  489. label: '总隐患',
  490. align: 'center',
  491. },
  492. ]
  493. if (data.data.head[0]) {
  494. let name = [];
  495. let list = [];
  496. data.data.head.forEach(function(item, index) {
  497. if (index < 5) {
  498. column3.push({
  499. name: item.code,
  500. label: item.name,
  501. align: 'center',
  502. })
  503. let newName = item.name;
  504. if(newName.length > 6){
  505. newName = newName.slice(0, 6) + '..';
  506. }
  507. name.push(newName)
  508. // name.push(item.name)
  509. list.push(item.num)
  510. }
  511. })
  512. //图表
  513. let res = {
  514. categories: name,
  515. series: [{
  516. name: "",
  517. data: list
  518. }, ]
  519. };
  520. this.chartDataTow = JSON.parse(JSON.stringify(res));
  521. } else {
  522. //图表
  523. let res = {
  524. categories: ['无数据'],
  525. series: [{
  526. name: "",
  527. data: [0]
  528. }]
  529. };
  530. this.chartDataTow = JSON.parse(JSON.stringify(res));
  531. }
  532. this.column3 = JSON.parse(JSON.stringify(column3));
  533. }
  534. },
  535. },
  536. }
  537. </script>
  538. <style lang="stylus" scoped>
  539. .hazardSources {
  540. height: 100%;
  541. width: 100%;
  542. background: #363744;
  543. .small-title {
  544. width: 750rpx;
  545. height: 80rpx;
  546. background: #3E414F;
  547. display: flex;
  548. justify-content: space-between;
  549. align-items: center;
  550. padding: 0 20rpx 0 30rpx;
  551. box-sizing: border-box;
  552. margin-top: 2rpx;
  553. .small-title-l {
  554. flex: 1;
  555. font-weight: 400;
  556. font-size: 30rpx;
  557. color: #FFFFFF;
  558. line-height: 42rpx;
  559. overflow: hidden;
  560. text-overflow: ellipsis;
  561. white-space: nowrap;
  562. }
  563. .small-title-r {
  564. width: 14rpx;
  565. height: 8rpx;
  566. }
  567. }
  568. .chart {
  569. width: 690rpx;
  570. height: 520rpx;
  571. background: #3E414F;
  572. border-radius: 20rpx 20rpx 20rpx 20rpx;
  573. margin: 20rpx 30rpx 0;
  574. overflow: hidden;
  575. .chart-t {
  576. width: 570rpx;
  577. height: 50rpx;
  578. display: flex;
  579. justify-content: flex-start;
  580. border: 1rpx solid #52545F;
  581. border-radius: 10rpx;
  582. margin: 30rpx 0 0 72rpx;
  583. .chart-t-li {
  584. width: 190rpx;
  585. font-weight: 400;
  586. font-size: 28rpx;
  587. line-height: 50rpx;
  588. text-align: center;
  589. background: none;
  590. }
  591. .chart-t-li:nth-of-type(1) {
  592. border-right: 1rpx solid #52545F;
  593. }
  594. .chart-t-li:nth-of-type(2) {
  595. border-right: 1rpx solid #52545F;
  596. }
  597. .color-A {
  598. color: #FFFFFF;
  599. background: #52545F;
  600. }
  601. .color-B {
  602. color: #999999;
  603. background: none;
  604. }
  605. }
  606. .chart-b {
  607. width: 630rpx;
  608. height: 334rpx;
  609. margin-left: 30rpx;
  610. }
  611. .chart-b2 {
  612. width: 630rpx;
  613. margin: 0 30rpx;
  614. height: 106rx;
  615. display: flex;
  616. justify-content: flex-start;
  617. align-items: center;
  618. .chart-b2-li {
  619. flex: 1;
  620. .chart-b2-li-t {
  621. margin-top: 10rpx;
  622. text-align: center;
  623. >text:nth-of-type(1) {
  624. display: inline-block;
  625. width: 24rpx;
  626. height: 24rpx;
  627. background: #FF0000;
  628. border-radius: 6rpx 6rpx 6rpx 6rpx;
  629. margin-right: 10rpx;
  630. font-weight: 400;
  631. font-size: 22rpx;
  632. color: #FFFFFF;
  633. line-height: 24rpx;
  634. text-align: center;
  635. }
  636. >text:nth-of-type(2) {
  637. font-weight: 400;
  638. font-size: 24rpx;
  639. color: #FFFFFF;
  640. line-height: 34rpx;
  641. }
  642. }
  643. .chart-b2-li-b {
  644. margin-top: 10rpx;
  645. font-weight: 400;
  646. font-size: 24rpx;
  647. color: #FFFFFF;
  648. line-height: 34rpx;
  649. text-align: center;
  650. }
  651. }
  652. }
  653. .chart-b-tow {
  654. width: 630rpx;
  655. height: 440rpx;
  656. margin-left: 30rpx;
  657. }
  658. }
  659. .tabTitle_tow {
  660. width: 750rpx;
  661. height: 80rpx;
  662. white-space: nowrap;
  663. display: inline-flex;
  664. background: #3E414F;
  665. margin-top: 20rpx;
  666. padding-left: 35rpx;
  667. .tabTitle_tow_li {
  668. position: relative;
  669. width: 152rpx;
  670. height: 80rpx;
  671. text-align center;
  672. padding-top: 18rpx;
  673. box-sizing: border-box;
  674. .tabTitle_tow_text {
  675. display: inline-block;
  676. font-size: 32rpx;
  677. font-family: PingFang SC;
  678. font-weight: 500;
  679. color: #FFFFFF;
  680. line-height: 46rpx;
  681. position: relative;
  682. &.on {
  683. color: #0183FA;
  684. }
  685. }
  686. .tabTitle_tow_across {
  687. width: 50rpx;
  688. height: 4rpx;
  689. background: #0183FA;
  690. border-radius: 2rpx;
  691. margin-left: 33%;
  692. margin-top: 16rpx;
  693. display none;
  694. &.on {
  695. display block;
  696. }
  697. }
  698. }
  699. }
  700. .table {
  701. width: 690rpx;
  702. margin-top: 20rpx;
  703. margin-left: 30rpx;
  704. border-radius: 20rpx 20rpx 0 0;
  705. overflow: hidden;
  706. }
  707. .sortOne {
  708. display: inline-block;
  709. width: 40rpx;
  710. height: 40rpx;
  711. padding: 4rpx;
  712. box-sizing: border-box;
  713. background: rgba(255, 0, 0, 0.2);
  714. font-weight: 400;
  715. font-size: 28rpx;
  716. color: #FF0000;
  717. line-height: 40rpx;
  718. text-align: center;
  719. border-radius: 20rpx;
  720. }
  721. .sortTow {
  722. display: inline-block;
  723. width: 40rpx;
  724. height: 40rpx;
  725. padding: 4rpx;
  726. box-sizing: border-box;
  727. background: rgba(255, 153, 0, 0.2);
  728. font-weight: 400;
  729. font-size: 28rpx;
  730. color: #FF9900;
  731. line-height: 40rpx;
  732. text-align: center;
  733. border-radius: 20rpx;
  734. }
  735. .sortThree {
  736. display: inline-block;
  737. width: 40rpx;
  738. height: 40rpx;
  739. padding: 4rpx;
  740. box-sizing: border-box;
  741. background: rgba(255, 242, 0, 0.2);
  742. font-weight: 400;
  743. font-size: 28rpx;
  744. color: #FFF200;
  745. line-height: 40rpx;
  746. text-align: center;
  747. border-radius: 20rpx;
  748. }
  749. .sortFive {
  750. display: inline-block;
  751. width: 40rpx;
  752. height: 40rpx;
  753. padding: 4rpx;
  754. box-sizing: border-box;
  755. background: rgba(1, 131, 250, 0.2);
  756. font-weight: 400;
  757. font-size: 28rpx;
  758. color: #0183FA;
  759. line-height: 40rpx;
  760. text-align: center;
  761. border-radius: 20rpx;
  762. }
  763. .table-tow {
  764. width: 690rpx;
  765. margin: 20rpx 0 0 30rpx;
  766. .table-border {
  767. width: auto;
  768. overflow: auto;
  769. .table-th {
  770. width: 690rpx;
  771. padding: 0 30rpx;
  772. box-sizing: border-box;
  773. background: rgba(162, 162, 162, 0.2);
  774. border-radius: 20rpx 20rpx 0rpx 0rpx;
  775. .table-th-li {
  776. height: 80rpx;
  777. display: flex;
  778. justify-content: flex-start;
  779. >view {
  780. font-weight: 400;
  781. font-size: 30rpx;
  782. color: #FFFFFF;
  783. line-height: 80rpx;
  784. text-align: center;
  785. margin-right: 38rpx;
  786. width: 120rpx;
  787. overflow: hidden;
  788. text-overflow: ellipsis;
  789. white-space: nowrap;
  790. }
  791. >view:nth-of-type(1) {
  792. width: 64rpx;
  793. text-align: left;
  794. margin-right: 0;
  795. }
  796. >view:nth-of-type(2) {
  797. width: 270rpx;
  798. }
  799. >view:last-child {
  800. margin-right: 0;
  801. }
  802. }
  803. }
  804. .table-tb {
  805. width: 690rpx;
  806. background: #3E414F;
  807. padding: 0 30rpx;
  808. box-sizing: border-box;
  809. .table-tb-li {
  810. height: 80rpx;
  811. border-bottom: 1rpx dashed rgba(216, 216, 216, 0.2);
  812. display: flex;
  813. justify-content: flex-start;
  814. >view {
  815. font-weight: 400;
  816. font-size: 28rpx;
  817. color: #FFFFFF;
  818. line-height: 80rpx;
  819. text-align: center;
  820. margin-right: 38rpx;
  821. width: 120rpx;
  822. overflow: hidden;
  823. text-overflow: ellipsis;
  824. white-space: nowrap;
  825. }
  826. >view:nth-of-type(1) {
  827. width: 64rpx;
  828. text-align: left;
  829. margin-right: 0;
  830. }
  831. >view:nth-of-type(2) {
  832. width: 270rpx;
  833. }
  834. >view:last-child {
  835. margin-right: 0;
  836. }
  837. }
  838. }
  839. }
  840. }
  841. .table-three {
  842. width: 720rpx;
  843. margin: 20rpx 0 0 30rpx;
  844. .table-border {
  845. width: auto;
  846. overflow: auto;
  847. .table-th {
  848. width: 1510rpx;
  849. padding: 0 30rpx;
  850. box-sizing: border-box;
  851. background: rgba(162, 162, 162, 0.2);
  852. border-radius: 20rpx 20rpx 0rpx 0rpx;
  853. .table-th-li {
  854. height: 80rpx;
  855. display: flex;
  856. justify-content: flex-start;
  857. >view {
  858. font-weight: 400;
  859. font-size: 30rpx;
  860. color: #FFFFFF;
  861. line-height: 80rpx;
  862. text-align: center;
  863. margin-right: 38rpx;
  864. width: 120rpx;
  865. overflow: hidden;
  866. text-overflow: ellipsis;
  867. white-space: nowrap;
  868. }
  869. >view:nth-of-type(1) {
  870. width: 116rpx;
  871. text-align: left;
  872. margin-right: 0;
  873. }
  874. >view:nth-of-type(2) {
  875. width: 168rpx;
  876. }
  877. >view:last-child {
  878. margin-right: 0;
  879. width: 228rpx;
  880. }
  881. }
  882. }
  883. .table-tb {
  884. width: 1510rpx;
  885. background: #3E414F;
  886. padding: 0 30rpx;
  887. box-sizing: border-box;
  888. .table-tb-li {
  889. height: 80rpx;
  890. border-bottom: 1rpx dashed rgba(216, 216, 216, 0.2);
  891. display: flex;
  892. justify-content: flex-start;
  893. >view {
  894. font-weight: 400;
  895. font-size: 28rpx;
  896. color: #FFFFFF;
  897. line-height: 80rpx;
  898. text-align: center;
  899. margin-right: 38rpx;
  900. width: 120rpx;
  901. overflow: hidden;
  902. text-overflow: ellipsis;
  903. white-space: nowrap;
  904. }
  905. >view:nth-of-type(1) {
  906. width: 116rpx;
  907. text-align: left;
  908. margin-right: 0;
  909. }
  910. >view:nth-of-type(2) {
  911. width: 168rpx;
  912. }
  913. >view:last-child {
  914. margin-right: 0;
  915. width: 228rpx;
  916. }
  917. }
  918. }
  919. }
  920. }
  921. }
  922. </style>