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