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.
@@ -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 === 'tab2' && item.type === 'default'"
30
- name="default"
31
- ></slot>
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 === 'tab3' && item.type === 'default'"
34
- name="default"
35
- ></slot>
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
- /* const getTaskNode = () => {
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: 0 10px;
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 :last-child {
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: 0;
366
+ bottom: 1px;
290
367
  left: 0;
368
+ z-index: 12;
291
369
  }
292
370
  .tops-tab-body {
293
371
  height: 100%;
294
- padding: 0 10px;
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.230:8102";
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