BOS:采用订单号回显快速录入信息表单

本文介绍了一种通过Ajax技术实现在用户输入订单号后自动查询订单详情的方法,并展示了具体的前端与后端实现代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对页面订单号输入框,添加 onblur 离焦事件,采用Ajax向后台
$(function(){
    //对订单号输入项添加blur事件
    $("#orderNum").blur(function() {
        //发起Ajax请求,查询订单数据
        $.post("../../order_findByOrderNum.action", 
        {orderNum: $(this).val()}, function(data){
            //封装结果数据{success:true,orderData:{}}
            if(data.success) {
                //装载数据
                $("#waybillForm").form('load',data.orderData);
                // 处理无法自动load 元素
                $("input[name='order.id']").val(data.orderData.id);
                $("input[name='order.orderNum']").val(data.orderData.orderNum);
                $("input[name='order.courier.company']").val(data.orderData.courier.company);
                $("input[name='order.courier.name']").val(data.orderData.courier.name);
            } else {
                //订单号不存在,重置表单
                $("#waybillForm").get(0).reset();
            }
        });
    });
});
在 OrderAction 添加 findByOrderNum 方法
@ParentPackage("json-default")
@Scope("prototype")
@Namespace("/")
@Controller
public class OrderAction extends BaseAction<Order> {
    @Autowired
    private OrderService orderService;

    @Action(value = "order_findByOrderNum", results = { @Result(name = "success", type = "json")})
    public String findByOrderNum() {
        // 调用业务层,查询order信息
        Order order = orderService.findByOrderNum(model.getOrderNum());

        Map<String, Object> result = new HashMap<String, Object>();

        if (order == null) {
            // 订单不存在
            result.put("success", false);
        } else {
            // 订单存在
            result.put("success", true);
            result.put("orderData", order);
        }
        // 压入值栈
        ActionContext.getContext().getValueStack().push(result);

        return SUCCESS;
    }
}
编写业务层
public interface OrderService {
    @Path("/order")
    @POST
    @Consumes({ "application/xml", "application/json" })
    public void saveOrder(Order order);

    //查询订单号
    public Order findByOrderNum(String orderNum);
}
编写dao层
public interface OrderRepository extends JpaRepository<Order, Integer> {
    //查询订单
    Order findByOrderNum(String orderNum);

}
对多集合数据懒加载问题,排除掉关联集合数据转换 json
修改了domain需要install
@JSON(serialize=false)
    public Set<WorkBill> getWorkBills() {
        return workBills;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值