index.vue 6.69 KB
<template>
    <div class="main">
        <SearchHead @getSearchCondition="geQuerytData"></SearchHead>
        <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 label="操作" width="100">
                    <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-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>
            <div class="pagination">
                <el-pagination background layout="prev, pager, next,total" :total="total"
                               :current-page="pageNo" @current-change="handleCurrentChange">
                </el-pagination>
            </div>
        </div>
    </div>
</template>

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

    export default {
        name: "",
        components: {SearchHead},
        props: {},
        data() {
            return {
                qszt: 1,
                total: 0,
                pageNo: 1,
                pageSize: 10,
                formData: {
                    user: "",
                    region: "",
                    type: [],
                },
                queryData: {},
                tableData: [],
                tableHeight: 0,
            };
        },
        created() {
        },
        mounted() {
            this.getData({})
            this.$nextTick(() => {
			    this.tableHeight = (document.documentElement.clientHeight || document.body.clientHeight) - 255;
		    });
        },
        methods: {
            handleCurrentChange(val) {
                console.log(`当前页: ${val}`);
                this.pageNo = val;
                this.queryData.pageNo = val;
                this.getData(this.queryData);
            },
            getData(data) {
                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) {
                console.log(row);
                let path = "";
                var type;
                var id = row.bsm;
                switch (row.dylx) {
                    case "自然幢":
                        path = "/zrz";
                        type = "1";
                        this.$store.state.zrzbsm = row.glbsm;
                        break;
                    case "zd":
                        path = "/zd";
                        type = "0";
                        this.$store.state.zdbsm = row.glbsm
                        break;
                    case "户":
                        path = "h";
                        this.$store.state.hbsm = row.glbsm
                        type = "2";
                    default:
                        break;
                }
                var data = {"id": id, "type": type};
                updateQsztByBsm(data)
                    .then((res => {
                        if (res.code == 200) {
                            this.$message({
                                message: res.message,
                                type: "success",
                            });
                        } else {
                            this.$message({
                                message: res.message,
                                type: "warning",
                            });
                        }
                    }))
                this.$router.push(path);
            },
        },
        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: #EAEDF5;
        .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>