ui-process-h5 2.0.7-beta → 2.1.0-beta

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/README.md +11 -204
  2. package/build/configure/README.md +211 -0
  3. package/build/configure/package.json +32 -0
  4. package/debug.js +9 -0
  5. package/index.html +12 -0
  6. package/package.json +56 -25
  7. package/src/App.vue +233 -0
  8. package/src/assets/font-icon/iconfont.scss +57 -0
  9. package/src/assets/font-icon/iconfont.ttf +0 -0
  10. package/src/assets/img/add-file.png +0 -0
  11. package/src/assets/img/arrow-right.png +0 -0
  12. package/src/assets/img/arrow.png +0 -0
  13. package/src/assets/img/check.png +0 -0
  14. package/src/assets/img/del.png +0 -0
  15. package/src/assets/img/doc.png +0 -0
  16. package/src/assets/img/file.png +0 -0
  17. package/src/assets/img/image.png +0 -0
  18. package/src/assets/img/pdf.png +0 -0
  19. package/src/assets/img/process.png +0 -0
  20. package/src/assets/img/xls.png +0 -0
  21. package/src/assets/img/zip.png +0 -0
  22. package/src/assets/js/auth.js +65 -0
  23. package/src/assets/js/errorCode.js +6 -0
  24. package/src/assets/js/message.js +352 -0
  25. package/src/assets/js/request.js +99 -0
  26. package/src/assets/js/toast.js +239 -0
  27. package/src/assets/js/top.js +229 -0
  28. package/src/assets/js/utils.js +83 -0
  29. package/src/assets/js/vuePopper.js +123 -0
  30. package/src/assets/query.png +0 -0
  31. package/src/assets/status/check.png +0 -0
  32. package/src/assets/status/del.png +0 -0
  33. package/src/assets/status/error.png +0 -0
  34. package/src/assets/status/loading.png +0 -0
  35. package/src/assets/status/success.png +0 -0
  36. package/src/main.js +17 -0
  37. package/src/packages/attchUpload/index.js +375 -0
  38. package/src/packages/attchUpload/index.scss +143 -0
  39. package/src/packages/attchUpload/index.vue +173 -0
  40. package/src/packages/downSelect/index.js +119 -0
  41. package/src/packages/downSelect/index.scss +88 -0
  42. package/src/packages/downSelect/index.vue +62 -0
  43. package/src/packages/index.js +6 -0
  44. package/src/packages/popup/index.js +125 -0
  45. package/src/packages/popup/index.scss +178 -0
  46. package/src/packages/popup/index.vue +80 -0
  47. package/src/packages/preview/index.js +40 -0
  48. package/src/packages/preview/index.vue +15 -0
  49. package/src/packages/previewImage/index.js +286 -0
  50. package/src/packages/previewImage/index.scss +76 -0
  51. package/src/packages/previewImage/index.vue +53 -0
  52. package/src/packages/process/index.js +1016 -0
  53. package/src/packages/process/index.scss +188 -0
  54. package/src/packages/process/index.vue +291 -0
  55. package/src/packages/process/operation/backNode.vue +396 -0
  56. package/src/packages/process/operation/cancel.vue +425 -0
  57. package/src/packages/process/operation/ccTask.vue +256 -0
  58. package/src/packages/process/operation/complete.vue +1384 -0
  59. package/src/packages/process/operation/counterSign.vue +498 -0
  60. package/src/packages/process/operation/delegateTask.vue +493 -0
  61. package/src/packages/process/operation/index.js +8 -0
  62. package/src/packages/process/operation/index.scss +212 -0
  63. package/src/packages/process/operation/msgList.vue +174 -0
  64. package/src/packages/process/operation/treeNode.vue +901 -0
  65. package/src/packages/process/operation/treePerson.vue +304 -0
  66. package/src/packages/submitPopup/index.js +708 -0
  67. package/src/packages/submitPopup/index.scss +190 -0
  68. package/src/packages/submitPopup/index.vue +125 -0
  69. package/src/packages/tab/index.js +236 -0
  70. package/src/packages/tab/index.scss +177 -0
  71. package/src/packages/tab/index.vue +155 -0
  72. package/src/packages/tip/index.js +80 -0
  73. package/src/packages/tip/index.scss +121 -0
  74. package/src/packages/tip/index.vue +57 -0
  75. package/src/packages/viewAttchList/index.js +138 -0
  76. package/src/packages/viewAttchList/index.scss +76 -0
  77. package/src/packages/viewAttchList/index.vue +121 -0
  78. package/src/style.css +80 -0
  79. package/vite.config.ts +118 -0
  80. package/v2/style.css +0 -1
  81. package/v2/ui-process-h5.js +0 -9945
  82. package/v2/ui-process-h5.umd.cjs +0 -18
  83. package/v2.7/style.css +0 -1
  84. package/v2.7/ui-process-h5.js +0 -9322
  85. package/v2.7/ui-process-h5.umd.cjs +0 -18
  86. package/v3/style.css +0 -1
  87. package/v3/ui-process-h5.js +0 -6842
  88. package/v3/ui-process-h5.umd.cjs +0 -6
  89. /package/{scripts → build/scripts}/postinstall.mjs +0 -0
  90. /package/{scripts → build/scripts}/switch-cli.mjs +0 -0
  91. /package/{scripts → build/scripts}/utils.mjs +0 -0
@@ -0,0 +1,188 @@
1
+ .process-warp {
2
+ overflow: hidden;
3
+ height: 100vh;
4
+ width: 100vw;
5
+ position: relative;
6
+ background-color: #f3f3f7;
7
+ }
8
+ .process-main {
9
+ display: flex;
10
+ justify-content: space-between;
11
+ flex-direction: column;
12
+ align-items: center;
13
+ padding: 0 17px;
14
+ background: #fff;
15
+ margin: 0 0 10px 0;
16
+ height: auto;
17
+ }
18
+
19
+ .process-main .border {
20
+ border-bottom: #e8e8e8 1px solid;
21
+ }
22
+
23
+ .process-main .process-ml-item {
24
+ display: flex;
25
+ align-items: center;
26
+ font-size: 15px;
27
+ font-weight: 400;
28
+ width: 100%;
29
+ justify-content: space-between;
30
+ height: 44px;
31
+ }
32
+
33
+ .process-main .process-ml-item .process-mli-name {
34
+ color: #333333;
35
+ }
36
+
37
+ .process-main .process-ml-item .process-mli-value {
38
+ color: #888888;
39
+ overflow: hidden;
40
+ white-space: nowrap;
41
+ text-overflow: ellipsis;
42
+ }
43
+
44
+ .process-main .process-ml-item .process-mli-value .process-mliv-dd {
45
+ height: 26px;
46
+ min-width: 30px;
47
+ padding: 0 12px;
48
+ border-radius: 20px;
49
+ background: #1389ff;
50
+ color: #fff;
51
+ display: flex;
52
+ align-items: center;
53
+ justify-content: center;
54
+ font-size: 12px;
55
+ }
56
+
57
+ .process-main .process-ml-item .process-mli-value .process-mliv-jd {
58
+ color: #1389ff;
59
+ }
60
+
61
+ .process-btn {
62
+ display: flex;
63
+ min-height: 60px;
64
+ padding-top: 5px;
65
+ background: #fff;
66
+ border-top: 1px solid #dddddf9e;
67
+ box-sizing: border-box;
68
+ justify-content: center;
69
+ align-items: center;
70
+ flex-direction: row-reverse;
71
+ position: fixed;
72
+ bottom: 0;
73
+ width: 100%;
74
+ }
75
+
76
+ .process-btn .top-button,
77
+ .process-btn .elips {
78
+ margin: 0 5px;
79
+ }
80
+ /* .process-btn .top-button:first-child{
81
+ margin-left: 0;
82
+ } */
83
+
84
+ .elips {
85
+ min-width: 60px;
86
+ height: 100%;
87
+ background-color: white;
88
+ display: flex;
89
+ justify-content: center;
90
+ align-items: center;
91
+ }
92
+ .elips .circle {
93
+ width: 6px;
94
+ height: 6px;
95
+ margin: 0 2px;
96
+ background-color: #333333;
97
+ border-radius: 50%;
98
+ }
99
+ .top-elips {
100
+ width: 100%;
101
+ height: auto;
102
+ position: fixed;
103
+ left: 0;
104
+ background-color: #f7f8fa;
105
+ z-index: 197;
106
+ border-radius: 20px 20px 0 0;
107
+ box-sizing: border-box;
108
+ transition: all 0.3s ease;
109
+ bottom: 0;
110
+ }
111
+ .top-elips-mask {
112
+ position: fixed;
113
+ width: 100vw;
114
+ height: 100vh;
115
+ background-color: #000;
116
+ opacity: 0.7;
117
+ top: 0;
118
+ left: 0;
119
+ transition: all 0.5s ease;
120
+ z-index: 99;
121
+ display: block;
122
+ }
123
+ .top-elips-items {
124
+ padding: 14px 36px;
125
+ background-color: #fff;
126
+ width: 100%;
127
+ cursor: pointer;
128
+ text-align: center;
129
+ display: flex;
130
+ justify-content: center;
131
+ align-items: center;
132
+ box-sizing: border-box;
133
+ font-size: 16px;
134
+ color: #323233;
135
+ position: relative;
136
+ }
137
+
138
+ .top-elips-items::after {
139
+ content: "";
140
+ width: 100%;
141
+ height: 1px;
142
+ position: absolute;
143
+ left: 0;
144
+ top: 0;
145
+ background-color: #f2f2f2;
146
+ }
147
+
148
+ .top-elips-items:first-child {
149
+ border-radius: 20px 20px 0 0;
150
+ }
151
+
152
+ .top-elips-items:first-child::after,
153
+ .top-elips-items:last-child::after {
154
+ display: none;
155
+ }
156
+
157
+ .top-elips-items:nth-last-child(2) {
158
+ margin-bottom: 8px;
159
+ }
160
+
161
+ .top-button {
162
+ width: 100%;
163
+ border-radius: 20px;
164
+ height: 36px;
165
+ background-color: #3c9cff;
166
+ color: #fff;
167
+ font-size: 14px;
168
+ justify-content: center;
169
+ display: flex;
170
+ align-items: center;
171
+ }
172
+
173
+ .footBtnRow {
174
+ width: 100%;
175
+ }
176
+
177
+ .toppopup-component {
178
+ ::v-deep .top-popup {
179
+ padding: 0;
180
+ background-color: #f8f8f8;
181
+
182
+ &-header {
183
+ height: 49px;
184
+ padding: 0 20px;
185
+ border-radius: 20px 20px 0 0;
186
+ }
187
+ }
188
+ }
@@ -0,0 +1,291 @@
1
+ <template>
2
+ <div>
3
+ <div class="process-warp">
4
+ <div
5
+ class="process-main"
6
+ v-if="
7
+ (formData.currentState ||
8
+ processStatus.bizStatusName ||
9
+ processStatus.status) && !hideHeader
10
+ "
11
+ id="process-header"
12
+ ref="processheader"
13
+ >
14
+ <div class="process-ml-item border">
15
+ <div class="process-mli-name">流程状态</div>
16
+ <!-- <div class="process-mli-name" @click="handleTestS">测试</div> -->
17
+ <div class="process-mli-value">
18
+ <div
19
+ class="process-mliv-dd"
20
+ :style="{
21
+ background: getColor(
22
+ formData.currentState ||
23
+ processStatus.bizStatusName ||
24
+ processStatus.status
25
+ ),
26
+ }"
27
+ v-if="
28
+ formData.currentState ||
29
+ processStatus.bizStatusName ||
30
+ processStatus.status
31
+ "
32
+ >
33
+ {{
34
+ formData.currentState ||
35
+ processStatus.bizStatusName ||
36
+ processStatus.status
37
+ }}
38
+ </div>
39
+ </div>
40
+ </div>
41
+ <div class="process-ml-item border">
42
+ <div class="process-mli-name">流程发起时间</div>
43
+ <div class="process-mli-value">
44
+ <span>{{ processStatus.createTime }}</span>
45
+ </div>
46
+ </div>
47
+
48
+ <div
49
+ class="process-ml-item"
50
+ v-if="
51
+ processStatus.allUserNames &&
52
+ processStatus.allUserNames.length
53
+ "
54
+ >
55
+ <div class="process-mli-name">审批节点</div>
56
+ <div
57
+ class="process-mli-value"
58
+ style="width: 50%; text-align: right;"
59
+ >
60
+ <span class="process-mliv-jd">{{
61
+ `${
62
+ processStatus.taskState == 4
63
+ ? processStatus.currUserName
64
+ : processStatus.allUserNames.toString()
65
+ }审批中`
66
+ }}</span>
67
+ </div>
68
+ </div>
69
+ </div>
70
+ <div class="process-card" :style="{ height: processCardHeight }">
71
+ <TopTab
72
+ :tapList="tapList"
73
+ :selfTapList="selfTapList"
74
+ :processIntId="processIntId"
75
+ :track="trackUrl"
76
+ :taskComment="taskCommentList"
77
+ :trackList="trackList"
78
+ >
79
+ <template v-if="selfTapList && selfTapList.length">
80
+ <div
81
+ v-for="(v, i) in selfTapList"
82
+ :key="i"
83
+ :slot="v.slot"
84
+ >
85
+ <slot :name="v.slot"></slot>
86
+ </div>
87
+ </template>
88
+ <template v-else>
89
+ <div slot="default" style="100%">
90
+ <slot name="default"> </slot>
91
+ </div>
92
+ <div
93
+ style="100%"
94
+ v-for="(v, i) in tapList"
95
+ :key="i"
96
+ :slot="v.slot"
97
+ >
98
+ <slot :name="v.slot"></slot>
99
+ </div>
100
+ </template>
101
+ </TopTab>
102
+ </div>
103
+ <div
104
+ class="process-btn"
105
+ id="process-footer"
106
+ :style="{ bottom: processBtn }"
107
+ v-if="!isView"
108
+ >
109
+ <div class="footBtnRow" v-if="isAdditional">
110
+ <slot name="btn" :data="processStatus"></slot>
111
+ </div>
112
+ <template v-else>
113
+ <template
114
+ v-if="
115
+ isDocument &&
116
+ (formData.currentState == '编文号套红' ||
117
+ formData.currentState == '盖章')
118
+ "
119
+ >
120
+ <div class="top-button" :style="getBtnStyle('default')">
121
+ 请去PC端处理该流程
122
+ </div>
123
+ </template>
124
+ <template v-else>
125
+ <template
126
+ v-if="
127
+ formData.currentState != '已完成' ||
128
+ processStatus.status != '已完成' ||
129
+ processStatus.bizStatusName != '已完成'
130
+ "
131
+ >
132
+ <template v-for="(item, index) in operBtn">
133
+ <div
134
+ class="top-button"
135
+ :style="
136
+ getBtnStyle(
137
+ item.btnProps.type.toString()
138
+ )
139
+ "
140
+ :key="item.name"
141
+ v-if="index < 3"
142
+ @click="item.click(item.name)"
143
+ >
144
+ {{ item.name }}
145
+ </div>
146
+ </template>
147
+ </template>
148
+ <div
149
+ class="elips"
150
+ v-if="
151
+ operBtn.length > 3 &&
152
+ actionBtn &&
153
+ actionBtn.length
154
+ "
155
+ @click="handleActionOpen"
156
+ >
157
+ <div class="circle"></div>
158
+ <div class="circle"></div>
159
+ <div class="circle"></div>
160
+ </div>
161
+ </template>
162
+ </template>
163
+ </div>
164
+ </div>
165
+ <TopPopup
166
+ ref="TopPopup1"
167
+ :cancel="handleCancel"
168
+ :comfig="handleComfig"
169
+ :titleText="titleText"
170
+ v-bind:visible="TopPopup1"
171
+ v-on:update:visible="(val) => (TopPopup1 = val)"
172
+ className="toppopup-component"
173
+ >
174
+ <!-- @success="operationSuccess"
175
+ @fail="operationFail" -->
176
+ <component
177
+ :is="operationCom"
178
+ ref="operationRef"
179
+ :param="operationParam"
180
+ @handleClosePopup1="handleClosePopup1"
181
+ >
182
+ <div slot="completeSlot">
183
+ <slot name="completeSlot"></slot>
184
+ </div>
185
+ </component>
186
+ </TopPopup>
187
+ <TopPopup
188
+ ref="TopPopup2"
189
+ :titleText="titleText"
190
+ :isTips="true"
191
+ :context="popupContext"
192
+ :cancel="handleTipsCancel"
193
+ :comfig="handleTipsComfig"
194
+ >
195
+ </TopPopup>
196
+ <TopTips
197
+ ref="topTips"
198
+ :text="textTips"
199
+ :statusTips="statusTips"
200
+ :type="typeTips"
201
+ />
202
+ <div
203
+ class="top-elips"
204
+ v-if="
205
+ (actionBtn && actionBtn.length) ||
206
+ (taskNodeList && taskNodeList.length)
207
+ "
208
+ :style="
209
+ actionShow
210
+ ? 'transform: translateY(0)'
211
+ : 'transform: translateY(100%)'
212
+ "
213
+ >
214
+ <template v-if="taskNodeShow">
215
+ <div
216
+ class="top-elips-items"
217
+ v-for="v in taskNodeList"
218
+ @click="handleGet(v)"
219
+ :key="v.taskId"
220
+ >
221
+ {{ v.name }}
222
+ </div>
223
+ </template>
224
+ <template v-else>
225
+ <div
226
+ class="top-elips-items"
227
+ v-for="v in actionBtn"
228
+ @click="v.click(v.name)"
229
+ :key="v.name"
230
+ >
231
+ {{ v.name }}
232
+ </div>
233
+ </template>
234
+ <div
235
+ class="top-elips-items top-elips-items--cancel"
236
+ @click="handleActionClose"
237
+ >
238
+ 取消
239
+ </div>
240
+ </div>
241
+ <div
242
+ class="top-elips-mask"
243
+ @click="handleActionClose"
244
+ :style="
245
+ actionShow
246
+ ? 'visibility: visible; opacity: .7;'
247
+ : 'visibility: hidden; opacity: 0;'
248
+ "
249
+ ></div>
250
+ <TopSumbitPopup
251
+ :visible.sync="visibleSong"
252
+ ref="actionPop"
253
+ :request="request"
254
+ :appId="processStatus.appId"
255
+ :id="formData.businessKey"
256
+ :resubmit="true"
257
+ v-bind="restartDataS"
258
+ @successFn="endFunction"
259
+ :selfList="selfList"
260
+ @change="handleTestsss"
261
+ :isCheckType="isCheckType"
262
+ :isOrgType="isOrgType"
263
+ :isCodeType="isCodeType"
264
+ ></TopSumbitPopup>
265
+ <!-- @change="handleChange"
266
+ :todoParameter="todoParameter" :resubmit="resubmit" :beforeFunction="saveAndStart" -->
267
+ <!-- 针对独立抄送配置 -->
268
+ <TopPopup
269
+ ref="cctaskTopPopup"
270
+ :titleText="cctaskTopPopupTitle"
271
+ v-bind:visible="cctaskTopPopup"
272
+ v-on:update:visible="(val) => (cctaskTopPopup = val)"
273
+ :isDrawer="true"
274
+ >
275
+ <component
276
+ :is="operationCom"
277
+ ref="cctaskOperationRef"
278
+ :param="operationParam"
279
+ @handleClosecctaskTopPopup="handleClosecctaskTopPopup"
280
+ >
281
+ <div slot="completeSlot">
282
+ <slot name="completeSlot"></slot>
283
+ </div>
284
+ </component>
285
+ </TopPopup>
286
+ </div>
287
+ </template>
288
+ <script src="./index.js"></script>
289
+ <style lang="scss" scoped>
290
+ @import "./index.scss";
291
+ </style>