Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
X
xxx_phase2_web
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
夏敏伟
xxx_phase2_web
Commits
d9953e68
Commit
d9953e68
authored
Oct 28, 2023
by
高飞
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://192.168.168.218/xiaminwei/xxx_phase2_web
parents
abbacd8b
b1d888a9
Changes
16
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
1193 additions
and
572 deletions
+1193
-572
package.json
package.json
+3
-0
src/api/chat/chatRecords.js
src/api/chat/chatRecords.js
+9
-4
src/api/chat/chatRoom.js
src/api/chat/chatRoom.js
+2
-2
src/api/user.js
src/api/user.js
+6
-2
src/util/directive/el-dragDialog/drag.js
src/util/directive/el-dragDialog/drag.js
+80
-0
src/util/directive/el-dragDialog/index.js
src/util/directive/el-dragDialog/index.js
+15
-0
src/util/http_util.js
src/util/http_util.js
+3
-1
src/view/ddkz/components/chatRoomDialog.vue
src/view/ddkz/components/chatRoomDialog.vue
+19
-17
src/view/ddkz/components/chatRoomPeople.vue
src/view/ddkz/components/chatRoomPeople.vue
+21
-11
src/view/ddkz/components/noticeDialog.vue
src/view/ddkz/components/noticeDialog.vue
+24
-4
src/view/ddkz/ddkzzs.vue
src/view/ddkz/ddkzzs.vue
+245
-527
src/view/home.vue
src/view/home.vue
+6
-4
src/view/sjgl/ddkzConfig.vue
src/view/sjgl/ddkzConfig.vue
+80
-0
src/view/sjgl/ddkzConfig/ddkzConfigAdd.vue
src/view/sjgl/ddkzConfig/ddkzConfigAdd.vue
+472
-0
src/view/sjgl/ddkzConfig/ddkzConfigList.vue
src/view/sjgl/ddkzConfig/ddkzConfigList.vue
+203
-0
webpack.config.js
webpack.config.js
+5
-0
No files found.
package.json
View file @
d9953e68
...
@@ -61,5 +61,8 @@
...
@@ -61,5 +61,8 @@
"
vuex
"
:
"
^3.6.2
"
,
"
vuex
"
:
"
^3.6.2
"
,
"
webuploader
"
:
"
^0.1.5
"
,
"
webuploader
"
:
"
^0.1.5
"
,
"
xlsx
"
:
"
^0.17.0
"
"
xlsx
"
:
"
^0.17.0
"
},
"volta"
:
{
"node"
:
"14.21.3"
}
}
}
}
src/api/chat/chatRecords.js
View file @
d9953e68
...
@@ -4,16 +4,16 @@ const PREFIX_RECORDS = 'api/rest/chat/chatRecords';
...
@@ -4,16 +4,16 @@ const PREFIX_RECORDS = 'api/rest/chat/chatRecords';
//分页查询群聊记录
//分页查询群聊记录
//查询小群
//查询小群
export
const
getRecordsByPagingTeam
=
(
chatRoomId
,
currPage
,
pageSize
,
startTime
,
endTime
,
fromUserId
,
teamId
)
=>
{
export
const
getRecordsByPagingTeam
=
(
chatRoomId
,
currPage
,
pageSize
,
startTime
,
endTime
,
fromUserId
,
teamId
)
=>
{
let
url
=
`
${
PREFIX_RECORDS
}
/chatroomTeam/page`
;
let
url
=
`
${
PREFIX_RECORDS
}
/chatroomTeam/page`
;
url
+=
addParam
({
chatRoomId
,
currPage
,
pageSize
,
startTime
,
endTime
,
fromUserId
,
teamId
});
url
+=
addParam
({
chatRoomId
,
currPage
,
pageSize
,
startTime
,
endTime
,
fromUserId
,
teamId
});
return
get
(
url
);
return
get
(
url
);
}
}
//查询大群
//查询大群
export
const
getRecordsByPaging
=
(
chatRoomId
,
currPage
,
pageSize
,
startTime
,
endTime
,
fromUserId
,
teamId
)
=>
{
export
const
getRecordsByPaging
=
(
chatRoomId
,
currPage
,
pageSize
,
startTime
,
endTime
,
fromUserId
,
teamId
)
=>
{
let
url
=
`
${
PREFIX_RECORDS
}
/chatroom/page`
;
let
url
=
`
${
PREFIX_RECORDS
}
/chatroom/page`
;
url
+=
addParam
({
chatRoomId
,
currPage
,
pageSize
,
startTime
,
endTime
,
fromUserId
,
teamId
});
url
+=
addParam
({
chatRoomId
,
currPage
,
pageSize
,
startTime
,
endTime
,
fromUserId
,
teamId
});
return
get
(
url
);
return
get
(
url
);
}
}
...
@@ -27,4 +27,9 @@ export const getPrivateLetterByPaging = (currPage, pageSize, startTime, endTime,
...
@@ -27,4 +27,9 @@ export const getPrivateLetterByPaging = (currPage, pageSize, startTime, endTime,
//查询群聊中未读信息
//查询群聊中未读信息
export
const
getListUnread
=
(
chatRoomId
,
userId
)
=>
{
export
const
getListUnread
=
(
chatRoomId
,
userId
)
=>
{
return
get
(
`
${
PREFIX_RECORDS
}
/listUnread?chatRoomId=
${
chatRoomId
}
&userId=
${
userId
}
`
);
return
get
(
`
${
PREFIX_RECORDS
}
/listUnread?chatRoomId=
${
chatRoomId
}
&userId=
${
userId
}
`
);
}
//获取图片库照片
export
const
getFileUrl
=
(
bucket
,
name
)
=>
{
return
get
(
`api/rest/file/viewPicture/
${
bucket
}
?objectName=
${
name
}
`
);
}
}
\ No newline at end of file
src/api/chat/chatRoom.js
View file @
d9953e68
...
@@ -28,8 +28,8 @@ export const leaveChatRoom = (userId) => {
...
@@ -28,8 +28,8 @@ export const leaveChatRoom = (userId) => {
}
}
//查询某个用户所有聊天室(群组)
//查询某个用户所有聊天室(群组)
export
const
getChatRoomList
=
(
userId
)
=>
{
export
const
getChatRoomList
=
(
data
)
=>
{
return
get
(
`
${
PREFIX_CHATROOM
}
/list?userId=
${
userId
}
`
);
return
post
(
`
${
PREFIX_CHATROOM
}
/list`
,
data
);
}
}
//阅读(群组)信息
//阅读(群组)信息
...
...
src/api/user.js
View file @
d9953e68
...
@@ -42,7 +42,7 @@ export function queryUserPerformance(pageNum = 1, pageSize = 10, logType = LITER
...
@@ -42,7 +42,7 @@ export function queryUserPerformance(pageNum = 1, pageSize = 10, logType = LITER
* @param {*} body
* @param {*} body
* @returns
* @returns
*/
*/
export
function
countUserPerformance
(
pageNum
=
1
,
pageSize
=
10
,
logType
=
LITERATURE
,
body
=
{})
{
export
function
countUserPerformance
(
pageNum
=
1
,
pageSize
=
10
,
logType
=
LITERATURE
,
body
=
{})
{
return
post
(
`api/rest/user/countUserPerformance?pageNum=
${
pageNum
}
&pageSize=
${
pageSize
}
&logType=
${
logType
}
`
,
body
);
return
post
(
`api/rest/user/countUserPerformance?pageNum=
${
pageNum
}
&pageSize=
${
pageSize
}
&logType=
${
logType
}
`
,
body
);
}
}
...
@@ -67,7 +67,7 @@ export function queryNotification(pageNum, pageSize, account, text) {
...
@@ -67,7 +67,7 @@ export function queryNotification(pageNum, pageSize, account, text) {
* @param {*} account
* @param {*} account
* @returns
* @returns
*/
*/
export
function
removeNotification
(
ids
,
account
)
{
export
function
removeNotification
(
ids
,
account
)
{
return
delete_util
(
`api/rest/user/removeNotification?account=
${
account
}
`
,
ids
);
return
delete_util
(
`api/rest/user/removeNotification?account=
${
account
}
`
,
ids
);
}
}
...
@@ -81,4 +81,8 @@ export function readNotification(account, noteId) {
...
@@ -81,4 +81,8 @@ export function readNotification(account, noteId) {
let
url
=
`api/rest/user/readNotification`
;
let
url
=
`api/rest/user/readNotification`
;
url
+=
addParam
({
account
,
noteId
});
url
+=
addParam
({
account
,
noteId
});
return
post
(
url
,
{});
return
post
(
url
,
{});
}
export
function
getUserList
()
{
return
get
(
"
api/rest/system/user/queryUser
"
)
}
}
\ No newline at end of file
src/util/directive/el-dragDialog/drag.js
0 → 100644
View file @
d9953e68
export
default
{
bind
(
el
,
binding
,
vnode
)
{
const
dialogHeaderEl
=
el
.
querySelector
(
'
.el-dialog__header
'
)
const
dragDom
=
el
.
querySelector
(
'
.el-dialog
'
)
dialogHeaderEl
.
style
.
cssText
+=
'
;cursor:move;
'
dragDom
.
style
.
cssText
+=
'
;top:0px;
'
// 获取原有属性 ie dom元素.currentStyle 火狐谷歌 window.getComputedStyle(dom元素, null);
const
getStyle
=
(
function
()
{
if
(
window
.
document
.
currentStyle
)
{
return
(
dom
,
attr
)
=>
dom
.
currentStyle
[
attr
]
}
else
{
return
(
dom
,
attr
)
=>
getComputedStyle
(
dom
,
false
)[
attr
]
}
})()
dialogHeaderEl
.
onmousedown
=
(
e
)
=>
{
// 鼠标按下,计算当前元素距离可视区的距离
const
disX
=
e
.
clientX
-
dialogHeaderEl
.
offsetLeft
const
disY
=
e
.
clientY
-
dialogHeaderEl
.
offsetTop
const
dragDomWidth
=
dragDom
.
offsetWidth
const
dragDomheight
=
dragDom
.
offsetHeight
const
screenWidth
=
document
.
body
.
clientWidth
const
screenHeight
=
document
.
body
.
clientHeight
const
minDragDomLeft
=
dragDom
.
offsetLeft
const
maxDragDomLeft
=
screenWidth
-
dragDom
.
offsetLeft
-
dragDomWidth
const
minDragDomTop
=
dragDom
.
offsetTop
const
maxDragDomTop
=
screenHeight
-
dragDom
.
offsetTop
-
dragDomheight
// 获取到的值带px 正则匹配替换
let
styL
=
getStyle
(
dragDom
,
'
left
'
)
let
styT
=
getStyle
(
dragDom
,
'
top
'
)
if
(
styL
.
includes
(
'
%
'
))
{
styL
=
+
document
.
body
.
clientWidth
*
(
+
styL
.
replace
(
/%/g
,
''
)
/
100
)
styT
=
+
document
.
body
.
clientHeight
*
(
+
styT
.
replace
(
/%/g
,
''
)
/
100
)
}
else
{
styL
=
+
styL
.
replace
(
/
\p
x/g
,
''
)
styT
=
+
styT
.
replace
(
/
\p
x/g
,
''
)
}
document
.
onmousemove
=
function
(
e
)
{
// 通过事件委托,计算移动的距离
let
left
=
e
.
clientX
-
disX
let
top
=
e
.
clientY
-
disY
// 边界处理
if
(
-
(
left
)
>
minDragDomLeft
)
{
left
=
-
minDragDomLeft
}
else
if
(
left
>
maxDragDomLeft
)
{
left
=
maxDragDomLeft
}
if
(
-
(
top
)
>
minDragDomTop
)
{
top
=
-
minDragDomTop
}
else
if
(
top
>
maxDragDomTop
)
{
top
=
maxDragDomTop
}
// 移动当前元素
dragDom
.
style
.
cssText
+=
`;left:
${
left
+
styL
}
px;top:
${
top
+
styT
}
px;`
// emit onDrag event
vnode
.
child
.
$emit
(
'
dragDialog
'
)
}
document
.
onmouseup
=
function
()
{
document
.
onmousemove
=
null
document
.
onmouseup
=
null
}
}
}
}
\ No newline at end of file
src/util/directive/el-dragDialog/index.js
0 → 100644
View file @
d9953e68
import
drag
from
'
@/util/directive/el-dragDialog/drag
'
const
install
=
function
(
Vue
)
{
Vue
.
directive
(
'
el-drag-dialog
'
,
drag
)
}
if
(
window
.
Vue
)
{
window
[
'
el-drag-dialog
'
]
=
drag
Vue
.
use
(
install
);
}
drag
.
install
=
install
export
default
drag
src/util/http_util.js
View file @
d9953e68
...
@@ -310,10 +310,12 @@ let getTime_extent = (n) => {
...
@@ -310,10 +310,12 @@ let getTime_extent = (n) => {
let
pre_rq
=
pre_year
+
'
-
'
+
pre_newMonth
+
'
-
'
+
pre_newDate
;
let
pre_rq
=
pre_year
+
'
-
'
+
pre_newMonth
+
'
-
'
+
pre_newDate
;
let
pre_rq_start
=
pre_year
+
'
-
'
+
pre_newMonth
+
'
-
'
+
pre_newDate
+
'
'
+
'
00:00:00
'
;
let
pre_rq_start
=
pre_year
+
'
-
'
+
pre_newMonth
+
'
-
'
+
pre_newDate
+
'
'
+
'
00:00:00
'
;
let
pre_rq_end
=
pre_year
+
'
-
'
+
pre_newMonth
+
'
-
'
+
pre_newDate
+
'
'
+
'
23:59:59
'
;
let
pre_rq_end
=
pre_year
+
'
-
'
+
pre_newMonth
+
'
-
'
+
pre_newDate
+
'
'
+
'
23:59:59
'
;
let
currentDate
=
pre_year
+
'
-
'
+
pre_newMonth
+
'
-
'
+
pre_newDate
+
'
'
+
now
.
toLocaleTimeString
();
return
{
return
{
pre_rq
,
pre_rq
,
pre_rq_start
,
pre_rq_start
,
pre_rq_end
pre_rq_end
,
currentDate
}
}
}
}
...
...
src/view/ddkz/components/chatRoomDialog.vue
View file @
d9953e68
<
template
>
<
template
>
<el-dialog
title=
"聊天室"
:visible.sync=
"dialogVisible"
width=
"40%"
:before-close=
"handleClo
se"
>
<el-dialog
v-if=
"dialogVisible"
v-el-drag-dialog
title=
"聊天室"
:visible.sync=
"dialogVisible"
width=
"40%"
:before-close=
"handleClose"
:close-on-click-modal=
"fal
se"
>
<div
class=
"info-messageInfo"
>
<div
class=
"info-messageInfo"
>
<!--
<div
class=
"title"
>
<img
:src=
"arrow"
alt=
""
>
<span>
内部通讯
</span>
</div>
-->
<div
class=
"messageInfo-content"
>
<div
class=
"messageInfo-content"
>
<div
class=
"chatPerson"
>
<div
class=
"chatPerson"
>
<span
:style=
"
{ backgroundColor: chatPerson.isLine ? '#30d64d' : '#686a6b' }"
<span
:style=
"
{ backgroundColor: chatPerson.isLine ? '#30d64d' : '#686a6b' }"
v-show="chatPerson.isLine != undefined">
</span>
v-show="chatPerson.isLine != undefined">
</span>
<span
v-text=
"chatPerson.name"
></span>
<span
v-text=
"chatPerson.name"
></span>
</div>
</div>
<div
id=
"chatContent"
class=
"chatContent"
>
<div
id=
"chatContent"
class=
"chatContent"
ref=
"chatContent"
>
<div
v-for=
"item in chatMessageList"
class=
"everyMessage"
>
<div
v-for=
"item in chatMessageList"
class=
"everyMessage"
>
<div
:style=
"
{ justifyContent: item.fromUserId == userInfo.account ? 'flex-end' : 'flex-start' }">
<div
:style=
"
{ justifyContent: item.fromUserId == userInfo.account ? 'flex-end' : 'flex-start' }">
<template
v-if=
"item.fromUserId != userInfo.account"
>
<template
v-if=
"item.fromUserId != userInfo.account"
>
...
@@ -23,7 +19,6 @@
...
@@ -23,7 +19,6 @@
<img
:src=
"avatar"
alt=
""
>
<img
:src=
"avatar"
alt=
""
>
</
template
>
</
template
>
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"chatSendMessage"
>
<div
class=
"chatSendMessage"
>
...
@@ -44,6 +39,7 @@
...
@@ -44,6 +39,7 @@
<
script
>
<
script
>
import
avatar
from
'
../../../assets/img/ddkz/headPhoto.jpg
'
;
import
avatar
from
'
../../../assets/img/ddkz/headPhoto.jpg
'
;
import
{
getRecordsByPagingTeam
}
from
'
../../../api/chat/chatRecords
'
;
import
{
getRecordsByPagingTeam
}
from
'
../../../api/chat/chatRecords
'
;
import
elDragDialog
from
"
@/util/directive/el-dragDialog
"
;
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
...
@@ -62,17 +58,23 @@ export default {
...
@@ -62,17 +58,23 @@ export default {
myStompClient
:
null
myStompClient
:
null
}
}
},
},
directives
:
{
elDragDialog
},
props
:
{
props
:
{
visible
:
Boolean
,
visible
:
Boolean
,
analogData
:
Array
,
analogData
:
Array
,
stompClient
:
Object
,
stompClient
:
Object
,
currentChatRoomInfo
:
Object
currentChatRoomInfo
:
Object
},
},
methods
:
{
methods
:
{
handleClose
()
{
handleClose
()
{
// this.dialogVisible = false;
this
.
$emit
(
'
handleCancel
'
);
this
.
$emit
(
'
handleCancel
'
);
},
},
showDialog
(){
this
.
dialogVisible
=
true
;
},
sendMessageFn
()
{
sendMessageFn
()
{
if
(
this
.
sendMessage
.
trim
().
length
>
0
)
{
if
(
this
.
sendMessage
.
trim
().
length
>
0
)
{
this
.
myStompClient
.
send
(
"
/app/sendToChatRoomTeam/
"
+
this
.
currentChatRoom
.
id
+
'
/
'
+
this
.
currentChatRoom
.
teamId
,
{},
JSON
.
stringify
({
this
.
myStompClient
.
send
(
"
/app/sendToChatRoomTeam/
"
+
this
.
currentChatRoom
.
id
+
'
/
'
+
this
.
currentChatRoom
.
teamId
,
{},
JSON
.
stringify
({
...
@@ -88,8 +90,7 @@ export default {
...
@@ -88,8 +90,7 @@ export default {
}
}
},
},
keepBottom
()
{
keepBottom
()
{
const
divscll
=
document
.
getElementById
(
'
chatContent
'
);
this
.
$refs
.
chatContent
.
scrollTop
=
this
.
$refs
.
chatContent
.
scrollHeight
;
divscll
.
scrollTop
=
divscll
.
scrollHeight
;
},
},
listChatroom
(
data
)
{
listChatroom
(
data
)
{
//取消群聊的订阅
//取消群聊的订阅
...
@@ -105,18 +106,22 @@ export default {
...
@@ -105,18 +106,22 @@ export default {
content
:
JSON
.
parse
(
data
.
body
).
content
,
content
:
JSON
.
parse
(
data
.
body
).
content
,
fromUserId
:
data
.
headers
.
fromUserId
fromUserId
:
data
.
headers
.
fromUserId
});
});
this
.
$nextTick
(()
=>
{
this
.
keepBottom
();
});
},
{
id
:
"
multicast
"
+
e
.
id
+
new
Date
().
getTime
()
});
},
{
id
:
"
multicast
"
+
e
.
id
+
new
Date
().
getTime
()
});
})
})
},
},
getCurrentMessageList
(
item
)
{
getCurrentMessageList
(
item
)
{
//查询我方聊天记录
//查询我方聊天记录
getRecordsByPagingTeam
(
item
.
id
,
1
,
100
,
'
2020-01-01 00:00:00
'
,
'
202
3
-10-01 00:00:00
'
,
null
,
item
.
teamId
).
then
(
res1
=>
{
getRecordsByPagingTeam
(
item
.
id
,
1
,
100
,
'
2020-01-01 00:00:00
'
,
'
202
4
-10-01 00:00:00
'
,
null
,
item
.
teamId
).
then
(
res1
=>
{
this
.
chatMessageList
=
res1
.
records
;
this
.
chatMessageList
=
res1
.
records
;
this
.
$nextTick
(()
=>
{
this
.
keepBottom
();
});
})
})
}
}
},
},
computed
:
{
computed
:
{
userInfo
()
{
userInfo
()
{
...
@@ -135,9 +140,6 @@ export default {
...
@@ -135,9 +140,6 @@ export default {
//订阅
//订阅
this
.
listChatroom
(
this
.
analogDataList
);
this
.
listChatroom
(
this
.
analogDataList
);
this
.
getCurrentMessageList
(
this
.
$props
.
currentChatRoomInfo
);
this
.
getCurrentMessageList
(
this
.
$props
.
currentChatRoomInfo
);
setTimeout
(()
=>
{
this
.
keepBottom
();
},
2000
);
}
}
}
}
</
script
>
</
script
>
...
@@ -145,7 +147,7 @@ export default {
...
@@ -145,7 +147,7 @@ export default {
<
style
lang=
"scss"
>
<
style
lang=
"scss"
>
.info-messageInfo
{
.info-messageInfo
{
width
:
100%
;
width
:
100%
;
height
:
7
0%
;
height
:
6
0%
;
.title
{
.title
{
width
:
100%
;
width
:
100%
;
...
...
src/view/ddkz/components/chatRoomPeople.vue
View file @
d9953e68
<
template
>
<
template
>
<el-dialog
title=
"人员情况"
:visible.sync=
"dialogVisible"
width=
"40%"
:before-close=
"handleClose"
>
<el-dialog
v-el-drag-dialog
title=
"人员情况"
:visible.sync=
"dialogVisible"
width=
"40%"
:before-close=
"handleClose"
@
open=
"handleDialogOpen"
>
<div
class=
"info-personInfo"
>
<div
class=
"info-personInfo"
>
<!--
<div
class=
"title"
>
<img
:src=
"arrow"
alt=
""
>
<span>
人员情况
</span>
</div>
-->
<div
class=
"personInfo-content"
>
<div
class=
"personInfo-content"
>
<div
v-for=
"item in personList"
class=
"everyPersonList"
>
<div
v-for=
"item in personList"
class=
"everyPersonList"
>
<span
v-text=
"item.userId"
@
click=
"selectPerson(item);"
></span>
<span
v-text=
"item.userId"
@
click=
"selectPerson(item);"
></span>
...
@@ -16,6 +13,7 @@
...
@@ -16,6 +13,7 @@
<
script
>
<
script
>
import
elDragDialog
from
"
@/util/directive/el-dragDialog
"
;
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
...
@@ -23,19 +21,30 @@ export default {
...
@@ -23,19 +21,30 @@ export default {
personList
:
[]
personList
:
[]
}
}
},
},
directives
:
{
elDragDialog
},
props
:
{
props
:
{
visible
:
Boolean
,
//
visible: Boolean,
peopleList
:
Array
peopleList
:
Array
},
},
methods
:
{
methods
:
{
handleClose
()
{
handleClose
()
{
this
.
$emit
(
'
handleCancel
'
);
this
.
dialogVisible
=
false
;
// this.$emit('handleCancel');
},
showDialog
()
{
this
.
dialogVisible
=
true
;
},
handleDialogOpen
()
{
// this.dialogVisible = this.$props.visible;
this
.
personList
=
this
.
$props
.
peopleList
;
}
}
},
},
mounted
()
{
//
mounted() {
this
.
dialogVisible
=
this
.
$props
.
visible
;
//
this.dialogVisible = this.$props.visible;
this
.
personList
=
this
.
$props
.
peopleList
;
//
this.personList = this.$props.peopleList;
}
//
}
}
}
</
script
>
</
script
>
...
@@ -44,6 +53,7 @@ export default {
...
@@ -44,6 +53,7 @@ export default {
.info-personInfo
{
.info-personInfo
{
width
:
100%
;
width
:
100%
;
height
:
30%
;
height
:
30%
;
overflow-y
:
auto
;
.title
{
.title
{
width
:
100%
;
width
:
100%
;
...
...
src/view/ddkz/components/noticeDialog.vue
View file @
d9953e68
<
template
>
<
template
>
<el-dialog
title=
"发送公告"
:visible.sync=
"dialogVisible"
width=
"30%"
:before-close=
"handleClose"
>
<el-dialog
v-el-drag-dialog
title=
"发送公告"
:visible.sync=
"dialogVisible"
width=
"30%"
:before-close=
"handleClose"
>
<div
class=
"notice"
>
<div
class=
"notice"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"80px"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"80px"
>
<el-form-item
label=
"标题"
>
<el-form-item
label=
"标题"
>
...
@@ -16,7 +16,7 @@
...
@@ -16,7 +16,7 @@
</el-upload>
</el-upload>
</el-form-item>
</el-form-item>
<el-form-item
style=
"text-align: center;"
>
<el-form-item
style=
"text-align: center;"
>
<el-button
type=
"default"
>
取消
</el-button>
<el-button
type=
"default"
@
click=
"handleClose"
>
取消
</el-button>
<el-button
type=
"success"
@
click=
"sendNotice"
>
发送
</el-button>
<el-button
type=
"success"
@
click=
"sendNotice"
>
发送
</el-button>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
...
@@ -28,6 +28,7 @@
...
@@ -28,6 +28,7 @@
<
script
>
<
script
>
import
{
upLoadFiles
}
from
'
../../../api/chat/chatRoom
'
;
import
{
upLoadFiles
}
from
'
../../../api/chat/chatRoom
'
;
import
{
format_file
}
from
'
../../../util/http_util
'
;
import
{
format_file
}
from
'
../../../util/http_util
'
;
import
elDragDialog
from
"
@/util/directive/el-dragDialog
"
;
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
...
@@ -35,7 +36,8 @@ export default {
...
@@ -35,7 +36,8 @@ export default {
form
:
{
form
:
{
title
:
''
,
title
:
''
,
content
:
''
,
content
:
''
,
attachment
:
''
attachment
:
''
,
messageForm
:
null
},
},
formatFile
:
format_file
(),
formatFile
:
format_file
(),
myStompClient
:
null
,
myStompClient
:
null
,
...
@@ -43,6 +45,9 @@ export default {
...
@@ -43,6 +45,9 @@ export default {
analogDataList
:
[],
analogDataList
:
[],
}
}
},
},
directives
:
{
elDragDialog
},
props
:
{
props
:
{
visible
:
Boolean
,
visible
:
Boolean
,
stompClient
:
Object
,
stompClient
:
Object
,
...
@@ -51,13 +56,28 @@ export default {
...
@@ -51,13 +56,28 @@ export default {
},
},
methods
:
{
methods
:
{
handleClose
()
{
handleClose
()
{
this
.
$emit
(
'
handleCancel
'
);
this
.
dialogVisible
=
false
;
// this.$emit('handleCancel');
},
showDialog
(){
this
.
dialogVisible
=
true
;
},
},
handleChange
(
file
,
fileList
)
{
handleChange
(
file
,
fileList
)
{
let
fd
=
new
FormData
();
let
fd
=
new
FormData
();
fd
.
append
(
'
file
'
,
file
.
raw
);
fd
.
append
(
'
file
'
,
file
.
raw
);
upLoadFiles
(
'
CHAT
'
,
fd
).
then
(
res
=>
{
upLoadFiles
(
'
CHAT
'
,
fd
).
then
(
res
=>
{
this
.
form
.
attachment
=
res
;
this
.
form
.
attachment
=
res
;
let
type
=
file
.
name
.
split
(
'
.
'
)[
1
];
if
(
type
==
'
png
'
||
type
==
'
jpg
'
){
this
.
form
.
messageForm
=
'
PICTURE
'
;
}
else
if
(
type
==
'
mp4
'
){
this
.
form
.
messageForm
=
'
VIDEO
'
;
}
else
if
(
type
==
'
xlsx
'
||
type
==
'
xls
'
){
this
.
form
.
messageForm
=
'
EXCEL
'
;
}
else
{
this
.
form
.
messageForm
=
'
TEXT
'
;
}
});
});
},
},
handleRemove
()
{
},
handleRemove
()
{
},
...
...
src/view/ddkz/ddkzzs.vue
View file @
d9953e68
This diff is collapsed.
Click to expand it.
src/view/home.vue
View file @
d9953e68
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
</div>
</div>
<div
class=
"button-list-right"
>
<div
class=
"button-list-right"
>
<div
v-for=
"(item, index) in modules.rightModule"
<div
v-for=
"(item, index) in modules.rightModule"
:class=
"['module-info', isSelected
-3 == index ? 'selectedModule' : '']"
@
click=
"choiceModule(index+
3)"
:class=
"['module-info', isSelected
- 3 == index ? 'selectedModule' : '']"
@
click=
"choiceModule(index +
3)"
v-text=
"item.name"
>
v-text=
"item.name"
>
</div>
</div>
</div>
</div>
...
@@ -340,6 +340,7 @@ export default {
...
@@ -340,6 +340,7 @@ export default {
background-size
:
100%
105%
;
background-size
:
100%
105%
;
background-repeat
:
no-repeat
;
background-repeat
:
no-repeat
;
color
:
white
;
color
:
white
;
.ant-layout-header
{
.ant-layout-header
{
background
:
none
;
background
:
none
;
}
}
...
@@ -354,6 +355,7 @@ export default {
...
@@ -354,6 +355,7 @@ export default {
font-size
:
13px
;
font-size
:
13px
;
letter-spacing
:
2px
;
letter-spacing
:
2px
;
font-weight
:
900
;
font-weight
:
900
;
h1
{
h1
{
font-size
:
34px
;
font-size
:
34px
;
letter-spacing
:
7px
;
letter-spacing
:
7px
;
...
@@ -362,7 +364,8 @@ export default {
...
@@ -362,7 +364,8 @@ export default {
margin-bottom
:
0px
!
important
;
margin-bottom
:
0px
!
important
;
font-family
:
cursive
;
font-family
:
cursive
;
text-align
:
center
;
text-align
:
center
;
span
{
span
{
background-image
:
linear-gradient
(
to
right
,
#498ce1
,
#75f8d2
,
#498ce1
);
background-image
:
linear-gradient
(
to
right
,
#498ce1
,
#75f8d2
,
#498ce1
);
color
:
transparent
;
color
:
transparent
;
-webkit-background-clip
:
text
;
-webkit-background-clip
:
text
;
...
@@ -848,5 +851,4 @@ export default {
...
@@ -848,5 +851,4 @@ export default {
transition
:
all
0
.4s
ease
;
transition
:
all
0
.4s
ease
;
cursor
:
pointer
;
cursor
:
pointer
;
}
}
}
}
</
style
>
</
style
>
\ No newline at end of file
\ No newline at end of file
src/view/sjgl/ddkzConfig.vue
0 → 100644
View file @
d9953e68
<
template
>
<div
class=
"ddkzConfig"
>
<el-tabs
type=
"border-card"
@
tab-click=
"handleTabClick"
v-model=
"activeTabs"
>
<el-tab-pane>
<span
slot=
"label"
><i
class=
"el-icon-date"
></i>
新增会议
</span>
<DdkzConfigAdd></DdkzConfigAdd>
</el-tab-pane>
<el-tab-pane>
<span
slot=
"label"
><i
class=
"el-icon-date"
></i>
会议列表
</span>
<DdkzConfigList></DdkzConfigList>
</el-tab-pane>
</el-tabs>
</div>
</
template
>
<
script
>
import
ddkzConfigAdd
from
'
../sjgl/ddkzConfig/ddkzConfigAdd.vue
'
;
import
ddkzConfigList
from
'
../sjgl/ddkzConfig/ddkzConfigList.vue
'
;
export
default
{
data
()
{
return
{
activeTabs
:
''
}
},
components
:{
DdkzConfigAdd
:
ddkzConfigAdd
,
DdkzConfigList
:
ddkzConfigList
},
methods
:
{
handleTabClick
()
{
}
}
}
</
script
>
<
style
lang=
"scss"
>
.ddkzConfig
{
width
:
99%
;
height
:
98%
;
padding
:
30px
;
box-sizing
:
border-box
;
overflow-y
:
auto
;
>
.el-tabs--border-card
{
width
:
calc
(
100%
-
4px
);
height
:
calc
(
100%
-
4px
);
border
:
2px
solid
#125473
;
border-radius
:
5px
;
box-sizing
:
border-box
;
background
:
#ffffff
00
;
>
.el-tabs__content
{
width
:
100%
;
height
:
calc
(
100%
-
40px
);
box-sizing
:
border-box
;
}
>
.el-tabs__header
{
background-color
:
unset
;
border-bottom
:
2px
solid
#125473
;
.el-tabs__item
{
color
:
#dedede
;
}
.el-tabs__item.is-active
{
color
:
#ffe000
;
background-color
:
#116791
;
border-right-color
:
#116791
;
border-left-color
:
#116791
;
}
.el-tabs__item
:not
(
.is-disabled
)
:hover
{
color
:
#ffe000
;
}
}
}
}
</
style
>
\ No newline at end of file
src/view/sjgl/ddkzConfig/ddkzConfigAdd.vue
0 → 100644
View file @
d9953e68
This diff is collapsed.
Click to expand it.
src/view/sjgl/ddkzConfig/ddkzConfigList.vue
0 → 100644
View file @
d9953e68
<
template
>
<div
class=
"ddkzConfigList"
>
<div
class=
"ddkzCondition"
>
<el-date-picker
value-format=
"yyyy-MM-dd HH:mm:ss"
v-model=
"dateRange"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始时间"
end-placeholder=
"结束时间"
:default-time=
"['00:00:00', '23:59:59']"
>
</el-date-picker>
<div
class=
"searchButton"
@
click=
"searchChatList"
>
搜索
</div>
</div>
<div
class=
"ddkzContent"
>
<el-table
:data=
"meetingList"
tooltip-effect=
"dark"
style=
"width: 100%;"
height=
"calc(100% - 60px)"
@
selection-change=
"handleSelectionChange"
>
<!--
<el-table-column
type=
"selection"
width=
"55"
>
</el-table-column>
-->
<el-table-column
prop=
"nickname"
label=
"主题"
align=
"center"
></el-table-column>
<el-table-column
prop=
"chatroomOwner"
label=
"支持人"
align=
"center"
></el-table-column>
<el-table-column
prop=
"createTime"
label=
"日期"
align=
"center"
></el-table-column>
<!--
<el-table-column
label=
"操作"
align=
"center"
width=
"500"
>
<template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"danger"
@
click=
"deleteMeeting(scope.row)"
>
删除
</el-button>
</
template
>
</el-table-column>
-->
</el-table>
</div>
</div>
</template>
<
script
>
import
{
getChatRoomList
}
from
"
@/api/chat/chatRoom
"
;
export
default
{
data
()
{
return
{
dateRange
:
[],
meetingList
:
[]
}
},
methods
:
{
handleSelectionChange
()
{
},
deleteMeeting
(
item
)
{
},
queryChatRoomListFn
(
param
)
{
getChatRoomList
(
param
).
then
(
res
=>
{
this
.
meetingList
=
res
;
});
},
searchChatList
(){
if
(
this
.
dateRange
.
length
==
2
){
this
.
queryChatRoomListFn
({
startTime
:
this
.
dateRange
[
0
],
endTime
:
this
.
dateRange
[
1
],
userId
:
this
.
userInfo
.
account
})
}
else
{
this
.
queryChatRoomListFn
({
userId
:
this
.
userInfo
.
account
})
}
}
},
computed
:
{
userInfo
()
{
if
(
this
.
$store
.
getters
.
userInfo
)
{
return
this
.
$store
.
getters
.
userInfo
;
}
else
{
return
{
account
:
""
};
}
}
},
mounted
()
{
this
.
queryChatRoomListFn
({
userId
:
this
.
userInfo
.
account
});
}
}
</
script
>
<
style
lang=
"scss"
>
.ddkzConfigList
{
width
:
100%
;
height
:
100%
;
.ddkzCondition
{
width
:
100%
;
height
:
80px
;
display
:
flex
;
.el-date-editor
{
background
:
none
;
span
{
color
:
white
;
}
.el-range-input
{
color
:
white
;
background
:
none
;
}
}
.el-input__inner
{
border
:
1px
solid
#3a5f94
c9
!
important
;
}
.searchButton
{
width
:
80px
;
height
:
30px
;
line-height
:
30px
;
margin-top
:
4px
;
margin-left
:
20px
;
font-size
:
14px
;
text-align
:
center
;
// background-image: url(../../../assets/img/fzjc/7.png);
background-size
:
100%
100%
;
background-repeat
:
no-repeat
;
border
:
1px
solid
#3a5f94
c9
!
important
;
border-radius
:
5px
;
cursor
:
pointer
;
}
}
.ddkzContent
{
width
:
100%
;
height
:
calc
(
100%
-
50px
);
overflow-y
:
auto
;
.el-table
tr
{
background-color
:
transparent
!
important
;
color
:
#ffffff
c7
;
}
.el-table
thead
tr
{
height
:
40px
;
background
:
url(../../../assets/img/setting/tr1.png)
no-repeat
;
background-size
:
100%
100%
;
}
.el-table
th
{
background-color
:
transparent
;
}
tbody
tr
{
border-bottom
:
1px
solid
#252631
;
}
.el-table
td
{
border-bottom
:
1px
solid
#252631
;
border-right
:
unset
;
}
.el-table--enable-row-hover
.el-table__body
tr
:hover
>
td
{
background-color
:
#82848a
78
;
}
.el-table
th
{
border
:
unset
;
}
.el-table--fit
{
background
:
none
!
important
;
border
:
unset
;
}
.el-icon-delete-solid
{
color
:
red
;
cursor
:
pointer
;
font-size
:
18px
;
}
.el-icon-edit
{
color
:
#1172d8
;
cursor
:
pointer
;
font-size
:
20px
;
}
.el-icon-view
{
color
:
#00ffff
;
font-size
:
20px
;
cursor
:
pointer
;
}
.
el-table--group
:
:
after
,
.
el-table--border
::
after
,
.
el-table
::
before
{
background-color
:
unset
;
}
.pagination-div
{
width
:
100%
;
height
:
50px
;
.el-pagination
{
margin-top
:
9px
;
text-align
:
right
;
.el-pagination__total
{
color
:
white
;
}
.el-pagination__jump
{
color
:
white
;
}
}
.myPagination.is-background
.el-pager
li
:not
(
.disabled
)
.active
{
color
:
#fff
;
border
:
1px
solid
#146a80
;
box-shadow
:
0
0
10px
#1b6097
;
background-color
:
#1d2d46
;
}
}
}
}
</
style
>
\ No newline at end of file
webpack.config.js
View file @
d9953e68
...
@@ -13,6 +13,11 @@ module.exports = {
...
@@ -13,6 +13,11 @@ module.exports = {
filename
:
'
[name].[contenthash:8].js
'
,
filename
:
'
[name].[contenthash:8].js
'
,
path
:
path
.
resolve
(
__dirname
,
'
./dist
'
)
// 打包后的目录
path
:
path
.
resolve
(
__dirname
,
'
./dist
'
)
// 打包后的目录
},
},
resolve
:{
alias
:{
'
@
'
:
path
.
join
(
__dirname
,
'
./src/
'
)
}
},
plugins
:
[
plugins
:
[
new
HtmlWebpackPlugin
({
new
HtmlWebpackPlugin
({
template
:
path
.
resolve
(
__dirname
,
'
./index.html
'
),
template
:
path
.
resolve
(
__dirname
,
'
./index.html
'
),
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment