zoukankan      html  css  js  c++  java
  • 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-resourcesViewsInStock目录中的找到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",  50 }         
    
            ]],
    
            columns: [[
                { title: "编号", field: "Id",  50, sortable: true },
                { title: "入库单号", field: "No",  100, sortable: true },          
                {title: "状态", field: "Status",  50            },
                { title: '到货日期', field: 'ReceiveTime',   100, align: 'center' },
                { title: "货主", field: "OwnerCode",  150, sortable: true },
                { title: "预计到货时间", field: "PreDeliveryTime",  100, sortable: false },
                { title: '客户', field: 'CustomerName',  120, align: 'center' },
                { title: '收货人',field: 'Oper',  100, align: 'center' },
                { title: '审核人',field: 'Checker',  120, align: 'center' },
                { title: '件数', field: 'PackageQty',  100, align: 'center' },
               { title: '创建时间', field: 'CreationTime',  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",  50 }
    
            ]],
    
            columns: [[
                { title: "编号", field: "Id",  50, sortable: true },
                { title: "供应商", field: "SupplierId",  80, sortable: true },
    
                { title: "HSCode", field: "HSCode",  100, sortable: true },
                { title: "货物代码", field: "CargoCode",  100, sortable: true },
                { title: "货物名称", field: "CargoName",  80, sortable: false },
                { title: "规格型号", field: "Spcf",  100, sortable: false },
                { title: "产销国", field: "Country",  80, sortable: false },
                { title: "计量单位", field: "Unit",  100, sortable: false },
                { title: "包装", field: "Package",  100, sortable: false },
                { title: "单价", field: "Price",  100, sortable: false },
                { title: "币制", field: "Curr",  80, sortable: false },
                {
                    title: "长宽高", field: "Length",  100, sortable: false, formatter: function (value, row, index) {
                        return row.Length + '*' + row.Width + '*' + row.Height;
                    }
                },
    
                { title: "体积", field: "Vol",  80, sortable: false },
                { title: "备注", field: "Remark",  80, sortable: false },
                { title: '创建时间', field: 'CreationTime',  100, align: 'center' }
    
            ]]       
        });
        abp.log.warn('3货物信息列表日志...');
    }
    
     
    
    function ShowCargoInfo() {
    
        $("#divImportCargo").dialog({
                closed: false,
                title: "选择货物信息",
                modal: true,
                 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,
                             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-DD
    function 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;
    }
    
     
    
    //将表单数据转为json
    function 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,
                             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",  50, sortable: true },
                { title: "入库单号", field: "InStockNo",  100, sortable: true },
                { title: "HSCode", field: "HSCode",  80, sortable: false },
                { title: "货物代码", field: "CargoCode",  100, sortable: true },
                { title: "货物名称", field: "CargoName",  160, sortable: false },
                { title: "规格型号", field: "Spcf",  80, sortable: false },
                {
                    title: "数量", field: "Qty",  100, align: 'center', editor: {
                        type: 'numberbox', options: {
                            required: true, min: 0, precision: 4
                        }
                    }
                },
                {
                    title: "长", field: "Length",  70, align: 'center', editor: {
                        type: 'numberbox', options: {
                            required: true, min: 0, precision: 2
                        }
                    }
                },
                {    title: "宽", field: "Width",  70, align: 'center', editor: {
                        type: 'numberbox', options: {
                            required: true, min: 0, precision: 2
                        }
                    }
                },
                {
                    title: "高", field: "Height",  70, align: 'center', editor: {
                        type: 'numberbox', options: {
                            required: true, min: 0, precision: 2
                        }
                    }
                },
                { title: "产销国", field: "Country",  70, align: 'center' },
                {
                    title: "单价", field: "Price",  100, align: 'center', editor: {
                        type: 'numberbox', options: {
                            required: true, min: 0, precision: 2
                        }
                    }
                },        
                {
                    title: "总价", field: "TotalAmt",  100, align: 'center', editor: {
                        type: 'numberbox', options: {
                            required: true, min: 0, precision: 2
                        }
                    }
                },
                { title: "包装", field: "Package",  70, align: 'center' },
                { title: "计量单位", field: "Unit",  70, align: 'center' },
                {
                    title: "总体积", field: "Vol",  70, align: 'center', editor: {
                        type: 'numberbox', options: {
                            required: true, min: 0, precision: 4
                        }
                    }
                },
                { title: "品牌", field: "Brand",  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文件。双击打开此文件,把以下代码删除或注释

       <div id="dg-detail-button">
                 <a href="#" id="add" class="easyui-linkbutton" data-options="iconCls:'icon-add'" style="100px; "

    onclick="ShowCargoInfo()">添加明细</a> <a href="#" id="addLoc" class="easyui-linkbutton" data-options="iconCls:'icon-add'" style="100px; "

    onclick="SubGridAddRow()">添加库位</a> <a href="#" id="del" class="easyui-linkbutton" data-options="iconCls:'icon-remove'" style="100px; ">删除</a> </div>

        4. 修改代码,如下图。

    <td>创建时间:</td>
                            <td>
                                <input type="text" id="CreationTimeUpdate" name="UCreationTime" class="form-control input-sm" />
    
                            </td>
  • 相关阅读:
    Go语言从入门到放弃(三) 布尔/数字/格式化输出
    11. GLOBAL_VARIABLES 与 SESSION_VARIABLES
    10. GLOBAL_STATUS 与 SESSION_STATUS
    9. FILES
    8. EVENTS
    7. ENGINES
    6. COLUMN_PRIVILEGES
    5. COLUMNS
    4. COLLATION_CHARACTER_SET_APPLICABILITY
    3. COLLATIONS
  • 原文地址:https://www.cnblogs.com/chillsrc/p/12756289.html
Copyright © 2011-2022 走看看