Parcourir la source

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

csx il y a 4 ans
Parent
révision
e8ab7ca3aa
43 fichiers modifiés avec 5721 ajouts et 550 suppressions
  1. 2 2
      config/dev.env.js
  2. 30 11
      package-lock.json
  3. 163 0
      src/api/project/project.js
  4. 1 0
      src/lang/zh.js
  5. 2 0
      src/router/index.js
  6. 18 0
      src/router/modules/DepartManage.js
  7. 8 0
      src/router/modules/outpatientCharges.js
  8. 8 0
      src/router/modules/outpatientDoctorStation.js
  9. 1 1
      src/views/layout/Layout.vue
  10. 1 1
      src/views/layout/components/Sidebar/index.vue
  11. 3 2
      src/xt_pages/data/components/addConfigure.vue
  12. 3 2
      src/xt_pages/data/components/addDrugs.vue
  13. 80 47
      src/xt_pages/data/components/addInspection.vue
  14. 194 110
      src/xt_pages/data/components/addProject.vue
  15. 1 0
      src/xt_pages/data/components/drugs.vue
  16. 161 0
      src/xt_pages/data/components/editInspection.vue
  17. 354 0
      src/xt_pages/data/components/editProject.vue
  18. 99 27
      src/xt_pages/data/components/inspection.vue
  19. 126 30
      src/xt_pages/data/components/project.vue
  20. 1 1
      src/xt_pages/data/components/selfPayment.vue
  21. 7 7
      src/xt_pages/data/specialDictionary.vue
  22. 3 1
      src/xt_pages/dialysis/details/index.vue
  23. 88 0
      src/xt_pages/outpatientCharges/components/additionalCharges.vue
  24. 148 0
      src/xt_pages/outpatientCharges/components/prescriptionTable.vue
  25. 342 24
      src/xt_pages/outpatientCharges/outpatientChargesManagement.vue
  26. 6 1
      src/xt_pages/outpatientCharges/summary.vue
  27. 230 0
      src/xt_pages/outpatientCharges/summaryDetail.vue
  28. 57 0
      src/xt_pages/outpatientDoctorStation/components/additionalCharges.vue
  29. 572 0
      src/xt_pages/outpatientDoctorStation/components/deskPrescription.vue
  30. 245 0
      src/xt_pages/outpatientDoctorStation/components/deskRecord.vue
  31. 80 35
      src/xt_pages/outpatientDoctorStation/components/inquiriesDetail.vue
  32. 124 97
      src/xt_pages/outpatientDoctorStation/components/medicalRecord.vue
  33. 148 0
      src/xt_pages/outpatientDoctorStation/components/prescriptionTable.vue
  34. 105 0
      src/xt_pages/outpatientDoctorStation/components/recordHistoryDetail.vue
  35. 143 0
      src/xt_pages/outpatientDoctorStation/components/recordTemplateDetail.vue
  36. 77 0
      src/xt_pages/outpatientDoctorStation/components/saveRecordTemplate.vue
  37. 22 6
      src/xt_pages/outpatientDoctorStation/components/saveTemplate.vue
  38. 11 8
      src/xt_pages/outpatientDoctorStation/components/selectTemplate.vue
  39. 237 120
      src/xt_pages/outpatientDoctorStation/doctorDesk.vue
  40. 1 1
      src/xt_pages/outpatientDoctorStation/pastInquiries.vue
  41. 1470 0
      src/xt_pages/outpatientDoctorStation/print.vue
  42. 37 16
      src/xt_pages/outpatientRegistration/index.vue
  43. 312 0
      src/xt_pages/role/departManage.vue

+ 2 - 2
config/dev.env.js Voir le fichier

@@ -6,8 +6,8 @@
6 6
 module.exports = {
7 7
   NODE_ENV: '"development"',
8 8
   ENV_CONFIG: '"dev"',
9
-  BASE_API: '"http://new_mobile.xt.api.sgjyun.com"', // //http://api.xt.test.sgjyun.com http://112.74.16.180:9527,////'"http://localhost:9529"',
10
-  // BASE_API: '"http://api.xt.test.sgjyun.com"',
9
+  // BASE_API: '"http://new_mobile.xt.api.sgjyun.com"', // //http://api.xt.test.sgjyun.com http://112.74.16.180:9527,////'"http://localhost:9529"',
10
+  BASE_API: '"http://api.xt.test.sgjyun.com"',
11 11
   // BASE_API: '"http://localhost:9531"',
12 12
   SSO_HOST: '"http://testsso.sgjyun.com"',
13 13
   SRCM_HOST: '"http://test1.sgjyun.com"',

+ 30 - 11
package-lock.json Voir le fichier

@@ -4740,7 +4740,8 @@
4740 4740
         "ansi-regex": {
4741 4741
           "version": "2.1.1",
4742 4742
           "bundled": true,
4743
-          "dev": true
4743
+          "dev": true,
4744
+          "optional": true
4744 4745
         },
4745 4746
         "aproba": {
4746 4747
           "version": "1.2.0",
@@ -4763,13 +4764,15 @@
4763 4764
         "balanced-match": {
4764 4765
           "version": "1.0.0",
4765 4766
           "bundled": true,
4766
-          "dev": true
4767
+          "dev": true,
4768
+          "optional": true
4767 4769
         },
4768 4770
         "brace-expansion": {
4769 4771
           "version": "1.1.11",
4770 4772
           "resolved": false,
4771 4773
           "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
4772 4774
           "dev": true,
4775
+          "optional": true,
4773 4776
           "requires": {
4774 4777
             "balanced-match": "^1.0.0",
4775 4778
             "concat-map": "0.0.1"
@@ -4785,19 +4788,22 @@
4785 4788
         "code-point-at": {
4786 4789
           "version": "1.1.0",
4787 4790
           "bundled": true,
4788
-          "dev": true
4791
+          "dev": true,
4792
+          "optional": true
4789 4793
         },
4790 4794
         "concat-map": {
4791 4795
           "version": "0.0.1",
4792 4796
           "resolved": false,
4793 4797
           "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
4794
-          "dev": true
4798
+          "dev": true,
4799
+          "optional": true
4795 4800
         },
4796 4801
         "console-control-strings": {
4797 4802
           "version": "1.1.0",
4798 4803
           "resolved": false,
4799 4804
           "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
4800
-          "dev": true
4805
+          "dev": true,
4806
+          "optional": true
4801 4807
         },
4802 4808
         "core-util-is": {
4803 4809
           "version": "1.0.2",
@@ -4927,7 +4933,8 @@
4927 4933
         "inherits": {
4928 4934
           "version": "2.0.3",
4929 4935
           "bundled": true,
4930
-          "dev": true
4936
+          "dev": true,
4937
+          "optional": true
4931 4938
         },
4932 4939
         "ini": {
4933 4940
           "version": "1.3.5",
@@ -4941,6 +4948,7 @@
4941 4948
           "resolved": false,
4942 4949
           "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
4943 4950
           "dev": true,
4951
+          "optional": true,
4944 4952
           "requires": {
4945 4953
             "number-is-nan": "^1.0.0"
4946 4954
           }
@@ -4957,6 +4965,7 @@
4957 4965
           "resolved": false,
4958 4966
           "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
4959 4967
           "dev": true,
4968
+          "optional": true,
4960 4969
           "requires": {
4961 4970
             "brace-expansion": "^1.1.7"
4962 4971
           }
@@ -4964,13 +4973,15 @@
4964 4973
         "minimist": {
4965 4974
           "version": "0.0.8",
4966 4975
           "bundled": true,
4967
-          "dev": true
4976
+          "dev": true,
4977
+          "optional": true
4968 4978
         },
4969 4979
         "minipass": {
4970 4980
           "version": "2.3.5",
4971 4981
           "resolved": false,
4972 4982
           "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==",
4973 4983
           "dev": true,
4984
+          "optional": true,
4974 4985
           "requires": {
4975 4986
             "safe-buffer": "^5.1.2",
4976 4987
             "yallist": "^3.0.0"
@@ -4991,6 +5002,7 @@
4991 5002
           "resolved": false,
4992 5003
           "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
4993 5004
           "dev": true,
5005
+          "optional": true,
4994 5006
           "requires": {
4995 5007
             "minimist": "0.0.8"
4996 5008
           }
@@ -5078,7 +5090,8 @@
5078 5090
         "number-is-nan": {
5079 5091
           "version": "1.0.1",
5080 5092
           "bundled": true,
5081
-          "dev": true
5093
+          "dev": true,
5094
+          "optional": true
5082 5095
         },
5083 5096
         "object-assign": {
5084 5097
           "version": "4.1.1",
@@ -5092,6 +5105,7 @@
5092 5105
           "resolved": false,
5093 5106
           "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
5094 5107
           "dev": true,
5108
+          "optional": true,
5095 5109
           "requires": {
5096 5110
             "wrappy": "1"
5097 5111
           }
@@ -5186,7 +5200,8 @@
5186 5200
         "safe-buffer": {
5187 5201
           "version": "5.1.2",
5188 5202
           "bundled": true,
5189
-          "dev": true
5203
+          "dev": true,
5204
+          "optional": true
5190 5205
         },
5191 5206
         "safer-buffer": {
5192 5207
           "version": "2.1.2",
@@ -5228,6 +5243,7 @@
5228 5243
           "resolved": false,
5229 5244
           "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
5230 5245
           "dev": true,
5246
+          "optional": true,
5231 5247
           "requires": {
5232 5248
             "code-point-at": "^1.0.0",
5233 5249
             "is-fullwidth-code-point": "^1.0.0",
@@ -5249,6 +5265,7 @@
5249 5265
           "resolved": false,
5250 5266
           "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
5251 5267
           "dev": true,
5268
+          "optional": true,
5252 5269
           "requires": {
5253 5270
             "ansi-regex": "^2.0.0"
5254 5271
           }
@@ -5296,13 +5313,15 @@
5296 5313
         "wrappy": {
5297 5314
           "version": "1.0.2",
5298 5315
           "bundled": true,
5299
-          "dev": true
5316
+          "dev": true,
5317
+          "optional": true
5300 5318
         },
5301 5319
         "yallist": {
5302 5320
           "version": "3.0.3",
5303 5321
           "resolved": false,
5304 5322
           "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==",
5305
-          "dev": true
5323
+          "dev": true,
5324
+          "optional": true
5306 5325
         }
5307 5326
       }
5308 5327
     },

+ 163 - 0
src/api/project/project.js Voir le fichier

@@ -0,0 +1,163 @@
1
+import request from "@/utils/request";
2
+
3
+export function saveProject(params){
4
+
5
+    return request({
6
+        url:"/api/his/saveproject",
7
+        methods:"get",
8
+        params:params,
9
+    })
10
+}
11
+
12
+
13
+export function getProjectList(params){
14
+   
15
+    return request({
16
+       url:"/api/his/getprojectlist",
17
+       methods:"get",
18
+       params:params
19
+    })
20
+}
21
+
22
+export function getProjectDetail(id,params){
23
+  
24
+    return request({
25
+       url:"/api/his/getprojectdetail?id="+id,
26
+       methods:"get",
27
+       params:params
28
+    })
29
+}
30
+
31
+export function updatedProject(params){
32
+   
33
+   return request({
34
+      url:"/api/his/updatedproject",
35
+      methods:"get",
36
+      params:params
37
+   })
38
+}
39
+
40
+export function deleteHisProject(id,params){
41
+   
42
+    return request({
43
+      url:"/api/his/deletehisproject?id="+id,
44
+      methods:"get",
45
+      params:params
46
+    })
47
+}
48
+
49
+export function saveProjectTeam(params){
50
+  
51
+   return request({
52
+     url:"/api/his/saveprojectteam",
53
+     methods:"Get",
54
+     params:params
55
+   })
56
+}
57
+
58
+export function getProjectTeamList(params){
59
+  
60
+    return request({
61
+       url:"/api/his/getprojectteamlist",
62
+       methods:"get",
63
+       params:params
64
+    })
65
+}
66
+
67
+export function getProjectTeamDetail(id,params){
68
+   
69
+    return request({
70
+       url:"/api/his/getprojectteamdetail?id="+id,
71
+       methods:"get",
72
+       params:params
73
+    })
74
+}
75
+
76
+export function updatedProjectTeam(params){
77
+  
78
+    return request({
79
+       url:"/api/his/updateprojectteam",
80
+       methods:"get",
81
+       params:params
82
+    })
83
+}
84
+
85
+export function DeleteProjectTeam(id,params){
86
+   
87
+  return request({
88
+      url:"/api/his/deleteprojectteam?id="+id,
89
+      methods:"get",
90
+      params:params
91
+  })
92
+}
93
+
94
+export function SaveDepartment(params){
95
+  
96
+    return request({
97
+       url:"/api/his/savedepartment",
98
+       methods:"get",
99
+       params:params
100
+    })
101
+}
102
+
103
+export function getDePartmentList(params){
104
+  
105
+    return request({
106
+       url:"/api/his/getdepartmentlist",
107
+       methods:"Get",
108
+       params:params
109
+    })
110
+}
111
+
112
+export function getDepartMentDetail(id,params){
113
+  
114
+    return request({
115
+        url:"/api/his/getdepartmentdetail?id="+id,
116
+        methods:"get",
117
+        params:params
118
+    })
119
+}
120
+
121
+export function UpdatedDepartment(params){
122
+   
123
+    return request({
124
+        url:"/api/his/updagtedepartment",
125
+        methods:"get",
126
+        params:params
127
+    })
128
+}
129
+
130
+export function DeleteDepartment(id,params){
131
+    return request({
132
+       url:"/api/his/deletedeparment?id="+id,
133
+       methods:"get",
134
+       params:params
135
+    })
136
+}
137
+
138
+
139
+export function getPatientList(params){
140
+   return request({
141
+       url:"/api/his/getbloodpatient",
142
+       methods:"get",
143
+       params:params
144
+   })
145
+}
146
+
147
+export function getHisPrescription(id,params){
148
+   
149
+    return request({
150
+       url:"/api/his/gethisprescription?id="+id,
151
+       methods:"get",
152
+       params:params
153
+    })
154
+}
155
+
156
+export function saveCharges(data){
157
+    
158
+    return request({
159
+       url:"/api/his/additionalcharge",
160
+       method:"post",
161
+       data:data
162
+    })
163
+}

+ 1 - 0
src/lang/zh.js Voir le fichier

@@ -230,6 +230,7 @@ export default {
230 230
     dictionaryManagement:'字典管理',
231 231
     templateManagement:'模板管理',
232 232
     drugStockUserDetail:"出库人明细",
233
+    DepartManage:"部门管理"
233 234
 
234 235
   },
235 236
   navbar: {

+ 2 - 0
src/router/index.js Voir le fichier

@@ -42,6 +42,7 @@ import dataPrint from './modules/dataPrint'
42 42
 import bedManagement from './modules/bedManagement'
43 43
 import dictionaryManagement from './modules/dictionaryManagement'
44 44
 import templateManagement from './modules/templateManagement'
45
+import DepartManage from './modules/DepartManage'
45 46
 
46 47
 Vue.use(Router)
47 48
 
@@ -151,6 +152,7 @@ var _asy_router_map = [
151 152
   shop,
152 153
   
153 154
   systems,
155
+  DepartManage,
154 156
   roleManage,
155 157
   bedManagement,
156 158
   dictionaryManagement,

+ 18 - 0
src/router/modules/DepartManage.js Voir le fichier

@@ -0,0 +1,18 @@
1
+import Layout from '@/views/layout/Layout'
2
+
3
+export default {
4
+    path: '/depart/manage',
5
+    component: Layout,
6
+    name:'DepartManage',
7
+    redirct: '/depart/manage',
8
+    children: [{
9
+        path: '/depart/manage',
10
+        component: () => import('@/xt_pages/role/departManage'),
11
+        name: 'DepartManage',
12
+        meta: {
13
+          title: 'DepartManage',
14
+          noCache: true,
15
+    
16
+        }
17
+    },]
18
+}

+ 8 - 0
src/router/modules/outpatientCharges.js Voir le fichier

@@ -42,5 +42,13 @@ export default {
42 42
         name: 'summary',
43 43
         meta: { title: 'summary', noCache: true }
44 44
     },
45
+    {
46
+        path: '/outpatientCharges/summaryDetail',
47
+        component: () => import('@/xt_pages/outpatientCharges/summaryDetail'),
48
+        hidden: true,
49
+        is_menu: false,
50
+        name: 'summaryDetail',
51
+        meta: { title: 'summaryDetail', noCache: true }
52
+    },
45 53
   ]
46 54
 }

+ 8 - 0
src/router/modules/outpatientDoctorStation.js Voir le fichier

@@ -30,5 +30,13 @@ export default {
30 30
         name: 'outpatientDoctorStationTemplateManagement',
31 31
         meta: { title: 'outpatientDoctorStationTemplateManagement', noCache: true }
32 32
     },
33
+    {
34
+        path: '/outpatientDoctorStation/print',
35
+        component: () => import('@/xt_pages/outpatientDoctorStation/print'),
36
+        hidden: true,
37
+        is_menu: false,
38
+        name: 'outpatientDoctorStationPrint',
39
+        meta: { title: 'outpatientDoctorStationPrint', noCache: true }
40
+    },
33 41
   ]
34 42
 }

+ 1 - 1
src/views/layout/Layout.vue Voir le fichier

@@ -127,7 +127,7 @@ export default {
127 127
     let bingli = ['User','createPatient']
128 128
     let touxi = ['home','workforce', 'dialysisrecord', 'dialysis', 'medicalScheduling', 'signIndex', 'qcd', 'device', 'quality_control']
129 129
     let kucun = ['stockManage','stockDrugs','selfPreparedMedicine','otherManagement']
130
-    let peizhi = ['system','roleManage', 'bedManagement', 'dictionaryManagement', 'templateManagement','showconfig','printTemplate','integration_config']
130
+    let peizhi = ['system','roleManage','DepartManage', 'bedManagement', 'dictionaryManagement', 'templateManagement','showconfig','printTemplate','integration_config']
131 131
     let kuyishopping = ['kuyiShopping']
132 132
     let menzhenArr = []
133 133
     let bingliArr = []

+ 1 - 1
src/views/layout/components/Sidebar/index.vue Voir le fichier

@@ -138,7 +138,7 @@ export default {
138 138
             this.$emit('func',a)
139 139
           }
140 140
         }else if(newVal == '配置管理'){
141
-          let nameArr = ['system','roleManage', 'bedManagement', 'dictionaryManagement', 'templateManagement','showconfig','printTemplate','integration_config']
141
+          let nameArr = ['system','roleManage','DepartManage', 'bedManagement', 'dictionaryManagement', 'templateManagement','showconfig','printTemplate','integration_config']
142 142
           // console.log('permission_routers',this.permission_routers)
143 143
           let routerArr = []
144 144
           this.permission_routers.map(item => {

+ 3 - 2
src/xt_pages/data/components/addConfigure.vue Voir le fichier

@@ -6,7 +6,7 @@
6 6
         :before-close="_close"
7 7
     >
8 8
         <div>
9
-            <el-form :model="form" :rules="rules" ref="form" label-width="100px" style="display: flex;flex-wrap: wrap;justify-content: space-between;">
9
+            <el-form :model="form" ref="form" label-width="100px" style="display: flex;flex-wrap: wrap;justify-content: space-between;">
10 10
                 <el-form-item label="名称:" prop="name" style="width:50%">
11 11
                     <el-input v-model="form.name" placeholder="" maxlength="30"></el-input>
12 12
                 </el-form-item>
@@ -20,7 +20,7 @@
20 20
         </div>
21 21
         <div slot="footer" class="dialog-footer">
22 22
             <el-button @click="hide">取 消</el-button>
23
-            <el-button type="primary" :loading="submitLoading" @click="submitAction()">保 存</el-button>
23
+            <el-button type="primary"  @click="submitAction()">保 存</el-button>
24 24
         </div>
25 25
     </el-dialog>         
26 26
 </template>
@@ -33,6 +33,7 @@ export default {
33 33
             form:{
34 34
                 name:''
35 35
             },
36
+            remark:"",
36 37
             submitLoading:false,
37 38
             parentid:0,
38 39
             

+ 3 - 2
src/xt_pages/data/components/addDrugs.vue Voir le fichier

@@ -339,7 +339,7 @@
339 339
         visible: false,
340 340
         formTitle: '',
341 341
         activeName: 'first',
342
-        manufacturers:[],
342
+        // manufacturers:[],
343 343
         sign: [
344 344
           { id: 1, name: '透析模式' },
345 345
           { id: 2, name: '特殊护理' },
@@ -522,7 +522,8 @@
522 522
       hide() {
523 523
         // this.clear()
524 524
         this.visible = false
525
-      },getValue: function() {
525
+      },
526
+      getValue: function() {
526 527
         const form = {}
527 528
         form['id'] = this.form.id
528 529
         form['drug_name'] = this.form.drug_name

+ 80 - 47
src/xt_pages/data/components/addInspection.vue Voir le fichier

@@ -7,31 +7,31 @@
7 7
     >
8 8
         <div>
9 9
             <el-form :model="form" :rules="rules" ref="form" label-width="100px" style="display: flex;flex-wrap: wrap;justify-content: space-between;">
10
-                <el-form-item label="组套名称 : " prop="name" style="width:100%">
11
-                    <el-input v-model="form.name" placeholder="" maxlength="30"></el-input>
10
+                <el-form-item label="组套名称 : " prop="project_team" style="width:100%">
11
+                    <el-input v-model="form.project_team" placeholder="" maxlength="30"></el-input>
12 12
                 </el-form-item>
13
-                <el-form-item label="组套价格 : " prop="name" style="width:100%">
14
-                    <el-input v-model="form.name" placeholder="" maxlength="30"></el-input>
13
+                <el-form-item label="组套价格 : " prop="price" style="width:100%">
14
+                    <el-input v-model="form.price" placeholder="" maxlength="30"></el-input>
15 15
                 </el-form-item>
16
-                <el-form-item label="拼音 : " prop="name" style="width:50%">
17
-                    <el-input v-model="form.name" placeholder="" maxlength="30"></el-input>
16
+                <el-form-item label="拼音 : " prop="pinyin" style="width:50%">
17
+                    <el-input v-model="form.pinyin" placeholder="" maxlength="30"></el-input>
18 18
                 </el-form-item>
19
-                <el-form-item label="五笔 : " prop="name" style="width:50%">
20
-                    <el-input v-model="form.name" placeholder="" maxlength="30"></el-input>
19
+                <el-form-item label="五笔 : " prop="wubi" style="width:50%">
20
+                    <el-input v-model="form.wubi" placeholder="" maxlength="30"></el-input>
21 21
                 </el-form-item>
22 22
                 
23
-                <el-form-item label="试管颜色 : " prop="name" style="width:50%">
24
-                    <el-select v-model="value" style="width:100%;" placeholder="请选择">
23
+                <el-form-item label="试管颜色 : " prop="tube_color" style="width:50%">
24
+                    <el-select v-model="form.tube_color" style="width:160px;" placeholder="请选择">
25 25
                         <el-option
26
-                        v-for="item in options"
27
-                        :key="item.value"
28
-                        :label="item.label"
29
-                        :value="item.value">
26
+                         v-for="(item,index) in getDictionaryDataConfig('system','tube_color')"
27
+                         :key="index"
28
+                         :label="item.name"
29
+                         :value="item.id">
30 30
                         </el-option>
31
-                    </el-select>
31
+                  </el-select>
32 32
                 </el-form-item>
33
-                <el-form-item label="组套类型 : " prop="name" style="width:50%">
34
-                    <el-select v-model="value" style="width:100%;" placeholder="请选择">
33
+                <el-form-item label="组套类型 : " prop="team_type" style="width:50%">
34
+                    <el-select v-model="form.team_type" style="width:100%;" placeholder="请选择">
35 35
                         <el-option
36 36
                         v-for="item in options"
37 37
                         :key="item.value"
@@ -41,7 +41,7 @@
41 41
                     </el-select>
42 42
                 </el-form-item>
43 43
                 <el-form-item label="备注 : " prop="name" style="width:100%;">
44
-                    <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="textarea"></el-input>
44
+                    <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="form.remark"></el-input>
45 45
                 </el-form-item>
46 46
             </el-form>
47 47
         </div>
@@ -49,12 +49,14 @@
49 49
 
50 50
         <div slot="footer" class="dialog-footer">
51 51
             <el-button @click="hide">取 消</el-button>
52
-            <el-button type="primary" :loading="submitLoading" @click="submitAction()">保 存</el-button>
52
+            <el-button type="primary"  @click="submitAction('form')">保 存</el-button>
53 53
         </div>
54 54
   </el-dialog>
55 55
 </template>
56 56
 
57 57
 <script>
58
+import { getDictionaryDataConfig,getDataConfig } from "@/utils/data";
59
+import { saveProjectTeam } from "@/api/project/project"
58 60
 export default {
59 61
     data(){
60 62
         return{
@@ -62,31 +64,37 @@ export default {
62 64
             formTitle:'',
63 65
             activeName:'first',
64 66
             form:{
65
-                name:''
67
+              project_team:'',
68
+              price:"",
69
+              pinyin:"",
70
+              wubi:"",
71
+              tube_color:"",
72
+              team_type:"",
73
+              remark:""
66 74
             },
67
-            options: [{
68
-            value: '选项1',
69
-            label: '黄金糕'
70
-            }, {
71
-            value: '选项2',
72
-            label: '双皮奶'
73
-            }, {
74
-            value: '选项3',
75
-            label: '蚵仔煎'
76
-            }, {
77
-            value: '选项4',
78
-            label: '龙须面'
79
-            }, {
80
-            value: '选项5',
81
-            label: '北京烤鸭'
82
-            }],
75
+            options: [
76
+            {value: 1,label: '是'},
77
+            {value: 2,label: '否'}
78
+            ],
83 79
             value: '',
84
-            radio:'1'
80
+            radio:'1',
81
+            rules: {
82
+              project_team: [{ required: true, message: '请填写组套名称', trigger: 'blur'  }],
83
+              pinyin: [{ required: true, message: '请填写拼音' , trigger: 'blur' }],
84
+              wubi: [{ required: true, message: '请填写五笔' , trigger: 'blur' }],
85
+              price: [{ required: true, message: '请填写价格', trigger: 'change' }],
86
+              team_type: [{ required:true,message:'请填写组套类型',trigger:'change' }]
87
+           }
85 88
         }
86 89
     },
87 90
     methods:{
91
+        getDataConfig(module, filed_name){
92
+            return getDataConfig(module, filed_name)
93
+        },
94
+            getDictionaryDataConfig(module, filed_name) {
95
+            return getDictionaryDataConfig(module, filed_name)
96
+        },
88 97
         _close: function(done) {
89
-            // this.clear()
90 98
             done()
91 99
         },
92 100
         clear: function() {
@@ -95,18 +103,43 @@ export default {
95 103
             this.form.intro = "";
96 104
         },
97 105
         show(id) {
98
-            // this.clear()
99 106
             this.visible = true
100
-            if(id == 0){
101
-                this.formTitle = '新增'
102
-            }else{
103
-                this.formTitle = '编辑'
104
-            }
105
-        },
107
+            this.formTitle = '新增' 
108
+         },
106 109
         hide() {
107
-            // this.clear()
108
-            this.visible = false
110
+         this.visible = false
109 111
         },
112
+        submitAction(formName){
113
+           this.$refs[formName].validate((valid)=>{
114
+               var params = {
115
+                 project_team:this.form.project_team,
116
+                 price:this.form.price,
117
+                 pinyin:this.form.pinyin,
118
+                 wubi:this.form.wubi,
119
+                 tube_color:this.form.tube_color,
120
+                 team_type:this.form.team_type,
121
+                 remark:this.form.remark
122
+               }
123
+               console.log("params",params)
124
+              saveProjectTeam(params).then(response=>{
125
+                 if(response.data.state == 1){
126
+                   var projectTeam = response.data.data.projectTeam
127
+                   console.log("projectTeam",projectTeam)
128
+                   this.$message.success("保存成功")
129
+                  
130
+                   this.visible = false
131
+                   this.form.project_team = "",
132
+                   this.form.price = "",
133
+                   this.form.pinyin = "",
134
+                   this.form.wubi = "",
135
+                   this.form.tube_color = "",
136
+                   this.form.team_type = "",
137
+                   this.form.remark = ""
138
+                   this.$parent.getlist()
139
+                 }
140
+              }) 
141
+           })
142
+        }
110 143
     }
111 144
 }
112 145
 </script>

+ 194 - 110
src/xt_pages/data/components/addProject.vue Voir le fichier

@@ -5,74 +5,74 @@
5 5
         :visible.sync="visible"
6 6
         :before-close="_close"
7 7
     >
8
-        <el-tabs v-model="activeName" @tab-click="handleClick">
8
+        <el-tabs v-model="activeName">
9 9
             <el-tab-pane label="基础数据" name="first">
10 10
                 <div>
11 11
                     <el-form :model="form" :rules="rules" ref="form" label-width="100px" style="display: flex;flex-wrap: wrap;justify-content: space-between;">
12
-                        <el-form-item label="耗材名称 : " prop="name" style="width:100%">
13
-                            <el-input v-model="form.name" placeholder="" maxlength="30"></el-input>
12
+                        <el-form-item label="项目名称 : "  prop="project_name" style="width:100%" >
13
+                            <el-input v-model="form.project_name" placeholder="" maxlength="30"></el-input>
14 14
                         </el-form-item>
15
-                        <el-form-item label="拼音 : " prop="name" style="width:100%">
16
-                            <el-input v-model="form.name" placeholder="" maxlength="30"></el-input>
15
+                        <el-form-item label="拼音 : " prop="pinyin" style="width:100%">
16
+                            <el-input v-model="form.pinyin" placeholder="" maxlength="30"></el-input>
17 17
                         </el-form-item>
18
-                        <el-form-item label="五笔 : " prop="name" style="width:100%">
19
-                            <el-input v-model="form.name" placeholder="" maxlength="30"></el-input>
18
+                        <el-form-item label="五笔 : " prop="wubi" style="width:100%">
19
+                            <el-input v-model="form.wubi" placeholder="" maxlength="30"></el-input>
20 20
                         </el-form-item>
21
-                        <el-form-item label="价格(元) : " prop="name">
22
-                            <el-input v-model="form.name" placeholder="" maxlength="30"></el-input>
21
+                        <el-form-item label="价格(元) : " prop="price">
22
+                            <el-input v-model="form.price" placeholder="" maxlength="30"></el-input>
23 23
                         </el-form-item>
24
-                        <el-form-item label="单位 : " prop="name">
25
-                            <el-select v-model="value" style="width:160px;" placeholder="请选择">
26
-                                <el-option
27
-                                v-for="item in options"
28
-                                :key="item.value"
29
-                                :label="item.label"
30
-                                :value="item.value">
31
-                                </el-option>
24
+                        <el-form-item label="单位 : " prop="unit">
25
+                            <el-select v-model="form.unit" style="width:160px;" placeholder="请选择">
26
+                              <el-option
27
+                                v-for="(item,index) in getDataConfig('hemodialysis','units')"
28
+                                :key="index"
29
+                                :label="item.name"
30
+                                :value="item.name">
31
+                             </el-option>
32 32
                             </el-select>
33 33
                         </el-form-item>
34
-                        <el-form-item label="费用类别 : " prop="name">
35
-                            <el-select v-model="value" style="width:160px;" placeholder="请选择">
34
+                        <el-form-item label="费用类别 : " prop="cost_classify">
35
+                            <el-select v-model="form.cost_classify" style="width:160px;" placeholder="请选择">
36 36
                                 <el-option
37
-                                v-for="item in options"
38
-                                :key="item.value"
39
-                                :label="item.label"
40
-                                :value="item.value">
37
+                                v-for="(item,index) in getDictionaryDataConfig('system','cost_classify')"
38
+                                :key="index"
39
+                                :label="item.name"
40
+                                :value="item.id">
41 41
                                 </el-option>
42 42
                             </el-select>
43 43
                         </el-form-item>
44
-                        <el-form-item label="执行科室 : " prop="name">
45
-                            <el-select v-model="value" style="width:160px;" placeholder="请选择">
44
+                        <el-form-item label="执行科室 : " prop="executive_section">
45
+                            <el-select v-model="form.executive_section" style="width:160px;" placeholder="请选择">
46 46
                                 <el-option
47
-                                v-for="item in options"
48
-                                :key="item.value"
49
-                                :label="item.label"
50
-                                :value="item.value">
47
+                                v-for="(item,index) in getDictionaryDataConfig('system','executive_section')"
48
+                                :key="index"
49
+                                :label="item.name"
50
+                                :value="item.id">
51 51
                                 </el-option>
52 52
                             </el-select>
53 53
                         </el-form-item>
54
-                        <el-form-item label="医保等级 : " prop="name">
55
-                            <el-select v-model="value" style="width:160px;" placeholder="请选择">
56
-                                <el-option
57
-                                v-for="item in options"
58
-                                :key="item.value"
59
-                                :label="item.label"
60
-                                :value="item.value">
61
-                                </el-option>
54
+                        <el-form-item label="医保等级 : " prop="medical_coverage">
55
+                            <el-select v-model="form.medical_coverage" style="width:160px;" placeholder="请选择">
56
+                               <el-option
57
+                                 v-for="(item,index) in getDictionaryDataConfig('system','medical_insurance_level')"
58
+                                 :key="index"
59
+                                 :label="item.name"
60
+                                 :value="item.id">
61
+                               </el-option>
62 62
                             </el-select>
63 63
                         </el-form-item>
64
-                        <el-form-item label="统计分类 : " prop="name">
65
-                            <el-select v-model="value" style="width:160px;" placeholder="请选择">
64
+                        <el-form-item label="统计分类 : " prop="statistical_classification">
65
+                            <el-select v-model="form.statistical_classification" style="width:160px;" placeholder="请选择">
66 66
                                 <el-option
67
-                                v-for="item in options"
68
-                                :key="item.value"
69
-                                :label="item.label"
70
-                                :value="item.value">
67
+                                v-for="(item,index) in getDictionaryDataConfig('system','statistics_category')"
68
+                                :key="index"
69
+                                :label="item.name"
70
+                                :value="item.id">
71 71
                                 </el-option>
72 72
                             </el-select>
73 73
                         </el-form-item>
74
-                        <el-form-item label="是否特病目录:" prop="name">
75
-                            <el-select v-model="value" style="width:160px;" placeholder="请选择">
74
+                        <el-form-item label="是否特病目录:" prop="disease_directory">
75
+                            <el-select v-model="form.disease_directory" style="width:160px;" placeholder="请选择">
76 76
                                 <el-option
77 77
                                 v-for="item in options"
78 78
                                 :key="item.value"
@@ -81,8 +81,8 @@
81 81
                                 </el-option>
82 82
                             </el-select>
83 83
                         </el-form-item>
84
-                        <el-form-item label="是否备案 : " prop="name">
85
-                            <el-select v-model="value" style="width:160px;" placeholder="请选择">
84
+                        <el-form-item label="是否备案 : " prop="is_record">
85
+                            <el-select v-model="form.is_record" style="width:160px;" placeholder="请选择">
86 86
                                 <el-option
87 87
                                 v-for="item in options"
88 88
                                 :key="item.value"
@@ -91,48 +91,48 @@
91 91
                                 </el-option>
92 92
                             </el-select>
93 93
                         </el-form-item>
94
-                        <el-form-item label="医保编码 : " prop="name">
95
-                            <el-input v-model="form.name" style="width:160px;" placeholder="" maxlength="30"></el-input>
94
+                        <el-form-item label="医保编码 : " prop="medical_code">
95
+                            <el-input v-model="form.medical_code" style="width:160px;" placeholder="" maxlength="30"></el-input>
96 96
                         </el-form-item>
97
-                        <el-form-item label="试管颜色 : " prop="name">
98
-                            <el-select v-model="value" style="width:160px;" placeholder="请选择">
99
-                                <el-option
100
-                                v-for="item in options"
101
-                                :key="item.value"
102
-                                :label="item.label"
103
-                                :value="item.value">
97
+                        <el-form-item label="试管颜色 : " prop="tube_color">
98
+                            <el-select v-model="form.tube_color" style="width:160px;" placeholder="请选择">
99
+                              <el-option
100
+                                v-for="(item,index) in getDictionaryDataConfig('system','tube_color')"
101
+                                :key="index"
102
+                                :label="item.name"
103
+                                :value="item.id">
104 104
                                 </el-option>
105 105
                             </el-select>
106 106
                         </el-form-item>
107
-                        <el-form-item label="状态 : " prop="name" style="width:100%;">
108
-                            <el-radio-group v-model="radio">
107
+                        <el-form-item label="状态 : " prop="medical_status" style="width:100%;">
108
+                            <el-radio-group v-model="form.medical_status">
109 109
                                 <el-radio :label="1">停用</el-radio>
110 110
                                 <el-radio :label="2">收费</el-radio>
111 111
                             </el-radio-group>
112 112
                         </el-form-item>
113
-                        <el-form-item label="备注 : " prop="name" style="width:100%;">
114
-                            <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="textarea"></el-input>
113
+                        <el-form-item label="备注 : " prop="remark" style="width:100%;">
114
+                            <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="form.remark"></el-input>
115 115
                         </el-form-item>
116 116
                     </el-form>
117 117
                 </div>
118 118
             </el-tab-pane>
119 119
             <el-tab-pane label="扩展数据" name="second">
120
-                <el-form :model="form" :rules="rules" ref="form" label-width="120px" style="display: flex;flex-wrap: wrap;justify-content: space-between;">
121
-                    <el-form-item label="标签 : " prop="name">
122
-                        <el-select v-model="value" style="width:160px;" placeholder="请选择">
120
+                <el-form :model="form"  label-width="120px" style="display: flex;flex-wrap: wrap;justify-content: space-between;">
121
+                    <el-form-item label="标签 : " prop="sign">
122
+                        <el-select v-model="form.sign" style="width:160px;" placeholder="请选择">
123 123
                             <el-option
124
-                            v-for="item in options"
125
-                            :key="item.value"
126
-                            :label="item.label"
127
-                            :value="item.value">
124
+                            v-for="(item,index) in getDictionaryDataConfig('system','sign')"
125
+                            :key="index"
126
+                            :label="item.name"
127
+                            :value="item.id">
128 128
                             </el-option>
129 129
                         </el-select>
130 130
                     </el-form-item>
131
-                    <el-form-item label="默认使用数量:" prop="name">
132
-                        <el-input v-model="form.name" style="width:160px;" placeholder="" maxlength="30"></el-input>
131
+                    <el-form-item label="默认使用数量:" prop="default_number">
132
+                        <el-input v-model="form.default_number" style="width:160px;" placeholder="" maxlength="30"></el-input>
133 133
                     </el-form-item>
134
-                    <el-form-item label="是否默认:" prop="name">
135
-                        <el-select v-model="value" style="width:160px;" placeholder="请选择">
134
+                    <el-form-item label="是否默认:" prop="is_default">
135
+                        <el-select v-model="form.is_default" style="width:160px;" placeholder="请选择">
136 136
                             <el-option
137 137
                             v-for="item in options"
138 138
                             :key="item.value"
@@ -141,8 +141,8 @@
141 141
                             </el-option>
142 142
                         </el-select>
143 143
                     </el-form-item>
144
-                    <el-form-item label="是否收费常用项:" prop="name">
145
-                        <el-select v-model="value" style="width:160px;" placeholder="请选择">
144
+                    <el-form-item label="是否收费常用项:" prop="is_charge">
145
+                        <el-select v-model="form.is_charge" style="width:160px;" placeholder="请选择">
146 146
                             <el-option
147 147
                             v-for="item in options"
148 148
                             :key="item.value"
@@ -151,8 +151,8 @@
151 151
                             </el-option>
152 152
                         </el-select>
153 153
                     </el-form-item>
154
-                    <el-form-item label="是否收费预估项:" prop="name">
155
-                        <el-select v-model="value" style="width:160px;" placeholder="请选择">
154
+                    <el-form-item label="是否收费预估项:" prop="is_estimate">
155
+                        <el-select v-model="form.is_estimate" style="width:160px;" placeholder="请选择">
156 156
                             <el-option
157 157
                             v-for="item in options"
158 158
                             :key="item.value"
@@ -161,8 +161,8 @@
161 161
                             </el-option>
162 162
                         </el-select>
163 163
                     </el-form-item>
164
-                    <el-form-item label="是否统计工作量:" prop="name">
165
-                        <el-select v-model="value" style="width:160px;" placeholder="请选择">
164
+                    <el-form-item label="是否统计工作量:" prop="is_workload">
165
+                        <el-select v-model="form.is_workload" style="width:160px;" placeholder="请选择">
166 166
                             <el-option
167 167
                             v-for="item in options"
168 168
                             :key="item.value"
@@ -171,11 +171,11 @@
171 171
                             </el-option>
172 172
                         </el-select>
173 173
                     </el-form-item>
174
-                    <el-form-item label="收费项目排序:" prop="name">
175
-                        <el-input v-model="form.name" style="width:160px;" placeholder="" maxlength="30"></el-input>
174
+                    <el-form-item label="收费项目排序:" prop="sort">
175
+                        <el-input v-model="form.sort" style="width:160px;" placeholder="" maxlength="30"></el-input>
176 176
                     </el-form-item>
177
-                    <el-form-item label="是否常用医嘱:" prop="name">
178
-                        <el-select v-model="value" style="width:160px;" placeholder="请选择">
177
+                    <el-form-item label="是否常用医嘱:" prop="is_advice">
178
+                        <el-select v-model="form.is_advice" style="width:160px;" placeholder="请选择">
179 179
                             <el-option
180 180
                             v-for="item in options"
181 181
                             :key="item.value"
@@ -183,51 +183,67 @@
183 183
                             :value="item.value">
184 184
                             </el-option>
185 185
                         </el-select>
186
-                    </el-form-item>
187
-                    <el-form-item label="收费项目排序:" prop="name" style="visibility: hidden;">
188
-                        <el-input style="width:160px;" placeholder="" maxlength="30"></el-input>
189
-                    </el-form-item>
190
-                        
186
+                    </el-form-item>       
191 187
                 </el-form>
192 188
             </el-tab-pane>
193 189
         </el-tabs>
194
-
195
-
196 190
         <div slot="footer" class="dialog-footer">
197 191
             <el-button @click="hide">取 消</el-button>
198
-            <el-button type="primary" :loading="submitLoading" @click="submitAction()">保 存</el-button>
192
+            <el-button type="primary" @click="submitAction('form')">保 存</el-button>
199 193
         </div>
200 194
   </el-dialog>
201 195
 </template>
202 196
 
203 197
 <script>
198
+import { getDictionaryDataConfig,getDataConfig } from "@/utils/data";
199
+import { saveProject } from "@/api/project/project"
204 200
 export default {
205 201
     data(){
206 202
         return{
207 203
             visible:false,
208 204
             formTitle:'',
209 205
             activeName:'first',
206
+            options: [
207
+             {value: 1,label: '是'},
208
+             {value: 2,label: '否'}
209
+             ],
210
+            value: '',
211
+            radio:'1',
210 212
             form:{
211
-                name:''
213
+              project_name:"",
214
+              pinyin:"",
215
+              wubi:"", 
216
+              price:"", 
217
+              unit:"",
218
+              cost_classify:"",
219
+              executive_section:"",
220
+              medical_coverage:"",
221
+              statistical_classification:"",
222
+              disease_directory:"",
223
+              is_record:"",
224
+              medical_code:"",
225
+              tube_color:"",
226
+              medical_status:"",
227
+              remark:"",
228
+              sign:"",
229
+              default_number:"",
230
+              is_default:"",
231
+              is_charge:"",
232
+              is_estimate:"",
233
+              is_workload:"",
234
+              sort:"",
235
+              is_advice:"",
212 236
             },
213
-            options: [{
214
-            value: '选项1',
215
-            label: '黄金糕'
216
-            }, {
217
-            value: '选项2',
218
-            label: '双皮奶'
219
-            }, {
220
-            value: '选项3',
221
-            label: '蚵仔煎'
222
-            }, {
223
-            value: '选项4',
224
-            label: '龙须面'
225
-            }, {
226
-            value: '选项5',
227
-            label: '北京烤鸭'
228
-            }],
229
-            value: '',
230
-            radio:'1'
237
+            rules: {
238
+                project_name: [{ required: true, message: '请填写项目名称', trigger: 'blur'  }],
239
+                pinyin: [{ required: true, message: '请填写拼音' , trigger: 'blur' }],
240
+                wubi: [{ required: true, message: '请填写五笔' , trigger: 'blur' }],
241
+                price: [{ required: true, message: '请填写价格', trigger: 'change' }],
242
+                unit: [{ required: true, message: '请填写单位',trigger: 'blur' }],
243
+                cost_classify: [{ required: true, message: '请填写费用类别',trigger: 'blur' }],
244
+                executive_section: [{ required: true, message: '请填写执行科室',trigger: 'blur'  }],
245
+                medical_coverage: [{ required: true, message: '请填写医保等级',trigger: 'blur' }],
246
+           }
231 247
         }
232 248
     },
233 249
     methods:{
@@ -250,9 +266,77 @@ export default {
250 266
             }
251 267
         },
252 268
         hide() {
253
-            // this.clear()
254
-            this.visible = false
269
+         this.visible = false
255 270
         },
271
+       getDataConfig(module, filed_name){
272
+         return getDataConfig(module, filed_name)
273
+       },
274
+        getDictionaryDataConfig(module, filed_name) {
275
+          return getDictionaryDataConfig(module, filed_name)
276
+       },
277
+       submitAction(formName){
278
+          this.$refs[formName].validate((valid)=>{
279
+            if(valid){
280
+                 var params = {
281
+                    project_name:this.form.project_name,
282
+                    pinyin:this.form.pinyin,
283
+                    wubi:this.form.wubi,
284
+                    price:this.form.price,
285
+                    unit:this.form.unit,
286
+                    cost_classify:this.form.cost_classify,
287
+                    executive_section:this.form.executive_section,
288
+                    medical_coverage:this.form.medical_coverage,
289
+                    statistical_classification:this.form.statistical_classification,
290
+                    disease_directory:this.form.disease_directory,
291
+                    is_record:this.form.is_record,
292
+                    medical_code:this.form.medical_code,
293
+                    tube_color:this.form.tube_color,
294
+                    medical_status:this.form.medical_status,
295
+                    remark:this.form.remark,
296
+                    sign:this.form.sign,
297
+                    default_number:this.form.default_number,
298
+                    is_charge:this.form.is_charge,
299
+                    is_estimate:this.form.is_estimate,
300
+                    is_workload:this.form.is_workload,
301
+                    sort:this.form.sort,
302
+                    is_advice:this.form.is_advice,
303
+                    is_default:this.form.is_default
304
+               }
305
+           
306
+              saveProject(params).then(response=>{
307
+                 if(response.data.state == 1){
308
+                   var hisProject = response.data.data.hisProject
309
+                   this.$parent.getlist()
310
+                   this.$message.success('保存成功')
311
+                   this.visible = false
312
+                   this.form.project_name = ""
313
+                   this.form.pinyin = ""
314
+                   this.form.wubi = ""
315
+                   this.form.price = ""
316
+                   this.form.unit = ""
317
+                   this.form.cost_classify = ""
318
+                   this.form.executive_section = ""
319
+                   this.form.medical_coverage = ""
320
+                   this.form.statistical_classification = ""
321
+                   this.form.disease_directory = ""
322
+                   this.form.is_record = ""
323
+                   this.form.medical_code = ""
324
+                   this.form.tube_color = ""
325
+                   this.form.medical_status = ""
326
+                   this.form.remark = ""
327
+                   this.form.sign = ""
328
+                   this.form.default_number = ""
329
+                   this.form.is_charge = ""
330
+                   this.form.is_estimate = ""
331
+                   this.form.is_workload = ""
332
+                   this.form.sort = ""
333
+                   this.form.is_advice = ""
334
+                   this.form.is_default = ""
335
+                 }
336
+              })
337
+            }
338
+          })
339
+       }
256 340
     }
257 341
 }
258 342
 </script>

+ 1 - 0
src/xt_pages/data/components/drugs.vue Voir le fichier

@@ -243,6 +243,7 @@
243 243
         current_id: 0,
244 244
 
245 245
         search_input: '',
246
+        total:0,
246 247
         options: [
247 248
           {
248 249
             value: '0',

+ 161 - 0
src/xt_pages/data/components/editInspection.vue Voir le fichier

@@ -0,0 +1,161 @@
1
+<template>
2
+    <el-dialog
3
+        :title="formTitle"
4
+        width="900px"
5
+        :visible.sync="visible"
6
+        :before-close="_close"
7
+    >
8
+        <div>
9
+            <el-form :model="form" :rules="rules" ref="form" label-width="100px" style="display: flex;flex-wrap: wrap;justify-content: space-between;">
10
+                <el-form-item label="组套名称 : " prop="project_team" style="width:100%">
11
+                    <el-input v-model="form.project_team" placeholder="" maxlength="30"></el-input>
12
+                </el-form-item>
13
+                <el-form-item label="组套价格 : " prop="price" style="width:100%">
14
+                    <el-input v-model="form.price" placeholder="" maxlength="30"></el-input>
15
+                </el-form-item>
16
+                <el-form-item label="拼音 : " prop="pinyin" style="width:50%">
17
+                    <el-input v-model="form.pinyin" placeholder="" maxlength="30"></el-input>
18
+                </el-form-item>
19
+                <el-form-item label="五笔 : " prop="wubi" style="width:50%">
20
+                    <el-input v-model="form.wubi" placeholder="" maxlength="30"></el-input>
21
+                </el-form-item>
22
+                
23
+                <el-form-item label="试管颜色 : " prop="name" style="width:50%">
24
+                     <el-select v-model="form.tube_color" style="width:160px;" placeholder="请选择">
25
+                        <el-option
26
+                         v-for="(item,index) in getDictionaryDataConfig('system','tube_color')"
27
+                         :key="index"
28
+                         :label="item.name"
29
+                         :value="item.id">
30
+                        </el-option>
31
+                  </el-select>
32
+                </el-form-item>
33
+                <el-form-item label="组套类型 : " prop="name" style="width:50%">
34
+                    <el-select v-model="form.team_type" style="width:100%;" placeholder="请选择">
35
+                        <el-option
36
+                        v-for="item in options"
37
+                        :key="item.value"
38
+                        :label="item.label"
39
+                        :value="item.value">
40
+                        </el-option>
41
+                    </el-select>
42
+                </el-form-item>
43
+                <el-form-item label="备注 : " prop="name" style="width:100%;">
44
+                    <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="form.remark"></el-input>
45
+                </el-form-item>
46
+            </el-form>
47
+        </div>
48
+
49
+
50
+        <div slot="footer" class="dialog-footer">
51
+            <el-button @click="hide">取 消</el-button>
52
+            <el-button type="primary"  @click="submitAction('form')">保 存</el-button>
53
+        </div>
54
+  </el-dialog>
55
+</template>
56
+
57
+<script>
58
+import { getProjectTeamDetail,updatedProjectTeam } from "@/api/project/project"
59
+import { getDictionaryDataConfig,getDataConfig} from "@/utils/data";
60
+export default {
61
+    data(){
62
+        return{
63
+            visible:false,
64
+            formTitle:'',
65
+            activeName:'first',
66
+            form:{
67
+              id:"",
68
+              project_team:'',
69
+              price:"",
70
+              pinyin:"",
71
+              wubi:"",
72
+              tube_color:"",
73
+              team_type:"",
74
+              remark:""
75
+            },
76
+            options: [{
77
+            value: 1,
78
+            label: '是'
79
+            }, {
80
+            value: 2,
81
+            label: '否'
82
+            },],
83
+            value: '',
84
+            radio:'1',
85
+            rules: {
86
+              project_team: [{ required: true, message: '请填写组套名称', trigger: 'blur'  }],
87
+              pinyin: [{ required: true, message: '请填写拼音' , trigger: 'blur' }],
88
+              wubi: [{ required: true, message: '请填写五笔' , trigger: 'blur' }],
89
+              price: [{ required: true, message: '请填写价格', trigger: 'change' }],
90
+              team_type: [{ required:true,message:'请填写组套类型',trigger:'change' }]
91
+           }
92
+        }
93
+    },
94
+    methods:{
95
+         getDataConfig(module, filed_name){
96
+            return getDataConfig(module, filed_name)
97
+        },
98
+            getDictionaryDataConfig(module, filed_name) {
99
+            return getDictionaryDataConfig(module, filed_name)
100
+        },
101
+        _close: function(done) {
102
+            done()
103
+        },
104
+        clear: function() {
105
+            this.form.id = 0;
106
+            this.form.name = "";
107
+            this.form.intro = "";
108
+        },
109
+        show(id) {
110
+         this.visible = true
111
+         this.formTitle = '编辑'
112
+         this.getProjectTeamDetail(id) 
113
+        },
114
+        hide() {
115
+    
116
+            this.visible = false
117
+        },
118
+        getProjectTeamDetail(id){
119
+           getProjectTeamDetail(id).then(response=>{
120
+              if(response.data.state == 1){
121
+                 var projectTeamDetail =  response.data.data.projectTeamDetail
122
+                 this.form.id = projectTeamDetail.id
123
+                 this.form.project_team = projectTeamDetail.project_team
124
+                 this.form.price = projectTeamDetail.price
125
+                 this.form.pinyin = projectTeamDetail.pinyin
126
+                 this.form.wubi  = projectTeamDetail.wubi
127
+                 this.form.tube_color = projectTeamDetail.tube_color
128
+                 this.form.team_type = projectTeamDetail.team_type
129
+                 this.form.remark = projectTeamDetail.remark
130
+                 console.log("project",projectTeamDetail)
131
+              }
132
+           }) 
133
+        },
134
+        submitAction(formName){
135
+           this.$refs[formName].validate((valid)=>{
136
+              if(valid){
137
+                var params = {
138
+                    id:this.form.id,
139
+                    project_team:this.form.project_team,
140
+                    price:this.form.price,
141
+                    pinyin:this.form.pinyin,
142
+                    wubi:this.form.wubi,
143
+                    tube_color:this.form.tube_color,
144
+                    team_type:this.form.team_type,
145
+                    remark:this.form.remark
146
+                }
147
+                 updatedProjectTeam(params).then(response=>{
148
+                   if(response.data.state == 1){
149
+                     var projectTeam = response.data.data.projectTeam
150
+                     this.$message.success("保存成功")
151
+                     this.visible = false
152
+                     this.$parent.getlist()
153
+                   }
154
+                 })
155
+              }
156
+           })  
157
+        
158
+        }
159
+    }
160
+}
161
+</script>

+ 354 - 0
src/xt_pages/data/components/editProject.vue Voir le fichier

@@ -0,0 +1,354 @@
1
+<template>
2
+    <el-dialog
3
+        :title="formTitle"
4
+        width="900px"
5
+        :visible.sync="visible"
6
+        :before-close="_close"
7
+    >
8
+        <el-tabs v-model="activeName">
9
+            <el-tab-pane label="基础数据" name="first">
10
+                <div>
11
+                    <el-form :model="form" :rules="rules" ref="form" label-width="100px" style="display: flex;flex-wrap: wrap;justify-content: space-between;">
12
+                        <el-form-item label="项目名称 : "  prop="project_name" style="width:100%" >
13
+                            <el-input v-model="form.project_name" placeholder="" maxlength="30"></el-input>
14
+                        </el-form-item>
15
+                        <el-form-item label="拼音 : " prop="pinyin" style="width:100%">
16
+                            <el-input v-model="form.pinyin" placeholder="" maxlength="30"></el-input>
17
+                        </el-form-item>
18
+                        <el-form-item label="五笔 : " prop="wubi" style="width:100%">
19
+                            <el-input v-model="form.wubi" placeholder="" maxlength="30"></el-input>
20
+                        </el-form-item>
21
+                        <el-form-item label="价格(元) : " prop="price">
22
+                            <el-input v-model="form.price" placeholder="" maxlength="30"></el-input>
23
+                        </el-form-item>
24
+                        <el-form-item label="单位 : " prop="unit">
25
+                            <el-select v-model="form.unit" style="width:160px;" placeholder="请选择">
26
+                              <el-option
27
+                                v-for="(item,index) in getDataConfig('hemodialysis','units')"
28
+                                :key="index"
29
+                                :label="item.name"
30
+                                :value="item.name">
31
+                             </el-option>
32
+                            </el-select>
33
+                        </el-form-item>
34
+                        <el-form-item label="费用类别 : " prop="cost_classify">
35
+                            <el-select v-model="form.cost_classify" style="width:160px;" placeholder="请选择">
36
+                                <el-option
37
+                                v-for="(item,index) in getDictionaryDataConfig('system','cost_classify')"
38
+                                :key="index"
39
+                                :label="item.name"
40
+                                :value="item.id">
41
+                                </el-option>
42
+                            </el-select>
43
+                        </el-form-item>
44
+                        <el-form-item label="执行科室 : " prop="executive_section">
45
+                            <el-select v-model="form.executive_section" style="width:160px;" placeholder="请选择">
46
+                                <el-option
47
+                                v-for="(item,index) in getDictionaryDataConfig('system','executive_section')"
48
+                                :key="index"
49
+                                :label="item.name"
50
+                                :value="item.id">
51
+                                </el-option>
52
+                            </el-select>
53
+                        </el-form-item>
54
+                        <el-form-item label="医保等级 : " prop="medical_coverage">
55
+                            <el-select v-model="form.medical_coverage" style="width:160px;" placeholder="请选择">
56
+                               <el-option
57
+                                 v-for="(item,index) in getDictionaryDataConfig('system','medical_insurance_level')"
58
+                                 :key="index"
59
+                                 :label="item.name"
60
+                                 :value="item.id">
61
+                               </el-option>
62
+                            </el-select>
63
+                        </el-form-item>
64
+                        <el-form-item label="统计分类 : " prop="statistical_classification">
65
+                            <el-select v-model="form.statistical_classification" style="width:160px;" placeholder="请选择">
66
+                                <el-option
67
+                                v-for="(item,index) in getDictionaryDataConfig('system','statistics_category')"
68
+                                :key="index"
69
+                                :label="item.name"
70
+                                :value="item.id">
71
+                                </el-option>
72
+                            </el-select>
73
+                        </el-form-item>
74
+                        <el-form-item label="是否特病目录:" prop="disease_directory">
75
+                            <el-select v-model="form.disease_directory" style="width:160px;" placeholder="请选择">
76
+                                <el-option
77
+                                v-for="item in options"
78
+                                :key="item.value"
79
+                                :label="item.label"
80
+                                :value="item.value">
81
+                                </el-option>
82
+                            </el-select>
83
+                        </el-form-item>
84
+                        <el-form-item label="是否备案 : " prop="is_record">
85
+                            <el-select v-model="form.is_record" style="width:160px;" placeholder="请选择">
86
+                                <el-option
87
+                                v-for="item in options"
88
+                                :key="item.value"
89
+                                :label="item.label"
90
+                                :value="item.value">
91
+                                </el-option>
92
+                            </el-select>
93
+                        </el-form-item>
94
+                        <el-form-item label="医保编码 : " prop="medical_code">
95
+                            <el-input v-model="form.medical_code" style="width:160px;" placeholder="" maxlength="30"></el-input>
96
+                        </el-form-item>
97
+                        <el-form-item label="试管颜色 : " prop="tube_color">
98
+                            <el-select v-model="form.tube_color" style="width:160px;" placeholder="请选择">
99
+                              <el-option
100
+                                v-for="(item,index) in getDictionaryDataConfig('system','tube_color')"
101
+                                :key="index"
102
+                                :label="item.name"
103
+                                :value="item.id">
104
+                                </el-option>
105
+                            </el-select>
106
+                        </el-form-item>
107
+                        <el-form-item label="状态 : " prop="medical_status" style="width:100%;">
108
+                            <el-radio-group v-model="form.medical_status">
109
+                                <el-radio :label="1">停用</el-radio>
110
+                                <el-radio :label="2">收费</el-radio>
111
+                            </el-radio-group>
112
+                        </el-form-item>
113
+                        <el-form-item label="备注 : " prop="remark" style="width:100%;">
114
+                            <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="form.remark"></el-input>
115
+                        </el-form-item>
116
+                    </el-form>
117
+                </div>
118
+            </el-tab-pane>
119
+            <el-tab-pane label="扩展数据" name="second">
120
+                <el-form :model="form"  label-width="120px" style="display: flex;flex-wrap: wrap;justify-content: space-between;">
121
+                    <el-form-item label="标签 : " prop="sign">
122
+                        <el-select v-model="form.sign" style="width:160px;" placeholder="请选择">
123
+                            <el-option
124
+                            v-for="(item,index) in getDictionaryDataConfig('system','sign')"
125
+                            :key="index"
126
+                            :label="item.name"
127
+                            :value="item.id">
128
+                            </el-option>
129
+                        </el-select>
130
+                    </el-form-item>
131
+                    <el-form-item label="默认使用数量:" prop="default_number">
132
+                        <el-input v-model="form.default_number" style="width:160px;" placeholder="" maxlength="30"></el-input>
133
+                    </el-form-item>
134
+                    <el-form-item label="是否默认:" prop="is_default">
135
+                        <el-select v-model="form.is_default" style="width:160px;" placeholder="请选择">
136
+                            <el-option
137
+                            v-for="item in options"
138
+                            :key="item.value"
139
+                            :label="item.label"
140
+                            :value="item.value">
141
+                            </el-option>
142
+                        </el-select>
143
+                    </el-form-item>
144
+                    <el-form-item label="是否收费常用项:" prop="is_charge">
145
+                        <el-select v-model="form.is_charge" style="width:160px;" placeholder="请选择">
146
+                            <el-option
147
+                            v-for="item in options"
148
+                            :key="item.value"
149
+                            :label="item.label"
150
+                            :value="item.value">
151
+                            </el-option>
152
+                        </el-select>
153
+                    </el-form-item>
154
+                    <el-form-item label="是否收费预估项:" prop="is_estimate">
155
+                        <el-select v-model="form.is_estimate" style="width:160px;" placeholder="请选择">
156
+                            <el-option
157
+                            v-for="item in options"
158
+                            :key="item.value"
159
+                            :label="item.label"
160
+                            :value="item.value">
161
+                            </el-option>
162
+                        </el-select>
163
+                    </el-form-item>
164
+                    <el-form-item label="是否统计工作量:" prop="is_workload">
165
+                        <el-select v-model="form.is_workload" style="width:160px;" placeholder="请选择">
166
+                            <el-option
167
+                            v-for="item in options"
168
+                            :key="item.value"
169
+                            :label="item.label"
170
+                            :value="item.value">
171
+                            </el-option>
172
+                        </el-select>
173
+                    </el-form-item>
174
+                    <el-form-item label="收费项目排序:" prop="sort">
175
+                        <el-input v-model="form.sort" style="width:160px;" placeholder="" maxlength="30"></el-input>
176
+                    </el-form-item>
177
+                    <el-form-item label="是否常用医嘱:" prop="is_advice">
178
+                        <el-select v-model="form.is_advice" style="width:160px;" placeholder="请选择">
179
+                            <el-option
180
+                            v-for="item in options"
181
+                            :key="item.value"
182
+                            :label="item.label"
183
+                            :value="item.value">
184
+                            </el-option>
185
+                        </el-select>
186
+                    </el-form-item>       
187
+                </el-form>
188
+            </el-tab-pane>
189
+        </el-tabs>
190
+        <div slot="footer" class="dialog-footer">
191
+            <el-button @click="hide">取 消</el-button>
192
+            <el-button type="primary" @click="submitAction('form')">保 存</el-button>
193
+        </div>
194
+  </el-dialog>
195
+</template>
196
+
197
+<script>
198
+import { getDictionaryDataConfig,getDataConfig } from "@/utils/data";
199
+import { getProjectDetail,updatedProject } from "@/api/project/project"
200
+export default {
201
+    data(){
202
+        return{
203
+            visible:false,
204
+            formTitle:'',
205
+            activeName:'first',
206
+            options: [
207
+             {value: 1,label: '是'},
208
+             {value: 2,label: '否'}
209
+             ],
210
+            value: '',
211
+            radio:'1',
212
+          
213
+            form:{
214
+              id:0,
215
+              project_name:"",
216
+              pinyin:"",
217
+              wubi:"", 
218
+              price:"", 
219
+              unit:"",
220
+              cost_classify:"",
221
+              executive_section:"",
222
+              medical_coverage:"",
223
+              statistical_classification:"",
224
+              disease_directory:"",
225
+              is_record:"",
226
+              medical_code:"",
227
+              tube_color:"",
228
+              medical_status:"",
229
+              remark:"",
230
+              sign:"",
231
+              default_number:"",
232
+              is_default:"",
233
+              is_charge:"",
234
+              is_estimate:"",
235
+              is_workload:"",
236
+              sort:"",
237
+              is_advice:"",
238
+            },
239
+            rules: {
240
+                project_name: [{ required: true, message: '请填写项目名称', trigger: 'blur'  }],
241
+                pinyin: [{ required: true, message: '请填写拼音' , trigger: 'blur' }],
242
+                wubi: [{ required: true, message: '请填写五笔' , trigger: 'blur' }],
243
+                price: [{ required: true, message: '请填写价格', trigger: 'change' }],
244
+                unit: [{ required: true, message: '请填写单位',trigger: 'blur' }],
245
+                cost_classify: [{ required: true, message: '请填写费用类别',trigger: 'blur' }],
246
+                executive_section: [{ required: true, message: '请填写执行科室',trigger: 'blur'  }],
247
+                medical_coverage: [{ required: true, message: '请填写医保等级',trigger: 'blur' }],
248
+           }
249
+        }
250
+    },
251
+    methods:{
252
+        _close: function(done) {
253
+            done()
254
+        },
255
+        clear: function() {
256
+            this.form.id = 0;
257
+            this.form.name = "";
258
+            this.form.intro = "";
259
+        },
260
+        show(id) {
261
+          
262
+           this.visible = true
263
+           this.formTitle = '编辑'
264
+           this.getProjectDetail(id)
265
+        },
266
+        hide() {
267
+         this.visible = false
268
+        },
269
+       getDataConfig(module, filed_name){
270
+         return getDataConfig(module, filed_name)
271
+       },
272
+        getDictionaryDataConfig(module, filed_name) {
273
+          return getDictionaryDataConfig(module, filed_name)
274
+       },
275
+       getProjectDetail(id){
276
+           console.log("id",id)
277
+         getProjectDetail(id).then(response=>{
278
+            if(response.data.state == 1){
279
+              var projecDetail =  response.data.data.projecDetail
280
+              console.log("projectdatail",projecDetail)
281
+              this.form.id = projecDetail.id
282
+              this.form.project_name = projecDetail.project_name
283
+              this.form.pinyin = projecDetail.pinyin
284
+              this.form.wubi = projecDetail.wubi
285
+              this.form.price = projecDetail.price
286
+              this.form.unit = projecDetail.unit
287
+              this.form.cost_classify = projecDetail.cost_classify
288
+              this.form.executive_section = projecDetail.executive_section
289
+              this.form.medical_coverage = projecDetail.medical_coverage
290
+              this.form.statistical_classification =projecDetail.statistical_classification
291
+              this.form.disease_directory = projecDetail.disease_directory
292
+              this.form.is_record = projecDetail.is_record
293
+              this.form.medical_code = projecDetail.medical_code
294
+              this.form.tube_color = projecDetail.tube_color
295
+              this.form.medical_status = projecDetail.medical_status
296
+              this.form.remark = projecDetail.remark
297
+              this.form.sign = projecDetail.sign
298
+              this.form.default_number = projecDetail.default_number
299
+              this.form.is_default = projecDetail.is_default
300
+              this.form.is_charge = projecDetail.is_charge
301
+              this.form.is_estimate = projecDetail.is_estimate
302
+              this.form.is_workload = projecDetail.is_workload
303
+              this.form.sort = projecDetail.sort
304
+              this.form.is_advice = projecDetail.doctor_advice
305
+            }
306
+         })
307
+       },
308
+     
309
+       
310
+       submitAction(formName){
311
+          this.$refs[formName].validate((valid)=>{
312
+            if(valid){
313
+                 var params = {
314
+                    id:this.form.id,
315
+                    project_name:this.form.project_name,
316
+                    pinyin:this.form.pinyin,
317
+                    wubi:this.form.wubi,
318
+                    price:this.form.price,
319
+                    unit:this.form.unit,
320
+                    cost_classify:this.form.cost_classify,
321
+                    executive_section:this.form.executive_section,
322
+                    medical_coverage:this.form.medical_coverage,
323
+                    statistical_classification:this.form.statistical_classification,
324
+                    disease_directory:this.form.disease_directory,
325
+                    is_record:this.form.is_record,
326
+                    medical_code:this.form.medical_code,
327
+                    tube_color:this.form.tube_color,
328
+                    medical_status:this.form.medical_status,
329
+                    remark:this.form.remark,
330
+                    sign:this.form.sign,
331
+                    default_number:this.form.default_number,
332
+                    is_charge:this.form.is_charge,
333
+                    is_estimate:this.form.is_estimate,
334
+                    is_workload:this.form.is_workload,
335
+                    sort:this.form.sort,
336
+                    is_advice:this.form.is_advice,
337
+                    is_default:this.form.is_default
338
+               }
339
+              
340
+              updatedProject(params).then(response=>{
341
+                 if(response.data.state == 1){
342
+                   var hisProject = response.data.data.hisProject
343
+                   this.$message.success('保存成功')
344
+                   this.$parent.getlist()
345
+                   this.visible = false
346
+                   
347
+                 }
348
+              })
349
+            }
350
+          })
351
+       }
352
+    }
353
+}
354
+</script>

+ 99 - 27
src/xt_pages/data/components/inspection.vue Voir le fichier

@@ -17,29 +17,69 @@
17 17
             <el-button type="primary" @click="openForm(0)">新增</el-button>
18 18
         </div>
19 19
         <el-table :data="tableData" border style="width: 100%" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)', color: '#606266'}">
20
-            <el-table-column prop="date" label="自编码" width="80" align="center"></el-table-column>
21
-            <el-table-column prop="date" label="名称" align="center"></el-table-column>
22
-            <el-table-column prop="date" label="拼音助记符" width="140" align="center"></el-table-column>
23
-            <el-table-column prop="date" label="五笔助记符" width="140" align="center"></el-table-column>
24
-            <el-table-column label="价格" width="60" align="center"></el-table-column>
25
-            <el-table-column prop="date" label="备注" align="center"></el-table-column>
20
+            <el-table-column prop="date" label="序号" width="80" align="center">
21
+                <template slot-scope="scope">
22
+                    {{scope.$index + 1}}
23
+                </template>
24
+            </el-table-column>
25
+            <el-table-column prop="date" label="名称" align="center">
26
+                <template slot-scope="scope">
27
+                    {{scope.row.project_team}}
28
+                </template>
29
+            </el-table-column>
30
+            <el-table-column prop="date" label="拼音助记符" width="140" align="center">
31
+                <template slot-scope="scope">
32
+                    {{scope.row.pinyin}}
33
+                </template>
34
+            </el-table-column>
35
+            <el-table-column prop="date" label="五笔助记符" width="140" align="center">
36
+                <template slot-scope="scope">
37
+                   {{scope.row.wubi}}
38
+                </template>
39
+            </el-table-column>
40
+            <el-table-column label="价格" width="60" align="center">
41
+                <template slot-scope="scope">
42
+                   {{scope.row.price}}
43
+                </template>
44
+            </el-table-column>
45
+            <el-table-column prop="date" label="备注" align="center">
46
+                <template slot-scope="scope">
47
+                   {{scope.row.remark}}
48
+                </template>
49
+            </el-table-column>
26 50
             <el-table-column prop="date" label="操作" width="300" align="center">
27 51
                 <template slot-scope="scope">
28
-                    <el-button @click="openForm(scope.row)" type="primary" size="small">编辑</el-button>
29
-                    <el-button type="primary" size="small" @click="clickSelfPayment">自付比例</el-button>
30
-                    <el-button type="danger" size="small">删除</el-button>
52
+                    <el-button @click="editProjectTeam(scope.row.id)" type="primary" size="small">编辑</el-button>
53
+                    <el-button type="danger" size="small" @click="DeleteProjectTeam(scope.row.id,scope.$index)">删除</el-button>
31 54
                 </template>
32 55
             </el-table-column>
33 56
         </el-table>
57
+          <el-pagination
58
+            @size-change="handleSizeChange"
59
+            @current-change="handleCurrentChange"
60
+            :page-sizes="[10, 50, 100]"
61
+            :page-size="10"
62
+            background
63
+            align="right"
64
+            style="margin-top:20px;"
65
+            layout="total, sizes, prev, pager, next, jumper"
66
+            :total="total"
67
+         >
68
+        </el-pagination>
69
+
34 70
         <add-inspection ref="addInspection"></add-inspection>
71
+        <edit-inspection ref="editInspection"></edit-inspection>
35 72
     </div>
36 73
 </template>
37 74
 
38 75
 <script>
39 76
 import addInspection from './addInspection'
77
+import editInspection from './editInspection'
78
+import { getProjectTeamList,DeleteProjectTeam } from "@/api/project/project"
40 79
 export default {
41 80
     components:{
42
-        addInspection
81
+        addInspection,
82
+        editInspection
43 83
     },
44 84
     data(){
45 85
         return{
@@ -52,27 +92,22 @@ export default {
52 92
             label: '否'
53 93
             },],
54 94
             value: '',
55
-            tableData: [{
56
-            date: '2016-05-02',
57
-            name: '王小虎',
58
-            address: '上海市普陀区金沙江路 1518 弄'
59
-            }, {
60
-            date: '2016-05-04',
61
-            name: '王小虎',
62
-            address: '上海市普陀区金沙江路 1517 弄'
63
-            }, {
64
-            date: '2016-05-01',
65
-            name: '王小虎',
66
-            address: '上海市普陀区金沙江路 1519 弄'
67
-            }, {
68
-            date: '2016-05-03',
69
-            name: '王小虎',
70
-            address: '上海市普陀区金沙江路 1516 弄'
71
-            }]
95
+            tableData: [],
96
+            limit:20,
97
+            page:1,
98
+            total:0
72 99
             
73 100
         }
74 101
     },
75 102
     methods:{
103
+      handleSizeChange(val) {
104
+        this.limit = val
105
+        this.getlist()
106
+      },
107
+      handleCurrentChange(val) {
108
+        this.page = val
109
+        this.getlist()
110
+      },
76 111
         searchAction(){},
77 112
         clickSelfPayment(){
78 113
             this.$refs.selfPayment.show();
@@ -82,7 +117,44 @@ export default {
82 117
         },
83 118
         openForm(id){
84 119
             this.$refs.addInspection.show(id);
120
+        },
121
+        editProjectTeam(id){
122
+           this.$refs.editInspection.show(id)
123
+        },
124
+        getlist(){
125
+            const params = {
126
+               limit:this.limit,
127
+               page:this.page,
128
+            }
129
+          getProjectTeamList(params).then(response=>{
130
+             if(response.data.state == 1){
131
+               var projectTeamList =  response.data.data.projectTeamList
132
+               console.log("projectteamlist",projectTeamList)
133
+               this.tableData = projectTeamList
134
+               var total  =  response.data.data.total
135
+               this.total = total
136
+             }
137
+          })
138
+        },
139
+        DeleteProjectTeam(id,index){
140
+          this.$confirm("确认删除此项目组套吗?", "删除", {
141
+            confirmButtonText: "确 定",
142
+            cancelButtonText: "取 消",
143
+            type: "warning"
144
+           }).then(() => {
145
+            DeleteProjectTeam(id,index).then(response => {
146
+               if (response.data.state == 1) {
147
+                 var msg = response.data.data.msg
148
+                 this.$message.success("删除成功")
149
+                this.tableData.splice(index, 1);
150
+                }
151
+            });
152
+            })
153
+            .catch(() => {});   
85 154
         }
155
+    },
156
+    created(){
157
+       this.getlist()  
86 158
     }
87 159
 }
88 160
 </script>

+ 126 - 30
src/xt_pages/data/components/project.vue Voir le fichier

@@ -26,29 +26,72 @@
26 26
             <el-button type="primary" @click="openForm(0)">新增</el-button>
27 27
         </div>
28 28
         <el-table :data="tableData" border style="width: 100%" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)', color: '#606266'}">
29
-            <el-table-column prop="date" label="自编码" width="80" align="center"></el-table-column>
30
-            <el-table-column prop="date" label="名称" align="center"></el-table-column>
31
-            <el-table-column prop="date" label="费用类型" align="center"></el-table-column>
32
-            <el-table-column prop="date" label="医计科室" width="140" align="center"></el-table-column>
33
-            <el-table-column label="医保编码" width="140" align="center"></el-table-column>
34
-            <el-table-column label="状态" width="60" align="center"></el-table-column>
29
+            <el-table-column prop="date" label="序号" width="80" align="center">
30
+                 <template  slot-scope="scope">
31
+                      {{scope.$index+1}}
32
+                 </template>
33
+            </el-table-column>
34
+            <el-table-column prop="date" label="名称" align="center">
35
+                <template  slot-scope="scope">
36
+                    {{scope.row.project_name}}
37
+                </template>
38
+            </el-table-column>
39
+            <el-table-column prop="date" label="费用类别" align="center">
40
+                  <template  slot-scope="scope">
41
+                     {{getCostClassify(scope.row.cost_classify)}}
42
+                  </template>
43
+            </el-table-column>
44
+            <el-table-column prop="date" label="执行科室" width="140" align="center">
45
+                <template  slot-scope="scope">
46
+                    {{getExecutiveSection(scope.row.executive_section)}}
47
+                </template>
48
+            </el-table-column>
49
+            <el-table-column label="医保编码" width="140" align="center">
50
+                <template  slot-scope="scope">
51
+                   {{scope.row.medical_code}}
52
+                </template>
53
+            </el-table-column>
54
+            <el-table-column label="状态" width="60" align="center">
55
+                <template slot-scope="scope">
56
+                  <span v-if="scope.row.medical_status ==0"></span>
57
+                  <span v-if="scope.row.medical_status ==1">停用</span>
58
+                  <span v-if="scope.row.medical_status ==2">收费</span>
59
+                </template>
60
+            </el-table-column>
35 61
             <el-table-column prop="date" label="操作" width="300" align="center">
36 62
                 <template slot-scope="scope">
37
-                    <el-button @click="openForm(scope.row)" type="primary" size="small">编辑</el-button>
38
-                    <el-button type="primary" size="small" @click="clickSelfPayment">自付比例</el-button>
39
-                    <el-button type="danger" size="small">删除</el-button>
63
+                    <el-button @click="editHisProject(scope.row.id)" type="primary" size="small">编辑</el-button>
64
+                    <el-button type="danger" size="small" @click="deleteProject(scope.row.id,scope.$index)">删除</el-button>
40 65
                 </template>
41 66
             </el-table-column>
42 67
         </el-table>
68
+         <el-pagination
69
+            @size-change="handleSizeChange"
70
+            @current-change="handleCurrentChange"
71
+            :page-sizes="[10, 50, 100]"
72
+            :page-size="10"
73
+            background
74
+            align="right"
75
+            style="margin-top:20px;"
76
+            layout="total, sizes, prev, pager, next, jumper"
77
+            :total="total"
78
+         >
79
+        </el-pagination>
80
+
43 81
         <add-project ref="addProject"></add-project>
82
+        <editProject ref="editProject"></editProject>
44 83
     </div>
45 84
 </template>
46 85
 
47 86
 <script>
48 87
 import addProject from './addProject'
88
+import editProject from './editProject'
89
+import { getProjectList,deleteHisProject } from "@/api/project/project"
90
+import { getDictionaryDataConfig } from "@/utils/data";
49 91
 export default {
50 92
     components:{
51
-        addProject
93
+        addProject,
94
+        editProject
52 95
     },
53 96
     data(){
54 97
         return{
@@ -61,37 +104,90 @@ export default {
61 104
             label: '否'
62 105
             },],
63 106
             value: '',
64
-            tableData: [{
65
-            date: '2016-05-02',
66
-            name: '王小虎',
67
-            address: '上海市普陀区金沙江路 1518 弄'
68
-            }, {
69
-            date: '2016-05-04',
70
-            name: '王小虎',
71
-            address: '上海市普陀区金沙江路 1517 弄'
72
-            }, {
73
-            date: '2016-05-01',
74
-            name: '王小虎',
75
-            address: '上海市普陀区金沙江路 1519 弄'
76
-            }, {
77
-            date: '2016-05-03',
78
-            name: '王小虎',
79
-            address: '上海市普陀区金沙江路 1516 弄'
80
-            }]
81
-            
107
+            limit:20,
108
+            page:1,
109
+            total:0,
110
+            tableData: []
82 111
         }
83 112
     },
84 113
     methods:{
114
+        handleSizeChange(val) {
115
+            this.limit = val
116
+            this.getlist()
117
+        },
118
+        handleCurrentChange(val) {
119
+            this.page = val
120
+            this.getlist()
121
+        },
85 122
         searchAction(){},
86 123
         clickSelfPayment(){
87 124
             this.$refs.selfPayment.show();
88 125
         },
89 126
         clickMainTain(){
90
-            // this.$refs.maintain.show();
91 127
         },
92 128
         openForm(id){
93
-            this.$refs.addProject.show(id);
129
+           this.$refs.addProject.show(id);
130
+        },
131
+        editHisProject(id){
132
+           this.$refs.editProject.show(id)
133
+        },
134
+        getCostClassify(id){
135
+          var costClassify = getDictionaryDataConfig('system','cost_classify')
136
+          var name = ""
137
+          for(let i=0;i<costClassify.length;i++){
138
+             if(id == costClassify[i].id){
139
+               name = costClassify[i].name
140
+             }
141
+          }
142
+          return name
143
+        },
144
+        getExecutiveSection(id){
145
+          var executiveSection =  getDictionaryDataConfig('system','executive_section')
146
+          var name = ""
147
+          for(let i=0;i<executiveSection.length;i++){
148
+            if(id == executiveSection[i].id){
149
+               name = executiveSection[i].name
150
+            }
151
+          }
152
+          return name
153
+        },
154
+      
155
+        getlist(){
156
+            var params = {
157
+               limit:this.limit,
158
+               page:this.page,
159
+            }
160
+          getProjectList(params).then(response=>{
161
+             if(response.data.state == 1){
162
+               var projecList = response.data.data.projecList
163
+               console.log('projectlist',projecList)
164
+               this.tableData = projecList
165
+               var total = response.data.data.total
166
+               this.total = total
167
+             }
168
+          })  
169
+        },
170
+        deleteProject(id,index){
171
+            this.$confirm("确认删除此项目吗?", "删除", {
172
+            confirmButtonText: "确 定",
173
+            cancelButtonText: "取 消",
174
+            type: "warning"
175
+           }).then(() => {
176
+            deleteHisProject(id).then(response => {
177
+               if (response.data.state == 1) {
178
+                 var msg = response.data.data.msg
179
+                 this.$message.success("删除成功")
180
+                this.tableData.splice(index, 1);
181
+                }
182
+             });
183
+            })
184
+            .catch(() => {});
94 185
         }
186
+        
187
+    },
188
+    created(){
189
+      this.getlist()
190
+     
95 191
     }
96 192
 }
97 193
 </script>

+ 1 - 1
src/xt_pages/data/components/selfPayment.vue Voir le fichier

@@ -17,7 +17,7 @@
17 17
 
18 18
     <div slot="footer" class="dialog-footer">
19 19
       <el-button @click="hide">取 消</el-button>
20
-      <el-button type="primary" :loading="submitLoading" @click="submitAction()">保 存</el-button>
20
+      <el-button type="primary"  @click="submitAction()">保 存</el-button>
21 21
     </div>
22 22
   </el-dialog>
23 23
 </template>

+ 7 - 7
src/xt_pages/data/specialDictionary.vue Voir le fichier

@@ -4,19 +4,19 @@
4 4
       <bread-crumb :crumbs="crumbs"></bread-crumb>
5 5
     </div>
6 6
     <div class="app-container">
7
-      <el-tabs v-model="activeName" @tab-click="handleClick">
7
+      <el-tabs v-model="activeName">
8 8
         <el-tab-pane label="药品" name="1">
9 9
           <drugs></drugs>
10 10
         </el-tab-pane>
11 11
         <el-tab-pane label="耗材" name="2">
12 12
           <consumables></consumables>
13 13
         </el-tab-pane>
14
-        <!--<el-tab-pane label="项目" name="3">-->
15
-        <!--<project></project>-->
16
-        <!--</el-tab-pane>-->
17
-        <!--<el-tab-pane label="检验检查项目" name="4">-->
18
-        <!--<inspection></inspection>-->
19
-        <!--</el-tab-pane>-->
14
+        <el-tab-pane label="项目" name="3">
15
+        <project></project>
16
+        </el-tab-pane>
17
+        <el-tab-pane label="项目组套" name="4">
18
+        <inspection></inspection>
19
+        </el-tab-pane>
20 20
         <el-tab-pane label="生产厂商" name="5">
21 21
           <!--<manufacturer></manufacturer>-->
22 22
           <manufacturer></manufacturer>

+ 3 - 1
src/xt_pages/dialysis/details/index.vue Voir le fichier

@@ -1300,6 +1300,7 @@ export default {
1300 1300
       })
1301 1301
     },
1302 1302
     changePatient(schedual) {
1303
+      console.log("schedual",schedual)
1303 1304
       this.patient_id = schedual.patient_id
1304 1305
       this.date = schedual.schedule_date
1305 1306
       // this.getScheduleDetail();
@@ -1312,7 +1313,8 @@ export default {
1312 1313
         query: {
1313 1314
           patient_id: patient_id,
1314 1315
           date: date,
1315
-          patient_name: schedual.patient.name
1316
+          patient_name: schedual.patient.name,
1317
+          mode_id:schedual.mode_id
1316 1318
         }
1317 1319
       })
1318 1320
     },

+ 88 - 0
src/xt_pages/outpatientCharges/components/additionalCharges.vue Voir le fichier

@@ -0,0 +1,88 @@
1
+<template>
2
+    <el-dialog
3
+        title="附加收费"
4
+        width="300px"
5
+        :visible.sync="visible"
6
+        :before-close="_close"
7
+    >
8
+        <el-table :data="tableData" border style="width: 100%;" height="300" 
9
+         :row-style="{ color: '#303133' }" 
10
+         :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" 
11
+          highlight-current-row
12
+          @selection-change="handleSelectionChange"
13
+          >
14
+            <el-table-column align="center" type="selection" width="40"></el-table-column>
15
+            <el-table-column align="center" prop="name" label="名称" width="100">
16
+                <template slot-scope="scope">{{ scope.row.name }}</template>
17
+            </el-table-column>
18
+            <el-table-column align="center" prop="name" label="金额(元)">
19
+                <template slot-scope="scope">
20
+                    <el-input v-model="scope.row.money"></el-input>
21
+                </template>
22
+            </el-table-column>
23
+        </el-table>
24
+        <div slot="footer" class="dialog-footer">
25
+            <el-button @click="hide">取 消</el-button>
26
+            <el-button type="primary"  @click="submitAction()">保 存</el-button>
27
+        </div>
28
+    </el-dialog>         
29
+</template>
30
+
31
+<script>
32
+import { saveCharges } from "@/api/project/project"
33
+export default {
34
+ 
35
+    data(){
36
+        return{
37
+            visible:false,
38
+            form:{
39
+                name:''
40
+            },
41
+            tableData:[
42
+              {id:1,name:"zs",money:50},
43
+              {id:2,name:"ls",money:60}  
44
+            ],
45
+            patient_id:0,
46
+            chargeTable:[]
47
+        }
48
+    },
49
+    methods:{
50
+        _close: function(done) {
51
+            done()
52
+        },
53
+        clear: function() {
54
+            this.form.id = 0;
55
+            this.form.name = "";
56
+            this.form.intro = "";
57
+        },
58
+        show(id) {
59
+           this.patient_id = id
60
+           this.visible = true
61
+        },
62
+        hide() {
63
+           this.visible = false
64
+        },
65
+        handleSelectionChange(val){
66
+          console.log("val",val)
67
+          this.chargeTable = val
68
+        },
69
+        submitAction(){
70
+           var params = {
71
+             patient_id:this.patient_id,
72
+             medicineData:this.chargeTable
73
+           }
74
+           console.log("params",params)
75
+          saveCharges(params).then(response=>{
76
+             if(response.data.state == 1){
77
+               var additionalCharge =  response.data.data.additionalCharge
78
+               console.log("additionalchar",additionalCharge)
79
+               this.visible = false
80
+               this.$message.success("保存成功")
81
+             }
82
+          })  
83
+        }
84
+    },
85
+   
86
+}
87
+</script>
88
+

+ 148 - 0
src/xt_pages/outpatientCharges/components/prescriptionTable.vue Voir le fichier

@@ -0,0 +1,148 @@
1
+<template>
2
+    <div class="prescriptionTable">
3
+        <el-table :data="preTableData" border style="width: 98%;" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
4
+            <el-table-column align="center" type="selection" width="40"></el-table-column>
5
+            <el-table-column align="center" type="index" width="40" label="序号"></el-table-column>
6
+            <el-table-column align="center" prop="name" label="名称">
7
+                <template slot-scope="scope">{{ scope.row.name }}</template>
8
+            </el-table-column>
9
+            <el-table-column align="center" prop="name" width="50" label="组套">
10
+                <template slot-scope="scope">
11
+                    <!-- <el-select v-model="value" placeholder="">
12
+                        <el-option
13
+                        v-for="item in newoptions"
14
+                        :key="item.value"
15
+                        :label="item.label"
16
+                        :value="item.value">
17
+                        </el-option>
18
+                    </el-select> -->
19
+                    <el-input v-model="input" placeholder=""></el-input>
20
+                </template>
21
+            </el-table-column>
22
+            <el-table-column align="center" prop="name" width="50" :label="'单次\n用量'">
23
+                <template slot-scope="scope">
24
+                    <el-input v-model="input" placeholder=""></el-input>
25
+                </template>
26
+            </el-table-column>
27
+            <el-table-column align="center" prop="name" width="50" label="用法">
28
+                <template slot-scope="scope">
29
+                    <!-- <el-select v-model="value" placeholder="">
30
+                        <el-option
31
+                        v-for="item in newoptions"
32
+                        :key="item.value"
33
+                        :label="item.label"
34
+                        :value="item.value">
35
+                        </el-option>
36
+                    </el-select> -->
37
+                    <el-input v-model="input" placeholder=""></el-input>
38
+                </template>
39
+            </el-table-column>
40
+            <el-table-column align="center" prop="name" width="50" label="频率">
41
+                <template slot-scope="scope">
42
+                    <!-- <el-select v-model="value" placeholder="">
43
+                        <el-option
44
+                        v-for="item in newoptions"
45
+                        :key="item.value"
46
+                        :label="item.label"
47
+                        :value="item.value">
48
+                        </el-option>
49
+                    </el-select> -->
50
+                    <el-input v-model="input" placeholder=""></el-input>
51
+                </template>
52
+            </el-table-column>
53
+            <el-table-column align="center" prop="name" width="50" label="天数">
54
+                <template slot-scope="scope">
55
+                    <!-- <el-select v-model="value" placeholder="">
56
+                        <el-option
57
+                        v-for="item in newoptions"
58
+                        :key="item.value"
59
+                        :label="item.label"
60
+                        :value="item.value">
61
+                        </el-option>
62
+                    </el-select> -->
63
+                    <el-input v-model="input" placeholder=""></el-input>
64
+                </template>
65
+            </el-table-column>
66
+            <el-table-column align="center" prop="name" width="100" label="总量">
67
+                <template slot-scope="scope">
68
+                    <div style="display:flex;">
69
+                        <el-input v-model="input" style="width:50%" placeholder=""></el-input>
70
+                        <!-- <el-select v-model="value" style="width:50%" placeholder="">
71
+                            <el-option
72
+                            v-for="item in newoptions"
73
+                            :key="item.value"
74
+                            :label="item.label"
75
+                            :value="item.value">
76
+                            </el-option>
77
+                        </el-select> -->
78
+                        <el-input v-model="input" style="width:50%" placeholder=""></el-input>
79
+                    </div>
80
+                </template>
81
+            </el-table-column>
82
+            <el-table-column align="center" prop="name" width="50" label="单价">
83
+                <template slot-scope="scope">
84
+                    <el-input v-model="scope.row.unitPrice" placeholder=""></el-input>
85
+                </template>
86
+            </el-table-column>
87
+            <el-table-column align="center" prop="name" width="50" label="备注">
88
+                <template slot-scope="scope">
89
+                    <!-- <el-autocomplete
90
+                    class="inline-input"
91
+                    v-model="state1"
92
+                    :fetch-suggestions="querySearch"
93
+                    placeholder=""
94
+                    @select="handleSelect"
95
+                    ></el-autocomplete> -->
96
+                </template>
97
+            </el-table-column>
98
+            <el-table-column align="center" width="40" prop="name" label="操作">
99
+                <template slot-scope="scope">
100
+                    <i class="el-icon-delete"></i>
101
+                </template>
102
+            </el-table-column>
103
+        </el-table>
104
+    </div>
105
+</template>
106
+
107
+<script>
108
+export default {
109
+    props:{
110
+        preTableData:Array
111
+    },
112
+    data(){
113
+        return{
114
+            tableData: [],
115
+            newoptions: [{
116
+            value: '1',
117
+            label: '1'
118
+            }, {
119
+            value: '2',
120
+            label: '2'
121
+            }, {
122
+            value: '3',
123
+            label: '3'
124
+            }, {
125
+            value: '4',
126
+            label: '4'
127
+            }, {
128
+            value: '5',
129
+            label: '5'
130
+            }],
131
+            value:'1',
132
+            input:1
133
+        }
134
+    }
135
+}
136
+</script>
137
+
138
+<style lang="scss">
139
+.prescriptionTable{
140
+    .el-table th .cell, .el-table td .cell{
141
+        padding: 0 2px;
142
+        white-space: pre-line;
143
+    }
144
+    .el-icon-delete{
145
+        color:red;
146
+    }
147
+}
148
+</style>

+ 342 - 24
src/xt_pages/outpatientCharges/outpatientChargesManagement.vue Voir le fichier

@@ -3,22 +3,99 @@
3 3
         <div class="position">
4 4
             <bread-crumb :crumbs='crumbs'></bread-crumb>
5 5
         </div>
6
-        <div class="app-container">
7
-            <div class="dateBox">
8
-                <el-date-picker v-model="selected_date" prefix-icon="el-icon-date" @change="handleScheduleDateChange" :editable="false" :clearable="false" style="width: 196px;" type="date" placeholder="选择日期时间" align="right" ></el-date-picker>
6
+        <div class="app-container" style="display:flex;flex: 1;padding: 20px 20px 0px 20px;">
7
+            <div class="mainLeft">
8
+                <div class="mainCell" style="justify-content: space-between;">
9
+                    <p>未就诊:<span>1</span>人</p>
10
+                    <p>已就诊:<span>0</span>人</p>
11
+                </div>
12
+                <div class="mainCell">
13
+                    <el-radio-group v-model="radio">
14
+                        <el-radio :label="1">未就诊</el-radio>
15
+                        <el-radio :label="2">已就诊</el-radio>
16
+                        <el-radio :label="3">全部</el-radio>
17
+                    </el-radio-group>
18
+                </div>
19
+                <div class="mainCell" style="margin-bottom:10px;">
20
+                    <el-input size="small" @keyup.enter.native='searchAction' v-model.trim="search_input" class="filter-item"/>
21
+                    <el-button size="small" style="margin-left:10px;" class="filter-item" type="primary" @click="searchAction">搜索</el-button>
22
+                </div>
23
+                <div style="flex:1;overflow-y:auto;">
24
+                    <el-table :data="patientTableData" border @row-click='choosePatient' style="width: 100%;" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
25
+                        <el-table-column align="center" prop="name" label="患者姓名">
26
+                            <template slot-scope="scope">{{ scope.row.name }}</template>
27
+                        </el-table-column>
28
+                        <el-table-column align="center" prop="name" label="就诊号" width="90">
29
+                            <template slot-scope="scope">{{ scope.row.mdtrt_id }}</template>
30
+                        </el-table-column>
31
+                    </el-table>
32
+                </div>
33
+            </div>
34
+            <div class="mainRight">
35
+                <div class="mainCell" style="margin-bottom:10px;flex-direction: row-reverse;">
36
+                    <el-button size="small" @click="open(1)" type="primary" style="margin-left:10px;">打印处置单</el-button>
37
+                    <el-button size="small" @click="open(2)" type="primary">打印治疗单</el-button>
38
+                    <el-button size="small" @click="open(3)" type="primary">打印</el-button>
39
+                    <el-button size="small" @click="open(4)" type="primary">收费</el-button>
40
+                    <el-button size="small" v-if="state == '已收费'" @click="open(5)" type="primary">退费</el-button>
41
+                </div>
42
+                <div class="mainCenter">
43
+                    <div class="centerLeft">
44
+                        <div class="tabsBox">
45
+                            <el-button type="text" class="addTab" @click="addCharges" icon="el-icon-circle-plus">附加收费</el-button>
46
+                            <el-tabs class="preTabs" v-model="editableTabsValue" type="card" closable @tab-remove="removeTab" :before-leave="moreState">
47
+                                <el-tab-pane
48
+                                    v-for="(item, index) in editableTabs"
49
+                                    :key="index"
50
+                                    :label="item.title"
51
+                                    :name="item.name"
52
+                                >
53
+                                    <div class="RP">Rp</div>
54
+                                    <prescription-table :preTableData='preTableData'></prescription-table>
55
+                                </el-tab-pane>
56
+                                <el-tab-pane name="more" closable><span slot="label"><i class="el-icon-plus" @click="addTab"></i></span></el-tab-pane>
57
+                            </el-tabs>
58
+                            
59
+                        </div>
60
+                        <div class="costBox">
61
+                            <span>处方编号:2134348971237883</span>
62
+                            <span>当前处方总费用:<span style="color:red;">{{ total }}元</span></span>
63
+                            <span>{{ state }}</span>
64
+                        </div>
65
+                    </div>
66
+                    <div class="centerRight">
67
+                        <p class="centerRightTitle">人员信息</p>
68
+                        <div style="display:flex;justify-content: space-between;line-height:30px;">
69
+                            <span style="font-size:14px;">人员编码:{{ patientInfo.psn_no }}</span>
70
+                            <span style="font-size:14px;">日期:2020-11-13</span>
71
+                        </div>
72
+                        <ul class="basicUl">
73
+                            <li style="width:50%;">姓名:{{ patientInfo.psn_name }}</li>
74
+                            <li style="width:50%;">性别:{{ patientInfo && patientInfo.gend == 1 ? '男' : "女" }}</li>
75
+                            <li style="width:50%;">年龄:{{ patientInfo.age }}</li>
76
+                            <li style="width:50%;">身高:</li>
77
+                            <li style="width:50%;">体重:</li>
78
+                            <li style="width:50%;">电话:</li>
79
+                            <li style="width:100%;">地址:</li>
80
+                            <li style="width:100%;">过敏史:</li>
81
+                        </ul>
82
+                        <p class="centerRightTitle">诊断信息</p>
83
+                        <div style="display:flex;justify-content: space-between;line-height:30px;">
84
+                            <span style="font-size:14px;">门诊编号:676273816287361</span>
85
+                        </div>
86
+                        <ul class="basicUl">
87
+                            <li style="width:50%;">医生:{{ doctor.name }}</li>
88
+                            <li style="width:50%;">科室:{{ doctor.department }}</li>
89
+                            <li style="width:100%;">费用:{{ doctor.total }}元</li>
90
+                            <li style="width:100%;">判断结果:</li>
91
+                            <li style="width:100%;">是否有传染病:</li>
92
+                            <li style="width:100%;">血压:</li>
93
+                        </ul>
94
+                    </div>
95
+                </div>
9 96
             </div>
10
-            <el-tabs v-model="activeName">
11
-                <el-tab-pane label="未收费" name="first">
12
-                    <no-charge></no-charge>
13
-                </el-tab-pane>
14
-                <el-tab-pane label="已收费" name="second">
15
-                    <charged></charged>
16
-                </el-tab-pane>
17
-                <el-tab-pane label="医保退处方" name="third">
18
-                    <medical-insurance-refund></medical-insurance-refund>
19
-                </el-tab-pane>
20
-            </el-tabs>
21 97
         </div>
98
+        <additionalCharges ref='additionalCharges'></additionalCharges>
22 99
     </div>
23 100
 </template>
24 101
 
@@ -28,12 +105,16 @@ import BreadCrumb from '@/xt_pages/components/bread-crumb'
28 105
 import noCharge from './components/noCharge'
29 106
 import charged from './components/charged'
30 107
 import medicalInsuranceRefund from './components/medicalInsuranceRefund'
108
+import prescriptionTable from './components/prescriptionTable'
109
+import additionalCharges from './components/additionalCharges'
31 110
 export default {
32 111
     components:{
33 112
         BreadCrumb,
34 113
         noCharge,
35 114
         charged,
36
-        medicalInsuranceRefund
115
+        medicalInsuranceRefund,
116
+        prescriptionTable,
117
+        additionalCharges
37 118
     },
38 119
     data(){
39 120
         return{
@@ -41,31 +122,268 @@ export default {
41 122
                 { path: false, name: '门诊收费' },
42 123
                 { path: false, name: '门诊收费管理' }
43 124
             ],
44
-            activeName:'first'
125
+            tableData: [{
126
+            date: '2016-05-02',
127
+            name: '王小虎',
128
+            address: '上海市普陀区金沙江路 1518 弄'
129
+            }, {
130
+            date: '2016-05-04',
131
+            name: '王小虎',
132
+            address: '上海市普陀区金沙江路 1517 弄'
133
+            }, {
134
+            date: '2016-05-01',
135
+            name: '王小虎',
136
+            address: '上海市普陀区金沙江路 1519 弄'
137
+            }, {
138
+            date: '2016-05-03',
139
+            name: '王小虎',
140
+            address: '上海市普陀区金沙江路 1516 弄'
141
+            },{
142
+            date: '2016-05-02',
143
+            name: '王小虎',
144
+            address: '上海市普陀区金沙江路 1518 弄'
145
+            }, {
146
+            date: '2016-05-04',
147
+            name: '王小虎',
148
+            address: '上海市普陀区金沙江路 1517 弄'
149
+            }, {
150
+            date: '2016-05-01',
151
+            name: '王小虎',
152
+            address: '上海市普陀区金沙江路 1519 弄'
153
+            }, {
154
+            date: '2016-05-03',
155
+            name: '王小虎',
156
+            address: '上海市普陀区金沙江路 1516 弄'
157
+            },{
158
+            date: '2016-05-02',
159
+            name: '王小虎',
160
+            address: '上海市普陀区金沙江路 1518 弄'
161
+            }, {
162
+            date: '2016-05-04',
163
+            name: '王小虎',
164
+            address: '上海市普陀区金沙江路 1517 弄'
165
+            }, {
166
+            date: '2016-05-01',
167
+            name: '王小虎',
168
+            address: '上海市普陀区金沙江路 1519 弄'
169
+            }, {
170
+            date: '2016-05-03',
171
+            name: '王小虎',
172
+            address: '上海市普陀区金沙江路 1516 弄'
173
+            }, {
174
+            date: '2016-05-04',
175
+            name: '王小虎',
176
+            address: '上海市普陀区金沙江路 1517 弄'
177
+            }, {
178
+            date: '2016-05-01',
179
+            name: '王小虎',
180
+            address: '上海市普陀区金沙江路 1519 弄'
181
+            }, {
182
+            date: '2016-05-03',
183
+            name: '王小虎',
184
+            address: '上海市普陀区金沙江路 1516 弄'
185
+            }],
186
+            editableTabsValue: '1',
187
+            editableTabs: [{
188
+            title: '处方1',
189
+            name: '1',
190
+            }],
191
+            tabIndex: 1,
192
+
193
+            patientTableData:[{
194
+                name:'杨美英',
195
+                mdtrt_id:"1709946",
196
+            }],
197
+            patientInfo:{},
198
+            doctor:{},
199
+            total:0,
200
+            state:'未收费'
201
+        }
202
+    },
203
+    created(){
204
+        
205
+    },
206
+    methods:{
207
+        moreState(tab, event){
208
+          if(tab == 'more'){
209
+            return false;
210
+          }
211
+        },
212
+        open(index){
213
+            if(index == 1){
214
+            }else if(index == 2){
215
+                
216
+            }else if(index == 4){
217
+                this.state = '已收费'
218
+                this.$message({message: '收费成功',type: 'success'});
219
+            }else if(index == 5){
220
+                this.$message({message: '退费成功',type: 'success'});
221
+            }
222
+            
223
+        },
224
+        addTab(targetName) {
225
+            let newTabName = ++this.tabIndex + '';
226
+            this.editableTabs.push({
227
+                title: '处方' + this.tabIndex,
228
+                name: newTabName,
229
+            });
230
+            this.editableTabsValue = newTabName;
231
+        },
232
+        removeTab(targetName) {
233
+            let tabs = this.editableTabs;
234
+            let activeName = this.editableTabsValue;
235
+            if (activeName === targetName) {
236
+            tabs.forEach((tab, index) => {
237
+                if (tab.name === targetName) {
238
+                let nextTab = tabs[index + 1] || tabs[index - 1];
239
+                if (nextTab) {
240
+                    activeName = nextTab.name;
241
+                }
242
+                }
243
+            });
244
+            }
245
+            
246
+            this.editableTabsValue = activeName;
247
+            this.editableTabs = tabs.filter(tab => tab.name !== targetName);
248
+        },
249
+        addCharges(){
250
+            this.$refs.additionalCharges.show()
251
+        },
252
+        choosePatient(){
253
+            let a = JSON.parse(localStorage.getItem("drugs"))
254
+            this.preTableData = a
255
+            this.preTableData.map(item => {
256
+                this.total += item.unitPrice
257
+            })
258
+            this.patientInfo = {
259
+                certno:"440221195903290027",
260
+                psn_no:"0221201972",
261
+                gend:"2",
262
+                brdy:"1960-03-29",
263
+                naty:"01",
264
+                psn_cert_type:"01",
265
+                psn_name:"杨美英",
266
+                age:60.7
267
+            }
268
+            this.doctor = {
269
+                name:'刘志刚',
270
+                department:'血透中心',
271
+                total:20,
272
+            }
45 273
         }
46 274
     }
47 275
 }
48 276
 </script>
49 277
 
50 278
 <style lang="scss" scoped>
279
+.app-container{
280
+    height:100%;
281
+}
51 282
 .outpatientChargesManagement{
52
-    .el-tabs{
283
+    height: 100%;
284
+    display: flex;
285
+    flex-direction: column;
286
+    .mainLeft{
287
+        width:200px;
288
+        height: 100%;
289
+        display: flex;
290
+        flex-direction: column;
291
+        .el-radio{
292
+            margin-right:5px;
293
+        }
294
+        
295
+    }
296
+    .mainCell{
297
+        height:36px;
298
+        display: flex;
299
+        align-items: center;
300
+    }
301
+    .mainRight{
302
+        margin-left:20px;
303
+        flex:1;
304
+        height: 100%;
305
+        display: flex;
306
+        flex-direction: column;
307
+        overflow-y: auto;
308
+        .cellSpan{
309
+            min-width: 80px;
310
+            display: inline-block;
311
+            margin-right: 10px;
312
+        }
313
+    }
314
+    .tabsBox{
53 315
         position: relative;
316
+        height: 90%;
317
+        overflow-y: auto;
318
+        margin-bottom: 60px;
319
+        .el-tabs__item{
320
+            padding: 0 10px;
321
+        }
54 322
     }
55
-    .el-tabs__nav-wrap{
56
-        padding-left:200px;
323
+    .addTab{
324
+        position: absolute;
325
+        right: 0;
326
+        top: 6px;
327
+        z-index: 20;
328
+    }
329
+    .mainCenter{
330
+        display: flex;
331
+        flex:1;
57 332
     }
58
-    .dateBox{
333
+    .costBox{
334
+        width:100%;
335
+        height:60px;
336
+        background:#fff;
59 337
         position: absolute;
60
-        z-index:99;
338
+        bottom:0;
339
+        display: flex;
340
+        align-items: center;
341
+        justify-content: space-between;
342
+    }
343
+    .centerLeft{
344
+        flex: 1;
345
+        display: flex;
346
+        flex-direction: column;
347
+        position: relative;
348
+    }
349
+    .centerRight{
350
+        width: 300px;
351
+        margin-left: 5px;
352
+        display: flex;
353
+        flex-direction: column;
354
+    }
355
+    .RP{
356
+        color:#409EFF;
357
+        font-size: 20px;
358
+        margin-bottom: 5px;
359
+    }
360
+    .centerRightTitle{
361
+        color:#409EFF;
362
+        padding-top: 10px;;
363
+    }
364
+    .basicUl{
365
+        border-top: 1px solid #e5e5e5;
366
+        border-left: 1px solid #e5e5e5;
367
+        display: flex;
368
+        flex-wrap: wrap;
369
+        li{
370
+            border-bottom: 1px solid #e5e5e5;
371
+            border-right: 1px solid #e5e5e5;
372
+            width: 100%;
373
+            height: 38px;
374
+            line-height: 38px;
375
+            text-indent: 5px;
376
+            font-size: 14px;
377
+        }
61 378
     }
62 379
 }
63 380
 </style>
64 381
 
65 382
 <style lang="scss">
66
-.outpatientChargesManagement{
67
-    .el-tabs__nav-wrap{
68
-        padding-left:220px;
383
+#tab-more{
384
+    .el-icon-close{
385
+        display: none;
69 386
     }
70 387
 }
71 388
 </style>
389
+

+ 6 - 1
src/xt_pages/outpatientCharges/summary.vue Voir le fichier

@@ -44,7 +44,7 @@
44 44
                 </el-table-column>
45 45
                 <el-table-column align="center" prop="name" label="操作">
46 46
                     <template slot-scope="scope">
47
-                        <el-button size="mini" type="primary">打印</el-button>
47
+                        <el-button size="mini" type="primary" @click="toDetail">详情</el-button>
48 48
                     </template>
49 49
                 </el-table-column>
50 50
             </el-table>
@@ -83,6 +83,11 @@ export default {
83 83
             address: '上海市普陀区金沙江路 1516 弄'
84 84
             }]
85 85
         }
86
+    },
87
+    methods:{
88
+        toDetail(){
89
+            this.$router.push('/outpatientCharges/summaryDetail')
90
+        }
86 91
     }
87 92
 }
88 93
 </script>

+ 230 - 0
src/xt_pages/outpatientCharges/summaryDetail.vue Voir le fichier

@@ -0,0 +1,230 @@
1
+<template>
2
+    <div class="main-contain summaryDetail">
3
+        <div class="position">
4
+            <bread-crumb :crumbs='crumbs'></bread-crumb>
5
+        </div>
6
+        <div class="app-container" style="display:flex;flex: 1;padding: 20px 20px 0px 20px;">
7
+            <div class="mainCenter">
8
+                <div class="centerLeft">
9
+                    <div class="tabsBox">
10
+                        <el-button type="text" class="addTab" @click="addCharges" icon="el-icon-circle-plus">附加收费</el-button>
11
+                        <el-tabs class="preTabs" v-model="editableTabsValue" type="card" closable @tab-remove="removeTab" :before-leave="moreState">
12
+                            <el-tab-pane
13
+                                v-for="(item, index) in editableTabs"
14
+                                :key="index"
15
+                                :label="item.title"
16
+                                :name="item.name"
17
+                            >
18
+                                <div class="RP">Rp</div>
19
+                                <el-table :data="tableData" border style="width: 99%;" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
20
+                                    <el-table-column align="center" type="index" width="40" label="序号"></el-table-column>
21
+                                    <el-table-column align="center" prop="name" label="名称">
22
+                                        <template slot-scope="scope">{{ scope.row.date }}</template>
23
+                                    </el-table-column>
24
+                                    <el-table-column align="center" prop="name" width="50" label="组套">
25
+                                        <template slot-scope="scope">
26
+                                            
27
+                                        </template>
28
+                                    </el-table-column>
29
+                                    <el-table-column align="center" prop="name" width="50" :label="'单次\n用量'">
30
+                                        <template slot-scope="scope">
31
+                                            
32
+                                        </template>
33
+                                    </el-table-column>
34
+                                    <el-table-column align="center" prop="name" width="50" label="用法">
35
+                                        <template slot-scope="scope">
36
+                                            
37
+                                        </template>
38
+                                    </el-table-column>
39
+                                    <el-table-column align="center" prop="name" width="50" label="频率">
40
+                                        <template slot-scope="scope">
41
+                                            
42
+                                        </template>
43
+                                    </el-table-column>
44
+                                    <el-table-column align="center" prop="name" width="50" label="天数">
45
+                                        <template slot-scope="scope">
46
+                                            
47
+                                        </template>
48
+                                    </el-table-column>
49
+                                    <el-table-column align="center" prop="name" width="100" label="总量">
50
+                                        <template slot-scope="scope">
51
+                                            
52
+                                        </template>
53
+                                    </el-table-column>
54
+                                    <el-table-column align="center" prop="name" width="50" label="单价">
55
+                                        <template slot-scope="scope">
56
+                                            
57
+                                        </template>
58
+                                    </el-table-column>
59
+                                    <el-table-column align="center" prop="name" width="50" label="备注">
60
+                                        <template slot-scope="scope">
61
+                                            
62
+                                        </template>
63
+                                    </el-table-column>
64
+                                </el-table>
65
+                            </el-tab-pane>
66
+                        </el-tabs>
67
+                        
68
+                    </div>
69
+                    <div class="costBox">
70
+                        <span>处方编号:2134348971237883</span>
71
+                        <span>当前处方总费用:<span style="color:red;">0.00元</span></span>
72
+                        <span>已收费</span>
73
+                    </div>
74
+                </div>
75
+                <div class="centerRight">
76
+                    <p class="centerRightTitle">人员信息</p>
77
+                    <ul class="basicUl">
78
+                        <li style="width:50%;">姓名:张三</li>
79
+                        <li style="width:50%;">性别:男</li>
80
+                        <li style="width:50%;">年龄:12</li>
81
+                        <li style="width:50%;">身高:123</li>
82
+                        <li style="width:50%;">体重:44kg</li>
83
+                        <li style="width:50%;">电话:348971237883</li>
84
+                    </ul>
85
+                    <p class="centerRightTitle">收费信息</p>
86
+                    <ul class="basicUl">
87
+                        <li style="width:50%;">应收金额:0.00元</li>
88
+                        <li style="width:50%;">实收金额:0.00元</li>
89
+                        <li style="width:50%;">舍入金额:0.00元</li>
90
+                        <li style="width:50%;">优惠金额:0.00元</li>
91
+                        <li style="width:50%;">总金额</li>
92
+                        <li style="width:50%;">0.00元</li>
93
+                    </ul>
94
+                    <p class="centerRightTitle">发票费用</p>
95
+                    <ul class="basicUl">
96
+                        <li style="width:100%;">西药费:0.00元</li>
97
+                    </ul>
98
+                </div>
99
+            </div>
100
+        </div>
101
+    </div>
102
+</template>
103
+
104
+
105
+<script>
106
+import BreadCrumb from '@/xt_pages/components/bread-crumb'
107
+export default {
108
+    components:{
109
+        BreadCrumb,
110
+    },
111
+    data(){
112
+        return{
113
+            crumbs: [
114
+                { path: false, name: '门诊收费' },
115
+                { path: false, name: '项目消费明细汇总详情' }
116
+            ],
117
+            tableData: [{
118
+            date: '2016-05-02',
119
+            name: '王小虎',
120
+            address: '上海市普陀区金沙江路 1518 弄'
121
+            }, {
122
+            date: '2016-05-04',
123
+            name: '王小虎',
124
+            address: '上海市普陀区金沙江路 1517 弄'
125
+            }, {
126
+            date: '2016-05-01',
127
+            name: '王小虎',
128
+            address: '上海市普陀区金沙江路 1519 弄'
129
+            }, {
130
+            date: '2016-05-03',
131
+            name: '王小虎',
132
+            address: '上海市普陀区金沙江路 1516 弄'
133
+            }],
134
+            editableTabsValue: '1',
135
+            editableTabs: [{
136
+            title: '处方1',
137
+            name: '1',
138
+            }],
139
+            tabIndex: 1,
140
+        }
141
+    }
142
+}
143
+</script>
144
+
145
+<style lang="scss" scoped>
146
+.summaryDetail{
147
+    height: 100%;
148
+    display: flex;
149
+    flex-direction: column;
150
+    .tabsBox{
151
+        position: relative;
152
+        height: 90%;
153
+        overflow-y: auto;
154
+        margin-bottom: 60px;
155
+        .el-tabs__item{
156
+            padding: 0 10px;
157
+        }
158
+    }
159
+    .addTab{
160
+        position: absolute;
161
+        right: 0;
162
+        top: 6px;
163
+        z-index: 20;
164
+    }
165
+    .mainCenter{
166
+        display: flex;
167
+        flex:1;
168
+    }
169
+    .costBox{
170
+        width:100%;
171
+        height:60px;
172
+        background:#fff;
173
+        position: absolute;
174
+        bottom:0;
175
+        display: flex;
176
+        justify-content: space-between;
177
+        align-items: center;
178
+    }
179
+    .centerLeft{
180
+        flex: 1;
181
+        display: flex;
182
+        flex-direction: column;
183
+        position: relative;
184
+    }
185
+    .centerRight{
186
+        width: 300px;
187
+        margin-left: 5px;
188
+        display: flex;
189
+        flex-direction: column;
190
+    }
191
+    .RP{
192
+        color:#409EFF;
193
+        font-size: 20px;
194
+        margin-bottom: 5px;
195
+    }
196
+    .centerRightTitle{
197
+        color:#409EFF;
198
+        padding: 10px 0;
199
+    }
200
+    .basicUl{
201
+        border-top: 1px solid #e5e5e5;
202
+        border-left: 1px solid #e5e5e5;
203
+        display: flex;
204
+        flex-wrap: wrap;
205
+        li{
206
+            border-bottom: 1px solid #e5e5e5;
207
+            border-right: 1px solid #e5e5e5;
208
+            width: 100%;
209
+            height: 38px;
210
+            line-height: 38px;
211
+            text-indent: 5px;
212
+            font-size: 14px;
213
+        }
214
+    }
215
+}
216
+</style>
217
+
218
+<style lang="scss">
219
+.summaryDetail{
220
+    .el-table th .cell, .el-table td .cell{
221
+        padding: 0 2px;
222
+        white-space: pre-line;
223
+    }
224
+    .el-icon-delete{
225
+        color:red;
226
+    }
227
+}
228
+
229
+</style>
230
+

+ 57 - 0
src/xt_pages/outpatientDoctorStation/components/additionalCharges.vue Voir le fichier

@@ -0,0 +1,57 @@
1
+<template>
2
+    <el-dialog
3
+        title="附加收费"
4
+        width="300px"
5
+        :visible.sync="visible"
6
+        :before-close="_close"
7
+    >
8
+        <el-table :data="tableData" border style="width: 100%;" height="300" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
9
+            <el-table-column align="center" type="selection" width="40"></el-table-column>
10
+            <el-table-column align="center" prop="name" label="名称" width="100">
11
+                <template slot-scope="scope">{{ scope.row.date }}</template>
12
+            </el-table-column>
13
+            <el-table-column align="center" prop="name" label="金额(元)">
14
+                <template slot-scope="scope">
15
+                    <el-input v-model="input" placeholder=""></el-input>
16
+                </template>
17
+            </el-table-column>
18
+        </el-table>
19
+        <div slot="footer" class="dialog-footer">
20
+            <el-button @click="hide">取 消</el-button>
21
+            <el-button type="primary" :loading="submitLoading" @click="submitAction()">保 存</el-button>
22
+        </div>
23
+    </el-dialog>         
24
+</template>
25
+
26
+<script>
27
+export default {
28
+    data(){
29
+        return{
30
+            visible:false,
31
+            form:{
32
+                name:''
33
+            },
34
+        }
35
+    },
36
+    methods:{
37
+        _close: function(done) {
38
+            // this.clear()
39
+            done()
40
+        },
41
+        clear: function() {
42
+            this.form.id = 0;
43
+            this.form.name = "";
44
+            this.form.intro = "";
45
+        },
46
+        show() {
47
+            // this.clear()
48
+            this.visible = true
49
+        },
50
+        hide() {
51
+            // this.clear()
52
+            this.visible = false
53
+        },
54
+    }
55
+}
56
+</script>
57
+

+ 572 - 0
src/xt_pages/outpatientDoctorStation/components/deskPrescription.vue Voir le fichier

@@ -0,0 +1,572 @@
1
+<template>
2
+    <div style="height: calc(100% - 36px);display: flex;flex-direction: column;">
3
+        <div style="border-top:1px solid #e5e5e5;margin-top:5px;">
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>
6
+                <el-button size="small" @click="open(2)" type="primary">打印</el-button>
7
+                <el-button size="small" @click="open(4)" type="primary">选择模板</el-button>
8
+                <el-button size="small" @click="open(5)" type="primary">存模板</el-button>
9
+            </div>
10
+        </div>
11
+        <div class="backColor"></div>
12
+        <div class="mainCenter">
13
+            <div class="centerLeft">
14
+                <el-form :model="form" :rules="rules" ref="form" label-width="80px">
15
+                    <el-form-item label="姓名:" prop="name">
16
+                        <el-input v-model="patientInfo.psn_name" placeholder=""></el-input>
17
+                    </el-form-item>
18
+                    <el-form-item label="证件号: " prop="name">
19
+                        <el-input v-model="patientInfo.certno" placeholder=""></el-input>
20
+                    </el-form-item>
21
+                    <el-form-item label="挂号类型: " prop="name">
22
+                        <el-input v-model="form.name" placeholder=""></el-input>
23
+                    </el-form-item>
24
+                    <el-form-item label="诊断:" prop="name">
25
+                        <el-autocomplete
26
+                        style="width:100%;"
27
+                        class="inline-input"
28
+                        v-model="state1"
29
+                        :fetch-suggestions="querySearch"
30
+                        placeholder="请输入内容"
31
+                        @select="handleSelect"
32
+                        ></el-autocomplete>
33
+                    </el-form-item>
34
+                    <el-form-item label="大病类别: " prop="name">
35
+                        <el-input v-model="form.name" placeholder=""></el-input>
36
+                    </el-form-item>
37
+                    <el-form-item label="处方类型: " prop="name">
38
+                        <el-select v-model="value" placeholder="请选择" style="width:100%;">
39
+                            <el-option
40
+                            v-for="item in options"
41
+                            :key="item.value"
42
+                            :label="item.label"
43
+                            :value="item.value">
44
+                            </el-option>
45
+                        </el-select>
46
+                    </el-form-item>
47
+                </el-form>
48
+                <div class="tabsBox">
49
+                    
50
+                    <el-button type="text" class="addTab" @click="addCharges" icon="el-icon-circle-plus">附加收费</el-button>
51
+                    <el-tabs class="preTabs" v-model="editableTabsValue" type="card" closable @tab-remove="removeTab" :before-leave="moreState">
52
+                        <el-tab-pane
53
+                            v-for="(item, index) in editableTabs"
54
+                            :key="index"
55
+                            :label="item.title"
56
+                            :name="item.name"
57
+                        >
58
+                            <div class="RP">Rp</div>
59
+                            <prescription-table :preDrugs="preDrugs"></prescription-table>
60
+                        </el-tab-pane>
61
+                        <el-tab-pane name="more" closable><span slot="label"><i class="el-icon-plus" @click="addTab"></i></span></el-tab-pane>
62
+                    </el-tabs>
63
+                </div>
64
+                <div class="costBox">
65
+                    <span>医生:</span>
66
+                    <el-select style="margin-right:5px;" v-model="doctorValue" placeholder="">
67
+                        <el-option
68
+                        v-for="item in doctorOptions"
69
+                        :key="item.value"
70
+                        :label="item.label"
71
+                        :value="item.value">
72
+                        </el-option>
73
+                    </el-select>
74
+                    <span>科室:</span>
75
+                    <el-select style="margin-right:5px;" v-model="departmentValue" placeholder="">
76
+                        <el-option
77
+                        v-for="item in departmentOptions"
78
+                        :key="item.value"
79
+                        :label="item.label"
80
+                        :value="item.value">
81
+                        </el-option>
82
+                    </el-select>
83
+                    <span>总计:</span>
84
+                    <span style="color:red;">{{ total }}</span>元
85
+                </div>
86
+            </div>
87
+            <div class='centerRight'>
88
+                <div class="rightTab">
89
+                    <p :class="rightTab == 1 ? 'activeP' : ''" @click="clickTab(1)">药品</p>
90
+                    <p :class="rightTab == 2 ? 'activeP' : ''" @click="clickTab(2)">项目</p>
91
+                </div>
92
+                <template>
93
+                    <div style="margin-top:5px;">
94
+                        <el-input style="width:50%;" v-model="input" placeholder=""></el-input>
95
+                        <el-select style="float: right;width: 49%;" v-model="value" placeholder="">
96
+                            <el-option
97
+                            v-for="item in options"
98
+                            :key="item.value"
99
+                            :label="item.label"
100
+                            :value="item.value">
101
+                            </el-option>
102
+                        </el-select>
103
+                    </div>
104
+                    <div style="height:84%;overflow-y: auto;margin-bottom: 60px;">
105
+                        <el-tabs class="rightTabs" v-model="activeName">
106
+                            <el-tab-pane label="药品列表" name="1">
107
+                                <el-table :data="drugTableData" border @select='selectDrugs' style="width: 100%;" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
108
+                                    <el-table-column align="center" type="selection" width="40"></el-table-column>
109
+                                    <el-table-column align="center" prop="name" label="名称">
110
+                                        <template slot-scope="scope">{{ scope.row.name }}</template>
111
+                                    </el-table-column>
112
+                                    <el-table-column align="center" label="规格" width="60">
113
+                                        <template slot-scope="scope">{{ scope.row.specifications }}</template>
114
+                                    </el-table-column>
115
+                                    <el-table-column align="center" label="库存" width="60">
116
+                                        <template slot-scope="scope">{{ scope.row.stock }}</template>
117
+                                    </el-table-column>
118
+                                    <el-table-column align="center" label="单价" width="40">
119
+                                        <template slot-scope="scope">{{ scope.row.unitPrice }}</template>
120
+                                    </el-table-column>
121
+                                </el-table>
122
+                            </el-tab-pane>
123
+                            <el-tab-pane label="医嘱模板" name="2">
124
+                                <el-table :data="tableData" border style="width: 100%;" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
125
+                                    <el-table-column align="center" type="selection" width="40"></el-table-column>
126
+                                    <el-table-column align="center" prop="name" label="名称">
127
+                                        <template slot-scope="scope">{{ scope.row.date }}</template>
128
+                                    </el-table-column>
129
+                                    <el-table-column align="center" label="规格" width="60">
130
+                                        <template slot-scope="scope">33</template>
131
+                                    </el-table-column>
132
+                                    <el-table-column align="center" label="库存" width="60">
133
+                                        <template slot-scope="scope">22</template>
134
+                                    </el-table-column>
135
+                                    <el-table-column align="center" label="单价" width="40">
136
+                                        <template slot-scope="scope">12</template>
137
+                                    </el-table-column>
138
+                                </el-table>
139
+                            </el-tab-pane>
140
+                        </el-tabs>
141
+                    </div>
142
+                    <div class="comfirmBox">
143
+                        <div>
144
+                            <span>药品类型:</span>
145
+                            <el-select style="margin-right:5px;width:100px;" v-model="value" placeholder="">
146
+                                <el-option
147
+                                v-for="item in options"
148
+                                :key="item.value"
149
+                                :label="item.label"
150
+                                :value="item.value">
151
+                                </el-option>
152
+                            </el-select>
153
+                        </div>
154
+                        <el-button type="primary" size="small" @click="comfirm">确定添加</el-button>
155
+                    </div>
156
+                </template>
157
+            </div>
158
+        </div>
159
+        <additionalCharges ref='additionalCharges'></additionalCharges>
160
+        <select-template ref='selectTemplate'></select-template>
161
+        <save-template ref='saveTemplate'></save-template>
162
+    </div>
163
+</template>
164
+
165
+
166
+<script>
167
+import prescriptionTable from './prescriptionTable'
168
+import selectTemplate from './selectTemplate'
169
+import saveTemplate from './saveTemplate'
170
+import additionalCharges from './additionalCharges'
171
+export default {
172
+    props:{
173
+        patientInfo:Object
174
+    },
175
+    components:{
176
+        selectTemplate,
177
+        saveTemplate,
178
+        prescriptionTable,
179
+        additionalCharges
180
+    },
181
+    data(){
182
+        return{
183
+            form:{
184
+                name:''
185
+            },
186
+            tableData: [{
187
+            date: '2016-05-02',
188
+            name: '王小虎',
189
+            address: '上海市普陀区金沙江路 1518 弄'
190
+            }, {
191
+            date: '2016-05-04',
192
+            name: '王小虎',
193
+            address: '上海市普陀区金沙江路 1517 弄'
194
+            }, {
195
+            date: '2016-05-01',
196
+            name: '王小虎',
197
+            address: '上海市普陀区金沙江路 1519 弄'
198
+            }, {
199
+            date: '2016-05-03',
200
+            name: '王小虎',
201
+            address: '上海市普陀区金沙江路 1516 弄'
202
+            },{
203
+            date: '2016-05-02',
204
+            name: '王小虎',
205
+            address: '上海市普陀区金沙江路 1518 弄'
206
+            }, {
207
+            date: '2016-05-04',
208
+            name: '王小虎',
209
+            address: '上海市普陀区金沙江路 1517 弄'
210
+            }, {
211
+            date: '2016-05-01',
212
+            name: '王小虎',
213
+            address: '上海市普陀区金沙江路 1519 弄'
214
+            }, {
215
+            date: '2016-05-03',
216
+            name: '王小虎',
217
+            address: '上海市普陀区金沙江路 1516 弄'
218
+            },{
219
+            date: '2016-05-02',
220
+            name: '王小虎',
221
+            address: '上海市普陀区金沙江路 1518 弄'
222
+            }, {
223
+            date: '2016-05-04',
224
+            name: '王小虎',
225
+            address: '上海市普陀区金沙江路 1517 弄'
226
+            }, {
227
+            date: '2016-05-01',
228
+            name: '王小虎',
229
+            address: '上海市普陀区金沙江路 1519 弄'
230
+            }, {
231
+            date: '2016-05-03',
232
+            name: '王小虎',
233
+            address: '上海市普陀区金沙江路 1516 弄'
234
+            }, {
235
+            date: '2016-05-04',
236
+            name: '王小虎',
237
+            address: '上海市普陀区金沙江路 1517 弄'
238
+            }, {
239
+            date: '2016-05-01',
240
+            name: '王小虎',
241
+            address: '上海市普陀区金沙江路 1519 弄'
242
+            }, {
243
+            date: '2016-05-03',
244
+            name: '王小虎',
245
+            address: '上海市普陀区金沙江路 1516 弄'
246
+            }],
247
+            editableTabsValue: '1',
248
+            editableTabs: [{
249
+            title: '处方1',
250
+            name: '1',
251
+            }],
252
+            tabIndex: 1,
253
+
254
+            rightTab:1,
255
+            activeName:'1',
256
+
257
+            drugTableData:[
258
+                {
259
+                    name:'头孢氨苄甲氧苄啶',
260
+                    specifications:'1',
261
+                    stock:10,
262
+                    unitPrice:10
263
+                },
264
+                {
265
+                    name:'注射用甲磺酸齐拉西酮',
266
+                    specifications:'1',
267
+                    stock:10,
268
+                    unitPrice:10
269
+                },
270
+                {
271
+                    name:'九味羌活片',
272
+                    specifications:'1',
273
+                    stock:10,
274
+                    unitPrice:10
275
+                },
276
+                {
277
+                    name:'氟哌啶醇注射液',
278
+                    specifications:'1',
279
+                    stock:10,
280
+                    unitPrice:10
281
+                },
282
+                {
283
+                    name:'奥氮平口崩片',
284
+                    specifications:'1',
285
+                    stock:10,
286
+                    unitPrice:10
287
+                },
288
+                {
289
+                    name:'利培酮口崩片',
290
+                    specifications:'1',
291
+                    stock:10,
292
+                    unitPrice:10
293
+                },
294
+            ],
295
+            preDrugs:[],
296
+            curDrugs:[],
297
+            doctorOptions:[
298
+                {
299
+                    value: '1',
300
+                    label: '刘志刚'
301
+                },
302
+                {
303
+                    value: '2',
304
+                    label: '李悦'
305
+                },
306
+                {
307
+                    value: '3',
308
+                    label: '董校含'
309
+                },
310
+            ],
311
+            doctorValue:'',
312
+            departmentOptions:[
313
+                {
314
+                    value: '1',
315
+                    label: '血透中心'
316
+                },
317
+                {
318
+                    value: '2',
319
+                    label: '心内科'
320
+                },
321
+            ],
322
+            departmentValue:'',
323
+            total:0
324
+        }
325
+    },
326
+    methods:{
327
+        moreState(tab, event){
328
+          if(tab == 'more'){
329
+            return false;
330
+          }
331
+        },
332
+        open(index){
333
+            if(index == 1){
334
+                localStorage.setItem("drugs",JSON.stringify(this.preDrugs));
335
+                this.$message({message: '保存成功',type: 'success'});
336
+            }else if(index == 2){
337
+                this.$router.push('/outpatientDoctorStation/print')
338
+            }else if(index == 4){
339
+                this.$refs.selectTemplate.show()
340
+            }else if(index == 5){
341
+                this.$refs.saveTemplate.show()
342
+            }
343
+            
344
+        },
345
+        addTab(targetName) {
346
+            let newTabName = ++this.tabIndex + '';
347
+            this.editableTabs.push({
348
+                title: '处方' + this.tabIndex,
349
+                name: newTabName,
350
+            });
351
+            this.editableTabsValue = newTabName;
352
+        },
353
+        removeTab(targetName) {
354
+            let tabs = this.editableTabs;
355
+            let activeName = this.editableTabsValue;
356
+            if (activeName === targetName) {
357
+            tabs.forEach((tab, index) => {
358
+                if (tab.name === targetName) {
359
+                let nextTab = tabs[index + 1] || tabs[index - 1];
360
+                if (nextTab) {
361
+                    activeName = nextTab.name;
362
+                }
363
+                }
364
+            });
365
+            }
366
+            
367
+            this.editableTabsValue = activeName;
368
+            this.editableTabs = tabs.filter(tab => tab.name !== targetName);
369
+        },
370
+        clickTab(index){
371
+            this.rightTab = index
372
+        },
373
+        addCharges(){
374
+            this.$refs.additionalCharges.show()
375
+        },
376
+        selectDrugs(selection, row){
377
+            this.curDrugs = selection
378
+        },
379
+        comfirm(){
380
+            this.preDrugs = this.curDrugs
381
+            this.preDrugs.map(item => {
382
+                this.total += item.unitPrice
383
+            })
384
+            
385
+        }
386
+    }
387
+}
388
+</script>
389
+
390
+<style lang="scss" scoped>
391
+.new-main-contain{
392
+    height: 100%;
393
+    display: flex;
394
+    flex-direction: column;
395
+}
396
+.app-container{
397
+    height:100%;
398
+}
399
+.mainCell{
400
+    height:36px;
401
+    display: flex;
402
+    align-items: center;
403
+}
404
+.mainLeft{
405
+    width:200px;
406
+    height: 100%;
407
+    display: flex;
408
+    flex-direction: column;
409
+    .el-radio{
410
+        margin-right:5px;
411
+    }
412
+    
413
+}
414
+.mainRight{
415
+    margin-left:20px;
416
+    flex:1;
417
+    height: 100%;
418
+    display: flex;
419
+    flex-direction: column;
420
+    .cellSpan{
421
+        min-width: 80px;
422
+        display: inline-block;
423
+        margin-right: 10px;
424
+    }
425
+}
426
+.mainCenter{
427
+    display: flex;
428
+    flex:1;
429
+}
430
+.centerLeft{
431
+    flex: 1;
432
+    display: flex;
433
+    flex-direction: column;
434
+    position: relative;
435
+    .el-form-item{
436
+        width:32%;
437
+        margin-right: 1%;
438
+        float: left;
439
+    }
440
+    .el-form-item__label{
441
+        text-align: left;
442
+    }
443
+}
444
+.backColor{
445
+    background: #f6f8f9;
446
+    height: 5px;
447
+    margin-bottom: 5px;
448
+}
449
+.RP{
450
+    color:#409EFF;
451
+    font-size: 20px;
452
+    margin-bottom: 5px;
453
+}
454
+.tabsBox{
455
+    position: relative;
456
+    height: 76%;
457
+    overflow-y: auto;
458
+    margin-bottom: 60px;
459
+    .el-tabs__item{
460
+        padding: 0 10px;
461
+    }
462
+}
463
+.preTabs{
464
+    height:100%;
465
+}
466
+.costBox{
467
+    width:100%;
468
+    height:60px;
469
+    background:#fff;
470
+    position: absolute;
471
+    bottom:0;
472
+    display: flex;
473
+    align-items: center;
474
+}
475
+.addTab{
476
+    position: absolute;
477
+    right: 0;
478
+    top: 6px;
479
+    z-index: 20;
480
+}
481
+.centerRight{
482
+    width: 300px;
483
+    margin-left: 5px;
484
+    display: flex;
485
+    flex-direction: column;
486
+    position: relative;
487
+}
488
+.rightTab{
489
+    height: 40px;
490
+    width: 100%;
491
+    border: 1px solid #d2d2d2;
492
+    box-sizing: border-box;
493
+    
494
+    p{
495
+        width: 50%;
496
+        height: 40px;
497
+        line-height: 40px;
498
+        text-align: center;
499
+        background: #eee;
500
+        float: left;
501
+    }
502
+    >p:last-child{
503
+      border-left: 1px solid #d2d2d2;  
504
+      float: right;
505
+    }
506
+    .activeP{
507
+        background: #409EFF;
508
+        color:#fff;
509
+    }
510
+}
511
+.comfirmBox{
512
+    width:100%;
513
+    height:60px;
514
+    background:#fff;
515
+    position: absolute;
516
+    bottom:0;
517
+    display: flex;
518
+    align-items: center;
519
+    justify-content: space-between;
520
+}
521
+</style>
522
+
523
+<style lang="scss">
524
+.centerLeft{
525
+    .el-form-item__label{
526
+        text-align: left;
527
+    }
528
+}
529
+.tabsBox{
530
+    .el-tabs__item{
531
+        padding: 0 10px;
532
+    }
533
+    .el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2){
534
+        padding: 0 10px;
535
+    }
536
+    .el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:last-child, .el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:last-child, .el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child, .el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child, .el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:last-child, .el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:last-child, .el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child, .el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child{
537
+        padding: 0 10px;
538
+    }
539
+    .el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{
540
+        padding: 0 10px;
541
+    }
542
+}
543
+.centerRight{
544
+    .el-tabs__nav-scroll{
545
+        display: flex;
546
+    }
547
+    .el-tabs__nav{
548
+        margin: 0 auto;
549
+    }
550
+    .el-table th .cell, .el-table td .cell{
551
+        padding: 0 2px;
552
+    }
553
+}
554
+.preTabs{
555
+    // .el-tabs__content{
556
+    //     height:69%;
557
+    //     overflow-y: auto;
558
+    // }
559
+}
560
+.rightTabs{
561
+    height: 100%;
562
+    // .el-tabs__content{
563
+    //     height:72%;
564
+    //     overflow-y: auto;
565
+    // }
566
+}
567
+#tab-more{
568
+    .el-icon-close{
569
+        display: none;
570
+    }
571
+}
572
+</style>

+ 245 - 0
src/xt_pages/outpatientDoctorStation/components/deskRecord.vue Voir le fichier

@@ -0,0 +1,245 @@
1
+<template>
2
+    <div class="deskRecord">
3
+        <div style="overflow:hidden;border-top:1px solid #e5e5e5;margin-top:5px;">
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>
6
+                <el-button size="small" @click="open(2)" type="primary">打印</el-button>
7
+                <el-button size="small" @click="open(3)" type="primary">病历调用</el-button>
8
+                <el-button size="small" @click="open(4)" type="primary">存模板</el-button>
9
+            </div>
10
+        </div>
11
+        <div class="backColor"></div>
12
+        <div class="mainTitle">基本信息:</div>
13
+        <el-form class="basicForm" :model="form" :rules="rules" ref="form" label-width="120px">
14
+            <el-form-item label="姓名:" prop="name">
15
+                <el-input v-model="form.name" placeholder=""></el-input>
16
+            </el-form-item>
17
+            <el-form-item label="性别: " prop="name">
18
+                <el-select style="width:100%;" v-model="value" placeholder="">
19
+                    <el-option
20
+                    v-for="item in options"
21
+                    :key="item.value"
22
+                    :label="item.label"
23
+                    :value="item.value">
24
+                    </el-option>
25
+                </el-select>
26
+            </el-form-item>
27
+            <el-form-item label="年龄: " prop="name">
28
+                <el-input v-model="form.name" placeholder=""></el-input>
29
+            </el-form-item>
30
+            <el-form-item label="证件号:" prop="name">
31
+                <el-input v-model="form.name" placeholder=""></el-input>
32
+            </el-form-item>
33
+            <el-form-item label="出生日期: " prop="name">
34
+                <el-date-picker
35
+                style="width:100%;"
36
+                v-model="value1"
37
+                type="date"
38
+                placeholder="选择日期">
39
+                </el-date-picker>
40
+            </el-form-item>
41
+            <el-form-item label="联系电话: " prop="name">
42
+                <el-input v-model="form.name" placeholder=""></el-input>
43
+            </el-form-item>
44
+            <el-form-item label="关系联系人: " prop="name">
45
+                <el-input v-model="form.name" placeholder=""></el-input>
46
+            </el-form-item>
47
+            <el-form-item label="关系联系人电话: " prop="name">
48
+                <el-input v-model="form.name" placeholder=""></el-input>
49
+            </el-form-item>
50
+            <el-form-item label="家庭住址: " prop="name">
51
+                <el-input v-model="form.name" placeholder=""></el-input>
52
+            </el-form-item>
53
+        </el-form>
54
+        <div class="mainTitle">体格信息:</div>
55
+        <el-form class="physiqueForm" :model="form" :rules="rules" ref="form" label-width="80px">
56
+            <el-form-item label="体温:" prop="name">
57
+                <el-input v-model="form.name" placeholder=""></el-input><span>℃</span>
58
+            </el-form-item>
59
+            <el-form-item label="血糖: " prop="name">
60
+                <el-input v-model="form.name" placeholder=""></el-input>mmol/L
61
+            </el-form-item>
62
+            <el-form-item label="脉搏: " prop="name">
63
+                <el-input v-model="form.name" placeholder=""></el-input>(次/分)
64
+            </el-form-item>
65
+            <el-form-item label="血压:" prop="name">
66
+                <el-input v-model="form.name" placeholder=""></el-input>/
67
+                <el-input v-model="form.name" placeholder=""></el-input>mmHg
68
+            </el-form-item>
69
+            <el-form-item label="身高: " prop="name">
70
+                <el-input v-model="form.name" placeholder=""></el-input>cm
71
+            </el-form-item>
72
+            <el-form-item label="血脂: " prop="name">
73
+                <el-input v-model="form.name" placeholder=""></el-input>mmol/L
74
+            </el-form-item>
75
+            <el-form-item label="脉搏: " prop="name">
76
+                <el-input v-model="form.name" placeholder=""></el-input>(次/分)
77
+            </el-form-item>
78
+            <el-form-item label="体重: " prop="name">
79
+                <el-input v-model="form.name" placeholder=""></el-input>kg
80
+            </el-form-item>
81
+        </el-form>
82
+        <div class="mainTitle">病历信息:</div>
83
+        <el-form class="recordForm" :model="form" :rules="rules" ref="form" label-width="80px">
84
+            <el-form-item label="病历分类:" prop="name">
85
+                <el-select style="width:100%;" v-model="value" placeholder="">
86
+                    <el-option
87
+                    v-for="item in options"
88
+                    :key="item.value"
89
+                    :label="item.label"
90
+                    :value="item.value">
91
+                    </el-option>
92
+                </el-select>
93
+            </el-form-item>
94
+            <el-form-item label="症状: " prop="name">
95
+                <el-input v-model="form.name" placeholder=""></el-input>
96
+            </el-form-item>
97
+            <el-form-item label="发病日期: " prop="name">
98
+                <el-date-picker
99
+                style="width:100%;"
100
+                v-model="value1"
101
+                type="date"
102
+                placeholder="选择日期">
103
+                </el-date-picker>
104
+            </el-form-item>
105
+            <el-form-item label="" prop="name">
106
+                <el-checkbox v-model="checked">是否传染</el-checkbox>
107
+            </el-form-item>
108
+            <el-form-item label="主诉:" prop="name" style="width:100%;">
109
+                <el-input
110
+                type="textarea"
111
+                :rows="2"
112
+                placeholder="请输入内容"
113
+                v-model="textarea">
114
+                </el-input>
115
+            </el-form-item>
116
+            <el-form-item label="现病史:" prop="name" style="width:100%;">
117
+                <el-input
118
+                type="textarea"
119
+                :rows="2"
120
+                placeholder="请输入内容"
121
+                v-model="textarea">
122
+                </el-input>
123
+            </el-form-item>
124
+            <el-form-item label="既往史:" prop="name" style="width:100%;">
125
+                <el-input
126
+                type="textarea"
127
+                :rows="2"
128
+                placeholder="请输入内容"
129
+                v-model="textarea">
130
+                </el-input>
131
+            </el-form-item>
132
+            <el-form-item label="个人史:" prop="name" style="width:100%;">
133
+                <el-input
134
+                type="textarea"
135
+                :rows="2"
136
+                placeholder="请输入内容"
137
+                v-model="textarea">
138
+                </el-input>
139
+            </el-form-item>
140
+            <el-form-item label="家族史:" prop="name" style="width:100%;">
141
+                <el-input
142
+                type="textarea"
143
+                :rows="2"
144
+                placeholder="请输入内容"
145
+                v-model="textarea">
146
+                </el-input>
147
+            </el-form-item>
148
+            <el-form-item label="诊断信息:" prop="name" style="width:100%;">
149
+                <el-input
150
+                type="textarea"
151
+                :rows="2"
152
+                placeholder="请输入内容"
153
+                v-model="textarea">
154
+                </el-input>
155
+            </el-form-item>
156
+        </el-form>
157
+        <medicalRecord ref='medicalRecord'></medicalRecord>
158
+        <saveRecordTemplate ref='saveRecordTemplate'></saveRecordTemplate>
159
+    </div>
160
+</template>
161
+
162
+<script>
163
+import medicalRecord from './medicalRecord'
164
+import saveRecordTemplate from './saveRecordTemplate'
165
+export default {
166
+    components:{
167
+       medicalRecord,
168
+       saveRecordTemplate 
169
+    },
170
+    data(){
171
+        return{
172
+            form:{
173
+                name:''
174
+            },
175
+        }
176
+    },
177
+    methods:{
178
+        open(index){
179
+            if(index == 1){
180
+                
181
+            }else if(index == 2){
182
+                
183
+            }else if(index == 3){
184
+                this.$refs.medicalRecord.show()
185
+            }else if(index == 4){
186
+                this.$refs.saveRecordTemplate.show()
187
+            }
188
+            
189
+        },
190
+    }
191
+}
192
+</script>
193
+
194
+
195
+<style lang="scss" scoped>
196
+.mainTitle{
197
+    font-size:18px;
198
+    font-weight:bold;
199
+    margin-bottom: 10px;
200
+}
201
+.backColor{
202
+    background: #f6f8f9;
203
+    height: 5px;
204
+    margin-bottom: 5px;
205
+}
206
+.deskRecord{
207
+    .basicForm{
208
+        display: flex;
209
+        flex-wrap: wrap;
210
+        .el-form-item{
211
+            width:32%;
212
+            margin-right: 1%;
213
+        }
214
+    }
215
+    .physiqueForm{
216
+        display: flex;
217
+        flex-wrap: wrap;
218
+        .el-form-item{
219
+            width:24%;
220
+            margin-right: 1%;
221
+        }
222
+    }
223
+    .recordForm{
224
+        display: flex;
225
+        flex-wrap: wrap;
226
+        .el-form-item{
227
+            width:24%;
228
+            margin-right: 1%;
229
+        }
230
+    }
231
+    
232
+}
233
+</style>
234
+
235
+<style lang="scss">
236
+.physiqueForm{
237
+    .el-form-item__content{
238
+        display: flex;
239
+    }
240
+    .el-input{
241
+        width:80px;
242
+        margin-right:5px;
243
+    }
244
+}
245
+</style>

+ 80 - 35
src/xt_pages/outpatientDoctorStation/components/inquiriesDetail.vue Voir le fichier

@@ -45,41 +45,71 @@
45 45
                 </el-table> 
46 46
             </el-tab-pane>
47 47
             <el-tab-pane label="病历详情" name="second">
48
-                <el-table :data="tableData" border height="350" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
49
-                    <el-table-column align="center" prop="name" label="类型">
50
-                        <template slot-scope="scope">{{ scope.row.date }}</template>
51
-                    </el-table-column>
52
-                    <el-table-column align="center" prop="name" label="医嘱名称">
53
-                        <template slot-scope="scope">{{ scope.row.date }}</template>
54
-                    </el-table-column>
55
-                    <el-table-column align="center" prop="name" label="组">
56
-                        <template slot-scope="scope">{{ scope.row.date }}</template>
57
-                    </el-table-column>
58
-                    <el-table-column align="center" prop="name" label="每次量">
59
-                        <template slot-scope="scope">{{ scope.row.date }}</template>
60
-                    </el-table-column>
61
-                    <el-table-column align="center" prop="name" label="单位">
62
-                        <template slot-scope="scope">{{ scope.row.date }}</template>
63
-                    </el-table-column>
64
-                    <el-table-column align="center" prop="name" label="用法">
65
-                        <template slot-scope="scope">{{ scope.row.date }}</template>
66
-                    </el-table-column>
67
-                    <el-table-column align="center" prop="name" label="频率">
68
-                        <template slot-scope="scope">{{ scope.row.date }}</template>
69
-                    </el-table-column>
70
-                    <el-table-column align="center" prop="name" label="天数">
71
-                        <template slot-scope="scope">{{ scope.row.date }}</template>
72
-                    </el-table-column>
73
-                    <el-table-column align="center" prop="name" label="总量">
74
-                        <template slot-scope="scope">{{ scope.row.date }}</template>
75
-                    </el-table-column>
76
-                    <el-table-column align="center" prop="name" label="单位">
77
-                        <template slot-scope="scope">{{ scope.row.date }}</template>
78
-                    </el-table-column>
79
-                    <el-table-column align="center" prop="name" label="限制说明">
80
-                        <template slot-scope="scope">{{ scope.row.date }}</template>
81
-                    </el-table-column>
82
-                </el-table> 
48
+                <div class="detailMain">
49
+                    <span style="width:240px;">处方号:344431222222222</span>
50
+                    <span style="width:200px;">医生:医生</span>
51
+                    <span style="width:200px;">科室:儿科</span>
52
+                    <span style="width:200px;">创建时间:2020-10-10 01:12:20</span>
53
+                </div>
54
+                <div class="commonCell">
55
+                    <p>基本信息</p>
56
+                    <div class="detailMain">
57
+                        <span style="width:240px;">疾病名称:无</span>
58
+                        <span style="width:200px;">症状:医生</span>
59
+                        <span style="width:200px;">发病日期:2020-10-10 01:12:20</span>
60
+                        <span style="width:200px;">是否传染:否</span>
61
+                    </div>
62
+                </div>
63
+                <div class="commonCell">
64
+                    <p>体格信息</p>
65
+                    <div class="detailMain">
66
+                        <span style="width:140px;">体温:℃</span>
67
+                        <span style="width:140px;">呼吸:0 次/分</span>
68
+                        <span style="width:140px;">脉搏:0 次/分</span>
69
+                        <span style="width:200px;">血压:0。00~0.00 mmHg</span>
70
+                    </div>
71
+                </div>
72
+                <div class="commonCell">
73
+                    <p></p>
74
+                    <div class="detailMain">
75
+                        <span style="width:140px;">血糖:0 mmol/L</span>
76
+                        <span style="width:140px;">血脂:0 mmol/L</span>
77
+                        <span style="width:140px;">身高:0 cm</span>
78
+                        <span style="width:200px;">体重:0 kg</span>
79
+                    </div>
80
+                </div>
81
+                <div class="commonCell">
82
+                    <p>主诉</p>
83
+                    <div>无</div>
84
+                </div>
85
+                <div class="commonCell">
86
+                    <p>现病史</p>
87
+                    <div>无</div>
88
+                </div>
89
+                <div class="commonCell">
90
+                    <p>门诊诊断</p>
91
+                    <div>无</div>
92
+                </div>
93
+                <div class="commonCell">
94
+                    <p>门诊医嘱</p>
95
+                    <div>无</div>
96
+                </div>
97
+                <div class="commonCell">
98
+                    <p>过敏史</p>
99
+                    <div>无</div>
100
+                </div>
101
+                <div class="commonCell">
102
+                    <p>既往史</p>
103
+                    <div>无</div>
104
+                </div>
105
+                <div class="commonCell">
106
+                    <p>个人史</p>
107
+                    <div>无</div>
108
+                </div>
109
+                <div class="commonCell">
110
+                    <p>家族史</p>
111
+                    <div>无</div>
112
+                </div>
83 113
             </el-tab-pane>
84 114
         </el-tabs>
85 115
         <div slot="footer" class="dialog-footer">
@@ -141,6 +171,21 @@ export default {
141 171
     .el-dialog__body{
142 172
         padding: 0 20px 30px;
143 173
     }
174
+    .detailMain{
175
+        // padding:5px;
176
+        span{
177
+            display: inline-block;
178
+        }
179
+    }
180
+    .commonCell{
181
+        display: flex;
182
+        line-height: 40px;
183
+        >p{
184
+            font-weight: bold;
185
+            color:#000;
186
+            width: 80px;
187
+        }
188
+    }
144 189
 }
145 190
 </style>
146 191
 

+ 124 - 97
src/xt_pages/outpatientDoctorStation/components/medicalRecord.vue Voir le fichier

@@ -1,95 +1,101 @@
1 1
 <template>
2 2
     <el-dialog
3
-        title="病历"
3
+        title="病历调用"
4 4
         width="1000px"
5 5
         :visible.sync="visible"
6 6
         :before-close="_close"
7
+        class="recordDialog"
7 8
     >
8 9
         <div>
9
-            <el-form :model="form" :rules="rules" class="medicalRecordForm" ref="form" label-width="100px" style="display: flex;flex-wrap: wrap;justify-content: space-between;">
10
-                <el-form-item class="width33" label="传染病:" prop="name">
11
-                    <el-radio v-model="radio" label="1">阴性</el-radio>
12
-                    <el-radio v-model="radio" label="2">阳性</el-radio>
13
-                </el-form-item>
14
-                <el-form-item class="width33" label="患病类型:" prop="name">
15
-                    <el-radio v-model="radio" label="1">慢性病</el-radio>
16
-                    <el-radio v-model="radio" label="2">神经病</el-radio>
17
-                    <el-radio v-model="radio" label="3">抑郁症</el-radio>
18
-                </el-form-item>
19
-                <el-form-item class="width33" label="透析之前情况:" prop="name">
20
-                    <el-radio v-model="radio" label="1">腹膜透析</el-radio>
21
-                    <el-radio v-model="radio" label="2">肾移植</el-radio>
22
-                </el-form-item>
23
-                <el-form-item class="width100" label="主诉 : " prop="name">
24
-                    <el-input v-model="form.name" placeholder=""></el-input>
25
-                </el-form-item>
26
-                <el-form-item class="width100" label="现病史 : " prop="name">
27
-                    <el-input v-model="form.name" placeholder=""></el-input>
28
-                </el-form-item>
29
-                <el-form-item class="width100" label="既往史 : " prop="name">
30
-                    <el-input v-model="form.name" placeholder=""></el-input>
31
-                </el-form-item>
32
-                <el-form-item class="width50" label="药品规格 : " prop="name">
33
-                    <el-input v-model="form.name" placeholder="" style="width:180px;"></el-input>
34
-                    <el-select v-model="value" style="width:180px;margin-left:9px;" placeholder="请选择">
35
-                        <el-option
36
-                        v-for="item in options"
37
-                        :key="item.value"
38
-                        :label="item.label"
39
-                        :value="item.value">
40
-                        </el-option>
41
-                    </el-select>
42
-                </el-form-item>
43
-                <el-form-item class="width50" label="总量 : " prop="name">
44
-                    <el-input v-model="form.name" placeholder="" style="width:180px;"></el-input>
45
-                    <el-select v-model="value" style="width:180px;margin-left:9px;" placeholder="请选择">
46
-                        <el-option
47
-                        v-for="item in options"
48
-                        :key="item.value"
49
-                        :label="item.label"
50
-                        :value="item.value">
51
-                        </el-option>
52
-                    </el-select>
53
-                </el-form-item>
54
-                <el-form-item class="width50" label="每次量 : " prop="name">
55
-                    <el-input v-model="form.name" placeholder="" style="width:180px;"></el-input>
56
-                    <el-select v-model="value" style="width:180px;margin-left:9px;" placeholder="请选择">
57
-                        <el-option
58
-                        v-for="item in options"
59
-                        :key="item.value"
60
-                        :label="item.label"
61
-                        :value="item.value">
62
-                        </el-option>
63
-                    </el-select>
64
-                </el-form-item>
65
-                <el-form-item class="width50" label="用法 : " prop="name">
66
-                    <el-select v-model="value" style="width:100%;" placeholder="请选择">
67
-                        <el-option
68
-                        v-for="item in options"
69
-                        :key="item.value"
70
-                        :label="item.label"
71
-                        :value="item.value">
72
-                        </el-option>
73
-                    </el-select>
74
-                </el-form-item>
75
-                <el-form-item class="width50" label="执行频率 : " prop="name">
76
-                    <el-select v-model="value" style="width:100%;" placeholder="请选择">
77
-                        <el-option
78
-                        v-for="item in options"
79
-                        :key="item.value"
80
-                        :label="item.label"
81
-                        :value="item.value">
82
-                        </el-option>
83
-                    </el-select>
84
-                </el-form-item>
85
-                <el-form-item class="width50" label="天数 : " prop="name">
86
-                    <el-input v-model="form.name" placeholder=""></el-input>
87
-                </el-form-item>
88
-                <el-form-item label="限制说明 : " prop="name" style="width:100%;">
89
-                    <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="textarea"></el-input>
90
-                </el-form-item>
91
-            </el-form>
10
+            <el-tabs v-model="activeName" @tab-click="handleClick">
11
+                <el-tab-pane label="历史病历" name="first">
12
+                    <div style="display:flex;align-items: center;margin-bottom:10px;">
13
+                        <el-input size="small" @keyup.enter.native='searchAction' v-model.trim="search_input" class="filter-item" style="width:140px;"/>
14
+                        <el-button size="small" style="margin:0 10px;" class="filter-item" type="primary" @click="searchAction">搜索</el-button>
15
+                        <span>日期:</span>
16
+                        <el-date-picker
17
+                        size="small"
18
+                        style="width:140px;margin:0 10px;"
19
+                        v-model="value1"
20
+                        type="date"
21
+                        placeholder="选择日期">
22
+                        </el-date-picker>
23
+                        <el-date-picker
24
+                        style="width:140px;"
25
+                        size="small"
26
+                        v-model="value1"
27
+                        type="date"
28
+                        placeholder="选择日期">
29
+                        </el-date-picker>
30
+                    </div>
31
+                    <el-table :data="tableData" border height="300" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
32
+                        <el-table-column align="center" type="index" width="60" label="序号"></el-table-column>
33
+                        <el-table-column align="center" prop="name" label="病历编号">
34
+                            <template slot-scope="scope">{{ scope.row.date }}</template>
35
+                        </el-table-column>
36
+                        <el-table-column align="center" prop="name" label="诊断信息">
37
+                            <template slot-scope="scope">{{ scope.row.date }}</template>
38
+                        </el-table-column>
39
+                        <el-table-column align="center" prop="name" label="医生">
40
+                            <template slot-scope="scope">{{ scope.row.date }}</template>
41
+                        </el-table-column>
42
+                        <el-table-column align="center" prop="name" label="创建日期">
43
+                            <template slot-scope="scope">{{ scope.row.date }}</template>
44
+                        </el-table-column>
45
+                        <el-table-column align="center" prop="name" label="操作">
46
+                            <template slot-scope="scope">
47
+                                <el-button type="primary" size="mini">调用</el-button>
48
+                                <el-button type="primary" size="mini" @click="toHistoryDetail">详情</el-button>
49
+                            </template>
50
+                        </el-table-column>
51
+                    </el-table> 
52
+                </el-tab-pane>
53
+                <el-tab-pane label="病历模板" name="second">
54
+                    <div style="display:flex;align-items: center;margin-bottom:10px;">
55
+                        <el-input size="small" @keyup.enter.native='searchAction' v-model.trim="search_input" class="filter-item" style="width:140px;"/>
56
+                        <el-button size="small" style="margin:0 10px;" class="filter-item" type="primary" @click="searchAction">搜索</el-button>
57
+                        <span>日期:</span>
58
+                        <el-date-picker
59
+                        size="small"
60
+                        style="width:140px;margin:0 10px;"
61
+                        v-model="value1"
62
+                        type="date"
63
+                        placeholder="选择日期">
64
+                        </el-date-picker>
65
+                        <el-date-picker
66
+                        style="width:140px;"
67
+                        size="small"
68
+                        v-model="value1"
69
+                        type="date"
70
+                        placeholder="选择日期">
71
+                        </el-date-picker>
72
+                    </div>
73
+                    <el-table :data="tableData" border height="300" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
74
+                        <el-table-column align="center" type="index" width="60" label="序号"></el-table-column>
75
+                        <el-table-column align="center" prop="name" label="病历编号">
76
+                            <template slot-scope="scope">{{ scope.row.date }}</template>
77
+                        </el-table-column>
78
+                        <el-table-column align="center" prop="name" label="诊断信息">
79
+                            <template slot-scope="scope">{{ scope.row.date }}</template>
80
+                        </el-table-column>
81
+                        <el-table-column align="center" prop="name" label="医生">
82
+                            <template slot-scope="scope">{{ scope.row.date }}</template>
83
+                        </el-table-column>
84
+                        <el-table-column align="center" prop="name" label="创建日期">
85
+                            <template slot-scope="scope">{{ scope.row.date }}</template>
86
+                        </el-table-column>
87
+                        <el-table-column align="center" prop="name" label="操作">
88
+                            <template slot-scope="scope">
89
+                                <el-button type="primary" size="mini">调用</el-button>
90
+                                <el-button type="primary" size="mini" @click="totemplateDetail">详情</el-button>
91
+                            </template>
92
+                        </el-table-column>
93
+                    </el-table> 
94
+                </el-tab-pane>
95
+            </el-tabs>
92 96
         </div>
97
+        <record-history-detail ref="recordHistoryDetail"></record-history-detail>
98
+        <record-template-detail ref="recordTemplateDetail"></record-template-detail>
93 99
         <div slot="footer" class="dialog-footer">
94 100
             <el-button @click="hide">取 消</el-button>
95 101
             <el-button type="primary" :loading="submitLoading" @click="submitAction()">保 存</el-button>
@@ -98,13 +104,37 @@
98 104
 </template>
99 105
 
100 106
 <script>
107
+import recordHistoryDetail from './recordHistoryDetail'
108
+import recordTemplateDetail from './recordTemplateDetail'
101 109
 export default {
110
+    components:{
111
+        recordHistoryDetail,
112
+        recordTemplateDetail
113
+    },
102 114
     data(){
103 115
         return{
104 116
             visible:false,
117
+            activeName:'first',
105 118
             form:{
106 119
                 name:''
107 120
             },
121
+            tableData: [{
122
+            date: '2016-05-02',
123
+            name: '王小虎',
124
+            address: '上海市普陀区金沙江路 1518 弄'
125
+            }, {
126
+            date: '2016-05-04',
127
+            name: '王小虎',
128
+            address: '上海市普陀区金沙江路 1517 弄'
129
+            }, {
130
+            date: '2016-05-01',
131
+            name: '王小虎',
132
+            address: '上海市普陀区金沙江路 1519 弄'
133
+            }, {
134
+            date: '2016-05-03',
135
+            name: '王小虎',
136
+            address: '上海市普陀区金沙江路 1516 弄'
137
+            }],
108 138
         }
109 139
     },
110 140
     methods:{
@@ -125,23 +155,20 @@ export default {
125 155
             // this.clear()
126 156
             this.visible = false
127 157
         },
158
+        toHistoryDetail(){
159
+            this.$refs.recordHistoryDetail.show()
160
+        },
161
+        totemplateDetail(){
162
+            this.$refs.recordTemplateDetail.show()
163
+        }
128 164
     }
129 165
 }
130 166
 </script>
131 167
 
132
-<style lang="scss" scoped>
133
-.medicalRecordForm{
134
-    .width33{
135
-        width:33%;
136
-    }
137
-    .width50{
138
-        width:50%;
139
-    }
140
-    .width100{
141
-        width:100%;
142
-    }
143
-    .el-radio{
144
-        margin-right:2px;
168
+<style lang="scss">
169
+.recordDialog{
170
+    .el-dialog__body{
171
+        padding-top:0;
145 172
     }
146 173
 }
147 174
 </style>

+ 148 - 0
src/xt_pages/outpatientDoctorStation/components/prescriptionTable.vue Voir le fichier

@@ -0,0 +1,148 @@
1
+<template>
2
+    <div class="prescriptionTable">
3
+        <el-table :data="preDrugs" border style="width: 98%;" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
4
+            <el-table-column align="center" type="selection" width="40"></el-table-column>
5
+            <el-table-column align="center" type="index" width="40" label="序号"></el-table-column>
6
+            <el-table-column align="center" prop="name" label="名称">
7
+                <template slot-scope="scope">{{ scope.row.name }}</template>
8
+            </el-table-column>
9
+            <el-table-column align="center" prop="name" width="50" label="组套">
10
+                <template slot-scope="scope">
11
+                    <!-- <el-select v-model="value" placeholder="">
12
+                        <el-option
13
+                        v-for="item in newoptions"
14
+                        :key="item.value"
15
+                        :label="item.label"
16
+                        :value="item.value">
17
+                        </el-option>
18
+                    </el-select> -->
19
+                    <el-input v-model="input" placeholder=""></el-input>
20
+                </template>
21
+            </el-table-column>
22
+            <el-table-column align="center" prop="name" width="50" :label="'单次\n用量'">
23
+                <template slot-scope="scope">
24
+                    <el-input v-model="input" placeholder=""></el-input>
25
+                </template>
26
+            </el-table-column>
27
+            <el-table-column align="center" prop="name" width="50" label="用法">
28
+                <template slot-scope="scope">
29
+                    <!-- <el-select v-model="value" placeholder="">
30
+                        <el-option
31
+                        v-for="item in newoptions"
32
+                        :key="item.value"
33
+                        :label="item.label"
34
+                        :value="item.value">
35
+                        </el-option>
36
+                    </el-select> -->
37
+                    <el-input v-model="input" placeholder=""></el-input>
38
+                </template>
39
+            </el-table-column>
40
+            <el-table-column align="center" prop="name" width="50" label="频率">
41
+                <template slot-scope="scope">
42
+                    <!-- <el-select v-model="value" placeholder="">
43
+                        <el-option
44
+                        v-for="item in newoptions"
45
+                        :key="item.value"
46
+                        :label="item.label"
47
+                        :value="item.value">
48
+                        </el-option>
49
+                    </el-select> -->
50
+                    <el-input v-model="input" placeholder=""></el-input>
51
+                </template>
52
+            </el-table-column>
53
+            <el-table-column align="center" prop="name" width="50" label="天数">
54
+                <template slot-scope="scope">
55
+                    <!-- <el-select v-model="value" placeholder="">
56
+                        <el-option
57
+                        v-for="item in newoptions"
58
+                        :key="item.value"
59
+                        :label="item.label"
60
+                        :value="item.value">
61
+                        </el-option>
62
+                    </el-select> -->
63
+                    <el-input v-model="input" placeholder=""></el-input>
64
+                </template>
65
+            </el-table-column>
66
+            <el-table-column align="center" prop="name" width="100" label="总量">
67
+                <template slot-scope="scope">
68
+                    <div style="display:flex;">
69
+                        <el-input v-model="input" style="width:50%" placeholder=""></el-input>
70
+                        <!-- <el-select v-model="value" style="width:50%" placeholder="">
71
+                            <el-option
72
+                            v-for="item in newoptions"
73
+                            :key="item.value"
74
+                            :label="item.label"
75
+                            :value="item.value">
76
+                            </el-option>
77
+                        </el-select> -->
78
+                        <el-input v-model="input" style="width:50%" placeholder=""></el-input>
79
+                    </div>
80
+                </template>
81
+            </el-table-column>
82
+            <el-table-column align="center" prop="name" width="50" label="单价">
83
+                <template slot-scope="scope">
84
+                    <el-input v-model="scope.row.unitPrice" placeholder=""></el-input>
85
+                </template>
86
+            </el-table-column>
87
+            <el-table-column align="center" prop="name" width="50" label="备注">
88
+                <template slot-scope="scope">
89
+                    <!-- <el-autocomplete
90
+                    class="inline-input"
91
+                    v-model="state1"
92
+                    :fetch-suggestions="querySearch"
93
+                    placeholder=""
94
+                    @select="handleSelect"
95
+                    ></el-autocomplete> -->
96
+                </template>
97
+            </el-table-column>
98
+            <el-table-column align="center" width="40" prop="name" label="操作">
99
+                <template slot-scope="scope">
100
+                    <i class="el-icon-delete"></i>
101
+                </template>
102
+            </el-table-column>
103
+        </el-table>
104
+    </div>
105
+</template>
106
+
107
+<script>
108
+export default {
109
+    props:{
110
+        preDrugs:Array,
111
+    },
112
+    data(){
113
+        return{
114
+            tableData: [],
115
+            newoptions: [{
116
+            value: '1',
117
+            label: '1'
118
+            }, {
119
+            value: '2',
120
+            label: '2'
121
+            }, {
122
+            value: '3',
123
+            label: '3'
124
+            }, {
125
+            value: '4',
126
+            label: '4'
127
+            }, {
128
+            value: '5',
129
+            label: '5'
130
+            }],
131
+            value:'1',
132
+            input:1
133
+        }
134
+    }
135
+}
136
+</script>
137
+
138
+<style lang="scss">
139
+.prescriptionTable{
140
+    .el-table th .cell, .el-table td .cell{
141
+        padding: 0 2px;
142
+        white-space: pre-line;
143
+    }
144
+    .el-icon-delete{
145
+        color:red;
146
+    }
147
+}
148
+</style>

+ 105 - 0
src/xt_pages/outpatientDoctorStation/components/recordHistoryDetail.vue Voir le fichier

@@ -0,0 +1,105 @@
1
+<template>
2
+    <el-dialog
3
+        title="病历历史详情"
4
+        width="1000px"
5
+        :visible.sync="visible"
6
+        :before-close="_close"
7
+        class="recordDialog"
8
+        append-to-body
9
+    >
10
+        <div class="detailMain">
11
+            <span style="width:240px;">病历编号:11111111111111111</span>
12
+            <span style="width:240px;">医生:</span>
13
+            <span style="width:240px;">创建日期:11111111111111111</span>
14
+        </div>
15
+        <div class="detailMain">
16
+            <span style="width:240px;">关系联系人:无</span>
17
+            <span style="width:240px;">关系联系方式:无</span>
18
+        </div>
19
+        <p>体格检查</p>
20
+        <div class="detailMain">
21
+            <span style="margin: 0 0 0 40px;width:140px;">体温:℃</span>
22
+            <span style="width:140px;">呼吸:0 次/分</span>
23
+            <span style="width:140px;">脉搏:0 次/分</span>
24
+            <span style="width:200px;">血压:0。00~0.00 mmHg</span>
25
+        </div>
26
+        <div class="detailMain">
27
+            <span style="margin: 0 0 0 40px;width:140px;">血糖:0 mmol/L</span>
28
+            <span style="width:140px;">血脂:0 mmol/L</span>
29
+            <span style="width:140px;">身高:0 cm</span>
30
+            <span style="width:200px;">体重:0 kg</span>
31
+        </div>
32
+        <div class="detailMain">
33
+            <span style="width:220px;">疾病名称:无</span>
34
+            <span style="width:220px;">症状:无</span>
35
+            <span style="width:220px;">发病日期:</span>
36
+            <span style="width:220px;">是否传染:否</span>
37
+        </div>
38
+        <div class="detailMain">
39
+            <span>主诉:</span>
40
+        </div>
41
+        <div class="detailMain">
42
+            <span>现病史:</span>
43
+        </div>
44
+        <div class="detailMain">
45
+            <span>诊断信息:</span>
46
+        </div>
47
+        <div class="detailMain">
48
+            <span>医嘱:</span>
49
+        </div>
50
+        <div class="detailMain">
51
+            <span>过敏史:</span>
52
+        </div>
53
+        <div slot="footer" class="dialog-footer">
54
+            <el-button @click="hide">取 消</el-button>
55
+            <el-button type="primary" :loading="submitLoading" @click="submitAction()">保 存</el-button>
56
+        </div>
57
+    </el-dialog>         
58
+</template>
59
+
60
+<script>
61
+export default {
62
+    data(){
63
+        return{
64
+            visible:false,
65
+            form:{
66
+                name:''
67
+            },
68
+        }
69
+    },
70
+    methods:{
71
+        _close: function(done) {
72
+            // this.clear()
73
+            done()
74
+        },
75
+        clear: function() {
76
+            this.form.id = 0;
77
+            this.form.name = "";
78
+            this.form.intro = "";
79
+        },
80
+        show() {
81
+            // this.clear()
82
+            this.visible = true
83
+        },
84
+        hide() {
85
+            // this.clear()
86
+            this.visible = false
87
+        },
88
+    }
89
+}
90
+</script>
91
+
92
+<style lang="scss">
93
+.recordDialog{
94
+    .el-dialog__body{
95
+        padding-top:0;
96
+    }
97
+}
98
+.detailMain{
99
+    padding:5px;
100
+    span{
101
+        display: inline-block;
102
+    }
103
+}
104
+</style>
105
+

+ 143 - 0
src/xt_pages/outpatientDoctorStation/components/recordTemplateDetail.vue Voir le fichier

@@ -0,0 +1,143 @@
1
+<template>
2
+    <el-dialog
3
+        title="病历模板详情"
4
+        width="1000px"
5
+        :visible.sync="visible"
6
+        :before-close="_close"
7
+        class="recordDialog"
8
+        append-to-body
9
+    >
10
+        <el-form class="recordForm" :model="form" :rules="rules" ref="form" label-width="80px">
11
+            <el-form-item label="模板名称: " prop="name" style="width:49%;">
12
+                <el-input v-model="form.name" placeholder=""></el-input>
13
+            </el-form-item>
14
+            <el-form-item label="" prop="name" style="width:49%;">
15
+                <el-radio v-model="radio" label="1">私人模板</el-radio>
16
+                <el-radio v-model="radio" label="2">公共模板</el-radio>
17
+            </el-form-item>
18
+            <el-form-item label="模板说明: " prop="name" style="width:100%;">
19
+                <el-input v-model="form.name" placeholder=""></el-input>
20
+            </el-form-item>
21
+            <el-form-item label="病历分类:" prop="name">
22
+                <el-select style="width:100%;" v-model="value" placeholder="">
23
+                    <el-option
24
+                    v-for="item in options"
25
+                    :key="item.value"
26
+                    :label="item.label"
27
+                    :value="item.value">
28
+                    </el-option>
29
+                </el-select>
30
+            </el-form-item>
31
+            <el-form-item label="症状: " prop="name">
32
+                <el-input v-model="form.name" placeholder=""></el-input>
33
+            </el-form-item>
34
+            <el-form-item label="发病日期: " prop="name">
35
+                <el-date-picker
36
+                style="width:100%;"
37
+                v-model="value1"
38
+                type="date"
39
+                placeholder="选择日期">
40
+                </el-date-picker>
41
+            </el-form-item>
42
+            <el-form-item label="" prop="name">
43
+                <el-checkbox v-model="checked">是否传染</el-checkbox>
44
+            </el-form-item>
45
+            <el-form-item label="主诉:" prop="name" style="width:100%;">
46
+                <el-input
47
+                type="textarea"
48
+                :rows="2"
49
+                placeholder="请输入内容"
50
+                v-model="textarea">
51
+                </el-input>
52
+            </el-form-item>
53
+            <el-form-item label="现病史:" prop="name" style="width:100%;">
54
+                <el-input
55
+                type="textarea"
56
+                :rows="2"
57
+                placeholder="请输入内容"
58
+                v-model="textarea">
59
+                </el-input>
60
+            </el-form-item>
61
+            <el-form-item label="既往史:" prop="name" style="width:100%;">
62
+                <el-input
63
+                type="textarea"
64
+                :rows="2"
65
+                placeholder="请输入内容"
66
+                v-model="textarea">
67
+                </el-input>
68
+            </el-form-item>
69
+            <el-form-item label="个人史:" prop="name" style="width:100%;">
70
+                <el-input
71
+                type="textarea"
72
+                :rows="2"
73
+                placeholder="请输入内容"
74
+                v-model="textarea">
75
+                </el-input>
76
+            </el-form-item>
77
+            <el-form-item label="家族史:" prop="name" style="width:100%;">
78
+                <el-input
79
+                type="textarea"
80
+                :rows="2"
81
+                placeholder="请输入内容"
82
+                v-model="textarea">
83
+                </el-input>
84
+            </el-form-item>
85
+            <el-form-item label="诊断信息:" prop="name" style="width:100%;">
86
+                <el-input
87
+                type="textarea"
88
+                :rows="2"
89
+                placeholder="请输入内容"
90
+                v-model="textarea">
91
+                </el-input>
92
+            </el-form-item>
93
+        </el-form>
94
+        <div slot="footer" class="dialog-footer">
95
+            <el-button @click="hide">取 消</el-button>
96
+            <el-button type="primary" :loading="submitLoading" @click="submitAction()">保 存</el-button>
97
+        </div>
98
+    </el-dialog>         
99
+</template>
100
+
101
+<script>
102
+export default {
103
+    data(){
104
+        return{
105
+            visible:false,
106
+            form:{
107
+                name:''
108
+            },
109
+        }
110
+    },
111
+    methods:{
112
+        _close: function(done) {
113
+            // this.clear()
114
+            done()
115
+        },
116
+        clear: function() {
117
+            this.form.id = 0;
118
+            this.form.name = "";
119
+            this.form.intro = "";
120
+        },
121
+        show() {
122
+            // this.clear()
123
+            this.visible = true
124
+        },
125
+        hide() {
126
+            // this.clear()
127
+            this.visible = false
128
+        },
129
+    }
130
+}
131
+</script>
132
+
133
+<style lang="scss" scoped>
134
+.recordForm{
135
+    display: flex;
136
+    flex-wrap: wrap;
137
+    .el-form-item{
138
+        width:24%;
139
+        margin-right: 1%;
140
+    }
141
+}
142
+</style>
143
+

+ 77 - 0
src/xt_pages/outpatientDoctorStation/components/saveRecordTemplate.vue Voir le fichier

@@ -0,0 +1,77 @@
1
+<template>
2
+    <el-dialog
3
+        title="保存病历模板"
4
+        width="600px"
5
+        :visible.sync="visible"
6
+        :before-close="_close"
7
+        class="recordDialog"
8
+    >
9
+        <el-form class="recordForm" :model="form" :rules="rules" ref="form" label-width="80px">
10
+            <el-form-item label="模板类别:" prop="name" style="width:100%;">
11
+                <el-radio v-model="radio" label="1">私人模板</el-radio>
12
+                <el-radio v-model="radio" label="2">公共模板</el-radio>
13
+            </el-form-item>
14
+            <el-form-item label="模板名称: " prop="name" style="width:100%;">
15
+                <el-input v-model="form.name" placeholder=""></el-input>
16
+            </el-form-item>
17
+            <el-form-item label="模板说明:" prop="name" style="width:100%;">
18
+                <el-input
19
+                type="textarea"
20
+                :rows="2"
21
+                placeholder="请输入内容"
22
+                v-model="textarea">
23
+                </el-input>
24
+            </el-form-item>
25
+            <el-form-item label="创建人:" prop="name" style="width:100%;">
26
+            </el-form-item>
27
+        </el-form>
28
+        <div slot="footer" class="dialog-footer">
29
+            <el-button @click="hide">取 消</el-button>
30
+            <el-button type="primary" :loading="submitLoading" @click="submitAction()">保 存</el-button>
31
+        </div>
32
+    </el-dialog>         
33
+</template>
34
+
35
+<script>
36
+export default {
37
+    data(){
38
+        return{
39
+            visible:false,
40
+            form:{
41
+                name:''
42
+            },
43
+        }
44
+    },
45
+    methods:{
46
+        _close: function(done) {
47
+            // this.clear()
48
+            done()
49
+        },
50
+        clear: function() {
51
+            this.form.id = 0;
52
+            this.form.name = "";
53
+            this.form.intro = "";
54
+        },
55
+        show() {
56
+            // this.clear()
57
+            this.visible = true
58
+        },
59
+        hide() {
60
+            // this.clear()
61
+            this.visible = false
62
+        },
63
+    }
64
+}
65
+</script>
66
+
67
+<style lang="scss" scoped>
68
+.recordForm{
69
+    display: flex;
70
+    flex-wrap: wrap;
71
+    .el-form-item{
72
+        width:24%;
73
+        margin-right: 1%;
74
+    }
75
+}
76
+</style>
77
+

+ 22 - 6
src/xt_pages/outpatientDoctorStation/components/saveTemplate.vue Voir le fichier

@@ -1,16 +1,23 @@
1 1
 <template>
2 2
     <el-dialog
3
-        title="新增医嘱"
3
+        title="模板信息"
4 4
         width="600px"
5 5
         :visible.sync="visible"
6 6
         :before-close="_close"
7 7
     >
8 8
         <div>
9 9
             <el-form :model="form" :rules="rules" class="adviceForm" ref="form" label-width="100px" style="display: flex;flex-wrap: wrap;justify-content: space-between;">
10
-                <el-form-item label="模板名称 : " prop="name" style="width: 100%;">
11
-                    <el-input v-model="form.name" placeholder=""></el-input>
10
+                <el-form-item label="创建人 : " style="width: 100%;margin-bottom:0;">
11
+                    医生
12
+                </el-form-item>
13
+                <el-form-item label="处方类型 : " style="width: 100%;margin-bottom:0;">
14
+                    药品模板
15
+                </el-form-item>
16
+                <el-form-item label="模板类型 : " style="width: 100%;margin-bottom:0;">
17
+                    <el-radio v-model="radio" label="1">临时</el-radio>
18
+                    <el-radio v-model="radio" label="2">长期</el-radio>
12 19
                 </el-form-item>
13
-                <el-form-item label="模板类型 : " prop="name" style="width: 100%;">
20
+                <el-form-item label="科室 : " style="width: 100%;">
14 21
                     <el-select v-model="value" style="width:100%;" placeholder="请选择">
15 22
                         <el-option
16 23
                         v-for="item in options"
@@ -20,10 +27,19 @@
20 27
                         </el-option>
21 28
                     </el-select>
22 29
                 </el-form-item>
23
-                <el-form-item label="模板等级 : " prop="name" style="width: 100%;">
30
+                <el-form-item label="模板名称 : " style="width: 100%;">
31
+                    <el-input v-model="form.name" placeholder=""></el-input>
32
+                </el-form-item>
33
+                <el-form-item label="模板说明 : " style="width: 100%;">
34
+                    <el-input v-model="form.name" placeholder=""></el-input>
35
+                </el-form-item>
36
+                <el-form-item label="诊断信息 : " style="width: 100%;">
37
+                    <el-input v-model="form.name" placeholder=""></el-input>
38
+                </el-form-item>
39
+                <el-form-item label="医嘱说明 : " style="width: 100%;">
24 40
                     <el-input v-model="form.name" placeholder=""></el-input>
25 41
                 </el-form-item>
26
-                <el-form-item label="创建时间 : " prop="name" style="width: 100%;">
42
+                <el-form-item label="备注说明 : " style="width: 100%;">
27 43
                     <el-input v-model="form.name" placeholder=""></el-input>
28 44
                 </el-form-item>
29 45
             </el-form>

+ 11 - 8
src/xt_pages/outpatientDoctorStation/components/selectTemplate.vue Voir le fichier

@@ -6,36 +6,39 @@
6 6
         :before-close="_close"
7 7
     >
8 8
         <div style="display:flex;">
9
-            <div style="width: 121px;">
9
+            <div style="width: 201px;">
10 10
                 <el-table :data="tableData" border height="300" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
11
-                    <el-table-column align="center" prop="name" label="模板名称" width="120">
11
+                    <el-table-column align="center" prop="name" label="处方类型" width="100">
12
+                        <template slot-scope="scope">{{ scope.row.date }}</template>
13
+                    </el-table-column>
14
+                    <el-table-column align="center" prop="name" label="模板名称" width="100">
12 15
                         <template slot-scope="scope">{{ scope.row.date }}</template>
13 16
                     </el-table-column>
14 17
                 </el-table> 
15 18
             </div>
16 19
             <el-table :data="tableData" border height="300" style="flex:1;margin-left:20px;" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
17 20
                 <el-table-column type="selection" width="55" align="center"></el-table-column>
18
-                <el-table-column align="center" prop="name" label="医嘱内容">
21
+                <el-table-column align="center" prop="name" label="药品名称">
19 22
                     <template slot-scope="scope">{{ scope.row.date }}</template>
20 23
                 </el-table-column>
21 24
                 <el-table-column align="center" prop="name" label="药品规格">
22 25
                     <template slot-scope="scope">{{ scope.row.date }}</template>
23 26
                 </el-table-column>
24
-                <el-table-column align="center" prop="name" label="开药数量">
25
-                    <template slot-scope="scope">{{ scope.row.date }}</template>
26
-                </el-table-column>
27 27
                 <el-table-column align="center" prop="name" label="单次用量">
28 28
                     <template slot-scope="scope">{{ scope.row.date }}</template>
29 29
                 </el-table-column>
30
-                <el-table-column align="center" prop="name" label="给药途径">
30
+                <el-table-column align="center" prop="name" label="用法">
31 31
                     <template slot-scope="scope">{{ scope.row.date }}</template>
32 32
                 </el-table-column>
33
-                <el-table-column align="center" prop="name" label="执行频率">
33
+                <el-table-column align="center" prop="name" label="频率">
34 34
                     <template slot-scope="scope">{{ scope.row.date }}</template>
35 35
                 </el-table-column>
36 36
                 <el-table-column align="center" prop="name" label="天数">
37 37
                     <template slot-scope="scope">{{ scope.row.date }}</template>
38 38
                 </el-table-column>
39
+                <el-table-column align="center" prop="name" label="总量">
40
+                    <template slot-scope="scope">{{ scope.row.date }}</template>
41
+                </el-table-column>
39 42
             </el-table> 
40 43
         </div>
41 44
         <div slot="footer" class="dialog-footer">

+ 237 - 120
src/xt_pages/outpatientDoctorStation/doctorDesk.vue Voir le fichier

@@ -1,12 +1,12 @@
1 1
 <template>
2
-    <div class="main-contain">
2
+    <div class="main-contain new-main-contain">
3 3
         <div class="position">
4 4
             <bread-crumb :crumbs='crumbs'></bread-crumb>
5 5
         </div>
6
-        <div class="app-container" style="display:flex">
6
+        <div class="app-container" style="display:flex;flex: 1;padding: 20px 20px 0px 20px;">
7 7
             <div class="mainLeft">
8 8
                 <div class="mainCell" style="justify-content: space-between;">
9
-                    <p>未就诊:<span>0</span>人</p>
9
+                    <p>未就诊:<span>1</span>人</p>
10 10
                     <p>已就诊:<span>0</span>人</p>
11 11
                 </div>
12 12
                 <div class="mainCell">
@@ -20,112 +20,41 @@
20 20
                     <el-input size="small" @keyup.enter.native='searchAction' v-model.trim="search_input" class="filter-item"/>
21 21
                     <el-button size="small" style="margin-left:10px;" class="filter-item" type="primary" @click="searchAction">搜索</el-button>
22 22
                 </div>
23
-                <el-table :data="tableData" border height="500" style="width: 100%;" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
24
-                    <el-table-column align="center" width="40">
25
-                        <template slot-scope="scope">
26
-                            <el-popover placement="top-start" width="200" trigger="hover">
27
-                                <i slot="reference" class="el-icon-caret-bottom"></i>
28
-                            </el-popover>
29
-                        </template>
30
-                    </el-table-column>
31
-                    <el-table-column align="center" prop="name" label="姓名" width="100">
32
-                        <template slot-scope="scope">{{ scope.row.date }}</template>
33
-                    </el-table-column>
34
-                    <el-table-column align="center" prop="name" label="姓名" width="110">
35
-                        <template slot-scope="scope">{{ scope.row.date }}</template>
36
-                    </el-table-column>
37
-                </el-table>
23
+                <div style="flex:1;overflow-y:auto;">
24
+                    <el-table :data="patientTableData" @row-click='choosePatient' border style="width: 100%;" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
25
+                        <el-table-column align="center" prop="name" label="患者姓名">
26
+                            <template slot-scope="scope">{{ scope.row.name }}</template>
27
+                        </el-table-column>
28
+                        <el-table-column align="center" prop="name" label="就诊号" width="90">
29
+                            <template slot-scope="scope">{{ scope.row.mdtrt_id }}</template>
30
+                        </el-table-column>
31
+                    </el-table>
32
+                </div>
38 33
             </div> 
39 34
             <div class="mainRight">
40
-                <div style="display:flex;justify-content: space-between;">
41
-                    <div>
42
-                        <div class="mainCell">
43
-                            <p>姓名:<span class="cellSpan"></span></p>
44
-                            <p>证件号:<span class="cellSpan"></span></p>
45
-                            <p>挂号类型:<span class="cellSpan"></span></p>
46
-                            <p>患者保险类型:<span class="cellSpan"></span></p>
47
-                        </div>
48
-                        <div class="mainCell">
49
-                            <label class="title"><span class="name">诊断</span> : </label>
50
-                            <el-input size="small" style="width:150px;margin:0 10px;" v-model="input" placeholder="请输入内容"></el-input>
51
-                            <label class="title"><span class="name">处方类型</span> : </label>
52
-                            <el-select size="small" v-model="value" placeholder="请选择" style="width:150px;margin-left:10px;">
53
-                                <el-option
54
-                                v-for="item in options"
55
-                                :key="item.value"
56
-                                :label="item.label"
57
-                                :value="item.value">
58
-                                </el-option>
59
-                            </el-select>
60
-                        </div>
61
-                    </div>
62
-                    <div class="cost">
63
-                        <p>当用费用总额:</p>
64
-                        <p>药品费用总额:</p>
65
-                    </div>
66
-                </div>
67
-                <div style="display:flex;justify-content: space-between;">
68
-                    <div class="mainCell" style="margin-bottom:10px;">
69
-                        <label class="title"><span class="name">新增</span> : </label>
70
-                        <el-button size="small" @click="open(1)" type="primary" style="margin-left:10px;">智慧医保</el-button>
71
-                        <el-button size="small" @click="open(2)" type="primary">病历</el-button>
72
-                        <el-button size="small" @click="open(3)" type="primary">新医嘱</el-button>
73
-                        <el-button size="small" @click="open(4)" type="primary">选择模板</el-button>
74
-                        <el-button size="small" @click="open(5)" type="primary">存模板</el-button>
75
-                        <el-button size="small" @click="open(6)" type="primary">开检验</el-button>
76
-                    </div>
77
-                    <div><el-button size="small" type="primary">保存打印</el-button></div>
35
+                <div class="mainHeader">
36
+                    <el-radio-group v-model="titleType">
37
+                        <el-radio-button label="处方"></el-radio-button>
38
+                        <el-radio-button label="病历"></el-radio-button>
39
+                    </el-radio-group>
78 40
                 </div>
79
-                <el-table :data="tableData" border height="500" style="width: 100%;" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
80
-                    <el-table-column align="center" prop="name" label="类型">
81
-                        <template slot-scope="scope">{{ scope.row.date }}</template>
82
-                    </el-table-column>
83
-                    <el-table-column align="center" prop="name" label="名称">
84
-                        <template slot-scope="scope">{{ scope.row.date }}</template>
85
-                    </el-table-column>
86
-                    <el-table-column align="center" prop="name" label="规格">
87
-                        <template slot-scope="scope">{{ scope.row.date }}</template>
88
-                    </el-table-column>
89
-                    <el-table-column align="center" prop="name" label="数量">
90
-                        <template slot-scope="scope">{{ scope.row.date }}</template>
91
-                    </el-table-column>
92
-                    <el-table-column align="center" prop="name" label="单次用量">
93
-                        <template slot-scope="scope">{{ scope.row.date }}</template>
94
-                    </el-table-column>
95
-                    <el-table-column align="center" prop="name" label="操作">
96
-                        <template slot-scope="scope">
97
-                            <el-button size="mini" type="danger">删除</el-button>
98
-                        </template>
99
-                    </el-table-column>
100
-                </el-table>
41
+                <desk-prescription :patientInfo="patientInfo" v-if="titleType == '处方'" style="flex:1;"></desk-prescription>
42
+                <desk-record v-if="titleType == '病历'"></desk-record>
101 43
             </div>
44
+            
102 45
         </div>
103
-        <prescription ref='prescription'></prescription>
104
-        <medicalRecord ref='medicalRecord'></medicalRecord>
105
-        <advice ref='advice'></advice>
106
-        <select-template ref='selectTemplate'></select-template>
107
-        <save-template ref='saveTemplate'></save-template>
108
-        <inspection ref='inspection'></inspection>
109 46
     </div>
110 47
 </template>
111 48
 
112 49
 <script>
113 50
 import BreadCrumb from '@/xt_pages/components/bread-crumb'
114
-import prescription from './components/prescription'
115
-import medicalRecord from './components/medicalRecord'
116
-import advice from './components/advice'
117
-import selectTemplate from './components/selectTemplate'
118
-import saveTemplate from './components/saveTemplate'
119
-import inspection from './components/inspection'
51
+import deskPrescription from './components/deskPrescription'
52
+import deskRecord from './components/deskRecord'
120 53
 export default {
121 54
     components:{
122 55
         BreadCrumb,
123
-        prescription,
124
-        medicalRecord,
125
-        advice,
126
-        selectTemplate,
127
-        saveTemplate,
128
-        inspection
56
+        deskPrescription,
57
+        deskRecord
129 58
     },
130 59
     data(){
131 60
         return{
@@ -133,6 +62,11 @@ export default {
133 62
                 { path: false, name: '门诊医生站' },
134 63
                 { path: false, name: '医生工作台' }
135 64
             ],
65
+            titleType:'处方',
66
+            patientTableData:[{
67
+                name:'杨美英',
68
+                mdtrt_id:"1709946",
69
+            }],
136 70
             tableData: [{
137 71
             date: '2016-05-02',
138 72
             name: '王小虎',
@@ -149,59 +83,242 @@ export default {
149 83
             date: '2016-05-03',
150 84
             name: '王小虎',
151 85
             address: '上海市普陀区金沙江路 1516 弄'
152
-            }]
86
+            },{
87
+            date: '2016-05-02',
88
+            name: '王小虎',
89
+            address: '上海市普陀区金沙江路 1518 弄'
90
+            }, {
91
+            date: '2016-05-04',
92
+            name: '王小虎',
93
+            address: '上海市普陀区金沙江路 1517 弄'
94
+            }, {
95
+            date: '2016-05-01',
96
+            name: '王小虎',
97
+            address: '上海市普陀区金沙江路 1519 弄'
98
+            }, {
99
+            date: '2016-05-03',
100
+            name: '王小虎',
101
+            address: '上海市普陀区金沙江路 1516 弄'
102
+            },{
103
+            date: '2016-05-02',
104
+            name: '王小虎',
105
+            address: '上海市普陀区金沙江路 1518 弄'
106
+            }, {
107
+            date: '2016-05-04',
108
+            name: '王小虎',
109
+            address: '上海市普陀区金沙江路 1517 弄'
110
+            }, {
111
+            date: '2016-05-01',
112
+            name: '王小虎',
113
+            address: '上海市普陀区金沙江路 1519 弄'
114
+            }, {
115
+            date: '2016-05-03',
116
+            name: '王小虎',
117
+            address: '上海市普陀区金沙江路 1516 弄'
118
+            }, {
119
+            date: '2016-05-04',
120
+            name: '王小虎',
121
+            address: '上海市普陀区金沙江路 1517 弄'
122
+            }, {
123
+            date: '2016-05-01',
124
+            name: '王小虎',
125
+            address: '上海市普陀区金沙江路 1519 弄'
126
+            }, {
127
+            date: '2016-05-03',
128
+            name: '王小虎',
129
+            address: '上海市普陀区金沙江路 1516 弄'
130
+            }],
131
+            patientInfo:{}
153 132
         }
154 133
     },
155 134
     methods:{
156
-        open(index){
157
-            if(index == 1){
158
-                this.$refs.prescription.show()
159
-            }else if(index == 2){
160
-                this.$refs.medicalRecord.show()
161
-            }else if(index == 3){
162
-                this.$refs.advice.show()
163
-            }else if(index == 4){
164
-                this.$refs.selectTemplate.show()
165
-            }else if(index == 5){
166
-                this.$refs.saveTemplate.show()
167
-            }else if(index == 6){
168
-                this.$refs.inspection.show()
135
+        choosePatient(){
136
+            this.patientInfo = {
137
+                certno:"440221195903290027",
138
+                psn_no:"0221201972",
139
+                gend:"2",
140
+                brdy:"1960-03-29",
141
+                naty:"01",
142
+                psn_cert_type:"01",
143
+                psn_name:"杨美英",
144
+                age:60.7
169 145
             }
170
-            
171 146
         }
172 147
     }
173 148
 }
174 149
 </script>
175 150
 
176 151
 <style lang="scss" scoped>
152
+.new-main-contain{
153
+    height: 100%;
154
+    display: flex;
155
+    flex-direction: column;
156
+}
157
+.app-container{
158
+    height:100%;
159
+}
177 160
 .mainCell{
178 161
     height:36px;
179 162
     display: flex;
180 163
     align-items: center;
181 164
 }
182 165
 .mainLeft{
183
-    width:250px;
166
+    width:200px;
167
+    height: 100%;
168
+    display: flex;
169
+    flex-direction: column;
184 170
     .el-radio{
185
-        margin-right:20px;
171
+        margin-right:5px;
186 172
     }
187 173
     
188 174
 }
189 175
 .mainRight{
190 176
     margin-left:20px;
191 177
     flex:1;
178
+    height: 100%;
179
+    display: flex;
180
+    flex-direction: column;
181
+    overflow-y: auto;
192 182
     .cellSpan{
193 183
         min-width: 80px;
194 184
         display: inline-block;
195 185
         margin-right: 10px;
196 186
     }
197
-    .cost{
198
-        border: 1px solid #ccc;
199
-        height: 60px;
200
-        display: flex;
201
-        width: 200px;
202
-        flex-direction: column;
203
-        justify-content: space-around;
187
+}
188
+.mainCenter{
189
+    display: flex;
190
+    flex:1;
191
+}
192
+.centerLeft{
193
+    flex: 1;
194
+    display: flex;
195
+    flex-direction: column;
196
+    position: relative;
197
+    .el-form-item{
198
+        width:32%;
199
+        margin-right: 1%;
200
+        float: left;
201
+    }
202
+    .el-form-item__label{
203
+        text-align: left;
204
+    }
205
+}
206
+.backColor{
207
+    background: #f6f8f9;
208
+    height: 5px;
209
+    margin-bottom: 5px;
210
+}
211
+.tabsBox{
212
+    position: relative;
213
+    height: 76%;
214
+    overflow-y: auto;
215
+    margin-bottom: 60px;
216
+    .el-tabs__item{
217
+        padding: 0 10px;
218
+    }
219
+}
220
+.preTabs{
221
+    height:100%;
222
+}
223
+.costBox{
224
+    width:100%;
225
+    height:60px;
226
+    background:#fff;
227
+    position: absolute;
228
+    bottom:0;
229
+    display: flex;
230
+    align-items: center;
231
+}
232
+.addTab{
233
+    position: absolute;
234
+    right: 0;
235
+    top: 14px;
236
+    z-index: 20;
237
+}
238
+.centerRight{
239
+    width: 300px;
240
+    margin-left: 5px;
241
+    display: flex;
242
+    flex-direction: column;
243
+    position: relative;
244
+}
245
+.rightTab{
246
+    height: 40px;
247
+    width: 100%;
248
+    border: 1px solid #d2d2d2;
249
+    box-sizing: border-box;
250
+    
251
+    p{
252
+        width: 50%;
253
+        height: 40px;
254
+        line-height: 40px;
255
+        text-align: center;
256
+        background: #eee;
257
+        float: left;
258
+    }
259
+    >p:last-child{
260
+      border-left: 1px solid #d2d2d2;  
261
+      float: right;
262
+    }
263
+    .activeP{
264
+        background: #409EFF;
265
+        color:#fff;
266
+    }
267
+}
268
+.comfirmBox{
269
+    width:100%;
270
+    height:60px;
271
+    background:#fff;
272
+    position: absolute;
273
+    bottom:0;
274
+    display: flex;
275
+    align-items: center;
276
+    justify-content: space-between;
277
+}
278
+</style>
279
+
280
+<style lang="scss">
281
+.centerLeft{
282
+    .el-form-item__label{
283
+        text-align: left;
284
+    }
285
+}
286
+.tabsBox{
287
+    .el-tabs__item{
288
+        padding: 0 10px;
289
+    }
290
+    .el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2), .el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2){
291
+        padding: 0 10px;
292
+    }
293
+    .el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:last-child, .el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:last-child, .el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child, .el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child, .el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:last-child, .el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:last-child, .el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child, .el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child{
204 294
         padding: 0 10px;
205 295
     }
296
+    .el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{
297
+        padding: 0 10px;
298
+    }
299
+}
300
+.centerRight{
301
+    .el-tabs__nav-scroll{
302
+        display: flex;
303
+    }
304
+    .el-tabs__nav{
305
+        margin: 0 auto;
306
+    }
307
+    .el-table th .cell, .el-table td .cell{
308
+        padding: 0 2px;
309
+    }
310
+}
311
+.preTabs{
312
+    // .el-tabs__content{
313
+    //     height:69%;
314
+    //     overflow-y: auto;
315
+    // }
316
+}
317
+.rightTabs{
318
+    height: 100%;
319
+    // .el-tabs__content{
320
+    //     height:72%;
321
+    //     overflow-y: auto;
322
+    // }
206 323
 }
207 324
 </style>

+ 1 - 1
src/xt_pages/outpatientDoctorStation/pastInquiries.vue Voir le fichier

@@ -38,7 +38,7 @@
38 38
                 </el-table-column>
39 39
                 <el-table-column align="center" prop="name" label="操作" width="100">
40 40
                     <template slot-scope="scope">
41
-                        <el-button size="mini" type="danger" @click="handerDelete">删除</el-button>
41
+                        <el-button size="mini" type="primary" @click="handerDelete">详情</el-button>
42 42
                     </template>
43 43
                 </el-table-column>
44 44
             </el-table>

Fichier diff supprimé car celui-ci est trop grand
+ 1470 - 0
src/xt_pages/outpatientDoctorStation/print.vue


+ 37 - 16
src/xt_pages/outpatientRegistration/index.vue Voir le fichier

@@ -19,7 +19,7 @@
19 19
                     </el-form-item>
20 20
                     <el-form-item class="specialFormItem" label="医保卡号">
21 21
                         <el-input v-model="form.medicalInsuranceCard"></el-input>
22
-                        <el-button type="primary">读卡</el-button>
22
+                        <el-button type="primary" @click="reading">读卡</el-button>
23 23
                     </el-form-item>
24 24
                     <el-form-item label="患者姓名">
25 25
                         <el-input v-model="form.name"></el-input>
@@ -126,6 +126,7 @@
126 126
 
127 127
 <script>
128 128
 import BreadCrumb from '@/xt_pages/components/bread-crumb'
129
+import { basename } from 'path'
129 130
 const moment = require('moment')
130 131
 export default {
131 132
     components:{
@@ -192,27 +193,27 @@ export default {
192 193
                 label: "港澳地区身份证"
193 194
             }],
194 195
             medicalCare: [{
195
-                value: 1,
196
-                label: '普通门诊'
196
+                value: 310,
197
+                label: '职工基本医疗保险'
197 198
                 }, {
198
-                value: 2,
199
-                label: "门诊大病"
199
+                value: 320,
200
+                label: "公务员医疗补助"
200 201
                 },{
201
-                value: 3,
202
-                label: "重疾特药"
202
+                value: 330,
203
+                label: "大额医疗费用补助"
203 204
                 },{
204
-                value: 4,
205
-                label: "门诊特检"
205
+                value: 340,
206
+                label: "离休人员医疗"
206 207
                 },{
207
-                value: 5,
208
-                label: "健康接种"
208
+                value: 390,
209
+                label: "城乡居民基本医疗保险"
209 210
                 },{
210
-                value: 6,
211
-                label: "预防接种"
211
+                value: 392,
212
+                label: "城乡居民大病医疗保险"
212 213
                 },
213 214
                 {
214
-                value: 7,
215
-                label: "门诊输液"
215
+                value: 510,
216
+                label: "生育保险"
216 217
             }],
217 218
             register: [{
218 219
                 value: 1,
@@ -230,6 +231,16 @@ export default {
230 231
                 value: 5,
231 232
                 label: "专家"
232 233
             }],
234
+            baseinfo:{
235
+                certno:"440221195903290027",
236
+                psn_no:"0221201972",
237
+                gend:"2",
238
+                brdy:"1960-03-29",
239
+                naty:"01",
240
+                psn_cert_type:"01",
241
+                psn_name:"杨美英",
242
+                age:60.7
243
+            },
233 244
         }
234 245
     },
235 246
     computed:{
@@ -240,6 +251,15 @@ export default {
240 251
         }
241 252
     },
242 253
     methods:{
254
+        reading(medicalInsuranceCard){
255
+            this.form.name = this.baseinfo.psn_name
256
+            this.form.sex = parseInt(this.baseinfo.gend)
257
+            this.form.psn_cert_type = this.baseinfo.certificates
258
+            this.form.birthday = this.baseinfo.brdy
259
+            this.form.age = parseInt(this.baseinfo.age)
260
+            this.form.idCard = this.baseinfo.certno
261
+            this.form.certificates = 1
262
+        },
243 263
         getBirthday(date){
244 264
             console.log(date)
245 265
             let curTime = moment(new Date(date)).format('YYYY-MM-DD')
@@ -311,7 +331,8 @@ export default {
311 331
                 })
312 332
                 this.$message({message: '添加成功',type: 'success'});
313 333
             }
314
-        }   
334
+        },
335
+        
315 336
     }
316 337
 }
317 338
 </script>

+ 312 - 0
src/xt_pages/role/departManage.vue Voir le fichier

@@ -0,0 +1,312 @@
1
+<template>
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+      <el-button
6
+        type="primary"
7
+        size="small"
8
+        icon="el-icon-circle-plus-outline"
9
+        style="float:right;"
10
+        @click="openForm"
11
+        >新增</el-button
12
+      >
13
+    </div>
14
+    <div class="app-container">
15
+      <el-table
16
+        :row-style="{ color: '#303133' }"
17
+        :header-cell-style="{
18
+          backgroundColor: 'rgb(245, 247, 250)',
19
+          color: '#606266'
20
+        }"
21
+        style="width:100%;"
22
+        ref="table"
23
+        border
24
+        :data="tableData"
25
+      >
26
+        <el-table-column label="序号" prop="name" min-width="60" align="center">
27
+           <template slot-scope="scope">
28
+                {{scope.$index + 1}}
29
+           </template>
30
+        </el-table-column>
31
+        <el-table-column label="科室名称" prop="name" min-width="150" align="center">
32
+            <template slot-scope="scope">
33
+                {{scope.row.name}}
34
+            </template>
35
+        </el-table-column>
36
+         <el-table-column label="科室编号"  prop="ip" min-width="150" align="center">
37
+             <template slot-scope="scope">
38
+                 {{scope.row.number}}
39
+             </template>
40
+         </el-table-column>
41
+        <el-table-column label="操作" width="160" align="center">
42
+          <template slot-scope="scope">
43
+            <el-tooltip
44
+              class="item"
45
+              effect="dark"
46
+              content="编辑"
47
+              placement="top"
48
+            >
49
+            <el-button
50
+                type="primary"
51
+                icon="el-icon-edit-outline"
52
+                size="small"
53
+                @click="editOpenForm(scope.row.id)">
54
+            </el-button>
55
+            </el-tooltip>
56
+            <el-tooltip
57
+              class="item"
58
+              effect="dark"
59
+              content="删除"
60
+              placement="top"
61
+            >
62
+              <el-button
63
+                type="danger"
64
+                size="small"
65
+                icon="el-icon-delete"
66
+                @click="DeleteDepartment(scope.row.id,scope.$index)"
67
+              ></el-button>
68
+            </el-tooltip>
69
+          </template>
70
+        </el-table-column>
71
+      </el-table>
72
+      
73
+
74
+        <el-pagination
75
+            @size-change="handleSizeChange"
76
+            @current-change="handleCurrentChange"
77
+            :page-sizes="[10, 50, 100]"
78
+            :page-size="10"
79
+            background
80
+            align="right"
81
+            style="margin-top:20px;"
82
+            layout="total, sizes, prev, pager, next, jumper"
83
+            :total="total"
84
+         >
85
+        </el-pagination>
86
+
87
+     
88
+       
89
+      
90
+      <el-dialog
91
+        title="添加科室"
92
+        :visible.sync="dialogVisible"
93
+        width="50%">
94
+        <span>
95
+          <el-form :model="form" ref="form" label-width="120px">
96
+             <el-row :span="24">
97
+                 <el-col :span="10">
98
+                   <el-form-item label="科室名称:">
99
+                      <el-input v-model="form.name" style="width:200px"></el-input>
100
+                  </el-form-item> 
101
+                 </el-col>
102
+             </el-row >
103
+             <el-row :span="24" >
104
+                 <el-col :span="12">
105
+                   <el-form-item label="医保科室编号:">
106
+                      <el-input v-model="form.number"  style="width:200px"></el-input>
107
+                  </el-form-item> 
108
+                 </el-col>
109
+             </el-row>
110
+          </el-form>
111
+        </span>
112
+        <span slot="footer" class="dialog-footer">
113
+            <el-button @click="dialogVisible = false">取 消</el-button>
114
+            <el-button type="primary" @click="SaveDepartment('form')">确 定</el-button>
115
+        </span>
116
+    </el-dialog>
117
+
118
+     
119
+      <el-dialog
120
+        title="编辑科室"
121
+        :visible.sync="editDialogVisible"
122
+        width="50%">
123
+        <span>
124
+          <el-form :model="form" ref="form" label-width="120px">
125
+             <el-row :span="24">
126
+                 <el-col :span="10">
127
+                   <el-form-item label="科室名称:">
128
+                      <el-input v-model="form.name" style="width:200px"></el-input>
129
+                  </el-form-item> 
130
+                 </el-col>
131
+             </el-row >
132
+             <el-row :span="24" >
133
+                 <el-col :span="12">
134
+                   <el-form-item label="医保科室编号:">
135
+                      <el-input v-model="form.number"  style="width:200px"></el-input>
136
+                  </el-form-item> 
137
+                 </el-col>
138
+             </el-row>
139
+          </el-form>
140
+        </span>
141
+        <span slot="footer" class="dialog-footer">
142
+            <el-button @click="editDialogVisible = false">取 消</el-button>
143
+            <el-button type="primary" @click="UpdatedDepartment('form')">确 定</el-button>
144
+        </span>
145
+    </el-dialog>
146
+
147
+
148
+
149
+    </div>
150
+  </div>
151
+</template>
152
+
153
+<script>
154
+
155
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
156
+import AdminInfoForm from "./components/AdminInfoForm";
157
+import { SaveDepartment,getDePartmentList,getDepartMentDetail,UpdatedDepartment,DeleteDepartment } from "@/api/project/project"
158
+export default {
159
+  name: "adminManage",
160
+  data() {
161
+    return {
162
+      crumbs: [
163
+        { path: false, name: "管理中心" },
164
+        { path: false, name: "部门管理" }
165
+      ],
166
+      tableData:[],
167
+      dialogVisible:false,
168
+      editDialogVisible:false,
169
+      form:{
170
+        id:0,
171
+        name:"",
172
+        number:"",
173
+      },
174
+      limit:20,
175
+      page:1,
176
+      total:10,
177
+    };
178
+  },
179
+  components: {
180
+    BreadCrumb,
181
+    AdminInfoForm
182
+  },
183
+  created() {
184
+    this.getlist()
185
+  },
186
+
187
+  methods: {
188
+
189
+    openForm(){
190
+      this.dialogVisible = true
191
+    },
192
+
193
+    handleSizeChange(val) {
194
+       this.limit = val
195
+       this.getlist()
196
+    },
197
+    handleCurrentChange(val) {
198
+       this.page = val
199
+       this.getlist()
200
+    },
201
+    SaveDepartment(formName){
202
+         var params = {
203
+            name:this.form.name,
204
+            number:this.form.number, 
205
+         }
206
+       this.$refs[formName].validate((valid)=>{
207
+          SaveDepartment(params).then(response=>{
208
+             if(response.data.state == 1){
209
+                var department =  response.data.data.department
210
+                console.log("department",department)
211
+                this.$message.success("保存成功")
212
+                this.dialogVisible = false
213
+                this.getlist()
214
+                this.form.name = ""
215
+                this.form.number = ""
216
+             }
217
+          })
218
+       })
219
+    },
220
+    getlist(){
221
+       var params = {
222
+           limit:this.limit,
223
+           page:this.page,
224
+       }
225
+      getDePartmentList(params).then(response=>{
226
+         if(response.data.state == 1){
227
+           var department =   response.data.data.departMentList
228
+           console.log("department",department)
229
+           this.tableData = department
230
+           var total = response.data.data.total
231
+           console.log("total",total)
232
+           this.total = total
233
+         }
234
+      })
235
+    },
236
+
237
+    editOpenForm(id){
238
+      this.editDialogVisible = true
239
+      getDepartMentDetail(id).then(response=>{
240
+         if(response.data.state == 1){
241
+           var departDetail =  response.data.data.departDetail
242
+           console.log("departdetail",departDetail)
243
+           this.form.id = departDetail.id
244
+           this.form.name = departDetail.name
245
+           this.form.number = departDetail.number
246
+         }
247
+      })
248
+    },
249
+    
250
+    UpdatedDepartment(formName){
251
+         var params = {
252
+            id:this.form.id,
253
+            name:this.form.name,
254
+            number:this.form.number, 
255
+         }
256
+       this.$refs[formName].validate((valid)=>{
257
+          UpdatedDepartment(params).then(response=>{
258
+             if(response.data.state == 1){
259
+                var department =  response.data.data.department
260
+                console.log("department",department)
261
+                this.$message.success("保存成功")
262
+                this.editDialogVisible = false
263
+                this.getlist()
264
+             }
265
+          })
266
+       })
267
+    },
268
+    
269
+   DeleteDepartment(id,index){
270
+      this.$confirm("确认删除此部门吗?", "删除", {
271
+        confirmButtonText: "确 定",
272
+        cancelButtonText: "取 消",
273
+        type: "warning"
274
+       }).then(() => {
275
+
276
+       DeleteDepartment(id).then(response => {
277
+          if (response.data.state == 1) {
278
+             var msg = response.data.data.msg
279
+             this.$message.success("删除成功")
280
+             this.tableData.splice(index, 1);
281
+          }
282
+       });
283
+     }).catch(() => {});
284
+    }
285
+  
286
+    
287
+  },
288
+    
289
+  
290
+ 
291
+ 
292
+};
293
+</script>
294
+
295
+<style rel="stylesheet/scss" lang="scss" scoped>
296
+.el-button + .el-button {
297
+  margin-left: 0 !important;
298
+}
299
+</style>
300
+<style>
301
+.el-table td,
302
+.el-table th.is-leaf,
303
+.el-table--border,
304
+.el-table--group {
305
+  border-color: #d0d3da;
306
+}
307
+.el-table--border::after,
308
+.el-table--group::after,
309
+.el-table::before {
310
+  background-color: #d0d3da;
311
+}
312
+</style>