This commit is contained in:
qsh
2025-10-17 18:07:15 +08:00
parent 742e85ae65
commit fa2ee0cd6a
11 changed files with 705 additions and 16 deletions

View File

@@ -0,0 +1,161 @@
<template>
<div>
<el-form :model="searchForm" label-width="0" inline>
<el-form-item>
<el-input v-model="searchForm.name" placeholder="学员姓名" clearable style="width: 120px" />
</el-form-item>
<el-form-item>
<el-input
v-model="searchForm.phone"
placeholder="联系方式"
clearable
style="width: 120px"
/>
</el-form-item>
<el-form-item>
<el-select
v-model="searchForm.signUser"
placeholder="跟进人"
clearable
filterable
style="width: 120px"
>
<el-option
v-for="item in userOptions"
:key="item.id"
:label="item.nickname"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-date-picker
v-model="searchForm.dealDate"
type="daterange"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
range-separator="-"
start-placeholder="报备日期"
end-placeholder="报备日期"
style="width: 240px"
/>
</el-form-item>
<el-form-item>
<el-date-picker
v-model="searchForm.createDate"
type="daterange"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
range-separator="-"
start-placeholder="报名日期"
end-placeholder="报名日期"
style="width: 240px"
/>
</el-form-item>
<el-form-item>
<el-select
v-model="searchForm.signUser"
placeholder="报名状态"
clearable
filterable
style="width: 120px"
>
<el-option label="未报名" :value="0" />
<el-option label="已报名" :value="1" />
</el-select>
</el-form-item>
<el-form-item>
<el-select
v-model="searchForm.signUser"
placeholder="登记状态"
clearable
filterable
style="width: 120px"
>
<el-option label="未登记" :value="0" />
<el-option label="已登记" :value="1" />
</el-select>
</el-form-item>
<el-form-item>
<el-button @click="handleSearch">查询</el-button>
<el-button @click="handleReset">重置</el-button>
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="tableList" border show-summary>
<el-table-column prop="name" label="学员姓名" width="90px" />
<el-table-column prop="phone" label="联系方式" width="120px" />
<el-table-column prop="signUserName" label="跟进人" width="90" />
<el-table-column prop="dealDate" label="报备日期" width="120px" :formatter="dateFormatter" />
<el-table-column prop="signSchool" label="报备人" width="90px" />
<el-table-column prop="signPlace" label="报备内容" min-width="150px" />
<el-table-column prop="dealDate" label="报名日期" width="120px" :formatter="dateFormatter" />
<el-table-column prop="signSchool" label="接待人" width="90px" />
<el-table-column prop="signPlace" label="报名信息" min-width="150px" />
<el-table-column prop="isCommissioned" label="报名状态" width="90px" fixed="right" />
<el-table-column prop="settlementState" label="登记状态" width="90px" fixed="right" />
</el-table>
<Pagination
v-model:limit="searchForm.pageSize"
v-model:page="searchForm.pageNo"
:total="total"
@pagination="getList"
/>
</div>
</template>
<script setup>
import { getSimpleUserList as getUserOption } from '@/api/system/user'
// import { removeNullField } from '@/utils/index'
import { dateFormatter } from '@/utils/formatTime'
onMounted(() => {
getOptions()
handleSearch()
})
const userOptions = ref([])
function getOptions() {
getUserOption().then((data) => {
userOptions.value = data
})
}
const searchForm = ref({
name: undefined,
phone: undefined,
pageSize: 20,
pageNo: 1
})
function handleReset() {
searchForm.value = {
name: undefined,
phone: undefined,
pageSize: 20,
pageNo: 1
}
}
function handleSearch() {
searchForm.value.pageNo = 1
getList()
}
const loading = ref(false)
const tableList = ref([])
const total = ref(0)
async function getList() {
loading.value = true
try {
// const data = await SettleApi.getSchoolSettlePage(removeNullField(searchForm.value))
// tableList.value = data.list
// total.value = data.total
} finally {
loading.value = false
}
}
</script>
<style lang="scss" scoped></style>