ソースを参照

Merge branch '20200710_pc_vue_new_branch' into 20200916_pc_vue_new_branch

csx 4 年 前
コミット
e937e6a1f7

+ 54 - 33
src/xt_pages/outpatientDoctorStation/components/deskPrescription.vue ファイルの表示

@@ -31,6 +31,16 @@
31 31
               </el-option>
32 32
             </el-select>
33 33
           </el-form-item>
34
+          <el-form-item label="医疗类型: " prop="name">
35
+            <el-select style="margin-right:5px;" v-model="register_type" placeholder="">
36
+              <el-option
37
+                v-for="(item,index) in getDictionaryDataConfig('system','register_type')"
38
+                :key="index"
39
+                :label="item.name"
40
+                :value="item.name">
41
+              </el-option>
42
+            </el-select>
43
+          </el-form-item>
34 44
           <el-form-item label="诊断:" prop="name">
35 45
             <el-autocomplete
36 46
               style="width:100%;"
@@ -40,7 +50,7 @@
40 50
               placeholder="请输入内容"
41 51
             ></el-autocomplete>
42 52
           </el-form-item>
43
-          <el-form-item label="过敏史及特殊病史: " prop="name">
53
+          <el-form-item label="过敏病史: " prop="name">
44 54
             <el-autocomplete
45 55
               style="width:100%;"
46 56
               class="inline-input"
@@ -103,9 +113,9 @@
103 113
           <div style="height:84%;overflow-y: auto;margin-bottom: 60px;" v-show="showOne">
104 114
             <el-tabs class="rightTabs" v-model="activeName">
105 115
               <el-tab-pane label="药品列表" name="1">
106
-                <div style="margin-bottom:5px;">
116
+                <div style="margin-bottom:5px;display:flex;">
107 117
                   <el-input style="width:50%;" v-model="input" placeholder=""></el-input>
108
-                  <el-select style="margin-right:5px;width:100px;" v-model="value" placeholder="" @change="changeKind">
118
+                  <el-select style="margin-left:5px;width:50%;" v-model="value" placeholder="" @change="changeKind">
109 119
                     <el-option
110 120
                       label="全部"
111 121
                       value="0">
@@ -118,19 +128,19 @@
118 128
                     </el-option>
119 129
                   </el-select>
120 130
                 </div>
121
-                <el-table ref="multipleTable" :data="drugs" border @select='selectDrugs' style="width: 100%;"
131
+                <el-table ref="multipleTable" :data="drugs" border @select='selectDrugs' style="width: 100%;flex:1;overflow-y: auto;"
122 132
                           :row-style="{ color: '#303133' }"
123 133
                           @select-all="changeAllGoodInfoTableData"
124 134
                           :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
125 135
                           highlight-current-row>
126
-                  <el-table-column align="center" type="selection" width="40"></el-table-column>
127
-                  <el-table-column align="center" prop="name" label="名称">
136
+                  <el-table-column type="selection" width="40"></el-table-column>
137
+                  <el-table-column prop="name" label="名称">
128 138
                     <template slot-scope="scope">{{ scope.row.drug_name }}</template>
129 139
                   </el-table-column>
130
-                  <el-table-column align="center" label="规格" width="60">
140
+                  <el-table-column label="规格" width="60">
131 141
                     <template slot-scope="scope">{{ scope.row.drug_spec }}</template>
132 142
                   </el-table-column>
133
-                  <el-table-column align="center" label="单价" width="40">
143
+                  <el-table-column label="单价" width="40">
134 144
                     <template slot-scope="scope">{{ scope.row.retail_price }}</template>
135 145
                   </el-table-column>
136 146
                 </el-table>
@@ -148,21 +158,21 @@
148 158
                       </el-option>
149 159
                   </el-select>
150 160
                 </div>
151
-                <el-table ref="multipleTableTwo" :data="advices_template" border style="width: 100%;"
161
+                <el-table ref="multipleTableTwo" :data="advices_template" border style="width: 100%;flex:1;overflow-y: auto;"
152 162
                           :row-style="{ color: '#303133' }"
153 163
                           :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
154 164
                           highlight-current-row>
155
-                  <el-table-column align="center" type="selection" width="40"></el-table-column>
156
-                  <el-table-column align="center" prop="name" label="名称">
165
+                  <el-table-column type="selection" width="40"></el-table-column>
166
+                  <el-table-column prop="name" label="名称">
157 167
                     <template slot-scope="scope">{{}}</template>
158 168
                   </el-table-column>
159
-                  <el-table-column align="center" label="规格" width="60">
169
+                  <el-table-column label="规格" width="60">
160 170
                     <template slot-scope="scope">33</template>
161 171
                   </el-table-column>
162
-                  <el-table-column align="center" label="库存" width="60">
172
+                  <el-table-column label="库存" width="60">
163 173
                     <template slot-scope="scope">22</template>
164 174
                   </el-table-column>
165
-                  <el-table-column align="center" label="单价" width="40">
175
+                  <el-table-column label="单价" width="40">
166 176
                     <template slot-scope="scope">12</template>
167 177
                   </el-table-column>
168 178
                 </el-table>
@@ -173,30 +183,30 @@
173 183
           <div style="height:84%;overflow-y: auto;margin-bottom: 60px;" v-show="showTwo">
174 184
             <el-tabs class="rightTabs" v-model="activeName">
175 185
               <el-tab-pane label="项目列表" name="1">
176
-                <el-table ref="tables" :data="tabProject" border @select='selectChange' style="width: 100%;"
186
+                <el-table ref="tables" :data="tabProject" border @select='selectChange' style="width: 100%;flex:1;overflow-y: auto;"
177 187
                           :row-style="{ color: '#303133' }"
178 188
                           @select-all="changeAllGoodInfoTableDataTwo"
179 189
                           :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
180 190
                           highlight-current-row>
181
-                  <el-table-column align="center" type="selection" width="40"></el-table-column>
182
-                  <el-table-column align="center" prop="name" label="名称">
191
+                  <el-table-column type="selection" width="40"></el-table-column>
192
+                  <el-table-column prop="name" label="名称">
183 193
                     <template slot-scope="scope">{{ scope.row.project_name }}</template>
184 194
                   </el-table-column>
185
-                  <el-table-column align="center" label="规格" width="60">
195
+                  <el-table-column label="规格" width="60">
186 196
                     <template slot-scope="scope">{{ scope.row.single_dose }}</template>
187 197
                   </el-table-column>
188
-                  <el-table-column align="center" label="单价" width="40">
198
+                  <el-table-column label="单价" width="40">
189 199
                     <template slot-scope="scope">{{ scope.row.price }}</template>
190 200
                   </el-table-column>
191 201
                 </el-table>
192 202
               </el-tab-pane>
193 203
               <el-tab-pane label="项目组套" name="2">
194
-                <el-table :data="tabPrjectTeam" border style="width: 100%;" :row-style="{ color: '#303133' }"
204
+                <el-table :data="tabPrjectTeam"  border style="width: 100%;flex:1;overflow-y: auto;" :row-style="{ color: '#303133' }"
195 205
                           :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
196 206
                           highlight-current-row
197 207
                           @select='selectTeam'>
198
-                  <el-table-column align="center" type="selection" width="40"></el-table-column>
199
-                  <el-table-column align="center" prop="name" label="名称">
208
+                  <el-table-column type="selection" width="40"></el-table-column>
209
+                  <el-table-column prop="name" label="名称">
200 210
                     <template slot-scope="scope">{{scope.row.project_team}}</template>
201 211
                   </el-table-column>
202 212
                 </el-table>
@@ -994,6 +1004,12 @@
994 1004
   }
995 1005
   .preTabs {
996 1006
     height: 100%;
1007
+    display: flex;
1008
+    flex-direction: column;
1009
+    .el-tabs__content{
1010
+      flex:1;
1011
+      overflow-y: auto;
1012
+    }
997 1013
   }
998 1014
 
999 1015
   .costBox {
@@ -1046,6 +1062,10 @@
1046 1062
     color: #fff;
1047 1063
   }
1048 1064
 
1065
+  }
1066
+  .rightTabs{
1067
+    display: flex;
1068
+    flex-direction: column;
1049 1069
   }
1050 1070
   .comfirmBox {
1051 1071
     width: 100%;
@@ -1102,20 +1122,21 @@
1102 1122
 
1103 1123
   }
1104 1124
   .preTabs {
1105
-
1106
-  .el-tabs__content {
1107
-
1108
-  }
1109
-
1125
+    .el-tabs__content{
1126
+      flex:1;
1127
+      overflow-y: auto;
1128
+    }
1110 1129
   }
1111 1130
   .rightTabs {
1112 1131
     height: 100%;
1113
-
1114
-
1115
-  .el-tabs__content {
1116
-
1117
-  }
1118
-
1132
+    .el-tabs__content{
1133
+      flex:1;
1134
+      overflow-y: auto;
1135
+    }
1136
+    .el-tab-pane{
1137
+      display: flex;
1138
+      flex-direction: column;
1139
+    }
1119 1140
   }
1120 1141
   #tab-more {
1121 1142
 

+ 3 - 10
src/xt_pages/outpatientDoctorStation/components/deskRecord.vue ファイルの表示

@@ -221,9 +221,8 @@
221 221
 
222 222
 
223 223
       // },
224
-      open(index) {
225
-        console.log("index",index)
226
-        if (index == 1) {
224
+      createCaseHistory() {
225
+        console.log("触发了吗")
227 226
           if(this.patientInfo.id == undefined){
228 227
             this.$message.error("请先选择病人")
229 228
             return
@@ -269,13 +268,7 @@
269 268
               this.$message.success("保存成功")
270 269
             }
271 270
           })
272
-        } else if (index == 2) {
273
-          this.$router.push('/outpatientDoctorStation/recordPrint?record='+this.record_date)
274
-        } else if (index == 3) {
275
-          this.$refs.medicalRecord.show()
276
-        } else if (index == 4) {
277
-          this.$refs.saveRecordTemplate.show(this.case_history)
278
-        }
271
+       
279 272
 
280 273
       },
281 274
       getMsgFormSon(data){

+ 16 - 19
src/xt_pages/outpatientDoctorStation/components/prescriptionTable.vue ファイルの表示

@@ -6,13 +6,15 @@
6 6
         <template slot-scope="scope">{{ scope.row.drug_name }}</template>
7 7
       </el-table-column>
8 8
 
9
-      <el-table-column align="center" prop="single_dose" width="50" :label="'单次\n用量'">
9
+      <el-table-column align="center" prop="single_dose" width="80" :label="'单次\n用量'">
10 10
         <template slot-scope="scope">
11
-          <el-input  v-model="scope.row.single_dose"></el-input>
12
-          <div> {{scope.row.min_unit}}</div>
11
+          <div style="display:flex;align-items:center;">
12
+            <el-input v-model="scope.row.single_dose" style="width:60%;"></el-input>
13
+            <div>{{scope.row.min_unit}}</div>
14
+          </div>
13 15
         </template>
14 16
       </el-table-column>
15
-      <el-table-column align="center" prop="delivery_way" width="50" label="用法">
17
+      <el-table-column align="center" prop="delivery_way" width="100" label="用法">
16 18
         <template slot-scope="scope">
17 19
           <el-select v-model="scope.row.delivery_way" placeholder="请选择">
18 20
             <el-option
@@ -24,7 +26,7 @@
24 26
           </el-select>
25 27
         </template>
26 28
       </el-table-column>
27
-      <el-table-column align="center" prop="execution_frequency" width="50" label="频率">
29
+      <el-table-column align="center" prop="execution_frequency" width="100" label="频率">
28 30
         <template slot-scope="scope">
29 31
           <el-select v-model="scope.row.execution_frequency" placehold er="请选择">
30 32
             <el-option
@@ -37,22 +39,22 @@
37 39
         </template>
38 40
       </el-table-column>
39 41
 
40
-      <el-table-column align="center" prop="prescribing_number" width="100" label="总量">
42
+      <el-table-column align="center" prop="prescribing_number" width="80" label="总量">
41 43
         <template slot-scope="scope">
42
-          <div style="display:flex;">
43
-            <el-input v-model="scope.row.prescribing_number" style="width:50%" placeholder=""></el-input>
44
+          <div style="display:flex;align-items:center;">
45
+            <el-input v-model="scope.row.prescribing_number" style="width:60%" placeholder=""></el-input>
44 46
             <div> {{scope.row.min_unit}}</div>
45 47
           </div>
46 48
         </template>
47 49
       </el-table-column>
48
-      <el-table-column align="center" prop="retail_price" width="50" label="单价">
50
+      <el-table-column align="center" prop="retail_price" width="60" label="单价">
49 51
         <template slot-scope="scope">
50 52
           <el-input v-model="scope.row.retail_price" placeholder=""></el-input>
51 53
         </template>
52 54
       </el-table-column>
53 55
       <el-table-column align="center" prop="remark" width="50" label="备注">
54 56
         <template slot-scope="scope">
55
-          <el-input v-model="scope.row.remark" style="width:50%" placeholder=""></el-input>
57
+          <el-input v-model="scope.row.remark" placeholder=""></el-input>
56 58
         </template>
57 59
       </el-table-column>
58 60
       <el-table-column align="center" width="40" prop="name" label="操作">
@@ -64,21 +66,16 @@
64 66
 
65 67
     <el-table v-if="activeType == 2" :data="prescription.project" border style="width: 99%;" :row-style="{ color: '#303133' }"
66 68
               :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
67
-      <el-table-column align="center" type="selection" width="40"></el-table-column>
68
-      <el-table-column align="center" type="index" width="40" label="序号">
69
-         <template slot-scope="scope">
70
-            {{scope.$index + 1}}
71
-         </template>
72
-      </el-table-column>
73
-      <el-table-column align="center" prop="project_name" width="50" label="名称">
69
+      <!-- <el-table-column align="center" type="index" width="40" label="序号"></el-table-column> -->
70
+      <el-table-column align="center" prop="project_name" label="名称">
74 71
         <template slot-scope="scope">{{ scope.row.project_name }}</template>
75 72
       </el-table-column>
76
-      <el-table-column align="center" prop="statistical_classification" width="50" label="组">
73
+      <el-table-column align="center" prop="statistical_classification" width="100" label="组">
77 74
         <template slot-scope="scope">
78 75
           {{getGroup(scope.row.statistical_classification)}}
79 76
         </template>
80 77
       </el-table-column>
81
-      <el-table-column align="center" prop="single_dose" :label="'单次\n用量'">
78
+      <el-table-column align="center" prop="single_dose" width="80" :label="'单次\n用量'">
82 79
         <template slot-scope="scope">
83 80
           <el-input v-model="scope.row.single_dose" placeholder=""></el-input>
84 81
         </template>

+ 47 - 43
src/xt_pages/outpatientDoctorStation/doctorDesk.vue ファイルの表示

@@ -29,10 +29,10 @@
29 29
                     highlight-current-row
30 30
                     ref="tab"
31 31
           >
32
-            <el-table-column align="center" prop="name" label="患者姓名">
32
+            <el-table-column prop="name" label="姓名">
33 33
               <template slot-scope="scope">{{scope.row.patients?scope.row.patients.name:''}}</template>
34 34
             </el-table-column>
35
-            <el-table-column align="center" prop="name" label="就诊号" width="90">
35
+            <el-table-column prop="name" label="就诊号" width="110">
36 36
               <template slot-scope="scope">{{ scope.row.his_patient ?scope.row.his_patient.number:''}}</template>
37 37
             </el-table-column>
38 38
           </el-table>
@@ -325,47 +325,51 @@
325 325
             this.$message.error("请先选择病人")
326 326
             return
327 327
           }
328
-          if(this.case_history.is_infect == true){
329
-            this.case_history.is_infect = 1
330
-          }
331
-          if(this.case_history.is_infect == false){
332
-             this.case_history.is_infect = 2
333
-          }
334
-          let params = {
335
-            "his_patient_id":this.hisPatientInfo.id,
336
-            "delivery_way":this.delivery_way?"":0,
337
-            "patient_id":this.patientInfo.id,
338
-            "temperature":this.case_history.temperature,
339
-            "blood_sugar":this.case_history.blood_sugar,
340
-            "pulse":this.case_history.pulse,
341
-            "sbp":this.case_history.sbp,
342
-            "dbp":this.case_history.dbp,
343
-            "blood_fat":this.case_history.blood_fat,
344
-            "height":this.case_history.height,
345
-            "sick_type":this.case_history.sick_type,
346
-            "symptom":this.case_history.symptom,
347
-            "sick_date":this.start_time,
348
-            "is_infect":this.case_history.is_infect,
349
-            "chief_conplaint":this.case_history.chief_conplaint,
350
-            "history_of_present_illness":this.case_history.history_of_present_illness,
351
-            "past_history":this.case_history.past_history,
352
-            "personal_history":this.case_history.personal_history,
353
-            "family_history":this.case_history.family_history,
354
-            "record_date":this.record_date,
355
-            "diagnostic":this.case_history.diagnostic,
356
-            "breathing":this.case_history.breathing,
357
-            "doctor_advice":this.doctor_advice,
358
-            "remark":this.remark
359
-          }
360
-
361
-          createCaseHistory(params).then(response => {
362
-            if (response.data.state == 0) {
363
-              this.$message.error("患者病历已存在")
364
-              return false
365
-            } else {
366
-              this.$message.success("保存成功")
367
-            }
368
-          })
328
+          this.$refs.child.createCaseHistory()
329
+          // if(this.case_history.is_infect == true){
330
+          //   this.case_history.is_infect = 1
331
+          // }
332
+          // if(this.case_history.is_infect == false){
333
+          //    this.case_history.is_infect = 2
334
+          // }
335
+          // let params = {
336
+          //   "his_patient_id":this.hisPatientInfo.id,
337
+          //   "delivery_way":this.delivery_way?"":0,
338
+          //   "patient_id":this.patientInfo.id,
339
+          //   "temperature":this.case_history.temperature,
340
+          //   "blood_sugar":this.case_history.blood_sugar,
341
+          //   "pulse":this.case_history.pulse,
342
+          //   "sbp":this.case_history.sbp,
343
+          //   "dbp":this.case_history.dbp,
344
+          //   "blood_fat":this.case_history.blood_fat,
345
+          //   "height":this.case_history.height,
346
+          //   "sick_type":this.case_history.sick_type,
347
+          //   "symptom":this.case_history.symptom,
348
+          //   "sick_date":this.start_time,
349
+          //   "is_infect":this.case_history.is_infect,
350
+          //   "chief_conplaint":this.case_history.chief_conplaint,
351
+          //   "history_of_present_illness":this.case_history.history_of_present_illness,
352
+          //   "past_history":this.case_history.past_history,
353
+          //   "personal_history":this.case_history.personal_history,
354
+          //   "family_history":this.case_history.family_history,
355
+          //   "record_date":this.record_date,
356
+          //   "diagnostic":this.case_history.diagnostic,
357
+          //   "breathing":this.case_history.breathing,
358
+          //   // "doctor_advice":this.doctor_advice,
359
+          //   // "remark":this.remark
360
+          //   "doctor_advice":this.$ref.doctor_advice,
361
+          //   // "remark":this.remark
362
+          // }
363
+          // console.log("params",params)
364
+          // return
365
+          // createCaseHistory(params).then(response => {
366
+          //   if (response.data.state == 0) {
367
+          //     this.$message.error("患者病历已存在")
368
+          //     return false
369
+          //   } else {
370
+          //     this.$message.success("保存成功")
371
+          //   }
372
+          // })
369 373
         } else if (index == 2) {
370 374
           this.$router.push('/outpatientDoctorStation/recordPrint?record='+this.record_date)
371 375
         } else if (index == 3) {

+ 5 - 2
src/xt_pages/outpatientRegistration/index.vue ファイルの表示

@@ -70,7 +70,7 @@
70 70
             </div>
71 71
             <div class="nameTitle">患者挂号信息:</div>
72 72
             <div class="formMain">
73
-                <el-form class="basicForm" :model="form" label-width="100px">
73
+                <el-form class="basicForm" :model="form" :rules="rules" ref="form" label-width="100px">
74 74
                     <el-form-item label="挂号类型:"  prop="register">
75 75
                         <el-select v-model="form.register"  placeholder="请选择">
76 76
                             <el-option
@@ -245,7 +245,7 @@ export default {
245 245
             },
246 246
 
247 247
             rules: {
248
-              idCard: [{ required: true, message: '请填写身份证', trigger: 'blur'  }],
248
+              idCard: [{ required: true, message: '证件号码不能为空', trigger: 'blur'  }],
249 249
               register: [{ required: true, message: '请选择挂号类型' , trigger: 'blur' }],
250 250
               doctor: [{ required: true, message: '请选择医生' , trigger: 'blur' }],
251 251
               department: [{ required: true, message: '请填写科室', trigger: 'blur' }],
@@ -358,6 +358,9 @@ export default {
358 358
            })   
359 359
         },
360 360
         saveHisPatient(formName){   
361
+           if(this.form.idCard == ""){
362
+             this.$message.error("证件号码不能为空")
363
+           }
361 364
           this.$refs[formName].validate((valid)=>{
362 365
              if(valid){
363 366
                   if(this.form.costChecked == true){

+ 1 - 1
src/xt_pages/outpatientRegistration/registrationHistory.vue ファイルの表示

@@ -88,7 +88,7 @@
88 88
                 </el-table-column>
89 89
                 <el-table-column align="center" prop="name" label="操作" width="80">
90 90
                     <template slot-scope="scope">
91
-                        <el-button size="mini" type="primary" v-if="scope.row.is_return == 1" @click ="toReturnPatient(scope.row.id)" >退号</el-button> 
91
+                        <el-button size="mini" type="primary" v-if="scope.row.is_return == 1" @click ="toReturnPatient(scope.row.id)">退号</el-button> 
92 92
                         <el-button size="mini" type="primary" v-if="scope.row.is_return == 2" :disabled="true">已退号</el-button>
93 93
                         <el-button size="mini" type="primary" v-if="scope.row.is_return == 3" :disabled="true">已就诊</el-button>  
94 94
                     </template>