qsh 3 days ago
parent e449f1a124
commit cd9b974389
  1. 9
      src/api/uav/clue.js
  2. 33
      src/api/uav/regiest.js
  3. 28
      src/api/uav/testRoom.js
  4. 170
      src/views/ExamVenue/Room/index.vue
  5. 43
      src/views/JoinUs/Coach/index.vue
  6. 126
      src/views/JoinUs/Station/index.vue
  7. 106
      src/views/UAVClue/CluePool/index.vue

@ -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,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
})
}

@ -2,7 +2,7 @@
<div> <div>
<el-form :model="searchForm" inline label-width="0"> <el-form :model="searchForm" inline label-width="0">
<el-form-item> <el-form-item>
<el-input v-model="searchForm.name" placeholder="考场名称" /> <el-input v-model="searchForm.placeName" placeholder="考场名称" />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="handleQuery"> </el-button> <el-button type="primary" @click="handleQuery"> </el-button>
@ -12,27 +12,37 @@
<el-table :data="tableList" border stripe> <el-table :data="tableList" border stripe>
<el-table-column type="index" width="50" /> <el-table-column type="index" width="50" />
<el-table-column prop="name" label="考点名称" min-width="200px" /> <el-table-column prop="placeName" label="考点名称" min-width="200px" />
<el-table-column prop="username" label="负责人" width="100px" /> <el-table-column prop="leader" label="负责人" width="100px" />
<el-table-column prop="userPhone" label="负责人电话" width="100px" /> <el-table-column prop="leaderPhone" label="负责人电话" width="100px" />
<el-table-column prop="contactName" label="联系人" width="100px" /> <el-table-column prop="contacts" label="联系人" width="100px" />
<el-table-column prop="contactPhone" label="联系人电话" width="100px" /> <el-table-column prop="contactPhone" label="联系人电话" width="100px" />
<el-table-column prop="address" label="地址" min-width="200px" /> <el-table-column prop="address" label="地址" min-width="200px" />
<el-table-column label="理论" align="center"> <el-table-column label="理论" align="center">
<el-table-column prop="lilunTime" label="时间" width="100px" align="center"> <el-table-column label="时间" width="100px" align="center">
<template #default="{ row }"> <template #default="{ row }">
{{ row.lilunTime.map((item) => `每月${item}`).join(',') }} {{
row.theoryExamDate
.split(',')
.map((item) => `每月${item}`)
.join(',')
}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="lilunAddress" label="地址" min-width="200px" align="center" /> <el-table-column prop="theoryExamAddress" label="地址" min-width="200px" align="center" />
</el-table-column> </el-table-column>
<el-table-column label="实践" align="center"> <el-table-column label="实践" align="center">
<el-table-column prop="shijianTime" label="时间" width="100px" align="center"> <el-table-column label="时间" width="100px" align="center">
<template #default="{ row }"> <template #default="{ row }">
{{ row.shijianTime.map((item) => `每月${item}`).join(',') }} {{
row.practiceExamDate
.split(',')
.map((item) => `每月${item}`)
.join(',')
}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="shijianAddress" label="地址" min-width="200px" align="center" /> <el-table-column prop="practiceExamAddress" label="地址" min-width="200px" align="center" />
</el-table-column> </el-table-column>
<el-table-column label="操作" fixed="right" width="150"> <el-table-column label="操作" fixed="right" width="150">
<template #default="{ row }"> <template #default="{ row }">
@ -66,23 +76,23 @@
<el-form :model="form" ref="formRef" :rules="rules" label-width="100px"> <el-form :model="form" ref="formRef" :rules="rules" label-width="100px">
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="24" :offset="0"> <el-col :span="24" :offset="0">
<el-form-item label="考点名称" prop="name"> <el-form-item label="考点名称" prop="placeName">
<el-input v-model="form.name" placeholder="请输入" /> <el-input v-model="form.placeName" placeholder="请输入" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" :offset="0"> <el-col :span="12" :offset="0">
<el-form-item label="负责人" prop="username"> <el-form-item label="负责人" prop="leader">
<el-input v-model="form.username" placeholder="请输入" /> <el-input v-model="form.leader" placeholder="请输入" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" :offset="0"> <el-col :span="12" :offset="0">
<el-form-item label="负责人电话" prop="userPhone"> <el-form-item label="负责人电话" prop="leaderPhone">
<el-input v-model="form.userPhone" placeholder="请输入" /> <el-input v-model="form.leaderPhone" placeholder="请输入" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" :offset="0"> <el-col :span="12" :offset="0">
<el-form-item label="联系人" prop="contactName"> <el-form-item label="联系人" prop="contacts">
<el-input v-model="form.contactName" placeholder="请输入" /> <el-input v-model="form.contacts" placeholder="请输入" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" :offset="0"> <el-col :span="12" :offset="0">
@ -104,9 +114,9 @@
<el-divider direction="horizontal" content-position="left">理论</el-divider> <el-divider direction="horizontal" content-position="left">理论</el-divider>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="24" :offset="0"> <el-col :span="24" :offset="0">
<el-form-item label="理论地址" prop="lilunAddress"> <el-form-item label="理论地址" prop="theoryExamAddress">
<el-input <el-input
v-model="form.lilunAddress" v-model="form.theoryExamAddress"
type="textarea" type="textarea"
:autosize="{ minRows: 2 }" :autosize="{ minRows: 2 }"
placeholder="请输入" placeholder="请输入"
@ -117,15 +127,15 @@
<el-form-item label="理论时间"> <el-form-item label="理论时间">
<el-input <el-input
class="mr-2 mb-2" class="mr-2 mb-2"
v-for="(item, index) in form.lilunTime" v-for="(item, index) in form.theoryExamDate"
:key="index" :key="index"
v-model="form.lilunTime[index]" v-model="form.theoryExamDate[index]"
style="width: 180px" style="width: 180px"
> >
<template #prepend>每月</template> <template #prepend>每月</template>
<template #append></template> <template #append></template>
</el-input> </el-input>
<el-button type="primary" @click="form.lilunTime.push(undefined)"> <el-button type="primary" @click="form.theoryExamDate.push(undefined)">
新增考试时间 新增考试时间
</el-button> </el-button>
</el-form-item> </el-form-item>
@ -134,9 +144,9 @@
<el-divider direction="horizontal" content-position="left">实践</el-divider> <el-divider direction="horizontal" content-position="left">实践</el-divider>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="24" :offset="0"> <el-col :span="24" :offset="0">
<el-form-item label="实践地址" prop="lilunAddress"> <el-form-item label="实践地址" prop="theoryExamAddress">
<el-input <el-input
v-model="form.shijianAddress" v-model="form.practiceExamAddress"
type="textarea" type="textarea"
:autosize="{ minRows: 2 }" :autosize="{ minRows: 2 }"
placeholder="请输入" placeholder="请输入"
@ -147,15 +157,15 @@
<el-form-item label="实践时间"> <el-form-item label="实践时间">
<el-input <el-input
class="mr-2 mb-2" class="mr-2 mb-2"
v-for="(item, index) in form.shijianTime" v-for="(item, index) in form.practiceExamDate"
:key="index" :key="index"
v-model="form.shijianTime[index]" v-model="form.practiceExamDate[index]"
style="width: 180px" style="width: 180px"
> >
<template #prepend>每月</template> <template #prepend>每月</template>
<template #append></template> <template #append></template>
</el-input> </el-input>
<el-button type="primary" @click="form.shijianTime.push(undefined)"> <el-button type="primary" @click="form.practiceExamDate.push(undefined)">
新增考试时间 新增考试时间
</el-button> </el-button>
</el-form-item> </el-form-item>
@ -163,7 +173,7 @@
</el-row> </el-row>
</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>
@ -171,10 +181,12 @@
</template> </template>
<script setup name="ExamVenue"> <script setup name="ExamVenue">
import * as api from '@/api/uav/testRoom'
const message = useMessage() const message = useMessage()
const searchForm = ref({ const searchForm = ref({
name: '', placeName: '',
pageNo: 1, pageNo: 1,
pageSize: 20 pageSize: 20
}) })
@ -192,54 +204,32 @@ function handleQuery() {
} }
function getList() { function getList() {
// getStationList(searchForm.value).then((res) => { try {
// console.log(res) api.searchTestroom(searchForm.value).then((res) => {
// }) tableList.value = res.list
// total.value = res.total
tableList.value = [ })
{ } catch (error) {
id: 1, console.log(error)
name: '上海01', }
address: '上海01地址',
username: 'z张三',
userPhone: '12345678901',
contactName: '李四',
contactPhone: '12345678901',
lilunTime: [1, 10],
shijianTime: [5, 15],
lilunAddress: '上海01地址',
shijianAddress: '上海01地址'
},
{
id: 2,
name: '上海02',
address: '上海02地址',
username: 'z张三',
userPhone: '12345678901',
contactName: '李四',
contactPhone: '12345678901',
lilunTime: [2, 22],
shijianTime: [5, 15],
lilunAddress: '上海02地址',
shijianAddress: '上海02地址'
}
]
total.value = 2
} }
const form = ref({}) const form = ref({})
const rules = { const rules = {
name: { required: true, message: '请输入名称', trigger: 'blur' }, placeName: { required: true, message: '请输入名称', trigger: 'blur' },
username: { required: true, message: '请输入姓名', trigger: 'blur' }, leader: { required: true, message: '请输入姓名', trigger: 'blur' },
userPhone: { required: true, message: '请输入手机号', trigger: 'blur' } leaderPhone: { required: true, message: '请输入手机号', trigger: 'blur' }
} }
const dialogVisible = ref(false) const dialogVisible = ref(false)
const formLoading = ref(false)
const handleDetail = (row) => { const handleDetail = (row) => {
resetForm() resetForm()
dialogVisible.value = true dialogVisible.value = true
if (row) { if (row) {
form.value = { ...row } form.value = { ...row }
form.value.theoryExamDate = row.theoryExamDate.split(',')
form.value.practiceExamDate = row.practiceExamDate.split(',')
} }
} }
@ -247,16 +237,16 @@ const formRef = ref(null)
function resetForm() { function resetForm() {
form.value = { form.value = {
id: undefined, id: undefined,
name: '', placeName: '',
username: '', leader: '',
userPhone: '', leaderPhone: '',
contactName: '', contacts: '',
contactPhone: '', contactPhone: '',
address: '', address: '',
lilunAddress: '', theoryExamAddress: '',
lilunTime: [], theoryExamDate: [],
shijianAddress: '', practiceExamAddress: '',
shijianTime: [] practiceExamDate: []
} }
formRef.value && formRef.value.resetFields() formRef.value && formRef.value.resetFields()
} }
@ -266,7 +256,7 @@ const handleDelete = async (row) => {
// //
await message.delConfirm() await message.delConfirm()
// //
await UserApi.deleteUser(row.id) await api.deleteTestroom({ id: row.placeId })
message.success('删除成功') message.success('删除成功')
// //
getList() getList()
@ -274,9 +264,33 @@ const handleDelete = async (row) => {
} }
const submitForm = async () => { const submitForm = async () => {
if (!formRef.value) return
const valid = await formRef.value.validate()
if (!valid) return
try { try {
} catch (err) { formLoading.value = true
console.log(err) 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> </script>

@ -2,10 +2,13 @@
<div> <div>
<el-form :model="searchForm" inline label-width="0"> <el-form :model="searchForm" inline label-width="0">
<el-form-item> <el-form-item>
<el-input v-model="searchForm.name" placeholder="教员名" /> <el-input v-model="searchForm.name" placeholder="教员名" />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-select v-model="searchForm.auditType" clearable filterable placeholder="审核状态"> <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="1" />
<el-option label="已通过" :value="2" /> <el-option label="已通过" :value="2" />
<el-option label="未通过" :value="3" /> <el-option label="未通过" :value="3" />
@ -29,7 +32,7 @@
<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.auditType == 1" v-if="row.status == 1"
type="primary" type="primary"
link link
v-hasPermi="['JoinUs:Station:audit']" v-hasPermi="['JoinUs:Station:audit']"
@ -62,7 +65,7 @@
ref="formRef" ref="formRef"
:rules="rules" :rules="rules"
label-width="80px" label-width="80px"
:disabled="form.auditType != 1" :disabled="form.status != 1"
> >
<el-form-item label="教员姓名" prop="applyUser"> <el-form-item label="教员姓名" prop="applyUser">
<el-input v-model="form.applyUser" placeholder="请输入姓名" /> <el-input v-model="form.applyUser" placeholder="请输入姓名" />
@ -105,9 +108,11 @@
</template> </template>
<script setup name="Coach"> <script setup name="Coach">
import { searchTeacher } from '@/api/uav/regiest'
const searchForm = ref({ const searchForm = ref({
name: '', name: '',
auditType: 1, phone: '',
status: 1,
pageNo: 1, pageNo: 1,
pageSize: 20 pageSize: 20
}) })
@ -133,32 +138,14 @@ function handleQuery() {
} }
function getList() { function getList() {
// getStationList(searchForm.value).then((res) => { searchTeacher(searchForm.value).then((response) => {
// console.log(res) tableList.value = response.list
// }) total.value = response.total
tableList.value = [ })
{
id: 1,
name: '教员1',
createTime: '2021-01-01',
phone: '18888888888',
auditType: 2,
auditTime: '2021-02-01',
auditUser: 'admin',
auditRemark: '审核通过'
},
{
id: 2,
name: '教员2',
auditType: 1,
phone: '19999999999'
}
]
total.value = 2
} }
function handleDetail(row, type) { function handleDetail(row, type) {
console.log(type) dialogType.value = type
dialogVisible.value = true dialogVisible.value = true
form.value = { ...row } form.value = { ...row }
} }

@ -2,10 +2,10 @@
<div> <div>
<el-form :model="searchForm" inline label-width="0"> <el-form :model="searchForm" inline label-width="0">
<el-form-item> <el-form-item>
<el-input v-model="searchForm.name" placeholder="机构名称" /> <el-input v-model="searchForm.schoolName" placeholder="机构名称" />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-select v-model="searchForm.auditType" clearable filterable placeholder="审核状态"> <el-select v-model="searchForm.status" clearable filterable placeholder="审核状态">
<el-option label="待审核" :value="1" /> <el-option label="待审核" :value="1" />
<el-option label="已通过" :value="2" /> <el-option label="已通过" :value="2" />
<el-option label="未通过" :value="3" /> <el-option label="未通过" :value="3" />
@ -13,16 +13,13 @@
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="handleQuery"> 搜索 </el-button> <el-button type="primary" @click="handleQuery"> 搜索 </el-button>
<!-- <el-button type="primary" @click="handleAdd" v-hasPermi="['question:database:add']">
新增
</el-button> -->
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table :data="tableList" border stripe> <el-table :data="tableList" border stripe>
<el-table-column type="index" width="50" /> <el-table-column type="index" width="50" />
<el-table-column prop="name" label="机构名称" /> <el-table-column prop="schoolName" label="机构名称" />
<el-table-column prop="applyUser" 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="createTime" label="申请时间" />
<el-table-column prop="auditRemark" label="审核状态" /> <el-table-column prop="auditRemark" label="审核状态" />
@ -32,7 +29,7 @@
<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.auditType == 1" v-if="row.status == 1"
type="primary" type="primary"
link link
v-hasPermi="['JoinUs:Station:audit']" v-hasPermi="['JoinUs:Station:audit']"
@ -60,22 +57,16 @@
/> />
<Dialog v-model="dialogVisible" title="机构详情" style="width: 1000px"> <Dialog v-model="dialogVisible" title="机构详情" style="width: 1000px">
<el-form <el-form :model="form" ref="formRef" :rules="rules" label-position="top">
:model="form"
ref="formRef"
:rules="rules"
label-position="top"
:disabled="form.auditType != 1"
>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="机构名称" prop="name"> <el-form-item label="机构名称" prop="schoolName">
<el-input v-model="form.name" placeholder="请输入机构名称" /> <el-input v-model="form.schoolName" placeholder="请输入机构名称" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="联系人" prop="applyUser"> <el-form-item label="联系人" prop="contacts">
<el-input v-model="form.applyUser" placeholder="请输入姓名" /> <el-input v-model="form.contacts" placeholder="请输入姓名" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
@ -84,9 +75,9 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="培训机构宣传文案" prop="xcwa"> <el-form-item label="培训机构宣传文案" prop="introduction">
<el-input <el-input
v-model="form.name" v-model="form.introduction"
type="textarea" type="textarea"
:autosize="{ minRows: 2 }" :autosize="{ minRows: 2 }"
placeholder="请输入" placeholder="请输入"
@ -159,9 +150,9 @@
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="8">
<el-form-item label="合格证图片" prop="hgztp"> <el-form-item label="合格证图片" prop="certs">
<UploadImg v-model="form.hgztp" height="100px" width="100px" /> <UploadImgs v-model="form.certs" height="100px" width="100px" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
@ -169,14 +160,14 @@
<UploadImg v-model="form.logo" height="100px" width="100px" /> <UploadImg v-model="form.logo" height="100px" width="100px" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="16"> <el-col :span="12">
<el-form-item label="主页宣传图" prop="zyxct"> <el-form-item label="主页宣传图" prop="imgUrl">
<UploadImgs v-model="form.zyxct" :limit="6" height="100px" width="100px" /> <UploadImgs v-model="form.imgUrl" :limit="6" height="100px" width="100px" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="优势标签" prop="ysbq"> <el-form-item label="优势标签" prop="schoolTagList">
<el-checkbox-group v-model="form.ysbq"> <el-checkbox-group v-model="form.schoolTagList">
<el-checkbox <el-checkbox
v-for="item in goodOptions" v-for="item in goodOptions"
:key="item.value" :key="item.value"
@ -189,8 +180,8 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="其他服务" prop="qtfw"> <el-form-item label="其他服务" prop="schoolServiceList">
<el-checkbox-group v-model="form.qtfw"> <el-checkbox-group v-model="form.schoolServiceList">
<el-checkbox <el-checkbox
v-for="item in serviceOptions" v-for="item in serviceOptions"
:key="item.value" :key="item.value"
@ -203,9 +194,9 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="其他诉求" prop="qtsq"> <el-form-item label="其他诉求" prop="otherRequirement">
<el-input <el-input
v-model="form.qtsq" v-model="form.otherRequirement"
type="textarea" type="textarea"
:autosize="{ minRows: 2 }" :autosize="{ minRows: 2 }"
placeholder="请输入" placeholder="请输入"
@ -233,7 +224,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>
@ -241,9 +232,13 @@
</template> </template>
<script setup name="Station"> <script setup name="Station">
import { searchStation, auditStation } from '@/api/uav/regiest'
const message = useMessage()
const searchForm = ref({ const searchForm = ref({
name: '', schoolName: '',
auditType: 1, status: 1,
pageNo: 1, pageNo: 1,
pageSize: 20 pageSize: 20
}) })
@ -253,8 +248,8 @@ const total = ref(0)
const form = ref({}) const form = ref({})
const rules = { const rules = {
name: { required: true, message: '请输入名称', trigger: 'blur' }, schoolName: { required: true, message: '请输入名称', trigger: 'blur' },
applyUser: { required: true, message: '请输入创建人', trigger: 'blur' }, contacts: { required: true, message: '请输入创建人', trigger: 'blur' },
phone: { required: true, message: '请输入手机号', trigger: 'blur' } phone: { required: true, message: '请输入手机号', trigger: 'blur' }
} }
const dialogVisible = ref(false) const dialogVisible = ref(false)
@ -292,40 +287,41 @@ function handleQuery() {
} }
function getList() { function getList() {
// getStationList(searchForm.value).then((res) => { searchStation(searchForm.value).then((response) => {
// console.log(res) tableList.value = response.list
// }) total.value = response.total
tableList.value = [ })
{
id: 1,
name: '机构1',
createTime: '2021-01-01',
applyUser: '张三',
phone: '18888888888',
auditType: 2,
auditTime: '2021-02-01',
auditUser: 'admin',
auditRemark: '审核通过'
},
{
id: 2,
name: '机构2',
auditType: 1,
applyUser: '李四',
phone: '19999999999'
}
]
total.value = 2
} }
function handleDetail(row, type) { function handleDetail(row, type) {
console.log(type) dialogType.value = type
dialogVisible.value = true dialogVisible.value = true
form.value = { ...row } form.value = { ...row }
} }
function submitForm() { const formRef = ref(null)
dialogVisible.value = false 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> </script>

@ -29,11 +29,12 @@
<el-table-column label="姓名" prop="name" /> <el-table-column label="姓名" prop="name" />
<el-table-column label="手机号" prop="phone" /> <el-table-column label="手机号" prop="phone" />
<el-table-column label="城市" prop="city" /> <el-table-column label="城市" prop="city" />
<el-table-column label="意向机构" prop="likeOrg" /> <el-table-column label="意向机构" prop="schoolName" />
<el-table-column label="咨询类型" prop="cartype" /> <el-table-column label="咨询类型" prop="typeName" />
<el-table-column label="咨询日期" prop="createTime" /> <el-table-column label="咨询日期" prop="createTime" />
<el-table-column label="诉求" prop="need" /> <el-table-column label="预期开课时间" prop="studyTime" :formatter="dateFormatter" />
<el-table-column label="备注" prop="remark" /> <el-table-column label="诉求" prop="otherRequirement" />
<el-table-column label="客服备注" prop="remark" />
<el-table-column label="报名状态" prop="status"> <el-table-column label="报名状态" prop="status">
<template #default="{ row }"> <template #default="{ row }">
<el-tag v-if="row.status == 1" type="primary">未报名</el-tag> <el-tag v-if="row.status == 1" type="primary">未报名</el-tag>
@ -41,14 +42,14 @@
<el-tag v-else-if="row.status == 3" type="info">已失效</el-tag> <el-tag v-else-if="row.status == 3" type="info">已失效</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="绑定机构" prop="bindSchoolName" /> <!-- <el-table-column label="绑定机构" prop="bindSchoolName" /> -->
<el-table-column label="操作" align="center" width="140"> <el-table-column label="操作" align="center" width="140">
<template #default="scope"> <template #default="{ row }">
<el-button <el-button
type="primary" type="primary"
link link
@click="handleEdit(scope.row)" @click="handleEdit(row)"
v-hasPermi="['UAVClue:CluePool:edit']" v-hasPermi="['UAVClue:CluePool:edit']"
> >
修改 修改
@ -86,43 +87,16 @@
<el-input v-model="form.city" placeholder="请输入城市或地址" /> <el-input v-model="form.city" placeholder="请输入城市或地址" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12" :offset="0">
<el-form-item label="意向机构" prop="likeOrg"> <el-form-item label="咨询类型" prop="typeName">
<el-select <el-input v-model="form.typeName" placeholder="请输入" clearable />
v-model="form.likeOrg"
placeholder="选择意向机构"
clearable
filterable
@change="getCartypeOptions"
>
<el-option
v-for="item in orgOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12" :offset="0"> <el-col :span="24">
<el-form-item label="咨询类型" prop="carTypeId"> <el-form-item label="意向机构" prop="schoolName">
<el-radio-group v-model="form.carTypeId"> <el-input v-model="form.schoolName" placeholder="请输入" clearable />
<el-radio label="10001" value="10001">多旋翼</el-radio>
<el-radio label="10002" value="10002">垂直起降固定翼</el-radio>
<el-radio label="10003" value="10003">直升机</el-radio>
<el-radio label="10004" value="10004">固定翼</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12" :offset="0">
<el-form-item label="驾驶员类型" prop="driveType">
<el-radio-group v-model="form.driveType">
<el-radio label="1" value="1">视距内驾驶员</el-radio>
<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>
</el-col> </el-col>
</el-row> </el-row>
@ -143,18 +117,6 @@
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" :offset="0" v-if="form.status == 2">
<el-form-item label="绑定机构" prop="bindOrgId">
<el-select v-model="form.bindOrgId" placeholder="选择意向机构" clearable filterable>
<el-option
v-for="item in orgOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row> </el-row>
<el-row> <el-row>
@ -179,6 +141,10 @@
</template> </template>
<script setup name="CluePool"> <script setup name="CluePool">
import * as api from '@/api/uav/clue'
import { removeNullField } from '@/utils'
import { dateFormatter } from '@/utils/formatTime'
const loading = ref(false) const loading = ref(false)
const total = ref(0) const total = ref(0)
const tableList = ref([]) const tableList = ref([])
@ -187,15 +153,11 @@ const searchForm = ref({
phone: '', phone: '',
city: '', city: '',
pageNo: 1, pageNo: 1,
pageSize: 100 pageSize: 50
}) })
onMounted(() => { onMounted(() => {
handleQuery() handleQuery()
orgOptions.value = [
{ label: '银湖低空经济发展有限公司', value: '1' },
{ label: '中科未来飞行科技有限公司', value: '2' }
]
}) })
function handleQuery() { function handleQuery() {
@ -205,28 +167,14 @@ function handleQuery() {
function getList() { function getList() {
loading.value = true loading.value = true
tableList.value = [ try {
{ api.searchClue(removeNullField(searchForm.value)).then((data) => {
name: '张三', tableList.value = data.list
phone: '12345678901', total.value = data.total
city: '上海', })
status: 1 } finally {
}, loading.value = false
{ }
name: '张三1',
phone: '12345678901',
city: '合肥',
status: 2
}
]
total.value = 0
loading.value = false
}
const cartypeOptions = ref([])
const orgOptions = ref([])
function getCartypeOptions() {
cartypeOptions.value = []
} }
const form = ref({}) const form = ref({})

Loading…
Cancel
Save