abp(net core)+easyui+efcore实现仓储管理系统——入库管理之九(四十五)

abp(net core)+easyui+efcore实现仓储管理系统目录

abp(net core)+easyui+efcore实现仓储管理系统——EasyUI前端页面框架 (十八)

在经过前面八篇文章(abp(net core)+easyui+efcore实现仓储管理系统——入库管理之一(三十七)abp(net core)+easyui+efcore实现仓储管理系统——入库管理之八(四十四) )的学习之后,我们知道了已经基本完成了入库管理功能。在这篇文章中我们来增加更新与删除功能的脚本。

修改更新与删除脚本

1. 在Visual Studio 2017的“解决方案资源管理器”中,找到领域层“ABP.TPLMS.Web.Mvc”项目中的wwwroot目录下的view-resources\Views\InStock目录中的找到Index.js文件。如下图。

2. 在Index.js文件中,写入相应的脚本代码。代码如下:

//-----------------------系统管理-->入库单管理----------------------//var editIndex = undefined;var mainIndex = undefined;//刷新数据function initable() {    $("#dgINSO").datagrid({        url: "/InStock/List",        title: "入库单管理",        pagination: true,        pageSize: 10,        pageList: [10, 20, 30],        fit: true,        fitColumns: false,        loadMsg: "正在加载入库单信息...",        nowarp: false,        border: false,        idField: "Id",        sortName: "Id",        sortOrder: "asc",        frozenColumns: [[//冻结列            { field: "ck", checkbox: true, align: "left", width: 50 }                 ]],        columns: [[            { title: "编号", field: "Id", width: 50, sortable: true },            { title: "入库单号", field: "No", width: 100, sortable: true },                      {title: "状态", field: "Status", width: 50            },            { title: '到货日期', field: 'ReceiveTime',  width: 100, align: 'center' },            { title: "货主", field: "OwnerCode", width: 150, sortable: true },            { title: "预计到货时间", field: "PreDeliveryTime", width: 100, sortable: false },            { title: '客户', field: 'CustomerName', width: 120, align: 'center' },            { title: '收货人',field: 'Oper', width: 100, align: 'center' },            { title: '审核人',field: 'Checker', width: 120, align: 'center' },            { title: '件数', field: 'PackageQty', width: 100, align: 'center' },           { title: '创建时间', field: 'CreationTime', width: 100, align: 'center' }        ]]    });} //显示送货单数据function ShowCargo() {    abp.log.warn('货物信息列表日志...');    $("#dgCargo").datagrid({       url: "/Cargo/List",        title: "货物管理管理",        pagination: true,        pageSize: 10,        pageList: [10, 20, 30],        fit: true,        fitColumns: false,        loadMsg: "正在加载货物信息...",        nowarp: false,        border: false,        idField: "Id",        sortName: "Id",        sortOrder: "asc",        frozenColumns: [[//冻结列            { field: "ck", checkbox: true, align: "left", width: 50 }        ]],        columns: [[            { title: "编号", field: "Id", width: 50, sortable: true },            { title: "供应商", field: "SupplierId", width: 80, sortable: true },            { title: "HSCode", field: "HSCode", width: 100, sortable: true },            { title: "货物代码", field: "CargoCode", width: 100, sortable: true },            { title: "货物名称", field: "CargoName", width: 80, sortable: false },            { title: "规格型号", field: "Spcf", width: 100, sortable: false },            { title: "产销国", field: "Country", width: 80, sortable: false },            { title: "计量单位", field: "Unit", width: 100, sortable: false },            { title: "包装", field: "Package", width: 100, sortable: false },            { title: "单价", field: "Price", width: 100, sortable: false },            { title: "币制", field: "Curr", width: 80, sortable: false },            {                title: "长宽高", field: "Length", width: 100, sortable: false, formatter: function (value, row, index) {                    return row.Length + '*' + row.Width + '*' + row.Height;                }            },            { title: "体积", field: "Vol", width: 80, sortable: false },            { title: "备注", field: "Remark", width: 80, sortable: false },            { title: '创建时间', field: 'CreationTime', width: 100, align: 'center' }        ]]           });    abp.log.warn('3货物信息列表日志...');} function ShowCargoInfo() {    $("#divImportCargo").dialog({            closed: false,            title: "选择货物信息",            modal: true,            width: 820,            height: 550,            collapsible: true,            minimizable: true,            maximizable: true,            resizable: true        });       ShowCargo();       $("#dgCargo").datagrid("clearChecked");       $("#dgCargo").datagrid("clearSelections");} function reloaded() {   //reload    $("#reload").click(function () {        //        $('#dgINSO').datagrid('reload');    });} //修改点击按钮事件function updInSOInfo() {        $("#edit").click(function () {               //判断选择的中        var row = $("#dgINSO").datagrid('getSelected');               if (row) {                  $.messager.confirm('编辑', '您想要编辑吗?', function (r) {                if (r) {                                      //先绑定                                        showINO(row);                                       //打开对话框编辑                    $("#divAddUpdINO").dialog({                        closed: false,                        title: "修改入库单",                        modal: true,                        width: 820,                        height: 550,                        collapsible: true,                        minimizable: true,                        maximizable: true,                        resizable: true,                    });                        defaultTab();                    ShowDetail(row.No);                }                          });            SetEnabled(row.Status);        } else {            $.messager.alert('提示', ' 请选择要编辑的行!', 'warning');        }    });  }//删除入库单function deleteInSO() {    $("#del").click(function () {        var rows = $("#dgINSO").datagrid("getSelections");        if (rows.length > 0) {            $.messager.confirm("提示", "确定要删除吗?", function (res) {                if (res) {                    var codes = []; //重要不是{}                    for (var i = 0; i < rows.length; i++) {                        codes.push(rows[i].Id);                    }                    $.post("/InStock/Delete", { "ids": codes.join(',') }, function (data) {                        if (data == "OK") {                            $.messager.alert("提示", "删除成功!");                            $("#dgINSO").datagrid("clearChecked");                            $("#dgINSO").datagrid("clearSelections");                            $("#dgINSO").datagrid("load", {});                        }                                               else if (data == "NO") {                            $.messager.alert("提示", "删除失败!");                            return;                        }                    });                }            });        }    })}//清空文本框function clearAll() {        $("#divAddUpdINO input").each(function () {            $(this).val("");        });    $("#PreDeliveryTimeUpdate").val(getNowFormatDate());        $("#StatusUpdate").val("0");    $("#NwtUpdate").val("0");     $("#GwtUpdate").val("0");    $("#PackageQtyUpdate").val("0");   }function GetNo() {    $.get(abp.appPath + "api/services/app/InStockOrder/GetNo", function (data) {        $("#UpdNO").val(data);    });}//获取当前时间,格式YYYY-MM-DDfunction getNowFormatDate() {    var date = new Date();    var seperator1 = "-";    var year = date.getFullYear();    var month = date.getMonth() + 1;    var strDate = date.getDate();    if (month >= 1 && month <= 9) {        month = "0" + month;    }    if (strDate >= 0 && strDate <= 9) {        strDate = "0" + strDate;    }    var currentdate = year + seperator1 + month + seperator1 + strDate;    return currentdate;} //将表单数据转为jsonfunction form2Json(id) {     var arr = $("#" + id).serializeArray()    var jsonStr = "";    jsonStr += '{';    for (var i = 0; i < arr.length; i++) {        jsonStr += '"' + arr[i].name + '":"' + arr[i].value + '",'    }    jsonStr = jsonStr.substring(0, (jsonStr.length - 1));    jsonStr += '}'     var json = JSON.parse(jsonStr)    return json} function SetEnabled(status) {    //var status = $("#StatusUpdate").val()    if (status == "提交") {        $("#btnSave").prop('disabled', true);    }    else {        $("#btnSave").removeAttr("disabled");    }} function defaultTab() {    //默认显示第一个tab    $('#box').tabs('select', "入库单");}//弹出 导入送货单的的对话框function showInSODialog() {     $("#add").click(function () {               $.messager.confirm('编辑', '您想要创建入库单吗?', function (r) {                if (r) {                    //打开对话框编辑                    $("#divAddUpdINO").dialog({                        closed: false,                        title: "新增入库单",                        modal: true,                        width: 820,                        height: 550,                        collapsible: true,                        minimizable: true,                        maximizable: true,                        resizable: true,                    });                                    }                defaultTab();                GetNo();                clearAll();                ShowDetail("");            });           });     $("#btnSave").click(function () {              //保存        var id = $("#IDUpdate").val();        if (id == "" || id == undefined) {            //验证            $.messager.confirm('确认', '您确认要保存吗?', function (r) {                if (r) {                                     var postData = GetINO();                                       if (postData.No == "" || postData.CustomerCode == "" || postData.CustomerName=="" || postData.OwnerName=="") {                        $.messager.alert('提示', ' 请填写相关必填项!', 'warning');                        return;                    }                                       $.post("/InStock/Add", postData, function (data) {                        if (data == "OK") {                           // $("#divAddUpdDO").dialog("close");                            $.messager.alert("提示", "保存成功!");                            initable();                            collapseRows();                        }                        else if (data == "NO") {                            $.messager.alert("提示", "保存失败!");                            return;                        }                    });                }            })        }        else {            saveDetail();            initable();            collapseRows();        }});} //添加明细function ShowDetail(no) {    var lastIndex;    $("#dgINOD").datagrid({        url: "/InStock/GetDetail?no=" + no,        title: "入库单明细",        pagination: false,              fit: true,        fitColumns: false,        loadMsg: "正在加载入库单明细信息...",        toolbar: [            { text: '添加明细', iconCls: 'icon-add', handler: function () { ShowCargoInfo(); } },            { text: '添加库位', iconCls: 'icon-edit', handler: function () { SubGridAddRow(); } },            { text: '删除', iconCls: 'icon-remove', handler: function () { deviceInfoDeleteClick(); } },            '-'        ],        nowarp: false,        border: false,        idField: "Id",        sortName: "Id",        sortOrder: "asc",        singleSelect: true,        iconCls: 'icon-edit',              columns: [[            { title: "编号", field: "SeqNo", width: 50, sortable: true },            { title: "入库单号", field: "InStockNo", width: 100, sortable: true },            { title: "HSCode", field: "HSCode", width: 80, sortable: false },            { title: "货物代码", field: "CargoCode", width: 100, sortable: true },            { title: "货物名称", field: "CargoName", width: 160, sortable: false },            { title: "规格型号", field: "Spcf", width: 80, sortable: false },            {                title: "数量", field: "Qty", width: 100, align: 'center', editor: {                    type: 'numberbox', options: {                        required: true, min: 0, precision: 4                    }                }            },            {                title: "长", field: "Length", width: 70, align: 'center', editor: {                    type: 'numberbox', options: {                        required: true, min: 0, precision: 2                    }                }            },            {    title: "宽", field: "Width", width: 70, align: 'center', editor: {                    type: 'numberbox', options: {                        required: true, min: 0, precision: 2                    }                }            },            {                title: "高", field: "Height", width: 70, align: 'center', editor: {                    type: 'numberbox', options: {                        required: true, min: 0, precision: 2                    }                }            },            { title: "产销国", field: "Country", width: 70, align: 'center' },            {                title: "单价", field: "Price", width: 100, align: 'center', editor: {                    type: 'numberbox', options: {                        required: true, min: 0, precision: 2                    }                }            },                    {                title: "总价", field: "TotalAmt", width: 100, align: 'center', editor: {                    type: 'numberbox', options: {                        required: true, min: 0, precision: 2                    }                }            },            { title: "包装", field: "Package", width: 70, align: 'center' },            { title: "计量单位", field: "Unit", width: 70, align: 'center' },            {                title: "总体积", field: "Vol", width: 70, align: 'center', editor: {                    type: 'numberbox', options: {                        required: true, min: 0, precision: 4                    }                }            },            { title: "品牌", field: "Brand", width: 70, align: 'center' }        ]],         onClickRow: function (index, rowData) {            if (mainIndex!=undefined) {                $('#dgINOD').datagrid('collapseRow', mainIndex);            }                       if (lastIndex != index) {                $('#dgINOD').datagrid('endEdit', lastIndex);                editrow(index);            }            lastIndex = index;                  },                onBeginEdit: function (rowIndex, rowData) {              setEditing(rowIndex);        }    });}//计算报价小计function setEditing(rowIndex) {    var editors = $('#dgINOD').datagrid('getEditors', rowIndex);    var priceEditor = editors[4];    var qtyEditor = editors[0];    var lengthEditor = editors[1];    var widthEditor = editors[2];    var heightEditor = editors[3];    var totalVolEditor = editors[6];    var totalAmtEditor = editors[5];    priceEditor.target.numberbox({        onChange: function () { calculate();}    });    qtyEditor.target.numberbox({        onChange: function () {            calculate();            calculateVol();        }    });    lengthEditor.target.numberbox({        onChange: function () { calculateVol(); }    });    widthEditor.target.numberbox({        onChange: function () { calculateVol(); }    });    heightEditor.target.numberbox({        onChange: function () { calculateVol(); }    });    function calculate() {        var cost = (priceEditor.target.val()) * (qtyEditor.target.val());        console.log(cost);        totalAmtEditor.target.numberbox("setValue", cost);    }    function calculateVol() {        var vol = (lengthEditor.target.val() / 100.0) * (widthEditor.target.val() / 100.0) * (heightEditor.target.val() / 100.0)* (qtyEditor.target.val());        console.log(vol);        totalVolEditor.target.numberbox("setValue", vol);    }}function editrow(index) {    $('#dgINOD').datagrid('selectRow', index)        .datagrid('beginEdit', index);}function endEdit() {    var rows = $('#dgINOD').datagrid('getRows');    if (rows==undefined) {        return;    }    for (var i = 0; i < rows.length; i++) {        $('#dgINOD').datagrid('endEdit', i);    }}//设置入库单明细数据function setGridDetail(effectRow) {    if ($('#dgINOD').datagrid('getChanges').length) {        var inserted = $('#dgINOD').datagrid('getChanges', "inserted");        var deleted = $('#dgINOD').datagrid('getChanges', "deleted");        var updated = $('#dgINOD').datagrid('getChanges', "updated");                if (inserted.length) {            effectRow["inserted"] = JSON.stringify(inserted);        }        if (deleted.length) {            effectRow["deleted"] = JSON.stringify(deleted);        }        if (updated.length) {            effectRow["updated"] = JSON.stringify(updated);        }     }    return effectRow;}function saveDetail() {    endEdit();    $.messager.confirm('确认', '您确认要修改吗?', function (r) {        var effectRow = new Object();        var postData = GetINO();        if (postData.Id) {            effectRow["postdata"] = JSON.stringify(postData);        }        effectRow = setGridDetail(effectRow);        $.post("/InStock/Update", effectRow, function (data) {            if (data.success) {                $.messager.alert("提示", data.result);                $('#dgINOD').datagrid('acceptChanges');                     }            else {                $.messager.alert("提示", data.result);                return;            }        }, "JSON")            ;               })    }function init() {    $("#PreDeliveryTimeUpdate").val(getNowFormatDate());    $("#CreationTimeUpdate").val(getNowFormatDate());    $("#btnCancle").click(function () {               $("#divAddUpdINO").dialog("close");           $('#dgINSO').datagrid('reload');    });    $("#btnCancleDO").click(function () {        $("#divImportCargo").dialog("close");        $('#dgINSO').datagrid('reload');    });     $("#btnImportDO").click(function () {        //保存        var rows = $('#dgCargo').datagrid('getSelections');        if (rows.length > 0) {            //验证            $.messager.confirm('确认', '您确认要保存所选择的货物信息吗?', function (r) {                if (r) {                    var obj_No = $("#UpdNO").val();                    var ids = [];//重要不是{}                    for (var i = 0; i < rows.length; i++) {                        ids.push(rows[i].Id);                    }                    var postData = {                        "Ids": ids.join(','),                        "No": obj_No                    };                     $.post("/InStock/ImportCargo", postData, function (data) {                        if (data == "OK") {                            $.messager.alert("提示", "保存货物信息成功!");                            ShowDetail(obj_No);                        }                        else if (data == "NO") {                            $.messager.alert("提示", "保存货物信息失败!");                            return;                        }                    });                }            })        }    });     $("#btnSubmit").click(function () {        //保存        var id = $("#IDUpdate").val();        if (id == "" || id == undefined) {            $.messager.alert("提示", "入库单没有保存,请先保存!");            return;        }            //验证            $.messager.confirm('确认', '您确认要提交入库单吗?', function (r) {                if (r) {                                   var postData = {                        "Id": id                    };                     $.post("/InStockMgr/Submit", postData, function (data) {                        if (data == "OK") {                            $.messager.alert("提示", "入库单已经提交成功!");                                                       $("#StatusUpdate").val("提交");                            SetEnabled("提交");                        }                        else if (data == "NO") {                            $.messager.alert("提示", "入库单提交失败!");                            return;                        }                    });                }            })    });} function GetINO() {    var postData = {        "No": $("#UpdNO").val(),        "DeliveryNo": "",        "PreDeliveryTime": $("#PreDeliveryTimeUpdate").val(),        "CustomerCode": $("#CustomerCodeUpdate").val(),        "OwnerName": $("#OwnerNameUpdate").val(),        "OwnerCode": $("#OwnerCodeUpdate").val(),        "CustomerName": $("#CustomerNameUpdate").val(),        "CreationTime": $("#CreationTimeUpdate").val(),        "CheckTime": $("#CheckTimeUpdate").val(),        "WarehouseType": $("#WarehouseTypeUpdate").val(),        "WarehouseNo": $("#WarehouseNoUpdate").val(),        "Oper": $("#OperUpdate").val(),        "Receiver": $("#ReceiverUpdate").val(),        "Nwt": $("#NwtUpdate").val(),        "Remark": $("#RemarkUpdate").val(),        "ReceiveTime": $("#ReceiveTimeUpdate").val(),              "Status": $("#StatusUpdate").val(),        "Gwt": $("#GwtUpdate").val(),        "Checker": $("#CheckerUpdate").val(),        "PackageQty": $("PackageQtyUpdate").val(),        "LastUpdateTime": "",        "LastOper":""    };    var id = $("#IDUpdate").val();    if (!(id=="" || id==undefined)) {        postData.Id = id;    }    return postData;} function showINO(row)      {    $("#IDUpdate").val(row.Id);    $("#UpdNO").val(row.No);    $("#PreDeliveryTimeUpdate").val(row.PreDeliveryTime);    $("#CustomerCodeUpdate").val(row.CustomerCode);       $("#CustomerNameUpdate").val(row.CustomerName);    $("#OwnerCodeUpdate").val(row.OwnerCode);    $("#OwnerNameUpdate").val(row.OwnerName);    $("#CreationTimeUpdate").val(row.CreationTime);    $("#CheckTimeUpdate").val(row.CheckTime);    $("#WarehouseTypeUpdate").val(row.WarehouseType);    $("#WarehouseNoUpdate").val(row.WarehouseNo);    $("#OperUpdate").val(row.Oper);    $("#ReceiverUpdate").val(row.Receiver);    $("#NwtUpdate").val(row.Nwt);    $("#RemarkUpdate").val(row.Remark);    $("#ReceiveTimeUpdate").val(row.ReceiveTime);    $("#StatusUpdate").val(row.Status);        $("#GwtUpdate").val(row.Gwt);    $("#CheckerUpdate").val(row.Checker);}//------------------------系统管理-->入库单管理结束--------------------------//

3. 在Visual Studio 2017的“解决方案资源管理器”中,找到“ABP.TPLMS.Web.Mvc”项目中的Views目录下的InStock目录中的Index.cshtml文件。双击打开此文件,把以下代码删除或注释。

添加明细   添加库位              删除

4. 修改代码,如下图。

<td>创建时间:</td><td><input type="text" id="CreationTimeUpdate" name="UCreationTime" class="form-control input-sm" /></td>
(0)

相关推荐