Selaa lähdekoodia

大数据新图谱测试页面开发

louhr 5 vuotta sitten
vanhempi
commit
00258376e9

+ 35 - 0
push-web/src/main/java/org/diagbot/push/controller/AlgorithmValidateController.java

@@ -0,0 +1,35 @@
+package org.diagbot.push.controller;
+
+import org.diagbot.common.push.bean.ResponseData;
+import org.diagbot.common.push.bean.SearchData;
+import org.diagbot.pub.api.Response;
+import org.diagbot.pub.web.BaseController;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * Created by louhr on 2020/2/25.
+ */
+@Controller
+@RequestMapping("/algorithm_validate")
+public class AlgorithmValidateController extends BaseController {
+    {
+        listView = "/pages/validate/list.html";
+    }
+
+    @RequestMapping({ "/index" })
+    public String index() {
+        return listView;
+    }
+
+    @RequestMapping(value = "/page_neural")
+    @ResponseBody
+    public Response<ResponseData> neuralData(HttpServletRequest request, SearchData searchData) throws Exception {
+        Response<ResponseData> response = new Response();
+        ResponseData responseData = new ResponseData();
+        return response;
+    }
+}

+ 285 - 0
push-web/src/main/resources/static/pages/validate/list.html

@@ -0,0 +1,285 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>AdminLTE 2 | Invoice</title>
+    <!-- Tell the browser to be responsive to screen width -->
+    <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
+    <!-- Bootstrap 3.3.6 -->
+    <link rel="stylesheet" href="../bootstrap/css/bootstrap.min.css">
+    <!-- Font Awesome -->
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.5.0/css/font-awesome.min.css">
+    <!-- Ionicons -->
+    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ionicons/2.0.1/css/ionicons.min.css">
+    <!-- Theme style -->
+    <link rel="stylesheet" href="../dist/css/AdminLTE.min.css">
+    <!-- AdminLTE Skins. Choose a skin from the css/skins
+         folder instead of downloading all of them to reduce the load. -->
+    <link rel="stylesheet" href="../dist/css/skins/_all-skins.min.css">
+
+    <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
+    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
+    <!--[if lt IE 9]>
+    <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
+    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+    <![endif]-->
+    <style>
+        .interval {
+            padding: 1px 8px !important;
+        }
+
+        #my_file {
+            visibility: hidden; /* 隐藏 */
+        }
+    </style>
+</head>
+<body class="hold-transition skin-blue sidebar-mini">
+<div class="wrapper">
+
+    <header class="main-header">
+        <!-- Logo -->
+        <a href="#" class="logo">
+            <!-- logo for regular state and mobile devices -->
+            <span class="logo-lg"><b>P</b>articiple</span>
+        </a>
+
+    </header>
+    <!-- Left side column. contains the logo and sidebar -->
+    <aside class="main-sidebar">
+        <!-- sidebar: style can be found in sidebar.less -->
+        <section class="sidebar">
+            <!-- /.search form -->
+            <!-- sidebar menu: : style can be found in sidebar.less -->
+            <ul class="sidebar-menu">
+                <li class="header">MAIN NAVIGATION</li>
+                <li class="treeview active">
+                    <a href="#">
+                        <i class="fa fa-folder"></i> <span>nlp</span>
+                        <span class="pull-right-container">
+              <i class="fa fa-angle-left pull-right"></i>
+            </span>
+                    </a>
+                    <ul class="treeview-menu">
+                        <li class="active"><a href="/push-web/participle/index"><i class="fa fa-circle-o"></i>图谱分析</a></li>
+                    </ul>
+                </li>
+            </ul>
+        </section>
+        <!-- /.sidebar -->
+    </aside>
+
+    <!-- Content Wrapper. Contains page content -->
+    <div class="content-wrapper">
+        <!-- Content Header (Page header) -->
+        <section class="content-header">
+            <h1>
+                Data Tables
+                <small>advanced tables</small>
+            </h1>
+            <ol class="breadcrumb">
+                <li><a href="#"><i class="fa fa-dashboard"></i> Home</a></li>
+                <li><a href="#">Tables</a></li>
+                <li class="active">Data tables</li>
+            </ol>
+        </section>
+
+        <form role="form">
+            <div class="box-body">
+                <div class="form-group">
+                    <label for="content">病历文本</label>&nbsp;
+                    <textarea class="form-control" rows="10" placeholder="Enter ..." name="content" id="content"></textarea>
+                </div>
+                <div class="form-group">
+                    <label for="diagString">疾病信息</label>&nbsp;
+                    <input type="text" id="diagString" placeholder="" size="150">&nbsp;&nbsp;&nbsp;&nbsp;
+                </div>
+            </div>
+            <!-- /.box-body -->
+            <div class="box-footer">
+                <button type="button" class="btn btn-primary" onclick="bayesPage('O');">推送</button>
+            </div>
+        </form>
+
+        <!-- Main content -->
+        <section class="content">
+            <div class="row">
+                <div class="col-xs-4">
+                    <div class="box">
+                        <div class="box-header">
+                            <h3 class="box-title">推荐疾病</h3>&nbsp;&nbsp;<label id="participle_diag"></label>
+                        </div>
+                        <!-- /.box-header -->
+                        <div class="box-body">
+                            <table id="diag_list" class="table table-bordered table-striped">
+                                <thead>
+                                <tr>
+                                    <th>diag</th>
+                                    <th>dept</th>
+                                    <th>rate</th>
+                                </tr>
+                                </thead>
+                                <tbody>
+
+                                </tbody>
+                            </table>
+                        </div>
+                        <!-- /.box-body -->
+                    </div>
+                    <!-- /.box -->
+                </div>
+
+                <div class="col-xs-4">
+                    <div class="box">
+                        <div class="box-header">
+                            <h3 class="box-title">推荐检查</h3>&nbsp;&nbsp;<label id="before_combine_participle_diag"></label>
+                        </div>
+                        <!-- /.box-header -->
+                        <div class="box-body">
+                            <table id="before_combine_diag_list" class="table table-bordered table-striped">
+                                <thead>
+                                <tr>
+                                    <th>diag</th>
+                                    <th>dept</th>
+                                    <th>rate</th>
+                                </tr>
+                                </thead>
+                                <tbody>
+
+                                </tbody>
+                            </table>
+                        </div>
+                        <!-- /.box-body -->
+                    </div>
+                    <!-- /.box -->
+                </div>
+
+                <div class="col-xs-4">
+                    <div class="box">
+                        <div class="box-header">
+                            <h3 class="box-title">推荐用药</h3>&nbsp;&nbsp;<label id="participle_symptom"></label>
+                        </div>
+                        <!-- /.box-header -->
+                        <div class="box-body">
+                            <table id="symptom_list" class="table table-bordered table-striped">
+                                <thead>
+                                <tr>
+                                    <th>symptom</th>
+                                    <th>rate</th>
+                                </tr>
+                                </thead>
+                                <tbody>
+
+                                </tbody>
+                            </table>
+                        </div>
+                        <!-- /.box-body -->
+                    </div>
+                    <!-- /.box -->
+                </div>
+                <!-- /.col -->
+            </div>
+            <!-- /.row -->
+        </section>
+        <!-- /.content -->
+    </div>
+    <!-- /.content-wrapper -->
+
+    <!-- /.control-sidebar -->
+    <!-- Add the sidebar's background. This div must be placed
+         immediately after the control sidebar -->
+    <div class="control-sidebar-bg"></div>
+</div>
+<!-- jQuery 2.2.3 -->
+<script src="../plugins/jQuery/jquery-2.2.3.min.js"></script>
+<!-- Bootstrap 3.3.6 -->
+<script src="../bootstrap/js/bootstrap.min.js"></script>
+<!-- DataTables -->
+<script src="../plugins/datatables/jquery.dataTables.min.js"></script>
+<script src="../plugins/datatables/dataTables.bootstrap.min.js"></script>
+<!-- SlimScroll -->
+<script src="../plugins/slimScroll/jquery.slimscroll.min.js"></script>
+<!-- FastClick -->
+<script src="../plugins/fastclick/fastclick.js"></script>
+<!-- AdminLTE App -->
+<script src="../dist/js/app.min.js"></script>
+<!-- AdminLTE for demo purposes -->
+<script src="../dist/js/demo.js"></script>
+
+<script src="../dist/js/push.js"></script>
+
+<script>
+    $(function () {
+    });
+
+    function bayesPage(resourceType) {
+        startDiag('/algorithm_validate/page_neural', '#symptom_list', '1', resourceType, '111', '1');
+    }
+
+    function startDiag(url, obj, featureType, resourceType, algorithmClassify, tp) {
+        $(obj).DataTable({
+            "paging": false,
+            "bPaginate" : true,
+            "lengthChange": true,
+            "searching": false,
+            "ordering": false,
+            "info": false,
+            "autoWidth": false,
+            "serverSide": true,
+            "destroy": true,
+            "iDisplayLength": 25,
+            "columns": [
+                {"data": "featureName"},
+                {"data": "rate"}
+            ],
+            "ajax": {
+                "url": push_web_url + url,
+                "data": function ( d ) {
+                    d.featureType = featureType;
+                    d.resourceType = resourceType;
+                    d.algorithmClassifyValue =  algorithmClassify;
+                    var content = $("#content").val();
+                    var diagString = $("#diagString").val();
+                    d.sysCode = "2";
+                    //添加额外的参数传给服务器
+                    if (content != null && content != undefined) {
+                        d.content = content;
+                    }
+                    if (diagString != null && diagString != undefined) {
+                        d.diagString = diagString;
+                    }
+                },
+                "dataSrc": function (json) {
+                    if (tp == '1') {
+                        $("#participle_diag").html(json.data.participleSymptom);
+                        json.data = json.data.dis;
+                    }
+                    if (tp == '2') {
+                        $("#participle_diag").html(json.data.participleSymptom);
+                        json.data = json.data.dis;
+                    }
+                    if (tp == '3') {
+                        $("#participle_vital").html(json.data.participleSymptom);
+                        json.data = json.data.vitals;
+                    }
+                    if (tp == '4') {
+                        $("#participle_lis").html(json.data.participleSymptom);
+                        json.data = json.data.labs;
+                    }
+                    if (tp == '5') {
+                        $("#participle_pacs").html(json.data.participleSymptom);
+                        json.data = json.data.pacs;
+                    }
+                    if (tp == '6') {
+                        $("#before_combine_participle_diag").html(json.data.participleSymptom);
+                        json.data = json.data.beforeCombineDis;
+                    }
+                    return json.data;
+                }
+            }
+        });
+    }
+</script>
+
+</body>
+</html>