修改登记簿相关组件
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