cloud-web-corejs 1.0.129 → 1.0.130
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/package.json +1 -1
- package/src/components/VabUpload/view.vue +138 -55
- package/src/components/baseInputExport/mixins.js +1 -1
- package/src/components/errorMsg/mixins.js +1 -2
- package/src/components/excelImport/mixins.js +2 -1
- package/src/components/jsonImport/mixins.js +2 -1
- package/src/components/langImport/mixins.js +17 -16
- package/src/components/wf/content.vue +772 -411
- package/src/components/wf/mixins/wfFlowEleScriptDialog.js +3 -0
- package/src/components/wf/wf.js +1 -1
- package/src/components/wf/wfFlowEleScriptDialog.vue +89 -0
- package/src/components/xform/form-designer/designer.js +3 -2
- package/src/components/xform/form-designer/form-widget/container-widget/containerMixin.js +3 -3
- package/src/components/xform/form-designer/form-widget/container-widget/data-table-mixin.js +9 -9
- package/src/components/xform/form-designer/form-widget/container-widget/data-table-widget.vue +4 -1
- package/src/components/xform/form-designer/form-widget/dialog/importDialogMixin.js +2 -1
- package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +3 -1
- package/src/components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue +17 -4
- package/src/components/xform/form-designer/form-widget/field-widget/import-button-widget.vue +4 -0
- package/src/components/xform/form-designer/form-widget/field-widget/oplog-widget.vue +185 -0
- package/src/components/xform/form-designer/form-widget/field-widget/print-button-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/print-detail-button-widget.vue +108 -0
- package/src/components/xform/form-designer/form-widget/field-widget/singleUpload-widget.vue +145 -0
- package/src/components/xform/form-designer/form-widget/field-widget/status-widget.vue +13 -4
- package/src/components/xform/form-designer/form-widget/field-widget/vabUpload2-widget.vue +725 -0
- package/src/components/xform/form-designer/indexMixin.js +3 -2
- package/src/components/xform/form-designer/setting-panel/form-setting.vue +1 -1
- package/src/components/xform/form-designer/setting-panel/option-items-setting.vue +376 -366
- package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/columnRenderDialog.vue +0 -1
- package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +372 -253
- package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +9 -43
- package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import-button-editor.vue +7 -0
- package/src/components/xform/form-designer/setting-panel/property-editor/field-print-button/print-button-editor.vue +8 -0
- package/src/components/xform/form-designer/setting-panel/property-editor/field-print-button/print-detail-button-editor.vue +91 -0
- package/src/components/xform/form-designer/setting-panel/property-editor/field-status/field-status-editor.vue +37 -30
- package/src/components/xform/form-designer/setting-panel/property-editor/field-vabUpload2/field-vabUpload2-editor.vue +62 -0
- package/src/components/xform/form-designer/setting-panel/property-editor/formScriptEnabled-editor.vue +19 -14
- package/src/components/xform/form-designer/setting-panel/property-editor/oplog-editor.vue +31 -0
- package/src/components/xform/form-designer/setting-panel/propertyRegister.js +5 -1
- package/src/components/xform/form-designer/widget-panel/indexMixin.js +19 -19
- package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +132 -0
- package/src/components/xform/form-render/container-item/containerItemMixin.js +12 -11
- package/src/components/xform/lang/zh-CN.js +3 -0
- package/src/components/xform/utils/util.js +1 -1451
- package/src/utils/request.js +1 -1
- package/src/utils/vab.js +1 -1
- package/src/views/user/notify_message/dialog.vue +24 -19
- package/src/views/user/outLink/form_view.vue +211 -211
- package/src/views/user/wf/wfReport/index.vue +448 -0
- package/src/views/user/wf/wf_manage/list.vue +344 -251
- package/src/views/user/wf/wf_transfer_setting/edit.vue +229 -0
- package/src/views/user/wf/wf_transfer_setting/list.vue +308 -0
@@ -15,7 +15,9 @@
|
|
15
15
|
</el-tab-pane>
|
16
16
|
<el-tab-pane :label="$t1('我的流程')" name="second">
|
17
17
|
<div class="tree-box fl">
|
18
|
-
<div class="tit"
|
18
|
+
<div class="tit">
|
19
|
+
<b>{{ $t1("待办类型") }}</b>
|
20
|
+
</div>
|
19
21
|
<el-tree
|
20
22
|
:props="defaultProps"
|
21
23
|
:load="loadNode"
|
@@ -35,38 +37,62 @@
|
|
35
37
|
<i class="el-icon-more"></i>
|
36
38
|
</div>
|
37
39
|
</label>
|
38
|
-
<div class="main-right fr" style="padding-left:6px
|
40
|
+
<div class="main-right fr" style="padding-left: 6px">
|
39
41
|
<div class="grid-height">
|
40
|
-
<vxe-grid
|
41
|
-
|
42
|
+
<vxe-grid
|
43
|
+
ref="table-m1"
|
44
|
+
v-bind="vxeOption"
|
45
|
+
@resizable-change="$vxeTableUtil.onColumnWitchChange"
|
46
|
+
@custom="$vxeTableUtil.customHandle"
|
47
|
+
>
|
42
48
|
<template #form>
|
43
49
|
<div class="clearfix screen-btns">
|
44
50
|
<div class="fl">
|
45
|
-
<base-table-export
|
46
|
-
|
51
|
+
<base-table-export
|
52
|
+
:option="{ title: $t1('流程待办导出'), targetRef: 'table-m1' }"
|
53
|
+
:parent-target="_self"
|
54
|
+
/>
|
47
55
|
</div>
|
48
56
|
<div class="fr">
|
49
|
-
<vxe-button
|
50
|
-
|
57
|
+
<vxe-button
|
58
|
+
icon="el-icon-brush"
|
59
|
+
class="button-sty"
|
60
|
+
@click="resetEvent"
|
61
|
+
type="text"
|
62
|
+
status="primary"
|
63
|
+
plain
|
64
|
+
>{{ $t1("重置") }}
|
51
65
|
</vxe-button>
|
52
|
-
<vxe-button
|
53
|
-
|
66
|
+
<vxe-button
|
67
|
+
status="warning"
|
68
|
+
icon="el-icon-search"
|
69
|
+
class="button-sty"
|
70
|
+
@click="searchEvent"
|
71
|
+
>
|
72
|
+
{{ $t1("搜索") }}
|
54
73
|
</vxe-button>
|
55
74
|
</div>
|
56
75
|
</div>
|
57
|
-
<vxe-form
|
58
|
-
|
59
|
-
|
76
|
+
<vxe-form
|
77
|
+
ref="form"
|
78
|
+
class="screen-box"
|
79
|
+
title-width="92px"
|
80
|
+
title-align="right"
|
81
|
+
:data="formData"
|
82
|
+
@submit="searchEvent"
|
83
|
+
@reset="searchEvent"
|
84
|
+
>
|
85
|
+
<vxe-form-item :title="$t1('待办类型') + ':'">
|
60
86
|
<template v-slot>
|
61
|
-
<el-input v-model="checkNodeData.label" size="small" disabled/>
|
87
|
+
<el-input v-model="checkNodeData.label" size="small" disabled />
|
62
88
|
</template>
|
63
89
|
</vxe-form-item>
|
64
|
-
<vxe-form-item :title="$t1('流程主题')+':'" field="name">
|
90
|
+
<vxe-form-item :title="$t1('流程主题') + ':'" field="name">
|
65
91
|
<template v-slot>
|
66
|
-
<el-input v-model="formData.name" size="small" clearable/>
|
92
|
+
<el-input v-model="formData.name" size="small" clearable />
|
67
93
|
</template>
|
68
94
|
</vxe-form-item>
|
69
|
-
<vxe-form-item :title="$t1('单据类型')+':'" field="objTypeName">
|
95
|
+
<vxe-form-item :title="$t1('单据类型') + ':'" field="objTypeName">
|
70
96
|
<template v-slot>
|
71
97
|
<el-input
|
72
98
|
class="search-input"
|
@@ -79,12 +105,15 @@
|
|
79
105
|
v-el-readonly
|
80
106
|
clearable
|
81
107
|
>
|
82
|
-
<i
|
83
|
-
|
108
|
+
<i
|
109
|
+
slot="suffix"
|
110
|
+
class="el-input__icon el-icon-search"
|
111
|
+
@click="showWfObjConfigDialog = true"
|
112
|
+
></i>
|
84
113
|
</el-input>
|
85
114
|
</template>
|
86
115
|
</vxe-form-item>
|
87
|
-
<vxe-form-item :title="$t1('流程状态')+':'" field="stat">
|
116
|
+
<vxe-form-item :title="$t1('流程状态') + ':'" field="stat">
|
88
117
|
<template v-slot>
|
89
118
|
<el-select v-model="formData.stat" clearable>
|
90
119
|
<el-option :value="1" :label="$t1('审核中')"></el-option>
|
@@ -93,9 +122,9 @@
|
|
93
122
|
</el-select>
|
94
123
|
</template>
|
95
124
|
</vxe-form-item>
|
96
|
-
<vxe-form-item :title="$t1('启动人')+':'" field="starterName">
|
125
|
+
<vxe-form-item :title="$t1('启动人') + ':'" field="starterName">
|
97
126
|
<template v-slot>
|
98
|
-
<el-input v-model="formData.starterName" size="small" clearable/>
|
127
|
+
<el-input v-model="formData.starterName" size="small" clearable />
|
99
128
|
</template>
|
100
129
|
</vxe-form-item>
|
101
130
|
<vxe-form-item title="启动时间:">
|
@@ -128,51 +157,78 @@
|
|
128
157
|
</div>
|
129
158
|
</div>
|
130
159
|
</el-tab-pane>
|
131
|
-
<el-tab-pane :label="$t1('全部流程')" name="third" v-if="flag==1">
|
160
|
+
<el-tab-pane :label="$t1('全部流程')" name="third" v-if="flag == 1">
|
132
161
|
<div class="grid-height">
|
133
|
-
<vxe-grid
|
134
|
-
|
162
|
+
<vxe-grid
|
163
|
+
ref="table-m2"
|
164
|
+
v-bind="vxeOption2"
|
165
|
+
@resizable-change="$vxeTableUtil.onColumnWitchChange"
|
166
|
+
@custom="$vxeTableUtil.customHandle"
|
167
|
+
>
|
135
168
|
<template #form>
|
136
169
|
<div class="clearfix screen-btns">
|
137
170
|
<div class="fl">
|
138
|
-
<base-table-export
|
139
|
-
|
171
|
+
<base-table-export
|
172
|
+
:option="{ title: $t1('流程待办导出'), targetRef: 'table-m2' }"
|
173
|
+
:parent-target="_self"
|
174
|
+
/>
|
140
175
|
</div>
|
141
176
|
<div class="fr">
|
142
|
-
<vxe-button
|
143
|
-
|
177
|
+
<vxe-button
|
178
|
+
icon="el-icon-brush"
|
179
|
+
class="button-sty"
|
180
|
+
@click="resetEvent2"
|
181
|
+
type="text"
|
182
|
+
status="primary"
|
183
|
+
plain
|
184
|
+
>{{ $t1("重置") }}
|
144
185
|
</vxe-button>
|
145
|
-
<vxe-button
|
146
|
-
|
186
|
+
<vxe-button
|
187
|
+
status="warning"
|
188
|
+
icon="el-icon-search"
|
189
|
+
class="button-sty"
|
190
|
+
@click="searchEvent2"
|
191
|
+
>
|
192
|
+
{{ $t1("搜索") }}
|
147
193
|
</vxe-button>
|
148
194
|
</div>
|
149
195
|
</div>
|
150
|
-
<vxe-form
|
151
|
-
|
152
|
-
|
196
|
+
<vxe-form
|
197
|
+
ref="form"
|
198
|
+
class="screen-box"
|
199
|
+
title-width="92px"
|
200
|
+
title-align="right"
|
201
|
+
:data="formData2"
|
202
|
+
@submit="searchEvent2"
|
203
|
+
@reset="searchEvent2"
|
204
|
+
>
|
205
|
+
<vxe-form-item :title="$t1('流程主题') + ':'" field="name">
|
153
206
|
<template v-slot>
|
154
|
-
<el-input v-model="formData2.name" size="small" clearable/>
|
207
|
+
<el-input v-model="formData2.name" size="small" clearable />
|
155
208
|
</template>
|
156
209
|
</vxe-form-item>
|
157
|
-
<vxe-form-item :title="$t1('单据类型')+':'" field="objTypeName">
|
210
|
+
<vxe-form-item :title="$t1('单据类型') + ':'" field="objTypeName">
|
158
211
|
<template v-slot>
|
159
212
|
<el-input
|
160
213
|
class="search-input"
|
161
214
|
max="200"
|
162
215
|
v-model="formData2.objTypeName"
|
163
216
|
@clear="
|
164
|
-
|
165
|
-
|
166
|
-
|
217
|
+
formData2.objTypeCode = null;
|
218
|
+
$forceUpdate();
|
219
|
+
"
|
167
220
|
v-el-readonly
|
168
221
|
clearable
|
169
222
|
>
|
170
|
-
<i
|
171
|
-
|
223
|
+
<i
|
224
|
+
slot="suffix"
|
225
|
+
class="el-input__icon el-icon-search"
|
226
|
+
@click="showWfObjConfigDialog2 = true"
|
227
|
+
></i>
|
172
228
|
</el-input>
|
173
229
|
</template>
|
174
230
|
</vxe-form-item>
|
175
|
-
<vxe-form-item :title="$t1('流程状态')+':'" field="stat">
|
231
|
+
<vxe-form-item :title="$t1('流程状态') + ':'" field="stat">
|
176
232
|
<template v-slot>
|
177
233
|
<el-select v-model="formData2.stat" clearable>
|
178
234
|
<el-option :value="1" :label="$t1('审核中')"></el-option>
|
@@ -181,45 +237,59 @@
|
|
181
237
|
</el-select>
|
182
238
|
</template>
|
183
239
|
</vxe-form-item>
|
240
|
+
<vxe-form-item :title="$t1('当前任务用户') + ':'" field="candidateNames">
|
241
|
+
<template v-slot>
|
242
|
+
<el-input v-model="formData2.candidateNames" size="small" clearable />
|
243
|
+
</template>
|
244
|
+
</vxe-form-item>
|
184
245
|
</vxe-form>
|
185
246
|
</template>
|
186
247
|
</vxe-grid>
|
187
248
|
</div>
|
188
249
|
</el-tab-pane>
|
189
250
|
</el-tabs>
|
190
|
-
<wfObjConfigDialog
|
191
|
-
|
192
|
-
|
193
|
-
|
251
|
+
<wfObjConfigDialog
|
252
|
+
v-if="showWfObjConfigDialog"
|
253
|
+
:visiable.sync="showWfObjConfigDialog"
|
254
|
+
:type.sync="type"
|
255
|
+
@confirm="confirmInsertWfObjConfig"
|
256
|
+
:multi="false"
|
257
|
+
></wfObjConfigDialog>
|
258
|
+
<wfObjConfigDialog
|
259
|
+
v-if="showWfObjConfigDialog2"
|
260
|
+
:visiable.sync="showWfObjConfigDialog2"
|
261
|
+
:type="99"
|
262
|
+
@confirm="confirmInsertWfObjConfig2"
|
263
|
+
:multi="false"
|
264
|
+
></wfObjConfigDialog>
|
194
265
|
</div>
|
195
266
|
</template>
|
196
267
|
<script>
|
197
|
-
import {treeScollx} from
|
198
|
-
import wfObjConfigDialog from
|
268
|
+
import { treeScollx } from "@base/utils/global.js";
|
269
|
+
import wfObjConfigDialog from "../../../../views/user/wf/wf_obj_config/dialog.vue";
|
199
270
|
|
200
271
|
export default {
|
201
|
-
name:
|
202
|
-
components: {wfObjConfigDialog},
|
203
|
-
created() {
|
204
|
-
},
|
272
|
+
name: "wf_manage:list",
|
273
|
+
components: { wfObjConfigDialog },
|
274
|
+
created() {},
|
205
275
|
async mounted() {
|
206
|
-
treeScollx({target: this, type:
|
276
|
+
treeScollx({ target: this, type: "default" });
|
207
277
|
await this.initWfParam();
|
208
278
|
this.initTableList();
|
209
279
|
this.initRole();
|
210
280
|
},
|
211
281
|
data() {
|
212
282
|
return {
|
213
|
-
activeName:
|
283
|
+
activeName: "second",
|
214
284
|
// dataId: 0,
|
215
285
|
// showEdit: false,
|
216
286
|
vxeOption: {},
|
217
287
|
formData: {},
|
218
288
|
checkNode: {},
|
219
289
|
defaultProps: {
|
220
|
-
label:
|
290
|
+
label: "label", //这里是树结构中需显示的数据(即接口返回的需展示在页面上的参数)
|
221
291
|
children: [],
|
222
|
-
isLeaf:
|
292
|
+
isLeaf: "leaf",
|
223
293
|
},
|
224
294
|
wfObjTypes: [],
|
225
295
|
showWfObjConfigDialog: false,
|
@@ -235,70 +305,77 @@ export default {
|
|
235
305
|
},
|
236
306
|
computed: {
|
237
307
|
type() {
|
238
|
-
return this.checkNode && this.checkNode.data ? this.checkNode.data.type :
|
308
|
+
return this.checkNode && this.checkNode.data ? this.checkNode.data.type : "";
|
239
309
|
},
|
240
310
|
checkNodeData() {
|
241
311
|
return this.checkNode && this.checkNode.data ? this.checkNode.data : {};
|
242
|
-
}
|
312
|
+
},
|
243
313
|
},
|
244
314
|
methods: {
|
245
315
|
searchEvent() {
|
246
|
-
this.$refs[
|
316
|
+
this.$refs["table-m1"].commitProxy("reload");
|
247
317
|
},
|
248
318
|
resetEvent() {
|
249
319
|
this.formData = {};
|
250
|
-
this.$refs[
|
320
|
+
this.$refs["table-m1"].commitProxy("reload");
|
251
321
|
},
|
252
322
|
|
253
323
|
initTableList() {
|
254
324
|
let that = this;
|
255
|
-
let paramColumns = this.wfParamDTOs.map(item => {
|
256
|
-
let flag = item.paramName ==
|
325
|
+
let paramColumns = this.wfParamDTOs.map((item) => {
|
326
|
+
let flag = item.paramName == "单号";
|
257
327
|
return {
|
258
328
|
title: this.$t1(item.paramName),
|
259
329
|
field: item.paramKey,
|
260
330
|
width: 150,
|
261
|
-
fixed: flag ?
|
262
|
-
slots: flag
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
331
|
+
fixed: flag ? "left" : "",
|
332
|
+
slots: flag
|
333
|
+
? {
|
334
|
+
default: ({ row }) => {
|
335
|
+
return [
|
336
|
+
<div>
|
337
|
+
<a
|
338
|
+
href="javascript:void(0);"
|
339
|
+
class="a-link"
|
340
|
+
onclick={() => {
|
341
|
+
this.openEditDialog(row);
|
342
|
+
}}
|
343
|
+
style="font-weight:bold; text-decoration: underline"
|
344
|
+
>
|
345
|
+
<el-tooltip
|
346
|
+
class="item"
|
347
|
+
effect="dark"
|
348
|
+
content={this.$t1("查看")}
|
349
|
+
placement="top-start"
|
350
|
+
>
|
351
|
+
<span>{row.param1}</span>
|
352
|
+
</el-tooltip>
|
353
|
+
</a>
|
354
|
+
</div>,
|
355
|
+
];
|
356
|
+
},
|
357
|
+
}
|
358
|
+
: "",
|
282
359
|
};
|
283
360
|
});
|
284
361
|
|
285
362
|
// let statuses = {0: '未启动', 1: '审核中', 2: '已完成', 3: '已驳回', 4: '中断'};
|
286
363
|
var statuses = {
|
287
|
-
0: [<el-tag type="warning">{this.$t1(
|
288
|
-
1: [<el-tag>{this.$t1(
|
289
|
-
2: [<el-tag type="success">{this.$t1(
|
290
|
-
3: [<el-tag type="danger">{this.$t1(
|
291
|
-
4: [<el-tag type="danger">{this.$t1(
|
364
|
+
0: [<el-tag type="warning">{this.$t1("未启动")}</el-tag>],
|
365
|
+
1: [<el-tag>{this.$t1("审核中")}</el-tag>],
|
366
|
+
2: [<el-tag type="success">{this.$t1("已完成")}</el-tag>],
|
367
|
+
3: [<el-tag type="danger">{this.$t1("已驳回")}</el-tag>],
|
368
|
+
4: [<el-tag type="danger">{this.$t1("中断")}</el-tag>],
|
292
369
|
};
|
293
370
|
let tableOption = {
|
294
371
|
vue: this,
|
295
|
-
tableRef:
|
296
|
-
tableName:
|
297
|
-
path: USER_PREFIX +
|
372
|
+
tableRef: "table-m1",
|
373
|
+
tableName: "user-wf-wf_manage-list-m2",
|
374
|
+
path: USER_PREFIX + "/wf_info/listPage",
|
298
375
|
param: () => {
|
299
376
|
return {
|
300
377
|
type: this.type,
|
301
|
-
...this.formData
|
378
|
+
...this.formData,
|
302
379
|
};
|
303
380
|
},
|
304
381
|
/*config: {
|
@@ -307,57 +384,57 @@ export default {
|
|
307
384
|
}
|
308
385
|
},*/
|
309
386
|
columns: [
|
310
|
-
{type:
|
387
|
+
{ type: "checkbox", width: 48, resizable: false, fixed: "left" },
|
311
388
|
{
|
312
|
-
title: this.$t1(
|
313
|
-
field:
|
389
|
+
title: this.$t1("流程主题"),
|
390
|
+
field: "name",
|
314
391
|
width: 150,
|
315
|
-
fixed:
|
392
|
+
fixed: "left",
|
316
393
|
},
|
317
394
|
{
|
318
|
-
title: this.$t1(
|
319
|
-
field:
|
320
|
-
width: 150
|
395
|
+
title: this.$t1("单据类型"),
|
396
|
+
field: "objTypeName",
|
397
|
+
width: 150,
|
321
398
|
},
|
322
399
|
{
|
323
|
-
title: this.$t1(
|
324
|
-
field:
|
325
|
-
width: 150
|
400
|
+
title: this.$t1("启动人"),
|
401
|
+
field: "starterName",
|
402
|
+
width: 150,
|
326
403
|
},
|
327
404
|
{
|
328
|
-
title: this.$t1(
|
329
|
-
field:
|
330
|
-
width: 150
|
405
|
+
title: this.$t1("当前任务"),
|
406
|
+
field: "taskName",
|
407
|
+
width: 150,
|
331
408
|
},
|
332
409
|
{
|
333
|
-
title: this.$t1(
|
334
|
-
field:
|
335
|
-
width: 150
|
410
|
+
title: this.$t1("当前任务用户"),
|
411
|
+
field: "candidateNames",
|
412
|
+
width: 150,
|
336
413
|
},
|
337
414
|
{
|
338
|
-
title: this.$t1(
|
339
|
-
field:
|
415
|
+
title: this.$t1("流程状态"),
|
416
|
+
field: "stat",
|
340
417
|
width: 150,
|
341
418
|
slots: {
|
342
|
-
default: ({row}) => {
|
343
|
-
let html = statuses[row.stat] ||
|
419
|
+
default: ({ row }) => {
|
420
|
+
let html = statuses[row.stat] || "";
|
344
421
|
return html;
|
345
|
-
}
|
346
|
-
}
|
422
|
+
},
|
423
|
+
},
|
347
424
|
},
|
348
425
|
{
|
349
|
-
title: this.$t1(
|
350
|
-
field:
|
351
|
-
width: 150
|
426
|
+
title: this.$t1("启动时间"),
|
427
|
+
field: "createDate",
|
428
|
+
width: 150,
|
352
429
|
},
|
353
430
|
...paramColumns,
|
354
431
|
{
|
355
432
|
width: 47,
|
356
|
-
fixed:
|
357
|
-
title:
|
433
|
+
fixed: "right",
|
434
|
+
title: "",
|
358
435
|
sortable: false,
|
359
436
|
slots: {
|
360
|
-
default: ({row}) => {
|
437
|
+
default: ({ row }) => {
|
361
438
|
return [
|
362
439
|
<a
|
363
440
|
href="javascript:void(0);"
|
@@ -367,18 +444,23 @@ export default {
|
|
367
444
|
this.openEditDialog(row);
|
368
445
|
}}
|
369
446
|
>
|
370
|
-
<el-tooltip
|
371
|
-
|
372
|
-
|
447
|
+
<el-tooltip
|
448
|
+
enterable={false}
|
449
|
+
effect="dark"
|
450
|
+
content={this.$t1("查看")}
|
451
|
+
placement="top"
|
452
|
+
popper-class="tooltip-skin"
|
453
|
+
>
|
454
|
+
<i class="el-icon-edit" />
|
373
455
|
</el-tooltip>
|
374
|
-
</a
|
456
|
+
</a>,
|
375
457
|
];
|
376
|
-
}
|
377
|
-
}
|
378
|
-
}
|
379
|
-
]
|
458
|
+
},
|
459
|
+
},
|
460
|
+
},
|
461
|
+
],
|
380
462
|
};
|
381
|
-
this.$vxeTableUtil.initVxeTable(tableOption).then(opts => {
|
463
|
+
this.$vxeTableUtil.initVxeTable(tableOption).then((opts) => {
|
382
464
|
this.vxeOption = opts;
|
383
465
|
});
|
384
466
|
},
|
@@ -392,29 +474,28 @@ export default {
|
|
392
474
|
// this.$openEditView('showEdit');
|
393
475
|
|
394
476
|
let id = row.objId;
|
395
|
-
let wfDataId = !id || typeof id ==
|
396
|
-
if (row.url ==
|
477
|
+
let wfDataId = !id || typeof id == "object" ? 0 : Number(id);
|
478
|
+
if (row.url == "form") {
|
397
479
|
this.param = {
|
398
480
|
formCode: row.objTypeCode.substr(9),
|
399
|
-
dataId: wfDataId
|
481
|
+
dataId: wfDataId,
|
400
482
|
};
|
401
|
-
let url =
|
402
|
-
this.wfContent = require(
|
483
|
+
let url = "/user/form/vform/render.vue";
|
484
|
+
this.wfContent = require("@base/views" + url).default;
|
403
485
|
} else {
|
404
486
|
this.param = {
|
405
|
-
_dataId: wfDataId
|
487
|
+
_dataId: wfDataId,
|
406
488
|
};
|
407
|
-
let url = row.url +
|
408
|
-
this.wfContent = require(
|
489
|
+
let url = row.url + ".vue";
|
490
|
+
this.wfContent = require("@/views" + url).default;
|
409
491
|
}
|
410
|
-
this.activeName =
|
411
|
-
this.$openEditView(
|
412
|
-
|
492
|
+
this.activeName = "first";
|
493
|
+
this.$openEditView("showWfContent");
|
413
494
|
},
|
414
495
|
guid() {
|
415
|
-
return
|
496
|
+
return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (c) {
|
416
497
|
var r = (Math.random() * 16) | 0,
|
417
|
-
v = c ==
|
498
|
+
v = c == "x" ? r : (r & 0x3) | 0x8;
|
418
499
|
return v.toString(16);
|
419
500
|
});
|
420
501
|
},
|
@@ -438,55 +519,55 @@ export default {
|
|
438
519
|
return;
|
439
520
|
}
|
440
521
|
this.$http({
|
441
|
-
url: USER_PREFIX +
|
442
|
-
method:
|
522
|
+
url: USER_PREFIX + "/wf_obj_config/getWfGroups",
|
523
|
+
method: "post",
|
443
524
|
data: {
|
444
|
-
type: node.data.type
|
525
|
+
type: node.data.type,
|
445
526
|
},
|
446
|
-
success: res => {
|
527
|
+
success: (res) => {
|
447
528
|
let rows = res.objx || [];
|
448
|
-
rows.forEach(item => {
|
529
|
+
rows.forEach((item) => {
|
449
530
|
item.leaf = true;
|
450
|
-
item.label = item.objTypeName +
|
531
|
+
item.label = item.objTypeName + "(" + item.num + ")";
|
451
532
|
item.type = node.data.type;
|
452
533
|
item.uuid = this.guid();
|
453
534
|
});
|
454
535
|
resolve(rows);
|
455
|
-
}
|
536
|
+
},
|
456
537
|
});
|
457
538
|
},
|
458
539
|
initNodeData(node, resolve) {
|
459
540
|
let data = [
|
460
541
|
{
|
461
542
|
uuid: -1,
|
462
|
-
label: this.$t1(
|
543
|
+
label: this.$t1("待审批的"),
|
463
544
|
type: 0,
|
464
|
-
leaf: true
|
545
|
+
leaf: true,
|
465
546
|
},
|
466
547
|
{
|
467
548
|
uuid: -2,
|
468
|
-
label: this.$t1(
|
549
|
+
label: this.$t1("我发起的"),
|
469
550
|
type: 1,
|
470
|
-
leaf: true
|
551
|
+
leaf: true,
|
471
552
|
},
|
472
553
|
{
|
473
554
|
uuid: -3,
|
474
|
-
label: this.$t1(
|
555
|
+
label: this.$t1("已审批的"),
|
475
556
|
type: 2,
|
476
|
-
leaf: true
|
557
|
+
leaf: true,
|
477
558
|
},
|
478
559
|
{
|
479
560
|
uuid: -4,
|
480
|
-
label: this.$t1(
|
481
|
-
type:
|
482
|
-
leaf: true
|
561
|
+
label: this.$t1("已完成的"),
|
562
|
+
type: "3",
|
563
|
+
leaf: true,
|
483
564
|
},
|
484
565
|
{
|
485
566
|
uuid: -5,
|
486
|
-
label: this.$t1(
|
487
|
-
type:
|
488
|
-
leaf: true
|
489
|
-
}
|
567
|
+
label: this.$t1("我转办的"),
|
568
|
+
type: "4",
|
569
|
+
leaf: true,
|
570
|
+
},
|
490
571
|
];
|
491
572
|
resolve(data);
|
492
573
|
this.$nextTick(() => {
|
@@ -517,156 +598,163 @@ export default {
|
|
517
598
|
confirmInsertWfObjConfig(rows) {
|
518
599
|
if (rows.length) {
|
519
600
|
let row = rows[0];
|
520
|
-
this.$set(this.formData,
|
521
|
-
this.$set(this.formData,
|
601
|
+
this.$set(this.formData, "objTypeName", row.objTypeName);
|
602
|
+
this.$set(this.formData, "objTypeCode", row.objTypeCode);
|
522
603
|
}
|
523
604
|
},
|
524
605
|
async initWfParam() {
|
525
606
|
return this.$http({
|
526
|
-
url: USER_PREFIX +
|
607
|
+
url: USER_PREFIX + "/wf_param/list",
|
527
608
|
method: `post`,
|
528
609
|
data: {},
|
529
|
-
success: res => {
|
610
|
+
success: (res) => {
|
530
611
|
this.wfParamDTOs = res.objx || [];
|
531
|
-
}
|
612
|
+
},
|
532
613
|
});
|
533
614
|
},
|
534
615
|
//m2
|
535
616
|
initRole() {
|
536
617
|
this.$http({
|
537
|
-
url: USER_PREFIX +
|
538
|
-
method:
|
539
|
-
success: res => {
|
618
|
+
url: USER_PREFIX + "/user/currentUser",
|
619
|
+
method: "post",
|
620
|
+
success: (res) => {
|
540
621
|
let userInfo = res.objx;
|
541
622
|
this.getIsAdmin(userInfo);
|
542
|
-
}
|
623
|
+
},
|
543
624
|
});
|
544
625
|
},
|
545
626
|
getIsAdmin(userInfo) {
|
546
627
|
this.$http({
|
547
|
-
url: USER_PREFIX +
|
628
|
+
url: USER_PREFIX + "/userb/getUserRole",
|
548
629
|
method: `post`,
|
549
|
-
data: {id: userInfo.id},
|
550
|
-
success: res2 => {
|
630
|
+
data: { id: userInfo.id },
|
631
|
+
success: (res2) => {
|
551
632
|
let rows = res2.objx || [];
|
552
|
-
let codes = rows.map(row => row.roleCode);
|
553
|
-
if (codes.includes(
|
633
|
+
let codes = rows.map((row) => row.roleCode);
|
634
|
+
if (codes.includes("superadmin") || codes.includes("wfadmin")) {
|
554
635
|
this.flag = 1;
|
555
636
|
setTimeout(() => {
|
556
637
|
this.initTableList2();
|
557
638
|
}, 200);
|
558
639
|
}
|
559
|
-
}
|
640
|
+
},
|
560
641
|
});
|
561
642
|
},
|
562
643
|
searchEvent2() {
|
563
|
-
this.$refs[
|
644
|
+
this.$refs["table-m2"].commitProxy("reload");
|
564
645
|
},
|
565
646
|
resetEvent2() {
|
566
647
|
this.formData2 = {};
|
567
|
-
this.$refs[
|
648
|
+
this.$refs["table-m2"].commitProxy("reload");
|
568
649
|
},
|
569
650
|
initTableList2() {
|
570
651
|
let that = this;
|
571
|
-
let paramColumns = this.wfParamDTOs.map(item => {
|
572
|
-
let flag = item.paramName ==
|
652
|
+
let paramColumns = this.wfParamDTOs.map((item) => {
|
653
|
+
let flag = item.paramName == "单号";
|
573
654
|
return {
|
574
655
|
title: this.$t1(item.paramName),
|
575
656
|
field: item.paramKey,
|
576
657
|
width: 150,
|
577
|
-
fixed: flag ?
|
578
|
-
slots: flag
|
579
|
-
|
580
|
-
|
581
|
-
|
582
|
-
|
583
|
-
|
584
|
-
|
585
|
-
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
|
590
|
-
|
591
|
-
|
592
|
-
|
593
|
-
|
594
|
-
|
595
|
-
|
596
|
-
|
597
|
-
|
658
|
+
fixed: flag ? "left" : "",
|
659
|
+
slots: flag
|
660
|
+
? {
|
661
|
+
default: ({ row }) => {
|
662
|
+
return [
|
663
|
+
<div>
|
664
|
+
<a
|
665
|
+
href="javascript:void(0);"
|
666
|
+
class="a-link"
|
667
|
+
onclick={() => {
|
668
|
+
this.openEditDialog(row);
|
669
|
+
}}
|
670
|
+
style="font-weight:bold; text-decoration: underline"
|
671
|
+
>
|
672
|
+
<el-tooltip
|
673
|
+
class="item"
|
674
|
+
effect="dark"
|
675
|
+
content={this.$t1("查看")}
|
676
|
+
placement="top-start"
|
677
|
+
>
|
678
|
+
<span>{row.param1}</span>
|
679
|
+
</el-tooltip>
|
680
|
+
</a>
|
681
|
+
</div>,
|
682
|
+
];
|
683
|
+
},
|
684
|
+
}
|
685
|
+
: "",
|
598
686
|
};
|
599
687
|
});
|
600
688
|
|
601
689
|
var statuses = {
|
602
|
-
0: [<el-tag type="warning">{this.$t1(
|
603
|
-
1: [<el-tag>{this.$t1(
|
604
|
-
2: [<el-tag type="success">{this.$t1(
|
605
|
-
3: [<el-tag type="danger">{this.$t1(
|
606
|
-
4: [<el-tag type="danger">{this.$t1(
|
690
|
+
0: [<el-tag type="warning">{this.$t1("未启动")}</el-tag>],
|
691
|
+
1: [<el-tag>{this.$t1("审核中")}</el-tag>],
|
692
|
+
2: [<el-tag type="success">{this.$t1("已完成")}</el-tag>],
|
693
|
+
3: [<el-tag type="danger">{this.$t1("已驳回")}</el-tag>],
|
694
|
+
4: [<el-tag type="danger">{this.$t1("中断")}</el-tag>],
|
607
695
|
};
|
608
696
|
let tableOption = {
|
609
697
|
vue: this,
|
610
|
-
tableRef:
|
611
|
-
tableName:
|
612
|
-
path: USER_PREFIX +
|
698
|
+
tableRef: "table-m2",
|
699
|
+
tableName: "user-wf-wf_manage-list-m3",
|
700
|
+
path: USER_PREFIX + "/wf_info/listPageAll",
|
613
701
|
param: () => {
|
614
702
|
return {
|
615
|
-
...this.formData2
|
703
|
+
...this.formData2,
|
616
704
|
};
|
617
705
|
},
|
618
706
|
columns: [
|
619
|
-
{type:
|
707
|
+
{ type: "checkbox", width: 48, resizable: false, fixed: "left" },
|
620
708
|
{
|
621
|
-
title: this.$t1(
|
622
|
-
field:
|
709
|
+
title: this.$t1("流程主题"),
|
710
|
+
field: "name",
|
623
711
|
width: 150,
|
624
|
-
fixed:
|
712
|
+
fixed: "left",
|
625
713
|
},
|
626
714
|
{
|
627
|
-
title: this.$t1(
|
628
|
-
field:
|
629
|
-
width: 150
|
715
|
+
title: this.$t1("单据类型"),
|
716
|
+
field: "objTypeName",
|
717
|
+
width: 150,
|
630
718
|
},
|
631
719
|
{
|
632
|
-
title: this.$t1(
|
633
|
-
field:
|
634
|
-
width: 150
|
720
|
+
title: this.$t1("启动人"),
|
721
|
+
field: "starterName",
|
722
|
+
width: 150,
|
635
723
|
},
|
636
724
|
{
|
637
|
-
title: this.$t1(
|
638
|
-
field:
|
639
|
-
width: 150
|
725
|
+
title: this.$t1("当前任务"),
|
726
|
+
field: "taskName",
|
727
|
+
width: 150,
|
640
728
|
},
|
641
729
|
{
|
642
|
-
title: this.$t1(
|
643
|
-
field:
|
644
|
-
width: 150
|
730
|
+
title: this.$t1("当前任务用户"),
|
731
|
+
field: "candidateNames",
|
732
|
+
width: 150,
|
645
733
|
},
|
646
734
|
{
|
647
|
-
title: this.$t1(
|
648
|
-
field:
|
735
|
+
title: this.$t1("流程状态"),
|
736
|
+
field: "stat",
|
649
737
|
width: 150,
|
650
738
|
slots: {
|
651
|
-
default: ({row}) => {
|
652
|
-
let html = statuses[row.stat] ||
|
739
|
+
default: ({ row }) => {
|
740
|
+
let html = statuses[row.stat] || "";
|
653
741
|
return html;
|
654
|
-
}
|
655
|
-
}
|
742
|
+
},
|
743
|
+
},
|
656
744
|
},
|
657
745
|
{
|
658
|
-
title: this.$t1(
|
659
|
-
field:
|
660
|
-
width: 150
|
746
|
+
title: this.$t1("启动时间"),
|
747
|
+
field: "createDate",
|
748
|
+
width: 150,
|
661
749
|
},
|
662
750
|
...paramColumns,
|
663
751
|
{
|
664
752
|
width: 47,
|
665
|
-
fixed:
|
666
|
-
title:
|
753
|
+
fixed: "right",
|
754
|
+
title: "",
|
667
755
|
sortable: false,
|
668
756
|
slots: {
|
669
|
-
default: ({row}) => {
|
757
|
+
default: ({ row }) => {
|
670
758
|
return [
|
671
759
|
<a
|
672
760
|
href="javascript:void(0);"
|
@@ -675,28 +763,33 @@ export default {
|
|
675
763
|
this.openEditDialog(row);
|
676
764
|
}}
|
677
765
|
>
|
678
|
-
<el-tooltip
|
679
|
-
|
680
|
-
|
766
|
+
<el-tooltip
|
767
|
+
enterable={false}
|
768
|
+
effect="dark"
|
769
|
+
content={this.$t1("查看")}
|
770
|
+
placement="top"
|
771
|
+
popper-class="tooltip-skin"
|
772
|
+
>
|
773
|
+
<i class="el-icon-edit" />
|
681
774
|
</el-tooltip>
|
682
|
-
</a
|
775
|
+
</a>,
|
683
776
|
];
|
684
|
-
}
|
685
|
-
}
|
686
|
-
}
|
687
|
-
]
|
777
|
+
},
|
778
|
+
},
|
779
|
+
},
|
780
|
+
],
|
688
781
|
};
|
689
|
-
this.$vxeTableUtil.initVxeTable(tableOption).then(opts => {
|
782
|
+
this.$vxeTableUtil.initVxeTable(tableOption).then((opts) => {
|
690
783
|
this.vxeOption2 = opts;
|
691
784
|
});
|
692
785
|
},
|
693
786
|
confirmInsertWfObjConfig2(rows) {
|
694
787
|
if (rows.length) {
|
695
788
|
let row = rows[0];
|
696
|
-
this.$set(this.formData2,
|
697
|
-
this.$set(this.formData2,
|
789
|
+
this.$set(this.formData2, "objTypeName", row.objTypeName);
|
790
|
+
this.$set(this.formData2, "objTypeCode", row.objTypeCode);
|
698
791
|
}
|
699
792
|
},
|
700
|
-
}
|
793
|
+
},
|
701
794
|
};
|
702
795
|
</script>
|