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.
@@ -1,85 +1,84 @@
1
1
  <template>
2
2
  <el-dialog
3
- custom-class="dialog-style list-dialog"
4
- :title="'流程单据定义('+formTemplate.formName+')'"
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
- :close-on-click-modal="!1"
10
- :close-on-press-escape="!1"
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
- <el-form ref="editForm" :model="formData">
19
- <el-table
20
- ref="singleTable"
21
- width="100%"
22
- :data="formData.wfObjConfigDTOs"
23
- height="500"
24
- border=""
25
- row-key="columnId"
26
- stripe=""
27
- >
28
- <el-table-column type="index" width="35" fixed="left"></el-table-column>
29
- <el-table-column :label="i18nt('表单类型名称')" width="250" prop="objTypeName">
30
- <template slot-scope="scope">
31
- <el-form-item :prop="'wfObjConfigDTOs.'+scope.$index+'.objTypeName'"
32
- :rules="[{ required: true, trigger: 'blur' }]">
33
- <el-input v-model="scope.row.objTypeName" clearable></el-input>
34
- </el-form-item>
35
- </template>
36
- </el-table-column>
37
- <el-table-column :label="i18nt('组织名称')" width="150" prop="companyCode">
38
- <template slot-scope="scope">
39
- {{ scope.row.companyName }}
40
- </template>
41
- </el-table-column>
42
- <el-table-column :label="i18nt('表单类型编码')" width="200" prop="objTypeCode"></el-table-column>
43
- <el-table-column :label="i18nt('服务名')" width="150" prop="serviceId"></el-table-column>
44
- <el-table-column :label="i18nt('designer.setting.actionColumn')" width="100" align="center">
45
- <template #header>
46
- <span>{{ i18nt('designer.setting.actionColumn') }}</span>
47
- <el-button :title="i18nt('designer.setting.addTableColumn')" size="mini" type="" circle=""
48
- icon="el-icon-plus" @click="openCompanyDialog"></el-button>
49
- </template>
50
- <template slot-scope="scope">
51
- <el-button
52
- :title="i18nt('designer.setting.deleteTableColumn')"
53
- size="mini"
54
- type=""
55
- circle=""
56
- icon="el-icon-minus"
57
- @click="formData.wfObjConfigDTOs.splice(scope.$index,1)"
58
- ></el-button>
59
- </template>
60
- </el-table-column>
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="false"/>
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
- if (!this.formData.wfObjConfigDTOs.find(item => item.companyCode == row.companyCode)) {
170
- let newrow = {
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.formName,
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
- this.formData.wfObjConfigDTOs.push(newrow);
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 #tag>
31
- <vxe-form-item :title="$t1('项目标签') + ':'" field="tag">
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
- :value="getTabNames()"
38
+ v-model="formData.menuKindName"
37
39
  @clear="
38
- checkTags = [];
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="openProjectTagDialog3"></i>
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" :readonly="true"></editView>
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: 'bd_form_template:list2',
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="dialogClose">
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: USER_PREFIX + '/user_company_info/getCurrentList',
110
- treeNodeUrl: USER_PREFIX + '/user_company_info/getChildren',
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 this.formData;
121
+ return {
122
+ enabled: true,
123
+ ...this.formData
124
+ }
116
125
  },
117
126
  columns: [
118
127
  {type: 'checkbox', width: 48, resizable: false, fixed: 'left'},