RemindReceivables.vue 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. <!-- 待回款提醒 -->
  2. <template>
  3. <ContentWrap>
  4. <div class="pb-5 text-xl">待回款提醒</div>
  5. <!-- 搜索工作栏 -->
  6. <el-form
  7. ref="queryFormRef"
  8. :inline="true"
  9. :model="queryParams"
  10. class="-mb-15px"
  11. label-width="68px"
  12. >
  13. <el-form-item label="合同状态" prop="remindType">
  14. <el-select
  15. v-model="queryParams.remindType"
  16. class="!w-240px"
  17. placeholder="状态"
  18. @change="handleQuery"
  19. >
  20. <el-option
  21. v-for="(option, index) in RECEIVABLE_REMIND_TYPE"
  22. :label="option.label"
  23. :value="option.value"
  24. :key="index"
  25. />
  26. </el-select>
  27. </el-form-item>
  28. </el-form>
  29. </ContentWrap>
  30. <ContentWrap>
  31. <el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
  32. <!--<el-table-column label="ID" align="center" prop="id" />-->
  33. <el-table-column label="客户名称" align="center" prop="customerId" width="150px" />
  34. <el-table-column label="合同名称" align="center" prop="contractId" width="150px" />
  35. <el-table-column label="期数" align="center" prop="period" />
  36. <el-table-column label="计划回款" align="center" prop="price" />
  37. <el-table-column
  38. label="计划回款日期"
  39. align="center"
  40. prop="returnTime"
  41. :formatter="dateFormatter2"
  42. width="180px"
  43. />
  44. <el-table-column label="提前几天提醒" align="center" prop="remindDays" />
  45. <el-table-column label="完成状态" align="center" prop="status">
  46. <template #default="scope">
  47. <dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status" />
  48. </template>
  49. </el-table-column>
  50. <el-table-column label="审批状态" align="center" prop="checkStatus" width="130px">
  51. <template #default="scope">
  52. <dict-tag :type="DICT_TYPE.CRM_AUDIT_STATUS" :value="scope.row.checkStatus" />
  53. </template>
  54. </el-table-column>
  55. <!--<el-table-column label="工作流编号" align="center" prop="processInstanceId" />-->
  56. <el-table-column prop="ownerUserId" label="负责人" width="120">
  57. <template #default="scope">
  58. {{ userList.find((user) => user.id === scope.row.ownerUserId)?.nickname }}
  59. </template>
  60. </el-table-column>
  61. <el-table-column label="显示顺序" align="center" prop="sort" />
  62. <el-table-column label="备注" align="center" prop="remark" />
  63. <el-table-column
  64. label="创建时间"
  65. align="center"
  66. prop="createTime"
  67. :formatter="dateFormatter"
  68. width="180px"
  69. />
  70. </el-table>
  71. <!-- 分页 -->
  72. <Pagination
  73. :total="total"
  74. v-model:page="queryParams.pageNo"
  75. v-model:limit="queryParams.pageSize"
  76. @pagination="getList"
  77. />
  78. </ContentWrap>
  79. </template>
  80. <script setup lang="ts" name="RemindReceivables">
  81. import { DICT_TYPE } from '@/utils/dict'
  82. import { dateFormatter, dateFormatter2 } from '@/utils/formatTime'
  83. import * as ReceivablePlanApi from '@/api/crm/receivable/plan'
  84. import * as UserApi from '@/api/system/user'
  85. import { RECEIVABLE_REMIND_TYPE } from './common'
  86. defineOptions({ name: 'ReceivablePlan' })
  87. const loading = ref(true) // 列表的加载中
  88. const total = ref(0) // 列表的总页数
  89. const list = ref([]) // 列表的数据
  90. const userList = ref<UserApi.UserVO[]>([]) // 用户列表
  91. const queryParams = reactive({
  92. pageNo: 1,
  93. pageSize: 10,
  94. remindType: 1
  95. })
  96. const queryFormRef = ref() // 搜索的表单
  97. /** 查询列表 */
  98. const getList = async () => {
  99. loading.value = true
  100. try {
  101. const data = await ReceivablePlanApi.getReceivablePlanPage(queryParams)
  102. list.value = data.list
  103. total.value = data.total
  104. } finally {
  105. loading.value = false
  106. }
  107. }
  108. /** 搜索按钮操作 */
  109. const handleQuery = () => {
  110. queryParams.pageNo = 1
  111. getList()
  112. }
  113. /** 初始化 **/
  114. onMounted(async () => {
  115. await getList()
  116. // 获取用户列表
  117. userList.value = await UserApi.getSimpleUserList()
  118. })
  119. </script>
  120. <style scoped></style>