c646aad6 by renchao@pashanhoo.com

Merge branch 'dev' of http://yun.pashanhoo.com:9090/bdc/bdcdj-web into dev

2 parents 095b486c 94ef8a68
...@@ -9,17 +9,14 @@ ...@@ -9,17 +9,14 @@
9 <el-form 9 <el-form
10 :model="ruleForm" 10 :model="ruleForm"
11 :rules="rules" 11 :rules="rules"
12 :class="{ readonly: editDisabled }" 12 v-Loading="loading"
13 class="loadingtext"
14 ref="ruleForm" 13 ref="ruleForm"
15 :label-position="flag ? 'top' : ''" 14 :label-position="flag ? 'top' : ''"
16 :inline="flag" 15 :inline="flag"
17 label-width="145px" 16 label-width="190px">
18 inline-message
19 :show-message="false">
20 <div class="slxx_con" v-if="isShow" :class="flag ? 'formMarginBot0' : ''"> 17 <div class="slxx_con" v-if="isShow" :class="flag ? 'formMarginBot0' : ''">
21 <div class="slxx_title title-block"> 18 <div class="slxx_title title-block">
22 补录信息 19 申请业务信息
23 <div class="triangle"></div> 20 <div class="triangle"></div>
24 </div> 21 </div>
25 <el-row :gutter="10"> 22 <el-row :gutter="10">
......
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-08-22 16:27:45
5 -->
6 <template>
7 <!-- 受理信息 -->
8 <div class="slxx">
9 <el-form
10 :model="ruleForm"
11 :rules="rules"
12 v-Loading="loading"
13 ref="ruleForm"
14 :label-position="flag ? 'top' : ''"
15 :inline="flag"
16 label-width="190px">
17 <div class="slxx_con" v-if="isShow" :class="flag ? 'formMarginBot0' : ''">
18 <div class="slxx_title title-block">
19 申请业务信息
20 <div class="triangle"></div>
21 </div>
22 <el-row :gutter="10">
23 <el-col :span="8">
24 <el-form-item label="补录编号:">
25 <el-input disabled v-model="ruleForm.repair.ywh"></el-input>
26 </el-form-item>
27 </el-col>
28 <el-col :span="8">
29 <el-form-item label="补录人员:">
30 <el-input disabled v-model="ruleForm.repair.slry"></el-input>
31 </el-form-item>
32 </el-col>
33 <el-col :span="8">
34 <el-form-item label="补录时间:">
35 <el-input disabled v-model="ruleForm.repair.slsj"></el-input>
36 </el-form-item>
37 </el-col>
38 </el-row>
39 <div class="slxx_title title-block bdcqk">
40 建设用地、宅基地使用权信息
41 <div class="count" v-if="ssqlxxshow">
42 <el-form-item
43 label="上手权利信息:"
44 prop="ssQlxx.bdcqzh"
45 :rules="rules.ssQlxxrules">
46 <select-table
47 v-model="ruleForm.ssQlxx"
48 :table-width="730"
49 :tableData="ssQlxxList"
50 :props="props"
51 @change="ssQlxxchange">
52 <el-table-column
53 prop="qllxmc"
54 width="130"
55 label="权利类型"></el-table-column>
56 <el-table-column
57 prop="bdcqzh"
58 width="160"
59 label="不动产权证书"></el-table-column>
60 <el-table-column prop="qlrmc" label="权利人"></el-table-column>
61 <el-table-column prop="mjmc" label="面积"></el-table-column>
62 <el-table-column prop="ytmc" label="用途"></el-table-column>
63 <el-table-column prop="zl" label="坐落"></el-table-column>
64 </select-table>
65 </el-form-item>
66 </div>
67 <div class="triangle"></div>
68 </div>
69 <el-row :gutter="10">
70 <el-col :span="8">
71 <el-form-item label="不动产单元号:">
72 <el-input disabled v-model="ruleForm.qlxx.bdcdyh"></el-input>
73 </el-form-item>
74 </el-col>
75 <el-col :span="8">
76 <el-form-item
77 label="业务号:"
78 prop="qlxx.ywh"
79 :rules="rules.ywhrules">
80 <el-input maxlength="20" onkeyup="this.value=this.value.replace(/[^\w_]/g,'');" v-model="ruleForm.qlxx.ywh"></el-input>
81 </el-form-item>
82 </el-col>
83 <el-col :span="8">
84 <el-form-item label="上手业务号:">
85 <el-input disabled v-model="ruleForm.qlxx.ssywh"></el-input>
86 </el-form-item>
87 </el-col>
88 </el-row>
89 <el-row :gutter="10">
90 <el-col :span="8">
91 <el-form-item label="权利类型:">
92 <el-input disabled v-model="ruleForm.qlxx.qllxmc"></el-input>
93 </el-form-item>
94 </el-col>
95 <el-col :span="8">
96 <el-form-item
97 label="登记类型:"
98 prop="qlxx.djlx"
99 :rules="rules.djlxrules">
100 <el-select v-model="ruleForm.qlxx.djlx" @change="djlxchange">
101 <el-option
102 v-for="item in djlxlist"
103 :key="item.dcode"
104 :label="item.dname"
105 :value="item.dcode">
106 </el-option>
107 </el-select>
108 </el-form-item>
109 </el-col>
110 <el-col :span="8">
111 <el-form-item label="权属状态:">
112 <el-select v-model="ruleForm.qlxx.qszt">
113 <el-option
114 v-for="item in qsztlist"
115 :key="item.dcode"
116 :label="item.dname"
117 :value="item.dcode">
118 </el-option>
119 </el-select>
120 </el-form-item>
121 </el-col>
122
123 <el-col :span="8">
124 <el-form-item label="登记原因:">
125 <el-input v-model="ruleForm.jsydsyq.djyy"></el-input>
126 </el-form-item>
127 </el-col>
128 <!-- <el-col :span="8">
129 <el-form-item label="房地坐落:">
130 <el-input v-model="ruleForm.qlxx.zl"></el-input>
131 </el-form-item>
132 </el-col> -->
133 <el-col :span="8">
134 <el-form-item label="使用权面积:">
135 <div class="flex">
136 <el-input
137 maxlength="12"
138 v-model="ruleForm.jsydsyq.syqmj"
139 oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input>
140 <el-select disabled v-model="mjdw" style="width: 68px">
141 <el-option
142 v-for="item in dictData['A7']"
143 :key="item.dcode"
144 :label="item.dname"
145 :value="item.dcode">
146 </el-option>
147 </el-select>
148 </div>
149 </el-form-item>
150 </el-col>
151 <el-col :span="8">
152 <el-form-item label="使用权起止时间:">
153 <el-input maxlength="20" v-model="ruleForm.jsydsyq.syqqzsj"></el-input>
154 </el-form-item>
155 </el-col>
156 <el-col :span="8">
157 <el-form-item label="土地使用期限:">
158 <el-input maxlength="10" v-model="ruleForm.jsydsyq.tdsyqx"></el-input>
159 </el-form-item>
160 </el-col>
161 <el-col :span="8">
162 <el-form-item label="取得价格:">
163 <div style="display: flex">
164 <el-input
165 maxlength="11"
166 v-model="ruleForm.jsydsyq.qdjg"
167 style="width: 500%"></el-input>
168 <el-select v-model="ruleForm.jsydsyq.jedw">
169 <el-option
170 v-for="item in dictData['A57']"
171 :key="item.dcode"
172 :label="item.dname"
173 :value="item.dcode">
174 </el-option>
175 </el-select>
176 </div>
177 </el-form-item>
178 </el-col>
179
180 <el-col :span="8">
181 <el-form-item
182 label="不动产权证号:"
183 prop="qlxx.bdcqzh"
184 :rules="rules.bdcqzhrules">
185 <el-input v-model="ruleForm.qlxx.bdcqzh"></el-input>
186 </el-form-item>
187 </el-col>
188 <!-- <el-col :span="8">
189 <el-form-item
190 label="区县代码:"
191 prop="qlxx.qxdm"
192 :rules="rules.qxdmrules"
193 >
194 <el-input v-model="ruleForm.qlxx.qxdm"></el-input>
195 </el-form-item>
196 </el-col> -->
197 <el-col :span="8">
198 <el-form-item
199 label="登记机构:"
200 prop="qlxx.djjg"
201 :rules="rules.djjgrules">
202 <el-input v-model="ruleForm.qlxx.djjg"></el-input>
203 </el-form-item>
204 </el-col>
205 <el-col :span="8">
206 <el-form-item
207 label="登簿人:"
208 prop="qlxx.dbr"
209 :rules="rules.dbrrules">
210 <el-input v-model="ruleForm.qlxx.dbr"></el-input>
211 </el-form-item>
212 </el-col>
213 <el-col :span="8">
214 <el-form-item
215 label="登记时间:"
216 prop="qlxx.djsj"
217 :rules="rules.djsjrules">
218 <el-date-picker
219 v-model="ruleForm.qlxx.djsj"
220 type="date"
221 class="width100"
222 placeholder="选择日期"
223 value-format="yyyy-MM-dd HH:mm:ss"
224 format="yyyy-MM-dd">
225 </el-date-picker>
226 </el-form-item>
227 </el-col>
228 </el-row>
229 <el-row>
230 <el-col :span="24">
231 <el-form-item label="附记:">
232 <el-input v-model="ruleForm.jsydsyq.fj" type="textarea" maxlength="500" show-word-limit></el-input>
233 </el-form-item>
234 </el-col>
235 </el-row>
236 <div class="slxx_title title-block">
237 土地用途
238 <div class="triangle"></div>
239 </div>
240 <tdytTable
241 :tableData="ruleForm.tdytqxList"
242 @upDateTdytxxList="upDateTdytxxList"
243 :ableOperation="ableOperation" />
244 <div class="slxx_title title-block">
245 权利人信息
246 <div class="triangle"></div>
247 </div>
248 <el-row :gutter="10">
249 <el-col :span="12">
250 <el-form-item label="共有方式:">
251 <el-radio-group
252 :disabled="!ableOperation"
253 v-model="ruleForm.qlxx.gyfs">
254 <el-radio label="0">单独所有</el-radio>
255 <el-radio label="1">共同共有</el-radio>
256 <el-radio label="2">按份所有</el-radio>
257 <el-radio label="3">其它共有</el-radio>
258 </el-radio-group>
259 </el-form-item>
260 </el-col>
261 </el-row>
262 <qlrCommonTable
263 :tableData="ruleForm.qlrData"
264 @upDateQlrxxList="upDateQlrxxList"
265 :key="key"
266 :ableOperation="ableOperation"
267 :gyfs="ruleForm.qlxx.gyfs" />
268 </div>
269 <el-row class="btn" v-if="ableOperation">
270 <el-form-item>
271 <el-button type="primary" @click="onSubmit">保存</el-button>
272 </el-form-item>
273 </el-row>
274 </el-form>
275 </div>
276 </template>
277 <script>
278 import { mapGetters } from "vuex";
279 import store from "@/store/index.js";
280 import ywmix from "@/views/ywbl/mixin/index";
281 import { init, getSsQlxx, getQlxxByQlxxBsm, save } from "@/api/djbRepair.js";
282 import qlrCommonTable from "@/views/djbworkflow/components/qlrCommonTable";
283 import tdytTable from "@/views/workflow/components/tdytTable";
284 import selectTable from "@/components/selectTable/index.vue";
285 export default {
286 mixins: [ywmix],
287 components: { qlrCommonTable, tdytTable, selectTable },
288 computed: {
289 ...mapGetters(["dictData", "flag"]),
290 // 根据流程判断表单是否为只读
291 editDisabled () {
292 if (!this.ableOperation) {
293 //只读状态
294 return true;
295 }
296 return false;
297 },
298 },
299 data () {
300 return {
301 mjdw: "1",
302 ssqlxxshow: true,
303 props: {
304 label: "bdcqzh",
305 value: "bdcdyid",
306 },
307 // 键名转换,方法默认是label和children进行树状渲染
308 normalizer (node) {
309 //方法
310 if (node.children == null || node.children == "null") {
311 delete node.children;
312 }
313 return {
314 id: node.dcode,
315 label: node.dname,
316 };
317 },
318 //表单是否可操作
319 propsParam: this.$attrs,
320 ableOperation: false,
321 key: 0,
322 ssQlxxList: [],
323 // 登记类型
324 djlxlist: [
325 {
326 dcode: "100",
327 dname: "首次登记",
328 },
329 {
330 dcode: "200",
331 dname: "转移登记",
332 },
333 {
334 dcode: "300",
335 dname: "变更登记",
336 },
337 {
338 dcode: "500",
339 dname: "更正登记",
340 },
341
342 {
343 dcode: "901",
344 dname: "补证",
345 },
346 {
347 dcode: "902",
348 dname: "换证",
349 },
350 ],
351 // 权属状态
352 qsztlist: [
353 {
354 dcode: "1",
355 dname: "现势",
356 },
357 {
358 dcode: "2",
359 dname: "历史",
360 },
361 ],
362 tdxz: null,
363 isShow: false,
364 disabled: true,
365 czrOptions: [],
366 ruleForm: {},
367 //传递参数\
368 rules: {
369 ssQlxxrules: [
370 { required: true, message: "上手权利信息", trigger: "blur" },
371 ],
372 bdcqzhrules: [
373 { required: true, message: "不动产权证号:", trigger: "blur" },
374 ],
375 // qxdmrules: [{ required: true, message: "区县代码", trigger: "blur" }],
376 djjgrules: [{ required: true, message: "登记机构", trigger: "blur" }],
377 dbrrules: [{ required: true, message: "登簿人", trigger: "blur" }],
378 djsjrules: [{ required: true, message: "登记时间", trigger: "blur" }],
379 djlxrules: [{ required: true, message: "登记类型", trigger: "blur" }],
380 ywhrules: [{ required: true, message: "业务号", trigger: "blur" }],
381 },
382 };
383 },
384 created () {
385 this.loadData();
386 },
387 mounted () {
388 this.ableOperation = this.$parent.ableOperation;
389 },
390 methods: {
391 /**
392 * @description: ssQlxxchange
393 * @param {*} val
394 * @author: renchao
395 */
396 ssQlxxchange (val) {
397 this.ruleForm.ssQlxx = val;
398 this.ruleForm.qlxx.ssywh = val.ywh;
399 this.ssQlxxchangediolog(val);
400 },
401 // 弹框事件
402 ssQlxxchangediolog (val) {
403 this.$confirm("是否将上手权利信息同步到表单", "提示", {
404 iconClass: "el-icon-question", //自定义图标样式
405 confirmButtonText: "确认", //确认按钮文字更换
406 cancelButtonText: "取消", //取消按钮文字更换
407 showClose: true, //是否显示右上角关闭按钮
408 type: "warning",
409 }).then(() => {
410 getQlxxByQlxxBsm({ qlxxBsm: val.bsmQlxx }).then((res) => {
411 if (res.code == 200) {
412 this.nowlist = res.result;
413 for (var key in this.ruleForm.jsydsyq) {
414 if (
415 this.ruleForm.jsydsyq[key] == "" ||
416 this.ruleForm.jsydsyq[key] == null
417 ) {
418 this.ruleForm.jsydsyq[key] = this.nowlist.jsydsyq[key];
419 }
420 }
421 for (var key in this.ruleForm.qlxx) {
422 if (
423 this.ruleForm.qlxx[key] == "" ||
424 this.ruleForm.qlxx[key] == null &&
425 key != "ywh" &&
426 key != "dbr" &&
427 key != "djsj" &&
428 key != "ssywh" &&
429 key != "ssywh" &&
430 key != "bdcqzh") {
431 this.ruleForm.qlxx[key] = this.nowlist.qlxx[key];
432
433 }
434 }
435 if (!this.ruleForm.tdytqxList.length) {
436 this.ruleForm.tdytqxList = this.nowlist.tdytqxList;
437 }
438 if (!this.ruleForm.qlrData.length) {
439 this.ruleForm.qlrData = this.nowlist.qlrData;
440 }
441 if (!this.ruleForm.ywrData.length) {
442 this.ruleForm.ywrData = this.nowlist.ywrData;
443 }
444 this.$message({
445 type: "success",
446 message: "同步成功!",
447 });
448 }
449 });
450 }).catch(() => {
451 this.$message({
452 type: "info",
453 message: "已取消同步",
454 });
455 });
456 },
457 /**
458 * @description: djlxchange
459 * @param {*} val
460 * @author: renchao
461 */
462 djlxchange (val) {
463 if (val == null || val == 100) {
464 this.ssqlxxshow = false;
465 } else {
466 this.ssqlxxshow = true;
467 }
468 },
469 // 字典
470 /**
471 * @description: 字典
472 * @param {*} val
473 * @author: renchao
474 */
475 getDictData (val) {
476 return store.getters.dictData[val];
477 },
478 /**
479 * @description: loadData
480 * @author: renchao
481 */
482 loadData () {
483 this.$startLoading();
484 this.propsParam.isEdit = this.$parent.isEdit;
485 init(this.propsParam).then((res) => {
486 if (res.code == 200) {
487 this.ruleForm = res.result;
488 let djlx = this.ruleForm.qlxx.djlx;
489 if (djlx == null || djlx == 100) {
490 this.ssqlxxshow = false;
491 }
492 this.$endLoading();
493 if (this.ruleForm.tdytqxList.length > 0) {
494 this.tdxz = this.ruleForm.tdytqxList[0].qlxzbm;
495 } else {
496 this.tdxz = null;
497 }
498 this.isShow = true;
499 //获取主体信息
500 getSsQlxx({
501 bdcdyid: this.propsParam.bdcdyid,
502 qllx: this.propsParam.qllx,
503 bsmQlxx: this.ruleForm.qlxx.bsmQlxx,
504 }).then((res) => {
505 if (res.code == 200) {
506 this.ssQlxxList = res.result;
507 }
508 });
509 }
510 });
511 },
512 /**
513 * @description: 更新土地用途信息
514 * @param {*} val
515 * @author: renchao
516 */
517 upDateTdytxxList (val) {
518 this.ruleForm.tdytqxList && (this.ruleForm.tdytqxList = _.cloneDeep(val));
519 this.key++;
520 },
521 // 更新权利人信息
522 /**
523 * @description: 更新权利人信息
524 * @param {*} val
525 * @author: renchao
526 */
527 upDateQlrxxList (val) {
528 this.ruleForm.qlrData && (this.ruleForm.qlrData = _.cloneDeep(val));
529 this.czrOptions = this.ruleForm.qlrData;
530 this.key++;
531 },
532 // 保存
533 /**
534 * @description: onSubmit
535 * @author: renchao
536 */
537 onSubmit () {
538 this.$refs.ruleForm.validate((valid) => {
539 if (valid) {
540 let arr = this.ruleForm.tdytqxList.filter(item => !item.yt)
541 if (arr.length > 0) {
542 this.$message({
543 showClose: true,
544 message: "土地用途不能为空",
545 type: "error",
546 });
547 return false;
548 }
549 if (this.ruleForm.qlrData.length == 0) {
550 this.$message({
551 showClose: true,
552 message: "请确认权利人信息",
553 type: "error",
554 });
555 return false;
556 }
557 if (this.ruleForm.qlxx.gyfs == "0") {
558 if (this.ruleForm.qlrData.length > 1) {
559 this.$message({
560 showClose: true,
561 message: "共有方式:单独所有,权利人只能是一个人",
562 type: "error",
563 });
564 return false;
565 }
566 } else {
567 if (this.ruleForm.qlrData.length <= 1) {
568 this.$message({
569 showClose: true,
570 message: "共有方式:共同所有,按份所有,其他所有,权利人必须是两个以上",
571 type: "error",
572 });
573 return false;
574 }
575 }
576 save(this.ruleForm).then((res) => {
577 if (res.code === 200) {
578 this.$message({
579 showClose: true,
580 message: "保存成功!",
581 type: "success",
582 });
583 this.$parent.changeywh();
584 this.$store.dispatch("user/refreshPage", true);
585 } else {
586 this.$message({
587 showClose: true,
588 message: res.message,
589 type: "error",
590 });
591 }
592 });
593 } else {
594 return false;
595 }
596 });
597 }
598 }
599 }
600 </script>
601 <style scoped lang="scss">
602 @import "~@/styles/public.scss";
603 @import "~@/styles/slxx/slxx.scss";
604 </style>
...@@ -46,6 +46,14 @@ export function getForm(tabName) { ...@@ -46,6 +46,14 @@ export function getForm(tabName) {
46 case "yydj": 46 case "yydj":
47 form = require("@/views/registerBook/yydj.vue"); 47 form = require("@/views/registerBook/yydj.vue");
48 break; 48 break;
49 //林地使用权
50 case "slxxlq":
51 form = require("@/views/djbworkflow/djbBook/components/blxxtabs/lq.vue");
52 break;
53 //森林林木使用权
54 case "sllmslxx":
55 form = require("@/views/ywbl/slsqxx/sllmslxx");
56 break;
49 case "slxxjsydsyq": 57 case "slxxjsydsyq":
50 form = require("@/views/djbworkflow/djbBook/components/blxxtabs/jsydsyq.vue"); 58 form = require("@/views/djbworkflow/djbBook/components/blxxtabs/jsydsyq.vue");
51 break; 59 break;
......