doway-coms 1.6.53 → 1.6.55
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/packages/LeaveAMessage/src/index.vue +151 -107
package/package.json
CHANGED
|
@@ -1,30 +1,47 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div
|
|
3
|
-
<div class="
|
|
4
|
-
<a-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
2
|
+
<div>
|
|
3
|
+
<div class="odoo" @click="showOdoo = !showOdoo">
|
|
4
|
+
<a-icon type="snippets" style="font-size: 30px; color: #fff" />
|
|
5
|
+
</div>
|
|
6
|
+
<vxe-modal
|
|
7
|
+
v-model="showOdoo"
|
|
8
|
+
:height="modalHeight"
|
|
9
|
+
:zIndex="1000"
|
|
10
|
+
:showHeader="false"
|
|
11
|
+
:mask="false"
|
|
12
|
+
:mask-closable="true"
|
|
13
|
+
:position="{
|
|
14
|
+
left: '72%',
|
|
15
|
+
top: '15%'
|
|
16
|
+
}"
|
|
17
|
+
destroy-on-close
|
|
18
|
+
>
|
|
19
|
+
<div class="liu-yan" style="background-color: #eaeef1">
|
|
20
|
+
<div class="input-box">
|
|
21
|
+
<a-tabs default-active-key="msg">
|
|
22
|
+
<a-tab-pane key="msg" tab="发送消息">
|
|
23
|
+
<div style="display:flex">
|
|
24
|
+
<div
|
|
25
|
+
style="display:flex;justify-content: center;align-items: center;margin-bottom:5px;flex:1"
|
|
26
|
+
>
|
|
27
|
+
<div style="flex:1">主题:</div>
|
|
28
|
+
<a-input v-model:value="subject" style="flex:3" size="small"></a-input>
|
|
29
|
+
</div>
|
|
30
|
+
<div
|
|
31
|
+
style="display:flex;justify-content: center;align-items: center;margin-bottom:5px;margin-left:5px;flex:1"
|
|
32
|
+
>
|
|
33
|
+
<div style="flex:1">发送给:</div>
|
|
34
|
+
<a-select
|
|
35
|
+
v-model:value="sendUser"
|
|
36
|
+
mode="tags"
|
|
37
|
+
style="width: 85%;flex:3"
|
|
38
|
+
:options="userList"
|
|
39
|
+
size="small"
|
|
40
|
+
></a-select>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
<a-textarea placeholder="写些什么..." v-model:value="remark" />
|
|
44
|
+
<!-- <a-upload
|
|
28
45
|
list-type="picture"
|
|
29
46
|
:headers="uploadHeaders"
|
|
30
47
|
:action="uploadData.picAction"
|
|
@@ -35,94 +52,99 @@
|
|
|
35
52
|
style="padding-top: 10px"
|
|
36
53
|
>
|
|
37
54
|
<a-icon style="font-size: 16px; cursor: pointer; margin: 5px 10px" type="paper-clip" />
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
55
|
+
</a-upload>-->
|
|
56
|
+
<div style="display: flex; justify-content: flex-end;margin-top:5px">
|
|
57
|
+
<a-button @click="sendMsg">发送</a-button>
|
|
58
|
+
</div>
|
|
59
|
+
</a-tab-pane>
|
|
60
|
+
<a-tab-pane key="remark" tab="记录备注">
|
|
61
|
+
<a-textarea placeholder="写些什么..." v-model:value="remark" />
|
|
62
|
+
<a-upload
|
|
63
|
+
list-type="picture"
|
|
64
|
+
:headers="uploadHeaders"
|
|
65
|
+
:action="uploadData.picAction"
|
|
66
|
+
:data="uploadData"
|
|
67
|
+
:before-upload="beforeAvatarUpload"
|
|
68
|
+
@change="handleAvatarSuccess"
|
|
69
|
+
:file-list="fileList"
|
|
70
|
+
style="padding-top: 10px"
|
|
71
|
+
>
|
|
72
|
+
<a-icon
|
|
73
|
+
style="font-size: 16px; cursor: pointer; margin: 5px 10px"
|
|
74
|
+
type="paper-clip"
|
|
75
|
+
/>
|
|
76
|
+
</a-upload>
|
|
77
|
+
<div style="display: flex; justify-content: flex-end">
|
|
78
|
+
<a-button @click="addMsgRemark">记录</a-button>
|
|
79
|
+
</div>
|
|
80
|
+
</a-tab-pane>
|
|
81
|
+
</a-tabs>
|
|
82
|
+
</div>
|
|
83
|
+
<div class="list" :style="{ height: listHeight - 215 + 'px',maxHeight:listHeight - 215 + 'px' }">
|
|
84
|
+
<a-list
|
|
85
|
+
v-if="remarkData.length > 0"
|
|
86
|
+
item-layout="horizontal"
|
|
87
|
+
:data-source="remarkData"
|
|
88
|
+
style="box-shadow: 3px 3px 6px #cad1d7"
|
|
54
89
|
>
|
|
55
|
-
<a-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
</div>
|
|
60
|
-
</a-tab-pane>
|
|
61
|
-
</a-tabs>
|
|
62
|
-
</div>
|
|
63
|
-
<div class="list" :style="{ height: listHeight - 215 + 'px' }">
|
|
64
|
-
<a-list
|
|
65
|
-
v-if="remarkData.length > 0"
|
|
66
|
-
item-layout="horizontal"
|
|
67
|
-
:data-source="remarkData"
|
|
68
|
-
style="box-shadow: 3px 3px 6px #cad1d7"
|
|
69
|
-
>
|
|
70
|
-
<a-list-item
|
|
71
|
-
slot="renderItem"
|
|
72
|
-
slot-scope="item, index"
|
|
73
|
-
:style="{
|
|
90
|
+
<a-list-item
|
|
91
|
+
slot="renderItem"
|
|
92
|
+
slot-scope="item"
|
|
93
|
+
:style="{
|
|
74
94
|
borderBottom: item.type === 'date' ? '0' : '1px solid #ddd',
|
|
75
95
|
backgroundColor: item.type === 'date' ? '#fff' : '#fff',
|
|
76
96
|
}"
|
|
77
|
-
>
|
|
78
|
-
<template v-if="item.type !== 'date'">
|
|
79
|
-
<a-popconfirm
|
|
80
|
-
placement="topRight"
|
|
81
|
-
title="确认删除当前备注吗?"
|
|
82
|
-
ok-text="确认"
|
|
83
|
-
cancel-text="取消"
|
|
84
|
-
@confirm="delMsgRemark(item)"
|
|
85
97
|
>
|
|
86
|
-
<
|
|
87
|
-
<a-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
</template>-->
|
|
94
|
-
<template slot="content">
|
|
95
|
-
<div style="margin-bottom: 5px">{{ item.body }}</div>
|
|
96
|
-
<div
|
|
97
|
-
v-if="item.objectCommentAttachDtos.length > 0"
|
|
98
|
-
style="display: flex; flex-wrap: wrap"
|
|
98
|
+
<template v-if="item.type !== 'date'">
|
|
99
|
+
<a-popconfirm
|
|
100
|
+
placement="topRight"
|
|
101
|
+
title="确认删除当前备注吗?"
|
|
102
|
+
ok-text="确认"
|
|
103
|
+
cancel-text="取消"
|
|
104
|
+
@confirm="delMsgRemark(item)"
|
|
99
105
|
>
|
|
100
|
-
<div
|
|
101
|
-
|
|
102
|
-
:key="index"
|
|
103
|
-
class="msg-content"
|
|
104
|
-
@click="downloadFile(item)"
|
|
105
|
-
>
|
|
106
|
-
<div class="download-icon">
|
|
107
|
-
<a-icon type="vertical-align-bottom" style="font-size: 30px" />
|
|
108
|
-
</div>
|
|
109
|
-
<a-icon type="file-text" style="font-size: 25px; margin-right: 5px" />
|
|
110
|
-
<span class="file-title">{{ item.attachName }}</span>
|
|
106
|
+
<div v-show="userId === item.createUserId" class="close-icon">
|
|
107
|
+
<a-icon type="close" />
|
|
111
108
|
</div>
|
|
112
|
-
</
|
|
109
|
+
</a-popconfirm>
|
|
110
|
+
<a-comment :author="item.createUserName" :avatar="item.avatar">
|
|
111
|
+
<!-- <template slot="actions">
|
|
112
|
+
<span v-for="(action,index) in item.actions" :key="index">{{ action }}</span>
|
|
113
|
+
</template>-->
|
|
114
|
+
<template slot="content">
|
|
115
|
+
<div style="margin-bottom: 5px">{{ item.body }}</div>
|
|
116
|
+
<div
|
|
117
|
+
v-if="item.objectCommentAttachDtos.length > 0"
|
|
118
|
+
style="display: flex; flex-wrap: wrap"
|
|
119
|
+
>
|
|
120
|
+
<div
|
|
121
|
+
v-for="(item, index) in item.objectCommentAttachDtos"
|
|
122
|
+
:key="index"
|
|
123
|
+
class="msg-content"
|
|
124
|
+
@click="downloadFile(item)"
|
|
125
|
+
>
|
|
126
|
+
<div class="download-icon">
|
|
127
|
+
<a-icon type="vertical-align-bottom" style="font-size: 30px" />
|
|
128
|
+
</div>
|
|
129
|
+
<a-icon type="file-text" style="font-size: 25px; margin-right: 5px" />
|
|
130
|
+
<span class="file-title">{{ item.attachName }}</span>
|
|
131
|
+
</div>
|
|
132
|
+
</div>
|
|
133
|
+
</template>
|
|
134
|
+
<a-tooltip slot="datetime" :title="item.createTime">
|
|
135
|
+
<span>{{ item.fromNowTime }}</span>
|
|
136
|
+
</a-tooltip>
|
|
137
|
+
</a-comment>
|
|
113
138
|
</template>
|
|
114
|
-
<
|
|
115
|
-
<
|
|
116
|
-
</
|
|
117
|
-
</a-
|
|
118
|
-
</
|
|
119
|
-
<
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
</a-list>
|
|
124
|
-
<div v-else></div>
|
|
125
|
-
</div>
|
|
139
|
+
<template v-else>
|
|
140
|
+
<a-divider>{{ item.createTime }}</a-divider>
|
|
141
|
+
</template>
|
|
142
|
+
</a-list-item>
|
|
143
|
+
</a-list>
|
|
144
|
+
<div v-else></div>
|
|
145
|
+
</div>
|
|
146
|
+
</div>
|
|
147
|
+
</vxe-modal>
|
|
126
148
|
</div>
|
|
127
149
|
</template>
|
|
128
150
|
|
|
@@ -141,6 +163,9 @@ import {
|
|
|
141
163
|
export default {
|
|
142
164
|
name: "LeaveAMessage",
|
|
143
165
|
props: {
|
|
166
|
+
modalHeight:{
|
|
167
|
+
type: Number
|
|
168
|
+
},
|
|
144
169
|
listHeight: {
|
|
145
170
|
type: Number
|
|
146
171
|
},
|
|
@@ -198,6 +223,7 @@ export default {
|
|
|
198
223
|
},
|
|
199
224
|
data() {
|
|
200
225
|
return {
|
|
226
|
+
showOdoo: false,
|
|
201
227
|
userId: null,
|
|
202
228
|
fileList: [],
|
|
203
229
|
remarkData: [],
|
|
@@ -411,7 +437,7 @@ export default {
|
|
|
411
437
|
background-color: #fff;
|
|
412
438
|
padding: 10px 10px 0;
|
|
413
439
|
min-height: 210px;
|
|
414
|
-
max-height: 210px;
|
|
440
|
+
// max-height: 210px;
|
|
415
441
|
}
|
|
416
442
|
.msg-content {
|
|
417
443
|
box-sizing: border-box;
|
|
@@ -447,4 +473,22 @@ export default {
|
|
|
447
473
|
text-overflow: ellipsis; //溢出用省略号显示
|
|
448
474
|
white-space: nowrap; // 默认不换行;
|
|
449
475
|
}
|
|
476
|
+
|
|
477
|
+
.odoo {
|
|
478
|
+
position: fixed;
|
|
479
|
+
top: 40%;
|
|
480
|
+
right: 5px;
|
|
481
|
+
z-index: 100;
|
|
482
|
+
cursor: pointer;
|
|
483
|
+
width: 40px;
|
|
484
|
+
height: 40px;
|
|
485
|
+
display: flex;
|
|
486
|
+
justify-content: center;
|
|
487
|
+
align-items: center;
|
|
488
|
+
border-radius: 5px;
|
|
489
|
+
background: #089def;
|
|
490
|
+
}
|
|
491
|
+
::v-deep .vxe-modal--wrapper .vxe-modal--content {
|
|
492
|
+
padding: 0;
|
|
493
|
+
}
|
|
450
494
|
</style>
|