See999 vor 4 Jahren
Ursprung
Commit
e1137475a3

BIN
src/assets/img/volume.png Datei anzeigen


+ 9 - 0
src/router/modules/dialysis.js Datei anzeigen

@@ -38,6 +38,15 @@ export default {
38 38
         noCache: true
39 39
       }
40 40
     },
41
+    {
42
+      path: '/dialysis/calling',
43
+      component: () => import('@/xt_pages/dialysis/calling'),
44
+      name: '透析叫号',
45
+      meta: {
46
+        title: '透析叫号',
47
+        noCache: true
48
+      }
49
+    },
41 50
     // {
42 51
     //   path: '/dialysis/consumableDrugs',
43 52
     //   component: () => import('@/xt_pages/dialysis/consumableDrugs'),

+ 50 - 6
src/xt_pages/dialysis/bulletinBoard.vue Datei anzeigen

@@ -10,7 +10,44 @@
10 10
         >全屏投影</el-button
11 11
       >
12 12
     </div>
13
-    <div
13
+    <div class="app-container">
14
+      <el-tabs v-model="activeName">
15
+        <el-tab-pane label="签到窗口" name="first">
16
+          <sign-in></sign-in>
17
+        </el-tab-pane>
18
+        <el-tab-pane label="排队窗口" name="second">
19
+          <line-up></line-up>
20
+        </el-tab-pane>
21
+      </el-tabs>
22
+    </div>
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+
48
+
49
+
50
+    <!-- <div
14 51
       class="app-container"
15 52
       id="dialysis-board-box"
16 53
       v-loading="loading"
@@ -64,9 +101,9 @@
64 101
           }}</template>
65 102
         </el-table-column>
66 103
       </el-table>
67
-    </div>
104
+    </div> -->
68 105
 
69
-    <div id="fullscreenbroad" v-show="dialogTableVisible">
106
+    <!-- <div id="fullscreenbroad" v-show="dialogTableVisible">
70 107
       <el-row>
71 108
         <el-button
72 109
           @click="openSetting"
@@ -138,7 +175,7 @@
138 175
           }}</template>
139 176
         </el-table-column>
140 177
       </el-table>
141
-    </div>
178
+    </div> -->
142 179
   </div>
143 180
 </template>
144 181
 
@@ -148,8 +185,10 @@ import bulletinboard from "./components/bulletinboard";
148 185
 import { parseTime } from "@/utils";
149 186
 import BreadCrumb from "../components/bread-crumb";
150 187
 import screenfull from "screenfull";
188
+import signIn from './components/signIn'
189
+import lineUp from './components/lineUp'
151 190
 export default {
152
-  components: { BreadCrumb, bulletinboard },
191
+  components: { BreadCrumb, bulletinboard, signIn, lineUp },
153 192
   name: "bulletinBoard",
154 193
   data() {
155 194
     return {
@@ -170,7 +209,12 @@ export default {
170 209
       loading: true,
171 210
       weekDay: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
172 211
       roonOptions: { 1: "上午", 2: "下午", 3: "晚上" },
173
-      modeOptions: {}
212
+      modeOptions: {},
213
+
214
+
215
+
216
+      //
217
+      activeName:"first"
174 218
     };
175 219
   },
176 220
   created() {

+ 53 - 0
src/xt_pages/dialysis/calling.vue Datei anzeigen

@@ -0,0 +1,53 @@
1
+<template>
2
+    <div class="main-contain">
3
+        <div class="position">
4
+            <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+        </div>
6
+        <div class="app-container">
7
+            <el-tabs v-model="activeName">
8
+                <el-tab-pane label="透前叫号" name="first">
9
+                    <before-dialysis-calling></before-dialysis-calling>
10
+                </el-tab-pane>
11
+                <el-tab-pane label="上机叫号" name="second">
12
+                    <computer-calling></computer-calling>
13
+                </el-tab-pane>
14
+                <el-tab-pane label="诊台配置" name="third">
15
+                    <treatment-configure></treatment-configure>
16
+                </el-tab-pane>
17
+                <el-tab-pane label="叫号配置" name="fourth">
18
+                    <calling-configure></calling-configure>
19
+                </el-tab-pane>
20
+            </el-tabs>
21
+        </div>
22
+    </div>
23
+</template>
24
+
25
+
26
+<script>
27
+import BreadCrumb from "../components/bread-crumb";
28
+import beforeDialysisCalling from './components/beforeDialysisCalling'
29
+import computerCalling from './components/computerCalling'
30
+import treatmentConfigure from "./components/treatmentConfigure"
31
+import callingConfigure from './components/callingConfigure'
32
+export default {
33
+    components:{
34
+       BreadCrumb,
35
+       beforeDialysisCalling,
36
+       computerCalling,
37
+       treatmentConfigure,
38
+       callingConfigure 
39
+    },
40
+    data(){
41
+        return{
42
+            crumbs: [
43
+                { path: false, name: "透析管理" },
44
+                { path: "dialysis/board", name: "透析叫号" }
45
+            ],
46
+            activeName:'first'
47
+        }
48
+    },
49
+    methods:{
50
+    }
51
+}
52
+</script>
53
+      

+ 90 - 0
src/xt_pages/dialysis/components/beforeDialysisCalling.vue Datei anzeigen

@@ -0,0 +1,90 @@
1
+<template>
2
+    <div class="page_beforeDialysisCalling">
3
+        <div class="cell clearfix">
4
+            <label class="title"><span class="name">叫号状态</span> : </label>
5
+            <div class="time ">
6
+                <ul class="">
7
+                    <li v-for="option in patient_state" :key="option.value" @click="handleStateChange(option.value)" :class="patientStateVal == option.value ? 'active' : ''" >{{option.label}}
8
+                    </li>
9
+                </ul>
10
+            </div>
11
+        </div>
12
+        <div style="display:flex;justify-content: space-between;">
13
+            <div class="callingArea">
14
+                <waiting-called v-if="patientStateVal == 0"></waiting-called>
15
+                <called v-if="patientStateVal == 1"></called>
16
+            </div>
17
+            <div class="nowCalling" v-if="patientStateVal == 0">
18
+                <p class="nowCallingTitle">当前叫号</p>
19
+                <p class="nowCallingName">李小明</p>
20
+                <p class="nowCallingTime">签到时间:07:20</p>
21
+                <p class="nowCallingTime">下一位:张三</p>
22
+                <el-button style="margin: 30px 0 20px 0;">重新叫号</el-button>
23
+                <el-button type="primary" style="margin-left:0;">&ensp;&ensp;叫号&ensp;&ensp;</el-button>
24
+            </div>
25
+        </div>
26
+    </div>
27
+</template>
28
+
29
+
30
+<script>
31
+import waitingCalled from './waitingCalled'
32
+import called from './called'
33
+export default {
34
+    components:{
35
+        waitingCalled,
36
+        called
37
+    },
38
+    data(){
39
+        return{
40
+            patient_state:[
41
+                {value: 0,label: '待叫号'},
42
+                {value: 1,label: '已叫号'},
43
+            ],
44
+            patientStateVal: 0,
45
+        }
46
+    },
47
+    methods:{
48
+        handleStateChange: function(index) {
49
+            this.patientStateVal = index
50
+        },
51
+    }
52
+}
53
+</script>
54
+
55
+<style lang="scss" scoped>
56
+.callingArea{
57
+    display: flex;
58
+    flex-wrap: wrap;
59
+    width: 88%;
60
+    // @media only screen and (max-width: 1340px) {
61
+    //     width:750px;
62
+    // }
63
+
64
+    // @media only screen and (min-width: 415px) and (max-width: 767px) {
65
+    // }
66
+}
67
+.nowCalling{
68
+    height: 313px;
69
+    border: 1px solid #e5e5ee;
70
+    // flex: 1;
71
+    width: 12%;
72
+    text-align: center;
73
+    .nowCallingTitle{
74
+        font-size: 20px;
75
+        font-weight: 600;
76
+        margin-top: 20px;
77
+        text-align: center;
78
+    }
79
+    .nowCallingName{
80
+        color: #338AFB;
81
+        font-size: 18px;
82
+        margin-top: 10px;
83
+        font-weight: 600;
84
+    }
85
+    .nowCallingTime{
86
+        font-size: 16px;
87
+        margin-top: 30px;
88
+    }
89
+}
90
+</style>

+ 93 - 0
src/xt_pages/dialysis/components/called.vue Datei anzeigen

@@ -0,0 +1,93 @@
1
+<template>
2
+    <div class="page_called">
3
+        <div class="calledOne" v-for="item in 12" :key="item">
4
+            <div class="calledOneLeft">
5
+                <img src="https://images.shengws.com/201809182128111.png?imageView2/2/w/500/h/500/q/90" alt="">
6
+                <div class="name">
7
+                    <p>吴保龄</p>
8
+                    <p>
9
+                        <span class="nameTips">签到时间:07:00:00</span>
10
+                        <span class="nameTips" v-if="index == 1">床位号:A区5号床</span>
11
+                        <span class="nameTips" v-else>叫号时间:07:30:00</span>
12
+                    </p>
13
+                    <p>
14
+                        <span class="nameTips">透前体重:59kg</span>
15
+                        <span class="nameTips lastNameTips">透前血压:120/110mmHg</span>
16
+                    </p>
17
+                </div>
18
+            </div>
19
+            <div class="calledOneRight" v-if="index == 1">
20
+                <img src="../../../assets/img/volume.png" alt="">
21
+            </div>
22
+        </div>
23
+    </div>
24
+</template>
25
+
26
+<script>
27
+export default {
28
+    props:{
29
+        index:Number
30
+    },
31
+    data(){
32
+        return{
33
+
34
+        }
35
+    },
36
+}
37
+</script>
38
+
39
+
40
+<style lang="scss" scoped>
41
+.page_called{
42
+    .calledOne{
43
+        border: 1px #e5e5ee solid;
44
+        padding: 9px 0;
45
+        margin: 0 15px 15px 0;
46
+        float: left;
47
+        width: 360px;
48
+        cursor: pointer;
49
+        display: flex;
50
+        justify-content: space-between;
51
+        align-items: center;
52
+        padding: 10px;
53
+        .calledOneLeft{
54
+            display: flex;
55
+            img{
56
+                width: 45px;
57
+                height: 45px;
58
+                border-radius: 50%;
59
+                margin-right: 15px;
60
+            }
61
+            .name{
62
+                >p:first-child{
63
+                    font-size: 16px;
64
+                    font-weight: bold;
65
+                    color:#000;
66
+                }
67
+                >p:nth-of-type(2){
68
+                    font-size: 12px;
69
+                    color:#999999;
70
+                    margin-top: 6px;
71
+                }
72
+                >p:nth-of-type(3){
73
+                    font-size: 12px;
74
+                    color:#999999;
75
+                    margin-top: 3px;
76
+                }
77
+                .nameTips{
78
+                    margin-right:10px;
79
+                    display: inline-block;
80
+                }
81
+                
82
+            }
83
+            
84
+        }
85
+        .calledOneRight{
86
+            img{
87
+                width: 30px;
88
+                margin-top: 8px;
89
+            }
90
+        }
91
+    }
92
+}
93
+</style>

+ 160 - 0
src/xt_pages/dialysis/components/callingConfigure.vue Datei anzeigen

@@ -0,0 +1,160 @@
1
+<template>
2
+    <div class="page_callingConfigure">
3
+        <div class="cell clearfix">
4
+            就诊状态显示屏幕切换屏幕时长配置(秒) : 
5
+            <div class="time ">
6
+                <el-input-number v-model="num" @change="handleChange" :min="1"></el-input-number>
7
+            </div>
8
+        </div>
9
+        <div style="display:flex;">
10
+            <div class="configureBox">
11
+                <div class="configureBoxTitle">接诊叫号</div>
12
+                <div class="configureBoxMain">
13
+                    <div style="margin-bottom:10px;">单次叫号语音播报次数:<el-input-number v-model="num" @change="handleChange" :min="1"></el-input-number></div>
14
+                    <div style="margin-bottom:10px;">叫号语音内容设置:</div>
15
+                    <div style="margin-bottom:10px;">
16
+                        <p style="width:50px;display: inline-block;">请</p>
17
+                        <el-select style="width:140px;" v-model="type" placeholder="请选择">
18
+                            <el-option
19
+                            v-for="item in typeOptions"
20
+                            :key="item.value"
21
+                            :label="item.label"
22
+                            :value="item.value">
23
+                            </el-option>
24
+                        </el-select>
25
+                    </div>
26
+                    <div style="margin-bottom:10px;">
27
+                        <p style="width:50px;display: inline-block;">到</p>
28
+                        <el-select style="width:140px;" v-model="state" placeholder="请选择">
29
+                            <el-option
30
+                            v-for="item in stateOptions"
31
+                            :key="item.value"
32
+                            :label="item.label"
33
+                            :value="item.value">
34
+                            </el-option>
35
+                        </el-select>
36
+                    </div>
37
+                    <div style="margin-bottom:10px;" v-if="state == 2">
38
+                        <p style="width:50px;display: inline-block;"></p>
39
+                        <el-input style="width:200px;" v-model="input" placeholder="请输入内容"></el-input>
40
+                    </div>
41
+                    <div>就诊</div>
42
+                </div>
43
+                
44
+            </div>
45
+            <div class="configureBox" style="border-left:none;">
46
+                <div class="configureBoxTitle">上机叫号</div>
47
+                <div class="configureBoxMain">
48
+                    <div style="margin-bottom:10px;">单次叫号语音播报次数:<el-input-number v-model="num" @change="handleChange" :min="1"></el-input-number></div>
49
+                    <div style="margin-bottom:10px;">叫号语音内容设置:</div>
50
+                    <div style="margin-bottom:10px;">
51
+                        <p style="width:50px;display: inline-block;">请</p>
52
+                        <el-select style="width:140px;" v-model="type" placeholder="请选择">
53
+                            <el-option
54
+                            v-for="item in typeOptions"
55
+                            :key="item.value"
56
+                            :label="item.label"
57
+                            :value="item.value">
58
+                            </el-option>
59
+                        </el-select>
60
+                    </div>
61
+                    <div style="margin-bottom:10px;">
62
+                        <p style="width:50px;display: inline-block;">到</p>
63
+                        <el-select style="width:140px;" v-model="state" placeholder="请选择">
64
+                            <el-option
65
+                            v-for="item in stateOptions"
66
+                            :key="item.value"
67
+                            :label="item.label"
68
+                            :value="item.value">
69
+                            </el-option>
70
+                        </el-select>
71
+                    </div>
72
+                    <div style="margin-bottom:10px;" v-if="state == 2">
73
+                        <p style="width:50px;display: inline-block;"></p>
74
+                        <el-input style="width:200px;" v-model="input" placeholder="请输入内容"></el-input>
75
+                    </div>
76
+                    <div>上机</div>
77
+                </div>
78
+                
79
+            </div>
80
+        </div>
81
+        <div style="display:flex;margin-top:10px;">
82
+            <div style="width:480px;">
83
+                语音播报声音:
84
+                <el-radio-group v-model="radio">
85
+                    <el-radio :label="1">男生</el-radio>
86
+                    <el-radio :label="2">女生</el-radio>
87
+                </el-radio-group>
88
+            </div>
89
+            <div style="width:480px;">
90
+                隐藏接诊叫号区域:
91
+                <el-radio-group v-model="radio">
92
+                    <el-radio :label="1">是</el-radio>
93
+                    <el-radio :label="2">否</el-radio>
94
+                </el-radio-group>
95
+            </div>
96
+        </div>
97
+        <div style="display:flex;margin-top:10px;">
98
+            <div style="width:480px;">
99
+                隐藏上机叫号区域:
100
+                <el-radio-group v-model="radio">
101
+                    <el-radio :label="1">是</el-radio>
102
+                    <el-radio :label="2">否</el-radio>
103
+                </el-radio-group>
104
+            </div>
105
+            <div style="width:480px;">
106
+                是否在透析管理页面显示排队叫号:
107
+                <el-radio-group v-model="radio">
108
+                    <el-radio :label="1">显示</el-radio>
109
+                    <el-radio :label="2">不显示</el-radio>
110
+                </el-radio-group>
111
+            </div>
112
+        </div>
113
+        <div style="display:flex;margin-top:10px;">
114
+            <div style="width:480px;">
115
+                是否在透析记录详情页面显示排队叫号:
116
+                <el-radio-group v-model="radio">
117
+                    <el-radio :label="1">显示</el-radio>
118
+                    <el-radio :label="2">不显示</el-radio>
119
+                </el-radio-group>
120
+            </div>
121
+        </div>
122
+    </div>
123
+</template>
124
+
125
+<script>
126
+export default {
127
+    data(){
128
+        return{
129
+            num:3,
130
+            typeOptions:[{ value: 1, label: '姓名'},{ value: 2, label: '透析号'}],
131
+            type: 1,
132
+            stateOptions:[{ value: 1, label: '智能匹配诊台'},{ value: 2, label: '自定义内容'}],
133
+            state: 1,
134
+            input:'',
135
+            radio:1
136
+        }
137
+    }
138
+}
139
+</script>
140
+
141
+
142
+<style lang="scss" scoped>
143
+.configureBox{
144
+    width:480px;
145
+    height: 300px;
146
+    border: 1px solid #e5e5e5;
147
+    .configureBoxTitle{
148
+        height: 40px;
149
+        text-align: center;
150
+        line-height: 40px;
151
+        background: rgb(245, 247, 250);
152
+        color:rgb(96, 98, 102);
153
+        font-weight: 600;
154
+        border-bottom: 1px solid #e5e5e5;
155
+    }
156
+    .configureBoxMain{
157
+        padding: 10px;
158
+    }
159
+}
160
+</style>

+ 82 - 0
src/xt_pages/dialysis/components/computerCalling.vue Datei anzeigen

@@ -0,0 +1,82 @@
1
+<template>
2
+    <div class="page_computerCalling">
3
+        <div class="cell clearfix">
4
+            <label class="title"><span class="name">叫号状态</span> : </label>
5
+            <div class="time ">
6
+                <ul class="">
7
+                    <li v-for="option in patient_state" :key="option.value" @click="handleStateChange(option.value)" :class="patientStateVal == option.value ? 'active' : ''" >{{option.label}}
8
+                    </li>
9
+                </ul>
10
+            </div>
11
+        </div>
12
+        <div style="display:flex;justify-content: space-between;">
13
+            <div class="callingArea">
14
+                <called v-if="patientStateVal == 0" :index='1'></called>
15
+                <called v-if="patientStateVal == 1"></called>
16
+            </div>
17
+            <div class="nowCalling" v-if="patientStateVal == 0">
18
+                <p class="nowCallingTitle">当前叫号</p>
19
+                <p class="nowCallingName">李小明</p>
20
+                <p class="nowCallingTime">签到时间:07:20</p>
21
+                <p class="nowCallingTime">下一位:张三</p>
22
+                <el-button style="margin: 30px 0 20px 0;">重新叫号</el-button>
23
+                <el-button type="primary" style="margin-left:0;">&ensp;&ensp;叫号&ensp;&ensp;</el-button>
24
+            </div>
25
+        </div>
26
+    </div>
27
+</template>
28
+
29
+<script>
30
+import called from './called'
31
+export default {
32
+    components:{
33
+       called 
34
+    },
35
+    data(){
36
+        return{
37
+            patient_state:[
38
+                {value: 0,label: '待叫号'},
39
+                {value: 1,label: '已叫号'},
40
+            ],
41
+            patientStateVal: 0,
42
+        }
43
+    },
44
+    methods:{
45
+        handleStateChange: function(index) {
46
+            this.patientStateVal = index
47
+        },
48
+    }
49
+}
50
+</script>
51
+
52
+
53
+<style lang="scss" scoped>
54
+.callingArea{
55
+    display: flex;
56
+    flex-wrap: wrap;
57
+    width: 86%;
58
+}
59
+.nowCalling{
60
+    height: 351px;
61
+    border: 1px solid #e5e5ee;
62
+    // flex: 1;
63
+    width: 14%;
64
+    text-align: center;
65
+    .nowCallingTitle{
66
+        font-size: 20px;
67
+        font-weight: 600;
68
+        margin-top: 20px;
69
+        text-align: center;
70
+    }
71
+    .nowCallingName{
72
+        color: #338AFB;
73
+        font-size: 18px;
74
+        margin-top: 10px;
75
+        font-weight: 600;
76
+    }
77
+    .nowCallingTime{
78
+        font-size: 16px;
79
+        margin-top: 30px;
80
+    }
81
+}
82
+</style>

+ 199 - 0
src/xt_pages/dialysis/components/lineUp.vue Datei anzeigen

@@ -0,0 +1,199 @@
1
+<template>
2
+    <div class="page_lineUp">
3
+        <div class="lineUpTitle">
4
+            <div>唐山朝阳医院<span>温馨提示:请注意排队叫号,依次叫号就诊上机,谢谢配合</span></div>
5
+            <div>2020.8.18   07:22(星期四)</div>
6
+        </div>
7
+        <div class="lineUpMain">
8
+            <div class="lineUpMainLeft">
9
+                <div class="lineUpMainLeftTitle">
10
+                    <p style="width:14%">排号</p>
11
+                    <p style="width:14%">姓名</p>
12
+                    <p style="width:14%">病例号</p>
13
+                    <p style="width:14%">床位号</p>
14
+                    <p style="width:14%">治疗状态</p>
15
+                    <p style="width:14%">上机时间</p>
16
+                    <p style="width:14%">预计下机时间</p>
17
+                </div>
18
+                <div class="lineUpList">
19
+                    <div class="lineUpListOne" v-for="item in 8" :key="item">
20
+                        <p style="width:14%">P01</p>
21
+                        <p style="width:14%">张*等</p>
22
+                        <p style="width:14%">001</p>
23
+                        <p style="width:14%">普通区1号床</p>
24
+                        <p style="width:14%">已下机</p>
25
+                        <p style="width:14%">09:01</p>
26
+                        <p style="width:14%">09:01</p>
27
+                    </div>
28
+                </div>
29
+            </div> 
30
+            <div class="callingBox">
31
+                <div class="callingBoxLeft">
32
+                    <div class="callingTitle"><span style="margin: 0 auto;">接<br />诊<br />叫<br />号</span></div>
33
+                    <div style="flex: 1;">
34
+                        <div class="callingTop" style="margin-bottom:4px;">
35
+                            <div class="callingTopTip"><span style="margin: 0 auto;">正在<br />接诊</span></div>
36
+                            <div class="callingContent">
37
+                                <p style="margin-top:13px;">请李四宋到1号诊台就诊</p>
38
+                                <p>请王岐岐到2号诊台就诊</p>
39
+                            </div>
40
+                        </div>
41
+                        <div class="callingTop" style="border-radius: 0 0 15px 0;">
42
+                            <div class="callingTopTip"><span style="margin: 0 auto;">等待<br />接诊</span></div>
43
+                            <div class="callingContent">
44
+                                <p style="margin-top:13px;">欧大大、王思思、陈啦啦、吴东汉、</p>
45
+                                <p>孔豆豆、陈米春、孔豆豆、陈米春、</p>
46
+                            </div>
47
+                        </div>
48
+                    </div>
49
+                </div>
50
+                <div class="callingBoxLeft">
51
+                    <div class="callingTitle newCallingTitle"><span style="margin: 0 auto;">上<br />机<br />叫<br />号</span></div>
52
+                    <div style="flex: 1;">
53
+                        <div class="callingTop" style="margin-bottom:4px;">
54
+                            <div class="callingTopTip newCallingTopTip"><span style="margin: 0 auto;">正在<br />叫号</span></div>
55
+                            <div class="callingContent">
56
+                                <p style="margin-top:13px;">请李四宋到普通区2号床上机</p>
57
+                                <p>请王岐岐到普通区3号床上机</p>
58
+                            </div>
59
+                        </div>
60
+                        <div class="callingTop" style="border-radius: 0 0 15px 0;">
61
+                            <div class="callingTopTip newCallingTopTip"><span style="margin: 0 auto;">等待<br />叫号</span></div>
62
+                            <div class="callingContent">
63
+                                <p style="margin-top:13px;">欧大大、王思思、陈啦啦、吴东汉、</p>
64
+                                <p>孔豆豆、陈米春、孔豆豆、陈米春、</p>
65
+                            </div>
66
+                        </div>
67
+                    </div>
68
+                </div>
69
+            </div>
70
+        </div>
71
+        
72
+    </div>
73
+</template>
74
+
75
+<style lang="scss" scoped>
76
+.page_lineUp{
77
+    .lineUpTitle{
78
+        height: 50px;
79
+        background: #1A82BF;
80
+        display: flex;
81
+        justify-content: space-between;
82
+        align-items: center;
83
+        padding: 0 20px;
84
+        color:#fff;
85
+        font-size: 20px;
86
+        font-weight: 600;
87
+    }
88
+    .lineUpMain{
89
+        background: linear-gradient(0deg, #76ECEC, #479CD2);
90
+        height: 550px;
91
+        padding:10px;
92
+    }
93
+    .lineUpMainLeft{
94
+        height: 370px;
95
+        border-radius: 15px;
96
+        
97
+    }
98
+    .lineUpMainLeftTitle{
99
+        display: flex;
100
+        justify-content: space-between;
101
+        align-items: center;
102
+        color:#fff;
103
+        font-size: 18px;
104
+        font-weight: 600;
105
+        height:50px;
106
+        background: #1A82BF;
107
+        border-radius: 15px 15px 0 0;
108
+        >p{
109
+            text-align: center;
110
+        }
111
+    }
112
+    .lineUpList{
113
+        font-size: 18px;
114
+        font-weight: 600;
115
+        >div:nth-child(odd){
116
+            background: #F9FDFF;
117
+        }
118
+        >div:nth-child(even){
119
+            background: #CCEBFF;
120
+        }
121
+        >div:last-child{
122
+            border-radius: 0 0 15px 15px;
123
+        }
124
+        .lineUpListOne{
125
+            height:40px;
126
+            display: flex;
127
+            justify-content: space-between;
128
+            align-items: center;
129
+            color:#1C6895;
130
+            >p{
131
+                width:25%;
132
+                text-align: center;
133
+            }
134
+        }
135
+    }
136
+    .callingBox{
137
+        height: 150px;
138
+        margin-top: 10px;
139
+        display: flex;
140
+        justify-content: space-between;
141
+        .callingBoxLeft{
142
+            width: 49%;
143
+            height: 100%;
144
+            display: flex;
145
+            justify-content: space-between;
146
+            .callingTitle{
147
+                width: 60px;
148
+                height: 100%;
149
+                border-radius: 15px 0 0 15px;
150
+                font-size: 30px;
151
+                font-weight:600;
152
+                text-align: center;
153
+                color: #fff;
154
+                background: #1A82BF;
155
+                display: flex;
156
+                align-items: center;
157
+                margin-right: 5px;
158
+            }
159
+            .newCallingTitle{
160
+                background: linear-gradient(90deg, rgba(66, 231, 167, 1), rgba(26, 191, 84, 1), rgba(157, 254, 31, 1));
161
+            }
162
+        } 
163
+        .callingTop{
164
+            height: 73px;
165
+            border-radius: 0 15px 0 0;
166
+            background: #F9FDFF;
167
+            display: flex;
168
+            justify-content: space-between;
169
+            .callingTopTip{
170
+                width: 73px;
171
+                height: 100%;
172
+                color: #fff;
173
+                font-size: 18px;
174
+                font-weight: 600;
175
+                background: #1A82BF;
176
+                display: flex;
177
+                align-items: center;
178
+            }
179
+            .newCallingTopTip{
180
+                background: linear-gradient(90deg, rgba(66, 231, 167, 1), rgba(26, 191, 84, 1), rgba(157, 254, 31, 1));
181
+            }
182
+            .callingContent{
183
+                flex: 1;
184
+                display: flex;
185
+                flex-direction: column;
186
+                font-size: 16px;
187
+                color:#1C6895;
188
+                font-weight: 600;
189
+                padding-left: 20px;
190
+                >p{
191
+                    width:100%;
192
+                    text-align: left;
193
+                    line-height: 24px;
194
+                }
195
+            }
196
+        }
197
+    }
198
+}
199
+</style>

+ 152 - 0
src/xt_pages/dialysis/components/signIn.vue Datei anzeigen

@@ -0,0 +1,152 @@
1
+<template>
2
+    <div class="page_signIn">
3
+        <div class="signInTitle">
4
+            <div>唐山朝阳医院</div>
5
+            <div>2020.8.18   07:22(星期四)</div>
6
+        </div>
7
+        <div class="signInMain">
8
+             <div style="display: flex;justify-content: space-between;padding:10px;">
9
+                <div class="signInMainLeft">
10
+                    <div class="signInMainLeftTitle">
11
+                        <p>排号</p>
12
+                        <p>姓名</p>
13
+                        <p>病历号</p>
14
+                        <p>签到时间</p>
15
+                    </div>
16
+                    <div class="signInList">
17
+                        <div class="signInListOne" v-for="item in 12" :key="item">
18
+                            <p>P13</p>
19
+                            <p>张*等</p>
20
+                            <p>001</p>
21
+                            <p>09:01:00</p>
22
+                        </div>
23
+                    </div>
24
+                </div>
25
+                <div class="signInMainRight">
26
+                    <div class="signInMainRightTitle"><span style="margin:0 auto;">张三</span></div>
27
+                    <div class="signInMainRightContent">
28
+                        <p style="margin: 0 auto;display:flex;align-items: center;"><span>排号&nbsp;&nbsp;</span><span style="font-size:120px;">P06</span></p>
29
+                    </div>
30
+                    <div class="signInMianRightBottom"><span style="margin:0 auto;">签到成功</span></div>
31
+                </div>
32
+            </div>
33
+            <div class="signInTip">
34
+                温馨提示:请注意排队叫号,依次叫号就诊上机,谢谢配合
35
+            </div>
36
+        </div>
37
+    </div>
38
+</template>
39
+
40
+
41
+<style lang="scss" scoped>
42
+.page_signIn{
43
+    .signInTitle{
44
+        height: 50px;
45
+        background: #1A82BF;
46
+        display: flex;
47
+        justify-content: space-between;
48
+        align-items: center;
49
+        padding: 0 20px;
50
+        color:#fff;
51
+        font-size: 20px;
52
+        font-weight: 600;
53
+    }
54
+    .signInMain{
55
+        background: linear-gradient(0deg, #76ECEC, #479CD2);
56
+        height: 600px;
57
+        
58
+        
59
+    }
60
+    .signInMainLeft{
61
+        width:65%;
62
+        height: 530px;
63
+        border-radius: 15px;
64
+    }
65
+    .signInMainLeftTitle{
66
+        display: flex;
67
+        justify-content: space-between;
68
+        align-items: center;
69
+        color:#fff;
70
+        font-size: 18px;
71
+        font-weight: 600;
72
+        height:50px;
73
+        background: #1A82BF;
74
+        border-radius: 15px 15px 0 0;
75
+        >p{
76
+            width:25%;
77
+            text-align: center;
78
+        }
79
+    }
80
+    .signInList{
81
+        font-size: 18px;
82
+        font-weight: 600;
83
+        >div:nth-child(odd){
84
+            background: #F9FDFF;
85
+        }
86
+        >div:nth-child(even){
87
+            background: #CCEBFF;
88
+        }
89
+        >div:last-child{
90
+            border-radius: 0 0 15px 15px;
91
+        }
92
+        .signInListOne{
93
+            height:40px;
94
+            display: flex;
95
+            justify-content: space-between;
96
+            align-items: center;
97
+            color:#1C6895;
98
+            >p{
99
+                width:25%;
100
+                text-align: center;
101
+            }
102
+        }
103
+    }
104
+    .signInMainRight{
105
+        width: 34%;
106
+        height: 530px;
107
+    }
108
+    .signInMainRightTitle{
109
+        height: 130px;
110
+        border-radius: 15px 15px 0 0;
111
+        background: #1A82BF;
112
+        font-size: 80px;
113
+        font-weight: 600;
114
+        color:#fff;
115
+        display: flex;
116
+        align-items: center;
117
+        justify-content: space-between;
118
+    }
119
+    .signInMainRightContent{
120
+        background: #F9FDFF;
121
+        height: 300px;
122
+        text-align: center;
123
+        font-weight: 600;
124
+        color:#1C6895;
125
+        box-sizing: border-box;
126
+        font-size:70px;
127
+        display:flex;
128
+        align-items:center;
129
+    }
130
+    .signInMianRightBottom{
131
+        height: 100px;
132
+        background: #1A82BF;
133
+        border-radius: 0 0 15px 15px;
134
+        font-size: 40px;
135
+        font-weight: 600;
136
+        color:#fff;
137
+        display: flex;
138
+        justify-content: space-between;
139
+        align-items: center;
140
+    }
141
+    .signInTip{
142
+        color:#fff;
143
+        font-size: 18px;
144
+        font-weight: 600;
145
+        display: flex;
146
+        align-items: center;
147
+        height: 50px;
148
+        background: linear-gradient(0deg, #42A9E7, #3686B9, #42A9E7);
149
+        margin-top: 1px;
150
+    }
151
+}
152
+</style>

+ 84 - 0
src/xt_pages/dialysis/components/treatmentConfigure.vue Datei anzeigen

@@ -0,0 +1,84 @@
1
+<template>
2
+    <div class="page_configure">
3
+        <div style="display:flex;align-items:center;margin-bottom:12px;justify-content: space-between;">
4
+            <div>接诊台列表</div>
5
+            <el-button type="primary" @click="newVisible = true">新增</el-button>
6
+        </div>
7
+        <el-table :data="tableData" border style="width: 100%">
8
+            <el-table-column prop="date" label="接诊台号" align="center"></el-table-column>
9
+            <el-table-column label="诊台负责医生" align="center">
10
+                <template slot-scope="scope">
11
+                    <el-tag size="medium">{{ scope.row.name }}</el-tag>
12
+                </template>
13
+            </el-table-column>
14
+            <el-table-column label="操作" align="center">
15
+                <template slot-scope="scope">
16
+                    <el-button size="mini" type="primary" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
17
+                    <el-button size="mini" type="danger" @click="handleDelete(scope.$index, scope.row)">删除</el-button>
18
+                </template>
19
+            </el-table-column>
20
+        </el-table>
21
+        <el-dialog title="新增诊台" width="800px" :visible.sync="newVisible" >
22
+            <el-form :model="form" :rules="rules" ref="form" label-width="140px">
23
+                <el-form-item label="诊台号 : " required prop="type">
24
+                    <el-input v-model.trim="form.type" placeholder="" ></el-input>
25
+                </el-form-item>
26
+                <el-form-item label="诊台负责医生 : " required  prop="doctor">
27
+                    <el-select style="width:100%" v-model="form.doctor" placeholder="请选择" multiple filterable allow-create default-first-option>
28
+                        <el-option
29
+                        v-for="item in typeOptions"
30
+                        :key="item.value"
31
+                        :label="item.label"
32
+                        :value="item.value">
33
+                        </el-option>
34
+                    </el-select>
35
+                </el-form-item>
36
+            </el-form>
37
+            <div slot="footer" class="dialog-footer">
38
+                <el-button @click="newVisible=false">取 消</el-button>
39
+                <el-button type="primary" @click="submitAction('form')">保 存</el-button>
40
+            </div>
41
+        </el-dialog>
42
+    </div>
43
+</template>
44
+
45
+<script>
46
+export default {
47
+    data(){
48
+        return{
49
+            tableData: [{
50
+                date: '2016-05-02',
51
+                name: '王小虎',
52
+                address: '上海市普陀区金沙江路 1518 弄'
53
+                }, {
54
+                date: '2016-05-04',
55
+                name: '王小虎',
56
+                address: '上海市普陀区金沙江路 1517 弄'
57
+                }, {
58
+                date: '2016-05-01',
59
+                name: '王小虎',
60
+                address: '上海市普陀区金沙江路 1519 弄'
61
+                }, {
62
+                date: '2016-05-03',
63
+                name: '王小虎',
64
+                address: '上海市普陀区金沙江路 1516 弄'
65
+            }],
66
+            newVisible:false,
67
+            form: {
68
+                id: 0,
69
+                type: "",
70
+                doctor:[],
71
+            },
72
+            rules: {
73
+              type: [{ required: true, message: "请输入诊台号" }],
74
+              doctor: [{ required: true, message: "请选择接诊台负责医生"}],  
75
+            },
76
+            typeOptions:[{ value: 1, label: '张三'},{ value: 2, label: '李四'}],
77
+        }
78
+    },
79
+    methods:{
80
+        handleEdit(){},
81
+        handleDelete(){},
82
+    }
83
+}
84
+</script>

+ 61 - 0
src/xt_pages/dialysis/components/waitingCalled.vue Datei anzeigen

@@ -0,0 +1,61 @@
1
+<template>
2
+    <div class="waitingCalled">
3
+        <div class="waitingOne" v-for="item in 12" :key="item">
4
+            <div class="waitingOneLeft">
5
+                <img src="https://images.shengws.com/201809182128111.png?imageView2/2/w/500/h/500/q/90" alt="">
6
+                <div class="name">
7
+                    <p>吴保龄</p>
8
+                    <p>签到时间:07:00:00</p>
9
+                </div>
10
+            </div>
11
+            <div class="waitingOneRight">
12
+                <img src="../../../assets/img/volume.png" alt="">
13
+            </div>
14
+        </div>
15
+    </div>
16
+</template>
17
+
18
+<style lang="scss" scoped>
19
+.waitingCalled{
20
+    .waitingOne{
21
+        border: 1px #e5e5ee solid;
22
+        padding: 9px 0;
23
+        margin: 0 15px 15px 0;
24
+        float: left;
25
+        width: 360px;
26
+        cursor: pointer;
27
+        display: flex;
28
+        justify-content: space-between;
29
+        align-items: center;
30
+        padding: 10px;
31
+        .waitingOneLeft{
32
+            display: flex;
33
+            img{
34
+                width: 45px;
35
+                height: 45px;
36
+                border-radius: 50%;
37
+                margin-right: 15px;
38
+            }
39
+            .name{
40
+                >p:first-child{
41
+                    font-size: 16px;
42
+                    font-weight: bold;
43
+                    color:#000;
44
+                }
45
+                >p:last-child{
46
+                    font-size: 12px;
47
+                    color:#999999;
48
+                    margin-top: 10px;
49
+                }
50
+            }
51
+            
52
+        }
53
+        .waitingOneRight{
54
+            img{
55
+                width: 30px;
56
+                margin-top: 6px;
57
+            }
58
+        }
59
+    }
60
+}
61
+</style>