Ace控件-图书管理系统

Ace控件-图书管理系统

增删改查

效果:

 

 

 

 

 

 

 

代码:

bookInfo.html

<div class="row">

                    <div class="col-xs-12">

                        <div class="widget-box">

                            <div class="widget-header">

                                <h4 class="widget-title">搜索</h4>

                            </div>

                            <div class="widget-body">

                                <div class="widget-main">

                                    <div style="padding-top: 10px" class="row">

                                    <div class="col-xs-3">

                                        <label class="col-xs-3 control-label no-padding-right" for="bookId">编号</label>

                                        <input type="text" name="bookId" class="col-xs-8" id="bookId"/>

                                    </div>

                                    <div class="col-xs-3">

                                        <label class="col-xs-3 control-label no-padding-right" for="bookName">名称</label>

                                        <input type="text" name="bookName" class="col-xs-8" id="bookName"/>

                                    </div>

                                    <div class="col-xs-3">

                                        <label class="col-xs-3 control-label no-padding-right" for="bookClass">类别</label>

                                        <input type="text" name="bookClass" class="col-xs-8" id="bookClass"/>

                                    </div>

                                    <div class="col-xs-3">

                                        <label class="col-xs-3 control-label no-padding-right" for="bookAuthor">作者</label>

                                        <input type="text" name="bookAuthor" class="col-xs-8" id="bookAuthor"/>

                                    </div>

                                    </div>

                                    <div style="padding-top: 10px" class="row">

                                        <div class="col-xs-3">

                                            <label class="col-xs-3 control-label no-padding-right" for="bookPublisher">出版社</label>

                                            <input type="text" name="bookPublisher" class="col-xs-8" id="bookPublisher"/>

                                        </div>

                                        <div class="col-xs-3">

                                            <label class="col-xs-4 control-label no-padding-right" for="bookDate">入库日期</label>

                                            <input type="text" name="bookDate" class="col-xs-8 date-picker" id="bookDate" />

                                        </div>

                                        <div class="col-xs-6" style="padding-left: 50px">

                                            <button class="btn btn-info btn-sm" id="search" type="button">

                                                <i class="ace-icon fa fa-check bigger-110"></i>

                                                查询

                                            </button>

                                            <button class="btn btn-sm" id="search_all" type="reset">

                                                <i class="ace-icon fa fa-undo bigger-110"></i>

                                                重置

                                            </button>

                                        </div>

                                    </div>

                                </div>

                            </div>

                        </div>

 

                    </div>

 

 

                    <div style="padding-top: 20px" class="col-xs-12">

                        <!-- PAGE CONTENT BEGINS -->

                        <table id="grid-table"></table>

 

                        <div id="grid-pager"></div>

 

                        <!-- PAGE CONTENT ENDS -->

                    </div><!-- /.col -->

                  

                </div>

jQuery(grid_selector).jqGrid({

            url: "book/list",

            datatype: "json",

            mtype: "post",

            height: 250,

            colNames: [' ', '编号', '名称', '类别', '作者', '出版社', '状态', '定价', '入库日期', '介绍'],

            colModel: [

                {

                    name: 'myac', index: '', align: 'center', width: 80, fixed: true, sortable: false, resize: false,

                    formatter: 'actions',

 

                    formatoptions: {

                        keys: true,

                        delbutton: false,//disable delete button

 

                        editOptions: {recreateForm: true, beforeShowForm: beforeEditCallback}

                        //editformbutton:true, editOptions:{recreateForm: true, beforeShowForm:beforeEditCallback}

                    }

                },

                {name: 'bookId', index: '编号', width: 60, sorttype: "int", editable: true},

                {name: 'bookName', index: '名称', width: 90, editable: true, editoptions: {size: "20"}},

                {name: 'bookClass', index: '类别', width: 60, editable: true, editoptions: {size: "20"}},

                {name: 'bookAuthor', index: '作者', width: 70, editable: true, editoptions: {size: "20"}},

                {name: 'bookPublisher', index: '出版社', width: 150, editable: true, editoptions: {size: "20"}},

                {name: 'bookStatus', index: '状态', width: 60, sortable: true, editable: true},

                {name: 'bookPrice', index: '定价', width: 80, sortable: true, editable: true},

                {

                    name: 'bookDate',

                    index: '入库日期',

                    width: 150,

                    sortable: true,

                    editable: true,

                    sorttype: "date",

                    formatter: function (cellvalue, options, rowObject) {

                        if (cellvalue == null || cellvalue == "") {

                            return ""

                        }

                        var time = new Date(cellvalue);

                        return time.getFullYear() + "-"

                            + (time.getMonth() < 9 ? ("0" + (time.getMonth() + 1)) : (time.getMonth() + 1)) + "-"

                            + (time.getDate() < 10 ? ("0" + time.getDate()) : (time.getDate()));

                    },

                    unformat: pickDate

                },

                {

                    name: 'bookNote',

                    index: '介绍',

                    width: 150,

                    sortable: false,

                    editable: true,

                    edittype: "textarea",

                    editoptions: {rows: "2", cols: "10"}

                }

            ],

            pgtext: "第 {0} 页 {1}",

            viewrecords: true,

            recordtext: "当前 {0} - {1} 共 {2}",

            jsonReader: {//分页的关键

                id: "id",

                root: "rows",

                total: "total",

                page: "page",

                records: "records",

                repeatitems: false

            },

            postData:{

                'code':0

            },

            rowNum: 10,

            rowList: [10, 20, 30],

            pager: pager_selector,

            altRows: true,

            //toppager: true,

 

            multiselect: true,

            //multikey: "ctrlKey",

            multiboxonly: true,

 

            loadonce: false,

            loadComplete: function () {

                var table = this;

                setTimeout(function () {

                    styleCheckbox(table);

 

                    updateActionIcons(table);

                    updatePagerIcons(table);

                    enableTooltips(table);

                }, 0);

            },

 

            editurl: "book/editAndDel",//nothing is saved

            // editData:[],

            editData:{

                bookId:1

            },

            /*serializeGridData:function(id){

                var rowData = $(grid_selector).jqGrid('getRowData', id);

                return JSON.stringify(rowData);

            },*/

            caption: "图书信息管理"

 

        });

 

jQuery(grid_selector).jqGrid('navGrid', pager_selector,

            {       //navbar options

                edit: true,

                editicon: 'ace-icon fa fa-pencil blue',

                add: true,

                addicon: 'ace-icon fa fa-plus-circle purple',

                del: true,

                delicon: 'ace-icon fa fa-trash-o red',

                delfunc: function (id) {

                    //获取选中ID(可多选)

                    // var ids=$(grid_selector).jqGrid('getGridParam','selarrrow');

 

                    // var idsArr= ids.toString().split(',');

                    /*for (var i=0;i<idsArr.length;i++){

                        var   rowData = $(grid_selector).jqGrid('getRowData',idsArr[i]);

                        alert(rowData.bookId);

                    }*/

                    var rowData = $(grid_selector).jqGrid('getRowData', id);

                    var msg = "您真的确定要删除吗?";

                    if (confirm(msg)==true){

                        _delete(rowData.bookId);

                        $(this).dialog("close");

                        return true;

                    }else{

                        $(this).dialog("close");

                        return false;

                    }

                },

                search: false,

                searchicon: 'ace-icon fa fa-search orange',

                refresh: true,

                refreshicon: 'ace-icon fa fa-refresh green',

                view: true,

                viewicon: 'ace-icon fa fa-search-plus grey',

            },

            {

                //edit record form

                //closeAfterEdit: true,

                //width: 700,

                url: 'book/edit',

                ajaxEditOptions: {contentType: "application/json", type: "POST"},

                recreateForm: true,

                closeAfterEdit: true,

                closeOnEscape: true,

                beforeShowForm: function (e) {

                    var form = $(e[0]);

                    form.closest('.ui-jqdialog').find('.ui-jqdialog-titlebar').wrapInner('<div class="widget-header" />')

                    style_edit_form(form);

                },

                serializeEditData: function (postdata) {

                    // console.log(postdata);

                    return JSON.stringify(postdata);

                },

                afterComplete: function (response) {

                    // layer.msg(response.responseText, {time: 2000});

                    alert("修改成功");

                }

            },

            {

                //new record form

                //width: 700,

                url: 'book/add',

                ajaxEditOptions: {contentType: "application/json", type: "POST"},

                closeAfterAdd: true,

                recreateForm: true,

                viewPagerButtons: false,

                beforeShowForm: function (e) {

                    var form = $(e[0]);

                    form.closest('.ui-jqdialog').find('.ui-jqdialog-titlebar').wrapInner('<div class="widget-header" />')

                    style_edit_form(form);

                },

                serializeEditData: function (postdata) {

                    // console.log(postdata);

                    return JSON.stringify(postdata);

                },

                afterComplete: function (response) {

                    // layer.msg(response.responseText, {time: 2000});

                    alert("添加成功");

                }

            },

            {

                //view record form

                recreateForm: true,

                beforeShowForm: function (e) {

                    var form = $(e[0]);

                    form.closest('.ui-jqdialog').find('.ui-jqdialog-title').wrap('<div class="widget-header" />')

                }

            }

        )

 

//保存删除

        function _delete(id) {

            jQuery.ajax({

                type: 'POST',

                url: 'book/del',

                dataType: 'json',

                data: {

                    bookId: id

                },

                success: function (data) {

                    if (data) {

                        if (data.code != 1) {

                            alert("删除失败");

                        } else {

                            //刷新jqgrid

                            $(grid_selector).jqGrid().trigger("reloadGrid");

                        }

                    }

                },

                error: function (data) {

                }

            });

        }

 

$("#search").click(function (e) {

            //获取查询条件

            var bookId = $("#bookId").val();

            var bookName = $("#bookName").val();

            var bookClass = $("#bookClass").val();

            var bookAuthor = $("#bookAuthor").val();

            var bookPublisher = $("#bookPublisher").val();

            var bookDate = $("#bookDate").val();

            // alert(bookId);

            //刷新jqgrid

            $(grid_selector).jqGrid("setGridParam",{

                // url:"book/limit",

                // url: 'book/limit',

                // ajaxEditOptions: {contentType: "application/json", type: "POST"},

                page:1,

                // datatype: "json",

                // contentType:"",

                // rows:10,

                //传递查询参数

                postData:{

                    'bookId':bookId,

                    'bookName':bookName,

                    'bookClass':bookClass,

                    'bookAuthor':bookAuthor,

                    'bookPublisher':bookPublisher,

                    'bookDate':bookDate,

                    'code':1

                },

                serializeEditData: function (postdata) {

                    console.log(postdata);

                    return JSON.stringify(postdata);

                },

            }).trigger("reloadGrid");

        });

 

后端:

@ResponseBody

    @RequestMapping("list")

    public JSONObject getlibraryList(BookVo bookVo) throws ParseException {

        JSONObject jsonData = new JSONObject();

 

        if (bookVo.getCode() == 0){

            List<Book> books = bookService.selectList();

            // 当前页

            int pageStr = Integer.parseInt(bookVo.getPage());

            // 页大小

            int rowsStr = Integer.parseInt(bookVo.getRows());

            // 记录总数

            int records = books.size();

            // 总页数

            int total = (records%rowsStr==0) ? records/rowsStr : records/rowsStr+1;

            // 返回内容

            int start = (pageStr-1)*rowsStr;

            int end = start + rowsStr;

            JSONArray jsonArray = new JSONArray();

            for(int i=start;i<=end && i<records;i++){

                jsonArray.add(books.get(i));

            }

//        JSONArray array= JSONArray.parseArray(JSON.toJSONString(books));

 

            jsonData.put("total", total);

            jsonData.put("page", pageStr);

            jsonData.put("records", records);

            jsonData.put("rows", jsonArray);

//            return jsonData;

        }else {

            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

            Book book = new Book();

            book.setBookId(bookVo.getBookId());

            book.setBookName(bookVo.getBookName());

            book.setBookAuthor(bookVo.getBookAuthor());

            book.setBookClass(bookVo.getBookClass());

            if (bookVo.getBookDate() == ""){

                book.setBookDate(null);

            }else {

                Date date = sdf.parse(bookVo.getBookDate());

                book.setBookDate(date);

            }

 

//            book.setBookNote(bookVo.getBookNote());

//            book.setBookPrice(new BigDecimal(bookVo.getBookPrice()));

            book.setBookPublisher(bookVo.getBookPublisher());

//            book.setBookTotal(bookVo.getBookTotal());

 

            List<Book> books = bookService.selectByLimit(book);

//            JSONArray jsonArray = new JSONArray();

//            jsonArray.add(books);

            // 当前页

            int pageStr = Integer.parseInt(bookVo.getPage());

            // 页大小

            int rowsStr = Integer.parseInt(bookVo.getRows());

            // 记录总数

            int records = books.size();

            // 总页数

            int total = (records%rowsStr==0) ? records/rowsStr : records/rowsStr+1;

            // 返回内容

            int start = (pageStr-1)*rowsStr;

            int end = start + rowsStr;

            JSONArray jsonArray = new JSONArray();

            for(int i=start;i<=end && i<records;i++){

                jsonArray.add(books.get(i));

            }

//        JSONArray array= JSONArray.parseArray(JSON.toJSONString(books));

            //JSONObject jsonData = new JSONObject();

            jsonData.put("total", total);

            jsonData.put("page", pageStr);

            jsonData.put("records", records);

            jsonData.put("rows", jsonArray);

            /*jsonData.put("total", 1);

            jsonData.put("page", 1);

            jsonData.put("records", 1);

            jsonData.put("rows", jsonArray);*/

        }

        return jsonData;

}

@RequestMapping("add")

    @ResponseBody

    public int addBook(@RequestBody Book book){

        int i = bookService.insertSelective(book);

        if (i>0){

            return 1;

        }

        return 0;

    }

@RequestMapping("edit")

    @ResponseBody

    public int editBook(@RequestBody Book book){

        int i = bookService.updateByPrimaryKeySelective(book);

        if (i>0){

            return 1;

        }

        return 0;

    }

@RequestMapping("del")

    @ResponseBody

    public JSONObject delBook(@RequestParam("bookId") String bookId){

        int i = bookService.deleteByPrimaryKey(Integer.parseInt(bookId));

        JSONObject jsonData = new JSONObject();

        if (i>0){

            jsonData.put("code",1);

            return jsonData;

        }

        jsonData.put("code",0);

        return jsonData;

    }

@RequestMapping("editAndDel")

    @ResponseBody

    public int editAndDelBook(BookEditOrDel bookEditOrDel) throws ParseException {

        if (bookEditOrDel.getOper().equals("edit")){

            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

            Book book = new Book();

            book.setBookId(bookEditOrDel.getBookId());

            book.setBookName(bookEditOrDel.getBookName());

            book.setBookAuthor(bookEditOrDel.getBookAuthor());

            book.setBookClass(bookEditOrDel.getBookClass());

            Date date = sdf.parse(bookEditOrDel.getBookDate());

            book.setBookDate(date);

            book.setBookNote(bookEditOrDel.getBookNote());

            book.setBookPrice(new BigDecimal(bookEditOrDel.getBookPrice()));

            book.setBookPublisher(bookEditOrDel.getBookPublisher());

            book.setBookStatus(bookEditOrDel.getBookStatus());

            int i = bookService.updateByPrimaryKeySelective(book);

            if (i>0){

                return 1;

            }

        }else if (bookEditOrDel.getOper().equals("del")){

            /*int i = bookService.deleteByPrimaryKey(bookEditOrDel.getId());

            if (i>0){

                return 1;

            }*/

        }

        return 0;

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

姑苏 · 安阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值