package-lock.json
@@ -22,8 +22,10 @@ "element-ui": "^2.15.6", "flv.js": "^1.6.2", "font-awesome": "^4.7.0", "js-md5": "^0.7.3", "lib-flexible": "^0.3.2", "moment": "^2.29.1", "nprogress": "^0.2.0", "postcss-px-to-viewport": "^1.1.1", "postcss-px2rem": "^0.3.0", "px2rem-loader": "^0.1.9", @@ -10322,6 +10324,11 @@ "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" }, "node_modules/js-md5": { "version": "0.7.3", "resolved": "https://registry.npmmirror.com/js-md5/-/js-md5-0.7.3.tgz", "integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ==" }, "node_modules/js-message": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.7.tgz", @@ -11374,6 +11381,11 @@ "engines": { "node": ">=4" } }, "node_modules/nprogress": { "version": "0.2.0", "resolved": "https://registry.npmmirror.com/nprogress/-/nprogress-0.2.0.tgz", "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==" }, "node_modules/nth-check": { "version": "2.1.1", @@ -26310,6 +26322,11 @@ "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" }, "js-md5": { "version": "0.7.3", "resolved": "https://registry.npmmirror.com/js-md5/-/js-md5-0.7.3.tgz", "integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ==" }, "js-message": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.7.tgz", @@ -27203,6 +27220,11 @@ "path-key": "^2.0.0" } }, "nprogress": { "version": "0.2.0", "resolved": "https://registry.npmmirror.com/nprogress/-/nprogress-0.2.0.tgz", "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==" }, "nth-check": { "version": "2.1.1", "resolved": "https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz", package.json
@@ -9,6 +9,11 @@ }, "dependencies": { "@dvgis/dc-sdk": "^2.16.2", "@fullcalendar/core": "^5.10.1", "@fullcalendar/daygrid": "^5.10.1", "@fullcalendar/interaction": "^5.10.1", "@fullcalendar/timegrid": "^5.10.1", "@fullcalendar/vue": "^5.10.1", "@turf/turf": "^6.5.0", "axios": "^0.22.0", "core-js": "^3.6.5", @@ -17,23 +22,20 @@ "element-ui": "^2.15.6", "flv.js": "^1.6.2", "font-awesome": "^4.7.0", "js-md5": "^0.7.3", "lib-flexible": "^0.3.2", "moment": "^2.29.1", "nprogress": "^0.2.0", "postcss-px-to-viewport": "^1.1.1", "postcss-px2rem": "^0.3.0", "px2rem-loader": "^0.1.9", "qs.js": "^0.1.12", "tippy.js": "^6.3.7", "vue": "^2.6.11", "vue-axios": "^3.3.7", "vue-router": "^3.2.0", "vue-seamless-scroll": "^1.1.23", "vuex": "^3.4.0", "@fullcalendar/core": "^5.10.1", "@fullcalendar/daygrid": "^5.10.1", "@fullcalendar/interaction": "^5.10.1", "@fullcalendar/timegrid": "^5.10.1", "@fullcalendar/vue": "^5.10.1", "moment": "^2.29.1", "tippy.js": "^6.3.7" "vuex": "^3.4.0" }, "devDependencies": { "@vue/cli-plugin-babel": "~4.5.15", public/img/bg/b-t.png
public/img/bg/echarts-content.png
public/img/bg/echarts-title.png
public/img/bg/editLogin.webpBinary files differ
public/img/bg/group13@2x.png
public/img/bg/group16@2x(1).png
public/img/bg/group16@2x.png
public/img/bg/left-bottom.png
public/img/bg/left-top.png
public/img/bg/login-bg.png
public/img/bg/login-content-bg.png
public/img/bg/login_title@2x.png
public/img/bg/rectangle11@2x.png
public/img/bg/right-bottom.png
public/img/bg/right-top.png
src/router/axios.js
@@ -14,6 +14,8 @@ * isToken是否需要token */ import axios from 'axios' import router from '@/router/page/index.js' import { Message } from 'element-ui' // 获取公共配置域名 @@ -30,11 +32,11 @@ // baseURL: 'http://192.168.0.115:82', // baseURL: 'http://192.168.0.112:18080', // baseURL: 'http://192.168.0.112:9091', baseURL: 'http://192.168.0.112:9091', // baseURL: 'http://192.168.0.106:1888/api', // 内网部署地址 baseURL: 'http://10.141.11.11:82', // baseURL: 'http://10.141.11.11:82', timeout: 600000 // request timeout }) @@ -75,28 +77,26 @@ ) // http response 拦截 // service.interceptors.response.use( // (res) => { // const code = res.data.code service.interceptors.response.use( (res) => { // console.log(res, 12569) const code = res.data.code if (code == 403 && res.data.data == 'token 验证失败!') { // sessionStorage.removeItem('token') router.push('/login') } else { return res } }, (error) => { Message({ message: error.message, type: 'error', duration: 5 * 1000 }) // // console.log(code, 555) // if (code == 403 && res.data.data == 'token 验证失败!') { // sessionStorage.removeItem('token') // router.push('/login') // } else { // return res // } // }, // (error) => { // Message({ // message: error.message, // type: 'error', // duration: 5 * 1000 // }) // return Promise.reject(new Error(error)) // } // ) return Promise.reject(new Error(error)) } ) export default service src/router/page/index.js
@@ -17,9 +17,19 @@ const videoList = () => import('../../views/video/list.vue') const videoRegion = () => import('../../views/video/region.vue') const activity = () => import('../../views/activity/index.vue') const login = () => import('../../views/login/index.vue') const routes = [ { path: '/login', name: 'login', component: resolve => require(['../../views/login/index.vue'], resolve), meta: { title: '登录页', isAuth: false } }, { path: '/', redirect: '/lyout' }, src/styles/media/index.scss
@@ -40,22 +40,22 @@ border-top: countSizeVh(14) solid transparent; top: countSizeVh(28); left: countSizeVw(72, 1920); div { height: countSizeVh(36); line-height: countSizeVh(36); font-size: countSizeVh(16); } div:first-child { padding-top: countSizeVh(10); } div:last-child { padding-bottom: countSizeVh(10); } } } } } @@ -91,7 +91,116 @@ height: countSizeVh(58); line-height: countSizeVh(58); font-size: countSizeVh(16); .title-num { font-size: countSizeVh(16); } .timer { width: countSizeVw(250, 1920); height: countSizeVh(30); .el-range-editor.el-input__inner { width: 100% !important; height: countSizeVh(32); } .el-range-editor .el-range-input { font-size: countSizeVh(14); height: countSizeVh(32); line-height: countSizeVh(32); } .el-icon-date:before { font-size: countSizeVh(14); } .el-date-editor .el-range__icon { line-height: countSizeVh(32); height: countSizeVh(32); margin-left: countSizeVw(4, 1920); } .el-date-editor .el-range-separator { height: countSizeVh(32); line-height: countSizeVh(32); font-size: countSizeVh(14); } .el-select { height: countSizeVh(32); } .el-input--suffix .el-input__inner { height: countSizeVh(32); font-size: countSizeVh(14); padding-left: countSizeVw(10, 1920); } .el-select .el-input .el-select__caret { font-size: countSizeVh(14); line-height: countSizeVh(32); } } .legend { width: calc(100% - countSizeVw(36, 1920)); ul { li { margin-right: countSizeVw(10, 1920); div { width: countSizeVw(20, 1920); border-radius: countSizeVh(4); margin-top: countSizeVh(5); margin-right: countSizeVw(2, 1920); } } } } } .table-box { .el-checkbox__inner { width: countSizeVh(20); height: countSizeVh(20); } .el-checkbox__label { font-size: countSizeVh(16) !important; } .el-table__header-wrapper { height: countSizeVh(48); .el-table__header { height: 100%; } } .el-table .el-table__cell { padding: 0; } .el-table th.el-table__cell { height: 100%; } .el-table .cell { line-height: countSizeVh(48); font-size: countSizeVh(16); } .el-table th.el-table__cell>.cell { height: 100%; } .el-table__empty-text { font-size: countSizeVh(16); } } .sub-title { line-height: countSizeVh(36); @@ -100,7 +209,8 @@ .sub-tab { padding: countSizeVh(10); .tab { .tab, .tab3 { &>div { height: countSizeVh(22); @@ -130,10 +240,71 @@ left: countSizeVw(400, 1920); width: calc(100% - countSizeVw(400, 1920) * 2); height: countSizeVh(320); .header { height: countSizeVh(56); .bottom-title { left: countSizeVw(18, 1920); height: countSizeVh(56); line-height: countSizeVh(56); font-size: countSizeVh(16); letter-spacing: countSizeVw(2, 1920); } .timeTab { top: countSizeVh(22); right: countSizeVw(12, 1920); border-radius: countSizeVh(6); span { padding: 0 countSizeVw(10, 1920); height: countSizeVh(26); line-height: countSizeVh(26); } } .history-tab { top: countSizeVh(22); right: countSizeVw(96, 1920); border-radius: countSizeVh(6); span { padding: 0 countSizeVw(10, 1920); height: countSizeVh(26); line-height: countSizeVh(26); } } } .body { margin: countSizeVh(12); margin-top: countSizeVh(10); margin-bottom: countSizeVh(14); width: calc(100% - countSizeVw(24, 1920)); height: calc(100% - countSizeVh(80)); .warp { height: calc(100% - countSizeVh(44)); } ul { li { height: countSizeVh(44); line-height: countSizeVh(44); } } } } .region-select { top: countSizeVh(20); width: countSizeVw(640, 1920); height: countSizeVh(36); .selects-container .selects-box .text { font-size: countSizeVh(15); } } .center-container { @@ -142,18 +313,27 @@ .layers-control-btn { width: countSizeVw(96, 1920); height: countSizeVh(40); border-radius: countSizeVh(20) border-radius: countSizeVh(20); .el-checkbox .el-checkbox__label { font-size: countSizeVh(16); } .el-checkbox .el-checkbox__inner { width: countSizeVh(20); height: countSizeVh(20); } .el-checkbox .el-checkbox__inner::after { height: countSizeVh(12); left: countSizeVw(7, 1920); } } } .el-checkbox__inner { width: countSizeVh(20); height: countSizeVh(20); } .el-checkbox__label { font-size: countSizeVh(16) !important; } } .house-page { @@ -171,6 +351,13 @@ font-size: countSizeVh(24); border: countSizeVh(1) solid rgb(0, 92, 169); border-radius: 0 countSizeVh(20) countSizeVh(20) 0; } .el-input__inner { height: countSizeVh(40); line-height: countSizeVh(40); padding: 0 countSizeVw(15, 1920); border-radius: countSizeVh(4); } } @@ -218,6 +405,7 @@ &>div { padding: 0 countSizeVw(10, 1920); font-size: countSizeVh(16); .l { width: countSizeVw(80, 1920); @@ -267,7 +455,7 @@ width: countSizeVw(20, 1920); height: countSizeVh(60); padding-top: countSizeVh(12); i { font-size: countSizeVh(30); margin-left: countSizeVw(-5, 1920); @@ -302,35 +490,35 @@ .ridgepole-info { .content { & > div { &>div { height: countSizeVh(26); line-height: countSizeVh(26); border-right: countSizeVh(1) solid #50555f; & > div:last-child { margin-left: countSizeVw(14,1920); &>div:last-child { margin-left: countSizeVw(14, 1920); font-size: countSizeVh(18); } } } } .people-info { .content { .two { margin-top: countSizeVh(16); } .one, .two { & > div { & > div:first-child { &>div { &>div:first-child { height: countSizeVh(30); line-height: countSizeVh(30); font-size: countSizeVh(18); } & > div:last-child { &>div:last-child { height: countSizeVh(26); line-height: countSizeVh(26); } @@ -338,20 +526,21 @@ } } } .house-info { .content { & > div { & > div:first-child { &>div { &>div:first-child { height: countSizeVh(30); line-height: countSizeVh(30); font-size: countSizeVh(18); } } } border-bottom: countSizeVh(1) dashed #ccc; } .ridgepole-info, .people-info, .house-info { @@ -359,41 +548,47 @@ height: countSizeVh(40); line-height: countSizeVh(40); } .content { padding: countSizeVh(10) 0; } } .house-element-info { .condo, .legend { height: countSizeVh(36); .type { width: countSizeVw(80,1920); width: countSizeVw(80, 1920); } .type-select { margin-left: countSizeVw(20,1920); margin-left: countSizeVw(20, 1920); :deep(.el-input--suffix .el-input__inner) { padding-right: countSizeVw(54,1920); padding-right: countSizeVw(54, 1920); } .el-input--small{ .el-input--small { font-size: countSizeVh(18); } .el-select:hover .el-input__inner{ .el-select:hover .el-input__inner { height: countSizeVh(36); } .el-input--small .el-input__inner { height: countSizeVh(36); } .el-input__suffix{ .el-input__suffix { height: countSizeVh(36); margin-right: countSizeVw(6,1920); .el-icon-arrow-up:before{ margin-right: countSizeVw(6, 1920); .el-icon-arrow-up:before { font-size: countSizeVh(18); height: countSizeVh(36); line-height: countSizeVh(36); @@ -401,191 +596,192 @@ } } } .type-val { & > div { & > span { margin: 0 countSizeVw(10,1920); width: countSizeVw(14,1920); &>div { &>span { margin: 0 countSizeVw(10, 1920); width: countSizeVw(14, 1920); height: countSizeVh(8); } .chuzu { border: countSizeVh(1) solid #348b3a; } .zizhu { border: countSizeVh(1) solid #2c77bb; } .kongzhi { border: countSizeVh(1) solid #5c6169; } .shangye { border: countSizeVh(1) solid #cc9456; } } } } .floor-outBox { height: countSizeVh(26); margin-top: countSizeVh(9); .floorBtn { left: countSizeVw(30,1920); left: countSizeVw(30, 1920); top: -countSizeVh(2); width: countSizeVw(20,1920); width: countSizeVw(20, 1920); height: countSizeVh(26); i { font-size: countSizeVh(30); margin-left: -countSizeVw(5,1920); margin-left: -countSizeVw(5, 1920); } } .rightFloorBtn { left: countSizeVw(350,1920); left: countSizeVw(350, 1920); } .floor-box { width: countSizeVw(252,1920); width: countSizeVw(252, 1920); height: countSizeVh(26); left: countSizeVw(67,1920); left: countSizeVw(67, 1920); .floor-num { width: countSizeVw(504,1920); width: countSizeVw(504, 1920); left: 0; & > div { margin: 0 countSizeVw(4,1920); width: countSizeVw(84,1920); &>div { margin: 0 countSizeVw(4, 1920); width: countSizeVw(84, 1920); height: countSizeVh(26); border-radius: countSizeVh(13); } & > .on { &>.on { border: countSizeVh(1) solid orange; } } } } .floor-detail { margin-top: countSizeVh(14); height: countSizeVh(220); & > div { &>div { margin: countSizeVh(8); height: countSizeVh(36); line-height: countSizeVh(36); .title { width: countSizeVw(50,1920); width: countSizeVw(50, 1920); } .detail { & > div { margin: 0 countSizeVw(4,1920); width: countSizeVw(68,1920); &>div { margin: 0 countSizeVw(4, 1920); width: countSizeVw(68, 1920); height: countSizeVh(36); border: countSizeVh(1) solid #ccc; .flow, .focus, .warning { right: countSizeVw(4,1920); width: countSizeVw(6,1920); right: countSizeVw(4, 1920); width: countSizeVw(6, 1920); height: countSizeVh(6); } .flow { top: calc((100% - countSizeVh(18)) / 4); } .focus { top: calc( (100% - countSizeVh(18)) / 4 * 2 + countSizeVh(6) ); top: calc((100% - countSizeVh(18)) / 4 * 2 + countSizeVh(6)); } .warning { top: calc( (100% - countSizeVh(18)) / 4 * 3 + countSizeVh(12) ); top: calc((100% - countSizeVh(18)) / 4 * 3 + countSizeVh(12)); } } & > .chuzu { &>.chuzu { border: countSizeVh(1) solid #3a8b3a; } & > .zizhu { &>.zizhu { border: countSizeVh(1) solid #2c77bb; } & > .kongzhi { &>.kongzhi { border: countSizeVh(1) solid #5c6169; } & > .shangye { &>.shangye { border: countSizeVh(1) solid #cc9456; } } } } } } } .police-info { .tableClass { width: countSizeVw(600,1920); width: countSizeVw(600, 1920); height: countSizeVh(400); } .tableClass th, .tableClass td { width: countSizeVw(200,1920); width: countSizeVw(200, 1920); } } } } .search-content { left: countSizeVw(760, 1920); left: countSizeVw(760, 1920); top: countSizeVh(40); width: countSizeVh(460); width: countSizeVw(460, 1920); height: countSizeVh(36); input { width: calc(100% - countSizeVw(80, 1920)); width: countSizeVw(380, 1920); font-size: countSizeVh(18); border: countSizeVh(1) solid rgb(0, 92, 169); border-radius: countSizeVh(20) 0 0 countSizeVh(20); // vertical-align: top; } button { font-size: countSizeVh(24); width: countSizeVw(80, 1920); width: countSizeVw(80, 1920); border: countSizeVh(1) solid rgb(0, 92, 169); border-radius: 0 countSizeVh(20) countSizeVh(20) 0; } button:active { border: countSizeVh(1) solid rgb(0, 92, 169); } } .searchExtensively-val-box { top: countSizeVh(80); left: countSizeVw(760,1920); width: countSizeVw(314,1920); max-height: countSizeVh(200); border-radius: countSizeVh(10); & > div { top: countSizeVh(80); left: countSizeVw(760, 1920); width: countSizeVw(380, 1920); max-height: countSizeVh(400); border-radius: countSizeVh(10); &>div { div { padding: 0 countSizeVw(10,1920); line-height: countSizeVh(36); padding: 0 countSizeVw(10, 1920); line-height: countSizeVh(36); } } } @@ -702,9 +898,9 @@ .el-table__header { height: 100%; } } .el-table .el-table__cell { padding: 0; } @@ -804,7 +1000,8 @@ .draw-btn { margin: countSizeVh(8) countSizeVw(8, 1920); height: countSizeVh(26); .el-button--mini{ .el-button--mini { font-size: countSizeVh(16); padding: countSizeVh(8) 0; border-radius: countSizeVh(4); @@ -961,12 +1158,12 @@ .el-table__header-wrapper { height: countSizeVh(48); .el-table__header { height: 100%; } } .el-table .el-table__cell { padding: 0; } @@ -974,16 +1171,16 @@ .el-table th.el-table__cell { height: 100%; } .el-table .cell { line-height: countSizeVh(48); font-size: countSizeVh(16); } .el-table th.el-table__cell>.cell { height: 100%; } .el-table__empty-text { font-size: countSizeVh(16); } @@ -994,20 +1191,20 @@ &>div { display: flex; align-items: center; &>button { width: countSizeVh(32); height: countSizeVh(32); &>i { font-size: countSizeVh(16); } } &>ul { display: flex; align-items: center; li { width: countSizeVh(32); height: countSizeVh(32); @@ -1017,7 +1214,7 @@ } } } } } @@ -1045,7 +1242,8 @@ width: countSizeVw(88, 1920); font-size: countSizeVh(16); } .category-value{ .category-value { .category-input { width: 80%; height: countSizeVh(32); @@ -1053,7 +1251,7 @@ border: countSizeVh(1) solid rgb(0, 92, 169); border-radius: countSizeVh(5) 0 0 countSizeVw(5, 1920); } .category-button { font-size: countSizeVh(20); // width: countSizeVw(60, 1920); @@ -1062,54 +1260,56 @@ border: countSizeVh(1) solid rgb(0, 92, 169); border-radius: 0 countSizeVw(5, 1920) countSizeVh(5) 0; } .category-button:active { border: countSizeVh(1) solid rgb(0, 92, 169); } .el-range-editor.el-input__inner{ width: 100%!important; .el-range-editor.el-input__inner { width: 100% !important; height: countSizeVh(32); } .el-range-editor .el-range-input{ .el-range-editor .el-range-input { font-size: countSizeVh(14); height: countSizeVh(32); line-height: countSizeVh(32); } .el-icon-date:before{ .el-icon-date:before { font-size: countSizeVh(14); } .el-date-editor .el-range__icon{ line-height: countSizeVh(32); height: countSizeVh(32); margin-left: countSizeVw(4, 1920); .el-date-editor .el-range__icon { line-height: countSizeVh(32); height: countSizeVh(32); margin-left: countSizeVw(4, 1920); } .el-date-editor .el-range-separator{ height: countSizeVh(32); line-height: countSizeVh(32); font-size: countSizeVh(14); .el-date-editor .el-range-separator { height: countSizeVh(32); line-height: countSizeVh(32); font-size: countSizeVh(14); } .el-select { width: 100%; height: countSizeVh(32); } .el-input--suffix .el-input__inner{ .el-input--suffix .el-input__inner { height: countSizeVh(32); font-size: countSizeVh(14); padding-left: countSizeVw(10, 1920); } .el-select .el-input .el-select__caret{ .el-select .el-input .el-select__caret { font-size: countSizeVh(14); line-height: countSizeVh(32); } } } } @@ -1196,26 +1396,30 @@ .second-container { top: countSizeVh(10); width: countSizeVw(240, 1920); .el-tree-node__content{ .el-tree-node__content { height: countSizeVh(30); font-size: countSizeVh(16); } .el-tree-node__label{ .el-tree-node__label { font-size: countSizeVh(16); } .el-checkbox .el-checkbox__inner{ .el-checkbox .el-checkbox__inner { height: countSizeVh(20); width: countSizeVh(20); border-radius: countSizeVh(2); } .el-tree-node__expand-icon{ .el-tree-node__expand-icon { font-size: countSizeVh(16); } .el-checkbox .el-checkbox__inner::after{ .el-checkbox .el-checkbox__inner::after { height: countSizeVh(16); left:countSizeVw(7, 1920); left: countSizeVw(7, 1920); } } @@ -1271,7 +1475,7 @@ } .flexible-btn{ .flexible-btn { font-size: countSizeVh(24); } @@ -1386,40 +1590,151 @@ bottom: countSizeVh(154); } } .auth-page { .loginTitle { font-size: countSizeVh(46); letter-spacing: countSizeVh(6); } .login_content { width: countSizeVw(300, 1920); padding: countSizeVh(30); background-size: 100% 100%, countSizeVh(25), countSizeVh(25), countSizeVh(25), countSizeVh(25); p { font-size: countSizeVh(26); margin-bottom: countSizeVh(15); letter-spacing: countSizeVh(4); } .el-button--primary { height: countSizeVh(34); border-radius: countSizeVh(2); } .el-button { height: countSizeVh(34); line-height: countSizeVh(24); font-size: countSizeVh(14); } .el-input__inner, .el-input__icon { font-size: countSizeVh(14); line-height: countSizeVh(34); } .el-input__inner { height: countSizeVh(34); } .el-input__prefix { left: countSizeVw(5, 1920); } .el-input--prefix .el-input__inner { padding-left: countSizeVw(30, 1920); } } } } .option-css,.activity-option,.unit-option{ .option-css, .activity-option, .unit-option { height: countSizeVh(40); line-height: countSizeVh(40); font-size: countSizeVh(16); } .option-css:hover,.option-css.selected { .option-css:hover, .option-css.selected { color: #409EFF; } .option-css:hover { background-color:rgba(0, 92, 169, 0.3) !important; background-color: rgba(0, 92, 169, 0.3) !important; } .el-select-dropdown__wrap { max-height: countSizeVh(200); } .el-picker-panel{ width: countSizeVw(536, 1920)!important; .el-picker-panel { width: countSizeVw(536, 1920) !important; } .el-date-range-picker__header div{ .el-date-range-picker__header div { font-size: countSizeVh(16); height: countSizeVh(36); line-height: countSizeVh(36); } .el-picker-panel .el-date-range-picker__header button { font-size: countSizeVh(16); height: countSizeVh(36); line-height: countSizeVh(36); } .el-date-table td span,.el-date-table th{ .el-date-table td span, .el-date-table th { font-size: countSizeVh(16); } .el-date-table tr{ .el-date-table tr { height: countSizeVh(22); } .el-picker-panel__sidebar { width: countSizeVw(110, 1920); } .el-picker-panel__shortcut { font-size: countSizeVh(14); height: countSizeVh(32); } .el-picker-panel [slot=sidebar]+.el-picker-panel__body, .el-picker-panel__sidebar+.el-picker-panel__body { margin-left: countSizeVw(110, 1920); } .tree-search-popup { top: countSizeVh(135) !important; left: countSizeVw(0, 1920) !important; } .el-popover { min-width: countSizeVw(150, 1920); padding: countSizeVh(12); border-radius: countSizeVh(4); font-size: countSizeVh(14); .el-input { font-size: countSizeVh(14); } .el-tree { height: countSizeVh(360) !important; width: countSizeVw(400, 1920) !important; .el-tree-node__content { height: countSizeVh(26); } .el-tree-node__expand-icon { font-size: countSizeVh(12); } .el-tree-node__label { font-size: countSizeVh(14); } } } } } src/utils/auth.js
New file @@ -0,0 +1,19 @@ /* * @Author: shuishen 1109946754@qq.com * @Date: 2022-07-28 17:50:14 * @LastEditors: shuishen 1109946754@qq.com * @LastEditTime: 2022-08-05 11:45:20 * @FilePath: \zhny-dsj\src\utils\auth.js * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE */ export const getToken = () => { return window.sessionStorage.getItem('token') } export const setToken = token => { return window.sessionStorage.setItem('token', token) } export const removeToken = () => { return window.sessionStorage.removeItem('token') } src/views/house/index.vue
@@ -2,7 +2,7 @@ * @Author: shuishen 1109946754@qq.com * @Date: 2022-08-18 16:18:17 * @LastEditors: shuishen 1109946754@qq.com * @LastEditTime: 2022-12-19 16:51:19 * @LastEditTime: 2022-12-26 09:17:46 * @FilePath: \srs-police-affairs\src\views\house\index.vue * @Description: 小区-栋-层-房屋 * @@ -35,8 +35,8 @@ <div> <div @click="searchVlaClick(item)" v-for="(item, index) in searchArray" :key="index"> {{ item.name }} item.name }} </div> </div> </div> @@ -97,8 +97,8 @@ <div v-for="(item, index) in buildingList.slice((index - 1) * 10, index * 10)" :key="index" @click="buildingClick(item)" :class="{ on: buildingChoosed.name == item.name }" :title="item.name">{{ item.name }}</div> item.name }}</div> </div> </div> </div> @@ -186,7 +186,7 @@ <div class="type-select"> <el-select size="small" v-model="unitValue" placeholder="请选择" @change="chooseUnit"> <el-option v-for="item in unitOptions" :key="item.value" :label="item.label" :value="item.value"></el-option> :value="item.value" class="unit-option"></el-option> </el-select> </div> </div> @@ -214,19 +214,19 @@ <div class="type">房屋图例</div> <div class="type-val"> <div> <span style="width: 14px; height: 8px; border: 1px solid #3A8B3A;"></span> <span class="chuzu"></span> 出租 </div> <div> <span style="width: 14px; height: 8px; border: 1px solid #2C77BB;"></span> <span class="zizhu"></span> 自住 </div> <div> <span style="width: 14px; height: 8px; border: 1px solid #5C6169;"></span> <span class="kongzhi"></span> 空置 </div> <div> <span style="width: 14px; height: 8px; border: 1px solid #CC9456;"></span> <span class="shangye"></span> 商业 </div> </div> @@ -240,10 +240,10 @@ <div :class="{ on: floorsType == index }" @click="floorsType = index" v-for="index in Math.ceil(unitHouseChoosed.length / 5)" :key="index"> {{ unitHouseChoosed[index * 5 - 5].floor_num }}-{{ unitHouseChoosed[index * 5 - 1] ? unitHouseChoosed[index * 5 - 1].floor_num : unitHouseChoosed[unitHouseChoosed.length - 1].floor_num }}层</div> 5 - 1] ? unitHouseChoosed[index * 5 - 1].floor_num : unitHouseChoosed[unitHouseChoosed.length - 1].floor_num }}层</div> </div> </div> <div @click="nextFloorBtn" class="floorBtn rightFloorBtn" v-show="nextFloorShow"> @@ -325,7 +325,17 @@ </div> </div> <!-- <transition name="special-animal"></transition>--> <div class="search-content"> <input v-model="searchExtensivelyValue" @input="searchExtensivelyChange" @focus="searchExtensivelyFocus" type="text" placeholder="请输入搜索条件" /> <button @click="searchExtensivelyClick" class="el-icon-search"></button> </div> <div v-show="searchExtensivelyValBoxShow" class="searchExtensively-val-box"> <div> <div @click="searchExtensivelyVlaClick(item)" v-for="(item, index) in searchExtensivelyArray" :key="index">{{ item.name }}</div> </div> </div> <el-dialog title="信息详情" :modal="true" :visible.sync="dialogVisible" :before-close="handleClose" :close-on-click-modal="true" class="police-affairs-details-box"> <div class="item"> @@ -568,6 +578,9 @@ buildingList: [], buildingChoosed: {}, unitHouseChoosed: [], searchExtensivelyValBoxShow: false, searchExtensivelyArray: [], searchExtensivelyValue: '', } }, watch: { @@ -635,7 +648,7 @@ // 大搜 getSearchExtensively (ak, region, query) { getSearchExtensively(ak, region, query).then(res => { console.log(res, 333) this.searchExtensivelyArray = res.data.result }) }, @@ -815,6 +828,38 @@ console.log(current, currentNode) this.$refs[`popover`].doClose() }, searchExtensivelyClick () { this.getSearchExtensively('ebf48ecaa1fd436fa3d40c4600aa051f', '361100', this.searchExtensivelyValue) this.searchExtensivelyValBoxShow = false }, searchExtensivelyChange () { if (this.searchExtensivelyValue == '') { this.searchExtensivelyValBoxShow = false this.searchExtensivelyArray = [] } else { this.searchExtensivelyValBoxShow = true this.getSearchExtensively('ebf48ecaa1fd436fa3d40c4600aa051f', '361100', this.searchExtensivelyValue) } }, searchExtensivelyVlaClick (item) { this.searchExtensivelyValBoxShow = false this.searchExtensivelyValue = item.name this.$EventBus.$emit('toPosition', { siteJd: `${item.location.lng}`, siteWd: `${item.location.lat}`, siteGd: 200, siteHeading: -3, sitePitch: -45 }) }, searchExtensivelyFocus () { this.searchExtensivelyValBoxShow = true this.getSearchExtensively('ebf48ecaa1fd436fa3d40c4600aa051f', '361100', this.searchExtensivelyValue) } }, destroyed () { @@ -1210,6 +1255,24 @@ &>span { margin: 0 10px; width: 14px; height: 8px; } .chuzu { border: 1px solid #348b3a; } .zizhu { border: 1px solid #2c77bb; } .kongzhi { border: 1px solid #5c6169; } .shangye { border: 1px solid #cc9456; } } } @@ -1366,6 +1429,79 @@ } } } .search-content { position: absolute; left: 760px; top: 40px; width: 460px; height: 36px; input { flex: 1; width: 380px; height: 100%; font-size: 18px; text-indent: 1em; color: #ffffff; background-color: $table-body-tr-2n-color; border: 1px solid rgb(0, 92, 169); border-radius: 20px 0 0 20px; vertical-align: top; } input:focus { outline: none; } input::-webkit-input-placeholder { color: rgba(238, 238, 238, 0.7); } button { font-size: 24px; font-weight: 700; width: 80px; height: 100%; background-color: $table-body-tr-n-color; color: #fff; border: 1px solid rgb(0, 92, 169); cursor: pointer; border-radius: 0 20px 20px 0; } button:active { background-color: $table-body-tr-2n-color; border: 1px solid rgb(0, 92, 169); } } .searchExtensively-val-box { display: flex; flex-direction: column; position: absolute; top: 80px; left: 760px; width: 380px; max-height: 160px; text-align: left; color: #fff; background: $el-dialog-bg-color; z-index: 1111; border-radius: 10px; overflow: hidden; &>div { height: 100%; overflow-y: auto; div { padding: 0 10px; line-height: 36px; cursor: pointer; } } } } .progress { src/views/login/index.vue
New file @@ -0,0 +1,342 @@ <template> <div class="auth-page"> <!-- <div class="title">社区警务平台</div> --> <!-- <div class="container"> --> <!-- <h1 class="text-xs-center">用户登录</h1> --> <!-- <div class="loginbody"> <el-form :model="user" ref="formName" status-icon :rules="rules"> <span class="input">用户名:</span> <el-form-item prop="username"> <el-input v-model="user.username" prefix-icon="el-icon-user" placeholder="请输入您的用户名" autocomplete="off" ></el-input> </el-form-item> <span class="input">密码:</span> <el-form-item prop="password"> <el-input type="password" v-model="user.password" prefix-icon="el-icon-lock" placeholder="请输入您密码" autocomplete="off" ></el-input> </el-form-item> <el-form-item> <el-button type="primary" @click.enter="onLogin(user)">登 录</el-button> </el-form-item> </el-form> </div>--> <!-- </div> --> <div class="loginTitle">社区警务平台</div> <div class="layui-form login_content"> <p>用户登录</p> <el-form :model="user" ref="formName" status-icon :rules="rules"> <el-form-item prop="username"> <el-input v-model="user.username" prefix-icon="el-icon-user" placeholder="请输入您的用户名" autocomplete="off" ></el-input> </el-form-item> <el-form-item prop="password"> <el-input type="password" v-model="user.password" prefix-icon="el-icon-lock" placeholder="请输入您密码" autocomplete="off" ></el-input> </el-form-item> <el-form-item> <el-button type="primary" @click.enter="onLogin(user)">登 录</el-button> </el-form-item> </el-form> </div> </div> </template> <script> import nprogress from 'nprogress' import md5 from 'js-md5' import axios from 'axios' import * as auth from '@/utils/auth' export default { name: 'AppRegister', data () { return { user: { username: '', password: '' }, rules: { username: [ { required: true, message: '用户名不能为空', trigger: 'blur' }, { min: 3, max: 10, message: '用户账号长度在3~10个字符之间', trigger: 'blur' } ], password: [ { required: true, message: '密码不能为空', trigger: 'blur' }, { min: 3, max: 10, message: '用户密码长度在3~10个字符之间', trigger: 'blur' } ] }, errors: null, newAxios: null } }, created () { var that = this this.newAxios = axios.create({ baseURL: 'http://dev.jxpskj.com:8020/api', timeout: 600000, headers: { Authorization: 'Basic c2FiZXI6c2FiZXJfc2VjcmV0', 'Tenant-Id': '000000' } }) document.onkeydown = (e) => { const _key = window.event.keyCode if (_key === 13) { that.onLogin(that.user) } } }, methods: { onLogin ({ username, password }) { this.$refs.formName.validate((valid) => { if (valid) { nprogress.start() this.newAxios({ method: 'POST', url: '/blade-auth/oauth/token', params: { username: username, password: md5(password), tenantId: '000000' } }).then((res) => { if (res.data.access_token) { this.$store.commit('setUser', res.data) auth.setToken(res.data.access_token) console.log('23232323', res.data) window.localStorage.setItem('userName', res.data.nick_name)//赋值 this.$router.push({ path: '/' }) } else { this.$message({ type: 'warning', message: '用户名或密码不正确,请重新输入' }) } nprogress.done() }) } }) } } } </script> <style scoped lang="scss"> .auth-page { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-image: url(../../../public/img/bg/login-bg.png); background-size: 100% 100%; margin: 0; padding: 0; .loginTitle { color: #00cbdd; font-size: 46px; letter-spacing: 6px; font-weight: 700; position: absolute; top: 20%; right: 25%; transform: translateX(50%); } .login_content { width: 300px; position: absolute; text-align: center; top: 50%; right: 25%; transform: translateY(-40%) translateX(50%); color: #ffffff; padding: 30px; background: url(../../../public/img/bg/login-content-bg.png), url(../../../public/img/bg/left-top.png) no-repeat left top, url(../../../public/img/bg/left-bottom.png) no-repeat left bottom, url(../../../public/img/bg/right-top.png) no-repeat right top, url(../../../public/img/bg/right-bottom.png) no-repeat right bottom; background-repeat: no-repeat; background-size: 100% 100%, 25px, 25px, 25px, 25px; p { font-size: 26px; margin-bottom: 15px; letter-spacing: 4px; } :deep(.el-button--primary) { width: 100%; height: 34px; border-radius: 2px; } :deep(.el-button) { line-height: 14px; } } // .title { // width: 1389px; // height: 115px; // // background-image: url(../../../public/img/bg/login_title@2x.png); // background-size: 100% 100%; // margin: 99px 264px 0px 266px; // font-size: 74px; // color: #fff; // } // .container { // position: absolute; // top: 0; // left: 0; // right: 0; // bottom: 0; // margin: 317px auto; // width: 653px; // height: 552px; // background-image: url(../../../public/img/bg/rectangle11@2x.png); // background-size: 100% 100%; // border-radius: 10px; // letter-spacing: 100; // // h1 { // // margin: 54px 244px 0px 243px; // // width: 166px; // // text-align: left; // // width: 176px; // // height: 30px; // // font-size: 42px; // // font-family: PangMenZhengDao; // // font-weight: 400; // // color: #ffffff; // // line-height: 30px; // // letter-spacing: 2px; // // } // // .loginbody { // // position: absolute; // // top: 120px; // // left: 0; // // right: 0; // // bottom: 0; // // width: 72%; // // // margin: auto; // // margin-left: 51px; // // .el-form-item { // // text-align: center; // // :deep(.el-input__inner) { // // width: 548px; // // height: 59px; // // background: #0c2d49; // // opacity: 0.5; // // margin-bottom: 15px; // // font-size: 21px; // // } // // :deep(.el-input--prefix .el-input__inner) { // // padding-left: 40px; // // } // // :deep(.el-input__inner:focus) { // // border: 2px solid #22b4cb; // // opacity: 0.8; // // color: #fff; // // } // // :deep(.el-form-item__error) { // // color: #f00; // // line-height: 0; // // font-size: 15px; // // opacity: 0.8; // // letter-spacing: 2px; // // font-weight: 700; // // } // // :deep(.el-input__icon) { // // height: 91%; // // width: 34px; // // } // // :deep(.el-icon-user::before), // // :deep(.el-icon-lock::before) { // // font-size: 22px; // // } // // :deep(.el-form-item.is-error)v, // // :deep(.el-input__validateIcon) { // // font-size: 22px; // // } // // :deep(.el-input__suffix) { // // right: -48px; // // } // // :deep(.el-input input::-webkit-input-placeholder) { // // color: #ffffff; // // font-size: 21px; // // opacity: 0.5; // // line-height: 27px; // // } // // :deep(.el-input input::-moz-input-placeholder) { // // color: #ffffff; // // font-size: 21px; // // opacity: 0.5; // // } // // :deep(.el-input input::-ms-input-placeholder) { // // color: #ffffff; // // font-size: 21px; // // opacity: 0.5; // // line-height: 27px; // // } // // :deep(.el-button) { // // width: 548px; // // height: 59px; // // background: linear-gradient( // // 90deg, // // rgba(0, 249, 247, 0.54), // // rgba(0, 182, 249, 0.54) // // ); // // box-shadow: 0px 2px 20px 1px rgba(1, 25, 70, 0.46); // // font-size: 29px; // // margin-top: 25px; // // } // // } // // .input { // // display: inline-block; // // width: 100px; // // height: 23px; // // font-size: 24px; // // font-family: PingFang SC; // // color: #ffffff; // // margin-bottom: 21px; // // } // // } // } } </style> src/views/lyout/index.vue
@@ -11,7 +11,6 @@ <template> <div class="wrapper"> <div class="main-header"> <!-- <div class="title"></div> --> <div class="menu-list left"> <div @mouseenter="item.childrenFlag = true" @mouseleave="item.childrenFlag = false" class="nav-list" @click="goToPath(item)" v-for="(item, index) in menuLeftList" :key="index"> @@ -27,7 +26,6 @@ </div> <div class="title"> <!-- <img src="../../../public/img/icon.png" /> --> <h3>社区警务平台</h3> </div> @@ -47,11 +45,33 @@ </div> <!-- 用户登录展示的 --> <div class="user-infor"> <div> <div class="user-infor" @click="openUser"> <div class="userIcon" :class="{on: userOn == true}"> <i class="el-icon-user-solid"></i> </div> <div class="userDetail" v-if="isShowUserDetail"> <div class="triangle"></div> <div class="userName">用户名:{{userName}}</div> <div class="userBtn"> <div class="edit" @click="goTOLogin"> <img src="../../../public/img/bg/editLogin.webp" alt /> </div> </div> </div> </div> <!-- <div class="userIcon" :class="{on: userOn == true}" @click="openUser"> <div class="userDetail" v-if="isShowUserDetail"> <div class="triangle"></div> <div class="userName">用户名:{{userName}}</div> <div class="userBtn"> <div class="edit" @click="goTOLogin"> > <img src="../../../public/img/editLogin.webp" alt /> </div> <div class="return" @click="goTOFllow">返回引导页</div> </div> </div> </div>--> </div> <div class="main-container"> @@ -124,7 +144,9 @@ boxWidth: 0, currentUrl: '/lyout/home' currentUrl: '/lyout/home', userOn: false, isShowUserDetail: false, } }, @@ -224,6 +246,11 @@ document.querySelector('.image-switch-img-btn').classList.remove('shrink-btn') } }) }, openUser () { this.userOn = !this.userOn this.isShowUserDetail = !this.isShowUserDetail }, } } @@ -389,7 +416,7 @@ font-size: 24px; cursor: pointer; div { .userIcon { position: absolute; top: 0; right: 0; @@ -404,6 +431,66 @@ box-shadow: inset 0 0 10px $menu-tab-shadow; border-radius: 50%; } .userIcon.on { color: rgba(252, 189, 86, 1); } .userDetail { width: 180px; height: 92px; position: absolute; top: 64px; right: 4px; background: $menu-tab-bg-color; border-radius: 8px; cursor: default; .triangle { position: absolute; top: -16px; right: 20px; width: 0px; height: 0px; border: 8px solid #000; border-top-color: transparent; border-bottom-color: rgba(3, 82, 102, 0.8); border-left-color: transparent; border-right-color: transparent; } .userName { width: 100%; height: 40px; font-size: 14px; font-weight: 500; color: #fff; line-height: 40px; border-bottom: 1px solid rgba(255, 255, 255, 0.5); position: absolute; top: 0px; } .userBtn { width: 100%; height: 50px; position: absolute; bottom: 0px; display: flex; justify-content: space-around; padding-top: 4px; & > div { width: 100px; height: 40px; background-color: rgba(168, 222, 255, 0.6); border-radius: 4px; cursor: pointer; line-height: 44px; img { width: 76px; height: 20px; } } } } } }