cloud-web-corejs-haier 1.0.18 → 1.0.20

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.
Files changed (177) hide show
  1. package/package.json +2 -1
  2. package/src/components/VabUpload/index.js +48 -1
  3. package/src/components/VabUpload/mixins.js +1821 -1
  4. package/src/components/VabUpload/privateProfileDialogMixins.js +1063 -1
  5. package/src/components/advancedSearchDialog/mixins.js +28 -1
  6. package/src/components/baseAlert/index.js +44 -1
  7. package/src/components/baseAlert/index.vue +53 -53
  8. package/src/components/baseAlert/mixins.js +61 -1
  9. package/src/components/baseAttachment/install.js +21 -5
  10. package/src/components/baseAttachment/mixins.js +309 -1
  11. package/src/components/baseInputBatch/mixins.js +58 -1
  12. package/src/components/baseInputExport/mixins.js +391 -1
  13. package/src/components/baseTabs/mixins.js +166 -1
  14. package/src/components/cnPrint/index.js +44 -1
  15. package/src/components/cnPrint/mixins.js +189 -1
  16. package/src/components/code-editor/index.vue +51 -136
  17. package/src/components/confirmDialog/index.js +41 -1
  18. package/src/components/confirmDialog/mixins.js +31 -1
  19. package/src/components/errorMsg/index.js +44 -1
  20. package/src/components/errorMsg/index.vue +3 -3
  21. package/src/components/errorMsg/mixins.js +96 -1
  22. package/src/components/excelExport/index.js +43 -1
  23. package/src/components/excelExport/mixins.js +964 -1
  24. package/src/components/excelImport/index.js +74 -13
  25. package/src/components/excelImport/mixins.js +774 -1
  26. package/src/components/fileLibrary/mixins/categoryMoveDialogMixins.js +1 -1
  27. package/src/components/fileLibrary/mixins/fileCategoryDialogMixins.js +1 -1
  28. package/src/components/fileLibrary/mixins/fileHistoryDialogMixins.js +2 -2
  29. package/src/components/fileLibrary/mixins/fileObjAuthDialogMixin.js +202 -350
  30. package/src/components/fileLibrary/mixins/fileObjAuthEditDialogMixin.js +26 -33
  31. package/src/components/fileLibrary/mixins/fileObjAuthEditMixin.js +5 -5
  32. package/src/components/fileLibrary/mixins/indexMixins.js +106 -250
  33. package/src/components/fileLibrary/mixins/propertiesDialogMixins.js +4 -64
  34. package/src/components/fileLibrary/mixins/recycleBinDialogMixins.js +4 -3
  35. package/src/components/formOplog/mixins.js +77 -1
  36. package/src/components/hiprint/view/design/mixins.js +611 -1
  37. package/src/components/jdPrint/index.js +44 -1
  38. package/src/components/jdPrint/mixins.js +208 -1
  39. package/src/components/jsonImport/index.js +187 -17
  40. package/src/components/jsonImport/mixins.js +332 -1
  41. package/src/components/langImport/index.js +80 -1
  42. package/src/components/langImport/mixins.js +484 -1
  43. package/src/components/langTag/mixins/addButton.js +51 -5
  44. package/src/components/langTag/mixins/deleteButton.js +55 -5
  45. package/src/components/langTag/mixins/view.js +47 -5
  46. package/src/components/luckysheet/index.js +3 -0
  47. package/src/components/obsUpload/index.js +34 -1
  48. package/src/components/obsUpload/mixins.js +1469 -1
  49. package/src/components/onlineTalk/index.vue +5 -327
  50. package/src/components/onlineTalk/mixins.js +852 -1
  51. package/src/components/oplogTable/mixins.js +83 -4
  52. package/src/components/pddPrint/index.js +44 -1
  53. package/src/components/pddPrint/mixins.js +252 -1
  54. package/src/components/projectTag/mixins/addButton.js +52 -1
  55. package/src/components/projectTag/mixins/deleteButton.js +52 -1
  56. package/src/components/projectTag/mixins/view.js +43 -1
  57. package/src/components/scriptDescription/mixins.js +30 -1
  58. package/src/components/scriptTest/mixins.js +90 -1
  59. package/src/components/statusTag/mixins.js +66 -1
  60. package/src/components/table/CellSlot.vue +2 -29
  61. package/src/components/table/config.js +74 -1
  62. package/src/components/table/index.js +1 -1
  63. package/src/components/table/tableFormMixin.js +1 -1
  64. package/src/components/table/util/index.js +8 -1
  65. package/src/components/table/vxeFilter/index.js +153 -1
  66. package/src/components/table/vxeFilter/mixin.js +1 -4
  67. package/src/components/vipPrint/index.js +44 -1
  68. package/src/components/vipPrint/mixins.js +268 -1
  69. package/src/components/xform/form-designer/designer.js +1 -1
  70. package/src/components/xform/form-designer/form-widget/container-widget/containerMixin.js +1 -1
  71. package/src/components/xform/form-designer/form-widget/container-widget/data-table-mixin.js +1 -1
  72. package/src/components/xform/form-designer/form-widget/dialog/importDialogMixin.js +1 -1
  73. package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +1 -1
  74. package/src/components/xform/form-designer/form-widget/field-widget/select-export-item-button-widget.vue +92 -0
  75. package/src/components/xform/form-designer/form-widget/indexMixin.js +1 -1
  76. package/src/components/xform/form-designer/indexMixin.js +1 -1
  77. package/src/components/xform/form-designer/setting-panel/indexMixin.js +1 -1
  78. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/exportItemColumns-dialog.vue +432 -0
  79. package/src/components/xform/form-designer/setting-panel/property-editor/field-static-text/preWrap-editor.vue +23 -0
  80. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/select-export-item-button-editor.vue +71 -0
  81. package/src/components/xform/form-designer/toolbar-panel/indexMixin.js +1 -1
  82. package/src/components/xform/form-designer/widget-panel/indexMixin.js +290 -1
  83. package/src/components/xform/form-render/container-item/containerItemMixin.js +1 -1
  84. package/src/components/xform/form-render/container-item/data-table-mixin.js +1 -1
  85. package/src/components/xform/form-render/dynamicDialogRender.js +195 -1
  86. package/src/components/xform/form-render/indexMixin.js +2 -3501
  87. package/src/components/xform/form-render/refMixin.js +3 -3
  88. package/src/components/xform/mixins/defaultHandle.js +340 -2
  89. package/src/components/xform/mixins/scriptHttp.js +172 -1
  90. package/src/components/xform/utils/formHttp.js +162 -0
  91. package/src/components/xform/utils/format.js +12 -6
  92. package/src/components/xform/utils/util.js +1464 -1
  93. package/src/components/xform/utils/validators.js +134 -1
  94. package/src/components/xhsPrint/index.js +44 -1
  95. package/src/components/xhsPrint/mixins.js +269 -1
  96. package/src/directive/LimitNumber/index.js +125 -1
  97. package/src/directive/el-dialog-center/index.js +34 -1
  98. package/src/directive/el-drag-dialog/drag.js +86 -1
  99. package/src/directive/el-readonly/index.js +15 -1
  100. package/src/directive/permission/hasPermi.js +34 -1
  101. package/src/index.js +2 -2
  102. package/src/router/modules/customer.js +3 -16
  103. package/src/store/config/index.js +1 -1
  104. package/src/store/modules/permission.js +40 -41
  105. package/src/store/modules/settings.js +1 -1
  106. package/src/store/modules/tagsView.js +11 -1
  107. package/src/store/modules/user.js +23 -1
  108. package/src/utils/aes.js +1 -1
  109. package/src/utils/auth.js +1 -1
  110. package/src/utils/global.js +362 -1
  111. package/src/utils/index.js +579 -1
  112. package/src/utils/keepAlive.js +181 -1
  113. package/src/utils/pddLog.js +17 -28
  114. package/src/utils/request.js +1 -1
  115. package/src/utils/vab.js +1 -1
  116. package/src/utils/validate.js +106 -1
  117. package/src/utils/wf.js +749 -4
  118. package/src/views/bd/setting/bd_attach_setting/mixins/dialog.js +84 -1
  119. package/src/views/bd/setting/bd_attach_setting/mixins/edit.js +113 -1
  120. package/src/views/bd/setting/bd_company_env/dialog.vue +174 -174
  121. package/src/views/bd/setting/bd_company_env/edit.vue +193 -193
  122. package/src/views/bd/setting/form_script/mixins/form_list.js +283 -1
  123. package/src/views/bd/setting/form_script/mixins/list2.js +10 -1
  124. package/src/views/bd/setting/form_script/mixins/preformDialog.js +34 -1
  125. package/src/views/bd/setting/form_template/mixins/dialog.js +103 -1
  126. package/src/views/bd/setting/form_template/mixins/editWfObjConfigDialog.js +92 -1
  127. package/src/views/bd/setting/form_template/mixins/ftHistoryDialog.js +91 -1
  128. package/src/views/bd/setting/form_template/mixins/itemEdit.js +104 -1
  129. package/src/views/bd/setting/form_template/mixins/itemList.js +234 -1
  130. package/src/views/bd/setting/form_template/mixins/list2.js +411 -0
  131. package/src/views/bd/setting/form_template/mixins/preformDialog.js +28 -3
  132. package/src/views/bd/setting/form_template/mixins/wf_list.js +423 -1
  133. package/src/views/bd/setting/form_template/wfObjConfigDialog.vue +254 -254
  134. package/src/views/bd/setting/logic_param/mixins/edit.js +91 -1
  135. package/src/views/bd/setting/logic_param/mixins/list.js +368 -1
  136. package/src/views/bd/setting/menu_kind/mixins/dialog.js +139 -1
  137. package/src/views/bd/setting/request_async_setting/edit.vue +320 -320
  138. package/src/views/bd/setting/request_setting/edit.vue +300 -300
  139. package/src/views/bd/setting/table_model/mixins/dialog.js +71 -1
  140. package/src/views/bd/setting/table_model/mixins/zdDialog.js +108 -1
  141. package/src/views/bd/setting/utils/index.js +60 -1
  142. package/src/views/user/api_request/list.vue +203 -203
  143. package/src/views/user/bill_setting/list.vue +345 -345
  144. package/src/views/user/code_rules/list.vue +204 -204
  145. package/src/views/user/common_attribute/list.vue +378 -378
  146. package/src/views/user/common_script/list.vue +341 -341
  147. package/src/views/user/country/list.vue +197 -197
  148. package/src/views/user/extend_datasource/list.vue +224 -224
  149. package/src/views/user/fieldTranslation/list.vue +473 -473
  150. package/src/views/user/field_values_invisible/list.vue +207 -207
  151. package/src/views/user/file_type/list.vue +271 -271
  152. package/src/views/user/file_view_area/list.vue +331 -331
  153. package/src/views/user/form/form_template/itemList.vue +221 -221
  154. package/src/views/user/form/form_template/list.vue +512 -512
  155. package/src/views/user/form/form_type/list.vue +142 -142
  156. package/src/views/user/form/report_requestaccess/list.vue +198 -198
  157. package/src/views/user/groups/list.vue +158 -158
  158. package/src/views/user/lang_tag/list.vue +170 -170
  159. package/src/views/user/language_setting/list.vue +208 -208
  160. package/src/views/user/menu/list.vue +575 -575
  161. package/src/views/user/notify_template/list.vue +192 -192
  162. package/src/views/user/notify_template/list2.vue +190 -190
  163. package/src/views/user/position/list.vue +188 -188
  164. package/src/views/user/project_tag/list.vue +175 -175
  165. package/src/views/user/push_setting/list.vue +236 -236
  166. package/src/views/user/request_setting/list.vue +248 -248
  167. package/src/views/user/role/list.vue +182 -182
  168. package/src/views/user/system_notice/list.vue +203 -203
  169. package/src/views/user/system_parameter/list.vue +141 -141
  170. package/src/views/user/user/form_list.vue +245 -245
  171. package/src/views/user/user_log_classify/list.vue +197 -197
  172. package/src/views/user/wf/wf_obj_config/list.vue +753 -753
  173. package/src/views/user/wf/wf_obj_config/list_form.vue +373 -373
  174. package/src/components/table/plugins/extend-cell-area/vxe-table-extend-cell-area.es6.min.js +0 -11028
  175. package/src/components/table/plugins/extend-cell-area/vxe-table-extend-cell-area.min.css +0 -200
  176. package/src/components/xform/form-designer/form-widget/dialog/importDialogMixin - /345/211/257/346/234/254.js" +0 -1639
  177. package/src/components/xform/form-render/indexMixin copy.js +0 -3462
@@ -1,753 +1,753 @@
1
- <template>
2
- <div id="containt">
3
- <el-tabs v-model="activeName" class="tab-box">
4
- <el-tab-pane :label="$t1('常规')" name="first">
5
- <editView v-if="showEdit" visible-key="showEdit" :_dataId.sync="dataId" :serviceId.sync="serviceId"
6
- :parent-target="_self" @reload="$reloadHandle"></editView>
7
- <itemEditView
8
- v-if="showItemEdit"
9
- visible-key="showItemEdit"
10
- :_dataId.sync="itemEditId"
11
- :serviceId.sync="itemServiceId"
12
- :wfObjConfig.sync="pRow"
13
- :parent-target="_self"
14
- @reload="$reloadHandle"
15
- ></itemEditView>
16
- </el-tab-pane>
17
- <el-tab-pane :label="$t1('流程配置列表')" name="second">
18
- <div class="grid-height">
19
- <div style="height: 345px;">
20
- <vxe-grid
21
- ref="table-m1"
22
- :auto-resize="true"
23
- v-bind="vxeOption"
24
- @resizable-change="$vxeTableUtil.onColumnWitchChange"
25
- @custom="$vxeTableUtil.customHandle"
26
- @checkbox-change="chooseCellM1"
27
- class="is-pointer"
28
- >
29
- <template #form>
30
- <div style="margin-bottom: 8px;" class="clearfix">
31
- <div class="fl">
32
- <vxe-button status="primary" class="button-sty" icon="el-icon-plus" @click="openEditDialog">
33
- {{ $t1('新增单据') }}
34
- </vxe-button>
35
- </div>
36
- <div class="fr">
37
- <vxe-button icon="el-icon-brush" class="button-sty" @click="resetEvent" type="text" status="primary"
38
- plain>{{ $t1('重置') }}
39
- </vxe-button>
40
- <vxe-button status="warning" icon="el-icon-search" class="button-sty" @click="searchEvent">
41
- {{ $t1('搜索') }}
42
- </vxe-button>
43
- </div>
44
- </div>
45
- <vxe-form ref="form" class="screen-box" :data-form="formData" title-width="92px" title-align="right"
46
- @submit="searchEvent" @reset="searchEvent">
47
- <vxe-form-item :title="$t1('单据类型名称')+':'" field="objTypeName">
48
- <template v-slot="">
49
- <el-input v-model="formData.objTypeName" size="small" clearable/>
50
- </template>
51
- </vxe-form-item>
52
- <vxe-form-item :title="$t1('单据类型编号')+':'" field="objTypeCode">
53
- <template v-slot="">
54
- <el-input v-model="formData.objTypeCode" size="small" clearable/>
55
- </template>
56
- </vxe-form-item>
57
- </vxe-form>
58
- </template>
59
- </vxe-grid>
60
- </div>
61
- <label id="labBtn" class="transverse">
62
- <div class="icon">
63
- <i class="el-icon-more"></i>
64
- <i class="el-icon-more"></i>
65
- </div>
66
- </label>
67
- <div style="height: calc(100vh - 345px - 105px);">
68
- <vxe-grid ref="table-m2" v-bind="vxeOption1" @resizable-change="$vxeTableUtil.onColumnWitchChange"
69
- @custom="$vxeTableUtil.customHandle">
70
- <template #row_edit>
71
- <a href="#" class="a-link"><i class="el-icon-edit"/></a>
72
- </template>
73
- </vxe-grid>
74
- </div>
75
- </div>
76
- </el-tab-pane>
77
- <el-tab-pane :label="$t1('待办列表字段名扩展')" name="third">
78
- <wfParamEdit v-if="showParamEdit" visible-key="showParamEdit"
79
- :parent-target="_self" @reload="$reloadHandle"></wfParamEdit>
80
- </el-tab-pane>
81
- <el-tab-pane :label="$t1('自定义流程操作属性')" name="fourth">
82
- <wfDiyAttributeEdit v-if="showWfDiyAttributeEdit" visible-key="showWfDiyAttributeEdit"
83
- :parent-target="_self" @reload="$reloadHandle"></wfDiyAttributeEdit>
84
- </el-tab-pane>
85
-
86
- </el-tabs>
87
-
88
- <el-dialog
89
- :title="$t1('流程设计')"
90
- :append-to-body="true"
91
- :modal-append-to-body="true"
92
- :close-on-click-modal="false"
93
- v-if="showWfDialog"
94
- :visible.sync="showWfDialog"
95
- :modal="false"
96
- custom-class="dialog-style designer-dialog"
97
- width="100%"
98
- height="100%"
99
- top="0px"
100
- bottom="0px"
101
- :before-close="closeDesignwinEvent"
102
- :destroy-on-close="true"
103
- v-el-drag-dialog
104
- >
105
- <iframe :src="wfUrl" :style="'width:100%;height:' + ($root.$el.clientHeight - 30 - 12) + 'px'"></iframe>
106
- </el-dialog>
107
-
108
- <userDialog v-if="showUserDialog" :visiable.sync="showUserDialog" @confirm="confirmUser"
109
- :multi.sync="wfAssignMulti"/>
110
- <positionDialog v-if="showPositionDialog" :visiable.sync="showPositionDialog" :rows="wfAssignPositionData" @confirm="confirmPosition"/>
111
- <scriptDescriptionDialog path="static/readme/Wf.txt" v-if="showScriptDescriptionDialog"
112
- :visiable.sync="showScriptDescriptionDialog"></scriptDescriptionDialog>
113
- <wfBizDataSettingDialog v-if="showWfBizDataSettingDialog" :visiable.sync="showWfBizDataSettingDialog"
114
- @confirm="confirmWfBizDataSettingDialog"
115
- :objConfigItem="objConfigItem" :serviceId="currentRow.serviceId"></wfBizDataSettingDialog>
116
-
117
- <importItemDialog v-if="showImportItemDialog" :visiable.sync="showImportItemDialog" @confirm="confirmImportItemDialog"/>
118
- <itemOperateDialog v-if="showItemOperateDialog" :visiable.sync="showItemOperateDialog"
119
- @close="closeItemOperateDialog"
120
- @openWfDesignDialog="openWfDesignDialog"
121
- :row="operateItemRow"
122
- :pRow="currentRow"></itemOperateDialog>
123
- </div>
124
- </template>
125
- <script>
126
- import {treeScolly} from '@base/utils/global.js';
127
- import editView from './edit.vue';
128
- import itemEditView from './itemEdit.vue';
129
-
130
- import userDialog from '../../../../views/user/user/dialog.vue';
131
- import positionDialog from '../../../../views/user/position/dialog.vue';
132
-
133
- import wfParamEdit from '../../../../views/user/wf/wf_param/edit'
134
- import scriptDescriptionDialog from '@base/components/scriptDescription/dialog'
135
- import wfDiyAttributeEdit from '../../../../views/user/wf/wf_diy_attribute/edit'
136
- import wfBizDataSettingDialog from "./wfBizDataSettingDialog";
137
-
138
- import importItemDialog from "./importItemDialog.vue";
139
- import {getToken} from "@base/utils/auth"
140
-
141
- import itemOperateDialog from './itemOperateDialog'
142
- import settingConfig from "@/settings"
143
-
144
- export default {
145
- name: 'wf_obj_config:list',
146
- components: {
147
- editView,
148
- itemEditView,
149
- wfParamEdit,
150
- userDialog,
151
- positionDialog,
152
- scriptDescriptionDialog,
153
- wfDiyAttributeEdit,
154
- wfBizDataSettingDialog,
155
- importItemDialog,
156
- itemOperateDialog
157
- },
158
- created() {
159
- },
160
- mounted() {
161
- treeScolly({target: this, type: 'default'});
162
- this.initTableList();
163
- this.initTableM2();
164
-
165
- this.ph = this.$root.$el.clientHeight;
166
- this.initWfWinParam();
167
- },
168
- data() {
169
- return {
170
- dataId: 0,
171
- showEdit: false,
172
- showItemEdit: false,
173
- showParamEdit: false,
174
- vxeOption: {},
175
- vxeOption1: {},
176
- formData: {},
177
- editId: '',
178
- itemEditId: '',
179
- pRow: null,
180
- activeName: 'second',
181
- currentRow: {},
182
- serviceId: null,
183
- itemServiceId: null,
184
-
185
- showWfDialog: false,
186
- wfUrl: '',
187
- ph: '',
188
- dialogActiveName: 'first',
189
- showFunctionScriptList: false,
190
- showUserDialog: false,
191
- wfAssignData: [],
192
- wfAssignCallback: null,
193
- wfAssignMulti: true,
194
-
195
- showPositionDialog: false,
196
- wfAssignPositionData: [],
197
- wfAssignPositionCallback: null,
198
-
199
- showFormTemplateDialog: false,
200
- wfAssignFormTemplateCallback: null,
201
-
202
- showScriptDescriptionDialog: false,
203
- showWfDiyAttributeEdit: false,
204
-
205
- objConfigItem: null,
206
- showWfBizDataSettingDialog: false,
207
- showImportItemDialog:false,
208
-
209
- operateItemRow:null,
210
- showItemOperateDialog: false
211
- };
212
- },
213
- watch: {
214
- dialogActiveName(val) {
215
- if (val == 'second') {
216
- this.showFunctionScriptList = true;
217
- }
218
- },
219
- activeName(val) {
220
- if (val == 'third' && !this.showParamEdit) {
221
- this.showParamEdit = true;
222
- } else if (val == 'fourth' && !this.showWfDiyAttributeEdit) {
223
- this.showWfDiyAttributeEdit = true;
224
- }
225
- }
226
- },
227
- methods: {
228
- searchEvent() {
229
- this.$refs['table-m1'].commitProxy('reload');
230
- this.chooseCellM1({row: {}});
231
- },
232
- resetEvent() {
233
- this.formData = {};
234
- this.$refs['table-m1'].commitProxy('reload');
235
- },
236
- openEditDialog(id, serviceId) {
237
- this.dataId = !id || typeof id == 'object' ? 0 : id;
238
- this.serviceId = serviceId || '';
239
- this.activeName = 'first';
240
- this.showItemEdit = false;
241
- this.$openEditView('showEdit');
242
- },
243
- openEditItemDialog(id, currentRow) {
244
- if (id) {
245
- this.pRow = null;
246
- this.itemEditId = id;
247
- this.itemServiceId = this.currentRow.serviceId;
248
- this.activeName = 'first';
249
- this.showEdit = false;
250
- this.$openEditView('showItemEdit');
251
- } else if (currentRow) {
252
- if (currentRow && currentRow.id) {
253
- this.pRow = currentRow;
254
- this.itemEditId = '';
255
- this.itemServiceId = currentRow.serviceId;
256
- this.activeName = 'first';
257
- this.showEdit = false;
258
- this.$openEditView('showItemEdit');
259
- }
260
- }
261
- },
262
- initTableList() {
263
- let tableOption = {
264
- vue: this,
265
- tableRef: 'table-m1',
266
- tableName: 'user_wf_obj_config_list-m1',
267
- path: USER_PREFIX + '/wf_obj_config/listPage',
268
- param: () => {
269
- return this.formData;
270
- },
271
- config: {
272
- checkboxConfig: {
273
- checkStrictly: true,
274
- showHeader: false,
275
- trigger: 'row'
276
- },
277
- pagerConfig: {
278
- autoHidden: true
279
- }
280
- },
281
- columns: [
282
- {type: 'checkbox', width: 48, resizable: false, fixed: 'left'},
283
- {
284
- title: this.$t1('单据类型名称'),
285
- field: 'objTypeName',
286
- width: 150,
287
- fixed: 'left'
288
- },
289
- {
290
- title: this.$t1('单据类型编号'),
291
- field: 'objTypeCode',
292
- width: 150
293
- },
294
- {
295
- title: this.$t1('跳转url'),
296
- field: 'url',
297
- width: 150
298
- },
299
- {
300
- title: this.$t1('移动端url'),
301
- field: 'mobileUrl',
302
- width: 150
303
- },
304
- {
305
- title: this.$t1('服务名'),
306
- field: 'serviceId',
307
- width: 150
308
- },
309
- {
310
- field: 'note',
311
- title: this.$t1('备注'),
312
- width: 150
313
- },
314
-
315
- {
316
- field: 'forms',
317
- title: this.$t1('是否表单'),
318
- width: 150,
319
- slots: {
320
- default: ({row}) => {
321
- if (row.forms) {
322
- return [<div class="txt-status">{this.$t1('是')}</div>];
323
- } else {
324
- return [<div class="txt-status s-3">{this.$t1('否')}</div>];
325
- }
326
- }
327
- }
328
- },
329
- {
330
- field: 'createDate',
331
- title: this.$t1('创建时间'),
332
- width: 200
333
- },
334
- {
335
- width: 180,
336
- fixed: 'right',
337
- title: '',
338
- sortable: false,
339
- slots: {
340
- default: ({row}) => {
341
- return [
342
- <div>
343
- <a
344
- class="a-link"
345
- onclick={event => {
346
- event.stopPropagation();
347
- this.openEditItemDialog('', row);
348
- }}
349
- >
350
- <el-tooltip enterable={false} effect="dark" content={this.$t1('新增流程模板')} placement="top"
351
- popper-class="tooltip-skin">
352
- <div>
353
- <i class="el-icon-circle-plus-outline"/>
354
- <span>{this.$t1('新增流程模板')}</span>
355
- </div>
356
- </el-tooltip>
357
- </a>
358
- <a
359
- href="javascript:void(0);"
360
- class="a-link"
361
- onclick={event => {
362
- event.stopPropagation();
363
- this.openEditDialog(row.id, row.serviceId);
364
- }}
365
- >
366
- <el-tooltip enterable={false} effect="dark" content={this.$t1('查看')} placement="top"
367
- popper-class="tooltip-skin">
368
- <i class="el-icon-edit"/>
369
- </el-tooltip>
370
- </a>
371
- </div>
372
- ];
373
- }
374
- }
375
- }
376
- ]
377
- };
378
- this.$vxeTableUtil.initVxeTable(tableOption).then(opts => {
379
- this.vxeOption = opts;
380
- });
381
- },
382
- initTableM2() {
383
- let modelValueMap = {
384
- CLASSICS: "经典模型",
385
- MIMIC: "仿钉钉模型",
386
- }
387
- var that = this;
388
- let tableOption1 = {
389
- vue: that,
390
- tableRef: 'table-m2',
391
- tableName: 'user_wf_obj_config_item_list-m2',
392
- config: {
393
- maxHeight: ''
394
- },
395
- columns: [
396
- {type: 'checkbox', width: 48, resizable: false, fixed: 'left'},
397
- {
398
- title: this.$t1('流程名称'),
399
- field: 'flowName',
400
- width: 150,
401
- fixed: 'left'
402
- },
403
- {
404
- title: this.$t1('序号'),
405
- field: 'orders',
406
- width: 150
407
- },
408
- {
409
- title: this.$t1('流程编码'),
410
- field: 'flowCode',
411
- width: 150
412
- },
413
- {
414
- title: this.$t1('单据类型编码'),
415
- field: 'objTypeCode',
416
- width: 150
417
- },
418
- {
419
- field: 'enabled',
420
- title: this.$t1('是否启用'),
421
- width: 150,
422
- slots: {
423
- default: ({row}) => {
424
- if (row.enabled) {
425
- return [<div class="txt-status">{this.$t1('启用')}</div>];
426
- } else {
427
- return [<div class="txt-status s-3">{this.$t1('禁用')}</div>];
428
- }
429
- }
430
- }
431
- },
432
- {
433
- field: 'published',
434
- title: this.$t1('是否发布'),
435
- width: 150,
436
- slots: {
437
- default: ({row}) => {
438
- if (row.published) {
439
- return [<div class="txt-status">{this.$t1('已发布')}</div>];
440
- } else {
441
- return [<div class="txt-status s-3">{this.$t1('未发布')}</div>];
442
- }
443
- }
444
- }
445
- },
446
- /**{
447
- title: this.$t1('设计器模型'),
448
- field: 'modelValue',
449
- width: 150,
450
- slots: {
451
- default: ({row}) => {
452
- return modelValueMap[row.modelValue]
453
- }
454
- }
455
- },*/
456
- {
457
- field: 'createDate',
458
- title: this.$t1('创建时间'),
459
- width: 200
460
- },
461
- {
462
- field: 'modifyDate',
463
- title: this.$t1('修改时间'),
464
- width: 150
465
- },
466
- {
467
- width: 100,
468
- fixed: 'right',
469
- sortable: false,
470
- title: '',
471
- slots: {
472
- default: ({row}) => {
473
- return [
474
- <a
475
- href="javascript:void(0);"
476
- class="a-link"
477
- onclick={() => {
478
- this.openEditItemDialog(row.id);
479
- }}
480
- >
481
- <el-tooltip enterable={false} effect="dark" content={this.$t1('查看')} placement="top"
482
- popper-class="tooltip-skin">
483
- <i class="el-icon-edit"/>
484
- </el-tooltip>
485
- </a>,
486
- <a
487
- href="javascript:void(0);"
488
- onClick={() => {
489
- this.openItemOperateDialog(row);
490
- }}
491
- class="a-link"
492
- >
493
- <el-tooltip enterable={false} effect="dark" content={this.$t1('流程设置')} placement="top"
494
- popper-class="tooltip-skin">
495
- <i class="el-icon-setting"/>
496
- </el-tooltip>
497
- </a>
498
- /* <a
499
- href="javascript:void(0);"
500
- onClick={() => {
501
- this.wfEdit(row.definitionId, this.currentRow.serviceId);
502
- }}
503
- class="a-link"
504
- >
505
- <el-tooltip enterable={false} effect="dark" content={this.$t1('流程设计')} placement="top"
506
- popper-class="tooltip-skin">
507
- <i class="iconfont icon-liuchengguanli-shejiqi_liucheng"/>
508
- </el-tooltip>
509
- </a>,
510
- <a
511
- href="javascript:void(0);"
512
- class="a-link"
513
- onclick={() => {
514
- this.wfPublish(row);
515
- }}
516
- >
517
- <el-tooltip enterable={false} effect="dark" content={this.$t1('发布')} placement="top"
518
- popper-class="tooltip-skin">
519
- <i class="el-icon-upload2"/>
520
- </el-tooltip>
521
- </a>,
522
- <a
523
- href="javascript:void(0);"
524
- class="a-link"
525
- onclick={() => {
526
- this.wfUnPublish(row);
527
- }}
528
- >
529
- <el-tooltip enterable={false} effect="dark" content={this.$t1('取消发布')} placement="top"
530
- popper-class="tooltip-skin">
531
- <i class="el-icon-download"/>
532
- </el-tooltip>
533
- </a> */
534
- ];
535
- }
536
- }
537
- }
538
- ]
539
- };
540
- this.$vxeTableUtil.initVxeTable(tableOption1).then(opts => {
541
- that.vxeOption1 = opts;
542
- });
543
- },
544
- chooseCellM1({row}) {
545
- if (row && row.id) {
546
- let $table1 = this.$refs['table-m1'];
547
- this.$nextTick(() => {
548
- $table1.clearCheckboxRow();
549
- $table1.setCheckboxRow(row, true);
550
- });
551
- this.currentRow = row;
552
- this.loadTablemM2Data(row)
553
- } else {
554
- this.$refs['table-m2'].loadData([]);
555
- }
556
- },
557
- loadTablemM2Data(row){
558
- if(row && row.id){
559
- this.$http({
560
- method: 'post',
561
- url: '/' + row.serviceId + '/wf_obj_config_item/list',
562
- data: {objConfigId: row.id || ''},
563
- success: res => {
564
- let rows = res.objx || [];
565
- this.$refs['table-m2'].loadData(rows);
566
- }
567
- });
568
- }else{
569
- this.$refs['table-m2'].loadData([]);
570
- }
571
- },
572
- openWfDesignDialog(definitionId,serviceId){
573
- this.wfEdit(definitionId,serviceId);
574
- },
575
-
576
- wfEdit(definitionId, serviceId) {
577
- let token = getToken();
578
- let Authorization = `Bearer ${token}`;
579
- let onlyDesignShow = true;
580
- let prefix = this.currentRow.serviceId;
581
- let baseApi = process.env.VUE_APP_BASE_API
582
- if(settingConfig.isTest){
583
- this.wfUrl = `http://stdxx.sc.5mall.com/warm-flow-ui/index.html?id=${definitionId}&baseApi=${baseApi}&prefix=${prefix}&onlyDesignShow=${onlyDesignShow}&Authorization=${Authorization}`;
584
- }else{
585
- this.wfUrl = WEB_PREFIX + `/warm-flow-ui/index.html?id=${definitionId}&baseApi=${baseApi}&prefix=${prefix}&onlyDesignShow=${onlyDesignShow}&Authorization=${Authorization}`;
586
- }
587
-
588
- this.dialogActiveName = 'first';
589
- this.showWfDialog = true;
590
- },
591
- closeDesignwinEvent(done) {
592
- this.$baseConfirm(this.$t1('请确认"已保存"流程模板,是否继续关闭?')).then(() => {
593
- this.showWfDialog = false;
594
- });
595
- },
596
- initWfWinParam() {
597
- this.initCloseWfDesignWin();
598
- this.initWinUserDialog();
599
- this.initWinPositionDialog();
600
- this.initSysParamForWf();
601
- this.initWinFormTemplateDialog();
602
- this.initWinScriptDescriptionDialog();
603
- },
604
- initCloseWfDesignWin() {
605
- window.closeWfDesignWin = () => {
606
- this.showWfDialog = false;
607
- };
608
- },
609
- initWinUserDialog() {
610
- window.openAssignUserDialog = opts => {
611
- this.wfAssignMulti = opts.multi;
612
- this.wfAssignData = opts.data || [];
613
- this.wfAssignCallback = opts.callback;
614
- this.showUserDialog = true;
615
- };
616
- },
617
- confirmUser(rows) {
618
- this.wfAssignCallback(rows);
619
- },
620
- initWinPositionDialog() {
621
- window.openAssignPositionDialog = opts => {
622
- this.wfAssignPositionData = opts.data || [];
623
- this.wfAssignPositionCallback = opts.callback;
624
- this.showPositionDialog = true;
625
- };
626
- },
627
- initSysParamForWf() {
628
- let webPrefix = WEB_PREFIX;
629
- let baseApi = process.env.VUE_APP_BASE_API;
630
- window.sysParamForWf = {
631
- webPrefix,
632
- baseApi
633
- }
634
- },
635
- confirmPosition(rows) {
636
- this.wfAssignPositionCallback(rows);
637
- },
638
- deleteItem(row) {
639
- this.$baseConfirm(this.$t1('您确定要删除吗?')).then(() => {
640
- this.$http({
641
- method: 'post',
642
- url: '/' + this.currentRow.serviceId + '/wf_obj_config_item/delete',
643
- data: {id: row.id},
644
- success: res => {
645
- this.$message({
646
- message: res.content,
647
- type: 'success',
648
- duration: 500,
649
- });
650
- this.$refs['table-m2'].remove(row);
651
- }
652
- });
653
- });
654
- },
655
- initWinFormTemplateDialog() {
656
- window.openAssignFormTemplateDialog = opts => {
657
- this.wfAssignFormTemplateCallback = opts.callback;
658
- this.showFormTemplateDialog = true;
659
- };
660
- },
661
- confirmFormTemplate(rows) {
662
- this.wfAssignFormTemplateCallback(rows);
663
- },
664
- initWinScriptDescriptionDialog() {
665
- window.openScriptDescriptionDialog = opts => {
666
- this.showScriptDescriptionDialog = true;
667
- };
668
- },
669
- openWfBizDataSettingDialog(row) {
670
- this.objConfigItem = row;
671
- this.showWfBizDataSettingDialog = true
672
- },
673
- confirmWfBizDataSettingDialog(rows) {
674
-
675
- },
676
- saveAs(blob, filename) {
677
- if (window.navigator.msSaveOrOpenBlob) {
678
- navigator.msSaveBlob(blob, filename);
679
- } else {
680
- var link = document.createElement("a");
681
- var body = document.querySelector("body");
682
-
683
- link.href = window.URL.createObjectURL(blob);
684
- link.download = filename;
685
-
686
- // fix Firefox
687
- link.style.display = "none";
688
- body.appendChild(link);
689
-
690
- link.click();
691
- body.removeChild(link);
692
-
693
- window.URL.revokeObjectURL(link.href);
694
- }
695
- },
696
- exportWfXml(row){
697
- this.$baseConfirm(this.$t1('您确定要导出吗?')).then(() => {
698
- this.$http({
699
- url: '/' + this.currentRow.serviceId + '/wf_obj_config_item/exportModelXml',
700
- method: `post`,
701
- data: {
702
- stringOne:row.modelId
703
- },
704
- isLoading: true,
705
- responseType: "blob",
706
- resultType: "other",
707
- callback: res => {
708
- let fileName = row.flowName + ".bpmn20.xml"
709
- this.saveAs(res,fileName)
710
- }
711
- });
712
- });
713
- },
714
- importWfXml(row){
715
- this.importXmlRow = row;
716
- this.showImportItemDialog = true;
717
- },
718
- confirmImportItemDialog(file){
719
- var form = new FormData();
720
- // 文件对象
721
- form.append("file", file);
722
- form.append("modelId", this.importXmlRow.modelId);
723
- this.$http({
724
- url: '/' + this.currentRow.serviceId + '/wf_obj_config_item/importProcess',
725
- method: `post`,
726
- headers: {
727
- 'Content-Type': 'multipart/form-data'
728
- },
729
- data: form,
730
- isLoading: true,
731
- success: res => {
732
- this.$message({
733
- message: res.content,
734
- type: 'success',
735
- duration: 2000,
736
- onClose: t => {
737
-
738
- }
739
- });
740
- }
741
- });
742
- },
743
-
744
- openItemOperateDialog(row){
745
- this.operateItemRow = row;
746
- this.showItemOperateDialog = true;
747
- },
748
- closeItemOperateDialog(){
749
- this.loadTablemM2Data(this.currentRow)
750
- }
751
- }
752
- };
753
- </script>
1
+ <template>
2
+ <div id="containt">
3
+ <el-tabs v-model="activeName" class="tab-box">
4
+ <el-tab-pane :label="$t1('常规')" name="first">
5
+ <editView v-if="showEdit" visible-key="showEdit" :_dataId.sync="dataId" :serviceId.sync="serviceId"
6
+ :parent-target="_self" @reload="$reloadHandle"></editView>
7
+ <itemEditView
8
+ v-if="showItemEdit"
9
+ visible-key="showItemEdit"
10
+ :_dataId.sync="itemEditId"
11
+ :serviceId.sync="itemServiceId"
12
+ :wfObjConfig.sync="pRow"
13
+ :parent-target="_self"
14
+ @reload="$reloadHandle"
15
+ ></itemEditView>
16
+ </el-tab-pane>
17
+ <el-tab-pane :label="$t1('流程配置列表')" name="second">
18
+ <div class="grid-height">
19
+ <div style="height: 345px;">
20
+ <vxe-grid
21
+ ref="table-m1"
22
+ :auto-resize="true"
23
+ v-bind="vxeOption"
24
+ @resizable-change="$vxeTableUtil.onColumnWitchChange"
25
+ @custom="$vxeTableUtil.customHandle"
26
+ @checkbox-change="chooseCellM1"
27
+ class="is-pointer"
28
+ >
29
+ <template #form>
30
+ <div style="margin-bottom: 8px;" class="clearfix">
31
+ <div class="fl">
32
+ <vxe-button status="primary" class="button-sty" icon="el-icon-plus" @click="openEditDialog">
33
+ {{ $t1('新增单据') }}
34
+ </vxe-button>
35
+ </div>
36
+ <div class="fr">
37
+ <vxe-button icon="el-icon-brush" class="button-sty" @click="resetEvent" type="text" status="primary"
38
+ plain>{{ $t1('重置') }}
39
+ </vxe-button>
40
+ <vxe-button status="warning" icon="el-icon-search" class="button-sty" @click="searchEvent">
41
+ {{ $t1('搜索') }}
42
+ </vxe-button>
43
+ </div>
44
+ </div>
45
+ <vxe-form ref="form" class="screen-box" :data-form="formData" title-width="92px" title-align="right"
46
+ @submit="searchEvent" @reset="searchEvent">
47
+ <vxe-form-item :title="$t1('单据类型名称')+':'" field="objTypeName">
48
+ <template v-slot="">
49
+ <el-input v-model="formData.objTypeName" size="small" clearable/>
50
+ </template>
51
+ </vxe-form-item>
52
+ <vxe-form-item :title="$t1('单据类型编号')+':'" field="objTypeCode">
53
+ <template v-slot="">
54
+ <el-input v-model="formData.objTypeCode" size="small" clearable/>
55
+ </template>
56
+ </vxe-form-item>
57
+ </vxe-form>
58
+ </template>
59
+ </vxe-grid>
60
+ </div>
61
+ <label id="labBtn" class="transverse">
62
+ <div class="icon">
63
+ <i class="el-icon-more"></i>
64
+ <i class="el-icon-more"></i>
65
+ </div>
66
+ </label>
67
+ <div style="height: calc(100vh - 345px - 105px);">
68
+ <vxe-grid ref="table-m2" v-bind="vxeOption1" @resizable-change="$vxeTableUtil.onColumnWitchChange"
69
+ @custom="$vxeTableUtil.customHandle">
70
+ <template #row_edit>
71
+ <a href="#" class="a-link"><i class="el-icon-edit"/></a>
72
+ </template>
73
+ </vxe-grid>
74
+ </div>
75
+ </div>
76
+ </el-tab-pane>
77
+ <el-tab-pane :label="$t1('待办列表字段名扩展')" name="third">
78
+ <wfParamEdit v-if="showParamEdit" visible-key="showParamEdit"
79
+ :parent-target="_self" @reload="$reloadHandle"></wfParamEdit>
80
+ </el-tab-pane>
81
+ <el-tab-pane :label="$t1('自定义流程操作属性')" name="fourth">
82
+ <wfDiyAttributeEdit v-if="showWfDiyAttributeEdit" visible-key="showWfDiyAttributeEdit"
83
+ :parent-target="_self" @reload="$reloadHandle"></wfDiyAttributeEdit>
84
+ </el-tab-pane>
85
+
86
+ </el-tabs>
87
+
88
+ <el-dialog
89
+ :title="$t1('流程设计')"
90
+ :append-to-body="true"
91
+ :modal-append-to-body="true"
92
+ :close-on-click-modal="false"
93
+ v-if="showWfDialog"
94
+ :visible.sync="showWfDialog"
95
+ :modal="false"
96
+ custom-class="dialog-style designer-dialog"
97
+ width="100%"
98
+ height="100%"
99
+ top="0px"
100
+ bottom="0px"
101
+ :before-close="closeDesignwinEvent"
102
+ :destroy-on-close="true"
103
+ v-el-drag-dialog
104
+ >
105
+ <iframe :src="wfUrl" :style="'width:100%;height:' + ($root.$el.clientHeight - 30 - 12) + 'px'"></iframe>
106
+ </el-dialog>
107
+
108
+ <userDialog v-if="showUserDialog" :visiable.sync="showUserDialog" @confirm="confirmUser"
109
+ :multi.sync="wfAssignMulti"/>
110
+ <positionDialog v-if="showPositionDialog" :visiable.sync="showPositionDialog" :rows="wfAssignPositionData" @confirm="confirmPosition"/>
111
+ <scriptDescriptionDialog path="static/readme/Wf.txt" v-if="showScriptDescriptionDialog"
112
+ :visiable.sync="showScriptDescriptionDialog"></scriptDescriptionDialog>
113
+ <wfBizDataSettingDialog v-if="showWfBizDataSettingDialog" :visiable.sync="showWfBizDataSettingDialog"
114
+ @confirm="confirmWfBizDataSettingDialog"
115
+ :objConfigItem="objConfigItem" :serviceId="currentRow.serviceId"></wfBizDataSettingDialog>
116
+
117
+ <importItemDialog v-if="showImportItemDialog" :visiable.sync="showImportItemDialog" @confirm="confirmImportItemDialog"/>
118
+ <itemOperateDialog v-if="showItemOperateDialog" :visiable.sync="showItemOperateDialog"
119
+ @close="closeItemOperateDialog"
120
+ @openWfDesignDialog="openWfDesignDialog"
121
+ :row="operateItemRow"
122
+ :pRow="currentRow"></itemOperateDialog>
123
+ </div>
124
+ </template>
125
+ <script>
126
+ import {treeScolly} from '@base/utils/global.js';
127
+ import editView from './edit.vue';
128
+ import itemEditView from './itemEdit.vue';
129
+
130
+ import userDialog from '../../../../views/user/user/dialog.vue';
131
+ import positionDialog from '../../../../views/user/position/dialog.vue';
132
+
133
+ import wfParamEdit from '../../../../views/user/wf/wf_param/edit'
134
+ import scriptDescriptionDialog from '@base/components/scriptDescription/dialog'
135
+ import wfDiyAttributeEdit from '../../../../views/user/wf/wf_diy_attribute/edit'
136
+ import wfBizDataSettingDialog from "./wfBizDataSettingDialog";
137
+
138
+ import importItemDialog from "./importItemDialog.vue";
139
+ import {getToken} from "@base/utils/auth"
140
+
141
+ import itemOperateDialog from './itemOperateDialog'
142
+ import settingConfig from "@/settings"
143
+
144
+ export default {
145
+ name: 'wf_obj_config:list',
146
+ components: {
147
+ editView,
148
+ itemEditView,
149
+ wfParamEdit,
150
+ userDialog,
151
+ positionDialog,
152
+ scriptDescriptionDialog,
153
+ wfDiyAttributeEdit,
154
+ wfBizDataSettingDialog,
155
+ importItemDialog,
156
+ itemOperateDialog
157
+ },
158
+ created() {
159
+ },
160
+ mounted() {
161
+ treeScolly({target: this, type: 'default'});
162
+ this.initTableList();
163
+ this.initTableM2();
164
+
165
+ this.ph = this.$root.$el.clientHeight;
166
+ this.initWfWinParam();
167
+ },
168
+ data() {
169
+ return {
170
+ dataId: 0,
171
+ showEdit: false,
172
+ showItemEdit: false,
173
+ showParamEdit: false,
174
+ vxeOption: {},
175
+ vxeOption1: {},
176
+ formData: {},
177
+ editId: '',
178
+ itemEditId: '',
179
+ pRow: null,
180
+ activeName: 'second',
181
+ currentRow: {},
182
+ serviceId: null,
183
+ itemServiceId: null,
184
+
185
+ showWfDialog: false,
186
+ wfUrl: '',
187
+ ph: '',
188
+ dialogActiveName: 'first',
189
+ showFunctionScriptList: false,
190
+ showUserDialog: false,
191
+ wfAssignData: [],
192
+ wfAssignCallback: null,
193
+ wfAssignMulti: true,
194
+
195
+ showPositionDialog: false,
196
+ wfAssignPositionData: [],
197
+ wfAssignPositionCallback: null,
198
+
199
+ showFormTemplateDialog: false,
200
+ wfAssignFormTemplateCallback: null,
201
+
202
+ showScriptDescriptionDialog: false,
203
+ showWfDiyAttributeEdit: false,
204
+
205
+ objConfigItem: null,
206
+ showWfBizDataSettingDialog: false,
207
+ showImportItemDialog:false,
208
+
209
+ operateItemRow:null,
210
+ showItemOperateDialog: false
211
+ };
212
+ },
213
+ watch: {
214
+ dialogActiveName(val) {
215
+ if (val == 'second') {
216
+ this.showFunctionScriptList = true;
217
+ }
218
+ },
219
+ activeName(val) {
220
+ if (val == 'third' && !this.showParamEdit) {
221
+ this.showParamEdit = true;
222
+ } else if (val == 'fourth' && !this.showWfDiyAttributeEdit) {
223
+ this.showWfDiyAttributeEdit = true;
224
+ }
225
+ }
226
+ },
227
+ methods: {
228
+ searchEvent() {
229
+ this.$refs['table-m1'].commitProxy('reload');
230
+ this.chooseCellM1({row: {}});
231
+ },
232
+ resetEvent() {
233
+ this.formData = {};
234
+ this.$refs['table-m1'].commitProxy('reload');
235
+ },
236
+ openEditDialog(id, serviceId) {
237
+ this.dataId = !id || typeof id == 'object' ? 0 : id;
238
+ this.serviceId = serviceId || '';
239
+ this.activeName = 'first';
240
+ this.showItemEdit = false;
241
+ this.$openEditView('showEdit');
242
+ },
243
+ openEditItemDialog(id, currentRow) {
244
+ if (id) {
245
+ this.pRow = null;
246
+ this.itemEditId = id;
247
+ this.itemServiceId = this.currentRow.serviceId;
248
+ this.activeName = 'first';
249
+ this.showEdit = false;
250
+ this.$openEditView('showItemEdit');
251
+ } else if (currentRow) {
252
+ if (currentRow && currentRow.id) {
253
+ this.pRow = currentRow;
254
+ this.itemEditId = '';
255
+ this.itemServiceId = currentRow.serviceId;
256
+ this.activeName = 'first';
257
+ this.showEdit = false;
258
+ this.$openEditView('showItemEdit');
259
+ }
260
+ }
261
+ },
262
+ initTableList() {
263
+ let tableOption = {
264
+ vue: this,
265
+ tableRef: 'table-m1',
266
+ tableName: 'user_wf_obj_config_list-m1',
267
+ path: USER_PREFIX + '/wf_obj_config/listPage',
268
+ param: () => {
269
+ return this.formData;
270
+ },
271
+ config: {
272
+ checkboxConfig: {
273
+ checkStrictly: true,
274
+ showHeader: false,
275
+ trigger: 'row'
276
+ },
277
+ pagerConfig: {
278
+ autoHidden: true
279
+ }
280
+ },
281
+ columns: [
282
+ {type: 'checkbox', width: 48, resizable: false, fixed: 'left'},
283
+ {
284
+ title: this.$t1('单据类型名称'),
285
+ field: 'objTypeName',
286
+ width: 150,
287
+ fixed: 'left'
288
+ },
289
+ {
290
+ title: this.$t1('单据类型编号'),
291
+ field: 'objTypeCode',
292
+ width: 150
293
+ },
294
+ {
295
+ title: this.$t1('跳转url'),
296
+ field: 'url',
297
+ width: 150
298
+ },
299
+ {
300
+ title: this.$t1('移动端url'),
301
+ field: 'mobileUrl',
302
+ width: 150
303
+ },
304
+ {
305
+ title: this.$t1('服务名'),
306
+ field: 'serviceId',
307
+ width: 150
308
+ },
309
+ {
310
+ field: 'note',
311
+ title: this.$t1('备注'),
312
+ width: 150
313
+ },
314
+
315
+ {
316
+ field: 'forms',
317
+ title: this.$t1('是否表单'),
318
+ width: 150,
319
+ slots: {
320
+ default: ({row}) => {
321
+ if (row.forms) {
322
+ return [<div class="txt-status">{this.$t1('是')}</div>];
323
+ } else {
324
+ return [<div class="txt-status s-3">{this.$t1('否')}</div>];
325
+ }
326
+ }
327
+ }
328
+ },
329
+ {
330
+ field: 'createDate',
331
+ title: this.$t1('创建时间'),
332
+ width: 200
333
+ },
334
+ {
335
+ width: 180,
336
+ fixed: 'right',
337
+ title: '',
338
+ sortable: false,
339
+ slots: {
340
+ default: ({row}) => {
341
+ return [
342
+ <div>
343
+ <a
344
+ class="a-link"
345
+ onclick={event => {
346
+ event.stopPropagation();
347
+ this.openEditItemDialog('', row);
348
+ }}
349
+ >
350
+ <el-tooltip enterable={false} effect="dark" content={this.$t1('新增流程模板')} placement="top"
351
+ popper-class="tooltip-skin">
352
+ <div>
353
+ <i class="el-icon-circle-plus-outline"/>
354
+ <span>{this.$t1('新增流程模板')}</span>
355
+ </div>
356
+ </el-tooltip>
357
+ </a>
358
+ <a
359
+ href="javascript:void(0);"
360
+ class="a-link"
361
+ onclick={event => {
362
+ event.stopPropagation();
363
+ this.openEditDialog(row.id, row.serviceId);
364
+ }}
365
+ >
366
+ <el-tooltip enterable={false} effect="dark" content={this.$t1('查看')} placement="top"
367
+ popper-class="tooltip-skin">
368
+ <i class="el-icon-edit"/>
369
+ </el-tooltip>
370
+ </a>
371
+ </div>
372
+ ];
373
+ }
374
+ }
375
+ }
376
+ ]
377
+ };
378
+ this.$vxeTableUtil.initVxeTable(tableOption).then(opts => {
379
+ this.vxeOption = opts;
380
+ });
381
+ },
382
+ initTableM2() {
383
+ let modelValueMap = {
384
+ CLASSICS: "经典模型",
385
+ MIMIC: "仿钉钉模型",
386
+ }
387
+ var that = this;
388
+ let tableOption1 = {
389
+ vue: that,
390
+ tableRef: 'table-m2',
391
+ tableName: 'user_wf_obj_config_item_list-m2',
392
+ config: {
393
+ maxHeight: ''
394
+ },
395
+ columns: [
396
+ {type: 'checkbox', width: 48, resizable: false, fixed: 'left'},
397
+ {
398
+ title: this.$t1('流程名称'),
399
+ field: 'flowName',
400
+ width: 150,
401
+ fixed: 'left'
402
+ },
403
+ {
404
+ title: this.$t1('序号'),
405
+ field: 'orders',
406
+ width: 150
407
+ },
408
+ {
409
+ title: this.$t1('流程编码'),
410
+ field: 'flowCode',
411
+ width: 150
412
+ },
413
+ {
414
+ title: this.$t1('单据类型编码'),
415
+ field: 'objTypeCode',
416
+ width: 150
417
+ },
418
+ {
419
+ field: 'enabled',
420
+ title: this.$t1('是否启用'),
421
+ width: 150,
422
+ slots: {
423
+ default: ({row}) => {
424
+ if (row.enabled) {
425
+ return [<div class="txt-status">{this.$t1('启用')}</div>];
426
+ } else {
427
+ return [<div class="txt-status s-3">{this.$t1('禁用')}</div>];
428
+ }
429
+ }
430
+ }
431
+ },
432
+ {
433
+ field: 'published',
434
+ title: this.$t1('是否发布'),
435
+ width: 150,
436
+ slots: {
437
+ default: ({row}) => {
438
+ if (row.published) {
439
+ return [<div class="txt-status">{this.$t1('已发布')}</div>];
440
+ } else {
441
+ return [<div class="txt-status s-3">{this.$t1('未发布')}</div>];
442
+ }
443
+ }
444
+ }
445
+ },
446
+ /**{
447
+ title: this.$t1('设计器模型'),
448
+ field: 'modelValue',
449
+ width: 150,
450
+ slots: {
451
+ default: ({row}) => {
452
+ return modelValueMap[row.modelValue]
453
+ }
454
+ }
455
+ },*/
456
+ {
457
+ field: 'createDate',
458
+ title: this.$t1('创建时间'),
459
+ width: 200
460
+ },
461
+ {
462
+ field: 'modifyDate',
463
+ title: this.$t1('修改时间'),
464
+ width: 150
465
+ },
466
+ {
467
+ width: 100,
468
+ fixed: 'right',
469
+ sortable: false,
470
+ title: '',
471
+ slots: {
472
+ default: ({row}) => {
473
+ return [
474
+ <a
475
+ href="javascript:void(0);"
476
+ class="a-link"
477
+ onclick={() => {
478
+ this.openEditItemDialog(row.id);
479
+ }}
480
+ >
481
+ <el-tooltip enterable={false} effect="dark" content={this.$t1('查看')} placement="top"
482
+ popper-class="tooltip-skin">
483
+ <i class="el-icon-edit"/>
484
+ </el-tooltip>
485
+ </a>,
486
+ <a
487
+ href="javascript:void(0);"
488
+ onClick={() => {
489
+ this.openItemOperateDialog(row);
490
+ }}
491
+ class="a-link"
492
+ >
493
+ <el-tooltip enterable={false} effect="dark" content={this.$t1('流程设置')} placement="top"
494
+ popper-class="tooltip-skin">
495
+ <i class="el-icon-setting"/>
496
+ </el-tooltip>
497
+ </a>
498
+ /* <a
499
+ href="javascript:void(0);"
500
+ onClick={() => {
501
+ this.wfEdit(row.definitionId, this.currentRow.serviceId);
502
+ }}
503
+ class="a-link"
504
+ >
505
+ <el-tooltip enterable={false} effect="dark" content={this.$t1('流程设计')} placement="top"
506
+ popper-class="tooltip-skin">
507
+ <i class="iconfont icon-liuchengguanli-shejiqi_liucheng"/>
508
+ </el-tooltip>
509
+ </a>,
510
+ <a
511
+ href="javascript:void(0);"
512
+ class="a-link"
513
+ onclick={() => {
514
+ this.wfPublish(row);
515
+ }}
516
+ >
517
+ <el-tooltip enterable={false} effect="dark" content={this.$t1('发布')} placement="top"
518
+ popper-class="tooltip-skin">
519
+ <i class="el-icon-upload2"/>
520
+ </el-tooltip>
521
+ </a>,
522
+ <a
523
+ href="javascript:void(0);"
524
+ class="a-link"
525
+ onclick={() => {
526
+ this.wfUnPublish(row);
527
+ }}
528
+ >
529
+ <el-tooltip enterable={false} effect="dark" content={this.$t1('取消发布')} placement="top"
530
+ popper-class="tooltip-skin">
531
+ <i class="el-icon-download"/>
532
+ </el-tooltip>
533
+ </a> */
534
+ ];
535
+ }
536
+ }
537
+ }
538
+ ]
539
+ };
540
+ this.$vxeTableUtil.initVxeTable(tableOption1).then(opts => {
541
+ that.vxeOption1 = opts;
542
+ });
543
+ },
544
+ chooseCellM1({row}) {
545
+ if (row && row.id) {
546
+ let $table1 = this.$refs['table-m1'];
547
+ this.$nextTick(() => {
548
+ $table1.clearCheckboxRow();
549
+ $table1.setCheckboxRow(row, true);
550
+ });
551
+ this.currentRow = row;
552
+ this.loadTablemM2Data(row)
553
+ } else {
554
+ this.$refs['table-m2'].loadData([]);
555
+ }
556
+ },
557
+ loadTablemM2Data(row){
558
+ if(row && row.id){
559
+ this.$http({
560
+ method: 'post',
561
+ url: '/' + row.serviceId + '/wf_obj_config_item/list',
562
+ data: {objConfigId: row.id || ''},
563
+ success: res => {
564
+ let rows = res.objx || [];
565
+ this.$refs['table-m2'].loadData(rows);
566
+ }
567
+ });
568
+ }else{
569
+ this.$refs['table-m2'].loadData([]);
570
+ }
571
+ },
572
+ openWfDesignDialog(definitionId,serviceId){
573
+ this.wfEdit(definitionId,serviceId);
574
+ },
575
+
576
+ wfEdit(definitionId, serviceId) {
577
+ let token = getToken();
578
+ let Authorization = `Bearer ${token}`;
579
+ let onlyDesignShow = true;
580
+ let prefix = this.currentRow.serviceId;
581
+ let baseApi = process.env.VUE_APP_BASE_API
582
+ if(settingConfig.isTest){
583
+ this.wfUrl = `http://stdxx.sc.5mall.com/warm-flow-ui/index.html?id=${definitionId}&baseApi=${baseApi}&prefix=${prefix}&onlyDesignShow=${onlyDesignShow}&Authorization=${Authorization}`;
584
+ }else{
585
+ this.wfUrl = WEB_PREFIX + `/warm-flow-ui/index.html?id=${definitionId}&baseApi=${baseApi}&prefix=${prefix}&onlyDesignShow=${onlyDesignShow}&Authorization=${Authorization}`;
586
+ }
587
+
588
+ this.dialogActiveName = 'first';
589
+ this.showWfDialog = true;
590
+ },
591
+ closeDesignwinEvent(done) {
592
+ this.$baseConfirm(this.$t1('请确认"已保存"流程模板,是否继续关闭?')).then(() => {
593
+ this.showWfDialog = false;
594
+ });
595
+ },
596
+ initWfWinParam() {
597
+ this.initCloseWfDesignWin();
598
+ this.initWinUserDialog();
599
+ this.initWinPositionDialog();
600
+ this.initSysParamForWf();
601
+ this.initWinFormTemplateDialog();
602
+ this.initWinScriptDescriptionDialog();
603
+ },
604
+ initCloseWfDesignWin() {
605
+ window.closeWfDesignWin = () => {
606
+ this.showWfDialog = false;
607
+ };
608
+ },
609
+ initWinUserDialog() {
610
+ window.openAssignUserDialog = opts => {
611
+ this.wfAssignMulti = opts.multi;
612
+ this.wfAssignData = opts.data || [];
613
+ this.wfAssignCallback = opts.callback;
614
+ this.showUserDialog = true;
615
+ };
616
+ },
617
+ confirmUser(rows) {
618
+ this.wfAssignCallback(rows);
619
+ },
620
+ initWinPositionDialog() {
621
+ window.openAssignPositionDialog = opts => {
622
+ this.wfAssignPositionData = opts.data || [];
623
+ this.wfAssignPositionCallback = opts.callback;
624
+ this.showPositionDialog = true;
625
+ };
626
+ },
627
+ initSysParamForWf() {
628
+ let webPrefix = WEB_PREFIX;
629
+ let baseApi = process.env.VUE_APP_BASE_API;
630
+ window.sysParamForWf = {
631
+ webPrefix,
632
+ baseApi
633
+ }
634
+ },
635
+ confirmPosition(rows) {
636
+ this.wfAssignPositionCallback(rows);
637
+ },
638
+ deleteItem(row) {
639
+ this.$baseConfirm(this.$t1('您确定要删除吗?')).then(() => {
640
+ this.$http({
641
+ method: 'post',
642
+ url: '/' + this.currentRow.serviceId + '/wf_obj_config_item/delete',
643
+ data: {id: row.id},
644
+ success: res => {
645
+ this.$message({
646
+ message: res.content,
647
+ type: 'success',
648
+ duration: 500,
649
+ });
650
+ this.$refs['table-m2'].remove(row);
651
+ }
652
+ });
653
+ });
654
+ },
655
+ initWinFormTemplateDialog() {
656
+ window.openAssignFormTemplateDialog = opts => {
657
+ this.wfAssignFormTemplateCallback = opts.callback;
658
+ this.showFormTemplateDialog = true;
659
+ };
660
+ },
661
+ confirmFormTemplate(rows) {
662
+ this.wfAssignFormTemplateCallback(rows);
663
+ },
664
+ initWinScriptDescriptionDialog() {
665
+ window.openScriptDescriptionDialog = opts => {
666
+ this.showScriptDescriptionDialog = true;
667
+ };
668
+ },
669
+ openWfBizDataSettingDialog(row) {
670
+ this.objConfigItem = row;
671
+ this.showWfBizDataSettingDialog = true
672
+ },
673
+ confirmWfBizDataSettingDialog(rows) {
674
+
675
+ },
676
+ saveAs(blob, filename) {
677
+ if (window.navigator.msSaveOrOpenBlob) {
678
+ navigator.msSaveBlob(blob, filename);
679
+ } else {
680
+ var link = document.createElement("a");
681
+ var body = document.querySelector("body");
682
+
683
+ link.href = window.URL.createObjectURL(blob);
684
+ link.download = filename;
685
+
686
+ // fix Firefox
687
+ link.style.display = "none";
688
+ body.appendChild(link);
689
+
690
+ link.click();
691
+ body.removeChild(link);
692
+
693
+ window.URL.revokeObjectURL(link.href);
694
+ }
695
+ },
696
+ exportWfXml(row){
697
+ this.$baseConfirm(this.$t1('您确定要导出吗?')).then(() => {
698
+ this.$http({
699
+ url: '/' + this.currentRow.serviceId + '/wf_obj_config_item/exportModelXml',
700
+ method: `post`,
701
+ data: {
702
+ stringOne:row.modelId
703
+ },
704
+ isLoading: true,
705
+ responseType: "blob",
706
+ resultType: "other",
707
+ callback: res => {
708
+ let fileName = row.flowName + ".bpmn20.xml"
709
+ this.saveAs(res,fileName)
710
+ }
711
+ });
712
+ });
713
+ },
714
+ importWfXml(row){
715
+ this.importXmlRow = row;
716
+ this.showImportItemDialog = true;
717
+ },
718
+ confirmImportItemDialog(file){
719
+ var form = new FormData();
720
+ // 文件对象
721
+ form.append("file", file);
722
+ form.append("modelId", this.importXmlRow.modelId);
723
+ this.$http({
724
+ url: '/' + this.currentRow.serviceId + '/wf_obj_config_item/importProcess',
725
+ method: `post`,
726
+ headers: {
727
+ 'Content-Type': 'multipart/form-data'
728
+ },
729
+ data: form,
730
+ isLoading: true,
731
+ success: res => {
732
+ this.$message({
733
+ message: res.content,
734
+ type: 'success',
735
+ duration: 2000,
736
+ onClose: t => {
737
+
738
+ }
739
+ });
740
+ }
741
+ });
742
+ },
743
+
744
+ openItemOperateDialog(row){
745
+ this.operateItemRow = row;
746
+ this.showItemOperateDialog = true;
747
+ },
748
+ closeItemOperateDialog(){
749
+ this.loadTablemM2Data(this.currentRow)
750
+ }
751
+ }
752
+ };
753
+ </script>