diff --git a/resources/assets/js/components/UserAvatar.vue b/resources/assets/js/components/UserAvatar.vue
index 306a832a7..79601f105 100755
--- a/resources/assets/js/components/UserAvatar.vue
+++ b/resources/assets/js/components/UserAvatar.vue
@@ -10,6 +10,7 @@
{{$L('昵称')}}: {{user.nickname}}
{{$L('职位/职称')}}: {{user.profession || '-'}}
{{$L('离职时间')}}: {{user.disable_at}}
+
diff --git a/resources/assets/js/pages/manage/components/DialogWrapper.vue b/resources/assets/js/pages/manage/components/DialogWrapper.vue
index f09c7d861..ce8ae98bf 100644
--- a/resources/assets/js/pages/manage/components/DialogWrapper.vue
+++ b/resources/assets/js/pages/manage/components/DialogWrapper.vue
@@ -25,7 +25,11 @@
-
+
+
+ {{$L(dialogData.online_state)}}
+
+
@@ -37,17 +41,24 @@
{{dialogData.name}}
({{peopleNum}})
-
-
- {{$L('项目聊天室')}} {{$L('打开项目管理')}}
-
-
- {{$L('任务聊天室')}} {{$L('查看任务详情')}}
-
-
-
- {{$L(dialogData.online_state === true ? '在线' : dialogData.online_state)}}
-
+
+ -
+ {{$L(dialogData.online_state === true ? '在线' : dialogData.online_state)}}
+
+
+
@@ -64,23 +75,6 @@
-
-
-
@@ -489,19 +483,25 @@ export default {
msgTags() {
const array = [
- {icon: '', type: '', label: '消息'},
+ {type: '', label: '消息'},
];
if (this.dialogData.has_tag) {
- array.push({icon: '', type: 'tag', label: '标注'})
+ array.push({type: 'tag', label: '标注'})
}
if (this.dialogData.has_image) {
- array.push({icon: '', type: 'image', label: '图片'})
+ array.push({type: 'image', label: '图片'})
}
if (this.dialogData.has_file) {
- array.push({icon: '', type: 'file', label: '文件'})
+ array.push({type: 'file', label: '文件'})
}
if (this.dialogData.has_link) {
- array.push({icon: '', type: 'link', label: '链接'})
+ array.push({type: 'link', label: '链接'})
+ }
+ if (this.dialogData.group_type === 'project') {
+ array.push({type: 'project', label: '打开项目'})
+ }
+ if (this.dialogData.group_type === 'task') {
+ array.push({type: 'task', label: '打开任务'})
}
return array
},
@@ -513,12 +513,8 @@ export default {
return null
},
- navTagShow() {
- return this.dialogMsgList.length > 10 && this.msgTags.length > 1 && this.windowScrollY === 0
- },
-
scrollerClass() {
- return !this.$slots.head && this.navTagShow ? 'default-header' : null
+ return !this.$slots.head && this.msgTags.length > 1 ? 'default-header' : null
},
pasteWrapperClass() {
@@ -742,10 +738,6 @@ export default {
});
} else {
// 发送
- this.msgType = '';
- this.onActive();
- this.onToBottom();
- //
const tempId = $A.randNum(1000000000, 9999999999);
const tempMsg = {
id: tempId,
@@ -762,7 +754,10 @@ export default {
tempMsg.type = 'loading';
tempMsg.msg = { };
}
- this.tempMsgs.push(tempMsg);
+ this.tempMsgs.push(tempMsg)
+ this.msgType = ''
+ this.onActive();
+ this.$nextTick(this.onToBottom)
//
this.$store.dispatch("call", {
url: 'dialog/msg/sendtext',
@@ -786,10 +781,6 @@ export default {
* @param msg {base64, duration}
*/
sendRecord(msg) {
- this.msgType = '';
- this.onActive();
- this.onToBottom();
- //
const tempId = $A.randNum(1000000000, 9999999999);
const tempMsg = {
id: tempId,
@@ -800,7 +791,10 @@ export default {
userid: this.userId,
msg,
}
- this.tempMsgs.push(tempMsg);
+ this.tempMsgs.push(tempMsg)
+ this.msgType = ''
+ this.onActive()
+ this.$nextTick(this.onToBottom)
//
this.$store.dispatch("call", {
url: 'dialog/msg/sendrecord',
@@ -990,9 +984,6 @@ export default {
chatFile(type, file) {
switch (type) {
case 'progress':
- this.onActive();
- this.onToBottom();
- //
this.tempMsgs.push({
id: file.tempId,
dialog_id: this.dialogData.id,
@@ -1000,7 +991,9 @@ export default {
type: 'loading',
userid: this.userId,
msg: { },
- });
+ })
+ this.onActive()
+ this.$nextTick(this.onToBottom)
break;
case 'error':
@@ -1269,6 +1262,22 @@ export default {
}
},
+ onMsgType(type) {
+ switch (type) {
+ case 'project':
+ this.openProject()
+ break;
+
+ case 'task':
+ this.openTask()
+ break;
+
+ default:
+ this.msgType = type
+ break;
+ }
+ },
+
onLongpress({event, el, msgData}) {
this.operateVisible = this.operateItem.id === msgData.id;
this.operateItem = $A.isJson(msgData) ? msgData : {};
diff --git a/resources/assets/sass/pages/components/dialog-wrapper.scss b/resources/assets/sass/pages/components/dialog-wrapper.scss
index aee624f2b..3eaf9a28c 100644
--- a/resources/assets/sass/pages/components/dialog-wrapper.scss
+++ b/resources/assets/sass/pages/components/dialog-wrapper.scss
@@ -94,9 +94,9 @@
.user-avatar,
.icon-avatar {
- width: 42px;
- height: 42px;
- margin: 2px;
+ width: 44px;
+ height: 44px;
+ margin-right: 2px;
flex-grow: 0;
flex-shrink: 0;
}
@@ -170,26 +170,98 @@
}
}
- .sub-title {
- flex-shrink: 0;
- font-size: 12px;
- line-height: 20px;
- padding-top: 2px;
- color: #aaaaaa;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
+ .title-desc {
+ display: none;
+ align-items: center;
- &.pointer {
- cursor: pointer;
+ > li {
+ font-size: 12px;
+ list-style: none;
+ line-height: 16px;
+ padding-top: 2px;
+ color: #aaaaaa;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ text-align: center;
+ transform: scale(0.9);
- &:hover {
- color: #888888;
+ &.online {
+ color: $primary-color;
}
}
+ }
- &.online {
- color: $primary-color;
+ .title-tags {
+ display: flex;
+ align-items: center;
+
+ > li {
+ font-size: 12px;
+ list-style: none;
+ line-height: 22px;
+ margin-top: 5px;
+ margin-right: 5px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ cursor: pointer;
+ display: flex;
+ align-items: center;
+ padding: 0 5px;
+ color: $primary-title-color;
+ border-radius: 5px;
+
+ > i {
+ flex-shrink: 0;
+ width: 14px;
+ height: 14px;
+ line-height: 14px;
+ font-size: 14px;
+ margin-right: 3px;
+ background-repeat: no-repeat;
+ background-size: contain;
+ background-position: center center;
+ }
+
+ > span {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+
+ &.file i {
+ background-image: url("../images/dialog/file.svg");
+ }
+
+ &.image i {
+ background-image: url("../images/dialog/image.svg");
+ }
+
+ &.link i {
+ background-image: url("../images/dialog/link.svg");
+ }
+
+ &.msg i {
+ background-image: url("../images/dialog/msg.svg");
+ }
+
+ &.tag i {
+ background-image: url("../images/dialog/tag.svg");
+ }
+
+ &.project i {
+ background-image: url("../images/dialog/project.svg");
+ }
+
+ &.task i {
+ background-image: url("../images/dialog/task.svg");
+ }
+
+ &.active {
+ color: $primary-color;
+ background-color: rgba($primary-color, 0.18);
+ }
}
}
}
@@ -207,111 +279,6 @@
display: none;
}
}
-
- .nav-tags {
- position: absolute;
- top: 68px;
- left: 12px;
- right: 12px;
- z-index: 2;
- height: 56px;
- display: flex;
- align-items: center;
- justify-content: flex-start;
- overflow-x: auto;
- background-color: #ffffff;
-
- > ul {
- margin: 0 auto;
- display: flex;
- align-items: center;
- justify-content: center;
-
- > li {
- list-style: none;
- display: flex;
- align-items: center;
- margin: 0 8px;
- padding: 4px 8px;
- color: $primary-title-color;
- background-color: #F2F2F2;
- border: 1px solid #F2F2F2;
- border-radius: 6px;
- font-size: 12px;
- cursor: pointer;
- box-shadow: 0 1px 6px rgba(255, 255, 255, 0.2);
-
- @media (max-width: 640px) {
- margin: 0 6px;
- }
-
- @media (max-width: 375px) {
- margin: 0 4px;
- }
-
- > i {
- width: 14px;
- height: 14px;
- margin-right: 4px;
- background-repeat: no-repeat;
- background-size: contain;
- background-position: center center;
- }
-
- > span {
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- }
-
- &.tag-file i {
- background-image: url("../images/dialog/file.svg");
- }
-
- &.tag-image i {
- background-image: url("../images/dialog/image.svg");
- }
-
- &.tag-link i {
- background-image: url("../images/dialog/link.svg");
- }
-
- &.tag-msg i {
- background-image: url("../images/dialog/msg.svg");
- }
-
- &.tag-tag i {
- background-image: url("../images/dialog/tag.svg");
- }
-
- &.active {
- color: #ffffff;
- background-color: $primary-color;
- border-color: $primary-color;
-
- &.tag-file i {
- background-image: url("../images/dialog/file-white.svg");
- }
-
- &.tag-image i {
- background-image: url("../images/dialog/image-white.svg");
- }
-
- &.tag-link i {
- background-image: url("../images/dialog/link-white.svg");
- }
-
- &.tag-msg i {
- background-image: url("../images/dialog/msg-white.svg");
- }
-
- &.tag-tag i {
- background-image: url("../images/dialog/tag-white.svg");
- }
- }
- }
- }
- }
}
.dialog-scroller {
@@ -319,10 +286,6 @@
position: relative;
padding: 16px 32px 0;
- &.default-header {
- padding-top: 56px;
- }
-
.dialog-shake {
animation: ani-dialog-shake 600ms ease-in-out;
animation-delay: 200ms;
@@ -850,7 +813,6 @@
height: 20px;
box-sizing: content-box;
justify-content: center;
- padding-top: 16px;
.common-loading {
margin: 0;
@@ -1338,17 +1300,30 @@
.main-title {
justify-content: center;
}
- .sub-title {
- line-height: 18px;
+ .title-desc {
+ display: flex;
+ justify-content: center;
+ }
+ .title-tags {
+ position: absolute;
+ left: 0;
+ right: 0;
+ top: 48px;
+ z-index: 1;
+ padding: 0 8px;
+ background-color: #f8f8f8;
+ height: 32px;
+ align-items: flex-start;
+ overflow-x: auto;
+
+ > li {
+ flex-shrink: 0;
+ line-height: 24px;
+ }
}
}
}
}
-
- .nav-tags {
- top: 52px;
- height: 46px;
- }
}
.dialog-scroller {
padding-right: 14px;
@@ -1358,7 +1333,7 @@
background-color: #ffffff;
&.default-header {
- padding-top: 46px;
+ margin-top: 30px;
}
.dialog-item {
diff --git a/resources/assets/statics/public/css/fonts/taskfont.ttf b/resources/assets/statics/public/css/fonts/taskfont.ttf
index 274a1c882..38bf61155 100644
Binary files a/resources/assets/statics/public/css/fonts/taskfont.ttf and b/resources/assets/statics/public/css/fonts/taskfont.ttf differ
diff --git a/resources/assets/statics/public/css/fonts/taskfont.woff b/resources/assets/statics/public/css/fonts/taskfont.woff
index 235ae5b8a..82b03c915 100644
Binary files a/resources/assets/statics/public/css/fonts/taskfont.woff and b/resources/assets/statics/public/css/fonts/taskfont.woff differ
diff --git a/resources/assets/statics/public/css/fonts/taskfont.woff2 b/resources/assets/statics/public/css/fonts/taskfont.woff2
index 90a0ab03e..ce06963f2 100644
Binary files a/resources/assets/statics/public/css/fonts/taskfont.woff2 and b/resources/assets/statics/public/css/fonts/taskfont.woff2 differ
diff --git a/resources/assets/statics/public/images/dialog/file-white.svg b/resources/assets/statics/public/images/dialog/file-white.svg
deleted file mode 100644
index c0b6c8ed3..000000000
--- a/resources/assets/statics/public/images/dialog/file-white.svg
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
diff --git a/resources/assets/statics/public/images/dialog/image-white.svg b/resources/assets/statics/public/images/dialog/image-white.svg
deleted file mode 100644
index 56578ded1..000000000
--- a/resources/assets/statics/public/images/dialog/image-white.svg
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
diff --git a/resources/assets/statics/public/images/dialog/link-white.svg b/resources/assets/statics/public/images/dialog/link-white.svg
deleted file mode 100644
index 477feef1f..000000000
--- a/resources/assets/statics/public/images/dialog/link-white.svg
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
diff --git a/resources/assets/statics/public/images/dialog/msg-white.svg b/resources/assets/statics/public/images/dialog/msg-white.svg
deleted file mode 100644
index 57bd172e0..000000000
--- a/resources/assets/statics/public/images/dialog/msg-white.svg
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
diff --git a/resources/assets/statics/public/images/dialog/project.svg b/resources/assets/statics/public/images/dialog/project.svg
new file mode 100644
index 000000000..e2b8f1715
--- /dev/null
+++ b/resources/assets/statics/public/images/dialog/project.svg
@@ -0,0 +1,2 @@
+
diff --git a/resources/assets/statics/public/images/dialog/tag-white.svg b/resources/assets/statics/public/images/dialog/tag-white.svg
deleted file mode 100644
index 611826f5d..000000000
--- a/resources/assets/statics/public/images/dialog/tag-white.svg
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
diff --git a/resources/assets/statics/public/images/dialog/task.svg b/resources/assets/statics/public/images/dialog/task.svg
new file mode 100644
index 000000000..01b55e20b
--- /dev/null
+++ b/resources/assets/statics/public/images/dialog/task.svg
@@ -0,0 +1,2 @@
+