bee6edb8 by 单帅旗

新增:批量房屋首次登记

1 parent c30c2bea
...@@ -5,6 +5,43 @@ ...@@ -5,6 +5,43 @@
5 */ 5 */
6 import request from '@/utils/request' 6 import request from '@/utils/request'
7 let SERVER = window.config ? window.config : JSON.parse(localStorage.getItem('ApiUrl')) 7 let SERVER = window.config ? window.config : JSON.parse(localStorage.getItem('ApiUrl'))
8
9 /**
10 * 国有建设用地使用权/房屋所有权-批量房屋初始化
11 * @param data
12 * @author ssq 2023年5月26日14点29分
13 */
14 export function BatchInit(data){
15 let apiUrl = "";
16 switch (data.get("djlx")) {
17 case "100":
18 apiUrl = SERVER.SERVERAPI + "/rest/ywbl/fdcq2lr/fristBatchInit";
19 break;
20 case "200":
21 apiUrl = SERVER.SERVERAPI + "/rest/ywbl/fdcq2lr/transferInit";
22 break;
23 case "300":
24 apiUrl = SERVER.SERVERAPI + "/rest/ywbl/fdcq2lr/changeInit";
25 break;
26 case "400":
27 apiUrl = SERVER.SERVERAPI + "/rest/ywbl/fdcq2lr/logoutBatchSave";
28 break;
29 case "500":
30 apiUrl = SERVER.SERVERAPI + "/rest/ywbl/fdcq2lr/riviseInit";
31 break;
32 case "901":
33 apiUrl = SERVER.SERVERAPI + "/rest/ywbl/fdcq2lr/renewalInit";
34 break;
35 case "902":
36 apiUrl = SERVER.SERVERAPI + "/rest/ywbl/fdcq2lr/replaceInit";
37 break;
38 }
39 return request({
40 url: apiUrl,
41 method: 'post',
42 data
43 })
44 }
8 /** 45 /**
9 * @description: 初始化内容 46 * @description: 初始化内容
10 * @param {*} data 47 * @param {*} data
......
...@@ -39,10 +39,10 @@ ...@@ -39,10 +39,10 @@
39 </div> 39 </div>
40 </template> 40 </template>
41 <script> 41 <script>
42 import { mapGetters } from 'vuex' 42 import { mapGetters } from 'vuex'
43 import { leftMenu } from "@/api/fqsq.js" 43 import { leftMenu } from "@/api/fqsq.js"
44 import { deleteSlbdcdy } from "@/api/ywbl.js"; 44 import { deleteSlbdcdy } from "@/api/ywbl.js";
45 export default { 45 export default {
46 data () { 46 data () {
47 return { 47 return {
48 //受理申请标识码 48 //受理申请标识码
...@@ -105,6 +105,10 @@ ...@@ -105,6 +105,10 @@
105 if (this.unitData.length > 1) { 105 if (this.unitData.length > 1) {
106 let qllx = this.$route.query?.sqywbm?.substring(0, 3); 106 let qllx = this.$route.query?.sqywbm?.substring(0, 3);
107 switch (qllx) { 107 switch (qllx) {
108 case 'A04':
109 this.showBatch = true;
110 this.batchButtonName = '批量单元信息';
111 break;
108 case 'B39': 112 case 'B39':
109 this.showBatch = true; 113 this.showBatch = true;
110 this.batchButtonName = '批量查封清单信息'; 114 this.batchButtonName = '批量查封清单信息';
...@@ -159,6 +163,7 @@ ...@@ -159,6 +163,7 @@
159 this.currentSelectProps.batchOperation = true; 163 this.currentSelectProps.batchOperation = true;
160 this.activeIndex = "-1"; 164 this.activeIndex = "-1";
161 this.$parent.stepForm(); 165 this.$parent.stepForm();
166
162 }, 167 },
163 //批量操作 168 //批量操作
164 handleBatchDel () { 169 handleBatchDel () {
...@@ -178,12 +183,12 @@ ...@@ -178,12 +183,12 @@
178 this.$store.dispatch('user/refreshPage', false); 183 this.$store.dispatch('user/refreshPage', false);
179 } 184 }
180 } 185 }
181 } 186 }
182 </script> 187 </script>
183 <style scoped lang='scss'> 188 <style scoped lang='scss'>
184 @import "~@/styles/mixin.scss"; 189 @import "~@/styles/mixin.scss";
185 @import "../../workFrame.scss"; 190 @import "../../workFrame.scss";
186 .leftmenu ul { 191 .leftmenu ul {
187 height: calc(100vh - 120px); 192 height: calc(100vh - 120px);
188 } 193 }
189 </style> 194 </style>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
4 * @LastEditTime: 2023-05-29 14:39:11 4 * @LastEditTime: 2023-05-29 14:39:11
5 */ 5 */
6 //流程环节操作按钮 6 //流程环节操作按钮
7 export function getForm (tabName, djywbm) { 7 export function getForm(tabName, djywbm) {
8 let form; 8 let form;
9 switch (tabName) { 9 switch (tabName) {
10 case "jsydsyqslxx100": 10 case "jsydsyqslxx100":
...@@ -22,6 +22,9 @@ export function getForm (tabName, djywbm) { ...@@ -22,6 +22,9 @@ export function getForm (tabName, djywbm) {
22 case "nydsyqslxx100": 22 case "nydsyqslxx100":
23 form = require("@/views/ywbl/slsqxx/nydsyq/slxx.vue"); 23 form = require("@/views/ywbl/slsqxx/nydsyq/slxx.vue");
24 break; 24 break;
25 case "plfdcq2":
26 form = require("@/views/ywbl/slsqxx/fdcq2/slxxOverview.vue");
27 break;
25 case "nydsyqslxx200": 28 case "nydsyqslxx200":
26 form = require("@/views/ywbl/slsqxx/nydsyq/slxx200.vue"); 29 form = require("@/views/ywbl/slsqxx/nydsyq/slxx200.vue");
27 break; 30 break;
......
1 <!--
2 * @Description: 受理信息
3 * @Autor: renchao
4 * @LastEditTime: 2023-05-25 08:41:40
5 -->
6 <template>
7 <div class="slxx">
8 <el-form :model="ruleForm" :rules="rules" ref="ruleForm" :label-position="flag ? 'top' : ''" :inline="flag"
9 label-width="120px">
10 <div class="slxx_con" :class="flag ? 'formMarginBot0' : ''">
11 <div class="slxx_title title-block">
12 受理信息
13 <div class="triangle"></div>
14 </div>
15 <el-row :gutter="10" v-if="ruleForm.slsq">
16 <el-col :span="8">
17 <el-form-item label="业务号:">
18 <el-input disabled v-model="ruleForm.slsq.ywh"></el-input>
19 </el-form-item>
20 </el-col>
21 <el-col :span="8">
22 <el-form-item label="受理人员:">
23 <el-input disabled v-model="ruleForm.slsq.slry"></el-input>
24 </el-form-item>
25 </el-col>
26 <el-col :span="8">
27 <el-form-item label="受理时间:">
28 <el-input disabled v-model="ruleForm.slsq.slsj"></el-input>
29 </el-form-item>
30 </el-col>
31 </el-row>
32 <el-row :gutter="10" v-if="ruleForm.slsq">
33 <el-col :span="8">
34 <el-form-item label="权利类型:">
35 <el-input disabled v-model="ruleForm.slsq.qllxmc"></el-input>
36 </el-form-item>
37 </el-col>
38 <el-col :span="8">
39 <el-form-item label="登记类型:">
40 <el-input disabled v-model="ruleForm.slsq.djlxmc"></el-input>
41 </el-form-item>
42 </el-col>
43 <el-col :span="8">
44 <el-form-item label="登记情形:">
45 <el-input disabled v-model="ruleForm.slsq.djqxmc"></el-input>
46 </el-form-item>
47 </el-col>
48 </el-row>
49 <div class="slxx_title title-block">
50 房屋概况
51 <div class="triangle"></div>
52 </div>
53 <el-row :gutter="10" v-if="ruleForm.zdjbxx">
54 <el-col :span="8">
55 <el-form-item label="规划用途名称:">
56 <el-input disabled v-model="ruleForm.zdjbxx.ghytmc"></el-input>
57 </el-form-item>
58 </el-col>
59 <el-col :span="8">
60 <el-form-item label="权利设定方式名称:">
61 <el-input disabled v-model="ruleForm.zdjbxx.qlsdfsmc"></el-input>
62 </el-form-item>
63 </el-col>
64 <el-col :span="8">
65 <el-form-item label="房屋性质:">
66 <el-input disabled v-model="splicingFdcq2.fwxz"></el-input>
67 </el-form-item>
68 </el-col>
69 </el-row>
70 <el-row :gutter="10" v-if="ruleForm.zdjbxx">
71 <el-col :span="8">
72 <el-form-item label="房屋结构:">
73 <el-input disabled v-model="splicingFdcq2.fwjg"></el-input>
74 </el-form-item>
75 </el-col>
76 <el-col :span="8">
77 <el-form-item label="建筑总面积:">
78 <el-input disabled v-model="splicingFdcq2.jzmj"></el-input>
79 </el-form-item>
80 </el-col>
81 <el-col :span="8">
82 <el-form-item label="房屋总套数:">
83 <el-input disabled v-model="splicingFdcq2.zts"></el-input>
84 </el-form-item>
85 </el-col>
86 </el-row>
87 <div class="slxx_title title-block">
88 权利人信息
89 <div class="triangle"></div>
90 </div>
91 <el-row :gutter="10">
92 <el-col :span="14" v-if="ruleForm.qlxx">
93 <el-form-item label="共有方式:">
94 <el-radio-group :disabled="$route.query.viewtype == 1" @change="showCZInfo"
95 v-model="ruleForm.slsq.gyfs">
96 <el-radio label="0">单独所有</el-radio>
97 <el-radio label="1">共同共有</el-radio>
98 <el-radio label="2">按份所有</el-radio>
99 <el-radio label="3">其它共有</el-radio>
100 </el-radio-group>
101 </el-form-item>
102 </el-col>
103 <el-col :span="5">
104 <el-form-item label="发证方式:">
105 <el-radio-group v-model="ruleForm.slsq.fzfs">
106 <el-radio label="1">小证</el-radio>
107 <el-radio label="2">大证</el-radio>
108 </el-radio-group>
109 </el-form-item>
110 </el-col>
111
112 <el-col :span="5" v-show="ruleForm.qlxx && ruleForm.qlxx.gyfs == '2'">
113 <el-form-item label="是否分别持证:">
114 <el-radio-group v-model="ruleForm.slsq.sqfbcz">
115 <el-radio label="1"></el-radio>
116 <el-radio label="0"></el-radio>
117 </el-radio-group>
118 </el-form-item>
119 </el-col>
120 <el-col :span="5" v-show="ruleForm.qlxx && ruleForm.qlxx.gyfs == '2'">
121 <el-form-item label="持证人:">
122 <el-select v-model="ruleForm.slsq.czr" placeholder="持证人">
123 <el-option v-for="item in czrOptions" :key="item.value" :label="item.label" :value="item.value">
124 </el-option>
125 </el-select>
126 </el-form-item>
127 </el-col>
128 </el-row>
129 <qlrCommonTable v-if="ruleForm.qlxx" @upDateQlrxxList="upDateQlrxxList" :tableData="ruleForm.qlrList"
130 :gyfs="ruleForm.qlxx.gyfs" />
131
132 <!-- <div v-if="ruleForm.ywrList">
133 <div class="slxx_title title-block">
134 义务人信息
135 <div class="triangle"></div>
136 </div>
137 <qlrCommonTable v-if="ruleForm.qlxxList" @upDateQlrxxList="upDateYwrxxList" :tableData="ruleForm.ywrList"
138 :gyfs="ruleForm.qlxx.gyfs" />
139 </div>-->
140 <div class="slxx_title title-block">
141 登记原因
142 <div class="triangle"></div>
143 </div>
144 <el-row :gutter="10">
145 <el-col>
146 <el-form-item v-if="ruleForm.fdcq2" label="登记原因:" prop="djyy">
147 <el-input class="textArea" type="textarea" :disabled="$route.query.viewtype == 1"
148 v-model="ruleForm.fdcq2.djyy">
149 </el-input>
150 </el-form-item>
151 </el-col>
152 </el-row>
153 </div>
154 <el-row class="btn" v-if="!$route.query.viewtype && ableOperation">
155 <el-form-item>
156 <el-button type="primary" @click="onSubmit">保存</el-button>
157 </el-form-item>
158 </el-row>
159 </el-form>
160 </div>
161 </template>
162 <script>
163 import qlrCommonTable from "@/views/workflow/components/qlrCommonTable";
164 import {BatchInit, Init, saveBatchData, saveData} from "@/api/workflow/fwsyqFlow.js";
165 import { mapGetters } from "vuex";
166 export default {
167 created(callbackfn, thisArg) {
168 this.ableOperation = this.$parent.currentSelectTab.ableOperation
169 this.propsParam = this.$attrs;
170 var formdata = new FormData();
171 formdata.append("bsmSldy", this.propsParam.bsmSldy);
172 formdata.append("djlx", this.propsParam.djlx);
173 formdata.append("bsmSlsq", this.bsmSlsq);
174 BatchInit(formdata).then((res) => {
175 if (res.code === 200 && res.result) {
176 this.ruleForm = res.result;
177 this.ruleForm.qlxx = this.ruleForm.qlxxList[0]
178 this.splicingFdcq2Info();
179 }
180 });
181
182 },
183 components: { qlrCommonTable },
184 computed: {
185 ...mapGetters(["dictData", "flag"]),
186 },
187 data () {
188 return {
189 disabled: true,
190 tdytOption: [],
191 czrOptions: [],
192 ruleForm: {
193 slsq: {},
194 zdjbxx: {},
195 sldyList: [],
196 qlxxList: [],
197 fdcq2List:[]
198 },
199 //传递参数
200 propsParam: this.$attrs,
201 //表单是否可操作
202 ableOperation: true,
203 rules: {},
204 bsmSlsq: this.$route.query.bsmSlsq,//受理申请标识码
205 splicingFdcq2:{//前端根据后台数组组装展示内容
206 fwxz:{}//房屋性质
207 ,fwjg:{}//房屋结构
208 ,jzmj:{} //建筑面积
209 ,zts:{}//房屋总套数
210 }
211 }
212 },
213 methods: {
214 //组装房地产权通用信息
215 splicingFdcq2Info(){
216 let fdcq2List = this.ruleForm.fdcq2List;
217 let fwxzArr = [];
218 let fwjgArr = [];
219 let jzmj = 0;
220 fdcq2List.forEach(fdcq2 => {
221 fwxzArr.push(fdcq2.fwxzmc);
222 fwjgArr.push(fdcq2.fwjgmc);
223 jzmj += parseFloat(fdcq2.jzmj);
224 })
225 //将数据转为字符串
226 //房屋性质
227 let fwxz = Array.from(new Set(fwxzArr)).join(",");
228 //房屋结构
229 let fwjg = Array.from(new Set(fwjgArr)).join(",");
230 this.splicingFdcq2.fwxz = fwxz;
231 this.splicingFdcq2.fwjg = fwjg;
232 this.splicingFdcq2.jzmj = jzmj;
233 this.splicingFdcq2.zts = fdcq2List.length;
234 },
235
236 // 更新权利人信息
237 upDateQlrxxList (val) {
238 this.ruleForm.qlrList = _.cloneDeep(val);
239 },
240 showCZInfo () {
241 console.log(this.ruleForm.slsq.gyfs);
242 },
243 // 更新义务人信息
244 upDateYwrxxList (val) {
245 this.ruleForm.ywrList = _.cloneDeep(val);
246 },
247 onSubmit () {
248 saveBatchData(this.ruleForm).then((res) => {
249 if (res.code === 200) {
250 this.$message({
251 showClose: true,
252 message: "保存成功!",
253 type: "success",
254 });
255 this.$store.dispatch('user/refreshPage', true);
256 } else {
257 this.$message({
258 showClose: true,
259 message: res.message,
260 type: "error"
261 })
262 }
263 })
264 }
265 }
266 }
267 </script>
268 <style scoped lang='scss'>
269 @import "~@/styles/public.scss";
270
271 /deep/.el-form {
272 display: flex;
273 flex-direction: column;
274 height: calc(100vh - 130px);
275 }
276
277 /deep/.el-form-item__label {
278 padding: 0;
279 }
280
281 /deep/.el-radio {
282 margin-right: 10px;
283 }
284
285 /deep/.el-select {
286 width: 100%;
287 }
288
289 /deep/.el-form-item {
290 margin-bottom: 8px;
291 }
292
293 .marginBot0 {
294 margin-bottom: 0 !important;
295 }
296
297 .slxx {
298 box-sizing: border-box;
299 }
300
301 .slxx_con {
302 flex: 1;
303 height: 100%;
304 background-color: #ffffff;
305 overflow-y: auto;
306 padding-right: 3px;
307 overflow-x: hidden;
308 }
309
310 .submit_btn {
311 height: 50px;
312 }
313
314 .slxx_title {
315 border-bottom: 1px solid $borderColor;
316 padding-left: 10px;
317 padding-bottom: 5px;
318 margin-bottom: 10px;
319 margin-top: 5px;
320 font-size: 16px;
321 font-weight: 500;
322 color: #4a4a4a;
323 }
324
325 .btn {
326 text-align: center;
327 padding-top: 10px;
328 height: 36px;
329 background-color: #ffffff;
330 padding: 5px 0;
331 }
332
333 .textArea {
334 /deep/.el-textarea__inner {
335 min-height: 90px !important;
336 }
337 }
338
339 /deep/.el-form-item__label {
340 padding-bottom: 0px;
341 }
342 </style>