securityHidden.vue 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011
  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, 15],
  124. dataLabel: true,
  125. enableScroll: false,
  126. fontColor: '#ffffff',
  127. legend: {
  128. show: false,
  129. },
  130. xAxis: {
  131. boundaryGap: "justify",
  132. disableGrid: false,
  133. min: 0,
  134. axisLine: false,
  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. name.push(item.name)
  428. list.push(item.num)
  429. }
  430. })
  431. //图表
  432. let res = {
  433. categories: name,
  434. series: [{
  435. name: "",
  436. data: list
  437. }, ]
  438. };
  439. this.chartDataTow = JSON.parse(JSON.stringify(res));
  440. } else {
  441. //图表
  442. let res = {
  443. categories: ['无数据'],
  444. series: [{
  445. name: "",
  446. data: [0]
  447. }]
  448. };
  449. this.chartDataTow = JSON.parse(JSON.stringify(res));
  450. }
  451. this.column3 = JSON.parse(JSON.stringify(column3));
  452. }
  453. },
  454. //暂无法整改
  455. async securityCheckDangerNotHazardOneCollect(planId) {
  456. let self = this;
  457. let obj = {
  458. rectifyStatus: 4,
  459. planId: planId
  460. };
  461. const {
  462. data
  463. } = await securityCheckDangerNotHazardOneCollect(obj);
  464. if (data.code == 200) {
  465. //列表
  466. this.$set(this, 'dataListTow', data.data.head);
  467. this.$set(this, 'dataListThree', data.data.list);
  468. let column3 = [{
  469. type: 'index',
  470. label: '排行',
  471. fixed: true,
  472. width: 60,
  473. align: 'center',
  474. },
  475. {
  476. name: 'deptSortName',
  477. label: '学院单位',
  478. fixed: true,
  479. width: 80,
  480. align: 'center',
  481. },
  482. {
  483. name: 'hazardNum',
  484. label: '总隐患',
  485. align: 'center',
  486. },
  487. ]
  488. if (data.data.head[0]) {
  489. let name = [];
  490. let list = [];
  491. data.data.head.forEach(function(item, index) {
  492. if (index < 5) {
  493. column3.push({
  494. name: item.code,
  495. label: item.name,
  496. align: 'center',
  497. })
  498. name.push(item.name)
  499. list.push(item.num)
  500. }
  501. })
  502. //图表
  503. let res = {
  504. categories: name,
  505. series: [{
  506. name: "",
  507. data: list
  508. }, ]
  509. };
  510. this.chartDataTow = JSON.parse(JSON.stringify(res));
  511. } else {
  512. //图表
  513. let res = {
  514. categories: ['无数据'],
  515. series: [{
  516. name: "",
  517. data: [0]
  518. }]
  519. };
  520. this.chartDataTow = JSON.parse(JSON.stringify(res));
  521. }
  522. this.column3 = JSON.parse(JSON.stringify(column3));
  523. }
  524. },
  525. },
  526. }
  527. </script>
  528. <style lang="stylus" scoped>
  529. .hazardSources {
  530. height: 100%;
  531. width: 100%;
  532. background: #363744;
  533. .small-title {
  534. width: 750rpx;
  535. height: 80rpx;
  536. background: #3E414F;
  537. display: flex;
  538. justify-content: space-between;
  539. align-items: center;
  540. padding: 0 20rpx 0 30rpx;
  541. box-sizing: border-box;
  542. margin-top: 2rpx;
  543. .small-title-l {
  544. flex: 1;
  545. font-weight: 400;
  546. font-size: 30rpx;
  547. color: #FFFFFF;
  548. line-height: 42rpx;
  549. overflow: hidden;
  550. text-overflow: ellipsis;
  551. white-space: nowrap;
  552. }
  553. .small-title-r {
  554. width: 14rpx;
  555. height: 8rpx;
  556. }
  557. }
  558. .chart {
  559. width: 690rpx;
  560. height: 520rpx;
  561. background: #3E414F;
  562. border-radius: 20rpx 20rpx 20rpx 20rpx;
  563. margin: 20rpx 30rpx 0;
  564. overflow: hidden;
  565. .chart-t {
  566. width: 570rpx;
  567. height: 50rpx;
  568. display: flex;
  569. justify-content: flex-start;
  570. border: 1rpx solid #52545F;
  571. border-radius: 10rpx;
  572. margin: 30rpx 0 0 72rpx;
  573. .chart-t-li {
  574. width: 190rpx;
  575. font-weight: 400;
  576. font-size: 28rpx;
  577. line-height: 50rpx;
  578. text-align: center;
  579. background: none;
  580. }
  581. .chart-t-li:nth-of-type(1) {
  582. border-right: 1rpx solid #52545F;
  583. }
  584. .chart-t-li:nth-of-type(2) {
  585. border-right: 1rpx solid #52545F;
  586. }
  587. .color-A {
  588. color: #FFFFFF;
  589. background: #52545F;
  590. }
  591. .color-B {
  592. color: #999999;
  593. background: none;
  594. }
  595. }
  596. .chart-b {
  597. width: 630rpx;
  598. height: 334rpx;
  599. margin-left: 30rpx;
  600. }
  601. .chart-b2 {
  602. width: 630rpx;
  603. margin: 0 30rpx;
  604. height: 106rx;
  605. display: flex;
  606. justify-content: flex-start;
  607. align-items: center;
  608. .chart-b2-li {
  609. flex: 1;
  610. .chart-b2-li-t {
  611. margin-top: 10rpx;
  612. text-align: center;
  613. >text:nth-of-type(1) {
  614. display: inline-block;
  615. width: 24rpx;
  616. height: 24rpx;
  617. background: #FF0000;
  618. border-radius: 6rpx 6rpx 6rpx 6rpx;
  619. margin-right: 10rpx;
  620. font-weight: 400;
  621. font-size: 22rpx;
  622. color: #FFFFFF;
  623. line-height: 24rpx;
  624. text-align: center;
  625. }
  626. >text:nth-of-type(2) {
  627. font-weight: 400;
  628. font-size: 24rpx;
  629. color: #FFFFFF;
  630. line-height: 34rpx;
  631. }
  632. }
  633. .chart-b2-li-b {
  634. margin-top: 10rpx;
  635. font-weight: 400;
  636. font-size: 24rpx;
  637. color: #FFFFFF;
  638. line-height: 34rpx;
  639. text-align: center;
  640. }
  641. }
  642. }
  643. .chart-b-tow {
  644. width: 630rpx;
  645. height: 440rpx;
  646. margin-left: 30rpx;
  647. }
  648. }
  649. .tabTitle_tow {
  650. width: 750rpx;
  651. height: 80rpx;
  652. white-space: nowrap;
  653. display: inline-flex;
  654. background: #3E414F;
  655. margin-top: 20rpx;
  656. padding-left: 35rpx;
  657. .tabTitle_tow_li {
  658. position: relative;
  659. width: 152rpx;
  660. height: 80rpx;
  661. text-align center;
  662. padding-top: 18rpx;
  663. box-sizing: border-box;
  664. .tabTitle_tow_text {
  665. display: inline-block;
  666. font-size: 32rpx;
  667. font-family: PingFang SC;
  668. font-weight: 500;
  669. color: #FFFFFF;
  670. line-height: 46rpx;
  671. position: relative;
  672. &.on {
  673. color: #0183FA;
  674. }
  675. }
  676. .tabTitle_tow_across {
  677. width: 50rpx;
  678. height: 4rpx;
  679. background: #0183FA;
  680. border-radius: 2rpx;
  681. margin-left: 33%;
  682. margin-top: 16rpx;
  683. display none;
  684. &.on {
  685. display block;
  686. }
  687. }
  688. }
  689. }
  690. .table {
  691. width: 690rpx;
  692. margin-top: 20rpx;
  693. margin-left: 30rpx;
  694. border-radius: 20rpx 20rpx 0 0;
  695. overflow: hidden;
  696. }
  697. .sortOne {
  698. display: inline-block;
  699. width: 40rpx;
  700. height: 40rpx;
  701. padding: 4rpx;
  702. box-sizing: border-box;
  703. background: rgba(255, 0, 0, 0.2);
  704. font-weight: 400;
  705. font-size: 28rpx;
  706. color: #FF0000;
  707. line-height: 40rpx;
  708. text-align: center;
  709. border-radius: 20rpx;
  710. }
  711. .sortTow {
  712. display: inline-block;
  713. width: 40rpx;
  714. height: 40rpx;
  715. padding: 4rpx;
  716. box-sizing: border-box;
  717. background: rgba(255, 153, 0, 0.2);
  718. font-weight: 400;
  719. font-size: 28rpx;
  720. color: #FF9900;
  721. line-height: 40rpx;
  722. text-align: center;
  723. border-radius: 20rpx;
  724. }
  725. .sortThree {
  726. display: inline-block;
  727. width: 40rpx;
  728. height: 40rpx;
  729. padding: 4rpx;
  730. box-sizing: border-box;
  731. background: rgba(255, 242, 0, 0.2);
  732. font-weight: 400;
  733. font-size: 28rpx;
  734. color: #FFF200;
  735. line-height: 40rpx;
  736. text-align: center;
  737. border-radius: 20rpx;
  738. }
  739. .sortFive {
  740. display: inline-block;
  741. width: 40rpx;
  742. height: 40rpx;
  743. padding: 4rpx;
  744. box-sizing: border-box;
  745. background: rgba(1, 131, 250, 0.2);
  746. font-weight: 400;
  747. font-size: 28rpx;
  748. color: #0183FA;
  749. line-height: 40rpx;
  750. text-align: center;
  751. border-radius: 20rpx;
  752. }
  753. .table-tow {
  754. width: 690rpx;
  755. margin: 20rpx 0 0 30rpx;
  756. .table-border {
  757. width: auto;
  758. overflow: auto;
  759. .table-th {
  760. width: 690rpx;
  761. padding: 0 30rpx;
  762. box-sizing: border-box;
  763. background: rgba(162, 162, 162, 0.2);
  764. border-radius: 20rpx 20rpx 0rpx 0rpx;
  765. .table-th-li {
  766. height: 80rpx;
  767. display: flex;
  768. justify-content: flex-start;
  769. >view {
  770. font-weight: 400;
  771. font-size: 30rpx;
  772. color: #FFFFFF;
  773. line-height: 80rpx;
  774. text-align: center;
  775. margin-right: 38rpx;
  776. width: 120rpx;
  777. overflow: hidden;
  778. text-overflow: ellipsis;
  779. white-space: nowrap;
  780. }
  781. >view:nth-of-type(1) {
  782. width: 64rpx;
  783. text-align: left;
  784. margin-right: 0;
  785. }
  786. >view:nth-of-type(2) {
  787. width: 270rpx;
  788. }
  789. >view:last-child {
  790. margin-right: 0;
  791. }
  792. }
  793. }
  794. .table-tb {
  795. width: 690rpx;
  796. background: #3E414F;
  797. padding: 0 30rpx;
  798. box-sizing: border-box;
  799. .table-tb-li {
  800. height: 80rpx;
  801. border-bottom: 1rpx dashed rgba(216, 216, 216, 0.2);
  802. display: flex;
  803. justify-content: flex-start;
  804. >view {
  805. font-weight: 400;
  806. font-size: 28rpx;
  807. color: #FFFFFF;
  808. line-height: 80rpx;
  809. text-align: center;
  810. margin-right: 38rpx;
  811. width: 120rpx;
  812. overflow: hidden;
  813. text-overflow: ellipsis;
  814. white-space: nowrap;
  815. }
  816. >view:nth-of-type(1) {
  817. width: 64rpx;
  818. text-align: left;
  819. margin-right: 0;
  820. }
  821. >view:nth-of-type(2) {
  822. width: 270rpx;
  823. }
  824. >view:last-child {
  825. margin-right: 0;
  826. }
  827. }
  828. }
  829. }
  830. }
  831. .table-three {
  832. width: 720rpx;
  833. margin: 20rpx 0 0 30rpx;
  834. .table-border {
  835. width: auto;
  836. overflow: auto;
  837. .table-th {
  838. width: 1510rpx;
  839. padding: 0 30rpx;
  840. box-sizing: border-box;
  841. background: rgba(162, 162, 162, 0.2);
  842. border-radius: 20rpx 20rpx 0rpx 0rpx;
  843. .table-th-li {
  844. height: 80rpx;
  845. display: flex;
  846. justify-content: flex-start;
  847. >view {
  848. font-weight: 400;
  849. font-size: 30rpx;
  850. color: #FFFFFF;
  851. line-height: 80rpx;
  852. text-align: center;
  853. margin-right: 38rpx;
  854. width: 120rpx;
  855. overflow: hidden;
  856. text-overflow: ellipsis;
  857. white-space: nowrap;
  858. }
  859. >view:nth-of-type(1) {
  860. width: 116rpx;
  861. text-align: left;
  862. margin-right: 0;
  863. }
  864. >view:nth-of-type(2) {
  865. width: 168rpx;
  866. }
  867. >view:last-child {
  868. margin-right: 0;
  869. width: 228rpx;
  870. }
  871. }
  872. }
  873. .table-tb {
  874. width: 1510rpx;
  875. background: #3E414F;
  876. padding: 0 30rpx;
  877. box-sizing: border-box;
  878. .table-tb-li {
  879. height: 80rpx;
  880. border-bottom: 1rpx dashed rgba(216, 216, 216, 0.2);
  881. display: flex;
  882. justify-content: flex-start;
  883. >view {
  884. font-weight: 400;
  885. font-size: 28rpx;
  886. color: #FFFFFF;
  887. line-height: 80rpx;
  888. text-align: center;
  889. margin-right: 38rpx;
  890. width: 120rpx;
  891. overflow: hidden;
  892. text-overflow: ellipsis;
  893. white-space: nowrap;
  894. }
  895. >view:nth-of-type(1) {
  896. width: 116rpx;
  897. text-align: left;
  898. margin-right: 0;
  899. }
  900. >view:nth-of-type(2) {
  901. width: 168rpx;
  902. }
  903. >view:last-child {
  904. margin-right: 0;
  905. width: 228rpx;
  906. }
  907. }
  908. }
  909. }
  910. }
  911. }
  912. </style>