Merge branch 'dev' of http://yun.pashanhoo.com:9090/bdc/bdcdj-web into dev
Showing
7 changed files
with
518 additions
and
44 deletions
... | @@ -27,6 +27,7 @@ | ... | @@ -27,6 +27,7 @@ |
27 | "print-js": "^1.6.0", | 27 | "print-js": "^1.6.0", |
28 | "qrcode": "^1.5.3", | 28 | "qrcode": "^1.5.3", |
29 | "sortablejs": "^1.15.0", | 29 | "sortablejs": "^1.15.0", |
30 | "tiff.js": "^1.0.0", | ||
30 | "vue": "2.6.10", | 31 | "vue": "2.6.10", |
31 | "vue-json-editor": "^1.4.3", | 32 | "vue-json-editor": "^1.4.3", |
32 | "vue-print-nb": "^1.7.5", | 33 | "vue-print-nb": "^1.7.5", |
... | @@ -35,7 +36,7 @@ | ... | @@ -35,7 +36,7 @@ |
35 | "vue-seamless-scroll": "^1.1.23", | 36 | "vue-seamless-scroll": "^1.1.23", |
36 | "vuex": "3.1.0", | 37 | "vuex": "3.1.0", |
37 | "x2js": "^3.4.4", | 38 | "x2js": "^3.4.4", |
38 | "xlsx": "^0.17.0", | 39 | "xlsx": "^0.17.5", |
39 | "xlsx-style": "^0.8.13" | 40 | "xlsx-style": "^0.8.13" |
40 | }, | 41 | }, |
41 | "devDependencies": { | 42 | "devDependencies": { | ... | ... |
src/api/ycsl.js
0 → 100644
1 | /* | ||
2 | * @Description: 信息备案 | ||
3 | * @Autor: | ||
4 | * @LastEditTime: 2023-09-11 11:25:22 | ||
5 | */ | ||
6 | |||
7 | import request from '@/utils/request' | ||
8 | let SERVER = window.config ? window.config : JSON.parse(localStorage.getItem('ApiUrl')) | ||
9 | |||
10 | /** | ||
11 | * @description: 添加银行 | ||
12 | * @author: | ||
13 | * @param params | ||
14 | */ | ||
15 | export function queryBj (params) { | ||
16 | return request({ | ||
17 | url: SERVER.SERVERAPI + '/rest/wwsq/queryBj', | ||
18 | method: 'get', | ||
19 | params | ||
20 | }) | ||
21 | } | ||
22 | |||
23 | /** | ||
24 | * @description: getSqr | ||
25 | * @author: | ||
26 | * @param ywh | ||
27 | */ | ||
28 | export function getSqr (ywh) { | ||
29 | return request({ | ||
30 | url: SERVER.SERVERAPI + '/rest/wwsq/getSqr', | ||
31 | method: 'get', | ||
32 | params: { | ||
33 | ywh: ywh | ||
34 | } | ||
35 | }) | ||
36 | } | ||
37 | |||
38 | /** | ||
39 | * @description: getSqr | ||
40 | * @author: | ||
41 | * @param ywh | ||
42 | */ | ||
43 | export function getBdcqk (ywh) { | ||
44 | return request({ | ||
45 | url: SERVER.SERVERAPI + '/rest/wwsq/getBdcqk', | ||
46 | method: 'get', | ||
47 | params: { | ||
48 | ywh: ywh | ||
49 | } | ||
50 | }) | ||
51 | } | ||
52 | |||
53 | /** | ||
54 | * @description: getSqr | ||
55 | * @author: | ||
56 | * @param ywh | ||
57 | */ | ||
58 | export function getTreeNodeList (ywh) { | ||
59 | return request({ | ||
60 | url: SERVER.SERVERAPI + '/rest/fjcl/getTreeNodeList', | ||
61 | method: 'get', | ||
62 | params: { | ||
63 | ywh: ywh | ||
64 | } | ||
65 | }) | ||
66 | } | ||
67 | |||
68 | /** | ||
69 | * @description: getSqr | ||
70 | * @author: | ||
71 | * @param datumId | ||
72 | */ | ||
73 | export function getFjnrById (datumId) { | ||
74 | return request({ | ||
75 | url: SERVER.SERVERAPI + '/rest/fjcl/getFjnrById', | ||
76 | method: 'get', | ||
77 | params: { | ||
78 | datumId: datumId | ||
79 | } | ||
80 | }) | ||
81 | } |
... | @@ -58,6 +58,65 @@ export default class filter { | ... | @@ -58,6 +58,65 @@ export default class filter { |
58 | return name | 58 | return name |
59 | } | 59 | } |
60 | } | 60 | } |
61 | |||
62 | /** | ||
63 | * @description: blzt | ||
64 | * @param {*} val | ||
65 | * @author: | ||
66 | */ | ||
67 | blzt (val) { | ||
68 | if (val === 0) { | ||
69 | return "未提交" | ||
70 | } else if (val === 1) { | ||
71 | return "已提交" | ||
72 | } else if (val === 2) { | ||
73 | return "办理中" | ||
74 | } else if (val === 3) { | ||
75 | return "已办结" | ||
76 | } else if (val === 4) { | ||
77 | return "已终止" | ||
78 | } else if (val === 5) { | ||
79 | return "已退回" | ||
80 | } else if (val === 8) { | ||
81 | return "已登簿" | ||
82 | } | ||
83 | } | ||
84 | |||
85 | /** | ||
86 | * @description: ywlx | ||
87 | * @param {*} val | ||
88 | * @author: | ||
89 | */ | ||
90 | ywlx (val) { | ||
91 | if (val === "1") { | ||
92 | return "预售商品房买卖预告登记" | ||
93 | } else if (val === "2") { | ||
94 | return "预售商品房抵押权预告登记" | ||
95 | } else if (val === "3") { | ||
96 | return "商品房初始登记" | ||
97 | } else if (val === "4") { | ||
98 | return "不动产抵押登记" | ||
99 | } else if (val === "5") { | ||
100 | return "预购商品房预告登记/预购商品房抵押登记" | ||
101 | } else if (val === "6") { | ||
102 | return "预售商品房预告登记转房屋所有权登记/预售商品房抵押登记转抵押权登记" | ||
103 | } else if (val === "7") { | ||
104 | return "查封登记" | ||
105 | } else if (val === "8") { | ||
106 | return "解封登记" | ||
107 | } else if (val === "9") { | ||
108 | return "商品房转移登记" | ||
109 | } else if (val === "10") { | ||
110 | return "存量房转移登记" | ||
111 | } else if (val === "23") { | ||
112 | return "续封登记" | ||
113 | } else if (val === "41") { | ||
114 | return "独幢宅基地首次登记" | ||
115 | } else if (val === "42") { | ||
116 | return "多幢宅基地首次登记" | ||
117 | } | ||
118 | } | ||
119 | |||
61 | /** | 120 | /** |
62 | * @description: filterHtml | 121 | * @description: filterHtml |
63 | * @param {*} content | 122 | * @param {*} content | ... | ... |
src/views/ywbl/ycsl/components/addDialog.vue
0 → 100644
This diff is collapsed.
Click to expand it.
1 | <!-- | ||
2 | * @Description: | ||
3 | * @Autor: | ||
4 | * @LastEditTime: 2023-12-24 17:18:02 | ||
5 | --> | ||
6 | <template> | ||
7 | <div class="clxx"> | ||
8 | <div class="left"> | ||
9 | <div class="slxx_title title-block"> | ||
10 | 附件扫描信息 | ||
11 | <div class="triangle"></div> | ||
12 | </div> | ||
13 | <div class="preview-content"> | ||
14 | <img id="tifImage" alt="TIF Image"/> | ||
15 | </div> | ||
16 | |||
17 | </div> | ||
18 | <div class="right"> | ||
19 | <div class="slxx_title title-block"> | ||
20 | 收件材料 | ||
21 | <div class="triangle"></div> | ||
22 | </div> | ||
23 | <div class="tree-content"> | ||
24 | <el-tree | ||
25 | :data="tableData" | ||
26 | :props="defaultProps" | ||
27 | accordion | ||
28 | @node-click="handleNodeClick"> | ||
29 | </el-tree> | ||
30 | </div> | ||
31 | </div> | ||
32 | </div> | ||
33 | </template> | ||
34 | <script> | ||
35 | import 'tiff.js'; | ||
36 | import store from '@/store/index.js' | ||
37 | import { getTreeNodeList, getFjnrById } from "@/api/ycsl.js"; | ||
38 | export default { | ||
39 | components: { }, | ||
40 | props: { | ||
41 | formData: { | ||
42 | type: Object, | ||
43 | default: () => { | ||
44 | return {} | ||
45 | } | ||
46 | } | ||
47 | }, | ||
48 | data () { | ||
49 | return { | ||
50 | imgKey: 0, | ||
51 | isDialog: false, | ||
52 | iclass: "", | ||
53 | // 材料目录选中 | ||
54 | treeCheckIndex: 0, | ||
55 | treeCheckId: "", | ||
56 | key: 0, | ||
57 | tableData: [], | ||
58 | defaultProps: { | ||
59 | children: 'nodeList', | ||
60 | label: 'text' | ||
61 | }, | ||
62 | previewImg: { | ||
63 | bsmMaterial: "", | ||
64 | index: 0, | ||
65 | selectedIndex: 0, | ||
66 | imgList: [] | ||
67 | } | ||
68 | } | ||
69 | }, | ||
70 | computed: { | ||
71 | workFresh () { | ||
72 | return store.state.user.workFresh | ||
73 | } | ||
74 | }, | ||
75 | watch: {}, | ||
76 | created () { | ||
77 | |||
78 | }, | ||
79 | mounted () { | ||
80 | console.log(this.formData) | ||
81 | this.getTreeNodeList(this.formData.ywh) | ||
82 | }, | ||
83 | methods: { | ||
84 | handleNodeClick(data) { | ||
85 | console.log(data); | ||
86 | this.getFjnrById(data.id) | ||
87 | }, | ||
88 | /** | ||
89 | * @description: 获取详情信息 | ||
90 | * @author: | ||
91 | * @param ywh | ||
92 | */ | ||
93 | getTreeNodeList (ywh) { | ||
94 | getTreeNodeList(ywh).then(res => { | ||
95 | if (res.code == 200) { | ||
96 | this.tableData = res.result; | ||
97 | // this.tableData = [ | ||
98 | // { | ||
99 | // "id": "4501904998761472", | ||
100 | // "text": "不动产登记申请书", | ||
101 | // "leaf": false, | ||
102 | // "nodeList": [ | ||
103 | // { | ||
104 | // "id": "4501904999629824", | ||
105 | // "text": "001.tif", | ||
106 | // "leaf": true, | ||
107 | // "nodeList": [] | ||
108 | // }, | ||
109 | // { | ||
110 | // "id": "4501905001399296", | ||
111 | // "text": "002.tif", | ||
112 | // "leaf": true, | ||
113 | // "nodeList": [] | ||
114 | // }, | ||
115 | // { | ||
116 | // "id": "4501905004954624", | ||
117 | // "text": "003.tif", | ||
118 | // "leaf": true, | ||
119 | // "nodeList": [] | ||
120 | // }, | ||
121 | // { | ||
122 | // "id": "4501905007002624", | ||
123 | // "text": "004.tif", | ||
124 | // "leaf": true, | ||
125 | // "nodeList": [] | ||
126 | // } | ||
127 | // ] | ||
128 | // }, | ||
129 | // { | ||
130 | // "id": "4501905008690176", | ||
131 | // "text": "商品房预售合同", | ||
132 | // "leaf": false, | ||
133 | // "nodeList": [ | ||
134 | // { | ||
135 | // "id": "4501905009443840", | ||
136 | // "text": "005.tif", | ||
137 | // "leaf": true, | ||
138 | // "nodeList": [] | ||
139 | // }, | ||
140 | // { | ||
141 | // "id": "4501905011491840", | ||
142 | // "text": "006.tif", | ||
143 | // "leaf": true, | ||
144 | // "nodeList": [] | ||
145 | // }, | ||
146 | // { | ||
147 | // "id": "4501905015194624", | ||
148 | // "text": "007.tif", | ||
149 | // "leaf": true, | ||
150 | // "nodeList": [] | ||
151 | // } | ||
152 | // ] | ||
153 | // } | ||
154 | // ]; | ||
155 | console.log(this.tableData) | ||
156 | } | ||
157 | }) | ||
158 | }, | ||
159 | |||
160 | /** | ||
161 | * @description: 获取详情信息 | ||
162 | * @author: | ||
163 | * @param datumId | ||
164 | */ | ||
165 | getFjnrById (datumId) { | ||
166 | getFjnrById(datumId).then(res => { | ||
167 | if (res.code == 200) { | ||
168 | const tiff = new Tiff({ | ||
169 | buffer: res.result, | ||
170 | }); | ||
171 | //转成png格式的base64图片,将其用img标签展示即可 | ||
172 | console.log(tiff.toDataURL("image/png")) | ||
173 | } | ||
174 | }) | ||
175 | } | ||
176 | } | ||
177 | } | ||
178 | </script> | ||
179 | <style scoped lang="scss"> | ||
180 | @import "~@/styles/mixin.scss"; | ||
181 | .left { | ||
182 | width: 48%; | ||
183 | float: left; | ||
184 | .preview-content { | ||
185 | height: 500px; | ||
186 | border: 1px solid grey; | ||
187 | } | ||
188 | |||
189 | } | ||
190 | |||
191 | .right { | ||
192 | width: 48%; | ||
193 | float: right; | ||
194 | .tree-content { | ||
195 | height: 500px; | ||
196 | overflow-y: scroll; | ||
197 | } | ||
198 | } | ||
199 | |||
200 | </style> |
1 | /* | ||
2 | * @Description: | ||
3 | * @Autor: renchao | ||
4 | * @LastEditTime: 2023-09-07 14:49:06 | ||
5 | */ | ||
1 | import filter from '@/utils/filter.js' | 6 | import filter from '@/utils/filter.js' |
2 | let vm = null | 7 | let vm = null |
3 | 8 | ||
... | @@ -27,65 +32,45 @@ class data extends filter { | ... | @@ -27,65 +32,45 @@ class data extends filter { |
27 | label: "业务号", | 32 | label: "业务号", |
28 | }, | 33 | }, |
29 | { | 34 | { |
30 | prop: "sqbh", | ||
31 | label: "申请编号", | ||
32 | }, | ||
33 | { | ||
34 | prop: "qlr", | 35 | prop: "qlr", |
35 | label: "权利人", | 36 | label: "权利人" |
36 | }, | ||
37 | { | ||
38 | prop: "ywr", | ||
39 | label: "义务人", | ||
40 | }, | ||
41 | { | ||
42 | prop: "bdcdyh", | ||
43 | label: "不动产单元号", | ||
44 | width: 150 | ||
45 | }, | ||
46 | { | ||
47 | prop: "sqsj", | ||
48 | label: "申请时间", | ||
49 | width: 140 | ||
50 | }, | 37 | }, |
51 | { | 38 | { |
52 | label: "登记类型", | 39 | prop: "blzt", |
40 | label: "办理状态", | ||
53 | render: (h, scope) => { | 41 | render: (h, scope) => { |
54 | return <span>{this.dicStatus(scope.row.djlx, "A21")}</span> | 42 | return <span>{this.blzt(scope.row.blzt)}</span> |
55 | } | 43 | } |
56 | }, | 44 | }, |
57 | { | 45 | { |
58 | label: "权利类型", | 46 | prop: "ywlx", |
47 | label: "业务类型", | ||
59 | render: (h, scope) => { | 48 | render: (h, scope) => { |
60 | return <span>{this.dicStatus(scope.row.qllx, "A8")}</span> | 49 | return <span>{this.ywlx(scope.row.ywlx)}</span> |
61 | } | 50 | } |
62 | }, | 51 | }, |
63 | { | 52 | { |
64 | label: "办理状态", | 53 | prop: "sqsj", |
65 | render: (h, scope) => { | 54 | label: "申请时间", |
66 | return <span>{this.dicStatus(scope.row.blzt, "dyblzt")}</span> | ||
67 | } | ||
68 | }, | 55 | }, |
69 | { | 56 | { |
70 | prop: "shyj", | 57 | prop: "ywr", |
71 | label: "审核意见" | 58 | label: "义务人", |
72 | }, | 59 | }, |
73 | { | 60 | { |
74 | label: "操作", | 61 | label: '操作', |
75 | width: 250, | 62 | width: '120', |
76 | fixed: 'right', | 63 | align: 'center', |
77 | render: (h, scope) => { | 64 | render: (h, scope) => { |
78 | return <div> | 65 | return ( |
79 | <el-button type="text" icon='el-icon-view' onClick={() => { vm.handleViewClick(scope.row) }}>详情</el-button> | 66 | <div> |
80 | <el-button type="text" icon="el-icon-delete" onClick={() => { vm.handleDel(scope.row) }}>删除</el-button> | 67 | <el-button type="text" icon="el-icon-edit-outline" onClick={() => { vm.handleEdit(scope.row) }}>详情</el-button> |
81 | <el-button type="text" icon='el-icon-refresh-left' onClick={() => { vm.handleBack(scope.row) }}>回退</el-button> | ||
82 | <el-button type="text" icon='el-icon-document-copy' onClick={() => { vm.handleSync(scope.row) }}>数据同步</el-button> | ||
83 | </div> | 68 | </div> |
69 | ) | ||
84 | } | 70 | } |
85 | } | 71 | } |
86 | ] | 72 | ] |
87 | } | 73 | } |
88 | |||
89 | } | 74 | } |
90 | let datas = new data() | 75 | let datas = new data() |
91 | export { | 76 | export { | ... | ... |
1 | <template> | 1 | <template> |
2 | <div class="duijie"> | 2 | <!-- <div class="duijie">--> |
3 | <img src="../../../image/duijie.png" alt=""> | 3 | <!-- <img src="../../../image/duijie.png" alt="">--> |
4 | <!-- </div>--> | ||
5 | <div class="from-clues"> | ||
6 | <!-- 表单部分 --> | ||
7 | <div class="from-clues-header"> | ||
8 | <el-form :model="queryForm" ref="queryForm" @submit.native.prevent label-width="80px"> | ||
9 | <el-row> | ||
10 | <el-col :span="5"> | ||
11 | <el-form-item label="业务号"> | ||
12 | <el-input placeholder="业务号" v-model="queryForm.ywh" clearable class="width100"> | ||
13 | </el-input> | ||
14 | </el-form-item> | ||
15 | </el-col> | ||
16 | <el-col :span="5"> | ||
17 | <el-form-item label="权利人"> | ||
18 | <el-input placeholder="权利人" v-model="queryForm.qlrmc" clearable class="width100"> | ||
19 | </el-input> | ||
20 | </el-form-item> | ||
21 | </el-col> | ||
22 | <el-col :span="5"> | ||
23 | <el-form-item label="义务人"> | ||
24 | <el-input placeholder="义务人" v-model="queryForm.ywrmc" clearable class="width100"> | ||
25 | </el-input> | ||
26 | </el-form-item> | ||
27 | </el-col> | ||
28 | <el-col :span="9" class="btnColRight"> | ||
29 | <el-form-item> | ||
30 | <el-button type="primary" native-type="submit" @click="handleSearch">查询</el-button> | ||
31 | <el-button type="primary" native-type="submit" @click="handleAdd">添加</el-button> | ||
32 | </el-form-item> | ||
33 | </el-col> | ||
34 | </el-row> | ||
35 | </el-form> | ||
36 | </div> | ||
37 | <div class="from-clues-content loadingtext"> | ||
38 | <lb-table :page-size="pageData.size" border :current-page.sync="pageData.currentPage" :heightNum="280" | ||
39 | :total="tableData.total" @size-change="handleSizeChange" @p-current-change="handleCurrentChange" | ||
40 | :column="tableData.columns" :data="tableData.data"> | ||
41 | </lb-table> | ||
42 | </div> | ||
4 | </div> | 43 | </div> |
5 | </template> | 44 | </template> |
6 | 45 | ||
7 | <script> | 46 | <script> |
8 | 47 | import { mapGetters } from 'vuex' | |
48 | import table from "@/utils/mixin/table" | ||
49 | import { datas, sendThis } from "./data" | ||
50 | import { queryBj } from "@/api/ycsl.js"; | ||
9 | export default { | 51 | export default { |
52 | name: "cwrz", | ||
53 | components: {}, | ||
54 | mixins: [table], | ||
55 | mounted () { | ||
56 | sendThis(this); | ||
57 | }, | ||
58 | activated () { | ||
59 | this.queryClick() | ||
60 | }, | ||
61 | data () { | ||
62 | return { | ||
63 | queryForm: { | ||
64 | qymc: "", | ||
65 | zjh: "", | ||
66 | }, | ||
67 | tableData: { | ||
68 | total: 0, | ||
69 | columns: datas.columns(), | ||
70 | data: [], | ||
71 | }, | ||
72 | }; | ||
73 | }, | ||
74 | computed: { | ||
75 | ...mapGetters(['isRefresh']) | ||
76 | }, | ||
77 | watch: { | ||
78 | isRefresh: { | ||
79 | handler (newVal, oldVal) { | ||
80 | if (newVal) this.queryClick() | ||
81 | }, | ||
82 | immediate: true | ||
83 | } | ||
84 | }, | ||
85 | methods: { | ||
86 | /** | ||
87 | * @description: queryClick | ||
88 | * @author: renchao | ||
89 | */ | ||
90 | queryClick () { | ||
91 | this.$startLoading(); | ||
92 | // let data = { ...this.queryForm, ...this.pageData } | ||
93 | let pageInfo = { | ||
94 | pageNo: this.pageData.currentPage, | ||
95 | pageSize: this.pageData.pageSize | ||
96 | } | ||
97 | let data = { ...pageInfo } | ||
98 | queryBj(data).then((res) => { | ||
99 | this.$endLoading(); | ||
100 | if (res.code === 200) { | ||
101 | let { total, records } = res.result; | ||
102 | this.tableData.total = total; | ||
103 | this.tableData.data = records; | ||
104 | } | ||
105 | }) | ||
106 | }, | ||
107 | /** | ||
108 | * @description: handleSearch | ||
109 | * @author: renchao | ||
110 | */ | ||
111 | handleSearch () { | ||
112 | this.queryClick(); | ||
113 | }, | ||
114 | /** | ||
115 | * @description: handleAdd | ||
116 | * @author: renchao | ||
117 | */ | ||
118 | handleAdd () { | ||
119 | this.$popupDialog("添加企业", "xxba/components/addDialog", { isAdd: 1 }, "75%") | ||
120 | }, | ||
121 | /** | ||
122 | * @description: handleDelete | ||
123 | * @author: renchao | ||
124 | */ | ||
125 | handleDelete (row) { | ||
126 | let _this = this | ||
127 | this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', { | ||
128 | confirmButtonText: '确定', | ||
129 | cancelButtonText: '取消', | ||
130 | type: 'warning' | ||
131 | }).then(() => { | ||
132 | remove(row.bsmCompany).then(res => { | ||
133 | if (res.code == 200) { | ||
134 | _this.$message({ | ||
135 | type: 'success', | ||
136 | message: '删除成功!' | ||
137 | }); | ||
138 | } | ||
139 | const totalPage = Math.ceil((_this.tableData.total - 1) / _this.pageData.pageSize) // 总页数 | ||
140 | _this.pageData.currentPage = _this.pageData.currentPage > totalPage ? totalPage : _this.pageData.currentPage | ||
141 | _this.pageData.currentPage = _this.pageData.currentPage < 1 ? 1 : _this.pageData.currentPage | ||
10 | 142 | ||
143 | _this.queryClick(_this.pageData.currentPage);//重新渲染数 | ||
144 | }) | ||
145 | }).catch(() => { | ||
146 | this.$message({ | ||
147 | type: 'info', | ||
148 | message: '已取消删除' | ||
149 | }); | ||
150 | }); | ||
151 | }, | ||
152 | handleEdit (row) { | ||
153 | this.$popupDialog("编辑企业", "ywbl/ycsl/components/addDialog", { isAdd: 2, ...row }, "75%") | ||
154 | } | ||
155 | } | ||
11 | } | 156 | } |
12 | </script> | 157 | </script> |
13 | 158 | ||
14 | <style lang="scss" scoped> | 159 | <style lang="scss" scoped> |
15 | .duijie{ | 160 | |
161 | @import "~@/styles/public.scss"; | ||
162 | |||
163 | .duijie{ | ||
16 | width: 100%; | 164 | width: 100%; |
17 | height: 100%; | 165 | height: 100%; |
18 | margin: auto; | 166 | margin: auto; |
19 | text-align: center | 167 | text-align: center |
20 | 168 | ||
21 | } | 169 | } |
22 | 170 | ||
23 | </style> | 171 | </style> | ... | ... |
-
Please register or sign in to post a comment