修改登记簿相关组件
Showing
3 changed files
with
433 additions
and
0 deletions
... | @@ -300,6 +300,7 @@ export default { | ... | @@ -300,6 +300,7 @@ export default { |
300 | height: 40px; | 300 | height: 40px; |
301 | padding: 4px; | 301 | padding: 4px; |
302 | font-size: 13px; | 302 | font-size: 13px; |
303 | width: 140px; | ||
303 | } | 304 | } |
304 | > tr:nth-child(odd) td { | 305 | > tr:nth-child(odd) td { |
305 | background: #f2f2f2; | 306 | background: #f2f2f2; | ... | ... |
1 | import filter from '@/utils/filter.js' | ||
2 | |||
3 | class data extends filter { | ||
4 | constructor() { | ||
5 | super() | ||
6 | } | ||
7 | columns() { | ||
8 | return { | ||
9 | title: "建设用地使用权、宅基地使用权登记信息", | ||
10 | columns: [ | ||
11 | { | ||
12 | prop: "ssywh", | ||
13 | label: "上手业务号" | ||
14 | }, | ||
15 | { | ||
16 | prop: "dah", | ||
17 | label: "档案号", | ||
18 | }, | ||
19 | { | ||
20 | prop: "ywh", | ||
21 | label: "业务号", | ||
22 | }, | ||
23 | { | ||
24 | prop: "bdcdyh", | ||
25 | label: "不动产单元号", | ||
26 | }, | ||
27 | { | ||
28 | prop: "zl", | ||
29 | label: "坐落", | ||
30 | }, | ||
31 | { | ||
32 | prop: "qlrlx", | ||
33 | label: "权利人类型", | ||
34 | }, | ||
35 | { | ||
36 | prop: "qlrmc", | ||
37 | label: "权利人", | ||
38 | }, | ||
39 | { | ||
40 | prop: "qlrzjzl", | ||
41 | label: "证件种类", | ||
42 | }, | ||
43 | { | ||
44 | prop: "qlrzjhm", | ||
45 | label: "证件号", | ||
46 | }, | ||
47 | { | ||
48 | prop: "gyfs", | ||
49 | label: "共有情况", | ||
50 | }, | ||
51 | { | ||
52 | prop: "mj", | ||
53 | label: "使用权面积(m²)", | ||
54 | }, | ||
55 | { | ||
56 | prop: "qlxz", | ||
57 | label: "权利性质", | ||
58 | }, | ||
59 | { | ||
60 | prop: "ytmc", | ||
61 | label: "土地用途", | ||
62 | }, | ||
63 | { | ||
64 | prop: "syqqzsj", | ||
65 | label: "使用权起止时间", | ||
66 | }, | ||
67 | // { | ||
68 | // prop: "syqjssj", | ||
69 | // label: "使用权结束时间", | ||
70 | // }, | ||
71 | // { | ||
72 | // prop: "tdsyqx", | ||
73 | // label: "土地使用期限", | ||
74 | // }, | ||
75 | { | ||
76 | prop: "tdsyqx", | ||
77 | label: "土地使用期限", | ||
78 | }, | ||
79 | { | ||
80 | prop: "qdjg", | ||
81 | label: "取得价格(万元)", | ||
82 | }, | ||
83 | { | ||
84 | prop: "djyy", | ||
85 | label: "登记原因", | ||
86 | }, | ||
87 | { | ||
88 | prop: "bdcqzh", | ||
89 | label: "不动产权证号", | ||
90 | }, | ||
91 | { | ||
92 | prop: "djsj", | ||
93 | label: "登记时间", | ||
94 | }, | ||
95 | { | ||
96 | prop: "dbr", | ||
97 | label: "登簿人", | ||
98 | }, | ||
99 | { | ||
100 | prop: "fj", | ||
101 | label: "附记", | ||
102 | }, | ||
103 | ] | ||
104 | |||
105 | } | ||
106 | } | ||
107 | } | ||
108 | |||
109 | let datas = new data() | ||
110 | |||
111 | export { | ||
112 | datas | ||
113 | } | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
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 label="临时"></el-checkbox> | ||
9 | <el-checkbox label="现势"></el-checkbox> | ||
10 | <el-checkbox label="历史"></el-checkbox> | ||
11 | </el-checkbox-group> | ||
12 | </div> | ||
13 | </div> | ||
14 | <div class="xxTableBox"> | ||
15 | <table class="xxTable" :width="tableWidth"> | ||
16 | <tr> | ||
17 | <th rowspan="3">业务类型</th> | ||
18 | </tr> | ||
19 | <!-- 第一行表头 --> | ||
20 | <tr class="one" id=""> | ||
21 | <th | ||
22 | v-for="(item, index) in ths" | ||
23 | :key="index" | ||
24 | :class="[item.class, item.type == '临时' ? 'linshiIcon' : '']" | ||
25 | > | ||
26 | <div class="icon" v-if="item.type == '临时'">{{ item.type }}</div> | ||
27 | {{ item.type }} | ||
28 | </th> | ||
29 | </tr> | ||
30 | <!-- 第二行表头 --> | ||
31 | <tr class="two"> | ||
32 | <th v-for="(item, index) in ths" :key="index" :class="item.class"> | ||
33 | <p>{{ item.qllxmc }}</p> | ||
34 | <p>{{ item.djlxmc }}</p> | ||
35 | </th> | ||
36 | </tr> | ||
37 | <!-- 数据 --> | ||
38 | <tr v-for="(item, index) in columns" :key="index"> | ||
39 | <td> | ||
40 | {{ item.label }} | ||
41 | </td> | ||
42 | <td | ||
43 | v-for="(item1, index1) in showTableData" | ||
44 | :key="index1" | ||
45 | :class="[ | ||
46 | item1.qszt == '2' ? 'lishi' : '', | ||
47 | item1.qszt == '0' ? 'linshi' : '', | ||
48 | ]" | ||
49 | > | ||
50 | {{ item1[item.prop] }} | ||
51 | </td> | ||
52 | </tr> | ||
53 | </table> | ||
54 | </div> | ||
55 | </div> | ||
56 | </div> | ||
57 | </template> | ||
58 | |||
59 | <script> | ||
60 | import { mapGetters } from "vuex"; | ||
61 | import { datas } from "./jsydsyqQlxx"; | ||
62 | import { getJsydsyqList } from "@/api/zhcx.js"; | ||
63 | export default { | ||
64 | name: "djxxTable", | ||
65 | props: { | ||
66 | showType: "", | ||
67 | }, | ||
68 | data() { | ||
69 | return { | ||
70 | checkList: ["临时", "现势", "历史"], | ||
71 | tableWidth: 810, | ||
72 | type: datas.columns(), | ||
73 | tableData: [], | ||
74 | showTableData: [], | ||
75 | ths: [], | ||
76 | showThs: [], | ||
77 | columns: [], | ||
78 | title: "", | ||
79 | }; | ||
80 | }, | ||
81 | computed: { | ||
82 | ...mapGetters(["djbxx"]), | ||
83 | }, | ||
84 | watch: { | ||
85 | showType: { | ||
86 | handler(newVlue) { | ||
87 | // 清空值 | ||
88 | this.tableData = []; | ||
89 | this.ths = []; | ||
90 | this.columns = this.type[newVlue].columns; | ||
91 | this.title = this.type[newVlue].title; | ||
92 | this.checkList = ["临时", "现势", "历史"]; | ||
93 | this.tableWidth = 810; | ||
94 | let detail; | ||
95 | if (newVlue === "JSYDSYQ") { | ||
96 | getJsydsyqList({ | ||
97 | bdcdyid: "2b33851f4edfd468ceef4d68c370bd41", | ||
98 | qllx: "A03", | ||
99 | qszt: ["1"] | ||
100 | }).then((res) => { | ||
101 | |||
102 | if (res.code === 200) { | ||
103 | detail = res.result; | ||
104 | } | ||
105 | }); | ||
106 | } else { | ||
107 | detail = this.djbxx.detail.qlxxs[newVlue]; | ||
108 | } | ||
109 | detail.forEach((item) => { | ||
110 | this.tableData.push(item); | ||
111 | if (item.qszt == "0") { | ||
112 | this.ths.push({ | ||
113 | type: "临时", | ||
114 | qllxmc: item.qllxmc, | ||
115 | djlxmc: item.djlxmc, | ||
116 | prop: "linshi", | ||
117 | class: "linshi", | ||
118 | }); | ||
119 | } else if (item.qszt == "1") { | ||
120 | this.ths.push({ | ||
121 | type: "现势", | ||
122 | qllxmc: item.qllxmc, | ||
123 | djlxmc: item.djlxmc, | ||
124 | prop: "xianshi", | ||
125 | class: "xianshi", | ||
126 | }); | ||
127 | } else if (item.qszt == "2") { | ||
128 | this.ths.push({ | ||
129 | type: "历史", | ||
130 | qllxmc: item.qllxmc, | ||
131 | djlxmc: item.djlxmc, | ||
132 | prop: "lishi", | ||
133 | class: "lishi", | ||
134 | }); | ||
135 | } | ||
136 | }); | ||
137 | this.showTableData = this.tableData; | ||
138 | this.showThs = this.ths; | ||
139 | let width = (this.tableData.length - 3) * 223 + this.tableWidth; | ||
140 | this.tableWidth = this.tableData.length > 3 ? width : 810; | ||
141 | }, | ||
142 | immediate: true, | ||
143 | }, | ||
144 | }, | ||
145 | methods: { | ||
146 | checkChange() { | ||
147 | var checkKey = []; | ||
148 | this.ths = []; | ||
149 | this.tableWidth = 810; | ||
150 | this.checkList.forEach((item) => { | ||
151 | if (item == "临时") { | ||
152 | checkKey.push("0"); | ||
153 | } | ||
154 | if (item == "现势") { | ||
155 | checkKey.push("1"); | ||
156 | } | ||
157 | if (item == "历史") { | ||
158 | checkKey.push("2"); | ||
159 | } | ||
160 | }); | ||
161 | this.showTableData = this.tableData.filter((item) => | ||
162 | checkKey.includes(item.qszt) | ||
163 | ); | ||
164 | this.showTableData.forEach((item) => { | ||
165 | if (item.qszt == "0") { | ||
166 | this.ths.push({ | ||
167 | type: "临时", | ||
168 | qllxmc: item.qllxmc, | ||
169 | djlxmc: item.djlxmc, | ||
170 | prop: "linshi", | ||
171 | class: "linshi", | ||
172 | }); | ||
173 | } else if (item.qszt == "1") { | ||
174 | this.ths.push({ | ||
175 | type: "现势", | ||
176 | qllxmc: item.qllxmc, | ||
177 | djlxmc: item.djlxmc, | ||
178 | prop: "xianshi", | ||
179 | class: "xianshi", | ||
180 | }); | ||
181 | } else if (item.qszt == "2") { | ||
182 | this.ths.push({ | ||
183 | type: "历史", | ||
184 | qllxmc: item.qllxmc, | ||
185 | djlxmc: item.djlxmc, | ||
186 | prop: "lishi", | ||
187 | class: "lishi", | ||
188 | }); | ||
189 | } | ||
190 | }); | ||
191 | let width = (this.showTableData.length - 3) * 223 + this.tableWidth; | ||
192 | this.tableWidth = this.showTableData.length > 3 ? width : 810; | ||
193 | }, | ||
194 | }, | ||
195 | }; | ||
196 | </script> | ||
197 | |||
198 | <style lang="scss" scoped> | ||
199 | .djxxTable { | ||
200 | width: 100%; | ||
201 | height: 100%; | ||
202 | background: #fff; | ||
203 | overflow-y: scroll; | ||
204 | color: #333; | ||
205 | |||
206 | .tableBox { | ||
207 | width: 810px; | ||
208 | margin: 0 auto; | ||
209 | display: flex; | ||
210 | flex-wrap: wrap; | ||
211 | |||
212 | .title { | ||
213 | width: 100%; | ||
214 | font-family: "Arial Negreta", "Arial Normal", "Arial", sans-serif; | ||
215 | font-weight: 700; | ||
216 | font-size: 16px; | ||
217 | text-align: center; | ||
218 | background: #e9e9e9; | ||
219 | height: 62px; | ||
220 | line-height: 62px; | ||
221 | position: relative; | ||
222 | margin: 1px 0; | ||
223 | .checkbox { | ||
224 | position: absolute; | ||
225 | right: 20px; | ||
226 | bottom: -16px; | ||
227 | height: 62px; | ||
228 | } | ||
229 | } | ||
230 | |||
231 | .xxTableBox { | ||
232 | width: 810px; | ||
233 | overflow-x: scroll; | ||
234 | } | ||
235 | |||
236 | // .xxTable > tr th:not(:first-child) { | ||
237 | // width: 223px; | ||
238 | // } | ||
239 | .xxTable > tr:first-child th { | ||
240 | width: 140px; | ||
241 | } | ||
242 | |||
243 | .xxTable { | ||
244 | border-spacing: 1px; | ||
245 | tr > th { | ||
246 | background: #464c5b; | ||
247 | color: #fff; | ||
248 | font-size: 16px; | ||
249 | } | ||
250 | th.linshi, | ||
251 | th.xianshi { | ||
252 | background: #464c5b; | ||
253 | } | ||
254 | th.lishi { | ||
255 | background: rgba(70, 76, 91, 0.8); | ||
256 | } | ||
257 | .one th { | ||
258 | height: 25px; | ||
259 | font-size: 14px; | ||
260 | } | ||
261 | |||
262 | th.linshi { | ||
263 | color: #fe9400; | ||
264 | } | ||
265 | .two th { | ||
266 | height: 45px; | ||
267 | |||
268 | p:nth-child(2) { | ||
269 | font-size: 14px; | ||
270 | } | ||
271 | } | ||
272 | .linshiIcon { | ||
273 | position: relative; | ||
274 | } | ||
275 | .linshiIcon::after { | ||
276 | content: ""; | ||
277 | display: block; | ||
278 | width: 0; | ||
279 | height: 0; | ||
280 | border-width: 0px 0px 45px 45px; | ||
281 | border-style: none solid solid; | ||
282 | border-color: transparent transparent #fe9400; | ||
283 | position: absolute; | ||
284 | top: 0px; | ||
285 | right: 3px; | ||
286 | transform: rotate(-90deg); | ||
287 | } | ||
288 | .icon { | ||
289 | position: absolute; | ||
290 | top: 8px; | ||
291 | right: 6px; | ||
292 | transform: rotate(45deg); | ||
293 | color: #fff; | ||
294 | font-size: 12px; | ||
295 | z-index: 10; | ||
296 | } | ||
297 | |||
298 | tr td { | ||
299 | text-align: center; | ||
300 | height: 40px; | ||
301 | padding: 4px; | ||
302 | font-size: 13px; | ||
303 | } | ||
304 | > tr:nth-child(odd) td { | ||
305 | background: #f2f2f2; | ||
306 | } | ||
307 | > tr:nth-child(even) td { | ||
308 | background: #f9f9f9; | ||
309 | } | ||
310 | td.linshi { | ||
311 | color: #fe9400; | ||
312 | } | ||
313 | tr > td.lishi { | ||
314 | color: #7f7f7f; | ||
315 | } | ||
316 | } | ||
317 | } | ||
318 | } | ||
319 | </style> |
-
Please register or sign in to post a comment