index.vue 8.92 KB
<template>
    <div class="main">
        <!-- <p class="tips">查询条件</p> -->
        <SearchHeadYbx @getSearchCondition="geQuerytData" :type="type"></SearchHeadYbx>
        <!-- <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="businessId" align="left" label="业务号">
                </el-table-column>
                <el-table-column prop="creatorName" align="left" label="创建人">
                </el-table-column>
                <el-table-column prop="templetName" align="left" label="业务类型">
                </el-table-column>
                <el-table-column prop="createDate" align="left" label="创建时间">
                </el-table-column>
                <el-table-column prop="finishDate" align="left" label="完成时间">
                </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="page"       :page-size="pageSize"    @current-change="handleCurrentChange">
                </el-pagination>
            </div>

        </div>
    </div>
</template>

<script>
    import SearchHeadYbx from "@components/searchHead/searchHeadYbx";
    import {getYbxList,queryByBusinessId} from "@api/dbx";

    export default {
        name: "",
        inject:['getRightTree','getTreeByBsm'],
        components: {SearchHeadYbx},
        props: {},
        data() {
            return {
                activeName:'dbx',
                type:'add',
                total: 0,
                page: 0,
                pageSize: 15,
                tableData: [],
                tableHeight: 0,
                queryData: {
                    page:0,
                    size:20,
                    current:false,
                    currentUser:true,
                    createDateStart:"",
                    createDateEnd:""
                },
            };
        },
        created() {
        },
        mounted() {
            this.queryData.pageSize=this.pageSize;
            this.queryData.page=this.page;
            this.getData(this.queryData);
            this.$nextTick(()=>{
			    this.tableHeight = (document.documentElement.clientHeight || document.body.clientHeight) - 332;
            })
        },
        methods: {
            onSubmit() {
            },
            getBusinessDetail(businessId){
                queryByBusinessId(businessId).then((res)=>{
                    if(res.code === 200){
                        console.log(res.result)
                    }
                })
            },

            doubleClick(row, column, event){
                this.handleClick(row);
            },
            tableRowClassName({row, rowIndex}) {
                if (rowIndex % 2 !== 0) {
                    return "even-row";
                } else {
                    return "";
                }
            },
            handleCurrentChange(val) {
                this.page = val;
                this.queryData.page = val;
                this.getData(this.queryData);
            },
            getData(data) {
                data['type'] = this.type
                getYbxList(data).then(res => {
                    this.tableData = res.content
                    this.total = res.totalElements
                });
            },
            //获取子组件点击查询触发的事件
            geQuerytData(obj) {
                this.queryData = obj
                //将obj作为参数调用接口查询表格数据
                this.queryData['pageSize'] = this.pageSize
                this.page = 1
                this.queryData['page'] = 1
                this.getData(this.queryData)
            },
            //点击办理
            handleClick(row) {
                let data = {};
                queryByBusinessId(row.businessId).then((res)=>{
                    if(res.code === 200){
                        data = res.result;
                        console.log(data);

                        let path = "";
                        this.$store.state.oldZdbsm = '';
                        switch (data.dylx) {
                            case "zrz":
                                this.$store.state.zrzbsm = data.glbsm;
                                this.getTreeByBsm(data.glbsm,data.dylx,'0,1,2');
                                path = "/zrz";
                                break;
                            case "zd":
                                this.$store.state.zdbsm = data.glbsm;
                                this.getRightTree(data.glbsm,'0,1,2');
                                path = "/zd";
                                break;
                            case "dz":
                                this.$store.state.dzbsm = data.glbsm;
                                this.getTreeByBsm(data.glbsm,data.dylx,'0,1,2');
                                path = "/dz";
                                break;
                            case "h":
                            case "h0":
                            case "h1":
                                path="/h";
                                this.$store.state.hbsm=data.glbsm
                                this.getTreeByBsm(data.glbsm,'h','0,1,2');
                                break;
                            case "gzw":
                                this.$store.state.gzwbsm = data.glbsm;
                                this.getTreeByBsm(data.glbsm,"gzw",'0,1,2');
                                path = "/gzw";
                                break;
                            default:
                                break;
                        }
                        this.$router.push({
                            path: path,
                            query: {
                                bsm: data.glbsm,
                                ywbsm: data.businessId,
                                source: 2,
                                auth: '0,1,2',
                                workitemInstanceId:data.id
                            }
                        });

                    }
                })


            },
            //定位
            //图形定位
            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">
.main {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: 0 18px 0 0;
    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;
        }
    }
    .hbjDialog{
        /deep/ .el-dialog{
            margin-top: 10vh!important;
        }
    }
    .btnGroup{
        margin: 20px auto 0;
        width: 230px;
    }
}
</style>