See999 4 years ago
parent
commit
d12881563c

+ 8 - 0
src/router/modules/outpatientDoctorStation.js View File

30
         name: 'outpatientDoctorStationTemplateManagement',
30
         name: 'outpatientDoctorStationTemplateManagement',
31
         meta: { title: 'outpatientDoctorStationTemplateManagement', noCache: true }
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
 }

+ 32 - 55
src/xt_pages/outpatientCharges/components/prescriptionTable.vue View File

1
 <template>
1
 <template>
2
     <div class="prescriptionTable">
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
             <el-table-column align="center" type="selection" width="40"></el-table-column>
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>
5
             <el-table-column align="center" type="index" width="40" label="序号"></el-table-column>
6
             <el-table-column align="center" prop="name" label="名称">
6
             <el-table-column align="center" prop="name" label="名称">
7
-                <template slot-scope="scope">{{ scope.row.date }}</template>
7
+                <template slot-scope="scope">{{ scope.row.name }}</template>
8
             </el-table-column>
8
             </el-table-column>
9
             <el-table-column align="center" prop="name" width="50" label="组套">
9
             <el-table-column align="center" prop="name" width="50" label="组套">
10
                 <template slot-scope="scope">
10
                 <template slot-scope="scope">
11
-                    <el-select v-model="value" placeholder="">
11
+                    <!-- <el-select v-model="value" placeholder="">
12
                         <el-option
12
                         <el-option
13
-                        v-for="item in options"
13
+                        v-for="item in newoptions"
14
                         :key="item.value"
14
                         :key="item.value"
15
                         :label="item.label"
15
                         :label="item.label"
16
                         :value="item.value">
16
                         :value="item.value">
17
                         </el-option>
17
                         </el-option>
18
-                    </el-select>
18
+                    </el-select> -->
19
+                    <el-input v-model="input" placeholder=""></el-input>
19
                 </template>
20
                 </template>
20
             </el-table-column>
21
             </el-table-column>
21
             <el-table-column align="center" prop="name" width="50" :label="'单次\n用量'">
22
             <el-table-column align="center" prop="name" width="50" :label="'单次\n用量'">
25
             </el-table-column>
26
             </el-table-column>
26
             <el-table-column align="center" prop="name" width="50" label="用法">
27
             <el-table-column align="center" prop="name" width="50" label="用法">
27
                 <template slot-scope="scope">
28
                 <template slot-scope="scope">
28
-                    <el-select v-model="value" placeholder="">
29
+                    <!-- <el-select v-model="value" placeholder="">
29
                         <el-option
30
                         <el-option
30
-                        v-for="item in options"
31
+                        v-for="item in newoptions"
31
                         :key="item.value"
32
                         :key="item.value"
32
                         :label="item.label"
33
                         :label="item.label"
33
                         :value="item.value">
34
                         :value="item.value">
34
                         </el-option>
35
                         </el-option>
35
-                    </el-select>
36
+                    </el-select> -->
37
+                    <el-input v-model="input" placeholder=""></el-input>
36
                 </template>
38
                 </template>
37
             </el-table-column>
39
             </el-table-column>
38
             <el-table-column align="center" prop="name" width="50" label="频率">
40
             <el-table-column align="center" prop="name" width="50" label="频率">
39
                 <template slot-scope="scope">
41
                 <template slot-scope="scope">
40
-                    <el-select v-model="value" placeholder="">
42
+                    <!-- <el-select v-model="value" placeholder="">
41
                         <el-option
43
                         <el-option
42
-                        v-for="item in options"
44
+                        v-for="item in newoptions"
43
                         :key="item.value"
45
                         :key="item.value"
44
                         :label="item.label"
46
                         :label="item.label"
45
                         :value="item.value">
47
                         :value="item.value">
46
                         </el-option>
48
                         </el-option>
47
-                    </el-select>
49
+                    </el-select> -->
50
+                    <el-input v-model="input" placeholder=""></el-input>
48
                 </template>
51
                 </template>
49
             </el-table-column>
52
             </el-table-column>
50
             <el-table-column align="center" prop="name" width="50" label="天数">
53
             <el-table-column align="center" prop="name" width="50" label="天数">
51
                 <template slot-scope="scope">
54
                 <template slot-scope="scope">
52
-                    <el-select v-model="value" placeholder="">
55
+                    <!-- <el-select v-model="value" placeholder="">
53
                         <el-option
56
                         <el-option
54
-                        v-for="item in options"
57
+                        v-for="item in newoptions"
55
                         :key="item.value"
58
                         :key="item.value"
56
                         :label="item.label"
59
                         :label="item.label"
57
                         :value="item.value">
60
                         :value="item.value">
58
                         </el-option>
61
                         </el-option>
59
-                    </el-select>
62
+                    </el-select> -->
63
+                    <el-input v-model="input" placeholder=""></el-input>
60
                 </template>
64
                 </template>
61
             </el-table-column>
65
             </el-table-column>
62
             <el-table-column align="center" prop="name" width="100" label="总量">
66
             <el-table-column align="center" prop="name" width="100" label="总量">
63
                 <template slot-scope="scope">
67
                 <template slot-scope="scope">
64
                     <div style="display:flex;">
68
                     <div style="display:flex;">
65
                         <el-input v-model="input" style="width:50%" placeholder=""></el-input>
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
                             <el-option
71
                             <el-option
68
-                            v-for="item in options"
72
+                            v-for="item in newoptions"
69
                             :key="item.value"
73
                             :key="item.value"
70
                             :label="item.label"
74
                             :label="item.label"
71
                             :value="item.value">
75
                             :value="item.value">
72
                             </el-option>
76
                             </el-option>
73
-                        </el-select>
77
+                        </el-select> -->
78
+                        <el-input v-model="input" style="width:50%" placeholder=""></el-input>
74
                     </div>
79
                     </div>
75
                 </template>
80
                 </template>
76
             </el-table-column>
81
             </el-table-column>
77
             <el-table-column align="center" prop="name" width="50" label="单价">
82
             <el-table-column align="center" prop="name" width="50" label="单价">
78
                 <template slot-scope="scope">
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
                 </template>
85
                 </template>
81
             </el-table-column>
86
             </el-table-column>
82
             <el-table-column align="center" prop="name" width="50" label="备注">
87
             <el-table-column align="center" prop="name" width="50" label="备注">
83
                 <template slot-scope="scope">
88
                 <template slot-scope="scope">
84
-                    <el-autocomplete
89
+                    <!-- <el-autocomplete
85
                     class="inline-input"
90
                     class="inline-input"
86
                     v-model="state1"
91
                     v-model="state1"
87
                     :fetch-suggestions="querySearch"
92
                     :fetch-suggestions="querySearch"
88
                     placeholder=""
93
                     placeholder=""
89
                     @select="handleSelect"
94
                     @select="handleSelect"
90
-                    ></el-autocomplete>
95
+                    ></el-autocomplete> -->
91
                 </template>
96
                 </template>
92
             </el-table-column>
97
             </el-table-column>
93
             <el-table-column align="center" width="40" prop="name" label="操作">
98
             <el-table-column align="center" width="40" prop="name" label="操作">
101
 
106
 
102
 <script>
107
 <script>
103
 export default {
108
 export default {
109
+    props:{
110
+        preTableData:Array
111
+    },
104
     data(){
112
     data(){
105
         return{
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
             value: '1',
116
             value: '1',
141
             label: '1'
117
             label: '1'
142
             }, {
118
             }, {
152
             value: '5',
128
             value: '5',
153
             label: '5'
129
             label: '5'
154
             }],
130
             }],
155
-            value:''
131
+            value:'1',
132
+            input:1
156
         }
133
         }
157
     }
134
     }
158
 }
135
 }

+ 59 - 21
src/xt_pages/outpatientCharges/outpatientChargesManagement.vue View File

6
         <div class="app-container" style="display:flex;flex: 1;padding: 20px 20px 0px 20px;">
6
         <div class="app-container" style="display:flex;flex: 1;padding: 20px 20px 0px 20px;">
7
             <div class="mainLeft">
7
             <div class="mainLeft">
8
                 <div class="mainCell" style="justify-content: space-between;">
8
                 <div class="mainCell" style="justify-content: space-between;">
9
-                    <p>未就诊:<span>0</span>人</p>
9
+                    <p>未就诊:<span>1</span>人</p>
10
                     <p>已就诊:<span>0</span>人</p>
10
                     <p>已就诊:<span>0</span>人</p>
11
                 </div>
11
                 </div>
12
                 <div class="mainCell">
12
                 <div class="mainCell">
21
                     <el-button size="small" style="margin-left:10px;" class="filter-item" type="primary" @click="searchAction">搜索</el-button>
21
                     <el-button size="small" style="margin-left:10px;" class="filter-item" type="primary" @click="searchAction">搜索</el-button>
22
                 </div>
22
                 </div>
23
                 <div style="flex:1;overflow-y:auto;">
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" 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="患者姓名">
25
                         <el-table-column align="center" prop="name" label="患者姓名">
26
-                            <template slot-scope="scope">{{ scope.row.date }}</template>
26
+                            <template slot-scope="scope">{{ scope.row.name }}</template>
27
                         </el-table-column>
27
                         </el-table-column>
28
                         <el-table-column align="center" prop="name" label="就诊号" width="90">
28
                         <el-table-column align="center" prop="name" label="就诊号" width="90">
29
-                            <template slot-scope="scope">{{ scope.row.date }}</template>
29
+                            <template slot-scope="scope">{{ scope.row.mdtrt_id }}</template>
30
                         </el-table-column>
30
                         </el-table-column>
31
                     </el-table>
31
                     </el-table>
32
                 </div>
32
                 </div>
37
                     <el-button size="small" @click="open(2)" type="primary">打印治疗单</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>
38
                     <el-button size="small" @click="open(3)" type="primary">打印</el-button>
39
                     <el-button size="small" @click="open(4)" 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>
40
                 </div>
41
                 </div>
41
                 <div class="mainCenter">
42
                 <div class="mainCenter">
42
                     <div class="centerLeft">
43
                     <div class="centerLeft">
50
                                     :name="item.name"
51
                                     :name="item.name"
51
                                 >
52
                                 >
52
                                     <div class="RP">Rp</div>
53
                                     <div class="RP">Rp</div>
53
-                                    <prescription-table></prescription-table>
54
+                                    <prescription-table :preTableData='preTableData'></prescription-table>
54
                                 </el-tab-pane>
55
                                 </el-tab-pane>
55
                                 <el-tab-pane name="more" closable><span slot="label"><i class="el-icon-plus" @click="addTab"></i></span></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>
56
                             </el-tabs>
57
                             </el-tabs>
58
                         </div>
59
                         </div>
59
                         <div class="costBox">
60
                         <div class="costBox">
60
                             <span>处方编号:2134348971237883</span>
61
                             <span>处方编号:2134348971237883</span>
61
-                            <span>当前处方总费用:<span style="color:red;">0.00元</span></span>
62
-                            <span>已收费</span>
62
+                            <span>当前处方总费用:<span style="color:red;">{{ total }}元</span></span>
63
+                            <span>{{ state }}</span>
63
                         </div>
64
                         </div>
64
                     </div>
65
                     </div>
65
                     <div class="centerRight">
66
                     <div class="centerRight">
66
                         <p class="centerRightTitle">人员信息</p>
67
                         <p class="centerRightTitle">人员信息</p>
67
                         <div style="display:flex;justify-content: space-between;line-height:30px;">
68
                         <div style="display:flex;justify-content: space-between;line-height:30px;">
68
-                            <span style="font-size:14px;">人员编码:676273816287361</span>
69
-                            <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>
70
                         </div>
71
                         </div>
71
                         <ul class="basicUl">
72
                         <ul class="basicUl">
72
-                            <li style="width:50%;">姓名:张三</li>
73
-                            <li style="width:50%;">性别:男</li>
74
-                            <li style="width:50%;">年龄:12</li>
75
-                            <li style="width:50%;">身高:123</li>
76
-                            <li style="width:50%;">体重:44kg</li>
77
-                            <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>
78
                             <li style="width:100%;">地址:</li>
79
                             <li style="width:100%;">地址:</li>
79
                             <li style="width:100%;">过敏史:</li>
80
                             <li style="width:100%;">过敏史:</li>
80
                         </ul>
81
                         </ul>
83
                             <span style="font-size:14px;">门诊编号:676273816287361</span>
84
                             <span style="font-size:14px;">门诊编号:676273816287361</span>
84
                         </div>
85
                         </div>
85
                         <ul class="basicUl">
86
                         <ul class="basicUl">
86
-                            <li style="width:50%;">医生:张三</li>
87
-                            <li style="width:50%;">科室:肾病科</li>
88
-                            <li style="width:100%;">费用:20元</li>
89
-                            <li style="width:100%;">判断结果:</li>
90
-                            <li style="width:100%;">是否有传染病:</li>
91
-                            <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>
92
                         </ul>
93
                         </ul>
93
                     </div>
94
                     </div>
94
                 </div>
95
                 </div>
188
             name: '1',
189
             name: '1',
189
             }],
190
             }],
190
             tabIndex: 1,
191
             tabIndex: 1,
192
+
193
+            patientTableData:[{
194
+                name:'杨美英',
195
+                mdtrt_id:"1709946",
196
+            }],
197
+            patientInfo:{},
198
+            doctor:{},
199
+            total:0,
200
+            state:'未收费'
191
         }
201
         }
202
+    },
203
+    created(){
204
+        
192
     },
205
     },
193
     methods:{
206
     methods:{
194
         moreState(tab, event){
207
         moreState(tab, event){
201
             }else if(index == 2){
214
             }else if(index == 2){
202
                 
215
                 
203
             }else if(index == 4){
216
             }else if(index == 4){
217
+                this.state = '已收费'
218
+                this.$message({message: '收费成功',type: 'success'});
204
             }else if(index == 5){
219
             }else if(index == 5){
220
+                this.$message({message: '退费成功',type: 'success'});
205
             }
221
             }
206
             
222
             
207
         },
223
         },
232
         },
248
         },
233
         addCharges(){
249
         addCharges(){
234
             this.$refs.additionalCharges.show()
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
+            }
235
         }
273
         }
236
     }
274
     }
237
 }
275
 }

+ 100 - 18
src/xt_pages/outpatientDoctorStation/components/deskPrescription.vue View File

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

1
 <template>
1
 <template>
2
     <div class="prescriptionTable">
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
             <el-table-column align="center" type="selection" width="40"></el-table-column>
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>
5
             <el-table-column align="center" type="index" width="40" label="序号"></el-table-column>
6
             <el-table-column align="center" prop="name" label="名称">
6
             <el-table-column align="center" prop="name" label="名称">
7
-                <template slot-scope="scope">{{ scope.row.date }}</template>
7
+                <template slot-scope="scope">{{ scope.row.name }}</template>
8
             </el-table-column>
8
             </el-table-column>
9
             <el-table-column align="center" prop="name" width="50" label="组套">
9
             <el-table-column align="center" prop="name" width="50" label="组套">
10
                 <template slot-scope="scope">
10
                 <template slot-scope="scope">
11
-                    <el-select v-model="value" placeholder="">
11
+                    <!-- <el-select v-model="value" placeholder="">
12
                         <el-option
12
                         <el-option
13
-                        v-for="item in options"
13
+                        v-for="item in newoptions"
14
                         :key="item.value"
14
                         :key="item.value"
15
                         :label="item.label"
15
                         :label="item.label"
16
                         :value="item.value">
16
                         :value="item.value">
17
                         </el-option>
17
                         </el-option>
18
-                    </el-select>
18
+                    </el-select> -->
19
+                    <el-input v-model="input" placeholder=""></el-input>
19
                 </template>
20
                 </template>
20
             </el-table-column>
21
             </el-table-column>
21
             <el-table-column align="center" prop="name" width="50" :label="'单次\n用量'">
22
             <el-table-column align="center" prop="name" width="50" :label="'单次\n用量'">
25
             </el-table-column>
26
             </el-table-column>
26
             <el-table-column align="center" prop="name" width="50" label="用法">
27
             <el-table-column align="center" prop="name" width="50" label="用法">
27
                 <template slot-scope="scope">
28
                 <template slot-scope="scope">
28
-                    <el-select v-model="value" placeholder="">
29
+                    <!-- <el-select v-model="value" placeholder="">
29
                         <el-option
30
                         <el-option
30
-                        v-for="item in options"
31
+                        v-for="item in newoptions"
31
                         :key="item.value"
32
                         :key="item.value"
32
                         :label="item.label"
33
                         :label="item.label"
33
                         :value="item.value">
34
                         :value="item.value">
34
                         </el-option>
35
                         </el-option>
35
-                    </el-select>
36
+                    </el-select> -->
37
+                    <el-input v-model="input" placeholder=""></el-input>
36
                 </template>
38
                 </template>
37
             </el-table-column>
39
             </el-table-column>
38
             <el-table-column align="center" prop="name" width="50" label="频率">
40
             <el-table-column align="center" prop="name" width="50" label="频率">
39
                 <template slot-scope="scope">
41
                 <template slot-scope="scope">
40
-                    <el-select v-model="value" placeholder="">
42
+                    <!-- <el-select v-model="value" placeholder="">
41
                         <el-option
43
                         <el-option
42
-                        v-for="item in options"
44
+                        v-for="item in newoptions"
43
                         :key="item.value"
45
                         :key="item.value"
44
                         :label="item.label"
46
                         :label="item.label"
45
                         :value="item.value">
47
                         :value="item.value">
46
                         </el-option>
48
                         </el-option>
47
-                    </el-select>
49
+                    </el-select> -->
50
+                    <el-input v-model="input" placeholder=""></el-input>
48
                 </template>
51
                 </template>
49
             </el-table-column>
52
             </el-table-column>
50
             <el-table-column align="center" prop="name" width="50" label="天数">
53
             <el-table-column align="center" prop="name" width="50" label="天数">
51
                 <template slot-scope="scope">
54
                 <template slot-scope="scope">
52
-                    <el-select v-model="value" placeholder="">
55
+                    <!-- <el-select v-model="value" placeholder="">
53
                         <el-option
56
                         <el-option
54
-                        v-for="item in options"
57
+                        v-for="item in newoptions"
55
                         :key="item.value"
58
                         :key="item.value"
56
                         :label="item.label"
59
                         :label="item.label"
57
                         :value="item.value">
60
                         :value="item.value">
58
                         </el-option>
61
                         </el-option>
59
-                    </el-select>
62
+                    </el-select> -->
63
+                    <el-input v-model="input" placeholder=""></el-input>
60
                 </template>
64
                 </template>
61
             </el-table-column>
65
             </el-table-column>
62
             <el-table-column align="center" prop="name" width="100" label="总量">
66
             <el-table-column align="center" prop="name" width="100" label="总量">
63
                 <template slot-scope="scope">
67
                 <template slot-scope="scope">
64
                     <div style="display:flex;">
68
                     <div style="display:flex;">
65
                         <el-input v-model="input" style="width:50%" placeholder=""></el-input>
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
                             <el-option
71
                             <el-option
68
-                            v-for="item in options"
72
+                            v-for="item in newoptions"
69
                             :key="item.value"
73
                             :key="item.value"
70
                             :label="item.label"
74
                             :label="item.label"
71
                             :value="item.value">
75
                             :value="item.value">
72
                             </el-option>
76
                             </el-option>
73
-                        </el-select>
77
+                        </el-select> -->
78
+                        <el-input v-model="input" style="width:50%" placeholder=""></el-input>
74
                     </div>
79
                     </div>
75
                 </template>
80
                 </template>
76
             </el-table-column>
81
             </el-table-column>
77
             <el-table-column align="center" prop="name" width="50" label="单价">
82
             <el-table-column align="center" prop="name" width="50" label="单价">
78
                 <template slot-scope="scope">
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
                 </template>
85
                 </template>
81
             </el-table-column>
86
             </el-table-column>
82
             <el-table-column align="center" prop="name" width="50" label="备注">
87
             <el-table-column align="center" prop="name" width="50" label="备注">
83
                 <template slot-scope="scope">
88
                 <template slot-scope="scope">
84
-                    <el-autocomplete
89
+                    <!-- <el-autocomplete
85
                     class="inline-input"
90
                     class="inline-input"
86
                     v-model="state1"
91
                     v-model="state1"
87
                     :fetch-suggestions="querySearch"
92
                     :fetch-suggestions="querySearch"
88
                     placeholder=""
93
                     placeholder=""
89
                     @select="handleSelect"
94
                     @select="handleSelect"
90
-                    ></el-autocomplete>
95
+                    ></el-autocomplete> -->
91
                 </template>
96
                 </template>
92
             </el-table-column>
97
             </el-table-column>
93
             <el-table-column align="center" width="40" prop="name" label="操作">
98
             <el-table-column align="center" width="40" prop="name" label="操作">
101
 
106
 
102
 <script>
107
 <script>
103
 export default {
108
 export default {
109
+    props:{
110
+        preDrugs:Array,
111
+    },
104
     data(){
112
     data(){
105
         return{
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
             value: '1',
116
             value: '1',
141
             label: '1'
117
             label: '1'
142
             }, {
118
             }, {
152
             value: '5',
128
             value: '5',
153
             label: '5'
129
             label: '5'
154
             }],
130
             }],
155
-            value:''
131
+            value:'1',
132
+            input:1
156
         }
133
         }
157
     }
134
     }
158
 }
135
 }

+ 22 - 7
src/xt_pages/outpatientDoctorStation/doctorDesk.vue View File

6
         <div class="app-container" style="display:flex;flex: 1;padding: 20px 20px 0px 20px;">
6
         <div class="app-container" style="display:flex;flex: 1;padding: 20px 20px 0px 20px;">
7
             <div class="mainLeft">
7
             <div class="mainLeft">
8
                 <div class="mainCell" style="justify-content: space-between;">
8
                 <div class="mainCell" style="justify-content: space-between;">
9
-                    <p>未就诊:<span>0</span>人</p>
9
+                    <p>未就诊:<span>1</span>人</p>
10
                     <p>已就诊:<span>0</span>人</p>
10
                     <p>已就诊:<span>0</span>人</p>
11
                 </div>
11
                 </div>
12
                 <div class="mainCell">
12
                 <div class="mainCell">
21
                     <el-button size="small" style="margin-left:10px;" class="filter-item" type="primary" @click="searchAction">搜索</el-button>
21
                     <el-button size="small" style="margin-left:10px;" class="filter-item" type="primary" @click="searchAction">搜索</el-button>
22
                 </div>
22
                 </div>
23
                 <div style="flex:1;overflow-y:auto;">
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
                         <el-table-column align="center" prop="name" label="患者姓名">
25
                         <el-table-column align="center" prop="name" label="患者姓名">
26
-                            <template slot-scope="scope">{{ scope.row.date }}</template>
26
+                            <template slot-scope="scope">{{ scope.row.name }}</template>
27
                         </el-table-column>
27
                         </el-table-column>
28
                         <el-table-column align="center" prop="name" label="就诊号" width="90">
28
                         <el-table-column align="center" prop="name" label="就诊号" width="90">
29
-                            <template slot-scope="scope">{{ scope.row.date }}</template>
29
+                            <template slot-scope="scope">{{ scope.row.mdtrt_id }}</template>
30
                         </el-table-column>
30
                         </el-table-column>
31
                     </el-table>
31
                     </el-table>
32
                 </div>
32
                 </div>
38
                         <el-radio-button label="病历"></el-radio-button>
38
                         <el-radio-button label="病历"></el-radio-button>
39
                     </el-radio-group>
39
                     </el-radio-group>
40
                 </div>
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
                 <desk-record v-if="titleType == '病历'"></desk-record>
42
                 <desk-record v-if="titleType == '病历'"></desk-record>
43
             </div>
43
             </div>
44
             
44
             
63
                 { path: false, name: '医生工作台' }
63
                 { path: false, name: '医生工作台' }
64
             ],
64
             ],
65
             titleType:'处方',
65
             titleType:'处方',
66
+            patientTableData:[{
67
+                name:'杨美英',
68
+                mdtrt_id:"1709946",
69
+            }],
66
             tableData: [{
70
             tableData: [{
67
             date: '2016-05-02',
71
             date: '2016-05-02',
68
             name: '王小虎',
72
             name: '王小虎',
124
             name: '王小虎',
128
             name: '王小虎',
125
             address: '上海市普陀区金沙江路 1516 弄'
129
             address: '上海市普陀区金沙江路 1516 弄'
126
             }],
130
             }],
127
-            
131
+            patientInfo:{}
128
         }
132
         }
129
     },
133
     },
130
     methods:{
134
     methods:{
131
-        
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
+        }
132
     }
147
     }
133
 }
148
 }
134
 </script>
149
 </script>

File diff suppressed because it is too large
+ 1470 - 0
src/xt_pages/outpatientDoctorStation/print.vue


+ 37 - 16
src/xt_pages/outpatientRegistration/index.vue View File

19
                     </el-form-item>
19
                     </el-form-item>
20
                     <el-form-item class="specialFormItem" label="医保卡号">
20
                     <el-form-item class="specialFormItem" label="医保卡号">
21
                         <el-input v-model="form.medicalInsuranceCard"></el-input>
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
                     </el-form-item>
23
                     </el-form-item>
24
                     <el-form-item label="患者姓名">
24
                     <el-form-item label="患者姓名">
25
                         <el-input v-model="form.name"></el-input>
25
                         <el-input v-model="form.name"></el-input>
126
 
126
 
127
 <script>
127
 <script>
128
 import BreadCrumb from '@/xt_pages/components/bread-crumb'
128
 import BreadCrumb from '@/xt_pages/components/bread-crumb'
129
+import { basename } from 'path'
129
 const moment = require('moment')
130
 const moment = require('moment')
130
 export default {
131
 export default {
131
     components:{
132
     components:{
192
                 label: "港澳地区身份证"
193
                 label: "港澳地区身份证"
193
             }],
194
             }],
194
             medicalCare: [{
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
             register: [{
218
             register: [{
218
                 value: 1,
219
                 value: 1,
230
                 value: 5,
231
                 value: 5,
231
                 label: "专家"
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
     computed:{
246
     computed:{
240
         }
251
         }
241
     },
252
     },
242
     methods:{
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
         getBirthday(date){
263
         getBirthday(date){
244
             console.log(date)
264
             console.log(date)
245
             let curTime = moment(new Date(date)).format('YYYY-MM-DD')
265
             let curTime = moment(new Date(date)).format('YYYY-MM-DD')
311
                 })
331
                 })
312
                 this.$message({message: '添加成功',type: 'success'});
332
                 this.$message({message: '添加成功',type: 'success'});
313
             }
333
             }
314
-        }   
334
+        },
335
+        
315
     }
336
     }
316
 }
337
 }
317
 </script>
338
 </script>