cloud-web-corejs-haier 1.0.43 → 1.0.45

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 (228) hide show
  1. package/package.json +8 -6
  2. package/src/api/user.js +54 -46
  3. package/src/components/baseAlert/index.vue +57 -53
  4. package/src/components/baseInputExport/index.vue +3 -3
  5. package/src/components/baseTabs/mixins.js +12 -1
  6. package/src/components/errorMsg/index.vue +78 -78
  7. package/src/components/excelExport/button.vue +54 -45
  8. package/src/components/excelExport/exportFieldDialog.vue +3 -3
  9. package/src/components/excelExport/index.js +1 -43
  10. package/src/components/excelExport/index.vue +62 -34
  11. package/src/components/excelExport/mixins.js +74 -87
  12. package/src/components/excelImport/index.js +1 -62
  13. package/src/components/excelImport/mixins.js +1 -774
  14. package/src/components/fileLibrary/index.vue +113 -33
  15. package/src/components/fileLibrary/propertiesDialog.vue +6 -0
  16. package/src/components/hiprint/view/design/index.vue +139 -47
  17. package/src/components/hiprint/view/design/preview.vue +75 -52
  18. package/src/components/hiprint/view/json-view.vue +31 -31
  19. package/src/components/luckysheet/dialog.vue +159 -0
  20. package/src/components/luckysheet/export.js +595 -0
  21. package/src/components/luckysheet/fileUtils.js +147 -0
  22. package/src/components/luckysheet/index.js +69 -0
  23. package/src/components/luckysheet/templateJson.js +12078 -0
  24. package/src/components/luckysheet/view.vue +210 -0
  25. package/src/components/onlineTalk/index.vue +328 -6
  26. package/src/components/onlineTalk/talkUserDialog.vue +280 -0
  27. package/src/components/wf/addTaskUserdialog.vue +5 -5
  28. package/src/components/wf/content.vue +1244 -1169
  29. package/src/components/wf/content2.vue +604 -604
  30. package/src/components/wf/mixins/setCandidateDialog.js +228 -2
  31. package/src/components/wf/mixins/setCandidateDialog2.js +116 -101
  32. package/src/components/wf/mixins/wfTaskUserRangeDialog.js +67 -1
  33. package/src/components/wf/setCandidateDialog.vue +5 -7
  34. package/src/components/wf/setCandidateDialog2.vue +14 -10
  35. package/src/components/wf/wf.js +2325 -2209
  36. package/src/components/wf/wfTaskUserRangeDialog.vue +1 -1
  37. package/src/components/wf/wfUtil.js +129 -91
  38. package/src/components/xform/form-designer/designer.js +1994 -9
  39. package/src/components/xform/form-designer/form-widget/container-widget/data-table-widget.vue +10 -0
  40. package/src/components/xform/form-designer/form-widget/container-widget/detail-pane-widget.vue +3 -2
  41. package/src/components/xform/form-designer/form-widget/dialog/formDialog.vue +5 -1
  42. package/src/components/xform/form-designer/form-widget/dialog/importDialogMixin - /345/211/257/346/234/254.js" +1639 -0
  43. package/src/components/xform/form-designer/form-widget/dialog/importDialogMixin.js +1756 -2
  44. package/src/components/xform/form-designer/form-widget/field-widget/baseAttachment-widget.vue +1 -0
  45. package/src/components/xform/form-designer/form-widget/field-widget/dropdown-item-widget.vue +10 -1
  46. package/src/components/xform/form-designer/form-widget/field-widget/dropdown-widget.vue +170 -0
  47. package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +1630 -1
  48. package/src/components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue +153 -40
  49. package/src/components/xform/form-designer/form-widget/field-widget/status-widget.vue +65 -46
  50. package/src/components/xform/form-designer/form-widget/field-widget/vue-page-widget.vue +231 -0
  51. package/src/components/xform/form-designer/setting-panel/form-setting.vue +7 -4
  52. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/edit-tree-button-group-config-dialog.vue +281 -0
  53. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +659 -221
  54. package/src/components/xform/form-designer/setting-panel/property-editor/container-detail/detail-editor.vue +3 -3
  55. package/src/components/xform/form-designer/setting-panel/property-editor/dropdownFlag-editor.vue +133 -0
  56. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/onClick-editor.vue +14 -6
  57. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import-button-editor.vue +1 -1
  58. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import2-button-editor.vue +1 -1
  59. package/src/components/xform/form-designer/setting-panel/property-editor/field-vue-page/vue-page-editor.vue +48 -0
  60. package/src/components/xform/form-designer/setting-panel/property-editor/labelIconClass-editor.vue +18 -17
  61. package/src/components/xform/form-designer/setting-panel/property-editor/labelIconPosition-editor.vue +26 -26
  62. package/src/components/xform/form-designer/setting-panel/property-editor/labelTooltip-editor.vue +67 -13
  63. package/src/components/xform/form-designer/setting-panel/property-editor/name-editor.vue +2 -0
  64. package/src/components/xform/form-designer/setting-panel/property-editor/showViewButton-editor.vue +29 -0
  65. package/src/components/xform/form-designer/setting-panel/propertyRegister.js +8 -6
  66. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +1 -0
  67. package/src/components/xform/form-render/container-item/data-table-mixin.js +20 -17
  68. package/src/components/xform/form-render/container-item/detail-item.vue +72 -48
  69. package/src/components/xform/form-render/container-item/sub-form-item.vue +10 -2
  70. package/src/components/xform/form-render/container-item/table2-item.vue +40 -10
  71. package/src/components/xform/form-render/indexMixin.js +3705 -1
  72. package/src/components/xform/icon-picker/icons.json +284 -0
  73. package/src/components/xform/icon-picker/index.vue +145 -0
  74. package/src/components/xform/lang/zh-CN.js +2 -1
  75. package/src/components/xform/mixins/defaultHandle.js +366 -2
  76. package/src/components/xform/utils/formula-util.js +3 -0
  77. package/src/components/xform/utils/sfc-generator.js +2 -2
  78. package/src/components/xform/utils/smart-vue-i18n/index.js +2 -1
  79. package/src/components/xform/utils/tableColumnHelper.js +54 -10
  80. package/src/components/xform/utils/util.js +1547 -1
  81. package/src/index.js +190 -211
  82. package/src/lang/locale/en/login.js +26 -19
  83. package/src/lang/locale/zh/login.js +25 -19
  84. package/src/layout/components/Sidebar/default.vue +252 -71
  85. package/src/layout/components/Sidebar/index.vue +6 -1
  86. package/src/layout/components/TagsView/index.vue +6 -0
  87. package/src/layout/components/langTool.vue +32 -29
  88. package/src/layout/defaultLayout.vue +16 -8
  89. package/src/layout/index.vue +5 -3
  90. package/src/permission.js +135 -1
  91. package/src/router/index.js +1 -4
  92. package/src/store/config/index.js +667 -1
  93. package/src/store/getters.js +2 -1
  94. package/src/store/modules/permission.js +332 -1
  95. package/src/store/modules/settings.js +26 -1
  96. package/src/store/modules/tagsView.js +190 -1
  97. package/src/store/modules/user.js +358 -1
  98. package/src/utils/aes.js +15 -1
  99. package/src/utils/auth.js +27 -1
  100. package/src/utils/componentDialog.js +217 -0
  101. package/src/utils/request.js +368 -1
  102. package/src/utils/vab.js +1256 -7
  103. package/src/views/bd/setting/bd_company_env/dialog.vue +174 -174
  104. package/src/views/bd/setting/bd_company_env/edit.vue +193 -193
  105. package/src/views/bd/setting/formVersion/button.vue +55 -0
  106. package/src/views/bd/setting/formVersion/compareBasicSection.vue +125 -0
  107. package/src/views/bd/setting/formVersion/compareCodeSection.vue +539 -0
  108. package/src/views/bd/setting/formVersion/compareContMixin.scss +65 -0
  109. package/src/views/bd/setting/formVersion/compareContent.vue +63 -0
  110. package/src/views/bd/setting/formVersion/compareDialog.vue +88 -0
  111. package/src/views/bd/setting/formVersion/compareMixin.js +93 -0
  112. package/src/views/bd/setting/formVersion/fieldCompare.vue +54 -0
  113. package/src/views/bd/setting/formVersion/formScriptCompareView.vue +94 -0
  114. package/src/views/bd/setting/formVersion/formTemplateCompareView.vue +74 -0
  115. package/src/views/bd/setting/formVersion/ftHistoryDialog.vue +491 -0
  116. package/src/views/bd/setting/formVersion/link.vue +58 -0
  117. package/src/views/bd/setting/formVersion/preformDialog.vue +87 -0
  118. package/src/views/bd/setting/formVersion/reverButton.vue +82 -0
  119. package/src/views/bd/setting/formVersion/tableDetailDiff.js +99 -0
  120. package/src/views/bd/setting/formVersion/tableModelCompareView.vue +514 -0
  121. package/src/views/bd/setting/formVersion/textDiff.js +102 -0
  122. package/src/views/bd/setting/form_import_log/edit.vue +6 -3
  123. package/src/views/bd/setting/form_import_log/list.vue +5 -0
  124. package/src/views/bd/setting/form_script/edit.vue +196 -83
  125. package/src/views/bd/setting/form_script/edit1.vue +410 -220
  126. package/src/views/bd/setting/form_script/form_list.vue +19 -0
  127. package/src/views/bd/setting/form_script/list.vue +95 -21
  128. package/src/views/bd/setting/form_script/list1.vue +24 -0
  129. package/src/views/bd/setting/form_script/mixins/dialog.js +2 -2
  130. package/src/views/bd/setting/form_script/mixins/edit.js +265 -207
  131. package/src/views/bd/setting/form_script/mixins/edit1.js +259 -201
  132. package/src/views/bd/setting/form_script/mixins/form_list.js +322 -296
  133. package/src/views/bd/setting/form_script/mixins/list.js +163 -95
  134. package/src/views/bd/setting/form_script/mixins/list1.js +244 -155
  135. package/src/views/bd/setting/form_script/mixins/otherAuthDialog.js +1 -1
  136. package/src/views/bd/setting/form_template/batchWfObjConfigDialog.vue +1 -1
  137. package/src/views/bd/setting/form_template/edit.vue +355 -205
  138. package/src/views/bd/setting/form_template/formDesignerDialog.vue +171 -0
  139. package/src/views/bd/setting/form_template/list.vue +49 -74
  140. package/src/views/bd/setting/form_template/mixins/batchWfObjConfigDialog.js +3 -3
  141. package/src/views/bd/setting/form_template/mixins/edit.js +51 -8
  142. package/src/views/bd/setting/form_template/mixins/itemList.js +1 -1
  143. package/src/views/bd/setting/form_template/mixins/list.js +114 -82
  144. package/src/views/bd/setting/form_template/mixins/list2.js +3 -3
  145. package/src/views/bd/setting/form_template/mixins/otherAuthDialog.js +1 -1
  146. package/src/views/bd/setting/form_template/mixins/wf_list.js +3 -7
  147. package/src/views/bd/setting/form_template/wfObjConfigDialog.vue +254 -254
  148. package/src/views/bd/setting/form_template/wf_list.vue +161 -127
  149. package/src/views/bd/setting/request_async_setting/edit.vue +320 -320
  150. package/src/views/bd/setting/request_setting/edit.vue +300 -300
  151. package/src/views/bd/setting/request_setting/list.vue +15 -25
  152. package/src/views/bd/setting/table_model/edit.vue +702 -498
  153. package/src/views/bd/setting/table_model/list.vue +28 -0
  154. package/src/views/bd/setting/table_model/mixins/dialog.js +1 -1
  155. package/src/views/bd/setting/table_model/mixins/edit copy.js +903 -0
  156. package/src/views/bd/setting/table_model/mixins/edit.js +228 -121
  157. package/src/views/bd/setting/table_model/mixins/list.js +55 -20
  158. package/src/views/bd/setting/table_model/mixins/otherAuthDialog.js +1 -1
  159. package/src/views/bd/setting/table_model/mixins/zdDialog.js +50 -46
  160. package/src/views/bd/setting/utils/index.js +15 -0
  161. package/src/views/user/api_request/list.vue +203 -203
  162. package/src/views/user/bill_setting/list.vue +345 -345
  163. package/src/views/user/code_rules/list.vue +204 -204
  164. package/src/views/user/common_attribute/list.vue +378 -378
  165. package/src/views/user/common_script/list.vue +341 -341
  166. package/src/views/user/company_info/dialog.vue +80 -49
  167. package/src/views/user/country/list.vue +197 -197
  168. package/src/views/user/extend_datasource/dialog.vue +0 -3
  169. package/src/views/user/extend_datasource/edit.vue +1 -2
  170. package/src/views/user/extend_datasource/list.vue +221 -224
  171. package/src/views/user/fieldTranslation/editDialog.vue +1 -1
  172. package/src/views/user/fieldTranslation/list.vue +473 -473
  173. package/src/views/user/field_values_invisible/list.vue +207 -207
  174. package/src/views/user/file_type/list.vue +271 -271
  175. package/src/views/user/file_view_area/list.vue +331 -331
  176. package/src/views/user/form/vform/designer.vue +303 -287
  177. package/src/views/user/form/vform/formFieldMapping.js +2 -3
  178. package/src/views/user/form/view/edit.vue +19 -1
  179. package/src/views/user/form/view/list.vue +59 -17
  180. package/src/views/user/groups/list.vue +158 -158
  181. package/src/views/user/home/default.vue +274 -182
  182. package/src/views/user/home/default2.vue +1148 -0
  183. package/src/views/user/home/index.vue +2 -1
  184. package/src/views/user/lang_tag/list.vue +170 -170
  185. package/src/views/user/language_setting/list.vue +208 -208
  186. package/src/views/user/ledger_library/list.vue +12 -10
  187. package/src/views/user/login/default.vue +1 -1
  188. package/src/views/user/login/indexMixin.js +204 -169
  189. package/src/views/user/menu/list.vue +575 -575
  190. package/src/views/user/notify_message/dialog.vue +7 -1
  191. package/src/views/user/notify_template/list.vue +192 -192
  192. package/src/views/user/notify_template/list2.vue +190 -190
  193. package/src/views/user/position/list.vue +188 -188
  194. package/src/views/user/project_tag/list.vue +175 -175
  195. package/src/views/user/push_setting/list.vue +236 -236
  196. package/src/views/user/request_setting/list.vue +248 -248
  197. package/src/views/user/role/list.vue +182 -182
  198. package/src/views/user/system_notice/infoDialog.vue +61 -2
  199. package/src/views/user/system_notice/list.vue +203 -203
  200. package/src/views/user/system_parameter/list.vue +141 -141
  201. package/src/views/user/user/edit.vue +45 -0
  202. package/src/views/user/user/form_list.vue +245 -245
  203. package/src/views/user/user/info.vue +253 -140
  204. package/src/views/user/user_log_classify/list.vue +197 -197
  205. package/src/views/user/wf/iframe/index.vue +46 -46
  206. package/src/views/user/wf/wfReport/index.vue +1 -1
  207. package/src/views/user/wf/wf_auto_submit_data/list.vue +659 -659
  208. package/src/views/user/wf/wf_diy_attribute/edit.vue +1 -1
  209. package/src/views/user/wf/wf_manage/list.vue +795 -795
  210. package/src/views/user/wf/wf_manage/wfContentDialog.vue +106 -106
  211. package/src/views/user/wf/wf_obj_config/dialog.vue +2 -2
  212. package/src/views/user/wf/wf_obj_config/edit.vue +1 -1
  213. package/src/views/user/wf/wf_obj_config/edit_form.vue +2 -2
  214. package/src/views/user/wf/wf_obj_config/itemEdit.vue +1 -1
  215. package/src/views/user/wf/wf_obj_config/itemEdit_form.vue +1 -1
  216. package/src/views/user/wf/wf_obj_config/itemOperateDialog.vue +4 -4
  217. package/src/views/user/wf/wf_obj_config/list.vue +28 -28
  218. package/src/views/user/wf/wf_obj_config/list_form.vue +5 -5
  219. package/src/views/user/wf/wf_obj_config/wfBizDataSettingDialog.vue +292 -292
  220. package/src/views/user/wf/wf_param/edit.vue +1 -1
  221. package/src/views/user/wf/wf_transfer_setting/edit.vue +1 -1
  222. package/src/views/user/wf/wf_transfer_setting/list.vue +321 -319
  223. package/src/views/user/wf/wf_work_calendar/components/calendar.vue +369 -367
  224. package/src/views/user/wf/wf_work_calendar/components/calendar2.vue +401 -399
  225. package/src/views/user/wf/wf_work_calendar/configDialog.vue +6 -6
  226. package/src/views/user/wf/wf_work_calendar/date.js +84 -83
  227. package/src/views/user/wf/wf_work_calendar/list.vue +6 -6
  228. package/src/views/user/workbench_menu/list.vue +555 -0
@@ -1,659 +1,659 @@
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"
7
- @reload="$reloadHandle"></editView>
8
- <edithView v-if="showEdit2" visible-key="showEdit2" :_dataId.sync="dataId2" :serviceId.sync="serviceId2"
9
- :parent-target="_self"
10
- @reload="$reloadHandle"></edithView>
11
-
12
- </el-tab-pane>
13
- <el-tab-pane :label="$t1('待执行记录')" name="second">
14
- <div class="tree-box fl">
15
- <div class="tit"><b>{{ $t1('服务名') }}</b></div>
16
- <el-tree
17
- :props="defaultProps"
18
- :load="loadNode"
19
- node-key="uuid"
20
- ref="tree"
21
- highlight-current
22
- lazy
23
- :expand-on-click-node="false"
24
- @node-click="handleNodeClick"
25
- class="tree-list"
26
- icon-class="el-icon-arrow-down"
27
- ></el-tree>
28
- </div>
29
- <label id="labBtn">
30
- <div class="icon">
31
- <i class="el-icon-more"></i>
32
- <i class="el-icon-more"></i>
33
- </div>
34
- </label>
35
- <div class="main-right fr" style="padding-left:6px;">
36
- <div class="grid-height">
37
- <vxe-grid ref="table-m1" v-bind="vxeOption" @resizable-change="$vxeTableUtil.onColumnWitchChange"
38
- @custom="$vxeTableUtil.customHandle">
39
- <template #form>
40
- <div class="clearfix screen-btns">
41
- <div class="fl">
42
- <base-table-export :option="{ title: $t1('流程待办导出'), targetRef: 'table-m1'}"
43
- :parent-target="_self"/>
44
- </div>
45
- <div class="fr">
46
- <vxe-button icon="el-icon-brush" class="button-sty" @click="resetEvent" type="text" status="primary"
47
- plain>{{ $t1('重置') }}
48
- </vxe-button>
49
- <vxe-button status="warning" icon="el-icon-search" class="button-sty" @click="searchEvent">
50
- {{ $t1('搜索') }}
51
- </vxe-button>
52
- </div>
53
- </div>
54
- <vxe-form ref="form" class="screen-box" title-width="92px" title-align="right" :data="formData"
55
- @submit="searchEvent" @reset="searchEvent">
56
- <vxe-form-item :title="$t1('服务名')+':'">
57
- <template v-slot>
58
- <el-input v-model="checkNodeData.label" size="small" disabled/>
59
- </template>
60
- </vxe-form-item>
61
- <vxe-form-item :title="$t1('流程主题')+':'" field="name">
62
- <template v-slot>
63
- <el-input v-model="formData.name" size="small" clearable/>
64
- </template>
65
- </vxe-form-item>
66
- <vxe-form-item :title="$t1('单据类型')+':'" field="objTypeName">
67
- <template v-slot>
68
- <el-input
69
- class="search-input"
70
- max="200"
71
- v-model="formData.objTypeName"
72
- @clear="
73
- formData.objTypeCode = null;
74
- $forceUpdate();
75
- "
76
- v-el-readonly
77
- clearable
78
- >
79
- <i slot="suffix" class="el-input__icon el-icon-search"
80
- @click="showWfObjConfigDialog = true"></i>
81
- </el-input>
82
- </template>
83
- </vxe-form-item>
84
- <vxe-form-item :title="$t1('待执行时间')+':'">
85
- <template v-slot>
86
- <el-date-picker
87
- v-model="formData.startToExeTime"
88
- type="datetime"
89
- placeholder=""
90
- size="small"
91
- clearable
92
- value-format="yyyy-MM-dd HH:mm:ss"
93
- :picker-options="$baseStartPickerOptions(formData.endToExeTime)"
94
- ></el-date-picker>
95
- <span>-</span>
96
- <el-date-picker
97
- v-model="formData.endToExeTime"
98
- type="datetime"
99
- placeholder=""
100
- size="small"
101
- clearable
102
- value-format="yyyy-MM-dd HH:mm:ss"
103
- default-time="23:59:59"
104
- :picker-options="$baseEndPickerOptions(formData.startToExeTime)"
105
- ></el-date-picker>
106
- </template>
107
- </vxe-form-item>
108
- </vxe-form>
109
- </template>
110
- </vxe-grid>
111
- </div>
112
- </div>
113
- </el-tab-pane>
114
- <el-tab-pane :label="$t1('历史记录')" name="third">
115
- <template v-if="showTabContent2">
116
- <div class="tree-box fl">
117
- <div class="tit"><b>{{ $t1('服务名') }}</b></div>
118
- <el-tree
119
- :props="defaultProps"
120
- :load="loadNode2"
121
- node-key="uuid"
122
- ref="tree2"
123
- highlight-current
124
- lazy
125
- :expand-on-click-node="false"
126
- @node-click="handleNodeClick2"
127
- class="tree-list"
128
- icon-class="el-icon-arrow-down"
129
- ></el-tree>
130
- </div>
131
- <label id="labBtn2" class="dilatory-box">
132
- <div class="icon">
133
- <i class="el-icon-more"></i>
134
- <i class="el-icon-more"></i>
135
- </div>
136
- </label>
137
- <div class="main-right fr" style="padding-left:6px;">
138
- <div class="grid-height">
139
- <vxe-grid ref="table-m2" v-bind="vxeOption2" @resizable-change="$vxeTableUtil.onColumnWitchChange"
140
- @custom="$vxeTableUtil.customHandle">
141
- <template #form>
142
- <div class="clearfix screen-btns">
143
- <div class="fl">
144
- <base-table-export :option="{ title: $t1('流程待办导出'), targetRef: 'table-m2'}"
145
- :parent-target="_self"/>
146
- </div>
147
- <div class="fr">
148
- <vxe-button icon="el-icon-brush" class="button-sty" @click="resetEvent2" type="text"
149
- status="primary"
150
- plain>{{ $t1('重置') }}
151
- </vxe-button>
152
- <vxe-button status="warning" icon="el-icon-search" class="button-sty" @click="searchEvent2">
153
- {{ $t1('搜索') }}
154
- </vxe-button>
155
- </div>
156
- </div>
157
- <vxe-form ref="form" class="screen-box" title-width="92px" title-align="right" :data="formData2"
158
- @submit="searchEvent2" @reset="searchEvent2">
159
- <vxe-form-item :title="$t1('服务名')+':'">
160
- <template v-slot>
161
- <el-input v-model="checkNodeData2.label" size="small" disabled/>
162
- </template>
163
- </vxe-form-item>
164
- <vxe-form-item :title="$t1('流程主题')+':'" field="name">
165
- <template v-slot>
166
- <el-input v-model="formData2.name" size="small" clearable/>
167
- </template>
168
- </vxe-form-item>
169
- <vxe-form-item :title="$t1('单据类型')+':'" field="objTypeName">
170
- <template v-slot>
171
- <el-input
172
- class="search-input"
173
- max="200"
174
- v-model="formData2.objTypeName"
175
- @clear="
176
- formData2.objTypeCode = null;
177
- $forceUpdate();
178
- "
179
- v-el-readonly
180
- clearable
181
- >
182
- <i slot="suffix" class="el-input__icon el-icon-search"
183
- @click="showWfObjConfigDialog2 = true"></i>
184
- </el-input>
185
- </template>
186
- </vxe-form-item>
187
- <vxe-form-item :title="$t1('处理结果')+':'" field="result">
188
- <template v-slot>
189
- <el-select v-model="formData2.result" clearable>
190
- <el-option :value="0" :label="$t1('未处理')"></el-option>
191
- <el-option :value="1" :label="$t1('处理成功')"></el-option>
192
- <el-option :value="2" :label="$t1('处理失败异常')"></el-option>
193
- </el-select>
194
- </template>
195
- </vxe-form-item>
196
- <vxe-form-item :title="$t1('待执行时间')+':'">
197
- <template v-slot>
198
- <el-date-picker
199
- v-model="formData2.startToExeTime"
200
- type="datetime"
201
- placeholder=""
202
- size="small"
203
- clearable
204
- value-format="yyyy-MM-dd HH:mm:ss"
205
- :picker-options="$baseStartPickerOptions(formData2.endToExeTime)"
206
- ></el-date-picker>
207
- <span>-</span>
208
- <el-date-picker
209
- v-model="formData2.endToExeTime"
210
- type="datetime"
211
- placeholder=""
212
- size="small"
213
- clearable
214
- value-format="yyyy-MM-dd HH:mm:ss"
215
- default-time="23:59:59"
216
- :picker-options="$baseEndPickerOptions(formData2.startToExeTime)"
217
- ></el-date-picker>
218
- </template>
219
- </vxe-form-item>
220
- </vxe-form>
221
- </template>
222
- <template #operate="{row}">
223
- <a
224
- href="javascript:void(0);"
225
- class="a-link"
226
- @click="() => {
227
- openEditDialog2(row.id);
228
- }"
229
- >
230
- <el-tooltip :enterable="false" effect="dark" :content="$t1('查看')" placement="top"
231
- popper-class="tooltip-skin">
232
- <i class="el-icon-edit"/>
233
- </el-tooltip>
234
- </a>
235
- </template>
236
- </vxe-grid>
237
- </div>
238
- </div>
239
- </template>
240
- </el-tab-pane>
241
- </el-tabs>
242
- <wfObjConfigDialog v-if="showWfObjConfigDialog" :visiable.sync="showWfObjConfigDialog" :type.sync="type"
243
- @confirm="confirmInsertWfObjConfig" :multi="false"></wfObjConfigDialog>
244
- <wfObjConfigDialog v-if="showWfObjConfigDialog2" :visiable.sync="showWfObjConfigDialog2" :type="99"
245
- @confirm="confirmInsertWfObjConfig2" :multi="false"></wfObjConfigDialog>
246
- </div>
247
- </template>
248
- <script>
249
- import {treeScollx} from '@base/utils/global.js';
250
- import wfObjConfigDialog from '../../../../views/user/wf/wf_obj_config/dialog.vue';
251
- import editView from "./edit";
252
- import edithView from "./edith";
253
-
254
-
255
- export default {
256
- name: 'wf_auto_submit_data:list',
257
- components: {editView, edithView, wfObjConfigDialog},
258
- created() {
259
- },
260
- async mounted() {
261
- treeScollx({target: this, type: 'default'});
262
- },
263
- data() {
264
- return {
265
- activeName: 'second',
266
- dataId: 0,
267
- showEdit: false,
268
- dataId2: 0,
269
- showEdit2: false,
270
- vxeOption: {},
271
- formData: {},
272
- checkNode: {},
273
- checkNode2: {},
274
- defaultProps: {
275
- label: 'label', //这里是树结构中需显示的数据(即接口返回的需展示在页面上的参数)
276
- children: [],
277
- isLeaf: 'leaf'
278
- },
279
- showWfObjConfigDialog: false,
280
- showWfObjConfigDialog2: false,
281
- vxeOption2: {},
282
- formData2: {},
283
- showTabContent2: false,
284
- serviceId: null,
285
- serviceId2: null,
286
- };
287
- },
288
- computed: {
289
- checkNodeData() {
290
- return this.checkNode && this.checkNode.data ? this.checkNode.data : {};
291
- },
292
- checkNodeData2() {
293
- return this.checkNode2 && this.checkNode2.data ? this.checkNode2.data : {};
294
- }
295
- },
296
- watch: {
297
- activeName(val) {
298
- if (val == "third" && !this.showTabContent2) {
299
- this.showTabContent2 = true;
300
- this.$nextTick(() => {
301
- treeScollx({target: this, type: 'default', dragBtn: '#labBtn2'});
302
- })
303
- }
304
- }
305
- },
306
- methods: {
307
- searchEvent() {
308
- this.$refs['table-m1'].commitProxy('reload');
309
- },
310
- resetEvent() {
311
- this.formData = {};
312
- this.$refs['table-m1'].commitProxy('reload');
313
- },
314
-
315
- initTableList() {
316
- let that = this;
317
- let tableOption = {
318
- vue: this,
319
- tableRef: 'table-m1',
320
- tableName: 'user-wf_auto_submit_data-m1',
321
- path: () => {
322
- let serviceId = this.serviceId;
323
- return "/" + serviceId + "/wf_auto_submit_data/listPage";
324
- },
325
- param: () => {
326
- return {
327
- ...this.formData
328
- };
329
- },
330
- columns: [
331
- {type: 'checkbox', width: 48, resizable: false, fixed: 'left'},
332
- {
333
- title: this.$t1('流程名称'),
334
- field: 'name',
335
- width: 150,
336
- fixed: 'left'
337
- },
338
- {
339
- title: this.$t1('单据类型编码'),
340
- field: 'objTypeCode',
341
- width: 150
342
- },
343
- {
344
- title: this.$t1('启动人'),
345
- field: 'starterName',
346
- width: 150
347
- },
348
- {
349
- title: this.$t1('当前任务'),
350
- field: 'taskName',
351
- width: 150
352
- },
353
- {
354
- title: this.$t1('当前任务用户'),
355
- field: 'candidateNames',
356
- width: 150
357
- },
358
- {
359
- title: this.$t1('待执行时间'),
360
- field: 'toExeTime',
361
- width: 150
362
- },
363
- {
364
- title: this.$t1('启动时间'),
365
- field: 'createDate',
366
- width: 150
367
- },
368
- {
369
- width: 47,
370
- fixed: 'right',
371
- title: '',
372
- sortable: false,
373
- slots: {
374
- default: ({row}) => {
375
- return [
376
- <a
377
- href="javascript:void(0);"
378
- class="a-link"
379
- onclick={() => {
380
- this.openEditDialog(row.id);
381
- }}
382
- >
383
- <el-tooltip enterable={false} effect="dark" content={this.$t1('查看')} placement="top"
384
- popper-class="tooltip-skin">
385
- <i class="el-icon-edit"/>
386
- </el-tooltip>
387
- </a>
388
- ];
389
- }
390
- }
391
- }
392
- ]
393
- };
394
- this.$vxeTableUtil.initVxeTable(tableOption).then(opts => {
395
- this.vxeOption = opts;
396
- });
397
- },
398
- openEditDialog(id) {
399
- this.showEdit2 = false;
400
- this.$nextTick(() => {
401
- this.dataId = !id || typeof id == 'object' ? 0 : id;
402
- this.activeName = 'first';
403
- this.$openEditView('showEdit');
404
- })
405
- },
406
- openEditDialog2(id) {
407
- this.showEdit = false;
408
- this.$nextTick(() => {
409
- this.dataId2 = !id || typeof id == 'object' ? 0 : id;
410
- this.activeName = 'first';
411
- this.$openEditView('showEdit2');
412
- })
413
- },
414
- guid() {
415
- return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
416
- var r = (Math.random() * 16) | 0,
417
- v = c == 'x' ? r : (r & 0x3) | 0x8;
418
- return v.toString(16);
419
- });
420
- },
421
- clearNodeClick() {
422
-
423
- },
424
- handleNodeClick(data, node, v) {
425
- this.formData.objTypeName = null;
426
- this.formData.objTypeCode = null;
427
- this.chooseNode(data.uuid);
428
- this.$forceUpdate();
429
- this.searchEvent();
430
- },
431
- // 异步树叶子节点懒加载逻辑
432
- loadNode(node, resolve) {
433
- this.$http({
434
- url: USER_PREFIX + `/wf_obj_config/wfServiceIds`,
435
- method: `post`,
436
- data: {},
437
- isLoading: true,
438
- modalStrictly: true,
439
- success: res => {
440
- let serviceIds = res.objx || [];
441
- let rows = serviceIds.map(serviceId => {
442
- return {
443
- leaf: true,
444
- serviceId: serviceId,
445
- label: serviceId,
446
- uuid: this.guid()
447
- };
448
- });
449
- resolve(rows);
450
- let firstUuid = rows.length > 0 ? rows[0].uuid : null;
451
- if (firstUuid) {
452
- this.$nextTick(() => {
453
- this.chooseNode(firstUuid)
454
- this.initTableList();
455
- })
456
- }
457
- }
458
- });
459
- },
460
- chooseNode(uuid) {
461
- if (uuid) {
462
- let node = this.$refs.tree.getNode(uuid);
463
- this.$refs.tree.setCurrentKey(node.data);
464
- this.checkNode = node
465
- this.serviceId = node.data.serviceId;
466
- } else {
467
- this.checkNode = null;
468
- this.serviceId = null;
469
- }
470
- },
471
- handleNodeClick2(data, node, v) {
472
- this.formData2.objTypeName = null;
473
- this.formData2.objTypeCode = null;
474
- this.chooseNode2(data.uuid);
475
- this.$forceUpdate();
476
- this.searchEvent2();
477
- },
478
- // 异步树叶子节点懒加载逻辑
479
- loadNode2(node, resolve) {
480
- this.$http({
481
- url: USER_PREFIX + `/wf_obj_config/wfServiceIds`,
482
- method: `post`,
483
- data: {},
484
- isLoading: true,
485
- modalStrictly: true,
486
- success: res => {
487
- let serviceIds = res.objx || [];
488
- let rows = serviceIds.map(serviceId => {
489
- return {
490
- leaf: true,
491
- serviceId: serviceId,
492
- label: serviceId,
493
- uuid: this.guid()
494
- };
495
- });
496
- resolve(rows);
497
- let firstUuid = rows.length > 0 ? rows[0].uuid : null;
498
- if (firstUuid) {
499
- this.$nextTick(() => {
500
- this.chooseNode2(firstUuid)
501
- this.initTableList2();
502
- })
503
- }
504
- }
505
- });
506
- },
507
- chooseNode2(uuid) {
508
- if (uuid) {
509
- let node = this.$refs.tree2.getNode(uuid);
510
- this.$refs.tree2.setCurrentKey(node.data);
511
- this.checkNode2 = node
512
- this.serviceId2 = node.data.serviceId;
513
- } else {
514
- this.checkNode2 = null;
515
- this.serviceId2 = node.data.serviceId;
516
- }
517
- },
518
- confirmInsertWfObjConfig(rows) {
519
- if (rows.length) {
520
- let row = rows[0];
521
- this.$set(this.formData, 'objTypeName', row.objTypeName);
522
- this.$set(this.formData, 'objTypeCode', row.objTypeCode);
523
- }
524
- },
525
- //m2
526
- searchEvent2() {
527
- this.$refs['table-m2'].commitProxy('reload');
528
- },
529
- resetEvent2() {
530
- this.formData2 = {};
531
- this.$refs['table-m2'].commitProxy('reload');
532
- },
533
- initTableList2() {
534
- let that = this;
535
- let resultMap = {0: this.$t1('未处理'), 1: this.$t1('处理成功'), 2: this.$t1('处理失败异常')};
536
- let tableOption = {
537
- vue: this,
538
- tableRef: 'table-m2',
539
- tableName: 'user-wf_auto_submit_data-m2',
540
- path: () => {
541
- let serviceId = this.serviceId2;
542
- return "/" + serviceId + "/wf_auto_submit_datah/listPage";
543
- },
544
- param: () => {
545
- return {
546
- ...this.formData2
547
- };
548
- },
549
- columns: [
550
- {type: 'checkbox', width: 48, resizable: false, fixed: 'left'},
551
- {
552
- title: this.$t1('流程名称'),
553
- field: 'name',
554
- width: 150,
555
- fixed: 'left'
556
- },
557
- {
558
- title: this.$t1('单据类型编码'),
559
- field: 'objTypeCode',
560
- width: 150
561
- },
562
- {
563
- title: this.$t1('启动人'),
564
- field: 'starterName',
565
- width: 150
566
- },
567
- {
568
- title: this.$t1('当前任务'),
569
- field: 'taskName',
570
- width: 150
571
- },
572
- {
573
- title: this.$t1('当前任务用户'),
574
- field: 'candidateNames',
575
- width: 150
576
- },
577
- {
578
- title: this.$t1('待执行时间'),
579
- field: 'toExeTime',
580
- width: 150
581
- },
582
- {
583
- title: this.$t1('处理结果'),
584
- field: 'result',
585
- width: 150,
586
- slots: {
587
- default: ({row}) => {
588
- return resultMap[row.result] || null;
589
- }
590
- }
591
- },
592
- {
593
- title: this.$t1('处理结果描述'),
594
- field: 'resultDesc',
595
- width: 150
596
- },
597
- {
598
- title: this.$t1('启动时间'),
599
- field: 'createDate',
600
- width: 150
601
- },
602
- {
603
- width: 47,
604
- fixed: 'right',
605
- title: '',
606
- sortable: false,
607
- slots: {
608
- default: "operate"
609
- }
610
- }
611
- ]
612
- };
613
- this.$vxeTableUtil.initVxeTable(tableOption).then(opts => {
614
- this.vxeOption2 = opts;
615
- });
616
- },
617
- confirmInsertWfObjConfig2(rows) {
618
- if (rows.length) {
619
- let row = rows[0];
620
- this.$set(this.formData2, 'objTypeName', row.objTypeName);
621
- this.$set(this.formData2, 'objTypeCode', row.objTypeCode);
622
- }
623
- },
624
- initWfServiceIds() {
625
- return this.$http({
626
- url: USER_PREFIX + `/wf_obj_config/wfServiceIds`,
627
- method: `post`,
628
- data: {},
629
- isLoading: true,
630
- modalStrictly: true,
631
- success: res => {
632
- this.serviceIds = res.objx || [];
633
- }
634
- });
635
- },
636
- resubmit(row) {
637
- this.$baseConfirm(this.$t1('您确定要重推吗?')).then(() => {
638
- var url = "/" + this.serviceId2 + `/wf_auto_submit_datah/resubmit`;
639
- this.$http({
640
- url: url,
641
- method: `post`,
642
- data: row,
643
- isLoading: true,
644
- success: res => {
645
- this.$message({
646
- message: res.content,
647
- type: 'success',
648
- duration: 2000
649
- });
650
- this.$nextTick(() => {
651
- this.searchEvent2()
652
- })
653
- }
654
- });
655
- });
656
- }
657
- }
658
- };
659
- </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"
7
+ @reload="$reloadHandle"></editView>
8
+ <edithView v-if="showEdit2" visible-key="showEdit2" :_dataId.sync="dataId2" :serviceId.sync="serviceId2"
9
+ :parent-target="_self"
10
+ @reload="$reloadHandle"></edithView>
11
+
12
+ </el-tab-pane>
13
+ <el-tab-pane :label="$t1('待执行记录')" name="second" class="flex">
14
+ <div class="tree-box fl">
15
+ <div class="tit"><b>{{ $t1('服务名') }}</b></div>
16
+ <el-tree
17
+ :props="defaultProps"
18
+ :load="loadNode"
19
+ node-key="uuid"
20
+ ref="tree"
21
+ highlight-current
22
+ lazy
23
+ :expand-on-click-node="false"
24
+ @node-click="handleNodeClick"
25
+ class="tree-list"
26
+ icon-class="el-icon-arrow-down"
27
+ ></el-tree>
28
+ </div>
29
+ <label id="labBtn">
30
+ <div class="icon">
31
+ <i class="el-icon-more"></i>
32
+ <i class="el-icon-more"></i>
33
+ </div>
34
+ </label>
35
+ <div class="main-right fr" style="padding-left:6px;">
36
+ <div class="grid-height">
37
+ <vxe-grid ref="table-m1" v-bind="vxeOption" @resizable-change="$vxeTableUtil.onColumnWitchChange"
38
+ @custom="$vxeTableUtil.customHandle">
39
+ <template #form>
40
+ <div class="clearfix screen-btns">
41
+ <div class="fl">
42
+ <base-table-export :option="{ title: $t1('流程待办导出'), targetRef: 'table-m1'}"
43
+ :parent-target="_self"/>
44
+ </div>
45
+ <div class="fr">
46
+ <vxe-button icon="el-icon-brush" class="button-sty" @click="resetEvent" type="text" status="primary"
47
+ plain>{{ $t1('重置') }}
48
+ </vxe-button>
49
+ <vxe-button status="warning" icon="el-icon-search" class="button-sty" @click="searchEvent">
50
+ {{ $t1('搜索') }}
51
+ </vxe-button>
52
+ </div>
53
+ </div>
54
+ <vxe-form ref="form" class="screen-box" title-width="92px" title-align="right" :data="formData"
55
+ @submit="searchEvent" @reset="searchEvent">
56
+ <vxe-form-item :title="$t1('服务名')+':'">
57
+ <template v-slot>
58
+ <el-input v-model="checkNodeData.label" size="small" disabled/>
59
+ </template>
60
+ </vxe-form-item>
61
+ <vxe-form-item :title="$t1('流程主题')+':'" field="name">
62
+ <template v-slot>
63
+ <el-input v-model="formData.name" size="small" clearable/>
64
+ </template>
65
+ </vxe-form-item>
66
+ <vxe-form-item :title="$t1('单据类型')+':'" field="objTypeName">
67
+ <template v-slot>
68
+ <el-input
69
+ class="search-input"
70
+ max="200"
71
+ v-model="formData.objTypeName"
72
+ @clear="
73
+ formData.objTypeCode = null;
74
+ $forceUpdate();
75
+ "
76
+ v-el-readonly
77
+ clearable
78
+ >
79
+ <i slot="suffix" class="el-input__icon el-icon-search"
80
+ @click="showWfObjConfigDialog = true"></i>
81
+ </el-input>
82
+ </template>
83
+ </vxe-form-item>
84
+ <vxe-form-item :title="$t1('待执行时间')+':'">
85
+ <template v-slot>
86
+ <el-date-picker
87
+ v-model="formData.startToExeTime"
88
+ type="datetime"
89
+ placeholder=""
90
+ size="small"
91
+ clearable
92
+ value-format="yyyy-MM-dd HH:mm:ss"
93
+ :picker-options="$baseStartPickerOptions(formData.endToExeTime)"
94
+ ></el-date-picker>
95
+ <span>-</span>
96
+ <el-date-picker
97
+ v-model="formData.endToExeTime"
98
+ type="datetime"
99
+ placeholder=""
100
+ size="small"
101
+ clearable
102
+ value-format="yyyy-MM-dd HH:mm:ss"
103
+ default-time="23:59:59"
104
+ :picker-options="$baseEndPickerOptions(formData.startToExeTime)"
105
+ ></el-date-picker>
106
+ </template>
107
+ </vxe-form-item>
108
+ </vxe-form>
109
+ </template>
110
+ </vxe-grid>
111
+ </div>
112
+ </div>
113
+ </el-tab-pane>
114
+ <el-tab-pane :label="$t1('历史记录')" name="third" class="flex">
115
+ <template v-if="showTabContent2">
116
+ <div class="tree-box fl">
117
+ <div class="tit"><b>{{ $t1('服务名') }}</b></div>
118
+ <el-tree
119
+ :props="defaultProps"
120
+ :load="loadNode2"
121
+ node-key="uuid"
122
+ ref="tree2"
123
+ highlight-current
124
+ lazy
125
+ :expand-on-click-node="false"
126
+ @node-click="handleNodeClick2"
127
+ class="tree-list"
128
+ icon-class="el-icon-arrow-down"
129
+ ></el-tree>
130
+ </div>
131
+ <label id="labBtn2" class="dilatory-box">
132
+ <div class="icon">
133
+ <i class="el-icon-more"></i>
134
+ <i class="el-icon-more"></i>
135
+ </div>
136
+ </label>
137
+ <div class="main-right fr" style="padding-left:6px;">
138
+ <div class="grid-height">
139
+ <vxe-grid ref="table-m2" v-bind="vxeOption2" @resizable-change="$vxeTableUtil.onColumnWitchChange"
140
+ @custom="$vxeTableUtil.customHandle">
141
+ <template #form>
142
+ <div class="clearfix screen-btns">
143
+ <div class="fl">
144
+ <base-table-export :option="{ title: $t1('流程待办导出'), targetRef: 'table-m2'}"
145
+ :parent-target="_self"/>
146
+ </div>
147
+ <div class="fr">
148
+ <vxe-button icon="el-icon-brush" class="button-sty" @click="resetEvent2" type="text"
149
+ status="primary"
150
+ plain>{{ $t1('重置') }}
151
+ </vxe-button>
152
+ <vxe-button status="warning" icon="el-icon-search" class="button-sty" @click="searchEvent2">
153
+ {{ $t1('搜索') }}
154
+ </vxe-button>
155
+ </div>
156
+ </div>
157
+ <vxe-form ref="form" class="screen-box" title-width="92px" title-align="right" :data="formData2"
158
+ @submit="searchEvent2" @reset="searchEvent2">
159
+ <vxe-form-item :title="$t1('服务名')+':'">
160
+ <template v-slot>
161
+ <el-input v-model="checkNodeData2.label" size="small" disabled/>
162
+ </template>
163
+ </vxe-form-item>
164
+ <vxe-form-item :title="$t1('流程主题')+':'" field="name">
165
+ <template v-slot>
166
+ <el-input v-model="formData2.name" size="small" clearable/>
167
+ </template>
168
+ </vxe-form-item>
169
+ <vxe-form-item :title="$t1('单据类型')+':'" field="objTypeName">
170
+ <template v-slot>
171
+ <el-input
172
+ class="search-input"
173
+ max="200"
174
+ v-model="formData2.objTypeName"
175
+ @clear="
176
+ formData2.objTypeCode = null;
177
+ $forceUpdate();
178
+ "
179
+ v-el-readonly
180
+ clearable
181
+ >
182
+ <i slot="suffix" class="el-input__icon el-icon-search"
183
+ @click="showWfObjConfigDialog2 = true"></i>
184
+ </el-input>
185
+ </template>
186
+ </vxe-form-item>
187
+ <vxe-form-item :title="$t1('处理结果')+':'" field="result">
188
+ <template v-slot>
189
+ <el-select v-model="formData2.result" clearable>
190
+ <el-option :value="0" :label="$t1('未处理')"></el-option>
191
+ <el-option :value="1" :label="$t1('处理成功')"></el-option>
192
+ <el-option :value="2" :label="$t1('处理失败异常')"></el-option>
193
+ </el-select>
194
+ </template>
195
+ </vxe-form-item>
196
+ <vxe-form-item :title="$t1('待执行时间')+':'">
197
+ <template v-slot>
198
+ <el-date-picker
199
+ v-model="formData2.startToExeTime"
200
+ type="datetime"
201
+ placeholder=""
202
+ size="small"
203
+ clearable
204
+ value-format="yyyy-MM-dd HH:mm:ss"
205
+ :picker-options="$baseStartPickerOptions(formData2.endToExeTime)"
206
+ ></el-date-picker>
207
+ <span>-</span>
208
+ <el-date-picker
209
+ v-model="formData2.endToExeTime"
210
+ type="datetime"
211
+ placeholder=""
212
+ size="small"
213
+ clearable
214
+ value-format="yyyy-MM-dd HH:mm:ss"
215
+ default-time="23:59:59"
216
+ :picker-options="$baseEndPickerOptions(formData2.startToExeTime)"
217
+ ></el-date-picker>
218
+ </template>
219
+ </vxe-form-item>
220
+ </vxe-form>
221
+ </template>
222
+ <template #operate="{row}">
223
+ <a
224
+ href="javascript:void(0);"
225
+ class="a-link"
226
+ @click="() => {
227
+ openEditDialog2(row.id);
228
+ }"
229
+ >
230
+ <el-tooltip :enterable="false" effect="dark" :content="$t1('查看')" placement="top"
231
+ popper-class="tooltip-skin">
232
+ <i class="el-icon-view"/>
233
+ </el-tooltip>
234
+ </a>
235
+ </template>
236
+ </vxe-grid>
237
+ </div>
238
+ </div>
239
+ </template>
240
+ </el-tab-pane>
241
+ </el-tabs>
242
+ <wfObjConfigDialog v-if="showWfObjConfigDialog" :visiable.sync="showWfObjConfigDialog" :type.sync="type"
243
+ @confirm="confirmInsertWfObjConfig" :multi="false"></wfObjConfigDialog>
244
+ <wfObjConfigDialog v-if="showWfObjConfigDialog2" :visiable.sync="showWfObjConfigDialog2" :type="99"
245
+ @confirm="confirmInsertWfObjConfig2" :multi="false"></wfObjConfigDialog>
246
+ </div>
247
+ </template>
248
+ <script>
249
+ import {treeScollx} from '@base/utils/global.js';
250
+ import wfObjConfigDialog from '../../../../views/user/wf/wf_obj_config/dialog.vue';
251
+ import editView from "./edit";
252
+ import edithView from "./edith";
253
+
254
+
255
+ export default {
256
+ name: 'wf_auto_submit_data:list',
257
+ components: {editView, edithView, wfObjConfigDialog},
258
+ created() {
259
+ },
260
+ async mounted() {
261
+ treeScollx({target: this, type: 'default'});
262
+ },
263
+ data() {
264
+ return {
265
+ activeName: 'second',
266
+ dataId: 0,
267
+ showEdit: false,
268
+ dataId2: 0,
269
+ showEdit2: false,
270
+ vxeOption: {},
271
+ formData: {},
272
+ checkNode: {},
273
+ checkNode2: {},
274
+ defaultProps: {
275
+ label: 'label', //这里是树结构中需显示的数据(即接口返回的需展示在页面上的参数)
276
+ children: [],
277
+ isLeaf: 'leaf'
278
+ },
279
+ showWfObjConfigDialog: false,
280
+ showWfObjConfigDialog2: false,
281
+ vxeOption2: {},
282
+ formData2: {},
283
+ showTabContent2: false,
284
+ serviceId: null,
285
+ serviceId2: null,
286
+ };
287
+ },
288
+ computed: {
289
+ checkNodeData() {
290
+ return this.checkNode && this.checkNode.data ? this.checkNode.data : {};
291
+ },
292
+ checkNodeData2() {
293
+ return this.checkNode2 && this.checkNode2.data ? this.checkNode2.data : {};
294
+ }
295
+ },
296
+ watch: {
297
+ activeName(val) {
298
+ if (val === "third" && !this.showTabContent2) {
299
+ this.showTabContent2 = true;
300
+ this.$nextTick(() => {
301
+ treeScollx({target: this, type: 'default', dragBtn: '#labBtn2'});
302
+ })
303
+ }
304
+ }
305
+ },
306
+ methods: {
307
+ searchEvent() {
308
+ this.$refs['table-m1'].commitProxy('reload');
309
+ },
310
+ resetEvent() {
311
+ this.formData = {};
312
+ this.$refs['table-m1'].commitProxy('reload');
313
+ },
314
+
315
+ initTableList() {
316
+ let that = this;
317
+ let tableOption = {
318
+ vue: this,
319
+ tableRef: 'table-m1',
320
+ tableName: 'user-wf_auto_submit_data-m1',
321
+ path: () => {
322
+ let serviceId = this.serviceId;
323
+ return "/" + serviceId + "/wf_auto_submit_data/listPage";
324
+ },
325
+ param: () => {
326
+ return {
327
+ ...this.formData
328
+ };
329
+ },
330
+ columns: [
331
+ {type: 'checkbox', width: 48, resizable: false, fixed: 'left'},
332
+ {
333
+ title: this.$t1('流程名称'),
334
+ field: 'name',
335
+ width: 150,
336
+ fixed: 'left'
337
+ },
338
+ {
339
+ title: this.$t1('单据类型编码'),
340
+ field: 'objTypeCode',
341
+ width: 150
342
+ },
343
+ {
344
+ title: this.$t1('启动人'),
345
+ field: 'starterName',
346
+ width: 150
347
+ },
348
+ {
349
+ title: this.$t1('当前任务'),
350
+ field: 'taskName',
351
+ width: 150
352
+ },
353
+ {
354
+ title: this.$t1('当前任务用户'),
355
+ field: 'candidateNames',
356
+ width: 150
357
+ },
358
+ {
359
+ title: this.$t1('待执行时间'),
360
+ field: 'toExeTime',
361
+ width: 150
362
+ },
363
+ {
364
+ title: this.$t1('启动时间'),
365
+ field: 'createDate',
366
+ width: 150
367
+ },
368
+ {
369
+ width: 47,
370
+ fixed: 'right',
371
+ title: '',
372
+ sortable: false,
373
+ slots: {
374
+ default: ({row}) => {
375
+ return [
376
+ <a
377
+ href="javascript:void(0);"
378
+ class="a-link"
379
+ onclick={() => {
380
+ this.openEditDialog(row.id);
381
+ }}
382
+ >
383
+ <el-tooltip enterable={false} effect="dark" content={this.$t1('查看')} placement="top"
384
+ popper-class="tooltip-skin">
385
+ <i class="el-icon-view"/>
386
+ </el-tooltip>
387
+ </a>
388
+ ];
389
+ }
390
+ }
391
+ }
392
+ ]
393
+ };
394
+ this.$vxeTableUtil.initVxeTable(tableOption).then(opts => {
395
+ this.vxeOption = opts;
396
+ });
397
+ },
398
+ openEditDialog(id) {
399
+ this.showEdit2 = false;
400
+ this.$nextTick(() => {
401
+ this.dataId = !id || typeof id === 'object' ? 0 : id;
402
+ this.activeName = 'first';
403
+ this.$openEditView('showEdit');
404
+ })
405
+ },
406
+ openEditDialog2(id) {
407
+ this.showEdit = false;
408
+ this.$nextTick(() => {
409
+ this.dataId2 = !id || typeof id === 'object' ? 0 : id;
410
+ this.activeName = 'first';
411
+ this.$openEditView('showEdit2');
412
+ })
413
+ },
414
+ guid() {
415
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
416
+ let r = (Math.random() * 16) | 0,
417
+ v = c === 'x' ? r : (r & 0x3) | 0x8;
418
+ return v.toString(16);
419
+ });
420
+ },
421
+ clearNodeClick() {
422
+
423
+ },
424
+ handleNodeClick(data, node, v) {
425
+ this.formData.objTypeName = null;
426
+ this.formData.objTypeCode = null;
427
+ this.chooseNode(data.uuid);
428
+ this.$forceUpdate();
429
+ this.searchEvent();
430
+ },
431
+ // 异步树叶子节点懒加载逻辑
432
+ loadNode(node, resolve) {
433
+ this.$http({
434
+ url: USER_PREFIX + `/wf_obj_config/wfServiceIds`,
435
+ method: `post`,
436
+ data: {},
437
+ isLoading: true,
438
+ modalStrictly: true,
439
+ success: res => {
440
+ let serviceIds = res.objx || [];
441
+ let rows = serviceIds.map(serviceId => {
442
+ return {
443
+ leaf: true,
444
+ serviceId: serviceId,
445
+ label: serviceId,
446
+ uuid: this.guid()
447
+ };
448
+ });
449
+ resolve(rows);
450
+ let firstUuid = rows.length > 0 ? rows[0].uuid : null;
451
+ if (firstUuid) {
452
+ this.$nextTick(() => {
453
+ this.chooseNode(firstUuid)
454
+ this.initTableList();
455
+ })
456
+ }
457
+ }
458
+ });
459
+ },
460
+ chooseNode(uuid) {
461
+ if (uuid) {
462
+ let node = this.$refs.tree.getNode(uuid);
463
+ this.$refs.tree.setCurrentKey(node.data);
464
+ this.checkNode = node
465
+ this.serviceId = node.data.serviceId;
466
+ } else {
467
+ this.checkNode = null;
468
+ this.serviceId = null;
469
+ }
470
+ },
471
+ handleNodeClick2(data, node, v) {
472
+ this.formData2.objTypeName = null;
473
+ this.formData2.objTypeCode = null;
474
+ this.chooseNode2(data.uuid);
475
+ this.$forceUpdate();
476
+ this.searchEvent2();
477
+ },
478
+ // 异步树叶子节点懒加载逻辑
479
+ loadNode2(node, resolve) {
480
+ this.$http({
481
+ url: USER_PREFIX + `/wf_obj_config/wfServiceIds`,
482
+ method: `post`,
483
+ data: {},
484
+ isLoading: true,
485
+ modalStrictly: true,
486
+ success: res => {
487
+ let serviceIds = res.objx || [];
488
+ let rows = serviceIds.map(serviceId => {
489
+ return {
490
+ leaf: true,
491
+ serviceId: serviceId,
492
+ label: serviceId,
493
+ uuid: this.guid()
494
+ };
495
+ });
496
+ resolve(rows);
497
+ let firstUuid = rows.length > 0 ? rows[0].uuid : null;
498
+ if (firstUuid) {
499
+ this.$nextTick(() => {
500
+ this.chooseNode2(firstUuid)
501
+ this.initTableList2();
502
+ })
503
+ }
504
+ }
505
+ });
506
+ },
507
+ chooseNode2(uuid) {
508
+ if (uuid) {
509
+ let node = this.$refs.tree2.getNode(uuid);
510
+ this.$refs.tree2.setCurrentKey(node.data);
511
+ this.checkNode2 = node
512
+ this.serviceId2 = node.data.serviceId;
513
+ } else {
514
+ this.checkNode2 = null;
515
+ this.serviceId2 = node.data.serviceId;
516
+ }
517
+ },
518
+ confirmInsertWfObjConfig(rows) {
519
+ if (rows.length) {
520
+ let row = rows[0];
521
+ this.$set(this.formData, 'objTypeName', row.objTypeName);
522
+ this.$set(this.formData, 'objTypeCode', row.objTypeCode);
523
+ }
524
+ },
525
+ //m2
526
+ searchEvent2() {
527
+ this.$refs['table-m2'].commitProxy('reload');
528
+ },
529
+ resetEvent2() {
530
+ this.formData2 = {};
531
+ this.$refs['table-m2'].commitProxy('reload');
532
+ },
533
+ initTableList2() {
534
+ let that = this;
535
+ let resultMap = {0: this.$t1('未处理'), 1: this.$t1('处理成功'), 2: this.$t1('处理失败异常')};
536
+ let tableOption = {
537
+ vue: this,
538
+ tableRef: 'table-m2',
539
+ tableName: 'user-wf_auto_submit_data-m2',
540
+ path: () => {
541
+ let serviceId = this.serviceId2;
542
+ return "/" + serviceId + "/wf_auto_submit_datah/listPage";
543
+ },
544
+ param: () => {
545
+ return {
546
+ ...this.formData2
547
+ };
548
+ },
549
+ columns: [
550
+ {type: 'checkbox', width: 48, resizable: false, fixed: 'left'},
551
+ {
552
+ title: this.$t1('流程名称'),
553
+ field: 'name',
554
+ width: 150,
555
+ fixed: 'left'
556
+ },
557
+ {
558
+ title: this.$t1('单据类型编码'),
559
+ field: 'objTypeCode',
560
+ width: 150
561
+ },
562
+ {
563
+ title: this.$t1('启动人'),
564
+ field: 'starterName',
565
+ width: 150
566
+ },
567
+ {
568
+ title: this.$t1('当前任务'),
569
+ field: 'taskName',
570
+ width: 150
571
+ },
572
+ {
573
+ title: this.$t1('当前任务用户'),
574
+ field: 'candidateNames',
575
+ width: 150
576
+ },
577
+ {
578
+ title: this.$t1('待执行时间'),
579
+ field: 'toExeTime',
580
+ width: 150
581
+ },
582
+ {
583
+ title: this.$t1('处理结果'),
584
+ field: 'result',
585
+ width: 150,
586
+ slots: {
587
+ default: ({row}) => {
588
+ return resultMap[row.result] || null;
589
+ }
590
+ }
591
+ },
592
+ {
593
+ title: this.$t1('处理结果描述'),
594
+ field: 'resultDesc',
595
+ width: 150
596
+ },
597
+ {
598
+ title: this.$t1('启动时间'),
599
+ field: 'createDate',
600
+ width: 150
601
+ },
602
+ {
603
+ width: 47,
604
+ fixed: 'right',
605
+ title: '',
606
+ sortable: false,
607
+ slots: {
608
+ default: "operate"
609
+ }
610
+ }
611
+ ]
612
+ };
613
+ this.$vxeTableUtil.initVxeTable(tableOption).then(opts => {
614
+ this.vxeOption2 = opts;
615
+ });
616
+ },
617
+ confirmInsertWfObjConfig2(rows) {
618
+ if (rows.length) {
619
+ let row = rows[0];
620
+ this.$set(this.formData2, 'objTypeName', row.objTypeName);
621
+ this.$set(this.formData2, 'objTypeCode', row.objTypeCode);
622
+ }
623
+ },
624
+ initWfServiceIds() {
625
+ return this.$http({
626
+ url: USER_PREFIX + `/wf_obj_config/wfServiceIds`,
627
+ method: `post`,
628
+ data: {},
629
+ isLoading: true,
630
+ modalStrictly: true,
631
+ success: res => {
632
+ this.serviceIds = res.objx || [];
633
+ }
634
+ });
635
+ },
636
+ resubmit(row) {
637
+ this.$baseConfirm(this.$t1('您确定要重推吗?')).then(() => {
638
+ let url = "/" + this.serviceId2 + `/wf_auto_submit_datah/resubmit`;
639
+ this.$http({
640
+ url: url,
641
+ method: `post`,
642
+ data: row,
643
+ isLoading: true,
644
+ success: res => {
645
+ this.$message({
646
+ message: res.content,
647
+ type: 'success',
648
+ duration: 2000
649
+ });
650
+ this.$nextTick(() => {
651
+ this.searchEvent2()
652
+ })
653
+ }
654
+ });
655
+ });
656
+ }
657
+ }
658
+ };
659
+ </script>