Compare commits
6 Commits
Author | SHA1 | Date |
---|---|---|
![]() |
cd9b974389 | 1 day ago |
![]() |
e449f1a124 | 6 days ago |
![]() |
80b8eddd35 | 7 days ago |
![]() |
6359913c2c | 2 weeks ago |
![]() |
cff96918ce | 2 weeks ago |
![]() |
f5b7a77fb0 | 3 weeks ago |
@ -0,0 +1,9 @@ |
||||
import request from '@/config/axios' |
||||
|
||||
// 查询线索
|
||||
export const searchClue = async (params) => { |
||||
return await request.get({ |
||||
url: '/admin-api/applet/wrj/clue/page', |
||||
params |
||||
}) |
||||
} |
@ -0,0 +1,8 @@ |
||||
import request from '@/config/axios' |
||||
|
||||
export const searchStudyRecords = async (data) => { |
||||
return await request.post({ |
||||
url: 'wrj-api/wrjQuestionPractice/query', |
||||
data |
||||
}) |
||||
} |
@ -0,0 +1,33 @@ |
||||
import request from '@/config/axios' |
||||
|
||||
// 查询机构
|
||||
export const searchStation = async (params) => { |
||||
return await request.get({ |
||||
url: '/admin-api/applet/wrj/school/page', |
||||
params |
||||
}) |
||||
} |
||||
|
||||
// 审核机构
|
||||
export const auditStation = async (data) => { |
||||
return await request.post({ |
||||
url: '/admin-api/applet/wrj/school/check', |
||||
data |
||||
}) |
||||
} |
||||
|
||||
// 查询教员
|
||||
export const searchTeacher = async (params) => { |
||||
return await request.get({ |
||||
url: '/admin-api/applet/wrj/teacher/page', |
||||
params |
||||
}) |
||||
} |
||||
|
||||
// 审核教员
|
||||
export const auditTeacher = async (data) => { |
||||
return await request.post({ |
||||
url: '/admin-api/applet/wrj/teacher/audit', |
||||
data |
||||
}) |
||||
} |
@ -0,0 +1,28 @@ |
||||
import request from '@/config/axios' |
||||
|
||||
export const searchTestroom = async (params) => { |
||||
return await request.get({ |
||||
url: '/admin-api/applet/wrj/examPlace/page', |
||||
params |
||||
}) |
||||
} |
||||
|
||||
export const addTestroom = async (data) => { |
||||
return await request.post({ |
||||
url: '/admin-api/applet/wrj/examPlace/add', |
||||
data, |
||||
isSubmitForm: true |
||||
}) |
||||
} |
||||
export const updateTestroom = async (data) => { |
||||
return await request.put({ |
||||
url: '/admin-api/applet/wrj/examPlace/update', |
||||
data |
||||
}) |
||||
} |
||||
export const deleteTestroom = async (params) => { |
||||
return await request.delete({ |
||||
url: '/admin-api/applet/wrj/examPlace/delete', |
||||
params |
||||
}) |
||||
} |
@ -1,7 +1,37 @@ |
||||
<template> |
||||
<div> 考试日历 </div> |
||||
<div> |
||||
<el-tabs v-model="examType"> |
||||
<el-tab-pane label="理论考试" :name="1" /> |
||||
<el-tab-pane label="实践考试" :name="2" /> |
||||
<el-calendar> |
||||
<template #date-cell="{ data }"> |
||||
<el-popover placement="top" width="500px" trigger="click"> |
||||
<template #reference> |
||||
<div> |
||||
<div>{{ new Date(data.day).getDate() }}</div> |
||||
<div class="mt-10px">考场数量:{{ new Date(data.day).getDate() % 5 }}</div> |
||||
</div> |
||||
</template> |
||||
<el-table :data="roomList" border stripe> |
||||
<el-table-column prop="name" label="考场名称" width="120px" /> |
||||
<el-table-column prop="address" label="考场地址" /> |
||||
</el-table> |
||||
</el-popover> |
||||
</template> |
||||
</el-calendar> |
||||
</el-tabs> |
||||
</div> |
||||
</template> |
||||
|
||||
<script setup name="Calendar"></script> |
||||
<script setup name="Calendar"> |
||||
const examType = ref(1) |
||||
|
||||
const roomList = ref([ |
||||
{ |
||||
name: '合肥瑶海长安考场', |
||||
address: '合肥瑶海大道100号' |
||||
} |
||||
]) |
||||
</script> |
||||
|
||||
<style lang="scss" scoped></style> |
||||
|
@ -1,13 +1,298 @@ |
||||
<template> |
||||
<div> |
||||
<div>无人机章节</div> |
||||
<div>权限:</div> |
||||
<div>新增:ExamVenue:Room:add</div> |
||||
<div>修改:ExamVenue:Room:edit</div> |
||||
<div>删除:ExamVenue:Room:delete</div> |
||||
<el-form :model="searchForm" inline label-width="0"> |
||||
<el-form-item> |
||||
<el-input v-model="searchForm.placeName" placeholder="考场名称" /> |
||||
</el-form-item> |
||||
<el-form-item> |
||||
<el-button type="primary" @click="handleQuery">搜 索</el-button> |
||||
<el-button v-hasPermi="['ExamVenue:Room:add']" @click="handleDetail(null)">新 增</el-button> |
||||
</el-form-item> |
||||
</el-form> |
||||
|
||||
<el-table :data="tableList" border stripe> |
||||
<el-table-column type="index" width="50" /> |
||||
<el-table-column prop="placeName" label="考点名称" min-width="200px" /> |
||||
<el-table-column prop="leader" label="负责人" width="100px" /> |
||||
<el-table-column prop="leaderPhone" label="负责人电话" width="100px" /> |
||||
<el-table-column prop="contacts" label="联系人" width="100px" /> |
||||
<el-table-column prop="contactPhone" label="联系人电话" width="100px" /> |
||||
<el-table-column prop="address" label="地址" min-width="200px" /> |
||||
<el-table-column label="理论" align="center"> |
||||
<el-table-column label="时间" width="100px" align="center"> |
||||
<template #default="{ row }"> |
||||
{{ |
||||
row.theoryExamDate |
||||
.split(',') |
||||
.map((item) => `每月${item}号`) |
||||
.join(',') |
||||
}} |
||||
</template> |
||||
</el-table-column> |
||||
<el-table-column prop="theoryExamAddress" label="地址" min-width="200px" align="center" /> |
||||
</el-table-column> |
||||
<el-table-column label="实践" align="center"> |
||||
<el-table-column label="时间" width="100px" align="center"> |
||||
<template #default="{ row }"> |
||||
{{ |
||||
row.practiceExamDate |
||||
.split(',') |
||||
.map((item) => `每月${item}号`) |
||||
.join(',') |
||||
}} |
||||
</template> |
||||
</el-table-column> |
||||
<el-table-column prop="practiceExamAddress" label="地址" min-width="200px" align="center" /> |
||||
</el-table-column> |
||||
<el-table-column label="操作" fixed="right" width="150"> |
||||
<template #default="{ row }"> |
||||
<el-button |
||||
v-hasPermi="['ExamVenue:Room:edit']" |
||||
type="primary" |
||||
link |
||||
@click="handleDetail(row)" |
||||
> |
||||
修改 |
||||
</el-button> |
||||
<el-button |
||||
v-hasPermi="['ExamVenue:Room:delete']" |
||||
type="danger" |
||||
link |
||||
@click="handleDelete(row)" |
||||
> |
||||
删除 |
||||
</el-button> |
||||
</template> |
||||
</el-table-column> |
||||
</el-table> |
||||
<Pagination |
||||
:total="total" |
||||
v-model:page="searchForm.pageNo" |
||||
v-model:limit="searchForm.pageSize" |
||||
@pagination="getList" |
||||
/> |
||||
|
||||
<Dialog v-model="dialogVisible" title="教员详情" style="width: 800px"> |
||||
<el-form :model="form" ref="formRef" :rules="rules" label-width="100px"> |
||||
<el-row :gutter="20"> |
||||
<el-col :span="24" :offset="0"> |
||||
<el-form-item label="考点名称" prop="placeName"> |
||||
<el-input v-model="form.placeName" placeholder="请输入" /> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="12" :offset="0"> |
||||
<el-form-item label="负责人" prop="leader"> |
||||
<el-input v-model="form.leader" placeholder="请输入" /> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="12" :offset="0"> |
||||
<el-form-item label="负责人电话" prop="leaderPhone"> |
||||
<el-input v-model="form.leaderPhone" placeholder="请输入" /> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="12" :offset="0"> |
||||
<el-form-item label="联系人" prop="contacts"> |
||||
<el-input v-model="form.contacts" placeholder="请输入" /> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="12" :offset="0"> |
||||
<el-form-item label="联系人电话" prop="contactPhone"> |
||||
<el-input v-model="form.contactPhone" placeholder="请输入" /> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="24" :offset="0"> |
||||
<el-form-item label="地址" prop="address"> |
||||
<el-input |
||||
v-model="form.address" |
||||
type="textarea" |
||||
:autosize="{ minRows: 2 }" |
||||
placeholder="请输入" |
||||
/> |
||||
</el-form-item> |
||||
</el-col> |
||||
</el-row> |
||||
<el-divider direction="horizontal" content-position="left">理论</el-divider> |
||||
<el-row :gutter="20"> |
||||
<el-col :span="24" :offset="0"> |
||||
<el-form-item label="理论地址" prop="theoryExamAddress"> |
||||
<el-input |
||||
v-model="form.theoryExamAddress" |
||||
type="textarea" |
||||
:autosize="{ minRows: 2 }" |
||||
placeholder="请输入" |
||||
/> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="24" :offset="0"> |
||||
<el-form-item label="理论时间"> |
||||
<el-input |
||||
class="mr-2 mb-2" |
||||
v-for="(item, index) in form.theoryExamDate" |
||||
:key="index" |
||||
v-model="form.theoryExamDate[index]" |
||||
style="width: 180px" |
||||
> |
||||
<template #prepend>每月</template> |
||||
<template #append>日</template> |
||||
</el-input> |
||||
<el-button type="primary" @click="form.theoryExamDate.push(undefined)"> |
||||
新增考试时间 |
||||
</el-button> |
||||
</el-form-item> |
||||
</el-col> |
||||
</el-row> |
||||
<el-divider direction="horizontal" content-position="left">实践</el-divider> |
||||
<el-row :gutter="20"> |
||||
<el-col :span="24" :offset="0"> |
||||
<el-form-item label="实践地址" prop="theoryExamAddress"> |
||||
<el-input |
||||
v-model="form.practiceExamAddress" |
||||
type="textarea" |
||||
:autosize="{ minRows: 2 }" |
||||
placeholder="请输入" |
||||
/> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="24" :offset="0"> |
||||
<el-form-item label="实践时间"> |
||||
<el-input |
||||
class="mr-2 mb-2" |
||||
v-for="(item, index) in form.practiceExamDate" |
||||
:key="index" |
||||
v-model="form.practiceExamDate[index]" |
||||
style="width: 180px" |
||||
> |
||||
<template #prepend>每月</template> |
||||
<template #append>日</template> |
||||
</el-input> |
||||
<el-button type="primary" @click="form.practiceExamDate.push(undefined)"> |
||||
新增考试时间 |
||||
</el-button> |
||||
</el-form-item> |
||||
</el-col> |
||||
</el-row> |
||||
</el-form> |
||||
<template #footer> |
||||
<el-button type="primary" :disabled="formLoading" @click="submitForm">保 存</el-button> |
||||
<el-button @click="dialogVisible = false">取 消</el-button> |
||||
</template> |
||||
</Dialog> |
||||
</div> |
||||
</template> |
||||
|
||||
<script setup name="ExamVenue"></script> |
||||
<script setup name="ExamVenue"> |
||||
import * as api from '@/api/uav/testRoom' |
||||
|
||||
const message = useMessage() |
||||
|
||||
const searchForm = ref({ |
||||
placeName: '', |
||||
pageNo: 1, |
||||
pageSize: 20 |
||||
}) |
||||
|
||||
const tableList = ref([]) |
||||
const total = ref(0) |
||||
|
||||
onMounted(() => { |
||||
handleQuery() |
||||
}) |
||||
|
||||
function handleQuery() { |
||||
searchForm.value.pageNo = 1 |
||||
getList() |
||||
} |
||||
|
||||
function getList() { |
||||
try { |
||||
api.searchTestroom(searchForm.value).then((res) => { |
||||
tableList.value = res.list |
||||
total.value = res.total |
||||
}) |
||||
} catch (error) { |
||||
console.log(error) |
||||
} |
||||
} |
||||
|
||||
const form = ref({}) |
||||
const rules = { |
||||
placeName: { required: true, message: '请输入名称', trigger: 'blur' }, |
||||
leader: { required: true, message: '请输入姓名', trigger: 'blur' }, |
||||
leaderPhone: { required: true, message: '请输入手机号', trigger: 'blur' } |
||||
} |
||||
const dialogVisible = ref(false) |
||||
const formLoading = ref(false) |
||||
|
||||
const handleDetail = (row) => { |
||||
resetForm() |
||||
dialogVisible.value = true |
||||
if (row) { |
||||
form.value = { ...row } |
||||
form.value.theoryExamDate = row.theoryExamDate.split(',') |
||||
form.value.practiceExamDate = row.practiceExamDate.split(',') |
||||
} |
||||
} |
||||
|
||||
const formRef = ref(null) |
||||
function resetForm() { |
||||
form.value = { |
||||
id: undefined, |
||||
placeName: '', |
||||
leader: '', |
||||
leaderPhone: '', |
||||
contacts: '', |
||||
contactPhone: '', |
||||
address: '', |
||||
theoryExamAddress: '', |
||||
theoryExamDate: [], |
||||
practiceExamAddress: '', |
||||
practiceExamDate: [] |
||||
} |
||||
formRef.value && formRef.value.resetFields() |
||||
} |
||||
|
||||
const handleDelete = async (row) => { |
||||
try { |
||||
// 删除的二次确认 |
||||
await message.delConfirm() |
||||
// 发起删除 |
||||
await api.deleteTestroom({ id: row.placeId }) |
||||
message.success('删除成功') |
||||
// 刷新列表 |
||||
getList() |
||||
} catch {} |
||||
} |
||||
|
||||
const submitForm = async () => { |
||||
if (!formRef.value) return |
||||
const valid = await formRef.value.validate() |
||||
if (!valid) return |
||||
|
||||
try { |
||||
formLoading.value = true |
||||
let params = { ...form.value } |
||||
params.theoryExamDate = params.theoryExamDate.join(',') |
||||
params.practiceExamDate = params.practiceExamDate.join(',') |
||||
if (form.value.placeId) { |
||||
api.updateTestroom(params).then((response) => { |
||||
if (response) { |
||||
message.success('修改成功') |
||||
dialogVisible.value = false |
||||
} |
||||
}) |
||||
} else { |
||||
api.addTestroom(params).then((response) => { |
||||
if (response) { |
||||
message.success('新增成功') |
||||
dialogVisible.value = false |
||||
} |
||||
}) |
||||
} |
||||
} finally { |
||||
formLoading.value = false |
||||
getList() |
||||
} |
||||
} |
||||
</script> |
||||
|
||||
<style lang="scss" scoped></style> |
||||
|
@ -1,11 +1,158 @@ |
||||
<template> |
||||
<div> |
||||
<div>教员入驻</div> |
||||
<div>权限:</div> |
||||
<div>审核:JoinUs:Coach:audit</div> |
||||
<el-form :model="searchForm" inline label-width="0"> |
||||
<el-form-item> |
||||
<el-input v-model="searchForm.name" placeholder="教员姓名" /> |
||||
</el-form-item> |
||||
<el-form-item> |
||||
<el-input v-model="searchForm.phone" placeholder="手机号" /> |
||||
</el-form-item> |
||||
<el-form-item> |
||||
<el-select v-model="searchForm.status" clearable filterable placeholder="审核状态"> |
||||
<el-option label="待审核" :value="1" /> |
||||
<el-option label="已通过" :value="2" /> |
||||
<el-option label="未通过" :value="3" /> |
||||
</el-select> |
||||
</el-form-item> |
||||
<el-form-item> |
||||
<el-button type="primary" @click="handleQuery"> 搜索 </el-button> |
||||
</el-form-item> |
||||
</el-form> |
||||
|
||||
<el-table :data="tableList" border stripe> |
||||
<el-table-column type="index" width="50" /> |
||||
<el-table-column prop="name" label="教员姓名" /> |
||||
<el-table-column prop="phone" label="联系方式" /> |
||||
<el-table-column prop="remark" label="备注" /> |
||||
<el-table-column prop="createTime" label="申请时间" /> |
||||
<el-table-column prop="auditRemark" label="审核状态" /> |
||||
<el-table-column prop="auditUser" label="审核人" /> |
||||
<el-table-column prop="auditTime" label="审核时间" /> |
||||
<!-- 操作 --> |
||||
<el-table-column label="操作" fixed="right" width="150"> |
||||
<template #default="{ row }"> |
||||
<el-button |
||||
v-if="row.status == 1" |
||||
type="primary" |
||||
link |
||||
v-hasPermi="['JoinUs:Station:audit']" |
||||
@click="handleDetail(row, 'audit')" |
||||
> |
||||
审核 |
||||
</el-button> |
||||
<el-button |
||||
v-else |
||||
type="primary" |
||||
link |
||||
v-hasPermi="['JoinUs:Station:audit']" |
||||
@click="handleDetail(row, 'detail')" |
||||
> |
||||
详情 |
||||
</el-button> |
||||
</template> |
||||
</el-table-column> |
||||
</el-table> |
||||
<Pagination |
||||
:total="total" |
||||
v-model:page="searchForm.pageNo" |
||||
v-model:limit="searchForm.pageSize" |
||||
@pagination="getList" |
||||
/> |
||||
|
||||
<Dialog v-model="dialogVisible" title="教员详情" style="width: 600px"> |
||||
<el-form |
||||
:model="form" |
||||
ref="formRef" |
||||
:rules="rules" |
||||
label-width="80px" |
||||
:disabled="form.status != 1" |
||||
> |
||||
<el-form-item label="教员姓名" prop="applyUser"> |
||||
<el-input v-model="form.applyUser" placeholder="请输入姓名" /> |
||||
</el-form-item> |
||||
<el-form-item label="联系方式" prop="phone"> |
||||
<el-input v-model="form.phone" placeholder="请输入电话" /> |
||||
</el-form-item> |
||||
<el-form-item label="备注" prop="xcwa"> |
||||
<el-input |
||||
v-model="form.name" |
||||
type="textarea" |
||||
:autosize="{ minRows: 2 }" |
||||
placeholder="请输入" |
||||
/> |
||||
</el-form-item> |
||||
<div v-if="dialogType == 'audit'"> |
||||
<el-divider direction="horizontal" content-position="left">审核信息</el-divider> |
||||
<el-form-item label="审核结果" prop="shjg"> |
||||
<el-radio-group v-model="form.shjg"> |
||||
<el-radio :label="2" :value="2">通过</el-radio> |
||||
<el-radio :label="3" :value="3">不通过</el-radio> |
||||
</el-radio-group> |
||||
</el-form-item> |
||||
<el-form-item label="审核说明" prop="shsm"> |
||||
<el-input |
||||
v-model="form.shsm" |
||||
type="textarea" |
||||
:autosize="{ minRows: 2 }" |
||||
placeholder="请输入" |
||||
/> |
||||
</el-form-item> |
||||
</div> |
||||
</el-form> |
||||
<template #footer> |
||||
<el-button type="primary" @click="submitForm">保 存</el-button> |
||||
<el-button @click="dialogVisible = false">取 消</el-button> |
||||
</template> |
||||
</Dialog> |
||||
</div> |
||||
</template> |
||||
|
||||
<script setup name="Coach"></script> |
||||
<script setup name="Coach"> |
||||
import { searchTeacher } from '@/api/uav/regiest' |
||||
const searchForm = ref({ |
||||
name: '', |
||||
phone: '', |
||||
status: 1, |
||||
pageNo: 1, |
||||
pageSize: 20 |
||||
}) |
||||
|
||||
const tableList = ref([]) |
||||
const total = ref(0) |
||||
|
||||
const form = ref({}) |
||||
const rules = { |
||||
name: { required: true, message: '请输入名称', trigger: 'blur' }, |
||||
phone: { required: true, message: '请输入手机号', trigger: 'blur' } |
||||
} |
||||
const dialogVisible = ref(false) |
||||
const dialogType = ref('audit') |
||||
|
||||
onMounted(() => { |
||||
handleQuery() |
||||
}) |
||||
|
||||
function handleQuery() { |
||||
searchForm.value.pageNo = 1 |
||||
getList() |
||||
} |
||||
|
||||
function getList() { |
||||
searchTeacher(searchForm.value).then((response) => { |
||||
tableList.value = response.list |
||||
total.value = response.total |
||||
}) |
||||
} |
||||
|
||||
function handleDetail(row, type) { |
||||
dialogType.value = type |
||||
dialogVisible.value = true |
||||
form.value = { ...row } |
||||
} |
||||
|
||||
function submitForm() { |
||||
dialogVisible.value = false |
||||
} |
||||
</script> |
||||
|
||||
<style lang="scss" scoped></style> |
||||
|
@ -1,11 +1,328 @@ |
||||
<template> |
||||
<div> |
||||
<div>机构入驻</div> |
||||
<div>权限:</div> |
||||
<div>审核:JoinUs:Station:audit</div> |
||||
<el-form :model="searchForm" inline label-width="0"> |
||||
<el-form-item> |
||||
<el-input v-model="searchForm.schoolName" placeholder="机构名称" /> |
||||
</el-form-item> |
||||
<el-form-item> |
||||
<el-select v-model="searchForm.status" clearable filterable placeholder="审核状态"> |
||||
<el-option label="待审核" :value="1" /> |
||||
<el-option label="已通过" :value="2" /> |
||||
<el-option label="未通过" :value="3" /> |
||||
</el-select> |
||||
</el-form-item> |
||||
<el-form-item> |
||||
<el-button type="primary" @click="handleQuery"> 搜索 </el-button> |
||||
</el-form-item> |
||||
</el-form> |
||||
|
||||
<el-table :data="tableList" border stripe> |
||||
<el-table-column type="index" width="50" /> |
||||
<el-table-column prop="schoolName" label="机构名称" /> |
||||
<el-table-column prop="contacts" label="联系人" /> |
||||
<el-table-column prop="phone" label="联系方式" /> |
||||
<el-table-column prop="createTime" label="申请时间" /> |
||||
<el-table-column prop="auditRemark" label="审核状态" /> |
||||
<el-table-column prop="auditUser" label="审核人" /> |
||||
<el-table-column prop="auditTime" label="审核时间" /> |
||||
<!-- 操作 --> |
||||
<el-table-column label="操作" fixed="right" width="150"> |
||||
<template #default="{ row }"> |
||||
<el-button |
||||
v-if="row.status == 1" |
||||
type="primary" |
||||
link |
||||
v-hasPermi="['JoinUs:Station:audit']" |
||||
@click="handleDetail(row, 'audit')" |
||||
> |
||||
审核 |
||||
</el-button> |
||||
<el-button |
||||
v-else |
||||
type="primary" |
||||
link |
||||
v-hasPermi="['JoinUs:Station:audit']" |
||||
@click="handleDetail(row, 'detail')" |
||||
> |
||||
详情 |
||||
</el-button> |
||||
</template> |
||||
</el-table-column> |
||||
</el-table> |
||||
<Pagination |
||||
:total="total" |
||||
v-model:page="searchForm.pageNo" |
||||
v-model:limit="searchForm.pageSize" |
||||
@pagination="getList" |
||||
/> |
||||
|
||||
<Dialog v-model="dialogVisible" title="机构详情" style="width: 1000px"> |
||||
<el-form :model="form" ref="formRef" :rules="rules" label-position="top"> |
||||
<el-row :gutter="20"> |
||||
<el-col :span="12"> |
||||
<el-form-item label="机构名称" prop="schoolName"> |
||||
<el-input v-model="form.schoolName" placeholder="请输入机构名称" /> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="6"> |
||||
<el-form-item label="联系人" prop="contacts"> |
||||
<el-input v-model="form.contacts" placeholder="请输入姓名" /> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="6"> |
||||
<el-form-item label="联系方式" prop="phone"> |
||||
<el-input v-model="form.phone" placeholder="请输入电话" /> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="12"> |
||||
<el-form-item label="培训机构宣传文案" prop="introduction"> |
||||
<el-input |
||||
v-model="form.introduction" |
||||
type="textarea" |
||||
:autosize="{ minRows: 2 }" |
||||
placeholder="请输入" |
||||
/> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="12"> |
||||
<el-form-item label="培训机构地址" prop="address"> |
||||
<el-input |
||||
v-model="form.address" |
||||
type="textarea" |
||||
:autosize="{ minRows: 2 }" |
||||
placeholder="请输入" |
||||
/> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="12"> |
||||
<el-form-item label="培训项目-多旋翼" prop="dxy"> |
||||
<el-checkbox-group v-model="form.dxy"> |
||||
<el-checkbox |
||||
v-for="item in driverOptions" |
||||
:key="item.value" |
||||
:label="item.value" |
||||
:value="item.value" |
||||
> |
||||
{{ item.label }} |
||||
</el-checkbox> |
||||
</el-checkbox-group> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="12"> |
||||
<el-form-item label="培训项目-垂直起降" prop="czqj"> |
||||
<el-checkbox-group v-model="form.czqj"> |
||||
<el-checkbox |
||||
v-for="item in driverOptions" |
||||
:key="item.value" |
||||
:label="item.value" |
||||
:value="item.value" |
||||
> |
||||
{{ item.label }} |
||||
</el-checkbox> |
||||
</el-checkbox-group> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="12"> |
||||
<el-form-item label="培训项目-直升机" prop="zsj"> |
||||
<el-checkbox-group v-model="form.zsj"> |
||||
<el-checkbox |
||||
v-for="item in driverOptions" |
||||
:key="item.value" |
||||
:label="item.value" |
||||
:value="item.value" |
||||
> |
||||
{{ item.label }} |
||||
</el-checkbox> |
||||
</el-checkbox-group> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="12"> |
||||
<el-form-item label="培训项目-固定翼" prop="gdy"> |
||||
<el-checkbox-group v-model="form.gdy"> |
||||
<el-checkbox |
||||
v-for="item in driverOptions" |
||||
:key="item.value" |
||||
:label="item.value" |
||||
:value="item.value" |
||||
> |
||||
{{ item.label }} |
||||
</el-checkbox> |
||||
</el-checkbox-group> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="8"> |
||||
<el-form-item label="合格证图片" prop="certs"> |
||||
<UploadImgs v-model="form.certs" height="100px" width="100px" /> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="4"> |
||||
<el-form-item label="培训机构Logo" prop="logo"> |
||||
<UploadImg v-model="form.logo" height="100px" width="100px" /> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="12"> |
||||
<el-form-item label="主页宣传图" prop="imgUrl"> |
||||
<UploadImgs v-model="form.imgUrl" :limit="6" height="100px" width="100px" /> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="12"> |
||||
<el-form-item label="优势标签" prop="schoolTagList"> |
||||
<el-checkbox-group v-model="form.schoolTagList"> |
||||
<el-checkbox |
||||
v-for="item in goodOptions" |
||||
:key="item.value" |
||||
:label="item.value" |
||||
:value="item.value" |
||||
> |
||||
{{ item.label }} |
||||
</el-checkbox> |
||||
</el-checkbox-group> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="12"> |
||||
<el-form-item label="其他服务" prop="schoolServiceList"> |
||||
<el-checkbox-group v-model="form.schoolServiceList"> |
||||
<el-checkbox |
||||
v-for="item in serviceOptions" |
||||
:key="item.value" |
||||
:label="item.value" |
||||
:value="item.value" |
||||
> |
||||
{{ item.label }} |
||||
</el-checkbox> |
||||
</el-checkbox-group> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="12"> |
||||
<el-form-item label="其他诉求" prop="otherRequirement"> |
||||
<el-input |
||||
v-model="form.otherRequirement" |
||||
type="textarea" |
||||
:autosize="{ minRows: 2 }" |
||||
placeholder="请输入" |
||||
/> |
||||
</el-form-item> |
||||
</el-col> |
||||
</el-row> |
||||
<div v-if="dialogType == 'audit'"> |
||||
<el-row> |
||||
<el-divider direction="horizontal" content-position="left">审核信息</el-divider> |
||||
<el-col :span="6" :offset="0"> |
||||
<el-form-item label="审核结果" prop="shjg"> |
||||
<el-radio-group v-model="form.shjg"> |
||||
<el-radio :label="2" :value="2">通过</el-radio> |
||||
<el-radio :label="3" :value="3">不通过</el-radio> |
||||
</el-radio-group> |
||||
</el-form-item> |
||||
</el-col> |
||||
<el-col :span="18" :offset="0"> |
||||
<el-form-item label="审核说明" prop="shsm"> |
||||
<el-input v-model="form.shsm" placeholder="请输入" /> |
||||
</el-form-item> |
||||
</el-col> |
||||
</el-row> |
||||
</div> |
||||
</el-form> |
||||
<template #footer> |
||||
<el-button type="primary" :disabled="formLoading" @click="submitForm">保 存</el-button> |
||||
<el-button @click="dialogVisible = false">取 消</el-button> |
||||
</template> |
||||
</Dialog> |
||||
</div> |
||||
</template> |
||||
|
||||
<script setup name="Station"></script> |
||||
<script setup name="Station"> |
||||
import { searchStation, auditStation } from '@/api/uav/regiest' |
||||
|
||||
const message = useMessage() |
||||
|
||||
const searchForm = ref({ |
||||
schoolName: '', |
||||
status: 1, |
||||
pageNo: 1, |
||||
pageSize: 20 |
||||
}) |
||||
|
||||
const tableList = ref([]) |
||||
const total = ref(0) |
||||
|
||||
const form = ref({}) |
||||
const rules = { |
||||
schoolName: { required: true, message: '请输入名称', trigger: 'blur' }, |
||||
contacts: { required: true, message: '请输入创建人', trigger: 'blur' }, |
||||
phone: { required: true, message: '请输入手机号', trigger: 'blur' } |
||||
} |
||||
const dialogVisible = ref(false) |
||||
const dialogType = ref('audit') |
||||
const driverOptions = ref([ |
||||
{ label: '小型-视距内驾驶员', value: 1 }, |
||||
{ label: '小型-超视距驾驶员', value: 2 }, |
||||
{ label: '小型-教员', value: 3 }, |
||||
{ label: '中型-视距内驾驶员', value: 4 }, |
||||
{ label: '中型-超视距驾驶员', value: 5 }, |
||||
{ label: '中型-教员', value: 6 } |
||||
]) |
||||
|
||||
const goodOptions = ref([ |
||||
{ label: '服务好', value: 1 }, |
||||
{ label: '交通便利', value: 2 }, |
||||
{ label: '提供住宿', value: 3 }, |
||||
{ label: '免费接送', value: 4 } |
||||
]) |
||||
|
||||
const serviceOptions = ref([ |
||||
{ label: '希望平台主动推荐学员', value: 1 }, |
||||
{ label: '接受团购学员报名', value: 2 }, |
||||
{ label: '希望平台推荐教员资源', value: 3 }, |
||||
{ label: '希望平台推荐无人机相关的设备', value: 4 } |
||||
]) |
||||
|
||||
onMounted(() => { |
||||
handleQuery() |
||||
}) |
||||
|
||||
function handleQuery() { |
||||
searchForm.value.pageNo = 1 |
||||
getList() |
||||
} |
||||
|
||||
function getList() { |
||||
searchStation(searchForm.value).then((response) => { |
||||
tableList.value = response.list |
||||
total.value = response.total |
||||
}) |
||||
} |
||||
|
||||
function handleDetail(row, type) { |
||||
dialogType.value = type |
||||
dialogVisible.value = true |
||||
form.value = { ...row } |
||||
} |
||||
|
||||
const formRef = ref(null) |
||||
const formLoading = ref(false) |
||||
async function submitForm() { |
||||
if (!formRef.value) return |
||||
const valid = await formRef.value.validate() |
||||
if (!valid) return |
||||
|
||||
try { |
||||
formLoading.value = true |
||||
let params = { ...form.value } |
||||
if (dialogType.value == 'audit') { |
||||
auditStation(params).then((response) => { |
||||
if (response) { |
||||
dialogVisible.value = false |
||||
message.success('操作成功') |
||||
} |
||||
}) |
||||
} else { |
||||
} |
||||
} finally { |
||||
formLoading.value = false |
||||
getList() |
||||
} |
||||
} |
||||
</script> |
||||
|
||||
<style lang="scss" scoped></style> |
||||
|
Loading…
Reference in new issue