cloud-web-corejs 1.0.113 → 1.0.115
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/wf/content.vue +106 -27
- package/src/components/wf/wf.js +1 -3
- package/src/components/xform/form-designer/designer.js +3 -2
- package/src/components/xform/form-designer/form-widget/container-widget/detail-widget.vue +3 -3
- package/src/components/xform/form-designer/form-widget/field-widget/copy_button-widget.vue +89 -0
- package/src/components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/search_button-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/select-export-button-widget.vue +86 -0
- package/src/components/xform/form-designer/form-widget/field-widget/tableexportbuttonwidget.vue +99 -0
- package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +323 -202
- package/src/components/xform/form-designer/setting-panel/property-editor/copyButton-editor.vue +36 -0
- package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/select-export-button-editor.vue +56 -0
- package/src/components/xform/form-designer/setting-panel/propertyRegister.js +3 -1
- package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +778 -666
- package/src/components/xform/form-render/container-item/data-table-mixin.js +1 -1
- package/src/components/xform/form-render/indexMixin.js +1 -1
- package/src/components/xform/lang/zh-CN.js +2 -0
- package/src/store/modules/tagsView.js +1 -14
- package/src/utils/vab.js +3 -3
- package/src/views/user/form/vform/out_render.vue +1 -1
- package/src/views/user/form/vform/render.vue +8 -4
- package/src/views/user/form/view/edit.vue +38 -37
- package/src/views/user/form/view/list.vue +27 -7
- package/src/views/user/wf/wf_auto_submit_data/list.vue +2 -0
- package/src/views/user/wf/wf_obj_config/itemEdit.vue +25 -1
- package/src/views/user/wf/wf_obj_config/list.vue +19 -1
@@ -5,7 +5,7 @@
|
|
5
5
|
:reportTemplate.sync="formTemplate" :conditionParam.sync="conditionParam"
|
6
6
|
:formInsData.sync="formInsData"
|
7
7
|
v-if="showRender" visible-key="showRender" :parent-target="_self" @reload="$baseReload()"
|
8
|
-
:dataId.sync="dataId" :param="param"/>
|
8
|
+
:dataId.sync="dataId" :param="param" @openCopyEditTab="openCopyEditTab"/>
|
9
9
|
</div>
|
10
10
|
</div>
|
11
11
|
|
@@ -72,9 +72,9 @@ export default {
|
|
72
72
|
url: url,
|
73
73
|
method: `post`,
|
74
74
|
data: data,
|
75
|
-
isLoading: true,
|
76
|
-
loadingTarget: document.body,
|
77
|
-
modalStrictly: true,
|
75
|
+
// isLoading: true,
|
76
|
+
// loadingTarget: document.body,
|
77
|
+
// modalStrictly: true,
|
78
78
|
success: async res => {
|
79
79
|
let formTemplate = res.objx || {};
|
80
80
|
this.formTemplate = formTemplate;
|
@@ -112,6 +112,7 @@ export default {
|
|
112
112
|
}
|
113
113
|
n.call(this, dataId, this.formCode, toDo);
|
114
114
|
} else {
|
115
|
+
this.formData = this.$attrs.formData ?? {};
|
115
116
|
this.showRender = true;
|
116
117
|
}
|
117
118
|
},
|
@@ -135,6 +136,9 @@ export default {
|
|
135
136
|
}
|
136
137
|
})
|
137
138
|
}
|
139
|
+
},
|
140
|
+
openCopyEditTab(formData){
|
141
|
+
this.$emit("openCopyEditTab",formData)
|
138
142
|
}
|
139
143
|
}
|
140
144
|
};
|
@@ -1,37 +1,38 @@
|
|
1
|
-
<template>
|
2
|
-
<vFormRender :formCode="formCode" :dataId.sync="dataId"
|
3
|
-
v-if="showEdit" visible-key="showEdit" :parent-target="_self"
|
4
|
-
@reload="$reloadHandle"></vFormRender>
|
5
|
-
</template>
|
6
|
-
<script>
|
7
|
-
|
8
|
-
import vFormRender from "../../../../views/user/form/vform/render.vue";
|
9
|
-
|
10
|
-
export default {
|
11
|
-
components: {vFormRender},
|
12
|
-
data() {
|
13
|
-
return {
|
14
|
-
formCode: null,
|
15
|
-
dataId: null,
|
16
|
-
showEdit: false,
|
17
|
-
}
|
18
|
-
},
|
19
|
-
created() {
|
20
|
-
this.init()
|
21
|
-
},
|
22
|
-
methods: {
|
23
|
-
init() {
|
24
|
-
let formCode = this.$route.query.formCode || this.$attrs.formCode;
|
25
|
-
let dataId = this.$route.query.dataId || this.$attrs.dataId;
|
26
|
-
|
27
|
-
|
28
|
-
this.
|
29
|
-
this.
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
}
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
1
|
+
<template>
|
2
|
+
<vFormRender :formCode="formCode" :dataId.sync="dataId"
|
3
|
+
v-if="showEdit" visible-key="showEdit" :parent-target="_self"
|
4
|
+
@reload="$reloadHandle"></vFormRender>
|
5
|
+
</template>
|
6
|
+
<script>
|
7
|
+
|
8
|
+
import vFormRender from "../../../../views/user/form/vform/render.vue";
|
9
|
+
|
10
|
+
export default {
|
11
|
+
components: {vFormRender},
|
12
|
+
data() {
|
13
|
+
return {
|
14
|
+
formCode: null,
|
15
|
+
dataId: null,
|
16
|
+
showEdit: false,
|
17
|
+
}
|
18
|
+
},
|
19
|
+
created() {
|
20
|
+
this.init()
|
21
|
+
},
|
22
|
+
methods: {
|
23
|
+
init() {
|
24
|
+
let formCode = this.$route.query.formCode || this.$attrs.formCode;
|
25
|
+
let dataId = this.$route.query.dataId || this.$attrs.dataId || this.$attrs._dataId;
|
26
|
+
|
27
|
+
if (dataId && formCode) {
|
28
|
+
this.formCode = formCode;
|
29
|
+
this.dataId = Number(dataId);
|
30
|
+
this.showEdit = true;
|
31
|
+
}
|
32
|
+
}
|
33
|
+
}
|
34
|
+
}
|
35
|
+
</script>
|
36
|
+
<style scoped>
|
37
|
+
|
38
|
+
</style>
|
@@ -3,9 +3,9 @@
|
|
3
3
|
<template v-if="layoutType=='PC'">
|
4
4
|
<x-tabs ref="xTabs" v-model="activeName" class="tab-box">
|
5
5
|
<el-tab-pane :label="$t2('常规')" name="first">
|
6
|
-
<vFormRender :formCode="formCode2" :dataId.sync="dataId" :param="param"
|
6
|
+
<vFormRender :formCode="formCode2" :dataId.sync="dataId" :param="param" :formData="formData"
|
7
7
|
v-if="showEdit" visible-key="showEdit" :parent-target="_self"
|
8
|
-
@reload="
|
8
|
+
@reload="reload" @openCopyEditTab="openCopyEditTab"></vFormRender>
|
9
9
|
</el-tab-pane>
|
10
10
|
<el-tab-pane :label="$t2('列表')" name="second">
|
11
11
|
<div class="grid-height">
|
@@ -19,7 +19,7 @@
|
|
19
19
|
:closable="true">
|
20
20
|
<vFormRender :formCode="formCode2" :dataId.sync="tab.dataId" :param="tab.param"
|
21
21
|
v-if="tab.showContent" :parent-target="_self"
|
22
|
-
@reload="reloadTabContent"></vFormRender>
|
22
|
+
@reload="(...args)=>{formData = {};reloadTabContent(...args)}" @openCopyEditTab="openCopyEditTab"></vFormRender>
|
23
23
|
</el-tab-pane>
|
24
24
|
</template>
|
25
25
|
</x-tabs>
|
@@ -78,7 +78,8 @@ export default {
|
|
78
78
|
dataId: null,
|
79
79
|
showEditDialog: false,
|
80
80
|
param: {},
|
81
|
-
multiTabLabelField:null
|
81
|
+
multiTabLabelField:null,
|
82
|
+
formData:null
|
82
83
|
};
|
83
84
|
},
|
84
85
|
created() {
|
@@ -99,9 +100,9 @@ export default {
|
|
99
100
|
url: USER_PREFIX + `/formTemplate/getByFormCode`,
|
100
101
|
method: `post`,
|
101
102
|
data: {stringOne: this.formCode},
|
102
|
-
isLoading: true,
|
103
|
-
loadingTarget: document.body,
|
104
|
-
modalStrictly: true,
|
103
|
+
// isLoading: true,
|
104
|
+
// loadingTarget: document.body,
|
105
|
+
// modalStrictly: true,
|
105
106
|
success: async res => {
|
106
107
|
let formTemplate = res.objx || {};
|
107
108
|
this.formTemplate = formTemplate;
|
@@ -129,6 +130,7 @@ export default {
|
|
129
130
|
this.showEdit = false;
|
130
131
|
this.showEditDialog = true;
|
131
132
|
this.param = param
|
133
|
+
this.formData = null;
|
132
134
|
this.$openEditView('showEdit');
|
133
135
|
}
|
134
136
|
|
@@ -142,6 +144,24 @@ export default {
|
|
142
144
|
this.$openEditView('showEdit');
|
143
145
|
});
|
144
146
|
},
|
147
|
+
|
148
|
+
openCopyEditTab(formData) {
|
149
|
+
this.dataId = null
|
150
|
+
this.activeName = 'first';
|
151
|
+
this.showEdit = false;
|
152
|
+
this.showEditDialog = true;
|
153
|
+
// this.param = param
|
154
|
+
this.formData = formData;
|
155
|
+
this.$openEditView('showEdit');
|
156
|
+
},
|
157
|
+
reload(...args){
|
158
|
+
this.formData = {};
|
159
|
+
this.$reloadHandle(...args)
|
160
|
+
},
|
161
|
+
reload2(){
|
162
|
+
this.formData = {};
|
163
|
+
this.$reloadHandle(...arguments)
|
164
|
+
}
|
145
165
|
}
|
146
166
|
};
|
147
167
|
</script>
|
@@ -100,6 +100,7 @@
|
|
100
100
|
size="small"
|
101
101
|
clearable
|
102
102
|
value-format="yyyy-MM-dd HH:mm:ss"
|
103
|
+
default-time="23:59:59"
|
103
104
|
:picker-options="$baseEndPickerOptions(formData.startToExeTime)"
|
104
105
|
></el-date-picker>
|
105
106
|
</template>
|
@@ -211,6 +212,7 @@
|
|
211
212
|
size="small"
|
212
213
|
clearable
|
213
214
|
value-format="yyyy-MM-dd HH:mm:ss"
|
215
|
+
default-time="23:59:59"
|
214
216
|
:picker-options="$baseEndPickerOptions(formData2.startToExeTime)"
|
215
217
|
></el-date-picker>
|
216
218
|
</template>
|
@@ -111,6 +111,27 @@
|
|
111
111
|
</el-radio-group>
|
112
112
|
</el-form-item>
|
113
113
|
</td>
|
114
|
+
<th>
|
115
|
+
{{ $t1('序号') }}
|
116
|
+
</th>
|
117
|
+
<td>
|
118
|
+
<el-form-item prop="orders" :rules="[{ required: false, trigger: 'blur' }]">
|
119
|
+
<base-input-number autocomplete="off" v-model="wfObjConfigItem.orders" clearable/>
|
120
|
+
</el-form-item>
|
121
|
+
</td>
|
122
|
+
</tr>
|
123
|
+
<tr>
|
124
|
+
<th>
|
125
|
+
{{ $t1('流程启动不允许更改候选人') }}
|
126
|
+
</th>
|
127
|
+
<td>
|
128
|
+
<el-form-item prop="startNoSetCandidate" :rules="[{ required: false, trigger: 'blur' }]">
|
129
|
+
<el-radio-group v-model="wfObjConfigItem.startNoSetCandidate">
|
130
|
+
<el-radio :label="true">{{ $t1('是') }}</el-radio>
|
131
|
+
<el-radio :label="false">{{ $t1('否') }}</el-radio>
|
132
|
+
</el-radio-group>
|
133
|
+
</el-form-item>
|
134
|
+
</td>
|
114
135
|
</tr>
|
115
136
|
<tr>
|
116
137
|
<th>
|
@@ -195,7 +216,9 @@ export default {
|
|
195
216
|
startMode: 3,
|
196
217
|
skipSameUserTask: false,
|
197
218
|
toNextNode: null,
|
198
|
-
enabled: true
|
219
|
+
enabled: true,
|
220
|
+
orders: undefined,
|
221
|
+
startNoSetCandidate: false
|
199
222
|
},
|
200
223
|
showWfObjConfigDialog: false,
|
201
224
|
configServiceId: null,
|
@@ -233,6 +256,7 @@ export default {
|
|
233
256
|
modalStrictly: true,
|
234
257
|
success: res => {
|
235
258
|
let wfObjConfigItem = res.objx || {};
|
259
|
+
if (wfObjConfigItem.orders === null) wfObjConfigItem.orders = undefined
|
236
260
|
if (wfObjConfigItem.toNextNode === 1) {
|
237
261
|
wfObjConfigItem.toRejectNode = null
|
238
262
|
}
|
@@ -390,6 +390,11 @@ export default {
|
|
390
390
|
width: 150,
|
391
391
|
fixed: 'left'
|
392
392
|
},
|
393
|
+
{
|
394
|
+
title: this.$t1('序号'),
|
395
|
+
field: 'orders',
|
396
|
+
width: 150
|
397
|
+
},
|
393
398
|
{
|
394
399
|
title: this.$t1('流程模版KEY'),
|
395
400
|
field: 'modelKey',
|
@@ -468,6 +473,20 @@ export default {
|
|
468
473
|
}
|
469
474
|
}
|
470
475
|
},
|
476
|
+
{
|
477
|
+
title: this.$t1('流程启动不允许更改候选人'),
|
478
|
+
field: 'startNoSetCandidate',
|
479
|
+
width: 150,
|
480
|
+
slots: {
|
481
|
+
default: ({row}) => {
|
482
|
+
if (row.startNoSetCandidate) {
|
483
|
+
return [<div class="txt-status">{this.$t1('是')}</div>];
|
484
|
+
} else {
|
485
|
+
return [<div class="txt-status s-3">{this.$t1('否')}</div>];
|
486
|
+
}
|
487
|
+
}
|
488
|
+
}
|
489
|
+
},
|
471
490
|
{
|
472
491
|
field: 'createDate',
|
473
492
|
title: this.$t1('创建时间'),
|
@@ -590,7 +609,6 @@ export default {
|
|
590
609
|
},
|
591
610
|
initWinUserDialog() {
|
592
611
|
window.openAssignUserDialog = opts => {
|
593
|
-
debugger
|
594
612
|
this.wfAssignMulti = opts.multi;
|
595
613
|
this.wfAssignData = opts.data || [];
|
596
614
|
this.wfAssignCallback = opts.callback;
|