New file |
| | |
| | | <template> |
| | | <el-dialog |
| | | align-center |
| | | append-to-body |
| | | v-model="dialogFormVisible" |
| | | @close="closeDialog" |
| | | @open="openDialog" |
| | | class="fansdialog" |
| | | > |
| | | <div style="display: flex; justify-content: space-around"> |
| | | <el-image :src="dialogLeftImg" class="leftImg" /> |
| | | |
| | | <div class="logIn"> |
| | | <div class="signUpTitle" v-if="flag == 'logIn'"> |
| | | <ul> |
| | | <li |
| | | @click="signUpWay = 'authSignUp'" |
| | | :style="{ |
| | | color: signUpWay == 'authSignUp' ? '#144941' : '#545C63', |
| | | }" |
| | | > |
| | | 手机号登录 |
| | | </li> |
| | | <li>|</li> |
| | | <li |
| | | @click="wechatLoginOpen" |
| | | :style="{ color: signUpWay == 'wechat' ? '#144941' : '#545C63' }" |
| | | > |
| | | 微信登录 |
| | | </li> |
| | | </ul> |
| | | </div> |
| | | <div v-else style="text-align: center; color: #144941">注册</div> |
| | | <div |
| | | class="singUpPhone" |
| | | v-if="signUpWay === 'phone' || 'authSignUp'" |
| | | :style="{ height: signUpWay == 'findPassword' ? '450px' : '400px' }" |
| | | > |
| | | <el-form |
| | | :model="passFormData" |
| | | v-if="signUpWay === 'phone' || 'authSignUp'" |
| | | ref="passFormRef" |
| | | @keyup.enter="signInSystem(passFormRef)" |
| | | > |
| | | <el-form-item |
| | | v-if="signUpWay !== 'findPassword'" |
| | | :rules="[ |
| | | { min: 11, max: 11, message: '请输入11位电话号码' }, |
| | | { |
| | | validator: (_, value, callback) => { |
| | | if ( |
| | | !/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test( |
| | | value |
| | | ) |
| | | ) { |
| | | callback('请输入11位电话号码'); |
| | | } else { |
| | | callback(); |
| | | } |
| | | }, |
| | | }, |
| | | ]" |
| | | prop="telNumber" |
| | | > |
| | | <el-input |
| | | v-model="passFormData.telNumber" |
| | | placeholder="请输入手机号" |
| | | size="large" |
| | | > |
| | | <template #prepend> |
| | | <el-select |
| | | v-model="select" |
| | | placeholder="Select" |
| | | style="width: 110px" |
| | | class="selectPhone" |
| | | > |
| | | <el-option label="中国+86" value="86" /> |
| | | </el-select> |
| | | </template> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button class="yanzhengBtn" @click="sliderImgDialogVisable = true" |
| | | >验证</el-button |
| | | > |
| | | </el-form-item> |
| | | <el-form-item |
| | | v-if="signUpWay === 'authSignUp'" |
| | | class="codeWay" |
| | | :rules="[ |
| | | { required: true, message: '请输入验证码' }, |
| | | { min: 4, max: 6, message: '请输入有效验证码' }, |
| | | ]" |
| | | prop="telCode" |
| | | > |
| | | <el-input |
| | | v-model="passFormData.telCode" |
| | | placeholder="请输入验证码" |
| | | size="large" |
| | | /> |
| | | <el-button |
| | | type="primary" |
| | | class="codeBtn" |
| | | :disabled="countDown != 0" |
| | | @click="getCode(passFormRef)" |
| | | >{{ |
| | | countDown == 0 ? "获取验证码" : "验证码(" + countDown + "s)" |
| | | }}</el-button |
| | | > |
| | | </el-form-item> |
| | | <el-form-item |
| | | v-if="flag === 'signUp'" |
| | | :rules="[ |
| | | { required: true, message: '请输入密码' }, |
| | | { min: 8, max: 16, message: '密码在8到16位之间' }, |
| | | { |
| | | validator: (rule, value, callback) => { |
| | | if (!/\d/.test(value) || /^\d+$/.test(value)) { |
| | | callback('密码不能为纯数字或字母'); |
| | | } else { |
| | | callback(); |
| | | } |
| | | }, |
| | | }, |
| | | ]" |
| | | prop="password" |
| | | class="passwordInput" |
| | | > |
| | | <el-input |
| | | type="password" |
| | | show-password |
| | | v-model="passFormData.password" |
| | | placeholder="请输入密码" |
| | | size="large" |
| | | style="width: 304px" |
| | | > |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item |
| | | v-if="flag === 'signUp'" |
| | | :rules="[ |
| | | { required: true, message: '请输入确认密码' }, |
| | | { validator: validateLogInPassword }, |
| | | ]" |
| | | prop="confirmPassword" |
| | | class="passwordInput" |
| | | > |
| | | <el-input |
| | | type="password" |
| | | show-password |
| | | v-model="passFormData.confirmPassword" |
| | | placeholder="确认密码" |
| | | size="large" |
| | | style="width: 304px" |
| | | /> |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <el-button class="loginBtn" @click="loginBtn">登录</el-button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <el-dialog |
| | | v-model="sliderImgDialogVisable" |
| | | align-center |
| | | destroy-on-close="true" |
| | | width="420" |
| | | class="sliderImgDialog" |
| | | > |
| | | <verify :MG="MG" @loginImgVerify="loginImgVerify"></verify> |
| | | </el-dialog> |
| | | </el-dialog> |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { ref, inject, watchEffect, reactive, nextTick } from "vue"; |
| | | import dialogLeftImg from "@/assets/images/header/dialogLeftImg.png"; |
| | | import verify from "@/components/sliderImg/component/verify.vue"; |
| | | import "@/components/sliderImg/sliderImg.js"; |
| | | import "@/components/sliderImg/sliderImg.css"; |
| | | import { ElMessage } from "element-plus"; |
| | | import { useUserStore } from "@/store"; |
| | | import { useRouter } from "vue-router"; |
| | | const router = useRouter(); |
| | | |
| | | const userStore = useUserStore(); |
| | | |
| | | const MG = inject("MG"); |
| | | const config = inject("config"); |
| | | const dialogFormVisible = ref(false); |
| | | const sliderImgDialogVisable = ref(false); |
| | | const flag = ref("logIn"); // 登录或注册 |
| | | |
| | | const signUpWay = ref("authSignUp"); // 登录方式 |
| | | const select = ref("中国+86"); |
| | | const countDown = ref(0); // 倒计时时间 |
| | | let timer = null; // 倒计时实例 |
| | | const passFormRef = ref(); |
| | | const passFormData = ref({ |
| | | telNumber: "", |
| | | password: "", |
| | | telCode: "", |
| | | password: "", |
| | | confirmPassword: "", |
| | | }); |
| | | const closeDialog = () => { |
| | | countDown.value = 0; |
| | | clearInterval(timer); |
| | | if (passFormRef.value) { |
| | | passFormRef.value.resetFields(); |
| | | } |
| | | dialogFormVisible.value = false; |
| | | }; |
| | | // 弹窗打开事件 |
| | | const openDialog = () => {}; |
| | | |
| | | const loginImgVerify = (code) => { |
| | | sliderImgDialogVisable.value = false; |
| | | MG.identity |
| | | .getPhoneCode({ |
| | | phoneNumber: passFormData.value.telNumber, |
| | | imageCaptcha: code, |
| | | appRefCode: config.appRefCode, |
| | | }) |
| | | .then((res) => { |
| | | if (res == "验证码发送成功") { |
| | | getSecond(60); |
| | | ElMessage.success(res); |
| | | } else { |
| | | ElMessage.error(res); |
| | | } |
| | | }); |
| | | }; |
| | | |
| | | watchEffect(() => { |
| | | if (dialogFormVisible.value) { |
| | | } |
| | | }); |
| | | |
| | | //登录 |
| | | |
| | | const loginBtn = () => { |
| | | let query = { |
| | | phoneNumber: passFormData.value.telNumber, |
| | | phoneCaptcha: passFormData.value.telCode, |
| | | appRefCode: config.appRefCode, |
| | | platform: "string", |
| | | }; |
| | | MG.identity.loginByMobilePhone(query).then((res) => { |
| | | console.log("res", res); |
| | | userStore.setToken(res.data.accessToken); |
| | | |
| | | getUserInfo(); |
| | | }); |
| | | }; |
| | | |
| | | const getUserInfo = () => { |
| | | MG.identity.getCurrentAppUser().then((res) => { |
| | | console.log("res", res); |
| | | if (res) { |
| | | let userInfo = res.infoList.find((item) => item.type == "userInfo"); |
| | | let userTypeObj = res.infoList.find((item) => item.type == "userType"); |
| | | const userData = { |
| | | userName: userInfo && userInfo.data ? JSON.parse(userInfo.data).name : "", |
| | | school: userInfo && userInfo.data ? JSON.parse(userInfo.data).school : "", |
| | | city: userInfo && userInfo.data ? JSON.parse(userInfo.data).city : "", |
| | | cityCode: userInfo && userInfo.data ? JSON.parse(userInfo.data).cityCode : "", |
| | | address: userInfo && userInfo.data ? JSON.parse(userInfo.data).address : "", |
| | | userType: |
| | | userTypeObj && userTypeObj.data ? JSON.parse(userTypeObj.data).userType : "", |
| | | }; |
| | | localStorage.setItem("xiehe-isUserInfo", userData?.userType == "" ? "-1" : "1"); |
| | | let teacherRole = res.roleLinks.find((item) => item.role.refCode == "teacher"); |
| | | let teacherInfos = res.infoList.find((item) => item.type == "teacherInfo"); |
| | | let wechatInfo = res.infoList.find((item) => item.type == "WeChat"); |
| | | let studentInfo = res.infoList.find((item) => item.type == "Default"); |
| | | let phoneInfo = res.secretList.find((item) => item.type == "MobilePhone"); |
| | | // let nameAndPassword = res.secretList.find((item) => item.type == 'LoginNameAndPassword') |
| | | let emailInfo = res.secretList.find((item) => item.type == "EMail"); |
| | | if (teacherRole && teacherInfos) { |
| | | userStore.setUserInfo({ |
| | | ...userData, |
| | | ...teacherInfos, |
| | | phoneNumber: phoneInfo?.credential, |
| | | Email: emailInfo ? emailInfo.credential : JSON.parse(teacherInfos.data).email, |
| | | icon: wechatInfo?.icon, |
| | | role: "Teacher", |
| | | roleId: teacherRole.role.id, |
| | | userId: res.userId, |
| | | }); |
| | | } else if (wechatInfo) { |
| | | userStore.setUserInfo({ |
| | | ...userData, |
| | | ...wechatInfo, |
| | | phoneNumber: phoneInfo?.credential, |
| | | Email: emailInfo?.credential, |
| | | role: "Student", |
| | | userId: res.userId, |
| | | }); |
| | | } else if (studentInfo) { |
| | | userStore.setUserInfo({ |
| | | ...userData, |
| | | ...studentInfo, |
| | | icon: wechatInfo?.icon, |
| | | phoneNumber: phoneInfo?.credential, |
| | | Email: emailInfo?.credential, |
| | | role: "Student", |
| | | userId: res.userId, |
| | | }); |
| | | } else if (phoneInfo) { |
| | | userStore.setUserInfo({ |
| | | ...userData, |
| | | ...phoneInfo, |
| | | name: phoneInfo?.credential, |
| | | icon: phoneInfo?.icon, |
| | | phoneNumber: phoneInfo?.credential, |
| | | role: "Student", |
| | | userId: res.userId, |
| | | }); |
| | | } |
| | | } |
| | | router.go(0); |
| | | }); |
| | | }; |
| | | |
| | | // 倒计时 |
| | | const getSecond = (time) => { |
| | | if (!timer) { |
| | | countDown.value = time; |
| | | timer = setInterval(() => { |
| | | countDown.value--; |
| | | if (countDown.value == 0) { |
| | | clearInterval(timer); |
| | | timer = null; |
| | | } |
| | | }, 1000); |
| | | } |
| | | }; |
| | | |
| | | // 登录和重置密码按钮按钮 |
| | | const signInSystem = async (formEl) => { |
| | | if (!formEl) return; |
| | | formEl.validate((valid) => { |
| | | if (valid) { |
| | | // if (signUpWay.value === 'phone') { |
| | | // // 账号密码登录 |
| | | // passwordSignUp() |
| | | // } else if (signUpWay.value == 'authSignUp') { |
| | | // // 验证码登录 |
| | | // codeSignUp() |
| | | // } else { |
| | | // // 重置密码 |
| | | // changePassword() |
| | | // } |
| | | } |
| | | }); |
| | | }; |
| | | |
| | | const logIn = () => { |
| | | dialogFormVisible.value = true; |
| | | flag.value = "logIn"; |
| | | }; |
| | | |
| | | // 打开注册弹窗 |
| | | const signUp = () => { |
| | | dialogFormVisible.value = true; |
| | | flag.value = "signUp"; |
| | | }; |
| | | const wechatLoginOpen = () => { |
| | | signUpWay.value = "wechat"; |
| | | }; |
| | | |
| | | defineExpose({ |
| | | logIn, |
| | | signUp, |
| | | }); |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | // 用户信息填写界面 |
| | | .changeUser { |
| | | .prompt-title { |
| | | width: 80%; |
| | | line-height: 24px; |
| | | color: #000; |
| | | span { |
| | | display: inline-block; |
| | | } |
| | | } |
| | | } |
| | | .fansdialog { |
| | | width: 806px; |
| | | |
| | | .leftImg { |
| | | box-sizing: border-box; |
| | | width: 403px; |
| | | } |
| | | |
| | | .el-dialog__header { |
| | | padding: 0; |
| | | } |
| | | |
| | | .el-dialog__body { |
| | | width: 806px; |
| | | height: 575px; |
| | | display: flex; |
| | | padding: 0 !important; |
| | | } |
| | | |
| | | .leftImg { |
| | | .el-image__inner { |
| | | width: 403px; |
| | | } |
| | | } |
| | | |
| | | .el-dialog__header { |
| | | padding: 0; |
| | | } |
| | | |
| | | .el-dialog__body { |
| | | width: 806px; |
| | | display: flex; |
| | | padding: 0 !important; |
| | | } |
| | | } |
| | | |
| | | .agreementDialog { |
| | | width: 760px; |
| | | height: 600px; |
| | | |
| | | p span { |
| | | line-height: 24px; |
| | | } |
| | | |
| | | .el-dialog__header { |
| | | font-size: 18px; |
| | | color: #333; |
| | | } |
| | | |
| | | .el-dialog__body { |
| | | overflow: auto; |
| | | height: 500px; |
| | | width: 760px; |
| | | } |
| | | |
| | | .el-dialog__footer { |
| | | display: flex; |
| | | justify-content: center; |
| | | } |
| | | } |
| | | |
| | | .wechatTipsDialog { |
| | | .el-dialog__header { |
| | | font-size: 18px; |
| | | } |
| | | |
| | | .el-dialog__body { |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | p { |
| | | margin-left: 10px; |
| | | line-height: 24px; |
| | | } |
| | | } |
| | | } |
| | | .sliderImgDialog { |
| | | .el-dialog__body { |
| | | min-height: 320px; |
| | | } |
| | | } |
| | | </style> |
| | | |
| | | <style lang="less"> |
| | | /** 登录注册弹窗 */ |
| | | .logIn { |
| | | width: 403px; |
| | | height: 100%; |
| | | padding-top: 48px; |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: space-around; |
| | | |
| | | .signUpTitle { |
| | | width: 100%; |
| | | ul { |
| | | display: flex; |
| | | justify-content: center; |
| | | width: 100%; |
| | | li { |
| | | height: 20px; |
| | | display: flex; |
| | | align-items: center; |
| | | .el-image { |
| | | margin-right: 5px; |
| | | width: 20px; |
| | | } |
| | | } |
| | | li:nth-child(2n + 1) { |
| | | cursor: pointer; |
| | | margin: 0 10px; |
| | | } |
| | | li:first-child { |
| | | margin-left: 0; |
| | | .el-image { |
| | | width: 10px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** 微信登录 */ |
| | | .signUpContent { |
| | | display: flex; |
| | | height: 400px; |
| | | flex-wrap: wrap; |
| | | flex-direction: column; |
| | | justify-content: space-around; |
| | | align-content: center; |
| | | |
| | | .el-image { |
| | | width: 176px; |
| | | } |
| | | |
| | | h2 { |
| | | font-size: 20px; |
| | | color: #000; |
| | | font-weight: 700; |
| | | text-align: center; |
| | | } |
| | | |
| | | p { |
| | | text-align: center; |
| | | line-height: 26px; |
| | | } |
| | | |
| | | .wechatCode { |
| | | h2 { |
| | | margin-bottom: 24px; |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** 密码登录 */ |
| | | .singUpPhone { |
| | | height: 400px; |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | |
| | | h2 { |
| | | padding-top: 35px; |
| | | font-size: 20px; |
| | | color: #000; |
| | | font-weight: 700; |
| | | text-align: center; |
| | | } |
| | | |
| | | .back { |
| | | display: flex; |
| | | align-items: center; |
| | | cursor: pointer; |
| | | margin: 10px 0px 0px 20px; |
| | | align-self: flex-start; |
| | | font-size: 12px; |
| | | color: #333; |
| | | } |
| | | |
| | | .el-form { |
| | | margin-top: 26px; |
| | | } |
| | | |
| | | .signInBtn { |
| | | width: 304px; |
| | | height: 41px; |
| | | margin-bottom: 33px; |
| | | border-radius: 3px; |
| | | // opacity: 0.55; |
| | | color: #fff; |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .codeBtn { |
| | | width: 101px; |
| | | height: 41px; |
| | | background-color: #019e58; |
| | | // opacity: 0.55; |
| | | } |
| | | .yanzhengBtn { |
| | | width: 100%; |
| | | height: 41px; |
| | | background-color: #019e58; |
| | | color: #fff; |
| | | } |
| | | .loginBtn { |
| | | width: 76%; |
| | | height: 41px; |
| | | background: linear-gradient(90deg, #019e58 0%, #144941 100%); |
| | | color: #fff; |
| | | margin-top: 50px; |
| | | } |
| | | |
| | | .el-image { |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: center; |
| | | } |
| | | |
| | | .authSignUp { |
| | | width: 305px; |
| | | flex: 1; |
| | | display: flex; |
| | | justify-content: end; |
| | | align-items: end; |
| | | padding-bottom: 20px; |
| | | |
| | | span { |
| | | cursor: pointer; |
| | | color: #333; |
| | | font-size: 12px; |
| | | } |
| | | } |
| | | |
| | | .codeWay { |
| | | .el-input { |
| | | width: 195px; |
| | | } |
| | | |
| | | .el-button { |
| | | width: 100px; |
| | | padding: 0; |
| | | margin: 0 0 0 10px; |
| | | } |
| | | |
| | | .authCodeBox { |
| | | width: 100px; |
| | | height: 50px; |
| | | margin-left: 10px; |
| | | cursor: pointer; |
| | | position: relative; |
| | | span { |
| | | position: absolute; |
| | | top: 35px; |
| | | height: 10px; |
| | | margin-bottom: 20px; |
| | | font-size: 10px; |
| | | color: #1f971f; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .claus { |
| | | margin-bottom: 10px; |
| | | color: #000; |
| | | font-size: 12px; |
| | | width: 100%; |
| | | text-align: center; |
| | | line-height: 26px; |
| | | } |
| | | } |
| | | .policy { |
| | | cursor: pointer; |
| | | color: #ff6c00; |
| | | } |
| | | /** 注册表单 */ |
| | | .signUp { |
| | | width: 403px; |
| | | justify-content: space-around; |
| | | color: #333; |
| | | font-size: 12px; |
| | | |
| | | span:first-child, |
| | | span:last-child { |
| | | cursor: pointer; |
| | | } |
| | | |
| | | .logInTitle { |
| | | width: 96%; |
| | | font-size: 16px; |
| | | margin: 20px 0 0 20px; |
| | | font-weight: bold; |
| | | } |
| | | |
| | | h4 { |
| | | font-size: 16px; |
| | | color: #ff6c00; |
| | | } |
| | | |
| | | .logInBox { |
| | | margin-top: 20px; |
| | | padding: 0 40px; |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: center; |
| | | align-items: center; |
| | | |
| | | .el-form-item { |
| | | .el-button { |
| | | width: 100px; |
| | | height: 41px; |
| | | border-radius: 3px; |
| | | color: #fff; |
| | | font-size: 14px; |
| | | } |
| | | } |
| | | .agreement { |
| | | height: 40px; |
| | | display: flex; |
| | | align-items: center; |
| | | margin: 30px 0 0 0; |
| | | line-height: 32px; |
| | | height: 32px; |
| | | font-size: 12px; |
| | | color: #000; |
| | | |
| | | .el-checkbox { |
| | | margin-right: 10px; |
| | | } |
| | | |
| | | .el-link { |
| | | font-size: 12px; |
| | | } |
| | | |
| | | p { |
| | | height: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | } |
| | | |
| | | .hint { |
| | | font-size: 11px; |
| | | color: #545c63; |
| | | } |
| | | |
| | | .codeWay { |
| | | .el-input { |
| | | width: 195px; |
| | | } |
| | | |
| | | .el-button { |
| | | width: 100px; |
| | | padding: 0; |
| | | margin: 0 0 0 10px; |
| | | } |
| | | |
| | | .authCodeBox { |
| | | width: 100px; |
| | | height: 50px; |
| | | margin-left: 10px; |
| | | cursor: pointer; |
| | | position: relative; |
| | | span { |
| | | position: absolute; |
| | | top: 35px; |
| | | left: 0; |
| | | width: 100px; |
| | | font-size: 10px; |
| | | color: #1f971f; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .logInBtn { |
| | | width: 304px; |
| | | height: 41px; |
| | | margin-top: 10px; |
| | | margin-bottom: 20px; |
| | | border-radius: 3px; |
| | | color: #fff; |
| | | font-size: 14px; |
| | | } |
| | | |
| | | /** 选择用户类型 */ |
| | | .changeUser { |
| | | width: 100%; |
| | | height: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | .el-form-item { |
| | | &:last-child { |
| | | margin-bottom: 0; |
| | | } |
| | | .el-button { |
| | | height: 40px; |
| | | margin-left: 10px; |
| | | } |
| | | } |
| | | h2 { |
| | | font-size: 20px; |
| | | margin-top: 70px; |
| | | color: #000; |
| | | font-weight: bold; |
| | | } |
| | | |
| | | .el-radio-group { |
| | | display: flex; |
| | | flex-direction: column; |
| | | |
| | | .el-radio-button { |
| | | width: 166px; |
| | | } |
| | | |
| | | /deep/ .el-radio-button__inner { |
| | | width: 166px; |
| | | height: 41px; |
| | | line-height: 24px; |
| | | border-radius: 4px; |
| | | border: 0; |
| | | border: 1px solid #dcdfe6; |
| | | } |
| | | |
| | | .el-radio-button:nth-child(n + 1) { |
| | | margin-bottom: 27px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .selectPhone { |
| | | background: #fff; |
| | | } |
| | | |
| | | // .el-select { |
| | | // width: 100px; |
| | | // height: 30px; |
| | | // color: red; |
| | | // border: none !important; |
| | | |
| | | // /deep/ .select-trigger { |
| | | // height: 100%; |
| | | |
| | | // .el-input--suffix { |
| | | // height: 100%; |
| | | // background-color: #fff; |
| | | // } |
| | | // } |
| | | // } |
| | | </style> |