From c58a42aa1acc821e0c3e748de7205e58af6c350b Mon Sep 17 00:00:00 2001
From: houruijun <411269194@kidgrow.com>
Date: Tue, 01 Sep 2020 16:44:25 +0800
Subject: [PATCH] 1.修改充值页面,可支持修改起始结束时间 2.修改添加医院/医生页面,增加自动选择当前服务/销售人员 3.调整页面部分显示细节问题

---
 kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/recharge.html |  449 +++++++++++++++++++++++++++++--------------------------
 1 files changed, 238 insertions(+), 211 deletions(-)

diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/recharge.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/recharge.html
index 697168d..a5eb861 100644
--- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/recharge.html
+++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/recharge.html
@@ -1,128 +1,132 @@
 <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;">
-            <div class="layui-tab-item layui-show">
-                <div class="layui-form-item" style="padding: 0; margin-bottom: 0px;">
-                    <div class="layui-row">
-                        <div class="layui-col-sm5">
-                            <label class="layui-form-label" style="padding: 0;">医院名称</label>
-                            <div class="layui-input-block">
-                                <input name="hospitalName" id="hospitalName" type="text" class="layui-input"
-                                    style="border: none; margin-top:-10px" readonly />
+        <div class="layui-tab">
+            <ul class="layui-tab-title">
+                <li class="layui-this">合同信息</li>
+            </ul>
+            <div class="layui-tab-content" style="margin: 0px 0px -10px 0px;">
+                <div class="layui-tab-item layui-show">
+                    <div class="layui-form-item" style="padding: 0; margin-bottom: 0px;">
+                        <div class="layui-row">
+                            <div class="layui-col-sm5">
+                                <label class="layui-form-label" style="padding: 0;">医院名称</label>
+                                <div class="layui-input-block">
+                                    <input name="hospitalName" id="hospitalName" type="text" class="layui-input"
+                                        style="border: none; margin-top:-10px" readonly />
+                                </div>
                             </div>
-                        </div>
-                        <div class="layui-col-sm3">
-                            <label class="layui-form-label" style="padding: 0;">科室名称</label>
-                            <div class="layui-input-block">
-                                <input name="departmentName" id="departmentName" style="border: none;  margin-top:-10px"
-                                    readonly class="layui-input" />
+                            <div class="layui-col-sm3">
+                                <label class="layui-form-label" style="padding: 0;">科室名称</label>
+                                <div class="layui-input-block">
+                                    <input name="departmentName" id="departmentName"
+                                        style="border: none;  margin-top:-10px" readonly class="layui-input" />
+                                </div>
                             </div>
-                        </div>
-                        <div class="layui-col-sm2">
-                            <label class="layui-form-label" style="padding: 0;">服务人员</label>
-                            <div class="layui-input-block">
-                                <input name="serverUserName" id="serverUserName"
-                                    style="border: none; margin-top:-10px;width: 120px;" readonly class="layui-input" />
+                            <div class="layui-col-sm2">
+                                <label class="layui-form-label" style="padding: 0;">服务人员</label>
+                                <div class="layui-input-block">
+                                    <input name="serverUserName" id="serverUserName"
+                                        style="border: none; margin-top:-10px;width: 120px;" readonly
+                                        class="layui-input" />
+                                </div>
                             </div>
                         </div>
                     </div>
-                </div>
 
-                <div class="layui-form-item" style="padding: 0; margin-bottom: 0px;">
-                    <div class="layui-row">
-                        <div class="layui-col-sm5">
-                            <label class="layui-form-label" style="padding: 0 30px 0 0;">地区</label>
-                            <input name="hospitalAreas" id="hospitalAreas" type="text"
-                                style="border: none; width: 250px; margin-top:-10px" readonly class="layui-input" />
-                        </div>
-                        <div class="layui-col-sm3">
-                            <label class="layui-form-label" style="padding: 0;">联系电话</label>
-                            <div class="layui-input-block">
-                                <input name="hospitalTel" id="hospitalTel" type="text" class="layui-input"
-                                    style="border: none; margin-top:-10px" readonly />
+                    <div class="layui-form-item" style="padding: 0; margin-bottom: 0px;">
+                        <div class="layui-row">
+                            <div class="layui-col-sm5">
+                                <label class="layui-form-label" style="padding: 0 30px 0 0;">地区</label>
+                                <input name="hospitalAreas" id="hospitalAreas" type="text"
+                                    style="border: none; width: 250px; margin-top:-10px" readonly class="layui-input" />
                             </div>
-                        </div>
-                        <div class="layui-col-sm2">
-                            <label class="layui-form-label" style="padding: 0;">联系人</label>
-                            <div class="layui-input-block">
-                                <input name="hospitalLink" type="text" class="layui-input"
-                                    style="border: none; margin-top:-10px;width: 120px;" readonly />
+                            <div class="layui-col-sm3">
+                                <label class="layui-form-label" style="padding: 0;">联系电话</label>
+                                <div class="layui-input-block">
+                                    <input name="hospitalTel" id="hospitalTel" type="text" class="layui-input"
+                                        style="border: none; margin-top:-10px" readonly />
+                                </div>
+                            </div>
+                            <div class="layui-col-sm2">
+                                <label class="layui-form-label" style="padding: 0;">联系人</label>
+                                <div class="layui-input-block">
+                                    <input name="hospitalLink" type="text" class="layui-input"
+                                        style="border: none; margin-top:-10px;width: 120px;" readonly />
+                                </div>
                             </div>
                         </div>
                     </div>
-                </div>
-                <div class="layui-form-item" style="padding: 0; margin-bottom: 0px;">
-                    <div class="layui-row">
-                        <div class="layui-col-sm4">
-                            <label class="layui-form-label" style="padding: 10px 30px 0 0px;">合同名称</label>
-                            <div class="layui-input-block">
-                                <input name="contractTitle" id="contractTitle" type="text" class="layui-input"
-                                    maxlength="50" lay-verify="required" required autocomplete="off" />
+                    <div class="layui-form-item" style="padding: 0; margin-bottom: 0px;">
+                        <div class="layui-row">
+                            <div class="layui-col-sm4">
+                                <label class="layui-form-label" style="padding: 10px 30px 0 0px;">合同名称</label>
+                                <div class="layui-input-block">
+                                    <input name="contractTitle" id="contractTitle" type="text" class="layui-input"
+                                        maxlength="50" lay-verify="required" required autocomplete="off" />
+                                </div>
                             </div>
-                        </div>
-                        <div class="layui-col-sm3">
-                            <label class="layui-form-label">合同编号</label>
-                            <div class="layui-input-block">
-                                <input name="contractNo" id="contractNo" type="text" class="layui-input" maxlength="50"
-                                    style="width: 185px;" autocomplete="off"  lay-verify="required" required />
+                            <div class="layui-col-sm3">
+                                <label class="layui-form-label">合同编号</label>
+                                <div class="layui-input-block">
+                                    <input name="contractNo" id="contractNo" type="text" class="layui-input"
+                                        maxlength="50" style="width: 185px;" autocomplete="off" lay-verify="required"
+                                        required />
+                                </div>
                             </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-input-block">
-                                <input autocomplete="off" name="contractEndTime" id="contractEndTime" type="text"
-                                    class="layui-input" maxlength="50" lay-verify="required" required />
+                    <div class="layui-form-item" style="margin: 10px 0px 0px 0px;">
+                        <div class="layui-row">
+                            <div class="layui-col-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>
-                        <div class="layui-col-sm4">
-                            <label class="layui-form-label">签订日期</label>
-                            <div class="layui-input-block">
-                                <input autocomplete="off" name="contractTime" id="contractTime" type="text"
-                                    class="layui-input" maxlength="50" lay-verify="required" required />
+                            <div class="layui-col-sm4">
+                                <label class="layui-form-label">截止日期</label>
+                                <div class="layui-input-block">
+                                    <input autocomplete="off" name="contractEndTime" id="contractEndTime" type="text"
+                                        class="layui-input" maxlength="50" lay-verify="required" required />
+                                </div>
+                            </div>
+                            <div class="layui-col-sm4">
+                                <label class="layui-form-label">签订日期</label>
+                                <div class="layui-input-block">
+                                    <input autocomplete="off" name="contractTime" id="contractTime" type="text"
+                                        class="layui-input" maxlength="50" lay-verify="required" required />
+                                </div>
                             </div>
                         </div>
                     </div>
                 </div>
             </div>
         </div>
-    </div>
 
-    <div class="layui-tab" style="margin: 0px;">
-        <ul class="layui-tab-title">
-            <li class="layui-this">产品信息</li>
-        </ul>
-        <div class="layui-tab-content" style="margin: 0px;">
-            <div class="layui-tab-item layui-show" style="padding-top: 0px;">
-                <table class="layui-table" id="product-table" lay-filter="product-table" style="margin: 0px;"></table>
+        <div class="layui-tab" style="margin: 0px;">
+            <ul class="layui-tab-title">
+                <li class="layui-this">产品信息</li>
+            </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>
         </div>
-    </div>
 
-    <div class="layui-tab" style="margin: 0px;">
-        <ul class="layui-tab-title">
-            <li class="layui-this">待充值产品</li>
-        </ul>
-        <div class="layui-tab-content">
-            <div class="layui-tab-item layui-show" style="padding-top: 0px;">
-                <table class="layui-table" id="product-table-temp" lay-filter="product-table-temp" style="margin: 0px;">
-                </table>
+        <div class="layui-tab" style="margin: 0px;">
+            <ul class="layui-tab-title">
+                <li class="layui-this">待充值产品</li>
+            </ul>
+            <div class="layui-tab-content" style="margin: -10px 0px -10px 0px;">
+                <div class="layui-tab-item layui-show" style="padding-top: 0px;">
+                    <table class="layui-table" id="product-table-temp" lay-filter="product-table-temp"
+                        style="margin: 0px;">
+                    </table>
+                </div>
             </div>
         </div>
-    </div>
     </div>
     <div class="layui-form-item model-form-footer" style="margin-right: 20px;">
         <button class="layui-btn layui-btn-primary" ew-event="closeDialog" type="button">取消</button>
@@ -158,7 +162,7 @@
         var laydate = layui.laydate;
 
         //充值进行中
-        var isRun=false;
+        var isRun = false;
         //执行一个laydate实例
         laydate.render({
             elem: '#contractBeginTime' //指定元素
@@ -182,7 +186,7 @@
                 cols: [
                     [{
                             field: 'proName',
-                            width: 320,
+                            width: 330,
                             title: '产品名称',
                             align: 'center',
                             fixed: 'left'
@@ -190,7 +194,7 @@
                         {
                             field: 'proType',
                             align: 'center',
-                            width: 100,
+                            width: 80,
                             templet: function (d) {
                                 if (d.proType === 0)
                                     return "试用"
@@ -219,16 +223,16 @@
                             }
                         },
                         {
-                            field: 'recordCount',
-                            width: 110,
-                            align: 'center',
-                            title: '报告数'
-                        },
-                        {
                             field: 'ailightCount',
                             width: 100,
                             align: 'center',
                             title: '读片量'
+                        },
+                        {
+                            field: 'recordCount',
+                            width: 100,
+                            align: 'center',
+                            title: '报告量'
                         },
                         {
                             field: 'beginTime',
@@ -259,7 +263,7 @@
                             field: 'id',
                             fixed: 'right',
                             align: 'center',
-                            width: 80,
+                            width: 100,
                             toolbar: '#product-tpl-bar-temp',
                             title: '操作'
                         }
@@ -278,7 +282,7 @@
         //装载产品数据
         table.render({
             elem: '#product-table',
-            url: config.base_server + 'api-opration/product',
+            url: config.base_server + 'api-opration/product/all',
             method: 'GET',
             cellMinWidth: 50,
             headers: {
@@ -293,7 +297,7 @@
                 [{
                         field: 'proName',
                         sort: true,
-                        width: 300,
+                        width: 330,
                         title: '产品名称',
                         align: 'center',
                         fixed: 'left'
@@ -331,38 +335,30 @@
                         }
                     },
                     {
-                        field: 'recordCount',
-                        width: 100,
-                        align: 'center',
-                        title: '报告数'
-                    },
-                    {
                         field: 'ailightCount',
                         width: 100,
                         align: 'center',
                         title: '读片量'
                     },
                     {
+                        field: 'recordCount',
+                        width: 100,
+                        align: 'center',
+                        title: '报告量'
+                    },
+                    {
                         field: 'beginTime',
                         align: 'center',
-                        width: 130,
+                        width: 120,
                         title: '开始日期',
-                        templet: function (d) {
-                            return getNowDate();
-                        },
-                        event: "date",
-                        edit: 'text'
+                        event: "date"
                     },
                     {
                         field: 'endTime',
                         align: 'center',
-                        width: 130,
+                        width: 120,
                         title: '结束日期',
-                        templet: function (d) {
-                            return getNowDate(d.proTime, d.proTimeUnit);
-                        },
-                        event: "date",
-                        edit: 'text'
+                        event: "date"
                     },
                     {
                         field: 'isShare',
@@ -397,8 +393,32 @@
         });
         //单元格点击事件
         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();
@@ -434,8 +454,12 @@
             }
         });
         //自动计算时间
-        var getNowDate = function (proTime, proTimeUnit) {
-            var now = new Date();
+        var getNowDate = function (proTime, proTimeUnit, now) {
+            if (strUtil.isEmpty(now)) {
+                now = new Date();
+            } else {
+                now = dateUtil.strTurnDate(now);
+            }
             if (strUtil.isEmpty(proTime) && strUtil.isEmpty(proTimeUnit)) {
                 return now.dateFormat("yyyy-MM-dd");
             } else {
@@ -446,8 +470,8 @@
                         return new Date(now.setDate(now.getDate() + proTime)).dateFormat("yyyy-MM-dd");
                         break;
                     case 1:
-                        return new Date(now.setMonth(now.getMonth() + proTime + 1)).dateFormat(
-                        "yyyy-MM-dd");
+                        return new Date(now.setMonth(now.getMonth() + proTime)).dateFormat(
+                            "yyyy-MM-dd");
                         break;
                     case 2:
                         return new Date(now.setFullYear(now.getFullYear() + proTime)).dateFormat(
@@ -491,98 +515,101 @@
             }
         }
         form.on('submit(recharge-form-submit)', function (data) {
-            if(!isRun){
+            if (!isRun) {
                 layer.load(2);
-            var listData = admin.getTempData("t_tempProduct");
-            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);
-                                    })
+                var listData = admin.getTempData("t_tempProduct");
+                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');
+                                        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("充值数据异常为空!", {
+                                        layer.msg(data.msg, {
                                             icon: 2,
                                             time: 1000
                                         });
-                                    isRun=false;
+                                        isRun = false;
                                     }
-                                } else {
-                                    layer.msg(data.msg, {
-                                        icon: 2,
-                                        time: 1000
-                                    });
-                                    isRun=false;
-                                }
-                            }, 'POST');
-                    })
+                                }, 'POST');
+                        })
+                    } else {
+                        layer.msg("数据异常!", {
+                            icon: 2,
+                            time: 1000
+                        });
+                    }
                 } else {
-                    layer.msg("数据异常!", {
+                    layer.msg("请先将要充值的产品加入待充值!", {
                         icon: 2,
-                        time: 1000
+                        time: 2000
                     });
                 }
-            } else {
-                layer.msg("请先将要充值的产品加入待充值!", {
-                    icon: 2,
-                    time: 2000
-                });
-            }
-            layer.closeAll('loading');
-            return false;
+                layer.closeAll('loading');
+                return false;
             }
         });
     });

--
Gitblit v1.8.0