瀏覽代碼

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

XMLWAN 4 年之前
父節點
當前提交
9f93344925

+ 8 - 0
src/router/modules/outpatientDoctorStation.js 查看文件

@@ -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
 }

+ 33 - 63
src/xt_pages/outpatientCharges/components/prescriptionTable.vue 查看文件

@@ -1,21 +1,22 @@
1 1
 <template>
2 2
     <div class="prescriptionTable">
3
-        <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>
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 4
             <el-table-column align="center" type="selection" width="40"></el-table-column>
5 5
             <el-table-column align="center" type="index" width="40" label="序号"></el-table-column>
6 6
             <el-table-column align="center" prop="name" label="名称">
7
-                <template slot-scope="scope">{{ scope.row.date }}</template>
7
+                <template slot-scope="scope">{{ scope.row.name }}</template>
8 8
             </el-table-column>
9 9
             <el-table-column align="center" prop="name" width="50" label="组套">
10 10
                 <template slot-scope="scope">
11
-                    <el-select v-model="value" placeholder="">
11
+                    <!-- <el-select v-model="value" placeholder="">
12 12
                         <el-option
13
-                        v-for="item in options"
13
+                        v-for="item in newoptions"
14 14
                         :key="item.value"
15 15
                         :label="item.label"
16 16
                         :value="item.value">
17 17
                         </el-option>
18
-                    </el-select>
18
+                    </el-select> -->
19
+                    <el-input v-model="input" placeholder=""></el-input>
19 20
                 </template>
20 21
             </el-table-column>
21 22
             <el-table-column align="center" prop="name" width="50" :label="'单次\n用量'">
@@ -25,69 +26,73 @@
25 26
             </el-table-column>
26 27
             <el-table-column align="center" prop="name" width="50" label="用法">
27 28
                 <template slot-scope="scope">
28
-                    <el-select v-model="value" placeholder="">
29
+                    <!-- <el-select v-model="value" placeholder="">
29 30
                         <el-option
30
-                        v-for="item in options"
31
+                        v-for="item in newoptions"
31 32
                         :key="item.value"
32 33
                         :label="item.label"
33 34
                         :value="item.value">
34 35
                         </el-option>
35
-                    </el-select>
36
+                    </el-select> -->
37
+                    <el-input v-model="input" placeholder=""></el-input>
36 38
                 </template>
37 39
             </el-table-column>
38 40
             <el-table-column align="center" prop="name" width="50" label="频率">
39 41
                 <template slot-scope="scope">
40
-                    <el-select v-model="value" placeholder="">
42
+                    <!-- <el-select v-model="value" placeholder="">
41 43
                         <el-option
42
-                        v-for="item in options"
44
+                        v-for="item in newoptions"
43 45
                         :key="item.value"
44 46
                         :label="item.label"
45 47
                         :value="item.value">
46 48
                         </el-option>
47
-                    </el-select>
49
+                    </el-select> -->
50
+                    <el-input v-model="input" placeholder=""></el-input>
48 51
                 </template>
49 52
             </el-table-column>
50 53
             <el-table-column align="center" prop="name" width="50" label="天数">
51 54
                 <template slot-scope="scope">
52
-                    <el-select v-model="value" placeholder="">
55
+                    <!-- <el-select v-model="value" placeholder="">
53 56
                         <el-option
54
-                        v-for="item in options"
57
+                        v-for="item in newoptions"
55 58
                         :key="item.value"
56 59
                         :label="item.label"
57 60
                         :value="item.value">
58 61
                         </el-option>
59
-                    </el-select>
62
+                    </el-select> -->
63
+                    <el-input v-model="input" placeholder=""></el-input>
60 64
                 </template>
61 65
             </el-table-column>
62 66
             <el-table-column align="center" prop="name" width="100" label="总量">
63 67
                 <template slot-scope="scope">
64 68
                     <div style="display:flex;">
65 69
                         <el-input v-model="input" style="width:50%" placeholder=""></el-input>
66
-                        <el-select v-model="value" style="width:50%" placeholder="">
70
+                        <!-- <el-select v-model="value" style="width:50%" placeholder="">
67 71
                             <el-option
68
-                            v-for="item in options"
72
+                            v-for="item in newoptions"
69 73
                             :key="item.value"
70 74
                             :label="item.label"
71 75
                             :value="item.value">
72 76
                             </el-option>
73
-                        </el-select>
77
+                        </el-select> -->
78
+                        <el-input v-model="input" style="width:50%" placeholder=""></el-input>
74 79
                     </div>
75 80
                 </template>
76 81
             </el-table-column>
77 82
             <el-table-column align="center" prop="name" width="50" label="单价">
78 83
                 <template slot-scope="scope">
79
-                    <el-input v-model="input" placeholder=""></el-input>
84
+                    <el-input v-model="scope.row.unitPrice" placeholder=""></el-input>
80 85
                 </template>
81 86
             </el-table-column>
82 87
             <el-table-column align="center" prop="name" width="50" label="备注">
83 88
                 <template slot-scope="scope">
84
-                    <el-autocomplete
89
+                    <!-- <el-autocomplete
85 90
                     class="inline-input"
86 91
                     v-model="state1"
87 92
                     :fetch-suggestions="querySearch"
88 93
                     placeholder=""
89 94
                     @select="handleSelect"
90
-                    ></el-autocomplete>
95
+                    ></el-autocomplete> -->
91 96
                 </template>
92 97
             </el-table-column>
93 98
             <el-table-column align="center" width="40" prop="name" label="操作">
@@ -101,42 +106,13 @@
101 106
 
102 107
 <script>
103 108
 export default {
109
+    props:{
110
+        preTableData:Array
111
+    },
104 112
     data(){
105 113
         return{
106
-            tableData: [{
107
-            date: '2016-05-02',
108
-            name: '王小虎',
109
-            address: '上海市普陀区金沙江路 1518 弄'
110
-            }, {
111
-            date: '2016-05-04',
112
-            name: '王小虎',
113
-            address: '上海市普陀区金沙江路 1517 弄'
114
-            }, {
115
-            date: '2016-05-01',
116
-            name: '王小虎',
117
-            address: '上海市普陀区金沙江路 1519 弄'
118
-            }, {
119
-            date: '2016-05-03',
120
-            name: '王小虎',
121
-            address: '上海市普陀区金沙江路 1516 弄'
122
-            },{
123
-            date: '2016-05-02',
124
-            name: '王小虎',
125
-            address: '上海市普陀区金沙江路 1518 弄'
126
-            }, {
127
-            date: '2016-05-04',
128
-            name: '王小虎',
129
-            address: '上海市普陀区金沙江路 1517 弄'
130
-            }, {
131
-            date: '2016-05-01',
132
-            name: '王小虎',
133
-            address: '上海市普陀区金沙江路 1519 弄'
134
-            }, {
135
-            date: '2016-05-03',
136
-            name: '王小虎',
137
-            address: '上海市普陀区金沙江路 1516 弄'
138
-            }],
139
-            options: [{
114
+            tableData: [],
115
+            newoptions: [{
140 116
             value: '1',
141 117
             label: '1'
142 118
             }, {
@@ -152,16 +128,10 @@ export default {
152 128
             value: '5',
153 129
             label: '5'
154 130
             }],
155
-            value:'',
156
-            input:"",
157
-            state1:""
131
+            value:'1',
132
+            input:1
158 133
         }
159
-    },
160
-     methods:{
161
-       handleSelect(){
162
-
163
-       }
164
-     }
134
+    }
165 135
 }
166 136
 </script>
167 137
 

+ 123 - 94
src/xt_pages/outpatientCharges/outpatientChargesManagement.vue 查看文件

@@ -6,28 +6,27 @@
6 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">
13
-                    <el-radio-group v-model="radio" @change="chageRadio">
14
-                        <el-radio :label=1>未就诊</el-radio>
15
-                        <el-radio :label=2>已就诊</el-radio>
16
-                        <el-radio :label=3>全部</el-radio>
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 17
                     </el-radio-group>
18 18
                 </div>
19 19
                 <div class="mainCell" style="margin-bottom:10px;">
20
-                    <el-input size="small"  v-model.trim="search_input" class="filter-item"/>
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 23
                 <div style="flex:1;overflow-y:auto;">
24
-                    <el-table :data="tableData"  ref="tab" border style="width: 100%;" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" 
25
-                     highlight-current-row @current-change="changePatient">
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>
26 25
                         <el-table-column align="center" prop="name" label="患者姓名">
27 26
                             <template slot-scope="scope">{{ scope.row.name }}</template>
28 27
                         </el-table-column>
29 28
                         <el-table-column align="center" prop="name" label="就诊号" width="90">
30
-                            <template slot-scope="scope">{{ scope.row.date }}</template>
29
+                            <template slot-scope="scope">{{ scope.row.mdtrt_id }}</template>
31 30
                         </el-table-column>
32 31
                     </el-table>
33 32
                 </div>
@@ -38,6 +37,7 @@
38 37
                     <el-button size="small" @click="open(2)" type="primary">打印治疗单</el-button>
39 38
                     <el-button size="small" @click="open(3)" type="primary">打印</el-button>
40 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 41
                 </div>
42 42
                 <div class="mainCenter">
43 43
                     <div class="centerLeft">
@@ -51,7 +51,7 @@
51 51
                                     :name="item.name"
52 52
                                 >
53 53
                                     <div class="RP">Rp</div>
54
-                                    <prescription-table></prescription-table>
54
+                                    <prescription-table :preTableData='preTableData'></prescription-table>
55 55
                                 </el-tab-pane>
56 56
                                 <el-tab-pane name="more" closable><span slot="label"><i class="el-icon-plus" @click="addTab"></i></span></el-tab-pane>
57 57
                             </el-tabs>
@@ -59,23 +59,23 @@
59 59
                         </div>
60 60
                         <div class="costBox">
61 61
                             <span>处方编号:2134348971237883</span>
62
-                            <span>当前处方总费用:<span style="color:red;">0.00元</span></span>
63
-                            <span>已收费</span>
62
+                            <span>当前处方总费用:<span style="color:red;">{{ total }}元</span></span>
63
+                            <span>{{ state }}</span>
64 64
                         </div>
65 65
                     </div>
66 66
                     <div class="centerRight">
67 67
                         <p class="centerRightTitle">人员信息</p>
68 68
                         <div style="display:flex;justify-content: space-between;line-height:30px;">
69
-                            <span style="font-size:14px;">人员编码:676273816287361</span>
70
-                            <span style="font-size:14px;">日期:2020-10-10</span>
69
+                            <span style="font-size:14px;">人员编码:{{ patientInfo.psn_no }}</span>
70
+                            <span style="font-size:14px;">日期:2020-11-13</span>
71 71
                         </div>
72 72
                         <ul class="basicUl">
73
-                            <li style="width:50%;">姓名:张三</li>
74
-                            <li style="width:50%;">性别:男</li>
75
-                            <li style="width:50%;">年龄:12</li>
76
-                            <li style="width:50%;">身高:123</li>
77
-                            <li style="width:50%;">体重:44kg</li>
78
-                            <li style="width:50%;">电话:348971237883</li>
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 79
                             <li style="width:100%;">地址:</li>
80 80
                             <li style="width:100%;">过敏史:</li>
81 81
                         </ul>
@@ -84,12 +84,12 @@
84 84
                             <span style="font-size:14px;">门诊编号:676273816287361</span>
85 85
                         </div>
86 86
                         <ul class="basicUl">
87
-                            <li style="width:50%;">医生:张三</li>
88
-                            <li style="width:50%;">科室:肾病科</li>
89
-                            <li style="width:100%;">费用:20元</li>
90
-                            <li style="width:100%;">判断结果:</li>
91
-                            <li style="width:100%;">是否有传染病:</li>
92
-                            <li style="width:100%;">血压:80/120mmHg</li>
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 93
                         </ul>
94 94
                     </div>
95 95
                 </div>
@@ -107,7 +107,6 @@ import charged from './components/charged'
107 107
 import medicalInsuranceRefund from './components/medicalInsuranceRefund'
108 108
 import prescriptionTable from './components/prescriptionTable'
109 109
 import additionalCharges from './components/additionalCharges'
110
-import {getPatientList,getHisPrescription } from "@/api/project/project"
111 110
 export default {
112 111
     components:{
113 112
         BreadCrumb,
@@ -123,19 +122,86 @@ export default {
123 122
                 { path: false, name: '门诊收费' },
124 123
                 { path: false, name: '门诊收费管理' }
125 124
             ],
126
-            tableData: [],
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
+            }],
127 186
             editableTabsValue: '1',
128 187
             editableTabs: [{
129 188
             title: '处方1',
130 189
             name: '1',
131 190
             }],
132 191
             tabIndex: 1,
133
-            radio:1,
134
-            search_input:"",
135
-            radio_status:1,
136
-            patient_id:0
137 192
 
193
+            patientTableData:[{
194
+                name:'杨美英',
195
+                mdtrt_id:"1709946",
196
+            }],
197
+            patientInfo:{},
198
+            doctor:{},
199
+            total:0,
200
+            state:'未收费'
138 201
         }
202
+    },
203
+    created(){
204
+        
139 205
     },
140 206
     methods:{
141 207
         moreState(tab, event){
@@ -148,7 +214,10 @@ export default {
148 214
             }else if(index == 2){
149 215
                 
150 216
             }else if(index == 4){
217
+                this.state = '已收费'
218
+                this.$message({message: '收费成功',type: 'success'});
151 219
             }else if(index == 5){
220
+                this.$message({message: '退费成功',type: 'success'});
152 221
             }
153 222
             
154 223
         },
@@ -178,70 +247,30 @@ export default {
178 247
             this.editableTabs = tabs.filter(tab => tab.name !== targetName);
179 248
         },
180 249
         addCharges(){
181
-            var patient_id = this.patient_id
182
-            console.log("patient_id",patient_id)
183
-            this.$refs.additionalCharges.show(patient_id)
184
-        },
185
-        chageRadio(id){
186
-          this.radio_status = id
187
-          this.getPatientList()
250
+            this.$refs.additionalCharges.show()
188 251
         },
189
-        getPatientList(){
190
-           getPatientList().then(response=>{
191
-              if(response.data.state == 1){
192
-                var hisPatient = response.data.data.hisPatient
193
-                 for(let i=0;i<hisPatient.length;i++){
194
-                    hisPatient[i].id_card_no = hisPatient[i].id_number
195
-                 }
196
-                 var scheduleList = response.data.data.scheduleList 
197
-                 hisPatient.push(...scheduleList)
198
-                 //去除身份相同的患者
199
-                 var tabArr = this.unique(hisPatient)
200
-                 console.log("222",tabArr)
201
-                 this.patient_id = tabArr[0].id
202
-                 this.$refs.tab.setCurrentRow(tabArr[0])
203
-                 if(this.radio_status == 1){
204
-                    this.tableData = []
205
-                    this.tableData = tabArr  
206
-                 }
207
-                 var prescription =  response.data.data.prescription
208
-                  console.log("prescription",prescription)
209
-                if(this.radio_status == 2){
210
-                    this.tableData = []
211
-                    this.tableData = prescription
212
-                    this.patient_id = prescription[0].his_patient_id
213
-                 }
214
-                
215
-                
216
-              }
217
-           }) 
218
-        },
219
-       searchAction(){
220
-
221
-       },
222
-       unique(arr) {
223
-        console.log("arr22222",arr)
224
-        const res = new Map();
225
-        return arr.filter((arr) => !res.has(arr.id_card_no) && res.set(arr.id_card_no, 1))
226
-       },
227
-       changePatient(val){
228
-        this.currentRow = val
229
-        this.patient_id = val.id
230
-        this.getHisPrescription(val.id)
231
-       },
232
-      getHisPrescription(id){
233
-         getHisPrescription(id).then(response=>{
234
-            if(response.data.state == 1){
235
-              var prescription =  response.data.data.prescriptionList
236
-              console.log("prescription",prescription)
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
237 267
             }
238
-         })
239
-      }
240
-    },
241
-    created(){
242
-        //统计患者列表
243
-       this.getPatientList()   
244
-
268
+            this.doctor = {
269
+                name:'刘志刚',
270
+                department:'血透中心',
271
+                total:20,
272
+            }
273
+        }
245 274
     }
246 275
 }
247 276
 </script>

+ 100 - 18
src/xt_pages/outpatientDoctorStation/components/deskPrescription.vue 查看文件

@@ -1,6 +1,6 @@
1 1
 <template>
2 2
     <div style="height: calc(100% - 36px);display: flex;flex-direction: column;">
3
-        <div style="overflow:hidden;border-top:1px solid #e5e5e5;margin-top:5px;">
3
+        <div style="border-top:1px solid #e5e5e5;margin-top:5px;">
4 4
             <div class="mainCell" style="margin-bottom:10px;float:right">
5 5
                 <el-button size="small" @click="open(1)" type="primary" style="margin-left:10px;">保存</el-button>
6 6
                 <el-button size="small" @click="open(2)" type="primary">打印</el-button>
@@ -13,10 +13,10 @@
13 13
             <div class="centerLeft">
14 14
                 <el-form :model="form" :rules="rules" ref="form" label-width="80px">
15 15
                     <el-form-item label="姓名:" prop="name">
16
-                        <el-input v-model="form.name" placeholder=""></el-input>
16
+                        <el-input v-model="patientInfo.psn_name" placeholder=""></el-input>
17 17
                     </el-form-item>
18 18
                     <el-form-item label="证件号: " prop="name">
19
-                        <el-input v-model="form.name" placeholder=""></el-input>
19
+                        <el-input v-model="patientInfo.certno" placeholder=""></el-input>
20 20
                     </el-form-item>
21 21
                     <el-form-item label="挂号类型: " prop="name">
22 22
                         <el-input v-model="form.name" placeholder=""></el-input>
@@ -56,32 +56,32 @@
56 56
                             :name="item.name"
57 57
                         >
58 58
                             <div class="RP">Rp</div>
59
-                            <prescription-table></prescription-table>
59
+                            <prescription-table :preDrugs="preDrugs"></prescription-table>
60 60
                         </el-tab-pane>
61 61
                         <el-tab-pane name="more" closable><span slot="label"><i class="el-icon-plus" @click="addTab"></i></span></el-tab-pane>
62 62
                     </el-tabs>
63 63
                 </div>
64 64
                 <div class="costBox">
65 65
                     <span>医生:</span>
66
-                    <el-select style="margin-right:5px;" v-model="value" placeholder="">
66
+                    <el-select style="margin-right:5px;" v-model="doctorValue" placeholder="">
67 67
                         <el-option
68
-                        v-for="item in options"
68
+                        v-for="item in doctorOptions"
69 69
                         :key="item.value"
70 70
                         :label="item.label"
71 71
                         :value="item.value">
72 72
                         </el-option>
73 73
                     </el-select>
74 74
                     <span>科室:</span>
75
-                    <el-select style="margin-right:5px;" v-model="value" placeholder="">
75
+                    <el-select style="margin-right:5px;" v-model="departmentValue" placeholder="">
76 76
                         <el-option
77
-                        v-for="item in options"
77
+                        v-for="item in departmentOptions"
78 78
                         :key="item.value"
79 79
                         :label="item.label"
80 80
                         :value="item.value">
81 81
                         </el-option>
82 82
                     </el-select>
83 83
                     <span>总计:</span>
84
-                    <span style="color:red;">0.00</span>元
84
+                    <span style="color:red;">{{ total }}</span>元
85 85
                 </div>
86 86
             </div>
87 87
             <div class='centerRight'>
@@ -104,19 +104,19 @@
104 104
                     <div style="height:84%;overflow-y: auto;margin-bottom: 60px;">
105 105
                         <el-tabs class="rightTabs" v-model="activeName">
106 106
                             <el-tab-pane label="药品列表" name="1">
107
-                                <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>
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 108
                                     <el-table-column align="center" type="selection" width="40"></el-table-column>
109 109
                                     <el-table-column align="center" prop="name" label="名称">
110
-                                        <template slot-scope="scope">{{ scope.row.date }}</template>
110
+                                        <template slot-scope="scope">{{ scope.row.name }}</template>
111 111
                                     </el-table-column>
112 112
                                     <el-table-column align="center" label="规格" width="60">
113
-                                        <template slot-scope="scope">33</template>
113
+                                        <template slot-scope="scope">{{ scope.row.specifications }}</template>
114 114
                                     </el-table-column>
115 115
                                     <el-table-column align="center" label="库存" width="60">
116
-                                        <template slot-scope="scope">22</template>
116
+                                        <template slot-scope="scope">{{ scope.row.stock }}</template>
117 117
                                     </el-table-column>
118 118
                                     <el-table-column align="center" label="单价" width="40">
119
-                                        <template slot-scope="scope">12</template>
119
+                                        <template slot-scope="scope">{{ scope.row.unitPrice }}</template>
120 120
                                     </el-table-column>
121 121
                                 </el-table>
122 122
                             </el-tab-pane>
@@ -151,7 +151,7 @@
151 151
                                 </el-option>
152 152
                             </el-select>
153 153
                         </div>
154
-                        <el-button type="primary" size="small">确定添加</el-button>
154
+                        <el-button type="primary" size="small" @click="comfirm">确定添加</el-button>
155 155
                     </div>
156 156
                 </template>
157 157
             </div>
@@ -169,6 +169,9 @@ import selectTemplate from './selectTemplate'
169 169
 import saveTemplate from './saveTemplate'
170 170
 import additionalCharges from './additionalCharges'
171 171
 export default {
172
+    props:{
173
+        patientInfo:Object
174
+    },
172 175
     components:{
173 176
         selectTemplate,
174 177
         saveTemplate,
@@ -249,7 +252,75 @@ export default {
249 252
             tabIndex: 1,
250 253
 
251 254
             rightTab:1,
252
-            activeName:'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
253 324
         }
254 325
     },
255 326
     methods:{
@@ -260,9 +331,10 @@ export default {
260 331
         },
261 332
         open(index){
262 333
             if(index == 1){
263
-                this.$refs.prescription.show()
334
+                localStorage.setItem("drugs",JSON.stringify(this.preDrugs));
335
+                this.$message({message: '保存成功',type: 'success'});
264 336
             }else if(index == 2){
265
-                
337
+                this.$router.push('/outpatientDoctorStation/print')
266 338
             }else if(index == 4){
267 339
                 this.$refs.selectTemplate.show()
268 340
             }else if(index == 5){
@@ -300,6 +372,16 @@ export default {
300 372
         },
301 373
         addCharges(){
302 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
+            
303 385
         }
304 386
     }
305 387
 }

+ 32 - 55
src/xt_pages/outpatientDoctorStation/components/prescriptionTable.vue 查看文件

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

+ 86 - 15
src/xt_pages/outpatientDoctorStation/doctorDesk.vue 查看文件

@@ -6,14 +6,14 @@
6 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">
13 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>
14
+                        <el-radio :label="1">未就诊</el-radio>
15
+                        <el-radio :label="2">已就诊</el-radio>
16
+                        <el-radio :label="3">全部</el-radio>
17 17
                     </el-radio-group>
18 18
                 </div>
19 19
                 <div class="mainCell" style="margin-bottom:10px;">
@@ -21,12 +21,12 @@
21 21
                     <el-button size="small" style="margin-left:10px;" class="filter-item" type="primary" @click="searchAction">搜索</el-button>
22 22
                 </div>
23 23
                 <div style="flex:1;overflow-y:auto;">
24
-                    <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>
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 25
                         <el-table-column align="center" prop="name" label="患者姓名">
26 26
                             <template slot-scope="scope">{{ scope.row.name }}</template>
27 27
                         </el-table-column>
28 28
                         <el-table-column align="center" prop="name" label="就诊号" width="90">
29
-                            <template slot-scope="scope"></template>
29
+                            <template slot-scope="scope">{{ scope.row.mdtrt_id }}</template>
30 30
                         </el-table-column>
31 31
                     </el-table>
32 32
                 </div>
@@ -38,7 +38,7 @@
38 38
                         <el-radio-button label="病历"></el-radio-button>
39 39
                     </el-radio-group>
40 40
                 </div>
41
-                <desk-prescription v-if="titleType == '处方'" style="flex:1;"></desk-prescription>
41
+                <desk-prescription :patientInfo="patientInfo" v-if="titleType == '处方'" style="flex:1;"></desk-prescription>
42 42
                 <desk-record v-if="titleType == '病历'"></desk-record>
43 43
             </div>
44 44
             
@@ -50,7 +50,6 @@
50 50
 import BreadCrumb from '@/xt_pages/components/bread-crumb'
51 51
 import deskPrescription from './components/deskPrescription'
52 52
 import deskRecord from './components/deskRecord'
53
-
54 53
 export default {
55 54
     components:{
56 55
         BreadCrumb,
@@ -63,17 +62,89 @@ export default {
63 62
                 { path: false, name: '门诊医生站' },
64 63
                 { path: false, name: '医生工作台' }
65 64
             ],
66
-            radio:1,
67 65
             titleType:'处方',
68
-            tableData: [],
69
-            
66
+            patientTableData:[{
67
+                name:'杨美英',
68
+                mdtrt_id:"1709946",
69
+            }],
70
+            tableData: [{
71
+            date: '2016-05-02',
72
+            name: '王小虎',
73
+            address: '上海市普陀区金沙江路 1518 弄'
74
+            }, {
75
+            date: '2016-05-04',
76
+            name: '王小虎',
77
+            address: '上海市普陀区金沙江路 1517 弄'
78
+            }, {
79
+            date: '2016-05-01',
80
+            name: '王小虎',
81
+            address: '上海市普陀区金沙江路 1519 弄'
82
+            }, {
83
+            date: '2016-05-03',
84
+            name: '王小虎',
85
+            address: '上海市普陀区金沙江路 1516 弄'
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:{}
70 132
         }
71 133
     },
72 134
     methods:{
73
-       
74
-    
75
-    },
76
-   
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
145
+            }
146
+        }
147
+    }
77 148
 }
78 149
 </script>
79 150
 

文件差異過大導致無法顯示
+ 1470 - 0
src/xt_pages/outpatientDoctorStation/print.vue


+ 37 - 16
src/xt_pages/outpatientRegistration/index.vue 查看文件

@@ -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>