Commit 4eddd7b7 by 张超军

Merge branch 'dev_zwpt' of http://47.92.108.28/changchao/founder_vue into dev_zwpt

parents c7d74e6d c97040bf
......@@ -41,12 +41,22 @@ export default {
@font-face {
font-family: "HarmonyOS_Sans_SC-Bold";
src: url("../src/assets/font/MSYHBD.ttf") format("truetype");
src: url("../src/assets/font/HarmonyOS_Sans_SC_Bold.ttf") format("truetype");
}
@font-face {
font-family: "HarmonyOS_Sans_SC";
src: url("../src/assets/font/MSYH.ttf") format("truetype");
src: url("../src/assets/font/HarmonyOS_Sans_SC_Regular.ttf") format("truetype");
}
@font-face {
font-family: "HarmonyOS_Sans_SC_Light";
src: url("../src/assets/font/HarmonyOS_Sans_SC_Light.ttf") format("truetype");
}
@font-face {
font-family: "HarmonyOS_Sans_SC_Medium";
src: url("../src/assets/font/HarmonyOS_Sans_SC_Medium.ttf") format("truetype");
}
.boxShadow {
......
<template>
<div id="home-div">
<div id="home" :class="{ zhanshi: isCropper || loading_sd }">
<div
id="home"
:class="{ zhanshi: isCropper || loading_sd }"
>
<el-container class="layout-container">
<transition name="slide">
<el-aside :width="isCollapse ? '4rem' : '17.5rem'" class="aside">
<div class="logo" :class="{ minLogo: isCollapse }" @click="$router.push('/index')">
<img class="jh" src="../assets/img/Home/jh.png" alt="" />
<img v-show="!isCollapse" class="title" src="../assets/img/Home/title.png" alt="" />
<el-aside
:width="isCollapse ? '4rem' : '17.5rem'"
class="aside"
>
<div
class="logo"
:class="{ minLogo: isCollapse }"
@click="$router.push('/index')"
v-if="this.$store.state.tm.tmType==false"
>
<img
class="jh"
src="../assets/img/Home/jh.png"
alt=""
/>
<img
v-show="!isCollapse"
class="title"
src="../assets/img/Home/title.png"
alt=""
/>
</div>
<div
class="logo"
:class="{ minLogo: isCollapse }"
@click="$router.push('/index')"
v-if="this.$store.state.tm.tmType==true"
>
<img
v-show="isCollapse"
class="jh"
src="../assets/img/Home/tmLogoMini.svg"
alt=""
/>
<img
v-show="!isCollapse"
class="title"
src="../assets/img/Home/tmLogo.svg"
alt=""
/>
</div>
<!-- <div class="search">
<el-input v-if="!isCollapse" @keyup.enter.native="goSearch()" class="searchTxt" prefix-icon="el-icon-search" v-model="searchTxt" placeholder="搜索"></el-input>
<i class="search-icon el-icon-search" v-else></i>
</div> -->
<el-menu :collapse-transition="false" ref="menu" :default-active="menuActive" text-color="#CCCCCC"
active-text-color="#ffffff" background-color="#1F2D45" class="el-menu-vertical-demo" @open="handleOpen"
@close="handleClose" :collapse="isCollapse" @select="selectPath" :unique-opened="true">
<div v-for="(menu, i) in routes" :key="i">
<el-submenu :index="menu.name" v-if="menu.children && !menu.hidden">
<el-menu
:collapse-transition="false"
ref="menu"
:default-active="menuActive"
text-color="#CCCCCC"
active-text-color="#ffffff"
background-color="#1F2D45"
class="el-menu-vertical-demo"
@open="handleOpen"
@close="handleClose"
:collapse="isCollapse"
@select="selectPath"
:unique-opened="true"
>
<div
v-for="(menu, i) in routes"
:key="i"
>
<el-submenu
:index="menu.name"
v-if="menu.children && !menu.hidden"
>
<template slot="title">
<img v-if="$route.path != menu.path" :src="menu.icon_d" alt="" />
<img v-else :src="menu.icon_a" alt="" />
<img
v-if="$route.path != menu.path"
:src="menu.icon_d"
alt=""
/>
<img
v-else
:src="menu.icon_a"
alt=""
/>
<span v-show="!isCollapse">{{ menu.meta.title }}</span>
</template>
<div v-for="(item, index) in menu.children" :key="index">
<el-menu-item v-if="!item.hidden" :index="item.name">{{
<div
v-for="(item, index) in menu.children"
:key="index"
>
<el-menu-item
v-if="!item.hidden"
:index="item.name"
>{{
item.meta.title
}}
</el-menu-item>
</div>
</el-submenu>
<el-menu-item :index="menu.name" v-else-if="!menu.children && !menu.hidden">
<img v-if="$route.path != menu.path" :src="menu.icon_d" alt="" />
<img v-else :src="menu.icon_a" alt="" />
<el-menu-item
:index="menu.name"
v-else-if="!menu.children && !menu.hidden"
>
<img
v-if="$route.path != menu.path"
:src="menu.icon_d"
alt=""
/>
<img
v-else
:src="menu.icon_a"
alt=""
/>
<span slot="title">{{ menu.meta.title }}</span>
</el-menu-item>
</div>
</el-menu>
<div class="fz">
<img v-if="!isCollapse" src="../assets/img/Home/logo.png" alt="" />
<img v-else src="../assets/img/Home/fang.png" alt="" />
<img
v-if="!isCollapse"
src="../assets/img/Home/logo.png"
alt=""
/>
<img
v-else
src="../assets/img/Home/fang.png"
alt=""
/>
</div>
</el-aside>
</transition>
<el-container class="container-dom">
<el-header class="header">
<div class="collapse" @click="switchCollapse">
<img v-if="isCollapse" :src="rightImg" alt="" />
<img v-else :src="leftImg" alt="" />
<div
class="collapse"
@click="switchCollapse"
>
<img
v-if="isCollapse"
:src="rightImg"
alt=""
/>
<img
v-else
:src="leftImg"
alt=""
/>
</div>
<div class="options">
<!-- <div class="sendFind">发查询</div> -->
......@@ -55,19 +155,43 @@
<div class="message">
<div class="circle"></div>
</div>
<div class="quit" @click="$router.push('/index')"></div>
<div class="logout" @click="logout">
<svg-icon v-show="!isHoverLogout" icon-class="logout_d" class="icon" @mouseover="isHoverLogout = true"
@mouseleave="isHoverLogout = false" />
<svg-icon v-show="isHoverLogout" icon-class="logout_a" class="icon" />
<div
class="quit"
@click="$router.push('/index')"
></div>
<div
class="logout"
@click="logout"
>
<svg-icon
v-show="!isHoverLogout"
icon-class="logout_d"
class="icon"
@mouseover="isHoverLogout = true"
@mouseleave="isHoverLogout = false"
/>
<svg-icon
v-show="isHoverLogout"
icon-class="logout_a"
class="icon"
/>
</div>
</div>
</el-header>
<el-main class="main">
<div class="contain">
<el-tabs :closable="paths.length > 1" v-model="routePath" @tab-click="handleClick"
@tab-remove="tabRemove">
<el-tab-pane :label="item.name" :name="item.routeName" v-for="item in paths" :key="item.routeName">
<el-tabs
:closable="paths.length > 1"
v-model="routePath"
@tab-click="handleClick"
@tab-remove="tabRemove"
>
<el-tab-pane
:label="item.name"
:name="item.routeName"
v-for="item in paths"
:key="item.routeName"
>
</el-tab-pane>
</el-tabs>
<div class="breadcrumb"></div>
......@@ -87,55 +211,96 @@
<button @click="toAllPersonnelBase">全部人员库</button> -->
</div>
<el-dialog class="jump-route" append-to-body :modal="false" @close="cancelJumpRoute"
:visible.sync="jumpRouteDialogVisible" width="27.625rem" :before-close="handleClose">
<el-dialog
class="jump-route"
append-to-body
:modal="false"
@close="cancelJumpRoute"
:visible.sync="jumpRouteDialogVisible"
width="27.625rem"
:before-close="handleClose"
>
<span>当前页面有未保存的指位特征,是否退出?</span>
<div class="dialog-footer">
<button class="confirm-btn" @click="confirmJumpRoute"></button>
<button class="cancel-btn" @click="cancelJumpRoute"></button>
<button
class="confirm-btn"
@click="confirmJumpRoute"
></button>
<button
class="cancel-btn"
@click="cancelJumpRoute"
></button>
</div>
</el-dialog>
<div class="shadow" v-show="isCropper"></div>
<div class="loading" v-show="loading_sd">
<div
class="shadow"
v-show="isCropper"
></div>
<div
class="loading"
v-show="loading_sd"
>
<div class="loading-finger">
<img src="../assets/img/loadingfinger.gif" alt="" />
<img
src="../assets/img/loadingfinger.gif"
alt=""
/>
</div>
<div class="loading-name">
<img src="../assets/img/loadingtxt.gif" alt="" />
<img
src="../assets/img/loadingtxt.gif"
alt=""
/>
</div>
</div>
<div class="smallLoading" v-show="smallLoading">
<div
class="smallLoading"
v-show="smallLoading"
>
<div class="loading-finger">
<img src="../assets/img/loadingfinger.gif" alt="" />
<img
src="../assets/img/loadingfinger.gif"
alt=""
/>
</div>
<div class="loading-name">
<img src="../assets/img/loadingtxt.gif" alt="" />
<img
src="../assets/img/loadingtxt.gif"
alt=""
/>
</div>
</div>
<!-- 人像 -->
<transition name="el-fade-in-linear">
<div class="face-big" v-show="enLargeFace">
<div
class="face-big"
v-show="enLargeFace"
>
<div class="face-name">{{ rxInfoEnlarge.name }}</div>
<img class="face-img" :src="'data:image/jpeg;base64,' + rxInfoEnlarge.image" alt="" />
<img
class="face-img"
:src="'data:image/jpeg;base64,' + rxInfoEnlarge.image"
alt=""
/>
</div>
</transition>
</div>
</template>
<script>
import html2canvas from 'html2canvas'
import '@/icons/logout_d.svg'
import '@/icons/logout_a.svg'
import indexRoutes from '@/router/modules/index'
import { mapGetters, mapState } from 'vuex'
import utils from '@/utils/util.js'
export default {
import html2canvas from 'html2canvas'
import '@/icons/logout_d.svg'
import '@/icons/logout_a.svg'
import indexRoutes from '@/router/modules/index'
import { mapGetters, mapState } from 'vuex'
import utils from '@/utils/util.js'
export default {
name: 'Home',
data() {
data () {
return {
searchTxt: '',
routes: this.$store.getters['layout/leftMenuData'],
......@@ -159,7 +324,7 @@
// isStRole: false,
}
},
mounted() {
mounted () {
console.log(this.loading_sd)
this.$store.commit('loading/setLoadingSd', false)
let self = this
......@@ -193,7 +358,7 @@
// this.isStRole = user.isStRole()
},
updated() {
updated () {
this.menuActive = this.$route.name
},
computed: {
......@@ -207,7 +372,7 @@
enLargeFace: (state) => state.ryzwbj.enLargeFace,
loading_sd: (state) => state.loading.loading_sd,
}),
cachePageName() {
cachePageName () {
return this.$store.state.layout.cachePageName
},
},
......@@ -226,7 +391,7 @@
* @return {*}
*/
logout() {
logout () {
this.$axios
.get('/security/logout')
.then((res) => {
......@@ -246,11 +411,11 @@
* @return {*}
*/
goSearch() {
goSearch () {
this.searchTxt = ''
//console.log(this.searchTxt);
},
handleClick({ name }) {
handleClick ({ name }) {
/*
if (
(this.$route.name === 'ryzwbj' || this.$route.name === 'ajzwbj') && !this.jumproute
......@@ -283,7 +448,7 @@
/**
* 确认需要跳转路由
*/
confirmJumpRoute() {
confirmJumpRoute () {
// 清除sessionStorage值
sessionStorage.clear()
this.isCropper = false
......@@ -333,13 +498,13 @@
/**
* 取消跳转路由
*/
cancelJumpRoute() {
cancelJumpRoute () {
this.jumpRouteDialogVisible = false
this.isCropper = false
this.routePath = this.$route.name
this.menuActive = ''
},
tabRemove(name) {
tabRemove (name) {
if (name != 'ryzwbj' && name != 'ajzwbj') {
let routerObj = this.paths.find((i) => i.routeName == name)
if (routerObj) {
......@@ -412,7 +577,7 @@
}
}
},
setKeepAlive() {
setKeepAlive () {
let cachePageName
if (
JSON.parse(utils.Decrypt(sessionStorage.getItem('crumbs'))).length > 0
......@@ -436,7 +601,7 @@
* @param {*}
* @return {*}
*/
goManager() {
goManager () {
this.$router.push('/Home/htzwcj')
this.menuActive = ''
},
......@@ -446,7 +611,7 @@
* @param {*} path
* @return {*}
*/
selectPath(index, path) {
selectPath (index, path) {
console.log(index)
console.log(path)
if (path == 'zzwcj') {
......@@ -477,7 +642,7 @@
* @param {*}
* @return {*}
*/
closePaths(pathName) {
closePaths (pathName) {
let res = this.paths.filter((item) => {
return item.name != pathName
})
......@@ -493,7 +658,7 @@
* @param {*}
* @return {*}
*/
changeRouter(route) {
changeRouter (route) {
this.$router.push(route.path)
this.menuActive = route.routeName
},
......@@ -502,28 +667,28 @@
* @param {*}
* @return {*}
*/
switchCollapse() {
switchCollapse () {
this.isCollapse = !this.isCollapse
},
handleOpen(key, keyPath) {
handleOpen (key, keyPath) {
//console.log(key, keyPath);
},
handleClose(key, keyPath) {
handleClose (key, keyPath) {
//console.log(key, keyPath);
},
},
beforeDestroy() {
beforeDestroy () {
//组件销毁前需要解绑事件。否则会出现重复触发事件的问题
},
watch: {
enLargeFace(newValue, oldValue) {
enLargeFace (newValue, oldValue) {
},
menuActive(newValue, oldValue) {
menuActive (newValue, oldValue) {
},
loading(newValue, oldValue) {
loading (newValue, oldValue) {
},
$route: {
handler(newValue, oldValue) {
handler (newValue, oldValue) {
// console.log(oldValue);
// 如果是人员指纹编辑界面或者是案件指纹编辑界面,进行判断是否跳转
// if(oldValue.name === 'ryzwbj' || oldValue.name === 'ajzwbj') {
......@@ -564,16 +729,16 @@
immediate: true,
},
},
created() {
created () {
this.paths = sessionStorage.getItem('crumbs')
? JSON.parse(utils.Decrypt(sessionStorage.getItem('crumbs')))
: []
},
}
}
</script>
<style scoped lang="scss">
// 人像
.face-big {
// 人像
.face-big {
z-index: 999;
position: fixed;
top: calc(50% - 361px);
......@@ -585,7 +750,7 @@
.face-name {
font-size: 16px;
font-family:HarmonyOS_Sans_SC-Bold,HarmonyOS_Sans_SC;
font-family: HarmonyOS_Sans_SC-Bold, HarmonyOS_Sans_SC;
font-weight: bold;
color: #333333;
margin-bottom: 6px;
......@@ -599,9 +764,9 @@
border: 1px solid #cccccc;
background: #ffffff;
}
}
}
/deep/ .dialog-footer {
/deep/ .dialog-footer {
margin-top: 26px;
width: 100%;
display: flex;
......@@ -611,9 +776,9 @@
button {
margin-right: 24px;
}
}
}
/deep/ .el-dialog__body {
/deep/ .el-dialog__body {
display: flex;
justify-content: center;
flex-direction: column;
......@@ -628,9 +793,9 @@
color: #333333;
line-height: 24px;
}
}
}
.el-dialog {
.el-dialog {
height: 169px;
background: #ffffff;
box-shadow: 0px 18px 28px 10px rgba(0, 21, 51, 0.08) !important;
......@@ -645,7 +810,7 @@
border-radius: 4px;
border: 1px solid #aeb5c2;
font-size: 14px;
font-family:HarmonyOS_Sans_SC;
font-family: HarmonyOS_Sans_SC;
color: #2e3846;
&:hover {
......@@ -668,7 +833,7 @@
border: 1px solid #055fe7;
border-radius: 4px;
font-size: 14px;
font-family:HarmonyOS_Sans_SC;
font-family: HarmonyOS_Sans_SC;
color: #ffffff;
&:hover {
......@@ -681,14 +846,14 @@
border: 1px solid #044cb9;
}
}
}
}
.v-modal {
.v-modal {
background: none;
}
}
// 模糊的背景
.cropper {
// 模糊的背景
.cropper {
position: fixed;
left: 0;
top: 0;
......@@ -700,9 +865,9 @@
height: 100%;
filter: blur(1.5px);
}
}
}
.shadow {
.shadow {
z-index: 999;
position: fixed;
left: 0;
......@@ -710,44 +875,43 @@
width: 100%;
height: 100%;
background: rgba($color: #fff, $alpha: 0.65);
}
}
#home {
#home {
height: 100vh;
//height: 100%;
// filter: blur(5px);
}
}
.zhanshi {
.zhanshi {
filter: blur(2px);
//display: none;
}
}
.layout-container {
.layout-container {
width: 100%;
height: 100%;
overflow: hidden;
display: flex;
}
}
.container-dom {
.container-dom {
background: #f5f5f5;
height: 100%;
}
}
/deep/ .el-menu.el-menu--inline {
/deep/ .el-menu.el-menu--inline {
.el-menu-item {
padding-left: 50px !important;
font-family:HarmonyOS_Sans_SC;
font-family: HarmonyOS_Sans_SC;
}
.el-menu-item.is-active {
padding-left: 46px !important;
}
}
.el-menu-vertical-demo:not(.el-menu--collapse) {
}
.el-menu-vertical-demo:not(.el-menu--collapse) {
.el-submenu,
.el-menu-item {
img {
......@@ -757,17 +921,16 @@
span {
margin-left: 16px;
font-family:HarmonyOS_Sans_SC;
}
font-family: HarmonyOS_Sans_SC;
}
}
}
.el-menu-item:hover {
.el-menu-item:hover {
background-color: #15243c !important;
}
.el-menu--collapse {
}
.el-menu--collapse {
.el-submenu,
.el-menu-item {
img {
......@@ -791,31 +954,31 @@
display: none;
}
}
}
}
.aside {
.aside {
background-color: #1f2d45;
}
}
.aside .el-menu {
.aside .el-menu {
border-right: none;
}
}
.aside .logo {
.aside .logo {
background: #001e33;
width: 100%;
height: 64px;
display: flex;
align-items: center;
justify-content: center;
}
}
.aside .logo .jh {
.aside .logo .jh {
width: 30px;
height: 31px;
}
}
.aside {
.aside {
/deep/ .el-menu-item.is-active {
box-sizing: border-box;
background-color: #15243c !important;
......@@ -852,32 +1015,33 @@
cursor: pointer;
}
}
}
}
.aside .logo .title {
.aside .logo .title {
width: 191px;
height: 24px;
margin-left: 11px;
}
}
.fz {
.fz {
position: fixed;
bottom: 32px;
left: 26px;
width: 137px;
height: 17px;
display: flex;
}
}
.fz img {
.fz img {
object-fit: contain;
}
}
.aside .minLogo {
.aside .minLogo {
background-size: 36px auto;
}
}
.el-tabs /deep/ {
.el-tabs /deep/ {
font-family: HarmonyOS_Sans_SC;
.el-tabs__header {
margin: 0;
margin-top: 8px;
......@@ -941,9 +1105,9 @@
color: #0077ff;
}
}
}
}
.header {
.header {
height: 64px;
background: #ffffff;
display: flex;
......@@ -974,7 +1138,7 @@
background: #ddebff;
border-radius: 4px;
font-size: 14px;
font-family:HarmonyOS_Sans_SC;
font-family: HarmonyOS_Sans_SC;
color: #055fe7;
line-height: 32px;
text-align: center;
......@@ -983,7 +1147,7 @@
.set,
.role {
font-size: 14px;
font-family:HarmonyOS_Sans_SC;
font-family: HarmonyOS_Sans_SC;
color: #333333;
}
......@@ -1073,9 +1237,9 @@
}
}
}
}
}
.main {
.main {
padding: 24px;
width: 100%;
height: calc(100% - 60px);
......@@ -1110,7 +1274,7 @@
height: 47px;
padding: 11px 24px;
font-size: 14px;
font-family:HarmonyOS_Sans_SC;
font-family: HarmonyOS_Sans_SC;
flex-shrink: 0;
color: #666666;
......@@ -1134,9 +1298,9 @@
}
}
}
}
}
.loading {
.loading {
z-index: 999998;
position: fixed;
left: 0;
......@@ -1169,9 +1333,9 @@
height: 100%;
}
}
}
}
.smallLoading {
.smallLoading {
z-index: 999999;
position: fixed;
right: 24px;
......@@ -1204,5 +1368,5 @@
height: 100%;
}
}
}
}
</style>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment