From 6fb14149d62199cfcc0448c82eb2f51f9c5181de Mon Sep 17 00:00:00 2001
From: luliqiang <kidgrow>
Date: Thu, 31 Dec 2020 16:55:30 +0800
Subject: [PATCH] Merge branch 'dev' of http://192.168.2.240:7070/r/kidgrow-microservices-platform into parter

---
 kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/rechargeupdate.html |  255 ++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 182 insertions(+), 73 deletions(-)

diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/rechargeupdate.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/rechargeupdate.html
index 04662e6..52ba677 100644
--- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/rechargeupdate.html
+++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/rechargeupdate.html
@@ -91,11 +91,12 @@
                                 </div> -->
                                 <div class="layui-input-block">
                                     <input autocomplete="off" name="contractBeginTime" id="contractBeginTime"
-                                        type="text" placeholder="请输开始时间" class="layui-input" readonly
-                                        style="border: none; margin-top:-10px;display: inline-block;width: 46%;" />
-                                    <input autocomplete="off" name="contractEndTime" id="contractEndTime" type="text"
-                                        placeholder="请输入结束时间" class="layui-input" readonly
-                                        style="border: none; margin-top:-10px;display: inline-block;width: 46%;" />
+                                        type="text" placeholder="请输开始时间" disabled class="layui-input" readonly
+                                        style="border: none; margin-top:-10px;display: inline-block;width: 30%;" />
+                                    --
+                                    <input autocomplete="off" name="contractEndTime" disabled id="contractEndTime"
+                                        type="text" placeholder="请输入结束时间" class="layui-input" readonly
+                                        style="border: none; margin-top:-10px;margin-left: 10%;display: inline-block;width: 30%;" />
                                 </div>
                             </div>
                             <div class="layui-col-sm3">
@@ -150,7 +151,7 @@
                                 <label class="layui-form-label">充值名称:</label>
                                 <div class="layui-input-inline">
                                     <input autocomplete="off" id="custom_proName" type="text" class="layui-input"
-                                        maxlength="50" value="1000" lay-verify="required" required />
+                                        maxlength="50" />
                                 </div>
                             </div>
                         </div>
@@ -162,25 +163,24 @@
                                 <div class="layui-input-inline">
                                     <input autocomplete="off" id="custom_ailightCount"
                                         onkeyup="this.value=this.value.replace(/[^\d]/g,'') " type="text"
-                                        class="layui-input" maxlength="50" value="1000" lay-verify="required"
-                                        required />张
+                                        class="layui-input" maxlength="50" />
                                 </div>
                             </div>
                             <div class="layui-col-sm6">
                                 <div class="layui-input-inline">
-                                    <input type="radio" id="custom_isShare" name="gongxiang" value="1" title="是否共享" />
+                                    <input type="checkbox" lay-skin="primary" id="custom_isShare" name="gongxiang"
+                                        value="1" title="是否共享" />
                                 </div>
                             </div>
                         </div>
                     </div>
                     <div class="layui-form-item" style="margin: 10px 0px 0px 0px;">
                         <div class="layui-row">
-                            <div class="layui-col-sm6">
-                                <div class="layui-input-inline">
-                                    <input type="radio" id="termType" name="termType" value="true" title="期限限制" />
+                            <div class="layui-col-sm12">
+                                <div class="layui-input-inline" style="width: 120px;text-align: right;">
+                                    <input type="checkbox" lay-skin="primary" id="termType" name="termType" value="true"
+                                        checked title="期限限制" />
                                 </div>
-                            </div>
-                            <div class="layui-col-sm6">
                                 <div class="layui-col-sm4" style="margin-right: 30px;">
                                     <input autocomplete="off" id="custom_beginTime" type="text" placeholder="请输开始时间"
                                         class="layui-input" maxlength="50" />
@@ -193,10 +193,12 @@
                         </div>
                     </div>
                     <div class="layui-form-item">
-                        <div class="layui-input-block" style="width: 50;">
+                        <div class="layui-input-block"
+                            style="text-align: right;padding-right: 100px;padding-top: 50px;">
                             <input class="layui-btn" type="button" id="custom_submit" value="确定" />
                         </div>
                     </div>
+
                 </div>
             </div>
         </div>
@@ -216,7 +218,7 @@
     </div>
     <div class="layui-form-item model-form-footer" style="margin-right: 20px;">
         <button class="layui-btn layui-btn-primary" ew-event="closeDialog" type="button">取消</button>
-        <button class="layui-btn permissions" permissions="product-rechage" lay-submit id="submit">确定充值</button>
+        <button class="layui-btn permissions" permissions="product-rechage" type="button" id="submit">确定充值</button>
     </div>
     <input type="hidden" value="" id="departmentId" name="departmentId" />
     <input type="hidden" value="" id="hospitalId" name="hospitalId" />
@@ -225,8 +227,8 @@
 </form>
 <!-- 表格操作列 -->
 <script type="text/html" id="product-tpl-bar-now">
-    {{# if (d.ailightCount !=d.count){}}
-        {{# if (d.enabled){}}
+    {{# if (d.ailightCount !=d.orderAilightCount){}}
+        {{# if (d.enabled && d.ailightCount>0){}}
             <a class="layui-btn layui-btn-xs" lay-event="order_detail_enable">禁用</a>
             {{#  } else { }}
             <a class="layui-btn layui-btn-disabled" >禁用</a>
@@ -269,8 +271,10 @@
 
         //充值进行中
         var isRun = false;
+        var contractBeginTimeVVV = "";
+        var contractEndTimeVVV = "";
         //执行一个laydate实例
-        laydate.render({
+        var contractBeginTime = laydate.render({
             elem: '#contractBeginTime', //指定元素
             done: function (value, date, endDate) {
                 var startDate = new Date(value).getTime();
@@ -278,10 +282,12 @@
                 if (endTime < startDate) {
                     layer.msg('结束时间不能小于开始时间');
                     $('#contractBeginTime').val($('#contractEndTime').val());
+                } else {
+                    $('#custom_beginTime').val($("#contractBeginTime").val())
                 }
             }
         });
-        laydate.render({
+        var contractEndTime = laydate.render({
             elem: '#contractEndTime', //指定元素
             done: function (value, date, endDate) {
                 var startDate = new Date($('#contractBeginTime').val()).getTime();
@@ -289,6 +295,10 @@
                 if (endTime < startDate) {
                     layer.msg('结束时间不能小于开始时间');
                     $('#contractEndTime').val($('#contractBeginTime').val());
+                } else {
+                    $('#custom_endTime').val($("#contractEndTime").val())
+
+
                 }
             }
         });
@@ -298,28 +308,7 @@
         laydate.render({
             elem: '#contractEndTime_not' //指定元素
         });
-        laydate.render({
-            elem: '#custom_beginTime', //指定元素
-            done: function (value, date, endDate) {
-                var startDate = new Date(value).getTime();
-                var endTime = new Date($('#custom_endTime').val()).getTime();
-                if (endTime < startDate) {
-                    layer.msg('结束时间不能小于开始时间');
-                    $('#custom_beginTime').val($('#custom_endTime').val());
-                }
-            }
-        });
-        laydate.render({
-            elem: '#custom_endTime', //指定元素
-            done: function (value, date, endDate) {
-                var startDate = new Date($('#custom_beginTime').val()).getTime();
-                var endTime = new Date(value).getTime();
-                if (endTime < startDate) {
-                    layer.msg('结束时间不能小于开始时间');
-                    $('#custom_endTime').val($('#custom_beginTime').val());
-                }
-            }
-        });
+
         //现将临时数据清理
         admin.putTempData("t_tempProduct", "");
         //待充值列表
@@ -418,6 +407,19 @@
                 ]
             });
         }
+        //将自定义的数量重新赋值
+        function zidingyiNum() {
+            var listData = admin.getTempData("t_tempProduct");
+            var listNum = 0;
+            if (!strUtil.isEmpty(listData)) {
+                listData.forEach(item => {
+                    if (item.proType == 1) {
+                        listNum += item.ailightCount;
+                    }
+                })
+            }
+            $("#custom_ailightCount").val($("#contractNum_not").val() - listNum);
+        }
         //待充值列表
         var nowContract = function () {
             table.render({
@@ -448,8 +450,11 @@
                         field: 'ailightCount', width: 100, align: 'center', title: '读片剩余量'
                     },
                     {
-                        field: 'count', width: 100, align: 'center', title: '读片使用量', templet: function (d) {
-                            return d.count - d.ailightCount;
+                        field: 'orderAilightCount', width: 100, align: 'center', title: '读片使用量', templet: function (d) {
+                            // if(d.orderAilightCount==null){
+                            //     return "";
+                            // }
+                            return d.orderAilightCount - d.ailightCount;
                         }
                     },
                     {
@@ -477,14 +482,20 @@
                     //如果是异步请求数据方式,res即为你接口返回的信息。
                     //如果是直接赋值的方式,res即为:{data: [], count: 99} data为当前页数据、count为数据总长度
                     var num = 0;
+                    //已经充值的套餐
+                    admin.putTempData("t_nowProduct", "");
                     res.data.forEach(element => {
-                        if (element.enabled) {
-                            num += element.count;
-                        } else {
-                            num += (element.count - element.ailightCount)
+                        if (element.proType == 1) {
+                            if (element.enabled) {
+                                num += element.orderAilightCount;
+                            } else {
+                                num += (element.orderAilightCount - element.ailightCount)
+                            }
                         }
                     });
                     $("#contractNum_not").val($("#contractNum").val() - num);
+                    //将自定义的数量赋值
+                    zidingyiNum();
                 }
             });
         }
@@ -501,25 +512,68 @@
                 admin.putTempData("t_tempProduct", "");
             }
         }
-        var getHospitalAddress=function(id){
+        //获取医院的地址
+        var getHospitalAddress = function (id) {
             admin.req('api-user/syshospital/' + id, {},
                 function (data) {
-                    if(data.code==0){
-                        var hospitalData=data.data;
-                        var hospitalProvince=hospitalData.hospitalProvince!=null ? hospitalData.hospitalProvince: ""
-                            var hospitalCity=hospitalData.hospitalCity!=null ? hospitalData.hospitalCity: ""
-                            var hospitalArea=hospitalData.hospitalArea!=null ? hospitalData.hospitalArea: ""
-                            $("#hospitalAreas").val(hospitalProvince + " " + hospitalCity + " " +hospitalArea);
+                    if (data.code == 0) {
+                        var hospitalData = data.data;
+                        var hospitalProvince = hospitalData.hospitalProvince != null ? hospitalData.hospitalProvince : ""
+                        var hospitalCity = hospitalData.hospitalCity != null ? hospitalData.hospitalCity : ""
+                        var hospitalArea = hospitalData.hospitalArea != null ? hospitalData.hospitalArea : ""
+                        $("#hospitalAreas").val(hospitalProvince + " " + hospitalCity + " " + hospitalArea);
                     }
-                   
-                },"get")
+
+                }, "get")
         }
+        //限制自定义的时间
+        function xianzhi() {
+            var custom_beginTimesd = laydate.render({
+                elem: '#custom_beginTime', //指定元素
+                min: $("#contractBeginTime").val(),
+                max: $("#contractEndTime").val(),
+                done: function (value, date, endDate) {
+                    var startDate = new Date(value).getTime();
+                    var endTime = new Date($('#custom_endTime').val()).getTime();
+                    if (endTime < startDate) {
+                        layer.msg('结束时间不能小于开始时间');
+                        $('#custom_beginTime').val($('#custom_endTime').val());
+                    }
+                }
+            });
+            var custom_endTimes = laydate.render({
+                elem: '#custom_endTime', //指定元素
+                min: $("#contractBeginTime").val(),
+                max: $("#contractEndTime").val(),
+                done: function (value, date, endDate) {
+                    var startDate = new Date($('#custom_beginTime').val()).getTime();
+                    var endTime = new Date(value).getTime();
+                    if (endTime < startDate) {
+                        layer.msg('结束时间不能小于开始时间');
+                        $('#custom_endTime').val($('#custom_beginTime').val());
+                    }
+                }
+            });
+        }
+        //获取软件的服务周期
+        var getCycleTime = function (departmentId) {
+            admin.req('api-opration/productorderdetail/getContractBeginEndTimeAndNum', { departmentId: departmentId },
+                function (data) {
+                    if (data.code == 0) {
+                        $("#contractBeginTime").val(layui.util.toDateString(data.data.beginTime, "yyyy-MM-dd"));
+                        $("#contractEndTime").val(layui.util.toDateString(data.data.endTime, "yyyy-MM-dd"));
+                    }
+
+                }, "get")
+        }
+
 
         //回显医院基本数据
         let hospitalData = admin.getTempData('t_hospital');
 
         if (hospitalData != null) {
             nowContract();
+
             admin.req('api-user/sysdepartment/getPayMes?departmentId=' + hospitalData.departmentId, {},
                 function (data) {
                     layer.closeAll('loading');
@@ -534,7 +588,14 @@
                         } else {
                             hospitalData.contractBeginTime = layui.util.toDateString(hospitalData.contractBeginTime, 'yyyy-MM-dd')
                             hospitalData.contractEndTime = layui.util.toDateString(hospitalData.contractEndTime, 'yyyy-MM-dd')
+                            contractBeginTimeVVV = hospitalData.contractBeginTime
+                            contractEndTimeVVV = hospitalData.contractEndTime
                             form.val('recharge-form', hospitalData);
+                            $("#custom_beginTime").val(hospitalData.contractBeginTime)
+                            $("#custom_endTime").val(hospitalData.contractEndTime)
+                            //限制时间
+                            xianzhi();
+                            getCycleTime(hospitalData.departmentId);
                             getHospitalAddress(hospitalData.hospitalId);
                             //装载产品数据
                             table.render({
@@ -660,7 +721,9 @@
                 var listNum = 0;
                 if (!strUtil.isEmpty(listData)) {
                     listData.forEach(item => {
-                        listNum += item.ailightCount;
+                        if (item.proType == 1) {
+                            listNum += item.ailightCount;
+                        }
                     })
                 }
                 if ($("#contractNum").val() < listNum) {
@@ -683,8 +746,8 @@
                     custom_beginTime = $("#custom_beginTime").val();
                     custom_endTime = $("#custom_endTime").val();
                 } else {
-                    custom_beginTime = $("#contractBeginTime").val();
-                    custom_endTime = $("#contractEndTime").val();
+                    custom_beginTime = contractBeginTimeVVV
+                    custom_endTime = contractEndTimeVVV
                 }
                 var listData = admin.getTempData("t_tempProduct");
                 //添加一个id,删除用
@@ -763,6 +826,8 @@
                 if (!strUtil.isEmpty(obj.data.id)) {
                     delTempDataById(obj.data.id);
                     obj.del();
+                    //将自定义的数量赋值
+                    zidingyiNum();
                 }
             }
         });
@@ -804,16 +869,37 @@
                 data.isShare = obj.tr.find("td[data-field='isShare'] em").text();
                 data.isShare = (data.isShare.indexOf("不") == 0) ? 0 : 1;
                 //判断待加入产品的总数是否大于合同的总数
-                var msg = isthenNum(data.ailightCount);
-                if (msg != null) {
-                    layer.msg(msg);
-                    return false;
+                //试用产品不计算总数
+
+                if (data.proType == 1) {
+                    var msg = isthenNum(parseInt(data.ailightCount));
+                    if (msg != null) {
+                        layer.msg(msg);
+                        return false;
+                    }
+                }
+                //将所选的时间不得大于  合同的时间
+                var contractBeginTime = $("#contractBeginTime").val();
+                var contractEndTime = $("#contractEndTime").val();
+                if (!strUtil.isEmpty(data.beginTime)) {
+                    if (dateUtil.compareDate(contractBeginTime, data.beginTime)) {
+                        layer.msg("开始时间必须大于合同的开始时间!");
+                        return false;
+                    }
+                }
+                if (!strUtil.isEmpty(data.endTime)) {
+                    if (dateUtil.compareDate(data.endTime, contractEndTime)) {
+                        layer.msg("结束时间必须小于合同的结束时间!");
+                        return false;
+                    }
                 }
                 if (!strUtil.isEmpty(data.beginTime) && !strUtil.isEmpty(data.endTime)) {
                     if (dateUtil.compareDate(data.endTime, data.beginTime)) {
                         data.id = data.id + '';
                         tempDataList(data);
                         waitRecharge();
+                        //将自定义的数量赋值
+                        zidingyiNum()
                     } else {
                         layer.msg("结束时间必须大于开始时间!");
                         return false;
@@ -824,23 +910,27 @@
                 }
             }
         });
+
+        // $("#contractNum_not").val($("#contractNum").val() - num);
         function isthenNum(num) {
             if (num <= 0) {
-                return "请输入读片量且大于0";
+                return "请输入合同读片充值量大于0";
             }
             var listData = admin.getTempData("t_tempProduct");
             var listNum = 0;
             if (!strUtil.isEmpty(listData)) {
                 listData.forEach(item => {
-                    listNum += item.ailightCount;
+                    if (item.proType == 1) {
+                        listNum += item.ailightCount;
+                    }
                 })
             }
             listNum += num;
             if ($("#contractNum_not").val() == undefined || $("#contractNum_not").val() == "") {
-                return "请输入读片量!";
+                return "请输入合同读片充值量!";
             } else {
-                if ($("#contractNum_not").val() < listNum) {
-                    return "当前产品总数不得大于合同总量";
+                if (parseInt($("#contractNum_not").val()) < listNum) {
+                    return "当前产品总数不得大于合同读片充值量";
                 } else {
                     return null;
                 }
@@ -900,12 +990,25 @@
             }
         }
         function submit() {
-            console.log(1111111)
             if (!isRun) {
                 layer.load(2);
                 var listData = admin.getTempData("t_tempProduct");
+                var len = listData != null && listData.length > 0 ? listData.length : 0;
+                var count= 0;
                 if (listData != null) {
-                    layer.confirm("确定要将待充值列表中的" + listData.length + "个产品充值给当前医院的科室吗?", {
+                    listData.forEach(element => {
+                        if (element.proType == 1) {
+                            count += element.ailightCount;
+                        }
+                    });
+                }
+                if (count != $("#contractNum_not").val()) {
+                    layer.closeAll('loading');
+                    layer.msg("合同未充值量与套餐充值量不一致")
+                    return false;
+                }
+                if (listData != null && listData.length > 0) {
+                    layer.confirm("确定要将待充值列表中的" + len + "个产品充值给当前医院的科室吗?", {
                         btn: ["确定", "返回"]
                     }, function () {
                         isRun = true;
@@ -925,8 +1028,9 @@
                                 proBegintime: item.beginTime != "" ? item.beginTime +
                                     ' 00:00:00' : "",
                                 proEndtime: item.endTime != "" ? item.endTime +
-                                    ' 23:59:59' : "",
-                                count: item.ailightCount
+                                    ' 00:00:00' : "",
+                                orderAilightCount: item.ailightCount,
+                                orderRecordCount: item.recordCount != null ? item.recordCount : 0,
                             };
                             listDetailData.push(detailData);
                         })
@@ -955,6 +1059,9 @@
                                             icon: 2,
                                             time: 1000
                                         });
+                                        layer.closeAll();
+                                        layer.closeAll('loading');
+                                        return false;
                                     }
                                 }, 'POST');
                         } else {
@@ -970,6 +1077,8 @@
                         icon: 2,
                         time: 2000
                     });
+                    layer.closeAll('loading');
+                    return false;
                 }
                 layer.closeAll('loading');
                 return false;

--
Gitblit v1.8.0