@lambo-design/workflow-approve 1.0.0-beta.22 → 1.0.0-beta.23

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.
@@ -1,381 +1,381 @@
1
- <template>
2
- <div>
3
- <Modal v-model="modalBoxShow" width="1217" title="选择办理人" @on-ok="onOk" @on-cancel="onCancel" loading>
4
- <div class="org-info">
5
- <div class="org-tree">
6
- <Tree :data="treeData" :load-data="loadData" @on-select-change="selectChange" > </Tree>
7
- </div>
8
- <div class="org-detil">
9
- <LamboPagingTable ref="selection" :dataUrl="dataUrl" :columns="tableColumn" :searchParams="tableSearchParams"
10
- @on-selection-change="onSelectionChange">
11
- <div slot="search">
12
- <Form :label-width="80">
13
- <FormItem label="账号">
14
- <Input v-model="form.userId" placeholder="按账号搜索" />
15
- </FormItem>
16
- <FormItem label="姓名">
17
- <Input v-model="form.userName" placeholder="按姓名搜索" />
18
- </FormItem>
19
- <FormItem label="是否管理员" prop="isAdmin" :labelWidth="100">
20
- <RadioGroup v-model="form.isAdmin">
21
- <Radio label="">全部</Radio>
22
- <Radio label="1">是</Radio>
23
- <Radio label="0">否</Radio>
24
- </RadioGroup>
25
- </FormItem>
26
- <FormItem>
27
- <Button type="primary" icon="ios-search" @click="doSearch">查询</Button>
28
- </FormItem>
29
- </Form>
30
- </div>
31
- </LamboPagingTable>
32
-
33
- </div>
34
- </div>
35
-
36
-
37
- </Modal>
38
- </div>
39
- </template>
40
-
41
- <script>
42
- import ajax from "@lambo-design/shared/utils/ajax";
43
- import LamboPagingTable from '@lambo-design/paging-table'
44
-
45
- export default {
46
- name: "UserHelpBox",
47
- components: {
48
- LamboPagingTable
49
- },
50
- props: {
51
- data: {
52
- type: Object,
53
- default: () => {
54
- return {}
55
- }
56
- },
57
- //按钮执行完毕回调方法
58
- executionCompleted: {
59
- type: Function,
60
- required: false,
61
- },
62
- smartFlowServerContext: {
63
- type: String,
64
- default: '/api/smart-flow-server',
65
- },
66
- upmsServerContext: {
67
- type: String,
68
- default: '/api/upms-server',
69
- },
70
- },
71
- data() {
72
- return {
73
- id: '',
74
- helpBoxType: 'transferCurTask',
75
- loading: false,
76
- organTreeType: '00',
77
- permScope: 'all',
78
- modalBoxShow: false,
79
- dataUrl:'',
80
- helpBoxColumns: [
81
- {
82
- title: "用户ID",
83
- key: "userId",
84
- sortable: "custom",
85
- },
86
- {
87
- title: "用户姓名",
88
- key: "userName",
89
- },
90
- {
91
- title: "部门名称",
92
- key: "organName",
93
- },
94
- ],
95
- helpBoxTitle: "用户选择框",
96
- targetDomId:"",
97
- treeData: [],
98
- idSelectedArr: [],
99
- currentNode: {},
100
- form: {
101
- userId: '',
102
- userName: '',
103
- organId: '',
104
- organTitle: '',
105
- directChild: false,
106
- isAdmin: ''
107
- },
108
- tableSearchParams: {},
109
- };
110
- },
111
- /* created () {
112
- this.init()
113
- },*/
114
- computed: {
115
-
116
- tableColumn () {
117
- let columns = []
118
- let self = this
119
- columns.push({
120
- title: '#',
121
- key: 'selectId',
122
- type: 'selection',
123
- align: 'center',
124
- width: 55
125
- })
126
- columns.push({
127
- title: '账号',
128
- key: 'userId',
129
- sortField: 'user_id',
130
- sortable: 'custom'
131
- })
132
- columns.push({
133
- title: '姓名',
134
- key: 'userName',
135
- sortField: 'user_name',
136
- sortable: 'custom'
137
- })
138
- columns.push({
139
- title: '部门名称',
140
- key: 'organName',
141
- sortField: 'organ_name',
142
- sortable: 'custom'
143
- })
144
- columns.push({
145
- title: '状态',
146
- key: 'status',
147
- sortable: 'custom',
148
- align: 'center',
149
- width: 100,
150
- render: function (h, param) {
151
- let state = param.row.status
152
- if (state === '00') {
153
- state = '正常'
154
- } else {
155
- state = '锁定'
156
- }
157
- return h('span', state)
158
- }
159
- })
160
-
161
- return columns
162
- }
163
- },
164
- inject: ['toBeDoneListDoSearch'],
165
- methods: {
166
- init (organTreeType) {
167
- let self = this
168
- self.organTreeType = organTreeType
169
- self.getRootData(organTreeType)
170
- },
171
- toggleShowHelpBox(organTreeType, permScope, helpBoxType, id) {
172
- this.id = id
173
- this.helpBoxType = helpBoxType
174
- this.organTreeType = organTreeType
175
- if (permScope && permScope !== 'all'){
176
- let userPermScope = permScope.substring(permScope.indexOf("U:"))
177
- userPermScope = userPermScope.substring(2, userPermScope.indexOf(","))
178
- if (userPermScope.length > 0) {
179
- userPermScope = userPermScope.split(';')
180
- this.permScope = userPermScope
181
- }
182
- }
183
- this.getRootData(organTreeType)
184
- this.modalBoxShow = !this.modalBoxShow;
185
- },
186
-
187
- onOk(){
188
- let self = this
189
- let idSelectedArr = self.idSelectedArr
190
- self.loading = true
191
- if (idSelectedArr.length > 1) {
192
- self.loading = false
193
- self.$Message.info('办理人只能选择一条记录!')
194
- this.$emit('update-selected', ''); // 触发事件并传递 userId
195
- } else {
196
- let idSelectedArr = self.idSelectedArr[0].split(',')
197
- if (self.helpBoxType === 'transferCurTask'){
198
- let auditResult = {
199
- code: self.data.auditResult,
200
- name: self.data.auditResultName,
201
- }
202
- self.data.selectedUserId=idSelectedArr[0];
203
- console.log("self.data:",self.data);
204
- let url = this.smartFlowServerContext + '/manage/processTodo/audit'
205
- ajax.post(url, self.data).then(function (resp) {
206
- let result = resp.data
207
- if (result.code == '200') {
208
- self.loading = false
209
- self.$Message.success(result.message);
210
- if (self.executionCompleted) {
211
- self.executionCompleted(true, self.data.instanceId, self.data.taskId, auditResult, self.data.taskId);
212
- }
213
- self.toBeDoneListDoSearch();
214
- } else {
215
- self.loading = false
216
- self.$Message.error(result.message)
217
- if (self.executionCompleted) {
218
- self.executionCompleted(false, null, null, auditResult, self.data.taskId);
219
- }
220
- }
221
- })
222
- } else {
223
- self.$emit('update-next-node-assignee', idSelectedArr[0], idSelectedArr[1], self.id);
224
- }
225
- }
226
- this.modalBoxShow = false;
227
- },
228
-
229
- doSearch: function () {
230
- this.tableSearchParams = Object.assign({}, this.form)
231
- },
232
- onSelectionChange: function (selection) {
233
- let self = this
234
- self.idSelectedArr = []
235
- if (selection.length > 1) {
236
- self.$Message.info('只能选择一条记录!')
237
- this.$refs.selection.selectAll(false);
238
- }
239
- for (let item of selection) {
240
- self.idSelectedArr.push(item.userId + ',' + item.userName)
241
- }
242
- },
243
- loadData (node, callback) {
244
- this.getData(node, function (data) {
245
- if (data.length > 0) {
246
- callback(data)
247
- }
248
- })
249
- },
250
- getRootData (organTreeType) {
251
- let self = this
252
- let childs = []
253
- let params = {
254
- treeTypeId: organTreeType
255
- }
256
- ajax.get(this.upmsServerContext + '/manage/ucOrgan/getOrgRootTree', {params: params}).then(function (resp) {
257
- if (resp.data.code === 1) {
258
- let data = resp.data.data
259
- if (data.length > 0) {
260
- data.forEach(item => {
261
- let obj = {}
262
- obj.type = item.organType
263
- obj.id = item.organId
264
- obj.orders = item.orders
265
- obj.title = item.organName
266
- obj.name = item.organName
267
- obj.com = item.com
268
- obj.code = item.organCode
269
- obj.loading = false
270
- obj.children = []
271
- obj.hasChild = true
272
- childs.push(obj)
273
- })
274
-
275
- childs[0].selected = true
276
- self.selectChange(childs)
277
- }
278
- self.treeData = childs
279
- }
280
- })
281
- },
282
- getData (node, callback) {
283
- let self = this
284
- ajax.get(this.upmsServerContext + '/manage/ucOrgan/getOrgSubNodes', {
285
- params: {
286
- organCode: node.code,
287
- orgTreeType: self.organTreeType
288
- }
289
- }).then(function (resp) {
290
- const childs = []
291
- if (resp.data.code === 1) {
292
- let nodeDatas = resp.data.data
293
- if (nodeDatas && nodeDatas.length > 0) {
294
- nodeDatas.forEach(item => {
295
- let obj = {}
296
- obj.type = item.organType
297
- obj.id = item.organId
298
- obj.orders = item.orders
299
- obj.title = item.organName
300
- obj.name = item.organName
301
- obj.com = item.com
302
- obj.parent = node
303
- obj.code = item.organCode
304
- obj.loading = false
305
- obj.children = []
306
- obj.hasChild = true
307
- childs.push(obj)
308
- })
309
- } else {
310
- self.$set(node, 'hasChild', false)
311
- self.$delete(node, 'loading')
312
- }
313
- if (callback) {
314
- callback(childs)
315
- }
316
- } else {
317
- self.$set(node, 'hasChild', false)
318
- self.$delete(node, 'loading')
319
- if (callback) {
320
- callback()
321
- }
322
- }
323
- })
324
- },
325
- selectChange (node) {
326
- let self = this
327
- if (node && node.length > 0) {
328
- if (self.currentNode !== node[0]) {
329
- self.currentNode = node[0]
330
-
331
- self.form.organId = self.currentNode.id
332
- self.form.organTitle = self.currentNode.title
333
-
334
- let permScope = self.permScope ? self.permScope : 'all'
335
- self.dataUrl =self.smartFlowServerContext+ '/manage/processDesign/getAssigneeList?orgTreeType=' + self.organTreeType + "&permScopeList=" + permScope
336
- self.doSearch()
337
-
338
- if (node[0].children.length <= 0) {
339
- self.getData(node[0], function (data) {
340
- self.$set(node[0], 'children', data)
341
- })
342
- }
343
- self.$set(node[0], 'expand', true)
344
- }
345
- } else {
346
- self.$set(self.currentNode, 'expand', !self.currentNode.expand)
347
- self.currentNode.selected = true
348
- }
349
- },
350
-
351
- onCancel () {
352
- if (this.helpBoxType === 'transferCurTask'){
353
- this.$emit('update-selected', ''); // 触发事件并传递 userId
354
- }
355
- this.modalBoxShow = false;
356
-
357
- },
358
-
359
-
360
- },
361
- };
362
- </script>
363
-
364
- <style lang="less" scope>
365
- .org-info{
366
- display: flex;
367
- .org-tree {
368
- width: 265px;
369
- min-height: 450px;
370
- border-right: 1px solid #dcdee2;
371
- }
372
-
373
- .org-detil {
374
- flex:1;
375
- min-height: 400px;
376
- min-width: 800px;
377
- padding: 0 10px 10px;
378
- margin-left: 10px;
379
- }
380
- }
381
- </style>
1
+ <template>
2
+ <div>
3
+ <Modal v-model="modalBoxShow" width="1217" title="选择办理人" @on-ok="onOk" @on-cancel="onCancel" loading>
4
+ <div class="org-info">
5
+ <div class="org-tree">
6
+ <Tree :data="treeData" :load-data="loadData" @on-select-change="selectChange" > </Tree>
7
+ </div>
8
+ <div class="org-detil">
9
+ <LamboPagingTable ref="selection" :dataUrl="dataUrl" :columns="tableColumn" :searchParams="tableSearchParams"
10
+ @on-selection-change="onSelectionChange">
11
+ <div slot="search">
12
+ <Form :label-width="80">
13
+ <FormItem label="账号">
14
+ <Input v-model="form.userId" placeholder="按账号搜索" />
15
+ </FormItem>
16
+ <FormItem label="姓名">
17
+ <Input v-model="form.userName" placeholder="按姓名搜索" />
18
+ </FormItem>
19
+ <FormItem label="是否管理员" prop="isAdmin" :labelWidth="100">
20
+ <RadioGroup v-model="form.isAdmin">
21
+ <Radio label="">全部</Radio>
22
+ <Radio label="1">是</Radio>
23
+ <Radio label="0">否</Radio>
24
+ </RadioGroup>
25
+ </FormItem>
26
+ <FormItem>
27
+ <Button type="primary" icon="ios-search" @click="doSearch">查询</Button>
28
+ </FormItem>
29
+ </Form>
30
+ </div>
31
+ </LamboPagingTable>
32
+
33
+ </div>
34
+ </div>
35
+
36
+
37
+ </Modal>
38
+ </div>
39
+ </template>
40
+
41
+ <script>
42
+ import ajax from "@lambo-design/shared/utils/ajax";
43
+ import LamboPagingTable from '@lambo-design/paging-table'
44
+
45
+ export default {
46
+ name: "UserHelpBox",
47
+ components: {
48
+ LamboPagingTable
49
+ },
50
+ props: {
51
+ data: {
52
+ type: Object,
53
+ default: () => {
54
+ return {}
55
+ }
56
+ },
57
+ //按钮执行完毕回调方法
58
+ executionCompleted: {
59
+ type: Function,
60
+ required: false,
61
+ },
62
+ smartFlowServerContext: {
63
+ type: String,
64
+ default: '/api/smart-flow-server',
65
+ },
66
+ upmsServerContext: {
67
+ type: String,
68
+ default: '/api/upms-server',
69
+ },
70
+ },
71
+ data() {
72
+ return {
73
+ id: '',
74
+ helpBoxType: 'transferCurTask',
75
+ loading: false,
76
+ organTreeType: '00',
77
+ permScope: 'all',
78
+ modalBoxShow: false,
79
+ dataUrl:'',
80
+ helpBoxColumns: [
81
+ {
82
+ title: "用户ID",
83
+ key: "userId",
84
+ sortable: "custom",
85
+ },
86
+ {
87
+ title: "用户姓名",
88
+ key: "userName",
89
+ },
90
+ {
91
+ title: "部门名称",
92
+ key: "organName",
93
+ },
94
+ ],
95
+ helpBoxTitle: "用户选择框",
96
+ targetDomId:"",
97
+ treeData: [],
98
+ idSelectedArr: [],
99
+ currentNode: {},
100
+ form: {
101
+ userId: '',
102
+ userName: '',
103
+ organId: '',
104
+ organTitle: '',
105
+ directChild: false,
106
+ isAdmin: ''
107
+ },
108
+ tableSearchParams: {},
109
+ };
110
+ },
111
+ /* created () {
112
+ this.init()
113
+ },*/
114
+ computed: {
115
+
116
+ tableColumn () {
117
+ let columns = []
118
+ let self = this
119
+ columns.push({
120
+ title: '#',
121
+ key: 'selectId',
122
+ type: 'selection',
123
+ align: 'center',
124
+ width: 55
125
+ })
126
+ columns.push({
127
+ title: '账号',
128
+ key: 'userId',
129
+ sortField: 'user_id',
130
+ sortable: 'custom'
131
+ })
132
+ columns.push({
133
+ title: '姓名',
134
+ key: 'userName',
135
+ sortField: 'user_name',
136
+ sortable: 'custom'
137
+ })
138
+ columns.push({
139
+ title: '部门名称',
140
+ key: 'organName',
141
+ sortField: 'organ_name',
142
+ sortable: 'custom'
143
+ })
144
+ columns.push({
145
+ title: '状态',
146
+ key: 'status',
147
+ sortable: 'custom',
148
+ align: 'center',
149
+ width: 100,
150
+ render: function (h, param) {
151
+ let state = param.row.status
152
+ if (state === '00') {
153
+ state = '正常'
154
+ } else {
155
+ state = '锁定'
156
+ }
157
+ return h('span', state)
158
+ }
159
+ })
160
+
161
+ return columns
162
+ }
163
+ },
164
+ inject: ['toBeDoneListDoSearch'],
165
+ methods: {
166
+ init (organTreeType) {
167
+ let self = this
168
+ self.organTreeType = organTreeType
169
+ self.getRootData(organTreeType)
170
+ },
171
+ toggleShowHelpBox(organTreeType, permScope, helpBoxType, id) {
172
+ this.id = id
173
+ this.helpBoxType = helpBoxType
174
+ this.organTreeType = organTreeType
175
+ if (permScope && permScope !== 'all'){
176
+ let userPermScope = permScope.substring(permScope.indexOf("U:"))
177
+ userPermScope = userPermScope.substring(2, userPermScope.indexOf(","))
178
+ if (userPermScope.length > 0) {
179
+ userPermScope = userPermScope.split(';')
180
+ this.permScope = userPermScope
181
+ }
182
+ }
183
+ this.getRootData(organTreeType)
184
+ this.modalBoxShow = !this.modalBoxShow;
185
+ },
186
+
187
+ onOk(){
188
+ let self = this
189
+ let idSelectedArr = self.idSelectedArr
190
+ self.loading = true
191
+ if (idSelectedArr.length > 1) {
192
+ self.loading = false
193
+ self.$Message.info('办理人只能选择一条记录!')
194
+ this.$emit('update-selected', ''); // 触发事件并传递 userId
195
+ } else {
196
+ let idSelectedArr = self.idSelectedArr[0].split(',')
197
+ if (self.helpBoxType === 'transferCurTask'){
198
+ let auditResult = {
199
+ code: self.data.auditResult,
200
+ name: self.data.auditResultName,
201
+ }
202
+ self.data.selectedUserId=idSelectedArr[0];
203
+ console.log("self.data:",self.data);
204
+ let url = this.smartFlowServerContext + '/manage/processTodo/audit'
205
+ ajax.post(url, self.data).then(function (resp) {
206
+ let result = resp.data
207
+ if (result.code == '200') {
208
+ self.loading = false
209
+ self.$Message.success(result.message);
210
+ if (self.executionCompleted) {
211
+ self.executionCompleted(true, self.data.instanceId, self.data.taskId, auditResult, self.data.taskId);
212
+ }
213
+ self.toBeDoneListDoSearch();
214
+ } else {
215
+ self.loading = false
216
+ self.$Message.error(result.message)
217
+ if (self.executionCompleted) {
218
+ self.executionCompleted(false, null, null, auditResult, self.data.taskId);
219
+ }
220
+ }
221
+ })
222
+ } else {
223
+ self.$emit('update-next-node-assignee', idSelectedArr[0], idSelectedArr[1], self.id);
224
+ }
225
+ }
226
+ this.modalBoxShow = false;
227
+ },
228
+
229
+ doSearch: function () {
230
+ this.tableSearchParams = Object.assign({}, this.form)
231
+ },
232
+ onSelectionChange: function (selection) {
233
+ let self = this
234
+ self.idSelectedArr = []
235
+ if (selection.length > 1) {
236
+ self.$Message.info('只能选择一条记录!')
237
+ this.$refs.selection.selectAll(false);
238
+ }
239
+ for (let item of selection) {
240
+ self.idSelectedArr.push(item.userId + ',' + item.userName)
241
+ }
242
+ },
243
+ loadData (node, callback) {
244
+ this.getData(node, function (data) {
245
+ if (data.length > 0) {
246
+ callback(data)
247
+ }
248
+ })
249
+ },
250
+ getRootData (organTreeType) {
251
+ let self = this
252
+ let childs = []
253
+ let params = {
254
+ treeTypeId: organTreeType
255
+ }
256
+ ajax.get(this.upmsServerContext + '/manage/ucOrgan/getOrgRootTree', {params: params}).then(function (resp) {
257
+ if (resp.data.code === 1) {
258
+ let data = resp.data.data
259
+ if (data.length > 0) {
260
+ data.forEach(item => {
261
+ let obj = {}
262
+ obj.type = item.organType
263
+ obj.id = item.organId
264
+ obj.orders = item.orders
265
+ obj.title = item.organName
266
+ obj.name = item.organName
267
+ obj.com = item.com
268
+ obj.code = item.organCode
269
+ obj.loading = false
270
+ obj.children = []
271
+ obj.hasChild = true
272
+ childs.push(obj)
273
+ })
274
+
275
+ childs[0].selected = true
276
+ self.selectChange(childs)
277
+ }
278
+ self.treeData = childs
279
+ }
280
+ })
281
+ },
282
+ getData (node, callback) {
283
+ let self = this
284
+ ajax.get(this.upmsServerContext + '/manage/ucOrgan/getOrgSubNodes', {
285
+ params: {
286
+ organCode: node.code,
287
+ orgTreeType: self.organTreeType
288
+ }
289
+ }).then(function (resp) {
290
+ const childs = []
291
+ if (resp.data.code === 1) {
292
+ let nodeDatas = resp.data.data
293
+ if (nodeDatas && nodeDatas.length > 0) {
294
+ nodeDatas.forEach(item => {
295
+ let obj = {}
296
+ obj.type = item.organType
297
+ obj.id = item.organId
298
+ obj.orders = item.orders
299
+ obj.title = item.organName
300
+ obj.name = item.organName
301
+ obj.com = item.com
302
+ obj.parent = node
303
+ obj.code = item.organCode
304
+ obj.loading = false
305
+ obj.children = []
306
+ obj.hasChild = true
307
+ childs.push(obj)
308
+ })
309
+ } else {
310
+ self.$set(node, 'hasChild', false)
311
+ self.$delete(node, 'loading')
312
+ }
313
+ if (callback) {
314
+ callback(childs)
315
+ }
316
+ } else {
317
+ self.$set(node, 'hasChild', false)
318
+ self.$delete(node, 'loading')
319
+ if (callback) {
320
+ callback()
321
+ }
322
+ }
323
+ })
324
+ },
325
+ selectChange (node) {
326
+ let self = this
327
+ if (node && node.length > 0) {
328
+ if (self.currentNode !== node[0]) {
329
+ self.currentNode = node[0]
330
+
331
+ self.form.organId = self.currentNode.id
332
+ self.form.organTitle = self.currentNode.title
333
+
334
+ let permScope = self.permScope ? self.permScope : 'all'
335
+ self.dataUrl =self.smartFlowServerContext+ '/manage/processDesign/getAssigneeList?orgTreeType=' + self.organTreeType + "&permScopeList=" + permScope
336
+ self.doSearch()
337
+
338
+ if (node[0].children.length <= 0) {
339
+ self.getData(node[0], function (data) {
340
+ self.$set(node[0], 'children', data)
341
+ })
342
+ }
343
+ self.$set(node[0], 'expand', true)
344
+ }
345
+ } else {
346
+ self.$set(self.currentNode, 'expand', !self.currentNode.expand)
347
+ self.currentNode.selected = true
348
+ }
349
+ },
350
+
351
+ onCancel () {
352
+ if (this.helpBoxType === 'transferCurTask'){
353
+ this.$emit('update-selected', ''); // 触发事件并传递 userId
354
+ }
355
+ this.modalBoxShow = false;
356
+
357
+ },
358
+
359
+
360
+ },
361
+ };
362
+ </script>
363
+
364
+ <style lang="less" scope>
365
+ .org-info{
366
+ display: flex;
367
+ .org-tree {
368
+ width: 265px;
369
+ min-height: 450px;
370
+ border-right: 1px solid #dcdee2;
371
+ }
372
+
373
+ .org-detil {
374
+ flex:1;
375
+ min-height: 400px;
376
+ min-width: 800px;
377
+ padding: 0 10px 10px;
378
+ margin-left: 10px;
379
+ }
380
+ }
381
+ </style>