cloud-web-corejs-haier 1.0.42 → 1.0.44

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 (227) hide show
  1. package/package.json +9 -7
  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/mixins/setCandidateDialog.js +228 -2
  30. package/src/components/wf/mixins/setCandidateDialog2.js +115 -100
  31. package/src/components/wf/mixins/wfTaskUserRangeDialog.js +67 -1
  32. package/src/components/wf/setCandidateDialog.vue +5 -7
  33. package/src/components/wf/setCandidateDialog2.vue +14 -10
  34. package/src/components/wf/wf.js +527 -411
  35. package/src/components/wf/wfTaskUserRangeDialog.vue +1 -1
  36. package/src/components/wf/wfUtil.js +129 -91
  37. package/src/components/xform/form-designer/designer.js +1994 -9
  38. package/src/components/xform/form-designer/form-widget/container-widget/data-table-widget.vue +10 -0
  39. package/src/components/xform/form-designer/form-widget/container-widget/detail-pane-widget.vue +3 -2
  40. package/src/components/xform/form-designer/form-widget/dialog/formDialog.vue +5 -1
  41. package/src/components/xform/form-designer/form-widget/dialog/importDialogMixin - /345/211/257/346/234/254.js" +1639 -0
  42. package/src/components/xform/form-designer/form-widget/dialog/importDialogMixin.js +1756 -2
  43. package/src/components/xform/form-designer/form-widget/field-widget/baseAttachment-widget.vue +1 -0
  44. package/src/components/xform/form-designer/form-widget/field-widget/dropdown-item-widget.vue +10 -1
  45. package/src/components/xform/form-designer/form-widget/field-widget/dropdown-widget.vue +170 -0
  46. package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +1630 -1
  47. package/src/components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue +153 -40
  48. package/src/components/xform/form-designer/form-widget/field-widget/status-widget.vue +65 -46
  49. package/src/components/xform/form-designer/form-widget/field-widget/vue-page-widget.vue +231 -0
  50. package/src/components/xform/form-designer/setting-panel/form-setting.vue +7 -4
  51. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/edit-tree-button-group-config-dialog.vue +281 -0
  52. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +659 -221
  53. package/src/components/xform/form-designer/setting-panel/property-editor/container-detail/detail-editor.vue +3 -3
  54. package/src/components/xform/form-designer/setting-panel/property-editor/dropdownFlag-editor.vue +133 -0
  55. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/onClick-editor.vue +14 -6
  56. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import-button-editor.vue +1 -1
  57. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import2-button-editor.vue +1 -1
  58. package/src/components/xform/form-designer/setting-panel/property-editor/field-vue-page/vue-page-editor.vue +48 -0
  59. package/src/components/xform/form-designer/setting-panel/property-editor/labelIconClass-editor.vue +18 -17
  60. package/src/components/xform/form-designer/setting-panel/property-editor/labelIconPosition-editor.vue +26 -26
  61. package/src/components/xform/form-designer/setting-panel/property-editor/labelTooltip-editor.vue +67 -13
  62. package/src/components/xform/form-designer/setting-panel/property-editor/name-editor.vue +2 -0
  63. package/src/components/xform/form-designer/setting-panel/property-editor/showViewButton-editor.vue +29 -0
  64. package/src/components/xform/form-designer/setting-panel/propertyRegister.js +8 -6
  65. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +1 -0
  66. package/src/components/xform/form-render/container-item/data-table-mixin.js +20 -17
  67. package/src/components/xform/form-render/container-item/detail-item.vue +72 -48
  68. package/src/components/xform/form-render/container-item/sub-form-item.vue +10 -2
  69. package/src/components/xform/form-render/container-item/table2-item.vue +40 -10
  70. package/src/components/xform/form-render/indexMixin.js +3705 -1
  71. package/src/components/xform/icon-picker/icons.json +284 -0
  72. package/src/components/xform/icon-picker/index.vue +145 -0
  73. package/src/components/xform/lang/zh-CN.js +2 -1
  74. package/src/components/xform/mixins/defaultHandle.js +366 -2
  75. package/src/components/xform/utils/formula-util.js +3 -0
  76. package/src/components/xform/utils/sfc-generator.js +2 -2
  77. package/src/components/xform/utils/smart-vue-i18n/index.js +2 -1
  78. package/src/components/xform/utils/tableColumnHelper.js +54 -10
  79. package/src/components/xform/utils/util.js +1547 -1
  80. package/src/index.js +190 -211
  81. package/src/lang/locale/en/login.js +26 -19
  82. package/src/lang/locale/zh/login.js +25 -19
  83. package/src/layout/components/Sidebar/default.vue +252 -71
  84. package/src/layout/components/Sidebar/index.vue +6 -1
  85. package/src/layout/components/TagsView/index.vue +6 -0
  86. package/src/layout/components/langTool.vue +32 -29
  87. package/src/layout/defaultLayout.vue +16 -8
  88. package/src/layout/index.vue +5 -3
  89. package/src/permission.js +135 -1
  90. package/src/router/index.js +1 -4
  91. package/src/store/config/index.js +667 -1
  92. package/src/store/getters.js +2 -1
  93. package/src/store/modules/permission.js +332 -1
  94. package/src/store/modules/settings.js +26 -1
  95. package/src/store/modules/tagsView.js +190 -1
  96. package/src/store/modules/user.js +358 -1
  97. package/src/utils/aes.js +15 -1
  98. package/src/utils/auth.js +27 -1
  99. package/src/utils/componentDialog.js +217 -0
  100. package/src/utils/request.js +368 -1
  101. package/src/utils/vab.js +1256 -7
  102. package/src/views/bd/setting/bd_company_env/dialog.vue +174 -174
  103. package/src/views/bd/setting/bd_company_env/edit.vue +193 -193
  104. package/src/views/bd/setting/formVersion/button.vue +55 -0
  105. package/src/views/bd/setting/formVersion/compareBasicSection.vue +125 -0
  106. package/src/views/bd/setting/formVersion/compareCodeSection.vue +539 -0
  107. package/src/views/bd/setting/formVersion/compareContMixin.scss +65 -0
  108. package/src/views/bd/setting/formVersion/compareContent.vue +63 -0
  109. package/src/views/bd/setting/formVersion/compareDialog.vue +88 -0
  110. package/src/views/bd/setting/formVersion/compareMixin.js +93 -0
  111. package/src/views/bd/setting/formVersion/fieldCompare.vue +54 -0
  112. package/src/views/bd/setting/formVersion/formScriptCompareView.vue +94 -0
  113. package/src/views/bd/setting/formVersion/formTemplateCompareView.vue +74 -0
  114. package/src/views/bd/setting/formVersion/ftHistoryDialog.vue +491 -0
  115. package/src/views/bd/setting/formVersion/link.vue +58 -0
  116. package/src/views/bd/setting/formVersion/preformDialog.vue +87 -0
  117. package/src/views/bd/setting/formVersion/reverButton.vue +82 -0
  118. package/src/views/bd/setting/formVersion/tableDetailDiff.js +99 -0
  119. package/src/views/bd/setting/formVersion/tableModelCompareView.vue +514 -0
  120. package/src/views/bd/setting/formVersion/textDiff.js +102 -0
  121. package/src/views/bd/setting/form_import_log/edit.vue +6 -3
  122. package/src/views/bd/setting/form_import_log/list.vue +5 -0
  123. package/src/views/bd/setting/form_script/edit.vue +196 -83
  124. package/src/views/bd/setting/form_script/edit1.vue +410 -220
  125. package/src/views/bd/setting/form_script/form_list.vue +19 -0
  126. package/src/views/bd/setting/form_script/list.vue +95 -21
  127. package/src/views/bd/setting/form_script/list1.vue +24 -0
  128. package/src/views/bd/setting/form_script/mixins/dialog.js +2 -2
  129. package/src/views/bd/setting/form_script/mixins/edit.js +265 -207
  130. package/src/views/bd/setting/form_script/mixins/edit1.js +259 -201
  131. package/src/views/bd/setting/form_script/mixins/form_list.js +322 -296
  132. package/src/views/bd/setting/form_script/mixins/list.js +163 -95
  133. package/src/views/bd/setting/form_script/mixins/list1.js +244 -155
  134. package/src/views/bd/setting/form_script/mixins/otherAuthDialog.js +1 -1
  135. package/src/views/bd/setting/form_template/batchWfObjConfigDialog.vue +1 -1
  136. package/src/views/bd/setting/form_template/edit.vue +355 -205
  137. package/src/views/bd/setting/form_template/formDesignerDialog.vue +171 -0
  138. package/src/views/bd/setting/form_template/list.vue +49 -74
  139. package/src/views/bd/setting/form_template/mixins/batchWfObjConfigDialog.js +3 -3
  140. package/src/views/bd/setting/form_template/mixins/edit.js +51 -8
  141. package/src/views/bd/setting/form_template/mixins/itemList.js +1 -1
  142. package/src/views/bd/setting/form_template/mixins/list.js +114 -82
  143. package/src/views/bd/setting/form_template/mixins/list2.js +3 -3
  144. package/src/views/bd/setting/form_template/mixins/otherAuthDialog.js +1 -1
  145. package/src/views/bd/setting/form_template/mixins/wf_list.js +3 -7
  146. package/src/views/bd/setting/form_template/wfObjConfigDialog.vue +254 -254
  147. package/src/views/bd/setting/form_template/wf_list.vue +161 -127
  148. package/src/views/bd/setting/request_async_setting/edit.vue +320 -320
  149. package/src/views/bd/setting/request_setting/edit.vue +300 -300
  150. package/src/views/bd/setting/request_setting/list.vue +15 -25
  151. package/src/views/bd/setting/table_model/edit.vue +702 -498
  152. package/src/views/bd/setting/table_model/list.vue +28 -0
  153. package/src/views/bd/setting/table_model/mixins/dialog.js +1 -1
  154. package/src/views/bd/setting/table_model/mixins/edit copy.js +903 -0
  155. package/src/views/bd/setting/table_model/mixins/edit.js +228 -121
  156. package/src/views/bd/setting/table_model/mixins/list.js +55 -20
  157. package/src/views/bd/setting/table_model/mixins/otherAuthDialog.js +1 -1
  158. package/src/views/bd/setting/table_model/mixins/zdDialog.js +50 -46
  159. package/src/views/bd/setting/utils/index.js +15 -0
  160. package/src/views/user/api_request/list.vue +203 -203
  161. package/src/views/user/bill_setting/list.vue +345 -345
  162. package/src/views/user/code_rules/list.vue +204 -204
  163. package/src/views/user/common_attribute/list.vue +378 -378
  164. package/src/views/user/common_script/list.vue +341 -341
  165. package/src/views/user/company_info/dialog.vue +80 -49
  166. package/src/views/user/country/list.vue +197 -197
  167. package/src/views/user/extend_datasource/dialog.vue +0 -3
  168. package/src/views/user/extend_datasource/edit.vue +1 -2
  169. package/src/views/user/extend_datasource/list.vue +221 -224
  170. package/src/views/user/fieldTranslation/editDialog.vue +1 -1
  171. package/src/views/user/fieldTranslation/list.vue +473 -473
  172. package/src/views/user/field_values_invisible/list.vue +207 -207
  173. package/src/views/user/file_type/list.vue +271 -271
  174. package/src/views/user/file_view_area/list.vue +331 -331
  175. package/src/views/user/form/vform/designer.vue +303 -287
  176. package/src/views/user/form/vform/formFieldMapping.js +2 -3
  177. package/src/views/user/form/view/edit.vue +19 -1
  178. package/src/views/user/form/view/list.vue +59 -17
  179. package/src/views/user/groups/list.vue +158 -158
  180. package/src/views/user/home/default.vue +274 -182
  181. package/src/views/user/home/default2.vue +1148 -0
  182. package/src/views/user/home/index.vue +2 -1
  183. package/src/views/user/lang_tag/list.vue +170 -170
  184. package/src/views/user/language_setting/list.vue +208 -208
  185. package/src/views/user/ledger_library/list.vue +12 -10
  186. package/src/views/user/login/default.vue +1 -1
  187. package/src/views/user/login/indexMixin.js +204 -169
  188. package/src/views/user/menu/list.vue +575 -575
  189. package/src/views/user/notify_message/dialog.vue +7 -1
  190. package/src/views/user/notify_template/list.vue +192 -192
  191. package/src/views/user/notify_template/list2.vue +190 -190
  192. package/src/views/user/position/list.vue +188 -188
  193. package/src/views/user/project_tag/list.vue +175 -175
  194. package/src/views/user/push_setting/list.vue +236 -236
  195. package/src/views/user/request_setting/list.vue +248 -248
  196. package/src/views/user/role/list.vue +182 -182
  197. package/src/views/user/system_notice/infoDialog.vue +61 -2
  198. package/src/views/user/system_notice/list.vue +203 -203
  199. package/src/views/user/system_parameter/list.vue +141 -141
  200. package/src/views/user/user/edit.vue +45 -0
  201. package/src/views/user/user/form_list.vue +245 -245
  202. package/src/views/user/user/info.vue +253 -140
  203. package/src/views/user/user_log_classify/list.vue +197 -197
  204. package/src/views/user/wf/iframe/index.vue +46 -46
  205. package/src/views/user/wf/wfReport/index.vue +1 -1
  206. package/src/views/user/wf/wf_auto_submit_data/list.vue +659 -659
  207. package/src/views/user/wf/wf_diy_attribute/edit.vue +1 -1
  208. package/src/views/user/wf/wf_manage/list.vue +795 -795
  209. package/src/views/user/wf/wf_manage/wfContentDialog.vue +106 -106
  210. package/src/views/user/wf/wf_obj_config/dialog.vue +2 -2
  211. package/src/views/user/wf/wf_obj_config/edit.vue +1 -1
  212. package/src/views/user/wf/wf_obj_config/edit_form.vue +2 -2
  213. package/src/views/user/wf/wf_obj_config/itemEdit.vue +1 -1
  214. package/src/views/user/wf/wf_obj_config/itemEdit_form.vue +1 -1
  215. package/src/views/user/wf/wf_obj_config/itemOperateDialog.vue +4 -4
  216. package/src/views/user/wf/wf_obj_config/list.vue +28 -28
  217. package/src/views/user/wf/wf_obj_config/list_form.vue +5 -5
  218. package/src/views/user/wf/wf_obj_config/wfBizDataSettingDialog.vue +292 -292
  219. package/src/views/user/wf/wf_param/edit.vue +1 -1
  220. package/src/views/user/wf/wf_transfer_setting/edit.vue +1 -1
  221. package/src/views/user/wf/wf_transfer_setting/list.vue +321 -319
  222. package/src/views/user/wf/wf_work_calendar/components/calendar.vue +369 -367
  223. package/src/views/user/wf/wf_work_calendar/components/calendar2.vue +401 -399
  224. package/src/views/user/wf/wf_work_calendar/configDialog.vue +6 -6
  225. package/src/views/user/wf/wf_work_calendar/date.js +84 -83
  226. package/src/views/user/wf/wf_work_calendar/list.vue +6 -6
  227. package/src/views/user/workbench_menu/list.vue +555 -0
@@ -1,1169 +1,1244 @@
1
- <template>
2
- <baseTabPane
3
- :label="$t2('流程信息', 'components.wf.wfInfo')"
4
- :showFold="showWfFold"
5
- :defaultShowContent="showWfContent"
6
- v-if="!isHideWf"
7
- >
8
- <template #default>
9
- <div
10
- style="margin: -36px 0 8px 124px; position: relative; z-index: 2; height: 28px"
11
- v-if="!wfConfig.hiddenAllButton"
12
- >
13
- <el-button
14
- type="success"
15
- class="button-sty"
16
- @click="openAgreeDialog"
17
- v-show="wfInfo.toSubmit"
18
- icon="iconfont icon-tongguo"
19
- >{{ $t2("通过", "components.wf.agree") }}
20
- </el-button>
21
- <el-button
22
- type="warning"
23
- class="button-sty"
24
- @click="openManualDialog"
25
- v-show="wfInfo.toInterrupt"
26
- icon="iconfont icon-caozuozhongduan"
27
- >{{ $t2("中断", "components.wf.manual") }}
28
- </el-button>
29
- <el-button
30
- type="danger"
31
- class="button-sty"
32
- @click="rejectWfTask"
33
- v-show="wfInfo.toReject"
34
- icon="iconfont icon-a-bohui1"
35
- >{{ $t2("驳回", "components.wf.reject") }}
36
- </el-button>
37
- <el-button
38
- type="primary"
39
- class="button-sty"
40
- @click="openChangeWfForm"
41
- v-show="
42
- wfInfo.toTransfer === null || wfInfo.toTransfer === undefined
43
- ? wfInfo.toSubmit
44
- : wfInfo.toTransfer
45
- "
46
- icon="iconfont icon-zhuanban"
47
- >{{ $t2("转办", "components.wf.transfer") }}
48
- </el-button>
49
- <!-- <el-button
50
- type="primary"
51
- class="button-sty"
52
- @click="openUrgingDialog"
53
- v-show="wfInfo.toInterrupt"
54
- icon="iconfont icon-cuiban"
55
- >{{ $t2("催办", "components.wf.urging") }}
56
- </el-button>
57
- <el-button
58
- type="primary"
59
- class="button-sty"
60
- @click="openAddIncreaseSign"
61
- v-show="wfInfo.toAddIncreaseSign"
62
- icon="el-icon-plus"
63
- >{{ $t2("加签", "components.wf.addIncreaseSign") }}
64
- </el-button>
65
- <el-button
66
- type="primary"
67
- class="button-sty"
68
- @click="openDeleteTaskUserDialog"
69
- v-show="wfInfo.toDeleteIncreaseSign"
70
- icon="el-icon-delete"
71
- >{{ $t2("减签", "components.wf.deleteIncreaseSign") }}
72
- </el-button>
73
- <el-button
74
- type="primary"
75
- class="button-sty"
76
- @click="openTalkDialog()"
77
- icon="el-icon-chat-dot-square"
78
- v-if="toTalk && wfInfo.toLinkup"
79
- >
80
- {{ $t2("沟通", "components.wf.talk") }}
81
- </el-button>
82
- <el-button
83
- type="primary"
84
- class="button-sty"
85
- @click="openSetCandidateDialog(null)"
86
- v-show="wfInfo.toSetCandidate"
87
- icon="el-icon-user"
88
- >{{ $t2("修改候选人", "components.wf.setCandidate") }}
89
- </el-button>
90
- <el-button
91
- type="danger"
92
- class="button-sty"
93
- @click="openRevokeDialog(null)"
94
- v-show="wfInfo.toRevoke"
95
- icon="el-icon-document-delete"
96
- >{{ $t2("撤回", "components.wf.revoke") }}
97
- </el-button>
98
- <addOpinionButton
99
- v-if="showAddOpinionButton"
100
- @confirm="reloadContent()"
101
- :wfInfo="wfInfo"
102
- :wfSendTaskId="wfSendTaskId"
103
- :current_prefix="current_prefix"
104
- ></addOpinionButton> -->
105
- <el-button
106
- type="primary"
107
- class="button-sty"
108
- @click="openWfFlowEleScriptDialog"
109
- v-if="wfInfo.wfAdmin"
110
- icon="el-icon-edit"
111
- >{{ $t1("修改脚本") }}
112
- </el-button>
113
- </div>
114
- <div class="title-name">
115
- <b>
116
- <em>{{ $t2("流程主题", "components.wf.theme") }}:</em>
117
- {{ wfInfo.name }}
118
- </b>
119
- <span v-html="wfInfo.statusStr" class="status"></span>
120
- </div>
121
- <div
122
- class="title-second"
123
- @click="showFlowImg = !showFlowImg"
124
- style="margin: 14px 0 24px; line-height: 29px; cursor: pointer"
125
- >
126
- <b>{{ $t2("流程图", "components.wf.wfImage") }}</b>
127
- <div class="fr" v-if="showFlowImg == true" style="font-weight: 400">
128
- <span>{{ $t2("收起", "components.wf.collapse") }}</span>
129
- <i class="el-icon-arrow-up"></i>
130
- </div>
131
- <div class="fr" v-else style="font-weight: 400">
132
- <span>{{ $t2("展开", "components.wf.expand") }}</span>
133
- <i class="el-icon-arrow-down"></i>
134
- </div>
135
- </div>
136
- <div class="flow-tree" style="padding-right: 0" v-show="showFlowImg == true">
137
- <div class="flow-box">
138
- <!-- <img :src="wfImage" /> -->
139
- <iframe :src="wfImage" style="max-width: 100%;max-height: 100%;min-height:300px;width: 100%"></iframe>
140
- <!-- <el-tooltip
141
- :enterable="false"
142
- class="item"
143
- effect="dark"
144
- :content="$t2('放大', 'components.wf.enlarge')"
145
- placement="bottom"
146
- >
147
- <i
148
- class="el-icon-zoom-in btn-magnifier"
149
- @click="$window.open(wfImage)"
150
- style="right: 0"
151
- ></i>
152
- </el-tooltip> -->
153
- </div>
154
- </div>
155
- <div v-show="showWfInfoTab">
156
- <div class="title-tab">
157
- <div>
158
- <b :class="{ on: tabIndex == '1' }" @click="tabIndex = '1'">{{
159
- $t2("任务情况", "components.wf.taskInfo")
160
- }}</b>
161
- <b :class="{ on: tabIndex == '2' }" @click="tabIndex = '2'" v-if="toTalk">{{
162
- $t2("流程沟通", "components.wf.wfTalk")
163
- }}</b>
164
- <b
165
- :class="{ on: tabIndex == '4' }"
166
- @click="tabIndex = '4'"
167
- v-if="showCandidate"
168
- >{{ $t1("节点候选人") }}</b
169
- >
170
- <b
171
- :class="{ on: tabIndex == '3' }"
172
- @click="tabIndex = '3'"
173
- v-if="showAllWfOpinon"
174
- >{{ $t2("全部任务情况", "components.wf.allTaskInfo") }}</b
175
- >
176
- </div>
177
- </div>
178
- <div v-show="tabIndex == '1'">
179
- <div class="title-five"><b>任务流程</b></div>
180
- <div class="task-situation" style="padding-left: 14px">
181
- <div
182
- class="item"
183
- v-for="wftaskLineData in wftaskData"
184
- :key="wftaskLineData.id"
185
- >
186
- <div class="time">
187
- {{
188
- wftaskLineData.modifyDate
189
- ? wftaskLineData.modifyDate.substring(0, 10)
190
- : ""
191
- }}
192
- <br />
193
- {{
194
- wftaskLineData.modifyDate
195
- ? wftaskLineData.modifyDate.substring(11)
196
- : ""
197
- }}
198
- </div>
199
- <div
200
- class="status"
201
- :class="statusTypeMap[wftaskLineData.type]"
202
- >
203
- {{
204
- wftaskLineData.typeDesc
205
- }}
206
- </div>
207
- <i class="circle"></i>
208
- <div class="info">
209
- <p>
210
- <span class="name">{{ wftaskLineData.nodeName }}</span>
211
- <span
212
- >{{ $t2("执行人", "components.wf.approverName") }}:{{
213
- wftaskLineData.approveName
214
- }}</span
215
- >
216
- <span>
217
- {{ $t2("候选人", "components.wf.candidateName") }}:
218
- <span>
219
- <span style="float: left; width: auto; margin-right: 10px">{{
220
- wftaskLineData.collaboratorName
221
- }}</span>
222
- <!-- <setCandidateButton
223
- v-if="wftaskLineData.flag == 1"
224
- style="float: left; width: auto"
225
- :current_prefix="current_prefix"
226
- :wfInfo="wfInfo"
227
- :checkRow="wftaskLineData"
228
- @confirm="reloadContent()"
229
- ></setCandidateButton> -->
230
- </span>
231
- </span>
232
- </p>
233
- <p class="t">
234
- <span class="t1">{{ $t2("备注/意见", "components.wf.opinion") }}:</span
235
- ><span>{{ wftaskLineData.message }}</span>
236
- </p>
237
- </div>
238
- </div>
239
- </div>
240
- <div class="title-five" v-if="showWfMemo">
241
- <b>{{ $t1("发起人附言") }}</b>
242
- <el-button
243
- v-if="wfInfo.toAddMemo && !wfConfig.hiddenAllButton"
244
- class="button-sty"
245
- icon="el-icon-plus"
246
- @click="openWfMemoDialog()"
247
- type="primary"
248
- >{{ $t1("新增") }}</el-button
249
- >
250
- </div>
251
- <div class="postscript-box">
252
- <div class="item" v-for="(item, index) in wfMemoData" :key="index">
253
- <div class="txt" style="white-space: pre-wrap">{{ item.content }}</div>
254
- <div
255
- class="attach-box"
256
- v-if="item.attachmentDTOs && item.attachmentDTOs.length"
257
- >
258
- <baseUpload
259
- accept="file"
260
- multi="true"
261
- :edit="false"
262
- :widgetSize="1"
263
- :file.sync="item.attachmentDTOs"
264
- ></baseUpload>
265
- </div>
266
- <div class="time">{{ item.createDate }}</div>
267
- </div>
268
- </div>
269
- </div>
270
- <div class="task-situation" v-show="toTalk && tabIndex == '2'">
271
- <vxe-grid
272
- ref="table-linkup"
273
- :auto-resize="true"
274
- v-bind="linkupOption"
275
- @resizable-change="$vxeTableUtil.onColumnWitchChange"
276
- @custom="$vxeTableUtil.customHandle"
277
- >
278
- <template #form>
279
- <div style="margin-bottom: 8px" class="clearfix">
280
- <div class="fl">
281
- <el-button
282
- type="primary"
283
- class="button-sty"
284
- @click="openTalkDialog()"
285
- icon="el-icon-chat-dot-square"
286
- v-if="wfInfo.toLinkup && !wfConfig.hiddenAllButton"
287
- >{{ $t2("沟通", "components.wf.talk") }}
288
- </el-button>
289
- </div>
290
- <div class="fr">
291
- <!-- <vxe-button status="warning" icon="el-icon-search" class="button-sty" @click="searchEvent">搜索
292
- </vxe-button>-->
293
- </div>
294
- </div>
295
- </template>
296
- <template #sender="{ row }">
297
- <a
298
- href="javascript:void(0);"
299
- class="a-link"
300
- @click="openTalkDialog(row.sender, row.senderName, null, null, row.id)"
301
- v-if="row.replyToSender"
302
- >
303
- <el-tooltip
304
- :enterable="false"
305
- effect="dark"
306
- :content="$t2('沟通', 'components.wf.talk')"
307
- placement="top"
308
- popper-class="tooltip-skin"
309
- >
310
- <div>
311
- <i class="el-icon-chat-dot-square"></i>
312
- <span>{{ row.senderName }}</span>
313
- </div>
314
- </el-tooltip>
315
- </a>
316
- <span v-else>{{ row.senderName }}</span>
317
- </template>
318
- <template #receiver="{ row }">
319
- <a
320
- href="javascript:void(0);"
321
- class="a-link"
322
- @click="
323
- openTalkDialog(row.receiver, row.receiverName, null, null, row.id)
324
- "
325
- v-if="row.replyToReceiver"
326
- >
327
- <el-tooltip
328
- :enterable="false"
329
- effect="dark"
330
- :content="$t2('沟通', 'components.wf.talk')"
331
- placement="top"
332
- popper-class="tooltip-skin"
333
- >
334
- <div>
335
- <i class="el-icon-chat-dot-square"></i>
336
- <span>{{ row.receiverName }}</span>
337
- </div>
338
- </el-tooltip>
339
- </a>
340
- <span v-else>{{ row.receiverName }}</span>
341
- </template>
342
- <template #operate="{ row }">
343
- <a
344
- href="javascript:void(0);"
345
- class="a-link"
346
- style="font-weight: bold; text-decoration: underline"
347
- @click="cancelTalk(row)"
348
- v-if="row.toCancel"
349
- >
350
- <el-tooltip
351
- :enterable="false"
352
- effect="dark"
353
- :content="$t2('取消', 'system.button.cancel')"
354
- placement="top"
355
- popper-class="tooltip-skin"
356
- >
357
- <div class="vxe-grid">
358
- <i class="el-icon-document-delete"></i>
359
- <span>{{ $t2("取消", "system.button.cancel") }}</span>
360
- </div>
361
- </el-tooltip>
362
- </a>
363
- </template>
364
- </vxe-grid>
365
- </div>
366
- <div
367
- class="task-situation"
368
- v-show="showAllWfOpinon && tabIndex == '3'"
369
- style="max-height: 500px; overflow: hidden auto"
370
- >
371
- <div
372
- class="item"
373
- v-for="wftaskLineData in allWfTaskOpinions"
374
- :key="'allWfTaskOpinions' + wftaskLineData.id"
375
- >
376
- <div class="time">
377
- {{
378
- wftaskLineData.approveTime
379
- ? wftaskLineData.approveTime.substring(0, 10)
380
- : ""
381
- }}
382
- <br />
383
- {{
384
- wftaskLineData.approveTime ? wftaskLineData.approveTime.substring(11) : ""
385
- }}
386
- </div>
387
- <div
388
- class="status"
389
- :class="
390
- taskStatuses[wftaskLineData.type]
391
- ? taskStatuses[wftaskLineData.type].class
392
- : ''
393
- "
394
- >
395
- {{
396
- taskStatuses[wftaskLineData.type]
397
- ? taskStatuses[wftaskLineData.type].value
398
- : null
399
- }}
400
- </div>
401
- <i class="circle"></i>
402
- <div class="info">
403
- <p>
404
- <span class="name">{{ wftaskLineData.taskName }}</span>
405
- <span
406
- >{{ $t2("执行人", "components.wf.approverName") }}:{{
407
- wftaskLineData.approverName
408
- }}</span
409
- >
410
- <span>
411
- {{ $t2("候选人", "components.wf.candidateName") }}:
412
- <span class="">{{ wftaskLineData.candidateNames }}</span>
413
- </span>
414
- </p>
415
- <p class="t">
416
- <span class="t1">{{ $t2("备注/意见", "components.wf.opinion") }}:</span
417
- ><span>{{ wftaskLineData.opinion }}</span>
418
- </p>
419
- </div>
420
- </div>
421
- </div>
422
- <template v-if="showCandidate">
423
- <div v-show="tabIndex == '4'">
424
- <div style="width: 800px">
425
- <vxe-grid
426
- ref="table-candidate"
427
- v-bind="candidateOption"
428
- :data="candidateDatas"
429
- @resizable-change="$vxeTableUtil.onColumnWitchChange"
430
- @custom="$vxeTableUtil.customHandle"
431
- ></vxe-grid>
432
- </div>
433
- </div>
434
- </template>
435
- </div>
436
- <!--沟通-->
437
- <el-dialog
438
- v-if="showTalkDialog"
439
- :visible.sync="showTalkDialog"
440
- :modal-append-to-body="false"
441
- :close-on-click-modal="false"
442
- :modal="false"
443
- custom-class="dialog-style wf-dialog"
444
- :append-to-body="true"
445
- v-el-drag-dialog
446
- v-el-dialog-center
447
- >
448
- <template #title>
449
- <span class="el-dialog__title"
450
- >{{ $t2("沟通", "components.wf.talk")
451
- }}<span style="margin-left: 10px; margin-right: 10px">—</span
452
- ><b class="f-red" style="font-size: 12px"
453
- >{{ $t2("节点", "components.wf.node") }}:{{ wfInfo.nodeName }}</b
454
- ></span
455
- >
456
- </template>
457
- <el-form :model="talkForm">
458
- <div id="containt" style="height: 500px">
459
- <table class="table-detail">
460
- <tbody>
461
- <tr>
462
- <th>
463
- <span class="t">
464
- {{ $t2("接收人", "components.wf.receiverName") }}
465
- </span>
466
- </th>
467
- <td>
468
- <el-form-item field="receiverName">
469
- <el-input
470
- class="search-input"
471
- max="200"
472
- v-model="talkForm.receiverName"
473
- @clear="
474
- talkForm.receiver = null;
475
- talkForm.replyId = null;
476
- $forceUpdate();
477
- "
478
- :placeholder="$t2('接收人', 'components.wf.receiverName')"
479
- v-el-readonly
480
- clearable
481
- :disabled="!!talkForm.replyId"
482
- >
483
- <i
484
- slot="suffix"
485
- class="el-input__icon el-icon-search"
486
- @click="openTalkUserDialog"
487
- ></i>
488
- </el-input>
489
- </el-form-item>
490
- </td>
491
- </tr>
492
- <tr>
493
- <th>
494
- <span class="t">
495
- {{ $t2("沟通内容", "components.wf.talkContent") }}
496
- </span>
497
- </th>
498
- <td>
499
- <el-form-item field="content">
500
- <el-input
501
- type="textarea"
502
- :rows="8"
503
- :placeholder="
504
- $t2('沟通内容', 'components.wf.talkContentPlaceholder')
505
- "
506
- v-model="talkForm.content"
507
- ></el-input>
508
- </el-form-item>
509
- </td>
510
- </tr>
511
- <tr>
512
- <th>
513
- <span class="t">
514
- {{ $t2("沟通资料", "components.wf.talkAttachment") }}
515
- </span>
516
- </th>
517
- <td>
518
- <baseUpload
519
- accept="file"
520
- multi="true"
521
- :file.sync="talkForm.attachmentDTOs"
522
- ></baseUpload>
523
- </td>
524
- </tr>
525
- </tbody>
526
- </table>
527
- </div>
528
- </el-form>
529
- <span slot="footer" class="dialog-footer">
530
- <el-button
531
- type="primary"
532
- plain
533
- class="button-sty"
534
- @click="showTalkDialog = false"
535
- >
536
- <i class="el-icon-close el-icon"></i>
537
- {{ $t2("取 消", "system.button.cancel2") }}
538
- </el-button>
539
- <el-button type="primary" @click="submitTalkForm" class="button-sty">
540
- <i class="el-icon-check el-icon"></i>
541
- {{ $t2("确 定", "system.button.confirm2") }}
542
- </el-button>
543
- </span>
544
- </el-dialog>
545
-
546
- <!--发起人附言-->
547
- <el-dialog
548
- v-if="showWfMemoDialog"
549
- :visible.sync="showWfMemoDialog"
550
- :modal-append-to-body="false"
551
- :close-on-click-modal="false"
552
- :modal="false"
553
- custom-class="dialog-style wf-dialog"
554
- :append-to-body="true"
555
- v-el-drag-dialog
556
- v-el-dialog-center
557
- >
558
- <template #title>
559
- <span class="el-dialog__title"
560
- >{{ $t1("发起人附言")
561
- }}<span style="margin-left: 10px; margin-right: 10px">—</span
562
- ><b class="f-red" style="font-size: 12px"
563
- >{{ $t2("节点", "components.wf.node") }}:{{ wfInfo.nodeName }}</b
564
- ></span
565
- >
566
- </template>
567
- <el-form :model="wfMemoForm">
568
- <div id="containt" style="height: 500px">
569
- <table class="table-detail">
570
- <tbody>
571
- <tr>
572
- <th>
573
- <span class="t">
574
- {{ $t1("内容") }}
575
- </span>
576
- </th>
577
- <td>
578
- <el-form-item field="content">
579
- <el-input
580
- type="textarea"
581
- :rows="8"
582
- :placeholder="$t1('内容')"
583
- v-model="wfMemoForm.content"
584
- ></el-input>
585
- </el-form-item>
586
- </td>
587
- </tr>
588
- <tr>
589
- <th>
590
- <span class="t">
591
- {{ $t1("附件") }}
592
- </span>
593
- </th>
594
- <td>
595
- <baseUpload
596
- accept="file"
597
- multi="true"
598
- :file.sync="wfMemoForm.attachmentDTOs"
599
- ></baseUpload>
600
- </td>
601
- </tr>
602
- </tbody>
603
- </table>
604
- </div>
605
- </el-form>
606
- <span slot="footer" class="dialog-footer">
607
- <el-button
608
- type="primary"
609
- plain
610
- class="button-sty"
611
- @click="showWfMemoDialog = false"
612
- >
613
- <i class="el-icon-close el-icon"></i>
614
- {{ $t2("取 消", "system.button.cancel2") }}
615
- </el-button>
616
- <el-button type="primary" @click="submitWfMemoForm" class="button-sty">
617
- <i class="el-icon-check el-icon"></i>
618
- {{ $t2("确 定", "system.button.confirm2") }}
619
- </el-button>
620
- </span>
621
- </el-dialog>
622
-
623
- <el-dialog
624
- v-if="rejectDialogVisible"
625
- :visible.sync="rejectDialogVisible"
626
- :modal-append-to-body="false"
627
- :close-on-click-modal="false"
628
- :modal="false"
629
- custom-class="dialog-style wf-dialog"
630
- v-el-drag-dialog
631
- v-el-dialog-center
632
- >
633
- <template #title>
634
- <span class="el-dialog__title"
635
- >{{ $t2("流程驳回", "components.wf.wfReject")
636
- }}<span style="margin-left: 10px; margin-right: 10px">—</span
637
- ><b class="f-red" style="font-size: 12px"
638
- >{{ $t2("节点", "components.wf.node") }}:{{ wfInfo.nodeName }}</b
639
- ></span
640
- >
641
- </template>
642
- <el-form :model="rejectForm">
643
- <div id="containt">
644
- <table class="table-detail">
645
- <tbody>
646
- <tr>
647
- <th>
648
- <span class="t">
649
- {{ $t2("驳回节点", "components.wf.rejectNode") }}
650
- </span>
651
- </th>
652
- <td>
653
- <el-form-item label="" field="nodeCode">
654
- <el-select
655
- v-model="rejectForm.nodeCode"
656
- :placeholder="
657
- $t2('请选择驳回节点', 'components.wf.rejectNodePlaceholder')
658
- "
659
- >
660
- <el-option
661
- v-for="(rejectNode, index) in rejectNodes"
662
- :label="rejectNode.nodeName"
663
- :value="rejectNode.nodeCode"
664
- :key="index"
665
- ></el-option>
666
- </el-select>
667
- </el-form-item>
668
- </td>
669
- </tr>
670
- <tr>
671
- <th>
672
- <span class="t">
673
- {{ $t2("驳回意见", "components.wf.rejectOpinion") }}
674
- </span>
675
- </th>
676
- <td>
677
- <el-form-item label="" field="opinion">
678
- <el-input
679
- type="textarea"
680
- :rows="8"
681
- :placeholder="
682
- $t2('请输入内容', 'components.wf.rejectOpinionPlaceholder')
683
- "
684
- v-model="rejectForm.opinion"
685
- ></el-input>
686
- </el-form-item>
687
- </td>
688
- </tr>
689
- </tbody>
690
- </table>
691
- </div>
692
- </el-form>
693
- <span slot="footer" class="dialog-footer">
694
- <el-button
695
- type="primary"
696
- plain
697
- class="button-sty"
698
- @click="rejectDialogVisible = false"
699
- >
700
- <i class="el-icon-close el-icon"></i>
701
- {{ $t2("取 消", "system.button.cancel2") }}
702
- </el-button>
703
- <el-button type="primary" @click="subRejectForm" class="button-sty">
704
- <i class="el-icon-check el-icon"></i>
705
- {{ $t2("确 定", "system.button.confirm2") }}
706
- </el-button>
707
- </span>
708
- </el-dialog>
709
- <el-dialog
710
- v-if="agreeDialogVisible"
711
- :visible.sync="agreeDialogVisible"
712
- :modal-append-to-body="false"
713
- :close-on-click-modal="false"
714
- :modal="false"
715
- custom-class="dialog-style wf-dialog"
716
- v-el-drag-dialog
717
- v-el-dialog-center
718
- >
719
- <template #title>
720
- <span class="el-dialog__title"
721
- >{{ $t2("流程通过", "components.wf.wfAgree")
722
- }}<span style="margin-left: 10px; margin-right: 10px">—</span
723
- ><b class="f-red" style="font-size: 12px"
724
- >{{ $t2("节点", "components.wf.node") }}:{{ wfInfo.nodeName }}</b
725
- ></span
726
- >
727
- </template>
728
- <el-form :model="agreeForm">
729
- <div id="containt">
730
- <table class="table-detail">
731
- <tbody>
732
- <tr v-if="agreeNodes.length > 0">
733
- <th>
734
- <span class="t">
735
- {{ $t2("通过节点", "components.wf.agreeNode") }}
736
- </span>
737
- </th>
738
- <td>
739
- <el-form-item label="" field="nodeId">
740
- <el-select
741
- v-model="agreeForm.nodeId"
742
- :placeholder="
743
- $t2('请选择通过节点', 'components.wf.agreeNodePlaceholder')
744
- "
745
- >
746
- <el-option
747
- v-for="(node, index) in agreeNodes"
748
- :label="node.nodeName"
749
- :value="node.nodeId"
750
- :key="index"
751
- ></el-option>
752
- </el-select>
753
- </el-form-item>
754
- </td>
755
- </tr>
756
- <tr>
757
- <th>
758
- <span class="t">
759
- {{ $t2("通过意见", "components.wf.agreeOpinion") }}
760
- </span>
761
- </th>
762
- <td>
763
- <el-form-item label="" field="opinion">
764
- <el-input
765
- type="textarea"
766
- :rows="8"
767
- :placeholder="
768
- $t2(
769
- `请填写您的意见~
770
- 注:
771
- 通过默认意见为“同意”
772
- `,
773
- 'components.wf.agreeOpinionPlaceholder'
774
- )
775
- "
776
- v-model="agreeForm.opinion"
777
- ></el-input>
778
- </el-form-item>
779
- </td>
780
- </tr>
781
- </tbody>
782
- </table>
783
- </div>
784
- </el-form>
785
- <span slot="footer" class="dialog-footer">
786
- <el-button
787
- type="primary"
788
- plain
789
- class="button-sty"
790
- @click="agreeDialogVisible = false"
791
- >
792
- <i class="el-icon-close el-icon"></i>
793
- {{ $t2("取 消", "system.button.cancel2") }}
794
- </el-button>
795
- <el-button type="primary" @click="subAgreeForm" class="button-sty">
796
- <i class="el-icon-check el-icon"></i>
797
- {{ $t2("确 定", "system.button.confirm2") }}
798
- </el-button>
799
- </span>
800
- </el-dialog>
801
- <el-dialog
802
- v-if="changeWfDialogVisible"
803
- :visible.sync="changeWfDialogVisible"
804
- :modal-append-to-body="false"
805
- :close-on-click-modal="false"
806
- :modal="false"
807
- custom-class="dialog-style wf-dialog"
808
- v-el-drag-dialog
809
- v-el-dialog-center
810
- :append-to-body="true"
811
- >
812
- <template #title>
813
- <span class="el-dialog__title"
814
- >{{ $t2("流程转办", "components.wf.wfTransfer")
815
- }}<span style="margin-left: 10px; margin-right: 10px">—</span
816
- ><b class="f-red" style="font-size: 12px"
817
- >{{ $t2("节点", "components.wf.node") }}:{{ wfInfo.nodeName }}</b
818
- ></span
819
- >
820
- </template>
821
- <el-form :model="changeWfForm">
822
- <div id="containt">
823
- <table class="table-detail">
824
- <tbody>
825
- <tr>
826
- <th>
827
- <span class="t">
828
- {{ $t2("转办人", "components.wf.transferUser") }}
829
- </span>
830
- </th>
831
- <td>
832
- <el-form-item label="" field="nodeId">
833
- <el-input
834
- class="search-input"
835
- max="200"
836
- v-model="changeWfForm.userNickNames"
837
- @clear="
838
- changeWfForm.userIds = '';
839
- changeUserRows = [];
840
- $forceUpdate();
841
- "
842
- v-el-readonly
843
- clearable
844
- >
845
- <i
846
- slot="suffix"
847
- class="el-input__icon el-icon-search"
848
- @click="showUserDialog = true"
849
- ></i>
850
- </el-input>
851
- </el-form-item>
852
- </td>
853
- </tr>
854
- <tr>
855
- <th>
856
- <span class="t">
857
- {{ $t2("转办意见", "components.wf.transferOpinion") }}
858
- </span>
859
- </th>
860
- <td>
861
- <el-form-item label="" field="opinion">
862
- <el-input
863
- type="textarea"
864
- :rows="8"
865
- :placeholder="
866
- $t2('请输入内容', 'components.wf.transferOpinionPlaceholder')
867
- "
868
- v-model="changeWfForm.opinion"
869
- ></el-input>
870
- </el-form-item>
871
- </td>
872
- </tr>
873
- </tbody>
874
- </table>
875
- </div>
876
- </el-form>
877
- <span slot="footer" class="dialog-footer">
878
- <el-button
879
- type="primary"
880
- plain
881
- class="button-sty"
882
- @click="changeWfDialogVisible = false"
883
- >
884
- <i class="el-icon-close el-icon"></i>
885
- {{ $t2("取 消", "system.button.cancel2") }}
886
- </el-button>
887
- <el-button type="primary" @click="subChangeWfForm" class="button-sty">
888
- <i class="el-icon-check el-icon"></i>
889
- {{ $t2("确认转办", "components.wf.confirmTransfer") }}
890
- </el-button>
891
- </span>
892
- </el-dialog>
893
- <el-dialog
894
- v-if="showWfManualDialog"
895
- :visible.sync="showWfManualDialog"
896
- :modal-append-to-body="false"
897
- :close-on-click-modal="false"
898
- :modal="false"
899
- width="501px"
900
- custom-class="dialog-style tips-dialog warning"
901
- :append-to-body="true"
902
- :show-close="false"
903
- v-el-drag-dialog
904
- v-el-dialog-center
905
- >
906
- <template #title>
907
- <span class="el-dialog__title"
908
- >{{ $t2("流程中断", "components.wf.wfManual")
909
- }}<span style="margin-left: 10px; margin-right: 10px">—</span
910
- ><b class="f-red" style="font-size: 12px"
911
- >{{ $t2("节点", "components.wf.node") }}:{{ wfInfo.nodeName }}</b
912
- ></span
913
- >
914
- </template>
915
- <div class="cont">
916
- {{ $t2("您确定要中断流程吗?", "components.wf.manualTip") }}
917
- </div>
918
- <span slot="footer" class="dialog-footer">
919
- <el-button
920
- type="primary"
921
- plain
922
- class="button-sty"
923
- @click="showWfManualDialog = false"
924
- ><i class="el-icon-close el-icon"></i
925
- >{{ $t2("取 消", "system.button.cancel2") }}</el-button
926
- >
927
- <el-button type="primary" @click="manualEndWf" class="button-sty"
928
- ><i class="el-icon-check el-icon"></i
929
- >{{ $t2("确 定", "system.button.confirm2") }}</el-button
930
- >
931
- </span>
932
- </el-dialog>
933
- <el-dialog
934
- v-if="revokeDialogVisible"
935
- :visible.sync="revokeDialogVisible"
936
- :modal-append-to-body="false"
937
- :close-on-click-modal="false"
938
- :modal="false"
939
- custom-class="dialog-style wf-dialog"
940
- v-el-drag-dialog
941
- v-el-dialog-center
942
- >
943
- <template #title>
944
- <span class="el-dialog__title"
945
- >{{ $t2("流程撤回", "components.wf.wfRevoke")
946
- }}<span style="margin-left: 10px; margin-right: 10px">—</span
947
- ><b class="f-red" style="font-size: 12px"
948
- >{{ $t2("节点", "components.wf.node") }}:{{ wfInfo.nodeName }}</b
949
- ></span
950
- >
951
- </template>
952
- <el-form :model="revokeForm">
953
- <div id="containt">
954
- <table class="table-detail">
955
- <tbody>
956
- <tr>
957
- <th>
958
- <span class="t">
959
- {{ $t2("撤回意见", "components.wf.revokeOpinion") }}
960
- </span>
961
- </th>
962
- <td>
963
- <el-form-item label="" field="opinion">
964
- <el-input
965
- type="textarea"
966
- :rows="8"
967
- :placeholder="
968
- $t2('请输入内容', 'components.wf.revokeOpinionPlaceholder')
969
- "
970
- v-model="revokeForm.opinion"
971
- ></el-input>
972
- </el-form-item>
973
- </td>
974
- </tr>
975
- </tbody>
976
- </table>
977
- </div>
978
- </el-form>
979
- <span slot="footer" class="dialog-footer">
980
- <el-button
981
- type="primary"
982
- plain
983
- class="button-sty"
984
- @click="revokeDialogVisible = false"
985
- >
986
- <i class="el-icon-close el-icon"></i>
987
- {{ $t2(" ", "system.button.cancel2") }}
988
- </el-button>
989
- <el-button type="primary" @click="subRevokeForm(0)" class="button-sty">
990
- <i class="el-icon-check el-icon"></i>
991
- {{ $t2("确 定", "system.button.confirm2") }}
992
- </el-button>
993
- </span>
994
- </el-dialog>
995
- <el-dialog
996
- v-if="showAddIncreaseSignDialog"
997
- :visible.sync="showAddIncreaseSignDialog"
998
- :modal-append-to-body="false"
999
- :close-on-click-modal="false"
1000
- :modal="false"
1001
- custom-class="dialog-style wf-dialog"
1002
- v-el-drag-dialog
1003
- v-el-dialog-center
1004
- :append-to-body="true"
1005
- >
1006
- <template #title>
1007
- <span class="el-dialog__title"
1008
- >{{ $t2("流程加签", "components.wf.wfAddIncreaseSign")
1009
- }}<span style="margin-left: 10px; margin-right: 10px">—</span
1010
- ><b class="f-red" style="font-size: 12px"
1011
- >{{ $t2("节点", "components.wf.node") }}:{{ wfInfo.nodeName }}</b
1012
- ></span
1013
- >
1014
- </template>
1015
- <el-form :model="addIncreaseSignForm">
1016
- <div id="containt">
1017
- <table class="table-detail">
1018
- <tbody>
1019
- <tr>
1020
- <th>
1021
- <span class="t">
1022
- {{ $t2("候选人", "components.wf.addIncreaseSignUser") }}
1023
- </span>
1024
- </th>
1025
- <td>
1026
- <el-form-item field="receiverName">
1027
- <el-input
1028
- class="search-input"
1029
- max="200"
1030
- v-model="addIncreaseSignForm.userNickNames"
1031
- @clear="
1032
- addIncreaseSignUsers = [];
1033
- $forceUpdate();
1034
- "
1035
- :placeholder="$t2('候选人', 'components.wf.addIncreaseSignUser')"
1036
- v-el-readonly
1037
- clearable
1038
- >
1039
- <i
1040
- slot="suffix"
1041
- class="el-input__icon el-icon-search"
1042
- @click="showAddTaskUserDialog = true"
1043
- ></i>
1044
- </el-input>
1045
- </el-form-item>
1046
- </td>
1047
- </tr>
1048
- <tr>
1049
- <th>
1050
- <span class="t">
1051
- {{ $t2("加签意见", "components.wf.addIncreaseSignOpinion") }}
1052
- </span>
1053
- </th>
1054
- <td colspan="3">
1055
- <el-form-item field="opinion">
1056
- <el-input
1057
- type="textarea"
1058
- :rows="8"
1059
- :placeholder="
1060
- $t2(
1061
- '请输入内容',
1062
- 'components.wf.addIncreaseSignOpinionPlaceholder'
1063
- )
1064
- "
1065
- v-model="addIncreaseSignForm.opinion"
1066
- ></el-input>
1067
- </el-form-item>
1068
- </td>
1069
- </tr>
1070
- </tbody>
1071
- </table>
1072
- </div>
1073
- </el-form>
1074
- <span slot="footer" class="dialog-footer">
1075
- <el-button
1076
- type="primary"
1077
- plain
1078
- class="button-sty"
1079
- @click="showAddIncreaseSignDialog = false"
1080
- >
1081
- <i class="el-icon-close el-icon"></i>
1082
- {{ $t2("取 消", "system.button.cancel2") }}
1083
- </el-button>
1084
- <el-button type="primary" @click="submitAddTaskUserForm(0)" class="button-sty">
1085
- <i class="el-icon-check el-icon"></i>
1086
- {{ $t2("确认加签", "components.wf.confirmAddIncreaseSign") }}
1087
- </el-button>
1088
- </span>
1089
- </el-dialog>
1090
- <user-dialog
1091
- v-if="showUserDialog"
1092
- :visiable.sync="showUserDialog"
1093
- @close="showUserDialog = false"
1094
- @confirm="userConfirm"
1095
- multi="true"
1096
- :param.sync="wfUserParamForTransfer"
1097
- :rows="changeUserRows"
1098
- ></user-dialog>
1099
-
1100
- <urgingDialog
1101
- v-if="urgingDialogVisible"
1102
- :visiable.sync="urgingDialogVisible"
1103
- :wfInfo="wfInfo"
1104
- :current_prefix="current_prefix"
1105
- @confirm="reloadContent"
1106
- multi="true"
1107
- ></urgingDialog>
1108
- <deleteTaskUserDialog
1109
- v-if="showDeleteTaskUserDialog"
1110
- :visiable.sync="showDeleteTaskUserDialog"
1111
- :wfInfo="wfInfo"
1112
- :current_prefix="current_prefix"
1113
- @confirm="reloadContent"
1114
- multi="true"
1115
- ></deleteTaskUserDialog>
1116
-
1117
- <addTaskUserdialog
1118
- v-if="showAddTaskUserDialog"
1119
- :visiable.sync="showAddTaskUserDialog"
1120
- :wfInfo="wfInfo"
1121
- :current_prefix="current_prefix"
1122
- :rows.sync="addIncreaseSignUsers"
1123
- @confirm="confirmAddTaskUser"
1124
- multi="true"
1125
- :param.sync="wfUserParamForAddSign"
1126
- ></addTaskUserdialog>
1127
- <user-dialog
1128
- v-if="showTalkUserDialog"
1129
- :visiable.sync="showTalkUserDialog"
1130
- @close="showTalkUserDialog = false"
1131
- @confirm="confirmTalkUserDialog"
1132
- multi="false"
1133
- :param.sync="wfUserParamForTalk"
1134
- ></user-dialog>
1135
- <setCandidateDialog
1136
- v-if="showSetCandidateDialog"
1137
- :visiable.sync="showSetCandidateDialog"
1138
- @close="closeSetCandidateDialog"
1139
- :wfInfo="wfInfo"
1140
- :current_prefix="current_prefix"
1141
- ></setCandidateDialog>
1142
- <wfFlowEleScriptDialog
1143
- v-if="showWfFlowEleScriptDialog"
1144
- :visiable.sync="showWfFlowEleScriptDialog"
1145
- :wfInfo="wfInfo"
1146
- :current_prefix="current_prefix"
1147
- ></wfFlowEleScriptDialog>
1148
- </template>
1149
- </baseTabPane>
1150
- <div v-else></div>
1151
- </template>
1152
-
1153
- <script>
1154
- import { wfContentMixin } from "./wf.js";
1155
-
1156
- export default {
1157
- components: {
1158
- UserDialog: () => import("../../views/user/user/dialog.vue"),
1159
- urgingDialog: () => import("./urgingDialog"),
1160
- deleteTaskUserDialog: () => import("./deleteTaskUserDialog"),
1161
- addTaskUserdialog: () => import("./addTaskUserdialog"),
1162
- setCandidateDialog: () => import("./setCandidateDialog"),
1163
- setCandidateButton: () => import("./setCandidateButton"),
1164
- addOpinionButton: () => import("./addOpinionButton"),
1165
- wfFlowEleScriptDialog: () => import("./wfFlowEleScriptDialog"),
1166
- },
1167
- mixins: [wfContentMixin],
1168
- };
1169
- </script>
1
+ <template>
2
+ <baseTabPane
3
+ :label="$t2('流程信息', 'components.wf.wfInfo')"
4
+ :showFold="showWfFold"
5
+ :defaultShowContent="showWfContent"
6
+ v-if="!isHideWf"
7
+ >
8
+ <template #default>
9
+ <div
10
+ style="
11
+ margin: -57px 0px 24px 118px;
12
+ position: relative;
13
+ z-index: 2;
14
+ height: 32px;
15
+ "
16
+ v-if="!wfConfig.hiddenAllButton"
17
+ >
18
+ <el-button
19
+ type="success"
20
+ class="button-sty"
21
+ plain
22
+ @click="openAgreeDialog"
23
+ v-show="wfInfo.toSubmit"
24
+ icon="iconfont icon-tongguo"
25
+ >{{ $t2("通过", "components.wf.agree") }}
26
+ </el-button>
27
+ <el-button
28
+ type="warning"
29
+ plain
30
+ class="button-sty"
31
+ @click="openManualDialog"
32
+ v-show="wfInfo.toInterrupt"
33
+ icon="iconfont icon-caozuozhongduan"
34
+ >{{ $t2("撤回", "components.wf.manual") }}
35
+ </el-button>
36
+ <el-button
37
+ type="danger"
38
+ plain
39
+ class="button-sty"
40
+ @click="rejectWfTask"
41
+ v-show="wfInfo.toReject"
42
+ icon="iconfont icon-a-bohui1"
43
+ >{{ $t2("驳回", "components.wf.reject") }}
44
+ </el-button>
45
+ <el-button
46
+ class="button-sty"
47
+ @click="openChangeWfForm"
48
+ v-show="
49
+ wfInfo.toTransfer === null || wfInfo.toTransfer === undefined
50
+ ? wfInfo.toSubmit
51
+ : wfInfo.toTransfer
52
+ "
53
+ icon="iconfont icon-zhuanban"
54
+ >{{ $t2("转办", "components.wf.transfer") }}
55
+ </el-button>
56
+ <!-- <el-button
57
+ type="primary"
58
+ class="button-sty"
59
+ @click="openUrgingDialog"
60
+ v-show="wfInfo.toInterrupt"
61
+ icon="iconfont icon-cuiban"
62
+ >{{ $t2("催办", "components.wf.urging") }}
63
+ </el-button>
64
+ <el-button
65
+ type="primary"
66
+ class="button-sty"
67
+ @click="openAddIncreaseSign"
68
+ v-show="wfInfo.toAddIncreaseSign"
69
+ icon="el-icon-plus"
70
+ >{{ $t2("加签", "components.wf.addIncreaseSign") }}
71
+ </el-button>
72
+ <el-button
73
+ type="primary"
74
+ class="button-sty"
75
+ @click="openDeleteTaskUserDialog"
76
+ v-show="wfInfo.toDeleteIncreaseSign"
77
+ icon="el-icon-delete"
78
+ >{{ $t2("减签", "components.wf.deleteIncreaseSign") }}
79
+ </el-button>
80
+ <el-button
81
+ type="primary"
82
+ class="button-sty"
83
+ @click="openTalkDialog()"
84
+ icon="el-icon-chat-dot-square"
85
+ v-if="toTalk && wfInfo.toLinkup"
86
+ >
87
+ {{ $t2("沟通", "components.wf.talk") }}
88
+ </el-button>-->
89
+ <el-button
90
+ class="button-sty"
91
+ @click="openSetCandidateDialog(null)"
92
+ v-show="wfInfo.toSetCandidate"
93
+ icon="el-icon-user"
94
+ >{{ $t1("修改审批人") }}
95
+ </el-button>
96
+ <!--
97
+ <el-button
98
+ type="danger"
99
+ class="button-sty"
100
+ @click="openRevokeDialog(null)"
101
+ v-show="wfInfo.toRevoke"
102
+ icon="el-icon-document-delete"
103
+ >{{ $t2("撤回", "components.wf.revoke") }}
104
+ </el-button>
105
+ <addOpinionButton
106
+ v-if="showAddOpinionButton"
107
+ @confirm="reloadContent()"
108
+ :wfInfo="wfInfo"
109
+ :wfSendTaskId="wfSendTaskId"
110
+ :current_prefix="current_prefix"
111
+ ></addOpinionButton> -->
112
+ <el-button
113
+ class="button-sty"
114
+ @click="openWfFlowEleScriptDialog"
115
+ v-if="wfInfo.wfAdmin"
116
+ icon="el-icon-edit"
117
+ >{{ $t1("修改脚本") }}
118
+ </el-button>
119
+ </div>
120
+ <div class="title-name">
121
+ <b>
122
+ <em>{{ $t1("流程名称") }}:</em>
123
+ {{ wfInfo.name }}
124
+ </b>
125
+ <span v-html="wfInfo.statusStr" class="status"></span>
126
+ </div>
127
+ <div
128
+ class="title-second"
129
+ @click="showFlowImg = !showFlowImg"
130
+ style="margin: 14px 0 24px; line-height: 29px; cursor: pointer"
131
+ >
132
+ <b>{{ $t2("流程图", "components.wf.wfImage") }}</b>
133
+ <div class="fr" v-if="showFlowImg === true" style="font-weight: 400">
134
+ <span>{{ $t2("收起", "components.wf.collapse") }}</span>
135
+ <i class="el-icon-arrow-up"></i>
136
+ </div>
137
+ <div class="fr" v-else style="font-weight: 400">
138
+ <span>{{ $t2("展开", "components.wf.expand") }}</span>
139
+ <i class="el-icon-arrow-down"></i>
140
+ </div>
141
+ </div>
142
+ <div
143
+ class="flow-tree"
144
+ style="padding-right: 0"
145
+ v-show="showFlowImg === true"
146
+ >
147
+ <div class="flow-box">
148
+ <!-- <img :src="wfImage" /> -->
149
+ <iframe
150
+ :src="wfImage"
151
+ style="
152
+ max-width: 100%;
153
+ max-height: 100%;
154
+ min-height: 300px;
155
+ width: 100%;
156
+ "
157
+ ></iframe>
158
+ <!-- <el-tooltip
159
+ :enterable="false"
160
+ class="item"
161
+ effect="dark"
162
+ :content="$t2('放大', 'components.wf.enlarge')"
163
+ placement="bottom"
164
+ >
165
+ <i
166
+ class="el-icon-zoom-in btn-magnifier"
167
+ @click="$window.open(wfImage)"
168
+ style="right: 0"
169
+ ></i>
170
+ </el-tooltip> -->
171
+ </div>
172
+ </div>
173
+ <div v-show="showWfInfoTab">
174
+ <!-- <div class="title-tab">
175
+ <div>
176
+ <b :class="{ on: tabIndex === '1' }" @click="tabIndex = '1'">{{
177
+ $t2("任务情况", "components.wf.taskInfo")
178
+ }}</b>
179
+ <b
180
+ :class="{ on: tabIndex === '2' }"
181
+ @click="tabIndex = '2'"
182
+ v-if="toTalk"
183
+ >{{ $t2("流程沟通", "components.wf.wfTalk") }}</b
184
+ >
185
+ <b
186
+ :class="{ on: tabIndex === '4' }"
187
+ @click="tabIndex = '4'"
188
+ v-if="showCandidate"
189
+ >{{ $t1("节点候选人") }}</b
190
+ >
191
+ <b
192
+ :class="{ on: tabIndex === '3' }"
193
+ @click="tabIndex = '3'"
194
+ v-if="showAllWfOpinon"
195
+ >{{ $t2("全部任务情况", "components.wf.allTaskInfo") }}</b
196
+ >
197
+ </div>
198
+ </div> -->
199
+ <div v-show="tabIndex === '1'">
200
+ <div class="title-five">
201
+ <b>{{ $t1("流程跟踪") }}</b>
202
+ </div>
203
+ <div class="task-situation" style="padding-left: 14px">
204
+ <div
205
+ class="item"
206
+ v-for="wftaskLineData in wftaskData"
207
+ :key="wftaskLineData.id"
208
+ >
209
+ <div class="time">
210
+ {{
211
+ wftaskLineData.modifyDate
212
+ ? wftaskLineData.modifyDate.substring(0, 10)
213
+ : ""
214
+ }}
215
+ <br />
216
+ {{
217
+ wftaskLineData.modifyDate
218
+ ? wftaskLineData.modifyDate.substring(11)
219
+ : ""
220
+ }}
221
+ </div>
222
+ <div class="status" :class="statusTypeMap[wftaskLineData.type]">
223
+ {{ wftaskLineData.typeDesc }}
224
+ </div>
225
+ <i class="circle"></i>
226
+ <div class="info">
227
+ <p>
228
+ <span class="name">{{ wftaskLineData.nodeName }}</span>
229
+ <span
230
+ >{{ $t2("执行人", "components.wf.approverName") }}:{{
231
+ wftaskLineData.approveName
232
+ }}</span
233
+ >
234
+ <span>
235
+ {{ $t2("候选人", "components.wf.candidateName") }}
236
+ <span>
237
+ <span
238
+ style="float: left; width: auto; margin-right: 10px"
239
+ >{{ wftaskLineData.collaboratorName }}</span
240
+ >
241
+ <!-- <setCandidateButton
242
+ v-if="wftaskLineData.flag === 1"
243
+ style="float: left; width: auto"
244
+ :current_prefix="current_prefix"
245
+ :wfInfo="wfInfo"
246
+ :checkRow="wftaskLineData"
247
+ @confirm="reloadContent()"
248
+ ></setCandidateButton> -->
249
+ </span>
250
+ </span>
251
+ </p>
252
+ <p
253
+ class="t"
254
+ v-if="
255
+ wftaskLineData.type !== 'START' &&
256
+ wftaskLineData.type !== 'END'
257
+ "
258
+ >
259
+ <span class="t1">{{ $t1("审批意见") }}:</span
260
+ ><span>{{ wftaskLineData.message }}</span>
261
+ </p>
262
+ </div>
263
+ </div>
264
+ </div>
265
+ <div class="title-five" v-if="showWfMemo">
266
+ <b>{{ $t1("发起人附言") }}</b>
267
+ <el-button
268
+ v-if="wfInfo.toAddMemo && !wfConfig.hiddenAllButton"
269
+ class="button-sty"
270
+ icon="el-icon-plus"
271
+ @click="openWfMemoDialog()"
272
+ type="primary"
273
+ plain
274
+ >{{ $t1("新增") }}</el-button
275
+ >
276
+ </div>
277
+ <div class="postscript-box">
278
+ <div class="item" v-for="(item, index) in wfMemoData" :key="index">
279
+ <div class="txt" style="white-space: pre-wrap">
280
+ {{ item.content }}
281
+ </div>
282
+ <div
283
+ class="attach-box"
284
+ v-if="item.attachmentDTOs && item.attachmentDTOs.length"
285
+ >
286
+ <baseUpload
287
+ accept="file"
288
+ multi="true"
289
+ :edit="false"
290
+ :widgetSize="1"
291
+ :file.sync="item.attachmentDTOs"
292
+ ></baseUpload>
293
+ </div>
294
+ <div class="time">{{ item.createDate }}</div>
295
+ </div>
296
+ </div>
297
+ </div>
298
+ <div class="task-situation" v-show="toTalk && tabIndex === '2'">
299
+ <vxe-grid
300
+ ref="table-linkup"
301
+ :auto-resize="true"
302
+ v-bind="linkupOption"
303
+ @resizable-change="$vxeTableUtil.onColumnWitchChange"
304
+ @custom="$vxeTableUtil.customHandle"
305
+ >
306
+ <template #form>
307
+ <div style="margin-bottom: 8px" class="clearfix">
308
+ <div class="fl">
309
+ <el-button
310
+ type="primary"
311
+ class="button-sty"
312
+ @click="openTalkDialog()"
313
+ icon="el-icon-chat-dot-square"
314
+ v-if="wfInfo.toLinkup && !wfConfig.hiddenAllButton"
315
+ >{{ $t2("沟通", "components.wf.talk") }}
316
+ </el-button>
317
+ </div>
318
+ <div class="fr">
319
+ <!-- <vxe-button status="warning" icon="el-icon-search" class="button-sty" @click="searchEvent">搜索
320
+ </vxe-button>-->
321
+ </div>
322
+ </div>
323
+ </template>
324
+ <template #sender="{ row }">
325
+ <a
326
+ href="javascript:void(0);"
327
+ class="a-link"
328
+ @click="
329
+ openTalkDialog(row.sender, row.senderName, null, null, row.id)
330
+ "
331
+ v-if="row.replyToSender"
332
+ >
333
+ <el-tooltip
334
+ :enterable="false"
335
+ effect="dark"
336
+ :content="$t2('沟通', 'components.wf.talk')"
337
+ placement="top"
338
+ popper-class="tooltip-skin"
339
+ >
340
+ <div>
341
+ <i class="el-icon-chat-dot-square"></i>
342
+ <span>{{ row.senderName }}</span>
343
+ </div>
344
+ </el-tooltip>
345
+ </a>
346
+ <span v-else>{{ row.senderName }}</span>
347
+ </template>
348
+ <template #receiver="{ row }">
349
+ <a
350
+ href="javascript:void(0);"
351
+ class="a-link"
352
+ @click="
353
+ openTalkDialog(
354
+ row.receiver,
355
+ row.receiverName,
356
+ null,
357
+ null,
358
+ row.id
359
+ )
360
+ "
361
+ v-if="row.replyToReceiver"
362
+ >
363
+ <el-tooltip
364
+ :enterable="false"
365
+ effect="dark"
366
+ :content="$t2('沟通', 'components.wf.talk')"
367
+ placement="top"
368
+ popper-class="tooltip-skin"
369
+ >
370
+ <div>
371
+ <i class="el-icon-chat-dot-square"></i>
372
+ <span>{{ row.receiverName }}</span>
373
+ </div>
374
+ </el-tooltip>
375
+ </a>
376
+ <span v-else>{{ row.receiverName }}</span>
377
+ </template>
378
+ <template #operate="{ row }">
379
+ <a
380
+ href="javascript:void(0);"
381
+ class="a-link"
382
+ style="font-weight: bold; text-decoration: underline"
383
+ @click="cancelTalk(row)"
384
+ v-if="row.toCancel"
385
+ >
386
+ <el-tooltip
387
+ :enterable="false"
388
+ effect="dark"
389
+ :content="$t2('取消', 'system.button.cancel')"
390
+ placement="top"
391
+ popper-class="tooltip-skin"
392
+ >
393
+ <div class="vxe-grid">
394
+ <i class="el-icon-document-delete"></i>
395
+ <span>{{ $t2("取消", "system.button.cancel") }}</span>
396
+ </div>
397
+ </el-tooltip>
398
+ </a>
399
+ </template>
400
+ </vxe-grid>
401
+ </div>
402
+ <div
403
+ class="task-situation"
404
+ v-show="showAllWfOpinon && tabIndex === '3'"
405
+ style="max-height: 500px; overflow: hidden auto"
406
+ >
407
+ <div
408
+ class="item"
409
+ v-for="wftaskLineData in allWfTaskOpinions"
410
+ :key="'allWfTaskOpinions' + wftaskLineData.id"
411
+ >
412
+ <div class="time">
413
+ {{
414
+ wftaskLineData.approveTime
415
+ ? wftaskLineData.approveTime.substring(0, 10)
416
+ : ""
417
+ }}
418
+ <br />
419
+ {{
420
+ wftaskLineData.approveTime
421
+ ? wftaskLineData.approveTime.substring(11)
422
+ : ""
423
+ }}
424
+ </div>
425
+ <div
426
+ class="status"
427
+ :class="
428
+ taskStatuses[wftaskLineData.type]
429
+ ? taskStatuses[wftaskLineData.type].class
430
+ : ''
431
+ "
432
+ >
433
+ {{
434
+ taskStatuses[wftaskLineData.type]
435
+ ? taskStatuses[wftaskLineData.type].value
436
+ : null
437
+ }}
438
+ </div>
439
+ <i class="circle"></i>
440
+ <div class="info">
441
+ <p>
442
+ <span class="name">{{ wftaskLineData.taskName }}</span>
443
+ <span
444
+ >{{ $t2("执行人", "components.wf.approverName") }}:{{
445
+ wftaskLineData.approverName
446
+ }}</span
447
+ >
448
+ <span>
449
+ {{ $t2("候选人", "components.wf.candidateName") }}:
450
+ <span class="">{{ wftaskLineData.candidateNames }}</span>
451
+ </span>
452
+ </p>
453
+ <p class="t">
454
+ <span class="t1"
455
+ >{{ $t2("备注/意见", "components.wf.opinion") }}:</span
456
+ ><span>{{ wftaskLineData.opinion }}</span>
457
+ </p>
458
+ </div>
459
+ </div>
460
+ </div>
461
+ <template v-if="showCandidate">
462
+ <div v-show="tabIndex === '4'">
463
+ <div style="width: 800px">
464
+ <vxe-grid
465
+ ref="table-candidate"
466
+ v-bind="candidateOption"
467
+ :data="candidateDatas"
468
+ @resizable-change="$vxeTableUtil.onColumnWitchChange"
469
+ @custom="$vxeTableUtil.customHandle"
470
+ ></vxe-grid>
471
+ </div>
472
+ </div>
473
+ </template>
474
+ </div>
475
+ <!--沟通-->
476
+ <el-dialog
477
+ v-if="showTalkDialog"
478
+ :visible.sync="showTalkDialog"
479
+ :modal-append-to-body="false"
480
+ :close-on-click-modal="false"
481
+ :modal="false"
482
+ custom-class="dialog-style wf-dialog"
483
+ :append-to-body="true"
484
+ v-el-drag-dialog
485
+ v-el-dialog-center
486
+ >
487
+ <template #title>
488
+ <span class="el-dialog__title"
489
+ >{{ $t2("沟通", "components.wf.talk")
490
+ }}<span style="margin-left: 10px; margin-right: 10px">—</span
491
+ ><b class="f-red" style="font-size: 12px"
492
+ >{{ $t2("节点", "components.wf.node") }}:{{ wfInfo.nodeName }}</b
493
+ ></span
494
+ >
495
+ </template>
496
+ <el-form :model="talkForm">
497
+ <div id="containt" style="height: 500px">
498
+ <table class="table-detail">
499
+ <tbody>
500
+ <tr>
501
+ <th>
502
+ <span class="t">
503
+ {{ $t2("接收人", "components.wf.receiverName") }}
504
+ </span>
505
+ </th>
506
+ <td>
507
+ <el-form-item field="receiverName">
508
+ <el-input
509
+ class="search-input"
510
+ max="200"
511
+ v-model="talkForm.receiverName"
512
+ @clear="
513
+ talkForm.receiver = null;
514
+ talkForm.replyId = null;
515
+ $forceUpdate();
516
+ "
517
+ :placeholder="
518
+ $t2('接收人', 'components.wf.receiverName')
519
+ "
520
+ v-el-readonly
521
+ clearable
522
+ :disabled="!!talkForm.replyId"
523
+ >
524
+ <i
525
+ slot="suffix"
526
+ class="el-input__icon el-icon-search"
527
+ @click="openTalkUserDialog"
528
+ ></i>
529
+ </el-input>
530
+ </el-form-item>
531
+ </td>
532
+ </tr>
533
+ <tr>
534
+ <th>
535
+ <span class="t">
536
+ {{ $t2("沟通内容", "components.wf.talkContent") }}
537
+ </span>
538
+ </th>
539
+ <td>
540
+ <el-form-item field="content">
541
+ <el-input
542
+ type="textarea"
543
+ :rows="8"
544
+ :placeholder="
545
+ $t2(
546
+ '沟通内容',
547
+ 'components.wf.talkContentPlaceholder'
548
+ )
549
+ "
550
+ v-model="talkForm.content"
551
+ ></el-input>
552
+ </el-form-item>
553
+ </td>
554
+ </tr>
555
+ <tr>
556
+ <th>
557
+ <span class="t">
558
+ {{ $t2("沟通资料", "components.wf.talkAttachment") }}
559
+ </span>
560
+ </th>
561
+ <td>
562
+ <baseUpload
563
+ accept="file"
564
+ multi="true"
565
+ :file.sync="talkForm.attachmentDTOs"
566
+ ></baseUpload>
567
+ </td>
568
+ </tr>
569
+ </tbody>
570
+ </table>
571
+ </div>
572
+ </el-form>
573
+ <span slot="footer" class="dialog-footer">
574
+ <el-button
575
+ type="primary"
576
+ plain
577
+ class="button-sty"
578
+ @click="showTalkDialog = false"
579
+ >
580
+ <i class="el-icon-close el-icon"></i>
581
+ {{ $t2("取 消", "system.button.cancel2") }}
582
+ </el-button>
583
+ <el-button type="primary" @click="submitTalkForm" class="button-sty">
584
+ <i class="el-icon-check el-icon"></i>
585
+ {{ $t2("确 定", "system.button.confirm2") }}
586
+ </el-button>
587
+ </span>
588
+ </el-dialog>
589
+
590
+ <!--发起人附言-->
591
+ <el-dialog
592
+ v-if="showWfMemoDialog"
593
+ :visible.sync="showWfMemoDialog"
594
+ :modal-append-to-body="false"
595
+ :close-on-click-modal="false"
596
+ :modal="false"
597
+ custom-class="dialog-style wf-dialog"
598
+ :append-to-body="true"
599
+ v-el-drag-dialog
600
+ v-el-dialog-center
601
+ >
602
+ <template #title>
603
+ <span class="el-dialog__title"
604
+ >{{ $t1("发起人附言")
605
+ }}<span style="margin-left: 10px; margin-right: 10px">—</span
606
+ ><b class="f-red" style="font-size: 12px"
607
+ >{{ $t2("节点", "components.wf.node") }}:{{ wfInfo.nodeName }}</b
608
+ ></span
609
+ >
610
+ </template>
611
+ <el-form :model="wfMemoForm">
612
+ <div id="containt" style="height: 500px">
613
+ <table class="table-detail">
614
+ <tbody>
615
+ <tr>
616
+ <th>
617
+ <span class="t">
618
+ {{ $t1("内容") }}
619
+ </span>
620
+ </th>
621
+ <td>
622
+ <el-form-item field="content">
623
+ <el-input
624
+ type="textarea"
625
+ :rows="8"
626
+ :placeholder="$t1('内容')"
627
+ v-model="wfMemoForm.content"
628
+ ></el-input>
629
+ </el-form-item>
630
+ </td>
631
+ </tr>
632
+ <tr>
633
+ <th>
634
+ <span class="t">
635
+ {{ $t1("附件") }}
636
+ </span>
637
+ </th>
638
+ <td>
639
+ <baseUpload
640
+ accept="file"
641
+ multi="true"
642
+ :file.sync="wfMemoForm.attachmentDTOs"
643
+ ></baseUpload>
644
+ </td>
645
+ </tr>
646
+ </tbody>
647
+ </table>
648
+ </div>
649
+ </el-form>
650
+ <span slot="footer" class="dialog-footer">
651
+ <el-button
652
+ type="primary"
653
+ plain
654
+ class="button-sty"
655
+ @click="showWfMemoDialog = false"
656
+ >
657
+ <i class="el-icon-close el-icon"></i>
658
+ {{ $t2("取 消", "system.button.cancel2") }}
659
+ </el-button>
660
+ <el-button
661
+ type="primary"
662
+ @click="submitWfMemoForm"
663
+ class="button-sty"
664
+ >
665
+ <i class="el-icon-check el-icon"></i>
666
+ {{ $t2("确 定", "system.button.confirm2") }}
667
+ </el-button>
668
+ </span>
669
+ </el-dialog>
670
+
671
+ <el-dialog
672
+ v-if="rejectDialogVisible"
673
+ :visible.sync="rejectDialogVisible"
674
+ :modal-append-to-body="false"
675
+ :close-on-click-modal="false"
676
+ :modal="false"
677
+ custom-class="dialog-style wf-dialog"
678
+ v-el-drag-dialog
679
+ v-el-dialog-center
680
+ >
681
+ <template #title>
682
+ <span class="el-dialog__title"
683
+ >{{ $t2("流程驳回", "components.wf.wfReject")
684
+ }}<span style="margin-left: 10px; margin-right: 10px">—</span
685
+ ><b class="f-red" style="font-size: 12px"
686
+ >{{ $t2("节点", "components.wf.node") }}:{{ wfInfo.nodeName }}</b
687
+ ></span
688
+ >
689
+ </template>
690
+ <el-form :model="rejectForm">
691
+ <div id="containt">
692
+ <table class="table-detail">
693
+ <tbody>
694
+ <tr>
695
+ <th>
696
+ <span class="t">
697
+ {{ $t2("驳回节点", "components.wf.rejectNode") }}
698
+ </span>
699
+ </th>
700
+ <td>
701
+ <el-form-item label="" field="nodeCode">
702
+ <el-select
703
+ v-model="rejectForm.nodeCode"
704
+ :placeholder="
705
+ $t2(
706
+ '请选择驳回节点',
707
+ 'components.wf.rejectNodePlaceholder'
708
+ )
709
+ "
710
+ >
711
+ <el-option
712
+ v-for="(rejectNode, index) in rejectNodes"
713
+ :label="rejectNode.nodeName"
714
+ :value="rejectNode.nodeCode"
715
+ :key="index"
716
+ ></el-option>
717
+ </el-select>
718
+ </el-form-item>
719
+ </td>
720
+ </tr>
721
+ <tr>
722
+ <th>
723
+ <span class="t">
724
+ {{ $t2("驳回意见", "components.wf.rejectOpinion") }}
725
+ </span>
726
+ </th>
727
+ <td>
728
+ <el-form-item label="" field="opinion">
729
+ <el-input
730
+ type="textarea"
731
+ :rows="8"
732
+ :placeholder="
733
+ $t2(
734
+ '请输入内容',
735
+ 'components.wf.rejectOpinionPlaceholder'
736
+ )
737
+ "
738
+ v-model="rejectForm.opinion"
739
+ ></el-input>
740
+ </el-form-item>
741
+ </td>
742
+ </tr>
743
+ </tbody>
744
+ </table>
745
+ </div>
746
+ </el-form>
747
+ <span slot="footer" class="dialog-footer">
748
+ <el-button
749
+ type="primary"
750
+ plain
751
+ class="button-sty"
752
+ @click="rejectDialogVisible = false"
753
+ >
754
+ <i class="el-icon-close el-icon"></i>
755
+ {{ $t2("取 消", "system.button.cancel2") }}
756
+ </el-button>
757
+ <el-button type="primary" @click="subRejectForm" class="button-sty">
758
+ <i class="el-icon-check el-icon"></i>
759
+ {{ $t2("确 定", "system.button.confirm2") }}
760
+ </el-button>
761
+ </span>
762
+ </el-dialog>
763
+ <el-dialog
764
+ v-if="agreeDialogVisible"
765
+ :visible.sync="agreeDialogVisible"
766
+ :modal-append-to-body="false"
767
+ :close-on-click-modal="false"
768
+ :modal="false"
769
+ custom-class="dialog-style wf-dialog"
770
+ v-el-drag-dialog
771
+ v-el-dialog-center
772
+ >
773
+ <template #title>
774
+ <span class="el-dialog__title"
775
+ >{{ $t2("流程通过", "components.wf.wfAgree")
776
+ }}<span style="margin-left: 10px; margin-right: 10px">—</span
777
+ ><b class="f-red" style="font-size: 12px"
778
+ >{{ $t2("节点", "components.wf.node") }}:{{ wfInfo.nodeName }}</b
779
+ ></span
780
+ >
781
+ </template>
782
+ <el-form :model="agreeForm">
783
+ <div id="containt">
784
+ <table class="table-detail">
785
+ <tbody>
786
+ <tr v-if="agreeNodes.length > 0">
787
+ <th>
788
+ <span class="t">
789
+ {{ $t2("通过节点", "components.wf.agreeNode") }}
790
+ </span>
791
+ </th>
792
+ <td>
793
+ <el-form-item label="" field="nodeId">
794
+ <el-select
795
+ v-model="agreeForm.nodeId"
796
+ :placeholder="
797
+ $t2(
798
+ '请选择通过节点',
799
+ 'components.wf.agreeNodePlaceholder'
800
+ )
801
+ "
802
+ >
803
+ <el-option
804
+ v-for="(node, index) in agreeNodes"
805
+ :label="node.nodeName"
806
+ :value="node.nodeId"
807
+ :key="index"
808
+ ></el-option>
809
+ </el-select>
810
+ </el-form-item>
811
+ </td>
812
+ </tr>
813
+ <tr>
814
+ <th>
815
+ <span class="t">
816
+ {{ $t2("通过意见", "components.wf.agreeOpinion") }}
817
+ </span>
818
+ </th>
819
+ <td>
820
+ <el-form-item label="" field="opinion">
821
+ <el-input
822
+ type="textarea"
823
+ :rows="8"
824
+ :placeholder="
825
+ $t2(
826
+ `请填写您的意见~
827
+ 注:
828
+ 通过默认意见为“同意”
829
+ `,
830
+ 'components.wf.agreeOpinionPlaceholder'
831
+ )
832
+ "
833
+ v-model="agreeForm.opinion"
834
+ ></el-input>
835
+ </el-form-item>
836
+ </td>
837
+ </tr>
838
+ </tbody>
839
+ </table>
840
+ </div>
841
+ </el-form>
842
+ <span slot="footer" class="dialog-footer">
843
+ <el-button
844
+ type="primary"
845
+ plain
846
+ class="button-sty"
847
+ @click="agreeDialogVisible = false"
848
+ >
849
+ <i class="el-icon-close el-icon"></i>
850
+ {{ $t2("取 消", "system.button.cancel2") }}
851
+ </el-button>
852
+ <el-button type="primary" @click="subAgreeForm" class="button-sty">
853
+ <i class="el-icon-check el-icon"></i>
854
+ {{ $t2("确 定", "system.button.confirm2") }}
855
+ </el-button>
856
+ </span>
857
+ </el-dialog>
858
+ <el-dialog
859
+ v-if="changeWfDialogVisible"
860
+ :visible.sync="changeWfDialogVisible"
861
+ :modal-append-to-body="false"
862
+ :close-on-click-modal="false"
863
+ :modal="false"
864
+ custom-class="dialog-style wf-dialog"
865
+ v-el-drag-dialog
866
+ v-el-dialog-center
867
+ :append-to-body="true"
868
+ >
869
+ <template #title>
870
+ <span class="el-dialog__title"
871
+ >{{ $t2("流程转办", "components.wf.wfTransfer")
872
+ }}<span style="margin-left: 10px; margin-right: 10px">—</span
873
+ ><b class="f-red" style="font-size: 12px"
874
+ >{{ $t2("节点", "components.wf.node") }}:{{ wfInfo.nodeName }}</b
875
+ ></span
876
+ >
877
+ </template>
878
+ <el-form :model="changeWfForm">
879
+ <div id="containt">
880
+ <table class="table-detail">
881
+ <tbody>
882
+ <tr>
883
+ <th>
884
+ <span class="t">
885
+ {{ $t2("转办人", "components.wf.transferUser") }}
886
+ </span>
887
+ </th>
888
+ <td>
889
+ <el-form-item label="" field="nodeId">
890
+ <el-input
891
+ class="search-input"
892
+ max="200"
893
+ v-model="changeWfForm.userNickNames"
894
+ @clear="
895
+ changeWfForm.userIds = '';
896
+ changeUserRows = [];
897
+ $forceUpdate();
898
+ "
899
+ v-el-readonly
900
+ clearable
901
+ >
902
+ <i
903
+ slot="suffix"
904
+ class="el-input__icon el-icon-search"
905
+ @click="showUserDialog = true"
906
+ ></i>
907
+ </el-input>
908
+ </el-form-item>
909
+ </td>
910
+ </tr>
911
+ <tr>
912
+ <th>
913
+ <span class="t">
914
+ {{ $t2("转办意见", "components.wf.transferOpinion") }}
915
+ </span>
916
+ </th>
917
+ <td>
918
+ <el-form-item label="" field="opinion">
919
+ <el-input
920
+ type="textarea"
921
+ :rows="8"
922
+ :placeholder="
923
+ $t2(
924
+ '请输入内容',
925
+ 'components.wf.transferOpinionPlaceholder'
926
+ )
927
+ "
928
+ v-model="changeWfForm.opinion"
929
+ ></el-input>
930
+ </el-form-item>
931
+ </td>
932
+ </tr>
933
+ </tbody>
934
+ </table>
935
+ </div>
936
+ </el-form>
937
+ <span slot="footer" class="dialog-footer">
938
+ <el-button
939
+ type="primary"
940
+ plain
941
+ class="button-sty"
942
+ @click="changeWfDialogVisible = false"
943
+ >
944
+ <i class="el-icon-close el-icon"></i>
945
+ {{ $t2("取 消", "system.button.cancel2") }}
946
+ </el-button>
947
+ <el-button type="primary" @click="subChangeWfForm" class="button-sty">
948
+ <i class="el-icon-check el-icon"></i>
949
+ {{ $t2("确认转办", "components.wf.confirmTransfer") }}
950
+ </el-button>
951
+ </span>
952
+ </el-dialog>
953
+ <el-dialog
954
+ v-if="showWfManualDialog"
955
+ :visible.sync="showWfManualDialog"
956
+ :modal-append-to-body="false"
957
+ :close-on-click-modal="false"
958
+ :modal="false"
959
+ width="332px"
960
+ custom-class="dialog-style tips-dialog warning"
961
+ :append-to-body="true"
962
+ :show-close="false"
963
+ v-el-drag-dialog
964
+ v-el-dialog-center
965
+ >
966
+ <template #title>
967
+ <span class="el-dialog__title"
968
+ >{{ $t2("流程撤回", "components.wf.wfManual")
969
+ }}<span style="margin-left: 10px; margin-right: 10px">—</span
970
+ ><b class="f-red" style="font-size: 12px"
971
+ >{{ $t2("节点", "components.wf.node") }}:{{ wfInfo.nodeName }}</b
972
+ ></span
973
+ >
974
+ </template>
975
+ <div class="cont">
976
+ {{ $t2("您确定要撤回流程吗?", "components.wf.manualTip") }}
977
+ </div>
978
+ <span slot="footer" class="dialog-footer">
979
+ <el-button
980
+ type="primary"
981
+ plain
982
+ class="button-sty"
983
+ @click="showWfManualDialog = false"
984
+ ><i class="el-icon-close el-icon"></i
985
+ >{{ $t2("取 消", "system.button.cancel2") }}</el-button
986
+ >
987
+ <el-button type="primary" @click="manualEndWf" class="button-sty"
988
+ ><i class="el-icon-check el-icon"></i
989
+ >{{ $t2("确 定", "system.button.confirm2") }}</el-button
990
+ >
991
+ </span>
992
+ </el-dialog>
993
+ <el-dialog
994
+ v-if="revokeDialogVisible"
995
+ :visible.sync="revokeDialogVisible"
996
+ :modal-append-to-body="false"
997
+ :close-on-click-modal="false"
998
+ :modal="false"
999
+ custom-class="dialog-style wf-dialog"
1000
+ v-el-drag-dialog
1001
+ v-el-dialog-center
1002
+ >
1003
+ <template #title>
1004
+ <span class="el-dialog__title"
1005
+ >{{ $t2("流程撤回", "components.wf.wfRevoke")
1006
+ }}<span style="margin-left: 10px; margin-right: 10px">—</span
1007
+ ><b class="f-red" style="font-size: 12px"
1008
+ >{{ $t2("节点", "components.wf.node") }}:{{ wfInfo.nodeName }}</b
1009
+ ></span
1010
+ >
1011
+ </template>
1012
+ <el-form :model="revokeForm">
1013
+ <div id="containt">
1014
+ <table class="table-detail">
1015
+ <tbody>
1016
+ <tr>
1017
+ <th>
1018
+ <span class="t">
1019
+ {{ $t2("撤回意见", "components.wf.revokeOpinion") }}
1020
+ </span>
1021
+ </th>
1022
+ <td>
1023
+ <el-form-item label="" field="opinion">
1024
+ <el-input
1025
+ type="textarea"
1026
+ :rows="8"
1027
+ :placeholder="
1028
+ $t2(
1029
+ '请输入内容',
1030
+ 'components.wf.revokeOpinionPlaceholder'
1031
+ )
1032
+ "
1033
+ v-model="revokeForm.opinion"
1034
+ ></el-input>
1035
+ </el-form-item>
1036
+ </td>
1037
+ </tr>
1038
+ </tbody>
1039
+ </table>
1040
+ </div>
1041
+ </el-form>
1042
+ <span slot="footer" class="dialog-footer">
1043
+ <el-button
1044
+ type="primary"
1045
+ plain
1046
+ class="button-sty"
1047
+ @click="revokeDialogVisible = false"
1048
+ >
1049
+ <i class="el-icon-close el-icon"></i>
1050
+ {{ $t2("取 消", "system.button.cancel2") }}
1051
+ </el-button>
1052
+ <el-button
1053
+ type="primary"
1054
+ @click="subRevokeForm(0)"
1055
+ class="button-sty"
1056
+ >
1057
+ <i class="el-icon-check el-icon"></i>
1058
+ {{ $t2("确 定", "system.button.confirm2") }}
1059
+ </el-button>
1060
+ </span>
1061
+ </el-dialog>
1062
+ <el-dialog
1063
+ v-if="showAddIncreaseSignDialog"
1064
+ :visible.sync="showAddIncreaseSignDialog"
1065
+ :modal-append-to-body="false"
1066
+ :close-on-click-modal="false"
1067
+ :modal="false"
1068
+ custom-class="dialog-style wf-dialog"
1069
+ v-el-drag-dialog
1070
+ v-el-dialog-center
1071
+ :append-to-body="true"
1072
+ >
1073
+ <template #title>
1074
+ <span class="el-dialog__title"
1075
+ >{{ $t2("流程加签", "components.wf.wfAddIncreaseSign")
1076
+ }}<span style="margin-left: 10px; margin-right: 10px">—</span
1077
+ ><b class="f-red" style="font-size: 12px"
1078
+ >{{ $t2("节点", "components.wf.node") }}:{{ wfInfo.nodeName }}</b
1079
+ ></span
1080
+ >
1081
+ </template>
1082
+ <el-form :model="addIncreaseSignForm">
1083
+ <div id="containt">
1084
+ <table class="table-detail">
1085
+ <tbody>
1086
+ <tr>
1087
+ <th>
1088
+ <span class="t">
1089
+ {{ $t2("候选人", "components.wf.addIncreaseSignUser") }}
1090
+ </span>
1091
+ </th>
1092
+ <td>
1093
+ <el-form-item field="receiverName">
1094
+ <el-input
1095
+ class="search-input"
1096
+ max="200"
1097
+ v-model="addIncreaseSignForm.userNickNames"
1098
+ @clear="
1099
+ addIncreaseSignUsers = [];
1100
+ $forceUpdate();
1101
+ "
1102
+ :placeholder="
1103
+ $t2('候选人', 'components.wf.addIncreaseSignUser')
1104
+ "
1105
+ v-el-readonly
1106
+ clearable
1107
+ >
1108
+ <i
1109
+ slot="suffix"
1110
+ class="el-input__icon el-icon-search"
1111
+ @click="showAddTaskUserDialog = true"
1112
+ ></i>
1113
+ </el-input>
1114
+ </el-form-item>
1115
+ </td>
1116
+ </tr>
1117
+ <tr>
1118
+ <th>
1119
+ <span class="t">
1120
+ {{
1121
+ $t2("加签意见", "components.wf.addIncreaseSignOpinion")
1122
+ }}
1123
+ </span>
1124
+ </th>
1125
+ <td colspan="3">
1126
+ <el-form-item field="opinion">
1127
+ <el-input
1128
+ type="textarea"
1129
+ :rows="8"
1130
+ :placeholder="
1131
+ $t2(
1132
+ '请输入内容',
1133
+ 'components.wf.addIncreaseSignOpinionPlaceholder'
1134
+ )
1135
+ "
1136
+ v-model="addIncreaseSignForm.opinion"
1137
+ ></el-input>
1138
+ </el-form-item>
1139
+ </td>
1140
+ </tr>
1141
+ </tbody>
1142
+ </table>
1143
+ </div>
1144
+ </el-form>
1145
+ <span slot="footer" class="dialog-footer">
1146
+ <el-button
1147
+ type="primary"
1148
+ plain
1149
+ class="button-sty"
1150
+ @click="showAddIncreaseSignDialog = false"
1151
+ >
1152
+ <i class="el-icon-close el-icon"></i>
1153
+ {{ $t2("取 消", "system.button.cancel2") }}
1154
+ </el-button>
1155
+ <el-button
1156
+ type="primary"
1157
+ @click="submitAddTaskUserForm(0)"
1158
+ class="button-sty"
1159
+ >
1160
+ <i class="el-icon-check el-icon"></i>
1161
+ {{ $t2("确认加签", "components.wf.confirmAddIncreaseSign") }}
1162
+ </el-button>
1163
+ </span>
1164
+ </el-dialog>
1165
+ <user-dialog
1166
+ v-if="showUserDialog"
1167
+ :visiable.sync="showUserDialog"
1168
+ @close="showUserDialog = false"
1169
+ @confirm="userConfirm"
1170
+ multi="true"
1171
+ :param.sync="wfUserParamForTransfer"
1172
+ :rows="changeUserRows"
1173
+ ></user-dialog>
1174
+
1175
+ <urgingDialog
1176
+ v-if="urgingDialogVisible"
1177
+ :visiable.sync="urgingDialogVisible"
1178
+ :wfInfo="wfInfo"
1179
+ :current_prefix="current_prefix"
1180
+ @confirm="reloadContent"
1181
+ multi="true"
1182
+ ></urgingDialog>
1183
+ <deleteTaskUserDialog
1184
+ v-if="showDeleteTaskUserDialog"
1185
+ :visiable.sync="showDeleteTaskUserDialog"
1186
+ :wfInfo="wfInfo"
1187
+ :current_prefix="current_prefix"
1188
+ @confirm="reloadContent"
1189
+ multi="true"
1190
+ ></deleteTaskUserDialog>
1191
+
1192
+ <addTaskUserdialog
1193
+ v-if="showAddTaskUserDialog"
1194
+ :visiable.sync="showAddTaskUserDialog"
1195
+ :wfInfo="wfInfo"
1196
+ :current_prefix="current_prefix"
1197
+ :rows.sync="addIncreaseSignUsers"
1198
+ @confirm="confirmAddTaskUser"
1199
+ multi="true"
1200
+ :param.sync="wfUserParamForAddSign"
1201
+ ></addTaskUserdialog>
1202
+ <user-dialog
1203
+ v-if="showTalkUserDialog"
1204
+ :visiable.sync="showTalkUserDialog"
1205
+ @close="showTalkUserDialog = false"
1206
+ @confirm="confirmTalkUserDialog"
1207
+ multi="false"
1208
+ :param.sync="wfUserParamForTalk"
1209
+ ></user-dialog>
1210
+ <setCandidateDialog
1211
+ v-if="showSetCandidateDialog"
1212
+ :visiable.sync="showSetCandidateDialog"
1213
+ @close="closeSetCandidateDialog"
1214
+ :wfInfo="wfInfo"
1215
+ :current_prefix="current_prefix"
1216
+ ></setCandidateDialog>
1217
+ <wfFlowEleScriptDialog
1218
+ v-if="showWfFlowEleScriptDialog"
1219
+ :visiable.sync="showWfFlowEleScriptDialog"
1220
+ :wfInfo="wfInfo"
1221
+ :current_prefix="current_prefix"
1222
+ ></wfFlowEleScriptDialog>
1223
+ </template>
1224
+ </baseTabPane>
1225
+ <div v-else></div>
1226
+ </template>
1227
+
1228
+ <script>
1229
+ import { wfContentMixin } from "./wf.js";
1230
+
1231
+ export default {
1232
+ components: {
1233
+ UserDialog: () => import("../../views/user/user/dialog.vue"),
1234
+ urgingDialog: () => import("./urgingDialog"),
1235
+ deleteTaskUserDialog: () => import("./deleteTaskUserDialog"),
1236
+ addTaskUserdialog: () => import("./addTaskUserdialog"),
1237
+ setCandidateDialog: () => import("./setCandidateDialog"),
1238
+ setCandidateButton: () => import("./setCandidateButton"),
1239
+ addOpinionButton: () => import("./addOpinionButton"),
1240
+ wfFlowEleScriptDialog: () => import("./wfFlowEleScriptDialog"),
1241
+ },
1242
+ mixins: [wfContentMixin],
1243
+ };
1244
+ </script>