e9b6d3e8 by renchao@pashanhoo.com

Merge branch 'dev'

2 parents c8f4fc0e 3a593eea
......@@ -254,3 +254,28 @@ export function selectRepairQlxx (data) {
data
})
}
/**
* @description: 选择林权首次
* @param {*} data
* @author: renchao
*/
export function selectLqQjdc (data) {
return request({
url: SERVER.SERVERAPI + '/rest/ywbl/ywsq/selectLqQjdc',
method: 'post',
data
})
}
/**
* @description: 选择林权转移/变更/注销
* @param {*} data
* @author: renchao
*/
export function selectLq (data) {
return request({
url: SERVER.SERVERAPI + '/rest/ywbl/ywsq/selectLq',
method: 'post',
data
})
}
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-19 09:52:46
* @LastEditTime: 2023-08-10 16:28:55
-->
<template>
<div class="content">
......@@ -57,7 +57,7 @@
if (res.code === 200) {
this.treedata = loadTreeData(res.result, this.formData.bdcdyh);
this.$nextTick(function () {
this.defaultNode = getNode(this.formData.qllx, { linShi: 0, xianShi: 0, liShi: 0 }, "");
this.defaultNode = getNode(this.formData.qllx, { linShi: 0, xianShi: 0, liShi: 0 }, this.formData.bdcdylx || "");
this.$refs.tree.setCurrentKey(this.defaultNode.id); //data[0].id为默认选中的节点
this.loadComponent(this.defaultNode.form);
});
......@@ -95,7 +95,7 @@
</script>
<style scoped lang="scss">
/deep/.rollTable {
height: calc(100vh - 240px) !important;
height: calc(100vh - 300px) !important;
}
.content {
......@@ -114,8 +114,8 @@
.right {
width: calc(100% - 256px);
height: 704px;
// overflow-y: scroll;
overflow: auto;
// overflow-y: scroll;
// overflow: auto;
background-color: #f5f5f5;
border: 1px solid rgb(228, 228, 228);
}
......
......@@ -12,7 +12,7 @@
<div class="xxTableBox rollTable">
<!-- 固定前三个 -->
<table class="xxTable">
<tr v-for="(item, colindex) in columns" :key="colindex">
<tr v-for="(item, colindex) in columns" :class="judge(item.label) ? 'cols':''" :key="colindex">
<td>
{{ item.label }}
</td>
......@@ -46,9 +46,14 @@
{{ getQsztName(row[item.prop]) }}
</span>
<span v-else> {{ row[item.prop] }}</span>
<span v-if="item.prop !== 'qszt' && !judge(item.label)"> {{ row[item.prop] }}</span>
<div class="many" v-if="judge(item.label)">
<div v-for="(label, index) in row.djQlxxFdcqxmDoList" :key="index">
{{ label[item.prop] }}
</div>
</div>
</td>
<td v-for="count in emptycolNum" :key="~count"></td>
<td v-for="count in emptycolNum" class="empty" :key="~count"></td>
</tr>
</table>
</div>
......@@ -137,6 +142,18 @@
}
return name;
},
/**
* @description: judge
* @param {*} lable
* @author: renchao
*/
judge(label){
if ('项目名称幢号总层数规划用途用途名称批准用途实际用途房屋结构房屋结构名称建筑面积竣工时间总套数'.indexOf(label) > -1) {
return true
}else{
return false
}
},
// 新增一条补录信息
/**
* @description: 新增一条补录信息
......@@ -170,4 +187,23 @@
<style lang="scss" scoped>
@import "./qlxxCommon.scss";
.cols{
td{
.many{
width: 100%;
height: 100%;
display: flex;
flex-direction: row;
div{
flex: 1;
border-right: 2px solid #e3e2e2;
line-height: 40px;
overflow: hidden;
}
div:last-child{
border: 0;
}
}
}
}
</style>
......
......@@ -183,7 +183,11 @@
min-width: 280px;
z-index: 1;
}
td:first-child{
flex: inherit !important;
width: 200px !important;
min-width: auto !important;
}
>tr:nth-child(odd) td {
background: #f2f2f2;
}
......
<template>
<iframe :src="'http://192.168.2.22:8020/#/' + formData.bsmZd" frameborder="0" style="width: 100%; height:710px;"></iframe>
<iframe :src="ip +'/txdw/#/' + formData.bsmZd" frameborder="0" style="width: 100%; height:710px;"></iframe>
</template>
<script>
export default {
......@@ -10,6 +10,11 @@
return {}
}
}
},
data () {
return {
ip: window._config.services.management
}
}
}
</script>
\ No newline at end of file
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-08-04 16:46:12
* @LastEditTime: 2023-08-11 08:30:37
-->
<template>
<!-- 受理信息 -->
<div class="slxx">
<el-form :model="ruleForm" :rules="rules" class="loadingtext" ref="ruleForm" :label-position="flag ? 'top' : ''"
:inline="flag" label-width="140px">
:inline="flag" label-width="180px">
<div class="slxx_con" :class="flag ? 'formMarginBot0' : ''">
<div class="slxx_title title-block">
受理信息
......
......@@ -354,8 +354,8 @@
* @author: renchao
*/
handleRowClick (row) {
// 如果状态是1,那就是单选
if (this.sqywInfo.sqywdylx == "1") {
// 自然幢多选,多幢单选
if (this.activeName == 'dz') {
const bdcdysz = this.bdcdysz
this.$refs.table.clearSelection()
if (bdcdysz.length == 1) {
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-08-10 16:30:18
-->
<template>
<div class="from-clues">
<!-- 表单部分 林权转移变更注销 -->
<div class="from-clues-header">
<el-form :model="queryForm" ref="queryForm">
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="宗地代码">
<el-input placeholder="请输入宗地代码" maxlength="19" v-model="queryForm.zddm" clearable class="width100">
</el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="不动产单元号">
<el-input placeholder="请输入不动产单元号" maxlength="28" v-model="queryForm.bdcdyh" clearable class="width100">
</el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="坐落">
<el-input placeholder="请输入坐落" v-model.trim="queryForm.zl" clearable class="width100">
</el-input>
</el-form-item>
</el-col>
<el-col :span="6" class="btnColRight">
<el-form-item>
<!-- <el-button type="primary" @click="resetForm(true)">重置</el-button> -->
<el-button type="primary" @click="handleSearch">查询</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<!-- 表格 -->
<div class="from-clues-content loadingtext">
<lb-table ref="table" @row-click="handleRowClick" :page-size="pageData.pageSize" :calcHeight="300"
:current-page.sync="pageData.currentPage" :total="tableData.total" @size-change="handleSizeChange" @select="select"
@p-current-change="handleCurrentChange" @selection-change="handleSelectionChange" :column="tableData.columns"
:data="tableData.data">
</lb-table>
</div>
<div class="submit_button">
<el-button @click="$popupCacel">取消</el-button>
<el-button type="primary" plain @click="submitForm" :loading="loading">发起申请</el-button>
</div>
</div>
</template>
<script>
//首次登记
import jump from "./mixin/jump";
import store from '@/store/index.js'
import table from "@/utils/mixin/table";
import { ywPopupDialog } from "@/utils/popup.js";
import { selectLq } from "@/api/ywsq.js";
import { startBusinessFlow } from "@/api/workFlow.js";
import { datas, sendThis } from "../javascript/selectQjzdjbxx.js";
import { defaultParameters } from "../javascript/publicDefaultPar.js";
export default {
mixins: [table, jump],
props: {
isJump: { type: Boolean, default: false },
sqywInfo: { type: Object, default: () => { } },
},
data () {
return {
loading: false,
queryForm: defaultParameters.defaultParameters(),
tableData: {
total: 0,
columns: datas.columns(),
data: [],
},
bdcdysz: [],
bsmSqyw:
this.sqywInfo.nodetype === "djlx"
? this.sqywInfo.bsmSqyw
: this.sqywInfo.parentid,
};
},
mounted () {
sendThis(this);
},
methods: {
/**
* @description: queryClick
* @author: renchao
*/
queryClick () {
this.$startLoading();
this.queryForm.sqywbm = this.sqywInfo.djywbm;
selectLq({ ...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;
}
});
},
/**
* @description: submitForm
* @author: renchao
*/
submitForm () {
if (this.bdcdysz.length == 0) {
this.$alert("请至少选择一条数据");
return;
}
this.loading = true
startBusinessFlow({
bsmSqyw: this.bsmSqyw,
bdcdysz: this.bdcdysz,
djqxbm: this.sqywInfo.nodetype == "djqx" ? this.sqywInfo.nodecode : "",
djqxmc: this.sqywInfo.nodetype == "djqx" ? this.sqywInfo.nodename : "",
}).then((res) => {
this.loading = false
if (res.code == 200) {
this.$message({
showClose: true,
message: "发起申请成功",
type: "success",
});
if (!this.isJump) {
this.jump(res.result, this.djywbm);
} else {
store.dispatch('user/refreshPage', true);
}
this.$popupCacel()
} else {
ywPopupDialog("申请错误明细", "components/ywdialog", { message: res.message, result: res.result }, '36%')
}
}).catch(() => {
this.loading = false
})
},
/**
* @description: handleSelectionChange
* @param {*} val
* @author: renchao
*/
handleSelectionChange (val) {
val.forEach((item, index) => {
item.bsm = item.zdbsm;
});
if (this.sqywInfo.sqywdylx == "1") {
if (val.length > 1) {
this.bdcdysz = [...val[val.length - 1]];
} else {
this.bdcdysz = val;
}
} else {
this.bdcdysz = val;
}
},
/**
* @description: select
* @param {*} selection
* @param {*} row
* @author: renchao
*/
select (selection, row) {
if (this.sqywInfo.sqywdylx == "1") {
// 清除 所有勾选项
this.$refs.table.clearSelection()
// 当表格数据都没有被勾选的时候 就返回
// 主要用于将当前勾选的表格状态清除
if (selection.length == 0) return
this.$refs.table.toggleRowSelection(row, true);
}
},
/**
* @description: handleRowClick
* @param {*} row
* @author: renchao
*/
handleRowClick (row) {
// 如果状态是1,那就是单选
if (this.sqywInfo.sqywdylx == "1") {
const bdcdysz = this.bdcdysz
this.$refs.table.clearSelection()
if (bdcdysz.length == 1) {
bdcdysz.forEach(item => {
// 判断 如果当前的一行被勾选, 再次点击的时候就会取消选中
if (item == row) {
this.$refs.table.toggleRowSelection(row, false);
}
// 不然就让当前的一行勾选
else {
this.$refs.table.toggleRowSelection(row, true);
}
})
}
else {
this.$refs.table.toggleRowSelection(row, true);
}
} else {
this.$refs.table.toggleRowSelection(row);
}
},
/**
* @description: openBook
* @param {*} row
* @author: renchao
*/
openBook (row) {
var param = {
bdcdyid: row.bdcdyid,
qllx: row.qllx,
bdcdyh: row.bdcdyh,
bsmQlxx: row.bsmQlxx,
};
this.$popup("登记簿详情", "registerBook/djbFrame", {
formData: param
})
},
},
};
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
@import "~@/styles/public.scss";
</style>
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-08-09 16:12:34
-->
<template>
<div class="from-clues">
<!-- 表单部分 林权首次 -->
<div class="from-clues-header">
<el-form :model="queryForm" ref="queryForm">
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="宗地代码">
<el-input placeholder="请输入宗地代码" maxlength="19" v-model="queryForm.zddm" clearable class="width100">
</el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="不动产单元号">
<el-input placeholder="请输入不动产单元号" maxlength="28" v-model="queryForm.bdcdyh" clearable class="width100">
</el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="坐落">
<el-input placeholder="请输入坐落" v-model.trim="queryForm.zl" clearable class="width100">
</el-input>
</el-form-item>
</el-col>
<el-col :span="6" class="btnColRight">
<el-form-item>
<!-- <el-button type="primary" @click="resetForm(true)">重置</el-button> -->
<el-button type="primary" @click="handleSearch">查询</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<!-- 表格 -->
<div class="from-clues-content loadingtext">
<lb-table ref="table" @row-click="handleRowClick" :page-size="pageData.pageSize" :calcHeight="300"
:current-page.sync="pageData.currentPage" :total="tableData.total" @size-change="handleSizeChange" @select="select"
@p-current-change="handleCurrentChange" @selection-change="handleSelectionChange" :column="tableData.columns"
:data="tableData.data">
</lb-table>
</div>
<div class="submit_button">
<el-button @click="$popupCacel">取消</el-button>
<el-button type="primary" plain @click="submitForm" :loading="loading">发起申请</el-button>
</div>
</div>
</template>
<script>
//首次登记
import jump from "./mixin/jump";
import store from '@/store/index.js'
import table from "@/utils/mixin/table";
import { ywPopupDialog } from "@/utils/popup.js";
import { selectLqQjdc } from "@/api/ywsq.js";
import { startBusinessFlow } from "@/api/workFlow.js";
import { datas, sendThis } from "../javascript/selectQjzdjbxx.js";
import { defaultParameters } from "../javascript/publicDefaultPar.js";
export default {
mixins: [table, jump],
props: {
isJump: { type: Boolean, default: false },
sqywInfo: { type: Object, default: () => { } },
},
data () {
return {
loading: false,
queryForm: defaultParameters.defaultParameters(),
tableData: {
total: 0,
columns: datas.columns(),
data: [],
},
bdcdysz: [],
bsmSqyw:
this.sqywInfo.nodetype === "djlx"
? this.sqywInfo.bsmSqyw
: this.sqywInfo.parentid,
};
},
mounted () {
sendThis(this);
},
methods: {
/**
* @description: queryClick
* @author: renchao
*/
queryClick () {
this.$startLoading();
this.queryForm.sqywbm = this.sqywInfo.djywbm;
selectLqQjdc({ ...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;
}
});
},
/**
* @description: submitForm
* @author: renchao
*/
submitForm () {
if (this.bdcdysz.length == 0) {
this.$alert("请至少选择一条数据");
return;
}
this.loading = true
startBusinessFlow({
bsmSqyw: this.bsmSqyw,
bdcdysz: this.bdcdysz,
djqxbm: this.sqywInfo.nodetype == "djqx" ? this.sqywInfo.nodecode : "",
djqxmc: this.sqywInfo.nodetype == "djqx" ? this.sqywInfo.nodename : "",
}).then((res) => {
this.loading = false
if (res.code == 200) {
this.$message({
showClose: true,
message: "发起申请成功",
type: "success",
});
if (!this.isJump) {
this.jump(res.result, this.djywbm);
} else {
store.dispatch('user/refreshPage', true);
}
this.$popupCacel()
} else {
ywPopupDialog("申请错误明细", "components/ywdialog", { message: res.message, result: res.result }, '36%')
}
}).catch(() => {
this.loading = false
})
},
/**
* @description: handleSelectionChange
* @param {*} val
* @author: renchao
*/
handleSelectionChange (val) {
val.forEach((item, index) => {
item.bsm = item.zdbsm;
});
if (this.sqywInfo.sqywdylx == "1") {
if (val.length > 1) {
this.bdcdysz = [...val[val.length - 1]];
} else {
this.bdcdysz = val;
}
} else {
this.bdcdysz = val;
}
},
/**
* @description: select
* @param {*} selection
* @param {*} row
* @author: renchao
*/
select (selection, row) {
if (this.sqywInfo.sqywdylx == "1") {
// 清除 所有勾选项
this.$refs.table.clearSelection()
// 当表格数据都没有被勾选的时候 就返回
// 主要用于将当前勾选的表格状态清除
if (selection.length == 0) return
this.$refs.table.toggleRowSelection(row, true);
}
},
/**
* @description: handleRowClick
* @param {*} row
* @author: renchao
*/
handleRowClick (row) {
// 如果状态是1,那就是单选
if (this.sqywInfo.sqywdylx == "1") {
const bdcdysz = this.bdcdysz
this.$refs.table.clearSelection()
if (bdcdysz.length == 1) {
bdcdysz.forEach(item => {
// 判断 如果当前的一行被勾选, 再次点击的时候就会取消选中
if (item == row) {
this.$refs.table.toggleRowSelection(row, false);
}
// 不然就让当前的一行勾选
else {
this.$refs.table.toggleRowSelection(row, true);
}
})
}
else {
this.$refs.table.toggleRowSelection(row, true);
}
} else {
this.$refs.table.toggleRowSelection(row);
}
},
/**
* @description: openBook
* @param {*} row
* @author: renchao
*/
openBook (row) {
var param = {
bdcdyid: row.bdcdyid,
qllx: row.qllx,
bdcdyh: row.bdcdyh,
bsmQlxx: row.bsmQlxx,
};
this.$popup("登记簿详情", "registerBook/djbFrame", {
formData: param
})
},
},
};
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
@import "~@/styles/public.scss";
</style>
......@@ -13,7 +13,6 @@ export function queueDjywmc (djywbm, djqxbm) {
case "A03100"://建设用地使用权(首次登记)
case "A05100"://宅基地使用权(首次登记)
case "A07100"://集体建设用地使用权(首次登记)
case "A11100"://林地使用权
vm = "selectQjzdjbxx";
break;
case "A01200":
......@@ -95,6 +94,14 @@ export function queueDjywmc (djywbm, djqxbm) {
case "C04371": //一并国有房屋转移
vm = "selectYbgybg";
break;
case "A11100"://林地使用权首次
vm = "selectLqsc";
break;
case "A11200"://林地使用权转移
case "A11300"://林地使用权登记
case "A11400"://林地使用权变更
vm = "selectLqqt";
break;
default:
vm = "selecBdcql";
break;
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-08-10 14:01:09
-->
<template>
<div class="from-clues loadingtext" v-Loading="loading" element-loading-text="拼命加载中..." style="height:720px;text-align: center;">
<el-empty description="暂无数据" v-if="headTabBdcqz.length == 0 && noData"></el-empty>
<canvas ref="zs" width="1000" height="700"></canvas>
</div>
</template>
<script>
import { getSlsqBdcqzList } from "@/api/bdcqz.js"
export default {
name: "zsyl",
props: {
formData: {
type: Object,
default: {}
}
},
data () {
return {
noData: false,
imgSrc: require('@/image/bdcqz/bdcqzs2.jpg'),
loading: false,
}
},
mounted () {
this.getHeadTabBdcqz();
},
methods: {
/**
* @description: 获取受理申请下全部不动产权证
* @author: renchao
*/
getHeadTabBdcqz () {
this.loading = true
getSlsqBdcqzList({ bsmSlsq: this.formData.bsmSlsq }).then(res => {
if (res.code == 200) {
this.noData = true
if (res.result && res.result.length > 0) {
this.bdcqz = res.result[0]
this.drawTextOnImage()
}
}
this.loading = false
})
},
/**
* @description: 不动产证书
* @author: renchao
*/
drawTextOnImage () {
const canvas = this.$refs.zs;
const context = canvas.getContext('2d');
const image = new Image();
image.onload = () => {
context.drawImage(image, 0, 0);
context.font = '18px 楷体';
context.fillStyle = '#000000';
context.fillText(this.bdcqz.sjjc ? this.bdcqz.sjjc : '', 60, 56);
context.fillText(this.bdcqz.djnd ? this.bdcqz.djnd : '', 113, 56);
context.fillText(this.bdcqz.sxqc ? this.bdcqz.sxqc : '', 180, 56);
context.fillText(this.bdcqz.sxh ? this.bdcqz.sxh : '', 370, 56);
context.fillText(this.bdcqz.qlr ? this.bdcqz.qlr : '', 138, 97);
context.fillText(this.bdcqz.gyqk ? this.bdcqz.gyqk : '', 138, 138);
context.fillText(this.bdcqz.zl ? this.bdcqz.zl : '', 138, 180);
context.fillText(this.bdcqz.bdcdyh ? this.bdcqz.bdcdyh : '', 138, 223);
context.fillText(this.bdcqz.qllx ? this.bdcqz.qllx : '', 138, 263);
context.fillText(this.bdcqz.qlxz ? this.bdcqz.qlxz : '', 138, 303);
context.fillText(this.bdcqz.yt ? this.bdcqz.yt : '', 138, 346);
context.fillText(this.bdcqz.mj ? this.bdcqz.mj : '', 138, 386);
context.fillText(this.bdcqz.syqx ? this.bdcqz.syqx : '', 138, 429);
// qlqtzk
const maxWidth = 280; // 最大宽度限制
let lines = this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk.split('\n') : [];
lines.forEach((line, index) => {
const y = 469 + (index * 37); // 每行文本的垂直位置
let currentLine = '';
let arr = [];
for (let word of line) {
const testLine = currentLine + word;
const lineWidth = context.measureText(testLine).width;
if (lineWidth <= maxWidth) {
currentLine = testLine;
} else {
arr.push(currentLine);
currentLine = word;
}
}
arr.push(currentLine);
arr.forEach((line, index) => {
context.fillText(line, 138, y + (index * 20)); // 调整行高
})
})
let lines1 = this.bdcqz.fj ? this.bdcqz.fj.split(' ') : [];
lines1.forEach((line, index) => {
const y = 100 + (index * 37); // 每行文本的垂直位置
let currentLine = '';
let arr = [];
for (let word of line) {
const testLine = currentLine + word;
const lineWidth = context.measureText(testLine).width;
if (lineWidth <= 395) {
currentLine = testLine;
} else {
arr.push(currentLine);
currentLine = word;
}
}
arr.push(currentLine);
arr.forEach((line, index) => {
context.fillText(line, 580, y + (index * 20)); // 调整行高
})
})
}
image.src = this.imgSrc
},
}
}
</script>