Browse Source

update 优化 快速建档 照片识别

bzd_lxf 3 months ago
parent
commit
9ce01de41c

+ 77 - 62
health-admin/src/main/resources/templates/dtp/archives/archivesAdd.html

@@ -1,9 +1,11 @@
 <!DOCTYPE html>
 <html lang="zh" xmlns:th="http://www.thymeleaf.org" >
 <head>
+
     <th:block th:include="include :: header('新建档案')" />
 
     <th:block th:include="include :: select2-css" />
+    <th:block th:include="include :: jasny-bootstrap-css" />
 </head>
 <style>
     .ibox {
@@ -31,23 +33,24 @@
 <script>
 
 </script>
-<body>
-<div class="wrapper wrapper-content animated fadeInRight ibox-content">
+<body class="gray-bg">
+<div class="wrapper wrapper-content animated fadeInRight">
     <form id="form-server-add" class="customize-search-form">
         <div class="customize-form-group-container">
-<!--            <div class="ibox float-e-margins">-->
-<!--                <label class="font-noraml">身份证上传</label>-->
-<!--                <div class="new-contentarea tc">-->
-<!--                    <a href="javascript:void(0)" class="upload-img"><label for="inputImage" >上传图像</label> </a>-->
-<!--                    <input type="file" name="avatar" id="inputImage" onchange="uploadImage(this)" accept="image/*"/>-->
-<!--                </div>-->
+            <div class="ibox float-e-margins">
+                <label class="font-noraml">身份证上传</label>
+                <div class="new-contentarea tc">
+                    <a href="javascript:void(0)" class="btn btn-xs btn-primary"><label for="inputImage" >上传图像</label> </a>
+                    <input type="file" name="avatar" id="inputImage" onchange="uploadImage(this)" accept="image/*"/>
+                </div>
 
-<!--            </div>-->
-<!--            <div class="ibox">-->
-<!--                <div class="ibox-title">-->
-<!--                    <img id="uploadedImage" src="" alt="上传的图片" style="max-width: 100%; display: block;">-->
-<!--                </div>-->
-<!--            </div>-->
+            </div>
+
+            <div class="ibox">
+                <div class="ibox-title" style="align-items: center;">
+                    <img id="uploadedImage" src="" style="max-width: 40%; display: block;margin-left: 35%">
+                </div>
+            </div>
             <div class="customize-form-group">
                 <label class="col-sm-1 control-label">姓名:</label>
                 <input name="name" id="name" placeholder="请输入姓名" class="styled-input" type="text" maxlength="30" required>
@@ -160,9 +163,11 @@
         </div>
     </form>
 </div>
-	<th:block th:include="include :: footer" />
+<th:block th:include="include :: jasny-bootstrap-js" />
+<th:block th:include="include :: footer" />
 <th:block th:include="include :: select2-js" />
 <th:block th:include="include :: bootstrap-fileinput-js" />
+
 </body>
 </html>
 
@@ -170,52 +175,10 @@
     var prefix = ctx + "dtp/pmService";
     $(document).ready(function() {
         $('#documentNumber').on('input', function() {
-            var documentNumber = $(this).val();
-            if (documentNumber.length === 18) { // 假设证件号码是18位的身份证号
-                var birthDateStr = documentNumber.substring(6, 14); // 提取出生日期部分
-                var year = birthDateStr.substring(0, 4);
-                var month = birthDateStr.substring(4, 6);
-                var day = birthDateStr.substring(6, 8);
-
-                var birthDate = new Date(year, month - 1, day); // 创建日期对象
-
-                if (!isNaN(birthDate.getTime())) { // 检查日期是否有效
-                    document.getElementById('dateBirth').value = formatBirthDate(birthDate);
-                    document.getElementById('age').value = calculateAge(birthDate);
-                } else {
-                    document.getElementById('dateBirth').value = '';
-                    document.getElementById('age').value = '0';
-                }
-            } else {
-                document.getElementById('dateBirth').value = '';
-                document.getElementById('age').value = '0';
-            }
+            idCard();
         });
 
-        // 定义一个函数来计算年龄
-        function calculateAge(dateOfBirth) {
-            var today = new Date();
-            var age = today.getFullYear() - dateOfBirth.getFullYear();
-            var m = today.getMonth() - dateOfBirth.getMonth();
-
-            if (today.getFullYear() === dateOfBirth.getFullYear()) {
-                return '0';
-            }
-
-            if (m < 0 || (m === 0 && today.getDate() < dateOfBirth.getDate())) {
-                age--;
-            }
-
-            return age;
-        }
 
-        // 格式化出生日期
-        function formatBirthDate(date) {
-            var year = date.getFullYear();
-            var month = ('0' + (date.getMonth() + 1)).slice(-2);
-            var day = ('0' + date.getDate()).slice(-2);
-            return `${year}-${month}-${day}`;
-        }
         var clearSpan = $('.select2-selection-clear');
         // 初始化 Select2 插件
         $('#category-select').select2({
@@ -386,7 +349,6 @@
         }
     }
     function sendImageToServer(file) {
-        debugger;
         var formdata = new FormData();
         formdata.append("idcardImgfile", file);
         $.ajax({
@@ -423,12 +385,18 @@
                     const gender = result.data.words_result.性别.words;
                     const address = result.data.words_result.住址.words;
                     const dateBirth = result.data.words_result.出生.words;
-                    const nation = result.data.words_result.名族.words;
-
+                    //const nation = result.data.words_result.名族.words;
+                    if (gender == "男"){
+                        $("#gender").val("0");
+                    }else if (gender == "女"){
+                        $("#gender").val("1");
+                    }else if (gender == "未知"){
+                        $("#gender").val("2");
+                    }
                     // 将提取的信息填充到表单中
                     document.getElementById('name').value = name;
                     document.getElementById('documentNumber').value = idNumber;
-                    document.getElementById('gender').value = gender;
+                    idCard();
                 } else {
                     console.error('OCR 识别失败:', result);
                 }
@@ -438,4 +406,51 @@
             }
         });
     }
+
+    function idCard(){
+        var documentNumber = $('#documentNumber').val();
+        if (documentNumber.length === 18) { // 假设证件号码是18位的身份证号
+            var birthDateStr = documentNumber.substring(6, 14); // 提取出生日期部分
+            var year = birthDateStr.substring(0, 4);
+            var month = birthDateStr.substring(4, 6);
+            var day = birthDateStr.substring(6, 8);
+
+            var birthDate = new Date(year, month - 1, day); // 创建日期对象
+
+            if (!isNaN(birthDate.getTime())) { // 检查日期是否有效
+                document.getElementById('dateBirth').value = formatBirthDate(birthDate);
+                document.getElementById('age').value = calculateAge(birthDate);
+            } else {
+                document.getElementById('dateBirth').value = '';
+                document.getElementById('age').value = '0';
+            }
+        } else {
+            document.getElementById('dateBirth').value = '';
+            document.getElementById('age').value = '0';
+        }
+    }
+    // 定义一个函数来计算年龄
+    function calculateAge(dateOfBirth) {
+        var today = new Date();
+        var age = today.getFullYear() - dateOfBirth.getFullYear();
+        var m = today.getMonth() - dateOfBirth.getMonth();
+
+        if (today.getFullYear() === dateOfBirth.getFullYear()) {
+            return '0';
+        }
+
+        if (m < 0 || (m === 0 && today.getDate() < dateOfBirth.getDate())) {
+            age--;
+        }
+
+        return age;
+    }
+
+    // 格式化出生日期
+    function formatBirthDate(date) {
+        var year = date.getFullYear();
+        var month = ('0' + (date.getMonth() + 1)).slice(-2);
+        var day = ('0' + date.getDate()).slice(-2);
+        return `${year}-${month}-${day}`;
+    }
 </script>

+ 15 - 6
health-admin/src/main/resources/templates/dtp/recipe/edit.html

@@ -298,7 +298,7 @@
                     }).appendTo(options);
 
                 });
-                console.log("hospitals====="+hospitals);
+                //console.log("hospitals====="+hospitals);
                     // 设置默认选中的 dl 选项
                     options.val(hospitals).trigger('change');
                     /*$('#category-select').select2({
@@ -395,7 +395,7 @@
     });
     var flag="";
     function loadSubcategories(categoryId) {
-        console.log("categoryId"+categoryId);//categoryId1,3,5
+        //console.log("categoryId"+categoryId);//categoryId1,3,5
         const categoryIdStr = String(categoryId);
         const flagStr = String(flag);
         if(flagStr===categoryIdStr){
@@ -640,8 +640,8 @@
         formData.append('xl', XL);
         formData.append('dlanme', DL);
         formData.append('xlname', XL);
-        console.log("DL=" + DL);
-        console.log("XL=" + XL);
+        // console.log("DL=" + DL);
+        // console.log("XL=" + XL);
 // 将药物数据序列化为 JSON 字符串并添加到 FormData 中
         var tableRows = [];
         var falg = true;
@@ -863,7 +863,7 @@
                         </select>
                     </td>
                     <td> <input name="dosageFrequencyDays" id="dosageFrequencyDays${columnsData.productId}" placeholder="购药包装单位" class="styled-input" style="width: 100px;" type="number"><span id="ycode${columnsData.productId}"></span></td>
-                    <td> <input name="dvalueDays" id="dvalueDays${columnsData.productId}" placeholder="系统自动计算" class="styled-input" disabled="" style="width: 100px;" type="number"></td>
+                    <td> <input name="dvalueDays" id="dvalueDays${columnsData.productId}" placeholder="系统自动计算" class="styled-input" disabled="" style="width: 80px;" type="number"></td>
                 </tr>
             `;
                 tableBody.append(row);
@@ -1155,7 +1155,7 @@
                         </select>
                     </td>
                     <td> <input name="dosageFrequencyDays" id="dosageFrequencyDays${columnsData.productId}" placeholder="购药包装单位" class="styled-input" style="width: 100px;" type="number"><span id="ycode${columnsData.productId}"></span></td>
-                    <td> <input name="dvalueDays" id="dvalueDays${columnsData.productId}" placeholder="系统自动计算" class="styled-input" disabled="" style="width: 100px;" type="number"></td>
+                    <td> <input name="dvalueDays" id="dvalueDays${columnsData.productId}" placeholder="系统自动计算" class="styled-input" disabled="" style="width: 80px;" type="number"><span id="defaultNum${columnsData.productId}" style="color: red"></span></td>
                 </tr>
             `;
                 tableBody.append(row);
@@ -1169,6 +1169,15 @@
                 $('#dosageFrequency'+columnsData.productId).val(columnsData.dosageFrequency);
                 $('#dosageFrequencyDays'+columnsData.productId).val(columnsData.packingValue);
                 $('#ycode'+columnsData.productId).text(columnsData.packingUnit);
+                var dcnum = columnsData.singleDoseValue; // 单次用量
+                var pcnum = columnsData.dosageFrequency; // 用药频次  eg: 一天一次
+                // 计算 D 值
+                if((dcnum*pcnum)>columnsData.dosageMax){
+                    $('#defaultNum'+columnsData.productId).text("默认值");
+                }
+                if((dcnum*pcnum)<columnsData.dosageMin){
+                    $('#defaultNum'+columnsData.productId).text("默认值");
+                }
             } else {
                 $.modal.alertWarning(`药品 [ ${columnsData.productName} ] 已经添加了`);
             }