Procházet zdrojové kódy

Merge branch '20201109_pc_vue_new_branch' of http://git.shengws.com/csx/Vue_New into 20201109_pc_vue_new_branch

XMLWAN před 4 roky
rodič
revize
a730a3b907

+ 7 - 3
src/api/advice.js Zobrazit soubor

15
 }
15
 }
16
 
16
 
17
 export function CreateDoctorAdvice(id, advice, mode) {
17
 export function CreateDoctorAdvice(id, advice, mode) {
18
-  
18
+
19
   return request({
19
   return request({
20
     url: "/api/patients/advice/create?id=" + id + "&mode=" + mode,
20
     url: "/api/patients/advice/create?id=" + id + "&mode=" + mode,
21
     method: "post",
21
     method: "post",
190
 }
190
 }
191
 
191
 
192
 export function UpdateAdviceTemplate(id, data,drug_id) {
192
 export function UpdateAdviceTemplate(id, data,drug_id) {
193
-  
193
+
194
   return request({
194
   return request({
195
     url: "/api/advicetemplate/update?id=" + id+"&drug_id="+drug_id,
195
     url: "/api/advicetemplate/update?id=" + id+"&drug_id="+drug_id,
196
     method: "put",
196
     method: "put",
289
 }
289
 }
290
 
290
 
291
 export function CreateSubAdvice(params) {
291
 export function CreateSubAdvice(params) {
292
-  
292
+
293
   return request({
293
   return request({
294
     url: "/api/subadvice/create",
294
     url: "/api/subadvice/create",
295
     method: "post",
295
     method: "post",
502
     params: params
502
     params: params
503
   })
503
   })
504
 }
504
 }
505
+
506
+
507
+
508
+

+ 85 - 0
src/api/his/his.js Zobrazit soubor

181
 
181
 
182
 
182
 
183
 
183
 
184
+export function CreateHisSingleAdviceTemplate(params) {
185
+  return request({
186
+    url: "/api/hisadvicetemplate/add",
187
+    method: "post",
188
+    params:params
189
+  });
190
+}
191
+
192
+
193
+
194
+
195
+
196
+export function DeleteHisAdviceTemplate(id, template_id, parent_id) {
197
+  return request({
198
+    url:
199
+      "/api/hisadvicetemplate/delete?id=" +
200
+      id +
201
+      "&template_id=" +
202
+      template_id +
203
+      "&parent_id=" +
204
+      parent_id,
205
+    method: "delete"
206
+  });
207
+}
208
+
209
+
210
+export function postHisAdviceTemplate(params, name, advice_type) {
211
+  return request({
212
+    url:
213
+      "/api/hisadvicetemplate/create?template_name=" +
214
+      name +
215
+      "&advice_type=" +
216
+      advice_type,
217
+    method: "post",
218
+    data: params
219
+  });
220
+}
221
+
222
+
223
+
224
+
225
+export function updateHisTemplateName(params) {
226
+  return request({
227
+    url: "/api/histemplate/modify",
228
+    method: "post",
229
+    params:params
230
+  });
231
+}
232
+
233
+
234
+export function UpdateHisAdviceTemplate(params) {
235
+  return request({
236
+    url: "/api/hisadvicetemplate/update",
237
+    method: "put",
238
+    params:params
239
+  });
240
+}
241
+
242
+
243
+export function DeleteHisParentAdviceTemplate(id) {
244
+  return request({
245
+    url: "/api/hisadviceparenttemplate/delete?template_id=" + id,
246
+    method: "delete",
247
+  });
248
+}
249
+
250
+
251
+export function getAllHisAdviceTemplate () {
252
+  return request({
253
+    url: '/api/getallhisadvicetemplate',
254
+    method: 'get',
255
+  })
256
+}
257
+
258
+
259
+
260
+
261
+
262
+
263
+
264
+
265
+
266
+
267
+
268
+
184
 
269
 
185
 
270
 
186
 
271
 

+ 4 - 2
src/lang/zh.js Zobrazit soubor

196
     upload_config: '质控上报配置',
196
     upload_config: '质控上报配置',
197
     quality_control: '质控上报',
197
     quality_control: '质控上报',
198
     remind_print: '排版提醒打印',
198
     remind_print: '排版提醒打印',
199
-    system_prescription: '处方模版',
199
+    system_prescription: '透析方案模版',
200
     integration_config: '集成配置',
200
     integration_config: '集成配置',
201
     his_config: 'HIS集成配置',
201
     his_config: 'HIS集成配置',
202
 
202
 
231
     templateManagement:'模板管理',
231
     templateManagement:'模板管理',
232
     drugStockUserDetail:"出库人明细",
232
     drugStockUserDetail:"出库人明细",
233
     DepartManage:"部门管理",
233
     DepartManage:"部门管理",
234
-    basicConfig:'基础配置'
234
+    basicConfig:'基础配置',
235
+
236
+    histemplate:'处方模版',
235
 
237
 
236
   },
238
   },
237
   navbar: {
239
   navbar: {

+ 10 - 2
src/router/modules/templateManagement.js Zobrazit soubor

27
         meta: {
27
         meta: {
28
           title: 'template',
28
           title: 'template',
29
           noCache: true,
29
           noCache: true,
30
-    
30
+
31
         }
31
         }
32
     },
32
     },
33
     {
33
     {
38
           title: 'system_prescription'
38
           title: 'system_prescription'
39
         }
39
         }
40
     },
40
     },
41
-    
41
+    {
42
+      path: '/data/histemplate',
43
+      component: () => import('@/xt_pages/data/hisTemplate'),
44
+      name: 'histemplate',
45
+      meta: {
46
+        title: 'histemplate'
47
+      }
48
+    },
49
+
42
   ]
50
   ]
43
 }
51
 }

+ 30 - 31
src/xt_pages/data/druguseTemplate.vue Zobrazit soubor

547
                   <el-col :span="15">
547
                   <el-col :span="15">
548
 
548
 
549
                     <el-form-item label="药品规格 :" prop="advice_desc">
549
                     <el-form-item label="药品规格 :" prop="advice_desc">
550
-                      <el-col :span="8">                     
550
+                      <el-col :span="8">
551
                          <el-autocomplete
551
                          <el-autocomplete
552
                          style="width:100px;"
552
                          style="width:100px;"
553
                          class="inline-input"
553
                          class="inline-input"
1627
       },
1627
       },
1628
       onRowClick(row, event, column) {
1628
       onRowClick(row, event, column) {
1629
         this.table_current_index = row.index
1629
         this.table_current_index = row.index
1630
-      }, 
1630
+      },
1631
       modifyRecordAction: function() {
1631
       modifyRecordAction: function() {
1632
         if (this.table_current_index == -1) {
1632
         if (this.table_current_index == -1) {
1633
           this.$message.error('请选择一条医嘱记录')
1633
           this.$message.error('请选择一条医嘱记录')
1657
           this.templateTableVisible = false
1657
           this.templateTableVisible = false
1658
         }).catch(() => {
1658
         }).catch(() => {
1659
         })
1659
         })
1660
-      }, 
1660
+      },
1661
 
1661
 
1662
       //添加医嘱模版
1662
       //添加医嘱模版
1663
       submitTableTemplate(formName) {
1663
       submitTableTemplate(formName) {
1669
         const params = {
1669
         const params = {
1670
           'data': this.adviceTableData
1670
           'data': this.adviceTableData
1671
         }
1671
         }
1672
-      
1672
+
1673
         let name = encodeURIComponent(this.form.name)
1673
         let name = encodeURIComponent(this.form.name)
1674
         console.log("params",params)
1674
         console.log("params",params)
1675
-     
1675
+
1676
         postAdviceTemplate(params, name, this.form.advice_type).then(response => {
1676
         postAdviceTemplate(params, name, this.form.advice_type).then(response => {
1677
 
1677
 
1678
           if (response.data.state == 0) {
1678
           if (response.data.state == 0) {
1807
 
1807
 
1808
       },
1808
       },
1809
       submitTemplate(formName) {
1809
       submitTemplate(formName) {
1810
- 
1810
+
1811
         if(this.src_type == ""){
1811
         if(this.src_type == ""){
1812
             this.templateForm.way = 0
1812
             this.templateForm.way = 0
1813
             this.templateForm.drug_id = 0
1813
             this.templateForm.drug_id = 0
1818
             this.templateForm.advice_name = arr[0]
1818
             this.templateForm.advice_name = arr[0]
1819
         }
1819
         }
1820
         console.log("2222",this.templateForm)
1820
         console.log("2222",this.templateForm)
1821
-       
1821
+
1822
         this.$refs[formName].validate(valid => {
1822
         this.$refs[formName].validate(valid => {
1823
           this.templateForm.single_dose = parseFloat(this.templateForm.single_dose)
1823
           this.templateForm.single_dose = parseFloat(this.templateForm.single_dose)
1824
           this.templateForm.prescribing_number = parseFloat(this.templateForm.prescribing_number)
1824
           this.templateForm.prescribing_number = parseFloat(this.templateForm.prescribing_number)
1829
           if (isNaN(this.templateForm.prescribing_number)) {
1829
           if (isNaN(this.templateForm.prescribing_number)) {
1830
             this.templateForm.prescribing_number = 0
1830
             this.templateForm.prescribing_number = 0
1831
           }
1831
           }
1832
-          
1832
+
1833
           if (valid) {
1833
           if (valid) {
1834
             const templateFormTwo = {}
1834
             const templateFormTwo = {}
1835
             templateFormTwo.template_id = this.current_template_id
1835
             templateFormTwo.template_id = this.current_template_id
1948
                     this.adviceTableData[i].weekdays = templateFormTwo.weekdays
1948
                     this.adviceTableData[i].weekdays = templateFormTwo.weekdays
1949
                     this.adviceTableData[i].drug_id =  templateFormTwo.drug_id
1949
                     this.adviceTableData[i].drug_id =  templateFormTwo.drug_id
1950
                     this.adviceTableData[i].way   = templateFormTwo.way
1950
                     this.adviceTableData[i].way   = templateFormTwo.way
1951
-                    
1951
+
1952
                   }
1952
                   }
1953
                 }
1953
                 }
1954
               } else {
1954
               } else {
2147
                 object['template_id'] = response.data.data.advice_templates[i].id
2147
                 object['template_id'] = response.data.data.advice_templates[i].id
2148
                 this.adviceTemplates.push(object)
2148
                 this.adviceTemplates.push(object)
2149
               }
2149
               }
2150
-              
2150
+
2151
               // 非空模版的处理
2151
               // 非空模版的处理
2152
               for (let y = 0; y < response.data.data.advice_templates[i].DoctorAdviceTemplate.length; y++) {
2152
               for (let y = 0; y < response.data.data.advice_templates[i].DoctorAdviceTemplate.length; y++) {
2153
                 if (response.data.data.advice_templates[i].id == response.data.data.advice_templates[i].DoctorAdviceTemplate[y].template_id) {
2153
                 if (response.data.data.advice_templates[i].id == response.data.data.advice_templates[i].DoctorAdviceTemplate[y].template_id) {
2177
       }, cancelEditHandle() {
2177
       }, cancelEditHandle() {
2178
         // this.templateTableVisible = true
2178
         // this.templateTableVisible = true
2179
         this.templateEditFormVisible = false
2179
         this.templateEditFormVisible = false
2180
-      }, 
2181
-      
2180
+      },
2181
+
2182
       //编辑医嘱
2182
       //编辑医嘱
2183
       submitEditTemplate(formName) {
2183
       submitEditTemplate(formName) {
2184
-        
2184
+
2185
          var drug_id = 0
2185
          var drug_id = 0
2186
          for(let i=0;i<this.all_drug.length;i++){
2186
          for(let i=0;i<this.all_drug.length;i++){
2187
            if(this.templateFormEdit.advice_name == this.all_drug[i].drug_name){
2187
            if(this.templateFormEdit.advice_name == this.all_drug[i].drug_name){
2188
               drug_id = this.all_drug[i].id
2188
               drug_id = this.all_drug[i].id
2189
            }
2189
            }
2190
-         } 
2190
+         }
2191
         this.templateFormEdit.drug_id = drug_id
2191
         this.templateFormEdit.drug_id = drug_id
2192
-       
2192
+
2193
         console.log("编辑子药",this.templateFormEdit)
2193
         console.log("编辑子药",this.templateFormEdit)
2194
-       
2194
+
2195
         this.$refs[formName].validate(valid => {
2195
         this.$refs[formName].validate(valid => {
2196
 
2196
 
2197
           this.templateFormEdit.single_dose = parseFloat(this.templateFormEdit.single_dose)
2197
           this.templateFormEdit.single_dose = parseFloat(this.templateFormEdit.single_dose)
2221
                 return s && s.trim()
2221
                 return s && s.trim()
2222
               }).join(',')
2222
               }).join(',')
2223
             }
2223
             }
2224
-           
2224
+
2225
             UpdateAdviceTemplate(this.templateFormEdit.id, this.templateFormEdit,this.templateFormEdit.drug_id).then(
2225
             UpdateAdviceTemplate(this.templateFormEdit.id, this.templateFormEdit,this.templateFormEdit.drug_id).then(
2226
               response => {
2226
               response => {
2227
                 if (response.data.state == 0) {
2227
                 if (response.data.state == 0) {
2253
             )
2253
             )
2254
           }
2254
           }
2255
         })
2255
         })
2256
-      }, 
2256
+      },
2257
       drugDesc(row) {
2257
       drugDesc(row) {
2258
         if (row.isNoSub == 2) {
2258
         if (row.isNoSub == 2) {
2259
           if (row.drug_spec.length <= 0) {
2259
           if (row.drug_spec.length <= 0) {
2339
         this.table_current_index_two = row.index
2339
         this.table_current_index_two = row.index
2340
       }, cancelHandleTwo() {
2340
       }, cancelHandleTwo() {
2341
         this.templateFormTwoVisible = false
2341
         this.templateFormTwoVisible = false
2342
-      }, 
2342
+      },
2343
       submitTemplateTwo(formName) {
2343
       submitTemplateTwo(formName) {
2344
-        
2344
+
2345
         this.templateForm['template_id'] = this.current_template_id
2345
         this.templateForm['template_id'] = this.current_template_id
2346
         this.templateForm['advice_type'] = this.form.advice_type
2346
         this.templateForm['advice_type'] = this.form.advice_type
2347
-       
2348
-      
2347
+
2348
+
2349
         if (this.templateForm.frequency_type == 1) {
2349
         if (this.templateForm.frequency_type == 1) {
2350
           this.templateForm.day_count = 0
2350
           this.templateForm.day_count = 0
2351
           this.templateForm.week_days = ''
2351
           this.templateForm.week_days = ''
2359
           }).join(',')
2359
           }).join(',')
2360
         }
2360
         }
2361
         console.log("编辑模板",this.templateForm)
2361
         console.log("编辑模板",this.templateForm)
2362
-        
2362
+
2363
         // 编辑创建医嘱模版
2363
         // 编辑创建医嘱模版
2364
         CreateSingleAdviceTemplate(this.templateForm).then(response => {
2364
         CreateSingleAdviceTemplate(this.templateForm).then(response => {
2365
           if (response.data.state == 0) {
2365
           if (response.data.state == 0) {
2391
         this.adviceTableDataTwo = []
2391
         this.adviceTableDataTwo = []
2392
       }, cancelEditHandleTwo() {
2392
       }, cancelEditHandleTwo() {
2393
         this.templateEditFormTwoVisible = false
2393
         this.templateEditFormTwoVisible = false
2394
-      }, 
2394
+      },
2395
       submitEditTemplateTwo(formName) {
2395
       submitEditTemplateTwo(formName) {
2396
         this.$refs[formName].validate(valid => {
2396
         this.$refs[formName].validate(valid => {
2397
           this.templateFormEdit.single_dose = parseFloat(this.templateFormEdit.single_dose)
2397
           this.templateFormEdit.single_dose = parseFloat(this.templateFormEdit.single_dose)
2512
           this.editDialogTitle = '编辑医嘱'
2512
           this.editDialogTitle = '编辑医嘱'
2513
           this.edit_advice_name = '医嘱内容'
2513
           this.edit_advice_name = '医嘱内容'
2514
         }
2514
         }
2515
-      }, 
2515
+      },
2516
       openDelete(index, row) {
2516
       openDelete(index, row) {
2517
         this.hoverOrderArr = []
2517
         this.hoverOrderArr = []
2518
 
2518
 
2689
             this.adviceTableDataTwo.push(this.adviceTemplates[i])
2689
             this.adviceTableDataTwo.push(this.adviceTemplates[i])
2690
           }
2690
           }
2691
         }
2691
         }
2692
-      }, 
2692
+      },
2693
       modifyTemplateName() {
2693
       modifyTemplateName() {
2694
         const params = {
2694
         const params = {
2695
           template_name: this.form.name,
2695
           template_name: this.form.name,
2696
           template_id: this.current_template_id
2696
           template_id: this.current_template_id
2697
         }
2697
         }
2698
         console.log("params---",params)
2698
         console.log("params---",params)
2699
-       
2699
+
2700
         updateTemplateName(params).then(response => {
2700
         updateTemplateName(params).then(response => {
2701
           if (response.data.state == 0) {
2701
           if (response.data.state == 0) {
2702
             this.$message.error(response.data.msg)
2702
             this.$message.error(response.data.msg)
2825
                 obj.id = base_drug_list[i].id
2825
                 obj.id = base_drug_list[i].id
2826
                 this.all_drug.push(obj)
2826
                 this.all_drug.push(obj)
2827
               }
2827
               }
2828
-            }   
2828
+            }
2829
         })
2829
         })
2830
-       
2830
+
2831
     },
2831
     },
2832
 
2832
 
2833
 
2833
 
2871
             }
2871
             }
2872
         }
2872
         }
2873
       },
2873
       },
2874
-
2875
       changeDrugDescTwo(name) {
2874
       changeDrugDescTwo(name) {
2876
         this.current_drug_spec = name
2875
         this.current_drug_spec = name
2877
         for (let i = 0; i < this.drugSpec.length; i++) {
2876
         for (let i = 0; i < this.drugSpec.length; i++) {
2887
           }
2886
           }
2888
         }
2887
         }
2889
       },
2888
       },
2890
-      
2889
+
2891
 
2890
 
2892
      querySearch(queryString, cb) {
2891
      querySearch(queryString, cb) {
2893
         console.log('queryString',queryString)
2892
         console.log('queryString',queryString)

+ 3 - 13
src/xt_pages/outpatientCharges/components/prescriptionTable.vue Zobrazit soubor

9
 
9
 
10
       <el-table-column align="center" prop="name" width="90" label="单次用量">
10
       <el-table-column align="center" prop="name" width="90" label="单次用量">
11
         <template slot-scope="scope">
11
         <template slot-scope="scope">
12
-          <div style="display:flex;align-items:center;">
13
             <!--<el-input v-model="scope.row.single_dose" readonly style="width:65%;"></el-input>-->
12
             <!--<el-input v-model="scope.row.single_dose" readonly style="width:65%;"></el-input>-->
14
-            <div> {{scope.row.single_dose}}</div>
15
-
16
-            <div> {{scope.row.single_dose_unit}}</div>
17
-          </div>
13
+            <div>{{scope.row.single_dose}}&nbsp;&nbsp;{{scope.row.single_dose_unit}}</div>
18
         </template>
14
         </template>
19
       </el-table-column>
15
       </el-table-column>
20
       <el-table-column align="center" prop="name" width="100" label="用法">
16
       <el-table-column align="center" prop="name" width="100" label="用法">
33
       </el-table-column>
29
       </el-table-column>
34
 
30
 
35
       <el-table-column align="center" prop="day" width="50" label="天数">
31
       <el-table-column align="center" prop="day" width="50" label="天数">
36
-        <template slot-scope="scope">
37
-          {{scope.row.day}}
38
-        </template>
32
+        <template slot-scope="scope">{{scope.row.day}}</template>
39
       </el-table-column>
33
       </el-table-column>
40
 
34
 
41
       <el-table-column align="center" prop="name" width="100" label="总量">
35
       <el-table-column align="center" prop="name" width="100" label="总量">
42
         <template slot-scope="scope">
36
         <template slot-scope="scope">
43
-          <div style="display:flex;align-items:center;">
44
             <!--<el-input v-model="scope.row.prescribing_number" style="width:60%" readonly placeholder=""></el-input>-->
37
             <!--<el-input v-model="scope.row.prescribing_number" style="width:60%" readonly placeholder=""></el-input>-->
45
-            <div> {{scope.row.prescribing_number}}</div>
46
-
47
-            <div>{{scope.row.prescribing_number_unit}}</div>
48
-          </div>
38
+            <div>{{scope.row.prescribing_number}}&nbsp;&nbsp;{{scope.row.prescribing_number_unit}}</div>
49
         </template>
39
         </template>
50
       </el-table-column>
40
       </el-table-column>
51
       <el-table-column align="center" prop="name" width="60" label="单价">
41
       <el-table-column align="center" prop="name" width="60" label="单价">

+ 42 - 20
src/xt_pages/outpatientCharges/outpatientChargesManagement.vue Zobrazit soubor

3
     <div class="position">
3
     <div class="position">
4
       <bread-crumb :crumbs='crumbs'></bread-crumb>
4
       <bread-crumb :crumbs='crumbs'></bread-crumb>
5
     </div>
5
     </div>
6
-    <div class="app-container" style="display:flex;flex: 1;padding: 20px 20px 0px 20px;">
6
+    <div class="app-container" style="display:flex;flex: 1;padding: 10px 20px 0px 20px;">
7
       <div class="mainLeft">
7
       <div class="mainLeft">
8
-        <div class="mainCell" style="justify-content: space-between;">
8
+        <!-- <div class="mainCell" style="justify-content: space-between;">
9
           <p style="color: red">未收费:<span>{{cal_one}}</span>人</p>
9
           <p style="color: red">未收费:<span>{{cal_one}}</span>人</p>
10
           <p style="color: red">已收费:<span>{{cal_two}}</span>人</p>
10
           <p style="color: red">已收费:<span>{{cal_two}}</span>人</p>
11
           <p style="color: red">已退费:<span>{{cal_three}}</span>人</p>
11
           <p style="color: red">已退费:<span>{{cal_three}}</span>人</p>
12
 
12
 
13
-        </div>
13
+        </div> -->
14
         <div class="mainCell">
14
         <div class="mainCell">
15
           <el-radio-group v-model="radio" @change="changeRadio">
15
           <el-radio-group v-model="radio" @change="changeRadio">
16
-            <el-radio :label=1>未收费</el-radio>
17
-            <el-radio :label=2>已收费</el-radio>
18
-            <el-radio :label=3>已退费</el-radio>
16
+            <el-radio :label=1>未收费<span style="color: red;margin-bottom:10px;display: inline-block;">{{cal_one}}</span>人</el-radio>
17
+            <el-radio :label=2>已收费<span style="color: red;margin-bottom:10px;display: inline-block;">{{cal_two}}</span>人</el-radio>
18
+            <el-radio :label=3>已退费<span style="color: red;margin-bottom:10px;display: inline-block;">{{cal_three}}</span>人</el-radio>
19
             <el-radio :label=4>全部</el-radio>
19
             <el-radio :label=4>全部</el-radio>
20
 
20
 
21
           </el-radio-group>
21
           </el-radio-group>
43
       </div>
43
       </div>
44
       <div class="mainRight">
44
       <div class="mainRight">
45
 
45
 
46
-        <div class="mainCell" style="margin-bottom:10px;flex-direction: row-reverse;">
46
+        <div class="mainCell fixedCell" style="margin-bottom:10px;">
47
           <!-- <el-button size="small" @click="open(1)" type="primary" style="margin-left:10px;">打印处置单</el-button>
47
           <!-- <el-button size="small" @click="open(1)" type="primary" style="margin-left:10px;">打印处置单</el-button>
48
           <el-button size="small" @click="open(2)" type="primary">打印治疗单</el-button> -->
48
           <el-button size="small" @click="open(2)" type="primary">打印治疗单</el-button> -->
49
-          <el-button size="small" @click="open(3)" type="primary" style="margin-left:10px;">打印</el-button>
49
+          <el-button size="small" @click="open(3)" type="primary">打印</el-button>
50
           <el-button v-loading="loadingone" size="small"
50
           <el-button v-loading="loadingone" size="small"
51
                      @click="open(6)"
51
                      @click="open(6)"
52
                      v-if="this.hisPatientInfo && this.hisPatientInfo.id == 0"
52
                      v-if="this.hisPatientInfo && this.hisPatientInfo.id == 0"
68
                 <div class="centerLeft">
68
                 <div class="centerLeft">
69
                   <div class="tabsBox">
69
                   <div class="tabsBox">
70
                     <el-button type="text" class="addTab" @click="addCharges" icon="el-icon-circle-plus">附加收费</el-button>
70
                     <el-button type="text" class="addTab" @click="addCharges" icon="el-icon-circle-plus">附加收费</el-button>
71
-                    <el-tabs class="preTabs" v-model="editableTabsValue" type="card" @tab-click="tabclickEvent">
71
+                    <el-tabs class="preTabs" v-model="editableTabsValue" type="border-card" @tab-click="tabclickEvent">
72
                       <el-tab-pane
72
                       <el-tab-pane
73
                         v-for="(item, index) in prescriptions"
73
                         v-for="(item, index) in prescriptions"
74
                         :key="index"
74
                         :key="index"
119
                     <li style="width:100%;">地址:{{patientInfo.home_address}}</li>
119
                     <li style="width:100%;">地址:{{patientInfo.home_address}}</li>
120
                     <li style="width:100%;">过敏史及其他病史:{{info.sick_history}}</li>
120
                     <li style="width:100%;">过敏史及其他病史:{{info.sick_history}}</li>
121
                   </ul>
121
                   </ul>
122
-                  <p class="centerRightTitle">诊断信息</p>
122
+                  <p class="centerRightTitle" style="padding-top: 10px;">诊断信息</p>
123
                   <div style="display:flex;justify-content: space-between;line-height:30px;">
123
                   <div style="display:flex;justify-content: space-between;line-height:30px;">
124
                     <span style="font-size:14px;">门诊编号:{{ hisPatientInfo.number}}</span>
124
                     <span style="font-size:14px;">门诊编号:{{ hisPatientInfo.number}}</span>
125
                   </div>
125
                   </div>
126
                   <ul class="basicUl">
126
                   <ul class="basicUl">
127
                     <li style="width:50%;">医生:{{ info.doctor }}</li>
127
                     <li style="width:50%;">医生:{{ info.doctor }}</li>
128
                     <li style="width:50%;">科室:{{ info.departments }}</li>
128
                     <li style="width:50%;">科室:{{ info.departments }}</li>
129
-                    <li style="width:50%;">总费用:{{ getTotal() }}</li>
129
+                    <li style="width:100%;">总费用:{{ getTotal() }}</li>
130
 
130
 
131
                     <li style="width:100%;">判断结果:{{info.diagnosis}}</li>
131
                     <li style="width:100%;">判断结果:{{info.diagnosis}}</li>
132
                     <li style="width:100%;">是否有传染病:</li>
132
                     <li style="width:100%;">是否有传染病:</li>
250
         prescriptions: [],
250
         prescriptions: [],
251
         record_date: '',
251
         record_date: '',
252
         tableData: [],
252
         tableData: [],
253
-        editableTabsValue: '1',
253
+        editableTabsValue: '处方1',
254
         loadingone: false,
254
         loadingone: false,
255
         editableTabs: [{
255
         editableTabs: [{
256
           title: '处方1',
256
           title: '处方1',
279
       }
279
       }
280
     },
280
     },
281
     created() {
281
     created() {
282
-      let tableHeight = document.body.clientHeight - 263
282
+      let tableHeight = document.body.clientHeight - 243
283
       this.tableHeight = tableHeight
283
       this.tableHeight = tableHeight
284
       var nowDate = new Date()
284
       var nowDate = new Date()
285
       var nowYear = nowDate.getFullYear()
285
       var nowYear = nowDate.getFullYear()
865
       fullHeight(val) {
865
       fullHeight(val) {
866
         if (!this.timer) {
866
         if (!this.timer) {
867
           this.fullHeight = val
867
           this.fullHeight = val
868
-          let tableHeight = val - 263
868
+          let tableHeight = val - 243
869
           this.tableHeight = tableHeight
869
           this.tableHeight = tableHeight
870
           this.timer = true
870
           this.timer = true
871
           let that = this
871
           let that = this
893
     height: 100%;
893
     height: 100%;
894
     display: flex;
894
     display: flex;
895
     flex-direction: column;
895
     flex-direction: column;
896
+    margin-top: 20px;
896
 
897
 
897
   .el-radio {
898
   .el-radio {
898
     margin-right: 5px;
899
     margin-right: 5px;
904
     display: flex;
905
     display: flex;
905
     align-items: center;
906
     align-items: center;
906
   }
907
   }
908
+  .fixedCell{
909
+    position: fixed;
910
+    z-index: 99;
911
+    right: 42px;
912
+    background: #fff;
913
+    display: flex;
914
+    justify-content: space-between;
915
+  }
907
 
916
 
908
   .mainRight {
917
   .mainRight {
909
-    margin-left: 20px;
918
+    margin-left: 10px;
910
     flex: 1;
919
     flex: 1;
911
     height: 100%;
920
     height: 100%;
912
     display: flex;
921
     display: flex;
933
   }
942
   }
934
   .addTab {
943
   .addTab {
935
     position: absolute;
944
     position: absolute;
936
-    right: 0;
937
-    top: 6px;
945
+    right: 6px;
946
+    top: 3px;
938
     z-index: 20;
947
     z-index: 20;
939
   }
948
   }
940
 
949
 
959
     display: flex;
968
     display: flex;
960
     flex-direction: column;
969
     flex-direction: column;
961
     position: relative;
970
     position: relative;
962
-    height: 100%;
971
+  }
972
+  .preTabs{
973
+    height:100%;
974
+    display: flex;
975
+    flex-direction: column;
976
+    .el-tab-pane{
977
+      height:auto !important;
978
+    }
963
   }
979
   }
964
 
980
 
965
   .settlementTabs {
981
   .settlementTabs {
976
   }
992
   }
977
   .centerRight {
993
   .centerRight {
978
     width: 300px;
994
     width: 300px;
979
-    margin-left: 5px;
995
+    margin-left: 10px;
980
     display: flex;
996
     display: flex;
981
     flex-direction: column;
997
     flex-direction: column;
982
     overflow-y: auto;
998
     overflow-y: auto;
990
 
1006
 
991
   .centerRightTitle {
1007
   .centerRightTitle {
992
     color: #409EFF;
1008
     color: #409EFF;
993
-    padding-top: 10px;;
994
   }
1009
   }
995
 
1010
 
996
   .basicUl {
1011
   .basicUl {
1028
   }
1043
   }
1029
 
1044
 
1030
   }
1045
   }
1046
+  .preTabs{
1047
+    .el-tabs__content{
1048
+      flex: 1;
1049
+      overflow-y: auto;
1050
+      padding: 5px 0 5px 5px;
1051
+    }
1052
+  }
1031
 </style>
1053
 </style>
1032
 
1054
 

+ 1 - 1
src/xt_pages/outpatientCharges/summary.vue Zobrazit soubor

41
         </div>
41
         </div>
42
         <el-button size="small" type="primary" @click="export_detail">报表下载</el-button>
42
         <el-button size="small" type="primary" @click="export_detail">报表下载</el-button>
43
       </div>
43
       </div>
44
-      <el-table :data="tableData" border height="500" style="width: 100%;" :row-style="{ color: '#303133' }"
44
+      <el-table :data="tableData" border style="width: 100%;" :row-style="{ color: '#303133' }"
45
                 :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
45
                 :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
46
         <el-table-column
46
         <el-table-column
47
           prop="date"
47
           prop="date"

+ 11 - 26
src/xt_pages/outpatientCharges/summaryDetail.vue Zobrazit soubor

7
             <div class="mainCenter">
7
             <div class="mainCenter">
8
                 <div class="centerLeft">
8
                 <div class="centerLeft">
9
                     <div class="tabsBox">
9
                     <div class="tabsBox">
10
-                      <el-table  :data="tableData" border style="width: 99%;"
10
+                      <el-table  :data="tableData" border style="width: 100%;"
11
                                 :row-style="{ color: '#303133' }"
11
                                 :row-style="{ color: '#303133' }"
12
                                 :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
12
                                 :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
13
 
13
 
15
                           <template slot-scope="scope">{{ scope.row.name }}</template>
15
                           <template slot-scope="scope">{{ scope.row.name }}</template>
16
                         </el-table-column>
16
                         </el-table-column>
17
 
17
 
18
-                        <el-table-column align="center" prop="project_name" label="分类">
18
+                        <el-table-column align="center" prop="project_name" label="分类" width="100">
19
                           <template slot-scope="scope">{{ scope.row.type == 1?'药品':'项目' }}</template>
19
                           <template slot-scope="scope">{{ scope.row.type == 1?'药品':'项目' }}</template>
20
                         </el-table-column>
20
                         </el-table-column>
21
 
21
 
26
                           </template>
26
                           </template>
27
                         </el-table-column>
27
                         </el-table-column>
28
                         <el-table-column align="center" prop="single_dose" width="80" label="单次用量">
28
                         <el-table-column align="center" prop="single_dose" width="80" label="单次用量">
29
-                          <template slot-scope="scope">
30
-                            <!--<el-input v-model="scope.row.single_dose" placeholder="" readonly></el-input>-->
31
-                            {{scope.row.single_dose}}{{scope.row.single_dose_unit}}
32
-                          </template>
29
+                          <template slot-scope="scope">{{scope.row.single_dose}}&nbsp;&nbsp;{{scope.row.single_dose_unit}}</template>
33
                         </el-table-column>
30
                         </el-table-column>
34
-                        <el-table-column align="center" prop="delivery_way" width="80" label="用法">
31
+                        <el-table-column align="center" prop="delivery_way" width="90" label="用法">
35
                           <template slot-scope="scope">
32
                           <template slot-scope="scope">
36
                             <!--<el-input v-model="scope.row.delivery_way" placeholder="" readonly></el-input>-->
33
                             <!--<el-input v-model="scope.row.delivery_way" placeholder="" readonly></el-input>-->
37
                             {{scope.row.delivery_way}}
34
                             {{scope.row.delivery_way}}
38
 
35
 
39
                           </template>
36
                           </template>
40
                         </el-table-column>
37
                         </el-table-column>
41
-                        <el-table-column align="center" prop="execution_frequency" width="80" label="频率">
42
-                          <template slot-scope="scope">
43
-                            <!--<el-input v-model="scope.row.execution_frequency" placeholder="" readonly></el-input>-->
44
-                            {{scope.row.execution_frequency}}
45
-
46
-                          </template>
38
+                        <el-table-column align="center" prop="execution_frequency" width="90" label="频率">
39
+                          <template slot-scope="scope">{{scope.row.execution_frequency}}</template>
47
                         </el-table-column>
40
                         </el-table-column>
48
-                        <el-table-column align="center" prop="number_days" width="50" label="天数">
41
+                        <el-table-column align="center" prop="number_days" width="60" label="天数">
49
                           <template slot-scope="scope">
42
                           <template slot-scope="scope">
50
                             <!--<el-input v-model="scope.row.number_days" placeholder="" readonly></el-input>-->
43
                             <!--<el-input v-model="scope.row.number_days" placeholder="" readonly></el-input>-->
51
                             {{scope.row.day}}
44
                             {{scope.row.day}}
52
 
45
 
53
                           </template>
46
                           </template>
54
                         </el-table-column>
47
                         </el-table-column>
55
-                        <el-table-column align="center" prop="total" width="50" label="总量">
56
-                          <template slot-scope="scope">
57
-                            <div style="display:flex;">
58
-                              <!--<el-input v-model="scope.row.total" placeholder="" readonly></el-input>-->
59
-                              {{scope.row.count}}
60
-                              <div>{{scope.row.prescribing_number_unit}}</div>
61
-
62
-                            </div>
63
-                          </template>
48
+                        <el-table-column align="center" prop="total" width="60" label="总量">
49
+                          <template slot-scope="scope">{{scope.row.count}}&nbsp;&nbsp;{{scope.row.prescribing_number_unit}}</template>
64
                         </el-table-column>
50
                         </el-table-column>
65
-                        <el-table-column align="center" prop="name" width="50" label="单价">
51
+                        <el-table-column align="center" prop="name" width="60" label="单价">
66
                           <template slot-scope="scope">
52
                           <template slot-scope="scope">
67
                             <!--<el-input v-model="scope.row.price" placeholder="" readonly></el-input>-->
53
                             <!--<el-input v-model="scope.row.price" placeholder="" readonly></el-input>-->
68
                             {{scope.row.price}}
54
                             {{scope.row.price}}
69
 
55
 
70
                           </template>
56
                           </template>
71
                         </el-table-column>
57
                         </el-table-column>
72
-                        <el-table-column align="center" prop="name" width="50" label="备注">
58
+                        <el-table-column align="center" prop="name" width="80" label="备注">
73
                           <template slot-scope="scope">
59
                           <template slot-scope="scope">
74
                             <!--<el-input v-model="scope.row.remark" readonly></el-input>-->
60
                             <!--<el-input v-model="scope.row.remark" readonly></el-input>-->
75
                             {{scope.row.remark}}
61
                             {{scope.row.remark}}
398
 .summaryDetail{
384
 .summaryDetail{
399
     .el-table th .cell, .el-table td .cell{
385
     .el-table th .cell, .el-table td .cell{
400
         padding: 0 2px;
386
         padding: 0 2px;
401
-        white-space: pre-line;
402
     }
387
     }
403
     .el-icon-delete{
388
     .el-icon-delete{
404
         color:red;
389
         color:red;

+ 85 - 40
src/xt_pages/outpatientDoctorStation/components/deskPrescription.vue Zobrazit soubor

1
 <template>
1
 <template>
2
-  <div style="height: calc(100% - 54px);display: flex;flex-direction: column;margin-top: 54px;">
2
+  <div style="height: calc(100% - 56px);display: flex;flex-direction: column;margin-top: 56px;">
3
     <!-- <div style="border-top:1px solid #e5e5e5;margin-top:5px;">
3
     <!-- <div style="border-top:1px solid #e5e5e5;margin-top:5px;">
4
       <div class="mainCell" style="margin-bottom:10px;float:right">
4
       <div class="mainCell" style="margin-bottom:10px;float:right">
5
         <el-button size="small" @click="open(1)" type="primary" style="margin-left:10px;">保存</el-button>
5
         <el-button size="small" @click="open(1)" type="primary" style="margin-left:10px;">保存</el-button>
12
     <div class="mainCenter">
12
     <div class="mainCenter">
13
       <div class="centerLeft">
13
       <div class="centerLeft">
14
         <el-form :model="form" ref="form" label-width="80px" style="display: flex;flex-wrap: wrap;justify-content: space-between;">
14
         <el-form :model="form" ref="form" label-width="80px" style="display: flex;flex-wrap: wrap;justify-content: space-between;">
15
-          <el-form-item label="姓名:" prop="name">
15
+          <el-form-item label="姓名:" prop="name" label-position="right">
16
             <el-input v-model="patientInfo.name" placeholder="" readonly></el-input>
16
             <el-input v-model="patientInfo.name" placeholder="" readonly></el-input>
17
           </el-form-item>
17
           </el-form-item>
18
-          <el-form-item label="证件号: " prop="name">
18
+          <el-form-item label="证件号: " prop="name" label-position="right">
19
             <el-input v-model="patientInfo.id_card_no" placeholder="" readonly></el-input>
19
             <el-input v-model="patientInfo.id_card_no" placeholder="" readonly></el-input>
20
           </el-form-item>
20
           </el-form-item>
21
           <!--<el-form-item label="挂号类型: " prop="name">-->
21
           <!--<el-form-item label="挂号类型: " prop="name">-->
22
           <!--<el-input v-model="hisPatientInfo.register_type" placeholder="" readonly></el-input>-->
22
           <!--<el-input v-model="hisPatientInfo.register_type" placeholder="" readonly></el-input>-->
23
           <!--</el-form-item>-->
23
           <!--</el-form-item>-->
24
-          <el-form-item label="挂号类型: " prop="name">
24
+          <el-form-item label="挂号类型: " prop="name" label-position="right">
25
             <el-select style="width:100%;" v-model="register_type" placeholder="">
25
             <el-select style="width:100%;" v-model="register_type" placeholder="">
26
               <el-option
26
               <el-option
27
                 v-for="(item,index) in getDictionaryDataConfig('system','register_type')"
27
                 v-for="(item,index) in getDictionaryDataConfig('system','register_type')"
31
               </el-option>
31
               </el-option>
32
             </el-select>
32
             </el-select>
33
           </el-form-item>
33
           </el-form-item>
34
-          <el-form-item label="疾病类型:" prop="name">
34
+          <el-form-item label="疾病类型:" prop="name" label-position="right">
35
 
35
 
36
             <el-select style="width:100%;" v-model="state1" placeholder="">
36
             <el-select style="width:100%;" v-model="state1" placeholder="">
37
               <el-option
37
               <el-option
43
             </el-select>
43
             </el-select>
44
 
44
 
45
           </el-form-item>
45
           </el-form-item>
46
-          <el-form-item label="过敏病史: " prop="name">
46
+          <el-form-item label="过敏病史: " prop="name" label-position="right">
47
             <el-autocomplete
47
             <el-autocomplete
48
               style="width:100%;"
48
               style="width:100%;"
49
               class="inline-input"
49
               class="inline-input"
52
               placeholder="请输入内容"
52
               placeholder="请输入内容"
53
             ></el-autocomplete>
53
             ></el-autocomplete>
54
           </el-form-item>
54
           </el-form-item>
55
+          <el-form-item label="过敏病史: " prop="name" style="visibility: hidden;">
56
+            <el-input placeholder="" readonly></el-input>
57
+          </el-form-item>
55
         </el-form>
58
         </el-form>
56
         <div class="tabsBox">
59
         <div class="tabsBox">
57
 
60
 
75
 
78
 
76
         </div>
79
         </div>
77
         <div class="costBox">
80
         <div class="costBox">
78
-          <span>医生:</span>
79
-          <el-select style="margin-right:5px;width:140px;" v-model="doctorValue" placeholder="" @change="changeDoctor">
80
-            <el-option
81
-              v-for="(item,index) in doctors"
82
-              :key="index"
83
-              :label="item.user_name"
84
-              :value="item.admin_user_id">
85
-            </el-option>
86
-          </el-select>
87
-          <span>科室:</span>
88
-          <el-select style="margin-right:5px;width:140px;" v-model="departmentValue" placeholder="">
89
-            <el-option
90
-              v-for="(item,index) in department"
91
-              :key="index"
92
-              :label="item.name"
93
-              :value="item.id">
94
-            </el-option>
95
-          </el-select>
96
-          <span>当前处方总价:</span>
97
-          <span style="color:red;">{{getTotalOne()?getTotalOne():''}}</span>元
98
-          <span style="margin-left:10px;">总价:</span>
99
-          <span style="color:red;">{{ getTotal()?getTotal():''}}</span>元
100
-          <span>{{order_status}}</span>
81
+          <div>
82
+            <span>医生:</span>
83
+            <el-select style="margin-right:5px;width:140px;" v-model="doctorValue" placeholder="" @change="changeDoctor">
84
+              <el-option
85
+                v-for="(item,index) in doctors"
86
+                :key="index"
87
+                :label="item.user_name"
88
+                :value="item.admin_user_id">
89
+              </el-option>
90
+            </el-select>
91
+            <span>科室:</span>
92
+            <el-select style="margin-right:5px;width:140px;" v-model="departmentValue" placeholder="">
93
+              <el-option
94
+                v-for="(item,index) in department"
95
+                :key="index"
96
+                :label="item.name"
97
+                :value="item.id">
98
+              </el-option>
99
+            </el-select>
100
+            <span>当前处方总价:</span>
101
+            <span style="color:red;">{{getTotalOne()?getTotalOne():''}}</span>元
102
+            <span style="margin-left:10px;">总价:</span>
103
+            <span style="color:red;">{{ getTotal()?getTotal():''}}</span>元
104
+          </div>
105
+          <span :class="order_status == '未收费' ? 'statusRed' : ''">{{order_status}}</span>
101
 
106
 
102
         </div>
107
         </div>
103
       </div>
108
       </div>
106
           <p :class="rightTab == 1 ? 'activeP' : ''" @click="clickTab(1)">药品</p>
111
           <p :class="rightTab == 1 ? 'activeP' : ''" @click="clickTab(1)">药品</p>
107
           <p :class="rightTab == 2 ? 'activeP' : ''" @click="clickTab(2)">项目</p>
112
           <p :class="rightTab == 2 ? 'activeP' : ''" @click="clickTab(2)">项目</p>
108
         </div> -->
113
         </div> -->
109
-        <el-tabs class="borderCard" type="border-card" v-model="rightTab" @tab-click="clickTab">
114
+        <el-tabs class="borderCard" type="border-card" v-model="rightTab" @tab-click="clickTab" :before-leave='beforeLeave'>
110
               <el-tab-pane label="药品" :name="1">
115
               <el-tab-pane label="药品" :name="1">
111
 
116
 
112
               </el-tab-pane>
117
               </el-tab-pane>
132
                           </el-option>
137
                           </el-option>
133
                         </el-select>
138
                         </el-select>
134
                       </div>
139
                       </div>
135
-                      <div style="width: 100%;flex:1;overflow-y: auto;">
136
-                        <el-table ref="multipleTable" :data="drugs" border @select='selectDrugs'
140
+                      <div style="width: 100%;flex:1;overflow: hidden;" ref="rightTable">
141
+                        <el-table ref="multipleTable" :height="multipleTableHeight != '' ? multipleTableHeight : '200'" :data="drugs" border @select='selectDrugs'
137
                                   :row-style="{ color: '#303133' }"
142
                                   :row-style="{ color: '#303133' }"
138
                                   @select-all="changeAllGoodInfoTableData"
143
                                   @select-all="changeAllGoodInfoTableData"
139
                                   :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
144
                                   :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
140
                                   highlight-current-row>
145
                                   highlight-current-row>
141
                           <el-table-column type="selection" width="40" align="center"></el-table-column>
146
                           <el-table-column type="selection" width="40" align="center"></el-table-column>
142
-                          <el-table-column prop="name" label="名称">
147
+                          <el-table-column label="名称">
143
                             <template slot-scope="scope">{{ scope.row.drug_name }}</template>
148
                             <template slot-scope="scope">{{ scope.row.drug_name }}</template>
144
                           </el-table-column>
149
                           </el-table-column>
145
                           <el-table-column label="规格" width="60">
150
                           <el-table-column label="规格" width="60">
173
                         </el-select>
178
                         </el-select>
174
                       </div>
179
                       </div>
175
                       <div style="width: 100%;flex:1;overflow-y: auto;">
180
                       <div style="width: 100%;flex:1;overflow-y: auto;">
176
-                        <el-table ref="multipleTableTwo" :data="advices_template" border
181
+                        <el-table ref="multipleTableTwo" :height="multipleTableHeight != '' ? multipleTableHeight : '200'" :data="advices_template" border
177
                                   :row-style="{ color: '#303133' }"
182
                                   :row-style="{ color: '#303133' }"
178
                                   :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
183
                                   :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
179
                                   highlight-current-row>
184
                                   highlight-current-row>
199
                 <el-tabs class="rightTabs" v-model="activeName">
204
                 <el-tabs class="rightTabs" v-model="activeName">
200
                   <el-tab-pane label="项目列表" name="1">
205
                   <el-tab-pane label="项目列表" name="1">
201
                     <div style="width: 100%;flex:1;overflow-y: auto;">
206
                     <div style="width: 100%;flex:1;overflow-y: auto;">
202
-                      <el-table ref="tables" :data="tabProject" border @select='selectChange'
207
+                      <el-table ref="tables" :height="multipleTableHeight != '' ? multipleTableHeight : '200'" :data="tabProject" border @select='selectChange'
203
                                 :row-style="{ color: '#303133' }"
208
                                 :row-style="{ color: '#303133' }"
204
                                 @select-all="changeAllGoodInfoTableDataTwo"
209
                                 @select-all="changeAllGoodInfoTableDataTwo"
205
                                 :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
210
                                 :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
219
                   </el-tab-pane>
224
                   </el-tab-pane>
220
                   <el-tab-pane label="项目组套" name="2">
225
                   <el-tab-pane label="项目组套" name="2">
221
                     <div style="width: 100%;flex:1;overflow-y: auto;">
226
                     <div style="width: 100%;flex:1;overflow-y: auto;">
222
-                      <el-table :data="tabPrjectTeam" border
227
+                      <el-table :data="tabPrjectTeam" border :height="multipleTableHeight != '' ? multipleTableHeight : '200'"
223
                                 :row-style="{ color: '#303133' }"
228
                                 :row-style="{ color: '#303133' }"
224
                                 :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
229
                                 :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
225
                                 highlight-current-row
230
                                 highlight-current-row
255
                 </el-option>
260
                 </el-option>
256
               </el-select>
261
               </el-select>
257
             </div> -->
262
             </div> -->
258
-            <el-button type="primary" size="small" style="width:100%;" @click="comfirm">确定添加</el-button>
263
+            <el-button type="primary" style="width:100%;" @click="comfirm">确定添加</el-button>
259
           </div>
264
           </div>
260
         </template>
265
         </template>
261
       </div>
266
       </div>
312
     },
317
     },
313
     data() {
318
     data() {
314
       return {
319
       return {
320
+        multipleTableHeight:'',
315
         register_type: '',
321
         register_type: '',
316
         value: '0',
322
         value: '0',
317
         form: {
323
         form: {
886
         })
892
         })
887
 
893
 
888
       },
894
       },
895
+      beforeLeave(activeName, oldActiveName){
896
+        let index = activeName
897
+        if (index == 1) {
898
+          if (this.curPrescriptions.advices.length == 0 && this.curPrescriptions.project.length > 0) {
899
+            return false
900
+          }
901
+        } else {
902
+          if (this.curPrescriptions.advices.length > 0 && this.curPrescriptions.project.length == 0) {
903
+            return false
904
+          }
905
+
906
+        }
907
+      },
889
       clickTab(tab) {
908
       clickTab(tab) {
890
         let index = parseInt(tab.name)
909
         let index = parseInt(tab.name)
891
         if (index == 1) {
910
         if (index == 1) {
1150
       this.getlist()
1169
       this.getlist()
1151
       //获取所以项目组套
1170
       //获取所以项目组套
1152
       this.getAllProjectTeam()
1171
       this.getAllProjectTeam()
1153
-
1154
-
1172
+      this.$nextTick(() => {
1173
+        this.multipleTableHeight = parseInt(this.$refs.rightTable.offsetHeight)
1174
+      })
1175
+      
1155
     },
1176
     },
1177
+    watch: {
1178
+      fullHeight (val) {
1179
+        if(!this.timer) {
1180
+          this.fullHeight = val
1181
+          let tableHeight = val - 263
1182
+          this.tableHeight = tableHeight
1183
+          this.multipleTableHeight = parseInt(this.$refs.rightTable.offsetHeight)
1184
+          this.timer = true
1185
+          let that = this
1186
+          setTimeout(function (){
1187
+            that.timer = false
1188
+          },400)
1189
+        }
1190
+      }
1191
+    }
1156
   }
1192
   }
1157
 </script>
1193
 </script>
1158
 
1194
 
1178
     height: 100%;
1214
     height: 100%;
1179
     display: flex;
1215
     display: flex;
1180
     flex-direction: column;
1216
     flex-direction: column;
1217
+    margin-top: 2px;
1181
 
1218
 
1182
   .el-radio {
1219
   .el-radio {
1183
     margin-right: 5px;
1220
     margin-right: 5px;
1263
     bottom: 0;
1300
     bottom: 0;
1264
     display: flex;
1301
     display: flex;
1265
     align-items: center;
1302
     align-items: center;
1303
+    justify-content: space-between;
1304
+  }
1305
+  .statusRed{
1306
+    color:red;
1266
   }
1307
   }
1267
 
1308
 
1268
   .addTab {
1309
   .addTab {
1269
     position: absolute;
1310
     position: absolute;
1270
-    right: 3px;
1311
+    right: 8px;
1271
     top: 3px;
1312
     top: 3px;
1272
     z-index: 20;
1313
     z-index: 20;
1273
   }
1314
   }
1320
     display: flex;
1361
     display: flex;
1321
     align-items: center;
1362
     align-items: center;
1322
     justify-content: space-between;
1363
     justify-content: space-between;
1364
+    z-index: 99;
1323
   }
1365
   }
1324
   .borderCard{
1366
   .borderCard{
1325
     height: 100%;
1367
     height: 100%;
1427
   }
1469
   }
1428
 
1470
 
1429
   }
1471
   }
1472
+  ::-webkit-scrollbar{
1473
+    height:15px;
1474
+  }
1430
 </style>
1475
 </style>

+ 33 - 17
src/xt_pages/outpatientDoctorStation/components/deskRecord.vue Zobrazit soubor

1
 <template>
1
 <template>
2
-  <div class="deskRecord" style="margin-top:54px;">
2
+  <div class="deskRecord" style="margin-top:56px;">
3
     <!-- <div style="overflow:hidden;border-top:1px solid #e5e5e5;margin-top:5px;">
3
     <!-- <div style="overflow:hidden;border-top:1px solid #e5e5e5;margin-top:5px;">
4
       <div class="mainCell" style="margin-bottom:10px;float:right">
4
       <div class="mainCell" style="margin-bottom:10px;float:right">
5
         <el-button size="small" @click="open(1)" type="primary" style="margin-left:10px;">保存</el-button>
5
         <el-button size="small" @click="open(1)" type="primary" style="margin-left:10px;">保存</el-button>
14
         <el-input v-model="patientInfo.name" placeholder="" readonly></el-input>
14
         <el-input v-model="patientInfo.name" placeholder="" readonly></el-input>
15
       </el-form-item>
15
       </el-form-item>
16
       <el-form-item label="性别: " prop="name">
16
       <el-form-item label="性别: " prop="name">
17
-        <div v-if="patientInfo.gender == 1">男</div>
18
-        <div v-if="patientInfo.gender == 2">女</div>
17
+        <el-input v-model="patientInfo.gender" placeholder="" readonly></el-input>
19
       </el-form-item>
18
       </el-form-item>
20
       <el-form-item label="年龄: " prop="name">
19
       <el-form-item label="年龄: " prop="name">
21
         <el-input v-model="patientInfo.age" placeholder="" readonly></el-input>
20
         <el-input v-model="patientInfo.age" placeholder="" readonly></el-input>
151
         </el-input>
150
         </el-input>
152
       </el-form-item>
151
       </el-form-item>
153
     </el-form>
152
     </el-form>
154
-   
153
+
155
   </div>
154
   </div>
156
 </template>
155
 </template>
157
 
156
 
258
             "doctor_advice":this.doctor_advice,
257
             "doctor_advice":this.doctor_advice,
259
             "remark":this.remark
258
             "remark":this.remark
260
           }
259
           }
261
-        
260
+
262
           createCaseHistory(params).then(response => {
261
           createCaseHistory(params).then(response => {
263
             if (response.data.state == 0) {
262
             if (response.data.state == 0) {
264
               this.$message.error("患者病历已存在")
263
               this.$message.error("患者病历已存在")
271
               this.remark = ""
270
               this.remark = ""
272
             }
271
             }
273
           })
272
           })
274
-       
273
+
275
 
274
 
276
       },
275
       },
277
-    
276
+
278
 
277
 
279
       getTemplateDetail(id){
278
       getTemplateDetail(id){
280
           console.log("22222")
279
           console.log("22222")
281
           getTemplateDetail(id).then(response=>{
280
           getTemplateDetail(id).then(response=>{
282
-              if(response.data.state == 1){  
281
+              if(response.data.state == 1){
283
                 var templatedetail =  response.data.data.templateDetail
282
                 var templatedetail =  response.data.data.templateDetail
284
                 console.log("templatedetail",templatedetail)
283
                 console.log("templatedetail",templatedetail)
285
-            
286
-                this.case_history.chief_conplaint =  templatedetail.chief_conplaint 
287
-                this.case_history.history_of_present_illness =  templatedetail.history_of_present_illness 
288
-                this.case_history.past_history =  templatedetail.past_history 
289
-                this.case_history.personal_history =    templatedetail.personal_history 
290
-                this.case_history.family_history = templatedetail.family_history 
291
-                this.case_history.diagnostic = templatedetail.diagnostic 
292
-               
284
+
285
+                this.case_history.chief_conplaint =  templatedetail.chief_conplaint
286
+                this.case_history.history_of_present_illness =  templatedetail.history_of_present_illness
287
+                this.case_history.past_history =  templatedetail.past_history
288
+                this.case_history.personal_history =    templatedetail.personal_history
289
+                this.case_history.family_history = templatedetail.family_history
290
+                this.case_history.diagnostic = templatedetail.diagnostic
291
+
293
               }
292
               }
294
           })
293
           })
295
         },
294
         },
297
     created(){
296
     created(){
298
        this.wayOptions = getDataConfig("patient", "reimbursement_ways");
297
        this.wayOptions = getDataConfig("patient", "reimbursement_ways");
299
        console.log("232322323",this)
298
        console.log("232322323",this)
300
-       
299
+       if(this.patientInfo.gender = 1){
300
+         this.patientInfo.gender = '男'
301
+       }else if(this.patientInfo.gender = 2){
302
+          this.patientInfo.gender = '女'
303
+        }
304
+
301
     },
305
     },
302
     watch:{
306
     watch:{
303
       detalid:function(val){
307
       detalid:function(val){
304
         this.getTemplateDetail(val)
308
         this.getTemplateDetail(val)
305
       },
309
       },
310
+      'patientInfo.gender':{
311
+        handler(newName, oldName){
312
+          console.log('newName',newName)
313
+          if(newName == 1){
314
+            this.patientInfo.gender = '男'
315
+          }else if(newName == 2){
316
+            this.patientInfo.gender = '女'
317
+          }
318
+        },
319
+        immediate: true,
320
+        deep: true
321
+      },
306
       case_history:function(val){
322
       case_history:function(val){
307
         console.log("val",val)
323
         console.log("val",val)
308
         if(val.breathing == 0){
324
         if(val.breathing == 0){

+ 8 - 14
src/xt_pages/outpatientDoctorStation/components/newPrescriptionTable.vue Zobrazit soubor

1
 <template>
1
 <template>
2
   <div class="prescriptionTable">
2
   <div class="prescriptionTable">
3
-    <el-table v-if="prescription.type == 1" :data="prescription.advices" border style="width: 99%;"
3
+    <el-table v-if="prescription.type == 1" :data="prescription.advices" border style="width: 100%;"
4
               :row-style="{ color: '#303133' }"
4
               :row-style="{ color: '#303133' }"
5
               :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
5
               :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
6
       <el-table-column align="center" prop="name" label="名称">
6
       <el-table-column align="center" prop="name" label="名称">
7
         <template slot-scope="scope">{{ scope.row.drug_name }}</template>
7
         <template slot-scope="scope">{{ scope.row.drug_name }}</template>
8
       </el-table-column>
8
       </el-table-column>
9
 
9
 
10
-      <el-table-column align="center" prop="name" width="50" :label="'单次\n用量'">
10
+      <el-table-column align="center" prop="name" width="100" label="单次用量">
11
         <template slot-scope="scope">
11
         <template slot-scope="scope">
12
-          <el-input v-model="scope.row.single_dose" readonly></el-input>
13
-          <div> {{scope.row.single_dose_unit}}</div>
12
+          <div>{{ scope.row.single_dose }} &nbsp;&nbsp; {{scope.row.single_dose_unit}}</div>
14
         </template>
13
         </template>
15
       </el-table-column>
14
       </el-table-column>
16
-      <el-table-column align="center" prop="name" width="50" label="用法">
15
+      <el-table-column align="center" prop="name" width="90" label="用法">
17
         <template slot-scope="scope">
16
         <template slot-scope="scope">
18
           <!--<el-input v-model="scope.row.delivery_way" readonly></el-input>-->
17
           <!--<el-input v-model="scope.row.delivery_way" readonly></el-input>-->
19
           <div> {{scope.row.delivery_way}}</div>
18
           <div> {{scope.row.delivery_way}}</div>
21
 
20
 
22
         </template>
21
         </template>
23
       </el-table-column>
22
       </el-table-column>
24
-      <el-table-column align="center" prop="name" width="50" label="频率">
23
+      <el-table-column align="center" prop="name" width="90" label="频率">
25
         <template slot-scope="scope">
24
         <template slot-scope="scope">
26
           <!--<el-input v-model="scope.row.execution_frequency" readonly></el-input>-->
25
           <!--<el-input v-model="scope.row.execution_frequency" readonly></el-input>-->
27
           <div> {{scope.row.execution_frequency}}</div>
26
           <div> {{scope.row.execution_frequency}}</div>
31
 
30
 
32
       <el-table-column align="center" prop="name" width="100" label="总量">
31
       <el-table-column align="center" prop="name" width="100" label="总量">
33
         <template slot-scope="scope">
32
         <template slot-scope="scope">
34
-          <div style="display:flex;">
35
-            <!--<el-input v-model="scope.row.prescribing_number" style="width:50%" readonly placeholder=""></el-input>-->
36
-            <div> {{scope.row.prescribing_number}}</div>
37
-
38
-            <div>{{scope.row.prescribing_number_unit}}</div>
39
-          </div>
33
+          <div>{{scope.row.prescribing_number}} {{scope.row.prescribing_number_unit}}</div>
40
         </template>
34
         </template>
41
       </el-table-column>
35
       </el-table-column>
42
-      <el-table-column align="center" prop="name" width="50" label="单价">
36
+      <el-table-column align="center" prop="name" width="80" label="单价">
43
         <template slot-scope="scope">
37
         <template slot-scope="scope">
44
           <div> {{scope.row.retail_price}}</div>
38
           <div> {{scope.row.retail_price}}</div>
45
 
39
 
46
           <!--<el-input v-model="scope.row.retail_price" placeholder="" readonly></el-input>-->
40
           <!--<el-input v-model="scope.row.retail_price" placeholder="" readonly></el-input>-->
47
         </template>
41
         </template>
48
       </el-table-column>
42
       </el-table-column>
49
-      <el-table-column align="center" prop="name" width="50" label="备注">
43
+      <el-table-column align="center" prop="name" width="80" label="备注">
50
         <template slot-scope="scope">
44
         <template slot-scope="scope">
51
           <!--<el-input v-model="scope.row.remark" style="width:50%" placeholder="" readonly></el-input>-->
45
           <!--<el-input v-model="scope.row.remark" style="width:50%" placeholder="" readonly></el-input>-->
52
           <div> {{scope.row.remark}}</div>
46
           <div> {{scope.row.remark}}</div>

+ 3 - 3
src/xt_pages/outpatientDoctorStation/components/prescriptionTable.vue Zobrazit soubor

101
           <el-input v-model="scope.row.number_days" placeholder=""></el-input>
101
           <el-input v-model="scope.row.number_days" placeholder=""></el-input>
102
         </template>
102
         </template>
103
       </el-table-column>
103
       </el-table-column>
104
-      <el-table-column align="center" prop="total" width="50" label="总量">
104
+      <el-table-column align="center" prop="total" width="70" label="总量">
105
         <template slot-scope="scope">
105
         <template slot-scope="scope">
106
-          <div style="display:flex;">
107
-            <el-input v-model="scope.row.total" style="width:50" placeholder=""></el-input>
106
+          <div style="display:flex;align-items:center;">
107
+            <el-input v-model="scope.row.total" style="width:60%" placeholder=""></el-input>
108
             <div>{{scope.row.unit}}</div>
108
             <div>{{scope.row.unit}}</div>
109
 
109
 
110
           </div>
110
           </div>

+ 13 - 5
src/xt_pages/outpatientDoctorStation/doctorDesk.vue Zobrazit soubor

45
             <el-tab-pane label="电子病历" name="电子病历"></el-tab-pane>
45
             <el-tab-pane label="电子病历" name="电子病历"></el-tab-pane>
46
           </el-tabs>
46
           </el-tabs>
47
           <div class="mainCell fixedCell" style="float:right" v-if="titleType == '电子处方'">
47
           <div class="mainCell fixedCell" style="float:right" v-if="titleType == '电子处方'">
48
-            <el-button size="small" ref="button_one"   @click="open(1)" type="primary">保存</el-button>
48
+            <el-button size="small" ref="button_one" @click="open(1)" type="primary">保存</el-button>
49
             <el-popover
49
             <el-popover
50
               placement="bottom"
50
               placement="bottom"
51
               width="200"
51
               width="200"
52
               trigger="click">
52
               trigger="click">
53
-              <el-button size="small" ref="button_two"   @click="open(2)" type="primary">处方单</el-button>
54
-              <el-button size="small" ref="button_six"   @click="open(6)" type="primary">治疗单</el-button>
53
+              <el-button size="small" ref="button_two"   @click="open(2)">处方单</el-button>
54
+              <el-button size="small" ref="button_six"   @click="open(6)">治疗单</el-button>
55
               <el-button slot="reference" style="margin:0 10px;" type="primary" size="small">打印</el-button>
55
               <el-button slot="reference" style="margin:0 10px;" type="primary" size="small">打印</el-button>
56
             </el-popover>
56
             </el-popover>
57
             <el-button size="small" ref="button_three" @click="open(4)" type="primary">选择模板</el-button>
57
             <el-button size="small" ref="button_three" @click="open(4)" type="primary">选择模板</el-button>
58
-            <el-button size="small" ref="button_four"  @click="open(5)" type="primary">存模板</el-button>
58
+            <el-button size="small" ref="button_four"  @click="open(5)" type="primary" :disabled='prescriptions && prescriptions[0].advices && prescriptions[0].project ? prescriptions[0].advices.length == 0 && prescriptions[0].project.length == 0 : false'>存模板</el-button>
59
           </div>
59
           </div>
60
           <div class="mainCell fixedCell" style="float:right" v-if="titleType == '电子病历'">
60
           <div class="mainCell fixedCell" style="float:right" v-if="titleType == '电子病历'">
61
             <el-button size="small" @click="opentwo(1)" type="primary">保存</el-button>
61
             <el-button size="small" @click="opentwo(1)" type="primary">保存</el-button>
753
 
753
 
754
   }
754
   }
755
   .preTabs {
755
   .preTabs {
756
-    height: 100%;
756
+      height: 100%;
757
+      display: flex;
758
+      flex-direction: column;
759
+
760
+    .el-tabs__content {
761
+      flex: 1;
762
+      overflow-y: auto;
763
+    }
764
+
757
   }
765
   }
758
 
766
 
759
   .costBox {
767
   .costBox {

+ 3 - 3
src/xt_pages/outpatientDoctorStation/pastInquiries.vue Zobrazit soubor

19
                 :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
19
                 :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
20
         <el-table-column align="center" label="序号" width="60" type="index"></el-table-column>
20
         <el-table-column align="center" label="序号" width="60" type="index"></el-table-column>
21
         <el-table-column align="center" prop="name" label="姓名" width="100">
21
         <el-table-column align="center" prop="name" label="姓名" width="100">
22
-          <template slot-scope="scope">{{ scope.row.patients.name }}</template>
22
+          <template slot-scope="scope">{{ scope.row.patient   .name }}</template>
23
         </el-table-column>
23
         </el-table-column>
24
-        <el-table-column align="center" prop="name" label="处方日期" width="110">
24
+        <el-table-column align="center" prop="name" label="处方日期" width="200">
25
           <template slot-scope="scope"> {{getTimes(scope.row.info.ctime)}}</template>
25
           <template slot-scope="scope"> {{getTimes(scope.row.info.ctime)}}</template>
26
 
26
 
27
         </el-table-column>
27
         </el-table-column>
37
         <el-table-column align="center" prop="name" label="诊断">
37
         <el-table-column align="center" prop="name" label="诊断">
38
           <template slot-scope="scope">{{ scope.row.info.diagnosis }}</template>
38
           <template slot-scope="scope">{{ scope.row.info.diagnosis }}</template>
39
         </el-table-column>
39
         </el-table-column>
40
-        <el-table-column align="center" prop="name" label="状态">
40
+        <el-table-column align="center" prop="name" label="状态" width="100">
41
           <template slot-scope="scope">
41
           <template slot-scope="scope">
42
             <div v-if=" scope.row.info.id == 0">未就诊</div>
42
             <div v-if=" scope.row.info.id == 0">未就诊</div>
43
             <div v-if=" scope.row.info.id > 0">已就诊</div>
43
             <div v-if=" scope.row.info.id > 0">已就诊</div>

+ 3 - 3
src/xt_pages/outpatientRegistration/index.vue Zobrazit soubor

39
                         <el-date-picker v-model="form.birthday" type="date" @change="getBirthday" placeholder="选择日期"></el-date-picker>
39
                         <el-date-picker v-model="form.birthday" type="date" @change="getBirthday" placeholder="选择日期"></el-date-picker>
40
                     </el-form-item>
40
                     </el-form-item>
41
 
41
 
42
-                    <el-form-item label="手机号码" prop="phone">
42
+                    <el-form-item label="手机号码" prop="phone">
43
                         <el-input v-model="form.phone"></el-input>
43
                         <el-input v-model="form.phone"></el-input>
44
                     </el-form-item>
44
                     </el-form-item>
45
 
45
 
90
                     </el-form-item>
90
                     </el-form-item>
91
 
91
 
92
 
92
 
93
-                   <el-form-item label="社保类型:">
93
+                   <el-form-item label="社保类型">
94
                         <el-select v-model="form.social_type" placeholder="请选择">
94
                         <el-select v-model="form.social_type" placeholder="请选择">
95
                             <!-- <el-option
95
                             <!-- <el-option
96
                             v-for="(item,index) in getDictionaryDataConfig('system','social_type')"
96
                             v-for="(item,index) in getDictionaryDataConfig('system','social_type')"
602
         width: 33%;
602
         width: 33%;
603
     }
603
     }
604
     .specialFormItem{
604
     .specialFormItem{
605
-        width:67%;
605
+        width:66.5%;
606
         .el-input{
606
         .el-input{
607
             min-width: 150px;
607
             min-width: 150px;
608
         }
608
         }