hbchen 1 жил өмнө
parent
commit
2bc01c4f13

BIN
src/assets/img/eta_base_config/email_content_template.png


BIN
src/assets/img/icons/warn-circle-gray.png


+ 2 - 2
src/views/ppt_manage/newVersion/components/Cover.vue

@@ -5,7 +5,7 @@
         <img :src="pageInfo.BackgroundImg" class="pptbg"  style="width:100%"/>
         <div
         style="width:62%; font-size:16px; text-align:center; line-height:1.6;  position:absolute; right:20px; top:50%;zIndex:20;">
-        <p :style="`height:5px; border-top:1px solid ${$parent.pptCoverTextColor||'#fff'};marginBottom:21px;`"></p>
+        <p :style="`height:5px; marginBottom:21px;`"></p>
         <p style="font-size:28px;">{{ pageInfo.Title }}</p>
         <p style="display:flex; align-items:center; justify-content:center;margin:10px 0;">
             <span :style="`display:inline-block; width:15px; margin-right:5px; border-top:1px solid ${$parent.pptCoverTextColor||'#fff'};`"></span>
@@ -17,7 +17,7 @@
         </p>
         <p :style="{'color':$parent.pptCoverTextColor||''}">{{$parent.pptCoverDepartName||'投研部'}}</p>
         <p>{{pageInfo.PptDate}}</p>
-        <p :style="`width:80%; height:1px; border-bottom:1px solid ${$parent.pptCoverTextColor||'#fff'}; margin:21px auto 0;`"></p>
+        <p :style="`width:80%; height:1px; margin:21px auto 0;`"></p>
         </div>
     </div>
 </template>

+ 2 - 2
src/views/ppt_manage/newVersion/components/CoverEn.vue

@@ -3,7 +3,7 @@
         <img :src="pageInfo.BackgroundImg" class="pptbg"  style="width:100%"/>
         <div
         :style="`width:62%; font-size:16px; text-align:center; line-height:1.6; color:${$parent.pptCoverTextColor||'#fff'}; position:absolute; right:20px; top:50%;zIndex:20;`">
-        <p :style="`height:5px; border-top:1px solid ${$parent.pptCoverTextColor||'#fff'};marginBottom:21px;`"></p>
+        <p :style="`height:5px;marginBottom:21px;`"></p>
         <p style="font-size:28px;">{{ pageInfo.Title }}</p>
         <p style="display:flex; align-items:center; justify-content:center;margin:10px 0;">
             <span :style="{'color':$parent.pptCoverTextColor||'#fff'}">{{$parent.pptCoverCompenyName||'ETA'}}</span>
@@ -15,7 +15,7 @@
         </p>
         <p :style="{'color':$parent.pptCoverTextColor||'#fff'}">{{$parent.pptCoverDepartName||'Research Department'}}</p>
         <p>{{pageInfo.PptDate}}</p>
-        <p :style="`width:80%; height:1px; border-bottom:1px solid ${$parent.pptCoverTextColor||'#fff'}; margin:21px auto 0;`"></p>
+        <p :style="`width:80%; height:1px; margin:21px auto 0;`"></p>
         </div>
     </div>
 </template>

+ 2 - 2
src/views/ppt_manage/newVersion/components/catalog/pptContent.vue

@@ -5,10 +5,10 @@
       <template  v-for="(item,index) in loadArr">
           <div class="ppt-item" id="cover" v-if="index===0" :key="item.id">
             <Cover :pageInfo="firstPage" v-show="firstPage"></Cover>
-            <div class="ppt-info">
+            <!-- <div class="ppt-info">
               <p>作者:{{pptItem.AdminRealName}}</p>
               <p>{{pptItem.PptxUrl?'发布':'保存'}}时间:{{$moment(pptTime).format('YYYY-MM-DD')}}</p>
-            </div>
+            </div> -->
           </div>
           <div class="ppt-item" id="back" v-else-if="isLoadBack&&item.name==='back'&&pptBackImage.length" :key="item.id">
             <img :src="pptBackImage" class="pptbg" />

+ 9 - 9
src/views/ppt_manage/newVersion/components/catalog/pptContentEn.vue

@@ -4,10 +4,10 @@
       <template  v-for="(item,index) in loadArr">
           <div class="ppt-item" id="cover" v-if="index===0" :key="item.id">
             <Cover :pageInfo="firstPage" v-show="firstPage"></Cover>
-            <div class="ppt-info">
+            <!-- <div class="ppt-info">
               <p>作者:{{pptItem.AdminRealName}}</p>
               <p>{{pptItem.PptxUrl?'发布':'保存'}}时间:{{$moment(pptTime).format('YYYY-MM-DD')}}</p>
-            </div>
+            </div> -->
           </div>
           <div class="ppt-item" id="back" v-else-if="isLoadBack&&item.name==='back'&&pptBackImage.length" :key="item.id">
             <img :src="pptBackImage" class="pptbg" style="width:100%;height:100%;object-fit: fill !important;"/>
@@ -320,13 +320,13 @@ export default {
       background-size: 100% 104.5%;
       margin-bottom: 20px;
       border: 4px solid transparent;
-      .ppt-info{
-        position:absolute;
-        top:10px;
-        right:15px;
-        color: #fff;
-        font-size: 14px;
-      }
+      // .ppt-info{
+      //   position:absolute;
+      //   top:10px;
+      //   right:15px;
+      //   color: #fff;
+      //   font-size: 14px;
+      // }
       .page-num{
         color:#666666;
         position:absolute;

+ 2 - 2
src/views/ppt_manage/newVersion/components/editor/ChooseCover.vue

@@ -7,7 +7,7 @@
             </header>
             <div class="dialog-bg" :style="'backgroundImage:url('+bgList[bgListIndex]+');backgroundPosition:center;backgroundRepeat:no-repeat;backgroundSize:cover;'">
                 <div :style="`width:62%; font-size:16px; text-align:center; line-height:1.6; color:${$parent.pptCoverTextColor}; position:absolute; right:20px; top:50%;`">
-                    <p :style="`height:5px; border-top:1px solid ${$parent.pptCoverTextColor};margin-bottom:21px;`"></p>
+                    <p :style="`height:5px;margin-bottom:21px;`"></p>
                     <el-input
                       :data-textcolor="$parent.pptCoverTextColor"
                       type="textarea"
@@ -36,7 +36,7 @@
                         value-format="yyyy年M月"
                         placeholder="请选择日期">
                     </el-date-picker>
-                    <p :style="`width:80%; height:1px; border-bottom:1px solid ${$parent.pptCoverTextColor}; margin:21px auto 0;`"></p>
+                    <p :style="`width:80%; height:1px; margin:21px auto 0;`"></p>
                 </div>
             </div>
             <div class="dialog-bot">

+ 2 - 2
src/views/ppt_manage/newVersion/components/editor/ChooseCoverEn.vue

@@ -7,7 +7,7 @@
             </header>
             <div class="dialog-bg" :style="'backgroundImage:url('+bgList[bgListIndex]+');backgroundPosition:center;backgroundRepeat:no-repeat;backgroundSize:cover;'">
                 <div :style="`width:62%; font-size:16px; text-align:center; line-height:1.6; color:${$parent.pptCoverTextColor||'#fff'}; position:absolute; right:20px; top:50%;`">
-                    <p :style="`height:5px; border-top:1px solid ${$parent.pptCoverTextColor||'#fff'};margin-bottom:21px;`"></p>
+                    <p :style="`height:5px; margin-bottom:21px;`"></p>
                     <el-input
                       :data-textcolor="$parent.pptCoverTextColor"
                       type="textarea"
@@ -37,7 +37,7 @@
                         value-format="yyyy.MM"
                         placeholder="请选择日期">
                     </el-date-picker>
-                    <p :style="`width:80%; height:1px; border-bottom:1px solid ${$parent.pptCoverTextColor||'#fff'}; margin:21px auto 0;`"></p>
+                    <p :style="`width:80%; height:1px; margin:21px auto 0;`"></p>
                 </div>
             </div>
             <div class="dialog-bot">

+ 41 - 23
src/views/ppt_manage/newVersion/pptCatalog.vue

@@ -221,7 +221,8 @@
                 />
               </div>
               <div style="height:1px;background:#ECECEC;margin:0 -10px;"></div>
-              <div class="item-image">
+              <div class="item-image" 
+              :style="item.BackgroundImg?{background: `no-repeat top/cover url('${item.BackgroundImg}')`}:{}">
                 <span>{{item.Title}}</span>
               </div>
               <span style="font-size:14px;">创建时间:{{$moment(item.PptCreateTime).format('YYYY-MM-DD')}}</span>
@@ -246,13 +247,19 @@
           ></ppt-content-old>
         </div>
         <div class="tool-side ppt-page-wrap">
-          <span>操作</span>
-          <div class="tool-list">
-            <span v-for="item in pptToolList" :key="item.key" 
-              :class="{'delete':item.key==='delete'}"
-              @click="handleToolClick(item)">
-              {{item.label}}
-            </span>
+          <div class="ppt-info">
+            <div>作者:{{pptItem.AdminRealName}}</div>
+            <div>{{pptItem.PptxUrl?'发布':'保存'}}时间:{{$moment(pptTime).format('YYYY-MM-DD')}}</div>
+          </div>
+          <div class="tool-list-operation">
+            <span>操作</span>
+            <div class="tool-list">
+              <span v-for="item in pptToolList" :key="item.key" 
+                :class="{'delete':item.key==='delete'}"
+                @click="handleToolClick(item)">
+                {{item.label}}
+              </span>
+            </div>
           </div>
         </div>
       </div>
@@ -1514,28 +1521,39 @@ export default {
         width:180px;
         background-color: white;
         height: calc(100vh - 120px);
-        padding:20px;
-        overflow-y: scroll;
+        // padding:20px;
+        // overflow-y: scroll;
         border-left: 1px solid #eaeaea;
         &::-webkit-scrollbar-track{
           display: none;
         }
-        .tool-list{
-          margin-top: 20px;
-          display: flex;
-          flex-direction: column;
-          align-items: center;
-          span{
-            cursor: pointer;
-            color:#409eff;
-            display: inline-block;
-            height: 35px;
-            line-height: 35px;
-            &.delete{
-              color: red;
+        .ppt-info{
+          font-size: 14px;
+          color: rgba($color: #000000, $alpha: 0.54);
+          margin-bottom: 5px;
+          padding: 16px 12px;
+          border-bottom: 2px solid rgba($color: #333333, $alpha: 0.03);
+        }
+        .tool-list-operation{
+          padding: 0 20px 20px;
+          .tool-list{
+            margin-top: 20px;
+            display: flex;
+            flex-direction: column;
+            align-items: center;
+            span{
+              cursor: pointer;
+              color:#409eff;
+              display: inline-block;
+              height: 35px;
+              line-height: 35px;
+              &.delete{
+                color: red;
+              }
             }
           }
         }
+
       }
     }
   }

+ 40 - 23
src/views/ppt_manage/newVersion/pptEnCatalog.vue

@@ -216,7 +216,8 @@
                 />
               </div>
               <div style="height:1px;background:#ECECEC;margin:0 -10px;"></div>
-              <div class="item-image">
+              <div class="item-image" 
+              :style="item.BackgroundImg?{background: `no-repeat top/cover url('${item.BackgroundImg}')`}:{}">
                 <span>{{item.Title}}</span>
               </div>
               <span style="font-size:14px;">创建时间:{{$moment(item.PptCreateTime).format('YYYY-MM-DD')}}</span>
@@ -236,13 +237,19 @@
           ></ppt-content>
         </div>
         <div class="tool-side ppt-page-wrap">
-          <span>操作</span>
-          <div class="tool-list">
-            <span v-for="item in pptToolList" :key="item.key" 
-              :class="{'delete':item.key==='delete'}"
-              @click="handleToolClick(item)">
-              {{item.label}}
-            </span>
+          <div class="ppt-info">
+            <div>作者:{{pptItem.AdminRealName}}</div>
+            <div>{{pptItem.PptxUrl?'发布':'保存'}}时间:{{$moment(pptTime).format('YYYY-MM-DD')}}</div>
+          </div>
+          <div class="tool-list-operation">
+            <span>操作</span>
+            <div class="tool-list">
+              <span v-for="item in pptToolList" :key="item.key" 
+                :class="{'delete':item.key==='delete'}"
+                @click="handleToolClick(item)">
+                {{item.label}}
+              </span>
+            </div>
           </div>
         </div>
       </div>
@@ -1404,25 +1411,35 @@ export default {
         width:180px;
         background-color: white;
         height: calc(100vh - 120px);
-        padding:20px;
-        overflow-y: scroll;
+        // padding:20px;
+        // overflow-y: scroll;
         border-left: 1px solid #eaeaea;
         &::-webkit-scrollbar-track{
           display: none;
         }
-        .tool-list{
-          margin-top: 20px;
-          display: flex;
-          flex-direction: column;
-          align-items: center;
-          span{
-            cursor: pointer;
-            color:#409eff;
-            display: inline-block;
-            height: 35px;
-            line-height: 35px;
-            &.delete{
-              color: red;
+        .ppt-info{
+          font-size: 14px;
+          color: rgba($color: #000000, $alpha: 0.54);
+          margin-bottom:5px;
+          padding: 16px 12px;
+          border-bottom: 2px solid rgba($color: #333333, $alpha: 0.03);
+        }
+        .tool-list-operation{
+          padding: 0 20px 20px;
+          .tool-list{
+            margin-top: 20px;
+            display: flex;
+            flex-direction: column;
+            align-items: center;
+            span{
+              cursor: pointer;
+              color:#409eff;
+              display: inline-block;
+              height: 35px;
+              line-height: 35px;
+              &.delete{
+                color: red;
+              }
             }
           }
         }

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

@@ -33,6 +33,7 @@
         },
         watch: {
             imgUrl(newVal) {
+                console.log(newVal);
                 //this.uploadKey++
             }
         },

+ 204 - 21
src/views/system_manage/etaBaseConfig.vue

@@ -25,14 +25,95 @@
                 </div>
                 <div class="side">
                     <el-form-item label="免责声明" prop="Disclaimer" class="disclaimer">
-                        <div class="rich-editor-wrap">
-                            <froala :id="`disclaimer-editor`"
-                                :ref="`disclaimerEditor`" 
-                                :tag="'textarea'" 
-                                :config="disclaimerConfig" v-model="formData.Disclaimer">
-                            </froala>
+                    <div class="rich-editor-wrap">
+                        <froala :id="`disclaimer-editor`"
+                            :ref="`disclaimerEditor`" 
+                            :tag="'textarea'" 
+                            :config="disclaimerConfig" v-model="formData.Disclaimer">
+                        </froala>
+                    </div>
+                    <ConfigAnnotation picHintText="" picName="Disclaimer" @showImage="previewImage"/>
+                </el-form-item>
+                </div>
+            </div>
+            <div class="part-base-tow part" >
+                <div class="side">
+                    <el-form-item label="国内短信模板" prop="LoginSmsTpId" >
+                        <div class="form-item-type-two sms-type">
+                            <el-input type="text" v-model.trim="formData.LoginSmsTpId" placeholder="请输入国内短信模板ID" style="width: calc(50% - 10px);">
+                                <template slot="suffix">
+                                    <el-tooltip content="登陆系统或找回密码或验证身份" placement="top">
+                                        <div class="input-suffix">
+                                            <img src="~@/assets/img/icons/warn-circle-gray.png" />
+                                        </div>
+                                    </el-tooltip>
+                                </template>
+                            </el-input>
+                            <el-input type="text" v-model.trim="formData.SmsJhgnAppKey" placeholder="请输入国内短信模板appkey" style="width: calc(50% - 10px);" />
+                        </div>
+                    </el-form-item>
+                    <el-form-item label="国外短信模板" prop="LoginSmsGjTpId" >
+                        <div class="form-item-type-two sms-type">
+                            <el-input type="text" v-model.trim="formData.LoginSmsGjTpId" placeholder="请输入国外短信模板ID" style="width: calc(50% - 10px);">
+                                <template slot="suffix">
+                                    <el-tooltip content="登陆系统或找回密码或验证身份" placement="top">
+                                        <div class="input-suffix">
+                                            <img src="~@/assets/img/icons/warn-circle-gray.png" />
+                                        </div>
+                                    </el-tooltip>
+                                </template>
+                            </el-input>
+                            <el-input type="text" v-model.trim="formData.SmsJhgjAppKey" placeholder="请输入国外短信模板appkey" style="width: calc(50% - 10px);" />
+                        </div>
+                    </el-form-item>
+                    <el-form-item label="邮件模板" prop="LoginEmailTemplateSubject" >
+                        <div class="form-item-type-two">
+                            <el-input type="text" v-model="formData.LoginEmailTemplateSubject" placeholder="请输入邮件标题" >
+                                <template slot="suffix">
+                                        <el-tooltip content="登陆系统或找回密码或验证身份" placement="top">
+                                    <div class="input-suffix">
+                                        <img src="~@/assets/img/icons/warn-circle-gray.png" />
+                                    </div>
+                                </el-tooltip>
+                                </template>
+                            </el-input>
                         </div>
-                        <ConfigAnnotation picHintText="" picName="Disclaimer" @showImage="previewImage"/>
+                    </el-form-item>
+                    <el-form-item prop="LoginEmailTemplateContent" >
+                        <froala id="email-content-editor"
+                            ref="emailContentEditor" 
+                            tag="textarea" 
+                            :config="{...disclaimerConfig,...emailEditorConfig}" v-model="formData.LoginEmailTemplateContent">
+                        </froala>
+                        <ConfigAnnotation picName="emailContentTemplate" @showImage="previewImage" picHintText=""/>
+                    </el-form-item>
+                </div>
+                <div class="side">
+                    <el-form-item label="中文研报分享标题" prop="H5ShareName">
+                        <el-input type="text" v-model="formData.H5ShareName" placeholder="请输入中文研报分享标题" />
+                    </el-form-item>
+                    <el-form-item label="英文研报分享标题" prop="H5ShareEnName">
+                        <el-input type="text" v-model="formData.H5ShareEnName" placeholder="请输入英文研报分享标题" />
+                    </el-form-item>
+                    <el-form-item label="关联公众号" prop="WxAppId">
+                        <el-input type="text" v-model.trim="formData.WxAppId" placeholder="请输入AppID" />
+                    </el-form-item>
+                    <el-form-item prop="WxAppSecret">
+                        <el-input type="text" v-model.trim="formData.WxAppSecret" placeholder="请输入AppSecret" />
+                    </el-form-item>
+                    <el-form-item prop="WxId">
+                        <el-input type="text" v-model.trim="formData.WxId" placeholder="请输入原始Id" />
+                    </el-form-item>
+                    <div class="input-hint">注:关联公众号填写时,AppID、AppSecret原始ID均需填写。</div>
+                    <el-form-item  prop="H5ReportShareImg">
+                        <ImgUpload 
+                            :imgUrl="formData.H5ReportShareImg"
+                            @showImage="showImage"
+                            @upload="(file)=>handleUploadImage(file,'H5ReportShareImg')"
+                            @remove="deleteFormImg('H5ReportShareImg')"
+                            />
+                        <!-- <ConfigAnnotation picName="OfficialAccountsLogoPic" @showImage="previewImage"
+                            picHintText=""/> -->
                     </el-form-item>
                 </div>
             </div>
@@ -43,14 +124,14 @@
                 </el-radio-group>
                 <div v-if="isShowPPT" v-show="pptLang === 'cn'" class="ppt-form-item-wrap">
                     <div class="inner-input-wrap">
-                        <el-form-item label="公司名称" prop="PptCompanyName">
+                        <el-form-item label="公司名称" prop="PptCompanyName" class="inline-form-item">
                             <el-input type="text" v-model="formData.PptCompanyName"></el-input>
                         </el-form-item>
-                        <el-form-item label="团队名称" prop="PptTeamName">
+                        <el-form-item label="团队名称" prop="PptTeamName" class="inline-form-item">
                             <el-input type="text" v-model="formData.PptTeamName"></el-input>
                         </el-form-item>
-                        <el-form-item label="字体颜色" prop="PptFontColor">
-                            <el-input type="color" style="width:100px;" v-model="formData.PptFontColor"></el-input>
+                        <el-form-item label="字体颜色" prop="PptFontColor" class="inline-form-item">
+                            <el-input type="color" style="width:64px;" v-model="formData.PptFontColor"></el-input>
                         </el-form-item>
                     </div>
                     
@@ -93,14 +174,14 @@
                 </div>
                 <div v-if="isShowEnPPT" v-show="pptLang === 'en'" class="ppt-form-item-wrap">
                     <div class="inner-input-wrap">
-                        <el-form-item label="公司名称" prop="PptCompanyNameEn">
+                        <el-form-item label="公司名称" prop="PptCompanyNameEn" class="inline-form-item">
                             <el-input type="text" v-model="formData.PptCompanyNameEn"></el-input>
                         </el-form-item>
-                        <el-form-item label="团队名称" prop="PptTeamNameEn">
+                        <el-form-item label="团队名称" prop="PptTeamNameEn" class="inline-form-item">
                             <el-input type="text" v-model="formData.PptTeamNameEn"></el-input>
                         </el-form-item>
-                        <el-form-item label="字体颜色" prop="PptFontColorEn">
-                            <el-input type="color" style="width:100px;" v-model="formData.PptFontColorEn"></el-input>
+                        <el-form-item label="字体颜色" prop="PptFontColorEn" class="inline-form-item">
+                            <el-input type="color" style="width:64px;" v-model="formData.PptFontColorEn"></el-input>
                         </el-form-item>
                     </div>
                     <el-form-item label="PPT封面图" prop="EnPptCoverImgs">
@@ -168,7 +249,7 @@
                 </template>
             </div>
         </el-form>
-        <div class="btn-wrap" style="text-align: center;">
+        <div class="btn-wrap" style="text-align: center;padding: 90px 0 60px 0;">
             <el-button type="primary" plain style="width:200px;" @click="cancel">取消</el-button>
             <el-button type="primary"  style="margin-left:50px;width:200px;" @click="saveBaseConfig">保存</el-button>
         </div>
@@ -206,6 +287,18 @@ export default {
                 CompanyName:'',//公司名称
                 CompanyWatermark:'',//公司水印
                 WatermarkChart:0,//是否在研报图表中使用水印 0否 1是
+                LoginSmsTpId:'',//国内短信模板Id
+                SmsJhgnAppKey:'',//国内短信模板appKey
+                LoginSmsGjTpId:'',// 国际短信模板Id
+                SmsJhgjAppKey:'',//国内短信模板appKey
+                LoginEmailTemplateSubject:'', // 邮件标题
+                LoginEmailTemplateContent:'', // 邮件内容
+                H5ShareName:'', // 中文研报分享标题
+                H5ShareEnName:'', // 英文研报分享标题
+                WxAppId:'',
+                WxAppSecret:'',
+                WxId:'',
+                H5ReportShareImg:'',
 
                 UseXf:0,//是否启用科大讯飞服务 0否 1是
                 XfAppid:'',
@@ -224,6 +317,21 @@ export default {
             rules: {
                 Disclaimer:[{ required: true, message: '请输入免责声明', trigger: 'blur' }],
                 CompanyName:[{ required: true, message: '请输入公司名称', trigger: 'blur' }],
+                LoginSmsTpId:[{ required: true, message: '请输入国内短信模板ID', trigger: 'blur' },
+                            {
+                                validator:(rules,value,callback)=>{
+                                    if(!this.formData.SmsJhgnAppKey){
+                                        callback(new Error("请输入国内短信模板appkey"))
+                                    }else{
+                                        callback()
+                                    }
+                                },
+                                trigger: 'blur'
+                            }],
+                LoginEmailTemplateSubject:[{ required: true, message: '请输入邮件标题', trigger: 'blur' }],
+                LoginEmailTemplateContent:[{ required: true, message: '请输入邮件内容', trigger: 'blur' }],
+                H5ShareName:[{ required: true, message: '请输入中文研报分享标题', trigger: 'blur' }],
+                H5ShareEnName:[{ required: true, message: '请输入英文研报分享标题', trigger: 'blur' }],
                 //CompanyWatermark:[{ required: true, message: '请选择水印图片', trigger: 'blur' }],
                 CnPptBackgroundImg:[{ required: true, message: '请选择中文PPT背景图', trigger: 'blur' }],
                 EnPptBackgroundImg:[{ required: true, message: '请选择英文PPT背景图', trigger: 'blur' }],
@@ -263,7 +371,9 @@ export default {
                 wordPasteModal:false,
                 pluginsEnabled:['colors'],//定义可用插件
             },//富文本编辑器配置项
-
+            emailEditorConfig:{
+                placeholderText:'请输入邮件内容',
+            },
             /* ppt config */
             pptLang:'cn',//切换中英文表单 
             CnPptCoverImgs:[],//中文封面列表
@@ -281,7 +391,8 @@ export default {
                 'CompanyWatermark':[require('@/assets/img/eta_base_config/mark_1.jpg')],
                 'pptCoverList':[require('@/assets/img/eta_base_config/ppt_cover.jpg')],
                 'pptBgPic':[require('@/assets/img/eta_base_config/ppt_bgpic.jpg')],
-                'pptBackPic':[require('@/assets/img/eta_base_config/ppt_back.jpg')]
+                'pptBackPic':[require('@/assets/img/eta_base_config/ppt_back.jpg')],
+                'emailContentTemplate':[require('@/assets/img/eta_base_config/email_content_template.png')],
             },
             /* loading */
             configLoading:null,
@@ -344,6 +455,7 @@ export default {
                 }else{
                     this.formData[key] = res.Data.ResourceUrl
                 }
+                console.log(this.formData);
             })
         },
         previewImage(picName){
@@ -391,8 +503,6 @@ export default {
             })
         },
         saveBaseConfig(){
-            //froala 在非本地环境会有版权标识,在表单验证前去掉
-            this.formData.Disclaimer = this.formData.Disclaimer.replace(/<p data-f-id=\"pbf\".*?<\/p>/g, "");
             //rules验证
             this.$refs.baseConfigForm.validate((valid,obj)=>{
                 console.log('valid',valid)
@@ -412,6 +522,22 @@ export default {
                     }
                 }
                 if(valid){
+                    if(this.formData.WxAppId || this.formData.WxAppSecret || this.formData.WxId){
+                        // 只要有一个填,其他必填
+                        if(!this.formData.WxAppId){
+                            this.$message.warning('AppID 不能为空')
+                            return 
+                        }else if(!this.formData.WxAppSecret){
+                            this.$message.warning('AppSecret 不能为空')
+                            return 
+                        }else if(!this.formData.WxId){
+                            this.$message.warning('原始Id 不能为空')
+                            return 
+                        }
+                    }
+                    //froala 在非本地环境会有版权标识,在表单验证前去掉
+                    this.formData.Disclaimer = this.formData.Disclaimer.replace(/<p data-f-id=\"pbf\".*?<\/p>/g, "");
+                    this.formData.LoginEmailTemplateContent = this.formData.LoginEmailTemplateContent.replace(/<p data-f-id=\"pbf\".*?<\/p>/g, "");
                     this.formData.WatermarkChart = ''+(this.checkList.includes('研报图表')?true:false)
                     this.formData.UseXf = ''+(this.Iflytek?true:false)
                     const CnPptCoverImgs = this.formData.CnPptCoverImgs.join(',')
@@ -441,6 +567,36 @@ export default {
     .el-form-item{
         .el-form-item__content{line-height: normal;}
     }
+    .inline-form-item{
+        display: flex;
+        align-items: center;
+        label{
+            height: 40px;
+            margin-right: 10px;
+            white-space: nowrap;
+        }
+        .el-form-item__content{
+            flex-grow: 1;
+        }
+    }
+    .el-input__inner[type="color"]{
+        height: 32px;
+        padding: 0;
+        border: none;
+    }
+    .fr-wrapper{
+        height: 220px!important;
+        .fr-element{
+            min-height: 220px!important;
+        }
+    }
+    .el-input--suffix .el-input__inner{
+        padding-right:34px ;
+    }
+    .el-radio-button__inner{
+        width: 150px;
+    }
+    
 }
 </style>
 <style scoped lang="scss">
@@ -454,6 +610,7 @@ export default {
             width:100%;
         }
         .part{
+            padding-bottom: 30px;
             display: flex;
             justify-content: space-between;
             flex-wrap: wrap;
@@ -461,10 +618,35 @@ export default {
                 border-bottom: 1px solid #DCDFE6;
             }
             &:not(:first-child){
-                margin-top: 30px;
+                margin-top: 50px;
             }
             .side{
                 width:45%;
+                .form-item-type-two{
+                    .input-suffix{
+                        display: flex;
+                        justify-content: center;
+                        align-items: center;
+                        height: 100%;
+                        padding-right: 6px;
+                        img{
+                            height: 16px;
+                            cursor: pointer;
+                        }
+                    }
+                }
+                .sms-type{
+                    display: flex;
+                    align-items: center;
+                    justify-content: space-between;
+                }
+                .input-hint{
+                    color: #999999;
+                    font-size: 14px;
+                    line-height: 20px;
+                    margin-bottom: 10px;
+                    margin-top: -3px;
+                }
             }
             .ppt-form-item-wrap{
                 width:100%;
@@ -475,6 +657,7 @@ export default {
                     width: 100%;
                     display: flex;
                     justify-content: space-between;
+                    margin: 20px 0;
                     >.el-form-item{
                         width:30%;
                     }