index.vue 15.2 KB
<template>
    <el-tabs v-model="activeName" >
        <el-tab-pane label="更正" name="gz">
            <div class="main">
                <!-- <p class="tips">查询条件</p> -->
                <SearchHead @getSearchCondition="geQuerytData" :type="type"></SearchHead>
                <!-- <p class="tips">查询列表</p> -->
                <div class="dataGrid" ref="dataGrid">
                    <el-table
                            :data="tableData"
                            :height="tableHeight"
                            :row-class-name="tableRowClassName"
                    >
                        <el-table-column type="index" width="80" align="center" label="序号">
                        </el-table-column>
                        <el-table-column prop="bdcdyh" align="left" label="不动产单元号">
                        </el-table-column>
                        <el-table-column prop="xmmc" align="left" width="150" label="项目名称">
                        </el-table-column>
                        <el-table-column prop="bdcqzh" align="left" label="不动产权证号">
                        </el-table-column>
                        <el-table-column prop="dylx" align="left" width="120" label="类型">
                            <template slot-scope="scope">
                                {{scope.row.dylx | bdcLxFilter}}
                            </template>
                        </el-table-column>
                        <el-table-column prop="qlr" align="left" width="120" label="权利人">
                        </el-table-column>
                        <el-table-column prop="zl" align="left" label="坐落"></el-table-column>
                        <el-table-column prop="addtime" align="left" width="120" label="转入时间">
                            <template slot-scope="scope">
                                {{scope.row.addtime | timeFilter}}
                            </template>
                        </el-table-column>
                        <!-- <el-table-column prop="cjr" align="left" width="120" label="创建人"> -->
                        <!-- </el-table-column> -->
                        <el-table-column label="操作" align="center"  width="100">
                            <template slot-scope="scope">
                                <el-tooltip class="item" effect="light" content="更正" placement="top">
                                    <i class="iconfont iconbanli iconfontEdit" @click="handleClick(scope.row)" style="padding:0 10px"></i>
                                </el-tooltip>
                                <el-tooltip class="item" effect="light" content="定位" placement="top">
                                    <i class="iconfont icondingwei iconfontEdit"></i>
                                </el-tooltip>
                            </template>
                            <!-- <template slot-scope="scope">
                                <el-button @click="handleClick(scope.row)" type="text" size="small"
                                >更正
                                </el-button
                                >
                                <el-button type="text" size="small">定位</el-button>
                            </template> -->
                        </el-table-column>
                    </el-table>
                    <div class="pagination">
                        <el-pagination background layout="prev, pager, next,total" :total="total" :page-size="pageSize"
                                    :current-page="pageNo" @current-change="handleCurrentChange">
                        </el-pagination>
                    </div>
                </div>
            </div>
        </el-tab-pane>
    </el-tabs>
</template>

<script>
    import SearchHead from "@components/searchHead/searchHead";
    import {getSearchList} from "@api/search";
    import {updateQsztByBsm} from "@api/common";
    import { createProcessInstance } from "@api/user";

    export default {
        name: "",
        components: {SearchHead},
        inject:['getRightTree','getTreeByBsm'],
        props: {},
        data() {
            return {
                activeName:'gz',
                type:'modify',
                qszt: ['1'],
                total: 0,
                pageNo: 1,
                pageSize: 15,
                formData: {
                    user: "",
                    region: "",
                    type: [],
                },
                queryData: {},
                tableData: [],
                tableHeight: 0,
            };
        },
        created() {
        },
        mounted() {
            this.queryData.pageSize=this.pageSize
            this.getData(this.queryData)
            this.$nextTick(() => {
			    this.tableHeight = (document.documentElement.clientHeight || document.body.clientHeight) - 332;
		    });
        },
        methods: {
            handleCurrentChange(val) {
                console.log(`当前页: ${val}`);
                this.pageNo = val;
                this.queryData.pageNo = val;
                this.getData(this.queryData);
            },
            getData(data) {
                data['type'] = this.type
                data['qszt'] = this.qszt
                getSearchList(data).then(res => {
                    this.tableData = res.result.records
                    this.total = res.result.total
                })
            },
            //获取子组件点击查询触发的事件
            geQuerytData(obj) {
                this.queryData = obj
                //将obj作为参数调用接口查询表格数据
                this.queryData['pageSize'] = this.pageSize
                this.pageNo = 1
                this.queryData['pageNo'] = 1
                this.getData(this.queryData)
            },
            onSubmit() {
            },
            tableRowClassName({row, rowIndex}) {
                if (rowIndex % 2 !== 0) {
                    return "even-row";
                } else {
                    return "";
                }
            },
            //点击办理
            handleClick(row) {
                let type;name;
                let path = "";
                let workflowName="";
                switch (row.dylx) {
                    case "zd":
                        type = "zd";
                        name = '宗地';
						path = "/zd";
                        workflowName = "更正宗地";
                        break;
                    case "zrz":
                        type = "zrz";
                        name = '自然幢';
                    	path = "/zrz";
                        workflowName = "更正自然幢";
                        break;
                    case "h":
                    case "h0":
                    case "h1":
                        type = "h";
                        name = "户"
                    	path = "/h";
                        workflowName = "更正户";
                        break;
                    case "dz":
                        type = "dz";
                        name = "多幢";
                    	path = "/dz";
                        workflowName = "更正多幢";
                        break;
                    case "gzw":
                        type = "gzw";
                        name = "构筑物";
                    	path = "/gzw";
                        workflowName = "更正构筑物";
                        break;

                    default:
                        break;
                }
                let data = {"id": row.bsm, "type": type,"ywlx":"modify"};
                let wfdata = {
                    params:data,
                    workflowName:workflowName
                };
                this.$nextTick(()=>{
                    this.$confirm('确定更正该'+name+'吗?', '提示', {
                        confirmButtonText: '确定',
                        cancelButtonText: '取消',
                        type: 'warning'
                    }).then(() => {
                        if(row.dylx === 'h' ||row.dylx === 'h0' ||row.dylx === 'h1' ||row.dylx === 'gzw'){
                            updateQsztByBsm(data)
                                .then((res => {
                                    if (res.code == 200) {
                                        this.$store.state.oldZdbsm = '';
                                        switch (row.dylx) {
                                            case "zd":
                                                this.$store.state.zdbsm = res.result;
                                                this.getRightTree(res.result,'0,1,2');
                                                break;
                                            case "zrz":
                                                this.$store.state.zrzbsm = res.result;
                                                this.getTreeByBsm(res.result,row.dylx,'0,1,2');
                                                break;
                                            case "h":
                                            case "h0":
                                            case "h1":
                                                this.$store.state.hbsm = res.result;
                                                this.getTreeByBsm(res.result,'h','0,1,2');
                                                break;
                                            case "dz":
                                                this.$store.state.dzbsm = res.result;
                                                this.getTreeByBsm(res.result,row.dylx,'0,1,2');
                                                break;
                                            case "gzw":
                                                this.$store.state.dzbsm = res.result;
                                                this.getTreeByBsm(res.result,row.dylx,'0,1,2');
                                                break;

                                            default:
                                                break;
                                        }
                                        this.$message({
                                            type: 'success',
                                            message: '更正成功!'
                                        });
                                        this.$router.push({
                                            path: path,
                                            query: {
                                                bsm: res.result,
                                                source: 2,
                                                auth:'1'
                                            }
                                        });
                                    } else {
                                        this.$message({
                                            message: res.message,
                                            type: "warning",
                                        });
                                    }
                                })).catch(() => {
                                this.$message({
                                    message: res.message,
                                    type: "error",
                                });
                            });
                        } else {
                            createProcessInstance(wfdata)
                                .then((res) => {
                                    console.log(res);
                                    if (res.needShow) {
                                        this.$store.state.oldZdbsm = '';
                                        switch (row.dylx) {
                                            case "zd":
                                                this.$store.state.zdbsm = res.processInstance.title;
                                                this.getRightTree(res.result,'0,1,2');
                                                break;
                                            case "zrz":
                                                this.$store.state.zrzbsm = res.processInstance.title;
                                                this.getTreeByBsm(res.result,row.dylx,'0,1,2');
                                                break;
                                            case "h":
                                            case "h0":
                                            case "h1":
                                                this.$store.state.hbsm = res.processInstance.title;
                                                this.getTreeByBsm(res.result,'h','0,1,2');
                                                break;
                                            case "dz":
                                                this.$store.state.dzbsm = res.processInstance.title;
                                                this.getTreeByBsm(res.result,row.dylx,'0,1,2');
                                                break;
                                            case "gzw":
                                                this.$store.state.dzbsm = res.processInstance.title;
                                                this.getTreeByBsm(res.result,row.dylx,'0,1,2');
                                                break;

                                            default:
                                                break;
                                        }
                                        this.$message({
                                            type: 'success',
                                            message: '更正成功!'
                                        });
                                        this.$router.push({
                                            path: path,
                                            query: {
                                                bsm: res.processInstance.title,
                                                source: 2,
                                                workitemInstanceId:res.workitemInstance.id,
                                                auth:'1'
                                            }
                                        });
                                    } else {
                                        this.$message.error("创建失败");
                                    }
                                })
                                .catch((error) => {});
                        }


                    }).catch(() => {

                    });
                })
            },
        },
        computed: {},
        watch: {},
    };
</script>
<style scoped lang="less">
.main {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: 0 18px;
    display: flex;
    flex-direction: column;
    //background-color: #F4F9FF;
    background-color: #F4F9FF;
    .tips{
        color: #9B9B9B;
        margin-left: 2px;
        margin-bottom: 10px;
    }
    .demo-form-inline {
        margin-top: 18px;
        .moreSearchBtn {
            background-color: #1ad6e1;
            border-color: #1ad6e1;
        }
        .moreSearchBtn:focus,
        .moreSearchBtn:hover {
            background-color: rgba(28, 200, 229, 0.6);
        }
    }
    .dataGrid {
        flex: 1;
        .pagination {
            padding: 18px 0;
        }
    }
}
</style>