08dcd487 by yangwei

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

2 parents daac245c c33c6254
Showing 54 changed files with 3081 additions and 1215 deletions
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-05-16 14:05:25
* @LastEditTime: 2023-09-15 09:32:40
*/
import request from '@/utils/request'
import { log } from 'bpmn-js-token-simulation'
......@@ -25,7 +25,7 @@ export function addRepairRecord (data) {
*/
export function deleteFlow (params) {
return request({
url: SERVER.SERVERAPI + '/rest/djbRepair/deleteFlow?bsmSlsq='+params,
url: SERVER.SERVERAPI + '/rest/djbRepair/deleteFlow?bsmSlsq=' + params,
method: 'get',
})
}
......@@ -37,7 +37,7 @@ export function deleteFlow (params) {
*/
export function deleteRepairRecord (params) {
return request({
url: SERVER.SERVERAPI + '/rest/djbRepair/deleteRepairRecord?bsmRepair='+params,
url: SERVER.SERVERAPI + '/rest/djbRepair/deleteRepairRecord?bsmRepair=' + params,
method: 'get',
})
}
......@@ -49,7 +49,7 @@ export function deleteRepairRecord (params) {
*/
export function init (params) {
return request({
url: SERVER.SERVERAPI + '/rest/djbRepair/init?bsmRepair='+params.bsmRepair+'&isEdit='+params.isEdit,
url: SERVER.SERVERAPI + '/rest/djbRepair/init?bsmRepair=' + params.bsmRepair + '&isEdit=' + params.isEdit,
method: 'get',
})
}
......@@ -61,7 +61,7 @@ export function init (params) {
*/
export function leftMenubl (params) {
return request({
url: SERVER.SERVERAPI + '/rest/djbRepair/leftMenu?bsmSlsq='+params,
url: SERVER.SERVERAPI + '/rest/djbRepair/leftMenu?bsmSlsq=' + params,
method: 'get',
params
})
......@@ -110,7 +110,7 @@ export function getZtQlxx (params) {
* @param {*} data
* @author: renchao
*/
export function startBusinessFlow (data) {
export function startBusinessFlow (data) {
return request({
url: SERVER.SERVERAPI + '/rest/djbRepair/startBusinessFlow',
method: 'post',
......@@ -122,7 +122,7 @@ export function getZtQlxx (params) {
* @param {*} data
* @author: renchao
*/
export function addidea (data) {
export function addidea (data) {
return request({
url: SERVER.SERVERAPI + '/rest/djbRepair/sh',
method: 'post',
......@@ -134,9 +134,9 @@ export function getZtQlxx (params) {
* @param {*} data
* @author: renchao
*/
export function getShList (data) {
export function getShList (data) {
return request({
url: SERVER.SERVERAPI + '/rest/djbRepair/getShList?bsmRepair='+data.bsmRepair,
url: SERVER.SERVERAPI + '/rest/djbRepair/getShList?bsmRepair=' + data.bsmRepair,
method: 'post',
data
})
......@@ -147,10 +147,24 @@ export function getZtQlxx (params) {
* @param {*} data
* @author: renchao
*/
export function getQlxxByQlxxBsm (params) {
export function getQlxxByQlxxBsm (params) {
return request({
url: SERVER.SERVERAPI + '/rest/djbRepair/getQlxxByQlxxBsm',
method: 'get',
params
})
}
/**
* @description: 初始化材料信息
* @param {*} data
* @author: renchao
*/
export function repairInitClml (data) {
return request({
url: SERVER.SERVERAPI + '/rest/djbRepair/repairInitClml',
method: 'post',
data
})
}
\ No newline at end of file
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-09-11 10:01:32
* @LastEditTime: 2023-09-14 16:21:51
-->
<template>
<el-image-viewer :on-close="closeViewer" :url-list="urlList">
<el-image-viewer :on-close="closeViewer" :url-list="urlList" :initial-index="initialIndex">
</el-image-viewer>
</template>
<script>
......@@ -19,6 +19,10 @@
default: function () {
return []
}
},
initialIndex: {
type: Number,
default: 0
}
},
data () {
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-09-11 10:18:11
* @LastEditTime: 2023-09-14 17:11:15
-->
<template>
<transition name="msgbox-fade">
......@@ -160,7 +160,7 @@
.mask-content {
padding: 5px 20px 30px 20px;
width: 100%;
min-height: 20%;
min-height: 253px;
max-height: 90vh;
overflow-y: scroll;
}
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-09-13 15:36:42
* @LastEditTime: 2023-09-14 16:16:57
-->
<template>
<div class="rlPopup">
......@@ -148,6 +148,7 @@
} else {
this.previewImg.index = this.previewImg.index + 1
}
this.initialIndex = this.previewImg.index
this.$emit('updateList', { children: res.result, bsmSj: this.previewImg.bsmSj })
this.$message({
message: '移动成功!',
......@@ -234,6 +235,7 @@
*/
showCurrent (index) {
this.previewImg.index = index
this.initialIndex = index
},
/**
* @description: closeViewer
......
这是登记薄材料明细
补录数据和临时数据
\ No newline at end of file
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-09-07 15:04:46
-->
<template>
<dialogBox title="新建材料信息" width="20%" isMain v-model="myValue" @closeDialog="closeDialog" @submitForm="handleSubmit"
:isFullscreen="false">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="80px">
<el-row>
<el-col :span="24">
<el-form-item label="材料类型" prop="cllx">
<el-select v-model="ruleForm.cllx" class="width100" placeholder="请选择">
<el-option v-for="item in cllxList" :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="材料名称" prop="clmc">
<el-input v-model="ruleForm.clmc"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</dialogBox>
</template>
<script>
import store from '@/store/index.js'
export default {
props: {
value: { type: Boolean, default: false },
},
data () {
return {
cllxList: store.getters.dictData['A40'],
myValue: this.value,
ruleForm: {
cllx: "",
clmc: "",
},
rules: {
cllx: [
{ required: true, message: '请选择材料类型', trigger: 'change' }
],
clmc: [
{ required: true, message: '请输入材料名称', trigger: 'blur' }
]
}
}
},
watch: {
value (val) {
this.myValue = val;
},
},
methods: {
/**
* @description: closeDialog
* @author: renchao
*/
closeDialog () {
this.$emit("input", false);
this.ruleForm = {
cllx: "",
clmc: "",
}
},
/**
* @description: handleSubmit
* @author: renchao
*/
handleSubmit () {
this.$refs['ruleForm'].validate((valid) => {
if (valid) {
this.$parent.addSave(this.ruleForm);
this.ruleForm = {
cllx: "",
clmc: "",
}
this.$emit("input", false);
} else {
return 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-09-14 11:14:54
-->
<template>
<div class="clmlmx-box">
<lb-table :column="column" :key="key" row-key="bsmMaterial" ref="listTable" :heightNumSetting="true" :calcHeight="500" :pagination="false"
:data="tableData">
</lb-table>
<div class="text-center">
<el-button @click="handleCancel">取消</el-button>
<el-button type="primary" @click="handleSubmit" :loading="loading">保存</el-button>
</div>
</div>
</template>
<script>
import store from '@/store/index.js'
import Sortable from 'sortablejs'
import { ywPopupCacel } from "@/utils/popup.js";
import { editCompanyMaterialList } from "@/api/company.js";
export default {
props: {
formData: {
type: Object,
default: () => {
return {}
}
}
},
data () {
return {
loading: false,
sortable: null,
column: [
{
label: "材料名称",
render: (h, scope) => {
return (
(scope.row.sfxjcl == '1') ?
<el-input value={scope.row.clmc} onInput={(val) => { scope.row.clmc = val }}></el-input> : <span>{scope.row.clmc}</span>
)
}
},
{
label: "材料类型",
width: "110",
render: (h, scope) => {
return (
<el-select value={scope.row.cllx}
onChange={(val) => { scope.row.cllx = val }}>
{
store.getters.dictData['A40'].map(option => {
return (
<el-option label={option.dname} value={option.dcode}></el-option>
)
})
}
</el-select>
)
}
},
{
label: "页数",
width: "80",
render: (h, scope) => {
if (scope.row.count && scope.row.count > 0) {
return (
<div>
<span>{scope.row.count}</span>
</div>
);
} else {
return (
<div>
<span>0</span>
</div>
);
}
},
},
{
label: "操作",
width: "100",
render: (h, scope) => {
return (
<el-button
type="text"
icon="el-icon-delete"
disabled={scope.row.count != 0}
onClick={() => {
this.handleDelete(scope.$index, scope.row);
}}
>
删除
</el-button>
)
}
}
],
key: 0,
tableData: []
}
},
mounted () {
this.initSort()
this.tableData = _.cloneDeep(this.formData.data)
},
beforeDestroy () {
if (this.sortable) {
this.sortable.destroy();
}
},
watch: {
'formData.data': {
handler: function (val, oldVal) {
this.tableData = _.cloneDeep(val)
},
immediate: true,
deep: true
}
},
methods: {
handleCancel () {
ywPopupCacel()
},
handleSubmit () {
this.loading = true
store.dispatch('user/reWorkFresh', false)
editCompanyMaterialList(this.tableData, this.formData.bsmCompany).then(res => {
this.loading = false
if (res.code == 200) {
this.$message({
message: '保存成功',
type: 'success'
})
store.dispatch('user/reWorkFresh', true)
ywPopupCacel()
}
}).catch(() => {
this.loading = false
})
},
/**
* @description: 材料目录删除
* @param {*} index
* @param {*} row
* @author: renchao
*/
handleDelete (index, row) {
this.$confirm('此操作将永久删除该 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.tableData.splice(index, 1);
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
})
},
initSort () {
const el = this.$refs.listTable.$el.querySelectorAll('.el-table__body-wrapper > table > tbody')[0]
this.sortable = Sortable.create(el, {
ghostClass: 'sortable-ghost',
setData: function (dataTransfer) {
dataTransfer.setData('Text', '')
},
onEnd: evt => {
const targetRow = this.tableData.splice(evt.oldIndex, 1)[0];
this.tableData.splice(evt.newIndex, 0, targetRow);
}
})
}
}
}
</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>
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-09-14 16:24:07
-->
<template>
<div class="rlPopup">
<div class="prev handle-btn" v-if="!isScan" @click="prev()">
<i class="el-icon-arrow-left"></i>
</div>
<div class="next handle-btn" v-if="!isScan" @click="next()">
<i class="el-icon-arrow-right"></i>
</div>
<div class="img-list-wrap" v-Loading="loading">
<img src="http://127.0.0.1:38088/video=stream&camidx=0" v-if="isScan" alt="高拍仪">
<div v-for="(img, i) in previewImg.imgList" :key="i" v-else>
<photo-zoom :url="img.fileurl" :bigWidth="165" v-if="i === previewImg.index" :scale="2"
overlayStyle="width: 100%;height:100%">
</photo-zoom>
</div>
</div>
<!--缩略图-->
<div class="thumb-wrap">
<div class="thumb-wrap-button">
<el-button type="primary" @click="clickImage" v-if="previewImg.imgList.length>0">(放大) 显示(缩小)</el-button>
<el-upload class="fileUpdate" ref="upload" :key="key" action="" :show-file-list="false" :multiple="true" :auto-upload="false"
:on-change="handleChange"
accept=".JPG, .PNG, .JPEG,.jpg, .png, .jpeg">
<el-button icon="el-icon-upload" type="primary" v-if="ableOperation">上传</el-button>
</el-upload>
<!-- 左移右移 -->
<el-button type="primary" @click="handleMove('left')" v-if="ableOperation">左移</el-button>
<el-button type="primary" @click="handleMove('right')" v-if="ableOperation">右移</el-button>
<el-button type="primary" icon="el-icon-delete-solid" @click="handleDelete"
v-if="thumbnailImages.length>0 && ableOperation">删除</el-button>
<div v-if="ableOperation" class="pl-5">
<el-button type="primary" @click="handleOpenScan" v-if="ableOperation" :loading="loading">{{scanTitle}}</el-button>
<el-button type="primary" @click="handleViewScan" v-if="isScan && ableOperation">拍照</el-button>
</div>
</div>
<ul>
<li v-for="(img, index) in thumbnailImages" :key="index" :class="{ active: previewImg.index === index }"
@click="showCurrent(index)">
<img :src="img.fileurl">
</li>
</ul>
</div>
<!-- 点开后的视图 -->
<publicPicture v-if="showViewer" :url-list="allLi" :initialIndex="initialIndex" @close-viewer="closeViewer">
</publicPicture>
</div>
</template>
<script>
import PhotoZoom from '@/components/PhotoZoom'
import { getAltimeterInfo, getUuid } from '@/utils/operation.js'
import { uploadBatch, deleteFile, move } from "@/api/company.js"
import publicPicture from '@/components/publicPicture/index.vue'
export default {
name: 'PreviewImage',
props: {
previewImg: {
type: Object,
default: () => { }
},
ableOperation: {
type: Boolean,
default: true
}
},
components: {
PhotoZoom,
publicPicture
},
data () {
return {
loading: false,
key: 0,
isScan: false,
// 打开高拍仪
scanTitle: '打开高拍仪',
transform: {
scale: 1,
degree: 0
},
maxFileLength: 0,
// 缩略图
thumbnailImages: [],
showViewer: false,
initialIndex: 0,
allLi: [],
}
},
watch: {
previewImg: {
handler (newValue, oldValue) {
if (newValue.imgList && newValue.imgList.length > 0) {
this.allLi = _.cloneDeep(newValue.imgList).map(item => item.fileurl)
this.thumbnailImages = newValue.imgList
} else {
this.allLi = []
this.thumbnailImages = []
}
},
deep: true,
immediate: true
}
},
created () {
this.maxLength = 0;
this.allLi = _.cloneDeep(this.previewImg.imgList).map(item => item.fjurl)
this.thumbnailImages = this.previewImg.imgList
},
computed: {
isFirst () {
return this.previewImg.index === 0
},
isLast () {
return this.previewImg.index === this.previewImg.imgList.length - 1
}
},
methods: {
/**
* @description: 打开高拍仪
* @author: renchao
*/
handleOpenScan () {
this.isScan = !this.isScan
if (this.isScan) {
this.loading = true
this.$message({
message: '正在启动程序请稍等',
type: 'success'
})
setTimeout(() => {
this.scanTitle = '关闭高拍仪'
this.loading = false
}, 3000)
} else {
this.scanTitle = '打开高拍仪'
}
},
/**
* @description: 左右移动
* @param {*} direction
* @author: renchao
*/
handleMove (direction) {
move(this.previewImg.imgList[this.previewImg.index].bsmFile, direction).then(res => {
if (res.code == 200) {
if (direction == 'left') {
this.previewImg.index = this.previewImg.index - 1
} else {
this.previewImg.index = this.previewImg.index + 1
}
this.initialIndex = this.previewImg.index
this.$emit('updateList', { children: res.result, bsmMaterial: this.previewImg.bsmMaterial })
this.$message({
message: '移动成功!',
type: 'success'
})
} else {
this.$message.error(res.message);
}
})
},
/**
* @description: 拍照
* @author: renchao
*/
handleViewScan () {
function dataURLtoBlob (base64String) {
const arr = base64String.split(',');
if (arr.length !== 2) {
throw new Error('Invalid Base64 format');
}
const mime = arr[0].match(/:(.*?);/)[1];
if (!mime) {
throw new Error('Cannot retrieve MIME type');
}
const bstr = atob(arr[1]);
const n = bstr.length;
const u8arr = new Uint8Array(n);
for (let i = 0; i < n; i++) {
u8arr[i] = bstr.charCodeAt(i);
}
return new Blob([u8arr], { type: mime });
}
function blobToFile (blob) {
let name = getUuid(8) + '.jpg'
const file = new File([blob], name);
return file;
}
getAltimeterInfo().then(res => {
let blob = dataURLtoBlob('data:image/png;base64,' + res.data.photoBase64);
let file = blobToFile(blob);
var formData = new FormData();
formData.append('file', file)
formData.append("bsmMaterial ", this.previewImg.bsmMaterial);
formData.append("bsmSlsq", this.previewImg.bsmSlsq);
uploadSjClmx(formData).then((res) => {
if (res.code == 200) {
this.$emit('updateList', res.result)
this.$message({
message: '上传成功!',
type: 'success'
})
}
})
})
},
/**
* @description: prev
* @author: renchao
*/
prev () {
let len = this.previewImg.imgList.length
if (this.isFirst || len == 0) {
this.$emit('prevPriview')
} else {
this.$parent.previewImg.index = (this.$parent.previewImg.index - 1 + len) % len
}
},
/**
* @description: next
* @author: renchao
*/
next () {
let len = this.previewImg.imgList.length
if (this.isLast || len == 0) {
this.$emit('nextPriview')
} else {
this.$parent.previewImg.index = (this.$parent.previewImg.index + 1) % len
}
},
/**
* @description: showCurrent
* @param {*} index
* @author: renchao
*/
showCurrent (index) {
this.previewImg.index = index
this.initialIndex = index
},
/**
* @description: closeViewer
* @author: renchao
*/
closeViewer () {
this.showViewer = false
},
/**
* @description: clickImage
* @author: renchao
*/
clickImage () {
this.showViewer = true
},
/**
* @description: handleChange
* @param {*} file
* @param {*} files
* @author: renchao
*/
async handleChange (file, fileList) {
let length = fileList.length;
this.maxFileLength = Math.max(length, this.maxFileLength)
var formData = new FormData();
setTimeout(() => {
if (this.maxFileLength !== length) {
return
}
let num = 0, max = 0;
const isLt5M = file.size / 1024 / 1024 < 5;
fileList.forEach(item => {
if (!isLt5M) {
max++
}
if (!['image/jpeg', 'image/png', 'image/jpg', 'image/gif'].includes(item.raw.type)) {
num++
} else {
formData.append('file', item.raw)
}
})
if (num >= 1) {
this.$message.error("请选择jpeg/png/jpg/bmp/gif格式的图片后重试")
// 移除不支持的文件类型
this.key++
return;
}
if (max >= 1) {
this.$message.error('上传图片大小不能超过 5MB!');
this.key++
return;
}
formData.append("bsmMaterial", this.previewImg.bsmMaterial);
if (this.previewImg.imgList.length > 0) {
formData.append("index", this.previewImg.imgList[this.previewImg.index].sxh);
}
uploadBatch(formData).then((res) => {
if (res.code == 200) {
this.$emit('updateList', { children: res.result, bsmMaterial: this.previewImg.bsmMaterial })
this.$message({
message: '上传成功!',
type: 'success'
})
this.$refs.upload.clearFiles();
this.maxFileLength = 0
}
})
}, 0)
},
/**
* @description: handleDelete
* @author: renchao
*/
handleDelete () {
let that = this
this.$confirm('此操作将永久删除, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async () => {
let bsmFile = this.previewImg.imgList[this.previewImg.index].bsmFile
let bsmMaterial = this.previewImg.imgList[this.previewImg.index].bsmMaterial
this.previewImg.imgList = this.previewImg.imgList.filter(item => item.bsmFile != bsmFile)
deleteFile(bsmFile).then(res => {
if (res.code == 200) {
that.$emit('updateList', { children: this.previewImg.imgList, bsmMaterial: bsmMaterial })
that.$message({
message: '删除成功!',
type: 'success'
})
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
})
}
}
}
</script>
<style lang="scss" scoped>
// 查看大图
.rlPopup {
position: relative;
width: 100%;
text-align: center;
height: 100%;
.handle-btn {
position: absolute;
top: 50%;
transform: translateY(-100%);
width: 66px;
height: 66px;
line-height: 75px;
color: #fff;
background-color: rgb(239, 239, 239);
border-radius: 50%;
cursor: pointer;
text-align: center;
transition: all 0.3s;
i {
font-size: 24px;
}
}
.handle-btn:hover {
background-color: rgb(185, 183, 183);
}
.prev {
left: 1%;
}
.next {
right: 1%;
}
.img-list-wrap {
width: 100%;
display: flex;
justify-content: center;
height: calc(100% - 80px);
align-items: center;
background: rgba(194, 190, 190, 0.1);
overflow: scroll;
img {
display: block;
object-fit: scale-down;
transition: all 0.3s;
max-width: 100%;
}
}
.thumb-wrap {
&-button {
display: flex;
justify-content: center;
.fileUpdate {
margin: 0 10px;
}
}
li {
float: left;
width: 60px;
height: 45px;
border: solid 1px #ececec;
position: relative;
margin-right: 5px;
cursor: pointer;
&:last-child {
margin-right: 0;
}
img {
max-width: 57px;
max-height: 42px;
display: block;
object-fit: scale-down;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
}
.active {
border-color: #409eff;
}
}
}
</style>
<style>
.zoom-on-hover {
position: relative;
overflow: hidden;
}
.zoom-on-hover .normal {
width: 100%;
}
.zoom-on-hover .zoom {
position: absolute;
opacity: 0;
transform-origin: top left;
}
.zoom-on-hover.zoomed .zoom {
opacity: 1;
}
.zoom-on-hover.zoomed .normal {
opacity: 0;
}
</style>
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-09-15 10:09:10
-->
<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" v-if="tableData.length > 0">申请材料目录</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.bsmMaterial"
:class="['child', treeCheckId == item.bsmMaterial ? 'checked' : '']"
@click="treeClick(item, index)">
{{ item.clmc }}
<span class="cl_number" :key="key" v-if="item.count">({{ item.count }})</span>
<span class="cl_number" :key="key" v-else>(0)</span>
</div>
</div>
</div>
<el-button
type="primary"
native-type="submit"
style="width: 100%"
@click="handleAdd()">新增</el-button>
</div>
<image-preview
ref="imageRef"
v-if="tableData.length > 0"
:previewImg="previewImg"
@updateList="updateList"
@nextPriview="nextPriview"
@prevPriview="prevPriview" />
</div>
</div>
<clxxAddDialog v-model="isDialog" />
</div>
</template>
<script>
import store from '@/store/index.js'
import { ywPopupDialog } from "@/utils/popup.js";
import imagePreview from "./dialog/imagePreview.vue";
import clxxAddDialog from "./dialog/clxxAddDialog.vue";
import clxxDetailDialog from "./dialog/clxxDetailDialog.vue";
import { getCompanyMaterialList, addCompanyMaterial, getFileListByBsmMaterial } from "@/api/company.js";
import { saveClml, getClmxList } from "@/api/clxx.js";
import { repairInitClml } from "@/api/djbRepair.js";
export default {
components: { clxxAddDialog, imagePreview, clxxDetailDialog },
props: {
formData: {
type: Object,
default: () => {
return {}
}
}
},
data () {
return {
isDialog: false,
iclass: "",
// 材料目录选中
treeCheckIndex: 0,
treeCheckId: "",
key: 0,
tableData: [],
previewImg: {
bsmMaterial: "",
index: 0,
selectedIndex: 0,
imgList: []
}
}
},
computed: {
workFresh () {
return store.state.user.workFresh
}
},
watch: {
workFresh: {
handler (newValue, oldValue) {
this.clmlInitList()
},
deep: true,
immediate: true
}
},
created () {
this.clmlInitList()
},
methods: {
/**
* @description: 自动预览
* @author: renchao
*/
nextPriview () {
if (this.treeCheckIndex < this.tableData.length) {
this.treeCheckIndex++;
if (this.tableData[this.treeCheckIndex]) {
this.treeCheckId = this.tableData[this.treeCheckIndex].bsmMaterial;
// 判断页数
let ys = this.tableData[this.treeCheckIndex].ys
this.previewImg.index = 0;
// 获取材料明细
if (ys > 0) {
getFileListByBsmMaterial(this.treeCheckId).then(res => {
this.previewImg.imgList = res.result ? res.result : []
})
} else {
this.previewImg.imgList = []
}
this.previewImg.bsmMaterial = this.tableData[this.treeCheckIndex].bsmMaterial;
} else {
this.$message.error('没有最后一张了');
}
}
},
/**
* @description: prevPriview
* @author: renchao
*/
prevPriview () {
if (this.treeCheckIndex >= 1) {
this.treeCheckIndex--;
this.treeCheckId = this.tableData[this.treeCheckIndex].bsmMaterial;
// 判断页数
let ys = this.tableData[this.treeCheckIndex].ys
if (ys > 0) {
getFileListByBsmMaterial(this.treeCheckId).then(res => {
this.previewImg.imgList = res.result ? res.result : []
this.previewImg.index = this.previewImg.imgList.length - 1;
})
} else {
this.previewImg.imgList = [];
this.previewImg.index = 0
}
this.previewImg.bsmMaterial = this.tableData[this.treeCheckIndex].bsmMaterial;
} else {
this.$message.error('没有第一张了');
}
},
/**
* @description: 材料目录明细初始化
* @param {*} type
* @author: renchao
*/
clmlInitList (type) {
// 1:列表初始化 2:新增材料
return new Promise((resolve) => {
getCompanyMaterialList(this.formData.bsmCompany).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);
}
})
})
},
/**
* @description: setChecked
* @param {*} item
* @author: renchao
*/
setChecked (item) {
this.treeCheckId = item.bsmMaterial;
this.title = item.sjmc;
this.titleYs = 1;
this.titleNum = item.children.length;
this.previewImg.imgList = item.children;
this.previewImg.bsmMaterial = item.bsmMaterial;
},
/**
* @description: updateList
* @param {*} val
* @author: renchao
*/
updateList (val) {
let that = this;
if (val.children.length != 0) {
//删除最后一张图片时 val=null
this.tableData.forEach((item) => {
if (item.bsmMaterial == val.bsmMaterial) {
item.count = val.children.length
}
});
this.previewImg.imgList = _.cloneDeep(val.children);
if (this.previewImg.index == this.previewImg.imgList.length) {
this.previewImg.index = this.previewImg.index - 1;
}
this.key++
} else {
this.previewImg.imgList = [];
this.tableData.forEach((item, index) => {
if (this.treeCheckId == item.bsmMaterial) {
item.count = 0;
that.treeCheckIndex = index;
}
})
}
},
/**
* @description: 添加材料目录
* @author: renchao
*/
handleAdd () {
this.isDialog = true;
},
/**
* @description: 新增弹窗保存
* @param {*} data
* @author: renchao
*/
addSave (data) {
let obj = {
bsmCompany: this.formData.bsmCompany,
clmc: data.clmc,
cllx: data.cllx
};
addCompanyMaterial(obj).then(async (res) => {
if (res.code == 200) {
let res = await this.clmlInitList(2);
if (res == 200)
this.$message({
message: "新增成功",
type: "success"
})
}
})
},
/**
* @description: 材料目录点击选中
* @param {*} item
* @param {*} index
* @author: renchao
*/
treeClick (item, index) {
this.previewImg.index = 0;
this.treeCheckId = item?.bsmMaterial;
this.treeCheckIndex = index;
getFileListByBsmMaterial(item.bsmMaterial).then(res => {
this.previewImg.imgList = res.result ? res.result : []
})
this.previewImg.bsmMaterial = item?.bsmMaterial;
},
/**
* @description: 小图片点击
* @param {*} item
* @param {*} index
* @author: renchao
*/
imgClick (item, index) {
this.showImg = item;
this.titleYs = index + 1;
},
//查看明细
viewDetail () {
store.dispatch("user/reWorkFresh", false);
ywPopupDialog("申请材料目录", "xxba/components/clxx/dialog/clxxDetailDialog", {
data: this.tableData,
bsmCompany: this.formData.bsmCompany
}, "60%", true, false)
},
//设置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%;
height: 94%;
display: flex;
padding-left: 5px;
.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>
......@@ -135,7 +135,7 @@
label="上手权利信息:"
prop="ssQlxx.bdcqzh"
:rules="rules.ssQlxxrules"
v-if="ruleForm.cfdj.sfbxf == '1'">
v-if="ruleForm.qlxx.djlx == '300'">
<select-table
v-model="ruleForm.ssQlxx"
:table-width="730"
......@@ -190,9 +190,9 @@
label="是否被续封:"
prop="cfdj.sfbxf"
:rules="rules.sfbxfrules">
<el-radio-group v-model="ruleForm.cfdj.sfbxf" @change="djlxchange">
<el-radio label="1"></el-radio>
<el-radio label="2"></el-radio>
<el-radio-group v-model="ruleForm.qlxx.djlx" @change="djlxchange">
<el-radio label="800"></el-radio>
<el-radio label="300"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
......@@ -547,9 +547,9 @@
init(this.propsParam).then((res) => {
if (res.code == 200) {
this.ruleForm = res.result;
if (this.ruleForm.cfdj) {
this.ruleForm.cfdj.sfbxf = "2"
}
// if (this.ruleForm.cfdj) {
// this.ruleForm.cfdj.sfbxf = "2"
// }
this.isShow = true;
let djlx = this.ruleForm.qlxx.djlx;
this.$endLoading();
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-08-22 16:27:38
* @LastEditTime: 2023-09-15 09:33:54
-->
<template>
<!-- 受理信息 -->
......@@ -210,11 +210,6 @@
<el-input v-model="ruleForm.qlxx.bdcqzh"></el-input>
</el-form-item>
</el-col>
<!-- <el-col :span="8">
<el-form-item label="区县代码:" prop="qlxx.qxdm" :rules="rules.qxdmrules">
<el-input v-model="ruleForm.qlxx.qxdm"></el-input>
</el-form-item>
</el-col> -->
<el-col :span="8">
<el-form-item
label="登记机构:"
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-09-15 10:08:50
-->
<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" :key="key">({{ item.ys ? item.ys : 0 }})</span>
</div>
</div>
</div>
<el-button
type="primary"
native-type="submit"
style="width: 100%"
@click="handleAdd()"
v-if="ableOperation">新增</el-button>
</div>
<image-preview
ref="imageRef"
v-if="tableData.length > 0"
:previewImg="previewImg"
:ableOperation="ableOperation"
@updateList="updateList"
@nextPriview="nextPriview"
@prevPriview="prevPriview" />
</div>
</div>
<clxxAddDialog v-model="isDialog" />
</div>
</template>
<script>
import { mapGetters } from "vuex";
import clxxAddDialog from "@/views/workflow/components/dialog/clxxAddDialog.vue";
import clxxDetailDialog from "@/views/workflow/components/dialog/clxxDetailDialog.vue";
import imagePreview from "@/views/components/imagePreview.vue";
import { saveClml, getClmxList } from "@/api/clxx.js";
import { repairInitClml } from "@/api/djbRepair.js";
export default {
components: { clxxAddDialog, imagePreview, clxxDetailDialog },
data () {
return {
//表单是否可操作
ableOperation: true,
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);
},
computed: {
// 判断补录数据和临时数据
...mapGetters(["workFresh"]),
},
watch: {
workFresh: {
handler (newVal, oldVal) {
if (newVal) this.clmlInitList(1);
},
},
},
mounted () {
this.ableOperation = this.$parent.ableOperation;
},
methods: {
/**
* @description: 自动预览
* @author: renchao
*/
nextPriview () {
if (this.treeCheckIndex < this.tableData.length) {
this.treeCheckIndex++;
if (this.tableData[this.treeCheckIndex]) {
this.treeCheckId = this.tableData[this.treeCheckIndex].bsmSj;
// 判断页数
let ys = this.tableData[this.treeCheckIndex].ys
this.previewImg.index = 0;
// 获取材料明细
if (ys > 0) {
getClmxList(this.treeCheckId).then(res => {
this.previewImg.imgList = res.result ? res.result : [];
})
} else {
this.previewImg.imgList = []
}
this.previewImg.bsmSj = this.tableData[this.treeCheckIndex].bsmSj;
} else {
this.$message.error('没有最后一张了');
}
}
},
/**
* @description: prevPriview
* @author: renchao
*/
prevPriview () {
if (this.treeCheckIndex >= 1) {
this.treeCheckIndex--;
this.treeCheckId = this.tableData[this.treeCheckIndex].bsmSj;
// 判断页数
let ys = this.tableData[this.treeCheckIndex].ys
if (ys > 0) {
// 获取材料明细
getClmxList(this.treeCheckId).then(res => {
this.previewImg.imgList = res.result ? res.result : [];
this.previewImg.index = this.previewImg.imgList.length - 1;
})
} else {
this.previewImg.imgList = [];
this.previewImg.index = 0
}
this.previewImg.bsmSj = this.tableData[this.treeCheckIndex].bsmSj;
} else {
this.$message.error('没有第一张了');
}
},
/**
* @description: 材料目录明细初始化
* @param {*} type
* @author: renchao
*/
clmlInitList (type) {
//type 1:列表初始化 2:新增材料
return new Promise((resolve) => {
this.unitData = this.$parent.unitData;
var formdata = new FormData();
formdata.append("bsmSlsq", this.$parent.bsmSlsq);
if (this.$route.query.sqywbm == "DJBBL") {
formdata.append("bsmSldy", this.$parent.bsmRepair);
formdata.append("clfl", 3);
} else {
formdata.append("bsmSldy", this.$parent.currentSelectProps.bsmSldy);
formdata.append("clfl", 2);
}
repairInitClml(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);
}
});
});
},
/**
* @description: setChecked
* @param {*} item
* @author: renchao
*/
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;
},
/**
* @description: updateList
* @param {*} val
* @author: renchao
*/
updateList (val) {
let that = this;
if (val.children.length != 0) {
//删除最后一张图片时 val=null
this.tableData.forEach((item) => {
if (item.bsmSj === val.bsmSj) {
item.ys = val.children.length;
}
});
this.previewImg.imgList = _.cloneDeep(val.children);
if (this.previewImg.index == this.previewImg.imgList.length) {
this.previewImg.index = this.previewImg.index - 1;
}
this.key++
} else {
this.previewImg.imgList = [];
this.tableData.forEach((item, index) => {
if (this.treeCheckId == item.bsmSj) {
item.ys = 0;
that.treeCheckIndex = index;
}
});
}
},
/**
* @description: 添加材料目录
* @author: renchao
*/
handleAdd () {
this.isDialog = true;
},
/**
* @description: 新增弹窗保存
* @param {*} data
* @author: renchao
*/
addSave (data) {
let obj = {
bsmSlsq: this.$parent.bsmSlsq,
isrequired: "1",
sjmc: data.clmc,
sjsl: 0,
smzt: "",
ys: 0,
sjlx: data.cllx,
sfxjcl: "1", // 是否必选
sfggcl: data.sfggcl,
};
//是否公共材料
if (data.sfggcl == "0") {
obj["bsmSldy"] = this.$parent.currentSelectProps.bsmSldy;
}
if (this.$route.query.sqywbm == "DJBBL") {
obj.bsmSldy = this.$parent.bsmRepair
}
saveClml(obj).then(async (res) => {
if (res.code == 200) {
let res = await this.clmlInitList(2);
if (res == 200)
this.$message({
message: "新增成功",
type: "success",
});
}
});
},
/**
* @description: 材料目录点击选中
* @param {*} item
* @param {*} index
* @author: renchao
*/
treeClick (item, index) {
this.previewImg.index = 0;
this.treeCheckId = item?.bsmSj;
this.treeCheckIndex = index;
// 获取材料明细
getClmxList(item.bsmSj).then(res => {
this.previewImg.imgList = res.result ? res.result : [];
})
this.previewImg.bsmSj = item?.bsmSj;
},
/**
* @description: 小图片点击
* @param {*} item
* @param {*} index
* @author: renchao
*/
imgClick (item, index) {
this.showImg = item;
this.titleYs = index + 1;
},
//查看明细
viewDetail () {
this.$store.dispatch("user/reWorkFresh", false);
this.$popupDialog(
"申请材料目录",
"workflow/components/dialog/clxxDetailDialog",
{
data: this.tableData,
bsmSldy: this.$parent.currentSelectProps.bsmSldy,
unitData: this.$parent.unitData,
ableOperation: this.$parent.ableOperation,
bsmRepair: this.$parent.bsmRepair
},
"60%",
true
);
},
//设置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
* @LastEditTime: 2023-09-15 09:30:33
-->
<template>
<el-dialog
......@@ -11,8 +11,7 @@
:visible.sync="dialogVisible"
custom-class="insetDialog"
append-to-body
width="31%"
>
width="31%">
<!-- <el-radio-group v-model="radio">
<el-radio-button
v-for="(value, key) in qllxlistdata"
......@@ -21,9 +20,9 @@
></el-radio-button>
</el-radio-group> -->
<el-button class="gettypebutton" v-for="(value, key) in qllxlistdata"
:key="key"
:label="value" @click="clicksss(key)" plain>{{value}}</el-button>
<el-button class="gettypebutton" v-for="(value, key) in qllxlistdata"
:key="key"
:label="value" @click="clicksss(key)" plain>{{value}}</el-button>
<div class="btn">
<el-button type="primary" @click="handleSubmit">确定</el-button>
<el-button type="primary" @click="closeDialog">取消</el-button>
......@@ -32,99 +31,97 @@
</template>
<script>
export default {
data() {
return {
dialogVisible: false,
qllxlistdata: {},
radio: "",
qllx:""
};
},
methods: {
/**
* @description: closeDialog
* @author: renchao
*/
closeDialog() {
this.dialogVisible = false;
export default {
data () {
return {
dialogVisible: false,
qllxlistdata: {},
radio: "",
qllx: ""
};
},
/**
* @description: clicksss
* @param {*} el
* @author: renchao
*/
clicksss(el){
console.log("elllllllllllllllllllll",el);
this.qllx=el
},
/**
* @description: handleSubmit
* @author: renchao
*/
handleSubmit() {
methods: {
/**
* @description: closeDialog
* @author: renchao
*/
closeDialog () {
this.dialogVisible = false;
},
if(this.qllx){
let qllxobj = {
qllx:this.qllx,
bsmQlxx:""
};
this.$parent.addRepairRecord(qllxobj)
}else{
this.$message({
/**
* @description: clicksss
* @param {*} el
* @author: renchao
*/
clicksss (el) {
this.qllx = el
},
/**
* @description: handleSubmit
* @author: renchao
*/
handleSubmit () {
if (this.qllx) {
let qllxobj = {
qllx: this.qllx,
bsmQlxx: ""
};
this.$parent.addRepairRecord(qllxobj)
} else {
this.$message({
type: "warning",
message: "请选择权利类型!",
});
}
this.qllx=""
}
this.qllx = ""
},
},
},
};
};
</script>
<style scoped lang="scss">
@import '~@/styles/public.scss';
.qllxdialog {
margin-top: 160px;
/deep/.el-dialog__body {
margin-top: 10px;
// height: 100px;
padding: 20px;
@import "~@/styles/public.scss";
.qllxdialog {
margin-top: 160px;
/deep/.el-dialog__body {
margin-top: 10px;
// height: 100px;
padding: 20px;
}
.gettypebutton {
cursor: pointer;
margin-left: 20px;
width: 45%;
line-height: 20px;
background-color: #ebebeb;
margin-top: 20px;
padding-left: 20px;
border-radius: 2px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
border: 1px solid #ebebeb;
-webkit-transition: all 0.3s;
transition: all 0.3s;
color: #000;
}
.gettypebutton:hover {
border: 1px solid #0f93f6;
color: #0f93f6;
}
.gettypebutton:focus {
background-color: #0f93f6;
border: 1px solid #0f93f6;
color: #ebebeb;
}
.btn {
margin-top: 30px;
text-align: center;
.el-button {
margin-top: 10px;
margin-left: 20px;
}
}
}
.gettypebutton{
cursor: pointer;
margin-left: 20px;
width: 45%;
line-height: 20px;
background-color: #ebebeb;
margin-top: 20px;
padding-left: 20px;
border-radius: 2px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
border: 1px solid #ebebeb;
-webkit-transition: all 0.3s;
transition: all 0.3s;
color: #000;
}
.gettypebutton:hover{
border: 1px solid #0F93F6;
color: #0F93F6;
}
.gettypebutton:focus{
background-color: #0F93F6;
border: 1px solid #0F93F6;
color: #ebebeb;
}
.btn{
margin-top:30px;
text-align: center;
.el-button {
margin-top: 10px;
margin-left: 20px;
}
}
}
</style>
......
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-05-29 14:39:11
* @LastEditTime: 2023-09-15 09:31:37
*/
//流程环节操作按钮
export function getForm(tabName) {
export function getForm (tabName) {
let form;
switch (tabName) {
case "zdjbxx":
......@@ -46,7 +46,7 @@ export function getForm(tabName) {
case "yydj":
form = require("@/views/registerBook/yydj.vue");
break;
//林地使用权
//林地使用权
case "slxxlq":
form = require("@/views/djbworkflow/djbBook/components/blxxtabs/lq.vue");
break;
......@@ -82,7 +82,7 @@ export function getForm(tabName) {
form = require("@/views/djbworkflow/djbBook/components/blxxtabs/cfdj.vue");
break;
case "clxx":
form = require("@/views/workflow/components/clxx/clxxUnify.vue");
form = require("@/views/djbworkflow/djbBook/components/clxx/index.vue");
break;
case "spyj":
form = require("@/views/djbworkflow/djbBook/spyj.vue");
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-08-14 11:16:12
* @LastEditTime: 2023-09-15 09:27:14
-->
<template>
<div class="container">
......@@ -53,7 +53,6 @@
:key="item.value">
</el-tab-pane>
</el-tabs>
<component
:key="fresh"
:is="componentTag"
......@@ -132,7 +131,6 @@
mounted () {
// this.getleftMenubl()
},
methods: {
/**
* @description: stepForm
......@@ -163,7 +161,6 @@
});
}
},
// 获取右侧选项卡
/**
* @description: 获取右侧选项卡
* @param {*} val
......@@ -185,7 +182,6 @@
this.stepForm(this.currentSelectProps.qllx);
}
},
// 获取渲染登记簿列表
/**
* @description: 获取渲染登记簿列表
* @author: renchao
......@@ -218,7 +214,6 @@
}
});
},
//选项卡切换事件
/**
* @description: 右侧表单选项卡事件
* @param {*} handleClick
......@@ -233,7 +228,6 @@
}
},
//右侧表单选项卡事件
/**
* @description: 右侧表单选项卡事件
* @param {*} activeName
......@@ -243,7 +237,6 @@
beforeLeave (activeName) {
if (activeName && activeName != 0) this.getFromRouter(activeName);
},
//切换选项卡内容组件
/**
* @description: 切换选项卡内容组件
* @param {*} tabname
......@@ -255,7 +248,6 @@
changeywh () {
this.$refs.Menu.getleftMenubl("change");
},
// 增加补录记录
/**
* @description: 增加补录记录
* @param {*} row
......@@ -300,21 +292,9 @@
.catch((res) => {
console.log("错", res);
});
},
// openDialog () {
// this.$store.dispatch('user/refreshPage', false)
// let data = JSON.parse(localStorage.getItem('ywbl'))
// let title
// if (data?.sqywmc) {
// title = "申请业务:" + data?.sqywmc
// } else {
// title = "申请业务:" + data?.djywmc
// }
// this.$popupDialog(title, "ywbl/ywsq/selectBdc", { 'djywbm': this.$route.query.sqywbm, 'isJump': true, 'sqywInfo': data }, "80%", true)
// }
},
};
}
}
}
</script>
<style scoped lang="scss">
.rightContainer {
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-08-23 15:54:12
* @LastEditTime: 2023-09-15 10:20:43
-->
<template>
<div class="djxxTable">
<div v-show="false">
<printTemplate id="boxcfdj" :propsParam="propsParam" :tableData="tableData" :render="render"/>
<printTemplate id="boxcfdj" :tableData="tableData" :render="render" />
</div>
<div class="tableBox">
<div class="title">
{{ title }}
<el-button class="print" v-show="shows" @click="openPrint()"
>打印</el-button
>
<el-button class="print" v-show="shows" @click="openPrint()">打印</el-button>
<div class="checkbox">
<el-checkbox-group v-model="checkList" @change="checkChange">
<el-checkbox
v-for="item in qsztList"
:key="item.value"
:label="item.value"
>{{ item.label }}</el-checkbox
>
:label="item.value">{{ item.label }}</el-checkbox>
</el-checkbox-group>
</div>
</div>
......@@ -41,24 +37,18 @@
item.prop == 'qszt' && row.qlzt == '2' ? 'linshiIcon' : '',
item.prop == 'qszt' && row.qlzt == '1' ? 'xianshiIcon' : '',
item.prop == 'qszt' && row.qlzt == '4' ? 'zhuxiaoIcon' : '',
]"
>
]">
<div
class="setbut"
v-if="item.prop == 'cz' && row.sjlx != '系统数据'"
>
v-if="item.prop == 'cz' && row.sjlx != '系统数据'">
<el-button
type="text"
icon="el-icon-edit-outline"
@click="editDialog(row)"
>编辑</el-button
>
@click="editDialog(row)">编辑</el-button>
<el-button
type="text"
icon="el-icon-edit-outline"
@click="editDialog(row, 'D')"
>删除</el-button
>
@click="editDialog(row, 'D')">删除</el-button>
</div>
<div class="icon" v-if="item.prop == 'qszt' && row.qlzt == '1'">
有效
......@@ -85,8 +75,7 @@
effect="dark"
:content="row[item.prop]"
placement="top"
popper-class="tooltip-width"
>
popper-class="tooltip-width">
<span class="ellipsis-line">
{{ row[item.prop] }}
</span>
......@@ -101,171 +90,171 @@
</template>
<script>
import printTemplate from "./components/printTemplate.vue";
import { datas } from "./qlxxFormData.js";
import { getSjlx } from "@/utils/dictionary.js";
import { getCfdjList } from "@/api/djbDetail.js";
export default {
components: {
printTemplate,
},
data() {
return {
printObj: {
id: "box",
//其他配置项,
},
shows:false,
title: "查封登记信息",
qsztList: datas.columns().qsztList,
checkList: datas.columns().checkList,
//传递参数
propsParam: this.$attrs,
//列表数据
tableData: [],
//空列值个数
emptycolNum: datas.columns().emptycolNum,
//列名称对象
columns: datas.columns().CFDJ,
render: false,
};
},
created() {
this.loadData();
},
methods: {
/**
* @description: openPrint
* @author: miaofang
*/
openPrint() {
this.render = true;
setTimeout(() => {
this.prinsss();
}, 100);
import printTemplate from "./components/printTemplate.vue";
import { datas } from "./qlxxFormData.js";
import { getSjlx } from "@/utils/dictionary.js";
import { getCfdjList } from "@/api/djbDetail.js";
export default {
components: {
printTemplate,
},
data () {
return {
printObj: {
id: "box",
//其他配置项,
},
shows: false,
title: "查封登记信息",
qsztList: datas.columns().qsztList,
checkList: datas.columns().checkList,
//传递参数
propsParam: this.$attrs,
//列表数据
tableData: [],
//空列值个数
emptycolNum: datas.columns().emptycolNum,
//列名称对象
columns: datas.columns().CFDJ,
render: false,
};
},
created () {
this.loadData();
},
/**
* @description: prinsss
* @author: miaofang
*/
prinsss() {
printJS({
printable: "boxcfdj", // // 文档来源:pdf或图像的url,html元素的id或json数据的对象
type: "html",
maxWidth: 800, // 最大宽度
font_size: "", // 不设置则使用默认字体大小
style: `@font-face {
methods: {
/**
* @description: openPrint
* @author: miaofang
*/
openPrint () {
this.render = true;
setTimeout(() => {
this.prinsss();
}, 100);
},
/**
* @description: prinsss
* @author: miaofang
*/
prinsss () {
printJS({
printable: "boxcfdj", // // 文档来源:pdf或图像的url,html元素的id或json数据的对象
type: "html",
maxWidth: 800, // 最大宽度
font_size: "", // 不设置则使用默认字体大小
style: `@font-face {
font-family: "STZHONGS";
src: url(${window.ttf}) format("truetype");
}`,
// 继承原来的所有样式
targetStyles: ["*"],
});
this.render=false
},
/**
* @description: loadData
* @author: renchao
*/
loadData() {
if (this.$parent.addRepairRecord) {
this.columns.unshift({ prop: "cz", label: "操作" });
}
getCfdjList({
bdcdyid: this.propsParam.bdcdyid,
qllx: this.propsParam.qllx,
qszt: this.checkList,
}).then((res) => {
if (res.code === 200) {
this.tableData = res.result;
this.shows=this.tableData.length>0
this.tableData.forEach((item) => {
item.sjlx = getSjlx(item.sjlx);
});
this.tableData.forEach((item, index) => {
if (item.sfbxf == "1") {
item.zxywh = "";
item.zxdbr = "";
item.zxsj = "";
// 继承原来的所有样式
targetStyles: ["*"],
});
this.render = false
},
/**
* @description: loadData
* @author: renchao
*/
loadData () {
if (this.$parent.addRepairRecord) {
this.columns.unshift({ prop: "cz", label: "操作" });
}
getCfdjList({
bdcdyid: this.propsParam.bdcdyid,
qllx: this.propsParam.qllx,
qszt: this.checkList,
}).then((res) => {
if (res.code === 200) {
this.tableData = res.result;
this.shows = this.tableData.length > 0
this.tableData.forEach((item) => {
item.sjlx = getSjlx(item.sjlx);
});
this.tableData.forEach((item, index) => {
if (item.sfbxf == "1") {
item.zxywh = "";
item.zxdbr = "";
item.zxsj = "";
}
});
if (this.tableData.length < datas.columns().emptycolNum) {
this.emptycolNum =
datas.columns().emptycolNum - this.tableData.length;
} else {
this.emptycolNum = 0;
}
});
if (this.tableData.length < datas.columns().emptycolNum) {
this.emptycolNum =
datas.columns().emptycolNum - this.tableData.length;
} else {
this.emptycolNum = 0;
}
});
},
/**
* @description: checkChange
* @author: renchao
*/
checkChange () {
if (this.checkList.length === 0) {
this.tableData = [];
this.emptycolNum = datas.columns().emptycolNum;
} else {
this.loadData();
}
});
},
/**
* @description: checkChange
* @author: renchao
*/
checkChange() {
if (this.checkList.length === 0) {
this.tableData = [];
this.emptycolNum = datas.columns().emptycolNum;
} else {
this.loadData();
}
},
/**
* @description: getQsztName
* @author: renchao
*/
getQsztName(code) {
let name = "";
for (let item of this.qsztList) {
if (item.value == code) {
name = item.label;
break;
},
/**
* @description: getQsztName
* @author: renchao
*/
getQsztName (code) {
let name = "";
for (let item of this.qsztList) {
if (item.value == code) {
name = item.label;
break;
}
}
}
return name;
},
// 新增一条补录信息
/**
* @description: 新增一条补录信息
* @param {*} row
* @param {*} del
* @author: renchao
*/
editDialog(row, del) {
this.$confirm("此操作将新增一条补录信息, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.$parent.addRepairRecord(row, del);
this.$message({
type: "success",
message: "补录成功!",
});
return name;
},
// 新增一条补录信息
/**
* @description: 新增一条补录信息
* @param {*} row
* @param {*} del
* @author: renchao
*/
editDialog (row, del) {
this.$confirm("此操作将新增一条补录信息, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.catch(() => {
this.$message({
type: "info",
message: "取消编辑",
.then(() => {
this.$parent.addRepairRecord(row, del);
this.$message({
type: "success",
message: "补录成功!",
});
})
.catch(() => {
this.$message({
type: "info",
message: "取消编辑",
});
});
});
},
},
},
};
};
</script>
<style lang="scss" scoped>
@import "./qlxxCommon.scss";
.title {
position: relative;
.print {
// background-color: #0079fe;
z-index: 10;
position: absolute;
left: 11px;
top: 5px;
@import "./qlxxCommon.scss";
.title {
position: relative;
.print {
// background-color: #0079fe;
z-index: 10;
position: absolute;
left: 11px;
top: 5px;
}
}
}
</style>
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-09-15 11:00:11
-->
<template>
<div class="tableBox">
<div v-show="false">
<printTemplate
id="boxdiyaq"
:tableData="tableData"
:render="render" />
</div>
<div class="title">
{{ title }}
<el-button class="print" v-show="shows" @click="openPrint()">打印</el-button>
<div class="checkbox">
<el-checkbox-group v-model="checkList" @change="checkChange">
<el-checkbox
v-for="item in qsztList"
:key="item.value"
:label="item.value">{{ item.label }}</el-checkbox>
</el-checkbox-group>
</div>
</div>
<div class="xxTableBox rollTable">
<table class="xxTable">
<tr v-for="(item, colindex) in columns" :key="colindex">
<td>
{{ item.label }}
</td>
<td
v-for="(row, index) in tableData"
:key="index"
:class="[
row.qszt == '2' ? 'lishi' : '',
row.qszt == '0' ? 'linshi' : '',
row.qlzt == '4' ? 'linshi' : '',
item.prop == 'qszt' && row.qlzt == '3' ? 'linshiIcon' : '',
item.prop == 'qszt' && row.qlzt == '2' ? 'linshiIcon' : '',
item.prop == 'qszt' && row.qlzt == '1' ? 'xianshiIcon' : '',
item.prop == 'qszt' && row.qlzt == '4' ? 'zhuxiaoIcon' : '',
]">
<div
class="setbut"
v-if="item.prop == 'cz' && row.sjlx != '系统数据'">
<el-button
type="text"
icon="el-icon-edit-outline"
@click="editDialog(row)">编辑</el-button>
<el-button
type="text"
icon="el-icon-edit-outline"
@click="editDialog(row, 'D')">删除</el-button>
</div>
<div class="icon" v-if="item.prop == 'qszt' && row.qlzt == '1'">
有效
</div>
<div class="icon" v-if="item.prop == 'qszt' && row.qlzt == '2'">
正在补录
</div>
<div class="icon" v-if="item.prop == 'qszt' && row.qlzt == '3'">
正在申请
</div>
<div class="icon" v-if="item.prop == 'qszt' && row.qlzt == '4'">
正在注销
</div>
<p v-if="!['djyy', 'fj'].includes(item.prop)">
<span v-if="item.prop == 'qszt'">
{{ getQsztName(row[item.prop]) }}
</span>
<span v-else>{{ row[item.prop] }}</span>
</p>
<el-tooltip
v-else
effect="dark"
:content="row[item.prop]"
placement="top"
popper-class="tooltip-width">
<span class="ellipsis-line">
{{ row[item.prop] }}
</span>
</el-tooltip>
</td>
<td v-for="count in emptycolNum" :key="~count"></td>
</tr>
</table>
</div>
</div>
</template>
<script>
import { datas } from "../qlxxFormData.js";
import printTemplate from "../components/printTemplate.vue";
export default {
components: {
printTemplate
},
props: {
title: {
type: String,
default: ''
},
shows: {
type: Boolean,
default: false
},
// 传递参数
propsParam: {
type: Object,
default: () => { }
},
// 列表数据
tableData: {
type: Array,
default: () => []
},
columns: {
type: Array,
default: () => []
},
},
data () {
return {
qsztList: datas.columns().qsztList,
checkList: datas.columns().checkList,
//空列值个数
emptycolNum: datas.columns().emptycolNum,
render: false,
};
},
methods: {
openPrint () {
this.render = true;
setTimeout(() => {
this.prinsss();
}, 100);
},
/**
* @description: prinsss
* @author: miaofang
*/
prinsss () {
printJS({
printable: "boxdiyaq", // // 文档来源:pdf或图像的url,html元素的id或json数据的对象
type: "html",
maxWidth: 800, // 最大宽度
font_size: "", // 不设置则使用默认字体大小
style: `@font-face {
font-family: "STZHONGS";
src: url(${window.ttf}) format("truetype");
}`,
// 继承原来的所有样式
targetStyles: ["*"],
});
this.render = false
},
/**
* @description: checkChange
* @author: renchao
*/
checkChange () {
if (this.checkList.length === 0) {
this.tableData = [];
this.emptycolNum = datas.columns().emptycolNum;
} else {
this.$parent.loadData();
}
},
/**
* @description: getQsztName
* @param {*} code
* @author: renchao
*/
getQsztName (code) {
let name = "";
for (let item of this.qsztList) {
if (item.value == code) {
name = item.label;
break;
}
}
return name;
},
/**
* @description: 新增一条补录信息
* @param {*} row
* @param {*} del
* @author: renchao
*/
editDialog (row, del) {
this.$confirm("此操作将新增一条补录信息, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.$parent.$parent.addRepairRecord(row, del);
this.$message({
type: "success",
message: "补录成功!"
})
})
.catch(() => {
this.$message({
type: "info",
message: "取消编辑"
})
})
}
}
}
</script>
<style lang="scss" scoped>
@import "../qlxxCommon.scss";
.title {
position: relative;
.print {
z-index: 10;
position: absolute;
left: 11px;
top: 5px;
}
}
</style>
......@@ -12,6 +12,7 @@
style="page-break-after: always"
>
<div class="title">{{ title }}</div>
<div class="num">{{ datass.length }}页,第{{ indexx + 1 }}</div>
<table class="xxTable">
<tr v-for="item in columns" :key="item.name">
<td>
......@@ -50,18 +51,14 @@ export default {
};
},
props: {
propsParam: {
type: Object,
default: () => {},
},
tableData: {
type: Array,
default: () => [],
},
render:{
render: {
type: Boolean,
default: false,
}
default: false,
},
},
created() {},
watch: {
......@@ -70,11 +67,11 @@ export default {
this.tableData = newValue;
},
},
render: {
render: {
handler(newValue, oldValue) {
if(newValue){
if (newValue) {
this.loadData();
}
}
},
},
immediate: true,
......@@ -87,13 +84,13 @@ export default {
*/
loadData() {
getFieldListByQlxx({
qllx: this.propsParam.qllx,
qllx: this.tableData[0].qllx,
}).then((res) => {
if (res.code === 200) {
this.columns = res.result;
}
});
if (this.tableData.length&&this.datass.length==0) {
if (this.tableData.length && this.datass.length == 0) {
for (let i = 0; i < this.tableData.length; i += 4) {
this.datass.push(this.tableData.slice(i, i + 4));
}
......@@ -113,8 +110,13 @@ export default {
<style lang="scss" scoped>
.tbalede {
width: 100%;
// height: 1123px;
margin: auto;
position: relative;
.num {
position: absolute;
right: 10px;
top: 0px;
}
.title {
width: 100%;
font-weight: 700;
......@@ -140,16 +142,15 @@ export default {
padding: 5px;
}
td {
width: 20px!important;
width: 20px !important;
word-break: break-all;
// /* 方法一:使用 word-break */
// word-break: break-all;
// // /* 方法二:使用 white-space */
// // white-space: pre-wrap;
// // /* 方法三:使用 overflow-wrap */
// // overflow-wrap: break-word;
// word-break: break-all;
// // /* 方法二:使用 white-space */
// // white-space: pre-wrap;
// // /* 方法三:使用 overflow-wrap */
// // overflow-wrap: break-word;
}
}
}
</style>
......
......@@ -6,22 +6,18 @@
<template>
<div class="djxxTable">
<div v-show="false">
<printTemplate id="boxdiyaq" :propsParam="propsParam" :tableData="tableData" :render="render"/>
<printTemplate id="boxdiyaq" :tableData="tableData" :render="render" />
</div>
<div class="tableBox">
<div class="title">
{{ title }}
<el-button class="print" v-show="shows" @click="openPrint()"
>打印</el-button
>
<el-button class="print" v-show="shows" @click="openPrint()">打印</el-button>
<div class="checkbox">
<el-checkbox-group v-model="checkList" @change="checkChange">
<el-checkbox
v-for="item in qsztList"
:key="item.value"
:label="item.value"
>{{ item.label }}</el-checkbox
>
:label="item.value">{{ item.label }}</el-checkbox>
</el-checkbox-group>
</div>
</div>
......@@ -43,24 +39,18 @@
item.prop == 'qszt' && row.qlzt == '2' ? 'linshiIcon' : '',
item.prop == 'qszt' && row.qlzt == '1' ? 'xianshiIcon' : '',
item.prop == 'qszt' && row.qlzt == '4' ? 'zhuxiaoIcon' : '',
]"
>
]">
<div
class="setbut"
v-if="item.prop == 'cz' && row.sjlx != '系统数据'"
>
v-if="item.prop == 'cz' && row.sjlx != '系统数据'">
<el-button
type="text"
icon="el-icon-edit-outline"
@click="editDialog(row)"
>编辑</el-button
>
@click="editDialog(row)">编辑</el-button>
<el-button
type="text"
icon="el-icon-edit-outline"
@click="editDialog(row, 'D')"
>删除</el-button
>
@click="editDialog(row, 'D')">删除</el-button>
</div>
<div class="icon" v-if="item.prop == 'qszt' && row.qlzt == '1'">
有效
......@@ -87,8 +77,7 @@
effect="dark"
:content="row[item.prop]"
placement="top"
popper-class="tooltip-width"
>
popper-class="tooltip-width">
<span class="ellipsis-line">
{{ row[item.prop] }}
</span>
......@@ -103,165 +92,165 @@
</template>
<script>
import { datas } from "./qlxxFormData.js";
import { getSjlx, getDictLeabel } from "@/utils/dictionary.js";
import { getDiyaqList } from "@/api/djbDetail.js";
import printTemplate from "./components/printTemplate.vue";
export default {
import { datas } from "./qlxxFormData.js";
import { getSjlx, getDictLeabel } from "@/utils/dictionary.js";
import { getDiyaqList } from "@/api/djbDetail.js";
import printTemplate from "./components/printTemplate.vue";
export default {
components: {
printTemplate,
},
data() {
return {
printObj: {
id: "box",
//其他配置项,
},
shows:false,
title: "抵押权登记信息",
qsztList: datas.columns().qsztList,
checkList: datas.columns().checkList,
//传递参数
propsParam: this.$attrs,
//列表数据
tableData: [],
//空列值个数
emptycolNum: datas.columns().emptycolNum,
//列名称对象
columns: datas.columns().DYAQ,
render: false,
};
},
created() {
this.loadData();
},
methods: {
/**
* @description: openPrint
* @author: miaofang
*/
openPrint() {
this.render = true;
setTimeout(() => {
this.prinsss();
}, 100);
printTemplate,
},
data () {
return {
printObj: {
id: "box",
//其他配置项,
},
shows: false,
title: "抵押权登记信息",
qsztList: datas.columns().qsztList,
checkList: datas.columns().checkList,
//传递参数
propsParam: this.$attrs,
//列表数据
tableData: [],
//空列值个数
emptycolNum: datas.columns().emptycolNum,
//列名称对象
columns: datas.columns().DYAQ,
render: false,
};
},
created () {
this.loadData();
},
/**
* @description: prinsss
* @author: miaofang
*/
prinsss() {
printJS({
printable: "boxdiyaq", // // 文档来源:pdf或图像的url,html元素的id或json数据的对象
type: "html",
maxWidth: 800, // 最大宽度
font_size: "", // 不设置则使用默认字体大小
style: `@font-face {
methods: {
/**
* @description: openPrint
* @author: miaofang
*/
openPrint () {
this.render = true;
setTimeout(() => {
this.prinsss();
}, 100);
},
/**
* @description: prinsss
* @author: miaofang
*/
prinsss () {
printJS({
printable: "boxdiyaq", // // 文档来源:pdf或图像的url,html元素的id或json数据的对象
type: "html",
maxWidth: 800, // 最大宽度
font_size: "", // 不设置则使用默认字体大小
style: `@font-face {
font-family: "STZHONGS";
src: url(${window.ttf}) format("truetype");
}`,
// 继承原来的所有样式
targetStyles: ["*"],
});
this.render=false
},
/**
* @description: loadData
* @author: renchao
*/
loadData() {
if (this.$parent.addRepairRecord) {
this.columns.unshift({ prop: "cz", label: "操作" });
}
getDiyaqList({
bdcdyid: this.propsParam.bdcdyid,
qllx: this.propsParam.qllx,
qszt: this.checkList,
}).then((res) => {
if (res.code === 200) {
this.tableData = res.result;
this.shows=this.tableData.length>0
this.tableData.forEach((item) => {
item.sjlx = getSjlx(item.sjlx);
item.dybdclx = getDictLeabel(item.dybdclx, "A27");
});
if (this.tableData.length < datas.columns().emptycolNum) {
this.emptycolNum =
datas.columns().emptycolNum - this.tableData.length;
} else {
this.emptycolNum = 0;
// 继承原来的所有样式
targetStyles: ["*"],
});
this.render = false
},
/**
* @description: loadData
* @author: renchao
*/
loadData () {
if (this.$parent.addRepairRecord) {
this.columns.unshift({ prop: "cz", label: "操作" });
}
getDiyaqList({
bdcdyid: this.propsParam.bdcdyid,
qllx: this.propsParam.qllx,
qszt: this.checkList,
}).then((res) => {
if (res.code === 200) {
this.tableData = res.result;
this.shows = this.tableData.length > 0
this.tableData.forEach((item) => {
item.sjlx = getSjlx(item.sjlx);
item.dybdclx = getDictLeabel(item.dybdclx, "A27");
});
if (this.tableData.length < datas.columns().emptycolNum) {
this.emptycolNum =
datas.columns().emptycolNum - this.tableData.length;
} else {
this.emptycolNum = 0;
}
}
});
},
/**
* @description: checkChange
* @author: renchao
*/
checkChange () {
if (this.checkList.length === 0) {
this.tableData = [];
this.emptycolNum = datas.columns().emptycolNum;
} else {
this.loadData();
}
});
},
/**
* @description: checkChange
* @author: renchao
*/
checkChange() {
if (this.checkList.length === 0) {
this.tableData = [];
this.emptycolNum = datas.columns().emptycolNum;
} else {
this.loadData();
}
},
/**
* @description: getQsztName
* @param {*} code
* @author: renchao
*/
getQsztName(code) {
let name = "";
for (let item of this.qsztList) {
if (item.value == code) {
name = item.label;
break;
},
/**
* @description: getQsztName
* @param {*} code
* @author: renchao
*/
getQsztName (code) {
let name = "";
for (let item of this.qsztList) {
if (item.value == code) {
name = item.label;
break;
}
}
}
return name;
},
// 新增一条补录信息
/**
* @description: 新增一条补录信息
* @param {*} row
* @param {*} del
* @author: renchao
*/
editDialog(row, del) {
this.$confirm("此操作将新增一条补录信息, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.$parent.addRepairRecord(row, del);
this.$message({
type: "success",
message: "补录成功!",
});
return name;
},
// 新增一条补录信息
/**
* @description: 新增一条补录信息
* @param {*} row
* @param {*} del
* @author: renchao
*/
editDialog (row, del) {
this.$confirm("此操作将新增一条补录信息, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.catch(() => {
this.$message({
type: "info",
message: "取消编辑",
.then(() => {
this.$parent.addRepairRecord(row, del);
this.$message({
type: "success",
message: "补录成功!",
});
})
.catch(() => {
this.$message({
type: "info",
message: "取消编辑",
});
});
});
},
},
},
};
};
</script>
<style lang="scss" scoped>
@import "./qlxxCommon.scss";
.title {
position: relative;
.print {
// background-color: #0079fe;
z-index: 10;
position: absolute;
left: 11px;
top: 5px;
@import "./qlxxCommon.scss";
.title {
position: relative;
.print {
// background-color: #0079fe;
z-index: 10;
position: absolute;
left: 11px;
top: 5px;
}
}
}
</style>
......
......@@ -6,7 +6,7 @@
<template>
<div class="djxxTable">
<div v-show="false">
<printTemplate id="boxdiyiq" :propsParam="propsParam" :tableData="tableData" :render="render"/>
<printTemplate id="boxdiyiq" :tableData="tableData" :render="render"/>
</div>
<div class="tableBox">
<div class="title">
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-08-23 15:57:40
* @LastEditTime: 2023-09-15 10:41:10
-->
<template>
<div class="content">
......@@ -83,7 +83,6 @@
this.loadData(this.formData.bdcdyh);
},
methods: {
/**
* @description: getBdcdyh
* @author: miaofang
......@@ -122,7 +121,7 @@
bdcdyh: val.bdcdyh,
qllx: this.formData.qllx,
bsmQlxx: this.formData.bsmQlxx,
};
}
},
/**
* @description: loadData
......@@ -142,26 +141,23 @@
this.defaultNode = getNode(
this.formData.qllx,
{ linShi: 0, xianShi: 0, liShi: 0 },
res.result.bdcdylx|| ""
res.result.bdcdylx || ""
);
this.sfqdata[0].children.forEach((item, index) => {
if (item.id == this.defaultNode.id) {
this.iskey = index
}
})
this.setstyle(0, 0, this.iskey);
});
})
}
});
})
this.currentSelectProps = {
bdcdyid: this.formData.bdcdyid,
bdcdyh: val,
qllx: this.formData.qllx,
bsmQlxx: this.formData.bsmQlxx,
};
}
},
/**
* @description: handleNodeClick
......@@ -171,12 +167,6 @@
handleNodeClick (data) {
this.loadComponent(data.form);
},
/**
* @description: setstyle
* @param {*} data
* @author: renchao
* 设置样式和点击定位到当前功能
*/
setstyle (newindex, index, key) {
if (key != undefined || this.keyy == index) {
if (key != undefined) {
......@@ -193,10 +183,6 @@
dpme.style.color = "black";
dpme.style.border = "none";
}
},
/**
* @description: addlist
......@@ -213,8 +199,8 @@
this.currentSelectProps.bdcdyid = data.bdcdyid;
this.loadComponent(data.form);
} else {
this.loadComponent(data.form);
let newindex = this.sfqdata.findIndex((item) => {
this.loadComponent(data.form);
let newindex = this.sfqdata.findIndex((item) => {
return item.bdcdyid == data.bdcdyid;
});
this.setstyle(newindex, index);
......@@ -227,11 +213,12 @@
* @author: renchao
*/
loadComponent (form) {
console.log(form, 'form');
this.componentTag = (r) =>
require.ensure([], () => r(require("@/views/registerBook/" + form)));
},
},
};
}
}
}
</script>
<style scoped lang="scss">
/deep/.rollTable {
......
import { log } from "bpmn-js-token-simulation";
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-09-15 10:52:40
*/
var qlxxPage = [
{ qllx: "A01", id: "tdsyq", form: "tdsyq.vue", label: "集体土地所有权" },
{ qllx: "A02", id: "tdsyq", form: "tdsyq.vue", label: "国家土地所有权" },
......@@ -45,7 +47,7 @@ var qlxxPage = [
* @param {*} bdcdyh
* @author: renchao
*/
export function loadTreeData(bdcdyh) {
export function loadTreeData (bdcdyh) {
let treedata = [];
//加载封面
treedata.push({ id: "djbfm", form: "djbfm.vue", label: "登记簿封面" });
......@@ -53,24 +55,24 @@ export function loadTreeData(bdcdyh) {
treedata[1].children.push({ id: "bdcqldjml", form: "bdcqldjml.vue", label: "不动产权利登记目录", children: [] });
return treedata;
}
export function loadsfqData(qlxxData, bdcdyh,bdcdyid) {
let treedata={
bdcdyid:bdcdyid,id: "bdcqljqtsx", form: "bdcqljqtsx.vue", label: "不动产权利及其他事项\n (" + bdcdyh.slice(19) + ")", children: [],
};
//主体权利
treedata.children.push(getNode(qlxxData.ztqllx, qlxxData.ztql, qlxxData.bdcdylx,bdcdyid));
//抵押权
treedata.children.push(getNode("A37", qlxxData.diyaq, '',bdcdyid));
//地役权
treedata.children.push(getNode("A19", qlxxData.diyiq, '',bdcdyid));
//预告登记
treedata.children.push(getNode("B40", qlxxData.ygdj, '',bdcdyid));
//异议登记
treedata.children.push(getNode("B38", qlxxData.yydj, '',bdcdyid));
//查封登记
treedata.children.push(getNode("B39", qlxxData.cfdj, '',bdcdyid));
export function loadsfqData (qlxxData, bdcdyh, bdcdyid) {
let treedata = {
bdcdyid: bdcdyid, id: "bdcqljqtsx", form: "bdcqljqtsx.vue", label: "不动产权利及其他事项\n (" + bdcdyh.slice(19) + ")", children: [],
};
//主体权利
treedata.children.push(getNode(qlxxData.ztqllx, qlxxData.ztql, qlxxData.bdcdylx, bdcdyid));
//抵押权
treedata.children.push(getNode("A37", qlxxData.diyaq, '', bdcdyid));
//地役权
treedata.children.push(getNode("A19", qlxxData.diyiq, '', bdcdyid));
//预告登记
treedata.children.push(getNode("B40", qlxxData.ygdj, '', bdcdyid));
//异议登记
treedata.children.push(getNode("B38", qlxxData.yydj, '', bdcdyid));
//查封登记
treedata.children.push(getNode("B39", qlxxData.cfdj, '', bdcdyid));
return treedata;
return treedata;
}
//获取权利类型、不动产单元类型对应的树形节点信息
......@@ -81,18 +83,18 @@ export function loadsfqData(qlxxData, bdcdyh,bdcdyid) {
* @param {*} bdcdylx
* @author: renchao
*/
export function getNode(qllx, qlxx, bdcdylx,bdcdyid) {
export function getNode (qllx, qlxx, bdcdylx, bdcdyid) {
let node;
for (var i = 0; i < qlxxPage.length; i++) {
if (qlxxPage[i].qllx == qllx) {
if (qllx == "A04" || qllx == "A06" || qllx == "A08") {
if (bdcdylx == "4") {
node = {bdcdyid:bdcdyid,id: "fdcq1", form: "fdcq1.vue", label: qlxxPage[i].label + "(临:" + qlxx.linShi + ",现:" + qlxx.xianShi + ",历:" + qlxx.liShi +")"};
node = { bdcdyid: bdcdyid, id: "fdcq1", form: "fdcq1.vue", label: qlxxPage[i].label + "(临:" + qlxx.linShi + ",现:" + qlxx.xianShi + ",历:" + qlxx.liShi + ")" };
} else {
node = { bdcdyid:bdcdyid,id: "fdcq2", form: "fdcq2.vue", label: qlxxPage[i].label + "(临:" + qlxx.linShi + ",现:" + qlxx.xianShi + ",历:" + qlxx.liShi +")"};
node = { bdcdyid: bdcdyid, id: "fdcq2", form: "fdcq2.vue", label: qlxxPage[i].label + "(临:" + qlxx.linShi + ",现:" + qlxx.xianShi + ",历:" + qlxx.liShi + ")" };
}
} else {
node = { bdcdyid:bdcdyid,id: qlxxPage[i].id, form: qlxxPage[i].form, label: qlxxPage[i].label + "(临:" + qlxx.linShi + ",现:" + qlxx.xianShi + ",历:" + qlxx.liShi +")"};
node = { bdcdyid: bdcdyid, id: qlxxPage[i].id, form: qlxxPage[i].form, label: qlxxPage[i].label + "(临:" + qlxx.linShi + ",现:" + qlxx.xianShi + ",历:" + qlxx.liShi + ")" };
}
break;
}
......
<!--
* @Description:
* @Autor: miaofang
* @LastEditTime: 2023-08-23 15:54:12
* @LastEditTime: 2023-09-15 10:20:40
-->
<template>
<div class="djxxTable">
<div v-show="false">
<printTemplate
id="boxfdcq"
:propsParam="propsParam" :tableData="tableData" :render="render"/>
:tableData="tableData" :render="render" />
</div>
<div class="tableBox">
<div class="title">
{{ title }}
<el-button class="print" v-show="shows" @click="openPrint()"
>打印</el-button
>
<el-button class="print" v-show="shows" @click="openPrint()">打印</el-button>
<div class="checkbox">
<el-checkbox-group v-model="checkList" @change="checkChange">
<el-checkbox
v-for="item in qsztList"
:key="item.value"
:label="item.value"
>{{ item.label }}</el-checkbox
>
:label="item.value">{{ item.label }}</el-checkbox>
</el-checkbox-group>
</div>
</div>
<div class="xxTableBox rollTable">
<!-- 固定前三个 -->
<table class="xxTable">
<tr
v-for="(item, colindex) in columns"
:class="judge(item.label) ? 'cols' : ''"
:key="colindex"
>
:key="colindex">
<td>
{{ item.label }}
</td>
......@@ -50,24 +44,18 @@
item.prop == 'qszt' && row.qlzt == '2' ? 'linshiIcon' : '',
item.prop == 'qszt' && row.qlzt == '1' ? 'xianshiIcon' : '',
item.prop == 'qszt' && row.qlzt == '4' ? 'zhuxiaoIcon' : '',
]"
>
]">
<div
class="setbut"
v-if="item.prop == 'cz' && row.sjlx != '系统数据'"
>
v-if="item.prop == 'cz' && row.sjlx != '系统数据'">
<el-button
type="text"
icon="el-icon-edit-outline"
@click="editDialog(row)"
>编辑</el-button
>
@click="editDialog(row)">编辑</el-button>
<el-button
type="text"
icon="el-icon-edit-outline"
@click="editDialog(row, 'D')"
>删除</el-button
>
@click="editDialog(row, 'D')">删除</el-button>
</div>
<div class="icon" v-if="item.prop == 'qszt' && row.qlzt == '1'">
有效
......@@ -90,8 +78,7 @@
effect="dark"
:content="row[item.prop]"
placement="top"
popper-class="tooltip-width"
>
popper-class="tooltip-width">
<span class="ellipsis-line">
{{ row[item.prop] }}
</span>
......@@ -103,15 +90,13 @@
item.prop !== 'djyy' &&
item.prop !== 'fj' &&
!judge(item.label)
"
>
">
{{ row[item.prop] }}
</span>
<div class="many" v-if="judge(item.label)">
<div
v-for="(label, index) in row.djQlxxFdcqxmDoList"
:key="index"
>
:key="index">
{{ label[item.prop] }}
</div>
</div>
......@@ -125,203 +110,203 @@
</template>
<script>
import printJS from "print-js";
import { datas } from "./qlxxFormData.js";
import { getSjlx } from "@/utils/dictionary.js";
import { getFdcq1List } from "@/api/djbDetail.js";
import printTemplate from "./components/printTemplate.vue";
export default {
components: {
printTemplate,
},
data() {
return {
printObj: {
id: "box",
//其他配置项,
},
shows: false,
title: "房地产权登记信息(多幢)",
qsztList: datas.columns().qsztList,
checkList: datas.columns().checkList,
//传递参数
propsParam: this.$attrs,
//列表数据
tableData: [],
// 异步传值
datalist: [],
//空列值个数
emptycolNum: datas.columns().emptycolNum,
//列名称对象
columns: datas.columns().FDCQ1,
render: false,
};
},
created() {
this.loadData();
},
methods: {
/**
* @description: openPrint
* @author: miaofang
*/
openPrint() {
this.render = true;
setTimeout(() => {
this.prinsss();
}, 100);
import printJS from "print-js";
import { datas } from "./qlxxFormData.js";
import { getSjlx } from "@/utils/dictionary.js";
import { getFdcq1List } from "@/api/djbDetail.js";
import printTemplate from "./components/printTemplate.vue";
export default {
components: {
printTemplate,
},
data () {
return {
printObj: {
id: "box",
//其他配置项,
},
shows: false,
title: "房地产权登记信息(多幢)",
qsztList: datas.columns().qsztList,
checkList: datas.columns().checkList,
//传递参数
propsParam: this.$attrs,
//列表数据
tableData: [],
// 异步传值
datalist: [],
//空列值个数
emptycolNum: datas.columns().emptycolNum,
//列名称对象
columns: datas.columns().FDCQ1,
render: false,
};
},
created () {
this.loadData();
},
/**
* @description: prinsss
* @author: miaofang
*/
prinsss() {
printJS({
printable: "boxfdcq", // // 文档来源:pdf或图像的url,html元素的id或json数据的对象
type: "html",
maxWidth: 800, // 最大宽度
font_size: "", // 不设置则使用默认字体大小
style: `@font-face {
methods: {
/**
* @description: openPrint
* @author: miaofang
*/
openPrint () {
this.render = true;
setTimeout(() => {
this.prinsss();
}, 100);
},
/**
* @description: prinsss
* @author: miaofang
*/
prinsss () {
printJS({
printable: "boxfdcq", // // 文档来源:pdf或图像的url,html元素的id或json数据的对象
type: "html",
maxWidth: 800, // 最大宽度
font_size: "", // 不设置则使用默认字体大小
style: `@font-face {
font-family: "STZHONGS";
src: url(${window.ttf}) format("truetype");
}`,
// 继承原来的所有样式
targetStyles: ["*"],
});
this.render=false
},
/**
* @description: loadData
* @author: miaofang
*/
loadData() {
if (this.$parent.addRepairRecord) {
this.columns.unshift({ prop: "cz", label: "操作" });
}
getFdcq1List({
bdcdyid: this.propsParam.bdcdyid,
qllx: this.propsParam.qllx,
qszt: this.checkList,
}).then((res) => {
if (res.code === 200) {
this.tableData = res.result;
this.shows = this.tableData.length > 0;
this.tableData.forEach((item) => {
item.sjlx = getSjlx(item.sjlx);
});
if (this.tableData.length < datas.columns().emptycolNum) {
this.emptycolNum =
datas.columns().emptycolNum - this.tableData.length;
} else {
this.emptycolNum = 0;
// 继承原来的所有样式
targetStyles: ["*"],
});
this.render = false
},
/**
* @description: loadData
* @author: miaofang
*/
loadData () {
if (this.$parent.addRepairRecord) {
this.columns.unshift({ prop: "cz", label: "操作" });
}
getFdcq1List({
bdcdyid: this.propsParam.bdcdyid,
qllx: this.propsParam.qllx,
qszt: this.checkList,
}).then((res) => {
if (res.code === 200) {
this.tableData = res.result;
this.shows = this.tableData.length > 0;
this.tableData.forEach((item) => {
item.sjlx = getSjlx(item.sjlx);
});
if (this.tableData.length < datas.columns().emptycolNum) {
this.emptycolNum =
datas.columns().emptycolNum - this.tableData.length;
} else {
this.emptycolNum = 0;
}
}
});
},
/**
* @description: checkChange
* @author: miaofang
*/
checkChange () {
if (this.checkList.length === 0) {
this.tableData = [];
this.emptycolNum = datas.columns().emptycolNum;
} else {
this.loadData();
}
});
},
/**
* @description: checkChange
* @author: miaofang
*/
checkChange() {
if (this.checkList.length === 0) {
this.tableData = [];
this.emptycolNum = datas.columns().emptycolNum;
} else {
this.loadData();
}
},
/**
* @description: getQsztName
* @param {*} code
* @author: miaofang
*/
getQsztName(code) {
let name = "";
for (let item of this.qsztList) {
if (item.value == code) {
name = item.label;
break;
},
/**
* @description: getQsztName
* @param {*} code
* @author: miaofang
*/
getQsztName (code) {
let name = "";
for (let item of this.qsztList) {
if (item.value == code) {
name = item.label;
break;
}
}
}
return name;
},
/**
* @description: judge
* @param {*} lable
* @author: miaofang
*/
judge(label) {
if (
"项目名称幢号总层数规划用途用途名称批准用途实际用途房屋结构房屋结构名称建筑面积竣工时间总套数".indexOf(
label
) > -1
) {
return true;
} else {
return false;
}
},
// 新增一条补录信息
/**
* @description: 新增一条补录信息
* @param {*} row
* @param {*} del
* @author: miaofang
*/
editDialog(row, del) {
this.$confirm("此操作将新增一条补录信息, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.$parent.addRepairRecord(row, del);
this.$message({
type: "success",
message: "补录成功!",
});
return name;
},
/**
* @description: judge
* @param {*} lable
* @author: miaofang
*/
judge (label) {
if (
"项目名称幢号总层数规划用途用途名称批准用途实际用途房屋结构房屋结构名称建筑面积竣工时间总套数".indexOf(
label
) > -1
) {
return true;
} else {
return false;
}
},
// 新增一条补录信息
/**
* @description: 新增一条补录信息
* @param {*} row
* @param {*} del
* @author: miaofang
*/
editDialog (row, del) {
this.$confirm("此操作将新增一条补录信息, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.catch(() => {
this.$message({
type: "info",
message: "取消编辑",
.then(() => {
this.$parent.addRepairRecord(row, del);
this.$message({
type: "success",
message: "补录成功!",
});
})
.catch(() => {
this.$message({
type: "info",
message: "取消编辑",
});
});
});
},
},
},
};
};
</script>
<style lang="scss" scoped>
@import "./qlxxCommon.scss";
.cols {
td {
.many {
width: 100%;
height: 100%;
display: flex;
flex-direction: row;
div {
flex: 1;
border-right: 2px solid #e3e2e2;
line-height: 40px;
overflow: unset;
}
div:last-child {
border: 0;
@import "./qlxxCommon.scss";
.cols {
td {
.many {
width: 100%;
height: 100%;
display: flex;
flex-direction: row;
div {
flex: 1;
border-right: 2px solid #e3e2e2;
line-height: 40px;
overflow: unset;
}
div:last-child {
border: 0;
}
}
}
}
}
.title {
position: relative;
.print {
// background-color: #0079fe;
z-index: 10;
position: absolute;
left: 11px;
top: 5px;
.title {
position: relative;
.print {
// background-color: #0079fe;
z-index: 10;
position: absolute;
left: 11px;
top: 5px;
}
}
}
</style>
......
<!--
* @Description:
* @Autor: miaofang
* @LastEditTime: 2023-08-23 15:54:12
* @LastEditTime: 2023-09-15 10:58:42
-->
<template>
<div class="djxxTable">
<div>
<!-- <div v-show="false">
<printTemplate
id="boxfdcq"
:propsParam="propsParam"
:tableData="tableData"
:render="render"
/>
</div>
<div class="tableBox">
:render="render" />
</div> -->
<djbDetail :title="title" :shows="shows" :propsParam="propsParam"
:columns="columns" :tableData="tableData" />
<!-- <div class="tableBox">
<div class="title">
{{ title }}
<el-button class="print" v-show="shows" @click="openPrint()"
>打印</el-button
>
<el-button class="print" v-show="shows" @click="openPrint()">打印</el-button>
<div class="checkbox">
<el-checkbox-group v-model="checkList" @change="checkChange">
<el-checkbox
v-for="item in qsztList"
:key="item.value"
:label="item.value"
>{{ item.label }}</el-checkbox
>
:label="item.value">{{ item.label }}</el-checkbox>
</el-checkbox-group>
</div>
</div>
......@@ -48,24 +44,18 @@
item.prop == 'qszt' && row.qlzt == '2' ? 'linshiIcon' : '',
item.prop == 'qszt' && row.qlzt == '1' ? 'xianshiIcon' : '',
item.prop == 'qszt' && row.qlzt == '4' ? 'zhuxiaoIcon' : '',
]"
>
]">
<div
class="setbut"
v-if="item.prop == 'cz' && row.sjlx != '系统数据'"
>
v-if="item.prop == 'cz' && row.sjlx != '系统数据'">
<el-button
type="text"
icon="el-icon-edit-outline"
@click="editDialog(row)"
>编辑</el-button
>
@click="editDialog(row)">编辑</el-button>
<el-button
type="text"
icon="el-icon-edit-outline"
@click="editDialog(row, 'D')"
>删除</el-button
>
@click="editDialog(row, 'D')">删除</el-button>
</div>
<div class="icon" v-if="item.prop == 'qszt' && row.qlzt == '1'">
有效
......@@ -92,8 +82,7 @@
effect="dark"
:content="row[item.prop]"
placement="top"
popper-class="tooltip-width"
>
popper-class="tooltip-width">
<span class="ellipsis-line">
{{ row[item.prop] }}
</span>
......@@ -103,162 +92,84 @@
</tr>
</table>
</div>
</div>
</div> -->
</div>
</template>
<script>
import printTemplate from "./components/printTemplate.vue";
import { datas } from "./qlxxFormData.js";
import { getSjlx } from "@/utils/dictionary.js";
import { getFdcq2List } from "@/api/djbDetail.js";
export default {
components: {
printTemplate,
},
data() {
return {
import { datas } from "./qlxxFormData.js";
import { getSjlx } from "@/utils/dictionary.js";
import { getFdcq2List } from "@/api/djbDetail.js";
import djbDetail from "./components/djbDetail.vue"
import printTemplate from "./components/printTemplate.vue";
export default {
components: {
printTemplate,
djbDetail
},
shows: false,
title: "房地产权登记信息(独幢、层、套、间房屋)",
qsztList: datas.columns().qsztList,
checkList: datas.columns().checkList,
//传递参数
propsParam: this.$attrs,
//列表数据
tableData: [],
//空列值个数
emptycolNum: datas.columns().emptycolNum,
//列名称对象
columns: datas.columns().FDCQ2,
render: false,
};
},
created() {
this.loadData();
},
methods: {
/**
* @description: openPrint
* @author: miaofang
*/
openPrint() {
this.render = true;
setTimeout(() => {
this.prinsss();
}, 100);
data () {
return {
shows: false,
title: "房地产权登记信息(独幢、层、套、间房屋)",
//传递参数
propsParam: this.$attrs,
//列表数据
tableData: [],
//列名称对象
columns: datas.columns().FDCQ2,
// qsztList: datas.columns().qsztList,
render: false,
// checkList:datas.columns().checkList,
//空列值个数
// emptycolNum: datas.columns().emptycolNum
};
},
/**
* @description: prinsss
* @author: miaofang
*/
prinsss() {
printJS({
printable: "boxfdcq", // // 文档来源:pdf或图像的url,html元素的id或json数据的对象
type: "html",
maxWidth: 800, // 最大宽度
font_size: "", // 不设置则使用默认字体大小
style: `@font-face {
font-family: "STZHONGS";
src: url(${window.ttf}) format("truetype");
}`,
// 继承原来的所有样式
targetStyles: ["*"],
});
this.render = false
created () {
this.loadData();
},
/**
* @description: loadData
* @author: miaofang
*/
loadData() {
if (this.$parent.addRepairRecord) {
this.columns.unshift({ prop: "cz", label: "操作" });
}
getFdcq2List({
bdcdyid: this.propsParam.bdcdyid,
qllx: this.propsParam.qllx,
qszt: this.checkList,
}).then((res) => {
if (res.code === 200) {
this.tableData = res.result;
this.shows = this.tableData.length > 0;
this.tableData.forEach((item) => {
item.sjlx = getSjlx(item.sjlx);
});
if (this.tableData.length < datas.columns().emptycolNum) {
this.emptycolNum =
datas.columns().emptycolNum - this.tableData.length;
} else {
this.emptycolNum = 0;
}
methods: {
/**
* @description: loadData
* @author: miaofang
*/
loadData () {
if (this.$parent.addRepairRecord) {
this.columns.unshift({ prop: "cz", label: "操作" });
}
});
},
/**
* @description: checkChange
* @author: miaofang
*/
checkChange() {
if (this.checkList.length === 0) {
this.tableData = [];
this.emptycolNum = datas.columns().emptycolNum;
} else {
this.loadData();
}
},
/**
* @description: getQsztName
* @param {*} code
* @author: miaofang
*/
getQsztName(code) {
let name = "";
for (let item of this.qsztList) {
if (item.value == code) {
name = item.label;
break;
}
}
return name;
},
// 新增一条补录信息
/**
* @description: 新增一条补录信息
* @param {*} row
* @param {*} del
* @author: miaofang
*/
editDialog(row, del) {
this.$confirm("此操作将新增一条补录信息, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.$parent.addRepairRecord(row, del);
getFdcq2List({
bdcdyid: this.propsParam.bdcdyid,
qllx: this.propsParam.qllx,
qszt: this.checkList,
}).then((res) => {
if (res.code === 200) {
this.tableData = res.result;
this.shows = this.tableData.length > 0;
this.tableData.forEach((item) => {
item.sjlx = getSjlx(item.sjlx);
});
if (this.tableData.length < datas.columns().emptycolNum) {
this.emptycolNum =
datas.columns().emptycolNum - this.tableData.length;
} else {
this.emptycolNum = 0;
}
}
})
.catch(() => {
this.$message({
type: "info",
message: "取消",
});
});
},
},
};
}
}
};
</script>
<style lang="scss" scoped>
@import "./qlxxCommon.scss";
.title {
position: relative;
.print {
// background-color: #0079fe;
z-index: 10;
position: absolute;
left: 11px;
top: 5px;
@import "./qlxxCommon.scss";
.title {
position: relative;
.print {
// background-color: #0079fe;
z-index: 10;
position: absolute;
left: 11px;
top: 5px;
}
}
}
</style>
......
......@@ -8,7 +8,6 @@
<div v-show="false">
<printTemplate
id="boxjsydsyq"
:propsParam="propsParam"
:tableData="tableData"
:render="render"
/>
......
......@@ -8,7 +8,6 @@
<div v-show="false">
<printTemplate
id="boxldsyq"
:propsParam="propsParam"
:tableData="tableData"
:render="render"
/>
......
......@@ -8,7 +8,6 @@
<div v-show="false">
<printTemplate
id="boxnydsyq"
:propsParam="propsParam"
:tableData="tableData"
:render="render"
/>
......
......@@ -18,7 +18,6 @@
<div v-show="false">
<printTemplate
id="boxsllmsyq"
:propsParam="propsParam"
:tableData="tableData"
:render="render"
/>
......
......@@ -6,7 +6,7 @@
<template>
<div class="djxxTable">
<div v-show="false">
<printTemplate id="boxtdsyq" :propsParam="propsParam" :tableData="tableData" :render="render"/>
<printTemplate id="boxtdsyq" :tableData="tableData" :render="render"/>
</div>
<div class="tableBox">
<div class="title">
......
......@@ -6,7 +6,7 @@
<template>
<div class="djxxTable">
<div v-show="false">
<printTemplate id="boxygdj" :propsParam="propsParam" :tableData="tableData" :render="render"/>
<printTemplate id="boxygdj" :tableData="tableData" :render="render"/>
</div>
<div class="tableBox">
<div class="title">
......
......@@ -8,7 +8,6 @@
<div v-show="false">
<printTemplate
id="boxyydj"
:propsParam="propsParam"
:tableData="tableData"
:render="render"
/>
......
......@@ -8,51 +8,64 @@
<div class="fieldcheck">
<div class="left">
<div class="header">
<el-checkbox
class="check"
:indeterminate="isIndeterminate"
v-model="checkAll"
@change="handleCheckAllChange">待选合集</el-checkbox>
<div class="num">/</div>
<div class="headerconcent">
<el-checkbox
class="check"
:indeterminate="isIndeterminate"
v-model="checkAll"
@change="handleCheckAllChange"
>待选合集</el-checkbox
>
<div class="num">
总数{{ cities.length }} 已选{{ datalist.length }}
</div>
</div>
</div>
<el-checkbox-group
class="concent"
v-model="checkedCities"
@change="handleCheckedCitiesChange">
@change="handleCheckedCitiesChange"
>
<el-checkbox
v-for="city in cities"
:label="city.name"
:key="city.name">{{ city.despriction }}({{ city.name }})</el-checkbox>
:key="city.name"
>{{ city.despriction }}({{ city.name }})</el-checkbox
>
</el-checkbox-group>
</div>
<div class="right">
<el-table
class="tablelist"
:data="datalist"
border
ref="listTable"
:key="key"
row-key="name"
:pagination="false"
:header-cell-style="{ 'text-align': 'center' }"
:heightNumSetting="true"
:minHeight="150"
height="590"
style="width: 100%">
height="650"
style="width: 100%"
>
<el-table-column label="字段" prop="name" min-width="100">
</el-table-column>
<el-table-column
label="字段名称"
prop="desprictionor"
min-width="100">
min-width="100"
>
</el-table-column>
<el-table-column label="字段别名" min-width="100">
<template slot-scope="scope">
<el-input
v-model="scope.row.despriction"
placeholder="请输入内容"
@input="sumTime(scope.$index, scope.row.tdsyqx)">
></el-input>
@input="sumTime(scope.$index, scope.row.tdsyqx)"
>
></el-input
>
</template>
</el-table-column>
</el-table>
......@@ -66,222 +79,219 @@
</template>
<script>
import Sortable from 'sortablejs'
import { getFieldList, getFieldListByQlxx, save } from "@/api/SysDjbFieldDO";
export default {
props: {
formData: {
type: Object,
default: () => { },
},
import Sortable from "sortablejs";
import { getFieldList, getFieldListByQlxx, save } from "@/api/SysDjbFieldDO";
export default {
props: {
formData: {
type: Object,
default: () => {},
},
data () {
return {
checkAll: false,
sortable: null,
checkedCities: [],
cities: [],
datalist: [],
tablelist: [],
key: 0,
isIndeterminate: true,
};
},
mounted () {
this.generateData()
},
data() {
return {
checkAll: false,
sortable: null,
checkedCities: [],
cities: [],
datalist: [],
tablelist: [],
key: 0,
isIndeterminate: true,
};
},
mounted() {
this.generateData();
},
beforeDestroy() {
if (this.sortable) {
this.sortable.destroy();
}
},
watch: {
key: {
handler(newName, oldName) {
this.initSort();
},
},
beforeDestroy () {
if (this.sortable) {
this.sortable.destroy();
}
},
methods: {
changeIndex(array, index1, index2) {
array[index1] = array.splice(index2, 1, array[index1])[0];
},
watch: {
key: {
handler (newName, oldName) {
this.initSort()
}
}
initSort() {
const el = this.$refs.listTable.$el.querySelectorAll(
".el-table__body-wrapper > table > tbody"
)[0];
// const sortable = new Sortable(el, options);
// 根据具体需求配置options配置项
const sortable = new Sortable(el, {
onEnd: (evt) => {
// 监听拖动结束事件
console.log(this); // this是当前vue上下文
console.log(evt.oldIndex); // 当前行的被拖拽前的顺序
console.log(evt.newIndex); // 当前行的被拖拽后的顺序
// 这里就可以写我们需要传给后台的逻辑代码
// 我们有了 evt.oldIndex 和 evt.newIndex 这两个参数做索引,我们可以根据绑定在表格上面的 data 这个 Array 找到两个相应的记录。就可以针对数据进行操作啦。
// 下面将拖拽后的顺序进行修改
const currRow = this.datalist.splice(evt.oldIndex, 1)[0];
this.datalist.splice(evt.newIndex, 0, currRow);
},
});
},
methods: {
changeIndex (array, index1, index2) {
array[index1] = array.splice(index2, 1, array[index1])[0];
},
initSort () {
const el = this.$refs.listTable.$el.querySelectorAll('.el-table__body-wrapper > table > tbody')[0]
// const sortable = new Sortable(el, options);
// 根据具体需求配置options配置项
const sortable = new Sortable(el, {
onEnd: (evt) => { // 监听拖动结束事件
console.log(this) // this是当前vue上下文
console.log(evt.oldIndex) // 当前行的被拖拽前的顺序
console.log(evt.newIndex) // 当前行的被拖拽后的顺序
// 这里就可以写我们需要传给后台的逻辑代码
// 我们有了 evt.oldIndex 和 evt.newIndex 这两个参数做索引,我们可以根据绑定在表格上面的 data 这个 Array 找到两个相应的记录。就可以针对数据进行操作啦。
// 下面将拖拽后的顺序进行修改
const currRow = this.datalist.splice(evt.oldIndex, 1)[0]
this.datalist.splice(evt.newIndex, 0, currRow)
}
})
},
/**
* @description: 初始数据集
* @author: renchao
*/
generateData () {
let that = this
getFieldList({ qllx: this.formData.qllx }).then((res) => {
if (res.code === 200) {
let listss = res.result;
listss.forEach((item, index) => {
that.cities.push({
name: item.name,
despriction: item.despriction,
desprictionor: item.despriction,
});
});
getFieldListByQlxx({ qllx: this.formData.qllx }).then((res) => {
if (res.code === 200) {
let listss = res.result;
listss.forEach((item, index) => {
that.tablelist.push({
name: item.name,
despriction: item.despriction,
desprictionor: item.despriction,
});
that.$nextTick(() => {
that.datalist = this.tablelist
that.checkedCities.push(item.name);
})
})
that.initSort()
}
/**
* @description: 初始数据集
* @author: renchao
*/
generateData() {
let that = this;
getFieldList({ qllx: this.formData.qllx }).then((res) => {
if (res.code === 200) {
let listss = res.result;
listss.forEach((item, index) => {
that.cities.push({
name: item.name,
despriction: item.despriction,
desprictionor: item.despriction,
});
}
});
},
handleCheckAllChange (val) {
let checkedlist = []
let orlist = []
checkedlist = val ? this.cities : [];
this.isIndeterminate = false;
console.log("this.checkedCities", this.checkedCities);
let lists = [];
this.cities.forEach((item, index) => {
checkedlist.forEach((el) => {
orlist.push(el.name)
if (item.name == el.name) {
lists.push(this.cities[index]);
}
});
});
this.checkedCities = orlist
this.datalist = lists;
// 其他排序逻辑
this.initSort()
},
handleCheckedCitiesChange (value) {
console.log("value", value, this.checkedCities);
let checkedCount = value.length;
this.checkAll = checkedCount === this.cities.length;
this.isIndeterminate =
checkedCount > 0 && checkedCount < this.cities.length;
let lists = [];
this.cities.forEach((item, index) => {
this.checkedCities.forEach((el) => {
if (item.name == el) {
console.log("1");
lists.push(this.cities[index]);
getFieldListByQlxx({ qllx: this.formData.qllx }).then((res) => {
if (res.code === 200) {
let listss = res.result;
listss.forEach((item, index) => {
that.tablelist.push({
name: item.name,
despriction: item.despriction,
desprictionor: item.despriction,
});
that.$nextTick(() => {
that.datalist = this.tablelist;
that.checkedCities.push(item.name);
});
});
that.initSort();
}
});
}
});
},
handleCheckAllChange(val) {
let checkedlist = [];
let orlist = [];
checkedlist = val ? this.cities : [];
this.isIndeterminate = false;
console.log("this.checkedCities", this.checkedCities);
let lists = [];
this.cities.forEach((item, index) => {
checkedlist.forEach((el) => {
orlist.push(el.name);
if (item.name == el.name) {
lists.push(this.cities[index]);
}
});
this.datalist = lists;
// 其他排序逻辑
this.initSort()
},
submitForm () {
save(this.formData.bsmMb, this.datalist).then((res) => {
if (res.code == 200) {
this.$popupCacel();
this.$message({
message: "保存成功",
type: "success",
});
} else {
this.$message({
message: "保存失败",
type: "error",
});
});
this.checkedCities = orlist;
this.datalist = lists;
// 其他排序逻辑
this.initSort();
},
handleCheckedCitiesChange(value) {
console.log("value", value, this.checkedCities);
let checkedCount = value.length;
this.checkAll = checkedCount === this.cities.length;
this.isIndeterminate =
checkedCount > 0 && checkedCount < this.cities.length;
let lists = [];
this.cities.forEach((item, index) => {
this.checkedCities.forEach((el) => {
if (item.name == el) {
lists.push(this.cities[index]);
}
});
},
});
this.datalist = lists;
// 其他排序逻辑
this.initSort();
},
submitForm() {
save(this.formData.bsmMb, this.datalist).then((res) => {
if (res.code == 200) {
this.$popupCacel();
this.$message({
message: "保存成功",
type: "success",
});
} else {
this.$message({
message: "保存失败",
type: "error",
});
}
});
},
};
},
};
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
@import "~@/styles/dialogBoxheader.scss";
.fieldcheck {
width: 100%;
@import "~@/styles/mixin.scss";
@import "~@/styles/dialogBoxheader.scss";
.fieldcheck {
width: 100%;
height: 650px;
display: flex;
justify-content: space-between;
.left,
.right {
width: 49%;
height: 650px;
display: flex;
justify-content: space-between;
.left,
.right {
width: 47%;
height: 650px;
border: 1px solid rgb(230, 230, 230);
}
.left {
.header {
width: 100%;
border: 1px solid rgb(230, 230, 230);
}
.left {
.header {
width: 100%;
height: 50px;
background-color: rgba(243, 242, 242, 0.897);
.headerconcent {
width: 90%;
height: 50px;
margin: auto;
line-height: 50px;
background-color: rgba(243, 242, 242, 0.897);
display: flex;
justify-content: space-around;
align-items:center .check {
height: 20px;
margin: auto;
}
.num {
height: 20px;
}
}
.concent {
padding: 10px;
width: 100%;
display: inline-block;
padding-left: 20px;
overflow-x: hidden;
height: 600px;
.el-checkbox {
width: 100%;
padding: 10px;
}
.el-checkbox:hover {
padding: 10px;
background-color: rgba(243, 242, 242, 0.897);
}
justify-content: space-between;
align-items: center;
}
}
.right {
.header {
.concent {
padding: 10px;
width: 100%;
display: inline-block;
padding-left: 20px;
overflow-x: hidden;
height: 600px;
.el-checkbox {
width: 100%;
height: 50px;
line-height: 50px;
background-color: rgba(243, 242, 242, 0.897);
padding: 10px;
}
.tablelist {
margin-top: 10px;
height: 680px;
.el-checkbox:hover {
padding: 10px;
background-color: rgba(243, 242, 242, 0.897);
}
}
}
.btn {
margin-top: 10px;
width: 100%;
text-align: center;
.right {
.header {
width: 100%;
height: 50px;
line-height: 50px;
background-color: rgba(243, 242, 242, 0.897);
}
}
}
.btn {
margin-top: 10px;
width: 100%;
text-align: center;
}
</style>
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-09-13 11:26:39
* @LastEditTime: 2023-09-15 10:02:12
-->
<template>
<div class="clxx">
......@@ -167,6 +167,7 @@
//type 1:列表初始化 2:新增材料
return new Promise((resolve) => {
this.unitData = this.$parent.unitData;
console.log(this.$parent.unitData, 'this.$parent.unitData;');
var formdata = new FormData();
formdata.append("bsmSlsq", this.$parent.bsmSlsq);
if (this.$route.query.sqywbm == "DJBBL") {
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-09-13 15:58:06
* @LastEditTime: 2023-09-15 10:04:28
-->
<template>
<div class="clmlmx-box">
......@@ -232,7 +232,6 @@
* @param {*} row
*/
handleDelete (index, row) {
let that = this
this.$confirm('此操作将永久删除该 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-09-13 17:08:19
* @LastEditTime: 2023-09-14 16:37:15
-->
<template>
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px">
......@@ -28,25 +28,30 @@
:calcHeight="300">
</lb-table>
<el-row>
<el-col :span="6">
<el-form-item label="领证人" prop="lzrxm">
<el-col :span="3">
<el-form-item label="身份证读卡器">
<el-button type="text" icon="el-icon-tickets" @click="readClick">读取</el-button>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="领证人" prop="lzrxm" label-width="70px">
<el-input v-model="ruleForm.lzrxm"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="证件类型" prop="lzrzjlb">
<el-col :span="5">
<el-form-item label="证件类型" prop="lzrzjlb" label-width="80px">
<el-select v-model="ruleForm.lzrzjlb" filterable clearable placeholder="请选择">
<el-option v-for="item in lzrzjlbData" :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-col :span="5">
<el-form-item label="证件号" prop="lzrzjh" label-width="70px">
<el-input v-model="ruleForm.lzrzjh"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-col :span="5">
<el-form-item label="领证人电话" prop="lzrdh">
<el-input v-model="ruleForm.lzrdh"></el-input>
</el-form-item>
......@@ -62,7 +67,8 @@
import Vue from 'vue'
import store from '@/store/index.js'
import table from "@/utils/mixin/table";
import { getUnclaimedBdcqz, issueCertificate,getBdcqzQlr } from "@/api/bdcqz.js";
import { getIdCardInfo } from '@/utils/operation.js'
import { getUnclaimedBdcqz, issueCertificate, getBdcqzQlr } from "@/api/bdcqz.js";
import { datas } from "../../javascript/fzxxdata";
export default {
props: {
......@@ -115,6 +121,29 @@
},
methods: {
/**
* @description: 身份证打卡器
* @author: renchao
*/
readClick () {
getIdCardInfo().then(res => {
if (res.data.code == 0) {
let data = res.data.IDCardInfo
this.ruleForm.lzrxm = data.name
this.ruleForm.lzrzjlb = '1'
this.ruleForm.lzrzjh = data.cardID
this.$message({
message: '读取成功!',
type: 'success'
})
} else {
this.$message({
message: res.data.message,
type: 'warning'
})
}
})
},
/**
* @description: 列表初始化
* @author: renchao
*/
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-09-06 15:20:16
* @LastEditTime: 2023-09-14 17:19:26
-->
<template>
<div class="slxx sdqxx">
......@@ -119,10 +119,6 @@
formdata.append("bsmSldy", this.propsParam.bsmSldy);
formdata.append("djlx", this.propsParam.djlx);
formdata.append("isEdit", this.viewEdit);
// Init(formdata).then((res) => {
// if (res.code === 200 && res.result) {
// }
// });
},
data () {
return {
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-09-13 16:16:08
* @LastEditTime: 2023-09-14 16:06:51
-->
<template>
<div>
<canvas id="mxcad" style="width:100%;height:100%">
<div style="width:90%;height:100%;">
<canvas id="mxcad" style="width:90%;height:80%; position: relative;top:0">
</canvas>
</div>
</template>
......@@ -20,20 +20,17 @@
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: false // 是否新建文件
isNewFile: true // 是否新建文件
})
})
}
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-09-13 13:57:48
* @LastEditTime: 2023-09-14 17:19:13
-->
<template>
<div class="container">
......@@ -194,7 +194,8 @@
setTimeout(() => {
this.prinsss()
}, 100)
} else {
this.$message.error(res.message);
}
})
},
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-09-12 13:46:29
* @LastEditTime: 2023-09-14 16:24:07
-->
<template>
<div class="rlPopup">
......@@ -86,7 +86,7 @@
// 缩略图
thumbnailImages: [],
showViewer: false,
initialIndex: undefined,
initialIndex: 0,
allLi: [],
}
},
......@@ -152,6 +152,7 @@
} else {
this.previewImg.index = this.previewImg.index + 1
}
this.initialIndex = this.previewImg.index
this.$emit('updateList', { children: res.result, bsmMaterial: this.previewImg.bsmMaterial })
this.$message({
message: '移动成功!',
......@@ -238,6 +239,7 @@
*/
showCurrent (index) {
this.previewImg.index = index
this.initialIndex = index
},
/**
* @description: closeViewer
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-08-16 09:50:02
* @LastEditTime: 2023-09-14 17:19:40
-->
<template>
<div class="slxx">
......@@ -310,6 +310,8 @@
Init(formdata).then((res) => {
if (res.code === 200 && res.result) {
this.ruleForm = res.result;
} else {
this.$message.error(res.message);
}
});
},
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-09-12 09:59:18
* @LastEditTime: 2023-09-14 17:19:58
-->
<template>
<!-- 受理信息 -->
......@@ -365,6 +365,7 @@
import { mapGetters } from "vuex";
export default {
mounted () {
let that = this
this.loading = true
this.viewEdit = this.$parent.currentSelectTab.ableOperation;
this.propsParam = this.$attrs;
......@@ -381,14 +382,16 @@
this.loading = false
}, 200)
if (res.code === 200 && res.result) {
this.ruleForm = res.result;
this.czrOptions = this.ruleForm.qlrList;
that.ruleForm = res.result;
that.czrOptions = this.ruleForm.qlrList;
that.ruleForm.qlrList.forEach((item) => {
if (item.sfczr == 1) {
that.czr = item.zjh
}
})
} else {
that.$message.error(res.message);
}
this.ruleForm.qlrList.forEach((item) => {
if (item.sfczr == 1) {
this.czr = item.zjh
}
});
}).catch(() => {
this.loading = false
})
......
<!--
* @Description: 房屋多幢受理信息
* @Autor: ssq
* @LastEditTime: 2023-09-13 14:41:34
* @LastEditTime: 2023-09-14 17:20:40
-->
<template>
<div class="slxx">
......@@ -105,16 +105,44 @@
<el-row :gutter="10" v-if="ruleForm.fdcq1">
<el-col :span="8">
<el-form-item label="独用土地面积:">
<el-input :disabled="!viewEdit" maxlength="12" v-model="ruleForm.fdcq1.dytdmj"></el-input>
<div class="flex">
<el-input
maxlength="12"
v-model="ruleForm.fdcq1.dytdmj"
:disabled="!viewEdit"
oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input>
<el-select disabled v-model="mjdw" style="width: 68px">
<el-option
v-for="item in dictData['A7']"
:key="item.dcode"
:label="item.dname"
:value="item.dcode">
</el-option>
</el-select>
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="分摊土地面积:">
<el-input :disabled="!viewEdit" maxlength="12" v-model="ruleForm.fdcq1.fttdmj"></el-input>
<div class="flex">
<el-input
maxlength="12"
v-model="ruleForm.fdcq1.fttdmj"
:disabled="!viewEdit"
oninput="value = (value.match(/^\d*(\.?\d{0,2})/g)[0]) || null"></el-input>
<el-select disabled v-model="mjdw" style="width: 68px">
<el-option
v-for="item in dictData['A7']"
:key="item.dcode"
:label="item.dname"
:value="item.dcode">
</el-option>
</el-select>
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="房地产交易价格:">
<div class="flex">
<el-input
......@@ -285,6 +313,8 @@
}
});
this.czrOptions = this.ruleForm.qlrList;
} else {
this.$message.error(res.message);
}
})
},
......@@ -298,6 +328,7 @@
disabled: true,
tdytOption: [],
czrOptions: [],
mjdw: "1",
czr: "",
ruleForm: {
flow: {
......
<!--
* @Description: 受理信息
* @Autor: renchao
* @LastEditTime: 2023-09-12 10:04:14
* @LastEditTime: 2023-09-14 17:17:56
-->
<template>
<div class="slxx">
......@@ -440,6 +440,8 @@
}
});
this.czrOptions = this.ruleForm.qlrList;
} else {
this.$message.error(res.message);
}
}).catch(() => {
this.loading = false
......
<!--
* @Description: 受理信息
* @Autor: renchao
* @LastEditTime: 2023-09-13 14:16:46
* @LastEditTime: 2023-09-14 17:20:53
-->
<template>
<div class="slxx">
......@@ -299,6 +299,8 @@
}
});
this.czrOptions = this.ruleForm.qlrList;
} else {
this.$message.error(res.message);
}
}).catch(() => {
this.loading = false
......
<!--
* @Description: 受理信息
* @Autor: renchao
* @LastEditTime: 2023-09-13 14:17:15
* @LastEditTime: 2023-09-14 17:20:59
-->
<template>
<div class="slxx">
......@@ -296,6 +296,8 @@
this.czrOptions = this.ruleForm.qlrList;
this.gyfs = this.ruleForm.sldyList[0].gyfs;
this.splicingFdcq2Info();
} else {
this.$message.error(res.message);
}
this.ruleForm.qlrList.forEach((item) => {
if (item.sfczr == 1) {
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-09-13 14:05:26
* @LastEditTime: 2023-09-14 17:21:04
-->
<template>
<!-- 受理信息 -->
......@@ -264,6 +264,8 @@
}
});
this.czrOptions = this.ruleForm.qlrList;
} else {
this.$message.error(res.message);
}
}).catch(() => {
this.loading = false
......@@ -356,6 +358,8 @@
...res.result.qlxxdatas,
...res.result.jsydsyqdatas,
};
} else {
this.$message.error(res.message);
}
});
},
......
......@@ -2,7 +2,7 @@
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-09-13 14:17:49
* @LastEditTime: 2023-09-14 17:21:19
-->
<template>
<!-- 受理信息 -->
......@@ -239,6 +239,8 @@
if (res.code === 200 && res.result) {
this.ruleForm = res.result;
this.czrOptions = this.ruleForm.qlrList;
} else {
this.$message.error(res.message);
}
this.ruleForm.qlrList.forEach((item) => {
if (item.sfczr == 1) {
......
......@@ -352,6 +352,8 @@
setTimeout(() => {
this.loading = false
}, 200)
} else {
this.$message.error(res.message);
}
})
},
......
......@@ -345,6 +345,8 @@
? (this.ruleForm.slsq.fzfs = "1")
: this.ruleForm.slsq.fzfs;
this.czrOptions = this.ruleForm.qlrList;
} else {
this.$message.error(res.message);
}
});
},
......
......@@ -227,9 +227,11 @@
if (item.sfczr == 1) {
this.czr = item.zjh
}
});
})
} else {
this.$message.error(res.message);
}
});
})
},
components: { qlrCommonTable, ywrCommonTable },
computed: {
......
......@@ -327,6 +327,8 @@
setTimeout(() => {
that.loading = false
}, 200)
} else {
this.$message.error(res.message);
}
})
},
......
......@@ -345,6 +345,8 @@
this.czr = item.zjh
}
})
} else {
this.$message.error(res.message);
}
}).catch(() => {
this.loading = false
......
......@@ -84,9 +84,15 @@ class data extends filter {
minWidth: '150',
},
{
prop: "bdcqzh",
label: "不动产权证号",
minWidth: '150'
minWidth: '150',
render: (h, scope) => {
return (
<el-tooltip effect="dark" content={scope.row.bdcqzh} placement="top" popper-class="tooltip-width ">
<span class="ellipsis-table"> {scope.row.bdcqzh}</span>
</el-tooltip>
)
}
},
{
prop: "qlrmc",
......@@ -119,9 +125,15 @@ class data extends filter {
minWidth: '80'
},
{
prop: "zl",
label: "坐落",
minWidth: '150'
minWidth: '150',
render: (h, scope) => {
return (
<el-tooltip effect="dark" content={scope.row.zl} placement="top" popper-class="tooltip-width ">
<span class="ellipsis-table"> {scope.row.zl}</span>
</el-tooltip>
)
}
},
{
label: '操作',
......
......@@ -23,6 +23,21 @@ class data extends filter {
}
},
{
label: "证书状态",
width: '80',
render: (h, scope) => {
return (
<div>
{
scope.row.zszt=='1' ?
<div class='allow'>有效</div> :
<div class='prohibit'>失效</div>
}
</div>
)
}
},
{
label: "领取状态",
width: '80',
render: (h, scope) => {
......@@ -38,31 +53,45 @@ class data extends filter {
}
},
{
prop: "lzrxm",
label: "领取人",
width: '100'
},
{
prop: "fzsj",
label: "领取时间",
width: '140'
label: "不动产权证类型",
width: '120',
render: (h, scope) => {
return (
<div>
{
scope.row.bdcqzlx=='1' ?
<div>不动产权证书</div> :
<div>不动产登记证明</div>
}
</div>
)
}
},
// {
// prop: "lzrxm",
// label: "领取人",
// width: '100'
// },
// {
// prop: "fzsj",
// label: "领取时间",
// width: '140'
// },
{
prop: "ywh",
label: "业务号",
width: '100'
},
{
prop: "ysxlh",
label: "印刷序列号",
width: '100'
},
{
label: "权利类型",
prop: "qllx",
},
{
prop: "ysxlh",
label: "印刷序列号",
width: '100'
},
{
prop: "bdcqzh",
label: "不动产权证号",
minWidth: '150',
......@@ -101,7 +130,7 @@ class data extends filter {
}
},
{
label: "证书内容",
label: "证书详情",
width: '80',
render: (h, scope) => {
return (
......