|
@@ -0,0 +1,918 @@
|
|
|
+<!DOCTYPE html>
|
|
|
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
|
|
|
+<head>
|
|
|
+ <th:block th:include="include :: header('新建登记')" />
|
|
|
+ <th:block th:include="include :: select2-css" />
|
|
|
+ <th:block th:include="include :: bootstrap-fileinput-css" />
|
|
|
+ <th:block th:include="include :: layout-latest-css" />
|
|
|
+</head>
|
|
|
+<body class="gray-bg">
|
|
|
+
|
|
|
+ <div class="col-sm-12 search-collapse">
|
|
|
+ <form id="dtp-form-hxcx" class="customize-search-form">
|
|
|
+ <div class="customize-form-group-container">
|
|
|
+ <div class="customize-form-group">
|
|
|
+ <label>患者信息:</label>
|
|
|
+ <input type="text" class="styled-input" placeholder="输入姓名或手机号/证件号码" id="query" name="query"/>
|
|
|
+ </div>
|
|
|
+ <div class="customize-form-group">
|
|
|
+ <a class="btn btn-primary btn-rounded btn-sm" onclick="search_hz()"> 搜索</a>
|
|
|
+ <a class="btn btn-warning btn-rounded btn-sm" onclick="resetPre()">重置</a>
|
|
|
+ <a class="btn btn-info btn-rounded btn-sm" onclick="bookbuilding()"> 快速建档</a>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </form>
|
|
|
+ <div id="patient-table-container">
|
|
|
+ <table id="patient-table" class="customize-table">
|
|
|
+ <thead>
|
|
|
+ <tr>
|
|
|
+ <th></th> <!-- 选择框 -->
|
|
|
+ <th>患者ID</th>
|
|
|
+ <th>患者姓名</th>
|
|
|
+ <th>性别</th>
|
|
|
+ <th>年龄</th>
|
|
|
+ <th>证件类型</th>
|
|
|
+ <th>证件号码</th>
|
|
|
+ <th>临床诊断</th>
|
|
|
+ <th>联系电话</th>
|
|
|
+ <!-- 添加其他需要显示的列 -->
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <!-- 数据行将由 JavaScript 动态插入 -->
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </div>
|
|
|
+<!-- <div id="shangci">-->
|
|
|
+<!-- <h4 class="query-condition-title"> 上次登记信息</h4>-->
|
|
|
+<!-- <div class="ibox" style="width: 1500px;" id="idbox">-->
|
|
|
+<!-- <div class="ibox-title">-->
|
|
|
+
|
|
|
+<!-- <span class="label label-danger" style="font-size: 15px;" >姓名:</span>-->
|
|
|
+<!-- <span class="label label-danger" style="font-size: 15px;" id="patientName2"></span>-->
|
|
|
+<!-- <span class="label label-primary" style="font-size: 15px;">性别:</span>-->
|
|
|
+<!-- <span class="label label-primary" style="font-size: 15px;" id="gender2"></span>-->
|
|
|
+<!-- <span class="label label-primary" style="font-size: 15px;">年龄:</span>-->
|
|
|
+<!-- <span class="label label-primary" style="font-size: 15px;" id="age2"></span>-->
|
|
|
+<!-- <span class="label label-primary" style="font-size: 15px;" >登记单号:</span>-->
|
|
|
+<!-- <span class="label label-primary" style="font-size: 15px;" id="prescriptionNumber2"></span>-->
|
|
|
+<!-- <span class="label label-danger" style="font-size: 15px;" >患者ID:</span>-->
|
|
|
+<!-- <span class="label label-danger" style="font-size: 15px;" id="patientId2"></span>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- <div class="ibox-content">-->
|
|
|
+<!-- <div class="customize-form-group-container">-->
|
|
|
+<!-- <div class="customize-form-group">-->
|
|
|
+<!-- <label>医院:</label>-->
|
|
|
+<!-- <input name="hospital2" id="hospital2" placeholder="医院" disabled="" class="styled-input" type="text">-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- <div class="customize-form-group">-->
|
|
|
+<!-- <label>处方医生:</label>-->
|
|
|
+<!-- <input name="prescribingDoctor2" id="prescribingDoctor2" placeholder="处方医生" disabled="" class="styled-input" type="text">-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- <div class="customize-form-group">-->
|
|
|
+<!-- <label>科室:</label>-->
|
|
|
+<!-- <input name="department2" id="department2" placeholder="科室" disabled="" class="styled-input" type="text">-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- <div class="customize-form-group">-->
|
|
|
+<!-- <label>处方诊断::</label>-->
|
|
|
+<!-- <input name="prescriptionDiagnosis2" id="prescriptionDiagnosis2" placeholder="处方诊断" disabled="" class="styled-input" type="text">-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- <div class="customize-form-group">-->
|
|
|
+<!-- <label>主管医生:</label>-->
|
|
|
+<!-- <input name="attendingDoctor2" id="attendingDoctor2" placeholder="主管医生" disabled="" class="styled-input" type="text">-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- <div class="customize-form-group">-->
|
|
|
+<!-- <label>临床诊断:</label>-->
|
|
|
+<!-- <input name="clinicalDiagnosis2" placeholder="临床诊断" id="clinicalDiagnosis2" disabled="" class="styled-input" type="text">-->
|
|
|
+<!-- </div>-->
|
|
|
+
|
|
|
+<!-- <div class="customize-form-group">-->
|
|
|
+<!-- <label>处方图片:</label>-->
|
|
|
+<!-- <input name="prescriptionImageUrl2" id="prescriptionImageUrl2" placeholder="处方图片" disabled="" class="styled-input" type="text">-->
|
|
|
+<!-- </div>-->
|
|
|
+
|
|
|
+
|
|
|
+<!-- <div class="customize-form-group edit select-time">-->
|
|
|
+<!-- <label>处方开具日期:</label>-->
|
|
|
+<!-- <input name="prescriptionIssueDate2" id="prescriptionIssueDate2" placeholder="处方开具日期" disabled="" class="time-input time-input2" type="text">-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- <div class="customize-form-group">-->
|
|
|
+<!-- <label>发票编码:</label>-->
|
|
|
+<!-- <input name="invoiceCode2" id="invoiceCode2" placeholder="发票编码" disabled="" class="styled-input" type="text">-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- <div class="customize-form-group">-->
|
|
|
+<!-- <label>发票图片:</label>-->
|
|
|
+<!-- <input name="invoiceImageUrl2" id="invoiceImageUrl2" placeholder="发票图片" disabled="" class="styled-input" type="text">-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- <div class="customize-form-group edit select-time">-->
|
|
|
+<!-- <label>销售日期:</label>-->
|
|
|
+<!-- <input name="saleDate2" id="saleDate2" placeholder="销售日期" disabled="" class="time-input time-input2" type="text">-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- <div class="customize-form-group edit select-time">-->
|
|
|
+<!-- <label>处方登记日期:</label>-->
|
|
|
+<!-- <input name="registrationDate2" id="registrationDate2" placeholder="处方登记日期" disabled="" class="time-input time-input2" type="text">-->
|
|
|
+<!-- </div>-->
|
|
|
+<!--<!– <div class="customize-form-group">–>-->
|
|
|
+<!--<!– <label class="is-required">登记药师姓名:</label>–>-->
|
|
|
+<!--<!– <input name="age" placeholder="登记药师姓名" disabled="" class="styled-input" type="text">–>-->
|
|
|
+<!--<!– </div>–>-->
|
|
|
+<!-- <div class="customize-form-group">-->
|
|
|
+<!-- <label>登记人:</label>-->
|
|
|
+<!-- <input name="registrant2" id="registrant2" placeholder="登记人" disabled="" class="styled-input" type="text">-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- <div class="customize-form-group">-->
|
|
|
+<!-- <label>审核药师姓名:</label>-->
|
|
|
+<!-- <input name="reviewingName2" id="reviewingName2" placeholder="审核药师姓名" disabled="" class="styled-input" type="text">-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- <div class="customize-form-group">-->
|
|
|
+<!-- <label>处方审核状态:</label>-->
|
|
|
+<!-- <input name="reviewStatus2" id="reviewStatus2" placeholder="处方审核状态" disabled="" class="styled-input" type="text">-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- </p>-->
|
|
|
+<!-- <div class="container-div">-->
|
|
|
+<!-- <div class="row">-->
|
|
|
+<!-- <h4 class="query-condition-title">上次购药信息</h4>-->
|
|
|
+<!-- <div class="col-sm-12 select-table table-striped" style="width: 100%; overflow-x: hidden;">-->
|
|
|
+<!-- <table id="bootstrap-table" class="fixed-layout-table"></table>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- </div>-->
|
|
|
+ <div class="col-sm-12 search-collapse">
|
|
|
+ <h4 class="query-condition-title">新建处方登记</h4>
|
|
|
+ <form id="dtp-form-newcfxx" class="customize-search-form">
|
|
|
+ <div class="customize-form-group-container">
|
|
|
+ <div class="customize-form-group">
|
|
|
+ <label>医院:</label>
|
|
|
+ <input name="hospital" placeholder="医院" id="hospital" class="styled-input" type="text">
|
|
|
+ </div>
|
|
|
+ <div class="customize-form-group">
|
|
|
+ <label>处方医生:</label>
|
|
|
+ <input name="prescribingDoctor" id="prescribingDoctor" placeholder="处方医生" class="styled-input" type="text">
|
|
|
+ </div>
|
|
|
+ <div class="customize-form-group">
|
|
|
+ <label>科室:</label>
|
|
|
+ <input name="department" id="department" placeholder="科室" class="styled-input" type="text">
|
|
|
+ </div>
|
|
|
+ <div class="customize-form-group">
|
|
|
+ <label class="is-required">处方诊断::</label>
|
|
|
+ <input name="prescriptionDiagnosis" id="prescriptionDiagnosis" placeholder="处方诊断" class="styled-input" type="text">
|
|
|
+ </div>
|
|
|
+ <div class="customize-form-group">
|
|
|
+ <label class="is-required">主管医生:</label>
|
|
|
+ <input name="attendingDoctor" id="attendingDoctor" placeholder="主管医生" class="styled-input" type="text">
|
|
|
+ </div>
|
|
|
+ <div class="customize-form-group">
|
|
|
+ <label class="is-required">临床诊断:</label>
|
|
|
+ <input name="clinicalDiagnosis" id="clinicalDiagnosis" placeholder="临床诊断" class="styled-input" type="text">
|
|
|
+ </div>
|
|
|
+ <div class="customize-form-group">
|
|
|
+ <label>处方图片:</label>
|
|
|
+ <input name="prescriptionImageUrl" id="prescriptionImageUrl" placeholder="处方图片" class="styled-input" type="text">
|
|
|
+ </div>
|
|
|
+ <div class="customize-form-group select-time">
|
|
|
+ <label>处方开具日期:</label>
|
|
|
+ <input name="prescriptionIssueDate" id="prescriptionIssueDate" placeholder="处方开具日期" class="time-input time-input2" type="text">
|
|
|
+ </div>
|
|
|
+ <div class="customize-form-group">
|
|
|
+ <label>发票编码:</label>
|
|
|
+ <input name="invoiceCode" id="invoiceCode" placeholder="发票编码" class="styled-input" type="text">
|
|
|
+ </div>
|
|
|
+ <div class="customize-form-group">
|
|
|
+ <label>发票图片:</label>
|
|
|
+ <input name="invoiceImageUrl" id="invoiceImageUrl" placeholder="发票图片" class="styled-input" type="text">
|
|
|
+ </div>
|
|
|
+
|
|
|
+
|
|
|
+ <div class="customize-form-group">
|
|
|
+ <label class="is-required">登记药师姓名:</label>
|
|
|
+ <input name="registerPharmacistName" id="registerPharmacistName" placeholder="登记药师姓名" class="styled-input" type="text">
|
|
|
+ </div>
|
|
|
+ <div class="customize-form-group">
|
|
|
+ <label class="is-required">登记人:</label>
|
|
|
+ <input name="registrant" id="registrant" placeholder="登记人" class="styled-input" type="text">
|
|
|
+ </div>
|
|
|
+ <div class="customize-form-group">
|
|
|
+ <label>审核药师姓名:</label>
|
|
|
+ <input name="reviewingName" id="reviewingName" placeholder="审核药师姓名" class="styled-input" type="text">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </form>
|
|
|
+ <!-- 假设这是你的 HTML 结构class="table table-bordered" -->
|
|
|
+ <div class="ibox" id="data-ibox" style="overflow: auto;">
|
|
|
+ <div class="ibox-title">药品登记列表</div>
|
|
|
+ <table class="fixed-layout-table" id="drugInfoTable">
|
|
|
+ <thead>
|
|
|
+ <tr>
|
|
|
+ <th>操作+<a type="button" onclick="selectUsersToParentCallBack2()">添加药品</a></th>
|
|
|
+ <th>药品编码</th>
|
|
|
+ <th>药品名</th>
|
|
|
+ <th class="hidden-column">通用名</th>
|
|
|
+ <th>规格</th>
|
|
|
+ <th class="hidden-column">厂家简称</th>
|
|
|
+ <th class="hidden-column">给药方式</th>
|
|
|
+ <th class="hidden-column">是否随访管理品</th>
|
|
|
+ <th class="hidden-column">是否冷链管理品</th>
|
|
|
+ <th class="hidden-column">是否登记管理品</th>
|
|
|
+ <th class="hidden-column">是否慈善援助管理品</th>
|
|
|
+ <th class="hidden-column">包装</th>
|
|
|
+ <th class="is-required">取药数量</th>
|
|
|
+ <th class="is-required">单次剂量</th>
|
|
|
+ <th class="is-required">单次剂量单位</th>
|
|
|
+ <th class="is-required">用药频次</th>
|
|
|
+ <th class="is-required">用药天数</th>
|
|
|
+ <th>D值品用药天数</th>
|
|
|
+
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <!-- 数据行将被插入到这里 -->
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="modal inmodal" id="myModal" tabindex="-1" role="dialog" aria-hidden="true">
|
|
|
+ <div class="modal-dialog">
|
|
|
+ <form class="form-horizontal" id="form-budan-add">
|
|
|
+ <div class="modal-content animated bounceInRight">
|
|
|
+ <div class="modal-header">
|
|
|
+ <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">关闭</span>
|
|
|
+ </button>
|
|
|
+ <h4 class="modal-title">药师审核</h4>
|
|
|
+ </div>
|
|
|
+ <div class="modal-body">
|
|
|
+ <div class="customize-search-form">
|
|
|
+ <div class="rows">
|
|
|
+ <div class="input-group">
|
|
|
+ 请输入密码审核确认
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="rows">
|
|
|
+ <div class="input-group">
|
|
|
+ <input type="text" placeholder="请输入密码" class="styled-input" style="width: 200px; height: 25px;" id="password" name="password">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="rows">
|
|
|
+ <div class="input-group">
|
|
|
+ <input type="redio" placeholder="请选择审核结果" class="styled-input" style="width: 200px; height: 25px;" id="checkResult" name="checkResult">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="rows">
|
|
|
+ <div class="input-group">
|
|
|
+ <input type="text" placeholder="请输入说明" class="styled-input" style="width: 200px; height: 25px;" id="remark" name="remark">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="modalbudan" id="budanshibai">
|
|
|
+ <div class="rows" style="text-align: center">
|
|
|
+ 审核失败!
|
|
|
+ </div>
|
|
|
+ <div class="rows">
|
|
|
+ 请核实药品
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </div>
|
|
|
+ <div class="modal-footer">
|
|
|
+ <button type="button" class="btn btn-white" data-dismiss="modal">关闭</button>
|
|
|
+ <button type="button" class="btn btn-primary" onclick="checkpass()">审核通过</button>
|
|
|
+ <button type="button" class="btn btn-primary" onclick="checknotpass()">审核不通过</button>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </div>
|
|
|
+ </form>
|
|
|
+ </div>
|
|
|
+ </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>
|
|
|
+ <button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</div>
|
|
|
+<th:block th:include="include :: footer" />
|
|
|
+<th:block th:include="include :: select2-js" />
|
|
|
+<th:block th:include="include :: bootstrap-fileinput-js" />
|
|
|
+<th:block th:include="include :: bootstrap-table-fixed-columns-js" />
|
|
|
+<th:block th:include="include :: layout-latest-js" />
|
|
|
+<script th:inline="javascript">
|
|
|
+ var editFlag = [[${@permission.hasPermi('dtp:RecipeRegister:edit')}]];
|
|
|
+ var removeFlag = [[${@permission.hasPermi('dtp:RecipeRegister:remove')}]];
|
|
|
+ var prefix_recipe = ctx + "dtp/recipe";
|
|
|
+ var prefix_yppz= ctx + "yppz/drugConfig";
|
|
|
+ var prefix_pmService = ctx + "dtp/pmService";
|
|
|
+ var hzparam =[];
|
|
|
+ var openId='';
|
|
|
+ var data;
|
|
|
+ var shangci=false;
|
|
|
+ var shangcigyList=[];
|
|
|
+ var dataList=[];
|
|
|
+ var selectdataList=[];
|
|
|
+
|
|
|
+ $(document).ready(function() {
|
|
|
+ // 获取所有的输入元素(input, textarea, select)
|
|
|
+ var $inputs = $('form').find('input, textarea, select').filter(':visible');
|
|
|
+
|
|
|
+ $inputs.each(function(index) {
|
|
|
+ $(this).on('keydown', function(e) {
|
|
|
+ if (e.key === "Enter" || e.keyCode === 13) {
|
|
|
+ e.preventDefault(); // 阻止默认行为(例如提交表单)
|
|
|
+
|
|
|
+ // 找到当前输入框的索引
|
|
|
+ var currentIndex = $inputs.index(this);
|
|
|
+
|
|
|
+ // 如果不是最后一个输入框,则聚焦下一个输入框
|
|
|
+ if (currentIndex < $inputs.length - 1) {
|
|
|
+ $inputs.eq(currentIndex + 1).focus();
|
|
|
+ } else {
|
|
|
+ // 如果是最后一个输入框,可以选择提交表单或不做任何事情
|
|
|
+ // $(this).closest('form').submit();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ // 监听选择变化
|
|
|
+ $(document).on('change', 'input[name="selectPatient"]', function() {
|
|
|
+ // 移除所有行的 'selected' 类
|
|
|
+ $('#patient-table tbody tr').removeClass('selected');
|
|
|
+
|
|
|
+ // 获取当前选中的行并添加 'selected' 类
|
|
|
+ var selectedRow = $(this).closest('tr');
|
|
|
+ selectedRow.addClass('selected');
|
|
|
+
|
|
|
+ // 获取选中的患者对象
|
|
|
+ var selectedPatient = getSelectedPatient();
|
|
|
+ if (selectedPatient) {
|
|
|
+ console.log('Selected Patient:', selectedPatient);
|
|
|
+
|
|
|
+ // 调用 getLastRecipe 方法,传入患者的 ID
|
|
|
+ var patientId = selectedPatient.id;
|
|
|
+ getLastRecipe(patientId);
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+ });
|
|
|
+ // 将后端返回的数据填充到表格中
|
|
|
+ function populatePatientTable(datas) {
|
|
|
+ var tbody = $('#patient-table tbody');
|
|
|
+ tbody.empty(); // 清空现有行
|
|
|
+
|
|
|
+ datas.forEach(function(patient, index) {
|
|
|
+ var genderText = patient.gender === 1 ? '男' : '女';
|
|
|
+ var row = `
|
|
|
+ <tr data-index="${index}">
|
|
|
+ <td><input type="radio" name="selectPatient" value="${index}"></td>
|
|
|
+ <td>${patient.id}</td>
|
|
|
+ <td>${patient.name}</td>
|
|
|
+ <td>${genderText}</td>
|
|
|
+ <td>${patient.age || '-'}</td>
|
|
|
+ <td>${patient.documentType || '-'}</td>
|
|
|
+ <td>${patient.documentNumber || '-'}</td>
|
|
|
+ <td>${patient.disease || '-'}</td>
|
|
|
+ <td>${patient.phoneNumber || '-'}</td>
|
|
|
+ <!-- 添加其他列的数据 -->
|
|
|
+ </tr>
|
|
|
+ `;
|
|
|
+ tbody.append(row);
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取选中的患者数据并存入对象
|
|
|
+ function getSelectedPatient() {
|
|
|
+ var selectedRow = $('input[name="selectPatient"]:checked').closest('tr');
|
|
|
+ if (selectedRow.length === 0) return null;
|
|
|
+
|
|
|
+ var index = selectedRow.data('index');
|
|
|
+ return dataList[index];
|
|
|
+ }
|
|
|
+
|
|
|
+ function getLastRecipe(patientId){
|
|
|
+ var datas=[];
|
|
|
+ debugger
|
|
|
+
|
|
|
+ var data = {
|
|
|
+ "patientId":patientId,
|
|
|
+ };
|
|
|
+ console.log("patientId="+patientId);
|
|
|
+ // 初始化表格 getDrugPurchaseList
|
|
|
+ $.ajax({
|
|
|
+ cache : true,
|
|
|
+ type : "POST",
|
|
|
+ url : prefix_recipe + "/getLastRecipe",
|
|
|
+ data : data,
|
|
|
+ async : false,
|
|
|
+ error : function(request) {
|
|
|
+ $.modal.alertError("系统错误");
|
|
|
+ },
|
|
|
+ success : function(data) {
|
|
|
+ var shangciObj={};
|
|
|
+ shangcigyList=data.data.recipeList;
|
|
|
+ if(data.data.recipeList !=null || data.data.recipeList != undefined){
|
|
|
+ initTab(datas=data.data.recipeList)
|
|
|
+ }
|
|
|
+ if(data.data.recipe!=null){
|
|
|
+ shangciObj=data.data.recipe;
|
|
|
+
|
|
|
+ $('#hospital').val(shangciObj.hospital);
|
|
|
+ $('#prescribingDoctor').val(shangciObj.prescribingDoctor);
|
|
|
+ $('#department').val(shangciObj.department);
|
|
|
+ $('#attendingDoctor').val(shangciObj.attendingDoctor);
|
|
|
+
|
|
|
+ }else {
|
|
|
+ shangciObj={};
|
|
|
+ $('#hospital').val('');
|
|
|
+ $('#prescribingDoctor').val('');
|
|
|
+ $('#department').val('');
|
|
|
+ $('#attendingDoctor').val('');
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ console.log("shangciObj="+shangciObj);
|
|
|
+ $.operate.successCallback(data);
|
|
|
+
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+function initTab(datas){
|
|
|
+ var tableId = 'bootstrap-table';
|
|
|
+ var tableElement = $('#' + tableId);
|
|
|
+ tableElement.bootstrapTable({
|
|
|
+ data: datas,
|
|
|
+ columns : [
|
|
|
+
|
|
|
+ {field: 'mdmCode', title: '药品编码', align: 'center'},
|
|
|
+ {field: 'productName', title: '商品名', align: 'center'},
|
|
|
+ {field: 'genericName', title: '通用名', align: 'center'},
|
|
|
+ {field: 'specification', title: '规格', align: 'center'},
|
|
|
+ {field: 'manufacturerShortName', title: '厂家简称', align: 'center'},
|
|
|
+ {field: 'administrationMethod', title: '给药方式', align: 'center'},
|
|
|
+ {field: 'realNameStatus', title: '处方取药数量(包装数)', align: 'center'},
|
|
|
+ {field: 'singleDoseValue', title: '处方单次剂量数值', align: 'center'},
|
|
|
+ {field: 'singleDoseUnit', title: '处方单次剂量单位', align: 'center'},
|
|
|
+ {field: 'dosageFrequency', title: '规范用药频次', align: 'center'},
|
|
|
+ {field: 'dosageFrequencyDays', title: '用药频次换算使用天数', align: 'center'},
|
|
|
+ {field: 'dvalueDays', title: 'D值品用药天数', align: 'center'},
|
|
|
+ {field: 'prescriptionNumber', title: '处方编号', align: 'center'},
|
|
|
+ // {
|
|
|
+ // 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.view(\'' + row.id + '\')">购药详情</a> ');
|
|
|
+ // return actions.join('');
|
|
|
+ // } else {
|
|
|
+ // return "";
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ ]
|
|
|
+ });
|
|
|
+}
|
|
|
+ function getTableData() {
|
|
|
+ var tableRows = [];
|
|
|
+
|
|
|
+ $('#drugInfoTable tbody tr').each(function(index, row) {
|
|
|
+ var rowData = {
|
|
|
+ productId: $(row).data('product-id'),
|
|
|
+ mdmCode: $(row).find('td:eq(1)').text().trim(),
|
|
|
+ productName: $(row).find('td:eq(2)').text().trim(),
|
|
|
+ genericName: $(row).find('td:eq(3)').text().trim(),
|
|
|
+ specification: $(row).find('td:eq(4)').text().trim(),
|
|
|
+ manufacturerShortName: $(row).find('td:eq(5)').text().trim(),
|
|
|
+ administrationMethod: $(row).find('td:eq(6)').text().trim(),
|
|
|
+ followUpItem: $(row).find('td:eq(7)').text().trim(),
|
|
|
+ coldChainItem: $(row).find('td:eq(8)').text().trim(),
|
|
|
+ registeredItem: $(row).find('td:eq(9)').text().trim(),
|
|
|
+ charityAidItem: $(row).find('td:eq(10)').text().trim(),
|
|
|
+ packaging: $(row).find('td:eq(11)').text().trim(),
|
|
|
+ packageQuantity: $(row).find('input[name="packageQuantity"]').val(),
|
|
|
+ singleDoseValue: $(row).find('input[name="singleDoseValue"]').val(),
|
|
|
+ singleDoseUnit: $(row).find('select[name="singleDoseUnit"]').val(),
|
|
|
+ dosageFrequency: $(row).find('select[name="dosageFrequency"]').val(),
|
|
|
+ dosageFrequencyDays: $(row).find('input[name="dosageFrequencyDays"]').val(),
|
|
|
+ dvalueDays: $(row).find('input[name="dvalueDays"]').val()
|
|
|
+ };
|
|
|
+
|
|
|
+ // 将每一行的数据对象添加到数组中
|
|
|
+ tableRows.push(rowData);
|
|
|
+ });
|
|
|
+
|
|
|
+ return tableRows;
|
|
|
+ }
|
|
|
+ function submitHandler() {
|
|
|
+ // 创建一个 FormData 对象用于提交表单数据
|
|
|
+ var formData = new FormData();
|
|
|
+ // 如果有文件上传,例如处方图片和发票图片
|
|
|
+ // var prescriptionImageUrlInput = $('#prescriptionImageUrl')[0];
|
|
|
+ // if (prescriptionImageUrlInput.files.length > 0) {
|
|
|
+ // formData.append('prescriptionImageUrl', prescriptionImageUrlInput.files[0]);
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ // var invoiceImageUrlInput = $('#invoiceImageUrl')[0];
|
|
|
+ // if (invoiceImageUrlInput.files.length > 0) {
|
|
|
+ // formData.append('invoiceImageUrl', invoiceImageUrlInput.files[0]);
|
|
|
+ // }
|
|
|
+ // 收集患者信息
|
|
|
+ var patientObj = getSelectedPatient();
|
|
|
+ if (patientObj) {
|
|
|
+ debugger;
|
|
|
+ console.log("Selected Patient:", patientObj);
|
|
|
+ // 添加患者信息到 FormData
|
|
|
+ formData.append('patientId', patientObj.id);
|
|
|
+ formData.append('patientName', patientObj.name || '');
|
|
|
+ let gender = patientObj.gender; // 获取表单中的性别值
|
|
|
+ if (gender ===1) {
|
|
|
+ gender = 1; // 如果为空,则设置默认值为 '0'
|
|
|
+ }else{
|
|
|
+ gender = 0;
|
|
|
+ }
|
|
|
+ formData.append('gender', gender);
|
|
|
+ formData.append('age', patientObj.age);
|
|
|
+ console.log("PatientObj=" + patientObj);
|
|
|
+ }else{
|
|
|
+ $.modal.alertError("请先选择患者");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ // 收集表单中的其他字段,并将其添加到 FormData 中
|
|
|
+ $('#dtp-form-newcfxx').find(':input').each(function() {
|
|
|
+ var $this = $(this);
|
|
|
+ var name = $this.attr('name');
|
|
|
+ if (name) { // 确保有 name 属性
|
|
|
+ var value = $this.val();
|
|
|
+ if (value !== undefined && value !== null && value !== '') { // 确保值不是空
|
|
|
+ formData.append(name, value);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+// 将药物数据序列化为 JSON 字符串并添加到 FormData 中
|
|
|
+ var drugData = getTableData(); // 假设此函数正确获取表格数据
|
|
|
+ if (drugData.length > 0) {
|
|
|
+ formData.append('drugData', JSON.stringify(drugData));
|
|
|
+ }else{
|
|
|
+ $.modal.alertError("请添加药品");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ $.ajax({
|
|
|
+ cache: false, // 设置为 false 防止缓存
|
|
|
+ type: "POST",
|
|
|
+ url: prefix_recipe + "/saveCFDJ",
|
|
|
+ data: formData,
|
|
|
+ processData: false, // 告诉 jQuery 不要处理数据(非常重要)
|
|
|
+ contentType: false, // 告诉 jQuery 不要设置 contentType(非常重要)
|
|
|
+ async: true, // 异步请求更为推荐,除非有特殊原因需要同步
|
|
|
+ error: function (request) {
|
|
|
+ $.modal.alertError("操作失败");
|
|
|
+ },
|
|
|
+ success: function (data) {
|
|
|
+ debugger;
|
|
|
+ openCheckYSJC();
|
|
|
+
|
|
|
+
|
|
|
+ // $.modal.closeTab();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ function openCheckYSJC(){
|
|
|
+ //$.modal.open("药师审核", prefix_pmService+'/openCheckYSJC');
|
|
|
+ $('#myModal').modal('show');
|
|
|
+
|
|
|
+ $.modal.alertSuccess("操作成功");
|
|
|
+ // $.modal.closeTab();
|
|
|
+ }
|
|
|
+ // callBack获取父窗口方法(方式二)
|
|
|
+ function selectUsersToParentCallBack2(){
|
|
|
+ var options = {
|
|
|
+ title: '添加处方登记药品',
|
|
|
+ width: 1000,
|
|
|
+ height: 600,
|
|
|
+ url: prefix_yppz + '/getAllProduct',
|
|
|
+ callBack: doSubmit2
|
|
|
+ };
|
|
|
+ $.modal.openOptions(options);
|
|
|
+ }
|
|
|
+ function doSubmit2(index, layero) {
|
|
|
+ var rows = layero.find("iframe")[0].contentWindow.selectTableObject();
|
|
|
+ if (rows.length == 0) {
|
|
|
+ $.modal.alertWarning("请至少选择一条记录");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ var tableBody = $('#drugInfoTable tbody');
|
|
|
+
|
|
|
+ rows.forEach(function(item) {
|
|
|
+ // 动态选择所有列并映射到更具描述性的名称
|
|
|
+ var columnsData = {
|
|
|
+ productId: item.productId,
|
|
|
+ productCode: item.productCode,
|
|
|
+ productName: item.productName,
|
|
|
+ genericName: item.genericName,
|
|
|
+ specification: item.specification,
|
|
|
+ packaging: item.packaging,
|
|
|
+ manufacturer: item.manufacturer,
|
|
|
+ manufacturerAbbreviation: item.manufacturerAbbreviation,
|
|
|
+ productStatus: item.productStatus,
|
|
|
+ dtpFlag: item.dtpFlag,
|
|
|
+ isInsuranceDrug: item.isInsuranceDrug,
|
|
|
+ administrationMethod: item.administrationMethod,
|
|
|
+ registeredItem: item.registeredItem,
|
|
|
+ followUpItem: item.followUpItem,
|
|
|
+ coldChainItem: item.coldChainItem,
|
|
|
+ flowItem: item.flowItem,
|
|
|
+ charityAidItem: item.charityAidItem
|
|
|
+ };
|
|
|
+
|
|
|
+ // 检查是否已经存在该药品
|
|
|
+ if (!isProductExist(columnsData.productId)) {
|
|
|
+
|
|
|
+ // 向表格中添加一行
|
|
|
+ var row = `
|
|
|
+ <tr data-product-id="${columnsData.productId}">
|
|
|
+ <td><button onclick="deleteRow('${columnsData.productId}')" class="btn btn-danger">删除重选择药品</button></td>
|
|
|
+ <td>${columnsData.productCode}</td>
|
|
|
+ <td>${columnsData.productName}</td>
|
|
|
+ <td class="hidden-column">${columnsData.genericName}</td>
|
|
|
+ <td>${columnsData.specification}</td>
|
|
|
+ <td class="hidden-column">${columnsData.manufacturerAbbreviation}</td>
|
|
|
+ <td class="hidden-column">${columnsData.administrationMethod}</td>
|
|
|
+ <td class="hidden-column">${columnsData.followUpItem === 1 ? '是' : '否'}</td>
|
|
|
+ <td class="hidden-column">${columnsData.coldChainItem === 1 ? '是' : '否'}</td>
|
|
|
+ <td class="hidden-column">${columnsData.registeredItem === 1 ? '是' : '否'}</td>
|
|
|
+ <td class="hidden-column">${columnsData.charityAidItem === 1 ? '是' : '否'}</td>
|
|
|
+ <td class="hidden-column">${columnsData.packaging}</td>
|
|
|
+ <td> <input name="packageQuantity" id="packageQuantity${columnsData.productId}" placeholder="取药数量(包装数)" class="styled-input" type="number"></td>
|
|
|
+ <td> <input name="singleDoseValue" id="singleDoseValue${columnsData.productId}" placeholder="单次剂量数值" class="styled-input" type="number"></td>
|
|
|
+ <td>
|
|
|
+ <select name="singleDoseUnit" id="singleDoseUnit${columnsData.productId}" class="styled-input" required>
|
|
|
+ <option value="">请选择</option>
|
|
|
+ <option value="1">mg</option>
|
|
|
+ <option value="2">g</option>
|
|
|
+ <option value="3">片</option>
|
|
|
+ </select>
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <select name="dosageFrequency" id="dosageFrequency${columnsData.productId}" class="styled-input" required>
|
|
|
+ <option value="">请选择</option>
|
|
|
+ <option value="1">一日1次</option>
|
|
|
+ <option value="2">一日2次</option>
|
|
|
+ <option value="3">每天1次</option>
|
|
|
+ <option value="4">每天隔天一次</option>
|
|
|
+ <option value="5">每周2次</option>
|
|
|
+ </select>
|
|
|
+ </td>
|
|
|
+ <td> <input name="dosageFrequencyDays" id="dosageFrequencyDays${columnsData.productId}" placeholder="用药频次换算天数" class="styled-input" type="number"></td>
|
|
|
+ <td> <input name="dvalueDays" id="dvalueDays${columnsData.productId}" placeholder="系统自动计算" class="styled-input" disabled="" type="number"></td>
|
|
|
+ </tr>
|
|
|
+ `;
|
|
|
+ tableBody.append(row);
|
|
|
+ } else {
|
|
|
+ $.modal.alertWarning(`药品 ${columnsData.productName} 已经添加了`);
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ $.modal.close(index);
|
|
|
+ }
|
|
|
+ function deleteRow(productId) {
|
|
|
+ $.modal.confirm("确认删除该药品吗?", function() {
|
|
|
+ // 删除对应行
|
|
|
+ $('#drugInfoTable tbody tr[data-product-id="' + productId + '"]').remove();
|
|
|
+ });
|
|
|
+ }
|
|
|
+ function isProductExist(productId) {
|
|
|
+ // 检查表格中是否已经存在该药品
|
|
|
+ return $('#drugInfoTable tbody tr[data-product-id="' + productId + '"]').length > 0;
|
|
|
+ }
|
|
|
+ /* 用户管理-新增-选择门店树 */
|
|
|
+ function selectDeptTree() {
|
|
|
+ var treeId = $("#treeId").val();
|
|
|
+ var deptId = $.common.isEmpty(treeId) ? "100" : $("#treeId").val();
|
|
|
+ var url = ctx + "system/user/selectDeptTree/" + deptId;
|
|
|
+ var options = {
|
|
|
+ title: '选择门店',
|
|
|
+ width: "380",
|
|
|
+ url: url,
|
|
|
+ callBack: doSubmit
|
|
|
+ };
|
|
|
+ $.modal.openOptions(options);
|
|
|
+ }
|
|
|
+ function doSubmit(index, layero){
|
|
|
+ var body = $.modal.getChildFrame(index);
|
|
|
+ $("#treeId").val(body.find('#treeId').val());
|
|
|
+ $("#treeName").val(body.find('#treeName').val());
|
|
|
+ $.modal.close(index);
|
|
|
+ }
|
|
|
+ function bookbuilding(){
|
|
|
+ $.modal.open("快速建档", prefix_pmService+'/archivesAdd');
|
|
|
+ }
|
|
|
+ function resetPre() {
|
|
|
+ resetDate();
|
|
|
+ $("#dtp-form-hxcx")[0].reset();
|
|
|
+ $("#query").val("");
|
|
|
+ }
|
|
|
+ function search_hz() {
|
|
|
+ var query = $('#query').val().trim();
|
|
|
+ console.log("query===="+query);
|
|
|
+ // 如果输入为空,清空 dValueId 输入框并停止进一步操作
|
|
|
+ if (!query) {
|
|
|
+ $('#query').val('');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 使用防抖机制延迟发送请求
|
|
|
+ // 发送 AJAX 请求到服务器查询数据
|
|
|
+ hzparam={query:query};//模拟微信扫码获取微信openId
|
|
|
+ $.ajax({
|
|
|
+ cache: true,
|
|
|
+ type: "POST",
|
|
|
+ url: prefix_pmService+'/slectPatientByNameOrPhoneOrIdCard', // 替换为实际的搜索 URL
|
|
|
+ data: hzparam,
|
|
|
+ async: false,
|
|
|
+ success: function (data) {
|
|
|
+
|
|
|
+ if(data.code==0){
|
|
|
+ dataList=[];
|
|
|
+ console.log("data111===="+data.data);
|
|
|
+ populatePatientTable(data.data);
|
|
|
+ dataList=data.data;
|
|
|
+ // 如果有且只有一条记录,默认选中这条记录
|
|
|
+ if (data.data.length === 1) {
|
|
|
+ setTimeout(function() {
|
|
|
+ $('input[name="selectPatient"]').first().prop('checked', true).trigger('change');
|
|
|
+ }, 0); // 确保DOM已经完全渲染
|
|
|
+ }
|
|
|
+ if (data.data.length <=0) {
|
|
|
+ var tbody = $('#patient-table tbody');
|
|
|
+ tbody.empty(); // 清空现有行
|
|
|
+ $.modal.confirm("未找到患者 点击确定可快速建档", function() {
|
|
|
+ // 快速建档
|
|
|
+ bookbuilding();
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ // // 如果找到匹配的数据,更新输入框
|
|
|
+ // $('#patientId').val(data.data.id);
|
|
|
+ // console.log("data111===="+data);
|
|
|
+ // $('#patientName').val(data.data.name);
|
|
|
+ // var gender = data.data.gender;
|
|
|
+ // $('#gender').val(gender === 1 ? '男' : gender === 0 ? '女' : '');
|
|
|
+ // $('#age').val(data.data.age);
|
|
|
+ // var patientId = data.data.id;
|
|
|
+ // debugger
|
|
|
+ // if(patientId !='' && patientId != null){
|
|
|
+ // //查询出对应患者的上一次处方登记信息
|
|
|
+ // getLastRecipe(patientId);
|
|
|
+ // }
|
|
|
+
|
|
|
+ }else{
|
|
|
+ // // 清空表格中的所有数据行
|
|
|
+ // $('#patientId').val('');
|
|
|
+ // $('#patientName').val('');
|
|
|
+ // $('#gender').val('');
|
|
|
+ // $('#age').val('');
|
|
|
+ // $('#query').val('');
|
|
|
+ // getLastRecipe(0);
|
|
|
+ $.modal.alertWarning(`未找到患者 可快速建档`);
|
|
|
+ bookbuilding();
|
|
|
+ var tbody = $('#patient-table tbody');
|
|
|
+ tbody.empty(); // 清空现有行
|
|
|
+ }
|
|
|
+
|
|
|
+ },
|
|
|
+ error: function(error) {
|
|
|
+ // 清空 dValueId 输入框
|
|
|
+ $('#query').val('');
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+</script>
|
|
|
+<style>
|
|
|
+
|
|
|
+ .ibox {
|
|
|
+ width: auto;
|
|
|
+ height: 500px;
|
|
|
+ overflow: auto; /* 当内容超过指定尺寸时显示滚动条 */
|
|
|
+ }
|
|
|
+
|
|
|
+ .fixed-layout-table {
|
|
|
+ width: 100%;
|
|
|
+ border-collapse: collapse; /* 减少单元格间距 */
|
|
|
+ }
|
|
|
+
|
|
|
+ .fixed-layout-table thead th {
|
|
|
+ position: sticky;
|
|
|
+ top: 0;
|
|
|
+ background-color: #f8f9fa; /* 表头背景颜色 */
|
|
|
+ z-index: 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ /* 隐藏列的样式 */
|
|
|
+ .hidden-column {
|
|
|
+ display: none;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ .hidden {
|
|
|
+ display: none;
|
|
|
+ }
|
|
|
+ /*.ibox {*/
|
|
|
+ /* width: 700px;*/
|
|
|
+ /* margin-bottom: 20px;*/
|
|
|
+ /* border: 1px solid #e7eaec;*/
|
|
|
+ /* border-radius: 4px;*/
|
|
|
+ /*}*/
|
|
|
+ .ibox-title {
|
|
|
+ background-color: #f3f3f4;
|
|
|
+ border-bottom: 1px solid #e7eaec;
|
|
|
+ padding: 10px 15px;
|
|
|
+ font-size: 16px;
|
|
|
+ width: 1540px;
|
|
|
+ }
|
|
|
+ .ibox-content {
|
|
|
+ padding: 15px;
|
|
|
+ }
|
|
|
+ .ibox-content h4 {
|
|
|
+ margin-top: 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ .form-horizontal .form-group {
|
|
|
+ margin-right: 384px;
|
|
|
+ margin-left: 3px;
|
|
|
+ }
|
|
|
+ input[type=file] {
|
|
|
+ display: none;
|
|
|
+ }
|
|
|
+ .form-group {
|
|
|
+ margin-bottom: -1px;
|
|
|
+ }
|
|
|
+ /* 添加一些基础样式 */
|
|
|
+ body {
|
|
|
+ font-family: Arial, sans-serif;
|
|
|
+ }
|
|
|
+ table {
|
|
|
+ width: 500px;
|
|
|
+ border-collapse: collapse;
|
|
|
+ }
|
|
|
+ th, td {
|
|
|
+ text-align: left;
|
|
|
+ padding: 5px;
|
|
|
+ border-bottom: 1px solid #ddd;
|
|
|
+ }
|
|
|
+ tr:nth-child(even) {
|
|
|
+ width: 13px;
|
|
|
+ background-color: #f2f2f2;
|
|
|
+ }
|
|
|
+ .hidden-column {
|
|
|
+ display: none;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ .customize-table {
|
|
|
+ width: 100%;
|
|
|
+ border-collapse: collapse;
|
|
|
+ }
|
|
|
+
|
|
|
+ .customize-table th, .customize-table td {
|
|
|
+ border: 1px solid #ddd;
|
|
|
+ padding: 8px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .customize-table th {
|
|
|
+ background-color: #f2f2f2;
|
|
|
+ text-align: left;
|
|
|
+ }
|
|
|
+
|
|
|
+ .customize-table tr:nth-child(even) {
|
|
|
+ background-color: #f9f9f9;
|
|
|
+ }
|
|
|
+
|
|
|
+ .customize-table tr:hover {
|
|
|
+ background-color: #ddd;
|
|
|
+ }
|
|
|
+
|
|
|
+ /* 新增:选中行的样式 */
|
|
|
+ .customize-table tr.selected {
|
|
|
+ background-color: #a9a9c5;
|
|
|
+ color: white; /* 确保文字可见 */
|
|
|
+ }
|
|
|
+</style>
|
|
|
+</body>
|
|
|
+</html>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|