cloud-web-corejs 1.0.54-dev.47 → 1.0.54-dev.48
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/list2.vue +23 -33
- 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/wf_list.vue +127 -0
- 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>
|
@@ -0,0 +1,127 @@
|
|
1
|
+
<template>
|
2
|
+
<div id="containt">
|
3
|
+
<x-tabs ref="xTabs" v-model="activeName" class="tab-box" paneKeyName="formCode">
|
4
|
+
<el-tab-pane :label="$t1('常规')" name="first">
|
5
|
+
<editView v-if="showEdit" visible-key="showEdit" :_dataId.sync="dataId" :currentFormType="currentFormType"
|
6
|
+
:parent-target="_self" @reload="$reloadHandle"
|
7
|
+
@openDesignDialog="openDesingerDialogByChild" :readonly="true"></editView>
|
8
|
+
</el-tab-pane>
|
9
|
+
<el-tab-pane :label="$t1('列表')" name="second">
|
10
|
+
<div class="grid-height">
|
11
|
+
<vxe-grid
|
12
|
+
ref="table-m1"
|
13
|
+
v-bind="vxeOption"
|
14
|
+
@resizable-change="$vxeTableUtil.onColumnWitchChange"
|
15
|
+
@custom="$vxeTableUtil.customHandle"
|
16
|
+
>
|
17
|
+
<template #form>
|
18
|
+
<tableForm :formData.sync="formData" @searchEvent="searchEvent" @resetEvent="resetEvent">
|
19
|
+
<template #buttonLeft>
|
20
|
+
<vxe-button icon="el-icon-brush" class="button-sty" @click="openBatchWfObjConfigDialog" type="text" status="primary"
|
21
|
+
plain>{{ $t1('批量设置企业流程对象') }}
|
22
|
+
</vxe-button>
|
23
|
+
</template>
|
24
|
+
<template #buttonRight>
|
25
|
+
<vxe-button icon="el-icon-brush" class="button-sty" @click="resetEvent" type="text" status="primary"
|
26
|
+
plain>{{ $t1('重置') }}
|
27
|
+
</vxe-button>
|
28
|
+
<vxe-button status="warning" icon="el-icon-search" class="button-sty" @click="searchEvent">
|
29
|
+
{{ $t1('搜索') }}
|
30
|
+
</vxe-button>
|
31
|
+
</template>
|
32
|
+
<template #menuKindName>
|
33
|
+
<vxe-form-item :title="$t1('表单分类') + ':'" field="menuKindName">
|
34
|
+
<template v-slot>
|
35
|
+
<el-input
|
36
|
+
class="search-input"
|
37
|
+
max="200"
|
38
|
+
v-model="formData.menuKindName"
|
39
|
+
@clear="
|
40
|
+
formData.menuKindName = null;
|
41
|
+
formData.menuKindCode = null;
|
42
|
+
"
|
43
|
+
v-el-readonly
|
44
|
+
clearable
|
45
|
+
>
|
46
|
+
<i slot="suffix" class="el-input__icon el-icon-search" @click="showMenuKindDialog=true"></i>
|
47
|
+
</el-input>
|
48
|
+
</template>
|
49
|
+
</vxe-form-item>
|
50
|
+
</template>
|
51
|
+
</tableForm>
|
52
|
+
</template>
|
53
|
+
<template #tag="{row}">
|
54
|
+
<projectTagView v-model="row.formTemplateTagDTOs" :readonly="true"></projectTagView>
|
55
|
+
</template>
|
56
|
+
</vxe-grid>
|
57
|
+
<el-drawer :title="$t1('流程模板')" :visible.sync="showItemView" :modal="false" :wrapperClosable="false"
|
58
|
+
:destroy-on-close="true" size="90%" direction="btt">
|
59
|
+
<itemList v-if="showItemView" :formTemplate="currentRow"
|
60
|
+
@openWfDesignDialog="openWfDesignDialog"></itemList>
|
61
|
+
</el-drawer>
|
62
|
+
</div>
|
63
|
+
</el-tab-pane>
|
64
|
+
<template #editTab="{tab,index,reloadTabContent}">
|
65
|
+
<el-tab-pane :key="tab.data.id" :label.sync="tab.data.formName" :name="tab.data.formCode"
|
66
|
+
:closable="true">
|
67
|
+
<editView v-if="tab.showContent" :_dataId="tab.dataId" :currentFormType="currentFormType"
|
68
|
+
:parent-target="_self"
|
69
|
+
@reload="reloadTabContent" @openDesignDialog="openDesingerDialogByChild"
|
70
|
+
:readonly="true"></editView>
|
71
|
+
</el-tab-pane>
|
72
|
+
</template>
|
73
|
+
</x-tabs>
|
74
|
+
<el-drawer :title="$t1('表单设计({formName})',{formName})" :visible.sync="showDesingerDialog" :modal="false"
|
75
|
+
:destroy-on-close="true"
|
76
|
+
size="100%" direction="rtl" :before-close="closeFormDesignwinEvent" :append-to-body="false"
|
77
|
+
class="designer-drawer" :class="[isFullscreen ? 'is-fullscreen' : '']" @close="handleFormDesignClose">
|
78
|
+
<el-tabs v-model="formDesTabs" type="card" class="tab-boxOnly" :stretch="true">
|
79
|
+
<el-tab-pane :label="$t1('设计器')" name="first">
|
80
|
+
<designer ref="designer" :formCode.sync="formCode" @reflushTemplateList="reflushTemplateList"></designer>
|
81
|
+
</el-tab-pane>
|
82
|
+
<el-tab-pane :label="$t1('后端脚本')" name="second">
|
83
|
+
<formScriptList :formCode="formCode" :formTemplate="currentFormTemplate"
|
84
|
+
v-if="showFormScriptList"></formScriptList>
|
85
|
+
</el-tab-pane>
|
86
|
+
</el-tabs>
|
87
|
+
<el-button class="isFullIcon" v-if="!isFullscreen" @click="handleFullscreen">
|
88
|
+
<el-tooltip effect="dark" :content="$t1('全屏')" placement="top">
|
89
|
+
<i class="iconfont icon-quanping"></i>
|
90
|
+
</el-tooltip>
|
91
|
+
|
92
|
+
</el-button>
|
93
|
+
<el-button class="isFullIcon" v-else @click="handleFullscreen">
|
94
|
+
<el-tooltip effect="dark" :content="$t1('缩小')" placement="top">
|
95
|
+
<i class="iconfont icon-suoxiao"></i>
|
96
|
+
</el-tooltip>
|
97
|
+
</el-button>
|
98
|
+
</el-drawer>
|
99
|
+
<wfObjConfigDialog v-if="showWfObjConfigDialog" :visiable.sync="showWfObjConfigDialog"
|
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
|
+
/>
|
107
|
+
|
108
|
+
<batchWfObjConfigDialog v-if="showBatchWfObjConfigDialog" :visiable.sync="showBatchWfObjConfigDialog"
|
109
|
+
:formTemplates="formTemplates" @confirm="confirmBatchWfObjConfigDialog"></batchWfObjConfigDialog>
|
110
|
+
</div>
|
111
|
+
</template>
|
112
|
+
|
113
|
+
<script>
|
114
|
+
import mixin from "./mixins/list2";
|
115
|
+
import wfObjConfigDialog from "./wfObjConfigDialog.vue";
|
116
|
+
import MenuKindDialog from "@/views/bd/setting/menu_kind/dialog.vue";
|
117
|
+
import batchWfObjConfigDialog from "./batchWfObjConfigDialog.vue";
|
118
|
+
|
119
|
+
export default {
|
120
|
+
name: 'form_template:wf_list',
|
121
|
+
components: {MenuKindDialog, wfObjConfigDialog,batchWfObjConfigDialog},
|
122
|
+
mixins: [mixin]
|
123
|
+
}
|
124
|
+
</script>
|
125
|
+
<style scoped lang="scss">
|
126
|
+
|
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'},
|