ui-process-h5 0.1.36 → 1.0.1

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 (92) hide show
  1. package/build/configure/README.md +212 -0
  2. package/build/configure/package.json +28 -0
  3. package/build/scripts/postinstall.mjs +14 -0
  4. package/build/scripts/switch-cli.mjs +4 -0
  5. package/build/scripts/utils.mjs +60 -0
  6. package/index.html +12 -0
  7. package/package.json +51 -20
  8. package/src/App.vue +222 -0
  9. package/src/assets/font-icon/iconfont.scss +57 -0
  10. package/src/assets/font-icon/iconfont.ttf +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/js/auth.js +65 -0
  15. package/src/assets/js/errorCode.js +6 -0
  16. package/src/assets/js/message.js +352 -0
  17. package/src/assets/js/request.js +99 -0
  18. package/src/assets/js/toast.js +239 -0
  19. package/src/assets/js/top.js +229 -0
  20. package/src/assets/js/utils.js +83 -0
  21. package/src/assets/js/vuePopper.js +123 -0
  22. package/src/assets/query.png +0 -0
  23. package/src/assets/status/check.png +0 -0
  24. package/src/assets/status/del.png +0 -0
  25. package/src/main.js +17 -0
  26. package/src/packages/attchUpload/index.js +374 -0
  27. package/src/packages/attchUpload/index.scss +143 -0
  28. package/src/packages/attchUpload/index.vue +173 -0
  29. package/src/packages/downSelect/index.js +99 -0
  30. package/src/packages/downSelect/index.scss +86 -0
  31. package/src/packages/downSelect/index.vue +57 -0
  32. package/src/packages/index.js +6 -0
  33. package/src/packages/popup/index.js +73 -0
  34. package/src/packages/popup/index.scss +173 -0
  35. package/src/packages/popup/index.vue +80 -0
  36. package/src/packages/preview/index.js +36 -0
  37. package/src/packages/preview/index.vue +15 -0
  38. package/src/packages/previewImage/index.js +281 -0
  39. package/src/packages/previewImage/index.scss +76 -0
  40. package/src/packages/previewImage/index.vue +53 -0
  41. package/src/packages/process/index.js +923 -0
  42. package/src/packages/process/index.scss +175 -0
  43. package/src/packages/process/index.vue +263 -0
  44. package/src/packages/process/operation/backNode.vue +485 -0
  45. package/src/packages/process/operation/cancel.vue +518 -0
  46. package/src/packages/process/operation/ccTask.vue +473 -0
  47. package/src/packages/process/operation/complete.vue +1126 -0
  48. package/src/packages/process/operation/counterSign.vue +590 -0
  49. package/src/packages/process/operation/delegateTask.vue +587 -0
  50. package/src/packages/process/operation/msgList.vue +174 -0
  51. package/src/packages/process/operation/restart.vue +316 -0
  52. package/src/packages/submitPopup/index.js +644 -0
  53. package/src/packages/submitPopup/index.scss +88 -0
  54. package/src/packages/submitPopup/index.vue +154 -0
  55. package/src/packages/tab/index.js +236 -0
  56. package/src/packages/tab/index.scss +177 -0
  57. package/src/packages/tab/index.vue +155 -0
  58. package/src/packages/tip/index.js +80 -0
  59. package/src/packages/tip/index.scss +121 -0
  60. package/src/packages/tip/index.vue +57 -0
  61. package/src/packages/viewAttchList/index.js +134 -0
  62. package/src/packages/viewAttchList/index.scss +76 -0
  63. package/src/packages/viewAttchList/index.vue +112 -0
  64. package/src/style.css +80 -0
  65. package/vite.config.ts +107 -0
  66. package/packages/components/approval/index.js +0 -0
  67. package/packages/components/process/index.js +0 -8
  68. package/packages/components/process/src/attchlist-upload.vue +0 -585
  69. package/packages/components/process/src/operation/backNode.vue +0 -141
  70. package/packages/components/process/src/operation/cancel.vue +0 -170
  71. package/packages/components/process/src/operation/ccTask.vue +0 -170
  72. package/packages/components/process/src/operation/complete.vue +0 -224
  73. package/packages/components/process/src/operation/counterSign.vue +0 -178
  74. package/packages/components/process/src/operation/delegateTask.vue +0 -168
  75. package/packages/components/process/src/operation/restart.vue +0 -172
  76. package/packages/components/process/src/popup.vue +0 -230
  77. package/packages/components/process/src/process.vue +0 -900
  78. package/packages/components/process/src/tab.vue +0 -459
  79. package/packages/components/process/src/tip.vue +0 -207
  80. package/packages/index.js +0 -4
  81. /package/{packages/components/process/theme → src/assets}/img/add-file.png +0 -0
  82. /package/{packages/components/process/theme → src/assets}/img/del.png +0 -0
  83. /package/{packages/components/process/theme → src/assets}/img/doc.png +0 -0
  84. /package/{packages/components/process/theme → src/assets}/img/file.png +0 -0
  85. /package/{packages/components/process/theme → src/assets}/img/image.png +0 -0
  86. /package/{packages/components/process/theme → src/assets}/img/pdf.png +0 -0
  87. /package/{packages/components/process/theme → src/assets}/img/xls.png +0 -0
  88. /package/{packages/components/process/theme → src/assets}/img/zip.png +0 -0
  89. /package/{packages/components/process/theme → src/assets}/status/error.png +0 -0
  90. /package/{packages/components/process/theme → src/assets}/status/loading.png +0 -0
  91. /package/{packages/components/process/theme → src/assets}/status/success.png +0 -0
  92. /package/{packages/components/process/src → src/packages/process}/operation/index.js +0 -0
@@ -0,0 +1,174 @@
1
+ <template>
2
+ <div>
3
+ <div class="top-msg" v-if="visible">
4
+ <div
5
+ v-for="v in listData"
6
+ class="top-msg-items"
7
+ @click="handleMsg(v)"
8
+ >
9
+ <div class="top-msg-items-text">{{ v.opinionName }}</div>
10
+ <div class="top-msg-items-del" @click.stop="handleOpenMsg(v)">
11
+ <img :src="Del" />
12
+ </div>
13
+ </div>
14
+
15
+ <!-- -->
16
+ </div>
17
+ <TopPopup
18
+ :isIndex="2299"
19
+ titleText="操作消息提示"
20
+ :isTips="true"
21
+ :context="`将常用意见'${opinion.opinionName}'删除`"
22
+ :cancel="handleTipsCancel"
23
+ :comfig="handleDel"
24
+ v-bind:visible="visibleListMsg"
25
+ v-on:update:visible="(val) => (visibleListMsg = val)"
26
+ >
27
+ </TopPopup>
28
+ </div>
29
+ </template>
30
+ <script>
31
+ import TopPopup from "../../popup/index.vue";
32
+ import del from "@/assets/status/del.png";
33
+
34
+ export default {
35
+ name: "msgList",
36
+ components: {
37
+ TopPopup,
38
+ },
39
+ props: {
40
+ visible: {
41
+ type: Boolean,
42
+ default: false,
43
+ },
44
+ request: {
45
+ default: null,
46
+ },
47
+ useInfo: {
48
+ type: Object,
49
+ default: () => {},
50
+ },
51
+ },
52
+ data() {
53
+ return {
54
+ listData: [],
55
+ visibleListMsg: false,
56
+ opinion: {},
57
+ textTips: "",
58
+ statusTips: false,
59
+ typeTips: "",
60
+ };
61
+ },
62
+ computed: {
63
+ Del() {
64
+ return del;
65
+ },
66
+ },
67
+ watch: {
68
+ visible: {
69
+ handler(val, preVal) {
70
+ // console.log("当前展示:::", val);
71
+ if (val) {
72
+ this.request.get("/auth/user/opinion/my").then((res) => {
73
+ // console.log("当前展示:::", this.useInfo);
74
+ if (res.code === 200) {
75
+ this.listData = res.data;
76
+ }
77
+ });
78
+ }
79
+ },
80
+ },
81
+ },
82
+ methods: {
83
+ handleMsg(val) {
84
+ this.$emit("handleMsg", val.opinionName);
85
+ },
86
+ handleOpenMsg(val) {
87
+ this.opinion = val;
88
+ this.visibleListMsg = true;
89
+ },
90
+ handleTipsCancel() {
91
+ this.visibleListMsg = false;
92
+ },
93
+ async handleDel() {
94
+ if (this.opinion.opinionId) {
95
+ this.visibleListMsg = false;
96
+ this.$emit("handleTips", "", true, "loading");
97
+ await this.request
98
+ .get(`/auth/user/opinion/del/${this.opinion.opinionId}`)
99
+ .then((res) => {
100
+ // console.log("当前展示:::", this.useInfo);
101
+ if (res.code === 200) {
102
+ this.$emit(
103
+ "handleTips",
104
+ "删除成功",
105
+ true,
106
+ "success"
107
+ );
108
+ this.request
109
+ .get("/auth/user/opinion/my")
110
+ .then((res) => {
111
+ // console.log("当前展示:::", this.useInfo);
112
+ if (res.code === 200) {
113
+ this.listData = res.data;
114
+ }
115
+ });
116
+ } else {
117
+ this.$emit("handleTips", res.msg, true, "error");
118
+ }
119
+ })
120
+ .catch((error) => {
121
+ this.$emit("handleTips", error.msg, true, "error");
122
+ });
123
+ }
124
+ },
125
+ },
126
+ };
127
+ </script>
128
+ <style scoped>
129
+ .top-msg {
130
+ height: 100%;
131
+ width: 100%;
132
+ }
133
+
134
+ .top-msg-items {
135
+ width: 100%;
136
+ height: 44px;
137
+ box-sizing: border-box;
138
+ padding: 16px 20px;
139
+ display: flex;
140
+ align-items: center;
141
+ background-color: #fff;
142
+ position: relative;
143
+ }
144
+
145
+ .top-msg-items::after {
146
+ content: "";
147
+ width: 100%;
148
+ height: 1px;
149
+ background-color: #f2f2f2;
150
+ position: absolute;
151
+ bottom: 0;
152
+ left: 0;
153
+ }
154
+
155
+ .top-msg-items-text {
156
+ font-size: 14px;
157
+ color: #333;
158
+ overflow: hidden;
159
+ white-space: nowrap;
160
+ text-overflow: ellipsis;
161
+ flex: 1;
162
+ }
163
+
164
+ .top-msg-items-del {
165
+ width: 20px;
166
+ height: 20px;
167
+ margin-left: 20px;
168
+ }
169
+
170
+ .top-msg-items-del img {
171
+ width: 100%;
172
+ height: 100%;
173
+ }
174
+ </style>
@@ -0,0 +1,316 @@
1
+ <template>
2
+ <div class="process-popup-content">
3
+ <template>
4
+ <div class="process-pc-label">
5
+ <div>
6
+ {{ getFirstProcessNode.name }}
7
+ <br />
8
+ <div>审批人<span class="process-pc-label--re">*</span></div>
9
+ </div>
10
+ </div>
11
+ <div
12
+ class="process-pc-value"
13
+ @click="handleOpenPopup(getFirstProcessNode.id)"
14
+ >
15
+ <div class="process-pc-value--people">
16
+ <div
17
+ class="process-pc-value--data"
18
+ v-if="
19
+ partNode[getFirstProcessNode.id] &&
20
+ partNode[getFirstProcessNode.id].length
21
+ "
22
+ >
23
+ <span
24
+ v-for="(v, i) in partNode[getFirstProcessNode.id]"
25
+ >
26
+ {{ i == 0 ? v : `,${v}` }}
27
+ </span>
28
+ </div>
29
+ <div
30
+ v-else
31
+ class="process-pc-value--data"
32
+ style="color: #888;"
33
+ >
34
+ <span>
35
+ 请选择审批人
36
+ </span>
37
+ </div>
38
+ </div>
39
+ </div>
40
+ </template>
41
+ <TopTips
42
+ ref="topTips"
43
+ :text="textTips"
44
+ :statusTips="statusTips"
45
+ :type="typeTips"
46
+ />
47
+ <TopPopup
48
+ v-bind:visible="visible"
49
+ v-on:update:visible="(val) => (visible = val)"
50
+ titleText="选人"
51
+ :isDrawer="true"
52
+ >
53
+ <departPerson
54
+ :isTitle="false"
55
+ :visible.sync="visible"
56
+ :request="param.request"
57
+ :businessId="param.formData.businessKey"
58
+ v-bind="entity"
59
+ @callback="handleCallback"
60
+ @cancel="handleCancel"
61
+ >
62
+ </departPerson>
63
+ </TopPopup>
64
+ </div>
65
+ </template>
66
+ <script>
67
+ import TopTips from "../../tip/index.vue";
68
+ import attchViews from "../../attchUpload/index.vue";
69
+ import TopPopup from "../../popup/index.vue";
70
+ import { departPerson } from "checked-pick-app";
71
+ export default {
72
+ name: "restart",
73
+ props: {
74
+ param: {
75
+ type: Object,
76
+ defalut: () => {},
77
+ },
78
+ },
79
+ components: {
80
+ TopTips,
81
+ attchViews,
82
+ TopPopup,
83
+ departPerson,
84
+ },
85
+ data() {
86
+ return {
87
+ commentMsg: "",
88
+ style: {
89
+ color: "#333",
90
+ disableColor: "#F7F6F6",
91
+ },
92
+ textTips: "",
93
+ statusTips: false,
94
+ typeTips: "success",
95
+ // annex 附件属性
96
+ limit: "",
97
+ requires: "",
98
+ labels: "",
99
+ otherList: "",
100
+ attchLists: [],
101
+ // next
102
+ nextNodeData: [],
103
+ taskNode: [],
104
+
105
+ outGatewayUserTaskModel: [],
106
+ formData: {},
107
+
108
+ // 选人组件
109
+ visible: false,
110
+ entity: {
111
+ source: "0",
112
+ type: "0", //'http://59.53.91.231:2100' 0002
113
+ businessId: this.param.businessKey,
114
+ codeType: [3], // 可选类型 1-主体 2-部门 3-人员
115
+ multiple: true, // 是否多选
116
+ },
117
+ /* {
118
+ source: "0",
119
+ type: "0",
120
+ request: this.param.request, //'http://59.53.91.231:2100' 0002
121
+ businessId: "6a9aaf5742572e82b5d89d6f7e52e2f2",
122
+ codeType: [3], // 可选类型 1-主体 2-部门 3-人员
123
+ multiple: true, // 是否多选
124
+ } */
125
+ // 存储选人信息
126
+ multiNodeParticipant: {},
127
+ // 当前评估对象
128
+ partObjId: [],
129
+ // 选中人员信息
130
+ partNode: {},
131
+ getFirstProcessNode: {},
132
+ };
133
+ },
134
+ watch: {
135
+ param: {
136
+ handler(val, preVal) {
137
+ console.log("handler::::", val);
138
+ this.getFirstProcessNode = val.getFirstProcessNode;
139
+ if (val.getFirstProcessNode && this.getFirstProcessNode) {
140
+ if (
141
+ val.getFirstProcessNode.type == "userTask" ||
142
+ val.getFirstProcessNode.type == "UserTaskModel"
143
+ ) {
144
+ this.entity.multiple = false;
145
+ this.entity.codeType = [3];
146
+ this.entity.source = "1";
147
+ } else if (
148
+ val.getFirstProcessNode.type == "ExclusiveGatewayModel"
149
+ ) {
150
+ } else if (
151
+ val.getFirstProcessNode.type == "InclusiveGatewayModel"
152
+ ) {
153
+ }
154
+ }
155
+ },
156
+ immediate: true,
157
+ deep: true,
158
+ },
159
+ },
160
+ created() {
161
+ console.log("isVue2", this.param);
162
+ },
163
+ methods: {
164
+ handleOpenPopup(id) {
165
+ this.visible = true;
166
+ this.partObjId = id;
167
+ },
168
+ async confirm() {
169
+ let params = {
170
+ isClearHistory: false,
171
+ processInstId: this.param.processInstId,
172
+ reactivateReason: "重新提交",
173
+ multiNodeParticipant: this.multiNodeParticipant,
174
+ };
175
+ this.handleTips("", true, "loading");
176
+ await this.param.request
177
+ .post("/aws/pis/reactivate", params)
178
+ .then((res) => {
179
+ if (res.code == 200) {
180
+ this.$emit("handleClosePopup1");
181
+ this.handleTips("提交成功!", false, "success");
182
+ this.handleFinal();
183
+ } else {
184
+ this.handleTips(res.msg, true, "error");
185
+ }
186
+ });
187
+ },
188
+
189
+ handleCallback(res) {
190
+ this.visible = false;
191
+ this.multiNodeParticipant[this.partObjId] = [];
192
+ this.partNode[this.partObjId] = [];
193
+ res.map((v, i) => {
194
+ this.multiNodeParticipant[this.partObjId].push(v.uid);
195
+ this.partNode[this.partObjId].push(v.name);
196
+ });
197
+ console.log("callback_OK", res, this.multiNodeParticipant);
198
+ },
199
+ handleCancel() {
200
+ console.log("cancel_No");
201
+ },
202
+
203
+ isOption(humanPerformer) {
204
+ return (
205
+ humanPerformer == "任意指定" ||
206
+ humanPerformer == "固定部门" ||
207
+ humanPerformer == "固定单位" ||
208
+ humanPerformer == "与流程申请人所在组织结构的位置相关" ||
209
+ humanPerformer == "固定群组"
210
+ );
211
+ },
212
+
213
+ handleTips(text, status, type) {
214
+ this.textTips = text;
215
+ this.statusTips = status;
216
+ this.typeTips = type;
217
+ this.$refs.topTips.handleOpen();
218
+ },
219
+
220
+ handleFinal() {
221
+ if (this.param.endFunction) {
222
+ this.param.endFunction();
223
+ }
224
+ },
225
+ },
226
+ };
227
+ </script>
228
+ <style scoped>
229
+ .process-popup-content {
230
+ flex: 1;
231
+ }
232
+
233
+ .process-popup-content .process-pc-label {
234
+ font-size: 15px;
235
+ display: flex;
236
+ align-items: center;
237
+ font-weight: 400;
238
+ color: #333333;
239
+ padding-top: 20px;
240
+ padding-bottom: 5px;
241
+ }
242
+
243
+ .process-popup-content .process-pc-value .van-field {
244
+ border-bottom: 1px solid #e8e8e8;
245
+ padding: 0;
246
+ }
247
+
248
+ .input-padding {
249
+ padding: 0;
250
+ }
251
+
252
+ .process-popup-textarea {
253
+ position: relative;
254
+ width: 100%;
255
+ height: 62px;
256
+ min-height: 62px;
257
+ }
258
+
259
+ .process-popup-textarea::after {
260
+ position: absolute;
261
+ content: "";
262
+ width: 100%;
263
+ height: 1px;
264
+ background-color: #f2f2f2;
265
+ bottom: 0;
266
+ left: 0;
267
+ }
268
+
269
+ .process-popup-textarea .textarea-item {
270
+ resize: none;
271
+ background: none;
272
+ color: inherit;
273
+ opacity: 1;
274
+ font: inherit;
275
+ line-height: inherit;
276
+ letter-spacing: inherit;
277
+ text-align: inherit;
278
+ text-indent: inherit;
279
+ text-transform: inherit;
280
+ text-shadow: inherit;
281
+ outline: none;
282
+ border: none;
283
+ padding: 0;
284
+ margin: 0;
285
+ text-decoration: inherit;
286
+ height: 100%;
287
+ font-size: 14px;
288
+ }
289
+ .process-pc-label--re {
290
+ color: #ee0000;
291
+ }
292
+
293
+ .process-pc-value--people {
294
+ width: 100%;
295
+ min-height: 43px;
296
+ padding: 10px 26px 10px 0;
297
+ box-sizing: border-box;
298
+ position: relative;
299
+ font-size: 14px;
300
+ }
301
+
302
+ .process-pc-value--people::after {
303
+ position: absolute;
304
+ content: "";
305
+ width: 100%;
306
+ height: 1px;
307
+ background-color: #e8e8e8;
308
+ bottom: 0;
309
+ left: 0;
310
+ }
311
+
312
+ ::v-deep .departPerson-main {
313
+ width: 100% !important;
314
+ height: 100% !important;
315
+ }
316
+ </style>