调解系统PC端服务

emailRecord.vue 5.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. <template>
  2. <div class="app-container">
  3. <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
  4. <el-form-item label="案件编号" prop="caseNum">
  5. <el-input v-model="queryParams.caseNum" placeholder="请输入案件编号" clearable @keyup.enter.native="handleQuery" />
  6. </el-form-item>
  7. <el-form-item>
  8. <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
  9. <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
  10. </el-form-item>
  11. </el-form>
  12. <el-table v-loading="loading" :data="dataList" style="width: 100%">
  13. <el-table-column label="序号" type="index" align="center">
  14. <template slot-scope="scope">
  15. <span>{{
  16. (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1
  17. }}</span>
  18. </template>
  19. </el-table-column>
  20. <el-table-column label="案件编号" align="center" prop="caseNum" :show-overflow-tooltip="true" />
  21. <el-table-column label="名称" align="center" prop="mailName" :show-overflow-tooltip="true" />
  22. <!-- <el-table-column label="证件号码" align="center" prop="caseNum" :show-overflow-tooltip="true" /> -->
  23. <el-table-column label="邮箱地址" align="center" prop="mailAddress" />
  24. <el-table-column label="发送时间" align="center" prop="sendTime" :show-overflow-tooltip="true" />
  25. <el-table-column label="发送状态" align="center" prop="sendStatus" />
  26. <!-- <el-table-column label="文书类型" align="center" prop="hearDate" :show-overflow-tooltip="true" /> -->
  27. <!-- 缴费人 -->
  28. <!-- <el-table-column label="案件状态" align="center" prop="caseStatusName" /> -->
  29. <el-table-column label="内容" align="center" prop="mailContent"></el-table-column>
  30. <el-table-column label="操作" align="center">
  31. <template slot-scope="scope">
  32. <el-button size="mini" type="text" @click="emailEditing(scope.row)" icon="el-icon-s-promotion">邮箱编辑</el-button>
  33. <el-button v-if="scope.row.sendStatus == '未发送'" size="mini" type="text" @click="resendCounts(scope.row)" icon="el-icon-s-promotion">重新发送</el-button>
  34. </template>
  35. </el-table-column>
  36. </el-table>
  37. <emailEdits :emailVidable="emailVidable" @cancelEmail="cancelEmail" @getList="getList" :queryParams="queryParams" :emailRow="emailRow"></emailEdits>
  38. <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
  39. @pagination="getList(queryParams)" />
  40. </div>
  41. </template>
  42. <script>
  43. import {
  44. emailList,reSendMailRecord
  45. } from "@/api/deliveryRecord/deliveryRecord.js";
  46. import emailEdits from "./components/emailEdits.vue";
  47. import { getDicts } from '@/api/system/dict/data.js'
  48. export default {
  49. name: "paymentList",
  50. dicts: ["case_status"],
  51. components: {emailEdits},
  52. data() {
  53. return {
  54. queryParams: {
  55. pageNum: 1,
  56. pageSize: 10,
  57. },
  58. caseStatus: [],
  59. // 遮罩层
  60. loading: false,
  61. // 总条数
  62. total: 0,
  63. // 表格数据
  64. form: {},
  65. // 校验表单
  66. rules: {},
  67. dataList: [],
  68. emailVidable:false,
  69. emailRow:{},
  70. sendStatusMessage:false,
  71. };
  72. },
  73. created() {
  74. getDicts("case_status").then(res => {
  75. this.caseStatus = res.data;
  76. this.getList(this.queryParams);
  77. })
  78. },
  79. methods: {
  80. /** 搜索按钮操作 */
  81. handleQuery() {
  82. this.queryParams.pageNum = 1;
  83. this.getList(this.queryParams);
  84. },
  85. /** 重置按钮操作 */
  86. resetQuery() {
  87. this.resetForm("queryForm");
  88. this.handleQuery();
  89. },
  90. // 查询列表数据
  91. getList(parms) {
  92. this.loading = true;
  93. emailList(parms).then((response) => {
  94. this.dataList = response.rows;
  95. this.dataList.forEach(item => {
  96. if (item.sendStatus == 0) {
  97. item.sendStatus = "未发送"
  98. } else if (item.sendStatus == 1) {
  99. item.sendStatus = "已发送"
  100. }
  101. })
  102. this.total = response.total;
  103. this.loading = false;
  104. });
  105. },
  106. // 邮箱编辑内容
  107. emailEditing(data){
  108. this.emailVidable = true
  109. this.emailRow = data;
  110. console.log(data)
  111. },
  112. // 关闭弹窗
  113. cancelEmail(){
  114. this.emailVidable = false
  115. },
  116. // 重新发送
  117. resendCounts(row){
  118. if(row.sendStatus=='未发送'){
  119. row.sendStatus = 0
  120. }else if(row.sendStatus=='已发送'){
  121. row.sendStatus = 1
  122. }
  123. reSendMailRecord(row).then(res=>{
  124. console.log(res)
  125. this.$message.success('发送成功');
  126. this.getList(this.queryParams);
  127. })
  128. }
  129. },
  130. };
  131. </script>
  132. <style lang="scss" scoped></style>