From 1a50269b1d072fe2da7e70ae48315ebeb4ef95f4 Mon Sep 17 00:00:00 2001
From: zhaoxiaohao <279049017@qq.com>
Date: Tue, 02 Mar 2021 18:32:55 +0800
Subject: [PATCH] 完善筛查和 input框记录数据得bug

---
 kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/recharge.html |  674 +++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 478 insertions(+), 196 deletions(-)

diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/recharge.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/recharge.html
index c8105fc..09bd761 100644
--- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/recharge.html
+++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/recharge.html
@@ -1,4 +1,4 @@
-<form id="recharge-form" lay-filter="recharge-form" class="layui-form">
+<form id="recharge-form" lay-filter="recharge-form" autocomplete="off" class="layui-form">
     <div style="overflow-y: auto; height:700px;">
         <div class="layui-tab">
             <ul class="layui-tab-title">
@@ -36,7 +36,7 @@
                     <div class="layui-form-item" style="padding: 0; margin-bottom: 0px;">
                         <div class="layui-row">
                             <div class="layui-col-sm5">
-                                <label class="layui-form-label" style="padding: 0 30px 0 0;">地区</label>
+                                <label class="layui-form-label" style="padding: 0 20px 0 0;">地区</label>
                                 <input name="hospitalAreas" id="hospitalAreas" type="text"
                                     style="border: none; width: 250px; margin-top:-10px" readonly class="layui-input" />
                             </div>
@@ -62,14 +62,16 @@
                                 <label class="layui-form-label" style="padding: 10px 30px 0 0px;">合同名称</label>
                                 <div class="layui-input-block">
                                     <input name="contractTitle" id="contractTitle" type="text" class="layui-input"
-                                        maxlength="50" lay-verify="required" required autocomplete="off" />
+                                        maxlength="50" lay-verify="required" required autocomplete="off"
+                                        style="display: inline-block;width: 80%;" />
                                 </div>
                             </div>
                             <div class="layui-col-sm6">
                                 <label class="layui-form-label">合同编号</label>
                                 <div class="layui-input-block">
                                     <input name="contractNo" id="contractNo" type="text" class="layui-input"
-                                        maxlength="50" autocomplete="off" lay-verify="required" required />
+                                        maxlength="50" autocomplete="off" lay-verify="required" required
+                                        style="display: inline-block;width: 80%;" />
                                 </div>
                             </div>
                         </div>
@@ -78,20 +80,23 @@
                         <div class="layui-row">
                             <div class="layui-col-sm6">
                                 <label class="layui-form-label">当前软件服务周期:</label>
-                                <div class="layui-col-sm4" style="margin-right: 30px;">
-                                    <input autocomplete="off" name="contractBeginTime_not" disabled id="contractBeginTime_not"
-                                        type="text" placeholder="请输开始时间" class="layui-input" maxlength="50"/>
-                                </div>
-                                <div class="layui-col-sm4 ">
-                                    <input autocomplete="off" name="contractEndTime_not" disabled id="contractEndTime_not" type="text"
-                                        placeholder="请输入结束时间" class="layui-input" maxlength="50"  />
+                                <div class="layui-input-block">
+                                    <input autocomplete="off" name="contractBeginTime_not" disabled
+                                        id="contractBeginTime_not" type="text" placeholder="请输开始时间" class="layui-input"
+                                        maxlength="50" readonly
+                                        style="border: none; display: inline-block;width: 30%;" />
+                                    <span id="contractBeginTime_not_heng"> 至 </span>
+                                    <input autocomplete="off" name="contractEndTime_not" disabled
+                                        id="contractEndTime_not" type="text" placeholder="请输入结束时间" class="layui-input"
+                                        maxlength="50" readonly
+                                        style="border: none; margin-left: 10%;display: inline-block;width: 30%;" />
                                 </div>
                             </div>
                             <div class="layui-col-sm6">
                                 <label class="layui-form-label">当前读片总量:</label>
                                 <div class="layui-input-inline">
-                                    <input autocomplete="off" name="contractNum_not" id="contractNum_not" disabled type="text" class="layui-input" maxlength="50"
-                                         />
+                                    <input autocomplete="off" name="contractNum_not" id="contractNum_not" disabled
+                                        type="text" class="layui-input" maxlength="50" readonly style="border: none;" />
                                 </div>
                             </div>
                             <!-- <div class="layui-col-sm6">
@@ -112,23 +117,33 @@
                                     required /> -->
                                 <!-- <input autocomplete="off" name="contractEndTime" id="contractEndTime" type="text"
                                     class="layui-input" maxlength="50" lay-verify="required" required /> -->
-
-                                <div class="layui-col-sm4" style="margin-right: 30px;">
+                                <div class="layui-input-block">
                                     <input autocomplete="off" name="contractBeginTime" id="contractBeginTime"
                                         type="text" placeholder="请输开始时间" class="layui-input" maxlength="50"
-                                        lay-verify="required" required />
-                                </div>
-                                <div class="layui-col-sm4 ">
+                                        lay-verify="required" required style="display: inline-block;width: 40%;" />
+                                    --
                                     <input autocomplete="off" name="contractEndTime" id="contractEndTime" type="text"
                                         placeholder="请输入结束时间" class="layui-input" maxlength="50" lay-verify="required"
-                                        required />
+                                        required style="display: inline-block;width: 40%;" />
                                 </div>
                             </div>
                             <div class="layui-col-sm6">
                                 <label class="layui-form-label">合同读片充值量:</label>
                                 <div class="layui-input-inline">
-                                    <input autocomplete="off" name="contractNum" id="contractNum" onkeyup="this.value=this.value.replace(/[^\d]/g,'') " type="text" class="layui-input"
-                                        maxlength="50" lay-verify="required" required />
+                                    <input autocomplete="off" name="contractNum" id="contractNum"
+                                        onkeyup="this.value=this.value.replace(/[^\d]/g,'0') " type="text" value="0"
+                                        class="layui-input" maxlength="50" lay-verify="required" required />
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="layui-form-item" style="margin: 10px 0px 0px 0px;">
+                        <div class="layui-row">
+                            <div class="layui-col-sm6">
+                                <label class="layui-form-label">签订日期</label>
+                                <div class="layui-input-block">
+                                    <input autocomplete="off" name="contractTime" id="contractTime" type="text"
+                                        class="layui-input" maxlength="50" lay-verify="required" style="display: inline-block;width: 40%;" required />
                                 </div>
                             </div>
                         </div>
@@ -153,8 +168,8 @@
                             <div class="layui-col-sm12">
                                 <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 />
+                                    <input autocomplete="off" id="custom_proName" type="text" class="layui-input"
+                                        maxlength="50" />
                                 </div>
                             </div>
                         </div>
@@ -164,38 +179,40 @@
                             <div class="layui-col-sm6">
                                 <label class="layui-form-label">读片充值量:</label>
                                 <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 />张
+                                    <input autocomplete="off" id="custom_ailightCount"
+                                        onkeyup="this.value=this.value.replace(/[^\d]/g,'') " type="text"
+                                        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" id="custom_isShare" name="gongxiang" value="1"
+                                        lay-skin="primary" 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: 160px;text-align: right;">
+                                    <input type="checkbox" id="termType" lay-skin="primary" 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"/>
+                                    <input autocomplete="off" id="custom_beginTime" type="text" placeholder="请输开始时间"
+                                        class="layui-input" maxlength="50" />
                                 </div>
                                 <div class="layui-col-sm4 ">
-                                    <input autocomplete="off" type="text"
-                                        placeholder="请输入结束时间" id="custom_endTime" class="layui-input" maxlength="50"  />
+                                    <input autocomplete="off" type="text" placeholder="请输入结束时间" id="custom_endTime"
+                                        class="layui-input" maxlength="50" />
                                 </div>
                             </div>
                         </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>
@@ -239,7 +256,7 @@
     <input type="checkbox" lay-filter="product-tpl-isShare" value="{{d.id}}" lay-skin="switch" lay-text="共享|不共享" />
 </script>
 <script>
-    layui.use(['form', 'table', 'util', 'config', 'laydate', 'jquery','admin'], function () {
+    layui.use(['form', 'table', 'util', 'config', 'laydate', 'jquery', 'admin'], function () {
         var form = layui.form;
         var table = layui.table;
         var config = layui.config;
@@ -250,32 +267,138 @@
         var $ = layui.jquery;
         var laydate = layui.laydate;
 
-        var contractNum=0;
+        var contractNum = 0;
+        var contractBeginTime_cheng = "";
+        var contractEndTime_cheng = "";
 
         //充值进行中
         var isRun = false;
         //执行一个laydate实例
-        laydate.render({
+        var contractBeginTime = laydate.render({
             elem: '#contractBeginTime', //指定元素
             done: function (value, date, endDate) {
                 var startDate = new Date(value).getTime();
                 var endTime = new Date($('#contractEndTime').val()).getTime();
-                if (endTime < startDate) {
-                    layer.msg('结束时间不能小于开始时间');
-                    $('#contractBeginTime').val($('#contractEndTime').val());
+                if (endTime <= startDate) {
+                    layer.msg('结束时间不能小于或等于开始时间');
+                    var end = new Date($('#contractEndTime').val())
+                    end.setDate(end.getDate() - 1)
+                    $('#contractBeginTime').val(util.toDateString(end, "yyyy-MM-dd"));
+                } else {
+                    var flag = termTypeTime();
+                    if (!flag) {
+                        return false;
+                    }
+                    $('#custom_beginTime').val($("#contractBeginTime").val())
+                    custom_beginTimes.config.min = {
+                        year: date.year,
+                        month: date.month - 1,//关键
+                        date: date.date,
+                        hours: date.hours,
+                        minutes: date.minutes,
+                        seconds: date.seconds
+                    }
                 }
             }
         });
-        laydate.render({
+        var contractEndTime = laydate.render({
             elem: '#contractEndTime', //指定元素
+            // min: $("#contractEndTime_not").val(),
             done: function (value, date, endDate) {
                 var startDate = new Date($('#contractBeginTime').val()).getTime();
                 var endTime = new Date(value).getTime();
-                if (endTime < startDate) {
-                    layer.msg('结束时间不能小于开始时间');
-                    $('#contractEndTime').val($('#contractBeginTime').val());
+                if (endTime <= startDate) {
+                    layer.msg('结束时间不能小于或等于开始时间');
+                    var begin = new Date($('#contractBeginTime').val())
+                    begin.setDate(begin.getDate() + 1)
+                    $('#contractEndTime').val(util.toDateString(begin, "yyyy-MM-dd"));
+                    // $('#contractEndTime').val($('#contractBeginTime').val());
+                } else {
+                    var flag = termTypeTime();
+                    if (!flag) {
+                        return false;
+                    }
+                    $('#custom_endTime').val($("#contractEndTime").val())
+                    //将自定义的开始时间都限制
+                    custom_beginTimes.config.min = {
+                        year: layui.util.toDateString(begin, "yyyy"),
+                        month: layui.util.toDateString(begin, "MM") - 1,//关键
+                        date: layui.util.toDateString(begin, "dd"),
+                        hours: layui.util.toDateString(begin, "HH"),
+                        minutes: layui.util.toDateString(begin, "mm"),
+                        seconds: layui.util.toDateString(begin, "ss")
+                    }
+                    custom_beginTimes.config.max = {
+                        year: date.year,
+                        month: date.month - 1,//关键
+                        date: date.date,
+                        hours: date.hours,
+                        minutes: date.minutes,
+                        seconds: date.seconds
+                    }
+                    //将自定义的结束时间都限制
+                    custom_endTimes.config.max = {
+                        year: date.year,
+                        month: date.month - 1,//关键
+                        date: date.date,
+                        hours: date.hours,
+                        minutes: date.minutes,
+                        seconds: date.seconds
+                    }
+                    var begin = new Date($("#contractBeginTime").val())
+                    custom_endTimes.config.min = {
+                        year: layui.util.toDateString(begin, "yyyy"),
+                        month: layui.util.toDateString(begin, "MM") - 1,//关键
+                        date: layui.util.toDateString(begin, "dd"),
+                        hours: layui.util.toDateString(begin, "HH"),
+                        minutes: layui.util.toDateString(begin, "mm"),
+                        seconds: layui.util.toDateString(begin, "ss")
+                    }
+
                 }
             }
+        });
+        function termTypeTime() {
+            var listData = admin.getTempData("t_tempProduct");
+            var max = "";
+            var min = '';
+            if (listData != null && listData.length > 0) {
+
+                listData.forEach((element, index) => {
+                    if (index == 0) {
+                        max = element.endTime;
+                        min = element.beginTime;
+                    } else {
+                        if (dateUtil.compareDate(min, element.beginTime)) {
+                            min = element.beginTime;
+                        }
+                        if (dateUtil.compareDate(element.endTime, max)) {
+                            max = element.endTime;
+                        }
+                    }
+
+                });
+            } else {
+                return true;
+            }
+            if (dateUtil.compareDate($('#contractBeginTime').val(), min)) {
+                layer.msg("合同的时间必须小于待充值的开始时间")
+                $('#contractBeginTime').val(contractBeginTime_cheng);
+                return false;
+            } else {
+                contractBeginTime_cheng = $('#contractBeginTime').val()
+            }
+            if (dateUtil.compareDate(max, $('#contractEndTime').val())) {
+                layer.msg("合同的时间必须小于待充值的开始时间")
+                $('#contractEndTime').val(contractEndTime_cheng);
+                return false;
+            } else {
+                contractEndTime_cheng = $('#contractEndTime').val()
+            }
+
+        }
+        laydate.render({
+            elem: '#contractTime' //指定元素
         });
         laydate.render({
             elem: '#contractBeginTime_not' //指定元素
@@ -283,8 +406,10 @@
         laydate.render({
             elem: '#contractEndTime_not' //指定元素
         });
-        laydate.render({
+        var custom_beginTimes = laydate.render({
             elem: '#custom_beginTime', //指定元素
+            // min: $("#contractEndTime").val(),
+            // man: $("#contractBeginTime").val(),
             done: function (value, date, endDate) {
                 var startDate = new Date(value).getTime();
                 var endTime = new Date($('#custom_endTime').val()).getTime();
@@ -294,8 +419,10 @@
                 }
             }
         });
-        laydate.render({
+        var custom_endTimes = laydate.render({
             elem: '#custom_endTime', //指定元素
+            // min: $("#contractEndTime").val(),
+            // man: $("#contractBeginTime").val(),
             done: function (value, date, endDate) {
                 var startDate = new Date($('#custom_beginTime').val()).getTime();
                 var endTime = new Date(value).getTime();
@@ -403,9 +530,81 @@
                 ]
             });
         }
+        //获取软件的服务周期
+        var getCycleTime = function (departmentId) {
+            admin.req('api-opration/productorderdetail/getContractBeginEndTimeAndNum', { departmentId: departmentId },
+                function (data) {
+                    if (data.code == 0) {
+                        if (data.data.beginTime == undefined) {
+                            $("#contractBeginTime_not").hide();
+                            $("#contractEndTime_not").hide();
+                            $("#contractBeginTime_not_heng").hide();
+                            $("#contractNum_not").hide();
+                            form.render();
+                        } else {
+                            $("#contractBeginTime_not").val(layui.util.toDateString(data.data.beginTime, "yyyy-MM-dd"));
+                            $("#contractEndTime_not").val(layui.util.toDateString(data.data.endTime, "yyyy-MM-dd"));
+                            $("#contractBeginTime").val(layui.util.toDateString(data.data.beginTime, "yyyy-MM-dd"));
+                            $("#contractEndTime").val(layui.util.toDateString(data.data.endTime, "yyyy-MM-dd"));
+                            $("#custom_beginTime").val(layui.util.toDateString(data.data.beginTime, "yyyy-MM-dd"));
+                            $("#custom_endTime").val(layui.util.toDateString(data.data.endTime, "yyyy-MM-dd"));
+                            contractBeginTime.config.max = {
+                                year: layui.util.toDateString(data.data.beginTime, "yyyy"),
+                                month: layui.util.toDateString(data.data.beginTime, "MM") - 1,//关键
+                                date: layui.util.toDateString(data.data.beginTime, "dd"),
+                                hours: layui.util.toDateString(data.data.beginTime, "HH"),
+                                minutes: layui.util.toDateString(data.data.beginTime, "mm"),
+                                seconds: layui.util.toDateString(data.data.beginTime, "ss")
+                            }
+                            contractEndTime.config.min = {
+                                year: layui.util.toDateString(data.data.endTime, "yyyy"),
+                                month: layui.util.toDateString(data.data.endTime, "MM") - 1,//关键
+                                date: layui.util.toDateString(data.data.endTime, "dd"),
+                                hours: layui.util.toDateString(data.data.endTime, "HH"),
+                                minutes: layui.util.toDateString(data.data.endTime, "mm"),
+                                seconds: layui.util.toDateString(data.data.endTime, "ss")
+                            }
+                            //自定义的时间段  开始时间进行限制
+                            custom_beginTimes.config.min = {
+                                year: layui.util.toDateString(data.data.beginTime, "yyyy"),
+                                month: layui.util.toDateString(data.data.beginTime, "MM") - 1,//关键
+                                date: layui.util.toDateString(data.data.beginTime, "dd"),
+                                hours: layui.util.toDateString(data.data.beginTime, "HH"),
+                                minutes: layui.util.toDateString(data.data.beginTime, "mm"),
+                                seconds: layui.util.toDateString(data.data.beginTime, "ss")
+                            }
+                            custom_beginTimes.config.max = {
+                                year: layui.util.toDateString(data.data.endTime, "yyyy"),
+                                month: layui.util.toDateString(data.data.endTime, "MM") - 1,//关键
+                                date: layui.util.toDateString(data.data.endTime, "dd"),
+                                hours: layui.util.toDateString(data.data.endTime, "HH"),
+                                minutes: layui.util.toDateString(data.data.endTime, "mm"),
+                                seconds: layui.util.toDateString(data.data.endTime, "ss")
+                            }
+                            //自定义的时间段  结束时间进行限制
+                            custom_endTimes.config.min = {
+                                year: layui.util.toDateString(data.data.beginTime, "yyyy"),
+                                month: layui.util.toDateString(data.data.beginTime, "MM") - 1,//关键
+                                date: layui.util.toDateString(data.data.beginTime, "dd"),
+                                hours: layui.util.toDateString(data.data.beginTime, "HH"),
+                                minutes: layui.util.toDateString(data.data.beginTime, "mm"),
+                                seconds: layui.util.toDateString(data.data.beginTime, "ss")
+                            }
+                            custom_endTimes.config.max = {
+                                year: layui.util.toDateString(data.data.endTime, "yyyy"),
+                                month: layui.util.toDateString(data.data.endTime, "MM") - 1,//关键
+                                date: layui.util.toDateString(data.data.endTime, "dd"),
+                                hours: layui.util.toDateString(data.data.endTime, "HH"),
+                                minutes: layui.util.toDateString(data.data.endTime, "mm"),
+                                seconds: layui.util.toDateString(data.data.endTime, "ss")
+                            }
+                            $("#contractNum_not").val(data.data.count);
+                        }
+                    }
 
-        
-        
+                }, "get")
+        }
+
         //回显医院基本数据
         let hospitalData = admin.getTempData('t_hospital');
         if (hospitalData != null) {
@@ -422,9 +621,10 @@
                             });
                         } else {
                             form.val('recharge-form', hospitalData);
-                            $("#hospitalAreas").val(hospitalData.hospitalProvince + " " + hospitalData
-                                .hospitalCity + " " +
-                                hospitalData.hospitalArea);
+                            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);
 
                             //装载产品数据
                             table.render({
@@ -539,63 +739,67 @@
                         });
                     }
                 }, 'get');
-                //报告数量事件
-            $("#contractNum").blur(function(){
-                if($("#contractNum").val()<=0){
+            //报告数量事件
+            $("#contractNum").blur(function () {
+                if ($("#contractNum").val() < 0) {
                     layer.msg("输入的读片量大于0");
-                    $("#contractNum").val("")
+                    $("#contractNum").val(0)
                     return false;
                 }
                 var listData = admin.getTempData("t_tempProduct");
-                var listNum=0;
+                var listNum = 0;
                 if (!strUtil.isEmpty(listData)) {
-                    listData.forEach(item =>{
-                        listNum+=item.ailightCount;
+                    listData.forEach(item => {
+                        if (item.proType == 1) {
+                            listNum += item.ailightCount;
+                        }
                     })
                 }
-                if($("#contractNum").val()<listNum){
+                if ($("#contractNum").val() < listNum) {
                     layer.msg("请先删除待充值套餐");
                     $("#contractNum").val(contractNum)
                     return false;
-                }else{
-                    contractNum=$("#contractNum").val();
+                } else {
+                    contractNum = $("#contractNum").val();
+                    //将自定义的读片量赋值
+                    $("#custom_ailightCount").val($("#contractNum").val() - listNum);
                 }
             })
             //自定义的确定
-            $("#custom_submit").click(function(){
-                var custom_proName=$("#custom_proName").val()
-                var custom_ailightCount=$("#custom_ailightCount").val() 
-                var custom_isShare=$("#custom_isShare").prop("checked") ? 1:0;
-                var termType=$("#termType").prop("checked")? 1:0;
-                var custom_beginTime="";
-                var custom_endTime="";
-                if(termType==1){
-                    custom_beginTime=$("#custom_beginTime").val();
-                    custom_endTime=$("#custom_endTime").val();
-                }else{
-                    custom_beginTime=$("#contractBeginTime").val();
-                    custom_endTime=$("#contractEndTime").val();
+            $("#custom_submit").click(function () {
+                var custom_proName = $("#custom_proName").val()
+                var custom_ailightCount = $("#custom_ailightCount").val()
+                var custom_isShare = $("#custom_isShare").prop("checked") ? 1 : 0;
+                var termType = $("#termType").prop("checked") ? 1 : 0;
+                var custom_beginTime = "";
+                var custom_endTime = "";
+                if (termType == 1) {
+                    custom_beginTime = $("#custom_beginTime").val();
+                    custom_endTime = $("#custom_endTime").val();
+                } else {
+                    custom_beginTime = $("#contractBeginTime").val();
+                    custom_endTime = $("#contractEndTime").val();
                 }
                 var listData = admin.getTempData("t_tempProduct");
                 //添加一个id,删除用
-                var max=0;
+                var max = 0;
                 if (strUtil.isEmpty(listData)) {
-                        listData = new Array();
-                    }
+                    listData = new Array();
+                }
                 listData.forEach(element => {
-                    if(max<element.id){
-                        max=element.id
+                    if (max < element.id) {
+                        max = element.id
                     }
                 });
                 //判断待加入产品的总数是否大于合同的总数
-                var msg=isthenNum(parseInt(custom_ailightCount));
-                if(msg!=null){
+                var msg = isthenNum(parseInt(custom_ailightCount));
+                if (msg != null) {
                     layer.msg(msg);
                     return false;
                 }
 
-                var data={
-                    id: max+1,
+                var data = {
+                    id: max + 1,
                     ailightCount: parseInt(custom_ailightCount),
                     beginTime: custom_beginTime,
                     endTime: custom_endTime,
@@ -603,11 +807,13 @@
                     proName: custom_proName,
                     proTime: "",
                     proType: 1,
-                    termType: termType
+                    termType: termType,
+                    type: 1
                 }
                 tempDataList(data);
                 waitRecharge();
             })
+            getCycleTime(hospitalData.departmentId);
         }
         //待充值列表功能操作
         table.on('tool(product-table-temp)', function (obj) {
@@ -615,6 +821,8 @@
                 if (!strUtil.isEmpty(obj.data.id)) {
                     delTempDataById(obj.data.id);
                     obj.del();
+                    //将自定义的数量赋值
+                    zidingyiNum()
                 }
             }
         });
@@ -656,16 +864,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(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;
@@ -676,24 +905,39 @@
                 }
             }
         });
-        function isthenNum(num){
-            if(num<=0){
-                return "请输入读片量大于0";
-            }
+        //将自定义的数量重新赋值
+        function zidingyiNum() {
             var listData = admin.getTempData("t_tempProduct");
-            var listNum=0;
+            var listNum = 0;
             if (!strUtil.isEmpty(listData)) {
-                listData.forEach(item =>{
-                listNum+=item.ailightCount;
+                listData.forEach(item => {
+                    if (item.proType == 1) {
+                        listNum += item.ailightCount;
+                    }
                 })
             }
-            listNum+=num;
-            if($("#contractNum").val()==undefined||$("#contractNum").val()==""){
-                    return "请输入读片量!";
-            }else{
-                if($("#contractNum").val()<listNum){
-                    return "当前产品总数不得大于合同总量";
-                }else{
+            $("#custom_ailightCount").val($("#contractNum").val() - listNum);
+        }
+        function isthenNum(num) {
+            if (num <= 0) {
+                return "请输入合同读片充值量大于0";
+            }
+            var listData = admin.getTempData("t_tempProduct");
+            var listNum = 0;
+            if (!strUtil.isEmpty(listData)) {
+                listData.forEach(item => {
+                    if (item.proType == 1) {
+                        listNum += item.ailightCount;
+                    }
+                })
+            }
+            listNum += num;
+            if ($("#contractNum").val() == undefined || $("#contractNum").val() == "") {
+                return "请输入合同读片充值量!";
+            } else {
+                if ($("#contractNum").val() < listNum) {
+                    return "当前产品总数不得大于合同读片充值量";
+                } else {
                     return null;
                 }
             }
@@ -774,103 +1018,141 @@
             if (!isRun) {
                 layer.load(2);
                 var listData = admin.getTempData("t_tempProduct");
+                // if (listData != null) {
+                var count = 0;
                 if (listData != null) {
-                    if (data.field != null) {
-                        layer.confirm("确定要将待充值列表中的" + listData.length + "个产品充值给当前医院的科室吗?", {
-                            btn: ["确定", "返回"]
-                        }, function () {
-                            isRun = true;
-                            data.field.contractBeginTime = data.field.contractBeginTime +
-                                " 00:00:00";
-                            data.field.contractEndTime = data.field.contractEndTime +
-                                " 23:59:59";
-                            // data.field.contractTime = data.field.contractTime + " 00:00:00";
-                            delete data.field.contractNum_not
-                            delete data.field.contractBeginTime_not
-                            delete data.field.contractEndTime_not
-                            admin.req('api-opration/contract', JSON.stringify(data.field),
-                                function (data) {
-                                    layer.closeAll('loading');
-                                    if (data.code === 0) {
-                                        var orderData = data.data;
-                                        //处理订单明细数据
-                                        var listDetailData = new Array();
-                                        $.each(listData, function (index, item) {
-                                            var detailData = {
-                                                orderId: orderData.id + '',
-                                                proId: item.termType==null? item.id + '': "0",
-                                                proType: item.proType,
-                                                proName: item.proName,
-                                                isShare: item.isShare,
-                                                ailightCount: item.ailightCount!=null ? item.ailightCount : 0,
-                                                recordCount: item.recordCount!=null ? item.recordCount : 0,
-                                                termType: item.termType,
-                                                proBegintime: item.beginTime!="" ? item.beginTime+
-                                                    ' 00:00:00':"",
-                                                proEndtime: item.endTime !="" ? item.endTime +
-                                                    ' 23:59:59':""
-                                            };
-                                            listDetailData.push(detailData);
-                                        })
-
-                                        if (listDetailData.length > 0) {
-                                            //提交订单数据
-                                            admin.req(
-                                                'api-opration/productorderdetail/saveall',
-                                                JSON.stringify(listDetailData),
-                                                function (data) {
-                                                    isRun = false;
-                                                    layer.closeAll('loading');
-                                                    if (data.code === 0) {
-                                                        //现将临时数据清理
-                                                        admin.putTempData(
-                                                            "t_tempProduct",
-                                                            "");
-                                                        layer.msg(data.msg, {
-                                                            icon: 1,
-                                                            time: 2000
-                                                        }, function () {
-                                                            admin
-                                                                .finishPopupCenter();
-                                                        });
-                                                    } else {
-                                                        layer.msg(data.msg, {
-                                                            icon: 2,
-                                                            time: 1000
-                                                        });
-                                                    }
-                                                }, 'POST');
-                                        } else {
-                                            layer.msg("充值数据异常为空!", {
-                                                icon: 2,
-                                                time: 1000
-                                            });
-                                            isRun = false;
-                                        }
-                                    } else {
-                                        layer.msg(data.msg, {
-                                            icon: 2,
-                                            time: 1000
-                                        });
-                                        isRun = false;
-                                    }
-                                }, 'POST');
-                        })
-                    } else {
-                        layer.msg("数据异常!", {
-                            icon: 2,
-                            time: 1000
-                        });
-                    }
-                } else {
-                    layer.msg("请先将要充值的产品加入待充值!", {
-                        icon: 2,
-                        time: 2000
+                    listData.forEach(element => {
+                        if (element.proType == 1) {
+                            count += element.ailightCount;
+                        }
                     });
                 }
+                if (count != data.field.contractNum) {
+                    layer.closeAll('loading');
+                    layer.msg("合同读片充值量与套餐充值量不一致")
+                    return false;
+                }
+                if (data.field != null) {
+                    var len = listData != null && listData.length > 0 ? listData.length : 0
+                    layer.confirm("确定要将待充值列表中的" + len + "个产品充值给当前医院的科室吗?", {
+                        btn: ["确定", "返回"]
+                    }, function () {
+                        isRun = true;
+                        data.field.contractBeginTime = data.field.contractBeginTime +
+                            " 00:00:00";
+                        data.field.contractEndTime = data.field.contractEndTime +
+                            " 23:59:59";
+                        data.field.contractTime = data.field.contractTime +
+                            " 00:00:00";
+                        // data.field.contractTime = data.field.contractTime + " 00:00:00";
+                        delete data.field.contractNum_not
+                        delete data.field.contractBeginTime_not
+                        delete data.field.contractEndTime_not
+                        admin.req('api-opration/contract', JSON.stringify(data.field),
+                            function (data) {
+                                layer.closeAll('loading');
+                                if (data.code === 0) {
+                                    var orderData = data.data;
+                                    //处理订单明细数据
+                                    var listDetailData = new Array();
+                                    $.each(listData, function (index, item) {
+                                        var detailData = {
+                                            orderId: orderData.id + '',
+                                            proId: item.termType == null ? item.id + '' : "0",
+                                            proType: item.proType,
+                                            proName: item.proName,
+                                            isShare: item.isShare,
+                                            ailightCount: item.ailightCount != null ? item.ailightCount : 0,
+                                            recordCount: item.recordCount != null ? item.recordCount : 0,
+                                            termType: item.termType,
+                                            proBegintime: item.beginTime != "" ? item.beginTime +
+                                                ' 00:00:00' : "",
+                                            proEndtime: item.endTime != "" ? item.endTime +
+                                                ' 00:00:00' : "",
+                                            orderAilightCount: item.ailightCount,
+                                            orderRecordCount: item.recordCount != null ? item.recordCount : 0,
+                                        };
+                                        listDetailData.push(detailData);
+                                    })
+
+                                    if (listDetailData.length <= 0) {
+                                        var detailData = {
+                                            orderId: orderData.id + '',
+                                            proId: "0",
+                                            proType: 1,
+                                            proName: "软件服务周期",
+                                            isShare: 0,
+                                            ailightCount: 0,
+                                            recordCount: 0,
+                                            proBegintime: $("#contractBeginTime").val() + ' 00:00:00',
+                                            proEndtime: $("#contractEndTime").val() + ' 00:00:00',
+                                            orderAilightCount: 0,
+                                            orderRecordCount: 0,
+                                        };
+                                        listDetailData.push(detailData)
+                                    }
+                                    //提交订单数据
+                                    admin.req(
+                                        'api-opration/productorderdetail/saveall',
+                                        JSON.stringify(listDetailData),
+                                        function (data) {
+                                            isRun = false;
+                                            layer.closeAll('loading');
+                                            if (data.code === 0) {
+                                                //现将临时数据清理
+                                                admin.putTempData(
+                                                    "t_tempProduct",
+                                                    "");
+                                                layer.msg(data.msg, {
+                                                    icon: 1,
+                                                    time: 2000
+                                                }, function () {
+                                                    admin
+                                                        .finishPopupCenter();
+                                                });
+                                            } else {
+                                                layer.msg(data.msg, {
+                                                    icon: 2,
+                                                    time: 1000
+                                                });
+                                            }
+                                        }, 'POST');
+                                    // layer.closeAll();
+                                    // layer.msg("充值数据成功!");
+                                    // isRun = false;
+                                } else {
+                                    layer.msg(data.msg, {
+                                        icon: 2,
+                                        time: 1000
+                                    });
+                                    isRun = false;
+                                }
+                            }, 'POST');
+                    })
+                } else {
+                    layer.msg("数据异常!", {
+                        icon: 2,
+                        time: 1000
+                    });
+                }
+                // } else {
+                //     layer.msg("请先将要充值的产品加入待充值!", {
+                //         icon: 2,
+                //         time: 2000
+                //     });
+                // }
                 layer.closeAll('loading');
                 return false;
             }
         });
     });
-</script>
\ No newline at end of file
+</script>
+<style>
+    .layui-form-label {
+        width: 140px;
+    }
+
+    .layui-input-block {
+        margin-left: 160px;
+    }
+</style>
\ No newline at end of file

--
Gitblit v1.8.0