|
|
@@ -14,13 +14,9 @@ import EditCallingsForm from './components/EditCallingsForm.vue'
|
|
|
import SearchForm from './components/SearchForm.vue'
|
|
|
|
|
|
import type { TAgent, TAgentDetail } from '@/types/role'
|
|
|
-import { anycallPage, deleteClone, updateTopFlag, type TRole } from '@/api/modules/anycallService'
|
|
|
-import { formatDateGeneral } from '@/utils'
|
|
|
+import { anycallPage, deleteClone, updateTopFlag, } from '@/api/modules/anycallService'
|
|
|
import { toast } from 'vue-sonner'
|
|
|
-
|
|
|
-const tableRef = ref()
|
|
|
-
|
|
|
-const loading = ref(false)
|
|
|
+import { usePagination } from 'vue-request'
|
|
|
|
|
|
// 控制 EditForm 显示状态
|
|
|
const editFormVisible = ref(false)
|
|
|
@@ -34,71 +30,29 @@ const editCallingsFormVisible = ref(false)
|
|
|
const importedResultDialogVisible = ref(false)
|
|
|
const importedFile = ref<UploadFile | null>(null)
|
|
|
const importedResult = ref<{name: string, msg: string}[]>([
|
|
|
- // {name: 'test1.csv', msg: '成功'},
|
|
|
- // {name: 'test1.csv', msg: '成功'},
|
|
|
- // {name: 'test1.csv', msg: '成功'},
|
|
|
- // {name: 'test1.csv', msg: '成功'},
|
|
|
- // {name: 'test1.csv', msg: '成功'},
|
|
|
- // {name: 'test1.csv', msg: '成功'},
|
|
|
- // {name: 'test1.csv', msg: '成功'},
|
|
|
- // {name: 'test1.csv', msg: '成功'},
|
|
|
- // {name: 'test1.csv', msg: '成功'},
|
|
|
- // {name: 'test1.csv', msg: '成功'},
|
|
|
- // {name: 'test1.csv', msg: '成功'},
|
|
|
- // {name: 'test1.csv', msg: '成功'},
|
|
|
- // {name: 'test1.csv', msg: '成功'},
|
|
|
- // {name: 'test1.csv', msg: '成功'},
|
|
|
- // {name: 'test1.csv', msg: '成功'},
|
|
|
- // {name: 'test1.csv', msg: '成功'},
|
|
|
- // {name: 'test1.csv', msg: '成功'},
|
|
|
- // {name: 'test1.csv', msg: '成功'},
|
|
|
- // {name: 'test1.csv', msg: '成功'},
|
|
|
- // {name: 'test1.csv', msg: '成功'},
|
|
|
- // {name: 'test1.csv', msg: '成功'},
|
|
|
- // {name: 'test1.csv', msg: '成功'},
|
|
|
- // {name: 'test1.csv', msg: '成功'},
|
|
|
+
|
|
|
])
|
|
|
// 搜索参数
|
|
|
const searchParams = ref({
|
|
|
- // name: '',
|
|
|
keywords: '',
|
|
|
})
|
|
|
-const dataList = ref<TAgent[]>([]);
|
|
|
|
|
|
-// 分页信息
|
|
|
-const pagination = ref({
|
|
|
- total: 0,
|
|
|
- size: 20,
|
|
|
- page:1,
|
|
|
-})
|
|
|
|
|
|
-async function fetchData() {
|
|
|
- loading.value = true
|
|
|
- const res = await anycallPage({
|
|
|
+const { data, run, loading, current, total, pageSize, changePageSize } = usePagination(anycallPage, {
|
|
|
+ defaultParams: [{ page: 1, size: 20 }],
|
|
|
+});
|
|
|
+
|
|
|
+async function fetchData(page?: number) {
|
|
|
+ run({
|
|
|
keywords: searchParams.value.keywords,
|
|
|
- page: pagination.value.page,
|
|
|
- size: pagination.value.size,
|
|
|
+ page: page ?? current.value,
|
|
|
+ size: pageSize.value,
|
|
|
})
|
|
|
- if(res.code === 0){
|
|
|
- dataList.value = res.data.content
|
|
|
- pagination.value.total = res.data.total
|
|
|
- }
|
|
|
- loading.value = false
|
|
|
-}
|
|
|
-function handlePageChange(page: number) {
|
|
|
- pagination.value.page = page
|
|
|
- fetchData()
|
|
|
}
|
|
|
|
|
|
-function handleSizeChange(size: number) {
|
|
|
- pagination.value.size = size
|
|
|
- pagination.value.page = 1
|
|
|
- fetchData()
|
|
|
-}
|
|
|
|
|
|
function handleRefresh () {
|
|
|
- pagination.value.page = 1 // 搜索时重置到第一页
|
|
|
- fetchData()
|
|
|
+ fetchData(1)
|
|
|
}
|
|
|
const handleFormCancel = () => {
|
|
|
editFormVisible.value = false
|
|
|
@@ -155,14 +109,11 @@ const handleEditCallings = (data: TAgent) => {
|
|
|
}
|
|
|
|
|
|
const handleSearch = () => {
|
|
|
- pagination.value.page = 1
|
|
|
- fetchData()
|
|
|
+ fetchData(1)
|
|
|
}
|
|
|
const handleReset = () => {
|
|
|
- pagination.value.page = 1
|
|
|
- pagination.value.size = 10
|
|
|
searchParams.value.keywords = ''
|
|
|
- fetchData()
|
|
|
+ fetchData(1)
|
|
|
}
|
|
|
|
|
|
const handleDelete = async (cloneId:string) => {
|
|
|
@@ -175,8 +126,8 @@ const handleDelete = async (cloneId:string) => {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-onMounted(async () => {
|
|
|
- await fetchData()
|
|
|
+onMounted(() => {
|
|
|
+ fetchData()
|
|
|
})
|
|
|
|
|
|
|
|
|
@@ -198,7 +149,7 @@ onMounted(async () => {
|
|
|
</div>
|
|
|
<ElTable
|
|
|
v-loading="loading"
|
|
|
- ref="tableRef" :data="dataList" stripe highlight-current-row border height="100%"
|
|
|
+ ref="tableRef" :data="data?.data?.content" stripe highlight-current-row border height="100%"
|
|
|
>
|
|
|
<ElTableColumn label="id" prop="id" min-width="240" />
|
|
|
<ElTableColumn label="Role Name" prop="name" min-width="220" />
|
|
|
@@ -269,15 +220,9 @@ onMounted(async () => {
|
|
|
</ElTableColumn>
|
|
|
</ElTable>
|
|
|
<div class="p-4">
|
|
|
- <ElPagination
|
|
|
- v-model:current-page="pagination.page"
|
|
|
- v-model:page-size="pagination.size"
|
|
|
- :total="pagination.total"
|
|
|
- :page-sizes="[10, 20, 50, 100]"
|
|
|
- layout="total, sizes, prev, pager, next, jumper"
|
|
|
- @size-change="handleSizeChange"
|
|
|
- @current-change="handlePageChange"
|
|
|
- />
|
|
|
+ <ElPagination v-model:current-page="current" v-model:page-size="pageSize" :total="total"
|
|
|
+ :page-sizes="[10, 20, 50, 100]" layout="total, sizes, prev, pager, next, jumper"
|
|
|
+ @size-change="changePageSize" />
|
|
|
</div>
|
|
|
</FaPageMain>
|
|
|
<EditForm v-model:visible="editFormVisible" :model-value="currentData" :mode="editMode" @refresh="handleRefresh"
|