ui-process-h5 0.1.32 → 0.1.36

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 (36) hide show
  1. package/package.json +6 -49
  2. package/packages/components/approval/index.js +0 -0
  3. package/packages/components/process/{index.ts → index.js} +2 -3
  4. package/packages/components/process/src/attchlist-upload.vue +585 -0
  5. package/packages/components/process/src/operation/backNode.vue +141 -0
  6. package/packages/components/process/src/operation/cancel.vue +170 -0
  7. package/packages/components/process/src/operation/ccTask.vue +170 -0
  8. package/packages/components/process/src/operation/complete.vue +224 -0
  9. package/packages/components/process/src/operation/counterSign.vue +178 -0
  10. package/packages/components/process/src/operation/delegateTask.vue +168 -0
  11. package/packages/components/process/src/operation/index.js +9 -0
  12. package/packages/components/process/src/operation/restart.vue +172 -0
  13. package/packages/components/process/src/popup.vue +176 -74
  14. package/packages/components/process/src/process.vue +900 -0
  15. package/packages/components/process/src/tab.vue +189 -197
  16. package/packages/components/process/src/tip.vue +207 -0
  17. package/packages/components/process/theme/img/add-file.png +0 -0
  18. package/packages/components/process/theme/img/del.png +0 -0
  19. package/packages/components/process/theme/img/doc.png +0 -0
  20. package/packages/components/process/theme/img/file.png +0 -0
  21. package/packages/components/process/theme/img/image.png +0 -0
  22. package/packages/components/process/theme/img/pdf.png +0 -0
  23. package/packages/components/process/theme/img/xls.png +0 -0
  24. package/packages/components/process/theme/img/zip.png +0 -0
  25. package/packages/components/process/theme/status/error.png +0 -0
  26. package/packages/components/process/theme/status/loading.png +0 -0
  27. package/packages/components/process/theme/status/success.png +0 -0
  28. package/packages/index.js +4 -0
  29. package/packages/component.ts +0 -4
  30. package/packages/components/process/src/button.vue +0 -55
  31. package/packages/components/process/src/index.vue +0 -447
  32. package/packages/components/utils/request/api.ts +0 -11
  33. package/packages/components/utils/request/cache.d.ts +0 -52
  34. package/packages/components/utils/request/cache.js +0 -99
  35. package/packages/components/utils/request/request.ts +0 -62
  36. package/packages/index.ts +0 -4
@@ -0,0 +1,141 @@
1
+ <template>
2
+ <div class="process-popup-content">
3
+ <div class="process-pc-label">退回理由:</div>
4
+ <div class="process-pc-value">
5
+ <div v-if="VueVersion">
6
+ <uni-easyinput
7
+ :clearable="false"
8
+ placeholder="请输入退回理由(200字以内)"
9
+ :styles="style"
10
+ type="textarea"
11
+ v-model="commentMsg"
12
+ />
13
+ </div>
14
+ <div v-else>
15
+ <!-- <van-field
16
+ v-model="commentMsg"
17
+ rows="2"
18
+ label=""
19
+ type="textarea"
20
+ show-word-limit
21
+ placeholder="请输入退回理由(200字以内)"
22
+ /> -->
23
+ <div class="process-popup-textarea">
24
+ <textarea
25
+ v-model="commentMsg"
26
+ class="textarea-item"
27
+ name="description"
28
+ cols="40"
29
+ placeholder="请输入退回理由(200字以内)"
30
+ maxlength="200"
31
+ ></textarea>
32
+ </div>
33
+ </div>
34
+ </div>
35
+ <TopTips ref="topTips" :text="textTips" />
36
+ <!-- <attchViews
37
+ v-if="labels == '1'"
38
+ :limit="limit ? limit : -1"
39
+ :require="require"
40
+ @getValue="getValues"
41
+ ref="attchViewsa"
42
+ /> -->
43
+ </div>
44
+ </template>
45
+ <script>
46
+ import { isVue2 } from "vue-demi";
47
+ import TopTips from "../tip.vue";
48
+ export default {
49
+ name: "backNode",
50
+ components: {
51
+ TopTips,
52
+ },
53
+ data() {
54
+ return {
55
+ VueVersion: isVue2,
56
+ commentMsg: "",
57
+ style: {
58
+ color: "#333",
59
+ disableColor: "#F7F6F6",
60
+ },
61
+ textTips: "",
62
+ };
63
+ },
64
+ created() {
65
+ console.log("isVue2", isVue2);
66
+ },
67
+ methods: {
68
+ confirm() {
69
+ if (!this.commentMsg) {
70
+ this.textTips = "请输入退回理由!";
71
+ this.$refs.topTips.handleOpen();
72
+ return false;
73
+ }
74
+
75
+ this.commentMsg = "";
76
+ },
77
+ },
78
+ };
79
+ </script>
80
+ <style scoped>
81
+ .process-popup-content {
82
+ flex: 1;
83
+ }
84
+
85
+ .process-popup-content .process-pc-label {
86
+ font-size: 15px;
87
+ display: flex;
88
+ align-items: center;
89
+ font-weight: 400;
90
+ color: #333333;
91
+ padding-top: 20px;
92
+ padding-bottom: 5px;
93
+ }
94
+
95
+ .process-popup-content .process-pc-value .van-field {
96
+ border-bottom: 1px solid #e8e8e8;
97
+ padding: 0;
98
+ }
99
+
100
+ /deep/ .input-padding {
101
+ padding: 0;
102
+ }
103
+
104
+ .process-popup-textarea {
105
+ position: relative;
106
+ width: 100%;
107
+ height: 62px;
108
+ min-height: 62px;
109
+ }
110
+
111
+ .process-popup-textarea::after {
112
+ position: absolute;
113
+ content: "";
114
+ width: 100%;
115
+ height: 1px;
116
+ background-color: #f2f2f2;
117
+ bottom: 0;
118
+ left: 0;
119
+ }
120
+
121
+ .process-popup-textarea .textarea-item {
122
+ resize: none;
123
+ background: none;
124
+ color: inherit;
125
+ opacity: 1;
126
+ font: inherit;
127
+ line-height: inherit;
128
+ letter-spacing: inherit;
129
+ text-align: inherit;
130
+ text-indent: inherit;
131
+ text-transform: inherit;
132
+ text-shadow: inherit;
133
+ outline: none;
134
+ border: none;
135
+ padding: 0;
136
+ margin: 0;
137
+ text-decoration: inherit;
138
+ height: 100%;
139
+ }
140
+ </style>
141
+
@@ -0,0 +1,170 @@
1
+ <template>
2
+ <div class="process-popup-content">
3
+ <div class="process-pc-label">拒绝理由:</div>
4
+ <div class="process-pc-value">
5
+ <div v-if="VueVersion">
6
+ <uni-easyinput
7
+ :clearable="false"
8
+ placeholder="请输入拒绝理由(200字以内)"
9
+ :styles="style"
10
+ type="textarea"
11
+ v-model="commentMsg"
12
+ />
13
+ </div>
14
+ <div v-else>
15
+ <!-- <van-field
16
+ v-model="commentMsg"
17
+ rows="2"
18
+ label=""
19
+ type="textarea"
20
+ show-word-limit
21
+ placeholder="请输入拒绝理由(200字以内)"
22
+ /> -->
23
+ <div class="process-popup-textarea">
24
+ <textarea
25
+ v-model="commentMsg"
26
+ class="textarea-item"
27
+ name="description"
28
+ cols="40"
29
+ placeholder="请输入拒绝理由(200字以内)"
30
+ maxlength="200"
31
+ ></textarea>
32
+ </div>
33
+ </div>
34
+ </div>
35
+ <TopTips
36
+ ref="topTips"
37
+ :text="textTips"
38
+ :statusTips="statusTips"
39
+ :type="typeTips"
40
+ />
41
+ <!-- <attchViews
42
+ v-if="labels == '1'"
43
+ :limit="limit ? limit : -1"
44
+ :require="require"
45
+ @getValue="getValues"
46
+ ref="attchViewsa"
47
+ /> -->
48
+ </div>
49
+ </template>
50
+ <script>
51
+ import { isVue2 } from "vue-demi";
52
+ import TopTips from "../tip.vue";
53
+ export default {
54
+ name: "cancel",
55
+ props: {
56
+ param: {
57
+ defalut: () => {},
58
+ },
59
+ },
60
+ components: {
61
+ TopTips,
62
+ },
63
+ data() {
64
+ return {
65
+ VueVersion: isVue2,
66
+ commentMsg: "",
67
+ style: {
68
+ color: "#333",
69
+ disableColor: "#F7F6F6",
70
+ },
71
+ textTips: "",
72
+ statusTips: false,
73
+ typeTips: "success",
74
+ };
75
+ },
76
+ created() {
77
+ console.log("isVue2", isVue2, this.param);
78
+ },
79
+ methods: {
80
+ async confirm() {
81
+ if (!this.commentMsg) {
82
+ this.handleTips("请输入拒绝理由!", false, "success");
83
+ return false;
84
+ }
85
+ this.handleTips("", true, "loading");
86
+ await this.param.api
87
+ .reject({
88
+ commentMsg: this.commentMsg,
89
+ taskInstId: this.param.taskInstId,
90
+ })
91
+ .then((res) => {
92
+ if (res.code == 200) {
93
+ this.$emit("handleClosePopup1");
94
+ this.handleTips("提交成功!", false, "success");
95
+ this.commentMsg = "";
96
+ } else {
97
+ this.handleTips(res.msg, true, "error");
98
+ }
99
+ });
100
+ },
101
+ handleTips(text, status, type) {
102
+ this.textTips = text;
103
+ this.statusTips = status;
104
+ this.typeTips = type;
105
+ this.$refs.topTips.handleOpen();
106
+ },
107
+ },
108
+ };
109
+ </script>
110
+ <style scoped>
111
+ .process-popup-content {
112
+ flex: 1;
113
+ }
114
+
115
+ .process-popup-content .process-pc-label {
116
+ font-size: 15px;
117
+ display: flex;
118
+ align-items: center;
119
+ font-weight: 400;
120
+ color: #333333;
121
+ padding-top: 20px;
122
+ padding-bottom: 5px;
123
+ }
124
+
125
+ .process-popup-content .process-pc-value .van-field {
126
+ border-bottom: 1px solid #e8e8e8;
127
+ padding: 0;
128
+ }
129
+
130
+ /deep/ .input-padding {
131
+ padding: 0;
132
+ }
133
+
134
+ .process-popup-textarea {
135
+ position: relative;
136
+ width: 100%;
137
+ height: 62px;
138
+ min-height: 62px;
139
+ }
140
+
141
+ .process-popup-textarea::after {
142
+ position: absolute;
143
+ content: "";
144
+ width: 100%;
145
+ height: 1px;
146
+ background-color: #f2f2f2;
147
+ bottom: 0;
148
+ left: 0;
149
+ }
150
+
151
+ .process-popup-textarea .textarea-item {
152
+ resize: none;
153
+ background: none;
154
+ color: inherit;
155
+ opacity: 1;
156
+ font: inherit;
157
+ line-height: inherit;
158
+ letter-spacing: inherit;
159
+ text-align: inherit;
160
+ text-indent: inherit;
161
+ text-transform: inherit;
162
+ text-shadow: inherit;
163
+ outline: none;
164
+ border: none;
165
+ padding: 0;
166
+ margin: 0;
167
+ text-decoration: inherit;
168
+ height: 100%;
169
+ }
170
+ </style>
@@ -0,0 +1,170 @@
1
+ <template>
2
+ <div class="process-popup-content">
3
+ <div class="process-pc-label">抄送理由:</div>
4
+ <div class="process-pc-value">
5
+ <div v-if="VueVersion">
6
+ <uni-easyinput
7
+ :clearable="false"
8
+ placeholder="请输入抄送理由(200字以内)"
9
+ :styles="style"
10
+ type="textarea"
11
+ v-model="commentMsg"
12
+ />
13
+ </div>
14
+ <div v-else>
15
+ <!-- <van-field
16
+ v-model="commentMsg"
17
+ rows="2"
18
+ label=""
19
+ type="textarea"
20
+ show-word-limit
21
+ placeholder="请输入抄送理由(200字以内)"
22
+ /> -->
23
+ <div class="process-popup-textarea">
24
+ <textarea
25
+ v-model="commentMsg"
26
+ class="textarea-item"
27
+ name="description"
28
+ cols="40"
29
+ placeholder="请输入抄送理由(200字以内)"
30
+ maxlength="200"
31
+ ></textarea>
32
+ </div>
33
+ </div>
34
+ </div>
35
+ <TopTips
36
+ ref="topTips"
37
+ :text="textTips"
38
+ :statusTips="statusTips"
39
+ :type="typeTips"
40
+ />
41
+ <!-- <attchViews
42
+ v-if="labels == '1'"
43
+ :limit="limit ? limit : -1"
44
+ :require="require"
45
+ @getValue="getValues"
46
+ ref="attchViewsa"
47
+ /> -->
48
+ </div>
49
+ </template>
50
+ <script>
51
+ import { isVue2 } from "vue-demi";
52
+ import TopTips from "../tip.vue";
53
+ export default {
54
+ name: "ccTask",
55
+ props: {
56
+ param: {
57
+ defalut: () => {},
58
+ },
59
+ },
60
+ components: {
61
+ TopTips,
62
+ },
63
+ data() {
64
+ return {
65
+ VueVersion: isVue2,
66
+ commentMsg: "",
67
+ style: {
68
+ color: "#333",
69
+ disableColor: "#F7F6F6",
70
+ },
71
+ textTips: "",
72
+ statusTips: false,
73
+ typeTips: "success",
74
+ };
75
+ },
76
+ created() {
77
+ console.log("isVue2", isVue2);
78
+ },
79
+ methods: {
80
+ async confirm() {
81
+ this.handleTips("", true, "loading");
82
+ await this.param.api
83
+ .createCCTask({
84
+ processInstId: this.param.processInstId,
85
+ title:
86
+ this.param.formData.title ||
87
+ this.param.formData.reason ||
88
+ this.param.formData.meetingTheme,
89
+ parentTaskInstId: this.param.taskInstId,
90
+ participant: "87026a8df81e0749ae153c5729357b67",
91
+ })
92
+ .then((res) => {
93
+ if (res.code == 200) {
94
+ this.$emit("handleClosePopup1");
95
+ this.handleTips("提交成功!", false, "success");
96
+ } else {
97
+ this.handleTips(res.msg, true, "error");
98
+ }
99
+ });
100
+ },
101
+ handleTips(text, status, type) {
102
+ this.textTips = text;
103
+ this.statusTips = status;
104
+ this.typeTips = type;
105
+ this.$refs.topTips.handleOpen();
106
+ },
107
+ },
108
+ };
109
+ </script>
110
+ <style scoped>
111
+ .process-popup-content {
112
+ flex: 1;
113
+ }
114
+
115
+ .process-popup-content .process-pc-label {
116
+ font-size: 15px;
117
+ display: flex;
118
+ align-items: center;
119
+ font-weight: 400;
120
+ color: #333333;
121
+ padding-top: 20px;
122
+ padding-bottom: 5px;
123
+ }
124
+
125
+ .process-popup-content .process-pc-value .van-field {
126
+ border-bottom: 1px solid #e8e8e8;
127
+ padding: 0;
128
+ }
129
+
130
+ /deep/ .input-padding {
131
+ padding: 0;
132
+ }
133
+
134
+ .process-popup-textarea {
135
+ position: relative;
136
+ width: 100%;
137
+ height: 62px;
138
+ min-height: 62px;
139
+ }
140
+
141
+ .process-popup-textarea::after {
142
+ position: absolute;
143
+ content: "";
144
+ width: 100%;
145
+ height: 1px;
146
+ background-color: #f2f2f2;
147
+ bottom: 0;
148
+ left: 0;
149
+ }
150
+
151
+ .process-popup-textarea .textarea-item {
152
+ resize: none;
153
+ background: none;
154
+ color: inherit;
155
+ opacity: 1;
156
+ font: inherit;
157
+ line-height: inherit;
158
+ letter-spacing: inherit;
159
+ text-align: inherit;
160
+ text-indent: inherit;
161
+ text-transform: inherit;
162
+ text-shadow: inherit;
163
+ outline: none;
164
+ border: none;
165
+ padding: 0;
166
+ margin: 0;
167
+ text-decoration: inherit;
168
+ height: 100%;
169
+ }
170
+ </style>
@@ -0,0 +1,224 @@
1
+ <template>
2
+ <div class="process-popup-content">
3
+ <div class="process-pc-label">审批意见:</div>
4
+ <div class="process-pc-value">
5
+ <div v-if="VueVersion">
6
+ <uni-easyinput
7
+ :clearable="false"
8
+ placeholder="请输入审批意见(200字以内)"
9
+ :styles="style"
10
+ type="textarea"
11
+ v-model="commentMsg"
12
+ />
13
+ </div>
14
+ <div v-else>
15
+ <!-- <van-field
16
+ v-model="commentMsg"
17
+ rows="2"
18
+ label=""
19
+ type="textarea"
20
+ show-word-limit
21
+ placeholder="请输入审批意见(200字以内)"
22
+ /> -->
23
+ <div class="process-popup-textarea">
24
+ <textarea
25
+ v-model="commentMsg"
26
+ class="textarea-item"
27
+ name="description"
28
+ cols="40"
29
+ placeholder="请输入审批意见(200字以内)"
30
+ maxlength="200"
31
+ ></textarea>
32
+ </div>
33
+ </div>
34
+ </div>
35
+ <!-- <template
36
+ v-if="
37
+ param.taskNode &&
38
+ param.taskNode.length > 0 &&
39
+ param.taskNode[0].taskState != $enum.TaskState.无子节点
40
+ "
41
+ >
42
+ <template v-if="param.nextTaskNode">
43
+ <template v-for="item in param.nextTaskNode">
44
+ <template
45
+ v-if="
46
+ item.type != $enum.ProcessNodeType.结束 &&
47
+ isOption(
48
+ item?.userTaskModelDTO?.humanPerformer?.name
49
+ )
50
+ "
51
+ >
52
+ </template>
53
+ </template>
54
+ </template>
55
+ </template> -->
56
+ <TopTips
57
+ ref="topTips"
58
+ :text="textTips"
59
+ :statusTips="statusTips"
60
+ :type="typeTips"
61
+ />
62
+ <attchViews
63
+ v-if="labels == '1'"
64
+ :limit="limit ? limit : -1"
65
+ :require="require"
66
+ ref="attchViewsa"
67
+ :api="param.api"
68
+ />
69
+ <!-- @getValue="getValues" -->
70
+ </div>
71
+ </template>
72
+ <script>
73
+ import { isVue2 } from "vue-demi";
74
+ import TopTips from "../tip.vue";
75
+ import attchViews from "../attchlist-upload.vue";
76
+ export default {
77
+ name: "complete",
78
+ props: {
79
+ param: {
80
+ defalut: () => {},
81
+ },
82
+ },
83
+ components: {
84
+ TopTips,
85
+ attchViews,
86
+ },
87
+ data() {
88
+ return {
89
+ VueVersion: isVue2,
90
+ commentMsg: "",
91
+ style: {
92
+ color: "#333",
93
+ disableColor: "#F7F6F6",
94
+ },
95
+ textTips: "",
96
+ statusTips: false,
97
+ typeTips: "success",
98
+ // annex 附件属性
99
+ limit: "",
100
+ require: false,
101
+ labels: "",
102
+ otherList: "",
103
+ };
104
+ },
105
+ created() {
106
+ console.log("isVue2", isVue2, this.param);
107
+ this.makeDelegateTaskButtonAnnex();
108
+ },
109
+ methods: {
110
+ async confirm() {
111
+ if (!this.commentMsg) {
112
+ this.handleTips("请输入审批意见!", false, "success");
113
+ return;
114
+ }
115
+ this.handleTips("", true, "loading");
116
+ await this.param.api
117
+ .complete({
118
+ actionName: "提交",
119
+ commentMsg: this.commentMsg,
120
+ taskInstId: this.param.taskInstId,
121
+ vars: this.param.vars,
122
+ multiNodeParticipant: {
123
+ obj_ca1e8cc179300001ef42b21050c015df: [
124
+ "87026a8df81e0749ae153c5729357b67",
125
+ ],
126
+ },
127
+ })
128
+ .then((res) => {
129
+ if (res.code == 200) {
130
+ this.$emit("handleClosePopup1");
131
+ this.handleTips("提交成功!", false, "success");
132
+ this.commentMsg = "";
133
+ } else {
134
+ this.handleTips(res.msg, true, "error");
135
+ }
136
+ });
137
+ },
138
+ makeDelegateTaskButtonAnnex() {
139
+ if (this.param.annex) {
140
+ this.otherList = this.param.annex;
141
+ let str = this.otherList.split(";");
142
+ this.limit = str[2];
143
+ this.require = JSON.parse(str[1]);
144
+ this.labels = str[0];
145
+ console.log(
146
+ "makeDelegateTaskButtonAnnex",
147
+ this.otherList,
148
+ this.limit,
149
+ this.require,
150
+ this.labels
151
+ );
152
+ }
153
+ },
154
+
155
+ handleTips(text, status, type) {
156
+ this.textTips = text;
157
+ this.statusTips = status;
158
+ this.typeTips = type;
159
+ this.$refs.topTips.handleOpen();
160
+ },
161
+ },
162
+ };
163
+ </script>
164
+ <style scoped>
165
+ .process-popup-content {
166
+ flex: 1;
167
+ }
168
+
169
+ .process-popup-content .process-pc-label {
170
+ font-size: 15px;
171
+ display: flex;
172
+ align-items: center;
173
+ font-weight: 400;
174
+ color: #333333;
175
+ padding-top: 20px;
176
+ padding-bottom: 5px;
177
+ }
178
+
179
+ .process-popup-content .process-pc-value .van-field {
180
+ border-bottom: 1px solid #e8e8e8;
181
+ padding: 0;
182
+ }
183
+
184
+ /deep/ .input-padding {
185
+ padding: 0;
186
+ }
187
+
188
+ .process-popup-textarea {
189
+ position: relative;
190
+ width: 100%;
191
+ height: 62px;
192
+ min-height: 62px;
193
+ }
194
+
195
+ .process-popup-textarea::after {
196
+ position: absolute;
197
+ content: "";
198
+ width: 100%;
199
+ height: 1px;
200
+ background-color: #f2f2f2;
201
+ bottom: 0;
202
+ left: 0;
203
+ }
204
+
205
+ .process-popup-textarea .textarea-item {
206
+ resize: none;
207
+ background: none;
208
+ color: inherit;
209
+ opacity: 1;
210
+ font: inherit;
211
+ line-height: inherit;
212
+ letter-spacing: inherit;
213
+ text-align: inherit;
214
+ text-indent: inherit;
215
+ text-transform: inherit;
216
+ text-shadow: inherit;
217
+ outline: none;
218
+ border: none;
219
+ padding: 0;
220
+ margin: 0;
221
+ text-decoration: inherit;
222
+ height: 100%;
223
+ }
224
+ </style>