1.会计期间列表增加结账按钮,已经结账的不能审核,反审核,删除
2.会计期间结账后,把结账的出入库数据插入期初库存表
3.增加期初库存报表
2个文件已添加
5个文件已修改
983 ■■■■■ 已修改文件
WebTM/WebTM.csproj 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/WebTM.csproj.user 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/layuiadmin/Scripts/webConfig.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/仓存管理/条码报表/KF_ICinventoryQueryReport.html 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/仓存管理/条码报表/Kf_ICInvBalList.html 600 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/系统管理/会计期间/Xt_AccountPeriodAdd.html 243 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/系统管理/会计期间/Xt_AccountPeriodList.html 126 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/WebTM.csproj
@@ -314,6 +314,7 @@
    <Content Include="views\人事管理\离职申请\HR_EmpDimissionBillList.html" />
    <Content Include="views\人事管理\职员异动单\HR_EmpChangeBill.html" />
    <Content Include="views\人事管理\职员异动单\HR_EmpChangeBillList.html" />
    <Content Include="views\仓存管理\条码报表\Kf_ICInvBalList.html" />
    <Content Include="views\仓存管理\生产入库单\Kf_ProductInBillList.html" />
    <Content Include="views\公共页面\Kf_ChaoBaoEditDlg.html" />
    <Content Include="views\品质管理\客诉处理\QC_CustomerAppealReport_BadClass.html" />
@@ -360,6 +361,7 @@
    <Content Include="views\生产管理\异常反馈单\OA_ErrMsgBackSignBill_BrushCard.html" />
    <Content Include="views\生产管理\报工台工序\开工\Sc_SwipeCardStart.html" />
    <Content Include="views\生产管理\生产计划平台\JIT_DayPlanPlatForm_BCP.html" />
    <Content Include="views\系统管理\会计期间\Xt_AccountPeriodAdd.html" />
    <Content Include="views\设备管理\设备停机单\Sb_EquipStopBillList_PDA.html" />
    <Content Include="views\设备管理\设备停机单\Sb_EquipStopBill_PDA.html" />
    <Content Include="views\设备管理\设备开机单\Sb_EquipBeginBillList_PDA.html" />
WebTM/WebTM.csproj.user
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <NameOfLastUsedPublishProfile>C:\Users\86130\Desktop\智云迈思\MES-WEB-LayUI\WebTM\Properties\PublishProfiles\JFTM.pubxml</NameOfLastUsedPublishProfile>
    <NameOfLastUsedPublishProfile>D:\智云迈思\MES\MES-WEB-LayUI\WebTM\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
    <ProjectView>ProjectFiles</ProjectView>
    <LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
    <LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
    <UseIISExpress>true</UseIISExpress>
    <Use64BitIISExpress />
    <IISExpressSSLPort />
WebTM/layuiadmin/Scripts/webConfig.js
@@ -8,8 +8,8 @@
    //var WEBURL = "http://localhost:8082/API/";    //杜贺本地配置
    //var WEBURL = "http://localhost:81/API/";    //王彬本地配置
    /*var WEBURL = "http://localhost:8083/API/";  //陈雯静本地配置*/
    var WEBURL = "http://localhost:81/API/"    //翁涛涛本地配置
    /*var WEBURL = "http://localhost:8082/API/"; */   //张瑞广本地配置
   // var WEBURL = "http://localhost:81/API/"    //翁涛涛本地配置
    var WEBURL = "http://localhost:8082/API/";   //张瑞广本地配置
    //var WEBURL = "http://localhost:8082/LuBaoAPI/";    //余思杰本地配置
    //var WEBURL = "http://localhost:8088/ARAPI/";    //余思杰本地配置(安瑞)
    //var WEBURL = "http://10.1.4.155/API/";   //江丰客户NEW
WebTM/views/²Ö´æ¹ÜÀí/ÌõÂ뱨±í/KF_ICinventoryQueryReport.html
@@ -103,6 +103,7 @@
                            <div class="layui-btn-container">
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_Export" id="Export"><i class="layui-icon layui-icon-export"></i>导出</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_Query" id="Query"><i class="layui-icon layui-icon-search"></i>查询</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_Proofread" id="Proofread"><i class="layui-icon layui-icon-radio"></i>库存校对</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Cell" id="Cell"><i class="layui-icon layui-icon-slider"></i>保存列宽</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-RefreshCell" id="RefreshCell"><i class="layui-icon layui-icon-cols"></i>默认列宽</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_HideColumn" id="HideColumn"><i class="layui-icon layui-icon-form"></i>列设置</button>
@@ -327,6 +328,9 @@
                    //查询按钮
                    case 'btn_Query': get_Display();
                        break;
                    //库存校对按钮
                    case 'btn_Proofread': get_Proofread();
                        break;
                    //退出按钮
                    case 'btn_Exit': Pub_Close(2);
                        break;
WebTM/views/²Ö´æ¹ÜÀí/ÌõÂ뱨±í/Kf_ICInvBalList.html
New file
@@ -0,0 +1,600 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>期初库存报表</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
    <script src="../../../layuiadmin/layui/layui.js"></script>
    <script src="../../../layuiadmin/Scripts/json2.js"></script>
    <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <script src="../../../layuiadmin/soulTable.slim.js"></script>
</head>
<body>
    <div class="layui-fluid">
        <div class="layui-col-md12">
            <div class="layui-card" style="padding: 1px">
                <div class="layui-card-body" style="padding: 1px;">
                    <form class="layui-form" action="" lay-filter="component-form-group">
                        <div class="layui-collapse">
                            <div class="layui-colla-item">
                                <div class="layui-colla-title layui-inline">
                                    <div class="layui-inline">
                                        <span>更多</span>
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">物料编码</label>
                                    <div class="layui-input-block">
                                        <input type="text" class="layui-input" name="HMaterNumber" id="HMaterNumber" style="width:190px;">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">物料名称</label>
                                    <div class="layui-input-block">
                                        <input type="text" class="layui-input" name="HMaterName" id="HMaterName" style="width:190px;">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">规格型号</label>
                                    <div class="layui-input-block">
                                        <input type="text" class="layui-input" name="HModel" id="HModel" style="width:190px;">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">年份</label>
                                    <div class="layui-input-block" style="width:160px">
                                        <select name="HYear" id="HYear" lay-verify="HYear" >
                                            <!--动态渲染组织-->
                                        </select>
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">月份</label>
                                    <div class="layui-input-block" style="width:160px">
                                        <select name="HPeriod" id="HPeriod" lay-verify="HPeriod" readonly>
                                            <!--动态渲染组织-->
                                        </select>
                                    </div>
                                </div>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">
                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                </button>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnReSearch" id="btnReSearch" style="padding:0 5px">重置</button>
                                <!--显示当前过滤方案-->
                                <div class="layui-inline" style="margin-left:5px;">
                                    <div style="text-align:center;font-size:15px;font-weight:bold;color:#fc9393" id="HFilterScheme_Now"></div>
                                </div>
                                <div class="layui-colla-content" style="padding: 0px; margin-left: 6%;">
                                    <div class="layui-row" style="margin-top:5px">
                                        <div class="layui-inline">
                                            <label class="layui-form-label">过滤</label>
                                            <div class="layui-input-block">
                                                <select name="ColName" id="ColName" class=" ForFilteringSchemes" lay-filter="ColName" style="width:190px;">
                                                </select>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <select name="Comparator" id="Comparator" class=" ForFilteringSchemes" lay-filter="Comparator" style="width:190px;">
                                                <option value="0" selected="selected"></option>
                                                <option value="=">=</option>
                                                <option value=">=">>=</option>
                                                <option value=">">></option>
                                                <option value="<="><=</option>
                                                <option value="<"><</option>
                                                <option value="<>"><></option>
                                                <option value="7">包含</option>
                                                <option value="8">左包含</option>
                                                <option value="9">右包含</option>
                                                <option value="10">不包含</option>
                                            </select>
                                        </div>
                                        <div class="layui-inline">
                                            <input type="text" class="layui-input ForFilteringSchemes" value="" name="ColContent" id="ColContent">
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <table class="" id="mainTable" lay-filter="mainTable"></table>
                        <script type="text/html" id="toolbarDemo">
                            <div class="layui-btn-container">
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_Export" id="Export"><i class="layui-icon layui-icon-export"></i>导出</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Refresh"><i class="layui-icon layui-icon-refresh-3"></i>刷新</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Exit"><i class="layui-icon layui-icon-logout"></i>退出</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn"><i class="layui-icon layui-icon-form"></i>列设置</button>
                            </div>
                        </script>
                    </form>
                </div>
            </div>
        </div>
    </div>
    <script>
        layui.config({
            base: '../../../layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index', //主入口模块
        }).use(['index', 'form', 'table', 'element', 'laypage', 'laydate','soulTable'], function () {
            //#region å…¬ç”¨å˜é‡
            var $ = layui.$
                , admin = layui.admin
                , layer = layui.layer
                , table = layui.table
                , form = layui.form
                , element = layui.element
                , laypage = layui.laypage
                , laydate = layui.laydate
                , soulTable = layui.soulTable
            var option = [];
            var sWhere = "";
            var HModName = "Kf_ICInvBalList";
            //不需要显示的字段 å¯æ‰©å±•
            var titleData = [ ];
            //#endregion
            //#region è¿›å…¥é¡µé¢å³åŠ è½½
            //初始化界面
            set_ClearBill();
            //#endregion
            //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
            //#region å¤´å·¥å…·æ äº‹ä»¶
            table.on('toolbar(mainTable)', function (obj) {
                switch (obj.event) {
                    //导出按钮
                    case 'btn_Export': get_Export();
                        break;
                    //刷新
                    case 'get_Refresh': get_Refresh();
                        break;
                    //退出按钮
                    case 'get_Exit': Pub_Close(2);
                        break;
                    //列设置
                    case 'set_HideColumn': get_HideColumn();
                        break;
                };
            });
            //#endregion
            //#region ç‚¹å‡»è¡Œé€‰ä¸­é«˜äº®
            table.on('row(mainTable)', function (obj) {
                //选中行改变颜色
                var flag = !obj.tr.find(':checkbox:first').prop('checked');
                obj.tr.find(':checkbox').prop('checked', flag);
                if (flag) {
                    obj.tr.find('.layui-form-checkbox').addClass('layui-form-checked');  //设置复选框选中样式
                    $(obj.tr.selector).attr({ "style": "background:#ceedfa;color:black" });//改变当前tr背景颜色和字体颜色
                } else {
                    obj.tr.find('.layui-form-checkbox').removeClass('layui-form-checked');//取消复选框选中样式
                    $(obj.tr.selector).attr({ "style": "background:" });//取消当前tr颜色
                }
                //mainTable ä¸ºè¡¨æ ¼ID   æ³¨æ„æ­¤å¤„如果ID不正确将导致你在监听复选框时获取不到你选择的数据,前面的只是添加或删除选中未选中样式以及设置背景色,字体颜色
                layui.each(table.cache.mainTable, function (i, l) {
                    if (obj.tr.index() == l.LAY_TABLE_INDEX) {
                        l.LAY_CHECKED = flag;
                    }
                });
            })
            //#endregion
            //#region é‡ç½®æŒ‰é’®
            form.on('submit(btnReSearch)', function (data) {
                set_ClearQuery();
            });
            //#endregion
            //#region æŸ¥è¯¢æŒ‰é’®
            form.on('submit(btnSearch)', function (data) {
                get_FastQuery(2);
            });
            //#endregion
            //#region å¯¼å‡ºExecel
            function get_Export() {
                table.exportFile(ins.config.id, option.data, "xls");
            }
            //#endregion
            //#endregion
            //#region æœ¬é¡µé¢æ‰€æœ‰è¢«è°ƒç”¨çš„æ–¹æ³•
            //#region åˆå§‹åŒ–界面
            function set_ClearBill() {
                //初始化表格
                set_InitGrid();
                //查询
                if (addSWhereByOpenType()) {          //addSWhereByOpenType()方法判断是否其它页面打开本页面,若是则处理过滤条件,并返回true
                    get_FastQuery(2);
                } else {
                    get_FastQuery(1);
                }
                Year();//年份
                Month();//月份
            }
            //#endregion
            //#region åˆå§‹åŒ–表格方法
            function set_InitGrid() {
                option = {
                    elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , height: 'full-50'
                    , page: true
                    , totalRow: true
                    , limit: 50
                    , limits: [50, 500, 5000, 50000]
                    , done: function (res, curr, count) {
                        soulTable.render(this);
                    }
                };
            }
            //#endregion
            //#region æŸ¥è¯¢
            function get_Display(sWhere) {
                var ajaxLoad = layer.load();
                $.ajax({
                    url: GetWEBURL() + '/WEBSController/GetKf_ICInvBalList',
                    type: "GET",
                    async: false,
                    data: { "sWhere": sWhere},
                    success: function (data1) {
                        if (data1.count == 1) {
                            var data = [];
                            var col = [];
                            //给空的数组赋值
                            for (var key in data1.list) {
                                data.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
                            }
                            //在列表左边添加勾选框
                            col.push({ type: 'checkbox', fixed: 'left' });
                            for (var i = 0; i < data.length; i++) {
                                if ($.inArray(data[i].name, titleData) > -1) {
                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //隐藏id列
                                }
                                else {
                                    switch (data[i].Type) {
                                        //int
                                        case 'DateTime':
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 200 });
                                            break;
                                        case 'long':
                                        case 'Int32':
                                        case 'Int64':
                                        case 'double':
                                        case 'Decimal':
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 120, totalRow: true });
                                            break;
                                        default:
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200 });
                                    }
                                }
                            }
                            option.cols = [col];
                            option.data = data1.data;
                            table.render(option);
                            //刷新表格数据
                            DisPlay_HideColumn();
                            layer.close(ajaxLoad);
                            if ($("#Comparator").val() == 0 && $("#ColContent").val() == "") {
                                ColFilter();
                            }
                            //layer.alert("查询成功", { icon: 1 });
                        } else {
                            layer.close(ajaxLoad);
                            layer.alert(data1.code + data1.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.close(ajaxLoad);
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //#endregion
            //#region å¿«é€Ÿè¿‡æ»¤
            function get_FastQuery(number) {
                var HMaterNumber = $("#HMaterNumber").val();            //物料编码
                var HMaterName = $("#HMaterName").val();                //物料名称
                var HModel = $("#HModel").val();               //规格型号
                var HYear = $("#HYear").val();               //年份
                var HPeriod = $("#HPeriod").val();               //月份
                //任意字段过滤
                var ColName = $("#ColName").val();//复选框
                var Comparator = $("#Comparator").val()
                var ColContent = $("#ColContent").val();
                if (ColName != 0 && Comparator != 0) {
                    var com = "";
                    switch (Comparator) {
                        case "7":
                            com = "like'%" + ColContent + "%'";
                            break;
                        case "8":
                            com = "like'%" + ColContent + "'";
                            break;
                        case "9":
                            com = "like'" + ColContent + "%'";
                            break;
                        case "10":
                            com = "not like'%" + ColContent + "%'";
                            break;
                        default:
                            com = "" + Comparator + "'" + ColContent + "'";
                            break;
                    }
                    sWhere += " and " + ColName + " " + com;
                }
                if (HMaterNumber) {
                    sWhere += " and ç‰©æ–™ç¼–码 like '%" + HMaterNumber + "%'";
                }
                if (HMaterName) {
                    sWhere += " and ç‰©æ–™åç§° like '%" + HMaterName + "%'";
                }
                if (HModel) {
                    sWhere += " and è§„格型号 like '%" + HModel + "%'";
                }
                if (HYear) {
                    sWhere += " and å¹´ä»½ like '%" + HYear + "%'";
                }
                if (HPeriod) {
                    sWhere += " and æœˆä»½ like '%" + HPeriod + "%'";
                }
                get_Display(sWhere);
                sWhere = "";//调用接口后清空sWhere缓存
            }
            //#endregion
            //#region é‡ç½®è¿‡æ»¤æ¡ä»¶æ–¹æ³•
            function set_ClearQuery() {
                $("#HMaterNumber").val();
                $("#HMaterName").val("");
                $("#HModel").val("");
                $("#Year").val();
                $("#HPeriod").val();
                $("#ColContent").val("");
                $("#ColName").val("0");
                $("#Comparator").val("0");
                form.render('select');
                sWhere = "";
            }
            //#endregion
            //#region åˆ·æ–°
            function get_Refresh() {
                $("#btnSearch").trigger('click');
            }
            //#endregion
            //#region éšè—åˆ—设置
            function get_HideColumn() {
                var colName = "";
                var contentUrl = "";
                for (var i = 1; i < option.cols[0].length; i++) {
                    colName += option.cols[0][i]["title"] + ",";
                }
                var urlStr = window.document.location.pathname;//获取文件路径
                var urlLen = urlStr.split('/');
                for (var i = 0; i < urlLen.length - 4; i++) {
                    contentUrl += "../";
                }
                colName = encodeURI(colName.substring(0, colName.length - 1));//对 URI è¿›è¡Œç¼–码
                contentUrl += '基础资料/隐藏列设置/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName;
                layer.open({
                    type: 2
                    , skin: "layui-layer-rim" //加上边框
                    , title: "隐藏列设置"  //标题
                    , closeBtn: 1  //窗体右上角关闭 çš„ æ ·å¼
                    , shift: 2 //弹出动画
                    , area: ["50%", "90%"] //窗体大小
                    , maxmin: true //设置最大最小按钮是否显示
                    , content: [contentUrl, "yes"]
                    , btn: ["确定", "取消"]
                    , btn1: function (index, laero) {
                        //刷新表格数据
                        DisPlay_HideColumn();
                        //更新表格缓存的数据
                        layer.close(index);//关闭弹窗
                    }
                })
            }
            //#endregion
            //#region æ˜¾ç¤ºåˆ—数据
            function DisPlay_HideColumn() {
                $.ajax({
                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
                    type: "GET",
                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
                    success: function (data1) {
                        if (data1.data.length != 0) {
                            var dataCol = [];//数据库查询出的列数据
                            //var titleData = ["单据ID", "HMouldID", "hsubid", "HManagerID", "源单主内码", "源单子内码"];//不需要显示的字段 å¯æ‰©å±•
                            dataCol = data1.data[0].HGridString.split(',');
                            for (var i = 0; i < option.cols[0].length - 1; i++) {
                                var dataCols = dataCol[i].split('|');
                                //隐藏列
                                if (dataCols[1] == 1) {
                                    option.cols[0][i + 1]["hide"] = true;
                                }
                                //设置列宽
                                if (dataCols[3] > 0) {
                                    option.cols[0][i + 1]["width"] = dataCols[3];
                                }
                                //设置内容字体大小
                                if (data1.data[0].HFontSize != 0) {
                                    option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
                                } else {
                                    option.cols[0][i + 1]["style"] = "font-size:100%";
                                }
                                //设置列宽
                                //if (data1.data[0].HColumnWidth != 0) {
                                //    option.cols[0][i + 1]["width"] = data1.data[0].HColumnWidth + "px;";
                                //} else {
                                //    option.cols[0][i + 1]["width"] = "";
                                //}
                                //显示列
                                if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
                                    option.cols[0][i + 1]["hide"] = false;
                                }
                                //字体所在位置(å·¦ å±…中 å³)
                                switch (dataCols[2]) {
                                    case "L":
                                        option.cols[0][i + 1]["align"] = "left";
                                        break;
                                    case "M":
                                        option.cols[0][i + 1]["align"] = "center";
                                        break;
                                    case "R":
                                        option.cols[0][i + 1]["align"] = "right";
                                        break;
                                }
                            }
                            //取消冻结列
                            for (var i = 1; i < option.cols[0].length - 1; i++) {
                                if (option.cols[0][i]["fixed"] != null) {
                                    option.cols[0][i]["fixed"] = null;
                                }
                                else {
                                    break;
                                }
                            }
                            //冻结列
                            if (data1.data[0].HFixCols != 0) {
                                for (var i = 0; i < data1.data[0].HFixCols; i++) {
                                    if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
                                        data1.data[0].HFixCols += 1;
                                    }
                                    option.cols[0][i + 1]["fixed"] = "left";
                                }
                            }
                            table.render(option);
                        } else {
                            table.render(option);
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                })
            }
            //#endregion
            //#region ä»»æ„å­—段过滤:列名显示下拉框
            function ColFilter() {
                var Organization = '<option  value="0" selected="selected" ></option>';
                for (var i = 1; i < option.cols[0].length; i++) {
                    if (option.cols[0][i].hide != true) {
                        Organization += '<option  style="color:blue;" value="' + option.cols[0][i].field + '">' + option.cols[0][i].field + '</option>';
                    }
                }
                $("#ColName").empty();
                $("#ColName").append(Organization);
                form.render('select');
            }
            //#endregion
            //#region èŽ·å–å‚æ•°
            function getUrlVars() {
                var vars = [], hash;
                var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
                for (var i = 0; i < hashes.length; i++) {
                    hash = hashes[i].split('=');
                    vars.push(hash[0]);
                    vars[hash[0]] = hash[1];
                }
                return vars;
            }
            //#endregion
            //#region åˆ¤æ–­æ˜¯ç›´æŽ¥æ‰“开页面还是其它页面通过选择按钮打开,并显示相应数据
            function addSWhereByOpenType() {
                //获取参数
                var params = getUrlVars();
                var openType = params[params[0]]; //从参数中获取 æ‰“开方式  1直接打开 2其它页面通过选择按钮打开
                var HOrgID = params[params[1]];
                if (openType == 2) {
                    sWhere += " and HBillStatus=2 ";
                    $("#HOrgID").val(HOrgID);
                    form.render("select");
                    return true;
                }
                return false;
            }
            //#endregion
            //会计年
            function Year() {
                var yyyy = new Date().getFullYear();
                var YearOption = "";
                for (var i = 0; i <= 10; i++) {
                    YearOption += '<option  style="color:blue;" value="' + (yyyy - 5 + i) + '">' + (yyyy - 5 + i) + '</option>';
                }
                $("#HYear").append(YearOption);
                $("#HYear").val(yyyy)
                form.render('select');
            }
            //会计月
            function Month() {
                var MM = new Date().getMonth() + 1;
                var MonthOption = "";
                for (var i = 1; i <= 12; i++) {
                    MonthOption += '<option  style="color:blue;" value="' + i + '">' + i + '</option>';
                }
                $("#HPeriod").append(MonthOption);
                $("#HPeriod").val(MM)
                form.render('select');
            }
        });
            //#endregion
            //以上是layui模块
    </script>
</body>
</html>
WebTM/views/ϵͳ¹ÜÀí/»á¼ÆÆÚ¼ä/Xt_AccountPeriodAdd.html
New file
@@ -0,0 +1,243 @@
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>新增结账年月</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
</head>
<body>
    <div id="layout1" class="layui-fluid">
        <div class="layui-row layui-col-space15">
            <div class="layui-col-md12">
                <div class="layui-card">
                    <form id="form" class="layui-form" lay-filter="component-form-group" action="">
                        <div class="layui-card-header">
                            <div class="layui-btn-group">
                                <button type="button" id="add-btn" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="Saver">保存</button>
                                <button type="button" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="Exit">退出</button>
                            </div>
                        </div>
                        <div class="layui-card-body">
                            <div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
                                <div class="layui-tab-content">
                                    <div class="layui-tab-item layui-show">
                                        <div class="layui-form-item">
                                            <div class="layui-inline">
                                                <label class="layui-form-label" style="width: 80px">年:</label>
                                                <div class="layui-input-block">
                                                    <input type="text" name="HYear" id="HYear" lay-verify="HYear" autocomplete="off" placeholder="" class="layui-input" readonly>
                                                    <!--<select name="HYear" id="HYear" lay-verify="HYear" >
                                                        åŠ¨æ€æ¸²æŸ“ç»„ç»‡
                                                    </select>-->
                                                </div>
                                            </div>
                                            <div class="layui-inline">
                                                <label class="layui-form-label" style="width: 80px">月:</label>
                                                <div class="layui-input-block" style="margin-left: 120px; width: 85px;">
                                                    <input type="text" name="HPeriod" id="HPeriod" lay-verify="HPeriod" autocomplete="off" placeholder="" class="layui-input" readonly>
                                                    <!--<select name="HPeriod" id="HPeriod" lay-verify="HPeriod" readonly>-->
                                                        <!--动态渲染组织-->
                                                    <!--</select>-->
                                                </div>
                                            </div>
                                        </div>
                                        <div class="layui-form-item">
                                            <div class="layui-inline">
                                                <label class="layui-form-label" style="width: 80px;">开始日期</label>
                                                <div class="layui-input-block" style="width:200px">
                                                    <input type="date" class="layui-input" lay-verify="HBeginDate" name="HBeginDate" id="HBeginDate" readonly >
                                                </div>
                                            </div>
                                            <div class="layui-inline">
                                                <label class="layui-form-label" style="width: 80px;">结束日期</label>
                                                <div class="layui-input-block"  style="width:200px">
                                                    <input type="date" class="layui-input" lay-verify="HEndDate" name="HEndDate" id="HEndDate" readonly>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
    <script src="../../../layuiadmin/layui/layui.js"></script>
    <script src="../../../layuiadmin/Scripts/json2.js"></script>
    <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
    <script>
        //获取参数
        var params = get_UrlVars();
        if (typeof (params[params[0]]) == "undefined") {
            var OperationType = 1;//操作类型
        } else {
            var OperationType = params[params[0]];//操作类型
            var linterid = params[params[1]];//源单id
            var HSouceBillType = params[params[2]];//源单类型
        }
        layui.config({
            base: '../../../layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index' //主入口模块
        }).use(['index', 'form', 'laydate', 'table', 'element'], function () {
            //#region å…¬å…±å˜é‡
            var $ = layui.$
                , admin = layui.admin
                , layer = layui.layer
                , table = layui.table
                , form = layui.form
                , laydate = layui.laydate
                , element = layui.element;
            //#endregion
            //#region è¿›å…¥é¡µé¢å³åŠ è½½
            //初始化界面
            set_ClearBill();
            //判断操作类型
            if (OperationType == 1) {//无源单
                set_AddFNew();
            }
            else if (OperationType == 3) {//编辑
            }
            else {
                layer.alert("未知操作类型!", { icon: 5 });
            }
            //#endregion
            //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
            //保存
            form.on('submit(Saver)', function (data) {//保存
                var sMainStr = JSON.stringify(data.field);
                $.ajax(
                    {
                        type: "POST",
                        url: GetWEBURL() + "Xt_AccountPeriod/AddBill", //方法所在页面和方法名
                        async: true,
                        data: { "oMain": sMainStr },
                        dataType: "json",
                        success: function (data) {
                            if (data.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                                layer.msg(data.Message, { icon: 1 });
                                $('#add-btn').addClass("layui-btn-disabled").attr("disabled", true);
                            }
                            else {
                                f_alert(data.Message);
                                console.log("Reason" + sMainStr + "sub:" + JSON.stringify(layui.table.cache.mainTable));
                            }
                            layer.closeAll("loading");
                        },
                        error: function (err) {
                            f_alert("错误:" + err);
                            console.log("Reason" + sMainStr);
                        }
                    });
            });
            //退出
            form.on('submit(Exit)', function (data) {//
                if (linterid == undefined) {
                    //关闭页签
                    Pub_Close(2);
                }
                else {
                    //关闭页签
                    Pub_Close(1);
                }
            });
            //#endregion
            //#region å½“前页面面所有的方法
            //初始化界面
            function set_ClearBill() {
            }
            //无源单新增
            function set_AddFNew() {
                $("#HItemID").val("0");
                $("#HNumber").val("");
                $.ajax({
                    url: GetWEBURL() + '/Xt_AccountPeriod/Lastlist',
                    type: "GET",
                    data: { },
                    success: function (data1) {
                        if (data1.count == 1) {
                            // æå–最后一条数据的信息
                            var lastYear = data1.data[0]["会计年份"];
                            var lastPeriod = data1.data[0]["会计月份"];
                            var lastEndDate = new Date(data1.data[0]["结束日期"]);
                            // è®¡ç®—下一个时间段的信息
                            var nextYear = lastPeriod === 12 ? lastYear + 1 : lastYear;
                            var nextPeriod = lastPeriod === 12 ? 1 : lastPeriod + 1;
                            var nextBeginDate = new Date(lastEndDate.getTime() + 86400000); // åŠ ä¸€å¤©çš„æ¯«ç§’æ•°
                            var nextEndDate = new Date(nextBeginDate.getFullYear(), nextBeginDate.getMonth() + 1, 0); // å½“月最后一天
                            $("#HYear").val(nextYear);
                            $("#HPeriod").val(nextPeriod);
                            $("#HBeginDate").val(formatDate(nextBeginDate));
                            $("#HEndDate").val(formatDate(nextEndDate));
                        } else {
                            layer.alert(data1.code + data1.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.close(ajaxLoad);
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //数据验证
            //
            function f_alert(sMsg) {
                layer.alert(sMsg, { icon: 5 });
            }
            //会计年
            function Year() {
                var yyyy = new Date().getFullYear();
                var YearOption = "";
                for (var i = 0; i <= 10; i++) {
                    YearOption += '<option  style="color:blue;" value="' + (yyyy - 5 + i) + '">' + (yyyy - 5 + i) + '</option>';
                }
                $("#HYear").append(YearOption);
                $("#HYear").val(yyyy)
                form.render('select');
            }
            //会计月
            function Month() {
                var MM = new Date().getMonth() + 1;
                var MonthOption = "";
                for (var i = 1; i <= 12; i++) {
                    MonthOption += '<option  style="color:blue;" value="' + i + '">' + i + '</option>';
                }
                $("#HPeriod").append(MonthOption);
                $("#HPeriod").val(MM)
                form.render('select');
            }
            //#endregion
        });
    </script>
</body>
</html>
WebTM/views/ϵͳ¹ÜÀí/»á¼ÆÆÚ¼ä/Xt_AccountPeriodList.html
@@ -68,16 +68,8 @@
                        <table class="" id="mainTable" lay-filter="mainTable"></table>
                        <script type="text/html" id="toolbarDemo">
                            <div class="layui-btn-container">
                                <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="btn-reload"><i class="layui-icon layui-icon-refresh"></i>刷新</button>-->
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btnModify"><i class="layui-icon layui-icon-form"></i>修改</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btndelete"><i class="layui-icon layui-icon-delete"></i>删除</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-confirm" id="btn_confirm"><i class="layui-icon layui-icon-ok-circle"></i>确认</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-back" id="btn_back"><i class="layui-icon layui-icon-close-fill"></i>驳回</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-details"><i class="layui-icon layui-icon-form"></i>详情</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-generate"><i class="layui-icon layui-icon-file"></i>生成送货单</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-view"><i class="layui-icon layui-icon-tips"></i>预览</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-print"><i class="layui-icon layui-icon-print"></i>打印</button>
                                <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="btn-exit"><i class="layui-icon layui-icon-return"></i>退出</button>-->
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_confirm" id="btn_confirm"><i class="layui-icon layui-icon-ok-circle"></i>结账</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_Update" id="btn_Update"><i class="layui-icon layui-icon-close-fill"></i>反结账</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn"><i class="layui-icon layui-icon-form"></i>列设置</button>
                            </div>
                        </script>
@@ -135,29 +127,11 @@
                var checkStatus = table.checkStatus(obj.config.id);
                switch (obj.event) {
                    //删除
                    case "btndelete": set_DeleteBill();
                    //结账
                    case "btn_confirm": set_newAdd();
                        break;
                    //修改
                    case "btnModify":
                        var checkStatus = table.checkStatus('mainTable')
                            , data = checkStatus.data;
                        if (data.length != 1) {
                            return layer.msg("请选择一条数据!");
                        }
                        var HYear = data[0].会计年份;
                        var HPeriod = data[0].会计月份;
                        layer.open({
                            type: 2
                            , area: ['100%', '100%']
                            , title: '会计期间'
                            , shade: 0.6 //遮罩透明度
                            , maxmin: false //允许全屏最小化
                            , anim: 0 //0-6的动画形式,-1不开启
                            , content: ['../../系统管理/会计期间/Xt_AccountPeriod_Edit.html?HYear=' + HYear + '&HPeriod=' + HPeriod + '&HType=3', 'yes']
                            , resize: false
                        })
                    //反结账
                    case "btn_Update": set_UpdateBill();
                        break;
                    //列设置
                    case 'set_HideColumn': get_HideColumn();
@@ -186,15 +160,7 @@
                    , page: true
                    , cellMinWidth: 90
                    , limit: 50
                    , limits: [50, 500, 5000, 20000]
                    //, cols: [[
                    //    { type: 'checkbox', fixed: 'left' }
                    //    , { field: '会计年份', title: '会计年份' }
                    //    , { field: '会计月份', title: '会计月份' }
                    //    , { field: '开始日期', title: '开始日期', templet: "<div>{{d.日期 ==null ?'':layui.util.toDateString(d.开始日期, 'yyyy-MM-dd')}}</div>" }
                    //    , { field: '结束日期', title: '结束日期', templet: "<div>{{d.日期 ==null ?'':layui.util.toDateString(d.结束日期, 'yyyy-MM-dd')}}</div>" }
                    //    , { field: '过账标记', title: '过账标记' }
                    //]]
                    , limits: [50, 500, 5000, 20000]
                };
            }
@@ -305,40 +271,67 @@
                sWhere = "";//调用接口后清空sWhere缓存
            }
            //删除
            function set_DeleteBill() {
                var ModRightNameDelete = 'Xt_AccountPeriod_Delete'
            //结账
            function set_newAdd() {
                //先查询结账日期是否有未审核的单据
                $.ajax({
                    url: GetWEBURL() + '/Xt_AccountPeriod/Lastlist',
                    type: "GET",
                    data: {},
                    success: function (data1) {
                        if (data1.count == 1) {
                            //没有未审核的单据打开弹窗
                            layer.open({
                                type: 2
                                , skin: 'layui-layer-rim' //加上边框
                                , area: ['45%', '42%']
                                , title: '结账'
                                , shift: 0//弹出动画
                                , content: '../../系统管理/会计期间/Xt_AccountPeriodAdd.html?OperationType=1&linterid=0&HSouceBillType='
                                , btn: ['确定'],
                                // æŒ‰é’®1 çš„回调
                                end: function (index, layero, that) {
                                    //刷新页面
                                    $("#btnSearch").trigger('click');
                                }
                            })
                        } else {
                            layer.alert(data1.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.close(ajaxLoad);
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //反结账
            function set_UpdateBill() {
                var checkStatus = table.checkStatus("mainTable"); //获得当前行数据
                if (checkStatus.data.length != 1) {
                    return layer.msg("请选择一条数据!");
                }
                var HYear = checkStatus.data[0].HYear;
                var HPeriod = checkStatus.data[0].HPeriod;
                var HYear = checkStatus.data[0].会计年份;
                var HPeriod = checkStatus.data[0].会计月份;
                layer.confirm('您确定要删除吗?', {
                    btn: ['Yes', 'No'] //按钮
                    , yes: function (index, layero) {
                        $.ajax({
                            url: GetWEBURL() + '/Xt_AccountPeriod/Delete_Json',
                            type: "GET",
                            //async: true,
                            data: { "HYear": HYear, "HPeriod": HPeriod },
                            success: function (result) {
                                if (result.count == 1) {
                                    $("#btnSearch").click();
                                    layer.msg(result.Message, { icon: 1 });
                $.ajax({
                    url: GetWEBURL() + '/Xt_AccountPeriod/Update_Json',
                    type: "GET",
                    //async: true,
                    data: { "HYear": HYear, "HPeriod": HPeriod,"num":0},
                    success: function (result) {
                        if (result.count == 1) {
                            $("#btnSearch").click();
                            layer.msg(result.Message, { icon: 1 });
                                }
                                else {
                                    layer.msg(result.Message, { icon: 5 });
                                }
                            }
                        })
                        layer.close(index); //关闭弹层
                        }
                        else {
                            layer.msg(result.Message, { icon: 5 });
                        }
                    }
                });
                })
            }
            // é‡ç½®è¿‡æ»¤æ¡ä»¶
@@ -352,6 +345,7 @@
                sWhere = "";
            }
            //#endregion 
            //#region åˆ—明显示下拉框