ui-process-h5 0.1.20 → 0.1.22
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/lib/design.js +497 -64
- package/lib/design.umd.cjs +1 -1
- package/lib/style.css +1 -1
- package/package.json +15 -9
- package/packages/component.ts +3 -3
- package/packages/components/button/index.ts +9 -0
- package/packages/components/button/src/index.vue +55 -0
- package/packages/components/popup/index.ts +11 -0
- package/packages/components/popup/src/index.vue +128 -0
- package/packages/components/process/index.ts +9 -0
- package/packages/components/process/src/index.vue +439 -0
- package/packages/components/tab/src/index.vue +192 -21
- package/packages/components/{theme → utils}/request/api.ts +1 -3
- package/packages/components/{theme → utils}/request/request.ts +3 -3
- /package/packages/components/{theme → utils}/request/cache.d.ts +0 -0
- /package/packages/components/{theme → utils}/request/cache.js +0 -0
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
v-for="item in isTapList"
|
|
19
19
|
:key="item.key"
|
|
20
20
|
v-show="active === item.key"
|
|
21
|
-
style="height: 100
|
|
21
|
+
style="height: calc(100% - 45px);"
|
|
22
22
|
>
|
|
23
23
|
<!-- :taskNode="getTaskNode()" -->
|
|
24
24
|
<slot
|
|
@@ -26,13 +26,66 @@
|
|
|
26
26
|
name="default"
|
|
27
27
|
></slot>
|
|
28
28
|
<slot
|
|
29
|
-
v-if="item.key === '
|
|
30
|
-
name="
|
|
31
|
-
|
|
29
|
+
v-if="item.key === 'b' && item.type === 'default'"
|
|
30
|
+
:name="item.slot"
|
|
31
|
+
>
|
|
32
|
+
<iframe
|
|
33
|
+
v-if="trackUrl"
|
|
34
|
+
:src="trackUrl"
|
|
35
|
+
style="width: 100%; min-height: 500px; border: none;"
|
|
36
|
+
scrolling="no"
|
|
37
|
+
frameborder="0"
|
|
38
|
+
></iframe>
|
|
39
|
+
<div v-else class="textnone">
|
|
40
|
+
暂无流程图
|
|
41
|
+
</div>
|
|
42
|
+
</slot>
|
|
32
43
|
<slot
|
|
33
|
-
v-if="item.key === '
|
|
34
|
-
name="
|
|
35
|
-
|
|
44
|
+
v-if="item.key === 'c' && item.type === 'default'"
|
|
45
|
+
:name="item.slot"
|
|
46
|
+
>
|
|
47
|
+
<div
|
|
48
|
+
v-if="taskCommentList?.length > 0"
|
|
49
|
+
v-for="(item, index) in taskCommentList"
|
|
50
|
+
:key="item.id"
|
|
51
|
+
class="seal-list__item"
|
|
52
|
+
>
|
|
53
|
+
<!-- <div v-for="item in list" :key="item.id" class="seal-list__item"> -->
|
|
54
|
+
<div>
|
|
55
|
+
<div class="seal-list__item--option">
|
|
56
|
+
<span>节点名称</span>
|
|
57
|
+
<span>{{ item.activityName }}</span>
|
|
58
|
+
</div>
|
|
59
|
+
<div class="seal-list__item--option">
|
|
60
|
+
<span>审批人</span>
|
|
61
|
+
<span>{{ item.createUserName }}</span>
|
|
62
|
+
</div>
|
|
63
|
+
<div class="seal-list__item--option">
|
|
64
|
+
<span>审批操作</span>
|
|
65
|
+
<span>{{ item.actionName }}</span>
|
|
66
|
+
</div>
|
|
67
|
+
<div class="seal-list__item--option">
|
|
68
|
+
<span>审批意见</span>
|
|
69
|
+
<span v-html="item.msg"></span>
|
|
70
|
+
</div>
|
|
71
|
+
<div class="seal-list__item--option">
|
|
72
|
+
<span>审批时间</span>
|
|
73
|
+
<span>{{ item.createDate }}</span>
|
|
74
|
+
</div>
|
|
75
|
+
<div
|
|
76
|
+
v-if="
|
|
77
|
+
item.metaAnnexList &&
|
|
78
|
+
item.metaAnnexList.length
|
|
79
|
+
"
|
|
80
|
+
class="seal-list__item--attch"
|
|
81
|
+
>
|
|
82
|
+
<!-- @click="linkUrl(item.metaAnnexList, index)" -->
|
|
83
|
+
<span>查看附件</span>
|
|
84
|
+
</div>
|
|
85
|
+
</div>
|
|
86
|
+
</div>
|
|
87
|
+
<div v-else class="textnone">暂无数据</div>
|
|
88
|
+
</slot>
|
|
36
89
|
<slot v-if="item.type == 'slot'" :name="item.slot"></slot>
|
|
37
90
|
</div>
|
|
38
91
|
</div>
|
|
@@ -40,7 +93,9 @@
|
|
|
40
93
|
</template>
|
|
41
94
|
|
|
42
95
|
<script lang="ts">
|
|
43
|
-
import { defineComponent, ref, watch, onMounted } from "vue";
|
|
96
|
+
import { defineComponent, ref, watch, onMounted, computed } from "vue-demi";
|
|
97
|
+
// import { getProcessStatus } from "../../utils/request/api";
|
|
98
|
+
|
|
44
99
|
export default defineComponent({
|
|
45
100
|
name: "TopTab",
|
|
46
101
|
props: {
|
|
@@ -63,6 +118,30 @@ export default defineComponent({
|
|
|
63
118
|
},
|
|
64
119
|
},
|
|
65
120
|
setup(props: any) {
|
|
121
|
+
// 流程图
|
|
122
|
+
const trackUrl = ref<string>(
|
|
123
|
+
"http://59.53.91.231:8088/portal/r/w?sid=6f714ec1-7570-4525-ac51-b092402d8295&cmd=CLIENT_BPM_FORM_TRACK_OPEN&processInstId=1f6e7196-e1ea-428e-b295-aa23a54a2402&supportCanvas=true&formInfo="
|
|
124
|
+
);
|
|
125
|
+
|
|
126
|
+
// 审批信息
|
|
127
|
+
const taskCommentList = ref<any>([
|
|
128
|
+
{
|
|
129
|
+
actionName: "提交",
|
|
130
|
+
activityName: "部门负责人",
|
|
131
|
+
createDate: "2023-04-20 14:47:35",
|
|
132
|
+
createUser: "18ccbf63229f0c79f39940ae284c111e",
|
|
133
|
+
createUserName: "朱鸿飞",
|
|
134
|
+
customUniqueId: "",
|
|
135
|
+
departmentName: "测试部",
|
|
136
|
+
id: "88df38c8-9756-4b4a-a9b0-dcb0ec1b57d5",
|
|
137
|
+
metaAnnexList: null,
|
|
138
|
+
msg: "同意",
|
|
139
|
+
positionName: "测试部119147",
|
|
140
|
+
processInstId: "1f6e7196-e1ea-428e-b295-aa23a54a2402",
|
|
141
|
+
taskInstId: "38bbef1c-efbb-456d-bd79-08ed9d96b4b3",
|
|
142
|
+
},
|
|
143
|
+
]);
|
|
144
|
+
|
|
66
145
|
// 选中
|
|
67
146
|
const active = ref<string>("");
|
|
68
147
|
|
|
@@ -113,6 +192,7 @@ export default defineComponent({
|
|
|
113
192
|
|
|
114
193
|
// taskNode taskObj
|
|
115
194
|
|
|
195
|
+
/* method */
|
|
116
196
|
// 选中方法
|
|
117
197
|
const handleActive = (e: string, i: number) => {
|
|
118
198
|
if (e === active.value) {
|
|
@@ -145,11 +225,7 @@ export default defineComponent({
|
|
|
145
225
|
}
|
|
146
226
|
};
|
|
147
227
|
|
|
148
|
-
/*
|
|
149
|
-
return taskNode.value.filter((o) => {
|
|
150
|
-
return o.nodeId == taskObj.value.id;
|
|
151
|
-
});
|
|
152
|
-
}; */
|
|
228
|
+
/* watch */
|
|
153
229
|
watch(
|
|
154
230
|
() => props.selfTapList,
|
|
155
231
|
(val, preVal) => {
|
|
@@ -196,6 +272,7 @@ export default defineComponent({
|
|
|
196
272
|
}
|
|
197
273
|
);
|
|
198
274
|
|
|
275
|
+
/* mounted */
|
|
199
276
|
onMounted(() => {
|
|
200
277
|
// 渲染后初始化为第一个位置
|
|
201
278
|
tabAnimation(0);
|
|
@@ -206,6 +283,8 @@ export default defineComponent({
|
|
|
206
283
|
active,
|
|
207
284
|
handleActive,
|
|
208
285
|
label,
|
|
286
|
+
taskCommentList,
|
|
287
|
+
trackUrl,
|
|
209
288
|
};
|
|
210
289
|
},
|
|
211
290
|
});
|
|
@@ -219,10 +298,9 @@ export default defineComponent({
|
|
|
219
298
|
display: flex;
|
|
220
299
|
width: 100%;
|
|
221
300
|
height: 45px;
|
|
222
|
-
justify-content: space-between;
|
|
223
301
|
font-size: 14px;
|
|
224
302
|
color: #333;
|
|
225
|
-
padding:
|
|
303
|
+
padding: 10px 17px;
|
|
226
304
|
font-weight: 500;
|
|
227
305
|
box-sizing: border-box;
|
|
228
306
|
overflow-x: auto;
|
|
@@ -231,6 +309,7 @@ export default defineComponent({
|
|
|
231
309
|
flex-shrink: 0;
|
|
232
310
|
-ms-overflow-style: none;
|
|
233
311
|
position: relative;
|
|
312
|
+
background-color: #fff;
|
|
234
313
|
}
|
|
235
314
|
|
|
236
315
|
.tops-tab-header::after {
|
|
@@ -241,6 +320,7 @@ export default defineComponent({
|
|
|
241
320
|
background-color: #f2f2f2;
|
|
242
321
|
left: 0;
|
|
243
322
|
bottom: 0;
|
|
323
|
+
z-index: 10;
|
|
244
324
|
}
|
|
245
325
|
|
|
246
326
|
.tops-tab-header::-webkit-scrollbar {
|
|
@@ -263,13 +343,10 @@ export default defineComponent({
|
|
|
263
343
|
align-items: center;
|
|
264
344
|
}
|
|
265
345
|
|
|
266
|
-
.tops-tab-header-items
|
|
346
|
+
.tops-tab-header-items:last-child {
|
|
267
347
|
padding-right: 0;
|
|
268
348
|
margin-right: 0;
|
|
269
349
|
}
|
|
270
|
-
.tops-tab-header-items :last-child::after {
|
|
271
|
-
left: calc(50% - 17px);
|
|
272
|
-
}
|
|
273
350
|
|
|
274
351
|
.tops-tab-header .active {
|
|
275
352
|
position: relative;
|
|
@@ -286,11 +363,105 @@ export default defineComponent({
|
|
|
286
363
|
border-radius: 1.5px;
|
|
287
364
|
background-color: #1389ff;
|
|
288
365
|
position: absolute;
|
|
289
|
-
bottom:
|
|
366
|
+
bottom: 1px;
|
|
290
367
|
left: 0;
|
|
368
|
+
z-index: 12;
|
|
291
369
|
}
|
|
292
370
|
.tops-tab-body {
|
|
293
371
|
height: 100%;
|
|
294
|
-
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
.seal-list__item {
|
|
375
|
+
padding: 6px 10px;
|
|
376
|
+
margin: 10px;
|
|
377
|
+
margin-bottom: 0px;
|
|
378
|
+
padding-bottom: 0px;
|
|
379
|
+
background-color: #ffffff;
|
|
380
|
+
border-radius: 10px;
|
|
381
|
+
box-sizing: border-box;
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
.seal-list__item:last-child {
|
|
385
|
+
margin-bottom: 70px;
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
.seal-list__item .seal-list__item--header {
|
|
389
|
+
margin-bottom: 6px;
|
|
390
|
+
display: flex;
|
|
391
|
+
align-items: center;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
.seal-list__item .seal-list__item--header span:first-of-type {
|
|
395
|
+
font-size: 15px;
|
|
396
|
+
margin-right: 6px;
|
|
397
|
+
font-weight: bold;
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
.seal-list__item .seal-list__item--option {
|
|
401
|
+
display: flex;
|
|
402
|
+
justify-content: space-between;
|
|
403
|
+
align-items: center;
|
|
404
|
+
font-size: 14px;
|
|
405
|
+
padding: 10px 0;
|
|
406
|
+
color: #333;
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
.seal-list__item .seal-list__item--option {
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
.seal-list__item .seal-list__item--option span:last-child {
|
|
413
|
+
max-width: 144px;
|
|
414
|
+
overflow: hidden;
|
|
415
|
+
white-space: nowrap;
|
|
416
|
+
text-overflow: ellipsis;
|
|
417
|
+
color: #888;
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
.seal-list__item .seal-list__item--option :last-child {
|
|
421
|
+
/* padding-bottom: 14px; */
|
|
422
|
+
}
|
|
423
|
+
.seal-list__item .seal-list__item--attch {
|
|
424
|
+
font-size: 14px;
|
|
425
|
+
padding: 10px 0;
|
|
426
|
+
color: #333;
|
|
427
|
+
text-align: right;
|
|
428
|
+
color: #1389ff;
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
.seal-list__item .seal-list__item--actions {
|
|
432
|
+
margin-top: 12px;
|
|
433
|
+
position: relative;
|
|
434
|
+
display: flex;
|
|
435
|
+
justify-content: space-around;
|
|
436
|
+
align-items: center;
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
.seal-list__item .seal-list__item--actions ::before {
|
|
440
|
+
content: "";
|
|
441
|
+
top: 0;
|
|
442
|
+
width: 100%;
|
|
443
|
+
transform: scaleY(0.5);
|
|
444
|
+
transform-origin: top;
|
|
445
|
+
border-top: 1px #e8e8e8 solid;
|
|
446
|
+
position: absolute;
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
.seal-list__item .seal-list__item--actions .van-button {
|
|
450
|
+
width: 50%;
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
.seal-list__item .seal-list__item--actions .van-button ::after {
|
|
454
|
+
content: "";
|
|
455
|
+
height: 60%;
|
|
456
|
+
border-left: 1px #e8e8e8 solid;
|
|
457
|
+
position: absolute;
|
|
458
|
+
left: 100%;
|
|
459
|
+
top: 50%;
|
|
460
|
+
transform: translate(-50%, -50%) scaleX(0.5);
|
|
461
|
+
transform-origin: left;
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
.seal-list__item .seal-list__item--actions .van-button:last-child ::after {
|
|
465
|
+
content: none;
|
|
295
466
|
}
|
|
296
467
|
</style>
|
|
@@ -2,12 +2,10 @@ import request from "./request";
|
|
|
2
2
|
|
|
3
3
|
const proxyStr = "/aws";
|
|
4
4
|
|
|
5
|
-
function getProcessStatus(query: any) {
|
|
5
|
+
export function getProcessStatus(query: any) {
|
|
6
6
|
return request({
|
|
7
7
|
url: proxyStr + "/pis/getProcessStatus",
|
|
8
8
|
method: "get",
|
|
9
9
|
params: query,
|
|
10
10
|
});
|
|
11
11
|
}
|
|
12
|
-
|
|
13
|
-
export default { getProcessStatus };
|
|
@@ -7,7 +7,7 @@ import axios, {
|
|
|
7
7
|
import { ACCESS_TOKEN, loadStorage } from "./cache";
|
|
8
8
|
|
|
9
9
|
const host = process.env.VUE_APP_BASE_URL;
|
|
10
|
-
// const host = "http://59.53.91.
|
|
10
|
+
// const host = "http://59.53.91.231:2100";
|
|
11
11
|
|
|
12
12
|
axios.defaults.headers["Content-Type"] = "application/json;charset=utf-8";
|
|
13
13
|
|
|
@@ -34,8 +34,8 @@ service.interceptors.request.use((config)=> {
|
|
|
34
34
|
if (loadStorage("token", "") && !isToken) {
|
|
35
35
|
config.headers["Authorization"] = "Bearer " + loadStorage("token", ""); // 让每个请求携带自定义token 请根据实际情况自行修改 15c572f2-1fff-4ef2-94dc-728fc8d6fe14
|
|
36
36
|
}
|
|
37
|
-
config.headers["Authorization"] =
|
|
38
|
-
"Bearer " + "15c572f2-1fff-4ef2-94dc-728fc8d6fe14";
|
|
37
|
+
/* config.headers["Authorization"] =
|
|
38
|
+
"Bearer " + "15c572f2-1fff-4ef2-94dc-728fc8d6fe14"; */
|
|
39
39
|
return config;
|
|
40
40
|
});
|
|
41
41
|
|
|
File without changes
|
|
File without changes
|