883c8291 by tianhaohao@pashanhoo.com

整合工作流相关组件分类

1 parent cc5973a3
Showing 34 changed files with 413 additions and 380 deletions
......@@ -53,7 +53,7 @@ export function getForm (tabName) {
break;
//森林林木使用权
case "sllmslxx":
form = require("@/views/ywbl/slsqxx/sllmslxx");
form = require("@/views/workflow/main/slsqxx/sllmslxx");
break;
case "slxxjsydsyq":
form = require("@/views/djbworkflow/djbBook/components/blxxtabs/jsydsyq.vue");
......
......@@ -60,7 +60,7 @@
<div class="slxx_title title-block" v-else>
查封不动产列表({{ ruleForm.ztQlxxList.length }} 个)
<div class="triangle"></div>
<cfBdcdyTable :tableData="ruleForm.ztQlxxList" />
<qlxxTable :tableData="ruleForm.ztQlxxList" />
</div>
<div class="slxx_title title-block" v-if="!ruleForm.slsq.djywbm.includes('400')">
批量查封信息
......@@ -162,7 +162,8 @@
</div>
</template>
<script>
import cfBdcdyTable from "@/views/workflow/components/cfBdcdyTable";
//import cfBdcdyTable from "@/views/workflow/components/cfBdcdyTable";
import qlxxTable from "../commonTable/qlxxTable.vue";
import cfdjTable from "@/views/workflow/components/cfdjTable";
import { BatchInit, batchSaveData } from "@/api/workflow/cfdjFlow.js";
import { mapGetters } from "vuex";
......@@ -205,7 +206,7 @@
}
})
},
components: { cfBdcdyTable,cfdjTable },
components: { qlxxTable,cfdjTable },
props: {
flag: {
type: Boolean,
......
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-09-11 15:32:32
*/
import filter from '@/utils/filter.js'
let vm = null
const sendThis = (_this) => {
vm = _this
}
class data1 extends filter {
constructor() {
super()
}
columns () {
return [
{
prop: "sqrmc",
label: "姓名/名称",
},
{
prop: "zjzlMc",
label: "证件种类"
},
{
prop: "zjh",
label: "证件号",
},
{
prop: "frmc",
label: "法人名称",
},
{
prop: "dwdz",
label: "地址",
},
{
prop: "dh",
label: "联系电话",
}
]
}
}
class data2 extends filter {
constructor() {
super()
}
columns () {
return [
{
prop: "sqrmc",
label: "姓名/名称",
},
{
prop: "zjzlMc",
label: "证件种类",
},
{
prop: "zjh",
label: "证件号",
},
{
prop: "frmc",
label: "法人名称",
},
{
prop: "dwdz",
label: "地址",
},
{
prop: "dh",
label: "联系电话",
},
]
}
}
let dataYh = new data1()
let dataQy = new data2()
export {
dataYh,
dataQy,
sendThis
}
......@@ -8,12 +8,8 @@
</lb-table>
</template>
<script>
// import addQlr from './dialog/addQlr.vue'
import { mapGetters } from 'vuex'
import { mapGetters } from 'vuex';
export default {
components: {
},
computed: {
...mapGetters(["dictData"]),
},
......@@ -23,20 +19,12 @@
default: function () {
return []
}
},
gyfs: {
type: String,
default: '1'
}
},
data () {
return {
key: 0,
dataIndex: 0,
dialog: false,
details: {},
tableDataList: [],
qlrCommonTable: [
column: [
{
label: '序号',
type: 'index',
......@@ -88,48 +76,8 @@
{
prop: "zl",
label: "坐落"
},
],
column: this.qlrCommonTable
}
},
watch: {
tableData: {
handler: function (val, oldVal) {
let that = this
if (val.length == 0 || !val) {
that.tableDataList = _.cloneDeep([{
sqrmc: '',
dlrzjlx: '',
dlrzjh: '',
fr: ''
}])
} else {
that.tableDataList = _.cloneDeep(val)
}
},
immediate: true,
deep: true
},
gyfs: {
handler (newVal, oldValue) {
let dataList = _.cloneDeep(this.qlrCommonTable)
if (newVal == '1') {
this.column = _.cloneDeep(dataList).slice(1, dataList.length)
} else if ((newVal == '2')) {
this.column = dataList
} else {
this.column = _.cloneDeep(dataList)
this.column.splice(
2, 0, {
prop: "qlbl",
label: "份数"
})
}
},
immediate: true
]
}
},
methods: {
......
......@@ -8,12 +8,8 @@
</lb-table>
</template>
<script>
import addQlr from '../../../components/dialog/addQlr.vue'
import { mapGetters } from 'vuex'
export default {
components: {
addQlr
},
computed: {
...mapGetters(["dictData"]),
},
......@@ -23,20 +19,12 @@
default: function () {
return []
}
},
gyfs: {
type: String,
default: '1'
}
},
data () {
return {
key: 0,
dataIndex: 0,
dialog: false,
details: {},
tableDataList: [],
qlrCommonTable: [
column: [
{
label: '序号',
type: 'index',
......@@ -92,48 +80,8 @@
{
prop: "zl",
label: "坐落"
},
],
column: this.qlrCommonTable
}
},
watch: {
tableData: {
handler: function (val, oldVal) {
let that = this
if (val.length == 0 || !val) {
that.tableDataList = _.cloneDeep([{
sqrmc: '',
dlrzjlx: '',
dlrzjh: '',
fr: ''
}])
} else {
that.tableDataList = _.cloneDeep(val)
}
},
immediate: true,
deep: true
},
gyfs: {
handler (newVal, oldValue) {
let dataList = _.cloneDeep(this.qlrCommonTable)
if (newVal == '1') {
this.column = _.cloneDeep(dataList).slice(1, dataList.length)
} else if ((newVal == '2')) {
this.column = dataList
} else {
this.column = _.cloneDeep(dataList)
this.column.splice(
2, 0, {
prop: "qlbl",
label: "份数"
})
}
},
immediate: true
]
}
},
methods: {
......
......@@ -8,12 +8,8 @@
</lb-table>
</template>
<script>
// import addQlr from './dialog/addQlr.vue'
import { mapGetters } from 'vuex'
export default {
components: {
},
computed: {
...mapGetters(["dictData"]),
},
......@@ -23,20 +19,12 @@
default: function () {
return []
}
},
gyfs: {
type: String,
default: '1'
}
},
data () {
return {
key: 0,
dataIndex: 0,
dialog: false,
details: {},
tableDataList: [],
qlrCommonTable: [
column: [
{
label: '序号',
type: 'index',
......@@ -85,41 +73,9 @@
prop: "showfwjg",
label: "房屋结构"
},
],
column: this.qlrCommonTable
]
}
},
watch: {
tableData: {
handler: function (val, oldVal) {
let that = this;
if (val.length == 0 || !val) {
} else {
that.tableDataList = _.cloneDeep(val)
}
},
immediate: true,
deep: true
},
gyfs: {
handler (newVal, oldValue) {
let dataList = _.cloneDeep(this.qlrCommonTable)
if (newVal == '1') {
this.column = _.cloneDeep(dataList).slice(1, dataList.length)
} else if ((newVal == '2')) {
this.column = dataList
} else {
this.column = _.cloneDeep(dataList)
this.column.splice(
2, 0, {
prop: "qlbl",
label: "份数"
})
}
},
immediate: true
}
},
},
methods: {
}
}
......
......@@ -8,12 +8,8 @@
</lb-table>
</template>
<script>
import addQlr from '../../../components/dialog/addQlr.vue'
import { mapGetters } from 'vuex'
export default {
components: {
addQlr
},
computed: {
...mapGetters(["dictData"]),
},
......@@ -23,20 +19,12 @@
default: function () {
return []
}
},
gyfs: {
type: String,
default: '1'
}
}
},
data () {
return {
key: 0,
dataIndex: 0,
dialog: false,
details: {},
tableDataList: [],
qlrCommonTable: [
column: [
{
label: '序号',
type: 'index',
......@@ -85,45 +73,7 @@
prop: "zl",
label: "坐落"
},
],
column: this.qlrCommonTable
}
},
watch: {
tableData: {
handler: function (val, oldVal) {
let that = this
if (val.length == 0 || !val) {
that.tableDataList = _.cloneDeep([{
sqrmc: '',
dlrzjlx: '',
dlrzjh: '',
fr: ''
}])
} else {
that.tableDataList = _.cloneDeep(val)
}
},
immediate: true,
deep: true
},
gyfs: {
handler (newVal, oldValue) {
let dataList = _.cloneDeep(this.qlrCommonTable)
if (newVal == '1') {
this.column = _.cloneDeep(dataList).slice(1, dataList.length)
} else if ((newVal == '2')) {
this.column = dataList
} else {
this.column = _.cloneDeep(dataList)
this.column.splice(
2, 0, {
prop: "qlbl",
label: "份数"
})
}
},
immediate: true
]
}
},
methods: {
......
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2024-01-18 14:55:20
-->
<template>
<div>
<lb-table :column="column" :pagination="false" :key="key" :heightNumSetting="true" :minHeight="0" :rowStyleHeight='25'
:data="tableDataList">
</lb-table>
<addSqr v-model="dialog" :details="details" :showButton="disabled" @updateDetail="handleupdateDetail" />
</div>
</template>
<script>
import { mapGetters } from 'vuex'
import { getIdCardInfo } from '@/utils/operation.js'
import addSqr from './addSqr.vue'
export default {
components: {
addSqr
},
computed: {
...mapGetters(["dictData"]),
},
props: {
tableData: {
type: Array,
default: function () {
return []
}
},
disabled: {
type: Boolean,
default: true
}
},
data () {
return {
key: 0,
dataIndex: 0,
dialog: false,
isaddupdate: false,
details: {},
tableDataList: [],
InformationTable: [
{
width: '50',
renderHeader: (h, scope) => {
return <div> {
!this.disabled ? '序号' : <i class="el-icon-plus pointer" onClick={() => { this.addClick() }}></i>
}
</div>
},
render: (h, scope) => {
return (
<div>
{
!this.disabled ? <span>{scope.$index + 1}</span> :
<i class="el-icon-minus pointer" onClick={() => { this.deleClick(scope.$index, scope.row) }}></i>
}
</div>
)
}
},
{
label: '身份证读卡器',
align: 'center',
render: (h, scope) => {
return <el-button type="text" icon="el-icon-tickets" disabled={!this.disabled} onClick={() => { this.readClick(scope.row) }}>读取</el-button>
}
},
{
prop: "sqrmc",
label: "姓名/名称"
},
{
prop: "zjzl",
label: "证件种类",
render: (h, scope) => {
return this.dictData['A30'] && this.dictData['A30'].map(option => {
if (option.dcode == scope.row.zjzl) {
return <span>{option.dname}</span>
}
})
}
},
{
prop: "zjh",
label: "证件号"
},
{
prop: "dh",
label: "联系电话"
},
{
label: '操作',
render: (h, scope) => {
return (
<div>
{
this.disabled ? <el-button
icon="el-icon-edit-outline"
type="text"
onClick={() => { this.editClick(scope.$index, scope.row) }}>编辑</el-button> : <el-button
icon="el-icon-view"
type="text"
onClick={() => { this.queryViewClick(scope.$index, scope.row) }} > 查看</el-button>
}
</div>
)
}
}
],
column: []
}
},
watch: {
tableData: {
handler: function (val, oldVal) {
let that = this
this.$nextTick(() => {
if (val.length == 0 || !val) {
} else {
that.tableDataList = _.cloneDeep(val)
that.key++
}
})
},
immediate: true,
deep: true
}
},
methods: {
/**
* @description: handleupdateDetail
* @param {*} value
* @author: renchao
*/
handleupdateDetail (value) {
let that = this
let arr = this.tableData.map(item => item.zjh)
if (this.isaddupdate) {
if (!_.isEqual(value, this.tableData)) {
this.tableDataList[this.tableDataList.length] = _.cloneDeep(value);
this.$emit("upDateQlrxxList", this.tableDataList);
}
} else {
if (!_.isEqual(value, this.tableData)) {
this.tableDataList[this.dataIndex] = _.cloneDeep(value);
this.$emit("upDateQlrxxList", this.tableDataList);
}
}
this.key++
},
/**
* @description: 新增
* @author: renchao
*/
addClick () {
if (this.gyfs == '0' && this.tableDataList.length > 0) {
this.$message.warning("当前共有方式为单独所有,无法添加多个权利人")
} else {
this.key++
this.details = {
sqrmc: '',
zjzl: '1',
zjh: '',
xb: '',
txdz: '',
fzjg: ''
}
this.dialog = true
this.isaddupdate = true
}
},
/**
* @description: 删除
* @param {*} index
* @param {*} row
* @author: renchao
*/
deleClick (index, row) {
this.tableDataList.splice(index, 1)
this.$emit('upDateQlrxxList', this.tableDataList)
this.key++
},
/**
* @description: 身份证读取
* @param {*} row
* @author: renchao
*/
readClick (row) {
function getObjectByValue (arrayOfObjects, value) {
var name = ''
arrayOfObjects.forEach(item => {
if (item.dname.includes(value)) name = item.dcode
})
return name
}
getIdCardInfo(this.BASE_API.gaopaiyi).then(res => {
if (this.BASE_API.gaopaiyi == 'jy') {
const {
Name,
IdNo,
Sex,
Address,
Agencvy,
PhotoB64
} = JSON.parse(res)
if (Name != '') {
row.sqrmc = Name;
row.zjzl = '1';
row.zjh = IdNo;
row.xb = getObjectByValue(this.dictData['A43'], Sex);
row.txdz = Address;
row.fzjg = Agencvy;
row.avatar = 'data:image/png;base64,' + PhotoB64
this.$message({
message: '读取成功!',
type: 'success'
})
} else {
this.$message({
message: '请放置身份证',
type: 'warning'
})
}
} else {
if (res.data.code == 0) {
let data = res.data.IDCardInfo;
const {
name,
cardID: zjh,
sexCode: xb,
address: txdz,
issueOrgan: fzjg,
photoBase64
} = data
row.sqrmc = name;
row.zjzl = '1';
row.zjh = zjh;
row.xb = xb
row.txdz = txdz;
row.fzjg = fzjg;
row.avatar = 'data:image/png;base64,' + photoBase64
this.$message({
message: '读取成功!',
type: 'success'
})
} else {
this.$message({
message: res.data.message,
type: 'warning'
})
}
}
this.$emit('upDateQlrxxList', this.tableDataList)
})
},
/**
* @description: 修改
* @param {*} index
* @param {*} row
* @author: renchao
*/
editClick (index, row) {
this.details = row
this.details.gyfs = this.gyfs
this.dataIndex = index
this.dialog = true
this.isaddupdate = false
},
/**
* @description: queryViewClick
* @param {*} index
* @param {*} row
* @author: renchao
*/
queryViewClick (index, row) {
this.details = row
this.dialog = true
}
}
}
</script>
<style scoped lang="scss">
/deep/.el-table--small .el-table__cell {
padding: 0 0 !important;
}
/deep/.el-table th {
height: 30px !important;
}
/deep/.el-table .cell {
padding-right: 12px;
}
</style>
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-08-24 16:15:50
-->
<template>
<div class="djxxTable" :style="{'max-height': this.timeLineHeight + 'px' }"
style="overflow-y:scroll;">
<div class="tableBox">
<div class="title">
<span>{{ title }}</span>
</div>
<div class="xxTableBox">
<table class="xxTable">
<tr>
<td></td>
<td>变更前</td>
<td>变更后</td>
</tr>
<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="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>
</tr>
</table>
</div>
</div>
</div>
</template>
<script>
import { getFdcqLSInfo } from "@/api/djbDetail.js";
import { datas } from "@/views/registerBook/qlxxFormData.js";
export default {
data () {
return {
title: "房地产权登记信息(独幢、层、套、间房屋)",
qsztList: datas.columns().qsztList,
checkList: datas.columns().checkList,
//传递参数
propsParam: this.$attrs,
//列表数据
tableData: [],
//空列值个数
emptycolNum: 1,
//列名称对象
columns: datas.columns().FDCQ2,
tdColumns: datas.columns().JSYDSYQ
};
},
created () {
this.loadData();
},
mounted () {
this.timeLineHeight = document.documentElement.clientHeight - 210;
window.onresize = () => {
this.timeLineHeight = document.documentElement.clientHeight - 210;
};
},
methods: {
/**
* @description: loadData
* @author: renchao
*/
loadData () {
var formdata = new FormData();
formdata.append("bsmSldy", this.propsParam.formData.bsmSldy);
formdata.append("qllx", this.propsParam.formData.qllx);
formdata.append("isEdit", this.ableOperation);
getFdcqLSInfo(formdata).then((res) => {
if (res.code === 200) {
this.tableData = res.result;
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: 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;
},
},
};
</script>
<style lang="scss" scoped>
@import "~@/views/registerBook/qlxxCommon.scss";
</style>
......@@ -71,7 +71,7 @@
import { ywPopupDialog } from "@/utils/popup.js";
import { datas, sendThis } from "../javascript/selectH.js";
import { defaultParameters } from "../javascript/publicDefaultPar.js";
import { selectHQjdc } from "@/api/ywsq.js";
// import { selectHQjdc } from "@/api/ywsq.js";
import { startBusinessFlow, againAddSldy } from "@/api/workFlow.js";
export default {
mixins: [ywsqTable, jump],
......@@ -123,16 +123,16 @@
* @author: renchao
*/
queryClick () {
this.$startLoading();
this.queryForm.sqywbm = this.sqywInfo.djywbm;
selectHQjdc({ ...this.queryForm, ...this.pageData }).then((res) => {
this.$endLoading();
if (res.code === 200) {
let { total, records } = res.result;
this.tableData.total = total;
this.tableData.data = records;
}
});
// this.$startLoading();
// this.queryForm.sqywbm = this.sqywInfo.djywbm;
// selectHQjdc({ ...this.queryForm, ...this.pageData }).then((res) => {
// this.$endLoading();
// if (res.code === 200) {
// let { total, records } = res.result;
// this.tableData.total = total;
// this.tableData.data = records;
// }
// });
},
/**
* @description: submitForm
......