index.vue 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077
  1. <template>
  2. <div class="app-container">
  3. <el-row :gutter="20">
  4. <el-col :span="4" :xs="24">
  5. <dept-tree-one
  6. :userId="user.userData.dept.parentId"
  7. :isFive="true"
  8. :isJl="true"
  9. :expandOnClickNode="false"
  10. :showCheckbox="false"
  11. @handleNodeClick="handleNodeClick"
  12. >
  13. </dept-tree-one>
  14. </el-col>
  15. <el-col :span="20" :xs="24">
  16. <el-form
  17. :model="queryParams"
  18. ref="queryForm"
  19. size="small"
  20. :inline="true"
  21. v-show="showSearch"
  22. label-width="90px"
  23. >
  24. <el-form-item label="发放月份" prop="ffsj">
  25. <el-date-picker
  26. v-model="daterangeFfsj"
  27. :clearable="false"
  28. value-format="yyyyMM"
  29. type="monthrange"
  30. range-separator="-"
  31. start-placeholder="开始月份"
  32. end-placeholder="结束月份"
  33. ></el-date-picker>
  34. </el-form-item>
  35. <el-form-item>
  36. <el-button
  37. type="primary"
  38. icon="el-icon-search"
  39. size="mini"
  40. @click="handleQuery"
  41. >搜索</el-button
  42. >
  43. <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
  44. >重置</el-button
  45. >
  46. </el-form-item>
  47. </el-form>
  48. <el-row :gutter="10" class="mb8">
  49. <el-col :span="1.5">
  50. <el-button
  51. type="warning"
  52. plain
  53. icon="el-icon-download"
  54. size="mini"
  55. @click="handleExport(gljtSqListExlce, '津贴发放统计')"
  56. >
  57. 导出
  58. </el-button>
  59. </el-col>
  60. <right-toolbar
  61. :showSearch.sync="showSearch"
  62. @queryTable="getList"
  63. ></right-toolbar>
  64. </el-row>
  65. <el-table v-loading="loading" :data="gljtSqList">
  66. <el-table-column
  67. prop="areaName"
  68. align="center"
  69. label="地区"
  70. width="180"
  71. />
  72. <el-table-column align="center" label="80-89">
  73. <el-table-column align="center" label="当发">
  74. <el-table-column prop="80-89dfcount" align="center" label="人数">
  75. <template slot-scope="scope">
  76. <span
  77. style="cursor: pointer"
  78. @click="openList(scope.row.areaCode, '0', '0')"
  79. >{{ scope.row["80-89dfcount"] }}</span
  80. >
  81. </template>
  82. </el-table-column>
  83. <el-table-column
  84. prop="80-89dfamount"
  85. align="center"
  86. label="金额"
  87. />
  88. </el-table-column>
  89. <el-table-column align="center" label="补发">
  90. <el-table-column prop="80-89bfcount" align="center" label="人数">
  91. <template slot-scope="scope">
  92. <span
  93. style="cursor: pointer"
  94. @click="openList(scope.row.areaCode, '0', '1')"
  95. >{{ scope.row["80-89bfcount"] }}</span
  96. >
  97. </template>
  98. </el-table-column>
  99. <el-table-column
  100. prop="80-89bfamount"
  101. align="center"
  102. label="金额"
  103. />
  104. </el-table-column>
  105. <el-table-column align="center" label="追缴">
  106. <el-table-column prop="80-89zjcount" align="center" label="人数">
  107. <template slot-scope="scope">
  108. <span
  109. style="cursor: pointer"
  110. @click="openList(scope.row.areaCode, '0', '2')"
  111. >{{ scope.row["80-89zjcount"] }}</span
  112. >
  113. </template>
  114. </el-table-column>
  115. <el-table-column
  116. prop="80-89zjamount"
  117. align="center"
  118. label="金额"
  119. />
  120. </el-table-column>
  121. <el-table-column align="center" label="追加">
  122. <el-table-column prop="80-89plzjcount" align="center" label="人数">
  123. <template slot-scope="scope">
  124. <span
  125. style="cursor: pointer"
  126. @click="openList(scope.row.areaCode, '0', '3')"
  127. >{{ scope.row["80-89plzjcount"] }}</span
  128. >
  129. </template>
  130. </el-table-column>
  131. <el-table-column
  132. prop="80-89plzjamount"
  133. align="center"
  134. label="金额"
  135. />
  136. </el-table-column>
  137. </el-table-column>
  138. <el-table-column align="center" label="80-89低保">
  139. <el-table-column align="center" label="当发">
  140. <el-table-column
  141. prop="80-89低保dfcount"
  142. align="center"
  143. label="人数"
  144. >
  145. <template slot-scope="scope">
  146. <span
  147. style="cursor: pointer"
  148. @click="openList(scope.row.areaCode, '3', '0')"
  149. >{{ scope.row["80-89低保dfcount"] }}</span
  150. >
  151. </template>
  152. </el-table-column>
  153. <el-table-column
  154. prop="80-89低保dfamount"
  155. align="center"
  156. label="金额"
  157. />
  158. </el-table-column>
  159. <el-table-column align="center" label="补发">
  160. <el-table-column
  161. prop="80-89低保bfcount"
  162. align="center"
  163. label="人数"
  164. >
  165. <template slot-scope="scope">
  166. <span
  167. style="cursor: pointer"
  168. @click="openList(scope.row.areaCode, '3', '1')"
  169. >{{ scope.row["80-89低保bfcount"] }}</span
  170. >
  171. </template>
  172. </el-table-column>
  173. <el-table-column
  174. prop="80-89低保bfamount"
  175. align="center"
  176. label="金额"
  177. />
  178. </el-table-column>
  179. <el-table-column align="center" label="追缴">
  180. <el-table-column
  181. prop="80-89低保zjcount"
  182. align="center"
  183. label="人数"
  184. >
  185. <template slot-scope="scope">
  186. <span
  187. style="cursor: pointer"
  188. @click="openList(scope.row.areaCode, '3', '2')"
  189. >{{ scope.row["80-89低保zjcount"] }}</span
  190. >
  191. </template>
  192. </el-table-column>
  193. <el-table-column
  194. prop="80-89低保zjamount"
  195. align="center"
  196. label="金额"
  197. />
  198. </el-table-column>
  199. <el-table-column align="center" label="追加">
  200. <el-table-column
  201. prop="80-89低保plzjcount"
  202. align="center"
  203. label="人数"
  204. >
  205. <template slot-scope="scope">
  206. <span
  207. style="cursor: pointer"
  208. @click="openList(scope.row.areaCode, '3', '3')"
  209. >{{ scope.row["80-89低保plzjcount"] }}</span
  210. >
  211. </template>
  212. </el-table-column>
  213. <el-table-column
  214. prop="80-89低保plzjamount"
  215. align="center"
  216. label="金额"
  217. />
  218. </el-table-column>
  219. </el-table-column>
  220. <el-table-column align="center" label="90-99">
  221. <el-table-column align="center" label="当发">
  222. <el-table-column prop="90-99dfcount" align="center" label="人数">
  223. <template slot-scope="scope">
  224. <span
  225. style="cursor: pointer"
  226. @click="openList(scope.row.areaCode, '1', '0')"
  227. >{{ scope.row["90-99dfcount"] }}</span
  228. >
  229. </template>
  230. </el-table-column>
  231. <el-table-column
  232. prop="90-99dfamount"
  233. align="center"
  234. label="金额"
  235. />
  236. </el-table-column>
  237. <el-table-column align="center" label="补发">
  238. <el-table-column prop="90-99bfcount" align="center" label="人数">
  239. <template slot-scope="scope">
  240. <span
  241. style="cursor: pointer"
  242. @click="openList(scope.row.areaCode, '1', '1')"
  243. >{{ scope.row["90-99bfcount"] }}</span
  244. >
  245. </template>
  246. </el-table-column>
  247. <el-table-column
  248. prop="90-99bfamount"
  249. align="center"
  250. label="金额"
  251. />
  252. </el-table-column>
  253. <el-table-column align="center" label="追缴">
  254. <el-table-column prop="90-99zjcount" align="center" label="人数">
  255. <template slot-scope="scope">
  256. <span
  257. style="cursor: pointer"
  258. @click="openList(scope.row.areaCode, '1', '2')"
  259. >{{ scope.row["90-99zjcount"] }}</span
  260. >
  261. </template>
  262. </el-table-column>
  263. <el-table-column
  264. prop="90-99zjamount"
  265. align="center"
  266. label="金额"
  267. />
  268. </el-table-column>
  269. <el-table-column align="center" label="追加">
  270. <el-table-column prop="90-99plzjcount" align="center" label="人数">
  271. <template slot-scope="scope">
  272. <span
  273. style="cursor: pointer"
  274. @click="openList(scope.row.areaCode, '1', '3')"
  275. >{{ scope.row["90-99plzjcount"] }}</span
  276. >
  277. </template>
  278. </el-table-column>
  279. <el-table-column
  280. prop="90-99plzjamount"
  281. align="center"
  282. label="金额"
  283. />
  284. </el-table-column>
  285. </el-table-column>
  286. <el-table-column align="center" label="90-99低保">
  287. <el-table-column align="center" label="当发">
  288. <el-table-column
  289. prop="90-99低保dfcount"
  290. align="center"
  291. label="人数"
  292. >
  293. <template slot-scope="scope">
  294. <span
  295. style="cursor: pointer"
  296. @click="openList(scope.row.areaCode, '4', '0')"
  297. >{{ scope.row["90-99低保dfcount"] }}</span
  298. >
  299. </template>
  300. </el-table-column>
  301. <el-table-column
  302. prop="90-99低保dfamount"
  303. align="center"
  304. label="金额"
  305. />
  306. </el-table-column>
  307. <el-table-column align="center" label="补发">
  308. <el-table-column
  309. prop="90-99低保bfcount"
  310. align="center"
  311. label="人数"
  312. >
  313. <template slot-scope="scope">
  314. <span
  315. style="cursor: pointer"
  316. @click="openList(scope.row.areaCode, '4', '1')"
  317. >{{ scope.row["90-99低保bfcount"] }}</span
  318. >
  319. </template>
  320. </el-table-column>
  321. <el-table-column
  322. prop="90-99低保bfamount"
  323. align="center"
  324. label="金额"
  325. />
  326. </el-table-column>
  327. <el-table-column align="center" label="追缴">
  328. <el-table-column
  329. prop="90-99低保zjcount"
  330. align="center"
  331. label="人数"
  332. >
  333. <template slot-scope="scope">
  334. <span
  335. style="cursor: pointer"
  336. @click="openList(scope.row.areaCode, '4', '2')"
  337. >{{ scope.row["90-99低保zjcount"] }}</span
  338. >
  339. </template>
  340. </el-table-column>
  341. <el-table-column
  342. prop="90-99低保zjamount"
  343. align="center"
  344. label="金额"
  345. />
  346. </el-table-column>
  347. <el-table-column align="center" label="追加">
  348. <el-table-column
  349. prop="90-99低保plzjcount"
  350. align="center"
  351. label="人数"
  352. >
  353. <template slot-scope="scope">
  354. <span
  355. style="cursor: pointer"
  356. @click="openList(scope.row.areaCode, '4', '3')"
  357. >{{ scope.row["90-99低保plzjcount"] }}</span
  358. >
  359. </template>
  360. </el-table-column>
  361. <el-table-column
  362. prop="90-99低保zjamount"
  363. align="center"
  364. label="金额"
  365. />
  366. </el-table-column>
  367. </el-table-column>
  368. <el-table-column align="center" label="100以上">
  369. <el-table-column align="center" label="当发">
  370. <el-table-column
  371. prop="100以上dfcount"
  372. align="center"
  373. label="人数"
  374. >
  375. <template slot-scope="scope">
  376. <span
  377. style="cursor: pointer"
  378. @click="openList(scope.row.areaCode, '2', '0')"
  379. >{{ scope.row["100以上dfcount"] }}</span
  380. >
  381. </template>
  382. </el-table-column>
  383. <el-table-column
  384. prop="100以上dfamount"
  385. align="center"
  386. label="金额"
  387. />
  388. </el-table-column>
  389. <el-table-column align="center" label="补发">
  390. <el-table-column
  391. prop="100以上bfcount"
  392. align="center"
  393. label="人数"
  394. >
  395. <template slot-scope="scope">
  396. <span
  397. style="cursor: pointer"
  398. @click="openList(scope.row.areaCode, '2', '1')"
  399. >{{ scope.row["100以上bfcount"] }}</span
  400. >
  401. </template>
  402. </el-table-column>
  403. <el-table-column
  404. prop="100以上bfamount"
  405. align="center"
  406. label="金额"
  407. />
  408. </el-table-column>
  409. <el-table-column align="center" label="追缴">
  410. <el-table-column
  411. prop="100以上zjcount"
  412. align="center"
  413. label="人数"
  414. >
  415. <template slot-scope="scope">
  416. <span
  417. style="cursor: pointer"
  418. @click="openList(scope.row.areaCode, '2', '2')"
  419. >{{ scope.row["100以上zjcount"] }}</span
  420. >
  421. </template>
  422. </el-table-column>
  423. <el-table-column
  424. prop="100以上zjamount"
  425. align="center"
  426. label="金额"
  427. />
  428. </el-table-column>
  429. <el-table-column align="center" label="追加">
  430. <el-table-column
  431. prop="100以上plzjcount"
  432. align="center"
  433. label="人数"
  434. >
  435. <template slot-scope="scope">
  436. <span
  437. style="cursor: pointer"
  438. @click="openList(scope.row.areaCode, '2', '3')"
  439. >{{ scope.row["100以上plzjcount"] }}</span
  440. >
  441. </template>
  442. </el-table-column>
  443. <el-table-column
  444. prop="100以上plzjamount"
  445. align="center"
  446. label="金额"
  447. />
  448. </el-table-column>
  449. </el-table-column>
  450. <el-table-column align="center" label="100以上低保">
  451. <el-table-column align="center" label="当发">
  452. <el-table-column
  453. prop="100以上低保dfcount"
  454. align="center"
  455. label="人数"
  456. >
  457. <template slot-scope="scope">
  458. <span
  459. style="cursor: pointer"
  460. @click="openList(scope.row.areaCode, '5', '0')"
  461. >{{ scope.row["100以上低保dfcount"] }}</span
  462. >
  463. </template>
  464. </el-table-column>
  465. <el-table-column
  466. prop="100以上低保dfamount"
  467. align="center"
  468. label="金额"
  469. />
  470. </el-table-column>
  471. <el-table-column align="center" label="补发">
  472. <el-table-column
  473. prop="100以上低保bfcount"
  474. align="center"
  475. label="人数"
  476. >
  477. <template slot-scope="scope">
  478. <span
  479. style="cursor: pointer"
  480. @click="openList(scope.row.areaCode, '5', '1')"
  481. >{{ scope.row["100以上低保bfcount"] }}</span
  482. >
  483. </template>
  484. </el-table-column>
  485. <el-table-column
  486. prop="100以上低保bfamount"
  487. align="center"
  488. label="金额"
  489. />
  490. </el-table-column>
  491. <el-table-column align="center" label="追缴">
  492. <el-table-column
  493. prop="100以上低保zjcount"
  494. align="center"
  495. label="人数"
  496. >
  497. <template slot-scope="scope">
  498. <span
  499. style="cursor: pointer"
  500. @click="openList(scope.row.areaCode, '5', '2')"
  501. >{{ scope.row["100以上低保zjcount"] }}</span
  502. >
  503. </template>
  504. </el-table-column>
  505. <el-table-column
  506. prop="100以上低保zjamount"
  507. align="center"
  508. label="金额"
  509. />
  510. </el-table-column>
  511. <el-table-column align="center" label="追缴">
  512. <el-table-column
  513. prop="100以上低保plzjcount"
  514. align="center"
  515. label="人数"
  516. >
  517. <template slot-scope="scope">
  518. <span
  519. style="cursor: pointer"
  520. @click="openList(scope.row.areaCode, '5', '3')"
  521. >{{ scope.row["100以上低保plzjcount"] }}</span
  522. >
  523. </template>
  524. </el-table-column>
  525. <el-table-column
  526. prop="100以上低保plzjamount"
  527. align="center"
  528. label="金额"
  529. />
  530. </el-table-column>
  531. </el-table-column>
  532. </el-table>
  533. <pagination
  534. v-show="total > 0"
  535. :total="total"
  536. :page.sync="queryParams.pageNum"
  537. :limit.sync="queryParams.pageSize"
  538. @pagination="getList"
  539. />
  540. </el-col>
  541. </el-row>
  542. <!-- 高龄补贴补发详情对话框 -->
  543. <el-dialog
  544. v-dialog-drag
  545. title="详情数据"
  546. :visible.sync="openXq"
  547. width="1200px"
  548. append-to-body
  549. custom-class="custom"
  550. >
  551. <el-scrollbar wrapClass="scrollbar-wrap1">
  552. <!-- 当发 -->
  553. <el-table
  554. v-loading="loading2"
  555. :data="gljtSqList2"
  556. v-if="queryParams2.fflx == '0'"
  557. >
  558. <el-table-column label="序号" align="center">
  559. <template slot-scope="scope">
  560. {{
  561. (queryParams2.pageNum - 1) * queryParams2.pageSize +
  562. scope.$index +
  563. 1
  564. }}
  565. </template>
  566. </el-table-column>
  567. <el-table-column label="姓名" align="center" prop="sqrXm" />
  568. <el-table-column
  569. label="身份证号"
  570. align="center"
  571. prop="sqrZjhm"
  572. width="180"
  573. />
  574. <el-table-column label="年龄" align="center" prop="age" />
  575. <el-table-column
  576. label="行政区划"
  577. align="center"
  578. prop="xzqhName"
  579. width="320"
  580. />
  581. <el-table-column label="批次名称" align="center" prop="pcmc" />
  582. <el-table-column label="是否发放" align="center" prop="status">
  583. <template slot-scope="scope">
  584. <dict-tag :options="dict.type.GL012" :value="scope.row.status" />
  585. </template>
  586. </el-table-column>
  587. <el-table-column label="当发月份" align="center" prop="dfyf">
  588. <template v-slot="{ row }">
  589. {{ row.dfyf | ffyfFilter }}
  590. </template>
  591. </el-table-column>
  592. <el-table-column label="计发月份" align="center" prop="ffyf">
  593. <template v-slot="{ row }">
  594. {{ row.ffyf | ffyfFilter }}
  595. </template>
  596. </el-table-column>
  597. <el-table-column label="发放金额" align="center" prop="ffje" />
  598. <el-table-column
  599. label="发放时间"
  600. align="center"
  601. prop="ffsj"
  602. width="180"
  603. >
  604. <template v-slot="{ row }">
  605. {{ special(row.ffsj, "time") }}
  606. </template>
  607. </el-table-column>
  608. <el-table-column label="状态" align="center" prop="jfms" />
  609. </el-table>
  610. <!-- 补发 -->
  611. <el-table
  612. v-loading="loading2"
  613. :data="gljtSqList2"
  614. v-if="queryParams2.fflx == '1'"
  615. >
  616. <el-table-column label="序号" align="center">
  617. <template slot-scope="scope">
  618. {{
  619. (queryParams2.pageNum - 1) * queryParams2.pageSize +
  620. scope.$index +
  621. 1
  622. }}
  623. </template>
  624. </el-table-column>
  625. <el-table-column label="姓名" align="center" prop="sqrXm" />
  626. <el-table-column
  627. label="身份证号"
  628. align="center"
  629. prop="sqrZjhm"
  630. width="180"
  631. />
  632. <el-table-column label="年龄" align="center" prop="age" />
  633. <el-table-column
  634. label="行政区划"
  635. align="center"
  636. prop="xzqhName"
  637. width="320"
  638. />
  639. <!--<el-table-column label="发放批次" align="center" prop="pcmc"/>-->
  640. <el-table-column label="补发金额" align="center" prop="ffje" />
  641. <el-table-column label="补发月份" align="center" prop="ffyf">
  642. <template v-slot="{ row }">
  643. {{ row.ffyf | ffyfFilter }}
  644. </template>
  645. </el-table-column>
  646. <el-table-column label="补发原因" align="center" prop="bfyy">
  647. <template v-slot="{ row }">
  648. {{ translateDict("GL008", row.bfyy) }}
  649. </template>
  650. </el-table-column>
  651. <el-table-column
  652. label="补发确认时间"
  653. align="center"
  654. prop="ffsj"
  655. width="180"
  656. >
  657. <template v-slot="{ row }">
  658. {{ special(row.bfqrsj, "time") }}
  659. </template>
  660. </el-table-column>
  661. <el-table-column label="是否发放" align="center" prop="status">
  662. <template slot-scope="scope">
  663. <dict-tag :options="dict.type.GL012" :value="scope.row.status" />
  664. </template>
  665. </el-table-column>
  666. <el-table-column
  667. label="补发时间"
  668. align="center"
  669. prop="ffsj"
  670. width="180"
  671. >
  672. <template v-slot="{ row }">
  673. {{ special(row.ffsj, "time") }}
  674. </template>
  675. </el-table-column>
  676. </el-table>
  677. <!-- 追缴 -->
  678. <el-table
  679. v-loading="loading2"
  680. :data="gljtSqList2"
  681. v-if="queryParams2.fflx == '2'"
  682. >
  683. <el-table-column label="序号" align="center">
  684. <template slot-scope="scope">
  685. {{
  686. (queryParams2.pageNum - 1) * queryParams2.pageSize +
  687. scope.$index +
  688. 1
  689. }}
  690. </template>
  691. </el-table-column>
  692. <el-table-column label="姓名" align="center" prop="sqrXm" />
  693. <el-table-column
  694. label="身份证号"
  695. align="center"
  696. prop="sqrZjhm"
  697. width="180"
  698. />
  699. <el-table-column label="年龄" align="center" prop="age" />
  700. <el-table-column
  701. label="行政区划"
  702. align="center"
  703. prop="xzqhName"
  704. width="320"
  705. />
  706. <!--<el-table-column label="发放批次" align="center" prop="pcmc"/>-->
  707. <el-table-column label="追缴金额" align="center" prop="ffje" />
  708. <el-table-column label="追缴月份" align="center" prop="ffyf">
  709. <template v-slot="{ row }">
  710. {{ row.ffyf | ffyfFilter }}
  711. </template>
  712. </el-table-column>
  713. <!--<el-table-column label="停发原因" align="center" prop="tfyy"/>-->
  714. <!--<el-table-column label="停发确认时间" align="center" prop="ffsj" width="180">-->
  715. <!--<template v-slot="{ row }">-->
  716. <!--{{ special(row.tfqrsj,'time') }}-->
  717. <!--</template>-->
  718. <!--</el-table-column>-->
  719. <el-table-column label="追缴原因" align="center" prop="zjyy" />
  720. <el-table-column
  721. label="追缴确认时间"
  722. align="center"
  723. prop="zjqrsj"
  724. width="180"
  725. >
  726. <template v-slot="{ row }">
  727. {{ special(row.zjqrsj, "time") }}
  728. </template>
  729. </el-table-column>
  730. <el-table-column label="是否记账" align="center" prop="status">
  731. <template slot-scope="scope">
  732. <!-- <dict-tag :options="dict.type.GL012" :value="scope.row.status" /> -->
  733. <div v-if="scope.row.status === '1'">已记账</div>
  734. <div v-if="scope.row.status === '0'">未记账</div>
  735. </template>
  736. </el-table-column>
  737. <el-table-column
  738. label="记账时间"
  739. align="center"
  740. prop="ffsj"
  741. width="180"
  742. >
  743. <template v-slot="{ row }">
  744. {{ special(row.ffsj, "time") }}
  745. </template>
  746. </el-table-column>
  747. </el-table>
  748. <!-- 追加 -->
  749. <el-table
  750. v-loading="loading2"
  751. :data="gljtSqList2"
  752. v-if="queryParams2.fflx == '3'"
  753. >
  754. <el-table-column label="序号" align="center">
  755. <template slot-scope="scope">
  756. {{
  757. (queryParams2.pageNum - 1) * queryParams2.pageSize +
  758. scope.$index +
  759. 1
  760. }}
  761. </template>
  762. </el-table-column>
  763. <el-table-column label="姓名" align="center" prop="sqrXm" />
  764. <el-table-column
  765. label="身份证号"
  766. align="center"
  767. prop="sqrZjhm"
  768. width="180"
  769. />
  770. <el-table-column label="年龄" align="center" prop="age" />
  771. <el-table-column
  772. label="行政区划"
  773. align="center"
  774. prop="xzqhName"
  775. width="320"
  776. />
  777. <el-table-column label="追加金额" align="center" prop="ffje" />
  778. <el-table-column label="追加月份" align="center" prop="ffyf">
  779. <template v-slot="{ row }">
  780. {{ row.ffyf | ffyfFilter }}
  781. </template>
  782. </el-table-column>
  783. <el-table-column label="是否发放" align="center" prop="status">
  784. <template slot-scope="scope">
  785. <dict-tag :options="dict.type.GL012" :value="scope.row.status" />
  786. </template>
  787. </el-table-column>
  788. <el-table-column
  789. label="发放时间"
  790. align="center"
  791. prop="ffsj"
  792. width="180"
  793. >
  794. <template v-slot="{ row }">
  795. {{ special(row.ffsj, "time") }}
  796. </template>
  797. </el-table-column>
  798. <el-table-column label="追加描述" align="center" prop="jfms" />
  799. </el-table>
  800. <pagination
  801. v-show="total2 > 0"
  802. :total="total2"
  803. :page.sync="queryParams2.pageNum"
  804. :limit.sync="queryParams2.pageSize"
  805. @pagination="getList2"
  806. />
  807. </el-scrollbar>
  808. </el-dialog>
  809. </div>
  810. </template>
  811. <script>
  812. import { getJfxxTjStatistics } from "@/api/gljt/gljttj";
  813. import { mapState } from "vuex";
  814. import { cxList } from "@/api/gljt/gljtcx";
  815. export default {
  816. name: "index",
  817. dicts: ["GL012", "GL008"],
  818. computed: {
  819. ...mapState(["user"]),
  820. },
  821. data() {
  822. return {
  823. openXq: false,
  824. loading2: false,
  825. total2: 0,
  826. gljtSqList2: [],
  827. queryParams2: {
  828. btbz: null,
  829. fflx: null,
  830. status: "1",
  831. pageNum: 1,
  832. pageSize: 10,
  833. },
  834. isShow: false,
  835. loading: true,
  836. // 显示搜索条件
  837. showSearch: true,
  838. // 总条数
  839. total: 0,
  840. // 高龄津贴申请信息表格数据
  841. gljtSqList: [],
  842. gljtSqListExlce: [],
  843. daterangeFfsj: [],
  844. // 查询参数
  845. queryParams: {
  846. xzqh: null,
  847. status: "1",
  848. },
  849. };
  850. },
  851. mounted() {
  852. this.daterangeFfsj=[this.getFormattedMonth(-1),this.getFormattedMonth()];
  853. this.getList();
  854. },
  855. methods: {
  856. getFormattedMonth(offset = 0) {
  857. const date = new Date();
  858. date.setMonth(date.getMonth() + offset); // 设置月份的偏移量
  859. const year = date.getFullYear();
  860. const month = date.getMonth() + 1; // getMonth() 返回 0-11,需要加 1
  861. return `${year}${String(month).padStart(2, "0")}`;
  862. // // 获取当前月份
  863. // const currentMonthFormatted = getFormattedMonth();
  864. // console.log(currentMonthFormatted); // 例如:202310
  865. //
  866. // // 获取下一个月
  867. // const nextMonthFormatted = getFormattedMonth(1);
  868. // console.log(nextMonthFormatted); // 例如:202311
  869. },
  870. openList(xzqh, btbz, fflx) {
  871. this.queryParams2.xzqh = xzqh;
  872. this.queryParams2.btbz = btbz;
  873. this.queryParams2.fflx = fflx;
  874. this.openXq = true;
  875. this.queryParams2.params = {};
  876. if (null != this.daterangeFfsj && "" != this.daterangeFfsj) {
  877. this.queryParams2.params["beginDfyf"] = this.daterangeFfsj[0];
  878. this.queryParams2.params["endDfyf"] = this.daterangeFfsj[1];
  879. }
  880. this.getList2();
  881. },
  882. getList2() {
  883. this.loading2 = true;
  884. cxList(this.queryParams2).then((response) => {
  885. this.gljtSqList2 = response.rows;
  886. this.total2 = response.total;
  887. this.loading2 = false;
  888. });
  889. },
  890. // 节点单击事件
  891. handleNodeClick(data) {
  892. if (data && data.code) {
  893. this.queryParams.xzqh = data.code;
  894. } else {
  895. this.queryParams.xzqh = null;
  896. }
  897. // this.queryParams.xzqhId = data.code
  898. // this.queryParams.name = data.name;
  899. this.handleQuery();
  900. },
  901. getTime() {
  902. // 获取当前年月日时分秒
  903. // 获取当前日期和时间
  904. const now = new Date();
  905. // 获取年份
  906. const year = now.getFullYear();
  907. // 获取月份(注意:月份是从0开始的,1月是0,12月是11)
  908. const month = String(now.getMonth() + 1).padStart(2, "0");
  909. // 获取日期
  910. const day = String(now.getDate()).padStart(2, "0");
  911. // 获取小时
  912. const hours = String(now.getHours()).padStart(2, "0");
  913. // 获取分钟
  914. const minutes = String(now.getMinutes()).padStart(2, "0");
  915. // 获取秒数
  916. const seconds = String(now.getSeconds()).padStart(2, "0");
  917. return year + month + day + hours + minutes + seconds;
  918. },
  919. /** 查询高龄津贴申请信息列表 */
  920. getList() {
  921. this.loading = true;
  922. // params:{ beginFfyf:发放月份开始yyyyMM,endFfyf:发放月份结束,beginFfsj:发放时间开始yyyyMMddHHmmss,endFfsj:发放时间结束 } }注:时间开始与结束两两对应,开始与结束同时存在时才进行过滤。
  923. this.queryParams.params2 = {};
  924. if (null != this.daterangeFfsj && "" != this.daterangeFfsj) {
  925. this.queryParams.params2["beginFfyf"] = this.daterangeFfsj[0];
  926. this.queryParams.params2["endFfyf"] = this.daterangeFfsj[1];
  927. }
  928. getJfxxTjStatistics(this.queryParams)
  929. .then((res) => {
  930. this.gljtSqList = [];
  931. // this.gljtSqList = res.rows;
  932. this.loading = false;
  933. let newYLJGXData = [
  934. "80-89",
  935. "80-89低保",
  936. "90-99",
  937. "90-99低保",
  938. "100以上",
  939. "100以上低保",
  940. ];
  941. let newYLJGXData2 = ["df", "bf", "zj", "plzj"];
  942. let newYLJGXData3 = ["count", "amount"];
  943. if (res.data.streetStats && res.data.streetStats.length > 0) {
  944. res.data.streetStats.forEach((item) => {
  945. let data = {};
  946. newYLJGXData.map((ite) => {
  947. newYLJGXData2.map((it) => {
  948. newYLJGXData3.map((i) => {
  949. data[ite + it + i] = item[ite][it][i];
  950. });
  951. });
  952. });
  953. this.gljtSqList.push({
  954. ...data,
  955. areaName: item.areaName,
  956. areaCode: item.areaCode,
  957. });
  958. });
  959. }
  960. let dataone = {};
  961. newYLJGXData.map((ite) => {
  962. newYLJGXData2.map((it) => {
  963. newYLJGXData3.map((i) => {
  964. dataone[ite + it + i] = res.data[ite][it][i];
  965. });
  966. });
  967. });
  968. this.gljtSqList.push({
  969. ...dataone,
  970. areaCode: res.data.areaCode,
  971. areaName:
  972. !res.data.streetStats || res.data.streetStats.length === 0
  973. ? res.data.areaName
  974. : "总计",
  975. });
  976. let keysArr = [
  977. {
  978. label: "地区",
  979. prop: "areaName",
  980. },
  981. ];
  982. let labelArr1 = [
  983. "80-89",
  984. "80-89低保",
  985. "90-99",
  986. "90-99低保",
  987. "100以上",
  988. "100以上低保",
  989. ];
  990. let labelArr2 = [
  991. {
  992. label: "当发",
  993. prop: "df",
  994. },
  995. {
  996. label: "补发",
  997. prop: "bf",
  998. },
  999. {
  1000. label: "追缴",
  1001. prop: "zj",
  1002. },
  1003. {
  1004. label: "追加",
  1005. prop: "plzj",
  1006. },
  1007. ];
  1008. let labelArr3 = [
  1009. {
  1010. label: "人数",
  1011. prop: "count",
  1012. },
  1013. {
  1014. label: "金额",
  1015. prop: "amount",
  1016. },
  1017. ];
  1018. labelArr1.forEach((item) => {
  1019. keysArr.push({
  1020. label: item,
  1021. prop: item,
  1022. data: labelArr2.map((ite) => {
  1023. return {
  1024. ...ite,
  1025. prop: item + ite.prop,
  1026. data: labelArr3.map((it) => {
  1027. return { ...it, prop: item + ite.prop + it.prop };
  1028. }),
  1029. };
  1030. }),
  1031. });
  1032. });
  1033. this.gljtSqListExlce = {
  1034. keys: keysArr,
  1035. vales: this.gljtSqList,
  1036. };
  1037. console.log(this.gljtSqListExlce);
  1038. })
  1039. .catch((res) => {
  1040. this.loading = false;
  1041. });
  1042. },
  1043. /** 搜索按钮操作 */
  1044. handleQuery() {
  1045. // this.queryParams.pageNum = 1;
  1046. // if (this.xzqh) {
  1047. // this.queryParams.xzqh = this.xzqh[this.xzqh.length - 1];
  1048. // } else {
  1049. // this.queryParams.xzqh = null;
  1050. // }
  1051. this.getList();
  1052. },
  1053. /** 重置按钮操作 */
  1054. resetQuery() {
  1055. // this.daterangeFfsj = [];
  1056. this.daterangeFfsj=[this.getFormattedMonth(-1),this.getFormattedMonth()];
  1057. this.resetForm("queryForm");
  1058. this.handleQuery();
  1059. },
  1060. translateDict(type, value) {
  1061. return this.selectDictLabel(this.dict.type[type], value);
  1062. },
  1063. },
  1064. };
  1065. </script>
  1066. <style scoped lang="scss">
  1067. </style>