提交本地代码

This commit is contained in:
wangchengming 2025-10-13 16:10:17 +08:00
parent 29245db42f
commit 849d4652b8
34 changed files with 551 additions and 471 deletions

View File

@ -129,6 +129,7 @@ export function mediaFiles(query) {
// 地图获取媒体
export function mediaByMap(query) {
console.log('参数', query)
return request({
url: '/media/getMap',
method: 'get',

View File

@ -1050,7 +1050,27 @@ h6 {
.media_dialog {
padding: 0 !important;
top: 164px;
margin-left: 40px;
position: absolute;
background: #ffffff;
width: 500px;
}
.noChoseMedia {
cursor: pointer;
position: absolute;
top: 14px;
right: 50px;
font-size: 24px;
color: #ffffff;
}
.choseMeida {
cursor: pointer;
position: absolute;
top: 14px;
right: 50px;
font-size: 24px;
color: #E6A23C;
}
.my_dialog {
@ -1067,7 +1087,7 @@ h6 {
line-height: 30px !important;
}
.media_dialog .el-dialog__header {
.media_dialog .custom-header {
border-bottom: 0;
padding: 0 20px;
line-height: 50px;
@ -1075,10 +1095,6 @@ h6 {
background: #bad5f7;
}
.media_dialog .custom-header {
height: 50px;
}
.media_dialog .mediaNameIcon {
display: inline-block;
width: 4px;
@ -1312,7 +1328,7 @@ h6 {
margin-right: 26px;
vertical-align: middle;
}
.myDetailForm .el-form-item__content {
font-family: Microsoft YaHei;
font-weight: 400;
@ -1648,55 +1664,55 @@ h6 {
// PPT导出样式
.my_dialog_itemHeader {
width: 100%;
height: 36px;
background: #1a75e630;
padding: 6px 20px;
font-family: Microsoft YaHei;
font-weight: 600;
font-size: 18px;
color: #000000;
width: 100%;
height: 36px;
background: #1a75e630;
padding: 6px 20px;
font-family: Microsoft YaHei;
font-weight: 600;
font-size: 18px;
color: #000000;
}
.chosedMediaNamsConter {
width: 100%;
min-height: 60px;
background: #ffffff;
padding: 10px 0;
width: 100%;
min-height: 60px;
background: #ffffff;
padding: 10px 0;
}
.checkAllChose .el-checkbox__label {
display: inline-block;
font-size: var(--el-checkbox-font-size);
line-height: 1;
padding-left: 8px;
font-family: Microsoft YaHei;
font-weight: 400;
font-size: 16px;
color: #1E1E1E;
display: inline-block;
font-size: var(--el-checkbox-font-size);
line-height: 1;
padding-left: 8px;
font-family: Microsoft YaHei;
font-weight: 400;
font-size: 16px;
color: #1E1E1E;
}
.checkAllChose .el-checkbox__input.is-checked .el-checkbox__inner,
.checkAllChose .el-checkbox__input.is-indeterminate .el-checkbox__inner {
background-color: #1A75E6;
border-color: #1A75E6;
background-color: #1A75E6;
border-color: #1A75E6;
}
.checkAllChose .el-checkbox__inner {
background: #ffffff;
border: 1px solid #ACACAC;
border-radius: 2px;
box-sizing: border-box;
display: inline-block;
height: 16px;
width: 16px;
background: #ffffff;
border: 1px solid #ACACAC;
border-radius: 2px;
box-sizing: border-box;
display: inline-block;
height: 16px;
width: 16px;
}
.checkAllChose .el-checkbox__inner:after {
height: 8px;
left: 5px;
height: 8px;
left: 5px;
}
.checkAllChose .el-checkbox__input.is-checked+.el-checkbox__label {
color: #1E1E1E;
color: #1E1E1E;
}

View File

@ -31,8 +31,8 @@
<el-table-column label="CPM" align="center" prop="cpm" width="100" />
<el-table-column label="备注" align="left" prop="remark" width="230" :show-overflow-tooltip="true"/>
<el-table-column label="AB面划分" align="left" 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="录入人员" align="center" prop="createBy" width="100" />
<el-table-column label="录入时间" align="center" prop="createTime" width="210" />
<template v-if="showOptionColumn">
<el-table-column label="操作" width="56" align="center" fixed="right">
<template #default="scope">

View File

@ -26,9 +26,9 @@
<el-table-column label="总曝光/人次" align="center" prop="totalExposure" width="130" />
<el-table-column label="SOV" align="center" prop="sov" width="100" />
<el-table-column label="CPM" align="center" prop="cpm" width="100" />
<el-table-column label="备注" align="left" prop="remark" width="230" :show-overflow-tooltip="true" />
<!-- <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="left" prop="remark" width="230" :show-overflow-tooltip="true" />
<el-table-column label="录入人员" align="center" prop="createBy" width="100" />
<el-table-column label="录入时间" align="center" prop="createTime" width="210" />
<template v-if="showOptionColumn">
<el-table-column label="操作" width="56" align="center" fixed="right">
<template #default="scope">

View File

@ -31,8 +31,8 @@
<el-table-column label="制作成本" align="right" prop="makeCost" width="100" />
<el-table-column label="供应商" align="left" prop="supplier" width="150" />
<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="录入人员" align="center" prop="createBy" width="100" />
<el-table-column label="录入时间" align="center" prop="createTime" width="210" />
<template v-if="showOptionColumn">
<el-table-column label="操作" width="56" align="center" fixed="right">
<template #default="scope">

View File

@ -29,8 +29,8 @@
<el-table-column label="CPM" align="center" prop="cpm" width="100" />
<el-table-column label="成本折扣" align="right" prop="costDiscount" width="100" />
<el-table-column label="备注" align="left" prop="remark" width="230" :show-overflow-tooltip="true" />
<!-- <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="100" />
<el-table-column label="录入时间" align="center" prop="createTime" width="210" />
<template v-if="showOptionColumn">
<el-table-column label="操作" width="56" align="center" fixed="right">
<template #default="scope">

View File

@ -28,8 +28,8 @@
<el-table-column label="成本折扣" align="center" prop="costDiscount" width="100" />
<el-table-column label="成本" align="right" prop="cost" width="120" />
<el-table-column label="备注" align="left" prop="remark" width="230" :show-overflow-tooltip="true" />
<!-- <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="100" />
<el-table-column label="录入时间" align="center" prop="createTime" width="210" />
<template v-if="showOptionColumn">
<el-table-column label="操作" width="56" align="center" fixed="right">
<template #default="scope">

View File

@ -29,8 +29,8 @@
<el-table-column label="CPM" align="center" prop="cpm" width="100" />
<el-table-column label="成本折扣" align="center" prop="costDiscount" width="100" />
<el-table-column label="备注" align="left" prop="remark" width="230" :show-overflow-tooltip="true" />
<!-- <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="100" />
<el-table-column label="录入时间" align="center" prop="createTime" width="210" />
<template v-if="showOptionColumn">
<el-table-column label="操作" width="56" align="center" fixed="right">
<template #default="scope">

View File

@ -43,8 +43,8 @@
<el-table-column label="CPM" align="center" prop="cpm" width="100" />
<el-table-column label="覆盖热区" align="left" prop="coverHotZone" width="150" />
<el-table-column label="备注" align="left" prop="remark" width="230" :show-overflow-tooltip="true" />
<!-- <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="100" />
<el-table-column label="录入时间" align="center" prop="createTime" width="210" />
<template v-if="showOptionColumn">
<el-table-column label="操作" width="56" align="center" fixed="right">
<template #default="scope">

View File

@ -36,8 +36,8 @@
<el-table-column label="单面/双面" align="left" prop="oddEven" width="130" />
<el-table-column label="中途换画制作费" align="right" prop="changeDrawMakeFee" width="150" />
<el-table-column label="备注" align="left" prop="remark" width="230" :show-overflow-tooltip="true" />
<!-- <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="100" />
<el-table-column label="录入时间" align="center" prop="createTime" width="210" />
<template v-if="showOptionColumn">
<el-table-column label="操作" width="56" align="center" fixed="right">
<template #default="scope">

View File

@ -5,35 +5,6 @@
<div class="more-search-pane">
<div class="search-where-container">
<el-form :model="queryParams" :inline="true" class="searchPanelForm">
<el-form-item label="媒体类型:">
<el-select v-model="queryParams.mediaType" placeholder="请选择" @change="getMediaTypeTwo"
clearable style="min-width: 30px">
<el-option v-for="item in mediaTypeOne" :key="item.id" :label="item.name"
:value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="媒体大类:">
<el-select v-model="queryParams.mediaCategory" placeholder="请选择"
@change="getMediaTypeThree" clearable style="min-width: 30px">
<el-option v-for="item in mediaTypeTwo" :key="item.id" :label="item.name"
:value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="展示形式:">
<el-select v-model="queryParams.displayForm" placeholder="请选择" clearable
style="min-width: 30px">
<el-option v-for="item in mediaTypeThree" :key="item.id" :label="item.name"
:value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="归属:">
<el-select class="filterSelect" v-model="queryParams.belongSupplierId" filterable remote
reserve-keyword :remote-method="getSupplierList" :loading="selectLoading"
placeholder="请输入" remote-show-suffix clearable style="min-width: 70px;">
<el-option v-for="item in supplierList" :key="item.supplierId"
:label="item.supplierName" :value="item.supplierId" />
</el-select>
</el-form-item>
<el-form-item label="业务部门:">
<el-select v-model="queryParams.dataScopeDeptId" placeholder="请选择" clearable
style="min-width: 30px;">
@ -41,11 +12,39 @@
:value="item.deptId" />
</el-select>
</el-form-item>
<el-form-item label="状态:">
<el-select v-model="queryParams.state" placeholder="请选择" style="min-width: 30px;"
clearable>
<el-option v-for="dict in media_status" :key="dict.value" :label="dict.label"
:value="dict.value" />
<el-form-item label="城市:">
<el-select v-model="queryParams.provinceCode" placeholder="请选择" @change="getCityList"
clearable style="min-width: 30px">
<el-option v-for="item in province" :key="item.id" :label="item.name"
:value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="">
<el-select v-model="queryParams.cityCode" placeholder="请选择" @change="getCountyList"
clearable style="min-width: 30px">
<el-option v-for="item in city" :key="item.id" :label="item.name"
:value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="">
<el-select v-model="queryParams.areaCode" placeholder="请选择" @change="getTownList"
clearable style="min-width: 30px">
<el-option v-for="item in county" :key="item.id" :label="item.name"
:value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="">
<el-select v-model="queryParams.townCode" placeholder="请选择"
@change="getbusinessAreaList" clearable style="min-width: 30px">
<el-option v-for="item in town" :key="item.id" :label="item.name"
:value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="商圈:">
<el-select v-model="queryParams.businessDistrictId" placeholder="请选择" clearable
style="min-width: 30px;">
<el-option v-for="item in businessAreaList" :key="item.id" :label="item.name"
:value="item.id" />
</el-select>
</el-form-item>
</el-form>
@ -62,37 +61,41 @@
</div>
<div class="searchSmallPanel" v-show="unfoldFlag">
<el-form :model="queryParams" :inline="true" class="searchSmallPanelForm">
<el-form-item label="城市:">
<el-select v-model="queryParams.provinceCode" placeholder="请选择" @change="getCityList" clearable
<el-form-item label="媒体类型:">
<el-select v-model="queryParams.mediaType" placeholder="请选择" @change="getMediaTypeTwo" clearable
style="min-width: 30px">
<el-option v-for="item in province" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="">
<el-select v-model="queryParams.cityCode" placeholder="请选择" @change="getCountyList" clearable
style="min-width: 30px">
<el-option v-for="item in city" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="">
<el-select v-model="queryParams.areaCode" placeholder="请选择" @change="getTownList" clearable
style="min-width: 30px">
<el-option v-for="item in county" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="">
<el-select v-model="queryParams.townCode" placeholder="请选择" @change="getbusinessAreaList"
clearable style="min-width: 30px">
<el-option v-for="item in town" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="商圈:">
<el-select v-model="queryParams.businessDistrictId" placeholder="请选择" clearable
style="min-width: 30px;">
<el-option v-for="item in businessAreaList" :key="item.id" :label="item.name"
<el-option v-for="item in mediaTypeOne" :key="item.id" :label="item.name"
:value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="媒体大类:">
<el-select v-model="queryParams.mediaCategory" placeholder="请选择" @change="getMediaTypeThree"
clearable style="min-width: 30px">
<el-option v-for="item in mediaTypeTwo" :key="item.id" :label="item.name"
:value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="展示形式:">
<el-select v-model="queryParams.displayForm" placeholder="请选择" clearable
style="min-width: 30px">
<el-option v-for="item in mediaTypeThree" :key="item.id" :label="item.name"
:value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="归属:">
<el-select class="filterSelect" v-model="queryParams.belongSupplierId" filterable remote
reserve-keyword :remote-method="getSupplierList" :loading="selectLoading" placeholder="请输入"
remote-show-suffix clearable style="min-width: 70px;">
<el-option v-for="item in supplierList" :key="item.supplierId" :label="item.supplierName"
:value="item.supplierId" />
</el-select>
</el-form-item>
<el-form-item label="状态:">
<el-select v-model="queryParams.state" placeholder="请选择" style="min-width: 30px;" clearable>
<el-option v-for="dict in media_status" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-form>
</div>
<div class="choseResultPanel">
@ -113,16 +116,16 @@
<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.keyword" placeholder="请输入媒体名称/媒体编号" :prefix-icon="Search"
<el-input v-model="queryParams.keyword" @keydown.enter.prevent="handleQuery" placeholder="请输入媒体名称/媒体编号" :prefix-icon="Search"
style="width: 400px;" />
</el-form-item>
</el-form>
</el-col>
<el-col :span="16" style="text-align: right;">
<el-button type="primary" class="primaryBtn" @click="handleQuery">查询</el-button>
<el-button type="primary" class="primaryBtn" @click="resetQuery">重置</el-button>
<el-button type="primary" class="primaryBtn" @click="handleOpenAddForm">新增</el-button>
<el-dropdown placement="bottom-start" style="margin-left: 12px;">
<el-button type="primary" class="primaryBtn" v-hasPermi="['mediaLibrary:query']" @click="handleQuery">查询</el-button>
<el-button type="primary" class="primaryBtn" v-hasPermi="['mediaLibrary:reset']" @click="resetQuery">重置</el-button>
<el-button type="primary" class="primaryBtn" v-hasPermi="['mediaLibrary:add']" @click="handleOpenAddForm">新增</el-button>
<el-dropdown placement="bottom-start" style="margin-left: 12px;" v-hasPermi="['mediaLibrary:importQuotation']">
<el-button type="primary" class="primaryBtn">导入报价</el-button>
<template #dropdown>
<el-dropdown-menu>
@ -145,7 +148,7 @@
</el-dropdown-menu>
</template>
</el-dropdown>
<el-dropdown placement="bottom-start" style="margin: 0 12px;">
<el-dropdown placement="bottom-start" style="margin: 0 12px;" v-hasPermi="['mediaLibrary:exportPPT']">
<el-button type="primary" class="primaryBtn">
导出PPT
</el-button>
@ -160,8 +163,8 @@
</el-dropdown-menu>
</template>
</el-dropdown>
<el-button type="primary" class="primaryBtn" @click="handleExportExcel">导出excel</el-button>
<el-button type="primary" class="primaryBtn" @click="handleGoMediaMap">媒体可视化地图</el-button>
<el-button type="primary" class="primaryBtn" v-hasPermi="['mediaLibrary:exportExcel']" @click="handleExportExcel">导出excel</el-button>
<el-button type="primary" class="primaryBtn" v-hasPermi="['mediaLibrary:mediaMap']" @click="handleGoMediaMap">媒体可视化地图</el-button>
</el-col>
</el-row>
@ -231,15 +234,15 @@
<template #default="scope">
<el-popover popper-class="my_popover" placement="left-start">
<div class="popBtns" @click="handleUpdate(scope.row)"
v-hasPermi="['problemFeedback:edit']">修改</div>
v-hasPermi="['mediaLibrary:update']">修改</div>
<div class="popBtns" @click="handleHistoryChart(scope.row)"
v-hasPermi="['problemFeedback:edit']">历史数据</div>
v-hasPermi="['mediaLibrary:historicalData']">历史数据</div>
<div class="popBtns" @click="handleAbolish(scope.row)"
v-hasPermi="['problemFeedback:edit']">废除</div>
v-hasPermi="['mediaLibrary:abolish']">废除</div>
<div class="popBtns" @click="handleLogs(scope.row)"
v-hasPermi="['problemFeedback:edit']">日志</div>
v-hasPermi="['mediaLibrary:log']">日志</div>
<div class="popBtns" @click="handleDownFiles(scope.row)"
v-hasPermi="['problemFeedback:edit']">下载</div>
v-hasPermi="['mediaLibrary:download']">下载</div>
<template #reference>
<img style="cursor: pointer;" :src="scope.row.currentImageSrc"
@mouseenter="scope.row.currentImageSrc = hoverImageSrc"
@ -269,7 +272,7 @@
</template>
<script setup name="Post">
import { onMounted, ref } from 'vue';
import { useRouter } from 'vue-router'
import { useRouter } from 'vue-router'
import { ElMessageBox } from 'element-plus'
import { Search } from '@element-plus/icons-vue'
import optionIcon from '@/assets/images/optionIcon.png'
@ -571,17 +574,17 @@ const handleAbolish = (row) => {
else proxy.$modal.notify("该媒体已被废除,无需重复操作!")
}
//
const handleHistoryChart = (row) => {
const handleHistoryChart = (row) => {
const isReadonly = row.dataScopeDeptId == 220 ? true : false
historyDataRef.value.initHistoryData(row.id, isReadonly)
}
//
const handleDownFiles = (row) => {
busDownloadRecordPage({ pageIndex: 1, pageSize: 1, state: 0 }).then(res => {
busDownloadRecordPage({ pageIndex: 1, pageSize: 1, state: 0 }).then(res => {
if (res.code == 200) {
if (res.data.list.length == 0) downFileRef.value.initFileList(true, row.id)
else {
ElMessageBox.alert('您有待下载的文件等待下载...', '系统消息', {
else {
ElMessageBox.alert('您有待下载的文件等待下载...', '系统消息', {
confirmButtonText: '查看下载任务',
callback: (action) => {
downRecordsRef.value.initDownList()
@ -592,7 +595,7 @@ const handleDownFiles = (row) => {
})
}
//
const handleDownBack = () => {
const handleDownBack = () => {
downRecordsRef.value.initDownList()
}
//
@ -663,5 +666,4 @@ onMounted(() => {
font-size: 16px;
color: #ffffff90;
}
</style>

View File

@ -20,7 +20,7 @@ onMounted(() => {
const _mediaId = route.params && route.params.mediaId
if (_mediaId) {
console.log('接收id', _mediaId)
mediaFormRef.value.initForm('编辑媒体信息', { id: _mediaId })
mediaFormRef.value.linkInitForm('编辑媒体信息', { id: _mediaId })
}
});
</script>

View File

@ -60,32 +60,35 @@
{{ detailForm.displayFormStr }}
</el-form-item>
</el-col>
<el-col :span="6" v-if="detailForm.dataScopeDeptName == '优势媒体部'">
</el-row>
<div class="splineBar" />
<el-row :gutter="30" class="my_form_row" v-if="detailForm.dataScopeDeptName == '优势媒体部'">
<el-col :span="6">
<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.dataScopeDeptName == '优势媒体部'">
<el-col :span="6">
<el-form-item label="播放时间" prop="business_department">
{{ detailForm.playbackTime }}
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="媒体尺寸" prop="business_department">
{{ detailForm.mediaSize }}
<el-col :span="12">
<el-form-item label="日均车流量" prop="business_department">
{{ detailForm.dailyAvgVehicleFlow }}
</el-form-item>
</el-col>
<el-col :span="6">
</el-row>
<div class="splineBar" v-if="detailForm.dataScopeDeptName == '优势媒体部'" />
<el-row :gutter="30" class="my_form_row" v-if="detailForm.dataScopeDeptName == '优势媒体部'">
<el-col :span="12">
<el-form-item label="MR" prop="business_department">
{{ detailForm.mr }}
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="日均车流量" prop="business_department">
{{ detailForm.dailyAvgVehicleFlow }}
<el-col :span="12">
<el-form-item label="媒体尺寸" prop="business_department">
{{ detailForm.mediaSize }}
</el-form-item>
</el-col>
</el-row>
@ -98,9 +101,6 @@
</el-col>
<el-col :span="12">
<el-form-item label="供应商名称">
<!-- <router-link :to="'/supplier/detailPage/' + detailForm.belongSupplierId" custom>
</router-link> -->
<span class="mediaNameLabel"
@click="handleOpenSupplierDetail(detailForm.belongSupplierId)">
{{ detailForm.belongSupplierName }}

View File

@ -3,7 +3,7 @@
<template #header>
<div class="card-header">
<span>{{ formTitle }}</span>
<el-icon style="float: right;cursor: pointer;" @click="handleClose">
<el-icon style="float: right;cursor: pointer;" @click="handleClose" v-if="showClose">
<Close />
</el-icon>
</div>
@ -94,7 +94,9 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="6" v-if="ruleForm.dataScopeDeptName == '优势媒体部'">
</el-row>
<el-row :gutter="30" class="my_form_row" v-if="ruleForm.dataScopeDeptName == '优势媒体部'">
<el-col :span="6">
<el-form-item label="是否有照明" prop="hasLighting">
<el-select v-model="ruleForm.hasLighting" placeholder="请选择" style="min-width: 30px;"
clearable>
@ -103,18 +105,11 @@
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30" class="my_form_row" v-if="ruleForm.dataScopeDeptName == '优势媒体部'">
<el-col :span="6">
<el-form-item label="播放时间" prop="playbackTime">
<el-input v-model="ruleForm.playbackTime" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="媒体尺寸" prop="mediaSize">
<el-input v-model="ruleForm.mediaSize" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="MR">
<el-input v-model="ruleForm.mr" placeholder="请输入" />
@ -131,7 +126,12 @@
</el-col>
</el-row>
<el-row :gutter="30" class="my_form_row" v-if="ruleForm.dataScopeDeptName == '优势媒体部'">
<el-col :span="24">
<el-col :span="12">
<el-form-item label="媒体尺寸" prop="mediaSize">
<el-input v-model="ruleForm.mediaSize" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="媒体朝向" prop="mediaOrientation">
<el-input v-model="ruleForm.mediaOrientation" placeholder="请输入" />
</el-form-item>
@ -325,11 +325,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="付款要求">
<el-select v-model="ruleForm.paymentRequirements" placeholder="请选择"
style="min-width: 30px;" clearable>
<el-option v-for="dict in sales_method" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
<el-input v-model="ruleForm.paymentRequirements" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="6">
@ -581,7 +577,7 @@ import garageLightBox from './components/garageLightBox.vue'
const { proxy } = getCurrentInstance()
const emit = defineEmits(['handleShowList']);
const showClose = ref(true)
//
const formTitle = ref('新建')
//
@ -683,7 +679,7 @@ const data = reactive({
},
})
const { ruleForm, rules } = toRefs(data)
const { whether_lighting, invoice_type, sales_method, approval_document_status } = proxy.useDict("whether_lighting", "invoice_type", "sales_method", "approval_document_status")
const { whether_lighting, invoice_type, approval_document_status } = proxy.useDict("whether_lighting", "invoice_type", "approval_document_status")
const activeNames = ref(['1', '2', '3', '4', '5'])
//
const handleChange = (val) => {
@ -723,7 +719,7 @@ const handleChangeDept = (val) => {
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)
// -1,-2,-3,-4,-5,-6,-7,-8, -9, -10, -11,MR-12
// -1,-2,-3,-4,-5,-6,-7,-8, -9, -10, -11,MR-12
if (approvalDocumentRef.value) approvalDocumentRef.value._fileType = 1;
if (exclusiveLicenseFileRef.value) exclusiveLicenseFileRef.value._fileType = 2;
if (mediaLicenseFileRef.value) mediaLicenseFileRef.value._fileType = 3;
@ -776,7 +772,7 @@ const onAddSupplierOption = () => {
//
const onSupplierConfirm = () => {
if (addSupplierName.value) {
const paramsForm = {
const paramsForm = {
supplierName: addSupplierName.value
}
addBusSupplier(paramsForm).then(response => {
@ -975,12 +971,12 @@ const getMediaTypeThree2 = (value) => {
//
const handleSetMediaFile = (_fileType, _files) => {
//
//
const currentFiles = [...mediaFile.value]; //
//
const filteredFiles = currentFiles.filter(item => item.fileType !== _fileType);
const filteredFiles = currentFiles.filter(item => item.fileType !== _fileType);
//
if (_files.length > 0) {
if (_files.length > 0) {
filteredFiles.push(..._files); // 使 push
mediaFile.value = filteredFiles; // ref
} else {
@ -1125,6 +1121,20 @@ async function handleResponse(response) {
}
//
const initForm = (_formTitle, _ruleForm) => {
showClose.value = true
formTitle.value = _formTitle
ruleForm.value = _ruleForm
ruleForm.value.mediaCity = ruleForm.value.provinceName + '/' + ruleForm.value.cityName + '/' + ruleForm.value.areaName + '/' + ruleForm.value.townName
if (ruleForm.value.mapY && ruleForm.value.mapX) latVal.value = ruleForm.value.mapY + ',' + ruleForm.value.mapX
getDepList()
getMediaTypeOne()
getProvinceList()
if (ruleForm.value.id) getMediaInfo()
}
//
const linkInitForm = (_formTitle, _ruleForm) => {
showClose.value = false
formTitle.value = _formTitle
ruleForm.value = _ruleForm
ruleForm.value.mediaCity = ruleForm.value.provinceName + '/' + ruleForm.value.cityName + '/' + ruleForm.value.areaName + '/' + ruleForm.value.townName
@ -1136,7 +1146,8 @@ const initForm = (_formTitle, _ruleForm) => {
}
// \
defineExpose({
initForm
initForm,
linkInitForm
});
</script>
<style lang='scss'>

View File

@ -5,7 +5,7 @@
<div class="search-where-container">
<el-form :model="queryParams" ref="queryRef" :inline="true" class="searchPanelForm">
<el-form-item label="媒体名称/编号:">
<el-input v-model="queryParams.keyword" placeholder="请输入媒体名称/编号" clearable
<el-input v-model="queryParams.keyword" @keydown.enter.prevent="handleQuery" placeholder="请输入媒体名称/编号" clearable
style="min-width: 30px" />
</el-form-item>
<el-form-item label="媒体类型:">
@ -94,7 +94,7 @@
<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;">{{
item.address
}}</div>
}}</div>
</el-option>
</el-select>
</el-form-item>
@ -137,120 +137,130 @@
<div id="mapContainer" :class="unfoldFlag ? 'mediaMapContainerSmall' : 'mediaMapContainerLarge'">
</div>
<div v-if="contextMenuVisible" class="custom-context-menu" :style="menuPosition" @click="handleChoseMedia">
选择媒体
</div>
<el-dialog v-model="open" width="400px" :modal="false" class="media_dialog" :destroy-on-close="true"
:close-on-click-modal="false">
<template #header>
<div class="custom-header">
<div class="mediaNameIcon" />
<div class="mediaName">{{ detailForm.mediaName }}</div>
</div>
</template>
<el-form ref="detailFormRef" :model="detailForm" label-width="130px" class="myMediaDetailForm">
<el-form-item label="业务">
{{ detailForm.dataScopeDeptName }}
</el-form-item>
<div class="splineBar" />
<el-form-item label="状态">
<span v-if="detailForm.state == 1">生效中</span>
<span v-if="detailForm.state == 2">已作废</span>
</el-form-item>
<div class="splineBar" />
<el-form-item label="媒体名称">
{{ detailForm.mediaName }}
</el-form-item>
<div class="splineBar" />
<el-form-item label="媒体编号">
{{ detailForm.mediaCode }}
</el-form-item>
<div class="splineBar" />
<el-form-item label="媒体类型">
{{ detailForm.mediaTypeStr }}
</el-form-item>
<div class="splineBar" />
<el-form-item label="媒体大类">
{{ detailForm.mediaCategoryStr }}
</el-form-item>
<div class="splineBar" />
<el-form-item label="展示形式">
{{ detailForm.displayFormStr }}
</el-form-item>
<div class="splineBar" />
<el-form-item label="是否有照明">
{{ detailForm.hasLighting }}
</el-form-item>
<div class="splineBar" />
<el-form-item label="播放时间">
{{ detailForm.playbackTime }}
</el-form-item>
<div class="splineBar" />
<el-form-item label="日均车流量">
{{ detailForm.dailyAvgVehicleFlow }}
</el-form-item>
<div class="splineBar" />
<el-form-item label="媒体尺寸">
{{ detailForm.mediaSize }}
</el-form-item>
<div class="splineBar" />
<el-form-item label="商圈">
{{ detailForm.provinceName }}{{ detailForm.cityName }}{{ detailForm.areaName }}{{
detailForm.townName }}-{{ detailForm.businessDistrictName }}
</el-form-item>
<div class="splineBar" />
<el-form-item label="地址">
{{ detailForm.address }}
</el-form-item>
<div class="splineBar" />
<el-form-item label="媒体图片" class="moreRowContent">
<el-row :gutter="30" class="my_form_row">
<el-col :span="12" v-for="itemFile in fileList">
<!-- <img :src="baseUrl + itemFile.fileName" fit="fill"
<div v-if="open" class="media_dialog">
<div class="custom-header">
<div class="mediaNameIcon" />
<div class="mediaName">{{ detailForm.mediaName }}</div>
<el-icon v-if="multipleChoseArr.findIndex(item => item.id == curMediaInfo.mediaId) == -1"
class="noChoseMedia" @click="handleChoseMedia">
<Star />
</el-icon>
<el-icon v-if="multipleChoseArr.findIndex(item => item.id == curMediaInfo.mediaId) != -1"
class="choseMeida" @click="handleCloseTag(curMediaInfo)">
<Star />
</el-icon>
<el-icon
style="cursor: pointer; position: absolute; top: 14px; right: 20px; font-size: 24px; color: #ffffff;"
@click="handleClose">
<Close />
</el-icon>
</div>
<div style="height: calc(100vh - 234px); overflow-y: auto;">
<el-form ref="detailFormRef" :model="detailForm" label-width="130px" class="myMediaDetailForm">
<el-form-item label="业务">
{{ detailForm.dataScopeDeptName }}
</el-form-item>
<div class="splineBar" />
<el-form-item label="状态">
<span v-if="detailForm.state == 1">生效中</span>
<span v-if="detailForm.state == 2">已作废</span>
</el-form-item>
<div class="splineBar" />
<el-form-item label="媒体名称">
{{ detailForm.mediaName }}
</el-form-item>
<div class="splineBar" />
<el-form-item label="媒体编号">
{{ detailForm.mediaCode }}
</el-form-item>
<div class="splineBar" />
<el-form-item label="媒体类型">
{{ detailForm.mediaTypeStr }}
</el-form-item>
<div class="splineBar" />
<el-form-item label="媒体大类">
{{ detailForm.mediaCategoryStr }}
</el-form-item>
<div class="splineBar" />
<el-form-item label="展示形式">
{{ detailForm.displayFormStr }}
</el-form-item>
<div class="splineBar" />
<el-form-item label="是否有照明">
{{ detailForm.hasLighting }}
</el-form-item>
<div class="splineBar" />
<el-form-item label="播放时间">
{{ detailForm.playbackTime }}
</el-form-item>
<div class="splineBar" />
<el-form-item label="日均车流量">
{{ detailForm.dailyAvgVehicleFlow }}
</el-form-item>
<div class="splineBar" />
<el-form-item label="媒体尺寸">
{{ detailForm.mediaSize }}
</el-form-item>
<div class="splineBar" />
<el-form-item label="商圈">
{{ detailForm.provinceName }}{{ detailForm.cityName }}{{ detailForm.areaName }}{{
detailForm.townName }}-{{ detailForm.businessDistrictName }}
</el-form-item>
<div class="splineBar" />
<el-form-item label="地址">
{{ detailForm.address }}
</el-form-item>
<div class="splineBar" />
<el-form-item label="媒体图片" class="moreRowContent">
<el-row :gutter="30" class="my_form_row">
<el-col :span="12" v-for="itemFile in fileList">
<!-- <img :src="baseUrl + itemFile.fileName" fit="fill"
@click.stop="handleCardPreview(itemFile.fileName)"
style="width: 80px; height: 80px; border-radius: 4px; background: #1a75e6; border: 1px solid #d2d2d2; margin-bottom: 20px; cursor: pointer;" /> -->
<el-image
style="width: 80px; height: 80px; border-radius: 4px; background: #1a75e6; border: 1px solid #d2d2d2; margin-bottom: 20px; cursor: pointer;"
:src="baseUrl + itemFile.fileName" :preview-src-list="previewImg" fit="cover"
show-progress>
<template #toolbar="{ actions, prev, next, reset, activeIndex, setActiveItem }">
<el-icon @click="prev">
<Back />
</el-icon>
<el-icon @click="next">
<Right />
</el-icon>
<el-icon @click="setActiveItem(previewImg.length - 1)">
<DArrowRight />
</el-icon>
<el-icon @click="actions('zoomOut')">
<ZoomOut />
</el-icon>
<el-icon @click="actions('zoomIn', { enableTransition: false, zoomRate: 2 })">
<ZoomIn />
</el-icon>
<el-icon @click="
actions('clockwise', { rotateDeg: 180, enableTransition: false })
">
<RefreshRight />
</el-icon>
<el-icon @click="actions('anticlockwise')">
<RefreshLeft />
</el-icon>
<el-icon @click="reset">
<Refresh />
</el-icon>
<!-- <el-icon @click="download(activeIndex)">
<el-image
style="width: 80px; height: 80px; border-radius: 4px; background: #1a75e6; border: 1px solid #d2d2d2; margin-bottom: 20px; cursor: pointer;"
:src="baseUrl + itemFile.fileName" :preview-src-list="previewImg" fit="cover"
show-progress>
<template #toolbar="{ actions, prev, next, reset, activeIndex, setActiveItem }">
<el-icon @click="prev">
<Back />
</el-icon>
<el-icon @click="next">
<Right />
</el-icon>
<el-icon @click="setActiveItem(previewImg.length - 1)">
<DArrowRight />
</el-icon>
<el-icon @click="actions('zoomOut')">
<ZoomOut />
</el-icon>
<el-icon
@click="actions('zoomIn', { enableTransition: false, zoomRate: 2 })">
<ZoomIn />
</el-icon>
<el-icon @click="
actions('clockwise', { rotateDeg: 180, enableTransition: false })
">
<RefreshRight />
</el-icon>
<el-icon @click="actions('anticlockwise')">
<RefreshLeft />
</el-icon>
<el-icon @click="reset">
<Refresh />
</el-icon>
<!-- <el-icon @click="download(activeIndex)">
<Download />
</el-icon> -->
</template>
</el-image>
</el-col>
</el-row>
</el-form-item>
</el-form>
</el-dialog>
</template>
</el-image>
</el-col>
</el-row>
</el-form-item>
</el-form>
</div>
</div>
<export-p-p-t-dialog ref="exportPPTDialogRef" />
</el-card>
@ -268,6 +278,8 @@ import {
Right,
ZoomIn,
ZoomOut,
Close,
Star
} from '@element-plus/icons-vue'
import AMapLoader from "@amap/amap-jsapi-loader"; //
import { sysMediaTypeListByPid } from "@/api/system/mediaType"
@ -427,6 +439,10 @@ const handleViewMedia = (_mediaId) => {
})
}
//
const handleClose = () => {
open.value = false
}
//
const getLocaleListList = (searchValue) => {
@ -562,7 +578,7 @@ const calculateDistance = (point1, point2) => {
const lng1 = point1.lng;
const lat1 = point1.lat;
const lng2 = point2.lng;
const lat2 = point2.lat;
const lat2 = point2.lat;
const radLat1 = lat1 * Math.PI / 180.0;
const radLat2 = lat2 * Math.PI / 180.0;
@ -676,7 +692,7 @@ const addCustomControls = (AMap) => {
const toolRangingBtn = document.createElement('div');
toolRangingBtn.className = 'map-control-btn map-ranging';
toolRangingBtn.setAttribute('title', '测距');
toolRangingBtn.onclick = startRuler;
toolRangingBtn.onclick = startRuler;
//
const toolMeasureAreaBtn = document.createElement('div');
@ -969,15 +985,8 @@ const renderMassMarks = () => {
//
massMarks.value.on('click', function (e) {
hideContextMenu()
handleViewMedia(e.data.mediaId)
});
//
massMarks.value.on('mouseover', function (e) {
var pixel = mapInstance.value.lngLatToContainer(e.data.lnglat);
curMediaInfo.value = e.data
showContextMenu(pixel)
handleViewMedia(e.data.mediaId)
});
// ==================================================
@ -1086,7 +1095,6 @@ const getTownList = (value) => {
}
//
const handleChoseMedia = () => {
hideContextMenu()
if (curMediaInfo.value) {
const rowIndex = multipleChoseArr.value.findIndex(item => item.id == curMediaInfo.value.mediaId)
if (rowIndex == -1) multipleChoseArr.value.push({ id: curMediaInfo.value.mediaId, mediaName: curMediaInfo.value.mediaName })

View File

@ -4,11 +4,11 @@
<el-form :inline="true" v-show="showSearch" class="searchPanelForm">
<el-form-item label="操作地址:" prop="operIp">
<el-input v-model="queryParams.operIp" placeholder="请输入操作地址" clearable style="width: 140px;"
@keyup.enter="handleQuery" />
@keydown.enter.prevent="handleQuery" />
</el-form-item>
<el-form-item label="操作人员:" prop="operName">
<el-input v-model="queryParams.operName" placeholder="请输入操作人员" clearable style="width: 140px;"
@keyup.enter="handleQuery" />
@keydown.enter.prevent="handleQuery" />
</el-form-item>
<el-form-item label="类型:" prop="businessType">
<el-select v-model="queryParams.businessType" placeholder="操作类型" clearable style="min-width: 30px">
@ -39,8 +39,8 @@
<el-col :span="12">
<el-form :inline="true" class="searchInputForm">
<el-form-item label="">
<el-input v-model="queryParams.title" placeholder="请输入系统模块" :prefix-icon="Search"
style="width: 300px;" />
<el-input v-model="queryParams.title" @keydown.enter.prevent="handleQuery" placeholder="请输入系统模块"
:prefix-icon="Search" style="width: 300px;" />
</el-form-item>
</el-form>
</el-col>

View File

@ -4,27 +4,39 @@
<div class="more-search-pane">
<div class="search-where-container">
<el-form :model="queryParams" ref="queryRef" :inline="true" class="searchPanelForm">
<el-form-item label="媒体类型:">
<el-select v-model="queryParams.mediaType" placeholder="请选择" @change="getMediaTypeTwo"
<el-form-item label="城市:">
<el-select v-model="queryParams.provinceCode" placeholder="请选择" @change="getCityList"
clearable style="min-width: 30px">
<el-option v-for="item in mediaTypeOne" :key="item.id" :label="item.name"
<el-option v-for="item in province" :key="item.id" :label="item.name"
:value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="媒体大类:">
<el-select v-model="queryParams.mediaCategory" placeholder="请选择" @change="getMediaTypeThree"
<el-form-item label="">
<el-select v-model="queryParams.cityCode" placeholder="请选择" @change="getCountyList"
clearable style="min-width: 30px">
<el-option v-for="item in mediaTypeTwo" :key="item.id" :label="item.name"
:value="item.id" />
<el-option v-for="item in city" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="展示形式:">
<el-select v-model="queryParams.displayForm" placeholder="请选择" clearable
<el-form-item label="">
<el-select v-model="queryParams.areaCode" placeholder="请选择" @change="getTownList" clearable
style="min-width: 30px">
<el-option v-for="item in mediaTypeThree" :key="item.id" :label="item.name"
<el-option v-for="item in county" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="">
<el-select v-model="queryParams.townCode" placeholder="请选择" @change="getbusinessAreaList"
clearable style="min-width: 30px">
<el-option v-for="item in town" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="商圈:">
<el-select v-model="queryParams.businessDistrictId" placeholder="请选择" clearable
style="min-width: 30px;">
<el-option v-for="item in businessAreaList" :key="item.id" :label="item.name"
:value="item.id" />
</el-select>
</el-form-item>
</el-form>
</div>
<div class="search-more-button">
@ -39,35 +51,21 @@
</div>
<div class="searchSmallPanel" v-show="unfoldFlag">
<el-form :model="queryParams" ref="queryRef" :inline="true" class="searchSmallPanelForm">
<el-form-item label="城市:">
<el-select v-model="queryParams.provinceCode" placeholder="请选择" @change="getCityList" clearable
<el-form-item label="媒体类型:">
<el-select v-model="queryParams.mediaType" placeholder="请选择" @change="getMediaTypeTwo" clearable
style="min-width: 30px">
<el-option v-for="item in province" :key="item.id" :label="item.name" :value="item.id" />
<el-option v-for="item in mediaTypeOne" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="">
<el-select v-model="queryParams.cityCode" placeholder="请选择" @change="getCountyList" clearable
style="min-width: 30px">
<el-option v-for="item in city" :key="item.id" :label="item.name" :value="item.id" />
<el-form-item label="媒体大类:">
<el-select v-model="queryParams.mediaCategory" placeholder="请选择" @change="getMediaTypeThree"
clearable style="min-width: 30px">
<el-option v-for="item in mediaTypeTwo" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="">
<el-select v-model="queryParams.areaCode" placeholder="请选择" @change="getTownList" clearable
style="min-width: 30px">
<el-option v-for="item in county" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="">
<el-select v-model="queryParams.townCode" placeholder="请选择" @change="getbusinessAreaList" clearable
style="min-width: 30px">
<el-option v-for="item in town" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="商圈:">
<el-select v-model="queryParams.businessDistrictId" placeholder="请选择" clearable
style="min-width: 30px;">
<el-option v-for="item in businessAreaList" :key="item.id" :label="item.name"
:value="item.id" />
<el-form-item label="展示形式:">
<el-select v-model="queryParams.displayForm" placeholder="请选择" clearable style="min-width: 30px">
<el-option v-for="item in mediaTypeThree" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
</el-form>
@ -91,16 +89,16 @@
<el-col :span="8">
<el-form :model="queryParams" ref="queryRef" :inline="true" class="searchInputForm">
<el-form-item label="">
<el-input v-model="queryParams.keyword" placeholder="请输入媒体名称/媒体编号" :prefix-icon="Search"
<el-input v-model="queryParams.keyword" @keydown.enter.prevent="handleQuery" placeholder="请输入媒体名称/媒体编号" :prefix-icon="Search"
style="width: 400px;" />
</el-form-item>
</el-form>
</el-col>
<el-col :span="16" style="text-align: right;">
<el-button type="primary" class="primaryBtn" @click="handleQuery">查询</el-button>
<el-button type="primary" class="primaryBtn" @click="resetQuery">重置</el-button>
<el-button type="primary" class="primaryBtn" @click="handleExportMore">PPT批量导出</el-button>
<el-button type="primary" class="primaryBtn" @click="handleClearChoseMedia">清空所选媒体</el-button>
<el-button type="primary" class="primaryBtn" v-hasPermi="['outdoorMedia:query']" @click="handleQuery">查询</el-button>
<el-button type="primary" class="primaryBtn" v-hasPermi="['outdoorMedia:reset']" @click="resetQuery">重置</el-button>
<el-button type="primary" class="primaryBtn" v-hasPermi="['outdoorMedia:exportPPTS']" @click="handleExportMore">PPT批量导出</el-button>
<el-button type="primary" class="primaryBtn" v-hasPermi="['outdoorMedia:clear']" @click="handleClearChoseMedia">清空所选媒体</el-button>
</el-col>
</el-row>
<el-row :gutter="10" class="my_row" style="margin-bottom: 0;">
@ -123,10 +121,10 @@
<template #default="scope">
<el-popover popper-class="my_popover" placement="left-start">
<div class="popBtns" @click="handleViewMedia(scope.row.id)"
v-hasPermi="['problemFeedback:edit']">查看
v-hasPermi="['outdoorMedia:detail']">查看
</div>
<div class="popBtns" @click="handleDownPPT(scope.row)"
v-hasPermi="['problemFeedback:edit']">下载PPT</div>
v-hasPermi="['outdoorMedia:exportPPT']">下载PPT</div>
<template #reference>
<img style="cursor: pointer;" :src="scope.row.currentImageSrc"
@mouseenter="scope.row.currentImageSrc = hoverImageSrc"
@ -372,22 +370,21 @@ const getOutMediaPageList = () => {
points.value = []
res.data.rows.forEach(itemPoint => {
itemPoint.currentImageSrc = defaultImageSrc.value;
if (itemPoint.dataScopeDeptId == 220) points.value.push({ "lnglat": [itemPoint.mapX, itemPoint.mapY], "name": itemPoint.mediaName, "mediaId": itemPoint.id, "style": 0 })
else if (itemPoint.dataScopeDeptId == 219) points.value.push({ "lnglat": [itemPoint.mapX, itemPoint.mapY], "name": itemPoint.mediaName, "mediaId": itemPoint.id, "style": 1 })
//
const lng = itemPoint.mapX;
const lat = itemPoint.mapY;
if (lng < minLng) minLng = lng;
if (lat < minLat) minLat = lat;
if (lng > maxLng) maxLng = lng;
if (lat > maxLat) maxLat = lat;
if (itemPoint.mapX && itemPoint.mapX !== '' && itemPoint.mapY && itemPoint.mapY !== '') {
if (itemPoint.dataScopeDeptId == 220) points.value.push({ "lnglat": [itemPoint.mapX, itemPoint.mapY], "name": itemPoint.mediaName, "mediaId": itemPoint.id, "style": 0 })
else if (itemPoint.dataScopeDeptId == 219) points.value.push({ "lnglat": [itemPoint.mapX, itemPoint.mapY], "name": itemPoint.mediaName, "mediaId": itemPoint.id, "style": 1 })
//
const lng = itemPoint.mapX;
const lat = itemPoint.mapY;
if (lng < minLng) minLng = lng;
if (lat < minLat) minLat = lat;
if (lng > maxLng) maxLng = lng;
if (lat > maxLat) maxLat = lat;
}
});
outdoorMediaList.value = res.data.rows
total.value = res.data.total
loading.value = false
}).then(res => {
//
renderMassMarks();
})
@ -522,11 +519,11 @@ const addCustomControls = (AMap) => {
fullscreenBtn.className = isFullscreen.value === true ? 'map-control-btn map-full-screen' : 'map-control-btn map-nofull-screen';
fullscreenBtn.onclick = toggleFullscreen;
//
//
const toolRangingBtn = document.createElement('div');
toolRangingBtn.className = 'map-control-btn map-ranging';
toolRangingBtn.setAttribute('title', '测距');
toolRangingBtn.onclick = startRuler;
toolRangingBtn.onclick = startRuler;
//
const toolMeasureAreaBtn = document.createElement('div');

View File

@ -21,10 +21,10 @@
<el-card class="mt20">
<el-row :gutter="10" class="my_row">
<el-col :span="24">
<el-button type="primary" class="primaryBtn" @click="handleQuery">查询</el-button>
<el-button type="primary" class="primaryBtn" @click="resetQuery">重置</el-button>
<el-button type="primary" class="primaryBtn" @click="handleAdd">新建</el-button>
<el-button type="primary" class="primaryBtn" @click="handleImport">导入</el-button>
<el-button type="primary" class="primaryBtn" v-hasPermi="['pitchPrice:query']" @click="handleQuery">查询</el-button>
<el-button type="primary" class="primaryBtn" v-hasPermi="['pitchPrice:reset']" @click="resetQuery">重置</el-button>
<el-button type="primary" class="primaryBtn" v-hasPermi="['pitchPrice:add']" @click="handleAdd">新建</el-button>
<el-button type="primary" class="primaryBtn" v-hasPermi="['pitchPrice:import']" @click="handleImport">导入</el-button>
</el-col>
</el-row>
@ -50,9 +50,9 @@
<el-table-column label="操作" width="130" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" @click="handleUpdate(scope.row)"
v-hasPermi="['problemFeedback:edit']">修改</el-button>
v-hasPermi="['pitchPrice:edit']">修改</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)"
v-hasPermi="['problemFeedback:remove']">删除</el-button>
v-hasPermi="['pitchPrice:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
@ -77,9 +77,9 @@
<el-table-column label="操作" width="130" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" @click="handleUpdate(scope.row)"
v-hasPermi="['problemFeedback:edit']">修改</el-button>
v-hasPermi="['pitchPrice:edit']">修改</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)"
v-hasPermi="['problemFeedback:remove']">删除</el-button>
v-hasPermi="['pitchPrice:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
@ -104,9 +104,9 @@
<el-table-column label="操作" width="130" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" @click="handleUpdate(scope.row)"
v-hasPermi="['problemFeedback:edit']">修改</el-button>
v-hasPermi="['pitchPrice:edit']">修改</el-button>
<el-button link type="primary" @click="handleDelete(scope.row)"
v-hasPermi="['problemFeedback:remove']">删除</el-button>
v-hasPermi="['pitchPrice:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>

View File

@ -14,14 +14,16 @@
<el-col :span="12">
<el-form :inline="true" class="searchInputForm">
<el-form-item label="">
<el-input v-model="queryParams.feedbackUser" placeholder="请输入反馈人" :prefix-icon="Search"
style="width: 300px;" />
<el-input v-model="queryParams.feedbackUser" @keydown.enter.prevent="handleQuery"
placeholder="请输入反馈人" :prefix-icon="Search" style="width: 300px;" />
</el-form-item>
</el-form>
</el-col>
<el-col :span="12" style="text-align: right;">
<el-button type="primary" class="primaryBtn" @click="handleQuery">查询</el-button>
<el-button type="primary" class="primaryBtn" @click="resetQuery">重置</el-button>
<el-button type="primary" class="primaryBtn" v-hasPermi="['problemFeedback:query']"
@click="handleQuery">查询</el-button>
<el-button type="primary" class="primaryBtn" v-hasPermi="['problemFeedback:reset']"
@click="resetQuery">重置</el-button>
</el-col>
</el-row>

View File

@ -4,26 +4,33 @@
<div class="searchPanel">
<div class="more-search-pane">
<div class="search-where-container">
<el-form :inline="true" class="searchPanelForm">
<el-form-item label="发票类型:">
<el-select v-model="queryParams.invoiceType" placeholder="请选择" style="min-width: 30px;"
clearable>
<el-option v-for="dict in invoice_type" :key="dict.value" :label="dict.label"
:value="dict.value" />
<el-form :inline="true" class="searchPanelForm">
<el-form-item label="业务部门:">
<el-select v-model="queryParams.yewuDept" placeholder="请选择" clearable
style="min-width: 30px;">
<el-option v-for="item in deptList" :key="item.deptId" :label="item.deptName"
:value="item.deptName" />
</el-select>
</el-form-item>
<el-form-item label="媒体归属:">
<el-select v-model="queryParams.meitiGuishu" placeholder="请选择" style="min-width: 30px;"
clearable>
<el-option v-for="dict in media_ownership" :key="dict.value" :label="dict.label"
:value="dict.value" />
<el-form-item label="城市:">
<el-select v-model="queryParams.provinceId" placeholder="请选择" @change="getCityList"
clearable style="min-width: 30px">
<el-option v-for="item in province" :key="item.id" :label="item.name"
:value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="人员规模:">
<el-select v-model="queryParams.renyuanSize" placeholder="请选择" style="min-width: 30px;"
clearable>
<el-option v-for="dict in personnel_size" :key="dict.value" :label="dict.label"
:value="dict.value" />
<el-form-item label="">
<el-select v-model="queryParams.cityId" placeholder="请选择" @change="getCountyList"
clearable style="min-width: 30px">
<el-option v-for="item in city" :key="item.id" :label="item.name"
:value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="">
<el-select v-model="queryParams.countyId" placeholder="请选择" clearable
style="min-width: 30px">
<el-option v-for="item in county" :key="item.id" :label="item.name"
:value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="主营媒体类型:">
@ -33,20 +40,6 @@
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="媒体质量:">
<el-select v-model="queryParams.meitiZhiliang" placeholder="请选择"
style="min-width: 30px;" clearable>
<el-option v-for="dict in media_quality" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="有无合作历史:">
<el-select v-model="queryParams.isCooperation" placeholder="请选择"
style="min-width: 30px;" clearable>
<el-option v-for="dict in history_cooperation" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="供应商级别:">
<el-select v-model="queryParams.supplierLevel" placeholder="请选择"
style="min-width: 30px;" clearable>
@ -82,27 +75,39 @@
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="业务部门:">
<el-select v-model="queryParams.yewuDept" placeholder="请选择" clearable style="min-width: 30px;">
<el-option v-for="item in deptList" :key="item.deptId" :label="item.deptName"
:value="item.deptName" />
<el-form-item label="媒体归属:">
<el-select v-model="queryParams.meitiGuishu" placeholder="请选择" style="min-width: 30px;"
clearable>
<el-option v-for="dict in media_ownership" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="城市:">
<el-select v-model="queryParams.provinceId" placeholder="请选择" @change="getCityList" clearable
style="min-width: 30px">
<el-option v-for="item in province" :key="item.id" :label="item.name" :value="item.id" />
<el-form-item label="人员规模:">
<el-select v-model="queryParams.renyuanSize" placeholder="请选择" style="min-width: 30px;"
clearable>
<el-option v-for="dict in personnel_size" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="">
<el-select v-model="queryParams.cityId" placeholder="请选择" @change="getCountyList" clearable
style="min-width: 30px">
<el-option v-for="item in city" :key="item.id" :label="item.name" :value="item.id" />
<el-form-item label="媒体质量:">
<el-select v-model="queryParams.meitiZhiliang" placeholder="请选择" style="min-width: 30px;"
clearable>
<el-option v-for="dict in media_quality" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="">
<el-select v-model="queryParams.countyId" placeholder="请选择" clearable style="min-width: 30px">
<el-option v-for="item in county" :key="item.id" :label="item.name" :value="item.id" />
<el-form-item label="有无合作历史:">
<el-select v-model="queryParams.isCooperation" placeholder="请选择" style="min-width: 30px;"
clearable>
<el-option v-for="dict in history_cooperation" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="发票类型:">
<el-select v-model="queryParams.invoiceType" placeholder="请选择" style="min-width: 30px;"
clearable>
<el-option v-for="dict in invoice_type" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-form>
@ -113,18 +118,18 @@
<el-col :span="12">
<el-form :inline="true" class="searchInputForm">
<el-form-item label="">
<el-input v-model="queryParams.keyword" placeholder="请输入供应商名称/集团公司名称/联系人/联系人电话"
<el-input v-model="queryParams.keyword" @keydown.enter.prevent="handleQuery" placeholder="请输入供应商名称/集团公司名称/联系人/联系人电话"
:prefix-icon="Search" style="width: 500px;" />
</el-form-item>
</el-form>
</el-col>
<el-col :span="12" style="text-align: right;">
<el-button type="primary" class="primaryBtn" @click="handleQuery">查询</el-button>
<el-button type="primary" class="primaryBtn" @click="resetQuery">重置</el-button>
<el-button type="primary" class="primaryBtn" @click="handleOpenAddForm">新增</el-button>
<el-button type="primary" class="primaryBtn" @click="handleImport">导入</el-button>
<el-button type="primary" class="primaryBtn" @click="handleExport">导出</el-button>
<el-button type="primary" class="primaryBtn" @click="handleGoPitchPrice">比稿价管理</el-button>
<el-button type="primary" class="primaryBtn" v-hasPermi="['supplier:query']" @click="handleQuery">查询</el-button>
<el-button type="primary" class="primaryBtn" v-hasPermi="['supplier:reset']" @click="resetQuery">重置</el-button>
<el-button type="primary" class="primaryBtn" v-hasPermi="['supplier:add']" @click="handleOpenAddForm">新增</el-button>
<el-button type="primary" class="primaryBtn" v-hasPermi="['supplier:import']" @click="handleImport">导入</el-button>
<el-button type="primary" class="primaryBtn" v-hasPermi="['supplier:export']" @click="handleExport">导出</el-button>
<el-button type="primary" class="primaryBtn" v-hasPermi="['pitchPrice:list']" @click="handleGoPitchPrice">比稿价管理</el-button>
</el-col>
</el-row>
@ -140,7 +145,7 @@
<template #default="scope">
<span class="supplierNameLabel" @click="handleOpenDetail(scope.row.supplierId)">{{
scope.row.supplierName
}}</span>
}}</span>
</template>
</el-table-column>
<el-table-column label="城市" align="left" prop="supplierCity" width="180"
@ -180,11 +185,11 @@
<template #default="scope">
<el-popover popper-class="my_popover" placement="left-start">
<div class="popBtns" @click="handleUpdate(scope.row)"
v-hasPermi="['problemFeedback:edit']">修改</div>
v-hasPermi="['supplier:update']">修改</div>
<div class="popBtns" @click="handleDelete(scope.row)"
v-hasPermi="['problemFeedback:edit']">删除</div>
v-hasPermi="['supplier:delete']">删除</div>
<div class="popBtns" @click="handleLogs(scope.row)"
v-hasPermi="['problemFeedback:edit']">日志</div>
v-hasPermi="['supplier:log']">日志</div>
<template #reference>
<img style="cursor: pointer;" :src="scope.row.currentImageSrc"
@mouseenter="scope.row.currentImageSrc = hoverImageSrc"
@ -388,13 +393,13 @@ const requestDocUpload = (options) => {
const { file } = options
var formData = new FormData();
formData.append('file', file);
importSupplier(formData).then(res => {
importSupplier(formData).then(res => {
if (res.code == 200) {
proxy.$modal.msgSuccess("导入成功")
proxy.$modal.closeLoading()
uploadOpen.value = false
getSupplierPageList()
} else {
} else {
proxy.$modal.closeLoading()
proxy.$modal.msgError(res.msg);
}

View File

@ -21,7 +21,7 @@ onMounted(() => {
const _supplierId = route.params && route.params.supplierId
if (_supplierId) {
console.log('接收id', _supplierId)
supplierDetailRef.value.getSupplierInfo(_supplierId)
supplierDetailRef.value.linkGetSupplierInfo(_supplierId)
}
});
</script>

View File

@ -20,7 +20,7 @@ onMounted(() => {
const _supplierId = route.params && route.params.supplierId
if (_supplierId) {
console.log('接收id', _supplierId)
supplierFormRef.value.initForm('编辑供应商', { supplierId: _supplierId })
supplierFormRef.value.linkInitForm('编辑供应商', { supplierId: _supplierId })
}
});
</script>

View File

@ -3,7 +3,7 @@
<template #header>
<div class="card-header">
<span>供应商信息</span>
<el-icon style="float: right;cursor: pointer;" @click="handleClose">
<el-icon style="float: right;cursor: pointer;" @click="handleClose" v-if="showClose">
<Close />
</el-icon>
</div>
@ -293,7 +293,7 @@ const mediaRightsRef = ref(null)
const businessLicenseList = ref([])
const otherFileList = ref([])
const mediaRightsList = ref([])
const showClose = ref(true)
const handleClose = () => {
emit('handleShowList')
}
@ -305,6 +305,22 @@ const handleOpenMedio = () => {
}
//
const getSupplierInfo = (_supplierId) => {
showClose.value = true
getBusSupplier(_supplierId).then(res => {
detailForm.value = res.data
if (detailForm.value.busSupplierFileList && detailForm.value.busSupplierFileList.length > 0) {
businessLicenseList.value = detailForm.value.busSupplierFileList.filter(item => item.fileType == 1)
mediaRightsList.value = detailForm.value.busSupplierFileList.filter(item => item.fileType == 2)
otherFileList.value = detailForm.value.busSupplierFileList.filter(item => item.fileType == 9)
businessLicenseRef.value?.setFileInfo(businessLicenseList.value)
otherFileRef.value?.setFileInfo(otherFileList.value)
mediaRightsRef.value?.setFileInfo(mediaRightsList.value)
}
})
}
//
const linkGetSupplierInfo = (_supplierId) => {
showClose.value = false
getBusSupplier(_supplierId).then(res => {
detailForm.value = res.data
if (detailForm.value.busSupplierFileList && detailForm.value.busSupplierFileList.length > 0) {
@ -319,7 +335,8 @@ const getSupplierInfo = (_supplierId) => {
}
// \
defineExpose({
getSupplierInfo
getSupplierInfo,
linkGetSupplierInfo
});
</script>
<style lang='scss'>

View File

@ -3,7 +3,7 @@
<template #header>
<div class="card-header">
<span>{{ formTitle }}</span>
<el-icon style="float: right;cursor: pointer;" @click="handleClose">
<el-icon style="float: right;cursor: pointer;" @click="handleClose" v-if="showClose">
<Close />
</el-icon>
</div>
@ -338,6 +338,7 @@ const { proxy } = getCurrentInstance()
const emit = defineEmits(['handleShowList']);
const userStore = useUserStore()
const showClose = ref(true)
const formTitle = ref('新建')
//
const province = ref([])
@ -547,6 +548,7 @@ async function handleResponse(response) {
}
//
const initForm = (_formTitle, _ruleForm) => {
showClose.value = true
formTitle.value = _formTitle
ruleForm.value = _ruleForm
getDepList()
@ -563,8 +565,28 @@ const initForm = (_formTitle, _ruleForm) => {
});
}
//
const linkInitForm = (_formTitle, _ruleForm) => {
showClose.value = false
formTitle.value = _formTitle
ruleForm.value = _ruleForm
getDepList()
getProvinceList()
if (ruleForm.value.supplierId) getSupplierInfo()
else {
ruleForm.value.dockingName = userStore.name
ruleForm.value.dockingPhone = userStore.phoneNumber
}
nextTick(() => {
businessLicenseRef.value._fileType = 1
otherFileRef.value._fileType = 9
mediaRightsRef.value._fileType = 2
});
}
// \
defineExpose({
initForm
initForm,
linkInitForm
});
</script>

View File

@ -39,8 +39,8 @@
<el-col :span="12">
<el-form :inline="true" class="searchInputForm">
<el-form-item label="">
<el-input v-model="queryParams.name" placeholder="请输入商圈名称" :prefix-icon="Search"
style="width: 300px;" />
<el-input v-model="queryParams.name" @keydown.enter.prevent="handleQuery"
placeholder="请输入商圈名称" :prefix-icon="Search" style="width: 300px;" />
</el-form-item>
</el-form>
</el-col>
@ -165,8 +165,7 @@ const data = reactive({
})
const { queryParams, form, rules } = toRefs(data)
/** 查询商圈列表 */
const getbusinessAreaList = () => {
loading.value = true

View File

@ -20,8 +20,8 @@
<el-col :span="12">
<el-form :inline="true" class="searchInputForm">
<el-form-item label="">
<el-input v-model="queryParams.deptName" placeholder="请输入部门名称" :prefix-icon="Search"
style="width: 300px;" />
<el-input v-model="queryParams.deptName" @keydown.enter.prevent="handleQuery" placeholder="请输入部门名称"
:prefix-icon="Search" style="width: 300px;" />
</el-form-item>
</el-form>
</el-col>
@ -108,7 +108,7 @@
<el-form-item label="部门状态">
<el-radio-group v-model="form.status">
<el-radio v-for="dict in sys_normal_disable" :key="dict.value" :value="dict.value">{{ dict.label
}}</el-radio>
}}</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
@ -171,7 +171,7 @@ const data = reactive({
})
const { queryParams, form, rules } = toRefs(data)
/** 查询部门列表 */
function getList() {
loading.value = true
@ -260,7 +260,7 @@ function toggleExpandAll() {
})
}
const getUserInfo = () => {
getUser(form.value.leaderId).then(res => {
getUser(form.value.leaderId).then(res => {
leaderList.value = [
{ userId: res.data.userId, realName: res.data.realName }
]

View File

@ -26,8 +26,8 @@
<el-col :span="12">
<el-form :inline="true" class="searchInputForm">
<el-form-item label="">
<el-input v-model="queryParams.dictLabel" placeholder="请输入字典标签" :prefix-icon="Search"
style="width: 300px;" />
<el-input v-model="queryParams.dictLabel" @keydown.enter.prevent="handleQuery" placeholder="请输入字典标签"
:prefix-icon="Search" style="width: 300px;" />
</el-form-item>
</el-form>
</el-col>
@ -118,7 +118,7 @@
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio v-for="dict in sys_normal_disable" :key="dict.value" :value="dict.value">{{ dict.label
}}</el-radio>
}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
@ -187,7 +187,7 @@ const data = reactive({
})
const { queryParams, form, rules } = toRefs(data)
/** 查询字典类型详细 */
function getTypes(dictId) {
getType(dictId).then(response => {

View File

@ -30,8 +30,8 @@
<el-col :span="12">
<el-form :inline="true" class="searchInputForm">
<el-form-item label="">
<el-input v-model="queryParams.dictName" placeholder="请输入字典名称" :prefix-icon="Search"
style="width: 300px;" />
<el-input v-model="queryParams.dictName" @keydown.enter.prevent="handleQuery" placeholder="请输入字典名称"
:prefix-icon="Search" style="width: 300px;" />
</el-form-item>
</el-form>
</el-col>
@ -101,7 +101,7 @@
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio v-for="dict in sys_normal_disable" :key="dict.value" :value="dict.value">{{ dict.label
}}</el-radio>
}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
@ -157,7 +157,7 @@ const data = reactive({
})
const { queryParams, form, rules } = toRefs(data)
/** 查询字典类型列表 */
function getList() {
loading.value = true

View File

@ -22,8 +22,8 @@
<el-col :span="12">
<el-form :inline="true" class="searchInputForm">
<el-form-item label="">
<el-input v-model="queryParams.menuName" placeholder="请输入菜单名称" :prefix-icon="Search"
style="width: 300px;" />
<el-input v-model="queryParams.menuName" @keydown.enter.prevent="handleQuery" placeholder="请输入菜单名称"
:prefix-icon="Search" style="width: 300px;" />
</el-form-item>
</el-form>
</el-col>
@ -302,7 +302,7 @@ const data = reactive({
})
const { queryParams, form, rules } = toRefs(data)
/** 查询菜单列表 */
function getList() {
loading.value = true

View File

@ -24,8 +24,8 @@
<el-col :span="12">
<el-form :inline="true" class="searchInputForm">
<el-form-item label="">
<el-input v-model="queryParams.postName" placeholder="请输入岗位名称" :prefix-icon="Search"
style="width: 300px;" />
<el-input v-model="queryParams.postName" @keydown.enter.prevent="handleQuery" placeholder="请输入岗位名称"
:prefix-icon="Search" style="width: 300px;" />
</el-form-item>
</el-form>
</el-col>
@ -42,7 +42,7 @@
v-hasPermi="['system:post:export']">导出</el-button>
</el-col>
</el-row>
<el-table v-loading="loading" :data="postList" @selection-change="handleSelectionChange"
height="calc(100vh - 368px)">
<el-table-column type="selection" width="55" align="center" />
@ -92,7 +92,7 @@
<el-form-item label="岗位状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio v-for="dict in sys_normal_disable" :key="dict.value" :value="dict.value">{{ dict.label
}}</el-radio>
}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
@ -147,7 +147,7 @@ const data = reactive({
})
const { queryParams, form, rules } = toRefs(data)
/** 查询岗位列表 */
function getList() {
loading.value = true

View File

@ -10,8 +10,8 @@
<el-col :span="12">
<el-form :model="queryParams" ref="queryRef" :inline="true" class="searchInputForm">
<el-form-item label="" prop="templateName">
<el-input v-model="queryParams.templateName" placeholder="请输入模板名称" :prefix-icon="Search"
style="width: 300px;" />
<el-input v-model="queryParams.templateName" @keydown.enter.prevent="handleQuery"
placeholder="请输入模板名称" :prefix-icon="Search" style="width: 300px;" />
</el-form-item>
</el-form>
</el-col>
@ -173,7 +173,7 @@ const handleAdd = () => {
const handleUpdate = (row) => {
reset()
getPptTemplate(row.id).then(response => {
form.value = response.data
form.value = response.data
docUploadList.value.push({
name: form.value.originalFileName,
url: form.value.fileUrl,

View File

@ -19,8 +19,8 @@
<el-col :span="12">
<el-form :inline="true" class="searchInputForm">
<el-form-item label="">
<el-input v-model="queryParams.userName" placeholder="请输入用户登录名" :prefix-icon="Search"
style="width: 300px;" />
<el-input v-model="queryParams.userName" @keydown.enter.prevent="handleQuery" placeholder="请输入用户登录名"
:prefix-icon="Search" style="width: 300px;" />
</el-form-item>
</el-form>
</el-col>

View File

@ -28,8 +28,8 @@
<el-col :span="12">
<el-form :inline="true" class="searchInputForm">
<el-form-item label="">
<el-input v-model="queryParams.roleName" placeholder="请输入角色名称" :prefix-icon="Search"
style="width: 300px;" />
<el-input v-model="queryParams.roleName" @keydown.enter.prevent="handleQuery" placeholder="请输入角色名称"
:prefix-icon="Search" style="width: 300px;" />
</el-form-item>
</el-form>
</el-col>
@ -227,7 +227,7 @@ const data = reactive({
})
const { queryParams, form, rules } = toRefs(data)
/** 查询角色列表 */
function getList() {
loading.value = true

View File

@ -34,8 +34,8 @@
<el-col :span="12">
<el-form :inline="true" class="searchInputForm">
<el-form-item label="">
<el-input v-model="queryParams.realName" placeholder="请输入用户姓名" :prefix-icon="Search"
style="width: 300px;" />
<el-input v-model="queryParams.realName" @keydown.enter.prevent="handleQuery" placeholder="请输入用户姓名"
:prefix-icon="Search" style="width: 300px;" />
</el-form-item>
</el-form>
</el-col>
@ -322,7 +322,7 @@ const data = reactive({
}
})
const { queryParams, form, rules } = toRefs(data)
const { queryParams, form, rules } = toRefs(data)
/** 通过条件过滤节点 */
const filterNode = (value, data) => {