6f80a4bd by renchao@pashanhoo.com

1

1 parent e19b50fe
1 <!--
2 * @Description: 受理信息
3 * @Autor: renchao
4 * @LastEditTime: 2024-01-30 16:07:53
5 -->
6 <template>
7 <div class="slxx">
8 <el-form
9 :model="ruleForm"
10 :rules="rules"
11 v-Loading="loading"
12 ref="ruleForm"
13 :label-position="flag ? 'top' : ''"
14 :inline="flag"
15 label-width="120px">
16 <div class="slxx_con" :class="flag ? 'formMarginBot0' : ''">
17 <div class="slxx_title title-block">
18 申请业务信息
19 <div class="triangle"></div>
20 </div>
21 <el-row :gutter="10" v-if="ruleForm.slsq">
22 <el-col :span="8">
23 <el-form-item label="业务号:">
24 <el-input disabled v-model="ruleForm.flow.ywh"></el-input>
25 </el-form-item>
26 </el-col>
27 <el-col :span="8">
28 <el-form-item label="受理人员:">
29 <el-input disabled v-model="ruleForm.slsq.slry"></el-input>
30 </el-form-item>
31 </el-col>
32 <el-col :span="8">
33 <el-form-item label="受理时间:">
34 <el-input disabled v-model="ruleForm.slsq.slsj"></el-input>
35 </el-form-item>
36 </el-col>
37 </el-row>
38 <el-row :gutter="10" v-if="ruleForm.slsq">
39 <el-col :span="8">
40 <el-form-item label="权利类型:">
41 <el-input disabled v-model="ruleForm.sldy.qllxmc"></el-input>
42 </el-form-item>
43 </el-col>
44 <el-col :span="8">
45 <el-form-item label="登记类型:">
46 <el-input disabled v-model="ruleForm.sldy.djlxmc"></el-input>
47 </el-form-item>
48 </el-col>
49 <el-col :span="8">
50 <el-form-item label="登记情形:">
51 <el-input disabled v-model="ruleForm.slsq.djqxmc"></el-input>
52 </el-form-item>
53 </el-col>
54 </el-row>
55 <div class="slxx_title title-block">
56 <el-row>
57 <el-col :span="16">
58 不动产单元情况
59 </el-col>
60 <el-col :span="4" v-show="ruleForm.sldy.djlx=='500'">
61 <el-form-item label="是否创建证书:" style="height:24px">
62 <el-radio-group v-model="ruleForm.sldy.sfxysczs">
63 <el-radio label="1">是</el-radio>
64 <el-radio label="0">否</el-radio>
65 </el-radio-group>
66 </el-form-item>
67 </el-col>
68 <el-col :span="4" v-show="ruleForm.sldy.djlx=='300'||ruleForm.sldy.djlx=='500'">
69 <el-button @click="compare">变化情况对比+</el-button>
70 </el-col>
71 </el-row>
72 <div class="triangle"></div>
73 </div>
74 <el-row :gutter="10" v-if="ruleForm.qlxx">
75 <el-col :span="8">
76 <el-form-item label="不动产单元号:">
77 <el-input disabled v-model="ruleForm.qlxx.bdcdyh"></el-input>
78 </el-form-item>
79 </el-col>
80 <el-col :span="16">
81 <el-form-item label="坐落:">
82 <el-input disabled v-model="ruleForm.sldy.zl"></el-input>
83 </el-form-item>
84 </el-col>
85 </el-row>
86 <el-row :gutter="10" v-if="ruleForm.fdcq2">
87 <el-col :span="8">
88 <el-form-item label="土地用途:">
89 <el-input disabled v-model="ruleForm.fdcq2.yt"></el-input>
90 </el-form-item>
91 </el-col>
92 <el-col :span="8">
93 <el-form-item label="土地使用起止时间:">
94 <el-input disabled v-model="ruleForm.fdcq2.tdsyqzsj"></el-input>
95 </el-form-item>
96 </el-col>
97 <el-col :span="8">
98 <el-form-item label="土地使用期限:">
99 <el-input disabled v-model="ruleForm.fdcq2.tdsyqx"></el-input>
100 </el-form-item>
101 </el-col>
102 </el-row>
103 <el-row :gutter="10" v-if="ruleForm.qlxx">
104 <el-col :span="8">
105 <el-form-item label="规划用途名称:">
106 <el-input disabled v-model="ruleForm.zdjbxx.ghytmc"></el-input>
107 </el-form-item>
108 </el-col>
109 <el-col :span="8">
110 <el-form-item label="房屋性质:">
111 <el-input disabled v-model="ruleForm.fdcq2.fwxzmc"></el-input>
112 </el-form-item>
113 </el-col>
114 <el-col :span="8">
115 <el-form-item label="房屋结构:">
116 <el-input disabled v-model="ruleForm.fdcq2.fwjgmc"></el-input>
117 </el-form-item>
118 </el-col>
119 </el-row>
120 <el-row :gutter="10" v-if="ruleForm.fdcq2">
121 <el-col :span="8">
122 <el-form-item label="所在层:">
123 <el-input disabled v-model="ruleForm.fdcq2.szc"></el-input>
124 </el-form-item>
125 </el-col>
126 <el-col :span="8">
127 <el-form-item label="总层数:">
128 <el-input
129 disabled
130 v-model.number="ruleForm.fdcq2.zcs"
131 oninput="value=value.replace(/[^0-9]/g,'')"></el-input>
132 </el-form-item>
133 </el-col>
134 <el-col :span="8">
135 <el-form-item label="竣工时间:">
136 <el-input disabled v-model="ruleForm.fdcq2.jgsj"></el-input>
137 </el-form-item>
138 </el-col>
139 </el-row>
140 <el-row :gutter="10" v-if="ruleForm.qlxx">
141 <el-col :span="8">
142 <el-form-item label="建筑面积:">
143 <div class="flex">
144 <el-input
145 disabled
146 v-model="ruleForm.qlxx.mj"
147 oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input>
148 <el-select disabled v-model="mjdw" style="width: 68px">
149 <el-option
150 v-for="item in dictData['A7']"
151 :key="item.dcode"
152 :label="item.dname"
153 :value="item.dcode">
154 </el-option>
155 </el-select>
156 </div>
157 </el-form-item>
158 </el-col>
159 <el-col :span="8">
160 <el-form-item label="专有建筑面积:">
161 <div class="flex">
162 <el-input
163 disabled
164 v-model="ruleForm.fdcq2.zyjzmj"
165 oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input>
166 <el-select disabled v-model="mjdw" style="width: 68px">
167 <el-option
168 v-for="item in dictData['A7']"
169 :key="item.dcode"
170 :label="item.dname"
171 :value="item.dcode">
172 </el-option>
173 </el-select>
174 </div>
175 </el-form-item>
176 </el-col>
177 <el-col :span="8">
178 <el-form-item label="分摊建筑面积:">
179 <div class="flex">
180 <el-input
181 disabled
182 v-model="ruleForm.fdcq2.ftjzmj"
183 oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input>
184 <el-select disabled v-model="mjdw" style="width: 68px">
185 <el-option
186 v-for="item in dictData['A7']"
187 :key="item.dcode"
188 :label="item.dname"
189 :value="item.dcode">
190 </el-option>
191 </el-select>
192 </div>
193 </el-form-item>
194 </el-col>
195 </el-row>
196 <div class="slxx_title title-block">
197 土地用途
198 <div class="triangle"></div>
199 </div>
200 <tdytTable
201 :ableOperation="viewEdit"
202 :tableData="ruleForm.tdytqxList"
203 @upDateTdytxxList="upDateTdytxxList" />
204 <div class="slxx_title title-block">
205 权利人信息
206 <div class="triangle"></div>
207 </div>
208 <el-row :gutter="10">
209 <el-col :span="12">
210 <el-form-item label="共有方式:">
211 <el-radio-group
212 :disabled="!viewEdit"
213 v-model="ruleForm.sldy.gyfs">
214 <el-radio label="0">单独所有</el-radio>
215 <el-radio label="1">共同共有</el-radio>
216 <el-radio label="2">按份所有</el-radio>
217 <el-radio label="3">其它共有</el-radio>
218 </el-radio-group>
219 </el-form-item>
220 </el-col>
221 <el-col :span="6" v-show="ruleForm.sldy.gyfs != '0'">
222 <el-form-item label="是否分别持证:">
223 <el-radio-group
224 v-model="ruleForm.sldy.sqfbcz"
225 :disabled="!viewEdit"
226 @input="updaterow()">
227 <el-radio :label="1">是</el-radio>
228 <el-radio :label="0">否</el-radio>
229 </el-radio-group>
230 </el-form-item>
231 </el-col>
232 <el-col
233 :span="6"
234 v-show="ruleForm.sldy.sqfbcz == '0' && ruleForm.sldy.gyfs != '0'">
235 <el-form-item label="持证人:">
236 <el-select
237 v-model="czr"
238 placeholder="持证人"
239 :disabled="!viewEdit">
240 <el-option
241 v-for="(item,index) in czrOptions"
242 :key="index"
243 :label="item.sqrmc"
244 :value="item.id">
245 </el-option>
246 </el-select>
247 </el-form-item>
248 </el-col>
249 </el-row>
250 <qlrCommonTable
251 @upDateQlrxxList="upDateQlrxxList"
252 :disabled="!viewEdit"
253 :tableData="ruleForm.qlrList"
254 :gyfs="ruleForm.sldy.gyfs" />
255 <div class="slxx_title title-block">
256 登记原因
257 <div class="triangle"></div>
258 </div>
259 <el-row :gutter="10">
260 <el-col>
261 <el-form-item v-if="ruleForm.fdcq2" label="登记原因:" prop="fdcq2.djyy">
262 <el-input
263 class="textArea"
264 type="textarea"
265 maxlength="500"
266 show-word-limit
267 :disabled="!viewEdit"
268 v-model="ruleForm.fdcq2.djyy">
269 </el-input>
270 </el-form-item>
271 </el-col>
272 </el-row>
273 </div>
274 <el-row class="btn" v-if="isSave">
275 <el-form-item>
276 <el-button type="primary" @click="onSubmit">保存</el-button>
277 </el-form-item>
278 </el-row>
279 </el-form>
280 </div>
281 </template>
282 <script>
283 import ywmix from "@/views/ywbl/mixin/index";
284 import qlrCommonTable from "@/views/workflow/components/qlrCommonTable";
285 import tdytTable from "@/views/workflow/components/tdytTable";
286 import { Init, saveData } from "@/api/workflow/fwsyqFlow.js";
287 import { mapGetters } from "vuex";
288 export default {
289 mixins: [ywmix],
290 mounted () {
291 let that = this
292 this.loading = true
293 this.viewEdit = this.$parent.currentSelectTab.ableOperation;
294 this.propsParam = this.$attrs;
295 var formdata = new FormData();
296 formdata.append("bsmSldy", this.propsParam.bsmSldy);
297 formdata.append("djlx", this.propsParam.djlx);
298 formdata.append("isEdit", this.viewEdit);
299 Init(formdata).then((res) => {
300 setTimeout(() => {
301 this.loading = false
302 }, 200)
303 if (res.code === 200 && res.result) {
304 that.ruleForm = {
305 ...res.result,
306 ...res.result.zdjbxxdatas,
307 ...res.result.qlxxdatas,
308 ...res.result.jsydsyqdatas,
309 };
310 that.ruleForm.qlrList.forEach((item) => {
311 item.id = item.bsmSqr
312 if (item.sfczr == '1') {
313 that.czr = item.bsmSqr
314 }
315 })
316 that.czrOptions = that.ruleForm.qlrList;
317 that.isSave = that.viewEdit
318 } else {
319 that.isSave = false
320 that.$confirm(res.message, '提示', {
321 cancelButtonText: '取消',
322 showConfirmButton: false,
323 type: 'warning'
324 })
325 }
326 }).catch(() => {
327 this.loading = false
328 this.isSave = false
329 })
330 },
331 components: { qlrCommonTable, tdytTable },
332 computed: {
333 ...mapGetters(["dictData", "flag"]),
334 },
335 data () {
336 return {
337 isSave: true,
338 loading: false,
339 mjdw: "1",
340 //表单是否可操作
341 viewEdit: false,
342 disabled: true,
343 tdytOption: [],
344 czrOptions: [],
345 czr: "",
346 ruleForm: {
347 flow: {
348 ywh: "",
349 },
350 slry: "",
351 slsj: "",
352 qllx: "",
353 djlx: "",
354 djqx: "",
355 sldy: {
356 gyfs: "",
357 },
358 // 宗地代码
359 zddm: "",
360 bdcdyh: "",
361 qlxzmc: "",
362 qlrxx: [],
363 // 自然幢号
364 zrzh: "",
365 // 户不动产单元号
366 hbdcdyh: "",
367 djzt: "",
368 // 图幅丘幢号
369 tfqzh: "",
370 zl: "",
371 // 房屋用途
372 fwyt: "",
373 fwxz: "",
374 fwjg: "",
375 // 权利人信息
376 // 是否分别持证
377 sffbcz: "",
378 // 持证人
379 czr: "",
380 djyy: "",
381 // 规划用途名称
382 zdjbxx: {
383 ghytmc: "",
384 },
385 fdcq2: {
386 fwxzmc: "",
387 },
388 slsq: {
389 gyfs: "",
390 },
391 },
392 //传递参数
393 propsParam: {},
394 rules: {
395 'fdcq2.djyy': [
396 { required: true, message: '请输入登记原因', trigger: 'blur' }
397 ]
398 }
399 }
400 },
401 methods: {
402 /**
403 * @description: dataSelectClick
404 * @author: renchao
405 */
406 dataSelectClick () {
407 this.$popup(
408 "房屋所有权",
409 this.BASE_API.SERVERAPI + "/rest/workflow/main/dataCompare/slxxCompareDetai",
410 {
411 formData: {
412 bsmSldy: this.propsParam.bsmSldy,
413 qllx: this.propsParam.qllx,
414 },
415 }
416 );
417 },
418 /**
419 * @description: 更新土地用途信息
420 * @param {*} val
421 * @author: renchao
422 */
423 upDateTdytxxList (val) {
424 this.ruleForm.tdytqxList && (this.ruleForm.tdytqxList = _.cloneDeep(val));
425 this.key++;
426 },
427 /**
428 * @description: 是否持证人变化
429 * @param {*} val
430 * @author: renchao
431 */
432 updaterow () {
433 this.czr = "";
434 },
435 /**
436 * @description: 更新权利人信息
437 * @param {*} val
438 * @author: renchao
439 */
440 upDateQlrxxList (val) {
441 if (!_.isEqual(val, this.ruleForm.qlrList)) {
442 this.ruleForm.qlrList = _.cloneDeep(val);
443 this.czrOptions = this.ruleForm.qlrList;
444 }
445 this.num = 0
446 this.ruleForm.qlrList.forEach(item => {
447 if (item.id == this.czr) {
448 this.num++
449 }
450 })
451 if (this.num == 0) {
452 this.czr = ''
453 }
454 },
455 /**
456 * @description: 更新权利人信息
457 * @param {*} val
458 * @author: renchao
459 */
460 upDateYwrxxList (val) {
461 this.ruleForm.ywrList = _.cloneDeep(val);
462 },
463 /**
464 * @description: onSubmit
465 * @author: renchao
466 */
467 onSubmit () {
468 let that = this;
469 let arr = this.ruleForm.tdytqxList.filter((item) => !item.yt);
470 if (arr.length > 0) {
471 this.$message({
472 showClose: true,
473 message: "土地用途不能为空",
474 type: "error",
475 });
476 return false;
477 }
478 if (this.ruleForm.qlrList.length == 0) {
479 this.$message({
480 showClose: true,
481 message: "请确认权利人信息",
482 type: "error",
483 });
484 return false;
485 }
486
487 if (this.ruleForm.sldy.gyfs == "0") {
488 if (this.ruleForm.qlrList.length > 1) {
489 this.$message({
490 showClose: true,
491 message: "共有方式:单独所有,权利人只能是一个人",
492 type: "error",
493 });
494 return false;
495 }
496 this.ruleForm.qlrList[0].sfczr = "1";
497 } else {
498 if (this.ruleForm.qlrList.length <= 1) {
499 this.$message({
500 showClose: true,
501 message:
502 "共有方式:共同所有,按份所有,其他所有,权利人必须是两个以上",
503 type: "error",
504 });
505 return false;
506 }
507 //是否分别持证
508 if (this.ruleForm.sldy.sqfbcz == "1") {
509 //是
510 this.ruleForm.qlrList.forEach((item, index) => {
511 item.sfczr = "1";
512 });
513 } else {
514 if (that.czr === '') {
515 that.$message({
516 showClose: true,
517 message: "请选择持证人",
518 type: "error"
519 });
520 return false;
521 }
522 this.ruleForm.qlrList.forEach(item => {
523 if (item.id == that.czr) {
524 item.sfczr = "1"
525 } else {
526 item.sfczr = "0"
527 }
528 })
529 }
530 }
531 this.$refs['ruleForm'].validate((valid) => {
532 if (valid) {
533 that.$store.dispatch("user/refreshPage", false);
534 saveData(that.ruleForm).then((res) => {
535 if (res.code === 200) {
536 that.$message({
537 showClose: true,
538 message: "保存成功!",
539 type: "success",
540 });
541 that.$store.dispatch("user/refreshPage", true);
542 } else {
543 that.$message({
544 showClose: true,
545 message: res.message,
546 type: "error",
547 });
548 }
549 })
550
551 } else {
552 that.$message({
553 showClose: true,
554 message: "请输入登记原因",
555 type: "error"
556 })
557 return false
558 }
559 })
560 },
561 /**
562 * @description: compare
563 * @author: renchao
564 */
565 compare () {
566 this.$popupDialog(
567 this.ruleForm.qlxx.qllxmc,
568 "registerBook/comparison",
569 {
570 bsmQlxx: this.ruleForm.qlxx.bsmQlxx,
571 dqqllx: "FDCQ2",
572 },
573 "80%",
574 true
575 );
576 },
577 },
578 };
579 </script>
580 <style scoped lang="scss">
581 @import "~@/styles/public.scss";
582 @import "~@/styles/slxx/slxx.scss";
583 /deep/.el-form {
584 display: flex;
585 flex-direction: column;
586 height: calc(100vh - 130px);
587 }
588
589 /deep/.el-form-item__label {
590 padding: 0;
591 }
592
593 /deep/.el-radio {
594 margin-right: 10px;
595 }
596
597 /deep/.el-select {
598 width: 100%;
599 }
600
601 /deep/.el-form-item {
602 margin-bottom: 3px;
603 }
604
605 .marginBot0 {
606 margin-bottom: 0 !important;
607 }
608
609 .slxx {
610 box-sizing: border-box;
611 }
612
613 .slxx_con {
614 flex: 1;
615 height: 100%;
616 background-color: #ffffff;
617 overflow-y: auto;
618 padding-right: 3px;
619 overflow-x: hidden;
620 }
621
622 .submit_btn {
623 height: 50px;
624 }
625
626 .btn {
627 text-align: center;
628 padding-top: 10px;
629 height: 36px;
630 background-color: #ffffff;
631 padding: 5px 0;
632 }
633
634 .textArea {
635 /deep/.el-textarea__inner {
636 min-height: 90px !important;
637 }
638 }
639
640 /deep/.el-form-item__label {
641 padding-bottom: 0px;
642 }
643 </style>
1 <!--
2 * @Description: 受理信息
3 * @Autor: renchao
4 * @LastEditTime: 2024-01-30 16:07:53
5 -->
6 <template>
7 <div class="slxx">
8 <el-form
9 :model="ruleForm"
10 :rules="rules"
11 v-Loading="loading"
12 ref="ruleForm"
13 :label-position="flag ? 'top' : ''"
14 :inline="flag"
15 label-width="120px">
16 <div class="slxx_con" :class="flag ? 'formMarginBot0' : ''">
17 <div class="slxx_title title-block">
18 申请业务信息
19 <div class="triangle"></div>
20 </div>
21 <el-row :gutter="10" v-if="ruleForm.slsq">
22 <el-col :span="8">
23 <el-form-item label="业务号:">
24 <el-input disabled v-model="ruleForm.flow.ywh"></el-input>
25 </el-form-item>
26 </el-col>
27 <el-col :span="8">
28 <el-form-item label="受理人员:">
29 <el-input disabled v-model="ruleForm.slsq.slry"></el-input>
30 </el-form-item>
31 </el-col>
32 <el-col :span="8">
33 <el-form-item label="受理时间:">
34 <el-input disabled v-model="ruleForm.slsq.slsj"></el-input>
35 </el-form-item>
36 </el-col>
37 </el-row>
38 <el-row :gutter="10" v-if="ruleForm.slsq">
39 <el-col :span="8">
40 <el-form-item label="权利类型:">
41 <el-input disabled v-model="ruleForm.sldy.qllxmc"></el-input>
42 </el-form-item>
43 </el-col>
44 <el-col :span="8">
45 <el-form-item label="登记类型:">
46 <el-input disabled v-model="ruleForm.sldy.djlxmc"></el-input>
47 </el-form-item>
48 </el-col>
49 <el-col :span="8">
50 <el-form-item label="登记情形:">
51 <el-input disabled v-model="ruleForm.slsq.djqxmc"></el-input>
52 </el-form-item>
53 </el-col>
54 </el-row>
55 <div class="slxx_title title-block">
56 <el-row>
57 <el-col :span="16">
58 不动产单元情况
59 </el-col>
60 <el-col :span="4" v-show="ruleForm.sldy.djlx=='500'">
61 <el-form-item label="是否创建证书:" style="height:24px">
62 <el-radio-group v-model="ruleForm.sldy.sfxysczs">
63 <el-radio label="1">是</el-radio>
64 <el-radio label="0">否</el-radio>
65 </el-radio-group>
66 </el-form-item>
67 </el-col>
68 <el-col :span="4" v-show="ruleForm.sldy.djlx=='300'||ruleForm.sldy.djlx=='500'">
69 <el-button @click="compare">变化情况对比+</el-button>
70 </el-col>
71 </el-row>
72 <div class="triangle"></div>
73 </div>
74 <el-row :gutter="10" v-if="ruleForm.qlxx">
75 <el-col :span="8">
76 <el-form-item label="原不动产权证号:">
77 <el-input disabled v-model="ruleForm.sldy.ybdcqzsh"></el-input>
78 </el-form-item>
79 </el-col>
80 <el-col :span="8">
81 <el-form-item label="不动产单元号:">
82 <el-input disabled v-model="ruleForm.sldy.bdcdyh"></el-input>
83 </el-form-item>
84 </el-col>
85 <el-col :span="8">
86 <el-form-item label="坐落:">
87 <el-input maxlength="100" :disabled="!viewEdit" v-model="ruleForm.sldy.zl"></el-input>
88 </el-form-item>
89 </el-col>
90 </el-row>
91 <el-row :gutter="10" v-if="ruleForm.fdcq2">
92 <el-col :span="8">
93 <el-form-item label="宗地面积:">
94 <div class="flex">
95 <el-input :disabled="!viewEdit" v-model="ruleForm.zdjbxx.zdmj"></el-input>
96 <el-select
97 disabled
98 v-model="ruleForm.zdjbxx.mjdw"
99 style="width: 68px">
100 <el-option
101 v-for="item in dictData['A7']"
102 :key="item.dcode"
103 :label="item.dname"
104 :value="item.dcode">
105 </el-option>
106 </el-select>
107 </div>
108 </el-form-item>
109 </el-col>
110 <el-col :span="8">
111 <el-form-item label="土地使用权人:">
112 <el-input :disabled="!viewEdit" v-model="ruleForm.fdcq2.tdsyqr"></el-input>
113 </el-form-item>
114 </el-col>
115 <el-col :span="8">
116 <el-form-item label="土地性质:">
117 <treeselect
118 :disabled="!viewEdit"
119 v-model="ruleForm.fdcq2.tdxz"
120 noOptionsText="暂无数据"
121 placeholder=""
122 :normalizer="normalizer"
123 :default-expand-level="1"
124 :show-count="true"
125 :options="dictData['A9']" />
126 </el-form-item>
127 </el-col>
128 </el-row>
129 <el-row :gutter="10" v-if="ruleForm.qlxx">
130 <el-col :span="8">
131 <el-form-item label="独用土地面积:">
132 <div class="flex">
133 <el-input
134 maxlength="12"
135 v-model="ruleForm.fdcq2.dytdmj"
136 :disabled="!viewEdit"
137 oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input>
138 <el-select disabled v-model="mjdw" style="width: 68px">
139 <el-option
140 v-for="item in dictData['A7']"
141 :key="item.dcode"
142 :label="item.dname"
143 :value="item.dcode">
144 </el-option>
145 </el-select>
146 </div>
147 </el-form-item>
148 </el-col>
149 <el-col :span="8">
150 <el-form-item label="分摊土地面积:">
151 <div class="flex">
152 <el-input
153 maxlength="12"
154 v-model="ruleForm.fdcq2.fttdmj"
155 :disabled="!viewEdit"
156 oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input>
157 <el-select disabled v-model="mjdw" style="width: 68px">
158 <el-option
159 v-for="item in dictData['A7']"
160 :key="item.dcode"
161 :label="item.dname"
162 :value="item.dcode">
163 </el-option>
164 </el-select>
165 </div>
166 </el-form-item>
167 </el-col>
168 <el-col :span="8">
169 <el-form-item label="房屋性质:">
170 <el-select v-model="ruleForm.fdcq2.fwxz" :disabled="!viewEdit">
171 <el-option
172 v-for="item in dictData['A19']"
173 :key="item.dcode"
174 :label="item.dname"
175 :value="item.dcode">
176 </el-option>
177 </el-select>
178 </el-form-item>
179 </el-col>
180 </el-row>
181 <el-row :gutter="10" v-if="ruleForm.qlxx">
182 <el-col :span="8">
183 <el-form-item label="房屋用途:">
184 <treeselect
185 v-model="ruleForm.fdcq2.ghyt"
186 :disabled="!viewEdit"
187 noOptionsText=""
188 placeholder=""
189 :normalizer="normalizer"
190 :show-count="true"
191 :options="dictData['A17']" />
192 </el-form-item>
193 </el-col>
194 <el-col :span="8">
195 <el-form-item label="房屋结构:">
196 <el-select v-model="ruleForm.fdcq2.fwjg" :disabled="!viewEdit">
197 <el-option
198 v-for="item in dictData['A46']"
199 :key="item.dcode"
200 :label="item.dname"
201 :value="item.dcode">
202 </el-option>
203 </el-select>
204 </el-form-item>
205 </el-col>
206 <el-col :span="8">
207 <el-form-item label="竣工时间:">
208 <el-date-picker
209 v-model="ruleForm.fdcq2.jgsj"
210 class="width100"
211 type="date"
212 placeholder="选择日期"
213 value-format="yyyy-MM-dd"
214 :disabled="!viewEdit"></el-date-picker>
215 </el-form-item>
216 </el-col>
217 </el-row>
218 <el-row :gutter="10" v-if="ruleForm.qlxx">
219 <el-col :span="8">
220 <el-form-item label="所在层:">
221 <el-input
222 maxlength="20"
223 v-model="ruleForm.fdcq2.szc"
224 :disabled="!viewEdit"></el-input>
225 </el-form-item>
226 </el-col>
227 <el-col :span="8">
228 <el-form-item label="总层数:">
229 <el-input
230 maxlength="4"
231 :disabled="!viewEdit"
232 v-model.number="ruleForm.fdcq2.zcs"
233 oninput="value=value.replace(/[^0-9]/g,'')"></el-input>
234 </el-form-item>
235 </el-col>
236 <el-col :span="8">
237 <el-form-item label="房地产交易价格:">
238 <div class="flex">
239 <el-input
240 maxlength="11"
241 v-model="ruleForm.fdcq2.fdcjyjg"
242 style="width: 500%"
243 :disabled="!viewEdit"
244 oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input>
245 <el-select v-model="ruleForm.fdcq2.jedw" :disabled="!viewEdit">
246 <el-option
247 v-for="item in dictData['A57']"
248 :key="item.dcode"
249 :label="item.dname"
250 :value="item.dcode">
251 </el-option>
252 </el-select>
253 </div>
254 </el-form-item>
255 </el-col>
256 </el-row>
257 <el-row :gutter="10" v-if="ruleForm.fdcq2">
258 <el-col :span="8">
259 <el-form-item label="建筑面积:">
260 <div class="flex">
261 <el-input
262 maxlength="12"
263 v-model="ruleForm.fdcq2.jzmj"
264 :disabled="!viewEdit"
265 oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input>
266 <el-select disabled v-model="mjdw" style="width: 68px">
267 <el-option
268 v-for="item in dictData['A7']"
269 :key="item.dcode"
270 :label="item.dname"
271 :value="item.dcode">
272 </el-option>
273 </el-select>
274 </div>
275 </el-form-item>
276 </el-col>
277 <el-col :span="8">
278 <el-form-item label="专有建筑面积:">
279 <div class="flex">
280 <el-input
281 maxlength="12"
282 v-model="ruleForm.fdcq2.zyjzmj"
283 :disabled="!viewEdit"
284 oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input>
285 <el-select disabled v-model="mjdw" style="width: 68px">
286 <el-option
287 v-for="item in dictData['A7']"
288 :key="item.dcode"
289 :label="item.dname"
290 :value="item.dcode">
291 </el-option>
292 </el-select>
293 </div>
294 </el-form-item>
295 </el-col>
296 <el-col :span="8">
297 <el-form-item label="分摊建筑面积:">
298 <div class="flex">
299 <el-input
300 maxlength="12"
301 v-model="ruleForm.fdcq2.ftjzmj"
302 :disabled="!viewEdit"
303 oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input>
304 <el-select disabled v-model="mjdw" style="width: 68px">
305 <el-option
306 v-for="item in dictData['A7']"
307 :key="item.dcode"
308 :label="item.dname"
309 :value="item.dcode">
310 </el-option>
311 </el-select>
312 </div>
313 </el-form-item>
314 </el-col>
315 </el-row>
316 <el-row :gutter="10">
317 <el-col :span="24">
318 <el-form-item label="附记:">
319 <el-input
320 v-model="ruleForm.fdcq2.fj"
321 type="textarea"
322 maxlength="500"
323 show-word-limit
324 :disabled="!viewEdit"></el-input>
325 </el-form-item>
326 </el-col>
327 </el-row>
328 <div class="slxx_title title-block">
329 土地用途
330 <div class="triangle"></div>
331 </div>
332 <tdytTable
333 :ableOperation="viewEdit"
334 :tableData="ruleForm.tdytqxList"
335 @upDateTdytxxList="upDateTdytxxList" />
336 <div class="slxx_title title-block">
337 权利人信息
338 <div class="triangle"></div>
339 </div>
340 <el-row :gutter="10">
341 <el-col :span="12">
342 <el-form-item label="共有方式:">
343 <el-radio-group
344 :disabled="!viewEdit"
345 v-model="ruleForm.sldy.gyfs">
346 <el-radio label="0">单独所有</el-radio>
347 <el-radio label="1">共同共有</el-radio>
348 <el-radio label="2">按份所有</el-radio>
349 <el-radio label="3">其它共有</el-radio>
350 </el-radio-group>
351 </el-form-item>
352 </el-col>
353 <el-col :span="6" v-show="ruleForm.sldy.gyfs != '0'">
354 <el-form-item label="是否分别持证:">
355 <el-radio-group
356 v-model="ruleForm.sldy.sqfbcz"
357 :disabled="!viewEdit"
358 @input="updaterow()">
359 <el-radio :label="1">是</el-radio>
360 <el-radio :label="0">否</el-radio>
361 </el-radio-group>
362 </el-form-item>
363 </el-col>
364 <el-col
365 :span="6"
366 v-show="ruleForm.sldy.sqfbcz == '0' && ruleForm.sldy.gyfs != '0'">
367 <el-form-item label="持证人:">
368 <el-select
369 v-model="czr"
370 placeholder="持证人"
371 :disabled="!viewEdit">
372 <el-option
373 v-for="(item,index) in czrOptions"
374 :key="index"
375 :label="item.sqrmc"
376 :value="item.id">
377 </el-option>
378 </el-select>
379 </el-form-item>
380 </el-col>
381 </el-row>
382 <qlrCommonTable
383 @upDateQlrxxList="upDateQlrxxList"
384 :disabled="!viewEdit"
385 :tableData="ruleForm.qlrList"
386 :gyfs="ruleForm.sldy.gyfs" />
387 <div class="slxx_title title-block">
388 登记原因
389 <div class="triangle"></div>
390 </div>
391 <el-row :gutter="10">
392 <el-col>
393 <el-form-item v-if="ruleForm.fdcq2" label="登记原因:" prop="fdcq2.djyy">
394 <el-input
395 class="textArea"
396 type="textarea"
397 maxlength="500"
398 show-word-limit
399 :disabled="!viewEdit"
400 v-model="ruleForm.fdcq2.djyy">
401 </el-input>
402 </el-form-item>
403 </el-col>
404 </el-row>
405 </div>
406 <el-row class="btn" v-if="isSave">
407 <el-form-item>
408 <el-button type="primary" @click="onSubmit">保存</el-button>
409 </el-form-item>
410 </el-row>
411 </el-form>
412 </div>
413 </template>
414 <script>
415 import ywmix from "@/views/ywbl/mixin/index";
416 import qlrCommonTable from "@/views/workflow/components/qlrCommonTable";
417 import tdytTable from "@/views/workflow/components/tdytTable";
418 import { Init, saveData } from "@/api/workflow/fwsyqFlow.js";
419 import { mapGetters } from "vuex";
420 export default {
421 mixins: [ywmix],
422 mounted () {
423 let that = this
424 this.loading = true
425 this.viewEdit = this.$parent.currentSelectTab.ableOperation;
426 this.propsParam = this.$attrs;
427 var formdata = new FormData();
428 formdata.append("bsmSldy", this.propsParam.bsmSldy);
429 formdata.append("djlx", this.propsParam.djlx);
430 formdata.append("isEdit", this.viewEdit);
431 Init(formdata).then((res) => {
432 setTimeout(() => {
433 this.loading = false
434 }, 200)
435 if (res.code === 200 && res.result) {
436 that.ruleForm = {
437 ...res.result,
438 ...res.result.zdjbxxdatas,
439 ...res.result.qlxxdatas,
440 ...res.result.jsydsyqdatas,
441 };
442 that.ruleForm.qlrList.forEach((item) => {
443 item.id = item.bsmSqr
444 if (item.sfczr == '1') {
445 that.czr = item.bsmSqr
446 }
447 })
448 that.czrOptions = that.ruleForm.qlrList;
449 that.isSave = that.viewEdit
450 } else {
451 that.isSave = false
452 that.$confirm(res.message, '提示', {
453 cancelButtonText: '取消',
454 showConfirmButton: false,
455 type: 'warning'
456 })
457 }
458 }).catch(() => {
459 this.loading = false
460 this.isSave = false
461 })
462 },
463 components: { qlrCommonTable, tdytTable },
464 computed: {
465 ...mapGetters(["dictData", "flag"]),
466 },
467 data () {
468 return {
469 normalizer (node) {
470 if (node.children == null || node.children == "null") {
471 delete node.children;
472 }
473 return {
474 id: node.dcode,
475 label: node.dname,
476 children: node.children,
477 };
478 },
479 isSave: true,
480 loading: false,
481 mjdw: "1",
482 //表单是否可操作
483 viewEdit: false,
484 disabled: true,
485 tdytOption: [],
486 czrOptions: [],
487 czr: "",
488 ruleForm: {
489 flow: {
490 ywh: "",
491 },
492 slry: "",
493 slsj: "",
494 qllx: "",
495 djlx: "",
496 djqx: "",
497 sldy: {
498 gyfs: "",
499 },
500 // 宗地代码
501 zddm: "",
502 bdcdyh: "",
503 qlxzmc: "",
504 qlrxx: [],
505 // 自然幢号
506 zrzh: "",
507 // 户不动产单元号
508 hbdcdyh: "",
509 djzt: "",
510 // 图幅丘幢号
511 tfqzh: "",
512 zl: "",
513 // 房屋用途
514 fwyt: "",
515 fwxz: "",
516 fwjg: "",
517 // 权利人信息
518 // 是否分别持证
519 sffbcz: "",
520 // 持证人
521 czr: "",
522 djyy: "",
523 // 规划用途名称
524 zdjbxx: {
525 ghytmc: "",
526 },
527 fdcq2: {
528 fwxzmc: "",
529 },
530 slsq: {
531 gyfs: "",
532 },
533 },
534 //传递参数
535 propsParam: {},
536 rules: {
537 'fdcq2.djyy': [
538 { required: true, message: '请输入登记原因', trigger: 'blur' }
539 ]
540 }
541 }
542 },
543 methods: {
544 /**
545 * @description: dataSelectClick
546 * @author: renchao
547 */
548 dataSelectClick () {
549 this.$popup(
550 "房屋所有权",
551 this.BASE_API.SERVERAPI + "/rest/workflow/main/dataCompare/slxxCompareDetai",
552 {
553 formData: {
554 bsmSldy: this.propsParam.bsmSldy,
555 qllx: this.propsParam.qllx,
556 },
557 }
558 );
559 },
560 /**
561 * @description: 更新土地用途信息
562 * @param {*} val
563 * @author: renchao
564 */
565 upDateTdytxxList (val) {
566 this.ruleForm.tdytqxList && (this.ruleForm.tdytqxList = _.cloneDeep(val));
567 this.key++;
568 },
569 /**
570 * @description: 是否持证人变化
571 * @param {*} val
572 * @author: renchao
573 */
574 updaterow () {
575 this.czr = "";
576 },
577 /**
578 * @description: 更新权利人信息
579 * @param {*} val
580 * @author: renchao
581 */
582 upDateQlrxxList (val) {
583 if (!_.isEqual(val, this.ruleForm.qlrList)) {
584 this.ruleForm.qlrList = _.cloneDeep(val);
585 this.czrOptions = this.ruleForm.qlrList;
586 }
587 this.num = 0
588 this.ruleForm.qlrList.forEach(item => {
589 if (item.id == this.czr) {
590 this.num++
591 }
592 })
593 if (this.num == 0) {
594 this.czr = ''
595 }
596 },
597 /**
598 * @description: 更新权利人信息
599 * @param {*} val
600 * @author: renchao
601 */
602 upDateYwrxxList (val) {
603 this.ruleForm.ywrList = _.cloneDeep(val);
604 },
605 /**
606 * @description: onSubmit
607 * @author: renchao
608 */
609 onSubmit () {
610 let that = this;
611 let arr = this.ruleForm.tdytqxList.filter((item) => !item.yt);
612 if (arr.length > 0) {
613 this.$message({
614 showClose: true,
615 message: "土地用途不能为空",
616 type: "error",
617 });
618 return false;
619 }
620 if (this.ruleForm.qlrList.length == 0) {
621 this.$message({
622 showClose: true,
623 message: "请确认权利人信息",
624 type: "error",
625 });
626 return false;
627 }
628
629 if (this.ruleForm.sldy.gyfs == "0") {
630 if (this.ruleForm.qlrList.length > 1) {
631 this.$message({
632 showClose: true,
633 message: "共有方式:单独所有,权利人只能是一个人",
634 type: "error",
635 });
636 return false;
637 }
638 this.ruleForm.qlrList[0].sfczr = "1";
639 } else {
640 if (this.ruleForm.qlrList.length <= 1) {
641 this.$message({
642 showClose: true,
643 message:
644 "共有方式:共同所有,按份所有,其他所有,权利人必须是两个以上",
645 type: "error",
646 });
647 return false;
648 }
649 //是否分别持证
650 if (this.ruleForm.sldy.sqfbcz == "1") {
651 //是
652 this.ruleForm.qlrList.forEach((item, index) => {
653 item.sfczr = "1";
654 });
655 } else {
656 if (that.czr === '') {
657 that.$message({
658 showClose: true,
659 message: "请选择持证人",
660 type: "error"
661 });
662 return false;
663 }
664 this.ruleForm.qlrList.forEach(item => {
665 if (item.id == that.czr) {
666 item.sfczr = "1"
667 } else {
668 item.sfczr = "0"
669 }
670 })
671 }
672 }
673 this.$refs['ruleForm'].validate((valid) => {
674 if (valid) {
675 that.$store.dispatch("user/refreshPage", false);
676 saveData(that.ruleForm).then((res) => {
677 if (res.code === 200) {
678 that.$message({
679 showClose: true,
680 message: "保存成功!",
681 type: "success",
682 });
683 that.$store.dispatch("user/refreshPage", true);
684 } else {
685 that.$message({
686 showClose: true,
687 message: res.message,
688 type: "error",
689 });
690 }
691 })
692
693 } else {
694 that.$message({
695 showClose: true,
696 message: "请输入登记原因",
697 type: "error"
698 })
699 return false
700 }
701 })
702 },
703 /**
704 * @description: compare
705 * @author: renchao
706 */
707 compare () {
708 this.$popupDialog(
709 this.ruleForm.qlxx.qllxmc,
710 "registerBook/comparison",
711 {
712 bsmQlxx: this.ruleForm.qlxx.bsmQlxx,
713 dqqllx: "FDCQ2",
714 },
715 "80%",
716 true
717 );
718 },
719 },
720 };
721 </script>
722 <style scoped lang="scss">
723 @import "~@/styles/public.scss";
724 @import "~@/styles/slxx/slxx.scss";
725 /deep/.el-form {
726 display: flex;
727 flex-direction: column;
728 height: calc(100vh - 130px);
729 }
730
731 /deep/.el-form-item__label {
732 padding: 0;
733 }
734
735 /deep/.el-radio {
736 margin-right: 10px;
737 }
738
739 /deep/.el-select {
740 width: 100%;
741 }
742
743 /deep/.el-form-item {
744 margin-bottom: 3px;
745 }
746
747 .marginBot0 {
748 margin-bottom: 0 !important;
749 }
750
751 .slxx {
752 box-sizing: border-box;
753 }
754
755 .slxx_con {
756 flex: 1;
757 height: 100%;
758 background-color: #ffffff;
759 overflow-y: auto;
760 padding-right: 3px;
761 overflow-x: hidden;
762 }
763
764 .submit_btn {
765 height: 50px;
766 }
767
768 .btn {
769 text-align: center;
770 padding-top: 10px;
771 height: 36px;
772 background-color: #ffffff;
773 padding: 5px 0;
774 }
775
776 .textArea {
777 /deep/.el-textarea__inner {
778 min-height: 90px !important;
779 }
780 }
781
782 /deep/.el-form-item__label {
783 padding-bottom: 0px;
784 }
785 </style>