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
@@ -0,0 +1,147 @@
1
+ /**
2
+ * 文件转换工具类
3
+ * 提供常用的文件格式转换功能
4
+ */
5
+
6
+ /**
7
+ * File对象转Base64 DataURL
8
+ * @param {File|Blob} file 文件对象
9
+ * @returns {Promise<string>} 返回Base64字符串的Promise
10
+ */
11
+ export function fileToBase64(file) {
12
+ return new Promise((resolve, reject) => {
13
+ if (!file) {
14
+ reject(new Error('文件对象不能为空'));
15
+ return;
16
+ }
17
+
18
+ const reader = new FileReader();
19
+ reader.onload = (e) => {
20
+ resolve(e.target.result);
21
+ };
22
+ reader.onerror = (error) => {
23
+ reject(error);
24
+ };
25
+ reader.readAsDataURL(file);
26
+ });
27
+ }
28
+
29
+ /**
30
+ * Base64 DataURL转File对象
31
+ * @param {string} base64 Base64数据URL字符串
32
+ * @param {string} filename 文件名
33
+ * @param {string} mimeType 文件MIME类型,默认为Excel类型
34
+ * @returns {File|null} 返回File对象,失败时返回null
35
+ */
36
+ export function base64ToFile(base64, filename, mimeType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') {
37
+ try {
38
+ if (!base64 || !filename) {
39
+ console.warn('Base64或文件名不能为空');
40
+ return null;
41
+ }
42
+
43
+ // 移除Base64数据URL的前缀,获取纯Base64数据
44
+ const base64Data = base64.replace(/^data:.*?;base64,/, '');
45
+
46
+ // 将base64转换为二进制数组
47
+ const byteCharacters = atob(base64Data);
48
+ const byteNumbers = new Array(byteCharacters.length);
49
+
50
+ for (let i = 0; i < byteCharacters.length; i++) {
51
+ byteNumbers[i] = byteCharacters.charCodeAt(i);
52
+ }
53
+
54
+ const byteArray = new Uint8Array(byteNumbers);
55
+
56
+ // 创建Blob对象
57
+ const blob = new Blob([byteArray], { type: mimeType });
58
+
59
+ // 创建File对象
60
+ const file = new File([blob], filename, {
61
+ type: mimeType,
62
+ lastModified: Date.now()
63
+ });
64
+
65
+ return file;
66
+ } catch (error) {
67
+ console.error('Base64转File失败:', error);
68
+ return null;
69
+ }
70
+ }
71
+
72
+ /**
73
+ * Base64转Blob对象
74
+ * @param {string} base64 Base64数据URL字符串
75
+ * @param {string} mimeType 文件MIME类型
76
+ * @returns {Blob|null} 返回Blob对象,失败时返回null
77
+ */
78
+ export function base64ToBlob(base64, mimeType = 'application/octet-stream') {
79
+ try {
80
+ if (!base64) {
81
+ console.warn('Base64不能为空');
82
+ return null;
83
+ }
84
+
85
+ const base64Data = base64.replace(/^data:.*?;base64,/, '');
86
+ const byteCharacters = atob(base64Data);
87
+ const byteNumbers = new Array(byteCharacters.length);
88
+
89
+ for (let i = 0; i < byteCharacters.length; i++) {
90
+ byteNumbers[i] = byteCharacters.charCodeAt(i);
91
+ }
92
+
93
+ const byteArray = new Uint8Array(byteNumbers);
94
+ const blob = new Blob([byteArray], { type: mimeType });
95
+
96
+ return blob;
97
+ } catch (error) {
98
+ console.error('Base64转Blob失败:', error);
99
+ return null;
100
+ }
101
+ }
102
+
103
+ /**
104
+ * 下载Base64数据为文件
105
+ * @param {string} base64 Base64数据URL
106
+ * @param {string} filename 下载的文件名
107
+ * @param {string} mimeType 文件MIME类型
108
+ */
109
+ export function downloadBase64File(base64, filename, mimeType) {
110
+ try {
111
+ const file = base64ToFile(base64, filename, mimeType);
112
+ if (file) {
113
+ const url = URL.createObjectURL(file);
114
+ const link = document.createElement('a');
115
+ link.href = url;
116
+ link.download = filename;
117
+ document.body.appendChild(link);
118
+ link.click();
119
+ document.body.removeChild(link);
120
+ URL.revokeObjectURL(url);
121
+ }
122
+ } catch (error) {
123
+ console.error('下载Base64文件失败:', error);
124
+ }
125
+ }
126
+
127
+ /**
128
+ * 常用文件MIME类型映射
129
+ */
130
+ export const MIME_TYPES = {
131
+ EXCEL: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
132
+ PDF: 'application/pdf',
133
+ WORD: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
134
+ IMAGE_JPEG: 'image/jpeg',
135
+ IMAGE_PNG: 'image/png',
136
+ IMAGE_GIF: 'image/gif',
137
+ TEXT: 'text/plain',
138
+ JSON: 'application/json'
139
+ };
140
+
141
+ export default {
142
+ fileToBase64,
143
+ base64ToFile,
144
+ base64ToBlob,
145
+ downloadBase64File,
146
+ MIME_TYPES
147
+ };
@@ -1,3 +1,72 @@
1
+ import Vue from 'vue';
2
+ import dialogComponent from './dialog.vue';
3
+ export {default as luckysheetDialog } from './dialog.vue';
4
+
5
+ /**
6
+ * 打开univerDialog对话框
7
+ * @param {Object} options - 对话框配置选项
8
+ * @param {Boolean} options.visiable - 是否可见
9
+ * @param {String} options.data - Excel数据(JSON字符串)
10
+ * @param {String} options.title - 对话框标题
11
+ * @param {Boolean} options.readonly - 是否只读
12
+ * @param {Object} options.options - univer配置选项
13
+ * @param {Function} options.onConfirm - 确认回调函数
14
+ * @param {Function} options.onClose - 关闭回调函数
15
+ * @returns {Object} 对话框实例,包含close方法
16
+ */
1
17
  export function openLuckysheetDialog(options = {}) {
18
+ let visiable = true;
19
+ const {
20
+ onClose,
21
+ } = options;
22
+
23
+ // 创建组件实例
24
+ const DialogConstructor = Vue.extend(dialogComponent);
25
+ const instance = new DialogConstructor({
26
+ propsData: {
27
+ visiable,
28
+ options: options,
29
+ }
30
+ });
31
+
32
+ // 挂载组件
33
+ instance.$mount();
34
+ document.body.appendChild(instance.$el);
35
+
36
+ // 定义销毁函数
37
+ const destroyDialog = () => {
38
+ // 延迟销毁,确保动画完成
39
+ setTimeout(() => {
40
+ // 从DOM中移除
41
+ if (instance.$el && instance.$el.parentNode) {
42
+ instance.$el.parentNode.removeChild(instance.$el);
43
+ }
44
+ // 销毁组件实例
45
+ instance.$destroy();
46
+ }, 300);
47
+ };
48
+
49
+ // 监听关闭事件
50
+ if (onClose) {
51
+ instance.$on('update:visiable', (value) => {
52
+ if (!value) {
53
+ onClose();
54
+ // 关闭后销毁
55
+ destroyDialog();
56
+ }
57
+ });
58
+ } else {
59
+ // 如果没有传入onClose,也要确保关闭后销毁
60
+ instance.$on('update:visiable', (value) => {
61
+ if (!value) destroyDialog();
62
+ });
63
+ }
2
64
 
65
+ // 返回实例,允许外部控制
66
+ return {
67
+ instance,
68
+ close: () => {
69
+ instance.close();
70
+ }
71
+ };
3
72
  }