浏览代码

英文研报群发邮件改动;ppt设置同步配置

Karsa 1 年之前
父节点
当前提交
55c3e55b39

+ 11 - 0
src/api/etaConfig.js

@@ -0,0 +1,11 @@
+/* ETA-系统设置-基础配置 相关接口 */
+import { get,post } from "./index";
+
+/**
+ * 获取基本配置信息
+ * @param {*} params 
+ * @returns 
+ */
+export const getBaseConfig = params =>{
+    return get('/business_conf/fetch',params)
+}

+ 15 - 1
src/api/reportEn.js

@@ -146,5 +146,19 @@ export default {
      */
     reportPublishTimeSet(params){
         return post('/english_report/pre_publish',params)
-    }
+    },
+
+    /**
+     * 英文客户列表
+     * @param {
+     * PageSize - 每页数据量 - 必填
+     * CurrentIndex - 当前页数 - 必填
+     * Keywords - 客户名称
+     * SortType - 点击量排序方式: 1-倒序;2-正序
+     * } params 
+     * @returns 
+     */
+    getCustomListEn: params => {
+        return get('/english_report/company/list',params)
+    },
 }

+ 19 - 0
src/store/modules/etaConfig.js

@@ -0,0 +1,19 @@
+/* eta基本配置信息 */
+import { defineStore } from "pinia";
+import { getBaseConfig } from '@/api/etaConfig.js'
+
+export const useConfigSettingStore = defineStore('etaConfig',{
+  state: () => {
+    return {
+      etaConfigInfo: null
+    }
+  },
+
+  actions: {
+    async getBaseConfigSetting() {
+      const res = await getBaseConfig();
+      if(res.Ret !== 200) return
+      this.etaConfigInfo = res.Data
+    }
+  }
+})

+ 2 - 1
src/views/ppt/Detail.vue

@@ -3,7 +3,7 @@ import { ref,nextTick} from 'vue'
 import { useRoute, useRouter } from "vue-router";
 import { vElementSize } from '@vueuse/components'
 import {apiPPTDetail} from '@/api/ppt'
-import {createPPTContent,getTemplate} from './hooks/createPPTContent'
+import {createPPTContent,getTemplate,getPPTConfig} from './hooks/createPPTContent'
 import {usePPTPublish} from './hooks/usePPTPublish'
 import {useClassify} from './hooks/useClassify'
 import {useUserInfo} from '@/hooks/common'
@@ -30,6 +30,7 @@ async function getPPTDetail(){
     conArr.value=createPPTContent(res.Data)
     nextTick(()=>{
         onResize({width:document.getElementsByClassName('ppt-content-wrap')[0].clientWidth})
+        $('.ppt-item-page').css('background-image',`url(${getPPTConfig().pptBgImage})`);
     })
     document.title=res.Data.Title
     handleShowPPTOpt(true)

+ 3 - 0
src/views/ppt/Index.vue

@@ -3,6 +3,9 @@ import {ref,reactive} from 'vue'
 import MobileClassifyWrap from './components/MobileClassifyWrap.vue'
 import PadPPTIndexWrap from './components/PadPPTIndexWrap.vue'
 
+import { useConfigSettingStore } from '@/store/modules/etaConfig'
+useConfigSettingStore().getBaseConfigSetting()
+
 
 </script>
 

+ 2 - 1
src/views/ppt/Preview.vue

@@ -2,7 +2,7 @@
 import { ref,nextTick, computed} from 'vue'
 import { useRoute, useRouter } from "vue-router";
 import {apiPPTDetail} from '@/api/ppt'
-import {createPPTContent,getTemplate} from './hooks/createPPTContent'
+import {createPPTContent,getTemplate,getPPTConfig} from './hooks/createPPTContent'
 import { useWindowSize } from '@vueuse/core'
 import { Swipe, SwipeItem,showToast } from 'vant';
 
@@ -21,6 +21,7 @@ async function getPPTDetail(){
     conArr.value=createPPTContent(res.Data)
     nextTick(()=>{
         showToast('左右滑动可翻页')
+        $('.ppt-item-page').css('background-image',`url(${getPPTConfig().pptBgImage})`);
     })
     document.title=res.Data.Title
 }

+ 20 - 0
src/views/ppt/hooks/createPPTContent.js

@@ -22,6 +22,26 @@ import RectShape from '../components/layers/RectShape.vue'
 import LineShape from '../components/layers/LineShape.vue'
 import TextShape from '../components/layers/TextShape.vue'
 
+import { storeToRefs } from 'pinia'
+import { useConfigSettingStore } from '@/store/modules/etaConfig'
+
+export function getPPTConfig() {
+
+    const lang=window.location.pathname.startsWith('/ppten')?'en':'zh'
+
+    const { etaConfigInfo } = storeToRefs(useConfigSettingStore())
+
+    const { CnPptCoverImgs,CnPptBackgroundImg,CnPptBottomImg,PptCompanyName,PptTeamName,PptFontColor,EnPptCoverImgs,EnPptBackgroundImg,EnPptBottomImg,PptCompanyNameEn,PptTeamNameEn,PptFontColorEn }  = etaConfigInfo.value
+    return {
+        pptCoverList: lang==='en' ? EnPptCoverImgs.split(',') : CnPptCoverImgs.split(','),
+        pptBgImage: lang==='en' ? EnPptBackgroundImg : CnPptBackgroundImg,
+        pptBackImage: lang==='en' ? EnPptBottomImg : CnPptBottomImg,
+        pptCoverCompenyName: lang==='en' ? PptCompanyNameEn : PptCompanyName,
+        pptCoverDepartName: lang==='en' ? PptTeamNameEn : PptTeamName,
+        pptCoverTextColor: lang==='en' ? PptFontColorEn : PptFontColor
+    }
+}
+
 /**
  * 格式化ppt内容
  * @param params ppt详情接口返回的数据

+ 16 - 12
src/views/ppt/template/Cover.vue

@@ -1,5 +1,8 @@
 <script setup>
 import { ref } from "vue";
+import { getPPTConfig } from '../hooks/createPPTContent'
+
+console.log(getPPTConfig())
 
 const props = defineProps({
   pageData: {
@@ -12,23 +15,24 @@ const lang = ref(window.location.pathname.startsWith("/ppten") ? "en" : "zh");
 </script>
 
 <template>
-  <div class="ppt-item-box ppt-cover-page" id="ppt-cover-page">
-    <img :src="pageData.imgLocalUrl.image_url" class="pptbg" style="width: 100%" />
-    <div v-if="lang == 'zh'" style="width: 62%; font-size: 16px; text-align: center; line-height: 1.6; color: #fff; position: absolute; right: 20px; top: 50%; zindex: 20">
-      <p style="height: 5px; border-top: 1px solid #fff; marginbottom: 21px"></p>
+  <div class="ppt-item-box ppt-cover-page" id="ppt-cover-page" :style="`color: ${getPPTConfig().pptCoverTextColor||'#fff'}`">
+    <!-- <img :src="pageData.imgLocalUrl.image_url" class="pptbg" style="width: 100%" /> -->
+    <img :src="pageData.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; marginbottom: 21px"></p>
       <p style="font-size: 28px">{{ pageData.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 #fff"></span>
-        <span>弘则弥道(上海)投资咨询有限公司</span>
-        <span style="display: inline-block; width: 14px; height: 14px; background: #fff; border-radius: 100%; margin: 0 5px"></span>
+        <span :style="`display: inline-block; width: 15px; margin-right: 5px; border-top: 1px solid ${getPPTConfig().pptCoverTextColor||'#fff'}`"></span>
+        <span>{{getPPTConfig().pptCoverCompenyName||'ETA'}}</span>
+        <span :style="`display: inline-block; width: 14px; height: 14px; background: ${getPPTConfig().pptCoverTextColor||'#fff'}; border-radius: 100%; margin: 0 5px`"></span>
         <span>{{ pageData.ReportType }}</span>
-        <span style="display: inline-block; width: 15px; margin-left: 5px; border-top: 1px solid #fff"></span>
+        <span :style="`display: inline-block; width: 15px; margin-left: 5px; border-top: 1px solid ${getPPTConfig().pptCoverTextColor||'#fff'};`"></span>
       </p>
-      <p>FICC研究部</p>
+      <p>{{getPPTConfig().pptCoverDepartName||'投研部'}}</p>
       <p>{{ pageData.PptDate }}</p>
-      <p style="width: 80%; height: 1px; border-bottom: 1px solid #fff; margin: 21px auto 0"></p>
+      <p style="width: 80%; height: 1px; margin: 21px auto 0"></p>
     </div>
-    <div v-if="lang == 'en'" style="width: 62%; font-size: 16px; text-align: center; line-height: 1.6; color: #fff; position: absolute; right: 20px; top: 50%; zindex: 20">
+    <!-- <div v-if="lang == 'en'" style="width: 62%; font-size: 16px; text-align: center; line-height: 1.6; color: #fff; position: absolute; right: 20px; top: 50%; zindex: 20">
       <p style="height: 5px; border-top: 1px solid #fff; marginbottom: 21px"></p>
       <p style="font-size: 28px">{{ pageData.Title }}</p>
       <p style="display: flex; align-items: center; justify-content: center; margin: 10px 0">
@@ -42,7 +46,7 @@ const lang = ref(window.location.pathname.startsWith("/ppten") ? "en" : "zh");
       <p>FICC Research Department</p>
       <p>{{ pageData.PptDate }}</p>
       <p style="width: 80%; height: 1px; border-bottom: 1px solid #fff; margin: 21px auto 0"></p>
-    </div>
+    </div> -->
   </div>
 </template>
 

+ 3 - 2
src/views/ppt/template/Footer.vue

@@ -1,4 +1,5 @@
 <script setup>
+import { getPPTConfig } from '../hooks/createPPTContent'
 
 const props=defineProps({
     pageData:{
@@ -9,8 +10,8 @@ const props=defineProps({
 </script>
 
 <template>
-    <div class="ppt-item-box ppt-last-page" id="ppt-last-page">
-        <img :src="pageData.bgImg" alt="">
+    <div class="ppt-item-box ppt-last-page" id="ppt-last-page" v-if="getPPTConfig().pptBackImage.length">
+        <img :src="getPPTConfig().pptBackImage" alt="">
     </div>
 </template>
 

+ 1 - 1
src/views/ppt/template/FormatEight.vue

@@ -14,7 +14,7 @@ const lang=ref(window.location.pathname.startsWith('/ppten')?'en':'zh')
 </script>
 
 <template>
-	<div :class="['ppt-item-box',lang=='en'?'ppt-item-box_en':'']">
+	<div :class="['ppt-item-box ppt-item-page',lang=='en'?'ppt-item-box_en':'']">
 		<div class="ppt-title-box">{{pageData.title}}</div>
 		<div class="ppt-content-box">
 			<div class="container">

+ 1 - 1
src/views/ppt/template/FormatFive.vue

@@ -14,7 +14,7 @@ const lang=ref(window.location.pathname.startsWith('/ppten')?'en':'zh')
 </script>
 
 <template>
-	<div :class="['ppt-item-box',lang=='en'?'ppt-item-box_en':'']">
+	<div :class="['ppt-item-box ppt-item-page',lang=='en'?'ppt-item-box_en':'']">
 		<div class="ppt-title-box">{{pageData.title}}</div>
 		<div class="ppt-content-box">
 			<div class="container">

+ 1 - 1
src/views/ppt/template/FormatFour.vue

@@ -14,7 +14,7 @@ const lang=ref(window.location.pathname.startsWith('/ppten')?'en':'zh')
 </script>
 
 <template>
-	<div :class="['ppt-item-box',lang=='en'?'ppt-item-box_en':'']">
+	<div :class="['ppt-item-box ppt-item-page',lang=='en'?'ppt-item-box_en':'']">
 		<div class="ppt-title-box">{{pageData.title}}</div>
 		<div class="ppt-content-box">
 			<div class="container">

+ 1 - 1
src/views/ppt/template/FormatNine.vue

@@ -14,7 +14,7 @@ const lang=ref(window.location.pathname.startsWith('/ppten')?'en':'zh')
 </script>
 
 <template>
-	<div :class="['ppt-item-box',lang=='en'?'ppt-item-box_en':'']">
+	<div :class="['ppt-item-box ppt-item-page',lang=='en'?'ppt-item-box_en':'']">
 		<div class="ppt-title-box">{{pageData.title}}</div>
 		<div class="ppt-content-box">
 			<div class="container">

+ 1 - 1
src/views/ppt/template/FormatOne.vue

@@ -14,7 +14,7 @@ const lang=ref(window.location.pathname.startsWith('/ppten')?'en':'zh')
 </script>
 
 <template>
-	<div :class="['ppt-item-box',lang=='en'?'ppt-item-box_en':'']">
+	<div :class="['ppt-item-box ppt-item-page',lang=='en'?'ppt-item-box_en':'']">
 		<div class="ppt-title-box">{{pageData.title}}</div>
 		<div class="ppt-content-box">
 			<div class="container">

+ 1 - 1
src/views/ppt/template/FormatSeven.vue

@@ -14,7 +14,7 @@ const lang=ref(window.location.pathname.startsWith('/ppten')?'en':'zh')
 </script>
 
 <template>
-	<div :class="['ppt-item-box',lang=='en'?'ppt-item-box_en':'']">
+	<div :class="['ppt-item-box ppt-item-page',lang=='en'?'ppt-item-box_en':'']">
 		<div class="ppt-title-box">{{pageData.title}}</div>
 		<div class="ppt-content-box">
 			<div class="container">

+ 1 - 1
src/views/ppt/template/FormatSix.vue

@@ -11,7 +11,7 @@ const props=defineProps({
 </script>
 
 <template>
-	<div class="ppt-item-box">
+	<div class="ppt-item-box ppt-item-page">
 		<div class="ppt-title-box">{{pageData.title}}</div>
 		<div class="ppt-content-box">
 			<div class="container">

+ 1 - 1
src/views/ppt/template/FormatThree.vue

@@ -11,7 +11,7 @@ const props=defineProps({
 </script>
 
 <template>
-	<div class="ppt-item-box">
+	<div class="ppt-item-box ppt-item-page">
 		<div class="ppt-title-box">{{pageData.title}}</div>
 		<div class="ppt-content-box">
 			<div class="container">

+ 1 - 1
src/views/ppt/template/FormatTwo.vue

@@ -12,7 +12,7 @@ const props=defineProps({
 </script>
 
 <template>
-	<div class="ppt-item-box">
+	<div class="ppt-item-box ppt-item-page">
 		<div class="ppt-title-box">{{pageData.title}}</div>
 		<div class="ppt-content-box">
 			<div class="container">

+ 109 - 43
src/views/reportEn/components/SendEmail.vue

@@ -18,6 +18,7 @@ const emits=defineEmits(['close'])
 
 
 const emailOpt=ref([])
+const allEmailOpt = ref([])
 // 获取用户邮箱数据
 const showAllUser=ref(false)
 function getEmailList(){
@@ -30,6 +31,7 @@ function getEmailList(){
     }).then(res=>{
         if(res.Ret===200){
             emailOpt.value=res.Data?.List||[]
+            allEmailOpt.value = res.Data?.List||[]
             // handleCheckAllChange()
         }
     })
@@ -39,6 +41,7 @@ getEmailList()
 //获取报告对应的品种数据
 const showSelectVariety=ref(false)
 const varietyOpts=ref([])
+const isSlideCancelSend = ref(false);
 function getVarietyList(){
     apiReportVarietyEn.varietyList({
          ReportId:props.reportId
@@ -58,6 +61,16 @@ function getVarietyList(){
 }
 getVarietyList()
 
+function clearVariety(item) {
+    item.select=false
+
+    if(!selectVariety.value.length) {
+        isSlideCancelSend.value = false
+        searchCustomVal.value=''
+        checkedCustom.value=[]
+    }
+}
+
 //选中的品种
 const selectVariety=computed(()=>{
     return varietyOpts.value.filter(e=>e.select)
@@ -78,7 +91,12 @@ const disabledNum=computed(()=>{
 })
 const checked=ref([])//选择的用户
 const checkedAll=ref(false)
-
+const checkedSendOtherList = ref([]);
+const searchVal=ref('')
+function handleSearchFilter(){
+    checked.value=[]
+    emailOpt.value=allEmailOpt.value.filter(item=>item.Name.indexOf(searchVal.value)>-1)
+}
 function handleCheckAllChange(){
     if(checkedAll.value){
         checked.value=[]
@@ -90,33 +108,51 @@ function handleCheckAllChange(){
 watch(
     ()=>checked.value,
     (n)=>{
-        if(n.length===(emailOpt.value.length-disabledNum.value)){
+        if(n.length&&n.length===(emailOpt.value.length-disabledNum.value)){
             checkedAll.value=true
         }else{
             checkedAll.value=false
         }
+        checkedSendOtherList.value = emailOpt.value.filter(_ => n.includes(_.Id))
+    }
+)
+
+watch(
+    ()=>selectVariety.value,
+    (n)=>{
+        n.length&&getCustomListEnFun()
     }
 )
 
 
-const showSearch=ref(false)
-const searchVal=ref('')
-const searchFilterOpt=ref([])
-const checkedFilter=ref([])
-function handleShowSearch(){
-    checkedFilter.value=checked.value
-    searchVal.value=''
-    searchFilterOpt.value=[]
-    showSearch.value=true
-}
-function handleSearchFilter(){
-    searchFilterOpt.value=emailOpt.value.filter(item=>item.Name.indexOf(searchVal.value)>-1)
+const showCustomPop=ref(false)
+const searchCustomVal=ref('')
+const checkedCustom=ref([])
+const allCustomOptions=ref([])
+const customOptions = ref([])
+/* 品种关联的客户 */
+async function getCustomListEnFun(){
+    if(!selectVariety.value.length) return
+
+    const res = await apiReportEn.getCustomListEn({
+        PageSize:100000,
+        CurrentIndex:1,
+        EnPermissionIds:selectVariety.value.map(_ =>_.EnPermissionId).join(',')
+    })
+    if(res.Ret!==200) return 
+    customOptions.value = res.Data.List || []
+    allCustomOptions.value = res.Data.List || []
 }
-function handleConfirmSearch(){
-    checked.value=checkedFilter.value
-    showSearch.value=false
+
+function handleSearchFilterCustom() {
+    checkedCustom.value=[]
+    customOptions.value=allCustomOptions.value.filter(item=>item.CompanyName.indexOf(searchCustomVal.value)>-1)
 }
 
+const checkedCustomList = computed(() => {
+    return customOptions.value.filter(_ => checkedCustom.value.includes(_.CompanyId))
+})
+
 
 
 // 发送邮件
@@ -129,6 +165,10 @@ function handleConfirmSendEmail(){
         showToast('邮件主题请控制在100个字符以内')
         return
     }
+
+    if(!selectVariety.value.length && !checked.value.length) return showToast('收件人、抄送至少填写一个')
+
+
     const varietyIds=[]
     selectVariety.value.forEach(item=>{
         varietyIds.push(item.EnPermissionId)
@@ -137,7 +177,8 @@ function handleConfirmSendEmail(){
         ReportId:props.reportId,
         EmailIds:checked.value.join(','),
         Theme:themeVal.value,
-        EnPermissions:varietyIds
+        EnPermissions:varietyIds,
+        NoCompanyIds:checkedCustom.value,
     }).then(res=>{
         if(res.Ret===200){
             showToast('发送成功')
@@ -152,15 +193,37 @@ function handleConfirmSendEmail(){
 <template>
     <div class="send-email-wrap">
         <div class="top-box">
+            <label class="form-label">收件人</label>
             <ul class="left-variety-box">
                 <li v-for="item in selectVariety" :key="item.EnPermissionId">
                     <span>{{item.EnPermissionName}}</span>
-                    <img class="icon" src="@/assets/imgs/icon_close.png" alt="" @click="item.select=false">
+                    <img class="icon" src="@/assets/imgs/icon_close.png" alt="" @click="clearVariety(item)">
                 </li>
             </ul>
-            <van-search readonly placeholder="搜索" @click="handleShowSearch" />
+            <!-- <van-search readonly placeholder="搜索" @click="handleShowSearch" /> -->
             <img class="add-icon" src="@/assets/imgs/report/icon_add.png" alt="" @click="showSelectVariety=true">
-            <img class="add-icon" src="@/assets/imgs/icon_user2.png" alt="" @click="showAllUser=true">
+
+            <van-icon :name="isSlideCancelSend?'arrow-up':'arrow-down'" style="margin-left:10px;font-size:24px" v-if="selectVariety.length" @click="isSlideCancelSend=!isSlideCancelSend"/>
+        </div>
+        <div class="top-box" v-if="isSlideCancelSend">
+            <label class="form-label">取消发送</label>
+            <ul class="left-variety-box">
+                <li v-for="(item,index) in checkedCustomList" :key="item.CompanyId">
+                    <span>{{item.CompanyName}}</span>
+                    <img class="icon" src="@/assets/imgs/icon_close.png" alt="" @click="checkedCustom.splice(index,1)">
+                </li>
+            </ul>
+            <img class="add-icon" src="@/assets/imgs/icon_user2.png" alt="" @click="showCustomPop=true;">
+        </div>
+        <div class="top-box">
+            <label class="form-label">抄送</label>
+            <ul class="left-variety-box">
+                <li v-for="(item,index) in checkedSendOtherList" :key="item.Id">
+                    <span>{{item.Name}}</span>
+                    <img class="icon" src="@/assets/imgs/icon_close.png" alt="" @click="checkedSendOtherList.splice(index,1)">
+                </li>
+            </ul>
+            <img class="add-icon" src="@/assets/imgs/icon_user2.png" alt="" @click="showAllUser=true;checked=checkedSendOtherList.map(_ =>_.Id)">
         </div>
         <div class="theme-text-box">
             <van-field 
@@ -214,7 +277,7 @@ function handleConfirmSendEmail(){
             </div>
         </div>
     </van-popup>
-    <!-- 所有客户 -->
+    <!-- 所有邮箱 -->
     <van-popup 
         v-model:show="showAllUser"
         position="bottom"
@@ -223,6 +286,9 @@ function handleConfirmSendEmail(){
     >
         <div class="send-email-wrap search-wrap">
             <div class="head-box">选择联系人</div>
+            <div class="search-box">
+                <van-search v-model="searchVal" placeholder="搜索" @search="handleSearchFilter" @clear="handleSearchFilter"/>
+            </div>
             <div class="list-wrap">
                 <div class="check-all-btn">
                     <van-checkbox :modelValue="checkedAll" @click="handleCheckAllChange">全选</van-checkbox>
@@ -238,32 +304,29 @@ function handleConfirmSendEmail(){
             </div>
         </div>
     </van-popup>
-    <!-- 搜索客户 -->
+
+    <!-- 英文客户列表 -->
     <van-popup 
-        v-model:show="showSearch"
+        v-model:show="showCustomPop"
         position="bottom"
         round
+        closeable
     >
         <div class="send-email-wrap search-wrap">
-            <div class="top-box">
-                <van-search v-model="searchVal" placeholder="搜索" @search="handleSearchFilter" />
+            <div class="head-box">选择客户</div>
+            <div class="search-box">
+                <van-search v-model="searchCustomVal" placeholder="请输入客户名称" @search="handleSearchFilterCustom" @clear="handleSearchFilterCustom"/>
             </div>
             <div class="list-wrap">
-                <van-checkbox-group v-model="checkedFilter">
+                <van-checkbox-group v-model="checkedCustom">
                     <van-checkbox
-                        v-for="item in searchFilterOpt" 
-                        :key="item.Id"
-                        :name="item.Id" 
+                        v-for="item in customOptions" 
+                        :key="item.CompanyId"
+                        :name="item.CompanyId" 
                         :disabled="item.Enabled===0"
-                    >{{item.Name}}&lt;{{item.Email}}&gt;</van-checkbox>
+                    >{{item.CompanyName}}</van-checkbox>
                 </van-checkbox-group>
             </div>
-            <van-button 
-                class="submit-btn" 
-                block 
-                type="primary"
-                @click="handleConfirmSearch"
-            >完成</van-button>
         </div>
     </van-popup>
 </template>
@@ -275,11 +338,12 @@ function handleConfirmSendEmail(){
     display: flex;
     flex-direction: column;
     .top-box{
-        padding: 0 30px;
-        min-height: 128px;
+        padding: 20px 30px;
+        min-height: 100px;
         display: flex;
         align-items: center;
         border-bottom: 1px solid $border-color;
+        .form-label { margin-right: 10px;}
         .left-variety-box{
             flex: 1;
             display: flex;
@@ -288,7 +352,7 @@ function handleConfirmSendEmail(){
             position: relative;
             padding-right: 10px;
             margin-right: 10px;
-            &::after{
+            /* &::after{
                 content:'';
                 display: block;
                 width: 4px;
@@ -298,7 +362,7 @@ function handleConfirmSendEmail(){
                 top: 50%;
                 transform: translateY(-50%);
                 right: 0;
-            }
+            } */
             li{
                 padding: 8px 20px;
                 border-radius: 80px;
@@ -354,6 +418,7 @@ function handleConfirmSendEmail(){
 .search-wrap{
     padding-top: 0;
     .head-box{
+        position: relative;
         text-align: center;
         line-height: 100px;
         border-bottom: 1px solid $border-color;
@@ -370,13 +435,14 @@ function handleConfirmSendEmail(){
         .top-box{
             padding: 0 15px;
             min-height: 64px;
+            .form-label { margin-right: 10px;}
             .left-variety-box{
                 padding-right: 5px;
                 margin-right: 5px;
-                &::after{
+                /* &::after{
                     width: 2px;
                     height: 20px;
-                }
+                } */
                 li{
                     padding: 4px 10px;
                     border-radius: 40px;