diff --git a/.env.development b/.env.development index f3c5b0f..e2c0c6c 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,9 @@ # 王昊地址 -VITE_GLOB_API_URL=http://192.168.1.6 +#VITE_GLOB_API_URL=http://192.168.1.3 #开发环境 -#VITE_GLOB_API_URL=http://cqyt.dev.yg.dt.io +VITE_GLOB_API_URL=http://cqyt.dev.yg.dt.io #应急求助-websocket -VITE_GLOB_API_YIN_JI=ws://192.168.1.6:7098/websocket/watchMonitor +VITE_GLOB_API_YIN_JI=ws://cqyt.dev.yg.dt.io/health-watch/websocket/watchMonitor #健康监测工具报警-websocket -VITE_GLOB_API_JIAN_CE=ws://192.168.1.6:7011/websocket/emergency +VITE_GLOB_API_JIAN_CE=ws://cqyt.dev.yg.dt.io/health-emergency/websocket/emergency diff --git a/.env.production b/.env.production index 844ff49..00bd5f1 100644 --- a/.env.production +++ b/.env.production @@ -1,3 +1,7 @@ - -VITE_GLOB_API_URL=http://cqyt.dev.yg.dt.io \ No newline at end of file +#后台地址 +VITE_GLOB_API_URL=https://api.cqygjk.com +#应急求助-websocket +VITE_GLOB_API_YIN_JI=ws://api.cqygjk.com/health-watch/websocket/watchMonitor +#健康监测工具报警-websocket +VITE_GLOB_API_JIAN_CE=ws://api.cqygjk.com/health-emergency/websocket/emergency diff --git a/env.test b/env.test new file mode 100644 index 0000000..52a13b3 --- /dev/null +++ b/env.test @@ -0,0 +1,7 @@ +#测试环境 +VITE_GLOB_API_URL=http://cqyt.test.yg.dt.io + +#应急求助-websocket +VITE_GLOB_API_YIN_JI=ws://192.168.1.3:7098/websocket/watchMonitor +#健康监测工具报警-websocket +VITE_GLOB_API_JIAN_CE=ws://cqyt.test.yg.dt.io/health-emergency/websocket/emergency diff --git a/package.json b/package.json index 222cfa3..cee59a4 100644 --- a/package.json +++ b/package.json @@ -14,12 +14,13 @@ "@iamzzg/data-view": "^2.10.0", "axios": "^1.6.2", "dayjs": "^1.11.10", + "jsencrypt": "^3.3.2", "lodash-es": "^4.17.21", "mitt": "^3.0.1", "path": "^0.12.7", + "pinia": "^2.1.7", "prettier": "^3.1.0", "qs": "^6.11.2", - "vue": "^3.3.4", "vue-router": "^4.2.5", "vue3-seamless-scroll": "^2.0.1" }, diff --git a/src/api/checkStatus.ts b/src/api/checkStatus.ts new file mode 100644 index 0000000..cf679ae --- /dev/null +++ b/src/api/checkStatus.ts @@ -0,0 +1,61 @@ +import { useMessage } from '/@/hooks/web/useMessage.ts'; +import { t } from '/@/hooks/locales/useLocales.ts'; +import { useUserStore } from '/@/store/modules/user.ts'; + +const { createMessage } = useMessage(); +const error = createMessage.error!; +const userStore = useUserStore(); + +export function checkStatus(status: number, msg: string, errorMessageMode = 'message') { + let errMessage = ''; + switch (status) { + case 400: + errMessage = `${msg}`; + break; + // 401: Not logged in + // Jump to the login page if not logged in, and carry the path of the current page + // Return to the current page after successful login. This step needs to be operated on the login page. + case 401: + userStore.setToken(undefined); + errMessage = msg || t('api.errMsg401'); + userStore.logout(true); + break; + case 403: + errMessage = t('api.errMsg403'); + break; + // 404请求不存在 + case 404: + errMessage = t('api.errMsg404'); + break; + case 405: + errMessage = t('api.errMsg405'); + break; + case 408: + errMessage = t('api.errMsg408'); + break; + case 500: + errMessage = t('api.errMsg500'); + break; + case 501: + errMessage = t('api.errMsg501'); + break; + case 502: + errMessage = t('api.errMsg502'); + break; + case 503: + errMessage = t('api.errMsg503'); + break; + case 504: + errMessage = t('api.errMsg504'); + break; + case 505: + errMessage = t('api.errMsg505'); + break; + default: + } + if (errMessage) { + if (errMessage == 'message') { + error({ content: errMessage, key: `global_error_message_status_${status}` }); + } + } +} \ No newline at end of file diff --git a/src/api/request.ts b/src/api/request.ts index 69d1e7a..4b4b2d8 100644 --- a/src/api/request.ts +++ b/src/api/request.ts @@ -1,24 +1,34 @@ import axios from 'axios'; import { getAppEnvConfig } from '../utils/env.ts'; +import { useUserStore } from '/@/store/modules/user.ts'; +import { getAuthCache } from '/@/utils/auth.ts'; +import { TOKEN_KEY } from '/@/enum/cacheEnum.ts'; const { VITE_GLOB_API_URL } = getAppEnvConfig(); -let token = - 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiaWRlbnRpZmllciI6ImU5Y2EyM2Q2OGQ4ODRkNGViYjE5ZDA3ODg5NzI3ZGFlIiwiZXhwIjoxNzAzMjMyOTQ0fQ.de0NagvCsVmg_sZGoE5PirZcdDRXPX-j9yj3AqbV6t4'; +const userStore = useUserStore(); +const { token } = userStore; const service = axios.create({ baseURL: VITE_GLOB_API_URL, timeout: 50000, headers: { // 设置后端需要的传参类型 'Content-Type': 'application/json;charset=UTF-8', - 'X-Access-Token': token, + 'X-Access-Token': token || getAuthCache(TOKEN_KEY), + }, + /** + * @description: 响应错误处理 + */ + responseInterceptorsCatch(error: any) { + const { response, code, message, config } = error || {}; + const errorMessageMode = config?.requestOptions?.errorMessageMode || 'none'; }, }); -export const get = (url, params) => { +export const get = (url, params = {}) => { return new Promise((resolve, reject) => { service .get(url, { params: params }) .then((res) => { - if (res.data.code === 200) { + if (res.data.code === 200 || res.data.code === 0) { resolve(res.data); } else { reject(res.data); diff --git a/src/api/url.ts b/src/api/url.ts deleted file mode 100644 index 86bf074..0000000 --- a/src/api/url.ts +++ /dev/null @@ -1,3 +0,0 @@ -const requestURL = "http://192.168.1.16"; - -export default requestURL \ No newline at end of file diff --git a/src/api/user.ts b/src/api/user.ts new file mode 100644 index 0000000..d2df419 --- /dev/null +++ b/src/api/user.ts @@ -0,0 +1,32 @@ +import { get, post } from '/@/api/request.ts'; + +enum Api { + getInputCode = '/sys/randomImage', + Login = '/sys/login', + Logout = '/sys/logout', + GetUserInfo = '/sys/user/getUserInfo', +} + +export const getCodeInfo = (params: any) => get(Api.getInputCode + `/${params}`); + +export function loginApi(params: any) { + return post(Api.Login, params); +} + +/** + * @description: getUserInfo + */ +export function getUserInfo() { + return get(Api.GetUserInfo, {}).catch((e) => { + if (e && (e.message.includes('timeout') || e.message.includes('401'))) { + //接口不通时跳转到登录界面 + // const userStore = useUserStoreWithOut(); + // userStore.setToken(''); + // router.push(PageEnum.BASE_LOGIN); + } + }); +} + +export function doLogout() { + return get(Api.Logout); +} \ No newline at end of file diff --git a/src/assets/images/checkcode.png b/src/assets/images/checkcode.png new file mode 100644 index 0000000..844fa70 Binary files /dev/null and b/src/assets/images/checkcode.png differ diff --git a/src/assets/less/index.less b/src/assets/less/index.less index 7cda6d3..cafefe6 100644 --- a/src/assets/less/index.less +++ b/src/assets/less/index.less @@ -138,6 +138,11 @@ color: #fff; } +//表格 +.ant-table-tbody > tr.ant-table-placeholder:hover > td { + background: transparent; +} + //直升机 .helicopter { width: 60px; diff --git a/src/assets/loginmini/icon/icon-code.png b/src/assets/loginmini/icon/icon-code.png new file mode 100644 index 0000000..142d3ab Binary files /dev/null and b/src/assets/loginmini/icon/icon-code.png differ diff --git a/src/assets/loginmini/icon/icon-eye-g.png b/src/assets/loginmini/icon/icon-eye-g.png new file mode 100644 index 0000000..8cf83d6 Binary files /dev/null and b/src/assets/loginmini/icon/icon-eye-g.png differ diff --git a/src/assets/loginmini/icon/icon-eye-k.png b/src/assets/loginmini/icon/icon-eye-k.png new file mode 100644 index 0000000..e1cacb0 Binary files /dev/null and b/src/assets/loginmini/icon/icon-eye-k.png differ diff --git a/src/assets/loginmini/icon/icon-line-msg.png b/src/assets/loginmini/icon/icon-line-msg.png new file mode 100644 index 0000000..08e7bea Binary files /dev/null and b/src/assets/loginmini/icon/icon-line-msg.png differ diff --git a/src/assets/loginmini/icon/icon-line-pad.png b/src/assets/loginmini/icon/icon-line-pad.png new file mode 100644 index 0000000..2aaccec Binary files /dev/null and b/src/assets/loginmini/icon/icon-line-pad.png differ diff --git a/src/assets/loginmini/icon/icon-line-tel.png b/src/assets/loginmini/icon/icon-line-tel.png new file mode 100644 index 0000000..c3efe1c Binary files /dev/null and b/src/assets/loginmini/icon/icon-line-tel.png differ diff --git a/src/assets/loginmini/icon/icon-line-user.png b/src/assets/loginmini/icon/icon-line-user.png new file mode 100644 index 0000000..30a280c Binary files /dev/null and b/src/assets/loginmini/icon/icon-line-user.png differ diff --git a/src/assets/loginmini/icon/icon-password.png b/src/assets/loginmini/icon/icon-password.png new file mode 100644 index 0000000..edf6d31 Binary files /dev/null and b/src/assets/loginmini/icon/icon-password.png differ diff --git a/src/assets/loginmini/icon/icon-success.png b/src/assets/loginmini/icon/icon-success.png new file mode 100644 index 0000000..aa3a233 Binary files /dev/null and b/src/assets/loginmini/icon/icon-success.png differ diff --git a/src/assets/loginmini/icon/icon-user.png b/src/assets/loginmini/icon/icon-user.png new file mode 100644 index 0000000..968fc1a Binary files /dev/null and b/src/assets/loginmini/icon/icon-user.png differ diff --git a/src/assets/loginmini/icon/icon_dow.png b/src/assets/loginmini/icon/icon_dow.png new file mode 100644 index 0000000..03d928d Binary files /dev/null and b/src/assets/loginmini/icon/icon_dow.png differ diff --git a/src/assets/loginmini/icon/jeecg_ad.png b/src/assets/loginmini/icon/jeecg_ad.png new file mode 100644 index 0000000..19a2583 Binary files /dev/null and b/src/assets/loginmini/icon/jeecg_ad.png differ diff --git a/src/assets/loginmini/icon/jeecg_ad_text.png b/src/assets/loginmini/icon/jeecg_ad_text.png new file mode 100644 index 0000000..8725482 Binary files /dev/null and b/src/assets/loginmini/icon/jeecg_ad_text.png differ diff --git a/src/assets/loginmini/icon/jeecg_bg.png b/src/assets/loginmini/icon/jeecg_bg.png new file mode 100644 index 0000000..b1bb62f Binary files /dev/null and b/src/assets/loginmini/icon/jeecg_bg.png differ diff --git a/src/assets/loginmini/icon/jeecg_logo.png b/src/assets/loginmini/icon/jeecg_logo.png new file mode 100644 index 0000000..109687f Binary files /dev/null and b/src/assets/loginmini/icon/jeecg_logo.png differ diff --git a/src/assets/loginmini/icon/logo.png b/src/assets/loginmini/icon/logo.png new file mode 100644 index 0000000..ad1cb65 Binary files /dev/null and b/src/assets/loginmini/icon/logo.png differ diff --git a/src/assets/loginmini/icon/logo_title.png b/src/assets/loginmini/icon/logo_title.png new file mode 100644 index 0000000..73ff9d4 Binary files /dev/null and b/src/assets/loginmini/icon/logo_title.png differ diff --git a/src/assets/loginmini/style/base.less b/src/assets/loginmini/style/base.less new file mode 100644 index 0000000..22cbffe --- /dev/null +++ b/src/assets/loginmini/style/base.less @@ -0,0 +1,365 @@ +::-webkit-input-placeholder { + /* WebKit browsers */ + color: #868686; + font-size: 15px; +} + +::-moz-placeholder { + /* Mozilla Firefox 19+ */ + color: #868686; + font-size: 15px; +} + +:-ms-input-placeholder { + /* Internet Explorer 10+ */ + color: #868686; + font-size: 15px; +} + +input:-webkit-autofill { + transition: background-color 5000s ease-in-out 0s; +} + +html { + scroll-behavior: smooth; +} + +html, +body { + color: #333; + margin: 0; + height: 100%; + font-family: 'Myriad Set Pro', 'Helvetica Neue', Helvetica, Arial, Verdana, sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + font-weight: normal; +} + +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +a { + text-decoration: none; + color: #000; +} + +a, +label, +button, +input, +select { + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +img { + max-width: 100%; + height: auto; + display: block; + border: 0; +} + +body { + background: #e3f0ff; + color: #666; +} + +html, +body, +div, +dl, +dt, +dd, +ol, +ul, +li, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +button, +fieldset, +form, +input, +legend, +textarea, +th, +td { + margin: 0; + padding: 0; +} + +a { + text-decoration: none; + color: #08acee; +} + +button { + outline: 0; +} + +button, +input, +optgroup, +select, +textarea { + margin: 0; + font: inherit; + color: inherit; + outline: none; +} + +li { + list-style: none; +} + +a { + color: #666; +} + +.clearfix::after { + clear: both; + content: '.'; + display: block; + height: 0; + visibility: hidden; +} + +.clearfix { +} + +.divHeight { + width: 100%; + height: 10px; + background: #f5f5f5; + position: relative; + overflow: hidden; +} + +.r-line { + position: relative; +} + +.r-line:after { + content: ''; + position: absolute; + z-index: 0; + top: 0; + right: 0; + height: 100%; + border-right: 1px solid #d9d9d9; + -webkit-transform: scaleX(0.5); + transform: scaleX(0.5); + -webkit-transform-origin: 100% 0; + transform-origin: 100% 0; +} + +.b-line { + position: relative; +} + +.b-line:after { + content: ''; + position: absolute; + z-index: 2; + bottom: 0; + left: 0; + width: 100%; + height: 1px; + border-bottom: 1px solid #dedede; + -webkit-transform: scaleY(0.5); + transform: scaleY(0.5); + -webkit-transform-origin: 0 100%; + transform-origin: 0 100%; +} + +.aui-arrow { + position: relative; + padding-right: 0.8rem; +} + +.aui-arrow span { + font-size: 0.8rem; + color: #9b9b9b; +} + +.aui-arrow:after { + content: ' '; + display: inline-block; + height: 6px; + width: 6px; + border-width: 2px 2px 0 0; + border-color: #848484; + border-style: solid; + -webkit-transform: matrix(0.71, 0.71, -0.71, 0.71, 0, 0); + transform: matrix(0.71, 0.71, -0.71, 0.71, 0, 0); + position: relative; + position: absolute; + top: 50%; + margin-top: -4px; + right: 2px; + border-radius: 1px; +} + +.aui-flex { + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + align-items: center; + position: relative; +} + +.aui-flex-box { + -webkit-box-flex: 1; + -webkit-flex: 1; + flex: 1; + min-width: 0; + font-size: 14px; + color: #333; +} + +/* 必要布局样式css */ +.aui-flexView { + width: 100%; + height: 100%; + margin: 0 auto; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; +} + +.aui-scrollView { + width: 100%; + height: 100%; + -webkit-box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; + overflow-y: auto; + overflow-x: hidden; + -webkit-overflow-scrolling: touch; + position: relative; + padding-bottom: 53px; +} + +.aui-navBar { + height: 44px; + position: relative; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + z-index: 102; + background-color: #5064eb; +} + +.aui-navBar-item { + height: 44px; + min-width: 15%; + -webkit-box-flex: 0; + -webkit-flex: 0 0 15%; + -ms-flex: 0 0 15%; + flex: 0 0 15%; + padding: 0 0.9rem; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + font-size: 0.7rem; + white-space: nowrap; + overflow: hidden; + color: #808080; + position: relative; +} + +.aui-navBar-item:first-child { + -webkit-box-ordinal-group: 2; + -webkit-order: 1; + -ms-flex-order: 1; + order: 1; + margin-right: -25%; + font-size: 0.9rem; + font-weight: bold; +} + +.aui-navBar-item:last-child { + -webkit-box-ordinal-group: 4; + -webkit-order: 3; + -ms-flex-order: 3; + order: 3; + -webkit-box-pack: end; + -webkit-justify-content: flex-end; + -ms-flex-pack: end; + justify-content: flex-end; +} + +.aui-center { + -webkit-box-ordinal-group: 3; + -webkit-order: 2; + -ms-flex-order: 2; + order: 2; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + height: 44px; + width: 80%; + margin-left: 22%; +} + +.aui-center-title { + text-align: center; + width: 100%; + white-space: nowrap; + overflow: hidden; + display: block; + text-overflow: ellipsis; + font-size: 0.95rem; + color: #fff; + font-weight: 500; +} + +.icon { + width: 20px; + height: 20px; + display: block; + border: none; + float: left; + background-size: 20px; + background-repeat: no-repeat; + position: relative; +} + +.login-background-img { + //background-image: url(../icon/jeecg_bg.png); + //background-size: cover; + //background-position: top center; + //background-repeat: no-repeat; +} diff --git a/src/assets/loginmini/style/home.less b/src/assets/loginmini/style/home.less new file mode 100644 index 0000000..a457efe --- /dev/null +++ b/src/assets/loginmini/style/home.less @@ -0,0 +1,726 @@ +.aui-content { + //padding: 40px 60px; + min-height: 100vh; + .aui-container { + max-width: 1000px; + margin: 0 auto; + box-shadow: 0 4px 8px 1px rgba(0, 0, 0, 0.2); + border-radius: 10px; + position: fixed; + top: 50%; + left: 68%; + width: 26%; + height: auto; + -webkit-transform: translateX(-50%) translateY(-50%); + -moz-transform: translateX(-50%) translateY(-50%); + -ms-transform: translateX(-50%) translateY(-50%); + transform: translateX(-50%) translateY(-50%); + -webkit-transform: translateX(-50%) translateY(-50%); + + } + .aui-top { + width: 100%; + height: 55vh; + background-color: #2a6efe; + .aui-title { + position: fixed; + top: 5%; + left: 12%; + font-size: 30px; + font-weight: 600; + color: #fff; + } + .aui-title-image { + position: fixed; + top: 16%; + left: 18%; + width: 30%; + height: 35%; + background: url('/@/assets/loginmini/icon/logo_title.png') no-repeat; + background-size: 100% 100%; + } + } + .remember { + height: 40px; + margin-top: 16px; + .aui-check { + margin-left: 5px; + color: #999999; + font-size: 16px; + } + } + .form-title { + font-size: 36px; + color: #1a1a1a; + text-align: center; + } + :deep(.ant-input:focus) { + box-shadow: none; + } + + .aui-get-code { + float: right; + position: relative; + z-index: 3; + background: #ffffff; + color: #1573e9; + border-radius: 100px; + padding: 5px 16px; + margin: 7px; + border: 1px solid #1573e9; + top: 12px; + } + + .aui-get-code:hover { + color: #1573e9; + } + + .code-shape { + border-color: #dadada !important; + color: #aaa !important; + } + + :deep(.jeecg-dark-switch) { + position: absolute; + margin-right: 10px; + } + + .aui-link-login { + height: 48px; + font-size: 20px; + background-color: #3a6ffe; + } + + .aui-phone-logo { + position: absolute; + margin-left: 10px; + width: 60px; + top: 2px; + z-index: 4; + } + + .top-3 { + top: 0.45rem; + } +} +.aui-form { + width: 100%; + //background: #eee; + //display: -webkit-box; + //display: -moz-box; + //display: -ms-flexbox; + //display: -webkit-flex; + //display: flex; +} + +.aui-image { + padding: 180px 80px; + flex-basis: 60%; + -webkit-flex-basis: 60%; + background-color: #0198cd; + background-image: url(../icon/jeecg_ad.png); + background-size: cover; +} + +.aui-image-text { + top: 50%; + left: 50%; + width: 100%; +} + +.aui-formBox { + flex-basis: 40%; + -webkit-flex-basis: 40%; + box-sizing: border-box; + padding: 30px 20px; + background: #fff; + border-radius: 10px; + box-shadow: 2px 9px 49px -17px rgba(0, 0, 0, 0.1); +} +.aui-logo { + width: 180px; + height: 80px; + position: absolute; + top: 2%; + left: 8%; + z-index: 4; +} + +.aui-account-line { + padding-top: 20px; + padding-bottom: 40px; +} + +.aui-code-line { + position: absolute; + right: 0; + top: 0; + border-left: 3px solid #fff; + height: 42px; + padding: 0 15px; + line-height: 40px; + font-size: 14px; + cursor: pointer; +} + +.aui-eye { + position: absolute; + right: 20px; + top: 10px; + width: 20px; + cursor: pointer; +} + +.aui-input-line { + background: #f5f5f9; + border-radius: 2px; + position: relative; + margin: 12px 0; +} + +.aui-input-line input { + width: 100%; + padding: 12px 10px; + border: none; + color: #333333; + font-size: 14px; + background: unset; + padding-left: 40px; +} + +.aui-input-line .icon { + position: absolute; + top: 10px; + left: 10px; +} + +.icon-line-user { + background-image: url(../icon/icon-line-user.png); +} + +.icon-line-tel { + background-image: url(../icon/icon-line-tel.png); +} + +.icon-line-msg { + background-image: url(../icon/icon-line-msg.png); +} + +.icon-line-pad { + background-image: url(../icon/icon-line-pad.png); +} + +.aui-forgot .aui-input-line input { + padding-left: 20px; +} + +.aui-forgot .aui-input-line { + background: none; + border: 1px solid #dbdbdb; + border-radius: 2px; +} + +.aui-forgot .aui-input-line:focus { + border-color: #1b90ff; +} + +.aui-forgot .aui-input-line:hover { + border-color: #1b90ff; +} + +.aui-forgot .aui-input-line .aui-code-line { + border-left: 1px solid #dbdbdb; + height: 40px; + color: #1b90ff; +} + +.aui-step-box { + width: 100%; + height: auto; + position: relative; + overflow: hidden; + margin-top: 50px; + margin-bottom: 20px; +} + +.aui-step-box::after { + position: absolute; + top: 20px; + left: 50%; + width: 76%; + margin-left: -38%; + height: 1px; + background: #bcbcbc; + content: ''; +} + +.aui-step-item { + width: 33.333%; + float: left; + text-align: center; + position: relative; + z-index: 2; +} + +.aui-step-tags em { + width: 40px; + height: 40px; + border: 8px solid #fff; + line-height: 1.3; + border-radius: 100px; + background: #bcbcbc; + display: block; + margin: 0 auto; + font-style: normal; + color: #fff; + font-size: 19px; + font-weight: 500; +} + +.aui-step-tags p { + font-size: 14px; + color: #bcbcbc; +} + +.activeStep .aui-step-tags em { + background: #1b90ff; +} + +.activeStep .aui-step-tags p { + color: #1b90ff; +} + +.aui-success { + position: absolute; + top: 50%; + left: 50%; + height: 80px; + width: 100%; + margin-top: -40px; + margin-left: -50%; +} + +.aui-success-icon { + width: 40px; + margin: 0 auto; +} + +.aui-success h3 { + width: 100%; + text-align: center; + color: #515151; + font-size: 18px; + padding-top: 20px; +} + +.aui-form-nav { + text-align: center; + padding-bottom: 20px; +} + +.aui-form-nav .aui-flex-box { + color: #040404; + font-size: 18px; + font-weight: 500; + cursor: pointer; +} + +.aui-clear-left { + text-align: left; +} + +.aui-clear-left .activeNav::after { + left: 18px; +} + +.activeNav { + position: relative; +} + +.activeNav::after { + content: ''; + position: absolute; + z-index: 0; + bottom: -10px; + left: 50%; + margin-left: -15px; + width: 30px; + height: 4px; + background: #1b90ff; + border-radius: 100px; +} + +.phone .aui-inputClear { + padding-left: 0; +} + +.phone .aui-inputClear input { + //padding-left: 1px; +} + +.phone .aui-inputClear .aui-code { + text-align: right; + width: auto; + bottom: 10px; +} + +.phone .aui-inputClear .aui-code a { + color: #1b90ff; + font-size: 14px; +} + +.phoneChina { + position: absolute; + bottom: 10px; + left: 0; + font-size: 14px; + color: #040404; +} + +.phoneChina::after { + position: absolute; + right: -25px; + bottom: 0; + content: ''; + background-image: url(../icon/icon_dow.png); + background-size: 18px; + width: 18px; + height: 18px; +} + +.phoneChina:before { + position: absolute; + right: -42px; + bottom: -15px; + content: ' '; + background: #fff; + width: 18px; + height: 18px; +} + +.aui-ewm { + width: 280px; + margin: 0 auto; +} + +.aui-formEwm { + padding: 50px 40px 55px 40px; +} + +.aui-inputClear { + width: 100%; + border-bottom: 1px solid #cccccc; + position: relative; + padding-left: 20px; + background: #fff; + margin-bottom: 8px; + margin-top: 20px; +} + +.aui-inputClear .icon { + position: absolute; + top: 10px; + left: 0; +} + +.aui-inputClear input { + width: 100%; + padding: 10px; + border: none; + color: #333333; + font-size: 14px; + background: none; +} + +.aui-code { + position: absolute; + right: 8px; + bottom: 0; + width: 115px; + cursor: pointer; +} + +.icon-code { + background-image: url(../icon/icon-user.png); +} + +.icon-password { + background-image: url(../icon/icon-password.png); +} + +.icon-code { + background-image: url(../icon/icon-code.png); +} + +.aui-inputClear:focus { + border-bottom: 1px solid #1b90ff; +} + +.aui-inputClear:hover { + border-bottom: 1px solid #1b90ff; +} + +.aui-choice { + position: relative; + font-size: 12px; + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + align-items: center; + position: relative; + color: #040404; +} + +.aui-choice input { + width: 14px; + height: 14px; + cursor: pointer; +} + +.aui-forget a { + color: #999999; +} + +.aui-forget a:hover { + text-decoration: underline; +} + +.aui-formButton { + margin-top: 20%; + margin-bottom: 2%; +} + +.aui-formButton a { + height: 42px; + padding: 10px 15px; + font-size: 14px; + border-radius: 8px; + border-color: #67b5ff; + background: #1b90ff; + width: 100%; + cursor: pointer; + border: none; + color: #fff; + margin: 8px 0; + display: block; + text-align: center; +} + +.aui-formButton a:focus { + opacity: 0.9; +} + +.aui-formButton a:hover { + opacity: 0.9; +} + +.aui-formButton .aui-linek-code { + background: #fff; + color: #3c3c3c; + border: 1px solid #dbdbdb; +} + +.aui-formButton .aui-linek-code:hover { + color: #1b90ff; + border: 1px solid #1b90ff; +} + +.aui-third-text { + font-size: 12px; + color: #3c3c3c; + margin-top: 25px; + margin-bottom: 25px; +} + +.aui-third-text span { + color: #afafaf; + display: block; + width: 38%; + margin: 0 auto; + text-align: center; + position: relative; + background: #fff; + z-index: 100; + font-size: 12px; +} + +.aui-third-border { + position: relative; +} + +.aui-third-border::after { + content: ''; + position: absolute; + z-index: 0; + top: 8px; + left: 0; + width: 100%; + height: 1px; + border-top: 1px solid #d9d9d9; + -webkit-transform: scaleY(0.5); + transform: scaleY(0.5); + -webkit-transform-origin: 0 100%; + transform-origin: 0 100%; +} + +.aui-third-login { + width: 30px; + height: 30px; + margin: 0 auto; + border-radius: 100px; +} + +.aui-third-login a { + font-size: 22px; + margin: 0 auto; + border-radius: 100px; + display: inline-block; + color: #888; +} + +.aui-third-login a:hover { + color: #1b90ff; + cursor: pointer; +} + +.aui-third-login:hover { + cursor: pointer; +} +@media screen and (max-width : 1024px) { + .aui-content{ + .aui-top{ + height: 58vh; + .aui-title{ + left: 6%; + font-size: 28px; + } + .aui-title-image{ + left: 9%; + top:22%; + width: 40%; + height: 28%; + } + } + .aui-container{ + width: 34%; + left:75%; + .form-title{ + font-size: 22px; + } + .aui-link-login{ + margin: 4px 0; + height: 40px; + font-size: 16px; + } + } + } +} +@media (max-width: 320px) { + .aui-form { + flex-direction: column; + } + + .aui-image { + order: 2; + display: none; + } + + .aui-container { + width: 100%; + max-width: 550px; + margin-top: 10px; + } + + .aui-content { + justify-content: initial; + width: 100%; + } +} + +@media (min-width: 321px) and (max-width: 375px) { + .aui-form { + flex-direction: column; + } + + .aui-image { + order: 2; + display: none; + } + + .aui-container { + width: 100%; + left: 50%; + max-width: 550px; + } + + .aui-content { + justify-content: initial; + width: 100%; + //padding: 20px; + } +} + +@media (min-width: 375px) and (max-width: 425px) { + .aui-form { + flex-direction: column; + } + + .aui-image { + order: 2; + display: none; + } + + .aui-container { + width: 90%; + max-width: 550px; + } + + .aui-content { + justify-content: initial; + width: 100%; + //padding: 40px; + } +} + +@media (min-width: 425px) and (max-width: 768px) { + .aui-form { + flex-direction: column; + } + + .aui-image { + order: 2; + display: none; + } + + .aui-container { + width: 90%; + max-width: 550px; + } + .aui-title{ + font-size: 16px; + } + .aui-content { + justify-content: initial; + width: 100%; + padding: 40px; + } + + .aui-step-box::after { + width: 70%; + margin-left: -35%; + } +} + +@media only screen and (max-width: 767px) { + .aui-logo { + top: 3%; + } +} + +@media screen and (max-width: 300px) { + .aui-logo { + top: 3%; + } +} diff --git a/src/components/body-d-right/oneR.vue b/src/components/body-d-right/oneR.vue index 0190e69..f371e73 100644 --- a/src/components/body-d-right/oneR.vue +++ b/src/components/body-d-right/oneR.vue @@ -6,7 +6,8 @@
- +
{{ item?.realName }} {{ item?.eventType_dictText }} @@ -58,221 +59,225 @@
\ No newline at end of file diff --git a/src/components/secondaryScreen/screen-right/oneR.vue b/src/components/secondaryScreen/screen-right/oneR.vue index 8fd803b..977b4f6 100644 --- a/src/components/secondaryScreen/screen-right/oneR.vue +++ b/src/components/secondaryScreen/screen-right/oneR.vue @@ -21,12 +21,10 @@ type: String, }); const sleepChart = ref(); - // onMounted(() => { - // init(); - // }); watch( props, () => { + console.log(111111111111); init(); }, { immediate: true } diff --git a/src/components/secondaryScreen/screen-right/threeR.vue b/src/components/secondaryScreen/screen-right/threeR.vue index ee1ba02..768a13e 100644 --- a/src/components/secondaryScreen/screen-right/threeR.vue +++ b/src/components/secondaryScreen/screen-right/threeR.vue @@ -23,18 +23,23 @@
+ + + + \ No newline at end of file