cnhis-design-vue 2.1.112 → 2.1.114

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.
Files changed (109) hide show
  1. package/CHANGELOG.md +34 -18
  2. package/es/affix/index.js +8 -8
  3. package/es/age/index.js +10 -10
  4. package/es/alert/index.js +8 -8
  5. package/es/anchor/index.js +8 -8
  6. package/es/auto-complete/index.js +8 -8
  7. package/es/avatar/index.js +8 -8
  8. package/es/back-top/index.js +8 -8
  9. package/es/badge/index.js +8 -8
  10. package/es/base/index.js +8 -8
  11. package/es/big-table/index.js +154 -99
  12. package/es/big-table/style.css +1 -1
  13. package/es/breadcrumb/index.js +8 -8
  14. package/es/button/index.js +22 -22
  15. package/es/calendar/index.js +8 -8
  16. package/es/captcha/index.js +3 -3
  17. package/es/card/index.js +8 -8
  18. package/es/card-reader-sdk/index.js +1 -1
  19. package/es/carousel/index.js +8 -8
  20. package/es/cascader/index.js +8 -8
  21. package/es/checkbox/index.js +9 -9
  22. package/es/col/index.js +8 -8
  23. package/es/collapse/index.js +8 -8
  24. package/es/color-picker/index.js +1 -1
  25. package/es/comment/index.js +8 -8
  26. package/es/config-provider/index.js +8 -8
  27. package/es/date-picker/index.js +8 -8
  28. package/es/descriptions/index.js +8 -8
  29. package/es/direct/index.js +16 -16
  30. package/es/divider/index.js +8 -8
  31. package/es/drag-layout/index.js +3 -3
  32. package/es/drawer/index.js +8 -8
  33. package/es/dropdown/index.js +8 -8
  34. package/es/editor/index.js +1 -1
  35. package/es/ellipsis/index.js +1 -1
  36. package/es/empty/index.js +8 -8
  37. package/es/fabric-chart/index.js +9 -9
  38. package/es/form/index.js +8 -8
  39. package/es/form-model/index.js +8 -8
  40. package/es/form-table/index.js +66 -66
  41. package/es/full-calendar/index.js +5272 -0
  42. package/es/full-calendar/style.css +1 -0
  43. package/es/index/index.js +2428 -446
  44. package/es/index/style.css +1 -1
  45. package/es/input/index.js +9 -9
  46. package/es/input-number/index.js +8 -8
  47. package/es/layout/index.js +8 -8
  48. package/es/list/index.js +8 -8
  49. package/es/locale-provider/index.js +8 -8
  50. package/es/map/index.js +9 -9
  51. package/es/mentions/index.js +8 -8
  52. package/es/menu/index.js +8 -8
  53. package/es/message/index.js +8 -8
  54. package/es/multi-chat/index.js +76 -76
  55. package/es/multi-chat-client/index.js +70 -70
  56. package/es/multi-chat-history/index.js +4 -4
  57. package/es/multi-chat-record/index.js +14 -14
  58. package/es/multi-chat-setting/index.js +22 -22
  59. package/es/multi-chat-sip/index.js +1 -1
  60. package/es/notification/index.js +8 -8
  61. package/es/page-header/index.js +8 -8
  62. package/es/pagination/index.js +8 -8
  63. package/es/popconfirm/index.js +8 -8
  64. package/es/popover/index.js +8 -8
  65. package/es/progress/index.js +8 -8
  66. package/es/radio/index.js +9 -9
  67. package/es/rate/index.js +8 -8
  68. package/es/result/index.js +8 -8
  69. package/es/row/index.js +8 -8
  70. package/es/scale-container/index.js +1 -1
  71. package/es/scale-view/index.js +27 -27
  72. package/es/select/index.js +12 -12
  73. package/es/select-label/index.js +11 -11
  74. package/es/select-person/index.js +2 -2
  75. package/es/select-tag/index.js +4 -4
  76. package/es/shortcut-setter/index.js +10 -10
  77. package/es/skeleton/index.js +8 -8
  78. package/es/slider/index.js +8 -8
  79. package/es/slider-tree/index.js +9 -9
  80. package/es/space/index.js +8 -8
  81. package/es/spin/index.js +8 -8
  82. package/es/statistic/index.js +8 -8
  83. package/es/steps/index.js +8 -8
  84. package/es/switch/index.js +8 -8
  85. package/es/table-filter/index.js +65 -65
  86. package/es/tabs/index.js +8 -8
  87. package/es/tag/index.js +9 -9
  88. package/es/time-picker/index.js +8 -8
  89. package/es/timeline/index.js +8 -8
  90. package/es/tooltip/index.js +8 -8
  91. package/es/transfer/index.js +8 -8
  92. package/es/tree/index.js +8 -8
  93. package/es/tree-select/index.js +8 -8
  94. package/es/upload/index.js +8 -8
  95. package/es/verification-code/index.js +2 -2
  96. package/lib/cui.common.js +49658 -49640
  97. package/lib/cui.umd.js +49658 -49640
  98. package/lib/cui.umd.min.js +154 -154
  99. package/package.json +9 -2
  100. package/packages/big-table/src/BigTable.vue +42 -7
  101. package/packages/big-table/src/assets/style/table-global.less +1 -1
  102. package/packages/full-calendar/index.js +10 -0
  103. package/packages/full-calendar/src/FullCalendar.vue +695 -0
  104. package/packages/full-calendar/src/api/index.js +71 -0
  105. package/packages/full-calendar/src/components/ListTag.vue +165 -0
  106. package/packages/full-calendar/src/components/Tag.vue +296 -0
  107. package/packages/full-calendar/src/components/TagDetail.vue +287 -0
  108. package/packages/full-calendar/src/utils/index.js +438 -0
  109. package/packages/index.js +5 -3
@@ -0,0 +1,287 @@
1
+ <template>
2
+ <div class="tag-detail-wrpper">
3
+ <div class="header">
4
+ <p>日程详情</p>
5
+ <div class="btn-wrap">
6
+ <span class="btn-item" v-for="btn in btns" :key="btn.type" @click.stop="() => clickListBtn(btn)">
7
+ <a-icon v-if="btn.type === 'close'" :type="btn.type" :style="{ fontSize: '16px' }" />
8
+ <a-tooltip v-else :title="btn.name" overlayClassName="tippy-tooltip">
9
+ <a-icon :type="btn.type" :style="{ fontSize: '16px' }" />
10
+ </a-tooltip>
11
+ </span>
12
+ </div>
13
+ </div>
14
+ <div class="container">
15
+ <div class="title content-item">
16
+ <span>{{ title }}</span>
17
+ </div>
18
+ <div class="time content-item">
19
+ <a-icon type="clock-circle" style="color: #969696;" />
20
+ <span>{{ calcSchedulerTime }}</span>
21
+ </div>
22
+ <div class="content content-item">
23
+ <a-icon type="profile" style="color: #969696;" />
24
+ <span>{{ content }}</span>
25
+ </div>
26
+ </div>
27
+ <div class="footer">
28
+ <span v-if="isEndTippy">该日程时间已结束</span>
29
+ <span class="btn-item more" @click="handleDetail">
30
+ 详情
31
+ <a-icon type="right" />
32
+ </span>
33
+ </div>
34
+ </div>
35
+ </template>
36
+ <script>
37
+ import { Tooltip, Icon } from 'ant-design-vue';
38
+ import vexutils, { moment } from '@/utils/vexutils';
39
+
40
+ export default {
41
+ name: 'tag-detail',
42
+ components: {
43
+ [Tooltip.name]: Tooltip,
44
+ [Icon.name]: Icon
45
+ },
46
+ data() {
47
+ return {
48
+ item: {},
49
+ title: '',
50
+ content: '',
51
+ btns: [
52
+ {
53
+ name: '新增',
54
+ type: 'plus-square'
55
+ },
56
+ {
57
+ name: '编辑',
58
+ type: 'form'
59
+ },
60
+ {
61
+ name: '删除',
62
+ type: 'delete'
63
+ },
64
+ {
65
+ name: '关闭',
66
+ type: 'close'
67
+ }
68
+ ]
69
+ };
70
+ },
71
+ filters: {},
72
+ computed: {
73
+ isEndTippy() {
74
+ const { endTime } = this.item || {};
75
+ if (!endTime) return false;
76
+ if (
77
+ moment(endTime).valueOf() <=
78
+ moment()
79
+ .clone()
80
+ .valueOf()
81
+ )
82
+ return true;
83
+ return false;
84
+ },
85
+ calcSchedulerTime() {
86
+ const { startTime, endTime } = this.item;
87
+ const startStr = (startTime && moment(startTime).format('MM月DD日 ddd HH:mm')) || '';
88
+ const endStr = (endTime && moment(endTime).format('MM月DD日 ddd HH:mm')) || '';
89
+ return `${startStr} - ${endStr}`;
90
+ }
91
+ // showStatus() {
92
+ // if ('statusFlag' in this.item) {
93
+ // return false;
94
+ // }
95
+ // return true;
96
+ // },
97
+ // handleStatus() {
98
+ // if (this.item?.statusFlag !== 1) {
99
+ // return true;
100
+ // }
101
+ // return false;
102
+ // }
103
+ },
104
+ watch: {},
105
+ // 生命周期
106
+ created() {},
107
+ mounted() {},
108
+ beforeDestroy() {},
109
+
110
+ // 方法
111
+ methods: {
112
+ clickListBtn(btn) {
113
+ const { startTime, endTime, scheduleId } = this.item;
114
+ switch (btn.type) {
115
+ case 'plus-square':
116
+ this.$emit('add', { startTime, endTime });
117
+ break;
118
+ case 'form':
119
+ this.$emit('edit', { startTime, endTime });
120
+ break;
121
+ case 'delete':
122
+ this.$confirm({
123
+ title: '提示',
124
+ content: '是否删除当前日程?',
125
+ okText: '确定',
126
+ cancelText: '取消',
127
+ onOk: () => {
128
+ this.$emit('delete', { id: scheduleId });
129
+ },
130
+ onCancel() {}
131
+ });
132
+ break;
133
+ }
134
+ this.$parent.tippyInstance?.hide();
135
+ },
136
+ handleDetail() {
137
+ this.$emit('detail', this.item);
138
+ this.$parent.tippyInstance?.hide();
139
+ }
140
+ }
141
+ };
142
+ </script>
143
+ <style lang="less" scoped>
144
+ .tag-detail-wrpper {
145
+ width: 356px;
146
+ background: #ffffff;
147
+ box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.1);
148
+ border-radius: 8px;
149
+ border: 1px solid #d5d5d5;
150
+ color: #000000;
151
+
152
+ .header {
153
+ display: flex;
154
+ justify-content: space-between;
155
+ align-items: center;
156
+ height: 50px;
157
+ padding: 0 16px;
158
+ border-bottom: 1px solid #e6e6e6;
159
+ p {
160
+ margin: 0;
161
+ font-size: 16px;
162
+ }
163
+ .btn-wrap {
164
+ display: inline-flex;
165
+ align-items: center;
166
+ font-size: 16px;
167
+ color: #666666;
168
+ .btn-item {
169
+ display: flex;
170
+ align-items: center;
171
+ height: 30px;
172
+ padding: 4px 6px;
173
+ cursor: pointer;
174
+
175
+ &:hover {
176
+ background: #f2f2f4;
177
+ border-radius: 4px;
178
+ }
179
+ }
180
+ .btn-item + .btn-item {
181
+ margin-left: 4px;
182
+ }
183
+ }
184
+ }
185
+ .container {
186
+ padding: 14px 6px 14px 14px;
187
+ max-height: 200px;
188
+ overflow-y: auto;
189
+ margin-right: 8px;
190
+ line-height: 20px;
191
+ .content-item {
192
+ display: flex;
193
+ align-items: center;
194
+ margin-bottom: 20px;
195
+ &.title {
196
+ font-size: 16px;
197
+ line-height: 22px;
198
+ font-weight: 500;
199
+ color: #000;
200
+ position: relative;
201
+ padding-left: 18px;
202
+
203
+ &::before {
204
+ content: '';
205
+ width: 8px;
206
+ height: 8px;
207
+ border-radius: 50%;
208
+ position: absolute;
209
+ left: -3px;
210
+ top: 6px;
211
+ background-color: #22c179;
212
+ }
213
+ }
214
+ &.time,
215
+ &.content {
216
+ span {
217
+ padding-left: 10px;
218
+ }
219
+ }
220
+ }
221
+ }
222
+ .footer {
223
+ display: flex;
224
+ justify-content: flex-end;
225
+ align-items: center;
226
+ height: 50px;
227
+ padding: 0 16px;
228
+ color: rgba(0, 0, 0, 0.2);
229
+ border-top: 1px solid #e6e6e6;
230
+ .more {
231
+ margin-left: auto;
232
+ color: rgba(0, 0, 0, 0.6);
233
+ cursor: pointer;
234
+ }
235
+ }
236
+ }
237
+ </style>
238
+ <style lang="less">
239
+ .tippy-box[data-theme~='cnhis'] {
240
+ // background-color: #2563F4;
241
+ color: #fff;
242
+ background: #fff;
243
+ border-radius: 8px;
244
+ pointer-events: auto;
245
+ .tippy-content {
246
+ padding: 0;
247
+ background: #fff;
248
+ border-radius: 8px;
249
+ }
250
+ &[data-placement^='top'],
251
+ &[data-placement^='bottom'],
252
+ &[data-placement^='right'],
253
+ &[data-placement^='left'] {
254
+ & > div.tippy-arrow {
255
+ z-index: 1;
256
+ &:before {
257
+ width: 12px;
258
+ height: 12px;
259
+ background-color: #fff;
260
+ border: 1px solid transparent;
261
+ border-left-color: #d5d5d5;
262
+ border-top-color: #d5d5d5;
263
+ transform-origin: center center;
264
+ }
265
+ }
266
+ }
267
+ &[data-placement^='top'] > div.tippy-arrow:before {
268
+ transform: rotateZ(-135deg);
269
+ margin-top: -1px;
270
+ }
271
+ &[data-placement^='bottom'] > div.tippy-arrow:before {
272
+ transform: rotateZ(45deg);
273
+ margin-top: 1px;
274
+ }
275
+ &[data-placement^='right'] > div.tippy-arrow:before {
276
+ transform: rotateZ(-45deg);
277
+ margin-left: 1px;
278
+ }
279
+ &[data-placement^='left'] > div.tippy-arrow:before {
280
+ transform: rotateZ(135deg);
281
+ margin-right: 1px;
282
+ }
283
+ }
284
+ div[data-tippy-root] {
285
+ z-index: 100 !important;
286
+ }
287
+ </style>