分享

列子说明——复选框操作批量操作数据

 rollet 2013-05-07
<script type="text/javascript">
    $(document).ready(function () {
      //导出Excel
        $("#lbutton").click(function () {
            $("#carriageSettlementForm").append('<input id="excel" type="hidden" name="excel" value="1"> ');
            $("#carriageSettlementForm").submit();
            $("#carriageSettlementForm").find('#excel').remove();
        });
       //固定字段
        var frozenColumns = [
            [
                {field: 'id', checkbox: true},
                {title: '发运单号', field: 'trackingNo', width: 120, align: 'center',formatter: function (val, row, index) {//自定义展示内容
                    return row.trackingNo +
                            '<input type="hidden"  value="' + row.warehouseId + '">' +
                            '<input type="hidden"  value="' + row.carriageCompanyId + '">' +
                            '<input type="hidden"  value="' + row.carriageAmount + '">';
                }},
                {title: 'VIN', field: 'vinCode', width: 130, align: 'center'}
            ]
        ];
        // 其他字段
        var columns = [
            [
                {title: '出库仓库', field: 'warehouseName', width: 80, align: 'center'},
                {title: '品牌', field: 'brandName', width: 50, align: 'center'},
                {title: '车系', field: 'seriesName', width: 50, align: 'center'},
                {title: '车型', field: 'modelName', width: 120, align: 'center'},
                {title: '配置', field: 'assemblyName', width: 150, align: 'center'},
                {title: '颜色', field: 'colorName', width: 50, align: 'center'},
                {title: '物料号', field: 'materialCode', width: 120, align: 'center'},
                {title: '承运商', field: 'carriageCompanyName', width: 200, align: 'center'},
                {title: '运送地址', field: 'address', width: 200, align: 'center'},
                {title: '运费', field: 'carriageAmount', width: 80, align: 'center', formatter: function (value, rec) {
                    return floatValue4Two(value);
                }},
                {title: '出库日期', field: 'outName', width: 80, align: 'center'}
            ]
        ];
        // 刷新表格
        $("#carriageBtnJson").click(function () {
            $('#carriageTableList').datagrid('load', {
                        brandId: $('#brandId').val(),
                        seriesId: $('#seriesId').val(),
                        modelId: $('#modelId').val(),
                        assemblyId: $('#assemblyId').val(),
                        colorId: $('#colorId').val(),
                        materialCode: $('#materialCode').val(),
                        startTime: $('#startTime').val(),
                        endTime: $('#endTime').val(),
                        carriageCompanyId: $('#carriageCompanyId').val(),
                        trackingNo: $('#trackingNo').val(),
                        vinCode: $('#vinCode').val()  ,
                        warehouseId:$('#warehouseId').val()
                    });
        });
        
   //绘制表格页面
        $("#carriageTableList").datagrid({
                    rownumbers: true,
                    pageList:[10, 30, 50],
                    #if($!qs)
                        pageNumber:parsePageNumber($!qs),
                        pageSize:parsePageSize($!qs),
                    #end
                    singleSelect: false,
                    url: "/dcs/car/stock/factory_carriage_settlement/json.do",
                    toolbar: "#searchBar",
                    pagination: true,
                    fitColumns: false,
                    frozenColumns: frozenColumns,
                    queryParams: eval($!{qs}),
                    columns: columns
                    ,onLoadSuccess: function (data) {//自定义重绘
                        var panel = $('#carriageTableList').datagrid('getPanel');
                        var rows = panel.find('.datagrid-view1 tr[datagrid-row-index]');
//                        var i = rows.length;
                        rows.find('div.datagrid-cell-check input[type=checkbox]').each(function () {
                            var index = $(this).parent().parent().parent();
                            var isexist = $(index).find("td").eq(2).find("input").eq(2).val();
                            if (!isexist || isexist == "") {
                                $(this).remove();
                            }
                        })
                    }
                });
//页面级按钮操作
        $("#carriageBtnCheck").click(function() {
            var checkedBox = $("#carriagePanel [name='id']:checked");
            if (checkedBox.size() == 0) {
                alert("请确保选择了一条运费信息");
                return;
            } else {
                var total = 0.00;
                var vin = "";
                var ids = "";
                var a = "";
                var b = "";
                checkedBox.each(function () {
                    var tr = $(this).parent().parent().parent();
                    var carriageCompanyId = $(tr).find("td").eq(2).find("input").eq(1).val();
                    var warehouseId = $(tr).find("td").eq(2).find("input").eq(0).val();
                    if (a == "")a = carriageCompanyId;
                    if (carriageCompanyId != a) {
                        alert("选择条目不是同一个承运商!");
                        return;
                    }
                    if (b == "") b = warehouseId;
                    if (warehouseId != b) {
                        alert("选择条目不是同一个仓库!");
                        return;
                    }
                    var money = $(tr).find("td").eq(2).find("input").eq(2).val();
                    var id = $(this).val();
                    var vinCode = $.trim($(tr).find("td").eq(3).text());
                    ids += ids == "" ? id : "," + id;
                    vin += vin == "" ? vinCode : "," + vinCode;
                    total += parseFloat(money);
                });
                var url = "/dcs/finance/all_carriage_settlement/check_car_statements.do";
                $.post(url, {vinCodes:vin},
                        function (data, status) {
                            var code = data.data.code;
                            if (code == 200) {
                                alert("已经有运费单被结算了,请重新查询");
                            } else if (code == 250) {
                                var queryParams = $('#carriageTableList').datagrid('options').queryParams;
                                queryParams["page"] = $('#carriageTableList').datagrid('options').pageNumber;
                                queryParams["size"] = $('#carriageTableList').datagrid('options').pageSize;
                                $("#checkForm").append("<input type='hidden' name='qs' value='" + JSON.stringify(queryParams) + "' />");
                                $("#checkForm").append("<input type='hidden' name='ids' value='" + ids + "' />");
                                $("#checkForm").append("<input type='hidden' name='money' value='" + floatValue4Two(total) + "' />");
                                $("#checkForm").append("<input type='hidden' name='carriageCompanyId' value='" + a + "' />");
                                $("#checkForm").append("<input type='hidden' name='warehouseId' value='" + b + "' />");
                                $("#checkForm").submit();
                            } else {
                                alert("选择的数据有异常");
                            }
                        }, "json")

            }
        });
    })
</script>

<div id="main-content">
    <div class="crumbs">承运商运费提交结算</div>
    <div class="content-box">
//定义表格区域
        <div id="carriagePanel">
            <table id="carriageTableList" style="height:500px"></table>
        </div>
        <div id="searchBar" style="padding:5px;height:auto">
            <form action="/dcs/car/stock/factory_carriage_settlement.do" method="post" id="carriageSettlementForm">
                #inputDateFromToJS("startTime","endTime")
                <table border="0" width="700" class="t-display">
                    <tbody class="no-border-bottom">
                    <tr>
                        <td class="align-right">品牌:</td>
                        <td>
                            #set($params=["name:brandId", "isBlank:true",
                            "selectedValue:$!bo.brandId","type:oem","rel:carriageSettlementForm"])
                            #brandSelect($params)
                        </td>
                        <td class="align-right">车系:</td>
                        <td>
                            #set($params=["name:seriesId", "isBlank:true", "brandId:$!bo.brandId",
                            "selectedValue:$!bo.seriesId", "rel:carriageSettlementForm"])
                            #seriesSelect($params)
                        </td>
                        <td class="align-right">车型:</td>
                        <td>
                            #set($params=["name:modelId", "isBlank:true", "seriesId:$!bo.seriesId",
                            "selectedValue:$!bo.modelId","rel:carriageSettlementForm"])
                            #modelSelect($params)
                        </td>
                    </tr>
                    <tr>
                        <td class="align-right">配置:</td>
                        <td>
                            #set($params=["name:assemblyId", "isBlank:true", "modelId:$!bo.modelId"
                            , "selectedValue:$!bo.assemblyId","rel:carriageSettlementForm"])
                            #collocateSelect($params)
                        </td>
                        <td class="align-right">颜色:</td>
                        <td>
                            #set($params=["name:colorId","isBlank:true", "id:colorId","listMethod:getListForOEM",
                            "baseType:basecarcolor",
                            "selectedValue:$!bo.colorId"])
                            #baseSelect($params)
                        </td>
                        <td class="align-right">物料号:</td>
                        <td>
                            <input class="text-input" name="materialCode" id="materialCode"
                                   value="$!bo.materialCode" style="width: 110px"/>
                        </td>
                    </tr>
                    <tr>
                        <td class="align-right">承运商:</td>
                        <td>
                            #set($params=["name:carriageCompanyId","isBlank:true", "id:carriageCompanyId",
                            "baseType:basetransportcompany",
                            "selectedValue:$!$!bo.carriageCompanyId"])
                            #baseSelect($params)
                        </td>
                        <td class="align-right"> 发运单号:</td>
                        <td>
                            <input type="text" class="text-input " id="trackingNo" name="trackingNo"
                                   value="$!bo.trackingNo" style="width: 110px"/>
                        </td>
                        <td class="align-right">仓库:</td>
                        <td>
                            #set($params=["name:warehouseId","isBlank:true", "id:warehouseId","listMethod:getCanViewList",
                            "baseType:warehouse",
                            "selectedValue:$!$!bo.warehouseId"])
                            #baseSelect($params)

                        </td>
                    </tr>
                    <tr>
                        <td width="60" class="align-right">VIN:</td>
                        <td><input type="text" class="text-input" id="vinCode" name="vinCode"
                                   value="$!bo.vinCode"/>
                        </td>
                        <td width="80" class="align-right">出库日期:</td>
                        <td><input class="text-input ipt-date" type="text" id="startTime"
                                   name="startTime"
                                   value="$!bo.startTime"/>
                        </td>
                        <td width="60" class="align-right">至:</td>
                        <td><input class="text-input ipt-date" type="text" id="endTime" name="endTime"
                                   value="$!bo.endTime"></td>
                    </tr>
                    <tr>
                        <td class="align-right" colspan="6">
                            <input class="button" type="button" value="查询" id="carriageBtnJson"/>
                            <input class="button" type="button" value="提交结算" id="carriageBtnCheck"/>
                            #buttonRule("9051202")
                            <input class="button" type="button" value="导出"
                                   id="lbutton"/>
                        #end
                        </td>
                    </tr>
                    </tbody>
                </table>
            </form>
            <form id="checkForm" method="post" action="/dcs/car/stock/factory_carriage_settlement/check.do">
            </form>
        </div>
    </div>





备注:
1.处理子功能页面时(如明细)qs 返回时 value的值用单引号括起:因为value 的数据为json数据 本身有“会造成字符串阶段的错误后果;
     

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约