调解系统PC端服务

smsRecord.vue 5.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  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
  6. @keyup.enter.native="handleQuery" />
  7. </el-form-item>
  8. <el-form-item>
  9. <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
  10. <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
  11. </el-form-item>
  12. </el-form>
  13. <el-table v-loading="loading" :data="dataList" style="width: 100%">
  14. <el-table-column label="序号" type="index" align="center">
  15. <template slot-scope="scope">
  16. <span>{{
  17. (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1
  18. }}</span>
  19. </template>
  20. </el-table-column>
  21. <el-table-column label="案件编号" align="center" prop="caseNum" :show-overflow-tooltip="true" />
  22. <el-table-column label="手机号" align="center" prop="phone" :show-overflow-tooltip="true" />
  23. <el-table-column label="发送时间" align="center" prop="sendTime" />
  24. <el-table-column label="发送状态" align="center" prop="sendStatus" />
  25. <el-table-column label="发送内容" align="center" prop="sendContent" :show-overflow-tooltip="true"/>
  26. <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
  27. <template slot-scope="scope">
  28. <el-button size="mini" @click="copyContent(scope.row.sendContent)" type="text"
  29. icon="el-icon-document-copy">复制内容</el-button>
  30. <el-button size="mini" @click="resend(scope.row)" type="text" icon="el-icon-s-promotion">编辑内容</el-button>
  31. </template>
  32. </el-table-column>
  33. </el-table>
  34. <resend :resendVidable="resendVidable" :rowData="rowData" @getList="getList" @cancelSend="cancelSend" :queryParams="queryParams"></resend>
  35. <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
  36. :limit.sync="queryParams.pageSize"
  37. @pagination="getList({ caseNum: queryParams.caseNum }, { pageNum: queryParams.pageNum, pageSize: queryParams.pageSize })" />
  38. </div>
  39. </template>
  40. <script>
  41. import {
  42. smsList,
  43. } from "@/api/deliveryRecord/deliveryRecord.js";
  44. import resend from "./components/resend.vue";
  45. import { getDicts } from '@/api/system/dict/data.js'
  46. export default {
  47. name: "paymentList",
  48. dicts: ["case_status"],
  49. components: {resend},
  50. data() {
  51. return {
  52. queryParams: {
  53. pageNum: 1,
  54. pageSize: 10,
  55. },
  56. caseStatus: [],
  57. // 遮罩层
  58. loading: false,
  59. // 总条数
  60. total: 0,
  61. // 表格数据
  62. form: {},
  63. // 校验表单
  64. rules: {},
  65. dataList: [],
  66. rowData:{},
  67. resendVidable:false
  68. };
  69. },
  70. created() {
  71. getDicts("case_status").then(res => {
  72. this.getList({ caseNum: this.queryParams.caseNum }, { pageNum: this.queryParams.pageNum, pageSize: this.queryParams.pageSize });
  73. })
  74. },
  75. methods: {
  76. /** 复制内容 */
  77. copyContent(row) {
  78. const el = document.createElement('textarea');
  79. el.value = row;
  80. document.body.appendChild(el);
  81. el.select();
  82. document.execCommand('copy');
  83. document.body.removeChild(el);
  84. this.$message.success('复制成功');
  85. },
  86. /**重新发送 */
  87. resend(row){
  88. this.resendVidable = true;
  89. this.rowData = row;
  90. },
  91. /**关闭弹窗 */
  92. cancelSend(){
  93. this.resendVidable = false;
  94. },
  95. /** 搜索按钮操作 */
  96. handleQuery() {
  97. this.queryParams.pageNum = 1;
  98. this.getList({ caseNum: this.queryParams.caseNum }, { pageNum: this.queryParams.pageNum, pageSize: this.queryParams.pageSize });
  99. },
  100. /** 重置按钮操作 */
  101. resetQuery() {
  102. this.resetForm("queryForm");
  103. this.handleQuery();
  104. },
  105. // 查询列表数据
  106. getList(data, params) {
  107. this.loading = true;
  108. smsList(data, params).then((response) => {
  109. this.dataList = response.rows;
  110. this.dataList.forEach(item => {
  111. if (item.sendStatus == 0) {
  112. item.sendStatus = "发送失败"
  113. } else if (item.sendStatus == 1) {
  114. item.sendStatus = "已送达"
  115. } else if (item.sendStatus == 2) {
  116. item.sendStatus = "已读取"
  117. } else {
  118. item.sendStatus = "发送失败"
  119. }
  120. })
  121. this.total = response.total;
  122. this.loading = false;
  123. });
  124. },
  125. },
  126. };
  127. </script>
  128. <style lang="scss" scoped></style>