先上图:

java怎么构建回文 java怎么实现回显功能_java怎么构建回文

实现这个回显有两种实现方式:

第一种:在java后台实现:

@Override
	public Page<LogQueryVo> query( PageQueryParam<LogQueryDto> pageQueryParam,
			 String collegeId) {
		if (StringUtils.isNotEmpty(collegeId)) {
			collegeId = collegeId.replaceAll(" GLDWH ", " KKDWH ");
        }
		String yearTerm = pageQueryParam.getParam().getYearTerm();
		//一进入查询主页按当前选课学年学期查询
		if (yearTerm == "") {
			String semester = courseHeatStatisticsMapper.getSemester(); // 查询选课学年学期
			pageQueryParam.getParam().setYearTerm(semester); // 设置选课学年学期
		}
		// 分页和排序
		PageHelper.startPage(pageQueryParam.getPageNo(), pageQueryParam.getPageSize());
		List<LogQueryVo> logQueryVolist = logQueryMapper.select(pageQueryParam.getParam(), collegeId);
		PageInfo<LogQueryVo> pageInfo = new PageInfo<LogQueryVo>(logQueryVolist);
		Page<LogQueryVo> page = new Page<LogQueryVo>();
		page.setTotal((int) pageInfo.getTotal());
		page.setRows(pageInfo.getList());
		return page;
	}

 显示学年学期只需要在前端发送一个请求就可以了。

但是这种做法可能效率比较低。

=============================================================================================

在前端处理显示当前的学年学期,然后每次改变学年学期下拉框时,再重新发送请求到后台查询数据,这样不用每次查询时都要在后台查询一次学年学期。

前端代码:

class ProcessLogQueryBox extends Component {
    constructor(props) {
        super(props);
        this.state = {
            display: 'block',
            iconCX: 'caret-down',
            yearTermList: []   ,                    //学年学期下拉
            yearTerm:'',
            nowYearTerm:'' //默认选中当前学年学期
        }
    }

    componentWillMount(){
        //获取当前学年学期
        post("/choose-course-manage-server/courseHeatStatistics/selectSemester").then((reData) => {
            this.setState({
                nowYearTerm:reData.data
            })
            this.props.modifySearchParam("yearTerm", reData.data)
            this.onSearch();
        });
    }

    //收缩查询条件
    handleClickShow = () => {
        if (this.state.display == 'block') {
            this.setState({display: 'none', iconCX: 'caret-up'})
        } else {
            this.setState({display: 'block', iconCX: 'caret-down'})
        }
    }

    //查询
    onSearch=(val)=>{
        this.props.onSearch(val);
    }

    //重置
    reset = () => {
        this.setState({
            nowYearTerm:''
        })
        //清空表单中的数据的功能,不过本组件功能的实现因为是使用的子组件的表单在修改值onChange的时候就改了父组件的state,所以重置值需要在父组件的重置方法中加上searchParam:{},
        this.props.form.resetFields();
        //调用父组件的方法。使用this.props表示父组件的属性
        this.props.resetSearchParam();
    }

    //获取学年学期下拉框
    getYearTermList = () => {
        CollegeGradeProAxios.getAcadYear(data => {
            this.setState({yearTermList: data});
        });
    }

    //渲染页面
    render() {
        const span = 6;
        const formItemLayout = {
            labelCol: {span: 8},
            wrapperCol: {span: 16}
        }
        const {getFieldDecorator} = this.props.form;
        return (
            <div className="manage-main">
                {/*======================================查询条件============================================*/}

                <Form layout="inline" className="manage-form">
                    <Row gutter={24} className="manage-form-default">
                        <Col span={span}>
                            <FormItem {...formItemLayout} label="学年学期">
                                {getFieldDecorator('yearTerm',{initialValue:this.state.nowYearTerm})(
                                    <ComSelect
                                              showSearch
                                              placeholder="请选择"
                                              allowClear
                                              optionFilterProp="children"
                                              onChange={(value) => this.props.modifySearchParam("yearTerm", value)}
                                              onFocus={this.getYearTermList}
                                    >
                                        {this.state.yearTermList.map(val =>
                                            <Option key={val.acadYearSemester}>{val.acadYearSemester}</Option>
                                        )}
                                    </ComSelect>
                                )}
                            </FormItem>
                        </Col>

                        <Col span={span}>
                            <FormItem {...formItemLayout} label="学号">
                                {getFieldDecorator('stuNum')(
                                    <Input
                                        onChange={(e) => this.props.modifySearchParam("stuNum", e.target.value)}
                                    />
                                )}
                            </FormItem>
                        </Col>

                        <Col span={span}>
                            <FormItem {...formItemLayout} label="课程名称">
                                {getFieldDecorator('courseName')(
                                    <Input
                                        onChange={(e) => this.props.modifySearchParam("courseName", e.target.value)}
                                    />
                                )}
                            </FormItem>
                        </Col>
                        <Col span={span}>
                            <div className="manage-form-default-btn">
                                <Button type="primary" htmlType="submit"
                                        onClick={this.onSearch}>查询</Button>
                                <Button htmlType="submit"
                                        onClick={this.reset}>重置</Button>
                                <span onClick={() => this.setState({iconCX: !this.state.iconCX})}
                                      className="manage-form-default-icon">
                                {this.state.iconCX ? '展开' : '收起'}
                                    <Icon type={this.state.iconCX ? 'down' : 'up'}/>
                            </span>
                            </div>
                        </Col>
                    </Row>
                    <Row gutter={24} className="manage-form-bot"
                         style={{display: this.state.iconCX ? 'none' : 'block'}}>
                        <Col span={span}>
                            <FormItem {...formItemLayout} label="IP地址">
                                {getFieldDecorator('ipAddress')(
                                    <Input
                                        onChange={(e) => this.props.modifySearchParam("ipAddress", e.target.value)}
                                    />
                                )}
                            </FormItem>
                        </Col>
                        <Col span={span}>
                            <FormItem {...formItemLayout} label="第几志愿">
                                {getFieldDecorator('volunteerNum')(
                                    <Input
                                        onChange={(e) => this.props.modifySearchParam("volunteerNum", e.target.value)}
                                    />
                                )}
                            </FormItem>
                        </Col>
                        <Col span={span}>
                            <FormItem  {...formItemLayout} label="选课方式">
                                {getFieldDecorator('electiveWay')(
                                    <ComSelect placeholder="请选择"
                                               allowClear
                                               optionFilterProp="children"
                                               onChange={(value) => this.props.modifySearchParam("electiveWay", value)}
                                    >
                                        <Option key={'0'}>抢选</Option>
                                        <Option key={'1'}>筛选</Option>
                                        <Option key={'2'}>志愿(体育)</Option>
                                    </ComSelect>
                                )}
                            </FormItem>
                        </Col>
                        <Col span={span}>
                            <FormItem  {...formItemLayout} label="是否跨校区选课">
                                {getFieldDecorator('crossCampus')(
                                    <ComSelect placeholder="请选择"
                                               allowClear
                                               optionFilterProp="children"
                                               onChange={(value) => this.props.modifySearchParam("crossCampus", value)}
                                    >
                                        <Option key={1} value="1">{"是"}</Option>
                                        <Option key={0} value="0">{"否"}</Option>
                                    </ComSelect>
                                )}
                            </FormItem>
                        </Col>
                        <Col span={span}>
                            <FormItem  {...formItemLayout} label="是否跨专业选课">
                                {getFieldDecorator('crossProfessional')(
                                    <ComSelect placeholder="请选择"
                                               allowClear
                                               optionFilterProp="children"
                                               onChange={(value) => this.props.modifySearchParam("crossProfessional", value)}
                                    >
                                        <Option key={1}>{"是"}</Option>
                                        <Option key={0}>{"否"}</Option>
                                    </ComSelect>
                                )}
                            </FormItem>
                        </Col>
                        <Col span={span}>
                            <FormItem  {...formItemLayout} label="选课成功标志">
                                {getFieldDecorator('successFlag')(
                                    <ComSelect placeholder="请选择"
                                               allowClear
                                               optionFilterProp="children"
                                               onChange={(value) => this.props.modifySearchParam("successFlag", value)}
                                    >
                                        <Option key={1}>{"退选"}</Option>
                                        <Option key={2}>{"失败"}</Option>
                                        <Option key={3}>{"待筛选"}</Option>
                                        <Option key={4}>{"已选"}</Option>
                                    </ComSelect>
                                )}
                            </FormItem>
                        </Col>
                    </Row>
                </Form>
            </div>
        )
    }
}

const ProcessLogQueryBoxForm = Form.create()(ProcessLogQueryBox);
export default ProcessLogQueryBoxForm