Merge branch 'dev' of http://yun.pashanhoo.com:9090/bdc/bdcdj-web into dev
Showing
70 changed files
with
10592 additions
and
315 deletions
| 1 | <!-- | 1 | <!-- |
| 2 | * @Description: | 2 | * @Description: |
| 3 | * @Autor: renchao | 3 | * @Autor: renchao |
| 4 | * @LastEditTime: 2023-05-31 16:04:35 | 4 | * @LastEditTime: 2023-06-02 09:47:57 |
| 5 | --> | 5 | --> |
| 6 | <!DOCTYPE html> | 6 | <!DOCTYPE html> |
| 7 | <html> | 7 | <html> |
| ... | @@ -14,14 +14,13 @@ | ... | @@ -14,14 +14,13 @@ |
| 14 | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> | 14 | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> |
| 15 | <link rel="shortcut icon" type="image/x-icon" href="./favicon.ico" /> | 15 | <link rel="shortcut icon" type="image/x-icon" href="./favicon.ico" /> |
| 16 | <title> | 16 | <title> |
| 17 | <%= webpackConfig.name %> | ||
| 18 | </title> | 17 | </title> |
| 19 | </head> | 18 | </head> |
| 20 | <script> | 19 | <script> |
| 21 | window.baseUrl = location.origin || location.protocol + '//' + location.host | ||
| 22 | window._config = { | 20 | window._config = { |
| 23 | // 是否微服务模式,业务系统根据需要读取 | 21 | // 是否微服务模式,业务系统根据需要读取,此demo未使用 |
| 24 | cloudEnable: false, | 22 | cloudEnable: false, |
| 23 | baseUrl: location.origin || location.protocol + '//' + location.host, | ||
| 25 | // 是否启用单点登录 | 24 | // 是否启用单点登录 |
| 26 | casEnable: true, | 25 | casEnable: true, |
| 27 | // cas 基地址 | 26 | // cas 基地址 |
| ... | @@ -36,7 +35,7 @@ | ... | @@ -36,7 +35,7 @@ |
| 36 | .then(response => response.json()) | 35 | .then(response => response.json()) |
| 37 | .then(config => { | 36 | .then(config => { |
| 38 | window.config = config | 37 | window.config = config |
| 39 | }); | 38 | }) |
| 40 | </script> | 39 | </script> |
| 41 | 40 | ||
| 42 | <body> | 41 | <body> | ... | ... |
| ... | @@ -5,6 +5,43 @@ | ... | @@ -5,6 +5,43 @@ |
| 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 ? window.config : JSON.parse(localStorage.getItem('ApiUrl')) |
| 8 | |||
| 9 | /** | ||
| 10 | * 国有建设用地使用权/房屋所有权-批量房屋初始化 | ||
| 11 | * @param data | ||
| 12 | * @author ssq 2023年5月26日14点29分 | ||
| 13 | */ | ||
| 14 | export function BatchInit(data){ | ||
| 15 | let apiUrl = ""; | ||
| 16 | switch (data.get("djlx")) { | ||
| 17 | case "100": | ||
| 18 | apiUrl = SERVER.SERVERAPI + "/rest/ywbl/fdcq2lr/fristBatchInit"; | ||
| 19 | break; | ||
| 20 | case "200": | ||
| 21 | apiUrl = SERVER.SERVERAPI + "/rest/ywbl/fdcq2lr/transferInit"; | ||
| 22 | break; | ||
| 23 | case "300": | ||
| 24 | apiUrl = SERVER.SERVERAPI + "/rest/ywbl/fdcq2lr/changeInit"; | ||
| 25 | break; | ||
| 26 | case "400": | ||
| 27 | apiUrl = SERVER.SERVERAPI + "/rest/ywbl/fdcq2lr/logoutBatchSave"; | ||
| 28 | break; | ||
| 29 | case "500": | ||
| 30 | apiUrl = SERVER.SERVERAPI + "/rest/ywbl/fdcq2lr/riviseInit"; | ||
| 31 | break; | ||
| 32 | case "901": | ||
| 33 | apiUrl = SERVER.SERVERAPI + "/rest/ywbl/fdcq2lr/renewalInit"; | ||
| 34 | break; | ||
| 35 | case "902": | ||
| 36 | apiUrl = SERVER.SERVERAPI + "/rest/ywbl/fdcq2lr/replaceInit"; | ||
| 37 | break; | ||
| 38 | } | ||
| 39 | return request({ | ||
| 40 | url: apiUrl, | ||
| 41 | method: 'post', | ||
| 42 | data | ||
| 43 | }) | ||
| 44 | } | ||
| 8 | /** | 45 | /** |
| 9 | * @description: 初始化内容 | 46 | * @description: 初始化内容 |
| 10 | * @param {*} data | 47 | * @param {*} data | ... | ... |
| ... | @@ -28,6 +28,7 @@ | ... | @@ -28,6 +28,7 @@ |
| 28 | </template> | 28 | </template> |
| 29 | <script> | 29 | <script> |
| 30 | import axios from 'axios' | 30 | import axios from 'axios' |
| 31 | import Cookies from 'js-cookie' | ||
| 31 | import { mapGetters } from 'vuex' | 32 | import { mapGetters } from 'vuex' |
| 32 | import NoticeBar from '@/components/NoticeBar/index' | 33 | import NoticeBar from '@/components/NoticeBar/index' |
| 33 | import { | 34 | import { |
| ... | @@ -40,7 +41,7 @@ | ... | @@ -40,7 +41,7 @@ |
| 40 | computed: { | 41 | computed: { |
| 41 | ...mapGetters(['sidebar', 'avatar', 'name']), | 42 | ...mapGetters(['sidebar', 'avatar', 'name']), |
| 42 | baseUrl () { | 43 | baseUrl () { |
| 43 | return window.baseUrl; | 44 | return window._config.baseUrl; |
| 44 | }, | 45 | }, |
| 45 | }, | 46 | }, |
| 46 | data () { | 47 | data () { |
| ... | @@ -64,7 +65,6 @@ | ... | @@ -64,7 +65,6 @@ |
| 64 | window.removeEventListener('message') | 65 | window.removeEventListener('message') |
| 65 | }, | 66 | }, |
| 66 | methods: { | 67 | methods: { |
| 67 | |||
| 68 | queryNoticeList () { | 68 | queryNoticeList () { |
| 69 | getHomeNoticeList().then(res => { | 69 | getHomeNoticeList().then(res => { |
| 70 | if (res.result) { | 70 | if (res.result) { |
| ... | @@ -74,7 +74,11 @@ | ... | @@ -74,7 +74,11 @@ |
| 74 | }, | 74 | }, |
| 75 | logout () { | 75 | logout () { |
| 76 | axios.post(this.BASE_API.ip + "/management/logout").then(() => { | 76 | axios.post(this.BASE_API.ip + "/management/logout").then(() => { |
| 77 | if (process.env.NODE_ENV === 'development') { | ||
| 77 | localStorage.removeItem('token') | 78 | localStorage.removeItem('token') |
| 79 | } else { | ||
| 80 | Cookies.remove('ACCESS_TOKEN') | ||
| 81 | } | ||
| 78 | if (window._config.casEnable) { | 82 | if (window._config.casEnable) { |
| 79 | window.location.href = window._config.casBaseURL + '/logout?service=' + encodeURIComponent(window.location.href); | 83 | window.location.href = window._config.casBaseURL + '/logout?service=' + encodeURIComponent(window.location.href); |
| 80 | } else { | 84 | } else { | ... | ... |
| 1 | /* | 1 | /* |
| 2 | * @Description: 项目权限 | 2 | * @Description: 项目权限 |
| 3 | * @Autor: renchao | 3 | * @Autor: renchao |
| 4 | * @LastEditTime: 2023-05-31 15:55:14 | 4 | * @LastEditTime: 2023-06-02 10:44:17 |
| 5 | */ | 5 | */ |
| 6 | import Vue from 'vue' | 6 | import Vue from 'vue' |
| 7 | import axios from 'axios' | ||
| 7 | import router from './router' | 8 | import router from './router' |
| 8 | import store from './store' | 9 | import store from './store' |
| 9 | import axios from 'axios' | 10 | import Cookies from 'js-cookie' |
| 10 | import { getMenuInfo } from '@/api/user' | 11 | import {getMenuInfo} from '@/api/user' |
| 11 | import { getUrlParam } from '@/utils/operation' | 12 | import {getUrlParam} from '@/utils/operation' |
| 12 | import NProgress from 'nprogress' // progress bar | 13 | import NProgress from 'nprogress' // progress bar |
| 13 | import 'nprogress/nprogress.css' // progress bar style | 14 | import 'nprogress/nprogress.css' // progress bar style |
| 14 | import getPageTitle from '@/utils/get-page-title' | 15 | import getPageTitle from '@/utils/get-page-title' |
| 15 | import Cookies from 'js-cookie' | 16 | |
| 16 | NProgress.configure({ showSpinner: false }) // NProgress Configuration | 17 | NProgress.configure({showSpinner: false}) // NProgress Configuration |
| 17 | 18 | ||
| 18 | router.beforeEach(async (to, from, next) => { | 19 | router.beforeEach(async (to, from, next) => { |
| 19 | Vue.prototype.$currentRoute = to | 20 | Vue.prototype.$currentRoute = to |
| ... | @@ -22,7 +23,7 @@ router.beforeEach(async (to, from, next) => { | ... | @@ -22,7 +23,7 @@ router.beforeEach(async (to, from, next) => { |
| 22 | let hasAddDict = store.state.dict.addDict | 23 | let hasAddDict = store.state.dict.addDict |
| 23 | let hasAddRoute = store.state.permission.addRoutes | 24 | let hasAddRoute = store.state.permission.addRoutes |
| 24 | // cas操作 | 25 | // cas操作 |
| 25 | const token = localStorage.getItem("token") | 26 | const token = localStorage.getItem("token") || Cookies.get('ACCESS_TOKEN'); |
| 26 | if (to.path === '/login') { | 27 | if (to.path === '/login') { |
| 27 | if (token) { | 28 | if (token) { |
| 28 | next('/') | 29 | next('/') |
| ... | @@ -42,7 +43,11 @@ router.beforeEach(async (to, from, next) => { | ... | @@ -42,7 +43,11 @@ router.beforeEach(async (to, from, next) => { |
| 42 | 'service': locationUrl | 43 | 'service': locationUrl |
| 43 | } | 44 | } |
| 44 | }).then(async (res) => { | 45 | }).then(async (res) => { |
| 46 | if (process.env.NODE_ENV === 'development') { | ||
| 45 | localStorage.setItem('token', res.data.content.accessToken) | 47 | localStorage.setItem('token', res.data.content.accessToken) |
| 48 | } else { | ||
| 49 | Cookies.set('ACCESS_TOKEN', res.data.content.accessToken) | ||
| 50 | } | ||
| 46 | window.location.href = localStorage.getItem('location') | 51 | window.location.href = localStorage.getItem('location') |
| 47 | 52 | ||
| 48 | }).catch(e => { | 53 | }).catch(e => { |
| ... | @@ -51,12 +56,12 @@ router.beforeEach(async (to, from, next) => { | ... | @@ -51,12 +56,12 @@ router.beforeEach(async (to, from, next) => { |
| 51 | } else { | 56 | } else { |
| 52 | localStorage.setItem("location", window.location.href) | 57 | localStorage.setItem("location", window.location.href) |
| 53 | window.location.href = window._config.casBaseURL + '/login?service=' + encodeURIComponent(locationUrl); | 58 | window.location.href = window._config.casBaseURL + '/login?service=' + encodeURIComponent(locationUrl); |
| 54 | permission() | ||
| 55 | } | 59 | } |
| 56 | } else { | 60 | } else { |
| 57 | permission() | 61 | permission() |
| 58 | } | 62 | } |
| 59 | async function permission () { | 63 | |
| 64 | async function permission() { | ||
| 60 | if (!hasAddDict) { | 65 | if (!hasAddDict) { |
| 61 | store.dispatch('dict/generateDic') | 66 | store.dispatch('dict/generateDic') |
| 62 | } | 67 | } |
| ... | @@ -64,14 +69,14 @@ router.beforeEach(async (to, from, next) => { | ... | @@ -64,14 +69,14 @@ router.beforeEach(async (to, from, next) => { |
| 64 | next() | 69 | next() |
| 65 | // next({ ...to, replace: true }) | 70 | // next({ ...to, replace: true }) |
| 66 | } else { | 71 | } else { |
| 67 | const { result: getMenuData } = await getMenuInfo() | 72 | const {result: getMenuData} = await getMenuInfo() |
| 68 | const accessRoutes = await store.dispatch('permission/generateRoutes', getMenuData) | 73 | const accessRoutes = await store.dispatch('permission/generateRoutes', getMenuData) |
| 69 | // 获取用户信息 | 74 | // 获取用户信息 |
| 70 | await store.dispatch('user/getUserInfo') | 75 | await store.dispatch('user/getUserInfo') |
| 71 | router.addRoutes([...accessRoutes, { path: '*', redirect: '/404', hidden: true }]) | 76 | router.addRoutes([...accessRoutes, {path: '*', redirect: '/404', hidden: true}]) |
| 72 | const routeTo = Cookies.get('routerTo') | 77 | const routeTo = Cookies.get('routerTo') |
| 73 | if (routeTo && routeTo !== '/') { | 78 | if (routeTo && routeTo !== '/') { |
| 74 | next({ ...to, replace: true }) | 79 | next({...to, replace: true}) |
| 75 | } else { | 80 | } else { |
| 76 | next('/home') | 81 | next('/home') |
| 77 | } | 82 | } | ... | ... |
| ... | @@ -34,6 +34,14 @@ export const constantRoutes = [ | ... | @@ -34,6 +34,14 @@ export const constantRoutes = [ |
| 34 | hidden: true, | 34 | hidden: true, |
| 35 | meta: { title: '发起申请' } | 35 | meta: { title: '发起申请' } |
| 36 | }, | 36 | }, |
| 37 | // 业务流程框架 | ||
| 38 | { | ||
| 39 | path: '/djbworkFrame', | ||
| 40 | component: () => import('@/views/djbworkflow/workFrame.vue'), | ||
| 41 | name: 'djbworkFrame', | ||
| 42 | hidden: true, | ||
| 43 | meta: { title: '登记簿编辑' } | ||
| 44 | }, | ||
| 37 | //登记簿详情 | 45 | //登记簿详情 |
| 38 | { | 46 | { |
| 39 | path: '/djbFrameall', | 47 | path: '/djbFrameall', | ... | ... |
| 1 | |||
| 1 | /* | 2 | /* |
| 2 | * @Description: 此文件主要创建 axios 实例,然后添加请求拦截器和响应拦截器 | 3 | * @Description: 此文件主要创建 axios 实例,然后添加请求拦截器和响应拦截器 |
| 3 | * @Autor: renchao | 4 | * @Autor: renchao |
| 4 | * @LastEditTime: 2023-06-01 09:20:24 | 5 | * @LastEditTime: 2023-06-02 10:18:32 |
| 5 | */ | 6 | */ |
| 6 | import axios from 'axios' | 7 | import axios from 'axios' |
| 8 | import Router from '@/router' | ||
| 9 | import Cookies from 'js-cookie' | ||
| 7 | import { Message } from 'element-ui' | 10 | import { Message } from 'element-ui' |
| 8 | import { endLoadingSubCount } from './requestLoading' | 11 | import { endLoadingSubCount } from './requestLoading' |
| 9 | 12 | ||
| ... | @@ -12,7 +15,7 @@ const service = axios.create({ | ... | @@ -12,7 +15,7 @@ const service = axios.create({ |
| 12 | baseURL: | 15 | baseURL: |
| 13 | process.env.NODE_ENV == "development" | 16 | process.env.NODE_ENV == "development" |
| 14 | ? process.env.VUE_APP_BASE_API | 17 | ? process.env.VUE_APP_BASE_API |
| 15 | : window.baseUrl + "/", | 18 | : window._config.baseUrl + "/", |
| 16 | withCredentials: true, //是否允许跨域 | 19 | withCredentials: true, //是否允许跨域 |
| 17 | headers: { | 20 | headers: { |
| 18 | 'Content-Type': 'application/json; charset=utf-8' | 21 | 'Content-Type': 'application/json; charset=utf-8' |
| ... | @@ -23,14 +26,16 @@ const service = axios.create({ | ... | @@ -23,14 +26,16 @@ const service = axios.create({ |
| 23 | // request interceptor | 26 | // request interceptor |
| 24 | service.interceptors.request.use( | 27 | service.interceptors.request.use( |
| 25 | config => { | 28 | config => { |
| 29 | if (process.env.NODE_ENV === 'development') { | ||
| 26 | const token = localStorage.getItem('token') | 30 | const token = localStorage.getItem('token') |
| 27 | // 添加请求头 | 31 | // 添加请求头 |
| 28 | if (token) { | 32 | if (token) { |
| 29 | config.headers['Authorization'] = "Bearer " + token | 33 | config.headers['Authorization'] = 'Bearer ' + token |
| 30 | } else { | 34 | } else { |
| 31 | config.headers.delete('Authorization') | 35 | config.headers.delete('Authorization') |
| 32 | } | 36 | } |
| 33 | return config; | 37 | } |
| 38 | return config | ||
| 34 | }, | 39 | }, |
| 35 | error => { | 40 | error => { |
| 36 | // do something with request error | 41 | // do something with request error |
| ... | @@ -62,20 +67,23 @@ service.interceptors.response.use( | ... | @@ -62,20 +67,23 @@ service.interceptors.response.use( |
| 62 | window.__isNeedLogin = false | 67 | window.__isNeedLogin = false |
| 63 | Message.error('token失效,请重新登录'); | 68 | Message.error('token失效,请重新登录'); |
| 64 | 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') { | ||
| 65 | localStorage.removeItem('token') | 71 | localStorage.removeItem('token') |
| 72 | } else { | ||
| 73 | Cookies.remove('ACCESS_TOKEN') | ||
| 74 | } | ||
| 66 | if (window._config.casEnable) { | 75 | if (window._config.casEnable) { |
| 67 | window.location.href = window._config.casBaseURL + '/logout?service=' + encodeURIComponent(locationUrl); | 76 | window.location.href = window._config.casBaseURL + '/logout?service=' + encodeURIComponent(locationUrl); |
| 68 | } else { | 77 | } else { |
| 69 | router.replace({ | 78 | Router.replace({ |
| 70 | path: '/login', | 79 | path: '/login', |
| 71 | query: { | 80 | query: { |
| 72 | redirect: router.currentRoute.value.fullPath | 81 | redirect: Router.currentRoute.value.fullPath |
| 73 | } | 82 | } |
| 74 | }) | 83 | }) |
| 75 | return false | 84 | return false |
| 76 | } | 85 | } |
| 77 | } | 86 | } |
| 78 | |||
| 79 | } else { | 87 | } else { |
| 80 | // 对响应错误做点什么 | 88 | // 对响应错误做点什么 |
| 81 | Message({ | 89 | Message({ | ... | ... |
src/views/components/addProject.vue
0 → 100644
| 1 | <template> | ||
| 2 | <dialogBox title="配置常办项目" @submitForm="submitForm" saveButton="保存" :isFullscreen="false" width="50%" | ||
| 3 | @closeDialog="closeDialog" v-model="myValue"> | ||
| 4 | <Tree :data="projectList" show-checkbox node-key="id" :default-checked-keys="defaultCheckeds" ref="tree" | ||
| 5 | default-expand-all :props="defaultProps" @check-change="handleClick" /> | ||
| 6 | </dialogBox> | ||
| 7 | </template> | ||
| 8 | <script> | ||
| 9 | import { getMenuInfo } from "@/api/user.js"; | ||
| 10 | import Tree from "@/components/Tree/src/tree.vue" | ||
| 11 | import { saveFrequentProjectsList, getHomeFrequentProjects } from "@/api/user.js"; | ||
| 12 | export default { | ||
| 13 | components: { | ||
| 14 | Tree | ||
| 15 | }, | ||
| 16 | props: { | ||
| 17 | value: { type: Boolean, default: false }, | ||
| 18 | bindItem: { type: Array, default: [] } | ||
| 19 | }, | ||
| 20 | data () { | ||
| 21 | return { | ||
| 22 | myValue: false, | ||
| 23 | defaultCheckeds: [], | ||
| 24 | projectList: [], | ||
| 25 | checkedItem: [], | ||
| 26 | defaultProps: { | ||
| 27 | children: "children", | ||
| 28 | label: "name", | ||
| 29 | disabled: function (data, node) { | ||
| 30 | if (data.children && data.children.length > 0) { | ||
| 31 | return true | ||
| 32 | } else { | ||
| 33 | return false | ||
| 34 | } | ||
| 35 | } | ||
| 36 | }, | ||
| 37 | uniqueValue: ''//最后拿到的唯一选择的moduldCode值,相当于id | ||
| 38 | } | ||
| 39 | }, | ||
| 40 | watch: { | ||
| 41 | value (val) { | ||
| 42 | this.myValue = val | ||
| 43 | if (val) { | ||
| 44 | this.queryClick() | ||
| 45 | } | ||
| 46 | } | ||
| 47 | }, | ||
| 48 | mounted () { | ||
| 49 | this.dealCheckedItem(); | ||
| 50 | }, | ||
| 51 | methods: { | ||
| 52 | submitForm () { | ||
| 53 | var checkedNodes = this.$refs.tree.getCheckedNodes(); | ||
| 54 | if (checkedNodes.length > 6) { | ||
| 55 | this.$message.error("最多选择6个项目!"); | ||
| 56 | return | ||
| 57 | } | ||
| 58 | saveFrequentProjectsList(checkedNodes).then(res => { | ||
| 59 | if (res.code == 200) { | ||
| 60 | this.$parent.queryProjectList(); | ||
| 61 | this.$message.success("保存成功"); | ||
| 62 | this.$emit("input", false); | ||
| 63 | } else { | ||
| 64 | this.$message.error(res.message); | ||
| 65 | } | ||
| 66 | }) | ||
| 67 | }, | ||
| 68 | queryClick () { | ||
| 69 | let that = this | ||
| 70 | getMenuInfo().then(res => { | ||
| 71 | this.projectList = res.result.slice(0, -2) | ||
| 72 | }) | ||
| 73 | function lookForAllId (arr = []) { | ||
| 74 | for (let item of that.bindItem) { | ||
| 75 | arr.push(item.id) | ||
| 76 | if (item.children && item.children.length) lookForAllId(item.children, arr) | ||
| 77 | } | ||
| 78 | return arr | ||
| 79 | } | ||
| 80 | this.defaultCheckeds = lookForAllId() | ||
| 81 | }, | ||
| 82 | dealCheckedItem () { | ||
| 83 | }, | ||
| 84 | //关闭窗口 | ||
| 85 | closeDialog () { | ||
| 86 | this.$emit("input", false); | ||
| 87 | }, | ||
| 88 | //节点选择状态发生改变时 | ||
| 89 | handleClick (data, checked, node) { | ||
| 90 | var checkedNodes = this.$refs.tree.getCheckedNodes(); | ||
| 91 | if (checkedNodes.length > 6) { | ||
| 92 | this.$message({ | ||
| 93 | message: '最后选择6条数据', | ||
| 94 | type: 'warning', | ||
| 95 | customClass: 'messageIndex' | ||
| 96 | }) | ||
| 97 | this.$refs.tree.setChecked(data, false) // 取消当前节点的选中状态 | ||
| 98 | } | ||
| 99 | } | ||
| 100 | } | ||
| 101 | } | ||
| 102 | </script> | ||
| 103 | <style scoped lang='scss'> | ||
| 104 | /deep/.el-tree-node.is-expanded>.el-tree-node__children { | ||
| 105 | display: flex; | ||
| 106 | flex-wrap: wrap; | ||
| 107 | } | ||
| 108 | </style> |
src/views/djbBook/bdcqldjml.vue
0 → 100644
| 1 | <template> | ||
| 2 | <div class="bdcqldjml"> | ||
| 3 | <table class="mlTable"> | ||
| 4 | <tr> | ||
| 5 | <th colspan="5" class="title">不动产权利登记目录</th> | ||
| 6 | </tr> | ||
| 7 | <tr> | ||
| 8 | <td>序号</td> | ||
| 9 | <td>不动产单元号</td> | ||
| 10 | <td>不动产类型</td> | ||
| 11 | <td>所在本数</td> | ||
| 12 | <td>备注</td> | ||
| 13 | </tr> | ||
| 14 | <tr v-for="(item, index) in bdcqlml" :key="index"> | ||
| 15 | <td>{{ index + 1 }}</td> | ||
| 16 | <td>{{ item.bdcdyh }}</td> | ||
| 17 | <td>{{ item.bdclx }}</td> | ||
| 18 | <td>{{ item.szbs }}</td> | ||
| 19 | <td>{{ item.bz }}</td> | ||
| 20 | </tr> | ||
| 21 | </table> | ||
| 22 | </div> | ||
| 23 | </template> | ||
| 24 | |||
| 25 | <script> | ||
| 26 | import { getBdcqldjmlByBdcdyid } from "@/api/registerBook.js"; | ||
| 27 | export default { | ||
| 28 | data() { | ||
| 29 | return { | ||
| 30 | bdcqlml: [], | ||
| 31 | propsParam: this.$attrs, | ||
| 32 | }; | ||
| 33 | }, | ||
| 34 | mounted() { | ||
| 35 | getBdcqldjmlByBdcdyid({ bdcdyid: this.propsParam.bdcdyid }).then((res) => { | ||
| 36 | if (res.code === 200) { | ||
| 37 | this.bdcqlml = res.result; | ||
| 38 | } | ||
| 39 | }); | ||
| 40 | }, | ||
| 41 | }; | ||
| 42 | </script> | ||
| 43 | |||
| 44 | <style lang="scss" scoped> | ||
| 45 | .bdcqldjml { | ||
| 46 | width: 100%; | ||
| 47 | height: 100%; | ||
| 48 | background: #fff; | ||
| 49 | overflow-y: scroll; | ||
| 50 | .mlTable { | ||
| 51 | width: 90%; | ||
| 52 | margin: 0 auto; | ||
| 53 | color: #333; | ||
| 54 | border-spacing: 1px; | ||
| 55 | background-color: #333; | ||
| 56 | |||
| 57 | .title { | ||
| 58 | font-size: 20px; | ||
| 59 | line-height: 60px; | ||
| 60 | font-family: serif; | ||
| 61 | position: relative; | ||
| 62 | } | ||
| 63 | |||
| 64 | td, | ||
| 65 | th { | ||
| 66 | background-color: white; | ||
| 67 | line-height: 30px; | ||
| 68 | padding: 0 4px; | ||
| 69 | text-align: center; | ||
| 70 | } | ||
| 71 | } | ||
| 72 | } | ||
| 73 | </style> |
src/views/djbBook/bdcqljqtsx.vue
0 → 100644
| 1 | <template> | ||
| 2 | <div class="bdcqljqtsx"> | ||
| 3 | <div class="content"> | ||
| 4 | <div class="title">不动产权利及其他事项<br />登记信息</div> | ||
| 5 | <div> | ||
| 6 | 不动产单元号: | ||
| 7 | <div class="underline">{{ propsParam.bdcdyh }}</div> | ||
| 8 | </div> | ||
| 9 | <br /><br /><br /> | ||
| 10 | <div> | ||
| 11 | <div class="underline">{{ qlxxList.ztqlmc }}</div> | ||
| 12 | 登记 共 | ||
| 13 | <div class="underline">{{ qlxxList.ztql.total }}</div> | ||
| 14 | 条 | ||
| 15 | </div> | ||
| 16 | <br /><br /> | ||
| 17 | <div> | ||
| 18 | 抵押权登记 共 | ||
| 19 | <div class="underline">{{ qlxxList.diyaq.total }}</div> | ||
| 20 | 条 | ||
| 21 | </div> | ||
| 22 | <br /> | ||
| 23 | <div> | ||
| 24 | 地役权登记 共 | ||
| 25 | <div class="underline">{{ qlxxList.diyiq.total }}</div> | ||
| 26 | 条 | ||
| 27 | </div> | ||
| 28 | <br /> | ||
| 29 | <div> | ||
| 30 | 预告登记 共 | ||
| 31 | <div class="underline">{{ qlxxList.ygdj.total }}</div> | ||
| 32 | 条 | ||
| 33 | </div> | ||
| 34 | <br /> | ||
| 35 | <div> | ||
| 36 | 异议登记 共 | ||
| 37 | <div class="underline">{{ qlxxList.yydj.total }}</div> | ||
| 38 | 条 | ||
| 39 | </div> | ||
| 40 | <br /> | ||
| 41 | <div> | ||
| 42 | 查封登记 共 | ||
| 43 | <div class="underline">{{ qlxxList.cfdj.total }}</div> | ||
| 44 | 条 | ||
| 45 | </div> | ||
| 46 | <br /> | ||
| 47 | </div> | ||
| 48 | </div> | ||
| 49 | </template> | ||
| 50 | |||
| 51 | <script> | ||
| 52 | import { getBdcqljqtsx } from "@/api/registerBook.js"; | ||
| 53 | export default { | ||
| 54 | name: "bdcqljqtsx", | ||
| 55 | data() { | ||
| 56 | return { | ||
| 57 | //传递参数 | ||
| 58 | propsParam: this.$attrs, | ||
| 59 | qlxxList: "", | ||
| 60 | }; | ||
| 61 | }, | ||
| 62 | mounted() { | ||
| 63 | getBdcqljqtsx({ | ||
| 64 | bdcdyid: this.propsParam.bdcdyid, | ||
| 65 | bdcdyh: this.propsParam.bdcdyh, | ||
| 66 | }).then((res) => { | ||
| 67 | if (res.code === 200) { | ||
| 68 | this.qlxxList = res.result; | ||
| 69 | } | ||
| 70 | }); | ||
| 71 | }, | ||
| 72 | }; | ||
| 73 | </script> | ||
| 74 | |||
| 75 | <style lang="scss" scoped> | ||
| 76 | .bdcqljqtsx { | ||
| 77 | width: 100%; | ||
| 78 | height: 100%; | ||
| 79 | background: #fff; | ||
| 80 | |||
| 81 | .content { | ||
| 82 | width: 50%; | ||
| 83 | height: 100%; | ||
| 84 | margin: 0 auto; | ||
| 85 | text-align: right; | ||
| 86 | color: #333; | ||
| 87 | font-family: "Arial Negreta", "Arial Normal", "Arial", sans-serif; | ||
| 88 | font-weight: 700; | ||
| 89 | font-size: 18px; | ||
| 90 | line-height: 16px; | ||
| 91 | |||
| 92 | .title { | ||
| 93 | font-size: 32px; | ||
| 94 | text-align: center; | ||
| 95 | padding: 40px 0; | ||
| 96 | line-height: 34px; | ||
| 97 | } | ||
| 98 | |||
| 99 | .underline { | ||
| 100 | font-size: 14px; | ||
| 101 | font-weight: normal; | ||
| 102 | text-decoration: underline; | ||
| 103 | display: inline-block; | ||
| 104 | } | ||
| 105 | } | ||
| 106 | } | ||
| 107 | </style> |
src/views/djbBook/cfdj.vue
0 → 100644
| 1 | <template> | ||
| 2 | <div class="djxxTable"> | ||
| 3 | <div class="tableBox"> | ||
| 4 | <div class="title"> | ||
| 5 | {{ title }} | ||
| 6 | <div class="checkbox"> | ||
| 7 | <el-checkbox-group v-model="checkList" @change="checkChange"> | ||
| 8 | <el-checkbox v-for="item in qsztList" :key="item.value" :label="item.value">{{ item.label }}</el-checkbox> | ||
| 9 | </el-checkbox-group> | ||
| 10 | </div> | ||
| 11 | </div> | ||
| 12 | <div class="xxTableBox rollTable"> | ||
| 13 | <table class="xxTable"> | ||
| 14 | <tr v-for="(item, colindex) in columns" :key="colindex"> | ||
| 15 | <td> | ||
| 16 | {{ item.label }} | ||
| 17 | </td> | ||
| 18 | <td v-for="(row, index) in tableData" :key="index" :class="[ | ||
| 19 | row.qszt == '2' ? 'lishi' : '', | ||
| 20 | row.qszt == '0' ? 'linshi' : '', | ||
| 21 | item.prop == 'qszt' && row.qszt == '0' ? 'linshiIcon' : '', | ||
| 22 | ]"> | ||
| 23 | <div class="icon" v-if="item.prop == 'qszt' && row.qszt == '0'"> | ||
| 24 | 正在办理 | ||
| 25 | </div> | ||
| 26 | <span v-if="item.prop == 'qszt'"> | ||
| 27 | {{ getQsztName(row[item.prop]) }} | ||
| 28 | </span> | ||
| 29 | |||
| 30 | <span v-else> {{ row[item.prop] }}</span> | ||
| 31 | </td> | ||
| 32 | <td v-for="count in emptycolNum" :key="~count"></td> | ||
| 33 | </tr> | ||
| 34 | </table> | ||
| 35 | </div> | ||
| 36 | </div> | ||
| 37 | </div> | ||
| 38 | </template> | ||
| 39 | |||
| 40 | <script> | ||
| 41 | import { getCfdjList } from "@/api/registerBook.js"; | ||
| 42 | import { datas } from "./qlxxFormData.js"; | ||
| 43 | export default { | ||
| 44 | data () { | ||
| 45 | return { | ||
| 46 | title: "查封登记信息", | ||
| 47 | qsztList: datas.columns().qsztList, | ||
| 48 | checkList: datas.columns().checkList, | ||
| 49 | //传递参数 | ||
| 50 | propsParam: this.$attrs, | ||
| 51 | //列表数据 | ||
| 52 | tableData: [], | ||
| 53 | //空列值个数 | ||
| 54 | emptycolNum: datas.columns().emptycolNum, | ||
| 55 | //列名称对象 | ||
| 56 | columns: datas.columns().CFDJ, | ||
| 57 | }; | ||
| 58 | }, | ||
| 59 | created () { | ||
| 60 | this.loadData(); | ||
| 61 | }, | ||
| 62 | methods: { | ||
| 63 | loadData () { | ||
| 64 | getCfdjList({ | ||
| 65 | bdcdyid: this.propsParam.bdcdyid, | ||
| 66 | qllx: this.propsParam.qllx, | ||
| 67 | qszt: this.checkList, | ||
| 68 | }).then((res) => { | ||
| 69 | if (res.code === 200) { | ||
| 70 | this.tableData = res.result; | ||
| 71 | this.tableData.forEach((item, index) => { | ||
| 72 | if (item.sfbxf == '1') { | ||
| 73 | item.zxywh = ''; | ||
| 74 | item.zxdbr = ''; | ||
| 75 | item.zxsj = ''; | ||
| 76 | } | ||
| 77 | }) | ||
| 78 | if (this.tableData.length < datas.columns().emptycolNum) { | ||
| 79 | this.emptycolNum = | ||
| 80 | datas.columns().emptycolNum - this.tableData.length; | ||
| 81 | } else { | ||
| 82 | this.emptycolNum = 0; | ||
| 83 | } | ||
| 84 | } | ||
| 85 | }); | ||
| 86 | }, | ||
| 87 | checkChange () { | ||
| 88 | if (this.checkList.length === 0) { | ||
| 89 | this.tableData = []; | ||
| 90 | this.emptycolNum = datas.columns().emptycolNum; | ||
| 91 | } else { | ||
| 92 | this.loadData(); | ||
| 93 | } | ||
| 94 | }, | ||
| 95 | getQsztName (code) { | ||
| 96 | let name = ""; | ||
| 97 | for (let item of this.qsztList) { | ||
| 98 | if (item.value == code) { | ||
| 99 | name = item.label; | ||
| 100 | break; | ||
| 101 | } | ||
| 102 | } | ||
| 103 | return name; | ||
| 104 | }, | ||
| 105 | }, | ||
| 106 | }; | ||
| 107 | </script> | ||
| 108 | |||
| 109 | <style lang="scss" scoped> | ||
| 110 | @import "./qlxxCommon.scss"; | ||
| 111 | </style> |
| 1 | <template> | ||
| 2 | <div class="jtfccx-edit"> | ||
| 3 | <div class="jtfccx-edit-con"> | ||
| 4 | <el-form ref="form" :model="form" label-width="160px"> | ||
| 5 | <el-row> | ||
| 6 | <el-col :span="8"> | ||
| 7 | <el-form-item label="权属状态" label-width="140px"> | ||
| 8 | <el-select v-model="form.qszt"> | ||
| 9 | <el-option v-for="item in qsztList" :key="item.value" :label="item.label" :value="item.value"> | ||
| 10 | </el-option> | ||
| 11 | </el-select> | ||
| 12 | </el-form-item> | ||
| 13 | </el-col> | ||
| 14 | <el-col :span="8"> | ||
| 15 | <el-form-item label="权利类型" label-width="140px"> | ||
| 16 | <el-input v-model="form.qllxmc" ></el-input> | ||
| 17 | </el-form-item> | ||
| 18 | </el-col> | ||
| 19 | <el-col :span="8"> | ||
| 20 | <el-form-item label="登记类型" label-width="140px"> | ||
| 21 | <el-input v-model="form.djlxmc" ></el-input> | ||
| 22 | </el-form-item> | ||
| 23 | </el-col> | ||
| 24 | <el-col :span="8"> | ||
| 25 | <el-form-item label="上手业务号" label-width="140px"> | ||
| 26 | <el-input v-model="form.ssywh" ></el-input> | ||
| 27 | </el-form-item> | ||
| 28 | </el-col> | ||
| 29 | <el-col :span="8"> | ||
| 30 | <el-form-item label="档案号" label-width="140px"> | ||
| 31 | <el-input v-model="form.dah" ></el-input> | ||
| 32 | </el-form-item> | ||
| 33 | </el-col> | ||
| 34 | <el-col :span="8"> | ||
| 35 | <el-form-item label="业务号" label-width="140px"> | ||
| 36 | <el-input v-model="form.ywh" ></el-input> | ||
| 37 | </el-form-item> | ||
| 38 | </el-col> | ||
| 39 | <el-col :span="8"> | ||
| 40 | <el-form-item label="不动产单元号" label-width="140px"> | ||
| 41 | <el-input v-model="form.bdcdyh" ></el-input> | ||
| 42 | </el-form-item> | ||
| 43 | </el-col> | ||
| 44 | <el-col :span="8"> | ||
| 45 | <el-form-item label="坐落" label-width="140px"> | ||
| 46 | <el-input v-model="form.zl" ></el-input> | ||
| 47 | </el-form-item> | ||
| 48 | </el-col> | ||
| 49 | <el-col :span="8"> | ||
| 50 | <el-form-item label="共有情况" label-width="140px"> | ||
| 51 | <el-input v-model="form.gyqk" ></el-input> | ||
| 52 | </el-form-item> | ||
| 53 | </el-col> | ||
| 54 | <el-col :span="8"> | ||
| 55 | <el-form-item label="权利人类型" label-width="140px"> | ||
| 56 | <el-input v-model="form.qlrlx" ></el-input> | ||
| 57 | </el-form-item> | ||
| 58 | </el-col> | ||
| 59 | <el-col :span="8"> | ||
| 60 | <el-form-item label="权利人" label-width="140px"> | ||
| 61 | <el-input v-model="form.qlrmc" ></el-input> | ||
| 62 | </el-form-item> | ||
| 63 | </el-col> | ||
| 64 | <el-col :span="8"> | ||
| 65 | <el-form-item label="证件种类" label-width="140px"> | ||
| 66 | <el-input v-model="form.qlrzjzl" ></el-input> | ||
| 67 | </el-form-item> | ||
| 68 | </el-col> | ||
| 69 | <el-col :span="8"> | ||
| 70 | <el-form-item label="证件号" label-width="140px"> | ||
| 71 | <el-input v-model="form.qlrzjhm" ></el-input> | ||
| 72 | </el-form-item> | ||
| 73 | </el-col> | ||
| 74 | <el-col :span="8"> | ||
| 75 | <el-form-item label="使用权面积" label-width="140px"> | ||
| 76 | <el-input v-model="form.mj" ></el-input> | ||
| 77 | </el-form-item> | ||
| 78 | </el-col> | ||
| 79 | <el-col :span="8"> | ||
| 80 | <el-form-item label="权利性质" label-width="140px"> | ||
| 81 | <el-input v-model="form.qlxzmc" ></el-input> | ||
| 82 | </el-form-item> | ||
| 83 | </el-col> | ||
| 84 | <el-col :span="8"> | ||
| 85 | <el-form-item label="土地用途" label-width="140px"> | ||
| 86 | <el-input v-model="form.ytmc" ></el-input> | ||
| 87 | </el-form-item> | ||
| 88 | </el-col> | ||
| 89 | <el-col :span="8"> | ||
| 90 | <el-form-item label="使用权起止时间" label-width="140px"> | ||
| 91 | <el-input v-model="form.syqqzsj" ></el-input> | ||
| 92 | </el-form-item> | ||
| 93 | </el-col> | ||
| 94 | <el-col :span="8"> | ||
| 95 | <el-form-item label="土地使用期限" label-width="140px"> | ||
| 96 | <el-input v-model="form.tdsyqx" ></el-input> | ||
| 97 | </el-form-item> | ||
| 98 | </el-col> | ||
| 99 | <el-col :span="8"> | ||
| 100 | <el-form-item label="取得价格(万元)" label-width="140px"> | ||
| 101 | <el-input v-model="form.qdjg" ></el-input> | ||
| 102 | </el-form-item> | ||
| 103 | </el-col> | ||
| 104 | <el-col :span="8"> | ||
| 105 | <el-form-item label="登记原因" label-width="140px"> | ||
| 106 | <el-input v-model="form.djyy" ></el-input> | ||
| 107 | </el-form-item> | ||
| 108 | </el-col> | ||
| 109 | <el-col :span="8"> | ||
| 110 | <el-form-item label="不动产权证号" label-width="140px"> | ||
| 111 | <el-input v-model="form.bdcqzh" ></el-input> | ||
| 112 | </el-form-item> | ||
| 113 | </el-col> | ||
| 114 | <el-col :span="8"> | ||
| 115 | <el-form-item label="登记时间" label-width="140px"> | ||
| 116 | <el-input v-model="form.djsj" ></el-input> | ||
| 117 | </el-form-item> | ||
| 118 | </el-col> | ||
| 119 | <el-col :span="8"> | ||
| 120 | <el-form-item label="登簿人" label-width="140px"> | ||
| 121 | <el-input v-model="form.dbr" ></el-input> | ||
| 122 | </el-form-item> | ||
| 123 | </el-col> | ||
| 124 | <el-col :span="8"> | ||
| 125 | <el-form-item label="附记" label-width="140px"> | ||
| 126 | <el-input v-model="form.fj" ></el-input> | ||
| 127 | </el-form-item> | ||
| 128 | </el-col> | ||
| 129 | </el-row> | ||
| 130 | <el-form-item class="btn"> | ||
| 131 | <el-button type="primary" @click="submitForm">保存</el-button> | ||
| 132 | <el-button @click="closeDialog">取消</el-button> | ||
| 133 | </el-form-item> | ||
| 134 | </el-form> | ||
| 135 | |||
| 136 | </div> | ||
| 137 | |||
| 138 | </div> | ||
| 139 | </template> | ||
| 140 | <script> | ||
| 141 | export default { | ||
| 142 | props: { | ||
| 143 | formData: { | ||
| 144 | type: Object, | ||
| 145 | default: () => { }, | ||
| 146 | }, | ||
| 147 | }, | ||
| 148 | data () { | ||
| 149 | return { | ||
| 150 | form:{}, | ||
| 151 | qsztList: [ | ||
| 152 | { | ||
| 153 | value: "0", | ||
| 154 | label: "临时", | ||
| 155 | }, | ||
| 156 | { | ||
| 157 | value: "1", | ||
| 158 | label: "现势", | ||
| 159 | }, | ||
| 160 | { | ||
| 161 | value: "2", | ||
| 162 | label: "历史", | ||
| 163 | }, | ||
| 164 | |||
| 165 | ], | ||
| 166 | label:"", | ||
| 167 | }; | ||
| 168 | }, | ||
| 169 | mounted () { | ||
| 170 | console.log("this.formData.data",this.formData.data); | ||
| 171 | if (this.formData.data) { | ||
| 172 | this.$nextTick(() => { | ||
| 173 | this.form = Object.assign({}, this.formData.data) | ||
| 174 | this.form.qszt=this.form.qszt=='0'?"临时":this.form.qszt=='1'?"现势":"历史" | ||
| 175 | }) | ||
| 176 | console.log("this.form",this.form); | ||
| 177 | } | ||
| 178 | }, | ||
| 179 | |||
| 180 | methods: { | ||
| 181 | //新增常用意见 | ||
| 182 | submitForm () { | ||
| 183 | |||
| 184 | this.$refs.form.validate(valid => { | ||
| 185 | if (valid) { | ||
| 186 | console.log("from",this.form); | ||
| 187 | // addUserCommonOpinion({ commonOpinion: this.form.commonOpinion }).then(res => { | ||
| 188 | // if (res.code == 200) { | ||
| 189 | // this.$message.success("新增成功") | ||
| 190 | // this.closeaddDiglog(); | ||
| 191 | // this.getList() | ||
| 192 | // } else { | ||
| 193 | // this.$message.error(res.message) | ||
| 194 | // } | ||
| 195 | // }) | ||
| 196 | } else { | ||
| 197 | return false; | ||
| 198 | } | ||
| 199 | }); | ||
| 200 | }, | ||
| 201 | closeDialog () { | ||
| 202 | console.log("this.$refs['form']",this.$refs['form']); | ||
| 203 | this.$popupCacel() | ||
| 204 | this.$refs['form'].resetFields(); | ||
| 205 | // this.resetTableFields(); | ||
| 206 | } | ||
| 207 | }, | ||
| 208 | }; | ||
| 209 | </script> | ||
| 210 | <style scoped lang="scss"> | ||
| 211 | @import "~@/styles/mixin.scss"; | ||
| 212 | @import "~@/styles/public.scss"; | ||
| 213 | |||
| 214 | |||
| 215 | .jtfccx-edit { | ||
| 216 | @include flex; | ||
| 217 | flex-direction: column; | ||
| 218 | overflow-y: hidden; | ||
| 219 | max-height: 85vh; | ||
| 220 | padding: 0 2px; | ||
| 221 | |||
| 222 | |||
| 223 | .btn{ | ||
| 224 | text-align: center; | ||
| 225 | |||
| 226 | } | ||
| 227 | } | ||
| 228 | </style> |
src/views/djbBook/diyaq.vue
0 → 100644
| 1 | <template> | ||
| 2 | <div class="djxxTable"> | ||
| 3 | <div class="tableBox"> | ||
| 4 | <div class="title"> | ||
| 5 | {{ title }} | ||
| 6 | <div class="checkbox"> | ||
| 7 | <el-checkbox-group v-model="checkList" @change="checkChange"> | ||
| 8 | <el-checkbox v-for="item in qsztList" :key="item.value" :label="item.value">{{ item.label }}</el-checkbox> | ||
| 9 | </el-checkbox-group> | ||
| 10 | </div> | ||
| 11 | </div> | ||
| 12 | <div class="xxTableBox rollTable"> | ||
| 13 | <table class="xxTable"> | ||
| 14 | <tr v-for="(item, colindex) in columns" :key="colindex"> | ||
| 15 | <td> | ||
| 16 | {{ item.label }} | ||
| 17 | </td> | ||
| 18 | <td v-for="(row, index) in tableData" :key="index" :class="[ | ||
| 19 | row.qszt == '2' ? 'lishi' : '', | ||
| 20 | row.qszt == '0' ? 'linshi' : '', | ||
| 21 | item.prop == 'qszt' && row.qszt == '0' ? 'linshiIcon' : '', | ||
| 22 | ]"> | ||
| 23 | <div class="icon" v-if="item.prop == 'qszt' && row.qszt == '0'"> | ||
| 24 | 正在办理 | ||
| 25 | </div> | ||
| 26 | <span v-if="item.prop == 'qszt'"> | ||
| 27 | {{ getQsztName(row[item.prop]) }} | ||
| 28 | </span> | ||
| 29 | |||
| 30 | <span v-else> {{ row[item.prop] }}</span> | ||
| 31 | </td> | ||
| 32 | <td v-for="count in emptycolNum" :key="~count"></td> | ||
| 33 | </tr> | ||
| 34 | </table> | ||
| 35 | </div> | ||
| 36 | </div> | ||
| 37 | </div> | ||
| 38 | </template> | ||
| 39 | |||
| 40 | <script> | ||
| 41 | import { getDiyaqList } from "@/api/registerBook.js"; | ||
| 42 | import { datas } from "./qlxxFormData.js"; | ||
| 43 | export default { | ||
| 44 | data () { | ||
| 45 | return { | ||
| 46 | title: "抵押权登记信息", | ||
| 47 | qsztList: datas.columns().qsztList, | ||
| 48 | checkList: datas.columns().checkList, | ||
| 49 | //传递参数 | ||
| 50 | propsParam: this.$attrs, | ||
| 51 | //列表数据 | ||
| 52 | tableData: [], | ||
| 53 | //空列值个数 | ||
| 54 | emptycolNum: datas.columns().emptycolNum, | ||
| 55 | //列名称对象 | ||
| 56 | columns: datas.columns().DYAQ, | ||
| 57 | }; | ||
| 58 | }, | ||
| 59 | created () { | ||
| 60 | this.loadData(); | ||
| 61 | }, | ||
| 62 | methods: { | ||
| 63 | loadData () { | ||
| 64 | getDiyaqList({ | ||
| 65 | bdcdyid: this.propsParam.bdcdyid, | ||
| 66 | qllx: this.propsParam.qllx, | ||
| 67 | qszt: this.checkList, | ||
| 68 | }).then((res) => { | ||
| 69 | if (res.code === 200) { | ||
| 70 | this.tableData = res.result; | ||
| 71 | if (this.tableData.length < datas.columns().emptycolNum) { | ||
| 72 | this.emptycolNum = | ||
| 73 | datas.columns().emptycolNum - this.tableData.length; | ||
| 74 | } else { | ||
| 75 | this.emptycolNum = 0; | ||
| 76 | } | ||
| 77 | } | ||
| 78 | }); | ||
| 79 | }, | ||
| 80 | checkChange () { | ||
| 81 | if (this.checkList.length === 0) { | ||
| 82 | this.tableData = []; | ||
| 83 | this.emptycolNum = datas.columns().emptycolNum; | ||
| 84 | } else { | ||
| 85 | this.loadData(); | ||
| 86 | } | ||
| 87 | }, | ||
| 88 | getQsztName (code) { | ||
| 89 | let name = ""; | ||
| 90 | for (let item of this.qsztList) { | ||
| 91 | if (item.value == code) { | ||
| 92 | name = item.label; | ||
| 93 | break; | ||
| 94 | } | ||
| 95 | } | ||
| 96 | return name; | ||
| 97 | }, | ||
| 98 | }, | ||
| 99 | }; | ||
| 100 | </script> | ||
| 101 | |||
| 102 | <style lang="scss" scoped> | ||
| 103 | @import "./qlxxCommon.scss"; | ||
| 104 | </style> |
src/views/djbBook/diyiq.vue
0 → 100644
| 1 | <template> | ||
| 2 | <div class="djxxTable"> | ||
| 3 | <div class="tableBox"> | ||
| 4 | <div class="title"> | ||
| 5 | {{ title }} | ||
| 6 | <div class="checkbox"> | ||
| 7 | <el-checkbox-group v-model="checkList" @change="checkChange"> | ||
| 8 | <el-checkbox v-for="item in qsztList" :key="item.value" :label="item.value">{{ item.label }}</el-checkbox> | ||
| 9 | </el-checkbox-group> | ||
| 10 | </div> | ||
| 11 | </div> | ||
| 12 | <div class="xxTableBox rollTable"> | ||
| 13 | <table class="xxTable"> | ||
| 14 | <tr v-for="(item, colindex) in columns" :key="colindex"> | ||
| 15 | <td> | ||
| 16 | {{ item.label }} | ||
| 17 | </td> | ||
| 18 | <td v-for="(row, index) in tableData" :key="index" :class="[ | ||
| 19 | row.qszt == '2' ? 'lishi' : '', | ||
| 20 | row.qszt == '0' ? 'linshi' : '', | ||
| 21 | item.prop == 'qszt' && row.qszt == '0' ? 'linshiIcon' : '', | ||
| 22 | ]"> | ||
| 23 | <div class="icon" v-if="item.prop == 'qszt' && row.qszt == '0'"> | ||
| 24 | 正在办理 | ||
| 25 | </div> | ||
| 26 | <span v-if="item.prop == 'qszt'"> | ||
| 27 | {{ getQsztName(row[item.prop]) }} | ||
| 28 | </span> | ||
| 29 | |||
| 30 | <span v-else> {{ row[item.prop] }}</span> | ||
| 31 | </td> | ||
| 32 | <td v-for="count in emptycolNum" :key="~count"></td> | ||
| 33 | </tr> | ||
| 34 | </table> | ||
| 35 | </div> | ||
| 36 | </div> | ||
| 37 | </div> | ||
| 38 | </template> | ||
| 39 | |||
| 40 | <script> | ||
| 41 | import { getDiyiqList } from "@/api/registerBook.js"; | ||
| 42 | import { datas } from "./qlxxFormData.js"; | ||
| 43 | export default { | ||
| 44 | data () { | ||
| 45 | return { | ||
| 46 | title: "地役权登记信息", | ||
| 47 | qsztList: datas.columns().qsztList, | ||
| 48 | checkList: datas.columns().checkList, | ||
| 49 | //传递参数 | ||
| 50 | propsParam: this.$attrs, | ||
| 51 | //列表数据 | ||
| 52 | tableData: [], | ||
| 53 | //空列值个数 | ||
| 54 | emptycolNum: datas.columns().emptycolNum, | ||
| 55 | //列名称对象 | ||
| 56 | columns: datas.columns().DYIQ, | ||
| 57 | }; | ||
| 58 | }, | ||
| 59 | created () { | ||
| 60 | this.loadData(); | ||
| 61 | }, | ||
| 62 | methods: { | ||
| 63 | loadData () { | ||
| 64 | getDiyiqList({ | ||
| 65 | bdcdyid: this.propsParam.bdcdyid, | ||
| 66 | qllx: this.propsParam.qllx, | ||
| 67 | qszt: this.checkList, | ||
| 68 | }).then((res) => { | ||
| 69 | if (res.code === 200) { | ||
| 70 | this.tableData = res.result; | ||
| 71 | if (this.tableData.length < datas.columns().emptycolNum) { | ||
| 72 | this.emptycolNum = | ||
| 73 | datas.columns().emptycolNum - this.tableData.length; | ||
| 74 | } else { | ||
| 75 | this.emptycolNum = 0; | ||
| 76 | } | ||
| 77 | } | ||
| 78 | }); | ||
| 79 | }, | ||
| 80 | checkChange () { | ||
| 81 | if (this.checkList.length === 0) { | ||
| 82 | this.tableData = []; | ||
| 83 | this.emptycolNum = datas.columns().emptycolNum; | ||
| 84 | } else { | ||
| 85 | this.loadData(); | ||
| 86 | } | ||
| 87 | }, | ||
| 88 | getQsztName (code) { | ||
| 89 | let name = ""; | ||
| 90 | for (let item of this.qsztList) { | ||
| 91 | if (item.value == code) { | ||
| 92 | name = item.label; | ||
| 93 | break; | ||
| 94 | } | ||
| 95 | } | ||
| 96 | return name; | ||
| 97 | }, | ||
| 98 | }, | ||
| 99 | }; | ||
| 100 | </script> | ||
| 101 | |||
| 102 | <style lang="scss" scoped> | ||
| 103 | @import "./qlxxCommon.scss"; | ||
| 104 | </style> |
src/views/djbBook/djbFrameData.js
0 → 100644
| 1 | |||
| 2 | |||
| 3 | var qlxxPage = [ | ||
| 4 | { qllx: "A01", id: "jsydsyq", form: "jsydsyq.vue", label: "集体土地所有权" }, | ||
| 5 | { qllx: "A02", id: "jsydsyq", form: "jsydsyq.vue", label: "国家土地所有权" }, | ||
| 6 | { qllx: "A03", id: "jsydsyq", form: "jsydsyq.vue", label: "国有建设用地使用权" }, | ||
| 7 | { qllx: "A04", id: "", form: "", label: "国有建设用地使用权/房屋所有权" }, | ||
| 8 | { qllx: "A05", id: "jsydsyq", form: "jsydsyq.vue", label: "宅基地使用权" }, | ||
| 9 | { qllx: "A06", id: "", form: "", label: "宅基地使用权/房屋所有权" }, | ||
| 10 | { qllx: "A07", id: "jsydsyq", form: "jsydsyq.vue", label: "集体建设用地使用权" }, | ||
| 11 | { qllx: "A08", id: "", form: "", label: "集体建设用地使用权/房屋所有权" }, | ||
| 12 | { qllx: "A09", id: "jsydsyq", form: "jsydsyq.vue", label: "土地承包经营权" }, | ||
| 13 | { qllx: "A11", id: "jsydsyq", form: "jsydsyq.vue", label: "林地使用权" }, | ||
| 14 | { qllx: "A12", id: "jsydsyq", form: "jsydsyq.vue", label: "林地使用权/森林、林木使用权" }, | ||
| 15 | { qllx: "A13", id: "jsydsyq", form: "jsydsyq.vue", label: "草原使用权" }, | ||
| 16 | { qllx: "A14", id: "jsydsyq", form: "jsydsyq.vue", label: "水域滩涂养殖权" }, | ||
| 17 | { qllx: "A15", id: "jsydsyq", form: "jsydsyq.vue", label: "海域使用权" }, | ||
| 18 | { qllx: "A16", id: "jsydsyq", form: "jsydsyq.vue", label: "海域使用权/建(构)筑物所有权" }, | ||
| 19 | { qllx: "A17", id: "jsydsyq", form: "jsydsyq.vue", label: "海域使用权(无居民海岛)" }, | ||
| 20 | { qllx: "A18", id: "jsydsyq", form: "jsydsyq.vue", label: "海域使用权(无居民海岛)/建筑物(设施)使用权" }, | ||
| 21 | { qllx: "A19", id: "diyiq", form: "diyiq.vue", label: "地役权" }, | ||
| 22 | { qllx: "A23", id: "jsydsyq", form: "jsydsyq.vue", label: "国有农用地的使用权" }, | ||
| 23 | { qllx: "A24", id: "jsydsyq", form: "jsydsyq.vue", label: "国有建设用地使用权/构筑物所有权" }, | ||
| 24 | { qllx: "A25", id: "jsydsyq", form: "jsydsyq.vue", label: "宅基地使用权/构筑物所有权" }, | ||
| 25 | { qllx: "A26", id: "jsydsyq", form: "jsydsyq.vue", label: "集体建设用地使用权/构筑物所有权" }, | ||
| 26 | { qllx: "A29", id: "jsydsyq", form: "jsydsyq.vue", label: "国有未利用地的使用权" }, | ||
| 27 | { qllx: "A30", id: "jsydsyq", form: "jsydsyq.vue", label: "集体农用地使用权" }, | ||
| 28 | { qllx: "A31", id: "jsydsyq", form: "jsydsyq.vue", label: "土地承包经营权/森林、林木使用权" }, | ||
| 29 | { qllx: "A33", id: "jsydsyq", form: "jsydsyq.vue", label: "林地经营权/林木所有权" }, | ||
| 30 | { qllx: "A34", id: "jsydsyq", form: "jsydsyq.vue", label: "林地经营权/林木使用权" }, | ||
| 31 | { qllx: "A35", id: "jsydsyq", form: "jsydsyq.vue", label: "林地承包经营权/林木所有权" }, | ||
| 32 | { qllx: "A36", id: "jsydsyq", form: "jsydsyq.vue", label: "林地使用权/林木所有权" }, | ||
| 33 | { qllx: "A37", id: "diyaq", form: "diyaq.vue", label: "抵押权" }, | ||
| 34 | { qllx: "B37", id: "diyaq", form: "diyaq.vue", label: "抵押权" }, | ||
| 35 | { qllx: "B38", id: "yydj", form: "yydj.vue", label: "异议登记" }, | ||
| 36 | { qllx: "B39", id: "cfdj", form: "cfdj.vue", label: "查封登记" }, | ||
| 37 | { qllx: "B40", id: "ygdj", form: "ygdj.vue", label: "预告登记" }, | ||
| 38 | { qllx: "B41", id: "ygdj", form: "ygdj.vue", label: "预告登记" }, | ||
| 39 | ]; | ||
| 40 | |||
| 41 | //组装登记簿树形结构 | ||
| 42 | export function loadTreeData(qlxxData, bdcdyh) { | ||
| 43 | let treedata = []; | ||
| 44 | //加载封面 | ||
| 45 | treedata.push({ id: "djbfm", form: "djbfm.vue", label: "登记簿封面" }); | ||
| 46 | treedata.push({ id: "zdjbxx", form: "zdjbxx.vue", label: "宗地基本信息\n(" + bdcdyh.substring(0, 19) + ")", children: [] }); | ||
| 47 | treedata[1].children.push({ id: "bdcqldjml", form: "bdcqldjml.vue", label: "不动产权利登记目录", children: [] }); | ||
| 48 | treedata[1].children[0].children.push({ | ||
| 49 | id: "bdcqljqtsx", form: "bdcqljqtsx.vue", label: "不动产权利及其他事项\n (" + bdcdyh.slice(19) + ")", children: [], | ||
| 50 | }); | ||
| 51 | //主体权利 | ||
| 52 | treedata[1].children[0].children[0].children.push(getNode(qlxxData.ztqllx, qlxxData.ztql, qlxxData.bdcdylx)); | ||
| 53 | //抵押权 | ||
| 54 | treedata[1].children[0].children[0].children.push(getNode("A37", qlxxData.diyaq, '')); | ||
| 55 | //地役权 | ||
| 56 | treedata[1].children[0].children[0].children.push(getNode("A19", qlxxData.diyiq, '')); | ||
| 57 | //预告登记 | ||
| 58 | treedata[1].children[0].children[0].children.push(getNode("B40", qlxxData.ygdj, '')); | ||
| 59 | //异议登记 | ||
| 60 | treedata[1].children[0].children[0].children.push(getNode("B38", qlxxData.yydj, '')); | ||
| 61 | //查封登记 | ||
| 62 | treedata[1].children[0].children[0].children.push(getNode("B39", qlxxData.cfdj, '')); | ||
| 63 | |||
| 64 | return treedata; | ||
| 65 | } | ||
| 66 | |||
| 67 | //获取权利类型、不动产单元类型对应的树形节点信息 | ||
| 68 | export function getNode(qllx, qlxx, bdcdylx) { | ||
| 69 | let node; | ||
| 70 | for (var i = 0; i < qlxxPage.length; i++) { | ||
| 71 | if (qlxxPage[i].qllx == qllx) { | ||
| 72 | if (qllx == "A04" || qllx == "A06" || qllx == "A08") { | ||
| 73 | if (bdcdylx == "4") { | ||
| 74 | node = { id: "fdcq1", form: "fdcq1.vue", label: qlxxPage[i].label + "(临:" + qlxx.linShi + ",现:" + qlxx.xianShi + ",历:" + qlxx.liShi +")"}; | ||
| 75 | } else { | ||
| 76 | node = { id: "fdcq2", form: "fdcq2.vue", label: qlxxPage[i].label + "(临:" + qlxx.linShi + ",现:" + qlxx.xianShi + ",历:" + qlxx.liShi +")"}; | ||
| 77 | } | ||
| 78 | } else { | ||
| 79 | node = { id: qlxxPage[i].id, form: qlxxPage[i].form, label: qlxxPage[i].label + "(临:" + qlxx.linShi + ",现:" + qlxx.xianShi + ",历:" + qlxx.liShi +")"}; | ||
| 80 | } | ||
| 81 | break; | ||
| 82 | } | ||
| 83 | }; | ||
| 84 | return node; | ||
| 85 | } | ||
| 86 |
src/views/djbBook/djbfm.vue
0 → 100644
| 1 | <template> | ||
| 2 | <div class="djbfm"> | ||
| 3 | <br /><br /> | ||
| 4 | <p> | ||
| 5 | <font>{{ info.sheng }}</font> | ||
| 6 | 省 (区、市) | ||
| 7 | <font>{{ info.shi }}</font> | ||
| 8 | 市 (区) | ||
| 9 | <font>{{ info.xian }}</font> | ||
| 10 | 区 (县、市) | ||
| 11 | </p> | ||
| 12 | <p> | ||
| 13 | <font>{{ info.jdh }}</font> | ||
| 14 | 街道 (乡、镇) | ||
| 15 | <font>{{ info.jfh }}</font> | ||
| 16 | 街坊 (村) | ||
| 17 | <font>{{ info.zh }}</font> | ||
| 18 | 组 | ||
| 19 | </p> | ||
| 20 | <div class="title">不动产登记簿</div> | ||
| 21 | <br /> | ||
| 22 | <p> | ||
| 23 | 宗地/宗海号: | ||
| 24 | <font>{{ info.zddm }}</font> | ||
| 25 | </p> | ||
| 26 | <div class="bottom"> | ||
| 27 | <p> | ||
| 28 | 登记机构: | ||
| 29 | <font>{{ info.djjg }}</font> | ||
| 30 | </p> | ||
| 31 | </div> | ||
| 32 | </div> | ||
| 33 | </template> | ||
| 34 | |||
| 35 | <script> | ||
| 36 | import { getDjbfm } from "@/api/registerBook.js"; | ||
| 37 | |||
| 38 | export default { | ||
| 39 | data () { | ||
| 40 | return { | ||
| 41 | //传递参数 | ||
| 42 | propsParam: this.$attrs, | ||
| 43 | info: {}, | ||
| 44 | }; | ||
| 45 | }, | ||
| 46 | mounted () { | ||
| 47 | this.loadData(); | ||
| 48 | }, | ||
| 49 | methods: { | ||
| 50 | loadData () { | ||
| 51 | getDjbfm({ bdcdyid: this.propsParam.bdcdyid }).then((res) => { | ||
| 52 | if (res.code === 200) { | ||
| 53 | this.info = res.result; | ||
| 54 | } | ||
| 55 | }); | ||
| 56 | }, | ||
| 57 | }, | ||
| 58 | }; | ||
| 59 | </script> | ||
| 60 | |||
| 61 | <style lang="scss" scoped> | ||
| 62 | .djbfm { | ||
| 63 | width: 100%; | ||
| 64 | height: 100%; | ||
| 65 | background: #fff; | ||
| 66 | border-right: 1px solid #ccc; | ||
| 67 | line-height: 45px; | ||
| 68 | text-align: center; | ||
| 69 | font-size: 18px; | ||
| 70 | font-family: serif; | ||
| 71 | position: relative; | ||
| 72 | |||
| 73 | font { | ||
| 74 | border-bottom: 1px solid #000; | ||
| 75 | display: inline-block; | ||
| 76 | padding: 0 15px; | ||
| 77 | line-height: 16px; | ||
| 78 | } | ||
| 79 | |||
| 80 | .title { | ||
| 81 | height: 40%; | ||
| 82 | display: flex; | ||
| 83 | font-size: 38px; | ||
| 84 | color: #000; | ||
| 85 | justify-content: center; | ||
| 86 | align-items: center; | ||
| 87 | } | ||
| 88 | |||
| 89 | .bottom { | ||
| 90 | position: absolute; | ||
| 91 | bottom: 0px; | ||
| 92 | text-align: center; | ||
| 93 | width: 100%; | ||
| 94 | left: 0; | ||
| 95 | height: 100px; | ||
| 96 | line-height: 100px; | ||
| 97 | |||
| 98 | p { | ||
| 99 | font-size: 28px; | ||
| 100 | } | ||
| 101 | |||
| 102 | font { | ||
| 103 | font-size: 24px; | ||
| 104 | line-height: 24px; | ||
| 105 | } | ||
| 106 | } | ||
| 107 | } | ||
| 108 | </style> |
src/views/djbBook/fdcq1.vue
0 → 100644
| 1 | <template> | ||
| 2 | <div class="djxxTable"> | ||
| 3 | <div class="tableBox"> | ||
| 4 | <div class="title"> | ||
| 5 | {{ title }} | ||
| 6 | <div class="checkbox"> | ||
| 7 | <el-checkbox-group v-model="checkList" @change="checkChange"> | ||
| 8 | <el-checkbox v-for="item in qsztList" :key="item.value" :label="item.value">{{ item.label }}</el-checkbox> | ||
| 9 | </el-checkbox-group> | ||
| 10 | </div> | ||
| 11 | </div> | ||
| 12 | <div class="xxTableBox rollTable"> | ||
| 13 | <!-- 固定前三个 --> | ||
| 14 | <table class="xxTable"> | ||
| 15 | <tr v-for="(item, colindex) in columns" :key="colindex"> | ||
| 16 | <td> | ||
| 17 | {{ item.label }} | ||
| 18 | </td> | ||
| 19 | <td v-for="(row, index) in tableData" :key="index" :class="[ | ||
| 20 | row.qszt == '2' ? 'lishi' : '', | ||
| 21 | row.qszt == '0' ? 'linshi' : '', | ||
| 22 | item.prop == 'qszt' && row.qszt == '0' ? 'linshiIcon' : '', | ||
| 23 | item.prop == 'qszt' && row.qszt == '1' ? 'xianshiIcon' : '', | ||
| 24 | ]"> | ||
| 25 | <div class="icon" v-if="item.prop == 'qszt' && row.qszt == '0'"> | ||
| 26 | 正在办理 | ||
| 27 | </div> | ||
| 28 | <div class="icon" v-if="item.prop == 'qszt' && row.qszt == '1'"> | ||
| 29 | 有效 | ||
| 30 | </div> | ||
| 31 | <span v-if="item.prop == 'qszt'"> | ||
| 32 | {{ getQsztName(row[item.prop]) }} | ||
| 33 | </span> | ||
| 34 | |||
| 35 | <span v-else> {{ row[item.prop] }}</span> | ||
| 36 | </td> | ||
| 37 | <td v-for="count in emptycolNum" :key="~count"></td> | ||
| 38 | </tr> | ||
| 39 | </table> | ||
| 40 | </div> | ||
| 41 | </div> | ||
| 42 | </div> | ||
| 43 | </template> | ||
| 44 | |||
| 45 | <script> | ||
| 46 | import { getJsydsyqList } from "@/api/registerBook.js"; | ||
| 47 | import { datas } from "./qlxxFormData.js"; | ||
| 48 | export default { | ||
| 49 | data () { | ||
| 50 | return { | ||
| 51 | title: "建设用地使用权、宅基地使用权登记信息", | ||
| 52 | qsztList: datas.columns().qsztList, | ||
| 53 | checkList: datas.columns().checkList, | ||
| 54 | //传递参数 | ||
| 55 | propsParam: this.$attrs, | ||
| 56 | //列表数据 | ||
| 57 | tableData: [], | ||
| 58 | //空列值个数 | ||
| 59 | emptycolNum: datas.columns().emptycolNum, | ||
| 60 | //列名称对象 | ||
| 61 | columns: datas.columns().JSYDSYQ, | ||
| 62 | }; | ||
| 63 | }, | ||
| 64 | created () { | ||
| 65 | this.loadData(); | ||
| 66 | }, | ||
| 67 | methods: { | ||
| 68 | loadData () { | ||
| 69 | getJsydsyqList({ | ||
| 70 | bdcdyid: this.propsParam.bdcdyid, | ||
| 71 | qllx: this.propsParam.qllx, | ||
| 72 | qszt: this.checkList, | ||
| 73 | }).then((res) => { | ||
| 74 | if (res.code === 200) { | ||
| 75 | this.tableData = res.result; | ||
| 76 | if (this.tableData.length < datas.columns().emptycolNum) { | ||
| 77 | this.emptycolNum = | ||
| 78 | datas.columns().emptycolNum - this.tableData.length; | ||
| 79 | } else { | ||
| 80 | this.emptycolNum = 0; | ||
| 81 | } | ||
| 82 | } | ||
| 83 | }); | ||
| 84 | }, | ||
| 85 | checkChange () { | ||
| 86 | if (this.checkList.length === 0) { | ||
| 87 | this.tableData = []; | ||
| 88 | this.emptycolNum = datas.columns().emptycolNum; | ||
| 89 | } else { | ||
| 90 | this.loadData(); | ||
| 91 | } | ||
| 92 | }, | ||
| 93 | getQsztName (code) { | ||
| 94 | let name = ""; | ||
| 95 | for (let item of this.qsztList) { | ||
| 96 | if (item.value == code) { | ||
| 97 | name = item.label; | ||
| 98 | break; | ||
| 99 | } | ||
| 100 | } | ||
| 101 | return name; | ||
| 102 | }, | ||
| 103 | }, | ||
| 104 | }; | ||
| 105 | </script> | ||
| 106 | |||
| 107 | <style lang="scss" scoped> | ||
| 108 | @import "./qlxxCommon.scss"; | ||
| 109 | </style> |
src/views/djbBook/fdcq2.vue
0 → 100644
| 1 | <template> | ||
| 2 | <div class="djxxTable"> | ||
| 3 | <div class="tableBox"> | ||
| 4 | <div class="title"> | ||
| 5 | {{ title }} | ||
| 6 | <div class="checkbox"> | ||
| 7 | <el-checkbox-group v-model="checkList" @change="checkChange"> | ||
| 8 | <el-checkbox v-for="item in qsztList" :key="item.value" :label="item.value">{{ item.label }}</el-checkbox> | ||
| 9 | </el-checkbox-group> | ||
| 10 | </div> | ||
| 11 | </div> | ||
| 12 | <div class="xxTableBox rollTable"> | ||
| 13 | <table class="xxTable"> | ||
| 14 | <tr v-for="(item, colindex) in columns" :key="colindex"> | ||
| 15 | <td> | ||
| 16 | {{ item.label }} | ||
| 17 | </td> | ||
| 18 | <td v-for="(row, index) in tableData" :key="index" :class="[ | ||
| 19 | row.qszt == '2' ? 'lishi' : '', | ||
| 20 | row.qszt == '0' ? 'linshi' : '', | ||
| 21 | item.prop == 'qszt' && row.qszt == '0' ? 'linshiIcon' : '', | ||
| 22 | ]"> | ||
| 23 | <div class="icon" v-if="item.prop == 'qszt' && row.qszt == '0'"> | ||
| 24 | 正在办理 | ||
| 25 | </div> | ||
| 26 | <span v-if="item.prop == 'qszt'"> | ||
| 27 | {{ getQsztName(row[item.prop]) }} | ||
| 28 | </span> | ||
| 29 | |||
| 30 | <span v-else> {{ row[item.prop] }}</span> | ||
| 31 | </td> | ||
| 32 | <td v-for="count in emptycolNum" :key="~count"></td> | ||
| 33 | </tr> | ||
| 34 | </table> | ||
| 35 | </div> | ||
| 36 | </div> | ||
| 37 | </div> | ||
| 38 | </template> | ||
| 39 | |||
| 40 | <script> | ||
| 41 | import { getFdcq2List } from "@/api/registerBook.js"; | ||
| 42 | import { datas } from "./qlxxFormData.js"; | ||
| 43 | export default { | ||
| 44 | data () { | ||
| 45 | return { | ||
| 46 | title: "房地产权登记信息(独幢、层、套、间房屋)", | ||
| 47 | qsztList: datas.columns().qsztList, | ||
| 48 | checkList: datas.columns().checkList, | ||
| 49 | //传递参数 | ||
| 50 | propsParam: this.$attrs, | ||
| 51 | //列表数据 | ||
| 52 | tableData: [], | ||
| 53 | //空列值个数 | ||
| 54 | emptycolNum: datas.columns().emptycolNum, | ||
| 55 | //列名称对象 | ||
| 56 | columns: datas.columns().FDCQ2, | ||
| 57 | }; | ||
| 58 | }, | ||
| 59 | created () { | ||
| 60 | this.loadData(); | ||
| 61 | }, | ||
| 62 | methods: { | ||
| 63 | loadData () { | ||
| 64 | getFdcq2List({ | ||
| 65 | bdcdyid: this.propsParam.bdcdyid, | ||
| 66 | qllx: this.propsParam.qllx, | ||
| 67 | qszt: this.checkList, | ||
| 68 | }).then((res) => { | ||
| 69 | if (res.code === 200) { | ||
| 70 | this.tableData = res.result; | ||
| 71 | if (this.tableData.length < datas.columns().emptycolNum) { | ||
| 72 | this.emptycolNum = | ||
| 73 | datas.columns().emptycolNum - this.tableData.length; | ||
| 74 | } else { | ||
| 75 | this.emptycolNum = 0; | ||
| 76 | } | ||
| 77 | } | ||
| 78 | }); | ||
| 79 | }, | ||
| 80 | checkChange () { | ||
| 81 | if (this.checkList.length === 0) { | ||
| 82 | this.tableData = []; | ||
| 83 | this.emptycolNum = datas.columns().emptycolNum; | ||
| 84 | } else { | ||
| 85 | this.loadData(); | ||
| 86 | } | ||
| 87 | }, | ||
| 88 | getQsztName (code) { | ||
| 89 | let name = ""; | ||
| 90 | for (let item of this.qsztList) { | ||
| 91 | if (item.value == code) { | ||
| 92 | name = item.label; | ||
| 93 | break; | ||
| 94 | } | ||
| 95 | } | ||
| 96 | return name; | ||
| 97 | }, | ||
| 98 | }, | ||
| 99 | }; | ||
| 100 | </script> | ||
| 101 | |||
| 102 | <style lang="scss" scoped> | ||
| 103 | @import "./qlxxCommon.scss"; | ||
| 104 | </style> |
src/views/djbBook/jsydsyq.vue
0 → 100644
| 1 | <template> | ||
| 2 | <div class="djxxTable"> | ||
| 3 | <div class="tableBox"> | ||
| 4 | <div class="title"> | ||
| 5 | {{ title }} | ||
| 6 | <div class="checkbox"> | ||
| 7 | <el-checkbox-group v-model="checkList" @change="checkChange"> | ||
| 8 | <el-checkbox v-for="item in qsztList" :key="item.value" :label="item.value">{{ item.label }}</el-checkbox> | ||
| 9 | </el-checkbox-group> | ||
| 10 | </div> | ||
| 11 | </div> | ||
| 12 | <div class="xxTableBox rollTable"> | ||
| 13 | <!-- 固定前三个 --> | ||
| 14 | <table class="xxTable"> | ||
| 15 | <tr v-for="(item, colindex) in columns" :key="colindex"> | ||
| 16 | <td> | ||
| 17 | {{ item.label }} | ||
| 18 | </td> | ||
| 19 | <td v-for="(row, index) in tableData" :key="index" :class="[ | ||
| 20 | row.qszt == '2' ? 'lishi' : '', | ||
| 21 | row.qszt == '0' ? 'linshi' : '', | ||
| 22 | item.prop == 'qszt' && row.qszt == '0' ? 'linshiIcon' : '', | ||
| 23 | item.prop == 'qszt' && row.qszt == '1' ? 'xianshiIcon' : '', | ||
| 24 | ]" | ||
| 25 | > | ||
| 26 | <div class="setbut" v-if="item.prop == 'cz'"> | ||
| 27 | <el-button type="text" icon="el-icon-edit-outline" @click="editDialog(row)">编辑</el-button> | ||
| 28 | <el-button type="text" icon="el-icon-edit-outline" @click="AddDialog(row)">新增</el-button> | ||
| 29 | <el-button type="text" icon="el-icon-edit-outline" @click="deleteDialog(row)">删除</el-button> | ||
| 30 | </div> | ||
| 31 | <div class="icon" v-if="item.prop == 'qszt' && row.qszt == '0'"> | ||
| 32 | 正在办理 | ||
| 33 | </div> | ||
| 34 | <div class="icon" v-if="item.prop == 'qszt' && row.qszt == '1'"> | ||
| 35 | 有效 | ||
| 36 | </div> | ||
| 37 | <span v-if="item.prop == 'qszt'"> | ||
| 38 | {{ getQsztName(row[item.prop]) }} | ||
| 39 | </span> | ||
| 40 | |||
| 41 | <span v-else> {{ row[item.prop] }}</span> | ||
| 42 | </td> | ||
| 43 | <td v-for="count in emptycolNum" :key="~count"></td> | ||
| 44 | </tr> | ||
| 45 | </table> | ||
| 46 | </div> | ||
| 47 | </div> | ||
| 48 | </div> | ||
| 49 | </template> | ||
| 50 | |||
| 51 | <script> | ||
| 52 | import { getJsydsyqList } from "@/api/registerBook.js"; | ||
| 53 | import { datas } from "./qlxxFormData.js"; | ||
| 54 | |||
| 55 | export default { | ||
| 56 | data () { | ||
| 57 | return { | ||
| 58 | title: "建设用地使用权、宅基地使用权登记信息", | ||
| 59 | qsztList: datas.columns().qsztList, | ||
| 60 | checkList: datas.columns().checkList, | ||
| 61 | //传递参数 | ||
| 62 | propsParam: this.$attrs, | ||
| 63 | //列表数据 | ||
| 64 | tableData: [], | ||
| 65 | //空列值个数 | ||
| 66 | emptycolNum: datas.columns().emptycolNum, | ||
| 67 | //列名称对象 | ||
| 68 | columns: datas.columns().JSYDSYQ, | ||
| 69 | }; | ||
| 70 | }, | ||
| 71 | created () { | ||
| 72 | this.loadData(); | ||
| 73 | }, | ||
| 74 | methods: { | ||
| 75 | loadData () { | ||
| 76 | getJsydsyqList({ | ||
| 77 | bdcdyid: this.propsParam.bdcdyid, | ||
| 78 | qllx: this.propsParam.qllx, | ||
| 79 | qszt: this.checkList, | ||
| 80 | }).then((res) => { | ||
| 81 | if (res.code === 200) { | ||
| 82 | this.tableData = res.result; | ||
| 83 | console.log("this.tableData",this.tableData); | ||
| 84 | if (this.tableData.length < datas.columns().emptycolNum) { | ||
| 85 | this.emptycolNum = | ||
| 86 | datas.columns().emptycolNum - this.tableData.length; | ||
| 87 | } else { | ||
| 88 | this.emptycolNum = 0; | ||
| 89 | } | ||
| 90 | } | ||
| 91 | }); | ||
| 92 | }, | ||
| 93 | checkChange () { | ||
| 94 | if (this.checkList.length === 0) { | ||
| 95 | this.tableData = []; | ||
| 96 | this.emptycolNum = datas.columns().emptycolNum; | ||
| 97 | } else { | ||
| 98 | this.loadData(); | ||
| 99 | } | ||
| 100 | }, | ||
| 101 | getQsztName (code) { | ||
| 102 | let name = ""; | ||
| 103 | for (let item of this.qsztList) { | ||
| 104 | if (item.value == code) { | ||
| 105 | name = item.label; | ||
| 106 | break; | ||
| 107 | } | ||
| 108 | } | ||
| 109 | return name; | ||
| 110 | }, | ||
| 111 | AddDialog(row){ | ||
| 112 | this.$popupDialog("新增", "djbBook/components/djbeditDialog", { | ||
| 113 | data: '' | ||
| 114 | }) | ||
| 115 | }, | ||
| 116 | editDialog(row){ | ||
| 117 | this.$popupDialog("编辑", "djbBook/components/djbeditDialog", { | ||
| 118 | data: row | ||
| 119 | }) | ||
| 120 | }, | ||
| 121 | // 删除 | ||
| 122 | deleteDialog(row){ | ||
| 123 | console.log("row",row); | ||
| 124 | let that = this | ||
| 125 | this.$confirm('此操作将永久删除, 是否继续?', '提示', { | ||
| 126 | confirmButtonText: '确定', | ||
| 127 | cancelButtonText: '取消', | ||
| 128 | type: 'warning' | ||
| 129 | }).then(async () => { | ||
| 130 | |||
| 131 | // let bsmClmx = this.previewImg.imgList[this.previewImg.index].bsmClmx | ||
| 132 | // deleteClmx(bsmClmx).then(res => { | ||
| 133 | // if (res.code == 200) { | ||
| 134 | // that.$emit('updateList', res.result) | ||
| 135 | // that.$message({ | ||
| 136 | // message: '删除成功!', | ||
| 137 | // type: 'success' | ||
| 138 | // }) | ||
| 139 | // } | ||
| 140 | // }) | ||
| 141 | that.$message({ | ||
| 142 | message: '删除成功!', | ||
| 143 | type: 'success' | ||
| 144 | }) | ||
| 145 | }).catch(() => { | ||
| 146 | this.$message({ | ||
| 147 | type: 'info', | ||
| 148 | message: '已取消删除' | ||
| 149 | }) | ||
| 150 | }) | ||
| 151 | |||
| 152 | } | ||
| 153 | }, | ||
| 154 | }; | ||
| 155 | </script> | ||
| 156 | |||
| 157 | <style lang="scss" scoped> | ||
| 158 | @import "./qlxxCommon.scss"; | ||
| 159 | </style> |
src/views/djbBook/nydsyq.vue
0 → 100644
| 1 | <template> | ||
| 2 | <div class="djxxTable"> | ||
| 3 | <div class="tableBox"> | ||
| 4 | <div class="title"> | ||
| 5 | {{ title }} | ||
| 6 | <div class="checkbox"> | ||
| 7 | <el-checkbox-group v-model="checkList" @change="checkChange"> | ||
| 8 | <el-checkbox v-for="item in qsztList" :key="item.value" :label="item.value">{{ item.label }}</el-checkbox> | ||
| 9 | </el-checkbox-group> | ||
| 10 | </div> | ||
| 11 | </div> | ||
| 12 | <div class="xxTableBox"> | ||
| 13 | <!-- 固定前三个 --> | ||
| 14 | <table class="xxTable"> | ||
| 15 | <tr v-for="(item, colindex) in columns.slice(0, 3)" :key="colindex"> | ||
| 16 | <td> | ||
| 17 | {{ item.label }} | ||
| 18 | </td> | ||
| 19 | <td v-for="(row, index) in tableData" :key="index" :class="[ | ||
| 20 | row.qszt == '2' ? 'lishi' : '', | ||
| 21 | row.qszt == '0' ? 'linshi' : '', | ||
| 22 | item.prop == 'qszt' && row.qszt == '0' ? 'linshiIcon' : '', | ||
| 23 | item.prop == 'qszt' && row.qszt == '1' ? 'xianshiIcon' : '', | ||
| 24 | ]"> | ||
| 25 | <div class="icon" v-if="item.prop == 'qszt' && row.qszt == '0'"> | ||
| 26 | 正在办理 | ||
| 27 | </div> | ||
| 28 | <div class="icon" v-if="item.prop == 'qszt' && row.qszt == '1'"> | ||
| 29 | 有效 | ||
| 30 | </div> | ||
| 31 | <span v-if="item.prop == 'qszt'"> | ||
| 32 | {{ getQsztName(row[item.prop]) }} | ||
| 33 | </span> | ||
| 34 | |||
| 35 | <span v-else> {{ row[item.prop] }}</span> | ||
| 36 | </td> | ||
| 37 | <td v-for="count in emptycolNum" :key="~count"></td> | ||
| 38 | </tr> | ||
| 39 | </table> | ||
| 40 | |||
| 41 | <table class="xxTable rollTable"> | ||
| 42 | <tr v-for="(item, colindex) in columns.slice(3)" :key="colindex"> | ||
| 43 | <td> | ||
| 44 | {{ item.label }} | ||
| 45 | </td> | ||
| 46 | <td v-for="(row, index) in tableData" :key="index" :class="[ | ||
| 47 | row.qszt == '2' ? 'lishi' : '', | ||
| 48 | row.qszt == '0' ? 'linshi' : '', | ||
| 49 | item.prop == 'qszt' && row.qszt == '0' ? 'linshiIcon' : '', | ||
| 50 | ]"> | ||
| 51 | <div class="icon" v-if="item.prop == 'qszt' && row.qszt == '0'"> | ||
| 52 | 正在办理 | ||
| 53 | </div> | ||
| 54 | <span v-if="item.prop == 'qszt'"> | ||
| 55 | {{ getQsztName(row[item.prop]) }} | ||
| 56 | </span> | ||
| 57 | |||
| 58 | <span v-else> {{ row[item.prop] }}</span> | ||
| 59 | </td> | ||
| 60 | <td v-for="count in emptycolNum" :key="~count"></td> | ||
| 61 | </tr> | ||
| 62 | </table> | ||
| 63 | </div> | ||
| 64 | </div> | ||
| 65 | </div> | ||
| 66 | </template> | ||
| 67 | |||
| 68 | <script> | ||
| 69 | import { getNydsyqList } from "@/api/registerBook.js"; | ||
| 70 | import { datas } from "./qlxxFormData.js"; | ||
| 71 | export default { | ||
| 72 | data () { | ||
| 73 | return { | ||
| 74 | title: "农用地使用权登记信息", | ||
| 75 | qsztList: datas.columns().qsztList, | ||
| 76 | checkList: datas.columns().checkList, | ||
| 77 | //传递参数 | ||
| 78 | propsParam: this.$attrs, | ||
| 79 | //列表数据 | ||
| 80 | tableData: [], | ||
| 81 | //空列值个数 | ||
| 82 | emptycolNum: datas.columns().emptycolNum, | ||
| 83 | //列名称对象 | ||
| 84 | columns: datas.columns().NYDSYQ, | ||
| 85 | }; | ||
| 86 | }, | ||
| 87 | created () { | ||
| 88 | var qllx = this.$route.query.sqywbm.substr(0, 3) | ||
| 89 | if (qllx == 'A09') { | ||
| 90 | this.title = '土地经营权登记信息' | ||
| 91 | } else { | ||
| 92 | this.title = '农用地使用权登记信息' | ||
| 93 | } | ||
| 94 | this.loadData(); | ||
| 95 | }, | ||
| 96 | methods: { | ||
| 97 | loadData () { | ||
| 98 | getNydsyqList({ | ||
| 99 | bdcdyid: this.propsParam.bdcdyid, | ||
| 100 | qllx: this.propsParam.qllx, | ||
| 101 | qszt: this.checkList, | ||
| 102 | }).then((res) => { | ||
| 103 | if (res.code === 200) { | ||
| 104 | this.tableData = res.result; | ||
| 105 | if (this.tableData.length < datas.columns().emptycolNum) { | ||
| 106 | this.emptycolNum = | ||
| 107 | datas.columns().emptycolNum - this.tableData.length; | ||
| 108 | } else { | ||
| 109 | this.emptycolNum = 0; | ||
| 110 | } | ||
| 111 | } | ||
| 112 | }); | ||
| 113 | }, | ||
| 114 | checkChange () { | ||
| 115 | if (this.checkList.length === 0) { | ||
| 116 | this.tableData = []; | ||
| 117 | this.emptycolNum = datas.columns().emptycolNum; | ||
| 118 | } else { | ||
| 119 | this.loadData(); | ||
| 120 | } | ||
| 121 | }, | ||
| 122 | getQsztName (code) { | ||
| 123 | let name = ""; | ||
| 124 | for (let item of this.qsztList) { | ||
| 125 | if (item.value == code) { | ||
| 126 | name = item.label; | ||
| 127 | break; | ||
| 128 | } | ||
| 129 | } | ||
| 130 | return name; | ||
| 131 | }, | ||
| 132 | }, | ||
| 133 | }; | ||
| 134 | </script> | ||
| 135 | |||
| 136 | <style lang="scss" scoped> | ||
| 137 | @import "./qlxxCommon.scss"; | ||
| 138 | </style> |
src/views/djbBook/qlxxCommon.scss
0 → 100644
| 1 | .djxxTable { | ||
| 2 | width: 100%; | ||
| 3 | height: 100%; | ||
| 4 | background: #fff; | ||
| 5 | color: #333; | ||
| 6 | |||
| 7 | .tableBox { | ||
| 8 | margin: 0 auto; | ||
| 9 | display: flex; | ||
| 10 | flex-wrap: wrap; | ||
| 11 | |||
| 12 | .title { | ||
| 13 | width: 100%; | ||
| 14 | font-weight: 700; | ||
| 15 | font-size: 16px; | ||
| 16 | text-align: center; | ||
| 17 | background: #e9e9e9; | ||
| 18 | height: 62px; | ||
| 19 | line-height: 62px; | ||
| 20 | position: relative; | ||
| 21 | margin: 0 3px; | ||
| 22 | |||
| 23 | .checkbox { | ||
| 24 | position: absolute; | ||
| 25 | right: 20px; | ||
| 26 | bottom: -16px; | ||
| 27 | height: 62px; | ||
| 28 | } | ||
| 29 | } | ||
| 30 | |||
| 31 | .xxTableBox { | ||
| 32 | overflow: scroll; | ||
| 33 | width: 100%; | ||
| 34 | } | ||
| 35 | |||
| 36 | .xxTable>tr:first-child th { | ||
| 37 | width: 140px; | ||
| 38 | } | ||
| 39 | |||
| 40 | .xxTable { | ||
| 41 | //border-spacing: 1px; | ||
| 42 | width: 100%; | ||
| 43 | // table-layout: fixed; | ||
| 44 | |||
| 45 | tr { | ||
| 46 | box-sizing: border-box; | ||
| 47 | } | ||
| 48 | |||
| 49 | tr>th { | ||
| 50 | border: 1px solid #ccc; | ||
| 51 | background: #F2F2F2; | ||
| 52 | color: #333333; | ||
| 53 | font-size: 16px; | ||
| 54 | height: 40px; | ||
| 55 | } | ||
| 56 | |||
| 57 | tr:nth-child(1) { | ||
| 58 | position: sticky; | ||
| 59 | top: 0px; | ||
| 60 | z-index: 3; | ||
| 61 | margin-top: -2px; | ||
| 62 | } | ||
| 63 | |||
| 64 | tr:nth-child(2) { | ||
| 65 | position: sticky; | ||
| 66 | top: 40px; | ||
| 67 | z-index: 3; | ||
| 68 | } | ||
| 69 | |||
| 70 | tr:nth-child(3) { | ||
| 71 | position: sticky; | ||
| 72 | top: 80px; | ||
| 73 | z-index: 3; | ||
| 74 | box-shadow: 0px 15px 10px -15px #409EFF; | ||
| 75 | } | ||
| 76 | |||
| 77 | tr td:first-child { | ||
| 78 | position: sticky; | ||
| 79 | left: 0; | ||
| 80 | z-index: 2; | ||
| 81 | margin-left: -2px; | ||
| 82 | } | ||
| 83 | |||
| 84 | th.linshi, | ||
| 85 | th.xianshi { | ||
| 86 | background: #464c5b; | ||
| 87 | } | ||
| 88 | |||
| 89 | th.lishi { | ||
| 90 | background: rgba(70, 76, 91, 0.8); | ||
| 91 | } | ||
| 92 | |||
| 93 | .one th { | ||
| 94 | height: 25px; | ||
| 95 | font-size: 14px; | ||
| 96 | } | ||
| 97 | |||
| 98 | th.linshi { | ||
| 99 | color: #fe9400; | ||
| 100 | } | ||
| 101 | |||
| 102 | .two th { | ||
| 103 | height: 45px; | ||
| 104 | |||
| 105 | p:nth-child(2) { | ||
| 106 | font-size: 14px; | ||
| 107 | } | ||
| 108 | } | ||
| 109 | |||
| 110 | .linshiIcon { | ||
| 111 | position: relative; | ||
| 112 | |||
| 113 | .icon { | ||
| 114 | position: absolute; | ||
| 115 | top: 12px; | ||
| 116 | right: -5px; | ||
| 117 | transform: rotate(45deg); | ||
| 118 | color: #fff; | ||
| 119 | font-size: 12px; | ||
| 120 | z-index: 10; | ||
| 121 | } | ||
| 122 | } | ||
| 123 | |||
| 124 | .linshiIcon::after { | ||
| 125 | content: ""; | ||
| 126 | display: block; | ||
| 127 | width: 0; | ||
| 128 | height: 0; | ||
| 129 | border-width: 0px 0px 55px 55px; | ||
| 130 | border-style: none solid solid; | ||
| 131 | border-color: transparent transparent #fe9400; | ||
| 132 | position: absolute; | ||
| 133 | top: 0; | ||
| 134 | right: 0; | ||
| 135 | transform: rotate(-90deg); | ||
| 136 | } | ||
| 137 | |||
| 138 | .xianshiIcon { | ||
| 139 | position: relative; | ||
| 140 | |||
| 141 | .icon { | ||
| 142 | position: absolute; | ||
| 143 | top: 9px; | ||
| 144 | right: 5px; | ||
| 145 | transform: rotate(45deg); | ||
| 146 | color: #fff; | ||
| 147 | font-size: 12px; | ||
| 148 | z-index: 10; | ||
| 149 | } | ||
| 150 | } | ||
| 151 | |||
| 152 | .xianshiIcon::after { | ||
| 153 | content: ""; | ||
| 154 | display: block; | ||
| 155 | width: 0; | ||
| 156 | height: 0; | ||
| 157 | border-width: 0px 0px 55px 55px; | ||
| 158 | border-style: none solid solid; | ||
| 159 | border-color: transparent transparent #67C23A; | ||
| 160 | position: absolute; | ||
| 161 | top: 0; | ||
| 162 | right: 0; | ||
| 163 | transform: rotate(-90deg); | ||
| 164 | } | ||
| 165 | |||
| 166 | |||
| 167 | |||
| 168 | tr { | ||
| 169 | display: flex; | ||
| 170 | } | ||
| 171 | |||
| 172 | tr td { | ||
| 173 | border: 1px solid rgb(227, 226, 226); | ||
| 174 | text-align: center; | ||
| 175 | height: 40px; | ||
| 176 | font-size: 13px; | ||
| 177 | width: 140px; | ||
| 178 | flex: 1; | ||
| 179 | width: 100%; | ||
| 180 | display: flex; | ||
| 181 | align-items: center; | ||
| 182 | justify-content: center; | ||
| 183 | min-width: 280px; | ||
| 184 | z-index: 1; | ||
| 185 | } | ||
| 186 | |||
| 187 | >tr:nth-child(odd) td { | ||
| 188 | background: #f2f2f2; | ||
| 189 | } | ||
| 190 | |||
| 191 | >tr:nth-child(even) td { | ||
| 192 | background: #f9f9f9; | ||
| 193 | } | ||
| 194 | |||
| 195 | td.linshi { | ||
| 196 | color: #fe9400; | ||
| 197 | } | ||
| 198 | |||
| 199 | tr>td.lishi { | ||
| 200 | color: #7f7f7f; | ||
| 201 | } | ||
| 202 | } | ||
| 203 | |||
| 204 | .rollTable { | ||
| 205 | margin-top: -2px; | ||
| 206 | display: block; | ||
| 207 | height: calc(100vh - 185px); | ||
| 208 | overflow-y: scroll; | ||
| 209 | margin-left: 2px; | ||
| 210 | } | ||
| 211 | } | ||
| 212 | } | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
src/views/djbBook/qlxxFormData.js
0 → 100644
| 1 | import filter from '@/utils/filter.js' | ||
| 2 | |||
| 3 | class data extends filter { | ||
| 4 | constructor() { | ||
| 5 | super() | ||
| 6 | } | ||
| 7 | columns() { | ||
| 8 | return { | ||
| 9 | //空列值个数 | ||
| 10 | emptycolNum: 3, | ||
| 11 | checkList: ["0", "1", "2"], | ||
| 12 | //权属状态集合 | ||
| 13 | qsztList: [ | ||
| 14 | { | ||
| 15 | value: "0", | ||
| 16 | label: "临时", | ||
| 17 | }, | ||
| 18 | { | ||
| 19 | value: "1", | ||
| 20 | label: "现势", | ||
| 21 | }, | ||
| 22 | { | ||
| 23 | value: "2", | ||
| 24 | label: "历史", | ||
| 25 | }, | ||
| 26 | ], | ||
| 27 | JSYDSYQ: [ | ||
| 28 | |||
| 29 | { prop:"cz", | ||
| 30 | label:"操作", | ||
| 31 | render: (h, scope) => { | ||
| 32 | return ( | ||
| 33 | <div> | ||
| 34 | <el-button type="text" icon="el-icon-edit-outline" onClick={() => { vm.openDialog(scope.row) }}>登记薄</el-button> | ||
| 35 | <el-button type="text" icon="el-icon-film" onClick={() => { vm.handleLpbClick(scope.row) }}>楼盘表</el-button> | ||
| 36 | </div> | ||
| 37 | ) | ||
| 38 | } | ||
| 39 | }, | ||
| 40 | { | ||
| 41 | prop: "qszt", | ||
| 42 | label: "权属状态", | ||
| 43 | }, | ||
| 44 | { | ||
| 45 | prop: "qllxmc", | ||
| 46 | label: "权利类型", | ||
| 47 | }, | ||
| 48 | { | ||
| 49 | prop: "djlxmc", | ||
| 50 | label: "登记类型", | ||
| 51 | }, | ||
| 52 | { | ||
| 53 | prop: "ssywh", | ||
| 54 | label: "上手业务号", | ||
| 55 | }, | ||
| 56 | { | ||
| 57 | prop: "dah", | ||
| 58 | label: "档案号", | ||
| 59 | }, | ||
| 60 | { | ||
| 61 | prop: "ywh", | ||
| 62 | label: "业务号", | ||
| 63 | }, | ||
| 64 | { | ||
| 65 | prop: "bdcdyh", | ||
| 66 | label: "不动产单元号", | ||
| 67 | }, | ||
| 68 | { | ||
| 69 | prop: "zl", | ||
| 70 | label: "坐落", | ||
| 71 | }, | ||
| 72 | { | ||
| 73 | prop: "gyqk", | ||
| 74 | label: "共有情况", | ||
| 75 | }, | ||
| 76 | { | ||
| 77 | prop: "qlrlx", | ||
| 78 | label: "权利人类型", | ||
| 79 | }, | ||
| 80 | { | ||
| 81 | prop: "qlrmc", | ||
| 82 | label: "权利人", | ||
| 83 | }, | ||
| 84 | { | ||
| 85 | prop: "qlrzjzl", | ||
| 86 | label: "证件种类", | ||
| 87 | }, | ||
| 88 | { | ||
| 89 | prop: "qlrzjhm", | ||
| 90 | label: "证件号", | ||
| 91 | }, | ||
| 92 | { | ||
| 93 | prop: "mj", | ||
| 94 | label: "使用权面积(m²)", | ||
| 95 | }, | ||
| 96 | { | ||
| 97 | prop: "qlxzmc", | ||
| 98 | label: "权利性质", | ||
| 99 | }, | ||
| 100 | { | ||
| 101 | prop: "ytmc", | ||
| 102 | label: "土地用途", | ||
| 103 | }, | ||
| 104 | { | ||
| 105 | prop: "syqqzsj", | ||
| 106 | label: "使用权起止时间", | ||
| 107 | }, | ||
| 108 | // { | ||
| 109 | // prop: "syqjssj", | ||
| 110 | // label: "使用权结束时间", | ||
| 111 | // }, | ||
| 112 | // { | ||
| 113 | // prop: "tdsyqx", | ||
| 114 | // label: "土地使用期限", | ||
| 115 | // }, | ||
| 116 | { | ||
| 117 | prop: "tdsyqx", | ||
| 118 | label: "土地使用期限", | ||
| 119 | }, | ||
| 120 | { | ||
| 121 | prop: "qdjg", | ||
| 122 | label: "取得价格(万元)", | ||
| 123 | }, | ||
| 124 | { | ||
| 125 | prop: "djyy", | ||
| 126 | label: "登记原因", | ||
| 127 | }, | ||
| 128 | { | ||
| 129 | prop: "bdcqzh", | ||
| 130 | label: "不动产权证号", | ||
| 131 | }, | ||
| 132 | { | ||
| 133 | prop: "djsj", | ||
| 134 | label: "登记时间", | ||
| 135 | }, | ||
| 136 | { | ||
| 137 | prop: "dbr", | ||
| 138 | label: "登簿人", | ||
| 139 | }, | ||
| 140 | { | ||
| 141 | prop: "fj", | ||
| 142 | label: "附记", | ||
| 143 | }, | ||
| 144 | ], | ||
| 145 | FDCQ2: [ | ||
| 146 | |||
| 147 | { prop:"cz", | ||
| 148 | label:"操作" | ||
| 149 | }, | ||
| 150 | { | ||
| 151 | prop: "qszt", | ||
| 152 | label: "权属状态", | ||
| 153 | }, | ||
| 154 | { | ||
| 155 | prop: "qllxmc", | ||
| 156 | label: "权利类型", | ||
| 157 | }, | ||
| 158 | { | ||
| 159 | prop: "djlxmc", | ||
| 160 | label: "登记类型", | ||
| 161 | }, | ||
| 162 | { | ||
| 163 | prop: "ssywh", | ||
| 164 | label: "上手业务号", | ||
| 165 | }, | ||
| 166 | { | ||
| 167 | prop: "dah", | ||
| 168 | label: "档案号", | ||
| 169 | }, | ||
| 170 | { | ||
| 171 | prop: "ywh", | ||
| 172 | label: "业务号", | ||
| 173 | }, | ||
| 174 | { | ||
| 175 | prop: "bdcdyh", | ||
| 176 | label: "不动产单元号", | ||
| 177 | }, | ||
| 178 | { | ||
| 179 | prop: "zl", | ||
| 180 | label: "坐落", | ||
| 181 | }, | ||
| 182 | { | ||
| 183 | prop: "gyfs", | ||
| 184 | label: "共有情况", | ||
| 185 | }, | ||
| 186 | { | ||
| 187 | prop: "qlrlx", | ||
| 188 | label: "权利人类型", | ||
| 189 | }, | ||
| 190 | { | ||
| 191 | prop: "qlrmc", | ||
| 192 | label: "权利人", | ||
| 193 | }, | ||
| 194 | { | ||
| 195 | prop: "qlrzjzl", | ||
| 196 | label: "证件种类", | ||
| 197 | }, | ||
| 198 | { | ||
| 199 | prop: "qlrzjhm", | ||
| 200 | label: "证件号", | ||
| 201 | }, | ||
| 202 | { | ||
| 203 | prop: "tdsyqr", | ||
| 204 | label: "土地使用权人", | ||
| 205 | }, | ||
| 206 | { | ||
| 207 | prop: "dytdmj", | ||
| 208 | label: "独用土地面积(m²)", | ||
| 209 | }, | ||
| 210 | { | ||
| 211 | prop: "fttdmj", | ||
| 212 | label: "分摊土地面积(m²)", | ||
| 213 | }, | ||
| 214 | { | ||
| 215 | prop: "tdsyqzsj", | ||
| 216 | label: "土地使用期限", | ||
| 217 | }, | ||
| 218 | { | ||
| 219 | prop: "syqqzsj", | ||
| 220 | label: "使用权起止时间", | ||
| 221 | }, | ||
| 222 | { | ||
| 223 | prop: "fdcjyjg", | ||
| 224 | label: "房地产交易价格(万元)", | ||
| 225 | }, | ||
| 226 | { | ||
| 227 | prop: "ytmc", | ||
| 228 | label: "规划用途", | ||
| 229 | }, | ||
| 230 | { | ||
| 231 | prop: "fwxzmc", | ||
| 232 | label: "房屋性质", | ||
| 233 | }, | ||
| 234 | { | ||
| 235 | prop: "fwjgmc", | ||
| 236 | label: "房屋结构", | ||
| 237 | }, | ||
| 238 | { | ||
| 239 | prop: "szc", | ||
| 240 | label: "所在层", | ||
| 241 | }, | ||
| 242 | { | ||
| 243 | prop: "zcs", | ||
| 244 | label: "总层数", | ||
| 245 | }, | ||
| 246 | { | ||
| 247 | prop: "mj", | ||
| 248 | label: "建筑面积(m2)", | ||
| 249 | }, | ||
| 250 | { | ||
| 251 | prop: "zyjzmj", | ||
| 252 | label: "专有建筑面积(m2)", | ||
| 253 | }, | ||
| 254 | |||
| 255 | { | ||
| 256 | prop: "ftjzmj", | ||
| 257 | label: "分摊建筑面积(m2)", | ||
| 258 | }, | ||
| 259 | { | ||
| 260 | prop: "jgsj", | ||
| 261 | label: "竣工时间", | ||
| 262 | }, | ||
| 263 | { | ||
| 264 | prop: "djyy", | ||
| 265 | label: "登记原因", | ||
| 266 | }, | ||
| 267 | { | ||
| 268 | prop: "bdcqzh", | ||
| 269 | label: "不动产权证号", | ||
| 270 | }, | ||
| 271 | { | ||
| 272 | prop: "djsj", | ||
| 273 | label: "登记时间", | ||
| 274 | }, | ||
| 275 | { | ||
| 276 | prop: "dbr", | ||
| 277 | label: "登簿人", | ||
| 278 | }, | ||
| 279 | { | ||
| 280 | prop: "fj", | ||
| 281 | label: "附记", | ||
| 282 | }, | ||
| 283 | ], | ||
| 284 | NYDSYQ: [ | ||
| 285 | |||
| 286 | { prop:"cz", | ||
| 287 | label:"操作" | ||
| 288 | }, | ||
| 289 | { | ||
| 290 | prop: "qszt", | ||
| 291 | label: "权属状态", | ||
| 292 | }, | ||
| 293 | { | ||
| 294 | prop: "qllxmc", | ||
| 295 | label: "权利类型", | ||
| 296 | }, | ||
| 297 | { | ||
| 298 | prop: "djlxmc", | ||
| 299 | label: "登记类型", | ||
| 300 | }, | ||
| 301 | { | ||
| 302 | prop: "ssywh", | ||
| 303 | label: "上手业务号", | ||
| 304 | }, | ||
| 305 | { | ||
| 306 | prop: "dah", | ||
| 307 | label: "档案号", | ||
| 308 | }, | ||
| 309 | { | ||
| 310 | prop: "ywh", | ||
| 311 | label: "业务号", | ||
| 312 | }, | ||
| 313 | { | ||
| 314 | prop: "bdcdyh", | ||
| 315 | label: "不动产单元号", | ||
| 316 | }, | ||
| 317 | { | ||
| 318 | prop: "zl", | ||
| 319 | label: "坐落", | ||
| 320 | }, | ||
| 321 | { | ||
| 322 | prop: "gyqk", | ||
| 323 | label: "共有情况", | ||
| 324 | }, | ||
| 325 | { | ||
| 326 | prop: "qlrlx", | ||
| 327 | label: "权利人类型", | ||
| 328 | }, | ||
| 329 | { | ||
| 330 | prop: "qlrmc", | ||
| 331 | label: "权利人", | ||
| 332 | }, | ||
| 333 | { | ||
| 334 | prop: "qlrzjzl", | ||
| 335 | label: "证件种类", | ||
| 336 | }, | ||
| 337 | { | ||
| 338 | prop: "qlrzjhm", | ||
| 339 | label: "证件号", | ||
| 340 | }, | ||
| 341 | { | ||
| 342 | prop: "mj", | ||
| 343 | label: "使用权面积(m²)", | ||
| 344 | }, | ||
| 345 | { | ||
| 346 | prop: "qlxzmc", | ||
| 347 | label: "权利性质", | ||
| 348 | }, | ||
| 349 | { | ||
| 350 | prop: "ytmc", | ||
| 351 | label: "土地用途", | ||
| 352 | }, | ||
| 353 | { | ||
| 354 | prop: "fbfdm", | ||
| 355 | label: "发包方代码", | ||
| 356 | }, | ||
| 357 | { | ||
| 358 | prop: "fbfmc", | ||
| 359 | label: "发包方名称", | ||
| 360 | }, | ||
| 361 | { | ||
| 362 | prop: "cbqzsj", | ||
| 363 | label: "承包起止时间", | ||
| 364 | }, | ||
| 365 | { | ||
| 366 | prop: "cbqx", | ||
| 367 | label: "承包期限", | ||
| 368 | }, | ||
| 369 | { | ||
| 370 | prop: "tdsyqxzmc", | ||
| 371 | label: "土地所有权性质", | ||
| 372 | }, | ||
| 373 | { | ||
| 374 | prop: "syttlxmc", | ||
| 375 | label: "水域滩涂类型", | ||
| 376 | }, | ||
| 377 | { | ||
| 378 | prop: "yzyfsmc", | ||
| 379 | label: "养殖业方式", | ||
| 380 | }, | ||
| 381 | { | ||
| 382 | prop: "cyzl", | ||
| 383 | label: "草原质量", | ||
| 384 | }, | ||
| 385 | { | ||
| 386 | prop: "syzcl", | ||
| 387 | label: "适宜载畜量", | ||
| 388 | }, | ||
| 389 | { | ||
| 390 | prop: "ydyhflmc", | ||
| 391 | label: "用地用海分类", | ||
| 392 | }, | ||
| 393 | { | ||
| 394 | prop: "djyy", | ||
| 395 | label: "登记原因", | ||
| 396 | }, | ||
| 397 | { | ||
| 398 | prop: "bdcqzh", | ||
| 399 | label: "不动产权证号", | ||
| 400 | }, | ||
| 401 | { | ||
| 402 | prop: "djsj", | ||
| 403 | label: "登记时间", | ||
| 404 | }, | ||
| 405 | { | ||
| 406 | prop: "dbr", | ||
| 407 | label: "登簿人", | ||
| 408 | }, | ||
| 409 | { | ||
| 410 | prop: "fj", | ||
| 411 | label: "附记", | ||
| 412 | }, | ||
| 413 | ], | ||
| 414 | DYAQ: [ | ||
| 415 | |||
| 416 | { prop:"cz", | ||
| 417 | label:"操作" | ||
| 418 | }, | ||
| 419 | { | ||
| 420 | prop: "qszt", | ||
| 421 | label: "权属状态", | ||
| 422 | }, | ||
| 423 | { | ||
| 424 | prop: "dybdclx", | ||
| 425 | label: "抵押不动产类型", | ||
| 426 | }, | ||
| 427 | { | ||
| 428 | prop: "djlxmc", | ||
| 429 | label: "登记类型", | ||
| 430 | }, | ||
| 431 | { | ||
| 432 | prop: "ssywh", | ||
| 433 | label: "上手业务号", | ||
| 434 | }, | ||
| 435 | { | ||
| 436 | prop: "dah", | ||
| 437 | label: "档案号", | ||
| 438 | }, | ||
| 439 | { | ||
| 440 | prop: "ywh", | ||
| 441 | label: "业务号", | ||
| 442 | }, | ||
| 443 | { | ||
| 444 | prop: "bdcdyh", | ||
| 445 | label: "不动产单元号", | ||
| 446 | }, | ||
| 447 | { | ||
| 448 | prop: "zl", | ||
| 449 | label: "在建建筑物坐落", | ||
| 450 | }, | ||
| 451 | { | ||
| 452 | prop: "qlrmc", | ||
| 453 | label: "抵押权人", | ||
| 454 | }, | ||
| 455 | { | ||
| 456 | prop: "qlrzjzl", | ||
| 457 | label: "抵押权人证件种类", | ||
| 458 | }, | ||
| 459 | { | ||
| 460 | prop: "qlrzjhm", | ||
| 461 | label: "抵押权人证件号", | ||
| 462 | }, | ||
| 463 | { | ||
| 464 | prop: "ywrmc", | ||
| 465 | label: "抵押人", | ||
| 466 | }, | ||
| 467 | { | ||
| 468 | prop: "ywrzjzl", | ||
| 469 | label: "抵押人证件种类", | ||
| 470 | }, | ||
| 471 | { | ||
| 472 | prop: "ywrzjhm", | ||
| 473 | label: "抵押人证件号", | ||
| 474 | }, | ||
| 475 | { | ||
| 476 | prop: "dyfs", | ||
| 477 | label: "抵押方式", | ||
| 478 | render: (h, scope) => { | ||
| 479 | return ( | ||
| 480 | <div> | ||
| 481 | <span v-show={scope.row.dyfs == '1'}>一般抵押权</span> | ||
| 482 | <span v-show={scope.row.dyfs == '2'}>最高额抵押权</span> | ||
| 483 | </div> | ||
| 484 | ) | ||
| 485 | } | ||
| 486 | }, | ||
| 487 | { | ||
| 488 | prop: "sfygdj", | ||
| 489 | label: "是否预告登记", | ||
| 490 | }, | ||
| 491 | { | ||
| 492 | prop: "zjjzwdyfw", | ||
| 493 | label: "在建建筑物抵押范围", | ||
| 494 | }, | ||
| 495 | { | ||
| 496 | prop: "dymj", | ||
| 497 | label: "抵押面积", | ||
| 498 | }, | ||
| 499 | { | ||
| 500 | prop: "bdbzzqse", | ||
| 501 | label: "被担保主债权数额(万元)", | ||
| 502 | }, | ||
| 503 | { | ||
| 504 | prop: "dbfw", | ||
| 505 | label: "担保范围", | ||
| 506 | }, | ||
| 507 | { | ||
| 508 | prop: "zwlxqssj", | ||
| 509 | label: "债务履行起始时间", | ||
| 510 | }, | ||
| 511 | { | ||
| 512 | prop: "zwlxjssj", | ||
| 513 | label: "债务履行结束时间", | ||
| 514 | }, | ||
| 515 | { | ||
| 516 | prop: "zwlxqx", | ||
| 517 | label: "债务履行期限(债务确定期间)", | ||
| 518 | }, | ||
| 519 | { | ||
| 520 | prop: "zgzqqdsshse", | ||
| 521 | label: "最高债权确定事实和数额", | ||
| 522 | }, | ||
| 523 | { | ||
| 524 | prop: "sfczyd", | ||
| 525 | label: "是否存在禁止或限制转让抵押不动产的约定", | ||
| 526 | }, | ||
| 527 | { | ||
| 528 | prop: "djyy", | ||
| 529 | label: "登记原因", | ||
| 530 | }, | ||
| 531 | { | ||
| 532 | prop: "bdcqzh", | ||
| 533 | label: "不动产登记证明号", | ||
| 534 | }, | ||
| 535 | { | ||
| 536 | prop: "fj", | ||
| 537 | label: "附记", | ||
| 538 | }, | ||
| 539 | { | ||
| 540 | prop: "qlqtzk", | ||
| 541 | label: "权利其他状况", | ||
| 542 | }, | ||
| 543 | { | ||
| 544 | prop: "djsj", | ||
| 545 | label: "登记时间", | ||
| 546 | }, | ||
| 547 | { | ||
| 548 | prop: "dbr", | ||
| 549 | label: "登簿人", | ||
| 550 | }, | ||
| 551 | { | ||
| 552 | prop: "djjg", | ||
| 553 | label: "登记机构", | ||
| 554 | }, | ||
| 555 | { | ||
| 556 | prop: "zxywh", | ||
| 557 | label: "注销抵押业务号", | ||
| 558 | }, | ||
| 559 | { | ||
| 560 | prop: "zxdyyy", | ||
| 561 | label: "注销抵押原因", | ||
| 562 | }, | ||
| 563 | { | ||
| 564 | prop: "zxsj", | ||
| 565 | label: "注销登记时间", | ||
| 566 | }, | ||
| 567 | { | ||
| 568 | prop: "zxdbr", | ||
| 569 | label: "登簿人", | ||
| 570 | }, | ||
| 571 | |||
| 572 | ], | ||
| 573 | DYIQ: [ | ||
| 574 | |||
| 575 | { prop:"cz", | ||
| 576 | label:"操作" | ||
| 577 | }, | ||
| 578 | { | ||
| 579 | prop: "qszt", | ||
| 580 | label: "权属状态", | ||
| 581 | }, | ||
| 582 | { | ||
| 583 | prop: "djlxmc", | ||
| 584 | label: "登记类型", | ||
| 585 | }, | ||
| 586 | { | ||
| 587 | prop: "ssywh", | ||
| 588 | label: "上手业务号", | ||
| 589 | }, | ||
| 590 | { | ||
| 591 | prop: "dah", | ||
| 592 | label: "档案号", | ||
| 593 | }, | ||
| 594 | { | ||
| 595 | prop: "ywh", | ||
| 596 | label: "业务号", | ||
| 597 | }, | ||
| 598 | { | ||
| 599 | prop: "gydbdcdyh", | ||
| 600 | label: "供役地不动产单元号", | ||
| 601 | }, | ||
| 602 | { | ||
| 603 | prop: "gydqlr", | ||
| 604 | label: "供役地权利人", | ||
| 605 | }, | ||
| 606 | { | ||
| 607 | prop: "gydqlrzjzl", | ||
| 608 | label: "供役地权利人证件种类", | ||
| 609 | }, | ||
| 610 | { | ||
| 611 | prop: "xydbdcdyh", | ||
| 612 | label: "需役地不动产单元号", | ||
| 613 | }, | ||
| 614 | { | ||
| 615 | prop: "xydzl", | ||
| 616 | label: "需役地坐落", | ||
| 617 | }, | ||
| 618 | { | ||
| 619 | prop: "xydqlr", | ||
| 620 | label: "需役地权利人", | ||
| 621 | }, | ||
| 622 | { | ||
| 623 | prop: "xydqlrzjzl", | ||
| 624 | label: "需役地权利人证件种类", | ||
| 625 | }, | ||
| 626 | { | ||
| 627 | prop: "xydzjh", | ||
| 628 | label: "需役地证件号", | ||
| 629 | }, | ||
| 630 | { | ||
| 631 | prop: "djyy", | ||
| 632 | label: "登记原因", | ||
| 633 | }, | ||
| 634 | { | ||
| 635 | prop: "dyqnr", | ||
| 636 | label: "地役权内容", | ||
| 637 | }, | ||
| 638 | { | ||
| 639 | prop: "qlqssj", | ||
| 640 | label: "权利起始时间", | ||
| 641 | }, | ||
| 642 | { | ||
| 643 | prop: "qljssj", | ||
| 644 | label: "权利结束时间", | ||
| 645 | }, | ||
| 646 | { | ||
| 647 | prop: "bdcdjzmh", | ||
| 648 | label: "不动产登记证明号", | ||
| 649 | }, | ||
| 650 | { | ||
| 651 | prop: "qxdm", | ||
| 652 | label: "区县代码", | ||
| 653 | }, | ||
| 654 | { | ||
| 655 | prop: "djjg", | ||
| 656 | label: "登记机构", | ||
| 657 | }, | ||
| 658 | { | ||
| 659 | prop: "dbr", | ||
| 660 | label: "登簿人", | ||
| 661 | }, | ||
| 662 | { | ||
| 663 | prop: "djsj", | ||
| 664 | label: "登记时间", | ||
| 665 | }, | ||
| 666 | ], | ||
| 667 | YGDJ: [ | ||
| 668 | |||
| 669 | { prop:"cz", | ||
| 670 | label:"操作" | ||
| 671 | }, | ||
| 672 | { | ||
| 673 | prop: "qszt", | ||
| 674 | label: "权属状态", | ||
| 675 | }, | ||
| 676 | { | ||
| 677 | prop: "ygdjzl", | ||
| 678 | label: "预告登记种类", | ||
| 679 | }, | ||
| 680 | { | ||
| 681 | prop: "djlxmc", | ||
| 682 | label: "登记类型", | ||
| 683 | }, | ||
| 684 | { | ||
| 685 | prop: "ssywh", | ||
| 686 | label: "上手业务号", | ||
| 687 | }, | ||
| 688 | { | ||
| 689 | prop: "dah", | ||
| 690 | label: "档案号", | ||
| 691 | }, | ||
| 692 | { | ||
| 693 | prop: "ywh", | ||
| 694 | label: "业务号", | ||
| 695 | }, | ||
| 696 | { | ||
| 697 | prop: "bdcdyh", | ||
| 698 | label: "不动产单元号", | ||
| 699 | }, | ||
| 700 | { | ||
| 701 | prop: "zl", | ||
| 702 | label: "坐落", | ||
| 703 | }, | ||
| 704 | { | ||
| 705 | prop: "qlrmc", | ||
| 706 | label: "权利人", | ||
| 707 | }, | ||
| 708 | { | ||
| 709 | prop: "qlrzjzl", | ||
| 710 | label: "证件种类", | ||
| 711 | }, | ||
| 712 | { | ||
| 713 | prop: "qlrzjhm", | ||
| 714 | label: "证件号", | ||
| 715 | }, | ||
| 716 | { | ||
| 717 | prop: "ywrmc", | ||
| 718 | label: "义务人", | ||
| 719 | }, | ||
| 720 | { | ||
| 721 | prop: "ywrzjzl", | ||
| 722 | label: "证件种类", | ||
| 723 | }, | ||
| 724 | { | ||
| 725 | prop: "ywrzjhm", | ||
| 726 | label: "证件号", | ||
| 727 | }, | ||
| 728 | { | ||
| 729 | prop: "fwxz", | ||
| 730 | label: "房屋性质", | ||
| 731 | }, | ||
| 732 | { | ||
| 733 | prop: "ghyt", | ||
| 734 | label: "规划用途", | ||
| 735 | }, | ||
| 736 | { | ||
| 737 | prop: "fwzcs", | ||
| 738 | label: "房屋总层数", | ||
| 739 | }, | ||
| 740 | { | ||
| 741 | prop: "fwszc", | ||
| 742 | label: "房屋所在层", | ||
| 743 | }, | ||
| 744 | { | ||
| 745 | prop: "jzmj", | ||
| 746 | label: "建筑面积", | ||
| 747 | }, | ||
| 748 | { | ||
| 749 | prop: "djyy", | ||
| 750 | label: "登记原因", | ||
| 751 | }, | ||
| 752 | { | ||
| 753 | prop: "qdjg", | ||
| 754 | label: "取得价格/被担保主债权数额", | ||
| 755 | }, | ||
| 756 | { | ||
| 757 | prop: "jedw", | ||
| 758 | label: "金额单位", | ||
| 759 | }, | ||
| 760 | { | ||
| 761 | prop: "dbfw", | ||
| 762 | label: "担保范围", | ||
| 763 | }, | ||
| 764 | { | ||
| 765 | prop: "sfczyd", | ||
| 766 | label: "是否存在禁止或限制转让抵押不动产的约定", | ||
| 767 | }, | ||
| 768 | { | ||
| 769 | prop: "djsj", | ||
| 770 | label: "登记时间", | ||
| 771 | }, | ||
| 772 | { | ||
| 773 | prop: "bdcqzh", | ||
| 774 | label: "不动产登记证明号", | ||
| 775 | }, | ||
| 776 | { | ||
| 777 | prop: "dbr", | ||
| 778 | label: "登簿人", | ||
| 779 | }, | ||
| 780 | { | ||
| 781 | prop: "zxywh", | ||
| 782 | label: "注销预告业务号", | ||
| 783 | }, | ||
| 784 | { | ||
| 785 | prop: "zxyy", | ||
| 786 | label: "注销预告原因", | ||
| 787 | }, | ||
| 788 | { | ||
| 789 | prop: "zxsj", | ||
| 790 | label: "注销时间", | ||
| 791 | } | ||
| 792 | ], | ||
| 793 | CFDJ: [ | ||
| 794 | |||
| 795 | { prop:"cz", | ||
| 796 | label:"操作" | ||
| 797 | }, | ||
| 798 | { | ||
| 799 | prop: "qszt", | ||
| 800 | label: "权属状态", | ||
| 801 | }, | ||
| 802 | { | ||
| 803 | prop: "cflxmc", | ||
| 804 | label: "查封类型", | ||
| 805 | }, | ||
| 806 | { | ||
| 807 | prop: "ssywh", | ||
| 808 | label: "上手业务号", | ||
| 809 | }, | ||
| 810 | { | ||
| 811 | prop: "dah", | ||
| 812 | label: "档案号", | ||
| 813 | }, | ||
| 814 | { | ||
| 815 | prop: "ywh", | ||
| 816 | label: "业务号", | ||
| 817 | }, | ||
| 818 | { | ||
| 819 | prop: "bdcdyh", | ||
| 820 | label: "不动产单元号", | ||
| 821 | }, | ||
| 822 | { | ||
| 823 | prop: "zl", | ||
| 824 | label: "坐落", | ||
| 825 | }, | ||
| 826 | { | ||
| 827 | prop: "cfjg", | ||
| 828 | label: "查封机关", | ||
| 829 | }, | ||
| 830 | { | ||
| 831 | prop: "qlrmc", | ||
| 832 | label: "不动产权利人", | ||
| 833 | }, | ||
| 834 | { | ||
| 835 | prop: "qlrzjzl", | ||
| 836 | label: "证件种类", | ||
| 837 | }, | ||
| 838 | { | ||
| 839 | prop: "qlrzjhm", | ||
| 840 | label: "证件号", | ||
| 841 | }, | ||
| 842 | |||
| 843 | { | ||
| 844 | prop: "cfwh", | ||
| 845 | label: "查封文号", | ||
| 846 | }, | ||
| 847 | { | ||
| 848 | prop: "cfwj", | ||
| 849 | label: "查封文件", | ||
| 850 | }, | ||
| 851 | { | ||
| 852 | prop: "cfqssj", | ||
| 853 | label: "查封起始时间", | ||
| 854 | }, | ||
| 855 | { | ||
| 856 | prop: "cfjssj", | ||
| 857 | label: "查封结束时间", | ||
| 858 | }, | ||
| 859 | { | ||
| 860 | prop: "cfqx", | ||
| 861 | label: "查封期限", | ||
| 862 | }, | ||
| 863 | { | ||
| 864 | prop: "cffw", | ||
| 865 | label: "查封范围", | ||
| 866 | }, | ||
| 867 | { | ||
| 868 | prop: "djjg", | ||
| 869 | label: "登记机构", | ||
| 870 | }, | ||
| 871 | { | ||
| 872 | prop: "dbr", | ||
| 873 | label: "登簿人", | ||
| 874 | }, | ||
| 875 | { | ||
| 876 | prop: "djsj", | ||
| 877 | label: "登记时间", | ||
| 878 | }, | ||
| 879 | { | ||
| 880 | prop: "zxywh", | ||
| 881 | label: "解封业务号", | ||
| 882 | }, | ||
| 883 | { | ||
| 884 | prop: "jfjg", | ||
| 885 | label: "解封机关", | ||
| 886 | }, | ||
| 887 | { | ||
| 888 | prop: "jfwh", | ||
| 889 | label: "解封文号", | ||
| 890 | }, | ||
| 891 | { | ||
| 892 | prop: "jfwj", | ||
| 893 | label: "解封文件", | ||
| 894 | }, | ||
| 895 | { | ||
| 896 | prop: "zxsj", | ||
| 897 | label: "解封登记时间", | ||
| 898 | }, | ||
| 899 | { | ||
| 900 | prop: "zxdbr", | ||
| 901 | label: "解封登簿人", | ||
| 902 | }, | ||
| 903 | ], | ||
| 904 | YYDJ: [ | ||
| 905 | |||
| 906 | { prop:"cz", | ||
| 907 | label:"操作" | ||
| 908 | }, | ||
| 909 | { | ||
| 910 | prop: "qszt", | ||
| 911 | label: "权属状态", | ||
| 912 | }, | ||
| 913 | { | ||
| 914 | prop: "qllxmc", | ||
| 915 | label: "权利类型", | ||
| 916 | }, | ||
| 917 | { | ||
| 918 | prop: "djlxmc", | ||
| 919 | label: "登记类型", | ||
| 920 | }, | ||
| 921 | { | ||
| 922 | prop: "ssywh", | ||
| 923 | label: "上手业务号", | ||
| 924 | }, | ||
| 925 | { | ||
| 926 | prop: "dah", | ||
| 927 | label: "档案号", | ||
| 928 | }, | ||
| 929 | { | ||
| 930 | prop: "ywh", | ||
| 931 | label: "业务号", | ||
| 932 | }, | ||
| 933 | { | ||
| 934 | prop: "bdcdyh", | ||
| 935 | label: "不动产单元号", | ||
| 936 | }, | ||
| 937 | { | ||
| 938 | prop: "zl", | ||
| 939 | label: "坐落", | ||
| 940 | }, | ||
| 941 | { | ||
| 942 | prop: "yyr", | ||
| 943 | label: "异议人", | ||
| 944 | }, | ||
| 945 | { | ||
| 946 | prop: "zjzl", | ||
| 947 | label: "证件种类", | ||
| 948 | }, | ||
| 949 | { | ||
| 950 | prop: "zjh", | ||
| 951 | label: "证件号", | ||
| 952 | }, | ||
| 953 | { | ||
| 954 | prop: "yysx", | ||
| 955 | label: "异议事项", | ||
| 956 | }, | ||
| 957 | { | ||
| 958 | prop: "bdcdjzmh", | ||
| 959 | label: "不动产登记证明号", | ||
| 960 | }, | ||
| 961 | { | ||
| 962 | prop: "djjg", | ||
| 963 | label: "登记机构", | ||
| 964 | }, | ||
| 965 | { | ||
| 966 | prop: "dbr", | ||
| 967 | label: "登簿人", | ||
| 968 | }, | ||
| 969 | { | ||
| 970 | prop: "djsj", | ||
| 971 | label: "登记时间", | ||
| 972 | }, | ||
| 973 | { | ||
| 974 | prop: "zxyyywh", | ||
| 975 | label: "注销异议业务号", | ||
| 976 | }, | ||
| 977 | { | ||
| 978 | prop: "zxyyyy", | ||
| 979 | label: "注销异议原因", | ||
| 980 | }, | ||
| 981 | { | ||
| 982 | prop: "zxyydbr", | ||
| 983 | label: "注销异议登簿人", | ||
| 984 | }, | ||
| 985 | { | ||
| 986 | prop: "zxyydjsj", | ||
| 987 | label: "注销异议登记时间", | ||
| 988 | }, | ||
| 989 | ], | ||
| 990 | } | ||
| 991 | } | ||
| 992 | |||
| 993 | |||
| 994 | } | ||
| 995 | |||
| 996 | let datas = new data() | ||
| 997 | |||
| 998 | export { | ||
| 999 | datas | ||
| 1000 | } |
src/views/djbBook/ygdj.vue
0 → 100644
| 1 | <template> | ||
| 2 | <div class="djxxTable"> | ||
| 3 | <div class="tableBox"> | ||
| 4 | <div class="title"> | ||
| 5 | {{ title }} | ||
| 6 | <div class="checkbox"> | ||
| 7 | <el-checkbox-group v-model="checkList" @change="checkChange"> | ||
| 8 | <el-checkbox v-for="item in qsztList" :key="item.value" :label="item.value">{{ item.label }}</el-checkbox> | ||
| 9 | </el-checkbox-group> | ||
| 10 | </div> | ||
| 11 | </div> | ||
| 12 | <div class="xxTableBox rollTable"> | ||
| 13 | <table class="xxTable"> | ||
| 14 | <tr v-for="(item, colindex) in columns" :key="colindex"> | ||
| 15 | <td> | ||
| 16 | {{ item.label }} | ||
| 17 | </td> | ||
| 18 | <td v-for="(row, index) in tableData" :key="index" :class="[ | ||
| 19 | row.qszt == '2' ? 'lishi' : '', | ||
| 20 | row.qszt == '0' ? 'linshi' : '', | ||
| 21 | item.prop == 'qszt' && row.qszt == '0' ? 'linshiIcon' : '', | ||
| 22 | ]"> | ||
| 23 | <div class="icon" v-if="item.prop == 'qszt' && row.qszt == '0'"> | ||
| 24 | 正在办理 | ||
| 25 | </div> | ||
| 26 | <span v-if="item.prop == 'qszt'"> | ||
| 27 | {{ getQsztName(row[item.prop]) }} | ||
| 28 | </span> | ||
| 29 | |||
| 30 | <span v-else> {{ row[item.prop] }}</span> | ||
| 31 | </td> | ||
| 32 | <td v-for="count in emptycolNum" :key="~count"></td> | ||
| 33 | </tr> | ||
| 34 | </table> | ||
| 35 | </div> | ||
| 36 | </div> | ||
| 37 | </div> | ||
| 38 | </template> | ||
| 39 | |||
| 40 | <script> | ||
| 41 | import { getYgdjList } from "@/api/registerBook.js"; | ||
| 42 | import { datas } from "./qlxxFormData.js"; | ||
| 43 | export default { | ||
| 44 | data () { | ||
| 45 | return { | ||
| 46 | title: "预告登记信息", | ||
| 47 | qsztList: datas.columns().qsztList, | ||
| 48 | checkList: datas.columns().checkList, | ||
| 49 | //传递参数 | ||
| 50 | propsParam: this.$attrs, | ||
| 51 | //列表数据 | ||
| 52 | tableData: [], | ||
| 53 | //空列值个数 | ||
| 54 | emptycolNum: datas.columns().emptycolNum, | ||
| 55 | //列名称对象 | ||
| 56 | columns: datas.columns().YGDJ, | ||
| 57 | }; | ||
| 58 | }, | ||
| 59 | created () { | ||
| 60 | this.loadData(); | ||
| 61 | }, | ||
| 62 | methods: { | ||
| 63 | loadData () { | ||
| 64 | getYgdjList({ | ||
| 65 | bdcdyid: this.propsParam.bdcdyid, | ||
| 66 | qllx: this.propsParam.qllx, | ||
| 67 | qszt: this.checkList, | ||
| 68 | }).then((res) => { | ||
| 69 | if (res.code === 200) { | ||
| 70 | this.tableData = res.result; | ||
| 71 | if (this.tableData.length < datas.columns().emptycolNum) { | ||
| 72 | this.emptycolNum = | ||
| 73 | datas.columns().emptycolNum - this.tableData.length; | ||
| 74 | } else { | ||
| 75 | this.emptycolNum = 0; | ||
| 76 | } | ||
| 77 | } | ||
| 78 | }); | ||
| 79 | }, | ||
| 80 | checkChange () { | ||
| 81 | if (this.checkList.length === 0) { | ||
| 82 | this.tableData = []; | ||
| 83 | this.emptycolNum = datas.columns().emptycolNum; | ||
| 84 | } else { | ||
| 85 | this.loadData(); | ||
| 86 | } | ||
| 87 | }, | ||
| 88 | getQsztName (code) { | ||
| 89 | let name = ""; | ||
| 90 | for (let item of this.qsztList) { | ||
| 91 | if (item.value == code) { | ||
| 92 | name = item.label; | ||
| 93 | break; | ||
| 94 | } | ||
| 95 | } | ||
| 96 | return name; | ||
| 97 | }, | ||
| 98 | }, | ||
| 99 | }; | ||
| 100 | </script> | ||
| 101 | |||
| 102 | <style lang="scss" scoped> | ||
| 103 | @import "./qlxxCommon.scss"; | ||
| 104 | </style> |
src/views/djbBook/yydj.vue
0 → 100644
| 1 | <template> | ||
| 2 | <div class="djxxTable"> | ||
| 3 | <div class="tableBox"> | ||
| 4 | <div class="title"> | ||
| 5 | {{ title }} | ||
| 6 | <div class="checkbox"> | ||
| 7 | <el-checkbox-group v-model="checkList" @change="checkChange"> | ||
| 8 | <el-checkbox v-for="item in qsztList" :key="item.value" :label="item.value">{{ item.label }}</el-checkbox> | ||
| 9 | </el-checkbox-group> | ||
| 10 | </div> | ||
| 11 | </div> | ||
| 12 | <div class="xxTableBox rollTable"> | ||
| 13 | <table class="xxTable"> | ||
| 14 | <tr v-for="(item, colindex) in columns" :key="colindex"> | ||
| 15 | <td> | ||
| 16 | {{ item.label }} | ||
| 17 | </td> | ||
| 18 | <td v-for="(row, index) in tableData" :key="index" :class="[ | ||
| 19 | row.qszt == '2' ? 'lishi' : '', | ||
| 20 | row.qszt == '0' ? 'linshi' : '', | ||
| 21 | item.prop == 'qszt' && row.qszt == '0' ? 'linshiIcon' : '', | ||
| 22 | ]"> | ||
| 23 | <div class="icon" v-if="item.prop == 'qszt' && row.qszt == '0'"> | ||
| 24 | 正在办理 | ||
| 25 | </div> | ||
| 26 | <span v-if="item.prop == 'qszt'"> | ||
| 27 | {{ getQsztName(row[item.prop]) }} | ||
| 28 | </span> | ||
| 29 | |||
| 30 | <span v-else> {{ row[item.prop] }}</span> | ||
| 31 | </td> | ||
| 32 | <td v-for="count in emptycolNum" :key="~count"></td> | ||
| 33 | </tr> | ||
| 34 | </table> | ||
| 35 | </div> | ||
| 36 | </div> | ||
| 37 | </div> | ||
| 38 | </template> | ||
| 39 | |||
| 40 | <script> | ||
| 41 | import { getYydjList } from "@/api/registerBook.js"; | ||
| 42 | import { datas } from "./qlxxFormData.js"; | ||
| 43 | export default { | ||
| 44 | data () { | ||
| 45 | return { | ||
| 46 | title: "异议登记信息", | ||
| 47 | qsztList: datas.columns().qsztList, | ||
| 48 | checkList: datas.columns().checkList, | ||
| 49 | //传递参数 | ||
| 50 | propsParam: this.$attrs, | ||
| 51 | //列表数据 | ||
| 52 | tableData: [], | ||
| 53 | //空列值个数 | ||
| 54 | emptycolNum: datas.columns().emptycolNum, | ||
| 55 | //列名称对象 | ||
| 56 | columns: datas.columns().YYDJ, | ||
| 57 | }; | ||
| 58 | }, | ||
| 59 | created () { | ||
| 60 | this.loadData(); | ||
| 61 | }, | ||
| 62 | methods: { | ||
| 63 | loadData () { | ||
| 64 | getYydjList({ | ||
| 65 | bdcdyid: this.propsParam.bdcdyid, | ||
| 66 | qllx: this.propsParam.qllx, | ||
| 67 | qszt: this.checkList, | ||
| 68 | }).then((res) => { | ||
| 69 | if (res.code === 200) { | ||
| 70 | this.tableData = res.result; | ||
| 71 | if (this.tableData.length < datas.columns().emptycolNum) { | ||
| 72 | this.emptycolNum = | ||
| 73 | datas.columns().emptycolNum - this.tableData.length; | ||
| 74 | } else { | ||
| 75 | this.emptycolNum = 0; | ||
| 76 | } | ||
| 77 | } | ||
| 78 | }); | ||
| 79 | }, | ||
| 80 | checkChange () { | ||
| 81 | if (this.checkList.length === 0) { | ||
| 82 | this.tableData = []; | ||
| 83 | this.emptycolNum = datas.columns().emptycolNum; | ||
| 84 | } else { | ||
| 85 | this.loadData(); | ||
| 86 | } | ||
| 87 | }, | ||
| 88 | getQsztName (code) { | ||
| 89 | let name = ""; | ||
| 90 | for (let item of this.qsztList) { | ||
| 91 | if (item.value == code) { | ||
| 92 | name = item.label; | ||
| 93 | break; | ||
| 94 | } | ||
| 95 | } | ||
| 96 | return name; | ||
| 97 | }, | ||
| 98 | }, | ||
| 99 | }; | ||
| 100 | </script> | ||
| 101 | |||
| 102 | <style lang="scss" scoped> | ||
| 103 | @import "./qlxxCommon.scss"; | ||
| 104 | </style> |
src/views/djbBook/zdjbxx.vue
0 → 100644
| 1 | <!-- | ||
| 2 | * @Description :宗地基本信息 | ||
| 3 | * @Autor : miaofang | ||
| 4 | * @LastEditTime : 2023-05-31 13:59:27 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <div class="tableDivCss"> | ||
| 8 | <table cellpadding="0" cellspacing="0" class="tableCss"> | ||
| 9 | <tr> | ||
| 10 | <th colspan="5" class="title">宗地基本信息</th> | ||
| 11 | </tr> | ||
| 12 | <tr> | ||
| 13 | <td>单位</td> | ||
| 14 | <td colspan="4">{{ zdjbxx.mjdw | dictionary('A7') }}</td> | ||
| 15 | </tr> | ||
| 16 | <tr> | ||
| 17 | <td>不动产类型</td> | ||
| 18 | <td colspan="4">{{ bdclxList[zdjbxx.bdclx] }}</td> | ||
| 19 | </tr> | ||
| 20 | <tr> | ||
| 21 | <td>坐落</td> | ||
| 22 | <td colspan="4">{{ zdjbxx.zl }}</td> | ||
| 23 | </tr> | ||
| 24 | <tr> | ||
| 25 | <td rowspan="8">土地状况</td> | ||
| 26 | </tr> | ||
| 27 | <tr> | ||
| 28 | <td style="width:15%">宗地面积</td> | ||
| 29 | <td style="width:30%">{{ zdjbxx.zdmj }}</td> | ||
| 30 | <td style="width:15%">用途</td> | ||
| 31 | <td style="width:30%">{{ zdjbxx.ghytmc }}</td> | ||
| 32 | </tr> | ||
| 33 | <tr> | ||
| 34 | <td>等级</td> | ||
| 35 | <td>{{ zdjbxx.djmc }}</td> | ||
| 36 | <td>价格</td> | ||
| 37 | <td>{{ zdjbxx.jg }}</td> | ||
| 38 | </tr> | ||
| 39 | <tr> | ||
| 40 | <td>权利类型</td> | ||
| 41 | <td>{{ zdjbxx.qllxmc }}</td> | ||
| 42 | <td>权利性质</td> | ||
| 43 | <td>{{ zdjbxx.qlxzmc }}</td> | ||
| 44 | </tr> | ||
| 45 | <tr> | ||
| 46 | <td>权利设定方式</td> | ||
| 47 | <td>{{zdjbxx.qlsdfs | dictionary('A10')}}</td> | ||
| 48 | <td>容积率</td> | ||
| 49 | <td>{{ zdjbxx.rjl }}</td> | ||
| 50 | </tr> | ||
| 51 | <tr> | ||
| 52 | <td>建筑密度</td> | ||
| 53 | <td>{{ zdjbxx.jzmd }}</td> | ||
| 54 | <td>建筑限高</td> | ||
| 55 | <td>{{ zdjbxx.jzxg }}</td> | ||
| 56 | </tr> | ||
| 57 | <tr> | ||
| 58 | <td>图幅号</td> | ||
| 59 | <td>{{ zdjbxx.tfh }}</td> | ||
| 60 | <td>地籍号</td> | ||
| 61 | <td>{{ zdjbxx.djh }}</td> | ||
| 62 | </tr> | ||
| 63 | <tr> | ||
| 64 | <td>档案号</td> | ||
| 65 | <td>{{ zdjbxx.dah }}</td> | ||
| 66 | <td>地块代码</td> | ||
| 67 | <td>{{ zdjbxx.dkdm }}</td> | ||
| 68 | </tr> | ||
| 69 | <tr> | ||
| 70 | <td rowspan="5">宗地四至</td> | ||
| 71 | </tr> | ||
| 72 | |||
| 73 | <tr> | ||
| 74 | <td>东</td> | ||
| 75 | <td colspan="3">{{ zdjbxx.zdszd }}</td> | ||
| 76 | </tr> | ||
| 77 | <tr> | ||
| 78 | <td>南</td> | ||
| 79 | <td colspan="3">{{ zdjbxx.zdszn }}</td> | ||
| 80 | </tr> | ||
| 81 | <tr> | ||
| 82 | <td>西</td> | ||
| 83 | <td colspan="3">{{ zdjbxx.zdszx }}</td> | ||
| 84 | </tr> | ||
| 85 | <tr> | ||
| 86 | <td>北</td> | ||
| 87 | <td colspan="3">{{ zdjbxx.zdszb }}</td> | ||
| 88 | </tr> | ||
| 89 | <tr> | ||
| 90 | <td>登记时间</td> | ||
| 91 | <td colspan="2">{{ zdjbxx.bz }}</td> | ||
| 92 | <td>登簿人</td> | ||
| 93 | <td>{{ zdjbxx.bz }}</td> | ||
| 94 | </tr> | ||
| 95 | |||
| 96 | <tr> | ||
| 97 | <td>附记</td> | ||
| 98 | <td colspan="4">{{ zdjbxx.fj }}</td> | ||
| 99 | </tr> | ||
| 100 | <!-- <tr> | ||
| 101 | <td>状态</td> | ||
| 102 | <td colspan="2">{{ zdjbxx.zt }}</td> | ||
| 103 | <td>区县代码</td> | ||
| 104 | <td>{{ zdjbxx.qxdm }}</td> | ||
| 105 | </tr> --> | ||
| 106 | <tr v-if="showGroup"> | ||
| 107 | <td rowspan="4">变化情况</td> | ||
| 108 | |||
| 109 | <!-- <table cellspacing="0" cellpadding="0" :width="bhqkTableWidth"> | ||
| 110 | <tr v-for="(item, index) in bhqkColumns" :key="index"> | ||
| 111 | <td class="bhqkTh">{{ item.label }}</td> | ||
| 112 | </tr> | ||
| 113 | </table> --> | ||
| 114 | |||
| 115 | </tr> | ||
| 116 | |||
| 117 | <tr v-if="showGroup"> | ||
| 118 | <td>变化原因</td> | ||
| 119 | <td>变化内容</td> | ||
| 120 | <td>登记时间</td> | ||
| 121 | <td>登簿人</td> | ||
| 122 | </tr> | ||
| 123 | <!-- <tr > | ||
| 124 | <td>{{ zdbhqks[0].bhyy }}</td> | ||
| 125 | <td>{{ zdbhqks[0].bhnr }}</td> | ||
| 126 | <td>{{ zdbhqks[0].djsj }}</td> | ||
| 127 | <td>{{ zdbhqks[0].dbr }}</td> | ||
| 128 | </tr> --> | ||
| 129 | |||
| 130 | </table> | ||
| 131 | </div> | ||
| 132 | </template> | ||
| 133 | |||
| 134 | <script> | ||
| 135 | import store from '@/store/index.js' | ||
| 136 | import { getZdjjxxBybdcdyid } from "@/api/registerBook.js"; | ||
| 137 | |||
| 138 | export default { | ||
| 139 | data () { | ||
| 140 | return { | ||
| 141 | bhqkColumns: [ | ||
| 142 | { | ||
| 143 | prop: "ssywh", | ||
| 144 | label: "上手业务号", | ||
| 145 | }, | ||
| 146 | { | ||
| 147 | prop: "zddm", | ||
| 148 | label: "宗地代码", | ||
| 149 | }, | ||
| 150 | { | ||
| 151 | prop: "bhqzddm", | ||
| 152 | label: "变化前宗地代码", | ||
| 153 | }, | ||
| 154 | { | ||
| 155 | prop: "bhnr", | ||
| 156 | label: "变化内容", | ||
| 157 | }, | ||
| 158 | { | ||
| 159 | prop: "bhyy", | ||
| 160 | label: "变化原因", | ||
| 161 | }, | ||
| 162 | { | ||
| 163 | prop: "djsj", | ||
| 164 | label: "登记时间", | ||
| 165 | }, | ||
| 166 | { | ||
| 167 | prop: "dbr", | ||
| 168 | label: "登簿人", | ||
| 169 | }, | ||
| 170 | { | ||
| 171 | prop: "fj", | ||
| 172 | label: "附记", | ||
| 173 | }, | ||
| 174 | ], | ||
| 175 | bhqkTableWidth: 745, | ||
| 176 | zdjbxx: {}, | ||
| 177 | zdbhqks: [], | ||
| 178 | propsParam: this.$attrs, | ||
| 179 | showGroup: false, | ||
| 180 | bdclxList: ["", "宗地", "宗海", "自然幢", "多幢", "构筑物", "林权", "户"] | ||
| 181 | } | ||
| 182 | }, | ||
| 183 | filters: { | ||
| 184 | dictionary: function (value, param) { | ||
| 185 | const foundItem = store.getters.dictData[param].find(item => item.dcode === String(value)) | ||
| 186 | if (foundItem) { | ||
| 187 | return foundItem.dname | ||
| 188 | } | ||
| 189 | } | ||
| 190 | }, | ||
| 191 | created () { | ||
| 192 | this.loadData() | ||
| 193 | }, | ||
| 194 | methods: { | ||
| 195 | loadData () { | ||
| 196 | console.log("this.$attrs",this.$attrs); | ||
| 197 | console.log("this.propsParam",this.propsParam); | ||
| 198 | if(this.propsParam.bsmSldy){ | ||
| 199 | console.log("宗地基本信息"); | ||
| 200 | }else{ | ||
| 201 | console.log("登记簿里宗地基本信息"); | ||
| 202 | getZdjjxxBybdcdyid({ bdcdyid: this.propsParam.bdcdyid }).then((res) => { | ||
| 203 | if (res.code === 200) { | ||
| 204 | this.zdjbxx = res.result.zdjbxx; | ||
| 205 | this.zdbhqks = res.result.zdbhqkList; | ||
| 206 | if (this.zdbhqks != null && this.zdbhqks.length > 0) { | ||
| 207 | this.showGroup = true; | ||
| 208 | } | ||
| 209 | } | ||
| 210 | }) | ||
| 211 | } | ||
| 212 | |||
| 213 | } | ||
| 214 | } | ||
| 215 | } | ||
| 216 | </script> | ||
| 217 | <style lang="scss" scoped> | ||
| 218 | @import "~@/styles/tablecss.scss"; | ||
| 219 | </style> |
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-05-17 10:41:09 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <div> | ||
| 8 | <lb-table :column="column" border :maxHeight="300" heightNumSetting :pagination="false" :key="key" :data="tableDataList"> | ||
| 9 | </lb-table> | ||
| 10 | <addJtcy v-model="dialog" :details="details" @updateDetail="updateDetail" /> | ||
| 11 | </div> | ||
| 12 | </template> | ||
| 13 | <script> | ||
| 14 | import addJtcy from './addJtcy.vue' | ||
| 15 | import { mapGetters } from 'vuex' | ||
| 16 | export default { | ||
| 17 | components: { | ||
| 18 | addJtcy | ||
| 19 | }, | ||
| 20 | computed: { | ||
| 21 | ...mapGetters(["dictData"]), | ||
| 22 | }, | ||
| 23 | props: { | ||
| 24 | tableData: { | ||
| 25 | type: Array, | ||
| 26 | default: function () { | ||
| 27 | return [] | ||
| 28 | } | ||
| 29 | }, | ||
| 30 | gyfs: { | ||
| 31 | type: String, | ||
| 32 | default: '1' | ||
| 33 | } | ||
| 34 | }, | ||
| 35 | data () { | ||
| 36 | return { | ||
| 37 | key: 0, | ||
| 38 | dataIndex: 0, | ||
| 39 | dialog: false, | ||
| 40 | details: {}, | ||
| 41 | tableDataList: [], | ||
| 42 | qlrCommonTable: [ | ||
| 43 | { | ||
| 44 | width: '50', | ||
| 45 | renderHeader: (h, scope) => { | ||
| 46 | return <div> { | ||
| 47 | this.$route.query.viewtype == 1 ? '序号' : <i class="el-icon-plus pointer" onClick={() => { this.addClick() }}></i> | ||
| 48 | } | ||
| 49 | </div> | ||
| 50 | }, | ||
| 51 | render: (h, scope) => { | ||
| 52 | return ( | ||
| 53 | <div> | ||
| 54 | { | ||
| 55 | this.$route.query.viewtype == 1 ? <span>{scope.$index + 1}</span> : | ||
| 56 | <i class="el-icon-minus pointer" onClick={() => { this.deleClick(scope.$index, scope.row) }}></i> | ||
| 57 | } | ||
| 58 | </div> | ||
| 59 | ) | ||
| 60 | } | ||
| 61 | }, | ||
| 62 | { | ||
| 63 | label: '身份证读卡器', | ||
| 64 | align: 'center', | ||
| 65 | render: (h, scope) => { | ||
| 66 | return <el-button type="text" icon="el-icon-tickets" onClick={() => { this.readClick(scope) }}>读取</el-button> | ||
| 67 | } | ||
| 68 | }, | ||
| 69 | { | ||
| 70 | prop: "cyxm", | ||
| 71 | label: "成员姓名" | ||
| 72 | }, | ||
| 73 | { | ||
| 74 | prop: "sfzhm", | ||
| 75 | label: "身份证号码" | ||
| 76 | }, | ||
| 77 | { | ||
| 78 | prop: "dh", | ||
| 79 | label: "联系电话" | ||
| 80 | }, | ||
| 81 | { | ||
| 82 | label: '修改', | ||
| 83 | render: (h, scope) => { | ||
| 84 | return ( | ||
| 85 | <div> | ||
| 86 | { | ||
| 87 | this.$route.query.viewtype == 1 ? <el-button | ||
| 88 | icon="el-icon-view" | ||
| 89 | type="text" | ||
| 90 | onClick={() => { this.queryViewClick(scope.$index, scope.row) }}>查看</el-button> : <el-button | ||
| 91 | icon="el-icon-edit-outline" | ||
| 92 | type="text" | ||
| 93 | onClick={() => { this.editClick(scope.$index, scope.row) }}>编辑</el-button> | ||
| 94 | } | ||
| 95 | </div> | ||
| 96 | ) | ||
| 97 | } | ||
| 98 | } | ||
| 99 | ], | ||
| 100 | column: this.qlrCommonTable | ||
| 101 | } | ||
| 102 | }, | ||
| 103 | watch: { | ||
| 104 | tableData: { | ||
| 105 | handler: function (val, oldVal) { | ||
| 106 | let that = this | ||
| 107 | if (val.length == 0 || !val) { | ||
| 108 | that.tableDataList = _.cloneDeep([{ | ||
| 109 | sqrmc: '', | ||
| 110 | dlrzjlx: '', | ||
| 111 | dlrzjh: '', | ||
| 112 | fr: '' | ||
| 113 | }]) | ||
| 114 | } else { | ||
| 115 | that.tableDataList = _.cloneDeep(val) | ||
| 116 | } | ||
| 117 | }, | ||
| 118 | immediate: true, | ||
| 119 | deep: true | ||
| 120 | }, | ||
| 121 | gyfs: { | ||
| 122 | handler (newVal, oldValue) { | ||
| 123 | let dataList = _.cloneDeep(this.qlrCommonTable) | ||
| 124 | if (newVal == '1') { | ||
| 125 | this.column = _.cloneDeep(dataList).slice(1, dataList.length) | ||
| 126 | } else { | ||
| 127 | this.column = dataList | ||
| 128 | } | ||
| 129 | }, | ||
| 130 | immediate: true | ||
| 131 | } | ||
| 132 | }, | ||
| 133 | methods: { | ||
| 134 | updateDetail (value) { | ||
| 135 | this.tableDataList[this.dataIndex] = value | ||
| 136 | this.key++ | ||
| 137 | this.$emit('upDateJtcyList', this.tableDataList) | ||
| 138 | }, | ||
| 139 | |||
| 140 | // 新增 | ||
| 141 | addClick () { | ||
| 142 | this.dialog = true | ||
| 143 | }, | ||
| 144 | |||
| 145 | // 删除 | ||
| 146 | deleClick (index, row) { | ||
| 147 | this.tableData.splice(index, 1) | ||
| 148 | }, | ||
| 149 | |||
| 150 | // 身份证读取 | ||
| 151 | readClick () { }, | ||
| 152 | |||
| 153 | // 修改 | ||
| 154 | editClick (index, row) { | ||
| 155 | console.log(row, 'rowrowrowrowrow'); | ||
| 156 | this.dataIndex = index | ||
| 157 | this.dialog = true | ||
| 158 | this.details = row | ||
| 159 | }, | ||
| 160 | |||
| 161 | queryViewClick () { | ||
| 162 | this.dialog = true | ||
| 163 | } | ||
| 164 | } | ||
| 165 | } | ||
| 166 | </script> | ||
| 167 | <style scoped lang='scss'> | ||
| 168 | </style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
src/views/djbworkflow/components/addJtcy.vue
0 → 100644
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-05-17 10:40:28 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <dialogBox title="家庭成员信息" width="60%" isMain v-model="myValue" :isFullscreen="false" @submitForm="submitForm" | ||
| 8 | @closeDialog="closeDialog"> | ||
| 9 | <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="120px"> | ||
| 10 | <el-row> | ||
| 11 | <el-col :span="8"> | ||
| 12 | <el-form-item label="姓名/名称" prop="cyxm"> | ||
| 13 | <el-input v-model="ruleForm.cyxm" maxlegth="15"></el-input> | ||
| 14 | </el-form-item> | ||
| 15 | </el-col> | ||
| 16 | <el-col :span="8"> | ||
| 17 | <el-form-item label="家庭关系" prop="jtgxdm"> | ||
| 18 | <el-select clearable v-model="ruleForm.jtgxdm" class="width100" placeholder="请选择"> | ||
| 19 | <el-option v-for="item in jtgx" :key="item.value" :label="item.label" :value="item.value"> | ||
| 20 | </el-option> | ||
| 21 | </el-select> | ||
| 22 | </el-form-item> | ||
| 23 | </el-col> | ||
| 24 | <el-col :span="8"> | ||
| 25 | <el-form-item label="承包方代码" prop="cbfdm"> | ||
| 26 | <el-input v-model="ruleForm.cbfdm" maxlegth="15"></el-input> | ||
| 27 | </el-form-item> | ||
| 28 | </el-col> | ||
| 29 | </el-row> | ||
| 30 | <el-row> | ||
| 31 | <el-col :span="8"> | ||
| 32 | <el-form-item label="身份证号码" prop="zjh"> | ||
| 33 | <el-input v-model="ruleForm.sfzhm" maxlength="15" oninput="this.value=this.value.replace(/[^\X0-9]/g,'')"></el-input> | ||
| 34 | </el-form-item> | ||
| 35 | </el-col> | ||
| 36 | <el-col :span="8"> | ||
| 37 | <el-form-item label="联系电话" prop="dh"> | ||
| 38 | <el-input v-model="ruleForm.dh" maxlength="11" oninput="value=value.replace(/[^\d]/g,'')"></el-input> | ||
| 39 | </el-form-item> | ||
| 40 | </el-col> | ||
| 41 | <el-col :span="8"> | ||
| 42 | <el-form-item label="性别"> | ||
| 43 | <el-select clearable v-model="ruleForm.xb" class="width100" placeholder="请选择"> | ||
| 44 | <el-option v-for="item in dictData['A43']" :key="item.dcode" :label="item.dname" :value="item.dcode"> | ||
| 45 | </el-option> | ||
| 46 | </el-select> | ||
| 47 | </el-form-item> | ||
| 48 | </el-col> | ||
| 49 | </el-row> | ||
| 50 | <el-row> | ||
| 51 | <el-col :span="8"> | ||
| 52 | <el-form-item label="发证机关"> | ||
| 53 | <el-input v-model="ruleForm.fzjg"></el-input> | ||
| 54 | </el-form-item> | ||
| 55 | </el-col> | ||
| 56 | <el-col :span="8"> | ||
| 57 | <el-form-item label="所属行业"> | ||
| 58 | <el-input v-model="ruleForm.sshy"></el-input> | ||
| 59 | </el-form-item> | ||
| 60 | </el-col> | ||
| 61 | <el-col :span="8"> | ||
| 62 | <el-form-item label="国家/地区"> | ||
| 63 | <el-input v-model="ruleForm.gj"></el-input> | ||
| 64 | </el-form-item> | ||
| 65 | </el-col> | ||
| 66 | </el-row> | ||
| 67 | |||
| 68 | <el-row> | ||
| 69 | <el-col :span="8"> | ||
| 70 | <el-form-item label="户籍所在省市"> | ||
| 71 | <el-input v-model="ruleForm.hjszss"></el-input> | ||
| 72 | </el-form-item> | ||
| 73 | </el-col> | ||
| 74 | <el-col :span="16"> | ||
| 75 | <el-form-item label="地址"> | ||
| 76 | <el-input v-model="ruleForm.dz"></el-input> | ||
| 77 | </el-form-item> | ||
| 78 | </el-col> | ||
| 79 | </el-row> | ||
| 80 | |||
| 81 | <el-row> | ||
| 82 | <el-col :span="8"> | ||
| 83 | <el-form-item label="邮编"> | ||
| 84 | <el-input v-model="ruleForm.yb"></el-input> | ||
| 85 | </el-form-item> | ||
| 86 | </el-col> | ||
| 87 | <el-col :span="16"> | ||
| 88 | <el-form-item label="工作单位"> | ||
| 89 | <el-input v-model="ruleForm.gzdw"></el-input> | ||
| 90 | </el-form-item> | ||
| 91 | </el-col> | ||
| 92 | </el-row> | ||
| 93 | <el-row> | ||
| 94 | <el-col :span="8"> | ||
| 95 | <el-form-item label="电子邮件"> | ||
| 96 | <el-input v-model="ruleForm.dzyj"></el-input> | ||
| 97 | </el-form-item> | ||
| 98 | </el-col> | ||
| 99 | <el-col :span="8"> | ||
| 100 | <el-form-item label="是否共有人"> | ||
| 101 | <el-input v-model="ruleForm.gzdw"></el-input> | ||
| 102 | </el-form-item> | ||
| 103 | </el-col> | ||
| 104 | </el-row> | ||
| 105 | </el-form> | ||
| 106 | </dialogBox> | ||
| 107 | </template> | ||
| 108 | <script> | ||
| 109 | import { mapGetters } from 'vuex' | ||
| 110 | export default { | ||
| 111 | props: { | ||
| 112 | value: { type: Boolean, default: false }, | ||
| 113 | details: { type: Object, default: {} } | ||
| 114 | }, | ||
| 115 | computed: { | ||
| 116 | ...mapGetters(["dictData"]), | ||
| 117 | }, | ||
| 118 | data () { | ||
| 119 | return { | ||
| 120 | myValue: this.value, | ||
| 121 | jtgx: [ | ||
| 122 | { value: '0', label: '本人或户主' }, | ||
| 123 | { value: '1', label: '配偶' }, | ||
| 124 | { value: '2', label: '子' }, | ||
| 125 | { value: '3', label: '女' }, | ||
| 126 | { value: '4', label: '子孙、孙女、外孙子、外孙女' }, | ||
| 127 | { value: '5', label: '父母' }, | ||
| 128 | { value: '6', label: '祖父母、外祖父母' }, | ||
| 129 | { value: '7', label: '兄、弟、姐、妹' }, | ||
| 130 | { value: '8', label: '其他' }, | ||
| 131 | ], | ||
| 132 | ruleForm: { | ||
| 133 | qlrlx: '', | ||
| 134 | sqrmc: '', | ||
| 135 | zjzl: '', | ||
| 136 | zjh: '', | ||
| 137 | dh: '', | ||
| 138 | xb: '', | ||
| 139 | frmc: '', | ||
| 140 | gjdq: '', | ||
| 141 | szss: '', | ||
| 142 | dz: '', | ||
| 143 | yb: '', | ||
| 144 | fzjg: '', | ||
| 145 | dzyj: '', | ||
| 146 | qlbl: '', | ||
| 147 | gzdw: '', | ||
| 148 | dljg: '', | ||
| 149 | dlrxm: '', | ||
| 150 | dlrzjlx: '', | ||
| 151 | dlrzjh: '' | ||
| 152 | }, | ||
| 153 | rules: { | ||
| 154 | qlrlx: [ | ||
| 155 | { required: true, message: '权利人类型', trigger: 'change' } | ||
| 156 | ], | ||
| 157 | sqrmc: [ | ||
| 158 | { required: true, message: '姓名/名称', trigger: 'blur' } | ||
| 159 | ], | ||
| 160 | zjzl: [ | ||
| 161 | { required: true, message: '证件种类', trigger: 'change' } | ||
| 162 | ], | ||
| 163 | zjh: [ | ||
| 164 | { required: true, message: '证件号', trigger: 'blur' } | ||
| 165 | ] | ||
| 166 | } | ||
| 167 | } | ||
| 168 | }, | ||
| 169 | watch: { | ||
| 170 | value (val) { | ||
| 171 | this.myValue = _.cloneDeep(val) | ||
| 172 | }, | ||
| 173 | details: { | ||
| 174 | handler: function (val, oldVal) { | ||
| 175 | this.ruleForm = val | ||
| 176 | }, | ||
| 177 | deep: true | ||
| 178 | } | ||
| 179 | }, | ||
| 180 | methods: { | ||
| 181 | closeDialog () { | ||
| 182 | this.$emit("input", false); | ||
| 183 | this.$refs['ruleForm'].resetFields(); | ||
| 184 | }, | ||
| 185 | submitForm () { | ||
| 186 | this.$emit("input", false); | ||
| 187 | this.$emit("updateDetail", _.cloneDeep(this.ruleForm)); | ||
| 188 | // this.$refs['ruleForm'].validate((valid) => { | ||
| 189 | // if (valid) { | ||
| 190 | // this.$message({ | ||
| 191 | // message: '修改成功!', | ||
| 192 | // type: 'success' | ||
| 193 | // }) | ||
| 194 | |||
| 195 | // } else { | ||
| 196 | // this.$message.error('请完善必填项'); | ||
| 197 | // } | ||
| 198 | // }) | ||
| 199 | } | ||
| 200 | } | ||
| 201 | } | ||
| 202 | </script> | ||
| 203 | <style scoped lang="scss"> | ||
| 204 | .submit-button { | ||
| 205 | text-align: center; | ||
| 206 | height: 52px; | ||
| 207 | padding-top: 10px; | ||
| 208 | background-color: #fff; | ||
| 209 | } | ||
| 210 | </style> |
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-04-26 16:05:28 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <div class='batchDel'> | ||
| 8 | <lb-table :column="columns" :data="formData.dataList" :maxHeight="460" :heightNumSetting="true" :pagination="false" | ||
| 9 | @selection-change="handleSelectionChange"> | ||
| 10 | </lb-table> | ||
| 11 | <div class="text-center"> | ||
| 12 | <el-button @click="$popupCacel">取消</el-button> | ||
| 13 | <el-button type="primary" @click="submitdelclick" plain>确定</el-button> | ||
| 14 | </div> | ||
| 15 | </div> | ||
| 16 | </template> | ||
| 17 | <script> | ||
| 18 | import { deleteFlow } from "@/api/ywbl.js" | ||
| 19 | import store from '@/store/index.js' | ||
| 20 | export default { | ||
| 21 | components: {}, | ||
| 22 | props: { | ||
| 23 | formData: { | ||
| 24 | type: Object, | ||
| 25 | default: {} | ||
| 26 | } | ||
| 27 | }, | ||
| 28 | data () { | ||
| 29 | return { | ||
| 30 | columns: [ | ||
| 31 | { | ||
| 32 | type: 'selection', | ||
| 33 | label: '全选' | ||
| 34 | }, | ||
| 35 | { | ||
| 36 | label: '序号', | ||
| 37 | type: 'index', | ||
| 38 | width: '50', | ||
| 39 | }, | ||
| 40 | { | ||
| 41 | prop: "bdcdyh", | ||
| 42 | label: "不动产单元号", | ||
| 43 | }, | ||
| 44 | { | ||
| 45 | prop: "zl", | ||
| 46 | label: "坐落", | ||
| 47 | }, | ||
| 48 | ], | ||
| 49 | dataList: [], | ||
| 50 | selectBdcdy: [], | ||
| 51 | } | ||
| 52 | }, | ||
| 53 | methods: { | ||
| 54 | // 批量删除确定按钮 | ||
| 55 | submitdelclick () { | ||
| 56 | var formdata = new FormData(); | ||
| 57 | formdata.append("bsmSldyList", this.selectBdcdy); | ||
| 58 | formdata.append("bsmSlsq", this.formData.bsmSlsq); | ||
| 59 | deleteFlow(formdata).then(res => { | ||
| 60 | if (res.code == 200) { | ||
| 61 | this.$popupCacel(); | ||
| 62 | store.dispatch('user/refreshPage', true); | ||
| 63 | this.$message.success("删除成功"); | ||
| 64 | } else { | ||
| 65 | this.$message.error(res.message) | ||
| 66 | } | ||
| 67 | }) | ||
| 68 | }, | ||
| 69 | // 批量删除勾选事件 | ||
| 70 | handleSelectionChange (e) { | ||
| 71 | this.selectBdcdy = []; | ||
| 72 | e.forEach((item, index) => { | ||
| 73 | this.selectBdcdy.push(item.bsmSldy) | ||
| 74 | }) | ||
| 75 | } | ||
| 76 | } | ||
| 77 | } | ||
| 78 | </script> | ||
| 79 | <style scoped lang='scss'> | ||
| 80 | </style> |
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-05-17 10:40:48 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <lb-table :column="column" :maxHeight="200" :heightNumSetting="true" :pagination="false" :key="key" :data="tableData"> | ||
| 8 | </lb-table> | ||
| 9 | </template> | ||
| 10 | <script> | ||
| 11 | import addQlr from './dialog/addQlr.vue' | ||
| 12 | import { mapGetters } from 'vuex' | ||
| 13 | export default { | ||
| 14 | components: { | ||
| 15 | addQlr | ||
| 16 | }, | ||
| 17 | computed: { | ||
| 18 | ...mapGetters(["dictData"]), | ||
| 19 | }, | ||
| 20 | props: { | ||
| 21 | tableData: { | ||
| 22 | type: Array, | ||
| 23 | default: function () { | ||
| 24 | return [] | ||
| 25 | } | ||
| 26 | }, | ||
| 27 | gyfs: { | ||
| 28 | type: String, | ||
| 29 | default: '1' | ||
| 30 | } | ||
| 31 | }, | ||
| 32 | data () { | ||
| 33 | return { | ||
| 34 | key: 0, | ||
| 35 | dataIndex: 0, | ||
| 36 | dialog: false, | ||
| 37 | details: {}, | ||
| 38 | tableDataList: [], | ||
| 39 | qlrCommonTable: [ | ||
| 40 | { | ||
| 41 | label: '序号', | ||
| 42 | type: 'index', | ||
| 43 | width: '50', | ||
| 44 | render: (h, scope) => { | ||
| 45 | return ( | ||
| 46 | <div> | ||
| 47 | {scope.$index + 1} | ||
| 48 | </div> | ||
| 49 | ) | ||
| 50 | } | ||
| 51 | }, | ||
| 52 | { | ||
| 53 | prop: "qllxmc", | ||
| 54 | label: "权利类型" | ||
| 55 | }, | ||
| 56 | { | ||
| 57 | prop: "bdcqzh", | ||
| 58 | label: "不动产权证号" | ||
| 59 | }, | ||
| 60 | { | ||
| 61 | prop: "qlrmc", | ||
| 62 | label: "权利人" | ||
| 63 | }, | ||
| 64 | { | ||
| 65 | prop: "ytmc", | ||
| 66 | label: "用途" | ||
| 67 | }, | ||
| 68 | { | ||
| 69 | prop: "mj", | ||
| 70 | label: "面积" | ||
| 71 | }, | ||
| 72 | { | ||
| 73 | prop: "zl", | ||
| 74 | label: "坐落" | ||
| 75 | }, | ||
| 76 | ], | ||
| 77 | column: this.qlrCommonTable | ||
| 78 | } | ||
| 79 | }, | ||
| 80 | watch: { | ||
| 81 | tableData: { | ||
| 82 | handler: function (val, oldVal) { | ||
| 83 | let that = this | ||
| 84 | if (val.length == 0 || !val) { | ||
| 85 | that.tableDataList = _.cloneDeep([{ | ||
| 86 | sqrmc: '', | ||
| 87 | dlrzjlx: '', | ||
| 88 | dlrzjh: '', | ||
| 89 | fr: '' | ||
| 90 | }]) | ||
| 91 | } else { | ||
| 92 | that.tableDataList = _.cloneDeep(val) | ||
| 93 | } | ||
| 94 | }, | ||
| 95 | immediate: true, | ||
| 96 | deep: true | ||
| 97 | }, | ||
| 98 | gyfs: { | ||
| 99 | handler (newVal, oldValue) { | ||
| 100 | let dataList = _.cloneDeep(this.qlrCommonTable) | ||
| 101 | if (newVal == '1') { | ||
| 102 | this.column = _.cloneDeep(dataList).slice(1, dataList.length) | ||
| 103 | } else if ((newVal == '2')) { | ||
| 104 | this.column = dataList | ||
| 105 | } else { | ||
| 106 | this.column = _.cloneDeep(dataList) | ||
| 107 | this.column.splice( | ||
| 108 | 2, 0, { | ||
| 109 | prop: "fs", | ||
| 110 | label: "份数" | ||
| 111 | }) | ||
| 112 | } | ||
| 113 | }, | ||
| 114 | immediate: true | ||
| 115 | } | ||
| 116 | }, | ||
| 117 | methods: { | ||
| 118 | } | ||
| 119 | } | ||
| 120 | </script> | ||
| 121 | <style scoped lang='scss'> | ||
| 122 | </style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
src/views/djbworkflow/components/clxx.vue
0 → 100644
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-05-17 10:40:46 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <div class="clxx"> | ||
| 8 | <div class="left"> | ||
| 9 | <div v-for="item in menuList" :key="item.id" :class="['item', checkedId == item.id ? 'active' : '']" | ||
| 10 | @click="menuClick(item)"> | ||
| 11 | {{ item.label }} | ||
| 12 | </div> | ||
| 13 | </div> | ||
| 14 | <div class="right"> | ||
| 15 | <!-- 材料目录明细 --> | ||
| 16 | <div class="clmlmx-box" v-if="checkedId == '1'"> | ||
| 17 | <div class="title">申请材料目录</div> | ||
| 18 | <lb-table :column="column" :key="key" :heightNum="150" :pagination="false" :data="tableData"> | ||
| 19 | </lb-table> | ||
| 20 | </div> | ||
| 21 | <!-- 材料预览 --> | ||
| 22 | <div class="clyl-box" v-else> | ||
| 23 | <div class="menu-tree"> | ||
| 24 | <div class="item"> | ||
| 25 | 材料目录({{tableData.length}}) | ||
| 26 | <div> | ||
| 27 | <div v-for="(item,index) in tableData" :key="item.bsmSj" | ||
| 28 | :class="['child', treeCheckId == item.bsmSj ? 'checked' : '']" @click="treeClick(item,index)"> | ||
| 29 | <span v-if="item.isrequired==1" class="required">必选</span> | ||
| 30 | {{ item.sjmc }} | ||
| 31 | <span class="cl_number">({{item.children.length}})</span> | ||
| 32 | </div> | ||
| 33 | </div> | ||
| 34 | </div> | ||
| 35 | </div> | ||
| 36 | <image-preview ref='imageRef' :previewImg="previewImg" @updateList="updateList" @nextPriview="nextPriview" | ||
| 37 | @prevPriview="prevPriview" /> | ||
| 38 | </div> | ||
| 39 | </div> | ||
| 40 | <clxxAddDialog v-model="isDialog" /> | ||
| 41 | </div> | ||
| 42 | </template> | ||
| 43 | <script> | ||
| 44 | import { mapGetters } from "vuex"; | ||
| 45 | import clxxAddDialog from "./dialog/clxxAddDialog.vue"; | ||
| 46 | import imagePreview from '@/views/components/imagePreview.vue' | ||
| 47 | import { InitClml, saveClml, deleteSjClml, moveClml } from "@/api/clxx.js"; | ||
| 48 | export default { | ||
| 49 | components: { clxxAddDialog, imagePreview }, | ||
| 50 | data () { | ||
| 51 | return { | ||
| 52 | isDialog: false, | ||
| 53 | menuList: [ | ||
| 54 | { | ||
| 55 | id: "1", | ||
| 56 | label: "材料目录明细", | ||
| 57 | }, | ||
| 58 | { | ||
| 59 | id: "2", | ||
| 60 | label: "材料预览", | ||
| 61 | }, | ||
| 62 | ], | ||
| 63 | iclass: "", | ||
| 64 | // 材料目录选中 | ||
| 65 | treeCheckIndex: 0, | ||
| 66 | treeCheckId: "", | ||
| 67 | checkedId: "1", | ||
| 68 | column: [ | ||
| 69 | { | ||
| 70 | width: "50", | ||
| 71 | renderHeader: (h, scope) => { | ||
| 72 | return ( | ||
| 73 | <div> | ||
| 74 | { | ||
| 75 | this.$route.query.viewtype == 1 ? '序号' : | ||
| 76 | <i | ||
| 77 | class="el-icon-plus pointer" | ||
| 78 | onClick={() => { | ||
| 79 | this.handleAdd() | ||
| 80 | }} | ||
| 81 | ></i> | ||
| 82 | } | ||
| 83 | </div> | ||
| 84 | ) | ||
| 85 | }, | ||
| 86 | render: (h, scope) => { | ||
| 87 | // 新建的材料,可删除 | ||
| 88 | // v-show='scope.row.sfxjcl == 1' | ||
| 89 | return ( | ||
| 90 | <div> | ||
| 91 | { | ||
| 92 | this.$route.query.viewtype == 1 ? <span>{scope.$index + 1}</span> : | ||
| 93 | <i | ||
| 94 | class="el-icon-minus pointer" | ||
| 95 | |||
| 96 | onClick={() => { | ||
| 97 | this.handleDelete(scope.$index, scope.row); | ||
| 98 | }} | ||
| 99 | ></i> | ||
| 100 | } | ||
| 101 | </div> | ||
| 102 | ) | ||
| 103 | } | ||
| 104 | }, | ||
| 105 | { | ||
| 106 | prop: "isrequired", | ||
| 107 | label: "是否必选", | ||
| 108 | width: "50", | ||
| 109 | render: (h, scope) => { | ||
| 110 | if (scope.row.sfxjcl === "1") { | ||
| 111 | return ( | ||
| 112 | <div> | ||
| 113 | <span>可选</span> | ||
| 114 | </div> | ||
| 115 | ); | ||
| 116 | } | ||
| 117 | else { | ||
| 118 | return ( | ||
| 119 | <div> | ||
| 120 | <span>必选</span> | ||
| 121 | </div> | ||
| 122 | ); | ||
| 123 | } | ||
| 124 | }, | ||
| 125 | }, | ||
| 126 | { | ||
| 127 | prop: "sjmc", | ||
| 128 | label: "材料名称", | ||
| 129 | }, | ||
| 130 | { | ||
| 131 | prop: "sjlx", | ||
| 132 | label: "材料类型", | ||
| 133 | width: "80", | ||
| 134 | render: (h, scope) => { | ||
| 135 | return ( | ||
| 136 | <div> | ||
| 137 | <span>{this.dicStatus(scope.row.sjlx, "A40")}</span> | ||
| 138 | </div> | ||
| 139 | ); | ||
| 140 | }, | ||
| 141 | }, | ||
| 142 | { | ||
| 143 | prop: "sjsl", | ||
| 144 | label: "份数", | ||
| 145 | width: "50" | ||
| 146 | }, | ||
| 147 | { | ||
| 148 | prop: "smzt", | ||
| 149 | label: "扫描状态", | ||
| 150 | width: "80", | ||
| 151 | render: (h, scope) => { | ||
| 152 | if (scope.row.children.length > 0) { | ||
| 153 | return ( | ||
| 154 | <div> | ||
| 155 | <span>已扫描</span> | ||
| 156 | </div> | ||
| 157 | ); | ||
| 158 | } else { | ||
| 159 | return ( | ||
| 160 | <div> | ||
| 161 | <span>未扫描</span> | ||
| 162 | </div> | ||
| 163 | ); | ||
| 164 | } | ||
| 165 | }, | ||
| 166 | }, | ||
| 167 | { | ||
| 168 | prop: "ys", | ||
| 169 | label: "扫描页数", | ||
| 170 | width: "50" | ||
| 171 | }, | ||
| 172 | { | ||
| 173 | label: "操作", | ||
| 174 | width: "80", | ||
| 175 | render: (h, scope) => { | ||
| 176 | return ( | ||
| 177 | <div> | ||
| 178 | <el-button | ||
| 179 | type="text" | ||
| 180 | disabled={scope.$index == 0} | ||
| 181 | onClick={() => { | ||
| 182 | this.moveUpward(scope.$index, scope.row); | ||
| 183 | }} | ||
| 184 | > | ||
| 185 | 上移 | ||
| 186 | </el-button> | ||
| 187 | <el-button | ||
| 188 | type="text" | ||
| 189 | disabled={scope.$index + 1 == this.tableData.length} | ||
| 190 | onClick={() => { | ||
| 191 | this.moveDown(scope.$index, scope.row); | ||
| 192 | }} | ||
| 193 | > | ||
| 194 | 下移 | ||
| 195 | </el-button> | ||
| 196 | </div> | ||
| 197 | ); | ||
| 198 | }, | ||
| 199 | }, | ||
| 200 | ], | ||
| 201 | key: 0, | ||
| 202 | tableData: [], | ||
| 203 | previewImg: { | ||
| 204 | // 收件标识码 | ||
| 205 | bsmSj: '', | ||
| 206 | bsmSlsq: this.$parent.bsmSlsq, | ||
| 207 | index: 0, | ||
| 208 | selectedIndex: 0, | ||
| 209 | imgList: [] | ||
| 210 | } | ||
| 211 | } | ||
| 212 | }, | ||
| 213 | computed: { | ||
| 214 | ...mapGetters(["dictData"]) | ||
| 215 | }, | ||
| 216 | created () { | ||
| 217 | this.clmlInitList() | ||
| 218 | }, | ||
| 219 | methods: { | ||
| 220 | // 自动预览 | ||
| 221 | nextPriview () { | ||
| 222 | if (this.treeCheckIndex < this.tableData.length) { | ||
| 223 | this.treeCheckIndex++ | ||
| 224 | this.treeCheckId = this.tableData[this.treeCheckIndex].bsmSj | ||
| 225 | this.previewImg.index = 0 | ||
| 226 | this.previewImg.imgList = this.tableData[this.treeCheckIndex].children | ||
| 227 | this.previewImg.bsmSj = this.tableData[this.treeCheckIndex].bsmSj | ||
| 228 | } | ||
| 229 | }, | ||
| 230 | prevPriview () { | ||
| 231 | if (this.treeCheckIndex >= 1) { | ||
| 232 | this.treeCheckIndex-- | ||
| 233 | this.treeCheckId = this.tableData[this.treeCheckIndex].bsmSj | ||
| 234 | this.previewImg.index = this.previewImg.imgList.length | ||
| 235 | this.previewImg.imgList = this.tableData[this.treeCheckIndex].children | ||
| 236 | this.previewImg.bsmSj = this.tableData[this.treeCheckIndex].bsmSj | ||
| 237 | } | ||
| 238 | }, | ||
| 239 | // 材料目录明细初始化 | ||
| 240 | clmlInitList () { | ||
| 241 | return new Promise(resolve => { | ||
| 242 | this.unitData = this.$parent.unitData; | ||
| 243 | var formdata = new FormData(); | ||
| 244 | formdata.append("bsmSldy", this.unitData[0]?.bsmSldy); | ||
| 245 | formdata.append("bsmSlsq", this.$parent.bsmSlsq); | ||
| 246 | InitClml(formdata).then((res) => { | ||
| 247 | if (res.result.code == 200) { | ||
| 248 | resolve(res.code) | ||
| 249 | if (res.result.result && res.result.result.length > 0) { | ||
| 250 | this.tableData = res.result.result; | ||
| 251 | this.treeCheckId = this.tableData[0].bsmSj; | ||
| 252 | this.title = this.tableData[0].sjmc; | ||
| 253 | this.titleYs = 1; | ||
| 254 | this.titleNum = this.tableData[0].children.length; | ||
| 255 | |||
| 256 | this.previewImg.imgList = this.tableData[0]?.children; | ||
| 257 | this.previewImg.bsmSj = this.tableData[0]?.bsmSj; | ||
| 258 | } | ||
| 259 | } else { | ||
| 260 | this.$message.error(res.result.message) | ||
| 261 | } | ||
| 262 | }) | ||
| 263 | }) | ||
| 264 | }, | ||
| 265 | updateList (val) { | ||
| 266 | let that = this | ||
| 267 | if (val != null) { //删除最后一张图片时 val=null | ||
| 268 | this.tableData.forEach(item => { | ||
| 269 | if (item.bsmSj === val.bsmSj) { | ||
| 270 | item.children = val.children | ||
| 271 | } | ||
| 272 | }) | ||
| 273 | this.previewImg.imgList = _.cloneDeep(val.children) | ||
| 274 | if (this.previewImg.index == this.previewImg.imgList.length) { | ||
| 275 | this.previewImg.index = this.previewImg.index - 1 | ||
| 276 | } | ||
| 277 | } else { | ||
| 278 | this.previewImg.imgList = [] | ||
| 279 | this.tableData.forEach((item, index) => { | ||
| 280 | if (this.treeCheckId == item.bsmSj) { | ||
| 281 | item.children = [] | ||
| 282 | that.treeCheckIndex = index | ||
| 283 | } | ||
| 284 | }) | ||
| 285 | } | ||
| 286 | |||
| 287 | }, | ||
| 288 | // 左侧菜单点击 | ||
| 289 | menuClick (item) { | ||
| 290 | this.checkedId = item.id | ||
| 291 | }, | ||
| 292 | // 添加材料目录 | ||
| 293 | handleAdd () { | ||
| 294 | this.isDialog = true; | ||
| 295 | }, | ||
| 296 | // 上移 | ||
| 297 | moveUpward (index, row) { | ||
| 298 | let obj = { | ||
| 299 | xh: row.xh, | ||
| 300 | bsmSlsq: row.bsmSlsq, | ||
| 301 | moveDirection: "UP", | ||
| 302 | }; | ||
| 303 | // 接口待调 | ||
| 304 | moveClml(obj).then(async (res) => { | ||
| 305 | if (res.code == 200) { | ||
| 306 | let res = await this.clmlInitList() | ||
| 307 | if (res == 200) this.$message({ | ||
| 308 | message: '上移成功', | ||
| 309 | type: 'success' | ||
| 310 | }) | ||
| 311 | } else { | ||
| 312 | this.$message.error(res.message); | ||
| 313 | } | ||
| 314 | }) | ||
| 315 | }, | ||
| 316 | // 下移 | ||
| 317 | moveDown (index, row) { | ||
| 318 | let obj = { | ||
| 319 | xh: row.xh, | ||
| 320 | bsmSlsq: row.bsmSlsq, | ||
| 321 | moveDirection: "DOWN", | ||
| 322 | } | ||
| 323 | // 接口待调 | ||
| 324 | moveClml(obj).then(async (res) => { | ||
| 325 | if (res.code == 200) { | ||
| 326 | let res = await this.clmlInitList() | ||
| 327 | if (res == 200) this.$message({ | ||
| 328 | message: '下移成功', | ||
| 329 | type: 'success' | ||
| 330 | }) | ||
| 331 | } else { | ||
| 332 | this.$message.error(res.message); | ||
| 333 | } | ||
| 334 | }) | ||
| 335 | }, | ||
| 336 | // 新增弹窗保存 | ||
| 337 | addSave (data) { | ||
| 338 | let obj = { | ||
| 339 | bsmSlsq: this.$parent.bsmSlsq, | ||
| 340 | isrequired: "1", | ||
| 341 | sjmc: data.clmc, | ||
| 342 | sjsl: 0, | ||
| 343 | smzt: '', | ||
| 344 | ys: 0, | ||
| 345 | sjlx: data.cllx, | ||
| 346 | sfxjcl: "1", // 是否必选 | ||
| 347 | }; | ||
| 348 | saveClml(obj).then(async (res) => { | ||
| 349 | if (res.code == 200) { | ||
| 350 | let res = await this.clmlInitList() | ||
| 351 | if (res == 200) this.$message({ | ||
| 352 | message: "新增成功", | ||
| 353 | type: "success", | ||
| 354 | }) | ||
| 355 | } | ||
| 356 | }); | ||
| 357 | }, | ||
| 358 | // 材料目录删除 | ||
| 359 | handleDelete (index, row) { | ||
| 360 | let that = this | ||
| 361 | this.$confirm('此操作将永久删除该 是否继续?', '提示', { | ||
| 362 | confirmButtonText: '确定', | ||
| 363 | cancelButtonText: '取消', | ||
| 364 | type: 'warning' | ||
| 365 | }).then(() => { | ||
| 366 | deleteSjClml({ sjBsm: row.bsmSj }).then(async (res) => { | ||
| 367 | if (res.code == 200) { | ||
| 368 | let res = await that.clmlInitList() | ||
| 369 | if (res == 200) that.$message({ | ||
| 370 | message: "删除成功", | ||
| 371 | type: "success", | ||
| 372 | }) | ||
| 373 | } | ||
| 374 | }) | ||
| 375 | }).catch(() => { | ||
| 376 | this.$message({ | ||
| 377 | type: 'info', | ||
| 378 | message: '已取消删除' | ||
| 379 | }) | ||
| 380 | }) | ||
| 381 | }, | ||
| 382 | // 材料目录点击选中 | ||
| 383 | treeClick (item, index) { | ||
| 384 | this.previewImg.index = 0 | ||
| 385 | this.treeCheckId = item?.bsmSj | ||
| 386 | this.treeCheckIndex = index | ||
| 387 | this.previewImg.imgList = item?.children | ||
| 388 | this.previewImg.bsmSj = item?.bsmSj | ||
| 389 | }, | ||
| 390 | // 小图片点击 | ||
| 391 | imgClick (item, index) { | ||
| 392 | this.showImg = item; | ||
| 393 | this.titleYs = index + 1; | ||
| 394 | }, | ||
| 395 | // 字典 | ||
| 396 | dicStatus (val, code) { | ||
| 397 | let data = this.$store.getters.dictData[code], | ||
| 398 | name = "暂无"; | ||
| 399 | if (data) { | ||
| 400 | data.map((item) => { | ||
| 401 | if (item.dcode == val) { | ||
| 402 | name = item.dname; | ||
| 403 | } | ||
| 404 | }); | ||
| 405 | return name; | ||
| 406 | } | ||
| 407 | }, | ||
| 408 | }, | ||
| 409 | }; | ||
| 410 | </script> | ||
| 411 | <style scoped lang='scss'> | ||
| 412 | @import "~@/styles/mixin.scss"; | ||
| 413 | |||
| 414 | .active { | ||
| 415 | background: $light-blue !important; | ||
| 416 | color: #fff; | ||
| 417 | } | ||
| 418 | |||
| 419 | .required { | ||
| 420 | font-size: 12px; | ||
| 421 | color: $pink; | ||
| 422 | float: left; | ||
| 423 | } | ||
| 424 | |||
| 425 | .cl_number { | ||
| 426 | float: right; | ||
| 427 | } | ||
| 428 | |||
| 429 | .clxx { | ||
| 430 | width: 100%; | ||
| 431 | display: flex; | ||
| 432 | padding-left: 5px; | ||
| 433 | height: calc(100vh - 125px); | ||
| 434 | |||
| 435 | .left { | ||
| 436 | display: flex; | ||
| 437 | flex-direction: column; | ||
| 438 | justify-content: space-between; | ||
| 439 | |||
| 440 | .item { | ||
| 441 | width: 28px; | ||
| 442 | height: 49%; | ||
| 443 | @include flex-center; | ||
| 444 | background-color: #e4e7ed; | ||
| 445 | border-bottom-right-radius: 10px; | ||
| 446 | padding: 5px; | ||
| 447 | cursor: pointer; | ||
| 448 | transition: all 0.3s; | ||
| 449 | |||
| 450 | &:hover { | ||
| 451 | @extend .active; | ||
| 452 | } | ||
| 453 | } | ||
| 454 | } | ||
| 455 | |||
| 456 | .right { | ||
| 457 | width: 100%; | ||
| 458 | height: 100%; | ||
| 459 | |||
| 460 | .clmlmx-box { | ||
| 461 | margin: 0 auto; | ||
| 462 | |||
| 463 | .title { | ||
| 464 | text-align: center; | ||
| 465 | height: 60px; | ||
| 466 | line-height: 60px; | ||
| 467 | border: 1px solid #dfe6ec; | ||
| 468 | font-size: 20px; | ||
| 469 | background: #81d3f81a; | ||
| 470 | margin-bottom: -1px; | ||
| 471 | } | ||
| 472 | } | ||
| 473 | |||
| 474 | .clyl-box { | ||
| 475 | width: 100%; | ||
| 476 | height: 100%; | ||
| 477 | display: flex; | ||
| 478 | |||
| 479 | .menu-tree { | ||
| 480 | width: 20%; | ||
| 481 | min-width: 160px; | ||
| 482 | height: 100%; | ||
| 483 | margin-right: 10px; | ||
| 484 | border-right: 1px dotted #d9d9d9; | ||
| 485 | padding: 0 15px; | ||
| 486 | |||
| 487 | .item { | ||
| 488 | line-height: 30px; | ||
| 489 | padding-top: 5px; | ||
| 490 | border-bottom: 1px solid #e8e8e8; | ||
| 491 | font-size: 16px; | ||
| 492 | text-align: center; | ||
| 493 | color: $light-blue; | ||
| 494 | |||
| 495 | .itemIcon { | ||
| 496 | float: right; | ||
| 497 | line-height: 60px; | ||
| 498 | cursor: pointer; | ||
| 499 | } | ||
| 500 | |||
| 501 | .child { | ||
| 502 | line-height: 32px; | ||
| 503 | border-bottom: 1px solid #e8e8e8; | ||
| 504 | padding-left: 10px; | ||
| 505 | color: #6b6b6b; | ||
| 506 | cursor: pointer; | ||
| 507 | box-sizing: border-box; | ||
| 508 | border-radius: 6px; | ||
| 509 | line-height: 20px; | ||
| 510 | transition: all 0.3s; | ||
| 511 | padding: 8px 0; | ||
| 512 | } | ||
| 513 | |||
| 514 | .child:hover { | ||
| 515 | color: $light-blue; | ||
| 516 | transform: scale(1.1); | ||
| 517 | } | ||
| 518 | |||
| 519 | .checked { | ||
| 520 | border: 1px solid $light-blue; | ||
| 521 | color: $light-blue; | ||
| 522 | } | ||
| 523 | } | ||
| 524 | } | ||
| 525 | |||
| 526 | .clyl-img { | ||
| 527 | width: 75%; | ||
| 528 | height: 100%; | ||
| 529 | background: #f3f4f7; | ||
| 530 | margin: 0 auto; | ||
| 531 | position: relative; | ||
| 532 | } | ||
| 533 | } | ||
| 534 | } | ||
| 535 | } | ||
| 536 | </style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-05-17 10:40:38 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <div class="clxx"> | ||
| 8 | <div class="right"> | ||
| 9 | <!-- 材料预览 --> | ||
| 10 | <div class="clyl-box"> | ||
| 11 | <div class="menu-tree"> | ||
| 12 | <el-button type="primary" native-type="submit" @click="viewDetail" style="width:100%;margin-top:10px;">查看明细</el-button> | ||
| 13 | <div class="item"> | ||
| 14 | 材料目录({{tableData.length}}) | ||
| 15 | <div style="margin-top:10px"> | ||
| 16 | <div style="text-align: center;line-height:20px;color:black;font-size:14px" v-if="tableData.length == 0">暂无数据</div> | ||
| 17 | <div v-for="(item,index) in tableData" :key="item.bsmSj" | ||
| 18 | :class="['child', treeCheckId == item.bsmSj ? 'checked' : '']" @click="treeClick(item,index)"> | ||
| 19 | <span v-if="item.isrequired==1" class="required">必选</span> | ||
| 20 | {{ item.sjmc }} | ||
| 21 | <span class="cl_number">({{item.children ? item.children.length : 0}})</span> | ||
| 22 | </div> | ||
| 23 | </div> | ||
| 24 | </div> | ||
| 25 | <el-button type="primary" native-type="submit" style="width:100%" @click="handleAdd()" v-if="!this.$route.query.viewtype">新增</el-button> | ||
| 26 | </div> | ||
| 27 | <image-preview ref='imageRef' :previewImg="previewImg" @updateList="updateList" @nextPriview="nextPriview" | ||
| 28 | @prevPriview="prevPriview" /> | ||
| 29 | </div> | ||
| 30 | </div> | ||
| 31 | <clxxAddDialog v-model="isDialog" /> | ||
| 32 | <!-- <clxxDetailDialog v-model="detailDialog" :data="tableData" /> --> | ||
| 33 | </div> | ||
| 34 | </template> | ||
| 35 | <script> | ||
| 36 | import { mapGetters } from "vuex"; | ||
| 37 | import clxxAddDialog from "./dialog/clxxAddDialog.vue"; | ||
| 38 | import clxxDetailDialog from "./dialog/clxxDetailDialog.vue"; | ||
| 39 | import imagePreview from '@/views/components/imagePreview.vue' | ||
| 40 | import { InitClml, saveClml, deleteSjClml, moveClml } from "@/api/clxx.js"; | ||
| 41 | import { popupDialog } from "@/utils/popup.js"; | ||
| 42 | export default { | ||
| 43 | components: { clxxAddDialog, imagePreview, clxxDetailDialog }, | ||
| 44 | data () { | ||
| 45 | return { | ||
| 46 | isDialog: false, | ||
| 47 | iclass: "", | ||
| 48 | // 材料目录选中 | ||
| 49 | treeCheckIndex: 0, | ||
| 50 | treeCheckId: "", | ||
| 51 | key: 0, | ||
| 52 | tableData: [], | ||
| 53 | previewImg: { | ||
| 54 | // 收件标识码 | ||
| 55 | bsmSj: '', | ||
| 56 | bsmSlsq: this.$parent.bsmSlsq, | ||
| 57 | index: 0, | ||
| 58 | selectedIndex: 0, | ||
| 59 | imgList: [] | ||
| 60 | } | ||
| 61 | } | ||
| 62 | }, | ||
| 63 | computed: { | ||
| 64 | ...mapGetters(["dictData"]) | ||
| 65 | }, | ||
| 66 | created () { | ||
| 67 | this.clmlInitList(1) | ||
| 68 | }, | ||
| 69 | methods: { | ||
| 70 | // 自动预览 | ||
| 71 | nextPriview () { | ||
| 72 | if (this.treeCheckIndex < this.tableData.length) { | ||
| 73 | this.treeCheckIndex++ | ||
| 74 | this.treeCheckId = this.tableData[this.treeCheckIndex].bsmSj | ||
| 75 | this.previewImg.index = 0 | ||
| 76 | this.previewImg.imgList = this.tableData[this.treeCheckIndex].children | ||
| 77 | this.previewImg.bsmSj = this.tableData[this.treeCheckIndex].bsmSj | ||
| 78 | } | ||
| 79 | }, | ||
| 80 | prevPriview () { | ||
| 81 | if (this.treeCheckIndex >= 1) { | ||
| 82 | this.treeCheckIndex-- | ||
| 83 | this.treeCheckId = this.tableData[this.treeCheckIndex].bsmSj | ||
| 84 | this.previewImg.index = this.previewImg.imgList.length | ||
| 85 | this.previewImg.imgList = this.tableData[this.treeCheckIndex].children | ||
| 86 | this.previewImg.bsmSj = this.tableData[this.treeCheckIndex].bsmSj | ||
| 87 | } | ||
| 88 | }, | ||
| 89 | // 材料目录明细初始化 | ||
| 90 | clmlInitList (type) { | ||
| 91 | //type 1:列表初始化 2:新增材料 | ||
| 92 | return new Promise(resolve => { | ||
| 93 | this.unitData = this.$parent.unitData; | ||
| 94 | var formdata = new FormData(); | ||
| 95 | formdata.append("bsmSldy", this.unitData[0]?.bsmSldy); | ||
| 96 | formdata.append("bsmSlsq", this.$parent.bsmSlsq); | ||
| 97 | InitClml(formdata).then((res) => { | ||
| 98 | if (res.code == 200) { | ||
| 99 | resolve(res.code) | ||
| 100 | if (res.result && res.result.length > 0) { | ||
| 101 | this.tableData = res.result; | ||
| 102 | if (type == 1) { | ||
| 103 | this.treeClick(this.tableData[0], 0); | ||
| 104 | } else { | ||
| 105 | //新增材料后刷新列表焦点置于新增的对象上 | ||
| 106 | this.treeClick(this.tableData[this.tableData.length - 1], this.tableData.length - 1); | ||
| 107 | } | ||
| 108 | } | ||
| 109 | } else { | ||
| 110 | this.$message.error(res.message) | ||
| 111 | } | ||
| 112 | }) | ||
| 113 | }) | ||
| 114 | }, | ||
| 115 | setChecked (item) { | ||
| 116 | this.treeCheckId = item.bsmSj; | ||
| 117 | this.title = item.sjmc; | ||
| 118 | this.titleYs = 1; | ||
| 119 | this.titleNum = item.children.length; | ||
| 120 | this.previewImg.imgList = item.children; | ||
| 121 | this.previewImg.bsmSj = item.bsmSj; | ||
| 122 | }, | ||
| 123 | updateList (val) { | ||
| 124 | let that = this | ||
| 125 | if (val != null) { //删除最后一张图片时 val=null | ||
| 126 | this.tableData.forEach(item => { | ||
| 127 | if (item.bsmSj === val.bsmSj) { | ||
| 128 | item.children = val.children | ||
| 129 | } | ||
| 130 | }) | ||
| 131 | this.previewImg.imgList = _.cloneDeep(val.children) | ||
| 132 | if (this.previewImg.index == this.previewImg.imgList.length) { | ||
| 133 | this.previewImg.index = this.previewImg.index - 1 | ||
| 134 | } | ||
| 135 | } else { | ||
| 136 | this.previewImg.imgList = [] | ||
| 137 | this.tableData.forEach((item, index) => { | ||
| 138 | if (this.treeCheckId == item.bsmSj) { | ||
| 139 | item.children = [] | ||
| 140 | that.treeCheckIndex = index | ||
| 141 | } | ||
| 142 | }) | ||
| 143 | } | ||
| 144 | |||
| 145 | }, | ||
| 146 | // 添加材料目录 | ||
| 147 | handleAdd () { | ||
| 148 | this.isDialog = true; | ||
| 149 | }, | ||
| 150 | // 新增弹窗保存 | ||
| 151 | addSave (data) { | ||
| 152 | let obj = { | ||
| 153 | bsmSlsq: this.$parent.bsmSlsq, | ||
| 154 | isrequired: "1", | ||
| 155 | sjmc: data.clmc, | ||
| 156 | sjsl: 0, | ||
| 157 | smzt: '', | ||
| 158 | ys: 0, | ||
| 159 | sjlx: data.cllx, | ||
| 160 | sfxjcl: "1", // 是否必选 | ||
| 161 | }; | ||
| 162 | saveClml(obj).then(async (res) => { | ||
| 163 | if (res.code == 200) { | ||
| 164 | let res = await this.clmlInitList(2) | ||
| 165 | if (res == 200) this.$message({ | ||
| 166 | message: "新增成功", | ||
| 167 | type: "success", | ||
| 168 | }) | ||
| 169 | } | ||
| 170 | }); | ||
| 171 | }, | ||
| 172 | // 材料目录点击选中 | ||
| 173 | treeClick (item, index) { | ||
| 174 | this.previewImg.index = 0 | ||
| 175 | this.treeCheckId = item?.bsmSj | ||
| 176 | this.treeCheckIndex = index | ||
| 177 | this.previewImg.imgList = item?.children | ||
| 178 | this.previewImg.bsmSj = item?.bsmSj | ||
| 179 | }, | ||
| 180 | // 小图片点击 | ||
| 181 | imgClick (item, index) { | ||
| 182 | this.showImg = item; | ||
| 183 | this.titleYs = index + 1; | ||
| 184 | }, | ||
| 185 | // 字典 | ||
| 186 | dicStatus (val, code) { | ||
| 187 | let data = this.$store.getters.dictData[code], | ||
| 188 | name = "暂无"; | ||
| 189 | if (data) { | ||
| 190 | data.map((item) => { | ||
| 191 | if (item.dcode == val) { | ||
| 192 | name = item.dname | ||
| 193 | } | ||
| 194 | }); | ||
| 195 | return name | ||
| 196 | } | ||
| 197 | }, | ||
| 198 | //查看明细 | ||
| 199 | viewDetail () { | ||
| 200 | this.$popupDialog("查看明细", "workflow/components/dialog/clxxDetailDialog", { | ||
| 201 | data: this.tableData | ||
| 202 | }, "60%") | ||
| 203 | }, | ||
| 204 | //设置tableData | ||
| 205 | setTableData (tableData) { | ||
| 206 | this.$nextTick(res => { | ||
| 207 | this.tableData = tableData; | ||
| 208 | }) | ||
| 209 | }, | ||
| 210 | }, | ||
| 211 | }; | ||
| 212 | </script> | ||
| 213 | <style scoped lang='scss'> | ||
| 214 | @import "~@/styles/mixin.scss"; | ||
| 215 | |||
| 216 | .active { | ||
| 217 | background: $light-blue !important; | ||
| 218 | color: #fff; | ||
| 219 | } | ||
| 220 | |||
| 221 | .required { | ||
| 222 | font-size: 12px; | ||
| 223 | color: $pink; | ||
| 224 | float: left; | ||
| 225 | } | ||
| 226 | |||
| 227 | .cl_number { | ||
| 228 | float: right; | ||
| 229 | } | ||
| 230 | |||
| 231 | .clxx { | ||
| 232 | width: 100%; | ||
| 233 | display: flex; | ||
| 234 | padding-left: 5px; | ||
| 235 | height: calc(100vh - 125px); | ||
| 236 | |||
| 237 | .left { | ||
| 238 | display: flex; | ||
| 239 | flex-direction: column; | ||
| 240 | justify-content: space-between; | ||
| 241 | |||
| 242 | .item { | ||
| 243 | width: 28px; | ||
| 244 | height: 49%; | ||
| 245 | @include flex-center; | ||
| 246 | background-color: #e4e7ed; | ||
| 247 | border-bottom-right-radius: 10px; | ||
| 248 | padding: 5px; | ||
| 249 | cursor: pointer; | ||
| 250 | transition: all 0.3s; | ||
| 251 | |||
| 252 | &:hover { | ||
| 253 | @extend .active; | ||
| 254 | } | ||
| 255 | } | ||
| 256 | } | ||
| 257 | |||
| 258 | .right { | ||
| 259 | width: 100%; | ||
| 260 | height: 100%; | ||
| 261 | |||
| 262 | .clmlmx-box { | ||
| 263 | margin: 0 auto; | ||
| 264 | |||
| 265 | .title { | ||
| 266 | text-align: center; | ||
| 267 | height: 60px; | ||
| 268 | line-height: 60px; | ||
| 269 | border: 1px solid #dfe6ec; | ||
| 270 | font-size: 20px; | ||
| 271 | background: #81d3f81a; | ||
| 272 | margin-bottom: -1px; | ||
| 273 | } | ||
| 274 | } | ||
| 275 | |||
| 276 | .clyl-box { | ||
| 277 | width: 100%; | ||
| 278 | height: 100%; | ||
| 279 | display: flex; | ||
| 280 | |||
| 281 | .menu-tree { | ||
| 282 | width: 20%; | ||
| 283 | min-width: 160px; | ||
| 284 | height: 100%; | ||
| 285 | margin-right: 10px; | ||
| 286 | border-right: 1px dotted #d9d9d9; | ||
| 287 | padding: 0 15px; | ||
| 288 | |||
| 289 | .item { | ||
| 290 | line-height: 30px; | ||
| 291 | padding-top: 5px; | ||
| 292 | border-bottom: 1px solid #e8e8e8; | ||
| 293 | font-size: 16px; | ||
| 294 | text-align: center; | ||
| 295 | color: $light-blue; | ||
| 296 | |||
| 297 | .itemIcon { | ||
| 298 | float: right; | ||
| 299 | line-height: 60px; | ||
| 300 | cursor: pointer; | ||
| 301 | } | ||
| 302 | |||
| 303 | .child { | ||
| 304 | line-height: 32px; | ||
| 305 | border-bottom: 1px solid #e8e8e8; | ||
| 306 | padding-left: 10px; | ||
| 307 | color: #6b6b6b; | ||
| 308 | cursor: pointer; | ||
| 309 | box-sizing: border-box; | ||
| 310 | border-radius: 6px; | ||
| 311 | line-height: 20px; | ||
| 312 | transition: all 0.3s; | ||
| 313 | padding: 8px 0; | ||
| 314 | } | ||
| 315 | |||
| 316 | .child:hover { | ||
| 317 | color: $light-blue; | ||
| 318 | transform: scale(1.1); | ||
| 319 | } | ||
| 320 | |||
| 321 | .checked { | ||
| 322 | border: 1px solid $light-blue; | ||
| 323 | color: $light-blue; | ||
| 324 | } | ||
| 325 | } | ||
| 326 | } | ||
| 327 | |||
| 328 | .clyl-img { | ||
| 329 | width: 75%; | ||
| 330 | height: 100%; | ||
| 331 | background: #f3f4f7; | ||
| 332 | margin: 0 auto; | ||
| 333 | position: relative; | ||
| 334 | } | ||
| 335 | } | ||
| 336 | } | ||
| 337 | } | ||
| 338 | </style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-05-17 10:39:47 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <dialogBox title="申请人信息" width="60%" isMain v-model="myValue" :isFullscreen="false" @submitForm="submitForm" | ||
| 8 | @closeDialog="closeDialog" :isButton="showButton"> | ||
| 9 | <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="120px"> | ||
| 10 | <el-row> | ||
| 11 | <el-col :span="8"> | ||
| 12 | <el-form-item label="权利人类型" prop="sqrlx"> | ||
| 13 | <el-select clearable v-model="ruleForm.sqrlx" class="width100" placeholder="请选择"> | ||
| 14 | <el-option v-for="item in dictData['A36']" :key="item.dcode" :label="item.dname" :value="item.dcode"> | ||
| 15 | </el-option> | ||
| 16 | </el-select> | ||
| 17 | </el-form-item> | ||
| 18 | </el-col> | ||
| 19 | <el-col :span="8"> | ||
| 20 | <el-form-item label="姓名/名称" prop="sqrmc"> | ||
| 21 | <el-input v-model="ruleForm.sqrmc" maxlegth="15"></el-input> | ||
| 22 | </el-form-item> | ||
| 23 | </el-col> | ||
| 24 | <el-col :span="8"> | ||
| 25 | <el-form-item label="证件种类" prop="zjzl"> | ||
| 26 | <el-select clearable v-model="ruleForm.zjzl" class="width100" placeholder="请选择"> | ||
| 27 | <el-option v-for="item in dictData['A30']" :key="item.dcode" :label="item.dname" :value="item.dcode"> | ||
| 28 | </el-option> | ||
| 29 | </el-select> | ||
| 30 | </el-form-item> | ||
| 31 | </el-col> | ||
| 32 | </el-row> | ||
| 33 | <el-row> | ||
| 34 | <el-col :span="8"> | ||
| 35 | <el-form-item label="证件号" prop="zjh"> | ||
| 36 | <el-input v-model="ruleForm.zjh" maxlength="15" oninput="this.value=this.value.replace(/[^\X0-9]/g,'')"></el-input> | ||
| 37 | </el-form-item> | ||
| 38 | </el-col> | ||
| 39 | <el-col :span="8"> | ||
| 40 | <el-form-item label="联系电话" prop="dh"> | ||
| 41 | <el-input v-model="ruleForm.dh" maxlength="11" oninput="value=value.replace(/[^\d]/g,'')"></el-input> | ||
| 42 | </el-form-item> | ||
| 43 | </el-col> | ||
| 44 | <el-col :span="8"> | ||
| 45 | <el-form-item label="性别"> | ||
| 46 | <el-select clearable v-model="ruleForm.xb" class="width100" placeholder="请选择"> | ||
| 47 | <el-option v-for="item in dictData['A43']" :key="item.dcode" :label="item.dname" :value="item.dcode"> | ||
| 48 | </el-option> | ||
| 49 | </el-select> | ||
| 50 | </el-form-item> | ||
| 51 | </el-col> | ||
| 52 | </el-row> | ||
| 53 | <el-row> | ||
| 54 | <el-col :span="8"> | ||
| 55 | <el-form-item label="法人名称"> | ||
| 56 | <el-input v-model="ruleForm.frmc"></el-input> | ||
| 57 | </el-form-item> | ||
| 58 | </el-col> | ||
| 59 | <el-col :span="8"> | ||
| 60 | <el-form-item label="国家/地区"> | ||
| 61 | <el-input v-model="ruleForm.gjdq"></el-input> | ||
| 62 | </el-form-item> | ||
| 63 | </el-col> | ||
| 64 | <el-col :span="8"> | ||
| 65 | <el-form-item label="户籍所在省市"> | ||
| 66 | <el-input v-model="ruleForm.szss"></el-input> | ||
| 67 | </el-form-item> | ||
| 68 | </el-col> | ||
| 69 | </el-row> | ||
| 70 | |||
| 71 | <el-row> | ||
| 72 | <el-col :span="16"> | ||
| 73 | <el-form-item label="地址"> | ||
| 74 | <el-input v-model="ruleForm.txdz"></el-input> | ||
| 75 | </el-form-item> | ||
| 76 | </el-col> | ||
| 77 | <el-col :span="8"> | ||
| 78 | <el-form-item label="邮编"> | ||
| 79 | <el-input v-model="ruleForm.yb"></el-input> | ||
| 80 | </el-form-item> | ||
| 81 | </el-col> | ||
| 82 | </el-row> | ||
| 83 | |||
| 84 | <el-row> | ||
| 85 | <el-col :span="8"> | ||
| 86 | <el-form-item label="发证机关"> | ||
| 87 | <el-input v-model="ruleForm.fzjg"></el-input> | ||
| 88 | </el-form-item> | ||
| 89 | </el-col> | ||
| 90 | <el-col :span="8"> | ||
| 91 | <el-form-item label="电子邮件"> | ||
| 92 | <el-input v-model="ruleForm.dzyj"></el-input> | ||
| 93 | </el-form-item> | ||
| 94 | </el-col> | ||
| 95 | <el-col :span="8"> | ||
| 96 | <el-form-item label="权利比例"> | ||
| 97 | <el-input v-model="ruleForm.qlbl"></el-input> | ||
| 98 | </el-form-item> | ||
| 99 | </el-col> | ||
| 100 | </el-row> | ||
| 101 | |||
| 102 | <el-row> | ||
| 103 | <el-col :span="8"> | ||
| 104 | <el-form-item label="工作单位"> | ||
| 105 | <el-input v-model="ruleForm.gzdw"></el-input> | ||
| 106 | </el-form-item> | ||
| 107 | </el-col> | ||
| 108 | <el-col :span="16"> | ||
| 109 | <el-form-item label="代理机构"> | ||
| 110 | <el-input v-model="ruleForm.dljg"></el-input> | ||
| 111 | </el-form-item> | ||
| 112 | </el-col> | ||
| 113 | </el-row> | ||
| 114 | |||
| 115 | <el-row> | ||
| 116 | <el-col :span="8"> | ||
| 117 | <el-form-item label="联系电话"> | ||
| 118 | <el-input v-model="ruleForm.lxdh" maxlength="11" oninput="value=value.replace(/[^\d]/g,'')"></el-input> | ||
| 119 | </el-form-item> | ||
| 120 | </el-col> | ||
| 121 | <el-col :span="8"> | ||
| 122 | <el-form-item label="代理人姓名"> | ||
| 123 | <el-input v-model="ruleForm.dlrxm"></el-input> | ||
| 124 | </el-form-item> | ||
| 125 | </el-col> | ||
| 126 | <el-col :span="8"> | ||
| 127 | <el-form-item label="代理人证件类型"> | ||
| 128 | <el-select clearable v-model="ruleForm.dlrzjlx" class="width100" placeholder="请选择"> | ||
| 129 | <el-option v-for="item in dictData['A30']" :key="item.dcode" :label="item.dname" :value="item.dcode"> | ||
| 130 | </el-option> | ||
| 131 | </el-select> | ||
| 132 | </el-form-item> | ||
| 133 | </el-col> | ||
| 134 | </el-row> | ||
| 135 | <el-row> | ||
| 136 | <el-col :span="8"> | ||
| 137 | <el-form-item label="代理人证件号"> | ||
| 138 | <el-input v-model="ruleForm.dlrzjh" maxlength="20"></el-input> | ||
| 139 | </el-form-item> | ||
| 140 | </el-col> | ||
| 141 | </el-row> | ||
| 142 | </el-form> | ||
| 143 | </dialogBox> | ||
| 144 | </template> | ||
| 145 | <script> | ||
| 146 | import { mapGetters } from "vuex"; | ||
| 147 | export default { | ||
| 148 | props: { | ||
| 149 | value: { type: Boolean, default: false }, | ||
| 150 | details: { type: Object, default: {} }, | ||
| 151 | showButton: { type: Boolean, default: false } | ||
| 152 | }, | ||
| 153 | computed: { | ||
| 154 | ...mapGetters(["dictData"]), | ||
| 155 | }, | ||
| 156 | data () { | ||
| 157 | return { | ||
| 158 | myValue: this.value, | ||
| 159 | ruleForm: { | ||
| 160 | sqrlx: "", | ||
| 161 | sqrmc: "", | ||
| 162 | zjzl: "", | ||
| 163 | zjh: "", | ||
| 164 | dh: "", | ||
| 165 | xb: "", | ||
| 166 | frmc: "", | ||
| 167 | gjdq: "", | ||
| 168 | szss: "", | ||
| 169 | txdz: "", | ||
| 170 | yb: "", | ||
| 171 | fzjg: "", | ||
| 172 | dzyj: "", | ||
| 173 | qlbl: "", | ||
| 174 | gzdw: "", | ||
| 175 | dljg: "", | ||
| 176 | dlrxm: "", | ||
| 177 | dlrzjlx: "", | ||
| 178 | dlrzjh: "", | ||
| 179 | }, | ||
| 180 | rules: { | ||
| 181 | sqrlx: [{ required: true, message: "权利人类型", trigger: "change" }], | ||
| 182 | sqrmc: [{ required: true, message: "姓名/名称", trigger: "blur" }], | ||
| 183 | zjzl: [{ required: true, message: "证件种类", trigger: "change" }], | ||
| 184 | zjh: [{ required: true, message: "证件号", trigger: "blur" }], | ||
| 185 | }, | ||
| 186 | }; | ||
| 187 | }, | ||
| 188 | watch: { | ||
| 189 | value (val) { | ||
| 190 | this.myValue = _.cloneDeep(val); | ||
| 191 | }, | ||
| 192 | details: { | ||
| 193 | handler: function (val, oldVal) { | ||
| 194 | this.ruleForm = val; | ||
| 195 | }, | ||
| 196 | deep: true, | ||
| 197 | }, | ||
| 198 | }, | ||
| 199 | methods: { | ||
| 200 | closeDialog () { | ||
| 201 | this.$emit("input", false); | ||
| 202 | this.$refs["ruleForm"].resetFields(); | ||
| 203 | }, | ||
| 204 | submitForm () { | ||
| 205 | this.$refs.ruleForm.validate((valid) => { | ||
| 206 | if (valid) { | ||
| 207 | this.$emit("input", false); | ||
| 208 | this.$emit("updateDetail", _.cloneDeep(this.ruleForm)); | ||
| 209 | } else { | ||
| 210 | return false; | ||
| 211 | } | ||
| 212 | }); | ||
| 213 | }, | ||
| 214 | }, | ||
| 215 | }; | ||
| 216 | </script> | ||
| 217 | <style scoped lang="scss"> | ||
| 218 | @import "~@/styles/dialogBoxheader.scss"; | ||
| 219 | .submit-button { | ||
| 220 | text-align: center; | ||
| 221 | height: 52px; | ||
| 222 | padding-top: 10px; | ||
| 223 | background-color: #fff; | ||
| 224 | } | ||
| 225 | </style> |
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-05-09 09:20:10 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <dialogBox title="新建材料信息" width="20%" isMain v-model="myValue" @closeDialog="closeDialog" @submitForm="handleSubmit" | ||
| 8 | :isFullscreen="false"> | ||
| 9 | <el-form :model="ruleForm" ref="ruleForm" label-width="70px"> | ||
| 10 | <el-row> | ||
| 11 | <el-col :span="24"> | ||
| 12 | <el-form-item label="材料类型"> | ||
| 13 | <el-select v-model="ruleForm.cllx" class="width100" placeholder="请选择"> | ||
| 14 | <el-option v-for="item in dictData['A40']" :key="item.dcode" :label="item.dname" :value="item.dcode"> | ||
| 15 | </el-option> | ||
| 16 | </el-select> | ||
| 17 | </el-form-item> | ||
| 18 | </el-col> | ||
| 19 | </el-row> | ||
| 20 | <el-row :gutter="20"> | ||
| 21 | <el-col :span="24"> | ||
| 22 | <el-form-item label="材料名称"> | ||
| 23 | <el-input v-model="ruleForm.clmc"></el-input> | ||
| 24 | </el-form-item> | ||
| 25 | </el-col> | ||
| 26 | </el-row> | ||
| 27 | </el-form> | ||
| 28 | </dialogBox> | ||
| 29 | </template> | ||
| 30 | |||
| 31 | <script> | ||
| 32 | import { mapGetters } from "vuex"; | ||
| 33 | export default { | ||
| 34 | props: { | ||
| 35 | value: { type: Boolean, default: false }, | ||
| 36 | }, | ||
| 37 | data () { | ||
| 38 | return { | ||
| 39 | myValue: this.value, | ||
| 40 | ruleForm: { | ||
| 41 | cllx: "", | ||
| 42 | clmc: "", | ||
| 43 | }, | ||
| 44 | }; | ||
| 45 | }, | ||
| 46 | computed: { | ||
| 47 | ...mapGetters(["dictData"]), | ||
| 48 | }, | ||
| 49 | watch: { | ||
| 50 | value (val) { | ||
| 51 | this.myValue = val; | ||
| 52 | }, | ||
| 53 | }, | ||
| 54 | methods: { | ||
| 55 | closeDialog () { | ||
| 56 | this.$emit("input", false); | ||
| 57 | this.ruleForm = { | ||
| 58 | cllx: "", | ||
| 59 | clmc: "", | ||
| 60 | } | ||
| 61 | }, | ||
| 62 | handleSubmit () { | ||
| 63 | this.$parent.addSave(this.ruleForm); | ||
| 64 | this.ruleForm = { | ||
| 65 | cllx: "", | ||
| 66 | clmc: "", | ||
| 67 | } | ||
| 68 | this.$emit("input", false); | ||
| 69 | }, | ||
| 70 | }, | ||
| 71 | }; | ||
| 72 | </script> | ||
| 73 | <style scoped lang="scss"> | ||
| 74 | .submit-button { | ||
| 75 | text-align: center; | ||
| 76 | height: 52px; | ||
| 77 | padding-top: 10px; | ||
| 78 | background-color: #fff; | ||
| 79 | } | ||
| 80 | </style> |
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-05-17 10:39:57 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <div class="clmlmx-box"> | ||
| 8 | <div class="title">申请材料目录</div> | ||
| 9 | <lb-table :column="column" :key="key" :heightNumSetting="true" :pagination="false" :data="formData.data"> | ||
| 10 | </lb-table> | ||
| 11 | <div class="text-center"> | ||
| 12 | <el-button @click="$popupCacel">取消</el-button> | ||
| 13 | </div> | ||
| 14 | </div> | ||
| 15 | </template> | ||
| 16 | <script> | ||
| 17 | import store from '@/store/index.js' | ||
| 18 | import { InitClml, saveClml, deleteSjClml, moveClml } from "@/api/clxx.js"; | ||
| 19 | export default { | ||
| 20 | props: { | ||
| 21 | formData: { | ||
| 22 | type: Object, | ||
| 23 | default: () => { | ||
| 24 | return {} | ||
| 25 | } | ||
| 26 | } | ||
| 27 | }, | ||
| 28 | data () { | ||
| 29 | return { | ||
| 30 | column: [ | ||
| 31 | { | ||
| 32 | width: "50", | ||
| 33 | label: '序号', | ||
| 34 | type: 'index' | ||
| 35 | }, | ||
| 36 | { | ||
| 37 | prop: "isrequired", | ||
| 38 | label: "是否必选", | ||
| 39 | width: "80", | ||
| 40 | render: (h, scope) => { | ||
| 41 | if (scope.row.sfxjcl === "1") { | ||
| 42 | return ( | ||
| 43 | <div> | ||
| 44 | <span>可选</span> | ||
| 45 | </div> | ||
| 46 | ); | ||
| 47 | } | ||
| 48 | else { | ||
| 49 | return ( | ||
| 50 | <div> | ||
| 51 | <span>必选</span> | ||
| 52 | </div> | ||
| 53 | ); | ||
| 54 | } | ||
| 55 | }, | ||
| 56 | }, | ||
| 57 | { | ||
| 58 | prop: "sjmc", | ||
| 59 | label: "材料名称", | ||
| 60 | }, | ||
| 61 | { | ||
| 62 | prop: "sjlx", | ||
| 63 | label: "材料类型", | ||
| 64 | width: "80", | ||
| 65 | render: (h, scope) => { | ||
| 66 | return ( | ||
| 67 | <div> | ||
| 68 | <span>{this.dicStatus(scope.row.sjlx, "A40")}</span> | ||
| 69 | </div> | ||
| 70 | ); | ||
| 71 | }, | ||
| 72 | }, | ||
| 73 | { | ||
| 74 | prop: "sjsl", | ||
| 75 | label: "份数", | ||
| 76 | width: "50" | ||
| 77 | }, | ||
| 78 | { | ||
| 79 | prop: "smzt", | ||
| 80 | label: "扫描状态", | ||
| 81 | width: "80", | ||
| 82 | render: (h, scope) => { | ||
| 83 | if (scope.row.children && scope.row.children.length > 0) { | ||
| 84 | return ( | ||
| 85 | <div> | ||
| 86 | <span>已扫描</span> | ||
| 87 | </div> | ||
| 88 | ); | ||
| 89 | } else { | ||
| 90 | return ( | ||
| 91 | <div> | ||
| 92 | <span>未扫描</span> | ||
| 93 | </div> | ||
| 94 | ); | ||
| 95 | } | ||
| 96 | }, | ||
| 97 | }, | ||
| 98 | { | ||
| 99 | label: "扫描页数", | ||
| 100 | width: "80", | ||
| 101 | render: (h, scope) => { | ||
| 102 | if (scope.row.children && scope.row.children.length > 0) { | ||
| 103 | return ( | ||
| 104 | <div> | ||
| 105 | <span>{scope.row.children.length}</span> | ||
| 106 | </div> | ||
| 107 | ); | ||
| 108 | } else { | ||
| 109 | return ( | ||
| 110 | <div> | ||
| 111 | <span>0</span> | ||
| 112 | </div> | ||
| 113 | ); | ||
| 114 | } | ||
| 115 | }, | ||
| 116 | }, | ||
| 117 | { | ||
| 118 | label: "操作", | ||
| 119 | width: "80", | ||
| 120 | render: (h, scope) => { | ||
| 121 | return ( | ||
| 122 | <div> | ||
| 123 | <el-button | ||
| 124 | type="text" | ||
| 125 | disabled={scope.$index == 0} | ||
| 126 | onClick={() => { | ||
| 127 | this.moveUpward(scope.$index, scope.row); | ||
| 128 | }} | ||
| 129 | > | ||
| 130 | 上移 | ||
| 131 | </el-button> | ||
| 132 | <el-button | ||
| 133 | type="text" | ||
| 134 | disabled={scope.$index + 1 == this.tableData.length} | ||
| 135 | onClick={() => { | ||
| 136 | this.moveDown(scope.$index, scope.row); | ||
| 137 | }} | ||
| 138 | > | ||
| 139 | 下移 | ||
| 140 | </el-button> | ||
| 141 | </div> | ||
| 142 | ); | ||
| 143 | }, | ||
| 144 | }, | ||
| 145 | ], | ||
| 146 | key: 0, | ||
| 147 | tableData: [] | ||
| 148 | } | ||
| 149 | }, | ||
| 150 | created () { | ||
| 151 | console.log(this.formData.data, 'formData'); | ||
| 152 | }, | ||
| 153 | methods: { | ||
| 154 | // 材料目录明细初始化 | ||
| 155 | clmlInitList () { | ||
| 156 | return new Promise(resolve => { | ||
| 157 | this.unitData = this.$parent.unitData; | ||
| 158 | var formdata = new FormData(); | ||
| 159 | formdata.append("bsmSldy", this.unitData[0]?.bsmSldy); | ||
| 160 | formdata.append("bsmSlsq", this.$route.query.bsmSlsq); | ||
| 161 | InitClml(formdata).then((res) => { | ||
| 162 | if (res.code == 200) { | ||
| 163 | resolve(res.code) | ||
| 164 | if (res.result && res.result.length > 0) { | ||
| 165 | this.data = res.result; | ||
| 166 | } else { | ||
| 167 | this.data = [] | ||
| 168 | } | ||
| 169 | } else { | ||
| 170 | this.$message.error(res.message) | ||
| 171 | } | ||
| 172 | }) | ||
| 173 | }) | ||
| 174 | }, | ||
| 175 | // 上移 | ||
| 176 | moveUpward (index, row) { | ||
| 177 | let obj = { | ||
| 178 | xh: row.xh, | ||
| 179 | bsmSlsq: row.bsmSlsq, | ||
| 180 | moveDirection: "UP", | ||
| 181 | }; | ||
| 182 | // 接口待调 | ||
| 183 | moveClml(obj).then(async (res) => { | ||
| 184 | if (res.code == 200) { | ||
| 185 | let res = await this.clmlInitList() | ||
| 186 | if (res == 200) { | ||
| 187 | this.$message({ | ||
| 188 | message: '上移成功', | ||
| 189 | type: 'success' | ||
| 190 | }) | ||
| 191 | this.$parent.setTableData(this.data) | ||
| 192 | } | ||
| 193 | } else { | ||
| 194 | this.$message.error(res.message); | ||
| 195 | } | ||
| 196 | }) | ||
| 197 | }, | ||
| 198 | // 下移 | ||
| 199 | moveDown (index, row) { | ||
| 200 | let obj = { | ||
| 201 | xh: row.xh, | ||
| 202 | bsmSlsq: row.bsmSlsq, | ||
| 203 | moveDirection: "DOWN", | ||
| 204 | } | ||
| 205 | // 接口待调 | ||
| 206 | moveClml(obj).then(async (res) => { | ||
| 207 | if (res.code == 200) { | ||
| 208 | let res = await this.clmlInitList() | ||
| 209 | if (res == 200) { | ||
| 210 | this.$message({ | ||
| 211 | message: '下移成功', | ||
| 212 | type: 'success' | ||
| 213 | }) | ||
| 214 | } | ||
| 215 | } else { | ||
| 216 | this.$message.error(res.message); | ||
| 217 | } | ||
| 218 | }) | ||
| 219 | }, | ||
| 220 | // 材料目录删除 | ||
| 221 | handleDelete (index, row) { | ||
| 222 | let that = this | ||
| 223 | this.$confirm('此操作将永久删除该 是否继续?', '提示', { | ||
| 224 | confirmButtonText: '确定', | ||
| 225 | cancelButtonText: '取消', | ||
| 226 | type: 'warning' | ||
| 227 | }).then(() => { | ||
| 228 | deleteSjClml({ sjBsm: row.bsmSj }).then(async (res) => { | ||
| 229 | if (res.code == 200) { | ||
| 230 | let res = await that.clmlInitList() | ||
| 231 | if (res == 200) { | ||
| 232 | that.$message({ | ||
| 233 | message: "删除成功", | ||
| 234 | type: "success", | ||
| 235 | }) | ||
| 236 | // this.$parent.setTableData(this.data) | ||
| 237 | } | ||
| 238 | } | ||
| 239 | }) | ||
| 240 | }).catch(() => { | ||
| 241 | this.$message({ | ||
| 242 | type: 'info', | ||
| 243 | message: '已取消删除' | ||
| 244 | }) | ||
| 245 | }) | ||
| 246 | }, | ||
| 247 | // 字典 | ||
| 248 | dicStatus (val, code) { | ||
| 249 | let data = store.getters.dictData[code], | ||
| 250 | name = "暂无"; | ||
| 251 | if (data) { | ||
| 252 | data.map((item) => { | ||
| 253 | if (item.dcode == val) { | ||
| 254 | name = item.dname; | ||
| 255 | } | ||
| 256 | }); | ||
| 257 | return name; | ||
| 258 | } | ||
| 259 | } | ||
| 260 | } | ||
| 261 | } | ||
| 262 | </script> | ||
| 263 | <style scoped lang='scss'> | ||
| 264 | @import "~@/styles/mixin.scss"; | ||
| 265 | .clmlmx-box { | ||
| 266 | margin: 0 auto; | ||
| 267 | |||
| 268 | .title { | ||
| 269 | text-align: center; | ||
| 270 | height: 60px; | ||
| 271 | line-height: 60px; | ||
| 272 | border: 1px solid #dfe6ec; | ||
| 273 | font-size: 20px; | ||
| 274 | background: #81d3f81a; | ||
| 275 | margin-bottom: -1px; | ||
| 276 | } | ||
| 277 | } | ||
| 278 | </style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-05-17 10:40:02 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <div> | ||
| 8 | <el-button type="primary" native-type="submit" @click="openDialog">新增常用</el-button> | ||
| 9 | <el-form ref="form" :model="form" :rules="rules" label-width="80px" v-show="addDialog"> | ||
| 10 | <el-form-item prop="commonOpinion"> | ||
| 11 | <div class="invalid-reson">常用意见:</div> | ||
| 12 | <el-input v-model="form.commonOpinion" placeholder="请输入常用意见" type="textarea" :rows="4"></el-input> | ||
| 13 | </el-form-item> | ||
| 14 | <el-form-item class="text-center"> | ||
| 15 | <el-button @click="closeaddDiglog">取 消</el-button> | ||
| 16 | <el-button type="primary" @click="addOpinion">确 定</el-button> | ||
| 17 | </el-form-item> | ||
| 18 | </el-form> | ||
| 19 | <lb-table :heightNumSetting="true" | ||
| 20 | @row-dblclick="handleRowClick" | ||
| 21 | :pagination="false" :column="columns" :minHeight="300" :data="tableData.data"> | ||
| 22 | </lb-table> | ||
| 23 | <div style="height:15px"></div> | ||
| 24 | <div class="text-center"> | ||
| 25 | <el-button @click="$popupCacel">取消</el-button> | ||
| 26 | </div> | ||
| 27 | </div> | ||
| 28 | </template> | ||
| 29 | <script> | ||
| 30 | import store from '@/store/index.js' | ||
| 31 | import { getUserCommonOpinion, addUserCommonOpinion, delUserCommonOpinion } from "@/api/fqsq.js" | ||
| 32 | export default { | ||
| 33 | components: {}, | ||
| 34 | props: { | ||
| 35 | formData: { | ||
| 36 | type: Object, | ||
| 37 | default: {} | ||
| 38 | } | ||
| 39 | }, | ||
| 40 | data () { | ||
| 41 | return { | ||
| 42 | addDialog: false, | ||
| 43 | columns: [ | ||
| 44 | { | ||
| 45 | label: '序号', | ||
| 46 | type: 'index', | ||
| 47 | width: '50', | ||
| 48 | }, | ||
| 49 | { | ||
| 50 | prop: "opinion", | ||
| 51 | label: "意见描述", | ||
| 52 | }, | ||
| 53 | { | ||
| 54 | label: '操作', | ||
| 55 | width: '100', | ||
| 56 | render: (h, scope) => { | ||
| 57 | return ( | ||
| 58 | <div> | ||
| 59 | <el-button type="text" onClick={() => { this.useCommonOpinion(scope.row) }}>使用</el-button> | ||
| 60 | <el-button type="text" onClick={() => { this.deleteOpinion(scope.row) }}>删除</el-button> | ||
| 61 | </div> | ||
| 62 | ) | ||
| 63 | } | ||
| 64 | } | ||
| 65 | ], | ||
| 66 | tableData: { | ||
| 67 | total: 0, | ||
| 68 | data: [], | ||
| 69 | }, | ||
| 70 | form: { | ||
| 71 | commonOpinion: '', | ||
| 72 | }, | ||
| 73 | rules: { | ||
| 74 | commonOpinion: [ | ||
| 75 | { required: true, message: '请输入常用意见', trigger: 'blur' } | ||
| 76 | ] | ||
| 77 | } | ||
| 78 | } | ||
| 79 | }, | ||
| 80 | mounted () { | ||
| 81 | this.getList() | ||
| 82 | }, | ||
| 83 | methods: { | ||
| 84 | getList () { | ||
| 85 | getUserCommonOpinion().then(res => { | ||
| 86 | this.tableData.data = res.result | ||
| 87 | }) | ||
| 88 | }, | ||
| 89 | //新增常用意见 | ||
| 90 | addOpinion () { | ||
| 91 | this.$refs.form.validate(valid => { | ||
| 92 | if (valid) { | ||
| 93 | addUserCommonOpinion({ commonOpinion: this.form.commonOpinion }).then(res => { | ||
| 94 | if (res.code == 200) { | ||
| 95 | this.$message.success("新增成功") | ||
| 96 | this.closeaddDiglog(); | ||
| 97 | this.getList() | ||
| 98 | } else { | ||
| 99 | this.$message.error(res.message) | ||
| 100 | } | ||
| 101 | }) | ||
| 102 | } else { | ||
| 103 | return false; | ||
| 104 | } | ||
| 105 | }); | ||
| 106 | }, | ||
| 107 | //打开新增弹窗 | ||
| 108 | openDialog () { | ||
| 109 | this.addDialog = true | ||
| 110 | }, | ||
| 111 | //关闭新增弹窗 | ||
| 112 | closeaddDiglog () { | ||
| 113 | this.addDialog = false | ||
| 114 | this.$refs['form'].resetFields(); | ||
| 115 | }, | ||
| 116 | handleRowClick (item) { | ||
| 117 | this.useCommonOpinion(item) | ||
| 118 | }, | ||
| 119 | //使用常用意见 | ||
| 120 | useCommonOpinion (item) { | ||
| 121 | store.dispatch('workflow/setOptions', item.opinion); | ||
| 122 | this.$popupCacel() | ||
| 123 | }, | ||
| 124 | //删除常用意见 | ||
| 125 | deleteOpinion (item) { | ||
| 126 | this.$confirm("确定要删除吗, 是否继续?", "提示", { | ||
| 127 | confirmButtonText: "确定", | ||
| 128 | cancelButtonText: "取消", | ||
| 129 | type: "warning", | ||
| 130 | }).then(() => { | ||
| 131 | delUserCommonOpinion({ bsmOpinion: item.bsmOpinion }).then(res => { | ||
| 132 | if (res.code == 200) { | ||
| 133 | this.$message.success("删除成功") | ||
| 134 | this.getList() | ||
| 135 | } else { | ||
| 136 | this.$message.error(res.message) | ||
| 137 | } | ||
| 138 | }) | ||
| 139 | }) | ||
| 140 | .catch(() => { | ||
| 141 | this.$message({ | ||
| 142 | type: "info", | ||
| 143 | message: "已取消删除", | ||
| 144 | }); | ||
| 145 | }); | ||
| 146 | }, | ||
| 147 | //关闭列表弹窗 | ||
| 148 | closeDialog () { | ||
| 149 | this.form.commonOpinion = ""; | ||
| 150 | } | ||
| 151 | } | ||
| 152 | } | ||
| 153 | </script> | ||
| 154 | <style scoped lang='scss'> | ||
| 155 | @import "~@/styles/mixin.scss"; | ||
| 156 | @import "~@/styles/dialogBox.scss"; | ||
| 157 | |||
| 158 | .invalid-reson { | ||
| 159 | margin-bottom: 10px; | ||
| 160 | } | ||
| 161 | |||
| 162 | .dialog-footer { | ||
| 163 | margin-top: 10px; | ||
| 164 | display: flex; | ||
| 165 | justify-content: flex-end; | ||
| 166 | } | ||
| 167 | </style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-05-04 14:13:28 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <lb-table :column="tableData.columns" heightNumSetting :pagination="false" :key="key" :data="tableData.data"> | ||
| 8 | </lb-table> | ||
| 9 | </template> | ||
| 10 | <script> | ||
| 11 | import { mapGetters } from 'vuex' | ||
| 12 | import { getSzRecordList } from "@/api/bdcqz.js"; | ||
| 13 | import table from "@/utils/mixin/table"; | ||
| 14 | import { datas } from "../../javascript/szxxdata"; | ||
| 15 | export default { | ||
| 16 | components: { | ||
| 17 | |||
| 18 | }, | ||
| 19 | mixins: [table], | ||
| 20 | computed: { | ||
| 21 | ...mapGetters(["dictData"]), | ||
| 22 | }, | ||
| 23 | props: { | ||
| 24 | formData: { | ||
| 25 | type: Object, | ||
| 26 | default: {} | ||
| 27 | } | ||
| 28 | }, | ||
| 29 | data () { | ||
| 30 | return { | ||
| 31 | key: 0, | ||
| 32 | dataIndex: 0, | ||
| 33 | dialog: false, | ||
| 34 | details: {}, | ||
| 35 | tableData: { | ||
| 36 | total: 0, | ||
| 37 | columns: datas.columns(), | ||
| 38 | data: [], | ||
| 39 | }, | ||
| 40 | } | ||
| 41 | }, | ||
| 42 | mounted () { | ||
| 43 | this.query() | ||
| 44 | }, | ||
| 45 | methods: { | ||
| 46 | query () { | ||
| 47 | getSzRecordList({ bsmBdcqz: this.formData.bsmBdcqz }).then(res => { | ||
| 48 | if (res.code == 200) { | ||
| 49 | this.tableData.data = res.result; | ||
| 50 | this.key++ | ||
| 51 | } | ||
| 52 | }) | ||
| 53 | } | ||
| 54 | } | ||
| 55 | } | ||
| 56 | </script> | ||
| 57 | <style scoped lang='scss'> | ||
| 58 | </style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-05-17 10:40:09 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <div> | ||
| 8 | <div class="zsdy-content loadingtext"> | ||
| 9 | <el-form | ||
| 10 | :model="ruleForm" | ||
| 11 | :rules="rules" | ||
| 12 | ref="ruleForm" | ||
| 13 | label-width="120px"> | ||
| 14 | <el-form-item label="印刷序列号:" prop="ysxlh"> | ||
| 15 | <el-select v-model="ruleForm.ysxlh" placeholder="请选择"> | ||
| 16 | <el-option | ||
| 17 | v-for="item in ysxlh" | ||
| 18 | :key="item.ysxlh" | ||
| 19 | :label="item.ysxlh" | ||
| 20 | :value="item.ysxlh"> | ||
| 21 | </el-option> | ||
| 22 | </el-select> | ||
| 23 | </el-form-item> | ||
| 24 | </el-form> | ||
| 25 | <img :src="previewImage" style="width: 100%"> | ||
| 26 | </div> | ||
| 27 | <div class="text-center pt-10"> | ||
| 28 | <el-button @click="$popupCacel">取消</el-button> | ||
| 29 | <el-button type="primary" @click="handleSubmit">确定</el-button> | ||
| 30 | </div> | ||
| 31 | </div> | ||
| 32 | </template> | ||
| 33 | |||
| 34 | <script> | ||
| 35 | import store from '@/store/index.js' | ||
| 36 | import { datas } from "../../javascript/zsyl.js"; | ||
| 37 | import { readYsxlh, certificate, bdcqzPreview } from "@/api/bdcqz.js"; | ||
| 38 | export default { | ||
| 39 | props: { | ||
| 40 | formData: { | ||
| 41 | type: Object, | ||
| 42 | default: () => { | ||
| 43 | return {} | ||
| 44 | } | ||
| 45 | } | ||
| 46 | }, | ||
| 47 | data () { | ||
| 48 | return { | ||
| 49 | //印刷序列号集合 | ||
| 50 | ysxlh: [], | ||
| 51 | //证书预览图片 | ||
| 52 | previewImage: '', | ||
| 53 | //列名称对象 | ||
| 54 | columns: [], | ||
| 55 | ruleForm: { | ||
| 56 | bsmBdcqz: "", | ||
| 57 | szmc: "不动产权证书", | ||
| 58 | bdcqzlx: "", | ||
| 59 | szzh: "", | ||
| 60 | ysxlh: "" | ||
| 61 | }, | ||
| 62 | rules: { | ||
| 63 | ysxlh: [ | ||
| 64 | { required: true, message: "请选择印刷序列号", trigger: "change" } | ||
| 65 | ] | ||
| 66 | } | ||
| 67 | } | ||
| 68 | }, | ||
| 69 | created () { | ||
| 70 | store.dispatch('user/refreshPage', false) | ||
| 71 | this.columns = datas.columns() | ||
| 72 | this.ysxlhList() | ||
| 73 | this.getBdcqzPreview() | ||
| 74 | }, | ||
| 75 | methods: { | ||
| 76 | //获取印刷序列号列表 | ||
| 77 | ysxlhList () { | ||
| 78 | readYsxlh({ zslx: this.formData.bdcqz.bdcqzlx }).then((res) => { | ||
| 79 | if (res.code === 200) { | ||
| 80 | this.ysxlh = res.result; | ||
| 81 | } | ||
| 82 | }) | ||
| 83 | }, | ||
| 84 | handleSubmit () { | ||
| 85 | this.savePrintRecord() | ||
| 86 | }, | ||
| 87 | //获取证书内容 | ||
| 88 | getRowValue (code) { | ||
| 89 | var value = this.bdcqz[code]; | ||
| 90 | return value; | ||
| 91 | }, | ||
| 92 | getBdcqzPreview () { | ||
| 93 | this.$startLoading() | ||
| 94 | bdcqzPreview(this.formData.bdcqz).then(res => { | ||
| 95 | this.$endLoading() | ||
| 96 | let blob = new Blob([res]); | ||
| 97 | let url = window.URL.createObjectURL(blob); | ||
| 98 | this.previewImage = url; | ||
| 99 | }) | ||
| 100 | }, | ||
| 101 | //保存打印记录 | ||
| 102 | savePrintRecord () { | ||
| 103 | this.ruleForm.bsmBdcqz = this.formData.bdcqz.bsmBdcqz; | ||
| 104 | this.ruleForm.bdcqzlx = this.formData.bdcqz.bdcqzlx; | ||
| 105 | this.ruleForm.szzh = this.formData.bdcqz.bdcqzh; | ||
| 106 | certificate(this.ruleForm).then((res) => { | ||
| 107 | if (res.code === 200) { | ||
| 108 | this.$popupCacel() | ||
| 109 | this.$message.success("提交成功") | ||
| 110 | //刷新列表 | ||
| 111 | store.dispatch('user/refreshPage', true); | ||
| 112 | } else { | ||
| 113 | this.$message.error(res.message) | ||
| 114 | } | ||
| 115 | }); | ||
| 116 | }, | ||
| 117 | }, | ||
| 118 | }; | ||
| 119 | </script> | ||
| 120 | <style scoped lang="scss"> | ||
| 121 | @import "~@/styles/mixin.scss"; | ||
| 122 | .zsdy-content { | ||
| 123 | height: 80vh; | ||
| 124 | overflow-y: scroll; | ||
| 125 | } | ||
| 126 | .aaaa { | ||
| 127 | width: 1024px; | ||
| 128 | height: 739px; | ||
| 129 | font-family: KaiTi; | ||
| 130 | font-weight: 700; | ||
| 131 | } | ||
| 132 | .bdcdjzm { | ||
| 133 | width: 1123px; | ||
| 134 | height: 794px; | ||
| 135 | font-family: KaiTi; | ||
| 136 | font-weight: 700; | ||
| 137 | } | ||
| 138 | .zmyl-box { | ||
| 139 | //position: relative; | ||
| 140 | position: absolute; | ||
| 141 | height: 600px; | ||
| 142 | width: 280px; | ||
| 143 | margin-left: 775px; | ||
| 144 | font-size: 16px; | ||
| 145 | justify-content: space-between; | ||
| 146 | } | ||
| 147 | .bdcqzh { | ||
| 148 | height: 70px; | ||
| 149 | left: 0; | ||
| 150 | bottom: 0; | ||
| 151 | font-size: 18px; | ||
| 152 | } | ||
| 153 | .zsyl-box { | ||
| 154 | display: flex; | ||
| 155 | justify-content: space-between; | ||
| 156 | // padding: 20px; | ||
| 157 | font-size: 16px; | ||
| 158 | height: 100%; | ||
| 159 | $left: 131px; | ||
| 160 | |||
| 161 | .zsyl-left { | ||
| 162 | width: 460px; | ||
| 163 | position: relative; | ||
| 164 | .qlr { | ||
| 165 | position: absolute; | ||
| 166 | top: 40px; | ||
| 167 | left: $left; | ||
| 168 | } | ||
| 169 | .gyqk { | ||
| 170 | position: absolute; | ||
| 171 | top: 80px; | ||
| 172 | left: $left; | ||
| 173 | } | ||
| 174 | .zl { | ||
| 175 | position: absolute; | ||
| 176 | top: 120px; | ||
| 177 | left: $left; | ||
| 178 | } | ||
| 179 | .bdcdyh { | ||
| 180 | position: absolute; | ||
| 181 | top: 160px; | ||
| 182 | left: $left; | ||
| 183 | } | ||
| 184 | .qllx { | ||
| 185 | position: absolute; | ||
| 186 | top: 205px; | ||
| 187 | left: $left; | ||
| 188 | } | ||
| 189 | .qlxz { | ||
| 190 | position: absolute; | ||
| 191 | top: 250px; | ||
| 192 | left: $left; | ||
| 193 | } | ||
| 194 | .yt { | ||
| 195 | position: absolute; | ||
| 196 | top: 290px; | ||
| 197 | left: $left; | ||
| 198 | } | ||
| 199 | .mj { | ||
| 200 | position: absolute; | ||
| 201 | top: 330px; | ||
| 202 | left: $left; | ||
| 203 | } | ||
| 204 | .syqx { | ||
| 205 | position: absolute; | ||
| 206 | top: 370px; | ||
| 207 | left: $left; | ||
| 208 | } | ||
| 209 | .qt { | ||
| 210 | position: absolute; | ||
| 211 | top: 420px; | ||
| 212 | left: $left; | ||
| 213 | } | ||
| 214 | } | ||
| 215 | .zsyl-right { | ||
| 216 | flex: 1; | ||
| 217 | text-align: left; | ||
| 218 | position: relative; | ||
| 219 | .fj { | ||
| 220 | position: absolute; | ||
| 221 | left: 115px; | ||
| 222 | top: 5px; | ||
| 223 | } | ||
| 224 | } | ||
| 225 | .zsyl-title { | ||
| 226 | margin-bottom: 12px; | ||
| 227 | } | ||
| 228 | /deep/.el-table__row { | ||
| 229 | background: #fafbe5 !important; | ||
| 230 | } | ||
| 231 | } | ||
| 232 | .middle_padding { | ||
| 233 | padding-bottom: 10px; | ||
| 234 | } | ||
| 235 | .zsyl-button { | ||
| 236 | text-align: center; | ||
| 237 | margin-top: 20px; | ||
| 238 | .operation_button { | ||
| 239 | width: 100px; | ||
| 240 | border: 1px solid rgb(0, 121, 254); | ||
| 241 | } | ||
| 242 | .dy-button { | ||
| 243 | color: white; | ||
| 244 | background-color: rgb(0, 121, 254); | ||
| 245 | } | ||
| 246 | } | ||
| 247 | </style> |
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-05-18 10:53:49 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px"> | ||
| 8 | <el-row> | ||
| 9 | <el-col :span="8"> | ||
| 10 | <el-form-item label="发证人姓名"> | ||
| 11 | <el-input v-model="ruleForm.fzrmc" disabled></el-input> | ||
| 12 | </el-form-item> | ||
| 13 | </el-col> | ||
| 14 | <el-col :span="8"> | ||
| 15 | <el-form-item label="发证时间"> | ||
| 16 | <el-input v-model="ruleForm.fzsj" disabled></el-input> | ||
| 17 | </el-form-item> | ||
| 18 | </el-col> | ||
| 19 | <el-col :span="8"> | ||
| 20 | <el-form-item label="发证数量"> | ||
| 21 | <el-input v-model="ruleForm.fzsl" disabled></el-input> | ||
| 22 | </el-form-item> | ||
| 23 | </el-col> | ||
| 24 | </el-row> | ||
| 25 | |||
| 26 | <lb-table :column="tableData.columns" @row-dblclick="handleRowClick" ref="table" @selection-change="handleSelectionChange" :data="tableData.data" | ||
| 27 | :pagination="false" | ||
| 28 | :calcHeight="300"> | ||
| 29 | </lb-table> | ||
| 30 | <el-row> | ||
| 31 | <el-col :span="6"> | ||
| 32 | <el-form-item label="领证人" prop="lzrxm"> | ||
| 33 | <el-input v-model="ruleForm.lzrxm"></el-input> | ||
| 34 | </el-form-item> | ||
| 35 | </el-col> | ||
| 36 | <el-col :span="6"> | ||
| 37 | <el-form-item label="证件类型" prop="lzrzjlb"> | ||
| 38 | <el-select v-model="ruleForm.lzrzjlb" filterable clearable placeholder="请选择"> | ||
| 39 | <el-option v-for="item in zjzlData" :key="item.dcode" :label="item.dname" :value="item.dcode"> | ||
| 40 | </el-option> | ||
| 41 | </el-select> | ||
| 42 | </el-form-item> | ||
| 43 | </el-col> | ||
| 44 | <el-col :span="6"> | ||
| 45 | <el-form-item label="证件号" prop="lzrzjh"> | ||
| 46 | <el-input v-model="ruleForm.lzrzjh"></el-input> | ||
| 47 | </el-form-item> | ||
| 48 | </el-col> | ||
| 49 | <el-col :span="6"> | ||
| 50 | <el-form-item label="领证人电话" prop="lzrdh"> | ||
| 51 | <el-input v-model="ruleForm.lzrdh"></el-input> | ||
| 52 | </el-form-item> | ||
| 53 | </el-col> | ||
| 54 | </el-row> | ||
| 55 | <el-form-item class="text-center"> | ||
| 56 | <el-button @click="$popupCacel">取消</el-button> | ||
| 57 | <el-button type="primary" @click="handleSubmit">确定</el-button> | ||
| 58 | </el-form-item> | ||
| 59 | </el-form> | ||
| 60 | </template> | ||
| 61 | <script> | ||
| 62 | import Vue from 'vue' | ||
| 63 | import store from '@/store/index.js' | ||
| 64 | import table from "@/utils/mixin/table"; | ||
| 65 | import { getUnclaimedBdcqz, issueCertificate } from "@/api/bdcqz.js"; | ||
| 66 | import { datas } from "../../javascript/fzxxdata"; | ||
| 67 | export default { | ||
| 68 | props: { | ||
| 69 | formData: { | ||
| 70 | type: Object, | ||
| 71 | default: () => { | ||
| 72 | return {} | ||
| 73 | } | ||
| 74 | } | ||
| 75 | }, | ||
| 76 | mixins: [table], | ||
| 77 | data () { | ||
| 78 | return { | ||
| 79 | zjzlData: store.getters.dictData['A30'], | ||
| 80 | ruleForm: { | ||
| 81 | fzrmc: '', | ||
| 82 | fzsj: '', | ||
| 83 | fzsl: '', | ||
| 84 | bdcqzList: [], | ||
| 85 | lzrxm: '', | ||
| 86 | lzrzjlb: '', | ||
| 87 | lzrzjh: '', | ||
| 88 | lzrdh: '' | ||
| 89 | }, | ||
| 90 | rules: { | ||
| 91 | lzrxm: [ | ||
| 92 | { required: true, message: '请输入领证人', trigger: 'blur' } | ||
| 93 | ], | ||
| 94 | lzrzjlb: [ | ||
| 95 | { required: true, message: '请选择证件类型', trigger: 'change' } | ||
| 96 | ], | ||
| 97 | lzrzjh: [ | ||
| 98 | { required: true, message: '请输入证件号', trigger: 'blur' } | ||
| 99 | ], | ||
| 100 | lzrdh: [ | ||
| 101 | { required: true, message: '请输入电话号码', trigger: 'blur' } | ||
| 102 | ] | ||
| 103 | }, | ||
| 104 | tableData: { | ||
| 105 | total: 0, | ||
| 106 | columns: datas.columns().lzgrid, | ||
| 107 | data: [] | ||
| 108 | } | ||
| 109 | } | ||
| 110 | }, | ||
| 111 | mounted () { | ||
| 112 | this.$nextTick(() => { | ||
| 113 | this.loadGrid() | ||
| 114 | }) | ||
| 115 | }, | ||
| 116 | methods: { | ||
| 117 | //列表初始化 | ||
| 118 | loadGrid () { | ||
| 119 | getUnclaimedBdcqz({ bsmSlsq: Vue.prototype.$currentRoute.query.bsmSlsq }).then(res => { | ||
| 120 | if (res.code === 200) { | ||
| 121 | this.tableData.data = res.result.list; | ||
| 122 | this.ruleForm.fzrmc = res.result.fzrmc | ||
| 123 | this.ruleForm.fzsj = res.result.fzsj | ||
| 124 | this.ruleForm.fzsl = res.result.fzsl | ||
| 125 | this.ruleForm.bdcqzList = res.result.list; | ||
| 126 | } | ||
| 127 | }) | ||
| 128 | }, | ||
| 129 | handleSelectionChange (val) { | ||
| 130 | this.ruleForm.bdcqzList = val | ||
| 131 | }, | ||
| 132 | handleRowClick (row) { | ||
| 133 | this.$refs.table.toggleRowSelection(row) | ||
| 134 | }, | ||
| 135 | handleSubmit () { | ||
| 136 | |||
| 137 | this.$refs.ruleForm.validate(valid => { | ||
| 138 | if (valid) { | ||
| 139 | issueCertificate(this.ruleForm).then(res => { | ||
| 140 | if (res.code == 200) { | ||
| 141 | this.$message.success('保存成功'); | ||
| 142 | this.$popupCacel() | ||
| 143 | } else { | ||
| 144 | this.$message.error(res.message) | ||
| 145 | } | ||
| 146 | }) | ||
| 147 | } else { | ||
| 148 | this.$message.error("请填写领取人信息!") | ||
| 149 | return false; | ||
| 150 | } | ||
| 151 | }) | ||
| 152 | } | ||
| 153 | } | ||
| 154 | } | ||
| 155 | </script> | ||
| 156 | <style scoped lang="scss"> | ||
| 157 | @import "~@/styles/mixin.scss"; | ||
| 158 | </style> | ||
| 159 | |||
| 160 |
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-05-29 14:22:48 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <div class="from-clues loadingtext" v-Loading="loading" element-loading-text="拼命加载中..." style="height:720px"> | ||
| 8 | <!-- 表单部分 --> | ||
| 9 | <el-tabs v-model="activeName" @tab-click="handleClick" v-if="headTabBdcqz.length > 1"> | ||
| 10 | <el-tab-pane :label="item.qlr + '(' + item.bdcqzh + ')'" :name="item.bsmBdcqz" | ||
| 11 | v-for="(item, index) in headTabBdcqz" :key="index"></el-tab-pane> | ||
| 12 | </el-tabs> | ||
| 13 | <div class="no-data" v-if="headTabBdcqz.length == 0">暂无数据</div> | ||
| 14 | <!-- <img :src="previewImage" class="imgClass"> --> | ||
| 15 | <canvas ref="canvas" :width="canvasWidth" :height="canvasHeight"></canvas> | ||
| 16 | </div> | ||
| 17 | </template> | ||
| 18 | |||
| 19 | <script> | ||
| 20 | import { datas } from "../../javascript/zsyl.js"; | ||
| 21 | import { getSlsqBdcqzList, bdcqzPreview } from "@/api/bdcqz.js" | ||
| 22 | export default { | ||
| 23 | name: "zsyl", | ||
| 24 | props: { | ||
| 25 | formData: { | ||
| 26 | type: Object, | ||
| 27 | default: {} | ||
| 28 | } | ||
| 29 | }, | ||
| 30 | data () { | ||
| 31 | return { | ||
| 32 | imgSrc: require('@/image/bdcqz/bdcqzs2.jpg'), | ||
| 33 | canvasWidth: 1018, | ||
| 34 | canvasHeight: 720, | ||
| 35 | |||
| 36 | loading: false, | ||
| 37 | //印刷序列号集合 | ||
| 38 | ysxlh: [], | ||
| 39 | //列名称对象 | ||
| 40 | columns: [], | ||
| 41 | //选择的不动产权证文件 | ||
| 42 | bdcqz: '', | ||
| 43 | //证书打开类型 是否需要展示打印按钮 | ||
| 44 | isToPrint: false, | ||
| 45 | //tab切换栏数组 | ||
| 46 | headTabBdcqz: [], | ||
| 47 | //tab选择绑定值 | ||
| 48 | activeName: '', | ||
| 49 | //证书图片预览 | ||
| 50 | previewImage: '', | ||
| 51 | ruleForm: { | ||
| 52 | bsmBdcqz: '', | ||
| 53 | szmc: '不动产权证书', | ||
| 54 | bdcqzlx: '', | ||
| 55 | szzh: '', | ||
| 56 | ysxlh: '', | ||
| 57 | }, | ||
| 58 | } | ||
| 59 | }, | ||
| 60 | mounted () { | ||
| 61 | this.columns = datas.columns(); | ||
| 62 | if (this.formData.bdcqz) { | ||
| 63 | //从缮证进入 | ||
| 64 | this.bdcqz = this.formData.bdcqz | ||
| 65 | } else { | ||
| 66 | //从按钮进入 | ||
| 67 | this.getHeadTabBdcqz(); | ||
| 68 | } | ||
| 69 | }, | ||
| 70 | methods: { | ||
| 71 | //获取证书内容 | ||
| 72 | getRowValue (code) { | ||
| 73 | var value = this.bdcqz[code]; | ||
| 74 | return value; | ||
| 75 | }, | ||
| 76 | //获取受理申请下全部不动产权证 | ||
| 77 | getHeadTabBdcqz () { | ||
| 78 | this.loading = true | ||
| 79 | getSlsqBdcqzList({ bsmSlsq: this.formData.bsmSlsq }).then(res => { | ||
| 80 | if (res.code == 200) { | ||
| 81 | if (res.result && res.result.length > 0) { | ||
| 82 | this.activeName = res.result[0].bsmBdcqz | ||
| 83 | this.bdcqz = res.result[0] | ||
| 84 | this.headTabBdcqz = res.result | ||
| 85 | this.drawTextOnImage(); | ||
| 86 | } | ||
| 87 | } | ||
| 88 | this.loading = false | ||
| 89 | }) | ||
| 90 | }, | ||
| 91 | //tab表头切换方法 | ||
| 92 | handleClick (e) { | ||
| 93 | this.bdcqz = this.headTabBdcqz[e.index - 0] | ||
| 94 | this.activeName = this.headTabBdcqz.bsmBdcqz | ||
| 95 | // this.getBdcqzPreview(); | ||
| 96 | this.drawTextOnImage() | ||
| 97 | }, | ||
| 98 | // getBdcqzPreview () { | ||
| 99 | // bdcqzPreview(this.bdcqz).then(res => { | ||
| 100 | // this.loading = false | ||
| 101 | // let blob = new Blob([res]); | ||
| 102 | // let url = window.URL.createObjectURL(blob); | ||
| 103 | // this.previewImage = url; | ||
| 104 | // this.drawTextOnImage() | ||
| 105 | // }) | ||
| 106 | // }, | ||
| 107 | drawTextOnImage () { | ||
| 108 | const canvas = this.$refs.canvas; | ||
| 109 | const context = canvas.getContext('2d'); | ||
| 110 | const image = new Image(); | ||
| 111 | image.onload = () => { | ||
| 112 | context.drawImage(image, 0, 0); | ||
| 113 | context.font = '15px 楷体'; | ||
| 114 | context.fillStyle = '#000000'; | ||
| 115 | context.fillText(this.bdcqz.sjjc ? this.bdcqz.sjjc : '', 60, 56); | ||
| 116 | context.fillText(this.bdcqz.djnd ? this.bdcqz.djnd : '', 113, 56); | ||
| 117 | context.fillText(this.bdcqz.sxqc ? this.bdcqz.sxqc : '', 180, 56); | ||
| 118 | context.fillText(this.bdcqz.sxh ? this.bdcqz.sxh : '', 370, 56); | ||
| 119 | context.fillText(this.bdcqz.qlr ? this.bdcqz.qlr : '', 138, 97); | ||
| 120 | context.fillText(this.bdcqz.gyqk ? this.bdcqz.gyqk : '', 138, 138); | ||
| 121 | context.fillText(this.bdcqz.zl ? this.bdcqz.zl : '', 138, 180); | ||
| 122 | context.fillText(this.bdcqz.bdcdyh ? this.bdcqz.bdcdyh : '', 138, 223); | ||
| 123 | context.fillText(this.bdcqz.qllx ? this.bdcqz.qllx : '', 138, 263); | ||
| 124 | context.fillText(this.bdcqz.qlxz ? this.bdcqz.qlxz : '', 138, 303); | ||
| 125 | context.fillText(this.bdcqz.yt ? this.bdcqz.yt : '', 138, 346); | ||
| 126 | context.fillText(this.bdcqz.mj ? this.bdcqz.mj : '', 138, 386); | ||
| 127 | context.fillText(this.bdcqz.syqx ? this.bdcqz.syqx : '', 138, 429); | ||
| 128 | context.fillText(this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk : '', 138, 469); | ||
| 129 | context.fillText(this.bdcqz.fj ? this.bdcqz.fj : '', 580, 100); | ||
| 130 | } | ||
| 131 | image.src = this.imgSrc; | ||
| 132 | } | ||
| 133 | } | ||
| 134 | } | ||
| 135 | </script> | ||
| 136 | <style scoped lang="scss"> | ||
| 137 | @import "~@/styles/mixin.scss"; | ||
| 138 | |||
| 139 | .imgClass { | ||
| 140 | display: inline-block; | ||
| 141 | height: auto; | ||
| 142 | max-width: 100%; | ||
| 143 | } | ||
| 144 | |||
| 145 | .middle_padding { | ||
| 146 | padding-bottom: 10px; | ||
| 147 | } | ||
| 148 | |||
| 149 | .zsyl-button { | ||
| 150 | text-align: center; | ||
| 151 | margin-top: 20px; | ||
| 152 | |||
| 153 | .operation_button { | ||
| 154 | width: 100px; | ||
| 155 | border: 1px solid rgb(0, 121, 254); | ||
| 156 | } | ||
| 157 | |||
| 158 | .dy-button { | ||
| 159 | color: white; | ||
| 160 | background-color: rgb(0, 121, 254); | ||
| 161 | } | ||
| 162 | } | ||
| 163 | |||
| 164 | .table-column { | ||
| 165 | border-spacing: 1px; | ||
| 166 | width: 100%; | ||
| 167 | |||
| 168 | tr td { | ||
| 169 | border: 1px solid #ccc; | ||
| 170 | text-align: center; | ||
| 171 | height: 40px; | ||
| 172 | padding: 4px; | ||
| 173 | font-size: 13px; | ||
| 174 | background: rgb(251, 249, 229); | ||
| 175 | } | ||
| 176 | } | ||
| 177 | |||
| 178 | .zsyl-title { | ||
| 179 | background: #fafbe5; | ||
| 180 | text-align: center; | ||
| 181 | padding: 5px 0px; | ||
| 182 | font-size: 20px; | ||
| 183 | } | ||
| 184 | |||
| 185 | .no-data { | ||
| 186 | font-size: 18px; | ||
| 187 | display: flex; | ||
| 188 | text-align: center; | ||
| 189 | justify-content: center; | ||
| 190 | } | ||
| 191 | </style> |
| 1 | <!-- | ||
| 2 | * @Description: 功能:流程图 | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-05-17 10:40:57 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <div class='flowChart'> | ||
| 8 | <img :src="formData" alt=""> | ||
| 9 | </div> | ||
| 10 | </template> | ||
| 11 | <script> | ||
| 12 | |||
| 13 | export default { | ||
| 14 | props: { | ||
| 15 | formData: { | ||
| 16 | type: String, | ||
| 17 | default: '' | ||
| 18 | } | ||
| 19 | } | ||
| 20 | } | ||
| 21 | </script> | ||
| 22 | <style scoped lang="scss"> | ||
| 23 | @import "~@/styles/mixin.scss"; | ||
| 24 | |||
| 25 | .flowChart { | ||
| 26 | margin: 20px 0; | ||
| 27 | } | ||
| 28 | </style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
src/views/djbworkflow/components/fzxx.vue
0 → 100644
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-05-16 15:55:45 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <div class="from-clues"> | ||
| 8 | <!-- 发证信息 --> | ||
| 9 | <div class="from-clues-header"> | ||
| 10 | <el-form :model="ruleForm"> | ||
| 11 | <el-row :gutter="20"> | ||
| 12 | <el-col :span="6"> | ||
| 13 | <el-form-item label="印刷序列号"> | ||
| 14 | <el-input v-model="ruleForm.ysxlh" clearable placeholder="请输入印刷序列号"></el-input> | ||
| 15 | </el-form-item> | ||
| 16 | </el-col> | ||
| 17 | <el-col :span="6"> | ||
| 18 | <el-form-item label="证书号"> | ||
| 19 | <el-input v-model="ruleForm.zsh" clearable placeholder="请输入证书号"></el-input> | ||
| 20 | </el-form-item> | ||
| 21 | </el-col> | ||
| 22 | <el-col :span="6"> | ||
| 23 | <el-form-item label="权利人"> | ||
| 24 | <el-input v-model="ruleForm.qlr" clearable placeholder="请输入权利人"></el-input> | ||
| 25 | </el-form-item> | ||
| 26 | </el-col> | ||
| 27 | <el-col :span="6" class="btnColRight"> | ||
| 28 | <el-form-item> | ||
| 29 | <el-button type="primary" icon="el-icon-search" @click="handleSearch">查询</el-button> | ||
| 30 | <el-button type="primary" icon="el-icon-search" @click="zslqClick">证书领取</el-button> | ||
| 31 | </el-form-item> | ||
| 32 | </el-col> | ||
| 33 | </el-row> | ||
| 34 | </el-form> | ||
| 35 | </div> | ||
| 36 | <div class="from-clues-content"> | ||
| 37 | <lb-table border :column="tableData.columns" :heightNum="210" :data="tableData.data" :pagination="false"> | ||
| 38 | </lb-table> | ||
| 39 | </div> | ||
| 40 | </div> | ||
| 41 | </template> | ||
| 42 | <script> | ||
| 43 | import table from "@/utils/mixin/table"; | ||
| 44 | import { getCertificateList } from "@/api/bdcqz.js"; | ||
| 45 | import { datas } from "../javascript/fzxxdata"; | ||
| 46 | export default { | ||
| 47 | mixins: [table], | ||
| 48 | data () { | ||
| 49 | return { | ||
| 50 | ruleForm: { | ||
| 51 | ysxlh: '', | ||
| 52 | zsh: '', | ||
| 53 | qlr: '', | ||
| 54 | bsmSldy: '' | ||
| 55 | }, | ||
| 56 | tableData: { | ||
| 57 | total: 0, | ||
| 58 | columns: datas.columns().fzgrid, | ||
| 59 | data: [] | ||
| 60 | }, | ||
| 61 | dialogVisible: false | ||
| 62 | } | ||
| 63 | }, | ||
| 64 | methods: { | ||
| 65 | queryClick () { | ||
| 66 | this.ruleForm.bsmSlsq = this.$route.query.bsmSlsq; | ||
| 67 | getCertificateList(this.ruleForm).then(res => { | ||
| 68 | if (res.code === 200) { | ||
| 69 | this.tableData.data = res.result ? res.result : [] | ||
| 70 | } | ||
| 71 | }) | ||
| 72 | }, | ||
| 73 | zslqClick () { | ||
| 74 | this.$popupDialog("不动产权证领取", "workflow/components/dialog/zslq", {}, '80%', true) | ||
| 75 | } | ||
| 76 | } | ||
| 77 | } | ||
| 78 | </script> | ||
| 79 | <style scoped lang='scss'> | ||
| 80 | @import "~@/styles/public.scss"; | ||
| 81 | </style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 1 | |||
| 2 | |||
| 3 | var qlxxPage = [ | ||
| 4 | { qllx: "A01", id: "jsydsyq", form: "jsydsyq.vue", label: "集体土地所有权" }, | ||
| 5 | { qllx: "A02", id: "jsydsyq", form: "jsydsyq.vue", label: "国家土地所有权" }, | ||
| 6 | { qllx: "A03", id: "jsydsyq", form: "jsydsyq.vue", label: "国有建设用地使用权" }, | ||
| 7 | { qllx: "A04", id: "", form: "", label: "国有建设用地使用权/房屋所有权" }, | ||
| 8 | { qllx: "A05", id: "jsydsyq", form: "jsydsyq.vue", label: "宅基地使用权" }, | ||
| 9 | { qllx: "A06", id: "", form: "", label: "宅基地使用权/房屋所有权" }, | ||
| 10 | { qllx: "A07", id: "jsydsyq", form: "jsydsyq.vue", label: "集体建设用地使用权" }, | ||
| 11 | { qllx: "A08", id: "", form: "", label: "集体建设用地使用权/房屋所有权" }, | ||
| 12 | { qllx: "A09", id: "jsydsyq", form: "jsydsyq.vue", label: "土地承包经营权" }, | ||
| 13 | { qllx: "A11", id: "jsydsyq", form: "jsydsyq.vue", label: "林地使用权" }, | ||
| 14 | { qllx: "A12", id: "jsydsyq", form: "jsydsyq.vue", label: "林地使用权/森林、林木使用权" }, | ||
| 15 | { qllx: "A13", id: "jsydsyq", form: "jsydsyq.vue", label: "草原使用权" }, | ||
| 16 | { qllx: "A14", id: "jsydsyq", form: "jsydsyq.vue", label: "水域滩涂养殖权" }, | ||
| 17 | { qllx: "A15", id: "jsydsyq", form: "jsydsyq.vue", label: "海域使用权" }, | ||
| 18 | { qllx: "A16", id: "jsydsyq", form: "jsydsyq.vue", label: "海域使用权/建(构)筑物所有权" }, | ||
| 19 | { qllx: "A17", id: "jsydsyq", form: "jsydsyq.vue", label: "海域使用权(无居民海岛)" }, | ||
| 20 | { qllx: "A18", id: "jsydsyq", form: "jsydsyq.vue", label: "海域使用权(无居民海岛)/建筑物(设施)使用权" }, | ||
| 21 | { qllx: "A19", id: "diyiq", form: "diyiq.vue", label: "地役权" }, | ||
| 22 | { qllx: "A23", id: "jsydsyq", form: "jsydsyq.vue", label: "国有农用地的使用权" }, | ||
| 23 | { qllx: "A24", id: "jsydsyq", form: "jsydsyq.vue", label: "国有建设用地使用权/构筑物所有权" }, | ||
| 24 | { qllx: "A25", id: "jsydsyq", form: "jsydsyq.vue", label: "宅基地使用权/构筑物所有权" }, | ||
| 25 | { qllx: "A26", id: "jsydsyq", form: "jsydsyq.vue", label: "集体建设用地使用权/构筑物所有权" }, | ||
| 26 | { qllx: "A29", id: "jsydsyq", form: "jsydsyq.vue", label: "国有未利用地的使用权" }, | ||
| 27 | { qllx: "A30", id: "jsydsyq", form: "jsydsyq.vue", label: "集体农用地使用权" }, | ||
| 28 | { qllx: "A31", id: "jsydsyq", form: "jsydsyq.vue", label: "土地承包经营权/森林、林木使用权" }, | ||
| 29 | { qllx: "A33", id: "jsydsyq", form: "jsydsyq.vue", label: "林地经营权/林木所有权" }, | ||
| 30 | { qllx: "A34", id: "jsydsyq", form: "jsydsyq.vue", label: "林地经营权/林木使用权" }, | ||
| 31 | { qllx: "A35", id: "jsydsyq", form: "jsydsyq.vue", label: "林地承包经营权/林木所有权" }, | ||
| 32 | { qllx: "A36", id: "jsydsyq", form: "jsydsyq.vue", label: "林地使用权/林木所有权" }, | ||
| 33 | { qllx: "A37", id: "diyaq", form: "diyaq.vue", label: "抵押权" }, | ||
| 34 | { qllx: "B37", id: "diyaq", form: "diyaq.vue", label: "抵押权" }, | ||
| 35 | { qllx: "B38", id: "yydj", form: "yydj.vue", label: "异议登记" }, | ||
| 36 | { qllx: "B39", id: "cfdj", form: "cfdj.vue", label: "查封登记" }, | ||
| 37 | { qllx: "B40", id: "ygdj", form: "ygdj.vue", label: "预告登记" }, | ||
| 38 | { qllx: "B41", id: "ygdj", form: "ygdj.vue", label: "预告登记" }, | ||
| 39 | ]; | ||
| 40 | |||
| 41 | //组装登记簿树形结构 | ||
| 42 | export function loadTreeData(qlxxData, bdcdyh) { | ||
| 43 | let treedata = []; | ||
| 44 | //加载封面 | ||
| 45 | treedata.push({ id: "djbfm", form: "djbfm.vue", label: "登记簿封面" }); | ||
| 46 | treedata.push({ id: "zdjbxx", form: "zdjbxx.vue", label: "宗地基本信息\n(" + bdcdyh.substring(0, 19) + ")", children: [] }); | ||
| 47 | treedata[1].children.push({ id: "bdcqldjml", form: "bdcqldjml.vue", label: "不动产权利登记目录", children: [] }); | ||
| 48 | treedata[1].children[0].children.push({ | ||
| 49 | id: "bdcqljqtsx", form: "bdcqljqtsx.vue", label: "不动产权利及其他事项\n (" + bdcdyh.slice(19) + ")", children: [], | ||
| 50 | }); | ||
| 51 | //主体权利 | ||
| 52 | treedata[1].children[0].children[0].children.push(getNode(qlxxData.ztqllx, qlxxData.ztql, qlxxData.bdcdylx)); | ||
| 53 | //抵押权 | ||
| 54 | treedata[1].children[0].children[0].children.push(getNode("A37", qlxxData.diyaq, '')); | ||
| 55 | //地役权 | ||
| 56 | treedata[1].children[0].children[0].children.push(getNode("A19", qlxxData.diyiq, '')); | ||
| 57 | //预告登记 | ||
| 58 | treedata[1].children[0].children[0].children.push(getNode("B40", qlxxData.ygdj, '')); | ||
| 59 | //异议登记 | ||
| 60 | treedata[1].children[0].children[0].children.push(getNode("B38", qlxxData.yydj, '')); | ||
| 61 | //查封登记 | ||
| 62 | treedata[1].children[0].children[0].children.push(getNode("B39", qlxxData.cfdj, '')); | ||
| 63 | |||
| 64 | return treedata; | ||
| 65 | } | ||
| 66 | |||
| 67 | //获取权利类型、不动产单元类型对应的树形节点信息 | ||
| 68 | export function getNode(qllx, qlxx, bdcdylx) { | ||
| 69 | let node; | ||
| 70 | for (var i = 0; i < qlxxPage.length; i++) { | ||
| 71 | if (qlxxPage[i].qllx == qllx) { | ||
| 72 | if (qllx == "A04" || qllx == "A06" || qllx == "A08") { | ||
| 73 | if (bdcdylx == "4") { | ||
| 74 | node = { id: "fdcq1", form: "fdcq1.vue", label: qlxxPage[i].label + "(临:" + qlxx.linShi + ",现:" + qlxx.xianShi + ",历:" + qlxx.liShi +")"}; | ||
| 75 | } else { | ||
| 76 | node = { id: "fdcq2", form: "fdcq2.vue", label: qlxxPage[i].label + "(临:" + qlxx.linShi + ",现:" + qlxx.xianShi + ",历:" + qlxx.liShi +")"}; | ||
| 77 | } | ||
| 78 | } else { | ||
| 79 | node = { id: qlxxPage[i].id, form: qlxxPage[i].form, label: qlxxPage[i].label + "(临:" + qlxx.linShi + ",现:" + qlxx.xianShi + ",历:" + qlxx.liShi +")"}; | ||
| 80 | } | ||
| 81 | break; | ||
| 82 | } | ||
| 83 | }; | ||
| 84 | return node; | ||
| 85 | } | ||
| 86 |
| 1 | <!-- | ||
| 2 | * @Description: workFrame左侧菜单列表-普通 | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-05-25 10:42:50 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <div class="leftmenu" :class="{ 'animation-map-drawer': isShowdrawer }"> | ||
| 8 | <div v-if="this.isShowdrawer"> | ||
| 9 | <div class="title"> | ||
| 10 | 登记簿列表 | ||
| 11 | </div> | ||
| 12 | <el-tree ref="tree" :data="treedata" :props="defaultProps" @node-click="handleNodeClick" | ||
| 13 | :default-expand-all="true" :expand-on-click-node="false" node-key="id" :default-checked-keys="[showTab]"> | ||
| 14 | </el-tree> | ||
| 15 | </div> | ||
| 16 | <div class="map-drawer-click map-drawer" v-if="!isShowdrawer" @click=" | ||
| 17 | () => { | ||
| 18 | this.isShowdrawer = !this.isShowdrawer; | ||
| 19 | } | ||
| 20 | "></div> | ||
| 21 | <div class="map-drawer-expand map-drawer" v-else @click=" | ||
| 22 | () => { | ||
| 23 | this.isShowdrawer = !this.isShowdrawer; | ||
| 24 | } | ||
| 25 | "></div> | ||
| 26 | </div> | ||
| 27 | </template> | ||
| 28 | <script> | ||
| 29 | import { mapGetters } from 'vuex' | ||
| 30 | import { leftMenu } from "@/api/fqsq.js" | ||
| 31 | import { deleteSlbdcdy } from "@/api/ywbl.js"; | ||
| 32 | import { getBdcqljqtsx } from "@/api/registerBook.js"; | ||
| 33 | import { loadTreeData, getNode } from "./djbFrameData.js"; | ||
| 34 | export default { | ||
| 35 | data () { | ||
| 36 | return { | ||
| 37 | //受理申请标识码 | ||
| 38 | bsmSlsq: this.$route.query.bsmSlsq, | ||
| 39 | //当前流程所在环节 | ||
| 40 | bestepid: this.$route.query.bestepid, | ||
| 41 | //受理申请标识码 | ||
| 42 | bdcdyid: this.$route.query.bdcdyid, | ||
| 43 | //当前流程所在环节 | ||
| 44 | bdcdyh: this.$route.query.bdcdyh, | ||
| 45 | qllx:this.$route.query.qllx, | ||
| 46 | // 默认选中 | ||
| 47 | activeIndex: '0', | ||
| 48 | // 折叠 | ||
| 49 | isShowdrawer: true, | ||
| 50 | // 批量操作 | ||
| 51 | showBatch: false, | ||
| 52 | //批量操作按钮名称 | ||
| 53 | batchButtonName: '', | ||
| 54 | //左侧菜单数据集合 | ||
| 55 | unitData: [], | ||
| 56 | // 设置表单传递数据 | ||
| 57 | currentSelectProps: {}, | ||
| 58 | //左侧树形结构数据 | ||
| 59 | treedata: [], | ||
| 60 | defaultNode: "", | ||
| 61 | defaultProps: { | ||
| 62 | value: "id", | ||
| 63 | children: "children", | ||
| 64 | label: "label", | ||
| 65 | }, | ||
| 66 | showTab: "bdcqldjml", // 选中状态,根据表格中权利类型判断 | ||
| 67 | } | ||
| 68 | }, | ||
| 69 | mounted () { | ||
| 70 | this.loadBdcdylist(); | ||
| 71 | }, | ||
| 72 | computed: { | ||
| 73 | ...mapGetters(['isRefresh']) | ||
| 74 | }, | ||
| 75 | watch: { | ||
| 76 | isRefresh: { | ||
| 77 | handler (newVal, oldVal) { | ||
| 78 | if (newVal) this.loadBdcdylist() | ||
| 79 | }, | ||
| 80 | immediate: true | ||
| 81 | } | ||
| 82 | }, | ||
| 83 | methods: { | ||
| 84 | //读取申请单元信息 | ||
| 85 | loadBdcdylist () { | ||
| 86 | this.loadData () | ||
| 87 | }, | ||
| 88 | // 获取登记簿菜单 | ||
| 89 | loadData () { | ||
| 90 | getBdcqljqtsx({ | ||
| 91 | bdcdyid: this.bdcdyid, | ||
| 92 | bdcdyh: this.bdcdyh, | ||
| 93 | }).then((res) => { | ||
| 94 | if (res.code === 200) { | ||
| 95 | console.log("res.result","res.result",res.result); | ||
| 96 | this.treedata = loadTreeData(res.result, this.bdcdyh); | ||
| 97 | console.log("this.treedata","this.treedata",this.treedata); | ||
| 98 | this.$nextTick(function () { | ||
| 99 | this.defaultNode = getNode(this.qllx, { linShi: 0, xianShi: 0, liShi: 0 }, ""); | ||
| 100 | this.$refs.tree.setCurrentKey(this.defaultNode.id); //data[0].id为默认选中的节点 | ||
| 101 | this.$parent.loadComponent(this.currentSelectProps,this.defaultNode); | ||
| 102 | }); | ||
| 103 | } | ||
| 104 | }); | ||
| 105 | this.currentSelectProps = { | ||
| 106 | bdcdyid: this.bdcdyid, | ||
| 107 | bdcdyh: this.bdcdyh, | ||
| 108 | qllx: this.qllx, | ||
| 109 | bsmQlxx: this.bsmQlxx, | ||
| 110 | }; | ||
| 111 | // this.$parent.stepForm(); | ||
| 112 | }, | ||
| 113 | handleNodeClick (data, node, elem) { | ||
| 114 | this.$parent.loadComponent(this.currentSelectProps,data); | ||
| 115 | }, | ||
| 116 | |||
| 117 | } | ||
| 118 | } | ||
| 119 | </script> | ||
| 120 | <style scoped lang='scss'> | ||
| 121 | @import "~@/styles/mixin.scss"; | ||
| 122 | @import "../../workFrame.scss"; | ||
| 123 | .leftmenu ul { | ||
| 124 | height: calc(100vh - 120px); | ||
| 125 | } | ||
| 126 | /deep/.rollTable { | ||
| 127 | height: calc(100vh - 240px) !important; | ||
| 128 | } | ||
| 129 | |||
| 130 | .content { | ||
| 131 | width: 100%; | ||
| 132 | height: 100%; | ||
| 133 | display: flex; | ||
| 134 | |||
| 135 | .left { | ||
| 136 | width: 256px; | ||
| 137 | height: 704px; | ||
| 138 | background-color: #f5f5f5; | ||
| 139 | color: #333; | ||
| 140 | border: 1px solid rgb(228, 228, 228); | ||
| 141 | } | ||
| 142 | |||
| 143 | .right { | ||
| 144 | width: calc(100% - 256px); | ||
| 145 | height: 704px; | ||
| 146 | // overflow-y: scroll; | ||
| 147 | overflow: auto; | ||
| 148 | background-color: #f5f5f5; | ||
| 149 | border: 1px solid rgb(228, 228, 228); | ||
| 150 | } | ||
| 151 | } | ||
| 152 | |||
| 153 | /deep/ .expanded.el-tree-node__expand-icon, | ||
| 154 | /deep/ .el-tree-node__expand-icon { | ||
| 155 | visibility: hidden; | ||
| 156 | } | ||
| 157 | |||
| 158 | /deep/ .el-tree-node__content { | ||
| 159 | border: 1px solid rgb(228, 228, 228); | ||
| 160 | height: 45px; | ||
| 161 | } | ||
| 162 | |||
| 163 | /deep/ .el-tree-node:focus>.el-tree-node__content { | ||
| 164 | background-color: #f5f5f5; | ||
| 165 | color: #0079fe; | ||
| 166 | border-right: 4px solid #0079fe; | ||
| 167 | } | ||
| 168 | |||
| 169 | /deep/.el-tree-node { | ||
| 170 | white-space: pre-wrap; | ||
| 171 | } | ||
| 172 | |||
| 173 | /deep/ .is-current>.el-tree-node__content { | ||
| 174 | background-color: #f5f5f5; | ||
| 175 | color: #0079fe; | ||
| 176 | border-right: 4px solid #0079fe; | ||
| 177 | } | ||
| 178 | .title-batch{ | ||
| 179 | background-color: salmon; | ||
| 180 | |||
| 181 | } | ||
| 182 | </style> |
| 1 | import filter from '@/utils/filter.js' | ||
| 2 | |||
| 3 | class data extends filter { | ||
| 4 | constructor() { | ||
| 5 | super() | ||
| 6 | } | ||
| 7 | columns() { | ||
| 8 | return { | ||
| 9 | //空列值个数 | ||
| 10 | emptycolNum: 3, | ||
| 11 | checkList: ["0", "1", "2"], | ||
| 12 | //权属状态集合 | ||
| 13 | qsztList: [ | ||
| 14 | { | ||
| 15 | value: "0", | ||
| 16 | label: "临时", | ||
| 17 | }, | ||
| 18 | { | ||
| 19 | value: "1", | ||
| 20 | label: "现势", | ||
| 21 | }, | ||
| 22 | { | ||
| 23 | value: "2", | ||
| 24 | label: "历史", | ||
| 25 | }, | ||
| 26 | ], | ||
| 27 | JSYDSYQ: [ | ||
| 28 | { | ||
| 29 | prop: "qszt", | ||
| 30 | label: "权属状态", | ||
| 31 | }, | ||
| 32 | { | ||
| 33 | prop: "qllxmc", | ||
| 34 | label: "权利类型", | ||
| 35 | }, | ||
| 36 | { | ||
| 37 | prop: "djlxmc", | ||
| 38 | label: "登记类型", | ||
| 39 | }, | ||
| 40 | { | ||
| 41 | prop: "ssywh", | ||
| 42 | label: "上手业务号", | ||
| 43 | }, | ||
| 44 | { | ||
| 45 | prop: "dah", | ||
| 46 | label: "档案号", | ||
| 47 | }, | ||
| 48 | { | ||
| 49 | prop: "ywh", | ||
| 50 | label: "业务号", | ||
| 51 | }, | ||
| 52 | { | ||
| 53 | prop: "bdcdyh", | ||
| 54 | label: "不动产单元号", | ||
| 55 | }, | ||
| 56 | { | ||
| 57 | prop: "zl", | ||
| 58 | label: "坐落", | ||
| 59 | }, | ||
| 60 | { | ||
| 61 | prop: "gyqk", | ||
| 62 | label: "共有情况", | ||
| 63 | }, | ||
| 64 | { | ||
| 65 | prop: "qlrlx", | ||
| 66 | label: "权利人类型", | ||
| 67 | }, | ||
| 68 | { | ||
| 69 | prop: "qlrmc", | ||
| 70 | label: "权利人", | ||
| 71 | }, | ||
| 72 | { | ||
| 73 | prop: "qlrzjzl", | ||
| 74 | label: "证件种类", | ||
| 75 | }, | ||
| 76 | { | ||
| 77 | prop: "qlrzjhm", | ||
| 78 | label: "证件号", | ||
| 79 | }, | ||
| 80 | { | ||
| 81 | prop: "mj", | ||
| 82 | label: "使用权面积(m²)", | ||
| 83 | }, | ||
| 84 | { | ||
| 85 | prop: "qlxzmc", | ||
| 86 | label: "权利性质", | ||
| 87 | }, | ||
| 88 | { | ||
| 89 | prop: "ytmc", | ||
| 90 | label: "土地用途", | ||
| 91 | }, | ||
| 92 | { | ||
| 93 | prop: "syqqzsj", | ||
| 94 | label: "使用权起止时间", | ||
| 95 | }, | ||
| 96 | // { | ||
| 97 | // prop: "syqjssj", | ||
| 98 | // label: "使用权结束时间", | ||
| 99 | // }, | ||
| 100 | // { | ||
| 101 | // prop: "tdsyqx", | ||
| 102 | // label: "土地使用期限", | ||
| 103 | // }, | ||
| 104 | { | ||
| 105 | prop: "tdsyqx", | ||
| 106 | label: "土地使用期限", | ||
| 107 | }, | ||
| 108 | { | ||
| 109 | prop: "qdjg", | ||
| 110 | label: "取得价格(万元)", | ||
| 111 | }, | ||
| 112 | { | ||
| 113 | prop: "djyy", | ||
| 114 | label: "登记原因", | ||
| 115 | }, | ||
| 116 | { | ||
| 117 | prop: "bdcqzh", | ||
| 118 | label: "不动产权证号", | ||
| 119 | }, | ||
| 120 | { | ||
| 121 | prop: "djsj", | ||
| 122 | label: "登记时间", | ||
| 123 | }, | ||
| 124 | { | ||
| 125 | prop: "dbr", | ||
| 126 | label: "登簿人", | ||
| 127 | }, | ||
| 128 | { | ||
| 129 | prop: "fj", | ||
| 130 | label: "附记", | ||
| 131 | }, | ||
| 132 | ], | ||
| 133 | FDCQ2: [ | ||
| 134 | { | ||
| 135 | prop: "qszt", | ||
| 136 | label: "权属状态", | ||
| 137 | }, | ||
| 138 | { | ||
| 139 | prop: "qllxmc", | ||
| 140 | label: "权利类型", | ||
| 141 | }, | ||
| 142 | { | ||
| 143 | prop: "djlxmc", | ||
| 144 | label: "登记类型", | ||
| 145 | }, | ||
| 146 | { | ||
| 147 | prop: "ssywh", | ||
| 148 | label: "上手业务号", | ||
| 149 | }, | ||
| 150 | { | ||
| 151 | prop: "dah", | ||
| 152 | label: "档案号", | ||
| 153 | }, | ||
| 154 | { | ||
| 155 | prop: "ywh", | ||
| 156 | label: "业务号", | ||
| 157 | }, | ||
| 158 | { | ||
| 159 | prop: "bdcdyh", | ||
| 160 | label: "不动产单元号", | ||
| 161 | }, | ||
| 162 | { | ||
| 163 | prop: "zl", | ||
| 164 | label: "坐落", | ||
| 165 | }, | ||
| 166 | { | ||
| 167 | prop: "gyfs", | ||
| 168 | label: "共有情况", | ||
| 169 | }, | ||
| 170 | { | ||
| 171 | prop: "qlrlx", | ||
| 172 | label: "权利人类型", | ||
| 173 | }, | ||
| 174 | { | ||
| 175 | prop: "qlrmc", | ||
| 176 | label: "权利人", | ||
| 177 | }, | ||
| 178 | { | ||
| 179 | prop: "qlrzjzl", | ||
| 180 | label: "证件种类", | ||
| 181 | }, | ||
| 182 | { | ||
| 183 | prop: "qlrzjhm", | ||
| 184 | label: "证件号", | ||
| 185 | }, | ||
| 186 | { | ||
| 187 | prop: "tdsyqr", | ||
| 188 | label: "土地使用权人", | ||
| 189 | }, | ||
| 190 | { | ||
| 191 | prop: "dytdmj", | ||
| 192 | label: "独用土地面积(m²)", | ||
| 193 | }, | ||
| 194 | { | ||
| 195 | prop: "fttdmj", | ||
| 196 | label: "分摊土地面积(m²)", | ||
| 197 | }, | ||
| 198 | { | ||
| 199 | prop: "tdsyqzsj", | ||
| 200 | label: "土地使用期限", | ||
| 201 | }, | ||
| 202 | { | ||
| 203 | prop: "syqqzsj", | ||
| 204 | label: "使用权起止时间", | ||
| 205 | }, | ||
| 206 | { | ||
| 207 | prop: "fdcjyjg", | ||
| 208 | label: "房地产交易价格(万元)", | ||
| 209 | }, | ||
| 210 | { | ||
| 211 | prop: "ytmc", | ||
| 212 | label: "规划用途", | ||
| 213 | }, | ||
| 214 | { | ||
| 215 | prop: "fwxzmc", | ||
| 216 | label: "房屋性质", | ||
| 217 | }, | ||
| 218 | { | ||
| 219 | prop: "fwjgmc", | ||
| 220 | label: "房屋结构", | ||
| 221 | }, | ||
| 222 | { | ||
| 223 | prop: "szc", | ||
| 224 | label: "所在层", | ||
| 225 | }, | ||
| 226 | { | ||
| 227 | prop: "zcs", | ||
| 228 | label: "总层数", | ||
| 229 | }, | ||
| 230 | { | ||
| 231 | prop: "mj", | ||
| 232 | label: "建筑面积(m2)", | ||
| 233 | }, | ||
| 234 | { | ||
| 235 | prop: "zyjzmj", | ||
| 236 | label: "专有建筑面积(m2)", | ||
| 237 | }, | ||
| 238 | |||
| 239 | { | ||
| 240 | prop: "ftjzmj", | ||
| 241 | label: "分摊建筑面积(m2)", | ||
| 242 | }, | ||
| 243 | { | ||
| 244 | prop: "jgsj", | ||
| 245 | label: "竣工时间", | ||
| 246 | }, | ||
| 247 | { | ||
| 248 | prop: "djyy", | ||
| 249 | label: "登记原因", | ||
| 250 | }, | ||
| 251 | { | ||
| 252 | prop: "bdcqzh", | ||
| 253 | label: "不动产权证号", | ||
| 254 | }, | ||
| 255 | { | ||
| 256 | prop: "djsj", | ||
| 257 | label: "登记时间", | ||
| 258 | }, | ||
| 259 | { | ||
| 260 | prop: "dbr", | ||
| 261 | label: "登簿人", | ||
| 262 | }, | ||
| 263 | { | ||
| 264 | prop: "fj", | ||
| 265 | label: "附记", | ||
| 266 | }, | ||
| 267 | ], | ||
| 268 | NYDSYQ: [ | ||
| 269 | { | ||
| 270 | prop: "qszt", | ||
| 271 | label: "权属状态", | ||
| 272 | }, | ||
| 273 | { | ||
| 274 | prop: "qllxmc", | ||
| 275 | label: "权利类型", | ||
| 276 | }, | ||
| 277 | { | ||
| 278 | prop: "djlxmc", | ||
| 279 | label: "登记类型", | ||
| 280 | }, | ||
| 281 | { | ||
| 282 | prop: "ssywh", | ||
| 283 | label: "上手业务号", | ||
| 284 | }, | ||
| 285 | { | ||
| 286 | prop: "dah", | ||
| 287 | label: "档案号", | ||
| 288 | }, | ||
| 289 | { | ||
| 290 | prop: "ywh", | ||
| 291 | label: "业务号", | ||
| 292 | }, | ||
| 293 | { | ||
| 294 | prop: "bdcdyh", | ||
| 295 | label: "不动产单元号", | ||
| 296 | }, | ||
| 297 | { | ||
| 298 | prop: "zl", | ||
| 299 | label: "坐落", | ||
| 300 | }, | ||
| 301 | { | ||
| 302 | prop: "gyqk", | ||
| 303 | label: "共有情况", | ||
| 304 | }, | ||
| 305 | { | ||
| 306 | prop: "qlrlx", | ||
| 307 | label: "权利人类型", | ||
| 308 | }, | ||
| 309 | { | ||
| 310 | prop: "qlrmc", | ||
| 311 | label: "权利人", | ||
| 312 | }, | ||
| 313 | { | ||
| 314 | prop: "qlrzjzl", | ||
| 315 | label: "证件种类", | ||
| 316 | }, | ||
| 317 | { | ||
| 318 | prop: "qlrzjhm", | ||
| 319 | label: "证件号", | ||
| 320 | }, | ||
| 321 | { | ||
| 322 | prop: "mj", | ||
| 323 | label: "使用权面积(m²)", | ||
| 324 | }, | ||
| 325 | { | ||
| 326 | prop: "qlxzmc", | ||
| 327 | label: "权利性质", | ||
| 328 | }, | ||
| 329 | { | ||
| 330 | prop: "ytmc", | ||
| 331 | label: "土地用途", | ||
| 332 | }, | ||
| 333 | { | ||
| 334 | prop: "fbfdm", | ||
| 335 | label: "发包方代码", | ||
| 336 | }, | ||
| 337 | { | ||
| 338 | prop: "fbfmc", | ||
| 339 | label: "发包方名称", | ||
| 340 | }, | ||
| 341 | { | ||
| 342 | prop: "cbqzsj", | ||
| 343 | label: "承包起止时间", | ||
| 344 | }, | ||
| 345 | { | ||
| 346 | prop: "cbqx", | ||
| 347 | label: "承包期限", | ||
| 348 | }, | ||
| 349 | { | ||
| 350 | prop: "tdsyqxzmc", | ||
| 351 | label: "土地所有权性质", | ||
| 352 | }, | ||
| 353 | { | ||
| 354 | prop: "syttlxmc", | ||
| 355 | label: "水域滩涂类型", | ||
| 356 | }, | ||
| 357 | { | ||
| 358 | prop: "yzyfsmc", | ||
| 359 | label: "养殖业方式", | ||
| 360 | }, | ||
| 361 | { | ||
| 362 | prop: "cyzl", | ||
| 363 | label: "草原质量", | ||
| 364 | }, | ||
| 365 | { | ||
| 366 | prop: "syzcl", | ||
| 367 | label: "适宜载畜量", | ||
| 368 | }, | ||
| 369 | { | ||
| 370 | prop: "ydyhflmc", | ||
| 371 | label: "用地用海分类", | ||
| 372 | }, | ||
| 373 | { | ||
| 374 | prop: "djyy", | ||
| 375 | label: "登记原因", | ||
| 376 | }, | ||
| 377 | { | ||
| 378 | prop: "bdcqzh", | ||
| 379 | label: "不动产权证号", | ||
| 380 | }, | ||
| 381 | { | ||
| 382 | prop: "djsj", | ||
| 383 | label: "登记时间", | ||
| 384 | }, | ||
| 385 | { | ||
| 386 | prop: "dbr", | ||
| 387 | label: "登簿人", | ||
| 388 | }, | ||
| 389 | { | ||
| 390 | prop: "fj", | ||
| 391 | label: "附记", | ||
| 392 | }, | ||
| 393 | ], | ||
| 394 | DYAQ: [ | ||
| 395 | { | ||
| 396 | prop: "qszt", | ||
| 397 | label: "权属状态", | ||
| 398 | }, | ||
| 399 | { | ||
| 400 | prop: "dybdclx", | ||
| 401 | label: "抵押不动产类型", | ||
| 402 | }, | ||
| 403 | { | ||
| 404 | prop: "djlxmc", | ||
| 405 | label: "登记类型", | ||
| 406 | }, | ||
| 407 | { | ||
| 408 | prop: "ssywh", | ||
| 409 | label: "上手业务号", | ||
| 410 | }, | ||
| 411 | { | ||
| 412 | prop: "dah", | ||
| 413 | label: "档案号", | ||
| 414 | }, | ||
| 415 | { | ||
| 416 | prop: "ywh", | ||
| 417 | label: "业务号", | ||
| 418 | }, | ||
| 419 | { | ||
| 420 | prop: "bdcdyh", | ||
| 421 | label: "不动产单元号", | ||
| 422 | }, | ||
| 423 | { | ||
| 424 | prop: "zl", | ||
| 425 | label: "在建建筑物坐落", | ||
| 426 | }, | ||
| 427 | { | ||
| 428 | prop: "qlrmc", | ||
| 429 | label: "抵押权人", | ||
| 430 | }, | ||
| 431 | { | ||
| 432 | prop: "qlrzjzl", | ||
| 433 | label: "抵押权人证件种类", | ||
| 434 | }, | ||
| 435 | { | ||
| 436 | prop: "qlrzjhm", | ||
| 437 | label: "抵押权人证件号", | ||
| 438 | }, | ||
| 439 | { | ||
| 440 | prop: "ywrmc", | ||
| 441 | label: "抵押人", | ||
| 442 | }, | ||
| 443 | { | ||
| 444 | prop: "ywrzjzl", | ||
| 445 | label: "抵押人证件种类", | ||
| 446 | }, | ||
| 447 | { | ||
| 448 | prop: "ywrzjhm", | ||
| 449 | label: "抵押人证件号", | ||
| 450 | }, | ||
| 451 | { | ||
| 452 | prop: "dyfs", | ||
| 453 | label: "抵押方式", | ||
| 454 | render: (h, scope) => { | ||
| 455 | return ( | ||
| 456 | <div> | ||
| 457 | <span v-show={scope.row.dyfs == '1'}>一般抵押权</span> | ||
| 458 | <span v-show={scope.row.dyfs == '2'}>最高额抵押权</span> | ||
| 459 | </div> | ||
| 460 | ) | ||
| 461 | } | ||
| 462 | }, | ||
| 463 | { | ||
| 464 | prop: "sfygdj", | ||
| 465 | label: "是否预告登记", | ||
| 466 | }, | ||
| 467 | { | ||
| 468 | prop: "zjjzwdyfw", | ||
| 469 | label: "在建建筑物抵押范围", | ||
| 470 | }, | ||
| 471 | { | ||
| 472 | prop: "dymj", | ||
| 473 | label: "抵押面积", | ||
| 474 | }, | ||
| 475 | { | ||
| 476 | prop: "bdbzzqse", | ||
| 477 | label: "被担保主债权数额(万元)", | ||
| 478 | }, | ||
| 479 | { | ||
| 480 | prop: "dbfw", | ||
| 481 | label: "担保范围", | ||
| 482 | }, | ||
| 483 | { | ||
| 484 | prop: "zwlxqssj", | ||
| 485 | label: "债务履行起始时间", | ||
| 486 | }, | ||
| 487 | { | ||
| 488 | prop: "zwlxjssj", | ||
| 489 | label: "债务履行结束时间", | ||
| 490 | }, | ||
| 491 | { | ||
| 492 | prop: "zwlxqx", | ||
| 493 | label: "债务履行期限(债务确定期间)", | ||
| 494 | }, | ||
| 495 | { | ||
| 496 | prop: "zgzqqdsshse", | ||
| 497 | label: "最高债权确定事实和数额", | ||
| 498 | }, | ||
| 499 | { | ||
| 500 | prop: "sfczyd", | ||
| 501 | label: "是否存在禁止或限制转让抵押不动产的约定", | ||
| 502 | }, | ||
| 503 | { | ||
| 504 | prop: "djyy", | ||
| 505 | label: "登记原因", | ||
| 506 | }, | ||
| 507 | { | ||
| 508 | prop: "bdcqzh", | ||
| 509 | label: "不动产登记证明号", | ||
| 510 | }, | ||
| 511 | { | ||
| 512 | prop: "fj", | ||
| 513 | label: "附记", | ||
| 514 | }, | ||
| 515 | { | ||
| 516 | prop: "qlqtzk", | ||
| 517 | label: "权利其他状况", | ||
| 518 | }, | ||
| 519 | { | ||
| 520 | prop: "djsj", | ||
| 521 | label: "登记时间", | ||
| 522 | }, | ||
| 523 | { | ||
| 524 | prop: "dbr", | ||
| 525 | label: "登簿人", | ||
| 526 | }, | ||
| 527 | { | ||
| 528 | prop: "djjg", | ||
| 529 | label: "登记机构", | ||
| 530 | }, | ||
| 531 | { | ||
| 532 | prop: "zxywh", | ||
| 533 | label: "注销抵押业务号", | ||
| 534 | }, | ||
| 535 | { | ||
| 536 | prop: "zxdyyy", | ||
| 537 | label: "注销抵押原因", | ||
| 538 | }, | ||
| 539 | { | ||
| 540 | prop: "zxsj", | ||
| 541 | label: "注销登记时间", | ||
| 542 | }, | ||
| 543 | { | ||
| 544 | prop: "zxdbr", | ||
| 545 | label: "登簿人", | ||
| 546 | }, | ||
| 547 | |||
| 548 | ], | ||
| 549 | DYIQ: [ | ||
| 550 | { | ||
| 551 | prop: "qszt", | ||
| 552 | label: "权属状态", | ||
| 553 | }, | ||
| 554 | { | ||
| 555 | prop: "djlxmc", | ||
| 556 | label: "登记类型", | ||
| 557 | }, | ||
| 558 | { | ||
| 559 | prop: "ssywh", | ||
| 560 | label: "上手业务号", | ||
| 561 | }, | ||
| 562 | { | ||
| 563 | prop: "dah", | ||
| 564 | label: "档案号", | ||
| 565 | }, | ||
| 566 | { | ||
| 567 | prop: "ywh", | ||
| 568 | label: "业务号", | ||
| 569 | }, | ||
| 570 | { | ||
| 571 | prop: "gydbdcdyh", | ||
| 572 | label: "供役地不动产单元号", | ||
| 573 | }, | ||
| 574 | { | ||
| 575 | prop: "gydqlr", | ||
| 576 | label: "供役地权利人", | ||
| 577 | }, | ||
| 578 | { | ||
| 579 | prop: "gydqlrzjzl", | ||
| 580 | label: "供役地权利人证件种类", | ||
| 581 | }, | ||
| 582 | { | ||
| 583 | prop: "xydbdcdyh", | ||
| 584 | label: "需役地不动产单元号", | ||
| 585 | }, | ||
| 586 | { | ||
| 587 | prop: "xydzl", | ||
| 588 | label: "需役地坐落", | ||
| 589 | }, | ||
| 590 | { | ||
| 591 | prop: "xydqlr", | ||
| 592 | label: "需役地权利人", | ||
| 593 | }, | ||
| 594 | { | ||
| 595 | prop: "xydqlrzjzl", | ||
| 596 | label: "需役地权利人证件种类", | ||
| 597 | }, | ||
| 598 | { | ||
| 599 | prop: "xydzjh", | ||
| 600 | label: "需役地证件号", | ||
| 601 | }, | ||
| 602 | { | ||
| 603 | prop: "djyy", | ||
| 604 | label: "登记原因", | ||
| 605 | }, | ||
| 606 | { | ||
| 607 | prop: "dyqnr", | ||
| 608 | label: "地役权内容", | ||
| 609 | }, | ||
| 610 | { | ||
| 611 | prop: "qlqssj", | ||
| 612 | label: "权利起始时间", | ||
| 613 | }, | ||
| 614 | { | ||
| 615 | prop: "qljssj", | ||
| 616 | label: "权利结束时间", | ||
| 617 | }, | ||
| 618 | { | ||
| 619 | prop: "bdcdjzmh", | ||
| 620 | label: "不动产登记证明号", | ||
| 621 | }, | ||
| 622 | { | ||
| 623 | prop: "qxdm", | ||
| 624 | label: "区县代码", | ||
| 625 | }, | ||
| 626 | { | ||
| 627 | prop: "djjg", | ||
| 628 | label: "登记机构", | ||
| 629 | }, | ||
| 630 | { | ||
| 631 | prop: "dbr", | ||
| 632 | label: "登簿人", | ||
| 633 | }, | ||
| 634 | { | ||
| 635 | prop: "djsj", | ||
| 636 | label: "登记时间", | ||
| 637 | }, | ||
| 638 | ], | ||
| 639 | YGDJ: [ | ||
| 640 | { | ||
| 641 | prop: "qszt", | ||
| 642 | label: "权属状态", | ||
| 643 | }, | ||
| 644 | { | ||
| 645 | prop: "ygdjzl", | ||
| 646 | label: "预告登记种类", | ||
| 647 | }, | ||
| 648 | { | ||
| 649 | prop: "djlxmc", | ||
| 650 | label: "登记类型", | ||
| 651 | }, | ||
| 652 | { | ||
| 653 | prop: "ssywh", | ||
| 654 | label: "上手业务号", | ||
| 655 | }, | ||
| 656 | { | ||
| 657 | prop: "dah", | ||
| 658 | label: "档案号", | ||
| 659 | }, | ||
| 660 | { | ||
| 661 | prop: "ywh", | ||
| 662 | label: "业务号", | ||
| 663 | }, | ||
| 664 | { | ||
| 665 | prop: "bdcdyh", | ||
| 666 | label: "不动产单元号", | ||
| 667 | }, | ||
| 668 | { | ||
| 669 | prop: "zl", | ||
| 670 | label: "坐落", | ||
| 671 | }, | ||
| 672 | { | ||
| 673 | prop: "qlrmc", | ||
| 674 | label: "权利人", | ||
| 675 | }, | ||
| 676 | { | ||
| 677 | prop: "qlrzjzl", | ||
| 678 | label: "证件种类", | ||
| 679 | }, | ||
| 680 | { | ||
| 681 | prop: "qlrzjhm", | ||
| 682 | label: "证件号", | ||
| 683 | }, | ||
| 684 | { | ||
| 685 | prop: "ywrmc", | ||
| 686 | label: "义务人", | ||
| 687 | }, | ||
| 688 | { | ||
| 689 | prop: "ywrzjzl", | ||
| 690 | label: "证件种类", | ||
| 691 | }, | ||
| 692 | { | ||
| 693 | prop: "ywrzjhm", | ||
| 694 | label: "证件号", | ||
| 695 | }, | ||
| 696 | { | ||
| 697 | prop: "fwxz", | ||
| 698 | label: "房屋性质", | ||
| 699 | }, | ||
| 700 | { | ||
| 701 | prop: "ghyt", | ||
| 702 | label: "规划用途", | ||
| 703 | }, | ||
| 704 | { | ||
| 705 | prop: "fwzcs", | ||
| 706 | label: "房屋总层数", | ||
| 707 | }, | ||
| 708 | { | ||
| 709 | prop: "fwszc", | ||
| 710 | label: "房屋所在层", | ||
| 711 | }, | ||
| 712 | { | ||
| 713 | prop: "jzmj", | ||
| 714 | label: "建筑面积", | ||
| 715 | }, | ||
| 716 | { | ||
| 717 | prop: "djyy", | ||
| 718 | label: "登记原因", | ||
| 719 | }, | ||
| 720 | { | ||
| 721 | prop: "qdjg", | ||
| 722 | label: "取得价格/被担保主债权数额", | ||
| 723 | }, | ||
| 724 | { | ||
| 725 | prop: "jedw", | ||
| 726 | label: "金额单位", | ||
| 727 | }, | ||
| 728 | { | ||
| 729 | prop: "dbfw", | ||
| 730 | label: "担保范围", | ||
| 731 | }, | ||
| 732 | { | ||
| 733 | prop: "sfczyd", | ||
| 734 | label: "是否存在禁止或限制转让抵押不动产的约定", | ||
| 735 | }, | ||
| 736 | { | ||
| 737 | prop: "djsj", | ||
| 738 | label: "登记时间", | ||
| 739 | }, | ||
| 740 | { | ||
| 741 | prop: "bdcqzh", | ||
| 742 | label: "不动产登记证明号", | ||
| 743 | }, | ||
| 744 | { | ||
| 745 | prop: "dbr", | ||
| 746 | label: "登簿人", | ||
| 747 | }, | ||
| 748 | { | ||
| 749 | prop: "zxywh", | ||
| 750 | label: "注销预告业务号", | ||
| 751 | }, | ||
| 752 | { | ||
| 753 | prop: "zxyy", | ||
| 754 | label: "注销预告原因", | ||
| 755 | }, | ||
| 756 | { | ||
| 757 | prop: "zxsj", | ||
| 758 | label: "注销时间", | ||
| 759 | } | ||
| 760 | ], | ||
| 761 | CFDJ: [ | ||
| 762 | { | ||
| 763 | prop: "qszt", | ||
| 764 | label: "权属状态", | ||
| 765 | }, | ||
| 766 | { | ||
| 767 | prop: "cflxmc", | ||
| 768 | label: "查封类型", | ||
| 769 | }, | ||
| 770 | { | ||
| 771 | prop: "ssywh", | ||
| 772 | label: "上手业务号", | ||
| 773 | }, | ||
| 774 | { | ||
| 775 | prop: "dah", | ||
| 776 | label: "档案号", | ||
| 777 | }, | ||
| 778 | { | ||
| 779 | prop: "ywh", | ||
| 780 | label: "业务号", | ||
| 781 | }, | ||
| 782 | { | ||
| 783 | prop: "bdcdyh", | ||
| 784 | label: "不动产单元号", | ||
| 785 | }, | ||
| 786 | { | ||
| 787 | prop: "zl", | ||
| 788 | label: "坐落", | ||
| 789 | }, | ||
| 790 | { | ||
| 791 | prop: "cfjg", | ||
| 792 | label: "查封机关", | ||
| 793 | }, | ||
| 794 | { | ||
| 795 | prop: "qlrmc", | ||
| 796 | label: "不动产权利人", | ||
| 797 | }, | ||
| 798 | { | ||
| 799 | prop: "qlrzjzl", | ||
| 800 | label: "证件种类", | ||
| 801 | }, | ||
| 802 | { | ||
| 803 | prop: "qlrzjhm", | ||
| 804 | label: "证件号", | ||
| 805 | }, | ||
| 806 | |||
| 807 | { | ||
| 808 | prop: "cfwh", | ||
| 809 | label: "查封文号", | ||
| 810 | }, | ||
| 811 | { | ||
| 812 | prop: "cfwj", | ||
| 813 | label: "查封文件", | ||
| 814 | }, | ||
| 815 | { | ||
| 816 | prop: "cfqssj", | ||
| 817 | label: "查封起始时间", | ||
| 818 | }, | ||
| 819 | { | ||
| 820 | prop: "cfjssj", | ||
| 821 | label: "查封结束时间", | ||
| 822 | }, | ||
| 823 | { | ||
| 824 | prop: "cfqx", | ||
| 825 | label: "查封期限", | ||
| 826 | }, | ||
| 827 | { | ||
| 828 | prop: "cffw", | ||
| 829 | label: "查封范围", | ||
| 830 | }, | ||
| 831 | { | ||
| 832 | prop: "djjg", | ||
| 833 | label: "登记机构", | ||
| 834 | }, | ||
| 835 | { | ||
| 836 | prop: "dbr", | ||
| 837 | label: "登簿人", | ||
| 838 | }, | ||
| 839 | { | ||
| 840 | prop: "djsj", | ||
| 841 | label: "登记时间", | ||
| 842 | }, | ||
| 843 | { | ||
| 844 | prop: "zxywh", | ||
| 845 | label: "解封业务号", | ||
| 846 | }, | ||
| 847 | { | ||
| 848 | prop: "jfjg", | ||
| 849 | label: "解封机关", | ||
| 850 | }, | ||
| 851 | { | ||
| 852 | prop: "jfwh", | ||
| 853 | label: "解封文号", | ||
| 854 | }, | ||
| 855 | { | ||
| 856 | prop: "jfwj", | ||
| 857 | label: "解封文件", | ||
| 858 | }, | ||
| 859 | { | ||
| 860 | prop: "zxsj", | ||
| 861 | label: "解封登记时间", | ||
| 862 | }, | ||
| 863 | { | ||
| 864 | prop: "zxdbr", | ||
| 865 | label: "解封登簿人", | ||
| 866 | }, | ||
| 867 | ], | ||
| 868 | YYDJ: [ | ||
| 869 | { | ||
| 870 | prop: "qszt", | ||
| 871 | label: "权属状态", | ||
| 872 | }, | ||
| 873 | { | ||
| 874 | prop: "qllxmc", | ||
| 875 | label: "权利类型", | ||
| 876 | }, | ||
| 877 | { | ||
| 878 | prop: "djlxmc", | ||
| 879 | label: "登记类型", | ||
| 880 | }, | ||
| 881 | { | ||
| 882 | prop: "ssywh", | ||
| 883 | label: "上手业务号", | ||
| 884 | }, | ||
| 885 | { | ||
| 886 | prop: "dah", | ||
| 887 | label: "档案号", | ||
| 888 | }, | ||
| 889 | { | ||
| 890 | prop: "ywh", | ||
| 891 | label: "业务号", | ||
| 892 | }, | ||
| 893 | { | ||
| 894 | prop: "bdcdyh", | ||
| 895 | label: "不动产单元号", | ||
| 896 | }, | ||
| 897 | { | ||
| 898 | prop: "zl", | ||
| 899 | label: "坐落", | ||
| 900 | }, | ||
| 901 | { | ||
| 902 | prop: "yyr", | ||
| 903 | label: "异议人", | ||
| 904 | }, | ||
| 905 | { | ||
| 906 | prop: "zjzl", | ||
| 907 | label: "证件种类", | ||
| 908 | }, | ||
| 909 | { | ||
| 910 | prop: "zjh", | ||
| 911 | label: "证件号", | ||
| 912 | }, | ||
| 913 | { | ||
| 914 | prop: "yysx", | ||
| 915 | label: "异议事项", | ||
| 916 | }, | ||
| 917 | { | ||
| 918 | prop: "bdcdjzmh", | ||
| 919 | label: "不动产登记证明号", | ||
| 920 | }, | ||
| 921 | { | ||
| 922 | prop: "djjg", | ||
| 923 | label: "登记机构", | ||
| 924 | }, | ||
| 925 | { | ||
| 926 | prop: "dbr", | ||
| 927 | label: "登簿人", | ||
| 928 | }, | ||
| 929 | { | ||
| 930 | prop: "djsj", | ||
| 931 | label: "登记时间", | ||
| 932 | }, | ||
| 933 | { | ||
| 934 | prop: "zxyyywh", | ||
| 935 | label: "注销异议业务号", | ||
| 936 | }, | ||
| 937 | { | ||
| 938 | prop: "zxyyyy", | ||
| 939 | label: "注销异议原因", | ||
| 940 | }, | ||
| 941 | { | ||
| 942 | prop: "zxyydbr", | ||
| 943 | label: "注销异议登簿人", | ||
| 944 | }, | ||
| 945 | { | ||
| 946 | prop: "zxyydjsj", | ||
| 947 | label: "注销异议登记时间", | ||
| 948 | }, | ||
| 949 | ], | ||
| 950 | } | ||
| 951 | } | ||
| 952 | |||
| 953 | |||
| 954 | } | ||
| 955 | |||
| 956 | let datas = new data() | ||
| 957 | |||
| 958 | export { | ||
| 959 | datas | ||
| 960 | } |
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-05-17 10:41:15 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <div> | ||
| 8 | <div class="process-viewer"> | ||
| 9 | <div v-show="!isLoading" ref="processCanvas" class="process-canvas" style="height: 280px;" /> | ||
| 10 | <!-- 自定义箭头样式,用于成功状态下流程连线箭头 --> | ||
| 11 | <defs ref="customSuccessDefs"> | ||
| 12 | <marker id="sequenceflow-end-white-success" view-box="0 0 20 20" ref-x="11" ref-y="10" marker-width="10" | ||
| 13 | marker-height="10" orient="auto"> | ||
| 14 | <path class="success-arrow" d="M 1 5 L 11 10 L 1 15 Z" | ||
| 15 | style="stroke-width: 1px; stroke-linecap: round; stroke-dasharray: 10000, 1;" /> | ||
| 16 | </marker> | ||
| 17 | <marker id="conditional-flow-marker-white-success" view-box="0 0 20 20" ref-x="-1" ref-y="10" marker-width="10" | ||
| 18 | marker-height="10" orient="auto"> | ||
| 19 | <path class="success-conditional" d="M 0 10 L 8 6 L 16 10 L 8 14 Z" | ||
| 20 | style="stroke-width: 1px; stroke-linecap: round; stroke-dasharray: 10000, 1;" /> | ||
| 21 | </marker> | ||
| 22 | </defs> | ||
| 23 | <!-- 自定义箭头样式,用于失败状态下流程连线箭头 --> | ||
| 24 | <defs ref="customFailDefs"> | ||
| 25 | <marker id="sequenceflow-end-white-fail" view-box="0 0 20 20" ref-x="11" ref-y="10" marker-width="10" | ||
| 26 | marker-height="10" orient="auto"> | ||
| 27 | <path class="fail-arrow" d="M 1 5 L 11 10 L 1 15 Z" | ||
| 28 | style="stroke-width: 1px; stroke-linecap: round; stroke-dasharray: 10000, 1;" /> | ||
| 29 | </marker> | ||
| 30 | <marker id="conditional-flow-marker-white-fail" view-box="0 0 20 20" ref-x="-1" ref-y="10" marker-width="10" | ||
| 31 | marker-height="10" orient="auto"> | ||
| 32 | <path class="fail-conditional" d="M 0 10 L 8 6 L 16 10 L 8 14 Z" | ||
| 33 | style="stroke-width: 1px; stroke-linecap: round; stroke-dasharray: 10000, 1;" /> | ||
| 34 | </marker> | ||
| 35 | </defs> | ||
| 36 | |||
| 37 | <div style="position: absolute; top: 0px; left: 0px; width: 100%;"> | ||
| 38 | <el-row type="flex" justify="end"> | ||
| 39 | <el-button-group key="scale-control" size="medium"> | ||
| 40 | <el-button size="medium" type="default" :plain="true" :disabled="defaultZoom <= 0.3" icon="el-icon-zoom-out" | ||
| 41 | @click="processZoomOut()" /> | ||
| 42 | <el-button size="medium" type="default" style="width: 90px;">{{ Math.floor(this.defaultZoom * 10 * 10) + "%" | ||
| 43 | }}</el-button> | ||
| 44 | <el-button size="medium" type="default" :plain="true" :disabled="defaultZoom >= 3.9" icon="el-icon-zoom-in" | ||
| 45 | @click="processZoomIn()" /> | ||
| 46 | <el-button size="medium" type="default" icon="el-icon-c-scale-to-original" @click="processReZoom()" /> | ||
| 47 | <slot /> | ||
| 48 | </el-button-group> | ||
| 49 | </el-row> | ||
| 50 | </div> | ||
| 51 | </div> | ||
| 52 | <!-- 已完成节点悬浮弹窗 --> | ||
| 53 | <div class="information-list"> | ||
| 54 | <el-select v-model="selectValue" @change="handleSelect"> | ||
| 55 | <el-option v-for="item in selectOptions" :key="item.value" :label="item.label" :value="item.value"> | ||
| 56 | </el-option> | ||
| 57 | </el-select> | ||
| 58 | <el-table height="190" :data="taskCommentList" size="mini" border header-cell-class-name="table-header-gray"> | ||
| 59 | <el-table-column label="序号" header-align="center" align="center" type="index" width="55px" /> | ||
| 60 | <el-table-column label="流程状态" header-align="center" align="center"> | ||
| 61 | <template slot-scope="scope"> | ||
| 62 | <div v-if="scope.row.finishTime == null">正在办理</div> | ||
| 63 | <div v-else>已完结</div> | ||
| 64 | </template> | ||
| 65 | </el-table-column> | ||
| 66 | <el-table-column label="环节名称" prop="taskName" minWidth="100" align="center" /> | ||
| 67 | <el-table-column label="办理人" prop="agent" minWidth="120" align="center" /> | ||
| 68 | <el-table-column label="处理时间" prop="createTime" width="160" align="center" /> | ||
| 69 | <el-table-column label="办结时间" prop="finishTime" width="160" align="center" /> | ||
| 70 | <el-table-column label="操作方式" align="center"> | ||
| 71 | </el-table-column> | ||
| 72 | </el-table> | ||
| 73 | </div> | ||
| 74 | </div> | ||
| 75 | </template> | ||
| 76 | <script> | ||
| 77 | import '@/styles/package/theme/index.scss' | ||
| 78 | import BpmnViewer from 'bpmn-js/lib/Viewer' | ||
| 79 | import { getusername } from "@/api/getusername.js"; | ||
| 80 | import MoveCanvasModule from 'diagram-js/lib/navigation/movecanvas' | ||
| 81 | export default { | ||
| 82 | props: { | ||
| 83 | formData: { | ||
| 84 | type: Object, | ||
| 85 | default: {} | ||
| 86 | } | ||
| 87 | }, | ||
| 88 | data () { | ||
| 89 | return { | ||
| 90 | dlgTitle: undefined, | ||
| 91 | defaultZoom: 1, | ||
| 92 | // 是否正在加载流程图 | ||
| 93 | isLoading: true, | ||
| 94 | bpmnViewer: undefined, | ||
| 95 | // 已完成流程元素 | ||
| 96 | processNodeInfo: undefined, | ||
| 97 | // 当前任务id | ||
| 98 | selectTaskId: undefined, | ||
| 99 | // 任务节点审批记录 | ||
| 100 | taskList:[], | ||
| 101 | taskCommentList: [], | ||
| 102 | // 已完成任务悬浮延迟Timer | ||
| 103 | hoverTimer: null, | ||
| 104 | // 下拉 | ||
| 105 | selectValue: '', | ||
| 106 | selectOptions: [] | ||
| 107 | } | ||
| 108 | }, | ||
| 109 | created () { | ||
| 110 | |||
| 111 | this.$nextTick(() => { | ||
| 112 | // 获取流程记录 | ||
| 113 | this.getCommentList() | ||
| 114 | this.setProcessStatus(this.formData.finishedInfo); | ||
| 115 | this.importXML(this.formData.xml) | ||
| 116 | |||
| 117 | }) | ||
| 118 | }, | ||
| 119 | destroyed () { | ||
| 120 | this.clearViewer() | ||
| 121 | }, | ||
| 122 | methods: { | ||
| 123 | processReZoom () { | ||
| 124 | this.defaultZoom = 1 | ||
| 125 | this.bpmnViewer.get('canvas').zoom('fit-viewport', 'auto') | ||
| 126 | }, | ||
| 127 | processZoomIn (zoomStep = 0.1) { | ||
| 128 | const newZoom = Math.floor(this.defaultZoom * 100 + zoomStep * 100) / 100 | ||
| 129 | if (newZoom > 4) { | ||
| 130 | throw new Error('[Process Designer Warn ]: The zoom ratio cannot be greater than 4') | ||
| 131 | } | ||
| 132 | this.defaultZoom = newZoom | ||
| 133 | this.bpmnViewer.get('canvas').zoom(this.defaultZoom) | ||
| 134 | }, | ||
| 135 | processZoomOut (zoomStep = 0.1) { | ||
| 136 | const newZoom = Math.floor(this.defaultZoom * 100 - zoomStep * 100) / 100 | ||
| 137 | if (newZoom < 0.2) { | ||
| 138 | throw new Error('[Process Designer Warn ]: The zoom ratio cannot be scss than 0.2') | ||
| 139 | } | ||
| 140 | this.defaultZoom = newZoom | ||
| 141 | this.bpmnViewer.get('canvas').zoom(this.defaultZoom) | ||
| 142 | }, | ||
| 143 | getOperationTagType (type) { | ||
| 144 | return 'success' | ||
| 145 | }, | ||
| 146 | // 流程图预览清空 | ||
| 147 | clearViewer (a) { | ||
| 148 | if (this.$refs.processCanvas) { | ||
| 149 | this.$refs.processCanvas.innerHTML = '' | ||
| 150 | } | ||
| 151 | if (this.bpmnViewer) { | ||
| 152 | this.bpmnViewer.destroy() | ||
| 153 | } | ||
| 154 | this.bpmnViewer = null | ||
| 155 | }, | ||
| 156 | // 添加自定义箭头 | ||
| 157 | addCustomDefs () { | ||
| 158 | const canvas = this.bpmnViewer.get('canvas') | ||
| 159 | const svg = canvas._svg | ||
| 160 | const customSuccessDefs = this.$refs.customSuccessDefs | ||
| 161 | const customFailDefs = this.$refs.customFailDefs | ||
| 162 | svg.appendChild(customSuccessDefs) | ||
| 163 | svg.appendChild(customFailDefs) | ||
| 164 | }, | ||
| 165 | // 任务悬浮弹窗 | ||
| 166 | onSelectElement (element) { | ||
| 167 | this.selectTaskId = undefined | ||
| 168 | this.dlgTitle = undefined | ||
| 169 | let allfinishedTaskSet = [...this.processNodeInfo.finishedTaskSet, ...this.processNodeInfo.unfinishedTaskSet] | ||
| 170 | if (this.processNodeInfo == null || allfinishedTaskSet == null) | ||
| 171 | return | ||
| 172 | if (element == null || allfinishedTaskSet.indexOf(element.id) === -1) { | ||
| 173 | return | ||
| 174 | } | ||
| 175 | this.selectTaskId = element.id | ||
| 176 | this.selectValue = element.id | ||
| 177 | this.dlgTitle = element.businessObject ? element.businessObject.name : undefined | ||
| 178 | // 计算当前悬浮任务审批记录,如果记录为空不显示弹窗 | ||
| 179 | this.taskCommentList = (this.taskList || []).filter(item => { | ||
| 180 | return item.taskDefKey === this.selectTaskId | ||
| 181 | }) | ||
| 182 | if (this.selectTaskId.length > 3) { | ||
| 183 | this.taskCommentList = this.taskList; | ||
| 184 | } | ||
| 185 | }, | ||
| 186 | // 下拉列表切换 | ||
| 187 | handleSelect (val) { | ||
| 188 | this.taskCommentList = (this.taskList || []).filter(item => { | ||
| 189 | return item.taskDefKey === val | ||
| 190 | }) | ||
| 191 | if (val.length > 3) { | ||
| 192 | this.taskCommentList = this.taskList; | ||
| 193 | } | ||
| 194 | }, | ||
| 195 | // 显示流程图 | ||
| 196 | async importXML (xml) { | ||
| 197 | let xmlData = this.$x2js.xml2js(xml).definitions.process; | ||
| 198 | this.selectOptions = xmlData.userTask.map(item => { | ||
| 199 | return { value: item._id, label: item._name } | ||
| 200 | }) | ||
| 201 | this.selectOptions = [{ value: xmlData.startEvent._id, label: '浏览记录' }, ...this.selectOptions] | ||
| 202 | this.selectOptions = this.selectOptions.map(item => { | ||
| 203 | if (this.formData.finishedInfo.finishedTaskSet.includes(item.value)) { | ||
| 204 | return item | ||
| 205 | } | ||
| 206 | if (this.formData.finishedInfo.unfinishedTaskSet.includes(item.value)) { | ||
| 207 | return item | ||
| 208 | } | ||
| 209 | }).filter(Boolean); | ||
| 210 | this.selectValue = xmlData.startEvent._id | ||
| 211 | this.clearViewer('a') | ||
| 212 | if (xml != null && xml !== '') { | ||
| 213 | try { | ||
| 214 | this.bpmnViewer = new BpmnViewer({ | ||
| 215 | additionalModules: [ | ||
| 216 | // 移动整个画布 | ||
| 217 | MoveCanvasModule | ||
| 218 | ], | ||
| 219 | container: this.$refs.processCanvas | ||
| 220 | }) | ||
| 221 | // 任务节点悬浮事件 | ||
| 222 | this.bpmnViewer.on('element.click', ({ element }) => { | ||
| 223 | this.onSelectElement(element) | ||
| 224 | }) | ||
| 225 | await this.bpmnViewer.importXML(xml) | ||
| 226 | this.isLoading = true | ||
| 227 | this.addCustomDefs() | ||
| 228 | } catch (e) { | ||
| 229 | this.clearViewer('b') | ||
| 230 | } finally { | ||
| 231 | this.isLoading = false | ||
| 232 | this.setProcessStatus(this.processNodeInfo) | ||
| 233 | this.$nextTick(() => { | ||
| 234 | this.processReZoom() | ||
| 235 | }) | ||
| 236 | } | ||
| 237 | } | ||
| 238 | }, | ||
| 239 | // 获取流程记录 | ||
| 240 | getCommentList() { | ||
| 241 | this.formData.allCommentList.forEach(async (item,index) => { | ||
| 242 | var arr=item.assigneeName.split(","); | ||
| 243 | // 获取用户名 | ||
| 244 | let res = await getusername(arr) | ||
| 245 | if(res){ | ||
| 246 | let str="" | ||
| 247 | res.data.content.forEach((el,i) => { | ||
| 248 | if(str==""){ | ||
| 249 | str=el.name; | ||
| 250 | }else{ | ||
| 251 | str += ","+el.name; | ||
| 252 | |||
| 253 | } | ||
| 254 | this.formData.allCommentList[index].agent=str | ||
| 255 | }) | ||
| 256 | } | ||
| 257 | |||
| 258 | }) | ||
| 259 | setTimeout(() => { | ||
| 260 | this.taskList =this.formData.allCommentList; | ||
| 261 | // 处理数据之后赋值 | ||
| 262 | this.taskCommentList=this.taskList | ||
| 263 | }, 100) | ||
| 264 | // this.$nextTick(() => { | ||
| 265 | // this.taskList =this.formData.allCommentList; | ||
| 266 | // this.taskCommentList=this.taskList | ||
| 267 | // }) | ||
| 268 | }, | ||
| 269 | |||
| 270 | // 设置流程图元素状态 | ||
| 271 | setProcessStatus (processNodeInfo) { | ||
| 272 | this.processNodeInfo = processNodeInfo | ||
| 273 | if (this.isLoading || this.processNodeInfo == null || this.bpmnViewer == null) return | ||
| 274 | const { finishedTaskSet, rejectedTaskSet, unfinishedTaskSet, finishedSequenceFlowSet } = this.processNodeInfo | ||
| 275 | const canvas = this.bpmnViewer.get('canvas') | ||
| 276 | const elementRegistry = this.bpmnViewer.get('elementRegistry') | ||
| 277 | if (Array.isArray(finishedSequenceFlowSet)) { | ||
| 278 | finishedSequenceFlowSet.forEach(item => { | ||
| 279 | if (item != null) { | ||
| 280 | canvas.addMarker(item, 'success') | ||
| 281 | const element = elementRegistry.get(item) | ||
| 282 | const conditionExpression = element.businessObject.conditionExpression | ||
| 283 | if (conditionExpression) { | ||
| 284 | canvas.addMarker(item, 'condition-expression') | ||
| 285 | } | ||
| 286 | } | ||
| 287 | }) | ||
| 288 | } | ||
| 289 | if (Array.isArray(finishedTaskSet)) { | ||
| 290 | finishedTaskSet.forEach(item => canvas.addMarker(item, 'success')) | ||
| 291 | } | ||
| 292 | if (Array.isArray(unfinishedTaskSet)) { | ||
| 293 | unfinishedTaskSet.forEach(item => canvas.addMarker(item, 'primary')) | ||
| 294 | } | ||
| 295 | if (Array.isArray(rejectedTaskSet)) { | ||
| 296 | rejectedTaskSet.forEach(item => { | ||
| 297 | if (item != null) { | ||
| 298 | const element = elementRegistry.get(item) | ||
| 299 | if (element.type.includes('Task')) { | ||
| 300 | canvas.addMarker(item, 'danger') | ||
| 301 | } else { | ||
| 302 | canvas.addMarker(item, 'warning') | ||
| 303 | } | ||
| 304 | } | ||
| 305 | }) | ||
| 306 | } | ||
| 307 | |||
| 308 | } | ||
| 309 | } | ||
| 310 | } | ||
| 311 | </script> | ||
| 312 | <style scoped lang="scss"> | ||
| 313 | .information-list { | ||
| 314 | height: 220px; | ||
| 315 | margin-top: 10px; | ||
| 316 | |||
| 317 | p { | ||
| 318 | font-size: 16px; | ||
| 319 | line-height: 24px; | ||
| 320 | } | ||
| 321 | } | ||
| 322 | /deep/.bjs-powered-by { | ||
| 323 | display: none; | ||
| 324 | } | ||
| 325 | // /deep/.information-list { | ||
| 326 | // height: 170px; | ||
| 327 | // overflow: visible; | ||
| 328 | // } | ||
| 329 | </style> |
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-05-17 10:41:20 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <div> | ||
| 8 | <lb-table :column="column" :pagination="false" :key="key" :heightNumSetting="true" :minHeight="150" | ||
| 9 | :data="tableDataList"> | ||
| 10 | </lb-table> | ||
| 11 | <addQlr v-model="dialog" :details="details" :showButton="showButton" @updateDetail="handleupdateDetail" /> | ||
| 12 | </div> | ||
| 13 | </template> | ||
| 14 | <script> | ||
| 15 | import addQlr from './dialog/addQlr.vue' | ||
| 16 | import { mapGetters } from 'vuex' | ||
| 17 | export default { | ||
| 18 | components: { | ||
| 19 | addQlr | ||
| 20 | }, | ||
| 21 | computed: { | ||
| 22 | ...mapGetters(["dictData"]), | ||
| 23 | }, | ||
| 24 | props: { | ||
| 25 | tableData: { | ||
| 26 | type: Array, | ||
| 27 | default: function () { | ||
| 28 | return [] | ||
| 29 | } | ||
| 30 | }, | ||
| 31 | gyfs: { | ||
| 32 | type: String, | ||
| 33 | default: '1' | ||
| 34 | } | ||
| 35 | }, | ||
| 36 | data () { | ||
| 37 | return { | ||
| 38 | key: 0, | ||
| 39 | dataIndex: 0, | ||
| 40 | dialog: false, | ||
| 41 | isaddupdate: false, | ||
| 42 | showButton: this.$route.query.viewtype ? false : true, | ||
| 43 | details: {}, | ||
| 44 | tableDataList: [], | ||
| 45 | InformationTable: [ | ||
| 46 | { | ||
| 47 | width: '50', | ||
| 48 | renderHeader: (h, scope) => { | ||
| 49 | return <div> { | ||
| 50 | this.$route.query.viewtype == 1 ? '序号' : <i class="el-icon-plus pointer" onClick={() => { this.addClick() }}></i> | ||
| 51 | } | ||
| 52 | </div> | ||
| 53 | }, | ||
| 54 | render: (h, scope) => { | ||
| 55 | return ( | ||
| 56 | <div> | ||
| 57 | { | ||
| 58 | this.$route.query.viewtype == 1 ? <span>{scope.$index + 1}</span> : | ||
| 59 | <i class="el-icon-minus pointer" onClick={() => { this.deleClick(scope.$index, scope.row) }}></i> | ||
| 60 | } | ||
| 61 | </div> | ||
| 62 | ) | ||
| 63 | } | ||
| 64 | }, | ||
| 65 | { | ||
| 66 | label: '身份证读卡器', | ||
| 67 | align: 'center', | ||
| 68 | render: (h, scope) => { | ||
| 69 | return <el-button type="text" icon="el-icon-tickets" onClick={() => { this.readClick(scope) }}>读取</el-button> | ||
| 70 | } | ||
| 71 | }, | ||
| 72 | { | ||
| 73 | prop: "sqrmc", | ||
| 74 | label: "姓名/名称" | ||
| 75 | }, | ||
| 76 | { | ||
| 77 | prop: "zjzl", | ||
| 78 | label: "证件种类", | ||
| 79 | render: (h, scope) => { | ||
| 80 | return this.dictData['A30'] && this.dictData['A30'].map(option => { | ||
| 81 | if (option.dcode == scope.row.zjzl) { | ||
| 82 | return <span>{option.dname}</span> | ||
| 83 | } | ||
| 84 | }) | ||
| 85 | } | ||
| 86 | }, | ||
| 87 | { | ||
| 88 | prop: "zjh", | ||
| 89 | label: "证件号" | ||
| 90 | }, | ||
| 91 | { | ||
| 92 | prop: "dh", | ||
| 93 | label: "联系电话" | ||
| 94 | }, | ||
| 95 | { | ||
| 96 | label: '操作', | ||
| 97 | render: (h, scope) => { | ||
| 98 | return ( | ||
| 99 | <div> | ||
| 100 | { | ||
| 101 | this.$route.query.viewtype ? <el-button | ||
| 102 | icon="el-icon-view" | ||
| 103 | type="text" | ||
| 104 | onClick={() => { this.queryViewClick(scope.$index, scope.row) }}>查看</el-button> : <el-button | ||
| 105 | icon="el-icon-edit-outline" | ||
| 106 | type="text" | ||
| 107 | onClick={() => { this.editClick(scope.$index, scope.row) }}>编辑</el-button> | ||
| 108 | } | ||
| 109 | </div> | ||
| 110 | ) | ||
| 111 | } | ||
| 112 | } | ||
| 113 | ], | ||
| 114 | column: [] | ||
| 115 | } | ||
| 116 | }, | ||
| 117 | watch: { | ||
| 118 | tableData: { | ||
| 119 | handler: function (val, oldVal) { | ||
| 120 | let that = this | ||
| 121 | this.$nextTick(() => { | ||
| 122 | if (val.length == 0 || !val) { | ||
| 123 | that.tableDataList = _.cloneDeep([{ | ||
| 124 | sqrmc: '', | ||
| 125 | dlrzjlx: '', | ||
| 126 | dlrzjh: '', | ||
| 127 | fr: '' | ||
| 128 | }]) | ||
| 129 | } else { | ||
| 130 | that.tableDataList = _.cloneDeep(val) | ||
| 131 | } | ||
| 132 | }) | ||
| 133 | }, | ||
| 134 | immediate: true, | ||
| 135 | deep: true | ||
| 136 | }, | ||
| 137 | gyfs: { | ||
| 138 | handler (newVal, oldValue) { | ||
| 139 | let dataList = _.cloneDeep(this.InformationTable) | ||
| 140 | if (newVal == 0) { | ||
| 141 | // this.column = _.cloneDeep(dataList).slice(1, dataList.length) | ||
| 142 | this.column = _.cloneDeep(dataList) | ||
| 143 | |||
| 144 | } else if ((newVal == '1' || newVal == '3')) { | ||
| 145 | this.column = dataList | ||
| 146 | } else { | ||
| 147 | this.column = _.cloneDeep(dataList) | ||
| 148 | this.column.splice( | ||
| 149 | 2, 0, { | ||
| 150 | prop: "fs", | ||
| 151 | label: "份数" | ||
| 152 | }) | ||
| 153 | } | ||
| 154 | }, | ||
| 155 | immediate: true | ||
| 156 | } | ||
| 157 | }, | ||
| 158 | methods: { | ||
| 159 | handleupdateDetail (value) { | ||
| 160 | if (this.isaddupdate) { | ||
| 161 | if (!_.isEqual(value, this.tableData)) { | ||
| 162 | this.tableDataList[this.tableDataList.length] = _.cloneDeep(value); | ||
| 163 | this.$emit('upDateQlrxxList', this.tableDataList) | ||
| 164 | } | ||
| 165 | } else { | ||
| 166 | if (!_.isEqual(value, this.tableData)) { | ||
| 167 | this.tableDataList[this.dataIndex] = _.cloneDeep(value); | ||
| 168 | this.$emit('upDateQlrxxList', this.tableDataList) | ||
| 169 | } | ||
| 170 | } | ||
| 171 | this.key++ | ||
| 172 | }, | ||
| 173 | // 新增 | ||
| 174 | addClick () { | ||
| 175 | if (this.gyfs == '0' && this.tableDataList.length > 0) { | ||
| 176 | this.$message.warning("当前共有方式为单独所有,无法添加多个权利人") | ||
| 177 | } else { | ||
| 178 | this.dialog = true | ||
| 179 | this.isaddupdate = true | ||
| 180 | } | ||
| 181 | }, | ||
| 182 | |||
| 183 | // 删除 | ||
| 184 | deleClick (index, row) { | ||
| 185 | this.$confirm('确定要删除吗, 是否继续?', '提示', { | ||
| 186 | confirmButtonText: '确定', | ||
| 187 | cancelButtonText: '取消', | ||
| 188 | type: 'warning' | ||
| 189 | }).then(() => { | ||
| 190 | this.tableData.splice(index, 1) | ||
| 191 | }).catch(() => { | ||
| 192 | }); | ||
| 193 | }, | ||
| 194 | |||
| 195 | // 身份证读取 | ||
| 196 | readClick () { }, | ||
| 197 | |||
| 198 | // 修改 | ||
| 199 | editClick (index, row) { | ||
| 200 | // popupDialog("申请人信息", "workflow/components/addQlr", { | ||
| 201 | // showButton: this.$route.query.viewtype ? false : true, | ||
| 202 | // dataIndex :index, | ||
| 203 | // details :row, | ||
| 204 | // isaddupdate :false | ||
| 205 | // }); | ||
| 206 | this.dataIndex = index | ||
| 207 | this.dialog = true | ||
| 208 | this.details = row | ||
| 209 | this.isaddupdate = false | ||
| 210 | }, | ||
| 211 | queryViewClick (index, row) { | ||
| 212 | // popupDialog("申请人信息", "workflow/components/addQlr", { | ||
| 213 | // showButton: this.$route.query.viewtype ? false : true, | ||
| 214 | // details: row, | ||
| 215 | // }); | ||
| 216 | this.dialog = true | ||
| 217 | this.details = row | ||
| 218 | } | ||
| 219 | } | ||
| 220 | } | ||
| 221 | </script> |
src/views/djbworkflow/components/spyj.vue
0 → 100644
| 1 | <!-- | ||
| 2 | * @Description: 功能:审批意见 | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-05-17 10:41:24 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <div class='spyj loadingtext'> | ||
| 8 | <div class="box"> | ||
| 9 | <b class="spyj_title">审批表</b> | ||
| 10 | <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="120px"> | ||
| 11 | <div class="spyj_form" v-for="(item, index) in tableData" :key="index"> | ||
| 12 | <div class="item_left"> | ||
| 13 | {{ item.jdmc }}意见 | ||
| 14 | </div> | ||
| 15 | <div class="item_right"> | ||
| 16 | <el-row> | ||
| 17 | <el-col :span="24"> | ||
| 18 | <el-form-item label-width="0" class="opinion_item" prop="shyj"> | ||
| 19 | <el-input type="textarea" :rows="4" class="opinion" placeholder="请输入审批意见" | ||
| 20 | v-if="item.stepShjy == '1' && ableOperation" v-model="ruleForm.shyj"></el-input> | ||
| 21 | <el-input type="textarea" :rows="4" class="opinion" v-model="item.shyj" v-else :disabled="true"> | ||
| 22 | </el-input> | ||
| 23 | <el-button class="opinion_btn" @click="commonOpinion" | ||
| 24 | v-if="item.stepShjy == '1' && ableOperation">常用意见</el-button> | ||
| 25 | </el-form-item> | ||
| 26 | </el-col> | ||
| 27 | </el-row> | ||
| 28 | <el-row> | ||
| 29 | <el-col :span="16"> | ||
| 30 | <el-form-item label="审查人" prop="shryxm"> | ||
| 31 | {{ item.shryxm }} | ||
| 32 | </el-form-item> | ||
| 33 | </el-col> | ||
| 34 | <el-col :span="8"> | ||
| 35 | <el-form-item label="审核时间" prop="shjssj" :key="refresh"> | ||
| 36 | {{ item.shjssj }} | ||
| 37 | </el-form-item> | ||
| 38 | </el-col> | ||
| 39 | </el-row> | ||
| 40 | </div> | ||
| 41 | </div> | ||
| 42 | <div class="submit_button" v-if="ableOperation"> | ||
| 43 | <el-button type="primary" @click="onSubmit">保存</el-button> | ||
| 44 | </div> | ||
| 45 | </el-form> | ||
| 46 | </div> | ||
| 47 | <el-empty v-if="isNoData" description="暂无数据"></el-empty> | ||
| 48 | </div> | ||
| 49 | </template> | ||
| 50 | <script> | ||
| 51 | import { getSpyjList, saveSpyj, saveSpyjBySlsq } from "@/api/fqsq.js"; | ||
| 52 | import { mapGetters } from 'vuex' | ||
| 53 | export default { | ||
| 54 | computed: { | ||
| 55 | ...mapGetters(['userData', 'yjsqOptions']) | ||
| 56 | }, | ||
| 57 | data () { | ||
| 58 | return { | ||
| 59 | isNoData: false, | ||
| 60 | bsmSlsq: '', | ||
| 61 | //刷新值 | ||
| 62 | refresh: 10, | ||
| 63 | ableOperation: true, | ||
| 64 | bsmSlsq: this.$route.query.bsmSlsq, | ||
| 65 | bestepid: this.$route.query.bestepid, | ||
| 66 | ruleForm: {}, | ||
| 67 | rules: { | ||
| 68 | shyj: [ | ||
| 69 | { required: true, message: '请输入审批意见', trigger: 'blur' } | ||
| 70 | ], | ||
| 71 | }, | ||
| 72 | tableData: [], | ||
| 73 | propsParam: {} | ||
| 74 | } | ||
| 75 | }, | ||
| 76 | watch: { | ||
| 77 | yjsqOptions: { | ||
| 78 | handler (val) { | ||
| 79 | this.ruleForm.shyj = val | ||
| 80 | }, | ||
| 81 | deep: true, | ||
| 82 | immediate: true | ||
| 83 | }, | ||
| 84 | }, | ||
| 85 | mounted () { | ||
| 86 | this.propsParam = this.$attrs; | ||
| 87 | if (this.$route.query.viewtype) { | ||
| 88 | this.ableOperation = false | ||
| 89 | } | ||
| 90 | this.list(); | ||
| 91 | }, | ||
| 92 | methods: { | ||
| 93 | //审批意见数据初始化 | ||
| 94 | list () { | ||
| 95 | let that = this | ||
| 96 | this.$startLoading() | ||
| 97 | var formdata = new FormData(); | ||
| 98 | formdata.append("bsmBusiness", this.propsParam.bsmBusiness); | ||
| 99 | formdata.append("bestepid", this.$route.query.bestepid); | ||
| 100 | formdata.append("ableOperation", this.ableOperation) | ||
| 101 | getSpyjList(formdata).then((res) => { | ||
| 102 | this.$endLoading() | ||
| 103 | if (res.code === 200 && res.result) { | ||
| 104 | this.tableData = res.result ? res.result : [] | ||
| 105 | if (res.result.length == 0) { | ||
| 106 | that.isNoData = true | ||
| 107 | } | ||
| 108 | this.ruleForm = res.result[res.result.length - 1] | ||
| 109 | } | ||
| 110 | }) | ||
| 111 | }, | ||
| 112 | onSubmit () { | ||
| 113 | this.ruleForm.bsmSlsq = this.bsmSlsq | ||
| 114 | this.ruleForm.bestepid = this.bestepid | ||
| 115 | saveSpyjBySlsq(this.ruleForm).then(res => { | ||
| 116 | if (res.code === 200) { | ||
| 117 | this.$message.success("保存成功") | ||
| 118 | this.refresh += 1 | ||
| 119 | } else { | ||
| 120 | this.$message.error(res.message) | ||
| 121 | } | ||
| 122 | }) | ||
| 123 | }, | ||
| 124 | //打开常用意见列表弹窗 | ||
| 125 | commonOpinion () { | ||
| 126 | this.$popupDialog("常用意见", "workflow/components/dialog/commonOpinion", {}, "70%", true) | ||
| 127 | }, | ||
| 128 | //使用常用意见 | ||
| 129 | useOpinion (opinion) { | ||
| 130 | this.ruleForm.shyj = opinion | ||
| 131 | } | ||
| 132 | } | ||
| 133 | } | ||
| 134 | </script> | ||
| 135 | <style scoped lang='scss'> | ||
| 136 | @import "~@/styles/mixin.scss"; | ||
| 137 | |||
| 138 | .spyj { | ||
| 139 | width: 100%; | ||
| 140 | height: 100%; | ||
| 141 | background-color: #f5f5f5; | ||
| 142 | padding: 5px; | ||
| 143 | .box { | ||
| 144 | overflow-x: auto; | ||
| 145 | width: 100%; | ||
| 146 | height: 95%; | ||
| 147 | background: #fff; | ||
| 148 | text-align: center; | ||
| 149 | padding: 4px; | ||
| 150 | overflow-y: scroll; | ||
| 151 | padding-top: 20px; | ||
| 152 | padding: 20px 40px; | ||
| 153 | } | ||
| 154 | .spyj_title { | ||
| 155 | line-height: 68px; | ||
| 156 | border: 1px solid $borderColor; | ||
| 157 | text-align: center; | ||
| 158 | font-size: 22px; | ||
| 159 | font-weight: 400; | ||
| 160 | background-color: #eceef2; | ||
| 161 | display: block; | ||
| 162 | border-bottom: none; | ||
| 163 | } | ||
| 164 | |||
| 165 | /deep/.el-form-item { | ||
| 166 | margin-bottom: 0; | ||
| 167 | } | ||
| 168 | |||
| 169 | .bottom10 { | ||
| 170 | margin-bottom: 15px; | ||
| 171 | } | ||
| 172 | |||
| 173 | .spyj_form { | ||
| 174 | display: flex; | ||
| 175 | border: 1px solid $borderColor; | ||
| 176 | |||
| 177 | .item_left { | ||
| 178 | width: 150px; | ||
| 179 | background-color: #f8f8fa; | ||
| 180 | color: #606266; | ||
| 181 | display: flex; | ||
| 182 | font-size: 14px; | ||
| 183 | text-indent: 80px; | ||
| 184 | align-items: center; | ||
| 185 | border-right: 1px solid $borderColor; | ||
| 186 | } | ||
| 187 | |||
| 188 | .item_right { | ||
| 189 | flex: 1; | ||
| 190 | width: 100%; | ||
| 191 | |||
| 192 | /deep/.el-form-item__label { | ||
| 193 | background-color: #f8f8fa; | ||
| 194 | } | ||
| 195 | /deep/.el-form-item__content { | ||
| 196 | display: block; | ||
| 197 | text-align: left; | ||
| 198 | text-indent: 10px; | ||
| 199 | } | ||
| 200 | .opinion_item { | ||
| 201 | /deep/.el-form-item__error { | ||
| 202 | margin-top: -16px !important; | ||
| 203 | left: 3px; | ||
| 204 | } | ||
| 205 | |||
| 206 | border-bottom: 1px solid $borderColor; | ||
| 207 | } | ||
| 208 | |||
| 209 | .opinion { | ||
| 210 | position: relative; | ||
| 211 | font-size: 14px; | ||
| 212 | |||
| 213 | /deep/.el-textarea__inner { | ||
| 214 | border: none; | ||
| 215 | } | ||
| 216 | } | ||
| 217 | |||
| 218 | .opinion_btn { | ||
| 219 | position: absolute; | ||
| 220 | right: 15px; | ||
| 221 | bottom: 10px; | ||
| 222 | } | ||
| 223 | } | ||
| 224 | } | ||
| 225 | |||
| 226 | .submit_button { | ||
| 227 | text-align: center; | ||
| 228 | margin: 15px 0; | ||
| 229 | } | ||
| 230 | } | ||
| 231 | </style> |
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-05-17 10:41:35 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <lb-table :column="column" :maxHeight="300" heightNumSetting :pagination="false" :key="key" :data="tableData"> | ||
| 8 | </lb-table> | ||
| 9 | </template> | ||
| 10 | <script> | ||
| 11 | import addQlr from './dialog/addQlr.vue' | ||
| 12 | import { mapGetters } from 'vuex' | ||
| 13 | export default { | ||
| 14 | components: { | ||
| 15 | addQlr | ||
| 16 | }, | ||
| 17 | computed: { | ||
| 18 | ...mapGetters(["dictData"]), | ||
| 19 | }, | ||
| 20 | props: { | ||
| 21 | tableData: { | ||
| 22 | type: Array, | ||
| 23 | default: function () { | ||
| 24 | return [] | ||
| 25 | } | ||
| 26 | }, | ||
| 27 | gyfs: { | ||
| 28 | type: String, | ||
| 29 | default: '1' | ||
| 30 | } | ||
| 31 | }, | ||
| 32 | data () { | ||
| 33 | return { | ||
| 34 | key: 0, | ||
| 35 | dataIndex: 0, | ||
| 36 | dialog: false, | ||
| 37 | details: {}, | ||
| 38 | tableDataList: [], | ||
| 39 | qlrCommonTable: [ | ||
| 40 | { | ||
| 41 | width: '50', | ||
| 42 | renderHeader: (h, scope) => { | ||
| 43 | return <div> { | ||
| 44 | this.$route.query.viewtype == 1 ? '序号' : <i class="el-icon-plus pointer" onClick={() => { this.handleAdd() }}></i> | ||
| 45 | } | ||
| 46 | </div> | ||
| 47 | }, | ||
| 48 | render: (h, scope) => { | ||
| 49 | return ( | ||
| 50 | <div> | ||
| 51 | { | ||
| 52 | this.$route.query.viewtype == 1 ? <span>{scope.$index + 1}</span> : | ||
| 53 | <i class="el-icon-minus pointer" onClick={() => { this.handleMinus(scope.$index, scope.row) }}></i> | ||
| 54 | } | ||
| 55 | </div> | ||
| 56 | ) | ||
| 57 | } | ||
| 58 | }, | ||
| 59 | { | ||
| 60 | prop: "sqrmc", | ||
| 61 | label: "姓名/名称" | ||
| 62 | }, | ||
| 63 | { | ||
| 64 | prop: "zjzl", | ||
| 65 | label: "证件种类" | ||
| 66 | }, | ||
| 67 | { | ||
| 68 | prop: "zjh", | ||
| 69 | label: "证件号" | ||
| 70 | }, | ||
| 71 | { | ||
| 72 | prop: "dh", | ||
| 73 | label: "联系电话" | ||
| 74 | }, | ||
| 75 | { | ||
| 76 | prop: "frmc", | ||
| 77 | label: "法人" | ||
| 78 | }, | ||
| 79 | { | ||
| 80 | label: '操作', | ||
| 81 | render: (h, scope) => { | ||
| 82 | return ( | ||
| 83 | <div> | ||
| 84 | { | ||
| 85 | <el-button icon="el-icon-view" type="text" onClick={() => { this.handleView(scope.$index, scope.row) }}>查看</el-button> | ||
| 86 | } | ||
| 87 | </div> | ||
| 88 | ) | ||
| 89 | } | ||
| 90 | } | ||
| 91 | ], | ||
| 92 | column: this.qlrCommonTable | ||
| 93 | } | ||
| 94 | }, | ||
| 95 | watch: { | ||
| 96 | tableData: { | ||
| 97 | handler: function (val, oldVal) { | ||
| 98 | let that = this | ||
| 99 | if (val.length == 0 || !val) { | ||
| 100 | that.tableDataList = _.cloneDeep([{ | ||
| 101 | sqrmc: '', | ||
| 102 | dlrzjlx: '', | ||
| 103 | dlrzjh: '', | ||
| 104 | fr: '' | ||
| 105 | }]) | ||
| 106 | } else { | ||
| 107 | that.tableDataList = _.cloneDeep(val) | ||
| 108 | } | ||
| 109 | }, | ||
| 110 | immediate: true, | ||
| 111 | deep: true | ||
| 112 | }, | ||
| 113 | gyfs: { | ||
| 114 | handler (newVal, oldValue) { | ||
| 115 | let dataList = _.cloneDeep(this.qlrCommonTable) | ||
| 116 | if (newVal == '1') { | ||
| 117 | this.column = _.cloneDeep(dataList).slice(1, dataList.length) | ||
| 118 | } else if ((newVal == '2')) { | ||
| 119 | this.column = dataList | ||
| 120 | } else { | ||
| 121 | this.column = _.cloneDeep(dataList) | ||
| 122 | this.column.splice( | ||
| 123 | 2, 0, { | ||
| 124 | prop: "fs", | ||
| 125 | label: "份数" | ||
| 126 | }) | ||
| 127 | } | ||
| 128 | }, | ||
| 129 | immediate: true | ||
| 130 | } | ||
| 131 | }, | ||
| 132 | methods: { | ||
| 133 | updateDetail (value) { | ||
| 134 | this.tableDataList[this.dataIndex] = value | ||
| 135 | this.key++ | ||
| 136 | this.$emit('upDateQlrxxList', this.tableDataList) | ||
| 137 | }, | ||
| 138 | // 添加 | ||
| 139 | handleAdd () { | ||
| 140 | this.dialog = true | ||
| 141 | }, | ||
| 142 | // 减 | ||
| 143 | handleMinus (index, row) { | ||
| 144 | this.tableData.splice(index, 1) | ||
| 145 | }, | ||
| 146 | // 身份证读取 | ||
| 147 | readClick () { }, | ||
| 148 | // 修改 | ||
| 149 | handleEdit (index, row) { | ||
| 150 | console.log(row, 'rowrowrowrowrow'); | ||
| 151 | this.dataIndex = index | ||
| 152 | this.dialog = true | ||
| 153 | this.details = row | ||
| 154 | }, | ||
| 155 | handleView () { | ||
| 156 | this.dialog = true | ||
| 157 | } | ||
| 158 | } | ||
| 159 | } | ||
| 160 | </script> | ||
| 161 | <style scoped lang='scss'> | ||
| 162 | </style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
src/views/djbworkflow/components/stop.vue
0 → 100644
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-05-17 10:41:45 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <div class="from-clues"> | ||
| 8 | <div class="invalid-title"> | ||
| 9 | <i class="el-icon-question invalid-icon"></i> | ||
| 10 | <div class="invalid-body">您是否确定终止该业务办理?</div> | ||
| 11 | </div> | ||
| 12 | <div class="invalid-reson">终止原因:</div> | ||
| 13 | <el-input | ||
| 14 | v-model="stopMessage" | ||
| 15 | placeholder="请输入终止原因" | ||
| 16 | type="textarea" | ||
| 17 | :rows="4"></el-input> | ||
| 18 | <el-button style="float: right">取消</el-button> | ||
| 19 | <el-button type="primary" @click="onSubmit" style="float: right">退件</el-button> | ||
| 20 | </div> | ||
| 21 | </template> | ||
| 22 | |||
| 23 | <script> | ||
| 24 | import { stopTask } from "@/api/fqsq.js"; | ||
| 25 | export default { | ||
| 26 | props: { | ||
| 27 | formData: { | ||
| 28 | type: Object, | ||
| 29 | default: {}, | ||
| 30 | }, | ||
| 31 | }, | ||
| 32 | data () { | ||
| 33 | return { | ||
| 34 | stopMessage: "", | ||
| 35 | }; | ||
| 36 | }, | ||
| 37 | methods: { | ||
| 38 | onSubmit () { | ||
| 39 | stopTask({ | ||
| 40 | bsmSlsq: this.formData.bsmSlsq, | ||
| 41 | bestepid: this.formData.bestepid, | ||
| 42 | stopMessage: this.stopMessage, | ||
| 43 | }).then((res) => { | ||
| 44 | this.$message.success("终止成功"); | ||
| 45 | setTimeout(() => { | ||
| 46 | // window.opener.location.reload(); //刷新父窗口 | ||
| 47 | if (window.opener && window.opener.getBpageList) { | ||
| 48 | window.opener.getBpageList(); | ||
| 49 | } else { | ||
| 50 | window.opener.frames[0].getBpageList(); | ||
| 51 | } | ||
| 52 | window.close(); | ||
| 53 | this.$emit("input", false); | ||
| 54 | }, 1000); | ||
| 55 | }); | ||
| 56 | }, | ||
| 57 | }, | ||
| 58 | }; | ||
| 59 | </script> | ||
| 60 | <style scoped lang="scss"> | ||
| 61 | @import "~@/styles/mixin.scss"; | ||
| 62 | .invalid-title { | ||
| 63 | display: flex; | ||
| 64 | align-content: center; | ||
| 65 | |||
| 66 | .invalid-icon { | ||
| 67 | color: rgb(254, 148, 0); | ||
| 68 | font-size: 34px; | ||
| 69 | margin-right: 10px; | ||
| 70 | } | ||
| 71 | |||
| 72 | .invalid-body { | ||
| 73 | line-height: 40px; | ||
| 74 | margin-bottom: 10px; | ||
| 75 | } | ||
| 76 | } | ||
| 77 | |||
| 78 | .invalid-reson { | ||
| 79 | margin-bottom: 10px; | ||
| 80 | } | ||
| 81 | |||
| 82 | .dialog-footer { | ||
| 83 | margin-top: 10px; | ||
| 84 | display: flex; | ||
| 85 | justify-content: flex-end; | ||
| 86 | } | ||
| 87 | </style> |
src/views/djbworkflow/components/szxx.vue
0 → 100644
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-05-17 10:41:49 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <div class="szxx"> | ||
| 8 | <el-card class="box-card" v-for="(item, index) in tableData" :key="index"> | ||
| 9 | <div slot="header" class="szxx_header"> | ||
| 10 | <span class="header_type">{{ | ||
| 11 | item.bdcqzlx == 1 ? "不动产权证书" : "不动产登记证明" | ||
| 12 | }}</span> | ||
| 13 | <div class="header_text">{{ item.bdcqzh }}</div> | ||
| 14 | </div> | ||
| 15 | <div class="szxx_body card_padding"> | ||
| 16 | <div class="text color_iray"> | ||
| 17 | <span>{{ item.qllx }}</span> | ||
| 18 | </div> | ||
| 19 | <div class="text color_red"> | ||
| 20 | <span>{{ item.qlr }}</span> | ||
| 21 | </div> | ||
| 22 | <div class="text color_iray"> | ||
| 23 | <span>{{ item.gyqk }}</span> | ||
| 24 | </div> | ||
| 25 | <div class="text color_red"> | ||
| 26 | <span>{{ item.bdcdyh }}</span> | ||
| 27 | </div> | ||
| 28 | <div class="text color_iray"> | ||
| 29 | <span>{{ item.zl }}</span> | ||
| 30 | </div> | ||
| 31 | <div class="text color_red"> | ||
| 32 | <span>{{ item.yt }}</span> | ||
| 33 | </div> | ||
| 34 | <div class="text color_iray"> | ||
| 35 | <span>{{ item.mj }}</span> | ||
| 36 | </div> | ||
| 37 | <div class="text color_red"> | ||
| 38 | <span>{{ item.syqx }}</span> | ||
| 39 | </div> | ||
| 40 | <div class="text color_iray"> | ||
| 41 | <span>印刷序列号:{{ item.ysxlh }}</span> | ||
| 42 | </div> | ||
| 43 | </div> | ||
| 44 | <div class="card_padding"> | ||
| 45 | <div class="top_line middle_margin"></div> | ||
| 46 | <div class="text" v-if="item.ysxlh"> | ||
| 47 | <el-button class="operation_button" type="text" @click="openInvalidDiglog(item)">再次打印({{ item.szcs | ||
| 48 | }})</el-button> | ||
| 49 | <el-button class="operation_button" type="text" @click="openRecordPop(item)">缮证记录</el-button> | ||
| 50 | </div> | ||
| 51 | <div class="text" v-else> | ||
| 52 | <el-button class="operation_button" type="text" @click="openZsylDialog(item, 2)">证书打印1({{ item.szcs | ||
| 53 | }})</el-button> | ||
| 54 | <el-button class="operation_button" type="text" @click="openRecordPop(item)">缮证记录</el-button> | ||
| 55 | </div> | ||
| 56 | </div> | ||
| 57 | </el-card> | ||
| 58 | <el-dialog title="证书作废" :visible.sync="invalidDiglog" width="30%" :modal-append-to-body="false" top="30vh"> | ||
| 59 | <div class="invalid-diglog"> | ||
| 60 | <div class="invalid-title"> | ||
| 61 | <i class="el-icon-question invalid-icon"></i> | ||
| 62 | <div class="invalid-body">您确定作废证书并再次打印?</div> | ||
| 63 | </div> | ||
| 64 | <div class="invalid-reson">作废原因:</div> | ||
| 65 | <el-input v-model="zfyy" placeholder="请输入作废原因" type="textarea" :rows="4"></el-input> | ||
| 66 | <div class="text-center pt-10"> | ||
| 67 | <el-button @click="closeInvalidDiglog">取 消</el-button> | ||
| 68 | <el-button type="primary" @click="confirmInvalid">确 定</el-button> | ||
| 69 | </div> | ||
| 70 | </div> | ||
| 71 | </el-dialog> | ||
| 72 | <el-empty description="暂无数据" v-if="tableData.length == 0"></el-empty> | ||
| 73 | </div> | ||
| 74 | </template> | ||
| 75 | <script> | ||
| 76 | import { mapGetters } from 'vuex' | ||
| 77 | import { getSlsqBdcqzList, invalidCertificate } from "@/api/bdcqz.js"; | ||
| 78 | export default { | ||
| 79 | props: {}, | ||
| 80 | data () { | ||
| 81 | return { | ||
| 82 | dialog: false, | ||
| 83 | tableData: [], | ||
| 84 | bdcqzlx: 1, | ||
| 85 | bdcqz: {}, | ||
| 86 | zfyy: "", | ||
| 87 | invalidDiglog: false, | ||
| 88 | bsmSz: "", | ||
| 89 | bsmBdcqz: "" | ||
| 90 | }; | ||
| 91 | }, | ||
| 92 | computed: { | ||
| 93 | ...mapGetters(['isRefresh']) | ||
| 94 | }, | ||
| 95 | watch: { | ||
| 96 | isRefresh: { | ||
| 97 | handler (newVal, oldVal) { | ||
| 98 | if (newVal) this.list() | ||
| 99 | } | ||
| 100 | } | ||
| 101 | }, | ||
| 102 | created () { | ||
| 103 | this.list(); | ||
| 104 | }, | ||
| 105 | methods: { | ||
| 106 | //初始化列表 | ||
| 107 | list () { | ||
| 108 | var bsmSlsq = this.$route.query.bsmSlsq; | ||
| 109 | getSlsqBdcqzList({ bsmSlsq: bsmSlsq }).then((res) => { | ||
| 110 | if (res.code === 200) { | ||
| 111 | this.tableData = res.result; | ||
| 112 | if (res.result) { | ||
| 113 | this.bdcqz = res.result[0]; | ||
| 114 | } | ||
| 115 | } | ||
| 116 | }); | ||
| 117 | }, | ||
| 118 | //打开证书预览弹窗 | ||
| 119 | openZsylDialog (item, type) { | ||
| 120 | if (type == 1) { | ||
| 121 | //证书预览 | ||
| 122 | this.$popupDialog("证书预览", "workflow/components/dialog/zsyl", { bdcqz: item }, "70%", true); | ||
| 123 | } else { | ||
| 124 | this.$popupDialog("不动产权证书", "workflow/components/dialog/zsdy", { bdcqz: item }, "70%", true); | ||
| 125 | } | ||
| 126 | }, | ||
| 127 | //再次打印 | ||
| 128 | openInvalidDiglog (item) { | ||
| 129 | this.bsmSz = item.bsmSz; | ||
| 130 | this.invalidDiglog = true; | ||
| 131 | this.bsmBdcqz = item.bsmBdcqz | ||
| 132 | }, | ||
| 133 | closeInvalidDiglog () { | ||
| 134 | this.invalidDiglog = false; | ||
| 135 | this.bsmSz = ""; | ||
| 136 | this.zfyy = ""; | ||
| 137 | }, | ||
| 138 | //作废缮证信息 | ||
| 139 | confirmInvalid () { | ||
| 140 | invalidCertificate({ bsmBdcqz: this.bsmBdcqz, zfyy: this.zfyy }).then((res) => { | ||
| 141 | if (res.code === 200) { | ||
| 142 | this.list(); | ||
| 143 | this.$message.success("作废成功"); | ||
| 144 | this.invalidDiglog = false; | ||
| 145 | this.zfyy = '' | ||
| 146 | this.openZsylDialog(this.bdcqz); | ||
| 147 | } else { | ||
| 148 | this.$message.error(res.message); | ||
| 149 | } | ||
| 150 | }); | ||
| 151 | }, | ||
| 152 | openRecordPop (item) { | ||
| 153 | this.$popupDialog("缮证记录", "workflow/components/dialog/szRecord", { bsmBdcqz: item.bsmBdcqz }, '60%', true) | ||
| 154 | } | ||
| 155 | }, | ||
| 156 | }; | ||
| 157 | </script> | ||
| 158 | <style scoped lang='scss'> | ||
| 159 | @import "~@/styles/public.scss"; | ||
| 160 | .szxx { | ||
| 161 | box-sizing: border-box; | ||
| 162 | padding-right: 15px; | ||
| 163 | width: 100%; | ||
| 164 | height: 600px; | ||
| 165 | overflow-y: scroll; | ||
| 166 | |||
| 167 | .box-card { | ||
| 168 | float: left; | ||
| 169 | width: 300px; | ||
| 170 | margin-top: 10px; | ||
| 171 | margin-right: 10px; | ||
| 172 | |||
| 173 | .szxx_body { | ||
| 174 | height: 240px; | ||
| 175 | } | ||
| 176 | } | ||
| 177 | } | ||
| 178 | |||
| 179 | .szxx_header { | ||
| 180 | color: #ffffff; | ||
| 181 | font-weight: bolder; | ||
| 182 | font-size: 16px; | ||
| 183 | |||
| 184 | .header_type { | ||
| 185 | display: flex; | ||
| 186 | justify-content: center; | ||
| 187 | align-content: center; | ||
| 188 | } | ||
| 189 | |||
| 190 | .header_text { | ||
| 191 | text-align: center; | ||
| 192 | margin-top: 10px; | ||
| 193 | line-height: 30px; | ||
| 194 | } | ||
| 195 | } | ||
| 196 | |||
| 197 | .top_line { | ||
| 198 | border-top: 2px solid rgb(222, 222, 222); | ||
| 199 | } | ||
| 200 | |||
| 201 | .text { | ||
| 202 | margin-bottom: 10px; | ||
| 203 | text-align: center; | ||
| 204 | } | ||
| 205 | |||
| 206 | .color_iray { | ||
| 207 | color: rgb(153, 153, 153); | ||
| 208 | } | ||
| 209 | |||
| 210 | .color_red { | ||
| 211 | color: rgb(255, 89, 24); | ||
| 212 | } | ||
| 213 | |||
| 214 | .middle_margin { | ||
| 215 | margin-bottom: 10px; | ||
| 216 | } | ||
| 217 | |||
| 218 | .operation_button { | ||
| 219 | border: 1px solid rgb(0, 121, 254); | ||
| 220 | padding: 5px; | ||
| 221 | text-align: center; | ||
| 222 | } | ||
| 223 | |||
| 224 | .card_padding { | ||
| 225 | padding-top: 8px; | ||
| 226 | } | ||
| 227 | |||
| 228 | .invalid-diglog { | ||
| 229 | padding-bottom: 20px; | ||
| 230 | font-size: 16px; | ||
| 231 | font-weight: bold; | ||
| 232 | color: rgb(99, 99, 99); | ||
| 233 | |||
| 234 | .invalid-title { | ||
| 235 | display: flex; | ||
| 236 | align-content: center; | ||
| 237 | |||
| 238 | .invalid-icon { | ||
| 239 | color: rgb(254, 148, 0); | ||
| 240 | font-size: 34px; | ||
| 241 | margin-right: 10px; | ||
| 242 | } | ||
| 243 | |||
| 244 | .invalid-body { | ||
| 245 | line-height: 40px; | ||
| 246 | margin-bottom: 10px; | ||
| 247 | } | ||
| 248 | } | ||
| 249 | |||
| 250 | .invalid-reson { | ||
| 251 | margin-bottom: 10px; | ||
| 252 | } | ||
| 253 | |||
| 254 | .dialog-footer { | ||
| 255 | margin-top: 10px; | ||
| 256 | display: flex; | ||
| 257 | justify-content: flex-end; | ||
| 258 | } | ||
| 259 | } | ||
| 260 | |||
| 261 | /deep/.el-card__header { | ||
| 262 | background-color: rgb(198, 67, 83); | ||
| 263 | } | ||
| 264 | |||
| 265 | /deep/.el-card__body { | ||
| 266 | padding: 0px; | ||
| 267 | } | ||
| 268 | </style> |
src/views/djbworkflow/components/th.vue
0 → 100644
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-05-17 10:41:57 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <div class="from-clues"> | ||
| 8 | <!-- 表单部分 --> | ||
| 9 | <div class="from-clues-header"> | ||
| 10 | <div class="title">请选择要退回到的环节:</div> | ||
| 11 | <el-form ref="queryForm" label-width="90px"> | ||
| 12 | <ul style="margin-bottom: 15px"> | ||
| 13 | <li | ||
| 14 | v-for="(item, index) in dataList" | ||
| 15 | class="listDetail" | ||
| 16 | :key="index" | ||
| 17 | @click="changeSelectItem(item)"> | ||
| 18 | <p class="icon"> | ||
| 19 | <el-radio | ||
| 20 | v-model="selectActivity" | ||
| 21 | :label="item.activityId" | ||
| 22 | @change="changeSelectItem(item)"></el-radio> | ||
| 23 | </p> | ||
| 24 | <p>{{ item.activityName }}</p> | ||
| 25 | <p v-for="(child, childIndex) in item.userInfos" :key="childIndex"> | ||
| 26 | {{ child.name }} | ||
| 27 | </p> | ||
| 28 | </li> | ||
| 29 | </ul> | ||
| 30 | <div class="title">退回意见:</div> | ||
| 31 | <el-form-item> | ||
| 32 | <el-input | ||
| 33 | class="textArea" | ||
| 34 | type="textarea" | ||
| 35 | v-model="outstepopinion" | ||
| 36 | placeholder="请输入退回意见"></el-input> | ||
| 37 | </el-form-item> | ||
| 38 | <el-form-item> | ||
| 39 | <el-button style="float:right" @click="cancelBack">取消</el-button> | ||
| 40 | <el-button type="primary" @click="onSubmit" style="float:right">退回</el-button> | ||
| 41 | </el-form-item> | ||
| 42 | </el-form> | ||
| 43 | </div> | ||
| 44 | </div> | ||
| 45 | </template> | ||
| 46 | |||
| 47 | <script> | ||
| 48 | |||
| 49 | import { getTaskBackNode, sendBackTask } from "@/api/fqsq.js" | ||
| 50 | import { popupCacel } from "@/utils/popup.js"; | ||
| 51 | |||
| 52 | export default { | ||
| 53 | props: { | ||
| 54 | formData: { | ||
| 55 | type: Object, | ||
| 56 | default: {}, | ||
| 57 | }, | ||
| 58 | }, | ||
| 59 | data () { | ||
| 60 | return { | ||
| 61 | selectActivity: "", | ||
| 62 | dataList: [], | ||
| 63 | outstepopinion: "", | ||
| 64 | selectItem: {}, | ||
| 65 | }; | ||
| 66 | }, | ||
| 67 | created () { | ||
| 68 | this.getBackNode(); | ||
| 69 | }, | ||
| 70 | methods: { | ||
| 71 | onSubmit () { | ||
| 72 | this.selectItem.outstepopinion = this.outstepopinion; | ||
| 73 | sendBackTask({ | ||
| 74 | bsmSlsq: this.formData.bsmSlsq, | ||
| 75 | backNodeList: [this.selectItem], | ||
| 76 | }).then((res) => { | ||
| 77 | this.$message.success("退回成功"); | ||
| 78 | setTimeout(() => { | ||
| 79 | // window.opener.location.reload(); //刷新父窗口 | ||
| 80 | if (window.opener && window.opener.getBpageList) { | ||
| 81 | window.opener.getBpageList(); | ||
| 82 | } else { | ||
| 83 | window.opener.frames[0].getBpageList(); | ||
| 84 | } | ||
| 85 | window.close(); | ||
| 86 | this.$emit("input", false); | ||
| 87 | }, 1000); | ||
| 88 | }); | ||
| 89 | }, | ||
| 90 | changeSelectItem (item) { | ||
| 91 | this.selectItem = item; | ||
| 92 | this.selectActivity = item.activityId; | ||
| 93 | }, | ||
| 94 | //获取可回退环节信息 | ||
| 95 | getBackNode () { | ||
| 96 | getTaskBackNode(this.formData).then((res) => { | ||
| 97 | if (res.code == 200) { | ||
| 98 | this.dataList = res.result; | ||
| 99 | if (res.result) { | ||
| 100 | this.selectActivity = res.result[0].activityId; | ||
| 101 | this.selectItem = res.result[0]; | ||
| 102 | } | ||
| 103 | } | ||
| 104 | }); | ||
| 105 | }, | ||
| 106 | |||
| 107 | cancelBack () { | ||
| 108 | popupCacel(); | ||
| 109 | } | ||
| 110 | } | ||
| 111 | } | ||
| 112 | </script> | ||
| 113 | <style scoped lang="scss"> | ||
| 114 | @import "~@/styles/mixin.scss"; | ||
| 115 | |||
| 116 | .listDetail { | ||
| 117 | display: flex; | ||
| 118 | align-items: center; | ||
| 119 | width: 100%; | ||
| 120 | |||
| 121 | p { | ||
| 122 | line-height: 30px; | ||
| 123 | height: 30px; | ||
| 124 | @include flex-center; | ||
| 125 | flex: 1; | ||
| 126 | width: 100%; | ||
| 127 | border: 1px solid rgb(233, 235, 237); | ||
| 128 | margin-top: -1px; | ||
| 129 | margin-left: -1px; | ||
| 130 | } | ||
| 131 | |||
| 132 | .icon { | ||
| 133 | flex: 0 0 60px; | ||
| 134 | } | ||
| 135 | } | ||
| 136 | |||
| 137 | .title { | ||
| 138 | margin-bottom: 10px; | ||
| 139 | } | ||
| 140 | |||
| 141 | .textArea { | ||
| 142 | /deep/.el-textarea__inner { | ||
| 143 | min-height: 90px !important; | ||
| 144 | } | ||
| 145 | } | ||
| 146 | /deep/.el-radio .el-radio__label { | ||
| 147 | display: none; | ||
| 148 | } | ||
| 149 | </style> |
src/views/djbworkflow/components/zc.vue
0 → 100644
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-05-17 10:42:01 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <dialogBox title="转出" @submitForm="submitForm" saveButton="确认转出" width="45%" height='30%' @closeDialog="closeDialog" | ||
| 8 | v-model="value"> | ||
| 9 | <div class="from-clues"> | ||
| 10 | <!-- 表单部分 --> | ||
| 11 | <div class="from-clues-header"> | ||
| 12 | <el-form :model="queryForm" ref="queryForm" label-width="120px"> | ||
| 13 | <el-form-item label="下一环节名称:"> | ||
| 14 | {{this.tableData.taskName}} | ||
| 15 | </el-form-item> | ||
| 16 | <el-form-item label="下一环节办理人:"> | ||
| 17 | {{this.usernames}} | ||
| 18 | </el-form-item> | ||
| 19 | |||
| 20 | </el-form> | ||
| 21 | </div> | ||
| 22 | </div> | ||
| 23 | </dialogBox> | ||
| 24 | </template> | ||
| 25 | |||
| 26 | <script> | ||
| 27 | import { completeTask, getNextLinkInfo } from "@/api/fqsq.js" | ||
| 28 | export default { | ||
| 29 | components: { | ||
| 30 | }, | ||
| 31 | props: { | ||
| 32 | value: { type: Boolean, default: false }, | ||
| 33 | queryForm: { type: Object, default: false } | ||
| 34 | }, | ||
| 35 | data () { | ||
| 36 | return { | ||
| 37 | tableData: {}, | ||
| 38 | usernames: '', | ||
| 39 | } | ||
| 40 | }, | ||
| 41 | methods: { | ||
| 42 | tablelistFn () { | ||
| 43 | getNextLinkInfo(this.queryForm).then(res => { | ||
| 44 | if (res.code === 200) { | ||
| 45 | this.tableData = res.result | ||
| 46 | if (res.result.usernames) { | ||
| 47 | this.usernames = String(res.result.usernames) | ||
| 48 | } | ||
| 49 | } | ||
| 50 | }) | ||
| 51 | }, | ||
| 52 | submitForm () { | ||
| 53 | completeTask(this.queryForm).then(res => { | ||
| 54 | if (res.code === 200) { | ||
| 55 | this.$message.success('转件成功') | ||
| 56 | setTimeout(() => { | ||
| 57 | window.opener = null; | ||
| 58 | window.open("about:blank", "_self"); | ||
| 59 | window.close(); | ||
| 60 | this.$emit('input', false) | ||
| 61 | }, 1000); | ||
| 62 | } | ||
| 63 | }) | ||
| 64 | }, | ||
| 65 | closeDialog () { | ||
| 66 | this.$emit("input", false); | ||
| 67 | }, | ||
| 68 | } | ||
| 69 | } | ||
| 70 | </script> | ||
| 71 | <style scoped lang="scss"> | ||
| 72 | @import "~@/styles/mixin.scss"; | ||
| 73 | </style> |
src/views/djbworkflow/components/zdt.vue
0 → 100644
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-06-01 09:48:15 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <canvas id="mxcad"> | ||
| 8 | </canvas> | ||
| 9 | </template> | ||
| 10 | <script> | ||
| 11 | import Mx from "mxdraw" | ||
| 12 | export default { | ||
| 13 | mounted () { | ||
| 14 | // 动态加载 js库核心代码 | ||
| 15 | Mx.loadCoreCode().then(() => { | ||
| 16 | // Mx.MxFun.setMxServer("ws://localhost:5090") // 开启socket通信 可编辑图纸 | ||
| 17 | // 创建控件对象 | ||
| 18 | Mx.MxFun.createMxObject({ | ||
| 19 | canvasId: "mxcad", // canvas元素的id | ||
| 20 | cadFile: "/buf/hhhh.dwg", // http方式(预览): 加载public/demo文件夹下转换后的图纸 | ||
| 21 | // cadFile: "test2.dwg", // socket通信方式请直接提供图纸名称 如:text.dwg | ||
| 22 | callback: (mxDraw, { | ||
| 23 | canvas, | ||
| 24 | canvasParent | ||
| 25 | }) => { | ||
| 26 | // 可以拿到canvas元素和它的父级元素 | ||
| 27 | console.log(canvas, canvasParent) | ||
| 28 | console.log(mxDraw) | ||
| 29 | // 拿到图层数据 | ||
| 30 | mxDraw.addEvent('uiSetLayerData', (listLayer) => { | ||
| 31 | console.log(listLayer) | ||
| 32 | }) | ||
| 33 | }, | ||
| 34 | isNewFile: true // 是否新建文件 | ||
| 35 | }) | ||
| 36 | }) | ||
| 37 | } | ||
| 38 | } | ||
| 39 | </script> | ||
| 40 | <style scoped lang='scss'> | ||
| 41 | #cad-container { | ||
| 42 | width: 100%; | ||
| 43 | height: 100%; | ||
| 44 | } | ||
| 45 | </style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
src/views/djbworkflow/flowform.js
0 → 100644
| 1 | /* | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-05-29 14:39:11 | ||
| 5 | */ | ||
| 6 | //流程环节操作按钮 | ||
| 7 | export function getForm (tabName, djywbm) { | ||
| 8 | let form; | ||
| 9 | switch (tabName) { | ||
| 10 | case "jsydsyqslxx100": | ||
| 11 | form = require("@/views/ywbl/slsqxx/jsydsyq/slxx.vue"); | ||
| 12 | break; | ||
| 13 | case "jsydsyqslxx300": | ||
| 14 | form = require("@/views/ywbl/slsqxx/jsydsyq/slxx300.vue"); | ||
| 15 | break; | ||
| 16 | case "fwsyqslxx100": | ||
| 17 | form = require("@/views/ywbl/slsqxx/fdcq2/slxx.vue"); | ||
| 18 | break; | ||
| 19 | case "fwsyqslxx300": | ||
| 20 | form = require("@/views/ywbl/slsqxx/fdcq2/slxx300.vue"); | ||
| 21 | break; | ||
| 22 | case "nydsyqslxx100": | ||
| 23 | form = require("@/views/ywbl/slsqxx/nydsyq/slxx.vue"); | ||
| 24 | break; | ||
| 25 | case "nydsyqslxx200": | ||
| 26 | form = require("@/views/ywbl/slsqxx/nydsyq/slxx200.vue"); | ||
| 27 | break; | ||
| 28 | case "tdslxxCfdj": | ||
| 29 | form = require("@/views/ywbl/slsqxx/cfdj/tdslxx.vue"); | ||
| 30 | break; | ||
| 31 | case "plslxxCfdj": | ||
| 32 | form = require("@/views/ywbl/slsqxx/cfdj/plcfslxx.vue"); | ||
| 33 | break; | ||
| 34 | case "diyaqSlxx": | ||
| 35 | form = require("@/views/ywbl/slsqxx/diyaq/slxx.vue"); | ||
| 36 | break; | ||
| 37 | case "diyaqSlxx200": | ||
| 38 | form = require("@/views/ywbl/slsqxx/diyaq/slxx200.vue"); | ||
| 39 | break; | ||
| 40 | case "diyaqSlxx300": | ||
| 41 | form = require("@/views/ywbl/slsqxx/diyaq/slxx200.vue"); | ||
| 42 | break; | ||
| 43 | case "clxx": | ||
| 44 | form = require("@/views/djbworkflow/components/clxxUnify.vue"); | ||
| 45 | break; | ||
| 46 | case "spyj": | ||
| 47 | form = require("@/views/djbworkflow/components/spyj.vue"); | ||
| 48 | break; | ||
| 49 | case "zdjbxx": | ||
| 50 | form = require("@/views/djbBook/zdjbxx.vue"); | ||
| 51 | break; | ||
| 52 | case "ygmm100": | ||
| 53 | form = require("@/views/ywbl/slsqxx/ygdj/slxx.vue"); | ||
| 54 | break; | ||
| 55 | case "ygmm300": | ||
| 56 | form = require("@/views/ywbl/slsqxx/ygdj/slxx300.vue"); | ||
| 57 | break; | ||
| 58 | case "ygdy100": | ||
| 59 | case "ygdy300": | ||
| 60 | form = require("@/views/ywbl/slsqxx/ygdy/slxx.vue"); | ||
| 61 | break; | ||
| 62 | case "zjgcdyqSlxx": | ||
| 63 | form = require("@/views/ywbl/slsqxx/zjgcdy/slxx.vue"); | ||
| 64 | break; | ||
| 65 | case "cfdjxx": | ||
| 66 | form = require("@/views/djbBook/cfdj.vue"); | ||
| 67 | break; | ||
| 68 | case "jsydsyqQlxx": | ||
| 69 | form = require("@/views/djbBook/jsydsyq.vue"); | ||
| 70 | break; | ||
| 71 | case "nydsyqQlxx": | ||
| 72 | form = require("@/views/djbBook/nydsyq.vue"); | ||
| 73 | break; | ||
| 74 | case "fdcq2Qlxx": | ||
| 75 | form = require("@/views/djbBook/fdcq2.vue"); | ||
| 76 | break; | ||
| 77 | case "diyaqQlxx": | ||
| 78 | form = require("@/views/djbBook/diyaq.vue"); | ||
| 79 | break; | ||
| 80 | case "ygdjQlxx": | ||
| 81 | form = require("@/views/djbBook/ygdj.vue"); | ||
| 82 | break; | ||
| 83 | case "szxx": | ||
| 84 | form = require("@/views/djbworkflow/components/szxx.vue"); | ||
| 85 | break; | ||
| 86 | case "fzxx": | ||
| 87 | form = require("@/views/djbworkflow/components/fzxx.vue"); | ||
| 88 | break; | ||
| 89 | case "zdt": | ||
| 90 | form = require("@/views/djbworkflow/components/zdt.vue"); | ||
| 91 | break; | ||
| 92 | default: | ||
| 93 | form = require("@/views/error-page/404.vue"); | ||
| 94 | break; | ||
| 95 | } | ||
| 96 | return (r) => require.ensure([], () => r(form)); | ||
| 97 | } |
src/views/djbworkflow/javascript/fzxxdata.js
0 → 100644
| 1 | /* | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-05-17 10:38:57 | ||
| 5 | */ | ||
| 6 | import filter from '@/utils/filter.js' | ||
| 7 | let vm = null | ||
| 8 | |||
| 9 | const sendThis = (_this) => { | ||
| 10 | vm = _this | ||
| 11 | } | ||
| 12 | class data extends filter { | ||
| 13 | constructor() { | ||
| 14 | super() | ||
| 15 | } | ||
| 16 | columns () { | ||
| 17 | return { | ||
| 18 | //发证列表 | ||
| 19 | fzgrid: [ | ||
| 20 | { | ||
| 21 | label: '序号', | ||
| 22 | type: 'index', | ||
| 23 | width: '50' | ||
| 24 | }, | ||
| 25 | { | ||
| 26 | prop: "bdcqzlx", | ||
| 27 | label: "不动产权证类型", | ||
| 28 | render: (h, scope) => { | ||
| 29 | return ( | ||
| 30 | <div> | ||
| 31 | <span v-show={scope.row.bdcqzlx == '1'}>不动产权证书</span> | ||
| 32 | <span v-show={scope.row.bdcqzlx == '2'}>不动产登记证明</span> | ||
| 33 | </div> | ||
| 34 | ) | ||
| 35 | } | ||
| 36 | }, | ||
| 37 | { | ||
| 38 | prop: "qllx", | ||
| 39 | label: "权利类型" | ||
| 40 | }, | ||
| 41 | { | ||
| 42 | prop: "ysxlh", | ||
| 43 | label: "印刷序列号", | ||
| 44 | width: '100', | ||
| 45 | }, | ||
| 46 | { | ||
| 47 | prop: "bdcqzh", | ||
| 48 | label: "不动产权证号", | ||
| 49 | width: '200', | ||
| 50 | }, | ||
| 51 | { | ||
| 52 | prop: "qlr", | ||
| 53 | label: "权利人" | ||
| 54 | }, | ||
| 55 | { | ||
| 56 | prop: "ywr", | ||
| 57 | label: "义务人" | ||
| 58 | }, | ||
| 59 | { | ||
| 60 | prop: "mj", | ||
| 61 | label: "面积(㎡)" | ||
| 62 | }, | ||
| 63 | { | ||
| 64 | prop: "zl", | ||
| 65 | label: "坐落" | ||
| 66 | }, | ||
| 67 | { | ||
| 68 | prop: "fzsj", | ||
| 69 | label: "发证时间", | ||
| 70 | width: '140', | ||
| 71 | }, | ||
| 72 | { | ||
| 73 | prop: "lzrxm", | ||
| 74 | label: "领证人姓名" | ||
| 75 | }, | ||
| 76 | ], | ||
| 77 | //领证证列表 | ||
| 78 | lzgrid: [ | ||
| 79 | { | ||
| 80 | type: 'selection' | ||
| 81 | }, | ||
| 82 | { | ||
| 83 | label: '序号', | ||
| 84 | type: 'index', | ||
| 85 | width: '50' | ||
| 86 | }, | ||
| 87 | { | ||
| 88 | prop: "bdcqzlx", | ||
| 89 | label: "不动产权证类型", | ||
| 90 | width: '120', | ||
| 91 | render: (h, scope) => { | ||
| 92 | return ( | ||
| 93 | <div> | ||
| 94 | <span v-show={scope.row.bdcqzlx == '1'}>不动产权证书</span> | ||
| 95 | <span v-show={scope.row.bdcqzlx == '2'}>不动产登记证明</span> | ||
| 96 | </div> | ||
| 97 | ) | ||
| 98 | } | ||
| 99 | }, | ||
| 100 | { | ||
| 101 | prop: "qllx", | ||
| 102 | label: "权利类型" | ||
| 103 | }, | ||
| 104 | { | ||
| 105 | prop: "ysxlh", | ||
| 106 | label: "印刷序列号", | ||
| 107 | width: '100', | ||
| 108 | }, | ||
| 109 | { | ||
| 110 | prop: "bdcqzh", | ||
| 111 | label: "不动产权证号" | ||
| 112 | }, | ||
| 113 | { | ||
| 114 | prop: "qlr", | ||
| 115 | label: "权利人" | ||
| 116 | }, | ||
| 117 | { | ||
| 118 | prop: "ywr", | ||
| 119 | label: "义务人" | ||
| 120 | }, | ||
| 121 | { | ||
| 122 | prop: "mj", | ||
| 123 | label: "面积(㎡)", | ||
| 124 | width: '100', | ||
| 125 | }, | ||
| 126 | { | ||
| 127 | prop: "zl", | ||
| 128 | label: "坐落" | ||
| 129 | } | ||
| 130 | ] | ||
| 131 | } | ||
| 132 | } | ||
| 133 | } | ||
| 134 | let datas = new data() | ||
| 135 | export { | ||
| 136 | datas, | ||
| 137 | sendThis | ||
| 138 | } |
src/views/djbworkflow/javascript/szxxdata.js
0 → 100644
| 1 | /* | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-05-17 10:39:03 | ||
| 5 | */ | ||
| 6 | import filter from '@/utils/filter.js' | ||
| 7 | let vm = null | ||
| 8 | |||
| 9 | const sendThis = (_this) => { | ||
| 10 | vm = _this | ||
| 11 | } | ||
| 12 | class data extends filter { | ||
| 13 | constructor() { | ||
| 14 | super() | ||
| 15 | } | ||
| 16 | columns () { | ||
| 17 | return [ | ||
| 18 | { | ||
| 19 | label: '序号', | ||
| 20 | type: 'index', | ||
| 21 | render: (h, scope) => { | ||
| 22 | return ( | ||
| 23 | <div> | ||
| 24 | {scope.$index + 1} | ||
| 25 | </div> | ||
| 26 | ) | ||
| 27 | } | ||
| 28 | }, | ||
| 29 | { | ||
| 30 | prop: "szzh", | ||
| 31 | label: "缮证证号", | ||
| 32 | }, | ||
| 33 | { | ||
| 34 | prop: "ysxlh", | ||
| 35 | label: "印刷序列号", | ||
| 36 | }, | ||
| 37 | { | ||
| 38 | prop: "szry", | ||
| 39 | label: "缮证人员", | ||
| 40 | }, | ||
| 41 | { | ||
| 42 | prop: "szsj", | ||
| 43 | label: "缮证时间", | ||
| 44 | }, | ||
| 45 | { | ||
| 46 | label: "是否作废", | ||
| 47 | render: (h, scope) => { | ||
| 48 | if (scope.row.sfzf == '0') { | ||
| 49 | return <div>否</div> | ||
| 50 | } else { | ||
| 51 | return <div>已作废</div> | ||
| 52 | } | ||
| 53 | } | ||
| 54 | }, | ||
| 55 | { | ||
| 56 | prop: "bz", | ||
| 57 | label: "备注信息", | ||
| 58 | }, | ||
| 59 | ] | ||
| 60 | } | ||
| 61 | } | ||
| 62 | let datas = new data() | ||
| 63 | export { | ||
| 64 | datas, | ||
| 65 | sendThis | ||
| 66 | } |
src/views/djbworkflow/javascript/zsyl.js
0 → 100644
| 1 | /* | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-05-17 10:39:07 | ||
| 5 | */ | ||
| 6 | import filter from '@/utils/filter.js' | ||
| 7 | class data extends filter { | ||
| 8 | constructor() { | ||
| 9 | super() | ||
| 10 | } | ||
| 11 | columns () { | ||
| 12 | return [ | ||
| 13 | { | ||
| 14 | prop: "qlr", | ||
| 15 | label: "权利人", | ||
| 16 | }, | ||
| 17 | { | ||
| 18 | prop: "gyqk", | ||
| 19 | label: "共有情况", | ||
| 20 | }, | ||
| 21 | { | ||
| 22 | prop: "zl", | ||
| 23 | label: "坐落", | ||
| 24 | }, | ||
| 25 | { | ||
| 26 | prop: "bdcdyh", | ||
| 27 | label: "不动产单元号", | ||
| 28 | }, | ||
| 29 | { | ||
| 30 | prop: "qllx", | ||
| 31 | label: "权利类型", | ||
| 32 | }, | ||
| 33 | { | ||
| 34 | prop: "qlxz", | ||
| 35 | label: "权利性质", | ||
| 36 | }, | ||
| 37 | { | ||
| 38 | prop: "yt", | ||
| 39 | label: "用途", | ||
| 40 | }, | ||
| 41 | { | ||
| 42 | prop: "mj", | ||
| 43 | label: "面积", | ||
| 44 | }, | ||
| 45 | { | ||
| 46 | prop: "syqx", | ||
| 47 | label: "使用期限", | ||
| 48 | }, | ||
| 49 | { | ||
| 50 | prop: "qlqtzk", | ||
| 51 | label: "权利其他状况", | ||
| 52 | }, | ||
| 53 | ] | ||
| 54 | } | ||
| 55 | } | ||
| 56 | |||
| 57 | let datas = new data() | ||
| 58 | |||
| 59 | export { | ||
| 60 | datas | ||
| 61 | } | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
src/views/djbworkflow/mixin/index.js
0 → 100644
| 1 | /* | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-05-18 15:01:31 | ||
| 5 | */ | ||
| 6 | import { getWorkFlowImage } from "@/api/workflow/jsydsyqFlow.js"; | ||
| 7 | import { getPrintTemplateByCode } from "@/api/system"; | ||
| 8 | import { getPrintApplicationInfo } from "@/api/fqsq"; | ||
| 9 | import { uploadUndo } from "@/api/clxx"; | ||
| 10 | import { deleteFlow } from "@/api/ywbl"; | ||
| 11 | import { getLodop } from "@/utils/LodopFuncs" | ||
| 12 | import { | ||
| 13 | stepExpandInfo, | ||
| 14 | record, | ||
| 15 | completeTask, | ||
| 16 | getNextLinkInfo, | ||
| 17 | } from "@/api/fqsq.js"; | ||
| 18 | import { mapGetters } from 'vuex' | ||
| 19 | export default { | ||
| 20 | data () { | ||
| 21 | return { | ||
| 22 | //是否开启材料分屏 | ||
| 23 | splitScreen: false, | ||
| 24 | //设置表单组件是否刷选值 | ||
| 25 | fresh: 10, | ||
| 26 | //左侧菜单数据集合 | ||
| 27 | unitData: [], | ||
| 28 | //顶部左侧按钮集合 | ||
| 29 | leftButtonList: [], | ||
| 30 | //顶部右侧按钮集合 | ||
| 31 | rightButtonList: [], | ||
| 32 | //批量按钮名称 | ||
| 33 | batchButtonName: '', | ||
| 34 | // 受理申请信息 | ||
| 35 | slsq: {} | ||
| 36 | } | ||
| 37 | }, | ||
| 38 | mounted () { | ||
| 39 | this.flowInitParam(); | ||
| 40 | }, | ||
| 41 | methods: { | ||
| 42 | //加载流程初始参数 | ||
| 43 | flowInitParam () { | ||
| 44 | |||
| 45 | // var formdata = new FormData(); | ||
| 46 | // formdata.append("bsmSlsq", this.bsmSlsq); | ||
| 47 | // formdata.append("bestepid", this.bestepid); | ||
| 48 | // console.log("加载流程初始参数",formdata) | ||
| 49 | // stepExpandInfo(formdata).then((res) => { | ||
| 50 | // if (res.code === 200) { | ||
| 51 | // this.leftButtonList = res.result.button; | ||
| 52 | // this.rightButtonList = res.result.operation; | ||
| 53 | // this.slsq = res.result.slsq | ||
| 54 | // } | ||
| 55 | // }) | ||
| 56 | this.leftButtonList = ["1111","222222"] | ||
| 57 | this.rightButtonList = ["333333","444444"] | ||
| 58 | // this.slsq = res.result.slsq | ||
| 59 | }, | ||
| 60 | //流程环节操作按钮 | ||
| 61 | operation (item) { | ||
| 62 | //按钮 B0:选择不动产单元 B1:流程图 B2:材料分屏 B3:材料导入 B4:登记簿 B5:证书预览 B6:打印申请书 B7:证书领取 B8:楼盘表 B9:登簿 | ||
| 63 | //操作按钮 登簿:record 转件:transfer 退回:back 退出:signout | ||
| 64 | let that = this; | ||
| 65 | switch (item.value) { | ||
| 66 | case "B0": | ||
| 67 | this.openDialog() | ||
| 68 | break; | ||
| 69 | case "B1": | ||
| 70 | getWorkFlowImage(this.bsmSlsq, this.$route.query.bestepid).then(res => { | ||
| 71 | let { result } = res | ||
| 72 | this.$popupDialog("流程图", "workflow/components/processViewer", { | ||
| 73 | xml: result.xml, | ||
| 74 | finishedInfo: { | ||
| 75 | finishedTaskSet: result.finishedTaskSet, | ||
| 76 | unfinishedTaskSet: result.unfinishedTaskSet, | ||
| 77 | rejectedTaskSet: result.rejectedTaskSet, | ||
| 78 | finishedSequenceFlowSet: result.finishedSequenceFlowSet | ||
| 79 | }, | ||
| 80 | allCommentList: result.historyTaskList | ||
| 81 | }, '80%', true) | ||
| 82 | }) | ||
| 83 | break; | ||
| 84 | case "B2": //材料分屏按钮 | ||
| 85 | this.splitScreen = this.splitScreen ? false : true; | ||
| 86 | this.$store.dispatch("app/settScreen", this.splitScreen); | ||
| 87 | if (this.splitScreen) { | ||
| 88 | //如果当前选项卡为材料信息内容,递减到上一个选项卡内容 | ||
| 89 | if (this.tabName == this.clxxTab.value) { | ||
| 90 | this.tabName = this.tabList[this.clxxIndex - 1].value; | ||
| 91 | this.getFromRouter(this.tabList[this.clxxIndex - 1].value); | ||
| 92 | } | ||
| 93 | //删除材料信息选项卡数据 | ||
| 94 | this.tabList.splice(this.clxxIndex, 1); | ||
| 95 | } else { | ||
| 96 | //新增材料信息选项卡数据 | ||
| 97 | this.tabList.splice(this.clxxIndex, 0, this.clxxTab); | ||
| 98 | } | ||
| 99 | break; | ||
| 100 | case "B3": //材料导入 | ||
| 101 | document.getElementById("cldr").click(); | ||
| 102 | break; | ||
| 103 | case "B4": | ||
| 104 | this.$popupDialog("登记簿详情", "registerBook/djbFrame", this.currentSelectProps, '80%', true) | ||
| 105 | break; | ||
| 106 | case "B5": | ||
| 107 | this.$popupDialog("证书预览", "workflow/components/dialog/zsyl", { | ||
| 108 | bsmSlsq: this.bsmSlsq, | ||
| 109 | entryType: '1' | ||
| 110 | }, '65%', true) | ||
| 111 | break; | ||
| 112 | case "B6": | ||
| 113 | //根据编号获取对应信息 | ||
| 114 | getPrintTemplateByCode({ tmpno: 'dysqs' }).then(res => { | ||
| 115 | if (res.code == 200) { | ||
| 116 | getPrintApplicationInfo(this.currentSelectProps).then(infoRes => { | ||
| 117 | if (infoRes.code == 200) { | ||
| 118 | //打开模板设计 | ||
| 119 | let LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM')); | ||
| 120 | LODOP.ADD_PRINT_DATA("ProgramData", res.result.tmpcontent); //装载模板 | ||
| 121 | //todo 调取后端接口获取数据 循环set | ||
| 122 | for (let key in infoRes.result) { | ||
| 123 | LODOP.SET_PRINT_STYLEA(key, "CONTENT", infoRes.result[key]); | ||
| 124 | } | ||
| 125 | LODOP.PREVIEW(); | ||
| 126 | } else { | ||
| 127 | this.$message.error(infoRes.message) | ||
| 128 | } | ||
| 129 | }) | ||
| 130 | } else { | ||
| 131 | this.$message.error(res.message) | ||
| 132 | } | ||
| 133 | }) | ||
| 134 | break; | ||
| 135 | case "B7": | ||
| 136 | this.$popupDialog("证书领取", "workflow/components/dialog/zslq", | ||
| 137 | { bsmSlsq: this.$route.query.bsmSlsq }, '70%', true | ||
| 138 | ) | ||
| 139 | break; | ||
| 140 | case "B8": | ||
| 141 | this.$popupDialog('楼盘表', 'lpb/index', { | ||
| 142 | bsm: '' | ||
| 143 | }, '90%', true) | ||
| 144 | break; | ||
| 145 | case "back": //退回按钮 | ||
| 146 | this.$popupDialog("退回", "workflow/components/th", { | ||
| 147 | bsmSlsq: this.bsmSlsq, | ||
| 148 | bestepid: this.bestepid | ||
| 149 | }, '800px', true) | ||
| 150 | break; | ||
| 151 | case "transfer": //转件按钮 | ||
| 152 | getNextLinkInfo({ | ||
| 153 | bsmSlsq: this.bsmSlsq, | ||
| 154 | bestepid: this.bestepid, | ||
| 155 | }).then((res) => { | ||
| 156 | if (res.code === 200) { | ||
| 157 | if (res.result) { | ||
| 158 | this.sendToNext(res.result); | ||
| 159 | } else { | ||
| 160 | this.sendToEnd(); | ||
| 161 | } | ||
| 162 | } | ||
| 163 | }); | ||
| 164 | break; | ||
| 165 | case "stop": //终止按钮 | ||
| 166 | this.$popupDialog("终止", "workflow/components/stop", { | ||
| 167 | bsmSlsq: this.bsmSlsq, | ||
| 168 | bestepid: this.bestepid, | ||
| 169 | }, '600px', true) | ||
| 170 | break; | ||
| 171 | case "signout": | ||
| 172 | window.close(); | ||
| 173 | //取消认领 | ||
| 174 | unClaimTask(this.bsmSlsq, this.bestepid) | ||
| 175 | break; | ||
| 176 | case "B9": | ||
| 177 | var formdata = new FormData(); | ||
| 178 | formdata.append("bsmSlsq", this.bsmSlsq); | ||
| 179 | formdata.append("bestepid", this.bestepid); | ||
| 180 | this.$confirm("请确认是否登簿", "提示", { | ||
| 181 | iconClass: "el-icon-question", //自定义图标样式 | ||
| 182 | confirmButtonText: "确认", //确认按钮文字更换 | ||
| 183 | cancelButtonText: "取消", //取消按钮文字更换 | ||
| 184 | showClose: true, //是否显示右上角关闭按钮 | ||
| 185 | type: "warning", //提示类型 success/info/warning/error | ||
| 186 | }).then(function () { | ||
| 187 | record(formdata).then((res) => { | ||
| 188 | if (res.code === 200) { | ||
| 189 | if (res.result.length === 1) { | ||
| 190 | res.result[0].state ? that.$alert("登簿成功!") : that.$alert(res.result[0].msg);; | ||
| 191 | } | ||
| 192 | else { | ||
| 193 | that.$alert('<div>' + res.result[0].ywh + ',' + res.result[0].msg + '</div>', '登簿明细', { | ||
| 194 | dangerouslyUseHTMLString: true | ||
| 195 | }); | ||
| 196 | } | ||
| 197 | } else { | ||
| 198 | that.$alert(res.message); | ||
| 199 | } | ||
| 200 | }); | ||
| 201 | }); | ||
| 202 | break; | ||
| 203 | case "rm": | ||
| 204 | this.del() | ||
| 205 | break; | ||
| 206 | } | ||
| 207 | }, | ||
| 208 | del () { | ||
| 209 | let formdata = new FormData(); | ||
| 210 | formdata.append("bsmSlsq", this.bsmSlsq); | ||
| 211 | this.$confirm("确定要删除吗, 是否继续?", "提示", { | ||
| 212 | confirmButtonText: "确定", | ||
| 213 | cancelButtonText: "取消", | ||
| 214 | type: "warning", | ||
| 215 | }) | ||
| 216 | .then(() => { | ||
| 217 | deleteFlow(formdata).then((res) => { | ||
| 218 | if (res.code === 200) { | ||
| 219 | this.$message({ | ||
| 220 | type: "success", | ||
| 221 | message: "删除成功!", | ||
| 222 | }); | ||
| 223 | window.close(); | ||
| 224 | window.opener.getBpageList(); | ||
| 225 | } else { | ||
| 226 | this.$message.error(res.message); | ||
| 227 | } | ||
| 228 | }); | ||
| 229 | }) | ||
| 230 | .catch(() => { | ||
| 231 | this.$message({ | ||
| 232 | type: "info", | ||
| 233 | message: "已取消删除", | ||
| 234 | }); | ||
| 235 | }); | ||
| 236 | }, | ||
| 237 | //发送下一个环节 | ||
| 238 | sendToNext (obj) { | ||
| 239 | const h = this.$createElement; | ||
| 240 | this.$msgbox({ | ||
| 241 | title: "您确定转出吗?", | ||
| 242 | message: h("div", { style: "margin: auto" }, [ | ||
| 243 | h("span", null, "下个环节名称:"), | ||
| 244 | h("i", { style: "color: teal" }, obj.taskName), | ||
| 245 | h("div", null, ""), | ||
| 246 | h("span", null, "下个环节经办人: "), | ||
| 247 | h("i", { style: "color: teal" }, obj.usernames.join(",")), | ||
| 248 | ]), | ||
| 249 | showCancelButton: true, | ||
| 250 | beforeClose: (action, instance, done) => { | ||
| 251 | if (action === "confirm") { | ||
| 252 | instance.confirmButtonLoading = true; | ||
| 253 | instance.confirmButtonText = "执行中..."; | ||
| 254 | completeTask({ | ||
| 255 | bsmSlsq: this.bsmSlsq, | ||
| 256 | shyj: "this.bestepid", | ||
| 257 | stepform: JSON.stringify(this.tabList), | ||
| 258 | }).then((res) => { | ||
| 259 | if (res.code === 200) { | ||
| 260 | instance.confirmButtonLoading = false; | ||
| 261 | this.$message.success("转件成功"); | ||
| 262 | // window.opener.location.reload(); //刷新父窗口 | ||
| 263 | if (window.opener && window.opener.getBpageList) { | ||
| 264 | window.opener.getBpageList(); | ||
| 265 | } else { | ||
| 266 | window.opener.frames[0].getBpageList(); | ||
| 267 | } | ||
| 268 | window.close(); | ||
| 269 | this.$emit("input", false); | ||
| 270 | } else { | ||
| 271 | instance.confirmButtonLoading = false; | ||
| 272 | instance.confirmButtonText = "确定"; | ||
| 273 | this.$message.error(res.message); | ||
| 274 | } | ||
| 275 | }); | ||
| 276 | } else { | ||
| 277 | done(); | ||
| 278 | } | ||
| 279 | }, | ||
| 280 | }).then((action) => { | ||
| 281 | this.$message({ | ||
| 282 | type: "info", | ||
| 283 | message: "action: " + action, | ||
| 284 | }); | ||
| 285 | }); | ||
| 286 | }, | ||
| 287 | sendToEnd () { | ||
| 288 | let that = this | ||
| 289 | const h = this.$createElement; | ||
| 290 | this.$msgbox({ | ||
| 291 | title: "您确定转出吗?", | ||
| 292 | message: "此环节为流程最后环节,转出后流程将结束", | ||
| 293 | showCancelButton: true, | ||
| 294 | beforeClose: (action, instance, done) => { | ||
| 295 | if (action === "confirm") { | ||
| 296 | instance.confirmButtonLoading = true; | ||
| 297 | instance.confirmButtonText = "执行中..."; | ||
| 298 | completeTask({ | ||
| 299 | bsmSlsq: this.bsmSlsq, | ||
| 300 | shyj: "this.bestepid", | ||
| 301 | stepform: JSON.stringify(this.tabList), | ||
| 302 | }).then((res) => { | ||
| 303 | if (res.code === 200) { | ||
| 304 | instance.confirmButtonLoading = false; | ||
| 305 | that.$message.success("转件成功"); | ||
| 306 | localStorage.setItem('transfer', true) | ||
| 307 | // window.opener.location.reload(); //刷新父窗口 | ||
| 308 | if (window.opener && window.opener.getBpageList) { | ||
| 309 | window.opener.getBpageList(); | ||
| 310 | } else { | ||
| 311 | window.opener.frames[0].getBpageList(); | ||
| 312 | } | ||
| 313 | window.close(); | ||
| 314 | that.$emit("input", false); | ||
| 315 | } else { | ||
| 316 | instance.confirmButtonLoading = false; | ||
| 317 | instance.confirmButtonText = "确定"; | ||
| 318 | this.$message.error(res.message); | ||
| 319 | } | ||
| 320 | }) | ||
| 321 | } else { | ||
| 322 | done(); | ||
| 323 | } | ||
| 324 | }, | ||
| 325 | }).then((action) => { | ||
| 326 | this.$message({ | ||
| 327 | type: "info", | ||
| 328 | message: "action: " + action | ||
| 329 | }) | ||
| 330 | }) | ||
| 331 | }, | ||
| 332 | //批量操作 | ||
| 333 | handleBatchDel () { | ||
| 334 | this.$popupDialog("批量删除", "workflow/components/batchDel", { | ||
| 335 | width: "50%", | ||
| 336 | btnShow: false, | ||
| 337 | bsmSlsq: this.bsmSlsq, | ||
| 338 | dataList: this.unitData, | ||
| 339 | |||
| 340 | }) | ||
| 341 | }, | ||
| 342 | handleChange (file) { | ||
| 343 | var formdata = new FormData(); | ||
| 344 | formdata.append("file", file.raw); | ||
| 345 | formdata.append("bsmSldy", this.currentSelectProps.bsmSldy); | ||
| 346 | formdata.append("bsmSlsq", this.bsmSlsq); | ||
| 347 | uploadUndo(formdata).then(res => { | ||
| 348 | if (res.code == 200) { | ||
| 349 | this.$message.success("导入成功"); | ||
| 350 | } else { | ||
| 351 | this.$message.error(res.message) | ||
| 352 | } | ||
| 353 | }) | ||
| 354 | }, | ||
| 355 | // 上传 | ||
| 356 | beforeUpload (file) { | ||
| 357 | return true; | ||
| 358 | } | ||
| 359 | } | ||
| 360 | } |
src/views/djbworkflow/mixin/public.js
0 → 100644
| 1 | /* | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-05-24 14:42:24 | ||
| 5 | */ | ||
| 6 | import { getForm } from "../flowform"; | ||
| 7 | import { getHomeNoticeList } from "@/api/user.js" | ||
| 8 | export default { | ||
| 9 | data () { | ||
| 10 | return { | ||
| 11 | noticeList: [] | ||
| 12 | } | ||
| 13 | }, | ||
| 14 | created () { | ||
| 15 | this.getHomeNotice() | ||
| 16 | }, | ||
| 17 | mounted () { | ||
| 18 | let _this = this | ||
| 19 | window.addEventListener('message', function (messageEvent) { | ||
| 20 | _this.getHomeNotice() | ||
| 21 | }, false) | ||
| 22 | }, | ||
| 23 | methods: { | ||
| 24 | getHomeNotice () { | ||
| 25 | getHomeNoticeList().then(res => { | ||
| 26 | if (res.result) { | ||
| 27 | this.noticeList = res.result.noticeList | ||
| 28 | } | ||
| 29 | }) | ||
| 30 | }, | ||
| 31 | //右侧表单选项卡事件 | ||
| 32 | beforeLeave (activeName, oldActiveName) { | ||
| 33 | if (activeName && activeName != 0) this.getFromRouter(activeName) | ||
| 34 | }, | ||
| 35 | //切换选项卡内容组件 | ||
| 36 | getFromRouter (tabname) { | ||
| 37 | //根据tabname获取选中的表单 此操作为了获取后端返回的表单对象,使用里面的是否可操作的属性 | ||
| 38 | for (let item of this.tabList) { | ||
| 39 | if (item.value === tabname) { | ||
| 40 | this.currentSelectTab = item | ||
| 41 | break; | ||
| 42 | } | ||
| 43 | } | ||
| 44 | this.componentTag = getForm(tabname, this.$route.query.sqywbm); | ||
| 45 | console.log(tabname); | ||
| 46 | } | ||
| 47 | } | ||
| 48 | } |
src/views/djbworkflow/workFrame.scss
0 → 100644
| 1 | .containerFrame { | ||
| 2 | height: 100%; | ||
| 3 | width: 100%; | ||
| 4 | position: sticky; | ||
| 5 | top: 80px; | ||
| 6 | border: 1px solid #ebeef5; | ||
| 7 | z-index: 100; | ||
| 8 | @include flex; | ||
| 9 | |||
| 10 | /deep/.el-tabs__header { | ||
| 11 | margin-bottom: 0 !important; | ||
| 12 | } | ||
| 13 | |||
| 14 | /deep/.el-menu-item { | ||
| 15 | display: flex; | ||
| 16 | align-items: center; | ||
| 17 | } | ||
| 18 | } | ||
| 19 | |||
| 20 | .leftmenu { | ||
| 21 | width: 0; | ||
| 22 | transition: all 0.3s; | ||
| 23 | border-right: 1px solid #ebeef5; | ||
| 24 | position: relative; | ||
| 25 | box-sizing: border-box; | ||
| 26 | padding-right: 5px; | ||
| 27 | |||
| 28 | .title { | ||
| 29 | line-height: 36px; | ||
| 30 | text-align: center; | ||
| 31 | font-size: 14px; | ||
| 32 | } | ||
| 33 | |||
| 34 | .dot { | ||
| 35 | display: inline-block; | ||
| 36 | background-color: #67C23A; | ||
| 37 | width: 6.5px; | ||
| 38 | height: 6px; | ||
| 39 | border-radius: 50%; | ||
| 40 | } | ||
| 41 | |||
| 42 | .menu-con { | ||
| 43 | width: 87%; | ||
| 44 | } | ||
| 45 | |||
| 46 | .batchDel { | ||
| 47 | float: right; | ||
| 48 | position: relative; | ||
| 49 | top: 3px; | ||
| 50 | } | ||
| 51 | |||
| 52 | .el-icon-delete { | ||
| 53 | margin-top: 10px; | ||
| 54 | } | ||
| 55 | |||
| 56 | .title-detail { | ||
| 57 | display: flex; | ||
| 58 | flex-wrap: wrap; | ||
| 59 | width: 100%; | ||
| 60 | } | ||
| 61 | |||
| 62 | .title-batch { | ||
| 63 | height: 70px; | ||
| 64 | |||
| 65 | .menus { | ||
| 66 | justify-content: center | ||
| 67 | } | ||
| 68 | } | ||
| 69 | |||
| 70 | ul { | ||
| 71 | position: relative; | ||
| 72 | // height: calc(100vh - 120px); | ||
| 73 | overflow-y: auto; | ||
| 74 | |||
| 75 | .xian { | ||
| 76 | background: #f2f2f2; | ||
| 77 | padding: 2px; | ||
| 78 | } | ||
| 79 | |||
| 80 | .title { | ||
| 81 | padding: 5px; | ||
| 82 | text-align: center; | ||
| 83 | } | ||
| 84 | |||
| 85 | li { | ||
| 86 | padding: 5px; | ||
| 87 | font-size: 14px; | ||
| 88 | line-height: 20px; | ||
| 89 | cursor: pointer; | ||
| 90 | |||
| 91 | div { | ||
| 92 | display: flex; | ||
| 93 | flex-direction: column; | ||
| 94 | } | ||
| 95 | } | ||
| 96 | |||
| 97 | li:hover { | ||
| 98 | color: #0f93f6; | ||
| 99 | cursor: pointer; | ||
| 100 | } | ||
| 101 | } | ||
| 102 | } | ||
| 103 | |||
| 104 | .animation-map-drawer { | ||
| 105 | width: 260px; | ||
| 106 | height: calc(100% - 80px); | ||
| 107 | } | ||
| 108 | |||
| 109 | .el-menu-item { | ||
| 110 | padding-left: 5px !important; | ||
| 111 | display: flex; | ||
| 112 | } | ||
| 113 | |||
| 114 | /deep/.el-menu { | ||
| 115 | border-right: none; | ||
| 116 | } | ||
| 117 | |||
| 118 | |||
| 119 | /deep/.el-menu-item.is-active { | ||
| 120 | background-color: #e7f4fe; | ||
| 121 | } | ||
| 122 | |||
| 123 | .leftCon { | ||
| 124 | flex: 1; | ||
| 125 | width: calc(100% - 260px); | ||
| 126 | display: flex; | ||
| 127 | } | ||
| 128 | |||
| 129 | .splitScreen-con { | ||
| 130 | flex: 1; | ||
| 131 | width: 0; | ||
| 132 | } | ||
| 133 | |||
| 134 | .rightContainer { | ||
| 135 | flex: 1; | ||
| 136 | width: 0; | ||
| 137 | height: calc(100vh - 80px); | ||
| 138 | } | ||
| 139 | |||
| 140 | /deep/.el-tabs { | ||
| 141 | box-sizing: border-box; | ||
| 142 | padding: 0 5px; | ||
| 143 | width: 100%; | ||
| 144 | } | ||
| 145 | |||
| 146 | .svg-icon { | ||
| 147 | width: 2.5em; | ||
| 148 | height: 2.5em; | ||
| 149 | transition: all 0.3s; | ||
| 150 | } | ||
| 151 | |||
| 152 | .iconName { | ||
| 153 | line-height: 24px; | ||
| 154 | font-size: 12px; | ||
| 155 | white-space: nowrap; | ||
| 156 | } | ||
| 157 | |||
| 158 | .container { | ||
| 159 | width: 100%; | ||
| 160 | height: 100%; | ||
| 161 | padding: 0; | ||
| 162 | box-sizing: border-box; | ||
| 163 | background-color: #ffffff; | ||
| 164 | overflow: hidden; | ||
| 165 | } | ||
| 166 | |||
| 167 | .map-drawer { | ||
| 168 | width: 16px; | ||
| 169 | height: 70px; | ||
| 170 | position: absolute; | ||
| 171 | top: 30%; | ||
| 172 | z-index: 99; | ||
| 173 | cursor: pointer; | ||
| 174 | } | ||
| 175 | |||
| 176 | .map-drawer-expand { | ||
| 177 | background: url("~@/image/right.png"); | ||
| 178 | background-size: cover; | ||
| 179 | right: 0%; | ||
| 180 | } | ||
| 181 | |||
| 182 | .map-drawer-click { | ||
| 183 | background: url("~@/image/left.png"); | ||
| 184 | background-size: cover; | ||
| 185 | left: 0%; | ||
| 186 | } | ||
| 187 | |||
| 188 | |||
| 189 | .topButton { | ||
| 190 | @include flex; | ||
| 191 | width: 100%; | ||
| 192 | height: 85px; | ||
| 193 | background-color: #3498db; | ||
| 194 | color: #ffffff; | ||
| 195 | justify-content: space-between; | ||
| 196 | position: sticky; | ||
| 197 | top: 0; | ||
| 198 | z-index: 100; | ||
| 199 | |||
| 200 | ul { | ||
| 201 | @include flex; | ||
| 202 | padding-left: 0; | ||
| 203 | |||
| 204 | li { | ||
| 205 | @include flex-center; | ||
| 206 | cursor: pointer; | ||
| 207 | flex-direction: column; | ||
| 208 | margin-right: 15px; | ||
| 209 | box-sizing: border-box; | ||
| 210 | width: 70px; | ||
| 211 | margin: 0 5px; | ||
| 212 | } | ||
| 213 | |||
| 214 | li:hover { | ||
| 215 | border: 1px solid #ffffff; | ||
| 216 | border-radius: 5px; | ||
| 217 | |||
| 218 | .icon { | ||
| 219 | transform: scale(1.3); | ||
| 220 | } | ||
| 221 | } | ||
| 222 | } | ||
| 223 | } | ||
| 224 | |||
| 225 | .NoticeBar { | ||
| 226 | position: absolute; | ||
| 227 | left: 0; | ||
| 228 | bottom: 0; | ||
| 229 | } | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
src/views/djbworkflow/workFrame.vue
0 → 100644
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-05-24 15:31:00 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <div class="container"> | ||
| 8 | <!-- 顶部内容框 --> | ||
| 9 | <div class="topButton"> | ||
| 10 | <!-- 左侧业务功能按钮 --> | ||
| 11 | <!-- <ul> | ||
| 12 | <li @click="operation(item)" v-for="(item, index) in leftButtonList" :key="index"> | ||
| 13 | <svg-icon class="icon" :icon-class="item.icon" /> | ||
| 14 | <span class="iconName">{{ item.name }}</span> | ||
| 15 | </li> | ||
| 16 | </ul> | ||
| 17 | <ul> | ||
| 18 | <li @click="operation(item)" v-for="(item, index) in rightButtonList" :key="index"> | ||
| 19 | <svg-icon class="icon" :icon-class="item.icon" /> | ||
| 20 | <span class="iconName">{{ item.name }}</span> | ||
| 21 | </li> | ||
| 22 | </ul> | ||
| 23 | <NoticeBar class="NoticeBar" :noticeList="noticeList" v-if="noticeList.length > 0" /> --> | ||
| 24 | </div> | ||
| 25 | <!-- 内容框架 --> | ||
| 26 | <div class="containerFrame"> | ||
| 27 | <!-- 左侧菜单栏 区分业务--> | ||
| 28 | <ordinaryMenu @getCurrentSelectProps="getCurrentSelectProps" /> | ||
| 29 | <div class="leftCon"> | ||
| 30 | <!-- 分屏左侧预览 --> | ||
| 31 | <div v-if="splitScreen" class="splitScreen-con"> | ||
| 32 | <component :is="clxxForm" v-bind="currentSelectProps" :key="fresh" /> | ||
| 33 | </div> | ||
| 34 | <!-- 表单内容区域 --> | ||
| 35 | <div class="rightContainer"> | ||
| 36 | <el-tabs v-model="tabName" :before-leave="beforeLeave"> | ||
| 37 | <el-tab-pane :label="item.name" :name="item.value" v-for="item in tabList" :key="item.value"> | ||
| 38 | </el-tab-pane> | ||
| 39 | </el-tabs> | ||
| 40 | <component :key="fresh" :is="componentTag" v-bind="currentSelectProps" /> | ||
| 41 | </div> | ||
| 42 | </div> | ||
| 43 | </div> | ||
| 44 | <!-- 打印模板需要此模块 --> | ||
| 45 | <object id="LODOP_OB" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" v-show="false"> | ||
| 46 | <embed id="LODOP_EM" type="application/x-print-lodop" width="820" height="450" pluginspage="install_lodop32.exe" /> | ||
| 47 | </object> | ||
| 48 | <el-upload class="fileUpdate" action="" :show-file-list="false" multiple :auto-upload="false" | ||
| 49 | :on-change="handleChange" :before-upload="beforeUpload"> | ||
| 50 | <el-button id="cldr" icon="el-icon-upload" type="primary" v-show="false">上传</el-button> | ||
| 51 | </el-upload> | ||
| 52 | </div> | ||
| 53 | </template> | ||
| 54 | <style scoped lang="scss"> | ||
| 55 | @import "~@/styles/mixin.scss"; | ||
| 56 | @import "./workFrame.scss"; | ||
| 57 | </style> | ||
| 58 | <script> | ||
| 59 | import WorkFlow from "./mixin/index" | ||
| 60 | import publicFlow from "./mixin/public.js" | ||
| 61 | // import { getStepFormInfo } from "@/api/fqsq.js" | ||
| 62 | // import { getForm } from "./flowform" | ||
| 63 | import NoticeBar from "@/components/NoticeBar/index" | ||
| 64 | import { unClaimTask } from "@/api/ywbl.js" | ||
| 65 | import ProcessViewer from "./components/processViewer.vue" | ||
| 66 | // 引入左侧菜单 | ||
| 67 | import ordinaryMenu from "./components/leftmenu/ordinaryMenu.vue" | ||
| 68 | import selectBdc from "@/views/ywbl/ywsq/selectBdc.vue" | ||
| 69 | import { loadTreeData, getNode } from "./components/leftmenu/djbFrameData"; | ||
| 70 | // 登记簿数据信息 | ||
| 71 | |||
| 72 | import { getBdcqljqtsx } from "@/api/registerBook.js"; | ||
| 73 | export default { | ||
| 74 | components: { | ||
| 75 | selectBdc, | ||
| 76 | NoticeBar, | ||
| 77 | ProcessViewer, | ||
| 78 | ordinaryMenu, | ||
| 79 | }, | ||
| 80 | mixins: [WorkFlow, publicFlow], | ||
| 81 | data () { | ||
| 82 | return { | ||
| 83 | isDialog: false, | ||
| 84 | bsmSlsq: this.$route.query.bsmSlsq, | ||
| 85 | //当前流程所在环节 | ||
| 86 | bestepid: this.$route.query.bestepid, | ||
| 87 | //受理申请标识码 | ||
| 88 | bdcdyid: this.$route.query.bdcdyid, | ||
| 89 | //当前流程所在环节 | ||
| 90 | bdcdyh: this.$route.query.bdcdyh, | ||
| 91 | qllx:this.$route.query.qllx, | ||
| 92 | //设置那个表单选中 | ||
| 93 | tabName: "", | ||
| 94 | //设置那个表单选择 | ||
| 95 | currentSelectTab: {}, | ||
| 96 | //表单集合 | ||
| 97 | tabList: [], | ||
| 98 | //选择加载哪一个组件 | ||
| 99 | componentTag: "", | ||
| 100 | //设置表单传递数据 | ||
| 101 | currentSelectProps: {}, | ||
| 102 | //材料分屏表单 | ||
| 103 | clxxForm: "", | ||
| 104 | //材料信息选择卡索引 | ||
| 105 | clxxIndex: "", | ||
| 106 | //材料信息选项卡对象 | ||
| 107 | clxxTab: {}, | ||
| 108 | //页面监听时间 | ||
| 109 | _beforeUnload_time: "" | ||
| 110 | } | ||
| 111 | }, | ||
| 112 | mounted () { | ||
| 113 | this.$store.dispatch('user/refreshPage', false); | ||
| 114 | //添加页面监听事件 | ||
| 115 | window.addEventListener("beforeunload", (e) => this.beforeunloadHandler(e)); | ||
| 116 | window.addEventListener("unload", (e) => this.unloadHandler(e)); | ||
| 117 | }, | ||
| 118 | destroyed () { | ||
| 119 | window.removeEventListener("beforeunload", (e) => | ||
| 120 | this.beforeunloadHandler(e) | ||
| 121 | ); | ||
| 122 | window.removeEventListener("unload", (e) => this.unloadHandler(e)); | ||
| 123 | }, | ||
| 124 | methods: { | ||
| 125 | getCurrentSelectProps (val) { | ||
| 126 | this.loadData() | ||
| 127 | }, | ||
| 128 | |||
| 129 | beforeunloadHandler () { | ||
| 130 | this._beforeUnload_time = new Date().getTime(); | ||
| 131 | }, | ||
| 132 | unloadHandler (e) { | ||
| 133 | this._gap_time = new Date().getTime() - this._beforeUnload_time; | ||
| 134 | //判断是窗口关闭还是刷新 | ||
| 135 | if (this._gap_time <= 10) { | ||
| 136 | //取消认领 | ||
| 137 | unClaimTask(this.bsmSlsq, this.bestepid); | ||
| 138 | } | ||
| 139 | }, | ||
| 140 | // 获取登记簿菜单 | ||
| 141 | loadData () { | ||
| 142 | getBdcqljqtsx({ | ||
| 143 | bdcdyid: this.bdcdyid, | ||
| 144 | bdcdyh: this.bdcdyh, | ||
| 145 | }).then((res) => { | ||
| 146 | if (res.code === 200) { | ||
| 147 | console.log("res.result","res.result",res.result); | ||
| 148 | this.treedata = loadTreeData(res.result, this.bdcdyh); | ||
| 149 | console.log("this.treedata","this.treedata",this.treedata); | ||
| 150 | this.$nextTick(function () { | ||
| 151 | this.defaultNode = getNode(this.qllx, { linShi: 0, xianShi: 0, liShi: 0 }, ""); | ||
| 152 | this.$refs.tree.setCurrentKey(this.defaultNode.id); //data[0].id为默认选中的节点 | ||
| 153 | // this.$parent.loadComponent(this.currentSelectProps,this.defaultNode); | ||
| 154 | }); | ||
| 155 | } | ||
| 156 | }); | ||
| 157 | this.currentSelectProps = { | ||
| 158 | bdcdyid: this.bdcdyid, | ||
| 159 | bdcdyh: this.bdcdyh, | ||
| 160 | qllx: this.qllx, | ||
| 161 | bsmQlxx: this.bsmQlxx, | ||
| 162 | }; | ||
| 163 | // this.$parent.stepForm(); | ||
| 164 | }, | ||
| 165 | |||
| 166 | loadComponent (currentSelectProps,data) { | ||
| 167 | this.currentSelectProps=currentSelectProps | ||
| 168 | this.componentTag = (r) => | ||
| 169 | require.ensure([], () => r(require("@/views/djbBook/" + data.form))); | ||
| 170 | }, | ||
| 171 | openDialog () { | ||
| 172 | this.$store.dispatch('user/refreshPage', false) | ||
| 173 | let data = JSON.parse(localStorage.getItem('ywbl')) | ||
| 174 | let title | ||
| 175 | if (data?.sqywmc) { | ||
| 176 | title = "申请业务:" + data?.sqywmc | ||
| 177 | } else { | ||
| 178 | title = "申请业务:" + data?.djywmc | ||
| 179 | } | ||
| 180 | |||
| 181 | this.$popupDialog(title, "ywbl/ywsq/selectBdc", { 'djywbm': this.$route.query.sqywbm, 'isJump': true, 'sqywInfo': data }, "80%", true) | ||
| 182 | } | ||
| 183 | } | ||
| 184 | } | ||
| 185 | </script> | ||
| 186 |
No preview for this file type
| ... | @@ -39,10 +39,10 @@ | ... | @@ -39,10 +39,10 @@ |
| 39 | </div> | 39 | </div> |
| 40 | </template> | 40 | </template> |
| 41 | <script> | 41 | <script> |
| 42 | import { mapGetters } from 'vuex' | 42 | import { mapGetters } from 'vuex' |
| 43 | import { leftMenu } from "@/api/fqsq.js" | 43 | import { leftMenu } from "@/api/fqsq.js" |
| 44 | import { deleteSlbdcdy } from "@/api/ywbl.js"; | 44 | import { deleteSlbdcdy } from "@/api/ywbl.js"; |
| 45 | export default { | 45 | export default { |
| 46 | data () { | 46 | data () { |
| 47 | return { | 47 | return { |
| 48 | //受理申请标识码 | 48 | //受理申请标识码 |
| ... | @@ -105,6 +105,10 @@ | ... | @@ -105,6 +105,10 @@ |
| 105 | if (this.unitData.length > 1) { | 105 | if (this.unitData.length > 1) { |
| 106 | let qllx = this.$route.query?.sqywbm?.substring(0, 3); | 106 | let qllx = this.$route.query?.sqywbm?.substring(0, 3); |
| 107 | switch (qllx) { | 107 | switch (qllx) { |
| 108 | case 'A04': | ||
| 109 | this.showBatch = true; | ||
| 110 | this.batchButtonName = '批量单元信息'; | ||
| 111 | break; | ||
| 108 | case 'B39': | 112 | case 'B39': |
| 109 | this.showBatch = true; | 113 | this.showBatch = true; |
| 110 | this.batchButtonName = '批量查封清单信息'; | 114 | this.batchButtonName = '批量查封清单信息'; |
| ... | @@ -159,6 +163,7 @@ | ... | @@ -159,6 +163,7 @@ |
| 159 | this.currentSelectProps.batchOperation = true; | 163 | this.currentSelectProps.batchOperation = true; |
| 160 | this.activeIndex = "-1"; | 164 | this.activeIndex = "-1"; |
| 161 | this.$parent.stepForm(); | 165 | this.$parent.stepForm(); |
| 166 | |||
| 162 | }, | 167 | }, |
| 163 | //批量操作 | 168 | //批量操作 |
| 164 | handleBatchDel () { | 169 | handleBatchDel () { |
| ... | @@ -178,12 +183,12 @@ | ... | @@ -178,12 +183,12 @@ |
| 178 | this.$store.dispatch('user/refreshPage', false); | 183 | this.$store.dispatch('user/refreshPage', false); |
| 179 | } | 184 | } |
| 180 | } | 185 | } |
| 181 | } | 186 | } |
| 182 | </script> | 187 | </script> |
| 183 | <style scoped lang='scss'> | 188 | <style scoped lang='scss'> |
| 184 | @import "~@/styles/mixin.scss"; | 189 | @import "~@/styles/mixin.scss"; |
| 185 | @import "../../workFrame.scss"; | 190 | @import "../../workFrame.scss"; |
| 186 | .leftmenu ul { | 191 | .leftmenu ul { |
| 187 | height: calc(100vh - 120px); | 192 | height: calc(100vh - 120px); |
| 188 | } | 193 | } |
| 189 | </style> | 194 | </style> | ... | ... |
| ... | @@ -4,7 +4,7 @@ | ... | @@ -4,7 +4,7 @@ |
| 4 | * @LastEditTime: 2023-05-29 14:39:11 | 4 | * @LastEditTime: 2023-05-29 14:39:11 |
| 5 | */ | 5 | */ |
| 6 | //流程环节操作按钮 | 6 | //流程环节操作按钮 |
| 7 | export function getForm (tabName, djywbm) { | 7 | export function getForm(tabName, djywbm) { |
| 8 | let form; | 8 | let form; |
| 9 | switch (tabName) { | 9 | switch (tabName) { |
| 10 | case "jsydsyqslxx100": | 10 | case "jsydsyqslxx100": |
| ... | @@ -22,6 +22,9 @@ export function getForm (tabName, djywbm) { | ... | @@ -22,6 +22,9 @@ export function getForm (tabName, djywbm) { |
| 22 | case "nydsyqslxx100": | 22 | case "nydsyqslxx100": |
| 23 | form = require("@/views/ywbl/slsqxx/nydsyq/slxx.vue"); | 23 | form = require("@/views/ywbl/slsqxx/nydsyq/slxx.vue"); |
| 24 | break; | 24 | break; |
| 25 | case "plfdcq2": | ||
| 26 | form = require("@/views/ywbl/slsqxx/fdcq2/slxxOverview.vue"); | ||
| 27 | break; | ||
| 25 | case "nydsyqslxx200": | 28 | case "nydsyqslxx200": |
| 26 | form = require("@/views/ywbl/slsqxx/nydsyq/slxx200.vue"); | 29 | form = require("@/views/ywbl/slsqxx/nydsyq/slxx200.vue"); |
| 27 | break; | 30 | break; | ... | ... |
src/views/ywbl/slsqxx/fdcq2/slxxOverview.vue
0 → 100644
| 1 | <!-- | ||
| 2 | * @Description: 受理信息 | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-05-25 08:41:40 | ||
| 5 | --> | ||
| 6 | <template> | ||
| 7 | <div class="slxx"> | ||
| 8 | <el-form :model="ruleForm" :rules="rules" ref="ruleForm" :label-position="flag ? 'top' : ''" :inline="flag" | ||
| 9 | label-width="120px"> | ||
| 10 | <div class="slxx_con" :class="flag ? 'formMarginBot0' : ''"> | ||
| 11 | <div class="slxx_title title-block"> | ||
| 12 | 受理信息 | ||
| 13 | <div class="triangle"></div> | ||
| 14 | </div> | ||
| 15 | <el-row :gutter="10" v-if="ruleForm.slsq"> | ||
| 16 | <el-col :span="8"> | ||
| 17 | <el-form-item label="业务号:"> | ||
| 18 | <el-input disabled v-model="ruleForm.slsq.ywh"></el-input> | ||
| 19 | </el-form-item> | ||
| 20 | </el-col> | ||
| 21 | <el-col :span="8"> | ||
| 22 | <el-form-item label="受理人员:"> | ||
| 23 | <el-input disabled v-model="ruleForm.slsq.slry"></el-input> | ||
| 24 | </el-form-item> | ||
| 25 | </el-col> | ||
| 26 | <el-col :span="8"> | ||
| 27 | <el-form-item label="受理时间:"> | ||
| 28 | <el-input disabled v-model="ruleForm.slsq.slsj"></el-input> | ||
| 29 | </el-form-item> | ||
| 30 | </el-col> | ||
| 31 | </el-row> | ||
| 32 | <el-row :gutter="10" v-if="ruleForm.slsq"> | ||
| 33 | <el-col :span="8"> | ||
| 34 | <el-form-item label="权利类型:"> | ||
| 35 | <el-input disabled v-model="ruleForm.slsq.qllxmc"></el-input> | ||
| 36 | </el-form-item> | ||
| 37 | </el-col> | ||
| 38 | <el-col :span="8"> | ||
| 39 | <el-form-item label="登记类型:"> | ||
| 40 | <el-input disabled v-model="ruleForm.slsq.djlxmc"></el-input> | ||
| 41 | </el-form-item> | ||
| 42 | </el-col> | ||
| 43 | <el-col :span="8"> | ||
| 44 | <el-form-item label="登记情形:"> | ||
| 45 | <el-input disabled v-model="ruleForm.slsq.djqxmc"></el-input> | ||
| 46 | </el-form-item> | ||
| 47 | </el-col> | ||
| 48 | </el-row> | ||
| 49 | <div class="slxx_title title-block"> | ||
| 50 | 房屋概况 | ||
| 51 | <div class="triangle"></div> | ||
| 52 | </div> | ||
| 53 | <el-row :gutter="10" v-if="ruleForm.zdjbxx"> | ||
| 54 | <el-col :span="8"> | ||
| 55 | <el-form-item label="规划用途名称:"> | ||
| 56 | <el-input disabled v-model="ruleForm.zdjbxx.ghytmc"></el-input> | ||
| 57 | </el-form-item> | ||
| 58 | </el-col> | ||
| 59 | <el-col :span="8"> | ||
| 60 | <el-form-item label="权利设定方式名称:"> | ||
| 61 | <el-input disabled v-model="ruleForm.zdjbxx.qlsdfsmc"></el-input> | ||
| 62 | </el-form-item> | ||
| 63 | </el-col> | ||
| 64 | <el-col :span="8"> | ||
| 65 | <el-form-item label="房屋性质:"> | ||
| 66 | <el-input disabled v-model="splicingFdcq2.fwxz"></el-input> | ||
| 67 | </el-form-item> | ||
| 68 | </el-col> | ||
| 69 | </el-row> | ||
| 70 | <el-row :gutter="10" v-if="ruleForm.zdjbxx"> | ||
| 71 | <el-col :span="8"> | ||
| 72 | <el-form-item label="房屋结构:"> | ||
| 73 | <el-input disabled v-model="splicingFdcq2.fwjg"></el-input> | ||
| 74 | </el-form-item> | ||
| 75 | </el-col> | ||
| 76 | <el-col :span="8"> | ||
| 77 | <el-form-item label="建筑总面积:"> | ||
| 78 | <el-input disabled v-model="splicingFdcq2.jzmj"></el-input> | ||
| 79 | </el-form-item> | ||
| 80 | </el-col> | ||
| 81 | <el-col :span="8"> | ||
| 82 | <el-form-item label="房屋总套数:"> | ||
| 83 | <el-input disabled v-model="splicingFdcq2.zts"></el-input> | ||
| 84 | </el-form-item> | ||
| 85 | </el-col> | ||
| 86 | </el-row> | ||
| 87 | <div class="slxx_title title-block"> | ||
| 88 | 权利人信息 | ||
| 89 | <div class="triangle"></div> | ||
| 90 | </div> | ||
| 91 | <el-row :gutter="10"> | ||
| 92 | <el-col :span="14" v-if="ruleForm.qlxx"> | ||
| 93 | <el-form-item label="共有方式:"> | ||
| 94 | <el-radio-group :disabled="$route.query.viewtype == 1" @change="showCZInfo" | ||
| 95 | v-model="ruleForm.slsq.gyfs"> | ||
| 96 | <el-radio label="0">单独所有</el-radio> | ||
| 97 | <el-radio label="1">共同共有</el-radio> | ||
| 98 | <el-radio label="2">按份所有</el-radio> | ||
| 99 | <el-radio label="3">其它共有</el-radio> | ||
| 100 | </el-radio-group> | ||
| 101 | </el-form-item> | ||
| 102 | </el-col> | ||
| 103 | <el-col :span="5"> | ||
| 104 | <el-form-item label="发证方式:"> | ||
| 105 | <el-radio-group v-model="ruleForm.slsq.fzfs"> | ||
| 106 | <el-radio label="1">小证</el-radio> | ||
| 107 | <el-radio label="2">大证</el-radio> | ||
| 108 | </el-radio-group> | ||
| 109 | </el-form-item> | ||
| 110 | </el-col> | ||
| 111 | |||
| 112 | <el-col :span="5" v-show="ruleForm.qlxx && ruleForm.qlxx.gyfs == '2'"> | ||
| 113 | <el-form-item label="是否分别持证:"> | ||
| 114 | <el-radio-group v-model="ruleForm.slsq.sqfbcz"> | ||
| 115 | <el-radio label="1">是</el-radio> | ||
| 116 | <el-radio label="0">否</el-radio> | ||
| 117 | </el-radio-group> | ||
| 118 | </el-form-item> | ||
| 119 | </el-col> | ||
| 120 | <el-col :span="5" v-show="ruleForm.qlxx && ruleForm.qlxx.gyfs == '2'"> | ||
| 121 | <el-form-item label="持证人:"> | ||
| 122 | <el-select v-model="ruleForm.slsq.czr" placeholder="持证人"> | ||
| 123 | <el-option v-for="item in czrOptions" :key="item.value" :label="item.label" :value="item.value"> | ||
| 124 | </el-option> | ||
| 125 | </el-select> | ||
| 126 | </el-form-item> | ||
| 127 | </el-col> | ||
| 128 | </el-row> | ||
| 129 | <qlrCommonTable v-if="ruleForm.qlxx" @upDateQlrxxList="upDateQlrxxList" :tableData="ruleForm.qlrList" | ||
| 130 | :gyfs="ruleForm.qlxx.gyfs" /> | ||
| 131 | |||
| 132 | <!-- <div v-if="ruleForm.ywrList"> | ||
| 133 | <div class="slxx_title title-block"> | ||
| 134 | 义务人信息 | ||
| 135 | <div class="triangle"></div> | ||
| 136 | </div> | ||
| 137 | <qlrCommonTable v-if="ruleForm.qlxxList" @upDateQlrxxList="upDateYwrxxList" :tableData="ruleForm.ywrList" | ||
| 138 | :gyfs="ruleForm.qlxx.gyfs" /> | ||
| 139 | </div>--> | ||
| 140 | <div class="slxx_title title-block"> | ||
| 141 | 登记原因 | ||
| 142 | <div class="triangle"></div> | ||
| 143 | </div> | ||
| 144 | <el-row :gutter="10"> | ||
| 145 | <el-col> | ||
| 146 | <el-form-item v-if="ruleForm.fdcq2" label="登记原因:" prop="djyy"> | ||
| 147 | <el-input class="textArea" type="textarea" :disabled="$route.query.viewtype == 1" | ||
| 148 | v-model="ruleForm.fdcq2.djyy"> | ||
| 149 | </el-input> | ||
| 150 | </el-form-item> | ||
| 151 | </el-col> | ||
| 152 | </el-row> | ||
| 153 | </div> | ||
| 154 | <el-row class="btn" v-if="!$route.query.viewtype && ableOperation"> | ||
| 155 | <el-form-item> | ||
| 156 | <el-button type="primary" @click="onSubmit">保存</el-button> | ||
| 157 | </el-form-item> | ||
| 158 | </el-row> | ||
| 159 | </el-form> | ||
| 160 | </div> | ||
| 161 | </template> | ||
| 162 | <script> | ||
| 163 | import qlrCommonTable from "@/views/workflow/components/qlrCommonTable"; | ||
| 164 | import {BatchInit, Init, saveBatchData, saveData} from "@/api/workflow/fwsyqFlow.js"; | ||
| 165 | import { mapGetters } from "vuex"; | ||
| 166 | export default { | ||
| 167 | created(callbackfn, thisArg) { | ||
| 168 | this.ableOperation = this.$parent.currentSelectTab.ableOperation | ||
| 169 | this.propsParam = this.$attrs; | ||
| 170 | var formdata = new FormData(); | ||
| 171 | formdata.append("bsmSldy", this.propsParam.bsmSldy); | ||
| 172 | formdata.append("djlx", this.propsParam.djlx); | ||
| 173 | formdata.append("bsmSlsq", this.bsmSlsq); | ||
| 174 | BatchInit(formdata).then((res) => { | ||
| 175 | if (res.code === 200 && res.result) { | ||
| 176 | this.ruleForm = res.result; | ||
| 177 | this.ruleForm.qlxx = this.ruleForm.qlxxList[0] | ||
| 178 | this.splicingFdcq2Info(); | ||
| 179 | } | ||
| 180 | }); | ||
| 181 | |||
| 182 | }, | ||
| 183 | components: { qlrCommonTable }, | ||
| 184 | computed: { | ||
| 185 | ...mapGetters(["dictData", "flag"]), | ||
| 186 | }, | ||
| 187 | data () { | ||
| 188 | return { | ||
| 189 | disabled: true, | ||
| 190 | tdytOption: [], | ||
| 191 | czrOptions: [], | ||
| 192 | ruleForm: { | ||
| 193 | slsq: {}, | ||
| 194 | zdjbxx: {}, | ||
| 195 | sldyList: [], | ||
| 196 | qlxxList: [], | ||
| 197 | fdcq2List:[] | ||
| 198 | }, | ||
| 199 | //传递参数 | ||
| 200 | propsParam: this.$attrs, | ||
| 201 | //表单是否可操作 | ||
| 202 | ableOperation: true, | ||
| 203 | rules: {}, | ||
| 204 | bsmSlsq: this.$route.query.bsmSlsq,//受理申请标识码 | ||
| 205 | splicingFdcq2:{//前端根据后台数组组装展示内容 | ||
| 206 | fwxz:{}//房屋性质 | ||
| 207 | ,fwjg:{}//房屋结构 | ||
| 208 | ,jzmj:{} //建筑面积 | ||
| 209 | ,zts:{}//房屋总套数 | ||
| 210 | } | ||
| 211 | } | ||
| 212 | }, | ||
| 213 | methods: { | ||
| 214 | //组装房地产权通用信息 | ||
| 215 | splicingFdcq2Info(){ | ||
| 216 | let fdcq2List = this.ruleForm.fdcq2List; | ||
| 217 | let fwxzArr = []; | ||
| 218 | let fwjgArr = []; | ||
| 219 | let jzmj = 0; | ||
| 220 | fdcq2List.forEach(fdcq2 => { | ||
| 221 | fwxzArr.push(fdcq2.fwxzmc); | ||
| 222 | fwjgArr.push(fdcq2.fwjgmc); | ||
| 223 | jzmj += parseFloat(fdcq2.jzmj); | ||
| 224 | }) | ||
| 225 | //将数据转为字符串 | ||
| 226 | //房屋性质 | ||
| 227 | let fwxz = Array.from(new Set(fwxzArr)).join(","); | ||
| 228 | //房屋结构 | ||
| 229 | let fwjg = Array.from(new Set(fwjgArr)).join(","); | ||
| 230 | this.splicingFdcq2.fwxz = fwxz; | ||
| 231 | this.splicingFdcq2.fwjg = fwjg; | ||
| 232 | this.splicingFdcq2.jzmj = jzmj; | ||
| 233 | this.splicingFdcq2.zts = fdcq2List.length; | ||
| 234 | }, | ||
| 235 | |||
| 236 | // 更新权利人信息 | ||
| 237 | upDateQlrxxList (val) { | ||
| 238 | this.ruleForm.qlrList = _.cloneDeep(val); | ||
| 239 | }, | ||
| 240 | showCZInfo () { | ||
| 241 | console.log(this.ruleForm.slsq.gyfs); | ||
| 242 | }, | ||
| 243 | // 更新义务人信息 | ||
| 244 | upDateYwrxxList (val) { | ||
| 245 | this.ruleForm.ywrList = _.cloneDeep(val); | ||
| 246 | }, | ||
| 247 | onSubmit () { | ||
| 248 | saveBatchData(this.ruleForm).then((res) => { | ||
| 249 | if (res.code === 200) { | ||
| 250 | this.$message({ | ||
| 251 | showClose: true, | ||
| 252 | message: "保存成功!", | ||
| 253 | type: "success", | ||
| 254 | }); | ||
| 255 | this.$store.dispatch('user/refreshPage', true); | ||
| 256 | } else { | ||
| 257 | this.$message({ | ||
| 258 | showClose: true, | ||
| 259 | message: res.message, | ||
| 260 | type: "error" | ||
| 261 | }) | ||
| 262 | } | ||
| 263 | }) | ||
| 264 | } | ||
| 265 | } | ||
| 266 | } | ||
| 267 | </script> | ||
| 268 | <style scoped lang='scss'> | ||
| 269 | @import "~@/styles/public.scss"; | ||
| 270 | |||
| 271 | /deep/.el-form { | ||
| 272 | display: flex; | ||
| 273 | flex-direction: column; | ||
| 274 | height: calc(100vh - 130px); | ||
| 275 | } | ||
| 276 | |||
| 277 | /deep/.el-form-item__label { | ||
| 278 | padding: 0; | ||
| 279 | } | ||
| 280 | |||
| 281 | /deep/.el-radio { | ||
| 282 | margin-right: 10px; | ||
| 283 | } | ||
| 284 | |||
| 285 | /deep/.el-select { | ||
| 286 | width: 100%; | ||
| 287 | } | ||
| 288 | |||
| 289 | /deep/.el-form-item { | ||
| 290 | margin-bottom: 8px; | ||
| 291 | } | ||
| 292 | |||
| 293 | .marginBot0 { | ||
| 294 | margin-bottom: 0 !important; | ||
| 295 | } | ||
| 296 | |||
| 297 | .slxx { | ||
| 298 | box-sizing: border-box; | ||
| 299 | } | ||
| 300 | |||
| 301 | .slxx_con { | ||
| 302 | flex: 1; | ||
| 303 | height: 100%; | ||
| 304 | background-color: #ffffff; | ||
| 305 | overflow-y: auto; | ||
| 306 | padding-right: 3px; | ||
| 307 | overflow-x: hidden; | ||
| 308 | } | ||
| 309 | |||
| 310 | .submit_btn { | ||
| 311 | height: 50px; | ||
| 312 | } | ||
| 313 | |||
| 314 | .slxx_title { | ||
| 315 | border-bottom: 1px solid $borderColor; | ||
| 316 | padding-left: 10px; | ||
| 317 | padding-bottom: 5px; | ||
| 318 | margin-bottom: 10px; | ||
| 319 | margin-top: 5px; | ||
| 320 | font-size: 16px; | ||
| 321 | font-weight: 500; | ||
| 322 | color: #4a4a4a; | ||
| 323 | } | ||
| 324 | |||
| 325 | .btn { | ||
| 326 | text-align: center; | ||
| 327 | padding-top: 10px; | ||
| 328 | height: 36px; | ||
| 329 | background-color: #ffffff; | ||
| 330 | padding: 5px 0; | ||
| 331 | } | ||
| 332 | |||
| 333 | .textArea { | ||
| 334 | /deep/.el-textarea__inner { | ||
| 335 | min-height: 90px !important; | ||
| 336 | } | ||
| 337 | } | ||
| 338 | |||
| 339 | /deep/.el-form-item__label { | ||
| 340 | padding-bottom: 0px; | ||
| 341 | } | ||
| 342 | </style> |
| 1 | <template> | ||
| 2 | <div class="ywsq" id="ywsq"> | ||
| 3 | <div class="ywsq-left"> | ||
| 4 | <p v-for="(item, index) in sqywlxList" @click="sqywlxClick(item)" :key="index" | ||
| 5 | :class="{ 'active': selectType == item.type }">{{ item.name }}</p> | ||
| 6 | <el-collapse disabled v-model="activeNames"> | ||
| 7 | <el-collapse-item title="业务申请" name="1"> | ||
| 8 | <ul class="item-list"> | ||
| 9 | <li v-for="(item, index) in sqywQllxList" :key="index" @click="qllxClick(index)" | ||
| 10 | :class="item.check ? 'active' : ''"> | ||
| 11 | {{ item.nodename }}</li> | ||
| 12 | </ul> | ||
| 13 | </el-collapse-item> | ||
| 14 | </el-collapse> | ||
| 15 | </div> | ||
| 16 | <div class="ywsq-right"> | ||
| 17 | <!-- 常办业务 --> | ||
| 18 | <div v-show="selectType == 'collect'" class="right-situation el-card"> | ||
| 19 | <div class="right-title">常办业务列表</div> | ||
| 20 | <ul> | ||
| 21 | <li :class="item.selected ? 'cactive' : ''" v-for="(item, index) in collectList" :key="index" | ||
| 22 | @dblclick="dblclick(collectList, index, item)" @click="selectSqywClick(collectList, index)"> | ||
| 23 | <p v-if="item.nodetype == 'djqx'">{{ item.djywmc }}<br>{{ item.nodename }}</p> | ||
| 24 | <dt v-else>{{ item.djywmc }}</dt> | ||
| 25 | <p class="active" @click.stop="handleCollection(item)"> | ||
| 26 | <i class="el-icon-star-off"></i> | ||
| 27 | </p> | ||
| 28 | </li> | ||
| 29 | </ul> | ||
| 30 | </div> | ||
| 31 | <!-- 一并申请 --> | ||
| 32 | <div v-if="selectType == 'together'" class="right-title">一并申请</div> | ||
| 33 | <!-- 登记簿补录 --> | ||
| 34 | <div v-if="selectType == 'amend'" class="right-title">登记簿补录</div> | ||
| 35 | <!-- 业务申请 --> | ||
| 36 | <template v-if="selectType == 'apply'"> | ||
| 37 | <div class="right-type el-card box-card is-always-shadow"> | ||
| 38 | <div class="right-title">登记类型</div> | ||
| 39 | <ul class="type-content"> | ||
| 40 | <li :class="item.selected ? 'cactive' : ''" @dblclick="item.sffqlc == 1 && dblclick(djlxList, index, item)" | ||
| 41 | @click="selectSqywClick(djlxList, index)" v-for="(item, index) in djlxList" :key="index"> | ||
| 42 | <p> | ||
| 43 | {{ item.nodename }} | ||
| 44 | </p> | ||
| 45 | <p v-if="item.sffqlc == 1" :class="item.userCollect == 1 ? 'active' : ''" | ||
| 46 | @click.stop="handleCollection(item)"> | ||
| 47 | <i class="el-icon-star-off"></i> | ||
| 48 | </p> | ||
| 49 | </li> | ||
| 50 | </ul> | ||
| 51 | </div> | ||
| 52 | <div class="right-situation el-card box-card is-always-shadow"> | ||
| 53 | <div class="right-title">登记情形</div> | ||
| 54 | <ul> | ||
| 55 | <li :class="item.selected ? 'cactive' : ''" v-for="(item, index) in djqxList" :key="index" | ||
| 56 | @dblclick="dblclick(djqxList, index, item)" @click="selectSqywClick(djqxList, index)"> | ||
| 57 | <dt>{{ item.nodename }}</dt> | ||
| 58 | <p :class="item.userCollect == 1 ? 'active' : ''" @click.stop="handleCollection(item)"> | ||
| 59 | <i class="el-icon-star-off"></i> | ||
| 60 | </p> | ||
| 61 | </li> | ||
| 62 | </ul> | ||
| 63 | </div> | ||
| 64 | </template> | ||
| 65 | <div class="submit-button"> | ||
| 66 | <el-button type="primary" :disabled="btnDisabled" @click="dialogClick">选择不动产</el-button> | ||
| 67 | </div> | ||
| 68 | </div> | ||
| 69 | </div> | ||
| 70 | </template> | ||
| 71 | <script> | ||
| 72 | import { getCollectBiz, getleftMenu, getNextNode, addCollectBiz, deleteCollectBiz } from "@/api/ywbl" | ||
| 73 | export default { | ||
| 74 | data () { | ||
| 75 | return { | ||
| 76 | //申请业务类型集合 | ||
| 77 | sqywlxList: [ | ||
| 78 | { name: "常办业务", type: "collect" }, | ||
| 79 | { name: "一并申请", type: "together" }, | ||
| 80 | { name: "登记簿补录", type: "amend" } | ||
| 81 | ], | ||
| 82 | //类型默认选择常办业务 | ||
| 83 | selectType: "collect", | ||
| 84 | //堆叠框选中第一个 | ||
| 85 | activeNames: ['1'], | ||
| 86 | //收藏业务集合 | ||
| 87 | collectList: [], | ||
| 88 | //申请权利类型集合 | ||
| 89 | sqywQllxList: [], | ||
| 90 | //登记类型集合 | ||
| 91 | djlxList: [], | ||
| 92 | //申请权利类型集合 | ||
| 93 | djqxList: [], | ||
| 94 | //选中业务的参数 | ||
| 95 | selectParam: {}, | ||
| 96 | //选择按钮显示或隐藏 | ||
| 97 | btnDisabled: true, | ||
| 98 | } | ||
| 99 | }, | ||
| 100 | created () { | ||
| 101 | this.getDataList(); | ||
| 102 | }, | ||
| 103 | methods: { | ||
| 104 | getDataList () { | ||
| 105 | //获取收藏信息集合 | ||
| 106 | getCollectBiz().then(res => { | ||
| 107 | this.collectList = res.result; | ||
| 108 | this.collectList.forEach(item => { | ||
| 109 | this.$set(item, 'selected', false); | ||
| 110 | }); | ||
| 111 | }); | ||
| 112 | //获取申请权利信息集合 | ||
| 113 | getleftMenu().then(res => { | ||
| 114 | this.sqywQllxList = res.result; | ||
| 115 | }) | ||
| 116 | }, | ||
| 117 | //申请业务类型菜单事件 | ||
| 118 | sqywlxClick (item) { | ||
| 119 | this.btnDisabled = true; | ||
| 120 | this.selectType = item.type; | ||
| 121 | this.sqywQllxList.forEach(item => { | ||
| 122 | if (item.check) item.check = false; | ||
| 123 | }) | ||
| 124 | }, | ||
| 125 | //权利类型菜单事件 | ||
| 126 | qllxClick (index) { | ||
| 127 | this.btnDisabled = true; | ||
| 128 | this.sqywQllxList.forEach(item => { | ||
| 129 | if (item.check) item.check = false; | ||
| 130 | }) | ||
| 131 | this.sqywQllxList[index].check = true; | ||
| 132 | this.selectType = "apply"; | ||
| 133 | this.djlxList = []; | ||
| 134 | this.djqxList = []; | ||
| 135 | this.getNextNode(this.sqywQllxList[index].bsmSqyw); | ||
| 136 | }, | ||
| 137 | //选择申请业务事件 | ||
| 138 | selectSqywClick (data, index) { | ||
| 139 | data.forEach(item => { | ||
| 140 | item.selected = false; | ||
| 141 | }); | ||
| 142 | data[index].selected = true; | ||
| 143 | if (data[index].sffqlc == "1") { | ||
| 144 | this.selectParam = data[index]; | ||
| 145 | this.btnDisabled = false; | ||
| 146 | } else { | ||
| 147 | this.btnDisabled = true; | ||
| 148 | this.getNextNode(data[index].bsmSqyw); | ||
| 149 | } | ||
| 150 | }, | ||
| 151 | //获取下个节点类型数据 | ||
| 152 | getNextNode (bsmSqyw) { | ||
| 153 | getNextNode(bsmSqyw).then(res => { | ||
| 154 | if (res.result.djqx) { | ||
| 155 | this.djqxList = res.result.djqx; | ||
| 156 | this.djqxList.forEach(item => { | ||
| 157 | this.$set(item, 'selected', false); | ||
| 158 | }); | ||
| 159 | } | ||
| 160 | if (res.result.djlx) { | ||
| 161 | this.djlxList = res.result.djlx; | ||
| 162 | this.djlxList.forEach(item => { | ||
| 163 | this.$set(item, 'selected', false); | ||
| 164 | }); | ||
| 165 | } | ||
| 166 | }) | ||
| 167 | }, | ||
| 168 | //双击事件 | ||
| 169 | dblclick (data, index, item) { | ||
| 170 | localStorage.setItem('ywbl', JSON.stringify(item)); | ||
| 171 | this.selectSqywClick(data, index); | ||
| 172 | this.dialogClick(); | ||
| 173 | }, | ||
| 174 | //打开弹框内容 | ||
| 175 | dialogClick () { | ||
| 176 | this.openDialog(); | ||
| 177 | }, | ||
| 178 | //收藏操作 | ||
| 179 | handleCollection (item) { | ||
| 180 | let that = this | ||
| 181 | if (item.userCollect == '2') { | ||
| 182 | addCollectBiz(item.bsmSqyw).then(res => { | ||
| 183 | if (res.code == 200) { | ||
| 184 | item.userCollect = '1' | ||
| 185 | that.$message({ | ||
| 186 | message: '收藏成功!', | ||
| 187 | type: 'success' | ||
| 188 | }) | ||
| 189 | that.getDataList() | ||
| 190 | } | ||
| 191 | }) | ||
| 192 | } else { | ||
| 193 | this.$confirm('此操作将取消收藏, 是否继续?', '提示', { | ||
| 194 | confirmButtonText: '确定', | ||
| 195 | cancelButtonText: '取消', | ||
| 196 | type: 'warning' | ||
| 197 | }).then(() => { | ||
| 198 | deleteCollectBiz(item.bsmSqyw).then(res => { | ||
| 199 | if (res.code == 200) { | ||
| 200 | item.userCollect = '2' | ||
| 201 | that.$message({ | ||
| 202 | message: '取消收藏成功!', | ||
| 203 | type: 'success' | ||
| 204 | }) | ||
| 205 | that.getDataList() | ||
| 206 | } | ||
| 207 | }) | ||
| 208 | }) | ||
| 209 | } | ||
| 210 | }, | ||
| 211 | handleSelect (item) { | ||
| 212 | this.busList.forEach(item => { | ||
| 213 | item.cselect = false | ||
| 214 | }) | ||
| 215 | item.cselect = !item.cselect | ||
| 216 | }, | ||
| 217 | // 登记类型 | ||
| 218 | handleDjlxSelect (item) { | ||
| 219 | this.djlxList.forEach(item => { | ||
| 220 | item.cselect = false | ||
| 221 | }) | ||
| 222 | this.btnDisabled = true | ||
| 223 | item.cselect = true; | ||
| 224 | this.djqxObj = item; | ||
| 225 | if (item.sffqlc == '1') { | ||
| 226 | this.btnDisabled = false | ||
| 227 | this.bsmSqyw = item.bsmSqyw | ||
| 228 | this.djywbm = item.djywbm; | ||
| 229 | } else { | ||
| 230 | this.getNextNode(item.bsmSqyw, false) | ||
| 231 | } | ||
| 232 | this.djqxList = [] | ||
| 233 | }, | ||
| 234 | handleDjqxItem (item) { | ||
| 235 | this.djlxList.forEach(item => { | ||
| 236 | item.cselect = false | ||
| 237 | }) | ||
| 238 | if (item.sffqlc == 1) { | ||
| 239 | this.djywbm = item.djywbm | ||
| 240 | this.bsmSqyw = item.bsmSqyw | ||
| 241 | item.cselect = true | ||
| 242 | this.openDialog() | ||
| 243 | this.btnDisabled = true | ||
| 244 | } | ||
| 245 | }, | ||
| 246 | handleSelectItem (item, list) { | ||
| 247 | this.handleSelectYw(item, list) | ||
| 248 | this.openDialog() | ||
| 249 | }, | ||
| 250 | // 选择不动产信息 | ||
| 251 | bthSelectClick () { | ||
| 252 | this.openDialog() | ||
| 253 | }, | ||
| 254 | openDialog () { | ||
| 255 | let title = "申请业务:" + this.selectParam?.djywmc ? this.selectParam?.djywmc : ''; | ||
| 256 | this.$popupDialog(title, "ywbl/ywsq/selectBdc", { 'sqywInfo': this.selectParam }, "80%") | ||
| 257 | }, | ||
| 258 | loadView (view) { | ||
| 259 | return r => require.ensure([], () => r(require(`./components/${view}/${view}.vue`))) | ||
| 260 | } | ||
| 261 | } | ||
| 262 | } | ||
| 263 | </script> | ||
| 264 | <style scoped lang='scss'> | ||
| 265 | @import "~@/styles/mixin.scss"; | ||
| 266 | @import "./ywsq.scss"; | ||
| 267 | |||
| 268 | /deep/.el-collapse-item__content { | ||
| 269 | padding-bottom: 0; | ||
| 270 | } | ||
| 271 | |||
| 272 | /deep/.el-collapse-item__wrap { | ||
| 273 | border-bottom: none; | ||
| 274 | } | ||
| 275 | </style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| ... | @@ -112,7 +112,22 @@ export default { | ... | @@ -112,7 +112,22 @@ export default { |
| 112 | this.$popupDialog('楼盘表', 'lpb/index', { | 112 | this.$popupDialog('楼盘表', 'lpb/index', { |
| 113 | bsm: '' | 113 | bsm: '' |
| 114 | }, '85%') | 114 | }, '85%') |
| 115 | } | 115 | }, |
| 116 | ywhClick (item) { | ||
| 117 | const { href } = this.$router.resolve( | ||
| 118 | "/djbworkFrame?bdcdyid=" + | ||
| 119 | item.bdcdyid+ | ||
| 120 | "&bdcdyh=" + | ||
| 121 | item.bdcdyh+ | ||
| 122 | "&qllx="+ | ||
| 123 | item.qllx+ | ||
| 124 | "&bsmQlxx="+ | ||
| 125 | item.bsmQlxx | ||
| 126 | ); | ||
| 127 | localStorage.setItem('ywbl', JSON.stringify(item)); | ||
| 128 | window.open(href, `urlname${item.bdcdyid}`); | ||
| 129 | |||
| 130 | }, | ||
| 116 | } | 131 | } |
| 117 | } | 132 | } |
| 118 | </script> | 133 | </script> | ... | ... |
| ... | @@ -54,6 +54,9 @@ class data extends filter { | ... | @@ -54,6 +54,9 @@ class data extends filter { |
| 54 | prop: "ywh", | 54 | prop: "ywh", |
| 55 | label: "业务号", | 55 | label: "业务号", |
| 56 | width: '110', | 56 | width: '110', |
| 57 | render: (h, scope) => { | ||
| 58 | return <el-button type="text" onClick={() => { vm.ywhClick(scope.row) }}>{scope.row.ywh}</el-button> | ||
| 59 | } | ||
| 57 | }, | 60 | }, |
| 58 | { | 61 | { |
| 59 | prop: "qllxmc", | 62 | prop: "qllxmc", | ... | ... |
-
Please register or sign in to post a comment