yangle
2024-07-11 46aec6e8d415403329fc48801b11f5330cdffd99
WebTM/views/²É¹º¹ÜÀí/²É¹ººÏͬ/Add_Edit_Cg_ContractBillList.html
@@ -339,93 +339,95 @@
            var OperationType = params[params[0]]; //从参数中获取 æ•°æ®ç±»åž‹  1添加 ä¿å­˜  2复制  3 ç¼–辑
            var linterid = params[params[1]]; //从参数中获取 å•据内码
            $("#HUSEORGID").val(sessionStorage["OrganizationID"]);
            $("#HUSEORGID").val(sessionStorage["OrganizationID"]);// èŽ·å– ä¸ºHUSEORGID的元素的值设置为当前会话中存储在sessionStorage中名为OrganizationID的值
            //判断是否新增
            if (linterid == null || linterid == 0) {
            if (linterid == null || linterid == 0) {     //判断 linterid å˜é‡æ˜¯å¦ä¸ºç©ºæˆ–者等于0
                //获取最大单据号 new
                $("#HMaker").val(sessionStorage["HUserName"]);
                $("#HInterID").val("0");
                $("#HBillNo").val("");
                $.ajax({
                    url: GetWEBURL() + "/Web/GetMAXNum",
                    type: "GET",
                    data: { "HBillType": '1100' },
                    success: function (d) {
                        //console.log(d.data);
                        $("#HBillNo").val(d.data[0].HBillNo);
                        $("#HDate").val(Format(new Date(), "yyyy-MM-dd"));
                        $("#HContractDate").val(Format(new Date(), "yyyy-MM-dd"));
                        $("#HInterID").val(d.data[0].HInterID);
                $("#HMaker").val(sessionStorage["HUserName"]);     //通过HMaker  id获取 å­˜å‚¨å™¨  sessionStorage中HUserName键对应的值
                $("#HInterID").val("0");                        // å°è¯•获取id ä¸º HInterID的元素 å­—符串为‘’0‘’的值
                $("#HBillNo").val("");                           // å°è¯•获取id ä¸º HBillNo的元素的值元素清空,即设置为空字符串。
                $.ajax({                //请求服务器
                    url: GetWEBURL() + "/Web/GetMAXNum", //调用方法和调用地址
                    type: "GET",                    //请求方法
                    data: { "HBillType": '1100' },  //请求参数  hbillteyp  å€¼ä¸º1100
                    success: function (d) {     //success是一个回调函数,当请求成功并返回数据时执
                        //console.log(d.data);
                        $("#HBillNo").val(d.data[0].HBillNo);            //将HBillNo输入框的值设置为返回数据中第一个对象的HBillNo属性值。
                        $("#HDate").val(Format(new Date(), "yyyy-MM-dd"));   //获取  id  ä¸ºhdate元素的值  å°†å½“前日期格式化为"yyyy-MM-dd"格式,并设置为HDate输入框的值
                        $("#HContractDate").val(Format(new Date(), "yyyy-MM-dd"));  //获取  id  ä¸ºHContractDate元素的值  å°†å½“前日期格式化为"yyyy-MM-dd"格式,并设置为HDate输入框的值
                        $("#HInterID").val(d.data[0].HInterID);    //:更新HInterID输入框的值为返回数据中第一个对象的HInterID属性值
                    }
                });
                //页面初始化加载
                $("#HDeptID").val(sessionStorage["HDeptID"]);
                $("#HDeptName").val(sessionStorage["HDept"]);
                $("#HEmpName").val(sessionStorage["HUserName"]);
                $("#HEmpID").val(sessionStorage["HEmpID"]);
               // è¿™é€šå¸¸ç”¨äºŽè®¾ç½®å½“前用户所属的部门ID
                $("#HDeptID").val(sessionStorage["HDeptID"]);     // èŽ·å–é¡µé¢ä¸ŠID为"HDeptID"的元素的值设置为sessionStorage中"HDeptID"键对应的值
                $("#HDeptName").val(sessionStorage["HDept"]);       // èŽ·å–é¡µé¢ä¸ŠID为"HDeptName"的元素的值设置为sessionStorage中"HDeptName"键对应的值
                $("#HEmpName").val(sessionStorage["HUserName"]);       // èŽ·å–é¡µé¢ä¸ŠID为"HEmpName"的元素的值设置为sessionStorage中"HEmpName"键对应的值
                $("#HEmpID").val(sessionStorage["HEmpID"]);     // èŽ·å–é¡µé¢ä¸ŠID为"HEmpID"的元素的值设置为sessionStorage中"HEmpID"键对应的值
          
                //根据当前登录用户的部门 èŽ·å– ä¸»ç®¡
                if ($("#HDeptID").val() != 0) {
                    $.ajax({
                        url: GetWEBURL() + "Gy_Department/list",
                        async: false,
                        type: "GET",
                        data: {
                            "sWhere": "and HItemID = '" + $("#HDeptID").val() + "'", "user": sessionStorage["HUserName"], "Organization": sessionStorage["Organization"]
                if ($("#HDeptID").val() != 0) {  //  åˆ¤æ–­ èŽ·å–åˆ°id为hdeptid的值是为0
                    $.ajax({                    //请求
                        url: GetWEBURL() + "Gy_Department/list",  //请求方法和路径地址
                        async: false,         // è¿™ä¸ªé€‰é¡¹æŒ‡å®šäº†è¯·æ±‚是否应该异步执行
                        type: "GET",           //请求方法为get类型
                        data: {//定义发送到服务器的数据
                            //sWhere(用于筛选条件的字符串,基于HDeptID的值)、user(从sessionStorage中获取的当前用户名)、Organization(从sessionStorage中获取的当前组织信息)
                            "sWhere": "and HItemID = '" + $("#HDeptID").val() + "'", "user": sessionStorage["HUserName"], "Organization": sessionStorage["Organization"]  //定义的类型有HItemID,user,Organization
                        },
                        success: function (result) {
                            $("#HManagerID").val(result.data[0].HEmpID);
                            $("#HManagerName").val(result.data[0].负责人);
                        success: function (result) {  //请求成功时的回调函数
                            $("#HManagerID").val(result.data[0].HEmpID);  // æ›´æ–°è¿”回数据第一个对象的id
                            $("#HManagerName").val(result.data[0].负责人); // æ›´æ–°è¿”回数据第一个对象的负责人名称
                        }, error: function () {
                            layer.alert("发生错误!", { icon: 5 });
                            layer.alert("发生错误!", { icon: 5 });  //弹窗提示 ç±»åž‹5
                        }
                    });
                }
            } else {//如果修改则走下面 new
                $("#HInterID").val(linterid);
                RoadBillMain(linterid);
                $("#HInterID").val(linterid);//设置页面上ID为HInterID的元素的变量linterid的值
                RoadBillMain(linterid); //调用一个名为RoadBillMain的函数,并将linterid作为参数传递
            }
            //#endregion
            //#region åˆå§‹åŒ–表格
            var rowdata = [{
            var rowdata = [{
                "HMaterID": 0, "物料代码": "", "物料名称": "", "规格型号": "", "HUnitID": 0, "计量单位": "", "HWHID": 0, "HWHName": "", "数量": "", "HRemark": ""
                , "HPrice": "", "HTaxPrice": "", "HMoney": "", "HDiscountRate": 1, "HRelTaxPrice": "", "HTaxRate": 1, "HTaxMoney": "", "HlineTotal": "", "HlineTotalBB": "", "HDate": Format(new Date, "yyyy- MM - dd"),
            }];
            }];  //定义包含数组1   ç”¨äºŽå­˜å‚¨æŸç§æ•°æ®è®°å½•(可能是库存、销售订单详情或类似的数据)的字段
            var rowdata2 = [{
                "HDate": Format(new Date, "yyyy-MM-dd"), "HMoney": "", "HCurID": 0, "HExRate": "" ,"货币名称":"",
            }];
            }]; ////定义包含数组 2
            // åˆå§‹åŒ–界
            set_InitGrid();
            set_InitGrid2();
            set_InitGrid();  //执行表格1
            set_InitGrid2();//执行表格2
            //物料明细头工具栏事件
            table.on('toolbar(mainTable)', function (obj) {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
            table.on('toolbar(mainTable)', function (obj) { //监听mainTable表格上的工具栏事件 è§¦å‘回调函数obj参数
                var checkStatus = table.checkStatus('mainTable')   //调用 table.checkStatus('mainTable') æ–¹æ³•获取名为 mainTable çš„表格的选中状态
                    , data = checkStatus.data;                   //从选中状态中提取数据,这些数据是表格中被选中的行
                
                //新增行表格数据
                var NewRow = {
                    "HMaterID": 0, "物料代码": "", "物料名称": "", "规格型号": "", "HUnitID": 0, "计量单位": "", "数量": "", "HRemark": ""
                    , "HPrice": "", "HMoney": "", "HTaxRate": 1, "HTaxMoney": "", "HlineTotal": ""
                };
                switch (obj.event) {
                    case 'btn-AddLine':
                        table.cache["mainTable"].push(NewRow);
                        option.data = table.cache["mainTable"];
                }; //定义 NewRow的对象,它包含了新行应该有的数据字段  è®¾ç½®å€¼ä¸ºç©ºæˆ–默认值
                switch (obj.event) {   // switch (obj.event)用于根据obj.event的值来决定执行哪个case块
                    case 'btn-AddLine':  //如果为新增行按钮
                        table.cache["mainTable"].push(NewRow);  //将NewRow对象添加到table.cache["mainTable"]数组中,  æ•°ç»„存储了表格的所有行数据
                        option.data = table.cache["mainTable"]; //更新option.data为新的数据数组显示到表格上  //将数据绑定到data上
                        table.render(option);
                        table.render(option);  //重新渲染表格
                        //刷新复选框
                        //checkRefresh();
                        break;
                    case 'btn-CopyLine':
                        var copydata = JSON.stringify(data);
                        if (data.length <= 0) {
                            layer.msg("请选择需要复制的一行!");
                    case 'btn-CopyLine':  //如果为复制行
                        var copydata = JSON.stringify(data);  // å°†data对象转为json类型 å¹¶èµ‹å€¼ç»™  å˜é‡
                        if (data.length <= 0) {  //判断字符串的长度是否小于等于0
                            layer.msg("请选择需要复制的一行!");  //提示
                        }
                        else if (data.length > 1) {
                            layer.msg("只能选择复制一行!");
                        else if (data.length > 1) {    //判断字符串的长度是否大于1
                            layer.msg("只能选择复制一行!");  //提示
                        }
                        else {
                            var copydata2 = copydata.substring(1, copydata.length);//去除首行字符'['
@@ -444,36 +446,36 @@
                }
            });
            //付款计划头工具栏事件
            table.on('toolbar(mainTable2)', function (obj) {
                var checkStatus = table.checkStatus('mainTable2')
                    , data = checkStatus.data;
            table.on('toolbar(mainTable2)', function (obj) {  //监听mainTable2表格上的工具栏事件 è§¦å‘回调函数obj参数
                var checkStatus = table.checkStatus('mainTable2')     //调用 table.checkStatus('mainTable2') æ–¹æ³•获取名为 mainTable2 çš„表格的选中状态
                    , data = checkStatus.data;                       //从选中状态中提取数据,这些数据是表格中被选中的行
                //新增行表格数据
                var NewRow = {
                    "HDate": Format(new Date, "yyyy-MM-dd"), "HMoney": "", "HCurID": 0, "HExRate": "","HRemark":"","货币名称":""
                };
                switch (obj.event) {
                    case 'btn-AddLine2':
                        table.cache["mainTable2"].push(NewRow);
                        option2.data = table.cache["mainTable2"];
                }; //定义 NewRow的对象,它包含了新行应该有的数据字段  è®¾ç½®å€¼ä¸ºç©ºæˆ–默认值  ä»¥åŠæ ¼å¼ä¸º
                switch (obj.event) {     // switch (obj.event)用于根据obj.event的值来决定执行哪个case块
                    case 'btn-AddLine2':  //按钮为新增行时
                        table.cache["mainTable2"].push(NewRow);  //将NewRow对象添加到table.cache["mainTable2"]数组中,  æ•°ç»„存储了表格的所有行数据
                        option2.data = table.cache["mainTable2"];  //将数据绑定到data上
                        table.render(option2);
                        table.render(option2); //渲染显示
                        //刷新复选框
                        //checkRefresh();
                        break;
                    case 'btn-CopyLine2':
                        var copyschemedata = JSON.stringify(data);
                        if (data.length <= 0) {
                            layer.msg("请选择需要复制的一行!");
                    case 'btn-CopyLine2':  //复制一行
                        var copyschemedata = JSON.stringify(data); //将data对象数据转为json类型赋值给变量
                        if (data.length <= 0) {  //判断  å­—符串长度是否<=0
                            layer.msg("请选择需要复制的一行!");  //提示
                        }
                        else if (data.length > 1) {
                            layer.msg("只能选择复制一行!");
                        else if (data.length > 1) { //判断字符串长度>1
                            layer.msg("只能选择复制一行!");  //提示
                        }
                        else {
                            var copyschemedata2 = copyschemedata.substring(1, copyschemedata.length);//去除首行字符'['
                            var copyschemerow = copyschemedata2.substring(0, copyschemedata2.length - 1);//去除末尾字符']'
                            table.cache["mainTable2"].push(JSON.parse(copyschemerow));//将复制的行强转成json追加到表格上
                            option2.data = table.cache["mainTable2"];//将数据绑定到data上
                            table.render(option2);//将数据渲染到表格上
                            table.render(option2);  //将数据渲染到表格上
                            //刷新复选框
                            //checkRefresh();
                        }
@@ -522,21 +524,21 @@
            });
            //行内事件
            table.on('tool(mainTable)', function (obj) {
            table.on('tool(mainTable)', function (obj) {    //监听mainTable2表格上的工具栏事件 è§¦å‘回调函数obj参数
                set_GridDelete(obj);   //行内删除
                set_GridCellCheck(obj); //行内快捷键筛选
                var data = obj.data;
                if (obj.event == 'HDate') {
                    var field = $(this).data('field');
                var data = obj.data;        //获取当前行的数据                //将obj.data å­—符串类型 èµ‹å€¼ç»™data
                if (obj.event == 'HDate') {   //判断接受到的数据字段  id是否为 Hdata
                    var field = $(this).data('field');  //获取日期字段
                    laydate.render({
                        elem: this.firstChild
                        , show: true //直接显示
                        , closeStop: this
                        , done: function (nowDate) {
                            //时间选择完成,行数据更新
                            data[field] = nowDate;
                            obj.update(data);
                        elem: this.firstChild  //将日期选择器绑定到触发事件的元素的第一个子元素
                        , show: true            //直接显示日期选择器,而不是等待用户点击
                        , closeStop: this    //判断点击日期选择器外部时是否关闭
                        , done: function (nowDate) {  //当日期选择完成时执行的回调函数
                            //时间选择完成,行数据更新
                            data[field] = nowDate;  //data对象中的日期字段
                            obj.update(data);// æ›´æ–°å›žè°ƒæ•°æ®
                            //刷新复选框
                            //checkRefresh();
                        }
@@ -568,29 +570,29 @@
            //#region ç›‘听单元格编辑  å•元格编辑后 å˜æ›´
            table.on('edit(mainTable)', function (obj) {
            table.on('edit(mainTable)', function (obj) {     //监听mainTable2表格上的工具栏事件 è§¦å‘回调函数obj参数
                //数值格式校验工具
                var ref = /^\d+(\.\d+)?$/;          //非负数正则表达式
                var temp = "";
                var temp = "";                      //定义一个空字符串变量 temp
                // å•元格编辑之前的值
                var oldText = $(this).prev().text();
                var value = obj.value //得到修改后的值
                    , data = obj.data //得到所在行所有键值
                    , field = obj.field; //得到字段
                var oldText = $(this).prev().text();     //获取当前的值赋值给oldtext           èŽ·å–å½“å‰å…ƒç´ ï¼ˆå¯èƒ½æ˜¯ä¸€ä¸ªè¡¨æ ¼å•å…ƒæ ¼ï¼‰çš„å‰ä¸€ä¸ªåŒçº§å…ƒç´ çš„æ–‡æœ¬å†…å®¹ï¼Œå¹¶å°†è¿™ä¸ªæ–‡æœ¬å†…å®¹å­˜å‚¨åœ¨å˜é‡oldText中
                var value = obj.value               //得到修改后的值
                    , data = obj.data               //得到所在行所有键值
                    , field = obj.field;               //得到字段
                switch (field) {
                    case "HQty":                                         //数量
                    case "HQty":                      //数量
                        //数据格式校验
                        temp = value + "";
                        if (!ref.test(temp) || temp == 0) {
                        temp = value + "";      //修改后的值 è½¬ä¸ºå­—符串 èµ‹å€¼ç»™  å˜é‡temp
                        if (!ref.test(temp) || temp == 0) {  //使用表达式来判断字符串是否为0           // å®šä¹‰çš„æ­£åˆ™è¡¨è¾¾å¼ref(用于匹配非负数的字符串表示,但注意它不会匹配单独的0作为有效输入,因为.\d+部分是可选的,且前面没有允许0作为整数部分的单独情况)来测试temp字符串
                            //恢复数据到编辑前
                            obj.update({
                                HQty: oldText
                            obj.update({  //使用obj.update方法更新表格中某一行的数据
                                HQty: oldText  //将hqty字段恢复到保存单元格的值
                            });
                            table.render(option);
                            table.render(option);  //重新渲染表格
                            layer.msg("数量请输入大于0的数字!");
                            return;
                            layer.msg("数量请输入大于0的数字!");   //提示请输入大于0数字
                            return;
                        }
                        //数据校验合格,重算记录
                        var HQty = value * 1;                           //数量
@@ -602,24 +604,24 @@
                        var HExRate = $("#HExRate").val();                      //汇率
                        //同步更新表格和缓存对应的值
                        obj.update({
                            HQty: HQty
                            , HPrice: HPrice
                            , HMoney: HMoney
                            , HTaxMoney: HTaxMoney
                            , HlineTotal: HlineTotal
                        obj.update({             //更新表格数据                æ–¹æ³•是该对象提供的一个方法,用于更新其内部状态或与之关联的数据源
                            HQty: HQty                    //   æ›´æ–°HQty字段,其值来自变量HQty
                            , HPrice: HPrice                //更新HPrice字段,其值来自变量HPrice
                            , HMoney: HMoney                //更新HMoney字段,其值来自变量HMoney
                            , HTaxMoney: HTaxMoney          //更新HMoney字段,其值来自变量HMoney
                            , HlineTotal: HlineTotal        //新HlineTotal字段,其值来自变量HlineTotal
                        });
                        break;
                    case "HPrice":                                         //单价
                        //数据格式校验
                        temp = value + "";
                        if (!ref.test(temp) || temp == 0) {
                        temp = value + "";     //修改后的值 è½¬ä¸ºå­—符串 èµ‹å€¼ç»™  å˜é‡temp
                        if (!ref.test(temp) || temp == 0) {    //使用表达式来判断字符串是否为0
                            //恢复数据到编辑前
                            obj.update({
                                HPrice: oldText
                            obj.update({     //使用obj.update方法更新表格中某一行的数据
                                HPrice: oldText    //将HPrice字段恢复到保存单元格的值
                            });
                            layer.msg("单价请输入大于0的数字!");
                            layer.msg("单价请输入大于0的数字!");  //提示 å•价请输入大于0的数字!
                            return;
                        }
@@ -644,12 +646,11 @@
                    case "HTaxRate":                                                       //数量
                        //数据格式校验
                        temp = value + "";
                        if (!ref.test(temp)) {
                        if (!ref.test(temp)) {
                            //恢复数据到编辑前
                            obj.update({
                                HTaxRate: oldText
                            });
                            layer.msg("税率请输入不小于0的数字!");
                            return;
                        }
@@ -681,33 +682,34 @@
            //#endregion
            //#region æ–‡æœ¬æ¡†ç›‘听
            $(document).ready(function () {
            $(document).ready(function () {   // å½“文档加载完成后执行的函数
                //#region æ±‡çŽ‡å¤±ç„¦äº‹ä»¶
                var oldHExRate = "";                          //修改前的值
                var newHExRate = "";                          //修改后的值
                $("#HExRate").on('focus', function (data) {
                    oldHExRate = $("#HExRate").val() * 1;   //汇率文本框获取焦点时获取修改前的值
                }).on('blur', function (data) {
                    newHExRate = $("#HExRate").val();       //汇率文本框失焦时获取修改后的值
                var oldHExRate = "";                          //修改前的值  åˆå§‹åŒ–为空字符串
                var newHExRate = "";                          //修改后的值  åˆå§‹åŒ–为空字符串
                $("#HExRate").on('focus', function (data) {  // å½“#HExRate元素获得焦点时,执行此函数
                    oldHExRate = $("#HExRate").val() * 1;   //汇率文本框获取焦点时获取修改前的值       èŽ·å–å½“å‰æ±‡çŽ‡å€¼å¹¶å°†å…¶è½¬æ¢ä¸ºæ•°å­—ï¼ˆä¹˜ä»¥1是一种常用的类型转换技巧)
                }).on('blur', function (data) {      // å½“#HExRate元素失去焦点时,执行此函数
                    newHExRate = $("#HExRate").val();       //汇率文本框失焦时获取修改后的值   // èŽ·å–å¤±åŽ»ç„¦ç‚¹åŽçš„æ±‡çŽ‡å€¼ï¼ˆä»ç„¶æ˜¯å­—ç¬¦ä¸²ï¼‰
                    //判断输入的汇率是否合法
                    var ref = /^\d+(\.\d+)?$/;          //非负数正则表达式
                    if (!ref.test(newHExRate)) {
                        layer.msg("汇率请输入不小于0的数字!");
                        $("#HExRate").val(oldHExRate);
                    if (!ref.test(newHExRate)) {    // å¦‚果输入的汇率不匹配正则表达式,即不合法
                        layer.msg("汇率请输入不小于0的数字!");   // ä½¿ç”¨Layui的layer弹出层显示提示信息
                        $("#HExRate").val(oldHExRate); //将汇率值恢复为修改前的值
                        return false;
                    }
                    //输入的汇率合法,重算
                    var HExRate = newHExRate * 1;                       //汇率
                    $("#HExRate").val(HExRate);
                    var HExRate = newHExRate * 1;                       //汇率    // å°†æ±‡çŽ‡å€¼ä»Žå­—ç¬¦ä¸²è½¬æ¢ä¸ºæ•°å­—
                    $("#HExRate").val(HExRate);  // è¿™é‡Œå®žé™…上是将数字转换回字符串并更新到输入框中,但通常是多余的,因为用户已经输入了合法的值
                    for (var i = 0; i < option.data.length; i++) {
                        var HMoney = option.data[i].HMoney;
                        var HTaxMoney = option.data[i].HTaxMoney;
                        option.data[i].HlineTotalBB = (option.data[i].HMoney + option.data[i].HTaxMoney) * HExRate;
                    for (var i = 0; i < option.data.length; i++) {  // éåŽ†è¡¨æ ¼æ•°æ®ï¼Œæ ¹æ®æ–°çš„æ±‡çŽ‡é‡æ–°è®¡ç®—æ¯è¡Œçš„æ€»é‡‘é¢
                        var HMoney = option.data[i].HMoney;   // èŽ·å–å½“å‰è¡Œçš„HMoney值
                        var HTaxMoney = option.data[i].HTaxMoney;  // èŽ·å–å½“å‰è¡Œçš„HTaxMoney值
                        option.data[i].HlineTotalBB = (option.data[i].HMoney + option.data[i].HTaxMoney) * HExRate;    // è®¡ç®—新的行总金额(可能是不含税金额+税额)* æ±‡çއ
                    }
                    table.render(option);
                    table.render(option); // é‡æ–°æ¸²æŸ“表格以反映更改
                });
                //#endregion
@@ -718,25 +720,30 @@
            //#region åˆ¤æ–­æ˜¯å¦ç™»å½• æœªç™»å½•则跳到登录页
            function get_LoginIs() {
                if (sessionStorage.login != "login") {
                    layer.confirm("登录失效,请重新登录!", {
                        icon: 4, skin: 'layui-layer-lan', title: "温馨提示", closeBtn: 0, btn: ['重新登录']
                    }, function () { window.location.href = "../../user/login.html"; });
                // è¿™è¡Œä»£ç æ£€æŸ¥sessionStorage中的login项的值是否不等于字符串"login"
                if (sessionStorage.login != "login") { // åˆ¤æ–­æ˜¯å¦
                    layer.confirm("登录失效,请重新登录!", {    //提示登入失败重新登入
                        icon: 4,            // å¼¹å‡ºå±‚的图标
                        skin: 'layui-layer-lan', // å¼¹å‡ºå±‚的样式名
                        title: "温馨提示",   // å¼¹å‡ºå±‚的标题
                        closeBtn: 0,           // æ˜¯å¦æ˜¾ç¤ºå…³é—­æŒ‰é’®ï¼Œ0表示不显示
                        btn: ['重新登录']   // è‡ªå®šä¹‰æŒ‰é’®ï¼Œè¿™é‡Œåªæœ‰ä¸€ä¸ªæŒ‰é’®ï¼ŒæŒ‰é’®ä¸Šçš„æ–‡å­—是“重新登录”
                    }, function () { window.location.href = "../../user/login.html"; });  //重新调用  ç™»å…¥é¡µé¢    // ç‚¹å‡»æŒ‰é’®æ—¶æ‰§è¡Œçš„函数
                }
            }
            //#endregion
            //#region  æ—¶é—´è½¬æ¢
            function formatDate(date) {
                var d = new Date(date),
                    month = '' + (d.getMonth() + 1),
                    day = '' + d.getDate(),
                    year = d.getFullYear();
            function formatDate(date) {
                var d = new Date(date),   //定义一个将date值转换为时间类型赋值给d     åˆ›å»ºä¸€ä¸ªæ–°çš„Date对象d,使用传入的date参数(字符串或时间戳)作为构造函数的参数
                    month = '' + (d.getMonth() + 1),  //从d对象中获取月份,将这个月份数字转换成字符串
                    day = '' + d.getDate(),            //从d对象中获取日,将这个日数字转换成字符串。
                    year = d.getFullYear();             // ä»Žd对象中获取完整的年份
                if (month.length < 2) month = '0' + month;
                if (day.length < 2) day = '0' + day;
                if (month.length < 2) month = '0' + month; //如果月份字符串的长度小于2(即月份是1到9之间),则在月份字符串前面添加一个'0
                if (day.length < 2) day = '0' + day;  // // åŒä¸Šï¼Œå¦‚果日字符串的长度小于2,则在日字符串前面添加一个'0'
                return [year, month, day].join('-');
                return [year, month, day].join('-'); //将年份、月份和日字符串放入一个数组中,并使用join方法将它们连接成一个字符串
            }
            //#endregion