修复媒体新建、编辑、详情异常

This commit is contained in:
wangchengming 2025-09-10 23:07:21 +08:00
parent 8233806112
commit 20b69ec670
12 changed files with 317 additions and 205 deletions

View File

@ -1,6 +1,7 @@
<!-- 门禁报价 -->
<template>
<el-button type="primary" class="submitBtn" v-show="showOptionColumn" style="margin-bottom: 10px;" @click="handleAddPrice">添加报价信息</el-button>
<el-button type="primary" class="submitBtn" v-show="showOptionColumn" style="margin-bottom: 10px;"
@click="handleAddPrice">添加报价信息</el-button>
<el-table v-loading="loading" :data="quotationList" height="362px">
<el-table-column label="序号" align="center" width="80">
<template #default="scope">
@ -32,19 +33,21 @@
<el-table-column label="AB面划分" align="center" prop="ab" width="150" />
<!-- <el-table-column label="录入人员" align="center" prop="postCode" width="150" />
<el-table-column label="录入时间" align="center" prop="postCode" width="150" /> -->
<el-table-column label="操作" width="56" align="center" fixed="right" v-show="showOptionColumn">
<template #default="scope">
<el-popover popper-class="my_popover" placement="left-start">
<div class="popBtns" @click="handleUpdate(scope.$index, scope.row)">修改</div>
<div class="popBtns" @click="handleDelete(scope.$index)">删除</div>
<template #reference>
<img style="cursor: pointer;" :src="scope.row.currentImageSrc"
@mouseenter="scope.row.currentImageSrc = hoverImageSrc"
@mouseleave="scope.row.currentImageSrc = defaultImageSrc" />
</template>
</el-popover>
</template>
</el-table-column>
<template v-if="showOptionColumn">
<el-table-column label="操作" width="56" align="center" fixed="right">
<template #default="scope">
<el-popover popper-class="my_popover" placement="left-start">
<div class="popBtns" @click="handleUpdate(scope.$index, scope.row)">修改</div>
<div class="popBtns" @click="handleDelete(scope.$index)">删除</div>
<template #reference>
<img style="cursor: pointer;" :src="scope.row.currentImageSrc"
@mouseenter="scope.row.currentImageSrc = hoverImageSrc"
@mouseleave="scope.row.currentImageSrc = defaultImageSrc" />
</template>
</el-popover>
</template>
</el-table-column>
</template>
</el-table>
<!-- 报价表单 -->
@ -267,7 +270,10 @@ const getMediaPrice = (_mediaId, _showOptionColumn) => {
if (_mediaId) {
mediaPrice({ mediaId: _mediaId }).then(res => {
console.log('历史报价', res)
quotationList.value = res.data.filter(item => item.fileType == 1)
quotationList.value = res.data.filter(item => item.mediaType == 1)
quotationList.value.forEach(element => {
element.currentImageSrc = defaultImageSrc.value
});
})
}
}

View File

@ -29,19 +29,21 @@
<el-table-column label="备注" align="center" prop="remark" width="150" />
<!-- <el-table-column label="录入人员" align="center" prop="postCode" width="150" />
<el-table-column label="录入时间" align="center" prop="postCode" width="150" /> -->
<el-table-column label="操作" width="56" align="center" fixed="right" v-show="showOptionColumn">
<template #default="scope">
<el-popover popper-class="my_popover" placement="left-start">
<div class="popBtns" @click="handleUpdate(scope.$index, scope.row)">修改</div>
<div class="popBtns" @click="handleDelete(scope.$index)">删除</div>
<template #reference>
<img style="cursor: pointer;" :src="scope.row.currentImageSrc"
@mouseenter="scope.row.currentImageSrc = hoverImageSrc"
@mouseleave="scope.row.currentImageSrc = defaultImageSrc" />
</template>
</el-popover>
</template>
</el-table-column>
<template v-if="showOptionColumn">
<el-table-column label="操作" width="56" align="center" fixed="right">
<template #default="scope">
<el-popover popper-class="my_popover" placement="left-start">
<div class="popBtns" @click="handleUpdate(scope.$index, scope.row)">修改</div>
<div class="popBtns" @click="handleDelete(scope.$index)">删除</div>
<template #reference>
<img style="cursor: pointer;" :src="scope.row.currentImageSrc"
@mouseenter="scope.row.currentImageSrc = hoverImageSrc"
@mouseleave="scope.row.currentImageSrc = defaultImageSrc" />
</template>
</el-popover>
</template>
</el-table-column>
</template>
</el-table>
<!-- 报价表单 -->
@ -246,7 +248,10 @@ const getMediaPrice = (_mediaId, _showOptionColumn) => {
if (_mediaId) {
mediaPrice({ mediaId: _mediaId }).then(res => {
console.log('历史报价', res)
quotationList.value = res.data.filter(item => item.fileType == 3)
quotationList.value = res.data.filter(item => item.mediaType == 3)
quotationList.value.forEach(element => {
element.currentImageSrc = defaultImageSrc.value
});
})
}
}

View File

@ -1,6 +1,7 @@
<!-- 优势媒体报价 -->
<template>
<el-button type="primary" class="submitBtn" v-show="showOptionColumn" style="margin-bottom: 10px;" @click="handleAddPrice">添加报价信息</el-button>
<el-button type="primary" class="submitBtn" v-show="showOptionColumn" style="margin-bottom: 10px;"
@click="handleAddPrice">添加报价信息</el-button>
<el-table v-loading="loading" :data="quotationList" height="362px">
<el-table-column label="序号" align="center" width="60">
<template #default="scope">
@ -37,19 +38,21 @@
<el-table-column label="项目名称" align="left" prop="projectName" width="150" />
<!-- <el-table-column label="录入人员" align="center" prop="postCode" width="150" />
<el-table-column label="录入时间" align="center" prop="postCode" width="150" /> -->
<el-table-column label="操作" width="56" align="center" fixed="right" v-show="showOptionColumn">
<template #default="scope">
<el-popover popper-class="my_popover" placement="left-start">
<div class="popBtns" @click="handleUpdate(scope.$index, scope.row)">修改</div>
<div class="popBtns" @click="handleDelete(scope.$index)">删除</div>
<template #reference>
<img style="cursor: pointer;" :src="scope.row.currentImageSrc"
@mouseenter="scope.row.currentImageSrc = hoverImageSrc"
@mouseleave="scope.row.currentImageSrc = defaultImageSrc" />
</template>
</el-popover>
</template>
</el-table-column>
<template v-if="showOptionColumn">
<el-table-column label="操作" width="56" align="center" fixed="right" >
<template #default="scope">
<el-popover popper-class="my_popover" placement="left-start">
<div class="popBtns" @click="handleUpdate(scope.$index, scope.row)">修改</div>
<div class="popBtns" @click="handleDelete(scope.$index)">删除</div>
<template #reference>
<img style="cursor: pointer;" :src="scope.row.currentImageSrc"
@mouseenter="scope.row.currentImageSrc = hoverImageSrc"
@mouseleave="scope.row.currentImageSrc = defaultImageSrc" />
</template>
</el-popover>
</template>
</el-table-column>
</template>
</el-table>
<!-- 报价表单 -->
@ -276,11 +279,16 @@ const handleSubmit = () => {
}
//
const getMediaPrice = (_mediaId, _showOptionColumn) => {
console.log('进来了?', _mediaId, _showOptionColumn)
showOptionColumn.value = _showOptionColumn
if (_mediaId) {
mediaPrice({ mediaId: _mediaId }).then(res => {
console.log('历史报价', res)
quotationList.value = res.data.filter(item => item.fileType == 0)
quotationList.value = res.data.filter(item => item.mediaType == 0)
quotationList.value.forEach(element => {
element.currentImageSrc = defaultImageSrc.value
});
console.log('历史报价结果', quotationList.value)
})
}
}

View File

@ -31,19 +31,21 @@
<el-table-column label="备注" align="center" prop="remark" width="150" />
<!-- <el-table-column label="录入人员" align="center" prop="postCode" width="150" />
<el-table-column label="录入时间" align="center" prop="postCode" width="150" /> -->
<el-table-column label="操作" width="56" align="center" fixed="right" v-show="showOptionColumn">
<template #default="scope">
<el-popover popper-class="my_popover" placement="left-start">
<div class="popBtns" @click="handleUpdate(scope.$index, scope.row)">修改</div>
<div class="popBtns" @click="handleDelete(scope.$index)">删除</div>
<template #reference>
<img style="cursor: pointer;" :src="scope.row.currentImageSrc"
@mouseenter="scope.row.currentImageSrc = hoverImageSrc"
@mouseleave="scope.row.currentImageSrc = defaultImageSrc" />
</template>
</el-popover>
</template>
</el-table-column>
<template v-if="showOptionColumn">
<el-table-column label="操作" width="56" align="center" fixed="right">
<template #default="scope">
<el-popover popper-class="my_popover" placement="left-start">
<div class="popBtns" @click="handleUpdate(scope.$index, scope.row)">修改</div>
<div class="popBtns" @click="handleDelete(scope.$index)">删除</div>
<template #reference>
<img style="cursor: pointer;" :src="scope.row.currentImageSrc"
@mouseenter="scope.row.currentImageSrc = hoverImageSrc"
@mouseleave="scope.row.currentImageSrc = defaultImageSrc" />
</template>
</el-popover>
</template>
</el-table-column>
</template>
</el-table>
<!-- 报价表单 -->
@ -259,7 +261,10 @@ const getMediaPrice = (_mediaId, _showOptionColumn) => {
if (_mediaId) {
mediaPrice({ mediaId: _mediaId }).then(res => {
console.log('历史报价', res)
quotationList.value = res.data.filter(item => item.fileType == 7)
quotationList.value = res.data.filter(item => item.mediaType == 7)
quotationList.value.forEach(element => {
element.currentImageSrc = defaultImageSrc.value
});
})
}
}

View File

@ -30,19 +30,21 @@
<el-table-column label="备注" align="center" prop="remark" width="150" />
<!-- <el-table-column label="录入人员" align="center" prop="postCode" width="150" />
<el-table-column label="录入时间" align="center" prop="postCode" width="150" /> -->
<el-table-column label="操作" width="56" align="center" fixed="right" v-show="showOptionColumn">
<template #default="scope">
<el-popover popper-class="my_popover" placement="left-start">
<div class="popBtns" @click="handleUpdate(scope.$index, scope.row)">修改</div>
<div class="popBtns" @click="handleDelete(scope.$index)">删除</div>
<template #reference>
<img style="cursor: pointer;" :src="scope.row.currentImageSrc"
@mouseenter="scope.row.currentImageSrc = hoverImageSrc"
@mouseleave="scope.row.currentImageSrc = defaultImageSrc" />
</template>
</el-popover>
</template>
</el-table-column>
<template v-if="showOptionColumn">
<el-table-column label="操作" width="56" align="center" fixed="right">
<template #default="scope">
<el-popover popper-class="my_popover" placement="left-start">
<div class="popBtns" @click="handleUpdate(scope.$index, scope.row)">修改</div>
<div class="popBtns" @click="handleDelete(scope.$index)">删除</div>
<template #reference>
<img style="cursor: pointer;" :src="scope.row.currentImageSrc"
@mouseenter="scope.row.currentImageSrc = hoverImageSrc"
@mouseleave="scope.row.currentImageSrc = defaultImageSrc" />
</template>
</el-popover>
</template>
</el-table-column>
</template>
</el-table>
<!-- 报价表单 -->
@ -253,7 +255,10 @@ const getMediaPrice = (_mediaId, _showOptionColumn) => {
if (_mediaId) {
mediaPrice({ mediaId: _mediaId }).then(res => {
console.log('历史报价', res)
quotationList.value = res.data.filter(item => item.fileType == 5)
quotationList.value = res.data.filter(item => item.mediaType == 5)
quotationList.value.forEach(element => {
element.currentImageSrc = defaultImageSrc.value
});
})
}
}

View File

@ -31,19 +31,21 @@
<el-table-column label="备注" align="center" prop="remark" width="150" />
<!-- <el-table-column label="录入人员" align="center" prop="postCode" width="150" />
<el-table-column label="录入时间" align="center" prop="postCode" width="150" /> -->
<el-table-column label="操作" width="56" align="center" fixed="right" v-show="showOptionColumn">
<template #default="scope">
<el-popover popper-class="my_popover" placement="left-start">
<div class="popBtns" @click="handleUpdate(scope.$index, scope.row)">修改</div>
<div class="popBtns" @click="handleDelete(scope.$index)">删除</div>
<template #reference>
<img style="cursor: pointer;" :src="scope.row.currentImageSrc"
@mouseenter="scope.row.currentImageSrc = hoverImageSrc"
@mouseleave="scope.row.currentImageSrc = defaultImageSrc" />
</template>
</el-popover>
</template>
</el-table-column>
<template v-if="showOptionColumn">
<el-table-column label="操作" width="56" align="center" fixed="right">
<template #default="scope">
<el-popover popper-class="my_popover" placement="left-start">
<div class="popBtns" @click="handleUpdate(scope.$index, scope.row)">修改</div>
<div class="popBtns" @click="handleDelete(scope.$index)">删除</div>
<template #reference>
<img style="cursor: pointer;" :src="scope.row.currentImageSrc"
@mouseenter="scope.row.currentImageSrc = hoverImageSrc"
@mouseleave="scope.row.currentImageSrc = defaultImageSrc" />
</template>
</el-popover>
</template>
</el-table-column>
</template>
</el-table>
<!-- 报价表单 -->
@ -259,7 +261,10 @@ const getMediaPrice = (_mediaId, _showOptionColumn) => {
if (_mediaId) {
mediaPrice({ mediaId: _mediaId }).then(res => {
console.log('历史报价', res)
quotationList.value = res.data.filter(item => item.fileType == 6)
quotationList.value = res.data.filter(item => item.mediaType == 6)
quotationList.value.forEach(element => {
element.currentImageSrc = defaultImageSrc.value
});
})
}
}

View File

@ -45,19 +45,21 @@
<el-table-column label="备注" align="center" prop="remark" width="150" />
<!-- <el-table-column label="录入人员" align="center" prop="postCode" width="150" />
<el-table-column label="录入时间" align="center" prop="postCode" width="150" /> -->
<el-table-column label="操作" width="56" align="center" fixed="right" v-show="showOptionColumn">
<template #default="scope">
<el-popover popper-class="my_popover" placement="left-start">
<div class="popBtns" @click="handleUpdate(scope.$index, scope.row)">修改</div>
<div class="popBtns" @click="handleDelete(scope.$index)">删除</div>
<template #reference>
<img style="cursor: pointer;" :src="scope.row.currentImageSrc"
@mouseenter="scope.row.currentImageSrc = hoverImageSrc"
@mouseleave="scope.row.currentImageSrc = defaultImageSrc" />
</template>
</el-popover>
</template>
</el-table-column>
<template v-if="showOptionColumn">
<el-table-column label="操作" width="56" align="center" fixed="right">
<template #default="scope">
<el-popover popper-class="my_popover" placement="left-start">
<div class="popBtns" @click="handleUpdate(scope.$index, scope.row)">修改</div>
<div class="popBtns" @click="handleDelete(scope.$index)">删除</div>
<template #reference>
<img style="cursor: pointer;" :src="scope.row.currentImageSrc"
@mouseenter="scope.row.currentImageSrc = hoverImageSrc"
@mouseleave="scope.row.currentImageSrc = defaultImageSrc" />
</template>
</el-popover>
</template>
</el-table-column>
</template>
</el-table>
@ -358,7 +360,10 @@ const getMediaPrice = (_mediaId, _showOptionColumn) => {
if (_mediaId) {
mediaPrice({ mediaId: _mediaId }).then(res => {
console.log('历史报价', res)
quotationList.value = res.data.filter(item => item.fileType == 4)
quotationList.value = res.data.filter(item => item.mediaType == 4)
quotationList.value.forEach(element => {
element.currentImageSrc = defaultImageSrc.value
});
})
}
}

View File

@ -42,19 +42,21 @@
<el-table-column label="备注" align="center" prop="remark" width="150" />
<!-- <el-table-column label="录入人员" align="center" prop="postCode" width="150" />
<el-table-column label="录入时间" align="center" prop="postCode" width="150" /> -->
<el-table-column label="操作" width="56" align="center" fixed="right" v-show="showOptionColumn">
<template #default="scope">
<el-popover popper-class="my_popover" placement="left-start">
<div class="popBtns" @click="handleUpdate(scope.$index, scope.row)">修改</div>
<div class="popBtns" @click="handleDelete(scope.$index)">删除</div>
<template #reference>
<img style="cursor: pointer;" :src="scope.row.currentImageSrc"
@mouseenter="scope.row.currentImageSrc = hoverImageSrc"
@mouseleave="scope.row.currentImageSrc = defaultImageSrc" />
</template>
</el-popover>
</template>
</el-table-column>
<template v-if="showOptionColumn">
<el-table-column label="操作" width="56" align="center" fixed="right">
<template #default="scope">
<el-popover popper-class="my_popover" placement="left-start">
<div class="popBtns" @click="handleUpdate(scope.$index, scope.row)">修改</div>
<div class="popBtns" @click="handleDelete(scope.$index)">删除</div>
<template #reference>
<img style="cursor: pointer;" :src="scope.row.currentImageSrc"
@mouseenter="scope.row.currentImageSrc = hoverImageSrc"
@mouseleave="scope.row.currentImageSrc = defaultImageSrc" />
</template>
</el-popover>
</template>
</el-table-column>
</template>
</el-table>
<!-- 报价表单 -->
@ -319,7 +321,10 @@ const getMediaPrice = (_mediaId, _showOptionColumn) => {
if (_mediaId) {
mediaPrice({ mediaId: _mediaId }).then(res => {
console.log('历史报价', res)
quotationList.value = res.data.filter(item => item.fileType == 2)
quotationList.value = res.data.filter(item => item.mediaType == 2)
quotationList.value.forEach(element => {
element.currentImageSrc = defaultImageSrc.value
});
})
}
}

View File

@ -113,8 +113,8 @@
<el-row :gutter="10" class="my_row"><el-col :span="8">
<el-form :model="queryParams" :inline="true" class="searchInputForm">
<el-form-item label="">
<el-input v-model="queryParams.mediaName" placeholder="请输入媒体名称/媒体编号"
:prefix-icon="Search" style="width: 400px;" />
<el-input v-model="queryParams.keyword" placeholder="请输入媒体名称/媒体编号" :prefix-icon="Search"
style="width: 400px;" />
</el-form-item>
</el-form>
</el-col>
@ -159,9 +159,10 @@
<el-table-column label="媒体名称" align="left" prop="mediaName" width="320">
<template #default="scope">
<el-popover popper-class="myImg_popover" placement="right-start">
<img :src="otherbg" />
<img v-if="scope.row.mediaFileList.length > 0"
:src="baseUrl + scope.row.mediaFileList[0].fileName" />
<template #reference>
<span class="mediaNameLabel" @click="handleOpenDetail(scope.row.id)">{{
<span class="mediaNameLabel" @click="handleOpenDetail(scope.row)">{{
scope.row.mediaName
}}</span>
</template>
@ -169,11 +170,16 @@
</template>
</el-table-column>
<el-table-column label="媒体编号" align="left" prop="postCode" width="150" />
<el-table-column label="媒体大类" align="left" prop="postCode" width="150" />
<el-table-column label="商圈" align="left" prop="postCode" width="150" />
<el-table-column label="展示形式" align="left" prop="postCode" width="150" />
<el-table-column label="业务部门" align="left" prop="postCode" width="150" />
<el-table-column label="媒体编号" align="left" prop="mediaCode" width="150" />
<el-table-column label="媒体大类" align="left" prop="mediaCategoryStr" width="150" />
<el-table-column label="商圈" align="left" prop="businessDistrictName" width="150" />
<el-table-column label="展示形式" align="left" prop="displayFormStr" width="150" />
<el-table-column label="业务部门" align="left" prop="businessType" width="150">
<template #default="scope">
<span v-if="scope.row.state == 1">优势媒体部</span>
<span v-if="scope.row.state == 2">网络媒体部</span>
</template>
</el-table-column>
<el-table-column label="刊例照片" align="center" prop="cataloguePhoto" width="90">
<template #default="scope">
<img style="cursor: pointer;" :src="scope.row.currentCataloguePhotoSrc"
@ -206,9 +212,14 @@
@click="handleViewPhoto" />
</template>
</el-table-column>
<el-table-column label="创建人" align="center" prop="postCode" width="150" />
<el-table-column label="创建时间" align="center" prop="postCode" width="150" />
<el-table-column label="状态" align="center" prop="postCode" width="150" />
<el-table-column label="创建人" align="center" prop="createBy" width="150" />
<el-table-column label="创建时间" align="center" prop="createTime" width="150" />
<el-table-column label="状态" align="center" prop="state" width="150">
<template #default="scope">
<span v-if="scope.row.state == 1">生效中</span>
<span v-if="scope.row.state == 2">已作废</span>
</template>
</el-table-column>
<el-table-column label="操作" width="58" align="center" fixed="right">
<template #default="scope">
<el-popover popper-class="my_popover" placement="left-start">
@ -338,6 +349,7 @@ const bgStore = useBackgroundStore()
const { proxy } = getCurrentInstance()
const { media_status } = proxy.useDict("media_status")
const baseUrl = import.meta.env.VITE_APP_BASE_API
//
const province = ref([])
const city = ref([])
@ -369,15 +381,13 @@ const data = reactive({
queryParams: {
pageNum: 1,
pageSize: 10,
keyword: undefined,
mediaType: undefined,
mediaCategory: undefined,
displayForm: undefined,
belongSupplierId: undefined,
businessType: undefined,
state: undefined,
mediaType: undefined,
mediaCategory: undefined,
provinceCode: undefined,
cityCode: undefined,
areaCode: undefined,
@ -557,6 +567,22 @@ const handleQuery = () => {
/** 重置按钮操作 */
const resetQuery = () => {
queryParams.value = {
pageNum: 1,
pageSize: 10,
keyword: undefined,
mediaType: undefined,
mediaCategory: undefined,
displayForm: undefined,
belongSupplierId: undefined,
businessType: undefined,
state: undefined,
provinceCode: undefined,
cityCode: undefined,
areaCode: undefined,
townCode: undefined,
businessDistrictId: undefined
}
handleQuery()
}
@ -585,10 +611,10 @@ const handleUpdate = (row) => {
})
}
//
const handleOpenDetail = (_mediaId) => {
const handleOpenDetail = (row) => {
showDetail.value = true
nextTick(() => {
mediaDetailRef.value.getMediaInfo(_mediaId)
mediaDetailRef.value.initForm(row)
})
}
//
@ -614,7 +640,7 @@ const handleCloseLogs = () => {
}
//
const handleAbolish = (row) => {
abolishRef.value.abolishOpen.openDialog(row.id)
if (scope.row.state == 1) abolishRef.value.openDialog(row.id)
}
//
const handleHistoryChart = (row) => {

View File

@ -9,7 +9,7 @@
</div>
</template>
<el-form ref="ruleFormRef" :model="detailForm" label-width="200px" class="myDetailForm">
<el-form ref="detailFormRef" :model="detailForm" label-width="200px" class="myDetailForm">
<div class="supplierTitleContainer">
<div class="supplierNameIcon" />
<div class="supplierNameTitle">{{ detailForm.mediaName }}</div>
@ -19,7 +19,7 @@
<el-row :gutter="30" class="my_form_row">
<el-col :span="6">
<el-form-item label="业务部门" prop="business">
{{ detailForm.businessType }}
{{ businessTypeName }}
</el-form-item>
</el-col>
</el-row>
@ -28,7 +28,8 @@
<el-row :gutter="30" class="my_form_row">
<el-col :span="6">
<el-form-item label="状态" prop="business_department">
{{ detailForm.state }}
<span v-if="detailForm.state == 1">生效中</span>
<span v-if="detailForm.state == 2">已作废</span>
</el-form-item>
</el-col>
<el-col :span="6">
@ -59,14 +60,14 @@
{{ detailForm.displayFormStr }}
</el-form-item>
</el-col>
<el-col :span="6" v-if="detailForm.business == '优势媒体部'">
<el-col :span="6" v-if="businessTypeName == '优势媒体部'">
<el-form-item label="是否有照明" prop="business_department">
{{ detailForm.hasLighting }}
</el-form-item>
</el-col>
</el-row>
<div class="splineBar" />
<el-row :gutter="30" class="my_form_row" v-if="detailForm.business == '优势媒体部'">
<el-row :gutter="30" class="my_form_row" v-if="businessTypeName == '优势媒体部'">
<el-col :span="6">
<el-form-item label="播放时间" prop="business_department">
{{ detailForm.playbackTime }}
@ -88,19 +89,22 @@
</el-form-item>
</el-col>
</el-row>
<div class="splineBar" v-if="detailForm.business == '优势媒体部门'" />
<el-row :gutter="30" class="my_form_row" v-if="detailForm.business == '优势媒体部'">
<div class="splineBar" v-if="businessTypeName == '优势媒体部'" />
<el-row :gutter="30" class="my_form_row" v-if="businessTypeName == '优势媒体部'">
<el-col :span="24">
<el-form-item label="媒体朝向" prop="business_department">
{{ detailForm.mediaOrientation }}
</el-form-item>
</el-col>
</el-row>
<div class="splineBar" v-if="detailForm.business == '优势媒体部门'" />
<div class="splineBar" v-if="businessTypeName == '优势媒体部'" />
<el-row :gutter="30" class="my_form_row">
<el-col :span="18">
<el-form-item label="城市" prop="business_department">
{{ detailForm.provinceName }}
<span v-if="detailForm.provinceName">{{ detailForm.provinceName }}</span>
<span v-if="detailForm.cityName">-{{ detailForm.cityName }}</span>
<span v-if="detailForm.areaName">-{{ detailForm.areaName }}</span>
<span v-if="detailForm.townName">-{{ detailForm.townName }}</span>
</el-form-item>
</el-col>
<el-col :span="6">
@ -121,12 +125,12 @@
<el-row :gutter="30" class="my_form_row">
<el-col :span="24">
<el-form-item label="地理位置">
{{ detailForm.mapX }},{{ detailForm.mapY }}
{{ detailForm.mapY }},{{ detailForm.mapX }}
</el-form-item>
</el-col>
</el-row>
<div class="splineBar" v-if="detailForm.business == '优势媒体部门'" />
<el-row :gutter="30" class="my_form_row" v-if="detailForm.business == '优势媒体部'">
<div class="splineBar" v-if="businessTypeName == '优势媒体部'" />
<el-row :gutter="30" class="my_form_row" v-if="businessTypeName == '优势媒体部'">
<el-col :span="6">
<el-form-item label="最小购买周期">
{{ detailForm.minPurchaseCycle }}
@ -145,10 +149,10 @@
</el-row>
</el-collapse-item>
<el-collapse-item title="媒体报价信息" name="3">
<div v-if="detailForm.business == '优势媒体部'">
<div v-if="businessTypeName == '优势媒体部'">
<competitiveOffer ref="competitiveOfferRef" />
</div>
<div v-if="detailForm.business == '网络媒体部'">
<div v-if="businessTypeName == '网络媒体部'">
<el-tabs v-model="activePriceType" @tab-click="handlePriceTypeClick">
<el-tab-pane label="门禁" name="门禁">
<accessControlPrice ref="accessControlPriceRef" />
@ -198,7 +202,7 @@
</el-col>
</el-row>
<div class="splineBar" />
<el-row :gutter="30" class="my_form_row" v-if="detailForm.business == '优势媒体部'">
<el-row :gutter="30" class="my_form_row" v-if="businessTypeName == '优势媒体部'">
<el-col :span="6">
<el-form-item label="发票类型">
{{ detailForm.invoiceType }}
@ -220,8 +224,8 @@
</el-form-item>
</el-col>
</el-row>
<div class="splineBar" v-if="detailForm.business == '优势媒体部门'" />
<el-row :gutter="30" class="my_form_row" v-if="detailForm.business == '优势媒体部'">
<div class="splineBar" v-if="businessTypeName == '优势媒体部'" />
<el-row :gutter="30" class="my_form_row" v-if="businessTypeName == '优势媒体部'">
<el-col :span="6">
<el-form-item label="物业公司名称" prop="business">
{{ detailForm.propertyCompanyName }}
@ -243,8 +247,8 @@
</el-form-item>
</el-col>
</el-row>
<div class="splineBar" v-if="detailForm.business == '优势媒体部门'" />
<el-row :gutter="30" class="my_form_row" v-if="detailForm.business == '优势媒体部'">
<div class="splineBar" v-if="businessTypeName == '优势媒体部'" />
<el-row :gutter="30" class="my_form_row" v-if="businessTypeName == '优势媒体部'">
<el-col :span="6">
<el-form-item label="媒体独家授权" prop="business">
{{ detailForm.soleAgentAuth }}
@ -266,15 +270,15 @@
</el-form-item>
</el-col>
</el-row>
<div class="splineBar" v-if="detailForm.business == '优势媒体部门'" />
<el-row :gutter="30" class="my_form_row" v-if="detailForm.business == '优势媒体部'">
<div class="splineBar" v-if="businessTypeName == '优势媒体部'" />
<el-row :gutter="30" class="my_form_row" v-if="businessTypeName == '优势媒体部'">
<el-col :span="24">
<el-form-item label="行业限制" prop="business">
{{ detailForm.industryLimit }}
</el-form-item>
</el-col>
</el-row>
<div class="splineBar" v-if="detailForm.business == '优势媒体部门'" />
<div class="splineBar" v-if="businessTypeName == '优势媒体部'" />
<el-row :gutter="30" class="my_form_row">
<el-col :span="24">
<el-form-item label="媒体曾经经营公司" prop="business">
@ -307,14 +311,14 @@
</el-col>
</el-row>
<div class="splineBar" />
<el-row :gutter="30" class="my_form_row" v-if="detailForm.business == '网络媒体部'">
<el-row :gutter="30" class="my_form_row" v-if="businessTypeName == '网络媒体部'">
<el-col :span="24">
<el-form-item label="同类媒体公司" prop="business">
{{ detailForm.equalsMediaCompany }}
</el-form-item>
</el-col>
</el-row>
<div class="splineBar" v-if="detailForm.business == '网络媒体部门'" />
<div class="splineBar" v-if="businessTypeName == '网络媒体部'" />
<el-row :gutter="30" class="my_form_row">
<el-col :span="24">
<el-form-item label="其他" prop="business">
@ -323,38 +327,38 @@
</el-col>
</el-row>
<div class="splineBar" />
<el-row :gutter="30" class="my_form_row" v-if="detailForm.business == '优势媒体部'">
<el-row :gutter="30" class="my_form_row" v-if="businessTypeName == '优势媒体部'">
<el-col :span="24">
<el-form-item label="批文文件" class="filesItemContent">
<supplierDetailFile ref="approvalDocumentRef" />
</el-form-item>
</el-col>
</el-row>
<div class="splineBar" v-if="detailForm.business == '优势媒体部门'" />
<el-row :gutter="30" class="my_form_row" v-if="detailForm.business == '优势媒体部'">
<div class="splineBar" v-if="businessTypeName == '优势媒体部'" />
<el-row :gutter="30" class="my_form_row" v-if="businessTypeName == '优势媒体部'">
<el-col :span="24">
<el-form-item label="独家授权文件" class="filesItemContent">
<supplierDetailFile ref="exclusiveLicenseFileRef" />
</el-form-item>
</el-col>
</el-row>
<div class="splineBar" v-if="detailForm.business == '优势媒体部门'" />
<el-row :gutter="30" class="my_form_row" v-if="detailForm.business == '优势媒体部'">
<div class="splineBar" v-if="businessTypeName == '优势媒体部'" />
<el-row :gutter="30" class="my_form_row" v-if="businessTypeName == '优势媒体部'">
<el-col :span="24">
<el-form-item label="媒体行业授权文件" class="filesItemContent">
<supplierDetailFile ref="mediaLicenseFileRef" />
</el-form-item>
</el-col>
</el-row>
<div class="splineBar" v-if="detailForm.business == '优势媒体部门'" />
<el-row :gutter="30" class="my_form_row" v-if="detailForm.business == '网络媒体部'">
<div class="splineBar" v-if="businessTypeName == '优势媒体部'" />
<el-row :gutter="30" class="my_form_row" v-if="businessTypeName == '网络媒体部'">
<el-col :span="24">
<el-form-item label="媒体归属附件" class="filesItemContent">
<supplierDetailFile ref="mediaOwnershipRef" />
</el-form-item>
</el-col>
</el-row>
<div class="splineBar" v-if="detailForm.business == '网络媒体部门'" />
<div class="splineBar" v-if="businessTypeName == '网络媒体部'" />
<el-row :gutter="30" class="my_form_row">
<el-col :span="24">
<el-form-item label="曾经媒体照片" prop="business" class="filesItemContent">
@ -395,40 +399,40 @@
</el-form-item>
</el-col>
</el-row>
<div class="splineBar" v-if="detailForm.business == '优势媒体部门'" />
<el-row :gutter="30" class="my_form_row" v-if="detailForm.business == '优势媒体部'">
<div class="splineBar" v-if="businessTypeName == '优势媒体部'" />
<el-row :gutter="30" class="my_form_row" v-if="businessTypeName == '优势媒体部'">
<el-col :span="24">
<el-form-item label="盖章刊例" class="filesItemContent" prop="business">
<supplierDetailFile ref="stampedPublicationRef" />
</el-form-item>
</el-col>
</el-row>
<div class="splineBar" v-if="detailForm.business == '优势媒体部门'" />
<el-row :gutter="30" class="my_form_row" v-if="detailForm.business == '优势媒体部'">
<div class="splineBar" v-if="businessTypeName == '优势媒体部'" />
<el-row :gutter="30" class="my_form_row" v-if="businessTypeName == '优势媒体部'">
<el-col :span="24">
<el-form-item label="资质文件" class="filesItemContent" prop="business">
<supplierDetailFile ref="qualificationFileRef" />
</el-form-item>
</el-col>
</el-row>
<div class="splineBar" v-if="detailForm.business == '优势媒体部门'" />
<el-row :gutter="30" class="my_form_row" v-if="detailForm.business == '优势媒体部'">
<div class="splineBar" v-if="businessTypeName == '优势媒体部'" />
<el-row :gutter="30" class="my_form_row" v-if="businessTypeName == '优势媒体部'">
<el-col :span="24">
<el-form-item label="媒体链条" class="filesItemContent" prop="business">
<supplierDetailFile ref="mediaChainRef" />
</el-form-item>
</el-col>
</el-row>
<div class="splineBar" v-if="detailForm.business == '优势媒体部门'" />
<el-row :gutter="30" class="my_form_row" v-if="detailForm.business == '优势媒体部'">
<div class="splineBar" v-if="businessTypeName == '优势媒体部'" />
<el-row :gutter="30" class="my_form_row" v-if="businessTypeName == '优势媒体部'">
<el-col :span="24">
<el-form-item label="刊例照片" class="filesItemContent" prop="business">
<supplierDetailFile ref="journalCataloguePhotoRef" />
</el-form-item>
</el-col>
</el-row>
<div class="splineBar" v-if="detailForm.business == '网络媒体部门'" />
<el-row :gutter="30" class="my_form_row" v-if="detailForm.business == '网络媒体部'">
<div class="splineBar" v-if="businessTypeName == '网络媒体部'" />
<el-row :gutter="30" class="my_form_row" v-if="businessTypeName == '网络媒体部'">
<el-col :span="24">
<el-form-item label="MR和制作要求" class="filesItemContent" prop="business">
<supplierDetailFile ref="mRProductionRequirementsRef" />
@ -441,7 +445,7 @@
</el-card>
</template>
<script setup>
import { onMounted, defineEmits, ref } from 'vue'
import { onMounted, nextTick, defineEmits, ref } from 'vue'
import { Close } from '@element-plus/icons-vue'
import { mediaDetail } from "@/api/mediaLibrary"
@ -464,6 +468,12 @@ const emit = defineEmits(['handleShowList']);
const detailForm = ref({})
const activePriceType = ref('门禁')
const activeNames = ref(['1', '2', '3', '4'])
const businessTypeName = ref('优势媒体部')
//
const deptList = ref([
{ value: 1, label: '优势媒体部' },
{ value: 2, label: '网络媒体部' }
])
//
const competitiveOfferRef = ref(null)
@ -516,11 +526,17 @@ const handleChange = (val) => {
console.log(val)
activeNames.value = val
}
//
const handlePriceTypeClick = (tab, event) => {
console.log(tab, event)
activePriceType.value = tab
}
//
const businessTypeName = ref('优势媒体部')
const handleChangeDept = (val) => {
const choseDep = deptList.value.filter(item => item.deptId == val)[0]
businessTypeName.value = choseDep?.deptName
const choseDep = deptList.value.filter(item => item.value == val)[0]
console.log('部门', choseDep)
detailForm.value.businessType = choseDep?.value
businessTypeName.value = choseDep?.label
nextTick(() => {
if (businessTypeName.value == '优势媒体部' && competitiveOfferRef.value) competitiveOfferRef.value.getMediaPrice(detailForm.value.id, false)
if (businessTypeName.value == '网络媒体部' && activePriceType.value == '门禁') accessControlPriceRef.value.getMediaPrice(detailForm.value.id, false)
@ -532,69 +548,70 @@ const handleChangeDept = (val) => {
if (businessTypeName.value == '网络媒体部' && activePriceType.value == '车库灯箱') garageLightBoxRef.value.getMediaPrice(detailForm.value.id, false)
})
}
const getMediaInfo = (mediaId) => {
mediaDetail(mediaId).then(res => {
const getMediaInfo = () => {
mediaDetail({ mediaId: detailForm.value.id }).then(res => {
detailForm.value = res.data
handleChangeDept(res.data.businessType)
if (detailForm.value.mediaFile && detailForm.value.mediaFile.length > 0) {
if (approvalDocumentRef.value) {
const fileList = ruleForm.value.mediaFile.filter(item => item.fileType == 1)
const fileList = detailForm.value.mediaFile.filter(item => item.fileType == 1)
approvalDocumentRef.value.setFileInfo(fileList)
}
if (exclusiveLicenseFileRef.value) {
const fileList = ruleForm.value.mediaFile.filter(item => item.fileType == 2)
const fileList = detailForm.value.mediaFile.filter(item => item.fileType == 2)
exclusiveLicenseFileRef.value.setFileInfo(fileList)
}
if (mediaLicenseFileRef.value) {
const fileList = ruleForm.value.mediaFile.filter(item => item.fileType == 3)
const fileList = detailForm.value.mediaFile.filter(item => item.fileType == 3)
mediaLicenseFileRef.value.setFileInfo(fileList)
}
if (mediaOwnershipRef.value) {
const fileList = ruleForm.value.mediaFile.filter(item => item.fileType == 4)
const fileList = detailForm.value.mediaFile.filter(item => item.fileType == 4)
mediaOwnershipRef.value.setFileInfo(fileList)
}
if (onceMediaPhotoRef.value) {
const fileList = ruleForm.value.mediaFile.filter(item => item.fileType == 5)
const fileList = detailForm.value.mediaFile.filter(item => item.fileType == 5)
onceMediaPhotoRef.value.setFileInfo(fileList)
}
if (mediaPicRef.value) {
const fileList = ruleForm.value.mediaFile.filter(item => item.fileType == 6)
const fileList = detailForm.value.mediaFile.filter(item => item.fileType == 6)
mediaPicRef.value.setFileInfo(fileList)
}
if (mediaVideoRef.value) {
const fileList = ruleForm.value.mediaFile.filter(item => item.fileType == 7)
const fileList = detailForm.value.mediaFile.filter(item => item.fileType == 7)
mediaVideoRef.value.setFileInfo(fileList)
}
if (stampedPublicationRef.value) {
const fileList = ruleForm.value.mediaFile.filter(item => item.fileType == 8)
const fileList = detailForm.value.mediaFile.filter(item => item.fileType == 8)
stampedPublicationRef.value.setFileInfo(fileList)
}
if (qualificationFileRef.value) {
const fileList = ruleForm.value.mediaFile.filter(item => item.fileType == 9)
const fileList = detailForm.value.mediaFile.filter(item => item.fileType == 9)
qualificationFileRef.value.setFileInfo(fileList)
}
if (mediaChainRef.value) {
const fileList = ruleForm.value.mediaFile.filter(item => item.fileType == 10)
const fileList = detailForm.value.mediaFile.filter(item => item.fileType == 10)
mediaChainRef.value.setFileInfo(fileList)
}
if (journalCataloguePhotoRef.value) {
const fileList = ruleForm.value.mediaFile.filter(item => item.fileType == 11)
const fileList = detailForm.value.mediaFile.filter(item => item.fileType == 11)
journalCataloguePhotoRef.value.setFileInfo(fileList)
}
if (mRProductionRequirementsRef.value) {
const fileList = ruleForm.value.mediaFile.filter(item => item.fileType == 12)
const fileList = detailForm.value.mediaFile.filter(item => item.fileType == 12)
mRProductionRequirementsRef.value.setFileInfo(fileList)
}
}
})
}
//
onMounted(() => {
bgStore.setBgImage(otherbg)
});
const initForm = (_ruleForm) => {
detailForm.value = _ruleForm
if (detailForm.value.id) getMediaInfo()
}
// \
defineExpose({
getMediaInfo
initForm
});
</script>
<style lang='scss'>

View File

@ -737,6 +737,7 @@ const getProvinceList = () => {
}
// /
const getCityList = (value) => {
console.log('走了这里?')
var choseProvince = province.value.filter(item => item.id == value)[0]
if (choseProvince) {
ruleForm.value.mediaCity = choseProvince.name
@ -826,7 +827,6 @@ const getCountyList2 = (value) => {
county.value = res.data
})
}
const getTownList2 = (value) => {
sysRegionListByPid({ parentId: value }).then(res => {
town.value = res.data
@ -848,6 +848,19 @@ const getbusinessAreaList = (val) => {
}
})
}
//
const getMediaTypeTwo2 = (value) => {
sysMediaTypeListByPid({ parentId: value }).then(res => {
mediaTypeTwo.value = res.data
})
}
const getMediaTypeThree2 = (value) => {
sysMediaTypeListByPid({ parentId: value }).then(res => {
mediaTypeThree.value = res.data
})
}
//
const handleSetMediaFile = (_files) => {
let mergedArr = mediaFile.value.concat(_files);
@ -896,8 +909,12 @@ const handleClose = () => {
}
//
const getMediaInfo = () => {
mediaDetail(ruleForm.value.id).then(res => {
mediaDetail({ mediaId: ruleForm.value.id }).then(res => {
ruleForm.value = res.data
ruleForm.value.mediaCity = ruleForm.value.provinceName + '/' + ruleForm.value.cityName + '/' + ruleForm.value.areaName + '/' + ruleForm.value.townName
console.log('城市', ruleForm.value.mediaCity)
latVal.value = ruleForm.value.mapY + ',' + ruleForm.value.mapX
handleChangeDept(res.data.businessType)
if (ruleForm.value.mediaFile && ruleForm.value.mediaFile.length > 0) {
if (approvalDocumentRef.value) {
@ -967,6 +984,13 @@ async function handleResponse(response) {
promises.push(getTownList2(response.data.areaCode));
}
if (response.data.mediaType) {
promises.push(getMediaTypeTwo2(response.data.mediaType));
}
if (response.data.mediaCategory) {
promises.push(getMediaTypeThree2(response.data.mediaCategory));
}
getbusinessAreaList()
//

View File

@ -54,7 +54,7 @@
<el-table-column label="角色编号" prop="roleId" />
<el-table-column label="角色名称" prop="roleName" :show-overflow-tooltip="true" />
<el-table-column label="权限字符" prop="roleKey" :show-overflow-tooltip="true" />
<el-table-column label="显示顺序" prop="roleSort"/>
<el-table-column label="显示顺序" prop="roleSort" />
<el-table-column label="状态" align="center">
<template #default="scope">
<el-switch v-model="scope.row.status" active-value="0" inactive-value="1"
@ -66,14 +66,14 @@
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="280" class-name="small-padding fixed-width">
<el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" v-if="scope.row.roleId !== 1" @click="handleUpdate(scope.row)"
v-hasPermi="['system:role:edit']">修改</el-button>
<el-button link type="primary" v-if="scope.row.roleId !== 1" @click="handleDelete(scope.row)"
v-hasPermi="['system:role:remove']">删除</el-button>
<el-button link type="primary" v-if="scope.row.roleId !== 1" @click="handleDataScope(scope.row)"
v-hasPermi="['system:role:edit']">数据权限</el-button>
<!-- <el-button link type="primary" v-if="scope.row.roleId !== 1" @click="handleDataScope(scope.row)"
v-hasPermi="['system:role:edit']">数据权限</el-button> -->
<el-button link type="primary" v-if="scope.row.roleId !== 1" @click="handleAuthUser(scope.row)"
v-hasPermi="['system:role:edit']">分配用户</el-button>
</template>
@ -211,7 +211,7 @@ const dataScopeOptions = ref([
])
const data = reactive({
form: {},
form: { dataScope: 1 },
queryParams: {
pageNum: 1,
pageSize: 10,
@ -344,6 +344,7 @@ function reset() {
roleName: undefined,
roleKey: undefined,
roleSort: 0,
dataScope: 1,
status: "0",
menuIds: [],
deptIds: [],