audit-project-rect-statistics.vue 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740
  1. <template>
  2. <div :class="$style.personalStatistics">
  3. <a-card :class="$style.conditions">
  4. <a-form-model
  5. ref="StatisticsSearchForm"
  6. class="ant-advanced-search-form"
  7. :model="rectForm"
  8. :rules="rectRules"
  9. v-bind="formItemLayout"
  10. >
  11. <div>
  12. <a-card>
  13. <a-row :gutter="24" :class="$style.antformitem">
  14. <a-col :span="8">
  15. <span>查询维度: </span>
  16. <a-radio-group
  17. v-model="radioValue"
  18. :class="$style.radioGroup"
  19. @change="radioOnChange"
  20. >
  21. <a-radio :value="'01'">
  22. 审计情况
  23. </a-radio>
  24. <a-radio :value="'02'">
  25. 被审计情况
  26. </a-radio>
  27. </a-radio-group>
  28. </a-col>
  29. </a-row>
  30. </a-card>
  31. </div>
  32. <a-row :gutter="24" :class="$style.antformitem">
  33. <a-col :span="8">
  34. <a-form-model-item label="年度" prop="timeRange">
  35. <AuditRangePicker :time-range.sync="rectForm.timeRange" />
  36. </a-form-model-item>
  37. </a-col>
  38. <a-col :span="8">
  39. <a-form-model-item label="审计机构" prop="unitNames">
  40. <AuditGroupPicker
  41. ref="unitNames"
  42. v-model="rectForm.unitNames"
  43. :single="false"
  44. :read-only="false"
  45. :root-node="rootNode"
  46. />
  47. </a-form-model-item>
  48. </a-col>
  49. <a-col :span="8">
  50. <a-form-model-item label="审计类型" prop="auditType">
  51. <sd-select
  52. v-model="rectForm.auditType"
  53. :allow-clear="true"
  54. :options="auditTypeOptions"
  55. mode="multiple"
  56. />
  57. </a-form-model-item>
  58. </a-col>
  59. <a-col :span="8">
  60. <div :class="$style.buttonContent">
  61. <a-button @click="handleReset">重置</a-button>
  62. <a-button type="primary" @click="handleRectStatistics('serach')">查询</a-button>
  63. <a-button
  64. :loading="exportLoading"
  65. type="primary"
  66. @click="handleRectStatistics('export')"
  67. >导出</a-button
  68. >
  69. </div>
  70. </a-col>
  71. </a-row>
  72. </a-form-model>
  73. </a-card>
  74. <p :class="$style.tableTitle"> 审计项目整改完成情况及成果统计表 </p>
  75. <a-card class="reporttablecardxm">
  76. <div v-show="false" id="hj">
  77. <sd-data-table-hj
  78. ref="dataTablehj"
  79. :key="dataKeysum"
  80. :process-req="processReqsum"
  81. :columns="columnssum"
  82. :projectlist="true"
  83. :defultpagination-pagesize="10"
  84. data-url="api/xcoa-mobile/v1/spicAuditReportList/projectRectStatisticsList"
  85. @dataLoaded1="dataLoadedsum"
  86. @fnonloadsum="fnonloadsum"
  87. >
  88. </sd-data-table-hj>
  89. </div>
  90. <sd-data-table
  91. ref="dataTable"
  92. :key="dataKey"
  93. :columns="columns"
  94. :projectlist="true"
  95. :process-req="processReq"
  96. :defultpagination-pagesize="10"
  97. data-url="api/xcoa-mobile/v1/spicAuditReportList/projectRectStatisticsList"
  98. @dataLoaded="dataLoaded"
  99. >
  100. </sd-data-table>
  101. </a-card>
  102. </div>
  103. </template>
  104. <script>
  105. import moment from 'moment'
  106. import components from './_import-components/audit-project-rect-statistics-import'
  107. import AuditRangePicker from '@product/iam/components/picker/audit-range-picker.vue'
  108. import AuditGroupPicker from '@product/iam/components/picker/audit-group-picker.vue'
  109. import { message } from '@/common/one-ui'
  110. import download from '@/common/services/download'
  111. import axios from '@/common/services/axios-instance'
  112. import { getUserInfo } from '@/common/store-mixin'
  113. export default {
  114. name: 'AuditProjectRectStatistics',
  115. metaInfo: {
  116. title: '审计项目整改完成情况及成果统计表',
  117. },
  118. components: {
  119. ...components,
  120. AuditRangePicker,
  121. AuditGroupPicker,
  122. },
  123. data() {
  124. return {
  125. auditTypeOptions: [],
  126. exportLoading: false,
  127. radioValue: '01',
  128. radioType: true,
  129. dataKey: 0,
  130. columns: [
  131. {
  132. title: '序号',
  133. dataIndex: 'id',
  134. width: '100px',
  135. },
  136. {
  137. title: '项目名称',
  138. dataIndex: 'projectTitle',
  139. width: '300px',
  140. },
  141. {
  142. title: '项目实施年度',
  143. dataIndex: 'planYear',
  144. width: '200px',
  145. },
  146. {
  147. title: '纠正违规金额(万元)',
  148. dataIndex: 'accounts',
  149. width: '200px',
  150. },
  151. {
  152. title: '节约成本费用数额(万元)',
  153. dataIndex: 'svaingSum',
  154. width: '250px',
  155. },
  156. {
  157. title: '挽回损失(万元)',
  158. dataIndex: 'improperSum',
  159. width: '200px',
  160. },
  161. {
  162. title: '增加收入数额(万元)',
  163. dataIndex: 'recoverySum',
  164. width: '200px',
  165. },
  166. {
  167. title: '督促清理往来款项收回资金(万元)',
  168. dataIndex: 'wasteAmount',
  169. width: '300px',
  170. },
  171. {
  172. title: '工程结算及竣工决算项目数量(个)',
  173. dataIndex: 'completionNumber',
  174. width: '300px',
  175. },
  176. {
  177. title: '新建修订制度、流程、标准数量(项)',
  178. dataIndex: 'itemNum',
  179. width: '330px',
  180. },
  181. {
  182. title: '追责问责',
  183. children: [
  184. {
  185. title: '追责问责人次',
  186. dataIndex: 'personNum',
  187. width: '200px',
  188. },
  189. {
  190. title: '经济处罚金额(万元)',
  191. dataIndex: 'economicMoney',
  192. width: '200px',
  193. },
  194. ],
  195. },
  196. {
  197. title: '移送纪检监察线索(条)',
  198. dataIndex: 'clue',
  199. width: '250px',
  200. },
  201. {
  202. title: '整改完成情况',
  203. children: [
  204. {
  205. title: '审计发现主要问题汇总表问题数量',
  206. dataIndex: 'findNum',
  207. width: '300px',
  208. },
  209. {
  210. title: '审计发现主要问题汇总表累计整改完成率(%)',
  211. dataIndex: 'rectRates',
  212. width: '400px',
  213. },
  214. {
  215. title: '审计发现主要问题汇总表到期整改完成率(%)',
  216. dataIndex: 'rectRate',
  217. width: '400px',
  218. },
  219. {
  220. title: '审计意见书问题数量(个)',
  221. dataIndex: 'giveOptionsNum',
  222. width: '250px',
  223. },
  224. {
  225. title: '审计意见书累计整改完成率(%)',
  226. dataIndex: 'optionsRectRates',
  227. width: '400px',
  228. },
  229. {
  230. title: '审计意见书到期整改完成率(%)',
  231. dataIndex: 'optionsRectRate',
  232. width: '400px',
  233. },
  234. {
  235. title: '审计建议数量(条)',
  236. dataIndex: 'suggestion',
  237. width: '200px',
  238. },
  239. {
  240. title: '建议采纳率(%)',
  241. dataIndex: 'rectTypeRate',
  242. width: '200px',
  243. },
  244. {
  245. title: '揭示风险(条)',
  246. dataIndex: 'peoblemNatuer',
  247. width: '200px',
  248. },
  249. {
  250. title: '截止本月审计发现主要问题汇总表问题整改完成数',
  251. dataIndex: 'wanChengNum',
  252. width: '400px',
  253. },
  254. {
  255. title: '截止本月审计意见书问题整改完成数',
  256. dataIndex: 'wanChengOptionsNum',
  257. width: '300px',
  258. },
  259. ],
  260. },
  261. ],
  262. columnssum: [
  263. {
  264. title: '年度',
  265. dataIndex: 'sumName',
  266. width: '200px',
  267. },
  268. {
  269. title: '纠正违规金额(万元)',
  270. dataIndex: 'accountsTotal',
  271. width: '200px',
  272. },
  273. {
  274. title: '节约成本费用数额(万元)',
  275. dataIndex: 'svaingSumTotal',
  276. width: '250px',
  277. },
  278. {
  279. title: '挽回损失(万元)',
  280. dataIndex: 'improperSumTotal',
  281. width: '200px',
  282. },
  283. {
  284. title: '增加收入数额(万元)',
  285. dataIndex: 'recoverySumTotal',
  286. width: '200px',
  287. },
  288. {
  289. title: '督促清理往来款项收回资金(万元)',
  290. dataIndex: 'wasteAmountTotal',
  291. width: '300px',
  292. },
  293. {
  294. title: '工程结算及竣工决算项目数量(个)',
  295. dataIndex: 'completionNumberTotal',
  296. width: '300px',
  297. },
  298. {
  299. title: '新建修订制度、流程、标准数量(项)',
  300. dataIndex: 'itemNumTotal',
  301. width: '330px',
  302. },
  303. {
  304. title: '追责问责人次',
  305. dataIndex: 'personNumTotal',
  306. width: '200px',
  307. },
  308. {
  309. title: '经济处罚金额(万元)',
  310. dataIndex: 'economicMoneyTotal',
  311. width: '200px',
  312. },
  313. {
  314. title: '移送纪检监察线索(条)',
  315. dataIndex: 'clueTotal',
  316. width: '250px',
  317. },
  318. {
  319. title: '审计发现主要问题汇总表问题数量',
  320. dataIndex: 'findNumTotal',
  321. width: '300px',
  322. },
  323. {
  324. title: '审计发现主要问题汇总表累计整改完成率(%)',
  325. dataIndex: 'rectRatesTotal',
  326. width: '400px',
  327. },
  328. {
  329. title: '审计发现主要问题汇总表到期整改完成率(%)',
  330. dataIndex: 'rectRateTotal',
  331. width: '400px',
  332. },
  333. {
  334. title: '审计意见书问题数量(个)',
  335. dataIndex: 'giveOptionsNumTotal',
  336. width: '250px',
  337. },
  338. {
  339. title: '审计意见书累计整改完成率(%)',
  340. dataIndex: 'optionsRectRatesTotal',
  341. width: '400px',
  342. },
  343. {
  344. title: '审计意见书到期整改完成率(%)',
  345. dataIndex: 'optionsRectRateTotal',
  346. width: '400px',
  347. },
  348. {
  349. title: '审计建议数量(条)',
  350. dataIndex: 'suggestionTotal',
  351. width: '200px',
  352. },
  353. {
  354. title: '建议采纳率(%)',
  355. dataIndex: 'rectTypeRateTotal',
  356. width: '200px',
  357. },
  358. {
  359. title: '揭示风险(条)',
  360. dataIndex: 'peoblemNatuerTotal',
  361. width: '200px',
  362. },
  363. {
  364. title: '截止本月审计发现主要问题汇总表问题整改完成数',
  365. dataIndex: 'wanChengNumTotal',
  366. width: '400px',
  367. },
  368. {
  369. title: '截止本月审计意见书问题整改完成数',
  370. dataIndex: 'wanChengOptionsNumTotal',
  371. width: '300px',
  372. },
  373. ],
  374. reqData: {
  375. dateStart: '',
  376. dateEnd: '',
  377. unitNames: '',
  378. auditType: '',
  379. },
  380. rectForm: {
  381. unitNames: [],
  382. timeRange: [],
  383. auditType: [],
  384. },
  385. rectRules: {
  386. timeRange: [{ required: true, message: '请选择统计时间', trigger: 'change' }],
  387. unitNames: [{ required: true, message: '请选择审计机构', trigger: 'change' }],
  388. },
  389. formItemLayout: {
  390. labelCol: { span: 6 },
  391. wrapperCol: { span: 14 },
  392. },
  393. rootNode: {},
  394. hj: {},
  395. hjarr: [],
  396. dataKeysum: 0,
  397. }
  398. },
  399. // computed: {
  400. // dataUrl() {
  401. // debugger
  402. // const userInfo = getUserInfo()
  403. // const id = userInfo.getdeptId + ''
  404. // const date = new Date()
  405. // const year = date.getFullYear
  406. // return (
  407. // 'api/xcoa-mobile/v1/spicAuditReportList/projectRectStatisticsList?dateStart=' +
  408. // year +
  409. // '&dateEnd=' +
  410. // year +
  411. // 'unitIds=' +
  412. // id
  413. // )
  414. // },
  415. // },
  416. created() {
  417. let userInfo = getUserInfo()
  418. const params = {
  419. orgId: userInfo.deptId,
  420. }
  421. axios({
  422. url: 'api/xcoa-mobile/v1/iamorg/getCurrentUserGroup',
  423. method: 'get',
  424. }).then((res) => {
  425. userInfo = res.data
  426. params.orgId = res.data.id
  427. axios({
  428. url: 'api/xcoa-mobile/v1/iamorg/findIamOrg',
  429. method: 'post',
  430. params,
  431. }).then((res) => {
  432. this.id = res.data.id
  433. const deptCode = res.data.orgId + ''
  434. const deptName = res.data.orgName
  435. this.rootNode = { code: deptCode, name: deptName, id: this.id }
  436. })
  437. })
  438. },
  439. mounted() {
  440. const ym =
  441. 'accountsTotal;svaingSumTotal;improperSumTotal;recoverySumTotal;wasteAmountTotal;' +
  442. 'completionNumberTotal;itemNumTotal;personNumTotal;economicMoneyTotal;clueTotal;findNumTotal;' +
  443. 'rectRatesTotal;rectRateTotal;giveOptionsNumTotal;optionsRectRatesTotal;optionsRectRateTotal;' +
  444. 'suggestionTotal;rectTypeRateTotal;peoblemNatuerTotal;wanChengNumTotal;wanChengOptionsNumTotal'
  445. const arrym = ym.split(';')
  446. this.hjarr = arrym
  447. this.tableResize()
  448. // 初始化审计类型数据字典信息
  449. this.initDictionaryInfo()
  450. this.initDatePicker()
  451. this.initGroupPicker()
  452. // this.handleRectStatistics('serach')
  453. },
  454. methods: {
  455. radioOnChange(e, info) {
  456. debugger
  457. if (this.radioValue === '01') {
  458. this.rectRules.unitNames[0].required = true
  459. this.initGroupPicker()
  460. } else {
  461. this.rectRules.unitNames[0].required = false
  462. this.rectForm.unitNames = []
  463. this.handleRectStatistics('serach')
  464. }
  465. },
  466. initDatePicker() {
  467. const datePick = []
  468. const time = moment(new Date())
  469. datePick.push(time)
  470. datePick.push(time)
  471. this.rectForm.timeRange = datePick
  472. },
  473. initGroupPicker() {
  474. let userInfo = getUserInfo()
  475. const params = {
  476. orgId: userInfo.deptId,
  477. }
  478. axios({
  479. url: 'api/xcoa-mobile/v1/iamorg/getCurrentUserGroup',
  480. method: 'get',
  481. }).then((res) => {
  482. userInfo = res.data
  483. params.orgId = res.data.id
  484. axios({
  485. url: 'api/xcoa-mobile/v1/iamorg/findIamOrg',
  486. method: 'post',
  487. params,
  488. }).then((res) => {
  489. const userDeptValue = []
  490. const userDept = {
  491. code: res.data.orgId + '',
  492. name: res.data.orgName,
  493. text: res.data.orgName,
  494. id: res.data.orgId,
  495. type: 'Group',
  496. }
  497. userDeptValue.push(userDept)
  498. this.rectForm.unitNames = userDeptValue
  499. this.$refs.StatisticsSearchForm.validate()
  500. this.handleRectStatistics('serach')
  501. })
  502. })
  503. },
  504. initDictionaryInfo() {
  505. axios({
  506. url: 'api/xcoa-mobile/v1/iam-law/dictionary?key=PRODUCT_IAM_AUDIT_TYPE',
  507. method: 'get',
  508. }).then((res) => {
  509. if (res.status === 200) {
  510. this.auditTypeOptions = res.data
  511. }
  512. })
  513. },
  514. dataLoadedsum(res) {
  515. if (res.data.length) {
  516. res.data.splice(0, res.data.length)
  517. const obj = {}
  518. let j = 0
  519. this.columnssum.forEach((item, index) => {
  520. if (index > 0) {
  521. obj[item.dataIndex] = res.respData[this.hjarr[j]]
  522. j++
  523. }
  524. })
  525. obj.id = 1
  526. obj.sumName = '合计'
  527. res.data.push(obj)
  528. return res
  529. }
  530. },
  531. fnonloadsum() {
  532. // 先删除合计行
  533. document.querySelectorAll('.ant-table-tbody .childsum').forEach((item) => item.remove())
  534. setTimeout(() => {
  535. if (
  536. document
  537. .getElementById('hj')
  538. .getElementsByClassName('ant-table-tbody')[0]
  539. .getElementsByTagName('tr').length > 0
  540. ) {
  541. const obj = document.getElementById('hj').getElementsByClassName('ant-table-tbody')[0]
  542. .firstChild
  543. obj.firstChild.colSpan = 3
  544. obj.classList.add('childsum')
  545. document.getElementsByClassName('ant-table-tbody')[1].appendChild(obj)
  546. }
  547. }, 0)
  548. },
  549. tableResize() {
  550. document
  551. .getElementsByClassName('ant-table-empty')[0]
  552. .getElementsByClassName('ant-table-tbody')[0]
  553. .appendChild(document.getElementsByClassName('ant-table-placeholder')[0])
  554. var width = document.getElementsByClassName('ant-table-tbody')[0].offsetWidth
  555. document.getElementsByClassName('ant-table-placeholder')[0].style.width = `${width}%`
  556. },
  557. dataLoaded(res) {
  558. this.dataKeysum++
  559. if (res.data.length) {
  560. res.data.forEach((item, index) => {
  561. item.id = index + 1
  562. })
  563. } else {
  564. this.tableResize()
  565. }
  566. return res
  567. },
  568. handleReset() {
  569. this.$refs.StatisticsSearchForm.resetFields()
  570. },
  571. processReq(req, pagination) {
  572. req.data = {
  573. maxResults: req.data.maxResults,
  574. startPosition: req.data.startPosition,
  575. dateStart: this.reqData.dateStart,
  576. dateEnd: this.reqData.dateEnd,
  577. unitIds: this.reqData.unitNames,
  578. auditType: this.reqData.auditType,
  579. }
  580. return req
  581. },
  582. processReqsum(req, pagination) {
  583. req.data = {
  584. maxResults: req.data.maxResults,
  585. startPosition: req.data.startPosition,
  586. dateStart: this.reqData.dateStart,
  587. dateEnd: this.reqData.dateEnd,
  588. unitIds: this.reqData.unitNames,
  589. auditType: this.reqData.auditType,
  590. }
  591. return req
  592. },
  593. handleSearch() {
  594. this.reqData.startPosition = 0
  595. this.dataKey++
  596. this.dataKeysum++
  597. },
  598. handleRectStatistics(type) {
  599. this.$refs.StatisticsSearchForm.validate((valid, values) => {
  600. if (valid) {
  601. if (type === 'serach') {
  602. if (
  603. this.rectForm.timeRange.length === 0 &&
  604. this.rectForm.unitNames.length === 0 &&
  605. this.problemForm.auditType.length === 0
  606. ) {
  607. this.handleSearch()
  608. } else {
  609. // 处理时间
  610. this.reqData.dateStart = this.rectForm.timeRange[0].year() + ''
  611. this.reqData.dateEnd = this.rectForm.timeRange[1].year() + ''
  612. // 处理部门
  613. const arr = []
  614. this.rectForm.unitNames.forEach((item) => {
  615. arr.push(`'${item.id}'`)
  616. })
  617. this.reqData.unitNames = arr.join(',')
  618. this.reqData.unitIds = arr.join(',')
  619. if (this.rectForm.auditType.length !== 0) {
  620. const auditTypes = []
  621. this.rectForm.auditType.forEach((item) => {
  622. auditTypes.push(`'${item.id}'`)
  623. })
  624. this.reqData.auditType = auditTypes.join(',')
  625. } else {
  626. this.reqData.auditType = ''
  627. }
  628. this.handleSearch()
  629. }
  630. } else {
  631. debugger
  632. if (this.rectForm.timeRange.length === 0 && this.rectForm.unitNames.length === 0) {
  633. this.projectRectExport()
  634. } else {
  635. // 处理时间
  636. this.reqData.dateStart = this.rectForm.timeRange[0].year() + ''
  637. this.reqData.dateEnd = this.rectForm.timeRange[1].year() + ''
  638. // 处理部门
  639. const arr = []
  640. this.rectForm.unitNames.forEach((item) => {
  641. arr.push(`'${item.id}'`)
  642. })
  643. this.reqData.unitNames = arr.join(',')
  644. this.reqData.unitIds = arr.join(',')
  645. if (this.rectForm.auditType.length !== 0) {
  646. const auditTypes = []
  647. this.rectForm.auditType.forEach((item) => {
  648. auditTypes.push(`'${item.id}'`)
  649. })
  650. this.reqData.auditType = auditTypes.join(',')
  651. } else {
  652. this.reqData.auditType = ''
  653. }
  654. this.projectRectExport()
  655. }
  656. }
  657. }
  658. })
  659. },
  660. projectRectExport() {
  661. axios({
  662. method: 'post',
  663. url: 'api/xcoa-mobile/v1/spicAuditReportExport/exportProjectRectStatistics',
  664. responseType: 'blob',
  665. data: {
  666. unitIds: this.reqData.unitIds,
  667. dateStart: this.reqData.dateStart,
  668. dateEnd: this.reqData.dateEnd,
  669. auditType: this.reqData.auditType,
  670. },
  671. }).then((res) => {
  672. const url = URL.createObjectURL(res.data)
  673. download(url, '审计项目整改完成情况及成果统计表.xls')
  674. })
  675. },
  676. },
  677. }
  678. </script>
  679. <style module lang="scss">
  680. @use '@/common/design' as *;
  681. .personalStatistics {
  682. :global(.ant-table-body) {
  683. overflow-x: scroll !important;
  684. }
  685. :global(.ant-form-item) {
  686. margin: 0;
  687. }
  688. :global(.ant-table-empty) {
  689. :global(.ant-table-body) {
  690. overflow-x: scroll !important;
  691. }
  692. }
  693. .conditions {
  694. margin-bottom: 20px;
  695. }
  696. .buttonContent {
  697. padding-top: 6px;
  698. text-align: right;
  699. button {
  700. margin: 0 4px;
  701. }
  702. }
  703. :global(.anticon-setting) {
  704. display: none;
  705. }
  706. .tableTitle {
  707. padding-top: 16px;
  708. margin: 0;
  709. font-size: 22px;
  710. font-weight: bold;
  711. color: #404040;
  712. text-align: center;
  713. background: white;
  714. }
  715. :global(.reporttablecardxm) {
  716. :global(.ant-table-body) {
  717. height: auto !important;
  718. min-height: auto !important;
  719. overflow: auto;
  720. }
  721. }
  722. :global(.ant-table-placeholder) {
  723. height: auto !important;
  724. }
  725. }
  726. </style>