--no commit message
Showing
40 changed files
with
1577 additions
and
1110 deletions
| 1 | { | 1 | { |
| 2 | "TITLE": "不动产登记系统", | 2 | "TITLE": "不动产登记系统", |
| 3 | "SERVERAPI": "/bdcdj", | 3 | "SERVERAPI": "/bdcdj", |
| 4 | "ip": "http://192.168.2.38", | ||
| 5 | "IDCARDURL": "http://127.0.0.1:33088/function=get_idcard&readnew=0" | 4 | "IDCARDURL": "http://127.0.0.1:33088/function=get_idcard&readnew=0" |
| 6 | } | 5 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| 1 | <!-- | 1 | <!-- |
| 2 | * @Description: | 2 | * @Description: |
| 3 | * @Autor: renchao | 3 | * @Autor: renchao |
| 4 | * @LastEditTime: 2023-06-02 09:47:57 | 4 | * @LastEditTime: 2023-06-20 09:56:19 |
| 5 | --> | 5 | --> |
| 6 | <!DOCTYPE html> | 6 | <!DOCTYPE html> |
| 7 | <html> | 7 | <html> |
| ... | @@ -22,7 +22,7 @@ | ... | @@ -22,7 +22,7 @@ |
| 22 | cloudEnable: false, | 22 | cloudEnable: false, |
| 23 | baseUrl: location.origin || location.protocol + '//' + location.host, | 23 | baseUrl: location.origin || location.protocol + '//' + location.host, |
| 24 | // 是否启用单点登录 | 24 | // 是否启用单点登录 |
| 25 | casEnable: true, | 25 | casEnable: false, |
| 26 | // cas 基地址 | 26 | // cas 基地址 |
| 27 | casBaseURL: 'http://192.168.2.38/cas', | 27 | casBaseURL: 'http://192.168.2.38/cas', |
| 28 | services: { | 28 | services: { | ... | ... |
| 1 | /* | 1 | /* |
| 2 | * @Description: | 2 | * @Description: |
| 3 | * @Autor: renchao | 3 | * @Autor: renchao |
| 4 | * @LastEditTime: 2023-06-08 13:43:33 | 4 | * @LastEditTime: 2023-06-16 16:06:39 |
| 5 | */ | 5 | */ |
| 6 | import request from '@/utils/request' | 6 | import request from "@/utils/request"; |
| 7 | let SERVER = window.config ? window.config : JSON.parse(localStorage.getItem('ApiUrl')) | 7 | let SERVER = window.config |
| 8 | const url = SERVER.SERVERAPI + '/rest/zhcx/lpcx/' | 8 | ? window.config |
| 9 | // | 9 | : JSON.parse(localStorage.getItem("ApiUrl")); |
| 10 | const url = SERVER.SERVERAPI + "/rest/zhcx/lpcx/"; | ||
| 11 | // | ||
| 10 | /** | 12 | /** |
| 11 | * @description:楼盘查询- 根据条件进行列表查询 | 13 | * @description:楼盘查询- 根据条件进行列表查询 |
| 12 | * @param {*} data | 14 | * @param {*} data |
| 13 | * @author: renchao | 15 | * @author: renchao |
| 14 | */ | 16 | */ |
| 15 | export function getLpZrz (data) { | 17 | export function getLpZrz(data) { |
| 16 | return request({ | 18 | return request({ |
| 17 | url: 'service-lpb-zq/rest/zhcx/lpcx/getLpZrz', | 19 | url: "service-lpb-zq/rest/zhcx/lpcx/getLpZrz", |
| 18 | method: 'post', | 20 | method: "post", |
| 19 | data: data | 21 | data: data, |
| 20 | }) | 22 | }); |
| 21 | } | 23 | } |
| 22 | 24 | ||
| 23 | /** | 25 | /** |
| ... | @@ -25,32 +27,47 @@ export function getLpZrz (data) { | ... | @@ -25,32 +27,47 @@ export function getLpZrz (data) { |
| 25 | * @param {*} zrzbsm | 27 | * @param {*} zrzbsm |
| 26 | * @author: renchao | 28 | * @author: renchao |
| 27 | */ | 29 | */ |
| 28 | export function getLpb (zrzbsm) { | 30 | export function getLpb(zrzbsm) { |
| 29 | return request({ | 31 | return request({ |
| 30 | url: 'service-lpb-zq/rest/zhcx/lpcx/getLpb?scyclx=1&zrzbsm=' + zrzbsm, | 32 | url: "service-lpb-zq/rest/zhcx/lpcx/getLpb?scyclx=0&zrzbsm=" + zrzbsm, |
| 31 | method: 'get' | 33 | method: "get", |
| 32 | }) | 34 | }); |
| 33 | } | 35 | } |
| 34 | /** | 36 | /** |
| 35 | * @description: 获取楼盘表房屋用途,房屋性质右侧房屋用途统计数据 | 37 | * @description: 获取楼盘表房屋用途,房屋性质右侧房屋用途统计数据 |
| 36 | * @param {*} zrzbsm | 38 | * @param {*} zrzbsm |
| 37 | * @author: renchao | 39 | * @author: renchao |
| 38 | */ | 40 | */ |
| 39 | export function getLpbFwytAndQlxz (zrzbsm) { | 41 | export function getLpbFwytAndQlxz(zrzbsm) { |
| 40 | return request({ | 42 | return request({ |
| 41 | url: 'service-lpb-zq/rest/zhcx/lpcx/getLpbFwytAndQlxz?scyclx=1&zrzbsm=' + zrzbsm, | 43 | url: |
| 42 | method: 'get' | 44 | "service-lpb-zq/rest/zhcx/lpcx/getLpbFwytAndQlxz?scyclx=0&zrzbsm=" + |
| 43 | }) | 45 | zrzbsm, |
| 46 | method: "get", | ||
| 47 | }); | ||
| 44 | } | 48 | } |
| 45 | /** | 49 | /** |
| 46 | * @description: 获取楼盘表缺失项统计 | 50 | * @description: 获取楼盘表缺失项统计 |
| 47 | * @param {*} zrzbsm | 51 | * @param {*} zrzbsm |
| 48 | * @author: renchao | 52 | * @author: renchao |
| 49 | */ | 53 | */ |
| 50 | export function getLpbQsxtj (zrzbsm) { | 54 | export function getLpbQsxtj(zrzbsm) { |
| 51 | return request({ | 55 | return request({ |
| 52 | url: url + 'getLpbQsxtj?scyclx=1&zrzbsm=' + zrzbsm, | 56 | url: "service-lpb-zq/rest/zhcx/lpcx/getLpbQsxtj?scyclx=0&zrzbsm=" + zrzbsm, |
| 53 | method: 'get' | 57 | method: "get", |
| 54 | }) | 58 | }); |
| 55 | } | 59 | } |
| 56 | 60 | ||
| 61 | /** | ||
| 62 | * @description: 楼盘表 获取单元状态统计数据 | ||
| 63 | * @param {*} data | ||
| 64 | * zrzbsm 自然幢标识码 | ||
| 65 | * scyclx 实测预测类型 0预测,1实测 | ||
| 66 | * @return {*} | ||
| 67 | */ | ||
| 68 | export function getLpbTj(zrzbsm) { | ||
| 69 | return request({ | ||
| 70 | url: "service-lpb-zq/rest/zhcx/lpcx/getLpbTj?scyclx=0&zrzbsm=" + zrzbsm, | ||
| 71 | method: "get", | ||
| 72 | }); | ||
| 73 | } | ... | ... |
| ... | @@ -73,7 +73,7 @@ export function choiceBdcdy (data) { | ... | @@ -73,7 +73,7 @@ export function choiceBdcdy (data) { |
| 73 | */ | 73 | */ |
| 74 | export function selectRepairQlxx (data) { | 74 | export function selectRepairQlxx (data) { |
| 75 | return request({ | 75 | return request({ |
| 76 | url: '/bdcdj/rest/ywbl/ywsq/selectRepairQlxx', | 76 | url: SERVER.SERVERAPI + '/rest/ywbl/ywsq/selectRepairQlxx', |
| 77 | method: 'post', | 77 | method: 'post', |
| 78 | data | 78 | data |
| 79 | }) | 79 | }) | ... | ... |
| ... | @@ -25,6 +25,7 @@ | ... | @@ -25,6 +25,7 @@ |
| 25 | import { mapGetters } from 'vuex' | 25 | import { mapGetters } from 'vuex' |
| 26 | import NoticeBar from '@/components/NoticeBar/index' | 26 | import NoticeBar from '@/components/NoticeBar/index' |
| 27 | import { getHomeNoticeList } from "@/api/home" | 27 | import { getHomeNoticeList } from "@/api/home" |
| 28 | import {setToken} from "@/utils/util"; | ||
| 28 | export default { | 29 | export default { |
| 29 | components: { | 30 | components: { |
| 30 | NoticeBar | 31 | NoticeBar |
| ... | @@ -64,23 +65,11 @@ | ... | @@ -64,23 +65,11 @@ |
| 64 | }) | 65 | }) |
| 65 | }, | 66 | }, |
| 66 | logout () { | 67 | logout () { |
| 67 | axios.post(this.BASE_API.ip + "/management/logout").then(() => { | 68 | axios.post(window._config.services.management + "/management/logout").then(() => { |
| 68 | if (process.env.NODE_ENV === 'development') { | 69 | setToken(undefined) |
| 69 | localStorage.removeItem('token') | 70 | sessionStorage.removeItem('token') |
| 70 | } else { | 71 | localStorage.setItem('dj-location',window.location.href) |
| 71 | Cookies.remove('ACCESS_TOKEN') | 72 | window.location.href = window._config.casBaseURL + '/logout?service=' + encodeURIComponent(window.location.href); |
| 72 | } | ||
| 73 | if (window._config.casEnable) { | ||
| 74 | window.location.href = window._config.casBaseURL + '/logout?service=' + encodeURIComponent(window.location.href); | ||
| 75 | } else { | ||
| 76 | this.$router.push({ | ||
| 77 | path: '/login', | ||
| 78 | replace: true, | ||
| 79 | query: { | ||
| 80 | redirect: router.currentRoute.value.fullPath | ||
| 81 | } | ||
| 82 | }) | ||
| 83 | } | ||
| 84 | }) | 73 | }) |
| 85 | }, | 74 | }, |
| 86 | 75 | ... | ... |
| 1 | /* | 1 | /* |
| 2 | * @Description: | 2 | * @Description: |
| 3 | * @Autor: renchao | 3 | * @Autor: renchao |
| 4 | * @LastEditTime: 2023-05-30 15:28:52 | 4 | * @LastEditTime: 2023-06-20 10:02:14 |
| 5 | */ | 5 | */ |
| 6 | import Vue from 'vue' | 6 | import Vue from 'vue' |
| 7 | import App from './App' | 7 | import App from './App' |
| ... | @@ -16,12 +16,10 @@ import Loading from '@/components/Loading/index.js'; | ... | @@ -16,12 +16,10 @@ import Loading from '@/components/Loading/index.js'; |
| 16 | import { startLoadingAddCount, endLoadingSubCount } from './utils/requestLoading' | 16 | import { startLoadingAddCount, endLoadingSubCount } from './utils/requestLoading' |
| 17 | Vue.mixin(mixin); | 17 | Vue.mixin(mixin); |
| 18 | Vue.use(Loading.directive); | 18 | Vue.use(Loading.directive); |
| 19 | import rules from './utils/rule.js' | ||
| 20 | // 引入xml | 19 | // 引入xml |
| 21 | import x2js from 'x2js' | 20 | import x2js from 'x2js' |
| 22 | Vue.prototype.$x2js = new x2js() | 21 | Vue.prototype.$x2js = new x2js() |
| 23 | // 全局方法挂载 | 22 | // 全局方法挂载 |
| 24 | Vue.prototype.$rules = rules | ||
| 25 | // 全局加载 | 23 | // 全局加载 |
| 26 | Vue.prototype.$startLoading = startLoadingAddCount | 24 | Vue.prototype.$startLoading = startLoadingAddCount |
| 27 | Vue.prototype.$endLoading = endLoadingSubCount | 25 | Vue.prototype.$endLoading = endLoadingSubCount | ... | ... |
| 1 | /* | 1 | /* |
| 2 | * @Description: 项目权限 | 2 | * @Description: 项目权限 |
| 3 | * @Autor: renchao | 3 | * @Autor: renchao |
| 4 | * @LastEditTime: 2023-06-13 16:28:25 | 4 | * @LastEditTime: 2023-06-20 10:07:56 |
| 5 | */ | 5 | */ |
| 6 | import Vue from 'vue' | 6 | import Vue from 'vue' |
| 7 | import axios from 'axios' | 7 | import axios from 'axios' |
| ... | @@ -9,10 +9,10 @@ import router from './router' | ... | @@ -9,10 +9,10 @@ import router from './router' |
| 9 | import store from './store' | 9 | import store from './store' |
| 10 | import Cookies from 'js-cookie' | 10 | import Cookies from 'js-cookie' |
| 11 | import { getMenuInfo } from '@/api/user' | 11 | import { getMenuInfo } from '@/api/user' |
| 12 | import { getUrlParam } from '@/utils/operation' | ||
| 13 | import NProgress from 'nprogress' // progress bar | 12 | import NProgress from 'nprogress' // progress bar |
| 14 | import 'nprogress/nprogress.css' // progress bar style | 13 | import 'nprogress/nprogress.css' // progress bar style |
| 15 | import getPageTitle from '@/utils/get-page-title' | 14 | import getPageTitle from '@/utils/get-page-title' |
| 15 | import {getToken, getUrlParam, setToken} from "@/utils/util"; | ||
| 16 | 16 | ||
| 17 | NProgress.configure({ showSpinner: false }) // NProgress Configuration | 17 | NProgress.configure({ showSpinner: false }) // NProgress Configuration |
| 18 | 18 | ||
| ... | @@ -23,36 +23,51 @@ router.beforeEach(async (to, from, next) => { | ... | @@ -23,36 +23,51 @@ router.beforeEach(async (to, from, next) => { |
| 23 | let hasAddDict = store.state.dict.addDict | 23 | let hasAddDict = store.state.dict.addDict |
| 24 | let hasAddRoute = store.state.permission.addRoutes | 24 | let hasAddRoute = store.state.permission.addRoutes |
| 25 | // cas操作 | 25 | // cas操作 |
| 26 | const token = localStorage.getItem("token") || Cookies.get('ACCESS_TOKEN'); | 26 | const token = getToken() |
| 27 | if (to.path === '/login') { | 27 | let locationUrl = window.location.origin + window.location.pathname; |
| 28 | if (token) { | 28 | function casValidate (ticket){ |
| 29 | next('/') | 29 | axios.get(window._config.services.management + "/management/cas/validate", { |
| 30 | } else { | 30 | params: { |
| 31 | ticket: ticket, | ||
| 32 | service: locationUrl, | ||
| 33 | }, | ||
| 34 | }).then(async (res) => { | ||
| 35 | if (res.data.status === 1) { | ||
| 36 | setToken(res.data.content.accessToken) | ||
| 37 | window.location.href = localStorage.getItem('dj-location') + '#' + localStorage.getItem('hash') | ||
| 38 | } else { | ||
| 39 | alert(res.data.message) | ||
| 40 | } | ||
| 41 | }).catch((e) => { | ||
| 42 | console.log(e); | ||
| 43 | }); | ||
| 44 | } | ||
| 45 | async function permission () { | ||
| 46 | if (!hasAddDict) { | ||
| 47 | store.dispatch('dict/generateDic') | ||
| 48 | } | ||
| 49 | if (hasAddRoute) { | ||
| 31 | next() | 50 | next() |
| 51 | // next({ ...to, replace: true }) | ||
| 52 | } else { | ||
| 53 | const { result: getMenuData } = await getMenuInfo() | ||
| 54 | const accessRoutes = await store.dispatch('permission/generateRoutes', getMenuData) | ||
| 55 | // 获取用户信息 | ||
| 56 | await store.dispatch('user/getUserInfo') | ||
| 57 | router.addRoutes([...accessRoutes, { path: '*', redirect: '/404', hidden: true }]) | ||
| 58 | const routeTo = Cookies.get('routerTo') | ||
| 59 | if (routeTo && routeTo !== '/') { | ||
| 60 | next({ ...to, replace: true }) | ||
| 61 | } else { | ||
| 62 | next('/home') | ||
| 63 | } | ||
| 32 | } | 64 | } |
| 33 | return | ||
| 34 | } | 65 | } |
| 35 | if (window._config.casEnable === true) { | 66 | if (window._config.casEnable === true) { |
| 36 | let locationUrl = window.location.protocol + '//' + window.location.host + window.location.pathname; | ||
| 37 | if (!token) { | 67 | if (!token) { |
| 38 | let ticket = getUrlParam('ticket'); | 68 | let ticket = getUrlParam("ticket"); |
| 39 | if (ticket) { | 69 | if (ticket) { |
| 40 | axios.get(Vue.prototype.BASE_API.ip + "/management/cas/validate", { | 70 | casValidate(ticket) |
| 41 | params: { | ||
| 42 | 'ticket': ticket, | ||
| 43 | 'service': locationUrl | ||
| 44 | } | ||
| 45 | }).then(async (res) => { | ||
| 46 | if (process.env.NODE_ENV === 'development') { | ||
| 47 | localStorage.setItem('token', res.data.content.accessToken) | ||
| 48 | } else { | ||
| 49 | Cookies.set('ACCESS_TOKEN', res.data.content.accessToken) | ||
| 50 | } | ||
| 51 | window.location.href = localStorage.getItem('location') | ||
| 52 | |||
| 53 | }).catch(e => { | ||
| 54 | console.log(e) | ||
| 55 | }) | ||
| 56 | } else { | 71 | } else { |
| 57 | localStorage.setItem("location", window.location.href) | 72 | localStorage.setItem("location", window.location.href) |
| 58 | window.location.href = window._config.casBaseURL + '/login?service=' + encodeURIComponent(locationUrl); | 73 | window.location.href = window._config.casBaseURL + '/login?service=' + encodeURIComponent(locationUrl); |
| ... | @@ -60,44 +75,43 @@ router.beforeEach(async (to, from, next) => { | ... | @@ -60,44 +75,43 @@ router.beforeEach(async (to, from, next) => { |
| 60 | } else { | 75 | } else { |
| 61 | permission() | 76 | permission() |
| 62 | } | 77 | } |
| 63 | |||
| 64 | async function permission () { | ||
| 65 | if (!hasAddDict) { | ||
| 66 | store.dispatch('dict/generateDic') | ||
| 67 | } | ||
| 68 | if (hasAddRoute) { | ||
| 69 | next() | ||
| 70 | // next({ ...to, replace: true }) | ||
| 71 | } else { | ||
| 72 | const { result: getMenuData } = await getMenuInfo() | ||
| 73 | const accessRoutes = await store.dispatch('permission/generateRoutes', getMenuData) | ||
| 74 | // 获取用户信息 | ||
| 75 | await store.dispatch('user/getUserInfo') | ||
| 76 | router.addRoutes([...accessRoutes, { path: '*', redirect: '/404', hidden: true }]) | ||
| 77 | const routeTo = Cookies.get('routerTo') | ||
| 78 | if (routeTo && routeTo !== '/') { | ||
| 79 | next({ ...to, replace: true }) | ||
| 80 | } else { | ||
| 81 | next('/home') | ||
| 82 | } | ||
| 83 | } | ||
| 84 | } | ||
| 85 | } else { | 78 | } else { |
| 79 | // 使用自定义页面实现单点登录 | ||
| 86 | if (!token) { | 80 | if (!token) { |
| 87 | const redirectData = { | 81 | let ticket = getUrlParam('ticket'); |
| 88 | path: '/login', | 82 | if (ticket) { |
| 89 | replace: true, | 83 | casValidate(ticket) |
| 84 | } else { | ||
| 85 | if (to.path === '/login') { | ||
| 86 | if (getUrlParam('_flag') === '1') { | ||
| 87 | next(); | ||
| 88 | return | ||
| 89 | } else { | ||
| 90 | //todo: loginUrl 需要业务系统根据登录页面路由地址获取,这里只是简写 | ||
| 91 | localStorage.setItem('dj-location',locationUrl) | ||
| 92 | localStorage.setItem('hash',to.fullPath) | ||
| 93 | window.location.href = window._config.services.management + `/management/cas/status?loginUrl=${window._config.baseUrl}/dj/&hash=/login&` | ||
| 94 | return | ||
| 95 | } | ||
| 96 | } | ||
| 97 | localStorage.setItem('dj-location',locationUrl) | ||
| 98 | localStorage.setItem('hash',to.fullPath) | ||
| 99 | //todo: loginUrl 需要业务系统根据登录页面路由地址获取,这里只是简写 | ||
| 100 | window.location.href = window._config.services.management + `/management/cas/status?loginUrl=${window._config.baseUrl}/dj/&hash=/login` | ||
| 90 | } | 101 | } |
| 91 | if (to.path) { | 102 | }else{ |
| 92 | redirectData.query = { | 103 | if (to.path === '/login') { |
| 93 | ...redirectData.query, | 104 | const redirectUrl = getUrlParam('redirectUrl'); |
| 94 | redirect: to.path, | 105 | if (redirectUrl && redirectUrl !== '') { |
| 95 | }; | 106 | window.location.href = redirectUrl |
| 107 | return | ||
| 108 | } else { | ||
| 109 | next('/'); | ||
| 110 | return | ||
| 111 | } | ||
| 96 | } | 112 | } |
| 97 | next(redirectData) | 113 | permission() |
| 98 | return | ||
| 99 | } | 114 | } |
| 100 | next() | ||
| 101 | } | 115 | } |
| 102 | NProgress.done() | 116 | NProgress.done() |
| 103 | }) | 117 | }) | ... | ... |
| ... | @@ -72,6 +72,14 @@ export const constantRoutes = [ | ... | @@ -72,6 +72,14 @@ export const constantRoutes = [ |
| 72 | } | 72 | } |
| 73 | ] | 73 | ] |
| 74 | }, | 74 | }, |
| 75 | // 登录页 | ||
| 76 | { | ||
| 77 | path: '/login', | ||
| 78 | component: () => import('@/views/login/index'), | ||
| 79 | name: 'login', | ||
| 80 | hidden: true, | ||
| 81 | meta: { title: '登录' } | ||
| 82 | }, | ||
| 75 | ] | 83 | ] |
| 76 | /** | 84 | /** |
| 77 | * asyncRoutes | 85 | * asyncRoutes | ... | ... |
src/utils/dictionary.js
0 → 100644
| ... | @@ -114,27 +114,6 @@ export function down (index, data) { | ... | @@ -114,27 +114,6 @@ export function down (index, data) { |
| 114 | } | 114 | } |
| 115 | } | 115 | } |
| 116 | 116 | ||
| 117 | export function getUrlParam (paraName) { | ||
| 118 | let url = document.location.toString(); | ||
| 119 | let arrObj = url.split('?'); | ||
| 120 | |||
| 121 | if (arrObj.length > 1) { | ||
| 122 | let arrPara = arrObj[1].split('&'); | ||
| 123 | let arr; | ||
| 124 | |||
| 125 | for (let i = 0; i < arrPara.length; i++) { | ||
| 126 | arr = arrPara[i].split('='); | ||
| 127 | |||
| 128 | if (arr != null && arr[0] === paraName) { | ||
| 129 | const index = arr[1].indexOf("#"); | ||
| 130 | return arr[1].substring(0, index); | ||
| 131 | } | ||
| 132 | } | ||
| 133 | return ''; | ||
| 134 | } else { | ||
| 135 | return ''; | ||
| 136 | } | ||
| 137 | } | ||
| 138 | /** | 117 | /** |
| 139 | * @description: 身份证读卡器 | 118 | * @description: 身份证读卡器 |
| 140 | * @author: renchao | 119 | * @author: renchao | ... | ... |
| ... | @@ -2,13 +2,13 @@ | ... | @@ -2,13 +2,13 @@ |
| 2 | /* | 2 | /* |
| 3 | * @Description: 此文件主要创建 axios 实例,然后添加请求拦截器和响应拦截器 | 3 | * @Description: 此文件主要创建 axios 实例,然后添加请求拦截器和响应拦截器 |
| 4 | * @Autor: renchao | 4 | * @Autor: renchao |
| 5 | * @LastEditTime: 2023-06-13 17:16:13 | 5 | * @LastEditTime: 2023-06-20 10:12:53 |
| 6 | */ | 6 | */ |
| 7 | import axios from 'axios' | 7 | import axios from 'axios' |
| 8 | import Router from '@/router' | 8 | import Router from '@/router' |
| 9 | import Cookies from 'js-cookie' | ||
| 10 | import { Message } from 'element-ui' | 9 | import { Message } from 'element-ui' |
| 11 | import { endLoadingSubCount } from './requestLoading' | 10 | import { endLoadingSubCount } from './requestLoading' |
| 11 | import {getToken, setToken} from "@/utils/util"; | ||
| 12 | 12 | ||
| 13 | // create an axios instance | 13 | // create an axios instance |
| 14 | const service = axios.create({ | 14 | const service = axios.create({ |
| ... | @@ -27,7 +27,7 @@ const service = axios.create({ | ... | @@ -27,7 +27,7 @@ const service = axios.create({ |
| 27 | service.interceptors.request.use( | 27 | service.interceptors.request.use( |
| 28 | config => { | 28 | config => { |
| 29 | if (process.env.NODE_ENV === 'development') { | 29 | if (process.env.NODE_ENV === 'development') { |
| 30 | const token = localStorage.getItem('token') | 30 | const token = getToken() |
| 31 | // 添加请求头 | 31 | // 添加请求头 |
| 32 | if (token) { | 32 | if (token) { |
| 33 | config.headers['Authorization'] = 'Bearer ' + token | 33 | config.headers['Authorization'] = 'Bearer ' + token |
| ... | @@ -67,11 +67,8 @@ service.interceptors.response.use( | ... | @@ -67,11 +67,8 @@ service.interceptors.response.use( |
| 67 | window.__isNeedLogin = false | 67 | window.__isNeedLogin = false |
| 68 | Message.error('token失效,请重新登录'); | 68 | Message.error('token失效,请重新登录'); |
| 69 | let locationUrl = window.location.protocol + '//' + window.location.host + window.location.pathname; | 69 | let locationUrl = window.location.protocol + '//' + window.location.host + window.location.pathname; |
| 70 | if (process.env.NODE_ENV === 'development') { | 70 | setToken(undefined) |
| 71 | localStorage.removeItem('token') | 71 | sessionStorage.removeItem('token') |
| 72 | } else { | ||
| 73 | Cookies.remove('ACCESS_TOKEN') | ||
| 74 | } | ||
| 75 | if (window._config.casEnable) { | 72 | if (window._config.casEnable) { |
| 76 | window.location.href = window._config.casBaseURL + '/logout?service=' + encodeURIComponent(locationUrl); | 73 | window.location.href = window._config.casBaseURL + '/logout?service=' + encodeURIComponent(locationUrl); |
| 77 | } else { | 74 | } else { | ... | ... |
src/utils/rule.js
deleted
100644 → 0
| 1 | // 手机号码验证 | ||
| 2 | const validatePhone = (rule, value, callback) => { | ||
| 3 | const patter = new RegExp('^1([358][0-9]|4[579]|66|7[0135678]|9[89])[0-9]{8}$') | ||
| 4 | if (!patter.test(value)) { | ||
| 5 | return callback(new Error('请输入正确格式的手机号!')) | ||
| 6 | } else { | ||
| 7 | callback() // 必须有此项回调,否则验证会一直不通过 | ||
| 8 | } | ||
| 9 | } | ||
| 10 | export default { | ||
| 11 | common: { | ||
| 12 | phone: [{// 手机号 | ||
| 13 | required: true, | ||
| 14 | message: '手机号不能为空' | ||
| 15 | }, { | ||
| 16 | validator: validatePhone, | ||
| 17 | trigger: 'blur' | ||
| 18 | }] | ||
| 19 | } | ||
| 20 | } | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
src/utils/util.cookies.js
0 → 100644
| 1 | import Cookies from 'js-cookie' | ||
| 2 | |||
| 3 | const cookies = {} | ||
| 4 | |||
| 5 | /** | ||
| 6 | * @description 存储 cookie 值 | ||
| 7 | * @param {String} name cookie name | ||
| 8 | * @param {String} value cookie value | ||
| 9 | * @param {Object} setting cookie setting | ||
| 10 | */ | ||
| 11 | cookies.set = function (name = 'default', value = '', cookieSetting = {}) { | ||
| 12 | let currentCookieSetting = { | ||
| 13 | expires: 1 | ||
| 14 | } | ||
| 15 | Object.assign(currentCookieSetting, cookieSetting) | ||
| 16 | Cookies.set(`${name}`, value, currentCookieSetting) | ||
| 17 | } | ||
| 18 | |||
| 19 | /** | ||
| 20 | * @description 拿到 cookie 值 | ||
| 21 | * @param {String} name cookie name | ||
| 22 | */ | ||
| 23 | cookies.get = function (name = 'default') { | ||
| 24 | return Cookies.get(`${name}`) | ||
| 25 | } | ||
| 26 | |||
| 27 | /** | ||
| 28 | * @description 拿到 cookie 全部的值 | ||
| 29 | */ | ||
| 30 | cookies.getAll = function () { | ||
| 31 | return Cookies.get() | ||
| 32 | } | ||
| 33 | |||
| 34 | /** | ||
| 35 | * @description 删除 cookie | ||
| 36 | * @param {String} name cookie name | ||
| 37 | */ | ||
| 38 | cookies.remove = function (name = 'default') { | ||
| 39 | return Cookies.remove(`${name}`) | ||
| 40 | } | ||
| 41 | |||
| 42 | export default cookies |
src/utils/util.js
0 → 100644
| 1 | import cookies from './util.cookies' | ||
| 2 | export function getUrlParam(paraName) { | ||
| 3 | let url = document.location.toString(); | ||
| 4 | let arrObj = url.split('?'); | ||
| 5 | |||
| 6 | if (arrObj.length > 1) { | ||
| 7 | let arrPara = arrObj[1].split('&'); | ||
| 8 | let arr; | ||
| 9 | |||
| 10 | for (let i = 0; i < arrPara.length; i++) { | ||
| 11 | arr = arrPara[i].split('='); | ||
| 12 | |||
| 13 | if (arr != null && arr[0] === paraName) { | ||
| 14 | // 截取#之前的内容 | ||
| 15 | let result = arr[1].endsWith('#/') ? arr[1].substr(0, arr[1].indexOf('#')) : arr[1]; | ||
| 16 | return result; | ||
| 17 | } | ||
| 18 | } | ||
| 19 | return ''; | ||
| 20 | } else { | ||
| 21 | return ''; | ||
| 22 | } | ||
| 23 | } | ||
| 24 | |||
| 25 | export function setToken(token) { | ||
| 26 | if (token === undefined) { | ||
| 27 | if (process.env.NODE_ENV === 'development') { | ||
| 28 | sessionStorage.removeItem('token') | ||
| 29 | } else { | ||
| 30 | cookies.remove('ACCESS_TOKEN') | ||
| 31 | } | ||
| 32 | } else { | ||
| 33 | if (process.env.NODE_ENV === 'development') { | ||
| 34 | sessionStorage.setItem('token', token); | ||
| 35 | } else { | ||
| 36 | cookies.set('ACCESS_TOKEN', token) | ||
| 37 | } | ||
| 38 | } | ||
| 39 | } | ||
| 40 | |||
| 41 | export function getToken() { | ||
| 42 | if (process.env.NODE_ENV === 'development') { | ||
| 43 | return sessionStorage.getItem('token') | ||
| 44 | } | ||
| 45 | return cookies.get('ACCESS_TOKEN') | ||
| 46 | } | ||
| 47 |
| 1 | <!-- | 1 | <!-- |
| 2 | * @Description : 房地产权2 | 2 | * @Description : 房地产权2 |
| 3 | * @Autor : miaofang | 3 | * @Autor : miaofang |
| 4 | * @LastEditTime : 2023-06-16 16:53:36 | 4 | * @LastEditTime: 2023-06-20 09:59:18 |
| 5 | --> | 5 | --> |
| 6 | <template> | 6 | <template> |
| 7 | <div class="djxxTable"> | 7 | <div class="djxxTable"> |
| ... | @@ -26,8 +26,8 @@ | ... | @@ -26,8 +26,8 @@ |
| 26 | item.prop == 'qszt' && row.qszt == '0' ? 'linshiIcon' : '', | 26 | item.prop == 'qszt' && row.qszt == '0' ? 'linshiIcon' : '', |
| 27 | ]"> | 27 | ]"> |
| 28 | <div class="setbut" v-if="item.prop == 'cz'"> | 28 | <div class="setbut" v-if="item.prop == 'cz'"> |
| 29 | <el-button type="text" icon="el-icon-edit-outline" @click="editDialog(row)">编辑</el-button> | 29 | <el-button type="text" icon="el-icon-edit-outline" @click="editDialog(row)">编辑</el-button> |
| 30 | <el-button type="text" icon="el-icon-edit-outline" @click="deleteDialog(row)">删除</el-button> | 30 | <el-button type="text" icon="el-icon-edit-outline" @click="deleteDialog(row)">删除</el-button> |
| 31 | </div> | 31 | </div> |
| 32 | <div class="icon" v-if="item.prop == 'qszt' && row.qszt == '0'"> | 32 | <div class="icon" v-if="item.prop == 'qszt' && row.qszt == '0'"> |
| 33 | 正在办理 | 33 | 正在办理 |
| ... | @@ -47,68 +47,67 @@ | ... | @@ -47,68 +47,67 @@ |
| 47 | </template> | 47 | </template> |
| 48 | 48 | ||
| 49 | <script> | 49 | <script> |
| 50 | import { getFdcq2List } from "@/api/registerBook.js"; | 50 | import { getFdcq2List } from "@/api/registerBook.js"; |
| 51 | import { datas } from "./qlxxFormData.js"; | 51 | import { datas } from "./qlxxFormData.js"; |
| 52 | export default { | 52 | export default { |
| 53 | data () { | 53 | data () { |
| 54 | return { | 54 | return { |
| 55 | title: "房地产权登记信息(独幢、层、套、间房屋)", | 55 | title: "房地产权登记信息(独幢、层、套、间房屋)", |
| 56 | qsztList: datas.columns().qsztList, | 56 | qsztList: datas.columns().qsztList, |
| 57 | checkList: datas.columns().checkList, | 57 | checkList: datas.columns().checkList, |
| 58 | //传递参数 | 58 | //传递参数 |
| 59 | propsParam: this.$attrs, | 59 | propsParam: this.$attrs, |
| 60 | //列表数据 | 60 | //列表数据 |
| 61 | tableData: [], | 61 | tableData: [], |
| 62 | //空列值个数 | 62 | //空列值个数 |
| 63 | emptycolNum: datas.columns().emptycolNum, | 63 | emptycolNum: datas.columns().emptycolNum, |
| 64 | //列名称对象 | 64 | //列名称对象 |
| 65 | columns: datas.columns().FDCQ2, | 65 | columns: datas.columns().FDCQ2, |
| 66 | }; | 66 | }; |
| 67 | }, | ||
| 68 | created () { | ||
| 69 | this.loadData(); | ||
| 70 | }, | ||
| 71 | methods: { | ||
| 72 | loadData () { | ||
| 73 | getFdcq2List({ | ||
| 74 | bdcdyid: this.propsParam.bdcdyid, | ||
| 75 | qllx: this.propsParam.qllx, | ||
| 76 | qszt: this.checkList, | ||
| 77 | }).then((res) => { | ||
| 78 | if (res.code === 200) { | ||
| 79 | console.log("国有建设",res); | ||
| 80 | this.tableData = res.result; | ||
| 81 | if (this.tableData.length < datas.columns().emptycolNum) { | ||
| 82 | this.emptycolNum = | ||
| 83 | datas.columns().emptycolNum - this.tableData.length; | ||
| 84 | } else { | ||
| 85 | this.emptycolNum = 0; | ||
| 86 | } | ||
| 87 | } | ||
| 88 | }); | ||
| 89 | }, | 67 | }, |
| 90 | checkChange () { | 68 | created () { |
| 91 | if (this.checkList.length === 0) { | 69 | this.loadData(); |
| 92 | this.tableData = []; | ||
| 93 | this.emptycolNum = datas.columns().emptycolNum; | ||
| 94 | } else { | ||
| 95 | this.loadData(); | ||
| 96 | } | ||
| 97 | }, | 70 | }, |
| 98 | getQsztName (code) { | 71 | methods: { |
| 99 | let name = ""; | 72 | loadData () { |
| 100 | for (let item of this.qsztList) { | 73 | getFdcq2List({ |
| 101 | if (item.value == code) { | 74 | bdcdyid: this.propsParam.bdcdyid, |
| 102 | name = item.label; | 75 | qllx: this.propsParam.qllx, |
| 103 | break; | 76 | qszt: this.checkList, |
| 77 | }).then((res) => { | ||
| 78 | if (res.code === 200) { | ||
| 79 | this.tableData = res.result; | ||
| 80 | if (this.tableData.length < datas.columns().emptycolNum) { | ||
| 81 | this.emptycolNum = | ||
| 82 | datas.columns().emptycolNum - this.tableData.length; | ||
| 83 | } else { | ||
| 84 | this.emptycolNum = 0; | ||
| 85 | } | ||
| 86 | } | ||
| 87 | }); | ||
| 88 | }, | ||
| 89 | checkChange () { | ||
| 90 | if (this.checkList.length === 0) { | ||
| 91 | this.tableData = []; | ||
| 92 | this.emptycolNum = datas.columns().emptycolNum; | ||
| 93 | } else { | ||
| 94 | this.loadData(); | ||
| 104 | } | 95 | } |
| 105 | } | 96 | }, |
| 106 | return name; | 97 | getQsztName (code) { |
| 107 | }, | 98 | let name = ""; |
| 99 | for (let item of this.qsztList) { | ||
| 100 | if (item.value == code) { | ||
| 101 | name = item.label; | ||
| 102 | break; | ||
| 103 | } | ||
| 104 | } | ||
| 105 | return name; | ||
| 106 | }, | ||
| 108 | 107 | ||
| 109 | // 编辑 | 108 | // 编辑 |
| 110 | editDialog(row){ | 109 | editDialog (row) { |
| 111 | this.$confirm('此操作将新增一条补录信息, 是否继续?', '提示', { | 110 | this.$confirm('此操作将新增一条补录信息, 是否继续?', '提示', { |
| 112 | confirmButtonText: '确定', | 111 | confirmButtonText: '确定', |
| 113 | cancelButtonText: '取消', | 112 | cancelButtonText: '取消', |
| 114 | type: 'warning' | 113 | type: 'warning' |
| ... | @@ -126,21 +125,21 @@ export default { | ... | @@ -126,21 +125,21 @@ export default { |
| 126 | }); | 125 | }); |
| 127 | }); | 126 | }); |
| 128 | 127 | ||
| 129 | // this.$popupDialog("编辑", "djbworkflow/djbBook/components/djbeditDialog", { | 128 | // this.$popupDialog("编辑", "djbworkflow/djbBook/components/djbeditDialog", { |
| 130 | // datalist:this.columns, | 129 | // datalist:this.columns, |
| 131 | // data: row, | 130 | // data: row, |
| 132 | 131 | ||
| 133 | // }) | 132 | // }) |
| 134 | 133 | ||
| 135 | }, | 134 | }, |
| 136 | // 删除 | 135 | // 删除 |
| 137 | deleteDialog(row){ | 136 | deleteDialog (row) { |
| 138 | this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', { | 137 | this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', { |
| 139 | confirmButtonText: '确定', | 138 | confirmButtonText: '确定', |
| 140 | cancelButtonText: '取消', | 139 | cancelButtonText: '取消', |
| 141 | type: 'warning' | 140 | type: 'warning' |
| 142 | }).then(() => { | 141 | }).then(() => { |
| 143 | // let bsmClmx = this.previewImg.imgList[this.previewImg.index].bsmClmx | 142 | // let bsmClmx = this.previewImg.imgList[this.previewImg.index].bsmClmx |
| 144 | // deleteClmx(bsmClmx).then(res => { | 143 | // deleteClmx(bsmClmx).then(res => { |
| 145 | // if (res.code == 200) { | 144 | // if (res.code == 200) { |
| 146 | // that.$emit('updateList', res.result) | 145 | // that.$emit('updateList', res.result) |
| ... | @@ -163,10 +162,10 @@ export default { | ... | @@ -163,10 +162,10 @@ export default { |
| 163 | 162 | ||
| 164 | } | 163 | } |
| 165 | 164 | ||
| 166 | }, | 165 | }, |
| 167 | }; | 166 | }; |
| 168 | </script> | 167 | </script> |
| 169 | 168 | ||
| 170 | <style lang="scss" scoped> | 169 | <style lang="scss" scoped> |
| 171 | @import "./qlxxCommon.scss"; | 170 | @import "./qlxxCommon.scss"; |
| 172 | </style> | 171 | </style> | ... | ... |
src/views/login/images/close.svg
0 → 100644
| 1 | <?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | <svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> | ||
| 3 | <!-- Generator: Sketch 56.3 (81716) - https://sketch.com --> | ||
| 4 | <title>隐藏</title> | ||
| 5 | <desc>Created with Sketch.</desc> | ||
| 6 | <g id="隐藏" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> | ||
| 7 | <path d="M6.03072945,10.4919039 L5.73253111,12.7244564 C5.69597191,12.998168 5.44444773,13.190418 5.17073614,13.1538588 C4.89702455,13.1172996 4.70477455,12.8657754 4.74133375,12.5920638 L5.06197696,10.1914709 C4.16952851,9.84883526 3.3412638,9.33963486 2.57840414,8.66573829 L1.54490653,10.84056 C1.42638298,11.0899729 1.12811158,11.1960797 0.878698712,11.0775561 C0.629285844,10.9590326 0.52317909,10.6607612 0.641702643,10.4113483 L1.82431508,7.92273947 C1.1849111,7.22355926 0.59765863,6.39438608 0.0634190527,5.43653783 C-0.0710917064,5.19537095 0.0153701679,4.89082404 0.256537054,4.75631328 C0.49770394,4.62180252 0.802250844,4.7082644 0.936761603,4.94943128 C2.7218512,8.14995221 5.0622906,9.71807475 8.00009033,9.71807475 C10.9378901,9.71807475 13.2783295,8.14995221 15.0634191,4.94943128 C15.1979298,4.7082644 15.5024767,4.62180252 15.7436436,4.75631328 C15.9848105,4.89082404 16.0712724,5.19537095 15.9367616,5.43653783 C15.4384416,6.32998517 14.8939977,7.11147869 14.304129,7.77994884 L15.554597,10.4113483 C15.6731206,10.6607612 15.5670138,10.9590326 15.3176009,11.0775561 C15.0681881,11.1960797 14.7699167,11.0899729 14.6513931,10.84056 L13.5590961,8.54200484 C12.6449311,9.38205401 11.6347609,9.98078996 10.5307537,10.3348952 L10.8296734,12.5728484 C10.8662326,12.84656 10.6739826,13.0980842 10.400271,13.1346434 C10.1265594,13.1712026 9.87503523,12.9789526 9.83847602,12.705241 L9.5545725,10.5797109 C9.05379094,10.671864 8.53557174,10.7180748 8.00009033,10.7180748 C7.31528214,10.7180748 6.6587062,10.6424973 6.03072945,10.4919039 Z" id="形状结合" fill="#B4B4B4" fill-rule="nonzero"></path> | ||
| 8 | </g> | ||
| 9 | </svg> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
src/views/login/images/login-bg.png
0 → 100644
1.45 MB
src/views/login/images/logo-login.png
0 → 100644
16.7 KB
src/views/login/images/open.svg
0 → 100644
| 1 | <?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | <svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> | ||
| 3 | <!-- Generator: Sketch 56.3 (81716) - https://sketch.com --> | ||
| 4 | <title>显示</title> | ||
| 5 | <desc>Created with Sketch.</desc> | ||
| 6 | <g id="显示" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> | ||
| 7 | <path d="M8,13.5944821 C5.08783139,13.5944821 2.47901047,11.8330303 0.184843129,8.37324049 L3.55271368e-15,8.09448212 L0.184843129,7.81572374 C2.47901047,4.35593396 5.08783139,2.59448212 8,2.59448212 C10.9121686,2.59448212 13.5209895,4.35593396 15.8151569,7.81572374 L16,8.09448212 L15.8151569,8.37324049 C13.5209895,11.8330303 10.9121686,13.5944821 8,13.5944821 Z M8,3.59448212 C5.53379057,3.59448212 3.26813906,5.07524663 1.19270822,8.09448212 C3.26813906,11.1137176 5.53379057,12.5944821 8,12.5944821 C10.4662094,12.5944821 12.7318609,11.1137176 14.8072918,8.09448212 C12.7318609,5.07524663 10.4662094,3.59448212 8,3.59448212 Z M9.12299335,5.45693297 C8.68456104,5.73514629 8.39327462,6.2269821 8.39327462,6.78731592 C8.39327462,7.65519196 9.09205701,8.3587445 9.95404878,8.3587445 C10.2357938,8.3587445 10.5001026,8.28358173 10.7282737,8.15208542 C10.6331828,9.58403639 9.44941475,10.7158874 8.00308108,10.7158874 C6.49459548,10.7158874 5.27172629,9.48467042 5.27172629,7.96588735 C5.27172629,6.44710429 6.49459548,5.21588735 8.00308108,5.21588735 C8.40216026,5.21588735 8.78124917,5.30206019 9.12299335,5.45693297 Z" id="形状结合" fill="#0091FF" fill-rule="nonzero"></path> | ||
| 8 | </g> | ||
| 9 | </svg> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
src/views/login/images/password.svg
0 → 100644
| 1 | <?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | <svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> | ||
| 3 | <!-- Generator: Sketch 56.3 (81716) - https://sketch.com --> | ||
| 4 | <title>password</title> | ||
| 5 | <desc>Created with Sketch.</desc> | ||
| 6 | <g id="password" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> | ||
| 7 | <path d="M4.0011827,6.56400569 L4.0011827,4.87032377 C4.0011827,2.74881464 5.72100565,1.02899168 7.84251478,1.02899168 C9.96402392,1.02899168 11.6838469,2.74881464 11.6838469,4.87032377 L11.6838469,5.7928261 L10.7661998,5.7928261 L10.7661998,4.87032377 C10.7661998,3.25561712 9.45722144,1.94663874 7.84251478,1.94663874 C6.22780813,1.94663874 4.91882975,3.25561712 4.91882975,4.87032377 L4.91882975,6.56400569 L12.6850296,6.56400569 C13.4907156,6.56400569 14.1438531,7.21714323 14.1438531,8.02282922 L14.1438531,13.4028479 C14.1438531,14.2085339 13.4907156,14.8616714 12.6850296,14.8616714 L3,14.8616714 C2.19431401,14.8616714 1.54117647,14.2085339 1.54117647,13.4028479 L1.54117647,8.02282922 C1.54117647,7.21714323 2.19431401,6.56400569 3,6.56400569 L4.0011827,6.56400569 Z M3,7.48165275 C2.70111649,7.48165275 2.45882353,7.72394571 2.45882353,8.02282922 L2.45882353,13.4028479 C2.45882353,13.7017314 2.70111649,13.9440244 3,13.9440244 L12.6850296,13.9440244 C12.9839131,13.9440244 13.226206,13.7017314 13.226206,13.4028479 L13.226206,8.02282922 C13.226206,7.72394571 12.9839131,7.48165275 12.6850296,7.48165275 L3,7.48165275 Z" id="形状结合" fill="#6D7278" fill-rule="nonzero"></path> | ||
| 8 | </g> | ||
| 9 | </svg> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
src/views/login/images/user.svg
0 → 100644
| 1 | <?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | <svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> | ||
| 3 | <!-- Generator: Sketch 56.3 (81716) - https://sketch.com --> | ||
| 4 | <title>user</title> | ||
| 5 | <desc>Created with Sketch.</desc> | ||
| 6 | <g id="user" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> | ||
| 7 | <path d="M5.70040727,8.36338619 C4.96173204,8.70409103 4.31101884,9.24156453 3.78444015,9.95202823 C2.94870333,11.0788243 2.46666667,12.5978855 2.46666667,14.1120529 C2.46666667,14.2335891 2.59610246,14.3514362 2.77548069,14.3514362 L13.1661579,14.3514362 C13.3455361,14.3514362 13.4749719,14.2335891 13.4749719,14.1120529 C13.4749719,12.0278862 12.5626821,10.0351425 11.1096588,8.92092682 L11.6776024,8.18028444 C13.3693466,9.47755739 14.4083053,11.7469879 14.4083053,14.1120529 C14.4083053,14.7696063 13.8424825,15.2847695 13.1661579,15.2847695 L2.77548069,15.2847695 C2.09915609,15.2847695 1.53333333,14.7696063 1.53333333,14.1120529 C1.53333333,12.4013641 2.07738878,10.6868606 3.0347023,9.39614673 C3.53516209,8.7209228 4.13710805,8.17384176 4.81664416,7.7738283 C3.93912572,7.01707839 3.38576579,5.91929918 3.38576579,4.69637232 C3.38576579,2.40902821 5.3212908,0.556854908 7.69195361,0.556854908 C10.063179,0.556854908 11.9981414,2.40606943 11.9981414,4.69289423 C11.9981414,6.98023832 10.0626164,8.83241167 7.69195361,8.83241167 C6.97429417,8.83241167 6.29659602,8.66302531 5.70040727,8.36338619 Z M4.31909912,4.69637232 C4.31909912,6.45803072 5.82696798,7.89907833 7.69195361,7.89907833 C9.55611742,7.89907833 11.0648081,6.4553581 11.0648081,4.69289423 C11.0648081,2.93123585 9.55693923,1.49018824 7.69195361,1.49018824 C5.82778977,1.49018824 4.31909912,2.93390843 4.31909912,4.69637232 Z" id="形状结合" fill="#6D7278" fill-rule="nonzero"></path> | ||
| 8 | </g> | ||
| 9 | </svg> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
src/views/login/index.vue
0 → 100644
| 1 | <template> | ||
| 2 | <div id="login"> | ||
| 3 | <div class="login-logo"><img src="./images/logo-login.png" /></div> | ||
| 4 | <div class="login-con"> | ||
| 5 | <!-- <div class="login-title">用户登录</div>--> | ||
| 6 | <div class="login-user" :class="{ 'select-border': change.user }"> | ||
| 7 | <img class="user-icon" src="./images/user.svg" /> | ||
| 8 | <!-- <div class="line-mid"></div>--> | ||
| 9 | <input | ||
| 10 | type="text" | ||
| 11 | class="user-input" | ||
| 12 | placeholder="请输入您的账号" | ||
| 13 | v-model="userInfo.username" | ||
| 14 | @focus="reduceBorder('user')" | ||
| 15 | @blur="addBorder('user')" | ||
| 16 | /> | ||
| 17 | <span class="warning" v-show="warning.user">账号不能为空</span> | ||
| 18 | </div> | ||
| 19 | <div class="login-user user-mt" :class="{ 'select-border': change.pass }"> | ||
| 20 | <img class="user-icon" src="./images/password.svg" /> | ||
| 21 | <!-- <div class="line-mid"></div>--> | ||
| 22 | <input | ||
| 23 | type="password" | ||
| 24 | class="user-input" | ||
| 25 | placeholder="请输入您的密码" | ||
| 26 | v-model="userInfo.password" | ||
| 27 | v-show="!selectEye" | ||
| 28 | @focus="reduceBorder('pass')" | ||
| 29 | @blur="addBorder('pass')" | ||
| 30 | /> | ||
| 31 | <input | ||
| 32 | type="text" | ||
| 33 | class="user-input" | ||
| 34 | placeholder="请输入您的密码" | ||
| 35 | v-model="userInfo.password" | ||
| 36 | v-show="selectEye" | ||
| 37 | @focus="reduceBorder('pass')" | ||
| 38 | @blur="addBorder('pass')" | ||
| 39 | /> | ||
| 40 | <img | ||
| 41 | class="password-eye" | ||
| 42 | src="./images/open.svg" | ||
| 43 | @click="selectEyes" | ||
| 44 | v-show="selectEye" | ||
| 45 | /> | ||
| 46 | <img | ||
| 47 | class="password-eye" | ||
| 48 | src="./images/close.svg" | ||
| 49 | @click="selectEyes" | ||
| 50 | v-show="!selectEye" | ||
| 51 | /> | ||
| 52 | <span class="warning" v-show="warning.pass">密码不能为空</span> | ||
| 53 | </div> | ||
| 54 | <!-- <div class="login-remake"> | ||
| 55 | <i | ||
| 56 | class="icon iconfont iconfuxuan1 icon-style" | ||
| 57 | v-show="!selectIcon" | ||
| 58 | @click="selectRemeber" | ||
| 59 | ></i> | ||
| 60 | <i | ||
| 61 | class="icon iconfont iconfuxuan-xuanzhong icon-select" | ||
| 62 | v-show="selectIcon" | ||
| 63 | @click="selectRemeber" | ||
| 64 | ></i> | ||
| 65 | <span class="remake_txt" @click="selectRemeber">记住账号密码</span> | ||
| 66 | </div> --> | ||
| 67 | <div id="loginBtn" class="login-btn" @click="goHome">登录</div> | ||
| 68 | </div> | ||
| 69 | <div class="reserved-con"> | ||
| 70 | <!-- <div class="reserved-words">版权所有:2020©某某市自然资源和规划</div> --> | ||
| 71 | <div class="reserved-words line-two"> | ||
| 72 | 技术支持:爬山虎科技股份有限公司 | ||
| 73 | </div> | ||
| 74 | </div> | ||
| 75 | </div> | ||
| 76 | </template> | ||
| 77 | <script> | ||
| 78 | import {getUrlParam} from "@/utils/util"; | ||
| 79 | import axios from "axios"; | ||
| 80 | export default { | ||
| 81 | data() { | ||
| 82 | return { | ||
| 83 | selectIcon: true, | ||
| 84 | selectEye: false, | ||
| 85 | userInfo:{ | ||
| 86 | username: 'admin', | ||
| 87 | password: '123', | ||
| 88 | redirectUrl: '' | ||
| 89 | }, | ||
| 90 | change: { | ||
| 91 | //边框 | ||
| 92 | user: false, | ||
| 93 | pass: false, | ||
| 94 | }, | ||
| 95 | warning: { | ||
| 96 | user: false, | ||
| 97 | pass: false, | ||
| 98 | }, | ||
| 99 | canDo: 1, | ||
| 100 | }; | ||
| 101 | }, | ||
| 102 | mounted() { | ||
| 103 | this.initPage(); | ||
| 104 | this.userInfo.redirectUrl = localStorage.getItem('dj-location') | ||
| 105 | }, | ||
| 106 | methods: { | ||
| 107 | initPage() { | ||
| 108 | let userInfo = | ||
| 109 | localStorage.getItem("userInfo") && | ||
| 110 | JSON.parse(localStorage.getItem("userInfo")); | ||
| 111 | if (userInfo) { | ||
| 112 | this.userInfo.username = userInfo.username; | ||
| 113 | this.userInfo.password = userInfo.password; | ||
| 114 | } | ||
| 115 | }, | ||
| 116 | selectRemeber() { | ||
| 117 | this.selectIcon = !this.selectIcon; | ||
| 118 | }, | ||
| 119 | goHome() { | ||
| 120 | axios.post(window._config.services.management + "/management/cas/login", this.userInfo).then(response => { | ||
| 121 | if (response.data.status === 1) { | ||
| 122 | if (response.data.content.location) { | ||
| 123 | window.location.href = response.data.content.location | ||
| 124 | } | ||
| 125 | } else { | ||
| 126 | this.$message.error(response.data.message) | ||
| 127 | } | ||
| 128 | }).catch(error => { | ||
| 129 | console.log(error) | ||
| 130 | this.$message.error(error.message) | ||
| 131 | }) | ||
| 132 | }, | ||
| 133 | selectEyes() { | ||
| 134 | this.selectEye = !this.selectEye; | ||
| 135 | }, | ||
| 136 | reduceBorder(type) { | ||
| 137 | //获取焦点 | ||
| 138 | if (type == "user") { | ||
| 139 | this.change.user = true; | ||
| 140 | } else { | ||
| 141 | this.change.pass = true; | ||
| 142 | } | ||
| 143 | }, | ||
| 144 | addBorder(type) { | ||
| 145 | //失去焦点 | ||
| 146 | if (type == "user") { | ||
| 147 | this.change.user = false; | ||
| 148 | if (!this.userInfo.username) { | ||
| 149 | this.warning.user = true; | ||
| 150 | } else { | ||
| 151 | this.warning.user = false; | ||
| 152 | } | ||
| 153 | } else { | ||
| 154 | this.change.pass = false; | ||
| 155 | if (!this.userInfo.password) { | ||
| 156 | this.warning.pass = true; | ||
| 157 | } else { | ||
| 158 | this.warning.pass = false; | ||
| 159 | } | ||
| 160 | } | ||
| 161 | }, | ||
| 162 | }, | ||
| 163 | }; | ||
| 164 | </script> | ||
| 165 | <style lang="scss" scoped> | ||
| 166 | #login { | ||
| 167 | width: 100vw; | ||
| 168 | height: 100vh; | ||
| 169 | background: url("./images/login-bg.png") no-repeat bottom center; | ||
| 170 | background-size: 100% 100%; | ||
| 171 | overflow: hidden; | ||
| 172 | .login-logo { | ||
| 173 | margin-top: 8%; | ||
| 174 | height: 38px; | ||
| 175 | width: 100%; | ||
| 176 | text-align: center; | ||
| 177 | } | ||
| 178 | .login-logo img { | ||
| 179 | height: 100%; | ||
| 180 | } | ||
| 181 | .login-con { | ||
| 182 | margin: 88px auto; | ||
| 183 | width: 380px; | ||
| 184 | } | ||
| 185 | .login-user { | ||
| 186 | width: 100%; | ||
| 187 | height: 46px; | ||
| 188 | border: 1px solid rgba(155, 155, 155, 1); | ||
| 189 | box-sizing: border-box; | ||
| 190 | margin: 38px auto auto auto; | ||
| 191 | border-radius: 2px; | ||
| 192 | position: relative; | ||
| 193 | .user-icon { | ||
| 194 | float: left; | ||
| 195 | margin: 13px auto auto 10px; | ||
| 196 | width: 28px; | ||
| 197 | height: 18px; | ||
| 198 | } | ||
| 199 | .user-input { | ||
| 200 | width: 80%; | ||
| 201 | float: left; | ||
| 202 | font-size: 16px; | ||
| 203 | outline: 0; | ||
| 204 | border: none; | ||
| 205 | color: #4a4a4a; | ||
| 206 | line-height: 260%; | ||
| 207 | background-color: transparent; | ||
| 208 | } | ||
| 209 | .password-eye { | ||
| 210 | float: right; | ||
| 211 | width: 16px; | ||
| 212 | height: 16px; | ||
| 213 | margin-right: 12px; | ||
| 214 | margin-top: 13px; | ||
| 215 | cursor: pointer; | ||
| 216 | } | ||
| 217 | .warning { | ||
| 218 | font-size: 12px; | ||
| 219 | color: red; | ||
| 220 | position: absolute; | ||
| 221 | left: 0; | ||
| 222 | bottom: -18px; | ||
| 223 | } | ||
| 224 | } | ||
| 225 | .user-mt { | ||
| 226 | margin-top: 26px; | ||
| 227 | } | ||
| 228 | .select-border { | ||
| 229 | border: 1px solid rgba(0, 113, 255, 1); | ||
| 230 | } | ||
| 231 | .login-remake { | ||
| 232 | width: 320px; | ||
| 233 | height: 14px; | ||
| 234 | margin: 0 auto; | ||
| 235 | margin-top: 26px; | ||
| 236 | .icon-style { | ||
| 237 | font-size: 12px; | ||
| 238 | color: #5b5b5b; | ||
| 239 | float: left; | ||
| 240 | line-height: 14px; | ||
| 241 | cursor: pointer; | ||
| 242 | } | ||
| 243 | .icon-select { | ||
| 244 | font-size: 12px; | ||
| 245 | color: rgba(0, 127, 255, 1); | ||
| 246 | float: left; | ||
| 247 | line-height: 14px; | ||
| 248 | cursor: pointer; | ||
| 249 | } | ||
| 250 | .remake_txt { | ||
| 251 | font-size: 12px; | ||
| 252 | line-height: 14px; | ||
| 253 | color: #5b5b5b; | ||
| 254 | margin-left: 6px; | ||
| 255 | float: left; | ||
| 256 | cursor: pointer; | ||
| 257 | } | ||
| 258 | } | ||
| 259 | .login-btn { | ||
| 260 | width: 100%; | ||
| 261 | height: 40px; | ||
| 262 | background: rgba(0, 127, 255, 1); | ||
| 263 | border-radius: 4px; | ||
| 264 | margin: 0 auto; | ||
| 265 | margin-top: 40px; | ||
| 266 | font-size: 16px; | ||
| 267 | line-height: 40px; | ||
| 268 | text-align: center; | ||
| 269 | color: #fff; | ||
| 270 | cursor: pointer; | ||
| 271 | } | ||
| 272 | .reserved-con { | ||
| 273 | margin: 38px auto; | ||
| 274 | } | ||
| 275 | .reserved-words { | ||
| 276 | font-size: 12px; | ||
| 277 | color: #b4b4b4; | ||
| 278 | text-align: center; | ||
| 279 | } | ||
| 280 | .line-two { | ||
| 281 | margin-top: 8px; | ||
| 282 | } | ||
| 283 | } | ||
| 284 | </style> | ||
| 285 | |||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 1 | <template> | 1 | <template> |
| 2 | <div class="edit"> | 2 | <div class="edit"> |
| 3 | <el-tabs type="card" v-model="activeName" > | 3 | <el-tabs type="card" v-model="activeName"> |
| 4 | <el-tab-pane label="楼盘页面" name="first"></el-tab-pane> | 4 | <el-tab-pane label="楼盘页面" name="first"></el-tab-pane> |
| 5 | <el-tab-pane label="单元列表页面" name="second"></el-tab-pane> | 5 | <el-tab-pane label="单元列表页面" name="second"></el-tab-pane> |
| 6 | </el-tabs> | 6 | </el-tabs> |
| 7 | <div class="tab-content" v-if="activeName=='first'" ref="tabContent" :style="{ height: lpbContentHight + 'px' }" v-show="bjztFlag"> | 7 | <div |
| 8 | <!-- 楼盘表主体 --> | 8 | class="tab-content" |
| 9 | <div class="lp-overview" :style="{ width: lpbContentwidth + 'px' }"> | 9 | v-if="activeName == 'first'" |
| 10 | <lpbContent ref="lpbContent" :zrzbsm="formData.bsm" :key="time"></lpbContent> | 10 | ref="tabContent" |
| 11 | </div> | 11 | :style="{ height: lpbContentHight + 'px' }" |
| 12 | <!-- 右侧图例 --> | 12 | v-show="bjztFlag" |
| 13 | <div class="lp-legend"> | 13 | > |
| 14 | <div class="handleCol"> | 14 | <!-- 楼盘表主体 --> |
| 15 | <div class="btn" @click="legendToggle"> | 15 | <div class="lp-overview" :style="{ width: lpbContentwidth + 'px' }"> |
| 16 | <i v-show="!legendToggleFlag" class="el-icon-d-arrow-left"></i> | 16 | <lpbContent |
| 17 | <i v-show="legendToggleFlag" class="el-icon-d-arrow-right"></i> | 17 | ref="lpbContent" |
| 18 | </div> | 18 | :zrzbsm="formData.bsm" |
| 19 | <div :class="selectedZt == 'dyzt' ? 'dyzt selectedZt' : 'dyzt'" @click="selectedZt = 'dyzt'"> | 19 | :key="time" |
| 20 | <span>单元状态</span> | 20 | ></lpbContent> |
| 21 | </div> | 21 | </div> |
| 22 | <div :class="selectedZt == 'fwxz' ? 'fwxz selectedZt' : 'fwxz'" @click="selectedZt = 'fwxz'"> | 22 | <!-- 右侧图例 --> |
| 23 | <span>房屋性质</span> | 23 | <div class="lp-legend"> |
| 24 | </div> | 24 | <div class="handleCol"> |
| 25 | <div :class="selectedZt == 'fwyt' ? 'fwyt selectedZt' : 'fwyt'" @click="selectedZt = 'fwyt'"> | 25 | <div class="btn" @click="legendToggle"> |
| 26 | <span>房屋用途</span> | 26 | <i v-show="!legendToggleFlag" class="el-icon-d-arrow-left"></i> |
| 27 | </div> | 27 | <i v-show="legendToggleFlag" class="el-icon-d-arrow-right"></i> |
| 28 | <div :class="selectedZt == 'qsx' ? 'qsx selectedZt' : 'qsx'" @click="selectedZt = 'qsx'"> | 28 | </div> |
| 29 | <span>缺失项</span> | 29 | <div |
| 30 | </div> | 30 | :class="selectedZt == 'dyzt' ? 'dyzt selectedZt' : 'dyzt'" |
| 31 | @click="selectedZt = 'dyzt'" | ||
| 32 | > | ||
| 33 | <span>单元状态</span> | ||
| 34 | </div> | ||
| 35 | <div | ||
| 36 | :class="selectedZt == 'fwxz' ? 'fwxz selectedZt' : 'fwxz'" | ||
| 37 | @click="selectedZt = 'fwxz'" | ||
| 38 | > | ||
| 39 | <span>房屋性质</span> | ||
| 40 | </div> | ||
| 41 | <div | ||
| 42 | :class="selectedZt == 'fwyt' ? 'fwyt selectedZt' : 'fwyt'" | ||
| 43 | @click="selectedZt = 'fwyt'" | ||
| 44 | > | ||
| 45 | <span>房屋用途</span> | ||
| 46 | </div> | ||
| 47 | <div | ||
| 48 | :class="selectedZt == 'qsx' ? 'qsx selectedZt' : 'qsx'" | ||
| 49 | @click="selectedZt = 'qsx'" | ||
| 50 | > | ||
| 51 | <span>缺失项</span> | ||
| 52 | </div> | ||
| 53 | </div> | ||
| 54 | <div | ||
| 55 | class="legendTable-wrap" | ||
| 56 | :style="{ width: legendToggleFlag ? '200px' : '0' }" | ||
| 57 | > | ||
| 58 | <table | ||
| 59 | class="legendTable" | ||
| 60 | v-show="selectedZt == 'dyzt'" | ||
| 61 | cellspacing="1" | ||
| 62 | cellpadding="1" | ||
| 63 | border="1" | ||
| 64 | > | ||
| 65 | <tr> | ||
| 66 | <th>状态</th> | ||
| 67 | <th>套数</th> | ||
| 68 | <th>面积</th> | ||
| 69 | </tr> | ||
| 70 | <tr | ||
| 71 | v-for="(item, index) in dyztList" | ||
| 72 | :key="index" | ||
| 73 | class="cp" | ||
| 74 | @click="handleChoosedH(item.bsms, item.color)" | ||
| 75 | > | ||
| 76 | <td> | ||
| 77 | <i | ||
| 78 | class="fa fa-circle" | ||
| 79 | :style="{ backgroundColor: item.color }" | ||
| 80 | ></i | ||
| 81 | >{{ item.name }} | ||
| 82 | </td> | ||
| 83 | <td>{{ item.ts }}</td> | ||
| 84 | <td>{{ item.mj }}</td> | ||
| 85 | </tr> | ||
| 86 | </table> | ||
| 31 | 87 | ||
| 32 | </div> | 88 | <table |
| 33 | <div class="legendTable-wrap" :style="{ width: legendToggleFlag ? '204px' : '0' }"> | 89 | class="legendTable" |
| 34 | <table class="legendTable" v-show="selectedZt == 'dyzt'" cellspacing="1" cellpadding="1" border="1"> | 90 | v-show="selectedZt == 'fwxz'" |
| 35 | <tr> | 91 | cellspacing="1" |
| 36 | <th>状态</th> | 92 | cellpadding="1" |
| 37 | <th>套数</th> | 93 | border="1" |
| 38 | <th>面积</th> | 94 | > |
| 39 | </tr> | 95 | <tr> |
| 40 | <tr v-for="(item, index) in dyztList" :key="index" class="cp" | 96 | <th>性质</th> |
| 41 | @click="handleChoosedH(item.bsms, item.color)"> | 97 | <th>套数</th> |
| 42 | <td> | 98 | <th>面积</th> |
| 43 | <i class="circle" :style="{ 'background-color': item.color }"></i>{{ item.name }} | 99 | </tr> |
| 44 | </td> | 100 | <tr |
| 45 | <td>{{ item.ts }}</td> | 101 | v-for="(item, index) in fwxzList" |
| 46 | <td>{{ item.mj }}</td> | 102 | :key="index" |
| 47 | </tr> | 103 | class="cp" |
| 48 | </table> | 104 | @click="handleChoosedH(item.bsms, item.color)" |
| 49 | <table class="legendTable" v-show="selectedZt == 'fwxz'" cellspacing="1" cellpadding="1" border="1"> | 105 | > |
| 50 | <tr> | 106 | <td> |
| 51 | <th>性质</th> | 107 | <i |
| 52 | <th>套数</th> | 108 | class="fa fa-circle" |
| 53 | <th>面积</th> | 109 | :style="{ backgroundColor: item.color }" |
| 54 | </tr> | 110 | ></i |
| 55 | <tr v-for="(item, index) in fwxzList" :key="index" class="cp" | 111 | >{{ item.name }} |
| 56 | @click="handleChoosedH(item.bsms, item.color)"> | 112 | </td> |
| 57 | <td> | 113 | <td>{{ item.ts }}</td> |
| 58 | <i class="circle" :style="{ 'background-color': item.color }"></i>{{ item.name }} | 114 | <td>{{ item.mj }}</td> |
| 59 | </td> | 115 | </tr> |
| 60 | <td>{{ item.ts }}</td> | 116 | <tr v-show="fwxzList.length < 1"> |
| 61 | <td>{{ item.mj }}</td> | 117 | <td colspan="3" class="tac">暂无数据</td> |
| 62 | </tr> | 118 | </tr> |
| 63 | <tr v-show="fwxzList.length < 1"> | 119 | </table> |
| 64 | <td colspan="3" class="tac">暂无数据</td> | ||
| 65 | </tr> | ||
| 66 | </table> | ||
| 67 | 120 | ||
| 68 | <table class="legendTable" v-show="selectedZt == 'fwyt'" cellspacing="1" cellpadding="1" border="1"> | 121 | <table |
| 69 | <tr> | 122 | class="legendTable" |
| 70 | <th>用途</th> | 123 | v-show="selectedZt == 'fwyt'" |
| 71 | <th>套数</th> | 124 | cellspacing="1" |
| 72 | <th>面积</th> | 125 | cellpadding="1" |
| 73 | </tr> | 126 | border="1" |
| 74 | <tr v-for="(item, index) in fwytList" :key="index" class="cp" | 127 | > |
| 75 | @click="handleChoosedH(item.bsms, item.color)"> | 128 | <tr> |
| 76 | <td> | 129 | <th>用途</th> |
| 77 | <i class="circle" :style="{ 'background-color': item.color }"></i>{{ item.name }} | 130 | <th>套数</th> |
| 78 | </td> | 131 | <th>面积</th> |
| 79 | <td>{{ item.ts }}</td> | 132 | </tr> |
| 80 | <td>{{ item.mj }}</td> | 133 | <tr |
| 81 | </tr> | 134 | v-for="(item, index) in fwytList" |
| 82 | <tr v-show="fwytList.length < 1"> | 135 | :key="index" |
| 83 | <td colspan="3" class="tac">暂无数据</td> | 136 | class="cp" |
| 84 | </tr> | 137 | @click="handleChoosedH(item.bsms, item.color)" |
| 85 | </table> | 138 | > |
| 139 | <td> | ||
| 140 | <i | ||
| 141 | class="fa fa-circle" | ||
| 142 | :style="{ backgroundColor: item.color }" | ||
| 143 | ></i | ||
| 144 | >{{ item.name }} | ||
| 145 | </td> | ||
| 146 | <td>{{ item.ts }}</td> | ||
| 147 | <td>{{ item.mj }}</td> | ||
| 148 | </tr> | ||
| 149 | <tr v-show="fwytList.length < 1"> | ||
| 150 | <td colspan="3" class="tac">暂无数据</td> | ||
| 151 | </tr> | ||
| 152 | </table> | ||
| 86 | 153 | ||
| 87 | <table class="legendTable" v-show="selectedZt == 'qsx'" cellspacing="1" cellpadding="1" border="1"> | 154 | <table |
| 88 | <tr> | 155 | class="legendTable" |
| 89 | <th>数据缺失项</th> | 156 | v-show="selectedZt == 'qsx'" |
| 90 | <th>套数</th> | 157 | cellspacing="1" |
| 91 | <th>面积</th> | 158 | cellpadding="1" |
| 92 | </tr> | 159 | border="1" |
| 93 | <tr v-for="(item, index) in qsxList" :key="index" class="cp" @click="handleChoosedH(item.bsms, item.color)"> | 160 | > |
| 94 | <td> | 161 | <tr> |
| 95 | <i class="circle" :style="{ 'background-color': item.color }"></i>{{ item.name }} | 162 | <th>数据缺失项</th> |
| 96 | </td> | 163 | <th>套数</th> |
| 97 | <td>{{ item.ts }}</td> | 164 | <th>面积</th> |
| 98 | <td>0</td> | 165 | </tr> |
| 99 | </tr> | 166 | <tr |
| 100 | <tr v-show="qsxList.length < 1"> | 167 | v-for="(item, index) in qsxList" |
| 101 | <td colspan="3" class="tac">暂无数据</td> | 168 | :key="index" |
| 102 | </tr> | 169 | class="cp" |
| 103 | </table> | 170 | @click="handleChoosedH(item.bsms, item.color)" |
| 104 | </div> | 171 | > |
| 105 | </div> | 172 | <td> |
| 106 | </div> | 173 | <i |
| 174 | class="fa fa-circle" | ||
| 175 | :style="{ backgroundColor: item.color }" | ||
| 176 | ></i | ||
| 177 | >{{ item.name }} | ||
| 178 | </td> | ||
| 179 | <td>{{ item.ts }}</td> | ||
| 180 | <td>0</td> | ||
| 181 | </tr> | ||
| 182 | <tr v-show="qsxList.length < 1"> | ||
| 183 | <td colspan="3" class="tac">暂无数据</td> | ||
| 184 | </tr> | ||
| 185 | </table> | ||
| 186 | </div> | ||
| 187 | </div> | ||
| 188 | </div> | ||
| 107 | <!-- 单元列表页面--> | 189 | <!-- 单元列表页面--> |
| 108 | <selectZrzH v-else :sqywInfo="formData" /> | 190 | <selectZrzH v-else :sqywInfo="formData" /> |
| 109 | </div> | 191 | </div> |
| 110 | </template> | 192 | </template> |
| 111 | 193 | ||
| 112 | <script> | 194 | <script> |
| 113 | import lpbContent from "./lpbContent/index"; | 195 | import lpbContent from "./lpbContent/index"; |
| 114 | import selectZrzH from "../ywbl/ywsq/components/selectZrzH" | 196 | import selectZrzH from "../ywbl/ywsq/components/selectZrzH"; |
| 115 | import { getLpbFwytAndQlxz,getLpbQsxtj } from '@/api/lpb' | 197 | import { getLpbFwytAndQlxz, getLpbQsxtj, getLpbTj } from "@/api/lpb"; |
| 116 | export default { | 198 | export default { |
| 117 | name: "lpb", | 199 | name: "lpb", |
| 118 | props: { | 200 | props: { |
| 119 | formData: { | 201 | formData: { |
| 120 | type: Object, | 202 | type: Object, |
| 121 | default: {} | 203 | default: {}, |
| 122 | } | 204 | }, |
| 123 | }, | 205 | }, |
| 124 | components: { | 206 | components: { |
| 125 | lpbContent, | 207 | lpbContent, |
| 126 | selectZrzH | 208 | selectZrzH, |
| 127 | }, | 209 | }, |
| 128 | data () { | 210 | data() { |
| 129 | return { | 211 | return { |
| 130 | activeName:"first", | 212 | activeName: "first", |
| 131 | bsms: [], | 213 | bsms: [], |
| 132 | dialogVisible: false, | 214 | dialogVisible: false, |
| 133 | scyclx: "0", //1是实测 0是预测 | 215 | scyclx: "0", //1是实测 0是预测 |
| 134 | menuType: "", | 216 | menuType: "", |
| 135 | selectedZt: "dyzt", //图例选中项,默认选中单元状态 | 217 | selectedZt: "dyzt", //图例选中项,默认选中单元状态 |
| 136 | dyztList: [ | 218 | dyztList: [ |
| 137 | { | 219 | { |
| 138 | name: "未确权", | 220 | name: "未确权", |
| 139 | color: "#83AAFE", | 221 | color: "#83AAFE", |
| 140 | ts: "12", | 222 | ts: "12", |
| 141 | mj: "1633", | 223 | mj: "1633", |
| 142 | }, | 224 | }, |
| 143 | { | 225 | { |
| 144 | name: "已确权", | 226 | name: "已确权", |
| 145 | color: "#6EDEE1", | 227 | color: "#6EDEE1", |
| 146 | ts: "22", | 228 | ts: "22", |
| 147 | mj: "3109", | 229 | mj: "3109", |
| 148 | }, | 230 | }, |
| 149 | { | 231 | { |
| 150 | name: "已备案", | 232 | name: "已备案", |
| 151 | color: "#8ADC88", | 233 | color: "#8ADC88", |
| 152 | ts: "3", | 234 | ts: "3", |
| 153 | mj: "409", | 235 | mj: "409", |
| 154 | }, | 236 | }, |
| 155 | { | 237 | { |
| 156 | name: "预抵押", | 238 | name: "预抵押", |
| 157 | color: "#F2AD67", | 239 | color: "#F2AD67", |
| 158 | ts: "11", | 240 | ts: "11", |
| 159 | mj: "1466", | 241 | mj: "1466", |
| 160 | }, | 242 | }, |
| 161 | { | 243 | { |
| 162 | name: "在建抵押", | 244 | name: "在建抵押", |
| 163 | color: "#F191C8", | 245 | color: "#F191C8", |
| 164 | ts: "13", | 246 | ts: "13", |
| 165 | mj: "1792", | 247 | mj: "1792", |
| 166 | }, | 248 | }, |
| 167 | { | 249 | { |
| 168 | name: "抵押", | 250 | name: "抵押", |
| 169 | color: "#FF8282", | 251 | color: "#FF8282", |
| 170 | ts: "14", | 252 | ts: "14", |
| 171 | mj: "13", | 253 | mj: "13", |
| 172 | }, | 254 | }, |
| 173 | { | 255 | { |
| 174 | name: "查封", | 256 | name: "查封", |
| 175 | color: "#D7CECF", | 257 | color: "#D7CECF", |
| 176 | ts: "9", | 258 | ts: "9", |
| 177 | mj: "1436", | 259 | mj: "1436", |
| 178 | }, | 260 | }, |
| 179 | { | 261 | { |
| 180 | name: "异议", | 262 | name: "异议", |
| 181 | color: "#D4A3EB", | 263 | color: "#D4A3EB", |
| 182 | ts: "34", | 264 | ts: "34", |
| 183 | mj: "4342", | 265 | mj: "4342", |
| 184 | }, | 266 | }, |
| 185 | { | 267 | { |
| 186 | name: "限制", | 268 | name: "限制", |
| 187 | color: "#A5A3FB", | 269 | color: "#A5A3FB", |
| 188 | ts: "2", | 270 | ts: "2", |
| 189 | mj: "285", | 271 | mj: "285", |
| 190 | }, | 272 | }, |
| 191 | ], | 273 | ], |
| 192 | fwxzList: [], | 274 | fwxzList: [], |
| 193 | fwytList: [], | 275 | fwytList: [], |
| 194 | qsxList: [], | 276 | qsxList: [], |
| 195 | legendToggleFlag: false, | 277 | legendToggleFlag: false, |
| 196 | lpbContentHight: "", | 278 | lpbContentHight: "", |
| 197 | lpbContentwidth: "", | 279 | lpbContentwidth: "", |
| 198 | time: "", | 280 | time: "", |
| 199 | dyztBsmList: {}, //单元状态bsmList | 281 | dyztBsmList: {}, //单元状态bsmList |
| 200 | bjztFlag: true, | 282 | bjztFlag: true, |
| 201 | qsztList: [], | 283 | qsztList: [], |
| 202 | }; | 284 | }; |
| 203 | }, | 285 | }, |
| 204 | created () { | 286 | created() { |
| 205 | window.addEventListener("resize", this.getHeight); | 287 | window.addEventListener("resize", this.getHeight); |
| 206 | console.log(this.formData); | 288 | console.log(this.formData); |
| 207 | this.getHeight(); | 289 | this.getHeight(); |
| 208 | }, | 290 | }, |
| 209 | mounted () { | 291 | mounted() { |
| 210 | //获取各项单元状态的户bsm | 292 | //获取各项单元状态的户bsm |
| 211 | // this.getDyztBsmList(); | 293 | this.getDyztBsmList(); |
| 212 | //获取房屋用途统计数据 | 294 | //获取房屋用途统计数据 |
| 213 | this.getLpbFwytAndQlxz(); | 295 | this.getLpbFwytAndQlxz(); |
| 214 | // 楼盘表绘制区域宽度计算:楼盘表区域宽度-图例宽度34-滚动条宽度6 | 296 | // 楼盘表绘制区域宽度计算:楼盘表区域宽度-图例宽度34-滚动条宽度6 |
| 215 | setTimeout(() => { | 297 | setTimeout(() => { |
| 216 | this.lpbContentwidth = ((document.documentElement.clientWidth || document.body.clientWidth) - 340) - 34 - 6; | 298 | this.lpbContentwidth = |
| 217 | }, 100); | 299 | (document.documentElement.clientWidth || document.body.clientWidth) - |
| 218 | }, | 300 | 340 - |
| 219 | methods: { | 301 | 34 - |
| 220 | /* handleTabClick(event){ | 302 | 6; |
| 303 | }, 100); | ||
| 304 | }, | ||
| 305 | methods: { | ||
| 306 | /* handleTabClick(event){ | ||
| 221 | if(event.name=="first"){ | 307 | if(event.name=="first"){ |
| 222 | this.$router.push({ | 308 | this.$router.push({ |
| 223 | path:"/lpb/index", | 309 | path:"/lpb/index", |
| ... | @@ -228,284 +314,264 @@ export default { | ... | @@ -228,284 +314,264 @@ export default { |
| 228 | }) | 314 | }) |
| 229 | } | 315 | } |
| 230 | },*/ | 316 | },*/ |
| 231 | //获取高度计算lpb内容区高度 | 317 | //获取高度计算lpb内容区高度 |
| 232 | getHeight () { | 318 | getHeight() { |
| 233 | this.lpbContentHight = window.innerHeight - 190; | 319 | this.lpbContentHight = window.innerHeight - 190; |
| 234 | }, | 320 | }, |
| 235 | //图例的展开收起 | 321 | //图例的展开收起 |
| 236 | legendToggle () { | 322 | legendToggle() { |
| 237 | this.legendToggleFlag = !this.legendToggleFlag; | 323 | this.legendToggleFlag = !this.legendToggleFlag; |
| 238 | }, | 324 | }, |
| 239 | //切换房屋状态 | 325 | //切换房屋状态 |
| 240 | handleChoosedH (bsms, color) { | 326 | handleChoosedH(bsms, color) { |
| 241 | //每次切换房屋状态,将之前高亮的户边框颜色重置为默认 | 327 | debugger |
| 242 | this.$refs.lpbContent.choosedList = []; | 328 | this.$refs.lpbContent.changeChoosed(bsms, color); |
| 243 | this.$refs.lpbContent.$refs.hBsm.forEach((item) => { | 329 | }, |
| 244 | item.style.border = ''; | 330 | //获取各项单元状态统计数据 |
| 245 | item.className = ''; | 331 | getDyztBsmList() { |
| 246 | }); | 332 | getLpbTj(this.formData.bsm).then((res) => { |
| 247 | this.bsms = bsms; | 333 | if (res.code === 200) { |
| 248 | //清除选中户 | 334 | this.dyztList = res.result; |
| 249 | this.$nextTick(() => { | 335 | this.dyztList.splice(1, 0, this.dyztList[8]); |
| 250 | //给hBsmList传值 | 336 | this.dyztList.pop(); |
| 251 | // console.log(bsms,'bsms'); | 337 | this.dyztList.forEach((item) => { |
| 252 | this.$refs.lpbContent.choosedList = bsms; | 338 | item.ts = item.bsms.length; |
| 253 | this.$refs.lpbContent.borderColor = color; | 339 | switch (item.name) { |
| 254 | }) | 340 | case "Qqzt": |
| 255 | }, | 341 | item.color = "#6EDEE1"; |
| 256 | //获取各项单元状态统计数据 | 342 | item.name = "已确权"; |
| 257 | getDyztBsmList () { | 343 | break; |
| 258 | let data = { | 344 | case "Wqqzt": |
| 259 | zrzbsm: 'ca71bcc498794a1e0ec3ac93869719f6', | 345 | item.color = "#83AAFE"; |
| 260 | scyclx: 1, | 346 | item.name = "未确权"; |
| 261 | }; | 347 | break; |
| 262 | getLpbTj(data).then((res) => { | 348 | case "Bazt": |
| 263 | if (res.code === 200) { | 349 | item.color = "#8ADC88"; |
| 264 | this.dyztList = res.result; | 350 | item.name = "已备案"; |
| 265 | this.dyztList.splice(1, 0, this.dyztList[8]); | 351 | break; |
| 266 | this.dyztList.pop(); | 352 | case "Ydyzt": |
| 267 | this.dyztList.forEach(item => { | 353 | item.color = "#F2AD67"; |
| 268 | item.ts = item.bsms.length; | 354 | item.name = "预抵押"; |
| 269 | switch (item.name) { | 355 | break; |
| 270 | case 'Qqzt': | 356 | case "Zjgcdyzt": |
| 271 | item.color = "#6EDEE1"; | 357 | item.color = "#F191C8"; |
| 272 | item.name = "已确权" | 358 | item.name = "在建抵押"; |
| 273 | break; | 359 | break; |
| 274 | case 'Wqqzt': | 360 | case "Dyzt": |
| 275 | item.color = "#83AAFE"; | 361 | item.color = "#FF8282"; |
| 276 | item.name = "未确权" | 362 | item.name = "抵押"; |
| 277 | break; | 363 | break; |
| 278 | case 'Bazt': | 364 | case "Cfzt": |
| 279 | item.color = "#8ADC88"; | 365 | item.color = "#D7CECF"; |
| 280 | item.name = "已备案" | 366 | item.name = "查封"; |
| 281 | break; | 367 | break; |
| 282 | case 'Ydyzt': | 368 | case "Yyzt": |
| 283 | item.color = "#F2AD67"; | 369 | item.color = "#D4A3EB"; |
| 284 | item.name = "预抵押" | 370 | item.name = "异议"; |
| 285 | break; | 371 | break; |
| 286 | case 'Zjgcdyzt': | 372 | case "Xzzt": |
| 287 | item.color = "#F191C8"; | 373 | item.color = "#A5A3FB"; |
| 288 | item.name = "在建抵押" | 374 | item.name = "限制"; |
| 289 | break; | 375 | break; |
| 290 | case 'Dyzt': | 376 | default: |
| 291 | item.color = "#FF8282"; | 377 | break; |
| 292 | item.name = "抵押" | 378 | } |
| 293 | break; | 379 | }); |
| 294 | case 'Cfzt': | 380 | } |
| 295 | item.color = "#D7CECF"; | 381 | }); |
| 296 | item.name = "查封" | 382 | }, |
| 297 | break; | 383 | // 获取房屋用途和房屋性质及缺失项统计数据 |
| 298 | case 'Yyzt': | 384 | getLpbFwytAndQlxz() { |
| 299 | item.color = "#D4A3EB"; | 385 | getLpbFwytAndQlxz(this.formData.bsm).then((res) => { |
| 300 | item.name = "异议" | 386 | if (res.code === 200) { |
| 301 | break; | 387 | // this.fwytList = res.result |
| 302 | case 'Xzzt': | 388 | this.fwytList = res.result.fwyt; |
| 303 | item.color = "#A5A3FB"; | 389 | this.fwxzList = res.result.qlxz; |
| 304 | item.name = "限制" | 390 | if (this.fwytList.length > 0) { |
| 305 | break; | 391 | this.fwytList.forEach((item) => { |
| 306 | default: | 392 | item.color = "#2591FD"; |
| 307 | break; | 393 | item.ts = item.bsms.length; |
| 308 | } | 394 | }); |
| 309 | }) | 395 | } |
| 310 | } | 396 | if (this.fwxzList.length > 0) { |
| 311 | }); | 397 | this.fwxzList.forEach((item) => { |
| 312 | }, | 398 | item.color = "#2591FD"; |
| 313 | // 获取房屋用途和房屋性质及缺失项统计数据 | 399 | item.ts = item.bsms.length; |
| 314 | getLpbFwytAndQlxz () { | 400 | }); |
| 315 | getLpbFwytAndQlxz('ca71bcc498794a1e0ec3ac93869719f6').then((res) => { | 401 | } |
| 316 | if (res.code === 200) { | 402 | } |
| 317 | // this.fwytList = res.result | 403 | }); |
| 318 | this.fwytList = res.result.fwyt; | 404 | getLpbQsxtj(this.formData.bsm).then((res) => { |
| 319 | this.fwxzList = res.result.qlxz; | 405 | if (res.code === 200) { |
| 320 | if (this.fwytList.length > 0) { | 406 | this.qsxList = [ |
| 321 | this.fwytList.forEach(item => { | 407 | { |
| 322 | item.color = "#2591FD"; | 408 | name: "坐落", |
| 323 | item.ts = item.bsms.length | 409 | bsms: res.result.zl.bsms, |
| 324 | }) | 410 | color: "#2591FD", |
| 325 | } | 411 | ts: res.result.zl.bsms.length, |
| 326 | if (this.fwxzList.length > 0) { | 412 | }, |
| 327 | this.fwxzList.forEach(item => { | 413 | { |
| 328 | item.color = "#2591FD"; | 414 | name: "分层分户图", |
| 329 | item.ts = item.bsms.length | 415 | bsms: res.result.fcfht.bsms, |
| 330 | }) | 416 | color: "#2591FD", |
| 331 | } | 417 | ts: res.result.fcfht.bsms.length, |
| 332 | } | 418 | }, |
| 333 | }); | 419 | { |
| 334 | // getLpbQsxtj('ca71bcc498794a1e0ec3ac93869719f6').then((res) => { | 420 | name: "室号", |
| 335 | // if (res.code === 200) { | 421 | bsms: res.result.shbw.bsms, |
| 336 | // this.qsxList = [ | 422 | color: "#2591FD", |
| 337 | // { | 423 | ts: res.result.shbw.bsms.length, |
| 338 | // name: '坐落', | 424 | }, |
| 339 | // bsms: res.result.zl.bsms, | 425 | ]; |
| 340 | // color: '#2591FD', | 426 | } |
| 341 | // ts: res.result.zl.bsms.length | 427 | }); |
| 342 | // }, | 428 | }, |
| 343 | // { | 429 | }, |
| 344 | // name: '分层分户图', | 430 | computed: {}, |
| 345 | // bsms: res.result.fcfht.bsms, | 431 | destroyed() { |
| 346 | // color: '#2591FD', | 432 | window.removeEventListener("resize", this.getHeight); |
| 347 | // ts: res.result.fcfht.bsms.length | 433 | }, |
| 348 | // }, | 434 | watch: { |
| 349 | // { | 435 | //树结构和图例伸缩时修改楼盘表主要内容区宽度 |
| 350 | // name: '室号', | 436 | legendToggleFlag(n) { |
| 351 | // bsms: res.result.shbw.bsms, | 437 | if (n) { |
| 352 | // color: '#2591FD', | 438 | this.lpbContentwidth -= 204; |
| 353 | // ts: res.result.shbw.bsms.length | 439 | } else { |
| 354 | // } | 440 | this.lpbContentwidth += 204; |
| 355 | // ] | 441 | } |
| 356 | // } | 442 | }, |
| 357 | // }); | 443 | selectedZt(n) { |
| 358 | } | 444 | this.legendToggleFlag = true; |
| 359 | }, | 445 | }, |
| 360 | computed: {}, | 446 | }, |
| 361 | destroyed () { | ||
| 362 | window.removeEventListener("resize", this.getHeight); | ||
| 363 | }, | ||
| 364 | watch: { | ||
| 365 | //树结构和图例伸缩时修改楼盘表主要内容区宽度 | ||
| 366 | legendToggleFlag (n) { | ||
| 367 | if (n) { | ||
| 368 | this.lpbContentwidth -= 204; | ||
| 369 | } else { | ||
| 370 | this.lpbContentwidth += 204; | ||
| 371 | } | ||
| 372 | }, | ||
| 373 | selectedZt (n) { | ||
| 374 | this.legendToggleFlag = true; | ||
| 375 | }, | ||
| 376 | }, | ||
| 377 | }; | 447 | }; |
| 378 | </script> | 448 | </script> |
| 379 | <style scoped lang="scss"> | 449 | <style scoped lang="scss"> |
| 450 | table { | ||
| 451 | border-width: 0; | ||
| 452 | border-collapse: collapse; | ||
| 453 | border-spacing: 0; | ||
| 454 | } | ||
| 380 | .edit { | 455 | .edit { |
| 381 | height: 100%; | 456 | height: 100%; |
| 382 | background-color: #F4F9FF; | 457 | background-color: #f4f9ff; |
| 383 | .tab-content { | 458 | .tab-content { |
| 384 | border: 1px solid #dedede; | 459 | border: 1px solid #dedede; |
| 385 | background-color: #ffffff; | 460 | background-color: #ffffff; |
| 386 | display: flex; | 461 | display: flex; |
| 387 | &::-webkit-scrollbar { | 462 | &::-webkit-scrollbar { |
| 388 | width: 1px; | 463 | width: 1px; |
| 389 | } | 464 | } |
| 390 | .lp-tree { | 465 | .lp-tree { |
| 391 | height: 100%; | 466 | height: 100%; |
| 392 | overflow: hidden; | 467 | overflow: hidden; |
| 393 | transition: 0.5s; | 468 | transition: 0.5s; |
| 394 | .treeData { | 469 | .treeData { |
| 395 | margin-top: 20px; | 470 | margin-top: 20px; |
| 396 | margin-left: 26px; | 471 | margin-left: 26px; |
| 397 | float: left; | 472 | float: left; |
| 398 | } | 473 | } |
| 399 | } | 474 | } |
| 400 | .w0 { | 475 | .w0 { |
| 401 | width: 0; | 476 | width: 0; |
| 402 | } | 477 | } |
| 403 | .w260 { | 478 | .w260 { |
| 404 | width: 260px; | 479 | width: 260px; |
| 405 | } | 480 | } |
| 406 | .lp-overview { | 481 | .lp-overview { |
| 407 | transition: 0.5s; | 482 | transition: 0.5s; |
| 408 | flex: 1; | 483 | flex: 1; |
| 409 | border: 1px solid rgb(236, 236, 236); | 484 | border: 1px solid rgb(236, 236, 236); |
| 410 | border-top: 0; | 485 | border-top: 0; |
| 411 | border-bottom: 0; | 486 | border-bottom: 0; |
| 412 | margin-right: 10px; | 487 | margin-right: 10px; |
| 413 | box-sizing: border-box; | 488 | box-sizing: border-box; |
| 414 | } | 489 | } |
| 415 | .lp-legend { | ||
| 416 | transition: 0.5s; | ||
| 417 | height: 100%; | ||
| 418 | font-size: 14px; | ||
| 419 | .handleCol { | ||
| 420 | width: 34px; | ||
| 421 | float: right; | ||
| 422 | height: 100%; | ||
| 423 | .btn { | ||
| 424 | cursor: pointer; | ||
| 425 | height: 40px; | ||
| 426 | line-height: 40px; | ||
| 427 | text-align: center; | ||
| 428 | background-color: #0091ff; | ||
| 429 | color: #fff; | ||
| 430 | border-bottom: 1px solid #e6e6e6; | ||
| 431 | } | ||
| 432 | .dyzt, | ||
| 433 | .fwxz, | ||
| 434 | .fwyt, | ||
| 435 | .qsx { | ||
| 436 | height: 122px; | ||
| 437 | } | ||
| 438 | .dyzt, | ||
| 439 | .fwxz, | ||
| 440 | .fwyt, | ||
| 441 | .qsx { | ||
| 442 | cursor: pointer; | ||
| 443 | border-bottom: 1px solid #e6e6e6; | ||
| 444 | border-left: 1px solid #e6e6e6; | ||
| 445 | |||
| 446 | span { | ||
| 447 | text-align: center; | ||
| 448 | height: 100%; | ||
| 449 | -webkit-writing-mode: vertical-rl; | ||
| 450 | writing-mode: vertical-rl; | ||
| 451 | line-height: 34px; | ||
| 452 | letter-spacing: 2px; | ||
| 453 | } | ||
| 454 | } | ||
| 455 | |||
| 456 | .selectedZt { | ||
| 457 | background-color: #0091ff; | ||
| 458 | color: #fff; | ||
| 459 | } | ||
| 460 | } | ||
| 461 | 490 | ||
| 462 | .legendTable-wrap { | 491 | .lp-legend { |
| 463 | transition: 0.5s; | 492 | transition: 0.5s; |
| 464 | float: right; | 493 | height: 100%; |
| 465 | overflow: hidden; | 494 | font-size: 14px; |
| 466 | 495 | .handleCol { | |
| 467 | .legendTable { | 496 | width: 34px; |
| 468 | margin-top: -1px; | 497 | float: right; |
| 469 | border-color: #e4ebf4 !important; | 498 | height: 100%; |
| 470 | border-collapse: collapse; | 499 | .btn { |
| 471 | border-spacing: 0; | 500 | cursor: pointer; |
| 472 | tr { | 501 | height: 40px; |
| 473 | height: 40px; | 502 | line-height: 40px; |
| 474 | line-height: 40px; | 503 | text-align: center; |
| 475 | 504 | background-color: #5a78de; | |
| 476 | th:first-child { | 505 | color: #fff; |
| 477 | width: 80px; | 506 | border-bottom: 1px solid #e6e6e6; |
| 478 | } | 507 | } |
| 479 | 508 | .dyzt, | |
| 480 | th { | 509 | .fwxz, |
| 481 | width: 60px; | 510 | .fwyt, |
| 482 | height: 40px; | 511 | .qsx { |
| 483 | white-space: nowrap; | 512 | height: 122px; |
| 484 | } | 513 | } |
| 485 | 514 | .dyzt, | |
| 486 | td { | 515 | .fwxz, |
| 487 | height: 40px; | 516 | .fwyt, |
| 488 | text-align: center; | 517 | .qsx { |
| 489 | white-space: nowrap; | 518 | cursor: pointer; |
| 490 | .circle{ | 519 | border-bottom: 1px solid #e6e6e6; |
| 491 | display: inline-block; | 520 | border-left: 1px solid #e6e6e6; |
| 492 | width: 12px; | 521 | span { |
| 493 | height: 12px; | 522 | text-align: center; |
| 494 | border-radius: 6px; | 523 | height: 100%; |
| 495 | margin-right: 2px; | 524 | -webkit-writing-mode: vertical-rl; |
| 496 | position: relative; | 525 | writing-mode: vertical-rl; |
| 497 | top: 1px; | 526 | line-height: 34px; |
| 498 | } | 527 | letter-spacing: 2px; |
| 499 | } | 528 | } |
| 500 | 529 | } | |
| 501 | td:first-child { | 530 | .selectedZt { |
| 502 | text-align: left; | 531 | // background-color: #5A78DE; |
| 503 | text-indent: 2px; | 532 | color: #3d59c4; |
| 504 | } | 533 | } |
| 505 | } | 534 | } |
| 506 | } | 535 | .legendTable-wrap { |
| 507 | } | 536 | transition: 0.5s; |
| 508 | } | 537 | float: right; |
| 509 | } | 538 | overflow: hidden; |
| 539 | .legendTable { | ||
| 540 | margin-top: -1px; | ||
| 541 | .fa-circle { | ||
| 542 | display: inline-block; | ||
| 543 | width: 12px; | ||
| 544 | height: 12px; | ||
| 545 | border-radius: 50%; | ||
| 546 | vertical-align: middle; | ||
| 547 | margin-right: 4px; | ||
| 548 | } | ||
| 549 | tr { | ||
| 550 | height: 40px; | ||
| 551 | line-height: 40px; | ||
| 552 | border-color: #d8e0ea !important; | ||
| 553 | th:first-child { | ||
| 554 | width: 80px; | ||
| 555 | } | ||
| 556 | th { | ||
| 557 | width: 60px; | ||
| 558 | height: 40px; | ||
| 559 | white-space: nowrap; | ||
| 560 | background-color: #eceef2; | ||
| 561 | } | ||
| 562 | td { | ||
| 563 | height: 40px; | ||
| 564 | text-align: center; | ||
| 565 | white-space: nowrap; | ||
| 566 | } | ||
| 567 | td:first-child { | ||
| 568 | text-align: left; | ||
| 569 | text-indent: 2px; | ||
| 570 | } | ||
| 571 | } | ||
| 572 | } | ||
| 573 | } | ||
| 574 | } | ||
| 575 | } | ||
| 510 | } | 576 | } |
| 511 | </style> | 577 | </style> | ... | ... |
| ... | @@ -2,7 +2,7 @@ | ... | @@ -2,7 +2,7 @@ |
| 2 | * @Author: yangwei | 2 | * @Author: yangwei |
| 3 | * @Date: 2023-02-28 15:47:12 | 3 | * @Date: 2023-02-28 15:47:12 |
| 4 | * @LastEditors: yangwei | 4 | * @LastEditors: yangwei |
| 5 | * @LastEditTime: 2023-03-02 16:35:36 | 5 | * @LastEditTime: 2023-06-16 16:14:51 |
| 6 | * @FilePath: \bdcdj-web\src\views\lpb\lpbContent\ch.vue | 6 | * @FilePath: \bdcdj-web\src\views\lpb\lpbContent\ch.vue |
| 7 | * @Description: | 7 | * @Description: |
| 8 | * | 8 | * |
| ... | @@ -37,7 +37,7 @@ | ... | @@ -37,7 +37,7 @@ |
| 37 | :data-qszt="hs.qszt" | 37 | :data-qszt="hs.qszt" |
| 38 | ref="hBsm" | 38 | ref="hBsm" |
| 39 | :key="hsIndex" | 39 | :key="hsIndex" |
| 40 | style="border-color: rgb(230, 230, 230)" | 40 | :style="{'border-color': borderColor}" |
| 41 | :class="hs.select ? 'tdSelect' : ''" | 41 | :class="hs.select ? 'tdSelect' : ''" |
| 42 | @click="handleClickH($event.target, hs.bsm, hs)" | 42 | @click="handleClickH($event.target, hs.bsm, hs)" |
| 43 | @dblclick="dbclick(hs.bsm)" | 43 | @dblclick="dbclick(hs.bsm)" |
| ... | @@ -82,7 +82,12 @@ | ... | @@ -82,7 +82,12 @@ |
| 82 | <script> | 82 | <script> |
| 83 | export default { | 83 | export default { |
| 84 | name: "BdcdjWebCh", | 84 | name: "BdcdjWebCh", |
| 85 | inject: ["openMenu", "selectAll"], | 85 | inject: { |
| 86 | openMenu:{value:'openMenu',default:null}, | ||
| 87 | selectAll:{value:'selectAll',default:null}, | ||
| 88 | changeChoosedObj:{value:'changeChoosedObj',default:null}, | ||
| 89 | clearChangeChoosedObj:{value:'clearChangeChoosedObj',default:null} | ||
| 90 | }, | ||
| 86 | props: { | 91 | props: { |
| 87 | ch: { | 92 | ch: { |
| 88 | type: Array, | 93 | type: Array, |
| ... | @@ -101,6 +106,8 @@ export default { | ... | @@ -101,6 +106,8 @@ export default { |
| 101 | hqsztList: [], | 106 | hqsztList: [], |
| 102 | //区分单双击事件的定时器 | 107 | //区分单双击事件的定时器 |
| 103 | time: null, | 108 | time: null, |
| 109 | // 边框颜色 | ||
| 110 | borderColor:'rgb(230, 230, 230)' | ||
| 104 | }; | 111 | }; |
| 105 | }, | 112 | }, |
| 106 | mounted() {}, | 113 | mounted() {}, |
| ... | @@ -108,48 +115,32 @@ export default { | ... | @@ -108,48 +115,32 @@ export default { |
| 108 | // 层选中事件 | 115 | // 层选中事件 |
| 109 | handleClickC(e, item) { | 116 | handleClickC(e, item) { |
| 110 | //判断点击的层是否选中 | 117 | //判断点击的层是否选中 |
| 111 | if (e.target.className.indexOf("tdSelect") == -1) { | 118 | // if (e.target.className.indexOf("tdSelect") == -1) { |
| 112 | //未选中→选中 | 119 | // //未选中→选中 |
| 113 | e.target.className += " tdSelect"; //加边框 | 120 | // e.target.className += " tdSelect"; //加边框 |
| 114 | this.cbsmList.push(item.bsm); | 121 | // this.cbsmList.push(item.bsm); |
| 115 | } else { | 122 | // } else { |
| 116 | //选中→未选中 | 123 | // //选中→未选中 |
| 117 | e.target.className = "floor"; | 124 | // e.target.className = "floor"; |
| 118 | this.cbsmList = this.cbsmList.filter((i) => i != item.bsm); | 125 | // this.cbsmList = this.cbsmList.filter((i) => i != item.bsm); |
| 119 | } | 126 | // } |
| 120 | // this.$parent.getCbsm(this.cbsmList); | 127 | // this.$parent.getCbsm(this.cbsmList); |
| 121 | }, | 128 | }, |
| 122 | //户单击事件 | 129 | //户单击事件 |
| 123 | handleClickH(e, bsm, hs) { | 130 | handleClickH(e, bsm, hs) { |
| 124 | let self = this; | ||
| 125 | // 开启延时器,200ms的间隔区分单击和双击,解决双击时执行两次单击事件 | ||
| 126 | clearTimeout(self.time); | ||
| 127 | self.time = setTimeout(() => { | ||
| 128 | // this.closeMenu(); | ||
| 129 | //判断点击的户是否选中 | ||
| 130 | if (!hs.select) { | ||
| 131 | //未选中→选中 | ||
| 132 | hs.select = true; //加边框 | ||
| 133 | this.hbsmList.push(bsm); // 将户bsm放进hbsmList | ||
| 134 | this.hqsztList.push(hs.qszt); // 将户qszt放进hqsztList | ||
| 135 | } else { | ||
| 136 | //选中→未选中 | ||
| 137 | hs.select = false; | ||
| 138 | this.hbsmList = this.hbsmList.filter((i) => i != bsm); | ||
| 139 | this.hqsztList = this.hqsztList.filter((i) => i != hs.qszt); | ||
| 140 | } | ||
| 141 | }, 200); | ||
| 142 | }, | 131 | }, |
| 143 | // 户单元状态点击事件 | 132 | // 户单元状态点击事件 |
| 144 | hDyztClick(e, bsm, hs) { | 133 | hDyztClick(e, bsm, hs) { |
| 145 | this.handleClickH(e.target.parentNode, bsm, hs); | 134 | // this.handleClickH(e.target.parentNode, bsm, hs); |
| 146 | }, | 135 | }, |
| 147 | //户双击事件 | 136 | //户双击事件 |
| 148 | dbclick(bsm) { | 137 | dbclick(bsm) { |
| 149 | clearTimeout(this.time); | 138 | // clearTimeout(this.time); |
| 150 | }, | 139 | }, |
| 151 | //幢单元全选/反选 | 140 | //幢单元全选/反选 |
| 152 | zdySelectAll(val) { | 141 | zdySelectAll(val,flag) { |
| 142 | // 手动点击全部取消选中 | ||
| 143 | !flag && this.clearChangeChoosedObj() | ||
| 153 | this.ch.forEach((c) => { | 144 | this.ch.forEach((c) => { |
| 154 | c.hs.forEach((h) => { | 145 | c.hs.forEach((h) => { |
| 155 | if (val) { | 146 | if (val) { |
| ... | @@ -158,10 +149,16 @@ export default { | ... | @@ -158,10 +149,16 @@ export default { |
| 158 | this.hbsmList.push(h.bsm) | 149 | this.hbsmList.push(h.bsm) |
| 159 | } else { | 150 | } else { |
| 160 | h.select = false; | 151 | h.select = false; |
| 152 | this.borderColor = 'rgb(230, 230, 230)' | ||
| 161 | this.hbsmList = [] | 153 | this.hbsmList = [] |
| 162 | } | 154 | } |
| 163 | }); | 155 | }); |
| 164 | }); | 156 | }); |
| 157 | this.$refs.hBsm && this.$refs.hBsm.forEach((item) => { | ||
| 158 | // item.style.borderColor = this.borderColor | ||
| 159 | item.style.backgroundColor = '#fff'; | ||
| 160 | // item.style.border = `1px solid ${this.borderColor}` | ||
| 161 | }); | ||
| 165 | }, | 162 | }, |
| 166 | }, | 163 | }, |
| 167 | watch: { | 164 | watch: { |
| ... | @@ -172,6 +169,34 @@ export default { | ... | @@ -172,6 +169,34 @@ export default { |
| 172 | immediate: true, | 169 | immediate: true, |
| 173 | deep: true, | 170 | deep: true, |
| 174 | }, | 171 | }, |
| 172 | changeChoosedObj: { | ||
| 173 | handler(val) { | ||
| 174 | debugger | ||
| 175 | //清除选中户 | ||
| 176 | this.borderColor = 'rgb(230, 230, 230)'; | ||
| 177 | this.zdySelectAll(false,true) | ||
| 178 | if (val.bsms.length) { | ||
| 179 | this.$refs.hBsm.forEach((item) => { | ||
| 180 | val.bsms.forEach((i,ind) => { | ||
| 181 | if (item.dataset.bsm == i) { | ||
| 182 | if (ind == 0) { | ||
| 183 | //定位到第一个户所在位置 | ||
| 184 | window.lpbContent.$refs.lpbContent.scrollTop = item.offsetTop; | ||
| 185 | window.lpbContent.$refs.lpbContent.scrollLeft = item.offsetLeft; | ||
| 186 | } | ||
| 187 | item.style.border = '1px solid '+ val.color; | ||
| 188 | // item.style.backgroundColor = val.color; | ||
| 189 | } | ||
| 190 | }); | ||
| 191 | }); | ||
| 192 | }else{ | ||
| 193 | this.borderColor = 'rgb(230, 230, 230)' | ||
| 194 | } | ||
| 195 | |||
| 196 | }, | ||
| 197 | immediate: true, | ||
| 198 | deep: true, | ||
| 199 | }, | ||
| 175 | }, | 200 | }, |
| 176 | }; | 201 | }; |
| 177 | </script> | 202 | </script> |
| ... | @@ -181,16 +206,26 @@ export default { | ... | @@ -181,16 +206,26 @@ export default { |
| 181 | display: flex; | 206 | display: flex; |
| 182 | flex-direction: column-reverse; | 207 | flex-direction: column-reverse; |
| 183 | .chTable { | 208 | .chTable { |
| 184 | margin-left: -1px; | 209 | // margin-left: -1px; |
| 185 | border-color: #e4ebf4 !important; | 210 | border-color: #e4ebf4 !important; |
| 186 | border-collapse: collapse; | 211 | border-collapse: collapse; |
| 187 | border-spacing: 0; | 212 | border-spacing: 0; |
| 188 | // position: relative; | 213 | // position: relative; |
| 189 | tr { | 214 | tr { |
| 215 | .floor { | ||
| 216 | min-width: 56px; | ||
| 217 | background: #e8f2ff; | ||
| 218 | border: 1px solid #acbae8; | ||
| 219 | } | ||
| 220 | &:first-child { | ||
| 221 | .floor { | ||
| 222 | border-radius: 4px 0px 0px 1px; | ||
| 223 | } | ||
| 224 | } | ||
| 190 | td { | 225 | td { |
| 191 | min-width: 138px; | 226 | min-width: 138px; |
| 192 | height: 72px; | 227 | height: 64px; |
| 193 | line-height: 72px; | 228 | line-height: 64px; |
| 194 | text-align: center; | 229 | text-align: center; |
| 195 | cursor: pointer; | 230 | cursor: pointer; |
| 196 | position: relative; | 231 | position: relative; |
| ... | @@ -204,7 +239,7 @@ export default { | ... | @@ -204,7 +239,7 @@ export default { |
| 204 | left: 6px; | 239 | left: 6px; |
| 205 | top: 6px; | 240 | top: 6px; |
| 206 | border: 1px solid; | 241 | border: 1px solid; |
| 207 | border-radius: 8px; | 242 | border-radius: 3px 0px 3px 0px; |
| 208 | } | 243 | } |
| 209 | .lin { | 244 | .lin { |
| 210 | color: #f7b500; | 245 | color: #f7b500; |
| ... | @@ -223,7 +258,7 @@ export default { | ... | @@ -223,7 +258,7 @@ export default { |
| 223 | width: 138px; | 258 | width: 138px; |
| 224 | height: 18px; | 259 | height: 18px; |
| 225 | position: absolute; | 260 | position: absolute; |
| 226 | bottom: 32px; | 261 | bottom: 28px; |
| 227 | box-sizing: border-box; | 262 | box-sizing: border-box; |
| 228 | padding: 0 6px; | 263 | padding: 0 6px; |
| 229 | li { | 264 | li { |
| ... | @@ -239,7 +274,8 @@ export default { | ... | @@ -239,7 +274,8 @@ export default { |
| 239 | } | 274 | } |
| 240 | } | 275 | } |
| 241 | .tdSelect { | 276 | .tdSelect { |
| 242 | border: 1px solid #006cff !important; | 277 | border: 1px solid ; |
| 278 | border-color: #5A78DE !important; | ||
| 243 | background-image: url("./images/tdSelect.png"); | 279 | background-image: url("./images/tdSelect.png"); |
| 244 | background-repeat: no-repeat; | 280 | background-repeat: no-repeat; |
| 245 | background-position: right top; | 281 | background-position: right top; | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <div class="lpbContent-wrap" ref="lpbContentWrap"> | 2 | <div class="lpbContent-wrap" ref="lpbContentWrap"> |
| 3 | <div class="lpbContent"> | 3 | <div class="lpbContent" ref="lpbContent"> |
| 4 | <!-- 纵向倒序排列 逻辑幢位于独立幢单元和独立层户的上方 --> | 4 | <!-- 纵向倒序排列 逻辑幢位于独立幢单元和独立层户的上方 --> |
| 5 | <div class="ch-zdy-wrap"> | 5 | <div class="ch-zdy-wrap"> |
| 6 | <!-- 幢单元 --> | 6 | <!-- 幢单元 --> |
| ... | @@ -13,9 +13,10 @@ | ... | @@ -13,9 +13,10 @@ |
| 13 | </div> | 13 | </div> |
| 14 | <!-- 自然幢名称 --> | 14 | <!-- 自然幢名称 --> |
| 15 | <p class="lpb-xmmc"> | 15 | <p class="lpb-xmmc"> |
| 16 | <el-checkbox @change="zdySelectAll($event)">{{ | 16 | <!-- <el-checkbox @change="zdySelectAll($event)">{{ |
| 17 | lpbData.xmmc | 17 | lpbData.xmmc |
| 18 | }}</el-checkbox> | 18 | }}</el-checkbox> --> |
| 19 | {{lpbData.xmmc}} | ||
| 19 | </p> | 20 | </p> |
| 20 | <!-- 右键菜单 --> | 21 | <!-- 右键菜单 --> |
| 21 | <ul | 22 | <ul |
| ... | @@ -38,6 +39,8 @@ export default { | ... | @@ -38,6 +39,8 @@ export default { |
| 38 | return { | 39 | return { |
| 39 | openMenu: this.openMenu, | 40 | openMenu: this.openMenu, |
| 40 | selectAll: this.selectAllObj, | 41 | selectAll: this.selectAllObj, |
| 42 | changeChoosedObj:this.changeChoosedObj, | ||
| 43 | clearChangeChoosedObj:this.clearChangeChoosedObj | ||
| 41 | }; | 44 | }; |
| 42 | }, | 45 | }, |
| 43 | name: "", | 46 | name: "", |
| ... | @@ -72,20 +75,27 @@ export default { | ... | @@ -72,20 +75,27 @@ export default { |
| 72 | //右键菜单定位位置 | 75 | //右键菜单定位位置 |
| 73 | lpbChLeft: 100, | 76 | lpbChLeft: 100, |
| 74 | lpbChTop: 100, | 77 | lpbChTop: 100, |
| 78 | // 改变户选中状态 | ||
| 79 | changeChoosedObj:{ | ||
| 80 | bsms:[], | ||
| 81 | color:'' | ||
| 82 | } | ||
| 75 | }; | 83 | }; |
| 76 | }, | 84 | }, |
| 77 | mounted() { | 85 | mounted() { |
| 78 | this.getLpb("dfc08a0cc6a25188990ea53d1d2c500e"); | 86 | this.getLpb(this.zrzbsm); |
| 79 | // setTimeout(() => { | 87 | window.lpbContent = this; |
| 80 | // //让滚动条滚动至最下面 -6是横向滚动条的高度 | ||
| 81 | // this.$refs.lpbContent.scrollTop = | ||
| 82 | // this.$refs.lpbContent.scrollHeight - | ||
| 83 | // this.$refs.lpbContent.clientHeight - | ||
| 84 | // 6; | ||
| 85 | // }, 200); | ||
| 86 | // window.lpbContent = this; | ||
| 87 | }, | 88 | }, |
| 88 | methods: { | 89 | methods: { |
| 90 | // 改变户选中状态 | ||
| 91 | changeChoosed(bsms, color){ | ||
| 92 | debugger | ||
| 93 | this.changeChoosedObj.bsms = bsms; | ||
| 94 | this.changeChoosedObj.color = color; | ||
| 95 | }, | ||
| 96 | clearChangeChoosedObj(){ | ||
| 97 | this.changeChoosedObj.bsms = []; | ||
| 98 | }, | ||
| 89 | //全选户 | 99 | //全选户 |
| 90 | zdySelectAll(val) { | 100 | zdySelectAll(val) { |
| 91 | this.selectAllObj.selectAll = val; | 101 | this.selectAllObj.selectAll = val; |
| ... | @@ -113,7 +123,7 @@ export default { | ... | @@ -113,7 +123,7 @@ export default { |
| 113 | openMenu(e, item, type) { | 123 | openMenu(e, item, type) { |
| 114 | this.lpbChLeft = e.pageX - 96; | 124 | this.lpbChLeft = e.pageX - 96; |
| 115 | this.lpbChTop = e.pageY - 23; | 125 | this.lpbChTop = e.pageY - 23; |
| 116 | this.lpbChVisible = true; | 126 | // this.lpbChVisible = true; |
| 117 | }, | 127 | }, |
| 118 | //关闭户右键菜单 | 128 | //关闭户右键菜单 |
| 119 | closeMenu() { | 129 | closeMenu() { | ... | ... |
| ... | @@ -10,7 +10,7 @@ | ... | @@ -10,7 +10,7 @@ |
| 10 | --> | 10 | --> |
| 11 | <template> | 11 | <template> |
| 12 | <div class="ljzs-wrap"> | 12 | <div class="ljzs-wrap"> |
| 13 | <div v-for="ljzarr in ljzsCptd" :key="ljzarr[0].bsm"> | 13 | <div v-for="ljzarr in ljzsCptd" :style="{'margin-bottom': ljzarr.length == 1 ? '34px':'80px'}" :key="ljzarr[0].bsm"> |
| 14 | <!-- 多个同起始层逻辑幢 横向排列 --> | 14 | <!-- 多个同起始层逻辑幢 横向排列 --> |
| 15 | <div class="ch-zdy-wrap" v-if="ljzarr.length > 1"> | 15 | <div class="ch-zdy-wrap" v-if="ljzarr.length > 1"> |
| 16 | <div v-for="ljz in ljzarr" :key="ljz.ljzmc" class="same-floor-ljz"> | 16 | <div v-for="ljz in ljzarr" :key="ljz.ljzmc" class="same-floor-ljz"> |
| ... | @@ -94,7 +94,7 @@ export default { | ... | @@ -94,7 +94,7 @@ export default { |
| 94 | display: flex; | 94 | display: flex; |
| 95 | flex-direction: column-reverse; | 95 | flex-direction: column-reverse; |
| 96 | > div { | 96 | > div { |
| 97 | margin-bottom: 80px; | 97 | // margin-bottom: 80px; |
| 98 | margin-right: 20px; | 98 | margin-right: 20px; |
| 99 | display: flex; | 99 | display: flex; |
| 100 | flex-direction: column; | 100 | flex-direction: column; |
| ... | @@ -110,8 +110,8 @@ export default { | ... | @@ -110,8 +110,8 @@ export default { |
| 110 | } | 110 | } |
| 111 | .ljz-xmmc { | 111 | .ljz-xmmc { |
| 112 | position: absolute; | 112 | position: absolute; |
| 113 | width: calc(100% + 1px); | 113 | width: calc(100% - 4px); |
| 114 | bottom: -60px; | 114 | bottom: -34px; |
| 115 | } | 115 | } |
| 116 | } | 116 | } |
| 117 | .cs-none { | 117 | .cs-none { | ... | ... |
| ... | @@ -2,7 +2,7 @@ | ... | @@ -2,7 +2,7 @@ |
| 2 | * @Author: yangwei | 2 | * @Author: yangwei |
| 3 | * @Date: 2023-02-28 16:29:04 | 3 | * @Date: 2023-02-28 16:29:04 |
| 4 | * @LastEditors: yangwei | 4 | * @LastEditors: yangwei |
| 5 | * @LastEditTime: 2023-03-02 14:45:19 | 5 | * @LastEditTime: 2023-06-08 13:58:58 |
| 6 | * @FilePath: \bdcdj-web\src\views\lpb\lpbContent\zdys.vue | 6 | * @FilePath: \bdcdj-web\src\views\lpb\lpbContent\zdys.vue |
| 7 | * @Description: | 7 | * @Description: |
| 8 | * | 8 | * |
| ... | @@ -13,9 +13,10 @@ | ... | @@ -13,9 +13,10 @@ |
| 13 | <div v-for="zdy in realZdys" :key="zdy.bsm"> | 13 | <div v-for="zdy in realZdys" :key="zdy.bsm"> |
| 14 | <!-- 幢单元名称 --> | 14 | <!-- 幢单元名称 --> |
| 15 | <p class="lpb-xmmc"> | 15 | <p class="lpb-xmmc"> |
| 16 | <el-checkbox @change="zdySelectAll($event,zdy.bsm)">{{ | 16 | <!-- <el-checkbox @change="zdySelectAll($event,zdy.bsm)">{{ |
| 17 | zdy.zdymc | 17 | zdy.zdymc |
| 18 | }}</el-checkbox> | 18 | }}</el-checkbox> --> |
| 19 | {{zdy.zdymc}} | ||
| 19 | </p> | 20 | </p> |
| 20 | <!-- 每个幢单元下的层户 --> | 21 | <!-- 每个幢单元下的层户 --> |
| 21 | <ch-cpn :ref="zdy.bsm" :ch="zdy.cs" /> | 22 | <ch-cpn :ref="zdy.bsm" :ch="zdy.cs" /> | ... | ... |
| ... | @@ -8,8 +8,7 @@ | ... | @@ -8,8 +8,7 @@ |
| 8 | <el-checkbox | 8 | <el-checkbox |
| 9 | v-for="item in qsztList" | 9 | v-for="item in qsztList" |
| 10 | :key="item.value" | 10 | :key="item.value" |
| 11 | :label="item.value" | 11 | :label="item.value">{{ item.label }}</el-checkbox> |
| 12 | >{{ item.label }}</el-checkbox> | ||
| 13 | </el-checkbox-group> | 12 | </el-checkbox-group> |
| 14 | </div> | 13 | </div> |
| 15 | </div> | 14 | </div> |
| ... | @@ -24,12 +23,7 @@ | ... | @@ -24,12 +23,7 @@ |
| 24 | row.qszt == '2' ? 'lishi' : '', | 23 | row.qszt == '2' ? 'lishi' : '', |
| 25 | row.qszt == '0' ? 'linshi' : '', | 24 | row.qszt == '0' ? 'linshi' : '', |
| 26 | item.prop == 'qszt' && (row.qszt == '0' ||(row.qszt == '1' &&row.qlblzt == '1'&&row.zxywh != null))? 'linshiIcon' : '', | 25 | item.prop == 'qszt' && (row.qszt == '0' ||(row.qszt == '1' &&row.qlblzt == '1'&&row.zxywh != null))? 'linshiIcon' : '', |
| 27 | ]" | 26 | ]"> |
| 28 | > | ||
| 29 | <div class="setbut" v-if="item.prop == 'cz'"> | ||
| 30 | <el-button type="text" icon="el-icon-edit-outline" @click="editDialog(row)">编辑</el-button> | ||
| 31 | <el-button type="text" icon="el-icon-edit-outline" @click="deleteDialog(row)">删除</el-button> | ||
| 32 | </div> | ||
| 33 | <div class="icon" v-if="item.prop == 'qszt' && (row.qszt == '0' ||(row.qszt == '1' &&row.qlblzt == '1'&&row.zxywh != null))">正在办理</div> | 27 | <div class="icon" v-if="item.prop == 'qszt' && (row.qszt == '0' ||(row.qszt == '1' &&row.qlblzt == '1'&&row.zxywh != null))">正在办理</div> |
| 34 | <span v-if="item.prop == 'qszt'">{{ getQsztName(row[item.prop]) }}</span> | 28 | <span v-if="item.prop == 'qszt'">{{ getQsztName(row[item.prop]) }}</span> |
| 35 | 29 | ||
| ... | @@ -44,79 +38,78 @@ | ... | @@ -44,79 +38,78 @@ |
| 44 | </template> | 38 | </template> |
| 45 | 39 | ||
| 46 | <script> | 40 | <script> |
| 47 | import { getCfdjList } from "@/api/registerBook.js"; | 41 | import { datas } from "./qlxxFormData.js"; |
| 48 | import { datas } from "./qlxxFormData.js"; | 42 | import { getSjlx } from "@/utils/dictionary.js"; |
| 49 | export default { | 43 | import { getCfdjList } from "@/api/registerBook.js"; |
| 50 | data() { | 44 | export default { |
| 51 | return { | 45 | data () { |
| 52 | title: "查封登记信息", | 46 | return { |
| 53 | qsztList: datas.columns().qsztList, | 47 | title: "查封登记信息", |
| 54 | checkList: datas.columns().checkList, | 48 | qsztList: datas.columns().qsztList, |
| 55 | //传递参数 | 49 | checkList: datas.columns().checkList, |
| 56 | propsParam: this.$attrs, | 50 | //传递参数 |
| 57 | //列表数据 | 51 | propsParam: this.$attrs, |
| 58 | tableData: [], | 52 | //列表数据 |
| 59 | //空列值个数 | 53 | tableData: [], |
| 60 | emptycolNum: datas.columns().emptycolNum, | 54 | //空列值个数 |
| 61 | //列名称对象 | 55 | emptycolNum: datas.columns().emptycolNum, |
| 62 | columns: datas.columns().CFDJ, | 56 | //列名称对象 |
| 63 | }; | 57 | columns: datas.columns().CFDJ, |
| 64 | }, | 58 | }; |
| 65 | created() { | 59 | }, |
| 66 | this.loadData(); | 60 | created () { |
| 67 | }, | 61 | this.loadData(); |
| 68 | methods: { | 62 | }, |
| 69 | loadData() { | 63 | methods: { |
| 70 | if(this.$parent.addRepairRecord){ | 64 | loadData () { |
| 71 | this.columns.unshift({prop:"cz", | 65 | getCfdjList({ |
| 72 | label:"操作" | 66 | bdcdyid: this.propsParam.bdcdyid, |
| 73 | }) | 67 | qllx: this.propsParam.qllx, |
| 74 | } | 68 | qszt: this.checkList, |
| 75 | getCfdjList({ | 69 | }).then((res) => { |
| 76 | bdcdyid: this.propsParam.bdcdyid, | 70 | if (res.code === 200) { |
| 77 | qllx: this.propsParam.qllx, | 71 | this.tableData = res.result; |
| 78 | qszt: this.checkList, | 72 | this.tableData.forEach(item => { |
| 79 | }).then((res) => { | 73 | item.sjlx = getSjlx(item.sjlx) |
| 80 | if (res.code === 200) { | 74 | }) |
| 81 | this.tableData = res.result; | 75 | this.tableData.forEach((item, index) => { |
| 82 | this.tableData.forEach((item, index) => { | 76 | if (item.sfbxf == "1") { |
| 83 | if (item.sfbxf == "1") { | 77 | item.zxywh = ""; |
| 84 | item.zxywh = ""; | 78 | item.zxdbr = ""; |
| 85 | item.zxdbr = ""; | 79 | item.zxsj = ""; |
| 86 | item.zxsj = ""; | 80 | } |
| 81 | }); | ||
| 82 | if (this.tableData.length < datas.columns().emptycolNum) { | ||
| 83 | this.emptycolNum = | ||
| 84 | datas.columns().emptycolNum - this.tableData.length; | ||
| 85 | } else { | ||
| 86 | this.emptycolNum = 0; | ||
| 87 | } | 87 | } |
| 88 | }); | ||
| 89 | if (this.tableData.length < datas.columns().emptycolNum) { | ||
| 90 | this.emptycolNum = | ||
| 91 | datas.columns().emptycolNum - this.tableData.length; | ||
| 92 | } else { | ||
| 93 | this.emptycolNum = 0; | ||
| 94 | } | 88 | } |
| 89 | }); | ||
| 90 | }, | ||
| 91 | checkChange () { | ||
| 92 | if (this.checkList.length === 0) { | ||
| 93 | this.tableData = []; | ||
| 94 | this.emptycolNum = datas.columns().emptycolNum; | ||
| 95 | } else { | ||
| 96 | this.loadData(); | ||
| 95 | } | 97 | } |
| 96 | }); | 98 | }, |
| 97 | }, | 99 | getQsztName (code) { |
| 98 | checkChange() { | 100 | let name = ""; |
| 99 | if (this.checkList.length === 0) { | 101 | for (let item of this.qsztList) { |
| 100 | this.tableData = []; | 102 | if (item.value == code) { |
| 101 | this.emptycolNum = datas.columns().emptycolNum; | 103 | name = item.label; |
| 102 | } else { | 104 | break; |
| 103 | this.loadData(); | 105 | } |
| 104 | } | ||
| 105 | }, | ||
| 106 | getQsztName(code) { | ||
| 107 | let name = ""; | ||
| 108 | for (let item of this.qsztList) { | ||
| 109 | if (item.value == code) { | ||
| 110 | name = item.label; | ||
| 111 | break; | ||
| 112 | } | 106 | } |
| 113 | } | 107 | return name; |
| 114 | return name; | 108 | }, |
| 115 | }, | 109 | }, |
| 116 | }, | 110 | }; |
| 117 | }; | ||
| 118 | </script> | 111 | </script> |
| 119 | 112 | ||
| 120 | <style lang="scss" scoped> | 113 | <style lang="scss" scoped> |
| 121 | @import "./qlxxCommon.scss"; | 114 | @import "./qlxxCommon.scss"; |
| 122 | </style> | 115 | </style> | ... | ... |
| ... | @@ -42,72 +42,71 @@ | ... | @@ -42,72 +42,71 @@ |
| 42 | </template> | 42 | </template> |
| 43 | 43 | ||
| 44 | <script> | 44 | <script> |
| 45 | import { getDiyaqList } from "@/api/registerBook.js"; | 45 | import { datas } from "./qlxxFormData.js"; |
| 46 | import { datas } from "./qlxxFormData.js"; | 46 | import { getSjlx } from "@/utils/dictionary.js"; |
| 47 | export default { | 47 | import { getDiyaqList } from "@/api/registerBook.js"; |
| 48 | data () { | 48 | export default { |
| 49 | return { | 49 | data () { |
| 50 | title: "抵押权登记信息", | 50 | return { |
| 51 | qsztList: datas.columns().qsztList, | 51 | title: "抵押权登记信息", |
| 52 | checkList: datas.columns().checkList, | 52 | qsztList: datas.columns().qsztList, |
| 53 | //传递参数 | 53 | checkList: datas.columns().checkList, |
| 54 | propsParam: this.$attrs, | 54 | //传递参数 |
| 55 | //列表数据 | 55 | propsParam: this.$attrs, |
| 56 | tableData: [], | 56 | //列表数据 |
| 57 | //空列值个数 | 57 | tableData: [], |
| 58 | emptycolNum: datas.columns().emptycolNum, | 58 | //空列值个数 |
| 59 | //列名称对象 | 59 | emptycolNum: datas.columns().emptycolNum, |
| 60 | columns: datas.columns().DYAQ, | 60 | //列名称对象 |
| 61 | }; | 61 | columns: datas.columns().DYAQ, |
| 62 | }, | 62 | }; |
| 63 | created () { | ||
| 64 | this.loadData(); | ||
| 65 | }, | ||
| 66 | methods: { | ||
| 67 | loadData () { | ||
| 68 | if(this.$parent.addRepairRecord){ | ||
| 69 | this.columns.unshift({prop:"cz", | ||
| 70 | label:"操作" | ||
| 71 | }) | ||
| 72 | } | ||
| 73 | getDiyaqList({ | ||
| 74 | bdcdyid: this.propsParam.bdcdyid, | ||
| 75 | qllx: this.propsParam.qllx, | ||
| 76 | qszt: this.checkList, | ||
| 77 | }).then((res) => { | ||
| 78 | if (res.code === 200) { | ||
| 79 | this.tableData = res.result; | ||
| 80 | if (this.tableData.length < datas.columns().emptycolNum) { | ||
| 81 | this.emptycolNum = | ||
| 82 | datas.columns().emptycolNum - this.tableData.length; | ||
| 83 | } else { | ||
| 84 | this.emptycolNum = 0; | ||
| 85 | } | ||
| 86 | } | ||
| 87 | }); | ||
| 88 | }, | 63 | }, |
| 89 | checkChange () { | 64 | created () { |
| 90 | if (this.checkList.length === 0) { | 65 | this.loadData(); |
| 91 | this.tableData = []; | ||
| 92 | this.emptycolNum = datas.columns().emptycolNum; | ||
| 93 | } else { | ||
| 94 | this.loadData(); | ||
| 95 | } | ||
| 96 | }, | 66 | }, |
| 97 | getQsztName (code) { | 67 | methods: { |
| 98 | let name = ""; | 68 | loadData () { |
| 99 | for (let item of this.qsztList) { | 69 | getDiyaqList({ |
| 100 | if (item.value == code) { | 70 | bdcdyid: this.propsParam.bdcdyid, |
| 101 | name = item.label; | 71 | qllx: this.propsParam.qllx, |
| 102 | break; | 72 | qszt: this.checkList, |
| 73 | }).then((res) => { | ||
| 74 | if (res.code === 200) { | ||
| 75 | this.tableData = res.result; | ||
| 76 | this.tableData.forEach(item => { | ||
| 77 | item.sjlx = getSjlx(item.sjlx) | ||
| 78 | }) | ||
| 79 | if (this.tableData.length < datas.columns().emptycolNum) { | ||
| 80 | this.emptycolNum = | ||
| 81 | datas.columns().emptycolNum - this.tableData.length; | ||
| 82 | } else { | ||
| 83 | this.emptycolNum = 0; | ||
| 84 | } | ||
| 85 | } | ||
| 86 | }); | ||
| 87 | }, | ||
| 88 | checkChange () { | ||
| 89 | if (this.checkList.length === 0) { | ||
| 90 | this.tableData = []; | ||
| 91 | this.emptycolNum = datas.columns().emptycolNum; | ||
| 92 | } else { | ||
| 93 | this.loadData(); | ||
| 94 | } | ||
| 95 | }, | ||
| 96 | getQsztName (code) { | ||
| 97 | let name = ""; | ||
| 98 | for (let item of this.qsztList) { | ||
| 99 | if (item.value == code) { | ||
| 100 | name = item.label; | ||
| 101 | break; | ||
| 102 | } | ||
| 103 | } | 103 | } |
| 104 | } | 104 | return name; |
| 105 | return name; | 105 | }, |
| 106 | }, | 106 | }, |
| 107 | }, | 107 | }; |
| 108 | }; | ||
| 109 | </script> | 108 | </script> |
| 110 | 109 | ||
| 111 | <style lang="scss" scoped> | 110 | <style lang="scss" scoped> |
| 112 | @import "./qlxxCommon.scss"; | 111 | @import "./qlxxCommon.scss"; |
| 113 | </style> | 112 | </style> | ... | ... |
| ... | @@ -42,72 +42,71 @@ | ... | @@ -42,72 +42,71 @@ |
| 42 | </template> | 42 | </template> |
| 43 | 43 | ||
| 44 | <script> | 44 | <script> |
| 45 | import { getDiyiqList } from "@/api/registerBook.js"; | 45 | import { datas } from "./qlxxFormData.js"; |
| 46 | import { datas } from "./qlxxFormData.js"; | 46 | import { getSjlx } from "@/utils/dictionary.js"; |
| 47 | export default { | 47 | import { getDiyiqList } from "@/api/registerBook.js"; |
| 48 | data () { | 48 | export default { |
| 49 | return { | 49 | data () { |
| 50 | title: "地役权登记信息", | 50 | return { |
| 51 | qsztList: datas.columns().qsztList, | 51 | title: "地役权登记信息", |
| 52 | checkList: datas.columns().checkList, | 52 | qsztList: datas.columns().qsztList, |
| 53 | //传递参数 | 53 | checkList: datas.columns().checkList, |
| 54 | propsParam: this.$attrs, | 54 | //传递参数 |
| 55 | //列表数据 | 55 | propsParam: this.$attrs, |
| 56 | tableData: [], | 56 | //列表数据 |
| 57 | //空列值个数 | 57 | tableData: [], |
| 58 | emptycolNum: datas.columns().emptycolNum, | 58 | //空列值个数 |
| 59 | //列名称对象 | 59 | emptycolNum: datas.columns().emptycolNum, |
| 60 | columns: datas.columns().DYIQ, | 60 | //列名称对象 |
| 61 | }; | 61 | columns: datas.columns().DYIQ, |
| 62 | }, | 62 | }; |
| 63 | created () { | ||
| 64 | this.loadData(); | ||
| 65 | }, | ||
| 66 | methods: { | ||
| 67 | loadData () { | ||
| 68 | if(this.$parent.addRepairRecord){ | ||
| 69 | this.columns.unshift({prop:"cz", | ||
| 70 | label:"操作" | ||
| 71 | }) | ||
| 72 | } | ||
| 73 | getDiyiqList({ | ||
| 74 | bdcdyid: this.propsParam.bdcdyid, | ||
| 75 | qllx: this.propsParam.qllx, | ||
| 76 | qszt: this.checkList, | ||
| 77 | }).then((res) => { | ||
| 78 | if (res.code === 200) { | ||
| 79 | this.tableData = res.result; | ||
| 80 | if (this.tableData.length < datas.columns().emptycolNum) { | ||
| 81 | this.emptycolNum = | ||
| 82 | datas.columns().emptycolNum - this.tableData.length; | ||
| 83 | } else { | ||
| 84 | this.emptycolNum = 0; | ||
| 85 | } | ||
| 86 | } | ||
| 87 | }); | ||
| 88 | }, | 63 | }, |
| 89 | checkChange () { | 64 | created () { |
| 90 | if (this.checkList.length === 0) { | 65 | this.loadData(); |
| 91 | this.tableData = []; | ||
| 92 | this.emptycolNum = datas.columns().emptycolNum; | ||
| 93 | } else { | ||
| 94 | this.loadData(); | ||
| 95 | } | ||
| 96 | }, | 66 | }, |
| 97 | getQsztName (code) { | 67 | methods: { |
| 98 | let name = ""; | 68 | loadData () { |
| 99 | for (let item of this.qsztList) { | 69 | getDiyiqList({ |
| 100 | if (item.value == code) { | 70 | bdcdyid: this.propsParam.bdcdyid, |
| 101 | name = item.label; | 71 | qllx: this.propsParam.qllx, |
| 102 | break; | 72 | qszt: this.checkList, |
| 73 | }).then((res) => { | ||
| 74 | if (res.code === 200) { | ||
| 75 | this.tableData = res.result; | ||
| 76 | this.tableData.forEach(item => { | ||
| 77 | item.sjlx = getSjlx(item.sjlx) | ||
| 78 | }) | ||
| 79 | if (this.tableData.length < datas.columns().emptycolNum) { | ||
| 80 | this.emptycolNum = | ||
| 81 | datas.columns().emptycolNum - this.tableData.length; | ||
| 82 | } else { | ||
| 83 | this.emptycolNum = 0; | ||
| 84 | } | ||
| 85 | } | ||
| 86 | }); | ||
| 87 | }, | ||
| 88 | checkChange () { | ||
| 89 | if (this.checkList.length === 0) { | ||
| 90 | this.tableData = []; | ||
| 91 | this.emptycolNum = datas.columns().emptycolNum; | ||
| 92 | } else { | ||
| 93 | this.loadData(); | ||
| 94 | } | ||
| 95 | }, | ||
| 96 | getQsztName (code) { | ||
| 97 | let name = ""; | ||
| 98 | for (let item of this.qsztList) { | ||
| 99 | if (item.value == code) { | ||
| 100 | name = item.label; | ||
| 101 | break; | ||
| 102 | } | ||
| 103 | } | 103 | } |
| 104 | } | 104 | return name; |
| 105 | return name; | 105 | }, |
| 106 | }, | 106 | }, |
| 107 | }, | 107 | }; |
| 108 | }; | ||
| 109 | </script> | 108 | </script> |
| 110 | 109 | ||
| 111 | <style lang="scss" scoped> | 110 | <style lang="scss" scoped> |
| 112 | @import "./qlxxCommon.scss"; | 111 | @import "./qlxxCommon.scss"; |
| 113 | </style> | 112 | </style> | ... | ... |
| ... | @@ -47,8 +47,9 @@ | ... | @@ -47,8 +47,9 @@ |
| 47 | </template> | 47 | </template> |
| 48 | 48 | ||
| 49 | <script> | 49 | <script> |
| 50 | import { getJsydsyqList } from "@/api/registerBook.js"; | ||
| 51 | import { datas } from "./qlxxFormData.js"; | 50 | import { datas } from "./qlxxFormData.js"; |
| 51 | import { getSjlx } from "@/utils/dictionary.js"; | ||
| 52 | import { getJsydsyqList } from "@/api/registerBook.js"; | ||
| 52 | export default { | 53 | export default { |
| 53 | data () { | 54 | data () { |
| 54 | return { | 55 | return { |
| ... | @@ -82,6 +83,9 @@ | ... | @@ -82,6 +83,9 @@ |
| 82 | }).then((res) => { | 83 | }).then((res) => { |
| 83 | if (res.code === 200) { | 84 | if (res.code === 200) { |
| 84 | this.tableData = res.result; | 85 | this.tableData = res.result; |
| 86 | this.tableData.forEach(item => { | ||
| 87 | item.sjlx = getSjlx(item.sjlx) | ||
| 88 | }) | ||
| 85 | if (this.tableData.length < datas.columns().emptycolNum) { | 89 | if (this.tableData.length < datas.columns().emptycolNum) { |
| 86 | this.emptycolNum = | 90 | this.emptycolNum = |
| 87 | datas.columns().emptycolNum - this.tableData.length; | 91 | datas.columns().emptycolNum - this.tableData.length; | ... | ... |
| ... | @@ -42,128 +42,71 @@ | ... | @@ -42,128 +42,71 @@ |
| 42 | </template> | 42 | </template> |
| 43 | 43 | ||
| 44 | <script> | 44 | <script> |
| 45 | import { getFdcq2List } from "@/api/registerBook.js"; | 45 | import { datas } from "./qlxxFormData.js"; |
| 46 | import { datas } from "./qlxxFormData.js"; | 46 | import { getSjlx } from "@/utils/dictionary.js"; |
| 47 | export default { | 47 | import { getFdcq2List } from "@/api/registerBook.js"; |
| 48 | data () { | 48 | export default { |
| 49 | return { | 49 | data () { |
| 50 | title: "房地产权登记信息(独幢、层、套、间房屋)", | 50 | return { |
| 51 | qsztList: datas.columns().qsztList, | 51 | title: "房地产权登记信息(独幢、层、套、间房屋)", |
| 52 | checkList: datas.columns().checkList, | 52 | qsztList: datas.columns().qsztList, |
| 53 | //传递参数 | 53 | checkList: datas.columns().checkList, |
| 54 | propsParam: this.$attrs, | 54 | //传递参数 |
| 55 | //列表数据 | 55 | propsParam: this.$attrs, |
| 56 | tableData: [], | 56 | //列表数据 |
| 57 | //空列值个数 | 57 | tableData: [], |
| 58 | emptycolNum: datas.columns().emptycolNum, | 58 | //空列值个数 |
| 59 | //列名称对象 | 59 | emptycolNum: datas.columns().emptycolNum, |
| 60 | columns: datas.columns().FDCQ2, | 60 | //列名称对象 |
| 61 | }; | 61 | columns: datas.columns().FDCQ2, |
| 62 | }, | 62 | }; |
| 63 | created () { | ||
| 64 | this.loadData(); | ||
| 65 | }, | ||
| 66 | methods: { | ||
| 67 | loadData () { | ||
| 68 | if(this.$parent.addRepairRecord){ | ||
| 69 | this.columns.unshift({prop:"cz", | ||
| 70 | label:"操作" | ||
| 71 | }) | ||
| 72 | } | ||
| 73 | getFdcq2List({ | ||
| 74 | bdcdyid: this.propsParam.bdcdyid, | ||
| 75 | qllx: this.propsParam.qllx, | ||
| 76 | qszt: this.checkList, | ||
| 77 | }).then((res) => { | ||
| 78 | if (res.code === 200) { | ||
| 79 | this.tableData = res.result; | ||
| 80 | if (this.tableData.length < datas.columns().emptycolNum) { | ||
| 81 | this.emptycolNum = | ||
| 82 | datas.columns().emptycolNum - this.tableData.length; | ||
| 83 | } else { | ||
| 84 | this.emptycolNum = 0; | ||
| 85 | } | ||
| 86 | } | ||
| 87 | }); | ||
| 88 | }, | 63 | }, |
| 89 | checkChange () { | 64 | created () { |
| 90 | if (this.checkList.length === 0) { | 65 | this.loadData(); |
| 91 | this.tableData = []; | ||
| 92 | this.emptycolNum = datas.columns().emptycolNum; | ||
| 93 | } else { | ||
| 94 | this.loadData(); | ||
| 95 | } | ||
| 96 | }, | 66 | }, |
| 97 | getQsztName (code) { | 67 | methods: { |
| 98 | let name = ""; | 68 | loadData () { |
| 99 | for (let item of this.qsztList) { | 69 | getFdcq2List({ |
| 100 | if (item.value == code) { | 70 | bdcdyid: this.propsParam.bdcdyid, |
| 101 | name = item.label; | 71 | qllx: this.propsParam.qllx, |
| 102 | break; | 72 | qszt: this.checkList, |
| 103 | } | 73 | }).then((res) => { |
| 104 | } | 74 | if (res.code === 200) { |
| 105 | return name; | 75 | this.tableData = res.result; |
| 106 | }, | 76 | this.tableData.forEach(item => { |
| 107 | // 编辑 | 77 | item.sjlx = getSjlx(item.sjlx) |
| 108 | editDialog(row){ | 78 | }) |
| 109 | this.$confirm('此操作将新增一条补录信息, 是否继续?', '提示', { | 79 | if (this.tableData.length < datas.columns().emptycolNum) { |
| 110 | confirmButtonText: '确定', | 80 | this.emptycolNum = |
| 111 | cancelButtonText: '取消', | 81 | datas.columns().emptycolNum - this.tableData.length; |
| 112 | type: 'warning' | 82 | } else { |
| 113 | }).then(() => { | 83 | this.emptycolNum = 0; |
| 114 | this.$parent.addRepairRecord(row) | 84 | } |
| 115 | 85 | } | |
| 116 | this.$message({ | ||
| 117 | type: 'success', | ||
| 118 | message: '补录成功!' | ||
| 119 | }); | ||
| 120 | }).catch(() => { | ||
| 121 | this.$message({ | ||
| 122 | type: 'info', | ||
| 123 | message: '取消编辑' | ||
| 124 | }); | ||
| 125 | }); | 86 | }); |
| 126 | |||
| 127 | // this.$popupDialog("编辑", "djbworkflow/djbBook/components/djbeditDialog", { | ||
| 128 | // datalist:this.columns, | ||
| 129 | // data: row, | ||
| 130 | |||
| 131 | // }) | ||
| 132 | |||
| 133 | }, | 87 | }, |
| 134 | // 删除 | 88 | checkChange () { |
| 135 | deleteDialog(row){ | 89 | if (this.checkList.length === 0) { |
| 136 | this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', { | 90 | this.tableData = []; |
| 137 | confirmButtonText: '确定', | 91 | this.emptycolNum = datas.columns().emptycolNum; |
| 138 | cancelButtonText: '取消', | 92 | } else { |
| 139 | type: 'warning' | 93 | this.loadData(); |
| 140 | }).then(() => { | 94 | } |
| 141 | // let bsmClmx = this.previewImg.imgList[this.previewImg.index].bsmClmx | 95 | }, |
| 142 | // deleteClmx(bsmClmx).then(res => { | 96 | getQsztName (code) { |
| 143 | // if (res.code == 200) { | 97 | let name = ""; |
| 144 | // that.$emit('updateList', res.result) | 98 | for (let item of this.qsztList) { |
| 145 | // that.$message({ | 99 | if (item.value == code) { |
| 146 | // message: '删除成功!', | 100 | name = item.label; |
| 147 | // type: 'success' | 101 | break; |
| 148 | // }) | 102 | } |
| 149 | // } | 103 | } |
| 150 | // }) | 104 | return name; |
| 151 | this.$message({ | 105 | }, |
| 152 | type: 'success', | 106 | }, |
| 153 | message: '删除成功!' | 107 | }; |
| 154 | }); | ||
| 155 | }).catch(() => { | ||
| 156 | this.$message({ | ||
| 157 | type: 'info', | ||
| 158 | message: '已取消删除' | ||
| 159 | }); | ||
| 160 | }); | ||
| 161 | |||
| 162 | } | ||
| 163 | }, | ||
| 164 | }; | ||
| 165 | </script> | 108 | </script> |
| 166 | 109 | ||
| 167 | <style lang="scss" scoped> | 110 | <style lang="scss" scoped> |
| 168 | @import "./qlxxCommon.scss"; | 111 | @import "./qlxxCommon.scss"; |
| 169 | </style> | 112 | </style> | ... | ... |
| ... | @@ -47,8 +47,9 @@ | ... | @@ -47,8 +47,9 @@ |
| 47 | </template> | 47 | </template> |
| 48 | 48 | ||
| 49 | <script> | 49 | <script> |
| 50 | import { getJsydsyqList } from "@/api/registerBook.js"; | ||
| 51 | import { datas } from "./qlxxFormData.js"; | 50 | import { datas } from "./qlxxFormData.js"; |
| 51 | import { getSjlx } from "@/utils/dictionary.js"; | ||
| 52 | import { getJsydsyqList } from "@/api/registerBook.js"; | ||
| 52 | export default { | 53 | export default { |
| 53 | data () { | 54 | data () { |
| 54 | return { | 55 | return { |
| ... | @@ -82,6 +83,9 @@ | ... | @@ -82,6 +83,9 @@ |
| 82 | }).then((res) => { | 83 | }).then((res) => { |
| 83 | if (res.code === 200) { | 84 | if (res.code === 200) { |
| 84 | this.tableData = res.result; | 85 | this.tableData = res.result; |
| 86 | this.tableData.forEach(item => { | ||
| 87 | item.sjlx = getSjlx(item.sjlx) | ||
| 88 | }) | ||
| 85 | if (this.tableData.length < datas.columns().emptycolNum) { | 89 | if (this.tableData.length < datas.columns().emptycolNum) { |
| 86 | this.emptycolNum = | 90 | this.emptycolNum = |
| 87 | datas.columns().emptycolNum - this.tableData.length; | 91 | datas.columns().emptycolNum - this.tableData.length; | ... | ... |
| ... | @@ -70,8 +70,9 @@ | ... | @@ -70,8 +70,9 @@ |
| 70 | </template> | 70 | </template> |
| 71 | 71 | ||
| 72 | <script> | 72 | <script> |
| 73 | import { getNydsyqList } from "@/api/registerBook.js"; | ||
| 74 | import { datas } from "./qlxxFormData.js"; | 73 | import { datas } from "./qlxxFormData.js"; |
| 74 | import { getSjlx } from "@/utils/dictionary.js"; | ||
| 75 | import { getNydsyqList } from "@/api/registerBook.js"; | ||
| 75 | export default { | 76 | export default { |
| 76 | data () { | 77 | data () { |
| 77 | return { | 78 | return { |
| ... | @@ -111,6 +112,9 @@ | ... | @@ -111,6 +112,9 @@ |
| 111 | }).then((res) => { | 112 | }).then((res) => { |
| 112 | if (res.code === 200) { | 113 | if (res.code === 200) { |
| 113 | this.tableData = res.result; | 114 | this.tableData = res.result; |
| 115 | this.tableData.forEach(item => { | ||
| 116 | item.sjlx = getSjlx(item.sjlx) | ||
| 117 | }) | ||
| 114 | if (this.tableData.length < datas.columns().emptycolNum) { | 118 | if (this.tableData.length < datas.columns().emptycolNum) { |
| 115 | this.emptycolNum = | 119 | this.emptycolNum = |
| 116 | datas.columns().emptycolNum - this.tableData.length; | 120 | datas.columns().emptycolNum - this.tableData.length; | ... | ... |
| ... | @@ -4,7 +4,7 @@ class data extends filter { | ... | @@ -4,7 +4,7 @@ class data extends filter { |
| 4 | constructor() { | 4 | constructor() { |
| 5 | super() | 5 | super() |
| 6 | } | 6 | } |
| 7 | columns() { | 7 | columns () { |
| 8 | return { | 8 | return { |
| 9 | //空列值个数 | 9 | //空列值个数 |
| 10 | emptycolNum: 3, | 10 | emptycolNum: 3, |
| ... | @@ -24,7 +24,7 @@ class data extends filter { | ... | @@ -24,7 +24,7 @@ class data extends filter { |
| 24 | label: "历史", | 24 | label: "历史", |
| 25 | }, | 25 | }, |
| 26 | ], | 26 | ], |
| 27 | JSYDSYQ: [ | 27 | JSYDSYQ: [ |
| 28 | { | 28 | { |
| 29 | prop: "qszt", | 29 | prop: "qszt", |
| 30 | label: "权属状态", | 30 | label: "权属状态", |
| ... | @@ -134,7 +134,7 @@ class data extends filter { | ... | @@ -134,7 +134,7 @@ class data extends filter { |
| 134 | label: "附记", | 134 | label: "附记", |
| 135 | }, | 135 | }, |
| 136 | ], | 136 | ], |
| 137 | FDCQ2: [ | 137 | FDCQ2: [ |
| 138 | { | 138 | { |
| 139 | prop: "qszt", | 139 | prop: "qszt", |
| 140 | label: "权属状态", | 140 | label: "权属状态", |
| ... | @@ -172,7 +172,7 @@ class data extends filter { | ... | @@ -172,7 +172,7 @@ class data extends filter { |
| 172 | label: "坐落", | 172 | label: "坐落", |
| 173 | }, | 173 | }, |
| 174 | { | 174 | { |
| 175 | prop: "gyfs", | 175 | prop: "gyqk", |
| 176 | label: "共有情况", | 176 | label: "共有情况", |
| 177 | }, | 177 | }, |
| 178 | { | 178 | { |
| ... | @@ -216,7 +216,7 @@ class data extends filter { | ... | @@ -216,7 +216,7 @@ class data extends filter { |
| 216 | label: "房地产交易价格(万元)", | 216 | label: "房地产交易价格(万元)", |
| 217 | }, | 217 | }, |
| 218 | { | 218 | { |
| 219 | prop: "ytmc", | 219 | prop: "ghyt", |
| 220 | label: "规划用途", | 220 | label: "规划用途", |
| 221 | }, | 221 | }, |
| 222 | { | 222 | { |
| ... | @@ -273,7 +273,7 @@ class data extends filter { | ... | @@ -273,7 +273,7 @@ class data extends filter { |
| 273 | label: "附记", | 273 | label: "附记", |
| 274 | }, | 274 | }, |
| 275 | ], | 275 | ], |
| 276 | NYDSYQ: [ | 276 | NYDSYQ: [ |
| 277 | { | 277 | { |
| 278 | prop: "qszt", | 278 | prop: "qszt", |
| 279 | label: "权属状态", | 279 | label: "权属状态", |
| ... | @@ -403,7 +403,7 @@ class data extends filter { | ... | @@ -403,7 +403,7 @@ class data extends filter { |
| 403 | label: "附记", | 403 | label: "附记", |
| 404 | }, | 404 | }, |
| 405 | ], | 405 | ], |
| 406 | DYAQ: [ | 406 | DYAQ: [ |
| 407 | { | 407 | { |
| 408 | prop: "qszt", | 408 | prop: "qszt", |
| 409 | label: "权属状态", | 409 | label: "权属状态", |
| ... | @@ -440,12 +440,12 @@ class data extends filter { | ... | @@ -440,12 +440,12 @@ class data extends filter { |
| 440 | prop: "zl", | 440 | prop: "zl", |
| 441 | label: "在建建筑物坐落", | 441 | label: "在建建筑物坐落", |
| 442 | }, | 442 | }, |
| 443 | { | 443 | { |
| 444 | prop: "dyfs", | 444 | prop: "dyfs", |
| 445 | label: "抵押方式", | 445 | label: "抵押方式", |
| 446 | render: (h, scope) => { | 446 | render: (h, scope) => { |
| 447 | return ( | 447 | return ( |
| 448 | <div> | 448 | <div> |
| 449 | <span v-show={scope.row.dyfs == '1'}>一般抵押权</span> | 449 | <span v-show={scope.row.dyfs == '1'}>一般抵押权</span> |
| 450 | <span v-show={scope.row.dyfs == '2'}>最高额抵押权</span> | 450 | <span v-show={scope.row.dyfs == '2'}>最高额抵押权</span> |
| 451 | </div> | 451 | </div> |
| ... | @@ -480,7 +480,7 @@ class data extends filter { | ... | @@ -480,7 +480,7 @@ class data extends filter { |
| 480 | prop: "ywrzjhm", | 480 | prop: "ywrzjhm", |
| 481 | label: "抵押人证件号", | 481 | label: "抵押人证件号", |
| 482 | }, | 482 | }, |
| 483 | 483 | ||
| 484 | { | 484 | { |
| 485 | prop: "sfygdj", | 485 | prop: "sfygdj", |
| 486 | label: "是否预告登记", | 486 | label: "是否预告登记", |
| ... | @@ -532,7 +532,7 @@ class data extends filter { | ... | @@ -532,7 +532,7 @@ class data extends filter { |
| 532 | { | 532 | { |
| 533 | prop: "fj", | 533 | prop: "fj", |
| 534 | label: "附记", | 534 | label: "附记", |
| 535 | }, | 535 | }, |
| 536 | { | 536 | { |
| 537 | prop: "djsj", | 537 | prop: "djsj", |
| 538 | label: "登记时间", | 538 | label: "登记时间", |
| ... | @@ -563,7 +563,7 @@ class data extends filter { | ... | @@ -563,7 +563,7 @@ class data extends filter { |
| 563 | }, | 563 | }, |
| 564 | 564 | ||
| 565 | ], | 565 | ], |
| 566 | DYIQ: [ | 566 | DYIQ: [ |
| 567 | { | 567 | { |
| 568 | prop: "qszt", | 568 | prop: "qszt", |
| 569 | label: "权属状态", | 569 | label: "权属状态", |
| ... | @@ -657,7 +657,7 @@ class data extends filter { | ... | @@ -657,7 +657,7 @@ class data extends filter { |
| 657 | label: "登记时间", | 657 | label: "登记时间", |
| 658 | }, | 658 | }, |
| 659 | ], | 659 | ], |
| 660 | YGDJ: [ | 660 | YGDJ: [ |
| 661 | { | 661 | { |
| 662 | prop: "qszt", | 662 | prop: "qszt", |
| 663 | label: "权属状态", | 663 | label: "权属状态", |
| ... | @@ -783,7 +783,7 @@ class data extends filter { | ... | @@ -783,7 +783,7 @@ class data extends filter { |
| 783 | label: "注销时间", | 783 | label: "注销时间", |
| 784 | } | 784 | } |
| 785 | ], | 785 | ], |
| 786 | CFDJ: [ | 786 | CFDJ: [ |
| 787 | { | 787 | { |
| 788 | prop: "qszt", | 788 | prop: "qszt", |
| 789 | label: "权属状态", | 789 | label: "权属状态", | ... | ... |
| 1 | <!-- | 1 | <!-- |
| 2 | * @Description: 受理信息 | 2 | * @Description: 受理信息 |
| 3 | * @Autor: renchao | 3 | * @Autor: renchao |
| 4 | * @LastEditTime: 2023-05-25 08:41:40 | 4 | * @LastEditTime: 2023-06-20 10:27:45 |
| 5 | --> | 5 | --> |
| 6 | <template> | 6 | <template> |
| 7 | <div class="slxx"> | 7 | <div class="slxx"> |
| ... | @@ -224,7 +224,7 @@ | ... | @@ -224,7 +224,7 @@ |
| 224 | ...res.result.qlxxdatas, | 224 | ...res.result.qlxxdatas, |
| 225 | } | 225 | } |
| 226 | //初始化发证方式,1:小证,2:大正 | 226 | //初始化发证方式,1:小证,2:大正 |
| 227 | this.ruleForm.slsq.fzfs == null ? this.ruleForm.slsq.fzfs='1' : this.ruleForm.slsq.fzfs; | 227 | this.ruleForm.slsq.fzfs == null ? this.ruleForm.slsq.fzfs = '1' : this.ruleForm.slsq.fzfs; |
| 228 | } | 228 | } |
| 229 | }); | 229 | }); |
| 230 | }, | 230 | }, | ... | ... |
| 1 | <!-- | 1 | <!-- |
| 2 | * @Description: 受理信息 | 2 | * @Description: 受理信息 |
| 3 | * @Autor: renchao | 3 | * @Autor: renchao |
| 4 | * @LastEditTime: 2023-05-25 08:41:33 | 4 | * @LastEditTime: 2023-06-20 10:27:49 |
| 5 | --> | 5 | --> |
| 6 | <template> | 6 | <template> |
| 7 | <div class="slxx"> | 7 | <div class="slxx"> |
| ... | @@ -210,7 +210,7 @@ | ... | @@ -210,7 +210,7 @@ |
| 210 | ...res.result.jsydsyqdatas, | 210 | ...res.result.jsydsyqdatas, |
| 211 | }; | 211 | }; |
| 212 | //初始化发证方式,1:小证,2:大正 | 212 | //初始化发证方式,1:小证,2:大正 |
| 213 | this.ruleForm.slsq.fzfs == null ? this.ruleForm.slsq.fzfs='1' : this.ruleForm.slsq.fzfs; | 213 | this.ruleForm.slsq.fzfs == null ? this.ruleForm.slsq.fzfs = '1' : this.ruleForm.slsq.fzfs; |
| 214 | } | 214 | } |
| 215 | }); | 215 | }); |
| 216 | }, | 216 | }, | ... | ... |
| ... | @@ -110,7 +110,7 @@ | ... | @@ -110,7 +110,7 @@ |
| 110 | <el-row :gutter="10"> | 110 | <el-row :gutter="10"> |
| 111 | <el-col :span="8"> | 111 | <el-col :span="8"> |
| 112 | <el-form-item label="房屋用途:"> | 112 | <el-form-item label="房屋用途:"> |
| 113 | <el-input disabled v-model="ruleForm.fwyt"></el-input> | 113 | <el-input disabled v-model="ruleForm.ytmc"></el-input> |
| 114 | </el-form-item> | 114 | </el-form-item> |
| 115 | </el-col> | 115 | </el-col> |
| 116 | <el-col :span="8"> | 116 | <el-col :span="8"> | ... | ... |
| ... | @@ -5,8 +5,8 @@ | ... | @@ -5,8 +5,8 @@ |
| 5 | --> | 5 | --> |
| 6 | <template> | 6 | <template> |
| 7 | <!-- 受理信息 --> | 7 | <!-- 受理信息 --> |
| 8 | <div class="slxx"> | 8 | <div class="slxx loadingtext"> |
| 9 | <el-form :model="ruleForm" :rules="rules" class="loadingtext" ref="ruleForm" :label-position="flag ? 'top' : ''" | 9 | <el-form :model="ruleForm" :rules="rules" ref="ruleForm" :label-position="flag ? 'top' : ''" |
| 10 | :inline="flag" label-width="120px"> | 10 | :inline="flag" label-width="120px"> |
| 11 | <div class="slxx_con" :class="flag ? 'formMarginBot0' : ''"> | 11 | <div class="slxx_con" :class="flag ? 'formMarginBot0' : ''"> |
| 12 | <div class="slxx_title title-block"> | 12 | <div class="slxx_title title-block"> |
| ... | @@ -202,8 +202,8 @@ | ... | @@ -202,8 +202,8 @@ |
| 202 | Init(formdata).then((res) => { | 202 | Init(formdata).then((res) => { |
| 203 | if (res.code === 200 && res.result) { | 203 | if (res.code === 200 && res.result) { |
| 204 | this.ruleForm = res.result; | 204 | this.ruleForm = res.result; |
| 205 | this.$endLoading(); | ||
| 206 | } | 205 | } |
| 206 | this.$endLoading(); | ||
| 207 | }); | 207 | }); |
| 208 | }, | 208 | }, |
| 209 | components: { qlrCommonTable }, | 209 | components: { qlrCommonTable }, | ... | ... |
| ... | @@ -28,6 +28,19 @@ class data extends filter { | ... | @@ -28,6 +28,19 @@ class data extends filter { |
| 28 | } | 28 | } |
| 29 | }, | 29 | }, |
| 30 | { | 30 | { |
| 31 | prop: "status", | ||
| 32 | label: "状态", | ||
| 33 | render: (h, scope) => { | ||
| 34 | return ( | ||
| 35 | <div> | ||
| 36 | {/* <a v-on:click="doSomething"></a> */} | ||
| 37 | <a style='color:#3498db;' v-show={scope.row.djblzt == 1} >正在办理</a> | ||
| 38 | <span v-show={scope.row.sfbl == 1}>,正在补录</span> | ||
| 39 | </div> | ||
| 40 | ) | ||
| 41 | } | ||
| 42 | }, | ||
| 43 | { | ||
| 31 | label: "权属状态", | 44 | label: "权属状态", |
| 32 | width: '80', | 45 | width: '80', |
| 33 | render: (h, scope) => { | 46 | render: (h, scope) => { |
| ... | @@ -55,10 +68,7 @@ class data extends filter { | ... | @@ -55,10 +68,7 @@ class data extends filter { |
| 55 | ) | 68 | ) |
| 56 | } | 69 | } |
| 57 | }, | 70 | }, |
| 58 | { | 71 | |
| 59 | prop: "ywh", | ||
| 60 | label: "业务号", | ||
| 61 | }, | ||
| 62 | { | 72 | { |
| 63 | prop: "qllxmc", | 73 | prop: "qllxmc", |
| 64 | label: "权利类型", | 74 | label: "权利类型", | ... | ... |
-
Please register or sign in to post a comment