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>     <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>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端