应用层PC端前端服务

paymentdetailsDialog.vue 5.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. <template>
  2. <div>
  3. <el-dialog
  4. :title="title"
  5. :visible="openDialog"
  6. @close="cancel"
  7. :destroy-on-close="true"
  8. center
  9. >
  10. <el-form ref="form" :model="form" label-width="120px">
  11. <el-form-item label="案件编号:" prop="caseNum">
  12. <el-input v-model="form.caseNum" placeholder="" :disabled="true" />
  13. </el-form-item>
  14. <el-form-item label="案件标的:" prop="caseSubjectAmount">
  15. <el-input v-model="form.caseSubjectAmount" :disabled="true" />
  16. </el-form-item>
  17. <el-form-item label="缴费人:" prop="applicantName">
  18. <el-input
  19. v-model="form.applicantName"
  20. placeholder=""
  21. :disabled="true"
  22. />
  23. </el-form-item>
  24. <el-form-item label="缴费金额:" prop="feePayable">
  25. <el-input v-model="form.feePayable" :disabled="true" />
  26. </el-form-item>
  27. <!-- <el-form-item label="缴费截图:" prop="respondent">
  28. <el-input v-model="form.Respondent" placeholder="" />
  29. </el-form-item> -->
  30. <el-form-item label="案件状态:" prop="caseStatusName">
  31. <!-- <el-input v-model="form.caseStatusName" placeholder="" /> -->
  32. <el-tag>{{ form.caseStatusName }}</el-tag>
  33. </el-form-item>
  34. <el-form-item label="支付状态:" prop="paymentStatusName">
  35. <!-- <el-input v-model="form.paymentStatusName" placeholder="" /> -->
  36. <el-tag effect="dark" type="success">
  37. {{ form.paymentStatusName }}
  38. </el-tag>
  39. </el-form-item>
  40. <el-form-item label="缴费凭证:" prop="caseStatusName">
  41. <div
  42. style="color: #104fad; cursor: pointer"
  43. v-for="(item, index) in form.caseAttachList"
  44. :key="index"
  45. @click="preview(item.annexPath)"
  46. >
  47. <span v-if="item.annexType==8">{{ item.annexName }}</span>
  48. </div>
  49. <!-- <el-tag>{{ form.caseStatusName }}</el-tag> -->
  50. </el-form-item>
  51. <!-- 判断缴费是否通过 -->
  52. <el-form-item label="是否缴费通过:" v-if="flag == 0">
  53. <el-radio-group v-model="agreeOrNotCheck">
  54. <el-radio :label="1">同意</el-radio>
  55. <el-radio :label="0">拒绝</el-radio>
  56. </el-radio-group>
  57. </el-form-item>
  58. <!-- 缴费驳回原因-->
  59. <el-form-item
  60. label="拒绝原因:"
  61. v-if="agreeOrNotCheck == 0"
  62. prop="caseCheckReject"
  63. :rules="[
  64. { required: true, message: '请输入驳回原因', trigger: 'blur' },
  65. ]"
  66. >
  67. <el-input
  68. type="textarea"
  69. :rows="2"
  70. placeholder="请输入驳回原因"
  71. v-model="form.caseCheckReject"
  72. ></el-input>
  73. </el-form-item>
  74. </el-form>
  75. <div slot="footer" class="dialog-footer">
  76. <el-button
  77. type="primary"
  78. @click="submitForm"
  79. v-if="flag == 0"
  80. class="endbutton"
  81. :loading="loadingSubmit"
  82. >确认已缴费</el-button
  83. >
  84. <el-button @click="cancel" class="endbutton1">取 消</el-button>
  85. </div>
  86. </el-dialog>
  87. </div>
  88. </template>
  89. <script>
  90. import { confirmPay } from "@/api/pay/pay";
  91. export default {
  92. props: ["openDialog", "title", "flag", "detailform", "queryParams","getcaseApply"],
  93. data() {
  94. return {
  95. // key: value
  96. form: {},
  97. srcList: [],
  98. agreeOrNotCheck: 1,
  99. loadingSubmit: false,
  100. };
  101. },
  102. watch: {
  103. detailform: {
  104. handler(val) {
  105. if (val) {
  106. this.form = val;
  107. console.log(val)
  108. }
  109. },
  110. },
  111. openDialog: {
  112. handler(val) {
  113. if (val) {
  114. this.agreeOrNotCheck = 1;
  115. }
  116. },
  117. },
  118. },
  119. methods: {
  120. preview(data) {
  121. window.open(window.location.origin + "/API" + data, "_blank");
  122. },
  123. // 确认缴费
  124. submitForm() {
  125. let paramsVal = {
  126. ids:[this.form.id],
  127. agreeOrNotCheck:this.agreeOrNotCheck,
  128. caseCheckReject:this.form.caseCheckReject
  129. }
  130. this.$refs["form"].validate((valid) => {
  131. if (valid) {
  132. this.loadingSubmit = true;
  133. confirmPay(paramsVal).then((res) => {
  134. this.$message({
  135. message: "确认成功",
  136. type: "success",
  137. });
  138. this.loadingSubmit = false;
  139. if (res.code == 200) {
  140. this.getcaseApply(this.queryParams)
  141. // this.getList();
  142. }
  143. }).catch((err) => {
  144. this.loadingSubmit = false;
  145. });
  146. this.cancel();
  147. }
  148. });
  149. },
  150. cancel() {
  151. this.$emit("cancelpaymentdetails");
  152. },
  153. },
  154. };
  155. </script>
  156. <style lang="scss" scoped>
  157. ::v-deep .el-dialog {
  158. width: 50%;
  159. background: #ffffff;
  160. border-radius: 20px;
  161. }
  162. .endbutton {
  163. width: 124px;
  164. height: 37px;
  165. background: #0072ff;
  166. border-radius: 19px;
  167. span {
  168. width: 32px;
  169. height: 15px;
  170. font-size: 16px;
  171. font-family: Microsoft YaHei;
  172. font-weight: 400;
  173. color: #ffffff;
  174. // line-height: 48px;
  175. }
  176. }
  177. .endbutton1 {
  178. width: 124px;
  179. height: 37px;
  180. background: #ffffff;
  181. border: 1px solid #d0d0d0;
  182. border-radius: 19px;
  183. span {
  184. width: 31px;
  185. height: 13px;
  186. font-size: 16px;
  187. font-family: Microsoft YaHei;
  188. font-weight: 400;
  189. color: #959595;
  190. }
  191. }
  192. </style>