m8-mcp-server 1.0.0

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 (160) hide show
  1. package/README.md +67 -0
  2. package/bin/m8-mcp.js +2 -0
  3. package/dist/constants.js +1 -0
  4. package/dist/data/ejs-doc/api_audio/api_audio.md +225 -0
  5. package/dist/data/ejs-doc/api_auth/api_auth.md +256 -0
  6. package/dist/data/ejs-doc/api_contact/api_contact.md +295 -0
  7. package/dist/data/ejs-doc/api_contact/images/component_contact.jpg +0 -0
  8. package/dist/data/ejs-doc/api_device/api_device.md +761 -0
  9. package/dist/data/ejs-doc/api_event/api_event.md +244 -0
  10. package/dist/data/ejs-doc/api_global/api_global.md +440 -0
  11. package/dist/data/ejs-doc/api_io/api_io.md +369 -0
  12. package/dist/data/ejs-doc/api_navigator/api_navigator.md +654 -0
  13. package/dist/data/ejs-doc/api_navigator/images/navigator.backbtn.png +0 -0
  14. package/dist/data/ejs-doc/api_navigator/images/navigator.hide.png +0 -0
  15. package/dist/data/ejs-doc/api_navigator/images/navigator.hidestatus.png +0 -0
  16. package/dist/data/ejs-doc/api_navigator/images/navigator.leftarrowbtn.jpg +0 -0
  17. package/dist/data/ejs-doc/api_navigator/images/navigator.leftbtn.png +0 -0
  18. package/dist/data/ejs-doc/api_navigator/images/navigator.leftbtnimg.png +0 -0
  19. package/dist/data/ejs-doc/api_navigator/images/navigator.multititle.jpg +0 -0
  20. package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtn.png +0 -0
  21. package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtn2.png +0 -0
  22. package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtnimg.png +0 -0
  23. package/dist/data/ejs-doc/api_navigator/images/navigator.rightbtnimg2.png +0 -0
  24. package/dist/data/ejs-doc/api_navigator/images/navigator.rightmenu.png +0 -0
  25. package/dist/data/ejs-doc/api_navigator/images/navigator.searchbar.png +0 -0
  26. package/dist/data/ejs-doc/api_navigator/images/navigator.subtitle.jpg +0 -0
  27. package/dist/data/ejs-doc/api_navigator/images/navigator.title.png +0 -0
  28. package/dist/data/ejs-doc/api_page/api_page.md +261 -0
  29. package/dist/data/ejs-doc/api_runtime/api_runtime.md +788 -0
  30. package/dist/data/ejs-doc/api_storage/api_storage.md +320 -0
  31. package/dist/data/ejs-doc/api_stream/api_stream.md +152 -0
  32. package/dist/data/ejs-doc/api_stream/images/body_multiform.jpg +0 -0
  33. package/dist/data/ejs-doc/api_ui/api_ui.md +836 -0
  34. package/dist/data/ejs-doc/api_ui/images/ui.popwindow.png +0 -0
  35. package/dist/data/ejs-doc/api_ui/images/ui_actionsheet.png +0 -0
  36. package/dist/data/ejs-doc/api_ui/images/ui_alert.png +0 -0
  37. package/dist/data/ejs-doc/api_ui/images/ui_confirm.png +0 -0
  38. package/dist/data/ejs-doc/api_ui/images/ui_pickDateTime.png +0 -0
  39. package/dist/data/ejs-doc/api_ui/images/ui_pickdate.png +0 -0
  40. package/dist/data/ejs-doc/api_ui/images/ui_pickmonth.png +0 -0
  41. package/dist/data/ejs-doc/api_ui/images/ui_picktime.png +0 -0
  42. package/dist/data/ejs-doc/api_ui/images/ui_poppicker.png +0 -0
  43. package/dist/data/ejs-doc/api_ui/images/ui_poppicker2.png +0 -0
  44. package/dist/data/ejs-doc/api_ui/images/ui_poppicker3.png +0 -0
  45. package/dist/data/ejs-doc/api_ui/images/ui_prompt.png +0 -0
  46. package/dist/data/ejs-doc/api_ui/images/ui_select.png +0 -0
  47. package/dist/data/ejs-doc/api_ui/images/ui_select2.png +0 -0
  48. package/dist/data/ejs-doc/api_ui/images/ui_select3.png +0 -0
  49. package/dist/data/ejs-doc/api_ui/images/ui_showdebugdialog.png +0 -0
  50. package/dist/data/ejs-doc/api_ui/images/ui_showwaiting.png +0 -0
  51. package/dist/data/ejs-doc/api_ui/images/ui_toast.png +0 -0
  52. package/dist/data/ejs-doc/api_ui/images/ui_toastAndEvent.png +0 -0
  53. package/dist/data/ejs-doc/api_util/api_util.md +615 -0
  54. package/dist/data/ejs-doc/api_util/images/util.playvideo.png +0 -0
  55. package/dist/data/ejs-doc/api_util/images/util.previmage.png +0 -0
  56. package/dist/data/ejs-doc/api_util/images/util.selectfile.png +0 -0
  57. package/dist/data/ejs-doc/api_util/images/util.selectimage.png +0 -0
  58. package/dist/data/m8mpdoc-develop/003-/345/205/270/345/236/213/346/241/210/344/276/213/003-/345/210/227/350/241/250/350/257/246/346/203/205.md +247 -0
  59. package/dist/data/m8mpdoc-develop/003-/345/205/270/345/236/213/346/241/210/344/276/213/003-/345/210/227/350/241/250/350/257/246/346/203/205vue3.md +276 -0
  60. package/dist/data/m8mpdoc-develop/003-/345/205/270/345/236/213/346/241/210/344/276/213/003-/350/241/250/345/215/225/346/217/220/344/272/244.md +130 -0
  61. package/dist/data/m8mpdoc-develop/003-/345/205/270/345/236/213/346/241/210/344/276/213/003-/350/241/250/345/215/225/346/217/220/344/272/244vue3.md +115 -0
  62. package/dist/data/m8mpdoc-develop/005-/346/240/270/345/277/203/351/200/232/347/224/250Util/000-/346/240/270/345/277/203/346/226/271/346/263/225.md +398 -0
  63. package/dist/data/m8mpdoc-develop/005-/346/240/270/345/277/203/351/200/232/347/224/250Util/001-Ajax/344/270/216/346/226/207/344/273/266/344/270/212/344/274/240.md +456 -0
  64. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/000-charset.md +128 -0
  65. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/001-base64.md +142 -0
  66. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/002-date.md +210 -0
  67. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/004-math.md +85 -0
  68. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/006-sha1.md +21 -0
  69. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/007-sha256.md +36 -0
  70. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/008-storage.md +128 -0
  71. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/009-string.md +148 -0
  72. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/010-Util/346/211/251/345/261/225/346/214/207/345/215/227.md +76 -0
  73. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/011-cookie.md +59 -0
  74. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/012-util-sm.md +95 -0
  75. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-1.baseapi.md +76 -0
  76. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-2.network.md +202 -0
  77. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-2.socketTask.md +92 -0
  78. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-3.uiapi.md +412 -0
  79. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-4.eventapi.md +146 -0
  80. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/013-5.otherapi.md +137 -0
  81. package/dist/data/m8mpdoc-develop/006-Util/345/267/245/345/205/267/351/233/206/014-util-mpVerifyManager.md +363 -0
  82. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/000-/347/273/204/344/273/266/345/272/223/344/270/213/350/275/275/344/275/277/347/224/250.md +188 -0
  83. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/001-actionsheet/345/212/250/344/275/234/351/235/242/346/235/277.md +460 -0
  84. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/004-amap/345/234/260/345/233/276.md +285 -0
  85. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/005-button/346/214/211/351/222/256.md +211 -0
  86. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/008-cell/345/215/225/345/205/203/346/240/274.md +213 -0
  87. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/009-checkbox/345/244/215/351/200/211/346/241/206.md +501 -0
  88. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/010-circle/347/216/257/345/275/242/350/277/233/345/272/246/346/235/241.md +168 -0
  89. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/011-datepicker/346/227/245/346/234/237/351/200/211/346/213/251.md +617 -0
  90. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/013-field/350/276/223/345/205/245/346/241/206.md +539 -0
  91. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/015-form/350/241/250/345/215/225.md +999 -0
  92. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/018-header/345/244/264/351/203/250/345/257/274/350/210/252/346/240/217.md +150 -0
  93. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/019-icon/345/233/276/346/240/207.md +133 -0
  94. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/020-loading/345/212/240/350/275/275.md +117 -0
  95. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/021-noticebar/351/200/232/347/237/245/346/240/217.md +152 -0
  96. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/022-numberkeyboard/346/225/260/345/255/227/351/224/256/347/233/230.md +427 -0
  97. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/023-pagination/345/210/206/351/241/265.md +212 -0
  98. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/024-panel/351/235/242/346/235/277.md +85 -0
  99. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/025-passwordinput/345/257/206/347/240/201/350/276/223/345/205/245/346/241/206.md +175 -0
  100. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/026-picker/351/200/211/346/213/251/345/231/250.md +519 -0
  101. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/027-popup/345/274/271/345/207/272/345/261/202.md +152 -0
  102. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/028-progress/350/277/233/345/272/246/346/235/241.md +103 -0
  103. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/029-radio/345/215/225/351/200/211/346/241/206.md +285 -0
  104. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/030-rate/350/257/204/345/210/206.md +189 -0
  105. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/031-search/346/220/234/347/264/242.md +217 -0
  106. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/032-slider/346/273/221/345/235/227.md +166 -0
  107. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/033-stepper/346/255/245/350/277/233/345/231/250.md +340 -0
  108. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/035-swipecell/346/273/221/345/212/250/345/215/225/345/205/203/346/240/274.md +265 -0
  109. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/036-switch/345/274/200/345/205/263.md +196 -0
  110. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/037-switchcell/345/274/200/345/205/263/345/215/225/345/205/203/346/240/274.md +115 -0
  111. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/038-tag/346/240/207/350/256/260.md +232 -0
  112. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/039-treeselect/345/210/206/347/261/273/351/200/211/346/213/251.md +631 -0
  113. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/040-uploader/346/226/207/344/273/266/344/270/212/344/274/240.md +531 -0
  114. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/041-verifycode/351/252/214/350/257/201/347/240/201.md +111 -0
  115. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/042-minirefresh/344/270/213/346/213/211/345/210/267/346/226/260.md +337 -0
  116. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/043-layout/345/270/203/345/261/200.md +150 -0
  117. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/044-image/345/233/276/347/211/207.md +144 -0
  118. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/045-toast/350/275/273/346/217/220/347/244/272.md +429 -0
  119. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/046-calendar/346/227/245/345/216/206.md +467 -0
  120. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/047-area/347/234/201/345/270/202/345/214/272/351/200/211/346/213/251.md +295 -0
  121. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/048-tab/346/240/207/347/255/276/351/241/265.md +577 -0
  122. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/049-dialog/345/274/271/345/207/272/346/241/206.md +491 -0
  123. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/050-dropdownmenu/344/270/213/346/213/211/350/217/234/345/215/225.md +265 -0
  124. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/051-notify/346/266/210/346/201/257/351/200/232/347/237/245.md +203 -0
  125. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/052-overlay/351/201/256/347/275/251/345/261/202.md +139 -0
  126. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/053-collapse/346/212/230/345/217/240/351/235/242/346/235/277.md +199 -0
  127. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/054-grid/345/256/253/346/240/274.md +183 -0
  128. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/055-countdown/345/200/222/350/256/241/346/227/266.md +289 -0
  129. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/056-divider/345/210/206/345/211/262/347/272/277.md +97 -0
  130. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/057-empty/347/251/272/347/212/266/346/200/201.md +146 -0
  131. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/058-imagepreview/345/233/276/347/211/207/351/242/204/350/247/210.md +292 -0
  132. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/059-lazyload/346/207/222/345/212/240/350/275/275.md +120 -0
  133. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/060-skeleton/351/252/250/346/236/266/345/261/217.md +114 -0
  134. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/061-steps/346/255/245/351/252/244/346/235/241.md +119 -0
  135. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/062-sticky/347/262/230/346/200/247/345/270/203/345/261/200.md +208 -0
  136. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/063-indexbar/347/264/242/345/274/225/346/240/217.md +161 -0
  137. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/064-sidebar/344/276/247/350/276/271/345/257/274/350/210/252.md +248 -0
  138. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/065-tabbar/346/240/207/347/255/276/346/240/217.md +314 -0
  139. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/066-badge/345/276/275/346/240/207.md +162 -0
  140. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/067-popover/346/260/224/346/263/241/345/274/271/345/207/272/346/241/206.md +325 -0
  141. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/068-cascader/347/272/247/350/201/224/351/200/211/346/213/251.md +360 -0
  142. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/069-selectperson/351/200/211/344/272/272/347/273/204/344/273/266.md +595 -0
  143. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/070-swipe/350/275/256/346/222/255.md +262 -0
  144. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/071-/345/233/275/351/231/205/345/214/226.md +51 -0
  145. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/072-easycalendar/346/227/245/345/216/206.md +132 -0
  146. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/073-qrcode/344/272/214/347/273/264/347/240/201.md +1538 -0
  147. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/074-imagescale/345/233/276/347/211/207/350/243/201/345/211/252.md +261 -0
  148. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/075-dragsort/346/213/226/346/213/275/346/216/222/345/272/217.md +161 -0
  149. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/076-chart/345/233/276/350/241/250.md +381 -0
  150. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/077-rtc/351/237/263/350/247/206/351/242/221.md +531 -0
  151. package/dist/data/m8mpdoc-develop/009-UI/347/273/204/344/273/266/078-table/350/241/250/346/240/274.md +849 -0
  152. package/dist/data/m8mpdoc-develop/012-Mock/347/232/204/344/275/277/347/224/250/Mock/347/232/204/344/275/277/347/224/250.md +116 -0
  153. package/dist/data/standards/css-style.md +531 -0
  154. package/dist/data/standards/js-style.md +394 -0
  155. package/dist/data/standards/project-structure.md +325 -0
  156. package/dist/data/standards/vue-style.md +644 -0
  157. package/dist/index.js +1 -0
  158. package/dist/tools/search.js +1 -0
  159. package/dist/tools/standards.js +1 -0
  160. package/package.json +43 -0
@@ -0,0 +1,595 @@
1
+ # 组件使用
2
+
3
+ ## SelectPerson 选人模块
4
+
5
+ ### 介绍
6
+
7
+ - 跨端选人模块
8
+
9
+ ### 调用方式
10
+
11
+ 为了保持原本 M8 选人组件交互逻辑,且兼容各端差异,跨端选人不再以函数或者组件的形式提供调用,而是作为一个默认的页面提供。
12
+
13
+ 该页面内置在跨端框架的`modules`目录下,路径:`ejs.m8.mobileframe\src\modules\selectperson`。
14
+
15
+ 参数传递则通过`vuex`,跳转选人页面前,需要先设置选人页面命名空间下的`option`状态,来更新选人页面的参数。
16
+
17
+ 调用示例:
18
+
19
+ ```html
20
+ <em-cell is-link @click="openSelectPerson" title="选择人员"></em-cell>
21
+ ```
22
+
23
+ ::: ifdef M83
24
+
25
+ ```js
26
+ import { mapMutations } from 'vuex';
27
+
28
+ export default {
29
+ methods: {
30
+ ...mapMutations('selectperson', ['setOption']),
31
+ openSelectPerson() {
32
+ let opt = {
33
+ url: this.url,
34
+ ismoveup: true,
35
+ selectedusers: this.selectedusers5,
36
+ homepage: ['0'],
37
+ confirm: this.confirm
38
+ };
39
+
40
+ // 设置选人参数
41
+ this.setOption(opt);
42
+
43
+ ejs.page.open({
44
+ // 这里仅作示例,请根据实际页面的相对路径传参
45
+ pageUrl: '../../selectperson/index'
46
+ });
47
+ },
48
+ confirm(data) {
49
+ // 选人结果
50
+ console.log(data);
51
+ }
52
+ }
53
+ };
54
+ ```
55
+
56
+ ::: endif
57
+ ::: ifdef M84
58
+
59
+ ```js
60
+ import { useSelectPersonStore } from '../../selectperson/store';
61
+ import { ref } from 'vue';
62
+
63
+ const store = useSelectPersonStore(); // 使用 Pinia Store
64
+ const url = ref(''); // 假设 url 是需要的引用
65
+ const selectedusers5 = ref([]); // 假设 selectedusers5 是需要的引用
66
+
67
+ const openSelectPerson = () => {
68
+ let opt = {
69
+ url: url.value,
70
+ ismoveup: true,
71
+ selectedusers: selectedusers5.value,
72
+ homepage: ['0'],
73
+ confirm: confirm
74
+ };
75
+
76
+ // 设置选人参数
77
+ store.setOption(opt);
78
+
79
+ ejs.page.open({
80
+ // 这里仅作示例,请根据实际页面的相对路径传参
81
+ pageUrl: '../../selectperson/index'
82
+ });
83
+ };
84
+
85
+ const confirm = (data) => {
86
+ // 选人结果
87
+ console.log(data);
88
+ };
89
+ ```
90
+
91
+ ::: endif
92
+
93
+ ### 代码演示
94
+
95
+ #### 基础用法
96
+
97
+ 选择人员,选人主界面默认展示:组织架构、我的单位、我的部门、我的常用
98
+
99
+ ::: ifdef M83
100
+
101
+ ```js
102
+ openSelectPerson() {
103
+ let opt = {
104
+ url: 'http://172.29.3.2:8080/epoint-shell-member-center-demo/rest/frame/',
105
+ confirm(result) {
106
+ // 选人结果
107
+ console.log(result);
108
+ }
109
+ };
110
+
111
+ // 设置选人参数
112
+ this.setOption(opt);
113
+
114
+ ejs.page.open({
115
+ // 这里仅作示例,请根据实际页面的相对路径传参
116
+ pageUrl: '../../selectperson/index'
117
+ });
118
+ }
119
+ ```
120
+
121
+ ::: endif
122
+ ::: ifdef M84
123
+
124
+ ```js
125
+ const openSelectPerson = () => {
126
+ let opt = {
127
+ url: 'http://172.29.3.2:8080/epoint-shell-member-center-demo/rest/frame/',
128
+ confirm(result) {
129
+ // 选人结果
130
+ console.log(result);
131
+ }
132
+ };
133
+
134
+ // 设置选人参数
135
+ store.setOption(opt);
136
+
137
+ ejs.page.open({
138
+ // 这里仅作示例,请根据实际页面的相对路径传参
139
+ pageUrl: '../../selectperson/index'
140
+ });
141
+ };
142
+ ```
143
+
144
+ ::: endif
145
+
146
+ #### 配置选人主页
147
+
148
+ 若需要个性化选人主页,可以通过 `homepage` 属性传递一个数组来配置需要的选人树。
149
+
150
+ ::: ifdef M83
151
+
152
+ ```js
153
+ openSelectPerson() {
154
+ let opt = {
155
+ url: 'http://172.29.3.2:8080/epoint-shell-member-center-demo/rest/frame/',
156
+ homepage: [
157
+ '1', // 我的单位
158
+ {
159
+ value: '0',
160
+ text: '所有人员' // 将组织架构名称改为所有人员
161
+ }
162
+ ],
163
+ confirm(result) {
164
+ // 选人结果
165
+ console.log(result);
166
+ }
167
+ };
168
+
169
+ // 设置选人参数
170
+ this.setOption(opt);
171
+
172
+ ejs.page.open({
173
+ // 这里仅作示例,请根据实际页面的相对路径传参
174
+ pageUrl: '../../selectperson/index'
175
+ });
176
+ }
177
+ ```
178
+
179
+ ::: endif
180
+ ::: ifdef M84
181
+
182
+ ```js
183
+ const openSelectPerson = () => {
184
+ let opt = {
185
+ url: 'http://172.29.3.2:8080/epoint-shell-member-center-demo/rest/frame/',
186
+ homepage: [
187
+ '1', // 我的单位
188
+ {
189
+ value: '0',
190
+ text: '所有人员' // 将组织架构名称改为所有人员
191
+ }
192
+ ],
193
+ confirm(result) {
194
+ // 选人结果
195
+ console.log(result);
196
+ }
197
+ };
198
+
199
+ // 设置选人参数
200
+ store.setOption(opt);
201
+
202
+ ejs.page.open({
203
+ // 这里仅作示例,请根据实际页面的相对路径传参
204
+ pageUrl: '../../selectperson/index'
205
+ });
206
+ };
207
+ ```
208
+
209
+ ::: endif
210
+
211
+ #### 自定义选人树
212
+
213
+ 可以通过`homepage`属性配置标识为`custom`的选人树。该项可以传递一个完整的选人树,也可以只传递一个`ouguid`,设置组织架构的某个节点作为选人范围,甚至可以传递一个个性化的接口`url`,选人树将从该接口获取,当然该接口的输入输出需要与框架接口:`address_getoulistwithuser_v8` 的数据格式保持一致。
214
+
215
+ 自定义选人树获取下一层级数据的逻辑为:
216
+
217
+ 1、若传了`custom`字段,则首先尝试从`custom`中获取;
218
+
219
+ 2、若未传`custom`字段,或者`custom`中获取不到下一层级的数据,则从接口获取数据;
220
+
221
+ 3、若传了个性化的接口,则从个性化接口中获取数据,否则默认从组织架构中获取数据。
222
+
223
+ ::: ifdef M83
224
+
225
+ ```js
226
+ openSelectPerson() {
227
+ let opt = {
228
+ url: 'http://172.29.3.2:8080/epoint-shell-member-center-demo/rest/frame/',
229
+ homepage: [
230
+ {
231
+ value: 'custom',
232
+ text: '个性化接口获取选人树',
233
+ // 需要传递完整路径
234
+ url: 'http://172.29.3.2:8080/epoint-shell-member-center-demo/rest/frame/address_getoulistwithuser_v8',
235
+ // 选择人员时,也需要一个 个性化的获取部门下所有人员接口,参考 address_getalluserlist_v7,否则无法通过选择部门来选择部门下所有人员
236
+ getalluserurl: 'http://172.29.3.2:8080/epoint-shell-member-center-demo/rest/frame/address_getalluserlist_v7'
237
+ },
238
+ {
239
+ value: 'custom',
240
+ text: '从组织架构某一节点开始选人',
241
+ ouguid: '该节点的ouguid'
242
+ },
243
+ {
244
+ value: 'custom',
245
+ text: '完整的选人树',
246
+ custom: {
247
+ // 传递一个完整的选人树时,以下字段都是必需的
248
+ oulist: [
249
+ {
250
+ ouguid: '491c9e1f-77c9-4e9e-b724-f9d0df1f3e78',
251
+ ouname: '客户服务中心',
252
+ parentouguid: 'root',
253
+ haschildou: '1',
254
+ haschilduser: '1',
255
+ userlist: [
256
+ {
257
+ userguid: '2b540caa-2571-4062-a608-683325743f18',
258
+ username: '张三',
259
+ ouguid: '491c9e1f-77c9-4e9e-b724-f9d0df1f3e78',
260
+ photourl:
261
+ 'rest/readpictureaction/getUserPicture?isCommondto=true&userGuid=2b540caa-2571-4062-a608-683325743f18&isMobile=true&md5=60f5e34d897312c4d89ad213934a82e1'
262
+ }
263
+ ]
264
+ },
265
+ {
266
+ ouguid: 'd07d4916-ed90-47d0-82f6-4313bcbf7725',
267
+ ouname: '现金管理部',
268
+ parentouguid: 'root',
269
+ haschildou: '0',
270
+ haschilduser: '0'
271
+ }
272
+ ],
273
+ userlist: [
274
+ {
275
+ userguid: 'ddf347c2-ba4a-41fc-8367-fa74794d230d',
276
+ username: '曹六',
277
+ ouguid: 'root',
278
+ photourl:
279
+ 'lest/readpictureaction/getUserPicture?isCommondto=true&userGuid=ddf347c2-ba4a-41fc-8367-fa74794d230d&isMobile=true&md5=b6caaa28319c5e26d6f57ea2efc58800'
280
+ }
281
+ ]
282
+ }
283
+ }
284
+ ],
285
+ confirm(result) {
286
+ // 选人结果
287
+ console.log(result);
288
+ }
289
+ };
290
+
291
+ // 设置选人参数
292
+ this.setOption(opt);
293
+
294
+ ejs.page.open({
295
+ // 这里仅作示例,请根据实际页面的相对路径传参
296
+ pageUrl: '../../selectperson/index'
297
+ });
298
+ }
299
+ ```
300
+
301
+ ::: endif
302
+ ::: ifdef M84
303
+
304
+ ```js
305
+ const openSelectPerson = () => {
306
+ let opt = {
307
+ url: 'http://172.29.3.2:8080/epoint-shell-member-center-demo/rest/frame/',
308
+ homepage: [
309
+ {
310
+ value: 'custom',
311
+ text: '个性化接口获取选人树',
312
+ // 需要传递完整路径
313
+ url: 'http://172.29.3.2:8080/epoint-shell-member-center-demo/rest/frame/address_getoulistwithuser_v8',
314
+ // 选择人员时,也需要一个 个性化的获取部门下所有人员接口,参考 address_getalluserlist_v7,否则无法通过选择部门来选择部门下所有人员
315
+ getalluserurl:
316
+ 'http://172.29.3.2:8080/epoint-shell-member-center-demo/rest/frame/address_getalluserlist_v7'
317
+ },
318
+ {
319
+ value: 'custom',
320
+ text: '从组织架构某一节点开始选人',
321
+ ouguid: '该节点的ouguid'
322
+ },
323
+ {
324
+ value: 'custom',
325
+ text: '完整的选人树',
326
+ custom: {
327
+ // 传递一个完整的选人树时,以下字段都是必需的
328
+ oulist: [
329
+ {
330
+ ouguid: '491c9e1f-77c9-4e9e-b724-f9d0df1f3e78',
331
+ ouname: '客户服务中心',
332
+ parentouguid: 'root',
333
+ haschildou: '1',
334
+ haschilduser: '1',
335
+ userlist: [
336
+ {
337
+ userguid: '2b540caa-2571-4062-a608-683325743f18',
338
+ username: '张三',
339
+ ouguid: '491c9e1f-77c9-4e9e-b724-f9d0df1f3e78',
340
+ photourl:
341
+ 'rest/readpictureaction/getUserPicture?isCommondto=true&userGuid=2b540caa-2571-4062-a608-683325743f18&isMobile=true&md5=60f5e34d897312c4d89ad213934a82e1'
342
+ }
343
+ ]
344
+ },
345
+ {
346
+ ouguid: 'd07d4916-ed90-47d0-82f6-4313bcbf7725',
347
+ ouname: '现金管理部',
348
+ parentouguid: 'root',
349
+ haschildou: '0',
350
+ haschilduser: '0'
351
+ }
352
+ ],
353
+ userlist: [
354
+ {
355
+ userguid: 'ddf347c2-ba4a-41fc-8367-fa74794d230d',
356
+ username: '曹六',
357
+ ouguid: 'root',
358
+ photourl:
359
+ 'lest/readpictureaction/getUserPicture?isCommondto=true&userGuid=ddf347c2-ba4a-41fc-8367-fa74794d230d&isMobile=true&md5=b6caaa28319c5e26d6f57ea2efc58800'
360
+ }
361
+ ]
362
+ }
363
+ }
364
+ ],
365
+ confirm(result) {
366
+ // 选人结果
367
+ console.log(result);
368
+ }
369
+ };
370
+
371
+ // 设置选人参数
372
+ store.setOption(opt);
373
+
374
+ ejs.page.open({
375
+ // 这里仅作示例,请根据实际页面的相对路径传参
376
+ pageUrl: '../../selectperson/index'
377
+ });
378
+ };
379
+ ```
380
+
381
+ ::: endif
382
+
383
+ #### 只选部门
384
+
385
+ 通过`isouonly`属性设置只选部门。
386
+
387
+ ::: ifdef M83
388
+
389
+ ```js
390
+ openSelectPerson() {
391
+ let opt = {
392
+ url: 'http://172.29.3.2:8080/epoint-shell-member-center-demo/rest/frame/',
393
+ isouonly: true,
394
+ confirm(result) {
395
+ // 选人结果
396
+ ejs.ui.toast(JSON.stringify(result));
397
+ console.log(result);
398
+ }
399
+ };
400
+
401
+ // 设置选人参数
402
+ this.setOption(opt);
403
+
404
+ ejs.page.open({
405
+ // 这里仅作示例,请根据实际页面的相对路径传参
406
+ pageUrl: '../../selectperson/index'
407
+ });
408
+ }
409
+ ```
410
+
411
+ ::: endif
412
+ ::: ifdef M84
413
+
414
+ ```js
415
+ const openSelectPerson = () => {
416
+ let opt = {
417
+ url: 'http://172.29.3.2:8080/epoint-shell-member-center-demo/rest/frame/',
418
+ isouonly: true,
419
+ confirm(result) {
420
+ // 选人结果
421
+ ejs.ui.toast(JSON.stringify(result));
422
+ console.log(result);
423
+ }
424
+ };
425
+
426
+ // 设置选人参数
427
+ store.setOption(opt);
428
+
429
+ ejs.page.open({
430
+ // 这里仅作示例,请根据实际页面的相对路径传参
431
+ pageUrl: '../../selectperson/index'
432
+ });
433
+ };
434
+ ```
435
+
436
+ ::: endif
437
+
438
+ #### 直接进入子级
439
+
440
+ 当父级只有一项时,通过`ismoveup`属性设置是否直接进入子级。选人组件默认该项为`true`。
441
+
442
+ ::: ifdef M83
443
+
444
+ ```js
445
+ openSelectPerson() {
446
+ let opt = {
447
+ url: 'http://172.29.3.2:8080/epoint-shell-member-center-demo/rest/frame/',
448
+ ismoveup: true,
449
+ homepage: ['0'],
450
+ confirm(result) {
451
+ // 选人结果
452
+ console.log(result);
453
+ }
454
+ };
455
+
456
+ // 设置选人参数
457
+ this.setOption(opt);
458
+
459
+ ejs.page.open({
460
+ // 这里仅作示例,请根据实际页面的相对路径传参
461
+ pageUrl: '../../selectperson/index'
462
+ });
463
+ }
464
+ ```
465
+
466
+ ::: endif
467
+ ::: ifdef M84
468
+
469
+ ```js
470
+ const openSelectPerson = () => {
471
+ let opt = {
472
+ url: 'http://172.29.3.2:8080/epoint-shell-member-center-demo/rest/frame/',
473
+ ismoveup: true,
474
+ homepage: ['0'],
475
+ confirm(result) {
476
+ // 选人结果
477
+ console.log(result);
478
+ }
479
+ };
480
+
481
+ // 设置选人参数
482
+ store.setOption(opt);
483
+
484
+ ejs.page.open({
485
+ // 这里仅作示例,请根据实际页面的相对路径传参
486
+ pageUrl: '../../selectperson/index'
487
+ });
488
+ };
489
+ ```
490
+
491
+ ::: endif
492
+
493
+ ### API
494
+
495
+ #### Options
496
+
497
+ 选人支持传入以下选项:
498
+
499
+ | 参数 | 说明 | 类型 | 默认值 |
500
+ | :--------------------------------- | :--------------------------------------------------------------------------------------------------------------------- | :------- | :------------------------------------------------------------------- |
501
+ | value | 选人组件的显隐 | boolean | `true` |
502
+ | url | 接口地址 | string | - |
503
+ | selectedusers | 已选人员,示例:`[{username: '李四', userguid: '3248760a-e4a3-430e-837e-11519d56090f'}]` | array | - |
504
+ | selectedous | 已选部门,示例:`[{ouname: '总部职能部门', ouguid: 'ffa0252c-4bba-4bd6-8d0c-3bc6340a6605'}]` | array | - |
505
+ | unableselectusers | 禁选人员,示例:`[{username: '李四', userguid: '3248760a-e4a3-430e-837e-11519d56090f'}]` | array | - |
506
+ | selectedroles `v8.3.19-beta.1` | 已选角色,示例:`[{roledisplayname: '李四', roleguid: '3248760a-e4a3-430e-837e-11519d56090f'}]` | array | - |
507
+ | selectedjobs `v8.3.19-beta.1` | 已选岗位,示例:`[{name: '李四', dataguid: '3248760a-e4a3-430e-837e-11519d56090f', datatype: 'job', haschild: false}]` | array | - |
508
+ | selectedspecials `v8.3.19-beta.1` | 已选特殊对象,示例:`[{itemText: '上一步处理人', itemValue: '0'}]` | array | - |
509
+ | issingle | 是否单选 | boolean | `false` |
510
+ | isouonly | 是否只选部门 | boolean | `false` |
511
+ | maxchoosecount | 可选人员最大数量 | number | - |
512
+ | ismoveup | 父级只有一项时,是否直接进入该项子级 | boolean | `true` |
513
+ | homepage | 首页配置,可配置字段参考以下说明 | array | 选择人员时默认:`['0', '1', '2', '5']`,只选部门时默认:`['0', '1']` |
514
+ | isdimension | 是否是多维组织架构,为`true`时表示使用多维组织架构,接口请求`v8`接口,否则切换为`v7`接口 | boolean | `true` |
515
+ | showRecent | 是否展示最近联系人,仅在`ejs`环境中且鉴权之后有效 | boolean | `true` |
516
+ | showSpecial `v8.3.19-beta.1` | 是否展示特殊对象 | boolean | `false` |
517
+ | showMainIcon `v8.3.19-beta.1` | 是否展示首页图标,用于切换旧版首页样式 | boolean | `true` |
518
+ | showCheckedStatus `v8.3.19-beta.1` | 是否动态展示每个部门选中状态。数据量大时判断选中状态时间较长体验较差,可以关闭该选项优化体验 | boolean | `true` |
519
+ | searchouguid | 将搜索范围限定在某个节点内,该属性为该节点的`ouguid` | string | - |
520
+ | searchurl | 个性化搜索接口完整地址,输入输出数据格式参考框架接口:`address_searchouoruserbycondition_dimension_v8` | string | - |
521
+ | ismsgonly | 是否开启即时通讯权限检查,开启后无法选择没有即时通讯权限的人员 | boolean | `false` |
522
+ | confirm | 点击确定时的回调函数,回传参数:`{ resultData:选择的人员列表, ouData:选择的部门列表 }` | function | - |
523
+ | selectJobUser `v8.4.4-beta.14` | 选中岗位时是否选中岗位下所有人员,此时只会选中人员,不会返回选中的岗位 | boolean | `false` |
524
+
525
+ #### homepage 可配置字段说明
526
+
527
+ 选人组件提供了 8 种可配置项,每项都有固定的标识,其中标识为`custom`的配置项可以同时配置多个。
528
+
529
+ | 参数 | 说明 | 类型 |
530
+ | :-------------------- | :------------------------------------------------: | :----- |
531
+ | value | 配置项标识 | string |
532
+ | text | 配置项字段名 | string |
533
+ | icon `v8.3.19-beta.1` | 配置项图标,可配置默认图标,也可配置自定义图标链接 | string |
534
+
535
+ 各配置项对应的默认字段名:
536
+
537
+ | value | text | icon |
538
+ | :--------------------- | :--------: | :---------: |
539
+ | `'0'` | 组织架构 | `structure` |
540
+ | `'1'` | 我的单位 | `myunit` |
541
+ | `'2'` | 我的部门 | `myou` |
542
+ | `'3'` | 公共分组 | `group` |
543
+ | `'4'` | 我的分组 | `mygroup` |
544
+ | `'5'` | 我的常用 | `common` |
545
+ | `'6'` | 星标联系人 | `star` |
546
+ | `'7'` `v8.3.19-beta.1` | 部门 | `ous` |
547
+ | `'8'` `v8.3.19-beta.1` | 角色 | `role` |
548
+ | `'9'` `v8.3.19-beta.1` | 岗位 | `job` |
549
+ | `'custom'` | 选择范围 | `custom` |
550
+
551
+ 注意:`我的分组`、`星标联系人`是`我的常用`的子级,若首页配置了`我的常用`,则`我的分组`、`星标联系人`都会默认展示在下一层级。
552
+
553
+ 其中`custom`配置项除了`value`和`text`,还有额外的参数用于配置不同的自定义选人树:
554
+
555
+ | 参数 | 说明 | 类型 |
556
+ | :-------------------- | :-----------------------------------------------------------------------------------------------------------------------------------------------: | :----- |
557
+ | value | 配置项标识,为`custom` | string |
558
+ | text | 配置项字段名, 默认为`选人范围` | string |
559
+ | icon `v8.3.19-beta.1` | 配置项图标 | string |
560
+ | url | 获取人员和部门列表的个性化接口完整地址,输入输出数据格式参考框架接口:`address_getoulistwithuser_v8` | string |
561
+ | getalluserurl | 选择人员时,也需要一个 个性化的获取部门下所有人员接口,否则无法通过选择部门来选择部门下所有人员,输入输出数据格式参考 `address_getalluserlist_v7` | string |
562
+ | ouguid | 配置该字段且没有配置`custom`字段时,组件默认从组织架构中获取该节点下的选人树 | string |
563
+ | custom | 完整的选人树,格式参考以上的示例,示例中的字段都是必需的 | object |
564
+
565
+ ::: ifdef M83
566
+
567
+ <iframe
568
+ src="//app.epoint.com.cn/m8mpdoc/showcase/index.html#/modules/m8showcase/examples/em-select-person"
569
+ frameborder=0
570
+ allowfullscreen class="ui-showcase-iframe">
571
+ </iframe>
572
+ ::: endif
573
+ ::: ifdef M84
574
+ <iframe
575
+ src="//app.epoint.com.cn/m8mpdoc/showcase/m8.4/index.html#/modules/m8showcase/examples/em-select-person"
576
+ frameborder=0
577
+ allowfullscreen class="ui-showcase-iframe">
578
+ </iframe>
579
+ ::: endif
580
+
581
+ <style>
582
+ .ui-showcase-iframe {
583
+ position: fixed;
584
+ right: 3.5vw;
585
+ top: 17%;
586
+ width: 375px;
587
+ height: 75vh;
588
+ box-shadow: 0 0 12px 6px #eee;
589
+ border-radius: 15px;
590
+ }
591
+ .main .markdown-body {
592
+ padding: 45px;
593
+ width: calc(97vw - 661px);
594
+ }
595
+ </style>