doway-coms 2.11.11 → 2.11.13

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 (91) hide show
  1. package/.browserslistrc +2 -2
  2. package/README.md +28 -28
  3. package/dist/css/chunk-vendors.7f83d8f9.css +8 -0
  4. package/dist/css/index.7946d50b.css +1 -0
  5. package/dist/favicon.ico +0 -0
  6. package/dist/js/chunk-vendors.28fda91d.js +340 -0
  7. package/dist/js/index.49bc6add.js +2 -0
  8. package/lib/doway-coms.common.js +120397 -0
  9. package/lib/doway-coms.css +1 -0
  10. package/lib/doway-coms.umd.js +120407 -0
  11. package/lib/doway-coms.umd.min.js +328 -0
  12. package/package.json +62 -62
  13. package/packages/AuditsList/index.js +7 -7
  14. package/packages/AuditsList/src/index.vue +314 -314
  15. package/packages/BaseButton/index.js +7 -7
  16. package/packages/BaseButton/src/index.vue +242 -242
  17. package/packages/BaseCheckbox/index.js +7 -7
  18. package/packages/BaseCheckbox/src/index.vue +134 -134
  19. package/packages/BaseDate/index.js +7 -7
  20. package/packages/BaseDate/src/index.vue +197 -197
  21. package/packages/BaseDateWeek/index.js +7 -7
  22. package/packages/BaseDateWeek/src/index.vue +163 -163
  23. package/packages/BaseDatetime/index.js +7 -7
  24. package/packages/BaseDatetime/src/index.vue +196 -196
  25. package/packages/BaseFileGroup/index.js +7 -7
  26. package/packages/BaseFileGroup/src/index.vue +724 -724
  27. package/packages/BaseForm/index.js +7 -7
  28. package/packages/BaseForm/src/index.vue +895 -895
  29. package/packages/BaseGantt/index.js +9 -9
  30. package/packages/BaseGantt/src/index.vue +617 -617
  31. package/packages/BaseGrid/index.js +9 -9
  32. package/packages/BaseGrid/src/exportCmp.vue +105 -105
  33. package/packages/BaseGrid/src/gridApi.js +32 -32
  34. package/packages/BaseGrid/src/index.vue +4242 -4230
  35. package/packages/BaseGridAdjust/index.js +9 -9
  36. package/packages/BaseGridAdjust/src/index.vue +482 -482
  37. package/packages/BaseInput/index.js +7 -7
  38. package/packages/BaseInput/src/index.vue +195 -195
  39. package/packages/BaseIntervalInput/index.js +7 -7
  40. package/packages/BaseIntervalInput/src/index.vue +310 -310
  41. package/packages/BaseKanbanEmpty/index.js +7 -7
  42. package/packages/BaseKanbanEmpty/src/index.vue +176 -176
  43. package/packages/BaseNumberInput/index.js +7 -7
  44. package/packages/BaseNumberInput/src/index.vue +291 -291
  45. package/packages/BasePagination/index.js +7 -7
  46. package/packages/BasePagination/src/index.vue +91 -91
  47. package/packages/BasePictureCard/index.js +7 -7
  48. package/packages/BasePictureCard/src/index.vue +671 -671
  49. package/packages/BasePrintPreview/index.js +7 -7
  50. package/packages/BasePrintPreview/src/index.vue +150 -150
  51. package/packages/BasePulldown/index.js +7 -7
  52. package/packages/BasePulldown/src/index.vue +1395 -1395
  53. package/packages/BaseSearch/index.js +7 -7
  54. package/packages/BaseSearch/src/index.vue +935 -935
  55. package/packages/BaseSelect/index.js +7 -7
  56. package/packages/BaseSelect/src/index.vue +155 -155
  57. package/packages/BaseSelectMulti/index.js +7 -7
  58. package/packages/BaseSelectMulti/src/index.vue +148 -148
  59. package/packages/BaseTextArea/index.js +7 -7
  60. package/packages/BaseTextArea/src/index.vue +187 -187
  61. package/packages/BaseTime/index.js +7 -7
  62. package/packages/BaseTime/src/index.vue +166 -166
  63. package/packages/BaseTool/index.js +7 -7
  64. package/packages/BaseTool/src/index.vue +353 -353
  65. package/packages/BaseToolStatus/index.js +7 -7
  66. package/packages/BaseToolStatus/src/ApprovalPersonsGroup.vue +41 -41
  67. package/packages/BaseToolStatus/src/index.vue +439 -439
  68. package/packages/BaseTreeSelect/index.js +8 -8
  69. package/packages/BaseTreeSelect/src/index.vue +437 -437
  70. package/packages/HistoryModal/index.js +8 -8
  71. package/packages/HistoryModal/src/index.vue +144 -144
  72. package/packages/LeaveAMessage/index.js +7 -7
  73. package/packages/LeaveAMessage/src/index.vue +601 -601
  74. package/packages/directive/clickoutside.js +44 -44
  75. package/packages/index.js +197 -197
  76. package/packages/styles/default.css +78 -78
  77. package/packages/styles/default.less +91 -91
  78. package/packages/utils/api.js +122 -122
  79. package/packages/utils/auth.js +38 -38
  80. package/packages/utils/common.js +703 -703
  81. package/packages/utils/dom.js +181 -181
  82. package/packages/utils/enum.js +86 -86
  83. package/packages/utils/filters.js +495 -485
  84. package/packages/utils/gridFormat.js +66 -66
  85. package/packages/utils/msg.js +103 -103
  86. package/packages/utils/patchFiles.js +44 -44
  87. package/packages/utils/request.js +181 -181
  88. package/packages/utils/store.js +372 -372
  89. package/packages/utils/tscPrinter.js +101 -101
  90. package/sync.bash +6 -6
  91. package/vue.config.js +59 -59
@@ -1,314 +1,314 @@
1
- <template>
2
- <div>
3
- <div class="icon" @click="showModal = !showModal">
4
- <a-icon type="edit" style="font-size: 30px; color: #fff" />
5
- </div>
6
- <vxe-modal
7
- v-model="showModal"
8
- :height="moduleHeight"
9
- :width="300"
10
- :zIndex="1000"
11
- :showHeader="false"
12
- :mask="false"
13
- :mask-closable="true"
14
- :position="{
15
- left: '78%',
16
- top: '15%'
17
- }"
18
- destroy-on-close
19
- >
20
- <div class="history" v-if="historyList.length>0">
21
- <div class="title">审计日志</div>
22
- <div
23
- class="box"
24
- v-for="(item,index) in historyList"
25
- :key="index"
26
- @click="historyData(item)"
27
- >
28
- <div class="item">
29
- <div
30
- class="status"
31
- :style="{color:textColor(item.logOperation)}"
32
- >{{item.logOperationName || item.logOperation|filterData}}</div>
33
- <div class="time">{{item.createTime}}</div>
34
- <div class="name">{{item.createUserName}}</div>
35
- </div>
36
- <div class="divider">
37
- <div></div>
38
- </div>
39
- </div>
40
- </div>
41
- <div v-else class="history">
42
- <div class="none">
43
- <div class="img"></div>
44
- <i class="text">暂无历史数据</i>
45
- </div>
46
- </div>
47
- </vxe-modal>
48
- </div>
49
- </template>
50
-
51
- <script>
52
- import {objectAuditLogApi, objectAuditLogReadApi, objectAuditLogTApi} from "../../utils/api";
53
- export default {
54
- name: "AuditsList",
55
- props: {
56
- formId: {
57
- type: String
58
- },
59
- moduleHeight: {
60
- type: Number
61
- }
62
- },
63
- components: {},
64
- watch: {
65
- showModal(newVal, oldVal) {
66
- if (newVal) {
67
- this.getHistoryData();
68
- }
69
- },
70
- immediate: true
71
- },
72
- filters: {
73
- filterData(val) {
74
- switch (val) {
75
- case "update":
76
- return "修改";
77
- case "add":
78
- return "新增";
79
- case "print":
80
- return "打印";
81
- case "publish":
82
- return "发行";
83
- case "draft":
84
- return "设为草稿";
85
- default:
86
- return val;
87
- }
88
- }
89
- },
90
- mounted() {},
91
- data() {
92
- return {
93
- historyList: [],
94
- showModal: false
95
- };
96
- },
97
- methods: {
98
- getHistoryData() {
99
- let postData = {
100
- begin: 1,
101
- size: 0,
102
- expression: {
103
- expressions: [
104
- {
105
- field: "logDataKeyId",
106
- operator: "EQ",
107
- value: this.formId
108
- }
109
- ],
110
- operator: "and"
111
- },
112
- sorts: [["createTime", "asc"]]
113
- };
114
- objectAuditLogTApi(postData).then(res => {
115
- this.historyList = res.content;
116
- });
117
- },
118
- async historyData(val) {
119
- if (val.logOperation && val.logOperation === 'print') {
120
- return
121
- }
122
- await objectAuditLogReadApi({id: val.id}).then(res => {
123
- val.logData = JSON.parse(res.content.logData);
124
- })
125
- if (
126
- // eslint-disable-next-line no-prototype-builtins
127
- val.logData.hasOwnProperty("code") &&
128
- // eslint-disable-next-line no-prototype-builtins
129
- val.logData.hasOwnProperty("content")
130
- ) {
131
- val.logData = val.logData.content;
132
- this.$emit("historyData", val);
133
- } else {
134
- this.$emit("historyData", val);
135
- }
136
- },
137
- textColor(val) {
138
- switch (val) {
139
- case "add":
140
- return "green";
141
- case "update":
142
- return "orange";
143
- case "print":
144
- return "orange";
145
- default :
146
- return "orange";
147
- }
148
- }
149
- }
150
- };
151
- </script>
152
-
153
- <style lang="less" scoped>
154
- .icon {
155
- position: fixed;
156
- top: 46%;
157
- right: -30px;
158
- z-index: 100;
159
- cursor: pointer;
160
- width: 40px;
161
- height: 40px;
162
- display: flex;
163
- justify-content: center;
164
- align-items: center;
165
- border-radius: 5px;
166
- background: #089def;
167
- }
168
- .icon:hover {
169
- right: 0px;
170
- transition:all 0.3s;
171
- }
172
- ::v-deep .vxe-modal--wrapper .vxe-modal--content {
173
- padding: 0;
174
- }
175
- .history {
176
- width: 100%;
177
- height: 100%;
178
- overflow-x: hidden;
179
- overflow-y: auto;
180
- .title {
181
- text-align: center;
182
- padding: 10px;
183
- font-size: 15px;
184
- font-weight: bold;
185
- }
186
- .box {
187
- .item {
188
- display: flex;
189
- justify-content: space-between;
190
- align-items: center;
191
- padding: 8px 12px;
192
- background-color: #f9f9f9;
193
- border-radius: 5px;
194
- transition: background 0.3s, transform 0.3s;
195
- margin-bottom: 8px;
196
-
197
- .time, .status, .name {
198
- display: flex;
199
- justify-content: center;
200
- align-items: center;
201
- font-size: 14px;
202
- color: #333;
203
- white-space: nowrap;
204
- overflow: hidden;
205
- text-overflow: ellipsis;
206
- }
207
-
208
- .time {
209
- flex: 3;
210
- justify-content: flex-start; /* 时间靠左对齐 */
211
- }
212
-
213
- .status {
214
- display: inline-block;
215
- padding: 4px 12px;
216
- border-radius: 12px;
217
- font-weight: bold;
218
- font-size: 13px;
219
- text-align: center;
220
- color: #fff;
221
- min-width: 60px;
222
- transition: all 0.3s ease;
223
-
224
- /* 根据不同操作状态,使用不同的背景色 */
225
- &.add {
226
- background: linear-gradient(90deg, #43e97b, #38f9d7); /* 绿色渐变 */
227
- box-shadow: 0 2px 6px rgba(67, 233, 123, 0.5);
228
- }
229
- &.update {
230
- background: linear-gradient(90deg, #fbc747, #f49842); /* 橙色渐变 */
231
- box-shadow: 0 2px 6px rgba(251, 199, 71, 0.5);
232
- }
233
- &.delete {
234
- background: linear-gradient(90deg, #ff6b6b, #ff8787); /* 红色渐变 */
235
- box-shadow: 0 2px 6px rgba(255, 107, 107, 0.5);
236
- }
237
- }
238
-
239
- .name {
240
- flex: 1;
241
- justify-content: flex-end; /* 名字靠右对齐 */
242
- }
243
- }
244
-
245
- /* 鼠标悬停效果 */
246
- .item:hover {
247
- background-color: #e0f7fa;
248
- transform: scale(1.02);
249
- transition: background-color 0.3s ease, transform 0.3s ease;
250
- }
251
-
252
- /* 分割线优化 */
253
- .divider {
254
- margin-top: 5px;
255
- div {
256
- width: 100%;
257
- height: 1px;
258
- background-color: #e0e0e0;
259
- }
260
- }
261
- }
262
-
263
- .none {
264
- width: 100%;
265
- height: 100%;
266
- display: flex;
267
- flex-direction: column;
268
- justify-content: center;
269
- align-items: center;
270
- .img {
271
- width: 200px;
272
- height: 150px;
273
- background: url("./暂无数据.png") no-repeat;
274
- background-size: 100%;
275
- }
276
- text {
277
- font-size: 15px;
278
- text-align: center;
279
- }
280
- }
281
- }
282
- /*滚动条整体部分*/
283
- .history::-webkit-scrollbar {
284
- width: 5px;
285
- height: 5px;
286
- z-index: 10;
287
- }
288
- /*滚动条的轨道*/
289
- .history::-webkit-scrollbar-track {
290
- background-color: #ffffff;
291
- z-index: 10;
292
- }
293
- /*滚动条里面的小方块,能向上向下移动*/
294
- .history::-webkit-scrollbar-thumb {
295
- background-color: #bfbfbf;
296
- border-radius: 5px;
297
- border: 1px solid #f1f1f1;
298
- box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
299
- z-index: 10;
300
- }
301
- .history::-webkit-scrollbar-thumb:hover {
302
- background-color: #a8a8a8;
303
- z-index: 10;
304
- }
305
- .history::-webkit-scrollbar-thumb:active {
306
- background-color: #787878;
307
- z-index: 10;
308
- }
309
- /*边角,即两个滚动条的交汇处*/
310
- .history::-webkit-scrollbar-corner {
311
- background-color: #ffffff;
312
- z-index: 10;
313
- }
314
- </style>
1
+ <template>
2
+ <div>
3
+ <div class="icon" @click="showModal = !showModal">
4
+ <a-icon type="edit" style="font-size: 30px; color: #fff" />
5
+ </div>
6
+ <vxe-modal
7
+ v-model="showModal"
8
+ :height="moduleHeight"
9
+ :width="300"
10
+ :zIndex="1000"
11
+ :showHeader="false"
12
+ :mask="false"
13
+ :mask-closable="true"
14
+ :position="{
15
+ left: '78%',
16
+ top: '15%'
17
+ }"
18
+ destroy-on-close
19
+ >
20
+ <div class="history" v-if="historyList.length>0">
21
+ <div class="title">审计日志</div>
22
+ <div
23
+ class="box"
24
+ v-for="(item,index) in historyList"
25
+ :key="index"
26
+ @click="historyData(item)"
27
+ >
28
+ <div class="item">
29
+ <div
30
+ class="status"
31
+ :style="{color:textColor(item.logOperation)}"
32
+ >{{item.logOperationName || item.logOperation|filterData}}</div>
33
+ <div class="time">{{item.createTime}}</div>
34
+ <div class="name">{{item.createUserName}}</div>
35
+ </div>
36
+ <div class="divider">
37
+ <div></div>
38
+ </div>
39
+ </div>
40
+ </div>
41
+ <div v-else class="history">
42
+ <div class="none">
43
+ <div class="img"></div>
44
+ <i class="text">暂无历史数据</i>
45
+ </div>
46
+ </div>
47
+ </vxe-modal>
48
+ </div>
49
+ </template>
50
+
51
+ <script>
52
+ import {objectAuditLogApi, objectAuditLogReadApi, objectAuditLogTApi} from "../../utils/api";
53
+ export default {
54
+ name: "AuditsList",
55
+ props: {
56
+ formId: {
57
+ type: String
58
+ },
59
+ moduleHeight: {
60
+ type: Number
61
+ }
62
+ },
63
+ components: {},
64
+ watch: {
65
+ showModal(newVal, oldVal) {
66
+ if (newVal) {
67
+ this.getHistoryData();
68
+ }
69
+ },
70
+ immediate: true
71
+ },
72
+ filters: {
73
+ filterData(val) {
74
+ switch (val) {
75
+ case "update":
76
+ return "修改";
77
+ case "add":
78
+ return "新增";
79
+ case "print":
80
+ return "打印";
81
+ case "publish":
82
+ return "发行";
83
+ case "draft":
84
+ return "设为草稿";
85
+ default:
86
+ return val;
87
+ }
88
+ }
89
+ },
90
+ mounted() {},
91
+ data() {
92
+ return {
93
+ historyList: [],
94
+ showModal: false
95
+ };
96
+ },
97
+ methods: {
98
+ getHistoryData() {
99
+ let postData = {
100
+ begin: 1,
101
+ size: 0,
102
+ expression: {
103
+ expressions: [
104
+ {
105
+ field: "logDataKeyId",
106
+ operator: "EQ",
107
+ value: this.formId
108
+ }
109
+ ],
110
+ operator: "and"
111
+ },
112
+ sorts: [["createTime", "asc"]]
113
+ };
114
+ objectAuditLogTApi(postData).then(res => {
115
+ this.historyList = res.content;
116
+ });
117
+ },
118
+ async historyData(val) {
119
+ if (val.logOperation && val.logOperation === 'print') {
120
+ return
121
+ }
122
+ await objectAuditLogReadApi({id: val.id}).then(res => {
123
+ val.logData = JSON.parse(res.content.logData);
124
+ })
125
+ if (
126
+ // eslint-disable-next-line no-prototype-builtins
127
+ val.logData.hasOwnProperty("code") &&
128
+ // eslint-disable-next-line no-prototype-builtins
129
+ val.logData.hasOwnProperty("content")
130
+ ) {
131
+ val.logData = val.logData.content;
132
+ this.$emit("historyData", val);
133
+ } else {
134
+ this.$emit("historyData", val);
135
+ }
136
+ },
137
+ textColor(val) {
138
+ switch (val) {
139
+ case "add":
140
+ return "green";
141
+ case "update":
142
+ return "orange";
143
+ case "print":
144
+ return "orange";
145
+ default :
146
+ return "orange";
147
+ }
148
+ }
149
+ }
150
+ };
151
+ </script>
152
+
153
+ <style lang="less" scoped>
154
+ .icon {
155
+ position: fixed;
156
+ top: 46%;
157
+ right: -30px;
158
+ z-index: 100;
159
+ cursor: pointer;
160
+ width: 40px;
161
+ height: 40px;
162
+ display: flex;
163
+ justify-content: center;
164
+ align-items: center;
165
+ border-radius: 5px;
166
+ background: #089def;
167
+ }
168
+ .icon:hover {
169
+ right: 0px;
170
+ transition:all 0.3s;
171
+ }
172
+ ::v-deep .vxe-modal--wrapper .vxe-modal--content {
173
+ padding: 0;
174
+ }
175
+ .history {
176
+ width: 100%;
177
+ height: 100%;
178
+ overflow-x: hidden;
179
+ overflow-y: auto;
180
+ .title {
181
+ text-align: center;
182
+ padding: 10px;
183
+ font-size: 15px;
184
+ font-weight: bold;
185
+ }
186
+ .box {
187
+ .item {
188
+ display: flex;
189
+ justify-content: space-between;
190
+ align-items: center;
191
+ padding: 8px 12px;
192
+ background-color: #f9f9f9;
193
+ border-radius: 5px;
194
+ transition: background 0.3s, transform 0.3s;
195
+ margin-bottom: 8px;
196
+
197
+ .time, .status, .name {
198
+ display: flex;
199
+ justify-content: center;
200
+ align-items: center;
201
+ font-size: 14px;
202
+ color: #333;
203
+ white-space: nowrap;
204
+ overflow: hidden;
205
+ text-overflow: ellipsis;
206
+ }
207
+
208
+ .time {
209
+ flex: 3;
210
+ justify-content: flex-start; /* 时间靠左对齐 */
211
+ }
212
+
213
+ .status {
214
+ display: inline-block;
215
+ padding: 4px 12px;
216
+ border-radius: 12px;
217
+ font-weight: bold;
218
+ font-size: 13px;
219
+ text-align: center;
220
+ color: #fff;
221
+ min-width: 60px;
222
+ transition: all 0.3s ease;
223
+
224
+ /* 根据不同操作状态,使用不同的背景色 */
225
+ &.add {
226
+ background: linear-gradient(90deg, #43e97b, #38f9d7); /* 绿色渐变 */
227
+ box-shadow: 0 2px 6px rgba(67, 233, 123, 0.5);
228
+ }
229
+ &.update {
230
+ background: linear-gradient(90deg, #fbc747, #f49842); /* 橙色渐变 */
231
+ box-shadow: 0 2px 6px rgba(251, 199, 71, 0.5);
232
+ }
233
+ &.delete {
234
+ background: linear-gradient(90deg, #ff6b6b, #ff8787); /* 红色渐变 */
235
+ box-shadow: 0 2px 6px rgba(255, 107, 107, 0.5);
236
+ }
237
+ }
238
+
239
+ .name {
240
+ flex: 1;
241
+ justify-content: flex-end; /* 名字靠右对齐 */
242
+ }
243
+ }
244
+
245
+ /* 鼠标悬停效果 */
246
+ .item:hover {
247
+ background-color: #e0f7fa;
248
+ transform: scale(1.02);
249
+ transition: background-color 0.3s ease, transform 0.3s ease;
250
+ }
251
+
252
+ /* 分割线优化 */
253
+ .divider {
254
+ margin-top: 5px;
255
+ div {
256
+ width: 100%;
257
+ height: 1px;
258
+ background-color: #e0e0e0;
259
+ }
260
+ }
261
+ }
262
+
263
+ .none {
264
+ width: 100%;
265
+ height: 100%;
266
+ display: flex;
267
+ flex-direction: column;
268
+ justify-content: center;
269
+ align-items: center;
270
+ .img {
271
+ width: 200px;
272
+ height: 150px;
273
+ background: url("./暂无数据.png") no-repeat;
274
+ background-size: 100%;
275
+ }
276
+ text {
277
+ font-size: 15px;
278
+ text-align: center;
279
+ }
280
+ }
281
+ }
282
+ /*滚动条整体部分*/
283
+ .history::-webkit-scrollbar {
284
+ width: 5px;
285
+ height: 5px;
286
+ z-index: 10;
287
+ }
288
+ /*滚动条的轨道*/
289
+ .history::-webkit-scrollbar-track {
290
+ background-color: #ffffff;
291
+ z-index: 10;
292
+ }
293
+ /*滚动条里面的小方块,能向上向下移动*/
294
+ .history::-webkit-scrollbar-thumb {
295
+ background-color: #bfbfbf;
296
+ border-radius: 5px;
297
+ border: 1px solid #f1f1f1;
298
+ box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
299
+ z-index: 10;
300
+ }
301
+ .history::-webkit-scrollbar-thumb:hover {
302
+ background-color: #a8a8a8;
303
+ z-index: 10;
304
+ }
305
+ .history::-webkit-scrollbar-thumb:active {
306
+ background-color: #787878;
307
+ z-index: 10;
308
+ }
309
+ /*边角,即两个滚动条的交汇处*/
310
+ .history::-webkit-scrollbar-corner {
311
+ background-color: #ffffff;
312
+ z-index: 10;
313
+ }
314
+ </style>
@@ -1,8 +1,8 @@
1
- // 导入组件,组件必须声明 name
2
- import BaseButton from './src/index.vue';
3
- // 为组件提供 install 安装方法,供按需引入
4
- BaseButton.install = function(Vue) {
5
- Vue.component(BaseButton.name, BaseButton);
6
- };
7
- // 默认导出组件
1
+ // 导入组件,组件必须声明 name
2
+ import BaseButton from './src/index.vue';
3
+ // 为组件提供 install 安装方法,供按需引入
4
+ BaseButton.install = function(Vue) {
5
+ Vue.component(BaseButton.name, BaseButton);
6
+ };
7
+ // 默认导出组件
8
8
  export default BaseButton;