瀏覽代碼

系统logo支持配置

hbchen 1 年之前
父節點
當前提交
92b2d5749e

二進制
src/assets/img/eta_base_config/ETA_mobile_logo.png


二進制
src/assets/img/eta_base_config/ETA_mobile_title.png


二進制
src/assets/img/logo_mobile.png


+ 21 - 1
src/lang/modules/systemManage/BaseConfig.js

@@ -67,7 +67,17 @@ export const BaseConfigEn = {
     resource_del_msg:'Are you sure to delete the selected image?',
     resource_del_msg:'Are you sure to delete the selected image?',
 
 
     tip_msg01:'Save successful, please check the corresponding page/project later',
     tip_msg01:'Save successful, please check the corresponding page/project later',
-
+    pc:"PC",
+    mobile:"Mobile",
+    website_name:"Website Name",
+    english_version:"English Version",
+    chinese_version:"Chinese Version",
+    recommended_ratio:"Recommended Ratio 4:1",
+    pc_website_title_Tip:"Please enter the PC website name",
+    mobile_website_title_Tip:"Please enter the mobile website name",
+    system_logo:"System Logo",
+    upload_image_tip:"Click to Upload Image",
+    
 };
 };
   
   
 /* 中文 */
 /* 中文 */
@@ -135,6 +145,16 @@ export const BaseConfigZh = {
     resource_del_msg:'是否确认删除选中图片?',
     resource_del_msg:'是否确认删除选中图片?',
 
 
     tip_msg01:'保存成功,请稍后到对应页面/项目查看',
     tip_msg01:'保存成功,请稍后到对应页面/项目查看',
+    pc:"PC端",
+    mobile:"移动端",
+    website_name:"网站名称",
+    english_version:"英文版",
+    chinese_version:"中文版",
+    recommended_ratio:"推荐比例4:1",
+    pc_website_title_Tip:"请输入PC端网站名称",
+    mobile_website_title_Tip:"请输入移动端网站名称",
+    system_logo:"系统logo",
+    upload_image_tip:"点击上传图片",
 };
 };
   
   
 /**
 /**

+ 5 - 0
src/utils/buttonConfig.js

@@ -708,6 +708,11 @@ export const baseConfigPermission = {
     etaBaseConfig_watermark_ybShare:'etaBaseConfig:watermark:ybShare',//如果没权限,表单不显示也不校验
     etaBaseConfig_watermark_ybShare:'etaBaseConfig:watermark:ybShare',//如果没权限,表单不显示也不校验
     etaBaseConfig_source_see:'baseSetting:sourceSetting:see',//资源库查看
     etaBaseConfig_source_see:'baseSetting:sourceSetting:see',//资源库查看
     etaBaseConfig_source_upload:'baseSetting:sourceSetting:upload',//资源库上传
     etaBaseConfig_source_upload:'baseSetting:sourceSetting:upload',//资源库上传
+    // 登录设置
+    etaBaseConfig_login_systemLogo_mobile:'baseSetting:loginSetting:systemLogo:mobile',//系统logo移动端
+    etaBaseConfig_login_systemLogo_pc:'baseSetting:loginSetting:systemLogo:pc',//系统logoPC端
+    etaBaseConfig_login_websiteName_mobile:'baseSetting:loginSetting:websiteName:mobile',//网站名称移动端
+    etaBaseConfig_login_websiteName_pc:'baseSetting:loginSetting:websiteName:pc',//网站名称移动端
 }
 }
 
 
 /*-----------外部链接配置-------- */
 /*-----------外部链接配置-------- */

+ 13 - 2
src/views/Home.vue

@@ -367,7 +367,8 @@ export default {
 		},
 		},
 
 
     logoLarge() {
     logoLarge() {
-      return this.$i18n.locale == 'en' ? require('@/assets/img/en/logo.png') : this.$setting.g_logo
+      return this.$i18n.locale == 'en' ? this.$store.state.baseInfo.logoEn : 
+                                          this.$store.state.baseInfo.logoCh
     }
     }
   },
   },
   data() {
   data() {
@@ -446,7 +447,6 @@ export default {
       //链接系统
       //链接系统
       linkSystems: this.$setting.linkSystems,
       linkSystems: this.$setting.linkSystems,
       bus_code:"",
       bus_code:"",
-
     };
     };
   },
   },
   created() {
   created() {
@@ -463,6 +463,7 @@ export default {
     this.getBusinessCodeFun()
     this.getBusinessCodeFun()
     
     
     this.getQuestionStaus()
     this.getQuestionStaus()
+    this.getSystemInfo();//获取配置信息
   },
   },
   mounted() {
   mounted() {
     if (sessionStorage.getItem("hasGetMenu")) {
     if (sessionStorage.getItem("hasGetMenu")) {
@@ -908,6 +909,16 @@ export default {
        this.$i18n.locale =  this.$i18n.locale == 'zh' ? 'en' : 'zh'
        this.$i18n.locale =  this.$i18n.locale == 'zh' ? 'en' : 'zh'
        localStorage.setItem('i18n',this.$i18n.locale)
        localStorage.setItem('i18n',this.$i18n.locale)
     },
     },
+    getSystemInfo(){
+      departInterence.getBaseInfo().then(res=>{
+        if(res.Ret == 200){
+
+          this.$store.commit('SET_BASE_INFO',
+            {logoCh:res.Data.LogoCn?res.Data.LogoCn.ConfVal:'',logoEn:res.Data.LogoEn?res.Data.LogoEn.ConfVal:''}
+          )
+        }
+      })
+    }
   },
   },
 };
 };
 </script>
 </script>

+ 1 - 1
src/views/smartReport/components/ETAChart.vue

@@ -3,7 +3,7 @@
         <div class="top-box">
         <div class="top-box">
             <div class="left-card">
             <div class="left-card">
                 <span :class="['item',activeType==='ETA图库'?'active':'']" @click="activeTypeChange('ETA图库')">{{$t('ReportManage.ReportList.chart_inventory_radio')}}</span>
                 <span :class="['item',activeType==='ETA图库'?'active':'']" @click="activeTypeChange('ETA图库')">{{$t('ReportManage.ReportList.chart_inventory_radio')}}</span>
-                <span :class="['item',activeType==='MyETA'?'active':'']" @click="activeTypeChange('MyETA')">MyETA</span>
+                <span :class="['item',activeType==='MyETA'?'active':'']" @click="activeTypeChange('MyETA')">{{$t('MyEtaPage.tab_my')}}</span>
             </div>
             </div>
             <div class="right">
             <div class="right">
                 <el-input
                 <el-input

+ 5 - 1
src/views/system_manage/components/imgUpload.vue

@@ -4,7 +4,7 @@
         <div class="upload-box">
         <div class="upload-box">
             <template v-if="!imgUrl.length">
             <template v-if="!imgUrl.length">
                 <i class="el-icon-plus" style="font-size: 24px;"></i>
                 <i class="el-icon-plus" style="font-size: 24px;"></i>
-                <p class="form-hint">点击上传图片</p>
+                <p class="form-hint">{{ text }}</p>
             </template>
             </template>
             <template v-else>
             <template v-else>
                 <img class="upload-img" :src="imgUrl" alt="配图">
                 <img class="upload-img" :src="imgUrl" alt="配图">
@@ -24,6 +24,10 @@
             imgUrl: {
             imgUrl: {
                 type: String,
                 type: String,
                 default: ''
                 default: ''
+            },
+            text: {
+                type: String,
+                default: '点击上传图片'
             }
             }
         },
         },
         data() {
         data() {

+ 86 - 36
src/views/system_manage/etaBaseConfig.vue

@@ -76,8 +76,6 @@
                             </froala>
                             </froala>
                             <ConfigAnnotation picName="emailContentTemplate" @showImage="previewImage" picHintText="" :buttonText="$t('SystemManage.BaseConfig.view_example_text')"/>
                             <ConfigAnnotation picName="emailContentTemplate" @showImage="previewImage" picHintText="" :buttonText="$t('SystemManage.BaseConfig.view_example_text')"/>
                         </el-form-item>
                         </el-form-item>
-                    </div>
-                    <div class="side">
                         <el-form-item label="备案信息" prop="ICPLicense">
                         <el-form-item label="备案信息" prop="ICPLicense">
                             <el-input type="text" v-model="formData.ICPLicense" placeholder="文本中输入≥2个空格表示文本分段,小屏时换行展示" />
                             <el-input type="text" v-model="formData.ICPLicense" placeholder="文本中输入≥2个空格表示文本分段,小屏时换行展示" />
                             <ConfigAnnotation picHintText="" picName="ICPLicense" @showImage="previewImage"/>
                             <ConfigAnnotation picHintText="" picName="ICPLicense" @showImage="previewImage"/>
@@ -86,40 +84,67 @@
                             <el-input type="text" v-model="formData.ETATitle" placeholder="请输入登录页标题" />
                             <el-input type="text" v-model="formData.ETATitle" placeholder="请输入登录页标题" />
                             <ConfigAnnotation picHintText="" picName="ETATitle" @showImage="previewImage"/>
                             <ConfigAnnotation picHintText="" picName="ETATitle" @showImage="previewImage"/>
                         </el-form-item>
                         </el-form-item>
-                        <div class="inline-form-item-box">
-                            <div class="line-form-item-name">网站名称</div>
+                        <div class="inline-form-item-box" v-if="permissionBtn.isShowBtn('baseConfigPermission','etaBaseConfig_login_websiteName_pc') ||
+                            permissionBtn.isShowBtn('baseConfigPermission','etaBaseConfig_login_websiteName_mobile')">
+                            <div class="line-form-item-name">{{$t('SystemManage.BaseConfig.website_name')}}</div>
                             <div class="line-form-item">
                             <div class="line-form-item">
-                                <el-form-item label="PC端" prop="pcTabName">
-                                    <el-input type="text" v-model="formData.pcTabName" placeholder="请输入登录页标题" />
-                                    <ConfigAnnotation picHintText="" picName="pcTabName" @showImage="previewImage"/>
+                                <el-form-item :label="$t('SystemManage.BaseConfig.pc')" prop="TabName"
+                                v-permission="permissionBtn.baseConfigPermission.etaBaseConfig_login_websiteName_pc">
+                                    <el-input type="text" v-model="formData.TabName" :placeholder="$t('SystemManage.BaseConfig.pc_website_title_Tip')" />
+                                    <ConfigAnnotation picHintText="" picName="TabName" @showImage="previewImage"
+                                     :buttonText="$t('SystemManage.BaseConfig.view_example_text')"/>
                                 </el-form-item>
                                 </el-form-item>
-                                <el-form-item label="移动端" prop="mobileTabName">
-                                    <el-input type="text" v-model="formData.mobileTabName" placeholder="请输入登录页标题" />
-                                    <ConfigAnnotation picHintText="" picName="mobileTabName" @showImage="previewImage"/>
+                                <el-form-item :label="$t('SystemManage.BaseConfig.mobile')" prop="TabNameMobile"
+                                v-permission="permissionBtn.baseConfigPermission.etaBaseConfig_login_websiteName_mobile">
+                                    <el-input type="text" v-model="formData.TabNameMobile" :placeholder="$t('SystemManage.BaseConfig.mobile_website_title_Tip')" />
+                                    <ConfigAnnotation picHintText="" picName="TabNameMobile" @showImage="previewImage"
+                                     :buttonText="$t('SystemManage.BaseConfig.view_example_text')"/>
                                 </el-form-item>
                                 </el-form-item>
                             </div>
                             </div>
                         </div>
                         </div>
-                        <div class="inline-form-item-box">
-                            <div class="line-form-item-name">系统logo</div>
-                            <div class="line-form-item">
-                                <el-form-item label="中文版" prop="logoCh">
+                    </div>
+                    <div class="side">
+                        <div class="inline-form-item-box"  v-if="permissionBtn.isShowBtn('baseConfigPermission','etaBaseConfig_login_systemLogo_pc') ||
+                            permissionBtn.isShowBtn('baseConfigPermission','etaBaseConfig_login_systemLogo_mobile')">
+                            <div class="line-form-item-name">{{ $t('SystemManage.BaseConfig.system_logo') }}</div>
+                            <div class="line-form-item-name" style="line-height: 30px;" v-permission="permissionBtn.baseConfigPermission.etaBaseConfig_login_systemLogo_pc">{{ $t('SystemManage.BaseConfig.pc') }}</div>
+                            <div class="line-form-item" v-permission="permissionBtn.baseConfigPermission.etaBaseConfig_login_systemLogo_pc">
+                                <el-form-item :label="`${$t('SystemManage.BaseConfig.chinese_version')}(${$t('SystemManage.BaseConfig.recommended_ratio')})`" prop="LogoCN">
                                     <ImgUpload 
                                     <ImgUpload 
-                                    :imgUrl="formData.logoCh"
+                                    id="logo-image"
+                                    :imgUrl="formData.LogoCN"
+                                    :text="$t('SystemManage.BaseConfig.upload_image_tip')"
                                     @showImage="showImage"
                                     @showImage="showImage"
-                                    @upload="(file)=>handleUploadImage(file,'logoCh')"
-                                    @remove="deleteFormImg('logoCh')"
+                                    @upload="(file)=>handleUploadImage(file,'LogoCN')"
+                                    @remove="deleteFormImg('LogoCN')"
                                     />
                                     />
-                                    <ConfigAnnotation picHintText="" picName="logoCh" @showImage="previewImage"/>
+                                    <ConfigAnnotation picHintText="" picName="LogoCN" @showImage="previewImage" :buttonText="$t('SystemManage.BaseConfig.view_example_text')"/>
                                 </el-form-item>
                                 </el-form-item>
-                                <el-form-item label="英文版" prop="logoEn">
+                                <el-form-item :label="`${$t('SystemManage.BaseConfig.english_version')}(${$t('SystemManage.BaseConfig.recommended_ratio')})`" prop="LogoEN">
                                     <ImgUpload 
                                     <ImgUpload 
-                                        :imgUrl="formData.logoEn"
+                                        id="logo-image"
+                                        :imgUrl="formData.LogoEN"
+                                        :text="$t('SystemManage.BaseConfig.upload_image_tip')"
                                         @showImage="showImage"
                                         @showImage="showImage"
-                                        @upload="(file)=>handleUploadImage(file,'logoEn')"
-                                        @remove="deleteFormImg('logoEn')"
+                                        @upload="(file)=>handleUploadImage(file,'LogoEN')"
+                                        @remove="deleteFormImg('LogoEN')"
+                                    />
+                                    <ConfigAnnotation picHintText="" picName="LogoEN" @showImage="previewImage" :buttonText="$t('SystemManage.BaseConfig.view_example_text')"/>
+                                </el-form-item>
+                            </div>
+                            <div class="line-form-item" v-permission="permissionBtn.baseConfigPermission.etaBaseConfig_login_systemLogo_mobile">
+                                <el-form-item :label="$t('SystemManage.BaseConfig.mobile')" prop="LogoMobile" style="width: 50%;">
+                                    <ImgUpload 
+                                    id="logo-image"
+                                    :imgUrl="formData.LogoMobile"
+                                    :text="$t('SystemManage.BaseConfig.upload_image_tip')"
+                                    @showImage="showImage"
+                                    @upload="(file)=>handleUploadImage(file,'LogoMobile')"
+                                    @remove="deleteFormImg('LogoMobile')"
                                     />
                                     />
-                                    <ConfigAnnotation picHintText="" picName="logoEn" @showImage="previewImage"/>
+                                    <ConfigAnnotation picHintText="" picName="LogoMobile" @showImage="previewImage" :buttonText="$t('SystemManage.BaseConfig.view_example_text')"/>
                                 </el-form-item>
                                 </el-form-item>
+                                <div style="width: 50%;"></div>
                             </div>
                             </div>
                         </div>
                         </div>
                     </div>
                     </div>
@@ -509,10 +534,11 @@ export default {
                 ReportApproveType:'eta',//研报审批选项
                 ReportApproveType:'eta',//研报审批选项
                 ICPLicense:'', //备案信息
                 ICPLicense:'', //备案信息
                 ETATitle:'', //登录页标题
                 ETATitle:'', //登录页标题
-                pcTabName:'',//网页名称-PC端
-                mobileTabName:'',//网页名称-移动端
-                logoCh:'',//logo-中文版
-                logoEn:'',//logo-英文版 
+                TabName:'',//网页名称-PC端
+                TabNameMobile:'',//网页名称-移动端
+                LogoCN:'',//logo-中文版
+                LogoEN:'',//logo-英文版 
+                LogoMobile:'',//logo-移动端登录页
             },//表单预设值
             },//表单预设值
             rules: {
             rules: {
                 Disclaimer:[{ required: true, message: '请输入免责声明', trigger: 'blur' }],
                 Disclaimer:[{ required: true, message: '请输入免责声明', trigger: 'blur' }],
@@ -542,10 +568,11 @@ export default {
                 CnPptCoverImgs:[{ required: true, validator:ListValidator}],
                 CnPptCoverImgs:[{ required: true, validator:ListValidator}],
                 EnPptCoverImgs:[{ required: true, validator:ListValidator}],
                 EnPptCoverImgs:[{ required: true, validator:ListValidator}],
                 ETATitle:[{ required: true, message: '请输入登录页标题', trigger: 'blur' }],
                 ETATitle:[{ required: true, message: '请输入登录页标题', trigger: 'blur' }],
-                pcTabName:[{ required: true, message: '请输入PC端网页名称', trigger: 'blur' }],
-                mobileTabName:[{ required: true, message: '请输入移动端网页名称', trigger: 'blur' }],
-                logoCh:[{ required: true, message: '请上传系统中文版Logo', trigger: 'blur' }],
-                logoEn:[{ required: true, message: '请上传系统英文版Logo', trigger: 'blur' }],
+                TabName:[{ required: true, message: '请输入PC端网页名称', trigger: 'blur' }],
+                TabNameMobile:[{ required: true, message: '请输入移动端网页名称', trigger: 'blur' }],
+                LogoCN:[{ required: true, message: '请上传系统中文版Logo', trigger: 'blur' }],
+                LogoEN:[{ required: true, message: '请上传系统英文版Logo', trigger: 'blur' }],
+                LogoMobile:[{ required: true, message: '请上传系统移动端Logo', trigger: 'blur' }],
             },//表单校验
             },//表单校验
             disclaimerConfig:{
             disclaimerConfig:{
                 toolbarButtons:[
                 toolbarButtons:[
@@ -600,10 +627,11 @@ export default {
                 'emailContentTemplate':[require('@/assets/img/eta_base_config/email_content_template.png')],
                 'emailContentTemplate':[require('@/assets/img/eta_base_config/email_content_template.png')],
                 'ICPLicense':[require('@/assets/img/eta_base_config/record_information.jpg')],
                 'ICPLicense':[require('@/assets/img/eta_base_config/record_information.jpg')],
                 'ETATitle':[require('@/assets/img/eta_base_config/ETA_title.png')],
                 'ETATitle':[require('@/assets/img/eta_base_config/ETA_title.png')],
-                'pcTabName':[require('@/assets/img/eta_base_config/website_title.png')],
-                'mobileTabName':[require('@/assets/img/eta_base_config/website_title.png')],
-                'logoCh':[require('@/assets/img/eta_base_config/Logo_ch.png')],
-                'logoEn':[require('@/assets/img/eta_base_config/Logo_en.png')],
+                'TabName':[require('@/assets/img/eta_base_config/website_title.png')],
+                'TabNameMobile':[require('@/assets/img/eta_base_config/ETA_mobile_title.png')],
+                'LogoCN':[require('@/assets/img/eta_base_config/Logo_ch.png')],
+                'LogoEN':[require('@/assets/img/eta_base_config/Logo_en.png')],
+                'LogoMobile':[require('@/assets/img/eta_base_config/ETA_mobile_logo.png')],  
             },
             },
             /* loading */
             /* loading */
             configLoading:null,
             configLoading:null,
@@ -776,6 +804,9 @@ export default {
                     this.formData.CnPptCoverImgs = CnPptCoverImgs.length?CnPptCoverImgs.split(','):[]
                     this.formData.CnPptCoverImgs = CnPptCoverImgs.length?CnPptCoverImgs.split(','):[]
                     this.formData.EnPptCoverImgs = EnPptCoverImgs.length?EnPptCoverImgs.split(','):[]
                     this.formData.EnPptCoverImgs = EnPptCoverImgs.length?EnPptCoverImgs.split(','):[]
                     this.formData.WatermarkReport=res.Data.WatermarkReport==='true'?true:false
                     this.formData.WatermarkReport=res.Data.WatermarkReport==='true'?true:false
+                    this.formData.LogoCN = res.Data.LogoCN || require('@/assets/img/login_logo.png')
+                    this.formData.LogoEN = res.Data.LogoEN || require('@/assets/img/en/logo.png')
+                    this.formData.LogoMobile = res.Data.LogoMobile || require('@/assets/img/logo_mobile.png')
                 }
                 }
                 this.configLoading&&this.configLoading.close()
                 this.configLoading&&this.configLoading.close()
             })
             })
@@ -832,6 +863,10 @@ export default {
                         }
                         }
                     }).then(res=>{
                     }).then(res=>{
                         if(res.Ret!==200) return 
                         if(res.Ret!==200) return 
+                        // 设置logo
+                        this.$store.commit('SET_BASE_INFO',
+                            {logoCh:this.formData.LogoCN,logoEn:this.formData.LogoEN}
+                        )
                         this.$message.success(this.$t('SystemManage.BaseConfig.tip_msg01')||'保存成功,请稍后到对应页面/项目查看')
                         this.$message.success(this.$t('SystemManage.BaseConfig.tip_msg01')||'保存成功,请稍后到对应页面/项目查看')
                     })
                     })
                 }
                 }
@@ -958,7 +993,7 @@ export default {
                     }
                     }
                     .line-form-item{
                     .line-form-item{
                         display: flex;
                         display: flex;
-                        gap: 50px;
+                        gap: 40px;
                     }
                     }
                 }
                 }
             }
             }
@@ -988,4 +1023,19 @@ export default {
         }
         }
     }
     }
 }
 }
+</style>
+<style lang="scss">
+#logo-image{
+    .el-upload{
+        width: 100%;
+        height: 86px;
+        .upload-mask{
+            line-height: 86px;
+        }
+    }
+    .upload-box{
+        width: 100%;
+        height: 100%;
+    }
+}
 </style>
 </style>

+ 1 - 0
src/vuex/index.js

@@ -33,6 +33,7 @@ const state = {
   // 是否有 试用用户行为权限
   // 是否有 试用用户行为权限
   hasTrialUserPermisson:false,
   hasTrialUserPermisson:false,
   permissionRoute:[], //用于需要验证是否有某个菜单的权限
   permissionRoute:[], //用于需要验证是否有某个菜单的权限
+  baseInfo:{}
 };
 };
 
 
 export default {
 export default {

+ 5 - 1
src/vuex/mutations.js

@@ -76,7 +76,11 @@ const mutations = {
   // 添加需要校验且有权限的路由
   // 添加需要校验且有权限的路由
   ADD_PERMISSION_ROUTE(state,route){
   ADD_PERMISSION_ROUTE(state,route){
     state.permissionRoute.push(route)
     state.permissionRoute.push(route)
-  }
+  },
+  //设置基础信息
+  SET_BASE_INFO(state,obj) {
+    state.baseInfo={...state.baseInfo,...obj};
+  },
 };
 };
 
 
 export default mutations;
 export default mutations;