From cd401c7bff93167815944bbb635881453cbe2bf4 Mon Sep 17 00:00:00 2001
From: houruijun <411269194@kidgrow.com>
Date: Tue, 25 Aug 2020 20:49:42 +0800
Subject: [PATCH] 1.统一调整了运营后台页面显示的不完整问题 2.查询可用套餐,增加按照开始时间排序

---
 kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/recharge.html |  446 ++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 291 insertions(+), 155 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 c5fc16b..697168d 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,5 +1,6 @@
 <form id="recharge-form" lay-filter="recharge-form" class="layui-form">
-    <div class="layui-tab" style="margin-top: 5px;">
+    <div style="overflow-y: auto; height:700px;">
+    <div class="layui-tab">
         <ul class="layui-tab-title">
             <li class="layui-this">合同信息</li>
         </ul>
@@ -67,7 +68,7 @@
                             <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" />
+                                    style="width: 185px;" autocomplete="off"  lay-verify="required" required />
                             </div>
                         </div>
                     </div>
@@ -122,9 +123,11 @@
             </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>
+        <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" />
@@ -141,7 +144,7 @@
 </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="共享|不共享"/>
+    <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 () {
@@ -154,9 +157,11 @@
         var $ = layui.jquery;
         var laydate = layui.laydate;
 
+        //充值进行中
+        var isRun=false;
         //执行一个laydate实例
         laydate.render({
-            elem: '#contractBeginTime'//指定元素
+            elem: '#contractBeginTime' //指定元素
         });
         laydate.render({
             elem: '#contractEndTime' //指定元素
@@ -173,19 +178,145 @@
                 elem: '#product-table-temp',
                 data: admin.getTempData("t_tempProduct"),
                 page: false,
-                height: '120px',
-                cols: [[
-                    { field: 'proName', width: 320, title: '产品名称', align: 'center', fixed: 'left' },
+                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,
+                        title: '产品名称',
+                        align: 'center',
+                        fixed: 'left'
+                    },
                     {
-                        field: 'proType', align: 'center', width: 100, templet: function (d) {
+                        field: 'proType',
+                        sort: true,
+                        align: 'center',
+                        width: 80,
+                        templet: function (d) {
                             if (d.proType === 0)
                                 return "试用"
                             else
                                 return "正式"
-                        }, title: '类型'
+                        },
+                        title: '类型'
                     },
                     {
-                        field: 'proTime', width: 100, title: '时长', align: 'center', templet: function (d) {
+                        field: 'proTime',
+                        width: 100,
+                        title: '时长',
+                        align: 'center',
+                        templet: function (d) {
                             switch (d.proTimeUnit) {
                                 case 0:
                                     return d.proTime + "天";
@@ -199,84 +330,60 @@
                             }
                         }
                     },
-                    { field: 'recordCount', width: 110, align: 'center', title: '报告数' },
-                    { field: 'ailightCount', width: 100, align: 'center', title: '读片量' },
                     {
-                        field: 'beginTime', align: 'center', width: 120, title: '开始日期'
+                        field: 'recordCount',
+                        width: 100,
+                        align: 'center',
+                        title: '报告数'
                     },
                     {
-                        field: 'endTime', align: 'center', width: 120, title: '结束日期'
+                        field: 'ailightCount',
+                        width: 100,
+                        align: 'center',
+                        title: '读片量'
                     },
                     {
-                        field: 'isShare', fixed: 'right', align: 'center', width: 100, templet: function (d) {
-                            if (d.isShare == 0)
-                                return "不共享"
-                            else
-                                return "共享"
-                        }, title: '共享'
+                        field: 'beginTime',
+                        align: 'center',
+                        width: 130,
+                        title: '开始日期',
+                        templet: function (d) {
+                            return getNowDate();
+                        },
+                        event: "date",
+                        edit: 'text'
                     },
-                    { 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',
-            headers: { 'Authorization': 'Bearer ' + config.getToken().access_token },
-            page: false,
-            height: '300px',
-            where: { enabled: 1 },
-            cols: [[
-                { field: 'proName', sort: true, width: 300, 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: 'endTime',
+                        align: 'center',
+                        width: 130,
+                        title: '结束日期',
+                        templet: function (d) {
+                            return getNowDate(d.proTime, d.proTimeUnit);
+                        },
+                        event: "date",
+                        edit: 'text'
+                    },
+                    {
+                        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: '操作'
                     }
-                },
-                { field: 'recordCount', width: 100, align: 'center', title: '报告数' },
-                { field: 'ailightCount', width: 100, align: 'center', title: '读片量' },
-                {
-                    field: 'beginTime', align: 'center', width: 130, title: '开始日期', templet: function (d) {
-                        return getNowDate();
-                    }, event: "date", edit: 'text'
-                },
-                {
-                    field: 'endTime', align: 'center', width: 130, title: '结束日期', templet: function (d) {
-                        return getNowDate(d.proTime, d.proTimeUnit);
-                    }, event: "date", edit: 'text'
-                },
-                { 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);
+                ]
+            ],
+            done: function (res) {
+                permissionsInput(res, config);
             }
         });
         //待充值列表功能操作
@@ -295,22 +402,21 @@
             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.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
-                    ;
+                data.isShare = (data.isShare.indexOf("不") == 0) ? 0 : 1;
                 if (!strUtil.isEmpty(data.beginTime) && !strUtil.isEmpty(data.endTime)) {
                     if (dateUtil.compareDate(data.endTime, data.beginTime)) {
                         tempDataList(data);
                         waitRecharge();
-                    }
-                    else {
+                    } else {
                         layer.msg("结束时间必须大于开始时间!");
                         return false;
                     }
-                }
-                else {
+                } else {
                     layer.msg("时间格式有误!");
                     return false;
                 }
@@ -319,11 +425,11 @@
         //监听单元格编辑 判断日期格式
         table.on('edit(product-table)', function (obj) {
             var value = obj.value //得到修改后的值
-                , data = obj.data //得到所在行所有键值
-                , field = obj.field; //得到字段
-            if (dateUtil.isDate(value)) {
-            }
-            else {
+                ,
+                data = obj.data //得到所在行所有键值
+                ,
+                field = obj.field; //得到字段
+            if (dateUtil.isDate(value)) {} else {
                 layer.msg("输入的日期格式无效!");
             }
         });
@@ -332,8 +438,7 @@
             var now = new Date();
             if (strUtil.isEmpty(proTime) && strUtil.isEmpty(proTimeUnit)) {
                 return now.dateFormat("yyyy-MM-dd");
-            }
-            else {
+            } else {
                 proTime = strUtil.isEmpty(proTime) ? 0 : proTime;
                 proTimeUnit = strUtil.isEmpty(proTimeUnit) ? 0 : proTimeUnit;
                 switch (proTimeUnit) {
@@ -341,10 +446,12 @@
                         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 + 1)).dateFormat(
+                        "yyyy-MM-dd");
                         break;
                     case 2:
-                        return new Date(now.setFullYear(now.getFullYear() + proTime)).dateFormat("yyyy-MM-dd");
+                        return new Date(now.setFullYear(now.getFullYear() + proTime)).dateFormat(
+                            "yyyy-MM-dd");
                         break;
                 }
             }
@@ -365,8 +472,7 @@
                 })
                 listData.push(data);
                 admin.putTempData("t_tempProduct", listData);
-            }
-            else {
+            } else {
                 admin.putTempData("t_tempProduct", "");
             }
         }
@@ -385,69 +491,99 @@
             }
         }
         form.on('submit(recharge-form-submit)', function (data) {
-            layer.load(2);
+            if(!isRun){
+                layer.load(2);
             var listData = admin.getTempData("t_tempProduct");
             if (listData != null) {
                 if (data.field != null) {
-                    layer.confirm("确定要将待充值列表中的" + listData.length + "个产品充值给当前医院吗?", { btn: ["确定", "返回"] }, function () {
-                        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) {
-                                        layer.closeAll('loading');
-                                        if (data.code === 0) {
-                                            //现将临时数据清理
-                                            admin.putTempData("t_tempProduct", "");
-                                            layer.msg(data.msg, { icon: 1, time: 1000 }, function () {
-                                                admin.finishPopupCenter();
-                                            });
-                                        }
-                                        else {
-                                            layer.msg(data.msg, { icon: 2, time: 1000 });
-                                        }
-                                    }, 'POST');
+                    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;
                                 }
-                                else {
-                                    layer.msg("充值数据异常为空!", { icon: 2, time: 1000 });
-                                }
-                            }
-                            else {
-                                layer.msg(data.msg, { icon: 2, time: 1000 });
-                            }
-                        }, 'POST');
+                            }, 'POST');
                     })
+                } else {
+                    layer.msg("数据异常!", {
+                        icon: 2,
+                        time: 1000
+                    });
                 }
-                else {
-                    layer.msg("数据异常!", { icon: 2, time: 1000 });
-                }
-            }
-            else {
-                layer.msg("请先将要充值的产品加入待充值!", { icon: 2, time: 2000 });
+            } else {
+                layer.msg("请先将要充值的产品加入待充值!", {
+                    icon: 2,
+                    time: 2000
+                });
             }
             layer.closeAll('loading');
             return false;
+            }
         });
     });
 </script>
\ No newline at end of file

--
Gitblit v1.8.0