소스 검색

9月24,文书管理

yq1 6 달 전
부모
커밋
3e89c94aea
2개의 변경된 파일251개의 추가작업 그리고 1개의 파일을 삭제
  1. 3 1
      src/xt_pages/user/Informed/Informedconsent.vue
  2. 248 0
      src/xt_pages/user/Informed/components/Disease_diagnosis.vue

+ 3 - 1
src/xt_pages/user/Informed/Informedconsent.vue 파일 보기

@@ -200,7 +200,9 @@ export default {
200 200
                 {date:'高危出血患者血液净化抗凝方式选择知情同意书',value:'5'},{date:'抗凝溶栓治疗知情同意书',value:'6'},{date:'危重患者接受血液净化治疗知情同意书',value:'7'},
201 201
                 {date:'血液灌流治疗知情同意书',value:'8'},{date:'自带药物代为注射告知知情同意书',value:'9'},{date:'深静脉透析导管置入术知情同意书',value:'10'},
202 202
                 {date:'血液透析(滤过)治疗知情同意书',value:'12'},{date:'门诊血液透析治疗病历首页',value:'13'},
203
-                {date:'治疗处理方案知情同意书',value:'14'},{date:'危重病人知情同意书',value:'16'},{date:'疾病诊断证明书',value:'17'},],
203
+                {date:'治疗处理方案知情同意书',value:'14'},{date:'危重病人知情同意书',value:'16'},
204
+                // {date:'疾病诊断证明书',value:'17'},
205
+              ],
204 206
 
205 207
       face_show:true,
206 208
       filter_show:false,

+ 248 - 0
src/xt_pages/user/Informed/components/Disease_diagnosis.vue 파일 보기

@@ -0,0 +1,248 @@
1
+<!-- 疾病诊断 -->
2
+<template>
3
+  <div style="border:1px solid gainsboro ;padding:10px">
4
+    <div style="position: relative; left: 400px;width: 250px;margin: 20px 0;">
5
+      <!-- <el-button type="primary">主要按钮</el-button> -->
6
+        <el-button type="primary" style=""  @click="bianji">
7
+            编辑
8
+        </el-button>
9
+      <!-- <el-button type="danger" style=""  @click="">
10
+            删除
11
+      </el-button> -->
12
+      <el-button type="success" style=""  @click="printThisPage">
13
+          打印
14
+      </el-button>
15
+    </div>
16
+    <div id="print_content">
17
+      <div class="print_page_main_content">
18
+        <div class="content">
19
+            <h2 style="text-align: center;">疾病诊断证明书</h2>
20
+
21
+            <div style="display: flex;margin: 10px 0;">
22
+              <!-- <div style="flex:1">
23
+                门诊号码:
24
+                <div style="display: inline-block; border-bottom:1px solid black;width: 50%;">
25
+                  {{patient.admission_number}}
26
+                </div>
27
+              </div> -->
28
+              <div style="flex:1">门诊(住院)号码:
29
+                <div style="display: inline-block; border-bottom:1px solid black;width: 15%;">
30
+                  {{ patient.admission_number }}
31
+                </div>
32
+              </div>
33
+            </div>
34
+            <div style="display: flex;">
35
+              <div style="flex:1">科别:
36
+                <div style="display: inline-block; border-bottom:1px solid black;width: 50%;"></div>
37
+              </div>
38
+              <div style="flex:1">病室:
39
+                <div style="display: inline-block; border-bottom:1px solid black;width: 50%;"></div>
40
+              </div>
41
+              <div style="flex:1">床号:
42
+                <div style="display: inline-block; border-bottom:1px solid black;width: 50%;"></div>
43
+              </div>
44
+            </div>
45
+            <table border="1" style="border-collapse: collapse;width: 100%;text-align: center;">
46
+              <tbody>
47
+                <tr>
48
+                  <td width="10" style="padding: 5px 0;">姓名</td>
49
+                  <td width="30">{{ patient.name }}</td>
50
+                  <td width="20">性别</td>
51
+                  <td width="20">{{ patient.gender ==1?'男':'女' }}</td>
52
+                  <td width="20">年龄</td>
53
+                  <td width="20">{{ getAge(patient) }}</td>
54
+                </tr>
55
+                <tr>
56
+                  <td style="padding: 5px 0;">籍贯</td>
57
+                  <td>{{patient.home_address}}</td>
58
+                  <td>服务单位</td>
59
+                  <td colspan="3"></td>
60
+                </tr>
61
+              </tbody>
62
+            </table>
63
+
64
+            <div v-html="content"></div>
65
+        </div>
66
+      </div>
67
+    </div>
68
+
69
+    <el-dialog
70
+      title="提示"
71
+      :visible.sync="dialogVisible"
72
+      width="70%"
73
+    > 
74
+      <div>
75
+        <h2 style="text-align: center;">疾病诊断证明书</h2>
76
+        <div style="display: flex;margin: 10px 0;">
77
+          <!-- <div style="flex:1">
78
+            门诊号码:
79
+            <div style="display: inline-block; border-bottom:1px solid black;width: 50%;"></div>
80
+          </div> -->
81
+          <div style="flex:1">门诊(住院)号码:
82
+            <div style="display: inline-block; border-bottom:1px solid black;width: 15%;">
83
+              {{ patient.admission_number }}
84
+            </div>
85
+          </div>
86
+        </div>
87
+        <div style="display: flex;">
88
+          <div style="flex:1">科别:
89
+            <div style="display: inline-block; border-bottom:1px solid black;width: 50%;"></div>
90
+          </div>
91
+          <div style="flex:1">病室:
92
+            <div style="display: inline-block; border-bottom:1px solid black;width: 50%;"></div>
93
+          </div>
94
+          <div style="flex:1">床号:
95
+            <div style="display: inline-block; border-bottom:1px solid black;width: 50%;"></div>
96
+          </div>
97
+        </div>
98
+        <table border="1" style="border-collapse: collapse;width: 100%;text-align: center;">
99
+          <tbody>
100
+            <tr>
101
+              <td width="10" style="padding: 5px 0;">姓名</td>
102
+              <td width="30">{{ patient.name }}</td>
103
+              <td width="20">性别</td>
104
+              <td width="20">{{ patient.gender ==1?'男':'女' }}</td>
105
+              <td width="20">年龄</td>
106
+              <td width="20">{{ getAge(patient) }}</td>
107
+            </tr>
108
+            <tr>
109
+              <td style="padding: 5px 0;">籍贯</td>
110
+              <td></td>
111
+              <td>服务单位</td>
112
+              <td colspan="3"></td>
113
+            </tr>
114
+          </tbody>
115
+        </table>
116
+        <keep-alive>
117
+          <editor ref="editor"
118
+                  id="editor"
119
+                  style="width: 100%"
120
+                  v-bind:r_content="content">
121
+          </editor>
122
+        </keep-alive>
123
+      </div>
124
+      
125
+      <span slot="footer" class="dialog-footer">
126
+        <el-button @click="dialogVisible = false">取 消</el-button>
127
+        <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
128
+      </span>
129
+    </el-dialog>
130
+  </div>
131
+</template>
132
+<script>
133
+  import print from "print-js";
134
+  import Editor from '@/components/Editor'
135
+  import { getPatientDetailInformedconsent,saveFallOutBedPrint  } from '@/api/patient'
136
+  import { jsGetAge, uParseTime } from "@/utils/tools";
137
+//   const content =`<table border="1" style="border-collapse: collapse;width: 100%;text-align: center;">
138
+//     <tbody> 
139
+//     <tr><td width="10" style="padding: 5px 0;">姓名</td><td width="30"></td><td width="20">性别</td>
140
+//       <td width="20"></td><td width="20">年龄</td><td width="20"></td>
141
+//     </tr>
142
+//     <tr><td style="padding: 5px 0;">籍贯</td><td></td><td>服务单位</td><td colspan="3"></td></tr>
143
+//     <tr><td colspan="6">
144
+//         <p style="min-height: 100px;white-space: normal;text-align: left;">
145
+//           <span style="display: inline-block;padding: 5px;border-bottom: 1px solid black;width: 90px;">检查所见</span>
146
+//         </p>
147
+//         <p style="min-height: 100px;white-space: normal;text-align: left;">
148
+//           <span style="display: inline-block;padding: 5px;border-bottom: 1px solid black;width: 90px;">诊  &nbsp;&nbsp;断</span>
149
+//         </p>
150
+//         <p style="min-height: 100px;white-space: normal;text-align: left;">
151
+//           <span style="display: inline-block;padding: 5px;border-bottom: 1px solid black;width: 90px;">医师意见</span>
152
+//         </p>
153
+//         <p style="padding-top: 20px;">
154
+//           <span style="display: inline-block;padding: 0 30px;">年</span>
155
+//           <span>月</span>
156
+//           <span style="display: inline-block;padding: 0 30px;">日</span>
157
+//           <span>医师<span style="display: inline-block; border-bottom:1px solid black;width: 120px;"></span></span> 
158
+//         </p>
159
+//       </td>
160
+//     </tr>
161
+//   </tbody>
162
+// </table>`
163
+const content =`
164
+      <div style="border: 1px solid black;">
165
+        <p style="min-height: 100px;white-space: normal;text-align: left;">
166
+          <span style="display: inline-block;padding: 5px;border-bottom: 1px solid black;width: 90px;">检查所见</span>
167
+        </p>
168
+        <p style="min-height: 100px;white-space: normal;text-align: left;">
169
+          <span style="display: inline-block;padding: 5px;border-bottom: 1px solid black;width: 90px;">诊  &nbsp;&nbsp;断</span>
170
+        </p>
171
+        <p style="min-height: 100px;white-space: normal;text-align: left;">
172
+          <span style="display: inline-block;padding: 5px;border-bottom: 1px solid black;width: 90px;">医师意见</span>
173
+        </p>
174
+        <p style="padding-top: 20px;text-align: center;">
175
+          <span style="display: inline-block;padding: 0 30px;">年</span>
176
+          <span>月</span>
177
+          <span style="display: inline-block;padding: 0 30px;">日</span>
178
+          <span>医师<span style="display: inline-block; border-bottom:1px solid black;width: 120px;"></span></span> 
179
+        </p>
180
+      </div>`
181
+  export default{
182
+    props: {
183
+      patient_id: {
184
+        type: Number,
185
+      },
186
+      
187
+    },
188
+    data(){
189
+      return{
190
+        content:content,
191
+        dialogVisible:false,
192
+        patient:{},
193
+      }
194
+      
195
+    },
196
+    components:{
197
+      Editor
198
+    },
199
+    created(){
200
+      this.getlist()
201
+    },
202
+    methods:{
203
+      getlist(){
204
+        getPatientDetailInformedconsent(this.patient_id).then(response=>{
205
+          if(response.data.state == 1){
206
+            var patient =  response.data.data.patients
207
+            console.log("patinet",patient)
208
+            this.patient =patient
209
+          }
210
+        })
211
+      },
212
+      bianji(){
213
+        this.dialogVisible=true
214
+      },
215
+      printThisPage(){
216
+          const style = '@media print {.content p{font-size: 16px;font-family: 新宋体; padding-left: 20px; margin-bottom: 5px;}}'
217
+          printJS({
218
+              printable: 'print_content',
219
+              type: 'html',
220
+              documentTitle: '  ',
221
+              style: style,
222
+              scanStyles: false
223
+          })
224
+      },
225
+      getAge: function(val) {
226
+        if (val.id_card_no == undefined) {
227
+          return false
228
+        }
229
+        var thisLen = val.id_card_no.length
230
+        var birth = ''
231
+        if (thisLen == 15) {
232
+          birth = '19' + val.id_card_no.substr(6, 6)
233
+        } else {
234
+          birth = val.id_card_no.substr(6, 8)
235
+        }
236
+        var birthtwo =
237
+          birth.substr(0, 4) +
238
+          '-' +
239
+          birth.substr(4, 2) +
240
+          '-' +
241
+          birth.substr(6, 2)
242
+
243
+        var age = jsGetAge(birthtwo, '-')
244
+        return age
245
+      },
246
+    }
247
+  }
248
+</script>