导入、租赁资产

master
xy 1 year ago
parent 445d286e4b
commit 8f9387798e

Binary file not shown.

@ -236,112 +236,6 @@ export default {
"label": "证载“权利人”", "label": "证载“权利人”",
"width": 0, "width": 0,
"align": "left" "align": "left"
},
{
"prop": "gongyouqingkuang",
"label": "共有情况",
"width": 0,
"align": "center"
},
{
"prop": "shiyongnianxian",
"label": "使用年限(年)",
"width": 0,
"align": "center"
},
{
"prop": "xianzhuang",
"label": "现状",
"width": 0,
"align": "center"
},
{
"prop": "yongtu",
"label": "用途",
"width": 0,
"align": "left"
},
{
"prop": "shiyongquanleixing",
"label": "使用权类型",
"width": 0,
"align": "center"
},
{
"prop": "lingzhengriqi",
"label": "领证日期",
"width": 0,
"align": "center"
},
{
"prop": "zhongzhiriqi",
"label": "终止日期",
"width": 0,
"align": "center"
},
{
"prop": "dengjimianji",
"label": "登记面积",
"width": 0,
"align": "center"
},
{
"prop": "shijimianji",
"label": "实际面积",
"width": 0,
"align": "center"
},
{
"label": "不符情况",
"width": 0
},
{
"prop": "bufuyuanyin",
"label": "不符原因",
"width": 0,
"align": "center"
},
{
"prop": "ruzhangshijian",
"label": "入账时间",
"width": 0,
"align": "center"
},
{
"prop": "zhangmianyuanzhi",
"label": "账面原值",
"width": 0,
"align": "center"
},
{
"prop": "tudidengji",
"label": "土地等级",
"width": 0,
"align": "center"
},
{
"prop": "tudishuidanjia",
"label": "土地税单价",
"width": 0,
"align": "center"
},
{
"prop": "tudishui",
"label": "土地税",
"width": 0,
"align": "center"
},
{
"prop": "tudishuijiaonazhuti",
"label": "土地税缴纳主体",
"width": 0,
"align": "center"
},
{
"prop": "jiaoshuijine",
"label": "缴税金额",
"width": 0,
"align": "center"
} }
] ]
} }
@ -464,66 +358,6 @@ export default {
"label": "证载“权利人”", "label": "证载“权利人”",
"width": 0, "width": 0,
"align": "center" "align": "center"
},
{
"prop": "yongtu",
"label": "用途",
"width": 0,
"align": "left"
},
{
"prop": "zhuangtai",
"label": "现状",
"width": 0,
"align": "left"
},
{
"prop": "dengjishijian",
"label": "登记时间",
"width": 0,
"align": "center"
},
{
"prop": "dengjimianji",
"label": "登记面积",
"width": 0,
"align": "center"
},
{
"prop": "shijimianji",
"label": "实际面积",
"width": 0,
"align": "center"
},
{
"prop": "bufuyuanyin",
"label": "不符情况",
"width": 0,
"align": "center"
},
{
"prop": "ruzhangshijian",
"label": "入账时间",
"width": 0,
"align": "center"
},
{
"prop": "zhangmianyuanzhi",
"label": "账面原值",
"width": 0,
"align": "center"
},
{
"prop": "guanliantudizhengquanzheng",
"label": "关联土地证权证",
"width": 0,
"align": "center"
},
{
"prop": "shiyongzhuangtai",
"label": "使用状态",
"width": 0,
"align": "center"
} }
] ]
} }
@ -584,12 +418,12 @@ export default {
landDialog: false, landDialog: false,
leasePlans: [], leasePlans: [],
landSelect: { landSelect: {
is_auth: 1, is_auth_more: 1,
table_name: "lands", table_name: "lands",
keyword: "" keyword: ""
}, },
houseSelect: { houseSelect: {
is_auth: 1, is_auth_more: 1,
table_name: "houses", table_name: "houses",
keyword: "" keyword: ""
}, },

@ -0,0 +1,264 @@
<template>
<div>
<el-dialog :append-to-body="true" :visible.sync="dialogVisible" title="数据导入" width="70%">
<div class="title">模板下载</div>
<el-button
style="margin-top: 10px"
size="small"
type="primary"
@click="downloadTemplate"
>模板下载</el-button
>
<div style="color: red; margin-top: 10px">
导入的时候请勿修改模版的标题名称
</div>
<el-upload
style="margin-top: 10px"
drag
:action="action"
:data="{
table_name: tableName,
}"
:headers="{
Authorization: `Bearer ${getToken()}`,
}"
:before-upload="uploadBeforeUpload"
:on-success="uploadSuccess"
:on-error="uploadFail"
>
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处<em>点击上传</em></div>
<div class="el-upload__tip" slot="tip">只能上传xls/xlsx文件</div>
</el-upload>
<div class="title" style="margin-top: 10px;">数据预览</div>
<Table :data="tableList" :columns="table" style="margin-top: 10px;"></Table>
<div style="font-size: 12px;zoom: 0.8;">总共数据{{ tableList.length }}</div>
<el-button type="primary" size="small" style="margin-top: 10px;" @click="imports"></el-button>
</el-dialog>
</div>
</template>
<script>
import XLSX from "xlsx-js-style";
// import * as XLSX from "xlsx";
import { saveAs } from "file-saver";
import { getToken } from "@/utils/auth";
import { imports } from "@/api/system/baseForm";
export default {
props: {
formInfo: {
type: Array,
default: () => [],
},
tableName: String,
},
data() {
return {
action: `${process.env.VUE_APP_BASE_API}api/admin/base-form/excel-show`,
dialogVisible: false,
headers: [],
tableList: [],
table: [],
fileUrl: '/租赁模版.xlsx',
};
},
methods: {
getToken,
show() {
this.dialogVisible = true;
},
hidden() {
this.dialogVisible = false;
},
downloadTemplate() {
let a = document.createElement('a')
a.href = this.fileUrl
a.click()
},
//
uploadBeforeUpload(file) {
this.handleFileSelect(file)
return false
},
uploadFail(err) {
console.log(err);
this.$message({
message: "上传失败",
type: "error",
});
},
uploadSuccess(response) {
this.headers.forEach(header => {
if (header._params) {
response.forEach(row => {
if (row.hasOwnProperty(header.key)) {
row[header.key] = header._params.find(i => i.key == row[header.key]) ? header._params.find(i => i.key == row[header.key]).value : row[header.key]
}
for (let key in row) {
if (row[key].hasOwnProperty('date')) {
row[key] = row[key]['date']
}
}
})
}
})
this.tableList = response;
this.$message({
message: `上传成功`,
type: "success",
});
},
handleFileSelect(file) {
let linkTableName = new Map([
['标的类型', 'biaodileixing'],
['租赁标的', 'name'],
['租赁面积', 'chuzumianji']
])
let formatData = []
const reader = new FileReader();
//
reader.onload = (e) => {
const data = new Uint8Array(e.target.result);
const workbook = XLSX.read(data, { type: 'array', cellDates: true, defval: "" });
const worksheet = workbook.Sheets[workbook.SheetNames[0]];
const merges = Array.from(new Set(worksheet['!merges'].map(i => JSON.stringify({ rs: i.s.r-2 , re: i.e.r-2 })))).map(JSON.parse)
const jsonData = XLSX.utils.sheet_to_json(worksheet, { header: 1, defval: "" });
const headers = jsonData.splice(0, 1)[0]
const list = jsonData.slice(1)
let index = 0;
while (index < list.length) {
let row = list[index]
let myrow = {}
let link = {}
if (merges.find(j => index > j.rs && index <= j.re)) {
Array.from(linkTableName.keys()).forEach((header, index1) => {
link[linkTableName.get(header)] = row[index1]
})
formatData[merges.find(j => index >= j.rs && index <= j.re).rs]["id_leases_to_assets_lease_id_relation"].push(link)
index++
} else {
headers.forEach((header, index1) => {
if (Array.from(linkTableName.keys()).indexOf(header) !== -1) {
link[linkTableName.get(header)] = row[index1] instanceof Date ? this.$moment(row[index1]).format('YYYY-MM-DD') : row[index1]
} else {
let field = this.formInfo.find(j => j.name === header)
if (field) {
myrow[field.field] = row[index1] instanceof Date ? this.$moment(row[index1]).format('YYYY-MM-DD') : row[index1]
}
}
})
myrow["id_leases_to_assets_lease_id_relation"] = Object.values(link).length > 0 ? [link] : []
formatData.push(myrow)
index++
}
}
//
console.log('formatData',formatData)
imports({
table_name: "leases",
data: formatData
}).then(res => {
this.$message({
type: 'success',
message: `成功导入${res.total}`
})
})
};
//
reader.readAsArrayBuffer(file);
},
exportExcel(sheetName) {
function numberToLetter(num) {
//
if (num < 0 || !Number.isInteger(num)) {
throw new Error("请输入一个非负整数");
}
//
return String.fromCharCode(65 + num);
}
const data = [this.headers.map((header) => header.title)];
const wb = XLSX.utils.book_new();
const ws = XLSX.utils.aoa_to_sheet(data);
this.headers.forEach((header, index) => {
if (header.required) {
ws[`${numberToLetter(index)}1`].s = {
font: {
bold: true,
color: { rgb: "FFFF0000" }
}
}
}
})
XLSX.utils.book_append_sheet(wb, ws, sheetName);
const wbout = XLSX.write(wb, {
bookType: "xlsx",
bookSST: true,
type: "array",
});
saveAs(
new Blob([wbout], { type: "application/octet-stream" }),
`${sheetName}.xlsx`
);
},
imports() {
imports({
table_name: this.tableName,
data: this.tableList
}).then(res => {
console.log(res)
this.$message({
type: 'success',
message: `成功导入${res.total}`
})
})
this.hidden();
this.$emit('refresh')
}
},
computed: {},
watch: {
formInfo(newVal) {
if (newVal && newVal instanceof Array) {
console.log(33, newVal)
this.table = this.headers = newVal.map((i) => {
return {
key: i.field,
title: i.name,
width: 200,
required: !!i.validation?.find(i => i === 'required'),
_params: i._params
};
});
}
},
},
};
</script>
<style scoped lang="scss">
.title {
font-size: 15px;
font-weight: 600;
padding: 8px 4px;
position: relative;
&::before {
content: '';
width: 4px;
background: $primaryColor;
position: absolute;
top: 8px;
bottom: 8px;
left: -8px;
}
}
</style>

@ -2,6 +2,7 @@
<div> <div>
<el-drawer :append-to-body="true" :visible.sync="dialogVisible" title="租金收取列表" size="64%"> <el-drawer :append-to-body="true" :visible.sync="dialogVisible" title="租金收取列表" size="64%">
<div style="padding: 0 10px;"> <div style="padding: 0 10px;">
<Button type="primary" @click="addNewRow"></Button>
<xy-table :action="index" <xy-table :action="index"
ref="xyTable" ref="xyTable"
:expand-row-keys="expands" :expand-row-keys="expands"
@ -174,7 +175,7 @@ export default {
} else { } else {
this.expands = [] // this.expands = [] //
} }
} },
}, },
computed: {}, computed: {},
watch: { watch: {

@ -195,36 +195,47 @@ export default {
{ {
prop: "name", prop: "name",
label: "资产名称", label: "资产名称",
width: 0, width: 180,
fixed: "left", fixed: "left",
align: "left", align: "left",
customFn: (row) => { customFn: (row) => {
return ( return (
<span> <span>
{row.land_id {(row.land_id || row.house_id) ? (row.land_id
? this.detail?.land?.find((i) => i.id === row.land_id)?.name ? this.detail?.land?.find((i) => i.id === row.land_id)?.name
: this.detail?.houses?.find((i) => i.id === row.house_id) : this.detail?.houses?.find((i) => i.id === row.house_id)
?.name} ?.name) : row.name}
</span> </span>
); );
}, },
}, },
{
prop: 'biaodileixing',
label: '标的类型',
width: 160
},
{ {
prop: "zuoluo", prop: "zuoluo",
label: "坐落", label: "坐落",
width: 0, width: 160,
align: "left", align: "left",
customFn: (row) => { customFn: (row) => {
return ( return (
<span> <span>
{row.land_id {(row.land_id || row.house_id) ? (row.land_id
? this.detail?.land?.find((i) => i.id === row.land_id)?.zuoluo ? this.detail?.land?.find((i) => i.id === row.land_id)?.zuoluo
: this.detail?.houses?.find((i) => i.id === row.house_id) : this.detail?.houses?.find((i) => i.id === row.house_id)
?.zuoluo} ?.zuoluo) : row.zuoluo}
</span> </span>
); );
}, },
}, },
{
prop: 'xiangxiweizhi',
label: '详细位置',
width: 180,
align: 'left'
},
{ {
prop: "shijimianji", prop: "shijimianji",
label: "实际面积", label: "实际面积",
@ -233,11 +244,11 @@ export default {
customFn: (row) => { customFn: (row) => {
return ( return (
<span> <span>
{parseFloat((row.land_id {(row.land_id || row.house_id) ? (parseFloat((row.land_id
? this.detail?.land?.find((i) => i.id === row.land_id) ? this.detail?.land?.find((i) => i.id === row.land_id)
?.shijimianji ?.shijimianji
: this.detail?.houses?.find((i) => i.id === row.house_id) : this.detail?.houses?.find((i) => i.id === row.house_id)
?.shijimianji)??0).toFixed(2)} ?.shijimianji)??0).toFixed(2)) : row.shijimianji}
</span> </span>
); );
}, },

@ -313,7 +313,7 @@ import { saveAs } from "file-saver";
import { listdept } from "@/api/system/department" import { listdept } from "@/api/system/department"
import add from "./component/addLease.vue"; import add from "./component/addLease.vue";
import imports from "@/views/component/imports.vue" import imports from "./component/imports.vue"
import LxHeader from "@/components/LxHeader/index.vue"; import LxHeader from "@/components/LxHeader/index.vue";
import headerContent from "@/components/LxHeader/XyContent.vue"; import headerContent from "@/components/LxHeader/XyContent.vue";
import addPay from "@/views/lease/component/addPay.vue"; import addPay from "@/views/lease/component/addPay.vue";

@ -192,13 +192,14 @@ export default {
{ {
prop: "name", prop: "name",
label: "资产名称", label: "资产名称",
width: 0, width: 180,
fixed: "left", fixed: "left",
align: "left", align: "left",
}, },
{ {
prop: "type", prop: "type",
label: "分类", label: "分类",
width: 100,
"fixed": "left", "fixed": "left",
customFn: row => ( customFn: row => (
<span>{ row.hasOwnProperty('land_id') ? '房产' : '土地' }</span> <span>{ row.hasOwnProperty('land_id') ? '房产' : '土地' }</span>
@ -207,13 +208,19 @@ export default {
{ {
prop: "zuoluo", prop: "zuoluo",
label: "坐落", label: "坐落",
width: 0, width: 160,
align: "left",
},
{
prop: "xiangxiweizhi",
label: "详细位置",
width: 180,
align: "left", align: "left",
}, },
{ {
prop: "shijimianji", prop: "shijimianji",
label: "实际面积", label: "实际面积",
width: 0, width: 160,
align: "center", align: "center",
}, },
{ {
@ -318,6 +325,26 @@ export default {
<p style="font-weight: 700;line-height: 2;">资产信息</p> <p style="font-weight: 700;line-height: 2;">资产信息</p>
<div style="margin-left: auto;"> <div style="margin-left: auto;">
<Button
type="primary"
shape="circle"
on={{
["click"]: (_) => {
this.nowAssets.push({
id: "",
_name: "",
_zuoluo: "",
_biaodileixing: "",
_xiangxiweizhi: "",
_shijimianji: 0,
_chuzumianji: 0,
_relation_id: "",
});
},
}}
>
新增记录
</Button>
<Button <Button
type="primary" type="primary"
shape="circle" shape="circle"
@ -359,29 +386,60 @@ export default {
{ {
prop: "name", prop: "name",
label: "资产名称", label: "资产名称",
width: 0, width: 180,
fixed: "left", fixed: "left",
align: "left", align: "left",
customFn: row => (
row.id ?
(<span>{ row.name }</span>) :
(<el-input vModel={row._name} size="small"></el-input>)
)
}, },
{ {
prop: "type", prop: "type",
label: "分类", label: "分类",
width: 100,
"fixed": "left", "fixed": "left",
customFn: row => ( customFn: row => (
<span>{ row.hasOwnProperty('land_id') ? '房产' : '土地' }</span> row.id ?
(<span>{ row.hasOwnProperty('land_id') ? '房产' : '土地' }</span>) :
(<el-input vModel={row._biaodileixing} size="small"></el-input>)
) )
}, },
{ {
prop: "zuoluo", prop: "zuoluo",
label: "坐落", label: "坐落",
width: 0, width: 160,
align: "left", align: "left",
customFn: row => (
row.id ?
(<span>{ row.zuoluo }</span>) :
(<el-input vModel={row._zuoluo} size="small"></el-input>)
)
},
{
prop: "xiangxiweizhi",
label: "详细位置",
width: 180,
customFn: (row) => {
return (
<el-input
vModel={row._xiangxiweizhi}
size="small"
></el-input>
);
},
}, },
{ {
prop: "shijimianji", prop: "shijimianji",
label: "实际面积", label: "实际面积",
width: 0, width: 160,
align: "center", align: "center",
customFn: row => (
row.id ?
(<span>{ row.shijimianji }</span>) :
(<el-input-number precision={2} controls={false} vModel={row._shijimianji} size="small"></el-input-number>)
)
}, },
{ {
prop: "_chuzumianji", prop: "_chuzumianji",
@ -401,7 +459,8 @@ export default {
{ {
prop: "operate", prop: "operate",
label: "操作", label: "操作",
width: 160, minWidth: 160,
fixed: "right",
customFn: (row) => { customFn: (row) => {
return ( return (
<div style="display: flex;"> <div style="display: flex;">
@ -598,48 +657,52 @@ export default {
{ {
prop: "name", prop: "name",
label: "资产名称", label: "资产名称",
width: 0, width: 180,
fixed: "left", fixed: "left",
align: "left", align: "left",
customFn: row => { customFn: row => {
let temp = !!row.land_id;
let findId = row.land_id || row.house_id; let findId = row.land_id || row.house_id;
return ( return (
<span>{ temp ? item.land?.find(i => i.id === findId)?.name : item.houses?.find(i => i.id === findId)?.name }</span> <span>{ (row.land_id || row.house_id) ? ( row.land_id ? item.land?.find(i => i.id === findId)?.name : item.houses?.find(i => i.id === findId)?.name) : row.name }</span>
) )
} }
}, },
{ {
prop: "type", prop: "type",
label: "分类", label: "分类",
width: 160,
"fixed": "left", "fixed": "left",
customFn: row => ( customFn: row => (
<span>{ row.land_id ? '土地' : '房产' }</span> <span>{ ((row.land_id || row.house_id) ? (row.land_id ? '土地' : '房产') : row.biaodileixing) }</span>
) )
}, },
{ {
prop: "zuoluo", prop: "zuoluo",
label: "坐落", label: "坐落",
width: 0, width: 160,
align: "left", align: "left",
customFn: row => { customFn: row => {
let temp = !!row.land_id;
let findId = row.land_id || row.house_id; let findId = row.land_id || row.house_id;
return ( return (
<span>{ temp ? item.land?.find(i => i.id === findId)?.zuoluo : item.houses?.find(i => i.id === findId)?.zuoluo }</span> <span>{ (row.land_id || row.house_id) ? (row.land_id ? item.land?.find(i => i.id === findId)?.zuoluo : item.houses?.find(i => i.id === findId)?.zuoluo) : row.zuoluo }</span>
) )
} }
}, },
{
prop: "xiangxiweizhi",
label: "详细位置",
width: 180,
align: "left"
},
{ {
prop: "shijimianji", prop: "shijimianji",
label: "实际面积", label: "实际面积",
width: 0, width: 160,
align: "center", align: "center",
customFn: row => { customFn: row => {
let temp = !!row.land_id;
let findId = row.land_id || row.house_id; let findId = row.land_id || row.house_id;
return ( return (
<span>{ temp ? item.land?.find(i => i.id === findId)?.shijimianji : item.houses?.find(i => i.id === findId)?.shijimianji }</span> <span>{ (row.land_id || row.house_id) ? (row.land_id ? item.land?.find(i => i.id === findId)?.shijimianji : item.houses?.find(i => i.id === findId)?.shijimianji) : row.shijimianji }</span>
) )
} }
}, },
@ -710,6 +773,10 @@ export default {
{ {
new CreateDialog(this, new CreateDialog(this,
[ [
{
show: false,
key: "let_id"
},
{ {
show: true, show: true,
key: "qiandingnianyue", key: "qiandingnianyue",
@ -902,12 +969,42 @@ export default {
{ {
prop: "selection", prop: "selection",
label: "选择", label: "选择",
type: "selection", width: 80,
width: 56,
align: "center",
reserveSelection: true,
fixed: "left", fixed: "left",
customFn: row => {
return (
<Button size="small"
type="primary"
on={{
'click': _ => {
this.nowAssets.push({
id: row.id,
name: row.name,
zuoluo: row.zuoluo,
zichanweizhi: row.zichanweizhi,
shijimianji: row.shijimianji,
_name: row.name,
_zuoluo: row.zuoluo,
_shijimianji: row.shijimianji,
_xiangxiweizhi: "",
_chuzumianji: 0,
_relation_id: "",
ORIGINAL_DATA: row,
});
}
}}>新增</Button>
)
}
}, },
// {
// prop: "selection",
// label: "",
// type: "selection",
// width: 56,
// align: "center",
// reserveSelection: true,
// fixed: "left",
// },
{ {
prop: "id", prop: "id",
width: 60, width: 60,
@ -959,134 +1056,28 @@ export default {
label: "证载“权利人”", label: "证载“权利人”",
width: 0, width: 0,
align: "left", align: "left",
}, }
{
prop: "gongyouqingkuang",
label: "共有情况",
width: 0,
align: "center",
},
{
prop: "shiyongnianxian",
label: "使用年限(年)",
width: 0,
align: "center",
},
{
prop: "xianzhuang",
label: "现状",
width: 0,
align: "center",
},
{
prop: "yongtu",
label: "用途",
width: 0,
align: "left",
},
{
prop: "shiyongquanleixing",
label: "使用权类型",
width: 0,
align: "center",
},
{
prop: "lingzhengriqi",
label: "领证日期",
width: 0,
align: "center",
},
{
prop: "zhongzhiriqi",
label: "终止日期",
width: 0,
align: "center",
},
{
prop: "dengjimianji",
label: "登记面积",
width: 0,
align: "right",
},
{
prop: "shijimianji",
label: "实际面积",
width: 0,
align: "center",
},
{
label: "不符情况",
width: 0,
},
{
prop: "bufuyuanyin",
label: "不符原因",
width: 0,
align: "center",
},
{
prop: "ruzhangshijian",
label: "入账时间",
width: 0,
align: "center",
},
{
prop: "zhangmianyuanzhi",
label: "账面原值",
width: 0,
align: "center",
},
{
prop: "tudidengji",
label: "土地等级",
width: 0,
align: "center",
},
{
prop: "tudishuidanjia",
label: "土地税单价",
width: 0,
align: "center",
},
{
prop: "tudishui",
label: "土地税",
width: 0,
align: "center",
},
{
prop: "tudishuijiaonazhuti",
label: "土地税缴纳主体",
width: 0,
align: "center",
},
{
prop: "jiaoshuijine",
label: "缴税金额",
width: 0,
align: "center",
},
]} ]}
action={this.index} action={this.index}
req-opt={this.landSelect} req-opt={this.landSelect}
on={{ on={{
["loaded"]: (_) => { ["loaded"]: (_) => {
this.$nextTick(() => { // this.$nextTick(() => {
this.$refs["landLinkTable"] // this.$refs["landLinkTable"]
.getListData() // .getListData()
?.filter((item) => // ?.filter((item) =>
this.nowAssets?.find( // this.nowAssets?.find(
(j) => // (j) =>
j.id === item.id && !j.hasOwnProperty("land_id") // j.id === item.id && !j.hasOwnProperty("land_id")
) // )
) // )
?.forEach((item) => { // ?.forEach((item) => {
this.$refs["landLinkTable"].toggleRowSelection( // this.$refs["landLinkTable"].toggleRowSelection(
item, // item,
true // true
); // );
}); // });
}); // });
}, },
["select"]: (selection, row) => { ["select"]: (selection, row) => {
if (selection.find((i) => i.id === row.id)) { if (selection.find((i) => i.id === row.id)) {
@ -1154,14 +1145,40 @@ export default {
height="600" height="600"
ref="houseLinkTable" ref="houseLinkTable"
table-item={[ table-item={[
// {
// prop: "selection",
// label: "",
// type: "selection",
// width: 56,
// align: "center",
// reserveSelection: true,
// fixed: "left",
// },
{ {
prop: "selection", prop: "selection",
label: "选择", label: "选择",
type: "selection", width: 80,
width: 56,
align: "center",
reserveSelection: true,
fixed: "left", fixed: "left",
customFn: row => {
return (
<Button size="small"
type="primary"
on={{
'click': _ => {
this.nowAssets.push({
id: row.id,
name: row.name,
zuoluo: row.zuoluo,
shijimianji: row.shijimianji,
_chuzumianji: 0,
_relation_id: "",
land_id: row.land_id,
ORIGINAL_DATA: row,
});
}
}}>新增</Button>
)
}
}, },
{ {
prop: "id", prop: "id",
@ -1214,87 +1231,27 @@ export default {
label: "证载“权利人”", label: "证载“权利人”",
width: 0, width: 0,
align: "center", align: "center",
}, }
{
prop: "yongtu",
label: "用途",
width: 0,
align: "left",
},
{
prop: "zhuangtai",
label: "现状",
width: 0,
align: "left",
},
{
prop: "dengjishijian",
label: "登记时间",
width: 0,
align: "center",
},
{
prop: "dengjimianji",
label: "登记面积",
width: 0,
align: "right",
},
{
prop: "shijimianji",
label: "实际面积",
width: 0,
align: "center",
},
{
prop: "bufuyuanyin",
label: "不符情况",
width: 0,
align: "center",
},
{
prop: "ruzhangshijian",
label: "入账时间",
width: 0,
align: "center",
},
{
prop: "zhangmianyuanzhi",
label: "账面原值",
width: 0,
align: "center",
},
{
prop: "guanliantudizhengquanzheng",
label: "关联土地证权证",
width: 0,
align: "center",
},
{
prop: "shiyongzhuangtai",
label: "使用状态",
width: 0,
align: "center",
},
]} ]}
action={this.index} action={this.index}
req-opt={this.houseSelect} req-opt={this.houseSelect}
on={{ on={{
["loaded"]: (_) => { ["loaded"]: (_) => {
this.$nextTick(() => { // this.$nextTick(() => {
this.$refs["houseLinkTable"] // this.$refs["houseLinkTable"]
.getListData() // .getListData()
?.filter((item) => // ?.filter((item) =>
this.nowAssets?.find( // this.nowAssets?.find(
(j) => j.id === item.id && j.hasOwnProperty("land_id") // (j) => j.id === item.id && j.hasOwnProperty("land_id")
) // )
) // )
?.forEach((item) => { // ?.forEach((item) => {
this.$refs["houseLinkTable"].toggleRowSelection( // this.$refs["houseLinkTable"].toggleRowSelection(
item, // item,
true // true
); // );
}); // });
}); // });
}, },
["select"]: (selection, row) => { ["select"]: (selection, row) => {
if (selection.find((i) => i.id === row.id)) { if (selection.find((i) => i.id === row.id)) {
@ -1352,12 +1309,12 @@ export default {
leasePlans: [], leasePlans: [],
oldLeasePlans: [], oldLeasePlans: [],
landSelect: { landSelect: {
is_auth: 1, is_auth_more: 1,
table_name: "lands", table_name: "lands",
keyword: "", keyword: "",
}, },
houseSelect: { houseSelect: {
is_auth: 1, is_auth_more: 1,
table_name: "houses", table_name: "houses",
keyword: "", keyword: "",
}, },
@ -1480,13 +1437,17 @@ export default {
id: land.id, id: land.id,
name: land.name, name: land.name,
zuoluo: land.zuoluo, zuoluo: land.zuoluo,
zichanweizhi: land.zichanweizhi,
shijimianji: land.shijimianji, shijimianji: land.shijimianji,
_chuzumianji: item.chuzumianji, _chuzumianji: item.chuzumianji,
_name: item.name,
_biaodileixing: item.biaodileixing,
_zuoluo: item.zuoluo,
_shijimianji: item.shijimianji,
_xiangxiweizhi: item.xiangxiweizhi,
_relation_id: item.id, _relation_id: item.id,
}); });
} }
} else { } else if (item.house_id) {
let house = this.originalForm.houses?.find( let house = this.originalForm.houses?.find(
(house) => house.id === item.house_id (house) => house.id === item.house_id
); );
@ -1495,14 +1456,31 @@ export default {
id: house.id, id: house.id,
name: house.name, name: house.name,
zuoluo: house.zuoluo, zuoluo: house.zuoluo,
zichanweizhi: house.zichanweizhi,
shijimianji: house.shijimianji, shijimianji: house.shijimianji,
_name: item.name,
_zuoluo: item.zuoluo,
_biaodileixing: item.biaodileixing,
_shijimianji: item.shijimianji,
_xiangxiweizhi: item.xiangxiweizhi,
_chuzumianji: item.chuzumianji, _chuzumianji: item.chuzumianji,
_relation_id: item.id, _relation_id: item.id,
_TAG_: "house",
land_id: house.land_id, land_id: house.land_id,
}); });
} }
} else {
this.nowAssets.push({
id: "",
name: item.name,
zuoluo: item.zuoluo,
shijimianji: item.shijimianji,
_name: item.name,
_zuoluo: item.zuoluo,
_biaodileixing: item.biaodileixing,
_shijimianji: item.shijimianji,
_xiangxiweizhi: item.xiangxiweizhi,
_chuzumianji: item.chuzumianji,
_relation_id: item.id,
});
} }
} }
); );
@ -1557,6 +1535,11 @@ export default {
id: item._relation_id, id: item._relation_id,
land_id: !item.hasOwnProperty("land_id") ? item.id : "", land_id: !item.hasOwnProperty("land_id") ? item.id : "",
house_id: item.hasOwnProperty("land_id") ? item.id : "", house_id: item.hasOwnProperty("land_id") ? item.id : "",
name: item._name,
zuoluo: item._zuoluo,
xiangxiweizhi: item._xiangxiweizhi,
biaodileixing: item._relation_i ? (item.hasOwnProperty("land_id") ? '房产' : '土地') : item._biaodileixing,
shijimianji: item._shijimianji,
chuzumianji: item._chuzumianji, chuzumianji: item._chuzumianji,
lease_id: res.id, lease_id: res.id,
})); }));
@ -1692,12 +1675,16 @@ export default {
zuoluo: land.zuoluo, zuoluo: land.zuoluo,
zichanweizhi: land.zichanweizhi, zichanweizhi: land.zichanweizhi,
shijimianji: land.shijimianji, shijimianji: land.shijimianji,
_name: land.name,
_zuoluo: land.zuoluo,
_shijimianji: land._shijimianji,
_xiangxiweizhi: '',
_chuzumianji: item.chuzumianji || 0, _chuzumianji: item.chuzumianji || 0,
ORIGINAL_DATA: land, ORIGINAL_DATA: land,
_relation_id: item.id, _relation_id: item.id,
}); });
} }
} else { } else if (item.house_id) {
let house = item.house; let house = item.house;
if (house) { if (house) {
this.nowAssets.push({ this.nowAssets.push({
@ -1706,12 +1693,30 @@ export default {
zuoluo: house.zuoluo, zuoluo: house.zuoluo,
zichanweizhi: house.zichanweizhi, zichanweizhi: house.zichanweizhi,
shijimianji: house.shijimianji, shijimianji: house.shijimianji,
_name: house.name,
_zuoluo: house.zuoluo,
_shijimianji: house._shijimianji,
_xiangxiweizhi: '',
_chuzumianji: item.chuzumianji || 0, _chuzumianji: item.chuzumianji || 0,
_relation_id: item.id, _relation_id: item.id,
ORIGINAL_DATA: house, ORIGINAL_DATA: house,
land_id: house.land_id, land_id: house.land_id,
}); });
} }
} else {
this.nowAssets.push({
id: "",
name: item.name,
zuoluo: item.zuoluo,
zichanweizhi: item.zichanweizhi,
shijimianji: item.shijimianji,
_name: "",
_zuoluo: "",
_shijimianji: "",
_xiangxiweizhi: '',
_chuzumianji: item.chuzumianji || 0,
_relation_id: item.id,
});
} }
}); });
} }

Loading…
Cancel
Save