| public/securityPrint.html | ●●●●● patch | view | raw | blame | history | |
| src/api/logs.js | ●●●●● patch | view | raw | blame | history | |
| src/page/login/index.vue | ●●●●● patch | view | raw | blame | history | |
| src/styles/login.scss | ●●●●● patch | view | raw | blame | history | |
| src/views/securityGuard/securityCertificate.vue | ●●●●● patch | view | raw | blame | history | |
| src/views/securityGuard/securityGuard.vue | ●●●●● patch | view | raw | blame | history | |
| src/views/securityGuard/securityGuardDetail.vue | ●●●●● patch | view | raw | blame | history | |
| src/views/securityMan/index.vue | ●●●●● patch | view | raw | blame | history |
public/securityPrint.html
@@ -13,7 +13,7 @@ align-items: center; justify-content: center; } .print { position: relative; left: 45%; @@ -26,7 +26,7 @@ color: #fff; letter-spacing: 4px; } #table { margin-left: 26%; color: #000; @@ -41,7 +41,7 @@ background: url(./img/bazbj.png) no-repeat; background-size: 100% 100%; } #table1 { margin-left: 26%; color: #000; @@ -51,7 +51,7 @@ border-radius: 7px; margin-top: 100px; } .user-info-table { margin-top: 30px; width: 90%; @@ -59,7 +59,7 @@ border: 1px solid #000; background-color: #fff; } .table-top { width: 100%; height: 16%; @@ -68,19 +68,19 @@ font-size: 4rem; letter-spacing: 15px; } .table-center { font-size: 2rem; width: 100%; height: 60%; font-weight: 200; } .img-title { width: 100%; font-size: 14px; } .table-center-right { width: 152px; height: 205px; @@ -91,7 +91,7 @@ /* border: 1px solid; */ text-align: center; } .table-center-right img { width: 100%; height: 100%; @@ -99,57 +99,57 @@ vertical-align: middle; border-radius: 10px; } .security-info { margin-left: 5rem; margin-top: 1.8rem; } .table-down { font-size: 14px; width: 100%; margin-top: -40px; } .paper-unit { margin-left: 20px; float: left; } .paper-date { margin-left: 215px; } .user-info-tr { height: 50px; font-size: 14px; } .avatar { width: 140px; height: 190px; } .title { margin-top: 20px; font-size: 28px; font-weight: 500; } .avatar { width: 140px; height: 190px; } .my-picture { width: 150px; /* height: 200px; */ } .avatar { width: 100%; } .qrCode { margin-top: 0px; margin-left: 25px; @@ -210,7 +210,7 @@ </div> </div> <script> var getData = function(name) { var getData = function (name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); @@ -222,11 +222,11 @@ var securityName = JSON.parse(getData("data")).securityName; // console.log(JSON.parse(getData("data")), 111); axios.get('http://223.82.109.183:2080/api/apply/userDetail?id=' + id).then(function(res) { axios.get('http://223.82.109.183:2080/api/apply/userDetail?id=' + id).then(function (res) { var data = res.data.data; var img = data.avatar ? `<div class="avatar"><img src="${data.avatar}"></div>` : `<div class="img-title">暂无照片</div>` axios.get('http://223.82.109.183:2080/api/qrCode/getQrCodeBase64?securityNumber=' + data.securitynumber).then(function(res1) { axios.get('http://223.82.109.183:2080/api/qrCode/getQrCodeBase64?securityNumber=' + data.securitynumber).then(function (res1) { console.log(res1.data, 333); var qrCode = res1.data ? `<div class="qrCode"><img src="${res1.data}"></div>` : `<div"></div>` var str = `<div id="table1"></div> @@ -242,7 +242,7 @@ </div> <div class="security-info"> <span>性别:</span> <span> ${data.sex==1?"男":(data.sex==2?"女":"")}</span> <span> ${data.sex == 1 ? "男" : (data.sex == 2 ? "女" : "")}</span> </div> <div class="security-info"> <span>编号:</span> @@ -264,7 +264,7 @@ </div> </div> </div>` // <img src="${data.avatar}"> // <img src="${data.avatar}"> var dom = $('#print'); dom.empty(); dom.append(str); src/api/logs.js
@@ -62,3 +62,13 @@ }) } export const geterweima = (type) => { return request({ url: '/api/blade-resource/attach/detail', method: 'get', params: { type, } }) } src/page/login/index.vue
@@ -1,20 +1,21 @@ <template> <div class="login-container" ref="login" @keyup.enter.native="handleLogin"> <div class="login-container" ref="login" @keyup.enter.native="handleLogin"> <top-color v-show="false"></top-color> <div class="login-weaper animated bounceInDown"> <div class="login-left"> <div class="login-time"> {{time}} {{ time }} </div> <img class="img" src="/img/logo.png" alt=""> <p class="title">{{ $t('login.info') }}</p> <img class="img" src="/img/logo.png" alt="" /> <p class="title">{{ $t("login.info") }}</p> </div> <div class="login-border"> <div class="login-erweima"> <img :src="link" alt="" /> </div> <div class="login-main"> <h4 class="login-title"> {{ $t('login.title') }} {{ $t("login.title") }} <!-- <top-lang></top-lang>--> </h4> <h4 class="login-title-child">IoT security cloud service platform</h4> @@ -23,11 +24,10 @@ <!-- <thirdLogin v-else-if="activeName==='third'"></thirdLogin>--> <div class="login-menu"> <!-- <a href="#" @click.stop="activeName='user'">{{ $t('login.userLogin') }}</a>--> <a href="#" @click.stop="zShow">{{ $t('login.phoneLogin') }}</a> <a href="#" @click.stop="zShow">{{ $t("login.phoneLogin") }}</a> <!-- <a href="#" @click.stop="activeName='third'">{{ $t('login.thirdLogin') }}</a>--> </div> </div> </div> </div> <div class="z" v-show="activeName == 'code'"> @@ -36,89 +36,103 @@ </div> </template> <script> import userLogin from "./userlogin"; import codeLogin from "./codelogin"; import thirdLogin from "./thirdlogin"; import {mapGetters} from "vuex"; import {dateFormat} from "@/util/date"; import {validatenull} from "@/util/validate"; import topLang from "@/page/index/top/top-lang"; import topColor from "@/page/index/top/top-color"; import {getQueryString, getTopUrl} from "@/util/util"; import userLogin from "./userlogin"; import codeLogin from "./codelogin"; import thirdLogin from "./thirdlogin"; import { mapGetters } from "vuex"; import { dateFormat } from "@/util/date"; import { validatenull } from "@/util/validate"; import topLang from "@/page/index/top/top-lang"; import topColor from "@/page/index/top/top-color"; import { getQueryString, getTopUrl } from "@/util/util"; import { geterweima } from "@/api/logs"; export default { name: "login", components: { userLogin, codeLogin, thirdLogin, topLang, topColor }, data() { return { time: "", activeName: "user", socialForm: { tenantId: "000000", source: "", code: "", state: "", } }; }, watch: { $route() { this.handleLogin(); } }, created() { export default { name: "login", components: { userLogin, codeLogin, thirdLogin, topLang, topColor, }, data() { return { time: "", activeName: "user", socialForm: { tenantId: "000000", source: "", code: "", state: "", link: "", }, }; }, watch: { $route() { this.handleLogin(); this.getTime(); }, mounted() { }, created() { this.handleLogin(); this.getTime(); geterweima(9).then((res) => { this.link = res.data.data.link; }); }, mounted() {}, computed: { ...mapGetters(["website", "tagWel"]), }, props: [], methods: { getTime() { setInterval(() => { this.time = dateFormat(new Date()); }, 1000); }, computed: { ...mapGetters(["website", "tagWel"]) }, props: [], methods: { getTime() { setInterval(() => { this.time = dateFormat(new Date()); }, 1000); }, handleLogin() { const topUrl = getTopUrl(); const redirectUrl = "/oauth/redirect/"; this.socialForm.source = getQueryString("source"); this.socialForm.code = getQueryString("code"); this.socialForm.state = getQueryString("state"); if (validatenull(this.socialForm.source) && topUrl.includes(redirectUrl)) { let source = topUrl.split("?")[0]; source = source.split(redirectUrl)[1]; this.socialForm.source = source; } if (!validatenull(this.socialForm.source) && !validatenull(this.socialForm.code) && !validatenull(this.socialForm.state)) { const loading = this.$loading({ lock: true, text: '第三方系统登录中,请稍后。。。', spinner: "el-icon-loading" }); this.$store.dispatch("LoginBySocial", this.socialForm).then(() => { window.location.href = topUrl.split(redirectUrl)[0]; this.$router.push({path: this.tagWel.value}); loading.close(); }).catch(() => { loading.close(); }); } }, zShow() { document.querySelector('.z').style.display = 'block'; handleLogin() { const topUrl = getTopUrl(); const redirectUrl = "/oauth/redirect/"; this.socialForm.source = getQueryString("source"); this.socialForm.code = getQueryString("code"); this.socialForm.state = getQueryString("state"); if ( validatenull(this.socialForm.source) && topUrl.includes(redirectUrl) ) { let source = topUrl.split("?")[0]; source = source.split(redirectUrl)[1]; this.socialForm.source = source; } } }; if ( !validatenull(this.socialForm.source) && !validatenull(this.socialForm.code) && !validatenull(this.socialForm.state) ) { const loading = this.$loading({ lock: true, text: "第三方系统登录中,请稍后。。。", spinner: "el-icon-loading", }); this.$store .dispatch("LoginBySocial", this.socialForm) .then(() => { window.location.href = topUrl.split(redirectUrl)[0]; this.$router.push({ path: this.tagWel.value }); loading.close(); }) .catch(() => { loading.close(); }); } }, zShow() { document.querySelector(".z").style.display = "block"; }, }, }; </script> <style lang="scss"> @@ -148,5 +162,5 @@ color: #fff; font-size: 15px; } @import "@/styles/login.scss"; @import "@/styles/login.scss"; </style> src/styles/login.scss
@@ -32,7 +32,7 @@ border-bottom-left-radius: 5px; justify-content: center; flex-direction: column; background-color: #409EFF; background-color: #409eff; color: #fff; float: left; width: 50%; @@ -73,8 +73,19 @@ width: 50%; float: left; box-sizing: border-box; position: relative; } .login-erweima { position: absolute; right: 0; color: #333; top: 0; width: 130px; img { width: 100%; height: 100%; } } .login-main { margin: 0 auto; width: 65%; @@ -113,12 +124,12 @@ .login-submit { width: 100%; height: 45px; border: 1px solid #409EFF; border: 1px solid #409eff; background: none; font-size: 18px; letter-spacing: 2px; font-weight: 300; color: #409EFF; color: #409eff; cursor: pointer; margin-top: 30px; font-family: "neo"; @@ -180,5 +191,5 @@ line-height: 38px; text-indent: 5px; text-align: center; cursor:pointer!important; cursor: pointer !important; } src/views/securityGuard/securityCertificate.vue
@@ -115,8 +115,8 @@ justify-content: center; } .security_m_r_img img { width: 125px; height: 160px; width: calc(358px / 2.2); height: calc(441px / 2.2); } .security_m_r_once { position: relative; src/views/securityGuard/securityGuard.vue
@@ -589,7 +589,7 @@ ratio: 0.1, }, action: "/api/blade-resource/oss/endpoint/put-files", tip: "只能上传jpg/png个人头像,且不超过500kb", tip: "上传二代身份证一寸近期彩色正面免冠图象, (358像素(宽) × 441像素(高)、分辨率350dpi)且不超过500kb", span: 12, // row: true, prop: "avatar", src/views/securityGuard/securityGuardDetail.vue
@@ -538,8 +538,8 @@ top: 20px; } .img { width: 152px; height: 205px; width: 358px; height: 441px; border-radius: 10px; position: absolute; // border: 1px solid rgba($color: #888888, $alpha: 0.5); src/views/securityMan/index.vue
@@ -508,8 +508,8 @@ top: 20px; } .img { width: 152px; height: 205px; width: calc(358px / 2.3); height: calc(441px / 2.3); border-radius: 10px; position: absolute; // border: 1px solid rgba($color: #888888, $alpha: 0.5);