44838b8c by xiaomiao
2 parents 1ae525eb fad47593
/*
* @Description: 材料信息
* @Autor: renchao
* @LastEditTime: 2023-05-16 14:04:42
* @LastEditTime: 2023-07-28 14:31:00
*/
import request from '@/utils/request'
let SERVER = window.config ? window.config : JSON.parse(localStorage.getItem('ApiUrl'))
......@@ -75,6 +75,22 @@ export function uploadSjClmx (data) {
}
/**
* @description: 上传duo个文件
* @param {*} data
* @author: renchao
*/
export function uploadBatch (data) {
return request({
url: SERVER.SERVERAPI + '/rest/ywbl/clxx/uploadBatch',
method: 'post',
headers: {
'Content-Type': 'multipart/form-data'
},
data
})
}
/**
* @description: 删除上传文件
* @param {*} bsmClmx
* @author: renchao
......
/*
* @Description: 房地产权多幢接口
* @Autor: ssq
* @LastEditTime: 2023年07月27日 19:40:34
*/
import request from '@/utils/request'
let SERVER = window.config ? window.config : JSON.parse(localStorage.getItem('ApiUrl'))
/**
* @description: 初始化内容
* @param {*} data
* @author: 单帅旗
*/
export function Init (data) {
let apiUrl = "";
switch (data.get("djlx")) {
case "100":
apiUrl = SERVER.SERVERAPI + "/rest/ywbl/fdcq1lr/firstInit";
break;
case "200":
apiUrl = SERVER.SERVERAPI + "/rest/ywbl/fdcq1lr/transferInit";
break;
case "300":
apiUrl = SERVER.SERVERAPI + "/rest/ywbl/fdcq1lr/changeInit";
break;
case "400":
apiUrl = SERVER.SERVERAPI + "/rest/ywbl/fdcq1lr/logoutInit";
break;
case "500":
apiUrl = SERVER.SERVERAPI + "/rest/ywbl/fdcq1lr/riviseInit";
break;
case "901":
apiUrl = SERVER.SERVERAPI + "/rest/ywbl/fdcq1lr/renewalInit";
break;
case "902":
apiUrl = SERVER.SERVERAPI + "/rest/ywbl/fdcq1lr/replaceInit";
break;
}
return request({
url: apiUrl,
method: 'post',
data
})
}
/**
* @description: 首次登记提交
* @param {*} data
* @author: ssq
*/
export function saveBatchData (data) {
return request({
url: SERVER.SERVERAPI + "/rest/ywbl/fdcq1lr/saveBatchData",
method: 'post',
data
})
}
/**
* @description: 保存
* @param {*} data
* @author: ssq
*/
export function saveData (data) {
return request({
url: SERVER.SERVERAPI + "/rest/ywbl/fdcq1lr/saveData",
method: 'post',
data
})
}
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-05-04 11:14:25
* @LastEditTime: 2023-07-28 15:27:10
*/
const getters = {
sidebar: state => state.app.sidebar,
......@@ -20,6 +20,7 @@ const getters = {
djbxx: state => state.djbxx.djbxx,
// workflow
isRefresh: state => state.user.isRefresh,
workFresh: state => state.user.workFresh,
yjsqOptions: state => state.workflow.yjsqOptions
}
export default getters
......
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-04-12 10:47:33
* @LastEditTime: 2023-07-28 15:26:16
*/
import { getUserInfo } from '@/api/user'
const state = {
name: '',
avatar: 'https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png',
isRefresh: false,
// 业务流程刷新
workFresh: false
}
const mutations = {
SET_NAME: (state, data) => {
......@@ -15,6 +17,9 @@ const mutations = {
},
REFRESH: (state, data) => {
state.isRefresh = data
},
SETWORKFRESH: (state, data) => {
state.workFresh = data
}
}
......@@ -29,6 +34,9 @@ const actions = {
refreshPage ({ commit }, data) {
commit('REFRESH', data)
},
reWorkFresh ({ commit }, data) {
commit('SETWORKFRESH', data)
}
}
export default {
namespaced: true,
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-04 16:07:37
* @LastEditTime: 2023-07-28 15:07:29
-->
<template>
<div class="rlPopup">
......@@ -50,7 +50,7 @@
<script>
import PhotoZoom from '@/components/PhotoZoom'
import { getAltimeterInfo, getUuid } from '@/utils/operation.js'
import { uploadSjClmx, deleteClmx } from "@/api/clxx.js";
import { uploadBatch, deleteClmx } from "@/api/clxx.js";
import publicPicture from '@/components/publicPicture/index.vue'
export default {
name: 'PreviewImage',
......@@ -77,7 +77,7 @@
scale: 1,
degree: 0
},
maxLength: 0,
maxFileLength: 0,
// 缩略图
thumbnailImages: [],
showViewer: false,
......@@ -252,26 +252,29 @@
* @param {*} files
* @author: renchao
*/
async handleChange (file, files) {
// 清空 fileList 数组
let length = files.length;
this.maxLength = Math.max(length, this.maxLength)
this.$refs.upload.clearFiles();
async handleChange (file, fileList) {
let length = fileList.length;
this.maxFileLength = Math.max(length, this.maxFileLength)
console.log(fileList, this.maxFileLength, 'this.maxFileLength');
var formData = new FormData();
setTimeout(() => {
if (length !== this.maxLength) return
var formData = new FormData();
files.forEach(file => {
formData.append('file', file.raw)
if (this.maxFileLength !== length) {
return
}
fileList.forEach(item => {
formData.append('file', item.raw)
})
formData.append("bsmSj", this.previewImg.bsmSj);
formData.append("bsmSlsq", this.previewImg.bsmSlsq);
uploadSjClmx(formData).then((res) => {
uploadBatch(formData).then((res) => {
if (res.code == 200) {
this.$emit('updateList', res.result)
this.$message({
message: '上传成功!',
type: 'success'
})
this.$refs.upload.clearFiles();
this.maxFileLength = 0
}
})
}, 0)
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-11 08:58:31
* @LastEditTime: 2023-07-28 15:20:00
-->
<template>
<div class="container">
......@@ -12,8 +12,7 @@
<li
@click="operation(item)"
v-for="(item, index) in leftButtonList"
:key="index"
>
:key="index">
<svg-icon class="icon" :icon-class="item.icon" />
<span class="iconName">{{ item.name }}</span>
</li>
......@@ -22,8 +21,7 @@
<li
@click="operation(item)"
v-for="(item, index) in rightButtonList"
:key="index"
>
:key="index">
<svg-icon class="icon" :icon-class="item.icon" />
<span class="iconName">{{ item.name }}</span>
</li>
......@@ -54,16 +52,14 @@
:label="item.name"
:name="item.value"
v-for="item in tabList"
:key="item.value"
>
:key="item.value">
</el-tab-pane>
</el-tabs>
<component
:key="fresh"
:is="componentTag"
v-bind="currentSelectProps"
/>
v-bind="currentSelectProps" />
</div>
</div>
</div>
......@@ -72,260 +68,258 @@
</div>
</template>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
@import "./workFrame.scss";
@import "~@/styles/mixin.scss";
@import "./workFrame.scss";
</style>
<script>
import WorkFlow from "./mixin/index";
import { getForm } from "./flowform";
import { getStepFormInfo } from "@/api/workFlow.js";
import NoticeBar from "@/components/NoticeBar/index";
// import ProcessViewer from "./components/processViewer.vue";
import WorkFlow from "./mixin/index";
import { getForm } from "./flowform";
import { getStepFormInfo } from "@/api/workFlow.js";
import NoticeBar from "@/components/NoticeBar/index";
// import ProcessViewer from "./components/processViewer.vue";
import ordinaryMenu from "./components/leftmenu/ordinaryMenu.vue";
import qllxDailog from "./djbBook/components/qllxDailog";
import selectBdc from "@/views/ywbl/ywsq/selectBdc.vue";
import { loadTreeData, getNode } from "./components/leftmenu/djbFrameData.js";
// 登记簿数据信息
import { addRepairRecord } from "@/api/djbRepair.js";
// 获取权利类型数组
import ordinaryMenu from "./components/leftmenu/ordinaryMenu.vue";
import qllxDailog from "./djbBook/components/qllxDailog";
import selectBdc from "@/views/ywbl/ywsq/selectBdc.vue";
import { loadTreeData, getNode } from "./components/leftmenu/djbFrameData.js";
// 登记簿数据信息
import { addRepairRecord } from "@/api/djbRepair.js";
// 获取权利类型数组
import { getBdcqljqtsx } from "@/api/djbDetail.js";
export default {
components: {
selectBdc,
NoticeBar,
ordinaryMenu,
qllxDailog,
},
mixins: [WorkFlow],
data() {
return {
bsmSlsq: this.$route.query.bsmSlsq,
//当前流程所在环节
bestepid: this.$route.query.bestepid,
//当前流程所在环节
zbhj: this.$route.query.zbhj,
//设置那个表单选中
tabName: "",
isEdit: true,
// 弹框显示
dialogVisible: true,
//表单集合
tabList: [],
//选择加载哪一个组件
componentTag: "",
//设置表单传递数据
currentSelectProps: {},
// 首次拿到的业务信息
oneSelectProps: {},
//材料信息选择卡索引
oneget: true,
//页面监听时间
_beforeUnload_time: "",
treedata: {},
tabdata: [],
bsmRepair: "",
defaultNode: {},
clxxForm: "",
//材料信息选择卡索引
clxxIndex: "",
//材料信息选项卡对象
clxxTab: {},
ableOperation: false,
};
},
mounted() {
// this.getleftMenubl()
},
methods: {
/**
* @description: stepForm
* @param {*} qllx
* @author: renchao
*/
stepForm(qllx) {
this.oneSelectProps.qllx = qllx;
if (this.$refs.Menu.supplementarylist.length) {
getStepFormInfo(this.oneSelectProps).then((res) => {
this.$nextTick(function () {
this.tabList = res.result;
console.log("加载的右侧界面组件名称",this.tabList);
this.tabName = this.tabList[0].value;
this.ableOperation = this.tabList[0].ableOperation;
this.getFromRouter(this.tabName);
if (this.tabList.length != 8) {
let that = this;
this.tabList.forEach(function (item, index) {
if (item.value == "clxx") {
that.clxxIndex = index;
that.clxxForm = getForm(item.value, that.$route.query.sqywbm);
that.clxxTab = item;
}
});
}
});
});
}
import { getBdcqljqtsx } from "@/api/djbDetail.js";
export default {
components: {
selectBdc,
NoticeBar,
ordinaryMenu,
qllxDailog,
},
mixins: [WorkFlow],
data () {
return {
bsmSlsq: this.$route.query.bsmSlsq,
//当前流程所在环节
bestepid: this.$route.query.bestepid,
//当前流程所在环节
zbhj: this.$route.query.zbhj,
//设置那个表单选中
tabName: "",
isEdit: true,
// 弹框显示
dialogVisible: true,
//表单集合
tabList: [],
//选择加载哪一个组件
componentTag: "",
//设置表单传递数据
currentSelectProps: {},
// 首次拿到的业务信息
oneSelectProps: {},
//材料信息选择卡索引
oneget: true,
//页面监听时间
_beforeUnload_time: "",
treedata: {},
tabdata: [],
bsmRepair: "",
defaultNode: {},
clxxForm: "",
//材料信息选择卡索引
clxxIndex: "",
//材料信息选项卡对象
clxxTab: {},
ableOperation: false,
};
},
// 获取右侧选项卡
/**
* @description: 获取右侧选项卡
* @param {*} val
* @author: renchao
*/
getCurrentSelectProps(val) {
console.log("渲染右侧选项卡");
this.bsmRepair = val.bsmRepair;
if (val.bdcdyid) {
this.oneSelectProps = val;
}
this.currentSelectProps = val;
if (this.currentSelectProps.bsmRepair) {
this.stepForm(this.currentSelectProps.qllx);
} else if (!this.oneget) {
this.getdjblist();
}
if (this.oneget) {
this.oneget = false;
this.stepForm(this.currentSelectProps.qllx);
}
mounted () {
// this.getleftMenubl()
},
// 获取渲染登记簿列表
/**
* @description: 获取渲染登记簿列表
* @author: renchao
*/
getdjblist() {
getBdcqljqtsx({
bdcdyid: this.currentSelectProps.bdcdyid,
bdcdyh: this.currentSelectProps.bdcdyh,
}).then((res) => {
if (res.code === 200) {
this.treedata = loadTreeData(res.result);
this.$nextTick(function () {
this.defaultNode = getNode(this.currentSelectProps.qllx, {
linShi: 0,
xianShi: 0,
liShi: 0,
methods: {
/**
* @description: stepForm
* @param {*} qllx
* @author: renchao
*/
stepForm (qllx) {
this.oneSelectProps.qllx = qllx;
if (this.$refs.Menu.supplementarylist.length) {
getStepFormInfo(this.oneSelectProps).then((res) => {
this.$nextTick(function () {
this.tabList = res.result;
console.log("加载的右侧界面组件名称", this.tabList);
this.tabName = this.tabList[0].value;
this.ableOperation = this.tabList[0].ableOperation;
this.getFromRouter(this.tabName);
if (this.tabList.length != 8) {
let that = this;
this.tabList.forEach(function (item, index) {
if (item.value == "clxx") {
that.clxxIndex = index;
that.clxxForm = getForm(item.value, that.$route.query.sqywbm);
that.clxxTab = item;
}
});
}
});
this.tabName = this.defaultNode.id; //data[0].id为默认选中的节点
});
let settree = JSON.parse(JSON.stringify(this.treedata));
this.tabdata = [
...settree,
...settree[1].children[0].children[0].children,
];
this.tabdata.forEach((item, index, arr) => {
arr[index].name = item.label;
arr[index].value = item.id;
});
this.tabList = this.tabdata;
}
});
},
//右侧表单选项卡事件
/**
* @description: 右侧表单选项卡事件
* @param {*} activeName
* @author: renchao
*/
beforeLeave(activeName) {
if (activeName && activeName != 0) this.getFromRouter(activeName);
},
//切换选项卡内容组件
/**
* @description: 切换选项卡内容组件
* @param {*} tabname
* @author: renchao
*/
getFromRouter(tabname) {
this.componentTag = getForm(tabname);
},
// closefp () {
// this.splitScreen = this.splitScreen ? false : true;
// this.$store.dispatch("app/set1tScreen", this.splitScreen);
// this.getFromRouter(this.tabList[0].value);
// this.clxxForm = getForm(this.tabList[1].value);
// this.tabName = this.tabList[0].value
// },
// 增加补录记录
/**
* @description: 增加补录记录
* @param {*} row
* @param {*} del
* @author: renchao
*/
addRepairRecord(row, del) {
console.log("row",row,del);
let from = {
bsmQlxx: "",
bsmSlsq: this.bsmSlsq,
bsmSldy: this.currentSelectProps.bsmSldy,
operate: "C",
qllx: "",
};
if (row) {
from.bsmQlxx = row.bsmQlxx;
if (del) {
from.operate = del;
} else {
from.operate = row.bsmQlxx ? "U" : "C";
},
/**
* @description: 获取右侧选项卡
* @param {*} val
* @author: renchao
*/
getCurrentSelectProps (val) {
this.bsmRepair = val.bsmRepair;
if (val.bdcdyid) {
this.oneSelectProps = val;
}
this.currentSelectProps = val;
if (this.currentSelectProps.bsmRepair) {
this.stepForm(this.currentSelectProps.qllx);
} else if (!this.oneget) {
this.getdjblist();
}
from.qllx = row.qllx;
}
addRepairRecord(from)
.then((res) => {
if (res.code == "200") {
this.$refs.qllxlist.dialogVisible = false;
this.$nextTick(() => {
this.$refs.Menu.getleftMenubl(res.result);
this.$message({
type: "success",
message: "补录成功!",
if (this.oneget) {
this.oneget = false;
this.stepForm(this.currentSelectProps.qllx);
}
},
// 获取渲染登记簿列表
/**
* @description: 获取渲染登记簿列表
* @author: renchao
*/
getdjblist () {
getBdcqljqtsx({
bdcdyid: this.currentSelectProps.bdcdyid,
bdcdyh: this.currentSelectProps.bdcdyh,
}).then((res) => {
if (res.code === 200) {
this.treedata = loadTreeData(res.result);
this.$nextTick(function () {
this.defaultNode = getNode(this.currentSelectProps.qllx, {
linShi: 0,
xianShi: 0,
liShi: 0,
});
this.tabName = this.defaultNode.id; //data[0].id为默认选中的节点
});
} else {
this.$alert(res.message, "提示", {
confirmButtonText: "确定",
type: "warning",
let settree = JSON.parse(JSON.stringify(this.treedata));
this.tabdata = [
...settree,
...settree[1].children[0].children[0].children,
];
this.tabdata.forEach((item, index, arr) => {
arr[index].name = item.label;
arr[index].value = item.id;
});
this.tabList = this.tabdata;
}
})
.catch((res) => {
console.log("错", res);
});
},
// openDialog () {
// this.$store.dispatch('user/refreshPage', false)
// let data = JSON.parse(localStorage.getItem('ywbl'))
// let title
// if (data?.sqywmc) {
// title = "申请业务:" + data?.sqywmc
// } else {
// title = "申请业务:" + data?.djywmc
// }
},
//右侧表单选项卡事件
/**
* @description: 右侧表单选项卡事件
* @param {*} activeName
* @author: renchao
*/
beforeLeave (activeName) {
if (activeName && activeName != 0) this.getFromRouter(activeName);
},
//切换选项卡内容组件
/**
* @description: 切换选项卡内容组件
* @param {*} tabname
* @author: renchao
*/
getFromRouter (tabname) {
this.componentTag = getForm(tabname);
},
// closefp () {
// this.splitScreen = this.splitScreen ? false : true;
// this.$store.dispatch("app/set1tScreen", this.splitScreen);
// this.getFromRouter(this.tabList[0].value);
// this.clxxForm = getForm(this.tabList[1].value);
// this.tabName = this.tabList[0].value
// },
// 增加补录记录
/**
* @description: 增加补录记录
* @param {*} row
* @param {*} del
* @author: renchao
*/
addRepairRecord (row, del) {
console.log("row", row, del);
let from = {
bsmQlxx: "",
bsmSlsq: this.bsmSlsq,
bsmSldy: this.currentSelectProps.bsmSldy,
operate: "C",
qllx: "",
};
if (row) {
from.bsmQlxx = row.bsmQlxx;
if (del) {
from.operate = del;
} else {
from.operate = row.bsmQlxx ? "U" : "C";
}
from.qllx = row.qllx;
}
addRepairRecord(from)
.then((res) => {
if (res.code == "200") {
this.$refs.qllxlist.dialogVisible = false;
this.$nextTick(() => {
this.$refs.Menu.getleftMenubl(res.result);
this.$message({
type: "success",
message: "补录成功!",
});
});
} else {
this.$alert(res.message, "提示", {
confirmButtonText: "确定",
type: "warning",
});
}
})
.catch((res) => {
console.log("错", res);
});
},
// openDialog () {
// this.$store.dispatch('user/refreshPage', false)
// let data = JSON.parse(localStorage.getItem('ywbl'))
// let title
// if (data?.sqywmc) {
// title = "申请业务:" + data?.sqywmc
// } else {
// title = "申请业务:" + data?.djywmc
// }
// this.$popupDialog(title, "ywbl/ywsq/selectBdc", { 'djywbm': this.$route.query.sqywbm, 'isJump': true, 'sqywInfo': data }, "80%", true)
// }
},
};
// this.$popupDialog(title, "ywbl/ywsq/selectBdc", { 'djywbm': this.$route.query.sqywbm, 'isJump': true, 'sqywInfo': data }, "80%", true)
// }
},
};
</script>
<style scoped lang="scss">
.rightContainer {
position: relative;
}
.count {
font-size: 14px;
position: absolute;
right: 25px;
top: 12px;
height: 30px;
span {
font-weight: 600;
color: #3498db;
.rightContainer {
position: relative;
}
.count {
font-size: 14px;
position: absolute;
right: 25px;
top: 12px;
height: 30px;
span {
font-weight: 600;
color: #3498db;
}
}
}
</style>
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-28 09:35:38
* @LastEditTime: 2023-07-28 11:37:31
-->
<template>
<div class="clxx">
......@@ -38,8 +38,7 @@
import clxxAddDialog from "../dialog/clxxAddDialog.vue";
import clxxDetailDialog from "../dialog/clxxDetailDialog.vue";
import imagePreview from '@/views/components/imagePreview.vue'
import { InitClml, saveClml, deleteSjClml, moveClml } from "@/api/clxx.js";
import { popupDialog } from "@/utils/popup.js";
import { InitClml, saveClml } from "@/api/clxx.js";
export default {
components: { clxxAddDialog, imagePreview, clxxDetailDialog },
data () {
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-06-25 11:13:07
* @LastEditTime: 2023-07-28 15:27:37
-->
<template>
<div>
......@@ -71,7 +71,7 @@
}
},
created () {
store.dispatch('user/refreshPage', false)
store.dispatch('user/reWorkFresh', false)
this.columns = datas.columns()
this.ysxlhList()
this.getHeadTabBdcqz()
......@@ -179,7 +179,7 @@
this.$popupCacel()
this.$message.success("提交成功")
//刷新列表
store.dispatch('user/refreshPage', true)
store.dispatch('user/reWorkFresh', true)
} else {
this.$message.error(res.message)
}
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-24 10:22:41
* @LastEditTime: 2023-07-28 15:33:55
-->
<template>
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px">
......@@ -64,6 +64,7 @@
import table from "@/utils/mixin/table";
import { getUnclaimedBdcqz, issueCertificate } from "@/api/bdcqz.js";
import { datas } from "../../javascript/fzxxdata";
import { log } from 'bpmn-js-token-simulation';
export default {
props: {
formData: {
......@@ -123,9 +124,6 @@
getUnclaimedBdcqz({ bsmSlsq: Vue.prototype.$currentRoute.query.bsmSlsq }).then(res => {
if (res.code === 200) {
this.tableData.data = res.result.list;
if(this.tableData.data.length>0) {
this.ruleForm.lzrxm = this.tableData.data[0].qlr
}
this.ruleForm.fzrmc = res.result.fzrmc
this.ruleForm.fzsj = res.result.fzsj
this.ruleForm.fzsl = res.result.fzsl
......@@ -160,7 +158,7 @@
if (res.code == 200) {
this.$message.success('保存成功');
//刷新列表
store.dispatch('user/refreshPage', true)
store.dispatch('user/reWorkFresh', true)
this.$popupCacel()
} else {
this.$message.error(res.message)
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-25 09:26:10
* @LastEditTime: 2023-07-28 15:30:23
-->
<template>
<div class="from-clues">
......@@ -40,9 +40,10 @@
</div>
</template>
<script>
import { mapGetters } from 'vuex'
import table from "@/utils/mixin/table";
import { getCertificateList } from "@/api/bdcqz.js";
import { datas } from "../javascript/fzxxdata";
import { getCertificateList } from "@/api/bdcqz.js";
export default {
mixins: [table],
data () {
......@@ -66,6 +67,16 @@
created () {
this.ableOperation = this.$parent.currentSelectTab.ableOperation
},
computed: {
...mapGetters(['workFresh'])
},
watch: {
workFresh: {
handler (newVal, oldVal) {
if (newVal) this.queryClick()
}
}
},
methods: {
/**
* @description: queryClick
......
......@@ -92,10 +92,10 @@
};
},
computed: {
...mapGetters(['isRefresh'])
...mapGetters(['workFresh'])
},
watch: {
isRefresh: {
workFresh: {
handler (newVal, oldVal) {
if (newVal) this.list()
}
......
......@@ -23,6 +23,9 @@ export function getForm(tabName, djywbm) {
form = require("@/views/ywbl/slsqxx/jsydsyq/slxx300.vue");
break;
//国有建设用地使用权/房屋所有权
case "fwsyqdzslxx":
form = require("@/views/ywbl/slsqxx/fdcq1/slxx.vue");
break;
case "fwsyqslxx100":
case "fwsyqslxx200":
case "fwsyqslxx400":
......
<!--
* @Description: 房屋多幢受理信息
* @Autor: ssq
* @LastEditTime: 2023年07月27日 19:38:26
-->
<template>
<div class="slxx">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" :label-position="flag ? 'top' : ''" :inline="flag"
label-width="120px">
<div class="slxx_con" :class="flag ? 'formMarginBot0' : ''">
<div class="slxx_title title-block">
受理信息
<div class="triangle"></div>
</div>
<el-row :gutter="10" v-if="ruleForm.slsq">
<el-col :span="8">
<el-form-item label="业务号:">
<el-input disabled v-model="ruleForm.flow.ywh"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="受理人员:">
<el-input disabled v-model="ruleForm.slsq.slry"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="受理时间:">
<el-input disabled v-model="ruleForm.slsq.slsj"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" v-if="ruleForm.slsq">
<el-col :span="8">
<el-form-item label="权利类型:">
<el-input disabled v-model="ruleForm.sldy.qllxmc"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="登记类型:">
<el-input disabled v-model="ruleForm.sldy.djlxmc"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="登记情形:">
<el-input disabled v-model="ruleForm.slsq.djqxmc"></el-input>
</el-form-item>
</el-col>
</el-row>
<div class="slxx_title title-block">
不动产单元情况
<div class="triangle"></div>
</div>
<el-row :gutter="10" v-if="ruleForm.qlxx">
<el-col :span="8">
<el-form-item label="不动产单元号:">
<el-input disabled v-model="ruleForm.qlxx.bdcdyh"></el-input>
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item label="坐落:">
<el-input disabled v-model="ruleForm.qlxx.zl"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" v-if="ruleForm.fdcq2">
<el-col :span="8">
<el-form-item label="土地使用期限:">
<el-input disabled v-model="ruleForm.fdcq2.tdsyqx"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="规划用途名称:">
<el-input disabled v-model="ruleForm.zdjbxx.ghytmc"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="房屋性质:">
<el-input disabled v-model="ruleForm.fdcq2.fwxzmc"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" v-if="ruleForm.qlxx">
<el-col :span="8">
<el-form-item label="房屋结构:">
<el-input disabled v-model="ruleForm.fdcq2.fwjgmc"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="所在层:">
<el-input disabled v-model="ruleForm.fdcq2.szc"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="总层数:">
<el-input disabled v-model="ruleForm.fdcq2.zcs"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" v-if="ruleForm.fdcq2">
<el-col :span="8">
<el-form-item label="竣工时间:">
<el-input disabled v-model="ruleForm.fdcq2.jgsj"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="建筑面积:">
<el-input disabled v-model="ruleForm.qlxx.mj"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="专有建筑面积:">
<el-input disabled v-model="ruleForm.fdcq2.zyjzmj"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="8">
<el-form-item label="分摊建筑面积:">
<el-input disabled v-model="ruleForm.fdcq2.ftjzmj"></el-input>
</el-form-item>
</el-col>
</el-row>
<div class="slxx_title title-block">
土地用途
<div class="triangle"></div>
</div>
<tdytTable
:ableOperation="ableOperation"
:tableData="ruleForm.tdytqxList"
@upDateTdytxxList="upDateTdytxxList" />
<div class="slxx_title title-block">
权利人信息
<div class="triangle"></div>
</div>
<el-row :gutter="10">
<el-col :span="14" v-if="ruleForm.qlxx">
<el-form-item label="共有方式:">
<el-radio-group :disabled="!ableOperation" @change="showCZInfo"
v-model="ruleForm.sldy.gyfs">
<el-radio label="0">单独所有</el-radio>
<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-col :span="5">
<el-form-item label="发证方式:">
<el-radio-group v-model="ruleForm.slsq.fzfs" :disabled="!ableOperation">
<el-radio label="1">小证</el-radio>
<el-radio label="2">大证</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="5" v-show="ruleForm.sldy.gyfs == '2'">
<el-form-item label="是否分别持证:">
<el-radio-group v-model="ruleForm.sldy.sqfbcz" :disabled="!ableOperation">
<el-radio label="1"></el-radio>
<el-radio label="0"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="5" v-show="ruleForm.sldy.gyfs == '2'">
<el-form-item label="持证人:">
<el-select v-model="ruleForm.slsq.czr" placeholder="持证人" :disabled="!ableOperation">
<el-option v-for="item in czrOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<qlrCommonTable @upDateQlrxxList="upDateQlrxxList" :tableData="ruleForm.qlrList" :disabled="!ableOperation"
:gyfs="ruleForm.slsq.gyfs" />
<div v-if="ruleForm.ywrList && ruleForm.slsq.djlx == '200'">
<div class="slxx_title title-block">
义务人信息
<div class="triangle"></div>
</div>
<qlrCommonTable v-if="ruleForm.qlxx" @upDateQlrxxList="upDateYwrxxList" :tableData="ruleForm.ywrList"
:gyfs="ruleForm.qlxx.gyfs" />
</div>
<div class="slxx_title title-block">
登记原因
<div class="triangle"></div>
</div>
<el-row :gutter="10">
<el-col>
<el-form-item v-if="ruleForm.sldy" label="登记原因:" prop="djyy">
<el-input class="textArea" type="textarea" :disabled="!ableOperation"
v-model="ruleForm.fdcq2.djyy">
</el-input>
</el-form-item>
</el-col>
</el-row>
</div>
<el-row class="btn" v-if="ableOperation">
<el-form-item>
<el-button type="primary" @click="onSubmit">保存</el-button>
</el-form-item>
</el-row>
</el-form>
</div>
</template>
<script>
import qlrCommonTable from "@/views/workflow/components/qlrCommonTable";
import tdytTable from "@/views/workflow/components/tdytTable";
import { Init, saveData } from "@/api/workflow/fwsyq1Flow.js";
import { mapGetters } from "vuex";
export default {
mounted () {
this.ableOperation = this.$parent.currentSelectTab.ableOperation
this.propsParam = this.$attrs;
var formdata = new FormData();
formdata.append("bsmSldy", this.propsParam.bsmSldy);
formdata.append("djlx", this.propsParam.djlx);
formdata.append("isEdit", this.ableOperation);
Init(formdata).then((res) => {
if (res.code === 200 && res.result) {
this.ruleForm = {
...res.result,
...res.result.qlxxdatas,
}
//初始化发证方式,1:小证,2:大正
this.ruleForm.slsq.fzfs == null ? this.ruleForm.slsq.fzfs = '1' : this.ruleForm.slsq.fzfs;
}
});
},
components: { qlrCommonTable, tdytTable },
computed: {
...mapGetters(["dictData", "flag"]),
},
data () {
return {
disabled: true,
tdytOption: [],
czrOptions: [],
ruleForm: {
flow: {
ywh: ''
},
qlxx: {
mj: ''
},
sldy: {
gyfs: ''
},
slsq: {
},
fdcq2: {
zyjzmj: '',
ftjzmj: ''
},
zdjbxx: {
ghytmc: ''
}
},
//传递参数
propsParam: this.$attrs,
//表单是否可操作
ableOperation: true,
rules: {}
}
},
methods: {
// 更新土地用途信息
/**
* @description: 更新土地用途信息
* @param {*} val
* @author: renchao
*/
upDateTdytxxList (val) {
this.ruleForm.tdytqxList && (this.ruleForm.tdytqxList = _.cloneDeep(val));
this.key++;
},
// 更新权利人信息
/**
* @description: 更新权利人信息
* @param {*} val
* @author: renchao
*/
upDateQlrxxList (val) {
this.ruleForm.qlrList = _.cloneDeep(val);
},
/**
* @description: showCZInfo
* @author: renchao
*/
showCZInfo () {
console.log(this.ruleForm.slsq.gyfs);
},
// 更新权利人信息
/**
* @description: 更新权利人信息
* @param {*} val
* @author: renchao
*/
upDateYwrxxList (val) {
this.ruleForm.ywrList = _.cloneDeep(val);
},
/**
* @description: onSubmit
* @author: renchao
*/
onSubmit () {
saveData(this.ruleForm).then((res) => {
if (res.code === 200) {
this.$message({
showClose: true,
message: "保存成功!",
type: "success",
});
this.$store.dispatch('user/refreshPage', true);
} else {
this.$message({
showClose: true,
message: res.message,
type: "error"
})
}
})
}
}
}
</script>
<style scoped lang='scss'>
@import "~@/styles/public.scss";
/deep/.el-form {
display: flex;
flex-direction: column;
height: calc(100vh - 130px);
}
/deep/.el-form-item__label {
padding: 0;
}
/deep/.el-radio {
margin-right: 10px;
}
/deep/.el-select {
width: 100%;
}
/deep/.el-form-item {
margin-bottom: 8px;
}
.marginBot0 {
margin-bottom: 0 !important;
}
.slxx {
box-sizing: border-box;
}
.slxx_con {
flex: 1;
height: 100%;
background-color: #ffffff;
overflow-y: auto;
padding-right: 3px;
overflow-x: hidden;
}
.submit_btn {
height: 50px;
}
.slxx_title {
border-bottom: 1px solid $borderColor;
padding-left: 10px;
padding-bottom: 5px;
margin-bottom: 10px;
margin-top: 5px;
font-size: 16px;
font-weight: 500;
color: #4a4a4a;
}
.btn {
text-align: center;
padding-top: 10px;
height: 36px;
background-color: #ffffff;
padding: 5px 0;
}
.textArea {
/deep/.el-textarea__inner {
min-height: 90px !important;
}
}
/deep/.el-form-item__label {
padding-bottom: 0px;
}
</style>