c3242e2d by 蔡俊立

功能完善

1 parent de3d2764
import request from '@/utils/request'
import SERVER from './config'
// 根据条件进行列表查询
// 获取家庭房产列表
export function getJtfcPage (data) {
return request({
url: SERVER.SERVERAPI + '/rest/sqcx/jtfc/getJtfcPage',
......@@ -8,6 +8,16 @@ export function getJtfcPage (data) {
data
})
}
// 获取房屋明细列表
export function getFwmxPage (data) {
return request({
url: SERVER.SERVERAPI + '/rest/sqcx/jtfc/getFwmxPage',
method: 'post',
data
})
}
// 新增申请查询家庭房产信息
export function addJtfcCxjgXx (data) {
return request({
......@@ -16,6 +26,16 @@ export function addJtfcCxjgXx (data) {
data
})
}
// 新增申请查询房屋明细信息
export function addFwmxCxjgXx (data) {
return request({
url: SERVER.SERVERAPI + '/rest/sqcx/jtfc/addFwmxCxjgXx',
method: 'post',
data
})
}
// 获取申请查询记录详细信息
export function getJtfcInfo (params) {
return request({
......
<template>
<dialogBox title="房屋明细查询" @closeDialog="closeDialog" width="70%" :isButton="false" v-model="myValue">
<el-steps :active="activeStep" finish-status="success">
<el-step title="条件录入"></el-step>
<el-step title="结果查询"></el-step>
<el-step title="结果展示"></el-step>
</el-steps>
<div class="jtfccx-edit" v-show="!isSearch">
<div class="jtfccx-edit-con">
<b class="title"></b>
<el-form :model="form" label-width="120px">
<el-row>
<el-col :span="6">
<el-form-item label="查询用途" label-width="90px">
<el-input v-model="form.djSqcxDO.cxyt" class="width200px"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="不动产权证号" label-width="120px">
<el-input v-model="form.djSqcxDO.bdcqzh" class="width200px"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="与产权人的关系">
<el-radio-group v-model="form.djSqcxDO.ycqrgx">
<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>
</el-form>
<lb-table :column="sqrColumns" key="sqr1" :data="form.sqrList" :maxHeight="200" heightNumSetting
:pagination="false">
</lb-table>
<b class="title">权利人</b>
<lb-table :column="qlrColumns" key="ql2r" :data="form.qlrList" :maxHeight="200" heightNumSetting
:pagination="false">
</lb-table>
<div class="submit-button" style="padding-bottom:50px">
<el-button @click="resetClick" v-show="!isSearch">重置</el-button>
<el-button type="primary" @click="queryChick" v-show="!isSearch">查询</el-button>
<el-button @click="closeDialog">关闭</el-button>
</div>
</div>
</div>
<div>
<dydjbInfo v-show="isSearch"/>
</div>
</dialogBox>
</template>
<script>
import { addFwmxCxjgXx, getJtfcInfo,printJtcfInfo } from "@/api/sqcx";
import { getPrintTemplateByCode } from "@/api/system";
import { datas, sendThis } from "./dydjbdata";
import { getLodop } from "@/utils/LodopFuncs"
import dydjbInfo from "./dydjbInfo.vue";
import { mapGetters } from "vuex";
export default {
computed: {
...mapGetters(["dictData"]),
},
components: { dydjbInfo },
props: {
value: { type: Boolean, default: false },
sqcxBsm: { type: String, default: "" },
},
mounted () {
},
data () {
return {
activeStep: 0,
myValue: this.value,
//是否查询
isSearch: false,
//查询结果列表字段
cxjgColumns: datas.columns(),
//申请人列表字段
sqrColumns: datas.sqrCol(),
//权利人列表字段
qlrColumns: datas.qlrCol(),
newData: {
sqrxm: "",
sqrzjlxbm: "",
sqrzjhm: "",
lxdh: "",
inputErr: false,
},
form: {
djSqcxDO: { ycqrgx: "1", cxyt: "",bdcqzh: "" },
sqrList: [],
qlrList: [],
cxjgList: [],
dyjlList: [],
},
};
},
watch: {
value (val) {
this.myValue = val;
let that = this
if (val) {
this.form.sqrList = []
this.form.qlrList = []
this.isSearch = false
if (this.sqcxBsm == "") {
that.add("sqr");
that.add("qlr");
} else {
that.loadData();
}
}
},
"form.djSqcxDO.ycqrgx" (val) {
if (val == "1") {
this.form.qlrList = _.cloneDeep(this.form.sqrList);
} else {
this.form.qlrList = [];
this.add("qlr");
}
},
"form.sqrList" (val) {
if (this.form.djSqcxDO.ycqrgx == '1') {
this.form.qlrList = _.cloneDeep(this.form.sqrList)
}
}
},
methods: {
closeDialog () {
this.$emit("input", false);
this.activeStep = 0;
this.form = {
djSqcxDO: { ycqrgx: "1", cxyt: "" ,bdcqzh: ""},
sqrList: [],
qlrList: [],
cxjgList: [],
dyjlList: [],
}
},
//加载详细信息
loadData () {
this.$startLoading();
getJtfcInfo({ sqcxBsm: this.sqcxBsm }).then((res) => {
this.$endLoading();
if (res.code == 200) {
this.form = res.result;
this.isSearch = true;
}
});
},
//查询结果
queryChick () {
this.$startLoading();
this.activeStep = 1;
addFwmxCxjgXx(this.form).then((res) => {
this.$endLoading();
if (res.code == 200) {
this.form = res.result;
this.activeStep = 2;
this.isSearch = true;
this.$parent.queryClick();
}
});
},
//重置
resetClick () {
this.form.djSqcxDO = { ycqrgx: "1", cxyt: "",bdcqzh: "" };
this.form.sqrList = _.cloneDeep([this.newData]);
this.form.qlrList = _.cloneDeep([this.newData]);
this.form.cxjgList = [];
this.form.dyjlList = [];
this.isSearch = false;
},
handleRead (scope) { },
//添加申请人或权利人
add (type) {
if (type == "sqr") {
this.form.sqrList.push(_.cloneDeep(this.newData));
} else {
this.form.qlrList.push(_.cloneDeep(this.newData));
}
},
//移除申请人或权利人
remove (index, row, type) {
if (type == "sqr") {
this.form.sqrList.splice(index, 1);
} else {
this.form.qlrList.splice(index, 1);
}
},
//电话号码校验
teltest (row) {
const reg = /^1([38]\d|5[0-35-9]|7[3678])\d{8}$/;
if (row.lxdh == "" || row.lxdh.length <= 10 || !reg.test(row.lxdh)) {
row.inputErr = true;
return false;
} else {
row.inputErr = false;
return true;
}
},
},
};
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
@import "~@/styles/public.scss";
.title {
padding-bottom: 10px;
margin-bottom: 10px;
display: block;
border-bottom: 1px solid $borderColor;
}
.jtfccx-edit {
@include flex;
flex-direction: column;
overflow-y: hidden;
max-height: 87vh;
padding: 0 2px;
.jtfccx-edit-con {
flex: 1;
height: 100%;
overflow-y: scroll;
}
.submit-button {
text-align: center;
height: 52px;
padding-top: 10px;
background-color: #fff;
}
}
</style>
import filter from '@/utils/filter.js'
let vm = null
const sendThis = (_this) => {
vm = _this
}
class data extends filter {
constructor() {
super()
}
columns () {
return [
{
prop: 'qszt',
label: '权属状态',
},
{
prop: 'bdcqzh',
label: '不动产权证号',
},
{
prop: 'djsj',
label: '登记时间',
},
{
prop: 'wqhth',
label: '合同号',
},
{
prop: 'wqsj',
label: '网签时间',
},
{
prop: 'bdcdyh',
label: '不动产单元号',
},
{
prop: 'gyfs',
label: '共有方式',
},
{
prop: 'qlrmc',
label: '权利人',
},
{
prop: 'zjhm',
label: '证件号',
},
{
prop: 'fdzl',
label: '房地坐落',
},
{
prop: 'fwmj',
label: '建筑面积(㎡)',
},
{
prop: 'fwyt',
label: '房屋用途',
},
{
label: '登记状态',
align: 'center',
fixed: 'right',
render: (h, scope) => {
if(scope.row.dyzt != '0' && scope.row.cfzt != '0'){
return <div>抵押、查封</div>
}
if(scope.row.dyzt != '0'){
return <div>抵押</div>
}
if(scope.row.cfzt != '0'){
return <div>查封</div>
}
}
}
]
}
sqrCol () {
return [
{
width: "60",
renderHeader: (h, scope) => {
return (
<i
class="el-icon-plus pointer"
onClick={() => {
vm.add("sqr");
}}
style="color:#409EFF"
></i>
);
},
render: (h, scope) => {
return (
<i
class="el-icon-minus pointer"
onClick={() => {
vm.remove(scope.$index, scope.row, "sqr");
}}
></i>
);
},
},
{
width: "150",
label: "身份证读卡器",
render: (h, scope) => {
return (
<div>
<el-button
type="text"
icon="el-icon-edit-outline"
onClick={() => {
vm.handleRead(scope);
}}
>
读取
</el-button>
</div>
);
},
},
{
width: "150",
prop: "sqrxm",
label: "姓名/名称",
render: (h, scope) => {
return (
<el-input
placeholder="姓名/名称"
value={scope.row[scope.column.property]}
onInput={(val) => {
scope.row[scope.column.property] = val;
}}
></el-input>
);
},
},
{
prop: "sqrzjlxbm",
label: "证件种类",
render: (h, scope) => {
return (
<el-select
class="width100"
clearable
value={scope.row[scope.column.property]}
onChange={(val) => {
scope.row[scope.column.property] = val;
}}
>
{vm.dictData["A30"].map((option) => {
return (
<el-option
label={option.dname}
value={option.dcode}
></el-option>
);
})}
</el-select>
);
},
},
{
prop: "sqrzjhm",
label: "证件号",
render: (h, scope) => {
return (
<el-input
placeholder="证件号"
value={scope.row[scope.column.property]}
onInput={(val) => {
scope.row[scope.column.property] = val;
}}
maxlength="21"
></el-input>
);
},
},
{
prop: "lxdh",
label: "联系电话",
render: (h, scope) => {
return (
<div class="typePhone">
<el-input
placeholder="联系电话"
value={scope.row[scope.column.property]}
onInput={(val) => {
scope.row[scope.column.property] = val;
}}
onBlur={(val) => {
vm.teltest(scope.row);
}}
type="tel"
maxlength="11"
></el-input>
<span
v-show={scope.row.inputErr}
style={{
fontSize: "12px",
color: "red",
position: "absolute",
bottom: "-2px",
left: "0",
}}
>
请输入正确手机号
</span>
</div>
);
},
},
]
}
qlrCol () {
return [
{
width: "60",
renderHeader: (h, scope) => {
return (
<i
class="el-icon-plus pointer"
onClick={() => {
vm.add("qlr");
}}
style="color:#409EFF"
></i>
);
},
render: (h, scope) => {
return (
<i
class="el-icon-minus pointer"
onClick={() => {
vm.remove(scope.$index, scope.row, "qlr");
}}
></i>
);
},
},
{
width: "150",
label: "身份证读卡器",
render: (h, scope) => {
return (
<div>
<el-button
type="text"
icon="el-icon-edit-outline"
onClick={() => {
vm.handleRead(scope);
}}
>
读取
</el-button>
</div>
);
},
},
{
width: "150",
prop: "sqrxm",
label: "姓名/名称",
render: (h, scope) => {
return (
<el-input
placeholder="姓名/名称"
value={scope.row[scope.column.property]}
onInput={(val) => {
scope.row[scope.column.property] = val;
}}
></el-input>
);
},
},
{
prop: "sqrzjlxbm",
label: "证件种类",
render: (h, scope) => {
return (
<el-select
class="width100"
value={scope.row[scope.column.property]}
onChange={(val) => {
scope.row[scope.column.property] = val;
}}
>
{vm.dictData["A30"].map((option) => {
return (
<el-option
label={option.dname}
value={option.dcode}
></el-option>
);
})}
</el-select>
);
},
},
{
prop: "sqrzjhm",
label: "证件号",
render: (h, scope) => {
return (
<el-input
placeholder="证件号"
value={scope.row[scope.column.property]}
onInput={(val) => {
scope.row[scope.column.property] = val;
}}
maxlength="21"
></el-input>
);
},
},
{
prop: "lxdh",
label: "联系电话",
render: (h, scope) => {
return (
<div class="typePhone">
<el-input
placeholder="联系电话"
value={scope.row[scope.column.property]}
onInput={(val) => {
scope.row[scope.column.property] = val;
}}
onBlur={(val) => {
vm.teltest(scope.row);
}}
type="tel"
maxlength="11"
></el-input>
<span
v-show={scope.row.inputErr}
style={{
fontSize: "12px",
color: "red",
position: "absolute",
bottom: "-2px",
left: "0",
}}
>
请输入正确手机号
</span>
</div>
);
},
},
]
}
}
let datas = new data()
export {
datas,
sendThis
}
......@@ -29,7 +29,7 @@
<el-col :span="3" class="btnColRight">
<el-form-item>
<el-button type="primary" native-type="submit" @click="queryClick">查询</el-button>
<!-- <el-button @click="moreQueryClick()">高级查询</el-button> -->
<el-button type="primary" @click="openAddDialog">新增</el-button>
</el-form-item>
</el-col>
</el-row>
......@@ -42,6 +42,7 @@
@p-current-change="handleCurrentChange" :column="tableData.columns" :data="tableData.data">
</lb-table>
</div>
<addDydjb v-model="isDialog" :sqcxBsm="sqcxBsm" />
</div>
</template>
<script>
......@@ -49,9 +50,11 @@ import { mapGetters } from "vuex";
import table from "@/utils/mixin/table";
import { popupDialog } from "@/utils/popup.js";
import { datas, sendThis } from "./dydjbdata";
import { getJtfcPage } from "@/api/sqcx";
import addDydjb from "./components/addDydjb.vue";
import { getFwmxPage } from "@/api/sqcx";
export default {
name: "dydjb",
components: { addDydjb },
mixins: [table],
mounted () {
sendThis(this);
......@@ -62,6 +65,8 @@ export default {
},
data () {
return {
isDialog: false,
sqcxBsm: "",
queryForm: {
cxbh: "",
sqr: "",
......@@ -77,7 +82,7 @@ export default {
// 初始化数据
queryClick () {
this.$startLoading();
getJtfcPage({ ...this.queryForm, ...this.pageData }).then((res) => {
getFwmxPage({ ...this.queryForm, ...this.pageData }).then((res) => {
this.$endLoading();
if (res.code === 200) {
let { records, total } = res.result;
......@@ -94,6 +99,9 @@ export default {
handleSort (name, sort) {
console.log(name, sort);
},
openAddDialog(){
this.isDialog = true
}
},
};
</script>
......
......@@ -22,7 +22,7 @@ class data extends filter {
case '1':
return <div>家庭房产</div>
case '2':
return <div>登记簿</div>
return <div>房屋明细</div>
}
}
},
......
......@@ -41,10 +41,10 @@
<el-button v-show="isSearch == false" @click="resetClick">重置</el-button>
<el-button type="primary" v-show="isSearch == false" @click="queryChick">查询</el-button>
<el-button type="primary" v-show="isSearch && form.cxjgList.length > 0" @click="printResult">
房产结果打印({{ form.dyjlList.length }}
房产结果打印({{ form.djSqcxDO.dycs }}
</el-button>
<el-button type="primary" v-show="isSearch && form.cxjgList.length == 0" @click="printResult">
无房证明打印({{ form.dyjlList.length }}
无房证明打印({{ form.djSqcxDO.dycs }}
</el-button>
<el-button @click="closeDialog">关闭</el-button>
</div>
......@@ -207,8 +207,15 @@ export default {
var formdata = new FormData();
formdata.append("sqcxBsm", this.form.djSqcxDO.bsmSqcx);
formdata.append("dylx", '1');
printJtcfInfo(formdata);
this.closeDialog();
printJtcfInfo(formdata).then(res => {
if(res.code == 200){
this.form.djSqcxDO.dycs = this.form.djSqcxDO.dycs + 1
}
});
//this.closeDialog();
},
//打开打印预览
openPrintPrew(){
......
......@@ -29,7 +29,7 @@ class data extends filter {
case '1':
return <div>家庭房产</div>
case '2':
return <div>登记簿</div>
return <div>房屋明细</div>
}
}
},
......