xm-audit-project-info-list.vue 41 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364
  1. <template>
  2. <div :class="$style.personalStatistics">
  3. <a-card :class="$style.conditions">
  4. <a-tabs v-model="activeKey" type="line" @change="toggleTabs">
  5. <a-tab-pane key="1" tab="审计项目完成情况-内审">
  6. <a-form-model
  7. ref="projectSearchForm"
  8. class="ant-advanced-search-form"
  9. :model="form"
  10. :rules="rules"
  11. v-bind="formItemLayout"
  12. >
  13. <a-row :gutter="24" :class="$style.antformitem">
  14. <a-col :span="8">
  15. <a-form-model-item label="年度" prop="timeRange">
  16. <AuditRangePicker :time-range.sync="form.timeRange" />
  17. </a-form-model-item>
  18. </a-col>
  19. <a-col :span="8">
  20. <a-form-model-item label="审计机构" prop="unitNames">
  21. <AuditGroupPicker
  22. ref="unitNames"
  23. v-model="form.unitNames"
  24. :single="false"
  25. :read-only="false"
  26. :root-node="rootNode"
  27. />
  28. </a-form-model-item>
  29. </a-col>
  30. <a-col :span="8">
  31. <div :class="$style.buttonContent">
  32. <a-button @click="handleReset">重置</a-button>
  33. <a-button type="primary" @click="handleAction('serach')">查询</a-button>
  34. <a-button :loading="exportLoading" type="primary" @click="handleAction('export')"
  35. >导出</a-button
  36. >
  37. <a-button :loading="exportLoading" type="primary" @click="exportGroup"
  38. >导出单位及内部审计机构基本情况</a-button
  39. >
  40. </div>
  41. </a-col>
  42. </a-row>
  43. </a-form-model>
  44. <p :class="$style.tableTitle"> 审计项目完成情况-内审 </p>
  45. <a-card class="reporttablecardxm">
  46. <sd-data-table
  47. ref="dataTable"
  48. :key="dataKey"
  49. :columns="columns1"
  50. :actions="actions"
  51. :process-req="processReq1"
  52. :defultpagination-pagesize="10"
  53. data-url="api/xcoa-mobile/v1/spicAuditReportList/projectCompletionStatusList"
  54. @dataLoaded="dataLoaded"
  55. @rowClick="rowClick"
  56. >
  57. </sd-data-table>
  58. </a-card>
  59. </a-tab-pane>
  60. <a-tab-pane key="2" tab="审计项目整改完成情况及成果统计">
  61. <a-form-model
  62. ref="StatisticsSearchForm"
  63. class="ant-advanced-search-form"
  64. :model="rectForm"
  65. :rules="rectRules"
  66. v-bind="formItemLayout"
  67. >
  68. <a-row :gutter="24" :class="$style.antformitem">
  69. <a-col :span="8">
  70. <a-form-model-item label="年度" prop="timeRange">
  71. <AuditRangePicker :time-range.sync="rectForm.timeRange" />
  72. </a-form-model-item>
  73. </a-col>
  74. <a-col :span="8">
  75. <a-form-model-item label="审计机构" prop="unitNames">
  76. <AuditGroupPicker
  77. ref="unitNames"
  78. v-model="rectForm.unitNames"
  79. :single="false"
  80. :read-only="false"
  81. :root-node="rootNode"
  82. />
  83. </a-form-model-item>
  84. </a-col>
  85. <a-col :span="8">
  86. <a-form-model-item label="审计类型" prop="auditType">
  87. <sd-select
  88. v-model="rectForm.auditType"
  89. :allow-clear="true"
  90. :options="auditTypeOptions"
  91. />
  92. </a-form-model-item>
  93. </a-col>
  94. <a-col :span="8">
  95. <div :class="$style.buttonContent">
  96. <a-button @click="handleReset">重置</a-button>
  97. <a-button type="primary" @click="handleRectStatistics('serach')">查询</a-button>
  98. <a-button
  99. :loading="exportLoading"
  100. type="primary"
  101. @click="handleRectStatistics('export')"
  102. >导出</a-button
  103. >
  104. </div>
  105. </a-col>
  106. </a-row>
  107. </a-form-model>
  108. <p :class="$style.tableTitle"> 审计项目整改完成情况及成果统计 </p>
  109. <a-card class="reporttablecardxm">
  110. <sd-data-table
  111. ref="dataTable"
  112. :key="dataKey"
  113. :columns="columns2"
  114. :process-req="processReq2"
  115. :defultpagination-pagesize="10"
  116. data-url="api/xcoa-mobile/v1/spicAuditReportList/projectRectStatisticsList"
  117. @dataLoaded="dataLoaded"
  118. @rowClick="rowClick"
  119. >
  120. </sd-data-table>
  121. </a-card>
  122. </a-tab-pane>
  123. <a-tab-pane key="3" tab="审计问题整改明细台账-内审">
  124. <a-form-model
  125. ref="problemSearchForm"
  126. class="ant-advanced-search-form"
  127. :model="problemForm"
  128. :rules="problemRules"
  129. v-bind="formItemLayout"
  130. >
  131. <a-row :gutter="24" :class="$style.antformitem">
  132. <a-col :span="8">
  133. <a-form-model-item label="年度" prop="timeRange">
  134. <AuditRangePicker :time-range.sync="problemForm.timeRange" />
  135. </a-form-model-item>
  136. </a-col>
  137. <a-col :span="8">
  138. <a-form-model-item label="审计机构" prop="unitNames">
  139. <AuditGroupPicker
  140. ref="unitNames"
  141. v-model="problemForm.unitNames"
  142. :single="false"
  143. :read-only="false"
  144. :root-node="rootNode"
  145. />
  146. </a-form-model-item>
  147. </a-col>
  148. <a-col :span="8">
  149. <a-form-model-item label="项目分类" prop="auditType">
  150. <sd-select
  151. v-model="problemForm.auditType"
  152. :allow-clear="true"
  153. :options="auditTypeOptions"
  154. @change="onChange"
  155. />
  156. </a-form-model-item>
  157. </a-col>
  158. </a-row>
  159. <a-row :gutter="24" :class="$style.antformitem">
  160. <a-col :span="8">
  161. <a-form-model-item label="被审计单位" prop="auditUnitedName">
  162. <AuditGroupPicker
  163. ref="auditUnitedName"
  164. v-model="problemForm.auditUnitedName"
  165. :single="false"
  166. :read-only="false"
  167. :root-node="rootNode"
  168. />
  169. </a-form-model-item>
  170. </a-col>
  171. <a-col :span="8">
  172. <a-form-model-item label="问题名称" prop="findTitle">
  173. <a-input v-model="problemForm.findTitle" @change="onChange" />
  174. </a-form-model-item>
  175. </a-col>
  176. <a-col :span="8">
  177. <div :class="$style.buttonContent">
  178. <a-button @click="handleReset">重置</a-button>
  179. <a-button type="primary" @click="problemHandleAction('serach')">查询</a-button>
  180. <a-button
  181. :loading="exportLoading"
  182. type="primary"
  183. @click="problemHandleAction('export')"
  184. >导出</a-button
  185. >
  186. </div>
  187. </a-col>
  188. </a-row>
  189. </a-form-model>
  190. <p :class="$style.tableTitle"> 审计问题整改明细台账-内审 </p>
  191. <a-card class="reporttablecardxm">
  192. <sd-data-table
  193. ref="dataTable"
  194. :key="dataKey"
  195. :columns="columns3"
  196. :process-req="processReq3"
  197. :defultpagination-pagesize="10"
  198. data-url="api/xcoa-mobile/v1/spicAuditReportList/problemRectItemList"
  199. @dataLoaded="dataLoaded"
  200. @rowClick="rowClick"
  201. >
  202. </sd-data-table>
  203. </a-card>
  204. </a-tab-pane>
  205. </a-tabs>
  206. </a-card>
  207. </div>
  208. </template>
  209. <script>
  210. import components from './_import-components/xm-audit-project-info-list-import'
  211. import AuditRangePicker from '@product/iam/components/picker/audit-range-picker.vue'
  212. import AuditGroupPicker from '@product/iam/components/picker/audit-group-picker.vue'
  213. import { message } from '@/common/one-ui'
  214. import download from '@/common/services/download'
  215. import axios from '@/common/services/axios-instance'
  216. import { getUserInfo } from '@/common/store-mixin'
  217. export default {
  218. name: 'XmAuditProjectInfoList',
  219. metaInfo: {
  220. title: '审计项目基本信息台账',
  221. },
  222. components: {
  223. ...components,
  224. AuditRangePicker,
  225. AuditGroupPicker,
  226. },
  227. data() {
  228. return {
  229. auditTypeOptions: [],
  230. activeKey: '1',
  231. exportLoading: false,
  232. dataKey: 0,
  233. reqData1: {
  234. dateStart: '',
  235. dateEnd: '',
  236. unitNames: '',
  237. },
  238. reqData2: {
  239. dateStart: '',
  240. dateEnd: '',
  241. unitNames: '',
  242. auditType: '',
  243. },
  244. reqData3: {
  245. dateStart: '',
  246. dateEnd: '',
  247. unitNames: '',
  248. auditType: '',
  249. auditUnitedName: '',
  250. findTitle: '',
  251. },
  252. data: [],
  253. columns1: [
  254. {
  255. title: '序号',
  256. dataIndex: 'id',
  257. width: '100px',
  258. },
  259. {
  260. title: '单位',
  261. dataIndex: 'unitName',
  262. width: '300px',
  263. },
  264. {
  265. title: '计划内项目数',
  266. dataIndex: 'inPlanNum',
  267. width: '150px',
  268. },
  269. {
  270. title: '计划外项目数',
  271. dataIndex: 'outPlanNum',
  272. width: '150px',
  273. },
  274. {
  275. title: '完成数',
  276. dataIndex: 'closeNum',
  277. width: '120px',
  278. },
  279. {
  280. title: '完成率(%)',
  281. dataIndex: 'finshedCate',
  282. width: '150px',
  283. },
  284. {
  285. title: '纳入审计全覆盖范围项目数',
  286. dataIndex: 'coverNum',
  287. width: '230px',
  288. },
  289. {
  290. title: '审计子企业户数(户)',
  291. dataIndex: 'childOrgNum',
  292. width: '200px',
  293. },
  294. {
  295. title: '其中:审计境外子企业户数(户)',
  296. dataIndex: 'overseasOrgNum',
  297. width: '280px',
  298. },
  299. {
  300. title: '审计资产总额(亿元)',
  301. dataIndex: 'auditAssets',
  302. width: '200px',
  303. },
  304. {
  305. title: '其中:审计境外资产总额(亿元)',
  306. dataIndex: 'overseasAuditAssets',
  307. width: '280px',
  308. },
  309. {
  310. title: '贯彻落实国家重大政策措施审计',
  311. dataIndex: 'auditType01',
  312. width: '280px',
  313. },
  314. {
  315. title: '经济责任审计-离任审计',
  316. dataIndex: 'auditType03',
  317. width: '220px',
  318. },
  319. {
  320. title: '经济责任审计-任中审计',
  321. dataIndex: 'auditType04',
  322. width: '220px',
  323. },
  324. {
  325. title: '资产负债损益审计',
  326. dataIndex: 'auditType05',
  327. width: '200px',
  328. },
  329. {
  330. title: '基本建设项目审计',
  331. dataIndex: 'auditType06',
  332. width: '200px',
  333. },
  334. {
  335. title: '境外审计',
  336. dataIndex: 'auditType07',
  337. width: '120px',
  338. },
  339. {
  340. title: '大数据审计',
  341. dataIndex: 'auditType08',
  342. width: '150px',
  343. },
  344. {
  345. title: '回头看审计',
  346. dataIndex: 'auditType09',
  347. width: '150px',
  348. },
  349. {
  350. title: '信息系统审计',
  351. dataIndex: 'auditType10',
  352. width: '150px',
  353. },
  354. {
  355. title: '风险管理审计',
  356. dataIndex: 'auditType11',
  357. width: '150px',
  358. },
  359. {
  360. title: '内部控制审计',
  361. dataIndex: 'auditType02',
  362. width: '150px',
  363. },
  364. {
  365. title: '绩效审计',
  366. dataIndex: 'auditType12',
  367. width: '120px',
  368. },
  369. {
  370. title: '金融业务审计',
  371. dataIndex: 'auditType13',
  372. width: '150px',
  373. },
  374. {
  375. title: '燃料专项审计',
  376. dataIndex: 'auditType14',
  377. width: '150px',
  378. },
  379. {
  380. title: '投资专项审计',
  381. dataIndex: 'auditType15',
  382. width: '150px',
  383. },
  384. {
  385. title: '科研经费审计',
  386. dataIndex: 'auditType16',
  387. width: '150px',
  388. },
  389. {
  390. title: '资金管理审计',
  391. dataIndex: 'auditType17',
  392. width: '150px',
  393. },
  394. {
  395. title: '其他',
  396. dataIndex: 'auditType18',
  397. width: '120px',
  398. },
  399. ],
  400. columns2: [
  401. {
  402. title: '序号',
  403. dataIndex: 'id',
  404. width: '100px',
  405. },
  406. {
  407. title: '项目名称',
  408. dataIndex: 'projectTitle',
  409. width: '300px',
  410. },
  411. {
  412. title: '项目实施年度',
  413. dataIndex: 'planYear',
  414. width: '200px',
  415. },
  416. {
  417. title: '纠正违规金额(万元)',
  418. dataIndex: 'accounts',
  419. width: '200px',
  420. },
  421. {
  422. title: '节约成本费用数额(万元)',
  423. dataIndex: 'svaingSum',
  424. width: '200px',
  425. },
  426. {
  427. title: '挽回损失(万元)',
  428. dataIndex: 'improperSum',
  429. width: '200px',
  430. },
  431. {
  432. title: '增加收入数额(万元)',
  433. dataIndex: 'recoverySum',
  434. width: '200px',
  435. },
  436. {
  437. title: '督促清理往来款项收回资金(万元)',
  438. dataIndex: 'wasteAmount',
  439. width: '300px',
  440. },
  441. {
  442. title: '工程结算及竣工决算项目数量(个)',
  443. dataIndex: 'completionNumber',
  444. width: '300px',
  445. },
  446. {
  447. title: '新建修订制度、流程、标准数量(项)',
  448. dataIndex: 'itemNum',
  449. width: '330px',
  450. },
  451. {
  452. title: '追责问责',
  453. children: [
  454. {
  455. title: '追责问责人次',
  456. dataIndex: 'personNum',
  457. width: '200px',
  458. },
  459. {
  460. title: '经济处罚金额(万元)',
  461. dataIndex: 'economicMoney',
  462. width: '200px',
  463. },
  464. ],
  465. },
  466. {
  467. title: '移送纪检监察线索(条)',
  468. dataIndex: 'clue',
  469. width: '250px',
  470. },
  471. {
  472. title: '整改完成情况',
  473. children: [
  474. {
  475. title: '审计发现主要问题汇总表问题数量',
  476. dataIndex: 'findNum',
  477. width: '300px',
  478. },
  479. {
  480. title: '审计发现主要问题汇总表累计整改完成率(%)',
  481. dataIndex: 'rectRates',
  482. width: '400px',
  483. },
  484. {
  485. title: '审计发现主要问题汇总表到期整改完成率(%)',
  486. dataIndex: 'rectRate',
  487. width: '400px',
  488. },
  489. {
  490. title: '审计意见书问题数量(个)',
  491. dataIndex: 'giveOptionsNum',
  492. width: '250px',
  493. },
  494. {
  495. title: '审计意见书累计整改完成率(%)',
  496. dataIndex: 'optionsRectRates',
  497. width: '400px',
  498. },
  499. {
  500. title: '审计意见书到期整改完成率(%)',
  501. dataIndex: 'optionsRectRate',
  502. width: '400px',
  503. },
  504. {
  505. title: '审计建议数量(条)',
  506. dataIndex: 'suggestion',
  507. width: '200px',
  508. },
  509. {
  510. title: '建议采纳率(%)',
  511. dataIndex: 'rectTypeRate',
  512. width: '200px',
  513. },
  514. {
  515. title: '揭示风险(条)',
  516. dataIndex: 'peoblemNatuer',
  517. width: '200px',
  518. },
  519. {
  520. title: '截止本月审计发现主要问题汇总表问题整改完成数',
  521. dataIndex: 'wanChengNum',
  522. width: '400px',
  523. },
  524. {
  525. title: '截止本月审计意见书问题整改完成数',
  526. dataIndex: 'wanChengOptionsNum',
  527. width: '300px',
  528. },
  529. ],
  530. },
  531. ],
  532. columns3: [
  533. {
  534. title: '序号',
  535. dataIndex: 'id',
  536. width: '100px',
  537. },
  538. {
  539. title: '项目单位',
  540. dataIndex: 'unitName',
  541. width: '300px',
  542. },
  543. {
  544. title: '被审单位',
  545. dataIndex: 'auditedUnitNames',
  546. width: '300px',
  547. },
  548. {
  549. title: '项目名称',
  550. dataIndex: 'projectTitle',
  551. width: '200px',
  552. },
  553. {
  554. title: '项目分类',
  555. dataIndex: 'auditType',
  556. width: '150px',
  557. },
  558. {
  559. title: '问题名称',
  560. dataIndex: 'findTitle',
  561. width: '250px',
  562. },
  563. {
  564. title: '问题分类',
  565. dataIndex: 'problemType',
  566. width: '150px',
  567. },
  568. {
  569. title: '问题类型',
  570. dataIndex: 'rectType',
  571. width: '150px',
  572. },
  573. {
  574. title: '问题整改状态',
  575. dataIndex: 'rectState',
  576. width: '200px',
  577. },
  578. {
  579. title: '销号状态',
  580. dataIndex: 'cancellStatus',
  581. width: '150px',
  582. },
  583. {
  584. title: '措施执行情况',
  585. dataIndex: 'draftRectMeasure',
  586. width: '200px',
  587. },
  588. {
  589. title: '计划完成时间',
  590. dataIndex: 'draftFinishDate',
  591. width: '200px',
  592. },
  593. {
  594. title: '审计发现问题整改(金额类)(万元)',
  595. children: [
  596. {
  597. title: '调整会计账目',
  598. dataIndex: 'adjustAccounts',
  599. width: '200px',
  600. },
  601. {
  602. title: '收回资金:增加收入数额',
  603. dataIndex: 'recoveryFunds',
  604. width: '250px',
  605. },
  606. {
  607. title: '收回资金:督促清理往来款项收回资金',
  608. dataIndex: 'avoidingWasteAmount',
  609. width: '350px',
  610. },
  611. {
  612. title: '收回资金:其他',
  613. dataIndex: 'reduceInvestmentAmount',
  614. width: '220px',
  615. },
  616. {
  617. title: '挽回损失:节约成本费用(开支)数额',
  618. dataIndex: 'costSavingAmount',
  619. width: '350px',
  620. },
  621. {
  622. title: '挽回损失:工程审减金额',
  623. dataIndex: 'engineeringReduction',
  624. width: '220px',
  625. },
  626. {
  627. title: '挽回损失:清退不当得利',
  628. dataIndex: 'improperClearanceAmount',
  629. width: '220px',
  630. },
  631. {
  632. title: '挽回损失:其他',
  633. dataIndex: 'recoveryLossAmount',
  634. width: '220px',
  635. },
  636. {
  637. title: '归还原资金渠道',
  638. dataIndex: 'repaymentChannels',
  639. width: '220px',
  640. },
  641. {
  642. title: '补缴税费',
  643. dataIndex: 'paymentTaxesFees',
  644. width: '220px',
  645. },
  646. {
  647. title: '其他',
  648. dataIndex: 'otherAmount',
  649. width: '220px',
  650. },
  651. ],
  652. },
  653. {
  654. title: '审计发现问题整改(非金额类)(个)',
  655. children: [
  656. {
  657. title: '新建制度、流程、标准(项)',
  658. dataIndex: 'newItems',
  659. width: '300px',
  660. },
  661. {
  662. title: '修订制度、流程、标准(项)',
  663. dataIndex: 'reviseItems',
  664. width: '300px',
  665. },
  666. ],
  667. },
  668. {
  669. title: '追责问责处理情况',
  670. children: [
  671. {
  672. title: '移送纪检监察部门案件线索(件)',
  673. dataIndex: 'transferMonitorClue',
  674. width: '300px',
  675. },
  676. {
  677. title: '追责问责人次',
  678. dataIndex: 'personNum',
  679. width: '220px',
  680. },
  681. {
  682. title: '党纪处分:警告',
  683. dataIndex: 'dealWay01',
  684. width: '220px',
  685. },
  686. {
  687. title: '党纪处分:严重警告',
  688. dataIndex: 'dealWay02',
  689. width: '220px',
  690. },
  691. {
  692. title: '党纪处分:撤销党内职务',
  693. dataIndex: 'dealWay03',
  694. width: '220px',
  695. },
  696. {
  697. title: '党纪处分:留党察看',
  698. dataIndex: 'dealWay04',
  699. width: '220px',
  700. },
  701. {
  702. title: '党纪处分:开除党籍',
  703. dataIndex: 'dealWay05',
  704. width: '220px',
  705. },
  706. {
  707. title: '政务处分:警告',
  708. dataIndex: 'dealWay06',
  709. width: '220px',
  710. },
  711. {
  712. title: '政务处分:记过',
  713. dataIndex: 'dealWay07',
  714. width: '220px',
  715. },
  716. {
  717. title: '政务处分:记大过',
  718. dataIndex: 'dealWay08',
  719. width: '220px',
  720. },
  721. {
  722. title: '政务处分:降级',
  723. dataIndex: 'dealWay09',
  724. width: '220px',
  725. },
  726. {
  727. title: '政务处分:撤职',
  728. dataIndex: 'dealWay10',
  729. width: '220px',
  730. },
  731. {
  732. title: '政务处分:开除',
  733. dataIndex: 'dealWay11',
  734. width: '220px',
  735. },
  736. {
  737. title: '内部纪律处分',
  738. dataIndex: 'dealWay12',
  739. width: '220px',
  740. },
  741. {
  742. title: '经济处罚金额(万元)',
  743. dataIndex: 'amountSum',
  744. width: '220px',
  745. },
  746. ],
  747. },
  748. {
  749. title: '根据审计建议给予党纪、政务和内部纪律处分',
  750. children: [
  751. {
  752. title: '合计',
  753. dataIndex: 'mentNum',
  754. width: '220px',
  755. },
  756. {
  757. title: '党纪处分:警告',
  758. dataIndex: 'dealManner01',
  759. width: '220px',
  760. },
  761. {
  762. title: '党纪处分:严重警告',
  763. dataIndex: 'dealManner02',
  764. width: '220px',
  765. },
  766. {
  767. title: '党纪处分:撤销党内职务',
  768. dataIndex: 'dealManner03',
  769. width: '220px',
  770. },
  771. {
  772. title: '党纪处分:留党察看',
  773. dataIndex: 'dealManner04',
  774. width: '220px',
  775. },
  776. {
  777. title: '党纪处分:开除党籍',
  778. dataIndex: 'dealManner05',
  779. width: '220px',
  780. },
  781. {
  782. title: '政务处分:警告',
  783. dataIndex: 'dealManner06',
  784. width: '220px',
  785. },
  786. {
  787. title: '政务处分:记过',
  788. dataIndex: 'dealManner07',
  789. width: '220px',
  790. },
  791. {
  792. title: '政务处分:记大过',
  793. dataIndex: 'dealManner08',
  794. width: '220px',
  795. },
  796. {
  797. title: '政务处分:降级',
  798. dataIndex: 'dealManner09',
  799. width: '220px',
  800. },
  801. {
  802. title: '政务处分:撤职',
  803. dataIndex: 'dealManner10',
  804. width: '220px',
  805. },
  806. {
  807. title: '政务处分:开除',
  808. dataIndex: 'dealManner11',
  809. width: '220px',
  810. },
  811. {
  812. title: '内部纪律处分',
  813. dataIndex: 'dealManner12',
  814. width: '220px',
  815. },
  816. ],
  817. },
  818. {
  819. title: '向司法机关移送或报告案件线索',
  820. dataIndex: 'accountability',
  821. width: '300px',
  822. },
  823. {
  824. title: '其中:涉案人员',
  825. dataIndex: 'otherItems',
  826. width: '300px',
  827. },
  828. ],
  829. rectForm: {
  830. unitNames: [],
  831. timeRange: [],
  832. auditType: '',
  833. },
  834. form: {
  835. unitNames: [],
  836. timeRange: [],
  837. },
  838. problemForm: {
  839. unitNames: [],
  840. timeRange: [],
  841. auditType: '',
  842. auditUnitedName: [],
  843. findTitle: '',
  844. },
  845. rules: {
  846. timeRange: [{ required: true, message: '请选择统计时间', trigger: 'change' }],
  847. unitNames: [{ required: true, message: '请选择审计机构', trigger: 'change' }],
  848. },
  849. rectRules: {
  850. timeRange: [{ required: true, message: '请选择统计时间', trigger: 'change' }],
  851. unitNames: [{ required: true, message: '请选择审计机构', trigger: 'change' }],
  852. },
  853. problemRules: {
  854. timeRange: [{ required: true, message: '请选择统计时间', trigger: 'change' }],
  855. unitNames: [{ required: true, message: '请选择审计机构', trigger: 'change' }],
  856. },
  857. formItemLayout: {
  858. labelCol: { span: 6 },
  859. wrapperCol: { span: 14 },
  860. },
  861. rootNode: {},
  862. // actions: [
  863. // {
  864. // label: '导出',
  865. // permission: null, // 纯前端操作,不需要权限控制
  866. // callback: () => {
  867. // this.$refs.dataTable.handleExport()
  868. // },
  869. // },
  870. // ],
  871. }
  872. },
  873. created() {
  874. let userInfo = getUserInfo()
  875. const params = {
  876. orgId: userInfo.deptId,
  877. }
  878. axios({
  879. url: 'api/xcoa-mobile/v1/iamorg/getCurrentUserGroup',
  880. method: 'get',
  881. }).then((res) => {
  882. userInfo = res.data
  883. params.orgId = res.data.id
  884. axios({
  885. url: 'api/xcoa-mobile/v1/iamorg/findIamOrgId',
  886. method: 'post',
  887. params,
  888. }).then((res) => {
  889. this.id = res.data
  890. const deptCode = userInfo.id.toString()
  891. const deptName = userInfo.name
  892. this.rootNode = { code: deptCode, name: deptName, id: this.id }
  893. })
  894. })
  895. },
  896. mounted() {
  897. this.tableResize()
  898. // 初始化审计类型数据字典信息
  899. this.initDictionaryInfo()
  900. // if(this.form.timeRange.length === 0 || this.form.unitNames.length === 0
  901. // || ){
  902. // }
  903. },
  904. methods: {
  905. initDictionaryInfo() {
  906. axios({
  907. url: 'api/xcoa-mobile/v1/iam-law/dictionary?key=PRODUCT_IAM_AUDIT_TYPE',
  908. method: 'get',
  909. }).then((res) => {
  910. if (res.status === 200) {
  911. this.auditTypeOptions = res.data
  912. }
  913. })
  914. },
  915. toggleTabs(key) {
  916. this.activeKey = key
  917. if (this.activeKey === '1') {
  918. this.tableId = 'SJXMDataTable'
  919. this.SJXMTableExpressions = []
  920. }
  921. if (this.activeKey === '2') {
  922. this.tableId = 'JHBGDataTable'
  923. this.JHBGTableExpressions = []
  924. if (this.radioValue === 1) {
  925. this.JHBGTableExpressions.push({
  926. dataType: 'boolean',
  927. name: 'stateFlag',
  928. booleanValue: true,
  929. })
  930. } else if (this.radioValue === 2) {
  931. this.JHBGTableExpressions.push({
  932. dataType: 'boolean',
  933. name: 'stateFlag',
  934. booleanValue: false,
  935. })
  936. }
  937. }
  938. if (this.activeKey === '3') {
  939. this.tableId = 'SJJHDataTable'
  940. this.SJJHTableExpressions = []
  941. if (this.radioValue === 1) {
  942. this.SJJHTableExpressions.push({
  943. dataType: 'boolean',
  944. name: 'stateFlag',
  945. booleanValue: true,
  946. })
  947. } else if (this.radioValue === 2) {
  948. this.SJJHTableExpressions.push({
  949. dataType: 'boolean',
  950. name: 'stateFlag',
  951. booleanValue: false,
  952. })
  953. }
  954. }
  955. this.deleteButtonDisable = true
  956. if (this.$refs[`${this.tableId}`]) {
  957. this.$refs[`${this.tableId}`].clearSelection()
  958. }
  959. },
  960. tableResize() {
  961. document
  962. .getElementsByClassName('ant-table-empty')[0]
  963. .getElementsByClassName('ant-table-tbody')[0]
  964. .appendChild(document.getElementsByClassName('ant-table-placeholder')[0])
  965. var width = document.getElementsByClassName('ant-table-tbody')[0].offsetWidth
  966. document.getElementsByClassName('ant-table-placeholder')[0].style.width = `${width}%`
  967. },
  968. processReq1(req) {
  969. req.data = {
  970. maxResults: req.data.maxResults,
  971. startPosition: req.data.startPosition,
  972. dateStart: this.reqData1.dateStart,
  973. dateEnd: this.reqData1.dateEnd,
  974. unitIds: this.reqData1.unitNames,
  975. }
  976. return req
  977. },
  978. processReq2(req) {
  979. req.data = {
  980. maxResults: req.data.maxResults,
  981. startPosition: req.data.startPosition,
  982. dateStart: this.reqData2.dateStart,
  983. dateEnd: this.reqData2.dateEnd,
  984. unitIds: this.reqData2.unitNames,
  985. auditType: this.reqData2.auditType,
  986. auditUnitedId: this.reqData2.auditUnitedName,
  987. findTitle: this.reqData2.findTitle,
  988. }
  989. return req
  990. },
  991. processReq3(req) {
  992. req.data = {
  993. maxResults: req.data.maxResults,
  994. startPosition: req.data.startPosition,
  995. dateStart: this.reqData3.dateStart,
  996. dateEnd: this.reqData3.dateEnd,
  997. unitIds: this.reqData3.unitNames,
  998. auditType: this.reqData3.auditType,
  999. auditUnitedId: this.reqData3.auditUnitedName,
  1000. findTitle: this.reqData3.findTitle,
  1001. }
  1002. return req
  1003. },
  1004. dataLoaded(res) {
  1005. if (res.data.length) {
  1006. res.data.forEach((item, index) => {
  1007. item.id = index + 1
  1008. })
  1009. } else {
  1010. this.tableResize()
  1011. }
  1012. return res
  1013. },
  1014. handleReset() {
  1015. if (this.activeKey === '1') {
  1016. this.$refs.projectSearchForm.resetFields()
  1017. }
  1018. if (this.activeKey === '2') {
  1019. this.$refs.StatisticsSearchForm.resetFields()
  1020. }
  1021. if (this.activeKey === '3') {
  1022. this.$refs.projectSearchForm.resetFields()
  1023. }
  1024. },
  1025. handleAction(type) {
  1026. debugger
  1027. if (type === 'serach') {
  1028. if (this.form.timeRange.length === 0 && this.form.unitNames.length === 0) {
  1029. this.handleSearch1()
  1030. } else {
  1031. // 处理时间
  1032. this.reqData1.dateStart = this.form.timeRange[0].year() + ''
  1033. this.reqData1.dateEnd = this.form.timeRange[1].year() + ''
  1034. // 处理部门
  1035. const arr = []
  1036. this.form.unitNames.forEach((item) => {
  1037. arr.push(`'${item.id}'`)
  1038. })
  1039. this.reqData1.unitNames = arr.join(',')
  1040. this.reqData1.unitIds = arr.join(',')
  1041. this.handleSearch1()
  1042. }
  1043. } else {
  1044. debugger
  1045. if (this.form.timeRange.length === 0 && this.form.unitNames.length === 0) {
  1046. this.handleExport()
  1047. } else {
  1048. // 处理时间
  1049. this.reqData1.dateStart = this.form.timeRange[0].year() + ''
  1050. this.reqData1.dateEnd = this.form.timeRange[1].year() + ''
  1051. // 处理部门
  1052. const arr = []
  1053. this.form.unitNames.forEach((item) => {
  1054. arr.push(`'${item.id}'`)
  1055. })
  1056. this.reqData1.unitNames = arr.join(',')
  1057. this.reqData1.unitIds = arr.join(',')
  1058. this.handleExport()
  1059. }
  1060. }
  1061. },
  1062. handleSearch1() {
  1063. this.reqData1.startPosition = 0
  1064. this.dataKey++
  1065. },
  1066. handleSearch2() {
  1067. this.reqData2.startPosition = 0
  1068. this.dataKey++
  1069. },
  1070. handleSearch3() {
  1071. this.reqData3.startPosition = 0
  1072. this.dataKey++
  1073. },
  1074. handleExport() {
  1075. axios({
  1076. method: 'post',
  1077. url: 'api/xcoa-mobile/v1/spicAuditReportExport/exportProjectCompletionStatus',
  1078. responseType: 'blob',
  1079. data: {
  1080. unitIds: this.reqData1.unitIds,
  1081. dateStart: this.reqData1.dateStart,
  1082. dateEnd: this.reqData1.dateEnd,
  1083. },
  1084. }).then((res) => {
  1085. const url = URL.createObjectURL(res.data)
  1086. download(url, '审计项目完成情况-内审.xlsx')
  1087. })
  1088. },
  1089. handleRectStatistics(type) {
  1090. if (type === 'serach') {
  1091. if (
  1092. this.rectForm.timeRange.length === 0 &&
  1093. this.rectForm.unitNames.length === 0 &&
  1094. this.problemForm.auditType.length === 0
  1095. ) {
  1096. this.handleSearch2()
  1097. } else {
  1098. // 处理时间
  1099. this.reqData2.dateStart = this.rectForm.timeRange[0].year() + ''
  1100. this.reqData2.dateEnd = this.rectForm.timeRange[1].year() + ''
  1101. // 处理部门
  1102. const arr = []
  1103. this.rectForm.unitNames.forEach((item) => {
  1104. arr.push(`'${item.id}'`)
  1105. })
  1106. this.reqData2.unitNames = arr.join(',')
  1107. this.reqData2.unitIds = arr.join(',')
  1108. if (this.rectForm.auditType.length !== 0) {
  1109. this.reqData2.auditType = this.rectForm.auditType[0].id + ''
  1110. } else {
  1111. this.reqData2.auditType = ''
  1112. }
  1113. this.handleSearch2()
  1114. }
  1115. } else {
  1116. debugger
  1117. if (this.rectForm.timeRange.length === 0 && this.rectForm.unitNames.length === 0) {
  1118. this.handleExport()
  1119. } else {
  1120. // 处理时间
  1121. this.reqData2.dateStart = this.rectForm.timeRange[0].year() + ''
  1122. this.reqData2.dateEnd = this.rectForm.timeRange[1].year() + ''
  1123. // 处理部门
  1124. const arr = []
  1125. this.form.unitNames.forEach((item) => {
  1126. arr.push(`'${item.id}'`)
  1127. })
  1128. this.reqData2.unitNames = arr.join(',')
  1129. this.reqData2.unitIds = arr.join(',')
  1130. this.handleExport()
  1131. }
  1132. }
  1133. },
  1134. // 审计问题整改明细台账
  1135. problemHandleAction(type) {
  1136. debugger
  1137. if (type === 'serach') {
  1138. if (
  1139. this.problemForm.timeRange.length === 0 &&
  1140. this.problemForm.unitNames.length === 0 &&
  1141. this.problemForm.auditType.length === 0 &&
  1142. this.problemForm.auditUnitedName.length === 0 &&
  1143. this.problemForm.findTitle === ''
  1144. ) {
  1145. this.handleSearch3()
  1146. } else {
  1147. // 处理时间
  1148. this.reqData3.dateStart = this.problemForm.timeRange[0].year() + ''
  1149. this.reqData3.dateEnd = this.problemForm.timeRange[1].year() + ''
  1150. // 处理部门
  1151. const arr = []
  1152. this.problemForm.unitNames.forEach((item) => {
  1153. arr.push(`'${item.id}'`)
  1154. })
  1155. this.reqData3.unitNames = arr.join(',')
  1156. this.reqData3.unitIds = arr.join(',')
  1157. if (this.problemForm.auditUnitedName.length !== 0) {
  1158. const arrs = []
  1159. this.problemForm.auditUnitedName.forEach((item) => {
  1160. arrs.push(`'${item.id}'`)
  1161. })
  1162. this.reqData3.auditUnitedName = arrs.join(',')
  1163. this.reqData3.auditUnitedId = arrs.join(',')
  1164. } else {
  1165. this.reqData3.auditUnitedName = ''
  1166. this.reqData3.auditUnitedId = ''
  1167. }
  1168. if (this.problemForm.auditType.length !== 0) {
  1169. this.reqData3.auditType = this.problemForm.auditType[0].id + ''
  1170. } else {
  1171. this.reqData3.auditType = ''
  1172. }
  1173. if (this.problemForm.findTitle !== '') {
  1174. this.reqData3.findTitle = this.problemForm.findTitle + ''
  1175. } else {
  1176. this.reqData3.findTitle = ''
  1177. }
  1178. this.handleSearch3()
  1179. }
  1180. } else {
  1181. debugger
  1182. if (
  1183. this.problemForm.timeRange.length === 0 &&
  1184. this.problemForm.unitNames.length === 0 &&
  1185. this.problemForm.auditType.length === 0 &&
  1186. this.problemForm.auditUnitedName.length === 0 &&
  1187. this.problemForm.findTitle === ''
  1188. ) {
  1189. this.problemHandleExport()
  1190. } else {
  1191. // 处理时间
  1192. this.reqData3.dateStart = this.problemForm.timeRange[0].year() + ''
  1193. this.reqData3.dateEnd = this.problemForm.timeRange[1].year() + ''
  1194. // 处理部门
  1195. const arr = []
  1196. this.problemForm.unitNames.forEach((item) => {
  1197. arr.push(`'${item.id}'`)
  1198. })
  1199. this.reqData3.unitNames = arr.join(',')
  1200. this.reqData3.unitIds = arr.join(',')
  1201. if (this.problemForm.auditUnitedName.length !== 0) {
  1202. const arrs = []
  1203. this.problemForm.auditUnitedName.forEach((item) => {
  1204. arrs.push(`'${item.id}'`)
  1205. })
  1206. this.reqData3.auditUnitedName = arrs.join(',')
  1207. this.reqData3.auditUnitedId = arrs.join(',')
  1208. } else {
  1209. this.reqData3.auditUnitedName = ''
  1210. this.reqData3.auditUnitedId = ''
  1211. }
  1212. if (this.problemForm.auditType.length !== 0) {
  1213. this.reqData3.auditType = this.problemForm.auditType[0].id + ''
  1214. } else {
  1215. this.reqData3.auditType = ''
  1216. }
  1217. if (this.problemForm.findTitle !== '') {
  1218. this.reqData3.findTitle = this.problemForm.findTitle + ''
  1219. } else {
  1220. this.reqData3.findTitle = ''
  1221. }
  1222. this.problemHandleExport()
  1223. }
  1224. }
  1225. },
  1226. problemHandleExport() {
  1227. axios({
  1228. method: 'post',
  1229. url: 'api/xcoa-mobile/v1/spicAuditReportExport/exportProblemRectItem',
  1230. responseType: 'blob',
  1231. data: {
  1232. unitIds: this.reqData3.unitIds,
  1233. dateStart: this.reqData3.dateStart,
  1234. dateEnd: this.reqData3.dateEnd,
  1235. auditType: this.reqData3.auditType,
  1236. auditUnitedId: this.reqData3.auditUnitedId,
  1237. findTitle: this.reqData3.findTitle,
  1238. },
  1239. }).then((res) => {
  1240. const url = URL.createObjectURL(res.data)
  1241. download(url, '审计问题整改明细台账-内审.xlsx')
  1242. })
  1243. },
  1244. // 导出单位及内部审计机构基本情况
  1245. exportGroup() {
  1246. axios({
  1247. method: 'post',
  1248. url: 'api/xcoa-mobile/v1/iam-audits-statistics/exportIamOrgExcel',
  1249. responseType: 'blob',
  1250. data: {
  1251. unitIds: '',
  1252. dateStart: '',
  1253. dateEnd: '',
  1254. },
  1255. }).then((res) => {
  1256. const url = URL.createObjectURL(res.data)
  1257. download(url, '单位及内部审计机构基本情况表.xls')
  1258. })
  1259. },
  1260. rowClick(record, { rowIndex, column }) {
  1261. // const param = {
  1262. // dateStart: this.reqData.dateStart,
  1263. // dateEnd: this.reqData.dateEnd,
  1264. // unitIds: "'" + record.ORG_ID + "'",
  1265. // }
  1266. // let url = ''
  1267. // if (column.dataIndex === 'REAL_NUM' || column.dataIndex === 'OUTSIDE_NUM') {
  1268. // if (column.dataIndex === 'REAL_NUM') {
  1269. // param.columnValue = 'SJXMS'
  1270. // } else {
  1271. // param.columnValue = 'JWXMS'
  1272. // }
  1273. // // 项目列表 实际 和境外
  1274. // url = '#/audit-annualplancompletion-project-list?params='
  1275. // } else if (column.dataIndex === 'FIND_NUM') {
  1276. // // 发现列表
  1277. // url = '#/audit-problemamount-find-list?params='
  1278. // } else {
  1279. // // 整改列表
  1280. // if (column.dataIndex === 'DONE_NUM') {
  1281. // param.rectStatus = '03'
  1282. // }
  1283. // param.rectUnitFlag = 'true'
  1284. // url = '#/audit-statistics-find-list?params='
  1285. // }
  1286. // url = url + encodeURIComponent(JSON.stringify(param)) + '&type=personnelstatistics'
  1287. // window.open(url)
  1288. },
  1289. },
  1290. }
  1291. </script>
  1292. <style module lang="scss">
  1293. @use '@/common/design' as *;
  1294. .personalStatistics {
  1295. :global(.ant-table-body) {
  1296. overflow-x: scroll !important;
  1297. }
  1298. :global(.ant-form-item) {
  1299. margin: 0;
  1300. }
  1301. :global(.ant-table-empty) {
  1302. :global(.ant-table-body) {
  1303. overflow-x: scroll !important;
  1304. }
  1305. }
  1306. .conditions {
  1307. margin-bottom: 20px;
  1308. }
  1309. .buttonContent {
  1310. padding-top: 6px;
  1311. text-align: right;
  1312. button {
  1313. margin: 0 4px;
  1314. }
  1315. }
  1316. :global(.anticon-setting) {
  1317. display: none;
  1318. }
  1319. .tableTitle {
  1320. padding-top: 16px;
  1321. margin: 0;
  1322. font-size: 22px;
  1323. font-weight: bold;
  1324. color: #404040;
  1325. text-align: center;
  1326. background: white;
  1327. }
  1328. :global(.reporttablecardxm) {
  1329. :global(.ant-table-body) {
  1330. height: auto !important;
  1331. min-height: auto !important;
  1332. overflow: auto;
  1333. }
  1334. }
  1335. :global(.ant-table-placeholder) {
  1336. height: auto !important;
  1337. }
  1338. }
  1339. </style>