2025-08-08 18:02:09 +08:00
|
|
|
<template>
|
|
|
|
|
<div class="app-container">
|
2025-08-25 22:18:21 +08:00
|
|
|
<div v-if="!showForm && !showDetail && !showLogs">
|
2025-08-08 18:02:09 +08:00
|
|
|
<div class="searchPanel">
|
|
|
|
|
<div class="more-search-pane">
|
|
|
|
|
<div class="search-where-container">
|
2025-09-09 14:52:18 +08:00
|
|
|
<el-form :model="queryParams" :inline="true" class="searchPanelForm">
|
2025-09-01 15:29:22 +08:00
|
|
|
<el-form-item label="媒体类型:">
|
2025-09-09 14:52:18 +08:00
|
|
|
<el-select v-model="queryParams.mediaType" placeholder="请选择" @change="getMediaTypeTwo"
|
|
|
|
|
clearable style="min-width: 30px">
|
2025-09-01 15:29:22 +08:00
|
|
|
<el-option v-for="item in mediaTypeOne" :key="item.id" :label="item.name"
|
|
|
|
|
:value="item.id" />
|
2025-08-08 18:02:09 +08:00
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
2025-09-01 23:00:15 +08:00
|
|
|
<el-form-item label="媒体大类:">
|
2025-09-09 14:52:18 +08:00
|
|
|
<el-select v-model="queryParams.mediaCategory" placeholder="请选择"
|
2025-09-01 15:29:22 +08:00
|
|
|
@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>
|
2025-09-01 23:00:15 +08:00
|
|
|
<el-form-item label="展示形式:">
|
2025-09-09 14:52:18 +08:00
|
|
|
<el-select v-model="queryParams.displayForm" placeholder="请选择" clearable
|
2025-09-01 15:29:22 +08:00
|
|
|
style="min-width: 30px">
|
|
|
|
|
<el-option v-for="item in mediaTypeThree" :key="item.id" :label="item.name"
|
|
|
|
|
:value="item.id" />
|
2025-08-08 18:02:09 +08:00
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="归属:">
|
2025-09-09 14:52:18 +08:00
|
|
|
<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" />
|
2025-08-08 18:02:09 +08:00
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
2025-09-09 14:52:18 +08:00
|
|
|
<el-form-item label="业务部门:">
|
2025-09-12 17:20:26 +08:00
|
|
|
<el-select v-model="queryParams.dataScopeDeptId" placeholder="请选择" clearable
|
2025-09-01 15:29:22 +08:00
|
|
|
style="min-width: 30px;">
|
2025-09-09 14:52:18 +08:00
|
|
|
<el-option v-for="item in deptList" :key="item.deptId" :label="item.deptName"
|
2025-09-12 17:20:26 +08:00
|
|
|
:value="item.deptId" />
|
2025-08-08 18:02:09 +08:00
|
|
|
</el-select>
|
2025-09-02 22:55:31 +08:00
|
|
|
</el-form-item>
|
2025-09-01 15:29:22 +08:00
|
|
|
<el-form-item label="状态:">
|
2025-09-09 14:52:18 +08:00
|
|
|
<el-select v-model="queryParams.state" placeholder="请选择" style="min-width: 30px;"
|
2025-08-08 18:02:09 +08:00
|
|
|
clearable>
|
2025-09-01 15:29:22 +08:00
|
|
|
<el-option v-for="dict in media_status" :key="dict.value" :label="dict.label"
|
2025-08-08 18:02:09 +08:00
|
|
|
:value="dict.value" />
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="search-more-button">
|
|
|
|
|
<el-button v-if="!unfoldFlag" text class="foladText" @click="handleFlod">展开
|
|
|
|
|
<svg-icon icon-class="unfold" class="ml10" />
|
|
|
|
|
</el-button>
|
|
|
|
|
<el-button v-else text class="foladText" @click="handleFlod">收起
|
|
|
|
|
<svg-icon icon-class="packUp" class="ml10" />
|
|
|
|
|
</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="searchSmallPanel" v-show="unfoldFlag">
|
2025-09-09 14:52:18 +08:00
|
|
|
<el-form :model="queryParams" :inline="true" class="searchSmallPanelForm">
|
2025-08-08 18:02:09 +08:00
|
|
|
<el-form-item label="城市:">
|
2025-09-09 14:52:18 +08:00
|
|
|
<el-select v-model="queryParams.provinceCode" placeholder="请选择" @change="getCityList" clearable
|
2025-08-12 20:14:41 +08:00
|
|
|
style="min-width: 30px">
|
|
|
|
|
<el-option v-for="item in province" :key="item.id" :label="item.name" :value="item.id" />
|
2025-08-08 18:02:09 +08:00
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="">
|
2025-09-09 14:52:18 +08:00
|
|
|
<el-select v-model="queryParams.cityCode" placeholder="请选择" @change="getCountyList" clearable
|
2025-08-12 20:14:41 +08:00
|
|
|
style="min-width: 30px">
|
|
|
|
|
<el-option v-for="item in city" :key="item.id" :label="item.name" :value="item.id" />
|
2025-08-08 18:02:09 +08:00
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="">
|
2025-09-09 14:52:18 +08:00
|
|
|
<el-select v-model="queryParams.areaCode" placeholder="请选择" @change="getTownList" clearable
|
2025-08-12 20:14:41 +08:00
|
|
|
style="min-width: 30px">
|
|
|
|
|
<el-option v-for="item in county" :key="item.id" :label="item.name" :value="item.id" />
|
2025-08-08 18:02:09 +08:00
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="">
|
2025-09-09 14:52:18 +08:00
|
|
|
<el-select v-model="queryParams.townCode" placeholder="请选择" @change="getbusinessAreaList"
|
|
|
|
|
clearable style="min-width: 30px">
|
2025-08-12 20:14:41 +08:00
|
|
|
<el-option v-for="item in town" :key="item.id" :label="item.name" :value="item.id" />
|
2025-08-08 18:02:09 +08:00
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
2025-09-01 23:00:15 +08:00
|
|
|
<el-form-item label="商圈:">
|
2025-09-09 14:52:18 +08:00
|
|
|
<el-select v-model="queryParams.businessDistrictId" placeholder="请选择" clearable
|
2025-08-08 18:02:09 +08:00
|
|
|
style="min-width: 30px;">
|
2025-09-09 14:52:18 +08:00
|
|
|
<el-option v-for="item in businessAreaList" :key="item.id" :label="item.name"
|
|
|
|
|
:value="item.id" />
|
2025-08-08 18:02:09 +08:00
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="choseResultPanel">
|
|
|
|
|
<el-form :inline="true" class="searchSmallPanelForm">
|
|
|
|
|
<el-form-item label="已选媒体:">
|
|
|
|
|
<div v-if="multipleChoseArr.length == 0" class="noChoseLabel">未选择媒体</div>
|
|
|
|
|
<template v-else>
|
|
|
|
|
<el-tag v-for="tag in multipleChoseArr" :key="tag.id" class="choseResultTag"
|
|
|
|
|
@close="handleCloseTag(tag)" closable>
|
|
|
|
|
{{ tag.mediaName }}
|
|
|
|
|
</el-tag>
|
|
|
|
|
</template>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<el-card class="mt10">
|
|
|
|
|
<el-row :gutter="10" class="my_row"><el-col :span="8">
|
2025-09-09 14:52:18 +08:00
|
|
|
<el-form :model="queryParams" :inline="true" class="searchInputForm">
|
2025-08-08 18:02:09 +08:00
|
|
|
<el-form-item label="">
|
2025-09-10 23:07:21 +08:00
|
|
|
<el-input v-model="queryParams.keyword" placeholder="请输入媒体名称/媒体编号" :prefix-icon="Search"
|
|
|
|
|
style="width: 400px;" />
|
2025-08-08 18:02:09 +08:00
|
|
|
</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>
|
2025-09-01 14:06:19 +08:00
|
|
|
<el-dropdown placement="bottom-start" style="margin-left: 12px;">
|
2025-09-01 15:29:22 +08:00
|
|
|
<el-button type="primary" class="primaryBtn">导入报价</el-button>
|
2025-09-01 14:06:19 +08:00
|
|
|
<template #dropdown>
|
|
|
|
|
<el-dropdown-menu>
|
|
|
|
|
<el-dropdown-item class="dropItem"
|
2025-09-15 16:03:31 +08:00
|
|
|
@click="handleImport(0)">导入优势媒体报价</el-dropdown-item>
|
2025-09-01 14:06:19 +08:00
|
|
|
<el-dropdown-item class="dropItem"
|
2025-09-15 16:03:31 +08:00
|
|
|
@click="handleImport(1)">导入门禁媒体报价</el-dropdown-item>
|
2025-09-11 17:08:28 +08:00
|
|
|
<el-dropdown-item class="dropItem"
|
2025-09-15 16:03:31 +08:00
|
|
|
@click="handleImport(2)">导入候车厅媒体报价</el-dropdown-item>
|
2025-09-11 17:08:28 +08:00
|
|
|
<el-dropdown-item class="dropItem"
|
2025-09-15 16:03:31 +08:00
|
|
|
@click="handleImport(3)">导入道闸媒体报价</el-dropdown-item>
|
2025-09-11 17:08:28 +08:00
|
|
|
<el-dropdown-item class="dropItem"
|
2025-09-15 16:03:31 +08:00
|
|
|
@click="handleImport(4)">导入地铁媒体报价</el-dropdown-item>
|
2025-09-11 17:08:28 +08:00
|
|
|
<el-dropdown-item class="dropItem"
|
2025-09-15 16:03:31 +08:00
|
|
|
@click="handleImport(5)">导入高铁媒体报价</el-dropdown-item>
|
2025-09-11 17:08:28 +08:00
|
|
|
<el-dropdown-item class="dropItem"
|
2025-09-15 16:03:31 +08:00
|
|
|
@click="handleImport(6)">导入写字楼媒体报价</el-dropdown-item>
|
2025-09-11 17:08:28 +08:00
|
|
|
<el-dropdown-item class="dropItem"
|
2025-09-15 16:03:31 +08:00
|
|
|
@click="handleImport(7)">导入车库灯箱媒体报价</el-dropdown-item>
|
2025-09-01 14:06:19 +08:00
|
|
|
</el-dropdown-menu>
|
|
|
|
|
</template>
|
|
|
|
|
</el-dropdown>
|
|
|
|
|
<el-dropdown placement="bottom-start" style="margin: 0 12px;">
|
2025-08-08 18:02:09 +08:00
|
|
|
<el-button type="primary" class="primaryBtn">
|
|
|
|
|
导出PPT
|
|
|
|
|
</el-button>
|
|
|
|
|
<template #dropdown>
|
|
|
|
|
<el-dropdown-menu>
|
2025-09-11 17:08:28 +08:00
|
|
|
<el-dropdown-item class="dropItem" v-for="temp in templateList"
|
|
|
|
|
@click="handleExportPPT(temp.id)">
|
|
|
|
|
<span v-if="temp.type == 3">优客模板导出</span>
|
|
|
|
|
<span v-if="temp.type == 2">滴滴模板导出</span>
|
|
|
|
|
<span v-if="temp.type == 1">空白模板导出</span>
|
|
|
|
|
</el-dropdown-item>
|
2025-08-08 18:02:09 +08:00
|
|
|
</el-dropdown-menu>
|
|
|
|
|
</template>
|
|
|
|
|
</el-dropdown>
|
2025-09-01 14:06:19 +08:00
|
|
|
<el-button type="primary" class="primaryBtn" @click="handleExportExcel">导出excel</el-button>
|
2025-09-02 22:55:31 +08:00
|
|
|
<el-button type="primary" class="primaryBtn" @click="handleGoMediaMap">媒体可视化地图</el-button>
|
2025-08-08 18:02:09 +08:00
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
|
|
|
|
|
<el-table v-loading="loading" :data="mediaList" @selection-change="handleSelectionChange"
|
2025-09-02 22:55:31 +08:00
|
|
|
:height="unfoldFlag ? 'calc(100vh - 372px)' : 'calc(100vh - 338px)'">
|
2025-08-08 18:02:09 +08:00
|
|
|
<el-table-column type="selection" width="55" align="center" />
|
|
|
|
|
<el-table-column label="媒体名称" align="left" prop="mediaName" width="320">
|
|
|
|
|
<template #default="scope">
|
|
|
|
|
<el-popover popper-class="myImg_popover" placement="right-start">
|
2025-09-10 23:07:21 +08:00
|
|
|
<img v-if="scope.row.mediaFileList.length > 0"
|
|
|
|
|
:src="baseUrl + scope.row.mediaFileList[0].fileName" />
|
2025-08-08 18:02:09 +08:00
|
|
|
<template #reference>
|
2025-09-10 23:07:21 +08:00
|
|
|
<span class="mediaNameLabel" @click="handleOpenDetail(scope.row)">{{
|
2025-09-10 20:52:06 +08:00
|
|
|
scope.row.mediaName
|
2025-09-11 17:08:28 +08:00
|
|
|
}}</span>
|
2025-08-08 18:02:09 +08:00
|
|
|
</template>
|
|
|
|
|
</el-popover>
|
|
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
2025-09-12 17:20:26 +08:00
|
|
|
<el-table-column label="媒体编号" align="left" prop="mediaCode" width="180" />
|
2025-09-10 23:07:21 +08:00
|
|
|
<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" />
|
2025-09-12 17:20:26 +08:00
|
|
|
<el-table-column label="业务部门" align="left" prop="dataScopeDeptName" width="150" />
|
2025-08-08 18:02:09 +08:00
|
|
|
<el-table-column label="刊例照片" align="center" prop="cataloguePhoto" width="90">
|
|
|
|
|
<template #default="scope">
|
|
|
|
|
<img style="cursor: pointer;" :src="scope.row.currentCataloguePhotoSrc"
|
|
|
|
|
@mouseenter="scope.row.currentCataloguePhotoSrc = hoverViewFileSrc"
|
2025-08-25 22:18:21 +08:00
|
|
|
@mouseleave="scope.row.currentCataloguePhotoSrc = defaultViewFileSrc"
|
2025-09-11 17:08:28 +08:00
|
|
|
@click="handleViewPhoto(11, scope.row)" />
|
2025-08-08 18:02:09 +08:00
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="媒体链条" align="center" prop="mediaChain" width="90">
|
|
|
|
|
<template #default="scope">
|
|
|
|
|
<img style="cursor: pointer;" :src="scope.row.currentMediaChainSrc"
|
|
|
|
|
@mouseenter="scope.row.currentMediaChainSrc = hoverViewFileSrc"
|
2025-08-25 22:18:21 +08:00
|
|
|
@mouseleave="scope.row.currentMediaChainSrc = defaultViewFileSrc"
|
2025-09-11 17:08:28 +08:00
|
|
|
@click="handleViewPhoto(10, scope.row)" />
|
2025-08-08 18:02:09 +08:00
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="资质文件" align="center" prop="qualificationFile" width="90">
|
|
|
|
|
<template #default="scope">
|
|
|
|
|
<img style="cursor: pointer;" :src="scope.row.currentQualificationFileSrc"
|
|
|
|
|
@mouseenter="scope.row.currentQualificationFileSrc = hoverViewFileSrc"
|
2025-08-25 22:18:21 +08:00
|
|
|
@mouseleave="scope.row.currentQualificationFileSrc = defaultViewFileSrc"
|
2025-09-11 17:08:28 +08:00
|
|
|
@click="handleViewPhoto(9, scope.row)" />
|
2025-08-08 18:02:09 +08:00
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="盖章刊例" align="center" prop="stampedPublication" width="90">
|
|
|
|
|
<template #default="scope">
|
|
|
|
|
<img style="cursor: pointer;" :src="scope.row.currentStampedPublicationSrc"
|
|
|
|
|
@mouseenter="scope.row.currentStampedPublicationSrc = hoverViewFileSrc"
|
2025-08-25 22:18:21 +08:00
|
|
|
@mouseleave="scope.row.currentStampedPublicationSrc = defaultViewFileSrc"
|
2025-09-11 17:08:28 +08:00
|
|
|
@click="handleViewPhoto(8, scope.row)" />
|
2025-08-08 18:02:09 +08:00
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
2025-09-10 23:07:21 +08:00
|
|
|
<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>
|
2025-08-08 18:02:09 +08:00
|
|
|
<el-table-column label="操作" width="58" align="center" fixed="right">
|
|
|
|
|
<template #default="scope">
|
|
|
|
|
<el-popover popper-class="my_popover" placement="left-start">
|
|
|
|
|
<div class="popBtns" @click="handleUpdate(scope.row)"
|
|
|
|
|
v-hasPermi="['problemFeedback:edit']">修改</div>
|
2025-08-25 22:18:21 +08:00
|
|
|
<div class="popBtns" @click="handleHistoryChart(scope.row)"
|
2025-08-08 18:02:09 +08:00
|
|
|
v-hasPermi="['problemFeedback:edit']">历史数据</div>
|
2025-08-25 22:18:21 +08:00
|
|
|
<div class="popBtns" @click="handleAbolish(scope.row)"
|
2025-08-08 18:02:09 +08:00
|
|
|
v-hasPermi="['problemFeedback:edit']">废除</div>
|
2025-08-25 22:18:21 +08:00
|
|
|
<div class="popBtns" @click="handleLogs(scope.row)"
|
2025-08-08 18:02:09 +08:00
|
|
|
v-hasPermi="['problemFeedback:edit']">日志</div>
|
2025-08-25 22:18:21 +08:00
|
|
|
<div class="popBtns" @click="handleDownFiles(scope.row)"
|
2025-08-08 18:02:09 +08:00
|
|
|
v-hasPermi="['problemFeedback:edit']">下载</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>
|
|
|
|
|
</el-table>
|
|
|
|
|
|
|
|
|
|
<pagination :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize"
|
2025-09-09 14:52:18 +08:00
|
|
|
@pagination="getMediaPageList" />
|
2025-08-08 18:02:09 +08:00
|
|
|
</el-card>
|
|
|
|
|
</div>
|
2025-08-12 20:14:41 +08:00
|
|
|
<media-form ref="mediaFormRef" v-if="showForm" @handleShowList="handleShowList" />
|
2025-08-25 22:18:21 +08:00
|
|
|
<media-detail ref="mediaDetailRef" v-if="showDetail" @handleShowList="handleCloseDetail" />
|
|
|
|
|
<media-logs ref="mediaLogsRef" v-if="showLogs" @handleShowList="handleCloseLogs" />
|
2025-09-10 23:07:21 +08:00
|
|
|
<abolish-dialog ref="abolishRef" @handleReloadList="getMediaPageList" />
|
2025-08-25 22:18:21 +08:00
|
|
|
<history-data ref="historyDataRef" />
|
2025-09-15 23:14:03 +08:00
|
|
|
<down-files ref="downFileRef" @downBack="handleDownBack" />
|
2025-08-25 22:18:21 +08:00
|
|
|
<view-file-dialog ref="viewFileRef" />
|
2025-08-26 14:27:35 +08:00
|
|
|
<export-dialog ref="exportDialogRef" />
|
2025-09-11 17:08:28 +08:00
|
|
|
<export-p-p-t-dialog ref="exportPPTDialogRef" />
|
2025-09-15 16:03:31 +08:00
|
|
|
<importPrice ref="importPriceRef" />
|
2025-09-15 23:14:03 +08:00
|
|
|
<down-records ref="downRecordsRef" />
|
2025-08-08 18:02:09 +08:00
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
<script setup name="Post">
|
|
|
|
|
import { onMounted, ref } from 'vue';
|
2025-09-15 23:14:03 +08:00
|
|
|
import { useRouter } from 'vue-router'
|
|
|
|
|
import { ElMessageBox } from 'element-plus'
|
2025-08-08 18:02:09 +08:00
|
|
|
import { Search } from '@element-plus/icons-vue'
|
|
|
|
|
import optionIcon from '@/assets/images/optionIcon.png'
|
|
|
|
|
import optionIconHover from '@/assets/images/optionIconHover.png'
|
|
|
|
|
import viewFile from '@/assets/images/viewFile.png'
|
|
|
|
|
import viewFileHover from '@/assets/images/viewFileHover.png'
|
|
|
|
|
import otherbg from '@/assets/images/otherbg.png'
|
2025-09-09 14:52:18 +08:00
|
|
|
import { listBusSupplier } from "@/api/supplier"
|
|
|
|
|
import { sysRegionListByPid } from "@/api/system/administrativeRegion"
|
|
|
|
|
import { sysMediaTypeListByPid } from "@/api/system/mediaType"
|
|
|
|
|
import { busTradingAreaPage } from "@/api/system/businessArea"
|
2025-09-10 20:52:06 +08:00
|
|
|
import { mediaPageList } from "@/api/mediaLibrary"
|
2025-09-09 14:52:18 +08:00
|
|
|
import { listDept } from "@/api/system/dept"
|
2025-09-11 17:08:28 +08:00
|
|
|
import { pptTemplatePage } from "@/api/system/pptTemplate"
|
2025-09-15 23:14:03 +08:00
|
|
|
import { busDownloadRecordPage } from "@/api/mediaDownRecord"
|
2025-09-09 14:52:18 +08:00
|
|
|
// 注入组件
|
2025-08-12 20:14:41 +08:00
|
|
|
import mediaForm from "./mediaForm.vue";
|
|
|
|
|
import mediaDetail from "./mediaDetail.vue";
|
2025-08-25 22:18:21 +08:00
|
|
|
import mediaLogs from "./mediaLogs.vue";
|
|
|
|
|
import historyData from "./historyData.vue"
|
|
|
|
|
import downFiles from './downFiles.vue';
|
|
|
|
|
import viewFileDialog from '@/components/ViewFile/index.vue'
|
2025-08-26 14:27:35 +08:00
|
|
|
import exportDialog from './exportDialog.vue';
|
2025-09-10 20:52:06 +08:00
|
|
|
import abolishDialog from './abolishDialog.vue';
|
2025-09-11 17:08:28 +08:00
|
|
|
import exportPPTDialog from './exportPPTDialog.vue';
|
2025-09-15 16:03:31 +08:00
|
|
|
import importPrice from './importPrice.vue';
|
2025-09-15 23:14:03 +08:00
|
|
|
import downRecords from './downRecords.vue';
|
2025-09-09 14:52:18 +08:00
|
|
|
import { useBackgroundStore } from '@/store/modules/background'
|
2025-08-12 20:14:41 +08:00
|
|
|
|
2025-09-02 22:55:31 +08:00
|
|
|
const router = useRouter()
|
2025-08-08 18:02:09 +08:00
|
|
|
const bgStore = useBackgroundStore()
|
|
|
|
|
const { proxy } = getCurrentInstance()
|
2025-09-09 14:52:18 +08:00
|
|
|
const { media_status } = proxy.useDict("media_status")
|
|
|
|
|
|
2025-09-10 23:07:21 +08:00
|
|
|
const baseUrl = import.meta.env.VITE_APP_BASE_API
|
2025-08-12 20:14:41 +08:00
|
|
|
// 省、市、县、镇数据
|
|
|
|
|
const province = ref([])
|
|
|
|
|
const city = ref([])
|
|
|
|
|
const county = ref([])
|
|
|
|
|
const town = ref([])
|
2025-09-09 14:52:18 +08:00
|
|
|
// 商圈信息列表
|
|
|
|
|
const businessAreaList = ref([])
|
2025-08-12 20:14:41 +08:00
|
|
|
// 媒体类型数据
|
|
|
|
|
const mediaTypeOne = ref([])
|
|
|
|
|
const mediaTypeTwo = ref([])
|
|
|
|
|
const mediaTypeThree = ref([])
|
2025-09-09 14:52:18 +08:00
|
|
|
// 归属选项
|
|
|
|
|
const supplierList = ref([])
|
|
|
|
|
const selectLoading = ref(false)
|
|
|
|
|
// 业务部门
|
|
|
|
|
const deptList = ref([])
|
|
|
|
|
// 操作列图标
|
|
|
|
|
const defaultImageSrc = ref(optionIcon);
|
|
|
|
|
const hoverImageSrc = ref(optionIconHover);
|
|
|
|
|
// 列表文件缩略图标
|
|
|
|
|
const defaultViewFileSrc = ref(viewFile);
|
|
|
|
|
const hoverViewFileSrc = ref(viewFileHover);
|
|
|
|
|
// 媒体列表
|
|
|
|
|
const mediaList = ref([])
|
|
|
|
|
// 媒体信息查询条件
|
|
|
|
|
const loading = ref(true)
|
|
|
|
|
const total = ref(0)
|
|
|
|
|
const data = reactive({
|
|
|
|
|
queryParams: {
|
|
|
|
|
pageNum: 1,
|
|
|
|
|
pageSize: 10,
|
2025-09-10 23:07:21 +08:00
|
|
|
keyword: undefined,
|
2025-09-09 14:52:18 +08:00
|
|
|
mediaType: undefined,
|
|
|
|
|
mediaCategory: undefined,
|
|
|
|
|
displayForm: undefined,
|
|
|
|
|
belongSupplierId: undefined,
|
2025-09-12 17:20:26 +08:00
|
|
|
dataScopeDeptId: undefined,
|
2025-09-09 14:52:18 +08:00
|
|
|
state: undefined,
|
|
|
|
|
provinceCode: undefined,
|
|
|
|
|
cityCode: undefined,
|
|
|
|
|
areaCode: undefined,
|
|
|
|
|
townCode: undefined,
|
|
|
|
|
businessDistrictId: undefined
|
|
|
|
|
},
|
|
|
|
|
})
|
2025-09-10 20:52:06 +08:00
|
|
|
const { queryParams } = toRefs(data)
|
2025-09-09 14:52:18 +08:00
|
|
|
// 表单
|
2025-08-08 18:02:09 +08:00
|
|
|
const showForm = ref(false)
|
2025-08-12 20:14:41 +08:00
|
|
|
const mediaFormRef = ref(null)
|
2025-09-09 14:52:18 +08:00
|
|
|
// 详情
|
2025-08-08 18:02:09 +08:00
|
|
|
const showDetail = ref(false)
|
2025-08-12 20:14:41 +08:00
|
|
|
const mediaDetailRef = ref(null)
|
2025-09-09 14:52:18 +08:00
|
|
|
// 日志
|
2025-08-25 22:18:21 +08:00
|
|
|
const showLogs = ref(false)
|
|
|
|
|
const mediaLogsRef = ref(null)
|
2025-09-11 17:08:28 +08:00
|
|
|
// ppt模板数据
|
|
|
|
|
const templateList = ref([])
|
|
|
|
|
// 媒体多选数据
|
2025-09-15 23:14:03 +08:00
|
|
|
const multipleChoseArr = ref([])
|
2025-09-15 16:03:31 +08:00
|
|
|
const unfoldFlag = ref(false)
|
2025-09-15 23:14:03 +08:00
|
|
|
|
2025-09-15 16:03:31 +08:00
|
|
|
const importPriceRef = ref(null)
|
2025-09-10 20:52:06 +08:00
|
|
|
const abolishRef = ref(null)
|
2025-08-25 22:18:21 +08:00
|
|
|
const historyDataRef = ref(null)
|
|
|
|
|
const downFileRef = ref(null)
|
|
|
|
|
const viewFileRef = ref(null)
|
2025-08-26 14:27:35 +08:00
|
|
|
const exportDialogRef = ref(null)
|
2025-09-11 17:08:28 +08:00
|
|
|
const exportPPTDialogRef = ref(null)
|
2025-09-15 23:14:03 +08:00
|
|
|
const downRecordsRef = ref(null)
|
2025-08-26 14:27:35 +08:00
|
|
|
|
2025-09-11 17:08:28 +08:00
|
|
|
// 获取PPT模板
|
|
|
|
|
const getpptTemplatePageList = () => {
|
|
|
|
|
pptTemplatePage(queryParams.value).then(res => {
|
|
|
|
|
templateList.value = res.data.list
|
|
|
|
|
})
|
|
|
|
|
}
|
2025-08-12 20:14:41 +08:00
|
|
|
// 获取一级媒体类型
|
|
|
|
|
const getMediaTypeOne = () => {
|
|
|
|
|
sysMediaTypeListByPid({ parentId: 0 }).then(res => {
|
|
|
|
|
mediaTypeOne.value = res.data
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
// 获取二级媒体类型
|
|
|
|
|
const getMediaTypeTwo = (value) => {
|
|
|
|
|
sysMediaTypeListByPid({ parentId: value }).then(res => {
|
|
|
|
|
queryParams.value.mediaTypeTwo = undefined
|
|
|
|
|
queryParams.value.mediaTypeThree = undefined
|
|
|
|
|
mediaTypeTwo.value = res.data
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
// 获取三级媒体类型
|
|
|
|
|
const getMediaTypeThree = (value) => {
|
|
|
|
|
sysMediaTypeListByPid({ parentId: value }).then(res => {
|
|
|
|
|
queryParams.value.mediaTypeThree = undefined
|
|
|
|
|
mediaTypeThree.value = res.data
|
|
|
|
|
})
|
|
|
|
|
}
|
2025-09-09 14:52:18 +08:00
|
|
|
// 查询条件获取供应商
|
|
|
|
|
const getSupplierList = (queryText) => {
|
|
|
|
|
if (queryText) {
|
|
|
|
|
selectLoading.value = true
|
|
|
|
|
listBusSupplier({ keyword: queryText }).then(res => {
|
|
|
|
|
supplierList.value = res.data
|
|
|
|
|
selectLoading.value = false
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
selectLoading.value = false
|
|
|
|
|
supplierList.value = []
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// 获取业务部门
|
|
|
|
|
const getDepList = () => {
|
|
|
|
|
listDept({ businessFlag: 1 }).then(response => {
|
|
|
|
|
deptList.value = response.data
|
|
|
|
|
})
|
|
|
|
|
}
|
2025-08-12 20:14:41 +08:00
|
|
|
// 获取省/直辖市数据
|
|
|
|
|
const getProvinceList = () => {
|
|
|
|
|
sysRegionListByPid({ parentId: '0' }).then(res => {
|
|
|
|
|
province.value = res.data
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
// 获取地级市/区数据
|
|
|
|
|
const getCityList = (value) => {
|
|
|
|
|
sysRegionListByPid({ parentId: value }).then(res => {
|
|
|
|
|
queryParams.value.cityId = undefined
|
|
|
|
|
queryParams.value.countyId = undefined
|
|
|
|
|
queryParams.value.townId = undefined
|
|
|
|
|
city.value = res.data
|
|
|
|
|
})
|
2025-09-09 14:52:18 +08:00
|
|
|
getbusinessAreaList()
|
2025-08-12 20:14:41 +08:00
|
|
|
}
|
|
|
|
|
// 获取区/县数据
|
|
|
|
|
const getCountyList = (value) => {
|
|
|
|
|
sysRegionListByPid({ parentId: value }).then(res => {
|
|
|
|
|
queryParams.value.countyId = undefined
|
|
|
|
|
queryParams.value.townId = undefined
|
|
|
|
|
county.value = res.data
|
|
|
|
|
})
|
2025-09-09 14:52:18 +08:00
|
|
|
getbusinessAreaList()
|
2025-08-12 20:14:41 +08:00
|
|
|
}
|
|
|
|
|
// 获取镇数据
|
|
|
|
|
const getTownList = (value) => {
|
|
|
|
|
sysRegionListByPid({ parentId: value }).then(res => {
|
|
|
|
|
queryParams.value.townId = undefined
|
|
|
|
|
town.value = res.data
|
|
|
|
|
})
|
2025-09-09 14:52:18 +08:00
|
|
|
getbusinessAreaList()
|
|
|
|
|
}
|
|
|
|
|
// 依据省市县镇查询商圈
|
|
|
|
|
const getbusinessAreaList = (val) => {
|
|
|
|
|
const _params = {
|
|
|
|
|
pageIndex: 1,
|
|
|
|
|
pageSize: 200,
|
|
|
|
|
provinceId: queryParams.value.provinceCode,
|
|
|
|
|
cityId: queryParams.value.cityCode,
|
|
|
|
|
countyId: queryParams.value.areaCode,
|
|
|
|
|
townId: queryParams.value.townCode,
|
|
|
|
|
}
|
|
|
|
|
busTradingAreaPage(_params).then(res => {
|
|
|
|
|
if (res.code == 200) {
|
|
|
|
|
businessAreaList.value = res.data.list
|
|
|
|
|
}
|
|
|
|
|
})
|
2025-08-12 20:14:41 +08:00
|
|
|
}
|
2025-08-08 18:02:09 +08:00
|
|
|
// 折叠展开
|
|
|
|
|
const handleFlod = () => {
|
|
|
|
|
unfoldFlag.value = !unfoldFlag.value
|
2025-09-15 23:14:03 +08:00
|
|
|
}
|
2025-09-09 14:52:18 +08:00
|
|
|
/** 查询媒体信息列表 */
|
|
|
|
|
const getMediaPageList = () => {
|
2025-09-12 17:20:26 +08:00
|
|
|
loading.value = true
|
2025-09-09 14:52:18 +08:00
|
|
|
mediaPageList(queryParams.value).then(res => {
|
|
|
|
|
res.data.rows.forEach(element => {
|
|
|
|
|
element.currentImageSrc = defaultImageSrc.value;
|
|
|
|
|
element.currentCataloguePhotoSrc = defaultViewFileSrc.value;
|
|
|
|
|
element.currentMediaChainSrc = defaultViewFileSrc.value;
|
|
|
|
|
element.currentQualificationFileSrc = defaultViewFileSrc.value;
|
|
|
|
|
element.currentStampedPublicationSrc = defaultViewFileSrc.value;
|
|
|
|
|
});
|
|
|
|
|
mediaList.value = res.data.rows
|
|
|
|
|
total.value = res.data.total
|
|
|
|
|
loading.value = false
|
|
|
|
|
})
|
2025-08-08 18:02:09 +08:00
|
|
|
}
|
|
|
|
|
/** 搜索按钮操作 */
|
|
|
|
|
const handleQuery = () => {
|
|
|
|
|
queryParams.value.pageNum = 1
|
2025-09-09 14:52:18 +08:00
|
|
|
getMediaPageList()
|
2025-09-15 23:14:03 +08:00
|
|
|
}
|
2025-08-08 18:02:09 +08:00
|
|
|
/** 重置按钮操作 */
|
2025-09-10 20:52:06 +08:00
|
|
|
const resetQuery = () => {
|
2025-09-10 23:07:21 +08:00
|
|
|
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
|
|
|
|
|
}
|
2025-08-08 18:02:09 +08:00
|
|
|
handleQuery()
|
2025-09-15 23:14:03 +08:00
|
|
|
}
|
2025-09-11 17:08:28 +08:00
|
|
|
// 选择媒体事件
|
2025-09-09 14:52:18 +08:00
|
|
|
const handleSelectionChange = (selection) => {
|
|
|
|
|
multipleChoseArr.value = selection
|
|
|
|
|
}
|
|
|
|
|
// 移除选择项
|
|
|
|
|
const handleCloseTag = (tag) => {
|
2025-09-11 17:08:28 +08:00
|
|
|
const rowIndex = multipleChoseArr.value.findIndex(item => item.id == tag.id)
|
|
|
|
|
multipleChoseArr.value.splice(rowIndex, 1)
|
2025-09-09 14:52:18 +08:00
|
|
|
}
|
2025-08-08 18:02:09 +08:00
|
|
|
// 新增
|
|
|
|
|
const handleOpenAddForm = () => {
|
|
|
|
|
showForm.value = true
|
|
|
|
|
nextTick(() => {
|
2025-09-09 14:52:18 +08:00
|
|
|
mediaFormRef.value.initForm('新建媒体信息', { id: null })
|
2025-08-08 18:02:09 +08:00
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
// 修改
|
2025-08-25 22:18:21 +08:00
|
|
|
const handleUpdate = (row) => {
|
2025-08-08 18:02:09 +08:00
|
|
|
showForm.value = true
|
|
|
|
|
nextTick(() => {
|
2025-08-25 22:18:21 +08:00
|
|
|
mediaFormRef.value.initForm('编辑媒体信息', row)
|
2025-08-08 18:02:09 +08:00
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
// 详情
|
2025-09-10 23:07:21 +08:00
|
|
|
const handleOpenDetail = (row) => {
|
2025-08-08 18:02:09 +08:00
|
|
|
showDetail.value = true
|
|
|
|
|
nextTick(() => {
|
2025-09-10 23:07:21 +08:00
|
|
|
mediaDetailRef.value.initForm(row)
|
2025-08-08 18:02:09 +08:00
|
|
|
})
|
|
|
|
|
}
|
2025-08-25 22:18:21 +08:00
|
|
|
// 关闭表单
|
2025-08-08 18:02:09 +08:00
|
|
|
const handleShowList = () => {
|
|
|
|
|
showForm.value = false
|
2025-09-09 14:52:18 +08:00
|
|
|
getMediaPageList()
|
2025-08-25 22:18:21 +08:00
|
|
|
}
|
|
|
|
|
// 关闭详情
|
|
|
|
|
const handleCloseDetail = () => {
|
2025-08-08 18:02:09 +08:00
|
|
|
showDetail.value = false
|
|
|
|
|
}
|
2025-08-25 22:18:21 +08:00
|
|
|
// 打开日志
|
|
|
|
|
const handleLogs = (row) => {
|
|
|
|
|
showLogs.value = true
|
|
|
|
|
nextTick(() => {
|
2025-09-10 23:53:11 +08:00
|
|
|
mediaLogsRef.value.initLog(row)
|
2025-08-25 22:18:21 +08:00
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
// 关闭日志
|
|
|
|
|
const handleCloseLogs = () => {
|
|
|
|
|
showLogs.value = false
|
|
|
|
|
}
|
|
|
|
|
// 打开废除
|
|
|
|
|
const handleAbolish = (row) => {
|
2025-09-11 17:08:28 +08:00
|
|
|
if (row.state == 1) abolishRef.value.openDialog(row.id)
|
|
|
|
|
else proxy.$modal.notify("该媒体已被废除,无需重复操作!")
|
2025-08-25 22:18:21 +08:00
|
|
|
}
|
|
|
|
|
// 打开历史数据
|
|
|
|
|
const handleHistoryChart = (row) => {
|
|
|
|
|
historyDataRef.value.historyDataOpen = true
|
|
|
|
|
nextTick(() => {
|
|
|
|
|
historyDataRef.value.initHistoryCharLine()
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
// 打开文件下载
|
|
|
|
|
const handleDownFiles = (row) => {
|
2025-09-15 23:14:03 +08:00
|
|
|
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('您有待下载的文件等待下载...', '系统消息', {
|
|
|
|
|
confirmButtonText: '查看下载任务',
|
|
|
|
|
callback: (action) => {
|
|
|
|
|
downRecordsRef.value.initDownList()
|
|
|
|
|
},
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
// 全部下载回调
|
|
|
|
|
const handleDownBack = () => {
|
|
|
|
|
downRecordsRef.value.initDownList()
|
|
|
|
|
}
|
2025-08-25 22:18:21 +08:00
|
|
|
// 查看文件
|
2025-09-11 17:08:28 +08:00
|
|
|
const handleViewPhoto = (_fileType, row) => {
|
|
|
|
|
viewFileRef.value.initFileList(_fileType, row.id)
|
2025-09-15 23:14:03 +08:00
|
|
|
}
|
2025-08-08 18:02:09 +08:00
|
|
|
/** 导出Excel按钮操作 */
|
|
|
|
|
const handleExportExcel = () => {
|
2025-09-11 17:08:28 +08:00
|
|
|
if (multipleChoseArr.value.length == 0) {
|
|
|
|
|
proxy.$modal.msgWarning("请选择要导出的媒体!!!")
|
|
|
|
|
return false
|
|
|
|
|
}
|
|
|
|
|
const mediaIds = multipleChoseArr.value.map(item => item.id);
|
|
|
|
|
exportDialogRef.value.initExportExcel(mediaIds)
|
2025-08-08 18:02:09 +08:00
|
|
|
}
|
|
|
|
|
/** 导出PPT按钮操作 */
|
2025-09-11 17:08:28 +08:00
|
|
|
const handleExportPPT = (tempId) => {
|
|
|
|
|
if (multipleChoseArr.value.length == 0) {
|
|
|
|
|
proxy.$modal.msgWarning("请选择要导出的媒体!!!")
|
|
|
|
|
return false
|
2025-08-26 14:27:35 +08:00
|
|
|
}
|
2025-09-15 23:14:03 +08:00
|
|
|
const mediaIds = multipleChoseArr.value.map(item => item.id);
|
2025-09-11 17:08:28 +08:00
|
|
|
exportPPTDialogRef.value.initExportPPT(tempId, mediaIds, multipleChoseArr.value)
|
2025-09-15 23:14:03 +08:00
|
|
|
}
|
2025-08-08 18:02:09 +08:00
|
|
|
/** 导入按钮操作 */
|
2025-09-01 15:29:22 +08:00
|
|
|
const handleImport = (val) => {
|
2025-09-15 16:03:31 +08:00
|
|
|
importPriceRef.value.initImportPriceExcel(val)
|
2025-09-15 23:14:03 +08:00
|
|
|
}
|
2025-09-02 22:55:31 +08:00
|
|
|
// 打开媒体地图
|
|
|
|
|
const handleGoMediaMap = () => {
|
|
|
|
|
router.push('/mediaMap')
|
|
|
|
|
}
|
2025-08-08 18:02:09 +08:00
|
|
|
// 初始化
|
|
|
|
|
onMounted(() => {
|
|
|
|
|
bgStore.setBgImage(otherbg)
|
2025-09-09 14:52:18 +08:00
|
|
|
getMediaPageList()
|
|
|
|
|
getDepList()
|
2025-08-12 20:14:41 +08:00
|
|
|
getMediaTypeOne()
|
|
|
|
|
getProvinceList()
|
2025-09-11 17:08:28 +08:00
|
|
|
getpptTemplatePageList()
|
2025-08-08 18:02:09 +08:00
|
|
|
});
|
|
|
|
|
</script>
|
|
|
|
|
<style lang="scss">
|
|
|
|
|
.mediaNameLabel {
|
|
|
|
|
font-family: Microsoft YaHei;
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
color: #1A75E6;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.mediaNameLabel:hover {
|
|
|
|
|
text-decoration: underline solid #1A75E6 1px;
|
|
|
|
|
text-underline-offset: 4px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dropItem {
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.noChoseLabel {
|
|
|
|
|
height: 24px;
|
|
|
|
|
line-height: 24px;
|
|
|
|
|
font-family: Microsoft YaHei;
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
color: #ffffff90;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.my_dialog_itemHeader {
|
|
|
|
|
width: 100%;
|
2025-08-25 22:18:21 +08:00
|
|
|
height: 36px;
|
|
|
|
|
background: #1a75e630;
|
|
|
|
|
padding: 6px 20px;
|
2025-08-08 18:02:09 +08:00
|
|
|
font-family: Microsoft YaHei;
|
|
|
|
|
font-weight: 600;
|
2025-08-25 22:18:21 +08:00
|
|
|
font-size: 18px;
|
2025-08-08 18:02:09 +08:00
|
|
|
color: #000000;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.chosedMediaNamsConter {
|
|
|
|
|
width: 100%;
|
|
|
|
|
min-height: 60px;
|
|
|
|
|
background: #ffffff;
|
|
|
|
|
padding: 10px 0;
|
|
|
|
|
}
|
2025-08-26 14:27:35 +08:00
|
|
|
|
|
|
|
|
.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;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.checkAllChose .el-checkbox__input.is-checked .el-checkbox__inner,
|
|
|
|
|
.checkAllChose .el-checkbox__input.is-indeterminate .el-checkbox__inner {
|
|
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.checkAllChose .el-checkbox__inner:after {
|
|
|
|
|
height: 8px;
|
|
|
|
|
left: 5px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.checkAllChose .el-checkbox__input.is-checked+.el-checkbox__label {
|
|
|
|
|
color: #1E1E1E;
|
|
|
|
|
}
|
2025-08-08 18:02:09 +08:00
|
|
|
</style>
|