aec0ce0b by xiaomiao

--no commit message

2 parents 86bc39c3 526076e3
Showing 192 changed files with 1019 additions and 3309 deletions
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
10 "dependencies": { 10 "dependencies": {
11 "@antv/g2": "^4.2.8", 11 "@antv/g2": "^4.2.8",
12 "@babel/polyfill": "^7.12.1", 12 "@babel/polyfill": "^7.12.1",
13 "@riophae/vue-treeselect": "^0.4.0",
13 "axios": "^0.21.1", 14 "axios": "^0.21.1",
14 "bpmn-js": "^7.4.0", 15 "bpmn-js": "^7.4.0",
15 "bpmn-js-properties-panel": "^0.37.2", 16 "bpmn-js-properties-panel": "^0.37.2",
...@@ -22,6 +23,7 @@ ...@@ -22,6 +23,7 @@
22 "node-sass": "^4.14.1", 23 "node-sass": "^4.14.1",
23 "normalize.css": "7.0.0", 24 "normalize.css": "7.0.0",
24 "nprogress": "0.2.0", 25 "nprogress": "0.2.0",
26 "qrcode": "^1.5.3",
25 "vue": "2.6.10", 27 "vue": "2.6.10",
26 "vue-json-editor": "^1.4.3", 28 "vue-json-editor": "^1.4.3",
27 "vue-quill-editor": "^3.0.6", 29 "vue-quill-editor": "^3.0.6",
......
1 { 1 {
2 "TITLE": "不动产登记系统", 2 "TITLE": "不动产登记系统",
3 "SERVERAPI": "/bdcdj", 3 "SERVERAPI": "/bdcdj",
4 "ip": "http://192.168.2.38" 4 "IDCARDURL": "http://127.0.0.1:33088/function=get_idcard&readnew=0"
5 } 5 }
...\ No newline at end of file ...\ No newline at end of file
......
1 {
2 "TITLE": "不动产登记系统",
3 "SERVERAPI": "/bdcdj",
4 "ip": "http://192.168.2.38"
5 }
...\ No newline at end of file ...\ No newline at end of file
1 {
2 "TITLE": "不动产登记系统",
3 "SERVERAPI": "service-bdcdj-th",
4 "ip": "http://192.168.2.38"
5 }
...\ No newline at end of file ...\ No newline at end of file
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-06-02 09:49:22 4 * @LastEditTime: 2023-06-20 10:23:38
5 --> 5 -->
6 <!DOCTYPE html> 6 <!DOCTYPE html>
7 <html> 7 <html>
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
22 cloudEnable: false, 22 cloudEnable: false,
23 baseUrl: location.origin || location.protocol + '//' + location.host, 23 baseUrl: location.origin || location.protocol + '//' + location.host,
24 // 是否启用单点登录 24 // 是否启用单点登录
25 casEnable: true, 25 casEnable: false,
26 // cas 基地址 26 // cas 基地址
27 casBaseURL: 'http://192.168.2.38/cas', 27 casBaseURL: 'http://192.168.2.38/cas',
28 services: { 28 services: {
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
31 business: 'http://localhost:7001' 31 business: 'http://localhost:7001'
32 } 32 }
33 } 33 }
34 fetch('<%= BASE_URL %>config.json') 34 fetch('/dj/config.json')
35 .then(response => response.json()) 35 .then(response => response.json())
36 .then(config => { 36 .then(config => {
37 window.config = config 37 window.config = config
......
...@@ -67,6 +67,9 @@ export function uploadSjClmx (data) { ...@@ -67,6 +67,9 @@ export function uploadSjClmx (data) {
67 return request({ 67 return request({
68 url: SERVER.SERVERAPI + '/rest/ywbl/clxx/uploadSjClmx', 68 url: SERVER.SERVERAPI + '/rest/ywbl/clxx/uploadSjClmx',
69 method: 'post', 69 method: 'post',
70 headers: {
71 'Content-Type': 'multipart/form-data'
72 },
70 data 73 data
71 }) 74 })
72 } 75 }
......
1 /*
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-05-16 14:05:25
5 */
6 import request from '@/utils/request'
7 import { log } from 'bpmn-js-token-simulation'
8 let SERVER = window.config ? window.config : JSON.parse(localStorage.getItem('ApiUrl'))
9 /**
10 * @description: 添加补录记录
11 * @param {*} data
12 * @author: renchao
13 */
14 export function addRepairRecord (data) {
15 return request({
16 url: SERVER.SERVERAPI + '/rest/djbRepair/addRepairRecord',
17 method: 'post',
18 data
19 })
20 }
21 /**
22 * @description: 删除流程
23 * @param {*} params
24 * @author: renchao
25 */
26 export function deleteFlow (params) {
27 return request({
28 url: SERVER.SERVERAPI + '/rest/djbRepair/deleteFlow?bsmSlsq='+params,
29 method: 'get',
30 })
31 }
32
33 /**
34 * @description: 删除补录记录
35 * @param {*} params
36 * @author: renchao
37 */
38 export function deleteRepairRecord (params) {
39 return request({
40 url: SERVER.SERVERAPI + '/rest/djbRepair/deleteRepairRecord?bsmRepair='+params,
41 method: 'get',
42 })
43 }
44
45 /**
46 * @description: 初始化内容
47 * @param {*} params
48 * @author: renchao
49 */
50 export function init (params) {
51 return request({
52 url: SERVER.SERVERAPI + '/rest/djbRepair/init?bsmRepair='+params,
53 method: 'get',
54 })
55 }
56
57 /**
58 * @description: 左侧菜单集合
59 * @param {*} params
60 * @author: renchao
61 */
62 export function leftMenubl (params) {
63 return request({
64 url: SERVER.SERVERAPI + '/rest/djbRepair/leftMenu?bsmSlsq='+params,
65 method: 'get',
66 params
67 })
68 }
69 /**
70 * @description: 获取权利类型数组
71 * @param {*} params
72 * @author: renchao
73 */
74 export function getQllxByBdcdyid (params) {
75 return request({
76 url: SERVER.SERVERAPI + '/rest/djbDetail/getQllxByBdcdyid',
77 method: 'get',
78 params
79 })
80 }
81 /**
82 * @description: 保存数据
83 * @param {*} data
84 * @author: renchao
85 */
86 export function save (data) {
87 return request({
88 url: SERVER.SERVERAPI + '/rest/djbRepair/save',
89 method: 'post',
90 data
91 })
92 }
93
94 /**
95 * @description: 发起业务申请流程
96 * @param {*} data
97 * @author: renchao
98 */
99 export function startBusinessFlow (data) {
100 return request({
101 url: SERVER.SERVERAPI + '/rest/djbRepair/startBusinessFlow',
102 method: 'post',
103 data
104 })
105 }
1 /*
2 * @Description: 用户首页
3 * @Autor: renchao
4 * @LastEditTime: 2023-05-16 16:06:51
5 */
6 import request from '@/utils/request'
7 let SERVER = window.config ? window.config : JSON.parse(localStorage.getItem('ApiUrl'))
8 /**
9 * @description: 获取首页通知公告列表
10 * @author: renchao
11 */
12 export function getHomeNoticeList () {
13 return request({
14 url: SERVER.SERVERAPI + '/rest/home/getHomeNoticeList',
15 method: 'get'
16 })
17 }
18 /**
19 * @description:
20 * @author: renchao
21 */
22 // 获取首页待办事项
23 export function getHomeTodoList () {
24 return request({
25 url: SERVER.SERVERAPI + '/rest/home/getHomeTodoList',
26 method: 'get'
27 })
28 }
29
30 /**
31 * @description: 获取首页已办事项
32 * @author: renchao
33 */
34 export function getHomeDoneList () {
35 return request({
36 url: SERVER.SERVERAPI + '/rest/home/getHomeDoneList',
37 method: 'get'
38 })
39 }
40
41 /**
42 * @description: 获取首页常办项目
43 * @author: renchao
44 */
45 export function getHomeFrequentProjects () {
46 return request({
47 url: SERVER.SERVERAPI + '/rest/home/getHomeFrequentProjects',
48 method: 'get'
49 })
50 }
51
52 /**
53 * @description: 保存常办项目
54 * @param {*} data
55 * @author: renchao
56 */
57 export function saveFrequentProjectsList (data) {
58 return request({
59 url: SERVER.SERVERAPI + '/rest/home/saveFrequentProjectsList',
60 method: 'post',
61 data
62 })
63 }
...\ No newline at end of file ...\ No newline at end of file
1 /* 1 /*
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-05-18 10:53:07 4 * @LastEditTime: 2023-06-16 16:06:39
5 */ 5 */
6 import request from '@/utils/request' 6 import request from "@/utils/request";
7 let SERVER = window.config ? window.config : JSON.parse(localStorage.getItem('ApiUrl')) 7 let SERVER = window.config
8 const url = SERVER.SERVERAPI + '/rest/zhcx/lpcx/' 8 ? window.config
9 // 9 : JSON.parse(localStorage.getItem("ApiUrl"));
10 const url = SERVER.SERVERAPI + "/rest/zhcx/lpcx/";
11 //
10 /** 12 /**
11 * @description:楼盘查询- 根据条件进行列表查询 13 * @description:楼盘查询- 根据条件进行列表查询
12 * @param {*} data 14 * @param {*} data
13 * @author: renchao 15 * @author: renchao
14 */ 16 */
15 export function getLpZrz (data) { 17 export function getLpZrz(data) {
16 return request({ 18 return request({
17 url: 'service-lpb/rest/zhcx/lpcx/getLpZrz', 19 url: "service-lpb-zq/rest/zhcx/lpcx/getLpZrz",
18 method: 'post', 20 method: "post",
19 data: data 21 data: data,
20 }) 22 });
21 } 23 }
22 24
23 /** 25 /**
...@@ -25,32 +27,47 @@ export function getLpZrz (data) { ...@@ -25,32 +27,47 @@ export function getLpZrz (data) {
25 * @param {*} zrzbsm 27 * @param {*} zrzbsm
26 * @author: renchao 28 * @author: renchao
27 */ 29 */
28 export function getLpb (zrzbsm) { 30 export function getLpb(zrzbsm) {
29 return request({ 31 return request({
30 url: url + 'getLpb?scyclx=1&zrzbsm=' + zrzbsm, 32 url: "service-lpb-zq/rest/zhcx/lpcx/getLpb?scyclx=0&zrzbsm=" + zrzbsm,
31 method: 'get' 33 method: "get",
32 }) 34 });
33 } 35 }
34 /** 36 /**
35 * @description: 获取楼盘表房屋用途,房屋性质右侧房屋用途统计数据 37 * @description: 获取楼盘表房屋用途,房屋性质右侧房屋用途统计数据
36 * @param {*} zrzbsm 38 * @param {*} zrzbsm
37 * @author: renchao 39 * @author: renchao
38 */ 40 */
39 export function getLpbFwytAndQlxz (zrzbsm) { 41 export function getLpbFwytAndQlxz(zrzbsm) {
40 return request({ 42 return request({
41 url: url + 'getLpbFwytAndQlxz?scyclx=1&zrzbsm=' + zrzbsm, 43 url:
42 method: 'get' 44 "service-lpb-zq/rest/zhcx/lpcx/getLpbFwytAndQlxz?scyclx=0&zrzbsm=" +
43 }) 45 zrzbsm,
46 method: "get",
47 });
44 } 48 }
45 /** 49 /**
46 * @description: 获取楼盘表缺失项统计 50 * @description: 获取楼盘表缺失项统计
47 * @param {*} zrzbsm 51 * @param {*} zrzbsm
48 * @author: renchao 52 * @author: renchao
49 */ 53 */
50 export function getLpbQsxtj (zrzbsm) { 54 export function getLpbQsxtj(zrzbsm) {
51 return request({ 55 return request({
52 url: url + 'getLpbQsxtj?scyclx=1&zrzbsm=' + zrzbsm, 56 url: "service-lpb-zq/rest/zhcx/lpcx/getLpbQsxtj?scyclx=0&zrzbsm=" + zrzbsm,
53 method: 'get' 57 method: "get",
54 }) 58 });
55 } 59 }
56 60
61 /**
62 * @description: 楼盘表 获取单元状态统计数据
63 * @param {*} data
64 * zrzbsm 自然幢标识码
65 * scyclx 实测预测类型 0预测,1实测
66 * @return {*}
67 */
68 export function getLpbTj(zrzbsm) {
69 return request({
70 url: "service-lpb-zq/rest/zhcx/lpcx/getLpbTj?scyclx=0&zrzbsm=" + zrzbsm,
71 method: "get",
72 });
73 }
......
...@@ -72,6 +72,19 @@ export function getBdcqljqtsx (data) { ...@@ -72,6 +72,19 @@ export function getBdcqljqtsx (data) {
72 } 72 }
73 73
74 /** 74 /**
75 * @description: 获取土地所有权
76 * @param {*} data
77 * @author: renchao
78 */
79 export function getTdsyqList (data) {
80 return request({
81 url: SERVER.SERVERAPI + '/rest/djbDetail/getTdsyqList',
82 method: 'post',
83 data
84 })
85 }
86
87 /**
75 * @description: 获取建设用地使用权 88 * @description: 获取建设用地使用权
76 * @param {*} data 89 * @param {*} data
77 * @author: renchao 90 * @author: renchao
......
1 /* 1 /*
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-05-16 13:49:57 4 * @LastEditTime: 2023-05-16 13:49:57
5 */ 5 */
...@@ -66,3 +66,15 @@ export function choiceBdcdy (data) { ...@@ -66,3 +66,15 @@ export function choiceBdcdy (data) {
66 }) 66 })
67 } 67 }
68 68
69 /**
70 * @description: 选择补录权利信息
71 * @param {*} data
72 * @author: renchao
73 */
74 export function selectRepairQlxx (data) {
75 return request({
76 url: SERVER.SERVERAPI + '/rest/ywbl/ywsq/selectRepairQlxx',
77 method: 'post',
78 data
79 })
80 }
......
...@@ -5,62 +5,6 @@ ...@@ -5,62 +5,6 @@
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 * @description: 获取首页通知公告列表
10 * @author: renchao
11 */
12 export function getHomeNoticeList () {
13 return request({
14 url: SERVER.SERVERAPI + '/rest/workBench/getHomeNoticeList',
15 method: 'get'
16 })
17 }
18 /**
19 * @description:
20 * @author: renchao
21 */
22 // 获取首页待办事项
23 export function getHomeTodoList () {
24 return request({
25 url: SERVER.SERVERAPI + '/rest/workBench/getHomeTodoList',
26 method: 'get'
27 })
28 }
29
30 /**
31 * @description: 获取首页已办事项
32 * @author: renchao
33 */
34 export function getHomeDoneList () {
35 return request({
36 url: SERVER.SERVERAPI + '/rest/workBench/getHomeDoneList',
37 method: 'get'
38 })
39 }
40
41 /**
42 * @description: 获取首页常办项目
43 * @author: renchao
44 */
45 export function getHomeFrequentProjects () {
46 return request({
47 url: SERVER.SERVERAPI + '/rest/workBench/getHomeFrequentProjects',
48 method: 'get'
49 })
50 }
51
52 /**
53 * @description: 保存常办项目
54 * @param {*} data
55 * @author: renchao
56 */
57 export function saveFrequentProjectsList (data) {
58 return request({
59 url: SERVER.SERVERAPI + '/rest/workBench/saveFrequentProjectsList',
60 method: 'post',
61 data
62 })
63 }
64 8
65 9
66 /** 10 /**
......
1 /*
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-05-17 10:31:23
5 */
6 import request from '@/utils/request'
7 let SERVER = window.config ? window.config : JSON.parse(localStorage.getItem('ApiUrl'))
8
9 // 初始化内容
10 export function Init (data) {
11 let apiUrl = "";
12 switch (data.get("djlx")) {
13 case "100":
14 apiUrl = "/rest/ywbl/tdsyq/firstInit";
15 break;
16 case "200":
17 apiUrl = "/rest/ywbl/tdsyq/transferInit";
18 break;
19 case "300":
20 apiUrl = "/rest/ywbl/tdsyq/changeInit";
21 break;
22 case "400":
23 apiUrl = "/rest/ywbl/tdsyq/logoutInit";
24 break;
25 case "500":
26 apiUrl = "/rest/ywbl/tdsyq/riviseInit";
27 break;
28 case "901":
29 apiUrl = "/rest/ywbl/tdsyq/renewalInit";
30 break;
31 case "902":
32 apiUrl = "/rest/ywbl/tdsyq/replaceInit";
33 break;
34 }
35 return request({
36 url: SERVER.SERVERAPI + apiUrl,
37 method: 'post',
38 data
39 })
40 }
41 /**
42 * @description: 受理信息保存
43 * @param {*} data
44 * @author: renchao
45 */
46 export function saveData (data) {
47 return request({
48 url: SERVER.SERVERAPI + '/rest/ywbl/tdsyq/saveData',
49 method: 'post',
50 data
51 })
52 }
53
54 /**
55 * @description: 流程图
56 * @param {*} bsmSlsq
57 * @param {*} bestepid
58 * @author: renchao
59 */
60 export function getWorkFlowImage (bsmSlsq, bestepid) {
61 return request({
62 url: SERVER.SERVERAPI + '/rest/business/workFlow/getWorkFlowImage',
63 method: 'get',
64 params: {
65 bsmSlsq: bsmSlsq,
66 bestepid: bestepid
67 }
68 })
69 }
1 /* 1 /*
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-05-17 10:13:24 4 * @LastEditTime: 2023-05-17 10:13:24
5 */ 5 */
...@@ -29,6 +29,29 @@ export function getleftMenu () { ...@@ -29,6 +29,29 @@ export function getleftMenu () {
29 method: 'post' 29 method: 'post'
30 }) 30 })
31 } 31 }
32
33 /**
34 * @description: 登记簿补录
35 * @author: renchao
36 */
37 export function getRepairBiz () {
38 return request({
39 url: SERVER.SERVERAPI + '/rest/ywbl/BusinessApply/getRepairBiz',
40 method: 'post'
41 })
42 }
43
44 /**
45 * @description: 一并申请业务
46 * @author: renchao
47 */
48 export function getTogetherBiz () {
49 return request({
50 url: SERVER.SERVERAPI + '/rest/ywbl/BusinessApply/getTogetherBiz',
51 method: 'post'
52 })
53 }
54
32 /** 55 /**
33 * @description: 业务办理-获取下个节点内容 56 * @description: 业务办理-获取下个节点内容
34 * @param {*} bsmSqyw 57 * @param {*} bsmSqyw
...@@ -54,18 +77,6 @@ export function selectScBdcdy (data) { ...@@ -54,18 +77,6 @@ export function selectScBdcdy (data) {
54 }) 77 })
55 } 78 }
56 79
57 // /*
58 // 业务办理-选择单元-根据条件进行列表查询-房屋所有权
59 // */
60 // export function selectFwsyq (data) {
61 // return request({
62 // url: 'ywbl/ywsq/selectFwsyq',
63 // method: 'post',
64 // data
65 // showLoading: true
66 // })
67 // }
68
69 /** 80 /**
70 * @description: 待办箱列表查询接口 81 * @description: 待办箱列表查询接口
71 * @param {*} data 82 * @param {*} data
...@@ -104,6 +115,19 @@ export function startBusinessFlow (data) { ...@@ -104,6 +115,19 @@ export function startBusinessFlow (data) {
104 } 115 }
105 116
106 /** 117 /**
118 * @description: 业务办理-发起补录申请流程
119 * @param {*} data
120 * @author: renchao
121 */
122 export function startRepairFlow (data) {
123 return request({
124 url: SERVER.SERVERAPI + '/rest/business/workFlow/startRepairFlow',
125 method: 'post',
126 data
127 })
128 }
129
130 /**
107 * @description: 已办箱列表查询接口 131 * @description: 已办箱列表查询接口
108 * @param {*} data 132 * @param {*} data
109 * @author: renchao 133 * @author: renchao
...@@ -167,7 +191,7 @@ export function addCollectBiz (bsmSqyw) { ...@@ -167,7 +191,7 @@ export function addCollectBiz (bsmSqyw) {
167 } 191 }
168 192
169 /** 193 /**
170 * @description: 业务办理-业务申请-添加收藏业务 194 * @description: 业务办理-业务申请-取消收藏业务
171 * @param {*} bsmSqyw 195 * @param {*} bsmSqyw
172 * @author: renchao 196 * @author: renchao
173 */ 197 */
...@@ -285,7 +309,7 @@ export function selectZdjbxxSplitMergeLast (data) { ...@@ -285,7 +309,7 @@ export function selectZdjbxxSplitMergeLast (data) {
285 */ 309 */
286 export function selectZrz (data) { 310 export function selectZrz (data) {
287 return request({ 311 return request({
288 url: SERVER.SERVERAPI + '/rest/ywbl/ywsq/selectZrz', 312 url: SERVER.SERVERAPI + '/rest/ywbl/ywsq/selectZrzQjdc',
289 method: 'post', 313 method: 'post',
290 data 314 data
291 }) 315 })
...@@ -316,6 +340,18 @@ export function selectH (data) { ...@@ -316,6 +340,18 @@ export function selectH (data) {
316 }) 340 })
317 } 341 }
318 342
343 /**
344 * @description: 业务办理-选择单元-查询土地所有权信息
345 * @param {*} data
346 * @author: renchao
347 */
348 export function selectTdsyqQlxx (data) {
349 return request({
350 url: SERVER.SERVERAPI + '/rest/ywbl/ywsq/selectTdsyqQlxx',
351 method: 'post',
352 data
353 })
354 }
319 355
320 /** 356 /**
321 * @description: 业务办理-选择单元-查询建设用地、宅基地信息 357 * @description: 业务办理-选择单元-查询建设用地、宅基地信息
...@@ -348,7 +384,7 @@ export function selectJsydQlxxSplitMergeBefore (data) { ...@@ -348,7 +384,7 @@ export function selectJsydQlxxSplitMergeBefore (data) {
348 */ 384 */
349 export function selectFwsyq (data) { 385 export function selectFwsyq (data) {
350 return request({ 386 return request({
351 url: SERVER.SERVERAPI + '/rest/ywbl/ywsq/selectFwsyq', 387 url: SERVER.SERVERAPI + '/rest/ywbl/ywsq/selectFwsyqQlxx',
352 method: 'post', 388 method: 'post',
353 data 389 data
354 }) 390 })
...@@ -394,9 +430,9 @@ export function selectYgdy (data) { ...@@ -394,9 +430,9 @@ export function selectYgdy (data) {
394 * @param data 430 * @param data
395 * @returns {*} 431 * @returns {*}
396 */ 432 */
397 export function selectAllHInfo (data) { 433 export function selectHQjdc (data) {
398 return request({ 434 return request({
399 url: SERVER.SERVERAPI + '/rest/ywbl/ywsq/selectAllHInfo', 435 url: SERVER.SERVERAPI + '/rest/ywbl/ywsq/selectHQjdc',
400 method: 'post', 436 method: 'post',
401 data 437 data
402 }) 438 })
......
...@@ -7,12 +7,14 @@ import dialogBox from '@/components/DialogBox/dialogBox.vue' ...@@ -7,12 +7,14 @@ import dialogBox from '@/components/DialogBox/dialogBox.vue'
7 import LbTable from '@/components/LbTable/lb-table.vue' 7 import LbTable from '@/components/LbTable/lb-table.vue'
8 import Theme from '@/components/Theme/theme.vue' 8 import Theme from '@/components/Theme/theme.vue'
9 import Popup from '@/components/Popup/index' 9 import Popup from '@/components/Popup/index'
10 import Treeselect from '@riophae/vue-treeselect' //树形下拉框组件
10 import MessageBox from '@/components/MessageBox/index.js' 11 import MessageBox from '@/components/MessageBox/index.js'
11 export default { 12 export default {
12 install: (Vue) => { 13 install: (Vue) => {
13 Vue.component('dialogBox', dialogBox); 14 Vue.component('dialogBox', dialogBox);
14 Vue.component('lbTable', LbTable); 15 Vue.component('lbTable', LbTable);
15 Vue.component('Theme', Theme); 16 Vue.component('Theme', Theme);
17 Vue.component('Treeselect', Treeselect);
16 Vue.prototype.$popup = Popup.install; 18 Vue.prototype.$popup = Popup.install;
17 Vue.prototype.$alertMes = MessageBox.alert; 19 Vue.prototype.$alertMes = MessageBox.alert;
18 } 20 }
......
...@@ -75,7 +75,7 @@ ...@@ -75,7 +75,7 @@
75 }, 75 },
76 heightNum: { 76 heightNum: {
77 type: Number, 77 type: Number,
78 default: 355, 78 default: 0,
79 }, 79 },
80 maxHeight: { 80 maxHeight: {
81 type: Number, 81 type: Number,
...@@ -126,8 +126,8 @@ ...@@ -126,8 +126,8 @@
126 methods: { 126 methods: {
127 // 单选 127 // 单选
128 singleElection (row) { 128 singleElection (row) {
129 console.log("点击行");
130 this.selected = this.data.indexOf(row); 129 this.selected = this.data.indexOf(row);
130 this.$emit('row-click', row)
131 }, 131 },
132 132
133 tableRowClassName ({ row, rowIndex }) { 133 tableRowClassName ({ row, rowIndex }) {
...@@ -138,7 +138,7 @@ ...@@ -138,7 +138,7 @@
138 getHeight () { 138 getHeight () {
139 if (!this.heightNumSetting) { 139 if (!this.heightNumSetting) {
140 let _this = this 140 let _this = this
141 if (this.heightNum) { 141 if (this.heightNum == 0) {
142 _this.$nextTick(() => { 142 _this.$nextTick(() => {
143 if (document.querySelector(".tags-view-container")) { 143 if (document.querySelector(".tags-view-container")) {
144 window.addEventListener('resize', () => { 144 window.addEventListener('resize', () => {
......
...@@ -7,36 +7,36 @@ ...@@ -7,36 +7,36 @@
7 </template> 7 </template>
8 8
9 <script> 9 <script>
10 import vuePhotoZoomPro from '@/components/PhotoZoom/vue-photo-zoom-pro' 10 import vuePhotoZoomPro from '@/components/PhotoZoom/vue-photo-zoom-pro'
11 export default { 11 export default {
12 name: 'PicZoom', 12 name: 'PicZoom',
13 components: { vuePhotoZoomPro }, 13 components: { vuePhotoZoomPro },
14 data () { 14 data () {
15 return { 15 return {
16 type: "square", 16 type: "square",
17 showType: false, 17 showType: false,
18 } 18 }
19 },
20 props: {
21 url: {
22 type: String,
23 required: true,
24 // default: require('@/assets/vehicle_img/blank_vehicle.jpg')
25 }, 19 },
26 bigWidth: { 20 props: {
27 type: Number, 21 url: {
28 required: true, 22 type: String,
29 default: 168 23 required: true,
24 // default: require('@/assets/vehicle_img/blank_vehicle.jpg')
25 },
26 bigWidth: {
27 type: Number,
28 required: true,
29 default: 168
30 },
31 scale: {
32 type: Number,
33 required: true,
34 default: 2
35 },
36 overlayStyle: {
37 type: String,
38 default: 'width:100%;height:100%'
39 }
30 }, 40 },
31 scale: { 41 }
32 type: Number,
33 required: true,
34 default: 2
35 },
36 overlayStyle: {
37 type: String,
38 default: 'width:100%;height:100%'
39 }
40 },
41 }
42 </script> 42 </script>
...\ No newline at end of file ...\ No newline at end of file
......
1 /*
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-06-14 15:05:38
5 */
1 import Vue from 'vue' 6 import Vue from 'vue'
2 import Popup from './index.vue' 7 import Popup from './index.vue'
3 const PopupBox = Vue.extend(Popup) 8 const PopupBox = Vue.extend(Popup)
...@@ -36,9 +41,9 @@ const Popup1 = (title, editItem, data, formData) => { ...@@ -36,9 +41,9 @@ const Popup1 = (title, editItem, data, formData) => {
36 document.body.appendChild(instance.$el) 41 document.body.appendChild(instance.$el)
37 Vue.nextTick(() => { 42 Vue.nextTick(() => {
38 instance.isShow = true 43 instance.isShow = true
44 // 将组件实例赋值给loading
45 popuping = instance
39 }) 46 })
40 // 将组件实例赋值给loading
41 popuping = instance
42 return instance 47 return instance
43 } 48 }
44 export default Popup1 49 export default Popup1
......
1 <svg t="1661331325273" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2167" width="200" height="200"><path d="M521.309091 158.254545a27.927273 27.927273 0 0 1 27.927273 27.927273v586.472727a27.927273 27.927273 0 0 1-27.927273 27.927273h-372.363636a83.781818 83.781818 0 0 1-83.781819-83.781818V242.036364a83.781818 83.781818 0 0 1 83.781819-83.781819z m400.290909 0a83.781818 83.781818 0 0 1 83.502545 76.893091l0.279273 6.888728v474.763636a83.781818 83.781818 0 0 1-76.893091 83.502545l-6.888727 0.279273h-260.654545a27.927273 27.927273 0 0 1-4.51491-55.482182L660.945455 744.727273h260.654545a27.927273 27.927273 0 0 0 27.554909-23.412364l0.372364-4.514909V242.036364a27.927273 27.927273 0 0 0-23.412364-27.554909L921.6 214.109091h-260.654545a27.927273 27.927273 0 0 1-4.51491-55.482182L660.945455 158.254545h260.654545z m-428.218182 55.854546H148.945455a27.927273 27.927273 0 0 0-27.55491 23.412364L121.018182 242.036364v474.763636a27.927273 27.927273 0 0 0 27.927273 27.927273h344.436363V214.109091z" p-id="2168"></path></svg>
...\ No newline at end of file ...\ No newline at end of file
...@@ -9,17 +9,10 @@ ...@@ -9,17 +9,10 @@
9 </div> 9 </div>
10 <div class="right-menu"> 10 <div class="right-menu">
11 <svg-icon class="function" icon-class='function' /> 11 <svg-icon class="function" icon-class='function' />
12 <!-- <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="hover" @command="handleCommand">
13 <el-dropdown-menu slot="dropdown">
14 <el-dropdown-item command="a">个人中心</el-dropdown-item>
15 </el-dropdown-menu>
16 </el-dropdown> -->
17 <div class="avatar-wrapper"> 12 <div class="avatar-wrapper">
18 <span style="padding-right:10px">{{ name }}</span> 13 <span style="padding-right:10px">{{ name }}</span>
19 <img :src="avatar + '?imageView2/1/w/80/h/80'" class="user-avatar" /> 14 <img :src="avatar + '?imageView2/1/w/80/h/80'" class="user-avatar" />
20 <!-- <i class="el-icon-caret-bottom" /> -->
21 </div> 15 </div>
22
23 <svg-icon class="shutdown" @click.native="logout" icon-class='shutdown' /> 16 <svg-icon class="shutdown" @click.native="logout" icon-class='shutdown' />
24 </div> 17 </div>
25 </div> 18 </div>
...@@ -31,9 +24,8 @@ ...@@ -31,9 +24,8 @@
31 import Cookies from 'js-cookie' 24 import Cookies from 'js-cookie'
32 import { mapGetters } from 'vuex' 25 import { mapGetters } from 'vuex'
33 import NoticeBar from '@/components/NoticeBar/index' 26 import NoticeBar from '@/components/NoticeBar/index'
34 import { 27 import { getHomeNoticeList } from "@/api/home"
35 getHomeNoticeList 28 import {setToken} from "@/utils/util";
36 } from "@/api/user"
37 export default { 29 export default {
38 components: { 30 components: {
39 NoticeBar 31 NoticeBar
...@@ -73,23 +65,11 @@ ...@@ -73,23 +65,11 @@
73 }) 65 })
74 }, 66 },
75 logout () { 67 logout () {
76 axios.post(this.BASE_API.ip + "/management/logout").then(() => { 68 axios.post(window._config.services.management + "/management/logout").then(() => {
77 if (process.env.NODE_ENV === 'development') { 69 setToken(undefined)
78 localStorage.removeItem('token') 70 sessionStorage.removeItem('token')
79 } else { 71 localStorage.setItem('dj-location',window.location.href)
80 Cookies.remove('token') 72 window.location.href = window._config.casBaseURL + '/logout?service=' + encodeURIComponent(window.location.href);
81 }
82 if (window._config.casEnable) {
83 window.location.href = window._config.casBaseURL + '/logout?service=' + encodeURIComponent(window.location.href);
84 } else {
85 this.$router.push({
86 path: '/login',
87 replace: true,
88 query: {
89 redirect: router.currentRoute.value.fullPath
90 }
91 })
92 }
93 }) 73 })
94 }, 74 },
95 75
......
1 /* 1 /*
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-05-30 15:28:52 4 * @LastEditTime: 2023-06-20 10:02:14
5 */ 5 */
6 import Vue from 'vue' 6 import Vue from 'vue'
7 import App from './App' 7 import App from './App'
8 import 'normalize.css/normalize.css' // a modern alternative to CSS resets 8 import 'normalize.css/normalize.css' // a modern alternative to CSS resets
9 import Element from 'element-ui' 9 import Element, { install } from 'element-ui'
10 import axios from 'axios' 10 import axios from 'axios'
11 import '@/styles/element-variables.scss' 11 import '@/styles/element-variables.scss'
12 import '@/styles/index.scss' 12 import '@/styles/index.scss'
13 import Base from '@/components/Base/base' // 全局组件引入 13 import Base from '@/components/Base/base' // 全局组件引入
14 import mixin from '@/utils/mixin/theme.js' 14 import mixin from '@/utils/mixin/theme.js'
15 import Loading from '@/components/Loading/index.js'; 15 import Loading from '@/components/Loading/index.js';
16 import '@riophae/vue-treeselect/dist/vue-treeselect.css'
16 import { startLoadingAddCount, endLoadingSubCount } from './utils/requestLoading' 17 import { startLoadingAddCount, endLoadingSubCount } from './utils/requestLoading'
17 Vue.mixin(mixin); 18 Vue.mixin(mixin);
18 Vue.use(Loading.directive); 19 Vue.use(Loading.directive);
19 import rules from './utils/rule.js' 20
20 // 引入xml 21 // 引入xml
21 import x2js from 'x2js' 22 import x2js from 'x2js'
22 Vue.prototype.$x2js = new x2js() 23 Vue.prototype.$x2js = new x2js()
23 // 全局方法挂载 24 // 全局方法挂载
24 Vue.prototype.$rules = rules
25 // 全局加载 25 // 全局加载
26 Vue.prototype.$startLoading = startLoadingAddCount 26 Vue.prototype.$startLoading = startLoadingAddCount
27 Vue.prototype.$endLoading = endLoadingSubCount 27 Vue.prototype.$endLoading = endLoadingSubCount
......
1 /* 1 /*
2 * @Description: 项目权限 2 * @Description: 项目权限
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-06-02 10:44:17 4 * @LastEditTime: 2023-06-20 10:07:56
5 */ 5 */
6 import Vue from 'vue' 6 import Vue from 'vue'
7 import axios from 'axios' 7 import axios from 'axios'
...@@ -9,98 +9,114 @@ import router from './router' ...@@ -9,98 +9,114 @@ import router from './router'
9 import store from './store' 9 import store from './store'
10 import Cookies from 'js-cookie' 10 import Cookies from 'js-cookie'
11 import { getMenuInfo } from '@/api/user' 11 import { getMenuInfo } from '@/api/user'
12 import { getUrlParam } from '@/utils/operation'
13 import NProgress from 'nprogress' // progress bar 12 import NProgress from 'nprogress' // progress bar
14 import 'nprogress/nprogress.css' // progress bar style 13 import 'nprogress/nprogress.css' // progress bar style
15 import getPageTitle from '@/utils/get-page-title' 14 import getPageTitle from '@/utils/get-page-title'
15 import {getToken, getUrlParam, setToken} from "@/utils/util";
16
16 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
20 NProgress.start() 21 NProgress.start()
21 document.title = getPageTitle(to.meta.title) 22 document.title = getPageTitle(to.meta.title)
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") || Cookies.get('token'); 26 const token = getToken()
26 if (to.path === '/login') { 27 let locationUrl = window.location.origin + window.location.pathname;
27 if (token) { 28 function casValidate (ticket){
28 next('/') 29 axios.get(window._config.services.management + "/management/cas/validate", {
29 } else { 30 params: {
30 next() 31 ticket: ticket,
31 } 32 service: locationUrl,
32 return 33 },
34 }).then(async (res) => {
35 if (res.data.status === 1) {
36 setToken(res.data.content.accessToken)
37 window.location.href = localStorage.getItem('dj-location') + '#' + localStorage.getItem('hash')
38 } else {
39 alert(res.data.message)
40 }
41 }).catch((e) => {
42 console.log(e);
43 });
44 }
45 async function permission () {
46 if (!hasAddDict) {
47 store.dispatch('dict/generateDic')
33 } 48 }
34 if (window._config.casEnable === true) { 49 if (hasAddRoute) {
35 let locationUrl = window.location.protocol + '//' + window.location.host + window.location.pathname; 50 next()
36 if (!token) { 51 // next({ ...to, replace: true })
37 let ticket = getUrlParam('ticket'); 52 } else {
38 if (ticket) { 53 const { result: getMenuData } = await getMenuInfo()
39 axios.get(Vue.prototype.BASE_API.ip + "/management/cas/validate", { 54 const accessRoutes = await store.dispatch('permission/generateRoutes', getMenuData)
40 params: { 55 // 获取用户信息
41 'ticket': ticket, 56 await store.dispatch('user/getUserInfo')
42 'service': locationUrl 57 router.addRoutes([...accessRoutes, { path: '*', redirect: '/404', hidden: true }])
43 } 58 const routeTo = Cookies.get('routerTo')
44 }).then(async (res) => { 59 if (to.fullPath||routeTo && routeTo !== '/') {
45 if (process.env.NODE_ENV === 'development') { 60 next({ ...to, replace: true })
46 localStorage.setItem('token', res.data.content.accessToken) 61 } else {
47 } else { 62 next('/home')
48 Cookies.set('token', res.data.content.accessToken) 63 }
49 } 64 }
50 window.location.href = localStorage.getItem('location') 65 }
51 66 if (window._config.casEnable === true) {
52 }).catch(e => { 67 if (!token) {
53 console.log(e) 68 let ticket = getUrlParam("ticket");
54 }) 69 if (ticket) {
55 } else { 70 casValidate(ticket)
56 localStorage.setItem("location", window.location.href) 71 } else {
57 window.location.href = window._config.casBaseURL + '/login?service=' + encodeURIComponent(locationUrl); 72 localStorage.setItem("location", window.location.href)
58 } 73 window.location.href = window._config.casBaseURL + '/login?service=' + encodeURIComponent(locationUrl);
59 } else { 74 }
60 permission()
61 }
62 async function permission () {
63 if (!hasAddDict) {
64 store.dispatch('dict/generateDic')
65 }
66 if (hasAddRoute) {
67 next()
68 // next({ ...to, replace: true })
69 } else {
70 const { result: getMenuData } = await getMenuInfo()
71 const accessRoutes = await store.dispatch('permission/generateRoutes', getMenuData)
72 // 获取用户信息
73 await store.dispatch('user/getUserInfo')
74 router.addRoutes([...accessRoutes, { path: '*', redirect: '/404', hidden: true }])
75 const routeTo = Cookies.get('routerTo')
76 if (to.fullPath||routeTo && routeTo !== '/') {
77 next({ ...to, replace: true })
78 } else {
79 next('/home')
80 }
81 }
82 }
83 } else { 75 } else {
84 if (!token) { 76 permission()
85 const redirectData = { 77 }
86 path: '/login', 78 } else {
87 replace: true, 79 // 使用自定义页面实现单点登录
88 } 80 if (!token) {
89 if (to.path) { 81 let ticket = getUrlParam('ticket');
90 redirectData.query = { 82 if (ticket) {
91 ...redirectData.query, 83 casValidate(ticket)
92 redirect: to.path, 84 } else {
93 }; 85 if (to.path === '/login') {
94 } 86 if (getUrlParam('_flag') === '1') {
95 next(redirectData) 87 next();
88 return
89 } else {
90 //todo: loginUrl 需要业务系统根据登录页面路由地址获取,这里只是简写
91 localStorage.setItem('dj-location',locationUrl)
92 localStorage.setItem('hash',to.fullPath)
93 window.location.href = window._config.services.management + `/management/cas/status?loginUrl=${window._config.baseUrl}/dj/&hash=/login&`
94 return
95 }
96 }
97 localStorage.setItem('dj-location',locationUrl)
98 localStorage.setItem('hash',to.fullPath)
99 //todo: loginUrl 需要业务系统根据登录页面路由地址获取,这里只是简写
100 window.location.href = window._config.services.management + `/management/cas/status?loginUrl=${window._config.baseUrl}/dj/&hash=/login`
101 }
102 }else{
103 if (to.path === '/login') {
104 const redirectUrl = getUrlParam('redirectUrl');
105 if (redirectUrl && redirectUrl !== '') {
106 window.location.href = redirectUrl
107 return
108 } else {
109 next('/');
96 return 110 return
97 } 111 }
98 next() 112 }
113 permission()
99 } 114 }
100 NProgress.done() 115 }
116 NProgress.done()
101 }) 117 })
102 router.afterEach(to => { 118 router.afterEach(to => {
103 // 解决刷新页面报404问题 119 // 解决刷新页面报404问题
104 Cookies.set("routerTo", to.fullPath) 120 Cookies.set("routerTo", to.fullPath)
105 NProgress.done() 121 NProgress.done()
106 }) 122 })
......
...@@ -40,7 +40,7 @@ export const constantRoutes = [ ...@@ -40,7 +40,7 @@ export const constantRoutes = [
40 component: () => import('@/views/djbworkflow/workFrame.vue'), 40 component: () => import('@/views/djbworkflow/workFrame.vue'),
41 name: 'djbworkFrame', 41 name: 'djbworkFrame',
42 hidden: true, 42 hidden: true,
43 meta: { title: '登记簿编辑' } 43 meta: { title: '登记簿补录' }
44 }, 44 },
45 //登记簿详情 45 //登记簿详情
46 { 46 {
...@@ -72,6 +72,14 @@ export const constantRoutes = [ ...@@ -72,6 +72,14 @@ export const constantRoutes = [
72 } 72 }
73 ] 73 ]
74 }, 74 },
75 // 登录页
76 {
77 path: '/login',
78 component: () => import('@/views/login/index'),
79 name: 'login',
80 hidden: true,
81 meta: { title: '登录' }
82 },
75 ] 83 ]
76 /** 84 /**
77 * asyncRoutes 85 * asyncRoutes
......
1 export function getSjlx (level) {
2 const resultMap = {
3 1: '系统数据',
4 2: '存量数据',
5 3: '补录数据',
6 }
7 return resultMap[level] || resultMap.default;
8 }
...\ No newline at end of file ...\ No newline at end of file
1 import { log } from 'bpmn-js-token-simulation';
1 import { mapGetters } from 'vuex' 2 import { mapGetters } from 'vuex'
2 import { defaultParameters } from "../../views/ywbl/ywsq/javascript/publicDefaultPar"; 3 import { defaultParameters } from "../../views/ywbl/ywsq/javascript/publicDefaultPar";
3 export default { 4 export default {
...@@ -9,13 +10,23 @@ export default { ...@@ -9,13 +10,23 @@ export default {
9 } 10 }
10 } 11 }
11 }, 12 },
13 created() {
14
15 },
12 computed: { 16 computed: {
13 ...mapGetters(['dictData']), 17 ...mapGetters(['dictData']),
14 }, 18 },
15 mounted () { 19 mounted () {
20 window.addEventListener('keydown', this.handkeyCode, true)//开启监听键盘按下事件
16 this.handleSearch() 21 this.handleSearch()
17 }, 22 },
18 methods: { 23 methods: {
24 handkeyCode(e) {
25 if(e.keyCode === 13){
26 console.log("安");
27 this.handleSearch()
28 }
29 },
19 handleSearch(){ 30 handleSearch(){
20 this.pageData.currentPage = 1 31 this.pageData.currentPage = 1
21 if (this.fetchData) { 32 if (this.fetchData) {
......
1 import Vue from 'vue'
2 import axios from 'axios'
3 import request from '@/utils/request';
1 import { Message } from "element-ui"; 4 import { Message } from "element-ui";
2 export function removeTreeListItem (treeList, dictId, idName = 'bsmDict') { 5 export function removeTreeListItem (treeList, dictId, idName = 'bsmDict') {
3 if (!treeList || !treeList.length) { 6 if (!treeList || !treeList.length) {
...@@ -111,25 +114,29 @@ export function down (index, data) { ...@@ -111,25 +114,29 @@ export function down (index, data) {
111 } 114 }
112 } 115 }
113 116
114 117 /**
115 export function getUrlParam (paraName) { 118 * @description: 身份证读卡器
116 let url = document.location.toString(); 119 * @author: renchao
117 let arrObj = url.split('?'); 120 */
118 121 export function getIdCardInfo (level) {
119 if (arrObj.length > 1) { 122 const resultMap = {
120 let arrPara = arrObj[1].split('&'); 123 A: '设备',
121 let arr; 124 default: axios.post(Vue.prototype.BASE_API.IDCARDURL),
122
123 for (let i = 0; i < arrPara.length; i++) {
124 arr = arrPara[i].split('=');
125
126 if (arr != null && arr[0] === paraName) {
127 const index = arr[1].indexOf("#");
128 return arr[1].substring(0, index);
129 }
130 }
131 return '';
132 } else {
133 return '';
134 } 125 }
126 return resultMap[level] || resultMap.default
135 } 127 }
128 /**
129 * @description: 高拍仪组件
130 * @author: renchao
131 */
132 export function getAltimeterInfo () {
133 let data = {
134 "filepath": "base64",
135 "rotate": "0",
136 "cutpage": "0",
137 "camidx": "0",
138 "ColorMode": "0",
139 "quality": "3"
140 }
141 return axios.post("http://127.0.0.1:38088/video=grabimage", JSON.stringify(data))
142 }
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -2,13 +2,13 @@ ...@@ -2,13 +2,13 @@
2 /* 2 /*
3 * @Description: 此文件主要创建 axios 实例,然后添加请求拦截器和响应拦截器 3 * @Description: 此文件主要创建 axios 实例,然后添加请求拦截器和响应拦截器
4 * @Autor: renchao 4 * @Autor: renchao
5 * @LastEditTime: 2023-06-02 10:18:32 5 * @LastEditTime: 2023-06-20 10:24:00
6 */ 6 */
7 import axios from 'axios' 7 import axios from 'axios'
8 import Router from '@/router' 8 import Router from '@/router'
9 import Cookies from 'js-cookie'
10 import { Message } from 'element-ui' 9 import { Message } from 'element-ui'
11 import { endLoadingSubCount } from './requestLoading' 10 import { endLoadingSubCount } from './requestLoading'
11 import {getToken, setToken} from "@/utils/util";
12 12
13 // create an axios instance 13 // create an axios instance
14 const service = axios.create({ 14 const service = axios.create({
...@@ -27,15 +27,7 @@ const service = axios.create({ ...@@ -27,15 +27,7 @@ const service = axios.create({
27 service.interceptors.request.use( 27 service.interceptors.request.use(
28 config => { 28 config => {
29 if (process.env.NODE_ENV === 'development') { 29 if (process.env.NODE_ENV === 'development') {
30 const token = localStorage.getItem('token') 30 const token = getToken()
31 // 添加请求头
32 if (token) {
33 config.headers['Authorization'] = 'Bearer ' + token
34 } else {
35 config.headers.delete('Authorization')
36 }
37 } else {
38 const token = Cookies.get('token')
39 // 添加请求头 31 // 添加请求头
40 if (token) { 32 if (token) {
41 config.headers['Authorization'] = 'Bearer ' + token 33 config.headers['Authorization'] = 'Bearer ' + token
...@@ -75,11 +67,8 @@ service.interceptors.response.use( ...@@ -75,11 +67,8 @@ service.interceptors.response.use(
75 window.__isNeedLogin = false 67 window.__isNeedLogin = false
76 Message.error('token失效,请重新登录'); 68 Message.error('token失效,请重新登录');
77 let locationUrl = window.location.protocol + '//' + window.location.host + window.location.pathname; 69 let locationUrl = window.location.protocol + '//' + window.location.host + window.location.pathname;
78 if (process.env.NODE_ENV === 'development') { 70 setToken(undefined)
79 localStorage.removeItem('token') 71 sessionStorage.removeItem('token')
80 } else {
81 Cookies.remove('token')
82 }
83 if (window._config.casEnable) { 72 if (window._config.casEnable) {
84 window.location.href = window._config.casBaseURL + '/logout?service=' + encodeURIComponent(locationUrl); 73 window.location.href = window._config.casBaseURL + '/logout?service=' + encodeURIComponent(locationUrl);
85 } else { 74 } else {
...@@ -92,7 +81,6 @@ service.interceptors.response.use( ...@@ -92,7 +81,6 @@ service.interceptors.response.use(
92 return false 81 return false
93 } 82 }
94 } 83 }
95
96 } else { 84 } else {
97 // 对响应错误做点什么 85 // 对响应错误做点什么
98 Message({ 86 Message({
......
1 // 手机号码验证
2 const validatePhone = (rule, value, callback) => {
3 const patter = new RegExp('^1([358][0-9]|4[579]|66|7[0135678]|9[89])[0-9]{8}$')
4 if (!patter.test(value)) {
5 return callback(new Error('请输入正确格式的手机号!'))
6 } else {
7 callback() // 必须有此项回调,否则验证会一直不通过
8 }
9 }
10 export default {
11 common: {
12 phone: [{// 手机号
13 required: true,
14 message: '手机号不能为空'
15 }, {
16 validator: validatePhone,
17 trigger: 'blur'
18 }]
19 }
20 }
...\ No newline at end of file ...\ No newline at end of file
1 import Cookies from 'js-cookie'
2
3 const cookies = {}
4
5 /**
6 * @description 存储 cookie 值
7 * @param {String} name cookie name
8 * @param {String} value cookie value
9 * @param {Object} setting cookie setting
10 */
11 cookies.set = function (name = 'default', value = '', cookieSetting = {}) {
12 let currentCookieSetting = {
13 expires: 1
14 }
15 Object.assign(currentCookieSetting, cookieSetting)
16 Cookies.set(`${name}`, value, currentCookieSetting)
17 }
18
19 /**
20 * @description 拿到 cookie 值
21 * @param {String} name cookie name
22 */
23 cookies.get = function (name = 'default') {
24 return Cookies.get(`${name}`)
25 }
26
27 /**
28 * @description 拿到 cookie 全部的值
29 */
30 cookies.getAll = function () {
31 return Cookies.get()
32 }
33
34 /**
35 * @description 删除 cookie
36 * @param {String} name cookie name
37 */
38 cookies.remove = function (name = 'default') {
39 return Cookies.remove(`${name}`)
40 }
41
42 export default cookies
1 import cookies from './util.cookies'
2 export function getUrlParam (paraName) {
3 let url = document.location.toString();
4 let arrObj = url.split('?');
5
6 if (arrObj.length > 1) {
7 let arrPara = arrObj[1].split('&');
8 let arr;
9
10 for (let i = 0; i < arrPara.length; i++) {
11 arr = arrPara[i].split('=');
12
13 if (arr != null && arr[0] === paraName) {
14 // 截取#之前的内容
15 let result = arr[1].endsWith('#/') ? arr[1].substr(0, arr[1].indexOf('#')) : arr[1];
16 return result;
17 }
18 }
19 return '';
20 } else {
21 return '';
22 }
23 }
24
25 export function setToken (token) {
26 if (token === undefined) {
27 if (process.env.NODE_ENV === 'development') {
28 sessionStorage.removeItem('token')
29 } else {
30 cookies.remove('ACCESS_TOKEN')
31 }
32 } else {
33 if (process.env.NODE_ENV === 'development') {
34 sessionStorage.setItem('token', token);
35 } else {
36 cookies.set('ACCESS_TOKEN', token)
37 }
38 }
39 }
40
41 export function getToken () {
42 if (process.env.NODE_ENV === 'development') {
43 return sessionStorage.getItem('token')
44 }
45 return cookies.get('ACCESS_TOKEN')
46 }
47
48 // 获取当前时间
49
50 export function getNewDate (type = 1) {
51 const now = new Date();
52 const year = now.getFullYear();
53 const month = String(now.getMonth() + 1).padStart(2, '0');
54 const day = String(now.getDate()).padStart(2, '0');
55 const hours = String(now.getHours()).padStart(2, '0');
56 const minutes = String(now.getMinutes()).padStart(2, '0');
57 const seconds = String(now.getSeconds()).padStart(2, '0');
58 if (type == 1) {
59 return `${year}${month}${day}日`
60 } else {
61 return `${year}${month}${day}${hours}${minutes}${seconds}秒`
62 }
63 }
...\ No newline at end of file ...\ No newline at end of file
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
8 <script> 8 <script>
9 import { getMenuInfo } from "@/api/user.js"; 9 import { getMenuInfo } from "@/api/user.js";
10 import Tree from "@/components/Tree/src/tree.vue" 10 import Tree from "@/components/Tree/src/tree.vue"
11 import { saveFrequentProjectsList, getHomeFrequentProjects } from "@/api/user.js"; 11 import { saveFrequentProjectsList, getHomeFrequentProjects } from "@/api/home.js";
12 export default { 12 export default {
13 components: { 13 components: {
14 Tree 14 Tree
......
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-06-21 16:35:04
5 -->
1 <template> 6 <template>
2 <div class="rlPopup"> 7 <div class="rlPopup">
3 <div class="prev handle-btn" @click="prev()"> 8 <div class="prev handle-btn" v-if="!isScan" @click="prev()">
4 <i class="el-icon-arrow-left"></i> 9 <i class="el-icon-arrow-left"></i>
5 </div> 10 </div>
6 <div class="next handle-btn" @click="next()"> 11 <div class="next handle-btn" v-if="!isScan" @click="next()">
7 <i class="el-icon-arrow-right"></i> 12 <i class="el-icon-arrow-right"></i>
8 </div> 13 </div>
9 <div class="img-list-wrap"> 14 <div class="img-list-wrap">
10 <div v-for="(img, i) in previewImg.imgList" :key="i"> 15 <img src="http://127.0.0.1:38088/video=stream&camidx=0" v-if="isScan" alt="高拍仪">
16 <div v-for="(img, i) in previewImg.imgList" :key="i" v-else>
11 <photo-zoom :url="img.fjurl" :bigWidth="165" v-if="i === previewImg.index" :scale="2" 17 <photo-zoom :url="img.fjurl" :bigWidth="165" v-if="i === previewImg.index" :scale="2"
12 overlayStyle="width: 100%;height:100%"> 18 overlayStyle="width: 100%;height:100%">
13 </photo-zoom> 19 </photo-zoom>
...@@ -16,7 +22,7 @@ ...@@ -16,7 +22,7 @@
16 <!--缩略图--> 22 <!--缩略图-->
17 <div class="thumb-wrap"> 23 <div class="thumb-wrap">
18 <div class="thumb-wrap-button"> 24 <div class="thumb-wrap-button">
19 <el-button type="primary" @click="clickImage">(放大) 显示(缩小)</el-button> 25 <el-button type="primary" @click="clickImage" v-if="previewImg.imgList.length>0">(放大) 显示(缩小)</el-button>
20 <el-upload class="fileUpdate" ref="upload" action="" :show-file-list="false" :multiple="true" :auto-upload="false" 26 <el-upload class="fileUpdate" ref="upload" action="" :show-file-list="false" :multiple="true" :auto-upload="false"
21 :on-change="handleChange" 27 :on-change="handleChange"
22 accept=".JPG, .PNG, .JPEG,.jpg, .png, .jpeg" :before-upload="beforeUpload"> 28 accept=".JPG, .PNG, .JPEG,.jpg, .png, .jpeg" :before-upload="beforeUpload">
...@@ -24,6 +30,10 @@ ...@@ -24,6 +30,10 @@
24 </el-upload> 30 </el-upload>
25 <el-button type="primary" icon="el-icon-delete-solid" @click="handleDelete" 31 <el-button type="primary" icon="el-icon-delete-solid" @click="handleDelete"
26 v-if="!this.$route.query.viewtype && thumbnailImages.length>0">删除</el-button> 32 v-if="!this.$route.query.viewtype && thumbnailImages.length>0">删除</el-button>
33 <div v-if="!this.$route.query.viewtype" class="pl-5">
34 <el-button type="primary" @click="handleOpenScan">{{scanTitle}}</el-button>
35 <el-button type="primary" @click="handleViewScan" v-if="isScan">拍照</el-button>
36 </div>
27 </div> 37 </div>
28 <ul> 38 <ul>
29 <li v-for="(img, index) in thumbnailImages" :key="index" :class="{ active: previewImg.index === index }" 39 <li v-for="(img, index) in thumbnailImages" :key="index" :class="{ active: previewImg.index === index }"
...@@ -39,6 +49,7 @@ ...@@ -39,6 +49,7 @@
39 </template> 49 </template>
40 <script> 50 <script>
41 import PhotoZoom from '@/components/PhotoZoom' 51 import PhotoZoom from '@/components/PhotoZoom'
52 import { getAltimeterInfo, getUuid } from '@/utils/operation.js'
42 import { uploadSjClmx, deleteClmx } from "@/api/clxx.js"; 53 import { uploadSjClmx, deleteClmx } from "@/api/clxx.js";
43 import publicPicture from '@/components/publicPicture/index.vue' 54 import publicPicture from '@/components/publicPicture/index.vue'
44 export default { 55 export default {
...@@ -55,6 +66,9 @@ ...@@ -55,6 +66,9 @@
55 }, 66 },
56 data () { 67 data () {
57 return { 68 return {
69 isScan: false,
70 // 打开高拍仪
71 scanTitle: '打开高拍仪',
58 transform: { 72 transform: {
59 scale: 1, 73 scale: 1,
60 degree: 0 74 degree: 0
...@@ -70,12 +84,16 @@ ...@@ -70,12 +84,16 @@
70 watch: { 84 watch: {
71 previewImg: { 85 previewImg: {
72 handler (newValue, oldValue) { 86 handler (newValue, oldValue) {
73 if (newValue.imgList.length > 0) { 87 if (newValue.imgList && newValue.imgList.length > 0) {
74 this.allLi = _.cloneDeep(newValue.imgList).map(item => item.fjurl) 88 this.allLi = _.cloneDeep(newValue.imgList).map(item => item.fjurl)
75 this.thumbnailImages = newValue.imgList 89 this.thumbnailImages = newValue.imgList
90 } else {
91 this.allLi = []
92 this.thumbnailImages = []
76 } 93 }
77 }, 94 },
78 deep: true 95 deep: true,
96 immediate: true
79 } 97 }
80 }, 98 },
81 created () { 99 created () {
...@@ -92,6 +110,69 @@ ...@@ -92,6 +110,69 @@
92 } 110 }
93 }, 111 },
94 methods: { 112 methods: {
113 /**
114 * @description: 打开高拍仪
115 * @author: renchao
116 */
117 handleOpenScan () {
118 this.isScan = !this.isScan
119 if (this.isScan) {
120 this.$message({
121 message: '正在启动程序请稍等',
122 type: 'success'
123 })
124 setTimeout(() => {
125 this.scanTitle = '关闭高拍仪'
126 }, 4000)
127 } else {
128 this.scanTitle = '打开高拍仪'
129 }
130 },
131 /**
132 * @description: 拍照
133 * @author: renchao
134 */
135 handleViewScan () {
136 function dataURLtoBlob (base64String) {
137 const arr = base64String.split(',');
138 if (arr.length !== 2) {
139 throw new Error('Invalid Base64 format');
140 }
141 const mime = arr[0].match(/:(.*?);/)[1];
142 if (!mime) {
143 throw new Error('Cannot retrieve MIME type');
144 }
145 const bstr = atob(arr[1]);
146 const n = bstr.length;
147 const u8arr = new Uint8Array(n);
148 for (let i = 0; i < n; i++) {
149 u8arr[i] = bstr.charCodeAt(i);
150 }
151 return new Blob([u8arr], { type: mime });
152 }
153 function blobToFile (blob) {
154 let name = getUuid(8) + '.jpg'
155 const file = new File([blob], name);
156 return file;
157 }
158 getAltimeterInfo().then(res => {
159 let blob = dataURLtoBlob('data:image/png;base64,' + res.data.photoBase64);
160 let file = blobToFile(blob);
161 var formData = new FormData();
162 formData.append('file', file)
163 formData.append("bsmSj", this.previewImg.bsmSj);
164 formData.append("bsmSlsq", this.previewImg.bsmSlsq);
165 uploadSjClmx(formData).then((res) => {
166 if (res.code == 200) {
167 this.$emit('updateList', res.result)
168 this.$message({
169 message: '上传成功!',
170 type: 'success'
171 })
172 }
173 })
174 })
175 },
95 prev () { 176 prev () {
96 let len = this.previewImg.imgList.length 177 let len = this.previewImg.imgList.length
97 if (this.isFirst || len == 0) { 178 if (this.isFirst || len == 0) {
...@@ -142,8 +223,6 @@ ...@@ -142,8 +223,6 @@
142 this.$refs.upload.clearFiles(); 223 this.$refs.upload.clearFiles();
143 setTimeout(() => { 224 setTimeout(() => {
144 if (length !== this.maxLength) return 225 if (length !== this.maxLength) return
145 console.log(files);
146 // let data = _.cloneDeep(this.previewImg.imgList[this.previewImg.index])
147 var formData = new FormData(); 226 var formData = new FormData();
148 files.forEach(file => { 227 files.forEach(file => {
149 formData.append('file', file.raw) 228 formData.append('file', file.raw)
...@@ -157,10 +236,9 @@ ...@@ -157,10 +236,9 @@
157 message: '上传成功!', 236 message: '上传成功!',
158 type: 'success' 237 type: 'success'
159 }) 238 })
160
161 } 239 }
162 }) 240 })
163 }) 241 }, 0)
164 }, 242 },
165 handleDelete () { 243 handleDelete () {
166 let that = this 244 let that = this
...@@ -170,9 +248,11 @@ ...@@ -170,9 +248,11 @@
170 type: 'warning' 248 type: 'warning'
171 }).then(async () => { 249 }).then(async () => {
172 let bsmClmx = this.previewImg.imgList[this.previewImg.index].bsmClmx 250 let bsmClmx = this.previewImg.imgList[this.previewImg.index].bsmClmx
251 let bsmSj = this.previewImg.imgList[this.previewImg.index].bsmSj
252 this.previewImg.imgList = this.previewImg.imgList.filter(item => item.bsmClmx != bsmClmx)
173 deleteClmx(bsmClmx).then(res => { 253 deleteClmx(bsmClmx).then(res => {
174 if (res.code == 200) { 254 if (res.code == 200) {
175 that.$emit('updateList', res.result) 255 that.$emit('updateList', { children: this.previewImg.imgList, bsmSj: bsmSj })
176 that.$message({ 256 that.$message({
177 message: '删除成功!', 257 message: '删除成功!',
178 type: 'success' 258 type: 'success'
......
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>
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>
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>
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>
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>
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 <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>
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>
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>
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>
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>
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>
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 <!-- 1 <!--
2 * @Description: 2 * @Description: 添加家庭成员
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-05-17 10:40:28 4 * @LastEditTime: 2023-05-17 10:40:28
5 --> 5 -->
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-04-26 16:05:28 4 * @LastEditTime: 2023-04-26 16:05:28
5 --> 5 -->
6 <!-- 批量删除弹框 -->
6 <template> 7 <template>
7 <div class='batchDel'> 8 <div class='batchDel'>
8 <lb-table :column="columns" :data="formData.dataList" :maxHeight="460" :heightNumSetting="true" :pagination="false" 9 <lb-table :column="columns" :data="formData.dataList" :maxHeight="460" :heightNumSetting="true" :pagination="false"
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description: 权利人列表
3 * @Autor: renchao 3 * @Autor: miaofang
4 * @LastEditTime: 2023-05-17 10:40:48 4 * @LastEditTime: 2023-06-14 10:40:48
5 --> 5 -->
6 <template> 6 <template>
7 <lb-table :column="column" :maxHeight="200" :heightNumSetting="true" :pagination="false" :key="key" :data="tableData"> 7 <lb-table :column="column" :maxHeight="200" :heightNumSetting="true" :pagination="false" :key="key" :data="tableData">
...@@ -119,4 +119,4 @@ ...@@ -119,4 +119,4 @@
119 } 119 }
120 </script> 120 </script>
121 <style scoped lang='scss'> 121 <style scoped lang='scss'>
122 </style>
...\ No newline at end of file ...\ No newline at end of file
122 </style>
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-05-17 10:39:47 4 * @LastEditTime: 2023-05-17 10:39:47
5 --> 5 -->
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
33 <el-row> 33 <el-row>
34 <el-col :span="8"> 34 <el-col :span="8">
35 <el-form-item label="证件号" prop="zjh"> 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> 36 <el-input v-model="ruleForm.zjh" maxlength="15" oninput="value=value.replace(/[^\X0-9]/g,'')"></el-input>
37 </el-form-item> 37 </el-form-item>
38 </el-col> 38 </el-col>
39 <el-col :span="8"> 39 <el-col :span="8">
......
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 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-05-17 10:39:57 4 * @LastEditTime: 2023-05-17 10:39:57
5 --> 5 -->
...@@ -275,4 +275,4 @@ ...@@ -275,4 +275,4 @@
275 margin-bottom: -1px; 275 margin-bottom: -1px;
276 } 276 }
277 } 277 }
278 </style>
...\ No newline at end of file ...\ No newline at end of file
278 </style>
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-05-17 10:40:02 4 * @LastEditTime: 2023-05-17 10:40:02
5 --> 5 -->
...@@ -164,4 +164,4 @@ ...@@ -164,4 +164,4 @@
164 display: flex; 164 display: flex;
165 justify-content: flex-end; 165 justify-content: flex-end;
166 } 166 }
167 </style>
...\ No newline at end of file ...\ No newline at end of file
167 </style>
......
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-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 import { log } from "bpmn-js-token-simulation";
1 2
2 3
3 var qlxxPage = [ 4 var qlxxPage = [
4 { qllx: "A01", id: "jsydsyq", form: "jsydsyq.vue", label: "集体土地所有权" }, 5 { qllx: "A01", id: "jsydsyq", form: "jsydsyq.vue", label: "集体土地所有权" },
5 { qllx: "A02", id: "jsydsyq", form: "jsydsyq.vue", label: "国家土地所有权" }, 6 { qllx: "A02", id: "jsydsyq", form: "jsydsyq.vue", label: "国家土地所有权" },
6 { qllx: "A03", id: "jsydsyq", form: "jsydsyq.vue", label: "国有建设用地使用权" }, 7 { qllx: "A03", id: "fdcq2", form: "jsydsyq.vue", label: "国有建设用地使用权" },
7 { qllx: "A04", id: "", form: "", label: "国有建设用地使用权/房屋所有权" }, 8 { qllx: "A04", id: "", form: "", label: "国有建设用地使用权/房屋所有权" },
8 { qllx: "A05", id: "jsydsyq", form: "jsydsyq.vue", label: "宅基地使用权" }, 9 { qllx: "A05", id: "jsydsyq", form: "jsydsyq.vue", label: "宅基地使用权" },
9 { qllx: "A06", id: "", form: "", label: "宅基地使用权/房屋所有权" }, 10 { qllx: "A06", id: "", form: "", label: "宅基地使用权/房屋所有权" },
...@@ -36,6 +37,7 @@ var qlxxPage = [ ...@@ -36,6 +37,7 @@ var qlxxPage = [
36 { qllx: "B39", id: "cfdj", form: "cfdj.vue", label: "查封登记" }, 37 { qllx: "B39", id: "cfdj", form: "cfdj.vue", label: "查封登记" },
37 { qllx: "B40", id: "ygdj", form: "ygdj.vue", label: "预告登记" }, 38 { qllx: "B40", id: "ygdj", form: "ygdj.vue", label: "预告登记" },
38 { qllx: "B41", id: "ygdj", form: "ygdj.vue", label: "预告登记" }, 39 { qllx: "B41", id: "ygdj", form: "ygdj.vue", label: "预告登记" },
40 { qllx: "DJB", id: "djbfm", form: "djbfm.vue", label: "预告登记" },
39 ]; 41 ];
40 42
41 //组装登记簿树形结构 43 //组装登记簿树形结构
...@@ -43,10 +45,10 @@ export function loadTreeData(qlxxData, bdcdyh) { ...@@ -43,10 +45,10 @@ export function loadTreeData(qlxxData, bdcdyh) {
43 let treedata = []; 45 let treedata = [];
44 //加载封面 46 //加载封面
45 treedata.push({ id: "djbfm", form: "djbfm.vue", label: "登记簿封面" }); 47 treedata.push({ id: "djbfm", form: "djbfm.vue", label: "登记簿封面" });
46 treedata.push({ id: "zdjbxx", form: "zdjbxx.vue", label: "宗地基本信息\n(" + bdcdyh.substring(0, 19) + ")", children: [] }); 48 treedata.push({ id: "zdjbxx", form: "zdjbxx.vue", label: "宗地基本信息", children: [] });
47 treedata[1].children.push({ id: "bdcqldjml", form: "bdcqldjml.vue", label: "不动产权利登记目录", children: [] }); 49 treedata[1].children.push({ id: "bdcqldjml", form: "bdcqldjml.vue", label: "不动产权利登记目录", children: [] });
48 treedata[1].children[0].children.push({ 50 treedata[1].children[0].children.push({
49 id: "bdcqljqtsx", form: "bdcqljqtsx.vue", label: "不动产权利及其他事项\n (" + bdcdyh.slice(19) + ")", children: [], 51 id: "bdcqljqtsx", form: "bdcqljqtsx.vue", label: "不动产权利及其他事项", children: [],
50 }); 52 });
51 //主体权利 53 //主体权利
52 treedata[1].children[0].children[0].children.push(getNode(qlxxData.ztqllx, qlxxData.ztql, qlxxData.bdcdylx)); 54 treedata[1].children[0].children[0].children.push(getNode(qlxxData.ztqllx, qlxxData.ztql, qlxxData.bdcdylx));
...@@ -71,12 +73,14 @@ export function getNode(qllx, qlxx, bdcdylx) { ...@@ -71,12 +73,14 @@ export function getNode(qllx, qlxx, bdcdylx) {
71 if (qlxxPage[i].qllx == qllx) { 73 if (qlxxPage[i].qllx == qllx) {
72 if (qllx == "A04" || qllx == "A06" || qllx == "A08") { 74 if (qllx == "A04" || qllx == "A06" || qllx == "A08") {
73 if (bdcdylx == "4") { 75 if (bdcdylx == "4") {
74 node = { id: "fdcq1", form: "fdcq1.vue", label: qlxxPage[i].label + "(临:" + qlxx.linShi + ",现:" + qlxx.xianShi + ",历:" + qlxx.liShi +")"}; 76 node = { id: "fdcq1", form: "fdcq1.vue", label: qlxxPage[i].label};
75 } else { 77 } else {
76 node = { id: "fdcq2", form: "fdcq2.vue", label: qlxxPage[i].label + "(临:" + qlxx.linShi + ",现:" + qlxx.xianShi + ",历:" + qlxx.liShi +")"}; 78 node = { id: "fdcq2", form: "fdcq2.vue", label: qlxxPage[i].label};
77 } 79 }
78 } else { 80 } else {
79 node = { id: qlxxPage[i].id, form: qlxxPage[i].form, label: qlxxPage[i].label + "(临:" + qlxx.linShi + ",现:" + qlxx.xianShi + ",历:" + qlxx.liShi +")"}; 81 console.log("jin1111");
82 node = { id: qlxxPage[i].id, form: qlxxPage[i].form, label: qlxxPage[i].label};
83 console.log("nodenodenodenode",node);
80 } 84 }
81 break; 85 break;
82 } 86 }
......
...@@ -6,124 +6,217 @@ ...@@ -6,124 +6,217 @@
6 <template> 6 <template>
7 <div class="leftmenu" :class="{ 'animation-map-drawer': isShowdrawer }"> 7 <div class="leftmenu" :class="{ 'animation-map-drawer': isShowdrawer }">
8 <div v-if="this.isShowdrawer"> 8 <div v-if="this.isShowdrawer">
9 <div class="title"> 9 <el-menu
10 登记簿列表 10 @select="djbClick"
11 class="title-batch"
12 >
13 <el-menu-item index="-1" key="-1" class="menus">
14 <div>登记簿</div>
15 </el-menu-item>
16 </el-menu>
17 <div class="blxx">
18 <el-menu
19 @select="blxxClick"
20 class="title-batch"
21 >
22 <el-menu-item index="-1" key="-1" class="menus">
23 <div>补录信息</div>
24 </el-menu-item>
25 </el-menu>
26 <el-menu :default-active="activeIndex" @select="unitClick">
27 <el-menu-item
28 v-for="(item, index) in supplementarylist"
29 :index="index.toString()"
30 :key="index"
31 >
32 <div>
33 <p v-if="item.operate=='D'">{{ item.qllxmc }} <span class="tpcolor">(删除)</span></p>
34 <p v-else >{{ item.qllxmc }} <span class="tpcolor">({{ item.operate=="U"?"编辑":"新增" }})</span></p>
35 </div>
36 <i
37 class="el-icon-delete"
38 @click.stop="handleDel(item)"
39 ></i>
40 </el-menu-item>
41 </el-menu>
11 </div> 42 </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> 43 </div>
16 <div class="map-drawer-click map-drawer" v-if="!isShowdrawer" @click=" 44 <div
17 () => { 45 class="map-drawer-click map-drawer"
18 this.isShowdrawer = !this.isShowdrawer; 46 v-if="!isShowdrawer"
19 } 47 @click="
20 "></div> 48 () => {
21 <div class="map-drawer-expand map-drawer" v-else @click=" 49 this.isShowdrawer = !this.isShowdrawer;
22 () => { 50 }
23 this.isShowdrawer = !this.isShowdrawer; 51 "
24 } 52 ></div>
25 "></div> 53 <div
54 class="map-drawer-expand map-drawer"
55 v-else
56 @click="
57 () => {
58 this.isShowdrawer = !this.isShowdrawer;
59 }
60 "
61 ></div>
26 </div> 62 </div>
27 </template> 63 </template>
28 <script> 64 <script>
29 import { mapGetters } from 'vuex' 65 import { mapGetters } from "vuex";
30 import { leftMenu } from "@/api/fqsq.js" 66 import { leftMenu } from "@/api/fqsq.js";
31 import { deleteSlbdcdy } from "@/api/ywbl.js"; 67 import { deleteRepairRecord } from "@/api/djbbl.js";
32 import { getBdcqljqtsx } from "@/api/registerBook.js"; 68 import { leftMenubl } from "@/api/djbbl.js";
69 import { deleteSlbdcdy } from "@/api/ywbl.js";
70 import { getBdcqljqtsx } from "@/api/registerBook.js";
33 import { loadTreeData, getNode } from "./djbFrameData.js"; 71 import { loadTreeData, getNode } from "./djbFrameData.js";
34 export default { 72 export default {
35 data () { 73 data() {
36 return { 74 return {
37 //受理申请标识码 75 supplementarylist: [],
38 bsmSlsq: this.$route.query.bsmSlsq, 76 //受理申请标识码
39 //当前流程所在环节 77 bsmSlsq: this.$route.query.bsmSlsq,
40 bestepid: this.$route.query.bestepid, 78 //当前流程所在环节
41 //受理申请标识码 79 bestepid: this.$route.query.bestepid,
42 bdcdyid: this.$route.query.bdcdyid, 80 //受理申请标识码
43 //当前流程所在环节 81 bdcdyid: this.$route.query.bdcdyid,
44 bdcdyh: this.$route.query.bdcdyh, 82 //当前流程所在环节
45 qllx:this.$route.query.qllx, 83 bdcdyh: this.$route.query.bdcdyh,
46 // 默认选中 84 qllx: this.$route.query.qllx,
47 activeIndex: '0', 85 // 默认选中
48 // 折叠 86 activeIndex: "0",
49 isShowdrawer: true, 87 // 折叠
50 // 批量操作 88 isShowdrawer: true,
51 showBatch: false, 89 //批量操作按钮名称
52 //批量操作按钮名称 90 batchButtonName: "",
53 batchButtonName: '', 91 //左侧菜单数据集合
54 //左侧菜单数据集合 92 unitData: [],
55 unitData: [], 93 // 设置表单传递数据
56 // 设置表单传递数据 94 currentSelectProps: {},
57 currentSelectProps: {}, 95 //左侧树形结构数据
58 //左侧树形结构数据
59 treedata: [], 96 treedata: [],
60 defaultNode: "", 97 defaultNode: "",
61 defaultProps: { 98 defaultProps: {
62 value: "id", 99 value: "id",
63 children: "children", 100 children: "children",
64 label: "label", 101 label: "label",
65 }, 102 },
66 showTab: "bdcqldjml", // 选中状态,根据表格中权利类型判断 103 showTab: "bdcqldjml", // 选中状态,根据表格中权利类型判断
67 } 104 };
105 },
106 mounted() {
107 this.loadBdcdylist();
108 this.getleftMenubl();
109
110
111 },
112 computed: {
113 // ...mapGetters(["isRefresh"]),
114 },
115 watch: {
116 // isRefresh: {
117 // handler(newVal, oldVal) {
118 // if (newVal) this.loadBdcdylist();
119 // },
120 // immediate: true,
121 // },
122 },
123 methods: {
124 //读取申请单元信息
125 loadBdcdylist(add) {
126 var formdata = new FormData();
127 formdata.append("bsmSlsq", this.bsmSlsq);
128 formdata.append("bestepid", this.bestepid);
129 leftMenu(formdata).then((res) => {
130 if (res.code === 200 && res.result) {
131 this.currentSelectProps = res.result[0];
132 this.$emit("getCurrentSelectProps", this.currentSelectProps);
133 if(add){
134 this.$parent.getQllxByBdcdyid()
135 }
136 }
137 });
138
68 }, 139 },
69 mounted () { 140 // 获取右侧菜单
70 this.loadBdcdylist(); 141 getleftMenubl(row) {
142 leftMenubl(this.bsmSlsq).then((res) => {
143 this.supplementarylist = res.result;
144 if(row){
145 this.supplementarylist.forEach((item,index) => {
146 if(item.bsmRepair==row.bsmRepair){
147 this.activeIndex=index.toString()
148 // 补录成功后定位到该条记录
149 this.unitClick(index)
150 }
151 })
152 }
153 if(this.supplementarylist.length){
154 this.unitClick(0)
155 }else{
156 this.$emit("getCurrentSelectProps", this.currentSelectProps);
157 }
158 });
71 }, 159 },
72 computed: { 160 handleNodeClick(data, node, elem) {
73 ...mapGetters(['isRefresh']) 161 this.$parent.loadComponent(this.currentSelectProps, data);
162 this.$parent.tabset();
74 }, 163 },
75 watch: { 164 //申请单元点击事件
76 isRefresh: { 165 unitClick(index) {
77 handler (newVal, oldVal) { 166 this.currentSelectProps = this.supplementarylist[index];
78 if (newVal) this.loadBdcdylist() 167 this.$emit("getCurrentSelectProps", this.currentSelectProps);
79 },
80 immediate: true
81 }
82 }, 168 },
83 methods: { 169 //登记簿点击事件
84 //读取申请单元信息 170 djbClick() {
85 loadBdcdylist () { 171 this.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 }, 172 },
113 handleNodeClick (data, node, elem) { 173 // 删除补录记录
114 this.$parent.loadComponent(this.currentSelectProps,data); 174 handleDel(row) {
175 this.$confirm("此操作将永久删除该条补录记录, 是否继续?", "提示", {
176 confirmButtonText: "确定",
177 cancelButtonText: "取消",
178 type: "warning",
179 })
180 .then(() => {
181 deleteRepairRecord(row.bsmRepair).then((res) => {
182 this.$message({
183 type: "success",
184 message: "删除成功!",
185 });
186 this.$nextTick(() => {
187 this.getleftMenubl();
188 this.blxxClick()
189 if(!this.supplementarylist.length){
190 getdjblist()
191 }
192
193 });
194 });
195 })
196 .catch(() => {
197 this.$message({
198 type: "info",
199 message: "已取消删除",
200 });
201 });
115 }, 202 },
203 //补录信息点击事件默认展示第一条补录记录
204 blxxClick() {
205 if(this.supplementarylist.length){
206 this.unitClick(0);
207 }
116 208
117 } 209 },
118 } 210 },
211 };
119 </script> 212 </script>
120 <style scoped lang='scss'> 213 <style scoped lang="scss">
121 @import "~@/styles/mixin.scss"; 214 @import "~@/styles/mixin.scss";
122 @import "../../workFrame.scss"; 215 @import "../../workFrame.scss";
123 .leftmenu ul { 216 .leftmenu ul {
124 height: calc(100vh - 120px); 217 height: calc(100vh - 120px);
125 } 218 }
126 /deep/.rollTable { 219 /deep/.rollTable {
127 height: calc(100vh - 240px) !important; 220 height: calc(100vh - 240px) !important;
128 } 221 }
129 222
...@@ -160,7 +253,7 @@ import { loadTreeData, getNode } from "./djbFrameData.js"; ...@@ -160,7 +253,7 @@ import { loadTreeData, getNode } from "./djbFrameData.js";
160 height: 45px; 253 height: 45px;
161 } 254 }
162 255
163 /deep/ .el-tree-node:focus>.el-tree-node__content { 256 /deep/ .el-tree-node:focus > .el-tree-node__content {
164 background-color: #f5f5f5; 257 background-color: #f5f5f5;
165 color: #0079fe; 258 color: #0079fe;
166 border-right: 4px solid #0079fe; 259 border-right: 4px solid #0079fe;
...@@ -170,13 +263,35 @@ import { loadTreeData, getNode } from "./djbFrameData.js"; ...@@ -170,13 +263,35 @@ import { loadTreeData, getNode } from "./djbFrameData.js";
170 white-space: pre-wrap; 263 white-space: pre-wrap;
171 } 264 }
172 265
173 /deep/ .is-current>.el-tree-node__content { 266 /deep/ .is-current > .el-tree-node__content {
174 background-color: #f5f5f5; 267 background-color: #f5f5f5;
175 color: #0079fe; 268 color: #0079fe;
176 border-right: 4px solid #0079fe; 269 border-right: 4px solid #0079fe;
177 } 270 }
178 .title-batch{ 271 .menus {
179 background-color: salmon; 272 background-color: #e7f4fe;
273 div{
274 font-size: 16px;
275 font-weight: 600;
276 }
277
278 }
279 .blxx {
280 .el-menu-item{
281 display: flex;
282 justify-content: space-between;
283 }
284 border: #b0d9f8 solid 1px;
285 .tpcolor{
286 color: red;
287 line-height: 22px;
288 }
289 .el-icon-delete{
290 margin-right: 3px;
291 // background-color: saddlebrown;
292 height: 27px;
293 float: left;
180 294
295 }
181 } 296 }
182 </style> 297 </style>
......
...@@ -63,7 +63,7 @@ ...@@ -63,7 +63,7 @@
63 <div v-else>已完结</div> 63 <div v-else>已完结</div>
64 </template> 64 </template>
65 </el-table-column> 65 </el-table-column>
66 <el-table-column label="环节名称" prop="taskName" minWidth="100" align="center" /> 66 <el-table-column label="环节名称" prop="name" minWidth="100" align="center" />
67 <el-table-column label="办理人" prop="agent" minWidth="120" align="center" /> 67 <el-table-column label="办理人" prop="agent" minWidth="120" align="center" />
68 <el-table-column label="处理时间" prop="createTime" width="160" align="center" /> 68 <el-table-column label="处理时间" prop="createTime" width="160" align="center" />
69 <el-table-column label="办结时间" prop="finishTime" width="160" align="center" /> 69 <el-table-column label="办结时间" prop="finishTime" width="160" align="center" />
...@@ -76,7 +76,6 @@ ...@@ -76,7 +76,6 @@
76 <script> 76 <script>
77 import '@/styles/package/theme/index.scss' 77 import '@/styles/package/theme/index.scss'
78 import BpmnViewer from 'bpmn-js/lib/Viewer' 78 import BpmnViewer from 'bpmn-js/lib/Viewer'
79 import { getusername } from "@/api/getusername.js";
80 import MoveCanvasModule from 'diagram-js/lib/navigation/movecanvas' 79 import MoveCanvasModule from 'diagram-js/lib/navigation/movecanvas'
81 export default { 80 export default {
82 props: { 81 props: {
...@@ -107,7 +106,6 @@ ...@@ -107,7 +106,6 @@
107 } 106 }
108 }, 107 },
109 created () { 108 created () {
110
111 this.$nextTick(() => { 109 this.$nextTick(() => {
112 // 获取流程记录 110 // 获取流程记录
113 this.getCommentList() 111 this.getCommentList()
...@@ -177,18 +175,18 @@ ...@@ -177,18 +175,18 @@
177 this.dlgTitle = element.businessObject ? element.businessObject.name : undefined 175 this.dlgTitle = element.businessObject ? element.businessObject.name : undefined
178 // 计算当前悬浮任务审批记录,如果记录为空不显示弹窗 176 // 计算当前悬浮任务审批记录,如果记录为空不显示弹窗
179 this.taskCommentList = (this.taskList || []).filter(item => { 177 this.taskCommentList = (this.taskList || []).filter(item => {
180 return item.taskDefKey === this.selectTaskId 178 return item.taskDefinitionKey === this.selectTaskId
181 }) 179 })
182 if (this.selectTaskId.length > 3) { 180 if (this.taskCommentList.length==0) {
183 this.taskCommentList = this.taskList; 181 this.taskCommentList = this.taskList;
184 } 182 }
185 }, 183 },
186 // 下拉列表切换 184 // 下拉列表切换
187 handleSelect (val) { 185 handleSelect (val) {
188 this.taskCommentList = (this.taskList || []).filter(item => { 186 this.taskCommentList = (this.taskList || []).filter(item => {
189 return item.taskDefKey === val 187 return item.taskDefinitionKey === val
190 }) 188 })
191 if (val.length > 3) { 189 if (this.taskCommentList.length==0) {
192 this.taskCommentList = this.taskList; 190 this.taskCommentList = this.taskList;
193 } 191 }
194 }, 192 },
...@@ -239,32 +237,13 @@ ...@@ -239,32 +237,13 @@
239 // 获取流程记录 237 // 获取流程记录
240 getCommentList() { 238 getCommentList() {
241 this.formData.allCommentList.forEach(async (item,index) => { 239 this.formData.allCommentList.forEach(async (item,index) => {
242 var arr=item.assigneeName.split(","); 240 this.formData.allCommentList[index].agent=item.assignee.name
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 }) 241 })
259 setTimeout(() => { 242 setTimeout(() => {
260 this.taskList =this.formData.allCommentList; 243 this.taskList =this.formData.allCommentList;
261 // 处理数据之后赋值 244 // 处理数据之后赋值
262 this.taskCommentList=this.taskList 245 this.taskCommentList=this.taskList
263 }, 100) 246 }, 100)
264 // this.$nextTick(() => {
265 // this.taskList =this.formData.allCommentList;
266 // this.taskCommentList=this.taskList
267 // })
268 }, 247 },
269 248
270 // 设置流程图元素状态 249 // 设置流程图元素状态
......
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>
This diff could not be displayed because it is too large.