eoss-ui 0.6.45 → 0.6.46
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/lib/button-group.js +22 -17
- package/lib/button.js +22 -17
- package/lib/checkbox-group.js +22 -17
- package/lib/config/api.js +4 -1
- package/lib/data-table-form.js +22 -17
- package/lib/data-table.js +22 -17
- package/lib/date-picker.js +22 -17
- package/lib/dialog.js +22 -17
- package/lib/enable-drag.js +4 -13
- package/lib/eoss-ui.common.js +783 -158
- package/lib/flow-group.js +22 -17
- package/lib/flow-list.js +22 -17
- package/lib/flow.js +468 -32
- package/lib/form.js +43 -47
- package/lib/handle-user.js +22 -17
- package/lib/handler.js +46 -25
- package/lib/icon.js +22 -17
- package/lib/index.js +1 -1
- package/lib/input-number.js +22 -17
- package/lib/input.js +22 -17
- package/lib/login.js +22 -17
- package/lib/main.js +228 -53
- package/lib/nav.js +22 -17
- package/lib/notify.js +22 -17
- package/lib/page.js +22 -17
- package/lib/pagination.js +22 -17
- package/lib/player.js +22 -17
- package/lib/qr-code.js +22 -17
- package/lib/radio-group.js +22 -17
- package/lib/retrial-auth.js +22 -17
- package/lib/select-ganged.js +22 -17
- package/lib/select.js +22 -17
- package/lib/selector-panel.js +22 -17
- package/lib/selector.js +22 -17
- package/lib/sizer.js +22 -17
- package/lib/steps.js +22 -17
- package/lib/switch.js +22 -17
- package/lib/table-form.js +47 -22
- package/lib/tabs.js +22 -17
- package/lib/tips.js +22 -17
- package/lib/tree-group.js +22 -17
- package/lib/tree.js +22 -17
- package/lib/upload.js +32 -26
- package/lib/wujie.js +22 -17
- package/lib/wxlogin.js +22 -17
- package/package.json +2 -2
- package/packages/enable-drag/src/main.vue +1 -8
- package/packages/flow/src/main.vue +20 -8
- package/packages/flow/src/supervise.vue +138 -0
- package/packages/form/src/main.vue +3 -4
- package/packages/form/src/table.vue +6 -0
- package/packages/handler/src/main.vue +18 -1
- package/packages/main/src/default/index.vue +231 -67
- package/packages/main/src/simplicity/index.vue +9 -4
- package/packages/upload/src/main.vue +1 -0
- package/src/config/api.js +4 -1
- package/src/index.js +160 -160
- package/packages/.DS_Store +0 -0
- package/packages/data-table/.DS_Store +0 -0
- package/packages/data-table-form/.DS_Store +0 -0
- package/packages/error-page/.DS_Store +0 -0
- package/packages/flow/.DS_Store +0 -0
- package/packages/form/.DS_Store +0 -0
- package/packages/login/.DS_Store +0 -0
- package/packages/main/.DS_Store +0 -0
- package/packages/main/src/.DS_Store +0 -0
- package/packages/selector/.DS_Store +0 -0
- package/packages/selector-panel/.DS_Store +0 -0
- package/packages/sizer/.DS_Store +0 -0
- package/packages/tabs/.DS_Store +0 -0
- package/packages/theme-chalk/src/.DS_Store +0 -0
- package/packages/upload/.DS_Store +0 -0
- package/src/.DS_Store +0 -0
|
@@ -5,12 +5,13 @@
|
|
|
5
5
|
:style="styles"
|
|
6
6
|
v-if="!shrinkAbled"
|
|
7
7
|
>
|
|
8
|
+
<Supervise :businessId="businessId" v-if="typeCode == 'supervise'" />
|
|
8
9
|
<reset
|
|
9
10
|
style="height: 100%"
|
|
10
11
|
:type="newTypeCode"
|
|
11
12
|
:appId="resetAppId"
|
|
12
13
|
:flowParams="param"
|
|
13
|
-
v-if="newTypeCode == 'reset' || newTypeCode == 'continuation'"
|
|
14
|
+
v-else-if="newTypeCode == 'reset' || newTypeCode == 'continuation'"
|
|
14
15
|
/>
|
|
15
16
|
<div class="es-flow-content" v-else>
|
|
16
17
|
<div class="es-flow-top">
|
|
@@ -52,7 +53,7 @@
|
|
|
52
53
|
:nodeFixedOpinionSelectList="nodeFixedOpinionSelectList"
|
|
53
54
|
/>
|
|
54
55
|
</div>
|
|
55
|
-
|
|
56
|
+
<el-form
|
|
56
57
|
v-show="currentNodeIsCircularReadNode"
|
|
57
58
|
ref="nextNode"
|
|
58
59
|
:model="isFlow ? nodeInfo : nextNode"
|
|
@@ -84,9 +85,9 @@
|
|
|
84
85
|
:disableds="otherOrgDisabledObjId"
|
|
85
86
|
@change="disposeAppUnit($event, 'nextOtherOrgObjSelect')"
|
|
86
87
|
:types="['enterprise', 'filgroupobj']"
|
|
87
|
-
:params="{ filid: 'all'
|
|
88
|
+
:params="{ filid: 'all',roleid:circularReadParamsMap.circularReadOrgRoleCode}"
|
|
88
89
|
/> </el-form-item
|
|
89
|
-
></el-form>
|
|
90
|
+
></el-form>
|
|
90
91
|
<div
|
|
91
92
|
v-show="
|
|
92
93
|
(!endFlow || nodeInfos.length > 1) &&
|
|
@@ -809,6 +810,7 @@ import Reset from './reset.vue';
|
|
|
809
810
|
import TaskUnionExamine from './component/taskUnionExamine.vue';
|
|
810
811
|
import FreeStartFlow from './freeStartFlow.vue';
|
|
811
812
|
import SelectUser from './selectUser.vue';
|
|
813
|
+
import Supervise from './supervise.vue';
|
|
812
814
|
import {
|
|
813
815
|
findSysCodes,
|
|
814
816
|
getHandleInfoHtml,
|
|
@@ -844,7 +846,8 @@ export default {
|
|
|
844
846
|
[TaskUnionExamine.name]: TaskUnionExamine,
|
|
845
847
|
[FreeStartFlow.name]: FreeStartFlow,
|
|
846
848
|
Preset,
|
|
847
|
-
Reset
|
|
849
|
+
Reset,
|
|
850
|
+
Supervise
|
|
848
851
|
},
|
|
849
852
|
props: {
|
|
850
853
|
showShrink: { type: Boolean, default: true },
|
|
@@ -899,6 +902,7 @@ export default {
|
|
|
899
902
|
currentOrgDisabledObjId: [],
|
|
900
903
|
nextNodeCheckType: 'select',
|
|
901
904
|
readOnlyNotificationType: '',
|
|
905
|
+
circularReadParamsMap:{circularReadOrgRoleCode:''},
|
|
902
906
|
taskParams: {},
|
|
903
907
|
notificationMessageReadOnly: false,
|
|
904
908
|
isCanPreAddSign: false,
|
|
@@ -1066,6 +1070,7 @@ export default {
|
|
|
1066
1070
|
mounted() {
|
|
1067
1071
|
this.businessIds = this.businessId;
|
|
1068
1072
|
this.nextNode.nextNodeId = this.nextNodeId;
|
|
1073
|
+
if(this.typeCode == 'supervise') return
|
|
1069
1074
|
this.getNodeType();
|
|
1070
1075
|
!this.isFlow &&
|
|
1071
1076
|
(this.newTypeCode = this.typeCode || this.$route.query.typecode);
|
|
@@ -2268,6 +2273,7 @@ export default {
|
|
|
2268
2273
|
isCustomPreset,
|
|
2269
2274
|
presetTaskNodeKeyStr,
|
|
2270
2275
|
presetTaskNodeMap,
|
|
2276
|
+
circularReadParamsMap,
|
|
2271
2277
|
isPreset,
|
|
2272
2278
|
choiceOrgId,
|
|
2273
2279
|
choiceDeptId,
|
|
@@ -2294,6 +2300,7 @@ export default {
|
|
|
2294
2300
|
} = res;
|
|
2295
2301
|
this.$emit('startTaskRead', res);
|
|
2296
2302
|
this.$emit('start-task-read', res);
|
|
2303
|
+
this.circularReadParamsMap=circularReadParamsMap || {}
|
|
2297
2304
|
this.currentOrgName = currentOrgName;
|
|
2298
2305
|
this.currentNodeIsCircularReadNode =
|
|
2299
2306
|
nodeInfoMap.nodeExtAttr.currentNodeIsCircularReadNode == 1;
|
|
@@ -2739,7 +2746,8 @@ export default {
|
|
|
2739
2746
|
this.$message.warning(`请选择${this.currentOrgName || '本单位'}`);
|
|
2740
2747
|
return false;
|
|
2741
2748
|
}
|
|
2742
|
-
|
|
2749
|
+
|
|
2750
|
+
if(this.currentNodeIsCircularReadNode && this.nextNode.nextCurrentOrgObj.length == 0 && this.nextNode.nextOtherOrgObj.length == 0){
|
|
2743
2751
|
this.$message.warning(`请选择处理对象!`);
|
|
2744
2752
|
return false
|
|
2745
2753
|
}
|
|
@@ -2849,7 +2857,8 @@ export default {
|
|
|
2849
2857
|
pOrgId,
|
|
2850
2858
|
taskExamineInfo,
|
|
2851
2859
|
currentNodeIsCircularReadNode,
|
|
2852
|
-
needRetrialAuth
|
|
2860
|
+
needRetrialAuth,
|
|
2861
|
+
circularReadParamsMap
|
|
2853
2862
|
} = this;
|
|
2854
2863
|
params.isEndUserTask = isEndUserTask;
|
|
2855
2864
|
params.choiceOrgId = choiceOrgId;
|
|
@@ -2863,7 +2872,10 @@ export default {
|
|
|
2863
2872
|
params.nodeId = taskExamineInfo.nodeId;
|
|
2864
2873
|
params.needRetrialAuth = needRetrialAuth;
|
|
2865
2874
|
params.taskHandleSubmitMode = currentNodeIsCircularReadNode ? 'circularReadMode' : undefined;
|
|
2866
|
-
|
|
2875
|
+
if(currentNodeIsCircularReadNode){
|
|
2876
|
+
params.orgRoleCode=circularReadParamsMap.circularReadOrgRoleCode
|
|
2877
|
+
}
|
|
2878
|
+
|
|
2867
2879
|
return util
|
|
2868
2880
|
.ajax({ url: taskHandleHtml, method: 'post', data: params })
|
|
2869
2881
|
.then((res) => {
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="supervise-flow">
|
|
3
|
+
<el-form
|
|
4
|
+
ref="nextNode"
|
|
5
|
+
:model="nextNode"
|
|
6
|
+
class="demo-dynamic"
|
|
7
|
+
label-width="120px"
|
|
8
|
+
label-position="left"
|
|
9
|
+
>
|
|
10
|
+
<el-form-item prop="pendTitle" label="标题">
|
|
11
|
+
<el-input v-model="nextNode.pendTitle" disabled type="textarea" autosize />
|
|
12
|
+
</el-form-item>
|
|
13
|
+
<el-form-item prop="currentHandleNode" label="当前办理节点">
|
|
14
|
+
<el-input v-model="nextNode.currentHandleNode" disabled />
|
|
15
|
+
</el-form-item>
|
|
16
|
+
<el-form-item prop="pendingUserNames" label="当前办理人">
|
|
17
|
+
<el-input type="textarea" autosize v-model="nextNode.pendingUserNames" disabled />
|
|
18
|
+
</el-form-item>
|
|
19
|
+
<el-form-item prop="noticeType" label="通知方式">
|
|
20
|
+
<el-checkbox-group v-model="nextNode.noticeType">
|
|
21
|
+
<el-checkbox
|
|
22
|
+
v-for="(item,index) of nextNode.notificationType"
|
|
23
|
+
:key="index"
|
|
24
|
+
:label="item.cciValue"
|
|
25
|
+
>
|
|
26
|
+
{{ item.shortName }}
|
|
27
|
+
</el-checkbox>
|
|
28
|
+
</el-checkbox-group>
|
|
29
|
+
</el-form-item>
|
|
30
|
+
<!-- v-show="nextNode.noticeType.length != 0" -->
|
|
31
|
+
<el-form-item
|
|
32
|
+
prop="notifyMessage"
|
|
33
|
+
label="通知消息"
|
|
34
|
+
>
|
|
35
|
+
<es-input
|
|
36
|
+
style="
|
|
37
|
+
border-color: #ccc;
|
|
38
|
+
padding: 5px;
|
|
39
|
+
border-radius: 5px;
|
|
40
|
+
font-size: 13px;
|
|
41
|
+
"
|
|
42
|
+
type="textarea"
|
|
43
|
+
v-model="nextNode.notifyMessage"
|
|
44
|
+
/>
|
|
45
|
+
</el-form-item>
|
|
46
|
+
<el-form-item style="margin-bottom: 0px">
|
|
47
|
+
<div style="text-align: right">
|
|
48
|
+
<el-button
|
|
49
|
+
type="primary"
|
|
50
|
+
size="small"
|
|
51
|
+
@click="subProcess()"
|
|
52
|
+
>
|
|
53
|
+
确认
|
|
54
|
+
</el-button>
|
|
55
|
+
</div>
|
|
56
|
+
</el-form-item>
|
|
57
|
+
</el-form>
|
|
58
|
+
</div>
|
|
59
|
+
</template>
|
|
60
|
+
|
|
61
|
+
<script>
|
|
62
|
+
import { toTaskSupervise, toTaskSuperviseSub } from 'eoss-ui/src/config/api';
|
|
63
|
+
import util from 'eoss-ui/src/utils/util';
|
|
64
|
+
export default {
|
|
65
|
+
props: {
|
|
66
|
+
businessId: {
|
|
67
|
+
type: String,
|
|
68
|
+
default: ''
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
data() {
|
|
72
|
+
return {
|
|
73
|
+
nextNode: {
|
|
74
|
+
noticeType:[],
|
|
75
|
+
notificationType:[],
|
|
76
|
+
loading:undefined
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
},
|
|
80
|
+
mounted() {
|
|
81
|
+
this.getFlowInfo();
|
|
82
|
+
},
|
|
83
|
+
methods: {
|
|
84
|
+
subProcess(){
|
|
85
|
+
if(this.nextNode.noticeType.length == 0){
|
|
86
|
+
this.$message.warning('请选择通知方式');
|
|
87
|
+
return
|
|
88
|
+
}
|
|
89
|
+
if(!this.nextNode.notifyMessage){
|
|
90
|
+
this.$message.warning('请填写通知消息内容');
|
|
91
|
+
return
|
|
92
|
+
}
|
|
93
|
+
let {noticeType,notifyMessage,pendingUserIds} = this.nextNode
|
|
94
|
+
let params = {
|
|
95
|
+
url:toTaskSuperviseSub,
|
|
96
|
+
params:{
|
|
97
|
+
userId:util.getStorage('userId'),
|
|
98
|
+
urgeUserIds:pendingUserIds,
|
|
99
|
+
notificationType:noticeType.join(','),notificationMessage:notifyMessage,
|
|
100
|
+
businessId:this.businessId
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
this.loading = util.loading(this.$loading, '提交中...');
|
|
104
|
+
util.ajax(params).then(res => {
|
|
105
|
+
this.loading.close();
|
|
106
|
+
if(res.rCode == 0 || res.status=='success'){
|
|
107
|
+
this.$message.success('操作成功');
|
|
108
|
+
this.$parent.$emit('success')
|
|
109
|
+
}else{
|
|
110
|
+
this.$message.error(res.message || '系统错误,请联系管理员!');
|
|
111
|
+
}
|
|
112
|
+
})
|
|
113
|
+
},
|
|
114
|
+
|
|
115
|
+
getFlowInfo() {
|
|
116
|
+
this.loading = util.loading(this.$loading, '加载中...');
|
|
117
|
+
util
|
|
118
|
+
.ajax({
|
|
119
|
+
url: toTaskSupervise,
|
|
120
|
+
params: {
|
|
121
|
+
businessId: this.businessId,
|
|
122
|
+
userId: util.getStorage('userId')
|
|
123
|
+
}
|
|
124
|
+
})
|
|
125
|
+
.then((res) => {
|
|
126
|
+
this.loading.close();
|
|
127
|
+
console.log(res);
|
|
128
|
+
if(res.rCode == 0){
|
|
129
|
+
this.nextNode = {...this.nextNode,...res.results};
|
|
130
|
+
this.nextNode.noticeType = res.results.defaultNotificationType.split(',');
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
</script>
|
|
137
|
+
|
|
138
|
+
<style></style>
|
|
@@ -504,7 +504,6 @@
|
|
|
504
504
|
v-model="models[item.name]"
|
|
505
505
|
btn-size="medium"
|
|
506
506
|
:readonly="readonly ? readonly : item.readonly"
|
|
507
|
-
:fileCount.sync="fileCount"
|
|
508
507
|
:rules="item.rules"
|
|
509
508
|
v-on="
|
|
510
509
|
handleExclAttribute({
|
|
@@ -517,6 +516,7 @@
|
|
|
517
516
|
handleChange(item, val);
|
|
518
517
|
}
|
|
519
518
|
"
|
|
519
|
+
@getFilesAmount="$emit('getFilesAmount', $value)"
|
|
520
520
|
></es-upload>
|
|
521
521
|
<es-selector
|
|
522
522
|
v-bind="
|
|
@@ -1498,7 +1498,6 @@
|
|
|
1498
1498
|
"
|
|
1499
1499
|
:ownId="item.ownId || models.id"
|
|
1500
1500
|
btn-size="medium"
|
|
1501
|
-
v-model="models[item.name]"
|
|
1502
1501
|
:readonly="readonly ? readonly : item.readonly"
|
|
1503
1502
|
:rules="item.rules"
|
|
1504
1503
|
v-on="
|
|
@@ -1512,6 +1511,7 @@
|
|
|
1512
1511
|
handleChange(item, val);
|
|
1513
1512
|
}
|
|
1514
1513
|
"
|
|
1514
|
+
@getFilesAmount="$emit('getFilesAmount', $value)"
|
|
1515
1515
|
></es-upload>
|
|
1516
1516
|
<es-selector
|
|
1517
1517
|
v-bind="
|
|
@@ -2394,8 +2394,7 @@ export default {
|
|
|
2394
2394
|
uuid: util.uuid(32),
|
|
2395
2395
|
dialog: false,
|
|
2396
2396
|
refresh: true,
|
|
2397
|
-
ready: false
|
|
2398
|
-
fileCount: 0
|
|
2397
|
+
ready: false
|
|
2399
2398
|
};
|
|
2400
2399
|
},
|
|
2401
2400
|
computed: {
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
<td
|
|
25
25
|
v-if="item.type === 'caption'"
|
|
26
26
|
:colspan="col * 2"
|
|
27
|
+
:key="index"
|
|
27
28
|
class="es-table-td-caption"
|
|
28
29
|
>
|
|
29
30
|
<div class="es-table-caption">{{ item.text }}</div>
|
|
@@ -31,6 +32,7 @@
|
|
|
31
32
|
<td
|
|
32
33
|
v-else-if="item.type === 'table'"
|
|
33
34
|
:colspan="col * 2"
|
|
35
|
+
:key="index"
|
|
34
36
|
class="es-table-form-data"
|
|
35
37
|
>
|
|
36
38
|
<es-data-table-form
|
|
@@ -390,6 +392,7 @@
|
|
|
390
392
|
handleChange(item, val);
|
|
391
393
|
}
|
|
392
394
|
"
|
|
395
|
+
@getFilesAmount="$emit('getFilesAmount', $value)"
|
|
393
396
|
></es-upload>
|
|
394
397
|
<es-selector
|
|
395
398
|
v-bind="
|
|
@@ -518,6 +521,7 @@
|
|
|
518
521
|
<es-button
|
|
519
522
|
v-if="inline.type == 'button' && !inline.hide"
|
|
520
523
|
class="es-button-inline"
|
|
524
|
+
:key="k"
|
|
521
525
|
:disabled="isDisabled || inline.disabled"
|
|
522
526
|
v-bind="
|
|
523
527
|
handleExclAttribute({
|
|
@@ -1032,6 +1036,7 @@
|
|
|
1032
1036
|
<template v-for="(item, index) in table">
|
|
1033
1037
|
<es-data-table-form
|
|
1034
1038
|
v-if="item.lazy"
|
|
1039
|
+
:key="index"
|
|
1035
1040
|
class="es-form-item-table"
|
|
1036
1041
|
:data="model[item.name]"
|
|
1037
1042
|
:full="false"
|
|
@@ -1058,6 +1063,7 @@
|
|
|
1058
1063
|
</es-data-table-form>
|
|
1059
1064
|
<es-data-table
|
|
1060
1065
|
v-else
|
|
1066
|
+
:key="index"
|
|
1061
1067
|
class="es-form-item-table"
|
|
1062
1068
|
ref="dataTable"
|
|
1063
1069
|
:data="model[item.name]"
|
|
@@ -282,7 +282,8 @@ export default {
|
|
|
282
282
|
online: {
|
|
283
283
|
type: Number,
|
|
284
284
|
default: 1
|
|
285
|
-
}
|
|
285
|
+
},
|
|
286
|
+
singleLogout:Array
|
|
286
287
|
},
|
|
287
288
|
watch: {
|
|
288
289
|
subSystem: {
|
|
@@ -399,6 +400,22 @@ export default {
|
|
|
399
400
|
type: 'warning'
|
|
400
401
|
})
|
|
401
402
|
.then(() => {
|
|
403
|
+
let iframes = document.getElementsByTagName('iframe');
|
|
404
|
+
for (let i = 0; i < iframes.length; i++) {
|
|
405
|
+
let src = iframes[i] ? iframes[i].src : null;
|
|
406
|
+
let origin = util.win.location.origin;
|
|
407
|
+
if (src && util.startWith(src, 'http') && src.indexOf(origin) === -1) {
|
|
408
|
+
iframes[i] && iframes[i].contentWindow.postMessage('logout', '*');
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
if (this.singleLogout) {
|
|
412
|
+
for (let i = 0; i < this.singleLogout.length; i++) {
|
|
413
|
+
let iframe = document.createElement('iframe');
|
|
414
|
+
iframe.style.display = 'none';
|
|
415
|
+
iframe.src = this.singleLogout[i];
|
|
416
|
+
document.body.appendChild(iframe);
|
|
417
|
+
}
|
|
418
|
+
}
|
|
402
419
|
util
|
|
403
420
|
.ajax({ method: 'post', url: logout })
|
|
404
421
|
.then((res) => {
|