From c1170cbdf92d1299e71ec087783b849c9e869900 Mon Sep 17 00:00:00 2001
From: dougang <78125310@kidgrow.com>
Date: Wed, 20 Jan 2021 18:29:31 +0800
Subject: [PATCH] 兼容上传图片后缀大写问题
---
kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/recharge.html | 1028 +++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 785 insertions(+), 243 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 a5eb861..2c810d5 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>
@@ -58,43 +58,92 @@
</div>
<div class="layui-form-item" style="padding: 0; margin-bottom: 0px;">
<div class="layui-row">
- <div class="layui-col-sm4">
+ <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" />
+ maxlength="50" lay-verify="required" required autocomplete="off"
+ style="display: inline-block;width: 80%;" />
</div>
</div>
- <div class="layui-col-sm3">
+ <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" style="width: 185px;" autocomplete="off" lay-verify="required"
- required />
+ maxlength="50" autocomplete="off" lay-verify="required" required
+ style="display: inline-block;width: 80%;" />
</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>
- <div class="layui-col-sm4">
- <label class="layui-form-label">截止日期</label>
+ <div class="layui-col-sm6">
+ <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 />
+ <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-sm4">
+ <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>
+ <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>
+ <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>
@@ -105,12 +154,68 @@
<div class="layui-tab" style="margin: 0px;">
<ul class="layui-tab-title">
- <li class="layui-this">产品信息</li>
+ <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>
@@ -151,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;
//执行一个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", "");
@@ -185,118 +443,7 @@
cellMinWidth: 100,
cols: [
[{
- field: 'proName',
- width: 330,
- title: '产品名称',
- align: 'center',
- fixed: 'left'
- },
- {
- field: 'proType',
- 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: '开始日期'
- },
- {
- 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: 100,
- 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/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',
@@ -304,7 +451,6 @@
},
{
field: 'proType',
- sort: true,
align: 'center',
width: 80,
templet: function (d) {
@@ -332,6 +478,7 @@
return d.proTime + "年";
break;
}
+ return "";
}
},
{
@@ -350,22 +497,25 @@
field: 'beginTime',
align: 'center',
width: 120,
- title: '开始日期',
- event: "date"
+ title: '开始日期'
},
{
field: 'endTime',
align: 'center',
width: 120,
- title: '结束日期',
- event: "date"
+ title: '结束日期'
},
{
field: 'isShare',
fixed: 'right',
align: 'center',
width: 100,
- templet: '#product-tpl-isShare',
+ templet: function (d) {
+ if (d.isShare == 0)
+ return "不共享"
+ else
+ return "共享"
+ },
title: '共享'
},
{
@@ -373,21 +523,306 @@
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()
}
}
});
@@ -403,7 +838,7 @@
format: "yyyy-MM-dd",
show: true,
done: function (value, date) {
- var nowTr=obj.tr;
+ var nowTr = obj.tr;
if (field === "beginTime") {
var endTimes = getNowDate(data.proTime, data.proTimeUnit,
value);
@@ -428,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;
@@ -442,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 //得到修改后的值
@@ -449,7 +949,7 @@
data = obj.data //得到所在行所有键值
,
field = obj.field; //得到字段
- if (dateUtil.isDate(value)) {} else {
+ if (dateUtil.isDate(value)) { } else {
layer.msg("输入的日期格式无效!");
}
});
@@ -487,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 {
@@ -518,99 +1018,141 @@
if (!isRun) {
layer.load(2);
var listData = admin.getTempData("t_tempProduct");
+ // if (listData != null) {
+ var count = 0;
if (listData != null) {
- if (data.field != null) {
- layer.confirm("确定要将待充值列表中的" + listData.length + "个产品充值给当前医院的科室吗?", {
- btn: ["确定", "返回"]
- }, function () {
- 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";
- admin.req('api-opration/contract', JSON.stringify(data.field),
- function (data) {
- layer.closeAll('loading');
- if (data.code === 0) {
- var orderData = data.data;
- //处理订单明细数据
- var listDetailData = new Array();
- $.each(listData, function (index, item) {
- var detailData = {
- orderId: orderData.id,
- proId: item.id,
- 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'
- };
- 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;
- }
- } else {
- layer.msg(data.msg, {
- icon: 2,
- time: 1000
- });
- isRun = false;
- }
- }, 'POST');
- })
- } else {
- layer.msg("数据异常!", {
- icon: 2,
- time: 1000
- });
- }
- } else {
- layer.msg("请先将要充值的产品加入待充值!", {
- icon: 2,
- time: 2000
+ 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) {
+ var len = listData != null && listData.length > 0 ? listData.length : 0
+ layer.confirm("确定要将待充值列表中的" + len + "个产品充值给当前医院的科室吗?", {
+ btn: ["确定", "返回"]
+ }, function () {
+ 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.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');
+ if (data.code === 0) {
+ var orderData = data.data;
+ //处理订单明细数据
+ var listDetailData = new Array();
+ $.each(listData, function (index, item) {
+ var detailData = {
+ orderId: orderData.id + '',
+ 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,
+ 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) {
+ 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;
+ }
+ }, 'POST');
+ })
+ } else {
+ layer.msg("数据异常!", {
+ icon: 2,
+ time: 1000
+ });
+ }
+ // } 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