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
提交
360bdeed
提交
360bdeed
编写于
11月 20, 2021
作者:
xiaoping.di
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'develop' into 'release-new'
Develop See merge request
!214
上级
c3613675
ac3031b8
变更
10
隐藏空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
565 行增加
和
260 行删除
+565
-260
diagnosis.js
src/api/diagnosis.js
+7
-0
diagnosis-doctor.vue
src/components/common/diagnosis-doctor.vue
+24
-143
diagnosis-time.vue
src/components/common/diagnosis-time.vue
+17
-10
matching-doctor.vue
src/components/common/matching-doctor.vue
+97
-10
table-serviceSchedule.vue
src/components/list/table-serviceSchedule.vue
+1
-1
diagnosis-list-new.vue
src/views/IM/diagnosis-admin/diagnosis-list-new.vue
+83
-3
index.scss
src/views/IM/diagnosis-admin/modal/index.scss
+23
-2
newScheduling.vue
src/views/IM/diagnosis-admin/modal/newScheduling.vue
+117
-65
overviewScheduling.vue
src/views/IM/diagnosis-admin/overviewScheduling.vue
+31
-20
serviceSchedule.vue
src/views/IM/diagnosis-admin/serviceSchedule.vue
+165
-6
未找到文件。
src/api/diagnosis.js
浏览文件 @
360bdeed
...
@@ -288,3 +288,10 @@ export const outboundIntention = async (data) => {
...
@@ -288,3 +288,10 @@ export const outboundIntention = async (data) => {
method
:
'post'
,
method
:
'post'
,
});
});
};
};
export
const
departmentAll
=
async
()
=>
{
return
request
({
url
:
'/diagnose/department/all'
,
method
:
'get'
,
});
};
src/components/common/diagnosis-doctor.vue
浏览文件 @
360bdeed
...
@@ -27,7 +27,7 @@
...
@@ -27,7 +27,7 @@
type=
"date"
type=
"date"
:clearable=
"false"
:clearable=
"false"
:disabled=
"formData.receptionName == ''"
:disabled=
"formData.receptionName == ''"
placeholder=
"
日期-请先选择医生
"
placeholder=
"
请选择日期
"
@
change=
"getNowDate"
@
change=
"getNowDate"
/>
/>
</div>
</div>
...
@@ -135,122 +135,6 @@
...
@@ -135,122 +135,6 @@
</div>
</div>
</div>
</div>
</el-dialog>
</el-dialog>
<el-dialog
title=
"问诊开始时间"
:visible
.
sync=
"diagnosisStartTimeDialog"
>
<div
class=
"startTime-wrap"
>
<div
class=
"line-wrap"
>
<div>
<span>
问诊开始时间:
</span>
<div
class=
"date-wrap"
>
<el-date-picker
v-model=
"startTimeValue"
popper-class=
"scale-datepicker"
size=
"large"
type=
"datetime"
placeholder=
"选择日期时间"
@
change=
"startTimeChange"
/>
</div>
</div>
<div
class=
"mt20"
>
<span>
问诊结束时间:
</span>
<div
class=
"date-wrap"
>
{{
dayFormatWithoutSecond
(
endTimeValue
)
}}
</div>
</div>
</div>
<div
class=
"time-wrap"
>
<span>
问诊时长:
</span>
<div
class=
"time-range"
>
<el-radio-group
v-model=
"timeRange"
@
change=
"timeRangeChange"
>
<div>
<el-radio
border
size=
"large"
:label=
"10"
>
10分钟
</el-radio>
</div>
<div
class=
"mt20"
>
<el-radio
border
size=
"medium"
:label=
"15"
>
15分钟
</el-radio>
</div>
<div
class=
"mt20"
>
<el-radio
border
size=
"medium"
:label=
"20"
>
20分钟
</el-radio>
</div>
<div
class=
"mt20"
>
<el-radio
border
size=
"medium"
:label=
"30"
>
30分钟
</el-radio>
</div>
<div
class=
"mt20"
>
<el-radio
border
size=
"medium"
:label=
"1234"
>
自定义时间
</el-radio>
</div>
</el-radio-group>
<div
v-show=
"timeRange == 1234"
>
<el-input-number
v-model=
"selfTimeRange"
class=
"selfTime-input"
type=
"number"
controls-position=
"right"
:min=
"0"
:step=
"1"
:precision=
"0"
/>
<el-button
type=
"primary"
size=
"small"
@
click=
"selfTimeRangeChange"
>
确定
</el-button>
</div>
</div>
</div>
</div>
<div
class=
"startTime-footer"
style=
"text-align: center"
>
<el-button
@
click=
"startTimeConfirm('cancel')"
>
取 消
</el-button>
<el-button
type=
"primary"
:disabled=
"isClick"
@
click=
"startTimeConfirm('submit')"
>
确定
</el-button>
</div>
</el-dialog>
</div>
</div>
</
template
>
</
template
>
...
@@ -346,8 +230,8 @@
...
@@ -346,8 +230,8 @@
timeChoosetList
:
[],
timeChoosetList
:
[],
startTime
:
''
,
startTime
:
''
,
endTime
:
''
,
endTime
:
''
,
todayNum
:
''
,
todayNum
:
0
,
maxTodayNum
:
''
,
maxTodayNum
:
0
,
};
};
},
},
watch
:
{
watch
:
{
...
@@ -367,17 +251,11 @@
...
@@ -367,17 +251,11 @@
},
},
},
},
created
()
{
created
()
{
// this.startTimeValue = this.rangeTimeData;
console
.
log
(
'``````'
,
this
.
formData
);
// if (this.rangeTimeData) {
// this.timeRange = Number(20);
// this.endTimeValue = dayjs(this.rangeTimeData)
// .add(this.timeRange, 'minute')
// .format('YYYY-MM-DD HH:mm:ss');
// }
console
.
log
(
'``````'
,
this
.
rangeTimeData
,
this
.
endTimeValue
);
vm
=
this
;
vm
=
this
;
this
.
getDoctorList
();
this
.
getDoctorList
();
if
(
!
(
this
.
doctorList
||
[]).
some
(
item
=>
{
item
.
doctorId
==
this
.
formData
.
receptionId
;}))
{
this
.
refreshData
();
}
},
},
methods
:
{
methods
:
{
getChooseTimeValue
(
value
,
index
)
{
getChooseTimeValue
(
value
,
index
)
{
...
@@ -436,8 +314,8 @@
...
@@ -436,8 +314,8 @@
if
(
res
.
code
==
'000000'
)
{
if
(
res
.
code
==
'000000'
)
{
vm
.
cancel
();
vm
.
cancel
();
vm
.
$emit
(
'search'
);
vm
.
$emit
(
'search'
);
this
.
todayNum
=
''
;
this
.
todayNum
=
0
;
this
.
maxTodayNum
=
''
;
this
.
maxTodayNum
=
0
;
this
.
rateValue
=
''
;
this
.
rateValue
=
''
;
this
.
chooseTime
=
''
;
this
.
chooseTime
=
''
;
this
.
startTime
=
''
;
this
.
startTime
=
''
;
...
@@ -448,7 +326,8 @@
...
@@ -448,7 +326,8 @@
})
})
.
catch
(
function
(
err
)
{
.
catch
(
function
(
err
)
{
vm
.
isClick
=
false
;
vm
.
isClick
=
false
;
vm
.
$message
.
error
(
err
.
message
);
console
.
log
(
err
);
// vm.$message.error(err.message);
});
});
},
},
refreshData
()
{
refreshData
()
{
...
@@ -462,8 +341,8 @@
...
@@ -462,8 +341,8 @@
// this.startTimeValue = this.rangeTimeData;
// this.startTimeValue = this.rangeTimeData;
// this.endTimeValue = '';
// this.endTimeValue = '';
// this.timeRange = Number(20);
// this.timeRange = Number(20);
this
.
todayNum
=
''
;
this
.
todayNum
=
0
;
this
.
maxTodayNum
=
''
;
this
.
maxTodayNum
=
0
;
this
.
rateValue
=
''
;
this
.
rateValue
=
''
;
this
.
chooseTime
=
''
;
this
.
chooseTime
=
''
;
this
.
timeChoosetList
=
[];
this
.
timeChoosetList
=
[];
...
@@ -494,6 +373,8 @@
...
@@ -494,6 +373,8 @@
this
.
formData
.
doctorMobile
=
selected
.
doctorMobile
;
this
.
formData
.
doctorMobile
=
selected
.
doctorMobile
;
this
.
formData
.
doctorDepartmentId
=
selected
.
doctorDepartmentId
;
this
.
formData
.
doctorDepartmentId
=
selected
.
doctorDepartmentId
;
this
.
acceptsCeilings
(
this
.
formData
.
receptionId
);
this
.
acceptsCeilings
(
this
.
formData
.
receptionId
);
const
nowDate
=
dayjs
(
new
Date
()).
format
(
'YYYY-MM-DD'
);
this
.
getNowDate
(
nowDate
);
// debugger;
// debugger;
// this.formData.serviceFee = this.priceFilter(selected.serviceFee)
// this.formData.serviceFee = this.priceFilter(selected.serviceFee)
}
}
...
@@ -554,8 +435,8 @@
...
@@ -554,8 +435,8 @@
startTimeConfirm
(
isCancle
)
{
startTimeConfirm
(
isCancle
)
{
console
.
log
(
'isCancle-'
,
isCancle
);
console
.
log
(
'isCancle-'
,
isCancle
);
if
(
isCancle
==
'cancel'
)
{
if
(
isCancle
==
'cancel'
)
{
this
.
endTimeValu
e
=
''
;
this
.
startTim
e
=
''
;
this
.
timeRang
e
=
''
;
this
.
endTim
e
=
''
;
}
}
if
(
isCancle
==
'submit'
)
{
if
(
isCancle
==
'submit'
)
{
if
(
String
(
this
.
startTimeValue
).
trim
()
===
''
||
!
this
.
startTimeValue
)
{
if
(
String
(
this
.
startTimeValue
).
trim
()
===
''
||
!
this
.
startTimeValue
)
{
...
@@ -626,7 +507,7 @@
...
@@ -626,7 +507,7 @@
<
style
lang=
"scss"
>
<
style
lang=
"scss"
>
.set-width
{
.set-width
{
width
:
30
0px
;
min-width
:
23
0px
;
}
}
.grey-bg
{
.grey-bg
{
padding
:
0px
15px
;
padding
:
0px
15px
;
...
@@ -669,15 +550,15 @@
...
@@ -669,15 +550,15 @@
width
:
130px
;
width
:
130px
;
}
}
.open-diagnosis-doctor
{
.open-diagnosis-doctor
{
padding
:
10px
40px
40px
4
0px
;
padding
:
10px
20px
40px
3
0px
;
.choose-diagnosis-doctor
{
.choose-diagnosis-doctor
{
.el-select
{
.el-select
{
margin-right
:
30px
;
margin-right
:
30px
;
padding-bottom
:
20px
;
padding-bottom
:
20px
;
.el-input
{
.el-input
{
width
:
300px
;
//
width: 300px;
.el-input__inner
{
.el-input__inner
{
width
:
300px
;
//
width: 300px;
height
:
32px
;
height
:
32px
;
background
:
#ffffff
;
background
:
#ffffff
;
border-radius
:
16px
;
border-radius
:
16px
;
...
@@ -691,7 +572,7 @@
...
@@ -691,7 +572,7 @@
}
}
.el-date-editor
{
.el-date-editor
{
.el-input__inner
{
.el-input__inner
{
width
:
18
0px
;
max-width
:
15
0px
;
height
:
32px
;
height
:
32px
;
background
:
#ffffff
;
background
:
#ffffff
;
border-radius
:
16px
;
border-radius
:
16px
;
...
@@ -859,15 +740,15 @@
...
@@ -859,15 +740,15 @@
}
}
.work-info-botton
{
.work-info-botton
{
.contest
{
.contest
{
width
:
2
00px
;
min-width
:
1
00px
;
border-radius
:
18px
;
border-radius
:
18px
;
}
}
.refresh
{
.refresh
{
width
:
20
0px
;
min-width
:
15
0px
;
border-radius
:
18px
;
border-radius
:
18px
;
}
}
.el-button--default
{
.el-button--default
{
width
:
150px
;
min-
width
:
150px
;
border-radius
:
18px
;
border-radius
:
18px
;
}
}
}
}
...
...
src/components/common/diagnosis-time.vue
浏览文件 @
360bdeed
...
@@ -143,10 +143,12 @@
...
@@ -143,10 +143,12 @@
chooseTimeIndex
:
1000
,
chooseTimeIndex
:
1000
,
pickerOptionsStart
:
{
pickerOptionsStart
:
{
disabledDate
:
(
time
)
=>
{
disabledDate
:
(
time
)
=>
{
const
month
=
28
*
24
*
60
*
60
*
1000
;
// 限定一个日期范围,这里是28天
const
now
=
new
Date
();
const
day
=
now
.
getDay
();
const
oneDayTime
=
24
*
60
*
60
*
1000
;
const
SundayTime
=
((
7
-
day
)
*
oneDayTime
)
+
21
*
24
*
60
*
60
*
1000
;
return
(
return
(
time
.
getTime
()
+
1
*
24
*
60
*
60
*
1000
<
new
Date
()
||
time
.
getTime
()
+
1
*
24
*
60
*
60
*
1000
<
new
Date
()
||
time
.
getTime
()
>
new
Date
().
getTime
()
+
SundayTime
time
.
getTime
()
>
new
Date
().
getTime
()
+
month
);
);
},
},
},
},
...
@@ -177,7 +179,11 @@
...
@@ -177,7 +179,11 @@
this
.
getLeisureTime
(
this
.
chooseTime
);
this
.
getLeisureTime
(
this
.
chooseTime
);
},
},
nextChangeData
()
{
nextChangeData
()
{
const
maxDate
=
dayjs
(
new
Date
()).
add
(
27
,
'day'
).
unix
();
const
now
=
new
Date
();
const
day
=
now
.
getDay
();
const
SundayTime
=
7
-
day
;
console
.
log
(
SundayTime
,
'SundayTime'
);
const
maxDate
=
dayjs
(
new
Date
()).
add
((
SundayTime
+
20
),
'day'
).
unix
();
if
(
dayjs
(
this
.
chooseTime
).
unix
()
>
maxDate
)
{
if
(
dayjs
(
this
.
chooseTime
).
unix
()
>
maxDate
)
{
this
.
$message
({
this
.
$message
({
message
:
'时间不能超过28天'
,
message
:
'时间不能超过28天'
,
...
@@ -192,12 +198,11 @@
...
@@ -192,12 +198,11 @@
this
.
getLeisureTime
(
this
.
chooseTime
);
this
.
getLeisureTime
(
this
.
chooseTime
);
},
},
getChooseTimeValue
(
value
,
index
)
{
getChooseTimeValue
(
value
,
index
)
{
console
.
log
(
value
,
index
);
if
(
value
.
isFull
==
0
)
{
this
.
startDate
=
value
.
startDate
;
this
.
endDate
=
value
.
endDate
;
if
(
value
.
isFull
==
2
)
{
return
;
return
;
}
}
this
.
startDate
=
value
.
startDate
;
this
.
endDate
=
value
.
endDate
;
this
.
chooseTimeIndex
=
index
;
this
.
chooseTimeIndex
=
index
;
},
},
confirm
()
{
confirm
()
{
...
@@ -225,12 +230,14 @@
...
@@ -225,12 +230,14 @@
vm
.
$message
.
error
(
res
.
message
);
vm
.
$message
.
error
(
res
.
message
);
}
}
})
})
.
catch
(
function
(
err
)
{
.
catch
(
function
()
{
vm
.
isClick
=
false
;
vm
.
isClick
=
false
;
vm
.
$message
.
error
(
err
.
message
);
//
vm.$message.error(err.message);
});
});
},
},
cancel
()
{
cancel
()
{
this
.
startTime
=
''
;
this
.
endTime
=
''
;
this
.
rangeTime
=
''
;
this
.
rangeTime
=
''
;
this
.
model
.
assistantRemark
=
''
;
this
.
model
.
assistantRemark
=
''
;
this
.
$emit
(
'update:diagnosisTimeVisible'
,
false
);
this
.
$emit
(
'update:diagnosisTimeVisible'
,
false
);
...
...
src/components/common/matching-doctor.vue
浏览文件 @
360bdeed
...
@@ -21,7 +21,7 @@
...
@@ -21,7 +21,7 @@
class=
"required-label"
class=
"required-label"
prop=
"triageDepartmentId"
prop=
"triageDepartmentId"
>
>
<el-select
<
!--
<
el-select
v-model=
"model.triageDepartmentId"
v-model=
"model.triageDepartmentId"
placeholder=
"请选择分诊科室"
placeholder=
"请选择分诊科室"
clearable
clearable
...
@@ -35,7 +35,31 @@
...
@@ -35,7 +35,31 @@
:label=
"item.name"
:label=
"item.name"
:value=
"item.id"
:value=
"item.id"
/>
/>
</el-select>
</el-select>
-->
<el-cascader
ref=
"cascader"
v-model=
"model.triageDepartmentId"
filterable
clearable
:options=
"allTilst"
placeholder=
"选择科室"
:show-all-levels=
"false"
@
change=
"change"
>
<template
slot-scope=
"
{ data }">
<span
:style=
"
{ fontSize: '15px', color: '#606266' }">
{{
data
.
label
}}
</span>
<span
:style=
"
{
fontSize: '10px',
color: '#606266',
marginLeft: '10px',
opacity: '0.7',
}"
>
{{
data
.
text
}}
</span>
</
template
>
</el-cascader>
</el-form-item>
</el-form-item>
<el-form-item
label=
"备注"
>
<el-form-item
label=
"备注"
>
...
@@ -70,6 +94,7 @@
...
@@ -70,6 +94,7 @@
<
script
>
<
script
>
import
{
updateDiagnosis
,
getDepList
}
from
'../../utils/diagnosis'
;
import
{
updateDiagnosis
,
getDepList
}
from
'../../utils/diagnosis'
;
import
{
departmentAll
}
from
'@/api/diagnosis'
;
let
vm
=
null
;
let
vm
=
null
;
export
default
{
export
default
{
props
:
{
props
:
{
...
@@ -92,6 +117,12 @@
...
@@ -92,6 +117,12 @@
},
},
data
()
{
data
()
{
return
{
return
{
// props: {
// // props定义的值根据接口返回的数据定的
// label: 'departmentId',
// value: 'departmentName',
// children: [],
// },
show
:
false
,
show
:
false
,
title
:
'设置分诊科室'
,
title
:
'设置分诊科室'
,
confirmTxt
:
'确定'
,
confirmTxt
:
'确定'
,
...
@@ -107,6 +138,9 @@
...
@@ -107,6 +138,9 @@
{
required
:
true
,
message
:
'请选择分诊科室'
,
trigger
:
'change'
},
{
required
:
true
,
message
:
'请选择分诊科室'
,
trigger
:
'change'
},
],
],
},
},
allTilst
:
[],
allList
:
{
},
};
};
},
},
watch
:
{
watch
:
{
...
@@ -125,8 +159,63 @@
...
@@ -125,8 +159,63 @@
created
()
{
created
()
{
vm
=
this
;
vm
=
this
;
this
.
getDepList
();
this
.
getDepList
();
this
.
departmentAll
();
},
},
methods
:
{
methods
:
{
departmentAll
()
{
departmentAll
().
then
((
res
)
=>
{
if
(
res
.
code
==
'000000'
)
{
console
.
log
(
res
,
'res111'
);
this
.
allList
=
res
.
data
||
{};
this
.
showListALL
();
}
});
},
getCascaderObj
(
val
,
opt
)
{
return
val
.
map
(
function
(
value
)
{
for
(
var
itm
of
opt
)
{
if
(
itm
.
value
==
value
)
{
opt
=
itm
.
children
;
return
itm
;
}
}
return
null
;
});
},
showListALL
()
{
const
arr
=
[];
const
{
departmentMapList
,
parentDepartmentList
}
=
this
.
allList
;
parentDepartmentList
.
map
((
item
)
=>
{
const
obj
=
{
label
:
item
.
departmentName
,
value
:
item
.
departmentId
,
children
:
[],
};
departmentMapList
.
map
((
info
)
=>
{
if
(
info
.
parentDepartmentId
===
obj
.
value
)
{
const
children
=
[];
info
.
diagnoseDepartmentRespList
.
map
((
detail
)
=>
{
const
secondObj
=
{
label
:
detail
.
departmentName
,
value
:
detail
.
departmentId
,
text
:
''
,
};
let
secondChildren
=
''
;
(
detail
.
departmentDeseaseRespList
||
[]).
map
((
res
)
=>
{
secondChildren
+=
res
.
deseaseName
+
' '
;
});
secondObj
.
text
=
`(
${
secondChildren
}
)`
;
children
.
push
(
secondObj
);
});
obj
.
children
=
children
;
}
});
arr
.
push
(
obj
);
});
console
.
log
(
arr
);
this
.
allTilst
=
arr
;
},
getDepList
()
{
getDepList
()
{
getDepList
()
getDepList
()
.
then
(
function
(
res
)
{
.
then
(
function
(
res
)
{
...
@@ -171,15 +260,13 @@
...
@@ -171,15 +260,13 @@
this
.
model
.
triageDepartmentId
=
''
;
this
.
model
.
triageDepartmentId
=
''
;
this
.
model
.
triageRemark
=
''
;
this
.
model
.
triageRemark
=
''
;
this
.
$emit
(
'update:doctorVisible'
,
false
);
this
.
$emit
(
'update:doctorVisible'
,
false
);
// this.doctorVisible = false;
},
},
change
(
data
)
{
change
()
{
for
(
let
i
=
0
;
i
<
this
.
depList
.
length
;
i
++
)
{
const
checkedNodes
=
this
.
$refs
[
'cascader'
].
getCheckedNodes
();
if
(
data
==
this
.
depList
[
i
].
id
)
{
this
.
model
.
triageDepartmentId
=
checkedNodes
[
0
].
value
;
this
.
model
.
triageDepartment
=
this
.
depList
[
i
].
name
;
this
.
model
.
triageDepartment
=
checkedNodes
[
0
].
label
;
break
;
console
.
log
(
this
.
model
.
triageDepartmentId
,
'model.triageDepartmentId'
);
}
console
.
log
(
this
.
model
.
triageDepartment
,
'model.triageDepartment'
);
}
},
},
},
},
};
};
...
...
src/components/list/table-serviceSchedule.vue
浏览文件 @
360bdeed
...
@@ -92,7 +92,7 @@
...
@@ -92,7 +92,7 @@
sortable
sortable
/>
/>
<el-table-column
<el-table-column
prop=
"
creat
edId"
prop=
"
modifi
edId"
label=
"修改人ID"
label=
"修改人ID"
width=
"170"
width=
"170"
align=
"center"
align=
"center"
...
...
src/views/IM/diagnosis-admin/diagnosis-list-new.vue
浏览文件 @
360bdeed
...
@@ -36,7 +36,7 @@
...
@@ -36,7 +36,7 @@
label=
"分诊科室"
label=
"分诊科室"
class=
"t-b"
class=
"t-b"
>
>
<el-select
<
!--
<
el-select
v-model=
"searchParam.triageDepartmentId"
v-model=
"searchParam.triageDepartmentId"
placeholder=
"请选择科室"
placeholder=
"请选择科室"
style=
"width: 220px"
style=
"width: 220px"
...
@@ -48,7 +48,31 @@
...
@@ -48,7 +48,31 @@
:label=
"item.name"
:label=
"item.name"
:value=
"item.id"
:value=
"item.id"
/>
/>
</el-select>
</el-select>
-->
<el-cascader
ref=
"cascader"
v-model=
"searchParam.triageDepartmentId"
filterable
clearable
:options=
"allTilst"
placeholder=
"选择科室"
:show-all-levels=
"false"
@
change=
"changeDepart"
>
<template
slot-scope=
"
{ data }">
<span
:style=
"
{ fontSize: '15px', color: '#606266' }">
{{
data
.
label
}}
</span>
<span
:style=
"
{
fontSize: '10px',
color: '#606266',
marginLeft: '10px',
opacity: '0.7',
}"
>
{{
data
.
text
}}
</span>
</
template
>
</el-cascader>
</el-form-item>
</el-form-item>
</div>
</div>
<div>
<div>
...
@@ -508,6 +532,7 @@
...
@@ -508,6 +532,7 @@
getDepartments
,
getDepartments
,
diagnoseExport
,
diagnoseExport
,
diagnoseList
,
diagnoseList
,
departmentAll
}
from
'@/api/diagnosis'
;
}
from
'@/api/diagnosis'
;
import
MatchComponent
from
'@/components/common/match'
;
import
MatchComponent
from
'@/components/common/match'
;
...
@@ -632,6 +657,8 @@
...
@@ -632,6 +657,8 @@
userNamePhone
:
''
,
userNamePhone
:
''
,
triageDepartment
:
''
,
triageDepartment
:
''
,
departmentId
:
''
,
departmentId
:
''
,
allTilst
:
[],
allList
:
{}
};
};
},
},
watch
:
{
watch
:
{
...
@@ -649,16 +676,69 @@
...
@@ -649,16 +676,69 @@
},
},
created
()
{
created
()
{
vm
=
this
;
vm
=
this
;
this
.
getDep
();
//
this.getDep();
},
},
mounted
()
{
mounted
()
{
this
.
setTableHeight
();
this
.
setTableHeight
();
this
.
getOutboundNote
();
this
.
getOutboundNote
();
this
.
departmentAll
();
},
},
destroyed
()
{
destroyed
()
{
clearInterval
(
this
.
timer
);
clearInterval
(
this
.
timer
);
},
},
methods
:
{
methods
:
{
departmentAll
()
{
departmentAll
().
then
((
res
)
=>
{
if
(
res
.
code
==
'000000'
)
{
console
.
log
(
res
,
'res111'
);
this
.
allList
=
res
.
data
||
{};
this
.
showListALL
();
}
});
},
showListALL
()
{
const
arr
=
[];
const
{
departmentMapList
,
parentDepartmentList
}
=
this
.
allList
;
parentDepartmentList
.
map
((
item
)
=>
{
const
obj
=
{
label
:
item
.
departmentName
,
value
:
item
.
departmentId
,
children
:
[],
};
departmentMapList
.
map
((
info
)
=>
{
if
(
info
.
parentDepartmentId
===
obj
.
value
)
{
const
children
=
[];
info
.
diagnoseDepartmentRespList
.
map
((
detail
)
=>
{
const
secondObj
=
{
label
:
detail
.
departmentName
,
value
:
detail
.
departmentId
,
text
:
''
,
};
let
secondChildren
=
''
;
(
detail
.
departmentDeseaseRespList
||
[]).
map
((
res
)
=>
{
secondChildren
+=
res
.
deseaseName
+
' '
;
});
secondObj
.
text
=
`(
${
secondChildren
}
)`
;
children
.
push
(
secondObj
);
});
obj
.
children
=
children
;
}
});
arr
.
push
(
obj
);
});
console
.
log
(
arr
);
this
.
allTilst
=
arr
;
},
changeDepart
()
{
const
checkedNodes
=
this
.
$refs
[
'cascader'
].
getCheckedNodes
();
if
(
checkedNodes
.
length
>
0
)
{
this
.
searchParam
.
triageDepartmentId
=
checkedNodes
[
0
].
value
;
}
else
{
this
.
searchParam
.
triageDepartmentId
=
''
;
}
console
.
log
(
this
.
searchParam
.
triageDepartmentId
,
'this.searchParam.triageDepartmentId'
);
},
changeStartTime
(
time
)
{
changeStartTime
(
time
)
{
this
.
rangeTimeData
=
time
this
.
rangeTimeData
=
time
?
time
.
time
?
time
.
time
...
...
src/views/IM/diagnosis-admin/modal/index.scss
浏览文件 @
360bdeed
...
@@ -117,6 +117,7 @@
...
@@ -117,6 +117,7 @@
}
}
.show-work-set
{
.show-work-set
{
margin-top
:
100px
;
margin-top
:
100px
;
padding
:
10px
;
}
}
.agment-left-con
{
.agment-left-con
{
padding
:
15px
;
padding
:
15px
;
...
@@ -124,8 +125,14 @@
...
@@ -124,8 +125,14 @@
background
:
#f2f2f2
;
background
:
#f2f2f2
;
border-radius
:
12px
;
border-radius
:
12px
;
}
}
.maxNum-first-show
{
padding
:
20px
15px
5px
15px
;
.show-sep-num
{
color
:
red
;
}
}
.reset-doctor-schedu
{
.reset-doctor-schedu
{
padding
:
3
0px
15px
5px
15px
;
padding
:
1
0px
15px
5px
15px
;
text-align
:
center
;
text-align
:
center
;
.copy-submit
{
.copy-submit
{
background
:
#fff
;
background
:
#fff
;
...
@@ -306,7 +313,7 @@
...
@@ -306,7 +313,7 @@
}
}
@media
screen
and
(
min-width
:
1000px
)
and
(
max-width
:
1300px
)
{
@media
screen
and
(
min-width
:
1000px
)
and
(
max-width
:
1300px
)
{
/
deep
/
.fc-header-toolbar
{
/
deep
/
.fc-header-toolbar
{
right
:
6
%
;
right
:
3
%
;
}
}
.ag-left1
{
.ag-left1
{
width
:
12%
!
important
;
width
:
12%
!
important
;
...
@@ -332,3 +339,17 @@
...
@@ -332,3 +339,17 @@
word-wrap
:
break-word
;
word-wrap
:
break-word
;
white-space
:
normal
;
white-space
:
normal
;
}
}
/
deep
/
.fc-col-header-cell-cushion
{
background
:
#fff
;
border
:
1px
solid
#0d9078
;
color
:
#0d9078
;
border-radius
:
20px
;
height
:
30px
;
line-height
:
25px
;
font-size
:
14px
;
margin
:
10px
0
;
text-decoration
:
none
;
}
/
deep
/
a
:hover
{
text-decoration
:
none
;
}
src/views/IM/diagnosis-admin/modal/newScheduling.vue
浏览文件 @
360bdeed
...
@@ -50,6 +50,14 @@
...
@@ -50,6 +50,14 @@
<span>
{{
this
.
schedulingTypeValue
.
departmentName
}}
</span>
<span>
{{
this
.
schedulingTypeValue
.
departmentName
}}
</span>
</div>
</div>
</div>
</div>
<div
class=
"maxNum-first-show"
>
<span>
每小时接诊上限人数:
<span
:class=
"showMaxNum
<
=
0
?
'
show-sep-num
'
:
''"
>
{{
showMaxNum
>
0
?
showMaxNum
:
0
}}
</span>
</span>
<p>
优先级:
{{
showFirNum
}}
</p>
</div>
<div
<div
v-if=
"this.schedulingType != 3"
v-if=
"this.schedulingType != 3"
class=
"reset-doctor-schedu"
class=
"reset-doctor-schedu"
...
@@ -123,7 +131,7 @@
...
@@ -123,7 +131,7 @@
<div
class=
"num-input-show"
>
<div
class=
"num-input-show"
>
<el-input-number
<el-input-number
v-model=
"maxNumValue"
v-model=
"maxNumValue"
:min=
"
1
0"
:min=
"0"
:max=
"20"
:max=
"20"
@
change=
"getMaxNumValue"
@
change=
"getMaxNumValue"
/>
/>
...
@@ -175,6 +183,7 @@
...
@@ -175,6 +183,7 @@
week
:
1
,
// 1:当前周 2:上一周 3:下一周
week
:
1
,
// 1:当前周 2:上一周 3:下一周
currentIndex
:
3
,
currentIndex
:
3
,
haveWeek
:
[
1
],
haveWeek
:
[
1
],
businessHours
:
true
,
calendarOptions
:
{
calendarOptions
:
{
// 引入的插件,比如fullcalendar/daygrid,fullcalendar/timegrid引入后才可显示月,周,日
// 引入的插件,比如fullcalendar/daygrid,fullcalendar/timegrid引入后才可显示月,周,日
plugins
:
[
dayGridPlugin
,
interactionPlugin
,
timeGridPlugin
],
plugins
:
[
dayGridPlugin
,
interactionPlugin
,
timeGridPlugin
],
...
@@ -186,6 +195,10 @@
...
@@ -186,6 +195,10 @@
select
:
this
.
selectInfo
,
select
:
this
.
selectInfo
,
selectMinDistance
:
0
,
selectMinDistance
:
0
,
eventResize
:
this
.
eventResize
,
eventResize
:
this
.
eventResize
,
eventOverlap
:
false
,
navLinks
:
true
,
navLinkDayClick
:
this
.
navLinkDayClick
,
// eventDurationEditable:false,
eventDrop
:
this
.
eventDrop
,
eventDrop
:
this
.
eventDrop
,
editable
:
true
,
editable
:
true
,
overlap
:
false
,
overlap
:
false
,
...
@@ -250,6 +263,8 @@
...
@@ -250,6 +263,8 @@
copyArr
:
[],
copyArr
:
[],
centerDialogVisible
:
false
,
centerDialogVisible
:
false
,
maxNumValue
:
''
,
maxNumValue
:
''
,
showFirNum
:
''
,
showMaxNum
:
''
,
};
};
},
},
computed
:
{},
computed
:
{},
...
@@ -303,7 +318,7 @@
...
@@ -303,7 +318,7 @@
this
.
calendarOptions
.
editable
=
true
;
this
.
calendarOptions
.
editable
=
true
;
}
else
{
}
else
{
// 查看
// 查看
this
.
calendarOptions
.
slotDuration
=
'0
0:05
:00'
;
this
.
calendarOptions
.
slotDuration
=
'0
1:00
:00'
;
this
.
calendarOptions
.
selectable
=
false
;
this
.
calendarOptions
.
selectable
=
false
;
this
.
calendarOptions
.
editable
=
false
;
this
.
calendarOptions
.
editable
=
false
;
}
}
...
@@ -319,9 +334,55 @@
...
@@ -319,9 +334,55 @@
console
.
log
(
res
,
'res'
);
console
.
log
(
res
,
'res'
);
this
.
currentIndex
=
res
.
data
.
level
;
this
.
currentIndex
=
res
.
data
.
level
;
this
.
maxNumValue
=
res
.
data
.
preNum
;
this
.
maxNumValue
=
res
.
data
.
preNum
;
(
this
.
showFirNum
=
res
.
data
.
level
),
(
this
.
showMaxNum
=
res
.
data
.
preNum
);
}
}
});
});
},
},
navLinkDayClick
(
date
)
{
const
day
=
dayjs
(
date
).
day
();
const
dayDate
=
dayjs
(
date
).
date
();
const
dayFormat
=
dayjs
(
date
).
format
(
'YYYY-MM-DD'
);
let
selectDate
=
dayFormat
+
' '
+
'09:00:00'
;
selectDate
=
dayjs
(
selectDate
).
unix
();
const
nowDate
=
dayjs
(
new
Date
()).
unix
();
let
isAddAllDay
=
true
;
const
data
=
this
.
calendarOptions
.
events
;
const
len
=
data
.
length
;
const
cz
=
((
nowDate
-
selectDate
)
/
3600
)
|
0
;
if
(
cz
>
0
&&
cz
>=
24
)
{
return
this
.
$message
.
info
(
'你不能添加过去的时间的排班'
);
}
for
(
var
i
=
0
;
i
<
len
;
i
++
)
{
const
itemDay
=
dayjs
(
data
[
i
].
start
).
day
();
if
(
!
data
[
i
].
constraint
&&
day
===
itemDay
)
{
data
[
i
].
allStatus
&&
(
isAddAllDay
=
false
);
const
index
=
this
.
getIdDeleteData
(
data
[
i
].
id
);
this
.
isDoIt
=
true
;
this
.
calendarOptions
.
events
.
splice
(
index
,
1
);
i
--
;
}
}
if
(
isAddAllDay
)
{
// 添加日期
const
list
=
[
{
startTime
:
'09:00:00'
,
endTime
:
'12:00:00'
},
{
startTime
:
'13:00:00'
,
endTime
:
'17:00:00'
},
{
startTime
:
'18:00:00'
,
endTime
:
'21:00:00'
},
];
list
.
forEach
((
item
)
=>
{
const
obj
=
{};
obj
.
id
=
dayDate
+
(
this
.
calendarOptions
.
events
.
length
+
1
)
*
10
;
obj
.
week
=
this
.
week
;
obj
.
end
=
dayFormat
+
' '
+
item
.
endTime
;
obj
.
start
=
dayFormat
+
' '
+
item
.
startTime
;
obj
.
allStatus
=
true
;
console
.
log
(
obj
);
this
.
calendarOptions
.
events
.
push
(
obj
);
});
this
.
isDoIt
=
true
;
}
},
getCopyData
(
data
)
{
getCopyData
(
data
)
{
const
copyList
=
[];
const
copyList
=
[];
const
addDay
=
7
;
const
addDay
=
7
;
...
@@ -404,17 +465,43 @@
...
@@ -404,17 +465,43 @@
}
}
this
.
calendarOptions
.
events
.
push
(
dataObj
);
this
.
calendarOptions
.
events
.
push
(
dataObj
);
});
});
this
.
limmitDateFun
();
},
limmitDateFun
()
{
const
list
=
[];
for
(
let
i
=
0
;
i
<
7
;
i
++
)
{
const
obj
=
{};
const
lastObj
=
{};
const
day
=
dayjs
(
this
.
getEveryDay
)
.
add
(
i
,
'day'
)
.
format
(
'YYYY-MM-DD HH:mm:ss'
);
obj
.
start
=
dayjs
(
day
).
add
(
12
,
'hour'
).
format
(
'YYYY-MM-DD HH:mm:ss'
);
obj
.
end
=
dayjs
(
day
).
add
(
13
,
'hour'
).
format
(
'YYYY-MM-DD HH:mm:ss'
);
lastObj
.
start
=
dayjs
(
day
)
.
add
(
17
,
'hour'
)
.
format
(
'YYYY-MM-DD HH:mm:ss'
);
lastObj
.
end
=
dayjs
(
day
).
add
(
18
,
'hour'
).
format
(
'YYYY-MM-DD HH:mm:ss'
);
obj
.
constraint
=
'businessHours'
;
obj
.
color
=
'#ccc'
;
obj
.
display
=
'background'
;
obj
.
editable
=
false
;
lastObj
.
constraint
=
'businessHours'
;
lastObj
.
color
=
'#ccc'
;
lastObj
.
display
=
'background'
;
lastObj
.
editable
=
false
;
this
.
calendarOptions
.
events
.
push
(
obj
);
this
.
calendarOptions
.
events
.
push
(
lastObj
);
}
console
.
log
(
list
,
'obj'
,
this
.
getEveryDay
);
},
},
handleDatesSet
(
dataInfo
)
{
handleDatesSet
(
dataInfo
)
{
this
.
getEveryDay
=
dayjs
(
dataInfo
.
start
Str
).
format
(
'YYYY-MM-DD HH:mm:ss'
);
this
.
getEveryDay
=
dayjs
(
dataInfo
.
start
).
format
(
'YYYY-MM-DD HH:mm:ss'
);
const
currentTime
=
new
Date
().
getTime
();
// 今天的时间戳
const
currentTime
=
new
Date
().
getTime
();
// 今天的时间戳
const
getTime
=
new
Date
(
dataInfo
.
start
Str
).
getTime
();
// 每周周一的时间戳
const
getTime
=
new
Date
(
dataInfo
.
start
).
getTime
();
// 每周周一的时间戳
const
cz
=
currentTime
-
getTime
;
// 每周周一时间戳 - 今天的时间
const
cz
=
currentTime
-
getTime
;
// 每周周一时间戳 - 今天的时间
const
oneHour
=
1
*
60
*
60
*
1000
*
24
;
// 一天的时间戳
const
oneHour
=
1
*
60
*
60
*
1000
*
24
;
// 一天的时间戳
const
timeDifference
=
(
cz
/
oneHour
)
|
0
;
// 每周一时间距离今天时间数量
const
timeDifference
=
(
cz
/
oneHour
)
|
0
;
// 每周一时间距离今天时间数量
const
headObj
=
this
.
calendarOptions
.
customButtons
.
myCustomButton
;
const
headObj
=
this
.
calendarOptions
.
customButtons
.
myCustomButton
;
console
.
log
(
timeDifference
,
'timeDifference'
,
cz
/
oneHour
);
// debugger;
const
czCorrert
=
cz
/
oneHour
;
const
czCorrert
=
cz
/
oneHour
;
if
(
timeDifference
==
0
&&
czCorrert
>
0
)
{
if
(
timeDifference
==
0
&&
czCorrert
>
0
)
{
this
.
week
=
1
;
this
.
week
=
1
;
...
@@ -432,11 +519,11 @@
...
@@ -432,11 +519,11 @@
}
else
if
(
timeDifference
>=
-
13
&&
timeDifference
<=
-
7
)
{
}
else
if
(
timeDifference
>=
-
13
&&
timeDifference
<=
-
7
)
{
// 未来
// 未来
this
.
week
=
4
;
this
.
week
=
4
;
headObj
.
text
=
'第
二周
'
;
headObj
.
text
=
'第
三周
'
;
}
else
if
(
timeDifference
>=
-
20
&&
timeDifference
<=
-
14
)
{
}
else
if
(
timeDifference
>=
-
20
&&
timeDifference
<=
-
14
)
{
// 未来
// 未来
this
.
week
=
5
;
this
.
week
=
5
;
headObj
.
text
=
'第
三
周'
;
headObj
.
text
=
'第
四
周'
;
}
else
if
(
timeDifference
>=
7
)
{
}
else
if
(
timeDifference
>=
7
)
{
// 现在
// 现在
headObj
.
text
=
'上周'
;
headObj
.
text
=
'上周'
;
...
@@ -459,9 +546,10 @@
...
@@ -459,9 +546,10 @@
this
.
getHandleTime
(
dataObj
);
this
.
getHandleTime
(
dataObj
);
},
},
handleEventClick
(
event
)
{
handleEventClick
(
event
)
{
if
(
!
this
.
calendarOptions
.
selectable
)
{
if
(
!
this
.
calendarOptions
.
selectable
||
event
.
event
.
constraint
)
{
return
;
return
;
}
}
console
.
log
(
event
,
event
,
'iiiieventeventevent'
);
this
.
$confirm
(
'你要取消日期吗?'
,
'提示'
,
{
this
.
$confirm
(
'你要取消日期吗?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
cancelButtonText
:
'取消'
,
...
@@ -488,12 +576,6 @@
...
@@ -488,12 +576,6 @@
},
},
// 提交优先级和人数
// 提交优先级和人数
submitSetData
()
{
submitSetData
()
{
if
(
this
.
maxNumValue
==
''
)
{
return
this
.
$message
({
message
:
'请设置每小时接诊上限人数'
,
type
:
'warning'
,
});
}
const
params
=
{
const
params
=
{
doctorId
:
this
.
doctorId
,
doctorId
:
this
.
doctorId
,
level
:
this
.
currentIndex
,
level
:
this
.
currentIndex
,
...
@@ -507,43 +589,14 @@
...
@@ -507,43 +589,14 @@
type
:
'success'
,
type
:
'success'
,
});
});
this
.
centerDialogVisible
=
false
;
this
.
centerDialogVisible
=
false
;
this
.
getLevelAndDayCount
();
}
}
});
});
},
},
selectInfo
(
info
)
{
selectInfo
(
info
)
{
console
.
log
(
info
,
'infoinfoinfo'
);
console
.
log
(
info
,
'infoinfoinfo'
);
const
startDay
=
new
Date
(
info
.
start
).
getDay
();
const
day
=
dayjs
(
info
.
start
).
date
();
const
endDay
=
new
Date
(
info
.
end
).
getDay
();
const
id
=
day
+
(
this
.
calendarOptions
.
events
.
length
+
1
)
*
10
;
// const chooseStartH = new Date(info.start).getHours();
// const chooseEndH = new Date(info.end).getHours();
// // const startH = 9;
// const middleH = 12;
// // const middleEH = 18;
// const endH = 21;
// const timeList = [];
// const timeObj = {};
// if (chooseStartH
<
middleH
&&
chooseEndH
>=
endH
)
{
// console.log(chooseStartH, chooseEndH, 'endDayendDayendDayendDay1111');
// timeList.push(
// {
// start:'2021-11-25 09:00:00',
// end:'2021-11-25 12:00:00'
// },
// {
// start:'2021-11-25 13:00:00',
// end:'2021-11-25 17:00:00'
// },
// {
// start:'2021-11-25 18:00:00',
// end:'2021-11-25 21:00:00'
// }
// );
// }
// this.calendarOptions.events = timeList;
if
(
startDay
!=
endDay
)
{
return
this
.
$toast
(
'不能夸天选择排班'
);
}
const
id
=
(
this
.
calendarOptions
.
events
.
length
+
1
)
*
10
;
info
.
id
=
id
;
info
.
id
=
id
;
const
keyAll
=
[
'end'
,
'endStr'
,
'id'
,
'start'
,
'startStr'
,
'week'
];
const
keyAll
=
[
'end'
,
'endStr'
,
'id'
,
'start'
,
'startStr'
,
'week'
];
const
dataObj
=
{};
const
dataObj
=
{};
...
@@ -554,30 +607,26 @@
...
@@ -554,30 +607,26 @@
dataObj
[
item
]
=
info
[
item
];
dataObj
[
item
]
=
info
[
item
];
}
}
});
});
console
.
log
(
dataObj
,
'dataObjdataObj'
);
console
.
log
(
dataObj
,
'dataObjdataObj'
);
this
.
calendarOptions
.
events
.
push
(
dataObj
);
this
.
calendarOptions
.
events
.
push
(
dataObj
);
// this.calendarOptions.events.forEach(item=>{
// if(!item.constraint){
// console.log(item.id);
// }
// });
},
},
selectAllow
(
info
)
{
selectAllow
(
info
)
{
this
.
isDoIt
=
true
;
this
.
isDoIt
=
true
;
const
startDay
=
new
Date
(
info
.
start
).
getDay
();
const
startDay
=
new
Date
(
info
.
start
).
getDay
();
const
endDay
=
new
Date
(
info
.
end
).
getDay
();
const
endDay
=
new
Date
(
info
.
end
).
getDay
();
const
startHour
=
dayjs
(
info
.
start
).
hour
();
const
startHour
=
dayjs
(
info
.
start
).
hour
();
const
endHour
=
dayjs
(
info
.
end
).
hour
();
console
.
log
(
dayjs
(
info
.
start
).
format
(
'YYYY-MM-DD HH:mm:ss'
));
console
.
log
(
dayjs
(
info
.
start
).
format
(
'YYYY-MM-DD HH:mm:ss'
));
if
(
startDay
!=
endDay
)
{
if
(
startDay
!=
endDay
)
{
return
false
;
return
false
;
}
}
if
(
startHour
==
12
||
startHour
==
17
)
{
// if (dayjs(info.start).format('YYYY-MM-DD HH:mm:ss').split(' ')[1] == '12:00:00' || dayjs(info.start).format('YYYY-MM-DD HH:mm:ss').split(' ')[1] == '17:00:00') {
// return false;
// }
if
(
startHour
<=
12
&&
endHour
<=
21
)
{
return
false
;
}
else
if
(
startHour
>=
12
&&
endHour
<=
21
)
{
return
false
;
return
false
;
}
}
const
currentDate
=
new
Date
();
const
currentDate
=
new
Date
();
const
start
=
info
.
start
;
const
start
=
info
.
start
;
const
end
=
info
.
end
;
const
end
=
info
.
end
;
...
@@ -628,12 +677,11 @@
...
@@ -628,12 +677,11 @@
const
objParms
=
{};
const
objParms
=
{};
objParms
.
week
=
weekV
?
weekV
:
this
.
week
;
objParms
.
week
=
weekV
?
weekV
:
this
.
week
;
objParms
.
workId
=
this
.
schedulingTypeValue
.
id
;
objParms
.
workId
=
this
.
schedulingTypeValue
.
id
;
// objParms.list = [];
const
lastData
=
[];
const
lastData
=
[];
const
data
=
this
.
calendarOptions
.
events
;
const
data
=
this
.
calendarOptions
.
events
;
console
.
log
(
'data======='
,
data
);
console
.
log
(
'data======='
,
data
);
data
.
forEach
((
item
)
=>
{
data
.
forEach
((
item
)
=>
{
if
(
item
.
week
==
(
weekV
?
weekV
:
this
.
week
))
{
if
(
item
.
week
==
(
weekV
?
weekV
:
this
.
week
)
&&
!
item
.
constraint
)
{
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
);
...
@@ -650,18 +698,22 @@
...
@@ -650,18 +698,22 @@
saveDutyRoster
(
objParms
).
then
((
res
)
=>
{
saveDutyRoster
(
objParms
).
then
((
res
)
=>
{
if
(
res
.
code
===
'000000'
)
{
if
(
res
.
code
===
'000000'
)
{
this
.
loading
=
false
;
this
.
loading
=
false
;
if
(
type
==
1
)
{
this
.
$message
({
this
.
$message
({
message
:
'排班保存成功'
,
message
:
'排班保存成功'
,
type
:
'success'
,
type
:
'success'
,
});
});
}
this
.
isDoIt
=
false
;
this
.
isDoIt
=
false
;
this
.
handleInitSearch
(
true
);
this
.
handleInitSearch
(
true
);
}
else
{
}
else
{
this
.
$message
.
error
(
res
.
message
||
'排班保存失败'
);
this
.
$message
.
error
(
res
.
message
||
'排班保存失败'
);
}
}
});
});
if
(
!
this
.
maxNumValue
&&
this
.
maxNumValue
!=
0
)
{
return
this
.
$message
({
message
:
'请设置优先级和接诊上限设置'
,
type
:
'warning'
,
});
}
}
}
},
},
dateFormat
(
fmt
,
date2
)
{
dateFormat
(
fmt
,
date2
)
{
...
...
src/views/IM/diagnosis-admin/overviewScheduling.vue
浏览文件 @
360bdeed
...
@@ -48,8 +48,8 @@
...
@@ -48,8 +48,8 @@
<el-input-number
<el-input-number
v-model=
"maxDiaNum"
v-model=
"maxDiaNum"
:step=
"1"
:step=
"1"
:min=
"
1
0"
:min=
"0"
:max=
"1000000"
:max=
"1000000
0
"
step-strictly
step-strictly
@
change=
"getInputNumber"
@
change=
"getInputNumber"
/>
/>
...
@@ -100,7 +100,7 @@
...
@@ -100,7 +100,7 @@
},
},
data
()
{
data
()
{
return
{
return
{
maxDiaNum
:
10
0
,
maxDiaNum
:
10
,
dateTime
:
''
,
dateTime
:
''
,
interfaceOptions
:
[],
interfaceOptions
:
[],
innerform
:
[],
innerform
:
[],
...
@@ -129,7 +129,7 @@
...
@@ -129,7 +129,7 @@
],
],
// timeZone: 'UTC',
// timeZone: 'UTC',
locale
:
'zh-cn'
,
locale
:
'zh-cn'
,
aspectRatio
:
4.5
,
// 设置日历单元格宽度与高度的比例。
aspectRatio
:
2.8
,
// 设置日历单元格宽度与高度的比例。
schedulerLicenseKey
:
'CC-Attribution-NonCommercial-NoDerivatives'
,
schedulerLicenseKey
:
'CC-Attribution-NonCommercial-NoDerivatives'
,
initialView
:
'resourceTimeGridDay'
,
initialView
:
'resourceTimeGridDay'
,
resources
:
[],
resources
:
[],
...
@@ -151,6 +151,7 @@
...
@@ -151,6 +151,7 @@
meridiem
:
'short'
,
meridiem
:
'short'
,
hour12
:
false
,
// 设置时间为24小时
hour12
:
false
,
// 设置时间为24小时
},
},
expandRows
:
true
,
},
},
workingTicketVisible
:
false
,
// 工作表票详情页面
workingTicketVisible
:
false
,
// 工作表票详情页面
scrollerHeight
:
0
,
scrollerHeight
:
0
,
...
@@ -182,6 +183,10 @@
...
@@ -182,6 +183,10 @@
};
};
setPlatformUpper
(
params
).
then
((
res
)
=>
{
setPlatformUpper
(
params
).
then
((
res
)
=>
{
if
(
res
.
code
===
'000000'
)
{
if
(
res
.
code
===
'000000'
)
{
this
.
$message
({
message
:
'保存成功'
,
type
:
'success'
,
});
this
.
getPlatformUpper
();
this
.
getPlatformUpper
();
}
}
});
});
...
@@ -244,7 +249,7 @@
...
@@ -244,7 +249,7 @@
departmentId
:
this
.
departmentId
,
departmentId
:
this
.
departmentId
,
};
};
previewWork
({
...
params
}).
then
((
res
)
=>
{
previewWork
({
...
params
}).
then
((
res
)
=>
{
if
(
res
.
code
===
'000000'
)
{
if
(
res
.
code
===
'000000'
&&
res
.
data
)
{
this
.
calendarOptions
.
resources
=
(
res
.
data
.
doctorList
||
[]).
map
(
this
.
calendarOptions
.
resources
=
(
res
.
data
.
doctorList
||
[]).
map
(
(
item
)
=>
{
(
item
)
=>
{
return
{
return
{
...
@@ -253,7 +258,7 @@
...
@@ -253,7 +258,7 @@
};
};
}
}
);
);
const
dutyRosterPreList
=
res
.
data
.
dutyRosterPreList
.
map
(
const
dutyRosterPreList
=
(
res
.
data
.
dutyRosterPreList
||
[])
.
map
(
(
item
,
index
)
=>
{
(
item
,
index
)
=>
{
return
{
return
{
id
:
index
,
id
:
index
,
...
@@ -264,21 +269,24 @@
...
@@ -264,21 +269,24 @@
};
};
}
}
);
);
const
dutyWorkList
=
res
.
data
.
dutyWorkList
.
map
((
item
,
index
)
=>
{
const
dutyWorkList
=
(
res
.
data
.
dutyWorkList
||
[]).
map
(
return
{
(
item
,
index
)
=>
{
id
:
index
,
return
{
resourceId
:
item
.
doctorId
,
id
:
index
,
end
:
item
.
endTime
,
resourceId
:
item
.
doctorId
,
start
:
item
.
startTime
,
end
:
item
.
endTime
,
color
:
'#E7F4F5'
,
start
:
item
.
startTime
,
};
color
:
'#E7F4F5'
,
});
};
// this.getWidth = this.$refs.agmentSelect.scrollWidth + 'px';
}
// this.getWidth = 3000 + 'px';
this
.
calendarOptions
.
events
=
[].
concat
(
dutyRosterPreList
,
dutyWorkList
);
);
if
(
res
.
data
)
{
this
.
calendarOptions
.
events
=
[].
concat
(
dutyRosterPreList
,
dutyWorkList
);
}
const
calendarApi
=
this
.
$refs
.
fullCalendar
.
getApi
();
const
calendarApi
=
this
.
$refs
.
fullCalendar
.
getApi
();
this
.
getWidth
=
`
${
this
.
getWidth
=
`
${
(
this
.
calendarOptions
.
resources
.
length
+
1
)
*
150
(
this
.
calendarOptions
.
resources
.
length
+
1
)
*
150
...
@@ -290,6 +298,9 @@
...
@@ -290,6 +298,9 @@
console
.
log
(
this
.
calendarOptions
.
resources
);
console
.
log
(
this
.
calendarOptions
.
resources
);
console
.
log
(
this
.
calendarOptions
.
events
);
console
.
log
(
this
.
calendarOptions
.
events
);
}
else
{
this
.
calendarOptions
.
events
=
[];
this
.
calendarOptions
.
resources
=
[];
}
}
});
});
},
},
...
...
src/views/IM/diagnosis-admin/serviceSchedule.vue
浏览文件 @
360bdeed
...
@@ -25,6 +25,31 @@
...
@@ -25,6 +25,31 @@
@
expand-change=
"handleItemChange"
@
expand-change=
"handleItemChange"
@
change=
"selectApi($event, innerform)"
@
change=
"selectApi($event, innerform)"
/>
/>
<el-cascader
v-model=
"innerform"
class=
"serviceSchedule-cascader"
filterable
clearable
:options=
"allTilst"
placeholder=
"选择科室"
:show-all-levels=
"false"
@
expand-change=
"handleItemChange"
@
change=
"selectApi($event, innerform)"
>
<template
slot-scope=
"
{ data }">
<span
:style=
"
{ fontSize: '15px', color: '#606266' }">
{{
data
.
label
}}
</span>
<span
:style=
"
{
fontSize: '10px',
color: '#00BDA5',
marginLeft: '10px',
opacity: '0.7',
}"
>
{{
data
.
text
}}
</span>
</
template
>
</el-cascader>
<el-select
<el-select
v-model=
"searchParam.createType"
v-model=
"searchParam.createType"
class=
"select-first"
class=
"select-first"
...
@@ -213,6 +238,105 @@
...
@@ -213,6 +238,105 @@
tableData
:
[],
tableData
:
[],
loading
:
false
,
loading
:
false
,
newCreateList
:
[],
newCreateList
:
[],
allTilst
:
[],
allList
:
{
parentDepartmentList
:
[
{
no
:
11
,
value
:
'妇产科'
,
},
{
no
:
27
,
value
:
'口腔科'
,
},
],
departmentMapList
:
[
{
diagnoseDepartmentRespList
:
[
{
departmentDeseaseRespList
:
[
{
deseaseId
:
1001
,
deseaseName
:
'高血压'
,
},
{
deseaseId
:
1002
,
deseaseName
:
'高血脂'
,
},
{
deseaseId
:
1002
,
deseaseName
:
'高血糖'
,
},
],
departmentId
:
4
,
departmentName
:
'妇科'
,
parentdepartmentId
:
11
,
},
{
departmentDeseaseRespList
:
[
{
deseaseId
:
1003
,
deseaseName
:
'这是一个妇科的描述1'
,
},
],
departmentId
:
56
,
departmentName
:
'妇产科'
,
parentdepartmentId
:
11
,
},
{
departmentDeseaseRespList
:
[
{
deseaseId
:
1002
,
deseaseName
:
'这是一个妇科的描述2'
,
},
],
departmentId
:
172
,
departmentName
:
'产前检查科'
,
parentdepartmentId
:
11
,
},
],
parentDepartmentId
:
11
,
},
{
diagnoseDepartmentRespList
:
[
{
departmentDeseaseRespList
:
[
{
deseaseId
:
1064
,
deseaseName
:
'口腔科描述3'
,
},
],
departmentId
:
64
,
departmentName
:
'口腔科'
,
parentdepartmentId
:
27
,
},
{
departmentDeseaseRespList
:
[
{
deseaseId
:
1065
,
deseaseName
:
'口腔科描述2'
,
},
],
departmentId
:
64
,
departmentName
:
'颌面外科'
,
parentdepartmentId
:
27
,
},
{
departmentDeseaseRespList
:
[
{
deseaseId
:
1066
,
deseaseName
:
'口腔科描述1'
,
},
],
departmentId
:
64
,
departmentName
:
'牙周科'
,
parentdepartmentId
:
27
,
},
],
parentDepartmentId
:
27
,
},
],
},
};
};
},
},
watch
:
{},
watch
:
{},
...
@@ -220,8 +344,43 @@
...
@@ -220,8 +344,43 @@
this
.
getFirstLevelLable
();
this
.
getFirstLevelLable
();
this
.
getLevel
();
this
.
getLevel
();
this
.
search
();
this
.
search
();
this
.
showListALL
();
},
},
methods
:
{
methods
:
{
showListALL
()
{
const
arr
=
[];
const
{
departmentMapList
,
parentDepartmentList
}
=
this
.
allList
;
parentDepartmentList
.
map
((
item
)
=>
{
const
obj
=
{
label
:
item
.
value
,
value
:
item
.
no
,
children
:
[],
};
departmentMapList
.
map
((
info
)
=>
{
if
(
info
.
parentDepartmentId
===
obj
.
value
)
{
const
children
=
[];
info
.
diagnoseDepartmentRespList
.
map
((
detail
)
=>
{
const
secondObj
=
{
label
:
detail
.
departmentName
,
value
:
detail
.
departmentId
,
text
:
''
,
};
let
secondChildren
=
''
;
detail
.
departmentDeseaseRespList
.
map
((
res
)
=>
{
secondChildren
+=
res
.
deseaseName
+
' '
;
});
secondObj
.
text
=
`(
${
secondChildren
}
)`
;
children
.
push
(
secondObj
);
});
obj
.
children
=
children
;
}
});
arr
.
push
(
obj
);
});
console
.
log
(
arr
);
this
.
allTilst
=
arr
;
},
// 通过监听expand-change事件(当展开节点发生变化时触发)获取第二层数据,组装interfaceOptions数据
// 通过监听expand-change事件(当展开节点发生变化时触发)获取第二层数据,组装interfaceOptions数据
handleItemChange
(
val
)
{
handleItemChange
(
val
)
{
const
value
=
val
[
0
];
const
value
=
val
[
0
];
...
@@ -386,12 +545,12 @@
...
@@ -386,12 +545,12 @@
target
.
setAttribute
(
'href'
,
u
);
target
.
setAttribute
(
'href'
,
u
);
target
.
click
();
target
.
click
();
},
},
// goBack(flag) {
// goBack(flag) {
// this.ScheduleListShow = true;
// this.ScheduleListShow = true;
// if (flag) {
// if (flag) {
// this.search();
// this.search();
// }
// }
// },
// },
},
},
};
};
</
script
>
</
script
>
...
...
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录