audit-project-rect-statistics.vue 22 KB

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