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

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.750",
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,19 @@
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
+ icon="el-icon-check"
216
+ @click="openCurrentTaskUserDialog"
217
+ >{{ $t1("处理当前任务用户") }}
218
+ </el-button>
175
219
  </div>
176
220
  <div class="fr">
177
221
  <vxe-button
@@ -207,7 +251,10 @@
207
251
  <el-input v-model="formData2.name" size="small" clearable />
208
252
  </template>
209
253
  </vxe-form-item>
210
- <vxe-form-item :title="$t1('单据类型') + ':'" field="objTypeName">
254
+ <vxe-form-item
255
+ :title="$t1('单据类型') + ':'"
256
+ field="objTypeName"
257
+ >
211
258
  <template v-slot>
212
259
  <el-input
213
260
  class="search-input"
@@ -237,9 +284,24 @@
237
284
  </el-select>
238
285
  </template>
239
286
  </vxe-form-item>
240
- <vxe-form-item :title="$t1('当前任务用户') + ':'" field="candidateNames">
287
+ <vxe-form-item
288
+ :title="$t1('当前任务用户') + ':'"
289
+ field="candidateNames"
290
+ >
291
+ <template v-slot>
292
+ <el-input
293
+ v-model="formData2.candidateNames"
294
+ size="small"
295
+ clearable
296
+ />
297
+ </template>
298
+ </vxe-form-item>
299
+ <vxe-form-item :title="$t1('禁用用户流程') + ':'">
241
300
  <template v-slot>
242
- <el-input v-model="formData2.candidateNames" size="small" clearable />
301
+ <el-select v-model="formData2.filterDisabledUser" clearable>
302
+ <el-option :value="1" :label="$t1('是')"></el-option>
303
+ <el-option :value="0" :label="$t1('否')"></el-option>
304
+ </el-select>
243
305
  </template>
244
306
  </vxe-form-item>
245
307
  </vxe-form>
@@ -262,15 +324,102 @@
262
324
  @confirm="confirmInsertWfObjConfig2"
263
325
  :multi="false"
264
326
  ></wfObjConfigDialog>
327
+ <el-dialog
328
+ :title="$t1('处理当前任务用户')"
329
+ :append-to-body="true"
330
+ :modal-append-to-body="true"
331
+ :close-on-click-modal="false"
332
+ :visible.sync="showCurrentTaskUserDialog"
333
+ :modal="false"
334
+ custom-class="dialog-style list-dialog pd_0"
335
+ width="300px"
336
+ @close="closeCurrentTaskUserDialog"
337
+ v-el-drag-dialog
338
+ v-el-dialog-center
339
+ >
340
+ <div class="cont" style="padding: 16px 20px">
341
+ <el-form
342
+ ref="currentTaskUserForm"
343
+ :model="currentTaskUserForm"
344
+ label-width="100px"
345
+ >
346
+ <el-form-item :label="$t1('删除用户')">
347
+ <el-input
348
+ class="search-input"
349
+ v-model="currentTaskUserForm.delUserNames"
350
+ clearable
351
+ @clear="clearDelUsers"
352
+ v-el-readonly
353
+ >
354
+ <i
355
+ slot="suffix"
356
+ class="el-input__icon el-icon-search"
357
+ @click="openDelUserDialog"
358
+ ></i>
359
+ </el-input>
360
+ </el-form-item>
361
+ <el-form-item :label="$t1('新增用户')">
362
+ <el-input
363
+ class="search-input"
364
+ v-model="currentTaskUserForm.addUserNames"
365
+ clearable
366
+ @clear="clearAddUsers"
367
+ v-el-readonly
368
+ >
369
+ <i
370
+ slot="suffix"
371
+ class="el-input__icon el-icon-search"
372
+ @click="openAddUserDialog"
373
+ ></i>
374
+ </el-input>
375
+ </el-form-item>
376
+ </el-form>
377
+ </div>
378
+ <span slot="footer" class="dialog-footer">
379
+ <el-button
380
+ type="primary"
381
+ plain
382
+ class="button-sty"
383
+ @click="closeCurrentTaskUserDialog"
384
+ >
385
+ <i class="el-icon-close el-icon"></i>
386
+ {{ $t1("取 消") }}
387
+ </el-button>
388
+ <el-button
389
+ type="primary"
390
+ class="button-sty"
391
+ @click="confirmCurrentTaskUser"
392
+ >
393
+ <i class="el-icon-check el-icon"></i>
394
+ {{ $t1("确 定") }}
395
+ </el-button>
396
+ </span>
397
+ </el-dialog>
398
+ <userDialog
399
+ v-if="showDelUserDialog"
400
+ :visiable.sync="showDelUserDialog"
401
+ @confirm="confirmDelUsers"
402
+ :multi="true"
403
+ :param="{ enabled: null }"
404
+ :rows="currentTaskUserForm.delUserRows"
405
+ />
406
+ <userDialog
407
+ v-if="showAddUserDialog"
408
+ :visiable.sync="showAddUserDialog"
409
+ @confirm="confirmAddUsers"
410
+ :multi="true"
411
+ :rows="currentTaskUserForm.addUserRows"
412
+ />
265
413
  </div>
266
414
  </template>
267
415
  <script>
268
416
  import { treeScollx } from "@base/utils/global.js";
269
417
  import wfObjConfigDialog from "../../../../views/user/wf/wf_obj_config/dialog.vue";
418
+ import userDialog from "@base/views/user/user/dialog";
270
419
 
271
420
  export default {
272
421
  name: "wf_manage:list",
273
- components: { wfObjConfigDialog },
422
+ components: { wfObjConfigDialog, userDialog },
274
423
  created() {},
275
424
  async mounted() {
276
425
  treeScollx({ target: this, type: "default" });
@@ -301,11 +450,26 @@ export default {
301
450
  param: {},
302
451
  wfContent: null,
303
452
  showWfContent: false,
453
+
454
+ showCurrentTaskUserDialog: false,
455
+ showDelUserDialog: false,
456
+ showAddUserDialog: false,
457
+ currentTaskUserUuids: [],
458
+ currentTaskUserForm: {
459
+ delUserIds: [],
460
+ delUserNames: "",
461
+ delUserRows: [],
462
+ addUserIds: [],
463
+ addUserNames: "",
464
+ addUserRows: [],
465
+ },
304
466
  };
305
467
  },
306
468
  computed: {
307
469
  type() {
308
- return this.checkNode && this.checkNode.data ? this.checkNode.data.type : "";
470
+ return this.checkNode && this.checkNode.data
471
+ ? this.checkNode.data.type
472
+ : "";
309
473
  },
310
474
  checkNodeData() {
311
475
  return this.checkNode && this.checkNode.data ? this.checkNode.data : {};
@@ -500,11 +664,14 @@ export default {
500
664
  this.$openEditView("showWfContent");
501
665
  },
502
666
  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
- });
667
+ return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(
668
+ /[xy]/g,
669
+ function (c) {
670
+ var r = (Math.random() * 16) | 0,
671
+ v = c == "x" ? r : (r & 0x3) | 0x8;
672
+ return v.toString(16);
673
+ }
674
+ );
508
675
  },
509
676
  clearNodeClick() {
510
677
  /* this.formData.saleOrgId = '';
@@ -797,6 +964,95 @@ export default {
797
964
  this.$set(this.formData2, "objTypeCode", row.objTypeCode);
798
965
  }
799
966
  },
967
+ openCurrentTaskUserDialog() {
968
+ let checkRows = this.$refs["table-m2"].getCheckboxRecords(true) || [];
969
+ if (!checkRows.length) {
970
+ this.$baseAlert(this.$t1("请勾选需要处理的数据"));
971
+ return;
972
+ }
973
+ this.currentTaskUserUuids = checkRows.map((row) => row.uuid);
974
+ this.currentTaskUserForm = {
975
+ delUserIds: [],
976
+ delUserNames: "",
977
+ delUserRows: [],
978
+ addUserIds: [],
979
+ addUserNames: "",
980
+ addUserRows: [],
981
+ };
982
+ this.showCurrentTaskUserDialog = true;
983
+ },
984
+ closeCurrentTaskUserDialog() {
985
+ this.showCurrentTaskUserDialog = false;
986
+ },
987
+ openDelUserDialog() {
988
+ this.showDelUserDialog = true;
989
+ },
990
+ openAddUserDialog() {
991
+ this.showAddUserDialog = true;
992
+ },
993
+ clearDelUsers() {
994
+ this.currentTaskUserForm.delUserIds = [];
995
+ this.currentTaskUserForm.delUserNames = "";
996
+ this.currentTaskUserForm.delUserRows = [];
997
+ },
998
+ clearAddUsers() {
999
+ this.currentTaskUserForm.addUserIds = [];
1000
+ this.currentTaskUserForm.addUserNames = "";
1001
+ this.currentTaskUserForm.addUserRows = [];
1002
+ },
1003
+ confirmDelUsers(rows) {
1004
+ if (!rows || !rows.length) {
1005
+ this.clearDelUsers();
1006
+ return;
1007
+ }
1008
+ this.currentTaskUserForm.delUserIds = rows.map((row) => row.id);
1009
+ this.currentTaskUserForm.delUserRows = rows;
1010
+ this.currentTaskUserForm.delUserNames = rows
1011
+ .map((row) => row.nickName)
1012
+ .join(",");
1013
+ },
1014
+ confirmAddUsers(rows) {
1015
+ if (!rows || !rows.length) {
1016
+ this.clearAddUsers();
1017
+ return;
1018
+ }
1019
+ this.currentTaskUserForm.addUserIds = rows.map((row) => row.id);
1020
+ this.currentTaskUserForm.addUserRows = rows;
1021
+ this.currentTaskUserForm.addUserNames = rows
1022
+ .map((row) => row.nickName)
1023
+ .join(",");
1024
+ },
1025
+ confirmCurrentTaskUser() {
1026
+ let delUserIds = this.currentTaskUserForm.delUserIds || [];
1027
+ let addUserIds = this.currentTaskUserForm.addUserIds || [];
1028
+ if (!delUserIds.length) {
1029
+ this.$message.error(this.$t1("请选择删除用户"));
1030
+ return;
1031
+ }
1032
+ this.$baseConfirm(this.$t1("您确定要处理当前任务用户吗?")).then(() => {
1033
+ this.$http({
1034
+ url: USER_PREFIX + "/wf_info/updateCurrentTaskUsers",
1035
+ method: "post",
1036
+ data: {
1037
+ uuid: this.currentTaskUserUuids,
1038
+ delUserIds: delUserIds,
1039
+ addUserIds: addUserIds,
1040
+ },
1041
+ isLoading: true,
1042
+ success: (res) => {
1043
+ this.$message({
1044
+ message: res.content || this.$t1("操作成功"),
1045
+ type: "success",
1046
+ duration: 500,
1047
+ onClose: () => {
1048
+ this.closeCurrentTaskUserDialog();
1049
+ this.searchEvent2();
1050
+ },
1051
+ });
1052
+ },
1053
+ });
1054
+ });
1055
+ },
800
1056
  },
801
1057
  };
802
1058
  </script>