069e09e6 by renchao@pashanhoo.com

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

2 parents f5e2f2f4 9f7e713b
Showing 43 changed files with 657 additions and 4414 deletions
<!--
* @Description:
* @Description: 添加家庭成员
* @Autor: renchao
* @LastEditTime: 2023-05-17 10:40:28
-->
......
......@@ -3,6 +3,7 @@
* @Autor: renchao
* @LastEditTime: 2023-04-26 16:05:28
-->
<!-- 批量删除弹框 -->
<template>
<div class='batchDel'>
<lb-table :column="columns" :data="formData.dataList" :maxHeight="460" :heightNumSetting="true" :pagination="false"
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-05-17 10:40:48
* @Description: 权利人列表
* @Autor: miaofang
* @LastEditTime: 2023-06-14 10:40:48
-->
<template>
<lb-table :column="column" :maxHeight="200" :heightNumSetting="true" :pagination="false" :key="key" :data="tableData">
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-05-17 10:40:46
-->
<template>
<div class="clxx">
<div class="left">
<div v-for="item in menuList" :key="item.id" :class="['item', checkedId == item.id ? 'active' : '']"
@click="menuClick(item)">
{{ item.label }}
</div>
</div>
<div class="right">
<!-- 材料目录明细 -->
<div class="clmlmx-box" v-if="checkedId == '1'">
<div class="title">申请材料目录</div>
<lb-table :column="column" :key="key" :heightNum="150" :pagination="false" :data="tableData">
</lb-table>
</div>
<!-- 材料预览 -->
<div class="clyl-box" v-else>
<div class="menu-tree">
<div class="item">
材料目录({{tableData.length}})
<div>
<div v-for="(item,index) in tableData" :key="item.bsmSj"
:class="['child', treeCheckId == item.bsmSj ? 'checked' : '']" @click="treeClick(item,index)">
<span v-if="item.isrequired==1" class="required">必选</span>
{{ item.sjmc }}
<span class="cl_number">({{item.children.length}})</span>
</div>
</div>
</div>
</div>
<image-preview ref='imageRef' :previewImg="previewImg" @updateList="updateList" @nextPriview="nextPriview"
@prevPriview="prevPriview" />
</div>
</div>
<clxxAddDialog v-model="isDialog" />
</div>
</template>
<script>
import { mapGetters } from "vuex";
import clxxAddDialog from "./dialog/clxxAddDialog.vue";
import imagePreview from '@/views/components/imagePreview.vue'
import { InitClml, saveClml, deleteSjClml, moveClml } from "@/api/clxx.js";
export default {
components: { clxxAddDialog, imagePreview },
data () {
return {
isDialog: false,
menuList: [
{
id: "1",
label: "材料目录明细",
},
{
id: "2",
label: "材料预览",
},
],
iclass: "",
// 材料目录选中
treeCheckIndex: 0,
treeCheckId: "",
checkedId: "1",
column: [
{
width: "50",
renderHeader: (h, scope) => {
return (
<div>
{
this.$route.query.viewtype == 1 ? '序号' :
<i
class="el-icon-plus pointer"
onClick={() => {
this.handleAdd()
}}
></i>
}
</div>
)
},
render: (h, scope) => {
// 新建的材料,可删除
// v-show='scope.row.sfxjcl == 1'
return (
<div>
{
this.$route.query.viewtype == 1 ? <span>{scope.$index + 1}</span> :
<i
class="el-icon-minus pointer"
onClick={() => {
this.handleDelete(scope.$index, scope.row);
}}
></i>
}
</div>
)
}
},
{
prop: "isrequired",
label: "是否必选",
width: "50",
render: (h, scope) => {
if (scope.row.sfxjcl === "1") {
return (
<div>
<span>可选</span>
</div>
);
}
else {
return (
<div>
<span>必选</span>
</div>
);
}
},
},
{
prop: "sjmc",
label: "材料名称",
},
{
prop: "sjlx",
label: "材料类型",
width: "80",
render: (h, scope) => {
return (
<div>
<span>{this.dicStatus(scope.row.sjlx, "A40")}</span>
</div>
);
},
},
{
prop: "sjsl",
label: "份数",
width: "50"
},
{
prop: "smzt",
label: "扫描状态",
width: "80",
render: (h, scope) => {
if (scope.row.children.length > 0) {
return (
<div>
<span>已扫描</span>
</div>
);
} else {
return (
<div>
<span>未扫描</span>
</div>
);
}
},
},
{
prop: "ys",
label: "扫描页数",
width: "50"
},
{
label: "操作",
width: "80",
render: (h, scope) => {
return (
<div>
<el-button
type="text"
disabled={scope.$index == 0}
onClick={() => {
this.moveUpward(scope.$index, scope.row);
}}
>
上移
</el-button>
<el-button
type="text"
disabled={scope.$index + 1 == this.tableData.length}
onClick={() => {
this.moveDown(scope.$index, scope.row);
}}
>
下移
</el-button>
</div>
);
},
},
],
key: 0,
tableData: [],
previewImg: {
// 收件标识码
bsmSj: '',
bsmSlsq: this.$parent.bsmSlsq,
index: 0,
selectedIndex: 0,
imgList: []
}
}
},
computed: {
...mapGetters(["dictData"])
},
created () {
this.clmlInitList()
},
methods: {
// 自动预览
nextPriview () {
if (this.treeCheckIndex < this.tableData.length) {
this.treeCheckIndex++
this.treeCheckId = this.tableData[this.treeCheckIndex].bsmSj
this.previewImg.index = 0
this.previewImg.imgList = this.tableData[this.treeCheckIndex].children
this.previewImg.bsmSj = this.tableData[this.treeCheckIndex].bsmSj
}
},
prevPriview () {
if (this.treeCheckIndex >= 1) {
this.treeCheckIndex--
this.treeCheckId = this.tableData[this.treeCheckIndex].bsmSj
this.previewImg.index = this.previewImg.imgList.length
this.previewImg.imgList = this.tableData[this.treeCheckIndex].children
this.previewImg.bsmSj = this.tableData[this.treeCheckIndex].bsmSj
}
},
// 材料目录明细初始化
clmlInitList () {
return new Promise(resolve => {
this.unitData = this.$parent.unitData;
var formdata = new FormData();
formdata.append("bsmSldy", this.unitData[0]?.bsmSldy);
formdata.append("bsmSlsq", this.$parent.bsmSlsq);
InitClml(formdata).then((res) => {
if (res.result.code == 200) {
resolve(res.code)
if (res.result.result && res.result.result.length > 0) {
this.tableData = res.result.result;
this.treeCheckId = this.tableData[0].bsmSj;
this.title = this.tableData[0].sjmc;
this.titleYs = 1;
this.titleNum = this.tableData[0].children.length;
this.previewImg.imgList = this.tableData[0]?.children;
this.previewImg.bsmSj = this.tableData[0]?.bsmSj;
}
} else {
this.$message.error(res.result.message)
}
})
})
},
updateList (val) {
let that = this
if (val != null) { //删除最后一张图片时 val=null
this.tableData.forEach(item => {
if (item.bsmSj === val.bsmSj) {
item.children = val.children
}
})
this.previewImg.imgList = _.cloneDeep(val.children)
if (this.previewImg.index == this.previewImg.imgList.length) {
this.previewImg.index = this.previewImg.index - 1
}
} else {
this.previewImg.imgList = []
this.tableData.forEach((item, index) => {
if (this.treeCheckId == item.bsmSj) {
item.children = []
that.treeCheckIndex = index
}
})
}
},
// 左侧菜单点击
menuClick (item) {
this.checkedId = item.id
},
// 添加材料目录
handleAdd () {
this.isDialog = true;
},
// 上移
moveUpward (index, row) {
let obj = {
xh: row.xh,
bsmSlsq: row.bsmSlsq,
moveDirection: "UP",
};
// 接口待调
moveClml(obj).then(async (res) => {
if (res.code == 200) {
let res = await this.clmlInitList()
if (res == 200) this.$message({
message: '上移成功',
type: 'success'
})
} else {
this.$message.error(res.message);
}
})
},
// 下移
moveDown (index, row) {
let obj = {
xh: row.xh,
bsmSlsq: row.bsmSlsq,
moveDirection: "DOWN",
}
// 接口待调
moveClml(obj).then(async (res) => {
if (res.code == 200) {
let res = await this.clmlInitList()
if (res == 200) this.$message({
message: '下移成功',
type: 'success'
})
} else {
this.$message.error(res.message);
}
})
},
// 新增弹窗保存
addSave (data) {
let obj = {
bsmSlsq: this.$parent.bsmSlsq,
isrequired: "1",
sjmc: data.clmc,
sjsl: 0,
smzt: '',
ys: 0,
sjlx: data.cllx,
sfxjcl: "1", // 是否必选
};
saveClml(obj).then(async (res) => {
if (res.code == 200) {
let res = await this.clmlInitList()
if (res == 200) this.$message({
message: "新增成功",
type: "success",
})
}
});
},
// 材料目录删除
handleDelete (index, row) {
let that = this
this.$confirm('此操作将永久删除该 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
deleteSjClml({ sjBsm: row.bsmSj }).then(async (res) => {
if (res.code == 200) {
let res = await that.clmlInitList()
if (res == 200) that.$message({
message: "删除成功",
type: "success",
})
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
})
},
// 材料目录点击选中
treeClick (item, index) {
this.previewImg.index = 0
this.treeCheckId = item?.bsmSj
this.treeCheckIndex = index
this.previewImg.imgList = item?.children
this.previewImg.bsmSj = item?.bsmSj
},
// 小图片点击
imgClick (item, index) {
this.showImg = item;
this.titleYs = index + 1;
},
// 字典
dicStatus (val, code) {
let data = this.$store.getters.dictData[code],
name = "暂无";
if (data) {
data.map((item) => {
if (item.dcode == val) {
name = item.dname;
}
});
return name;
}
},
},
};
</script>
<style scoped lang='scss'>
@import "~@/styles/mixin.scss";
.active {
background: $light-blue !important;
color: #fff;
}
.required {
font-size: 12px;
color: $pink;
float: left;
}
.cl_number {
float: right;
}
.clxx {
width: 100%;
display: flex;
padding-left: 5px;
height: calc(100vh - 125px);
.left {
display: flex;
flex-direction: column;
justify-content: space-between;
.item {
width: 28px;
height: 49%;
@include flex-center;
background-color: #e4e7ed;
border-bottom-right-radius: 10px;
padding: 5px;
cursor: pointer;
transition: all 0.3s;
&:hover {
@extend .active;
}
}
}
.right {
width: 100%;
height: 100%;
.clmlmx-box {
margin: 0 auto;
.title {
text-align: center;
height: 60px;
line-height: 60px;
border: 1px solid #dfe6ec;
font-size: 20px;
background: #81d3f81a;
margin-bottom: -1px;
}
}
.clyl-box {
width: 100%;
height: 100%;
display: flex;
.menu-tree {
width: 20%;
min-width: 160px;
height: 100%;
margin-right: 10px;
border-right: 1px dotted #d9d9d9;
padding: 0 15px;
.item {
line-height: 30px;
padding-top: 5px;
border-bottom: 1px solid #e8e8e8;
font-size: 16px;
text-align: center;
color: $light-blue;
.itemIcon {
float: right;
line-height: 60px;
cursor: pointer;
}
.child {
line-height: 32px;
border-bottom: 1px solid #e8e8e8;
padding-left: 10px;
color: #6b6b6b;
cursor: pointer;
box-sizing: border-box;
border-radius: 6px;
line-height: 20px;
transition: all 0.3s;
padding: 8px 0;
}
.child:hover {
color: $light-blue;
transform: scale(1.1);
}
.checked {
border: 1px solid $light-blue;
color: $light-blue;
}
}
}
.clyl-img {
width: 75%;
height: 100%;
background: #f3f4f7;
margin: 0 auto;
position: relative;
}
}
}
}
</style>
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-05-17 10:40:38
-->
<template>
<div class="clxx">
<div class="right">
<!-- 材料预览 -->
<div class="clyl-box">
<div class="menu-tree">
<el-button type="primary" native-type="submit" @click="viewDetail" style="width:100%;margin-top:10px;">查看明细</el-button>
<div class="item">
材料目录({{tableData.length}})
<div style="margin-top:10px">
<div style="text-align: center;line-height:20px;color:black;font-size:14px" v-if="tableData.length == 0">暂无数据</div>
<div v-for="(item,index) in tableData" :key="item.bsmSj"
:class="['child', treeCheckId == item.bsmSj ? 'checked' : '']" @click="treeClick(item,index)">
<span v-if="item.isrequired==1" class="required">必选</span>
{{ item.sjmc }}
<span class="cl_number">({{item.children ? item.children.length : 0}})</span>
</div>
</div>
</div>
<el-button type="primary" native-type="submit" style="width:100%" @click="handleAdd()" v-if="!this.$route.query.viewtype">新增</el-button>
</div>
<image-preview ref='imageRef' :previewImg="previewImg" @updateList="updateList" @nextPriview="nextPriview"
@prevPriview="prevPriview" />
</div>
</div>
<clxxAddDialog v-model="isDialog" />
<!-- <clxxDetailDialog v-model="detailDialog" :data="tableData" /> -->
</div>
</template>
<script>
import { mapGetters } from "vuex";
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";
export default {
components: { clxxAddDialog, imagePreview, clxxDetailDialog },
data () {
return {
isDialog: false,
iclass: "",
// 材料目录选中
treeCheckIndex: 0,
treeCheckId: "",
key: 0,
tableData: [],
previewImg: {
// 收件标识码
bsmSj: '',
bsmSlsq: this.$parent.bsmSlsq,
index: 0,
selectedIndex: 0,
imgList: []
}
}
},
computed: {
...mapGetters(["dictData"])
},
created () {
this.clmlInitList(1)
},
methods: {
// 自动预览
nextPriview () {
if (this.treeCheckIndex < this.tableData.length) {
this.treeCheckIndex++
this.treeCheckId = this.tableData[this.treeCheckIndex].bsmSj
this.previewImg.index = 0
this.previewImg.imgList = this.tableData[this.treeCheckIndex].children
this.previewImg.bsmSj = this.tableData[this.treeCheckIndex].bsmSj
}
},
prevPriview () {
if (this.treeCheckIndex >= 1) {
this.treeCheckIndex--
this.treeCheckId = this.tableData[this.treeCheckIndex].bsmSj
this.previewImg.index = this.previewImg.imgList.length
this.previewImg.imgList = this.tableData[this.treeCheckIndex].children
this.previewImg.bsmSj = this.tableData[this.treeCheckIndex].bsmSj
}
},
// 材料目录明细初始化
clmlInitList (type) {
//type 1:列表初始化 2:新增材料
return new Promise(resolve => {
this.unitData = this.$parent.unitData;
var formdata = new FormData();
formdata.append("bsmSldy", this.unitData[0]?.bsmSldy);
formdata.append("bsmSlsq", this.$parent.bsmSlsq);
InitClml(formdata).then((res) => {
if (res.code == 200) {
resolve(res.code)
if (res.result && res.result.length > 0) {
this.tableData = res.result;
if (type == 1) {
this.treeClick(this.tableData[0], 0);
} else {
//新增材料后刷新列表焦点置于新增的对象上
this.treeClick(this.tableData[this.tableData.length - 1], this.tableData.length - 1);
}
}
} else {
this.$message.error(res.message)
}
})
})
},
setChecked (item) {
this.treeCheckId = item.bsmSj;
this.title = item.sjmc;
this.titleYs = 1;
this.titleNum = item.children.length;
this.previewImg.imgList = item.children;
this.previewImg.bsmSj = item.bsmSj;
},
updateList (val) {
let that = this
if (val != null) { //删除最后一张图片时 val=null
this.tableData.forEach(item => {
if (item.bsmSj === val.bsmSj) {
item.children = val.children
}
})
this.previewImg.imgList = _.cloneDeep(val.children)
if (this.previewImg.index == this.previewImg.imgList.length) {
this.previewImg.index = this.previewImg.index - 1
}
} else {
this.previewImg.imgList = []
this.tableData.forEach((item, index) => {
if (this.treeCheckId == item.bsmSj) {
item.children = []
that.treeCheckIndex = index
}
})
}
},
// 添加材料目录
handleAdd () {
this.isDialog = true;
},
// 新增弹窗保存
addSave (data) {
let obj = {
bsmSlsq: this.$parent.bsmSlsq,
isrequired: "1",
sjmc: data.clmc,
sjsl: 0,
smzt: '',
ys: 0,
sjlx: data.cllx,
sfxjcl: "1", // 是否必选
};
saveClml(obj).then(async (res) => {
if (res.code == 200) {
let res = await this.clmlInitList(2)
if (res == 200) this.$message({
message: "新增成功",
type: "success",
})
}
});
},
// 材料目录点击选中
treeClick (item, index) {
this.previewImg.index = 0
this.treeCheckId = item?.bsmSj
this.treeCheckIndex = index
this.previewImg.imgList = item?.children
this.previewImg.bsmSj = item?.bsmSj
},
// 小图片点击
imgClick (item, index) {
this.showImg = item;
this.titleYs = index + 1;
},
// 字典
dicStatus (val, code) {
let data = this.$store.getters.dictData[code],
name = "暂无";
if (data) {
data.map((item) => {
if (item.dcode == val) {
name = item.dname
}
});
return name
}
},
//查看明细
viewDetail () {
this.$popupDialog("查看明细", "workflow/components/dialog/clxxDetailDialog", {
data: this.tableData
}, "60%")
},
//设置tableData
setTableData (tableData) {
this.$nextTick(res => {
this.tableData = tableData;
})
},
},
};
</script>
<style scoped lang='scss'>
@import "~@/styles/mixin.scss";
.active {
background: $light-blue !important;
color: #fff;
}
.required {
font-size: 12px;
color: $pink;
float: left;
}
.cl_number {
float: right;
}
.clxx {
width: 100%;
display: flex;
padding-left: 5px;
height: calc(100vh - 125px);
.left {
display: flex;
flex-direction: column;
justify-content: space-between;
.item {
width: 28px;
height: 49%;
@include flex-center;
background-color: #e4e7ed;
border-bottom-right-radius: 10px;
padding: 5px;
cursor: pointer;
transition: all 0.3s;
&:hover {
@extend .active;
}
}
}
.right {
width: 100%;
height: 100%;
.clmlmx-box {
margin: 0 auto;
.title {
text-align: center;
height: 60px;
line-height: 60px;
border: 1px solid #dfe6ec;
font-size: 20px;
background: #81d3f81a;
margin-bottom: -1px;
}
}
.clyl-box {
width: 100%;
height: 100%;
display: flex;
.menu-tree {
width: 20%;
min-width: 160px;
height: 100%;
margin-right: 10px;
border-right: 1px dotted #d9d9d9;
padding: 0 15px;
.item {
line-height: 30px;
padding-top: 5px;
border-bottom: 1px solid #e8e8e8;
font-size: 16px;
text-align: center;
color: $light-blue;
.itemIcon {
float: right;
line-height: 60px;
cursor: pointer;
}
.child {
line-height: 32px;
border-bottom: 1px solid #e8e8e8;
padding-left: 10px;
color: #6b6b6b;
cursor: pointer;
box-sizing: border-box;
border-radius: 6px;
line-height: 20px;
transition: all 0.3s;
padding: 8px 0;
}
.child:hover {
color: $light-blue;
transform: scale(1.1);
}
.checked {
border: 1px solid $light-blue;
color: $light-blue;
}
}
}
.clyl-img {
width: 75%;
height: 100%;
background: #f3f4f7;
margin: 0 auto;
position: relative;
}
}
}
}
</style>
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-05-09 09:20:10
-->
<template>
<dialogBox title="新建材料信息" width="20%" isMain v-model="myValue" @closeDialog="closeDialog" @submitForm="handleSubmit"
:isFullscreen="false">
<el-form :model="ruleForm" ref="ruleForm" label-width="70px">
<el-row>
<el-col :span="24">
<el-form-item label="材料类型">
<el-select v-model="ruleForm.cllx" class="width100" placeholder="请选择">
<el-option v-for="item in dictData['A40']" :key="item.dcode" :label="item.dname" :value="item.dcode">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="材料名称">
<el-input v-model="ruleForm.clmc"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</dialogBox>
</template>
<script>
import { mapGetters } from "vuex";
export default {
props: {
value: { type: Boolean, default: false },
},
data () {
return {
myValue: this.value,
ruleForm: {
cllx: "",
clmc: "",
},
};
},
computed: {
...mapGetters(["dictData"]),
},
watch: {
value (val) {
this.myValue = val;
},
},
methods: {
closeDialog () {
this.$emit("input", false);
this.ruleForm = {
cllx: "",
clmc: "",
}
},
handleSubmit () {
this.$parent.addSave(this.ruleForm);
this.ruleForm = {
cllx: "",
clmc: "",
}
this.$emit("input", false);
},
},
};
</script>
<style scoped lang="scss">
.submit-button {
text-align: center;
height: 52px;
padding-top: 10px;
background-color: #fff;
}
</style>
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-05-04 14:13:28
-->
<template>
<lb-table :column="tableData.columns" heightNumSetting :pagination="false" :key="key" :data="tableData.data">
</lb-table>
</template>
<script>
import { mapGetters } from 'vuex'
import { getSzRecordList } from "@/api/bdcqz.js";
import table from "@/utils/mixin/table";
import { datas } from "../../javascript/szxxdata";
export default {
components: {
},
mixins: [table],
computed: {
...mapGetters(["dictData"]),
},
props: {
formData: {
type: Object,
default: {}
}
},
data () {
return {
key: 0,
dataIndex: 0,
dialog: false,
details: {},
tableData: {
total: 0,
columns: datas.columns(),
data: [],
},
}
},
mounted () {
this.query()
},
methods: {
query () {
getSzRecordList({ bsmBdcqz: this.formData.bsmBdcqz }).then(res => {
if (res.code == 200) {
this.tableData.data = res.result;
this.key++
}
})
}
}
}
</script>
<style scoped lang='scss'>
</style>
\ No newline at end of file
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-05-17 10:40:09
-->
<template>
<div>
<div class="zsdy-content loadingtext">
<el-form
:model="ruleForm"
:rules="rules"
ref="ruleForm"
label-width="120px">
<el-form-item label="印刷序列号:" prop="ysxlh">
<el-select v-model="ruleForm.ysxlh" placeholder="请选择">
<el-option
v-for="item in ysxlh"
:key="item.ysxlh"
:label="item.ysxlh"
:value="item.ysxlh">
</el-option>
</el-select>
</el-form-item>
</el-form>
<img :src="previewImage" style="width: 100%">
</div>
<div class="text-center pt-10">
<el-button @click="$popupCacel">取消</el-button>
<el-button type="primary" @click="handleSubmit">确定</el-button>
</div>
</div>
</template>
<script>
import store from '@/store/index.js'
import { datas } from "../../javascript/zsyl.js";
import { readYsxlh, certificate, bdcqzPreview } from "@/api/bdcqz.js";
export default {
props: {
formData: {
type: Object,
default: () => {
return {}
}
}
},
data () {
return {
//印刷序列号集合
ysxlh: [],
//证书预览图片
previewImage: '',
//列名称对象
columns: [],
ruleForm: {
bsmBdcqz: "",
szmc: "不动产权证书",
bdcqzlx: "",
szzh: "",
ysxlh: ""
},
rules: {
ysxlh: [
{ required: true, message: "请选择印刷序列号", trigger: "change" }
]
}
}
},
created () {
store.dispatch('user/refreshPage', false)
this.columns = datas.columns()
this.ysxlhList()
this.getBdcqzPreview()
},
methods: {
//获取印刷序列号列表
ysxlhList () {
readYsxlh({ zslx: this.formData.bdcqz.bdcqzlx }).then((res) => {
if (res.code === 200) {
this.ysxlh = res.result;
}
})
},
handleSubmit () {
this.savePrintRecord()
},
//获取证书内容
getRowValue (code) {
var value = this.bdcqz[code];
return value;
},
getBdcqzPreview () {
this.$startLoading()
bdcqzPreview(this.formData.bdcqz).then(res => {
this.$endLoading()
let blob = new Blob([res]);
let url = window.URL.createObjectURL(blob);
this.previewImage = url;
})
},
//保存打印记录
savePrintRecord () {
this.ruleForm.bsmBdcqz = this.formData.bdcqz.bsmBdcqz;
this.ruleForm.bdcqzlx = this.formData.bdcqz.bdcqzlx;
this.ruleForm.szzh = this.formData.bdcqz.bdcqzh;
certificate(this.ruleForm).then((res) => {
if (res.code === 200) {
this.$popupCacel()
this.$message.success("提交成功")
//刷新列表
store.dispatch('user/refreshPage', true);
} else {
this.$message.error(res.message)
}
});
},
},
};
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
.zsdy-content {
height: 80vh;
overflow-y: scroll;
}
.aaaa {
width: 1024px;
height: 739px;
font-family: KaiTi;
font-weight: 700;
}
.bdcdjzm {
width: 1123px;
height: 794px;
font-family: KaiTi;
font-weight: 700;
}
.zmyl-box {
//position: relative;
position: absolute;
height: 600px;
width: 280px;
margin-left: 775px;
font-size: 16px;
justify-content: space-between;
}
.bdcqzh {
height: 70px;
left: 0;
bottom: 0;
font-size: 18px;
}
.zsyl-box {
display: flex;
justify-content: space-between;
// padding: 20px;
font-size: 16px;
height: 100%;
$left: 131px;
.zsyl-left {
width: 460px;
position: relative;
.qlr {
position: absolute;
top: 40px;
left: $left;
}
.gyqk {
position: absolute;
top: 80px;
left: $left;
}
.zl {
position: absolute;
top: 120px;
left: $left;
}
.bdcdyh {
position: absolute;
top: 160px;
left: $left;
}
.qllx {
position: absolute;
top: 205px;
left: $left;
}
.qlxz {
position: absolute;
top: 250px;
left: $left;
}
.yt {
position: absolute;
top: 290px;
left: $left;
}
.mj {
position: absolute;
top: 330px;
left: $left;
}
.syqx {
position: absolute;
top: 370px;
left: $left;
}
.qt {
position: absolute;
top: 420px;
left: $left;
}
}
.zsyl-right {
flex: 1;
text-align: left;
position: relative;
.fj {
position: absolute;
left: 115px;
top: 5px;
}
}
.zsyl-title {
margin-bottom: 12px;
}
/deep/.el-table__row {
background: #fafbe5 !important;
}
}
.middle_padding {
padding-bottom: 10px;
}
.zsyl-button {
text-align: center;
margin-top: 20px;
.operation_button {
width: 100px;
border: 1px solid rgb(0, 121, 254);
}
.dy-button {
color: white;
background-color: rgb(0, 121, 254);
}
}
</style>
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-05-18 10:53:49
-->
<template>
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px">
<el-row>
<el-col :span="8">
<el-form-item label="发证人姓名">
<el-input v-model="ruleForm.fzrmc" disabled></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="发证时间">
<el-input v-model="ruleForm.fzsj" disabled></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="发证数量">
<el-input v-model="ruleForm.fzsl" disabled></el-input>
</el-form-item>
</el-col>
</el-row>
<lb-table :column="tableData.columns" @row-dblclick="handleRowClick" ref="table" @selection-change="handleSelectionChange" :data="tableData.data"
:pagination="false"
:calcHeight="300">
</lb-table>
<el-row>
<el-col :span="6">
<el-form-item label="领证人" prop="lzrxm">
<el-input v-model="ruleForm.lzrxm"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="证件类型" prop="lzrzjlb">
<el-select v-model="ruleForm.lzrzjlb" filterable clearable placeholder="请选择">
<el-option v-for="item in zjzlData" :key="item.dcode" :label="item.dname" :value="item.dcode">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="证件号" prop="lzrzjh">
<el-input v-model="ruleForm.lzrzjh"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="领证人电话" prop="lzrdh">
<el-input v-model="ruleForm.lzrdh"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-form-item class="text-center">
<el-button @click="$popupCacel">取消</el-button>
<el-button type="primary" @click="handleSubmit">确定</el-button>
</el-form-item>
</el-form>
</template>
<script>
import Vue from 'vue'
import store from '@/store/index.js'
import table from "@/utils/mixin/table";
import { getUnclaimedBdcqz, issueCertificate } from "@/api/bdcqz.js";
import { datas } from "../../javascript/fzxxdata";
export default {
props: {
formData: {
type: Object,
default: () => {
return {}
}
}
},
mixins: [table],
data () {
return {
zjzlData: store.getters.dictData['A30'],
ruleForm: {
fzrmc: '',
fzsj: '',
fzsl: '',
bdcqzList: [],
lzrxm: '',
lzrzjlb: '',
lzrzjh: '',
lzrdh: ''
},
rules: {
lzrxm: [
{ required: true, message: '请输入领证人', trigger: 'blur' }
],
lzrzjlb: [
{ required: true, message: '请选择证件类型', trigger: 'change' }
],
lzrzjh: [
{ required: true, message: '请输入证件号', trigger: 'blur' }
],
lzrdh: [
{ required: true, message: '请输入电话号码', trigger: 'blur' }
]
},
tableData: {
total: 0,
columns: datas.columns().lzgrid,
data: []
}
}
},
mounted () {
this.$nextTick(() => {
this.loadGrid()
})
},
methods: {
//列表初始化
loadGrid () {
getUnclaimedBdcqz({ bsmSlsq: Vue.prototype.$currentRoute.query.bsmSlsq }).then(res => {
if (res.code === 200) {
this.tableData.data = res.result.list;
this.ruleForm.fzrmc = res.result.fzrmc
this.ruleForm.fzsj = res.result.fzsj
this.ruleForm.fzsl = res.result.fzsl
this.ruleForm.bdcqzList = res.result.list;
}
})
},
handleSelectionChange (val) {
this.ruleForm.bdcqzList = val
},
handleRowClick (row) {
this.$refs.table.toggleRowSelection(row)
},
handleSubmit () {
this.$refs.ruleForm.validate(valid => {
if (valid) {
issueCertificate(this.ruleForm).then(res => {
if (res.code == 200) {
this.$message.success('保存成功');
this.$popupCacel()
} else {
this.$message.error(res.message)
}
})
} else {
this.$message.error("请填写领取人信息!")
return false;
}
})
}
}
}
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
</style>
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-05-29 14:22:48
-->
<template>
<div class="from-clues loadingtext" v-Loading="loading" element-loading-text="拼命加载中..." style="height:720px">
<!-- 表单部分 -->
<el-tabs v-model="activeName" @tab-click="handleClick" v-if="headTabBdcqz.length > 1">
<el-tab-pane :label="item.qlr + '(' + item.bdcqzh + ')'" :name="item.bsmBdcqz"
v-for="(item, index) in headTabBdcqz" :key="index"></el-tab-pane>
</el-tabs>
<div class="no-data" v-if="headTabBdcqz.length == 0">暂无数据</div>
<!-- <img :src="previewImage" class="imgClass"> -->
<canvas ref="canvas" :width="canvasWidth" :height="canvasHeight"></canvas>
</div>
</template>
<script>
import { datas } from "../../javascript/zsyl.js";
import { getSlsqBdcqzList, bdcqzPreview } from "@/api/bdcqz.js"
export default {
name: "zsyl",
props: {
formData: {
type: Object,
default: {}
}
},
data () {
return {
imgSrc: require('@/image/bdcqz/bdcqzs2.jpg'),
canvasWidth: 1018,
canvasHeight: 720,
loading: false,
//印刷序列号集合
ysxlh: [],
//列名称对象
columns: [],
//选择的不动产权证文件
bdcqz: '',
//证书打开类型 是否需要展示打印按钮
isToPrint: false,
//tab切换栏数组
headTabBdcqz: [],
//tab选择绑定值
activeName: '',
//证书图片预览
previewImage: '',
ruleForm: {
bsmBdcqz: '',
szmc: '不动产权证书',
bdcqzlx: '',
szzh: '',
ysxlh: '',
},
}
},
mounted () {
this.columns = datas.columns();
if (this.formData.bdcqz) {
//从缮证进入
this.bdcqz = this.formData.bdcqz
} else {
//从按钮进入
this.getHeadTabBdcqz();
}
},
methods: {
//获取证书内容
getRowValue (code) {
var value = this.bdcqz[code];
return value;
},
//获取受理申请下全部不动产权证
getHeadTabBdcqz () {
this.loading = true
getSlsqBdcqzList({ bsmSlsq: this.formData.bsmSlsq }).then(res => {
if (res.code == 200) {
if (res.result && res.result.length > 0) {
this.activeName = res.result[0].bsmBdcqz
this.bdcqz = res.result[0]
this.headTabBdcqz = res.result
this.drawTextOnImage();
}
}
this.loading = false
})
},
//tab表头切换方法
handleClick (e) {
this.bdcqz = this.headTabBdcqz[e.index - 0]
this.activeName = this.headTabBdcqz.bsmBdcqz
// this.getBdcqzPreview();
this.drawTextOnImage()
},
// getBdcqzPreview () {
// bdcqzPreview(this.bdcqz).then(res => {
// this.loading = false
// let blob = new Blob([res]);
// let url = window.URL.createObjectURL(blob);
// this.previewImage = url;
// this.drawTextOnImage()
// })
// },
drawTextOnImage () {
const canvas = this.$refs.canvas;
const context = canvas.getContext('2d');
const image = new Image();
image.onload = () => {
context.drawImage(image, 0, 0);
context.font = '15px 楷体';
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);
context.fillText(this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk : '', 138, 469);
context.fillText(this.bdcqz.fj ? this.bdcqz.fj : '', 580, 100);
}
image.src = this.imgSrc;
}
}
}
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
.imgClass {
display: inline-block;
height: auto;
max-width: 100%;
}
.middle_padding {
padding-bottom: 10px;
}
.zsyl-button {
text-align: center;
margin-top: 20px;
.operation_button {
width: 100px;
border: 1px solid rgb(0, 121, 254);
}
.dy-button {
color: white;
background-color: rgb(0, 121, 254);
}
}
.table-column {
border-spacing: 1px;
width: 100%;
tr td {
border: 1px solid #ccc;
text-align: center;
height: 40px;
padding: 4px;
font-size: 13px;
background: rgb(251, 249, 229);
}
}
.zsyl-title {
background: #fafbe5;
text-align: center;
padding: 5px 0px;
font-size: 20px;
}
.no-data {
font-size: 18px;
display: flex;
text-align: center;
justify-content: center;
}
</style>
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-05-16 15:55:45
-->
<template>
<div class="from-clues">
<!-- 发证信息 -->
<div class="from-clues-header">
<el-form :model="ruleForm">
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="印刷序列号">
<el-input v-model="ruleForm.ysxlh" clearable placeholder="请输入印刷序列号"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="证书号">
<el-input v-model="ruleForm.zsh" clearable placeholder="请输入证书号"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="权利人">
<el-input v-model="ruleForm.qlr" clearable placeholder="请输入权利人"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" class="btnColRight">
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleSearch">查询</el-button>
<el-button type="primary" icon="el-icon-search" @click="zslqClick">证书领取</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<div class="from-clues-content">
<lb-table border :column="tableData.columns" :heightNum="210" :data="tableData.data" :pagination="false">
</lb-table>
</div>
</div>
</template>
<script>
import table from "@/utils/mixin/table";
import { getCertificateList } from "@/api/bdcqz.js";
import { datas } from "../javascript/fzxxdata";
export default {
mixins: [table],
data () {
return {
ruleForm: {
ysxlh: '',
zsh: '',
qlr: '',
bsmSldy: ''
},
tableData: {
total: 0,
columns: datas.columns().fzgrid,
data: []
},
dialogVisible: false
}
},
methods: {
queryClick () {
this.ruleForm.bsmSlsq = this.$route.query.bsmSlsq;
getCertificateList(this.ruleForm).then(res => {
if (res.code === 200) {
this.tableData.data = res.result ? res.result : []
}
})
},
zslqClick () {
this.$popupDialog("不动产权证领取", "workflow/components/dialog/zslq", {}, '80%', true)
}
}
}
</script>
<style scoped lang='scss'>
@import "~@/styles/public.scss";
</style>
\ No newline at end of file
<!--
* @Description: 功能:审批意见
* @Autor: renchao
* @LastEditTime: 2023-05-17 10:41:24
-->
<template>
<div class='spyj loadingtext'>
<div class="box">
<b class="spyj_title">审批表</b>
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="120px">
<div class="spyj_form" v-for="(item, index) in tableData" :key="index">
<div class="item_left">
{{ item.jdmc }}意见
</div>
<div class="item_right">
<el-row>
<el-col :span="24">
<el-form-item label-width="0" class="opinion_item" prop="shyj">
<el-input type="textarea" :rows="4" class="opinion" placeholder="请输入审批意见"
v-if="item.stepShjy == '1' && ableOperation" v-model="ruleForm.shyj"></el-input>
<el-input type="textarea" :rows="4" class="opinion" v-model="item.shyj" v-else :disabled="true">
</el-input>
<el-button class="opinion_btn" @click="commonOpinion"
v-if="item.stepShjy == '1' && ableOperation">常用意见</el-button>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="16">
<el-form-item label="审查人" prop="shryxm">
{{ item.shryxm }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="审核时间" prop="shjssj" :key="refresh">
{{ item.shjssj }}
</el-form-item>
</el-col>
</el-row>
</div>
</div>
<div class="submit_button" v-if="ableOperation">
<el-button type="primary" @click="onSubmit">保存</el-button>
</div>
</el-form>
</div>
<el-empty v-if="isNoData" description="暂无数据"></el-empty>
</div>
</template>
<script>
import { getSpyjList, saveSpyj, saveSpyjBySlsq } from "@/api/fqsq.js";
import { mapGetters } from 'vuex'
export default {
computed: {
...mapGetters(['userData', 'yjsqOptions'])
},
data () {
return {
isNoData: false,
bsmSlsq: '',
//刷新值
refresh: 10,
ableOperation: true,
bsmSlsq: this.$route.query.bsmSlsq,
bestepid: this.$route.query.bestepid,
ruleForm: {},
rules: {
shyj: [
{ required: true, message: '请输入审批意见', trigger: 'blur' }
],
},
tableData: [],
propsParam: {}
}
},
watch: {
yjsqOptions: {
handler (val) {
this.ruleForm.shyj = val
},
deep: true,
immediate: true
},
},
mounted () {
this.propsParam = this.$attrs;
if (this.$route.query.viewtype) {
this.ableOperation = false
}
this.list();
},
methods: {
//审批意见数据初始化
list () {
let that = this
this.$startLoading()
var formdata = new FormData();
formdata.append("bsmBusiness", this.propsParam.bsmBusiness);
formdata.append("bestepid", this.$route.query.bestepid);
formdata.append("ableOperation", this.ableOperation)
getSpyjList(formdata).then((res) => {
this.$endLoading()
if (res.code === 200 && res.result) {
this.tableData = res.result ? res.result : []
if (res.result.length == 0) {
that.isNoData = true
}
this.ruleForm = res.result[res.result.length - 1]
}
})
},
onSubmit () {
this.ruleForm.bsmSlsq = this.bsmSlsq
this.ruleForm.bestepid = this.bestepid
saveSpyjBySlsq(this.ruleForm).then(res => {
if (res.code === 200) {
this.$message.success("保存成功")
this.refresh += 1
} else {
this.$message.error(res.message)
}
})
},
//打开常用意见列表弹窗
commonOpinion () {
this.$popupDialog("常用意见", "workflow/components/dialog/commonOpinion", {}, "70%", true)
},
//使用常用意见
useOpinion (opinion) {
this.ruleForm.shyj = opinion
}
}
}
</script>
<style scoped lang='scss'>
@import "~@/styles/mixin.scss";
.spyj {
width: 100%;
height: 100%;
background-color: #f5f5f5;
padding: 5px;
.box {
overflow-x: auto;
width: 100%;
height: 95%;
background: #fff;
text-align: center;
padding: 4px;
overflow-y: scroll;
padding-top: 20px;
padding: 20px 40px;
}
.spyj_title {
line-height: 68px;
border: 1px solid $borderColor;
text-align: center;
font-size: 22px;
font-weight: 400;
background-color: #eceef2;
display: block;
border-bottom: none;
}
/deep/.el-form-item {
margin-bottom: 0;
}
.bottom10 {
margin-bottom: 15px;
}
.spyj_form {
display: flex;
border: 1px solid $borderColor;
.item_left {
width: 150px;
background-color: #f8f8fa;
color: #606266;
display: flex;
font-size: 14px;
text-indent: 80px;
align-items: center;
border-right: 1px solid $borderColor;
}
.item_right {
flex: 1;
width: 100%;
/deep/.el-form-item__label {
background-color: #f8f8fa;
}
/deep/.el-form-item__content {
display: block;
text-align: left;
text-indent: 10px;
}
.opinion_item {
/deep/.el-form-item__error {
margin-top: -16px !important;
left: 3px;
}
border-bottom: 1px solid $borderColor;
}
.opinion {
position: relative;
font-size: 14px;
/deep/.el-textarea__inner {
border: none;
}
}
.opinion_btn {
position: absolute;
right: 15px;
bottom: 10px;
}
}
}
.submit_button {
text-align: center;
margin: 15px 0;
}
}
</style>
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-05-17 10:41:49
-->
<template>
<div class="szxx">
<el-card class="box-card" v-for="(item, index) in tableData" :key="index">
<div slot="header" class="szxx_header">
<span class="header_type">{{
item.bdcqzlx == 1 ? "不动产权证书" : "不动产登记证明"
}}</span>
<div class="header_text">{{ item.bdcqzh }}</div>
</div>
<div class="szxx_body card_padding">
<div class="text color_iray">
<span>{{ item.qllx }}</span>
</div>
<div class="text color_red">
<span>{{ item.qlr }}</span>
</div>
<div class="text color_iray">
<span>{{ item.gyqk }}</span>
</div>
<div class="text color_red">
<span>{{ item.bdcdyh }}</span>
</div>
<div class="text color_iray">
<span>{{ item.zl }}</span>
</div>
<div class="text color_red">
<span>{{ item.yt }}</span>
</div>
<div class="text color_iray">
<span>{{ item.mj }}</span>
</div>
<div class="text color_red">
<span>{{ item.syqx }}</span>
</div>
<div class="text color_iray">
<span>印刷序列号:{{ item.ysxlh }}</span>
</div>
</div>
<div class="card_padding">
<div class="top_line middle_margin"></div>
<div class="text" v-if="item.ysxlh">
<el-button class="operation_button" type="text" @click="openInvalidDiglog(item)">再次打印({{ item.szcs
}})</el-button>
<el-button class="operation_button" type="text" @click="openRecordPop(item)">缮证记录</el-button>
</div>
<div class="text" v-else>
<el-button class="operation_button" type="text" @click="openZsylDialog(item, 2)">证书打印1({{ item.szcs
}}</el-button>
<el-button class="operation_button" type="text" @click="openRecordPop(item)">缮证记录</el-button>
</div>
</div>
</el-card>
<el-dialog title="证书作废" :visible.sync="invalidDiglog" width="30%" :modal-append-to-body="false" top="30vh">
<div class="invalid-diglog">
<div class="invalid-title">
<i class="el-icon-question invalid-icon"></i>
<div class="invalid-body">您确定作废证书并再次打印?</div>
</div>
<div class="invalid-reson">作废原因:</div>
<el-input v-model="zfyy" placeholder="请输入作废原因" type="textarea" :rows="4"></el-input>
<div class="text-center pt-10">
<el-button @click="closeInvalidDiglog">取 消</el-button>
<el-button type="primary" @click="confirmInvalid">确 定</el-button>
</div>
</div>
</el-dialog>
<el-empty description="暂无数据" v-if="tableData.length == 0"></el-empty>
</div>
</template>
<script>
import { mapGetters } from 'vuex'
import { getSlsqBdcqzList, invalidCertificate } from "@/api/bdcqz.js";
export default {
props: {},
data () {
return {
dialog: false,
tableData: [],
bdcqzlx: 1,
bdcqz: {},
zfyy: "",
invalidDiglog: false,
bsmSz: "",
bsmBdcqz: ""
};
},
computed: {
...mapGetters(['isRefresh'])
},
watch: {
isRefresh: {
handler (newVal, oldVal) {
if (newVal) this.list()
}
}
},
created () {
this.list();
},
methods: {
//初始化列表
list () {
var bsmSlsq = this.$route.query.bsmSlsq;
getSlsqBdcqzList({ bsmSlsq: bsmSlsq }).then((res) => {
if (res.code === 200) {
this.tableData = res.result;
if (res.result) {
this.bdcqz = res.result[0];
}
}
});
},
//打开证书预览弹窗
openZsylDialog (item, type) {
if (type == 1) {
//证书预览
this.$popupDialog("证书预览", "workflow/components/dialog/zsyl", { bdcqz: item }, "70%", true);
} else {
this.$popupDialog("不动产权证书", "workflow/components/dialog/zsdy", { bdcqz: item }, "70%", true);
}
},
//再次打印
openInvalidDiglog (item) {
this.bsmSz = item.bsmSz;
this.invalidDiglog = true;
this.bsmBdcqz = item.bsmBdcqz
},
closeInvalidDiglog () {
this.invalidDiglog = false;
this.bsmSz = "";
this.zfyy = "";
},
//作废缮证信息
confirmInvalid () {
invalidCertificate({ bsmBdcqz: this.bsmBdcqz, zfyy: this.zfyy }).then((res) => {
if (res.code === 200) {
this.list();
this.$message.success("作废成功");
this.invalidDiglog = false;
this.zfyy = ''
this.openZsylDialog(this.bdcqz);
} else {
this.$message.error(res.message);
}
});
},
openRecordPop (item) {
this.$popupDialog("缮证记录", "workflow/components/dialog/szRecord", { bsmBdcqz: item.bsmBdcqz }, '60%', true)
}
},
};
</script>
<style scoped lang='scss'>
@import "~@/styles/public.scss";
.szxx {
box-sizing: border-box;
padding-right: 15px;
width: 100%;
height: 600px;
overflow-y: scroll;
.box-card {
float: left;
width: 300px;
margin-top: 10px;
margin-right: 10px;
.szxx_body {
height: 240px;
}
}
}
.szxx_header {
color: #ffffff;
font-weight: bolder;
font-size: 16px;
.header_type {
display: flex;
justify-content: center;
align-content: center;
}
.header_text {
text-align: center;
margin-top: 10px;
line-height: 30px;
}
}
.top_line {
border-top: 2px solid rgb(222, 222, 222);
}
.text {
margin-bottom: 10px;
text-align: center;
}
.color_iray {
color: rgb(153, 153, 153);
}
.color_red {
color: rgb(255, 89, 24);
}
.middle_margin {
margin-bottom: 10px;
}
.operation_button {
border: 1px solid rgb(0, 121, 254);
padding: 5px;
text-align: center;
}
.card_padding {
padding-top: 8px;
}
.invalid-diglog {
padding-bottom: 20px;
font-size: 16px;
font-weight: bold;
color: rgb(99, 99, 99);
.invalid-title {
display: flex;
align-content: center;
.invalid-icon {
color: rgb(254, 148, 0);
font-size: 34px;
margin-right: 10px;
}
.invalid-body {
line-height: 40px;
margin-bottom: 10px;
}
}
.invalid-reson {
margin-bottom: 10px;
}
.dialog-footer {
margin-top: 10px;
display: flex;
justify-content: flex-end;
}
}
/deep/.el-card__header {
background-color: rgb(198, 67, 83);
}
/deep/.el-card__body {
padding: 0px;
}
</style>
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-06-01 09:48:15
-->
<template>
<canvas id="mxcad">
</canvas>
</template>
<script>
import Mx from "mxdraw"
export default {
mounted () {
// 动态加载 js库核心代码
Mx.loadCoreCode().then(() => {
// Mx.MxFun.setMxServer("ws://localhost:5090") // 开启socket通信 可编辑图纸
// 创建控件对象
Mx.MxFun.createMxObject({
canvasId: "mxcad", // canvas元素的id
cadFile: "/buf/hhhh.dwg", // http方式(预览): 加载public/demo文件夹下转换后的图纸
// cadFile: "test2.dwg", // socket通信方式请直接提供图纸名称 如:text.dwg
callback: (mxDraw, {
canvas,
canvasParent
}) => {
// 可以拿到canvas元素和它的父级元素
console.log(canvas, canvasParent)
console.log(mxDraw)
// 拿到图层数据
mxDraw.addEvent('uiSetLayerData', (listLayer) => {
console.log(listLayer)
})
},
isNewFile: true // 是否新建文件
})
})
}
}
</script>
<style scoped lang='scss'>
#cad-container {
width: 100%;
height: 100%;
}
</style>
\ No newline at end of file
......@@ -111,28 +111,40 @@ export default {
}
return name;
},
AddDialog(row){
this.$popupDialog("新增", "djbworkflow/djbBook/components/djbeditDialog", {
datalist:this.columns,
data: ''
})
},
// 编辑
editDialog(row){
this.$popupDialog("编辑", "djbworkflow/djbBook/components/djbeditDialog", {
datalist:this.columns,
data: row,
this.$confirm('此操作将新增一条补录信息, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$parent.addRepairRecord(row)
this.$message({
type: 'success',
message: '补录成功!'
});
}).catch(() => {
this.$message({
type: 'info',
message: '取消编辑'
});
});
// this.$popupDialog("编辑", "djbworkflow/djbBook/components/djbeditDialog", {
// datalist:this.columns,
// data: row,
// })
})
},
// 删除
deleteDialog(row){
let that = this
this.$confirm('此操作将永久删除, 是否继续?', '提示', {
this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async () => {
}).then(() => {
// let bsmClmx = this.previewImg.imgList[this.previewImg.index].bsmClmx
// deleteClmx(bsmClmx).then(res => {
// if (res.code == 200) {
......@@ -143,16 +155,16 @@ export default {
// })
// }
// })
that.$message({
message: '删除成功!',
type: 'success'
})
this.$message({
type: 'success',
message: '删除成功!'
});
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
})
});
});
}
},
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-05-17 10:40:46
* @LastEditTime: 2023-05-17 10:40:38
-->
<template>
<div class="clxx">
<div class="left">
<div v-for="item in menuList" :key="item.id" :class="['item', checkedId == item.id ? 'active' : '']"
@click="menuClick(item)">
{{ item.label }}
</div>
</div>
<div class="right">
<!-- 材料目录明细 -->
<div class="clmlmx-box" v-if="checkedId == '1'">
<div class="title">申请材料目录</div>
<lb-table :column="column" :key="key" :heightNum="150" :pagination="false" :data="tableData">
</lb-table>
</div>
<!-- 材料预览 -->
<div class="clyl-box" v-else>
<div class="clyl-box">
<div class="menu-tree">
<el-button type="primary" native-type="submit" @click="viewDetail" style="width:100%;margin-top:10px;">查看明细</el-button>
<div class="item">
材料目录111({{tableData.length}})
<div>
材料目录({{tableData.length}})
<div style="margin-top:10px">
<div style="text-align: center;line-height:20px;color:black;font-size:14px" v-if="tableData.length == 0">暂无数据</div>
<div v-for="(item,index) in tableData" :key="item.bsmSj"
:class="['child', treeCheckId == item.bsmSj ? 'checked' : '']" @click="treeClick(item,index)">
<span v-if="item.isrequired==1" class="required">必选</span>
{{ item.sjmc }}
<span class="cl_number">({{item.children.length}})</span>
<span class="cl_number">({{item.children ? item.children.length : 0}})</span>
</div>
</div>
</div>
<el-button type="primary" native-type="submit" style="width:100%" @click="handleAdd()" v-if="!this.$route.query.viewtype">新增</el-button>
</div>
<image-preview ref='imageRef' :previewImg="previewImg" @updateList="updateList" @nextPriview="nextPriview"
@prevPriview="prevPriview" />
</div>
</div>
<!-- <clxxAddDialog v-model="isDialog" /> -->
<clxxAddDialog v-model="isDialog" />
<!-- <clxxDetailDialog v-model="detailDialog" :data="tableData" /> -->
</div>
</template>
<script>
import { mapGetters } from "vuex";
// import clxxAddDialog from "./dialog/clxxAddDialog.vue";
import clxxAddDialog from "./components/tabsconcent/clxxAddDialog.vue";
import imagePreview from '@/views/components/imagePreview.vue'
import { InitClml, saveClml, deleteSjClml, moveClml } from "@/api/clxx.js";
import { popupDialog } from "@/utils/popup.js";
export default {
components: { imagePreview },
components: { clxxAddDialog, imagePreview},
data () {
return {
isDialog: false,
menuList: [
{
id: "1",
label: "材料目录明细",
},
{
id: "2",
label: "材料预览",
},
],
iclass: "",
// 材料目录选中
treeCheckIndex: 0,
treeCheckId: "",
checkedId: "1",
column: [
{
width: "50",
renderHeader: (h, scope) => {
return (
<div>
{
this.$route.query.viewtype == 1 ? '序号' :
<i
class="el-icon-plus pointer"
onClick={() => {
this.handleAdd()
}}
></i>
}
</div>
)
},
render: (h, scope) => {
// 新建的材料,可删除
// v-show='scope.row.sfxjcl == 1'
return (
<div>
{
this.$route.query.viewtype == 1 ? <span>{scope.$index + 1}</span> :
<i
class="el-icon-minus pointer"
onClick={() => {
this.handleDelete(scope.$index, scope.row);
}}
></i>
}
</div>
)
}
},
{
prop: "isrequired",
label: "是否必选",
width: "50",
render: (h, scope) => {
if (scope.row.sfxjcl === "1") {
return (
<div>
<span>可选</span>
</div>
);
}
else {
return (
<div>
<span>必选</span>
</div>
);
}
},
},
{
prop: "sjmc",
label: "材料名称",
},
{
prop: "sjlx",
label: "材料类型",
width: "80",
render: (h, scope) => {
return (
<div>
<span>{this.dicStatus(scope.row.sjlx, "A40")}</span>
</div>
);
},
},
{
prop: "sjsl",
label: "份数",
width: "50"
},
{
prop: "smzt",
label: "扫描状态",
width: "80",
render: (h, scope) => {
if (scope.row.children.length > 0) {
return (
<div>
<span>已扫描</span>
</div>
);
} else {
return (
<div>
<span>未扫描</span>
</div>
);
}
},
},
{
prop: "ys",
label: "扫描页数",
width: "50"
},
{
label: "操作",
width: "80",
render: (h, scope) => {
return (
<div>
<el-button
type="text"
disabled={scope.$index == 0}
onClick={() => {
this.moveUpward(scope.$index, scope.row);
}}
>
上移
</el-button>
<el-button
type="text"
disabled={scope.$index + 1 == this.tableData.length}
onClick={() => {
this.moveDown(scope.$index, scope.row);
}}
>
下移
</el-button>
</div>
);
},
},
],
key: 0,
tableData: [],
previewImg: {
......@@ -214,7 +63,7 @@
...mapGetters(["dictData"])
},
created () {
this.clmlInitList()
this.clmlInitList(1)
},
methods: {
// 自动预览
......@@ -237,31 +86,39 @@
}
},
// 材料目录明细初始化
clmlInitList () {
clmlInitList (type) {
//type 1:列表初始化 2:新增材料
return new Promise(resolve => {
this.unitData = this.$parent.unitData;
var formdata = new FormData();
formdata.append("bsmSldy", this.unitData[0]?.bsmSldy);
formdata.append("bsmSlsq", this.$parent.bsmSlsq);
InitClml(formdata).then((res) => {
if (res.result.code == 200) {
if (res.code == 200) {
resolve(res.code)
if (res.result.result && res.result.result.length > 0) {
this.tableData = res.result.result;
this.treeCheckId = this.tableData[0].bsmSj;
this.title = this.tableData[0].sjmc;
this.titleYs = 1;
this.titleNum = this.tableData[0].children.length;
this.previewImg.imgList = this.tableData[0]?.children;
this.previewImg.bsmSj = this.tableData[0]?.bsmSj;
if (res.result && res.result.length > 0) {
this.tableData = res.result;
if (type == 1) {
this.treeClick(this.tableData[0], 0);
} else {
//新增材料后刷新列表焦点置于新增的对象上
this.treeClick(this.tableData[this.tableData.length - 1], this.tableData.length - 1);
}
}
} else {
this.$message.error(res.result.message)
this.$message.error(res.message)
}
})
})
},
setChecked (item) {
this.treeCheckId = item.bsmSj;
this.title = item.sjmc;
this.titleYs = 1;
this.titleNum = item.children.length;
this.previewImg.imgList = item.children;
this.previewImg.bsmSj = item.bsmSj;
},
updateList (val) {
let that = this
if (val != null) { //删除最后一张图片时 val=null
......@@ -285,54 +142,10 @@
}
},
// 左侧菜单点击
menuClick (item) {
this.checkedId = item.id
},
// 添加材料目录
handleAdd () {
this.isDialog = true;
},
// 上移
moveUpward (index, row) {
let obj = {
xh: row.xh,
bsmSlsq: row.bsmSlsq,
moveDirection: "UP",
};
// 接口待调
moveClml(obj).then(async (res) => {
if (res.code == 200) {
let res = await this.clmlInitList()
if (res == 200) this.$message({
message: '上移成功',
type: 'success'
})
} else {
this.$message.error(res.message);
}
})
},
// 下移
moveDown (index, row) {
let obj = {
xh: row.xh,
bsmSlsq: row.bsmSlsq,
moveDirection: "DOWN",
}
// 接口待调
moveClml(obj).then(async (res) => {
if (res.code == 200) {
let res = await this.clmlInitList()
if (res == 200) this.$message({
message: '下移成功',
type: 'success'
})
} else {
this.$message.error(res.message);
}
})
},
// 新增弹窗保存
addSave (data) {
let obj = {
......@@ -347,7 +160,7 @@
};
saveClml(obj).then(async (res) => {
if (res.code == 200) {
let res = await this.clmlInitList()
let res = await this.clmlInitList(2)
if (res == 200) this.$message({
message: "新增成功",
type: "success",
......@@ -355,30 +168,6 @@
}
});
},
// 材料目录删除
handleDelete (index, row) {
let that = this
this.$confirm('此操作将永久删除该 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
deleteSjClml({ sjBsm: row.bsmSj }).then(async (res) => {
if (res.code == 200) {
let res = await that.clmlInitList()
if (res == 200) that.$message({
message: "删除成功",
type: "success",
})
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
})
},
// 材料目录点击选中
treeClick (item, index) {
this.previewImg.index = 0
......@@ -399,12 +188,24 @@
if (data) {
data.map((item) => {
if (item.dcode == val) {
name = item.dname;
name = item.dname
}
});
return name;
return name
}
},
//查看明细
viewDetail () {
this.$popupDialog("查看明细", "djbworkflow/components/dialog/clxxDetailDialog", {
data: this.tableData
}, "60%")
},
//设置tableData
setTableData (tableData) {
this.$nextTick(res => {
this.tableData = tableData;
})
},
},
};
</script>
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-05-17 10:39:57
-->
<template>
<div class="clmlmx-box">
<div class="title">申请材料目录1111</div>
<lb-table :column="column" :key="key" :heightNumSetting="true" :pagination="false" :data="formData.data">
</lb-table>
<div class="text-center">
<el-button @click="$popupCacel">取消11111</el-button>
</div>
</div>
</template>
<script>
import store from '@/store/index.js'
import { InitClml, saveClml, deleteSjClml, moveClml } from "@/api/clxx.js";
export default {
props: {
formData: {
type: Object,
default: () => {
return {}
}
}
},
data () {
return {
column: [
{
width: "50",
label: '序号',
type: 'index'
},
{
prop: "isrequired",
label: "是否必选",
width: "80",
render: (h, scope) => {
if (scope.row.sfxjcl === "1") {
return (
<div>
<span>可选</span>
</div>
);
}
else {
return (
<div>
<span>必选</span>
</div>
);
}
},
},
{
prop: "sjmc",
label: "材料名称",
},
{
prop: "sjlx",
label: "材料类型",
width: "80",
render: (h, scope) => {
return (
<div>
<span>{this.dicStatus(scope.row.sjlx, "A40")}</span>
</div>
);
},
},
{
prop: "sjsl",
label: "份数",
width: "50"
},
{
prop: "smzt",
label: "扫描状态",
width: "80",
render: (h, scope) => {
if (scope.row.children && scope.row.children.length > 0) {
return (
<div>
<span>已扫描</span>
</div>
);
} else {
return (
<div>
<span>未扫描</span>
</div>
);
}
},
},
{
label: "扫描页数",
width: "80",
render: (h, scope) => {
if (scope.row.children && scope.row.children.length > 0) {
return (
<div>
<span>{scope.row.children.length}</span>
</div>
);
} else {
return (
<div>
<span>0</span>
</div>
);
}
},
},
{
label: "操作",
width: "80",
render: (h, scope) => {
return (
<div>
<el-button
type="text"
disabled={scope.$index == 0}
onClick={() => {
this.moveUpward(scope.$index, scope.row);
}}
>
上移
</el-button>
<el-button
type="text"
disabled={scope.$index + 1 == this.tableData.length}
onClick={() => {
this.moveDown(scope.$index, scope.row);
}}
>
下移
</el-button>
</div>
);
},
},
],
key: 0,
tableData: []
}
},
created () {
console.log(this.formData.data, 'formData');
},
methods: {
// 材料目录明细初始化
clmlInitList () {
return new Promise(resolve => {
this.unitData = this.$parent.unitData;
var formdata = new FormData();
formdata.append("bsmSldy", this.unitData[0]?.bsmSldy);
formdata.append("bsmSlsq", this.$route.query.bsmSlsq);
InitClml(formdata).then((res) => {
if (res.code == 200) {
resolve(res.code)
if (res.result && res.result.length > 0) {
this.data = res.result;
} else {
this.data = []
}
} else {
this.$message.error(res.message)
}
})
})
},
// 上移
moveUpward (index, row) {
let obj = {
xh: row.xh,
bsmSlsq: row.bsmSlsq,
moveDirection: "UP",
};
// 接口待调
moveClml(obj).then(async (res) => {
if (res.code == 200) {
let res = await this.clmlInitList()
if (res == 200) {
this.$message({
message: '上移成功',
type: 'success'
})
this.$parent.setTableData(this.data)
}
} else {
this.$message.error(res.message);
}
})
},
// 下移
moveDown (index, row) {
let obj = {
xh: row.xh,
bsmSlsq: row.bsmSlsq,
moveDirection: "DOWN",
}
// 接口待调
moveClml(obj).then(async (res) => {
if (res.code == 200) {
let res = await this.clmlInitList()
if (res == 200) {
this.$message({
message: '下移成功',
type: 'success'
})
}
} else {
this.$message.error(res.message);
}
})
},
// 材料目录删除
handleDelete (index, row) {
let that = this
this.$confirm('此操作将永久删除该 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
deleteSjClml({ sjBsm: row.bsmSj }).then(async (res) => {
if (res.code == 200) {
let res = await that.clmlInitList()
if (res == 200) {
that.$message({
message: "删除成功",
type: "success",
})
// this.$parent.setTableData(this.data)
}
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
})
},
// 字典
dicStatus (val, code) {
let data = store.getters.dictData[code],
name = "暂无";
if (data) {
data.map((item) => {
if (item.dcode == val) {
name = item.dname;
}
});
return name;
}
}
}
}
</script>
<style scoped lang='scss'>
@import "~@/styles/mixin.scss";
.clmlmx-box {
margin: 0 auto;
.title {
text-align: center;
height: 60px;
line-height: 60px;
border: 1px solid #dfe6ec;
font-size: 20px;
background: #81d3f81a;
margin-bottom: -1px;
}
}
</style>
<template>
<div class="jtfccx-edit">
<div class="jtfccx-edit-con">
<el-form ref="form" :model="form" label-width="160px">
<el-row>
<el-col :span="8">
<el-form-item label="权属状态" label-width="140px">
<el-select v-model="form.qszt">
<el-option v-for="item in qsztList" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="权利类型" label-width="140px">
<el-input v-model="form.qllxmc" ></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="登记类型" label-width="140px">
<el-input v-model="form.djlxmc" ></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="上手业务号" label-width="140px">
<el-input v-model="form.ssywh" ></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="档案号" label-width="140px">
<el-input v-model="form.dah" ></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="业务号" label-width="140px">
<el-input v-model="form.ywh" ></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="不动产单元号" label-width="140px">
<el-input v-model="form.bdcdyh" ></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="坐落" label-width="140px">
<el-input v-model="form.zl" ></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="共有情况" label-width="140px">
<el-input v-model="form.gyqk" ></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="权利人类型" label-width="140px">
<el-input v-model="form.qlrlx" ></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="权利人" label-width="140px">
<el-input v-model="form.qlrmc" ></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="证件种类" label-width="140px">
<el-input v-model="form.qlrzjzl" ></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="证件号" label-width="140px">
<el-input v-model="form.qlrzjhm" ></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="使用权面积" label-width="140px">
<el-input v-model="form.mj" ></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="权利性质" label-width="140px">
<el-input v-model="form.qlxzmc" ></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="土地用途" label-width="140px">
<el-input v-model="form.ytmc" ></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="使用权起止时间" label-width="140px">
<el-input v-model="form.syqqzsj" ></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="土地使用期限" label-width="140px">
<el-input v-model="form.tdsyqx" ></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="取得价格(万元)" label-width="140px">
<el-input v-model="form.qdjg" ></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="登记原因" label-width="140px">
<el-input v-model="form.djyy" ></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="不动产权证号" label-width="140px">
<el-input v-model="form.bdcqzh" ></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="登记时间" label-width="140px">
<el-input v-model="form.djsj" ></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="登簿人" label-width="140px">
<el-input v-model="form.dbr" ></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="附记" label-width="140px">
<el-input v-model="form.fj" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-form-item class="btn">
<el-button type="primary" @click="submitForm">保存</el-button>
<el-button @click="closeDialog">取消</el-button>
</el-form-item>
</el-form>
</div>
</div>
</template>
<script>
export default {
props: {
formData: {
type: Object,
default: () => { },
},
},
data () {
return {
form:{},
qsztList: [
{
value: "0",
label: "临时",
},
{
value: "1",
label: "现势",
},
{
value: "2",
label: "历史",
},
],
label:"",
};
},
mounted () {
if (this.formData.data) {
this.$nextTick(() => {
this.form = Object.assign({}, this.formData.data)
this.form.qszt=this.form.qszt=='0'?"临时":this.form.qszt=='1'?"现势":"历史"
})
}
},
methods: {
//新增常用意见
submitForm () {
this.$refs.form.validate(valid => {
if (valid) {
// addUserCommonOpinion({ commonOpinion: this.form.commonOpinion }).then(res => {
// if (res.code == 200) {
// this.$message.success("新增成功")
// this.closeaddDiglog();
// this.getList()
// } else {
// this.$message.error(res.message)
// }
// })
} else {
return false;
}
});
},
closeDialog () {
this.$popupCacel()
this.$refs['form'].resetFields();
// this.resetTableFields();
}
},
};
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
@import "~@/styles/public.scss";
.jtfccx-edit {
@include flex;
flex-direction: column;
overflow-y: hidden;
max-height: 85vh;
padding: 0 2px;
.btn{
text-align: center;
}
}
</style>
......@@ -4,7 +4,7 @@
* @LastEditTime: 2023-05-09 09:20:10
-->
<template>
<dialogBox title="新建材料信息1111111" width="20%" isMain v-model="myValue" @closeDialog="closeDialog" @submitForm="handleSubmit"
<dialogBox title="新建材料信息1111" width="20%" isMain v-model="myValue" @closeDialog="closeDialog" @submitForm="handleSubmit"
:isFullscreen="false">
<el-form :model="ruleForm" ref="ruleForm" label-width="70px">
<el-row>
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-05-17 10:40:38
-->
<template>
<div class="clxx">
<div class="right">
<!-- 材料预览 -->
<div class="clyl-box">
<div class="menu-tree">
<el-button type="primary" native-type="submit" @click="viewDetail" style="width:100%;margin-top:10px;">查看明细111111</el-button>
<div class="item">
材料目录({{tableData.length}})
<div style="margin-top:10px">
<div style="text-align: center;line-height:20px;color:black;font-size:14px" v-if="tableData.length == 0">暂无数据</div>
<div v-for="(item,index) in tableData" :key="item.bsmSj"
:class="['child', treeCheckId == item.bsmSj ? 'checked' : '']" @click="treeClick(item,index)">
<span v-if="item.isrequired==1" class="required">必选</span>
{{ item.sjmc }}
<span class="cl_number">({{item.children ? item.children.length : 0}})</span>
</div>
</div>
</div>
<el-button type="primary" native-type="submit" style="width:100%" @click="handleAdd()" v-if="!this.$route.query.viewtype">新增</el-button>
</div>
<image-preview ref='imageRef' :previewImg="previewImg" @updateList="updateList" @nextPriview="nextPriview"
@prevPriview="prevPriview" />
</div>
</div>
<clxxAddDialog v-model="isDialog" />
</div>
</template>
<script>
import { mapGetters } from "vuex";
import clxxAddDialog from "./clxxAddDialog.vue";
import { InitClml, saveClml, deleteSjClml, moveClml } from "@/api/clxx.js";
export default {
components: { clxxAddDialog},
data () {
return {
isDialog: false,
iclass: "",
// 材料目录选中
treeCheckIndex: 0,
treeCheckId: "",
key: 0,
tableData: [],
previewImg: {
// 收件标识码
bsmSj: '',
bsmSlsq: this.$parent.bsmSlsq,
index: 0,
selectedIndex: 0,
imgList: []
}
}
},
computed: {
...mapGetters(["dictData"])
},
created () {
this.clmlInitList(1)
},
methods: {
// 自动预览
nextPriview () {
if (this.treeCheckIndex < this.tableData.length) {
this.treeCheckIndex++
this.treeCheckId = this.tableData[this.treeCheckIndex].bsmSj
this.previewImg.index = 0
this.previewImg.imgList = this.tableData[this.treeCheckIndex].children
this.previewImg.bsmSj = this.tableData[this.treeCheckIndex].bsmSj
}
},
prevPriview () {
if (this.treeCheckIndex >= 1) {
this.treeCheckIndex--
this.treeCheckId = this.tableData[this.treeCheckIndex].bsmSj
this.previewImg.index = this.previewImg.imgList.length
this.previewImg.imgList = this.tableData[this.treeCheckIndex].children
this.previewImg.bsmSj = this.tableData[this.treeCheckIndex].bsmSj
}
},
// 材料目录明细初始化
clmlInitList (type) {
//type 1:列表初始化 2:新增材料
return new Promise(resolve => {
this.unitData = this.$parent.unitData;
var formdata = new FormData();
formdata.append("bsmSldy", this.unitData[0]?.bsmSldy);
formdata.append("bsmSlsq", this.$parent.bsmSlsq);
InitClml(formdata).then((res) => {
if (res.code == 200) {
resolve(res.code)
if (res.result && res.result.length > 0) {
this.tableData = res.result;
if (type == 1) {
this.treeClick(this.tableData[0], 0);
} else {
//新增材料后刷新列表焦点置于新增的对象上
this.treeClick(this.tableData[this.tableData.length - 1], this.tableData.length - 1);
}
}
} else {
this.$message.error(res.message)
}
})
})
},
setChecked (item) {
this.treeCheckId = item.bsmSj;
this.title = item.sjmc;
this.titleYs = 1;
this.titleNum = item.children.length;
this.previewImg.imgList = item.children;
this.previewImg.bsmSj = item.bsmSj;
},
updateList (val) {
let that = this
if (val != null) { //删除最后一张图片时 val=null
this.tableData.forEach(item => {
if (item.bsmSj === val.bsmSj) {
item.children = val.children
}
})
this.previewImg.imgList = _.cloneDeep(val.children)
if (this.previewImg.index == this.previewImg.imgList.length) {
this.previewImg.index = this.previewImg.index - 1
}
} else {
this.previewImg.imgList = []
this.tableData.forEach((item, index) => {
if (this.treeCheckId == item.bsmSj) {
item.children = []
that.treeCheckIndex = index
}
})
}
},
// 添加材料目录
handleAdd () {
this.isDialog = true;
},
// 新增弹窗保存
addSave (data) {
let obj = {
bsmSlsq: this.$parent.bsmSlsq,
isrequired: "1",
sjmc: data.clmc,
sjsl: 0,
smzt: '',
ys: 0,
sjlx: data.cllx,
sfxjcl: "1", // 是否必选
};
saveClml(obj).then(async (res) => {
if (res.code == 200) {
let res = await this.clmlInitList(2)
if (res == 200) this.$message({
message: "新增成功",
type: "success",
})
}
});
},
// 材料目录点击选中
treeClick (item, index) {
this.previewImg.index = 0
this.treeCheckId = item?.bsmSj
this.treeCheckIndex = index
this.previewImg.imgList = item?.children
this.previewImg.bsmSj = item?.bsmSj
},
// 小图片点击
imgClick (item, index) {
this.showImg = item;
this.titleYs = index + 1;
},
// 字典
dicStatus (val, code) {
let data = this.$store.getters.dictData[code],
name = "暂无";
if (data) {
data.map((item) => {
if (item.dcode == val) {
name = item.dname
}
});
return name
}
},
//查看明细
viewDetail () {
this.$popupDialog("查看明细", "workflow/components/dialog/clxxDetailDialog", {
data: this.tableData
}, "60%")
},
//设置tableData
setTableData (tableData) {
this.$nextTick(res => {
this.tableData = tableData;
})
},
},
};
</script>
<style scoped lang='scss'>
@import "~@/styles/mixin.scss";
.active {
background: $light-blue !important;
color: #fff;
}
.required {
font-size: 12px;
color: $pink;
float: left;
}
.cl_number {
float: right;
}
.clxx {
width: 100%;
display: flex;
padding-left: 5px;
height: calc(100vh - 125px);
.left {
display: flex;
flex-direction: column;
justify-content: space-between;
.item {
width: 28px;
height: 49%;
@include flex-center;
background-color: #e4e7ed;
border-bottom-right-radius: 10px;
padding: 5px;
cursor: pointer;
transition: all 0.3s;
&:hover {
@extend .active;
}
}
}
.right {
width: 100%;
height: 100%;
.clmlmx-box {
margin: 0 auto;
.title {
text-align: center;
height: 60px;
line-height: 60px;
border: 1px solid #dfe6ec;
font-size: 20px;
background: #81d3f81a;
margin-bottom: -1px;
}
}
.clyl-box {
width: 100%;
height: 100%;
display: flex;
.menu-tree {
width: 20%;
min-width: 160px;
height: 100%;
margin-right: 10px;
border-right: 1px dotted #d9d9d9;
padding: 0 15px;
.item {
line-height: 30px;
padding-top: 5px;
border-bottom: 1px solid #e8e8e8;
font-size: 16px;
text-align: center;
color: $light-blue;
.itemIcon {
float: right;
line-height: 60px;
cursor: pointer;
}
.child {
line-height: 32px;
border-bottom: 1px solid #e8e8e8;
padding-left: 10px;
color: #6b6b6b;
cursor: pointer;
box-sizing: border-box;
border-radius: 6px;
line-height: 20px;
transition: all 0.3s;
padding: 8px 0;
}
.child:hover {
color: $light-blue;
transform: scale(1.1);
}
.checked {
border: 1px solid $light-blue;
color: $light-blue;
}
}
}
.clyl-img {
width: 75%;
height: 100%;
background: #f3f4f7;
margin: 0 auto;
position: relative;
}
}
}
}
</style>
<!--
* @Description: 功能:审批意见
* @Autor: renchao
* @LastEditTime: 2023-05-17 10:41:24
-->
<template>
<div class='spyj loadingtext'>
<div class="box">
<b class="spyj_title">审批表11112222</b>
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="120px">
<div class="spyj_form" v-for="(item, index) in tableData" :key="index">
<div class="item_left">
{{ item.jdmc }}意见
</div>
<div class="item_right">
<el-row>
<el-col :span="24">
<el-form-item label-width="0" class="opinion_item" prop="shyj">
<el-input type="textarea" :rows="4" class="opinion" placeholder="请输入审批意见"
v-if="item.stepShjy == '1' && ableOperation" v-model="ruleForm.shyj"></el-input>
<el-input type="textarea" :rows="4" class="opinion" v-model="item.shyj" v-else :disabled="true">
</el-input>
<el-button class="opinion_btn" @click="commonOpinion"
v-if="item.stepShjy == '1' && ableOperation">常用意见</el-button>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="16">
<el-form-item label="审查人" prop="shryxm">
{{ item.shryxm }}
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="审核时间" prop="shjssj" :key="refresh">
{{ item.shjssj }}
</el-form-item>
</el-col>
</el-row>
</div>
</div>
<div class="submit_button" v-if="ableOperation">
<el-button type="primary" @click="onSubmit">保存</el-button>
</div>
</el-form>
</div>
<el-empty v-if="isNoData" description="暂无数据"></el-empty>
</div>
</template>
<script>
import { getSpyjList, saveSpyj, saveSpyjBySlsq } from "@/api/fqsq.js";
import { mapGetters } from 'vuex'
export default {
computed: {
...mapGetters(['userData', 'yjsqOptions'])
},
data () {
return {
isNoData: false,
bsmSlsq: '',
//刷新值
refresh: 10,
ableOperation: true,
bsmSlsq: this.$route.query.bsmSlsq,
bestepid: this.$route.query.bestepid,
ruleForm: {},
rules: {
shyj: [
{ required: true, message: '请输入审批意见', trigger: 'blur' }
],
},
tableData: [],
propsParam: {}
}
},
watch: {
yjsqOptions: {
handler (val) {
this.ruleForm.shyj = val
},
deep: true,
immediate: true
},
},
mounted () {
this.propsParam = this.$attrs;
if (this.$route.query.viewtype) {
this.ableOperation = false
}
this.list();
},
methods: {
//审批意见数据初始化
list () {
let that = this
this.$startLoading()
var formdata = new FormData();
formdata.append("bsmBusiness", this.propsParam.bsmBusiness);
formdata.append("bestepid", this.$route.query.bestepid);
formdata.append("ableOperation", this.ableOperation)
getSpyjList(formdata).then((res) => {
this.$endLoading()
if (res.code === 200 && res.result) {
this.tableData = res.result ? res.result : []
if (res.result.length == 0) {
that.isNoData = true
}
this.ruleForm = res.result[res.result.length - 1]
}
})
},
onSubmit () {
this.ruleForm.bsmSlsq = this.bsmSlsq
this.ruleForm.bestepid = this.bestepid
saveSpyjBySlsq(this.ruleForm).then(res => {
if (res.code === 200) {
this.$message.success("保存成功")
this.refresh += 1
} else {
this.$message.error(res.message)
}
})
},
//打开常用意见列表弹窗
commonOpinion () {
this.$popupDialog("常用意见", "workflow/components/dialog/commonOpinion", {}, "70%", true)
},
//使用常用意见
useOpinion (opinion) {
this.ruleForm.shyj = opinion
}
}
}
</script>
<style scoped lang='scss'>
@import "~@/styles/mixin.scss";
.spyj {
width: 100%;
height: 100%;
background-color: #f5f5f5;
padding: 5px;
.box {
overflow-x: auto;
width: 100%;
height: 95%;
background: #fff;
text-align: center;
padding: 4px;
overflow-y: scroll;
padding-top: 20px;
padding: 20px 40px;
}
.spyj_title {
line-height: 68px;
border: 1px solid $borderColor;
text-align: center;
font-size: 22px;
font-weight: 400;
background-color: #eceef2;
display: block;
border-bottom: none;
}
/deep/.el-form-item {
margin-bottom: 0;
}
.bottom10 {
margin-bottom: 15px;
}
.spyj_form {
display: flex;
border: 1px solid $borderColor;
.item_left {
width: 150px;
background-color: #f8f8fa;
color: #606266;
display: flex;
font-size: 14px;
text-indent: 80px;
align-items: center;
border-right: 1px solid $borderColor;
}
.item_right {
flex: 1;
width: 100%;
/deep/.el-form-item__label {
background-color: #f8f8fa;
}
/deep/.el-form-item__content {
display: block;
text-align: left;
text-indent: 10px;
}
.opinion_item {
/deep/.el-form-item__error {
margin-top: -16px !important;
left: 3px;
}
border-bottom: 1px solid $borderColor;
}
.opinion {
position: relative;
font-size: 14px;
/deep/.el-textarea__inner {
border: none;
}
}
.opinion_btn {
position: absolute;
right: 15px;
bottom: 10px;
}
}
}
.submit_button {
text-align: center;
margin: 15px 0;
}
}
</style>
......@@ -104,26 +104,40 @@ export default {
}
return name;
},
AddDialog(row){
this.$popupDialog("新增", "djbworkflow/djbBook/components/djbeditDialog", {
data: ''
})
},
// 编辑
editDialog(row){
this.$popupDialog("编辑", "djbworkflow/djbBook/components/djbeditDialog", {
datalist:this.columns,
data: row,
this.$confirm('此操作将新增一条补录信息, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$parent.addRepairRecord(row)
this.$message({
type: 'success',
message: '补录成功!'
});
}).catch(() => {
this.$message({
type: 'info',
message: '取消编辑'
});
});
// this.$popupDialog("编辑", "djbworkflow/djbBook/components/djbeditDialog", {
// datalist:this.columns,
// data: row,
// })
})
},
// 删除
deleteDialog(row){
let that = this
this.$confirm('此操作将永久删除, 是否继续?', '提示', {
this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async () => {
}).then(() => {
// let bsmClmx = this.previewImg.imgList[this.previewImg.index].bsmClmx
// deleteClmx(bsmClmx).then(res => {
// if (res.code == 200) {
......@@ -134,16 +148,16 @@ export default {
// })
// }
// })
that.$message({
message: '删除成功!',
type: 'success'
})
this.$message({
type: 'success',
message: '删除成功!'
});
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
})
});
});
}
},
......
......@@ -104,27 +104,40 @@ export default {
}
return name;
},
AddDialog(row){
this.$popupDialog("新增", "djbworkflow/djbBook/components/djbeditDialog", {
data: ''
})
},
// 编辑
editDialog(row){
this.$popupDialog("编辑", "djbworkflow/djbBook/components/djbeditDialog", {
datalist:this.columns,
data: row,
this.$confirm('此操作将新增一条补录信息, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$parent.addRepairRecord(row)
this.$message({
type: 'success',
message: '补录成功!'
});
}).catch(() => {
this.$message({
type: 'info',
message: '取消编辑'
});
});
// this.$popupDialog("编辑", "djbworkflow/djbBook/components/djbeditDialog", {
// datalist:this.columns,
// data: row,
// })
})
},
// 删除
deleteDialog(row){
let that = this
this.$confirm('此操作将永久删除, 是否继续?', '提示', {
this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async () => {
}).then(() => {
// let bsmClmx = this.previewImg.imgList[this.previewImg.index].bsmClmx
// deleteClmx(bsmClmx).then(res => {
// if (res.code == 200) {
......@@ -135,16 +148,16 @@ export default {
// })
// }
// })
that.$message({
message: '删除成功!',
type: 'success'
})
this.$message({
type: 'success',
message: '删除成功!'
});
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
})
});
});
}
},
......
......@@ -109,27 +109,40 @@
}
return name;
},
AddDialog(row){
this.$popupDialog("新增", "djbworkflow/djbBook/components/djbeditDialog", {
data: ''
})
},
// 编辑
editDialog(row){
this.$popupDialog("编辑", "djbworkflow/djbBook/components/djbeditDialog", {
datalist:this.columns,
data: row,
this.$confirm('此操作将新增一条补录信息, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$parent.addRepairRecord(row)
this.$message({
type: 'success',
message: '补录成功!'
});
}).catch(() => {
this.$message({
type: 'info',
message: '取消编辑'
});
});
// this.$popupDialog("编辑", "djbworkflow/djbBook/components/djbeditDialog", {
// datalist:this.columns,
// data: row,
// })
})
},
// 删除
deleteDialog(row){
let that = this
this.$confirm('此操作将永久删除, 是否继续?', '提示', {
this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async () => {
}).then(() => {
// let bsmClmx = this.previewImg.imgList[this.previewImg.index].bsmClmx
// deleteClmx(bsmClmx).then(res => {
// if (res.code == 200) {
......@@ -140,16 +153,16 @@
// })
// }
// })
that.$message({
message: '删除成功!',
type: 'success'
})
this.$message({
type: 'success',
message: '删除成功!'
});
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
})
});
});
}
},
......
......@@ -105,6 +105,8 @@ export default {
}
return name;
},
// 编辑
editDialog(row){
this.$confirm('此操作将新增一条补录信息, 是否继续?', '提示', {
confirmButtonText: '确定',
......@@ -132,7 +134,6 @@ export default {
},
// 删除
// 删除
deleteDialog(row){
this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
confirmButtonText: '确定',
......
......@@ -113,29 +113,40 @@
}
return name;
},
AddDialog(row){
this.$popupDialog("新增", "djbworkflow/djbBook/components/djbeditDialog", {
datalist:this.columns,
data: ''
})
},
// 编辑
editDialog(row){
this.$popupDialog("编辑", "djbworkflow/djbBook/components/djbeditDialog", {
datalist:this.columns,
data: row,
this.$confirm('此操作将新增一条补录信息, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$parent.addRepairRecord(row)
this.$message({
type: 'success',
message: '补录成功!'
});
}).catch(() => {
this.$message({
type: 'info',
message: '取消编辑'
});
});
// this.$popupDialog("编辑", "djbworkflow/djbBook/components/djbeditDialog", {
// datalist:this.columns,
// data: row,
// })
})
},
// 删除
deleteDialog(row){
let that = this
this.$confirm('此操作将永久删除, 是否继续?', '提示', {
this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async () => {
}).then(() => {
// let bsmClmx = this.previewImg.imgList[this.previewImg.index].bsmClmx
// deleteClmx(bsmClmx).then(res => {
// if (res.code == 200) {
......@@ -146,16 +157,16 @@
// })
// }
// })
that.$message({
message: '删除成功!',
type: 'success'
})
this.$message({
type: 'success',
message: '删除成功!'
});
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
})
});
});
}
},
......
......@@ -138,27 +138,40 @@
}
return name;
},
AddDialog(row){
this.$popupDialog("新增", "djbworkflow/djbBook/components/djbeditDialog", {
data: ''
})
},
// 编辑
editDialog(row){
this.$popupDialog("编辑", "djbworkflow/djbBook/components/djbeditDialog", {
datalist:this.columns,
data: row,
this.$confirm('此操作将新增一条补录信息, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$parent.addRepairRecord(row)
this.$message({
type: 'success',
message: '补录成功!'
});
}).catch(() => {
this.$message({
type: 'info',
message: '取消编辑'
});
});
// this.$popupDialog("编辑", "djbworkflow/djbBook/components/djbeditDialog", {
// datalist:this.columns,
// data: row,
// })
})
},
// 删除
deleteDialog(row){
let that = this
this.$confirm('此操作将永久删除, 是否继续?', '提示', {
this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async () => {
}).then(() => {
// let bsmClmx = this.previewImg.imgList[this.previewImg.index].bsmClmx
// deleteClmx(bsmClmx).then(res => {
// if (res.code == 200) {
......@@ -169,16 +182,16 @@
// })
// }
// })
that.$message({
message: '删除成功!',
type: 'success'
})
this.$message({
type: 'success',
message: '删除成功!'
});
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
})
});
});
}
},
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-05-25 08:59:02
-->
<template>
<div class="from-clues-header">
<div>收件信息</div>
<el-form :model="form" label-width="120px">
<div class="slxx_con">
<!-- 受理信息 -->
<div class="slxx">
<el-form
:model="ruleForm"
:rules="rules"
class="loadingtext"
ref="ruleForm"
:label-position="flag ? 'top' : ''"
:inline="flag"
label-width="120px"
>
<div class="slxx_con" v-if="isShow" :class="flag ? 'formMarginBot0' : ''">
<div class="slxx_title title-block">
受理信息
补录信息
<div class="triangle"></div>
</div>
<el-row :gutter="10" v-if="form.slsq">
<el-row :gutter="10">
<el-col :span="8">
<el-form-item label="补录编号:">
<el-input disabled v-model="form.Repair.ywh"></el-input>
<el-form-item label="业务号:">
<el-input disabled v-model="ruleForm.qlxx.ywh"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="补录人员:">
<el-input disabled v-model="form.Repair.slry"></el-input>
<el-input v-model="ruleForm.qlxx.dbr"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="补录时间:">
<el-input disabled v-model="form.Repair.slsj"></el-input>
<el-input v-model="ruleForm.qlxx.qlrmc"></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="form.Repair.qllxmc"></el-input>
<el-input v-model="ruleForm.qlxx.qlxx"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="登记类型:">
<el-input disabled v-model="form.Repair.djlxmc"></el-input>
<el-input v-model="ruleForm.qlxx.djlxmc"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="登记情形:">
<el-input v-model="ruleForm.qlxx.djlxmc"></el-input>
</el-form-item>
</el-col>
</el-row>
<div class="slxx_title title-block">
不动产单元情况
<div class="triangle"></div>
</div>
</el-form>
<div class="btn">
<el-button type="primary" @click="slxxsubmitForm">保存</el-button>
<el-button @click="closeDialog">取消</el-button>
<el-row :gutter="10">
<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="8">
<el-form-item label="权利性质:">
<el-input v-model="ruleForm.qlxx.qlxzmc"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="8">
<el-form-item label="宗地面积:">
<el-input v-model="ruleForm.qlxx.mjmc"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="土地用途:">
<el-input v-model="ruleForm.fdcq2.ghyt"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="坐落:">
<el-input v-model="ruleForm.qlxx.zl"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="房屋结构:">
<el-input v-model="ruleForm.fdcq2.fwjgmc"></el-input>
</el-form-item>
</el-col>
</el-row>
<div class="slxx_title title-block">
权利人信息
<div class="triangle"></div>
</div>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="共有方式:">
<el-radio-group
:disabled="$route.query.viewtype == 0"
v-model="ruleForm.qlxx.gyqk"
>
<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="6" v-show="ruleForm.qlxx.gyfs == '1'">
<el-form-item label="是否分别持证:">
<el-radio-group v-model="ruleForm.qlxx.sqfbcz">
<el-radio :label=1></el-radio>
<el-radio :label=0></el-radio>
</el-radio-group>
</el-form-item>
</el-col> -->
<!-- <el-col :span="6" v-show="ruleForm.qlxx.sqfbcz == '0'&&ruleForm.qlxx.gyfs == '1'">
<el-form-item label="持证人:">
<el-select v-model="ruleForm.czr" placeholder="持证人">
<el-option v-for="item in czrOptions" :key="item.zjh" :label="item.sqrmc" :value="item.zjh">
</el-option>
</el-select>
</el-form-item>
</el-col> -->
</el-row>
<qlrCommonTable
:tableData="ruleForm.qlrList"
@upDateQlrxxList="upDateQlrxxList"
:key="key"
:viewtype="$route.query.viewtype"
:gyfs="ruleForm.qlxx.gyfs"
/>
<div v-if="ruleForm.ywrList && ruleForm.ywrList.length > 0">
<div class="slxx_title title-block">
义务人信息
<div class="triangle"></div>
</div>
<qlrCommonTable
v-if="ruleForm.ywrList"
:tableData="ruleForm.ywrList"
:key="key"
@upDateQlrxxList="upDateYwrxxList"
:viewtype="$route.query.viewtype"
/>
</div>
<div class="slxx_title title-block">
登记原因
<div class="triangle"></div>
</div>
<el-row :gutter="10">
<el-col>
<el-form-item label="登记原因:" prop="djyy">
<el-input
class="textArea"
type="textarea"
:disabled="$route.query.viewtype"
v-model="ruleForm.fdcq2.djyy"
>
</el-input>
</el-form-item>
</el-col>
</el-row>
</div>
<el-row class="btn" v-if="!$route.query.viewtype && ableOperation">
<el-form-item>
<el-button type="primary" @click="onSubmit">保存</el-button>
</el-form-item>
</el-row>
</el-form>
</div>
</template>
<script>
import { mapGetters } from "vuex";
import { init } from "@/api/djbbl.js"
import { Init, saveData } from "@/api/workflow/jsydsyqFlow.js";
import { init } from "@/api/djbbl.js";
import qlrCommonTable from "@/views/workflow/components/qlrCommonTable";
export default {
props: {
currentSelectProps: {
type: Object,
default: () => {},
},
components: { qlrCommonTable },
computed: {
...mapGetters(["dictData", "flag"]),
},
data() {
return {
//传递参数
//表单是否可操作
propsParam: this.$attrs,
activeName: "slxx",
form: {},
datalist: [],
qsztList: [
{
value: "1",
label: "现势",
},
{
value: "2",
label: "历史",
},
],
label: "",
isshow: true,
ableOperation: true,
key: 0,
isShow: false,
disabled: true,
czrOptions: [],
ruleForm: {},
//传递参数\
rules: {},
};
},
computed: {
...mapGetters(["dictData"]),
},
created() {
console.log("受理信息",this.ruleForm);
this.loadData();
// this.clmlInitList(1)
},
mounted() {
// if (this.formData.data) {
// this.$nextTick(() => {
// this.form = Object.assign({}, this.formData.data);
// // this.datalist = Object.assign([], this.formData.datalist)
// this.form.qszt =
// this.form.qszt == "0"
// ? "临时"
// : this.form.qszt == "1"
// ? "现势"
// : "历史";
// });
// }
// this.datalist = this.formData.datalist
// this.datalist = JSON.parse(JSON.stringify(this.formData.datalist));
// this.datalist.shift();
// this.datalist.shift();
// console.log("this.datalist", this.datalist);
},
mounted() {},
methods: {
loadData() {
init(this.propsParam.bsmRepair).then((res) => {
if (res.code == 200) {
this.form=res.result;
console.log("/rest/djbRepair/init",res);
this.ruleForm = res.result;
this.isShow = true;
// this.tableData = res.result;
// if (this.tableData.length < datas.columns().emptycolNum) {
// this.emptycolNum =
......@@ -118,266 +219,77 @@ export default {
// }
}
});
},
// 受理信息保存
slxxsubmitForm() {
this.$refs.form.validate((valid) => {
if (valid) {
// addUserCommonOpinion({ commonOpinion: this.form.commonOpinion }).then(res => {
// if (res.code == 200) {
// this.$message.success("新增成功")
// this.closeaddDiglog();
// this.getList()
// } else {
// this.$message.error(res.message)
// }
// })
} else {
return false;
}
});
this.isshow = false;
// 更新权利人信息
upDateQlrxxList(val) {
this.ruleForm.qlrList && (this.ruleForm.qlrList = _.cloneDeep(val));
this.czrOptions = this.ruleForm.qlrList;
this.key++;
},
closeDialog() {},
// 更新义务人信息
upDateYwrxxList(val) {
this.ruleForm.ywrList && (this.ruleForm.ywrList = _.cloneDeep(val));
this.key++;
},
};
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
@import "~@/styles/public.scss";
.from-clues-header {
@include flex;
flex-direction: column;
overflow-y: hidden;
height: 620px;
padding: 0 2px;
.btn {
margin-top: 40px;
margin-bottom: 20px;
text-align: center;
}
}
// 审批意见样式
.spyj {
.box {
overflow-x: auto;
width: 100%;
height: 95%;
background: #fff;
text-align: center;
padding: 4px;
overflow-y: scroll;
padding-top: 20px;
padding: 20px 40px;
/deep/.el-input__inner {
width: 200px;
border: none;
}
}
.spyj_title {
line-height: 68px;
border: 1px solid $borderColor;
text-align: center;
font-size: 22px;
font-weight: 400;
background-color: #eceef2;
display: block;
border-bottom: none;
}
/deep/.el-form-item {
margin-bottom: 0;
}
.bottom10 {
margin-bottom: 15px;
}
.spyj_form {
display: flex;
border: 1px solid $borderColor;
.item_left {
width: 150px;
background-color: #f8f8fa;
color: #606266;
display: flex;
font-size: 14px;
text-indent: 80px;
align-items: center;
border-right: 1px solid $borderColor;
}
.item_right {
flex: 1;
width: 100%;
/deep/.el-form-item__label {
background-color: #f8f8fa;
}
/deep/.el-form-item__content {
display: block;
text-align: left;
text-indent: 10px;
}
.opinion_item {
/deep/.el-form-item__error {
margin-top: -16px !important;
left: 3px;
}
border-bottom: 1px solid $borderColor;
}
.opinion {
position: relative;
font-size: 14px;
/deep/.el-textarea__inner {
border: none;
}
}
.opinion_btn {
position: absolute;
right: 15px;
bottom: 10px;
}
}
}
.submit_button {
text-align: center;
margin: 15px 0;
}
}
// 材料信息样式
.active {
background: $light-blue !important;
color: #fff;
}
.required {
font-size: 12px;
color: $pink;
float: left;
}
.cl_number {
float: right;
}
.clxx {
width: 100%;
display: flex;
padding-left: 5px;
height: calc(100vh - 125px);
.left {
display: flex;
flex-direction: column;
justify-content: space-between;
.item {
width: 28px;
height: 49%;
@include flex-center;
background-color: #e4e7ed;
border-bottom-right-radius: 10px;
padding: 5px;
cursor: pointer;
transition: all 0.3s;
&:hover {
@extend .active;
}
}
}
.right {
width: 100%;
height: 100%;
.clmlmx-box {
margin: 0 auto;
.title {
text-align: center;
height: 60px;
line-height: 60px;
border: 1px solid #dfe6ec;
font-size: 20px;
background: #81d3f81a;
margin-bottom: -1px;
}
}
.clyl-box {
width: 100%;
height: 100%;
display: flex;
.menu-tree {
width: 20%;
min-width: 160px;
height: 100%;
margin-right: 10px;
border-right: 1px dotted #d9d9d9;
padding: 0 15px;
.item {
line-height: 30px;
padding-top: 5px;
border-bottom: 1px solid #e8e8e8;
font-size: 16px;
text-align: center;
color: $light-blue;
.itemIcon {
float: right;
line-height: 60px;
cursor: pointer;
}
.child {
line-height: 32px;
border-bottom: 1px solid #e8e8e8;
padding-left: 10px;
color: #6b6b6b;
cursor: pointer;
box-sizing: border-box;
border-radius: 6px;
line-height: 20px;
transition: all 0.3s;
padding: 8px 0;
}
.child:hover {
color: $light-blue;
transform: scale(1.1);
onSubmit() {
if (this.ruleForm.qlrList.length == 0) {
this.$message({
showClose: true,
message: "请确认权利人信息",
type: "error",
});
return false;
}
.checked {
border: 1px solid $light-blue;
color: $light-blue;
if (this.ruleForm.qlxx.gyfs == "0") {
if (this.ruleForm.qlrList.length > 1) {
this.$message({
showClose: true,
message: "共有方式:单独所有,权利人只能是一个人",
type: "error",
});
return false;
}
this.ruleForm.qlrList[0].sfczr = "1";
}
if (this.ruleForm.qlxx.gyfs == "1") {
//是否分别持证
if (this.ruleForm.qlxx.sqfbcz == "1") {
//是
this.ruleForm.qlrList.forEach((item, index) => {
item.sfczr = "1";
});
} else {
this.ruleForm.qlrList.forEach((item, index) => {
if (item.zjh == this.ruleForm.czr) {
item.sfczr = "1";
} else {
item.sfczr = "0";
}
.clyl-img {
width: 75%;
height: 100%;
background: #f3f4f7;
margin: 0 auto;
position: relative;
});
}
}
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";
@import "~@/styles/slxx/slxx.scss";
</style>
......
......@@ -6,11 +6,11 @@
<template>
<div class='spyj loadingtext'>
<div class="box">
<b class="spyj_title">审批表11111111111111111111</b>
<b class="spyj_title">审批表</b>
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="120px">
<div class="spyj_form" v-for="(item, index) in tableData" :key="index">
<div class="item_left">
{{ item.jdmc }}意见
{{ item.jdmc }}初审意见
</div>
<div class="item_right">
<el-row>
......@@ -123,7 +123,7 @@
},
//打开常用意见列表弹窗
commonOpinion () {
this.$popupDialog("常用意见", "workflow/components/dialog/commonOpinion", {}, "70%", true)
this.$popupDialog("常用意见", "djbworkflow/components/dialog/commonOpinion", {}, "70%", true)
},
//使用常用意见
useOpinion (opinion) {
......
<!--
* @Description :预告登记
* @Autor : miaofang
* @LastEditTime : 2023-06-13 13:57:01
* @LastEditTime : 2023-06-15 13:50:25
-->
<template>
<div class="djxxTable">
......@@ -104,27 +104,40 @@ export default {
}
return name;
},
AddDialog(row){
this.$popupDialog("新增", "djbworkflow/djbBook/components/djbeditDialog", {
data: ''
})
},
// 编辑
editDialog(row){
this.$popupDialog("编辑", "djbworkflow/djbBook/components/djbeditDialog", {
datalist:this.columns,
data: row,
this.$confirm('此操作将新增一条补录信息, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$parent.addRepairRecord(row)
this.$message({
type: 'success',
message: '补录成功!'
});
}).catch(() => {
this.$message({
type: 'info',
message: '取消编辑'
});
});
// this.$popupDialog("编辑", "djbworkflow/djbBook/components/djbeditDialog", {
// datalist:this.columns,
// data: row,
// })
})
},
// 删除
deleteDialog(row){
let that = this
this.$confirm('此操作将永久删除, 是否继续?', '提示', {
this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async () => {
}).then(() => {
// let bsmClmx = this.previewImg.imgList[this.previewImg.index].bsmClmx
// deleteClmx(bsmClmx).then(res => {
// if (res.code == 200) {
......@@ -135,16 +148,16 @@ export default {
// })
// }
// })
that.$message({
message: '删除成功!',
type: 'success'
})
this.$message({
type: 'success',
message: '删除成功!'
});
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
})
});
});
}
},
......
<!--
* @Description :异议登记
* @Autor : miaofang
* @LastEditTime : 2023-06-13 13:57:04
* @LastEditTime : 2023-06-15 13:50:58
-->
<template>
<div class="djxxTable">
......@@ -105,27 +105,40 @@ export default {
}
return name;
},
AddDialog(row){
this.$popupDialog("新增", "djbworkflow/djbBook/components/djbeditDialog", {
data: ''
})
},
// 编辑
editDialog(row){
this.$popupDialog("编辑", "djbworkflow/djbBook/components/djbeditDialog", {
datalist:this.columns,
data: row,
this.$confirm('此操作将新增一条补录信息, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$parent.addRepairRecord(row)
this.$message({
type: 'success',
message: '补录成功!'
});
}).catch(() => {
this.$message({
type: 'info',
message: '取消编辑'
});
});
// this.$popupDialog("编辑", "djbworkflow/djbBook/components/djbeditDialog", {
// datalist:this.columns,
// data: row,
// })
})
},
// 删除
deleteDialog(row){
let that = this
this.$confirm('此操作将永久删除, 是否继续?', '提示', {
this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async () => {
}).then(() => {
// let bsmClmx = this.previewImg.imgList[this.previewImg.index].bsmClmx
// deleteClmx(bsmClmx).then(res => {
// if (res.code == 200) {
......@@ -136,16 +149,16 @@ export default {
// })
// }
// })
that.$message({
message: '删除成功!',
type: 'success'
})
this.$message({
type: 'success',
message: '删除成功!'
});
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
})
});
});
}
},
......
<!--
* @Description :宗地基本信息
* @Autor : miaofang
* @LastEditTime : 2023-05-31 13:59:27
* @LastEditTime : 2023-06-15 13:57:20
-->
<template>
<div class="tableDivCss">
......
......@@ -7,99 +7,110 @@
export function getForm (tabName, djywbm) {
let form;
switch (tabName) {
case "jsydsyqslxx100":
form = require("@/views/ywbl/slsqxx/jsydsyq/slxx.vue");
break;
case "jsydsyqslxx300":
form = require("@/views/ywbl/slsqxx/jsydsyq/slxx300.vue");
break;
case "fwsyqslxx100":
form = require("@/views/ywbl/slsqxx/fdcq2/slxx.vue");
break;
case "fwsyqslxx300":
form = require("@/views/ywbl/slsqxx/fdcq2/slxx300.vue");
break;
case "nydsyqslxx100":
form = require("@/views/ywbl/slsqxx/nydsyq/slxx.vue");
break;
case "nydsyqslxx200":
form = require("@/views/ywbl/slsqxx/nydsyq/slxx200.vue");
break;
case "tdslxxCfdj":
form = require("@/views/ywbl/slsqxx/cfdj/tdslxx.vue");
break;
case "plslxxCfdj":
form = require("@/views/ywbl/slsqxx/cfdj/plcfslxx.vue");
break;
case "diyaqSlxx":
form = require("@/views/ywbl/slsqxx/diyaq/slxx.vue");
break;
case "clxx":
form = require("@/views/djbworkflow/components/clxxUnify.vue");
break;
case "spyj":
form = require("@/views/djbworkflow/components/spyj.vue");
break;
// case "jsydsyqslxx100":
// form = require("@/views/ywbl/slsqxx/jsydsyq/slxx.vue");
// break;
// case "jsydsyqslxx300":
// form = require("@/views/ywbl/slsqxx/jsydsyq/slxx300.vue");
// break;
// case "fwsyqslxx100":
// form = require("@/views/ywbl/slsqxx/fdcq2/slxx.vue");
// break;
// case "fwsyqslxx300":
// form = require("@/views/ywbl/slsqxx/fdcq2/slxx300.vue");
// break;
// case "nydsyqslxx100":
// form = require("@/views/ywbl/slsqxx/nydsyq/slxx.vue");
// break;
// case "nydsyqslxx200":
// form = require("@/views/ywbl/slsqxx/nydsyq/slxx200.vue");
// break;
// case "tdslxxCfdj":
// form = require("@/views/ywbl/slsqxx/cfdj/tdslxx.vue");
// break;
// case "plslxxCfdj":
// form = require("@/views/ywbl/slsqxx/cfdj/plcfslxx.vue");
// break;
// case "diyaqSlxx":
// form = require("@/views/ywbl/slsqxx/diyaq/slxx.vue");
// break;
// case "ygmm100":
// form = require("@/views/ywbl/slsqxx/ygdj/slxx.vue");
// break;
// case "ygmm300":
// form = require("@/views/ywbl/slsqxx/ygdj/slxx300.vue");
// break;
// case "ygdy100":
// case "ygdy300":
// form = require("@/views/ywbl/slsqxx/ygdy/slxx.vue");
// break;
// case "zjgcdyqSlxx":
// form = require("@/views/ywbl/slsqxx/zjgcdy/slxx.vue");
// break;
// case "szxx":
// form = require("@/views/djbworkflow/components/szxx.vue");
// break;
// case "fzxx":
// form = require("@/views/djbworkflow/components/fzxx.vue");
// break;
// case "zdt":
// form = require("@/views/djbworkflow/components/zdt.vue");
// break;
// 宗地基本信息
case "zdjbxx":
form = require("@/views/djbworkflow/djbBook/zdjbxx.vue");
break;
case "ygmm100":
form = require("@/views/ywbl/slsqxx/ygdj/slxx.vue");
break;
case "ygmm300":
form = require("@/views/ywbl/slsqxx/ygdj/slxx300.vue");
break;
case "ygdy100":
case "ygdy300":
form = require("@/views/ywbl/slsqxx/ygdy/slxx.vue");
break;
case "zjgcdyqSlxx":
form = require("@/views/ywbl/slsqxx/zjgcdy/slxx.vue");
break;
// 查封登记
case "cfdj":
form = require("@/views/djbworkflow/djbBook/cfdj.vue");
break;
// 国有建设用地使用权
case "jsydsyq":
form = require("@/views/djbworkflow/djbBook/jsydsyq.vue");
break;
// 农用地使用权
case "nydsyq":
form = require("@/views/djbworkflow/djbBook/nydsyq.vue");
break;
// 房屋产权2
case "fdcq2":
form = require("@/views/djbworkflow/djbBook/fdcq2.vue");
break;
// 抵押权
case "diyaq":
form = require("@/views/djbworkflow/djbBook/diyaq.vue");
break;
// 预告登记
case "ygdj":
form = require("@/views/djbworkflow/djbBook/ygdj.vue");
break;
// 地役权
case "diyiq":
form = require("@/views/djbworkflow/djbBook/diyiq.vue");
break;
// 登记簿封面
case "djbfm":
form = require("@/views/djbworkflow/djbBook/djbfm.vue");
break;
// 异议登记
case "yydj":
form = require("@/views/djbworkflow/djbBook/yydj.vue");
break;
case "szxx":
form = require("@/views/djbworkflow/components/szxx.vue");
break;
case "fzxx":
form = require("@/views/djbworkflow/components/fzxx.vue");
break;
case "zdt":
form = require("@/views/djbworkflow/components/zdt.vue");
break;
// 受理信息
case "slxx":
form = require("@/views/djbworkflow/djbBook/slxx.vue");
break;
// case "spyj":
// form = require("@/views/djbworkflow/djbBook/spyj.vue");
// break;
case "clxx":
form = require("@/views/djbworkflow/djbBook/clxx.vue");
break;
case "spyj":
form = require("@/views/djbworkflow/djbBook/spyj.vue");
break;
// case "clxx":
// form = require("@/views/djbworkflow/djbBook/clxx.vue");
// form = require("@/views/djbworkflow/components/clxxUnify.vue");
// break;
// case "spyj":
// form = require("@/views/djbworkflow/components/spyj.vue");
// break;
default:
form = require("@/views/error-page/404.vue");
......
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-05-17 10:38:57
*/
import filter from '@/utils/filter.js'
let vm = null
const sendThis = (_this) => {
vm = _this
}
class data extends filter {
constructor() {
super()
}
columns () {
return {
//发证列表
fzgrid: [
{
label: '序号',
type: 'index',
width: '50'
},
{
prop: "bdcqzlx",
label: "不动产权证类型",
render: (h, scope) => {
return (
<div>
<span v-show={scope.row.bdcqzlx == '1'}>不动产权证书</span>
<span v-show={scope.row.bdcqzlx == '2'}>不动产登记证明</span>
</div>
)
}
},
{
prop: "qllx",
label: "权利类型"
},
{
prop: "ysxlh",
label: "印刷序列号",
width: '100',
},
{
prop: "bdcqzh",
label: "不动产权证号",
width: '200',
},
{
prop: "qlr",
label: "权利人"
},
{
prop: "ywr",
label: "义务人"
},
{
prop: "mj",
label: "面积(㎡)"
},
{
prop: "zl",
label: "坐落"
},
{
prop: "fzsj",
label: "发证时间",
width: '140',
},
{
prop: "lzrxm",
label: "领证人姓名"
},
],
//领证证列表
lzgrid: [
{
type: 'selection'
},
{
label: '序号',
type: 'index',
width: '50'
},
{
prop: "bdcqzlx",
label: "不动产权证类型",
width: '120',
render: (h, scope) => {
return (
<div>
<span v-show={scope.row.bdcqzlx == '1'}>不动产权证书</span>
<span v-show={scope.row.bdcqzlx == '2'}>不动产登记证明</span>
</div>
)
}
},
{
prop: "qllx",
label: "权利类型"
},
{
prop: "ysxlh",
label: "印刷序列号",
width: '100',
},
{
prop: "bdcqzh",
label: "不动产权证号"
},
{
prop: "qlr",
label: "权利人"
},
{
prop: "ywr",
label: "义务人"
},
{
prop: "mj",
label: "面积(㎡)",
width: '100',
},
{
prop: "zl",
label: "坐落"
}
]
}
}
}
let datas = new data()
export {
datas,
sendThis
}
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-05-17 10:39:03
*/
import filter from '@/utils/filter.js'
let vm = null
const sendThis = (_this) => {
vm = _this
}
class data extends filter {
constructor() {
super()
}
columns () {
return [
{
label: '序号',
type: 'index',
render: (h, scope) => {
return (
<div>
{scope.$index + 1}
</div>
)
}
},
{
prop: "szzh",
label: "缮证证号",
},
{
prop: "ysxlh",
label: "印刷序列号",
},
{
prop: "szry",
label: "缮证人员",
},
{
prop: "szsj",
label: "缮证时间",
},
{
label: "是否作废",
render: (h, scope) => {
if (scope.row.sfzf == '0') {
return <div></div>
} else {
return <div>已作废</div>
}
}
},
{
prop: "bz",
label: "备注信息",
},
]
}
}
let datas = new data()
export {
datas,
sendThis
}
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-05-17 10:39:07
*/
import filter from '@/utils/filter.js'
class data extends filter {
constructor() {
super()
}
columns () {
return [
{
prop: "qlr",
label: "权利人",
},
{
prop: "gyqk",
label: "共有情况",
},
{
prop: "zl",
label: "坐落",
},
{
prop: "bdcdyh",
label: "不动产单元号",
},
{
prop: "qllx",
label: "权利类型",
},
{
prop: "qlxz",
label: "权利性质",
},
{
prop: "yt",
label: "用途",
},
{
prop: "mj",
label: "面积",
},
{
prop: "syqx",
label: "使用期限",
},
{
prop: "qlqtzk",
label: "权利其他状况",
},
]
}
}
let datas = new data()
export {
datas
}
\ No newline at end of file
/*
* @Description:workFramezu.vue组件的方法
* @Autor: renchao
* @LastEditTime: 2023-05-18 15:01:31
* @Description:workFramezu.vue组件的方法 头部按钮弹框方法
* @Autor: miaofang
* @LastEditTime: 2023-06-14 15:01:31
*/
import { getWorkFlowImage } from "@/api/workflow/jsydsyqFlow.js";
import { getPrintTemplateByCode } from "@/api/system";
......
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-05-24 14:42:24
*/
import { getForm } from "../flowform";
import { getHomeNoticeList } from "@/api/home.js"
import { log } from "bpmn-js-token-simulation";
export default {
data () {
return {
noticeList: []
}
},
created () {
this.getHomeNotice()
},
mounted () {
let _this = this
window.addEventListener('message', function (messageEvent) {
_this.getHomeNotice()
}, false)
},
methods: {
getHomeNotice () {
getHomeNoticeList().then(res => {
if (res.result) {
this.noticeList = res.result.noticeList
}
})
},
}
}
......@@ -122,6 +122,7 @@ export default {
},
methods: {
// 获取右侧选项卡
getCurrentSelectProps (val) {
this.currentSelectProps = val
if(this.currentSelectProps.bsmRepair){
......@@ -158,27 +159,8 @@ export default {
},
// 增加补录记录
addRepairRecord(row){
let from={
bsmQlxx:"",
bsmSlsq:this.bsmSlsq,
bsmSldy:this.currentSelectProps.bsmSldy,
operate:"C",
qllx:this.currentSelectProps.qllx
}
if(row){
from.bsmQlxx=row.bsmQlxx
from.operate="U"
}
addRepairRecord(from).then((res) => {
this.$nextTick(() => {
this.$refs.Menu.getleftMenubl(res.result);
});
});
},
tabset(){
this.tabName = '';
this.tabList = [
{
name: "受理信息",
......@@ -196,7 +178,11 @@ export default {
sort: 2,
},
];
this.$nextTick(function () {
this.tabName = 'slxx';
});
},
// stepForm(index){
......@@ -209,8 +195,35 @@ export default {
},
//切换选项卡内容组件
getFromRouter (tabname) {
for (let item of this.tabList) {
if (item.value === tabname) {
this.currentSelectTab = item
break;
}
}
this.componentTag = getForm(tabname, this.$route.query.sqywbm);
},
// 增加补录记录
addRepairRecord(row){
let from={
bsmQlxx:"",
bsmSlsq:this.bsmSlsq,
bsmSldy:this.currentSelectProps.bsmSldy,
operate:"C",
qllx:this.currentSelectProps.qllx
}
if(row){
from.bsmQlxx=row.bsmQlxx
from.operate="U"
}
addRepairRecord(from).then((res) => {
this.$nextTick(() => {
this.$refs.Menu.getleftMenubl(res.result);
});
});
},
},
};
</script>
......
......@@ -125,6 +125,8 @@ export default {
},
mounted () {
if (this.formData.bsmBatch) {
this.tableForm[0].jsysxlh = null;
this.tableForm[1].jsysxlh = null;
this.getDetailInfo(this.formData.bsmBatch);
} else {
this.ywhSerial();
......
......@@ -132,6 +132,8 @@ export default {
},
mounted () {
if (this.formData.bsmBatch) {
this.tableForm[0].bs = null;
this.tableForm[1].bs = null;
this.getDetailInfo(this.formData.bsmBatch);
} else {
this.ywhSerial();
......