+
-
+
-
+
@@ -324,7 +324,7 @@
-
+
@@ -348,7 +348,7 @@
-
+
-
+
-
+
-
+
-
+
-
+
@@ -471,35 +471,35 @@
-
+
-
+
-
+
-
+
-
+
import { onMounted, nextTick, defineEmits, ref } from 'vue'
import { Close, LocationInformation } from '@element-plus/icons-vue'
-import { listBusSupplier } from "@/api/supplier"
+import { listBusSupplier, getBusSupplier } from "@/api/supplier"
import { sysRegionListByPid } from "@/api/system/administrativeRegion"
import { sysMediaTypeListByPid } from "@/api/system/mediaType"
-// import { listDept } from "@/api/system/dept"
+import { listDept } from "@/api/system/dept"
import { busTradingAreaPage } from "@/api/system/businessArea"
import { addMedia, updateMedia, mediaDetail } from "@/api/mediaLibrary"
@@ -605,10 +605,7 @@ const city = ref([])
const county = ref([])
const town = ref([])
// 业务部门
-const deptList = ref([
- { value: 1, label: '优势媒体部' },
- { value: 2, label: '网络媒体部' }
-])
+const deptList = ref([])
// 归属选项
const supplierList = ref([])
const selectLoading = ref(false)
@@ -623,7 +620,7 @@ const hasReformList = ref([
const data = reactive({
ruleForm: {},
rules: {
- businessType: [{ required: true, message: "业务部门不能为空", trigger: "change" }],
+ dataScopeDeptId: [{ required: true, message: "业务部门不能为空", trigger: "change" }],
mediaName: [{ required: true, message: "媒体形式/名称不能为空", trigger: "blur" }],
mediaType: [{ required: true, message: "媒体类型不能为空", trigger: "change" }],
mediaCategory: [{ required: true, message: "媒体大类不能为空", trigger: "change" }],
@@ -657,21 +654,20 @@ const handleClosePickLat = (backValue) => {
ruleForm.value.mapX = backValue.lng //经度
ruleForm.value.mapY = backValue.lat //纬度
}
-// 业务部门切换
-const businessTypeName = ref('优势媒体部')
+// 业务部门切换
const handleChangeDept = (val) => {
- const choseDep = deptList.value.filter(item => item.value == val)[0]
- ruleForm.value.businessType = choseDep?.value
- businessTypeName.value = choseDep?.label
+ const choseDep = deptList.value.filter(item => item.deptId == val)[0]
+ ruleForm.value.dataScopeDeptId = choseDep?.deptId
+ ruleForm.value.dataScopeDeptName = choseDep?.deptName
nextTick(() => {
- if (businessTypeName.value == '优势媒体部' && competitiveOfferRef.value) competitiveOfferRef.value.getMediaPrice(ruleForm.value.id, true)
- if (businessTypeName.value == '网络媒体部' && activePriceType.value == '门禁') accessControlPriceRef.value.getMediaPrice(ruleForm.value.id, true)
- if (businessTypeName.value == '网络媒体部' && activePriceType.value == '候车厅') waitingHallPriceRef.value.getMediaPrice(ruleForm.value.id, true)
- if (businessTypeName.value == '网络媒体部' && activePriceType.value == '道闸') barrierGatePriceRef.value.getMediaPrice(ruleForm.value.id, true)
- if (businessTypeName.value == '网络媒体部' && activePriceType.value == '地铁') subwayPriceRef.value.getMediaPrice(ruleForm.value.id, true)
- if (businessTypeName.value == '网络媒体部' && activePriceType.value == '高铁') highSpeedRailwayRef.value.getMediaPrice(ruleForm.value.id, true)
- if (businessTypeName.value == '网络媒体部' && activePriceType.value == '写字楼') officeBuildingRef.value.getMediaPrice(ruleForm.value.id, true)
- if (businessTypeName.value == '网络媒体部' && activePriceType.value == '车库灯箱') garageLightBoxRef.value.getMediaPrice(ruleForm.value.id, true)
+ if (ruleForm.value.dataScopeDeptName == '优势媒体部' && competitiveOfferRef.value) competitiveOfferRef.value.getMediaPrice(ruleForm.value.id, true)
+ if (ruleForm.value.dataScopeDeptName == '网络媒体部' && activePriceType.value == '门禁') accessControlPriceRef.value.getMediaPrice(ruleForm.value.id, true)
+ if (ruleForm.value.dataScopeDeptName == '网络媒体部' && activePriceType.value == '候车厅') waitingHallPriceRef.value.getMediaPrice(ruleForm.value.id, true)
+ if (ruleForm.value.dataScopeDeptName == '网络媒体部' && activePriceType.value == '道闸') barrierGatePriceRef.value.getMediaPrice(ruleForm.value.id, true)
+ if (ruleForm.value.dataScopeDeptName == '网络媒体部' && activePriceType.value == '地铁') subwayPriceRef.value.getMediaPrice(ruleForm.value.id, true)
+ if (ruleForm.value.dataScopeDeptName == '网络媒体部' && activePriceType.value == '高铁') highSpeedRailwayRef.value.getMediaPrice(ruleForm.value.id, true)
+ if (ruleForm.value.dataScopeDeptName == '网络媒体部' && activePriceType.value == '写字楼') officeBuildingRef.value.getMediaPrice(ruleForm.value.id, true)
+ if (ruleForm.value.dataScopeDeptName == '网络媒体部' && activePriceType.value == '车库灯箱') garageLightBoxRef.value.getMediaPrice(ruleForm.value.id, true)
})
}
// 选择商圈
@@ -707,11 +703,11 @@ const getMediaTypeThree = (value) => {
})
}
// 获取业务部门
-// const getDepList = () => {
-// listDept({ businessFlag: 1 }).then(response => {
-// deptList.value = response.data
-// })
-// }
+const getDepList = () => {
+ listDept({ businessFlag: 1 }).then(response => {
+ deptList.value = response.data
+ })
+}
// 查询条件获取供应商
const getSupplierList = (queryText) => {
if (queryText) {
@@ -857,12 +853,12 @@ const getMediaTypeThree2 = (value) => {
}
// 设置文件结果
-const handleSetMediaFile = (_fileType, _files) => {
+const handleSetMediaFile = (_fileType, _files) => {
// 先按类型去除旧的文件
- var cachFileList = mediaFile.value.filter(item => item.fileType !== _fileType);
+ var cachFileList = mediaFile.value.filter(item => item.fileType !== _fileType);
// 将新的文件追加进来
if (_files.length > 0) mediaFile.value = cachFileList.concat(_files)
- else mediaFile.value = cachFileList
+ else mediaFile.value = cachFileList
}
// 设置媒体价格
const handleSetCompetOfferMediaPrice = (mediaType, _priceList) => {
@@ -876,10 +872,10 @@ const handleSetCompetOfferMediaPrice = (mediaType, _priceList) => {
const handleSubmit = () => {
proxy.$refs["ruleFormRef"].validate(valid => {
if (valid) {
- if (businessTypeName.value == '优势媒体部') {
+ if (ruleForm.value.dataScopeDeptName == '优势媒体部') {
mediaFile.value = mediaFile.value.filter(item => [1, 2, 3, 5, 6, 7, 8, 9, 10, 11].includes(item.fileType))
ruleForm.value.mediaPrice = mediaPrice.value.filter(item => item.mediaType == 0)
- } else if (businessTypeName.value == '网络媒体部') {
+ } else if (ruleForm.value.dataScopeDeptName == '网络媒体部') {
mediaFile.value = mediaFile.value.filter(item => [4, 5, 6, 7, 12].includes(item.fileType))
ruleForm.value.mediaPrice = mediaPrice.value.filter(item => [1, 2, 3, 4, 5, 6, 7].includes(item.mediaType))
}
@@ -903,15 +899,22 @@ const handleSubmit = () => {
const handleClose = () => {
emit('handleShowList')
}
+
+// 获取供应商详情,设置供应商名称反渲染
+const getSupplierInfo = () => {
+ getBusSupplier(ruleForm.value.belongSupplierId).then(res => {
+ supplierList.value = [{ supplierId: res.data.supplierId, supplierName: res.data.supplierName }]
+ })
+}
// 获取媒体详情
const getMediaInfo = () => {
mediaDetail({ mediaId: ruleForm.value.id }).then(res => {
ruleForm.value = res.data
mediaFile.value = ruleForm.value.mediaFile
ruleForm.value.mediaCity = ruleForm.value.provinceName + '/' + ruleForm.value.cityName + '/' + ruleForm.value.areaName + '/' + ruleForm.value.townName
-
- latVal.value = ruleForm.value.mapY + ',' + ruleForm.value.mapX
- handleChangeDept(res.data.businessType)
+ if (ruleForm.value.mapY && ruleForm.value.mapX) latVal.value = ruleForm.value.mapY + ',' + ruleForm.value.mapX
+ if (ruleForm.value.belongSupplierId) getSupplierInfo()
+ handleChangeDept(res.data.dataScopeDeptId)
if (ruleForm.value.mediaFile && ruleForm.value.mediaFile.length > 0) {
if (approvalDocumentRef.value) {
const fileList = ruleForm.value.mediaFile.filter(item => item.fileType == 1)
@@ -997,9 +1000,8 @@ const initForm = (_formTitle, _ruleForm) => {
formTitle.value = _formTitle
ruleForm.value = _ruleForm
ruleForm.value.mediaCity = ruleForm.value.provinceName + '/' + ruleForm.value.cityName + '/' + ruleForm.value.areaName + '/' + ruleForm.value.townName
-
- latVal.value = ruleForm.value.mapY + ',' + ruleForm.value.mapX
- // getDepList()
+ if (ruleForm.value.mapY && ruleForm.value.mapX) latVal.value = ruleForm.value.mapY + ',' + ruleForm.value.mapX
+ getDepList()
getMediaTypeOne()
getProvinceList()
if (ruleForm.value.id) getMediaInfo()
diff --git a/src/views/mediaMap/index.vue b/src/views/mediaMap/index.vue
index 97da309..f6fd646 100644
--- a/src/views/mediaMap/index.vue
+++ b/src/views/mediaMap/index.vue
@@ -16,7 +16,7 @@
{{ item.name }}
{{
item.address
- }}
+ }}
@@ -77,6 +77,7 @@ const circleHandle = ref(null); // 拖拽手柄
// 选择地点展示框
const selectLoading = ref(false)
const localeList = ref([])
+const selectConfig = ref(null)
// 距离显示文本
const distanceLable = ref('请选择')
@@ -114,7 +115,8 @@ const resetQuery = () => {
// 选择的距离值
activeLableIndex.value = null
circleRadius.value = 2000; // 实际半径(米)
-
+ selectConfig.value = null
+
// 清除现有的圆形和标记
if (centerMarker.value) {
mapInstance.value.remove(centerMarker.value);
@@ -151,6 +153,7 @@ const getLocaleListList = (searchValue) => {
// 中心点选择
const currentSelect = (val) => {
console.log('val', val)
+ selectConfig.value = val
queryParams.value.keyword = val.name
queryParams.value.x = val.location.lng
queryParams.value.y = val.location.lat
@@ -366,8 +369,12 @@ const loadMap = () => {
// 添加缩放变化监听
mapInstance.value.on('zoomchange', handleZoomChange);
- // 在地图完全加载后执行点数据处理
- renderMassMarks();
+ if (selectConfig.value !== null) {
+ currentSelect(selectConfig.value)
+ } else {
+ // 在地图完全加载后执行点数据处理
+ renderMassMarks();
+ }
resolve();
@@ -427,6 +434,7 @@ const toggle2D3DMode = () => {
mapMode.value = '2D';
loadMap()
}
+
}
// 切换全屏模式
const toggleFullscreen = () => {
diff --git a/src/views/system/dept/index.vue b/src/views/system/dept/index.vue
index b5d6ab8..8f83a4d 100644
--- a/src/views/system/dept/index.vue
+++ b/src/views/system/dept/index.vue
@@ -85,8 +85,8 @@
-
-
+
+
diff --git a/src/views/system/role/authUser.vue b/src/views/system/role/authUser.vue
index 7e82f80..6a3d39a 100644
--- a/src/views/system/role/authUser.vue
+++ b/src/views/system/role/authUser.vue
@@ -47,7 +47,7 @@
-
+
{{ parseTime(scope.row.createTime) }}