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
c08606a5
Commit
c08606a5
authored
Nov 08, 2023
by
夏敏伟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加审批以及配置功能 修改部分bug
parent
9a640bea
Changes
12
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
851 additions
and
143 deletions
+851
-143
src/api/chat/chatApproval.js
src/api/chat/chatApproval.js
+10
-0
src/api/chat/chatRoom.js
src/api/chat/chatRoom.js
+6
-2
src/util/http_util.js
src/util/http_util.js
+21
-2
src/view/ddkz/components/chatRoomDialog.vue
src/view/ddkz/components/chatRoomDialog.vue
+5
-7
src/view/ddkz/components/chatRoomInfo.vue
src/view/ddkz/components/chatRoomInfo.vue
+7
-14
src/view/ddkz/components/chatRoomPeople.vue
src/view/ddkz/components/chatRoomPeople.vue
+96
-46
src/view/ddkz/components/noticeDialog.vue
src/view/ddkz/components/noticeDialog.vue
+3
-2
src/view/home.vue
src/view/home.vue
+8
-9
src/view/sjgl/ddkzConfig/ddkzConfigAdd.vue
src/view/sjgl/ddkzConfig/ddkzConfigAdd.vue
+24
-21
src/view/sjgl/ddkzConfig/ddkzConfigApprove.vue
src/view/sjgl/ddkzConfig/ddkzConfigApprove.vue
+81
-20
src/view/sjgl/ddkzConfig/ddkzConfigExercise.vue
src/view/sjgl/ddkzConfig/ddkzConfigExercise.vue
+531
-0
src/view/sjgl/ddkzConfig/ddkzConfigList.vue
src/view/sjgl/ddkzConfig/ddkzConfigList.vue
+59
-20
No files found.
src/api/chat/chatApproval.js
0 → 100644
View file @
c08606a5
import
{
get
,
post
,
addParam
,
addParamNew
}
from
"
../../util/http_util
"
;
const
PREFIX_RECORDS
=
'
api/rest/chat/approvalPending
'
;
//待审批数据查询
export
const
getApprovalPending
=
(
chatRoomName
,
currPage
,
pageSize
,
startTime
,
endTime
,
userId
,
messageStatus
)
=>
{
let
url
=
`
${
PREFIX_RECORDS
}
/chatroom/page`
;
url
+=
addParamNew
({
chatRoomName
,
currPage
,
pageSize
,
startTime
,
endTime
,
userId
,
messageStatus
});
return
get
(
url
);
}
\ No newline at end of file
src/api/chat/chatRoom.js
View file @
c08606a5
...
@@ -13,8 +13,8 @@ export const createChatRoom = data => {
...
@@ -13,8 +13,8 @@ export const createChatRoom = data => {
}
}
//查询某个聊天室(群组)详情信息
//查询某个聊天室(群组)详情信息
export
const
getChatRoomInfo
=
(
id
,
userId
)
=>
{
export
const
getChatRoom
Member
Info
=
(
id
,
userId
)
=>
{
return
get
(
`
${
PREFIX_CHATROOM
}
/
i
nfo?id=
${
id
}
&userId=
${
userId
}
`
);
return
get
(
`
${
PREFIX_CHATROOM
}
/
memberI
nfo?id=
${
id
}
&userId=
${
userId
}
`
);
}
}
//加入聊天室(群组)
//加入聊天室(群组)
...
@@ -67,6 +67,10 @@ export const stopExercise = (data) => {
...
@@ -67,6 +67,10 @@ export const stopExercise = (data) => {
return
post
(
`
${
PREFIX_CHATROOM
}
/end`
,
data
);
return
post
(
`
${
PREFIX_CHATROOM
}
/end`
,
data
);
}
}
//配置聊天室(群组)
export
const
setMember
=
(
data
)
=>
{
return
post
(
`
${
PREFIX_CHATROOM
}
/setMember`
,
data
);
}
...
...
src/util/http_util.js
View file @
c08606a5
...
@@ -310,7 +310,7 @@ let getTime_extent = (n) => {
...
@@ -310,7 +310,7 @@ 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
();
let
currentDate
=
pre_year
+
'
-
'
+
pre_newMonth
+
'
-
'
+
pre_newDate
+
'
'
+
now
.
toLocaleTimeString
();
return
{
return
{
pre_rq
,
pre_rq
,
pre_rq_start
,
pre_rq_start
,
...
@@ -471,6 +471,24 @@ const addParam = (param) => {
...
@@ -471,6 +471,24 @@ const addParam = (param) => {
return
url
;
return
url
;
}
}
const
addParamNew
=
param
=>
{
let
url
=
""
,
i
=
0
;
let
keys
=
Object
.
getOwnPropertyNames
(
param
);
keys
.
forEach
(
function
(
key
,
index
)
{
if
(
param
[
key
]
!=
undefined
)
{
if
(
i
==
0
)
{
url
+=
"
?
"
;
i
++
;
}
url
+=
key
+
"
=
"
+
param
[
key
];
if
(
index
!=
keys
.
length
-
1
)
{
url
+=
"
&
"
;
}
}
});
return
url
;
}
let
get_exame
=
(
url
,
headers
=
{})
=>
{
let
get_exame
=
(
url
,
headers
=
{})
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
fetch
(
url
,
{
fetch
(
url
,
{
...
@@ -665,5 +683,6 @@ export {
...
@@ -665,5 +683,6 @@ export {
delete_util_exame
,
delete_util_exame
,
fileUpload_PUT
,
fileUpload_PUT
,
post_technique
,
post_technique
,
post_technique_entity
post_technique_entity
,
addParamNew
}
}
\ No newline at end of file
src/view/ddkz/components/chatRoomDialog.vue
View file @
c08606a5
<
template
>
<
template
>
<el-dialog
v-el-drag-dialog
title=
"聊天室
"
:visible.sync=
"dialogVisible"
width=
"40%"
:before-close=
"handleClose"
<el-dialog
v-el-drag-dialog
:title=
"title
"
:visible.sync=
"dialogVisible"
width=
"40%"
:before-close=
"handleClose"
@
open=
"handleDialogOpen"
>
@
open=
"handleDialogOpen"
>
<div
class=
"info-messageInfo"
>
<div
class=
"info-messageInfo"
>
<div
class=
"messageInfo-content"
>
<div
class=
"messageInfo-content"
>
...
@@ -68,7 +68,8 @@ export default {
...
@@ -68,7 +68,8 @@ export default {
myStompClient
:
null
,
myStompClient
:
null
,
file
:
null
,
file
:
null
,
imgList
:
[],
imgList
:
[],
noticeMessage
:
''
noticeMessage
:
''
,
title
:
'
聊天室
'
}
}
},
},
directives
:
{
directives
:
{
...
@@ -83,7 +84,6 @@ export default {
...
@@ -83,7 +84,6 @@ export default {
methods
:
{
methods
:
{
handleClose
()
{
handleClose
()
{
this
.
dialogVisible
=
false
;
this
.
dialogVisible
=
false
;
// this.$emit('handleCancel');
},
},
showDialog
()
{
showDialog
()
{
this
.
dialogVisible
=
true
;
this
.
dialogVisible
=
true
;
...
@@ -101,9 +101,6 @@ export default {
...
@@ -101,9 +101,6 @@ export default {
return
new
File
([
u8arr
],
`
${
filename
}
.
${
suffix
}
`
,
{
return
new
File
([
u8arr
],
`
${
filename
}
.
${
suffix
}
`
,
{
type
:
mime
type
:
mime
})
})
},
upLoadImg
()
{
},
},
sendMessageFn
()
{
sendMessageFn
()
{
if
(
this
.
$refs
.
editor
.
innerHTML
.
trim
().
length
>
0
)
{
if
(
this
.
$refs
.
editor
.
innerHTML
.
trim
().
length
>
0
)
{
...
@@ -112,7 +109,7 @@ export default {
...
@@ -112,7 +109,7 @@ export default {
this
.
imgList
=
[];
this
.
imgList
=
[];
tmpArr
.
forEach
((
item
,
index
)
=>
{
tmpArr
.
forEach
((
item
,
index
)
=>
{
let
tmpObj
=
{
content
:
item
,
messageForm
:
'
TEXT
'
}
let
tmpObj
=
{
content
:
item
,
messageForm
:
'
TEXT
'
}
if
(
item
.
indexOf
(
'
data:image/jpeg;base64
'
)
==
0
||
item
.
indexOf
(
'
data:image/png;base64
'
)
==
0
)
{
if
(
item
.
indexOf
(
'
data:image/jpeg;base64
'
)
==
0
||
item
.
indexOf
(
'
data:image/png;base64
'
)
==
0
)
{
let
obj
=
{
index
:
index
,
url
:
item
}
let
obj
=
{
index
:
index
,
url
:
item
}
this
.
imgList
.
push
(
obj
);
this
.
imgList
.
push
(
obj
);
tmpObj
.
messageForm
=
'
PICTURE
'
;
tmpObj
.
messageForm
=
'
PICTURE
'
;
...
@@ -181,6 +178,7 @@ export default {
...
@@ -181,6 +178,7 @@ export default {
handleDialogOpen
()
{
handleDialogOpen
()
{
// this.analogDataList = this.$props.analogData;
// this.analogDataList = this.$props.analogData;
this
.
currentChatRoom
=
this
.
$props
.
currentChatRoomInfo
;
this
.
currentChatRoom
=
this
.
$props
.
currentChatRoomInfo
;
this
.
title
=
this
.
currentChatRoom
.
teamInfo
.
teamName
;
this
.
myStompClient
=
this
.
$props
.
stompClient
;
this
.
myStompClient
=
this
.
$props
.
stompClient
;
//订阅
//订阅
this
.
listChatroom
(
this
.
currentChatRoom
);
this
.
listChatroom
(
this
.
currentChatRoom
);
...
...
src/view/ddkz/components/chatRoomInfo.vue
View file @
c08606a5
...
@@ -35,7 +35,7 @@
...
@@ -35,7 +35,7 @@
</div>
</div>
<div
class=
"everyDayNew"
>
<div
class=
"everyDayNew"
>
<div
class=
"everyTemplate"
>
<div
class=
"everyTemplate"
>
<div
v-for=
"
item1
in item.news"
<div
v-for=
"
(item1,index1)
in item.news"
:class=
"['everyDayNewCard', 'cardType' + item1.teamInfo.teamType]"
>
:class=
"['everyDayNewCard', 'cardType' + item1.teamInfo.teamType]"
>
<div
class=
"everyDayNewCardTitle"
v-text=
"item1.title"
></div>
<div
class=
"everyDayNewCardTitle"
v-text=
"item1.title"
></div>
<div
class=
"everyDayNewCardContent"
>
<div
class=
"everyDayNewCardContent"
>
...
@@ -90,14 +90,13 @@
...
@@ -90,14 +90,13 @@
<NoticeDialog
ref=
"myNotice"
:stompClient=
"stompClient"
:currentChatRoomInfo=
"currentChatRoomInfo"
></NoticeDialog>
<NoticeDialog
ref=
"myNotice"
:stompClient=
"stompClient"
:currentChatRoomInfo=
"currentChatRoomInfo"
></NoticeDialog>
<ChatRoomDialog
ref=
"myChatRoom"
:currentChatRoomInfo=
"currentChatRoomInfo"
:stompClient=
"stompClient"
>
<ChatRoomDialog
ref=
"myChatRoom"
:currentChatRoomInfo=
"currentChatRoomInfo"
:stompClient=
"stompClient"
>
</ChatRoomDialog>
</ChatRoomDialog>
<ChatRoomPeople
ref=
"myChatRoomPeople"
:
peopleList=
"peopleList
"
></ChatRoomPeople>
<ChatRoomPeople
ref=
"myChatRoomPeople"
:
currentTeamInfo=
"currentChatRoomInfo
"
></ChatRoomPeople>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
goBack
from
'
@/assets/img/xjs/4.png
'
;
import
goBack
from
'
@/assets/img/xjs/4.png
'
;
import
{
getRecordsByPaging
,
updateStatus
}
from
'
@/api/chat/chatRecords
'
;
import
{
getRecordsByPaging
,
updateStatus
}
from
'
@/api/chat/chatRecords
'
;
import
{
getChatRoomInfo
}
from
"
@/api/chat/chatRoom
"
;
import
{
getTime_extent
}
from
'
@/util/http_util.js
'
;
import
{
getTime_extent
}
from
'
@/util/http_util.js
'
;
import
NoticeDialog
from
'
@/view/ddkz/components/noticeDialog.vue
'
;
import
NoticeDialog
from
'
@/view/ddkz/components/noticeDialog.vue
'
;
import
ChatRoomDialog
from
"
@/view/ddkz/components/chatRoomDialog.vue
"
;
import
ChatRoomDialog
from
"
@/view/ddkz/components/chatRoomDialog.vue
"
;
...
@@ -120,7 +119,7 @@ export default {
...
@@ -120,7 +119,7 @@ export default {
newsList
:
[],
newsList
:
[],
publicNoticeList
:
[],
publicNoticeList
:
[],
stompClient
:
{
connected
:
false
},
stompClient
:
{
connected
:
false
},
peopleList
:
[],
//
peopleList: [],
notifications
:
[]
notifications
:
[]
// status:false
// status:false
}
}
...
@@ -233,12 +232,6 @@ export default {
...
@@ -233,12 +232,6 @@ export default {
sendEmail
()
{
sendEmail
()
{
alert
(
'
敬请期待
'
);
alert
(
'
敬请期待
'
);
},
},
getCurrentTeamPeople
(
item
)
{
//查询聊天组的人员
getChatRoomInfo
(
item
.
id
,
this
.
userInfo
.
account
).
then
(
res
=>
{
this
.
peopleList
=
res
.
chatRoomMemberRelationBOList
;
});
},
showLiterature
(
url
)
{
showLiterature
(
url
)
{
window
.
open
(
"
api/rest/file/download/CHAT/
"
+
url
);
window
.
open
(
"
api/rest/file/download/CHAT/
"
+
url
);
},
},
...
@@ -270,7 +263,7 @@ export default {
...
@@ -270,7 +263,7 @@ export default {
on
:
{
on
:
{
//为按钮绑定点击事件
//为按钮绑定点击事件
click
:
()
=>
{
click
:
()
=>
{
this
.
approvalNotice
(
item
.
id
,
'
RE
JECT
'
)
this
.
approvalNotice
(
item
.
id
,
'
RE
FUSE
'
)
}
}
},
},
style
:
{
style
:
{
...
@@ -281,7 +274,7 @@ export default {
...
@@ -281,7 +274,7 @@ export default {
},
'
驳回
'
);
},
'
驳回
'
);
const
contentDiv
=
h
(
'
div
'
,
{},
`内容:
${
item
.
content
}
`
);
const
contentDiv
=
h
(
'
div
'
,
{},
`内容:
${
item
.
content
}
`
);
const
fileDiv
=
h
(
'
div
'
,
{},
`
测试.png
`
);
const
fileDiv
=
h
(
'
div
'
,
{},
`
附件名称:
${
item
.
remark
==
''
?
'
暂无
'
:
item
.
remark
}
`
);
const
divTemplate
=
h
(
'
div
'
,
{
style
:
{
textAlign
:
'
center
'
}
},
[
agreeButton
,
rejectButton
])
const
divTemplate
=
h
(
'
div
'
,
{
style
:
{
textAlign
:
'
center
'
}
},
[
agreeButton
,
rejectButton
])
let
myNotify
=
this
.
$notify
({
let
myNotify
=
this
.
$notify
({
title
:
item
.
title
,
title
:
item
.
title
,
...
@@ -290,7 +283,7 @@ export default {
...
@@ -290,7 +283,7 @@ export default {
message
:
h
(
'
div
'
,
{
message
:
h
(
'
div
'
,
{
style
:
{}
style
:
{}
},
},
[
contentDiv
,
fileDiv
,
divTemplate
]
[
contentDiv
,
fileDiv
,
divTemplate
]
)
)
});
});
this
.
notifications
[
item
.
id
]
=
myNotify
this
.
notifications
[
item
.
id
]
=
myNotify
...
@@ -344,7 +337,7 @@ export default {
...
@@ -344,7 +337,7 @@ export default {
// this.status = this.stompClient.connected;
// this.status = this.stompClient.connected;
this
.
listChatroom
(
this
.
currentChatRoomInfo
);
this
.
listChatroom
(
this
.
currentChatRoomInfo
);
//获取当前组成员
//获取当前组成员
this
.
getCurrentTeamPeople
(
this
.
currentChatRoomInfo
);
//
this.getCurrentTeamPeople(this.currentChatRoomInfo);
//获取当前公告列表
//获取当前公告列表
this
.
getRecordsByPagingFn
(
this
.
currentChatRoomInfo
);
this
.
getRecordsByPagingFn
(
this
.
currentChatRoomInfo
);
}
}
...
...
src/view/ddkz/components/chatRoomPeople.vue
View file @
c08606a5
<
template
>
<
template
>
<el-dialog
v-el-drag-dialog
title=
"人员情况"
:visible.sync=
"dialogVisible"
width=
"40%"
<el-dialog
v-el-drag-dialog
title=
"人员情况"
:visible.sync=
"dialogVisible"
width=
"40%"
:before-close=
"handleClose"
:before-close=
"handleClose"
@
open=
"handleDialogOpen"
>
@
open=
"handleDialogOpen"
>
<div
class=
"info-personInfo"
>
<div
class=
"info-personInfo"
>
<div
class=
"personInfo-content"
>
<div
class=
"personInfo-content"
>
<div
v-for=
"item in personList"
class=
"everyPersonList"
>
<div
v-for=
"item in personList"
class=
"everyTeam"
>
<span
v-text=
"item.userId"
@
click=
"selectPerson(item);"
></span>
<div
class=
"teamInfo"
>
<span>
队伍名称:
<span>
{{
item
.
teamName
}}
</span></span>
<!--
<span>
角色:
<span>
{{
item
.
teamType
}}
</span></span>
-->
</div>
<div
class=
"peopleInfo"
>
<div
v-for=
"item1 in item.teamMemberStateBOList"
class=
"everyPersonList"
>
<span
class=
"isOnline"
:style=
"
{ backgroundColor: item1.online ? 'green' : 'gray' }">
</span>
<span
class=
"username"
:style=
"
{ color: item1.online ? 'green' : 'white' }"
v-text="item1.userId">
</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -14,18 +24,20 @@
...
@@ -14,18 +24,20 @@
<
script
>
<
script
>
import
elDragDialog
from
"
@/util/directive/el-dragDialog
"
;
import
elDragDialog
from
"
@/util/directive/el-dragDialog
"
;
import
{
getChatRoomMemberInfo
}
from
"
@/api/chat/chatRoom
"
;
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
dialogVisible
:
false
,
dialogVisible
:
false
,
personList
:
[]
personList
:
[],
teamInfo
:
{}
}
}
},
},
directives
:
{
directives
:
{
elDragDialog
elDragDialog
},
},
props
:
{
props
:
{
peopleList
:
Array
currentTeamInfo
:
Object
},
},
methods
:
{
methods
:
{
handleClose
()
{
handleClose
()
{
...
@@ -35,7 +47,25 @@ export default {
...
@@ -35,7 +47,25 @@ export default {
this
.
dialogVisible
=
true
;
this
.
dialogVisible
=
true
;
},
},
handleDialogOpen
()
{
handleDialogOpen
()
{
this
.
personList
=
this
.
$props
.
peopleList
;
this
.
teamInfo
=
this
.
$props
.
currentTeamInfo
;
this
.
getCurrentTeamPeople
(
this
.
teamInfo
);
},
getCurrentTeamPeople
(
item
)
{
//查询聊天组的人员
getChatRoomMemberInfo
(
item
.
id
,
this
.
userInfo
.
account
).
then
(
res
=>
{
this
.
personList
=
res
;
}).
catch
(
error
=>
{
this
.
$message
.
error
(
error
);
});
},
},
computed
:
{
userInfo
()
{
if
(
this
.
$store
.
getters
.
userInfo
)
{
return
this
.
$store
.
getters
.
userInfo
;
}
else
{
return
{
account
:
""
};
}
}
}
}
}
}
}
...
@@ -68,60 +98,80 @@ export default {
...
@@ -68,60 +98,80 @@ export default {
.personInfo-content
{
.personInfo-content
{
width
:
100%
;
width
:
100%
;
height
:
calc
(
100%
-
30px
);
height
:
100%
;
.everyPersonList
{
.everyTeam
{
width
:
100%
;
width
:
calc
(
33%
-
10px
);
height
:
35px
;
height
:
calc
(
100%
-
30px
);
line-height
:
35px
;
border
:
1px
solid
#3a5f94
c9
;
margin-top
:
10px
;
border-radius
:
6px
;
padding
:
0px
50px
;
padding
:
5px
;
font-size
:
13px
;
color
:
#f1f1f7
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
float
:
left
;
margin-top
:
10px
;
margin-left
:
8px
;
&
:nth-child
(
3n
)
{
.teamInfo
{
background-image
:
url(../../../assets/img/ddkz/12.png)
;
width
:
100%
;
background-size
:
100%
100%
;
height
:
30px
;
}
text-align
:
center
;
&
:nth-child
(
3n
+
1
)
{
&
>
span
{
background-image
:
url(../../../assets/img/ddkz/13.png)
;
margin-left
:
20px
;
background-size
:
100%
100%
;
color
:
white
;
}
&
>
span
{
color
:
#2c8aeb
;
}
}
&
:nth-child
(
3n
+
2
)
{
background-image
:
url(../../../assets/img/ddkz/14.png)
;
background-size
:
100%
100%
;
}
}
&
>
span
{
.peopleInfo
{
float
:
left
;
width
:
100%
;
margin-left
:
10px
;
height
:
calc
(
100%
-
30px
);
overflow-y
:
auto
;
&
:
:-
webkit-scrollbar
{
display
:
none
;
}
&
:hover
{
.everyPersonList
{
color
:
green
;
width
:
100%
;
cursor
:
pointer
;
height
:
30px
;
line-height
:
35px
;
padding-left
:
70px
;
margin-top
:
5px
;
.isOnline
{
width
:
10px
;
height
:
10px
;
border-radius
:
50%
;
display
:
inline-block
;
margin-right
:
5px
;
}
.username
{
color
:
white
;
}
}
}
&
>
span
:first-child
{
&
>
div
:nth-child
(
3n
)
{
float
:
left
;
background-image
:
url(@/assets/img/ddkz/12.png)
;
background-size
:
100%
100%
;
}
}
&
>
span
:last-child
{
&
>
div
:nth-child
(
3n
+
1
)
{
width
:
10px
;
background-image
:
url(@/assets/img/ddkz/13.png)
;
height
:
10px
;
background-size
:
100%
100%
;
border-radius
:
50%
;
display
:
block
;
float
:
left
;
margin-top
:
12
.5px
;
margin-left
:
5px
;
}
}
&
>
div
:nth-child
(
3n
+
2
)
{
background-image
:
url(@/assets/img/ddkz/14.png)
;
background-size
:
100%
100%
;
}
}
}
}
}
}
}
}
}
</
style
>
</
style
>
\ No newline at end of file
src/view/ddkz/components/noticeDialog.vue
View file @
c08606a5
...
@@ -39,6 +39,7 @@ export default {
...
@@ -39,6 +39,7 @@ export default {
title
:
''
,
title
:
''
,
content
:
''
,
content
:
''
,
attachment
:
''
,
attachment
:
''
,
remark
:
''
,
messageForm
:
null
messageForm
:
null
},
},
formatFile
:
format_file
(),
formatFile
:
format_file
(),
...
@@ -76,7 +77,7 @@ export default {
...
@@ -76,7 +77,7 @@ export default {
}
else
{
}
else
{
this
.
form
.
messageForm
=
'
TEXT
'
;
this
.
form
.
messageForm
=
'
TEXT
'
;
}
}
this
.
form
.
remark
=
file
.
name
;
});
});
},
},
handleRemove
()
{
handleRemove
()
{
...
@@ -92,7 +93,7 @@ export default {
...
@@ -92,7 +93,7 @@ export default {
messageForm
:
null
messageForm
:
null
};
};
this
.
handleRemove
();
this
.
handleRemove
();
this
.
dialogVisible
=
false
;
},
},
handleDialogOpen
()
{
handleDialogOpen
()
{
this
.
myStompClient
=
this
.
$props
.
stompClient
;
this
.
myStompClient
=
this
.
$props
.
stompClient
;
...
...
src/view/home.vue
View file @
c08606a5
...
@@ -20,10 +20,9 @@
...
@@ -20,10 +20,9 @@
</div>
</div>
<div
class=
"top-nav3"
>
<div
class=
"top-nav3"
>
<div
class=
"top-nav3-content"
>
<div
class=
"top-nav3-content"
>
<!--
<div
class=
"top-nav3-content-user"
@
click=
"dialogVisible = true;"
>
<div
class=
"top-nav3-content-user"
@
click=
"dialogVisible = true;"
>
<i
class=
"el-icon-user-solid"
></i>
<i
class=
"el-icon-user-solid"
></i><span
v-text=
"userInfo.username"
></span>
<span
v-text=
"userInfo.username"
></span>
</div>
</div>
-->
<!--
<div
class=
"top-nav3-content-user"
v-if=
"noteNum > 0"
>
<!--
<div
class=
"top-nav3-content-user"
v-if=
"noteNum > 0"
>
<a
@
click=
"queryNotification()"
class=
"nav-link"
>
<a
@
click=
"queryNotification()"
class=
"nav-link"
>
<div
class=
"nav-counter nav-counter-red"
v-text=
"noteNum"
></div>
<div
class=
"nav-counter nav-counter-red"
v-text=
"noteNum"
></div>
...
@@ -402,7 +401,7 @@ export default {
...
@@ -402,7 +401,7 @@ export default {
position
:
absolute
;
position
:
absolute
;
text-align
:
center
;
text-align
:
center
;
top
:
20px
;
top
:
20px
;
left
:
6
%
;
left
:
7
%
;
.module-info
{
.module-info
{
width
:
33%
;
width
:
33%
;
...
@@ -440,7 +439,7 @@ export default {
...
@@ -440,7 +439,7 @@ export default {
right
:
0px
;
right
:
0px
;
text-align
:
center
;
text-align
:
center
;
top
:
20px
;
top
:
20px
;
right
:
6
%
;
right
:
7
%
;
.module-info
{
.module-info
{
width
:
33%
;
width
:
33%
;
...
@@ -484,9 +483,9 @@ export default {
...
@@ -484,9 +483,9 @@ export default {
}
}
.top-nav3
{
.top-nav3
{
width
:
6
0px
;
width
:
10
0px
;
height
:
40px
;
height
:
40px
;
padding-left
:
2
%
;
padding-left
:
1
%
;
position
:
absolute
;
position
:
absolute
;
top
:
20px
;
top
:
20px
;
right
:
0px
;
right
:
0px
;
...
@@ -498,7 +497,7 @@ export default {
...
@@ -498,7 +497,7 @@ export default {
line-height
:
32px
;
line-height
:
32px
;
position
:
relative
;
position
:
relative
;
top
:
calc
(
50%
-
16px
);
top
:
calc
(
50%
-
16px
);
font-size
:
1
7
px
;
font-size
:
1
5
px
;
}
}
.top-nav3-content-user
{
.top-nav3-content-user
{
...
...
src/view/sjgl/ddkzConfig/ddkzConfigAdd.vue
View file @
c08606a5
...
@@ -23,8 +23,8 @@
...
@@ -23,8 +23,8 @@
<el-input
v-model=
"item.teamName"
></el-input>
<el-input
v-model=
"item.teamName"
></el-input>
</el-form-item>
</el-form-item>
<!--
<el-form-item
label=
"参会立场"
>
-->
<!--
<el-form-item
label=
"参会立场"
>
-->
<!--
<el-input
v-model=
"formData.teamType"
></el-input>
-->
<!--
<el-input
v-model=
"formData.teamType"
></el-input>
-->
<!--
<el-select
v-model=
"item.teamType"
placeholder=
"请选择"
>
<!--
<el-select
v-model=
"item.teamType"
placeholder=
"请选择"
>
<el-option
v-for=
"item in teamType"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
<el-option
v-for=
"item in teamType"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-option>
</el-select>
-->
</el-select>
-->
...
@@ -94,10 +94,10 @@
...
@@ -94,10 +94,10 @@
</div>
</div>
</el-form-item>
</el-form-item>
<el-form-item
label=
"组长"
v-if=
"item.wpinfo.length
>
0"
>
<el-form-item
label=
"组长"
v-if=
"item.wpinfo.length
>
0"
>
<el-select
v-model=
"item.leader"
placeholder=
"请选择组长"
>
<el-select
v-model=
"item.leader"
placeholder=
"请选择组长"
>
<el-option
v-for=
"item
in item.wpinfo"
:key=
"item.account"
:label=
"item
.account"
<el-option
v-for=
"item
1 in item.wpinfo"
:key=
"item1.account"
:label=
"item1
.account"
:value=
"item.account"
>
:value=
"item
1
.account"
>
</el-option>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
...
@@ -121,7 +121,7 @@ export default {
...
@@ -121,7 +121,7 @@ export default {
chatroomOwner
:
null
,
chatroomOwner
:
null
,
conRemark
:
''
,
conRemark
:
''
,
nickname
:
''
,
nickname
:
''
,
director
:[],
director
:
[],
chatroomHeadPic
:
''
,
chatroomHeadPic
:
''
,
teams
:
[
teams
:
[
{
{
...
@@ -285,20 +285,24 @@ export default {
...
@@ -285,20 +285,24 @@ export default {
})
})
},
},
createMeeting
()
{
createMeeting
()
{
this
.
formData
.
chatroomOwner
=
this
.
userInfo
.
account
;
if
(
this
.
formData
.
director
.
length
>
0
)
{
this
.
formData
.
teams
.
forEach
(
item
=>
{
this
.
formData
.
chatroomOwner
=
this
.
userInfo
.
account
;
item
.
createTime
=
getTime_extent
(
0
).
currentDate
;
this
.
formData
.
teams
.
forEach
(
item
=>
{
item
.
wpinfo
.
forEach
(
item1
=>
{
item
.
createTime
=
getTime_extent
(
0
).
currentDate
;
item
.
member
.
push
(
item1
.
account
);
item
.
wpinfo
.
forEach
(
item1
=>
{
item
.
member
.
push
(
item1
.
account
);
})
});
createChatRoom
(
this
.
formData
).
then
(
res
=>
{
if
(
res
==
'
创建成功
'
)
{
this
.
$message
.
success
(
'
聊天室创建成功!
'
);
}
}).
catch
(
error
=>
{
this
.
$message
.
error
(
error
);
})
})
});
}
else
{
createChatRoom
(
this
.
formData
).
then
(
res
=>
{
this
.
$message
.
warning
(
'
导演部不能为空!
'
);
if
(
res
==
'
创建成功
'
)
{
}
this
.
$message
.
success
(
'
聊天室创建成功!
'
);
}
}).
catch
(
error
=>
{
this
.
$message
.
error
(
error
);
})
}
}
},
},
computed
:
{
computed
:
{
...
@@ -363,8 +367,7 @@ export default {
...
@@ -363,8 +367,7 @@ export default {
box-sizing
:
border-box
;
box-sizing
:
border-box
;
border-radius
:
4px
;
border-radius
:
4px
;
&
>
div
:first-child
&
>
div
:first-child
{
{
margin-top
:
10px
;
margin-top
:
10px
;
display
:
flex
;
display
:
flex
;
...
...
src/view/sjgl/ddkzConfig/ddkzConfigApprove.vue
View file @
c08606a5
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
<el-date-picker
value-format=
"yyyy-MM-dd HH:mm:ss"
v-model=
"form.dateRange"
type=
"daterange"
range-separator=
"至"
<el-date-picker
value-format=
"yyyy-MM-dd HH:mm:ss"
v-model=
"form.dateRange"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始时间"
end-placeholder=
"结束时间"
:default-time=
"['00:00:00', '23:59:59']"
>
start-placeholder=
"开始时间"
end-placeholder=
"结束时间"
:default-time=
"['00:00:00', '23:59:59']"
>
</el-date-picker>
</el-date-picker>
<el-input
class=
"myInput"
v-model=
"form.chatRoomName"
placeholder=
"请输入聊天室名称"
clearable
></el-input>
<el-input
v-model=
"form.chatRoomName"
placeholder=
"请输入聊天室名称"
clearable
></el-input>
<el-select
style=
"margin-left: 10px;"
v-model=
"form.status"
placeholder=
"请选择审批状态"
clearable
>
<el-select
style=
"margin-left: 10px;"
v-model=
"form.status"
placeholder=
"请选择审批状态"
clearable
>
<el-option
v-for=
"item in stateList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
<el-option
v-for=
"item in stateList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-option>
...
@@ -14,29 +14,38 @@
...
@@ -14,29 +14,38 @@
<div
class=
"yxspContent"
>
<div
class=
"yxspContent"
>
<el-table
:data=
"meetingList"
tooltip-effect=
"dark"
style=
"width: 100%;"
height=
"calc(100% - 60px)"
>
<el-table
:data=
"meetingList"
tooltip-effect=
"dark"
style=
"width: 100%;"
height=
"calc(100% - 60px)"
>
<el-table-column
type=
"index"
width=
"60"
label=
"序号"
align=
"center"
></el-table-column>
<el-table-column
type=
"index"
width=
"60"
label=
"序号"
align=
"center"
></el-table-column>
<el-table-column
prop=
"nickname"
label=
"演习标题"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
chatRoomInfo.
nickname"
label=
"演习标题"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
conRemark
"
label=
"演习方"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
teamInfo.teamType
"
label=
"演习方"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
createTim
e"
label=
"发送标题"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
titl
e"
label=
"发送标题"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
status.name
"
label=
"发送内容"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
content
"
label=
"发送内容"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
createTime
"
label=
"发送附件"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
remark
"
label=
"发送附件"
align=
"center"
></el-table-column>
<el-table-column
prop=
"createTime"
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"
>
<el-table-column
label=
"操作"
align=
"center"
width=
"500"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"primary"
>
详情
</el-button>
<!--
<el-button
size=
"mini"
type=
"primary"
>
详情
</
el-button>
-->
<el-button
v-if=
"scope.row.status.name == '审核中'"
size=
"mini"
type=
"danger"
<el-button
v-if=
"(scope.row.messageStatus?scope.row.messageStatus.name:null) == '待审批'"
size=
"mini"
type=
"success"
@
click=
"passNotice(scope.row)"
>
同意
</el-button>
<el-button
v-if=
"(scope.row.messageStatus?scope.row.messageStatus.name:null) == '待审批'"
size=
"mini"
type=
"danger"
@
click=
"rejectNotice(scope.row)"
>
驳回
</el-button>
@
click=
"rejectNotice(scope.row)"
>
驳回
</el-button>
<el-button
v-if=
"scope.row.status.name == '待开始'"
size=
"mini"
type=
"success"
<el-tag
v-if=
"(scope.row.messageStatus?scope.row.messageStatus.name:null) == '已同意'"
type=
"success"
effect=
"dark"
>
已通过
</el-tag>
@
click=
"passNotice(scope.row)"
>
审核通过
</el-button>
<el-tag
v-if=
"(scope.row.messageStatus?scope.row.messageStatus.name:null) == '已拒绝'"
type=
"danger"
effect=
"dark"
>
未通过
</el-tag>
<el-tag
v-if=
"scope.row.status.name == '审核通过'"
type=
"success"
effect=
"dark"
>
已通过
</el-tag>
<el-tag
v-if=
"scope.row.status.name == '审核未通过'"
type=
"danger"
effect=
"dark"
>
未通过
</el-tag>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
<div
class=
"pagination-div"
>
<el-pagination
class=
"myPagination"
background
layout=
"total, sizes, prev, pager, next, jumper"
:current-page=
"pageObj.currentPage"
:total=
"pageObj.total"
@
current-change=
"handleCurrentChange"
@
size-change=
"handleSizeChange"
:page-size=
"pageObj.everySize"
:page-sizes=
"[10, 20, 50, 100]"
>
</el-pagination>
</div>
</div>
</div>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
{
getApprovalPending
}
from
'
@/api/chat/chatApproval
'
;
import
{
updateStatus
}
from
'
@/api/chat/chatRecords
'
;
import
{
getTime_extent
}
from
'
@/util/http_util.js
'
;
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
...
@@ -46,27 +55,74 @@ export default {
...
@@ -46,27 +55,74 @@ export default {
status
:
null
status
:
null
},
},
stateList
:
[
stateList
:
[
{
label
:
'
审核通过
'
,
value
:
'
PASSED
'
},
{
label
:
'
已同意
'
,
value
:
'
PASS
'
},
{
label
:
'
审核未通过
'
,
value
:
'
REJECT
'
},
{
label
:
'
已拒绝
'
,
value
:
'
REFUSE
'
},
{
label
:
'
审核中
'
,
value
:
'
INREVIEW
'
},
{
label
:
'
待审批
'
,
value
:
'
PENDING_APPROVAL
'
},
],
],
meetingList
:
[]
meetingList
:
[],
pageObj
:
{
currentPage
:
1
,
everySize
:
10
,
total
:
0
}
}
}
},
},
methods
:
{
methods
:
{
rejectNotice
(
item
)
{
rejectNotice
(
item
)
{
updateStatus
(
item
.
id
,
'
REFUSE
'
).
then
(
res
=>
{
this
.
$message
.
success
(
res
);
this
.
searchChatList
();
}).
catch
(
error
=>
{
this
.
$message
.
error
(
error
);
})
},
},
passNotice
(
item
)
{
passNotice
(
item
)
{
updateStatus
(
item
.
id
,
'
PASS
'
).
then
(
res
=>
{
this
.
$message
.
success
(
res
);
this
.
searchChatList
();
}).
catch
(
error
=>
{
this
.
$message
.
error
(
error
);
})
},
},
searchChatList
()
{
searchChatList
()
{
if
(
this
.
form
.
dateRange
.
length
==
2
)
{
if
(
this
.
form
.
dateRange
.
length
==
2
)
{
this
.
queryChatRoomListFn
({
startTime
:
this
.
form
.
dateRange
[
0
],
endTime
:
this
.
form
.
dateRange
[
1
],
userId
:
this
.
userInfo
.
account
,
status
:
this
.
form
.
status
==
''
?
null
:
this
.
form
.
status
,
chatRoomName
:
this
.
form
.
chatRoomName
==
''
?
null
:
this
.
form
.
chatRoomName
})
this
.
getApprovalPendingFn
(
this
.
form
.
chatRoomName
,
this
.
pageObj
.
currentPage
,
this
.
pageObj
.
pageSize
,
this
.
form
.
dateRange
[
0
],
this
.
form
.
dateRange
[
1
],
this
.
userInfo
.
account
,
this
.
form
.
status
);
}
else
{
this
.
getApprovalPendingFn
(
this
.
form
.
chatRoomName
,
this
.
pageObj
.
currentPage
,
this
.
pageObj
.
pageSize
,
null
,
null
,
this
.
userInfo
.
account
,
this
.
form
.
status
);
}
},
getApprovalPendingFn
(...
params
)
{
getApprovalPending
(...
params
).
then
(
res
=>
{
this
.
meetingList
=
res
.
records
;
this
.
pageObj
.
currentPage
=
res
.
currentPage
;
this
.
pageObj
.
pageSize
=
res
.
pageSize
;
this
.
pageObj
.
total
=
res
.
total
;
}).
catch
(
error
=>
{
this
.
$message
.
error
(
error
.
message
);
})
},
handleCurrentChange
(
currentPage
)
{
this
.
pageObj
.
currentPage
=
currentPage
;
this
.
searchChatList
();
},
handleSizeChange
(
pageSize
)
{
this
.
pageObj
.
everySize
=
pageSize
;
this
.
searchChatList
();
},
},
computed
:
{
userInfo
()
{
if
(
this
.
$store
.
getters
.
userInfo
)
{
return
this
.
$store
.
getters
.
userInfo
;
}
else
{
}
else
{
this
.
queryChatRoomListFn
({
userId
:
this
.
userInfo
.
account
,
status
:
this
.
form
.
status
==
''
?
null
:
this
.
form
.
status
,
chatRoomName
:
this
.
form
.
chatRoomName
==
''
?
null
:
this
.
form
.
chatRoomName
})
return
{
account
:
""
};
}
}
}
}
},
mounted
()
{
this
.
getApprovalPendingFn
(
null
,
this
.
pageObj
.
currentPage
,
this
.
pageObj
.
pageSize
,
this
.
form
.
dateRange
.
length
>
0
?
this
.
form
.
dateRange
[
0
]
:
null
,
this
.
form
.
dateRange
.
length
>
0
?
this
.
form
.
dateRange
[
1
]
:
null
,
this
.
userInfo
.
account
,
null
);
}
}
}
}
</
script
>
</
script
>
...
@@ -97,6 +153,7 @@ export default {
...
@@ -97,6 +153,7 @@ export default {
.el-input
{
.el-input
{
float
:
left
;
float
:
left
;
width
:
200px
;
width
:
200px
;
height
:
40px
;
margin-left
:
10px
;
margin-left
:
10px
;
.el-input__inner
{
.el-input__inner
{
...
@@ -216,6 +273,10 @@ export default {
...
@@ -216,6 +273,10 @@ export default {
box-shadow
:
0
0
10px
#1b6097
;
box-shadow
:
0
0
10px
#1b6097
;
background-color
:
#1d2d46
;
background-color
:
#1d2d46
;
}
}
.el-input--suffix
.el-input__inner
{
height
:
28px
;
}
}
}
}
}
}
}
...
...
src/view/sjgl/ddkzConfig/ddkzConfigExercise.vue
0 → 100644
View file @
c08606a5
This diff is collapsed.
Click to expand it.
src/view/sjgl/ddkzConfig/ddkzConfigList.vue
View file @
c08606a5
...
@@ -22,7 +22,8 @@
...
@@ -22,7 +22,8 @@
<el-table-column
prop=
"createTime"
label=
"演习结果"
align=
"center"
></el-table-column>
<el-table-column
prop=
"createTime"
label=
"演习结果"
align=
"center"
></el-table-column>
<el-table-column
prop=
"status.name"
label=
"演习状态"
align=
"center"
></el-table-column>
<el-table-column
prop=
"status.name"
label=
"演习状态"
align=
"center"
></el-table-column>
<el-table-column
prop=
"createTime"
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"
>
<el-table-column
prop=
"result"
label=
"演习结果"
align=
"center"
></el-table-column>
<el-table-column
label=
"操作"
align=
"center"
width=
"300"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<el-button
v-if=
"scope.row.status.name !== '进行中'"
size=
"mini"
type=
"danger"
<el-button
v-if=
"scope.row.status.name !== '进行中'"
size=
"mini"
type=
"danger"
@
click=
"deleteExercise(scope.row)"
>
删除
</el-button>
@
click=
"deleteExercise(scope.row)"
>
删除
</el-button>
...
@@ -30,15 +31,18 @@
...
@@ -30,15 +31,18 @@
@
click=
"startExercise(scope.row)"
>
启动
</el-button>
@
click=
"startExercise(scope.row)"
>
启动
</el-button>
<el-button
v-if=
"scope.row.status.name == '进行中'"
size=
"mini"
type=
"warning"
<el-button
v-if=
"scope.row.status.name == '进行中'"
size=
"mini"
type=
"warning"
@
click=
"stopExercise(scope.row)"
>
结束
</el-button>
@
click=
"stopExercise(scope.row)"
>
结束
</el-button>
<el-button
size=
"mini"
type=
"primary"
@
click=
"configExercise(scope.row)"
>
配置
</el-button>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
</div>
</div>
<DdkzConfigExercise
ref=
"myConfigExercise"
:currentExercise=
"myCurrentExercise"
></DdkzConfigExercise>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
{
getChatRoomList
,
startExercise
,
stopExercise
,
removeExercise
}
from
"
@/api/chat/chatRoom
"
;
import
{
getChatRoomList
,
startExercise
,
stopExercise
,
removeExercise
}
from
"
@/api/chat/chatRoom
"
;
import
ddkzConfigExercise
from
"
@/view/sjgl/ddkzConfig/ddkzConfigExercise.vue
"
;
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
...
@@ -49,21 +53,37 @@ export default {
...
@@ -49,21 +53,37 @@ export default {
},
},
meetingList
:
[],
meetingList
:
[],
exerciseList
:
[{
label
:
'
待开始
'
,
value
:
'
CREATED
'
},
{
label
:
'
进行中
'
,
value
:
'
ONGOING
'
},
{
label
:
'
已结束
'
,
value
:
'
CLOSED
'
}]
exerciseList
:
[{
label
:
'
待开始
'
,
value
:
'
CREATED
'
},
{
label
:
'
进行中
'
,
value
:
'
ONGOING
'
},
{
label
:
'
已结束
'
,
value
:
'
CLOSED
'
}],
myCurrentExercise
:{}
}
}
},
},
components
:
{
DdkzConfigExercise
:
ddkzConfigExercise
},
methods
:
{
methods
:
{
handleSelectionChange
()
{
},
handleSelectionChange
()
{
},
//删除演习
//删除演习
deleteExercise
(
item
)
{
deleteExercise
(
item
)
{
removeExercise
(
item
.
id
).
then
(
res
=>
{
this
.
$confirm
(
'
此操作将永久删除, 是否继续?
'
,
'
提示
'
,
{
if
(
res
==
1
)
{
confirmButtonText
:
'
确定
'
,
this
.
$message
.
success
(
'
删除演习成功!
'
);
cancelButtonText
:
'
取消
'
,
this
.
searchChatList
();
type
:
'
warning
'
}
}).
then
(()
=>
{
}).
catch
(
error
=>
{
removeExercise
(
item
.
id
).
then
(
res
=>
{
this
.
$message
.
error
(
error
.
message
);
if
(
res
==
1
)
{
this
.
$message
.
success
(
'
删除演习成功!
'
);
this
.
searchChatList
();
}
}).
catch
(
error
=>
{
this
.
$message
.
error
(
error
.
message
);
});
}).
catch
(()
=>
{
this
.
$message
({
type
:
'
info
'
,
message
:
'
已取消删除
'
});
});
});
},
},
//启动演习
//启动演习
startExercise
(
item
)
{
startExercise
(
item
)
{
...
@@ -78,18 +98,30 @@ export default {
...
@@ -78,18 +98,30 @@ export default {
},
},
//结束演习
//结束演习
stopExercise
(
item
)
{
stopExercise
(
item
)
{
let
params
=
{
this
.
$prompt
(
'
请输入演习结果
'
,
'
提示
'
,
{
chatRoomId
:
item
.
id
,
confirmButtonText
:
'
确定
'
,
result
:
'
暂无
'
cancelButtonText
:
'
取消
'
,
};
inputType
:
'
textarea
'
stopExercise
(
params
).
then
(
res
=>
{
}).
then
(({
value
})
=>
{
if
(
res
==
1
)
{
let
params
=
{
this
.
$message
.
success
(
'
此演习结束!
'
);
chatRoomId
:
item
.
id
,
this
.
searchChatList
();
result
:
value
}
};
}).
catch
(
error
=>
{
stopExercise
(
params
).
then
(
res
=>
{
this
.
$message
.
error
(
error
.
message
);
if
(
res
==
1
)
{
this
.
$message
.
success
(
'
此演习结束!
'
);
this
.
searchChatList
();
}
}).
catch
(
error
=>
{
this
.
$message
.
error
(
error
.
message
);
});
}).
catch
(()
=>
{
this
.
$message
({
type
:
'
info
'
,
message
:
'
取消输入
'
});
});
});
},
},
queryChatRoomListFn
(
param
)
{
queryChatRoomListFn
(
param
)
{
getChatRoomList
(
param
).
then
(
res
=>
{
getChatRoomList
(
param
).
then
(
res
=>
{
...
@@ -103,6 +135,13 @@ export default {
...
@@ -103,6 +135,13 @@ export default {
}
else
{
}
else
{
this
.
queryChatRoomListFn
({
userId
:
this
.
userInfo
.
account
,
status
:
this
.
form
.
status
==
''
?
null
:
this
.
form
.
status
,
keyword
:
this
.
form
.
keyword
==
''
?
null
:
this
.
form
.
keyword
})
this
.
queryChatRoomListFn
({
userId
:
this
.
userInfo
.
account
,
status
:
this
.
form
.
status
==
''
?
null
:
this
.
form
.
status
,
keyword
:
this
.
form
.
keyword
==
''
?
null
:
this
.
form
.
keyword
})
}
}
},
//配置演习
configExercise
(
item
){
this
.
$nextTick
(()
=>
{
this
.
$refs
.
myConfigExercise
.
showDialog
();
})
this
.
myCurrentExercise
=
item
;
}
}
},
},
computed
:
{
computed
:
{
...
...
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