2022.10.29周总结

多条件查询,树形结构完成科技政策查询系统,

其中树形结构采用layui菜单模式,前端判断父子节点,动态显示数据

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .el-table .warning-row {
            background: oldlace;
        }

        .el-table .success-row {
            background: #f0f9eb;
        }
        .el-select .el-input {
            width: 130px;
        }
        .input-with-select .el-input-group__prepend {
            background-color: #fff;
        }
    </style>

</head>
<body>
<div id="app">


    <!--查询表单-->
    <div style="margin-top: 15px;width: 1200px;"  align="center">
        <el-input style="width: 800px" placeholder="请输入内容" v-model="input1" class="input-with-select">
            <el-select v-model="select1" slot="prepend" placeholder="请选择" >
                <el-option label="姓名" value="1"></el-option>
                <el-option label="年龄" value="2"></el-option>
                <el-option label="性别" value="3"></el-option>
            </el-select>
        </el-input>
    </div>

    <div align="center" style="width: 1265px;">
        <el-dropdown split-button  @command="handleClick1">
            {{andor1}}
            <el-dropdown-menu slot="dropdown">
                <el-dropdown-item command="And">And</el-dropdown-item>
                <el-dropdown-item command="Or">Or</el-dropdown-item>
            </el-dropdown-menu>
        </el-dropdown>

        <el-input style="width: 800px" placeholder="请输入内容" v-model="input2" class="input-with-select">
            <el-select v-model="select2" slot="prepend" placeholder="请选择" >
                <el-option label="姓名" value="1"></el-option>
                <el-option label="年龄" value="2"></el-option>
                <el-option label="性别" value="3"></el-option>
            </el-select>
        </el-input>
        &nbsp;&nbsp;&emsp;&emsp;&emsp;
        <el-button type="danger" @click="onChange">综合查询</el-button>
    </div>

    <div align="center" style="width: 1100px;">
        <el-dropdown split-button   @command="handleClick2">
            {{andor2}}
            <el-dropdown-menu  slot="dropdown">
                <el-dropdown-item command="And">And</el-dropdown-item>
                <el-dropdown-item command="Or">Or</el-dropdown-item>

            </el-dropdown-menu>
        </el-dropdown>
        <el-input style="width: 800px" placeholder="请输入内容" v-model="input3" class="input-with-select">
            <el-select v-model="select3" slot="prepend" placeholder="请选择" >
                <el-option label="姓名" value="1"></el-option>
                <el-option label="年龄" value="2"></el-option>
                <el-option label="性别" value="3"></el-option>
            </el-select>
        </el-input>
    </div>

    <!--表格-->
    <template>
        <el-table
                :data="tableData"
                style="width: 100%"
                :row-class-name="tableRowClassName"
                @selection-change="handleSelectionChange"
        >
            <el-table-column
                    type="selection"
                    width="55">
            </el-table-column>
            <el-table-column
                    type="index"
                    width="50">
            </el-table-column>

            <el-table-column
                    prop="name"
                    label="姓名"
                    align="center"
            >
            </el-table-column>
            <el-table-column
                    prop="date"
                    label="评估日期"
                    align="center"
            >
            </el-table-column>
            <el-table-column
                    prop="old"
                    align="center"
                    label="年龄">
            </el-table-column>
            <el-table-column
                    prop="gender"
                    align="center"
                    label="性别">
            </el-table-column>
            <el-table-column
                    prop="agency"
                    align="center"
                    label="所属机构">
            </el-table-column>
            <el-table-column
                    prop="eating"
                    align="center"
                    label="进食">
            </el-table-column>
            <el-table-column
                    prop="dressing"
                    align="center"
                    label="穿衣">
            </el-table-column>
            <el-table-column
                    prop="toilet"
                    align="center"
                    label="如厕">
            </el-table-column>
            <el-table-column
                    prop="stair"
                    align="center"
                    label="上下楼梯">
            </el-table-column>
            <el-table-column
                    prop="consciousness"
                    align="center"
                    label="意识">
            </el-table-column>
            <el-table-column
                    prop="vision"
                    align="center"
                    label="视力">
            </el-table-column>
            <el-table-column
                    prop="communication"
                    align="center"
                    label="沟通">
            </el-table-column>

        </el-table>
    </template>

    <!--分页工具条-->
    <el-pagination
            @size-change="handleSizeChange"
            @current-change="handleCurrentChange"
            :current-page="currentPage"
            :page-sizes="[5, 10, 15, 20]"
            :page-size="5"
            layout="total, sizes, prev, pager, next, jumper"
            :total="totalCount">
    </el-pagination>

</div>


<script src="js/vue.js"></script>
<script src="element-ui/lib/index.js"></script>
<link rel="stylesheet" href="element-ui/lib/theme-chalk/index.css">

<script src="js/axios-0.18.0.js"></script>
<script>
    new Vue({
        el: "#app",

        mounted(){
            // 当页面加载完成后,发送异步请求,获取数据

            this.selectAll();

        },
        methods:{

            //查询分页数据
            selectAll(){

                var _this = this;

                axios({
                    method:"post",
                    url:"http://localhost:8080/oldperson02/oldperson02/selectByPageAndCondtion?currentPage="+this.currentPage+"&pageSize="+this.pageSize+"&flag1="+this.flag1+"&flag2="+this.flag2,
                    data:this.oldperson
                }).then(resp =>{
                    // 设置表格数据
                    this.tableData = resp.data.rows;  //{rows:[],totalCount:100}
                    //谁知总记录数
                    this.totalCount = resp.data.totalCount;
                })
            },


            tableRowClassName({row, rowIndex}) {
                if (rowIndex === 1) {
                    return 'warning-row';
                } else if (rowIndex === 3) {
                    return 'success-row';
                }
                return '';
            },
            // 复选框选中后执行的方法
            handleSelectionChange(val) {
                this.multipleSelection = val;

                console.log(this.multipleSelection)
            },
            // 查询方法
            onSubmit() {
                //console.log(this.oldperson);
                this.selectAll();
            },
            onChange(){
                switch (this.select1) {
                    case '1':this.oldperson.name = this.input1;break;
                    case '2':this.oldperson.old = this.input1;break;
                    case '3':this.oldperson.gender = this.input1;break;
                }
                switch (this.select2) {
                    case '1':this.oldperson.name = this.input2;
                            if(this.andor1=='Or'){
                                this.flag1 = 'name';
                            };
                    break;
                    case '2':this.oldperson.old = this.input2;
                        console.log(this.andor1);
                        if(this.andor1=='Or'){

                            this.flag1 = 'old';
                        };break;
                    case '3':this.oldperson.gender = this.input2;
                        if(this.andor1=='Or'){
                            this.flag1 = 'gender';
                        };break;
                }
                switch (this.select3) {
                    case '1':this.oldperson.name = this.input3;break;
                    case '2':this.oldperson.old = this.input3;break;
                    case '3':this.oldperson.gender = this.input3;break;
                }
                this.onSubmit();
            },
            handleClick1(command) {
                this.andor1 = command;
                // if(command=='Or'){
                //     this.flag1=2;
                // }

            },
            handleClick2(command) {
                this.andor2 = command;
                // if(command=='Or'){
                //     this.flag2=3;
                // }
            },

            //分页
            handleSizeChange(val) {
                //console.log(`每页 ${val} 条`);
                // 重新设置每页显示的条数
                this.pageSize = val;
                this.selectAll();
            },
            handleCurrentChange(val) {
                //console.log(`当前页: ${val}`);
                // 重新设置当前页码
                this.currentPage = val;
                this.selectAll();
            }
        },
        data() {
            return {

                pageSize:5,
                //总记录数
                totalCount:100,
                // 当前页码
                currentPage: 1,
                // 添加数据对话框是否展示的标记
                dialogVisible: false,

                // 品牌模型数据
                oldperson: {
                    name: '',
                    date: '',
                    old: '',
                    gender:"",
                    agency:"",
                    eating:"",
                    dressing:"",
                    toilet:"",
                    stair:"",
                    consciousness:"",
                    vision:"",
                    communication:""
                },
                //被选中的id数组
                selectedIds:[],
                // 复选框选中数据集合
                multipleSelection: [],
                // 表格数据
                tableData: [],
                //查询
                input1: '',
                input2: '',
                input3: '',
                select1: '',
                select2: '',
                select3: '',
                andor1:'And',
                andor2:'And',
                flag1: '',
                flag2:''
            }
        }
    })



</script>

</body>
</html>
复制代码

 

posted @   stdrush  阅读(20)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示