|
@@ -3,7 +3,7 @@
|
3
|
3
|
<div class="position">
|
4
|
4
|
<bread-crumb :crumbs="crumbs"></bread-crumb>
|
5
|
5
|
<div style="display:flex;align-items:center">
|
6
|
|
- <el-button type="primary" @click="setting">设置</el-button>
|
|
6
|
+ <!-- <el-button type="primary" @click="setting">设置</el-button> -->
|
7
|
7
|
<el-button type="primary" @click="DeleteStaffSchedule">清除</el-button>
|
8
|
8
|
<el-button type="primary" @click="copyStaffSchedule">复制</el-button>
|
9
|
9
|
<el-button type="primary" icon="el-icon-printer" @click="toPrint">打印</el-button>
|
|
@@ -214,81 +214,110 @@
|
214
|
214
|
<el-tabs v-model="activeName">
|
215
|
215
|
<el-tab-pane label="护士" name="nurse">
|
216
|
216
|
<el-table
|
217
|
|
- :data="nurseTableData"
|
|
217
|
+ :data="nurseList"
|
218
|
218
|
border
|
219
|
219
|
height="250"
|
220
|
220
|
style="width: 100%">
|
221
|
|
- <el-table-column
|
222
|
|
- align="center"
|
223
|
|
- prop="name"
|
224
|
|
- label="姓名"
|
225
|
|
- width="180">
|
226
|
|
- </el-table-column>
|
227
|
|
- <el-table-column
|
228
|
|
- align="center"
|
229
|
|
- prop="date"
|
230
|
|
- label="职称"
|
231
|
|
- width="180">
|
232
|
|
- </el-table-column>
|
233
|
|
- <el-table-column
|
234
|
|
- align="center"
|
235
|
|
- label="排序">
|
236
|
|
- <template slot-scope="scope">
|
237
|
|
- <el-input v-model="input" placeholder="请输入内容"></el-input>
|
238
|
|
- </template>
|
239
|
|
- </el-table-column>
|
240
|
|
- <el-table-column
|
241
|
|
- align="center"
|
242
|
|
- label="是否排班">
|
243
|
|
- <template slot-scope="scope">
|
244
|
|
- <el-radio v-model="radio" label="1">是</el-radio>
|
245
|
|
- <el-radio v-model="radio" label="2">否</el-radio>
|
246
|
|
- </template>
|
247
|
|
- </el-table-column>
|
248
|
|
- </el-table>
|
249
|
|
- </el-tab-pane>
|
|
221
|
+ <el-table-column align="center" prop="name" label="姓名" width="180">
|
|
222
|
+ <template slot-scope="scope">
|
|
223
|
+ {{scope.row.user_name}}
|
|
224
|
+ </template>
|
|
225
|
+ </el-table-column>
|
|
226
|
+ <el-table-column align="center" prop="date" label="职称" width="180">
|
|
227
|
+ <template slot-scope="scope">
|
|
228
|
+ <span v-if="scope.row.user_title == 1">医士</span>
|
|
229
|
+ <span v-if="scope.row.user_title == 2">医师</span>
|
|
230
|
+ <span v-if="scope.row.user_title == 3">住院医师</span>
|
|
231
|
+ <span v-if="scope.row.user_title == 4">主治医师</span>
|
|
232
|
+ <span v-if="scope.row.user_title == 5">副主任医师</span>
|
|
233
|
+ <span v-if="scope.row.user_title == 6">主任医师</span>
|
|
234
|
+ <span v-if="scope.row.user_title == 7">护士</span>
|
|
235
|
+ <span v-if="scope.row.user_title == 8">护师</span>
|
|
236
|
+ <span v-if="scope.row.user_title == 9">主管护师</span>
|
|
237
|
+ <span v-if="scope.row.user_title == 10">副主任护师</span>
|
|
238
|
+ <span v-if="scope.row.user_title == 11">主任护师</span>
|
|
239
|
+ <span v-if="scope.row.user_title == 12">运营专员</span>
|
|
240
|
+ <span v-if="scope.row.user_title == 13">运营主管</span>
|
|
241
|
+ </template>
|
|
242
|
+ </el-table-column>
|
|
243
|
+ <el-table-column
|
|
244
|
+ align="center"
|
|
245
|
+ label="排序">
|
|
246
|
+ <template slot-scope="scope">
|
|
247
|
+ <el-input v-model="scope.row.sort" @change="changeSort(scope.row)" placeholder="请输入内容"></el-input>
|
|
248
|
+ </template>
|
|
249
|
+ </el-table-column>
|
|
250
|
+ <el-table-column
|
|
251
|
+ align="center"
|
|
252
|
+ label="是否排班">
|
|
253
|
+ <template slot-scope="scope">
|
|
254
|
+ <el-radio-group v-model="scope.row.is_sort" @change="changeRadio(scope.row)">
|
|
255
|
+ <el-radio :label="1">是</el-radio>
|
|
256
|
+ <el-radio :label="0">否</el-radio>
|
|
257
|
+ </el-radio-group>
|
|
258
|
+ </template>
|
|
259
|
+ </el-table-column>
|
|
260
|
+ </el-table>
|
|
261
|
+ </el-tab-pane>
|
|
262
|
+
|
250
|
263
|
<el-tab-pane label="医生" name="doctor">
|
251
|
264
|
<el-table
|
252
|
|
- :data="nurseTableData"
|
|
265
|
+ :data="doctorList"
|
253
|
266
|
border
|
254
|
267
|
height="250"
|
255
|
268
|
style="width: 100%">
|
256
|
|
- <el-table-column
|
|
269
|
+ <el-table-column
|
257
|
270
|
align="center"
|
258
|
271
|
prop="name"
|
259
|
272
|
label="姓名"
|
260
|
273
|
width="180">
|
261
|
|
- </el-table-column>
|
262
|
|
- <el-table-column
|
263
|
|
- align="center"
|
264
|
|
- prop="date"
|
265
|
|
- label="职称"
|
266
|
|
- width="180">
|
267
|
|
- </el-table-column>
|
|
274
|
+ <template slot-scope="scope">
|
|
275
|
+ {{scope.row.user_name}}
|
|
276
|
+ </template>
|
|
277
|
+ </el-table-column>
|
|
278
|
+ <el-table-column align="center" prop="date" label="职称"width="180">
|
|
279
|
+ <template slot-scope="scope">
|
|
280
|
+ <span v-if="scope.row.user_title == 1">医士</span>
|
|
281
|
+ <span v-if="scope.row.user_title == 2">医师</span>
|
|
282
|
+ <span v-if="scope.row.user_title == 3">住院医师</span>
|
|
283
|
+ <span v-if="scope.row.user_title == 4">主治医师</span>
|
|
284
|
+ <span v-if="scope.row.user_title == 5">副主任医师</span>
|
|
285
|
+ <span v-if="scope.row.user_title == 6">主任医师</span>
|
|
286
|
+ <span v-if="scope.row.user_title == 7">护士</span>
|
|
287
|
+ <span v-if="scope.row.user_title == 8">护师</span>
|
|
288
|
+ <span v-if="scope.row.user_title == 9">主管护师</span>
|
|
289
|
+ <span v-if="scope.row.user_title == 10">副主任护师</span>
|
|
290
|
+ <span v-if="scope.row.user_title == 11">主任护师</span>
|
|
291
|
+ <span v-if="scope.row.user_title == 12">运营专员</span>
|
|
292
|
+ <span v-if="scope.row.user_title == 13">运营主管</span>
|
|
293
|
+ </template>
|
|
294
|
+ </el-table-column>
|
268
|
295
|
<el-table-column
|
269
|
296
|
align="center"
|
270
|
297
|
label="排序">
|
271
|
298
|
<template slot-scope="scope">
|
272
|
|
- <el-input v-model="input" placeholder="请输入内容"></el-input>
|
|
299
|
+ <el-input v-model="scope.row.sort" placeholder="请输入内容" @change="changeSort(scope.row)"></el-input>
|
273
|
300
|
</template>
|
274
|
301
|
</el-table-column>
|
275
|
302
|
<el-table-column
|
276
|
303
|
align="center"
|
277
|
304
|
label="是否排班">
|
278
|
|
- <template slot-scope="scope">
|
279
|
|
- <el-radio v-model="radio" label="1">是</el-radio>
|
280
|
|
- <el-radio v-model="radio" label="2">否</el-radio>
|
281
|
|
- </template>
|
282
|
|
- </el-table-column>
|
|
305
|
+ <template slot-scope="scope">
|
|
306
|
+ <el-radio-group v-model="scope.row.is_sort" @change="changeRadio(scope.row)">
|
|
307
|
+ <el-radio :label="1">是</el-radio>
|
|
308
|
+ <el-radio :label="0">否</el-radio>
|
|
309
|
+ </el-radio-group>
|
|
310
|
+ </template>
|
|
311
|
+ </el-table-column>
|
283
|
312
|
</el-table>
|
284
|
313
|
</el-tab-pane>
|
285
|
314
|
</el-tabs>
|
286
|
|
- <div style="margin-top:20px;">
|
|
315
|
+ <!-- <div style="margin-top:20px;">
|
287
|
316
|
<p style="line-height:20px;">1.默认科室所有排序在职员工账号</p>
|
288
|
317
|
<p style="line-height:20px;">2.护士默认排序,按加入机构先后降序排序,最先加入机构的排序为1,显示在列表最下面,自定义排序,最大的序号排在最上面</p>
|
289
|
318
|
<p style="line-height:20px;">3.职称显示与管理中旬的员工列表显示的职称一样</p>
|
290
|
319
|
<p style="line-height:20px;">4.是否排班,默认机构所有用户是“是”,如果是否,则该用户不在医护排班列表中</p>
|
291
|
|
- </div>
|
|
320
|
+ </div> -->
|
292
|
321
|
</div>
|
293
|
322
|
<!-- <div slot="footer" class="dialog-footer">
|
294
|
323
|
<el-button @click="hide">取 消</el-button>
|
|
@@ -303,7 +332,7 @@
|
303
|
332
|
<script>
|
304
|
333
|
const moment = require('moment')
|
305
|
334
|
import BreadCrumb from '@/xt_pages/components/bread-crumb'
|
306
|
|
-import { getDoctorList,getScheduleList,addSchedule,getStaffScheduleList,getNextWeekList,getScheduleByDoctorId,toSearchScheduleList,DeleteStaffSchedule,copyStaffSchedule,UpdateContinusSchedule } from '@/api/doctorSchedule'
|
|
335
|
+import { getDoctorList,getScheduleList,addSchedule,getStaffScheduleList,getNextWeekList,getScheduleByDoctorId,toSearchScheduleList,DeleteStaffSchedule,copyStaffSchedule,UpdateContinusSchedule,SaveNurseSort,SaveIsSchedule } from '@/api/doctorSchedule'
|
307
|
336
|
export default {
|
308
|
337
|
components:{
|
309
|
338
|
BreadCrumb
|
|
@@ -381,8 +410,9 @@ export default {
|
381
|
410
|
}],
|
382
|
411
|
nurseVisible:false,
|
383
|
412
|
activeName:'nurse',
|
384
|
|
- radio:'1'
|
385
|
|
-
|
|
413
|
+ radio:'1',
|
|
414
|
+ nurseList:[],
|
|
415
|
+ doctorList:[],
|
386
|
416
|
}
|
387
|
417
|
},
|
388
|
418
|
methods:{
|
|
@@ -397,11 +427,27 @@ export default {
|
397
|
427
|
getDoctorList().then(response=>{
|
398
|
428
|
if(response.data.state == 1){
|
399
|
429
|
var list = response.data.data.list
|
400
|
|
- // console.log("医护列表",list)
|
|
430
|
+ console.log("医护列表",list)
|
401
|
431
|
this.tableData = list
|
402
|
432
|
this.doctorlist = list
|
403
|
433
|
//获取班种列表
|
404
|
434
|
this.getStaffScheduleList()
|
|
435
|
+
|
|
436
|
+ // var doctorlist = response.data.data.doctorlist
|
|
437
|
+ // for(let i=0;i<doctorlist.length;i++){
|
|
438
|
+ // if(doctorlist[i].sort == 0){
|
|
439
|
+ // doctorlist[i].sort = ""
|
|
440
|
+ // }
|
|
441
|
+ // }
|
|
442
|
+ // console.log('doctorlist',doctorlist)
|
|
443
|
+ // this.doctorList = doctorlist
|
|
444
|
+ // var nurselist = response.data.data.nurselist
|
|
445
|
+ // for(let i=0;i<nurselist.length;i++){
|
|
446
|
+ // if(nurselist[i].sort == 0){
|
|
447
|
+ // nurselist[i].sort = ""
|
|
448
|
+ // }
|
|
449
|
+ // }
|
|
450
|
+ // this.nurseList = nurselist
|
405
|
451
|
}
|
406
|
452
|
})
|
407
|
453
|
},
|
|
@@ -411,18 +457,18 @@ export default {
|
411
|
457
|
var schedulelist = response.data.data.scheduleList
|
412
|
458
|
// console.log("schedulelist",schedulelist)
|
413
|
459
|
for(let i=0;i<schedulelist.length;i++){
|
414
|
|
- if(schedulelist[i].timeone_type == 1){
|
415
|
|
- schedulelist[i].timeone_type = "当日"
|
416
|
|
- }
|
417
|
|
- if(schedulelist[i].timeone_type == 2){
|
418
|
|
- schedulelist[i].timeone_type = "次日"
|
419
|
|
- }
|
420
|
|
- if(schedulelist[i].timetwo_type == 1){
|
421
|
|
- schedulelist[i].timetwo_type = "当日"
|
422
|
|
- }
|
423
|
|
- if(schedulelist[i].timetwo_type == 2){
|
424
|
|
- schedulelist[i].timetwo_type = "次日"
|
425
|
|
- }
|
|
460
|
+ if(schedulelist[i].timeone_type == 1){
|
|
461
|
+ schedulelist[i].timeone_type = "当日"
|
|
462
|
+ }
|
|
463
|
+ if(schedulelist[i].timeone_type == 2){
|
|
464
|
+ schedulelist[i].timeone_type = "次日"
|
|
465
|
+ }
|
|
466
|
+ if(schedulelist[i].timetwo_type == 1){
|
|
467
|
+ schedulelist[i].timetwo_type = "当日"
|
|
468
|
+ }
|
|
469
|
+ if(schedulelist[i].timetwo_type == 2){
|
|
470
|
+ schedulelist[i].timetwo_type = "次日"
|
|
471
|
+ }
|
426
|
472
|
}
|
427
|
473
|
this.schedulelist = schedulelist
|
428
|
474
|
}
|
|
@@ -494,7 +540,7 @@ export default {
|
494
|
540
|
end_time:this.getTimestamp(this.weekDayArr[6]),
|
495
|
541
|
schedule_date:this.getTimestamp(this.schedule_date)
|
496
|
542
|
}
|
497
|
|
- console.log("params",params)
|
|
543
|
+ // console.log("params",params)
|
498
|
544
|
|
499
|
545
|
addSchedule(params).then(response=>{
|
500
|
546
|
if(response.data.state == 1){
|
|
@@ -591,7 +637,7 @@ export default {
|
591
|
637
|
getStaffScheduleList(params).then(response=>{
|
592
|
638
|
if(response.data.state == 1){
|
593
|
639
|
var staffList = response.data.data.staffList
|
594
|
|
-
|
|
640
|
+ // console.log("获取所有排班",staffList)
|
595
|
641
|
var sevenStr = ""
|
596
|
642
|
var oneStr = ""
|
597
|
643
|
var twoStr = ""
|
|
@@ -611,14 +657,12 @@ export default {
|
611
|
657
|
if(staffList[i].schedule_week == 0){
|
612
|
658
|
staffList[i].class_index = 0
|
613
|
659
|
var arr = []
|
614
|
|
- this.arrZero.push(staffList[i].class_name)
|
615
|
|
- console.log("this.arrZero",this.arrZero)
|
|
660
|
+ this.arrZero.push(staffList[i].class_name)
|
616
|
661
|
for(let i=0;i<this.arrZero.length;i++){
|
617
|
662
|
if(this.arrZero[i]!=''){
|
618
|
663
|
arr.push(this.arrZero[i])
|
619
|
664
|
}
|
620
|
665
|
}
|
621
|
|
- console.log("arr",arr)
|
622
|
666
|
var countedNames = arr.reduce(function (allNames, name) {
|
623
|
667
|
if (name in allNames) {
|
624
|
668
|
allNames[name]++;
|
|
@@ -846,7 +890,6 @@ export default {
|
846
|
890
|
obj.user_type = 10
|
847
|
891
|
obj.list = arr2
|
848
|
892
|
arr.push(obj)
|
849
|
|
- console.log('arr',arr)
|
850
|
893
|
this.tableData = arr
|
851
|
894
|
|
852
|
895
|
|
|
@@ -907,6 +950,7 @@ export default {
|
907
|
950
|
getNextWeekList(params).then(response=>{
|
908
|
951
|
if(response.data.state == 1){
|
909
|
952
|
var staffList = response.data.data.staffList
|
|
953
|
+ // console.log("上下周数据",staffList)
|
910
|
954
|
var sevenStr = ""
|
911
|
955
|
var oneStr = ""
|
912
|
956
|
var twoStr = ""
|
|
@@ -1260,6 +1304,7 @@ export default {
|
1260
|
1304
|
toSearchScheduleList(params).then(response=>{
|
1261
|
1305
|
if(response.data.state == 1){
|
1262
|
1306
|
var staffList = response.data.data.staffList
|
|
1307
|
+ // console.log("搜索",staffList)
|
1263
|
1308
|
let tempArr = [], newArr = []
|
1264
|
1309
|
for (let i = 0; i < staffList.length; i++) {
|
1265
|
1310
|
if (tempArr.indexOf(staffList[i].user_name) === -1) {
|
|
@@ -1292,7 +1337,6 @@ export default {
|
1292
|
1337
|
// console.log("arr",arr)
|
1293
|
1338
|
}
|
1294
|
1339
|
})
|
1295
|
|
- console.log("arr",arr)
|
1296
|
1340
|
this.tableData = arr
|
1297
|
1341
|
}
|
1298
|
1342
|
}
|
|
@@ -1431,6 +1475,35 @@ export default {
|
1431
|
1475
|
_close: function(done) {
|
1432
|
1476
|
done();
|
1433
|
1477
|
},
|
|
1478
|
+ changeSort(val){
|
|
1479
|
+ console.log('val',val)
|
|
1480
|
+ const params = {
|
|
1481
|
+ sort:parseInt(val.sort),
|
|
1482
|
+ id:val.id,
|
|
1483
|
+ }
|
|
1484
|
+ console.log("params",params)
|
|
1485
|
+ SaveNurseSort(params).then(response=>{
|
|
1486
|
+ if(response.data.state == 1){
|
|
1487
|
+ var role = response.data.data.role
|
|
1488
|
+ this.$message.success("保存成功")
|
|
1489
|
+ this.getDoctorList()
|
|
1490
|
+ }
|
|
1491
|
+ })
|
|
1492
|
+ },
|
|
1493
|
+ changeRadio(val){
|
|
1494
|
+ console.log("val",val)
|
|
1495
|
+ const params = {
|
|
1496
|
+ id:val.id,
|
|
1497
|
+ is_sort:val.is_sort,
|
|
1498
|
+ }
|
|
1499
|
+ SaveIsSchedule(params).then(response=>{
|
|
1500
|
+ if(response.data.state == 1){
|
|
1501
|
+ var role = response.data.data.role
|
|
1502
|
+ this.$message.success("保存成功")
|
|
1503
|
+ this.getDoctorList()
|
|
1504
|
+ }
|
|
1505
|
+ })
|
|
1506
|
+ }
|
1434
|
1507
|
},
|
1435
|
1508
|
created(){
|
1436
|
1509
|
//获取医护人员
|
|
@@ -1469,6 +1542,7 @@ export default {
|
1469
|
1542
|
var now = moment().locale('zh-cn').format('YYYY-MM-DD 00:00:00')
|
1470
|
1543
|
this.timeNow = this.getTimestamp(now)
|
1471
|
1544
|
|
|
1545
|
+
|
1472
|
1546
|
}
|
1473
|
1547
|
}
|
1474
|
1548
|
</script>
|