媒体报价导入默认部门

This commit is contained in:
wangchengming 2025-10-15 21:45:50 +08:00
parent 08cc123cb4
commit c99bbe1982
3 changed files with 51 additions and 11 deletions

View File

@ -35,6 +35,8 @@ const { proxy } = getCurrentInstance()
const title = ref('导入报价') const title = ref('导入报价')
const open = ref(false) const open = ref(false)
const mediaType = ref(null) const mediaType = ref(null)
const dataScopeDeptId = ref(null)
const dataScopeDeptName = ref(null)
const docUploadList = ref([]) const docUploadList = ref([])
@ -44,6 +46,8 @@ const requestDocUpload = (options) => {
const { file } = options const { file } = options
var formData = new FormData(); var formData = new FormData();
formData.append('mediaType', mediaType.value); formData.append('mediaType', mediaType.value);
formData.append('dataScopeDeptId', dataScopeDeptId.value);
formData.append('dataScopeDeptName', dataScopeDeptName.value);
formData.append('file', file); formData.append('file', file);
importPriceByExcel(formData).then(res => { importPriceByExcel(formData).then(res => {
if (res.code == 200) { if (res.code == 200) {
@ -128,27 +132,43 @@ const initImportPriceExcel = (_mediaType) => {
switch (_mediaType) { switch (_mediaType) {
case 0: case 0:
title.value = '导入优势媒体报价' title.value = '导入优势媒体报价'
dataScopeDeptId.value = 220
dataScopeDeptName.value = '优势媒体部'
break; break;
case 1: case 1:
title.value = '导入门禁报价' title.value = '导入门禁报价'
dataScopeDeptId.value = 219
dataScopeDeptName.value = '网络媒体部'
break; break;
case 2: case 2:
title.value = '导入候车厅报价' title.value = '导入候车厅报价'
dataScopeDeptId.value = 219
dataScopeDeptName.value = '网络媒体部'
break; break;
case 3: case 3:
title.value = '导入道闸报价' title.value = '导入道闸报价'
dataScopeDeptId.value = 219
dataScopeDeptName.value = '网络媒体部'
break; break;
case 4: case 4:
title.value = '导入地铁报价' title.value = '导入地铁报价'
dataScopeDeptId.value = 219
dataScopeDeptName.value = '网络媒体部'
break; break;
case 5: case 5:
title.value = '导入高铁报价' title.value = '导入高铁报价'
dataScopeDeptId.value = 219
dataScopeDeptName.value = '网络媒体部'
break; break;
case 6: case 6:
title.value = '导入写字楼报价' title.value = '导入写字楼报价'
dataScopeDeptId.value = 219
dataScopeDeptName.value = '网络媒体部'
break; break;
case 7: case 7:
title.value = '导入车库灯箱报价' title.value = '导入车库灯箱报价'
dataScopeDeptId.value = 219
dataScopeDeptName.value = '网络媒体部'
break; break;
default: default:
break; break;

View File

@ -62,7 +62,7 @@
</el-col> </el-col>
</el-row> </el-row>
<div class="splineBar" /> <div class="splineBar" />
<el-row :gutter="30" class="my_form_row" v-if="detailForm.dataScopeDeptName == '优势媒体部'"> <el-row :gutter="30" class="my_form_row" v-if="detailForm.dataScopeDeptName == '优势媒体部'">
<el-col :span="6"> <el-col :span="6">
<el-form-item label="是否有照明" prop="business_department"> <el-form-item label="是否有照明" prop="business_department">
{{ detailForm.hasLighting }} {{ detailForm.hasLighting }}
@ -80,7 +80,7 @@
</el-col> </el-col>
</el-row> </el-row>
<div class="splineBar" v-if="detailForm.dataScopeDeptName == '优势媒体部'" /> <div class="splineBar" v-if="detailForm.dataScopeDeptName == '优势媒体部'" />
<el-row :gutter="30" class="my_form_row" v-if="detailForm.dataScopeDeptName == '优势媒体部'"> <el-row :gutter="30" class="my_form_row" v-if="detailForm.dataScopeDeptName == '优势媒体部'">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="MR" prop="business_department"> <el-form-item label="MR" prop="business_department">
{{ detailForm.mr }} {{ detailForm.mr }}
@ -94,12 +94,15 @@
</el-row> </el-row>
<div class="splineBar" v-if="detailForm.dataScopeDeptName == '优势媒体部'" /> <div class="splineBar" v-if="detailForm.dataScopeDeptName == '优势媒体部'" />
<el-row :gutter="30" class="my_form_row" v-if="detailForm.dataScopeDeptName == '优势媒体部'"> <el-row :gutter="30" class="my_form_row" v-if="detailForm.dataScopeDeptName == '优势媒体部'">
<el-col :span="12"> <el-col :span="24">
<el-form-item label="媒体朝向" prop="business_department"> <el-form-item label="媒体朝向" prop="business_department">
{{ detailForm.mediaOrientation }} {{ detailForm.mediaOrientation }}
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> </el-row>
<div class="splineBar" v-if="detailForm.dataScopeDeptName == '优势媒体部'" />
<el-row :gutter="30" class="my_form_row">
<el-col :span="24">
<el-form-item label="供应商名称"> <el-form-item label="供应商名称">
<span class="mediaNameLabel" <span class="mediaNameLabel"
@click="handleOpenSupplierDetail(detailForm.belongSupplierId)"> @click="handleOpenSupplierDetail(detailForm.belongSupplierId)">
@ -108,7 +111,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<div class="splineBar" v-if="detailForm.dataScopeDeptName == '优势媒体部'" /> <div class="splineBar" />
<el-row :gutter="30" class="my_form_row"> <el-row :gutter="30" class="my_form_row">
<el-col :span="18"> <el-col :span="18">
<el-form-item label="城市" prop="business_department"> <el-form-item label="城市" prop="business_department">

View File

@ -4,10 +4,10 @@
<div class="more-search-pane"> <div class="more-search-pane">
<div class="search-where-container"> <div class="search-where-container">
<el-form :model="queryParams" ref="queryRef" :inline="true" class="searchPanelForm"> <el-form :model="queryParams" ref="queryRef" :inline="true" class="searchPanelForm">
<el-form-item label="媒体名称/编号:"> <!-- <el-form-item label="媒体名称/编号:">
<el-input v-model="queryParams.keyword" @keydown.enter.prevent="handleQuery" <el-input v-model="queryParams.keyword" @keydown.enter.prevent="handleQuery"
placeholder="请输入媒体名称/编号" clearable style="min-width: 30px" /> placeholder="请输入媒体名称/编号" clearable style="min-width: 30px" />
</el-form-item> </el-form-item> -->
<el-form-item label="媒体类型:"> <el-form-item label="媒体类型:">
<el-select v-model="queryParams.mediaType" placeholder="请选择" @change="getMediaTypeTwo" <el-select v-model="queryParams.mediaType" placeholder="请选择" @change="getMediaTypeTwo"
clearable style="min-width: 30px"> clearable style="min-width: 30px">
@ -95,7 +95,7 @@
<div style="height: 24px; line-height: 24px;font-size: 16px;">{{ item.name }}</div> <div style="height: 24px; line-height: 24px;font-size: 16px;">{{ item.name }}</div>
<div style="color: #8492a6; font-size: 12px;height: 18px; line-height: 18px;">{{ <div style="color: #8492a6; font-size: 12px;height: 18px; line-height: 18px;">{{
item.address item.address
}}</div> }}</div>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -397,6 +397,8 @@ const resetQuery = () => {
areaCode: undefined, areaCode: undefined,
townCode: undefined, townCode: undefined,
} }
//
centerPointName.value = undefined
// //
distanceLable.value = '请选择' distanceLable.value = '请选择'
// //
@ -416,7 +418,7 @@ const resetQuery = () => {
if (circleHandle.value) { if (circleHandle.value) {
mapInstance.value.remove(circleHandle.value); mapInstance.value.remove(circleHandle.value);
circleHandle.value = null; circleHandle.value = null;
} }
if (geocoderMarker.value) { if (geocoderMarker.value) {
mapInstance.value.remove(geocoderMarker.value); mapInstance.value.remove(geocoderMarker.value);
geocoderMarker.value = null geocoderMarker.value = null
@ -454,10 +456,24 @@ const handleClose = () => {
const getLocaleListList = (searchValue) => { const getLocaleListList = (searchValue) => {
selectLoading.value = true selectLoading.value = true
if (searchValue !== "") { if (searchValue !== "") {
localeList.value = []
//
queryParams.value.keyword = searchValue
mediaByMap(queryParams.value).then(res => {
if (res.code == 200) {
res.data.forEach(itemPoint => {
localeList.value.push({
id: itemPoint.mediaId, name: itemPoint.mediaName, address: '媒体库媒体', location: { lat: itemPoint.y, lng: itemPoint.x }
});
});
}
})
// API
placeSearch.value.search(searchValue, function (status, result) { placeSearch.value.search(searchValue, function (status, result) {
// resultPOI // resultPOI
if (result.poiList.pois?.length) { if (result.poiList.pois?.length) {
localeList.value = result.poiList?.pois console.log('api', result.poiList?.pois)
localeList.value.push(...result.poiList?.pois);
} }
selectLoading.value = false selectLoading.value = false
}); });
@ -490,6 +506,7 @@ const addCenterMark = (val) => {
if (centerMarker.value) mapInstance.value.remove(centerMarker.value); if (centerMarker.value) mapInstance.value.remove(centerMarker.value);
centerMarker.value = new AMap.Marker({ centerMarker.value = new AMap.Marker({
position: [val.location.lng, val.location.lat], position: [val.location.lng, val.location.lat],
offset: new AMap.Pixel(-8, -8),
title: val.name, title: val.name,
zIndex: 100, zIndex: 100,
draggable: false, // draggable: false, //
@ -750,7 +767,7 @@ const toggle2D3DMode = () => {
if (!mapInstance.value) return; if (!mapInstance.value) return;
const currentPitch = mapInstance.value.getPitch(); const currentPitch = mapInstance.value.getPitch();
resetQuery()
if (currentPitch === 0) { if (currentPitch === 0) {
// 3D // 3D
mapInstance.value.setPitch(65); mapInstance.value.setPitch(65);