e3fecef2 by renchao@pashanhoo.com

Merge branch 'dev' of http://yun.pashanhoo.com:9090/bdc/bdcdj-web into dev

2 parents 99d853ab 8a1c1954
......@@ -27,6 +27,7 @@
"print-js": "^1.6.0",
"qrcode": "^1.5.3",
"sortablejs": "^1.15.0",
"tiff.js": "^1.0.0",
"vue": "2.6.10",
"vue-json-editor": "^1.4.3",
"vue-print-nb": "^1.7.5",
......@@ -35,7 +36,7 @@
"vue-seamless-scroll": "^1.1.23",
"vuex": "3.1.0",
"x2js": "^3.4.4",
"xlsx": "^0.17.0",
"xlsx": "^0.17.5",
"xlsx-style": "^0.8.13"
},
"devDependencies": {
......
/*
* @Description: 信息备案
* @Autor:
* @LastEditTime: 2023-09-11 11:25:22
*/
import request from '@/utils/request'
let SERVER = window.config ? window.config : JSON.parse(localStorage.getItem('ApiUrl'))
/**
* @description: 添加银行
* @author:
* @param params
*/
export function queryBj (params) {
return request({
url: SERVER.SERVERAPI + '/rest/wwsq/queryBj',
method: 'get',
params
})
}
/**
* @description: getSqr
* @author:
* @param ywh
*/
export function getSqr (ywh) {
return request({
url: SERVER.SERVERAPI + '/rest/wwsq/getSqr',
method: 'get',
params: {
ywh: ywh
}
})
}
/**
* @description: getSqr
* @author:
* @param ywh
*/
export function getBdcqk (ywh) {
return request({
url: SERVER.SERVERAPI + '/rest/wwsq/getBdcqk',
method: 'get',
params: {
ywh: ywh
}
})
}
/**
* @description: getSqr
* @author:
* @param ywh
*/
export function getTreeNodeList (ywh) {
return request({
url: SERVER.SERVERAPI + '/rest/fjcl/getTreeNodeList',
method: 'get',
params: {
ywh: ywh
}
})
}
/**
* @description: getSqr
* @author:
* @param datumId
*/
export function getFjnrById (datumId) {
return request({
url: SERVER.SERVERAPI + '/rest/fjcl/getFjnrById',
method: 'get',
params: {
datumId: datumId
}
})
}
......@@ -58,6 +58,65 @@ export default class filter {
return name
}
}
/**
* @description: blzt
* @param {*} val
* @author:
*/
blzt (val) {
if (val === 0) {
return "未提交"
} else if (val === 1) {
return "已提交"
} else if (val === 2) {
return "办理中"
} else if (val === 3) {
return "已办结"
} else if (val === 4) {
return "已终止"
} else if (val === 5) {
return "已退回"
} else if (val === 8) {
return "已登簿"
}
}
/**
* @description: ywlx
* @param {*} val
* @author:
*/
ywlx (val) {
if (val === "1") {
return "预售商品房买卖预告登记"
} else if (val === "2") {
return "预售商品房抵押权预告登记"
} else if (val === "3") {
return "商品房初始登记"
} else if (val === "4") {
return "不动产抵押登记"
} else if (val === "5") {
return "预购商品房预告登记/预购商品房抵押登记"
} else if (val === "6") {
return "预售商品房预告登记转房屋所有权登记/预售商品房抵押登记转抵押权登记"
} else if (val === "7") {
return "查封登记"
} else if (val === "8") {
return "解封登记"
} else if (val === "9") {
return "商品房转移登记"
} else if (val === "10") {
return "存量房转移登记"
} else if (val === "23") {
return "续封登记"
} else if (val === "41") {
return "独幢宅基地首次登记"
} else if (val === "42") {
return "多幢宅基地首次登记"
}
}
/**
* @description: filterHtml
* @param {*} content
......
<template>
<div style="height: 600px;overflow-y: scroll;">
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="不动产单元申请书" name="1"></el-tab-pane>
<el-tab-pane label="附件" v-if="formData.isAdd==2" name="2"></el-tab-pane>
</el-tabs>
<el-form ref="ruleForm" :model="ruleForm" label-width="100px" style="height:90%" v-if="activeName==1" :rules="rules">
<div v-for="item in sqrList">
<div class="slxx_title title-block">
申请人信息
<div class="triangle"></div>
</div>
<el-row>
<el-col :span="8">
<el-form-item label="权利人名称:" prop="mc">
<el-input v-model="item.mc"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="证件种类:" prop="zjzl">
<el-input v-model.number="item.zjzl"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="证件号:" prop="zjh">
<el-input v-model.number="item.zjh"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="通讯地址:" prop="txdz">
<el-input v-model="item.txdz"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="邮编:" prop="yb">
<el-input v-model.number="item.yb"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="共有比例:" prop="gyqk">
<el-input v-model.number="item.gyqk"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="法人名称:" prop="frmc">
<el-input v-model="ruleForm.frmc"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="联系电话:" prop="frdh">
<el-input v-model.number="ruleForm.frdh"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="代理人名称:" prop="dlrmc">
<el-input v-model.number="ruleForm.dlrmc"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="联系电话:" prop="dlrdh">
<el-input v-model.number="ruleForm.dlrdh"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="代理机构:" prop="dljg">
<el-input v-model="ruleForm.dljg"></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
<div>
<div class="slxx_title title-block">
不动产情况
<div class="triangle"></div>
</div>
<el-row>
<el-col :span="12">
<el-form-item label="坐落:" prop="zl">
<el-input v-model="bdcqk.zl"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="不动产单元号:" prop="bdcdyh">
<el-input v-model.number="bdcqk.bdcdyh"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="宗地/宗海面积:" prop="zdzhmj">
<el-input v-model="bdcqk.zdzhmj"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="定着物面积:" prop="dzwmj">
<el-input v-model.number="bdcqk.dzwmj"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="宗地/宗海用途:" prop="zdzhyt">
<el-input v-model.number="bdcqk.zdzhyt"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="定着物用途:" prop="dzwyt">
<el-input v-model.number="bdcqk.dzwyt"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="不动产类型:" prop="bdclx">
<el-input v-model="bdcqk.bdclx"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="宗地/宗海权力类型:" prop="zdzhqllx">
<el-input v-model="bdcqk.zdzhqllx"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="用海类型:" prop="yhlx">
<el-input v-model="bdcqk.yhlx"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="构筑物类型:" prop="gzwlx">
<el-input v-model.number="bdcqk.gzwlx"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="林种:" prop="lz">
<el-input v-model.number="bdcqk.lz"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="原不动产单元号:" prop="ybdcdyh">
<el-input v-model.number="bdcqk.ybdcdyh"></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
<div>
<div class="slxx_title title-block">
抵押情况
<div class="triangle"></div>
</div>
<el-row>
<el-col :span="12">
<el-form-item label="被担保主债权数额:" prop="bdbzzqse">
<el-input v-model="bdcqk.bdbzzqse"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="在建建筑物抵押范围:" prop="zjjzwdyfw">
<el-input v-model.number="bdcqk.zjjzwdyfw"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="债务履行起始时间:" prop="zwlxqssj">
<el-input v-model="bdcqk.zwlxqssj"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="债务履行结束时间:" prop="zwlxjssj">
<el-input v-model="bdcqk.zwlxjssj"></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
<el-form-item style="text-align:center">
<!-- <el-button type="primary" @click="closeDialog">关闭</el-button>-->
<!-- <el-button type="primary" @click="submitForm">保存</el-button>-->
</el-form-item>
</el-form>
<clxx v-if="activeName==2" :formData="formData" />
</div>
</template>
<script>
import store from '@/store/index.js'
import { getSqr, getBdcqk } from "@/api/ycsl.js"
import clxx from './clxx/index.vue'
export default {
props: {
formData: {
type: Object,
default: () => { },
},
},
components: {
clxx
},
data () {
return {
zjzlList: store.getters.dictData['A30'],
activeName: "1",
DJJGLIST: store.getters.dictData['ywly'],
readOnly: false,
sqrList:[{}],
bdcqk: {},
//表单提交数据
ruleForm: {},
//表格数据
tableForm: [
{
name: '不动产权证书',
ksysxlh: '',
jsysxlh: '',
bs: 0,
zslx: 1
},
{
name: '不动产登记证明',
ksysxlh: '',
jsysxlh: '',
bs: 0,
zslx: 2
}
],
rules: {
}
}
},
mounted () {
console.log(this.formData, "ffffffffffffff")
if (this.formData.ywh) {
this.getSqr(this.formData.ywh)
this.getBdcqk(this.formData.ywh)
}
let list = Object.keys(this.formData).length
if (list > 0) {
this.ruleForm = this.formData
}
},
methods: {
handleClick () { },
/**
* @description: 表单提交
* @author:
*/
submitForm () {
let that = this
this.tableForm.forEach((item, index) => {
if (item.bs < 0) {
return;
}
})
if (this.formData.isAdd != 1) {
store.dispatch("user/refreshPage", false);
update(this.ruleForm).then(res => {
if (res.code == 200) {
this.$message.success('保存成功')
this.$emit("input", false);
this.$refs['ruleForm'].resetFields();
this.resetTableFields();
this.closeDialog();
//刷新列表
store.dispatch("user/refreshPage", true);
} else {
this.$message.error(res.message);
}
})
} else {
that.$refs['ruleForm'].validate((valid) => {
if (valid) {
store.dispatch("user/refreshPage", false);
addQy(this.ruleForm).then(res => {
if (res.code == 200) {
that.$message.success('保存成功')
that.$emit("input", false);
that.$refs['ruleForm'].resetFields();
that.resetTableFields();
that.closeDialog();
//刷新列表
store.dispatch("user/refreshPage", true);
} else {
that.$message.error(res.message);
}
})
} else {
this.$message.error('请完善表单');
return false;
}
})
}
},
/**
* @description: 获取详情信息
* @author:
* @param ywh
*/
getSqr (ywh) {
getSqr(ywh ).then(res => {
if (res.code == 200) {
this.sqrList = res.result;
}
})
},
/**
* @description: 获取详情信息
* @author:
* @param ywh
*/
getBdcqk (ywh) {
getBdcqk(ywh ).then(res => {
if (res.code == 200) {
this.bdcqk = res.result;
}
})
},
/**
* @description: resetTableFields
* @author:
*/
resetTableFields () {
this.tableForm = [
{
name: '不动产权证书',
ksysxlh: '',
jsysxlh: '',
bs: 0,
zslx: 1
},
{
name: '不动产权登记证明',
ksysxlh: '',
jsysxlh: '',
bs: 0,
zslx: 2
}
]
},
/**
* @description: closeDialog
* @author:
*/
closeDialog () {
this.$popupCacel()
this.$refs['ruleForm'].resetFields();
this.resetTableFields();
}
}
}
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
@import "~@/styles/dialogBoxheader.scss";
@import "~@/styles/slxx/slxx.scss";
.font-red {
color: red;
}
.middle-margin-bottom {
margin-top: 20px;
}
form /deep/ .el-form-item__label {
width: 150px !important;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
height: 32px;
float: none;
}
</style>
<!--
* @Description:
* @Autor:
* @LastEditTime: 2023-12-24 17:18:02
-->
<template>
<div class="clxx">
<div class="left">
<div class="slxx_title title-block">
附件扫描信息
<div class="triangle"></div>
</div>
<div class="preview-content">
<img id="tifImage" alt="TIF Image"/>
</div>
</div>
<div class="right">
<div class="slxx_title title-block">
收件材料
<div class="triangle"></div>
</div>
<div class="tree-content">
<el-tree
:data="tableData"
:props="defaultProps"
accordion
@node-click="handleNodeClick">
</el-tree>
</div>
</div>
</div>
</template>
<script>
import 'tiff.js';
import store from '@/store/index.js'
import { getTreeNodeList, getFjnrById } from "@/api/ycsl.js";
export default {
components: { },
props: {
formData: {
type: Object,
default: () => {
return {}
}
}
},
data () {
return {
imgKey: 0,
isDialog: false,
iclass: "",
// 材料目录选中
treeCheckIndex: 0,
treeCheckId: "",
key: 0,
tableData: [],
defaultProps: {
children: 'nodeList',
label: 'text'
},
previewImg: {
bsmMaterial: "",
index: 0,
selectedIndex: 0,
imgList: []
}
}
},
computed: {
workFresh () {
return store.state.user.workFresh
}
},
watch: {},
created () {
},
mounted () {
console.log(this.formData)
this.getTreeNodeList(this.formData.ywh)
},
methods: {
handleNodeClick(data) {
console.log(data);
this.getFjnrById(data.id)
},
/**
* @description: 获取详情信息
* @author:
* @param ywh
*/
getTreeNodeList (ywh) {
getTreeNodeList(ywh).then(res => {
if (res.code == 200) {
this.tableData = res.result;
// this.tableData = [
// {
// "id": "4501904998761472",
// "text": "不动产登记申请书",
// "leaf": false,
// "nodeList": [
// {
// "id": "4501904999629824",
// "text": "001.tif",
// "leaf": true,
// "nodeList": []
// },
// {
// "id": "4501905001399296",
// "text": "002.tif",
// "leaf": true,
// "nodeList": []
// },
// {
// "id": "4501905004954624",
// "text": "003.tif",
// "leaf": true,
// "nodeList": []
// },
// {
// "id": "4501905007002624",
// "text": "004.tif",
// "leaf": true,
// "nodeList": []
// }
// ]
// },
// {
// "id": "4501905008690176",
// "text": "商品房预售合同",
// "leaf": false,
// "nodeList": [
// {
// "id": "4501905009443840",
// "text": "005.tif",
// "leaf": true,
// "nodeList": []
// },
// {
// "id": "4501905011491840",
// "text": "006.tif",
// "leaf": true,
// "nodeList": []
// },
// {
// "id": "4501905015194624",
// "text": "007.tif",
// "leaf": true,
// "nodeList": []
// }
// ]
// }
// ];
console.log(this.tableData)
}
})
},
/**
* @description: 获取详情信息
* @author:
* @param datumId
*/
getFjnrById (datumId) {
getFjnrById(datumId).then(res => {
if (res.code == 200) {
const tiff = new Tiff({
buffer: res.result,
});
//转成png格式的base64图片,将其用img标签展示即可
console.log(tiff.toDataURL("image/png"))
}
})
}
}
}
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
.left {
width: 48%;
float: left;
.preview-content {
height: 500px;
border: 1px solid grey;
}
}
.right {
width: 48%;
float: right;
.tree-content {
height: 500px;
overflow-y: scroll;
}
}
</style>
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-09-07 14:49:06
*/
import filter from '@/utils/filter.js'
let vm = null
......@@ -27,65 +32,45 @@ class data extends filter {
label: "业务号",
},
{
prop: "sqbh",
label: "申请编号",
},
{
prop: "qlr",
label: "权利人",
},
{
prop: "ywr",
label: "义务人",
},
{
prop: "bdcdyh",
label: "不动产单元号",
width: 150
},
{
prop: "sqsj",
label: "申请时间",
width: 140
label: "权利人"
},
{
label: "登记类型",
prop: "blzt",
label: "办理状态",
render: (h, scope) => {
return <span>{this.dicStatus(scope.row.djlx, "A21")}</span>
return <span>{this.blzt(scope.row.blzt)}</span>
}
},
{
label: "权利类型",
prop: "ywlx",
label: "业务类型",
render: (h, scope) => {
return <span>{this.dicStatus(scope.row.qllx, "A8")}</span>
return <span>{this.ywlx(scope.row.ywlx)}</span>
}
},
{
label: "办理状态",
render: (h, scope) => {
return <span>{this.dicStatus(scope.row.blzt, "dyblzt")}</span>
}
prop: "sqsj",
label: "申请时间",
},
{
prop: "shyj",
label: "审核意见"
prop: "ywr",
label: "义务人",
},
{
label: "操作",
width: 250,
fixed: 'right',
label: '操作',
width: '120',
align: 'center',
render: (h, scope) => {
return <div>
<el-button type="text" icon='el-icon-view' onClick={() => { vm.handleViewClick(scope.row) }}>详情</el-button>
<el-button type="text" icon="el-icon-delete" onClick={() => { vm.handleDel(scope.row) }}>删除</el-button>
<el-button type="text" icon='el-icon-refresh-left' onClick={() => { vm.handleBack(scope.row) }}>回退</el-button>
<el-button type="text" icon='el-icon-document-copy' onClick={() => { vm.handleSync(scope.row) }}>数据同步</el-button>
return (
<div>
<el-button type="text" icon="el-icon-edit-outline" onClick={() => { vm.handleEdit(scope.row) }}>详情</el-button>
</div>
)
}
}
]
}
}
let datas = new data()
export {
......
<template>
<div class="duijie">
<img src="../../../image/duijie.png" alt="">
<!-- <div class="duijie">-->
<!-- <img src="../../../image/duijie.png" alt="">-->
<!-- </div>-->
<div class="from-clues">
<!-- 表单部分 -->
<div class="from-clues-header">
<el-form :model="queryForm" ref="queryForm" @submit.native.prevent label-width="80px">
<el-row>
<el-col :span="5">
<el-form-item label="业务号">
<el-input placeholder="业务号" v-model="queryForm.ywh" clearable class="width100">
</el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="权利人">
<el-input placeholder="权利人" v-model="queryForm.qlrmc" clearable class="width100">
</el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="义务人">
<el-input placeholder="义务人" v-model="queryForm.ywrmc" clearable class="width100">
</el-input>
</el-form-item>
</el-col>
<el-col :span="9" class="btnColRight">
<el-form-item>
<el-button type="primary" native-type="submit" @click="handleSearch">查询</el-button>
<el-button type="primary" native-type="submit" @click="handleAdd">添加</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<div class="from-clues-content loadingtext">
<lb-table :page-size="pageData.size" border :current-page.sync="pageData.currentPage" :heightNum="280"
:total="tableData.total" @size-change="handleSizeChange" @p-current-change="handleCurrentChange"
:column="tableData.columns" :data="tableData.data">
</lb-table>
</div>
</div>
</template>
<script>
import { mapGetters } from 'vuex'
import table from "@/utils/mixin/table"
import { datas, sendThis } from "./data"
import { queryBj } from "@/api/ycsl.js";
export default {
name: "cwrz",
components: {},
mixins: [table],
mounted () {
sendThis(this);
},
activated () {
this.queryClick()
},
data () {
return {
queryForm: {
qymc: "",
zjh: "",
},
tableData: {
total: 0,
columns: datas.columns(),
data: [],
},
};
},
computed: {
...mapGetters(['isRefresh'])
},
watch: {
isRefresh: {
handler (newVal, oldVal) {
if (newVal) this.queryClick()
},
immediate: true
}
},
methods: {
/**
* @description: queryClick
* @author: renchao
*/
queryClick () {
this.$startLoading();
// let data = { ...this.queryForm, ...this.pageData }
let pageInfo = {
pageNo: this.pageData.currentPage,
pageSize: this.pageData.pageSize
}
let data = { ...pageInfo }
queryBj(data).then((res) => {
this.$endLoading();
if (res.code === 200) {
let { total, records } = res.result;
this.tableData.total = total;
this.tableData.data = records;
}
})
},
/**
* @description: handleSearch
* @author: renchao
*/
handleSearch () {
this.queryClick();
},
/**
* @description: handleAdd
* @author: renchao
*/
handleAdd () {
this.$popupDialog("添加企业", "xxba/components/addDialog", { isAdd: 1 }, "75%")
},
/**
* @description: handleDelete
* @author: renchao
*/
handleDelete (row) {
let _this = this
this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
remove(row.bsmCompany).then(res => {
if (res.code == 200) {
_this.$message({
type: 'success',
message: '删除成功!'
});
}
const totalPage = Math.ceil((_this.tableData.total - 1) / _this.pageData.pageSize) // 总页数
_this.pageData.currentPage = _this.pageData.currentPage > totalPage ? totalPage : _this.pageData.currentPage
_this.pageData.currentPage = _this.pageData.currentPage < 1 ? 1 : _this.pageData.currentPage
_this.queryClick(_this.pageData.currentPage);//重新渲染数
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
},
handleEdit (row) {
this.$popupDialog("编辑企业", "ywbl/ycsl/components/addDialog", { isAdd: 2, ...row }, "75%")
}
}
}
</script>
<style lang="scss" scoped>
.duijie{
@import "~@/styles/public.scss";
.duijie{
width: 100%;
height: 100%;
margin: auto;
text-align: center
}
}
</style>
......