doway-coms 2.10.6 → 2.10.8

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