From fc223b26f87f7a221b38084bb62d8047974bbf1c Mon Sep 17 00:00:00 2001
From: zhaoxiaohao <913652501@qq.com>
Date: Sun, 26 Apr 2020 12:42:21 +0800
Subject: [PATCH] Merge branch 'dev' of http://192.168.2.240:7070/r/kidgrow-microservices-platform into dev

---
 kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/productdetail.html                                                                        |   35 +---
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/feign/DiagnosticService.java                         |   29 +++
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/ProductOrderDetailMapper.xml                                        |    6 
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysMenuController.java                               |    5 
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/vo/ProductOrderJoinDetail.java                       |    4 
 kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/recharge.html                                                                             |   99 ++++++------
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/feign/fallback/DiagnosticServiceFallbackFactory.java |   20 ++
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/OprationCenterApplication.java                                   |    6 
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/ProductOrderDetail.java                        |    8 
 kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/diagnosisRecord.html                                                                      |  115 ++++++++++++++
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java      |    4 
 kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/ServiceNameConstants.java                                             |    5 
 kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/verifyRecharge.html                                                                       |  102 ++++++++++++
 13 files changed, 362 insertions(+), 76 deletions(-)

diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/feign/DiagnosticService.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/feign/DiagnosticService.java
new file mode 100644
index 0000000..d853939
--- /dev/null
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/feign/DiagnosticService.java
@@ -0,0 +1,29 @@
+package com.kidgrow.oprationcenter.feign;
+
+import com.kidgrow.common.constant.ServiceNameConstants;
+import com.kidgrow.common.model.PageResult;
+import com.kidgrow.common.model.ResultBody;
+import com.kidgrow.oprationcenter.feign.fallback.DiagnosticServiceFallbackFactory;
+import com.kidgrow.ribbon.config.FeignHttpInterceptorConfig;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.Map;
+/**
+ * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
+ * @Description: 孩子的每次诊断数据
+ * @Project: 用户中心
+ * @CreateDate: Created in 2020-04-07 15:26:33 <br>
+ * @Author: <a href="2396341626@kidgrow.com">zhaobingliang</a>
+ * @version: 1.0
+ */
+@FeignClient(value = ServiceNameConstants.RECORD_CENTER_SERVICE,configuration= FeignHttpInterceptorConfig.class,
+        fallbackFactory = DiagnosticServiceFallbackFactory.class, decode404 = true)
+public interface DiagnosticService {
+    /**
+     * feign rpc访问远程 接口
+     */
+    @GetMapping(value = "/diagnostic/diagnosticitem")
+    ResultBody<PageResult> getDiagnosticItemList(@RequestParam Map<String, Object> params);
+}
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/feign/fallback/DiagnosticServiceFallbackFactory.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/feign/fallback/DiagnosticServiceFallbackFactory.java
new file mode 100644
index 0000000..e5e49e2
--- /dev/null
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/feign/fallback/DiagnosticServiceFallbackFactory.java
@@ -0,0 +1,20 @@
+package com.kidgrow.oprationcenter.feign.fallback;
+
+import com.kidgrow.common.model.PageResult;
+import com.kidgrow.common.model.ResultBody;
+import com.kidgrow.oprationcenter.feign.DiagnosticService;
+import feign.hystrix.FallbackFactory;
+
+import java.util.Map;
+
+public class DiagnosticServiceFallbackFactory implements FallbackFactory<DiagnosticService> {
+    @Override
+    public DiagnosticService create(Throwable throwable) {
+       return new DiagnosticService() {
+           @Override
+           public ResultBody<PageResult> getDiagnosticItemList(Map<String, Object> params) {
+               return ResultBody.failed().msg("getDiagnosticItemList的FeignClient调用参数传递测试失败");
+           }
+       };
+    }
+}
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/ProductOrderDetail.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/ProductOrderDetail.java
index f0d6424..d13c348 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/ProductOrderDetail.java
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/ProductOrderDetail.java
@@ -9,6 +9,7 @@
 import lombok.NoArgsConstructor;
 import org.hibernate.validator.constraints.NotEmpty;
 
+import javax.validation.constraints.NotNull;
 import java.util.Date;
 
 /**
@@ -44,9 +45,14 @@
     @NotEmpty(message = "产品/明细名称不能为空")
     private String proName;
     /**
+     * 产品类型 0试用 1正式
+     */
+    @NotNull(message = "产品类型不能为空")
+    private Integer proType;
+    /**
      * 是否共享 0否 1是
      */
-    @NotEmpty(message = "是否共享 0否 1是不能为空")
+    @NotEmpty(message = "是否共享不能为空")
     private Boolean isShare;
     /**
      * 是否删除,1删除,0未删除
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/vo/ProductOrderJoinDetail.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/vo/ProductOrderJoinDetail.java
index f9e718b..31a2cd8 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/vo/ProductOrderJoinDetail.java
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/vo/ProductOrderJoinDetail.java
@@ -35,6 +35,10 @@
      */
     private Long proId;
     /**
+     * 产品类型
+     */
+    private Integer proType;
+    /**
      * 产品/明细名称
      */
     private String proName;
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java
index 50fa2c3..0207031 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java
@@ -4,6 +4,7 @@
 import com.kidgrow.common.model.PageResult;
 import com.kidgrow.common.model.ResultBody;
 import com.kidgrow.common.service.impl.SuperServiceImpl;
+import com.kidgrow.oprationcenter.feign.DiagnosticService;
 import com.kidgrow.oprationcenter.mapper.ProductOrderDetailMapper;
 import com.kidgrow.oprationcenter.model.ProductOrderDetail;
 import com.kidgrow.oprationcenter.service.IProductOrderDetailService;
@@ -11,6 +12,7 @@
 import com.kidgrow.oprationcenter.vo.ProductOrderJoinDetail;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.MapUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.Date;
@@ -28,6 +30,8 @@
 @Slf4j
 @Service
 public class ProductOrderDetailServiceImpl extends SuperServiceImpl<ProductOrderDetailMapper, ProductOrderDetail> implements IProductOrderDetailService {
+   @Autowired
+    DiagnosticService diagnosticService;
     /**
      * 列表
      * @param params
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/ProductOrderDetailMapper.xml b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/ProductOrderDetailMapper.xml
index 0ad53bf..e24fcd1 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/ProductOrderDetailMapper.xml
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/ProductOrderDetailMapper.xml
@@ -92,6 +92,9 @@
             <if test="p.id != null and p.id !=''">
                 and id = #{p.id}
             </if>
+            <if test="p.proType != null and p.proType !=''">
+                and pro_type = #{p.proType}
+            </if>
             <if test="p.hospitalName != null and p.hospitalName !=''">
                 and PRO.hospital_name like concat ('%',#{p.hospitalName},'%')
             </if>
@@ -119,7 +122,8 @@
         DE.is_del,
         DE.enabled,
         PRO.hospital_name,
-        PRO.department_name
+        PRO.department_name,
+        DE.pro_type
         FROM
         product_order_detail DE
         LEFT JOIN product_order PRO ON DE.order_id = PRO.id
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/OprationCenterApplication.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/OprationCenterApplication.java
index 64379cb..eae304d 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/OprationCenterApplication.java
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/OprationCenterApplication.java
@@ -1,7 +1,10 @@
 package com.kidgrow;
 
+import com.kidgrow.ribbon.annotation.EnableFeignInterceptor;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.cloud.openfeign.EnableFeignClients;
 
 /**
  * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
@@ -12,6 +15,9 @@
  * @Author: <a href="4345453@kidgrow.com">liuke</a>
  */
 @SpringBootApplication
+@EnableFeignClients
+@EnableDiscoveryClient
+@EnableFeignInterceptor
 public class OprationCenterApplication {
     public static void main(String[] args) {
         SpringApplication.run(OprationCenterApplication.class,args);
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysMenuController.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysMenuController.java
index 600bd93..4c97f5a 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysMenuController.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysMenuController.java
@@ -41,7 +41,7 @@
     @Autowired
     private ISysMenuService menuService;
 
-    /**
+    /**current
      * 两层循环实现建树
      *
      * @param sysMenus
@@ -199,7 +199,8 @@
         if (CollectionUtil.isEmpty(roles)) {
             return ResultBody.ok().data(Collections.emptyList());
         }
-        List<SysMenu> menus = menuService.findByRoleCodes(roles.parallelStream().map(SysRole::getCode).collect(Collectors.toSet()), CommonConstant.MENU);
+        Set<String> collect = roles.stream().map(e -> e.getCode()).collect(Collectors.toSet());
+        List<SysMenu> menus = menuService.findByRoleCodes(collect, CommonConstant.MENU);
         return ResultBody.ok().data(treeBuilder(menus));
     }
 }
diff --git a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/ServiceNameConstants.java b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/ServiceNameConstants.java
index 788ff72..052a9c6 100644
--- a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/ServiceNameConstants.java
+++ b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/ServiceNameConstants.java
@@ -33,4 +33,9 @@
      * oprationcenter-server服务
      */
     String OPRATIONCENTER_SERVER = "oprationcenter-server";
+
+    /**
+     * 诊断数据服务
+     */
+    String RECORD_CENTER_SERVICE="recordcenter-server";
 }
diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/diagnosisRecord.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/diagnosisRecord.html
new file mode 100644
index 0000000..34ea1de
--- /dev/null
+++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/diagnosisRecord.html
@@ -0,0 +1,115 @@
+<div class="layui-card">
+    <div class="layui-card-header">
+        <h2 class="header-title">诊断记录</h2>
+        <span class="layui-breadcrumb pull-right">
+            <a href="#!console">首页</a>
+            <a><cite>诊断记录</cite></a>
+        </span>
+    </div>
+    <div class="layui-card-body">
+        <div class="layui-form toolbar">
+            <input id="childName" class="layui-input" type="text" placeholder="按患者名" />&emsp;
+            <input id="diagnosticDoctorName" class="layui-input " type="text" placeholder="按诊断医生名"/>&emsp;
+            <input id="hospitalId" type="hidden" />
+            <input id="hospitalName" class="layui-input " type="text" placeholder="按医院名" autocomplete="off"/>&emsp;
+            <input type="text" name="date" id="datebegin" lay-verify="date" autocomplete="off"
+                class="layui-input search-input"/>至
+            <input type="text" name="date" id="dateend" lay-verify="date"  autocomplete="off"
+                class="layui-input search-input"/>
+            <button id="diagnostic-btn-search" class="layui-btn icon-btn"><i class="layui-icon">&#xe615;</i>搜索</button>
+        </div>
+        <table class="layui-table" id="diagnostic-table" lay-filter="diagnostic-table"></table>
+    </div>
+</div>
+<!-- 表格操作列 -->
+<script type="text/html" id="diagnostic-table-bar">
+    <a class="layui-btn layui-btn-xs" lay-event="select"">查看报告</a>
+</script>
+
+<script>
+    layui.use(['table', 'util', 'admin', 'config', 'laydate', 'form', 'autocomplete'], function () {
+        let table = layui.table;
+        let util = layui.util;
+        let admin = layui.admin;
+        let form = layui.form;
+        let config = layui.config;
+        let laydate=layui.laydate;
+        var autocomplete = layui.autocomplete;
+        var $ = layui.jquery;
+
+        //执行一个laydate实例
+        laydate.render({
+            elem: '#datebegin'//指定元素
+        });
+        laydate.render({
+            elem: '#dateend' //指定元素
+        });
+        //自动完成-医院名称
+        autocomplete.render({
+            elem: $('#hospitalName')[0],
+            keywordsName: 'hospitalName',//查询关键字名称
+            url: config.base_server + 'api-user/syshospital/findByName',
+            template_val: '{{d.hospitalName}}',//选择后文本框显示的数据字段
+            template_txt: "<div class='layui-table-cell'>{{d.hospitalName}}</div>",//下拉列表模板
+            onselect: function (resp) {
+                $("#hospitalId").val(resp.id);
+            }
+        });
+        // 渲染表格
+        var renderTable = function () {
+            table.render({
+                elem: '#diagnostic-table',
+                url: config.base_server + 'api-opration/productorderdetail/all',
+                method: 'GET',
+                where: { enabled: 2},
+                headers: { 'Authorization': 'Bearer ' + config.getToken().access_token },
+                page: true,
+                cols: [[
+                    { field: 'hospitalName', width: 300, title: '医院名称' },
+                    { field: 'departmentName', width: 100, title: '科室名称' },
+                    { field: 'diagnosticDoctorName', width: 100, title: '医生姓名' },
+                    { field: 'childName', width: 100, title: '患者姓名' },
+                    { field: 'childSex', width: 80, title: '性别' },
+                    { field: 'childBirthday', width: 100, title: '出生日期' },
+                    { field: 'childPhone', width: 150, title: '联系电话' },
+                    {
+                        field: 'isDelete', sort: true, align: 'center', width: 80, templet: function (d) {
+                            if (d.proType === 0)
+                                return "正常"
+                            else
+                                return "已删除"
+                        }, title: '状态'
+                    },
+                    {
+                        field: 'createTime', width: 160, sort: true, title: '创建时间', templet: function (d) {
+                            return new Date(d.createTime).dateFormat("yyyy/MM/dd hh:mm:ss");
+                        }
+                    },
+                    {
+                        field: 'updateTime', width: 160, sort: true, title: '修改时间', templet: function (d) {
+                            return new Date(d.createTime).dateFormat("yyyy/MM/dd hh:mm:ss");
+                        }
+                    },
+                    { field: 'enabled', width: 100, templet: '#diagnostic-table-bar', title: '查看' }
+                ]]
+            });
+        }
+        // 搜索按钮点击事件
+        $('#diagnostic-btn-search').click(function () {
+            var childName = $('#childName').val();
+            var hospitalId = $('#hospitalId').val();
+            var diagnosticDoctorName = $("#diagnosticDoctorName").val();
+            var datebegin = $('#datebegin').val();
+            var dateend = $('#dateend').val();
+            if (strUtil.isEmpty(datebegin) && !strUtil.isEmpty(dateend)) {
+                datebegin = dateUtil.getNowDate();
+                $('#datebegin').val(datebegin);
+            }
+            if (!strUtil.isEmpty(datebegin) && strUtil.isEmpty(dateend)) {
+                dateend = dateUtil.getNowDate();
+                $('#dateend').val(dateend);
+            }
+            // table.reload('diagnostic-table', { where: { childName: childName, hospitalId: hospitalId, diagnosticDoctorName: diagnosticDoctorName, datebegin: datebegin, dateend: dateend } });
+        });
+    });
+</script>
\ No newline at end of file
diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/productdetail.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/productdetail.html
index 268629e..ed14d56 100644
--- a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/productdetail.html
+++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/productdetail.html
@@ -44,10 +44,18 @@
                 cols: [[
                     { field: 'hospitalName', width: 300, title: '医院名称' },
                     { field: 'departmentName', width: 100, title: '科室名称' },
-                    { field: 'proName', width: 200, title: '产品名称' },
-                    { field: 'ailightCount', width: 150, title: '读片量' },
+                    { field: 'proName', width: 250, title: '产品名称' },
+                    {
+                    field: 'proType', sort: true, align: 'center', width: 80, templet: function (d) {
+                        if (d.proType === 0)
+                            return "试用"
+                        else
+                            return "正式"
+                    }, title: '类型'
+                },
+                    { field: 'ailightCount', width: 100, title: '读片量' },
                     { field: 'recordCount', width: 100, title: '报告量' },
-                    { field: 'isShare', width: 150, title: '是否共享',templet:function(d)
+                    { field: 'isShare', width: 100, title: '是否共享',templet:function(d)
                     {
                         if(d.isShare)
                         return '共享'
@@ -64,31 +72,11 @@
                     { field: 'createTime', width: 160, sort: true, title: '创建时间',templet:function(d){
                         return new Date(d.createTime).dateFormat("yyyy/MM/dd hh:mm:ss");
                     } },
-                    { field: 'enabled', width: 100, templet: '#product-tpl-state', sort: true, title: '状态' },
                     { align: 'center', width: 100, toolbar: '#product-table-bar', title: '操作' }
                 ]]
             });
         }
         renderTable();
-
-        // 修改状态
-        form.on('switch(product-tpl-state)', function (obj) {
-            layer.load(2);
-            admin.req('api-opration/productorderdetail/updateEnabled', {
-                id: obj.elem.value,
-                enabled: obj.elem.checked ? true : false
-            }, function (data) {
-                layer.closeAll('loading');
-                if (data.code == 0) {
-                    layer.msg(data.msg, { icon: 1, time: 500 });
-                } else {
-                    layer.msg(data.msg, { icon: 2, time: 500 });
-                    $(obj.elem).prop('checked', !obj.elem.checked);
-                    form.render('checkbox');
-                }
-            }, 'GET');
-        });
-
         // 工具条点击事件
         table.on('tool(product-table)', function (obj) {
             if (obj.event === 'del') { // 删除
@@ -98,7 +86,6 @@
                     admin.req('api-opration/productorderdetail/' + obj.data.id, {}, function (data) {
                         layer.closeAll('loading');
                         layer.msg(data.msg, { icon: 1, time: 500 }, function () {
-
                             renderTable();
                         });
                         obj.del();
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 8e45cfb..13f676e 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
@@ -67,7 +67,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" />
                             </div>
                         </div>
                     </div>
@@ -76,21 +76,22 @@
                     <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 />
+                            <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 />
+                                <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 />
+                                <input autocomplete="off" name="contractTime" id="contractTime" type="text"
+                                    class="layui-input" maxlength="50" lay-verify="required" required />
                             </div>
                         </div>
                     </div>
@@ -385,50 +386,52 @@
             var listData = admin.getTempData("t_tempProduct");
             if (listData != null) {
                 if (data.field != null) {
-                    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: new Date(item.beginTime+' 00:00:00'),
-                                    proEndtime: new Date(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 () {
+                        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: new Date(item.beginTime + ' 00:00:00'),
+                                        proEndtime: new Date(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');
+                                }
+                                else {
+                                    layer.msg("充值数据异常为空!", { icon: 2, time: 1000 });
+                                }
                             }
                             else {
-                                layer.msg("充值数据异常为空!", { icon: 2, time: 1000 });
+                                layer.msg(data.msg, { icon: 2, time: 1000 });
                             }
-                        }
-                        else {
-                            layer.msg(data.msg, { icon: 2, time: 1000 });
-                        }
-                    }, 'POST');
+                        }, 'POST');
+                    })
                 }
                 else {
                     layer.msg("数据异常!", { icon: 2, time: 1000 });
diff --git a/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/verifyRecharge.html b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/verifyRecharge.html
new file mode 100644
index 0000000..edee941
--- /dev/null
+++ b/kidgrow-web/kidgrow-web-manager/src/main/resources/static/pages/opration/verifyRecharge.html
@@ -0,0 +1,102 @@
+<div class="layui-card">
+    <div class="layui-card-header">
+        <h2 class="header-title">试用审核</h2>
+        <span class="layui-breadcrumb pull-right">
+            <a href="#!console">首页</a>
+            <a><cite>试用审核</cite></a>
+        </span>
+    </div>
+    <div class="layui-card-body">
+        <div class="layui-form toolbar">&emsp;
+            <input id="product-search-value" class="layui-input search-input" type="text" placeholder="按产品名" />&emsp;
+            <input id="hospital-search-value" class="layui-input search-input" type="text" placeholder="按医院名" />&emsp;
+            <button id="product-btn-search" class="layui-btn icon-btn"><i class="layui-icon">&#xe615;</i>搜索</button>
+        </div>
+        <table class="layui-table" id="product-table" lay-filter="product-table"></table>
+    </div>
+</div>
+<!-- 表格状态列 -->
+<script type="text/html" id="product-tpl-state">
+    <input type="checkbox" lay-filter="product-tpl-state" value="{{d.id}}" lay-skin="switch" lay-text="生效|待审核"
+           {{d.enabled!=true?'checked':''}}/>
+</script>
+
+<script>
+    layui.use(['table', 'util', 'admin', 'config', 'form'], function () {
+        let table = layui.table;
+        let util = layui.util;
+        let admin = layui.admin;
+        let form = layui.form;
+        let config = layui.config;
+
+        // 渲染表格
+        var renderTable = function () {
+            table.render({
+                elem: '#product-table',
+                url: config.base_server + 'api-opration/productorderdetail/all',
+                method: 'GET',
+                where:{enabled:0,proType:0},
+                headers: { 'Authorization': 'Bearer ' + config.getToken().access_token },
+                page: true,
+                cols: [[
+                    { field: 'hospitalName', width: 300, title: '医院名称' },
+                    { field: 'departmentName', width: 100, title: '科室名称' },
+                    { field: 'proName', width: 250, title: '产品名称' },
+                    {
+                    field: 'proType', sort: true, align: 'center', width: 80, templet: function (d) {
+                        if (d.proType === 0)
+                            return "试用"
+                        else
+                            return "正式"
+                    }, title: '类型'
+                },
+                    { field: 'ailightCount', width: 150, title: '读片量' },
+                    { field: 'recordCount', width: 100, title: '报告量' },
+                    { field: 'isShare', width: 100, title: '是否共享',templet:function(d)
+                    {
+                        if(d.isShare)
+                        return '共享'
+                        else
+                        return '私有'
+                    }
+                    },
+                    { field: 'proBegintime', width: 120, title: '开始时间',templet:function(d){
+                        return new Date(d.proBegintime).dateFormat("yyyy/MM/dd");
+                    } },
+                    { field: 'proEndtime', width: 120, title: '结束时间',templet:function(d){
+                        return new Date(d.proEndtime).dateFormat("yyyy/MM/dd");
+                    } },
+                    { field: 'createTime', width: 160, sort: true, title: '创建时间',templet:function(d){
+                        return new Date(d.createTime).dateFormat("yyyy/MM/dd hh:mm:ss");
+                    } },
+                    { field: 'enabled', width: 100, templet: '#product-tpl-state', sort: true, title: '审核' }
+                ]]
+            });
+        }
+        renderTable();
+
+        // 修改状态
+        form.on('switch(product-tpl-state)', function (obj) {
+            layer.load(2);
+            admin.req('api-opration/productorderdetail/updateEnabled', {
+                id: obj.elem.value,
+                enabled: obj.elem.checked ? true : false
+            }, function (data) {
+                layer.closeAll('loading');
+                if (data.code == 0) {
+                    layer.msg(data.msg, { icon: 1, time: 500 });
+                } else {
+                    layer.msg(data.msg, { icon: 2, time: 500 });
+                    $(obj.elem).prop('checked', !obj.elem.checked);
+                    form.render('checkbox');
+                }
+            }, 'GET');
+        });
+        // 搜索按钮点击事件
+        $('#product-btn-search').click(function () {
+            var proName = $('#product-search-value').val();
+            var hospitalName = $('#hospital-search-value').val();
+            table.reload('product-table', { where: { proName: proName,hospitalName: hospitalName } });
+        });
+    });
+</script>
\ No newline at end of file

--
Gitblit v1.8.0