From 06c6b5141f44722ed02b38bc0562cfa76894ae1a Mon Sep 17 00:00:00 2001 From: zhaoxiaohao <279049017@qq.com> Date: Tue, 01 Dec 2020 17:43:21 +0800 Subject: [PATCH] 修改bug --- kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/recharge.html | 378 +++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 265 insertions(+), 113 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..fd78a98 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 @@ -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,22 @@ 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> @@ -153,8 +157,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 +168,39 @@ <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 +244,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,12 +255,12 @@ var $ = layui.jquery; var laydate = layui.laydate; - var contractNum=0; + var contractNum = 0; //充值进行中 var isRun = false; //执行一个laydate实例 - laydate.render({ + var contractBeginTime= laydate.render({ elem: '#contractBeginTime', //指定元素 done: function (value, date, endDate) { var startDate = new Date(value).getTime(); @@ -263,17 +268,48 @@ if (endTime < startDate) { layer.msg('结束时间不能小于开始时间'); $('#contractBeginTime').val($('#contractEndTime').val()); + } else { + $('#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()); + } else { + $('#custom_endTime').val($("#contractEndTime").val()) + 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") + } + } } }); @@ -283,8 +319,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 +332,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 +443,47 @@ ] }); } + //获取软件的服务周期 + 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") + } + $("#contractNum_not").val(data.data.count); + } + } - - + }, "get") + } + //回显医院基本数据 let hospitalData = admin.getTempData('t_hospital'); if (hospitalData != null) { @@ -422,9 +500,11 @@ }); } 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 : ""; + // console.log(hospitalProvince + " " + hospitalCity + " " +hospitalArea) + $("#hospitalAreas").val(hospitalProvince + " " + hospitalCity + " " + hospitalArea); //装载产品数据 table.render({ @@ -539,63 +619,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 +687,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 +701,8 @@ if (!strUtil.isEmpty(obj.data.id)) { delTempDataById(obj.data.id); obj.del(); + //将自定义的数量赋值 + zidingyiNum() } } }); @@ -656,16 +744,39 @@ 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)){ + console.log(contractEndTime,"contractEndTime") + console.log(data.endTime,"data.endTimedata.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 +787,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; } } @@ -773,10 +899,25 @@ form.on('submit(recharge-form-submit)', function (data) { if (!isRun) { layer.load(2); + debugger 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; @@ -798,17 +939,19 @@ $.each(listData, function (index, item) { var detailData = { orderId: orderData.id + '', - proId: item.termType==null? item.id + '': "0", + 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, + 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':"" + 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); }) @@ -862,15 +1005,24 @@ time: 1000 }); } - } else { - layer.msg("请先将要充值的产品加入待充值!", { - icon: 2, - time: 2000 - }); - } + // } 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