123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263 |
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>添加住院病历</title>
- <link rel="stylesheet" type="text/css" href="../../../css/cross.css" />
- <link rel="stylesheet" type="text/css" href="../../../css/cross.ui.css" />
- <link rel="stylesheet" type="text/css" href="../../../css/style.min.css" />
- <link href="../../../plugins/toastr/toastr.min.css" rel="stylesheet">
- <link rel="stylesheet" href="../../../plugins/element-ui/element-ui.css" />
- <link rel="stylesheet" type="text/css" href="../css/common.css" />
- <style>
- .el-select-dropdown{
- width: 381px !important;
- left: 89px!important;
- }
- </style>
- </head>
- <body class="m0">
- <div id="app" class="p10 c-333" v-cloak>
- <div class="pt10 flex ui-row mt10">
- <label class="c-999 required" style="font-weight: normal;">入院时间:</label>
- <div class="flex1">
- <el-date-picker v-model="admissionTime" type="date" placeholder="请选择">
- </el-date-picker>
- </div>
- </div>
- <div class="pt10 flex ui-row mt10">
- <label class="c-999 required" style="font-weight: normal;">出院时间:</label>
- <div class="flex1">
- <!-- :picker-options="pickerOptions1" -->
- <el-date-picker v-model="dischargeTime" type="date" placeholder="请选择">
- </el-date-picker>
- </div>
- </div>
- <div class="pt10 flex ui-row mt10">
- <label class="c-999 required" style="font-weight: normal;">诊断结果:</label>
- <div class="flex1">
- <div class="flex">
- <el-autocomplete
- class="w-220"
- v-model="diagnosisValue"
- :fetch-suggestions="getIcd10Info"
- placeholder="请输入内容"
- @select="handleSelect"
- ></el-autocomplete>
- <button type="button" class="btn btn-12B7F5 btn-size-s ml15" style="border-radius: 0;" @click="saveDiagnosisWrap">+ 添加</button>
- </div>
- <div>
- <el-tag
- v-for="(v, i) in tags"
- :key="i"
- closable
- class="mr5 mt5"
- @close="closeTag(i)">
- {{v}}
- </el-tag>
- </div>
- </div>
- </div>
- <div class="pt10 flex ui-row mt10">
- <label class="c-999 required" style="font-weight: normal;">医嘱小结:</label>
- <div class="flex1">
- <textarea v-model="advice" class="p10 c-333" style="height: 160px; width: 100%; border:1px solid #e1e1e1; resize:none;box-sizing: border-box"></textarea>
- </div>
- </div>
- <div class="c-t-center mt20">
- <button type="button" class="btn btn-white btn-size-m mr15" @click="cancelMedicalRecords">取消</button>
- <button type="button" class="btn btn-12B7F5 btn-size-m" @click="addMedicalRecords">保存</button>
- </div>
- </div>
- <script src="../../../js/vue.js" type="text/javascript" charset="utf-8"></script>
- <script src="../../../js/jquery-2.2.4.js"></script>
- <script src="../../../plugins/layer/layer.min.js"></script>
- <script src="../../../plugins/toastr/toastr.min.js"></script>
- <script type="text/javascript" src="../../../plugins/element-ui/element-ui.js"></script>
- <script src="../../../js/bootstrap.min.js"></script>
- <script src="../../../js/es6-promise.js" type="text/javascript" charset="utf-8"></script>
- <script src="../../../js/underscore.js" type="text/javascript" charset="utf-8"></script>
- <script src="../../../js/util.js" type="text/javascript" charset="utf-8"></script>
- <script src="../../../api/http-request.js" type="text/javascript"></script>
- <script src="../../../api/recover_api.js" type="text/javascript"></script>
- <script type="text/javascript" src="../../../api/rehabilitation-api.js"></script>
- <script type="text/javascript">
- var doctorType = (JSON.parse(window.localStorage.getItem('wlyyAgent'))||{}).doctorType,
- docInfo = JSON.parse(window.localStorage.getItem('wlyyAgent'))
- var httpData=GetRequest()
- console.log('httpData:', httpData)
- function showSuccessMessage(msg) {
- layer.msg(msg, {
- icon: 1
- })
- }
-
- function showErrorMessage(msg) {
- layer.msg(msg, {
- icon: 5
- })
- }
-
- function showWarningMessage(msg) {
- layer.msg(msg, {
- icon: 2
- })
- }
-
- function showInfoMessage(msg) {
- layer.msg(msg, {
- icon: 6
- })
- }
-
- top.medicalRecordsVue = new Vue({
- el: "#app",
- data: {
- pickerOptions1: {
- disabledDate: function(time) {
- return time.getTime() < Date.now() - 8.64e7;
- }
- },
- admissionTime: '',
- dischargeTime: '',
- diseaseData: [], //诊断列表
- diagnosisValue: '',
- diagnosisObj: {},
- tags: [],//诊断标签
- tagsObj: {},
- advice: '',
- doctorCode: docInfo.uid,
- patient: httpData.patient,
- patientName: decodeURI(httpData.patientName),
- medicalRecordsId: '',
- },
- mounted: function() {
- if(httpData['medicalRecordsId']){
- this.medicalRecordsId = httpData['medicalRecordsId']
- var curMedicalRecords = JSON.parse(window.localStorage.getItem('curMedicalRecords'))
- this.initMedicalRecords(curMedicalRecords)
- }
- },
- methods: {
- initMedicalRecords: function(model){
- var vm = this
- vm.admissionTime = model.admissionTime
- vm.dischargeTime = model.dischargeTime
- vm.tags = model.diagnosisName.split(',')
- var diagnosisCodeArr = model.diagnosis.split(',')
- $.each(vm.tags, function(index, o){
- vm.tagsObj[o] = diagnosisCodeArr[index]
- })
- console.log('vm.tagsObj', vm.tagsObj)
- vm.advice = model.advice
- },
- handleSelect: function(res){
-
- },
- //添加诊断
- saveDiagnosisWrap: function(){
- if(this.diagnosisValue.trim().length>0){
- if(this.tagsObj[this.diagnosisValue]){
- showInfoMessage('该诊断已被添加')
- return false
- }
- this.tags.push(this.diagnosisValue)
- this.diagnosisValue = ''
- }
- },
- //删除诊断标签
- closeTag: function(i){
- this.tags.splice(i, 1)
- },
- getIcd10Info: function(queryString, cb){
- var vm = this,nameKey = queryString,
- params = {
- nameKey:nameKey,
- page: 1,
- pageSize: 10000
- }
- rehaAPI.getIcd10Info(params).then(function(res){
- if(res.status == 200) {
- vm.diseaseData = $.each(res.data, function(i, o){
- vm.diagnosisObj[o.code]=o.name
- o.value = o.name
- return o
- })
- cb(vm.diseaseData);
- } else {
- showErrorMessage(res.msg);
- }
- })
- },
- cancelMedicalRecords: function(){
- top.recoverVue.closeMedicalRecords()
- },
- addMedicalRecords: function(){
- var vm = this
- if(!this.admissionTime){
- showErrorMessage('请选择入院时间!')
- return false
- }
- if(!this.dischargeTime){
- showErrorMessage('请选择出院时间!')
- return false
- }
- if(this.admissionTime>this.dischargeTime){
- showWarningMessage("入院时间应小于出院时间!")
- return false;
- }
- if(this.tags.length<=0){
- showErrorMessage('请添加诊断!')
- return false
- }
- if(!this.advice||this.advice.trim().length<=0){
- showErrorMessage('请输入医嘱小结!')
- return false
- }
- var diagnosisArr=[], diagnosisNameArr=[];
- $.each(vm.diseaseData, function(i, o){
- $.each(vm.tags, function(index, value){
- if(o.value==value){
- diagnosisArr.push(o.code)
- diagnosisNameArr.push(o.value)
- }
- })
- })
- var jsonData = {
- admissionTime: new Date(this.admissionTime).format('yyyy-MM-dd HH:mm:ss'),
- dischargeTime: new Date(this.dischargeTime).format('yyyy-MM-dd HH:mm:ss'),
- diagnosis: diagnosisArr.join(','),
- diagnosisName: diagnosisNameArr.join(','),
- advice: this.advice
- }
- var params = {
- doctorCode: vm.doctorCode,
- patient: vm.patient,
- patientName: vm.patientName,
- jsonData: JSON.stringify(jsonData)
- }
- if(vm.medicalRecordsId){
- params['id'] = vm.medicalRecordsId
- }
- var loading = layer.load(0, {shade: false})
- rehaAPI.createMedicalRecords(params).then(function(res){
- layer.close(loading)
- if(res.status==200){
- if(vm.medicalRecordsId){
- top.recoverVue.completeMedicalRecords('edit', res.data)
- } else {
- top.recoverVue.completeMedicalRecords('isNew', res.data)
- }
- }else{
- top.recoverVue.closeMedicalRecords()
- showErrorMessage(res.msg);
- }
-
- })
-
- }
- }
- })
- </script>
- </body>
- </html>
|