Browse Source

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

28169 1 year ago
parent
commit
23b6225dc6

+ 12 - 0
src/router/modules/weight_sign.js View File

@@ -30,6 +30,7 @@ export default {
30 30
       noCache: true
31 31
     }
32 32
   },
33
+  
33 34
   {
34 35
     path: '/calling',
35 36
     component: () => import('@/xt_pages/sign/calling'),
@@ -49,5 +50,16 @@ export default {
49 50
       icon: 'sign',
50 51
       noCache: true
51 52
     }
53
+  },
54
+  // 排班窗口
55
+  {
56
+    path: '/Contextowner',
57
+    component: () => import('@/xt_pages/sign/Contextowner'),
58
+    name: 'Contextowner',
59
+    meta: {
60
+      title: '排班窗口',
61
+      icon: 'Contextowner',
62
+      noCache: true
63
+    }
52 64
   }]
53 65
 }

+ 660 - 0
src/xt_pages/sign/Contextowner.vue View File

@@ -0,0 +1,660 @@
1
+<template>
2
+    <div class="main-contain">
3
+        <div class="position">
4
+            <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+            <el-button
6
+                size="small"
7
+                icon="el-icon-menu"
8
+                @click="fullscreenboard"
9
+                type="primary"
10
+                >全屏投影</el-button
11
+            >
12
+        </div>
13
+        <!-- 全屏状态 -->
14
+        <div id="fullscreenbroad" v-show="dialogTableVisible">
15
+            <el-row class="fullRow">
16
+                <el-button
17
+                @click="openSetting"
18
+                icon="el-icon-setting"
19
+                circle
20
+                id="fullscreenbroad-setting"
21
+                ></el-button>
22
+                <el-button
23
+                type="primary"
24
+                icon="el-icon-rank"
25
+                v-if="showSetting"
26
+                id="fullscreenbroad-setting"
27
+                @click="togglefullscreen"
28
+                >切换模式</el-button
29
+                >
30
+                <el-button
31
+                type="primary"
32
+                icon="el-icon-menu"
33
+                v-if="showSetting"
34
+                id="fullscreenbroad-setting"
35
+                @click="outfullscreenboard"
36
+                >退出全屏投影</el-button
37
+                >
38
+            </el-row>
39
+            <div class="page_lineUp">
40
+                <div class="lineUpTitle">
41
+                    <!-- <div>{{ this.$store.getters.xt_user.org.org_name }}<span>&nbsp;&nbsp;温馨提示:请注意排队叫号,依次叫号就诊上机,谢谢配合</span></div>
42
+                    <div>{{ newdate }}&nbsp;&nbsp;{{ time }}</div> -->
43
+                </div>
44
+                <div class="lineUpMain">
45
+                    <div class="lineUpMainLeft">
46
+                        <div class="lineUpMainLeftTitle">
47
+                            <p style="width:10%">序号</p>
48
+                            <p style="width:10%">姓名</p>
49
+                            <p style="width:14%">透析号</p>
50
+                            <p style="width:55%">透析时间</p>
51
+                            
52
+                        </div>
53
+                        <!-- <div class="lineUpList">
54
+                            <div class="lineUpListOne" v-for="(item,index) in lineUpList" :key="index">
55
+                                <p style="width:12%" v-if="$store.getters.xt_user.org.id !=0 && $store.getters.xt_user.org.id!=10440">
56
+                                    <span v-if="item.schedule_type == 1">上午</span>
57
+                                    <span v-if="item.schedule_type == 2">下午</span>
58
+                                    <span v-if="item.schedule_type == 3">晚上</span>
59
+                                    {{ item.queue_no }}号
60
+                                </p>
61
+                                <p style="width:14%">{{ item.patient_name }}</p>
62
+                                <p style="width:14%" v-if="$store.getters.xt_user.org.id !=0 && $store.getters.xt_user.org.id !=10440">{{ item.dialysis_no }}</p>
63
+                                <p style="width:14%">{{ item.partition_name + item.bed_name }}</p>
64
+                                <p style="width:14%">
65
+                                    <span v-if="item.status == 1">待接诊</span>
66
+                                    <span v-if="item.status == 2">接诊中</span>
67
+                                    <span v-if="item.status == 3">待上机</span>
68
+                                    <span v-if="item.status == 4">透析中</span>
69
+                                    <span v-if="item.status == 5">已下机</span>
70
+                                </p>
71
+                                <p style="width:14%">{{ item.start_time ? getDates(item.start_time) : '--' }}</p>
72
+                                <p style="width:16%">{{ item.end_time && item.start_time ? getDates(item.end_time) : '--' }}</p>
73
+                            </div>
74
+                        </div> -->
75
+                    </div> 
76
+                    <!-- <div class="callingBox">
77
+                        <div :class="(queueConfig.jzjhyc == 1 && queueConfig.sjjhyc == 0) ? 'callingBoxLeft1' : 'callingBoxLeft'" v-if="queueConfig.jzjhyc == 1">
78
+                            <div class="callingTitle"><span style="margin: 0 auto;">接<br />诊<br />叫<br />号</span></div>
79
+                            <div style="flex: 1;justify-content: space-between;display: flex;flex-direction: column;">
80
+                                <div class="callingTop" style="margin-bottom:10px;">
81
+                                    <div class="callingTopTip"><span style="margin: 0 auto;">正在<br />接诊</span></div>
82
+                                    <div class="callingContent">
83
+                                        <div>
84
+                                            <p><span v-for="(item,index) in (receivingPatient || '').slice(0,3)" :key="index">{{ item.patient_name }}、</span></p>
85
+                                            <p><span v-for="(item,index) in (receivingPatient || '').slice(3,6)" :key="index">{{ item.patient_name }}、</span></p>
86
+                                        </div>
87
+                                    </div>
88
+                                </div>
89
+                                <div class="callingTop" style="border-radius: 0 0 15px 0;">
90
+                                    <div class="callingTopTip"><span style="margin: 0 auto;">等待<br />接诊</span></div>
91
+                                    <div class="callingContent">
92
+                                        <div>
93
+                                            <p><span v-for="(item,index) in (waitDoctorList || '').slice(0,3)" :key="index">{{ item.patient_name }}、</span></p>
94
+                                            <p><span v-for="(item,index) in (waitDoctorList || '').slice(3,6)" :key="index">{{ item.patient_name }}、</span></p>
95
+                                        </div>
96
+                                    </div>
97
+                                </div>
98
+                            </div>
99
+                        </div>
100
+                        <div :class="(queueConfig.jzjhyc == 0 && queueConfig.sjjhyc == 1) ? 'callingBoxLeft1' : 'callingBoxLeft'" v-if="queueConfig.sjjhyc == 1">
101
+                            <div class="callingTitle newCallingTitle"><span style="margin: 0 auto;">上<br />机<br />叫<br />号</span></div>
102
+                            <div style="flex: 1;justify-content: space-between;display: flex;flex-direction: column;">
103
+                                <div class="callingTop" style="margin-bottom:10px;">
104
+                                    <div class="callingTopTip newCallingTopTip"><span style="margin: 0 auto;">正在<br />叫号</span></div>
105
+                                    <div class="callingContent newCallingContent">
106
+                                        <div>
107
+                                            <p><span v-for="(item,index) in (upPatientList || '').slice(0,3)" :key="index">{{ item.patient_name }}、</span></p>
108
+                                            <p><span v-for="(item,index) in (upPatientList || '').slice(3,6)" :key="index">{{ item.patient_name }}、</span></p>
109
+                                        </div>
110
+                                    </div>
111
+                                </div>
112
+                                <div class="callingTop" style="border-radius: 0 0 15px 0;">
113
+                                    <div class="callingTopTip newCallingTopTip"><span style="margin: 0 auto;">等待<br />叫号</span></div>
114
+                                    <div class="callingContent newCallingContent">
115
+                                        <div>
116
+                                            <p><span v-for="(item,index) in (receivingPatient || '').slice(0,3)" :key="index">{{ item.patient_name }}、</span></p>
117
+                                            <p><span v-for="(item,index) in (receivingPatient || '').slice(3,6)" :key="index">{{ item.patient_name }}、</span></p>
118
+                                        </div>
119
+                                    </div>
120
+                                </div>
121
+                            </div>
122
+                        </div>
123
+                    </div> -->
124
+                </div> 
125
+                
126
+             </div>
127
+        
128
+        </div>
129
+        <div class="app-container">
130
+            <div class="page_lineUp">
131
+                <div class="lineUpTitle">
132
+                    <div>{{ this.$store.getters.xt_user.org.org_name }}<span>&nbsp;&nbsp;温馨提示:请注意排队叫号,依次叫号就诊上机,谢谢配合</span></div>
133
+                    <div>{{ newdate }}&nbsp;&nbsp;{{ time }}</div>
134
+                </div>
135
+                <div class="lineUpMain">
136
+                    <div class="lineUpMainLeft">
137
+                        <div class="lineUpMainLeftTitle">
138
+                            <p style="width:12%">序号</p>
139
+                            <p style="width:14%">姓名</p>
140
+                            <p style="width:14%">透析号</p>
141
+                            <p style="width:55%">透析时间</p>
142
+                        </div>
143
+                        <div class="lineUpList">
144
+                            <div class="lineUpListOne" v-for="(item,index) in lineUpList" :key="index">
145
+                                <p style="width:12%" > {{ item.xuhao }} </p>
146
+                                <p style="width:14%">{{ item.name }}</p>
147
+                                <p style="width:14%">{{ item.toux }}</p>
148
+                                <p style="width:55%">{{ item.touxtime }}</p>
149
+                                
150
+                                <!-- <p style="width:14%">{{ item.patient_name }}</p>
151
+                                <p style="width:14%">{{ item.partition_name + item.bed_name }}</p>
152
+                                <p style="width:14%">{{ item.start_time ? getDates(item.start_time) : '--' }}</p>
153
+                                <p style="width:16%">{{ item.end_time && item.start_time ? getDates(item.end_time) : '--' }}</p> -->
154
+                            </div>
155
+                        </div>
156
+                    </div> 
157
+                    
158
+                </div>
159
+                
160
+            </div>
161
+             
162
+        </div>
163
+    </div>
164
+</template>
165
+
166
+<script>
167
+const moment = require('moment')
168
+import BreadCrumb from "../components/bread-crumb";
169
+import screenfull from "screenfull";
170
+export default {
171
+    components:{
172
+        BreadCrumb
173
+    },
174
+    inject: ['reload'],
175
+    data(){
176
+        return{
177
+            crumbs: [
178
+                { path: false, name: "签到排队" },
179
+                { path: false, name: "排队窗口" }
180
+            ],
181
+            dialogTableVisible:false,
182
+            showSetting: false,
183
+            lineUpList:[
184
+                {xuhao:1,name:'张三',toux:1001,touxtime:'07-05 周一上午 HD 8号床  周三上午HD 9号床 周六上午HD 9号床'},
185
+                // {xuhao:2,name:'李四',toux:1002,touxtime:'2023-07-03'},
186
+                // {xuhao:3,name:'王五',toux:1003,touxtime:'2023-07-03'},
187
+                // {xuhao:4,name:'赵六',toux:1004,touxtime:'2023-07-03'},
188
+                // {xuhao:1,name:'肖雪',toux:1001,touxtime:'2023-07-03'},
189
+                // {xuhao:2,name:'小舞',toux:1002,touxtime:'2023-07-03'},
190
+                // {xuhao:3,name:'小明',toux:1003,touxtime:'2023-07-03'},
191
+                // {xuhao:4,name:'小红',toux:1004,touxtime:'2023-07-03'},
192
+                // {xuhao:1,name:'小雪',toux:1001,touxtime:'2023-07-03'},
193
+                // {xuhao:2,name:'小王',toux:1002,touxtime:'2023-07-03'},
194
+                // {xuhao:3,name:'小爱同学',toux:1003,touxtime:'2023-07-03'},
195
+                // {xuhao:4,name:'小亦',toux:1004,touxtime:'2023-07-03'},
196
+            ],
197
+            count:0,
198
+            page:1,
199
+            timer:null,
200
+            queueConfig:{
201
+                qhsj:10,
202
+            },
203
+            receivingPatient:[],
204
+            waitDoctorList:[],
205
+            upPatientList:[],
206
+            patient_id:'',
207
+            timerID:null,
208
+            time:'',
209
+            newdate:'',
210
+            voiceNum:1,
211
+            voiceTime:null,
212
+
213
+            voice:true,
214
+            a:1,
215
+            newTimes:null
216
+            
217
+        }
218
+    },
219
+    computed: {
220
+        websocket() {
221
+            return this.$store.state.user.websocket;
222
+        },
223
+    },
224
+    created(){
225
+        if(sessionStorage.getItem('lineUpKey') != null){
226
+            if(sessionStorage.getItem('lineUpKey') == 1){
227
+                this.dialogTableVisible = true
228
+            }
229
+            sessionStorage.removeItem('lineUpKey')
230
+            sessionStorage.removeItem('signInKey')
231
+        }
232
+        this.initData = {
233
+            cmd: "queue/join",
234
+            data: {type:2,page:1,size:6},
235
+        };
236
+        this.websocketSend(this.initData)
237
+        let newobj = {
238
+            cmd: "queue/callreturn",
239
+            data: {patient_id:0},
240
+        };
241
+        this.websocketSend(newobj)
242
+    },
243
+    beforeMount() {
244
+        if (this.websocket) {
245
+            if (this.websocket.readyState == 1) {
246
+                console.log('执行1')
247
+                this.websocketMess();
248
+            } else {
249
+                setTimeout(() => {
250
+                    console.log('执行2')
251
+                    this.websocketMess();
252
+                }, 1000);
253
+            }
254
+        } else {
255
+            setTimeout(() => {
256
+                if (this.websocket.readyState == 1) {
257
+                    console.log('执行3')
258
+                    this.websocketMess();
259
+                } else {
260
+                    setTimeout(() => {
261
+                        console.log('执行4')
262
+                        this.websocketMess();
263
+                    }, 1000);
264
+                }
265
+            }, 1000);
266
+        }
267
+        // this.websocketMess();
268
+    },
269
+    mounted(){
270
+        
271
+        // this.timer = setInterval(() => {
272
+        //     if(this.page < Math.ceil(this.count / 6)){
273
+        //         console.log('执行',Math.ceil(this.count / 6),this.page)
274
+        //         this.page++
275
+        //         let obj = {
276
+        //             cmd: "queue/queuelist",
277
+        //             data: {page:this.page,size:6,sort:0}
278
+        //         };
279
+        //         this.websocketSend(obj)
280
+        //         setTimeout(() => {
281
+        //             this.websocketMess();
282
+        //         }, 1000);
283
+        //     }
284
+        //     else{
285
+        //         console.log('执行22223333')
286
+        //         this.page = 1
287
+        //         let a = {
288
+        //             cmd: "queue/queuelist",
289
+        //             data: {page:this.page,size:6,sort:0}
290
+        //         };
291
+        //         this.websocketSend(a)
292
+        //         setTimeout(() => {
293
+        //             // this.websocketMess();
294
+        //             this.lineUpList
295
+        //         }, 1000);
296
+                
297
+        //     }
298
+        //     console.log('切换时间',this.queueConfig)
299
+        // }, 1000 * parseInt(this.queueConfig.qhsj));
300
+        // this.timerID = setInterval(() => {
301
+        //     this.updateTime()
302
+        // }, 1000);
303
+        // this.newTimes = setInterval(() => {
304
+        //     // this.reload()
305
+        //     console.log('1222222333333333');
306
+        //     sessionStorage.setItem('lineUpKey',1);
307
+        //     window.location.reload()
308
+        // }, 1000 * 60 * 30);
309
+    },
310
+    beforeDestroy(){
311
+        clearInterval(this.timer);// 清除定时器
312
+        this.timer = null
313
+        clearInterval(this.timerID);
314
+        this.timerID = null;// 清除定时器
315
+        // clearInterval(this.newTimes);  // 清除定时器
316
+        // this.newTimes = null
317
+        let unObj = {
318
+            cmd:'queue/unjoin',
319
+            data:{type:2}
320
+        }
321
+        this.websocketSend(unObj)
322
+        // this.timer = null;
323
+        // let obj = {
324
+        //     cmd: "queue/join",
325
+        //     data: {type:1},
326
+        // };
327
+        // this.websocketSend(obj)
328
+    },
329
+    methods:{
330
+        websocketSend(data) {
331
+            try {
332
+                this.websocket.send(JSON.stringify(data))
333
+            } catch (error) {
334
+                this.showError = true;
335
+                this.showIndex = 4;
336
+                this.errorInfo = "网络异常,请稍后退出重试!";
337
+            }
338
+        },
339
+        websocketMess() {
340
+            console.log('测试')
341
+            this.websocket.onmessage = e => {
342
+                let res = JSON.parse(e.data);
343
+                // let res = re.data;
344
+                console.log('res',res)
345
+                
346
+                    if(res.channel == 'queue/join'){
347
+                        if(res.data.type == 2){
348
+                            this.queueConfig = res.data.queueConfig
349
+                            this.lineUpList = res.data.patientQueueList.data
350
+                            this.receivingPatient = res.data.receivingPatient
351
+                            this.waitDoctorList = res.data.waitDoctorList
352
+                            this.upPatientList = res.data.upPatientList
353
+                            this.count = res.data.patientQueueList.count
354
+                            // this.lineUpList.map(item => {
355
+                            //     item.create_time = moment(item.create_time * 1000).format('HH:mm:ss')
356
+                            //     // item.start_time = moment(item.start_time * 1000).format('HH:mm')
357
+                            // })
358
+                        }
359
+                    }else if(res.channel == 'queue/queuelist'){
360
+                        this.lineUpList = res.data.patientQueueList.data
361
+                        this.count = res.data.patientQueueList.count
362
+                        // this.lineUpList.map(item => {
363
+                        //     item.create_time = moment(item.create_time * 1000).format('HH:mm:ss')
364
+                        //     // item.start_time = moment(item.start_time * 1000).format('HH:mm')
365
+                        //     if(item.start_time != null){
366
+                        //         item.start_time = moment(item.start_time * 1000).format('HH:mm:ss')
367
+                        //     }
368
+                        //     if(item.status == 5 || item.end_time){
369
+                        //         item.end_time = moment(item.end_time * 1000).format('HH:mm:ss')
370
+                        //     }
371
+                        // })
372
+                    }else if(res.channel == 'patientCallInfo'){
373
+                        console.log(999999999999,res.data)
374
+                        let second = res.data.second
375
+                        let newType = res.data.type
376
+                    
377
+                        console.log('执行几次',this.voiceNum)
378
+                        if(this.voice == true){
379
+                            this.patient_id = res.data.patientInfo.patient_id
380
+                            this.voice = false
381
+                            // let time1 = null
382
+                            this.voicePrompt(res.data.callVolUrl)
383
+                            this.voiceTime = setInterval(() => {
384
+                                let num = null
385
+                                if(res.data.patientInfo.status == 2){
386
+                                    num = parseInt(this.queueConfig.jzdcbbcs)
387
+                                }else if(res.data.patientInfo.status == 3){
388
+                                    num = parseInt(this.queueConfig.sjdcbbcs)
389
+                                }
390
+                                if(this.voiceNum < num){
391
+                                    this.voiceNum++
392
+                                    this.voicePrompt(res.data.callVolUrl)
393
+                                }else{
394
+                                    this.voiceNum = 1;
395
+                                    this.voice = true 
396
+                                    let obj = {
397
+                                        cmd: "queue/callreturn",
398
+                                        data: {patient_id:this.patient_id,type:newType},
399
+                                    };
400
+                                    this.websocketSend(obj)
401
+                                    clearInterval(this.voiceTime);
402
+                                    this.voiceTime = null
403
+                                }
404
+                            },1000 * second)
405
+                        }else {
406
+                            // this.$message({
407
+                            //     message: '警告哦,这是一条警告消息',
408
+                            //     type: 'warning'
409
+                            // });
410
+                        }
411
+                    }else if(res.channel == 'updateCallList'){
412
+                        this.receivingPatient = res.data.queue_list
413
+                        
414
+                    }else if(res.channel == 'updateWaitCallList'){
415
+                        this.waitDoctorList = res.data.queue_list
416
+                    }else if(res.channel == 'updateUpCallList'){
417
+                        this.upPatientList = res.data.queue_list
418
+                    }
419
+                
420
+                // else if(res.channel == "patientQueueInfo"){
421
+                //     this.queueInfo = res.data.queueInfo
422
+                //     let obj = {
423
+                //         cmd: "queue/queuelist",
424
+                //         data: {page:1,size:10}
425
+                //     };
426
+                //     this.websocketSend(obj)
427
+                    
428
+                // }
429
+            }
430
+        },
431
+        updateTime() {
432
+            var cd = new Date();
433
+            var week = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
434
+            this.time = this.zeroPadding(cd.getHours(), 2) + ':' + this.zeroPadding(cd.getMinutes(), 2) + ':' + this.zeroPadding(cd.getSeconds(), 2) + ' (' + week[cd.getDay()] + ")";
435
+            this.newdate = this.zeroPadding(cd.getFullYear(), 4) + '-' + this.zeroPadding(cd.getMonth() + 1, 2) + '-' + this.zeroPadding(cd.getDate(), 2);
436
+        },
437
+
438
+        zeroPadding(num, digit) {
439
+            var zero = '';
440
+            for (var i = 0; i < digit; i++) {
441
+                zero += '0';
442
+            }
443
+            return (zero + num).slice(-digit);
444
+        },
445
+        // 进入全屏
446
+        fullscreenboard: function() {
447
+            sessionStorage.setItem('lineUpKey',1);
448
+            this.dialogTableVisible = true;
449
+            // let routeData = this.$router.resolve({ path: '/fullscreenboard' })
450
+            // window.open(routeData.href, '_blank')
451
+        },
452
+        outfullscreenboard: function() {
453
+            this.dialogTableVisible = false;
454
+            this.showSetting = false;
455
+        },
456
+        togglefullscreen: function() {
457
+            if (!screenfull.enabled) {
458
+                this.$message({
459
+                message: "你的浏览器不支持",
460
+                type: "warning"
461
+                });
462
+                return false;
463
+            }
464
+            screenfull.toggle();
465
+            this.showSetting = false;
466
+        },
467
+        openSetting() {
468
+            if (this.showSetting == false) {
469
+                this.showSetting = true;
470
+            } else {
471
+                this.showSetting = false;
472
+            }
473
+        },
474
+        getDates(time){
475
+            return moment(time * 1000).format('HH:mm:ss')
476
+        }
477
+    }
478
+}
479
+</script>
480
+
481
+<style lang="scss" scoped>
482
+.main-contain{
483
+    height: 100%;
484
+}
485
+.page_lineUp{
486
+    height: 100%;
487
+    .lineUpTitle{
488
+        height: 4vh;
489
+        background: #1A82BF;
490
+        display: flex;
491
+        justify-content: space-between;
492
+        align-items: center;
493
+        padding: 0 20px;
494
+        color:#fff;
495
+        font-size: 2vh;
496
+        font-weight: 600;
497
+    }
498
+    .lineUpMain{
499
+        background: linear-gradient(0deg, #76ECEC, #479CD2);
500
+        height: 95%;
501
+        padding:10px;
502
+    }
503
+    .lineUpMainLeft{
504
+        height: 60%;
505
+        border-radius: 15px;
506
+        display: flex;
507
+        flex-direction: column;
508
+        
509
+    }
510
+    .lineUpMainLeftTitle{
511
+        // display: flex;
512
+        // justify-content: space-between;
513
+        align-items: center;
514
+        color:#fff;
515
+        font-size: 4vh;
516
+        font-weight: 600;
517
+        height:7vh;
518
+        line-height: 7vh;
519
+        background: #1A82BF;
520
+        border-radius: 15px 15px 0 0;
521
+        >p{
522
+            display: inline-block;
523
+            text-align: center;
524
+        }
525
+    }
526
+    .lineUpList{
527
+        font-size: 3vh;
528
+        font-weight: 600;
529
+        flex: 1;
530
+        >div:nth-child(odd){
531
+            background: #F9FDFF;
532
+        }
533
+        >div:nth-child(even){
534
+            background: #CCEBFF;
535
+        }
536
+        >div:last-child{
537
+            border-radius: 0 0 15px 15px;
538
+        }
539
+        .lineUpListOne{
540
+            height:16%;
541
+            padding: 0.5%;
542
+            // 
543
+            // display: flex;
544
+            // justify-content: space-between;
545
+            align-items: center;
546
+            color:#1C6895;
547
+            >p{
548
+                
549
+                width:25%;
550
+                text-align: center;
551
+                display: inline-block;
552
+            }
553
+        }
554
+    }
555
+    .callingBox{
556
+        height: 39%;
557
+        margin-top: 10px;
558
+        display: flex;
559
+        justify-content: space-between;
560
+        .callingBoxLeft{
561
+            width: 49.5%;
562
+            height: 100%;
563
+            display: flex;
564
+            justify-content: space-between;
565
+        }
566
+        .callingBoxLeft1{
567
+            width: 100%;
568
+            height: 100%;
569
+            display: flex;
570
+            justify-content: space-between;
571
+        }
572
+        .callingTitle{
573
+            width: 10vh;
574
+            height: 100%;
575
+            border-radius: 15px 0 0 15px;
576
+            font-size: 5vh;
577
+            font-weight:600;
578
+            text-align: center;
579
+            color: #fff;
580
+            background: #1A82BF;
581
+            display: flex;
582
+            align-items: center;
583
+            margin-right: 5px;
584
+        }
585
+        .newCallingTitle{
586
+            background: #1aa680;
587
+        }
588
+        .callingTop{
589
+            height: 49.5%;
590
+            border-radius: 0 15px 0 0;
591
+            background: #F9FDFF;
592
+            display: flex;
593
+            justify-content: space-between;
594
+            .callingTopTip{
595
+                width: 10vh;
596
+                height: 100%;
597
+                color: #fff;
598
+                font-size: 3vh;
599
+                font-weight: 600;
600
+                background: #1A82BF;
601
+                display: flex;
602
+                align-items: center;
603
+            }
604
+            .newCallingTopTip{
605
+                background: #1aa680;
606
+            }
607
+            .callingContent{
608
+                flex: 1;
609
+                display: flex;
610
+                flex-direction: column;
611
+                font-size: 4vh;
612
+                color:#1C6895;
613
+                font-weight: 600;
614
+                padding-left: 20px;
615
+                justify-content: space-around;
616
+                >p{
617
+                    width:100%;
618
+                    text-align: left;
619
+                    line-height: 50px;
620
+                }
621
+                div>:first-child{
622
+                    margin-bottom: 10px;
623
+                }
624
+            }
625
+            .newCallingContent{
626
+                color:#1aa680;
627
+            }
628
+        }
629
+    }
630
+}
631
+#fullscreenbroad {
632
+  position: fixed;
633
+  top: 0;
634
+  right: 0;
635
+  bottom: 0;
636
+  left: 0;
637
+  overflow: auto;
638
+  margin: 0;
639
+  background: #fff;
640
+  padding: 20px;
641
+  z-index:5000;
642
+  height: 100%;
643
+}
644
+#fullscreenbroad #fullscreenbroad-setting {
645
+  float: right;
646
+}
647
+
648
+#fullscreenbroad .el-button + .el-button {
649
+  margin-left: 0px;
650
+}
651
+#fullscreenbroad .el-button:nth-child(1) {
652
+  margin-left: 10px;
653
+}
654
+#fullscreenbroad .el-button:nth-child(2) {
655
+  margin-left: 10px;
656
+}
657
+.fullRow{
658
+    margin-bottom: 10px;
659
+}
660
+</style>

+ 36 - 26
src/xt_pages/user/evaluationtool/Constraintnotification.vue View File

@@ -18,7 +18,13 @@
18 18
                 <table class="table" border="1" style="width: 100%; padding: 5px;">
19 19
                     <tr>
20 20
                         <td style="width: 150px; height: 40px; ">存在以下潜在风险:</td>
21
-                        <td></td>
21
+                        <td>
22
+                            <div class="jiange">
23
+                                <el-checkbox-group v-model="checkList">
24
+                                    <el-checkbox v-for="item in qianzai" :label="item" :key="item"></el-checkbox>
25
+                                </el-checkbox-group>    
26
+                            </div>
27
+                        </td>
22 28
                     </tr>
23 29
                 </table>
24 30
                 <table class="table" border="1" style="width: 100%;">
@@ -33,9 +39,9 @@
33 39
                             <td class="start">意识及情绪:</td>
34 40
                             <td>
35 41
                                 <div class="jiange">
36
-                                    <!-- <el-radio-group v-model="radio">
37
-                                        <el-radio v-for="(item,index ) in tuoguan" :label="item" :key="index">{{ item }}</el-radio>
38
-                                    </el-radio-group> -->
42
+                                    <el-checkbox-group v-model="checkList">
43
+                                        <el-checkbox v-for="item in yisqingxu" :label="item" :key="item"></el-checkbox>
44
+                                    </el-checkbox-group>    
39 45
                                 </div>
40 46
                             </td>
41 47
                         </tr>
@@ -43,9 +49,9 @@
43 49
                             <td class="start">手术麻醉:</td>
44 50
                             <td>
45 51
                                 <div class="jiange">
46
-                                    <!-- <el-radio-group v-model="radio">
47
-                                        <el-radio v-for="(item,index ) in tuoguan" :label="item" :key="index">{{ item }}</el-radio>
48
-                                    </el-radio-group> -->
52
+                                    <el-checkbox-group v-model="checkList">
53
+                                        <el-checkbox v-for="item in mazui" :label="item" :key="item"></el-checkbox>
54
+                                    </el-checkbox-group>
49 55
                                 </div>
50 56
                             </td>
51 57
                         </tr>
@@ -53,9 +59,9 @@
53 59
                             <td class="start"></td>
54 60
                             <td>
55 61
                                 <div class="jiange">
56
-                                    <!-- <el-radio-group v-model="radio">
57
-                                        <el-radio v-for="(item,index ) in tuoguan" :label="item" :key="index">{{ item }}</el-radio>
58
-                                    </el-radio-group> -->
62
+                                    <el-checkbox-group v-model="checkList">
63
+                                        <el-checkbox label="醉酒躁动"></el-checkbox>
64
+                                    </el-checkbox-group>
59 65
                                 </div>
60 66
                             </td>
61 67
                         </tr>
@@ -63,9 +69,9 @@
63 69
                             <td class="start">管道:</td>
64 70
                             <td>
65 71
                                 <div class="jiange">
66
-                                    <!-- <el-radio-group v-model="radio">
67
-                                        <el-radio v-for="(item,index ) in tuoguan" :label="item" :key="index">{{ item }}</el-radio>
68
-                                    </el-radio-group> -->
72
+                                    <el-checkbox-group v-model="checkList">
73
+                                        <el-checkbox v-for="item in guandao" :label="item" :key="item"></el-checkbox>
74
+                                    </el-checkbox-group>
69 75
                                 </div>
70 76
                             </td>
71 77
                         </tr>
@@ -73,9 +79,9 @@
73 79
                             <td class="start">上肢情况:</td>
74 80
                             <td>
75 81
                                 <div class="jiange">
76
-                                    <!-- <el-radio-group v-model="radio">
77
-                                        <el-radio v-for="(item,index ) in tuoguan" :label="item" :key="index">{{ item }}</el-radio>
78
-                                    </el-radio-group> -->
82
+                                    <el-checkbox-group v-model="checkList">
83
+                                        <el-checkbox v-for="item in shangzhi" :label="item" :key="item"></el-checkbox>
84
+                                    </el-checkbox-group>
79 85
                                 </div>
80 86
                             </td>
81 87
                         </tr>
@@ -83,9 +89,9 @@
83 89
                             <td class="start">下肢情况:</td>
84 90
                             <td>
85 91
                                 <div class="jiange">
86
-                                    <!-- <el-radio-group v-model="radio">
87
-                                        <el-radio v-for="(item,index ) in tuoguan" :label="item" :key="index">{{ item }}</el-radio>
88
-                                    </el-radio-group> -->
92
+                                    <el-checkbox-group v-model="checkList">
93
+                                        <el-checkbox v-for="item in xiazhi" :label="item" :key="item"></el-checkbox>
94
+                                    </el-checkbox-group>
89 95
                                 </div>
90 96
                             </td>
91 97
                         </tr>
@@ -93,9 +99,9 @@
93 99
                             <td class="start">皮肤状况:</td>
94 100
                             <td>
95 101
                                 <div class="jiange">
96
-                                    <!-- <el-radio-group v-model="radio">
97
-                                        <el-radio v-for="(item,index ) in tuoguan" :label="item" :key="index">{{ item }}</el-radio>
98
-                                    </el-radio-group> -->
102
+                                    <el-checkbox-group v-model="checkList">
103
+                                        <el-checkbox v-for="item in pifu" :label="item" :key="item"></el-checkbox>
104
+                                    </el-checkbox-group>
99 105
                                 </div>
100 106
                             </td>
101 107
                         </tr>
@@ -196,9 +202,6 @@
196 202
                         </tr>
197 203
                     </tbody>
198 204
                 </table>
199
-                
200
-
201
-
202 205
 
203 206
             </div>
204 207
         </div>
@@ -216,7 +219,14 @@ export default {
216 219
             patientID:0,
217 220
             value1:'',
218 221
             input:'',
219
-
222
+            checkList:[],
223
+            qianzai:['坠床','自伤','非计划拔管','伤人','其他'],
224
+            yisqingxu:['烦躁不安','狂躁','自杀','自伤','伤人'],
225
+            mazui:['全麻术后未清醒','躁动不配合','术后瞻妄综合症'],
226
+            guandao:['尿管','胃管','腹腔引流管','胸腔闭室引流管','脑室引流管','造痿管','气管插管','气管切开','深静脉置管','其他'],
227
+            shangzhi:['正常','骨折','皮肤损伤','其他'],
228
+            xiazhi:['正常','骨折','皮肤损伤','其他'],
229
+            pifu:['完整水肿','破损','黄疸','紫绀','压疮','皮疹','潮红','部位']
220 230
         }
221 231
     }
222 232
 }

+ 0 - 1
src/xt_pages/user/evaluationtool/hemodialysis.vue View File

@@ -542,7 +542,6 @@
542 542
                     </div>
543 543
                 </div>
544 544
 
545
-                血液透析患者评估
546 545
             </div>
547 546
         </div>
548 547
         

+ 20 - 4
src/xt_pages/user/evaluationtool/pediatricFallAssessment.vue View File

@@ -26,10 +26,23 @@
26 26
                         <tbody>
27 27
                             <tr class="bg_color">
28 28
                                 <td class="start">年龄</td>
29
-                                <td><div class="jiange"><el-checkbox label=">1岁~≤3岁" ></el-checkbox></div></td>
30
-                                <td><div class="jiange"><el-checkbox label=">3岁~≤7岁"></el-checkbox></div></td>
31
-                                <td><div class="jiange"><el-checkbox label=">7岁~≤13岁"></el-checkbox></div></td>
32
-                                <td><div class="jiange"><el-checkbox label=">13岁"></el-checkbox></div></td>
29
+                                <td>
30
+                                    <div class="jiange">
31
+                                        <label><input name="ball" type="checkbox" value="football" />>1岁~≤3岁</label>
32
+                                    </div>
33
+                                </td>
34
+                                <td><div class="jiange">
35
+                                    <!-- <el-checkbox label=">3岁~≤7岁"></el-checkbox> -->
36
+                                    <label><input name="ball" type="checkbox" value="football" />>3岁~≤7岁</label>
37
+                                </div></td>
38
+                                <td><div class="jiange">
39
+                                    <!-- <el-checkbox label=">7岁~≤13岁"></el-checkbox> -->
40
+                                    <label><input name="ball" type="checkbox" value="football" />>7岁~≤13岁</label>
41
+                                </div></td>
42
+                                <td><div class="jiange">
43
+                                    <!-- <el-checkbox label=">13岁"></el-checkbox> -->
44
+                                    <label><input name="ball" type="checkbox" value="football" />>13岁</label>
45
+                                </div></td>
33 46
                             
34 47
                             </tr>
35 48
                             <tr>
@@ -191,6 +204,9 @@ export default {
191 204
             margin-left: 20px;
192 205
             color: black;
193 206
         }
207
+        input{
208
+            -webkit-appearance: checkbox;
209
+        }
194 210
     }
195 211
 
196 212
 </style>