From 0d06d4e76f69984cb832c92b9d0733f055e338ed Mon Sep 17 00:00:00 2001
From: dougang <78125310@kidgrow.com>
Date: Tue, 13 Apr 2021 16:02:35 +0800
Subject: [PATCH] 修改页面细节
---
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/recharge.html | 1187 +++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 878 insertions(+), 309 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 697168d..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,128 +1,237 @@
-<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">
- <li class="layui-this">合同信息</li>
- </ul>
- <div class="layui-tab-content" style="margin: 0px;">
- <div class="layui-tab-item layui-show">
- <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;">医院名称</label>
- <div class="layui-input-block">
- <input name="hospitalName" id="hospitalName" type="text" class="layui-input"
- style="border: none; margin-top:-10px" readonly />
+ <div class="layui-tab">
+ <ul class="layui-tab-title">
+ <li class="layui-this">合同信息</li>
+ </ul>
+ <div class="layui-tab-content" style="margin: 0px 0px -10px 0px;">
+ <div class="layui-tab-item layui-show">
+ <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;">医院名称</label>
+ <div class="layui-input-block">
+ <input name="hospitalName" id="hospitalName" type="text" class="layui-input"
+ style="border: none; margin-top:-10px" readonly />
+ </div>
</div>
- </div>
- <div class="layui-col-sm3">
- <label class="layui-form-label" style="padding: 0;">科室名称</label>
- <div class="layui-input-block">
- <input name="departmentName" id="departmentName" style="border: none; margin-top:-10px"
- readonly class="layui-input" />
+ <div class="layui-col-sm3">
+ <label class="layui-form-label" style="padding: 0;">科室名称</label>
+ <div class="layui-input-block">
+ <input name="departmentName" id="departmentName"
+ style="border: none; margin-top:-10px" readonly class="layui-input" />
+ </div>
</div>
- </div>
- <div class="layui-col-sm2">
- <label class="layui-form-label" style="padding: 0;">服务人员</label>
- <div class="layui-input-block">
- <input name="serverUserName" id="serverUserName"
- style="border: none; margin-top:-10px;width: 120px;" readonly class="layui-input" />
+ <div class="layui-col-sm2">
+ <label class="layui-form-label" style="padding: 0;">服务人员</label>
+ <div class="layui-input-block">
+ <input name="serverUserName" id="serverUserName"
+ style="border: none; margin-top:-10px;width: 120px;" readonly
+ class="layui-input" />
+ </div>
</div>
</div>
</div>
- </div>
- <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>
- <input name="hospitalAreas" id="hospitalAreas" type="text"
- style="border: none; width: 250px; margin-top:-10px" readonly class="layui-input" />
- </div>
- <div class="layui-col-sm3">
- <label class="layui-form-label" style="padding: 0;">联系电话</label>
- <div class="layui-input-block">
- <input name="hospitalTel" id="hospitalTel" type="text" class="layui-input"
- style="border: none; margin-top:-10px" readonly />
+ <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 20px 0 0;">地区</label>
+ <input name="hospitalAreas" id="hospitalAreas" type="text"
+ style="border: none; width: 250px; margin-top:-10px" readonly class="layui-input" />
</div>
- </div>
- <div class="layui-col-sm2">
- <label class="layui-form-label" style="padding: 0;">联系人</label>
- <div class="layui-input-block">
- <input name="hospitalLink" type="text" class="layui-input"
- style="border: none; margin-top:-10px;width: 120px;" readonly />
+ <div class="layui-col-sm3">
+ <label class="layui-form-label" style="padding: 0;">联系电话</label>
+ <div class="layui-input-block">
+ <input name="hospitalTel" id="hospitalTel" type="text" class="layui-input"
+ style="border: none; margin-top:-10px" readonly />
+ </div>
+ </div>
+ <div class="layui-col-sm2">
+ <label class="layui-form-label" style="padding: 0;">联系人</label>
+ <div class="layui-input-block">
+ <input name="hospitalLink" type="text" class="layui-input"
+ style="border: none; margin-top:-10px;width: 120px;" readonly />
+ </div>
</div>
</div>
</div>
- </div>
- <div class="layui-form-item" style="padding: 0; margin-bottom: 0px;">
- <div class="layui-row">
- <div class="layui-col-sm4">
- <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" />
+ <div class="layui-form-item" style="padding: 0; margin-bottom: 0px;">
+ <div class="layui-row">
+ <div class="layui-col-sm6">
+ <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"
+ style="display: inline-block;width: 80%;" />
+ </div>
</div>
- </div>
- <div class="layui-col-sm3">
- <label class="layui-form-label">合同编号</label>
- <div class="layui-input-block">
- <input name="contractNo" id="contractNo" type="text" class="layui-input" maxlength="50"
- style="width: 185px;" autocomplete="off" lay-verify="required" required />
+ <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
+ style="display: inline-block;width: 80%;" />
+ </div>
</div>
</div>
</div>
- </div>
- <div class="layui-form-item" style="margin: 10px 0px 0px 0px;">
- <div class="layui-row">
- <div class="layui-col-sm4">
- <label class="layui-form-label" style="padding: 10px 30px 0 0px;">开始日期</label>
- <input autocomplete="off" name="contractBeginTime" id="contractBeginTime" type="text"
- class="layui-input" style="width: 182px;" maxlength="50" lay-verify="required"
- required />
+ <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="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" readonly style="border: none;" />
+ </div>
+ </div>
+ <!-- <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" required />
+ </div>
+ </div> -->
</div>
- <div class="layui-col-sm4">
- <label class="layui-form-label">截止日期</label>
- <div class="layui-input-block">
- <input autocomplete="off" name="contractEndTime" id="contractEndTime" type="text"
- class="layui-input" maxlength="50" lay-verify="required" required />
+ </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>
+ <!-- <input autocomplete="off" name="contractBeginTime" id="contractBeginTime" type="text"
+ class="layui-input" maxlength="50" lay-verify="required"
+ required /> -->
+ <!-- <input autocomplete="off" name="contractEndTime" id="contractEndTime" type="text"
+ class="layui-input" maxlength="50" lay-verify="required" required /> -->
+ <div class="layui-input-block">
+ <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%;" />
+ </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,'0') " type="text" value="0"
+ class="layui-input" maxlength="50" lay-verify="required" required />
+ </div>
</div>
</div>
- <div class="layui-col-sm4">
- <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" required />
+ </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>
</div>
</div>
</div>
</div>
- </div>
- <div class="layui-tab" style="margin: 0px;">
- <ul class="layui-tab-title">
- <li class="layui-this">产品信息</li>
- </ul>
- <div class="layui-tab-content" style="margin: 0px;">
- <div class="layui-tab-item layui-show" style="padding-top: 0px;">
- <table class="layui-table" id="product-table" lay-filter="product-table" style="margin: 0px;"></table>
+ <div class="layui-tab" style="margin: 0px;">
+ <ul class="layui-tab-title">
+ <li class="layui-this">套餐列表</li>
+ <li>自定义充值</li>
+ </ul>
+ <div class="layui-tab-content" style="margin: -10px 0px -10px 0px;">
+ <div class="layui-tab-item layui-show" style="padding-top: 0px;">
+ <table class="layui-table" id="product-table" lay-filter="product-table" style="margin: 0px;">
+ </table>
+ </div>
+ <div class="layui-tab-item">
+ <div class="layui-form-item" style="margin: 10px 0px 0px 0px;">
+ <div class="layui-row">
+ <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" />
+ </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-inline">
+ <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="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-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 class="layui-col-sm4" style="margin-right: 30px;">
+ <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" />
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <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-tab" style="margin: 0px;">
- <ul class="layui-tab-title">
- <li class="layui-this">待充值产品</li>
- </ul>
- <div class="layui-tab-content">
- <div class="layui-tab-item layui-show" style="padding-top: 0px;">
- <table class="layui-table" id="product-table-temp" lay-filter="product-table-temp" style="margin: 0px;">
- </table>
+ <div class="layui-tab" style="margin: 0px;">
+ <ul class="layui-tab-title">
+ <li class="layui-this">待充值产品</li>
+ </ul>
+ <div class="layui-tab-content" style="margin: -10px 0px -10px 0px;">
+ <div class="layui-tab-item layui-show" style="padding-top: 0px;">
+ <table class="layui-table" id="product-table-temp" lay-filter="product-table-temp"
+ style="margin: 0px;">
+ </table>
+ </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>
@@ -147,28 +256,181 @@
<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', 'admin'], function () {
+ layui.use(['form', 'table', 'util', 'config', 'laydate', 'jquery', 'admin'], function () {
var form = layui.form;
var table = layui.table;
var config = layui.config;
var layer = layui.layer;
var util = layui.util;
var admin = layui.admin;
+ // element=layui.element;
var $ = layui.jquery;
var laydate = layui.laydate;
+ var contractNum = 0;
+ var contractBeginTime_cheng = "";
+ var contractEndTime_cheng = "";
+
//充值进行中
- var isRun=false;
+ var isRun = false;
//执行一个laydate实例
+ 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('结束时间不能小于或等于开始时间');
+ 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
+ }
+ }
+ }
+ });
+ 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('结束时间不能小于或等于开始时间');
+ 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: '#contractBeginTime' //指定元素
+ elem: '#contractTime' //指定元素
});
laydate.render({
- elem: '#contractEndTime' //指定元素
+ elem: '#contractBeginTime_not' //指定元素
});
laydate.render({
- elem: '#contractTime', //指定元素
- value: new Date().dateFormat("yyyy-MM-dd")
+ elem: '#contractEndTime_not' //指定元素
+ });
+ 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();
+ if (endTime < startDate) {
+ layer.msg('结束时间不能小于开始时间');
+ $('#custom_beginTime').val($('#custom_endTime').val());
+ }
+ }
+ });
+ 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();
+ if (endTime < startDate) {
+ layer.msg('结束时间不能小于开始时间');
+ $('#custom_endTime').val($('#custom_beginTime').val());
+ }
+ }
});
//现将临时数据清理
admin.putTempData("t_tempProduct", "");
@@ -181,126 +443,14 @@
cellMinWidth: 100,
cols: [
[{
- field: 'proName',
- width: 320,
- title: '产品名称',
- align: 'center',
- fixed: 'left'
- },
- {
- field: 'proType',
- align: 'center',
- width: 100,
- templet: function (d) {
- if (d.proType === 0)
- return "试用"
- else
- return "正式"
- },
- title: '类型'
- },
- {
- field: 'proTime',
- width: 100,
- title: '时长',
- align: 'center',
- templet: function (d) {
- switch (d.proTimeUnit) {
- case 0:
- return d.proTime + "天";
- break;
- case 1:
- return d.proTime + "月";
- break;
- case 2:
- return d.proTime + "年";
- break;
- }
- }
- },
- {
- field: 'recordCount',
- width: 110,
- align: 'center',
- title: '报告数'
- },
- {
- field: 'ailightCount',
- width: 100,
- align: 'center',
- title: '读片量'
- },
- {
- field: 'beginTime',
- align: 'center',
- width: 120,
- title: '开始日期'
- },
- {
- field: 'endTime',
- align: 'center',
- width: 120,
- title: '结束日期'
- },
- {
- field: 'isShare',
- fixed: 'right',
- align: 'center',
- width: 100,
- templet: function (d) {
- if (d.isShare == 0)
- return "不共享"
- else
- return "共享"
- },
- title: '共享'
- },
- {
- field: 'id',
- fixed: 'right',
- align: 'center',
- width: 80,
- toolbar: '#product-tpl-bar-temp',
- title: '操作'
- }
- ]
- ]
- });
- }
-
- //回显医院基本数据
- let hospitalData = admin.getTempData('t_hospital');
- if (hospitalData != null) {
- form.val('recharge-form', hospitalData);
- $("#hospitalAreas").val(hospitalData.hospitalProvince + " " + hospitalData.hospitalCity + " " +
- hospitalData.hospitalArea);
- }
- //装载产品数据
- table.render({
- elem: '#product-table',
- url: config.base_server + 'api-opration/product',
- method: 'GET',
- cellMinWidth: 50,
- headers: {
- 'Authorization': 'Bearer ' + config.getToken().access_token
- },
- page: false,
- where: {
- is_del: 0,
- enabled: 1
- },
- cols: [
- [{
field: 'proName',
- sort: true,
- width: 300,
+ width: 330,
title: '产品名称',
align: 'center',
fixed: 'left'
},
{
field: 'proType',
- sort: true,
align: 'center',
width: 80,
templet: function (d) {
@@ -328,13 +478,8 @@
return d.proTime + "年";
break;
}
+ return "";
}
- },
- {
- field: 'recordCount',
- width: 100,
- align: 'center',
- title: '报告数'
},
{
field: 'ailightCount',
@@ -343,33 +488,34 @@
title: '读片量'
},
{
+ field: 'recordCount',
+ width: 100,
+ align: 'center',
+ title: '报告量'
+ },
+ {
field: 'beginTime',
align: 'center',
- width: 130,
- title: '开始日期',
- templet: function (d) {
- return getNowDate();
- },
- event: "date",
- edit: 'text'
+ width: 120,
+ title: '开始日期'
},
{
field: 'endTime',
align: 'center',
- width: 130,
- title: '结束日期',
- templet: function (d) {
- return getNowDate(d.proTime, d.proTimeUnit);
- },
- event: "date",
- edit: 'text'
+ width: 120,
+ title: '结束日期'
},
{
field: 'isShare',
fixed: 'right',
align: 'center',
width: 100,
- templet: '#product-tpl-isShare',
+ templet: function (d) {
+ if (d.isShare == 0)
+ return "不共享"
+ else
+ return "共享"
+ },
title: '共享'
},
{
@@ -377,28 +523,337 @@
fixed: 'right',
align: 'center',
width: 100,
- toolbar: '#product-tpl-bar',
+ toolbar: '#product-tpl-bar-temp',
title: '操作'
}
+ ]
]
- ],
- done: function (res) {
- permissionsInput(res, config);
- }
- });
+ });
+ }
+ //获取软件的服务周期
+ 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) {
+ admin.req('api-user/sysdepartment/getPayMes?departmentId=' + hospitalData.departmentId, {},
+ function (data) {
+ layer.closeAll('loading');
+ if (0 === data.code) {
+ queryData = data.data;
+ if (queryData === true) {
+ admin.finishPopupCenter();
+ layer.msg("当前科室开通了单次支付功能,不能进行充值业务!", {
+ icon: 3,
+ time: 5000
+ });
+ } else {
+ form.val('recharge-form', hospitalData);
+ 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({
+ elem: '#product-table',
+ url: config.base_server + 'api-opration/product/all',
+ method: 'GET',
+ cellMinWidth: 50,
+ headers: {
+ 'Authorization': 'Bearer ' + config.getToken().access_token
+ },
+ page: false,
+ where: {
+ is_del: 0,
+ enabled: 1
+ },
+ cols: [
+ [{
+ field: 'proName',
+ sort: true,
+ width: 330,
+ title: '产品名称',
+ align: 'center',
+ fixed: 'left'
+ },
+ {
+ field: 'proType',
+ sort: true,
+ align: 'center',
+ width: 80,
+ templet: function (d) {
+ if (d.proType === 0)
+ return "试用"
+ else
+ return "正式"
+ },
+ title: '类型'
+ },
+ {
+ field: 'proTime',
+ width: 100,
+ title: '时长',
+ align: 'center',
+ templet: function (d) {
+ switch (d.proTimeUnit) {
+ case 0:
+ return d.proTime + "天";
+ break;
+ case 1:
+ return d.proTime + "月";
+ break;
+ case 2:
+ return d.proTime + "年";
+ break;
+ }
+ }
+ },
+ {
+ field: 'ailightCount',
+ width: 100,
+ align: 'center',
+ title: '读片量'
+ },
+ {
+ field: 'recordCount',
+ width: 100,
+ align: 'center',
+ title: '报告量'
+ },
+ {
+ field: 'beginTime',
+ align: 'center',
+ width: 120,
+ title: '开始日期',
+ event: "date"
+ },
+ {
+ field: 'endTime',
+ align: 'center',
+ width: 120,
+ title: '结束日期',
+ event: "date"
+ },
+ {
+ field: 'isShare',
+ fixed: 'right',
+ align: 'center',
+ width: 100,
+ templet: '#product-tpl-isShare',
+ title: '共享'
+ },
+ {
+ field: 'id',
+ fixed: 'right',
+ align: 'center',
+ width: 100,
+ toolbar: '#product-tpl-bar',
+ title: '操作'
+ }
+ ]
+ ],
+ done: function (res) {
+ permissionsInput(res, config);
+ }
+ });
+ }
+ }
+ else {
+ admin.finishPopupCenter();
+ layer.msg("验证医院科室数据异常!", {
+ icon: 2,
+ time: 3000
+ });
+ }
+ }, 'get');
+ //报告数量事件
+ $("#contractNum").blur(function () {
+ if ($("#contractNum").val() < 0) {
+ layer.msg("输入的读片量大于0");
+ $("#contractNum").val(0)
+ return false;
+ }
+ var listData = admin.getTempData("t_tempProduct");
+ var listNum = 0;
+ if (!strUtil.isEmpty(listData)) {
+ listData.forEach(item => {
+ if (item.proType == 1) {
+ listNum += item.ailightCount;
+ }
+ })
+ }
+ if ($("#contractNum").val() < listNum) {
+ layer.msg("请先删除待充值套餐");
+ $("#contractNum").val(contractNum)
+ return false;
+ } 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();
+ }
+ var listData = admin.getTempData("t_tempProduct");
+ //添加一个id,删除用
+ var max = 0;
+ if (strUtil.isEmpty(listData)) {
+ listData = new Array();
+ }
+ listData.forEach(element => {
+ if (max < element.id) {
+ max = element.id
+ }
+ });
+ //判断待加入产品的总数是否大于合同的总数
+ var msg = isthenNum(parseInt(custom_ailightCount));
+ if (msg != null) {
+ layer.msg(msg);
+ return false;
+ }
+
+ var data = {
+ id: max + 1,
+ ailightCount: parseInt(custom_ailightCount),
+ beginTime: custom_beginTime,
+ endTime: custom_endTime,
+ isShare: custom_isShare,
+ proName: custom_proName,
+ proTime: "",
+ proType: 1,
+ termType: termType,
+ type: 1
+ }
+ tempDataList(data);
+ waitRecharge();
+ })
+ getCycleTime(hospitalData.departmentId);
+ }
//待充值列表功能操作
table.on('tool(product-table-temp)', function (obj) {
if (obj.event === "del") {
if (!strUtil.isEmpty(obj.data.id)) {
delTempDataById(obj.data.id);
obj.del();
+ //将自定义的数量赋值
+ zidingyiNum()
}
}
});
//单元格点击事件
table.on('tool(product-table)', function (obj) {
+ var newdata = {};
var data = obj.data;
var selectData = {};
+ if (obj.event === 'date') {
+ var field = $(this).data('field');
+ laydate.render({
+ elem: this.firstChild,
+ format: "yyyy-MM-dd",
+ show: true,
+ done: function (value, date) {
+ var nowTr = obj.tr;
+ if (field === "beginTime") {
+ var endTimes = getNowDate(data.proTime, data.proTimeUnit,
+ value);
+ newdata["beginTime"] = value;
+ newdata["endTime"] = endTimes;
+ } else if (field === "endTime") {
+ newdata["endTime"] = value;
+ var beginTimes = getNowDate((0 - parseInt(data.proTime)),
+ data.proTimeUnit, value);
+ newdata["beginTime"] = beginTimes;
+ }
+ obj.update(newdata);
+ }
+ });
+ }
if (obj.event === "pay") {
data.beginTime = obj.tr.find("td[data-field='beginTime'] input").val();
data.endTime = obj.tr.find("td[data-field='endTime'] input").val();
@@ -408,10 +863,38 @@
"td[data-field='endTime'] div").text();
data.isShare = obj.tr.find("td[data-field='isShare'] em").text();
data.isShare = (data.isShare.indexOf("不") == 0) ? 0 : 1;
+ //判断待加入产品的总数是否大于合同的总数
+ //试用产品不计算总数
+ 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;
@@ -422,6 +905,43 @@
}
}
});
+ //将自定义的数量重新赋值
+ 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";
+ }
+ 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;
+ }
+ }
+ }
//监听单元格编辑 判断日期格式
table.on('edit(product-table)', function (obj) {
var value = obj.value //得到修改后的值
@@ -429,13 +949,17 @@
data = obj.data //得到所在行所有键值
,
field = obj.field; //得到字段
- if (dateUtil.isDate(value)) {} else {
+ if (dateUtil.isDate(value)) { } else {
layer.msg("输入的日期格式无效!");
}
});
//自动计算时间
- var getNowDate = function (proTime, proTimeUnit) {
- var now = new Date();
+ var getNowDate = function (proTime, proTimeUnit, now) {
+ if (strUtil.isEmpty(now)) {
+ now = new Date();
+ } else {
+ now = dateUtil.strTurnDate(now);
+ }
if (strUtil.isEmpty(proTime) && strUtil.isEmpty(proTimeUnit)) {
return now.dateFormat("yyyy-MM-dd");
} else {
@@ -446,8 +970,8 @@
return new Date(now.setDate(now.getDate() + proTime)).dateFormat("yyyy-MM-dd");
break;
case 1:
- return new Date(now.setMonth(now.getMonth() + proTime + 1)).dateFormat(
- "yyyy-MM-dd");
+ return new Date(now.setMonth(now.getMonth() + proTime)).dateFormat(
+ "yyyy-MM-dd");
break;
case 2:
return new Date(now.setFullYear(now.getFullYear() + proTime)).dateFormat(
@@ -463,13 +987,13 @@
if (strUtil.isEmpty(listData)) {
listData = new Array();
}
- $.each(listData, function (index, value) {
- if (value.id === data.id) {
- //移除
- listData.splice(index, 1);
- return false;
- }
- })
+ // $.each(listData, function (index, value) {
+ // if (value.id === data.id) {
+ // //移除
+ // listData.splice(index, 1);
+ // return false;
+ // }
+ // })
listData.push(data);
admin.putTempData("t_tempProduct", listData);
} else {
@@ -491,19 +1015,39 @@
}
}
form.on('submit(recharge-form-submit)', function (data) {
- if(!isRun){
+ if (!isRun) {
layer.load(2);
- var listData = admin.getTempData("t_tempProduct");
- if (listData != null) {
+ var listData = admin.getTempData("t_tempProduct");
+ // 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;
+ 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.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');
@@ -513,59 +1057,75 @@
var listDetailData = new Array();
$.each(listData, function (index, item) {
var detailData = {
- orderId: orderData.id,
- proId: item.id,
+ orderId: orderData.id + '',
+ proId: item.termType == null ? item.id + '' : "0",
proType: item.proType,
proName: item.proName,
isShare: item.isShare,
- ailightCount: item.ailightCount,
- recordCount: item.recordCount,
- proBegintime: item.beginTime +
- ' 00:00:00',
- proEndtime: item.endTime +
- ' 23:59:59'
+ 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) {
- //提交订单数据
- 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: 3000
- }, function () {
- admin
- .finishPopupCenter();
- });
- } else {
- layer.msg(data.msg, {
- icon: 2,
- time: 1000
- });
- }
- }, 'POST');
- } else {
- layer.msg("充值数据异常为空!", {
- icon: 2,
- time: 1000
- });
- isRun=false;
+ 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;
+ isRun = false;
}
}, 'POST');
})
@@ -575,15 +1135,24 @@
time: 1000
});
}
- } else {
- layer.msg("请先将要充值的产品加入待充值!", {
- icon: 2,
- time: 2000
- });
- }
- layer.closeAll('loading');
- return false;
+ // } 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