cloud-module-bpm 6.13.2 → 6.13.3
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/dist/cloud-module-bpm.common.js +3965 -1347
- package/dist/cloud-module-bpm.common.js.map +1 -1
- package/dist/cloud-module-bpm.css +1 -1
- package/dist/cloud-module-bpm.umd.js +3965 -1347
- package/dist/cloud-module-bpm.umd.js.map +1 -1
- package/dist/cloud-module-bpm.umd.min.js +6 -6
- package/dist/cloud-module-bpm.umd.min.js.map +1 -1
- package/package.json +5 -2
- package/packages/bpm-back-anylink-dialog/Tree.vue +222 -0
- package/packages/bpm-back-anylink-dialog/bpm-back-anylink-dialog.vue +466 -213
- package/packages/bpm-form-tools/bpm-form-tools.vue +33 -10
- package/packages/bpm-jump-dialog/Tree.vue +222 -0
- package/packages/bpm-jump-dialog/bpm-jump-dialog.vue +425 -161
- package/packages/bpm-jump-latest-dialog/Tree.vue +180 -41
- package/packages/bpm-jump-latest-dialog/bpm-jump-latest-dialog.vue +200 -30
- package/packages/bpm-opinion-dialog/bpm-opinion.vue +105 -44
- package/packages/bpm-send-read-dialog/SelectedGrid.vue +1 -1
- package/packages/bpm-send-read-dialog/SourceGrid.vue +90 -102
- package/packages/bpm-send-read-dialog/Tree.vue +145 -24
- package/packages/bpm-send-read-dialog/bpm-next-node.vue +3 -3
- package/packages/bpm-send-read-opinion-dialog/bpm-send-read-opinion.vue +35 -34
- package/packages/bpm-sign-dialog/SelectedGrid.vue +2 -2
- package/packages/bpm-sign-dialog/SourceGrid.vue +96 -113
- package/packages/bpm-sign-dialog/Tree.vue +125 -87
- package/packages/bpm-sign-dialog/bpm-next-node.vue +11 -8
- package/packages/bpm-user-select-dialog/SourceGrid.vue +127 -51
- package/packages/bpm-user-select-dialog/Tree.vue +151 -61
- package/packages/bpm-user-select-dialog/bpm-next-node.vue +17 -5
- package/packages/i18n/langs/zh_CN.js +6 -6
- package/packages/utils/merit-bpm.js +121 -8
|
@@ -3,127 +3,217 @@
|
|
|
3
3
|
<el-dialog
|
|
4
4
|
:title="opt.title"
|
|
5
5
|
:visible.sync="dialogVisible"
|
|
6
|
-
width="
|
|
7
|
-
top="
|
|
6
|
+
width="900px"
|
|
7
|
+
top="2vh"
|
|
8
8
|
@open="openDialog"
|
|
9
9
|
:before-close="handleClose"
|
|
10
10
|
:close-on-click-modal="false"
|
|
11
11
|
append-to-body
|
|
12
|
-
|
|
12
|
+
class="jumpDialog"
|
|
13
13
|
>
|
|
14
|
-
<el-
|
|
15
|
-
<
|
|
16
|
-
<el-
|
|
17
|
-
<el-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
</el-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
14
|
+
<el-container>
|
|
15
|
+
<el-aside style="height:456px;width:65%;margin-right: 0px;margin-left: 0px;background: #e8ecf3">
|
|
16
|
+
<el-container>
|
|
17
|
+
<el-aside style="height:456px;width: 35%;max-width: 400px;margin:0px;border-radius: 0px;">
|
|
18
|
+
<v-tree
|
|
19
|
+
:opt="nextNode"
|
|
20
|
+
@refreshGrid="treeClickData"
|
|
21
|
+
/>
|
|
22
|
+
</el-aside>
|
|
23
|
+
<!-- 待选择人员列表 -->
|
|
24
|
+
<el-main style="height:456px; width: 45%; padding: 0px; margin-left: 2px;">
|
|
25
|
+
<div class="selected-grid">
|
|
26
|
+
<!-- <el-row>
|
|
27
|
+
<el-col style="text-align: left;padding: 7px 7px 0 7px">
|
|
28
|
+
{{ $t('bpm.jump.choice_activity') }}
|
|
29
|
+
</el-col>
|
|
30
|
+
</el-row> -->
|
|
31
|
+
<el-row>
|
|
32
|
+
<el-col
|
|
33
|
+
:span="7"
|
|
34
|
+
style="float: left;padding-right: 40px;margin-top: 5px;padding-left: 7px;"
|
|
35
|
+
>{{ $t('bpm.jump.activity_name') }}</el-col>
|
|
36
|
+
|
|
37
|
+
<el-col
|
|
38
|
+
:span="17"
|
|
39
|
+
style="float:right;"
|
|
40
|
+
>
|
|
41
|
+
<el-select
|
|
42
|
+
v-if="options.length > 0"
|
|
43
|
+
style="width:225px"
|
|
44
|
+
@change="handleChange"
|
|
45
|
+
v-model="value"
|
|
46
|
+
:placeholder="$t('bpm.jump.please_select')"
|
|
47
|
+
>
|
|
48
|
+
<el-option
|
|
49
|
+
v-for="item in options"
|
|
50
|
+
:key="item.value"
|
|
51
|
+
:label="item.label"
|
|
52
|
+
:value="item.value"
|
|
53
|
+
>
|
|
54
|
+
</el-option>
|
|
55
|
+
</el-select>
|
|
56
|
+
</el-col>
|
|
57
|
+
</el-row>
|
|
58
|
+
<el-row
|
|
59
|
+
justify="space-between"
|
|
60
|
+
style="padding: 5px;"
|
|
39
61
|
>
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
</el-table-column>
|
|
72
|
-
<el-table-column
|
|
73
|
-
prop="deptName"
|
|
74
|
-
:label="$t('bpm.jump.department')"
|
|
75
|
-
>
|
|
76
|
-
<template slot-scope="scope">
|
|
77
|
-
<div
|
|
78
|
-
:title="scope.row.deptName"
|
|
79
|
-
class="cell-hidden"
|
|
62
|
+
<el-col
|
|
63
|
+
:span="7"
|
|
64
|
+
style="float: left;padding-right: 40px;margin-top: 5px;padding-left: 2px;"
|
|
65
|
+
>{{ $t('base.list_alternatives') }}</el-col>
|
|
66
|
+
<el-col
|
|
67
|
+
:span="17"
|
|
68
|
+
style="float:right;"
|
|
69
|
+
>
|
|
70
|
+
<el-input
|
|
71
|
+
placeholder="请输入姓名或编码"
|
|
72
|
+
v-model="searchName"
|
|
73
|
+
clearable
|
|
74
|
+
@clear="restart"
|
|
75
|
+
@change="searchClickData"
|
|
76
|
+
>
|
|
77
|
+
<el-button
|
|
78
|
+
class="el-icon-search-button"
|
|
79
|
+
slot="append"
|
|
80
|
+
icon="el-icon-search"
|
|
81
|
+
@click="searchClickData"
|
|
82
|
+
></el-button>
|
|
83
|
+
</el-input>
|
|
84
|
+
</el-col>
|
|
85
|
+
</el-row>
|
|
86
|
+
|
|
87
|
+
<el-table
|
|
88
|
+
:data="initialTableData"
|
|
89
|
+
:height="tableHeight"
|
|
90
|
+
@select="handleSelect"
|
|
91
|
+
ref="eltableCurrentRow"
|
|
92
|
+
@select-all="handleSelectAll"
|
|
80
93
|
>
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
94
|
+
<el-table-column type="selection"> </el-table-column>
|
|
95
|
+
<el-table-column
|
|
96
|
+
prop="name"
|
|
97
|
+
:label="$t('bpm.jump.name')"
|
|
98
|
+
>
|
|
99
|
+
<template slot-scope="scope">
|
|
100
|
+
<div
|
|
101
|
+
:title="scope.row.name"
|
|
102
|
+
class="cell-hidden"
|
|
103
|
+
>
|
|
104
|
+
{{ scope.row.name }}
|
|
105
|
+
</div>
|
|
106
|
+
</template>
|
|
107
|
+
</el-table-column>
|
|
108
|
+
<el-table-column
|
|
109
|
+
prop="code"
|
|
110
|
+
:label="$t('bpm.jump.coding')"
|
|
111
|
+
>
|
|
112
|
+
<template slot-scope="scope">
|
|
113
|
+
<div
|
|
114
|
+
:title="scope.row.code"
|
|
115
|
+
class="cell-hidden"
|
|
116
|
+
>
|
|
117
|
+
{{ scope.row.code }}
|
|
118
|
+
</div>
|
|
119
|
+
</template>
|
|
120
|
+
</el-table-column>
|
|
121
|
+
<el-table-column
|
|
122
|
+
prop="deptName"
|
|
123
|
+
:label="$t('bpm.jump.department')"
|
|
124
|
+
>
|
|
125
|
+
<template slot-scope="scope">
|
|
126
|
+
<div
|
|
127
|
+
:title="scope.row.deptName"
|
|
128
|
+
class="cell-hidden"
|
|
129
|
+
>
|
|
130
|
+
{{ scope.row.deptName }}
|
|
131
|
+
</div>
|
|
132
|
+
</template>
|
|
133
|
+
</el-table-column>
|
|
134
|
+
</el-table>
|
|
135
|
+
<!--tree分页-->
|
|
136
|
+
<el-pagination
|
|
137
|
+
v-if="isShowPagination"
|
|
138
|
+
class="SourceGrid"
|
|
139
|
+
@size-change="handleSizeChange"
|
|
140
|
+
@current-change="handleCurrentChange"
|
|
141
|
+
:current-page="currentPage"
|
|
142
|
+
:page-size="pageSize"
|
|
143
|
+
layout="total, prev, pager, next"
|
|
144
|
+
:total="total"
|
|
145
|
+
:pager-count="pagerCount"
|
|
146
|
+
></el-pagination>
|
|
147
|
+
<!--下拉框分页-->
|
|
148
|
+
<el-pagination
|
|
149
|
+
v-if="isShowPagination == false"
|
|
150
|
+
class="SourceGrid"
|
|
151
|
+
@size-change="elSelectHandleSizeChange"
|
|
152
|
+
@current-change="elSelectHandleCurrentChange"
|
|
153
|
+
:current-page="currentPage"
|
|
154
|
+
:page-size="pageSize"
|
|
155
|
+
layout="total, prev, pager, next"
|
|
156
|
+
:total="total"
|
|
157
|
+
:pager-count="pagerCount"
|
|
158
|
+
></el-pagination>
|
|
159
|
+
</div>
|
|
160
|
+
</el-main>
|
|
161
|
+
</el-container>
|
|
162
|
+
</el-aside>
|
|
163
|
+
<!-- 已选择人员列表-->
|
|
164
|
+
<el-main style="height: 456px; padding: 0px; width: 35%; margin-left: 10px;">
|
|
165
|
+
<div>
|
|
166
|
+
<el-row style="float:left;padding:7px;">
|
|
167
|
+
{{ $t('bpm.jump.selected_personnel_list') }}
|
|
168
|
+
</el-row>
|
|
169
|
+
<el-table
|
|
170
|
+
:data="selectTableData"
|
|
171
|
+
:height="tableHeight + 85"
|
|
172
|
+
@row-click="handleRowClick"
|
|
114
173
|
>
|
|
115
|
-
<
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
>
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
174
|
+
<el-table-column
|
|
175
|
+
prop="name"
|
|
176
|
+
:label="$t('bpm.jump.name')"
|
|
177
|
+
>
|
|
178
|
+
<template slot-scope="scope">
|
|
179
|
+
<div
|
|
180
|
+
:title="scope.row.name"
|
|
181
|
+
class="cell-hidden"
|
|
182
|
+
>
|
|
183
|
+
{{ scope.row.name }}
|
|
184
|
+
</div>
|
|
185
|
+
</template>
|
|
186
|
+
</el-table-column>
|
|
187
|
+
<el-table-column
|
|
188
|
+
prop="code"
|
|
189
|
+
:label="$t('bpm.jump.coding')"
|
|
190
|
+
>
|
|
191
|
+
<template slot-scope="scope">
|
|
192
|
+
<div
|
|
193
|
+
:title="scope.row.code"
|
|
194
|
+
class="cell-hidden"
|
|
195
|
+
>
|
|
196
|
+
{{ scope.row.code }}
|
|
197
|
+
</div>
|
|
198
|
+
</template>
|
|
199
|
+
</el-table-column>
|
|
200
|
+
<el-table-column
|
|
201
|
+
prop="deptName"
|
|
202
|
+
:label="$t('bpm.jump.department')"
|
|
203
|
+
>
|
|
204
|
+
<template slot-scope="scope">
|
|
205
|
+
<div
|
|
206
|
+
:title="scope.row.deptName"
|
|
207
|
+
class="cell-hidden"
|
|
208
|
+
>
|
|
209
|
+
{{ scope.row.deptName }}
|
|
210
|
+
</div>
|
|
211
|
+
</template>
|
|
212
|
+
</el-table-column>
|
|
213
|
+
</el-table>
|
|
214
|
+
</div>
|
|
215
|
+
</el-main>
|
|
216
|
+
</el-container>
|
|
127
217
|
<span
|
|
128
218
|
slot="footer"
|
|
129
219
|
class="dialog-footer"
|
|
@@ -157,6 +247,7 @@ import {
|
|
|
157
247
|
TabPane
|
|
158
248
|
} from 'element-ui';
|
|
159
249
|
import axios from 'cloud-module-base/packages/httpConfig/http';
|
|
250
|
+
import tree from './Tree';
|
|
160
251
|
export default {
|
|
161
252
|
name: 'bpm-jump',
|
|
162
253
|
components: {
|
|
@@ -171,7 +262,8 @@ export default {
|
|
|
171
262
|
'el-row': Row,
|
|
172
263
|
'el-input': Input,
|
|
173
264
|
'el-tabs': Tabs,
|
|
174
|
-
'el-tab-pane': TabPane
|
|
265
|
+
'el-tab-pane': TabPane,
|
|
266
|
+
'v-tree': tree
|
|
175
267
|
},
|
|
176
268
|
//父组件传过来的数据属性
|
|
177
269
|
props: {
|
|
@@ -184,45 +276,114 @@ export default {
|
|
|
184
276
|
required: true
|
|
185
277
|
}
|
|
186
278
|
},
|
|
279
|
+
watch: {
|
|
280
|
+
ruleEngine: {
|
|
281
|
+
deep: true,
|
|
282
|
+
handler: function (newVal, old) {
|
|
283
|
+
if (newVal && newVal.runtime && newVal.runtime.nextNodes && newVal.runtime.nextNodes.length > 0) {
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
let nextNodeWatch = newVal.runtime.nextNodes[0];
|
|
287
|
+
this.total = nextNodeWatch.bpmUsers.length;
|
|
288
|
+
// this.sourceAllData = nextNodeWatch.bpmUsers || [];
|
|
289
|
+
// this.empTableData = this.sourceAllData.slice(
|
|
290
|
+
// this.pageSize * (this.currentPage - 1),
|
|
291
|
+
// this.pageSize * this.currentPage
|
|
292
|
+
// );
|
|
293
|
+
this.receiverIds = [];
|
|
294
|
+
nextNodeWatch.bpmUsers.forEach(bpmUser => {
|
|
295
|
+
var obj = {};
|
|
296
|
+
obj.name = bpmUser.name;
|
|
297
|
+
obj.code = bpmUser.code;
|
|
298
|
+
obj.deptName = bpmUser.deptName;
|
|
299
|
+
this.initialTableData.push(obj);
|
|
300
|
+
this.receiverIds.push(bpmUser.code);
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
},
|
|
187
306
|
data () {
|
|
188
307
|
return {
|
|
308
|
+
currentRuleEngine: {},
|
|
309
|
+
currentPage: 1,
|
|
310
|
+
pageSize: 10,
|
|
311
|
+
pagerCount: 5,
|
|
312
|
+
total: 10,
|
|
313
|
+
tableHeight: 300,
|
|
314
|
+
maxHeight: '483px',
|
|
315
|
+
searchName: '',
|
|
316
|
+
empUrl: '/api/identity/bpm-user/list-by-deptcode', //人员数据接口
|
|
189
317
|
//默认参数
|
|
190
318
|
opt: {
|
|
191
319
|
title: this.$t('bpm.jump.dialog_title')
|
|
192
320
|
},
|
|
193
|
-
//业务id
|
|
321
|
+
//业务id 3f28804f736ee91401736eec34950000
|
|
194
322
|
businessId: '',
|
|
195
|
-
//流程key
|
|
196
|
-
toTaskDefKey: '',
|
|
197
323
|
//初始值
|
|
198
324
|
initialTableData: [],
|
|
199
325
|
//选中的值
|
|
200
326
|
selectTableData: [],
|
|
327
|
+
receiverIds: [],
|
|
201
328
|
//下拉框
|
|
202
329
|
options: [],
|
|
203
|
-
//下拉框初始值
|
|
204
330
|
value: '',
|
|
331
|
+
isShowPagination: false,
|
|
332
|
+
treeNode: {},
|
|
333
|
+
//流程key
|
|
334
|
+
toTaskDefKey: '',
|
|
205
335
|
//批准类型
|
|
206
336
|
approveType: '',
|
|
207
|
-
|
|
337
|
+
nextNode: {}
|
|
208
338
|
};
|
|
209
339
|
},
|
|
210
|
-
created () {
|
|
340
|
+
created () {
|
|
341
|
+
// this.tableHeight = window.outerHeight > 900 ? 386 : 256;
|
|
342
|
+
},
|
|
211
343
|
methods: {
|
|
344
|
+
//============tree分页===========
|
|
345
|
+
//每页显示数据个数变化时调用
|
|
346
|
+
handleSizeChange (val) {
|
|
347
|
+
this.pageSize = val;
|
|
348
|
+
this.searchClickData();
|
|
349
|
+
},
|
|
350
|
+
//页码变化时调用
|
|
351
|
+
handleCurrentChange (val) {
|
|
352
|
+
this.currentPage = val;
|
|
353
|
+
this.searchClickData();
|
|
354
|
+
},
|
|
355
|
+
|
|
356
|
+
//============下拉框分页===========
|
|
357
|
+
//每页显示数据个数变化时调用
|
|
358
|
+
elSelectHandleSizeChange (val) {
|
|
359
|
+
this.pageSize = val;
|
|
360
|
+
},
|
|
361
|
+
//页码变化时调用
|
|
362
|
+
elSelectHandleCurrentChange (val) {
|
|
363
|
+
this.currentPage = val;
|
|
364
|
+
this.resultDataChange();
|
|
365
|
+
},
|
|
366
|
+
resultDataChange () {
|
|
367
|
+
if (this.initialTableData) {
|
|
368
|
+
var result = this.initialTableData.slice(
|
|
369
|
+
this.pageSize * (this.currentPage - 1),
|
|
370
|
+
this.pageSize * this.currentPage
|
|
371
|
+
);
|
|
372
|
+
this.initialTableData = result;
|
|
373
|
+
} else {
|
|
374
|
+
this.initialTableData = [];
|
|
375
|
+
}
|
|
376
|
+
},
|
|
377
|
+
|
|
212
378
|
handleRowClick (row, event, column) {
|
|
213
379
|
this.removeData(this.selectTableData, row);
|
|
214
380
|
},
|
|
381
|
+
|
|
215
382
|
////取消已选中的
|
|
216
|
-
removeData (
|
|
217
|
-
|
|
218
|
-
var index = -1;
|
|
219
|
-
for (var i = 0; i < userData.length; i++) {
|
|
220
|
-
if (userData[i].code == row.code) {
|
|
221
|
-
index = i;
|
|
222
|
-
}
|
|
223
|
-
}
|
|
383
|
+
removeData (selectTableData, row) {
|
|
384
|
+
let index = this.indexOfselectTableData(row);
|
|
224
385
|
if (index != -1) {
|
|
225
|
-
|
|
386
|
+
selectTableData.splice(index, 1);
|
|
226
387
|
}
|
|
227
388
|
//更新待选的人员
|
|
228
389
|
for (var i = 0; i < this.initialTableData.length; i++) {
|
|
@@ -234,8 +395,40 @@ export default {
|
|
|
234
395
|
}
|
|
235
396
|
}
|
|
236
397
|
},
|
|
398
|
+
//是选中还是取消
|
|
399
|
+
selectRow (select, row) {
|
|
400
|
+
return select.some(element => {
|
|
401
|
+
if (element.code == row.code) {
|
|
402
|
+
return true;
|
|
403
|
+
}
|
|
404
|
+
});
|
|
405
|
+
},
|
|
406
|
+
// 是否已选中该条数据
|
|
407
|
+
indexOfselectTableData (row) {
|
|
408
|
+
var index = -1;
|
|
409
|
+
var _this = this;
|
|
410
|
+
if (_this.selectTableData.length > 0) {
|
|
411
|
+
for (var i = 0; i < _this.selectTableData.length; i++) {
|
|
412
|
+
if (_this.selectTableData[i].code == row.code) {
|
|
413
|
+
index = i;
|
|
414
|
+
return index;
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
return index;
|
|
419
|
+
},
|
|
237
420
|
|
|
238
|
-
|
|
421
|
+
// 是否已选中该条数据
|
|
422
|
+
indexOfselectTableData2 () {
|
|
423
|
+
_this.initialTableData.forEach(element => {
|
|
424
|
+
var index = _this.indexOfselectTableData(element);
|
|
425
|
+
if (index != -1) {
|
|
426
|
+
_this.selectTableData.splice(index, 1);
|
|
427
|
+
}
|
|
428
|
+
});
|
|
429
|
+
},
|
|
430
|
+
|
|
431
|
+
//全选或者全取消
|
|
239
432
|
handleSelectAll (select) {
|
|
240
433
|
var _this = this;
|
|
241
434
|
if (
|
|
@@ -263,9 +456,9 @@ export default {
|
|
|
263
456
|
}
|
|
264
457
|
}
|
|
265
458
|
},
|
|
459
|
+
|
|
266
460
|
handleSelect (select, row) {
|
|
267
461
|
var _this = this;
|
|
268
|
-
|
|
269
462
|
// 单人审批 只能选择一个
|
|
270
463
|
if (
|
|
271
464
|
'onlyApprove' ==
|
|
@@ -293,35 +486,13 @@ export default {
|
|
|
293
486
|
}
|
|
294
487
|
}
|
|
295
488
|
},
|
|
296
|
-
//是选中还是取消
|
|
297
|
-
selectRow (select, row) {
|
|
298
|
-
return select.some(element => {
|
|
299
|
-
if (element.code == row.code) {
|
|
300
|
-
return true;
|
|
301
|
-
}
|
|
302
|
-
});
|
|
303
|
-
},
|
|
304
|
-
// 是否已选中该条数据
|
|
305
|
-
indexOfselectTableData (row) {
|
|
306
|
-
var index = -1;
|
|
307
|
-
var _this = this;
|
|
308
|
-
if (_this.selectTableData.length > 0) {
|
|
309
|
-
for (var i = 0; i < _this.selectTableData.length; i++) {
|
|
310
|
-
if (_this.selectTableData[i].code == row.code) {
|
|
311
|
-
index = i;
|
|
312
|
-
return index;
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
}
|
|
316
|
-
return index;
|
|
317
|
-
},
|
|
318
489
|
//下拉框change事件
|
|
319
490
|
handleChange (val) {
|
|
320
|
-
// var = 选中的label
|
|
321
491
|
var _this = this;
|
|
322
492
|
_this.selectTableData = [];
|
|
323
493
|
_this.toTaskDefKey = val;
|
|
324
494
|
_this.initialTableData = [];
|
|
495
|
+
_this.currentRuleEngine = {};
|
|
325
496
|
_this.ruleEngine['bpmIsLatest'] = false;
|
|
326
497
|
// 为了解决入参过多的问题
|
|
327
498
|
let temRuleEngine = JSON.parse(JSON.stringify(_this.ruleEngine));
|
|
@@ -336,24 +507,30 @@ export default {
|
|
|
336
507
|
}
|
|
337
508
|
axios['bpm-engine']
|
|
338
509
|
.post(
|
|
339
|
-
'/api/engine/bpm
|
|
510
|
+
'/api/engine/bpm//query/jump/candidate/' +
|
|
340
511
|
_this.businessId +
|
|
341
512
|
'/' +
|
|
342
513
|
_this.toTaskDefKey,
|
|
343
514
|
temRuleEngine
|
|
344
515
|
)
|
|
345
516
|
.then(function (res) {
|
|
517
|
+
_this.nextNode = res.data.runtime.nextNodes[0];
|
|
518
|
+
_this.receiverIds = [];
|
|
346
519
|
if (res.data.runtime.nextNodes[0].bpmUsers.length > 0) {
|
|
347
520
|
res.data.runtime.nextNodes[0].bpmUsers.forEach(element => {
|
|
348
521
|
var obj = {};
|
|
349
522
|
obj.name = element.name;
|
|
350
523
|
obj.code = element.code;
|
|
351
524
|
obj.deptName = element.deptName;
|
|
352
|
-
_this.
|
|
525
|
+
_this.receiverIds.push(element.code);
|
|
526
|
+
// _this.initialTableData.push(obj);
|
|
353
527
|
});
|
|
354
|
-
_this.
|
|
528
|
+
//_this.total = _this.initialTableData.length;
|
|
355
529
|
_this.approveType = res.data.approve.type;
|
|
356
530
|
}
|
|
531
|
+
|
|
532
|
+
_this.currentRuleEngine = res.data;
|
|
533
|
+
_this.isShowPagination = false;
|
|
357
534
|
})
|
|
358
535
|
.catch(function (err) {
|
|
359
536
|
console.log(err);
|
|
@@ -363,10 +540,14 @@ export default {
|
|
|
363
540
|
var _this = this;
|
|
364
541
|
_this.businessId = _this.ruleEngine.runtime.mainForm.businessId;
|
|
365
542
|
_this.requestData();
|
|
543
|
+
_this.selectTableData = [];
|
|
544
|
+
|
|
366
545
|
},
|
|
367
546
|
//关闭对话框
|
|
368
547
|
handleClose () {
|
|
369
548
|
this.options = [];
|
|
549
|
+
this.searchName = '';
|
|
550
|
+
this.treeNode = {};
|
|
370
551
|
this.$emit('dialog-close', this.dialogVisible);
|
|
371
552
|
},
|
|
372
553
|
requestData () {
|
|
@@ -382,8 +563,7 @@ export default {
|
|
|
382
563
|
obj.value = key;
|
|
383
564
|
_this.options.push(obj);
|
|
384
565
|
}
|
|
385
|
-
|
|
386
|
-
//下拉框初始化选中数据
|
|
566
|
+
//初始化选中数据
|
|
387
567
|
_this.value = _this.options[0].value;
|
|
388
568
|
_this.handleChange(_this.value);
|
|
389
569
|
})
|
|
@@ -391,25 +571,109 @@ export default {
|
|
|
391
571
|
console.log(err);
|
|
392
572
|
});
|
|
393
573
|
},
|
|
574
|
+
//保存
|
|
394
575
|
handleSave () {
|
|
395
576
|
var _this = this;
|
|
396
577
|
if (_this.selectTableData.length == 0) {
|
|
397
578
|
_this.$message.warning(_this.$i18n.t('bpm.jump.please_personnel'));
|
|
398
579
|
return;
|
|
399
580
|
}
|
|
581
|
+
|
|
400
582
|
var codes = [];
|
|
401
583
|
_this.selectTableData.forEach(element => {
|
|
402
584
|
codes.push(element.code);
|
|
403
585
|
});
|
|
404
|
-
|
|
586
|
+
//
|
|
405
587
|
_this.ruleEngine[
|
|
406
588
|
_this.toTaskDefKey + '_' + _this.approveType
|
|
407
589
|
] = codes.join(',');
|
|
590
|
+
|
|
591
|
+
//
|
|
408
592
|
_this.ruleEngine.toTaskDefKey = _this.toTaskDefKey;
|
|
593
|
+
|
|
409
594
|
_this.$emit('dialog-save', _this.ruleEngine);
|
|
410
595
|
_this.options = [];
|
|
596
|
+
},
|
|
597
|
+
restart () {
|
|
598
|
+
|
|
599
|
+
handleChange(this.value);
|
|
600
|
+
},
|
|
601
|
+
treeClickData (treeNode) {
|
|
602
|
+
if (treeNode) {
|
|
603
|
+
this.treeNode = treeNode;
|
|
604
|
+
}
|
|
605
|
+
let _this = this;
|
|
606
|
+
let param = {
|
|
607
|
+
page: this.currentPage,
|
|
608
|
+
rows: this.pageSize,
|
|
609
|
+
deptCode: this.treeNode.code ? this.treeNode.code : this.treeNode.deptCode,
|
|
610
|
+
search: this.searchName,
|
|
611
|
+
userNames: this.receiverIds.join(',')
|
|
612
|
+
};
|
|
613
|
+
axios['bpm-engine']
|
|
614
|
+
.post(this.empUrl, param)
|
|
615
|
+
.then(function (res) {
|
|
616
|
+
if (res.success) {
|
|
617
|
+
_this.initialTableData = [];
|
|
618
|
+
res.data.rows.forEach(arr => {
|
|
619
|
+
|
|
620
|
+
var obj = {};
|
|
621
|
+
obj.name = arr.name;
|
|
622
|
+
obj.code = arr.code;
|
|
623
|
+
obj.deptName = arr.deptName;
|
|
624
|
+
_this.initialTableData.push(obj);
|
|
625
|
+
});
|
|
626
|
+
// _this.empTableData = res.data.rows;
|
|
627
|
+
_this.total = res.data.total;
|
|
628
|
+
_this.isShowPagination = true;
|
|
629
|
+
//必须等列表重新渲染完毕,才能执行此方法。
|
|
630
|
+
|
|
631
|
+
}
|
|
632
|
+
_this.loading = false;
|
|
633
|
+
})
|
|
634
|
+
.catch(function (err) {
|
|
635
|
+
console.log(err);
|
|
636
|
+
});
|
|
637
|
+
},
|
|
638
|
+
searchClickData () {
|
|
639
|
+
let _this = this;
|
|
640
|
+
let param = {
|
|
641
|
+
page: this.currentPage,
|
|
642
|
+
rows: this.pageSize,
|
|
643
|
+
deptCode: this.treeNode.code ? this.treeNode.code : this.treeNode.deptCode,
|
|
644
|
+
search: this.searchName,
|
|
645
|
+
userNames: this.receiverIds.join(',')
|
|
646
|
+
};
|
|
647
|
+
axios['bpm-engine']
|
|
648
|
+
.post(this.empUrl, param)
|
|
649
|
+
.then(function (res) {
|
|
650
|
+
if (res.success) {
|
|
651
|
+
_this.initialTableData = [];
|
|
652
|
+
res.data.rows.forEach(arr => {
|
|
653
|
+
|
|
654
|
+
var obj = {};
|
|
655
|
+
obj.name = arr.name;
|
|
656
|
+
obj.code = arr.code;
|
|
657
|
+
obj.deptName = arr.deptName;
|
|
658
|
+
_this.initialTableData.push(obj);
|
|
659
|
+
});
|
|
660
|
+
// _this.empTableData = res.data.rows;
|
|
661
|
+
_this.total = res.data.total;
|
|
662
|
+
_this.isShowPagination = true;
|
|
663
|
+
//必须等列表重新渲染完毕,才能执行此方法。
|
|
664
|
+
|
|
665
|
+
}
|
|
666
|
+
_this.loading = false;
|
|
667
|
+
})
|
|
668
|
+
.catch(function (err) {
|
|
669
|
+
console.log(err);
|
|
670
|
+
});
|
|
411
671
|
}
|
|
412
672
|
},
|
|
413
|
-
|
|
673
|
+
|
|
674
|
+
mounted () {
|
|
675
|
+
|
|
676
|
+
}
|
|
414
677
|
};
|
|
415
678
|
</script>
|
|
679
|
+
<style></style>
|