qsh 4 days ago
parent cd9b974389
commit f507214116
  1. 17
      src/api/uav/regiest.js
  2. 8
      src/api/uav/testRoom.js
  3. 59
      src/views/ExamVenue/Calendar/index.vue
  4. 87
      src/views/JoinUs/Coach/index.vue
  5. 33
      src/views/JoinUs/Station/index.vue

@ -16,6 +16,14 @@ export const auditStation = async (data) => {
}) })
} }
// 修改机构
export const updateStation = async (data) => {
return await request.post({
url: '/admin-api/applet/wrj/school/update',
data
})
}
// 查询教员 // 查询教员
export const searchTeacher = async (params) => { export const searchTeacher = async (params) => {
return await request.get({ return await request.get({
@ -27,7 +35,14 @@ export const searchTeacher = async (params) => {
// 审核教员 // 审核教员
export const auditTeacher = async (data) => { export const auditTeacher = async (data) => {
return await request.post({ return await request.post({
url: '/admin-api/applet/wrj/teacher/audit', url: '/admin-api/applet/wrj/teacher/check',
data
})
}
// 修改
export const updateTeacher = async (data) => {
return await request.post({
url: '/admin-api/applet/wrj/teacher/update',
data data
}) })
} }

@ -26,3 +26,11 @@ export const deleteTestroom = async (params) => {
params params
}) })
} }
// 查询考试时间
export const searchTesttime = async (params) => {
return await request.get({
url: '/admin-api/applet/wrj/examPlace/queryDate',
params
})
}

@ -9,13 +9,20 @@
<template #reference> <template #reference>
<div> <div>
<div>{{ new Date(data.day).getDate() }}</div> <div>{{ new Date(data.day).getDate() }}</div>
<div class="mt-10px">考场数量{{ new Date(data.day).getDate() % 5 }}</div> <div class="mt-10px">
考场数量{{ getRoomCount(new Date(data.day).getDate()) }}
</div>
</div> </div>
</template> </template>
<el-table :data="roomList" border stripe> <div style="max-height: 300px; overflow: auto">
<el-table-column prop="name" label="考场名称" width="120px" /> <el-table :data="showRoomList(new Date(data.day).getDate())" border stripe>
<el-table-column prop="address" label="考场地址" /> <el-table-column prop="placeName" label="考场名称" width="120px" />
</el-table> <el-table-column
:prop="examType == 1 ? 'theoryExamAddress' : 'practiceExamAddress'"
label="考场地址"
/>
</el-table>
</div>
</el-popover> </el-popover>
</template> </template>
</el-calendar> </el-calendar>
@ -24,14 +31,44 @@
</template> </template>
<script setup name="Calendar"> <script setup name="Calendar">
import { searchTestroom } from '@/api/uav/testRoom'
const examType = ref(1) const examType = ref(1)
const roomList = ref([ const roomList = ref([])
{
name: '合肥瑶海长安考场', onMounted(() => {
address: '合肥瑶海大道100号' getRoomList()
} })
])
function getRoomList() {
searchTestroom({
pageNum: -1,
pageSize: -1
}).then((res) => {
roomList.value = res.list
})
}
function getRoomCount(date) {
return roomList.value.filter((item) => {
const pro = {
1: 'theoryExamDate',
2: 'practiceExamDate'
}[examType.value]
return item[pro].split(',').includes(date + '')
}).length
}
function showRoomList(date) {
return roomList.value.filter((item) => {
const pro = {
1: 'theoryExamDate',
2: 'practiceExamDate'
}[examType.value]
return item[pro].split(',').includes(date + '')
})
}
</script> </script>
<style lang="scss" scoped></style> <style lang="scss" scoped></style>

@ -24,30 +24,35 @@
<el-table-column prop="name" label="教员姓名" /> <el-table-column prop="name" label="教员姓名" />
<el-table-column prop="phone" label="联系方式" /> <el-table-column prop="phone" label="联系方式" />
<el-table-column prop="remark" label="备注" /> <el-table-column prop="remark" label="备注" />
<el-table-column prop="createTime" label="申请时间" /> <el-table-column prop="applyTime" label="申请时间" />
<el-table-column prop="auditRemark" label="审核状态" /> <el-table-column prop="status" label="审核状态">
<el-table-column prop="auditUser" label="审核人" /> <template #default="{ row }">
<el-table-column prop="auditTime" label="审核时间" /> <el-tag v-if="row.status == 1" type="info">待审核</el-tag>
<el-tag v-else-if="row.status == 2" type="success">已通过</el-tag>
<el-tag v-else type="danger">未通过</el-tag>
</template>
</el-table-column>
<el-table-column prop="checkUser" label="审核人" />
<el-table-column prop="checkTime" label="审核时间" />
<!-- 操作 --> <!-- 操作 -->
<el-table-column label="操作" fixed="right" width="150"> <el-table-column label="操作" fixed="right" width="150">
<template #default="{ row }"> <template #default="{ row }">
<el-button <el-button
v-if="row.status == 1"
type="primary" type="primary"
link link
v-hasPermi="['JoinUs:Station:audit']" v-hasPermi="['JoinUs:Station:audit']"
@click="handleDetail(row, 'audit')" @click="handleDetail(row, 'edit')"
> >
审核 修改
</el-button> </el-button>
<el-button <el-button
v-else v-if="row.status == 1"
type="primary" type="primary"
link link
v-hasPermi="['JoinUs:Station:audit']" v-hasPermi="['JoinUs:Station:audit']"
@click="handleDetail(row, 'detail')" @click="handleDetail(row, 'audit')"
> >
详情 审核
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -60,22 +65,16 @@
/> />
<Dialog v-model="dialogVisible" title="教员详情" style="width: 600px"> <Dialog v-model="dialogVisible" title="教员详情" style="width: 600px">
<el-form <el-form :model="form" ref="formRef" :rules="rules" label-width="80px">
:model="form" <el-form-item label="教员姓名" prop="name">
ref="formRef" <el-input v-model="form.name" placeholder="请输入姓名" />
: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>
<el-form-item label="联系方式" prop="phone"> <el-form-item label="联系方式" prop="phone">
<el-input v-model="form.phone" placeholder="请输入电话" /> <el-input v-model="form.phone" placeholder="请输入电话" />
</el-form-item> </el-form-item>
<el-form-item label="备注" prop="xcwa"> <el-form-item label="备注" prop="remark">
<el-input <el-input
v-model="form.name" v-model="form.remark"
type="textarea" type="textarea"
:autosize="{ minRows: 2 }" :autosize="{ minRows: 2 }"
placeholder="请输入" placeholder="请输入"
@ -83,15 +82,15 @@
</el-form-item> </el-form-item>
<div v-if="dialogType == 'audit'"> <div v-if="dialogType == 'audit'">
<el-divider direction="horizontal" content-position="left">审核信息</el-divider> <el-divider direction="horizontal" content-position="left">审核信息</el-divider>
<el-form-item label="审核结果" prop="shjg"> <el-form-item label="审核结果" prop="status">
<el-radio-group v-model="form.shjg"> <el-radio-group v-model="form.status">
<el-radio :label="2" :value="2">通过</el-radio> <el-radio :label="2" :value="2">通过</el-radio>
<el-radio :label="3" :value="3">不通过</el-radio> <el-radio :label="3" :value="3">不通过</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="审核说明" prop="shsm"> <el-form-item label="审核说明" prop="checkRemark">
<el-input <el-input
v-model="form.shsm" v-model="form.checkRemark"
type="textarea" type="textarea"
:autosize="{ minRows: 2 }" :autosize="{ minRows: 2 }"
placeholder="请输入" placeholder="请输入"
@ -100,7 +99,7 @@
</div> </div>
</el-form> </el-form>
<template #footer> <template #footer>
<el-button type="primary" @click="submitForm"> </el-button> <el-button type="primary" :disabled="formLoading" @click="submitForm"> </el-button>
<el-button @click="dialogVisible = false"> </el-button> <el-button @click="dialogVisible = false"> </el-button>
</template> </template>
</Dialog> </Dialog>
@ -108,7 +107,10 @@
</template> </template>
<script setup name="Coach"> <script setup name="Coach">
import { searchTeacher } from '@/api/uav/regiest' import { auditTeacher, searchTeacher, updateTeacher } from '@/api/uav/regiest'
const message = useMessage()
const searchForm = ref({ const searchForm = ref({
name: '', name: '',
phone: '', phone: '',
@ -150,8 +152,35 @@ function handleDetail(row, type) {
form.value = { ...row } form.value = { ...row }
} }
function submitForm() { const formLoading = ref(false)
dialogVisible.value = false const formRef = ref(null)
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') {
auditTeacher(params).then((response) => {
if (response) {
dialogVisible.value = false
message.success('操作成功')
}
})
} else {
updateTeacher(params).then((response) => {
if (response) {
dialogVisible.value = false
message.success('操作成功')
}
})
}
} finally {
formLoading.value = false
getList()
}
} }
</script> </script>

@ -21,30 +21,35 @@
<el-table-column prop="schoolName" label="机构名称" /> <el-table-column prop="schoolName" label="机构名称" />
<el-table-column prop="contacts" label="联系人" /> <el-table-column prop="contacts" label="联系人" />
<el-table-column prop="phone" label="联系方式" /> <el-table-column prop="phone" label="联系方式" />
<el-table-column prop="createTime" label="申请时间" /> <el-table-column prop="applyTime" label="申请时间" />
<el-table-column prop="auditRemark" label="审核状态" /> <el-table-column prop="status" label="审核状态" width="100">
<el-table-column prop="auditUser" label="审核人" /> <template #default="{ row }">
<el-table-column prop="auditTime" label="审核时间" /> <el-tag v-if="row.status == 1" type="info">待审核</el-tag>
<el-tag v-else-if="row.status == 2" type="success">已通过</el-tag>
<el-tag v-else type="danger">未通过</el-tag>
</template>
</el-table-column>
<el-table-column prop="checkUser" label="审核人" />
<el-table-column prop="checkTime" label="审核时间" />
<!-- 操作 --> <!-- 操作 -->
<el-table-column label="操作" fixed="right" width="150"> <el-table-column label="操作" fixed="right" width="150">
<template #default="{ row }"> <template #default="{ row }">
<el-button <el-button
v-if="row.status == 1"
type="primary" type="primary"
link link
v-hasPermi="['JoinUs:Station:audit']" v-hasPermi="['JoinUs:Station:audit']"
@click="handleDetail(row, 'audit')" @click="handleDetail(row, 'edit')"
> >
审核 修改
</el-button> </el-button>
<el-button <el-button
v-else v-if="row.status == 1"
type="primary" type="primary"
link link
v-hasPermi="['JoinUs:Station:audit']" v-hasPermi="['JoinUs:Station:audit']"
@click="handleDetail(row, 'detail')" @click="handleDetail(row, 'audit')"
> >
详情 审核
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -232,7 +237,7 @@
</template> </template>
<script setup name="Station"> <script setup name="Station">
import { searchStation, auditStation } from '@/api/uav/regiest' import { searchStation, auditStation, updateStation } from '@/api/uav/regiest'
const message = useMessage() const message = useMessage()
@ -317,6 +322,12 @@ async function submitForm() {
} }
}) })
} else { } else {
updateStation(params).then((response) => {
if (response) {
dialogVisible.value = false
message.success('操作成功')
}
})
} }
} finally { } finally {
formLoading.value = false formLoading.value = false

Loading…
Cancel
Save