cloud-web-corejs 1.0.54-dev.47 → 1.0.54-dev.49
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/fileLibrary/mixins/fileObjAuthDialogMixin.js +0 -2
- package/src/components/xform/form-designer/indexMixin.js +771 -1
- package/src/components/xform/form-designer/setting-panel/form-setting.vue +6 -3
- package/src/mixins/selectDialog/index.js +1 -1
- package/src/store/config/index.js +1 -532
- package/src/views/bd/setting/form_template/batchWfObjConfigDialog.vue +105 -0
- package/src/views/bd/setting/form_template/mixins/batchWfObjConfigDialog.js +281 -0
- package/src/views/bd/setting/form_template/mixins/list2.js +425 -1
- package/src/views/bd/setting/form_template/wfObjConfigDialog.vue +140 -73
- package/src/views/bd/setting/form_template/{list2.vue → wf_list.vue} +24 -34
- package/src/views/user/company_info/dialog.vue +17 -8
@@ -1,85 +1,84 @@
|
|
1
1
|
<template>
|
2
2
|
<el-dialog
|
3
|
-
|
4
|
-
:
|
3
|
+
:title="'设置企业流程对象('+formTemplate.formName+')'"
|
4
|
+
:append-to-body="true"
|
5
|
+
:modal-append-to-body="true"
|
6
|
+
:close-on-click-modal="false"
|
5
7
|
:visible.sync="dialogVisible"
|
6
|
-
:show-close="!0"
|
7
|
-
:append-to-body="false"
|
8
8
|
:modal="false"
|
9
|
-
|
10
|
-
|
11
|
-
:destroy-on-close="!0"
|
12
|
-
width="1220px"
|
13
|
-
top="5vh"
|
14
|
-
v-dialog-drag
|
9
|
+
custom-class="dialog-style list-dialog dialog-checkbox pd_0"
|
10
|
+
width="1200px"
|
15
11
|
@close="closeDialog"
|
12
|
+
v-el-drag-dialog
|
13
|
+
v-el-dialog-center
|
16
14
|
>
|
17
15
|
<div class="cont">
|
18
|
-
<
|
19
|
-
<el-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
<
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
</el-table>
|
63
|
-
</el-form>
|
64
|
-
</div>
|
65
|
-
<div class="dialog-footer" slot="footer">
|
66
|
-
<el-button @click="closeDialog" class="button-sty" icon="el-icon-close">
|
67
|
-
{{ i18nt('designer.hint.cancel') }}
|
68
|
-
</el-button>
|
69
|
-
<el-button type="primary" @click="saveData" class="button-sty" icon="el-icon-check">
|
70
|
-
{{ i18nt('designer.hint.confirm') }}
|
71
|
-
</el-button>
|
16
|
+
<div id="containt">
|
17
|
+
<el-form ref="editForm" :model="formData">
|
18
|
+
<div class="grid-height" style="height: 500px">
|
19
|
+
<vxe-grid
|
20
|
+
class="is-pointer"
|
21
|
+
ref="table-m1"
|
22
|
+
:data="formData.wfObjConfigDTOs"
|
23
|
+
v-bind="vxeOption"
|
24
|
+
@resizable-change="$vxeTableUtil.onColumnWitchChange"
|
25
|
+
@custom="$vxeTableUtil.customHandle"
|
26
|
+
>
|
27
|
+
<template #form>
|
28
|
+
<div class="clearfix screen-btns">
|
29
|
+
<div class="fl">
|
30
|
+
<vxe-button status="primary" class="button-sty" icon="el-icon-plus"
|
31
|
+
@click="openCompanyDialog">
|
32
|
+
新增
|
33
|
+
</vxe-button>
|
34
|
+
<span class="button-sty tips">{{ $t1('选择表单所在的企业,填写企业对应的流程对象数据。') }}</span>
|
35
|
+
</div>
|
36
|
+
</div>
|
37
|
+
</template>
|
38
|
+
<template #objTypeName="{row,rowIndex}">
|
39
|
+
<el-form-item :prop="'wfObjConfigDTOs.'+rowIndex+'.objTypeName'"
|
40
|
+
:rules="[{ required: true, trigger: 'blur' }]">
|
41
|
+
<el-input v-model="row.objTypeName" clearable></el-input>
|
42
|
+
</el-form-item>
|
43
|
+
</template>
|
44
|
+
<template #operate="{row}">
|
45
|
+
<a
|
46
|
+
href="javascript:void(0);"
|
47
|
+
class="a-link"
|
48
|
+
@click="openEditDialog(row.id)"
|
49
|
+
>
|
50
|
+
<el-tooltip :enterable="false" effect="dark" :content="$t2('查看','common.view')" placement="top"
|
51
|
+
popper-class="tooltip-skin">
|
52
|
+
<i class="el-icon-edit"/>
|
53
|
+
</el-tooltip>
|
54
|
+
</a>
|
55
|
+
</template>
|
56
|
+
</vxe-grid>
|
57
|
+
</div>
|
58
|
+
</el-form>
|
59
|
+
</div>
|
72
60
|
</div>
|
61
|
+
<span slot="footer" class="dialog-footer">
|
62
|
+
<el-button type="primary" plain class="button-sty" @click="closeDialog">
|
63
|
+
<i class="el-icon-close el-icon"></i>
|
64
|
+
取 消
|
65
|
+
</el-button>
|
66
|
+
<el-button type="primary" @click="saveData" class="button-sty">
|
67
|
+
<i class="el-icon-check el-icon"></i>
|
68
|
+
确 定
|
69
|
+
</el-button>
|
70
|
+
</span>
|
73
71
|
<companyInfoDialog v-if="showCompanyInfoDialog" :visiable.sync="showCompanyInfoDialog"
|
74
|
-
@confirm="confirmCompanyDialog" multi="
|
72
|
+
@confirm="confirmCompanyDialog" :multi="true" :allCompany="true"/>
|
75
73
|
</el-dialog>
|
76
74
|
</template>
|
77
75
|
<script>
|
78
76
|
import i18n from '../../../../components/xform/utils/i18n';
|
79
77
|
import companyInfoDialog from "@base/views/user/company_info/dialog.vue";
|
78
|
+
import fileObjNotifyEdit from "@/components/fileLibrary/fileObjNotifyEdit.vue";
|
80
79
|
|
81
80
|
export default {
|
82
|
-
components: {companyInfoDialog},
|
81
|
+
components: {fileObjNotifyEdit, companyInfoDialog},
|
83
82
|
props: ['formTemplate'],
|
84
83
|
mixins: [i18n],
|
85
84
|
data() {
|
@@ -90,7 +89,8 @@ export default {
|
|
90
89
|
wfObjConfigDTOs: []
|
91
90
|
},
|
92
91
|
operateIndex: 0,
|
93
|
-
showCompanyInfoDialog: false
|
92
|
+
showCompanyInfoDialog: false,
|
93
|
+
vxeOption: {}
|
94
94
|
}
|
95
95
|
},
|
96
96
|
created() {
|
@@ -99,6 +99,7 @@ export default {
|
|
99
99
|
mounted() {
|
100
100
|
this.formData.objTypeCode = this.formTemplate.objTypeCode;
|
101
101
|
this.getListByObjTypeCode();
|
102
|
+
this.initTableList()
|
102
103
|
},
|
103
104
|
methods: {
|
104
105
|
getListByObjTypeCode(callback) {
|
@@ -166,19 +167,85 @@ export default {
|
|
166
167
|
if (rows.length) {
|
167
168
|
let row = rows[0];
|
168
169
|
let formTemplate = this.formTemplate;
|
169
|
-
|
170
|
-
|
170
|
+
let companyCodes = this.formData.wfObjConfigDTOs.map(item => item.companyCode)
|
171
|
+
let items = rows.filter(item => !companyCodes.includes(item.companyCode)).map(item => {
|
172
|
+
return {
|
171
173
|
objTypeCode: formTemplate.objTypeCode,
|
172
|
-
objTypeName: formTemplate.
|
174
|
+
objTypeName: formTemplate.objTypeName,
|
173
175
|
serviceId: formTemplate.serviceName,
|
174
176
|
url: "form",
|
175
177
|
companyCode: row.companyCode,
|
176
178
|
companyName: row.companyName
|
177
179
|
}
|
178
|
-
|
179
|
-
|
180
|
+
})
|
181
|
+
this.formData.wfObjConfigDTOs.push(...items);
|
180
182
|
}
|
181
|
-
}
|
183
|
+
},
|
184
|
+
initTableList() {
|
185
|
+
let that = this;
|
186
|
+
let tableOption = {
|
187
|
+
vue: this,
|
188
|
+
tableRef: 'table-m1',
|
189
|
+
tableName: 'user_form_template-wfObj-list-m1',
|
190
|
+
config: {
|
191
|
+
height: "auto"
|
192
|
+
},
|
193
|
+
columns: [
|
194
|
+
{type: 'checkbox', width: 48, resizable: false, fixed: 'left'},
|
195
|
+
{
|
196
|
+
title: this.$t1('表单类型名称'),
|
197
|
+
field: 'objTypeName',
|
198
|
+
width: 250,
|
199
|
+
slots: {
|
200
|
+
default: "objTypeName"
|
201
|
+
}
|
202
|
+
},
|
203
|
+
{
|
204
|
+
title: this.$t1('组织名称'),
|
205
|
+
field: 'companyName',
|
206
|
+
width: 200,
|
207
|
+
},
|
208
|
+
{
|
209
|
+
title: this.$t1('表单类型编码'),
|
210
|
+
field: 'objTypeCode',
|
211
|
+
width: 200
|
212
|
+
},
|
213
|
+
{
|
214
|
+
title: this.$t1('服务名'),
|
215
|
+
field: 'serviceId',
|
216
|
+
width: 150
|
217
|
+
},
|
218
|
+
{
|
219
|
+
width: 100,
|
220
|
+
fixed: 'right',
|
221
|
+
title: '',
|
222
|
+
sortable: false,
|
223
|
+
slots: {
|
224
|
+
default: ({row, rowIndex, $table}) => {
|
225
|
+
return [
|
226
|
+
<a
|
227
|
+
href="javascript:void(0);"
|
228
|
+
class="a-link"
|
229
|
+
onClick={() => {
|
230
|
+
this.formData.wfObjConfigDTOs.splice(rowIndex, 1)
|
231
|
+
}}
|
232
|
+
>
|
233
|
+
<el-tooltip enterable={false} effect="dark" content="删除" placement="top"
|
234
|
+
popper-class="tooltip-skin">
|
235
|
+
<i class="el-icon-delete"/>
|
236
|
+
</el-tooltip>
|
237
|
+
</a>
|
238
|
+
];
|
239
|
+
}
|
240
|
+
}
|
241
|
+
}
|
242
|
+
]
|
243
|
+
};
|
244
|
+
this.$vxeTableUtil.initVxeTable(tableOption).then(opts => {
|
245
|
+
this.vxeOption = opts;
|
246
|
+
});
|
247
|
+
// this.initData();
|
248
|
+
},
|
182
249
|
}
|
183
250
|
}
|
184
251
|
</script>
|
@@ -17,7 +17,9 @@
|
|
17
17
|
<template #form>
|
18
18
|
<tableForm :formData.sync="formData" @searchEvent="searchEvent" @resetEvent="resetEvent">
|
19
19
|
<template #buttonLeft>
|
20
|
-
|
20
|
+
<vxe-button icon="el-icon-setting" class="button-sty" @click="openBatchWfObjConfigDialog" type="text" status="primary"
|
21
|
+
plain>{{ $t1('批量设置企业流程对象') }}
|
22
|
+
</vxe-button>
|
21
23
|
</template>
|
22
24
|
<template #buttonRight>
|
23
25
|
<vxe-button icon="el-icon-brush" class="button-sty" @click="resetEvent" type="text" status="primary"
|
@@ -27,20 +29,21 @@
|
|
27
29
|
{{ $t1('搜索') }}
|
28
30
|
</vxe-button>
|
29
31
|
</template>
|
30
|
-
<template #
|
31
|
-
<vxe-form-item :title="$t1('
|
32
|
+
<template #menuKindName>
|
33
|
+
<vxe-form-item :title="$t1('表单分类') + ':'" field="menuKindName">
|
32
34
|
<template v-slot>
|
33
35
|
<el-input
|
34
36
|
class="search-input"
|
35
37
|
max="200"
|
36
|
-
|
38
|
+
v-model="formData.menuKindName"
|
37
39
|
@clear="
|
38
|
-
|
39
|
-
|
40
|
+
formData.menuKindName = null;
|
41
|
+
formData.menuKindCode = null;
|
42
|
+
"
|
40
43
|
v-el-readonly
|
41
44
|
clearable
|
42
45
|
>
|
43
|
-
<i slot="suffix" class="el-input__icon el-icon-search" @click="
|
46
|
+
<i slot="suffix" class="el-input__icon el-icon-search" @click="showMenuKindDialog=true"></i>
|
44
47
|
</el-input>
|
45
48
|
</template>
|
46
49
|
</vxe-form-item>
|
@@ -63,7 +66,8 @@
|
|
63
66
|
:closable="true">
|
64
67
|
<editView v-if="tab.showContent" :_dataId="tab.dataId" :currentFormType="currentFormType"
|
65
68
|
:parent-target="_self"
|
66
|
-
@reload="reloadTabContent" @openDesignDialog="openDesingerDialogByChild"
|
69
|
+
@reload="reloadTabContent" @openDesignDialog="openDesingerDialogByChild"
|
70
|
+
:readonly="true"></editView>
|
67
71
|
</el-tab-pane>
|
68
72
|
</template>
|
69
73
|
</x-tabs>
|
@@ -94,44 +98,30 @@
|
|
94
98
|
</el-drawer>
|
95
99
|
<wfObjConfigDialog v-if="showWfObjConfigDialog" :visiable.sync="showWfObjConfigDialog"
|
96
100
|
@confirm="confirmWfObjConfigDialog" :formTemplate="formTemplate"/>
|
101
|
+
<MenuKindDialog v-if="showMenuKindDialog"
|
102
|
+
:visiable.sync="showMenuKindDialog"
|
103
|
+
@confirm="confirmInsertMenuKind"
|
104
|
+
:param="{ taType: 0 }"
|
105
|
+
:multi="false"
|
106
|
+
/>
|
97
107
|
|
108
|
+
<batchWfObjConfigDialog v-if="showBatchWfObjConfigDialog" :visiable.sync="showBatchWfObjConfigDialog"
|
109
|
+
:formTemplates="formTemplates" @confirm="confirmBatchWfObjConfigDialog"></batchWfObjConfigDialog>
|
98
110
|
</div>
|
99
111
|
</template>
|
100
112
|
|
101
113
|
<script>
|
102
114
|
import mixin from "./mixins/list2";
|
103
115
|
import wfObjConfigDialog from "./wfObjConfigDialog.vue";
|
116
|
+
import MenuKindDialog from "@/views/bd/setting/menu_kind/dialog.vue";
|
117
|
+
import batchWfObjConfigDialog from "./batchWfObjConfigDialog.vue";
|
104
118
|
|
105
119
|
export default {
|
106
|
-
name: '
|
107
|
-
components: {wfObjConfigDialog},
|
120
|
+
name: 'form_template:wf_list',
|
121
|
+
components: {MenuKindDialog, wfObjConfigDialog,batchWfObjConfigDialog},
|
108
122
|
mixins: [mixin]
|
109
123
|
}
|
110
124
|
</script>
|
111
125
|
<style scoped lang="scss">
|
112
|
-
::v-deep .tab-boxOnly > .el-tabs__header {
|
113
|
-
position: absolute;
|
114
|
-
right: 130px;
|
115
|
-
top: 0;
|
116
|
-
}
|
117
|
-
|
118
|
-
::v-deep .tab-boxOnly > .el-tabs__content .el-tab-pane .el-tab-pane {
|
119
|
-
.detail-wrap .d-cont {
|
120
|
-
height: calc(100vh - 158px) !important
|
121
|
-
}
|
122
126
|
|
123
|
-
.grid-height {
|
124
|
-
height: calc(100vh - 126px) !important
|
125
|
-
}
|
126
|
-
}
|
127
|
-
|
128
|
-
::v-deep .designer-drawer.is-fullscreen .tab-boxOnly > .el-tabs__content .el-tab-pane .el-tab-pane {
|
129
|
-
.detail-wrap .d-cont {
|
130
|
-
height: calc(100vh - 116px) !important
|
131
|
-
}
|
132
|
-
|
133
|
-
.grid-height {
|
134
|
-
height: calc(100vh - 84px) !important
|
135
|
-
}
|
136
|
-
}
|
137
127
|
</style>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<template>
|
2
2
|
<el-dialog
|
3
|
-
:title="$t1('组织列表')"
|
3
|
+
:title="title || $t1('组织列表')"
|
4
4
|
:append-to-body="true"
|
5
5
|
:modal-append-to-body="true"
|
6
6
|
:close-on-click-modal="falseValue"
|
@@ -8,6 +8,7 @@
|
|
8
8
|
:modal="falseValue"
|
9
9
|
custom-class="dialog-style list-dialog dialog-checkbox pd_0"
|
10
10
|
width="1200px"
|
11
|
+
:before-close="handleBeforeClose"
|
11
12
|
@close="dialogClose"
|
12
13
|
v-el-drag-dialog
|
13
14
|
v-el-dialog-center
|
@@ -64,7 +65,7 @@
|
|
64
65
|
</div>
|
65
66
|
<span slot="footer" class="dialog-footer">
|
66
67
|
<span class="fl tips" v-if="!selectMulti">{{ $t1('注:双击确认选择(单选)') }}</span>
|
67
|
-
<el-button type="primary" plain class="button-sty" @click="
|
68
|
+
<el-button type="primary" plain class="button-sty" @click="dialogCancel">
|
68
69
|
<i class="el-icon-close el-icon"></i>
|
69
70
|
{{ $t1('取 消') }}
|
70
71
|
</el-button>
|
@@ -81,7 +82,7 @@ import {selectDialogMixins} from '@base/mixins/selectDialog/index.js';
|
|
81
82
|
|
82
83
|
export default {
|
83
84
|
name: 'company_info_dialog',
|
84
|
-
props: ['visiable', 'multi', 'rows', 'param', 'firstEnabled'],
|
85
|
+
props: ['title', 'visiable', 'multi', 'rows', 'param', 'firstEnabled', 'allCompany'],
|
85
86
|
mixins: [selectDialogMixins],
|
86
87
|
created() {
|
87
88
|
this.initSetting();
|
@@ -90,7 +91,6 @@ export default {
|
|
90
91
|
this.initTableM1();
|
91
92
|
},
|
92
93
|
data() {
|
93
|
-
var that = this;
|
94
94
|
return {
|
95
95
|
showDialog: true,
|
96
96
|
falseValue: false,
|
@@ -102,17 +102,26 @@ export default {
|
|
102
102
|
methods: {
|
103
103
|
initTableM1() {
|
104
104
|
let that = this;
|
105
|
+
let path = USER_PREFIX + '/user_company_info/getCurrentList';
|
106
|
+
let treeNodeUrl = USER_PREFIX + '/user_company_info/getChildren';
|
107
|
+
if (this.allCompany) {
|
108
|
+
path = USER_PREFIX + '/company_info/getRoot';
|
109
|
+
treeNodeUrl = USER_PREFIX + '/company_info/getChildren';
|
110
|
+
}
|
105
111
|
let tableOption = {
|
106
112
|
vue: that,
|
107
113
|
tableRef: 'table-m1',
|
108
114
|
tableName: 'basic_ompany_info_dialog_list',
|
109
|
-
path:
|
110
|
-
treeNodeUrl:
|
115
|
+
path: path,
|
116
|
+
treeNodeUrl: treeNodeUrl,
|
111
117
|
treeNodeParam: function (row) {
|
112
|
-
return {parentCompanyCode: row.companyCode};
|
118
|
+
return {enabled: true, parentCompanyCode: row.companyCode};
|
113
119
|
},
|
114
120
|
param: () => {
|
115
|
-
return
|
121
|
+
return {
|
122
|
+
enabled: true,
|
123
|
+
...this.formData
|
124
|
+
}
|
116
125
|
},
|
117
126
|
columns: [
|
118
127
|
{type: 'checkbox', width: 48, resizable: false, fixed: 'left'},
|