应用层PC端前端服务

batchConfirmationPaymens.vue 6.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. <template>
  2. <div>
  3. <!-- 批量确认缴费 -->
  4. <el-dialog title="批量确认缴费" :visible="batchVisable" @close="cancel" center :distroy-on-close="true">
  5. <el-table v-loading="loading" style="width: 100%" :data="dataList" @selection-change="handleSelectionChange">
  6. <el-table-column type="selection">
  7. </el-table-column>
  8. <el-table-column label="序号" type="index" align="center">
  9. <template slot-scope="scope">
  10. <span>{{
  11. (queryParamsData.pageNum - 1) * queryParamsData.pageSize + scope.$index + 1
  12. }}</span>
  13. </template>
  14. </el-table-column>
  15. <el-table-column label="案件编号" prop="caseNum" align="center" :show-overflow-tooltip="true" />
  16. <el-table-column label="申请人" align="center" prop="applicantName" :show-overflow-tooltip="true" />
  17. <el-table-column label="案件标的" align="center" prop="caseSubjectAmount" />
  18. <el-table-column label="仲裁方式" align="center" prop="arbitratMethodName" :show-overflow-tooltip="true" />
  19. <!-- 仲裁员 -->
  20. <el-table-column label="仲裁员" prop="arbitratorName" align="center" />
  21. <!-- 开庭日期 -->
  22. <el-table-column label="开庭日期" prop="hearDate" align="center" :show-overflow-tooltip="true" />
  23. <el-table-column label="案件状态" prop="caseStatusName" align="center">
  24. <template slot-scope="scope">
  25. <el-tag type="success">{{ scope.row.caseStatusName }}</el-tag>
  26. </template>
  27. </el-table-column>
  28. </el-table>
  29. <pagination :total="total" :page.sync="queryParamsData.pageNum"
  30. :limit.sync="queryParamsData.pageSize" @pagination="getBatchComfirmation(queryParamsData)" />
  31. <div slot="footer" class="dialog-footer">
  32. <el-button @click="cancel" class="endbutton"><span>取 消</span></el-button>
  33. <el-button type="primary" class="endbutton" :disabled="dataList.length == 0 || batchData.length == 0" @click="submitPay"><span>确认缴费</span></el-button>
  34. </div>
  35. <el-dialog width="40%" title="缴费详情" :visible.sync="payVisible" append-to-body>
  36. <!-- 案件总金额 -->
  37. <h3>案件总金额:{{ form.totalFee / 100 }}</h3>
  38. <el-descriptions :title="'订单信息' + (index + 1)" v-for="(item, index) in form.caseApplicationList"
  39. :key="index" border>
  40. <el-descriptions-item label="案件编号">{{
  41. item.caseNum
  42. }}</el-descriptions-item>
  43. <el-descriptions-item label="申请人">{{
  44. item.caseAppName
  45. }}</el-descriptions-item>
  46. <el-descriptions-item label="案件标的">{{
  47. item.caseSubjectAmount
  48. }}</el-descriptions-item>
  49. <el-descriptions-item label="案件应缴费用">{{
  50. item.feePayable
  51. }}</el-descriptions-item>
  52. <el-descriptions-item label="被申请人">{{
  53. item.caseResName
  54. }}</el-descriptions-item>
  55. <!-- <el-descriptions-item label="申请人仲裁诉求">{{
  56. item.arbitratClaims
  57. }}</el-descriptions-item> -->
  58. </el-descriptions>
  59. <div slot="footer" class="dialog-footer">
  60. <el-button @click="payCancel" class="endbutton"><span>取 消</span></el-button>
  61. <el-button type="primary" class="endbutton" @click="submitUpload"><span>确认缴费</span></el-button>
  62. </div>
  63. </el-dialog>
  64. </el-dialog>
  65. </div>
  66. </template>
  67. <script>
  68. import {caseApply} from '@/api/caseAccess/caseEntry'
  69. import { getPayDetail,confirmPay} from "@/api/pay/pay";
  70. export default {
  71. props:["batchVisable"],
  72. data() {
  73. return {
  74. // 遮罩层
  75. loading: true,
  76. // 总条数
  77. total:0,
  78. // 查询参数
  79. queryParamsData: {
  80. caseStatus: 3,
  81. pageNum: 1,
  82. pageSize: 10,
  83. },
  84. // 表格数据
  85. dataList: [],
  86. batchData: [],
  87. payVisible: false,
  88. form: {},
  89. submitForm: {
  90. ids:[]
  91. },
  92. }
  93. },
  94. watch: {
  95. batchVisable(val) {
  96. if (val) {
  97. this.getBatchComfirmation(this.queryParamsData)
  98. }
  99. }
  100. },
  101. created(){
  102. this.getBatchComfirmation(this.queryParamsData)
  103. },
  104. methods:{
  105. // 查询列表
  106. getBatchComfirmation(val){
  107. this.loading = true;
  108. caseApply(val).then(res=>{
  109. this.dataList = res.rows
  110. this.total = res.total;
  111. this.loading = false;
  112. })
  113. },
  114. // 选择勾选框
  115. handleSelectionChange(val) {
  116. this.batchData = [];
  117. val.forEach(item => {
  118. this.batchData.push(item.id)
  119. })
  120. },
  121. // 批量缴费弹窗
  122. submitPay() {
  123. this.payVisible = true;
  124. this.getPayDetailFn({ caseIds: this.batchData })
  125. },
  126. // 查询缴费信息
  127. getPayDetailFn(params) {
  128. getPayDetail(params).then(res => {
  129. console.log(res)
  130. this.form = res.data;
  131. })
  132. },
  133. payCancel() {
  134. this.payVisible = false;
  135. },
  136. submitUpload() {
  137. this.submitForm.ids = this.batchData;
  138. console.log(this.submitForm)
  139. confirmPay(this.submitForm).then(res => {
  140. this.$modal.msgSuccess("成功");
  141. this.payCancel();
  142. this.getBatchComfirmation(this.queryParamsData);
  143. })
  144. },
  145. cancel() {
  146. this.$emit("batchOperate");
  147. },
  148. }
  149. }
  150. </script>