From f6d390988b1c9b5695338214e95ff0d6da70b300 Mon Sep 17 00:00:00 2001 From: zhaoxiaohao <279049017@qq.com> Date: Wed, 25 Nov 2020 16:34:41 +0800 Subject: [PATCH] 完善功能 --- kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/ProductOrderDetailController.java | 9 kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/recharge.html | 143 ++++++++++++++++++----- kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/contract.html | 3 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/ProductOrderDetail.java | 16 + kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java | 13 ++ kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/rechargeupdate.html | 131 +++++++++++++++++---- 6 files changed, 244 insertions(+), 71 deletions(-) diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/ProductOrderDetail.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/ProductOrderDetail.java index 960b12f..633d2fa 100644 --- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/ProductOrderDetail.java +++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/ProductOrderDetail.java @@ -70,15 +70,21 @@ @NotEmpty(message = "是否删除,1删除,0未删除不能为空") private Boolean isDel; /** + * 产品的读片总量 + */ + @NotNull(message = "产品的读片总量") + private Integer orderAilightCount; + /** + * 产品的报告总量 + */ + @NotNull(message = "产品的报告总量") + private Integer orderRecordCount; + /** * 读片量 */ @NotNull(message = "读片量不能为空") private Integer ailightCount; - /** - * 总共的读片量 - */ - @NotNull(message = "总共的读片量不能为空") - private Integer count; + /** * 报告量 */ diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java index b58b730..98ec8aa 100644 --- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java +++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java @@ -13,8 +13,10 @@ import com.kidgrow.oprationcenter.model.ConsumptionRecord; import com.kidgrow.oprationcenter.model.ProductOrder; import com.kidgrow.oprationcenter.model.ProductOrderDetail; +import com.kidgrow.oprationcenter.model.SysProduct; import com.kidgrow.oprationcenter.service.IProductOrderDetailService; import com.kidgrow.oprationcenter.service.IProductOrderService; +import com.kidgrow.oprationcenter.service.ISysProductService; import com.kidgrow.oprationcenter.vo.*; import com.kidgrow.redis.util.RedisUtils; import com.kidgrow.usercenter.feign.SysDoctorService; @@ -52,6 +54,8 @@ @Autowired private IProductOrderService iProductOrderService; @Autowired + private ISysProductService productService; + @Autowired private RedisUtils redisUtils; /** * 列表 @@ -62,6 +66,15 @@ public PageResult<ProductOrderDetail> findList(Map<String, Object> params){ Page<ProductOrderDetail> page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit")); List<ProductOrderDetail> list = baseMapper.findList(page, params); + for (ProductOrderDetail productOrderDetail : list) { + if(productOrderDetail.getOrderAilightCount()==null){ + SysProduct byId = productService.getById(productOrderDetail.getProId()); + if(byId!=null){ + productOrderDetail.setOrderAilightCount(byId.getAilightCount()); + productOrderDetail.setOrderRecordCount(byId.getRecordCount()); + } + } + } return PageResult.<ProductOrderDetail>builder().data(list).code(0).count(page.getTotal()).build(); } /** diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/ProductOrderDetailController.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/ProductOrderDetailController.java index cff6d71..8405bf2 100644 --- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/ProductOrderDetailController.java +++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/ProductOrderDetailController.java @@ -4,6 +4,7 @@ import com.kidgrow.common.constant.CommonConstant; import com.kidgrow.common.controller.BaseController; import com.kidgrow.common.model.*; +import com.kidgrow.common.utils.DateUtils; import com.kidgrow.oprationcenter.model.HospitalInfo; import com.kidgrow.oprationcenter.model.ProductOrder; import com.kidgrow.oprationcenter.model.ProductOrderDetail; @@ -451,13 +452,13 @@ map.put("enabled",true); map.put("is_del",false); List<ProductOrder> productOrders = productOrderService.listByMap(map); - IntSummaryStatistics intSummaryStatistics = productOrders.stream().mapToInt((x) -> x.getContractNum()).summaryStatistics(); + IntSummaryStatistics intSummaryStatistics = productOrders.stream().filter(a-> a.getContractNum()!=null).mapToInt((x) -> x.getContractNum()).summaryStatistics(); Date minDate = productOrders.stream().map(e -> e.getContractBeginTime()).min((e1, e2) -> e1.compareTo(e2)).get(); Date manDate = productOrders.stream().map(e -> e.getContractEndTime()).max((e1, e2) -> e1.compareTo(e2)).get(); map = new HashMap<>(); - map.put("count",intSummaryStatistics.getSum()); - map.put("beginTime",minDate); - map.put("endTime",manDate); + map.put("count", intSummaryStatistics.getSum()); + map.put("beginTime",DateUtils.formatDate(minDate,"yyyy-MM-dd HH:mm:ss")); + map.put("endTime",DateUtils.formatDate(manDate,"yyyy-MM-dd HH:mm:ss")); return ResultBody.ok().data(map); } } diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/contract.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/contract.html index 8613f39..cdf70b6 100644 --- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/contract.html +++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/contract.html @@ -85,6 +85,9 @@ }, { field: 'contractTime', width: 120, title: '合同签订时间', templet: function (d) { + if(d.contractTime==null){ + return new Date(d.createTime).dateFormat("yyyy/MM/dd"); + } return new Date(d.contractTime).dateFormat("yyyy/MM/dd"); } }, 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 054b7d8..3dd58bb 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,22 +80,22 @@ <div class="layui-row"> <div class="layui-col-sm6"> <label class="layui-form-label">当前软件服务周期:</label> - <div class="layui-col-sm4" style="margin-right: 30px;"> + <div class="layui-input-block"> <input autocomplete="off" name="contractBeginTime_not" disabled id="contractBeginTime_not" type="text" placeholder="请输开始时间" class="layui-input" - maxlength="50" /> - </div> - <div class="layui-col-sm4 "> + maxlength="50" readonly + style="border: none; display: inline-block;width: 40%;" /> <input autocomplete="off" name="contractEndTime_not" disabled id="contractEndTime_not" type="text" placeholder="请输入结束时间" class="layui-input" - maxlength="50" /> + maxlength="50" readonly + style="border: none; 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_not" id="contractNum_not" disabled - type="text" class="layui-input" maxlength="50" /> + type="text" class="layui-input" maxlength="50" readonly style="border: none;" /> </div> </div> <!-- <div class="layui-col-sm6"> @@ -114,16 +116,13 @@ 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"> @@ -157,7 +156,7 @@ <label class="layui-form-label">充值名称:</label> <div class="layui-input-inline"> <input autocomplete="off" id="custom_proName" type="text" class="layui-input" - maxlength="50" value="1000" lay-verify="required" required /> + maxlength="50" lay-verify="required" required /> </div> </div> </div> @@ -169,8 +168,7 @@ <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" lay-verify="required" required /> </div> </div> <div class="layui-col-sm6"> @@ -182,12 +180,11 @@ </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="radio" 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" /> @@ -200,7 +197,8 @@ </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> @@ -260,7 +258,7 @@ //充值进行中 var isRun = false; //执行一个laydate实例 - laydate.render({ + var contractBeginTime= laydate.render({ elem: '#contractBeginTime', //指定元素 done: function (value, date, endDate) { var startDate = new Date(value).getTime(); @@ -268,17 +266,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") + } + } } }); @@ -288,8 +317,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(); @@ -299,8 +330,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(); @@ -408,8 +441,34 @@ ] }); } + //获取软件的服务周期 + var getCycleTime = function (departmentId) { + 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") + } + $("#contractNum_not").val(data.data.count); + } - + }, "get") + } //回显医院基本数据 let hospitalData = admin.getTempData('t_hospital'); @@ -615,6 +674,7 @@ tempDataList(data); waitRecharge(); }) + getCycleTime(hospitalData.departmentId); } //待充值列表功能操作 table.on('tool(product-table-temp)', function (obj) { @@ -663,10 +723,13 @@ 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; + } } if (!strUtil.isEmpty(data.beginTime) && !strUtil.isEmpty(data.endTime)) { if (dateUtil.compareDate(data.endTime, data.beginTime)) { @@ -816,7 +879,8 @@ ' 00:00:00' : "", proEndtime: item.endTime != "" ? item.endTime + ' 23:59:59' : "", - count: item.ailightCount + orderAilightCount: item.ailightCount, + orderRecordCount: item.recordCount != null ? item.recordCount : 0, }; listDetailData.push(detailData); }) @@ -881,4 +945,13 @@ } }); }); -</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 diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/rechargeupdate.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/rechargeupdate.html index 04662e6..5deb8e4 100644 --- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/rechargeupdate.html +++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/rechargeupdate.html @@ -91,9 +91,9 @@ </div> --> <div class="layui-input-block"> <input autocomplete="off" name="contractBeginTime" id="contractBeginTime" - type="text" placeholder="请输开始时间" class="layui-input" readonly + type="text" placeholder="请输开始时间" disabled class="layui-input" readonly style="border: none; margin-top:-10px;display: inline-block;width: 46%;" /> - <input autocomplete="off" name="contractEndTime" id="contractEndTime" type="text" + <input autocomplete="off" name="contractEndTime" disabled id="contractEndTime" type="text" placeholder="请输入结束时间" class="layui-input" readonly style="border: none; margin-top:-10px;display: inline-block;width: 46%;" /> </div> @@ -150,7 +150,7 @@ <label class="layui-form-label">充值名称:</label> <div class="layui-input-inline"> <input autocomplete="off" id="custom_proName" type="text" class="layui-input" - maxlength="50" value="1000" lay-verify="required" required /> + maxlength="50" lay-verify="required" required /> </div> </div> </div> @@ -162,8 +162,8 @@ <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" lay-verify="required" + required /> </div> </div> <div class="layui-col-sm6"> @@ -175,12 +175,10 @@ </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="radio" id="termType" name="termType" value="true" checked title="期限限制" /> </div> - </div> - <div class="layui-col-sm6"> <div class="layui-col-sm4" style="margin-right: 30px;"> <input autocomplete="off" id="custom_beginTime" type="text" placeholder="请输开始时间" class="layui-input" maxlength="50" /> @@ -193,10 +191,11 @@ </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> @@ -225,7 +224,7 @@ </form> <!-- 表格操作列 --> <script type="text/html" id="product-tpl-bar-now"> - {{# if (d.ailightCount !=d.count){}} + {{# if (d.ailightCount !=d.orderAilightCount){}} {{# if (d.enabled){}} <a class="layui-btn layui-btn-xs" lay-event="order_detail_enable">禁用</a> {{# } else { }} @@ -270,7 +269,7 @@ //充值进行中 var isRun = false; //执行一个laydate实例 - laydate.render({ + var contractBeginTime= laydate.render({ elem: '#contractBeginTime', //指定元素 done: function (value, date, endDate) { var startDate = new Date(value).getTime(); @@ -278,17 +277,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") + } + } } }); @@ -298,8 +328,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(); @@ -309,8 +341,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(); @@ -448,8 +482,11 @@ field: 'ailightCount', width: 100, align: 'center', title: '读片剩余量' }, { - field: 'count', width: 100, align: 'center', title: '读片使用量', templet: function (d) { - return d.count - d.ailightCount; + field: 'orderAilightCount', width: 100, align: 'center', title: '读片使用量', templet: function (d) { + // if(d.orderAilightCount==null){ + // return ""; + // } + return d.orderAilightCount - d.ailightCount; } }, { @@ -478,10 +515,12 @@ //如果是直接赋值的方式,res即为:{data: [], count: 99} data为当前页数据、count为数据总长度 var num = 0; 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); @@ -501,6 +540,7 @@ admin.putTempData("t_tempProduct", ""); } } + //获取医院的地址 var getHospitalAddress=function(id){ admin.req('api-user/syshospital/' + id, {}, function (data) { @@ -514,6 +554,35 @@ },"get") } + //获取软件的服务周期 + 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")); + $("#contractNum").val(data.data.count); + 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") + } + } + + },"get") + } + //回显医院基本数据 let hospitalData = admin.getTempData('t_hospital'); @@ -534,6 +603,9 @@ } else { hospitalData.contractBeginTime = layui.util.toDateString(hospitalData.contractBeginTime, 'yyyy-MM-dd') hospitalData.contractEndTime = layui.util.toDateString(hospitalData.contractEndTime, 'yyyy-MM-dd') + delete hospitalData.contractBeginTime + delete hospitalData.contractEndTime + delete hospitalData.contractNum form.val('recharge-form', hospitalData); getHospitalAddress(hospitalData.hospitalId); //装载产品数据 @@ -722,6 +794,7 @@ $("#submit").click(function () { submit(); }) + getCycleTime(hospitalData.departmentId); } //已充值列表 功能操作 table.on('tool(product-table-now)', function (obj) { @@ -804,10 +877,13 @@ 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; + } } if (!strUtil.isEmpty(data.beginTime) && !strUtil.isEmpty(data.endTime)) { if (dateUtil.compareDate(data.endTime, data.beginTime)) { @@ -926,7 +1002,8 @@ ' 00:00:00' : "", proEndtime: item.endTime != "" ? item.endTime + ' 23:59:59' : "", - count: item.ailightCount + orderAilightCount: item.ailightCount, + orderRecordCount: item.recordCount != null ? item.recordCount : 0, }; listDetailData.push(detailData); }) -- Gitblit v1.8.0