Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
center-live
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
center-live
Commits
163a4602
提交
163a4602
authored
4月 25, 2022
作者:
王鹏飞
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat: 创建会议新增并发数选择
上级
1a8edce0
全部展开
显示空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
171 行增加
和
115 行删除
+171
-115
.config.dev.js
.config.dev.js
+1
-1
common.js
src/api/common.js
+6
-0
index.vue
src/components/Calendar/index.vue
+119
-85
index.vue
src/components/Schedule/index.vue
+0
-0
NewPopover.vue
src/pages/calendar/day/components/NewPopover.vue
+2
-0
index.vue
src/pages/calendar/day/index.vue
+1
-0
MeetingForm.vue
src/pages/meeting/tencent-meeting/components/MeetingForm.vue
+0
-0
meeting-account-create.vue
src/pages/meeting/tencent-meeting/meeting-account-create.vue
+42
-29
index.vue
src/pages/tencent/account/index.vue
+0
-0
没有找到文件。
.config.dev.js
浏览文件 @
163a4602
module
.
exports
=
{
domain
:
'dev.ezijing.com'
,
// url: 'https://live-broadcast2-admin.ezijing.com/api',
url
:
'https://
meetings
.ezijing.com/api'
,
url
:
'https://
live-center
.ezijing.com/api'
,
webpack
:
{
externals
:
{
CKEDITOR
:
'window.CKEDITOR'
,
...
...
src/api/common.js
浏览文件 @
163a4602
...
...
@@ -87,3 +87,9 @@ export function fileUpload(formData) {
export
function
getSignature
()
{
return
httpRequest
.
get
(
'/api/usercenter/aliyun/get-signature'
)
}
/**
* 获取时间段内的会议个数
*/
export
function
getMeetingCount
(
params
)
{
return
httpRequest
.
get
(
'/api/live/admin/v3/tencent/meeting/count'
,
{
params
})
}
src/components/Calendar/index.vue
浏览文件 @
163a4602
...
...
@@ -2,17 +2,17 @@
<div
class=
"calendar"
>
<div
class=
"calendar-h"
>
<el-button
icon=
"el-icon-arrow-left"
size=
"mini"
circle
@
click=
"btnClick('pre')"
></el-button>
<span>
{{
curYearMonth
}}
</span>
<span>
{{
curYearMonth
}}
</span>
<el-button
icon=
"el-icon-arrow-right"
size=
"mini"
circle
@
click=
"btnClick('next')"
></el-button>
</div>
<div
class=
"week-bar"
>
<span
v-for=
"item in weekList"
:key=
"item"
>
{{
item
}}
</span>
<span
v-for=
"item in weekList"
:key=
"item"
>
{{
item
}}
</span>
</div>
<div
class=
"calendar-day-list"
>
<ul
:class=
"
{
'range-selecting': rangeState.selecting
}">
<ul
:class=
"
{
'range-selecting': rangeState.selecting
}">
<li
v-for=
"item in dayList"
:key=
"item.getTime()"
@
click=
"selectDay(item)"
>
<div
:class=
"getDayCellClasses(item)"
>
<span>
{{
item
.
getTime
()
===
toDay
?
'今'
:
item
.
getDate
()
}}
</span>
<span>
{{
item
.
getTime
()
===
toDay
?
'今'
:
item
.
getDate
()
}}
</span>
</div>
</li>
</ul>
...
...
@@ -20,12 +20,12 @@
</div>
</
template
>
<
script
>
import
{
getMeetingCount
}
from
'@/api/common'
import
{
dateFormat
,
getYMDByDate
}
from
'@/utils/dateAlgs'
import
getDays
from
'./getDays'
export
default
{
props
:
{
defaultDate
:
{
},
defaultDate
:
{},
type
:
{
type
:
String
,
default
:
'date'
// 'date', 'daterange'
...
...
@@ -45,12 +45,13 @@ export default {
rangeEndDate
:
null
,
rangeDates
:
[],
selectFirstDate
:
null
,
selectLastDate
:
null
selectLastDate
:
null
,
dateCountList
:
[]
}
},
computed
:
{
toDay
()
{
const
date
=
new
Date
()
;
const
date
=
new
Date
()
const
todayTime
=
new
Date
(
date
.
getFullYear
(),
date
.
getMonth
(),
date
.
getDate
()).
getTime
()
return
todayTime
},
...
...
@@ -96,8 +97,6 @@ export default {
immediate
:
true
}
},
created
()
{
},
methods
:
{
init
()
{
this
.
activeDate
=
''
...
...
@@ -119,7 +118,13 @@ export default {
default
:
this
.
selectFirstDate
&&
!
this
.
rangeStartDate
&&
date
.
getTime
()
===
this
.
selectFirstDate
.
getTime
(),
'start-date'
:
this
.
rangeStartDate
&&
date
.
getTime
()
===
this
.
rangeStartDate
.
getTime
(),
'end-date'
:
this
.
rangeStartDate
&&
date
.
getTime
()
===
this
.
rangeEndDate
.
getTime
(),
'is-range'
:
this
.
rangeDates
.
length
>
0
&&
this
.
rangeDates
.
some
(
d
=>
date
.
getTime
()
===
d
.
getTime
())
'is-range'
:
this
.
rangeDates
.
length
>
0
&&
this
.
rangeDates
.
some
(
d
=>
date
.
getTime
()
===
d
.
getTime
()),
'has-meeting'
:
this
.
dateCountList
.
some
(
item
=>
{
if
(
+
new
Date
(
item
.
date
)
===
date
.
getTime
())
{
return
!!
item
.
total
}
return
false
})
}
return
classes
},
...
...
@@ -129,10 +134,11 @@ export default {
},
initDays
()
{
this
.
dayList
=
getDays
(
this
.
monthFirstDate
)
this
.
getMeetingCount
()
},
btnClick
(
type
)
{
const
month
=
type
===
'pre'
?
this
.
activeMonth
-
1
:
this
.
activeMonth
+
1
;
this
.
monthFirstDate
=
new
Date
(
this
.
activeYear
,
month
,
1
)
;
const
month
=
type
===
'pre'
?
this
.
activeMonth
-
1
:
this
.
activeMonth
+
1
this
.
monthFirstDate
=
new
Date
(
this
.
activeYear
,
month
,
1
)
this
.
initDays
()
},
selectDay
(
date
)
{
...
...
@@ -166,7 +172,10 @@ export default {
this
.
rangeEndDate
=
isReverse
?
this
.
selectFirstDate
:
this
.
selectLastDate
this
.
getRangeDates
()
this
.
rangeState
.
selecting
=
false
this
.
$emit
(
'change'
,
{
dates
:
[
this
.
rangeStartDate
,
this
.
rangeEndDate
],
daysCount
:
this
.
rangeDates
.
length
+
1
})
this
.
$emit
(
'change'
,
{
dates
:
[
this
.
rangeStartDate
,
this
.
rangeEndDate
],
daysCount
:
this
.
rangeDates
.
length
+
1
})
}
}
else
{
}
...
...
@@ -175,88 +184,98 @@ export default {
const
sDate
=
getYMDByDate
(
this
.
rangeStartDate
)
const
eDate
=
getYMDByDate
(
this
.
rangeEndDate
)
const
datesArr
=
[]
while
(
(
eDate
.
getTime
()
-
sDate
.
getTime
()
)
>
0
)
{
const
year
=
sDate
.
getFullYear
()
;
const
month
=
sDate
.
getMonth
()
;
const
day
=
sDate
.
getDate
()
;
datesArr
.
push
(
new
Date
(
year
,
month
,
day
))
;
sDate
.
setDate
(
day
+
1
)
;
while
(
eDate
.
getTime
()
-
sDate
.
getTime
(
)
>
0
)
{
const
year
=
sDate
.
getFullYear
()
const
month
=
sDate
.
getMonth
()
const
day
=
sDate
.
getDate
()
datesArr
.
push
(
new
Date
(
year
,
month
,
day
))
sDate
.
setDate
(
day
+
1
)
}
this
.
rangeDates
=
datesArr
},
handleMouseMove
(
it
)
{
// if (!this.rangeState.selecting) return;
// console.log(it)
},
getMeetingCount
()
{
const
startTime
=
this
.
dayList
[
0
]
const
endTime
=
this
.
dayList
[
this
.
dayList
.
length
-
1
]
getMeetingCount
({
start_time
:
dateFormat
(
startTime
,
'{y}-{m}-{d}'
),
end_time
:
dateFormat
(
endTime
,
'{y}-{m}-{d}'
)
}).
then
(
res
=>
{
this
.
dateCountList
=
res
.
data
})
}
}
}
</
script
>
<
style
scoped
>
.calendar
{
color
:
#606266
;
width
:
224px
;
<
style
lang=
"scss"
scoped
>
.calendar
{
color
:
#606266
;
width
:
224px
;
}
.calendar-h
{
padding
:
10px
0
;
width
:
204px
;
margin
:
0
auto
;
display
:
flex
;
.calendar-h
{
padding
:
10px
0
;
width
:
204px
;
margin
:
0
auto
;
display
:
flex
;
}
.calendar-h
span
{
display
:
block
;
line-height
:
28px
;
flex
:
1
;
text-align
:
center
;
.calendar-h
span
{
display
:
block
;
line-height
:
28px
;
flex
:
1
;
text-align
:
center
;
}
.week-bar
{
display
:
flex
;
width
:
224px
;
margin
:
0
auto
;
.week-bar
{
display
:
flex
;
width
:
224px
;
margin
:
0
auto
;
}
.week-bar
>
span
{
width
:
32px
;
text-align
:
center
;
font-size
:
12px
;
.week-bar
>
span
{
width
:
32px
;
text-align
:
center
;
font-size
:
12px
;
}
.calendar-day-list
{
width
:
252px
;
margin
:
0
auto
;
.calendar-day-list
{
width
:
252px
;
margin
:
0
auto
;
}
.calendar-day-list
ul
{
display
:
flex
;
flex-wrap
:
wrap
;
padding-top
:
10px
;
.calendar-day-list
ul
{
display
:
flex
;
flex-wrap
:
wrap
;
padding-top
:
10px
;
}
.calendar-day-list
li
{
width
:
32px
;
height
:
32px
;
text-align
:
center
;
font-size
:
12px
;
position
:
relative
;
cursor
:
pointer
;
.calendar-day-list
li
{
width
:
32px
;
height
:
32px
;
text-align
:
center
;
font-size
:
12px
;
position
:
relative
;
cursor
:
pointer
;
}
.calendar-day-list
li
div
{
padding
:
2px
0
;
.calendar-day-list
li
div
{
padding
:
2px
0
;
}
.calendar-day-list
li
span
{
display
:
inline-block
;
width
:
24px
;
height
:
24px
;
line-height
:
24px
;
.calendar-day-list
li
span
{
display
:
inline-block
;
width
:
24px
;
height
:
24px
;
line-height
:
24px
;
border-radius
:
50%
;
-moz-user-select
:
none
;
/*火狐*/
-webkit-user-select
:
none
;
/*webkit浏览器*/
-ms-user-select
:
none
;
/*IE10*/
-khtml-user-select
:
none
;
/*早期浏览器*/
user-select
:
none
;
-moz-user-select
:
none
;
/*火狐*/
-webkit-user-select
:
none
;
/*webkit浏览器*/
-ms-user-select
:
none
;
/*IE10*/
-khtml-user-select
:
none
;
/*早期浏览器*/
user-select
:
none
;
}
.calendar-day-list
li
.grey
span
{
color
:
#c0c4cc
;
.calendar-day-list
li
.grey
span
{
color
:
#c0c4cc
;
}
.calendar-day-list
li
span
:hover
{
.calendar-day-list
li
span
:hover
{
background-color
:
#f5f7fa
;
}
.calendar-day-list
li
.today
span
{
.calendar-day-list
li
.today
span
{
background
:
#ecf5ff
;
color
:
#409eff
;
}
...
...
@@ -264,31 +283,46 @@ export default {
.calendar-day-list
li
.start-date
,
.calendar-day-list
li
.end-date
,
.calendar-day-list
li
.default
,
.range-selecting
li
div
:hover
{
.range-selecting
li
div
:hover
{
background-color
:
#f2f6fc
;
}
.calendar-day-list
li
.start-date
{
border-radius
:
12px
0
0
12px
;
.calendar-day-list
li
.start-date
{
border-radius
:
12px
0
0
12px
;
margin-left
:
2px
;
}
.calendar-day-list
li
.end-date
{
border-radius
:
0
12px
12px
0
;
.calendar-day-list
li
.end-date
{
border-radius
:
0
12px
12px
0
;
margin-right
:
2px
;
}
.calendar-day-list
li
.start-date.end-date
,
.calendar-day-list
li
.default
,
.range-selecting
li
div
:hover
{
border-radius
:
12px
;
margin
:
0
2px
;
.range-selecting
li
div
:hover
{
border-radius
:
12px
;
margin
:
0
2px
;
}
.calendar-day-list
li
.current
span
,
.calendar-day-list
li
.start-date
span
,
.calendar-day-list
li
.end-date
span
{
.calendar-day-list
li
.end-date
span
{
background-color
:
#409eff
;
color
:
#fff
;
color
:
#fff
;
}
.calendar-day-list
li
.default
span
,
.range-selecting
li
:hover
span
{
background-color
:
rgba
(
64
,
158
,
255
,
0
.4
);
color
:
#fff
;
}
.calendar-day-list
li
.default
span
,
.range-selecting
li
:hover
span
{
background-color
:
rgba
(
64
,
158
,
255
,
.4
);
color
:
#fff
;
.calendar-day-list
li
.has-meeting
{
position
:
relative
;
&
:
:
after
{
content
:
''
;
position
:
absolute
;
top
:
0
;
right
:
2px
;
width
:
4px
;
height
:
4px
;
background-color
:
#aa1941
;
border-radius
:
50%
;
overflow
:
hidden
;
}
}
</
style
>
src/components/Schedule/index.vue
浏览文件 @
163a4602
差异被折叠。
点击展开。
src/pages/calendar/day/components/NewPopover.vue
浏览文件 @
163a4602
...
...
@@ -294,6 +294,7 @@ export default {
},
more
()
{
const
query
=
{
concurrency
:
this
.
data
.
concurrency
,
account
:
this
.
data
.
accountId
,
start
:
this
.
startTimestamp
,
end
:
this
.
endTimestamp
...
...
@@ -312,6 +313,7 @@ export default {
const
form
=
this
.
form
const
params
=
{
instanceid
:
1
,
concurrency
:
this
.
data
.
concurrency
,
userid
:
this
.
data
.
accountId
,
subject
:
form
.
subject
,
start_time
:
dateFormat
(
this
.
startTimestamp
),
...
...
src/pages/calendar/day/index.vue
浏览文件 @
163a4602
...
...
@@ -105,6 +105,7 @@ export default {
const
account
=
{
userid
:
_accont
.
userid
,
name
:
_accont
.
username
,
type
:
_accont
.
type
,
events
:
[]
}
for
(
let
j
=
0
;
j
<
mList
.
length
;
j
++
)
{
...
...
src/pages/meeting/tencent-meeting/components/MeetingForm.vue
浏览文件 @
163a4602
差异被折叠。
点击展开。
src/pages/meeting/tencent-meeting/meeting-account-create.vue
浏览文件 @
163a4602
<
template
>
<div
class=
"meeting-account-create"
>
<div
class=
"inner"
>
<meeting-form
:data=
"reviewData"
:users=
"userList"
@
submitForm=
"handleSubmit"
@
dateChange=
"handleDateChange"
></meeting-form>
<meeting-form
:data=
"reviewData"
:users=
"userList"
@
submitForm=
"handleSubmit"
@
dateChange=
"handleDateChange"
></meeting-form>
<div
class=
"right-container"
>
<div
class=
"title"
>
{{
reviewData
.
startDate
|
timeFormat
}}
{{
reviewData
.
startDate
|
timeFormat
(
'星期{a
}
'
)
}}
<
/div
>
<div
class=
"title"
>
{{
reviewData
.
startDate
|
timeFormat
}}
{{
reviewData
.
startDate
|
timeFormat
(
'星期{a
}
'
)
}}
<
/div
>
<
schedule
:
options
=
"options"
:
data
=
"schedule"
:
date
=
"reviewData.startDate"
/>
<
div
class
=
"pre-time-range"
:
style
=
"{ top: getTop, height: getHeight
}
"
><
/div
>
<
/div
>
<
/div
>
<
meeting
-
success
-
dialog
:
dialogVisible
.
sync
=
"dialogVisible"
:
details
=
"details"
/>
<
meeting
-
success
-
dialog
:
dialogVisible
.
sync
=
"dialogVisible"
:
details
=
"details"
/>
<
/div
>
<
/template
>
<
script
>
...
...
@@ -18,8 +25,8 @@ import MeetingSuccessDialog from '@/components/MeetingSuccessDialog/index'
import
{
createMeeting
,
getMeetingDetails
,
getNonpagedMeetingList
}
from
'@api/common'
import
{
timeTrans
,
getYMDByDate
,
dateFormat
,
isSameDate
}
from
'@/utils/dateAlgs'
import
{
mapGetters
}
from
'vuex'
export
default
(
{
data
()
{
export
default
{
data
()
{
return
{
dialogVisible
:
false
,
reviewData
:
{
...
...
@@ -107,7 +114,7 @@ export default ({
}
,
watch
:
{
dialogVisible
:
{
handler
:
function
(
nv
)
{
handler
:
function
(
nv
)
{
if
(
!
nv
)
{
this
.
goList
()
}
...
...
@@ -144,7 +151,7 @@ export default ({
text
:
'获取腾讯会议详情,请稍后...'
,
spinner
:
'el-icon-loading'
,
background
:
'rgba(0, 0, 0, 0.7)'
}
)
;
}
)
const
params
=
{
meeting_id
:
obj
.
meeting_id
}
...
...
@@ -163,6 +170,8 @@ export default ({
spinner
:
'el-icon-loading'
,
background
:
'rgba(0, 0, 0, 0.7)'
}
)
const
query
=
this
.
$route
.
query
params
.
concurrency
=
query
.
concurrency
?
parseInt
(
query
.
concurrency
)
||
1
:
1
params
.
userid
=
this
.
userid
createMeeting
(
params
).
then
(
res
=>
{
loading
.
close
()
...
...
@@ -176,13 +185,15 @@ export default ({
}
,
fetchMeetingDetails
(
params
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
getMeetingDetails
(
params
).
then
(
res
=>
{
getMeetingDetails
(
params
)
.
then
(
res
=>
{
if
(
res
.
code
===
0
&&
res
.
data
.
id
)
{
resolve
(
res
.
data
)
}
else
{
reject
(
res
)
}
}
).
catch
((
err
)
=>
reject
(
err
))
}
)
.
catch
(
err
=>
reject
(
err
))
}
)
}
,
fetchMeetingList
()
{
...
...
@@ -194,19 +205,21 @@ export default ({
start_time
:
start
,
end_time
:
end
}
getNonpagedMeetingList
(
params
).
then
((
res
)
=>
{
getNonpagedMeetingList
(
params
)
.
then
(
res
=>
{
if
(
res
.
code
===
0
&&
res
.
data
&&
res
.
data
.
list
)
{
console
.
log
(
res
.
data
.
list
)
this
.
schedule
.
events
=
res
.
data
.
list
}
else
{
}
}
).
catch
()
}
)
.
catch
()
}
}
}
)
}
<
/script
>
<
style
scoped
>
.
meeting
-
account
-
create
{
.
meeting
-
account
-
create
{
overflow
-
y
:
auto
;
height
:
calc
(
100
%
-
52
px
);
}
...
...
@@ -215,7 +228,7 @@ export default ({
background
:
#
fff
;
margin
:
0
15
px
;
border
-
radius
:
4
px
;
padding
-
bottom
:
10
px
;
padding
-
bottom
:
10
px
;
}
.
right
-
container
{
position
:
relative
;
...
...
@@ -238,8 +251,8 @@ export default ({
width
:
calc
(
100
%
-
70
px
);
background
:
#
52
b837
;
}
.
search
-
keywords
-
checked
{
color
:
#
F56C6C
;
.
search
-
keywords
-
checked
{
color
:
#
f56c6c
;
font
-
size
:
12
px
;
line
-
height
:
1
;
padding
-
top
:
4
px
;
...
...
@@ -250,22 +263,22 @@ export default ({
.
right
-
container
.
el
-
scrollbar
::
v
-
deep
.
el
-
scrollbar__wrap
{
/* overflow:hidden; */
}
.
tx
-
meeting
-
container
::
v
-
deep
.
el
-
dialog__header
{
padding
-
top
:
14
px
;
.
tx
-
meeting
-
container
::
v
-
deep
.
el
-
dialog__header
{
padding
-
top
:
14
px
;
}
.
tx
-
meeting
-
container
::
v
-
deep
.
el
-
dialog__headerbtn
{
top
:
12
px
;
right
:
12
px
;
.
tx
-
meeting
-
container
::
v
-
deep
.
el
-
dialog__headerbtn
{
top
:
12
px
;
right
:
12
px
;
}
.
tx
-
meeting
-
container
::
v
-
deep
.
el
-
dialog__body
{
padding
:
10
px
0
;
margin
:
0
20
px
;
border
:
1
px
solid
#
DBDBDB
;
.
tx
-
meeting
-
container
::
v
-
deep
.
el
-
dialog__body
{
padding
:
10
px
0
;
margin
:
0
20
px
;
border
:
1
px
solid
#
dbdbdb
;
}
.
tx
-
meeting
-
container
::
v
-
deep
.
el
-
dialog__footer
{
padding
-
bottom
:
16
px
;
.
tx
-
meeting
-
container
::
v
-
deep
.
el
-
dialog__footer
{
padding
-
bottom
:
16
px
;
}
.
tx
-
meeting
-
container
::
v
-
deep
.
el
-
dialog
.
el
-
form
-
item
{
margin
:
0
;
.
tx
-
meeting
-
container
::
v
-
deep
.
el
-
dialog
.
el
-
form
-
item
{
margin
:
0
;
}
<
/style
>
src/pages/tencent/account/index.vue
浏览文件 @
163a4602
差异被折叠。
点击展开。
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论