Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
P
pica-admin-consultation
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
Close sidebar
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
com.pica.cloud.education.frontend
pica-admin-consultation
提交
b88bc1e2
提交
b88bc1e2
编写于
10月 30, 2021
作者:
qian.jie
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
提交代码
上级
95bef419
变更
2
显示空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
94 行增加
和
328 行删除
+94
-328
newScheduling.vue
src/views/IM/diagnosis-admin/modal/newScheduling.vue
+47
-30
overviewScheduling.vue
src/views/IM/diagnosis-admin/overviewScheduling.vue
+47
-298
未找到文件。
src/views/IM/diagnosis-admin/modal/newScheduling.vue
浏览文件 @
b88bc1e2
...
@@ -12,7 +12,7 @@
...
@@ -12,7 +12,7 @@
<div
<div
ref=
"agment"
ref=
"agment"
class=
"agment-box"
class=
"agment-box"
:class=
"
{
w2: week == 2, w3: week == 3
}"
:class=
"
{
'w2':week==2,'w3':week==3
}"
>
>
<FullCalendar
:options=
"calendarOptions"
/>
<FullCalendar
:options=
"calendarOptions"
/>
</div>
</div>
...
@@ -48,11 +48,13 @@
...
@@ -48,11 +48,13 @@
{{
this
.
schedulingTypeValue
.
departmentName
}}
{{
this
.
schedulingTypeValue
.
departmentName
}}
</div>
</div>
</div>
</div>
<div
style=
"margin-top: 24px"
>
<div
style=
"margin-top: 24px"
>
<p
class=
"agment-head-title"
>
<p
class=
"agment-head-title"
>
选择匹配优先级
选择匹配优先级
</p>
</p>
<div
:class=
"this.schedulingType == 3 ? 'agment-head-none' : ''"
>
<div
:class=
"this.schedulingType == 3 ? 'agment-head-none' : ''
"
>
<div
class=
"agment-head-priority"
>
<div
class=
"agment-head-priority"
>
<p
<p
v-for=
"(item, index) in createList"
v-for=
"(item, index) in createList"
...
@@ -110,9 +112,9 @@
...
@@ -110,9 +112,9 @@
},
},
data
()
{
data
()
{
return
{
return
{
id
:
''
,
id
:
''
,
doctorId
:
''
,
doctorId
:
''
,
schedulingTypeValue
:
{},
schedulingTypeValue
:{},
schedulingType
:
1
,
// 1 新增 2 编辑 3 查看
schedulingType
:
1
,
// 1 新增 2 编辑 3 查看
createList
:
[],
createList
:
[],
listDate
:
[],
listDate
:
[],
...
@@ -189,30 +191,31 @@
...
@@ -189,30 +191,31 @@
workingTicketVisible
:
false
,
// 工作表票详情页面
workingTicketVisible
:
false
,
// 工作表票详情页面
scrollerHeight
:
0
,
scrollerHeight
:
0
,
loading
:
false
,
loading
:
false
,
isDoIt
:
false
,
isDoIt
:
false
};
};
},
},
watch
:
{
watch
:
{
week
(
newV
,
oldV
)
{
week
(
newV
,
oldV
)
{
// if (this.haveWeek.indexOf(newV) == -1) {
console
.
log
(
newV
,
oldV
,
'newV, oldV'
);
// this.haveWeek.push(newV);
if
(
this
.
haveWeek
.
indexOf
(
newV
)
==
-
1
)
{
// this.handleInitSearch();
this
.
haveWeek
.
push
(
newV
);
// }
this
.
handleInitSearch
();
if
(
newV
!==
oldV
)
{
}
if
(
newV
!==
oldV
)
{
this
.
handleInitSearch
();
this
.
handleInitSearch
();
this
.
saveDoctoreScheduling
(
2
);
this
.
saveDoctoreScheduling
(
2
,
oldV
);
}
}
},
},
},
},
created
()
{
created
()
{
this
.
schedulingType
=
this
.
$route
.
query
.
type
||
1
;
this
.
schedulingType
=
this
.
$route
.
query
.
type
||
1
;
this
.
id
=
this
.
$route
.
query
.
id
;
this
.
id
=
this
.
$route
.
query
.
id
;
(
this
.
doctorId
=
this
.
$route
.
query
.
doctorId
)
,
this
.
doctorId
=
this
.
$route
.
query
.
doctorId
,
getDoctorInfo
({
id
:
this
.
id
}).
then
((
res
)
=>
{
getDoctorInfo
({
id
:
this
.
id
}).
then
((
res
)
=>
{
if
(
res
.
code
==
'000000'
)
{
if
(
res
.
code
==
'000000'
)
{
this
.
schedulingTypeValue
=
res
.
data
;
this
.
schedulingTypeValue
=
res
.
data
;
this
.
currentIndex
=
res
.
data
.
level
;
this
.
currentIndex
=
res
.
data
.
level
;
}
else
{
}
else
{
this
.
$toast
(
res
.
message
);
this
.
$toast
(
res
.
message
);
}
}
});
});
...
@@ -223,6 +226,7 @@
...
@@ -223,6 +226,7 @@
});
});
},
},
mounted
()
{
mounted
()
{
console
.
log
(
this
.
calendarOptions
.
events
,
'this.calendarOptions.events'
);
this
.
scrollerHeight
=
this
.
$refs
.
agment
.
clientHeight
+
'px'
;
this
.
scrollerHeight
=
this
.
$refs
.
agment
.
clientHeight
+
'px'
;
// console.log(this.$refs.agment.clientHeight, 'this.$refs.agment.offsetHeight;');
// console.log(this.$refs.agment.clientHeight, 'this.$refs.agment.offsetHeight;');
this
.
init
();
this
.
init
();
...
@@ -249,7 +253,8 @@
...
@@ -249,7 +253,8 @@
},
},
handleInitSearch
(
isReset
)
{
handleInitSearch
(
isReset
)
{
if
(
isReset
)
{
if
(
isReset
)
{
this
.
calendarOptions
.
events
=
[];
this
.
calendarOptions
.
events
=
this
.
calendarOptions
.
events
.
filter
((
v
)
=>
(
v
.
week
!==
this
.
week
));
console
.
log
(
this
.
calendarOptions
.
events
);
}
}
const
objParms
=
{};
const
objParms
=
{};
objParms
.
doctorId
=
this
.
doctorId
;
objParms
.
doctorId
=
this
.
doctorId
;
...
@@ -258,6 +263,7 @@
...
@@ -258,6 +263,7 @@
// this.currentIndex = this.schedulingTypeValue.level;
// this.currentIndex = this.schedulingTypeValue.level;
dutyRosterQuery
(
objParms
).
then
((
res
)
=>
{
dutyRosterQuery
(
objParms
).
then
((
res
)
=>
{
if
(
res
.
code
==
'000000'
)
{
if
(
res
.
code
==
'000000'
)
{
this
.
calendarOptions
.
events
=
[];
this
.
handleInitData
(
res
.
data
);
this
.
handleInitData
(
res
.
data
);
}
else
{
}
else
{
this
.
$toast
(
res
.
message
);
this
.
$toast
(
res
.
message
);
...
@@ -268,12 +274,14 @@
...
@@ -268,12 +274,14 @@
var
newDate
=
null
;
var
newDate
=
null
;
if
(
this
.
schedulingType
!=
3
)
{
if
(
this
.
schedulingType
!=
3
)
{
newDate
=
[].
concat
(
data
.
noAcceptList
);
newDate
=
[].
concat
(
data
.
noAcceptList
);
console
.
log
(
newDate
,
'newDate'
);
}
else
{
}
else
{
var
acceptList
=
[];
var
acceptList
=
[];
data
.
acceptList
.
forEach
((
item
)
=>
{
data
.
acceptList
.
forEach
((
item
)
=>
{
item
.
type
=
88
;
item
.
type
=
88
;
acceptList
.
push
(
item
);
acceptList
.
push
(
item
);
});
});
console
.
log
(
data
.
acceptList
,
'data.acceptList'
);
newDate
=
[].
concat
(
acceptList
,
data
.
noAcceptList
);
newDate
=
[].
concat
(
acceptList
,
data
.
noAcceptList
);
}
}
// const keyAll = ['end', 'endStr', 'id', 'start', 'startStr'];
// const keyAll = ['end', 'endStr', 'id', 'start', 'startStr'];
...
@@ -284,6 +292,7 @@
...
@@ -284,6 +292,7 @@
dataObj
[
'id'
]
=
id
;
dataObj
[
'id'
]
=
id
;
dataObj
[
'end'
]
=
item
.
endTime
;
dataObj
[
'end'
]
=
item
.
endTime
;
dataObj
[
'start'
]
=
item
.
startTime
;
dataObj
[
'start'
]
=
item
.
startTime
;
console
.
log
(
item
.
type
);
dataObj
[
'type'
]
=
item
.
type
;
dataObj
[
'type'
]
=
item
.
type
;
if
(
item
.
type
==
88
)
{
if
(
item
.
type
==
88
)
{
dataObj
[
'color'
]
=
'#FFEDE9'
;
dataObj
[
'color'
]
=
'#FFEDE9'
;
...
@@ -339,7 +348,9 @@
...
@@ -339,7 +348,9 @@
.
then
((
_
)
=>
{
.
then
((
_
)
=>
{
console
.
log
(
_
);
console
.
log
(
_
);
const
index
=
this
.
getIdDeleteData
(
event
.
event
.
id
);
const
index
=
this
.
getIdDeleteData
(
event
.
event
.
id
);
return
this
.
calendarOptions
.
events
.
splice
(
index
,
1
);
this
.
isDoIt
=
true
;
this
.
calendarOptions
.
events
.
splice
(
index
,
1
);
console
.
log
(
this
.
calendarOptions
.
events
);
})
})
.
catch
((
_
)
=>
{
.
catch
((
_
)
=>
{
console
.
log
(
_
);
console
.
log
(
_
);
...
@@ -411,27 +422,33 @@
...
@@ -411,27 +422,33 @@
return
indexObj
;
return
indexObj
;
},
},
handlePriority
(
index
)
{
handlePriority
(
index
)
{
this
.
isDoIt
=
true
;
this
.
currentIndex
=
index
;
this
.
currentIndex
=
index
;
},
},
resetDoctoreScheduling
()
{
resetDoctoreScheduling
()
{
this
.
handleInitSearch
(
true
);
this
.
handleInitSearch
(
true
);
},
},
saveDoctoreScheduling
(
type
)
{
saveDoctoreScheduling
(
type
,
weekV
=
0
)
{
if
(
this
.
isDoIt
)
{
if
(
this
.
isDoIt
)
{
console
.
log
(
this
.
week
,
'this.week'
,
weekV
);
this
.
loading
=
true
;
this
.
loading
=
true
;
const
objParms
=
{};
const
objParms
=
{};
objParms
.
week
=
this
.
week
;
objParms
.
week
=
weekV
?
weekV
:
this
.
week
;
objParms
.
workId
=
this
.
schedulingTypeValue
.
id
;
objParms
.
workId
=
this
.
schedulingTypeValue
.
id
;
objParms
.
level
=
this
.
currentIndex
;
objParms
.
level
=
this
.
currentIndex
;
objParms
.
list
=
[];
objParms
.
list
=
[];
const
data
=
this
.
calendarOptions
.
events
;
const
data
=
this
.
calendarOptions
.
events
;
console
.
log
(
data
,
'data'
);
data
.
forEach
((
item
)
=>
{
data
.
forEach
((
item
)
=>
{
// if (item.week == this.week) {
console
.
log
(
item
.
week
==
(
weekV
?
weekV
:
this
.
week
));
if
(
item
.
week
==
(
weekV
?
weekV
:
this
.
week
))
{
console
.
log
(
item
.
week
,
this
.
week
,
weekV
,
'this.week'
);
const
obj
=
{};
const
obj
=
{};
obj
.
startTime
=
this
.
dateFormat
(
'YYYY-mm-dd HH:MM:SS'
,
item
.
start
);
obj
.
startTime
=
this
.
dateFormat
(
'YYYY-mm-dd HH:MM:SS'
,
item
.
start
);
obj
.
endTime
=
this
.
dateFormat
(
'YYYY-mm-dd HH:MM:SS'
,
item
.
end
);
obj
.
endTime
=
this
.
dateFormat
(
'YYYY-mm-dd HH:MM:SS'
,
item
.
end
);
console
.
log
(
obj
,
'obj'
);
objParms
.
list
.
push
(
obj
);
objParms
.
list
.
push
(
obj
);
//
}
}
});
});
saveDutyRoster
(
objParms
).
then
((
res
)
=>
{
saveDutyRoster
(
objParms
).
then
((
res
)
=>
{
if
(
res
.
code
===
'000000'
)
{
if
(
res
.
code
===
'000000'
)
{
...
@@ -439,10 +456,10 @@
...
@@ -439,10 +456,10 @@
// this.handleInitSearch(true);
// this.handleInitSearch(true);
// this.$router.go(0);
// this.$router.go(0);
this
.
loading
=
false
;
this
.
loading
=
false
;
if
(
type
==
1
)
{
if
(
type
==
1
)
{
this
.
$message
({
this
.
$message
({
message
:
'排班保存成功'
,
message
:
'排班保存成功'
,
type
:
'success'
,
type
:
'success'
});
});
}
}
this
.
isDoIt
=
false
;
this
.
isDoIt
=
false
;
...
...
src/views/IM/diagnosis-admin/overviewScheduling.vue
浏览文件 @
b88bc1e2
...
@@ -55,8 +55,8 @@
...
@@ -55,8 +55,8 @@
import
{
import
{
getFirstLevelLable
,
getFirstLevelLable
,
childLabelList
,
childLabelList
,
dutyRosterQuery
,
//
dutyRosterQuery,
saveDutyRoster
,
//
saveDutyRoster,
previewWork
,
previewWork
,
}
from
'@/api/serviceSchedule'
;
}
from
'@/api/serviceSchedule'
;
export
default
{
export
default
{
...
@@ -89,23 +89,23 @@
...
@@ -89,23 +89,23 @@
// 引入的插件,比如fullcalendar/daygrid,fullcalendar/timegrid引入后才可显示月,周,日
// 引入的插件,比如fullcalendar/daygrid,fullcalendar/timegrid引入后才可显示月,周,日
plugins
:
[
dayGridPlugin
,
interactionPlugin
,
timeGridPlugin
],
plugins
:
[
dayGridPlugin
,
interactionPlugin
,
timeGridPlugin
],
initialView
:
'timeGrid'
,
// 默认为那个视图(月:dayGridMonth,周:timeGridWeek,日:timeGridDay)
initialView
:
'timeGrid'
,
// 默认为那个视图(月:dayGridMonth,周:timeGridWeek,日:timeGridDay)
duration
:
{
days
:
30
},
duration
:
{
days
:
4
},
selectable
:
tru
e
,
selectable
:
fals
e
,
selectMirror
:
true
,
selectMirror
:
true
,
selectAllow
:
this
.
selectAllow
,
//
selectAllow: this.selectAllow,
selectOverlap
:
false
,
selectOverlap
:
false
,
select
:
this
.
selectInfo
,
//
select: this.selectInfo,
selectMinDistance
:
0
,
selectMinDistance
:
0
,
eventResize
:
this
.
eventResize
,
//
eventResize: this.eventResize,
eventDrop
:
this
.
eventDrop
,
//
eventDrop: this.eventDrop,
editable
:
tru
e
,
editable
:
fals
e
,
overlap
:
false
,
overlap
:
false
,
defaultDate
:
new
Date
(),
defaultDate
:
new
Date
(),
datesSet
:
this
.
handleDatesSet
,
//
datesSet: this.handleDatesSet,
events
:
[],
events
:
[],
slotEventOverlap
:
true
,
slotEventOverlap
:
true
,
header
:
{
header
:
{
center
:
'month,agendaFourDay'
,
// buttons for switching between views
//
center: 'month,agendaFourDay', // buttons for switching between views
},
},
firstDay
:
1
,
// 设置一周中显示的第一天是哪天,周日是0,周一是1,类推
firstDay
:
1
,
// 设置一周中显示的第一天是哪天,周日是0,周一是1,类推
locale
:
'zh-cn'
,
// 切换语言,当前为中文
locale
:
'zh-cn'
,
// 切换语言,当前为中文
...
@@ -123,16 +123,16 @@
...
@@ -123,16 +123,16 @@
text
:
'本周'
,
text
:
'本周'
,
},
},
},
},
dayHeaderContent
:
this
.
aaa
,
dayHeaderContent
:
this
.
getHederList
,
headerToolbar
:
{
//
headerToolbar: {
// 日历头部按钮位置
//
// 日历头部按钮位置
left
:
''
,
//
left: '',
center
:
'prev myCustomButton next'
,
//
center: 'prev myCustomButton next',
right
:
''
,
//
right: '',
},
//
},
expandRows
:
true
,
expandRows
:
true
,
slotMinWidth
:
50
,
slotMinWidth
:
50
,
slotDuration
:
'00:
30
:00'
,
slotDuration
:
'00:
05
:00'
,
slotMinTime
:
'09:00'
,
slotMinTime
:
'09:00'
,
slotMaxTime
:
'21:00'
,
slotMaxTime
:
'21:00'
,
slotLabelInterval
:
''
,
slotLabelInterval
:
''
,
...
@@ -152,67 +152,34 @@
...
@@ -152,67 +152,34 @@
eventLimit
:
4
,
// adjust to 6 only for timeGridWeek/timeGridDay
eventLimit
:
4
,
// adjust to 6 only for timeGridWeek/timeGridDay
},
},
},
},
eventClick
:
this
.
handleEventClick
,
//
eventClick: this.handleEventClick,
},
},
workingTicketVisible
:
false
,
// 工作表票详情页面
workingTicketVisible
:
false
,
// 工作表票详情页面
scrollerHeight
:
0
,
scrollerHeight
:
0
,
loading
:
false
,
loading
:
false
,
// indexArr:[1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7],
doctorList
:
[],
doctorList
:
[
{
doctorId
:
0
,
doctorName
:
'张三'
,
},
{
doctorId
:
0
,
doctorName
:
'张三1'
,
},
{
doctorId
:
0
,
doctorName
:
'张三2'
,
},
{
doctorId
:
0
,
doctorName
:
'张三3'
,
},
{
doctorId
:
0
,
doctorName
:
'张三4'
,
},
{
doctorId
:
0
,
doctorName
:
'张三5'
,
},
{
doctorId
:
0
,
doctorName
:
'张三6'
,
},
{
doctorId
:
0
,
doctorName
:
'张三7'
,
},
{
doctorId
:
0
,
doctorName
:
'张三8'
,
},
{
doctorId
:
0
,
doctorName
:
'张三9'
,
},
],
index
:
0
,
index
:
0
,
};
};
},
},
watch
:
{},
watch
:
{},
created
()
{
created
()
{
this
.
getFirstLevelLable
();
this
.
getFirstLevelLable
();
setTimeout
(()
=>
{
// this.calendarOptions.duration.days = this.doctorList.length;
console
.
log
(
22
);
},
2000
);
},
},
mounted
()
{
mounted
()
{
this
.
init
();
this
.
calendarOptions
.
events
=
[
{
end
:
'2021-10-30 14:30:00'
,
id
:
10
,
start
:
'2021-10-30 11:00:00'
,
color
:
'red'
},
{
end
:
'2021-10-31 14:30:00'
,
id
:
10
,
start
:
'2021-10-31 11:00:00'
,
color
:
'red'
}
];
},
},
methods
:
{
methods
:
{
// 通过监听expand-change事件(当展开节点发生变化时触发)获取第二层数据,组装interfaceOptions数据
// 通过监听expand-change事件(当展开节点发生变化时触发)获取第二层数据,组装interfaceOptions数据
...
@@ -267,9 +234,11 @@
...
@@ -267,9 +234,11 @@
previewWork
({
...
params
}).
then
((
res
)
=>
{
previewWork
({
...
params
}).
then
((
res
)
=>
{
if
(
res
.
code
===
'000000'
)
{
if
(
res
.
code
===
'000000'
)
{
this
.
doctorList
=
res
.
data
.
doctorList
||
[];
this
.
doctorList
=
res
.
data
.
doctorList
||
[];
console
.
log
(
this
.
doctorList
);
// this.calendarOptions.events = res.data.dutyWorkList || [];
this
.
handleInitData
(
res
.
data
.
dutyWorkList
);
this
.
calendarOptions
.
duration
.
days
=
this
.
doctorList
.
length
;
this
.
calendarOptions
.
duration
.
days
=
this
.
doctorList
.
length
;
console
.
log
(
this
.
calendarOptions
.
events
);
console
.
log
();
this
.
handleInitSearch
(
true
);
}
}
});
});
},
},
...
@@ -281,10 +250,10 @@
...
@@ -281,10 +250,10 @@
* jsEvent是个javascript事件
* jsEvent是个javascript事件
* view是当前视图对象。
* view是当前视图对象。
*/
*/
aaa
(
e
)
{
getHederList
(
)
{
console
.
log
(
e
);
console
.
log
(
'1'
,
this
.
index
);
const
italicEl
=
document
.
createElement
(
'i'
);
const
italicEl
=
document
.
createElement
(
'i'
);
if
(
this
.
doctorList
.
length
)
{
if
(
this
.
doctorList
.
length
)
{
italicEl
.
innerHTML
=
this
.
doctorList
[
this
.
index
][
'doctorName'
];
italicEl
.
innerHTML
=
this
.
doctorList
[
this
.
index
][
'doctorName'
];
}
}
if
(
this
.
index
<
this
.
doctorList
.
length
)
{
if
(
this
.
index
<
this
.
doctorList
.
length
)
{
...
@@ -293,241 +262,21 @@
...
@@ -293,241 +262,21 @@
console
.
log
(
italicEl
);
console
.
log
(
italicEl
);
return
{
domNodes
:
[
italicEl
]
};
return
{
domNodes
:
[
italicEl
]
};
},
},
init
()
{
if
(
this
.
schedulingType
==
1
||
this
.
schedulingType
==
2
)
{
this
.
calendarOptions
.
editable
=
true
;
}
else
{
// 查看
this
.
calendarOptions
.
slotDuration
=
'00:05:00'
;
this
.
calendarOptions
.
selectable
=
false
;
this
.
calendarOptions
.
editable
=
false
;
}
this
.
handleInitSearch
();
},
handleInitSearch
(
isReset
)
{
if
(
isReset
)
{
this
.
calendarOptions
.
events
=
[];
}
const
objParms
=
{};
objParms
.
doctorId
=
this
.
doctorId
;
objParms
.
week
=
this
.
week
;
objParms
.
workId
=
this
.
id
;
// this.currentIndex = this.schedulingTypeValue.level;
dutyRosterQuery
(
objParms
).
then
((
res
)
=>
{
if
(
res
.
code
==
'000000'
)
{
this
.
handleInitData
(
res
.
data
);
}
else
{
this
.
$toast
(
res
.
message
);
}
});
},
handleInitData
(
data
)
{
handleInitData
(
data
)
{
var
newDate
=
null
;
var
newDate
=
null
;
if
(
this
.
schedulingType
!=
3
)
{
newDate
=
[].
concat
(
data
);
newDate
=
[].
concat
(
data
.
noAcceptList
);
}
else
{
var
acceptList
=
[];
data
.
acceptList
.
forEach
((
item
)
=>
{
item
.
type
=
88
;
acceptList
.
push
(
item
);
});
newDate
=
[].
concat
(
acceptList
,
data
.
noAcceptList
);
}
// const keyAll = ['end', 'endStr', 'id', 'start', 'startStr'];
newDate
.
forEach
((
item
)
=>
{
newDate
.
forEach
((
item
)
=>
{
const
dataObj
=
{};
const
dataObj
=
{};
const
id
=
(
this
.
calendarOptions
.
events
.
length
+
1
)
*
10
;
const
id
=
(
this
.
calendarOptions
.
events
.
length
+
1
)
*
10
;
dataObj
[
'week'
]
=
this
.
week
;
dataObj
[
'id'
]
=
id
;
dataObj
[
'id'
]
=
id
;
dataObj
[
'doctorName'
]
=
item
.
doctorName
;
dataObj
[
'doctorId'
]
=
item
.
doctorId
;
dataObj
[
'end'
]
=
item
.
endTime
;
dataObj
[
'end'
]
=
item
.
endTime
;
dataObj
[
'start'
]
=
item
.
startTime
;
dataObj
[
'start'
]
=
item
.
startTime
;
console
.
log
(
item
.
type
);
dataObj
[
'color'
]
=
'red'
;
dataObj
[
'type'
]
=
item
.
type
;
if
(
item
.
type
==
88
)
{
dataObj
[
'color'
]
=
'#FFEDE9'
;
}
this
.
calendarOptions
.
events
.
push
(
dataObj
);
this
.
search
();
});
},
handleDatesSet
(
dataInfo
)
{
const
currentTime
=
new
Date
().
getTime
();
const
getTime
=
new
Date
(
dataInfo
.
startStr
).
getTime
();
const
cz
=
currentTime
-
getTime
;
const
oneHour
=
1
*
60
*
60
*
1000
*
24
;
const
timeDifference
=
(
cz
/
oneHour
)
|
0
;
const
headObj
=
this
.
calendarOptions
.
customButtons
.
myCustomButton
;
if
(
timeDifference
>
0
&&
timeDifference
<
7
)
{
// 过去
this
.
week
=
1
;
headObj
.
text
=
'本周'
;
}
else
if
(
timeDifference
<
0
)
{
// 未来
this
.
week
=
3
;
headObj
.
text
=
'下周'
;
}
else
{
// 现在
headObj
.
text
=
'上周'
;
this
.
week
=
2
;
}
},
eventResize
(
event
)
{
const
index
=
this
.
getIdDeleteData
(
event
.
event
.
id
);
const
oldData
=
this
.
calendarOptions
.
events
;
const
keyAll
=
Object
.
keys
(
oldData
[
index
]);
const
dataObj
=
{};
keyAll
.
forEach
((
item
)
=>
{
if
(
item
===
'week'
||
item
===
'type'
)
{
dataObj
[
item
]
=
oldData
[
index
][
item
];
}
else
{
dataObj
[
item
]
=
event
.
event
[
item
];
}
});
oldData
.
splice
(
index
,
1
,
dataObj
);
this
.
getHandleTime
(
dataObj
);
},
handleEventClick
(
event
)
{
if
(
!
this
.
calendarOptions
.
selectable
)
{
return
;
}
this
.
$confirm
(
'你要取消日期吗?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
,
})
.
then
((
_
)
=>
{
console
.
log
(
_
);
const
index
=
this
.
getIdDeleteData
(
event
.
event
.
id
);
return
this
.
calendarOptions
.
events
.
splice
(
index
,
1
);
})
.
catch
((
_
)
=>
{
console
.
log
(
_
);
});
// alert("你要取消日期吗");
},
eventDrop
(
event
)
{
event
.
revert
();
return
;
},
selectInfo
(
info
)
{
const
startDay
=
new
Date
(
info
.
start
).
getDay
();
const
endDay
=
new
Date
(
info
.
end
).
getDay
();
if
(
startDay
!=
endDay
)
{
return
this
.
$toast
(
'不能夸天选择排班'
);
}
const
id
=
(
this
.
calendarOptions
.
events
.
length
+
1
)
*
10
;
info
.
id
=
id
;
const
keyAll
=
[
'end'
,
'endStr'
,
'id'
,
'start'
,
'startStr'
,
'week'
];
const
dataObj
=
{};
keyAll
.
forEach
((
item
)
=>
{
if
(
item
==
'week'
)
{
dataObj
[
item
]
=
this
.
week
;
}
else
{
dataObj
[
item
]
=
info
[
item
];
}
});
this
.
calendarOptions
.
events
.
push
(
dataObj
);
this
.
calendarOptions
.
events
.
push
(
dataObj
);
},
console
.
log
(
this
.
calendarOptions
.
events
,
'this.calendarOptions.events'
);
selectAllow
(
info
)
{
const
startDay
=
new
Date
(
info
.
start
).
getDay
();
const
endDay
=
new
Date
(
info
.
end
).
getDay
();
if
(
startDay
!=
endDay
)
{
return
false
;
}
const
currentDate
=
new
Date
();
const
start
=
info
.
start
;
const
end
=
info
.
end
;
return
start
<=
end
&&
start
>=
currentDate
;
},
getIdDeleteData
(
eventId
)
{
// 删除现有排班
const
data
=
this
.
calendarOptions
.
events
;
const
index
=
data
.
findIndex
((
event
)
=>
event
.
id
==
eventId
);
return
index
;
},
getHandleTime
(
info
)
{
// 对于排班交叉部分处理
const
infoStart
=
new
Date
(
info
.
start
).
getTime
();
const
infoEnd
=
new
Date
(
info
.
end
).
getTime
();
const
data
=
this
.
calendarOptions
.
events
;
const
newDate
=
[];
let
indexObj
=
false
;
data
.
forEach
((
item
)
=>
{
const
d
=
new
Date
(
item
.
end
).
getTime
();
const
s
=
new
Date
(
item
.
start
).
getTime
();
if
(
s
>
infoStart
&&
infoEnd
>=
d
)
{
indexObj
=
true
;
}
else
if
(
s
>
infoStart
&&
infoEnd
>=
s
)
{
indexObj
=
true
;
}
else
{
const
id
=
(
newDate
.
length
+
1
)
*
10
;
item
.
id
=
id
;
newDate
.
push
(
item
);
}
});
this
.
calendarOptions
.
events
=
newDate
;
return
indexObj
;
},
handlePriority
(
index
)
{
this
.
currentIndex
=
index
;
},
resetDoctoreScheduling
()
{
this
.
handleInitSearch
(
true
);
},
saveDoctoreScheduling
()
{
this
.
loading
=
true
;
const
objParms
=
{};
objParms
.
week
=
this
.
week
;
objParms
.
workId
=
this
.
schedulingTypeValue
.
id
;
objParms
.
level
=
this
.
currentIndex
;
objParms
.
list
=
[];
const
data
=
this
.
calendarOptions
.
events
;
data
.
forEach
((
item
)
=>
{
if
(
item
.
week
==
this
.
week
)
{
const
obj
=
{};
obj
.
startTime
=
this
.
dateFormat
(
'YYYY-mm-dd HH:MM:SS'
,
item
.
start
);
obj
.
endTime
=
this
.
dateFormat
(
'YYYY-mm-dd HH:MM:SS'
,
item
.
end
);
objParms
.
list
.
push
(
obj
);
}
});
});
saveDutyRoster
(
objParms
).
then
((
res
)
=>
{
if
(
res
.
code
===
'000000'
)
{
// this.$toast(res.message);
// this.handleInitSearch(true);
// this.$router.go(0);
this
.
loading
=
false
;
this
.
$message
({
message
:
'排班保存成功'
,
type
:
'success'
,
});
}
else
{
// this.$toast(res.message);
this
.
$message
.
error
(
res
.
message
||
'排班保存失败'
);
}
});
},
dateFormat
(
fmt
,
date2
)
{
const
date
=
new
Date
(
date2
);
let
ret
;
const
opt
=
{
'Y+'
:
date
.
getFullYear
().
toString
(),
// 年
'm+'
:
(
date
.
getMonth
()
+
1
).
toString
(),
// 月
'd+'
:
date
.
getDate
().
toString
(),
// 日
'H+'
:
date
.
getHours
().
toString
(),
// 时
'M+'
:
date
.
getMinutes
().
toString
(),
// 分
'S+'
:
date
.
getSeconds
().
toString
()
||
'00'
,
// 秒
// 有其他格式化字符需求可以继续添加,必须转化成字符串
};
for
(
const
k
in
opt
)
{
ret
=
new
RegExp
(
'('
+
k
+
')'
).
exec
(
fmt
);
if
(
ret
)
{
fmt
=
fmt
.
replace
(
ret
[
1
],
ret
[
1
].
length
==
1
?
opt
[
k
]
:
opt
[
k
].
padStart
(
ret
[
1
].
length
,
'0'
)
);
}
}
return
fmt
;
},
},
},
},
};
};
...
...
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录