iam-audit-dsc-rectify-list.vue 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. <template>
  2. <div style="padding: 20px; padding-top: 0" class="reporttablecardxm">
  3. <div
  4. style="position: absolute; padding-top: 10px; line-height: 32px"
  5. class="header_sd-header_common"
  6. >
  7. <div :class="$style.titlepoint"></div>
  8. <span :class="['toptitle', $style.toptitle]">问题整改列表</span>
  9. </div>
  10. <sd-data-table
  11. ref="dataTable"
  12. :projectlist="true"
  13. :columns="columns"
  14. :data-url="dataUrl"
  15. :actions="actions"
  16. :process-req="processReq"
  17. :process-res="processRes"
  18. :defultpagination-pagesize="50"
  19. />
  20. </div>
  21. </template>
  22. <script>
  23. import { Message } from 'ant-design-vue'
  24. import TableActionTypes from '@/common/services/table-action-types'
  25. import download from '@/common/services/download'
  26. import StatisticsService from './iam-audit-dsc-service'
  27. import components from './_import-components/iam-audit-dsc-rectify-list-import'
  28. const columns = [
  29. {
  30. title: '序号',
  31. customRender: (text, record, index) => `${index + 1}`,
  32. width: '80px',
  33. },
  34. {
  35. title: '审计机构',
  36. dataIndex: 'UNIT_NAME',
  37. width: '200px',
  38. },
  39. {
  40. title: '项目名称',
  41. dataIndex: 'PROJECT_TITLE',
  42. width: '200px',
  43. },
  44. {
  45. title: '审计类型',
  46. dataIndex: 'AUDIT_TYPE',
  47. width: '200px',
  48. },
  49. {
  50. title: '问题名称(定性描述)',
  51. dataIndex: 'FIND_TITLE',
  52. width: '200px',
  53. },
  54. {
  55. title: '审计问题描述',
  56. dataIndex: 'FIND_DESC',
  57. width: '180px',
  58. },
  59. {
  60. title: '整改责任主体',
  61. dataIndex: 'RESP_UNIT_NAME',
  62. width: '180px',
  63. },
  64. {
  65. title: '问题分类',
  66. dataIndex: 'PROBLEM_CATEGORY_FUNCTION',
  67. width: '150px',
  68. },
  69. // {
  70. // title: '整改单位',
  71. // dataIndex: 'RESP_UNIT_NAME',
  72. // width: '200px',
  73. // },
  74. {
  75. title: '问题类型',
  76. dataIndex: 'RECT_TYPE',
  77. width: '150px',
  78. },
  79. {
  80. title: '措施执行情况',
  81. dataIndex: 'DRAFT_RECT_MEASURE',
  82. width: '150px',
  83. },
  84. {
  85. title: '计划完成日期',
  86. dataIndex: 'DRAFT_FINISH_DATE',
  87. width: '150px',
  88. },
  89. {
  90. title: '整改状态',
  91. dataIndex: 'RECT_STATE',
  92. width: '150px',
  93. },
  94. // {
  95. // title: '整改措施',
  96. // dataIndex: 'MEASURE',
  97. // width: '150px',
  98. // },
  99. {
  100. title: '是否完成当年整改阶段目标',
  101. dataIndex: 'WHETHER_FINISH_TARGET',
  102. width: '180px',
  103. },
  104. {
  105. title: '整改完成日期',
  106. dataIndex: 'FINISH_DATE',
  107. width: '150px',
  108. },
  109. // {
  110. // title: '整改责任部门',
  111. // dataIndex: 'RESPONSIBLE_DEPT_NAME',
  112. // width: '100px',
  113. // },
  114. // {
  115. // title: '整改类别',
  116. // dataIndex: 'RECT_TYPE',
  117. // width: '150px',
  118. // },
  119. // {
  120. // title: '问题性质',
  121. // dataIndex: 'PROBLEM_NATURE',
  122. // width: '150px',
  123. // },
  124. {
  125. title: '销号状态',
  126. dataIndex: 'CANCELL_STATUS',
  127. width: '150px',
  128. },
  129. ]
  130. export default {
  131. name: 'IamAuditDscRectifyList',
  132. metaInfo: {
  133. title: '整改发现统计透视图',
  134. },
  135. components,
  136. data() {
  137. return {
  138. params: null,
  139. columns,
  140. data: [],
  141. actions: [
  142. {
  143. label: '导出',
  144. id: 'export',
  145. permission: null,
  146. type: TableActionTypes.primary,
  147. callback: () => {
  148. // 整改发现列表导出
  149. const params = JSON.parse(this.$route.query.params)
  150. // 到期整改的问题数量
  151. if (this.$route.query.type === 'rectlist') {
  152. StatisticsService.exportRectifyList(params)
  153. .then((data) => {
  154. const url = URL.createObjectURL(data)
  155. download(url, '到期整改问题列表导出.xls')
  156. })
  157. .catch(() => {
  158. Message.error('导出失败')
  159. })
  160. } // 整改中问题
  161. else if (this.$route.query.type === 'rectinglist') {
  162. StatisticsService.exportRectifyList(params)
  163. .then((data) => {
  164. const url = URL.createObjectURL(data)
  165. download(url, '整改中问题列表导出.xls')
  166. })
  167. .catch(() => {
  168. Message.error('导出失败')
  169. })
  170. }
  171. },
  172. },
  173. ],
  174. }
  175. },
  176. computed: {
  177. dataUrl() {
  178. return 'api/xcoa-mobile/v1/spicDecisionSupportCenter/getFindRectifyList'
  179. },
  180. },
  181. methods: {
  182. processRes(res) {
  183. return res
  184. },
  185. processReq(req) {
  186. const params = JSON.parse(this.$route.query.params)
  187. req.data = {
  188. ...req.data,
  189. ...params,
  190. }
  191. if (req.data.pageIndex === undefined) {
  192. req.data.pageIndex = req.data.startPosition
  193. }
  194. if (req.data.pageSize === undefined) {
  195. req.data.pageSize = 10
  196. }
  197. this.params = req.data
  198. return req
  199. },
  200. },
  201. }
  202. </script>
  203. <style module lang="scss">
  204. @use '@/common/design' as *;
  205. .titlepoint {
  206. position: absolute;
  207. top: 12px;
  208. left: 20px;
  209. width: 8px;
  210. height: 27px;
  211. background: #1890ff;
  212. border-radius: 8px;
  213. }
  214. .toptitle {
  215. position: absolute;
  216. top: 9px;
  217. left: 40px;
  218. width: 200px;
  219. font-size: 22px;
  220. font-weight: bold;
  221. color: #404040;
  222. }
  223. </style>