DuGuYang 3 سال پیش
والد
کامیت
d58dfafb39

+ 6 - 6
AppStart/Helper/InstallmentDeductionService.cs

@@ -38,7 +38,7 @@ namespace MySystem
                             function.WritePage("/InstallmentDeduction/", "check" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt", DateTime.Now.ToString("HH:mm:ss"));
                             WebCMSEntities db = new WebCMSEntities();
 
-                            var info = db.ToChargeBackRecord.Where(m => m.Status == 0 && m.ChargeType == 2).ToList();//分期扣款记录
+                            var info = db.ToChargeBackRecord.Where(m => m.Sort > 0 && m.Status == 0 && m.ChargeType == 2).ToList();//分期扣款记录
                             foreach (var items in info)
                             {
                                 var userAccount = db.UserAccount.FirstOrDefault(m => m.Id == items.UserId) ?? new UserAccount();
@@ -52,12 +52,12 @@ namespace MySystem
                                         BeforeBalanceAmount = userAccount.BalanceAmount,
                                         AfterBalanceAmount = userAccount.BalanceAmount - record.ChargeAmount,
                                         ChangeAmount = record.ChargeAmount,
-                                        ChangeType = 124,//分期扣款
+                                        ChangeType = 201,//分期扣款(201 分期扣款 202 普通预扣款)
                                         Remark = "分期扣款",
 
                                     }).Entity;
                                     var toChargeBackRecordSub = db.ToChargeBackRecordSub.FirstOrDefault(m => m.Id == record.Sort) ?? new ToChargeBackRecordSub();
-                                    var toChargeByStage = db.ToChargeByStage.FirstOrDefault(m => m.Id == toChargeBackRecordSub.ParentId && record.TimeNumber > m.Sort) ?? new ToChargeByStage();
+                                    var toChargeByStage = db.ToChargeByStage.FirstOrDefault(m => m.Id == toChargeBackRecordSub.ParentId && record.TimeNumber > m.QueryCount) ?? new ToChargeByStage();
                                     record.Status = 1;
                                     toChargeBackRecordSub.Status = 1;
                                     toChargeByStage.QueryCount += 1;
@@ -71,7 +71,7 @@ namespace MySystem
                                     }
                                     userAccount.BalanceAmount -= record.ChargeAmount;//扣减余额
                                 }
-                                if (record.Sort > 0 && record.Status == 1)
+                                if (record.Status == 1)
                                 {
                                     var toChargeBackRecordSub = db.ToChargeBackRecordSub.FirstOrDefault(m => m.Id == record.Sort) ?? new ToChargeBackRecordSub();
                                     var toChargeByStage = db.ToChargeByStage.FirstOrDefault(m => m.Id == toChargeBackRecordSub.ParentId && record.TimeNumber > m.QueryCount) ?? new ToChargeByStage();
@@ -86,7 +86,7 @@ namespace MySystem
                                                 CreateDate = DateTime.Now,
                                                 UserId = toChargeByStage.UserId,
                                                 ChargeAmount = toChargeBackRecordSubs.ChargeAmount,
-                                                ChargeType = 124,//过期机具货款扣费
+                                                ChargeType = 2,//分期扣款
                                                 Remark = "分期扣款",
 
                                             }).Entity;
@@ -100,7 +100,7 @@ namespace MySystem
                     }
                     catch (Exception ex)
                     {
-                        function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "过期机具执行扣费异常");
+                        function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "执行分期扣费异常");
                     }
                 }
                 Thread.Sleep(1000);

+ 5 - 4
Areas/Admin/Controllers/MainServer/ToChargeBackRecordController.cs

@@ -107,10 +107,10 @@ namespace MySystem.Areas.Admin.Controllers
 
                 //扣款状态
                 int Status = int.Parse(dic["Status"].ToString());
-                if (Status == 0) dic["Status"] = "待扣款";
-                if (Status == 1) dic["Status"] = "已扣款";
-                if (Status == 2) dic["Status"] = "已退还";
-                if (Status == 3) dic["Status"] = "暂停扣款";
+                if (Status == 0) dic["StatusName"] = "待扣款";
+                if (Status == 1) dic["StatusName"] = "已扣款";
+                if (Status == 2) dic["StatusName"] = "已退还";
+                if (Status == 3) dic["StatusName"] = "暂停扣款";
 
             }
             return Json(obj);
@@ -375,6 +375,7 @@ namespace MySystem.Areas.Admin.Controllers
                     CreateDate = DateTime.Now,
                     SeoTitle = SysUserName + "_" + SysRealName,
                     SeoDescription = Remark,
+                    ChargeType = 1,
                     ChargeAmount = decimal.Parse(Amount),
                     UserId =users.Id,
                 }).Entity;

+ 17 - 4
Areas/Admin/Controllers/MainServer/ToChargeBackRecordSubController.cs

@@ -152,16 +152,29 @@ namespace MySystem.Areas.Admin.Controllers
         public string Edit(ToChargeBackRecordSub data)
         {
             Dictionary<string, object> Fields = new Dictionary<string, object>();
-            Fields.Add("ParentId", data.ParentId);
-
+            var toChargeBackRecordSub = db.ToChargeBackRecordSub.FirstOrDefault(m => m.Id == data.Id) ?? new ToChargeBackRecordSub();
+            var toChargeByStage = db.ToChargeByStage.FirstOrDefault(m => m.Id == toChargeBackRecordSub.ParentId) ?? new ToChargeByStage();
+            if (toChargeByStage.QueryCount > 0)
+            {
+                return "该扣款记录正处于扣款中或已经结束,不能修改!";
+            }
+            if (toChargeBackRecordSub.ChargeAmount != data.ChargeAmount)
+            {
+                if (toChargeBackRecordSub.ChargeAmount > data.ChargeAmount)
+                {
+                    toChargeByStage.TotalAmount -= toChargeBackRecordSub.ChargeAmount - data.ChargeAmount;
+                }
+                if (toChargeBackRecordSub.ChargeAmount < data.ChargeAmount)
+                {
+                    toChargeByStage.TotalAmount += toChargeBackRecordSub.ChargeAmount - data.ChargeAmount;
+                }
+            }
             Fields.Add("ChargeAmount", data.ChargeAmount); //待扣金额
             Fields.Add("Remark", data.Remark); //备注
             Fields.Add("StartDate", data.StartDate); //扣款开始时间
             Fields.Add("TimeNumber", data.TimeNumber); //期数
 
             Fields.Add("SeoTitle", data.SeoTitle);
-            Fields.Add("SeoKeyword", data.SeoKeyword);
-            Fields.Add("SeoDescription", data.SeoDescription);
             new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("ToChargeBackRecordSub", Fields, data.Id);
             AddSysLog(data.Id.ToString(), "ToChargeBackRecordSub", "update");
             db.SaveChanges();

+ 63 - 8
Areas/Admin/Controllers/MainServer/ToChargeByStageController.cs

@@ -70,7 +70,7 @@ namespace MySystem.Areas.Admin.Controllers
             //状态
             if (!string.IsNullOrEmpty(StatusSelect))
             {
-                if (StatusSelect == "0")//待处理
+                if (StatusSelect == "0")//待扣款
                 {
                     condition += " and QueryCount<TimeNumber and QueryCount=0 and Status=0";
                 }
@@ -98,6 +98,28 @@ namespace MySystem.Areas.Admin.Controllers
             List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
             foreach (Dictionary<string, object> dic in diclist)
             {
+                //创客
+                int UserId = int.Parse(function.CheckInt(dic["UserId"].ToString()));
+                Users userid_Users = db.Users.FirstOrDefault(m => m.Id == UserId) ?? new Users();
+                dic["MakerCode"] = userid_Users.MakerCode;
+                dic["MakerName"] = userid_Users.RealName;
+
+                //扣款状态
+                int TimeNumber = int.Parse(function.CheckInt(dic["TimeNumber"].ToString()));
+                int QueryCount = int.Parse(function.CheckInt(dic["QueryCount"].ToString()));
+                int Status = int.Parse(function.CheckInt(dic["Status"].ToString()));
+                if (QueryCount < TimeNumber && QueryCount == 0 && Status == 0)
+                {
+                    dic["Status"] = "待扣款";
+                }
+                if (QueryCount == TimeNumber && Status == 1)
+                {
+                    dic["Status"] = "已扣款";
+                }
+                if (QueryCount < TimeNumber && QueryCount > 0 && Status == 0)
+                {
+                    dic["Status"] = "扣款中";
+                }
 
             }
             return Json(obj);
@@ -129,21 +151,45 @@ namespace MySystem.Areas.Admin.Controllers
         /// </summary>
         /// <returns></returns>
         [HttpPost]
-        public string Add(ToChargeByStage data)
+        public string Add(ToChargeByStage data, string MakerCode, string MakerName, string StartDates, string ChargeAmounts)
         {
             Dictionary<string, object> Fields = new Dictionary<string, object>();
+            string[] StartDatelist = StartDates.TrimEnd(',').Split(',');
+            string[] ChargeAmountslist = ChargeAmounts.TrimEnd(',').Split(',');
+            UserForMakerCode user = db.UserForMakerCode.FirstOrDefault(m => m.MakerCode == MakerCode);
+            if (user == null)
+            {
+                return "创客编号不存在";
+            }
+            var userInfo = db.Users.FirstOrDefault(m => m.Id == user.UserId && m.RealName == MakerName) ?? new Users();
+            if (userInfo.Id == 0)
+            {
+                return "创客编号不存在或创客编号和姓名不匹配";
+            }
 
-            Fields.Add("UserId", data.UserId); //创客
-            Fields.Add("ChargeAmount", data.ChargeAmount); //待扣金额
+            Fields.Add("UserId", user.UserId); //创客Id
             Fields.Add("Remark", data.Remark); //备注
             Fields.Add("StartDate", data.StartDate); //扣款开始时间
             Fields.Add("TimeNumber", data.TimeNumber); //期数
             Fields.Add("TotalAmount", data.TotalAmount); //扣款总金额
-
-            Fields.Add("SeoTitle", data.SeoTitle);
-            Fields.Add("SeoKeyword", data.SeoKeyword);
-            Fields.Add("SeoDescription", data.SeoDescription);
+            Fields.Add("SeoTitle", SysUserName + "_" + SysRealName);//操作人
+            Fields.Add("SeoKeyword", "FQ" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8));//分期单号
             int Id = new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Add("ToChargeByStage", Fields, 0);
+            for (int i = 0; i < StartDatelist.Length; i++)
+            {
+                var StartDate = StartDatelist[i];
+                var ChargeAmount = ChargeAmountslist[i];
+                var toChargeBackRecordSub = db.ToChargeBackRecordSub.Add(new ToChargeBackRecordSub()
+                {
+                    CreateDate = DateTime.Now,
+                    SeoTitle = SysUserName + "_" + SysRealName,
+                    StartDate = DateTime.Parse(StartDate),
+                    TimeNumber = data.TimeNumber,
+                    ChargeAmount = decimal.Parse(ChargeAmount),
+                    ParentId = Id,
+                    Remark = data.Remark,
+                }).Entity;
+            }
             AddSysLog(data.Id.ToString(), "ToChargeByStage", "add");
             db.SaveChanges();
 
@@ -214,8 +260,17 @@ namespace MySystem.Areas.Admin.Controllers
             foreach (string subid in idlist)
             {
                 int id = int.Parse(subid);
+                var toChargeBackRecordSub = db.ToChargeBackRecordSub.Where(m => m.ParentId == id).ToList();
+                foreach (var item in toChargeBackRecordSub)
+                {
+                    var info = toChargeBackRecordSub.FirstOrDefault(m => m.Id == item.Id);
+                    info.Status = -1;
+                    info.UpdateDate = DateTime.Now;
+                    info.SeoTitle = SysUserName + "_" + SysRealName;
+                }
                 Dictionary<string, object> Fields = new Dictionary<string, object>();
                 Fields.Add("Status", -1);
+                Fields.Add("SeoTitle", SysUserName + "_" + SysRealName);
                 new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("ToChargeByStage", Fields, id);
             }
             db.SaveChanges();

+ 4 - 7
Areas/Admin/Views/MainServer/ToChargeBackRecord/Index.cshtml

@@ -135,20 +135,17 @@
                 <script type="text/html" id="table-list-tools">
                     @if (RightInfo.Contains("," + right + "_edit,"))
                     {
-                            <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a>
+                        <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a>
                     }
                     @if (RightInfo.Contains("," + right + "_delete,"))
                     {
-                            <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>
+                        <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>
                     }
-                    @if (RightInfo.Contains("," + right + "_edit,"))
-                    {
-
-                    }
-                    @if (RightInfo.Contains("," + right + "_edit,"))
+                    @if (RightInfo.Contains("," + right + "_BreakOrStart,"))
                     {
                         @("{{#if (d.Status == 0){ }}")
                         <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="Break"><i class="layui-icon layui-icon-edit"></i>暂停扣款</a>
+                        @("{{#} }}")
                         @("{{#if (d.Status == 3){ }}")
                         <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="Start"><i class="layui-icon layui-icon-edit"></i>恢复扣款</a>
                         @("{{#} }}")

+ 67 - 53
Areas/Admin/Views/MainServer/ToChargeBackRecordSub/Edit.cshtml

@@ -1,5 +1,7 @@
 @using MySystem.Models;
-@{ToChargeBackRecordSub editData = ViewBag.data as ToChargeBackRecordSub;}
+@{
+    ToChargeBackRecordSub editData = ViewBag.data as ToChargeBackRecordSub;
+}
 @{
     string RightInfo = ViewBag.RightInfo as string;
     string right = ViewBag.right as string;
@@ -8,16 +10,19 @@
 }
 <!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">
+    <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">
     <script src="/admin/js/jquery-1.10.1.min.js"></script>
     <script src="/admin/js/LAreaData2.js"></script>
 </head>
+
 <body>
 
     <div class="layui-form" lay-filter="layuiadmin-form-useradmin" id="layuiadmin-form-useradmin">
@@ -25,46 +30,54 @@
         <input type="hidden" name="ParentId" value="@ParentId" />
 
         <div class="layui-card">
-          <div class="layui-card-body">
-            <div class="layui-tab" lay-filter="mytabbar">
-                <ul class="layui-tab-title">
-                    <li class="layui-this" lay-id="1">基本信息</li>
-                </ul>
-                <div class="layui-tab-content mt20">
-                    <div class="layui-tab-item layui-show">
-<div class="layui-form-item">
-<label class="layui-form-label">待扣金额</label>
-<div class="layui-input-inline">
-<input class="layui-input" type="text" id="ChargeAmount" name="ChargeAmount" value="@editData.ChargeAmount" maxlength="20" lay-verify="required|" autocomplete="off" placeholder="请输入待扣金额">
-</div>
-</div>
-<div class="layui-form-item layui-form-text">
-<label class="layui-form-label">备注</label>
-<div class="layui-input-block">
-<textarea class="layui-textarea" id="Remark" name="Remark" maxlength="500" lay-verify="" placeholder="请输入备注">@editData.Remark</textarea>
-</div>
-</div>
-<div class="layui-form-item">
-<label class="layui-form-label">扣款开始时间</label>
-<div class="layui-input-inline">
-<input class="layui-input" type="text" id="StartDate" name="StartDate" value="@(editData.StartDate == null ? "" : editData.StartDate.Value.ToString("yyyy-MM-dd HH:mm:ss"))" lay-verify="" autocomplete="off" placeholder="请输入扣款开始时间">
-</div>
-</div>
-<div class="layui-form-item">
-<label class="layui-form-label">期数</label>
-<div class="layui-input-inline">
-<input class="layui-input" type="text" id="TimeNumber" name="TimeNumber" value="@editData.TimeNumber" maxlength="20" lay-verify="" autocomplete="off" placeholder="请输入期数">
-</div>
-</div>
-
-</div>
-
+            <div class="layui-card-body">
+                <div class="layui-tab" lay-filter="mytabbar">
+                    <ul class="layui-tab-title">
+                        <li class="layui-this" lay-id="1">基本信息</li>
+                    </ul>
+                    <div class="layui-tab-content mt20">
+                        <div class="layui-tab-item layui-show">
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">待扣金额</label>
+                                <div class="layui-input-inline">
+                                    <input class="layui-input" type="text" id="ChargeAmount" name="ChargeAmount"
+                                        value="@editData.ChargeAmount" maxlength="20" lay-verify="required|"
+                                        autocomplete="off" placeholder="请输入待扣金额">
+                                </div>
+                            </div>
+                            <div class="layui-form-item layui-form-text">
+                                <label class="layui-form-label">备注</label>
+                                <div class="layui-input-block">
+                                    <textarea class="layui-textarea" id="Remark" name="Remark" maxlength="500"
+                                        lay-verify="" placeholder="请输入备注">@editData.Remark</textarea>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">扣款开始时间</label>
+                                <div class="layui-input-inline">
+                                    <input class="layui-input" type="text" id="StartDate" name="StartDate" readonly
+                                        value="@(editData.StartDate == null ? "" : editData.StartDate.Value.ToString("yyyy-MM-dd HH:mm:ss"))"
+                                        lay-verify="" autocomplete="off" placeholder="请输入扣款开始时间">
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <label class="layui-form-label">期数</label>
+                                <div class="layui-input-inline">
+                                    <input class="layui-input" type="text" id="TimeNumber" name="TimeNumber"
+                                        value="@editData.TimeNumber" maxlength="20" lay-verify="" autocomplete="off" readonly
+                                        placeholder="请输入期数">
+                                </div>
+                            </div>
+
+                        </div>
+
+                    </div>
+                </div>
+                <div class="layui-form-item layui-hide">
+                    <input type="button" lay-submit lay-filter="LAY-list-front-submit" id="LAY-list-front-submit"
+                        value="确认">
                 </div>
             </div>
-            <div class="layui-form-item layui-hide">
-                <input type="button" lay-submit lay-filter="LAY-list-front-submit" id="LAY-list-front-submit" value="确认">
-            </div>
-          </div>
         </div>
     </div>
 
@@ -73,11 +86,11 @@
     <script src="/other/mybjq/kindeditor-min.js"></script>
     <script src="/other/mybjq/lang/zh_CN.js"></script>
     <script>
-        
-        
+
+
         //编辑器
         KindEditor.ready(function (K) {
-            
+
         });
 
         var ids = "";
@@ -202,35 +215,36 @@
             tree = layui.tree;
             element = layui.element;
             upload = layui.upload;
-        
+
             //Hash地址的定位
             var layid = location.hash.replace(/^#test=/, '');
             element.tabChange('test', layid);
             element.on('tab(test)', function (elem) {
                 location.hash = 'test=' + $(this).attr('lay-id');
             });
-    
+
             //日期
             laydate.render({
-elem: '#StartDate',
-type: 'datetime',
-trigger: 'click'
-});
+                elem: '#StartDate',
+                type: 'datetime',
+                trigger: 'click'
+            });
 
 
             //上传文件
-            
+
 
             //穿梭框
-            
+
 
             //TreeView,比如权限管理
-            
+
 
             //省市区
-            
+
         })
 
     </script>
 </body>
+
 </html>

+ 55 - 6
Areas/Admin/Views/MainServer/ToChargeByStage/Add.cshtml

@@ -69,7 +69,7 @@
                                 <label class="layui-form-label">扣款总金额</label>
                                 <div class="layui-input-inline">
                                     <input class="layui-input" type="text" id="TotalAmount" name="TotalAmount"
-                                        oninput="OnInput(event)" maxlength="20" lay-verify="" autocomplete="off"
+                                        oninput="OnInput()" maxlength="20" lay-verify="" autocomplete="off"
                                         placeholder="请输入扣款总金额">
                                 </div>
                             </div>
@@ -115,9 +115,58 @@
             });
         }
 
-        function OnInput(event) {
-            $('#TimeNumber').val("");
+        function OnInput() {
+            @* $('#TimeNumber').val(''); *@
             $("#SubList").html("");
+            var totalAmount = $('#TotalAmount').val();//扣款总金额
+            count = $('#TimeNumber').val();
+            if (count > 12) {
+                layer.msg('最多可分12期');
+                obj.value = '';
+                $("#SubList").html("");
+                return;
+            }
+            chargeAmount = (totalAmount / count).toFixed(2);
+            leave = (totalAmount - (chargeAmount * count)).toFixed(2);
+            leaveAmount = ((chargeAmount * 100 + leave * 100) / 100).toFixed(2);
+            num = 0;
+            nums = 0;
+            var html = '';
+            for (var i = 0; i < count; i++) {
+                num = num + 1;
+                numInfo = "第" + num + "期";
+                html += '<div class="layui-form-item">' +
+                    '<label class="layui-form-label"> ' + numInfo + '</label >' +
+                    '<div class="layui-input-inline">' +
+                    '<input class="layui-input" type="text" id="ChargeAmounts' + num + '" name="ChargeAmounts" maxlength="50" lay-verify="" autocomplete="off" placeholder="" readonly>' +
+                    '</div>' +
+                    '<label class="layui-form-label">请输入扣款开始时间</label>' +
+                    '<div class="layui-input-inline"><input class="layui-input" type="text" id="StartDates' + num + '" name="StartDates"lay-verify="" autocomplete="off" placeholder="请输入扣款开始时间"></div>' +
+                    '</div >';
+            }
+            $('#SubList').html(html);
+            for (var i = 0; i < count; i++) {
+                nums = nums + 1;
+                if (nums < count) {
+                    $('#ChargeAmounts' + nums).val(chargeAmount);
+                }
+                else {
+                    $('#ChargeAmounts' + nums).val(leaveAmount);
+                }
+                var time = $('#StartDate').val() + '-20 00:00:00';
+
+                var dateTime = new Date(time);
+                dateTime = dateTime.setMonth(dateTime.getMonth() + nums - 1);
+                dateTime = new Date(dateTime);
+
+                laydate.render({
+                    elem: '#StartDates' + nums,
+                    type: 'datetime',
+                    trigger: 'click',
+                    value: dateTime
+                });
+            }
+            form.render();
         }
 
         function CheckTimeNumber(obj) {
@@ -144,7 +193,7 @@
                 html += '<div class="layui-form-item">' +
                     '<label class="layui-form-label"> ' + numInfo + '</label >' +
                     '<div class="layui-input-inline">' +
-                    '<input class="layui-input" type="text" id="ChargeAmount' + num + '" name="ChargeAmount" maxlength="50" lay-verify="" autocomplete="off" placeholder="" readonly>' +
+                    '<input class="layui-input" type="text" id="ChargeAmounts' + num + '" name="ChargeAmounts" maxlength="50" lay-verify="" autocomplete="off" placeholder="" readonly>' +
                     '</div>' +
                     '<label class="layui-form-label">请输入扣款开始时间</label>' +
                     '<div class="layui-input-inline"><input class="layui-input" type="text" id="StartDates' + num + '" name="StartDates"lay-verify="" autocomplete="off" placeholder="请输入扣款开始时间"></div>' +
@@ -154,10 +203,10 @@
             for (var i = 0; i < count; i++) {
                 nums = nums + 1;
                 if (nums < count) {
-                    $('#ChargeAmount' + nums).val(chargeAmount);
+                    $('#ChargeAmounts' + nums).val(chargeAmount);
                 }
                 else {
-                    $('#ChargeAmount' + nums).val(leaveAmount);
+                    $('#ChargeAmounts' + nums).val(leaveAmount);
                 }
                 var time = $('#StartDate').val() + '-20 00:00:00';
 

+ 6 - 6
Areas/Admin/Views/MainServer/ToChargeByStage/Edit.cshtml

@@ -39,16 +39,16 @@
                                 <label class="layui-form-label">创客</label>
                                 <div class="layui-input-inline">
                                     <input class="layui-input" type="text" id="UserId" name="UserId"
-                                        value="@editData.UserId" maxlength="20" lay-verify="" autocomplete="off"
+                                        value="@editData.UserId" maxlength="20" lay-verify="" autocomplete="off" readonly
                                         placeholder="请输入创客">
                                 </div>
                             </div>
                             <div class="layui-form-item">
-                                <label class="layui-form-label">扣金额</label>
+                                <label class="layui-form-label">扣金额</label>
                                 <div class="layui-input-inline">
-                                    <input class="layui-input" type="text" id="ChargeAmount" name="ChargeAmount"
+                                    <input class="layui-input" type="text" id="ChargeAmount" name="ChargeAmount" readonly
                                         value="@editData.ChargeAmount" maxlength="20" lay-verify="required|"
-                                        autocomplete="off" placeholder="请输入扣金额">
+                                        autocomplete="off" placeholder="请输入扣金额">
                                 </div>
                             </div>
                             <div class="layui-form-item layui-form-text">
@@ -70,7 +70,7 @@
                                 <label class="layui-form-label">期数</label>
                                 <div class="layui-input-inline">
                                     <input class="layui-input" type="text" id="TimeNumber" name="TimeNumber"
-                                        value="@editData.TimeNumber" maxlength="20" lay-verify="" autocomplete="off"
+                                        value="@editData.TimeNumber" maxlength="20" lay-verify="" autocomplete="off" readonly
                                         placeholder="请输入期数">
                                 </div>
                             </div>
@@ -78,7 +78,7 @@
                                 <label class="layui-form-label">扣款总金额</label>
                                 <div class="layui-input-inline">
                                     <input class="layui-input" type="text" id="TotalAmount" name="TotalAmount"
-                                        value="@editData.TotalAmount" maxlength="20" lay-verify="" autocomplete="off"
+                                        value="@editData.TotalAmount" maxlength="20" lay-verify="" autocomplete="off" readonly
                                         placeholder="请输入扣款总金额">
                                 </div>
                             </div>

+ 0 - 1
Areas/Admin/Views/MainServer/ToChargeByStage/Index.cshtml

@@ -130,7 +130,6 @@
                     @if (RightInfo.Contains("," + right + "_edit,"))
                     {
                         <a class="layui-btn layui-btn-normal layui-btn-xs" lay-href="/Admin/ToChargeBackRecordSub/Index?right=@right&ParentId=@("{{d.Id}}")">待扣款明细</a>
-                    @* 创客编号、创客姓名、手机号、创建时间、扣款总金额、扣款开始时间、扣款期数、已扣金额、扣款状态(待扣款/扣款中/已扣款)、备注、操作人、操作(明细、删除、修改预扣金额) *@
                     }
                 </script>
             </div>

+ 38 - 4
wwwroot/layuiadmin/modules_main/ToChargeBackRecord_Admin.js

@@ -120,7 +120,7 @@ layui.config({
     $('#ExcelFile').change(function (e) {
         var files = e.target.files;
         excel.importExcel(files, {}, function (data) {
-            ExcelData = data[0].sheet1;
+            ExcelData = data[0].Sheet1;
         });
     });
 
@@ -155,13 +155,13 @@ layui.config({
             , { field: 'ChargeAmount', width: 200, title: '扣款金额', sort: true }
             , { field: 'ChargeType', width: 200, title: '扣款类型', sort: true }
             , { field: 'UpdateDate', width: 200, title: '扣款时间', sort: true }
-            , { field: 'Status', width: 200, title: '扣款状态', sort: true }
+            , { field: 'StatusName', width: 200, title: '扣款状态', sort: true }
             , { field: 'Remark', width: 200, title: '机具Sn', sort: true }
             , { field: 'SeoDescription', width: 200, title: '备注', sort: true }
             , { field: 'SeoTitle', width: 200, title: '操作人', sort: true }
 
             , { field: 'Sort', fixed: 'right', title: '排序', width: 80, edit: 'text' }
-            , { title: '操作', align: 'center', fixed: 'right', toolbar: '#table-list-tools' }
+            , { title: '操作', width: 400, align: 'center', fixed: 'right', toolbar: '#table-list-tools' }
         ]]
         , where: {
 
@@ -195,7 +195,41 @@ layui.config({
                     }
                 });
             });
-        } else if (obj.event === 'edit') {
+        }else if (obj.event === 'Break') {
+            var index = layer.confirm('确定要暂停扣款吗?', function (index) {
+                $.ajax({
+                    type: "POST",
+                    url: "/Admin/ToChargeBackRecord/Break?r=" + Math.random(1),
+                    data: "Id=" + data.Id,
+                    dataType: "text",
+                    success: function (data) {
+                        if (data == "success") {
+                            obj.del();
+                            layer.close(index);
+                        } else {
+                            parent.layer.msg(data);
+                        }
+                    }
+                });
+            });
+        }else if (obj.event === 'Start') {
+            var index = layer.confirm('确定要恢复扣款吗?', function (index) {
+                $.ajax({
+                    type: "POST",
+                    url: "/Admin/ToChargeBackRecord/Start?r=" + Math.random(1),
+                    data: "Id=" + data.Id,
+                    dataType: "text",
+                    success: function (data) {
+                        if (data == "success") {
+                            obj.del();
+                            layer.close(index);
+                        } else {
+                            parent.layer.msg(data);
+                        }
+                    }
+                });
+            });
+        }else if (obj.event === 'edit') {
             var tr = $(obj.tr);
             var perContent = layer.open({
                 type: 2

+ 52 - 32
wwwroot/layuiadmin/modules_main/ToChargeByStage_Admin.js

@@ -1,4 +1,5 @@
 var ExcelData, ExcelKind;
+var clickflag = 0;
 function ConfirmImport() {
     $.ajax({
         type: "POST",
@@ -92,19 +93,18 @@ layui.config({
         , cols: [[
             { type: 'checkbox', fixed: 'left' }
             , { field: 'Id', fixed: 'left', title: 'ID', width: 80, sort: true, unresize: true }
-            , { field: 'UserId', width: 200, title: '创客', sort: true }
+            , { field: 'CreateDate', width: 200, title: '创建时间', sort: true }
+            , { field: 'Status', width: 200, title: '扣款状态', sort: true }
             , { field: 'MakerCode', width: 200, title: '创客编号', sort: true }
             , { field: 'MakerName', width: 200, title: '创客姓名', sort: true }
-            , { field: 'CreateDate', width: 200, title: '创建时间', sort: true }
-            , { field: 'TotalAmount', width: 200, title: '扣款总金额', sort: true }
-            , { field: 'StartDate', width: 200, title: '扣款开始时间', sort: true }
             , { field: 'TimeNumber', width: 200, title: '期数', sort: true }
+            , { field: 'TotalAmount', width: 200, title: '扣款总金额', sort: true }
             , { field: 'ChargeAmount', width: 200, title: '已扣金额', sort: true }
-            , { field: 'Status', width: 200, title: '扣款状态', sort: true }
+            , { field: 'StartDate', width: 200, title: '扣款开始时间', sort: true }
             , { field: 'Remark', width: 200, title: '备注', sort: true }
             , { field: 'SeoTitle', width: 200, title: '操作人', sort: true }
 
-            , { title: '操作', align: 'center', fixed: 'right', toolbar: '#table-list-tools' }
+            , { title: '操作', width: 300, align: 'center', fixed: 'right', toolbar: '#table-list-tools' }
         ]]
         , where: {
 
@@ -278,36 +278,56 @@ layui.config({
                             }
                         });
                     }, 300);
-
-
-
-
-
+                    var times = layero.find('iframe').contents().find('input[type=number][name=TimeNumber]').val();
+                    var ChargeAmounts = '';
+                    var StartDates = '';
+                    var num = 0;
+                    for (var i = 0; i < times; i++) {
+                        num += 1;
+                        ChargeAmounts += layero.find('iframe').contents().find('#ChargeAmounts' + num).val() + ',';
+                        StartDates += layero.find('iframe').contents().find('#StartDates' + num).val() + ',';
+                        // layero.find('iframe').contents().find('#ChargeAmounts' + num).each(function (i) {
+                        //     ChargeAmounts += $(this).val() + ','
+                        // });
+                        // layero.find('iframe').contents().find('#StartDates' + num).each(function (i) {
+                        //     StartDates += $(this).val() + ','
+                        // });
+                    }
+                    console.log(times);
+                    console.log(ChargeAmounts);
+                    console.log(StartDates);
 
                     //监听提交
                     iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
-                        var field = data.field; //获取提交的字段
-                        var userdata = "";
-                        for (var prop in field) {
-                            userdata += prop + "=" + encodeURIComponent(field[prop]) + "&";
-                        }
-                        //提交 Ajax 成功后,静态更新表格中的数据
-                        //$.ajax({});
-
-                        $.ajax({
-                            type: "POST",
-                            url: "/Admin/ToChargeByStage/Add?r=" + Math.random(1),
-                            data: userdata,
-                            dataType: "text",
-                            success: function (data) {
-                                layer.close(index); //关闭弹层
-                                if (data == "success") {
-                                    table.reload('LAY-list-manage'); //数据刷新
-                                } else {
-                                    layer.msg(data);
-                                }
+                        if (clickflag == 0) {
+                            clickflag = 1;
+                            var field = data.field; //获取提交的字段
+                            field.ChargeAmounts = ChargeAmounts;
+                            field.StartDates = StartDates;
+                            var userdata = "";
+                            for (var prop in field) {
+                                userdata += prop + "=" + encodeURIComponent(field[prop]) + "&";
                             }
-                        });
+                            userdata += "StartDates=" + encodeURIComponent(StartDates) + "&ChargeAmounts=" + encodeURIComponent(ChargeAmounts) + "&";
+                            //提交 Ajax 成功后,静态更新表格中的数据
+                            //$.ajax({});
+
+                            $.ajax({
+                                type: "POST",
+                                url: "/Admin/ToChargeByStage/Add?r=" + Math.random(1),
+                                data: userdata,
+                                dataType: "text",
+                                success: function (data) {
+                                    clickflag = 0;
+                                    layer.close(index); //关闭弹层
+                                    if (data == "success") {
+                                        table.reload('LAY-list-manage'); //数据刷新
+                                    } else {
+                                        layer.msg(data);
+                                    }
+                                }
+                            });
+                        }
                     });
 
                     submit.trigger('click');