39039a30 by 任超
2 parents e4f52ae2 e99c4026
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({
......@@ -24,3 +44,12 @@ export function getJtfcInfo (params) {
params
})
}
// 打印家庭房产
export function printJtcfInfo (data) {
return request({
url: SERVER.SERVERAPI + '/rest/sqcx/jtfc/printJtcfInfo/',
method: 'post',
data
})
}
......
......@@ -33,6 +33,7 @@ export function Init (data) {
data
})
}
// 初始化内容
export function saveData (data) {
return request({
......
......@@ -141,4 +141,23 @@ export function getJdcxBysearch (data) {
})
}
// 证书领取查询
export function getBdcqzReceiveList (data) {
return request({
url: SERVER.SERVERAPI + '/rest/zhcx/search/getBdcqzReceiveList',
method: 'post',
data
})
}
// 在建工程抵押查询
export function getZjgcdyList (data) {
return request({
url: SERVER.SERVERAPI + '/rest/zhcx/search/getZjgcdyList',
method: 'post',
data
})
}
......
<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 v-if="isSearch">
<dydjbInfo ref="dydjbInfo"/>
</div>
<div class="jtfccx-edit" v-else>
<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>
<b class="title">申请人</b>
<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>
</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 () {
sendThis(this);
},
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.activeStep = 2;
this.isSearch = true;
this.$nextTick(() => {
this.$refs.dydjbInfo.setResult(res.result)
})
}
});
},
//查询结果
queryChick () {
this.$startLoading();
this.activeStep = 1;
addFwmxCxjgXx(this.form).then((res) => {
this.$endLoading();
if (res.code == 200) {
this.activeStep = 2;
this.isSearch = true;
this.$nextTick(() => {
this.$refs.dydjbInfo.setResult(res.result)
})
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>
<template>
<div>
<!-- 界面后期调整开发,报表开发,目前先放一张图片 -->
<el-form :model="ruleForm" label-width="120px">
<el-row>
<el-col :span="6">
<img :src="imgUrl" alt="" srcset="" />
<!-- <el-form-item label="查询时间:">
{{ ruleForm.cxsj }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="不动产单元号:">
{{ ruleForm.bdcdyh }}
</el-form-item> -->
</el-col>
</el-row>
<el-row>
</el-row>
</el-form>
</div>
<div class="jtfccx-edit">
<div class="jtfccx-edit-con">
<b class="title"></b>
<b class="title">房屋状况</b>
<lb-table :column="fwColumns" key="fwzk" :data="resultData.hdetailList" :maxHeight="200" heightNumSetting
:pagination="false">
</lb-table>
<b class="title">土地状况</b>
<lb-table :column="tdColumns" key="tdzk" :data="resultData.zdjbxxDetail" :maxHeight="200" heightNumSetting
:pagination="false">
</lb-table>
<b class="title">权属状况</b>
<lb-table :column="qszkColumns" key="qszk" :data="resultData.qsxxDetail" :maxHeight="200" heightNumSetting
:pagination="false">
</lb-table>
<b class="title">抵押登记</b>
<lb-table :column="diyaColumns" key="dydj" :data="resultData.dyaqDetail" :maxHeight="200" heightNumSetting
:pagination="false">
</lb-table>
<b class="title">预告登记</b>
<lb-table :column="ygdjColumns" key="ygdj" :data="resultData.ygdjDetail" :maxHeight="200" heightNumSetting
:pagination="false">
</lb-table>
<b class="title">查封状况</b>
<lb-table :column="cfdjColumns" key="cfdj" :data="resultData.cfdjDetail" :maxHeight="200" heightNumSetting
:pagination="false">
</lb-table>
<b class="title">异议登记</b>
<lb-table :column="yydjColumns" key="yydj" :data="resultData.yydjDetail" :maxHeight="200" heightNumSetting
:pagination="false">
</lb-table>
</div>
</div>
</template>
<script>
import imgPath from "./djbyb.png"
import { datas, sendThis } from "./infodata";
import { getJtfcInfo } from "@/api/sqcx";
export default {
props: ["formData"],
created () {
var sqcxdata = this.formData.sqcxdata;
this.ruleForm = sqcxdata;
props: {
},
data () {
return {
ruleForm: {
cxsj: "",
bdcdyh: "",
},
imgUrl: imgPath,
//房屋列表字段
fwColumns: datas.fwCol(),
//土地列表字段
tdColumns: datas.tdCol(),
//权属状况列表字段
qszkColumns: datas.columns(),
//抵押登记列表字段
diyaColumns: datas.diyaCol(),
//预告登记列表字段
ygdjColumns: datas.ygdjCol(),
//查封登记列表字段
cfdjColumns: datas.cfdjCol(),
//异议登记列表字段
yydjColumns: datas.yydjCol(),
form: {},
resultData: {},
};
},
mounted () { },
methods: {},
methods: {
setResult(data){
this.resultData = data
}
},
};
</script>
<style scoped lang="scss">
......
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
}
import filter from '@/utils/filter.js'
import { Switch } from 'element-ui'
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: '附记',
}
]
}
fwCol() {
return [
{
prop: 'zdymc',
label: '幢号111',
},
{
prop: 'hh',
label: '房号',
},
{
prop: 'showfwjg',
label: '结构',
},
{
prop: 'dscs',
label: '总层数(地上)',
},
{
prop: 'dxcs',
label: '地下层数',
},
{
prop: 'ch',
label: '所在层',
},
{
prop: 'jzmj',
label: '建筑面积(㎡)',
},
{
prop: 'tnjzmj',
label: '套内面积(㎡)',
},
{
prop: 'showfwyt',
label: '规划用途',
}
]
}
tdCol() {
return [
{
prop: 'qsxz',
label: '权属性质',
},
{
prop: 'mj',
label: '面积(㎡)',
},
{
prop: 'fttdmj',
label: '分摊土地面积(㎡)',
},
{
prop: 'tfyt',
label: '用途',
},
{
prop: 'syqx',
label: '使用期限',
},
{
prop: 'qdfs',
label: '取得方式',
},
{
prop: 'jttdsyqlx',
label: '集体土地所有权类型',
},
{
prop: 'jttdsyqlx',
label: '集体土地使用权类型',
}
]
}
diyaCol() {
return [
{
prop: 'dyfs',
label: '抵押方式',
render: (h, scope) => {
switch(scope.row.dyfs) {
case '1':
return <div>一般抵押</div>
case '2':
return <div>最高额抵押</div>
}
}
},
{
prop: 'qlrmc',
label: '抵押权人名称',
},
{
prop: 'bdbzzqse',
label: '抵押金额(万元)',
},
{
prop: 'dyqx',
label: '抵押期限',
},
{
prop: 'ywh',
label: '不动产登记证明号',
},
{
prop: 'djsj',
label: '登记时间',
},
{
prop: 'fj',
label: '附记',
}
]
}
ygdjCol() {
return [
{
prop: 'ygdjzl',
label: '预告登记种类',
},
{
prop: 'qlrmc',
label: '权利人名称',
},
{
prop: 'dyje',
label: '抵押金额(万元)',
},
{
prop: 'dyqx',
label: '抵押期限',
},
{
prop: 'ywh',
label: '不动产登记证明号',
},
{
prop: 'djsj',
label: '登记时间',
},
{
prop: 'fj',
label: '附记',
}
]
}
cfdjCol() {
return [
{
prop: 'cfjg',
label: '查封机关',
},
{
prop: 'cfwh',
label: '查封文号',
},
{
prop: 'cffw',
label: '查封范围',
},
{
prop: 'cfsj',
label: '查封时间',
},
{
prop: 'cfqx',
label: '查封期限',
}
]
}
yydjCol() {
return [
{
prop: 'yysqr',
label: '异议申请人',
},
{
prop: 'yysx',
label: '异议事项',
},
{
prop: 'ywh',
label: '不动产登记证明号',
},
{
prop: 'djsj',
label: '登记时间',
},
{
prop: 'fj',
label: '附记',
}
]
}
}
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;
......@@ -87,13 +92,20 @@ export default {
});
},
dydjbClick (scope) {
popupDialog("打印登记薄", "sqcx/dydjb/components/dydjbInfo", {
sqcxdata: scope.row,
});
this.$nextTick(() => {
this.isDialog = true
this.sqcxBsm = scope.row.bsmSqcx
})
// popupDialog("打印登记薄", "sqcx/dydjb/components/dydjbInfo", {
// bsmSqcx: scope.row.bsmSqcx,
// });
},
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>
}
}
},
......
......@@ -12,7 +12,7 @@
</el-col>
<el-col :span="16">
<el-form-item label="与产权人的关系">
<el-radio-group v-model="form.djSqcxDO.ycyrgx">
<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>
......@@ -38,21 +38,29 @@
</div>
<el-divider></el-divider>
<div class="submit-button" style="padding-bottom:50px">
<el-button @click="resetClick">重置</el-button>
<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.dyjlList.length > 0">房产结果打印({{ form.dyjlList.length }}
<el-button type="primary" v-show="isSearch && form.cxjgList.length > 0" @click="printResult">
房产结果打印({{ form.djSqcxDO.dycs }}
</el-button>
<el-button type="primary" v-show="isSearch && form.dyjlList.length == 0">无房证明打印({{ form.dyjlList.length }}
<el-button type="primary" v-show="isSearch && form.cxjgList.length == 0" @click="printResult">
无房证明打印({{ form.djSqcxDO.dycs }}
</el-button>
<el-button @click="closeDialog">关闭</el-button>
</div>
<!-- 打印模板需要此模块 -->
<object id="LODOP_OB" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" v-show="false">
<embed id="LODOP_EM" type="application/x-print-lodop" width=820 height=450 pluginspage="install_lodop32.exe" />
</object>
</div>
</dialogBox>
</template>
<script>
import { addJtfcCxjgXx, getJtfcInfo } from "@/api/sqcx";
import { addJtfcCxjgXx, getJtfcInfo,printJtcfInfo } from "@/api/sqcx";
import { getPrintTemplateByCode } from "@/api/system";
import { datas, sendThis } from "./addjtfcdata";
import { getLodop } from "@/utils/LodopFuncs"
import { mapGetters } from "vuex";
export default {
computed: {
......@@ -84,7 +92,7 @@ export default {
inputErr: false,
},
form: {
djSqcxDO: { ycyrgx: "1", cxyt: "" },
djSqcxDO: { ycqrgx: "1", cxyt: "" },
sqrList: [],
qlrList: [],
cxjgList: [],
......@@ -108,7 +116,7 @@ export default {
}
}
},
"form.djSqcxDO.ycyrgx" (val) {
"form.djSqcxDO.ycqrgx" (val) {
if (val == "1") {
this.form.qlrList = _.cloneDeep(this.form.sqrList);
} else {
......@@ -117,7 +125,7 @@ export default {
}
},
"form.sqrList" (val) {
if (this.form.djSqcxDO.ycyrgx == '1') {
if (this.form.djSqcxDO.ycqrgx == '1') {
this.form.qlrList = _.cloneDeep(this.form.sqrList)
}
}
......@@ -125,7 +133,15 @@ export default {
methods: {
closeDialog () {
this.$emit("input", false);
this.form = {
djSqcxDO: { ycqrgx: "1", cxyt: "" },
sqrList: [],
qlrList: [],
cxjgList: [],
dyjlList: [],
}
},
//加载详细信息
loadData () {
this.$startLoading();
getJtfcInfo({ sqcxBsm: this.sqcxBsm }).then((res) => {
......@@ -136,6 +152,7 @@ export default {
}
});
},
//查询结果
queryChick () {
this.$startLoading();
addJtfcCxjgXx(this.form).then((res) => {
......@@ -147,8 +164,9 @@ export default {
}
});
},
//重置
resetClick () {
this.form.djSqcxDO = { ycyrgx: "1", cxyt: "" };
this.form.djSqcxDO = { ycqrgx: "1", cxyt: "" };
this.form.sqrList = _.cloneDeep([this.newData]);
this.form.qlrList = _.cloneDeep([this.newData]);
this.form.cxjgList = [];
......@@ -156,6 +174,7 @@ export default {
this.isSearch = false;
},
handleRead (scope) { },
//添加申请人或权利人
add (type) {
if (type == "sqr") {
this.form.sqrList.push(_.cloneDeep(this.newData));
......@@ -163,6 +182,7 @@ export default {
this.form.qlrList.push(_.cloneDeep(this.newData));
}
},
//移除申请人或权利人
remove (index, row, type) {
if (type == "sqr") {
this.form.sqrList.splice(index, 1);
......@@ -170,6 +190,7 @@ export default {
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)) {
......@@ -180,6 +201,29 @@ export default {
return true;
}
},
//打印
printResult(){
this.openPrintPrew();
var formdata = new FormData();
formdata.append("sqcxBsm", this.form.djSqcxDO.bsmSqcx);
formdata.append("dylx", '1');
printJtcfInfo(formdata).then(res => {
if(res.code == 200){
this.form.djSqcxDO.dycs = this.form.djSqcxDO.dycs + 1
}
});
},
//打开打印预览
openPrintPrew(){
//根据编号获取对应信息
getPrintTemplateByCode({ tmpno: 'jtfcdys' }).then(res => {
if (res.code == 200) {
let LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM'));
LODOP.ADD_PRINT_DATA("ProgramData", res.result.tmpcontent); //装载模板
LODOP.PREVIEW();
}
})
}
},
};
</script>
......
......@@ -64,12 +64,15 @@ class data extends filter {
align: 'center',
fixed: 'right',
render: (h, scope) => {
return (
<div>
<el-button type="text" icon="el-icon-discover" onClick={() => { this.dyClick(scope) }}>抵押</el-button>
<el-button type="text" icon="el-icon-discover" onClick={() => { this.cfClick(scope) }}>查封</el-button>
</div>
)
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>
}
}
}
]
......
......@@ -29,7 +29,7 @@ class data extends filter {
case '1':
return <div>家庭房产</div>
case '2':
return <div>登记簿</div>
return <div>房屋明细</div>
}
}
},
......
......@@ -129,15 +129,22 @@ class data extends filter {
dyjlcolumns () {
return [
{
prop: 'sqrxm',
label: '打印类型',
render: (h, scope) => {
switch (scope.row.dylx) {
case '1':
return <div>房产结果</div>
case '2':
return <div>无房证明</div>
}
}
},
{
prop: 'sqrzjlxmc',
prop: 'dyr',
label: '打印人员',
},
{
prop: 'sqrzjhm',
prop: 'dysj',
label: '打印时间',
}
]
......
<template>
<dialogBox title="申请人信息" width="60%" isMain v-model="myValue" :isFullscreen="false" @submitForm="submitForm"
@closeDialog="closeDialog">
@closeDialog="closeDialog" :isButton="showButton">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="120px">
<el-row>
<el-col :span="8">
......@@ -143,6 +143,7 @@ export default {
props: {
value: { type: Boolean, default: false },
details: { type: Object, default: {} },
showButton: {type: Boolean, default: false}
},
computed: {
...mapGetters(["dictData"]),
......
......@@ -2,7 +2,7 @@
<div>
<lb-table :column="column" :maxHeight="300" heightNumSetting :pagination="false" :key="key" :data="tableDataList">
</lb-table>
<addQlr v-model="dialog" :details="details" @updateDetail="handleupdateDetail" />
<addQlr v-model="dialog" :details="details" :showButton="showButton" @updateDetail="handleupdateDetail" />
</div>
</template>
<script>
......@@ -33,6 +33,7 @@ export default {
dataIndex: 0,
dialog: false,
isaddupdate: false,
showButton: this.$route.query.viewtype ? false : true,
details: {},
tableDataList: [],
InformationTable: [
......@@ -91,7 +92,7 @@ export default {
return (
<div>
{
this.$route.query.viewtype == 1 ? <el-button
this.$route.query.viewtype ? <el-button
icon="el-icon-view"
type="text"
onClick={() => { this.queryViewClick(scope.$index, scope.row) }}>查看</el-button> : <el-button
......@@ -165,8 +166,12 @@ export default {
// 新增
addClick () {
this.dialog = true
this.isaddupdate = true
if(this.gyfs == '0' && this.tableDataList.length > 0){
this.$message.warning("当前共有方式为单独所有,无法添加多个权利人")
}else{
this.dialog = true
this.isaddupdate = true
}
},
// 删除
......
<template>
<div class="from-clues">
<div class="invalid-title">
<i class="el-icon-question invalid-icon"></i>
<div class="invalid-body">您是否确定终止该业务办理?</div>
<i class="el-icon-question invalid-icon"></i>
<div class="invalid-body">您是否确定终止该业务办理?</div>
</div>
<div class="invalid-reson">终止原因:</div>
<el-input v-model="stopMessage" placeholder="请输入终止原因" type="textarea" :rows="4"></el-input>
<el-button style="float:right">取消</el-button>
<el-button type="primary" @click="onSubmit" style="float:right">退件</el-button>
<el-input
v-model="stopMessage"
placeholder="请输入终止原因"
type="textarea"
:rows="4"
></el-input>
<el-button style="float: right">取消</el-button>
<el-button type="primary" @click="onSubmit" style="float: right"
>退件</el-button
>
</div>
</template>
<script>
import { stopTask } from "@/api/fqsq.js"
import { stopTask } from "@/api/fqsq.js";
export default {
props: {
formData: {
type: Object,
default: {}
}
default: {},
},
},
data () {
data() {
return {
stopMessage: ''
}
stopMessage: "",
};
},
methods: {
onSubmit () {
onSubmit() {
stopTask({
bsmSlsq: this.formData.bsmSlsq,
bestepid: this.formData.bestepid,
stopMessage: this.stopMessage
}).then(res => {
this.$message.success('终止成功')
setTimeout(() => {
window.opener.location.reload(); //刷新父窗口
window.close();
this.$emit('input', false)
}, 1000);
})
bsmSlsq: this.formData.bsmSlsq,
bestepid: this.formData.bestepid,
stopMessage: this.stopMessage,
}).then((res) => {
this.$message.success("终止成功");
setTimeout(() => {
// window.opener.location.reload(); //刷新父窗口
if (window.opener && window.opener.getBpageList) {
window.opener.getBpageList();
} else {
window.opener.frames[0].getBpageList();
}
window.close();
this.$emit("input", false);
}, 1000);
});
},
}
}
},
};
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
.invalid-title {
display: flex;
align-content: center;
display: flex;
align-content: center;
.invalid-icon {
color: rgb(254, 148, 0);
font-size: 34px;
margin-right: 10px;
}
.invalid-icon {
color: rgb(254, 148, 0);
font-size: 34px;
margin-right: 10px;
}
.invalid-body {
line-height: 40px;
margin-bottom: 10px;
}
.invalid-body {
line-height: 40px;
margin-bottom: 10px;
}
}
.invalid-reson {
margin-bottom: 10px;
margin-bottom: 10px;
}
.dialog-footer {
margin-top: 10px;
display: flex;
justify-content: flex-end;
margin-top: 10px;
display: flex;
justify-content: flex-end;
}
</style>
......
......@@ -4,21 +4,37 @@
<div class="from-clues-header">
<div class="title">请选择要退回到的环节:</div>
<el-form ref="queryForm" label-width="90px">
<ul style="margin-bottom:15px">
<li v-for="(item,index) in dataList" class="listDetail" :key="index" @click="changeSelectItem(item)">
<ul style="margin-bottom: 15px">
<li
v-for="(item, index) in dataList"
class="listDetail"
:key="index"
@click="changeSelectItem(item)"
>
<p class="icon">
<el-radio v-model="selectActivity" :label="item.activityId" @change="changeSelectItem(item)"></el-radio>
<el-radio
v-model="selectActivity"
:label="item.activityId"
@change="changeSelectItem(item)"
></el-radio>
</p>
<p>{{ item.activityName }}</p>
<p v-for="(child, childIndex) in item.userInfos" :key="childIndex">
{{ child.name }}
</p>
<p>{{item.activityName}}</p>
<p v-for="(child,childIndex) in item.userInfos" :key="childIndex">{{child.name}}</p>
</li>
</ul>
<div class="title">退回意见:</div>
<el-form-item>
<el-input class="textArea" type="textarea" v-model="outstepopinion" placeholder="请输入退回意见"></el-input>
<el-input
class="textArea"
type="textarea"
v-model="outstepopinion"
placeholder="请输入退回意见"
></el-input>
</el-form-item>
<el-form-item>
<!-- <el-button style="float:right">取消</el-button> -->
<el-button style="float:right" @click="cancelBack">取消</el-button>
<el-button type="primary" @click="onSubmit" style="float:right">退回</el-button>
</el-form-item>
</el-form>
......@@ -27,56 +43,68 @@
</template>
<script>
import { getTaskBackNode, sendBackTask } from "@/api/fqsq.js"
import { popupCacel } from "@/utils/popup.js";
export default {
props: {
formData: {
type: Object,
default: {}
}
default: {},
},
},
data () {
data() {
return {
selectActivity: '',
selectActivity: "",
dataList: [],
outstepopinion: '',
selectItem: {}
}
outstepopinion: "",
selectItem: {},
};
},
created () {
created() {
this.getBackNode();
},
methods: {
onSubmit () {
onSubmit() {
this.selectItem.outstepopinion = this.outstepopinion;
sendBackTask({
bsmSlsq: this.formData.bsmSlsq,
backNodeList: [this.selectItem]
}).then(res => {
this.$message.success('退回成功')
setTimeout(() => {
window.opener.location.reload(); //刷新父窗口
window.close();
this.$emit('input', false)
}, 1000);
})
backNodeList: [this.selectItem],
}).then((res) => {
this.$message.success("退回成功");
setTimeout(() => {
// window.opener.location.reload(); //刷新父窗口
if (window.opener && window.opener.getBpageList) {
window.opener.getBpageList();
} else {
window.opener.frames[0].getBpageList();
}
window.close();
this.$emit("input", false);
}, 1000);
});
},
changeSelectItem(item){
this.selectItem = item
this.selectActivity = item.activityId
changeSelectItem(item) {
this.selectItem = item;
this.selectActivity = item.activityId;
},
//获取可回退环节信息
getBackNode () {
getTaskBackNode(this.formData).then(res => {
getBackNode() {
getTaskBackNode(this.formData).then((res) => {
if (res.code == 200) {
this.dataList = res.result
if(res.result){
this.selectActivity = res.result[0].activityId
this.selectItem = res.result[0]
this.dataList = res.result;
if (res.result) {
this.selectActivity = res.result[0].activityId;
this.selectItem = res.result[0];
}
}
})
});
},
cancelBack(){
popupCacel();
}
}
}
</script>
......@@ -104,7 +132,7 @@ export default {
}
}
.title{
.title {
margin-bottom: 10px;
}
......@@ -113,7 +141,7 @@ export default {
min-height: 90px !important;
}
}
/deep/.el-radio .el-radio__label {
/deep/.el-radio .el-radio__label {
display: none;
}
</style>
......
......@@ -12,7 +12,7 @@ import {
getNextLinkInfo,
} from "@/api/fqsq.js";
export default {
data () {
data() {
return {
//是否开启材料分屏
splitScreen: false,
......@@ -28,13 +28,13 @@ export default {
batchButtonName: '',
}
},
mounted () {
mounted() {
this.flowInitParam();
this.loadBdcdylist();
},
methods: {
//读取申请单元信息
loadBdcdylist () {
loadBdcdylist() {
var formdata = new FormData();
formdata.append("bsmSlsq", this.bsmSlsq);
formdata.append("bestepid", this.bestepid);
......@@ -56,7 +56,7 @@ export default {
});
},
//批量按钮判断
judgeBatchShow () {
judgeBatchShow() {
this.showBatch = false;
if (this.unitData.length > 1) {
let qllx = this.$route.query.sqywbm.substring(0, 3);
......@@ -75,7 +75,7 @@ export default {
}
},
//加载流程初始参数
flowInitParam () {
flowInitParam() {
var formdata = new FormData();
formdata.append("bsmSlsq", this.bsmSlsq);
formdata.append("bestepid", this.bestepid);
......@@ -87,7 +87,7 @@ export default {
});
},
//流程环节操作按钮
operation (item) {
operation(item) {
//按钮 B0:选择不动产单元 B1:流程图 B2:材料分屏 B3:材料导入 B4:登记簿 B5:证书预览 B6:打印申请书 B7:证书领取 B8:楼盘表 B9:登簿
//操作按钮 登簿:record 转件:transfer 退回:back 退出:signout
let that = this;
......@@ -227,7 +227,7 @@ export default {
}
},
//发送下一个环节
sendToNext (obj) {
sendToNext(obj) {
const h = this.$createElement;
this.$msgbox({
title: "您确定转出吗?1",
......@@ -251,7 +251,12 @@ export default {
if (res.code === 200) {
instance.confirmButtonLoading = false;
this.$message.success("转件成功");
window.opener.location.reload(); //刷新父窗口
// window.opener.location.reload(); //刷新父窗口
if (window.opener && window.opener.getBpageList) {
window.opener.getBpageList();
} else {
window.opener.frames[0].getBpageList();
}
window.close();
this.$emit("input", false);
} else {
......@@ -271,7 +276,7 @@ export default {
});
});
},
sendToEnd () {
sendToEnd() {
let that = this
const h = this.$createElement;
this.$msgbox({
......@@ -291,7 +296,12 @@ export default {
instance.confirmButtonLoading = false;
that.$message.success("转件成功");
localStorage.setItem('transfer', true)
window.opener.location.reload(); //刷新父窗口
// window.opener.location.reload(); //刷新父窗口
if (window.opener && window.opener.getBpageList) {
window.opener.getBpageList();
} else {
window.opener.frames[0].getBpageList();
}
window.close();
that.$emit("input", false);
} else {
......@@ -312,7 +322,7 @@ export default {
})
},
//批量操作
handleBatchDel () {
handleBatchDel() {
let that = this;
this.$popup("批量删除", "workflow/components/batchDel", {
width: "50%",
......@@ -327,7 +337,7 @@ export default {
}
})
},
handleChange (file) {
handleChange(file) {
var formdata = new FormData();
formdata.append("file", file.raw);
formdata.append("bsmSldy", this.currentSelectProps.bsmSldy);
......@@ -341,7 +351,7 @@ export default {
})
},
// 上传
beforeUpload (file) {
beforeUpload(file) {
return true;
},
}
......
......@@ -4,14 +4,22 @@
<div class="topButton">
<!-- 左侧业务功能按钮 -->
<ul>
<li @click="operation(item)" v-for="(item, index) in leftButtonList" :key="index">
<li
@click="operation(item)"
v-for="(item, index) in leftButtonList"
:key="index"
>
<svg-icon class="icon" :icon-class="item.icon" />
<span class="iconName">{{ item.name }}</span>
</li>
</ul>
<!-- 右侧流程按钮 -->
<ul>
<li @click="operation(item)" v-for="(item, index) in rightButtonList" :key="index">
<li
@click="operation(item)"
v-for="(item, index) in rightButtonList"
:key="index"
>
<svg-icon class="icon" :icon-class="item.icon" />
<span class="iconName">{{ item.name }}</span>
</li>
......@@ -22,7 +30,12 @@
<div class="containerFrame">
<!-- 左侧菜单栏 -->
<div class="leftmenu" :class="{ 'animation-map-drawer': isShowdrawer }">
<el-menu :default-active="activeIndex" @select="batchUnitClick" class="title-batch" v-if="showBatch">
<el-menu
:default-active="activeIndex"
@select="batchUnitClick"
class="title-batch"
v-if="showBatch"
>
<el-menu-item index="-1" key="-1" class="menus">
<div>{{ batchButtonName }}</div>
</el-menu-item>
......@@ -30,28 +43,50 @@
<div v-if="this.isShowdrawer">
<div class="title">
申请单元列表({{ unitData.length }})
<el-button type="text" class="batchDel" @click="handleBatchDel" v-if="unitData.length > 1">批量删除</el-button>
<el-button
type="text"
class="batchDel"
@click="handleBatchDel"
v-if="unitData.length > 1"
>批量删除</el-button
>
</div>
<el-menu :default-active="activeIndex" @select="unitClick">
<el-menu-item v-for="(item, index) in unitData" :index="index.toString()" :key="index">
<el-menu-item
v-for="(item, index) in unitData"
:index="index.toString()"
:key="index"
>
<div>
<p>{{ item.bdcdyh }}</p>
<p class="title-detail">{{ item.zl }}</p>
</div>
<i class="el-icon-delete" v-if="unitData.length > 1" @click.stop="handleDel(item)"></i>
<i
class="el-icon-delete"
v-if="unitData.length > 1"
@click.stop="handleDel(item)"
></i>
</el-menu-item>
</el-menu>
</div>
<div class="map-drawer-click map-drawer" v-if="!isShowdrawer" @click="
() => {
this.isShowdrawer = !this.isShowdrawer;
}
"></div>
<div class="map-drawer-expand map-drawer" v-else @click="
() => {
this.isShowdrawer = !this.isShowdrawer;
}
"></div>
<div
class="map-drawer-click map-drawer"
v-if="!isShowdrawer"
@click="
() => {
this.isShowdrawer = !this.isShowdrawer;
}
"
></div>
<div
class="map-drawer-expand map-drawer"
v-else
@click="
() => {
this.isShowdrawer = !this.isShowdrawer;
}
"
></div>
</div>
<div class="leftCon">
<!-- 分屏左侧预览 -->
......@@ -61,45 +96,78 @@
<!-- 表单内容区域 -->
<div class="rightContainer">
<el-tabs v-model="tabName" :before-leave="beforeLeave">
<el-tab-pane :label="item.name" :name="item.value" v-for="item in tabList" :key="item.value">
<el-tab-pane
:label="item.name"
:name="item.value"
v-for="item in tabList"
:key="item.value"
>
</el-tab-pane>
</el-tabs>
<component :key="fresh" :is="componentTag" v-bind="currentSelectProps" />
<component
:key="fresh"
:is="componentTag"
v-bind="currentSelectProps"
/>
</div>
</div>
</div>
<!-- 打印模板需要此模块 -->
<object id="LODOP_OB" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" v-show="false">
<embed id="LODOP_EM" type="application/x-print-lodop" width=820 height=450 pluginspage="install_lodop32.exe" />
<object
id="LODOP_OB"
classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA"
v-show="false"
>
<embed
id="LODOP_EM"
type="application/x-print-lodop"
width="820"
height="450"
pluginspage="install_lodop32.exe"
/>
</object>
<el-upload class="fileUpdate" action="" :show-file-list="false" multiple :auto-upload="false"
:on-change="handleChange" :before-upload="beforeUpload">
<el-button id="cldr" icon="el-icon-upload" type="primary" v-show="false">上传</el-button>
<el-upload
class="fileUpdate"
action=""
:show-file-list="false"
multiple
:auto-upload="false"
:on-change="handleChange"
:before-upload="beforeUpload"
>
<el-button id="cldr" icon="el-icon-upload" type="primary" v-show="false"
>上传</el-button
>
</el-upload>
<selectBdc v-model="isDialog" :djywbm="$route.query.sqywbm" :isJump="true" @updateDialog="updateDialog" />
<selectBdc
v-model="isDialog"
:djywbm="$route.query.sqywbm"
:isJump="true"
@updateDialog="updateDialog"
/>
</div>
</template>
<style scoped lang='scss'>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
@import "./workFrame.scss";
</style>
<script>
import WorkFlow from "./mixin/index"
import publicFlow from "./mixin/public.js"
import WorkFlow from "./mixin/index";
import publicFlow from "./mixin/public.js";
import { getStepFormInfo } from "@/api/fqsq.js";
import { getForm } from './flowform'
import NoticeBar from '@/components/NoticeBar/index'
import { getForm } from "./flowform";
import NoticeBar from "@/components/NoticeBar/index";
import { deleteFlow, unClaimTask } from "@/api/ywbl.js";
import ProcessViewer from './components/processViewer.vue'
import ProcessViewer from "./components/processViewer.vue";
import selectBdc from "@/views/ywbl/ywsq/selectBdc.vue";
export default {
components: {
selectBdc,
NoticeBar,
ProcessViewer
ProcessViewer,
},
mixins: [WorkFlow, publicFlow],
data () {
data() {
return {
isDialog: false,
// 折叠
......@@ -131,42 +199,45 @@ export default {
//批量操作
showBatch: false,
//批量操作按钮名称
batchButtonName: '',
}
batchButtonName: "",
};
},
mounted () {
mounted() {
//添加页面监听事件
window.addEventListener('beforeunload', e => this.beforeunloadHandler(e))
window.addEventListener('unload', e => this.unloadHandler(e))
window.addEventListener("beforeunload", (e) => this.beforeunloadHandler(e));
window.addEventListener("unload", (e) => this.unloadHandler(e));
},
destroyed () {
window.removeEventListener('beforeunload', e => this.beforeunloadHandler(e))
window.removeEventListener('unload', e => this.unloadHandler(e))
destroyed() {
window.removeEventListener("beforeunload", (e) =>
this.beforeunloadHandler(e)
);
window.removeEventListener("unload", (e) => this.unloadHandler(e));
},
methods: {
beforeunloadHandler () {
this._beforeUnload_time = new Date().getTime()
beforeunloadHandler() {
this._beforeUnload_time = new Date().getTime();
},
unloadHandler (e) {
this._gap_time = new Date().getTime() - this._beforeUnload_time
unloadHandler(e) {
this._gap_time = new Date().getTime() - this._beforeUnload_time;
//判断是窗口关闭还是刷新
if (this._gap_time <= 10) {
//取消认领
unClaimTask(this.bsmSlsq, this.bestepid)
unClaimTask(this.bsmSlsq, this.bestepid);
}
},
changeLoadIndex () {
this.loadIndex++
changeLoadIndex() {
this.loadIndex++;
},
closeDialog () {
this.myValue = false
closeDialog() {
this.myValue = false;
},
// 更新列表
updateDialog () {
updateDialog() {
this.loadBdcdylist();
},
// 删除左侧列表
handleDel (item) {
handleDel(item) {
this.$confirm("确定要删除吗, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
......@@ -193,7 +264,7 @@ export default {
});
},
//申请单元点击事件
stepForm (index) {
stepForm(index) {
getStepFormInfo(this.currentSelectProps).then((res) => {
if (res.code === 200) {
this.fresh++;
......@@ -201,9 +272,9 @@ export default {
this.tabList = res.result;
//默认加载第一个表单信息
this.tabName = res.result[0].value;
//批量操作无分屏按钮
//批量操作无分屏按钮
if (index != null) {
//处理分屏材料信息
//处理分屏材料信息
let that = this;
this.tabList.forEach(function (item, index) {
if (item.value == "clxx") {
......@@ -211,24 +282,24 @@ export default {
that.clxxForm = getForm(item.value, that.$route.query.sqywbm);
that.clxxTab = item;
}
})
});
}
}
})
});
},
//申请单元点击事件
unitClick (index) {
unitClick(index) {
this.currentSelectProps = this.unitData[index];
this.currentSelectProps.batchOperation = false;
this.activeIndex = index.toString();
this.stepForm(index);
},
//批量按钮点击事件
batchUnitClick () {
batchUnitClick() {
this.currentSelectProps.batchOperation = true;
this.activeIndex = "-1";
this.stepForm();
}
}
}
},
},
};
</script>
......
......@@ -4,14 +4,22 @@
<div class="topButton">
<!-- 左侧业务功能按钮 -->
<ul>
<li @click="operation(item)" v-for="(item, index) in leftButtonList" :key="index">
<li
@click="operation(item)"
v-for="(item, index) in leftButtonList"
:key="index"
>
<svg-icon :icon-class="item.icon" />
<span class="iconName">{{ item.name }}</span>
</li>
</ul>
<!-- 右侧流程按钮 -->
<ul>
<li @click="operation(item)" v-for="(item, index) in rightButtonList" :key="index">
<li
@click="operation(item)"
v-for="(item, index) in rightButtonList"
:key="index"
>
<svg-icon class="icon" :icon-class="item.icon" />
<span class="iconName">{{ item.name }}</span>
</li>
......@@ -25,7 +33,11 @@
<div v-if="this.isShowdrawer">
<div class="title">申请单元列表({{ unitData.length }})</div>
<el-menu :default-active="activeIndex" @select="unitClick">
<el-menu-item v-for="(item, index) in unitData" :index="index.toString()" :key="index">
<el-menu-item
v-for="(item, index) in unitData"
:index="index.toString()"
:key="index"
>
<div>
<p>{{ item.bdcdyh }}</p>
<p class="title-detail">{{ item.zl }}</p>
......@@ -33,16 +45,24 @@
</el-menu-item>
</el-menu>
</div>
<div class="map-drawer-click map-drawer" v-if="!isShowdrawer" @click="
() => {
this.isShowdrawer = !this.isShowdrawer;
}
"></div>
<div class="map-drawer-expand map-drawer" v-else @click="
() => {
this.isShowdrawer = !this.isShowdrawer;
}
"></div>
<div
class="map-drawer-click map-drawer"
v-if="!isShowdrawer"
@click="
() => {
this.isShowdrawer = !this.isShowdrawer;
}
"
></div>
<div
class="map-drawer-expand map-drawer"
v-else
@click="
() => {
this.isShowdrawer = !this.isShowdrawer;
}
"
></div>
</div>
<div class="leftCon">
<!-- 分屏左侧预览 -->
......@@ -52,42 +72,47 @@
<!-- 表单内容区域 -->
<div class="rightContainer">
<el-tabs v-model="tabName" :before-leave="beforeLeave">
<el-tab-pane :label="item.name" :name="item.value" v-for="(item, index) in tabList" :key="index">
<el-tab-pane
:label="item.name"
:name="item.value"
v-for="(item, index) in tabList"
:key="index"
>
</el-tab-pane>
</el-tabs>
<component :key="fresh" :is="componentTag" v-bind="currentSelectProps" />
<component
:key="fresh"
:is="componentTag"
v-bind="currentSelectProps"
/>
</div>
</div>
</div>
</div>
</template>
<style scoped lang='scss'>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
@import "./workFrame.scss";
</style>
<script>
import {
leftMenu,
stepExpandInfo,
getStepFormInfo
} from "@/api/fqsq.js"
import publicFlow from "./mixin/public.js"
import { leftMenu, stepExpandInfo, getStepFormInfo } from "@/api/fqsq.js";
import publicFlow from "./mixin/public.js";
import { popupDialog } from "@/utils/popup.js";
import NoticeBar from '@/components/NoticeBar/index'
import { getWorkFlowImage } from "@/api/workflow/jsydsyqFlow.js"
import NoticeBar from "@/components/NoticeBar/index";
import { getWorkFlowImage } from "@/api/workflow/jsydsyqFlow.js";
export default {
mixins: [publicFlow],
components: {
NoticeBar
NoticeBar,
},
data () {
data() {
return {
// 流程图
imgSrc: '',
imgSrc: "",
// 折叠
isShowdrawer: true,
// 默认选中
activeIndex: '0',
activeIndex: "0",
//受理申请标识码
bsmSlsq: this.$route.query.bsmSlsq,
//当前流程所在环节
......@@ -116,15 +141,16 @@ export default {
clxxIndex: "",
//材料信息选项卡对象
clxxTab: {},
}
};
},
mounted () {
mounted() {
this.loadBdcdylist();
this.flowInitParam();
},
methods: {
//加载流程初始参数
flowInitParam () {
flowInitParam() {
var formdata = new FormData();
formdata.append("bsmSlsq", this.bsmSlsq);
formdata.append("bestepid", this.bestepid);
......@@ -134,34 +160,36 @@ export default {
this.leftButtonList = res.result.button;
this.rightButtonList = res.result.operation;
}
})
});
},
//流程环节操作按钮
operation (item) {
operation(item) {
//按钮 B1:流程图 B2:材料分屏 B3:材料导入 B4:登记簿 B5:证书预览 B6:打印申请书
//操作按钮 登簿:record 转件:transfer 退回:back 退出:signout
switch (item.value) {
case "B1":
getWorkFlowImage(this.bsmSlsq, this.$route.query.bestepid).then(res => {
let { result } = res
popupDialog("流程图", "workflow/components/processViewer", {
xml: result.xml,
finishedInfo: {
finishedTaskSet: result.finishedTaskSet,
unfinishedTaskSet: result.unfinishedTaskSet,
rejectedTaskSet: result.rejectedTaskSet,
finishedSequenceFlowSet: result.finishedSequenceFlowSet
},
allCommentList: result.historyTaskList
})
})
getWorkFlowImage(this.bsmSlsq, this.$route.query.bestepid).then(
(res) => {
let { result } = res;
popupDialog("流程图", "workflow/components/processViewer", {
xml: result.xml,
finishedInfo: {
finishedTaskSet: result.finishedTaskSet,
unfinishedTaskSet: result.unfinishedTaskSet,
rejectedTaskSet: result.rejectedTaskSet,
finishedSequenceFlowSet: result.finishedSequenceFlowSet,
},
allCommentList: result.historyTaskList,
});
}
);
break;
case "B5":
this.zsylFlag = true;
break;
case "B2": //材料分屏按钮
this.splitScreen = this.splitScreen ? false : true;
this.$store.dispatch('app/settScreen', this.splitScreen)
this.$store.dispatch("app/settScreen", this.splitScreen);
if (this.splitScreen) {
//如果当前选项卡为材料信息内容,递减到上一个选项卡内容
if (this.tabName == this.clxxTab.value) {
......@@ -179,7 +207,7 @@ export default {
}
},
//读取申请单元信息
loadBdcdylist () {
loadBdcdylist() {
var formdata = new FormData();
formdata.append("bsmSlsq", this.bsmSlsq);
formdata.append("bestepid", this.bestepid);
......@@ -189,12 +217,12 @@ export default {
this.currentSelectProps = res.result[0];
this.unitClick(0);
}
})
});
},
//申请单元点击事件
unitClick (index) {
unitClick(index) {
this.currentSelectProps = this.unitData[index];
this.currentSelectProps.type = 'ONLY_READ';
this.currentSelectProps.type = "ONLY_READ";
getStepFormInfo(this.currentSelectProps).then((res) => {
if (res.code === 200) {
this.fresh++;
......@@ -203,8 +231,8 @@ export default {
//默认加载第一个表单信息
this.tabName = res.result[0].value;
}
})
}
}
}
</script>
\ No newline at end of file
});
},
},
};
</script>
......
......@@ -8,7 +8,7 @@ class data extends filter {
constructor() {
super()
}
columns () {
columns() {
return [
{
label: '序号',
......@@ -31,10 +31,10 @@ class data extends filter {
label: "流程状态",
width: '80',
render: (h, scope) => {
if(scope.row.cfgqzt == '1'){
if (scope.row.cfgqzt == '1') {
return <div class='suspend'>查封挂起</div>
}
if(scope.row.yygqzt == '1'){
if (scope.row.yygqzt == '1') {
return <div class='suspend'>异议挂起</div>
}
switch (scope.row.lczt) {
......
......@@ -84,9 +84,9 @@
<el-col :span="8">
<el-form-item label="取得价格:">
<div style="display:flex">
<el-input v-model="ruleForm.jsydsyq.qdjg" style="width:500%"
<el-input v-model="ruleForm.jsydsyq.qdjg" style="width:500%" :disabled="$route.query.viewtype"
oninput="value=value.replace(/[^\d.]/g,'')"></el-input>
<el-select v-model="ruleForm.jsydsyq.jedw">
<el-select v-model="ruleForm.jsydsyq.jedw" :disabled="$route.query.viewtype">
<el-option v-for="item in dictData['A57']" :key="item.dcode" :label="item.dname" :value="item.dcode">
</el-option>
</el-select>
......@@ -116,7 +116,7 @@
<el-row :gutter="10">
<el-col>
<el-form-item label="附记:" prop="fj">
<el-input type="textarea" v-model="ruleForm.jsydsyq.fj" :disabled="$route.query.viewtype == 1"></el-input>
<el-input type="textarea" v-model="ruleForm.jsydsyq.fj" :disabled="$route.query.viewtype"></el-input>
</el-form-item>
</el-col>
</el-row>
......@@ -172,7 +172,7 @@
<el-row :gutter="10">
<el-col>
<el-form-item label="登记原因:" prop="djyy">
<el-input class="textArea" type="textarea" :disabled="$route.query.viewtype == 1"
<el-input class="textArea" type="textarea" :disabled="$route.query.viewtype"
v-model="ruleForm.jsydsyq.djyy">
</el-input>
</el-form-item>
......
......@@ -118,7 +118,7 @@
<el-row :gutter="10">
<el-col>
<el-form-item label="附记:" prop="fj">
<el-input type="textarea" v-model="ruleForm.jsydsyq.fj" :disabled="$route.query.viewtype == 1"></el-input>
<el-input type="textarea" v-model="ruleForm.jsydsyq.fj" :disabled="$route.query.viewtype"></el-input>
</el-form-item>
</el-col>
</el-row>
......@@ -132,7 +132,7 @@
<el-row :gutter="10">
<el-col :span="14">
<el-form-item label="共有方式:">
<el-radio-group :disabled="$route.query.viewtype == 1" v-model="ruleForm.slywxx.gyfs">
<el-radio-group :disabled="$route.query.viewtype" v-model="ruleForm.slywxx.gyfs">
<el-radio label="0">单独所有</el-radio>
<el-radio label="1">共同共有</el-radio>
<el-radio label="2">按份所有</el-radio>
......@@ -166,7 +166,7 @@
<el-row :gutter="10">
<el-col>
<el-form-item label="登记原因:" prop="djyy">
<el-input class="textArea" type="textarea" :disabled="$route.query.viewtype == 1"
<el-input class="textArea" type="textarea" :disabled="$route.query.viewtype"
v-model="ruleForm.jsydsyq.djyy">
</el-input>
</el-form-item>
......
......@@ -29,7 +29,7 @@ class data extends filter {
return (
<div>
{
scope.row.enabled == '1' ?
scope.row.bsmFz ?
<div class='allow'>已领取</div> :
<div class='prohibit'>未领取</div>
}
......@@ -38,24 +38,18 @@ class data extends filter {
}
},
{
label: "证书容",
label: "证书容",
render: (h, scope) => {
return (
<div>
<el-link type="primary" onClick={() => { vm.openDialog(scope) }}>查看</el-link>
<el-link type="primary" onClick={() => { vm.openDialog(scope.row) }}>查看</el-link>
</div>
)
}
},
{
label: "权利类型",
render: (h, scope) => {
return (
<div>
{this.dicStatus(scope.row.qllx, 'A8')}
</div>
)
}
prop: "qllx",
},
{
prop: "bdcqzh",
......@@ -66,11 +60,11 @@ class data extends filter {
label: "印刷序列号",
},
{
prop: "lqr",
prop: "lzrxm",
label: "领取人",
},
{
prop: "lqsj",
prop: "fzsj",
label: "领取时间",
},
{
......
......@@ -6,25 +6,25 @@
<el-row>
<el-col :span="5">
<el-form-item label="不动产权证号" label-width="100px">
<el-input placeholder="请输入不动产权证号" class="width100" @clear="queryClick" v-model="queryForm.bdcqzh">
<el-input placeholder="请输入不动产权证号" class="width100" @clear="queryClick" v-model="queryForm.bdcqzh" clearable>
</el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="印刷序列号" label-width="100px">
<el-input placeholder="请输入印刷序列号" class="width100" @clear="queryClick" v-model="queryForm.ysxlh">
<el-input placeholder="请输入印刷序列号" class="width100" @clear="queryClick" v-model="queryForm.ysxlh" clearable>
</el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="业务号">
<el-input placeholder="请输入业务号" class="width100" @clear="queryClick" v-model="queryForm.ywh">
<el-input placeholder="请输入业务号" class="width100" @clear="queryClick" v-model="queryForm.ywh" clearable>
</el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="领取人">
<el-input placeholder="请输入领取人" class="width100" @clear="queryClick" v-model="queryForm.lqr">
<el-input placeholder="请输入领取人" class="width100" @clear="queryClick" v-model="queryForm.lzrxm" clearable>
</el-input>
</el-form-item>
</el-col>
......@@ -45,11 +45,16 @@
:data="tableData.data">
</lb-table>
</div>
<el-dialog :visible.sync="dialogVisible" width="52%" :before-close="handleClose">
<img :src="previewImage" class="imgClass">
</el-dialog>
</div>
</template>
<script>
import table from "@/utils/mixin/table";
import { datas, sendThis } from "./zslqcx";
import { getBdcqzReceiveList } from "@/api/zhcx"
import { bdcqzPreview } from "@/api/bdcqz"
export default {
components: {},
mixins: [table],
......@@ -62,9 +67,12 @@ export default {
bdcqzh: "",
ysxlh: "",
ywh: "",
lqr: "",
lzrxm: "",
},
dialogVisible: false,
previewImage: '',
tableData: {
total: 0,
columns: datas.columns(),
data: [],
},
......@@ -73,8 +81,29 @@ export default {
methods: {
// 查询
queryClick () {
this.$startLoading()
getBdcqzReceiveList({ ...this.queryForm, ...this.pageData }).then(res => {
this.$endLoading()
if (res.code === 200) {
let { total, records } = res.result
this.tableData.total = total;
this.tableData.data = records ? records : []
}
})
},
openDialog(item){
this.$startLoading()
bdcqzPreview(item).then(res => {
this.$endLoading()
this.dialogVisible = true;
let blob = new Blob([res]);
let url = window.URL.createObjectURL(blob);
this.previewImage = url;
})
},
handleClose() {
this.dialogVisible = false;
}
},
};
</script>
......
......@@ -23,7 +23,7 @@ class data extends filter {
}
},
{
prop: "qymc",
prop: "dwmc",
label: "企业名称",
},
{
......@@ -43,11 +43,11 @@ class data extends filter {
label: "坐落"
},
{
prop: "yt",
prop: "showFwyt",
label: "用途"
},
{
prop: "mj",
prop: "scjzmj",
label: "面积(㎡)"
},
{
......
......@@ -5,31 +5,24 @@
<el-form :model="queryForm" ref="queryForm" label-width="80px">
<el-row>
<el-col :span="5">
<el-form-item label="项目名称" label-width="70px">
<el-input placeholder="请输入项目名称" v-model="queryForm.xmmc">
<el-form-item label="企业名称" label-width="70px">
<el-input placeholder="请输入企业名称" v-model="queryForm.qymc" clearable>
</el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="项目编号">
<el-input placeholder="请输入项目编号" v-model="queryForm.xmbh">
<el-form-item label="项目名称" label-width="70px">
<el-input placeholder="请输入项目名称" v-model="queryForm.xmmc" clearable>
</el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="自然幢号">
<el-input placeholder="请输入自然幢号" v-model="queryForm.zrzh">
<el-input placeholder="请输入自然幢号" v-model="queryForm.zrzh" clearable>
</el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="宗地代码">
<el-input placeholder="请输入宗地代码" v-model="queryForm.zddm">
</el-input>
</el-form-item>
</el-col>
<el-col :span="4" class="btnColRight">
<el-col :span="9" class="btnColRight">
<el-form-item>
<el-button type="primary" @click="queryClick">查询</el-button>
<el-button @click="moreQueryClick">高级查询</el-button>
......@@ -50,6 +43,7 @@
<script>
import table from "@/utils/mixin/table";
import { datas, sendThis } from "./zxgcdycx";
import { getZjgcdyList } from "@/api/zhcx"
export default {
components: {},
mixins: [table],
......@@ -60,11 +54,11 @@ export default {
return {
queryForm: {
xmmc: "",
xmbh: "",
qymc: "",
zrzh: "",
zddm: "",
},
tableData: {
total: 0,
columns: datas.columns(),
data: [],
},
......@@ -73,6 +67,15 @@ export default {
methods: {
// 查询
queryClick () {
this.$startLoading()
getZjgcdyList({ ...this.queryForm, ...this.pageData }).then(res => {
this.$endLoading()
if (res.code === 200) {
let { total, records } = res.result
this.tableData.total = total;
this.tableData.data = records ? records : []
}
})
},
},
......