securityHidden.vue 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020
  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="imagesUrl('commonality/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:6rpx auto 0;
  692. display none;
  693. &.on {
  694. display block;
  695. }
  696. }
  697. }
  698. }
  699. .table {
  700. width: 690rpx;
  701. margin-top: 20rpx;
  702. margin-left: 30rpx;
  703. border-radius: 20rpx 20rpx 0 0;
  704. overflow: hidden;
  705. }
  706. .sortOne {
  707. display: inline-block;
  708. width: 40rpx;
  709. height: 40rpx;
  710. padding: 4rpx;
  711. box-sizing: border-box;
  712. background: rgba(255, 0, 0, 0.2);
  713. font-weight: 400;
  714. font-size: 28rpx;
  715. color: #FF0000;
  716. line-height: 40rpx;
  717. text-align: center;
  718. border-radius: 20rpx;
  719. }
  720. .sortTow {
  721. display: inline-block;
  722. width: 40rpx;
  723. height: 40rpx;
  724. padding: 4rpx;
  725. box-sizing: border-box;
  726. background: rgba(255, 153, 0, 0.2);
  727. font-weight: 400;
  728. font-size: 28rpx;
  729. color: #FF9900;
  730. line-height: 40rpx;
  731. text-align: center;
  732. border-radius: 20rpx;
  733. }
  734. .sortThree {
  735. display: inline-block;
  736. width: 40rpx;
  737. height: 40rpx;
  738. padding: 4rpx;
  739. box-sizing: border-box;
  740. background: rgba(255, 242, 0, 0.2);
  741. font-weight: 400;
  742. font-size: 28rpx;
  743. color: #FFF200;
  744. line-height: 40rpx;
  745. text-align: center;
  746. border-radius: 20rpx;
  747. }
  748. .sortFive {
  749. display: inline-block;
  750. width: 40rpx;
  751. height: 40rpx;
  752. padding: 4rpx;
  753. box-sizing: border-box;
  754. background: rgba(1, 131, 250, 0.2);
  755. font-weight: 400;
  756. font-size: 28rpx;
  757. color: #0183FA;
  758. line-height: 40rpx;
  759. text-align: center;
  760. border-radius: 20rpx;
  761. }
  762. .table-tow {
  763. width: 690rpx;
  764. margin: 20rpx 0 0 30rpx;
  765. .table-border {
  766. width: auto;
  767. overflow: auto;
  768. .table-th {
  769. width: 690rpx;
  770. padding: 0 30rpx;
  771. box-sizing: border-box;
  772. background: rgba(162, 162, 162, 0.2);
  773. border-radius: 20rpx 20rpx 0rpx 0rpx;
  774. .table-th-li {
  775. height: 80rpx;
  776. display: flex;
  777. justify-content: flex-start;
  778. >view {
  779. font-weight: 400;
  780. font-size: 30rpx;
  781. color: #FFFFFF;
  782. line-height: 80rpx;
  783. text-align: center;
  784. margin-right: 38rpx;
  785. width: 120rpx;
  786. overflow: hidden;
  787. text-overflow: ellipsis;
  788. white-space: nowrap;
  789. }
  790. >view:nth-of-type(1) {
  791. width: 64rpx;
  792. text-align: left;
  793. margin-right: 0;
  794. }
  795. >view:nth-of-type(2) {
  796. width: 270rpx;
  797. }
  798. >view:last-child {
  799. margin-right: 0;
  800. }
  801. }
  802. }
  803. .table-tb {
  804. width: 690rpx;
  805. background: #3E414F;
  806. padding: 0 30rpx;
  807. box-sizing: border-box;
  808. .table-tb-li {
  809. height: 80rpx;
  810. border-bottom: 1rpx dashed rgba(216, 216, 216, 0.2);
  811. display: flex;
  812. justify-content: flex-start;
  813. >view {
  814. font-weight: 400;
  815. font-size: 28rpx;
  816. color: #FFFFFF;
  817. line-height: 80rpx;
  818. text-align: center;
  819. margin-right: 38rpx;
  820. width: 120rpx;
  821. overflow: hidden;
  822. text-overflow: ellipsis;
  823. white-space: nowrap;
  824. }
  825. >view:nth-of-type(1) {
  826. width: 64rpx;
  827. text-align: left;
  828. margin-right: 0;
  829. }
  830. >view:nth-of-type(2) {
  831. width: 270rpx;
  832. }
  833. >view:last-child {
  834. margin-right: 0;
  835. }
  836. }
  837. }
  838. }
  839. }
  840. .table-three {
  841. width: 720rpx;
  842. margin: 20rpx 0 0 30rpx;
  843. .table-border {
  844. width: auto;
  845. overflow: auto;
  846. .table-th {
  847. width: 1510rpx;
  848. padding: 0 30rpx;
  849. box-sizing: border-box;
  850. background: rgba(162, 162, 162, 0.2);
  851. border-radius: 20rpx 20rpx 0rpx 0rpx;
  852. .table-th-li {
  853. height: 80rpx;
  854. display: flex;
  855. justify-content: flex-start;
  856. >view {
  857. font-weight: 400;
  858. font-size: 30rpx;
  859. color: #FFFFFF;
  860. line-height: 80rpx;
  861. text-align: center;
  862. margin-right: 38rpx;
  863. width: 120rpx;
  864. overflow: hidden;
  865. text-overflow: ellipsis;
  866. white-space: nowrap;
  867. }
  868. >view:nth-of-type(1) {
  869. width: 116rpx;
  870. text-align: left;
  871. margin-right: 0;
  872. }
  873. >view:nth-of-type(2) {
  874. width: 168rpx;
  875. }
  876. >view:last-child {
  877. margin-right: 0;
  878. width: 228rpx;
  879. }
  880. }
  881. }
  882. .table-tb {
  883. width: 1510rpx;
  884. background: #3E414F;
  885. padding: 0 30rpx;
  886. box-sizing: border-box;
  887. .table-tb-li {
  888. height: 80rpx;
  889. border-bottom: 1rpx dashed rgba(216, 216, 216, 0.2);
  890. display: flex;
  891. justify-content: flex-start;
  892. >view {
  893. font-weight: 400;
  894. font-size: 28rpx;
  895. color: #FFFFFF;
  896. line-height: 80rpx;
  897. text-align: center;
  898. margin-right: 38rpx;
  899. width: 120rpx;
  900. overflow: hidden;
  901. text-overflow: ellipsis;
  902. white-space: nowrap;
  903. }
  904. >view:nth-of-type(1) {
  905. width: 116rpx;
  906. text-align: left;
  907. margin-right: 0;
  908. }
  909. >view:nth-of-type(2) {
  910. width: 168rpx;
  911. }
  912. >view:last-child {
  913. margin-right: 0;
  914. width: 228rpx;
  915. }
  916. }
  917. }
  918. }
  919. }
  920. }
  921. </style>