Browse Source

new 新增 登录页和首页 页面图片展示 新增菜单 随访跟进人分配 查询 修改 删除 (修复js细节问题)

bzd_lxf 5 months ago
parent
commit
4709260467

+ 326 - 0
health-admin/src/main/java/com/bzd/web/controller/DTP/PharmaceuticalServiceController.java

@@ -0,0 +1,326 @@
+package com.bzd.web.controller.DTP;
+
+import com.bzd.common.annotation.Log;
+import com.bzd.common.config.dao.PageData;
+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.common.utils.poi.ExcelUtil;
+import com.bzd.system.service.DTPService;
+import com.bzd.system.service.PharmaceuticalService;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+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.util.List;
+
+/**
+ * 药事服务管理
+ * creator wsp
+ */
+@Controller
+@RequestMapping("/dtp/pmService")
+public class PharmaceuticalServiceController extends BaseController {
+
+    // 档案馆
+    private String prefix_archives = "dtp/archives";
+
+    // 随访任务
+    private String prefix_followUp = "dtp/followUp";
+
+    // 随访人员分配
+    private String prefix_followUp_assign = "dtp/followUpAssign";
+
+    @Autowired
+    private PharmaceuticalService pharmaceuticalService;
+
+    /**
+     * 档案管理页
+     *
+     * @return
+     */
+    @RequiresPermissions("dtp:pmService:view")
+    @GetMapping("/archives")
+    public String archives() {
+        return prefix_archives + "/archivesList";
+    }
+
+    /**
+     * 档案管理数据查询
+     *
+     * @return
+     * @throws Exception
+     */
+    @RequiresPermissions("dtp:pmService:archivesList")
+    @PostMapping("/archivesList")
+    @ResponseBody
+    public TableDataInfo archivesList() throws Exception {
+        PageData pd = this.getPageData();
+        startPage();
+        List<PageData> pageData = pharmaceuticalService.findArchivesList(pd);
+        return getDataTable(pageData);
+    }
+
+    /**
+     * 档案管理数据删除 根据id
+     *
+     * @return
+     * @throws Exception
+     */
+    @RequiresPermissions("dtp:pmService:remove")
+    @Log(title = "档案管理删除", businessType = BusinessType.DELETE)
+    @PostMapping("/archivesRemove")
+    @ResponseBody
+    public AjaxResult archivesRemove() throws Exception {
+        PageData pd = new PageData();
+        pd = this.getPageData();
+        Integer integer = pharmaceuticalService.archivesRemove(pd);
+        return toAjax(integer);
+    }
+
+    /**
+     * 档案管理数据修改
+     *
+     * @return
+     * @throws Exception
+     */
+    @RequiresPermissions("dtp:pmService: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 = pharmaceuticalService.findArchivesList(pd).get(0);
+        mmap.putAll(pageData);
+        return prefix_archives + "/archivesEdit";
+    }
+
+    /**
+     * 保存档案管理数据修改
+     */
+    @RequiresPermissions("dtp:pmService:edit")
+    @Log(title = "档案管理修改", businessType = BusinessType.UPDATE)
+    @PostMapping("/archivesEdit")
+    @ResponseBody
+    public AjaxResult archivesEditSave() throws Exception {
+        PageData pd = this.getPageData();
+        pd.put("up", "up");
+        try {
+            Integer updateResult = pharmaceuticalService.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());
+        }
+    }
+
+    /**
+     * 随访任务页
+     * @return
+     */
+    @RequiresPermissions("dtp:pmService:view")
+    @GetMapping("/followUp")
+    public String followUp() {
+        return prefix_followUp + "/followUpList";
+    }
+
+    /**
+     * 随访任务数据查询
+     * @return
+     * @throws Exception
+     */
+    @RequiresPermissions("dtp:pmService:archivesList")
+    @PostMapping("/followUpList")
+    @ResponseBody
+    public TableDataInfo followUpList() throws Exception {
+        PageData pd = this.getPageData();
+        startPage();
+        List<PageData> pageData = pharmaceuticalService.findFollowUpList(pd);
+        return getDataTable(pageData);
+    }
+
+    /**
+     * 随访任务数据删除 根据id
+     *
+     * @return
+     * @throws Exception
+     */
+    @RequiresPermissions("dtp:pmService:remove")
+    @Log(title = "档案管理删除", businessType = BusinessType.DELETE)
+    @PostMapping("/followUpRemove")
+    @ResponseBody
+    public AjaxResult followUpRemove() throws Exception {
+        PageData pd = new PageData();
+        pd = this.getPageData();
+        try {
+            Integer deleteResult = pharmaceuticalService.followUpRemove(pd);
+            if (deleteResult == 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());
+        }
+    }
+
+    /**
+     * 随访任务数据修改
+     *
+     * @return
+     * @throws Exception
+     */
+    @RequiresPermissions("dtp:pmService:edit")
+    @GetMapping("/followUpEdit/{followUpId}")
+    public String followUpView(@PathVariable("followUpId") Long followUpId, ModelMap mmap) throws Exception {
+        ObjectMapper mapper = new ObjectMapper();
+        PageData pd = this.getPageData();
+        pd.put("id", followUpId);
+        PageData pageData = pharmaceuticalService.findFollowUpList(pd).get(0);
+        mmap.putAll(pageData);
+        return prefix_followUp + "/followUpEdit";
+    }
+
+    /**
+     * 保存随访任务数据修改
+     */
+    @RequiresPermissions("dtp:pmService:edit")
+    @Log(title = "档案管理修改", businessType = BusinessType.UPDATE)
+    @PostMapping("/followUpEdit")
+    @ResponseBody
+    public AjaxResult followUpEditSave() {
+        PageData pd = this.getPageData();
+        pd.put("up", "up");
+        try {
+            Integer updateResult = pharmaceuticalService.updateFollowUp(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());
+        }
+    }
+
+    /**
+     * 随访任务页
+     * @return
+     */
+    @RequiresPermissions("dtp:pmService:view")
+    @GetMapping("/followUpAssign")
+    public String followUpAssign() {
+        return prefix_followUp_assign + "/followUpAssignList";
+    }
+
+    /**
+     * 随访任务数据查询
+     * @return
+     * @throws Exception
+     */
+    @RequiresPermissions("dtp:pmService:followUpAssignList")
+    @PostMapping("/followUpAssignList")
+    @ResponseBody
+    public TableDataInfo followUpAssignList() throws Exception {
+        PageData pd = this.getPageData();
+        startPage();
+        List<PageData> pageData = pharmaceuticalService.findFollowUpAssignList(pd);
+        return getDataTable(pageData);
+    }
+
+    /**
+     * 随访任务数据删除 根据id
+     *
+     * @return
+     * @throws Exception
+     */
+    @RequiresPermissions("dtp:pmService:remove")
+    @Log(title = "档案管理删除", businessType = BusinessType.DELETE)
+    @PostMapping("/followUpAssignRemove")
+    @ResponseBody
+    public AjaxResult followUpAssignRemove() throws Exception {
+        PageData pd = new PageData();
+        pd = this.getPageData();
+        try {
+            Integer deleteResult = pharmaceuticalService.followUpAssignRemove(pd);
+            if (deleteResult == 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());
+        }
+    }
+
+    /**
+     * 随访任务数据修改
+     *
+     * @return
+     * @throws Exception
+     */
+    @RequiresPermissions("dtp:pmService:edit")
+    @GetMapping("/followUpAssignEdit/{followUpId}")
+    public String followUpAssignView(@PathVariable("followUpId") Long followUpId, ModelMap mmap) throws Exception {
+        ObjectMapper mapper = new ObjectMapper();
+        PageData pd = this.getPageData();
+        pd.put("id", followUpId);
+        PageData pageData = pharmaceuticalService.findFollowUpAssignList(pd).get(0);
+        mmap.putAll(pageData);
+        return prefix_followUp_assign + "/followUpAssignEdit";
+    }
+
+    /**
+     * 保存随访任务数据修改
+     */
+    @RequiresPermissions("dtp:pmService:edit")
+    @Log(title = "档案管理修改", businessType = BusinessType.UPDATE)
+    @PostMapping("/followUpAssignEdit")
+    @ResponseBody
+    public AjaxResult followUpAssignEditSave() {
+        PageData pd = this.getPageData();
+        pd.put("up", "up");
+        try {
+            Integer updateResult = pharmaceuticalService.updateFollowUpAssign(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());
+        }
+    }
+}

+ 18 - 0
health-admin/src/main/resources/static/health/js/input-styles.js

@@ -29,3 +29,21 @@ document.addEventListener("DOMContentLoaded", function() {
         });
     });
 });
+
+/* 页面重置按钮 调用后清除css 样式*/
+function _refresh() {
+    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');
+        }
+    });
+}

BIN
health-admin/src/main/resources/static/img/login-background.jpg


BIN
health-admin/src/main/resources/static/img/login-background1.jpg


+ 1 - 32
health-admin/src/main/resources/templates/dtp/archives/archivesEdit.html

@@ -7,24 +7,7 @@
 
 </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">
@@ -260,18 +243,4 @@
             $.operate.saveTab(prefix + "/archivesEdit", data);
         }
     }
-    const inputs = document.querySelectorAll('.styled-input');
-
-    // 遍历所有输入框并添加事件监听器
-    inputs.forEach(function(input) {
-        // 当鼠标进入输入框时改变背景色
-        input.addEventListener('mouseover', function() {
-            this.style.backgroundColor = '#f0f0f0'; // 浅灰色背景
-        });
-
-        // 当鼠标离开输入框时调用公共函数
-        input.addEventListener('mouseout', function() {
-            this.style.backgroundColor = ''; // 清空背景色属性,使用默认值
-        });
-    });
 </script>

+ 31 - 154
health-admin/src/main/resources/templates/dtp/archives/archivesList.html

@@ -202,101 +202,39 @@
 		        sortName: "id",
 		        sortOrder: "asc",
 		        modalName: "档案",
+				fitColumns: true,
+				striped: true,
+				autoRowHeight: true,
+				rowNumbers: true,
+				showFooter:true,  //是否显示表格底部区域。
+				clickToSelect: true, //是否启用点击行时选中整行的功能。
+                singleSelect: true, //是否仅允许选择一行
 		        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: '更新时间'
-		        },
+				{field: 'name', title: '姓名', align: 'center'},
+				{field: 'gender', title: '性别', align: 'center'},
+				{field: 'age', title: '年龄', align: 'center'},
+				{field: 'phoneNumber', title: '手机号', align: 'center'},
+				{field: 'documentType', title: '证件类型', align: 'center'},
+				{field: 'documentNumber', title: '证件号码', align: 'center'},
+				{field: 'realNameStatus', title: '实名状态', align: 'center'},
+				{field: 'flipStatus', title: '上翻状态', align: 'center'},
+				{field: 'disease', title: '疾病', align: 'center'},
+				{field: 'genericName', title: '药品通用名', align: 'center'},
+				{field: 'productName', title: '商品名', align: 'center'},
+				{field: 'mdmCode', title: 'MDM编码', align: 'center'},
+				{field: 'manufacturer', title: '厂家', align: 'center'},
+				{field: 'storeName', title: '门店', align: 'center'},
+				{field: 'archiveCreator', title: '档案创建人', align: 'center'},
+				{field: 'archiveCompleter', title: '档案完善人', align: 'center'},
+				{field: 'acceptFollowUp', title: '是否接受随访', align: 'center'},
+				{field: 'followUpPerson', title: '随访跟进人', align: 'center'},
+				{field: 'archiveCompleteStatus', title: '档案是否完善', align: 'center'},
+				{field: 'charityAssistance', title: '有无慈善援助', align: 'center'},
+				{field: 'joinProject', title: '是否参加共建项目', align: 'center'},
+				{field: 'followUpStatus', title: '随访状态', align: 'center'},
+				{field: 'updateTime2', title: '更新时间', align: 'center'},
 				/*{
 		        	formatter: function (value, row, index) {
 						console.log(value+"-------v");
@@ -327,20 +265,6 @@
 		    $.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();
@@ -351,38 +275,10 @@
 			$.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');
-					}
-				});
+				_refresh();
 			});
 		}
 
-		const inputs = document.querySelectorAll('.styled-input');
-
-		// 遍历所有输入框并添加事件监听器
-		inputs.forEach(function(input) {
-			// 当鼠标进入输入框时改变背景色
-			input.addEventListener('mouseover', function() {
-				this.style.backgroundColor = '#f0f0f0'; // 浅灰色背景
-			});
-
-			// 当鼠标离开输入框时调用公共函数
-			input.addEventListener('mouseout', function() {
-				this.style.backgroundColor = ''; // 清空背景色属性,使用默认值
-			});
-		});
-
 		/* 用户状态显示 */
 		function statusTools(row) {
 		    if (row.status == 1) {
@@ -391,25 +287,6 @@
     			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>
 

+ 1 - 38
health-admin/src/main/resources/templates/dtp/followUp/followUpEdit.html

@@ -7,24 +7,7 @@
 
 </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">
@@ -211,27 +194,7 @@
         var prefix = ctx + "dtp/pmService";
         if ($.validate.form()) {
             var data = $("#form-followUp-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 + "/followUpEdit", data);
         }
     }
-    const inputs = document.querySelectorAll('.styled-input');
-
-    // 遍历所有输入框并添加事件监听器
-    inputs.forEach(function(input) {
-        // 当鼠标进入输入框时改变背景色
-        input.addEventListener('mouseover', function() {
-            this.style.backgroundColor = '#f0f0f0'; // 浅灰色背景
-        });
-
-        // 当鼠标离开输入框时调用公共函数
-        input.addEventListener('mouseout', function() {
-            this.style.backgroundColor = ''; // 清空背景色属性,使用默认值
-        });
-    });
 </script>

+ 33 - 138
health-admin/src/main/resources/templates/dtp/followUp/followUpList.html

@@ -37,7 +37,7 @@
 		<div class="container-div">
 			<div class="row">
 				<div class="col-sm-12 search-collapse" >
-					<form id="archives-form">
+					<form id="followUp-form">
 						<input type="hidden" id="deptId" name="deptId">
 		                <input type="hidden" id="parentId" name="parentId">
 
@@ -58,7 +58,7 @@
 								</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>
+								    <a class="btn btn-warning btn-rounded btn-sm" id="refresh_id" onclick="resetPre()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
 								</li>
 							</ul>
 						</div>
@@ -193,96 +193,36 @@
 		        sortName: "id",
 		        sortOrder: "asc",
 		        modalName: "档案",
+				fitColumns: true,
+				striped: true,
+				autoRowHeight: true,
+				rowNumbers: true,
+				showFooter:true,  //是否显示表格底部区域。
+				clickToSelect: true, //是否启用点击行时选中整行的功能。
+				singleSelect: true, //是否仅允许选择一行
 		        columns: [{
 		            checkbox: true
 		        },
-				{
-					field: 'appointmentDate',
-					title: '预约日期'
-				},
-				{
-					field: 'businessBelonging',
-					title: '业务归属'
-				},
-				{
-					field: 'taskName',
-					title: '任务名称'
-				},
-				{
-					field: 'taskTheme',
-					title: '任务主题'
-				},
-		        {
-		            field: 'patientName',
-		            title: '患者姓名'
-		        },
-		        {
-		            field: 'gender',
-		            title: '性别'
-		        },
-		        {
-		            field: 'age',
-		            title: '年龄'
-		        },
-		        {
-		            field: 'followUpSummary',
-		            title: '随访小结'
-		        },
-				{
-		            field: 'disease',
-		            title: '疾病'
-		        },
-				{
-		            field: 'storeName',
-		            title: '门店'
-		        },
-				{
-		            field: 'genericName',
-		            title: '药品通用名'
-		        },
-				{
-		            field: 'productName',
-		            title: '商品名'
-		        },
-				{
-		            field: 'taskFollower',
-		            title: '任务跟进人'
-		        },
-				{
-		            field: 'actualFollowUpTime',
-		            title: '实际随访时间'
-		        },
-				{
-		            field: 'callConnectedCount',
-		            title: '接通次数'
-		        },
-				{
-		            field: 'outboundCallCount',
-		            title: '外呼次数'
-		        },
-				{
-		            field: 'nextOutboundCallCount',
-		            title: '下次外呼次数'
-		        },
-				{
-		            field: 'taskStatus',
-		            title: '任务状态'
-		        },
-				{
-		            field: 'lastOutboundStatus',
-		            title: '最后外呼状态'
-		        },
-				{
-		            field: 'updateTime2',
-		            title: '更新时间'
-		        },
-				/*{
-		        	formatter: function (value, row, index) {
-						console.log(value+"-------v");
-						console.log(row+"-------r");
-		        		return statusTools(row);
-		        	}
-		        },*/
+				{ field: 'appointmentDate', title: '预约日期', align: 'center' },
+				{ field: 'businessBelonging', title: '业务归属', align: 'center' },
+				{ field: 'taskName', title: '任务名称', align: 'center' },
+				{ field: 'taskTheme', title: '任务主题', align: 'center' },
+				{ field: 'patientName', title: '患者姓名', align: 'center' },
+				{ field: 'gender', title: '性别', align: 'center' },
+				{ field: 'age', title: '年龄', align: 'center' },
+				{ field: 'followUpSummary', title: '随访小结', align: 'center' },
+				{ field: 'disease', title: '疾病', align: 'center' },
+				{ field: 'storeName', title: '门店', align: 'center' },
+				{ field: 'genericName', title: '药品通用名', align: 'center' },
+				{ field: 'productName', title: '商品名', align: 'center' },
+				{ field: 'taskFollower', title: '任务跟进人', align: 'center' },
+				{ field: 'actualFollowUpTime', title: '实际随访时间', align: 'center' },
+				{ field: 'callConnectedCount', title: '接通次数', align: 'center' },
+				{ field: 'outboundCallCount', title: '外呼次数', align: 'center' },
+				{ field: 'nextOutboundCallCount', title: '下次外呼次数', align: 'center' },
+				{ field: 'taskStatus', title: '任务状态', align: 'center' },
+				{ field: 'lastOutboundStatus', title: '最后外呼状态', align: 'center' },
+				{ field: 'updateTime2', title: '更新时间', align: 'center' },
 
 		        {
 		            title: '操作',
@@ -306,20 +246,6 @@
 		    $.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();
@@ -328,26 +254,13 @@
 			$("#parentId").val("");
 			$(".curSelectedNode").removeClass("curSelectedNode");
 			$.table.search();
-			var resetButton = document.getElementById('archives-form');
+			var resetButton = document.getElementById('followUp-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');
-					}
-				});
+				_refresh();
 			});
 		}
 
-		const inputs = document.querySelectorAll('.styled-input');
+		/*const inputs = document.querySelectorAll('.styled-input');
 
 		// 遍历所有输入框并添加事件监听器
 		inputs.forEach(function(input) {
@@ -360,7 +273,7 @@
 			input.addEventListener('mouseout', function() {
 				this.style.backgroundColor = ''; // 清空背景色属性,使用默认值
 			});
-		});
+		});*/
 
 		/* 用户状态显示 */
 		function statusTools(row) {
@@ -371,24 +284,6 @@
     		}
 		}
 
-		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>
 

+ 173 - 0
health-admin/src/main/resources/templates/dtp/followUpAssign/followUpAssignEdit.html

@@ -0,0 +1,173 @@
+ <!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('随访跟进人分配')" />
+</head>
+<style>
+
+</style>
+<script>
+
+</script>
+<body>
+    <div class="ui-layout-center">
+        <form class="form-horizontal" id="form-followUp-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="patientName" placeholder="请输入姓名" class="styled-input" type="text" maxlength="30" th:value="${patientName}" required>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">患者手机号:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input name="patientPhone" placeholder="随访小结" class="styled-input" type="text" maxlength="30" th:value="${patientPhone}" required>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">性别:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <select name="gender" 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.dictLabel}"
+                                            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>
+
+                    </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="clinicalDiagnosis" placeholder="临床诊断" class="styled-input" type="text" maxlength="30" th:value="${clinicalDiagnosis}" required>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">药品名称:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input name="medicineName" placeholder="药品名称" class="styled-input" type="text" maxlength="30" th:value="${medicineName}" required>
+                            </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="lastPurchaseDate" placeholder="最后一次购药" name="lastPurchaseDate" th:value="${lastPurchaseDate}" 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="followUpPersonName" placeholder="请输入疾病" class="styled-input" type="text" maxlength="30" th:value="${followUpPersonName}" required>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">跟进人手机号:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input name="followUpPersonPhone" placeholder="跟进人手机号" class="styled-input" type="text" maxlength="30" th:value="${followUpPersonPhone}" required>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">跟进人角色:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input name="followUpPersonRole" placeholder="接通次数" class="styled-input" type="text" maxlength="30" th:value="${followUpPersonRole}" required>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">患者分配状态:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input name="patientAssignmentStatus" placeholder="外呼次数" class="styled-input" type="text" maxlength="30" th:value="${patientAssignmentStatus}" 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="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="terminatedEmployeeName" placeholder="任务状态" class="styled-input" type="text" maxlength="30" th:value="${terminatedEmployeeName}" required>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">离职员工手机号:</label>
+                        <div class="col-sm-2" >
+                            <div class="input-group">
+                                <input name="terminatedEmployeePhone" placeholder="最后外呼状态"
+                                       class="styled-input" type="text" maxlength="30" th:value="${terminatedEmployeePhone}" required>
+                            </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" id="terminatedEmployeeStore"
+                                       placeholder="更新时间" name="terminatedEmployeeStore" th:value="${terminatedEmployeeStore}" 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/pmService";
+        if ($.validate.form()) {
+            var data = $("#form-followUp-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 + "/followUpAssignEdit", data);
+        }
+    }
+</script>

+ 280 - 0
health-admin/src/main/resources/templates/dtp/followUpAssign/followUpAssignList.html

@@ -0,0 +1,280 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+<head>
+	<meta charset="UTF-8">
+	<meta name="format-detection" content="telephone=no">
+	<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="followUpAssign-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="patientName" autocomplete="off"/>
+								</li>
+								<li>
+									门店:<input type="text" class="styled-input" name="storeName"/>
+								</li>
+								<li>
+									药品:<input type="text"  class="styled-input" name="medicineName"/>
+								</li>
+								<li>
+									随访跟进人:<input type="text"  class="styled-input" name="followUpPersonName"/>
+								</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="storeName"/>
+								</li>
+								<li>
+									任务状态:
+									<select name="flipStatus"  disabled="" 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>
+								<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>
+							</ul>
+							<ul>
+								<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" name="disease"/>
+								</li>
+								<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>
+									完成日期:<input type="text"  disabled="" class="styled-input time-input" id="a" 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>
+									任务名称:<input type="text"  class="styled-input" name="taskName"/>
+								</li>
+								<li>
+									业务归属:
+									<select name="gender" class="styled-input" disabled="" 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>
+							</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:pmService:edit')}]];
+		var removeFlag = [[${@permission.hasPermi('dtp:pmService:remove')}]];
+		var prefix = ctx + "dtp/pmService";
+		$(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 + "/followUpAssignList",
+		        viewUrl: prefix + "/followUpAssignView/{id}",
+		        createUrl: prefix + "/followUpAssignAdd",
+		        updateUrl: prefix + "/followUpAssignEdit/{id}",
+		        removeUrl: prefix + "/followUpAssignRemove",
+		        /*exportUrl: prefix + "/export",
+		        importUrl: prefix + "/importData",
+		        importTemplateUrl: prefix + "/importTemplate",*/
+		        sortName: "id",
+		        sortOrder: "asc",
+		        modalName: "档案",
+				fitColumns: true,
+				striped: true,
+				autoRowHeight: true,
+				rowNumbers: true,
+				showFooter:true,  //是否显示表格底部区域。
+				clickToSelect: true, //是否启用点击行时选中整行的功能。
+				singleSelect: true, //是否仅允许选择一行
+		        columns: [{
+		            checkbox: true
+		        },
+				{ field: 'patientName', title: '患者姓名', align: 'center' },
+				{ field: 'patientPhone', title: '患者手机号', align: 'center' },
+				{ field: 'gender', title: '性别', align: 'center' },
+				{ field: 'age', title: '年龄', align: 'center' },
+				{ field: 'disease', title: '疾病', align: 'center' },
+				{ field: 'clinicalDiagnosis', title: '临床诊断', align: 'center' },
+				{ field: 'medicineName', title: '药品名称', align: 'center' },
+				{ field: 'lastPurchaseDate', title: '最后一次购药', align: 'center' },
+				{ field: 'followUpPersonName', title: '随访跟进人姓名', align: 'center' },
+				{ field: 'followUpPersonPhone', title: '跟进人手机号', align: 'center' },
+				{ field: 'followUpPersonRole', title: '跟进人角色', align: 'center' },
+				{ field: 'storeName', title: '门店', align: 'center' },
+				{ field: 'patientAssignmentStatus', title: '患者分配状态', align: 'center' },
+				{ field: 'terminatedEmployeeName', title: '离职员工', align: 'center' },
+				{ field: 'terminatedEmployeePhone', title: '离职员工手机号', align: 'center' },
+				{ field: 'terminatedEmployeeStore', title: '离职员工门店', align: 'center' },
+				{ field: 'createdAt', title: '创建时间', align: 'center' },
+				{ field: 'updatedAt', title: '更新时间', align: 'center' },
+				/*{
+		        	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);
+		}
+
+		/* 自定义重置-表单重置/隐藏框/树节点选择色/搜索 */
+		function resetPre() {
+			resetDate();
+			$("#archives-form")[0].reset();
+			$("#deptId").val("");
+			$("#parentId").val("");
+			$(".curSelectedNode").removeClass("curSelectedNode");
+			$.table.search();
+			var resetButton = document.getElementById('followUpAssign-form-form');
+			resetButton.addEventListener('click', function() {
+				_refresh();
+			});
+		}
+
+		/* 用户状态显示 */
+		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> ';
+    		}
+		}
+	</script>
+</body>
+
+</html>

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

@@ -23,7 +23,7 @@
         <div class="col-sm-3">
             <h2>Hello</h2>
             <br>
-            <img th:src="@{/img/login-background.png}" width="100%" style="max-width:264px;">
+            &lt;!&ndash;<img th:src="@{/img/login-background.png}" width="100%" style="max-width:264px;">&ndash;&gt;
             <br>
         </div>
         <div class="col-sm-5">
@@ -66,7 +66,41 @@
             </div>
         </div>
     </div>-->
-    <img th:src="@{/img/login-background.png}" width="100%" height="100%" >
+    <br>
+    <div class="col-sm-12 search-collapse" >
+    <img th:src="@{/img/login-background1.jpg}" width="99%" height="74%" >
+    </div>
+    <div class="row border-bottom white-bg dashboard-header">
+        <!--<div class="col-sm-12">
+            <blockquote class="text-warning" style="font-size:14px">
+
+            </blockquote>
+
+            <hr>
+        </div>-->
+        <div class="col-sm-3">
+            <h2>Hello</h2>
+            <br>
+            <!--<img th:src="@{/img/login-background.png}" width="100%" style="max-width:264px;">-->
+            <br>
+        </div>
+        <div class="col-sm-5">
+        </div>
+        <div class="col-sm-4" >
+            <h4>技术选型:</h4>
+            <ol>
+                <li>核心框架:Spring Boot。</li>
+                <li>安全框架:Apache Shiro。</li>
+                <li>模板引擎:Thymeleaf。</li>
+                <li>持久层框架:MyBatis。</li>
+                <li>定时任务:Quartz。</li>
+                <li>数据库连接池:Druid。</li>
+                <li>工具类:Fastjson。</li>
+                <li>更多……</li>
+            </ol>
+        </div>
+
+    </div>
     <script th:src="@{/js/jquery.min.js}"></script>
     <script th:src="@{/js/bootstrap.min.js}"></script>
     <script th:src="@{/ajax/libs/layer/layer.min.js}"></script>