mooho-base-admin-plus 2.10.67 → 2.10.69
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/history.md +2 -0
- package/package/mooho-base-admin-plus.min.esm.js +123 -36
- package/package/mooho-base-admin-plus.min.js +3 -3
- package/package.json +1 -1
- package/src/api/task.js +11 -1
- package/src/components/view/modal-table.vue +8 -0
- package/src/components/view/view-form.vue +1 -1
- package/src/components/view/view-table-excel.vue +1 -0
- package/src/components/workflow/flow-chart.vue +23 -0
- package/src/components/workflow/task-form.vue +46 -21
package/package.json
CHANGED
package/src/api/task.js
CHANGED
|
@@ -15,12 +15,13 @@ export default {
|
|
|
15
15
|
}
|
|
16
16
|
});
|
|
17
17
|
},
|
|
18
|
-
reject(id, comment) {
|
|
18
|
+
reject(id, rejectToID, comment) {
|
|
19
19
|
return request({
|
|
20
20
|
url: `api/${res}/reject`,
|
|
21
21
|
method: 'post',
|
|
22
22
|
data: {
|
|
23
23
|
id,
|
|
24
|
+
rejectToID,
|
|
24
25
|
comment
|
|
25
26
|
}
|
|
26
27
|
});
|
|
@@ -89,5 +90,14 @@ export default {
|
|
|
89
90
|
method: 'post',
|
|
90
91
|
data: filter
|
|
91
92
|
});
|
|
93
|
+
},
|
|
94
|
+
queryRejectTo(id) {
|
|
95
|
+
return request({
|
|
96
|
+
url: `api/${res}/queryRejectTo`,
|
|
97
|
+
method: 'get',
|
|
98
|
+
params: {
|
|
99
|
+
id
|
|
100
|
+
}
|
|
101
|
+
});
|
|
92
102
|
}
|
|
93
103
|
};
|
|
@@ -664,7 +664,7 @@
|
|
|
664
664
|
}
|
|
665
665
|
}
|
|
666
666
|
});
|
|
667
|
-
} else if (column.controlType == 'Attachment' && this.$refs['attachment_' + column.code]) {
|
|
667
|
+
} else if (column.controlType == 'Attachment' && this.$refs['attachment_' + column.code] && this.$refs['attachment_' + column.code].length > 0) {
|
|
668
668
|
this.$refs['attachment_' + column.code][0].setData(this.parseData(this.data, column.code));
|
|
669
669
|
}
|
|
670
670
|
});
|
|
@@ -111,6 +111,7 @@
|
|
|
111
111
|
if (column.controlType === 'DialogSelect' && !column.readonly) {
|
|
112
112
|
this.$refs.dialogTable.init(column.source, () => {
|
|
113
113
|
this.$refs.dialogTable.open(this.getParam(this.staticData[coords.row], column, this.parentData));
|
|
114
|
+
this.$refs.dialogTable.resetFilter();
|
|
114
115
|
});
|
|
115
116
|
}
|
|
116
117
|
}
|
|
@@ -365,6 +365,29 @@
|
|
|
365
365
|
</Option>
|
|
366
366
|
</Select>
|
|
367
367
|
</template>
|
|
368
|
+
<template v-if="code == 'rejectActivityPids'">
|
|
369
|
+
<Select
|
|
370
|
+
:model-value="parseArrayData(data, code)"
|
|
371
|
+
@update:model-value="$event => setArrayData(data, code, $event)"
|
|
372
|
+
:clearable="true"
|
|
373
|
+
:transfer="true"
|
|
374
|
+
:multiple="true"
|
|
375
|
+
v-if="activities"
|
|
376
|
+
>
|
|
377
|
+
<Option
|
|
378
|
+
v-for="item in activities.filter(item => {
|
|
379
|
+
return (
|
|
380
|
+
item.pid != data.pid &&
|
|
381
|
+
(item.activityType == 'Interactive' || item.activityType == 'Judgement' || item.activityType == 'Service' || item.activityType == 'ParallelStart')
|
|
382
|
+
);
|
|
383
|
+
})"
|
|
384
|
+
:key="item.pid"
|
|
385
|
+
:value="item.pid"
|
|
386
|
+
>
|
|
387
|
+
{{ item.name }}
|
|
388
|
+
</Option>
|
|
389
|
+
</Select>
|
|
390
|
+
</template>
|
|
368
391
|
</template>
|
|
369
392
|
</modal-form>
|
|
370
393
|
<modal-form ref="serviceForm" view-code="ServiceActivityEdit">
|
|
@@ -86,6 +86,20 @@
|
|
|
86
86
|
<Button type="default" custom-icon="fa fa-times" @click="messageOpened = false">{{ $t('Front_Btn_Close') }}</Button>
|
|
87
87
|
</template>
|
|
88
88
|
</Modal>
|
|
89
|
+
<modal-form ref="rejectForm" view-code="RejectTask">
|
|
90
|
+
<template #column="{ data, code }">
|
|
91
|
+
<template v-if="code == 'rejectTo'">
|
|
92
|
+
<Select v-model="$refs.rejectForm.data.rejectToID" :clearable="true" placeholder="退回发起人" :transfer="true">
|
|
93
|
+
<Option v-for="item in rejectActivities" :key="item.id" :value="item.id">
|
|
94
|
+
{{ item.name }}
|
|
95
|
+
</Option>
|
|
96
|
+
</Select>
|
|
97
|
+
</template>
|
|
98
|
+
</template>
|
|
99
|
+
<template #footer>
|
|
100
|
+
<Button type="primary" custom-icon="fa fa-check" @click="rejectSubmit()">{{ $t('Front_Btn_OK') }}</Button>
|
|
101
|
+
</template>
|
|
102
|
+
</modal-form>
|
|
89
103
|
<flow-chart ref="flowChart" />
|
|
90
104
|
</div>
|
|
91
105
|
</template>
|
|
@@ -124,7 +138,8 @@
|
|
|
124
138
|
description: null,
|
|
125
139
|
customComponent: null,
|
|
126
140
|
form: null,
|
|
127
|
-
isFullscreen: false
|
|
141
|
+
isFullscreen: false,
|
|
142
|
+
rejectActivities: []
|
|
128
143
|
};
|
|
129
144
|
},
|
|
130
145
|
async created() {},
|
|
@@ -302,7 +317,7 @@
|
|
|
302
317
|
);
|
|
303
318
|
}
|
|
304
319
|
},
|
|
305
|
-
//
|
|
320
|
+
// 打开拒绝表单
|
|
306
321
|
async reject() {
|
|
307
322
|
if (this.isCustom && typeof this.$refs.customComponent.rejectValidation === 'function') {
|
|
308
323
|
let isOK = await this.$refs.customComponent.rejectValidation();
|
|
@@ -312,30 +327,40 @@
|
|
|
312
327
|
}
|
|
313
328
|
}
|
|
314
329
|
|
|
315
|
-
this.
|
|
316
|
-
'Front_Msg_Sure_To_Reject_Application',
|
|
317
|
-
this.$t('Front_Label_Comment'),
|
|
318
|
-
async () => {
|
|
319
|
-
if (this.isCustom && typeof this.$refs.customComponent.beforeReject === 'function') {
|
|
320
|
-
await this.$refs.customComponent.beforeReject(this.comment);
|
|
321
|
-
}
|
|
330
|
+
console.log('xxx', this.task.activityInst.activityID);
|
|
322
331
|
|
|
323
|
-
|
|
332
|
+
let column = this.$refs.rejectForm.columns.find(item => item.code == 'rejectTo');
|
|
333
|
+
|
|
334
|
+
if (column) {
|
|
335
|
+
if (this.task.activityInst.activity.isRejectSelect == true) {
|
|
336
|
+
this.rejectActivities = await taskApi.queryRejectTo(this.task.id);
|
|
337
|
+
column.isShow = true;
|
|
338
|
+
} else {
|
|
339
|
+
column.isShow = false;
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
this.$refs.rejectForm.open();
|
|
344
|
+
},
|
|
345
|
+
// 拒绝提交
|
|
346
|
+
async rejectSubmit() {
|
|
347
|
+
let isOK = await this.$refs.rejectForm.validate();
|
|
348
|
+
|
|
349
|
+
if (!isOK) {
|
|
350
|
+
this.error('Front_Msg_Form_Validate_Fail');
|
|
351
|
+
} else {
|
|
352
|
+
this.confirm('Front_Msg_Sure_To_Reject_Application', async () => {
|
|
353
|
+
let model = this.$refs.rejectForm.data;
|
|
354
|
+
|
|
355
|
+
await taskApi.reject(this.task.id, model.rejectToID, model.comment);
|
|
324
356
|
this.success('Front_Msg_Success');
|
|
325
357
|
this.resetNotice();
|
|
326
358
|
this.$emit('on-after-action');
|
|
359
|
+
this.$refs.rejectForm.data = {};
|
|
360
|
+
this.$refs.rejectForm.close();
|
|
327
361
|
this.opened = false;
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
if (!(comment || '').trim()) {
|
|
331
|
-
this.warning('Front_Msg_Please_Input_Reject_Reason');
|
|
332
|
-
return false;
|
|
333
|
-
} else {
|
|
334
|
-
this.comment = comment;
|
|
335
|
-
return true;
|
|
336
|
-
}
|
|
337
|
-
}
|
|
338
|
-
);
|
|
362
|
+
});
|
|
363
|
+
}
|
|
339
364
|
},
|
|
340
365
|
// 撤回
|
|
341
366
|
async recall() {
|