cloud-module-bpm 6.3.0
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/README.md +20 -0
- package/babel.config.js +3 -0
- package/dist/cloud-module-bpm.common.js +104959 -0
- package/dist/cloud-module-bpm.common.js.map +1 -0
- package/dist/cloud-module-bpm.css +1 -0
- package/dist/cloud-module-bpm.umd.js +104969 -0
- package/dist/cloud-module-bpm.umd.js.map +1 -0
- package/dist/cloud-module-bpm.umd.min.js +48 -0
- package/dist/cloud-module-bpm.umd.min.js.map +1 -0
- package/dist/demo.html +10 -0
- package/dist/fonts/element-icons.535877f5.woff +0 -0
- package/dist/fonts/element-icons.732389de.ttf +0 -0
- package/examples/App.vue +221 -0
- package/examples/main.js +17 -0
- package/package.json +66 -0
- package/packages/bpm-back-anylink-dialog/bpm-back-anylink-dialog.vue +377 -0
- package/packages/bpm-back-anylink-dialog/index.js +7 -0
- package/packages/bpm-back-anylink-dialog/readme.md +1 -0
- package/packages/bpm-form-tools/bpm-form-tools.vue +216 -0
- package/packages/bpm-form-tools/index.js +7 -0
- package/packages/bpm-form-tools/readme.md +5 -0
- package/packages/bpm-grid-buttons/bpm-grid-buttons.vue +140 -0
- package/packages/bpm-grid-buttons/index.js +7 -0
- package/packages/bpm-grid-buttons/readme.md +5 -0
- package/packages/bpm-grid-buttons-new/bpm-grid-buttons-new.vue +189 -0
- package/packages/bpm-grid-buttons-new/index.js +7 -0
- package/packages/bpm-grid-buttons-new/readme.md +8 -0
- package/packages/bpm-jump-dialog/bpm-jump-dialog.vue +311 -0
- package/packages/bpm-jump-dialog/index.js +7 -0
- package/packages/bpm-jump-dialog/readme.md +1 -0
- package/packages/bpm-jump-latest-dialog/Tree.vue +91 -0
- package/packages/bpm-jump-latest-dialog/bpm-jump-latest-dialog.vue +453 -0
- package/packages/bpm-jump-latest-dialog/index.js +7 -0
- package/packages/bpm-jump-latest-dialog/readme.md +1 -0
- package/packages/bpm-opinion-dialog/bpm-opinion.vue +291 -0
- package/packages/bpm-opinion-dialog/index.js +7 -0
- package/packages/bpm-proctrack-dialog/bpm-proctrack.vue +102 -0
- package/packages/bpm-proctrack-dialog/index.js +7 -0
- package/packages/bpm-send-read-dialog/SelectedGrid.vue +99 -0
- package/packages/bpm-send-read-dialog/SourceGrid.vue +396 -0
- package/packages/bpm-send-read-dialog/Tree.vue +74 -0
- package/packages/bpm-send-read-dialog/bpm-next-node.vue +51 -0
- package/packages/bpm-send-read-dialog/bpm-send-read.vue +100 -0
- package/packages/bpm-send-read-dialog/index.js +7 -0
- package/packages/bpm-send-read-opinion-dialog/bpm-send-read-opinion.vue +261 -0
- package/packages/bpm-send-read-opinion-dialog/index.js +7 -0
- package/packages/bpm-sign-dialog/SelectedGrid.vue +102 -0
- package/packages/bpm-sign-dialog/SourceGrid.vue +413 -0
- package/packages/bpm-sign-dialog/Tree.vue +197 -0
- package/packages/bpm-sign-dialog/bpm-next-node.vue +57 -0
- package/packages/bpm-sign-dialog/bpm-sign-select.vue +116 -0
- package/packages/bpm-sign-dialog/index.js +7 -0
- package/packages/bpm-sign-opinion-dialog/bpm-sign-opinion.vue +259 -0
- package/packages/bpm-sign-opinion-dialog/index.js +7 -0
- package/packages/bpm-user-select-dialog/SelectedGrid.vue +155 -0
- package/packages/bpm-user-select-dialog/SourceGrid.vue +419 -0
- package/packages/bpm-user-select-dialog/Tree.vue +98 -0
- package/packages/bpm-user-select-dialog/bpm-next-node.vue +51 -0
- package/packages/bpm-user-select-dialog/bpm-user-select.vue +108 -0
- package/packages/bpm-user-select-dialog/index.js +7 -0
- package/packages/i18n/i18n.js +15 -0
- package/packages/i18n/langs/en_US.js +42 -0
- package/packages/i18n/langs/index.js +6 -0
- package/packages/i18n/langs/zh_CN.js +86 -0
- package/packages/index.js +48 -0
- package/packages/utils/merit-bpm.js +900 -0
- package/public/favicon.ico +0 -0
- package/vue.config.js +55 -0
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<el-tree
|
|
3
|
+
:data="treeNode"
|
|
4
|
+
class="flow-tree"
|
|
5
|
+
ref="tree"
|
|
6
|
+
node-key="id"
|
|
7
|
+
:props="treeProps"
|
|
8
|
+
@node-click="handelrNodeClick"
|
|
9
|
+
highlight-current
|
|
10
|
+
:default-expanded-keys="defaultExpandedKeys"
|
|
11
|
+
>
|
|
12
|
+
<span class="custom-tree-node cell-hidden" slot-scope="{ node, data }">
|
|
13
|
+
<span v-if="data.type == 0" class="iconfont icon-jigou"></span>
|
|
14
|
+
<span v-else class="iconfont icon-bumenkaoqin"></span>
|
|
15
|
+
<span :title="node.label">{{ node.label }}</span>
|
|
16
|
+
</span>
|
|
17
|
+
</el-tree>
|
|
18
|
+
</template>
|
|
19
|
+
<script>
|
|
20
|
+
import { Tree, Container } from 'element-ui';
|
|
21
|
+
import axios from 'cloud-module-base/packages/httpConfig/http';
|
|
22
|
+
export default {
|
|
23
|
+
components: {
|
|
24
|
+
'el-tree': Tree,
|
|
25
|
+
'el-container': Container
|
|
26
|
+
},
|
|
27
|
+
//初始化数据下
|
|
28
|
+
data() {
|
|
29
|
+
return {
|
|
30
|
+
height: 0,
|
|
31
|
+
orgUrl: '/api/identity/bpm-dept/tree-by-deptcodes', //组织机构树接口
|
|
32
|
+
treeNode: [],
|
|
33
|
+
treeProps: {
|
|
34
|
+
children: 'children',
|
|
35
|
+
label: 'name',
|
|
36
|
+
id: 'id'
|
|
37
|
+
},
|
|
38
|
+
defaultExpandedKeys: []
|
|
39
|
+
};
|
|
40
|
+
},
|
|
41
|
+
props: {
|
|
42
|
+
opt: {
|
|
43
|
+
type: Object,
|
|
44
|
+
required: false
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
//方法
|
|
48
|
+
methods: {
|
|
49
|
+
//树节点点击事件
|
|
50
|
+
handelrNodeClick(treeNode) {
|
|
51
|
+
this.EventBus.$emit('refresh-source-grid' + this.opt.taskDeKey, treeNode);
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
//页面渲染之前调用方法 函数
|
|
55
|
+
created() {},
|
|
56
|
+
mounted() {
|
|
57
|
+
let _this = this;
|
|
58
|
+
let deptCodes = [];
|
|
59
|
+
this.opt.bpmUsers.forEach(bpmUser => {
|
|
60
|
+
if (bpmUser.deptCode && !deptCodes.includes(bpmUser.deptCode)) {
|
|
61
|
+
deptCodes.push(bpmUser.deptCode);
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
axios['bpm-engine']
|
|
65
|
+
.post(this.orgUrl, { deptCodes: deptCodes.join(',') })
|
|
66
|
+
.then(function(res) {
|
|
67
|
+
_this.treeNode = res.data;
|
|
68
|
+
_this.defaultExpandedKeys.push(res.data[0].id);
|
|
69
|
+
})
|
|
70
|
+
.catch(function(err) {
|
|
71
|
+
console.log(err);
|
|
72
|
+
});
|
|
73
|
+
},
|
|
74
|
+
//页面渲染完成调用方法 函数
|
|
75
|
+
watch: {
|
|
76
|
+
// opt(old, newVal) {
|
|
77
|
+
// let _this = this;
|
|
78
|
+
// let deptCodes = [];
|
|
79
|
+
// console.log('watch');
|
|
80
|
+
// this.opt.bpmUsers.forEach(bpmUser => {
|
|
81
|
+
// if (bpmUser.deptCodes && !deptCodes.includes(bpmUser.deptCodes)) {
|
|
82
|
+
// console.log('watch+++++');
|
|
83
|
+
// deptCodes.push(bpmUser.deptCodes);
|
|
84
|
+
// }
|
|
85
|
+
// });
|
|
86
|
+
// axios['bpm-engine']
|
|
87
|
+
// .post(this.orgUrl, { deptCodes: deptCodes.join(',') })
|
|
88
|
+
// .then(function(res) {
|
|
89
|
+
// _this.treeNode = res.data;
|
|
90
|
+
// })
|
|
91
|
+
// .catch(function(err) {
|
|
92
|
+
// console.log(err);
|
|
93
|
+
// });
|
|
94
|
+
// }
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
</script>
|
|
98
|
+
<style></style>
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<el-container>
|
|
3
|
+
<el-aside style="height:456px;width:65%;margin-right: 0px;margin-left: 0px;">
|
|
4
|
+
<el-container>
|
|
5
|
+
<el-aside style="height:456px;width: 40%;max-width: 400px;padding-top:5px;margin:0px;border-radius: 0px;">
|
|
6
|
+
<v-tree :opt="nextNode" />
|
|
7
|
+
</el-aside>
|
|
8
|
+
<el-main style="height:456px;width:45%;padding: 0px;margin-left:2px">
|
|
9
|
+
<v-source-grid :opt="nextNode" />
|
|
10
|
+
</el-main>
|
|
11
|
+
</el-container>
|
|
12
|
+
</el-aside>
|
|
13
|
+
<el-main style="height:456px;padding:0px;padding-bottom: 0px;width:35%;margin-left:10px">
|
|
14
|
+
<v-select-grid :opt="nextNode" />
|
|
15
|
+
</el-main>
|
|
16
|
+
</el-container>
|
|
17
|
+
</template>
|
|
18
|
+
<script>
|
|
19
|
+
import { Aside, Main, Container } from 'element-ui';
|
|
20
|
+
import selectedGrid from './SelectedGrid';
|
|
21
|
+
import sourceGrid from './SourceGrid';
|
|
22
|
+
import tree from './Tree';
|
|
23
|
+
import axios from 'cloud-module-base/packages/httpConfig/http';
|
|
24
|
+
export default {
|
|
25
|
+
//父组件传过来的数据属性
|
|
26
|
+
props: {
|
|
27
|
+
nextNode: {
|
|
28
|
+
type: Object,
|
|
29
|
+
required: true
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
components: {
|
|
33
|
+
'v-select-grid': selectedGrid,
|
|
34
|
+
'v-tree': tree,
|
|
35
|
+
'v-source-grid': sourceGrid,
|
|
36
|
+
'el-aside': Aside,
|
|
37
|
+
'el-main': Main,
|
|
38
|
+
'el-container': Container
|
|
39
|
+
},
|
|
40
|
+
data() {
|
|
41
|
+
return {
|
|
42
|
+
opt: {
|
|
43
|
+
maxHeight: '483px'
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
},
|
|
47
|
+
created() {
|
|
48
|
+
this.maxHeight = window.outerHeight > 900 ? '483px' : '361px';
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
</script>
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div>
|
|
3
|
+
<el-dialog
|
|
4
|
+
:title="opt.title"
|
|
5
|
+
:visible.sync="dialogVisible"
|
|
6
|
+
width="900px"
|
|
7
|
+
top="2vh"
|
|
8
|
+
:before-close="handleClose"
|
|
9
|
+
custom-class="el-editRole-dialog"
|
|
10
|
+
@open="openDialog"
|
|
11
|
+
:close-on-click-modal="false"
|
|
12
|
+
append-to-body
|
|
13
|
+
>
|
|
14
|
+
<el-tabs v-model="activeNodeName">
|
|
15
|
+
<el-tab-pane v-for="nextNode in nextNodes" :label="nextNode.taskName" :name="nextNode.taskDeKey" :key="nextNode.taskDeKey">
|
|
16
|
+
<v-bpm-next-node :nextNode="nextNode"></v-bpm-next-node>
|
|
17
|
+
</el-tab-pane>
|
|
18
|
+
</el-tabs>
|
|
19
|
+
<span slot="footer" class="dialog-footer">
|
|
20
|
+
<el-button @click="handleClose">{{ $t('base.button.cancel') }}</el-button>
|
|
21
|
+
<el-button type="primary" @click="handleSave">{{ $t('base.button.ok') }}</el-button>
|
|
22
|
+
</span>
|
|
23
|
+
</el-dialog>
|
|
24
|
+
</div>
|
|
25
|
+
</template>
|
|
26
|
+
<script>
|
|
27
|
+
import { Dialog, Aside, Main, Container, Button, Tabs, TabPane } from 'element-ui';
|
|
28
|
+
import bpmNextNode from './bpm-next-node';
|
|
29
|
+
import axios from 'cloud-module-base/packages/httpConfig/http';
|
|
30
|
+
|
|
31
|
+
export default {
|
|
32
|
+
name: 'bpm-user-select',
|
|
33
|
+
components: {
|
|
34
|
+
'el-dialog': Dialog,
|
|
35
|
+
'el-button': Button,
|
|
36
|
+
'el-tabs': Tabs,
|
|
37
|
+
'el-tab-pane': TabPane,
|
|
38
|
+
'v-bpm-next-node': bpmNextNode
|
|
39
|
+
},
|
|
40
|
+
//父组件传过来的数据属性
|
|
41
|
+
props: {
|
|
42
|
+
dialogVisible: {
|
|
43
|
+
type: Boolean,
|
|
44
|
+
required: true
|
|
45
|
+
},
|
|
46
|
+
ruleEngine: {
|
|
47
|
+
type: Object,
|
|
48
|
+
required: true
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
data() {
|
|
52
|
+
return {
|
|
53
|
+
//默认参数
|
|
54
|
+
opt: {
|
|
55
|
+
title: this.$t('bpm.user_select.title')
|
|
56
|
+
},
|
|
57
|
+
nextNodes: [],
|
|
58
|
+
activeNodeName: ''
|
|
59
|
+
};
|
|
60
|
+
},
|
|
61
|
+
created() {
|
|
62
|
+
let _this = this;
|
|
63
|
+
this.EventBus.$on('update-selected-user', params => {
|
|
64
|
+
_this.ruleEngine.nextNodes[params.nodekey] = params.dealUserCodes;
|
|
65
|
+
});
|
|
66
|
+
},
|
|
67
|
+
methods: {
|
|
68
|
+
openDialog() {
|
|
69
|
+
this.nextNodes = this.ruleEngine.runtime.nextNodes;
|
|
70
|
+
this.activeNodeName = this.nextNodes[0].taskDeKey;
|
|
71
|
+
this.ruleEngine.nextNodes = {};
|
|
72
|
+
},
|
|
73
|
+
handleClose() {
|
|
74
|
+
this.EventBus.$emit('save-button-click');
|
|
75
|
+
this.$emit('dialog-close', this.dialogVisible);
|
|
76
|
+
},
|
|
77
|
+
handleSave() {
|
|
78
|
+
let _this = this;
|
|
79
|
+
// 没有处理人的 流程节点
|
|
80
|
+
let noUserNode = '';
|
|
81
|
+
this.nextNodes.forEach(nextNode => {
|
|
82
|
+
if (
|
|
83
|
+
_this.ruleEngine.nextNodes[nextNode.taskDeKey + '_' + nextNode.approve.type] == undefined ||
|
|
84
|
+
_this.ruleEngine.nextNodes[nextNode.taskDeKey + '_' + nextNode.approve.type] == ''
|
|
85
|
+
) {
|
|
86
|
+
noUserNode = nextNode.taskName;
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
if (noUserNode != '') {
|
|
91
|
+
this.$message({
|
|
92
|
+
message: this.$t('bpm.user_select.node_no_select', { noUserNode }),
|
|
93
|
+
type: 'warning'
|
|
94
|
+
});
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
this.EventBus.$emit('save-button-click');
|
|
98
|
+
this.$emit('dialog-save', this.ruleEngine);
|
|
99
|
+
this.$emit('dialog-close', this.dialogVisible);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
</script>
|
|
104
|
+
<style>
|
|
105
|
+
/* .el-dialog__body {
|
|
106
|
+
padding: 0px 20px 30px 20px ;
|
|
107
|
+
} */
|
|
108
|
+
</style>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import Vue from 'vue';
|
|
2
|
+
import locale from 'element-ui/lib/locale'; //elementUI的国际化
|
|
3
|
+
import VueI18n from 'vue-i18n';
|
|
4
|
+
import messages from './langs';
|
|
5
|
+
|
|
6
|
+
Vue.use(VueI18n);
|
|
7
|
+
|
|
8
|
+
const i18n = new VueI18n({
|
|
9
|
+
//从localStorage中取,没有就默认的中文
|
|
10
|
+
locale: window.localStorage.getItem('qinLang') || 'zh',
|
|
11
|
+
messages
|
|
12
|
+
});
|
|
13
|
+
locale.i18n((key, value) => i18n.t(key, value)); //elementui多语言切换
|
|
14
|
+
|
|
15
|
+
export default i18n;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import en_USLocale from 'cloud-module-base/packages/i18n/langs/en_US';
|
|
2
|
+
var base_en = {
|
|
3
|
+
...en_USLocale,
|
|
4
|
+
bpm: {
|
|
5
|
+
user_select: {
|
|
6
|
+
title: 'tasknode dealer select',
|
|
7
|
+
no_select: 'tasknode has no dealer',
|
|
8
|
+
node_no_select: '[{noUserNode}] tasknode has no dealer'
|
|
9
|
+
},
|
|
10
|
+
opinion: {
|
|
11
|
+
dialog_title: 'create opinion',
|
|
12
|
+
opinion_area: 'opinion area',
|
|
13
|
+
common_opinion: 'common opinion',
|
|
14
|
+
personal_opinion: 'personal opinion',
|
|
15
|
+
opinion_content_beyond: 'Out of scope'
|
|
16
|
+
},
|
|
17
|
+
jump: {
|
|
18
|
+
dialog_title: 'send dialog',
|
|
19
|
+
choice_activity: 'choice activity',
|
|
20
|
+
activity_name: 'activity name',
|
|
21
|
+
please_select: 'please select',
|
|
22
|
+
for_personnel: 'for personnel',
|
|
23
|
+
selected_personnel_list: 'selected personnel list',
|
|
24
|
+
name: 'name',
|
|
25
|
+
coding: 'coding',
|
|
26
|
+
department: 'department',
|
|
27
|
+
please_personnel: 'please personnel'
|
|
28
|
+
},
|
|
29
|
+
button: {
|
|
30
|
+
mydeal: 'my deal',
|
|
31
|
+
my: 'my work',
|
|
32
|
+
mydraft: 'my draft',
|
|
33
|
+
mytrack: 'my track',
|
|
34
|
+
myundo: 'my undo',
|
|
35
|
+
myover: 'my over',
|
|
36
|
+
all: 'all work',
|
|
37
|
+
alltrack: 'all track',
|
|
38
|
+
allover: 'all over'
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
export default base_en;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import zh_CNLocale from 'cloud-module-base/packages/i18n/langs/zh_CN';
|
|
2
|
+
var base_zh = {
|
|
3
|
+
...zh_CNLocale,
|
|
4
|
+
bpm: {
|
|
5
|
+
user_select: {
|
|
6
|
+
title: '发送人员选择',
|
|
7
|
+
no_select: '流程处理节点没有选择处理人',
|
|
8
|
+
node_no_select: '[{noUserNode}]流程处理节点没有选择处理人'
|
|
9
|
+
},
|
|
10
|
+
send_read: {
|
|
11
|
+
sendReadTitle: '送阅知',
|
|
12
|
+
please_personnel: '请选择人员'
|
|
13
|
+
},
|
|
14
|
+
sign: {
|
|
15
|
+
sign_title: '转发选择',
|
|
16
|
+
please_personnel: '请选择人员'
|
|
17
|
+
},
|
|
18
|
+
sign_opinion: {
|
|
19
|
+
dialog_title: '填写转发意见',
|
|
20
|
+
opinion_area: '意见区域',
|
|
21
|
+
common_opinion: '公共意见',
|
|
22
|
+
personal_opinion: '个人意见',
|
|
23
|
+
opinion_content: '意见内容',
|
|
24
|
+
opinion_content_beyond: '意见内容不能超出最大范围'
|
|
25
|
+
},
|
|
26
|
+
opinion: {
|
|
27
|
+
dialog_title: '填写意见',
|
|
28
|
+
opinion_area: '意见区域',
|
|
29
|
+
common_opinion: '公共意见',
|
|
30
|
+
personal_opinion: '个人意见',
|
|
31
|
+
opinion_content: '意见内容',
|
|
32
|
+
opinion_content_beyond: '意见内容不能超出最大范围'
|
|
33
|
+
},
|
|
34
|
+
send_read_opinion: {
|
|
35
|
+
dialog_title: '填写阅知意见',
|
|
36
|
+
opinion_area: '意见区域',
|
|
37
|
+
common_opinion: '公共意见',
|
|
38
|
+
personal_opinion: '个人意见',
|
|
39
|
+
opinion_content: '意见内容',
|
|
40
|
+
opinion_content_beyond: '意见内容不能超出最大范围'
|
|
41
|
+
},
|
|
42
|
+
jump: {
|
|
43
|
+
dialog_title: '特送选择',
|
|
44
|
+
choice_activity: '选择活动',
|
|
45
|
+
activity_name: '活动名称',
|
|
46
|
+
please_select: '请选择',
|
|
47
|
+
for_personnel: '待选列表',
|
|
48
|
+
selected_personnel_list: '已选列表',
|
|
49
|
+
name: '姓名',
|
|
50
|
+
coding: '编码',
|
|
51
|
+
department: '部门',
|
|
52
|
+
please_personnel: '请选择人员'
|
|
53
|
+
},
|
|
54
|
+
back_anyLink: {
|
|
55
|
+
dialog_title: '退回任意环节选择',
|
|
56
|
+
choice_activity: '选择环节',
|
|
57
|
+
activity_name: '环节名称',
|
|
58
|
+
please_select: '请选择',
|
|
59
|
+
for_personnel: '待选列表',
|
|
60
|
+
selected_personnel_list: '已选列表',
|
|
61
|
+
name: '姓名',
|
|
62
|
+
coding: '编码',
|
|
63
|
+
department: '部门',
|
|
64
|
+
please_personnel: '请选择人员'
|
|
65
|
+
},
|
|
66
|
+
jump_latest: {
|
|
67
|
+
dialog_title: '管理特送选择'
|
|
68
|
+
},
|
|
69
|
+
button: {
|
|
70
|
+
mydeal: '我的已办',
|
|
71
|
+
my: '我的工作',
|
|
72
|
+
mydraft: '我的拟稿',
|
|
73
|
+
mytrack: '我的跟踪',
|
|
74
|
+
myundo: '我的待办',
|
|
75
|
+
myover: '我的办结',
|
|
76
|
+
all: '所有工作',
|
|
77
|
+
alltrack: '所有跟踪',
|
|
78
|
+
allover: '所有办结',
|
|
79
|
+
approve: '我的审批',
|
|
80
|
+
approving: '我的待办',
|
|
81
|
+
approved: '我的已办',
|
|
82
|
+
reject: '我的驳回'
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
export default base_zh;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import bpmUserSelect from '../packages/bpm-user-select-dialog/index';
|
|
2
|
+
import bpmPorctrack from '../packages/bpm-proctrack-dialog/index';
|
|
3
|
+
import bpmOpinion from '../packages/bpm-opinion-dialog/index';
|
|
4
|
+
import bpmGridButtions from '../packages/bpm-grid-buttons/index';
|
|
5
|
+
import bpmFormtools from '../packages/bpm-form-tools/index';
|
|
6
|
+
import bpmJump from '../packages/bpm-jump-dialog/index';
|
|
7
|
+
import bpmJumpLatest from '../packages/bpm-jump-latest-dialog/index';
|
|
8
|
+
import bpmBackAnylink from '../packages/bpm-back-anylink-dialog/index';
|
|
9
|
+
import bpmSendRead from '../packages/bpm-send-read-dialog/index';
|
|
10
|
+
import bpmSendReadOpinion from '../packages/bpm-send-read-opinion-dialog/index';
|
|
11
|
+
import bpmSignOpinion from '../packages/bpm-sign-opinion-dialog/index';
|
|
12
|
+
import bpmSignSelect from '../packages/bpm-sign-dialog/index';
|
|
13
|
+
import bpmGridButtionsNew from './bpm-grid-buttons-new/index';
|
|
14
|
+
import 'element-ui/lib/theme-chalk/index.css';
|
|
15
|
+
const components = [
|
|
16
|
+
bpmUserSelect,
|
|
17
|
+
bpmOpinion,
|
|
18
|
+
bpmPorctrack,
|
|
19
|
+
bpmGridButtions,
|
|
20
|
+
bpmFormtools,
|
|
21
|
+
bpmJump,
|
|
22
|
+
bpmJumpLatest,
|
|
23
|
+
bpmBackAnylink,
|
|
24
|
+
bpmSendRead,
|
|
25
|
+
bpmSendReadOpinion,
|
|
26
|
+
bpmSignOpinion,
|
|
27
|
+
bpmSignSelect,
|
|
28
|
+
bpmGridButtionsNew
|
|
29
|
+
];
|
|
30
|
+
const install = function(Vue, opts = {}) {
|
|
31
|
+
if (install.installed) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
install.installed = true;
|
|
35
|
+
Vue.prototype.EventBus = new Vue();
|
|
36
|
+
components.forEach(component => {
|
|
37
|
+
Vue.component(component.name, component);
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
/* 支持使用标签的方式引入 */
|
|
42
|
+
if (typeof window !== 'undefined' && window.Vue) {
|
|
43
|
+
install(window.Vue);
|
|
44
|
+
}
|
|
45
|
+
export default {
|
|
46
|
+
install,
|
|
47
|
+
...components
|
|
48
|
+
};
|