81fa35a5 by 单帅旗

新增:房屋多幢功能

1 parent 2239205b
/*
* @Description: 房地产权多幢接口
* @Autor: ssq
* @LastEditTime: 2023年07月27日 19:40:34
*/
import request from '@/utils/request'
let SERVER = window.config ? window.config : JSON.parse(localStorage.getItem('ApiUrl'))
/**
* @description: 初始化内容
* @param {*} data
* @author: 单帅旗
*/
export function Init (data) {
let apiUrl = "";
switch (data.get("djlx")) {
case "100":
apiUrl = SERVER.SERVERAPI + "/rest/ywbl/fdcq1lr/firstInit";
break;
case "200":
apiUrl = SERVER.SERVERAPI + "/rest/ywbl/fdcq1lr/transferInit";
break;
case "300":
apiUrl = SERVER.SERVERAPI + "/rest/ywbl/fdcq1lr/changeInit";
break;
case "400":
apiUrl = SERVER.SERVERAPI + "/rest/ywbl/fdcq1lr/logoutInit";
break;
case "500":
apiUrl = SERVER.SERVERAPI + "/rest/ywbl/fdcq1lr/riviseInit";
break;
case "901":
apiUrl = SERVER.SERVERAPI + "/rest/ywbl/fdcq1lr/renewalInit";
break;
case "902":
apiUrl = SERVER.SERVERAPI + "/rest/ywbl/fdcq1lr/replaceInit";
break;
}
return request({
url: apiUrl,
method: 'post',
data
})
}
/**
* @description: 首次登记提交
* @param {*} data
* @author: ssq
*/
export function saveBatchData (data) {
return request({
url: SERVER.SERVERAPI + "/rest/ywbl/fdcq1lr/saveBatchData",
method: 'post',
data
})
}
/**
* @description: 保存
* @param {*} data
* @author: ssq
*/
export function saveData (data) {
return request({
url: SERVER.SERVERAPI + "/rest/ywbl/fdcq1lr/saveData",
method: 'post',
data
})
}
......@@ -23,6 +23,9 @@ export function getForm(tabName, djywbm) {
form = require("@/views/ywbl/slsqxx/jsydsyq/slxx300.vue");
break;
//国有建设用地使用权/房屋所有权
case "fwsyqdzslxx":
form = require("@/views/ywbl/slsqxx/fdcq1/slxx.vue");
break;
case "fwsyqslxx100":
case "fwsyqslxx200":
case "fwsyqslxx400":
......
<!--
* @Description: 房屋多幢受理信息
* @Autor: ssq
* @LastEditTime: 2023年07月27日 19:38:26
-->
<template>
<div class="slxx">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" :label-position="flag ? 'top' : ''" :inline="flag"
label-width="120px">
<div class="slxx_con" :class="flag ? 'formMarginBot0' : ''">
<div class="slxx_title title-block">
受理信息
<div class="triangle"></div>
</div>
<el-row :gutter="10" v-if="ruleForm.slsq">
<el-col :span="8">
<el-form-item label="业务号:">
<el-input disabled v-model="ruleForm.flow.ywh"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="受理人员:">
<el-input disabled v-model="ruleForm.slsq.slry"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="受理时间:">
<el-input disabled v-model="ruleForm.slsq.slsj"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" v-if="ruleForm.slsq">
<el-col :span="8">
<el-form-item label="权利类型:">
<el-input disabled v-model="ruleForm.sldy.qllxmc"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="登记类型:">
<el-input disabled v-model="ruleForm.sldy.djlxmc"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="登记情形:">
<el-input disabled v-model="ruleForm.slsq.djqxmc"></el-input>
</el-form-item>
</el-col>
</el-row>
<div class="slxx_title title-block">
不动产单元情况
<div class="triangle"></div>
</div>
<el-row :gutter="10" v-if="ruleForm.qlxx">
<el-col :span="8">
<el-form-item label="不动产单元号:">
<el-input disabled v-model="ruleForm.qlxx.bdcdyh"></el-input>
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item label="坐落:">
<el-input disabled v-model="ruleForm.qlxx.zl"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" v-if="ruleForm.fdcq2">
<el-col :span="8">
<el-form-item label="土地使用期限:">
<el-input disabled v-model="ruleForm.fdcq2.tdsyqx"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="规划用途名称:">
<el-input disabled v-model="ruleForm.zdjbxx.ghytmc"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="房屋性质:">
<el-input disabled v-model="ruleForm.fdcq2.fwxzmc"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" v-if="ruleForm.qlxx">
<el-col :span="8">
<el-form-item label="房屋结构:">
<el-input disabled v-model="ruleForm.fdcq2.fwjgmc"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="所在层:">
<el-input disabled v-model="ruleForm.fdcq2.szc"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="总层数:">
<el-input disabled v-model="ruleForm.fdcq2.zcs"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" v-if="ruleForm.fdcq2">
<el-col :span="8">
<el-form-item label="竣工时间:">
<el-input disabled v-model="ruleForm.fdcq2.jgsj"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="建筑面积:">
<el-input disabled v-model="ruleForm.qlxx.mj"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="专有建筑面积:">
<el-input disabled v-model="ruleForm.fdcq2.zyjzmj"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="8">
<el-form-item label="分摊建筑面积:">
<el-input disabled v-model="ruleForm.fdcq2.ftjzmj"></el-input>
</el-form-item>
</el-col>
</el-row>
<div class="slxx_title title-block">
土地用途
<div class="triangle"></div>
</div>
<tdytTable
:ableOperation="ableOperation"
:tableData="ruleForm.tdytqxList"
@upDateTdytxxList="upDateTdytxxList" />
<div class="slxx_title title-block">
权利人信息
<div class="triangle"></div>
</div>
<el-row :gutter="10">
<el-col :span="14" v-if="ruleForm.qlxx">
<el-form-item label="共有方式:">
<el-radio-group :disabled="!ableOperation" @change="showCZInfo"
v-model="ruleForm.sldy.gyfs">
<el-radio label="0">单独所有</el-radio>
<el-radio label="1">共同共有</el-radio>
<el-radio label="2">按份所有</el-radio>
<el-radio label="3">其它共有</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="发证方式:">
<el-radio-group v-model="ruleForm.slsq.fzfs" :disabled="!ableOperation">
<el-radio label="1">小证</el-radio>
<el-radio label="2">大证</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="5" v-show="ruleForm.sldy.gyfs == '2'">
<el-form-item label="是否分别持证:">
<el-radio-group v-model="ruleForm.sldy.sqfbcz" :disabled="!ableOperation">
<el-radio label="1"></el-radio>
<el-radio label="0"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="5" v-show="ruleForm.sldy.gyfs == '2'">
<el-form-item label="持证人:">
<el-select v-model="ruleForm.slsq.czr" placeholder="持证人" :disabled="!ableOperation">
<el-option v-for="item in czrOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<qlrCommonTable @upDateQlrxxList="upDateQlrxxList" :tableData="ruleForm.qlrList" :disabled="!ableOperation"
:gyfs="ruleForm.slsq.gyfs" />
<div v-if="ruleForm.ywrList && ruleForm.slsq.djlx == '200'">
<div class="slxx_title title-block">
义务人信息
<div class="triangle"></div>
</div>
<qlrCommonTable v-if="ruleForm.qlxx" @upDateQlrxxList="upDateYwrxxList" :tableData="ruleForm.ywrList"
:gyfs="ruleForm.qlxx.gyfs" />
</div>
<div class="slxx_title title-block">
登记原因
<div class="triangle"></div>
</div>
<el-row :gutter="10">
<el-col>
<el-form-item v-if="ruleForm.sldy" label="登记原因:" prop="djyy">
<el-input class="textArea" type="textarea" :disabled="!ableOperation"
v-model="ruleForm.fdcq2.djyy">
</el-input>
</el-form-item>
</el-col>
</el-row>
</div>
<el-row class="btn" v-if="ableOperation">
<el-form-item>
<el-button type="primary" @click="onSubmit">保存</el-button>
</el-form-item>
</el-row>
</el-form>
</div>
</template>
<script>
import qlrCommonTable from "@/views/workflow/components/qlrCommonTable";
import tdytTable from "@/views/workflow/components/tdytTable";
import { Init, saveData } from "@/api/workflow/fwsyq1Flow.js";
import { mapGetters } from "vuex";
export default {
mounted () {
this.ableOperation = this.$parent.currentSelectTab.ableOperation
this.propsParam = this.$attrs;
var formdata = new FormData();
formdata.append("bsmSldy", this.propsParam.bsmSldy);
formdata.append("djlx", this.propsParam.djlx);
formdata.append("isEdit", this.ableOperation);
Init(formdata).then((res) => {
if (res.code === 200 && res.result) {
this.ruleForm = {
...res.result,
...res.result.qlxxdatas,
}
//初始化发证方式,1:小证,2:大正
this.ruleForm.slsq.fzfs == null ? this.ruleForm.slsq.fzfs = '1' : this.ruleForm.slsq.fzfs;
}
});
},
components: { qlrCommonTable, tdytTable },
computed: {
...mapGetters(["dictData", "flag"]),
},
data () {
return {
disabled: true,
tdytOption: [],
czrOptions: [],
ruleForm: {
flow: {
ywh: ''
},
qlxx: {
mj: ''
},
sldy: {
gyfs: ''
},
slsq: {
},
fdcq2: {
zyjzmj: '',
ftjzmj: ''
},
zdjbxx: {
ghytmc: ''
}
},
//传递参数
propsParam: this.$attrs,
//表单是否可操作
ableOperation: true,
rules: {}
}
},
methods: {
// 更新土地用途信息
/**
* @description: 更新土地用途信息
* @param {*} val
* @author: renchao
*/
upDateTdytxxList (val) {
this.ruleForm.tdytqxList && (this.ruleForm.tdytqxList = _.cloneDeep(val));
this.key++;
},
// 更新权利人信息
/**
* @description: 更新权利人信息
* @param {*} val
* @author: renchao
*/
upDateQlrxxList (val) {
this.ruleForm.qlrList = _.cloneDeep(val);
},
/**
* @description: showCZInfo
* @author: renchao
*/
showCZInfo () {
console.log(this.ruleForm.slsq.gyfs);
},
// 更新权利人信息
/**
* @description: 更新权利人信息
* @param {*} val
* @author: renchao
*/
upDateYwrxxList (val) {
this.ruleForm.ywrList = _.cloneDeep(val);
},
/**
* @description: onSubmit
* @author: renchao
*/
onSubmit () {
saveData(this.ruleForm).then((res) => {
if (res.code === 200) {
this.$message({
showClose: true,
message: "保存成功!",
type: "success",
});
this.$store.dispatch('user/refreshPage', true);
} else {
this.$message({
showClose: true,
message: res.message,
type: "error"
})
}
})
}
}
}
</script>
<style scoped lang='scss'>
@import "~@/styles/public.scss";
/deep/.el-form {
display: flex;
flex-direction: column;
height: calc(100vh - 130px);
}
/deep/.el-form-item__label {
padding: 0;
}
/deep/.el-radio {
margin-right: 10px;
}
/deep/.el-select {
width: 100%;
}
/deep/.el-form-item {
margin-bottom: 8px;
}
.marginBot0 {
margin-bottom: 0 !important;
}
.slxx {
box-sizing: border-box;
}
.slxx_con {
flex: 1;
height: 100%;
background-color: #ffffff;
overflow-y: auto;
padding-right: 3px;
overflow-x: hidden;
}
.submit_btn {
height: 50px;
}
.slxx_title {
border-bottom: 1px solid $borderColor;
padding-left: 10px;
padding-bottom: 5px;
margin-bottom: 10px;
margin-top: 5px;
font-size: 16px;
font-weight: 500;
color: #4a4a4a;
}
.btn {
text-align: center;
padding-top: 10px;
height: 36px;
background-color: #ffffff;
padding: 5px 0;
}
.textArea {
/deep/.el-textarea__inner {
min-height: 90px !important;
}
}
/deep/.el-form-item__label {
padding-bottom: 0px;
}
</style>