migrationView.vue 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. <template>
  2. <div class="el-drawer__wrapper">
  3. <el-drawer :title="title" v-model="visible" direction="rtl" size="100%">
  4. <div class="page-container form-container">
  5. <div class="form-btns-container" style="display: flex;">
  6. <span class="title-label"><el-icon>
  7. <Document />
  8. </el-icon>
  9. 客户迁移信息</span>
  10. <div style="position: absolute;top: 3px;left: 105px;">
  11. <el-button type="primary" @click="openMigrationDialog()" size="small">新增</el-button>
  12. </div>
  13. <div class="close-btn" @click="cancel">
  14. <i class="fa fa-times" aria-hidden="true" />
  15. </div>
  16. </div>
  17. <div class="Y-scrollbar" style="
  18. position: absolute;
  19. top: 32px;
  20. bottom: 0;
  21. width: 100%;
  22. overflow: auto;
  23. "></div>
  24. <el-form class="list-search-container" :model="queryParams" ref="queryRef" :inline="true" label-width="70px">
  25. <el-form-item label="客户名称:" prop="companyName">
  26. <el-input v-model="queryParams.companyName" size="small" placeholder="请输入客户名称" clearable style="width: 120px"
  27. @keyup.enter="handleQuery" />
  28. </el-form-item>
  29. <el-form-item label="目标门店:" prop="fromTenantName">
  30. <el-input v-model="queryParams.fromTenantName" size="small" placeholder="请输入目标门店" clearable style="width: 120px"
  31. @keyup.enter="handleQuery" />
  32. </el-form-item>
  33. <el-form-item label="状态:" prop="migratStatus">
  34. <el-select v-model="queryParams.migratStatus" size="small" style="width: 120px" multiple>
  35. <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
  36. </el-select>
  37. </el-form-item>
  38. <el-form-item label="发起时间:" prop="startDateFilter">
  39. <el-date-picker v-model="queryParams.startDateFilter" size="small" type="daterange" clearable
  40. format="YYYY - MM - DD " value-format="YYYY-MM-DD" range-separator="至" start-placeholder="发起时间"
  41. end-placeholder="发起时间" style="width: 100%;"></el-date-picker>
  42. </el-form-item>
  43. <el-form-item label="完成时间:" prop="endDateFilter">
  44. <el-date-picker v-model="queryParams.endDateFilter" size="small" type="daterange" clearable
  45. format="YYYY - MM - DD " value-format="YYYY-MM-DD" range-separator="至" start-placeholder="完成时间"
  46. end-placeholder="完成时间" style="width: 100%;"></el-date-picker>
  47. </el-form-item>
  48. <div style="display: flex; margin-right: 46px; justify-content: flex-end">
  49. <el-button type="primary" icon="Search" @click="handleQuery" size="small">搜索</el-button>
  50. <el-button icon="Refresh" @click="resetQuery" size="small">重置</el-button>
  51. </div>
  52. </el-form>
  53. <el-table v-loading="loading" :data="DataList" size="small" border height="100%">
  54. <el-table-column label="序号" type="index" width="55" align="center"/>
  55. <el-table-column label="客户名称" align="center" prop="companyName">
  56. </el-table-column>
  57. <el-table-column label="税号" align="center" prop="socialCreditCode">
  58. </el-table-column>
  59. <el-table-column label="目标门店" align="center" prop="fromTenantName">
  60. </el-table-column>
  61. <el-table-column label="发起人" align="center" prop="originator">
  62. </el-table-column>
  63. <el-table-column label="发起时间" align="center" prop="startDate">
  64. </el-table-column>
  65. <el-table-column label="迁移时间" align="center" prop="endDate">
  66. </el-table-column>
  67. <el-table-column label="审核人" align="center" prop="verifyName">
  68. </el-table-column>
  69. <el-table-column label="状态" align="center" prop="migratStatus">
  70. </el-table-column>
  71. </el-table>
  72. <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum"
  73. v-model:limit="queryParams.pageSize" @pagination="getList" />
  74. </div>
  75. </el-drawer>
  76. <migrationDialog ref="migrationDialogRef" :get-list="getList"></migrationDialog>
  77. </div>
  78. </template>
  79. <script setup lang="ts">
  80. import {getCurrentInstance, ref, toRefs} from "vue";
  81. import {Document} from "@element-plus/icons-vue";
  82. import migrationDialog from "@/views/business/crm/company/migrationDialog"
  83. const { proxy } = getCurrentInstance();
  84. const title = ref('');
  85. const visible = ref(false);
  86. const queryFalg = ref();
  87. const total = ref(0);
  88. const loading = ref(false);
  89. const migrationDialogRef = ref();
  90. const options = ref([
  91. {
  92. label: "等待接收",
  93. value: 1,
  94. },
  95. {
  96. label: "已接收",
  97. value: 2,
  98. },
  99. {
  100. label: "已拒绝",
  101. value: 3,
  102. },
  103. ]);
  104. interface quertParmsEntity {
  105. pageNum: number,
  106. pageSize: number,
  107. orderByColumn: string,
  108. companyName?:string,
  109. endDateFilter?:Array<Date>,
  110. fromTenantName?:string,
  111. startDateFilter?:Array<Date>,
  112. migratStatus?:number
  113. }
  114. interface dataEntity {
  115. companyName?:string,
  116. socialCreditCode?:string,
  117. fromTenantName?:string,
  118. originator?:string,
  119. startDate?:Date,
  120. endDate?:Date,
  121. verifyName?:string,
  122. migratStatus?:number
  123. }
  124. const queryParams = ref<quertParmsEntity>({
  125. pageNum: 1,
  126. pageSize: 20,
  127. orderByColumn: "create_time"
  128. });
  129. const DataList = ref<Array<dataEntity>>();
  130. const queryRef = ref();
  131. const props = defineProps({
  132. getComList: {
  133. type: Function,
  134. default: () => {},
  135. },
  136. });
  137. const { getComList } = toRefs(props);
  138. function handleQuery() {
  139. queryParams.value.pageNum = 1;
  140. getList();
  141. }
  142. function resetQuery() {
  143. proxy.$refs.queryForm.resetFields();
  144. handleQuery();
  145. }
  146. const open = (falg) => {
  147. queryFalg.value = falg;
  148. visible.value = true;
  149. }
  150. /** 取消按钮 */
  151. function cancel() {
  152. visible.value = false;
  153. }
  154. const getList = () =>{
  155. }
  156. const openMigrationDialog = () =>{
  157. migrationDialogRef.value.openView()
  158. }
  159. defineExpose({
  160. open,
  161. });
  162. </script>