<form id="recharge-form" lay-filter="recharge-form" 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 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 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 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 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 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 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 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 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>
|
<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>
|
</div>
|
</div>
|
</div>
|
</div>
|
|
<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 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 class="layui-form-item model-form-footer" style="margin-right: 20px;">
|
<button class="layui-btn layui-btn-primary" ew-event="closeDialog" type="button">取消</button>
|
<button class="layui-btn permissions" permissions="product-rechage" lay-filter="recharge-form-submit"
|
lay-submit>确定充值</button>
|
</div>
|
<input type="hidden" value="" id="departmentId" name="departmentId" />
|
<input type="hidden" value="" id="hospitalId" name="hospitalId" />
|
<input type="hidden" value="" id="orgId" name="orgId" />
|
<input type="hidden" value="" id="serverUserId" name="serverUserId" />
|
</form>
|
<!-- 表格操作列 -->
|
<script type="text/html" id="product-tpl-bar">
|
<a class="layui-btn layui-btn-xs" lay-event="pay">加入待充值</a>
|
</script>
|
<!-- 表格操作列 -->
|
<script type="text/html" id="product-tpl-bar-temp">
|
<a class="layui-btn layui-btn-danger" lay-event="del">移除</a>
|
</script>
|
<!-- 表格状态列 -->
|
<script type="text/html" id="product-tpl-isShare">
|
<input type="checkbox" lay-filter="product-tpl-isShare" value="{{d.id}}" lay-skin="switch" lay-text="共享|不共享" />
|
</script>
|
<script>
|
layui.use(['form', 'table', 'util', 'config', 'laydate', 'jquery', 'admin'], function () {
|
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: '#contractTime' //指定元素
|
});
|
laydate.render({
|
elem: '#contractBeginTime_not' //指定元素
|
});
|
laydate.render({
|
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", "");
|
//待充值列表
|
var waitRecharge = function () {
|
table.render({
|
elem: '#product-table-temp',
|
data: admin.getTempData("t_tempProduct"),
|
page: false,
|
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;
|
}
|
return "";
|
}
|
},
|
{
|
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: '操作'
|
}
|
]
|
]
|
});
|
}
|
//获取软件的服务周期
|
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();
|
data.beginTime = (!strUtil.isEmpty(data.beginTime)) ? data.beginTime : obj.tr.find(
|
"td[data-field='beginTime'] div").text();
|
data.endTime = (!strUtil.isEmpty(data.endTime)) ? data.endTime : obj.tr.find(
|
"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;
|
}
|
} else {
|
layer.msg("时间格式有误!");
|
return false;
|
}
|
}
|
});
|
//将自定义的数量重新赋值
|
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 //得到修改后的值
|
,
|
data = obj.data //得到所在行所有键值
|
,
|
field = obj.field; //得到字段
|
if (dateUtil.isDate(value)) { } else {
|
layer.msg("输入的日期格式无效!");
|
}
|
});
|
//自动计算时间
|
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 {
|
proTime = strUtil.isEmpty(proTime) ? 0 : proTime;
|
proTimeUnit = strUtil.isEmpty(proTimeUnit) ? 0 : proTimeUnit;
|
switch (proTimeUnit) {
|
case 0:
|
return new Date(now.setDate(now.getDate() + proTime)).dateFormat("yyyy-MM-dd");
|
break;
|
case 1:
|
return new Date(now.setMonth(now.getMonth() + proTime)).dateFormat(
|
"yyyy-MM-dd");
|
break;
|
case 2:
|
return new Date(now.setFullYear(now.getFullYear() + proTime)).dateFormat(
|
"yyyy-MM-dd");
|
break;
|
}
|
}
|
}
|
// 产品待充值数据
|
var tempDataList = function (data) {
|
if (!strUtil.isEmpty(data)) {
|
var listData = admin.getTempData("t_tempProduct");
|
if (strUtil.isEmpty(listData)) {
|
listData = new Array();
|
}
|
// $.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 {
|
admin.putTempData("t_tempProduct", "");
|
}
|
}
|
//移除指定数据
|
var delTempDataById = function (id) {
|
if (!strUtil.isEmpty(id)) {
|
var listData = admin.getTempData("t_tempProduct");
|
$.each(listData, function (index, value) {
|
if (value.id === id) {
|
//移除
|
listData.splice(index, 1);
|
return false;
|
}
|
})
|
admin.putTempData("t_tempProduct", listData);
|
}
|
}
|
form.on('submit(recharge-form-submit)', function (data) {
|
if (!isRun) {
|
layer.load(2);
|
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) {
|
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";
|
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>
|
<style>
|
.layui-form-label {
|
width: 140px;
|
}
|
|
.layui-input-block {
|
margin-left: 160px;
|
}
|
</style>
|