Browse Source

new 新增 患者咨询 以及修改 页面

bzd_lxf 5 tháng trước cách đây
mục cha
commit
c9a8cb7b25

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

@@ -35,6 +35,9 @@ public class PharmaceuticalServiceController extends BaseController {
     // 随访人员分配
     private String prefix_followUp_assign = "dtp/followUpAssign";
 
+    //患者咨询
+    private String prefix_patient_counseling = "dtp/patientCounseling";
+
     @Autowired
     private PharmaceuticalService pharmaceuticalService;
 
@@ -323,4 +326,103 @@ public class PharmaceuticalServiceController extends BaseController {
             return AjaxResult.error("系统异常:" + e.getMessage());
         }
     }
+
+    /**
+     * 患者咨询 页面
+     * @return
+     */
+    @RequiresPermissions("dtp:pmService:view")
+    @GetMapping("/patientCounseling")
+    public String patientCounseling() {
+        return prefix_patient_counseling + "/patientCounselingList";
+    }
+
+    /**
+     * 患者咨询数据查询
+     * @return
+     * @throws Exception
+     */
+    @RequiresPermissions("dtp:pmService:patientCounselingList")
+    @PostMapping("/patientCounselingList")
+    @ResponseBody
+    public TableDataInfo patientCounselingList() throws Exception {
+        PageData pd = this.getPageData();
+        startPage();
+        List<PageData> pageData = pharmaceuticalService.findPatientCounselingList(pd);
+        return getDataTable(pageData);
+    }
+
+    /**
+     * 患者咨询数据删除 根据id
+     *
+     * @return
+     * @throws Exception
+     */
+    @RequiresPermissions("dtp:pmService:remove")
+    @Log(title = "患者咨询删除", businessType = BusinessType.DELETE)
+    @PostMapping("/patientCounselingRemove")
+    @ResponseBody
+    public AjaxResult patientCounselingRemove() throws Exception {
+        PageData pd = new PageData();
+        pd = this.getPageData();
+        try {
+            Integer deleteResult = pharmaceuticalService.patientCounselingRemove(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("/patientCounselingEdit/{patientCounselingId}")
+    public String patientCounselingView(@PathVariable("patientCounselingId") Long patientCounselingId, ModelMap mmap) throws Exception {
+        ObjectMapper mapper = new ObjectMapper();
+        PageData pd = this.getPageData();
+        pd.put("id", patientCounselingId);
+        PageData pageData = pharmaceuticalService.findPatientCounselingList(pd).get(0);
+        mmap.putAll(pageData);
+        return prefix_patient_counseling + "/patientCounselingEdit";
+    }
+
+    /**
+     * 保存患者咨询数据修改
+     */
+    @RequiresPermissions("dtp:pmService:edit")
+    @Log(title = "档案管理修改", businessType = BusinessType.UPDATE)
+    @PostMapping("/patientCounselingEdit")
+    @ResponseBody
+    public AjaxResult patientCounselingEditSave() {
+        PageData pd = this.getPageData();
+        pd.put("up", "up");
+        try {
+            Integer updateResult = pharmaceuticalService.updatePatientCounseling(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());
+        }
+    }
 }

+ 23 - 68
health-admin/src/main/resources/templates/DTP/cold/cold.html

@@ -18,46 +18,46 @@
 							<ul>
 								<li  class="select-time">
 									<label>创建日期</label>
-									<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[beginTime]"/>
+									<input type="text" class="time-input" id="creationTimeStart" placeholder="开始时间" name="creationTimeStart"/>
 									<span>-</span>
-									<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[endTime]"/>
+									<input type="text" class="time-input" id="creationTimeEnd" placeholder="结束时间" name="creationTimeEnd"/>
 								</li>
 								<li  class="select-time">
 									<label>实际送达</label>
-									<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[beginTime]"/>
+									<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="actualDeliveryTimeStart"/>
 									<span>-</span>
-									<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[endTime]"/>
+									<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="actualDeliveryTimeEnd"/>
 								</li>
 								<li>
 									<label>订单号:</label>
-									<input type="text" placeholder="请输入订单号" name="orderNumber"/>
+									<input type="text" class="styled-input" placeholder="请输入订单号" name="orderNumber"/>
 								</li>
 								<li>
 									<label>配送员:</label>
-									<input type="text"  placeholder="请输入配送员" name="deliveryPerson"/>
+									<input type="text" class="styled-input" placeholder="请输入配送员" name="deliveryPerson"/>
 								</li>
 								<li>
 									<label>收货人:</label>
-									<input type="text" placeholder="请输入收货人" name="recipientName"/>
+									<input type="text" class="styled-input" placeholder="请输入收货人" name="recipientName"/>
 								</li>
 								<li>
 									<label>收货电话:</label>
-								<input type="text" placeholder="请输入收货电话" name="recipientPhone"/>
+								<input type="text" class="styled-input" placeholder="请输入收货电话" name="recipientPhone"/>
 								</li>
 								<li>
 									<label>配送状态:</label>
-									<select name="deliveryStatus"  th:with="type=${@dict.getType('sys_select_pszt')}">
+									<select name="deliveryStatus"  th:with="type=${@dict.getType('sys_select_pszt')}" class="styled-input">
 										<option value="">全部</option>
 										<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}"></option>
 									</select>
 								</li>
 								<li>
 									<label>所属连锁:</label>
-										<input name="chainName" onclick="selectDeptTree()" id="treeName" type="text" placeholder="请选择门店">
+										<input name="chainName" class="styled-input" onclick="selectDeptTree()" id="treeName" type="text" placeholder="请选择门店">
 								</li>
 								<li>
 									<label>冷链类型:</label>
-									<select name="coldChainType"  th:with="type=${@dict.getType('sys_select_cold_type')}">
+									<select name="coldChainType"  th:with="type=${@dict.getType('sys_select_cold_type')}" class="styled-input">
 										<option value="">全部</option>
 										<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}"
 												></option>
@@ -65,7 +65,7 @@
 								</li>
 								<li>
 									<label>付款顺序:</label>
-									<select name="paymentSequence"  th:with="type=${@dict.getType('sys_select_payment_sequence')}">
+									<select name="paymentSequence"  th:with="type=${@dict.getType('sys_select_payment_sequence')}" class="styled-input">
 										<option value="">全部</option>
 										<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}"
 										></option>
@@ -237,6 +237,7 @@
 					{
 						"field": "icePackNumber",
 						"title": "冰排编号"
+
 					},
 					// {
 					// 	"field": "paymentSequence",
@@ -254,6 +255,7 @@
 		        {
 		            title: '操作',
 		            align: 'center',
+					fixed: true, // 固定列
 		            formatter: function(value, row, index) {
 		                if (row.id) {
 		                	var actions = [];
@@ -269,62 +271,6 @@
 		    $.table.init(options);
 		}
 
-
-
-		$('#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();
-			$("#user-form")[0].reset();
-			$("#deptId").val("");
-			$("#parentId").val("");
-			$(".curSelectedNode").removeClass("curSelectedNode");
-			$.table.search();
-		}
-
-		/* 用户管理-部门 */
-		function dept() {
-			var url = ctx + "system/dept";
-			$.modal.openTab("部门管理", url);
-		}
-
-		/* 用户状态显示 */
-		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> ';
-    		}
-		}
-
-		/* 用户管理-停用 */
-		function disable(userId) {
-			$.modal.confirm("确认要停用用户吗?", function() {
-				$.operate.post(prefix + "/changeStatus", { "userId": userId, "status": 1 });
-		    })
-		}
-
-		/* 用户管理启用 */
-		function enable(userId) {
-			$.modal.confirm("确认要启用用户吗?", function() {
-				$.operate.post(prefix + "/changeStatus", { "userId": userId, "status": 0 });
-		    })
-		}
-
 		/* 用户管理-新增-选择部门树 */
 		function selectDeptTree() {
 			var treeId = $("#treeId").val();
@@ -345,6 +291,15 @@
 			$("#treeName").val(body.find('#treeName').val());
 			$.modal.close(index);
 		}
+		/* 自定义重置-表单重置/隐藏框/树节点选择色/搜索 */
+		function resetPre() {
+			resetDate();
+			$("#user-form")[0].reset();
+			$("#deptId").val("");
+			$("#parentId").val("");
+			$(".curSelectedNode").removeClass("curSelectedNode");
+			$.table.search();
+		}
 	</script>
 
 </body>

+ 91 - 77
health-admin/src/main/resources/templates/DTP/cold/edit.html

@@ -1,188 +1,202 @@
 <!DOCTYPE html>
 <html lang="zh" xmlns:th="http://www.thymeleaf.org" >
 <head>
-    <th:block th:include="include :: header('修改处方')" />
+    <th:block th:include="include :: header('修改配送单')" />
 </head>
 <body>
 <div class="main-content">
-    <form class="form-horizontal" id="form-server-edit" th:object="${recipe}">
+    <form class="form-horizontal" id="form-server-edit" th:object="${cold}">
         <h4 class="form-header h4">处方信息</h4>
         <input type="hidden" id="id" name="id" th:value="${id}">
         <div class="row">
-            <div class="col-sm-4">
+            <div class="col-sm-3">
+                <label class="col-sm-4 control-label">预计配送时间</label>
                 <div class="form-group">
-                    <label class="col-sm-4 control-label is-required">患者姓名:</label>
-                    <div class="col-sm-8">
-                        <input name="patientName" placeholder="请输入患者姓名" class="form-control" type="text" maxlength="30" th:value="${patientName}" >
+                    <input type="text" class="styled-input time-input-new" id="expectedDeliveryTime"  name="expectedDeliveryTime" placeholder="预计配送时间" th:value="${expectedDeliveryTime}"/>
+                </div>
+            </div>
+            <div class="col-sm-3">
+                <div class="form-group">
+                    <div class="form-group">
+                        <label class="col-sm-4 control-label">实际配送时间</label>
+                        <input type="text" class="styled-input time-input-new" id="actualDeliveryTime" placeholder="实际配送时间" name="actualDeliveryTime" th:value="${expectedDeliveryTime}"/>
                     </div>
                 </div>
             </div>
-            <div class="col-sm-4">
+
+            <div class="col-sm-3">
                 <div class="form-group">
-                    <label class="col-sm-4 control-label is-required">手机号码:</label>
+                    <label class="col-sm-4 control-label is-required">所属连锁:</label>
                     <div class="col-sm-8">
                         <div class="input-group">
-                            <input id="patientPhone" name="patientPhone" placeholder="请输入手机号码" class="form-control" type="number" maxlength="11" th:value="${patientPhone}">
-                            <span class="input-group-addon"><i class="fa fa-mobile"></i></span>
+                            <input name="chainName" onclick="selectDeptTree()" id="treeName" type="text" placeholder="请选择门店" class="form-control" th:value="${chainName}">
+                            <span class="input-group-addon">
+                        <i class="fa fa-search"></i>
+                    </span>
                         </div>
                     </div>
                 </div>
             </div>
-
-            <div class="col-sm-4">
+            <div class="col-sm-3">
                 <div class="form-group">
-                    <label class="col-sm-4 control-label is-required">药品通用名:</label>
+                    <label class="col-sm-4 control-label is-required">所属门店:</label>
                     <div class="col-sm-8">
-                        <input name="genericName" placeholder="请输入药品通用名" class="form-control" type="text" maxlength="30" th:value="${genericName}">
+                        <select name="storeName" class="form-control" th:with="type=${@dict.getType('sys_select_store')}">
+                            <option value="">请选择</option>
+                            <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:selected="${dict.dictValue}==${storeName}"
+                            ></option>
+                        </select>
                     </div>
                 </div>
             </div>
         </div>
         <div class="row">
-            <div class="col-sm-4">
+            <div class="col-sm-3">
                 <div class="form-group">
-                    <label class="col-sm-4 control-label is-required">门店:</label>
-                    <div class="col-sm-8">
-                        <div class="input-group">
-                            <input name="storeName" onclick="selectDeptTree()" id="treeName" type="text" placeholder="请选择门店" class="form-control"  th:value="${storeName}">
-                            <span class="input-group-addon"><i class="fa fa-search"></i></span>
-                        </div>
+                    <label class="col-sm-6 control-label">是否线上签收:</label>
+                    <div class="col-sm-4">
+                        <select name="prescriptionType" class="form-control" th:with="type=${@dict.getType('sys_yes_no')}">
+                            <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:selected="${dict.dictLabel}==${prescriptionType}"
+                            ></option>
+                        </select>
                     </div>
                 </div>
             </div>
 
-            <div class="col-sm-4">
+            <div class="col-sm-3">
                 <div class="form-group">
-                    <label class="col-sm-4 control-label">厂家:</label>
-                    <div class="col-sm-8">
-                        <input id="manufacturer" name="manufacturer" placeholder="请输入厂家" class="form-control" type="text" maxlength="30" th:value="${manufacturer}">
+                    <label class="col-sm-4 control-label">配送状态:</label>
+                    <div class="col-sm-4">
+                        <select name="deliveryStatus"  class="form-control"  th:with="type=${@dict.getType('sys_select_pszt')}">
+                            <option value="">全部</option>
+                            <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}" th:selected="${dict.dictLabel}==${deliveryStatus}"></option>
+                        </select>
                     </div>
                 </div>
             </div>
-            <div class="col-sm-4">
+            <div class="col-sm-3">
                 <div class="form-group">
-                    <label class="col-sm-4 control-label">登记人:</label>
-                    <div class="col-sm-8">
-
-                        <input id="registrar" name="registrar" placeholder="请输入登记人" class="form-control" type="text" maxlength="30" th:value="${registrar}">
+                    <label class="col-sm-4 control-label">冷链类型:</label>
+                    <div class="col-sm-4">
+                        <select name="coldChainType"  class="form-control"  th:with="type=${@dict.getType('sys_select_cold_type')}">
+                            <option value="">全部</option>
+                            <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}" th:selected="${dict.dictLabel}==${coldChainType}"
+                            ></option>
+                        </select>
                     </div>
-
                 </div>
             </div>
+            <div class="col-sm-3">
+                <div class="form-group">
+                    <label class="col-sm-4 control-label">订单来源:</label>
+                    <div class="col-sm-4">
+                        <select name="orderSource"  class="form-control"  th:with="type=${@dict.getType('sys_select_order_sources')}">
+                            <option value="">全部</option>
+                            <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}" th:selected="${dict.dictLabel}==${orderSource}"
+                            ></option>
+                        </select>
+                    </div>
+                </div>
+            </div>
+
         </div>
         <div class="row">
             <div class="col-sm-4">
                 <div class="form-group">
-                    <label class="col-sm-4 control-label">规格:</label>
+                    <label class="col-sm-4 control-label">收货人:</label>
                     <div class="col-sm-8">
-                        <select name="specification" class="form-control" th:with="type=${@dict.getType('sys_select_specification')}">
-                            <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
-                                    th:selected="${dict.dictValue}==${specification}"></option>
-                        </select>
+                        <input id="recipientName" name="recipientName"  type="text" maxlength="100"  class="form-control" placeholder="请输入收货人" th:value="${recipientName}">
                     </div>
                 </div>
             </div>
             <div class="col-sm-4">
                 <div class="form-group">
-                    <label class="col-sm-4 control-label">数量:</label>
+                    <label class="col-sm-4 control-label">收货电话:</label>
                     <div class="col-sm-8">
-                        <input id="quantity" name="quantity" placeholder="请输入数量" class="form-control" type="number" maxlength="30" th:value="${quantity}">
+                        <input id="recipientPhone" name="recipientPhone"  type="number" maxlength="11"  class="form-control" placeholder="请输入收货电话" th:value="${recipientPhone}">
                     </div>
                 </div>
             </div>
+
             <div class="col-sm-4">
                 <div class="form-group">
-                    <label class="col-sm-4 control-label">商品名:</label>
+                    <label class="col-sm-4 control-label">冰排编号:</label>
+
                     <div class="col-sm-8">
-                        <input id="productName" name="productName"  type="text" maxlength="100"  class="form-control" placeholder="请输入商品名" th:value="${productName}">
+                        <input id="icePackNumber" name="icePackNumber" placeholder="请输入冰排编号" class="form-control" type="text" maxlength="50" th:value="${icePackNumber}">
                     </div>
                 </div>
             </div>
-        </div>
 
+
+        </div>
         <div class="row">
             <div class="col-sm-4">
                 <div class="form-group">
-                    <label class="col-sm-4 control-label">处方类型:</label>
+                    <label class="col-sm-4 control-label">收货地址:</label>
                     <div class="col-sm-8">
-                        <select name="prescriptionType" class="form-control" th:with="type=${@dict.getType('sys_select_prescription_ype')}">
-                            <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
-                                    th:selected="${dict.dictValue}==${prescriptionType}"></option>
-                        </select>
+                        <input id="recipientAddress" name="recipientAddress"  type="text" maxlength="1000"  class="form-control" placeholder="请输入收货地址" th:value="${recipientAddress}">
                     </div>
                 </div>
             </div>
-
             <div class="col-sm-4">
                 <div class="form-group">
-                    <label class="col-sm-4 control-label">配送方式:</label>
+                    <label class="col-sm-4 control-label">出发温度:</label>
                     <div class="col-sm-8">
-                        <select name="deliveryMethod" class="form-control" th:with="type=${@dict.getType('sys_select_delivery_method')}">
-                            <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
-                                    th:selected="${dict.dictValue}==${deliveryMethod}"></option>
-                        </select>
+                        <input id="departureTemperature" name="departureTemperature"  type="text" maxlength="10"  class="form-control" placeholder="请输入出发温度" th:value="${departureTemperature}">
                     </div>
                 </div>
             </div>
             <div class="col-sm-4">
                 <div class="form-group">
-                    <label class="col-sm-4 control-label">MDM编码:</label>
-
+                    <label class="col-sm-4 control-label">送达温度:</label>
                     <div class="col-sm-8">
-                        <input id="mdmCode" name="mdmCode" placeholder="请输入MDM编码" class="form-control" type="text" maxlength="50" th:value="${mdmCode}" >
+                        <input id="arrivalTemperature" name="arrivalTemperature"  type="text" maxlength="10"  class="form-control" placeholder="请输入送达温度" th:value="${arrivalTemperature}">
                     </div>
                 </div>
             </div>
-
-
         </div>
         <div class="row">
             <div class="col-sm-4">
                 <div class="form-group">
-                    <label class="col-sm-4 control-label is-required">医生:</label>
+                    <label class="col-sm-4 control-label">签收照片:</label>
                     <div class="col-sm-8">
-                        <input id="doctor" name="doctor" placeholder="请输入医生" class="form-control" type="text" maxlength="30" th:value="${doctor}">
+                        <input id="signaturePhoto" name="signaturePhoto"  type="text" maxlength="1000"  class="form-control" placeholder="签收照片" th:value="${signaturePhoto}">
                     </div>
                 </div>
             </div>
             <div class="col-sm-4">
                 <div class="form-group">
-                    <label class="col-sm-4 control-label is-required">医院:</label>
+                    <label class="col-sm-4 control-label">配送员:</label>
                     <div class="col-sm-8">
-                        <input name="hospital" placeholder="请输入医院" class="form-control" type="text" maxlength="30" th:value="${hospital}">
+                        <input id="deliveryPerson" name="deliveryPerson" placeholder="请输入配送员" class="form-control" type="text" maxlength="50"  th:value="${deliveryPerson}">
                     </div>
                 </div>
             </div>
+
+
             <div class="col-sm-4">
                 <div class="form-group">
-                    <label class="col-sm-4 control-label ">科室:</label>
+                    <label class="col-sm-4 control-label">配送箱编号:</label>
                     <div class="col-sm-8">
-                        <input id="department" name="department" placeholder="请输入科室" class="form-control" type="text" maxlength="50" th:value="${department}">
+                        <input id="deliveryBoxNumber" name="deliveryBoxNumber"  type="text" maxlength="25"  class="form-control" placeholder="配送箱编号" th:value="${deliveryBoxNumber}">
                     </div>
                 </div>
             </div>
         </div>
-
-
         <h4 class="form-header h4">其他信息</h4>
         <div class="row">
             <div class="col-sm-6">
                 <div class="form-group">
-                    <label class="col-sm-6 control-label">pos会员姓名:</label>
+                    <label class="col-sm-4 control-label">付款顺序:</label>
                     <div class="col-sm-8">
-                        <input id="posMemberName" name="posMemberName" placeholder="请输入pos会员姓名" class="form-control" type="text" maxlength="30" th:value="${posMemberName}">
-                    </div>
-                </div>
-            </div>
-            <div class="col-sm-6">
-                <div class="form-group">
-                    <label class="col-sm-6 control-label">pos会员手机号:</label>
-                    <div class="col-sm-8">
-                        <input id="posMemberPhone" name="posMemberPhone" placeholder="请输入pos会员手机号" class="form-control" type="number" maxlength="11" th:value="${posMemberPhone}">
+                        <select name="paymentSequence" class="form-control" th:with="type=${@dict.getType('sys_select_payment_sequence')}">
+                            <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:selected="${dict.dictValue}==${paymentSequence}"
+                            ></option>
+                        </select>
                     </div>
                 </div>
             </div>
-
         </div>
     </form>
 </div>
@@ -221,7 +235,7 @@
 
 
     function submitHandler() {
-        var prefix = ctx + "dtp/recipe";
+        var prefix = ctx + "dtp/cold";
         if ($.validate.form()) {
             var data = $("#form-server-edit").serializeArray();
             /*var status = $("input[id='status']").is(':checked') == true ? 0 : 1;

+ 11 - 58
health-admin/src/main/resources/templates/DTP/recipe/add.html

@@ -170,22 +170,27 @@
 
         <h4 class="form-header h4">其他信息</h4>
         <div class="row">
-            <div class="col-sm-6">
+            <div class="col-sm-4">
                 <div class="form-group">
                     <label class="col-sm-6 control-label">pos会员姓名:</label>
-                        <div class="col-sm-8">
+                        <div class="col-sm-6">
                             <input id="posMemberName" name="posMemberName" placeholder="请输入pos会员姓名" class="form-control" type="text" maxlength="30" >
                     </div>
                 </div>
             </div>
-                <div class="col-sm-6">
+                <div class="col-sm-4">
                     <div class="form-group">
                         <label class="col-sm-6 control-label">pos会员手机号:</label>
-                            <div class="col-sm-8">
+                            <div class="col-sm-6">
                                 <input id="posMemberPhone" name="posMemberPhone" placeholder="请输入pos会员手机号" class="form-control" type="number" maxlength="11" >
                             </div>
                         </div>
                 </div>
+            <div class="col-sm-4">
+                <div class="form-group">
+
+                </div>
+            </div>
 
         </div>
 
@@ -204,54 +209,6 @@
 <th:block th:include="include :: select2-js" />
 <script>
     var prefix = ctx + "dtp/recipe";
-    var prescriptionTypes = [
-        { label: '电子处方', value: 'electronic' },
-        { label: '纸质处方', value: 'paper' }
-    ];
-    // $("#form-user-add").validate({
-    //     onkeyup: false,
-    //     rules:{
-    //         patientName:{
-    //             minlength: 3,
-    //             maxlength: 20,
-    //             remote: {
-    //                 url: prefix + "/checkPatientNameAndPhoneUnique",
-    //                 type: "post",
-    //                 dataType: "json",
-    //                 data: {
-    //                     "patientName": function() {
-    //                         return $.common.trim($("#patientName").val());
-    //                     },
-    //                     "patientPhone": function() {
-    //                         return $.common.trim($("#patientPhone").val());
-    //                     }
-    //                 }
-    //             }
-    //         },
-    //         patientPhone:{
-    //             isPhone:true,
-    //             remote: {
-    //                 url: prefix + "/checkPhoneUnique",
-    //                 type: "post",
-    //                 dataType: "json",
-    //                 data: {
-    //                     "patientPhone": function () {
-    //                         return $.common.trim($("#patientPhone").val());
-    //                     }
-    //                 }
-    //             }
-    //         },
-    //     },
-    //     messages: {
-    //         "patientName": {
-    //             remote: "患者已经存在"
-    //         },
-    //         "patientPhone":{
-    //             remote: "患者手机号码已经存在"
-    //         }
-    //     },
-    //     focusCleanup: true
-    // });
 
     function submitHandler() {
         if ($.validate.form()) {
@@ -282,14 +239,10 @@
         $.modal.close(index);
     }
 
-    $(function() {
-        $('#post').select2({
-            placeholder: "请选择岗位",
-            allowClear: true
-        });
-    })
 </script>
 </body>
 </html>
 
 
+
+

+ 8 - 4
health-admin/src/main/resources/templates/DTP/recipe/edit.html

@@ -166,23 +166,27 @@
 
             <h4 class="form-header h4">其他信息</h4>
             <div class="row">
-                <div class="col-sm-6">
+                <div class="col-sm-4">
                     <div class="form-group">
                         <label class="col-sm-6 control-label">pos会员姓名:</label>
-                        <div class="col-sm-8">
+                        <div class="col-sm-6">
                             <input id="posMemberName" name="posMemberName" placeholder="请输入pos会员姓名" class="form-control" type="text" maxlength="30" th:value="${posMemberName}">
                         </div>
                     </div>
                 </div>
-                <div class="col-sm-6">
+                <div class="col-sm-4">
                     <div class="form-group">
                         <label class="col-sm-6 control-label">pos会员手机号:</label>
-                        <div class="col-sm-8">
+                        <div class="col-sm-6">
                             <input id="posMemberPhone" name="posMemberPhone" placeholder="请输入pos会员手机号" class="form-control" type="number" maxlength="11" th:value="${posMemberPhone}">
                         </div>
                     </div>
                 </div>
+                <div class="col-sm-4">
+                    <div class="form-group">
 
+                    </div>
+                </div>
             </div>
         </form>
     </div>

+ 12 - 58
health-admin/src/main/resources/templates/DTP/recipe/recipe.html

@@ -17,25 +17,25 @@
 						<div class="select-list">
 							<ul>
 								<li>
-									患者信息:<input type="text"  placeholder="请输入患者姓名或手机号" name="query"/>
+									患者信息:<input type="text" class="styled-input" placeholder="请输入患者姓名或手机号" name="query"/>
 								</li>
 								<li>
-									药品:<input type="text" name="genericName"/>
+									药品:<input type="text" class="styled-input" name="genericName"/>
 								</li>
 								<li>
 								<li>
-									订单编号:<input type="text" name="orderId"/>
+									订单编号:<input type="text" class="styled-input" name="orderId"/>
 								</li>
 								<li>
-									销售单号:<input type="text" name="saleOrderNumber"/>
+									销售单号:<input type="text" class="styled-input" name="saleOrderNumber"/>
 								</li>:
 								</li>
 								<li>
-									处方单号:<input type="text" name="prescriptionNumber"/>
+									处方单号:<input type="text" class="styled-input" name="prescriptionNumber"/>
 								</li>
 								<li>
 									<label>处方类型</label>
-									<select name="prescriptionType"  th:with="type=${@dict.getType('sys_select_prescription_ype')}">
+									<select name="prescriptionType"  th:with="type=${@dict.getType('sys_select_prescription_ype')}" class="styled-input">
 										<option value="">全部</option>
 										<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
 												></option>
@@ -43,7 +43,7 @@
 								</li>
 								<li>
 									<label>配送方式</label>
-									<select name="deliveryMethod"  th:with="type=${@dict.getType('sys_select_delivery_method')}">
+									<select name="deliveryMethod"  th:with="type=${@dict.getType('sys_select_delivery_method')}" class="styled-input">
 										<option value="">全部</option>
 										<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
 												></option>
@@ -52,15 +52,15 @@
 
 								<li>
 									<label>订单日期 </label>
-									<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[beginTime]"/>
+									<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="beginTime"/>
 									<span>-</span>
-									<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[endTime]"/>
+									<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="endTime"/>
 								</li>
 
 
 								<li>
 									<label>订单状态</label>
-									<select name="status" th:with="type=${@dict.getType('sys_select_order_status')}">
+									<select name="status" th:with="type=${@dict.getType('sys_select_order_status')}" class="styled-input">
 										<option value="">全部</option>
 										<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"
 										></option>
@@ -126,7 +126,6 @@
 	    		$('#scroll-up').toTop(opt);
 	    	}
 		    queryUserList();
-		    //queryDeptTree();
 		});
 
 		function queryUserList() {
@@ -165,7 +164,7 @@
 					},
 					{
 						field: "productName",
-						title: "商品名"
+						title: "商品名",
 					},
 					{
 						field: "specification",
@@ -272,7 +271,7 @@
 		            title: '操作',
 		            align: 'center',
 		            formatter: function(value, row, index) {
-		                if (row.id != 1) {
+		                if (row.id) {
 		                	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> ');
@@ -302,22 +301,6 @@
 				$.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();
@@ -327,35 +310,6 @@
 			$(".curSelectedNode").removeClass("curSelectedNode");
 			$.table.search();
 		}
-
-		/* 用户管理-部门 */
-		function dept() {
-			var url = ctx + "system/dept";
-			$.modal.openTab("部门管理", url);
-		}
-
-		/* 用户状态显示 */
-		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> ';
-    		}
-		}
-
-		/* 用户管理-停用 */
-		function disable(userId) {
-			$.modal.confirm("确认要停用用户吗?", function() {
-				$.operate.post(prefix + "/changeStatus", { "userId": userId, "status": 1 });
-		    })
-		}
-
-		/* 用户管理启用 */
-		function enable(userId) {
-			$.modal.confirm("确认要启用用户吗?", function() {
-				$.operate.post(prefix + "/changeStatus", { "userId": userId, "status": 0 });
-		    })
-		}
 	</script>
 </body>
 

+ 5 - 10
health-admin/src/main/resources/templates/DTP/recipe/view.html

@@ -20,14 +20,15 @@
                 <div class="ant-card-head-title">
                     <div class="index_title-2CoZR">
                         <h1>DTP处方登记概览</h1>
-
+                        <button onclick="" class="ant-btn-primary">导出订单</button>
+                    </div>
                 </div>
             </div>
 
         </div>
         <div class="container-div">
         <form id="report-form">
-            <input type="hidden"  class="form-control"  name="id" id="id">
+            <input type="text" class="" hidden="true" value="" name="id">
         <div class="ChartAndTable_chart-and-table-3ib6R">
             <div class="ant-radio-group ant-radio-group-outline">
                 <label class="ant-radio-button-wrapper ant-radio-button-wrapper-checked">
@@ -264,9 +265,6 @@
 
         /*门店列表-详细*/
         function detail(id) {
-            $("#id").val(id);
-            $.table.search();
-            $("#id").val("");
             debugger
             $.ajax({
                 type : "GET",
@@ -302,12 +300,10 @@
                         }]
                     };
 
-
-
                     // 使用新的数据更新图表
                     myChart.setOption(updatedOption);
-
-
+                    $("#id").val(id);
+                    queryUserList();
                 },
                 error : function(errorMsg) {
                     //请求失败时执行该函数
@@ -315,7 +311,6 @@
                     myChart.hideLoading();
                 }
             })
-
         }
 
     /* 自定义重置-表单重置/隐藏框/树节点选择色/搜索 */

+ 2 - 2
health-admin/src/main/resources/templates/dtp/cold/add.html

@@ -13,14 +13,14 @@
             <div class="col-sm-3">
                 <div class="form-group">
                     <label>预计配送时间</label>
-                    <input type="text" class="styled-input time-input" id="expectedDeliveryTime"  name="expectedDeliveryTime" placeholder="预计配送时间" />
+                    <input type="text" class="time-input" id="expectedDeliveryTime"  name="expectedDeliveryTime" placeholder="预计配送时间" />
                 </div>
             </div>
             <div class="col-sm-3">
                 <div class="form-group">
                     <div class="form-group">
                         <label>实际配送时间</label>
-                        <input type="text" class="styled-input time-input" id="actualDeliveryTime" placeholder="实际配送时间" name="actualDeliveryTime"/>
+                        <input type="text" class="time-input" id="actualDeliveryTime" placeholder="实际配送时间" name="actualDeliveryTime"/>
                     </div>
                 </div>
             </div>

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

@@ -249,7 +249,7 @@
 		/* 自定义重置-表单重置/隐藏框/树节点选择色/搜索 */
 		function resetPre() {
 			resetDate();
-			$("#archives-form")[0].reset();
+			$("#followUp-form")[0].reset();
 			$("#deptId").val("");
 			$("#parentId").val("");
 			$(".curSelectedNode").removeClass("curSelectedNode");

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

@@ -255,12 +255,12 @@
 		/* 自定义重置-表单重置/隐藏框/树节点选择色/搜索 */
 		function resetPre() {
 			resetDate();
-			$("#archives-form")[0].reset();
+			$("#followUpAssign-form")[0].reset();
 			$("#deptId").val("");
 			$("#parentId").val("");
 			$(".curSelectedNode").removeClass("curSelectedNode");
 			$.table.search();
-			var resetButton = document.getElementById('followUpAssign-form-form');
+			var resetButton = document.getElementById('followUpAssign-form');
 			resetButton.addEventListener('click', function() {
 				_refresh();
 			});

+ 131 - 0
health-admin/src/main/resources/templates/dtp/patientCounseling/patientCounselingEdit.html

@@ -0,0 +1,131 @@
+ <!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-patientCounseling-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="患者姓名" th:value="${patientName}" class="styled-input" type="text" maxlength="255" required>
+                                </div>
+                            </div>
+                            <label class="col-sm-1 control-label">患者手机号:</label>
+                            <div class="col-sm-2">
+                                <div class="input-group">
+                                    <input name="patientPhone" placeholder="患者手机号" th:value="${patientPhone}" class="styled-input" type="text" maxlength="20" 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>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">年龄:</label>
+                        <div class="col-sm-2">
+                            <div class="input-group">
+                                <input name="age" placeholder="年龄" th:value="${age}" class="styled-input" type="number" required>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+                <div class="col-sm-12">
+                    <div class="form-group">
+                        <label class="col-sm-1 control-label">问题类型:</label>
+                        <div class="col-sm-2">
+                            <div class="input-group">
+                                <input name="questionType" placeholder="问题类型" class="styled-input" th:value="${questionType}" type="text" maxlength="255" required>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">咨询问题:</label>
+                        <div class="col-sm-2">
+                            <div class="input-group">
+                                <input name="consultationQuestion" placeholder="咨询问题" th:value="${consultationQuestion}" class="styled-input" required>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">药师解答:</label>
+                        <div class="col-sm-2">
+                            <div class="input-group">
+                                <input name="pharmacistAnswer" placeholder="药师解答" th:value="${pharmacistAnswer}" class="styled-input" ></input>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">咨询时间:</label>
+                        <div class="col-sm-2">
+                            <div class="input-group">
+                                <input name="consultationTime" placeholder="咨询时间" th:value="${updateTime2}" class="styled-input time-input-new" type="text" required>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+
+                <div class="col-sm-12">
+                    <div class="form-group">
+                        <label class="col-sm-1 control-label">疾病:</label>
+                        <div class="col-sm-2">
+                            <div class="input-group">
+                                <input name="disease" placeholder="疾病" th:value="${disease}" class="styled-input" type="text" maxlength="255" required>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">药品通用名:</label>
+                        <div class="col-sm-2">
+                            <div class="input-group">
+                                <input name="genericName" placeholder="药品通用名" th:value="${genericName}" class="styled-input" type="text" maxlength="255" required>
+                            </div>
+                        </div>
+                        <label class="col-sm-1 control-label">商品名:</label>
+                        <div class="col-sm-2">
+                            <div class="input-group">
+                                <input name="productName" placeholder="商品名" th:value="${productName}" class="styled-input" type="text" maxlength="255" 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-patientCounseling-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 + "/patientCounselingEdit", data);
+        }
+    }
+</script>

+ 211 - 0
health-admin/src/main/resources/templates/dtp/patientCounseling/patientCounselingList.html

@@ -0,0 +1,211 @@
+<!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="patientCounseling-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="disease"/>
+								</li>
+								<li>
+									咨询问题:<input type="text"  class="styled-input" name="consultationQuestion"/>
+								</li>
+								<li>
+									问题类型:<input type="text"  class="styled-input" name="questionType"/>
+								</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="select-list" >
+							<ul>
+								<li>
+									药品:<input type="text"  class="styled-input" name="followUpPersonName"/>
+								</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 + "/patientCounselingList",
+		        viewUrl: prefix + "/patientCounselingView/{id}",
+		        createUrl: prefix + "/patientCounselingAdd",
+		        updateUrl: prefix + "/patientCounselingEdit/{id}",
+		        removeUrl: prefix + "/patientCounselingRemove",
+		        /*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: 'createdBy', title: '创建人', align: 'center' },
+				{ field: 'createdDate', title: '创建日期', align: 'center' },*/
+				{ field: 'patientName', title: '患者姓名', align: 'center' },
+				{ field: 'patientPhone', title: '患者手机号', align: 'center' },
+				{ field: 'gender', title: '性别', align: 'center' },
+				{ field: 'age', title: '年龄', align: 'center' },
+				{ field: 'questionType', title: '问题类型', align: 'center' },
+				{ field: 'consultationQuestion', title: '咨询问题', align: 'center' },
+				{ field: 'pharmacistAnswer', title: '药师解答', align: 'center' },
+				{ field: 'consultationTime', title: '咨询时间', align: 'center' },
+				{ field: 'disease', title: '疾病', align: 'center' },
+				{ field: 'genericName', title: '药品通用名', align: 'center' },
+				{ field: 'productName', title: '商品名', align: 'center' },
+
+		        {
+		            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();
+			$("#patientCounseling-form")[0].reset();
+			$("#deptId").val("");
+			$("#parentId").val("");
+			$(".curSelectedNode").removeClass("curSelectedNode");
+			$.table.search();
+			var resetButton = document.getElementById('patientCounseling-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>

+ 49 - 0
health-admin/src/main/resources/templates/dtp/print/detail.html

@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+	<th:block th:include="include :: header('配送单据打印详细')" />
+	<th:block th:include="include :: jsonview-css" />
+</head>
+<body class="white-bg">
+	<div class="wrapper wrapper-content animated fadeInRight ibox-content">
+	<form class="form-horizontal m-t" id="signupForm" th:object="${detail}">
+		<div class="form-group">
+			<label class="col-sm-2 control-label">订单编号:</label>
+			<div class="form-control-static" th:text="${orderId}">
+			</div>
+		</div>
+		<div class="form-group">
+			<label class="col-sm-2 control-label">配送时间:</label>
+			<div class="form-control-static" th:text="${deliveryTime}">
+			</div>
+		</div>
+		<div class="form-group">
+			<label class="col-sm-2 control-label">配送人:</label>
+			<div class="form-control-static" th:text="${deliverer}">
+			</div>
+		</div>
+		<div class="form-group">
+			<label class="col-sm-2 control-label">打印申请时间:</label>
+			<div class="form-control-static" th:text="${printRequestTime}">
+			</div>
+		</div>
+		<div class="form-group">
+			<label class="col-sm-2 control-label">打印状态:</label>
+			<div class="form-control-static" th:text="${status}">
+			</div>
+		</div>
+
+		<div class="form-group" th:style="'display:' + ${status == 0 ? 'none' : 'block'}">
+			<label class="col-sm-2 control-label">订单数据:</label>
+			<div class="form-control-static" th:text="${orderData}">
+			</div>
+		</div>
+	</form>
+    </div>
+    <th:block th:include="include :: footer" />
+    <th:block th:include="include :: jsonview-js" />
+    <script th:inline="javascript">
+
+    </script>
+</body>
+</html>

+ 194 - 0
health-admin/src/main/resources/templates/dtp/print/print.html

@@ -0,0 +1,194 @@
+<!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>
+<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="user-form">
+						<div class="select-list">
+							<ul>
+
+								<li>
+									<label>配送时间 </label>
+									<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="deliveryTimeStart"/>
+									<span>-</span>
+									<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="deliveryTimeEnd"/>
+								</li>
+								<li>
+									<label style="width: 90px; float: left;">打印申请时间 </label>
+									<input type="text" class="time-input" id="startTimes" placeholder="开始时间" name="printRequestTimeStart"/>
+									<span>-</span>
+									<input type="text" class="time-input" id="endTimes" placeholder="结束时间" name="printRequestTimeEnd"/>
+								</li>
+								<li>
+									<label>配送人: </label>
+									<input type="text"  placeholder="请输入配送人姓名" name="deliverer"/>
+								</li>
+								<li>
+									<label>打印状态:</label>
+									<select name="prescriptionType"  th:with="type=${@dict.getType('sys_select_print_status')}">
+										<option value="">全部</option>
+										<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}"
+												></option>
+									</select>
+								</li>
+
+								<li>
+									<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>
+					</form>
+				</div>
+
+<!--		        <div class="btn-group-sm" id="toolbar" role="group">-->
+<!--		        	<a class="btn btn-success" onclick="$.operate.addTab()" shiro:hasPermission="dtp:recipe:add">-->
+<!--		                <i class="fa fa-plus"></i> 新增-->
+<!--		            </a>-->
+<!--		             <a class="btn btn-primary single disabled" onclick="$.operate.editTab()" shiro:hasPermission="dtp:recipe:edit">-->
+<!--			            <i class="fa fa-edit"></i> 修改-->
+<!--			        </a>-->
+<!--		            <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="sdtp:recipe:remove">-->
+<!--		                <i class="fa fa-remove"></i> 删除-->
+<!--		            </a>-->
+<!--		            <a class="btn btn-info" onclick="$.table.importExcel()" shiro:hasPermission="dtp:recipe:import">-->
+<!--			            <i class="fa fa-upload"></i> 导入-->
+<!--			        </a>-->
+				<div class="btn-group-sm" id="toolbar" role="group">
+		            <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="dtp:print: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('system:user:edit')}]];
+		var removeFlag = [[${@permission.hasPermi('system:user:remove')}]];
+		var prefix = ctx + "dtp/print";
+
+		$(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);
+	    	}
+		    queryUserList();
+		});
+
+		function queryUserList() {
+		    var options = {
+		        url: prefix + "/list",
+		        viewUrl: prefix + "/view/{id}",
+		        createUrl: prefix + "/add",
+		        updateUrl: prefix + "/edit/{id}",
+		        removeUrl: prefix + "/remove",
+		        exportUrl: prefix + "/export",
+		        sortName: "createTime",
+		        sortOrder: "desc",
+		        modalName: "配送单据打印信息",
+		        columns: [{
+		            checkbox: true
+		        },
+					{
+						field: "id",
+						title: "id",
+						//hidden:false
+						visible: false,
+					},
+					{
+						field: "orderId",
+						title: "订单编号"
+					},
+					{
+						field: "deliverer",
+						title: "配送人"
+					},
+					{
+						field: "deliveryTime",
+						title: "配送时间"
+					},
+					{
+						field: "printRequestTime",
+						title: "打印申请时间"
+					},
+					{
+						field: "status",
+						title: "打印状态"
+					},
+					{
+						field: "createTime",
+						title: "创建时间"
+					},
+		        {
+		            title: '操作',
+		            align: 'center',
+		            formatter: function(value, row, index) {
+		                if (row.id) {
+		                	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> ');
+			                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();
+		});
+
+		$('#btnRefresh').click(function() {
+		});
+		/* 自定义重置-表单重置/隐藏框/树节点选择色/搜索 */
+		function resetPre() {
+			resetDate();
+			$("#user-form")[0].reset();
+			$("#deptId").val("");
+			$("#parentId").val("");
+			$(".curSelectedNode").removeClass("curSelectedNode");
+			$.table.search();
+		}
+
+	</script>
+</body>
+
+</html>

+ 452 - 0
health-admin/src/main/resources/templates/dtp/recipe/view.html

@@ -0,0 +1,452 @@
+<!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('DTP处方登记概览')" />
+    <th:block th:include="include :: layout-latest-css" />
+    <th:block th:include="include :: ztree-css" />
+    <script th:src="@{/health/js/echarts.min.js}"></script>
+    <style>
+        #chart-container {
+            width: 100%;
+            height: 500px;
+        }
+    </style>
+</head>
+<body class="gray-bg">
+
+    <div class="ui-layout-center">
+        <div class="ant-card-head">
+            <div class="ant-card-head-wrapper">
+                <div class="ant-card-head-title">
+                    <div class="index_title-2CoZR">
+                        <h1>DTP处方登记概览</h1>
+                        <button onclick="" class="ant-btn-primary">导出订单</button>
+                    </div>
+                </div>
+            </div>
+
+        </div>
+        <div class="container-div">
+        <form id="report-form">
+            <input type="text" class="" hidden="true" value="" name="id">
+        <div class="ChartAndTable_chart-and-table-3ib6R">
+            <div class="ant-radio-group ant-radio-group-outline">
+                <label class="ant-radio-button-wrapper ant-radio-button-wrapper-checked">
+                    <span class="ant-radio-button ant-radio-button-checked">
+                        <input type="radio" class="ant-radio-button-input" value="1" checked="">
+                        <span class="ant-radio-button-inner">
+
+                        </span>
+                    </span>
+                    <span>订单量模式</span>
+                </label>
+                <label class="ant-radio-button-wrapper">
+                    <span class="ant-radio-button">
+                        <input type="radio" class="ant-radio-button-input" value="2">
+                        <span class="ant-radio-button-inner">
+
+                        </span>
+                    </span>
+                    <span>百分比模式</span>
+                </label>
+            </div>
+                <div class="ant-radio-group ant-radio-group-outline">
+                <label class="ant-radio-button-wrapper2">
+                        <span class="ant-radio-button ant-radio-button-checked">
+                            <input type="radio" class="ant-radio-button-input" value="7" checked="">
+                            <span class="ant-radio-button-inner"></span>
+                        </span><span>本周</span></label>
+                <label class="ant-radio-button-wrapper2">
+                        <span class="ant-radio-button">
+                            <input type="radio" class="ant-radio-button-input" value="30">
+                            <span class="ant-radio-button-inner">
+
+                            </span></span><span>本月</span></label>
+                <label class="ant-radio-button-wrapper2">
+                        <span class="ant-radio-button">
+                            <input type="radio" class="ant-radio-button-input" value="60">
+                            <span class="ant-radio-button-inner">
+
+                            </span></span><span>上月</span></label>
+                <label class="ant-radio-button-wrapper2">
+                        <span class="ant-radio-button">
+                            <input type="radio" class="ant-radio-button-input" value="365">
+                            <span class="ant-radio-button-inner">
+
+                            </span></span>
+                    <span>本年</span>
+                </label>
+
+                  <label>订单日期 </label>
+									<input type="text" class="styled-input time-input" id="startTime" placeholder="开始时间" name="beginTime"/>
+									<span>-</span>
+									<input type="text" class="styled-input time-input" id="endTime" placeholder="结束时间" name="endTime"/>
+                    <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>
+            </div>
+
+        </div>
+        </form>
+
+        <div id="chart-container"></div>
+        <div class="col-sm-12 select-table table-striped">
+            <table id="bootstrap-table"></table>
+        </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 prefix = ctx + "dtp/report";
+    var names=[];
+    var Xnames=[];
+    var submitted=[];
+    var unsubmitted=[];
+    var retData=[];
+
+        // 初始化 ECharts 图表
+        var myChart = echarts.init(document.getElementById('chart-container'));
+        // 指定图表的配置项和数据
+                var option = {
+                title: {
+                text: 'DTP 处方登记概览',
+                left: 'center'
+                },
+                tooltip: {
+                trigger: 'axis',
+                axisPointer: {
+                type: 'shadow'
+               },
+                formatter: function(params) {
+                var submitted = retData[params[0].dataIndex].completedCount;
+                var unsubmitted = retData[params[0].dataIndex].pendingCount;
+                return '<p>' + params[0].name + '</p><p>已提交:' + submitted + ' 单 | 未提交:' + unsubmitted + ' 单</p>';
+               }
+               },
+                legend: {
+                data: ['已提交', '未提交']
+               },
+                xAxis: {
+                 type: 'category',
+                 data: names,
+
+                    name: '店铺名称', // X 轴的显示说明
+                    nameLocation: 'end', // 名称的位置,可选值有 'start', 'middle', 'end'
+                    nameGap: 30, // 名称与轴线之间的距离
+                    nameTextStyle: {
+                        fontSize: 14,
+                        color: 'black'
+                    },
+                axisLabel: {
+                    formatter: function (value, index) {
+                        // 获取对应的数据点
+                        var data = option.series[0].data[index];
+                        // 判断 y 轴数值是否超过 250
+                        if (data > 100) {
+                            return `{red|${value}}`;
+                        } else {
+                            return value;
+                        }
+                    },
+                    rich: {
+                        red: {
+                            color: 'red'
+                        }
+                    }
+                }
+            },
+                yAxis: {
+                   type: 'value',
+                    name: '订单量', // Y 轴的显示说明
+                    nameLocation: 'end', // 名称的位置,可选值有 'start', 'middle', 'end'
+                    nameGap: 30, // 名称与轴线之间的距离
+                    nameTextStyle: {
+                        fontSize: 14,
+                        color: 'black'
+                    },
+                },
+                series:  [
+                    {
+                        data:Xnames,
+                        type: 'bar',
+                        showBackground: true,
+                        backgroundStyle: {
+                            color: 'rgba(180, 180, 180, 0.2)'
+                        },
+                        itemStyle: {
+                            color: function(params) {
+                                // 根据 y 轴数值设置颜色
+                                if (params.value > 100) {
+                                    return 'red';
+                                } else {
+                                    return 'blue'; // 默认颜色
+                                }
+                            }
+                        }
+                    }
+                ]
+            };
+
+        // 使用刚指定的配置项和数据显示图表。
+        myChart.setOption(option);
+
+    $(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);
+        }
+        queryUserList();
+    });
+
+    function queryUserList() {
+        var options = {
+            url: prefix + "/list",
+            viewUrl: prefix + "/view/{id}",
+            exportUrl: prefix + "/export",
+            importUrl: prefix + "/importData",
+            importTemplateUrl: prefix + "/importTemplate",
+            sortName: "createTime",
+            sortOrder: "desc",
+            modalName: "DTP处方登记概览",
+            columns: [
+                {
+                    field: "id",
+                    title: "id",
+                    //hidden:false
+                    visible: false,
+                },
+                {
+                    field: "chain",
+                    title: "连锁店",
+                    align: "center",
+                    sortable: true,
+                    formatter: function(value, row, index) {
+                        if (row.id) {
+                            // 假设 row.id 是你要传递的 ID 参数
+                            return '<a href="javascript:void(0)"   onclick="detail(\'' + row.id + '\')">' + value + '</a>';
+                        }
+                    }
+
+                },
+                {
+                    field: "orderCount",
+                    title: "订单量",
+                    align: "center"
+                },
+                {
+                    field: "pendingCount",
+                    title: "待完成订单数量",
+                    align: "center"
+                },
+                {
+                    field: "completedCount",
+                    title: "已完成订单数量",
+                    align: "center"
+                },
+                {
+                    field: "completionRate",
+                    title: "订单完成率(%)",
+                    align: "center"
+                }]
+        };
+        $.table.init(options);
+    }
+
+        /*门店列表-详细*/
+        function detail(id) {
+            debugger
+            $.ajax({
+                type : "GET",
+                async : true,            //异步请求(同步请求将会锁住浏览器,用户其他操作必须等待请求完成才可以执行)
+                url : prefix + "/viewDetail/"+id,    //请求发送到TestServlet处
+                data : {},
+                dataType : "json",        //返回数据形式为json
+                success : function(result) {
+                    debugger
+
+                    //请求成功时执行该函数内容,result即为服务器返回的json对象
+                    names=[];
+                    Xnames=[];
+                    unsubmitted=[];
+                    submitted=[];
+                    retData=[];
+                    myChart = echarts.init(document.getElementById('chart-container'))
+                    if (result.data.length>0) {
+                        retData=result.data;
+                        for(var i=0;i<retData.length;i++){
+                            names.push(retData[i].chain);    //挨个取出类别并填入类别数组
+                            Xnames.push(retData[i].orderCount);
+                            unsubmitted.push(retData[i].pendingCount);
+                            submitted.push(retData[i].completedCount);
+                        }
+                    }
+                    var updatedOption = {
+                        xAxis: {
+                            data: names
+                        },
+                        series: [{
+                            data: Xnames
+                        }]
+                    };
+
+                    // 使用新的数据更新图表
+                    myChart.setOption(updatedOption);
+                    $("#id").val(id);
+                    queryUserList();
+                },
+                error : function(errorMsg) {
+                    //请求失败时执行该函数
+                    alert("图表请求数据失败!");
+                    myChart.hideLoading();
+                }
+            })
+        }
+
+    /* 自定义重置-表单重置/隐藏框/树节点选择色/搜索 */
+    function resetPre() {
+        resetDate();
+        $("#report-form")[0].reset();
+        $("#deptId").val("");
+        $("#parentId").val("");
+        $(".curSelectedNode").removeClass("curSelectedNode");
+        $.table.search();
+    }
+        $.ajax({
+            type : "POST",
+            async : true,            //异步请求(同步请求将会锁住浏览器,用户其他操作必须等待请求完成才可以执行)
+            url : prefix + "/listReport",    //请求发送到TestServlet处
+            data : {},
+            dataType : "json",        //返回数据形式为json
+            success : function(result) {
+                debugger
+                //请求成功时执行该函数内容,result即为服务器返回的json对象
+
+                if (result.data.length>0) {
+                    retData=result.data;
+                    for(var i=0;i<retData.length;i++){
+                        names.push(retData[i].chain);    //挨个取出类别并填入类别数组
+                        Xnames.push(retData[i].orderCount);
+                        unsubmitted.push(retData[i].pendingCount);
+                        submitted.push(retData[i].completedCount);
+                    }
+                    myChart.setOption(option);
+                }
+
+            },
+            error : function(errorMsg) {
+                //请求失败时执行该函数
+                alert("图表请求数据失败!");
+                myChart.hideLoading();
+            }
+        })
+</script>
+<style>
+    .ant-btn-primary {
+        color: #fff;
+        background-color: #1890ff;
+        border-color: #1890ff;
+        text-shadow: 0 -1px 0 rgb(0 0 0 / 12%);
+        box-shadow: 0 2px 0 rgb(0 0 0 / 5%);
+    }
+
+    .ant-radio-button-wrapper {
+        position: relative;
+        display: inline-block;
+        height: 32px;
+        margin: 0;
+        padding: 0 15px;
+        color: rgba(0,0,0,.65);
+        line-height: 30px;
+        background: #fff;
+        border: 1px solid #d9d9d9;
+        border-top-width: 1.02px;
+        border-left: 0;
+        cursor: pointer;
+        transition: color .3s,background .3s,border-color .3s;
+    }
+    .ant-radio-button-wrapper2 {
+        text-align: right;
+        position: relative;
+        display: inline-block;
+        height: 32px;
+        margin: 0;
+        padding: 0 15px;
+        color: rgba(0,0,0,.65);
+        line-height: 30px;
+        background: #fff;
+        border: 1px solid #d9d9d9;
+        border-top-width: 1.02px;
+        border-left: 0;
+        cursor: pointer;
+        transition: color .3s,background .3s,border-color .3s;
+    }
+    .ant-card-head {
+        min-height: 48px;
+        margin-bottom: -1px;
+        padding: 0 24px;
+        color: rgba(0,0,0,.85);
+        font-weight: 500;
+        font-size: 16px;
+        background: transparent;
+        border-bottom: 1px solid #e8e8e8;
+        border-radius: 2px 2px 0 0;
+        zoom: 1;
+    }
+    .ant-card-head-wrapper {
+        display: flex;
+        align-items: center;
+    }
+    .ant-card-head-title {
+        display: inline-block;
+        flex: 1;
+        padding: 16px 0;
+        overflow: hidden;
+        white-space: nowrap;
+        text-overflow: ellipsis;
+    }
+    .index_title-2CoZR {
+        width: 100%;
+        justify-content: space-between;
+        padding-left: 14px;
+        border-left: 4px solid #e8514b;
+    }
+    .ChartAndTable_chart-and-table-3ib6R{
+        display: flex;
+        align-items: center;
+        justify-content: space-between;
+    }
+    .ant-radio-group {
+        box-sizing: border-box;
+        margin: 0;
+        padding: 0;
+        color: rgba(0,0,0,.65);
+        font-size: 14px;
+        font-variant: tabular-nums;
+        line-height: 1.5;
+        list-style: none;
+        font-feature-settings: "tnum";
+        display: inline-block;
+    }
+    .ant-radio-button-wrapper>.ant-radio-button {
+        width: 0;
+        height: 0;
+        margin-left: 0;
+    }
+
+
+
+</style>
+</body>
+
+</html>

+ 14 - 0
health-system/src/main/java/com/bzd/system/service/PharmaceuticalService.java

@@ -63,4 +63,18 @@ public class PharmaceuticalService {
     public Integer updateFollowUpAssign(PageData pd)throws Exception {
         return daoSupport.update("PharmaceuticalServiceMapper.updateFollowUpAssign", pd);
     }
+
+    public List<PageData> findPatientCounselingList(PageData pd) throws Exception{
+        return (List<PageData>) daoSupport.findForList("PharmaceuticalServiceMapper.selectPatientCounselingList", pd);
+
+    }
+
+    public Integer patientCounselingRemove(PageData pd)throws Exception {
+        return daoSupport.delete("PharmaceuticalServiceMapper.patientCounselingRemove", pd);
+    }
+
+
+    public Integer updatePatientCounseling(PageData pd)throws Exception {
+        return daoSupport.update("PharmaceuticalServiceMapper.updatePatientCounseling", pd);
+    }
 }

+ 111 - 0
health-system/src/main/resources/mapper/pmServiceMapper/PharmaceuticalServiceMapper.xml

@@ -459,4 +459,115 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 			</if>
 		</if>
 	</delete>
+
+	<!--患者咨询 查询-->
+	<select id="selectPatientCounselingList" parameterType="pd" resultType="pd">
+		select *,DATE_FORMAT(consultationTime, '%Y-%m-%d %H:%i:%s') AS updateTime2 from s_dtp_ysfw_patient_consultation where 1=1
+		<if test="id != null and id != ''">
+			and id=#{id}
+		</if>
+		<if test="createdBy != null and createdBy != ''">
+			AND createdBy=#{createdBy}
+		</if>
+		<if test="createdDate != null">
+			AND createdDate=#{createdDate}
+		</if>
+		<if test="patientName != null and patientName != ''">
+			AND patientName=#{patientName}
+		</if>
+		<if test="patientPhone != null and patientPhone != ''">
+			AND patientPhone=#{patientPhone}
+		</if>
+		<if test="gender != null and gender != ''">
+			AND gender=#{gender}
+		</if>
+		<if test="age != null">
+			AND age=#{age}
+		</if>
+		<if test="questionType != null and questionType != ''">
+			AND questionType=#{questionType}
+		</if>
+		<if test="consultationQuestion != null and consultationQuestion != ''">
+			AND consultationQuestion=#{consultationQuestion}
+		</if>
+		<if test="pharmacistAnswer != null and pharmacistAnswer != ''">
+			AND pharmacistAnswer=#{pharmacistAnswer}
+		</if>
+		<if test="consultationTime != null">
+			AND consultationTime=#{consultationTime}
+		</if>
+		<if test="disease != null and disease != ''">
+			AND disease=#{disease}
+		</if>
+		<if test="genericName != null and genericName != ''">
+			AND genericName=#{genericName}
+		</if>
+		<if test="productName != null and productName != ''">
+			AND productName=#{productName}
+		</if>
+
+	</select>
+
+	<!--患者咨询 修改-->
+	<update id="updatePatientCounseling" parameterType="pd" >
+		<if test="up != null and up!=''">
+			update s_dtp_ysfw_patient_consultation
+		</if>
+		<trim prefix=" SET " suffix="" prefixOverrides="," suffixOverrides=",">
+			<if test="createdBy != null and createdBy != ''">
+				createdBy=#{createdBy},
+			</if>
+			<if test="createdDate != null">
+				createdDate=#{createdDate},
+			</if>
+			<if test="patientName != null and patientName != ''">
+				patientName=#{patientName},
+			</if>
+			<if test="patientPhone != null and patientPhone != ''">
+				patientPhone=#{patientPhone},
+			</if>
+			<if test="gender != null and gender != ''">
+				gender=#{gender},
+			</if>
+			<if test="age != null">
+				age=#{age},
+			</if>
+			<if test="questionType != null and questionType != ''">
+				questionType=#{questionType},
+			</if>
+			<if test="consultationQuestion != null and consultationQuestion != ''">
+				consultationQuestion=#{consultationQuestion},
+			</if>
+			<if test="pharmacistAnswer != null and pharmacistAnswer != ''">
+				pharmacistAnswer=#{pharmacistAnswer},
+			</if>
+			<if test="consultationTime != null">
+				consultationTime=#{consultationTime},
+			</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>
+		</trim>
+		<if test="up != null and up!=''">
+			<if test="id!= null and id!=''">
+				where id=#{id}
+			</if>
+		</if>
+	</update>
+
+	<!--患者咨询 删除-->
+	<delete id="patientCounselingRemove" parameterType="pd">
+		<if test="ids != null">
+			delete from s_dtp_ysfw_patient_consultation where
+			<if test="ids != null">
+				id in(#{ids})
+			</if>
+		</if>
+	</delete>
 </mapper>