cloud-web-corejs 1.0.54-dev.749 → 1.0.54-dev.751

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "cloud-web-corejs",
3
3
  "private": false,
4
- "version": "1.0.54-dev.749",
4
+ "version": "1.0.54-dev.751",
5
5
  "scripts": {
6
6
  "dev": "vue-cli-service serve",
7
7
  "lint": "eslint --ext .js,.vue src",
@@ -49,7 +49,10 @@
49
49
  <div class="clearfix screen-btns">
50
50
  <div class="fl">
51
51
  <base-table-export
52
- :option="{ title: $t1('流程待办导出'), targetRef: 'table-m1' }"
52
+ :option="{
53
+ title: $t1('流程待办导出'),
54
+ targetRef: 'table-m1',
55
+ }"
53
56
  :parent-target="_self"
54
57
  />
55
58
  </div>
@@ -84,15 +87,26 @@
84
87
  >
85
88
  <vxe-form-item :title="$t1('待办类型') + ':'">
86
89
  <template v-slot>
87
- <el-input v-model="checkNodeData.label" size="small" disabled />
90
+ <el-input
91
+ v-model="checkNodeData.label"
92
+ size="small"
93
+ disabled
94
+ />
88
95
  </template>
89
96
  </vxe-form-item>
90
97
  <vxe-form-item :title="$t1('流程主题') + ':'" field="name">
91
98
  <template v-slot>
92
- <el-input v-model="formData.name" size="small" clearable />
99
+ <el-input
100
+ v-model="formData.name"
101
+ size="small"
102
+ clearable
103
+ />
93
104
  </template>
94
105
  </vxe-form-item>
95
- <vxe-form-item :title="$t1('单据类型') + ':'" field="objTypeName">
106
+ <vxe-form-item
107
+ :title="$t1('单据类型') + ':'"
108
+ field="objTypeName"
109
+ >
96
110
  <template v-slot>
97
111
  <el-input
98
112
  class="search-input"
@@ -116,15 +130,31 @@
116
130
  <vxe-form-item :title="$t1('流程状态') + ':'" field="stat">
117
131
  <template v-slot>
118
132
  <el-select v-model="formData.stat" clearable>
119
- <el-option :value="1" :label="$t1('审核中')"></el-option>
120
- <el-option :value="2" :label="$t1('已完成')"></el-option>
121
- <el-option :value="3" :label="$t1('已驳回')"></el-option>
133
+ <el-option
134
+ :value="1"
135
+ :label="$t1('审核中')"
136
+ ></el-option>
137
+ <el-option
138
+ :value="2"
139
+ :label="$t1('已完成')"
140
+ ></el-option>
141
+ <el-option
142
+ :value="3"
143
+ :label="$t1('已驳回')"
144
+ ></el-option>
122
145
  </el-select>
123
146
  </template>
124
147
  </vxe-form-item>
125
- <vxe-form-item :title="$t1('启动人') + ':'" field="starterName">
148
+ <vxe-form-item
149
+ :title="$t1('启动人') + ':'"
150
+ field="starterName"
151
+ >
126
152
  <template v-slot>
127
- <el-input v-model="formData.starterName" size="small" clearable />
153
+ <el-input
154
+ v-model="formData.starterName"
155
+ size="small"
156
+ clearable
157
+ />
128
158
  </template>
129
159
  </vxe-form-item>
130
160
  <vxe-form-item title="启动时间:">
@@ -136,7 +166,9 @@
136
166
  size="small"
137
167
  clearable
138
168
  value-format="yyyy-MM-dd HH:mm:ss"
139
- :picker-options="$baseStartPickerOptions(formData.endTime)"
169
+ :picker-options="
170
+ $baseStartPickerOptions(formData.endTime)
171
+ "
140
172
  ></el-date-picker>
141
173
  <span>-</span>
142
174
  <el-date-picker
@@ -147,7 +179,9 @@
147
179
  clearable
148
180
  value-format="yyyy-MM-dd HH:mm:ss"
149
181
  default-time="23:59:59"
150
- :picker-options="$baseEndPickerOptions(formData.startTime)"
182
+ :picker-options="
183
+ $baseEndPickerOptions(formData.startTime)
184
+ "
151
185
  ></el-date-picker>
152
186
  </template>
153
187
  </vxe-form-item>
@@ -169,9 +203,18 @@
169
203
  <div class="clearfix screen-btns">
170
204
  <div class="fl">
171
205
  <base-table-export
172
- :option="{ title: $t1('流程待办导出'), targetRef: 'table-m2' }"
206
+ :option="{
207
+ title: $t1('流程待办导出'),
208
+ targetRef: 'table-m2',
209
+ }"
173
210
  :parent-target="_self"
174
211
  />
212
+ <el-button
213
+ type="primary"
214
+ class="button-sty"
215
+ @click="openCurrentTaskUserDialog"
216
+ >{{ $t1("处理当前任务用户") }}
217
+ </el-button>
175
218
  </div>
176
219
  <div class="fr">
177
220
  <vxe-button
@@ -207,7 +250,10 @@
207
250
  <el-input v-model="formData2.name" size="small" clearable />
208
251
  </template>
209
252
  </vxe-form-item>
210
- <vxe-form-item :title="$t1('单据类型') + ':'" field="objTypeName">
253
+ <vxe-form-item
254
+ :title="$t1('单据类型') + ':'"
255
+ field="objTypeName"
256
+ >
211
257
  <template v-slot>
212
258
  <el-input
213
259
  class="search-input"
@@ -237,9 +283,24 @@
237
283
  </el-select>
238
284
  </template>
239
285
  </vxe-form-item>
240
- <vxe-form-item :title="$t1('当前任务用户') + ':'" field="candidateNames">
286
+ <vxe-form-item
287
+ :title="$t1('当前任务用户') + ':'"
288
+ field="candidateNames"
289
+ >
290
+ <template v-slot>
291
+ <el-input
292
+ v-model="formData2.candidateNames"
293
+ size="small"
294
+ clearable
295
+ />
296
+ </template>
297
+ </vxe-form-item>
298
+ <vxe-form-item :title="$t1('禁用用户流程') + ':'">
241
299
  <template v-slot>
242
- <el-input v-model="formData2.candidateNames" size="small" clearable />
300
+ <el-select v-model="formData2.filterDisabledUser" clearable>
301
+ <el-option :value="1" :label="$t1('是')"></el-option>
302
+ <el-option :value="0" :label="$t1('否')"></el-option>
303
+ </el-select>
243
304
  </template>
244
305
  </vxe-form-item>
245
306
  </vxe-form>
@@ -262,15 +323,102 @@
262
323
  @confirm="confirmInsertWfObjConfig2"
263
324
  :multi="false"
264
325
  ></wfObjConfigDialog>
326
+ <el-dialog
327
+ :title="$t1('处理当前任务用户')"
328
+ :append-to-body="true"
329
+ :modal-append-to-body="true"
330
+ :close-on-click-modal="false"
331
+ :visible.sync="showCurrentTaskUserDialog"
332
+ :modal="false"
333
+ custom-class="dialog-style list-dialog pd_0"
334
+ width="300px"
335
+ @close="closeCurrentTaskUserDialog"
336
+ v-el-drag-dialog
337
+ v-el-dialog-center
338
+ >
339
+ <div class="cont" style="padding: 16px 20px">
340
+ <el-form
341
+ ref="currentTaskUserForm"
342
+ :model="currentTaskUserForm"
343
+ label-width="100px"
344
+ >
345
+ <el-form-item :label="$t1('删除用户')">
346
+ <el-input
347
+ class="search-input"
348
+ v-model="currentTaskUserForm.delUserNames"
349
+ clearable
350
+ @clear="clearDelUsers"
351
+ v-el-readonly
352
+ >
353
+ <i
354
+ slot="suffix"
355
+ class="el-input__icon el-icon-search"
356
+ @click="openDelUserDialog"
357
+ ></i>
358
+ </el-input>
359
+ </el-form-item>
360
+ <el-form-item :label="$t1('新增用户')">
361
+ <el-input
362
+ class="search-input"
363
+ v-model="currentTaskUserForm.addUserNames"
364
+ clearable
365
+ @clear="clearAddUsers"
366
+ v-el-readonly
367
+ >
368
+ <i
369
+ slot="suffix"
370
+ class="el-input__icon el-icon-search"
371
+ @click="openAddUserDialog"
372
+ ></i>
373
+ </el-input>
374
+ </el-form-item>
375
+ </el-form>
376
+ </div>
377
+ <span slot="footer" class="dialog-footer">
378
+ <el-button
379
+ type="primary"
380
+ plain
381
+ class="button-sty"
382
+ @click="closeCurrentTaskUserDialog"
383
+ >
384
+ <i class="el-icon-close el-icon"></i>
385
+ {{ $t1("取 消") }}
386
+ </el-button>
387
+ <el-button
388
+ type="primary"
389
+ class="button-sty"
390
+ @click="confirmCurrentTaskUser"
391
+ >
392
+ <i class="el-icon-check el-icon"></i>
393
+ {{ $t1("确 定") }}
394
+ </el-button>
395
+ </span>
396
+ </el-dialog>
397
+ <userDialog
398
+ v-if="showDelUserDialog"
399
+ :visiable.sync="showDelUserDialog"
400
+ @confirm="confirmDelUsers"
401
+ :multi="true"
402
+ :param="{ enabled: null }"
403
+ :rows="currentTaskUserForm.delUserRows"
404
+ />
405
+ <userDialog
406
+ v-if="showAddUserDialog"
407
+ :visiable.sync="showAddUserDialog"
408
+ @confirm="confirmAddUsers"
409
+ :multi="true"
410
+ :rows="currentTaskUserForm.addUserRows"
411
+ />
265
412
  </div>
266
413
  </template>
267
414
  <script>
268
415
  import { treeScollx } from "@base/utils/global.js";
269
416
  import wfObjConfigDialog from "../../../../views/user/wf/wf_obj_config/dialog.vue";
417
+ import userDialog from "@base/views/user/user/dialog";
270
418
 
271
419
  export default {
272
420
  name: "wf_manage:list",
273
- components: { wfObjConfigDialog },
421
+ components: { wfObjConfigDialog, userDialog },
274
422
  created() {},
275
423
  async mounted() {
276
424
  treeScollx({ target: this, type: "default" });
@@ -301,11 +449,26 @@ export default {
301
449
  param: {},
302
450
  wfContent: null,
303
451
  showWfContent: false,
452
+
453
+ showCurrentTaskUserDialog: false,
454
+ showDelUserDialog: false,
455
+ showAddUserDialog: false,
456
+ currentTaskUserUuids: [],
457
+ currentTaskUserForm: {
458
+ delUserIds: [],
459
+ delUserNames: "",
460
+ delUserRows: [],
461
+ addUserIds: [],
462
+ addUserNames: "",
463
+ addUserRows: [],
464
+ },
304
465
  };
305
466
  },
306
467
  computed: {
307
468
  type() {
308
- return this.checkNode && this.checkNode.data ? this.checkNode.data.type : "";
469
+ return this.checkNode && this.checkNode.data
470
+ ? this.checkNode.data.type
471
+ : "";
309
472
  },
310
473
  checkNodeData() {
311
474
  return this.checkNode && this.checkNode.data ? this.checkNode.data : {};
@@ -500,11 +663,14 @@ export default {
500
663
  this.$openEditView("showWfContent");
501
664
  },
502
665
  guid() {
503
- return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (c) {
504
- var r = (Math.random() * 16) | 0,
505
- v = c == "x" ? r : (r & 0x3) | 0x8;
506
- return v.toString(16);
507
- });
666
+ return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(
667
+ /[xy]/g,
668
+ function (c) {
669
+ var r = (Math.random() * 16) | 0,
670
+ v = c == "x" ? r : (r & 0x3) | 0x8;
671
+ return v.toString(16);
672
+ }
673
+ );
508
674
  },
509
675
  clearNodeClick() {
510
676
  /* this.formData.saleOrgId = '';
@@ -797,6 +963,95 @@ export default {
797
963
  this.$set(this.formData2, "objTypeCode", row.objTypeCode);
798
964
  }
799
965
  },
966
+ openCurrentTaskUserDialog() {
967
+ let checkRows = this.$refs["table-m2"].getCheckboxRecords(true) || [];
968
+ if (!checkRows.length) {
969
+ this.$baseAlert(this.$t1("请勾选需要处理的数据"));
970
+ return;
971
+ }
972
+ this.currentTaskUserUuids = checkRows.map((row) => row.uuid);
973
+ this.currentTaskUserForm = {
974
+ delUserIds: [],
975
+ delUserNames: "",
976
+ delUserRows: [],
977
+ addUserIds: [],
978
+ addUserNames: "",
979
+ addUserRows: [],
980
+ };
981
+ this.showCurrentTaskUserDialog = true;
982
+ },
983
+ closeCurrentTaskUserDialog() {
984
+ this.showCurrentTaskUserDialog = false;
985
+ },
986
+ openDelUserDialog() {
987
+ this.showDelUserDialog = true;
988
+ },
989
+ openAddUserDialog() {
990
+ this.showAddUserDialog = true;
991
+ },
992
+ clearDelUsers() {
993
+ this.currentTaskUserForm.delUserIds = [];
994
+ this.currentTaskUserForm.delUserNames = "";
995
+ this.currentTaskUserForm.delUserRows = [];
996
+ },
997
+ clearAddUsers() {
998
+ this.currentTaskUserForm.addUserIds = [];
999
+ this.currentTaskUserForm.addUserNames = "";
1000
+ this.currentTaskUserForm.addUserRows = [];
1001
+ },
1002
+ confirmDelUsers(rows) {
1003
+ if (!rows || !rows.length) {
1004
+ this.clearDelUsers();
1005
+ return;
1006
+ }
1007
+ this.currentTaskUserForm.delUserIds = rows.map((row) => row.id);
1008
+ this.currentTaskUserForm.delUserRows = rows;
1009
+ this.currentTaskUserForm.delUserNames = rows
1010
+ .map((row) => row.nickName)
1011
+ .join(",");
1012
+ },
1013
+ confirmAddUsers(rows) {
1014
+ if (!rows || !rows.length) {
1015
+ this.clearAddUsers();
1016
+ return;
1017
+ }
1018
+ this.currentTaskUserForm.addUserIds = rows.map((row) => row.id);
1019
+ this.currentTaskUserForm.addUserRows = rows;
1020
+ this.currentTaskUserForm.addUserNames = rows
1021
+ .map((row) => row.nickName)
1022
+ .join(",");
1023
+ },
1024
+ confirmCurrentTaskUser() {
1025
+ let delUserIds = this.currentTaskUserForm.delUserIds || [];
1026
+ let addUserIds = this.currentTaskUserForm.addUserIds || [];
1027
+ if (!delUserIds.length) {
1028
+ this.$message.error(this.$t1("请选择删除用户"));
1029
+ return;
1030
+ }
1031
+ this.$baseConfirm(this.$t1("您确定要处理当前任务用户吗?")).then(() => {
1032
+ this.$http({
1033
+ url: USER_PREFIX + "/wf_info/updateCurrentTaskUsers",
1034
+ method: "post",
1035
+ data: {
1036
+ uuid: this.currentTaskUserUuids,
1037
+ delUserIds: delUserIds,
1038
+ addUserIds: addUserIds,
1039
+ },
1040
+ isLoading: true,
1041
+ success: (res) => {
1042
+ this.$message({
1043
+ message: res.content || this.$t1("操作成功"),
1044
+ type: "success",
1045
+ duration: 500,
1046
+ onClose: () => {
1047
+ this.closeCurrentTaskUserDialog();
1048
+ this.searchEvent2();
1049
+ },
1050
+ });
1051
+ },
1052
+ });
1053
+ });
1054
+ },
800
1055
  },
801
1056
  };
802
1057
  </script>