驾校联调
This commit is contained in:
@@ -44,7 +44,12 @@
|
||||
<el-button @click="handleClickSchool(school)">{{
|
||||
`数据管理(${getCount(school.schoolId)})`
|
||||
}}</el-button>
|
||||
<el-tooltip content="新增场地" placement="left" effect="dark">
|
||||
<el-tooltip
|
||||
content="新增场地"
|
||||
placement="left"
|
||||
effect="dark"
|
||||
v-if="checkPermi(['school:place:add'])"
|
||||
>
|
||||
<el-button class="add-place-btn" @click="handleInsertPlace(school.schoolId)">
|
||||
<Icon icon="ep:plus" />
|
||||
</el-button>
|
||||
@@ -184,7 +189,11 @@
|
||||
<el-table-column prop="area" label="所属区域" width="110" />
|
||||
<el-table-column label="启用" width="100">
|
||||
<template #default="scope">
|
||||
<el-switch v-model="scope.row.showInMap" @change="changePlaceStatus(scope.row)" />
|
||||
<el-switch
|
||||
v-model="scope.row.showInMap"
|
||||
:disabled="checkPermi(['school:place:update'])"
|
||||
@change="changePlaceStatus(scope.row)"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="100">
|
||||
@@ -194,6 +203,7 @@
|
||||
type="primary"
|
||||
style="padding: 4px 8px"
|
||||
@click="handleEditPlace(scope.row)"
|
||||
v-hasPermi="['school:place:update']"
|
||||
>
|
||||
<Icon icon="ep:edit" />
|
||||
</el-button>
|
||||
@@ -222,6 +232,7 @@
|
||||
|
||||
<script setup name="Place">
|
||||
import * as PlaceApi from '@/api/school/place'
|
||||
import { checkPermi } from '@/utils/permission'
|
||||
|
||||
import FlagRed from '@/assets/imgs/flag/flag_red.png'
|
||||
import FlagYellow from '@/assets/imgs/flag/flag_yellow.png'
|
||||
@@ -310,9 +321,15 @@ function regeoCode() {
|
||||
}
|
||||
|
||||
async function getPageData() {
|
||||
schoolList.value = []
|
||||
tableData.value = []
|
||||
const data = await PlaceApi.getPlaceList()
|
||||
schoolList.value = data.schoolList || []
|
||||
tableData.value = data.placeList || []
|
||||
if (data.schoolList) {
|
||||
schoolList.value = data.schoolList.map((item) => ({ ...item, showInMap: true }))
|
||||
}
|
||||
if (data.placeList) {
|
||||
tableData.value = data.placeList.map((item) => ({ ...item, showInMap: true, schoolShow: true }))
|
||||
}
|
||||
if (schoolList.value.length) {
|
||||
currentdeptId.value = schoolList.value[0].schoolId
|
||||
createMarkersInMap()
|
||||
@@ -376,7 +393,8 @@ function handleInsertPlace(schoolId) {
|
||||
phone: undefined,
|
||||
schoolId: schoolId,
|
||||
showInMap: true,
|
||||
flagColor: 'red'
|
||||
flagColor: 'red',
|
||||
recommend: false
|
||||
}
|
||||
}
|
||||
|
||||
@@ -415,6 +433,9 @@ function checkPlaceFormValidate() {
|
||||
}
|
||||
|
||||
function handleClickMarker(ev) {
|
||||
if (!checkPermi(['school:place:update'])) {
|
||||
return
|
||||
}
|
||||
placeForm.value = ev.target.getExtData()
|
||||
placeDialogShow.value = true
|
||||
}
|
||||
@@ -422,54 +443,55 @@ function handleClickMarker(ev) {
|
||||
async function onSubmit() {
|
||||
// 保存接口
|
||||
if (checkPlaceFormValidate()) {
|
||||
// 先访问接口,返回id插入placeForm
|
||||
// const resp = savePlace(placeForm.value);
|
||||
const resp = { code: 200, data: 'p00001' }
|
||||
if (resp.code != 200) {
|
||||
return
|
||||
} else {
|
||||
try {
|
||||
let resp
|
||||
if (placeForm.value.placeId) {
|
||||
resp = await PlaceApi.updatePlace(placeForm.value)
|
||||
} else {
|
||||
resp = await PlaceApi.createPlace(placeForm.value)
|
||||
placeForm.value.placeId = resp.data
|
||||
}
|
||||
message.success('操作成功')
|
||||
}
|
||||
if (!placeForm.value.placeId && resp.data) {
|
||||
placeForm.value.placeId = resp.data
|
||||
}
|
||||
// 移除选点用 的标记
|
||||
dialogMap.value.remove(locationMarker.value)
|
||||
// 根据form创建新marker 并添加到地图上
|
||||
const tmpMarker = new aMap.value.Marker({
|
||||
map: dialogMap.value,
|
||||
position: [placeForm.value.lng, placeForm.value.lat],
|
||||
icon: flagMap[placeForm.value.flagColor],
|
||||
label: {
|
||||
content: placeForm.value.name,
|
||||
direction: 'right'
|
||||
},
|
||||
extData: placeForm.value
|
||||
})
|
||||
// 新marker事件
|
||||
tmpMarker.on('click', handleClickMarker)
|
||||
// 如果当前选择的marker点存在(编辑)
|
||||
// if (selectMarker.value) {
|
||||
// // 地图上 移除选择的点
|
||||
// dialogMap.value.remove(selectMarker.value)
|
||||
// selectMarker.value = null
|
||||
// }
|
||||
// 关闭场地弹窗
|
||||
placeDialogShow.value = false
|
||||
isPointing.value = false
|
||||
// 移除选点用 的标记
|
||||
dialogMap.value.remove(locationMarker.value)
|
||||
// 根据form创建新marker 并添加到地图上
|
||||
const tmpMarker = new aMap.value.Marker({
|
||||
map: dialogMap.value,
|
||||
position: [placeForm.value.lng, placeForm.value.lat],
|
||||
icon: flagMap[placeForm.value.flagColor],
|
||||
label: {
|
||||
content: placeForm.value.name,
|
||||
direction: 'right'
|
||||
},
|
||||
extData: placeForm.value
|
||||
})
|
||||
// 新marker事件
|
||||
tmpMarker.on('click', handleClickMarker)
|
||||
// 如果当前选择的marker点存在(编辑)
|
||||
// if (selectMarker.value) {
|
||||
// // 地图上 移除选择的点
|
||||
// dialogMap.value.remove(selectMarker.value)
|
||||
// selectMarker.value = null
|
||||
// }
|
||||
// 关闭场地弹窗
|
||||
placeDialogShow.value = false
|
||||
isPointing.value = false
|
||||
|
||||
// 场地列表 移除原列表中操作的场地数据
|
||||
const tmpArr = tableData.value.filter((item) => item.placeId !== placeForm.value.placeId)
|
||||
// 新增新的场地
|
||||
tmpArr.push(placeForm.value)
|
||||
// 重置场地数组
|
||||
tableData.value = tmpArr
|
||||
// 地图marker列表 移除操作的原marker 添加新marker进数组
|
||||
const tmpArr1 = placeMarkerList.value.filter(
|
||||
(item) => item.getExtData().placeId !== placeForm.value.placeId
|
||||
)
|
||||
tmpArr1.push(tmpMarker)
|
||||
placeMarkerList.value = tmpArr1
|
||||
// 场地列表 移除原列表中操作的场地数据
|
||||
const tmpArr = tableData.value.filter((item) => item.placeId !== placeForm.value.placeId)
|
||||
// 新增新的场地
|
||||
tmpArr.push(placeForm.value)
|
||||
// 重置场地数组
|
||||
tableData.value = tmpArr
|
||||
// 地图marker列表 移除操作的原marker 添加新marker进数组
|
||||
const tmpArr1 = placeMarkerList.value.filter(
|
||||
(item) => item.getExtData().placeId !== placeForm.value.placeId
|
||||
)
|
||||
tmpArr1.push(tmpMarker)
|
||||
placeMarkerList.value = tmpArr1
|
||||
} catch (error) {
|
||||
console.log(error)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user