cloud-web-corejs 1.0.116 → 1.0.118
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 +3 -1
- package/src/components/VabUpload/view.vue +135 -135
- package/src/components/errorMsg/mixins.js +7 -5
- package/src/components/excelExport/button.vue +57 -4
- package/src/components/excelExport/index.js +7 -6
- package/src/components/excelExport/index.vue +56 -2
- package/src/components/excelExport/mixins.js +1 -1
- package/src/components/formOplog/mixins.js +1 -1
- package/src/components/statusTag/mixins.js +1 -1
- package/src/components/table/index.js +1 -1
- package/src/components/table/util/index.js +1 -1
- package/src/components/tempStorage/index.vue +9 -6
- package/src/components/tempStorage/tempStorageDialog.vue +1 -1
- package/src/components/wf/content.vue +17 -1
- package/src/components/wf/mixins/setCandidateDialog.js +2 -1
- package/src/components/wf/setCandidateDialog.vue +9 -0
- package/src/components/wf/setCandidateDialog2.vue +320 -0
- package/src/components/wf/wf.js +1 -1
- package/src/components/wf/wfStartDialog.vue +70 -42
- package/src/components/wf/wfTaskUserRangeDialog.vue +131 -0
- package/src/components/wf/wfUtil.js +1 -1
- package/src/components/xform/form-designer/designer.js +1 -1
- package/src/components/xform/form-designer/form-widget/container-widget/data-table-mixin.js +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/checkbox-widget.vue +2 -2
- package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/radio-widget.vue +2 -2
- package/src/components/xform/form-designer/form-widget/field-widget/select-widget.vue +4 -4
- package/src/components/xform/form-designer/form-widget/field-widget/static-content-wrapper.vue +2 -1
- package/src/components/xform/form-designer/form-widget/field-widget/tempStorage-widget.vue +127 -0
- package/src/components/xform/form-designer/indexMixin.js +1 -1
- package/src/components/xform/form-designer/setting-panel/form-setting.vue +93 -5
- package/src/components/xform/form-designer/setting-panel/property-editor/field-button/search-dialog-event-editor.vue +18 -2
- package/src/components/xform/form-designer/setting-panel/property-editor/tempStorage-editor.vue +23 -0
- package/src/components/xform/form-designer/setting-panel/propertyRegister.js +1 -0
- package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +31 -0
- package/src/components/xform/form-render/container-item/data-table-mixin.js +1 -1
- package/src/components/xform/form-render/indexMixin.js +3 -1
- package/src/components/xform/lang/zh-CN.js +1 -0
- package/src/components/xform/mixins/defaultHandle.js +1 -1
- package/src/components/xform/utils/util.js +1451 -1
- package/src/utils/index.js +2 -5
- package/src/views/user/form/view/list.vue +18 -3
- package/src/views/user/wf/wf_obj_config/itemEdit.vue +3 -3
- package/src/views/user/wf/wf_obj_config/list.vue +5 -5
@@ -0,0 +1,320 @@
|
|
1
|
+
<template>
|
2
|
+
<el-dialog
|
3
|
+
:title="$t2('查看候选人', 'components.wf.setCandidateTitle')"
|
4
|
+
:close-on-click-modal="falseValue"
|
5
|
+
:visible.sync="showDialog"
|
6
|
+
:modal="falseValue"
|
7
|
+
custom-class="dialog-style list-dialog dialog-checkbox pd_0"
|
8
|
+
width="1200px"
|
9
|
+
@close="closeWin"
|
10
|
+
v-el-drag-dialog
|
11
|
+
v-el-dialog-center
|
12
|
+
:append-to-body="true"
|
13
|
+
>
|
14
|
+
<template #title>
|
15
|
+
<span class="el-dialog__title">
|
16
|
+
{{ $t2("查看候选人", "components.wf.setCandidateTitle")
|
17
|
+
}}
|
18
|
+
</span>
|
19
|
+
</template>
|
20
|
+
<div class="cont" style="height: 450px">
|
21
|
+
<vxe-grid
|
22
|
+
ref="table-m1"
|
23
|
+
:data="tableData"
|
24
|
+
v-bind="vxeOption"
|
25
|
+
@resizable-change="$vxeTableUtil.onColumnWitchChange"
|
26
|
+
@custom="$vxeTableUtil.customHandle"
|
27
|
+
>
|
28
|
+
<template #wfTaskCandidates="{ row }">
|
29
|
+
{{ getUsernames(row) }}
|
30
|
+
</template>
|
31
|
+
<template #operate="{ row, rowIndex }">
|
32
|
+
<a
|
33
|
+
@click="openUserDialig(row, rowIndex)"
|
34
|
+
class="a-link"
|
35
|
+
v-if="row.modifyCandidates"
|
36
|
+
>
|
37
|
+
<el-tooltip
|
38
|
+
:enterable="false"
|
39
|
+
effect="dark"
|
40
|
+
:content="$t2('设置候选人', 'components.wf.modifyCandidate')"
|
41
|
+
placement="top"
|
42
|
+
popper-class="tooltip-skin"
|
43
|
+
>
|
44
|
+
<div>
|
45
|
+
<i class="el-icon-edit"></i
|
46
|
+
><span>{{
|
47
|
+
$t2("设置候选人", "components.wf.modifyCandidate")
|
48
|
+
}}</span>
|
49
|
+
</div>
|
50
|
+
</el-tooltip>
|
51
|
+
</a>
|
52
|
+
</template>
|
53
|
+
</vxe-grid>
|
54
|
+
</div>
|
55
|
+
<span slot="footer" class="dialog-footer">
|
56
|
+
<el-button type="primary" plain class="button-sty" @click="closeWin">
|
57
|
+
<i class="el-icon-close el-icon"></i>
|
58
|
+
{{ $t2("取 消", "system.button.cancel2") }}
|
59
|
+
</el-button>
|
60
|
+
<el-button type="primary" @click="confirmDialog" class="button-sty">
|
61
|
+
<i class="el-icon-check el-icon"></i>
|
62
|
+
{{ $t2("确 定", "system.button.confirm2") }}
|
63
|
+
</el-button>
|
64
|
+
</span>
|
65
|
+
<user-dialog
|
66
|
+
v-if="showUserDialog"
|
67
|
+
:visiable.sync="showUserDialog"
|
68
|
+
@close="showUserDialog = false"
|
69
|
+
@confirm="userConfirm"
|
70
|
+
multi="true"
|
71
|
+
:rows="userRows"
|
72
|
+
></user-dialog>
|
73
|
+
<wfTaskUserRangeDialog
|
74
|
+
v-if="showWfTaskUserRangeDialog"
|
75
|
+
:visiable.sync="showWfTaskUserRangeDialog"
|
76
|
+
@close="showWfTaskUserRangeDialog = false"
|
77
|
+
@confirm="confirmWfTaskUserRangeDialog"
|
78
|
+
multi="true"
|
79
|
+
:rows="userRangeRows"
|
80
|
+
:rangeTableDatas="rangeTableDatas"
|
81
|
+
:current_prefix="current_prefix"
|
82
|
+
></wfTaskUserRangeDialog>
|
83
|
+
</el-dialog>
|
84
|
+
|
85
|
+
|
86
|
+
</template>
|
87
|
+
|
88
|
+
<script>
|
89
|
+
import { selectDialogMixins } from "../../mixins/selectDialog/index.js";
|
90
|
+
import userDialog from "../../views/user/user/dialog.vue";
|
91
|
+
import wfTaskUserRangeDialog from './wfTaskUserRangeDialog.vue'
|
92
|
+
export default {
|
93
|
+
mixins: [selectDialogMixins],
|
94
|
+
props: ['visiable', 'multi', 'rows', 'param', 'current_prefix',"modelId"],
|
95
|
+
components: {userDialog,wfTaskUserRangeDialog},
|
96
|
+
created() {
|
97
|
+
|
98
|
+
},
|
99
|
+
mounted() {
|
100
|
+
|
101
|
+
// this.initWfUserRangeParam();
|
102
|
+
this.initTableM1();
|
103
|
+
},
|
104
|
+
data() {
|
105
|
+
var that = this;
|
106
|
+
return {
|
107
|
+
showDialog: true,
|
108
|
+
falseValue: false,
|
109
|
+
selectMulti: true,
|
110
|
+
vxeOption: {},
|
111
|
+
showUserDialog: false,
|
112
|
+
userRows: [],
|
113
|
+
operateIndex: -1,
|
114
|
+
|
115
|
+
rangeTableDatas: [],
|
116
|
+
userRangeRows: [],
|
117
|
+
showWfTaskUserRangeDialog:false,
|
118
|
+
|
119
|
+
tableData: []
|
120
|
+
|
121
|
+
|
122
|
+
|
123
|
+
// wfUserRangeEnabled: false
|
124
|
+
};
|
125
|
+
},
|
126
|
+
methods: {
|
127
|
+
/* initWfUserRangeParam(){
|
128
|
+
this.$http({
|
129
|
+
url: USER_PREFIX + "/wf_diy_attribute/getValue",
|
130
|
+
method: `post`,
|
131
|
+
data: {attributeKey: "param12"},
|
132
|
+
success: (res) => {
|
133
|
+
this.wfUserRangeEnabled = res?.objx === true;
|
134
|
+
},
|
135
|
+
});
|
136
|
+
}, */
|
137
|
+
openShowWfTaskUserRangeDialog(row,rowIndex,rangeTableDatas){
|
138
|
+
this.userRangeRows = row.wfTaskCandidateDTOs.map(item => {
|
139
|
+
return {
|
140
|
+
userId: item.id,
|
141
|
+
nickName: item.name
|
142
|
+
}
|
143
|
+
});
|
144
|
+
this.rangeTableDatas = rangeTableDatas;
|
145
|
+
this.operateIndex = rowIndex;
|
146
|
+
this.showWfTaskUserRangeDialog = true;
|
147
|
+
},
|
148
|
+
confirmWfTaskUserRangeDialog(rows){
|
149
|
+
let $grid = this.$refs["table-m1"];
|
150
|
+
let item = $grid.getTableData().fullData[this.operateIndex];
|
151
|
+
let wfTaskCandidateDTOs = item.wfTaskCandidateDTOs;
|
152
|
+
let item1s = [];
|
153
|
+
let item2s = []
|
154
|
+
rows.forEach(row => {
|
155
|
+
let userId = row.userId;
|
156
|
+
let wfTaskCandidateDTO = wfTaskCandidateDTOs.find(item => item.id == userId)
|
157
|
+
if (wfTaskCandidateDTO) {
|
158
|
+
if (!wfTaskCandidateDTO.userFlag) wfTaskCandidateDTO.userFlag = 6
|
159
|
+
item1s.push({...wfTaskCandidateDTO});
|
160
|
+
} else {
|
161
|
+
item2s.push({
|
162
|
+
id: userId,
|
163
|
+
name: row.nickName,
|
164
|
+
userFlag: 6
|
165
|
+
})
|
166
|
+
}
|
167
|
+
})
|
168
|
+
item.wfTaskCandidateDTOs = item1s.concat(item2s)
|
169
|
+
|
170
|
+
// this.saveItem(item);
|
171
|
+
},
|
172
|
+
initTableM1() {
|
173
|
+
this.tableData = this.$baseLodash.cloneDeep(this.rows || []);
|
174
|
+
let that = this;
|
175
|
+
let tableOption = {
|
176
|
+
vue: that,
|
177
|
+
tableRef: 'table-m1',
|
178
|
+
tableName: 'setCandidateDialog2_dialog-m1',
|
179
|
+
// path: this.current_prefix + '/wf/getAllNodes',
|
180
|
+
/* param: () => {
|
181
|
+
return {
|
182
|
+
stringOne: this.wfInfo.uuid
|
183
|
+
}
|
184
|
+
}, */
|
185
|
+
config: {
|
186
|
+
/*checkboxConfig: {
|
187
|
+
checkStrictly: true,
|
188
|
+
showHeader: this.selectMulti,
|
189
|
+
},*/
|
190
|
+
/* proxyConfig: {
|
191
|
+
props: {
|
192
|
+
result: "objx", // 配置响应结果列表字段
|
193
|
+
total: "objx.length", // 配置响应结果总页数字段
|
194
|
+
},
|
195
|
+
}, */
|
196
|
+
},
|
197
|
+
columns: [
|
198
|
+
{type: 'checkbox', width: 50, resizable: false, fixed: 'left'},
|
199
|
+
{title: this.$t2('节点名称', 'components.wf.nodeName'), field: 'nodeName', width: 250, fixed: 'left'},
|
200
|
+
{
|
201
|
+
field: 'wfTaskCandidates',
|
202
|
+
title: this.$t2('候选人', 'components.wf.candidate'),
|
203
|
+
width: 450,
|
204
|
+
slots: {
|
205
|
+
default: 'wfTaskCandidates'
|
206
|
+
}
|
207
|
+
},
|
208
|
+
{
|
209
|
+
width: 150,
|
210
|
+
fixed: 'right',
|
211
|
+
title: '',
|
212
|
+
sortable: false,
|
213
|
+
slots: {
|
214
|
+
default: 'operate'
|
215
|
+
}
|
216
|
+
}
|
217
|
+
]
|
218
|
+
};
|
219
|
+
this.$vxeTableUtil.initVxeTable(tableOption).then(opts => {
|
220
|
+
that.vxeOption = opts;
|
221
|
+
});
|
222
|
+
},
|
223
|
+
getUsernames(row) {
|
224
|
+
return row.wfTaskCandidateDTOs.map(item => item.name).join(",")
|
225
|
+
},
|
226
|
+
checkWfTaskUserRange(row, rowIndex, callback){
|
227
|
+
//是否使用用户范围
|
228
|
+
/* if(!this.wfUserRangeEnabled){
|
229
|
+
//不使用用户范围
|
230
|
+
callback();
|
231
|
+
return
|
232
|
+
} */
|
233
|
+
this.$http({
|
234
|
+
url: this.current_prefix + '/wf_task_user_range/list',
|
235
|
+
method: `post`,
|
236
|
+
data: {
|
237
|
+
modelId: this.modelId,
|
238
|
+
taskDefinitionKey: row.nodeId
|
239
|
+
},
|
240
|
+
isLoading: true,
|
241
|
+
success: res => {
|
242
|
+
let rows = res.objx || [];
|
243
|
+
if(!rows.length){
|
244
|
+
//不使用用户范围
|
245
|
+
callback();
|
246
|
+
}else{
|
247
|
+
//使用用户范围
|
248
|
+
this.openShowWfTaskUserRangeDialog(row, rowIndex,rows)
|
249
|
+
}
|
250
|
+
}
|
251
|
+
});
|
252
|
+
},
|
253
|
+
|
254
|
+
openUserDialig(row, rowIndex) {
|
255
|
+
//是否使用用户范围
|
256
|
+
this.checkWfTaskUserRange(row, rowIndex, ()=>{
|
257
|
+
//不使用用户范围
|
258
|
+
this.userRows = row.wfTaskCandidateDTOs.map(item => {
|
259
|
+
return {
|
260
|
+
id: item.id,
|
261
|
+
nickName: item.name
|
262
|
+
}
|
263
|
+
});
|
264
|
+
this.operateIndex = rowIndex;
|
265
|
+
this.showUserDialog = true;
|
266
|
+
})
|
267
|
+
},
|
268
|
+
userConfirm(rows) {
|
269
|
+
let $grid = this.$refs["table-m1"];
|
270
|
+
let item = $grid.getTableData().fullData[this.operateIndex];
|
271
|
+
let wfTaskCandidateDTOs = item.wfTaskCandidateDTOs;
|
272
|
+
let item1s = [];
|
273
|
+
let item2s = []
|
274
|
+
rows.forEach(row => {
|
275
|
+
let userId = row.id + "";
|
276
|
+
let wfTaskCandidateDTO = wfTaskCandidateDTOs.find(item => item.id == userId)
|
277
|
+
if (wfTaskCandidateDTO) {
|
278
|
+
if (!wfTaskCandidateDTO.userFlag) wfTaskCandidateDTO.userFlag = 6
|
279
|
+
item1s.push({...wfTaskCandidateDTO});
|
280
|
+
} else {
|
281
|
+
item2s.push({
|
282
|
+
id: userId,
|
283
|
+
name: row.nickName,
|
284
|
+
userFlag: 6
|
285
|
+
})
|
286
|
+
}
|
287
|
+
})
|
288
|
+
item.wfTaskCandidateDTOs = item1s.concat(item2s)
|
289
|
+
|
290
|
+
// this.saveItem(item);
|
291
|
+
},
|
292
|
+
saveItem(row) {
|
293
|
+
this.$http({
|
294
|
+
url: this.current_prefix + '/wf/setTaskUser',
|
295
|
+
method: `post`,
|
296
|
+
data: row,
|
297
|
+
isLoading: true,
|
298
|
+
success: res => {
|
299
|
+
this.$message({
|
300
|
+
message: res.content,
|
301
|
+
type: 'success',
|
302
|
+
duration: 500,
|
303
|
+
onClose: t => {
|
304
|
+
this.searchEvent();
|
305
|
+
}
|
306
|
+
});
|
307
|
+
}
|
308
|
+
});
|
309
|
+
},
|
310
|
+
confirmDialog(){
|
311
|
+
this.$emit("confirm",this.tableData)
|
312
|
+
this.closeWin()
|
313
|
+
},
|
314
|
+
closeWin() {
|
315
|
+
this.dialogClose();
|
316
|
+
this.$emit('close')
|
317
|
+
}
|
318
|
+
}
|
319
|
+
};
|
320
|
+
</script>
|