diff --git a/src/router/index.js b/src/router/index.js
index cdb15d0..214eadc 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -89,6 +89,48 @@ export const constantRoutes = [
// 动态路由,基于用户权限动态去加载
export const dynamicRoutes = [
+ {
+ path: '/supplier/detailPage',
+ component: Layout,
+ hidden: true,
+ permissions: ['supplier:detail'],
+ children: [
+ {
+ path: ':supplierId(\\d+)',
+ component: () => import('@/views/supplier/linkSupplerDetail'),
+ name: 'linkSupplerDetail',
+ meta: { title: '供应商详情', activeMenu: '/supplier' }
+ }
+ ]
+ },
+ {
+ path: '/supplier/formPage',
+ component: Layout,
+ hidden: true,
+ permissions: ['supplier:update'],
+ children: [
+ {
+ path: ':supplierId(\\d+)',
+ component: () => import('@/views/supplier/linkSupplierForm'),
+ name: 'linkSupplierForm',
+ meta: { title: '供应商表单', activeMenu: '/supplier' }
+ }
+ ]
+ },
+ {
+ path: '/mediaLibrary/formPage',
+ component: Layout,
+ hidden: true,
+ permissions: ['mediaLibrary:update'],
+ children: [
+ {
+ path: ':mediaId(\\d+)',
+ component: () => import('@/views/mediaLibrary/linkMediaForm'),
+ name: 'linkMediaForm',
+ meta: { title: '媒体表单', activeMenu: '/mediaLibrary' }
+ }
+ ]
+ },
// {
// path: '/supplierForm',
// component: Layout,
diff --git a/src/views/index.vue b/src/views/index.vue
index 62459c4..8de1d04 100644
--- a/src/views/index.vue
+++ b/src/views/index.vue
@@ -51,7 +51,8 @@
- -
+
-
{{ notice.noticeTitle }}
@@ -114,7 +115,11 @@ const handleGoMediaMap = () => {
const handleGoSupplierManage = () => {
router.push('/supplier')
}
-
+// 通知跳转
+const handleGoFormManage = (businessId, businessType) => {
+ if (businessType == 1) router.push('/supplier/formPage/' + businessId)
+ if (businessType == 2) router.push('/mediaLibrary/formPage/' + businessId)
+}
// 打开媒体库管理
const handleGoMediaLibary = () => {
router.push('/mediaLibrary')
diff --git a/src/views/mediaLibrary/exportDialog.vue b/src/views/mediaLibrary/exportDialog.vue
index b87ac73..81bb6e1 100644
--- a/src/views/mediaLibrary/exportDialog.vue
+++ b/src/views/mediaLibrary/exportDialog.vue
@@ -72,6 +72,7 @@ import { mediaExcelBaseField, mediaExcelPriceField, exportMediaExcel } from "@/a
const exportTitle = ref('导出')
const exportOpen = ref(false)
const activeName = ref('first')
+const curDeptIds = ref(null)
// 导出提交信息
const exportForm = ref({
@@ -86,6 +87,7 @@ const baseFieldCheckAll = ref(false)
const baseFieldIsIndeterminate = ref(true)
// 基础字段
const baseFields = ref([])
+const _baseFields = ref(null)
// 已选择的基础字段
const checkedBaseFields = ref([])
@@ -94,6 +96,7 @@ const priceFieldCheckAll = ref(false)
const priceFieldIsIndeterminate = ref(true)
// 报价字段
const priceFields = ref([])
+const _priceFields = ref(null)
// 已选择的报价字段
const checkedPriceFields = ref([])
@@ -181,18 +184,44 @@ const getCurrentTime = () => {
// 获取基础信息字段
const getMediaExcelBaseField = () => {
mediaExcelBaseField().then(res => {
- baseFields.value = res.data
+ if (curDeptIds.value && curDeptIds.value.length == 2) baseFields.value = res.data
+ else if (curDeptIds.value && curDeptIds.value.length == 1) {
+ if (curDeptIds.value[0] == '219') {
+ // 网络媒体
+ _baseFields.value = "媒体名称,媒体类型,媒体大类,展示形式,省,市,区,镇,商圈,地址,经度,纬度,状态,废除原因, 部门"
+ } else {
+ _baseFields.value = "媒体名称,媒体类型,媒体大类,展示形式,是否照明,播放时间,媒体尺寸,mr,日均车流量,媒体朝向,省,市,区,镇,商圈,地址,经度,纬度,最小购买周期,首次制作安装费,换刊制作安装费,状态,废除原因, 部门"
+ }
+ baseFields.value = [...new Set( // 去重
+ res.data.filter(item => _baseFields.value.includes(item.displayName))
+ )];
+ }
})
}
// 获取报价信息字段
const getMediaExcelPriceField = () => {
mediaExcelPriceField().then(res => {
- priceFields.value = res.data
+ if (curDeptIds.value && curDeptIds.value.length == 2) priceFields.value = res.data
+ else if (curDeptIds.value && curDeptIds.value.length == 1) {
+ if (curDeptIds.value[0] == '219') {
+ // 网络媒体
+ _priceFields.value = "年份,媒体大类,实际购买频次,是否框内,制作成本,供应商,项目名称"
+ priceFields.value = [...new Set( // 去重
+ res.data.filter(item => !_priceFields.value.includes(item.displayName))
+ )];
+ } else {
+ _priceFields.value = "年份,城市/市场,媒体大类,媒体名称,频次,刊例价,刊例价单位,实际购买频次,实际购买刊例价,购买周期,折扣,媒体总净价,总制作费,总净价,单日覆盖人流量,SOV,CPM,备注,是否框内,成本,制作成本,供应商,项目名称"
+ priceFields.value = [...new Set( // 去重
+ res.data.filter(item => _priceFields.value.includes(item.displayName))
+ )];
+ }
+ }
})
}
// 初始化
-const initExportExcel = (_mediaIds) => {
+const initExportExcel = (_mediaIds, _curDeptIds) => {
exportForm.value.ids = _mediaIds
+ curDeptIds.value = _curDeptIds
exportOpen.value = true
getMediaExcelBaseField()
getMediaExcelPriceField()
diff --git a/src/views/mediaLibrary/index.vue b/src/views/mediaLibrary/index.vue
index 4b89dce..0438636 100644
--- a/src/views/mediaLibrary/index.vue
+++ b/src/views/mediaLibrary/index.vue
@@ -606,7 +606,8 @@ const handleExportExcel = () => {
return false
}
const mediaIds = multipleChoseArr.value.map(item => item.id);
- exportDialogRef.value.initExportExcel(mediaIds)
+ const uniqueDeptIds = [...new Set(multipleChoseArr.value.map(item => item.dataScopeDeptId))];
+ exportDialogRef.value.initExportExcel(mediaIds, uniqueDeptIds)
}
/** 导出PPT按钮操作 */
const handleExportPPT = (tempId) => {
diff --git a/src/views/mediaLibrary/linkMediaForm.vue b/src/views/mediaLibrary/linkMediaForm.vue
new file mode 100644
index 0000000..96f20dd
--- /dev/null
+++ b/src/views/mediaLibrary/linkMediaForm.vue
@@ -0,0 +1,26 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/mediaLibrary/mediaDetail.vue b/src/views/mediaLibrary/mediaDetail.vue
index 84f269e..896d8ff 100644
--- a/src/views/mediaLibrary/mediaDetail.vue
+++ b/src/views/mediaLibrary/mediaDetail.vue
@@ -91,11 +91,22 @@
-
+
{{ detailForm.mediaOrientation }}
+
+
+
+
+ {{ detailForm.belongSupplierName }}
+
+
+
@@ -182,7 +193,7 @@
- {{ detailForm.belongSupplierName }}
+ {{ detailForm.belongName }}
@@ -459,10 +470,9 @@ import highSpeedRailway from './components/highSpeedRailway.vue'
import officeBuilding from './components/officeBuilding.vue'
import garageLightBox from './components/garageLightBox.vue'
import supplierDetailFile from '../../components/FileUpload/supplierDetailFile.vue';
-import { useBackgroundStore } from '@/store/modules/background'
-import otherbg from '@/assets/images/otherbg.png'
-const bgStore = useBackgroundStore()
+import { useRouter } from 'vue-router'
+const router = useRouter()
const { proxy } = getCurrentInstance()
const emit = defineEmits(['handleShowList']);
// 详情参数
@@ -599,6 +609,10 @@ const getMediaInfo = () => {
})
}
+// 打开供应商详情
+const handleOpenSupplierDetail = (supplierId) => {
+ router.push('/supplier/detailPage/' + supplierId)
+}
const initForm = (_ruleForm) => {
detailForm.value = _ruleForm
if (detailForm.value.id) getMediaInfo()
diff --git a/src/views/mediaLibrary/mediaForm.vue b/src/views/mediaLibrary/mediaForm.vue
index 93c9889..4c7239b 100644
--- a/src/views/mediaLibrary/mediaForm.vue
+++ b/src/views/mediaLibrary/mediaForm.vue
@@ -35,6 +35,36 @@
+
+
+
+
+
+
+
+
+
+
@@ -149,16 +179,6 @@
-