浏览代码

new 新增dtp档案管理 修改、查询、删除 以及公共样式 以及小问题修复

bzd_lxf 5 月之前
父节点
当前提交
36aee994db
共有 23 个文件被更改,包括 1112 次插入82 次删除
  1. 1 10
      health-admin/src/main/java/com/bzd/HealthApplication.java
  2. 107 2
      health-admin/src/main/java/com/bzd/web/controller/DTP/RecipeRegisterController.java
  3. 1 1
      health-admin/src/main/resources/application-dev.yml
  4. 5 2
      health-admin/src/main/resources/application-druid.yml
  5. 34 9
      health-admin/src/main/resources/static/health/css/input-styles.css
  6. 31 0
      health-admin/src/main/resources/static/health/js/common.js
  7. 1 1
      health-admin/src/main/resources/static/health/js/ry-ui.js
  8. 0 0
      health-admin/src/main/resources/templates/dtp/add.html
  9. 263 0
      health-admin/src/main/resources/templates/dtp/archivesEdit.html
  10. 402 0
      health-admin/src/main/resources/templates/dtp/archivesList.html
  11. 80 0
      health-admin/src/main/resources/templates/dtp/edit.html
  12. 0 0
      health-admin/src/main/resources/templates/dtp/serv.html
  13. 2 0
      health-admin/src/main/resources/templates/include.html
  14. 3 1
      health-admin/src/main/resources/templates/index-topnav.html
  15. 3 1
      health-admin/src/main/resources/templates/index.html
  16. 2 0
      health-admin/src/main/resources/templates/lock.html
  17. 3 0
      health-admin/src/main/resources/templates/login.html
  18. 2 0
      health-admin/src/main/resources/templates/register.html
  19. 3 3
      health-admin/src/main/resources/templates/server/serv/serv.html
  20. 14 14
      health-admin/src/main/resources/templates/system/user/user.html
  21. 1 0
      health-quartz/src/main/resources/templates/monitor/job/cron.html
  22. 16 0
      health-system/src/main/java/com/bzd/system/service/DTPService.java
  23. 138 38
      health-system/src/main/resources/mapper/system/RecipeRegisterMapper.xml

+ 1 - 10
health-admin/src/main/java/com/bzd/HealthApplication.java

@@ -18,15 +18,6 @@ public class HealthApplication
     {
         // System.setProperty("spring.devtools.restart.enabled", "false");
         SpringApplication.run(HealthApplication.class, args);
-        System.out.println("(♥◠‿◠)ノ゙  健康管理系统启动成功   ლ(´ڡ`ლ)゙  \n" +
-                " .-------.       ____     __        \n" +
-                " |  _ _   \\      \\   \\   /  /    \n" +
-                " | ( ' )  |       \\  _. /  '       \n" +
-                " |(_ o _) /        _( )_ .'         \n" +
-                " | (_,_).' __  ___(_ o _)'          \n" +
-                " |  |\\ \\  |  ||   |(_,_)'         \n" +
-                " |  | \\ `'   /|   `-'  /           \n" +
-                " |  |  \\    /  \\      /           \n" +
-                " ''-'   `'-'    `-..-'              ");
+        System.out.println("(♥◠‿◠)ノ゙  健康管理系统启动成功   ლ(´ڡ`ლ)゙  \n");
     }
 }

+ 107 - 2
health-admin/src/main/java/com/bzd/web/controller/DTP/RecipeRegisterController.java

@@ -6,17 +6,26 @@ import com.bzd.common.core.controller.BaseController;
 import com.bzd.common.core.domain.AjaxResult;
 import com.bzd.common.core.page.TableDataInfo;
 import com.bzd.common.enums.BusinessType;
+import com.bzd.framework.web.exception.GlobalExceptionHandler;
 import com.bzd.system.service.DTPService;
 import com.bzd.system.service.IServerGService;
 import com.bzd.system.service.ServerService;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.apache.poi.ss.formula.functions.T;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.*;
 
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
-
+import java.util.Map;
 
 
 /**
@@ -27,7 +36,9 @@ import java.util.List;
 @RequestMapping("/dtp/RecipeRegister")
 public class RecipeRegisterController extends BaseController {
 
-    private String prefix = "dtp/RecipeRegister";
+    private static final Logger logger = LoggerFactory.getLogger(RecipeRegisterController.class);
+
+    private String prefix = "dtp";
 
     @Autowired
     private DTPService dtpService;
@@ -54,4 +65,98 @@ public class RecipeRegisterController extends BaseController {
     }
 
 
+    /**
+     * 档案管理页
+     * @return
+     */
+    @RequiresPermissions("dtp:RecipeRegister:view")
+    @GetMapping("/archives")
+    public String archives(ModelMap mmap)
+    {
+        mmap.put("posts", 1);
+        return prefix + "/archivesList";
+    }
+
+    /**
+     * 档案管理数据查询
+     * @return
+     * @throws Exception
+     */
+    @RequiresPermissions("dtp:RecipeRegister:archivesList")
+    @PostMapping("/archivesList")
+    @ResponseBody
+    public TableDataInfo archivesList() throws Exception {
+        PageData pd = this.getPageData();
+        startPage();
+        List<PageData> pageData = dtpService.findArchivesList(pd);
+        return getDataTable(pageData);
+    }
+
+    /**
+     * 档案管理数据删除 根据id
+     * @return
+     * @throws Exception
+     */
+    @RequiresPermissions("dtp:RecipeRegister:remove")
+    @Log(title = "档案管理删除", businessType = BusinessType.DELETE)
+    @PostMapping("/archivesRemove")
+    @ResponseBody
+    public AjaxResult archivesRemove() throws Exception
+    {
+        PageData pd = new PageData();
+        pd = this.getPageData();
+        try {
+
+        }catch (Exception e){
+
+        }
+        Integer integer = dtpService.archivesRemove(pd);
+        return toAjax(integer);
+    }
+
+    /**
+     * 档案管理数据修改
+     * @return
+     * @throws Exception
+     */
+    @RequiresPermissions("dtp:RecipeRegister:edit")
+    @GetMapping("/archivesEdit/{archivesId}")
+    public String archivesView(@PathVariable("archivesId") Long archivesId, ModelMap mmap)throws Exception
+    {
+        ObjectMapper mapper = new ObjectMapper();
+        PageData pd = this.getPageData();
+        pd.put("archivesId",archivesId);
+        PageData pageData = dtpService.findArchivesList(pd).get(0);
+        mmap.putAll(pageData);
+        return prefix + "/archivesEdit";
+    }
+
+    /**
+     * 保存档案管理数据修改
+     */
+    @RequiresPermissions("dtp:RecipeRegister:edit")
+    @Log(title = "档案管理修改", businessType = BusinessType.UPDATE)
+    @PostMapping("/archivesEdit")
+    @ResponseBody
+    public AjaxResult editSave() throws Exception
+    {
+        PageData pd = this.getPageData();
+        pd.put("up","up");
+        try {
+            Integer updateResult = dtpService.updateArchives(pd);
+            if (updateResult == 1) {
+                // 成功更新
+                return AjaxResult.success("修改成功");
+            } else {
+                // 更新失败
+                logger.error("Failed to update archives with ID: {}", pd.get("id"));
+                return AjaxResult.error("修改失败");
+            }
+        } catch (Exception e) {
+            // 异常处理
+            logger.error("Error occurred while updating archives with ID: {}, Exception: {}", pd.get("id"), e.getMessage(), e);
+            return AjaxResult.error("系统异常:" + e.getMessage());
+        }
+    }
+
 }

+ 1 - 1
health-admin/src/main/resources/application-dev.yml

@@ -9,7 +9,7 @@ spring:
             master:
                 url: jdbc:mysql://182.43.195.17:3306/health?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
                 username: root
-                password: '#Bzd_root_@1234'
+                password: 'bzd@123#321!'
             # 从库数据源
             slave:
                 # 从数据源开关/默认关闭

+ 5 - 2
health-admin/src/main/resources/application-druid.yml

@@ -1,3 +1,4 @@
+# 本地环境
 # 数据源配置
 spring:
     datasource:
@@ -6,9 +7,9 @@ spring:
         druid:
             # 主库数据源
             master:
-                url: jdbc:mysql://182.43.195.17:3306/health?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+                url: jdbc:mysql://localhost:3306/health_a?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
                 username: root
-                password: root
+                password: 123456
             # 从库数据源
             slave:
                 # 从数据源开关/默认关闭
@@ -59,3 +60,5 @@ spring:
                 wall:
                     config:
                         multi-statement-allow: true
+
+

+ 34 - 9
health-admin/src/main/resources/static/health/css/input-styles.css

@@ -4,37 +4,37 @@
  */
 
 /* 基本样式 */
-.input-styles {
+.styled-input {
 	/*display: block; /* 使其独占一行 */
 	width: 300px; /* 宽度为容器宽度 */
 	padding: 5px; /* 内边距 */
 	font-size: 16px; /* 字体大小 */
 	color: #333; /* 字体颜色 */
-	background-color: #fff; /* 背景颜色 */
-	border: 1px solid #ccc; /* 边框 */
+	/*background-color: #fff; !* 背景颜色 *!*/
+	border: 1px solid; /* 边框 */
 	border-radius: 4px; /* 圆角边框 */
 	outline: none; /* 移除轮廓 */
 	transition: all 0.3s ease; /* 过渡动画 */
 }
 
 /* 聚焦时的效果 */
-.input-styles:focus {
+.styled-input:focus {
 	border-color: #55acee; /* 聚焦时边框颜色 */
 	box-shadow: 0 0 5px rgba(85, 170, 238, 0.5); /* 阴影效果 */
 }
 
 /* 输入框有内容时的效果 */
-.input-styles:not(:placeholder-shown) {
-	border-color: #5cb85c; /* 输入框有内容时边框颜色 */
-}
+/*.styled-input:not(:placeholder-shown) {
+	border-color: #5cb85c; !* 输入框有内容时边框颜色 *!
+}*/
 
 /* 鼠标悬停时的效果 */
-.input-styles:hover {
+.styled-input:hover {
 	border-color: #55acee; /* 悬停时边框颜色 */
 }
 
 /* 输入框禁用时的效果 */
-.input-styles:disabled {
+.styled-input:disabled {
 	background-color: #eee; /* 禁用时背景颜色 */
 	color: #999; /* 禁用时字体颜色 */
 	cursor: not-allowed; /* 禁用时鼠标光标 */
@@ -46,3 +46,28 @@
 	box-shadow: 0 0 5px rgba(85, 170, 238, 0.5); /* 改变过的阴影 */
 	background-color: rgb(232, 240, 254);
 }
+input{
+	width: 15px;
+}
+
+input[type="text"]:focus {
+	background-color: #55AAEE7F;
+}
+input[type="text"] {
+	background-color: #fff;
+}
+input[type="text"] {
+	transition: background-color 0.3s ease; /* 平滑过渡效果 */
+}
+
+input[type="text"]:not(.has-content):focus {
+	background-color: #fff; /* 输入框无内容时获得焦点的背景颜色 */
+}
+
+input[type="text"].has-content:focus {
+	background-color: #f0ad4e; /* 输入框有内容时获得焦点的背景颜色 */
+}
+
+input[type="text"].has-content:not(:focus) {
+	background-color: rgb(232, 240, 254); /* 输入框有内容且失去焦点的背景颜色 */
+}

+ 31 - 0
health-admin/src/main/resources/static/health/js/common.js

@@ -134,6 +134,37 @@ $(function() {
             });
         });
     }
+    // 日期时间 选择框
+    if ($(".time-input-new").length > 0) {
+        layui.use('laydate', function () {
+            const laydate = layui.laydate;
+            $(".time-input-new").each(function (index, item) {
+                const $input = $(item);
+                const type = $input.attr("data-type") || 'datetime';
+                const format = $input.attr("data-format") || 'yyyy-MM-dd HH:mm:ss';
+                const buttons = $input.attr("data-btn") || 'clear|now|confirm';
+                const callback = $input.attr("data-callback") || '';
+
+                // 处理按钮配置
+                const btns = buttons.split('|').filter(btn => ['clear', 'now', 'confirm'].includes(btn));
+
+                // 渲染日期选择器
+                laydate.render({
+                    elem: item,
+                    theme: 'molv',
+                    trigger: 'click',
+                    type,
+                    format,
+                    btns,
+                    done(value, data) {
+                        if (callback && typeof window[callback] === 'function') {
+                            window[callback](value, data);
+                        }
+                    }
+                });
+            });
+        });
+    }
 
     // tree 关键字搜索绑定
     if ($("#keyword").length > 0) {

+ 1 - 1
health-admin/src/main/resources/static/health/js/ry-ui.js

@@ -48,7 +48,7 @@ var table = {
                     paginationLoop: false,
                     pageSize: 10,
                     pageNumber: 1,
-                    pageList: [10, 25, 50, 100],
+                    pageList: [10, 15, 25, 50, 100],
                     toolbar: "toolbar",
                     loadingFontSize: 13,
                     striped: false,

+ 0 - 0
health-admin/src/main/resources/templates/DTP/add.html → health-admin/src/main/resources/templates/dtp/add.html


+ 263 - 0
health-admin/src/main/resources/templates/dtp/archivesEdit.html

@@ -0,0 +1,263 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('档案明细')" />
+</head>
+<style>
+
+</style>
+<script>
+    document.addEventListener('DOMContentLoaded', function() {
+        // 获取所有具有 .styled-input 类的选择框
+        var selects = document.querySelectorAll('.styled-input');
+        selects.forEach(function(select) {
+            var initialValue = select.getAttribute('data-default-value') || ''; // 获取默认值,默认为空字符串
+            select.addEventListener('change', function() {
+                var currentValue = this.value;
+                if (currentValue !== '' && currentValue !== initialValue) {
+                    // 当值改变时,添加一个类来标识
+                    this.classList.add('changed');
+                    initialValue = currentValue; // 更新初始值
+                } else {
+                    // 如果值回到初始值,则移除标识类
+                    this.classList.remove('changed');
+                }
+            });
+        });
+    });
+</script>
+<body>
+    <div class="ui-layout-center">
+        <form class="form-horizontal" id="form-server-edit" th:object="${user}">
+            <h4 class="form-header h4">基本信息</h4>
+            <input type="hidden" id="id" name="id" th:value="${id}">
+            <div class="row">
+                <div class="col-sm-12">
+                    <div class="form-group">
+                        <!--is-required 增加星号 显示为必填-->
+                        <label class="col-sm-1 control-label">姓名:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input name="name" placeholder="请输入姓名" class="styled-input" type="text" maxlength="30" th:value="${name}" required>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">性别:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <select name="sex" class="styled-input" th:with="type=${@dict.getType('sys_user_sex')}" >
+                                    <!--<option>所有</option>-->
+                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
+                                            th:selected="${dict.dictLabel} == ${gender}" ></option>
+                                </select>
+                                <!--<input name="gender" placeholder="请输入性别" class="styled-input" type="text" maxlength="30" th:value="${gender}" required>-->
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">年龄:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input name="age" placeholder="请输入年龄" class="styled-input" type="text" maxlength="30" th:value="${age}" required>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">手机号:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input name="phoneNumber" placeholder="请输入手机号" class="styled-input" type="text" maxlength="30" th:value="${phoneNumber}" required>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+                <div class="col-sm-12">
+                    <div class="form-group">
+                        <!--is-required 增加星号 显示为必填-->
+                        <label class="col-sm-1 control-label">证件类型:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input name="documentType" placeholder="请输入证件类型" class="styled-input" type="text" maxlength="30" th:value="${documentType}" required>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">证件号码:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input name="documentNumber" placeholder="请输入证件号码" class="styled-input" type="text" maxlength="30" th:value="${documentNumber}" required>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">实名状态:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <select name="realNameStatus" class="styled-input" th:with="type=${@dict.getType('sys_real_yes_no')}">
+                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
+                                            th:selected="${dict.dictLabel}==${realNameStatus}"></option>
+                                </select>
+                                <!--<input name="realNameStatus" placeholder="实名状态" class="styled-input" type="text" maxlength="30" th:value="${realNameStatus}" required>-->
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">上翻状态:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <select name="flipStatus" class="styled-input" th:with="type=${@dict.getType('sys_up_yes_no')}" >
+                                    <!--<option>所有</option>-->
+                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
+                                            th:selected="${dict.dictLabel} == ${flipStatus}" ></option>
+                                </select>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+                <div class="col-sm-12">
+                    <div class="form-group">
+                        <!--is-required 增加星号 显示为必填-->
+                        <label class="col-sm-1 control-label">疾病:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input name="disease" placeholder="请输入疾病" class="styled-input" type="text" maxlength="30" th:value="${disease}" required>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">药品通用名:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input name="genericName" placeholder="请输入药品通用名" class="styled-input" type="text" maxlength="30" th:value="${genericName}" required>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">商品名:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input name="productName" placeholder="请输入商品名" class="styled-input" type="text" maxlength="30" th:value="${productName}" required>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">MDM编码:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input name="mdmCode" placeholder="MDM编码" class="styled-input" type="text" maxlength="30" th:value="${mdmCode}" required>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+
+                <div class="col-sm-12">
+                    <div class="form-group">
+                        <!--is-required 增加星号 显示为必填-->
+                        <label class="col-sm-1 control-label">厂家:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input name="manufacturer" placeholder="请输入厂家" class="styled-input" type="text" maxlength="30" th:value="${manufacturer}" required>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">门店:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input name="storeName" placeholder="请输入门店" class="styled-input" type="text" maxlength="30" th:value="${storeName}" required>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">档案创建人:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input name="archiveCreator" placeholder="档案创建人" class="styled-input" type="text" maxlength="30" th:value="${archiveCreator}" required>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">档案完善人:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input name="archiveCompleter" placeholder="档案完善人" class="styled-input" type="text" maxlength="30" th:value="${archiveCompleter}" required>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+                <div class="col-sm-12">
+                    <div class="form-group">
+                        <!--is-required 增加星号 显示为必填-->
+                        <label class="col-sm-1 control-label">是否接受随访:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <select name="acceptFollowUp" class="styled-input" th:with="type=${@dict.getType('sys_select_yes_no')}">
+                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
+                                            th:selected="${dict.dictLabel}==${acceptFollowUp}"></option>
+                                </select>
+                                <!--<input name="acceptFollowUp" placeholder="是否接受随访" class="styled-input" type="text" maxlength="30" th:value="${acceptFollowUp}" required>-->
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">随访跟进人:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input name="followUpPerson" placeholder="随访跟进人" class="styled-input" type="text" maxlength="30" th:value="${followUpPerson}" required>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">档案是否完善:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <select name="archiveCompleteStatus" class="styled-input" th:with="type=${@dict.getType('sys_doc_yes_no')}">
+                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
+                                            th:selected="${dict.dictLabel}==${archiveCompleteStatus}"></option>
+                                </select>
+                                <!--<input name="archiveCompleteStatus" placeholder="档案是否完善" class="styled-input" type="text" maxlength="30" th:value="${archiveCompleteStatus}" required>-->
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">有无慈善援助:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <select name="charityAssistance" class="styled-input" th:with="type=${@dict.getType('sys_salvation_yes_no')}">
+                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
+                                            th:selected="${dict.dictLabel}==${charityAssistance}"></option>
+                                </select>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+                <div class="col-sm-12">
+                    <div class="form-group">
+                        <!--is-required 增加星号 显示为必填-->
+                        <label class="col-sm-1 control-label">是否参加共建项目:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <select name="joinProject" class="styled-input" th:with="type=${@dict.getType('sys_select_yes_no')}">
+                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
+                                            th:selected="${dict.dictLabel}==${joinProject}"></option>
+                                </select>
+                                <!--<input name="joinProject" placeholder="是否参加共建项目" class="styled-input" type="text" maxlength="30" th:value="${joinProject}" required>-->
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">随访状态:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <select name="followUpStatus" class="styled-input" th:with="type=${@dict.getType('sys_follow_up_visit')}">
+                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
+                                            th:selected="${dict.dictLabel}==${joinProject}"></option>
+                                </select>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">更新时间:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input type="text" class="styled-input time-input-new" id="updateTime" placeholder="更新时间" name="updateTime" th:value="${updateTime2}" required/>
+                            </div>
+                        </div>
+
+                    </div>
+                </div>
+            </div>
+        </form>
+    </div>
+    <div class="main-content">
+        <div class="col-sm-offset-5 col-sm-10">
+            <button type="button" class="btn btn-sm btn-primary" onclick="submitHandler()"><i class="fa fa-check"></i>保 存</button>&nbsp;
+            <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>
+        </div>
+    </div>
+	<th:block th:include="include :: footer" />
+</body>
+</html>
+
+<script>
+    function submitHandler() {
+        var prefix = ctx + "dtp/RecipeRegister";
+        if ($.validate.form()) {
+            var data = $("#form-server-edit").serializeArray();
+            /*var status = $("input[id='status']").is(':checked') == true ? 0 : 1;
+            var roleIds = $.form.selectCheckeds("role");
+            var postIds = $.form.selectSelects("post");
+            data.push({"name": "status", "value": status});
+            data.push({"name": "roleIds", "value": roleIds});
+            data.push({"name": "postIds", "value": postIds});*/
+            $.operate.saveTab(prefix + "/archivesEdit", data);
+        }
+    }
+</script>

+ 402 - 0
health-admin/src/main/resources/templates/dtp/archivesList.html

@@ -0,0 +1,402 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+<head>
+	<th:block th:include="include :: header('档案管理')" />
+	<th:block th:include="include :: layout-latest-css" />
+	<th:block th:include="include :: ztree-css" />
+</head>
+<style>
+	/* 设置 ul 的基本样式 */
+	ul {
+		list-style-type: none; /* 去掉项目符号 */
+		padding: 0; /* 去掉默认的内边距 */
+		display: grid; /* 使用网格布局 */
+		grid-template-columns: repeat(5, 1fr); /* 设置三列 */
+	}
+	ul-list ul{
+		list-style-type: none; /* 去掉项目符号 */
+		padding: 0; /* 去掉默认的内边距 */
+		display: grid; /* 使用网格布局 */
+		grid-template-columns: repeat(4, 1fr); /* 设置三列 */
+	}
+	ul-list ul li{
+		/*padding: 10px;*/ /* 内边距 */
+		text-align: left; /* 文本居中 */
+	}
+
+	/* 设置 li 的基本样式 */
+	li {
+		/*background-color: lightblue; *//* 背景颜色 */
+		/*padding: 1px; !* 内边距 *!*/
+		text-align: right; /* 文本居中 */
+	}
+</style>
+
+<body class="gray-bg">
+
+	<div class="ui-layout-center">
+		<div class="container-div">
+			<div class="row">
+				<div class="col-sm-12 search-collapse" >
+					<form id="archives-form">
+						<input type="hidden" id="deptId" name="deptId">
+		                <input type="hidden" id="parentId" name="parentId">
+
+						<div class="select-list" >
+							<ul>
+								<li>
+									患者信息:<input type="text" class="styled-input" name="name"/>
+								</li>
+								<li>
+									药品:<input type="text"  class="styled-input" name="genericName"/>
+								</li>
+								<li>
+									是否接受随访:
+									<select name="acceptFollowUp" id="acceptFollowUpSelect"  class="styled-input" th:with="type=${@dict.getType('sys_select_yes_no')}">
+										<option value="">所有</option>
+										<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}"></option>
+									</select>
+								</li>
+								<li>
+									档案是否完善:
+									<select name="archiveCompleteStatus" class="styled-input" th:with="type=${@dict.getType('sys_doc_yes_no')}">
+										<option value="">所有</option>
+										<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}" ></option>
+									</select>
+								</li>
+								<li style="text-align: center">
+									<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
+								    <a class="btn btn-warning btn-rounded btn-sm" onclick="resetPre()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
+								</li>
+							</ul>
+						</div>
+
+						<div class="ul-list select-list">
+							<ul>
+								<li>
+									随访跟进人:<input type="text"  class="styled-input" name="followUpPerson"/>
+								</li>
+								<li>
+									门店:<input type="text"  class="styled-input" name="storeName"/>
+								</li>
+								<li>
+									疾病:<input type="text"  class="styled-input" name="disease"/>
+								</li>
+								<li>
+									上翻状态:
+									<select name="flipStatus" class="styled-input" th:with="type=${@dict.getType('sys_up_yes_no')}" >
+										<option value="">所有</option>
+										<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}"></option>
+									</select>
+								</li>
+
+							</ul>
+							<ul>
+								<li>
+									随访状态:
+									<select name="followUpStatus" class="styled-input" th:with="type=${@dict.getType('sys_follow_up_visit')}">
+										<option value="">所有</option>
+										<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}"></option>
+									</select>
+								</li>
+								<li>
+									实名状态:
+									<select name="realNameStatus" class="styled-input" th:with="type=${@dict.getType('sys_real_yes_no')}">
+										<option value="">所有</option>
+										<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}"></option>
+									</select>
+								</li>
+								<li>
+									创建时间:<input type="text" class="styled-input time-input" id="updateTime" placeholder="更新时间" name="updateTime" th:value="${updateTime}" required/>
+								</li>
+								<li>
+									创建时间:<input type="text" class="styled-input time-input-new" id="updateTime1" placeholder="更新时间" name="updateTime" th:value="${updateTime}" required/>
+								</li>
+							</ul>
+							<ul>
+								<li>
+									性别:
+									<select name="gender" class="styled-input" th:with="type=${@dict.getType('sys_user_sex')}">
+										<option value="">所有</option>
+										<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}" ></option>
+									</select>
+								</li>
+								<li>
+									是否参加共建项目:
+									<select name="joinProject" class="styled-input" th:with="type=${@dict.getType('sys_select_yes_no')}">
+										<option value="">所有</option>
+										<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}"></option>
+									</select>
+								</li>
+								<li>
+									有无慈善援助:
+									<select name="charityAssistance" class="styled-input" th:with="type=${@dict.getType('sys_salvation_yes_no')}">
+										<option value="">所有</option>
+										<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}"></option>
+									</select>
+								</li>
+							</ul>
+						</div>
+					</form>
+				</div>
+
+		        <div class="btn-group-sm" id="toolbar" role="group">
+		        	<!--<a class="btn btn-success" onclick="$.operate.addTab()" shiro:hasPermission="system:user:add">
+		                <i class="fa fa-plus"></i> 新增
+		            </a>
+		             <a class="btn btn-primary single disabled" onclick="$.operate.editTab()" shiro:hasPermission="system:user:edit">
+			            <i class="fa fa-edit"></i> 修改
+			        </a>
+		            <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:user:remove">
+		                <i class="fa fa-remove"></i> 删除
+		            </a>
+		            <a class="btn btn-info" onclick="$.table.importExcel()" shiro:hasPermission="system:user:import">
+			            <i class="fa fa-upload"></i> 导入
+			        </a>
+		            <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:user:export">
+			            <i class="fa fa-download"></i> 导出
+			        </a>-->
+		        </div>
+
+		        <div class="col-sm-12 select-table table-striped">
+				    <table id="bootstrap-table"></table>
+				</div>
+			</div>
+		</div>
+	</div>
+
+	<th:block th:include="include :: footer" />
+	<th:block th:include="include :: layout-latest-js" />
+	<th:block th:include="include :: ztree-js" />
+	<script th:inline="javascript">
+		var editFlag = [[${@permission.hasPermi('dtp:RecipeRegister:edit')}]];
+		var removeFlag = [[${@permission.hasPermi('dtp:RecipeRegister:remove')}]];
+		var prefix = ctx + "dtp/RecipeRegister";
+		$(function() {
+		    var panehHidden = false;
+		    if ($(this).width() < 1590) {
+		        panehHidden = true;
+		    }
+		    $('body').layout({ initClosed: panehHidden, west__size: 185, resizeWithWindow: false });
+	     	// 回到顶部绑定
+	    	if ($.fn.toTop !== undefined) {
+	    		var opt = {
+	    			win:$('.ui-layout-center'),
+	    			doc:$('.ui-layout-center')
+	    		};
+	    		$('#scroll-up').toTop(opt);
+	    	}
+			queryArchivesList();
+		});
+
+		function queryArchivesList() {
+		    var options = {
+		        url: prefix + "/archivesList",
+		        viewUrl: prefix + "/archivesView/{id}",
+		        createUrl: prefix + "/archivesAdd",
+		        updateUrl: prefix + "/archivesEdit/{id}",
+		        removeUrl: prefix + "/archivesRemove",
+		        /*exportUrl: prefix + "/export",
+		        importUrl: prefix + "/importData",
+		        importTemplateUrl: prefix + "/importTemplate",*/
+		        sortName: "id",
+		        sortOrder: "asc",
+		        modalName: "档案",
+		        columns: [{
+		            checkbox: true
+		        },
+		        {
+		            field: 'name',
+		            title: '姓名'
+		        },
+		        {
+		            field: 'gender',
+		            title: '性别'
+		        },
+		        {
+		            field: 'age',
+		            title: '年龄'
+		        },
+		        {
+		            field: 'phoneNumber',
+		            title: '手机号'
+		        },
+				{
+		            field: 'documentType',
+		            title: '证件类型'
+		        },
+				{
+		            field: 'documentNumber',
+		            title: '证件号码'
+		        },
+				{
+		            field: 'realNameStatus',
+		            title: '实名状态'
+		        },
+				{
+		            field: 'flipStatus',
+		            title: '上翻状态'
+		        },
+				{
+		            field: 'disease',
+		            title: '疾病'
+		        },
+				{
+		            field: 'genericName',
+		            title: '药品通用名'
+		        },
+				{
+		            field: 'productName',
+		            title: '商品名'
+		        },
+				{
+		            field: 'mdmCode',
+		            title: 'MDM编码'
+		        },
+				{
+		            field: 'manufacturer',
+		            title: '厂家'
+		        },
+				{
+		            field: 'storeName',
+		            title: '门店'
+		        },
+				{
+		            field: 'archiveCreator',
+		            title: '档案创建人'
+		        },
+				{
+		            field: 'archiveCompleter',
+		            title: '档案完善人'
+		        },
+				{
+		            field: 'acceptFollowUp',
+		            title: '是否接受随访'
+		        },
+				{
+		            field: 'followUpPerson',
+		            title: '随访跟进人'
+		        },
+				{
+		            field: 'archiveCompleteStatus',
+		            title: '档案是否完善'
+		        },
+				{
+		            field: 'charityAssistance',
+		            title: '有无慈善援助'
+		        },
+				{
+		            field: 'joinProject',
+		            title: '是否参加共建项目'
+		        },
+				{
+		            field: 'followUpStatus',
+		            title: '随访状态'
+		        },
+				{
+		            field: 'updateTime2',
+		            title: '更新时间'
+		        },
+				/*{
+		        	formatter: function (value, row, index) {
+						console.log(value+"-------v");
+						console.log(row+"-------r");
+		        		return statusTools(row);
+		        	}
+		        },*/
+
+		        {
+		            title: '操作',
+		            align: 'center',
+		            formatter: function(value, row, index) {
+		                if (row.serviceId != 1) {
+		                	var actions = [];
+			                actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.editTab(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
+			                actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a> ');
+			                var more = [];
+			                /*more.push("<a class='btn btn-default btn-xs " + resetPwdFlag + "' href='javascript:void(0)' onclick='resetPwd(" + row.userId + ")'><i class='fa fa-key'></i>重置密码</a> ");
+			                more.push("<a class='btn btn-default btn-xs " + editFlag + "' href='javascript:void(0)' onclick='authRole(" + row.userId + ")'><i class='fa fa-check-square-o'></i>分配角色</a>");
+			                actions.push('<a tabindex="0" class="btn btn-info btn-xs" role="button" data-container="body" data-placement="left" data-toggle="popover" data-html="true" data-trigger="hover" data-content="' + more.join('') + '"><i class="fa fa-chevron-circle-right"></i>更多操作</a>');*/
+			                return actions.join('');
+		            	} else {
+		                    return "";
+		                }
+		            }
+		        }]
+		    };
+		    $.table.init(options);
+		}
+
+
+
+		/*$('#btnExpand').click(function() {
+			$._tree.expandAll(true);
+		    $(this).hide();
+		    $('#btnCollapse').show();
+		});
+
+		$('#btnCollapse').click(function() {
+			$._tree.expandAll(false);
+		    $(this).hide();
+		    $('#btnExpand').show();
+		});*/
+
+		/* 自定义重置-表单重置/隐藏框/树节点选择色/搜索 */
+		function resetPre() {
+			resetDate();
+			$("#archives-form")[0].reset();
+			$("#deptId").val("");
+			$("#parentId").val("");
+			$(".curSelectedNode").removeClass("curSelectedNode");
+			$.table.search();
+			var resetButton = document.getElementById('archives-form');
+			resetButton.addEventListener('click', function() {
+				var selects = document.querySelectorAll('.styled-input');
+				selects.forEach(function(select) {
+					var initialValue = select.getAttribute('data-default-value') || ''; // 获取默认值,默认为空字符串
+					var currentValue = select.value;
+					if (currentValue !== '') {
+						// 当值改变时,添加一个类来标识
+						select.classList.add('changed');
+						// 更新初始值
+						select.setAttribute('data-default-value', currentValue);
+					} else {
+						// 如果值回到初始值,则移除标识类
+						select.classList.remove('changed');
+					}
+				});
+			});
+		}
+
+
+		/* 用户状态显示 */
+		function statusTools(row) {
+		    if (row.status == 1) {
+    			return '<i class=\"fa fa-toggle-off text-info fa-2x\" onclick="enable(\'' + row.userId + '\')"></i> ';
+    		} else {
+    			return '<i class=\"fa fa-toggle-on text-info fa-2x\" onclick="disable(\'' + row.userId + '\')"></i> ';
+    		}
+		}
+
+		document.addEventListener('DOMContentLoaded', function() {
+			// 获取所有具有 .styled-input 类的选择框
+			var selects = document.querySelectorAll('.styled-input');
+			selects.forEach(function(select) {
+				var initialValue = select.getAttribute('data-default-value') || ''; // 获取默认值,默认为空字符串
+				select.addEventListener('change', function() {
+					var currentValue = this.value;
+					if (currentValue !== '' && currentValue !== initialValue) {
+						// 当值改变时,添加一个类来标识
+						this.classList.add('changed');
+						initialValue = currentValue; // 更新初始值
+					} else {
+						// 如果值回到初始值,则移除标识类
+						this.classList.remove('changed');
+					}
+				});
+			});
+		});
+	</script>
+</body>
+
+</html>

+ 80 - 0
health-admin/src/main/resources/templates/dtp/edit.html

@@ -0,0 +1,80 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('服务详细')" />
+</head>
+<body>
+    <div class="main-content">
+        <form class="form-horizontal" id="form-server-edit" th:object="${server}">
+            <h4 class="form-header h4">基本信息</h4>
+            <input type="hidden" id="serviceId" name="serviceId" th:value="${serviceId}">
+            <div class="row">
+                <div class="col-sm-12">
+                    <div class="form-group">
+                        <!--is-required 增加星号 显示为必填-->
+                        <label class="col-sm-5 control-label">服务类型编号:</label>
+                        <div class="col-sm-4" >
+                            <div class="input-group">
+                                <input name="serviceTypeNumber" placeholder="请输入服务类型编号" class="form-control" type="text" maxlength="30" th:value="${serviceTypeNumber}" required>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+                <div class="col-sm-12">
+                    <div class="form-group">
+                        <label class="col-sm-5 control-label">服务类型名称:</label>
+                        <div class="col-sm-4">
+                            <div class="input-group">
+                                <input name="serviceTypeName" placeholder="请输入服务类型名称" class="form-control" type="text" maxlength="30" th:value="${serviceTypeName}" required>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+                <div class="col-sm-12">
+                    <div class="form-group">
+                        <label class="col-sm-5 control-label">服务类型描述:</label>
+                        <div class="col-sm-4">
+                            <div class="input-group">
+                                <input name="serviceTypeDescription" placeholder="请输入服务类型描述" class="form-control" type="text" maxlength="30" th:value="${serviceTypeDescription}" required>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+                <div class="col-sm-12">
+                    <div class="form-group">
+                        <label class="col-sm-5 control-label">履约方:</label>
+                        <div class="col-sm-4">
+                            <div class="input-group">
+                                <input name="fulfillmentParty" placeholder="履约方" class="form-control" type="text" maxlength="30" th:value="${fulfillmentParty}" required>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </form>
+    </div>
+    <div class="main-content">
+        <div class="col-sm-offset-5 col-sm-10">
+            <button type="button" class="btn btn-sm btn-primary" onclick="submitHandler()"><i class="fa fa-check"></i>保 存</button>&nbsp;
+            <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>
+        </div>
+    </div>
+	<th:block th:include="include :: footer" />
+</body>
+</html>
+
+<script>
+    function submitHandler() {
+        var prefix = ctx + "server/serv";
+        if ($.validate.form()) {
+            var data = $("#form-server-edit").serializeArray();
+            /*var status = $("input[id='status']").is(':checked') == true ? 0 : 1;
+            var roleIds = $.form.selectCheckeds("role");
+            var postIds = $.form.selectSelects("post");
+            data.push({"name": "status", "value": status});
+            data.push({"name": "roleIds", "value": roleIds});
+            data.push({"name": "postIds", "value": postIds});*/
+            $.operate.saveTab(prefix + "/edit", data);
+        }
+    }
+</script>

+ 0 - 0
health-admin/src/main/resources/templates/DTP/serv.html → health-admin/src/main/resources/templates/dtp/serv.html


+ 2 - 0
health-admin/src/main/resources/templates/include.html

@@ -12,6 +12,7 @@
 	<link th:href="@{/ajax/libs/bootstrap-table/bootstrap-table.min.css?v=1.22.6}" rel="stylesheet"/>
 	<link th:href="@{/css/animate.min.css?v=20210831}" rel="stylesheet"/>
 	<link th:href="@{/css/style.min.css?v=20210831}" rel="stylesheet"/>
+	<link th:href="@{/health/css/input-styles.css?v=4.7.9}" rel="stylesheet"/>
 	<link th:href="@{/health/css/ry-ui.css?v=4.7.9}" rel="stylesheet"/>
 </head>
 
@@ -38,6 +39,7 @@
 	<script th:src="@{/ajax/libs/layui/layui.min.js?v=2.8.18}"></script>
 	<script th:src="@{/health/js/common.js?v=4.7.9}"></script>
 	<script th:src="@{/health/js/ry-ui.js?v=4.7.9}"></script>
+	<script th:src="@{/health/js/input-styles.js?v=4.7.9}"></script>
 </div>
 
 <!-- ztree树插件 -->

+ 3 - 1
health-admin/src/main/resources/templates/index-topnav.html

@@ -14,7 +14,8 @@
     <link th:href="@{/css/animate.min.css}" rel="stylesheet"/>
     <link th:href="@{/css/style.min.css}" rel="stylesheet"/>
     <link th:href="@{/css/skins.css?v=20200902}" rel="stylesheet"/>
-    <link th:href="@{/health/css/ry-ui.css?v=4.7.9}" rel="stylesheet"/>
+	<link th:href="@{/health/css/input-styles.css?v=4.7.9}" rel="stylesheet"/>
+	<link th:href="@{/health/css/ry-ui.css?v=4.7.9}" rel="stylesheet"/>
     <style type="text/css">.fixed-sidebar .nav:not(.navbar-toolbar)>li.active{border-left:0px!important;}</style>
 </head>
 <body class="fixed-sidebar full-height-layout gray-bg" th:classappend="${isMobile} ? 'canvas-menu'" style="overflow: hidden">
@@ -322,6 +323,7 @@
 <script th:src="@{/ajax/libs/blockUI/jquery.blockUI.js}"></script>
 <script th:src="@{/ajax/libs/layer/layer.min.js}"></script>
 <script th:src="@{/health/js/ry-ui.js?v=4.7.9}"></script>
+<script th:src="@{/health/js/input-styles.js?v=4.7.9}"></script>
 <script th:src="@{/health/js/common.js?v=4.7.9}"></script>
 <script th:src="@{/health/index.js?v=20201208}"></script>
 <script th:src="@{/ajax/libs/fullscreen/jquery.fullscreen.js}"></script>

+ 3 - 1
health-admin/src/main/resources/templates/index.html

@@ -14,7 +14,8 @@
     <link th:href="@{/css/animate.min.css}" rel="stylesheet"/>
     <link th:href="@{/css/style.min.css}" rel="stylesheet"/>
     <link th:href="@{/css/skins.css}" rel="stylesheet"/>
-    <link th:href="@{/health/css/ry-ui.css?v=4.7.9}" rel="stylesheet"/>
+	<link th:href="@{/health/css/input-styles.css?v=4.7.9}" rel="stylesheet"/>
+	<link th:href="@{/health/css/ry-ui.css?v=4.7.9}" rel="stylesheet"/>
 </head>
 <body class="fixed-sidebar full-height-layout gray-bg" th:classappend="${isMobile} ? 'canvas-menu'" style="overflow: hidden">
 <div id="wrapper">
@@ -268,6 +269,7 @@
 <script th:src="@{/ajax/libs/blockUI/jquery.blockUI.js}"></script>
 <script th:src="@{/ajax/libs/layer/layer.min.js}"></script>
 <script th:src="@{/health/js/ry-ui.js?v=4.7.9}"></script>
+<script th:src="@{/health/js/input-styles.js?v=4.7.9}"></script>
 <script th:src="@{/health/js/common.js?v=4.7.9}"></script>
 <script th:src="@{/health/index.js?v=20201208}"></script>
 <script th:src="@{/ajax/libs/fullscreen/jquery.fullscreen.js}"></script>

+ 2 - 0
health-admin/src/main/resources/templates/lock.html

@@ -39,6 +39,8 @@
 <script src="../static/js/three.min.js" th:src="@{/js/three.min.js}"></script>
 <script src="../static/ajax/libs/layer/layer.min.js" th:src="@{/ajax/libs/layer/layer.min.js}"></script>
 <script src="../static/health/js/ry-ui.js" th:src="@{/health/js/ry-ui.js?v=4.7.9}"></script>
+<script src="../static/health/js/input-styles.js" th:src="@{/health/js/input-styles.js?v=4.7.9}"></script>
+
 </body>
 <script th:inline="javascript">
     var ctx = [[@{/}]];

+ 3 - 0
health-admin/src/main/resources/templates/login.html

@@ -9,7 +9,9 @@
     <link href="../static/css/font-awesome.min.css" th:href="@{/css/font-awesome.min.css}" rel="stylesheet"/>
     <link href="../static/css/style.min.css" th:href="@{/css/style.min.css}" rel="stylesheet"/>
     <link href="../static/css/login.min.css" th:href="@{/css/login.min.css}" rel="stylesheet"/>
+    <link href="../static/health/css/input-styles.css" th:href="@{/health/css/input-styles.css?v=4.7.9}" rel="stylesheet"/>
     <link href="../static/health/css/ry-ui.css" th:href="@{/health/css/ry-ui.css?v=4.7.9}" rel="stylesheet"/>
+
     <!-- 360浏览器急速模式 -->
     <meta name="renderer" content="webkit">
     <!-- 避免IE使用兼容模式 -->
@@ -77,6 +79,7 @@
 <script src="../static/ajax/libs/layer/layer.min.js" th:src="@{/ajax/libs/layer/layer.min.js}"></script>
 <script src="../static/ajax/libs/blockUI/jquery.blockUI.js" th:src="@{/ajax/libs/blockUI/jquery.blockUI.js}"></script>
 <script src="../static/health/js/ry-ui.js" th:src="@{/health/js/ry-ui.js?v=4.7.9}"></script>
+<script src="../static/health/js/input-styles.js" th:src="@{/health/js/input-styles.js?v=4.7.9}"></script>
 <script src="../static/health/login.js" th:src="@{/health/login.js}"></script>
 </body>
 </html>

+ 2 - 0
health-admin/src/main/resources/templates/register.html

@@ -9,6 +9,7 @@
     <link href="../static/css/font-awesome.min.css" th:href="@{/css/font-awesome.min.css}" rel="stylesheet"/>
     <link href="../static/css/style.min.css" th:href="@{/css/style.min.css}" rel="stylesheet"/>
     <link href="../static/css/login.min.css" th:href="@{/css/login.min.css}" rel="stylesheet"/>
+    <link href="../static/health/css/input-styles.css" th:href="@{/health/css/input-styles.css?v=4.7.9}" rel="stylesheet"/>
     <link href="../static/health/css/ry-ui.css" th:href="@{/health/css/ry-ui.css?v=4.7.9}" rel="stylesheet"/>
     <!-- 360浏览器急速模式 -->
     <meta name="renderer" content="webkit">
@@ -76,6 +77,7 @@
 <script src="../static/ajax/libs/layer/layer.min.js" th:src="@{/ajax/libs/layer/layer.min.js}"></script>
 <script src="../static/ajax/libs/blockUI/jquery.blockUI.js" th:src="@{/ajax/libs/blockUI/jquery.blockUI.js}"></script>
 <script src="../static/health/js/ry-ui.js" th:src="@{/health/js/ry-ui.js?v=4.7.9}"></script>
+<script src="../static/health/js/input-styles.js" th:src="@{/health/js/input-styles.js?v=4.7.9}"></script>
 <script src="../static/health/register.js" th:src="@{/health/register.js}"></script>
 </body>
 </html>

+ 3 - 3
health-admin/src/main/resources/templates/server/serv/serv.html

@@ -92,7 +92,7 @@
 	    		$('#scroll-up').toTop(opt);
 	    	}
 		    queryUserList();
-		    queryDeptTree();
+		    //queryDeptTree();
 		});
 
 		function queryUserList() {
@@ -158,7 +158,7 @@
 		    $.table.init(options);
 		}
 
-		function queryDeptTree()
+		/*function queryDeptTree()
 		{
 			var url = ctx + "system/user/deptTreeData";
 			var options = {
@@ -173,7 +173,7 @@
 				$("#parentId").val(treeNode.pId);
 				$.table.search();
 			}
-		}
+		}*/
 
 		$('#btnExpand').click(function() {
 			$._tree.expandAll(true);

+ 14 - 14
health-admin/src/main/resources/templates/system/user/user.html

@@ -24,7 +24,7 @@
 			</div>
 		</div>
 	</div>
-	
+
 	<div class="ui-layout-center">
 		<div class="container-div">
 			<div class="row">
@@ -60,7 +60,7 @@
 						</div>
 					</form>
 				</div>
-				
+
 		        <div class="btn-group-sm" id="toolbar" role="group">
 		        	<a class="btn btn-success" onclick="$.operate.addTab()" shiro:hasPermission="system:user:add">
 		                <i class="fa fa-plus"></i> 新增
@@ -78,14 +78,14 @@
 			            <i class="fa fa-download"></i> 导出
 			        </a>
 		        </div>
-		        
+
 		        <div class="col-sm-12 select-table table-striped">
 				    <table id="bootstrap-table"></table>
 				</div>
 			</div>
 		</div>
 	</div>
-	
+
 	<th:block th:include="include :: footer" />
 	<th:block th:include="include :: layout-latest-js" />
 	<th:block th:include="include :: ztree-js" />
@@ -192,7 +192,7 @@
 		    };
 		    $.table.init(options);
 		}
-		
+
 		function queryDeptTree()
 		{
 			var url = ctx + "system/user/deptTreeData";
@@ -202,30 +202,30 @@
 		        onClick : zOnClick
 		    };
 			$.tree.init(options);
-			
+
 			function zOnClick(event, treeId, treeNode) {
 				$("#deptId").val(treeNode.id);
 				$("#parentId").val(treeNode.pId);
 				$.table.search();
 			}
 		}
-		
+
 		$('#btnExpand').click(function() {
 			$._tree.expandAll(true);
 		    $(this).hide();
 		    $('#btnCollapse').show();
 		});
-		
+
 		$('#btnCollapse').click(function() {
 			$._tree.expandAll(false);
 		    $(this).hide();
 		    $('#btnExpand').show();
 		});
-		
+
 		$('#btnRefresh').click(function() {
 			queryDeptTree();
 		});
-		
+
 		/* 自定义重置-表单重置/隐藏框/树节点选择色/搜索 */
 		function resetPre() {
 			resetDate();
@@ -247,13 +247,13 @@
 		    var url = prefix + '/resetPwd/' + userId;
 		    $.modal.open("重置密码", url, '800', '300');
 		}
-		
+
 		/* 用户管理-分配角色 */
 		function authRole(userId) {
 		    var url = prefix + '/authRole/' + userId;
 		    $.modal.openTab("用户分配角色", url);
 		}
-		
+
 		/* 用户状态显示 */
 		function statusTools(row) {
 		    if (row.status == 1) {
@@ -262,7 +262,7 @@
     			return '<i class=\"fa fa-toggle-on text-info fa-2x\" onclick="disable(\'' + row.userId + '\')"></i> ';
     		}
 		}
-		
+
 		/* 用户管理-停用 */
 		function disable(userId) {
 			$.modal.confirm("确认要停用用户吗?", function() {
@@ -293,4 +293,4 @@
 	</div>
 </form>
 </script>
-</html>
+</html>

+ 1 - 0
health-quartz/src/main/resources/templates/monitor/job/cron.html

@@ -1132,6 +1132,7 @@
 <script th:src="@{/js/bootstrap.min.js}"></script>
 <script th:src="@{/ajax/libs/layer/layer.min.js}"></script>
 <script th:src="@{/bzd/js/ry-ui.js?v=4.7.9}"></script>
+<script th:src="@{/bzd/js/input-styles.js?v=4.7.9}"></script>
 <script th:src="@{/js/cron.js}"></script>
 <script th:inline="javascript">
 var prefix = [[@{/}]] + "monitor/job";

+ 16 - 0
health-system/src/main/java/com/bzd/system/service/DTPService.java

@@ -2,10 +2,13 @@ package com.bzd.system.service;
 
 import com.bzd.common.config.dao.DaoBase;
 import com.bzd.common.config.dao.DaoSupport;
+import com.bzd.common.config.dao.PageData;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
 
 @Service
 public class DTPService {
@@ -15,4 +18,17 @@ public class DTPService {
     @Resource(name = "daoSupport")
     private DaoSupport daoSupport;
 
+    public List<PageData> findArchivesList(PageData pd) throws Exception{
+        return (List<PageData>) daoSupport.findForList("RecipeRegisterMapper.selectArchivesList", pd);
+
+    }
+
+    public Integer archivesRemove(PageData pd)throws Exception {
+        return daoSupport.delete("RecipeRegisterMapper.archivesRemove", pd);
+    }
+
+
+    public Integer updateArchives(PageData pd)throws Exception {
+        return daoSupport.update("RecipeRegisterMapper.updateArchives", pd);
+    }
 }

+ 138 - 38
health-system/src/main/resources/mapper/system/RecipeRegisterMapper.xml

@@ -2,57 +2,157 @@
 <!DOCTYPE mapper
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="ServerMapper">
+<mapper namespace="RecipeRegisterMapper">
 
-	<select id="selectServerList" parameterType="pd" resultType="pd">
-		select * from s_ffgl_servicetypeinfo where 1=1
-		<if test="serviceId != null and serviceId!=''">
-		    and serviceId=#{serviceId}
+	<select id="selectArchivesList" parameterType="pd" resultType="pd">
+		select *,DATE_FORMAT(updateTime, '%Y-%m-%d %H:%i:%s') AS updateTime2 from s_dtp_ysfw_archive_management where 1=1
+		<if test="archivesId != null and archivesId!=''">
+			and id=#{archivesId}
 		</if>
-		<if test="serviceTypeNumber != null and serviceTypeNumber!=''">
+		<if test="serviceTypeNumber!= null and serviceTypeNumber!=''">
 			and serviceTypeNumber=#{serviceTypeNumber}
 		</if>
-		<if test="serviceTypeName != null and serviceTypeName!=''">
+		<if test="serviceTypeName!= null and serviceTypeName!=''">
 			and serviceTypeName=#{serviceTypeName}
 		</if>
+		<if test="followUpPerson!= null and followUpPerson!=''">
+			and followUpPerson=#{followUpPerson}
+		</if>
+		<if test="gender!= null and gender!=''">
+			and gender=#{gender}
+		</if>
+		<if test="name!= null and name!=''">
+			and name=#{gender}
+		</if>
+		<if test="genericName!= null and genericName!=''">
+			and genericName=#{genericName}
+		</if>
+		<if test="acceptFollowUp!= null and acceptFollowUp!=''">
+			and acceptFollowUp=#{acceptFollowUp}
+		</if>
+		<if test="archiveCompleteStatus!= null and archiveCompleteStatus!=''">
+			and archiveCompleteStatus=#{archiveCompleteStatus}
+		</if>
+		<if test="followUpPerson!= null and followUpPerson!=''">
+			and followUpPerson=#{followUpPerson}
+		</if>
+		<if test="storeName!= null and storeName!=''">
+			and storeName=#{storeName}
+		</if>
+		<if test="disease!= null and disease!=''">
+			and disease=#{disease}
+		</if>
+		<if test="flipStatus!= null and flipStatus!=''">
+			and flipStatus=#{flipStatus}
+		</if>
+		<if test="updateTime!= null and updateTime!=''">
+			and updateTime like concat(#{updateTime}, '%')
+		</if>
+		<if test="joinProject!= null and joinProject!=''">
+			and joinProject=#{joinProject}
+		</if>
+		<if test="charityAssistance!= null and charityAssistance!=''">
+			and charityAssistance=#{charityAssistance}
+		</if>
+
 	</select>
 
-	<insert id="insertServer" parameterType="pd">
-		insert into s_ffgl_servicetypeinfo
-		<trim prefix="(" suffix=")" prefixOverrides="," suffixOverrides=",">
-			<if test="serviceTypeNumber != null ">serviceTypeNumber,</if>
-			<if test="serviceTypeName != null ">serviceTypeName,</if>
-			<if test="serviceTypeDescription != null ">serviceTypeDescription,</if>
-			<if test="fulfillmentParty != null ">fulfillmentParty,</if>
-		</trim>
-		<trim prefix=" VALUES (" suffix=")" prefixOverrides="," suffixOverrides=",">
-			<if test="serviceTypeNumber != null ">#{serviceTypeNumber},</if>
-			<if test="serviceTypeName != null ">#{serviceTypeName},</if>
-			<if test="serviceTypeDescription != null ">#{serviceTypeDescription},</if>
-			<if test="fulfillmentParty != null">#{fulfillmentParty},</if>
-		</trim>
-	</insert>
-
-	<delete id="deleteServer" parameterType="pd">
+
+	<update id="updateArchives" parameterType="pd" >
+		<if test="up != null and up!=''">
+			update s_dtp_ysfw_archive_management set
+		</if>
+		<if test="name!= null and name!=''">
+			name=#{name},
+		</if>
+		<if test="gender!= null and  gender!=''">
+			gender=#{gender},
+		</if>
+		<if test="age!= null and age!=''">
+			age=#{age},
+		</if>
+		<if test="phoneNumber!= null and  phoneNumber!=''">
+			phoneNumber=#{phoneNumber},
+		</if>
+		<if test="documentType!= null and documentType!=''">
+			documentType=#{documentType},
+		</if>
+		<if test="documentNumber!= null and documentNumber!=''">
+			documentNumber=#{documentNumber},
+		</if>
+		<if test="realNameStatus!= null and realNameStatus!=''">
+			realNameStatus=#{realNameStatus},
+		</if>
+		<if test="flipStatus!= null and flipStatus!=''">
+			flipStatus=#{flipStatus},
+		</if>
+		<if test="disease!= null and disease!=''">
+			disease=#{disease},
+		</if>
+		<if test="genericName!= null and genericName!=''">
+			genericName=#{genericName},
+		</if>
+		<if test="productName!= null and productName!=''">
+			productName=#{productName},
+		</if>
+		<if test="mdmCode!= null and mdmCode!=''">
+			mdmCode=#{mdmCode},
+		</if>
+		<if test="manufacturer!= null and manufacturer!=''">
+			manufacturer=#{manufacturer},
+		</if>
+		<if test="storeName!= null and storeName!=''">
+			storeName=#{storeName},
+		</if>
+		<!--<if test="归属门店!= null and 归属门店!=''">
+                 归属门店=#{归属门店},
+        </if>-->
+		<if test="archiveCreator!= null and archiveCreator!=''">
+			archiveCreator=#{archiveCreator},
+		</if>
+		<if test="archiveCompleter!= null and archiveCompleter!=''">
+			archiveCompleter=#{archiveCompleter},
+		</if>
+		<if test="acceptFollowUp!= null and acceptFollowUp!=''">
+			acceptFollowUp=#{acceptFollowUp},
+		</if>
+		<if test="followUpPerson!= null and followUpPerson!=''">
+			followUpPerson=#{followUpPerson},
+		</if>
+		<if test="archiveCompleteStatus!= null and archiveCompleteStatus!=''">
+			archiveCompleteStatus=#{archiveCompleteStatus},
+		</if>
+		<if test="charityAssistance!= null and charityAssistance!=''">
+			charityAssistance=#{charityAssistance},
+		</if>
+		<if test="joinProject!= null and joinProject!=''">
+			joinProject=#{joinProject},
+		</if>
+		<if test="followUpStatus!= null and followUpStatus!=''">
+			followUpStatus=#{followUpStatus},
+		</if>
+		<if test="updateTime!= null and updateTime!=''">
+			updateTime=#{updateTime}
+		</if>
+		<!--<if test="createTime!= null and createTime!=''">
+			create_time=#{createTime}
+		</if>-->
+
+		<if test="up != null and up!=''">
+			<if test="id!= null and id!=''">
+				where id=#{id}
+			</if>
+		</if>
+	</update>
+
+	<delete id="archivesRemove" parameterType="pd">
 		<if test="ids != null">
-			delete from s_ffgl_servicetypeinfo where
+			delete from s_dtp_ysfw_archive_management where
 			<if test="ids != null">
-				serviceId=#{ids}
+				id in(#{ids})
 			</if>
 		</if>
-
 	</delete>
 
-	<insert id="updateServer" parameterType="pd">
-		update s_ffgl_servicetypeinfo
-		<trim prefix=" SET " suffix="" prefixOverrides="," suffixOverrides=",">
-			<if test="serviceTypeNumber != null ">serviceTypeNumber=#{serviceTypeNumber},</if>
-			<if test="serviceTypeName != null ">serviceTypeName=#{serviceTypeName},</if>
-			<if test="serviceTypeDescription != null ">serviceTypeDescription=#{serviceTypeDescription},</if>
-			<if test="fulfillmentParty != null ">fulfillmentParty=#{fulfillmentParty},</if>
-		</trim>
-		where serviceId=#{serviceId}
-	</insert>
-
 
 </mapper>