<!-- * @Description: * @Autor: renchao * @LastEditTime: 2023-08-04 16:44:30 --> <template> <!-- 受理信息 --> <div class="slxx"> <el-form :model="ruleForm" :rules="rules" :class="{ readonly: editDisabled }" class="loadingtext" ref="ruleForm" :label-position="flag ? 'top' : ''" :inline="flag" :show-message="false" inline-message label-width="145px"> <div class="slxx_con" v-if="isShow" :class="flag ? 'formMarginBot0' : ''"> <div class="slxx_title title-block"> 补录信息 <div class="triangle"></div> </div> <el-row :gutter="10"> <el-col :span="8"> <el-form-item label="补录编号:"> <el-input disabled v-model="ruleForm.repair.ywh"></el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="补录人员:"> <el-input disabled v-model="ruleForm.repair.slry"></el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="补录时间:"> <el-input disabled v-model="ruleForm.repair.slsj"></el-input> </el-form-item> </el-col> </el-row> <div class="slxx_title title-block bdcqk"> 房地产权信息 <div class="count" v-if="ssqlxxshow"> <el-form-item label="上手权利信息:" prop="ssQlxx.bdcqzh" :rules="rules.ssQlxxrules"> <select-table v-model="ruleForm.ssQlxx" :table-width="730" :tableData="ssQlxxList" :props="props" @change="ssQlxxchange"> <el-table-column prop="qllxmc" width="130" label="权利类型"></el-table-column> <el-table-column prop="bdcqzh" width="160" label="不动产权证书"></el-table-column> <el-table-column prop="qlrmc" label="权利人"></el-table-column> <el-table-column prop="mjmc" label="面积"></el-table-column> <el-table-column prop="ytmc" label="用途"></el-table-column> <el-table-column prop="zl" label="坐落"></el-table-column> </select-table> </el-form-item> </div> <div class="triangle"></div> </div> <el-row :gutter="10"> <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="8"> <el-form-item label="业务号:" prop="qlxx.ywh" :rules="rules.ywhrules"> <el-input v-model="ruleForm.qlxx.ywh"></el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="上手业务号:"> <el-input disabled v-model="ruleForm.qlxx.ssywh"></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.qlxx.qllxmc"></el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="登记类型:" prop="qlxx.djlx" :rules="rules.djlxrules"> <el-select v-model="ruleForm.qlxx.djlx" @change="djlxchange"> <el-option v-for="item in djlxlist" :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-input v-model="ruleForm.qlxx.zl"></el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="土地使用权人:"> <el-input v-model="ruleForm.fdcq2.tdsyqr"></el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="独用土地面积:"> <div class="flex"> <el-input v-model="ruleForm.fdcq2.dytdmj" oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> <el-select disabled v-model="mjdw" style="width: 20%"> <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 v-model="ruleForm.fdcq2.fttdmj" oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> <el-select disabled v-model="mjdw" style="width: 20%"> <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="土地性质:" style="margin-bottom: 3px"> <treeselect v-model="ruleForm.fdcq2.tdxz" noOptionsText="暂无数据" placeholder="" :normalizer="normalizer" :show-count="true" :options="dictData['A9']" /> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="房地产交易价格:"> <div class="flex"> <el-input v-model="ruleForm.fdcq2.qjjg" style="width: 500%" oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> <el-select v-model="ruleForm.fdcq2.jedw"> <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-col :span="8"> <el-form-item label="权属状态:"> <el-select v-model="ruleForm.qlxx.qszt"> <el-option v-for="item in qsztlist" :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-select v-model="ruleForm.fdcq2.ghyt"> <el-option v-for="item in dictData['A17']" :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-input v-model="ruleForm.fdcq2.pzyt"></el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="实际用途:"> <el-input v-model="ruleForm.fdcq2.sjyt"></el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="房屋性质:"> <el-select v-model="ruleForm.fdcq2.fwxz"> <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-col :span="8"> <el-form-item label="房屋结构:" prop="fdcq2.fwjg" :rules="rules.fwjgrules"> <el-select v-model="ruleForm.fdcq2.fwjg"> <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-input v-model="ruleForm.fdcq2.szc"></el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="总层数:"> <el-input v-model="ruleForm.fdcq2.zcs"></el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="建筑面积:"> <div class="flex"> <el-input v-model="ruleForm.fdcq2.jzmj" oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input> <el-select disabled v-model="mjdw" style="width: 20%"> <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 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: 20%"> <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 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: 20%"> <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-date-picker v-model="ruleForm.fdcq2.jgsj" class="width100" type="date" placeholder="选择日期" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd"> </el-date-picker> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="不动产权证号:" prop="qlxx.bdcqzh" :rules="rules.bdcqzhrules"> <el-input v-model="ruleForm.qlxx.bdcqzh"></el-input> </el-form-item> </el-col> <!-- <el-col :span="8"> <el-form-item label="区县代码:" prop="qlxx.qxdm" :rules="rules.qxdmrules" > <el-input v-model="ruleForm.qlxx.qxdm"></el-input> </el-form-item> </el-col> --> <el-col :span="8"> <el-form-item label="登记机构:" prop="qlxx.djjg" :rules="rules.djjgrules"> <el-input v-model="ruleForm.qlxx.djjg"></el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="登簿人:" prop="qlxx.dbr" :rules="rules.dbrrules"> <el-input v-model="ruleForm.qlxx.dbr"></el-input> </el-form-item> </el-col> <el-col :span="8"> <el-form-item label="登记时间:" prop="qlxx.djsj" :rules="rules.djsjrules"> <el-date-picker v-model="ruleForm.qlxx.djsj" type="date" class="width100" placeholder="选择日期" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd"> </el-date-picker> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="24"> <el-form-item label="登记原因:"> <el-input v-model="ruleForm.fdcq2.djyy"></el-input> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="24"> <el-form-item label="附记:"> <el-input v-model="ruleForm.fdcq2.fj"></el-input> </el-form-item> </el-col> </el-row> <div class="slxx_title title-block"> 土地用途 <div class="triangle"></div> </div> <tdytTable :tableData="ruleForm.tdytqxList" @upDateTdytxxList="upDateTdytxxList" :ableOperation="ableOperation" /> <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="!ableOperation" v-model="ruleForm.qlxx.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-row> <qlrCommonTable :tableData="ruleForm.qlrData" @upDateQlrxxList="upDateQlrxxList" :ableOperation="ableOperation" :key="key" :gyfs="ruleForm.qlxx.gyfs" /> </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 { mapGetters } from "vuex"; import ywmix from "@/views/ywbl/mixin/index"; import { init, getSsQlxx, getQlxxByQlxxBsm, save } from "@/api/djbRepair.js"; import qlrCommonTable from "@/views/djbworkflow/components/qlrCommonTable"; import selectTable from "@/components/selectTable/index.vue"; import tdytTable from "@/views/workflow/components/tdytTable"; export default { mixins: [ywmix], components: { qlrCommonTable, tdytTable, selectTable }, computed: { ...mapGetters(["dictData", "flag"]), // 根据流程判断表单是否为只读 editDisabled () { if (!this.ableOperation) { //只读状态 return true; } return false; }, }, data () { return { mjdw: "1", ssqlxxshow: true, props: { label: "bdcqzh", value: "bdcdyid", }, // 键名转换,方法默认是label和children进行树状渲染 normalizer (node) { //方法 if (node.children == null || node.children == "null") { delete node.children; } return { id: node.dcode, label: node.dname, }; }, //表单是否可操作 propsParam: this.$attrs, // 登记类型 djlxlist: [ { dcode: "100", dname: "首次登记", }, { dcode: "200", dname: "转移登记", }, { dcode: "300", dname: "变更登记", }, { dcode: "500", dname: "更正登记", }, { dcode: "901", dname: "补证", }, { dcode: "902", dname: "换证", }, ], // 权属状态 qsztlist: [ { dcode: "1", dname: "现势", }, { dcode: "2", dname: "历史", }, ], key: 0, tdxz: null, isShow: false, disabled: true, czrOptions: [], ssQlxxList: [], ruleForm: { fdcq2: { ftjzmj: "", }, }, ableOperation: false, //传递参数\ rules: { ssQlxxrules: [ { required: true, message: "上手权利信息", trigger: "blur" }, ], bdcqzhrules: [ { required: true, message: "不动产权证号:", trigger: "blur" }, ], // qxdmrules: [{ required: true, message: "区县代码", trigger: "blur" }], djjgrules: [{ required: true, message: "登记机构", trigger: "blur" }], dbrrules: [{ required: true, message: "登簿人", trigger: "blur" }], djsjrules: [{ required: true, message: "登记时间", trigger: "blur" }], fwjgrules: [{ required: true, message: "房屋结构", trigger: "change" }], djlxrules: [{ required: true, message: "登记类型", trigger: "change" }], ywhrules: [{ required: true, message: "业务号", trigger: "blur" }], }, }; }, mounted () { this.loadData(); this.ableOperation = this.$parent.ableOperation; }, methods: { /** * @description: ssQlxxchange * @param {*} val * @author: renchao */ ssQlxxchange (val) { this.ruleForm.ssQlxx = val; this.ruleForm.qlxx.ssywh = val.ywh; this.ssQlxxchangediolog(val); }, // 弹框事件 ssQlxxchangediolog (val) { this.$confirm("是否将上手权利信息同步到表单", "提示", { iconClass: "el-icon-question", //自定义图标样式 confirmButtonText: "确认", //确认按钮文字更换 cancelButtonText: "取消", //取消按钮文字更换 showClose: true, //是否显示右上角关闭按钮 type: "warning", }).then(() => { getQlxxByQlxxBsm({ qlxxBsm: val.bsmQlxx }).then((res) => { if (res.code == 200) { this.nowlist = res.result; for (var key in this.ruleForm.fdcq2) { if ( this.ruleForm.fdcq2[key] == "" || this.ruleForm.fdcq2[key] == null ) { this.ruleForm.fdcq2[key] = this.nowlist.fdcq2[key]; } } for (var key in this.ruleForm.qlxx) { if ( this.ruleForm.qlxx[key] == "" || this.ruleForm.qlxx[key] == null && key != "ywh" && key != "dbr" && key != "djsj" && key != "ssywh" && key != "ssywh" && key != "bdcqzh") { this.ruleForm.qlxx[key] = this.nowlist.qlxx[key]; } } if (!this.ruleForm.tdytqxList.length) { this.ruleForm.tdytqxList = this.nowlist.tdytqxList; } if (!this.ruleForm.qlrData.length) { this.ruleForm.qlrData = this.nowlist.qlrData; } if (!this.ruleForm.ywrData.length) { this.ruleForm.ywrData = this.nowlist.ywrData; } this.$message({ type: "success", message: "同步成功!", }); } }); }).catch(() => { this.$message({ type: "info", message: "已取消同步", }); }); }, /** * @description: djlxchange * @param {*} val * @author: renchao */ djlxchange (val) { if (val == null || val == 100) { this.ssqlxxshow = false; } else { this.ssqlxxshow = true; } }, /** * @description: loadData * @author: renchao */ loadData () { this.$startLoading(); this.propsParam.isEdit = this.$parent.isEdit; init(this.propsParam).then((res) => { if (res.code == 200) { this.ruleForm = res.result; this.ruleForm.qlrList.forEach((item, index) => { if (item.sfczr == 1) { this.ruleForm.czr = item.zjh } }) let djlx = this.ruleForm.qlxx.djlx; if (djlx == null || djlx == 100) { this.ssqlxxshow = false; } this.ruleForm.fdcq2.jedw = "1"; this.$endLoading(); if (this.ruleForm.tdytqxList.length > 0) { this.tdxz = this.ruleForm.tdytqxList[0].qlxzbm; } else { this.tdxz = null; } this.isShow = true; //获取主体信息 getSsQlxx({ bdcdyid: this.propsParam.bdcdyid, qllx: this.propsParam.qllx, bsmQlxx: this.ruleForm.qlxx.bsmQlxx, }).then((res) => { if (res.code == 200) { this.ssQlxxList = res.result; } }); } }); }, // 更新土地用途信息 /** * @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.qlrData && (this.ruleForm.qlrData = _.cloneDeep(val)); this.czrOptions = this.ruleForm.qlrData; this.key++; }, // 更新义务人信息 /** * @description: 更新义务人信息 * @param {*} val * @author: renchao */ upDateYwrxxList (val) { this.ruleForm.ywrData && (this.ruleForm.ywrData = _.cloneDeep(val)); this.key++; }, /** * @description: onSubmit * @author: renchao */ onSubmit () { this.$refs.ruleForm.validate((valid) => { if (valid) { if (this.ruleForm.qlrData.length == 0) { this.$message({ showClose: true, message: "请确认权利人信息", type: "error", }); return false; } if (this.ruleForm.tdytqxList.length == 0 && !this.tdxz) { this.$message({ showClose: true, message: "请补充土地用途信息", type: "error", }); return false; } if (!this.ruleForm.fdcq2.tdxz) { this.$message({ showClose: true, message: "请补充土地性质", type: "error", }); } if (this.ruleForm.qlxx.gyfs == "0") { if (this.ruleForm.qlrData.length > 1) { this.$message({ showClose: true, message: "请确认权利人信息", type: "error", }); return false; } if (this.ruleForm.tdytqxList.length == 0 && !this.tdxz) { this.$message({ showClose: true, message: "请补充土地用途信息", type: "error", }); return false; } } if (this.ruleForm.sldy.gyfs == "0") { if (this.ruleForm.qlrData.length > 1) { this.$message({ showClose: true, message: "共有方式:单独所有,权利人只能是一个人", type: "error", }); return false; } } else { if (this.ruleForm.qlrData.length <= 1) { this.$message({ showClose: true, message: "共有方式:共同所有,按份所有,其他所有,权利人必须是两个以上", type: "error", }); return false; } } save(this.ruleForm).then((res) => { if (res.code === 200) { this.$message({ showClose: true, message: "保存成功!", type: "success", }); this.$parent.changeywh(); this.$store.dispatch("user/refreshPage", true); } else { this.$message({ showClose: true, message: res.message, type: "error", }); } }); } else { return false; } }); }, }, }; </script> <style scoped lang="scss"> @import "~@/styles/public.scss"; @import "~@/styles/slxx/slxx.scss"; .el-date-editor.el-input { width: 100%; } .el-table__row { height: 30px !important; } </style>