forked from kidgrow-microservices-platform

zhaoxiaohao
2020-12-11 8fa104184c73aeacc185f4dcedcecf6ec60c4b73
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/recharge.html
@@ -80,15 +80,16 @@
                        <div class="layui-row">
                            <div class="layui-col-sm6">
                                <label class="layui-form-label">当前软件服务周期:</label>
                                <div class="layui-input-block">
                                <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: 40%;" />
                                        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; display: inline-block;width: 40%;" />
                                        style="border: none; margin-left: 10%;display: inline-block;width: 30%;" />
                                </div>
                            </div>
                            <div class="layui-col-sm6">
@@ -120,6 +121,7 @@
                                    <input autocomplete="off" name="contractBeginTime" id="contractBeginTime"
                                        type="text" placeholder="请输开始时间" class="layui-input" maxlength="50"
                                        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 style="display: inline-block;width: 40%;" />
@@ -129,7 +131,7 @@
                                <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"
                                        onkeyup="this.value=this.value.replace(/[^\d]/g,'0') " type="text" value="0"
                                        class="layui-input" maxlength="50" lay-verify="required" required />
                                </div>
                            </div>
@@ -167,7 +169,7 @@
                                <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"
                                        onkeyup="this.value=this.value.replace(/[^\d]/g,'') " type="text"
                                        class="layui-input" maxlength="50" />
                                </div>
                            </div>
@@ -254,6 +256,8 @@
        var laydate = layui.laydate;
        var contractNum = 0;
        var contractBeginTime_cheng = "";
        var contractEndTime_cheng = "";
        //充值进行中
        var isRun = false;
@@ -263,10 +267,16 @@
            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(!false){
                        return false;
                    }
                    $('#custom_beginTime').val($("#contractBeginTime").val())
                    custom_beginTimes.config.min = {
                        year: date.year,
@@ -285,10 +295,17 @@
            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(!false){
                        return false;
                    }
                    $('#custom_endTime').val($("#contractEndTime").val())
                    custom_endTimes.config.max = {
                        year: date.year,
@@ -311,6 +328,43 @@
                }
            }
        });
        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;
                        }
                    }
                });
            }
            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: '#contractBeginTime_not' //指定元素
        });
@@ -446,25 +500,71 @@
            admin.req('api-opration/productorderdetail/getContractBeginEndTimeAndNum', { departmentId: departmentId },
                function (data) {
                    if (data.code == 0) {
                        $("#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.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")
                        }
                        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")
@@ -489,7 +589,6 @@
                            var hospitalProvince = hospitalData.hospitalProvince != null ? hospitalData.hospitalProvince : "";
                            var hospitalCity = hospitalData.hospitalCity != null ? hospitalData.hospitalCity : "";
                            var hospitalArea = hospitalData.hospitalArea != null ? hospitalData.hospitalArea : "";
                            // console.log(hospitalProvince + " " + hospitalCity + " " +hospitalArea)
                            $("#hospitalAreas").val(hospitalProvince + " " + hospitalCity + " " + hospitalArea);
                            //装载产品数据
@@ -607,9 +706,9 @@
                }, 'get');
            //报告数量事件
            $("#contractNum").blur(function () {
                if ($("#contractNum").val() <= 0) {
                if ($("#contractNum").val() < 0) {
                    layer.msg("输入的读片量大于0");
                    $("#contractNum").val("")
                    $("#contractNum").val(0)
                    return false;
                }
                var listData = admin.getTempData("t_tempProduct");
@@ -627,6 +726,8 @@
                    return false;
                } else {
                    contractNum = $("#contractNum").val();
                    //将自定义的读片量赋值
                    $("#custom_ailightCount").val($("#contractNum").val()-listNum);
                }
            })
            //自定义的确定
@@ -671,7 +772,8 @@
                    proName: custom_proName,
                    proTime: "",
                    proType: 1,
                    termType: termType
                    termType: termType,
                    type: 1
                }
                tempDataList(data);
                waitRecharge();
@@ -684,6 +786,8 @@
                if (!strUtil.isEmpty(obj.data.id)) {
                    delTempDataById(obj.data.id);
                    obj.del();
                    //将自定义的数量赋值
                    zidingyiNum()
                }
            }
        });
@@ -733,11 +837,29 @@
                        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;
@@ -748,6 +870,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").val()-listNum);
        }
        function isthenNum(num) {
            if (num <= 0) {
                return "请输入合同读片充值量大于0";
@@ -848,9 +983,23 @@
            if (!isRun) {
                layer.load(2);
                var listData = admin.getTempData("t_tempProduct");
                if (listData != null) {
                // if (listData != null) {
                    var count= 0;
                    if(listData!=null){
                        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) {
                        layer.confirm("确定要将待充值列表中的" + listData.length + "个产品充值给当前医院的科室吗?", {
                        var len=listData!=null&&listData.length>0 ? listData.length : 0
                        layer.confirm("确定要将待充值列表中的" + len + "个产品充值给当前医院的科室吗?", {
                            btn: ["确定", "返回"]
                        }, function () {
                            isRun = true;
@@ -882,14 +1031,29 @@
                                                proBegintime: item.beginTime != "" ? item.beginTime +
                                                    ' 00:00:00' : "",
                                                proEndtime: item.endTime != "" ? item.endTime +
                                                    ' 23:59:59' : "",
                                                    ' 00:00:00' : "",
                                                orderAilightCount: item.ailightCount,
                                                orderRecordCount: item.recordCount != null ? item.recordCount : 0,
                                            };
                                            listDetailData.push(detailData);
                                        })
                                        if (listDetailData.length > 0) {
                                        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',
@@ -916,13 +1080,9 @@
                                                        });
                                                    }
                                                }, 'POST');
                                        } else {
                                            layer.msg("充值数据异常为空!", {
                                                icon: 2,
                                                time: 1000
                                            });
                                            isRun = false;
                                        }
                                            // layer.closeAll();
                                            // layer.msg("充值数据成功!");
                                            // isRun = false;
                                    } else {
                                        layer.msg(data.msg, {
                                            icon: 2,
@@ -938,12 +1098,12 @@
                            time: 1000
                        });
                    }
                } else {
                    layer.msg("请先将要充值的产品加入待充值!", {
                        icon: 2,
                        time: 2000
                    });
                }
                // } else {
                //     layer.msg("请先将要充值的产品加入待充值!", {
                //         icon: 2,
                //         time: 2000
                //     });
                // }
                layer.closeAll('loading');
                return false;
            }