123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520 |
- <!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" />
- </head>
- <body>
- <div class="main-content">
- <form id="form-prescription-add" class="form-horizontal">
- <div class="ibox float-e-margins">
- <label class="font-noraml">处方上传</label>
- <div class="new-contentarea tc">
- <a href="javascript:void(0)" class="upload-img"><label for="inputImage" >上传图像</label> </a>
- <input type="file" name="avatar" id="inputImage" onchange="uploadImage(this)" accept="image/*"/>
- </div>
- </div>
- <div class="ibox">
- <div class="ibox-title">
- <img id="uploadedImage" src="" alt="上传的图片" style="max-width: 100%; display: block;">
- </div>
- </div>
- <ul class="list-group list-group-striped">
- <li class="list-group-item hidden" id="prescriptionNumberItem"><i class="fa fa-user"></i>
- <b class="font-noraml">处方单号:</b>
- <p class="pull-right">
- <div class="customize-form-group select-time">
- <input id="prescriptionNumber" name="prescriptionNumber" placeholder="请输入处方单号" class="styled-input" type="text">
- </div>
- </p>
- </li>
- <li class="list-group-item hidden" id="prescriptionSourceItem"><i class="fa fa-user"></i>
- <b class="font-noraml">处方来源:</b>
- <p class="pull-right">
- <div class="customize-form-group select-time">
- <input id="prescriptionSource" name="prescriptionSource" placeholder="处方来源" class="styled-input" type="text">
- </div>
- </p>
- </li>
- <li class="list-group-item"><i class="fa fa-envelope-o"></i>
- <b class="font-noraml">处方日期:</b>
- <p class="pull-right">
- <div class="customize-form-group select-time">
- <input name="prescriptionDate" placeholder="处方日期" id="prescriptionDate" class="time-input time-input2" type="text">
- </div>
- </p>
- </li>
- <li class="list-group-item"><i class="fa fa-user"></i>
- <b class="font-noraml">医院:</b>
- <p class="pull-right">
- <div class="customize-form-group select-time">
- <select name="hospital" class="styled-input" th:with="type=${@dict.getType('sys_select_dtp_hospital')}">
- <option value="">请选择</option>
- <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}" >
- </option>
- </select>
- </div>
- </p>
- </li>
- <li class="list-group-item"><i class="fa fa-user"></i>
- <b class="font-noraml">处方医生:</b>
- <p class="pull-right">
- <div class="customize-form-group select-time">
- <input id="doctor" name="doctor" placeholder="请输入医生" class="styled-input" type="text" maxlength="30" >
- </div>
- </p>
- </li>
- <li class="list-group-item"><i class="fa fa-envelope-o"></i>
- <b class="font-noraml">科室:</b>
- <p class="pull-right">
- <div class="customize-form-group select-time">
- <input id="department" name="department" placeholder="请输入科室" class="form-control" type="text" maxlength="50">
- </div>
- </p>
- </li>
- <li class="list-group-item">
- <i class="fa fa-envelope-o"></i>
- <b class="font-noraml">疾病类型:</b>
- <p class="pull-right">
- <div class="customize-form-group2 select-time">
- <select name="diseaseType" id="diseaseType" class="styled-input2" th:with="type=${@dict.getType('sys_select_dtp_ysfw_mbzllx')}" required>
- <option value="">请选择</option>
- <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}"></option>
- </select>
- </div>
- <div class="customize-form-group2 select-time" id="specificDiseaseDiv1" style="display: none;" >
- <select name="specificDisease" id="specificDisease1" class="styled-input2" th:with="type=${@dict.getType('sys_select_dtp_ysfw_mbzllx_mb')}" required>
- <option value="">请选择</option>
- <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}"></option>
- </select>
- </div>
- <div class="customize-form-group2 select-time" id="specificDiseaseDiv2" style="display: none;">
- <select name="specificDisease" id="specificDisease2" class="styled-input2" th:with="type=${@dict.getType('sys_select_dtp_ysfw_mbzllx_zl')}" required>
- <option value="">请选择</option>
- <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}"></option>
- </select>
- </div>
- </p>
- </li>
- <li class="list-group-item"><i class="fa fa-envelope-o"></i>
- <b class="font-noraml">临床诊断:</b>
- <p class="pull-right">
- <div class="customize-form-group select-time">
- <select name="clinicalDiagnosis" class="styled-input" th:with="type=${@dict.getType('sys_select_dtp_ysfw_lczd')}" >
- <option value="">请选择</option>
- <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictLabel}">
- </option>
- </select>
- </div>
- </p>
- </li>
- </ul>
- </form>
- <div class="form-horizontal">
- <h4 class="form-header h4">药品信息</h4>
- <p class="pull-right">
- <div class="customize-form-group select-time">
- <div class="panel-body">
- <strong>药品信息</strong>
- <div class="form-group" id="formGroup">
- <div class="col-sm-12">
- <div class="col-sm-11" id="carGroup">
- <div id="iboxContainer">
- <ul class="list-group list-group-striped" id="inputList">
- <!-- 输入框将在这里动态添加 -->
- </ul>
- </div>
- </div>
- <div class="col-sm-offset-5 col-sm-10">
- <button type="button" onclick="selectUsersToParentCallBack2()" class="btn-danger">添加药品</button>
- </div>
- </div>
- </div>
- </div>
- </div>
- </p>
- </div>
- </div>
- <th:block th:include="include :: footer" />
- <th:block th:include="include :: select2-js" />
- <th:block th:include="include :: bootstrap-fileinput-js" />
- <script>
- var prefix = ctx + "dtp/recipe";
- var jbtype='';
- function uploadImage(input) {
- if (input.files && input.files[0]) {
- var reader = new FileReader();
- reader.onload = function(e) {
- $('#uploadedImage').attr('src', e.target.result).show();
- sendImageToServer(e.target.result);
- };
- reader.readAsDataURL(input.files[0]);
- }
- }
- function sendImageToServer(imageData) {
- $.ajax({
- url: '/upload-and-recognize',
- type: 'POST',
- contentType: 'application/json',
- data: JSON.stringify({ imageData: imageData }),
- success: function(response) {
- $('#hospital').val(response.hospital);
- $('#prescriptionDate').val(response.prescriptionDate);
- $('#prescriptionDoctor').val(response.prescriptionDoctor);
- $('#clinicalDiagnosis').val(response.clinicalDiagnosis);
- $('#department').val(response.department);
- },
- error: function(error) {
- console.error('Error:', error);
- }
- });
- }
- document.getElementById('diseaseType').addEventListener('change', function() {
- jbtype = this.value;
- if(jbtype=='慢病'){
- specificDiseaseDiv1
- $('#specificDiseaseDiv1').show();
- $('#specificDiseaseDiv2').hide();
- $('#specificDisease2').prop('selectedIndex', 0);
- }else if(jbtype=='肿瘤'){
- $('#specificDiseaseDiv2').show();
- $('#specificDiseaseDiv1').hide();
- $('#specificDisease1').prop('selectedIndex', 0);
- }else{
- $('#specificDisease1').prop('selectedIndex', 0);
- $('#specificDisease2').prop('selectedIndex', 0);
- $('#specificDiseaseDiv2').hide();
- $('#specificDiseaseDiv1').hide();
- }
- console.log('Selected value:', this.value);
- });
- $(document).ready(function () {
- //$('#prescriptionSourceItem').hide();//控制是第三方存入后 登记处方时的信息显示字段
- //$('#prescriptionNumberItem').hide();//控制是第三方存入后 登记处方时的信息显示字段
- // 单图上传
- $("#singleFile").fileinput({
- uploadUrl: ctx + 'common/upload',
- maxFileCount: 1,
- autoReplace: true
- }).on('fileuploaded', function (event, data, previewId, index) {
- var rsp = data.response;
- log.info("return url:" + rsp.url)
- log.info("reutrn fileName:" + rsp.fileName)
- log.info("reutrn newFileName:" + rsp.newFileName)
- log.info("return originalFilename:" + rsp.originalFilename)
- }).on('fileremoved', function (event, id, index) {
- $("input[name='" + event.currentTarget.id + "']").val('')
- })
- });
- function submitHandler() {
- add();
- }
- function add() {
- debugger
- var formData = [];
- $('.ibox').each(function() {
- var productId = $(this).find('input[name="productId"]').val();
- var mdmCode = $(this).find('input[name="mdmCode"]').val();
- var isFlipItem = $(this).find('input[name="isFlipItem"]').val();
- var specification = $(this).find('input[name="specification"]').val();
- var genericName = $(this).find('input[name="genericName"]').val();
- var productName = $(this).find('input[name="productName"]').val();
- var quantity = $(this).find('input[name="quantity"]').val();
- var usageMethod = $(this).find('select[name="usageMethod"]').val();
- var frequency = $(this).find('select[name="frequency"]').val();
- var wordUsage = $(this).find('input[name="wordUsage"]').val();
- var medicationCycle = $(this).find('input[name="medicationCycle"]').val();
- if (productId && quantity && usageMethod && frequency && wordUsage && medicationCycle && productName && genericName && mdmCode && isFlipItem && specification ) {
- formData.push({
- productId: productId,
- mdmCode: mdmCode,
- quantity: quantity,
- genericName: genericName,
- isFlipItem: isFlipItem,
- specification: specification,
- productName: productName,
- usageMethod: usageMethod,
- frequency: frequency,
- wordUsage: wordUsage,
- medicationCycle: medicationCycle
- });
- }
- });
- if ($.validate.form()) {
- var data = $("#form-prescription-add").serializeArray();
- data.push({name:'drugList',value:JSON.stringify(formData)});
- }
- log.info(data);
- $.ajax({
- cache : true,
- type : "POST",
- url : ctx + "dtp/recipe/SaveRecipe",
- data : data,
- async : false,
- error : function(request) {
- $.modal.alertError("系统错误");
- },
- success : function(data) {
- if (data.result == "200") {
- $.modal.msg("保存成功,正在刷新数据请稍后……有个问题同事添加相同药品", modal_status.SUCCESS);
- } else if (data.code == web_status.WARNING) {
- $.modal.alertWarning(data.msg)
- } else {
- $.modal.alertError(data.msg);
- }
- $.operate.successCallback(data);
- }
- });
- }
- // callBack获取父窗口方法(方式二)
- function selectUsersToParentCallBack2(){
- var options = {
- title: '药品信息',
- url: prefix + "/drugInfo",
- callBack: doSubmit2
- };
- $.modal.openOptions(options);
- }
- function doSubmit2(index, layero){
- var rows = layero.find("iframe")[0].contentWindow.selectTableObject();
- if (rows.length == 0) {
- $.modal.alertWarning("请至少选择一条记录");
- return;
- }
- rows.forEach(function(item, index) {
- // 生成 ibox 容器
- var ibox = '<div class="ibox" id="ibox-' + item.productId[0] + '">' +
- '<div class="ibox-title">' +
- '<h5>' + item.mdmCode[0] + ' - ' + item.productName[0] + '</h5>' +
- '<input name="isFlipItem" placeholder="是否为上翻品" id="isFlipItem-' + item.isFlipItem[0] + '" class="styled-input3" type="hidden" value="' + item.isFlipItem[0] + '">' +
- '<input name="productId" placeholder="商品id" id="productId-' + item.productId[0] + '" class="styled-input3" type="hidden" value="' + item.productId[0] + '">' +
- '<input name="genericName" placeholder="商品通用名" id="genericName-' + item.genericName[0] + '" class="styled-input3" type="hidden" value="' + item.genericName[0] + '">' +
- '<input name="productName" placeholder="商品名" id="productName-' + item.productName[0] + '" class="styled-input3" type="hidden" value="' + item.productName[0] + '">' +
- '<input name="mdmCode" placeholder="MD编码" id="mdmCode-' + item.mdmCode[0] + '" class="styled-input3" type="hidden" value="' + item.mdmCode[0] + '">' +
- '<input name="specification" placeholder="规格" id="specification-' + item.specification[0] + '" class="styled-input3" type="hidden" value="' + item.specification[0] + '">' +
- '</div>' +
- '<div class="ibox-content">' +
- '<table class="table table-bordered">' +
- '<tbody>' +
- '<tr>' +
- '<td>通用名</td>' +
- '<td>' + item.genericName[0] + '</td>' +
- '</tr>' +
- '<tr>' +
- '<td>规格</td>' +
- '<td>' + item.specification[0] + '</td>' +
- '</tr>' +
- '</tbody>' +
- '</table>' +
- '<div class="form-group row">' +
- '<label class="col-sm-2">数量</label>' +
- '<div class="col-sm-4">' +
- '<input name="quantity" placeholder="数量" id="quantity-' + item.productId[0] + '" class="styled-input3" type="number">' +
- '</div>' +
- '<label class="col-sm-2">用法</label>' +
- '<div class="col-sm-4">' +
- '<select name="usageMethod" id="usageMethod-' + item.productId[0] + '" class="styled-input3">' +
- '<option value="">请选择</option>' +
- '<option value="口服">口服</option>' +
- '<option value="注射">注射</option>' +
- '</select>' +
- '</div>' +
- '</div>' +
- '<div class="form-group row">' +
- '<label class="col-sm-2">使用频次</label>' +
- '<div class="col-sm-4">' +
- '<select name="frequency" id="frequency-' + item.productId[0] + '" class="styled-input4">' +
- '<option value="">请选择</option>' +
- '<option value="每日一次">每日一次</option>' +
- '<option value="每日两次">每日两次</option>' +
- '</select>' +
- '</div>' +
- '<label class="col-sm-2">单次用量</label>' +
- '<div class="col-sm-4">' +
- '<input name="wordUsage" placeholder="单次用量" id="wordUsage-' + item.productId[0] + '" class="styled-input4" type="text">' +
- '</div>' +
- '</div>' +
- '<div class="form-group row">' +
- '<label class="col-sm-2">用药周期(天)</label>' +
- '<div class="col-sm-4">' +
- '<input name="medicationCycle" placeholder="用药周期" id="medicationCycle-' + item.productId[0] + '" class="styled-input4" type="text">' +
- '</div>' +
- '<div class="col-sm-6 text-right">' +
- '<button onclick="deleteRow(\'' + item.productId[0] + '\')" class="btn btn-danger">删除</button>' +
- '</div>' +
- '</div>' +
- '</div>' +
- '</div>';
- // 添加到容器
- $('#iboxContainer').append(ibox);
- });
- $.modal.close(index);
- }
- function deleteRow(productId) {
- // 删除 ibox 容器
- $('#ibox-' + productId).remove();
- // 更新 productId 显示
- $('#productId').html('');
- }
- $('#inputImage').on('change', function() {
- var reader = new FileReader();
- var file = $('#inputImage')[0].files[0];
- if (/^image\/\w+$/.test(file.type)) {
- reader.onload = function(e) {
- if(croppable){
- cropper.replace(e.target.result)
- }
- }
- reader.readAsDataURL(this.files[0]);
- } else {
- $.modal.alertWarning('请选择一个图片文件。');
- }
- });
- function avatar() {
- var url = ctx + 'system/user/profile/avatar';
- top.layer.open({
- type: 2,
- area: [$(window).width() + 'px', $(window).height() + 'px'],
- fix: false,
- //不固定
- maxmin: true,
- shade: 0.3,
- title: "身份证信息",
- content: url,
- btn: ['确定', '关闭'],
- // 弹层外区域关闭
- shadeClose: true,
- yes: function(index, layero) {
- var iframeWin = layero.find('iframe')[0];
- iframeWin.contentWindow.submitHandler(index, layero);
- },
- cancel: function(index) {
- return true;
- }
- });
- }
- /* 用户管理-新增-选择门店树 */
- 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);
- }
- </script>
- <style>
- .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;
- }
- .ibox-content {
- padding: 15px;
- }
- .ibox-content h4 {
- margin-top: 0;
- }
- .customize-form-group2 {
- display: inline-block;
- }
- .styled-input2 {
- padding: 5px;
- border: 1px solid #ccc;
- border-radius: 4px;
- width: 200px;
- }
- .styled-input3 {
- display: inline-block;
- padding: 5px;
- border: 1px solid #ccc;
- border-radius: 4px;
- width: 100px;
- }
- .styled-input4 {
- display: inline-block;
- padding: 5px;
- border: 1px solid #ccc;
- border-radius: 4px;
- width: 100px;
- }
- .col-sm-6 {
- width: 125%;
- }
- .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: 400px;
- border-collapse: collapse;
- }
- th, td {
- text-align: left;
- padding: 8px;
- border-bottom: 1px solid #ddd;
- }
- tr:nth-child(even) {
- width: 15px;
- background-color: #f2f2f2;
- }
- </style>
- </body>
- </html>
|