Forráskód Böngészése

智能研报增加版头版尾设置

jwyu 1 éve
szülő
commit
da8b436504

+ 20 - 0
src/api/modules/smartReport.js

@@ -76,6 +76,26 @@ const apiSmartReport={
     //获取上期已发布报告
     getLastReport:params=>{
         return http.get('/smart_report/last_published_report',params)
+    },
+
+    // 资源库列表
+    imgReourceList:params=>{
+        return http.get('/smart_report/resource/list',params)
+    },
+
+    //新增资源库图片
+    imgReourceAdd:params=>{
+        return http.post('/smart_report/resource/add',params)
+    },
+
+    //资源库图片重命名
+    imgReourceRename:params=>{
+        return http.post('/smart_report/resource/rename',params)
+    },
+
+    //资源库图片删除
+    imgReourceDel:params=>{
+        return http.post('/smart_report/resource/remove',params)
     }
 
 }

BIN
src/assets/img/smartReport/icon17.png


BIN
src/assets/img/smartReport/icon18.png


+ 209 - 0
src/views/smartReport/components/ImgSource.vue

@@ -0,0 +1,209 @@
+<template>
+    <div class="statistic-analysis-wrap">
+        <div class="top-box">
+            <div class="left-card">
+                <span>选择图片</span>
+            </div>
+            <div class="right">
+                <el-input
+                    class="search-box"
+					placeholder="请输入图片名称"
+					v-model="keyword"
+					size="medium"
+                    @input="handleSearch"
+                    style="width:240px"
+				/>
+                <el-select placeholder="请选择图片类型" v-model="type" clearable style="width:240px" @change="handleSearch">
+                    <el-option label="版头" :value="1"></el-option>
+                    <el-option label="版尾" :value="2"></el-option>
+                </el-select>
+            </div>
+        </div>
+        <div class="main-box">
+            <div class="type-select-box">
+                <span style="margin-right:20px">版面设置</span>
+                <el-radio-group v-model="setType">
+                    <el-radio :label="1">版头</el-radio>
+                    <el-radio :label="2">版尾</el-radio>
+                </el-radio-group>
+            </div>
+            <div class="list-wrap" v-infinite-scroll="handleLoadMore" :infinite-scroll-immediate="false">
+                <div 
+                    :class="['item',selectItem&&selectItem.ResourceId===item.ResourceId?'active':'']" 
+                    v-for="item in list" 
+                    :key="item.ResourceId" 
+                    @click="handleSelectItem(item)"
+                >
+                    <div class="img" :style="'backgroundImage:url('+item.ImgUrl+')'"></div>
+                    <div class="title">{{item.ImgName}}</div>
+                </div>
+            </div>
+            <tableNoData text="暂无数据" size="mini" v-if="list.length===0&&finished"/>
+            <div class="btns-box">
+                <el-button type="primary" plain @click="handleClose">取消</el-button>
+                <el-button type="primary" @click="handleSave">保存</el-button>
+            </div>
+        </div>
+    </div>
+</template>
+
+<script>
+import {apiSmartReport}  from '@/api/modules/smartReport'
+export default {
+    data() {
+        return {
+            keyword:'',
+            type:'',
+            list:[],
+            page:1,
+            pageSize:20,
+            finished:false,
+
+            setType:'',
+            selectItem:null
+        }
+    },
+    created(){
+        this.getImgList()
+    },
+    methods: {
+        //资源库列表
+        async getImgList(){
+            const res=await apiSmartReport.imgReourceList({
+                CurrentIndex:this.page,
+                PageSize:this.pageSize,
+                Type:this.type,
+                Keyword:this.keyword
+            })
+            if(res.Ret===200){
+                const arr = res.Data.List || [];
+                this.list =
+                    this.page === 1
+                    ? arr
+                    : [...this.list, ...arr];
+                this.finished =  res.Data.Paging.IsEnd;
+            }
+        },
+
+        handleLoadMore(){
+            if(this.finished) return
+            this.page++
+            this.getImgList()
+        },
+
+        handleSearch(){
+            this.page=1
+            this.finished=false
+            this.getImgList()
+        },
+
+        handleSelectItem(e){
+            this.selectItem=e
+        },
+
+        handleClose(){
+            this.$emit('close')
+        },
+
+        handleSave(){
+            if(!this.setType){
+                this.$message.warning('请选择设置的版面类型')
+                return
+            }
+            if(!this.selectItem){
+                this.$message.warning('请选择版图')
+                return
+            }
+            this.$emit('change',{
+                type:this.setType,
+                data:this.selectItem
+            })
+        }
+        
+
+    },
+
+}
+</script>
+
+<style lang="scss" scoped>
+div{
+    box-sizing: border-box;
+}
+.statistic-analysis-wrap{
+    .top-box{
+        display: flex;
+        justify-content: space-between;
+        align-items: center;
+        .right{
+            .search-box{
+                width: 330px;
+            }
+        }
+    }
+    .main-box{
+        margin-top: 30px;
+        height: calc(100vh - 180px);
+        border-radius: 4px;
+        border: 1px solid var(--gary-gy-5-line, #C8CDD9);
+        background: #FFF;
+        padding: 20px;
+        display: flex;
+        flex-direction: column;
+        .list-wrap{
+            display: flex;
+            flex-wrap: wrap;
+            gap: 20px;
+            flex: 1;
+            overflow-y: auto;
+            padding-top: 20px;
+            padding-bottom: 20px;
+            .item{
+                width: 240px;
+                cursor: pointer;
+                .img{
+                    background: var(--gary-gy-3-disabled, #EBEFF6);
+                    width: 240px;
+                    height: 240px;
+                    background-size: contain;
+                    background-position: center;
+                    background-repeat: no-repeat;
+                }
+                .title{
+                    margin-top: 5px;
+                    display: -webkit-box;
+                    overflow: hidden;
+                    text-overflow: ellipsis;
+                    -webkit-line-clamp: 2;
+                    line-break: anywhere;
+                    -webkit-box-orient: vertical;
+                }
+            }
+            .active{
+                position: relative;
+                .img{
+                    border: 1px solid #0052D9;
+                }
+                &::before{
+                    content: '';
+                    display: block;
+                    width: 20px;
+                    height: 20px;
+                    position: absolute;
+                    left: 0;
+                    top: 0;
+                    background-image: url('~@/assets/img/smartReport/icon17.png');
+                    background-size: cover;
+                    background-repeat: no-repeat;
+                }
+            }
+        }
+        .btns-box{
+            text-align: center;
+            .el-button{
+                width: 200px;
+            }
+        }
+    }
+}
+</style>

+ 95 - 11
src/views/smartReport/editReport.vue

@@ -65,7 +65,13 @@
                     </li>
                 </draggable>
 
-                <div class="report-content-box">
+                <div class="report-content-box" id="report-content-box">
+                    <div class="html-head-img-box">
+                        <div class="opt-btn-box" style="display: none;">
+                            <div class="del-btn" @click.stop="headImg=''"></div>
+                        </div>
+                        <img :src="headImg" alt="" style="display:block;width:100%">
+                    </div>
                     <draggable
                         :list="conList"
                         :group="{ name: 'component', pull: true, put: true }"
@@ -138,6 +144,12 @@
                             </draggable>
                         </div>
                     </draggable>
+                    <div class="html-end-img-box">
+                        <div class="opt-btn-box" style="display: none;">
+                            <div class="del-btn" @click.stop="endImg=''"></div>
+                        </div>
+                        <img :src="endImg" alt="" style="display:block;width:100%">
+                    </div>
                 </div>
             </div>
 
@@ -174,6 +186,8 @@
                 <ETASandBox v-if="rightType==='etaSandBox'"/>
                 <!-- 语义分析 -->
                 <SemanticAnalysis v-if="rightType==='semanticAnalysis'"/>
+                <!-- 版图资源库 -->
+                <ImgSource v-if="rightType==='imgSource'" @change="handleInsertImgSource" @close="handleCloseRight"/>
                 </div>
                 </div>
             </div>
@@ -232,6 +246,7 @@ import ETAPriceChart from './components/ETAPriceChart.vue'
 import ETASandBox from './components/ETASandBox.vue'
 import SemanticAnalysis from './components/SemanticAnalysis.vue'
 import { getUrlParams } from '@/utils/common'
+import ImgSource from './components/ImgSource.vue'
 export default {
     name:"smartReportEdit",
     components: {
@@ -248,7 +263,8 @@ export default {
         StatisticAnalysis,
         ETAPriceChart,
         ETASandBox,
-        SemanticAnalysis
+        SemanticAnalysis,
+        ImgSource
     },
     watch:{
         'taskTime'(){
@@ -289,6 +305,11 @@ export default {
             showReportBaseInfo:false,
 
             topTypeList:[
+                {
+                    name:'版图资源库',
+                    type:'imgSource',
+                    icon:require('@/assets/img/smartReport/icon04.png')
+                },
                 {
                     name:'图库',
                     type:'etaChart',
@@ -365,7 +386,9 @@ export default {
 
             isDragResize:false,//是否正在拖动缩放
 
-            bgColor:'',
+            bgColor:'',//背景色
+            headImg:'',//版头图片
+            endImg:'',//版尾图片
         }
     },
     methods: {
@@ -467,7 +490,7 @@ export default {
 
         // 跳转预览
         handlePreviewReport(){
-            const htmlStr=document.getElementById('report-html-content').outerHTML;
+            const htmlStr=document.getElementById('report-content-box').outerHTML;
             sessionStorage.setItem('smartReportContent', htmlStr);
 			let { href } = this.$router.resolve({ 
                 path: '/smartReportDetail',
@@ -770,12 +793,15 @@ export default {
 
         // 编辑保存报告
         handleReportEdit(e){
-            const html=document.getElementById('report-html-content').outerHTML;
+            const html=document.getElementById('report-content-box').outerHTML;
             const params={
                 SmartReportId:Number(this.$route.query.id)||0,
                 ...e,
                 Content:html,
-                ContentStruct:JSON.stringify(this.conList)
+                ContentStruct:JSON.stringify(this.conList),
+                HeadImg:this.headImg,
+                EndImg:this.endImg,
+                CanvasColor:this.bgColor
             }
             console.log(params);
             apiSmartReport.reportEdit({...params}).then(res=>{
@@ -805,6 +831,9 @@ export default {
                 if(res.Ret===200){
                     this.reportInfo=res.Data
                     this.conList=res.Data.ContentStruct?JSON.parse(res.Data.ContentStruct):[]
+                    this.headImg=res.Data.HeadImg
+                    this.endImg=res.Data.EndImg
+                    this.bgColor=res.Data.CanvasColor
                     this.$nextTick(()=>{
                         this.contentChange=false
                     })
@@ -849,7 +878,7 @@ export default {
         
         // 自动/存草稿保存内容
         handleSaveContent({isAutoSave}){
-            const html=document.getElementById('report-html-content').outerHTML;
+            const html=document.getElementById('report-content-box').outerHTML;
             return new Promise((resolve,reject)=>{
                 const id=this.$route.query.id||0
                 if(!id) return
@@ -858,6 +887,9 @@ export default {
                     Content:html,
                     ContentStruct:JSON.stringify(this.conList),
                     NoChange:this.contentChange?2:1,
+                    HeadImg:this.headImg,
+                    EndImg:this.endImg,
+                    CanvasColor:this.bgColor
                 }).then(res=>{
                     if(res.Ret===200){
                         resolve(true)
@@ -1006,6 +1038,21 @@ export default {
         //报告消息推送
         reportSendMsg(){
             apiSmartReport.reportMsgSend({SmartReportId:Number(this.$route.query.id)}).then(res=>{})
+        },
+
+        // 插入版头版尾
+        handleInsertImgSource(e){
+            if(e.type=='1'){
+                this.headImg=e.data.ImgUrl
+            }else{
+                this.endImg=e.data.ImgUrl
+            }
+            this.contentChange=true
+        },
+
+        handleBgColorChange(e){
+            this.bgColor=e||''
+            this.contentChange=true
         }
     },
     created() {
@@ -1059,7 +1106,20 @@ export default {
         left: 0;
         width: 100%;
         height: 100%;
-        background-color: #0052D9;
+        background-color: #fff;
+    }
+    .el-color-picker__color::after{
+        content: '';
+        display: block;
+        width: 16px;
+        height: 16px;
+        position: absolute;
+        left: 7px;
+        top: 7px;
+        background-image: url('~@/assets/img/smartReport/icon18.png');
+        background-size: cover;
+        background-repeat: no-repeat;
+        z-index: 10;
     }
 }
 
@@ -1152,13 +1212,14 @@ div{
         display: flex;
         align-items: center;
         background-color: #fff;
-        height: 50px;
+        height: 80px;
         border-radius: 4px;
         border: 1px solid var(--gary-gy-5-line, #C8CDD9);
         .item{
             cursor: pointer;
             flex: auto;
             display: flex;
+            flex-direction: column;
             align-items: center;
             justify-content: center;
             border-right: 1px solid #C8CDD9;
@@ -1169,7 +1230,7 @@ div{
             .icon{
                 width: 20px;
                 height: 20px;
-                margin-right: 4px;
+                // margin-right: 4px;
             }
         }
     }
@@ -1178,9 +1239,32 @@ div{
         border: 1px solid var(--gary-gy-5-line, #C8CDD9);
         background: #FFF;
         padding: 20px 20px 20px 44px;
-        height: calc(100vh - 180px);
+        height: calc(100vh - 210px);
         position: relative;
         overflow-y: auto;
+        .html-head-img-box,.html-end-img-box{
+            position: relative;
+            &:hover{
+                .opt-btn-box{
+                    display: block !important;
+                }
+            }
+            .opt-btn-box{
+                position: absolute;
+                left: -36px;
+                padding-right: 8px;
+                top: 0;
+                .del-btn::after{
+                    content: '';
+                    display: block;
+                    width: 28px;
+                    height: 28px;
+                    background-image: url('~@/assets/img/smartReport/icon13.png');
+                    background-size: cover;
+                    cursor: pointer;
+                }
+            }
+        }
     }
 }
 

+ 238 - 17
src/views/system_manage/components/smartReportImgSet.vue

@@ -1,32 +1,63 @@
 <template>
     <div class="smart-report-img-set-page">
         <div class="top-wrap">
-            <el-input placeholder="请输入图片名称" style="width:200px;margin-right:20px"></el-input>
-            <el-select placeholder="请选择图片类型" v-model="type" style="width:200px">
-                <el-option label="版头" value="版头"></el-option>
-                <el-option label="版尾" value="版尾"></el-option>
+            <el-input v-model="keyword" placeholder="请输入图片名称" clearable style="width:200px;margin-right:20px" @input="handleSearch"></el-input>
+            <el-select placeholder="请选择图片类型" v-model="type" clearable style="width:200px" @change="handleSearch">
+                <el-option label="版头" :value="1"></el-option>
+                <el-option label="版尾" :value="2"></el-option>
             </el-select>
             <el-button type="primary" style="float:right" @click="uploadImgPop=true">上传图片</el-button>
         </div>
+
+        <div class="select-status-box" v-if="selectIds.length>0">
+            <el-checkbox 
+                :indeterminate="isIndeterminate" 
+                v-model="checkAll" 
+                @change="handleCheckAllChange"
+            >全选</el-checkbox>
+            <span>已选择{{selectIds.length}}项</span>
+            <span @click="selectIds=[]" style="color:#1146DB;margin-left:20px;cursor: pointer;">取消选择</span>
+            <span @click="handleBatchDel" style="color:#1146DB;margin-left:20px;cursor: pointer;">删除</span>
+        </div>
+
+
         <ul class="img-list-wrap">
-            <li class="img-item" v-for="item in 6" :key="item">
+            <li class="img-item" v-for="item in list" :key="item.ResourceId">
+                <div :class="['select-box',selectIds.includes(item.ResourceId)?'select-box-active':'']" @click="handleSelectItem(item)"></div>
                 <div class="opt-box">
-                    <div class="item">
+                    <div class="item" @click="handleShowImgFull(item)">
                         <img src="~@/assets/img/icons/fullsreen.png" alt="">
                     </div>
+                    <el-dropdown @command="handleClickOpt">
                     <div class="item">
                         <img src="~@/assets/img/icons/more.png" alt="">
                     </div>
+                    <el-dropdown-menu slot="dropdown">
+                        <el-dropdown-item :command="{type:'rename',data:item}">重命名</el-dropdown-item>
+                        <el-dropdown-item :command="{type:'del',data:item}">删除</el-dropdown-item>
+                    </el-dropdown-menu>
+                    </el-dropdown>
                 </div>
-                <img class="img" src="" alt="">
-                <p class="name">图片名好处呢给</p>
+                <img class="img" :src="item.ImgUrl" alt="">
+                <p class="name">{{item.ImgName}}</p>
             </li>
         </ul>
+        <tableNoData text="暂无数据" v-if="list.length===0"/>
+        <el-col :span="24" class="toolbar">
+            <el-pagination
+                layout="total,prev,pager,next"
+                background
+                @current-change="handleCurrentChange"
+                :page-size="pageSize"
+                :total="total"
+                style="float: right"
+            />
+        </el-col>
 
         <!-- 上传图片弹窗 -->
         <el-dialog
             :visible.sync="uploadImgPop"
-            title="上传图片"
+            :title="formData.id?'重命名':'上传图片'"
             :close-on-click-modal="false"
             :append-to-body="true"
             @close="cancelHandle"
@@ -37,7 +68,7 @@
         >
             
             <el-form 
-                :model="ruleForm" 
+                :model="formData" 
                 :rules="formRules" 
                 ref="ruleForm" 
                 label-width="100px" 
@@ -47,9 +78,9 @@
                     <el-input v-model="formData.name" placeholder="请输入图片名称"></el-input>
                 </el-form-item>
                 <el-form-item label="图片类型" prop="type">
-                    <el-radio-group v-model="formData.type">
-                        <el-radio label="1">版头</el-radio>
-                        <el-radio label="2">版尾</el-radio>
+                    <el-radio-group v-model="formData.type" :disabled="formData.id">
+                        <el-radio :label="1">版头</el-radio>
+                        <el-radio :label="2">版尾</el-radio>
                     </el-radio-group>
                 </el-form-item>
                 <el-form-item 
@@ -61,6 +92,7 @@
                         accept="image/*" 
                         :http-request="handleUploadImg" 
                         :show-file-list="false"
+                        :disabled="formData.id"
                     >
                         <div class="upload-box">
                             <template v-if="!formData.imgUrl">
@@ -75,24 +107,38 @@
                 </el-form-item>
                 <div style="text-align: center;padding: 30px 0;">
                     <el-button type="primary" plain style="width:120px;" @click="handleCloseImgUpload">取消</el-button>
-                    <el-button type="primary" style="margin-left:20px;width:120px;">确定</el-button>
+                    <el-button type="primary" style="margin-left:20px;width:120px;" @click="handleSave">确定</el-button>
                 </div>
             </el-form>
             
         </el-dialog>
+
+        <el-image-viewer 
+            v-if="showViewer" 
+            :on-close="()=>{this.picShowList=[];this.showViewer = false}" 
+            :url-list="picShowList" 
+        />
     </div>
 </template>
 
 <script>
 import {bannerupload} from '@/api/api.js';
+import {apiSmartReport}  from '@/api/modules/smartReport'
+import ElImageViewer from 'element-ui/packages/image/src/image-viewer';
 export default {
+    components:{ElImageViewer},
     data() {
         return {
             keyword:'',
             type:'',
+            page:1,
+            pageSize:12,
+            list:[],
+            total:0,
 
             uploadImgPop:false,
             formData:{
+                id:0,
                 name:'',
                 type:'',
                 imgUrl:''
@@ -101,11 +147,73 @@ export default {
                 name:[{ required: true, message: '请输入图片名称', trigger: 'blur' }],
                 type:[{ required: true, message: '请选择图片类型', trigger: 'change' }],
                 imgUrl:[{ required: true, message: '请上传图片', trigger: 'change' }]
-            }
+            },
+
+            showViewer:false,
+            picShowList:[],
 
+            delIds:[],//要删除的id集合
+            selectIds:[],
+
+            isIndeterminate:false,
+            checkAll:false
         }
     },
+    created() {
+        this.getImgList()
+    },
     methods: {
+        handleSelectItem(e){
+            const index=this.selectIds.indexOf(e.ResourceId)
+            if(index>-1){
+                this.selectIds.splice(index,1)
+            }else{
+                this.selectIds.push(e.ResourceId)
+            }
+
+            this.checkAll=this.selectIds.length===this.list.length?true:false
+            this.isIndeterminate=this.selectIds.length>0&&this.selectIds.length<this.list.length
+        },
+        handleCheckAllChange(val){
+            if(val){
+                this.selectIds=this.list.map(item=>item.ResourceId)
+            }else{
+                this.selectIds=[]
+            }
+        },
+
+        //分页页码跳转
+        handleCurrentChange(current) {
+            this.page = current;
+            this.getImgList();
+        },
+
+
+        //资源库列表
+        async getImgList(){
+            // 获取列表数据重置选择数据
+            this.selectIds=[]
+            this.isIndeterminate=false
+            this.checkAll=false
+            this.delIds=[]
+            
+            const res=await apiSmartReport.imgReourceList({
+                CurrentIndex:this.page,
+                PageSize:this.pageSize,
+                Type:this.type,
+                Keyword:this.keyword
+            })
+            if(res.Ret===200){
+                this.list=res.Data.List||[]
+                this.total=res.Data.Paging.Totals
+            }
+        },
+
+        handleSearch(){
+            this.page=1
+            this.getImgList()
+        },
+
         handleUploadImg(file){
             //图片大小和格式限制
             const {size,type} = file.file
@@ -119,9 +227,86 @@ export default {
         
         },
 
+        handleSave(){
+            this.$refs.ruleForm.validate((valid)=>{
+                if(valid){
+                    const params={
+                        Type:this.formData.type,
+                        ImgUrl:this.formData.imgUrl,
+                        ImgName:this.formData.name
+                    }
+                    if(this.formData.id){
+                        // 编辑
+                        apiSmartReport.imgReourceRename({
+                            ResourceId:this.formData.id,
+                            ImgName:this.formData.name
+                        }).then(res=>{
+                            if(res.Ret===200){
+                                this.$message.success('修改成功')
+                                this.page=1
+                                this.getImgList()
+                                this.handleCloseImgUpload()
+                            }
+                        })
+                        return
+                    }
+                    apiSmartReport.imgReourceAdd(params).then(res=>{
+                        if(res.Ret===200){
+                            this.$message.success('新增成功')
+                            this.page=1
+                            this.getImgList()
+                            this.handleCloseImgUpload()
+                        }
+                    })
+                }
+            })
+        },
+
         handleCloseImgUpload(){
             this.uploadImgPop=false
+            this.formData.id=0
             this.$refs.ruleForm.resetFields()
+        },
+
+        handleShowImgFull(e){
+            console.log(e);
+            this.picShowList=[e.ImgUrl]
+            this.showViewer=true
+        },
+
+        handleClickOpt(e){
+            if(e.type==='del'){
+                this.delIds=[e.data.ResourceId]
+                this.handleImgDel()
+            }
+            if(e.type==='rename'){
+                this.formData.id=e.data.ResourceId
+                this.formData.name=e.data.ImgName
+                this.formData.type=e.data.Type
+                this.formData.imgUrl=e.data.ImgUrl
+                this.uploadImgPop=true
+            }
+        },
+
+        handleBatchDel(){
+            this.delIds=this.selectIds
+            this.handleImgDel()
+        },
+
+        handleImgDel(){
+            this.$confirm('是否确认删除选中图片?','提示',{
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                type: 'warning'
+            }).then(()=>{
+                apiSmartReport.imgReourceDel({ResourceIds:this.delIds.join(',')}).then(res=>{
+                    if(res.Ret===200){
+                        this.$message.success('删除成功')
+                        this.page=1
+                        this.getImgList()
+                    }
+                })
+            })
         }
     },
 }
@@ -130,6 +315,12 @@ export default {
 <style lang="scss" scoped>
 .smart-report-img-set-page{
     padding: 30px;
+    padding-bottom: 100px;
+    .select-status-box{
+        background-color: #F8F8F8;
+        padding: 10px 20px;
+        margin-top: 20px;
+    }
 }
 .img-list-wrap{
     margin-top: 20px;
@@ -145,19 +336,41 @@ export default {
             width: 100%;
             height: 160px;
             background-color: var(--gary-gy-3-disabled, #EBEFF6);
+            object-fit: cover !important;
+            box-sizing: border-box;
             &:hover{
                 border: 1px solid #3375e1;
             }
         }
         .name{
             margin-top: 5px;
+            display: -webkit-box;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            -webkit-line-clamp: 2;
+            line-break: anywhere;
+            -webkit-box-orient: vertical;
         }
-        .opt-box{
+        .select-box{
+            position: absolute;
+            left: 1px;
+            top: 1px;
+            width: 12px;
+            height: 12px;
+            background-color: #EBEFF6;
+            display: none;
+        }
+        .select-box-active{
+            background-image: url('~@/assets/img/smartReport/icon17.png');
+            background-repeat: no-repeat;
+            background-size: cover;
             display: block;
+        }
+        .opt-box{
+            display: none;
             position: absolute;
             top: 10px;
             right: 10px;
-            display: flex;
             z-index: 5;
             .item{
                 width: 24px;
@@ -174,6 +387,14 @@ export default {
                 }
             }
         }
+        &:hover{
+            .opt-box{
+                display: flex;
+            }
+            .select-box{
+                display: block;
+            }
+        }
     }
 }
 .upload-img-form{

+ 1 - 1
src/views/system_manage/etaBaseConfig.vue

@@ -432,7 +432,7 @@ export default {
 
             partType:1,//1登陆设置 2研报设置 3PPT配置
 
-            sectionType:2,//1通用设置 2资源库
+            sectionType:1,//1通用设置 2资源库
 
 
         };