reportContinueQuestion.vue 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. <template>
  2. <div class="page">
  3. <h2 style="text-align: center;">全区"企业大走访"正在推动解决问题一览表(截止{{searchForm.end}})</h2>
  4. <div style="margin: 5px;">日期选择:<el-date-picker size="mini" v-model="value2" type="daterange" @change="changeTime"
  5. unlink-panels range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" align="right" unlink-panels>
  6. </el-date-picker></div>
  7. <div class="report_main">
  8. <table border="1">
  9. <tr>
  10. <!-- <td rowspan="2">总序号</td> -->
  11. <td style="width: 60px;" rowspan="2">序号</td>
  12. <td style="width: 7%" rowspan="2">企业名称</td>
  13. <td style="width: 7%" rowspan="2">走访领导及区直单位</td>
  14. <td style="width: 7%" rowspan="2">属地</td>
  15. <td style="width: 7%" rowspan="2">问题类型</td>
  16. <td style="width: 7%" rowspan="2">企业提交问题时间</td>
  17. <td style="width: 15%" rowspan="2">问题详情描述</td>
  18. <td style="width: 20%" rowspan="2">目前进展情况</td>
  19. <td style="width: 7%" rowspan="2">办理结果</td>
  20. <td style="width: 7%" rowspan="2">办结时间</td>
  21. <td colspan="2">主办单位</td>
  22. </tr>
  23. <tr>
  24. <td style="width: 8%">主办</td>
  25. <td style="width: 8%">协办</td>
  26. </tr>
  27. <tr>
  28. <td colspan="13" style="text-align: left;">(一) 正在办理问题{{onesum}}个
  29. </td>
  30. </tr>
  31. <template v-if="oneList.length > 0" v-for="(item,index) in oneList">
  32. <tr>
  33. <td v-if="item.length > 0" colspan="13" style="text-align: left;">({{index + 1}})
  34. {{item[0].q_type}}{{item.length}}个
  35. </td>
  36. </tr>
  37. <tr v-for="(item1,i) in item" :key="item1.record_id">
  38. <td>{{i + 1}}</td>
  39. <td>{{item1.qy_name}}</td>
  40. <td>{{item1.officer}}</td>
  41. <td>{{item1.qy_sd}}</td>
  42. <td>{{item1.q_type}}</td>
  43. <td>{{item1.subtime}}</td>
  44. <td>{{item1.des}}</td>
  45. <td>{{item1.des6}}</td>
  46. <td>{{item1.op_type_name}}</td>
  47. <td>{{item1.create_date}}</td>
  48. <td>{{item1.des2}}</td>
  49. <td>{{item1.des4}}</td>
  50. </tr>
  51. </template>
  52. <tr v-if="oneList.length <= 0"><td colspan="13">暂无数据</td></tr>
  53. <tr>
  54. <td colspan="13" style="text-align: left;">(二) 难以解决问题{{twosum}}个
  55. </td>
  56. </tr>
  57. <template v-if="twoList.length > 0" v-for="(item,index) in twoList">
  58. <tr>
  59. <td v-if="item.length > 0" colspan="13" style="text-align: left;">({{index + 1}})
  60. {{item[0].q_type}}{{item.length}}个
  61. </td>
  62. </tr>
  63. <tr v-for="(item1,i) in item" :key="item1.record_id">
  64. <td>{{i + 1}}</td>
  65. <td>{{item1.qy_name}}</td>
  66. <td>{{item1.officer}}</td>
  67. <td>{{item1.qy_sd}}</td>
  68. <td>{{item1.q_type}}</td>
  69. <td>{{item1.subtime}}</td>
  70. <td>{{item1.des}}</td>
  71. <td>{{item1.des6}}</td>
  72. <td>{{item1.op_type_name}}</td>
  73. <td>{{item1.create_date}}</td>
  74. <td>{{item1.des2}}</td>
  75. <td>{{item1.des4}}</td>
  76. </tr>
  77. </template>
  78. <tr v-if="twoList.length <= 0"><td colspan="13">暂无数据</td></tr>
  79. <tr>
  80. <td colspan="13" style="text-align: left;">(三) 持续跟踪问题{{threesum}}个
  81. </td>
  82. </tr>
  83. <template v-if="threeList.length > 0" v-for="(item,index) in threeList">
  84. <tr>
  85. <td v-if="item.length > 0" colspan="13" style="text-align: left; padding-left: 10px;">({{index + 1}})
  86. {{item[0].q_type}}{{item.length}}个
  87. </td>
  88. </tr>
  89. <tr v-for="(item1,i) in item" :key="item1.record_id">
  90. <td>{{i + 1}}</td>
  91. <td>{{item1.qy_name}}</td>
  92. <td>{{item1.officer}}</td>
  93. <td>{{item1.qy_sd}}</td>
  94. <td>{{item1.q_type}}</td>
  95. <td>{{item1.subtime}}</td>
  96. <td>{{item1.des}}</td>
  97. <td>{{item1.des6}}</td>
  98. <td>{{item1.op_type_name}}</td>
  99. <td>{{item1.create_date}}</td>
  100. <td>{{item1.des2}}</td>
  101. <td>{{item1.des4}}</td>
  102. </tr>
  103. </template>
  104. <tr v-if="threeList.length <= 0"><td colspan="13">暂无数据</td></tr>
  105. </table>
  106. </div>
  107. </div>
  108. </template>
  109. <script>
  110. import dzfQuestionService from '@/api/question/dzfQuestionService'
  111. export default {
  112. data() {
  113. return {
  114. searchForm: {
  115. start: '2025-04-01',
  116. end: '',
  117. },
  118. value2: [new Date()],
  119. onesum:0,
  120. twosum:0,
  121. threesum:0,
  122. loading: false,
  123. oneList: [],
  124. twoList: [],
  125. threeList: []
  126. }
  127. },
  128. activated() {
  129. const start = new Date();
  130. start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
  131. this.searchForm.start = start
  132. this.searchForm.end = this.formatDate(new Date())
  133. this.value2 = [this.searchForm.start, this.searchForm.end]
  134. this.getData();
  135. },
  136. methods: {
  137. getData() {
  138. dzfQuestionService.getReportContinueVisit(this.searchForm.start, this.searchForm.end).then(({
  139. data
  140. }) => {
  141. this.oneList = data.one
  142. this.twoList = data.two
  143. this.threeList = data.three
  144. this.onesum = data.oneSum
  145. this.twosum = data.twoSum
  146. this.threesum = data.threeSum
  147. })
  148. },
  149. formatDate(date) {
  150. const year = date.getFullYear();
  151. const month = date.getMonth() + 1;
  152. const day = date.getDate();
  153. const formattedDate = `${year}-${month.toString().padStart(2, '0')}-${day.toString().padStart(2, '0')}`;
  154. return formattedDate;
  155. },
  156. changeTime() {
  157. this.searchForm.start = this.formatDate(this.value2[0])
  158. this.searchForm.end = this.formatDate(this.value2[1])
  159. this.getData()
  160. }
  161. },
  162. }
  163. </script>
  164. <style>
  165. .page {
  166. background-color: #fff;
  167. }
  168. .report_main {
  169. text-align: center;
  170. height: 75vh;
  171. overflow: auto;
  172. }
  173. .report_main table {
  174. margin-left: auto;
  175. margin-right: auto;
  176. display: inline-block;
  177. width: 80%;
  178. }
  179. .report_main table {
  180. border-collapse: collapse;
  181. line-height: 20px;
  182. /* 使边框合并 */
  183. }
  184. .report_main td,
  185. .report_main th {
  186. border: 1px solid black;
  187. height: 30px;
  188. padding: 5px;
  189. }
  190. </style>