sc
This commit is contained in:
@@ -4,8 +4,8 @@ VITE_NODE_ENV=development
|
|||||||
VITE_DEV=true
|
VITE_DEV=true
|
||||||
|
|
||||||
# 请求路径
|
# 请求路径
|
||||||
VITE_BASE_URL='http://47.98.161.246:48080'
|
# VITE_BASE_URL='http://47.98.161.246:48080'
|
||||||
# VITE_BASE_URL='http://114.215.207.150:48080'
|
VITE_BASE_URL='http://114.215.207.150:48080'
|
||||||
# VITE_BASE_URL='http://localhost:48080'
|
# VITE_BASE_URL='http://localhost:48080'
|
||||||
|
|
||||||
# 高德地图key密钥
|
# 高德地图key密钥
|
||||||
|
|||||||
@@ -9,9 +9,25 @@
|
|||||||
v-model="searchForm.phone"
|
v-model="searchForm.phone"
|
||||||
placeholder="联系方式"
|
placeholder="联系方式"
|
||||||
clearable
|
clearable
|
||||||
style="width: 120px"
|
style="width: 100px"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-select
|
||||||
|
v-model="searchForm.intention"
|
||||||
|
placeholder="学员意向"
|
||||||
|
clearable
|
||||||
|
filterable
|
||||||
|
style="width: 100px"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in intentionOptions"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-select
|
<el-select
|
||||||
v-model="searchForm.followUser"
|
v-model="searchForm.followUser"
|
||||||
@@ -40,6 +56,38 @@
|
|||||||
style="width: 240px"
|
style="width: 240px"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-select
|
||||||
|
v-model="searchForm.schoolId"
|
||||||
|
placeholder="邀约驾校"
|
||||||
|
clearable
|
||||||
|
filterable
|
||||||
|
style="width: 120px"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in schoolOptions"
|
||||||
|
:key="item.schoolId"
|
||||||
|
:label="item.schoolName"
|
||||||
|
:value="item.schoolId"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-select
|
||||||
|
v-model="searchForm.placeId"
|
||||||
|
placeholder="邀约场地"
|
||||||
|
clearable
|
||||||
|
filterable
|
||||||
|
style="width: 120px"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in placeOptions"
|
||||||
|
:key="item.placeId"
|
||||||
|
:label="item.name"
|
||||||
|
:value="item.placeId"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="searchForm.signDate"
|
v-model="searchForm.signDate"
|
||||||
@@ -58,7 +106,7 @@
|
|||||||
placeholder="报名状态"
|
placeholder="报名状态"
|
||||||
clearable
|
clearable
|
||||||
filterable
|
filterable
|
||||||
style="width: 120px"
|
style="width: 100px"
|
||||||
>
|
>
|
||||||
<el-option label="未报名" :value="0" />
|
<el-option label="未报名" :value="0" />
|
||||||
<el-option label="已报名" :value="1" />
|
<el-option label="已报名" :value="1" />
|
||||||
@@ -70,7 +118,7 @@
|
|||||||
placeholder="登记状态"
|
placeholder="登记状态"
|
||||||
clearable
|
clearable
|
||||||
filterable
|
filterable
|
||||||
style="width: 120px"
|
style="width: 100px"
|
||||||
>
|
>
|
||||||
<el-option label="未登记" :value="0" />
|
<el-option label="未登记" :value="0" />
|
||||||
<el-option label="已登记" :value="1" />
|
<el-option label="已登记" :value="1" />
|
||||||
@@ -86,9 +134,12 @@
|
|||||||
<el-table-column prop="name" label="学员姓名" width="90px" />
|
<el-table-column prop="name" label="学员姓名" width="90px" />
|
||||||
<el-table-column prop="phone" label="联系方式" width="110px" />
|
<el-table-column prop="phone" label="联系方式" width="110px" />
|
||||||
<el-table-column prop="followUserName" label="跟进人" width="90" />
|
<el-table-column prop="followUserName" label="跟进人" width="90" />
|
||||||
|
<el-table-column prop="intentionName" label="学员意向" width="90" />
|
||||||
<el-table-column prop="remarkDate" label="报备日期" width="100px" />
|
<el-table-column prop="remarkDate" label="报备日期" width="100px" />
|
||||||
<el-table-column prop="remarkUserName" label="报备人" width="90px" />
|
<el-table-column prop="remarkUserName" label="报备人" width="90px" />
|
||||||
<el-table-column prop="remarkContent" label="报备内容" min-width="150px" />
|
<el-table-column prop="remarkContent" label="报备内容" min-width="400px" />
|
||||||
|
<el-table-column prop="schoolName" label="邀约驾校" width="100" />
|
||||||
|
<el-table-column prop="placeName" label="邀约场地" width="100" />
|
||||||
<el-table-column prop="signDate" label="报名日期" width="100px" />
|
<el-table-column prop="signDate" label="报名日期" width="100px" />
|
||||||
<el-table-column prop="enterUserName" label="接待人" width="90px" />
|
<el-table-column prop="enterUserName" label="接待人" width="90px" />
|
||||||
<el-table-column prop="signInfo" label="报名信息" min-width="150px" />
|
<el-table-column prop="signInfo" label="报名信息" min-width="150px" />
|
||||||
@@ -117,6 +168,8 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import { getSimpleUserList as getUserOption } from '@/api/system/user'
|
import { getSimpleUserList as getUserOption } from '@/api/system/user'
|
||||||
import { getClueRemarkPage } from '@/api/clue/clueRemark'
|
import { getClueRemarkPage } from '@/api/clue/clueRemark'
|
||||||
|
import { getPlaceList } from '@/api/school/place'
|
||||||
|
import { getIntDictOptions } from '@/utils/dict'
|
||||||
import { removeNullField } from '@/utils/index'
|
import { removeNullField } from '@/utils/index'
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
@@ -125,10 +178,22 @@ onMounted(() => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
const userOptions = ref([])
|
const userOptions = ref([])
|
||||||
|
const schoolOptions = ref([])
|
||||||
|
const placeOptions = ref([])
|
||||||
|
const intentionOptions = getIntDictOptions('intention_state')
|
||||||
function getOptions() {
|
function getOptions() {
|
||||||
getUserOption().then((data) => {
|
getUserOption().then((data) => {
|
||||||
userOptions.value = data
|
userOptions.value = data
|
||||||
})
|
})
|
||||||
|
|
||||||
|
getPlaceList({
|
||||||
|
placeStatus: 0,
|
||||||
|
schoolStatus: 0,
|
||||||
|
isSearchSchool: true
|
||||||
|
}).then((data) => {
|
||||||
|
schoolOptions.value = data.schoolList
|
||||||
|
placeOptions.value = data.placeList
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const searchForm = ref({
|
const searchForm = ref({
|
||||||
|
|||||||
@@ -19,6 +19,17 @@
|
|||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item prop="schoolPlace">
|
||||||
|
<el-cascader
|
||||||
|
v-model="form.schoolPlace"
|
||||||
|
:options="placeOptions"
|
||||||
|
placeholder="选择邀约驾校和场地"
|
||||||
|
filterable
|
||||||
|
show-all-levels
|
||||||
|
style="width: 100%"
|
||||||
|
:props="{ expandTrigger: 'hover', multiple: false, checkStrictly: true }"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<span>
|
<span>
|
||||||
@@ -31,6 +42,7 @@
|
|||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { getWxGroupSimpleList, getClueRemarkByClueId, reportClue } from '@/api/clue/clueRemark'
|
import { getWxGroupSimpleList, getClueRemarkByClueId, reportClue } from '@/api/clue/clueRemark'
|
||||||
|
import { getPlaceList } from '@/api/school/place'
|
||||||
import { useUserStore } from '@/store/modules/user'
|
import { useUserStore } from '@/store/modules/user'
|
||||||
|
|
||||||
const userStore = useUserStore()
|
const userStore = useUserStore()
|
||||||
@@ -38,7 +50,8 @@ const message = useMessage()
|
|||||||
|
|
||||||
const form = ref({
|
const form = ref({
|
||||||
remarkContent: '',
|
remarkContent: '',
|
||||||
groupId: ''
|
groupId: '',
|
||||||
|
schoolPlace: []
|
||||||
})
|
})
|
||||||
const rules = {
|
const rules = {
|
||||||
remarkContent: [{ required: true, message: '请输入报备信息', trigger: 'blur' }],
|
remarkContent: [{ required: true, message: '请输入报备信息', trigger: 'blur' }],
|
||||||
@@ -56,6 +69,11 @@ async function open(row) {
|
|||||||
const data = await getClueRemarkByClueId({ clueId: row.clueId })
|
const data = await getClueRemarkByClueId({ clueId: row.clueId })
|
||||||
if (data && data.remarkId) {
|
if (data && data.remarkId) {
|
||||||
form.value = { ...data }
|
form.value = { ...data }
|
||||||
|
if (data.schoolId && data.placeId) {
|
||||||
|
form.value.schoolPlace = [data.schoolId, data.placeId]
|
||||||
|
} else if (data.schoolId) {
|
||||||
|
form.value.schoolPlace = [data.schoolId]
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -75,11 +93,28 @@ async function open(row) {
|
|||||||
defineExpose({ open })
|
defineExpose({ open })
|
||||||
|
|
||||||
const groupOptions = ref([])
|
const groupOptions = ref([])
|
||||||
|
const placeOptions = ref([])
|
||||||
function getOptions() {
|
function getOptions() {
|
||||||
getWxGroupSimpleList().then((response) => {
|
getWxGroupSimpleList().then((response) => {
|
||||||
groupOptions.value = response
|
groupOptions.value = response
|
||||||
})
|
})
|
||||||
|
|
||||||
|
getPlaceList({
|
||||||
|
placeStatus: 0,
|
||||||
|
schoolStatus: 0,
|
||||||
|
isSearchSchool: true
|
||||||
|
}).then((data) => {
|
||||||
|
placeOptions.value = data.schoolList.map((item) => ({
|
||||||
|
value: item.schoolId,
|
||||||
|
label: item.schoolName,
|
||||||
|
children: data.placeList
|
||||||
|
.filter((place) => item.schoolId == place.schoolId)
|
||||||
|
.map((place) => ({
|
||||||
|
value: place.placeId,
|
||||||
|
label: place.name
|
||||||
|
}))
|
||||||
|
}))
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const formRef = ref(null)
|
const formRef = ref(null)
|
||||||
@@ -88,7 +123,14 @@ function handleSave() {
|
|||||||
if (valid) {
|
if (valid) {
|
||||||
formLoading.value = true
|
formLoading.value = true
|
||||||
try {
|
try {
|
||||||
await reportClue(form.value)
|
const params = { ...form.value }
|
||||||
|
if (params.schoolPlace && params.schoolPlace.length) {
|
||||||
|
params.schoolId = params.schoolPlace[0]
|
||||||
|
if (params.schoolPlace.length == 2) {
|
||||||
|
params.placeId = params.schoolPlace[1]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
await reportClue(params)
|
||||||
message.success('提交报备信息成功')
|
message.success('提交报备信息成功')
|
||||||
show.value = false
|
show.value = false
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|||||||
Reference in New Issue
Block a user