audit-problem-rect-item.vue 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841
  1. <template>
  2. <div :class="$style.personalStatistics">
  3. <a-card :class="$style.conditions">
  4. <a-form-model
  5. ref="problemSearchForm"
  6. class="ant-advanced-search-form"
  7. :model="problemForm"
  8. :rules="problemRules"
  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="problemForm.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="problemForm.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="auditUnitedName">
  51. <sd-group-picker
  52. ref="auditUnitedName"
  53. v-model="problemForm.auditUnitedName"
  54. :single="false"
  55. :read-only="false"
  56. :root-node="rootNode"
  57. @change="changeunit"
  58. />
  59. </a-form-model-item>
  60. </a-col>
  61. </a-row>
  62. <a-row :gutter="24" :class="$style.antformitem">
  63. <a-col :span="8">
  64. <a-form-model-item label="项目分类" prop="auditType">
  65. <sd-select
  66. v-model="problemForm.auditType"
  67. :allow-clear="true"
  68. :options="auditTypeOptions"
  69. mode="multiple"
  70. />
  71. </a-form-model-item>
  72. </a-col>
  73. <!-- <a-col :span="8">
  74. <a-form-model-item label="被审计单位" prop="auditUnitedName">
  75. <AuditGroupPicker
  76. ref="auditUnitedName"
  77. v-model="problemForm.auditUnitedName"
  78. :single="false"
  79. :read-only="false"
  80. :root-node="rootNode"
  81. />
  82. </a-form-model-item>
  83. </a-col> -->
  84. <a-col :span="8">
  85. <a-form-model-item label="问题名称" prop="findTitle">
  86. <a-input v-model="problemForm.findTitle" />
  87. </a-form-model-item>
  88. </a-col>
  89. <a-col :span="8">
  90. <div :class="$style.buttonContent">
  91. <a-button @click="handleReset">重置</a-button>
  92. <a-button type="primary" @click="problemHandleAction('serach')">查询</a-button>
  93. <a-button
  94. :loading="exportLoading"
  95. type="primary"
  96. @click="problemHandleAction('export')"
  97. >导出</a-button
  98. >
  99. </div>
  100. </a-col>
  101. </a-row>
  102. </a-form-model>
  103. </a-card>
  104. <p :class="$style.tableTitle"> 审计问题整改明细台账 </p>
  105. <a-card class="reporttablecardxm">
  106. <sd-data-table
  107. ref="dataTable"
  108. :key="dataKey"
  109. :columns="columns"
  110. :process-req="processReq"
  111. :defultpagination-pagesize="10"
  112. data-url="api/xcoa-mobile/v1/spicAuditReportList/problemRectItemList"
  113. @dataLoaded="dataLoaded"
  114. >
  115. </sd-data-table>
  116. </a-card>
  117. </div>
  118. </template>
  119. <script>
  120. import moment from 'moment'
  121. import components from './_import-components/audit-problem-rect-item-import'
  122. import AuditRangePicker from '@product/iam/components/picker/audit-range-picker.vue'
  123. import AuditGroupPicker from '@product/iam/components/picker/audit-group-picker.vue'
  124. import auditAdvancedQueryMixins from '../../components/audit-advanced-query-mixins'
  125. import auditAdvancedGroupMixins from '../../components/audit-advanced-group-mixins'
  126. import { message } from '@/common/one-ui'
  127. import download from '@/common/services/download'
  128. import axios from '@/common/services/axios-instance'
  129. import { getUserInfo } from '@/common/store-mixin'
  130. export default {
  131. name: 'AuditProblemRectItem',
  132. metaInfo: {
  133. title: '审计问题整改明细台账',
  134. },
  135. components: {
  136. ...components,
  137. AuditRangePicker,
  138. AuditGroupPicker,
  139. },
  140. mixins: [auditAdvancedQueryMixins, auditAdvancedGroupMixins],
  141. data() {
  142. return {
  143. radioValue: '01',
  144. radioType: true,
  145. auditTypeOptions: [],
  146. exportLoading: false,
  147. dataKey: 0,
  148. data: [],
  149. columns: [
  150. {
  151. title: '序号',
  152. dataIndex: 'id',
  153. width: '100px',
  154. },
  155. {
  156. title: '项目单位',
  157. dataIndex: 'unitName',
  158. width: '300px',
  159. },
  160. {
  161. title: '被审单位',
  162. dataIndex: 'auditedUnitNames',
  163. width: '280px',
  164. },
  165. {
  166. title: '项目名称',
  167. dataIndex: 'projectTitle',
  168. width: '200px',
  169. },
  170. {
  171. title: '项目分类',
  172. dataIndex: 'auditType',
  173. width: '250px',
  174. },
  175. {
  176. title: '问题名称',
  177. dataIndex: 'findTitle',
  178. width: '250px',
  179. },
  180. {
  181. title: '问题分类',
  182. dataIndex: 'problemType',
  183. width: '300px',
  184. },
  185. {
  186. title: '问题类型',
  187. dataIndex: 'rectType',
  188. width: '200px',
  189. },
  190. {
  191. title: '问题整改状态',
  192. dataIndex: 'rectState',
  193. width: '200px',
  194. },
  195. {
  196. title: '销号状态',
  197. dataIndex: 'cancellStatus',
  198. width: '150px',
  199. },
  200. {
  201. title: '是否完成当年整改阶段目标',
  202. dataIndex: 'whetherFinsh',
  203. width: '300px',
  204. },
  205. {
  206. title: '措施执行情况',
  207. dataIndex: 'draftRectMeasure',
  208. width: '200px',
  209. },
  210. {
  211. title: '计划完成时间',
  212. dataIndex: 'draftFinishDate',
  213. width: '200px',
  214. },
  215. {
  216. title: '审计发现问题整改(金额类)(万元)',
  217. children: [
  218. {
  219. title: '调整会计账目',
  220. dataIndex: 'adjustAccounts',
  221. width: '200px',
  222. },
  223. {
  224. title: '收回资金:增加收入数额',
  225. dataIndex: 'recoveryFunds',
  226. width: '250px',
  227. },
  228. {
  229. title: '收回资金:督促清理往来款项收回资金',
  230. dataIndex: 'avoidingWasteAmount',
  231. width: '350px',
  232. },
  233. {
  234. title: '收回资金:其他',
  235. dataIndex: 'reduceInvestmentAmount',
  236. width: '220px',
  237. },
  238. {
  239. title: '挽回损失:节约成本费用(开支)数额',
  240. dataIndex: 'costSavingAmount',
  241. width: '350px',
  242. },
  243. {
  244. title: '挽回损失:工程审减金额',
  245. dataIndex: 'engineeringReduction',
  246. width: '220px',
  247. },
  248. {
  249. title: '挽回损失:清退不当得利',
  250. dataIndex: 'improperClearanceAmount',
  251. width: '220px',
  252. },
  253. {
  254. title: '挽回损失:其他',
  255. dataIndex: 'recoveryLossAmount',
  256. width: '220px',
  257. },
  258. {
  259. title: '归还原资金渠道',
  260. dataIndex: 'repaymentChannels',
  261. width: '220px',
  262. },
  263. {
  264. title: '补缴税费',
  265. dataIndex: 'paymentTaxesFees',
  266. width: '220px',
  267. },
  268. {
  269. title: '其他',
  270. dataIndex: 'otherAmount',
  271. width: '220px',
  272. },
  273. ],
  274. },
  275. {
  276. title: '审计发现问题整改(非金额类)(个)',
  277. children: [
  278. {
  279. title: '新建制度、流程、标准(项)',
  280. dataIndex: 'newItems',
  281. width: '300px',
  282. },
  283. {
  284. title: '修订制度、流程、标准(项)',
  285. dataIndex: 'reviseItems',
  286. width: '300px',
  287. },
  288. ],
  289. },
  290. {
  291. title: '追责问责处理情况',
  292. children: [
  293. {
  294. title: '移送纪检监察部门案件线索(件)',
  295. dataIndex: 'transferMonitorClue',
  296. width: '300px',
  297. },
  298. {
  299. title: '追责问责人次',
  300. dataIndex: 'personNum',
  301. width: '220px',
  302. },
  303. {
  304. title: '党纪处分:警告',
  305. dataIndex: 'dealWay01',
  306. width: '220px',
  307. },
  308. {
  309. title: '党纪处分:严重警告',
  310. dataIndex: 'dealWay02',
  311. width: '220px',
  312. },
  313. {
  314. title: '党纪处分:撤销党内职务',
  315. dataIndex: 'dealWay03',
  316. width: '220px',
  317. },
  318. {
  319. title: '党纪处分:留党察看',
  320. dataIndex: 'dealWay04',
  321. width: '220px',
  322. },
  323. {
  324. title: '党纪处分:开除党籍',
  325. dataIndex: 'dealWay05',
  326. width: '220px',
  327. },
  328. {
  329. title: '政务处分:警告',
  330. dataIndex: 'dealWay06',
  331. width: '220px',
  332. },
  333. {
  334. title: '政务处分:记过',
  335. dataIndex: 'dealWay07',
  336. width: '220px',
  337. },
  338. {
  339. title: '政务处分:记大过',
  340. dataIndex: 'dealWay08',
  341. width: '220px',
  342. },
  343. {
  344. title: '政务处分:降级',
  345. dataIndex: 'dealWay09',
  346. width: '220px',
  347. },
  348. {
  349. title: '政务处分:撤职',
  350. dataIndex: 'dealWay10',
  351. width: '220px',
  352. },
  353. {
  354. title: '政务处分:开除',
  355. dataIndex: 'dealWay11',
  356. width: '220px',
  357. },
  358. {
  359. title: '内部纪律处分',
  360. dataIndex: 'dealWay12',
  361. width: '220px',
  362. },
  363. {
  364. title: '经济处罚金额(万元)',
  365. dataIndex: 'amountSum',
  366. width: '220px',
  367. },
  368. ],
  369. },
  370. {
  371. title: '根据审计建议给予党纪、政务和内部纪律处分',
  372. children: [
  373. {
  374. title: '合计',
  375. dataIndex: 'mentNum',
  376. width: '220px',
  377. },
  378. {
  379. title: '党纪处分:警告',
  380. dataIndex: 'dealManner01',
  381. width: '220px',
  382. },
  383. {
  384. title: '党纪处分:严重警告',
  385. dataIndex: 'dealManner02',
  386. width: '220px',
  387. },
  388. {
  389. title: '党纪处分:撤销党内职务',
  390. dataIndex: 'dealManner03',
  391. width: '220px',
  392. },
  393. {
  394. title: '党纪处分:留党察看',
  395. dataIndex: 'dealManner04',
  396. width: '220px',
  397. },
  398. {
  399. title: '党纪处分:开除党籍',
  400. dataIndex: 'dealManner05',
  401. width: '220px',
  402. },
  403. {
  404. title: '政务处分:警告',
  405. dataIndex: 'dealManner06',
  406. width: '220px',
  407. },
  408. {
  409. title: '政务处分:记过',
  410. dataIndex: 'dealManner07',
  411. width: '220px',
  412. },
  413. {
  414. title: '政务处分:记大过',
  415. dataIndex: 'dealManner08',
  416. width: '220px',
  417. },
  418. {
  419. title: '政务处分:降级',
  420. dataIndex: 'dealManner09',
  421. width: '220px',
  422. },
  423. {
  424. title: '政务处分:撤职',
  425. dataIndex: 'dealManner10',
  426. width: '220px',
  427. },
  428. {
  429. title: '政务处分:开除',
  430. dataIndex: 'dealManner11',
  431. width: '220px',
  432. },
  433. {
  434. title: '内部纪律处分',
  435. dataIndex: 'dealManner12',
  436. width: '220px',
  437. },
  438. ],
  439. },
  440. {
  441. title: '向司法机关移送或报告案件线索',
  442. dataIndex: 'accountability',
  443. width: '300px',
  444. },
  445. {
  446. title: '其中:涉案人员',
  447. dataIndex: 'otherItems',
  448. width: '300px',
  449. },
  450. ],
  451. problemForm: {
  452. unitNames: [],
  453. timeRange: [],
  454. auditType: [],
  455. auditUnitedName: [],
  456. findTitle: '',
  457. },
  458. problemRules: {
  459. timeRange: [{ required: true, message: '请选择统计时间', trigger: 'change' }],
  460. unitNames: [{ required: true, message: '请选择审计机构', trigger: 'change' }],
  461. auditUnitedName: [{ required: false, message: '请选择被审计单位', trigger: 'change' }],
  462. },
  463. formItemLayout: {
  464. labelCol: { span: 6 },
  465. wrapperCol: { span: 14 },
  466. },
  467. rootNode: {},
  468. reqData: {
  469. dateStart: '',
  470. dateEnd: '',
  471. unitNames: '',
  472. auditType: '',
  473. auditUnitedName: '',
  474. findTitle: '',
  475. },
  476. auditUnitedName: [],
  477. }
  478. },
  479. created() {
  480. let userInfo = getUserInfo()
  481. const params = {
  482. orgId: userInfo.deptId,
  483. }
  484. axios({
  485. url: 'api/xcoa-mobile/v1/iamorg/getCurrentUserGroup',
  486. method: 'get',
  487. }).then((res) => {
  488. userInfo = res.data
  489. params.orgId = res.data.id
  490. axios({
  491. url: 'api/xcoa-mobile/v1/iamorg/findIamOrg',
  492. method: 'post',
  493. params,
  494. }).then((res) => {
  495. this.id = res.data.id
  496. const deptCode = res.data.orgId + ''
  497. const deptName = res.data.orgName
  498. this.rootNode = { code: deptCode, name: deptName, id: this.id }
  499. })
  500. })
  501. },
  502. mounted() {
  503. this.tableResize()
  504. // 初始化审计类型数据字典信息
  505. this.initDictionaryInfo()
  506. this.initDatePicker()
  507. this.initGroupPicker()
  508. // this.problemHandleAction('serach')
  509. },
  510. methods: {
  511. initDatePicker() {
  512. const datePick = []
  513. const time = moment(new Date())
  514. datePick.push(time)
  515. datePick.push(time)
  516. this.problemForm.timeRange = datePick
  517. },
  518. initGroupPicker() {
  519. let userInfo = getUserInfo()
  520. const params = {
  521. orgId: userInfo.deptId,
  522. }
  523. axios({
  524. url: 'api/xcoa-mobile/v1/iamorg/getCurrentUserGroup',
  525. method: 'get',
  526. }).then((res) => {
  527. userInfo = res.data
  528. params.orgId = res.data.id
  529. axios({
  530. url: 'api/xcoa-mobile/v1/iamorg/findIamOrg',
  531. method: 'post',
  532. params,
  533. }).then((res) => {
  534. const userDeptValue = []
  535. const userDept = {
  536. code: res.data.orgId + '',
  537. name: res.data.orgName,
  538. text: res.data.orgName,
  539. id: res.data.orgId,
  540. type: 'Group',
  541. }
  542. userDeptValue.push(userDept)
  543. this.problemForm.unitNames = userDeptValue
  544. this.$refs.problemSearchForm.validate()
  545. this.problemHandleAction('serach')
  546. })
  547. })
  548. },
  549. initUnitedGroupPicker() {
  550. let userInfo = getUserInfo()
  551. const params = {
  552. orgId: userInfo.deptId,
  553. }
  554. axios({
  555. url: 'api/xcoa-mobile/v1/iamorg/getCurrentUserGroup',
  556. method: 'get',
  557. }).then((res) => {
  558. userInfo = res.data
  559. params.orgId = res.data.id
  560. axios({
  561. url: 'api/xcoa-mobile/v1/iamorg/findIamOrg',
  562. method: 'post',
  563. params,
  564. }).then((res) => {
  565. const userDeptValue = []
  566. const userDept = {
  567. code: res.data.orgId + '',
  568. name: res.data.orgName,
  569. text: res.data.orgName,
  570. id: res.data.orgId,
  571. type: 'Group',
  572. }
  573. userDeptValue.push(userDept)
  574. this.problemForm.auditUnitedName = userDeptValue
  575. this.$refs.problemSearchForm.validate()
  576. this.problemHandleAction('serach')
  577. })
  578. })
  579. },
  580. changeunit(values) {
  581. debugger
  582. this.problemForm.auditUnitedName = []
  583. values.forEach((element) => {
  584. const auditedUnit = {
  585. code: element.code + '',
  586. name: element.name,
  587. id: element.code,
  588. type: element.type,
  589. }
  590. this.problemForm.auditUnitedName.push(auditedUnit)
  591. })
  592. },
  593. initDictionaryInfo() {
  594. axios({
  595. url: 'api/xcoa-mobile/v1/iam-law/dictionary?key=PRODUCT_IAM_AUDIT_TYPE',
  596. method: 'get',
  597. }).then((res) => {
  598. if (res.status === 200) {
  599. this.auditTypeOptions = res.data
  600. }
  601. })
  602. },
  603. radioOnChange(e, info) {
  604. debugger
  605. if (this.radioValue === '01') {
  606. this.problemRules.unitNames[0].required = true
  607. this.problemRules.auditUnitedName[0].required = false
  608. this.problemForm.auditUnitedName = []
  609. this.initGroupPicker()
  610. } else {
  611. this.problemRules.unitNames[0].required = false
  612. this.problemRules.auditUnitedName[0].required = true
  613. this.problemForm.unitNames = []
  614. this.initUnitedGroupPicker()
  615. }
  616. },
  617. tableResize() {
  618. document
  619. .getElementsByClassName('ant-table-empty')[0]
  620. .getElementsByClassName('ant-table-tbody')[0]
  621. .appendChild(document.getElementsByClassName('ant-table-placeholder')[0])
  622. var width = document.getElementsByClassName('ant-table-tbody')[0].offsetWidth
  623. document.getElementsByClassName('ant-table-placeholder')[0].style.width = `${width}%`
  624. },
  625. dataLoaded(res) {
  626. if (res.data.length) {
  627. res.data.forEach((item, index) => {
  628. item.id = index + 1
  629. })
  630. } else {
  631. this.tableResize()
  632. }
  633. return res
  634. },
  635. handleReset() {
  636. this.$refs.problemSearchForm.resetFields()
  637. },
  638. processReq(req) {
  639. req.data = {
  640. maxResults: req.data.maxResults,
  641. startPosition: req.data.startPosition,
  642. dateStart: this.reqData.dateStart,
  643. dateEnd: this.reqData.dateEnd,
  644. unitIds: this.reqData.unitNames,
  645. auditType: this.reqData.auditType,
  646. auditUnitedId: this.reqData.auditUnitedName,
  647. findTitle: this.reqData.findTitle,
  648. }
  649. return req
  650. },
  651. handleSearch() {
  652. this.reqData.startPosition = 0
  653. this.dataKey++
  654. },
  655. // 审计问题整改明细台账
  656. problemHandleAction(type) {
  657. debugger
  658. this.$refs.problemSearchForm.validate((valid, values) => {
  659. if (valid) {
  660. if (type === 'serach') {
  661. if (
  662. this.problemForm.timeRange.length === 0 &&
  663. this.problemForm.unitNames.length === 0 &&
  664. this.problemForm.auditType.length === 0 &&
  665. this.problemForm.auditUnitedName.length === 0 &&
  666. this.problemForm.findTitle === ''
  667. ) {
  668. this.handleSearch()
  669. } else {
  670. // 处理时间
  671. this.reqData.dateStart = this.problemForm.timeRange[0].year() + ''
  672. this.reqData.dateEnd = this.problemForm.timeRange[1].year() + ''
  673. // 处理部门
  674. const arr = []
  675. this.problemForm.unitNames.forEach((item) => {
  676. arr.push(`'${item.id}'`)
  677. })
  678. this.reqData.unitNames = arr.join(',')
  679. this.reqData.unitIds = arr.join(',')
  680. if (this.problemForm.auditUnitedName.length !== 0) {
  681. const arrs = []
  682. this.problemForm.auditUnitedName.forEach((item) => {
  683. arrs.push(`'${item.id}'`)
  684. })
  685. this.reqData.auditUnitedName = arrs.join(',')
  686. this.reqData.auditUnitedId = arrs.join(',')
  687. } else {
  688. this.reqData.auditUnitedName = ''
  689. this.reqData.auditUnitedId = ''
  690. }
  691. if (this.problemForm.auditType.length !== 0) {
  692. const auditTypes = []
  693. this.problemForm.auditType.forEach((item) => {
  694. auditTypes.push(`'${item.id}'`)
  695. })
  696. this.reqData.auditType = auditTypes.join(',')
  697. } else {
  698. this.reqData.auditType = ''
  699. }
  700. if (this.problemForm.findTitle !== '') {
  701. this.reqData.findTitle = this.problemForm.findTitle + ''
  702. } else {
  703. this.reqData.findTitle = ''
  704. }
  705. this.handleSearch()
  706. this.auditUnitedName = []
  707. }
  708. } else {
  709. debugger
  710. if (
  711. this.problemForm.timeRange.length === 0 &&
  712. this.problemForm.unitNames.length === 0 &&
  713. this.problemForm.auditType.length === 0 &&
  714. this.problemForm.auditUnitedName.length === 0 &&
  715. this.problemForm.findTitle === ''
  716. ) {
  717. this.problemHandleExport()
  718. } else {
  719. // 处理时间
  720. this.reqData.dateStart = this.problemForm.timeRange[0].year() + ''
  721. this.reqData.dateEnd = this.problemForm.timeRange[1].year() + ''
  722. // 处理部门
  723. const arr = []
  724. this.problemForm.unitNames.forEach((item) => {
  725. arr.push(`'${item.id}'`)
  726. })
  727. this.reqData.unitNames = arr.join(',')
  728. this.reqData.unitIds = arr.join(',')
  729. if (this.problemForm.auditUnitedName.length !== 0) {
  730. const arrs = []
  731. this.problemForm.auditUnitedName.forEach((item) => {
  732. arrs.push(`'${item.id}'`)
  733. })
  734. this.reqData.auditUnitedName = arrs.join(',')
  735. this.reqData.auditUnitedId = arrs.join(',')
  736. } else {
  737. this.reqData.auditUnitedName = ''
  738. this.reqData.auditUnitedId = ''
  739. }
  740. if (this.problemForm.auditType.length !== 0) {
  741. const auditTypes = []
  742. this.problemForm.auditType.forEach((item) => {
  743. auditTypes.push(`'${item.id}'`)
  744. })
  745. this.reqData.auditType = auditTypes.join(',')
  746. } else {
  747. this.reqData.auditType = ''
  748. }
  749. if (this.problemForm.findTitle !== '') {
  750. this.reqData.findTitle = this.problemForm.findTitle + ''
  751. } else {
  752. this.reqData.findTitle = ''
  753. }
  754. this.problemHandleExport()
  755. }
  756. }
  757. }
  758. })
  759. },
  760. problemHandleExport() {
  761. axios({
  762. method: 'post',
  763. url: 'api/xcoa-mobile/v1/spicAuditReportExport/exportProblemRectItem',
  764. responseType: 'blob',
  765. data: {
  766. unitIds: this.reqData.unitIds,
  767. dateStart: this.reqData.dateStart,
  768. dateEnd: this.reqData.dateEnd,
  769. auditType: this.reqData.auditType,
  770. auditUnitedId: this.reqData.auditUnitedId,
  771. findTitle: this.reqData.findTitle,
  772. },
  773. }).then((res) => {
  774. const url = URL.createObjectURL(res.data)
  775. download(url, '审计问题整改明细台账-内审.xlsx')
  776. })
  777. },
  778. },
  779. }
  780. </script>
  781. <style module lang="scss">
  782. @use '@/common/design' as *;
  783. .personalStatistics {
  784. :global(.ant-table-body) {
  785. overflow-x: scroll !important;
  786. }
  787. :global(.ant-form-item) {
  788. margin: 0;
  789. }
  790. :global(.ant-table-empty) {
  791. :global(.ant-table-body) {
  792. overflow-x: scroll !important;
  793. }
  794. }
  795. .conditions {
  796. margin-bottom: 20px;
  797. }
  798. .buttonContent {
  799. padding-top: 6px;
  800. text-align: right;
  801. button {
  802. margin: 0 4px;
  803. }
  804. }
  805. :global(.anticon-setting) {
  806. display: none;
  807. }
  808. .tableTitle {
  809. padding-top: 16px;
  810. margin: 0;
  811. font-size: 22px;
  812. font-weight: bold;
  813. color: #404040;
  814. text-align: center;
  815. background: white;
  816. }
  817. :global(.reporttablecardxm) {
  818. :global(.ant-table-body) {
  819. height: auto !important;
  820. min-height: auto !important;
  821. overflow: auto;
  822. }
  823. }
  824. :global(.ant-table-placeholder) {
  825. height: auto !important;
  826. }
  827. }
  828. </style>