瀏覽代碼

注册页面

ljc 4 月之前
父節點
當前提交
7340bb901f
共有 4 個文件被更改,包括 816 次插入771 次删除
  1. 45 47
      src/lib/service.js
  2. 2 2
      src/service/login.ts
  3. 34 0
      src/styles/cwg_common.scss
  4. 735 722
      src/views/userless/sigin/SignUp.vue

+ 45 - 47
src/lib/service.js

@@ -28,9 +28,7 @@ class Service {
   // session过期
   SessionExpire() {
     // 状态管理去处理过期事件
-    console.log(store, 'store')
     store.commit('InfoExpire', true)
-    // this.vue.$store.commit('InfoExpire', true)
   }
 
   // 统一登出
@@ -87,54 +85,54 @@ class Service {
   }
   //多端口-多token
   getAll(type,url,params){
-    // switch (type) {
-    //   case 'Host80':
-    //     this.axio.defaults.baseURL = Config.Host80;
-    //     this.axio.defaults.headers.common['Access-Token'] = sessionStorage.getItem("access_token");
-    //     break;
-    //   case 'Host04':
-    //     this.axio.defaults.baseURL = Config.Host04;
-    //     this.axio.defaults.headers.common['Access-Token'] = sessionStorage.getItem("access_token");
-    //     break;
-    //   case 'Host90':
-    //     this.axio.defaults.baseURL = Config.Host90;
-    //     this.axio.defaults.headers.common['Access-Token'] = sessionStorage.getItem("access_token");
-    //     break;
-    //   case 'HostShop':
-    //     this.axio.defaults.baseURL = Config.HostShop;
-    //     this.axio.defaults.headers.common['Access-Token'] = sessionStorage.getItem("shop_token");
-    //     break;
-    //   case 'Host87':
-    //     this.axio.defaults.baseURL = Config.Host87;
-    //     this.axio.defaults.headers.common['Access-Token'] = sessionStorage.getItem("access_token");
-    //     break;
-    // }
+    switch (type) {
+      case 'Host80':
+        this.axio.defaults.baseURL = Config.Host80;
+        this.axio.defaults.headers.common['Access-Token'] = sessionStorage.getItem("access_token");
+        break;
+      case 'Host04':
+        this.axio.defaults.baseURL = Config.Host04;
+        this.axio.defaults.headers.common['Access-Token'] = sessionStorage.getItem("access_token");
+        break;
+      case 'Host90':
+        this.axio.defaults.baseURL = Config.Host90;
+        this.axio.defaults.headers.common['Access-Token'] = sessionStorage.getItem("access_token");
+        break;
+      case 'HostShop':
+        this.axio.defaults.baseURL = Config.HostShop;
+        this.axio.defaults.headers.common['Access-Token'] = sessionStorage.getItem("shop_token");
+        break;
+      case 'Host87':
+        this.axio.defaults.baseURL = Config.Host87;
+        this.axio.defaults.headers.common['Access-Token'] = sessionStorage.getItem("access_token");
+        break;
+    }
     return this.get(url,params);
   }
   postAll(type,url,params){
-    // switch (type) {
-    //   case 'Host80':
-    //     this.axio.defaults.baseURL = Config.Host80;
-    //     this.axio.defaults.headers.common['Access-Token'] = sessionStorage.getItem("access_token");
-    //
-    //     break;
-    //   case 'Host04':
-    //     this.axio.defaults.baseURL = Config.Host04;
-    //     this.axio.defaults.headers.common['Access-Token'] = sessionStorage.getItem("access_token");
-    //     break;
-    //   case 'Host90':
-    //     this.axio.defaults.baseURL = Config.Host90;
-    //     this.axio.defaults.headers.common['Access-Token'] = sessionStorage.getItem("access_token");
-    //     break;
-    //   case 'HostShop':
-    //     this.axio.defaults.baseURL = Config.HostShop;
-    //     this.axio.defaults.headers.common['Access-Token'] = sessionStorage.getItem("shop_token");
-    //     break;
-    //   case 'Host87':
-    //     this.axio.defaults.baseURL = Config.Host87;
-    //     this.axio.defaults.headers.common['Access-Token'] = sessionStorage.getItem("access_token");
-    //     break;
-    // }
+    switch (type) {
+      case 'Host80':
+        this.axio.defaults.baseURL = Config.Host80;
+        this.axio.defaults.headers.common['Access-Token'] = sessionStorage.getItem("access_token");
+
+        break;
+      case 'Host04':
+        this.axio.defaults.baseURL = Config.Host04;
+        this.axio.defaults.headers.common['Access-Token'] = sessionStorage.getItem("access_token");
+        break;
+      case 'Host90':
+        this.axio.defaults.baseURL = Config.Host90;
+        this.axio.defaults.headers.common['Access-Token'] = sessionStorage.getItem("access_token");
+        break;
+      case 'HostShop':
+        this.axio.defaults.baseURL = Config.HostShop;
+        this.axio.defaults.headers.common['Access-Token'] = sessionStorage.getItem("shop_token");
+        break;
+      case 'Host87':
+        this.axio.defaults.baseURL = Config.Host87;
+        this.axio.defaults.headers.common['Access-Token'] = sessionStorage.getItem("access_token");
+        break;
+    }
     return this.post(url,params);
   }
 }

+ 2 - 2
src/service/login.ts

@@ -10,7 +10,7 @@ class LoginService extends Service {
 
   //登录
   async Login(params = {}) {
-    return await this.post('/user/login', params)
+    return await this.postAll("Host80","/custom/login", params);
   }
 
   // 获取登录信息
@@ -25,7 +25,7 @@ class LoginService extends Service {
 
   //注册
   async Register(params = {}) {
-    return await this.post('/custom/register', params)
+    return await this.postAll("Host80","/custom/register", params);
   }
 
   //发送邮件验证

+ 34 - 0
src/styles/cwg_common.scss

@@ -1093,3 +1093,37 @@ a {
 .el-select__wrapper{
   height: 100%;
 }
+.el-select-dropdown__item{
+  padding: 0 32px 0 20px;
+  &.is-selected {
+    color: #eb3f57;
+    font-weight: 700;
+  }
+}
+
+.el-input{
+  --el-input-focus-border-color: ;
+}
+.el-select__wrapper.is-focused{
+  --focus-border-color: ;
+}
+
+.el-input-number{
+  width: 100%;
+  .el-input__inner{
+    text-align: left!important;
+    &::placeholder {
+      text-align: left;
+    }
+  }
+}
+input[type="number"]::-webkit-outer-spin-button,
+input[type="number"]::-webkit-inner-spin-button {
+  -webkit-appearance: none;
+  margin: 0;
+}
+
+/* Firefox */
+input[type="number"] {
+  -moz-appearance: textfield;
+}

+ 735 - 722
src/views/userless/sigin/SignUp.vue

@@ -1,9 +1,5 @@
 <template>
-  <div
-    id="signup"
-    v-loading="loading"
-    element-loading-background="rgba(43, 48, 67, 0.65)"
-  >
+  <div id="signup" v-loading="loading" element-loading-background="rgba(43, 48, 67, 0.65)">
     <div class="logo">
       <!-- <img width="160px" :src="img_logo" /> -->
     </div>
@@ -104,10 +100,11 @@
                       @click="handleGetCode"
                       class="getCode"
                       :class="{
-                        disabled: !isAgeValid || !params.birthDate || isCodeSending
+                        disabled: !isAgeValid || !params.birthDate || isCodeSending,
                       }"
-                      v-text="getCodeString"
-                    ></span>
+                    >
+                      {{getCodeString}}
+                    </span>
                   </el-col>
                 </el-row>
               </el-form-item>
@@ -145,6 +142,7 @@
               v-model.trim="params.agentId"
               :placeholder="$t('newSignup.item15')"
               type="number"
+              :controls="false"
               :disabled="!isAgeValid || !params.birthDate"
               @input="limitAgentIdLength"
             >
@@ -177,7 +175,7 @@
           <el-form-item>
             <a
               class="rbt-btn btn-gradient hover-icon-reverse btn-sm w-100"
-             href="javascript:void(0)"
+              href="javascript:void(0)"
               @click="register"
             >
               <div class="icon-reverse-wrapper">
@@ -204,24 +202,15 @@
           <el-form-item>
             <div class="des">
               <span>{{ $t('signup.agreemnet1') }}</span>
-              <a
-                href="pdf/Client_Agreement.pdf"
-                target="_blank"
-              >
+              <a href="pdf/Client_Agreement.pdf" target="_blank">
                 {{ $t('signup.agreemnet2') }}
               </a>
               <span>{{ $t('signup.agreemnet3') }}</span>
-              <a
-                href="pdf/Terms&Conditions.pdf"
-                target="_blank"
-              >
+              <a href="pdf/Terms&Conditions.pdf" target="_blank">
                 {{ $t('signup.agreemnet4') }}
               </a>
               <span>{{ $t('signup.agreemnet5') }}</span>
-              <a
-                href="pdf/Privacy_Policy.pdf"
-                target="_blank"
-              >
+              <a href="pdf/Privacy_Policy.pdf" target="_blank">
                 {{ $t('signup.agreemnet6') }}
               </a>
               <span>{{ $t('signup.agreemnet7') }}</span>
@@ -240,841 +229,865 @@
 </template>
 
 <script setup>
-import { ref, reactive, computed, onMounted, onUnmounted } from 'vue'
-import { useRouter, useRoute } from 'vue-router'
-import { useI18n } from 'vue-i18n'
-import { ElMessage, ElMessageBox } from 'element-plus'
-import { Right, } from '@element-plus/icons-vue'
-import axios from 'axios'
-// import ImportModel from "@/components/importModel.vue"
-import Service from '@/service/login'
-import Service1 from '@/service/country'
-import Config from '@/config/index'
-
-// Composition API
-const { t, locale } = useI18n()
-const router = useRouter()
-const route = useRoute()
-const { Code, Pattern } = Config
-
-// 响应式数据
-const loading = ref(false)
-const showImportModel = ref(false)
-const countryCode = ref('')
-const formRef = ref(null)
-const importModelRef = ref(null)
-const timer = ref(59)
-const interval = ref(null)
-const getCodeString = ref('')
-const isCodeSending = ref(false)
-
-// 禁止注册的国家列表
-const notCountry = ref([
-  'AF', 'AI', 'AG', 'BM', 'BS', 'BY', 'BE', 'BZ', 'BA', 'BI',
-  'CF', 'CD', 'CU', 'ET', 'FJ', 'PS', 'GN', 'GW', 'HT', 'ID',
-  'IR', 'IQ', 'LB', 'LY', 'MY', 'ML', 'MM', 'NI', 'KP', 'PW',
-  'RU', 'SO', 'SS', 'SD', 'SY', 'UA', 'US', 'VE', 'YE', 'ZW',
-  'MY', 'ID', 'IL',
-])
-
-// 国家选项
-const countryOptions = ref([
-  { label: 'china', value: 'cn' },
-  { label: 'england', value: 'en' },
-])
-
-// 表单数据
-const params = reactive({
-  agentId: null,
-  comPoint: null,
-  sourceCode: null,
-  subId: '',
-  email: '',
-  password: '',
-  phone: '',
-  country: '',
-  emailCode: '',
-  birthDate: null,
-  w: '',
-  oc: '',
-  agree: false,
-  isSubscribeEmail: false,
-  ibInvalid: 0,
-  linkValue: null,
-})
-
-// 计算属性
-const rule1 = computed(() => {
-  if (!params.password) return false
-  return /^.{8,16}$/.test(params.password)
-})
-
-const rule2 = computed(() => {
-  return /^(?=.*?[a-z])(?=.*?[A-Z]).*$/.test(params.password)
-})
-
-const rule3 = computed(() => {
-  return /^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?!.*([~!@&%$^\\(\\)#_]).*\\1.*\\1)[A-Za-z0-9~!@&%$^\\(\\)#_]{8,16}$/.test(params.password)
-})
-
-const isAgeValid = computed(() => {
-  if (!params.birthDate) return false
-  const today = new Date()
-  const birthDate = new Date(params.birthDate)
-  let age = today.getFullYear() - birthDate.getFullYear()
-  const monthDiff = today.getMonth() - birthDate.getMonth()
-  if (monthDiff < 0 || (monthDiff === 0 && today.getDate() < birthDate.getDate())) {
-    age--
-  }
-  return age >= 18
-})
-
-const subscribeEmailValue = computed(() => {
-  return params.isSubscribeEmail ? 0 : 1
-})
-
-// 验证规则
-const rules = {
-  country: [
-    {
-      validator: (rule, value, callback) => {
-        if (value && value.trim()) {
-          callback()
-        } else {
-          callback(new Error(t('vaildate.country.empty')))
-        }
+  import { ref, reactive, computed, onMounted, onUnmounted, inject } from 'vue'
+  import { useRouter, useRoute } from 'vue-router'
+  import { useI18n } from 'vue-i18n'
+  import { ElMessage, ElMessageBox } from 'element-plus'
+  import { Right } from '@element-plus/icons-vue'
+  import axios from 'axios'
+  // import ImportModel from "@/components/importModel.vue"
+  import Service from '@/service/login'
+  import Service1 from '@/service/country'
+  import Config from '@/config/index'
+  import { useStore } from 'vuex'
+
+  // Composition API
+  const { t, locale } = useI18n()
+  const router = useRouter()
+  const route = useRoute()
+  const { Code, Pattern } = Config
+  const pigeon = inject('pigeon')
+  const Session = inject('session')
+  const store = useStore()
+
+  // 响应式数据
+  const loading = ref(false)
+  const showImportModel = ref(false)
+  const countryCode = ref('')
+  const formRef = ref(null)
+  const importModelRef = ref(null)
+  const timer = ref(59)
+  const interval = ref(null)
+  const getCodeString = ref('')
+  const isCodeSending = ref(false)
+
+  // 禁止注册的国家列表
+  const notCountry = ref([
+    'AF',
+    'AI',
+    'AG',
+    'BM',
+    'BS',
+    'BY',
+    'BE',
+    'BZ',
+    'BA',
+    'BI',
+    'CF',
+    'CD',
+    'CU',
+    'ET',
+    'FJ',
+    'PS',
+    'GN',
+    'GW',
+    'HT',
+    'ID',
+    'IR',
+    'IQ',
+    'LB',
+    'LY',
+    'MY',
+    'ML',
+    'MM',
+    'NI',
+    'KP',
+    'PW',
+    'RU',
+    'SO',
+    'SS',
+    'SD',
+    'SY',
+    'UA',
+    'US',
+    'VE',
+    'YE',
+    'ZW',
+    'MY',
+    'ID',
+    'IL',
+  ])
+
+  // 国家选项
+  const countryOptions = ref([
+    { label: 'china', value: 'cn' },
+    { label: 'england', value: 'en' },
+  ])
+
+  // 表单数据
+  const params = reactive({
+    agentId: null,
+    comPoint: null,
+    sourceCode: null,
+    subId: '',
+    email: '',
+    password: '',
+    phone: '',
+    country: '',
+    emailCode: '',
+    birthDate: null,
+    w: '',
+    oc: '',
+    agree: false,
+    isSubscribeEmail: false,
+    ibInvalid: 0,
+    linkValue: null,
+  })
+
+  // 计算属性
+  const rule1 = computed(() => {
+    if (!params.password) return false
+    return /^.{8,16}$/.test(params.password)
+  })
+
+  const rule2 = computed(() => {
+    return /^(?=.*?[a-z])(?=.*?[A-Z]).*$/.test(params.password)
+  })
+
+  const rule3 = computed(() => {
+    return /^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?!.*([~!@&%$^\\(\\)#_]).*\\1.*\\1)[A-Za-z0-9~!@&%$^\\(\\)#_]{8,16}$/.test(
+      params.password
+    )
+  })
+
+  const isAgeValid = computed(() => {
+    if (!params.birthDate) return false
+    const today = new Date()
+    const birthDate = new Date(params.birthDate)
+    let age = today.getFullYear() - birthDate.getFullYear()
+    const monthDiff = today.getMonth() - birthDate.getMonth()
+    if (monthDiff < 0 || (monthDiff === 0 && today.getDate() < birthDate.getDate())) {
+      age--
+    }
+    return age >= 18
+  })
+
+  const subscribeEmailValue = computed(() => {
+    return params.isSubscribeEmail ? 0 : 1
+  })
+
+  // 验证规则
+  const rules = {
+    country: [
+      {
+        validator: (rule, value, callback) => {
+          if (value && value.trim()) {
+            callback()
+          } else {
+            callback(new Error(t('vaildate.country.empty')))
+          }
+        },
+        trigger: 'blur',
       },
-      trigger: 'blur',
-    },
-  ],
-  email: [
-    {
-      validator: (rule, value, callback) => {
-        if (Pattern.Email.test(value)) {
-          callback()
-        } else {
-          callback(new Error(t('vaildate.email.format')))
-        }
+    ],
+    email: [
+      {
+        validator: (rule, value, callback) => {
+          if (Pattern.Email.test(value)) {
+            callback()
+          } else {
+            callback(new Error(t('vaildate.email.format')))
+          }
+        },
+        trigger: 'blur',
       },
-      trigger: 'blur',
-    },
-  ],
-  code: [
-    {
-      validator: (rule, value, callback) => {
-        if (value && value.trim()) {
-          callback()
-        } else {
-          callback(new Error(t('vaildate.code.empty')))
-        }
+    ],
+    code: [
+      {
+        validator: (rule, value, callback) => {
+          if (value && value.trim()) {
+            callback()
+          } else {
+            callback(new Error(t('vaildate.code.empty')))
+          }
+        },
+        trigger: 'blur',
       },
-      trigger: 'blur',
-    },
-  ],
-  password: [
-    {
-      validator: (rule, value, callback) => {
-        if (Pattern.Password.test(value)) {
-          callback()
-        } else {
-          callback(new Error(t('vaildate.password.format')))
-        }
+    ],
+    password: [
+      {
+        validator: (rule, value, callback) => {
+          if (Pattern.Password.test(value)) {
+            callback()
+          } else {
+            callback(new Error(t('vaildate.password.format')))
+          }
+        },
+        trigger: 'blur',
       },
-      trigger: 'blur',
-    },
-  ],
-  agree: [
-    {
-      validator: (rule, value, callback) => {
-        if (value) {
-          callback()
-        } else {
-          callback(new Error(t('vaildate.agree.empty')))
-        }
+    ],
+    agree: [
+      {
+        validator: (rule, value, callback) => {
+          if (value) {
+            callback()
+          } else {
+            callback(new Error(t('vaildate.agree.empty')))
+          }
+        },
+        trigger: 'change',
       },
-      trigger: 'change',
-    },
-  ],
-  phone: [
-    {
-      validator: (rule, value, callback) => {
-        if (Pattern.Number.test(value)) {
-          callback()
-        } else {
-          callback(new Error(t('vaildate.phone.format')))
-        }
+    ],
+    phone: [
+      {
+        validator: (rule, value, callback) => {
+          if (Pattern.Number.test(value)) {
+            callback()
+          } else {
+            callback(new Error(t('vaildate.phone.format')))
+          }
+        },
+        trigger: 'blur',
       },
-      trigger: 'blur',
-    },
-  ],
-  birthDate: [
-    {
-      validator: (rule, value, callback) => {
-        if (!value) {
-          callback(new Error(t('vaildate.birthDate.empty')))
-        } else {
-          callback()
-        }
+    ],
+    birthDate: [
+      {
+        validator: (rule, value, callback) => {
+          if (!value) {
+            callback(new Error(t('vaildate.birthDate.empty')))
+          } else {
+            callback()
+          }
+        },
+        trigger: 'change',
       },
-      trigger: 'change',
-    },
-  ],
-}
-
-// 方法
-const getCountry = async () => {
-  try {
-    const res = await Service1.Country({})
-    if (res.code === Code.StatusOK) {
-      countryOptions.value = res.data
-    } else {
-      ElMessage.error(res.msg)
-    }
-  } catch (error) {
-    console.error('获取国家列表失败:', error)
+    ],
   }
-}
-
-const getCountryCode = async () => {
-  try {
-    const res = await Service.CodeById({})
-    if (res.code === Code.StatusOK) {
-      let countryCodeValue = res.msg
-
-      // 特殊地区代码转换
-      if (countryCodeValue === 'HK') {
-        countryCodeValue = 'CNX'
-      } else if (countryCodeValue === 'MC') {
-        countryCodeValue = 'CNA'
-      } else if (countryCodeValue === 'TW') {
-        countryCodeValue = 'CNT'
-      }
 
-      // 如果不在禁止列表中,则设置默认国家
-      if (!notCountry.value.includes(countryCodeValue)) {
-        params.country = countryCodeValue
+  // 方法
+  const getCountry = async () => {
+    try {
+      const res = await Service1.Country({})
+      if (res.code === Code.StatusOK) {
+        countryOptions.value = res.data
+      } else {
+        pigeon.error(res.msg)
       }
-
-      // 处理语言和会话存储
-      handleSessionStorage(countryCodeValue)
+    } catch (error) {
+      console.error('获取国家列表失败:', error)
     }
-  } catch (error) {
-    console.error('获取国家代码失败:', error)
   }
-}
-
-const handleSessionStorage = (countryCode) => {
-  const rememberList = localStorage.getItem('rememberList')
-  let lang = localStorage.getItem('lang') || (countryCode === 'CN' ? 'cn' : 'en')
 
-  if (localStorage.getItem('isPopup') === 'true') {
-    sessionStorage.clear()
-    localStorage.setItem('isPopup', 'true')
-  } else {
-    sessionStorage.clear()
-  }
-
-  localStorage.setItem('lang', lang)
+  const getCountryCode = async () => {
+    try {
+      const res = await Service.CodeById({})
+      if (res.code === Code.StatusOK) {
+        let countryCodeValue = res.msg
+        // 如果不在禁止列表中,则设置默认国家
+        if (!notCountry.value.includes(countryCodeValue)) {
+          Object.assign(params, {
+            country: countryCodeValue,
+          })
+        }
 
-  const savedTimer = localStorage.getItem('timer')
-  if (savedTimer) {
-    localStorage.setItem('timer', savedTimer)
+        // 处理语言和会话存储
+        handleSessionStorage(countryCodeValue)
+      }
+    } catch (error) {
+      console.error('获取国家代码失败:', error)
+    }
   }
 
-  if (rememberList) {
-    localStorage.setItem('rememberList', rememberList)
-    localStorage.setItem('remember', '1')
+  const handleSessionStorage = (countryCode) => {
+    let rememberList = '' //Session.Get('rememberList')
+    if (Session.Get('remember') == 1 && Session.Get('rememberList')) {
+      rememberList = Session.Get('rememberList')
+    }
+    if (!Session.Get('timer')) {
+      let lang = Session.Get('lang') ? Session.Get('lang') : params.country == 'CN' ? 'cn' : 'en'
+      if (Session.Get('isPopup') && Session.Get('isPopup') == 'true') {
+        sessionStorage.clear()
+        Session.Set('isPopup', true)
+      } else {
+        sessionStorage.clear()
+      }
+      Session.Set('lang', lang)
+    } else {
+      let timer = Session.Get('timer')
+      let lang = Session.Get('lang') ? Session.Get('lang') : params.country == 'CN' ? 'cn' : 'en'
+      if (Session.Get('isPopup') && Session.Get('isPopup') == 'true') {
+        sessionStorage.clear()
+        Session.Set('isPopup', true)
+      } else {
+        sessionStorage.clear()
+      }
+      Session.Set('lang', lang)
+      Session.Set('timer', timer)
+    }
+    if (rememberList) {
+      Session.Set('rememberList', rememberList)
+      Session.Set('remember', '1')
+    }
   }
-}
 
-const getCountryMsg = async () => {
-  try {
-    const res = await Service1.CountryGet({})
-    if (res.code === Code.StatusOK) {
-      countryCode.value = res.msg
-      if (countryCode.value === 'MY' || countryCode.value === 'ID') {
-        showImportModel.value = true
+  const getCountryMsg = async () => {
+    try {
+      const res = await Service1.CountryGet({})
+      if (res.code === Code.StatusOK) {
+        countryCode.value = res.msg
       }
+    } catch (error) {
+      console.error('获取国家信息失败:', error)
     }
-  } catch (error) {
-    console.error('获取国家信息失败:', error)
   }
-}
 
-const register = async () => {
-  if (!formRef.value) return
+  const register = async () => {
+    if (!formRef.value) return
 
-  try {
-    const valid = await formRef.value.validate()
-    if (!valid) return
+    try {
+      const valid = await formRef.value.validate()
+      if (!valid) return
 
-    if (countryCode.value === 'MY' || countryCode.value === 'ID') {
-      showImportModel.value = true
-      return
-    }
+      if (countryCode.value === 'MY' || countryCode.value === 'ID') {
+        showImportModel.value = true
+        return
+      }
 
-    loading.value = true
-    const formData = {
-      ...params,
-      isSubscribeEmail: subscribeEmailValue.value,
-    }
+      loading.value = true
+      const formData = {
+        ...params,
+        isSubscribeEmail: subscribeEmailValue.value,
+      }
 
-    const res = await Service.Register(formData)
-    if (res.code === Code.StatusOK) {
-      ElMessage.success(t('Msg.registerSuc'))
-      await login()
-    } else {
-      ElMessage.error(res.msg)
+      const res = await Service.Register(formData)
+      if (res.code === Code.StatusOK) {
+        pigeon.success(t('Msg.registerSuc'))
+        await login()
+      } else {
+        pigeon.error(res.msg)
+      }
+    } catch (error) {
+      console.error('注册失败:', error)
+    } finally {
+      loading.value = false
     }
-  } catch (error) {
-    console.error('注册失败:', error)
-    ElMessage.error(t('Msg.SystemError'))
-  } finally {
-    loading.value = false
   }
-}
 
-const login = async () => {
-  try {
-    const res = await Service.Login({
-      loginName: params.email,
-      password: params.password,
-    })
+  const login = async () => {
+    try {
+      const res = await Service.Login({
+        loginName: params.email,
+        password: params.password,
+      })
 
-    if (res.code === Code.StatusOK) {
-      sessionStorage.setItem('access_token', res.data)
-      axios.defaults.headers.common['Access-Token'] = res.data
-      await getLoginInfo()
-    } else {
-      ElMessage.error(res.msg)
+      if (res.code === Code.StatusOK) {
+        sessionStorage.setItem('access_token', res.data)
+        axios.defaults.headers.common['Access-Token'] = res.data
+        await getLoginInfo()
+      } else {
+        pigeon.error(res.msg)
+      }
+    } catch (error) {
+      console.error('登录失败:', error)
     }
-  } catch (error) {
-    console.error('登录失败:', error)
-    ElMessage.error(t('Msg.SystemError'))
   }
-}
-
-const getLoginInfo = async () => {
-  try {
-    const res = await Service.CustomLoginInfo()
-    if (res.code === Code.StatusOK) {
-      // 如果有store,可以这样使用:
-      // useStore().commit('InitInfo', res.data)
-      ElMessage.success(t('Msg.LoginSuccess'))
-      setTimeout(() => {
-        // router.push('/')
-        // useStore().commit('isActiveTab', '0')
-      }, 1000)
-    } else {
-      ElMessage.error(t('Msg.SystemError'))
+
+  const getLoginInfo = async () => {
+    try {
+      const res = await Service.CustomLoginInfo()
+      if (res.code === Code.StatusOK) {
+        store.commit('InitInfo', res.data)
+        ElMessage.success(t('Msg.LoginSuccess'))
+        setTimeout(() => {
+          router.push('/').catch((arr) => arr)
+          store.commit('isActiveTab', '0')
+        }, 1000)
+      } else {
+        pigeon.error(t('Msg.SystemError'))
+      }
+    } catch (error) {
+      console.error('获取登录信息失败:', error)
+      pigeon.error(t('Msg.SystemError'))
     }
-  } catch (error) {
-    console.error('获取登录信息失败:', error)
-    ElMessage.error(t('Msg.SystemError'))
   }
-}
 
-const handleGetCode = async () => {
-  if (isCodeSending.value) return
+  const handleGetCode = async () => {
+    if (isCodeSending.value) return
 
-  if (!params.birthDate) {
-    ElMessage.warning(t('vaildate.birthDate.empty'))
-    return
-  }
+    if (!params.birthDate) {
+      pigeon.warning(t('vaildate.birthDate.empty'))
+      return
+    }
 
-  if (!isAgeValid.value) {
-    ElMessage.error(t('signup.ageRestriction'))
-    return
-  }
+    if (!isAgeValid.value) {
+      pigeon.error(t('signup.ageRestriction'))
+      return
+    }
 
-  if (!params.country) {
-    ElMessage.warning(t('vaildate.country.empty'))
-    return
-  }
+    if (!params.country) {
+      pigeon.warning(t('vaildate.country.empty'))
+      return
+    }
 
-  if (!params.email) {
-    ElMessage.warning(t('vaildate.email.empty'))
-    return
-  }
+    if (!params.email) {
+      pigeon.warning(t('vaildate.email.empty'))
+      return
+    }
 
-  if (!Pattern.Email.test(params.email)) {
-    ElMessage.warning(t('vaildate.email.format'))
-    return
-  }
+    if (!Pattern.Email.test(params.email)) {
+      pigeon.warning(t('vaildate.email.format'))
+      return
+    }
 
-  isCodeSending.value = true
-  await getCode(1)
-}
+    isCodeSending.value = true
+    await getCode(1)
+  }
 
-const getCode = async (val) => {
-  if (val) {
-    try {
-      const res = await Service.Code(params)
-      if (res.code === Code.StatusOK) {
-        ElMessage.success(t('Msg.CodeSuccess'))
-        startCountdown()
-      } else {
-        const errorMsg = res.msg === '邮箱已存在' || res.msg === 'Mailbox already exists'
-          ? t('signup.agreemnet8')
-          : res.msg
-        ElMessage.error(errorMsg)
+  const getCode = async (val) => {
+    if (val) {
+      try {
+        if (interval.value) {
+          return
+        }
+        const res = await Service.Code(params)
+        if (res.code === Code.StatusOK) {
+          pigeon.success(t('Msg.CodeSuccess'))
+          startCountdown()
+        } else {
+          const errorMsg =
+            res.msg === '邮箱已存在' || res.msg === 'Mailbox already exists'
+              ? t('signup.agreemnet8')
+              : res.msg
+          pigeon.error(errorMsg)
+        }
+      } catch (error) {
+        console.error('获取验证码失败:', error)
+      } finally {
+        isCodeSending.value = false
       }
-    } catch (error) {
-      console.error('获取验证码失败:', error)
-      ElMessage.error(t('Msg.SystemError'))
-    } finally {
-      isCodeSending.value = false
     }
   }
-}
 
-const startCountdown = () => {
-  getCodeString.value = t('signup.form.waitCode1') + timer.value + t('signup.form.waitCode2')
+  const startCountdown = () => {
+    getCodeString.value = t('signup.form.waitCode1') + timer.value + t('signup.form.waitCode2')
 
-  if (interval.value) {
-    clearInterval(interval.value)
-  }
 
-  interval.value = setInterval(() => {
-    timer.value--
-    localStorage.setItem('timer', timer.value)
-    getCodeString.value = t('signup.form.waitCode1') + timer.value + t('signup.form.waitCode2')
 
-    if (timer.value <= 0) {
-      clearInterval(interval.value)
-      interval.value = null
-      timer.value = 59
+    interval.value = setInterval(() => {
+      timer.value--
+      Session.Set('timer', timer.value)
+      getCodeString.value = t('signup.form.waitCode1') + timer.value + t('signup.form.waitCode2')
+
+      if (timer.value <= 0) {
+        clearInterval(interval.value)
+        interval.value = null
+        timer.value = 59
+        getCodeString.value = t('newSignup.item11')
+        Session.Set('timer', timer.value)
+      }
+    }, 1000)
+  }
+
+  const initTimer = () => {
+    const savedTimer = Session.Get('timer') || timer.value
+    if (savedTimer == 59) {
       getCodeString.value = t('newSignup.item11')
-      localStorage.setItem('timer', timer.value)
+    } else {
+      timer.value = Session.Get('timer')
+      startCountdown()
     }
-  }, 1000)
-}
-
-const initTimer = () => {
-  const savedTimer = localStorage.getItem('timer') || timer.value
-  if (savedTimer == 59) {
-    getCodeString.value = t('newSignup.item11')
-  } else {
-    timer.value = parseInt(savedTimer)
-    startCountdown()
   }
-}
 
-const limitAgentIdLength = (value) => {
-  if (value && value.toString().length > 10) {
-    params.agentId = value.toString().slice(0, 10)
+  const limitAgentIdLength = (value) => {
+    if (value && value.toString().length > 10) {
+      Object.assign(params, {
+        agentId: value.toString().slice(0, 10),
+      })
+    }
   }
-}
 
-const checkAge = () => {
-  if (params.birthDate && !isAgeValid.value) {
-    ElMessageBox.alert(
-      t('signup.ageRestriction'),
-      t('Msg.SystemPrompt'),
-      {
+  const checkAge = () => {
+    if (params.birthDate && !isAgeValid.value) {
+      ElMessageBox.alert(t('signup.ageRestriction'), t('Msg.SystemPrompt'), {
         confirmButtonText: t('Btn.Confirm'),
         type: 'warning',
-      },
-    )
-  }
-}
-
-const disabledDate = (time) => {
-  return time.getTime() > Date.now()
-}
-
-const getCountryFlag = (code) => {
-  // 这里可以根据国家代码返回对应的国旗图片路径
-  // 例如:return `/src/assets/images/flags/${code}.png`
-  return null
-}
-
-const handlePasswordInput = () => {
-  // 密码输入时的处理逻辑
-}
-
-// 生命周期
-onMounted(() => {
-  getCountryCode()
-  getCountry()
-  getCountryMsg()
-  initTimer()
-
-  // 处理URL参数
-  params.sourceCode = route.query.ex || null
-  params.w = route.query.w || ''
-  params.subId = route.query.SUBID || ''
-  params.oc = route.query.oc || ''
-  params.email = route.query.emailAdvertisement || ''
-
-  if (route.params.id) {
-    params.agentId = Number(route.params.id)
-    params.linkValue = route.params.commission
-    params.ibInvalid = route.params.ibInvalid === 'B1' ? 1 : 0
+      })
+    }
   }
-})
 
-onUnmounted(() => {
-  if (interval.value) {
-    clearInterval(interval.value)
+  const disabledDate = (time) => {
+    return time.getTime() > Date.now()
   }
-})
-</script>
 
-<style lang="scss" scoped>
-#signup {
-  width: 100%;
-  max-width: 640px;
-  height: auto;
-  box-sizing: border-box;
-  background-color: #fff;
-
-  .title {
-    margin: 32px 35px 0;
-    font-size: 24px;
-    font-weight: bolder;
-    color: #e4e4e4;
-    text-align: start;
-
-    i {
-      margin-right: 10px;
-    }
+  // 生命周期
+  onMounted(() => {
+    getCountryCode()
+    getCountry()
+    getCountryMsg()
+    // initTimer()
+
+    // 处理URL参数
+    Object.assign(params, {
+      sourceCode: route.query.ex || null,
+      w:route.query.w || '',
+      subId: route.query.SUBID || '',
+      oc : route.query.oc || '',
+      email: route.query.emailAdvertisement || ''
+    })
 
-    .tit1 {
-      font-size: 34px;
-      line-height: 1.14;
-      font-weight: bold;
-      color: #000000;
+    if (route.params.id) {
+      Object.assign(params, {
+        agentId: Number(route.params.id),
+        linkValue:route.params.commission,
+        ibInvalid: route.params.ibInvalid === 'B1' ? 1 : 0
+      })
     }
+    initTimer()
+  })
 
-    .tit2 {
-      font-size: 20px;
-      line-height: 1.5;
-      color: #000000;
-      font-weight: 500;
+  onUnmounted(() => {
+    if (interval.value) {
+      clearInterval(interval.value)
     }
-  }
+  })
+</script>
 
-  .form {
-    padding: 20px 35px 35px;
-
-    .getCode {
-      margin-top: 15px;
-      padding: 6px 10px;
-      border: 1px solid;
-      border-radius: 50px;
-      cursor: pointer;
-      user-select: none;
-      white-space: nowrap;
-      background-color: #e61f1e;
-      color: #fff;
-
-      &:hover {
-        color: #fff;
-        background-color: #ff0000;
+<style lang="scss" scoped>
+  #signup {
+    width: 100%;
+    max-width: 640px;
+    height: auto;
+    box-sizing: border-box;
+    background-color: #fff;
+
+
+    .title {
+      margin: 32px 35px 0;
+      font-size: 24px;
+      font-weight: bolder;
+      color: #e4e4e4;
+      text-align: start;
+
+      i {
+        margin-right: 10px;
       }
 
-      &.disabled {
-        opacity: 0.5;
-        cursor: not-allowed;
-        pointer-events: none;
+      .tit1 {
+        font-size: 34px;
+        line-height: 1.14;
+        font-weight: bold;
+        color: #000000;
       }
-    }
 
-    .country {
-      width: 100%;
-      height: 40px;
+      .tit2 {
+        font-size: 20px;
+        line-height: 1.5;
+        color: #000000;
+        font-weight: 500;
+      }
     }
 
-    .country-option {
-      display: flex;
-      align-items: center;
-      gap: 8px;
+    .form {
+      padding: 20px 35px 35px;
 
-      .flag-icon {
-        width: 20px;
-        height: 15px;
-        object-fit: cover;
-        border-radius: 2px;
-      }
-    }
+      .getCode {
+        box-sizing: border-box;
+        margin-top: 15px;
+        padding: 0 10px;
+        border: 1px solid;
+        border-radius: 50px;
+        cursor: pointer;
+        user-select: none;
+        white-space: nowrap;
+        background-color: #e61f1e;
+        color: #fff;
+        line-height: 38px;
 
-    .pwd {
-      text-align: left;
-      padding-left: 20px;
+        &:hover {
+          color: #fff;
+          background-color: #ff0000;
+        }
 
-      li {
-        list-style-type: disc;
-        line-height: 20px;
-        color: #979797;
+        &.disabled {
+          opacity: 0.5;
+          cursor: not-allowed;
+          pointer-events: none;
+        }
       }
 
-      .fit {
-        color: #67c23a; /* 绿色表示符合规则 */
+      .country {
+        width: 100%;
+        height: 40px;
       }
-    }
 
-    .agree {
-      position: relative;
+      .country-option {
+        display: flex;
+        align-items: center;
+        gap: 8px;
 
-      .el-checkbox {
-        position: absolute;
-        top: 0;
-        left: 0;
+        .flag-icon {
+          width: 20px;
+          height: 15px;
+          object-fit: cover;
+          border-radius: 2px;
+        }
       }
 
-      p {
-        padding-left: 30px;
+      .pwd {
         text-align: left;
-      }
-    }
+        padding-left: 20px;
 
-    .myCode {
-      position: relative;
+        li {
+          list-style-type: disc;
+          line-height: 20px;
+          color: #979797;
+        }
 
-      .getCode {
-        position: absolute;
-        top: 5px;
-        right: 3px;
-        margin: 0;
-        max-width: 100px;
-        overflow: hidden;
-        z-index: 1;
+        .fit {
+          color: #67c23a; /* 绿色表示符合规则 */
+        }
       }
 
-      .el-input {
-        padding-right: 110px;
+      .agree {
+        position: relative;
+
+        .el-checkbox {
+          position: absolute;
+          top: 0;
+          left: 0;
+        }
+
+        p {
+          padding-left: 30px;
+          text-align: left;
+        }
       }
-    }
 
-    .words {
-      text-align: start;
-      line-height: 24px;
-      color: #000;
-      font-size: 16px;
-      line-height: 1.6;
+      .myCode {
+        position: relative;
 
-      a {
-        color: #e61f1e;
+        .getCode {
+          position: absolute;
+          top: 0;
+          right: 3px;
+          margin: 0;
+          max-width: 100px;
+          overflow: hidden;
+          z-index: 1;
+        }
+
+        .el-input__wrapper {
+          box-sizing: border-box;
+          padding-right: 110px;
+        }
       }
-    }
 
-    .signin {
-      text-align: start;
+      .words {
+        text-align: start;
+        line-height: 24px;
+        color: #000;
+        font-size: 16px;
+        line-height: 1.6;
 
-      a {
-        color: #e61f1e;
+        a {
+          color: #e61f1e;
+        }
       }
-    }
 
-    .des {
-      text-align: start;
-      line-height: 20px;
-      color: #000;
-      font-size: 12px;
+      .signin {
+        text-align: start;
 
-      a {
-        color: #e61f1e;
+        a {
+          color: #e61f1e;
+        }
       }
-    }
 
-    .agreemnet9 {
-      text-align: initial;
-      color: #e61f1e;
-      font-size: 12px;
-      margin: 0;
-    }
+      .des {
+        text-align: start;
+        line-height: 20px;
+        color: #000;
+        font-size: 12px;
 
-    .rbt-btn {
-      width: 100%;
-      padding: 0 22px;
-      background: #e61f1e;
-      height: 45px;
-      line-height: 43px;
-      color: #ffffff;
-      font-size: 16px;
-      letter-spacing: 0.5px;
-      font-weight: 500;
-      display: inline-block;
-      position: relative;
-      z-index: 1;
-      transition: all 0.4s ease-in-out;
-      border-radius: 6px;
-      border: 0 none;
-      outline: none;
-      background-size: 300% 100%;
-      background-image: linear-gradient(
-          to right,
-          #0e2453,
-          #0d2862,
-          #0e2453,
-          #0d2862
-      );
-      box-sizing: border-box;
-
-       .icon-reverse-wrapper {
-        display: flex;
-        align-items: center;
-        justify-content: center;
+        a {
+          color: #e61f1e;
+        }
       }
-      .btn-text {
-        display: inline-block;
-        transition: transform 0.6s 0.125s cubic-bezier(0.1, 0.75, 0.25, 1);
-        margin-inline-start: -23px;
+
+      .agreemnet9 {
+        text-align: initial;
+        color: #e61f1e;
+        font-size: 12px;
+        margin: 0;
       }
-       i {
-        padding-left: 6px;
+
+      .rbt-btn {
+        width: 100%;
+        padding: 0 22px;
+        background: #e61f1e;
+        height: 45px;
+        line-height: 43px;
+        color: #ffffff;
+        font-size: 16px;
+        letter-spacing: 0.5px;
+        font-weight: 500;
         display: inline-block;
-        top: 2px;
         position: relative;
-        font-size: 17px;
+        z-index: 1;
+        transition: all 0.4s ease-in-out;
+        border-radius: 6px;
+        border: 0 none;
+        outline: none;
+        background-size: 300% 100%;
+        background-image: linear-gradient(to right, #0e2453, #0d2862, #0e2453, #0d2862);
+        box-sizing: border-box;
+
+        .icon-reverse-wrapper {
+          display: flex;
+          align-items: center;
+          justify-content: center;
+        }
+        .btn-text {
+          display: inline-block;
+          transition: transform 0.6s 0.125s cubic-bezier(0.1, 0.75, 0.25, 1);
+          margin-inline-start: -23px;
+        }
+        i {
+          padding-left: 6px;
+          display: inline-block;
+          top: 2px;
+          position: relative;
+          font-size: 17px;
+        }
+        .btn-icon + .btn-icon {
+          margin-inline-end: 0;
+          margin-inline-start: 8px;
+          display: inline-block;
+          margin-inline-start: 0;
+          margin-inline-end: 0;
+          opacity: 0;
+          transform: translateX(-10px);
+          transition-delay: 0s;
+          order: -2;
+        }
+        .rbt-btn.hover-icon-reverse .btn-icon {
+          // display: inline-block;
+          transition: opacity 0.4s 0.25s, transform 0.6s 0.25s;
+          transition-timing-function: cubic-bezier(0.1, 0.75, 0.25, 1);
+        }
+        &:hover {
+          background-color: inherit;
+          background-position: 102% 0;
+          transition: all 0.4s ease-in-out;
+          background-image: linear-gradient(to right, #e61f1e, #fe5924, #fe5924, #e61f1e);
+          color: #ffffff;
+          transform: translate3d(0, -2px, 0);
+        }
       }
-       .btn-icon + .btn-icon {
-        margin-inline-end: 0;
-        margin-inline-start: 8px;
-        display: inline-block;
-        margin-inline-start: 0;
-        margin-inline-end: 0;
+      .rbt-btn:hover.hover-icon-reverse .btn-icon + .btn-icon {
+        opacity: 1;
+        transform: translateX(0);
+        transition-delay: 0.225s;
+      }
+      .rbt-btn:hover.hover-icon-reverse .btn-icon {
         opacity: 0;
-        transform: translateX(-10px);
         transition-delay: 0s;
-        order: -2;
+        transform: translateX(10px);
       }
-      .rbt-btn.hover-icon-reverse .btn-icon {
-        // display: inline-block;
-        transition: opacity 0.4s 0.25s, transform 0.6s 0.25s;
-        transition-timing-function: cubic-bezier(0.1, 0.75, 0.25, 1);
+      .rbt-btn.hover-icon-reverse .btn-text {
+        display: inline-block;
+        transition: transform 0.6s 0.125s cubic-bezier(0.1, 0.75, 0.25, 1);
+        margin-inline-start: -23px;
       }
-      &:hover {
-        background-color: inherit;
-        background-position: 102% 0;
-        transition: all 0.4s ease-in-out;
-        background-image: linear-gradient(
-            to right,
-            #e61f1e,
-            #fe5924,
-            #fe5924,
-            #e61f1e
-        );
-        color: #ffffff;
-        transform: translate3d(0, -2px, 0);
+      .rbt-btn:hover.hover-icon-reverse .btn-text {
+        transition-delay: 0.1s;
+        transform: translateX(23px);
       }
     }
-    .rbt-btn:hover.hover-icon-reverse .btn-icon + .btn-icon {
-      opacity: 1;
-      transform: translateX(0);
-      transition-delay: 0.225s;
-    }
-    .rbt-btn:hover.hover-icon-reverse .btn-icon {
-      opacity: 0;
-      transition-delay: 0s;
-      transform: translateX(10px);
-    }
-    .rbt-btn.hover-icon-reverse .btn-text {
-      display: inline-block;
-      transition: transform 0.6s 0.125s cubic-bezier(0.1, 0.75, 0.25, 1);
-      margin-inline-start: -23px;
-    }
-    .rbt-btn:hover.hover-icon-reverse .btn-text {
-      transition-delay: 0.1s;
-      transform: translateX(23px);
-    }
-  }
 
-  .el-icon {
-    margin-right: 8px;
+    .el-icon {
+      margin-right: 8px;
+    }
   }
-}
 
-@media screen and (max-width: 768px) {
-  #signup {
-    height: auto;
-    overflow: hidden;
+  @media screen and (max-width: 768px) {
+    #signup {
+      height: auto;
+      overflow: hidden;
 
-    .title {
-      margin: 32px 20px;
-      font-size: 24px;
-      font-weight: bolder;
-    }
+      .title {
+        margin: 32px 20px;
+        font-size: 24px;
+        font-weight: bolder;
+      }
 
-    .form {
-      padding: 10px 20px 30px;
+      .form {
+        padding: 10px 20px 30px;
+      }
     }
   }
-}
 </style>
 
 <style lang="scss">
-#signup {
-  .el-input__inner {
-    border-radius: 4px;
-    color: #606266;
+  #signup {
+    .el-input__inner {
+      border-radius: 4px;
+      color: #606266;
 
-    &::placeholder {
-      color: #c0c4cc;
-    }
+      &::placeholder {
+        color: #c0c4cc;
+      }
 
-    &:disabled {
-      border-color: #f5f7fa!important;
-      color: #c0c4cc !important;
-      cursor: not-allowed !important;
+      &:disabled {
+        border-color: #f5f7fa !important;
+        color: #c0c4cc !important;
+        cursor: not-allowed !important;
+      }
+    }
+    .m-input {
+      height: 40px;
     }
-  }
-  .m-input{
-    height: 40px;
-  }
 
-  .el-form-item {
-    margin-bottom: 20px;
-  }
+    .el-form-item {
+      margin-bottom: 20px;
+    }
 
-  .el-form-item__content {
-    //line-height: initial !important;
-  }
+    .el-form-item__content {
+      //line-height: initial !important;
+    }
 
-  .el-input__prefix,
-  .el-input__suffix {
-    color: #c0c4cc;
-  }
+    .el-input__prefix,
+    .el-input__suffix {
+      color: #c0c4cc;
+    }
 
-  .el-select {
-    width: 100%;
+    .el-select {
+      width: 100%;
 
-    &.is-disabled .el-input__inner {
-      background-color: #f5f7fa !important;
-      //border-color: #e4e7ed !important;
-      color: #c0c4cc !important;
-      cursor: not-allowed !important;
+      &.is-disabled .el-input__inner {
+        background-color: #f5f7fa !important;
+        //border-color: #e4e7ed !important;
+        color: #c0c4cc !important;
+        cursor: not-allowed !important;
+      }
     }
-  }
 
-  .el-date-editor.el-input {
-    width: 100%;
+    .el-date-editor.el-input {
+      width: 100%;
 
-    &.is-disabled .el-input__inner,
-    .el-input__inner:disabled {
-      background-color: #f5f7fa !important;
-      //border-color: #e4e7ed !important;
-      color: #c0c4cc !important;
-      cursor: not-allowed !important;
+      &.is-disabled .el-input__inner,
+      .el-input__inner:disabled {
+        background-color: #f5f7fa !important;
+        //border-color: #e4e7ed !important;
+        color: #c0c4cc !important;
+        cursor: not-allowed !important;
+      }
     }
-  }
 
-  .el-form-item__label {
-    float: none;
-    font-size: 16px;
-    line-height: 28px;
-    color: #000;
-    padding: 0;
-    margin-bottom: 8px;
-  }
+    .el-form-item__label {
+      float: none;
+      font-size: 16px;
+      line-height: 28px;
+      color: #000;
+      padding: 0;
+      margin-bottom: 8px;
+    }
 
-  .code .el-input__inner {
-    padding-right: 110px;
-  }
+    .code .el-input__inner {
+      padding-right: 110px;
+    }
 
-  .el-checkbox__label {
-    color: #606266;
+    .el-checkbox__label {
+      color: #606266;
+    }
   }
-}
 </style>