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.
Files changed (30) hide show
  1. package/dist/cloud-module-bpm.common.js +3965 -1347
  2. package/dist/cloud-module-bpm.common.js.map +1 -1
  3. package/dist/cloud-module-bpm.css +1 -1
  4. package/dist/cloud-module-bpm.umd.js +3965 -1347
  5. package/dist/cloud-module-bpm.umd.js.map +1 -1
  6. package/dist/cloud-module-bpm.umd.min.js +6 -6
  7. package/dist/cloud-module-bpm.umd.min.js.map +1 -1
  8. package/package.json +5 -2
  9. package/packages/bpm-back-anylink-dialog/Tree.vue +222 -0
  10. package/packages/bpm-back-anylink-dialog/bpm-back-anylink-dialog.vue +466 -213
  11. package/packages/bpm-form-tools/bpm-form-tools.vue +33 -10
  12. package/packages/bpm-jump-dialog/Tree.vue +222 -0
  13. package/packages/bpm-jump-dialog/bpm-jump-dialog.vue +425 -161
  14. package/packages/bpm-jump-latest-dialog/Tree.vue +180 -41
  15. package/packages/bpm-jump-latest-dialog/bpm-jump-latest-dialog.vue +200 -30
  16. package/packages/bpm-opinion-dialog/bpm-opinion.vue +105 -44
  17. package/packages/bpm-send-read-dialog/SelectedGrid.vue +1 -1
  18. package/packages/bpm-send-read-dialog/SourceGrid.vue +90 -102
  19. package/packages/bpm-send-read-dialog/Tree.vue +145 -24
  20. package/packages/bpm-send-read-dialog/bpm-next-node.vue +3 -3
  21. package/packages/bpm-send-read-opinion-dialog/bpm-send-read-opinion.vue +35 -34
  22. package/packages/bpm-sign-dialog/SelectedGrid.vue +2 -2
  23. package/packages/bpm-sign-dialog/SourceGrid.vue +96 -113
  24. package/packages/bpm-sign-dialog/Tree.vue +125 -87
  25. package/packages/bpm-sign-dialog/bpm-next-node.vue +11 -8
  26. package/packages/bpm-user-select-dialog/SourceGrid.vue +127 -51
  27. package/packages/bpm-user-select-dialog/Tree.vue +151 -61
  28. package/packages/bpm-user-select-dialog/bpm-next-node.vue +17 -5
  29. package/packages/i18n/langs/zh_CN.js +6 -6
  30. package/packages/utils/merit-bpm.js +121 -8
@@ -1,20 +1,78 @@
1
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="['1']"
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>
2
+ <div style="height:100%;width:100%">
3
+ <el-row>
4
+ <el-col
5
+ :span="24"
6
+ style="padding: 4px;"
7
+ >
8
+ <el-input
9
+ placeholder="请输入名称或编码"
10
+ v-model="searchName"
11
+ clearable
12
+ @clear="restart"
13
+ @change="searchTree"
14
+ @keyup.enter.native="searchTree"
15
+ suffix-icon="el-icon-search"
16
+ ></el-input>
17
+ </el-col>
18
+ </el-row>
19
+ <el-row style="overflow-y: auto;height:91%">
20
+ <div>
21
+ <el-tree
22
+ :data="treeNode"
23
+ class="flow-tree"
24
+ ref="tree"
25
+ v-show="isShow"
26
+ node-key="id"
27
+ :props="treeProps"
28
+ @node-click="handelrNodeClick"
29
+ highlight-current
30
+ :default-expanded-keys="defaultExpandedKeys"
31
+ >
32
+ <span
33
+ class="custom-tree-node cell-hidden"
34
+ slot-scope="{ node, data }"
35
+ >
36
+ <span
37
+ v-if="data.type == 0"
38
+ class="iconfont icon-jigou"
39
+ ></span>
40
+ <span
41
+ v-else
42
+ class="iconfont icon-bumenkaoqin"
43
+ ></span>
44
+ <span :title="node.label">{{ node.label }}</span>
45
+ </span>
46
+ </el-tree>
47
+
48
+ <el-tree
49
+ v-show="!isShow"
50
+ :data="treeNodeSearch"
51
+ ref="treeSearch"
52
+ node-key="id"
53
+ :props="treeProps"
54
+ @node-click="handelrNodeClick"
55
+ highlight-current
56
+ :default-expanded-keys="defaultExpandedKeys"
57
+ >
58
+ <span
59
+ class="custom-tree-node span-ellipsis"
60
+ slot-scope="{ node, data }"
61
+ >
62
+ <span
63
+ v-if="data.dLevel == 0"
64
+ class="iconfont icon-jigou"
65
+ ></span>
66
+ <span
67
+ v-else
68
+ class="iconfont icon-bumenkaoqin"
69
+ ></span>
70
+ <span :title="node.label">{{ node.label }}</span>
71
+ </span>
72
+ </el-tree>
73
+ </div>
74
+ </el-row>
75
+ </div>
18
76
  </template>
19
77
  <script>
20
78
  import { Tree, Container } from 'element-ui';
@@ -25,10 +83,15 @@ export default {
25
83
  'el-container': Container
26
84
  },
27
85
  //初始化数据下
28
- data() {
86
+ data () {
29
87
  return {
30
88
  orgUrl: '/api/identity/bpm-dept/tree-by-deptcodes', //组织机构树接口
89
+ orgListUrl: "/api/identity/bpm-dept/tree-by-search", //组织机构列表筛选接口
31
90
  treeNode: [],
91
+ isShow: true,
92
+ treeNodeSearch: [],
93
+ searchName: '',
94
+ defaultExpandedKeys: [],
32
95
  treeProps: {
33
96
  children: 'children',
34
97
  label: 'name',
@@ -45,14 +108,70 @@ export default {
45
108
  //方法
46
109
  methods: {
47
110
  //树节点点击事件
48
- handelrNodeClick(treeNode) {
49
- this.EventBus.$emit('refresh-source-grid', treeNode);
50
- }
111
+ handelrNodeClick (treeNode) {
112
+ this.EventBus.$emit('refresh-source-grid-sendRead', treeNode);
113
+ },
114
+ searchTree () {
115
+ let _this = this;
116
+ if (_this.searchName == null || _this.searchName == '') {
117
+ _this.treeNodeSearch = [];
118
+ _this.isShow = true;
119
+ return;
120
+ }
121
+
122
+ let deptCodes = [];
123
+ _this.opt.forEach(bpmUser => {
124
+ if (bpmUser.deptCode && !deptCodes.includes(bpmUser.deptCode)) {
125
+ deptCodes.push(bpmUser.deptCode);
126
+ }
127
+ });
128
+ _this.isShow = false;
129
+ axios['bpm-engine']
130
+ .post(this.orgListUrl, {
131
+ search: this.searchName,
132
+ deptCodes: deptCodes.join(',')
133
+ })
134
+ .then(function (res) {
135
+
136
+ if (res.data.length > 0) {
137
+ _this.treeNodeSearch = res.data;
138
+ _this.$nextTick(() => {
139
+ _this.$refs.treeSearch.setCurrentKey(res.data[0].id);
140
+ });
141
+ _this.handelrNodeClick(res.data[0]);
142
+ } else {
143
+ _this.treeNodeSearch = [];
144
+ }
145
+ })
146
+ .catch(function (err) {
147
+ console.log(err);
148
+ });
149
+ },
150
+ restart () {
151
+ this.treeNodeSearch = [];
152
+ this.isShow = true;
153
+ let _this = this;
154
+ let deptCodes = [];
155
+ this.opt.forEach(bpmUser => {
156
+ if (bpmUser.deptCode && !deptCodes.includes(bpmUser.deptCode)) {
157
+ deptCodes.push(bpmUser.deptCode);
158
+ }
159
+ });
160
+ axios['bpm-engine']
161
+ .post(this.orgUrl, { deptCodes: deptCodes.join(',') })
162
+ .then(function (res) {
163
+ _this.treeNode = res.data;
164
+ _this.defaultExpandedKeys.push(res.data[0].id);
165
+ })
166
+ .catch(function (err) {
167
+ console.log(err);
168
+ });
169
+ },
51
170
 
52
171
  },
53
172
  //页面渲染之前调用方法 函数
54
- created() {},
55
- mounted() {
173
+ created () { },
174
+ mounted () {
56
175
  let _this = this;
57
176
  let deptCodes = [];
58
177
  this.opt.forEach(bpmUser => {
@@ -62,10 +181,12 @@ export default {
62
181
  });
63
182
  axios['bpm-engine']
64
183
  .post(this.orgUrl, { deptCodes: deptCodes.join(',') })
65
- .then(function(res) {
184
+ .then(function (res) {
66
185
  _this.treeNode = res.data;
186
+ _this.defaultExpandedKeys.push(res.data[0].id);
187
+ _this.EventBus.$emit('refresh-source-grid-sendRead', res.data[0]);
67
188
  })
68
- .catch(function(err) {
189
+ .catch(function (err) {
69
190
  console.log(err);
70
191
  });
71
192
  }
@@ -2,7 +2,7 @@
2
2
  <el-container>
3
3
  <el-aside style="height:456px;width:65%;margin-right: 0px;margin-left: 0px;background: #e8ecf3">
4
4
  <el-container>
5
- <el-aside style="height:456px;width: 40%;max-width: 400px;padding-top:5px;margin:0px;border-radius: 0px;">
5
+ <el-aside style="height:456px;width: 40%;max-width: 400px;margin:0px;border-radius: 0px;">
6
6
  <v-tree :opt="nextNode" />
7
7
  </el-aside>
8
8
  <el-main style="height:456px;width:45%;padding: 0px;margin-left:2px">
@@ -37,14 +37,14 @@ export default {
37
37
  'el-main': Main,
38
38
  'el-container': Container
39
39
  },
40
- data() {
40
+ data () {
41
41
  return {
42
42
  opt: {
43
43
  maxHeight: '483px'
44
44
  }
45
45
  };
46
46
  },
47
- created() {
47
+ created () {
48
48
  this.maxHeight = window.outerHeight > 900 ? '483px' : '361px';
49
49
  }
50
50
  };
@@ -17,9 +17,12 @@
17
17
  label-width="80px"
18
18
  label-position="right"
19
19
  >
20
- <el-row>
20
+ <el-row v-if='!viewFlag'>
21
21
  <el-form-item :label="$t('bpm.send_read_opinion.opinion_area')">
22
- <el-tabs v-model="activeOpinionArea" class="cloud-opinion-area">
22
+ <el-tabs
23
+ v-model="activeOpinionArea"
24
+ class="cloud-opinion-area"
25
+ >
23
26
  <el-tab-pane :label="$t('bpm.send_read_opinion.common_opinion')">
24
27
  <el-row class="cloud-opinion-area-tab-pane">
25
28
  <el-row
@@ -37,9 +40,7 @@
37
40
  </el-row>
38
41
  </el-row>
39
42
  </el-tab-pane>
40
- <el-tab-pane
41
- :label="$t('bpm.send_read_opinion.personal_opinion')"
42
- >
43
+ <el-tab-pane :label="$t('bpm.send_read_opinion.personal_opinion')">
43
44
  <el-row class="cloud-opinion-area-tab-pane">
44
45
  <el-row
45
46
  v-for="personalOpinion in personalOpinions"
@@ -78,13 +79,19 @@
78
79
  </el-row>
79
80
  </el-form>
80
81
 
81
- <span slot="footer" class="dialog-footer">
82
+ <span
83
+ slot="footer"
84
+ class="dialog-footer"
85
+ >
82
86
  <el-button @click="handleClose">{{
83
87
  $t('base.button.cancel')
84
- }}</el-button>
85
- <el-button type="primary" @click="handleSave">{{
88
+ }}</el-button>
89
+ <el-button
90
+ type="primary"
91
+ @click="handleSave"
92
+ >{{
86
93
  $t('base.button.ok')
87
- }}</el-button>
94
+ }}</el-button>
88
95
  </span>
89
96
  </el-dialog>
90
97
  </div>
@@ -132,7 +139,7 @@ export default {
132
139
  required: true
133
140
  }
134
141
  },
135
- data() {
142
+ data () {
136
143
  return {
137
144
  maxHeight: '',
138
145
  rules: {
@@ -153,37 +160,31 @@ export default {
153
160
  content: undefined
154
161
  },
155
162
  commonOpinions: [],
156
- personalOpinions: []
163
+ personalOpinions: [],
164
+ viewFlag: false,
157
165
  };
158
166
  },
159
- created() {
167
+ created () {
160
168
  this.maxHeight = window.outerHeight > 900 ? '483px' : '361px';
161
169
  },
162
170
  methods: {
163
- openDialog() {
171
+ openDialog () {
164
172
  let _this = this;
165
- let procDefId = _this.ruleEngine.runtime.procDefId;
166
- let procInstId = _this.ruleEngine.runtime.procInstId;
167
- let taskId = _this.ruleEngine.runtime.taskId;
168
- let taskDefKey = _this.ruleEngine.runtime.taskDefKey;
169
-
170
173
  axios['bpm-engine']
171
- .post('/api/engine/procopinion/getContent/nopublish', {
172
- procDefId: procDefId,
173
- procInstId: procInstId,
174
- taskId: taskId,
175
- taskDefKey: taskDefKey
176
- })
177
- .then(function(res) {
174
+ .post('/api/engine/procopinion/getContent/getSendReadCustomOpinion', {})
175
+ .then(function (res) {
178
176
  _this.procOpinion.content = res.data;
177
+ if (_this.procOpinion.content) {
178
+ _this.viewFlag = true;
179
+ }
179
180
  })
180
- .catch(function(err) {
181
+ .catch(function (err) {
181
182
  console.log(err);
182
183
  });
183
184
  //在此处查询公共意见和个人意见
184
185
  axios['bpm-engine']
185
186
  .post('/bpm/api/opinion/getAllOpionContent', {})
186
- .then(function(res) {
187
+ .then(function (res) {
187
188
  //公共意见
188
189
  if (res.data.commonOpinions.length > 0) {
189
190
  _this.commonOpinions = res.data.commonOpinions;
@@ -193,12 +194,12 @@ export default {
193
194
  _this.personalOpinions = res.data.personalOpinions;
194
195
  }
195
196
  })
196
- .catch(function(err) {
197
+ .catch(function (err) {
197
198
  console.log(err);
198
199
  });
199
200
  },
200
201
  //流程意见选择事件
201
- handleOpnionSelect(opinion) {
202
+ handleOpnionSelect (opinion) {
202
203
  if (
203
204
  this.procOpinion.content == null ||
204
205
  this.procOpinion.content.length == 0
@@ -212,11 +213,11 @@ export default {
212
213
  }
213
214
  },
214
215
  //关闭对话框
215
- handleClose() {
216
+ handleClose () {
216
217
  this.procOpinion.content = undefined;
217
218
  this.$emit('dialog-close', this.dialogVisible);
218
219
  },
219
- handleSave() {
220
+ handleSave () {
220
221
  let _this = this;
221
222
  if (_this.procOpinion.content.length > 255) {
222
223
  return this.$message.error(
@@ -238,17 +239,17 @@ export default {
238
239
  content: _this.procOpinion.content,
239
240
  type: 'publish'
240
241
  })
241
- .then(function(res) {
242
+ .then(function (res) {
242
243
  _this.$emit('dialog-save', _this.ruleEngine);
243
244
  _this.refreshCurrentPageOpionList();
244
245
  })
245
- .catch(function(err) {
246
+ .catch(function (err) {
246
247
  console.log(err);
247
248
  });
248
249
  }
249
250
  });
250
251
  },
251
- refreshCurrentPageOpionList() {
252
+ refreshCurrentPageOpionList () {
252
253
  // 刷新当前页面的意见列表 给AMIS定制刷新页面的意见列表组件
253
254
  let sxBtn = document.getElementsByClassName('a-SXYJ');
254
255
  if (sxBtn && sxBtn[0]) {
@@ -21,7 +21,7 @@
21
21
  </el-table-column>
22
22
  <el-table-column
23
23
  prop="code"
24
- :label="$t('base.user.user_name')"
24
+ :label="$t('bpm.user_select.emp_code')"
25
25
  fit="true"
26
26
  >
27
27
  <template slot-scope="scope">
@@ -58,7 +58,7 @@ export default {
58
58
  },
59
59
  data() {
60
60
  return {
61
- tableHeight: 400,
61
+ tableHeight: 426,
62
62
  tableData: [],
63
63
  currentPage: 1,
64
64
  pagesize: 10,