index.vue 9.18 KB
<template>
    <el-tabs v-model="activeName" type="card">
        <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"
                        @row-dblclick="doubleClick"
                >
                    <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="100" label="类型">
                        <template slot-scope="scope">
                            {{scope.row.dylx | bdcLxFilter}}
                        </template>
                    </el-table-column>
                    <el-table-column prop="qlrmc" 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"  @click="postionToMap(scope.row)"></i>
                            </el-tooltip>
                        </template>
                    </el-table-column>
                </el-table>
                <div class="pagination">
                    <el-pagination background layout="prev, pager, next,total" :total="total"
                                   :current-page="pageNo"       :page-size="pageSize"    @current-change="handleCurrentChange">
                    </el-pagination>
                </div>

            </div>
        </div>
    </el-tabs>
</template>

<script>
    import SearchHead from "@components/searchHead/searchHead";
    import {getDbxList} from "@api/dbx";

    export default {
        name: "",
        inject:['getRightTree','getTreeByBsm'],
        components: {SearchHead},
        props: {},
        data() {
            return {
                activeName:'zhcx',
                type:'add',
                total: 0,
                pageNo: 1,
                pageSize: 15,
                tableData: [],
                tableHeight: 0,
                queryData: {},
            };
        },
        created() {
        },
        mounted() {
            this.queryData.pageSize=this.pageSize;
            this.queryData.pageNo=this.pageNo;
            this.getData(this.queryData);
            this.$nextTick(()=>{
                this.tableHeight = this.$refs.dataGrid.offsetHeight - 68;
            })
        },
        methods: {
            onSubmit() {
            },
            doubleClick(row, column, event){
                this.handleClick(row);
            },
            tableRowClassName({row, rowIndex}) {
                if (rowIndex % 2 !== 0) {
                    return "even-row";
                } else {
                    return "";
                }
            },
            handleCurrentChange(val) {
                this.pageNo = val;
                this.queryData.pageNo = val;
                this.getData(this.queryData);
            },
            getData(data) {
                data['type'] = this.type
                getDbxList(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)
            },
            //点击办理
            handleClick(row) {
                let path = "";
                this.$store.state.oldZdbsm = '';
                switch (row.dylx) {
                    case "zrz":
                        this.$store.state.zrzbsm = row.glbsm;
                        this.getTreeByBsm(row.glbsm,row.dylx,'0,1,2');
                        path = "/zrz";
                        break;
                    case "zd":
                        this.$store.state.zdbsm = row.glbsm;
                        this.getRightTree(row.glbsm,'0,1,2');
                        path = "/zd";
                        break;
                    case "dz":
                        this.$store.state.dzbsm = row.glbsm;
                        this.getTreeByBsm(row.glbsm,row.dylx,'0,1,2');
                        path = "/dz";
                        break;
                    case "h":
                    case "h0":
                    case "h1":
                        path="/h";
                        this.$store.state.hbsm=row.glbsm
                        this.getTreeByBsm(row.glbsm,'h','0,1,2');
                        break;
                    case "gzw":
                        this.$store.state.gzwbsm = row.glbsm;
                        this.getTreeByBsm(row.glbsm,"gzw",'0,1,2');
                        path = "/gzw";
                        break;
                    default:
                        break;
                }
                this.$router.push({
                    path: path,
                    query: {
                        bsm: row.glbsm,
                        source: 2,
                        auth: '0,1,2'
                    }
                });
            },
            //定位
            //图形定位
            postionToMap(rowData){
                if(rowData.dylx == "zrz" || rowData.dylx == "zd"){
                    var curretRouterInfo = {
                        path:this.$route.path,
                        query:this.$route.query
                    }
                    sessionStorage.setItem("curretRouterInfo",JSON.stringify(curretRouterInfo));
                    this.$router.push({
                        path: "/viewMap",
                        query: {
                            bsm: rowData.glbsm,
                            type: rowData.dylx
                        }
                    });
                }
            }
        },
        computed: {},
        watch: {},
    };
</script>
<style scoped lang="less">
    .el-tabs{
        height: calc(100% - 50px);
        /deep/.el-tabs__content{
            height: 100%;
            /deep/.el-tab-pane{
                height: 100%;
            }
            background: #eaedf5;
            padding: 0;
        }
        /deep/ .el-tabs__item {
            height: 48px;
        }
        /deep/ .el-tabs__header{
            background-color: #ffffff;
            margin: 0;
        }
        .main {
            width: 100%;
            height: 100%;
            box-sizing: border-box;
            padding: 0 18px 0 0;
            display: flex;
            flex-direction: column;
            background-color: #EAEDF5;
            .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;
                }
            }
            .hbjDialog{
                /deep/ .el-dialog{
                    margin-top: 10vh!important;
                }
            }
            .btnGroup{
                margin: 20px auto 0;
                width: 230px;
            }
        }
    }
</style>