6f80a4bd by renchao@pashanhoo.com

1

1 parent e19b50fe
<!--
* @Description: 受理信息
* @Autor: renchao
* @LastEditTime: 2024-01-30 16:07:53
-->
<template>
<div class="slxx">
<el-form
:model="ruleForm"
:rules="rules"
v-Loading="loading"
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">
<el-row>
<el-col :span="16">
不动产单元情况
</el-col>
<el-col :span="4" v-show="ruleForm.sldy.djlx=='500'">
<el-form-item label="是否创建证书:" style="height:24px">
<el-radio-group v-model="ruleForm.sldy.sfxysczs">
<el-radio label="1">是</el-radio>
<el-radio label="0">否</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="4" v-show="ruleForm.sldy.djlx=='300'||ruleForm.sldy.djlx=='500'">
<el-button @click="compare">变化情况对比+</el-button>
</el-col>
</el-row>
<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.sldy.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.yt"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="土地使用起止时间:">
<el-input disabled v-model="ruleForm.fdcq2.tdsyqzsj"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="土地使用期限:">
<el-input disabled v-model="ruleForm.fdcq2.tdsyqx"></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.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-col :span="8">
<el-form-item label="房屋结构:">
<el-input disabled v-model="ruleForm.fdcq2.fwjgmc"></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.szc"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="总层数:">
<el-input
disabled
v-model.number="ruleForm.fdcq2.zcs"
oninput="value=value.replace(/[^0-9]/g,'')"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="竣工时间:">
<el-input disabled v-model="ruleForm.fdcq2.jgsj"></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="建筑面积:">
<div class="flex">
<el-input
disabled
v-model="ruleForm.qlxx.mj"
oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input>
<el-select disabled v-model="mjdw" style="width: 68px">
<el-option
v-for="item in dictData['A7']"
:key="item.dcode"
:label="item.dname"
:value="item.dcode">
</el-option>
</el-select>
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="专有建筑面积:">
<div class="flex">
<el-input
disabled
v-model="ruleForm.fdcq2.zyjzmj"
oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input>
<el-select disabled v-model="mjdw" style="width: 68px">
<el-option
v-for="item in dictData['A7']"
:key="item.dcode"
:label="item.dname"
:value="item.dcode">
</el-option>
</el-select>
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="分摊建筑面积:">
<div class="flex">
<el-input
disabled
v-model="ruleForm.fdcq2.ftjzmj"
oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input>
<el-select disabled v-model="mjdw" style="width: 68px">
<el-option
v-for="item in dictData['A7']"
:key="item.dcode"
:label="item.dname"
:value="item.dcode">
</el-option>
</el-select>
</div>
</el-form-item>
</el-col>
</el-row>
<div class="slxx_title title-block">
土地用途
<div class="triangle"></div>
</div>
<tdytTable
:ableOperation="viewEdit"
:tableData="ruleForm.tdytqxList"
@upDateTdytxxList="upDateTdytxxList" />
<div class="slxx_title title-block">
权利人信息
<div class="triangle"></div>
</div>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="共有方式:">
<el-radio-group
:disabled="!viewEdit"
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="6" v-show="ruleForm.sldy.gyfs != '0'">
<el-form-item label="是否分别持证:">
<el-radio-group
v-model="ruleForm.sldy.sqfbcz"
:disabled="!viewEdit"
@input="updaterow()">
<el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col
:span="6"
v-show="ruleForm.sldy.sqfbcz == '0' && ruleForm.sldy.gyfs != '0'">
<el-form-item label="持证人:">
<el-select
v-model="czr"
placeholder="持证人"
:disabled="!viewEdit">
<el-option
v-for="(item,index) in czrOptions"
:key="index"
:label="item.sqrmc"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<qlrCommonTable
@upDateQlrxxList="upDateQlrxxList"
:disabled="!viewEdit"
:tableData="ruleForm.qlrList"
:gyfs="ruleForm.sldy.gyfs" />
<div class="slxx_title title-block">
登记原因
<div class="triangle"></div>
</div>
<el-row :gutter="10">
<el-col>
<el-form-item v-if="ruleForm.fdcq2" label="登记原因:" prop="fdcq2.djyy">
<el-input
class="textArea"
type="textarea"
maxlength="500"
show-word-limit
:disabled="!viewEdit"
v-model="ruleForm.fdcq2.djyy">
</el-input>
</el-form-item>
</el-col>
</el-row>
</div>
<el-row class="btn" v-if="isSave">
<el-form-item>
<el-button type="primary" @click="onSubmit">保存</el-button>
</el-form-item>
</el-row>
</el-form>
</div>
</template>
<script>
import ywmix from "@/views/ywbl/mixin/index";
import qlrCommonTable from "@/views/workflow/components/qlrCommonTable";
import tdytTable from "@/views/workflow/components/tdytTable";
import { Init, saveData } from "@/api/workflow/fwsyqFlow.js";
import { mapGetters } from "vuex";
export default {
mixins: [ywmix],
mounted () {
let that = this
this.loading = true
this.viewEdit = 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.viewEdit);
Init(formdata).then((res) => {
setTimeout(() => {
this.loading = false
}, 200)
if (res.code === 200 && res.result) {
that.ruleForm = {
...res.result,
...res.result.zdjbxxdatas,
...res.result.qlxxdatas,
...res.result.jsydsyqdatas,
};
that.ruleForm.qlrList.forEach((item) => {
item.id = item.bsmSqr
if (item.sfczr == '1') {
that.czr = item.bsmSqr
}
})
that.czrOptions = that.ruleForm.qlrList;
that.isSave = that.viewEdit
} else {
that.isSave = false
that.$confirm(res.message, '提示', {
cancelButtonText: '取消',
showConfirmButton: false,
type: 'warning'
})
}
}).catch(() => {
this.loading = false
this.isSave = false
})
},
components: { qlrCommonTable, tdytTable },
computed: {
...mapGetters(["dictData", "flag"]),
},
data () {
return {
isSave: true,
loading: false,
mjdw: "1",
//表单是否可操作
viewEdit: false,
disabled: true,
tdytOption: [],
czrOptions: [],
czr: "",
ruleForm: {
flow: {
ywh: "",
},
slry: "",
slsj: "",
qllx: "",
djlx: "",
djqx: "",
sldy: {
gyfs: "",
},
// 宗地代码
zddm: "",
bdcdyh: "",
qlxzmc: "",
qlrxx: [],
// 自然幢号
zrzh: "",
// 户不动产单元号
hbdcdyh: "",
djzt: "",
// 图幅丘幢号
tfqzh: "",
zl: "",
// 房屋用途
fwyt: "",
fwxz: "",
fwjg: "",
// 权利人信息
// 是否分别持证
sffbcz: "",
// 持证人
czr: "",
djyy: "",
// 规划用途名称
zdjbxx: {
ghytmc: "",
},
fdcq2: {
fwxzmc: "",
},
slsq: {
gyfs: "",
},
},
//传递参数
propsParam: {},
rules: {
'fdcq2.djyy': [
{ required: true, message: '请输入登记原因', trigger: 'blur' }
]
}
}
},
methods: {
/**
* @description: dataSelectClick
* @author: renchao
*/
dataSelectClick () {
this.$popup(
"房屋所有权",
this.BASE_API.SERVERAPI + "/rest/workflow/main/dataCompare/slxxCompareDetai",
{
formData: {
bsmSldy: this.propsParam.bsmSldy,
qllx: this.propsParam.qllx,
},
}
);
},
/**
* @description: 更新土地用途信息
* @param {*} val
* @author: renchao
*/
upDateTdytxxList (val) {
this.ruleForm.tdytqxList && (this.ruleForm.tdytqxList = _.cloneDeep(val));
this.key++;
},
/**
* @description: 是否持证人变化
* @param {*} val
* @author: renchao
*/
updaterow () {
this.czr = "";
},
/**
* @description: 更新权利人信息
* @param {*} val
* @author: renchao
*/
upDateQlrxxList (val) {
if (!_.isEqual(val, this.ruleForm.qlrList)) {
this.ruleForm.qlrList = _.cloneDeep(val);
this.czrOptions = this.ruleForm.qlrList;
}
this.num = 0
this.ruleForm.qlrList.forEach(item => {
if (item.id == this.czr) {
this.num++
}
})
if (this.num == 0) {
this.czr = ''
}
},
/**
* @description: 更新权利人信息
* @param {*} val
* @author: renchao
*/
upDateYwrxxList (val) {
this.ruleForm.ywrList = _.cloneDeep(val);
},
/**
* @description: onSubmit
* @author: renchao
*/
onSubmit () {
let that = this;
let arr = this.ruleForm.tdytqxList.filter((item) => !item.yt);
if (arr.length > 0) {
this.$message({
showClose: true,
message: "土地用途不能为空",
type: "error",
});
return false;
}
if (this.ruleForm.qlrList.length == 0) {
this.$message({
showClose: true,
message: "请确认权利人信息",
type: "error",
});
return false;
}
if (this.ruleForm.sldy.gyfs == "0") {
if (this.ruleForm.qlrList.length > 1) {
this.$message({
showClose: true,
message: "共有方式:单独所有,权利人只能是一个人",
type: "error",
});
return false;
}
this.ruleForm.qlrList[0].sfczr = "1";
} else {
if (this.ruleForm.qlrList.length <= 1) {
this.$message({
showClose: true,
message:
"共有方式:共同所有,按份所有,其他所有,权利人必须是两个以上",
type: "error",
});
return false;
}
//是否分别持证
if (this.ruleForm.sldy.sqfbcz == "1") {
//是
this.ruleForm.qlrList.forEach((item, index) => {
item.sfczr = "1";
});
} else {
if (that.czr === '') {
that.$message({
showClose: true,
message: "请选择持证人",
type: "error"
});
return false;
}
this.ruleForm.qlrList.forEach(item => {
if (item.id == that.czr) {
item.sfczr = "1"
} else {
item.sfczr = "0"
}
})
}
}
this.$refs['ruleForm'].validate((valid) => {
if (valid) {
that.$store.dispatch("user/refreshPage", false);
saveData(that.ruleForm).then((res) => {
if (res.code === 200) {
that.$message({
showClose: true,
message: "保存成功!",
type: "success",
});
that.$store.dispatch("user/refreshPage", true);
} else {
that.$message({
showClose: true,
message: res.message,
type: "error",
});
}
})
} else {
that.$message({
showClose: true,
message: "请输入登记原因",
type: "error"
})
return false
}
})
},
/**
* @description: compare
* @author: renchao
*/
compare () {
this.$popupDialog(
this.ruleForm.qlxx.qllxmc,
"registerBook/comparison",
{
bsmQlxx: this.ruleForm.qlxx.bsmQlxx,
dqqllx: "FDCQ2",
},
"80%",
true
);
},
},
};
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
@import "~@/styles/slxx/slxx.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: 3px;
}
.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;
}
.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>
<!--
* @Description: 受理信息
* @Autor: renchao
* @LastEditTime: 2024-01-30 16:07:53
-->
<template>
<div class="slxx">
<el-form
:model="ruleForm"
:rules="rules"
v-Loading="loading"
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">
<el-row>
<el-col :span="16">
不动产单元情况
</el-col>
<el-col :span="4" v-show="ruleForm.sldy.djlx=='500'">
<el-form-item label="是否创建证书:" style="height:24px">
<el-radio-group v-model="ruleForm.sldy.sfxysczs">
<el-radio label="1">是</el-radio>
<el-radio label="0">否</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="4" v-show="ruleForm.sldy.djlx=='300'||ruleForm.sldy.djlx=='500'">
<el-button @click="compare">变化情况对比+</el-button>
</el-col>
</el-row>
<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.sldy.ybdcqzsh"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="不动产单元号:">
<el-input disabled v-model="ruleForm.sldy.bdcdyh"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="坐落:">
<el-input maxlength="100" :disabled="!viewEdit" v-model="ruleForm.sldy.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="宗地面积:">
<div class="flex">
<el-input :disabled="!viewEdit" v-model="ruleForm.zdjbxx.zdmj"></el-input>
<el-select
disabled
v-model="ruleForm.zdjbxx.mjdw"
style="width: 68px">
<el-option
v-for="item in dictData['A7']"
:key="item.dcode"
:label="item.dname"
:value="item.dcode">
</el-option>
</el-select>
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="土地使用权人:">
<el-input :disabled="!viewEdit" v-model="ruleForm.fdcq2.tdsyqr"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="土地性质:">
<treeselect
:disabled="!viewEdit"
v-model="ruleForm.fdcq2.tdxz"
noOptionsText="暂无数据"
placeholder=""
:normalizer="normalizer"
:default-expand-level="1"
:show-count="true"
:options="dictData['A9']" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" v-if="ruleForm.qlxx">
<el-col :span="8">
<el-form-item label="独用土地面积:">
<div class="flex">
<el-input
maxlength="12"
v-model="ruleForm.fdcq2.dytdmj"
:disabled="!viewEdit"
oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input>
<el-select disabled v-model="mjdw" style="width: 68px">
<el-option
v-for="item in dictData['A7']"
:key="item.dcode"
:label="item.dname"
:value="item.dcode">
</el-option>
</el-select>
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="分摊土地面积:">
<div class="flex">
<el-input
maxlength="12"
v-model="ruleForm.fdcq2.fttdmj"
:disabled="!viewEdit"
oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input>
<el-select disabled v-model="mjdw" style="width: 68px">
<el-option
v-for="item in dictData['A7']"
:key="item.dcode"
:label="item.dname"
:value="item.dcode">
</el-option>
</el-select>
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="房屋性质:">
<el-select v-model="ruleForm.fdcq2.fwxz" :disabled="!viewEdit">
<el-option
v-for="item in dictData['A19']"
:key="item.dcode"
:label="item.dname"
:value="item.dcode">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" v-if="ruleForm.qlxx">
<el-col :span="8">
<el-form-item label="房屋用途:">
<treeselect
v-model="ruleForm.fdcq2.ghyt"
:disabled="!viewEdit"
noOptionsText=""
placeholder=""
:normalizer="normalizer"
:show-count="true"
:options="dictData['A17']" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="房屋结构:">
<el-select v-model="ruleForm.fdcq2.fwjg" :disabled="!viewEdit">
<el-option
v-for="item in dictData['A46']"
:key="item.dcode"
:label="item.dname"
:value="item.dcode">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="竣工时间:">
<el-date-picker
v-model="ruleForm.fdcq2.jgsj"
class="width100"
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd"
:disabled="!viewEdit"></el-date-picker>
</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
maxlength="20"
v-model="ruleForm.fdcq2.szc"
:disabled="!viewEdit"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="总层数:">
<el-input
maxlength="4"
:disabled="!viewEdit"
v-model.number="ruleForm.fdcq2.zcs"
oninput="value=value.replace(/[^0-9]/g,'')"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="房地产交易价格:">
<div class="flex">
<el-input
maxlength="11"
v-model="ruleForm.fdcq2.fdcjyjg"
style="width: 500%"
:disabled="!viewEdit"
oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input>
<el-select v-model="ruleForm.fdcq2.jedw" :disabled="!viewEdit">
<el-option
v-for="item in dictData['A57']"
:key="item.dcode"
:label="item.dname"
:value="item.dcode">
</el-option>
</el-select>
</div>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" v-if="ruleForm.fdcq2">
<el-col :span="8">
<el-form-item label="建筑面积:">
<div class="flex">
<el-input
maxlength="12"
v-model="ruleForm.fdcq2.jzmj"
:disabled="!viewEdit"
oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input>
<el-select disabled v-model="mjdw" style="width: 68px">
<el-option
v-for="item in dictData['A7']"
:key="item.dcode"
:label="item.dname"
:value="item.dcode">
</el-option>
</el-select>
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="专有建筑面积:">
<div class="flex">
<el-input
maxlength="12"
v-model="ruleForm.fdcq2.zyjzmj"
:disabled="!viewEdit"
oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input>
<el-select disabled v-model="mjdw" style="width: 68px">
<el-option
v-for="item in dictData['A7']"
:key="item.dcode"
:label="item.dname"
:value="item.dcode">
</el-option>
</el-select>
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="分摊建筑面积:">
<div class="flex">
<el-input
maxlength="12"
v-model="ruleForm.fdcq2.ftjzmj"
:disabled="!viewEdit"
oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input>
<el-select disabled v-model="mjdw" style="width: 68px">
<el-option
v-for="item in dictData['A7']"
:key="item.dcode"
:label="item.dname"
:value="item.dcode">
</el-option>
</el-select>
</div>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="24">
<el-form-item label="附记:">
<el-input
v-model="ruleForm.fdcq2.fj"
type="textarea"
maxlength="500"
show-word-limit
:disabled="!viewEdit"></el-input>
</el-form-item>
</el-col>
</el-row>
<div class="slxx_title title-block">
土地用途
<div class="triangle"></div>
</div>
<tdytTable
:ableOperation="viewEdit"
:tableData="ruleForm.tdytqxList"
@upDateTdytxxList="upDateTdytxxList" />
<div class="slxx_title title-block">
权利人信息
<div class="triangle"></div>
</div>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="共有方式:">
<el-radio-group
:disabled="!viewEdit"
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="6" v-show="ruleForm.sldy.gyfs != '0'">
<el-form-item label="是否分别持证:">
<el-radio-group
v-model="ruleForm.sldy.sqfbcz"
:disabled="!viewEdit"
@input="updaterow()">
<el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col
:span="6"
v-show="ruleForm.sldy.sqfbcz == '0' && ruleForm.sldy.gyfs != '0'">
<el-form-item label="持证人:">
<el-select
v-model="czr"
placeholder="持证人"
:disabled="!viewEdit">
<el-option
v-for="(item,index) in czrOptions"
:key="index"
:label="item.sqrmc"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<qlrCommonTable
@upDateQlrxxList="upDateQlrxxList"
:disabled="!viewEdit"
:tableData="ruleForm.qlrList"
:gyfs="ruleForm.sldy.gyfs" />
<div class="slxx_title title-block">
登记原因
<div class="triangle"></div>
</div>
<el-row :gutter="10">
<el-col>
<el-form-item v-if="ruleForm.fdcq2" label="登记原因:" prop="fdcq2.djyy">
<el-input
class="textArea"
type="textarea"
maxlength="500"
show-word-limit
:disabled="!viewEdit"
v-model="ruleForm.fdcq2.djyy">
</el-input>
</el-form-item>
</el-col>
</el-row>
</div>
<el-row class="btn" v-if="isSave">
<el-form-item>
<el-button type="primary" @click="onSubmit">保存</el-button>
</el-form-item>
</el-row>
</el-form>
</div>
</template>
<script>
import ywmix from "@/views/ywbl/mixin/index";
import qlrCommonTable from "@/views/workflow/components/qlrCommonTable";
import tdytTable from "@/views/workflow/components/tdytTable";
import { Init, saveData } from "@/api/workflow/fwsyqFlow.js";
import { mapGetters } from "vuex";
export default {
mixins: [ywmix],
mounted () {
let that = this
this.loading = true
this.viewEdit = 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.viewEdit);
Init(formdata).then((res) => {
setTimeout(() => {
this.loading = false
}, 200)
if (res.code === 200 && res.result) {
that.ruleForm = {
...res.result,
...res.result.zdjbxxdatas,
...res.result.qlxxdatas,
...res.result.jsydsyqdatas,
};
that.ruleForm.qlrList.forEach((item) => {
item.id = item.bsmSqr
if (item.sfczr == '1') {
that.czr = item.bsmSqr
}
})
that.czrOptions = that.ruleForm.qlrList;
that.isSave = that.viewEdit
} else {
that.isSave = false
that.$confirm(res.message, '提示', {
cancelButtonText: '取消',
showConfirmButton: false,
type: 'warning'
})
}
}).catch(() => {
this.loading = false
this.isSave = false
})
},
components: { qlrCommonTable, tdytTable },
computed: {
...mapGetters(["dictData", "flag"]),
},
data () {
return {
normalizer (node) {
if (node.children == null || node.children == "null") {
delete node.children;
}
return {
id: node.dcode,
label: node.dname,
children: node.children,
};
},
isSave: true,
loading: false,
mjdw: "1",
//表单是否可操作
viewEdit: false,
disabled: true,
tdytOption: [],
czrOptions: [],
czr: "",
ruleForm: {
flow: {
ywh: "",
},
slry: "",
slsj: "",
qllx: "",
djlx: "",
djqx: "",
sldy: {
gyfs: "",
},
// 宗地代码
zddm: "",
bdcdyh: "",
qlxzmc: "",
qlrxx: [],
// 自然幢号
zrzh: "",
// 户不动产单元号
hbdcdyh: "",
djzt: "",
// 图幅丘幢号
tfqzh: "",
zl: "",
// 房屋用途
fwyt: "",
fwxz: "",
fwjg: "",
// 权利人信息
// 是否分别持证
sffbcz: "",
// 持证人
czr: "",
djyy: "",
// 规划用途名称
zdjbxx: {
ghytmc: "",
},
fdcq2: {
fwxzmc: "",
},
slsq: {
gyfs: "",
},
},
//传递参数
propsParam: {},
rules: {
'fdcq2.djyy': [
{ required: true, message: '请输入登记原因', trigger: 'blur' }
]
}
}
},
methods: {
/**
* @description: dataSelectClick
* @author: renchao
*/
dataSelectClick () {
this.$popup(
"房屋所有权",
this.BASE_API.SERVERAPI + "/rest/workflow/main/dataCompare/slxxCompareDetai",
{
formData: {
bsmSldy: this.propsParam.bsmSldy,
qllx: this.propsParam.qllx,
},
}
);
},
/**
* @description: 更新土地用途信息
* @param {*} val
* @author: renchao
*/
upDateTdytxxList (val) {
this.ruleForm.tdytqxList && (this.ruleForm.tdytqxList = _.cloneDeep(val));
this.key++;
},
/**
* @description: 是否持证人变化
* @param {*} val
* @author: renchao
*/
updaterow () {
this.czr = "";
},
/**
* @description: 更新权利人信息
* @param {*} val
* @author: renchao
*/
upDateQlrxxList (val) {
if (!_.isEqual(val, this.ruleForm.qlrList)) {
this.ruleForm.qlrList = _.cloneDeep(val);
this.czrOptions = this.ruleForm.qlrList;
}
this.num = 0
this.ruleForm.qlrList.forEach(item => {
if (item.id == this.czr) {
this.num++
}
})
if (this.num == 0) {
this.czr = ''
}
},
/**
* @description: 更新权利人信息
* @param {*} val
* @author: renchao
*/
upDateYwrxxList (val) {
this.ruleForm.ywrList = _.cloneDeep(val);
},
/**
* @description: onSubmit
* @author: renchao
*/
onSubmit () {
let that = this;
let arr = this.ruleForm.tdytqxList.filter((item) => !item.yt);
if (arr.length > 0) {
this.$message({
showClose: true,
message: "土地用途不能为空",
type: "error",
});
return false;
}
if (this.ruleForm.qlrList.length == 0) {
this.$message({
showClose: true,
message: "请确认权利人信息",
type: "error",
});
return false;
}
if (this.ruleForm.sldy.gyfs == "0") {
if (this.ruleForm.qlrList.length > 1) {
this.$message({
showClose: true,
message: "共有方式:单独所有,权利人只能是一个人",
type: "error",
});
return false;
}
this.ruleForm.qlrList[0].sfczr = "1";
} else {
if (this.ruleForm.qlrList.length <= 1) {
this.$message({
showClose: true,
message:
"共有方式:共同所有,按份所有,其他所有,权利人必须是两个以上",
type: "error",
});
return false;
}
//是否分别持证
if (this.ruleForm.sldy.sqfbcz == "1") {
//是
this.ruleForm.qlrList.forEach((item, index) => {
item.sfczr = "1";
});
} else {
if (that.czr === '') {
that.$message({
showClose: true,
message: "请选择持证人",
type: "error"
});
return false;
}
this.ruleForm.qlrList.forEach(item => {
if (item.id == that.czr) {
item.sfczr = "1"
} else {
item.sfczr = "0"
}
})
}
}
this.$refs['ruleForm'].validate((valid) => {
if (valid) {
that.$store.dispatch("user/refreshPage", false);
saveData(that.ruleForm).then((res) => {
if (res.code === 200) {
that.$message({
showClose: true,
message: "保存成功!",
type: "success",
});
that.$store.dispatch("user/refreshPage", true);
} else {
that.$message({
showClose: true,
message: res.message,
type: "error",
});
}
})
} else {
that.$message({
showClose: true,
message: "请输入登记原因",
type: "error"
})
return false
}
})
},
/**
* @description: compare
* @author: renchao
*/
compare () {
this.$popupDialog(
this.ruleForm.qlxx.qllxmc,
"registerBook/comparison",
{
bsmQlxx: this.ruleForm.qlxx.bsmQlxx,
dqqllx: "FDCQ2",
},
"80%",
true
);
},
},
};
</script>
<style scoped lang="scss">
@import "~@/styles/public.scss";
@import "~@/styles/slxx/slxx.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: 3px;
}
.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;
}
.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>