hs-admin-ui 1.0.0 → 1.0.2

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 (433) hide show
  1. package/dist/favicon.ico +0 -0
  2. package/dist/style.css +1 -0
  3. package/dist/style.css.gz +0 -0
  4. package/dist/umd/index.js +175 -0
  5. package/dist/umd/index.js.gz +0 -0
  6. package/package.json +5 -2
  7. package/.env +0 -11
  8. package/.env.development +0 -5
  9. package/.env.production +0 -5
  10. package/.eslintignore +0 -18
  11. package/.eslintrc.js +0 -104
  12. package/.prettierrc.js +0 -39
  13. package/.vite/deps_temp_3669a513/chunk-FVXAE7ZR.js +0 -11400
  14. package/.vite/deps_temp_3669a513/chunk-ZS7NZCD4.js +0 -36
  15. package/.vite/deps_temp_3669a513/default-passive-events.js +0 -25
  16. package/.vite/deps_temp_3669a513/element-plus.js +0 -65013
  17. package/.vite/deps_temp_3669a513/lodash.js +0 -5497
  18. package/.vite/deps_temp_3669a513/package.json +0 -3
  19. package/.vite/deps_temp_3669a513/vue.js +0 -324
  20. package/.vite/deps_temp_3669a513/vxe-table.js +0 -32336
  21. package/CHANGELOG.md +0 -1
  22. package/directoryList.md +0 -180
  23. package/postcss.config.js +0 -7
  24. package/src/App.vue +0 -88
  25. package/src/api/fieldConfigController/index.ts +0 -76
  26. package/src/api/fieldConfigController/type.ts +0 -44
  27. package/src/api/login/index.ts +0 -78
  28. package/src/api/loginController/index.ts +0 -74
  29. package/src/api/menu/index.ts +0 -34
  30. package/src/api/menu/index2.ts +0 -291
  31. package/src/api/menuController/index.ts +0 -189
  32. package/src/api/systemController/index.ts +0 -26
  33. package/src/api/systemController/type.ts +0 -16
  34. package/src/api/test/index.ts +0 -22
  35. package/src/api/user/index.ts +0 -30
  36. package/src/assets/404.png +0 -0
  37. package/src/assets/logo-main.svg +0 -12
  38. package/src/assets/logo-mini.svg +0 -12
  39. package/src/components/base/hsAffix/src/hsAffix.vue +0 -22
  40. package/src/components/base/hsAlert/src/hsAlert.vue +0 -15
  41. package/src/components/base/hsAutocomplete/src/hsAutocomplete.vue +0 -36
  42. package/src/components/base/hsButton/src/hsButton.vue +0 -26
  43. package/src/components/base/hsButton/src/hsButtonGroup.vue +0 -8
  44. package/src/components/base/hsButton/useButtonEvents.ts +0 -19
  45. package/src/components/base/hsCalendar/src/hsCalendar.vue +0 -36
  46. package/src/components/base/hsCarousel/src/hsCarousel.vue +0 -15
  47. package/src/components/base/hsCarousel/src/hsCarouselItem.vue +0 -15
  48. package/src/components/base/hsCascader/src/hsCascader.vue +0 -36
  49. package/src/components/base/hsCascader/src/hsCascaderPanel.vue +0 -29
  50. package/src/components/base/hsCheckbox/src/hsCheckbox.vue +0 -32
  51. package/src/components/base/hsCheckbox/src/hsCheckboxButton.vue +0 -18
  52. package/src/components/base/hsCheckbox/src/hsCheckboxGroup.vue +0 -32
  53. package/src/components/base/hsCol/src/hsCol.vue +0 -20
  54. package/src/components/base/hsCollapse/src/hsCollapse.vue +0 -36
  55. package/src/components/base/hsCollapse/src/hsCollapseItem.vue +0 -22
  56. package/src/components/base/hsColorPicker/src/hsColorPicker.vue +0 -32
  57. package/src/components/base/hsDatePicker/src/hsDatePicker.vue +0 -40
  58. package/src/components/base/hsDialog/src/hsDialog.vue +0 -36
  59. package/src/components/base/hsDrawer/src/hsDrawer.vue +0 -29
  60. package/src/components/base/hsDropdown/src/hsDropdown.vue +0 -15
  61. package/src/components/base/hsDropdown/src/hsDropdownItem.vue +0 -15
  62. package/src/components/base/hsDropdown/src/hsDropdownMenu.vue +0 -15
  63. package/src/components/base/hsForm/src/hsForm.vue +0 -23
  64. package/src/components/base/hsForm/src/hsFormItem.vue +0 -22
  65. package/src/components/base/hsGetApi/src/hsGetApis.vue +0 -231
  66. package/src/components/base/hsGetApi/useGetApis.ts +0 -158
  67. package/src/components/base/hsInput/src/hsInput.vue +0 -40
  68. package/src/components/base/hsInput/useInputEvents.ts +0 -52
  69. package/src/components/base/hsInputNumber/src/hsInputNumber.vue +0 -31
  70. package/src/components/base/hsPopconfirm/src/hsPopconfirm.vue +0 -15
  71. package/src/components/base/hsPopover/src/hsPopover.vue +0 -22
  72. package/src/components/base/hsProgress/src/hsProgress.vue +0 -15
  73. package/src/components/base/hsRadio/src/hsRadio.vue +0 -32
  74. package/src/components/base/hsRadio/src/hsRadioButton.vue +0 -18
  75. package/src/components/base/hsRadio/src/hsRadioGroup.vue +0 -32
  76. package/src/components/base/hsRate/src/hsRate.vue +0 -33
  77. package/src/components/base/hsResult/src/hsResult.vue +0 -15
  78. package/src/components/base/hsRow/src/hsRow.vue +0 -20
  79. package/src/components/base/hsScrollbar/src/hsScrollbar.vue +0 -22
  80. package/src/components/base/hsSelect/src/hsOption.vue +0 -8
  81. package/src/components/base/hsSelect/src/hsOptionGroup.vue +0 -8
  82. package/src/components/base/hsSelect/src/hsSelect.vue +0 -42
  83. package/src/components/base/hsSelect/useSelectEvents.ts +0 -60
  84. package/src/components/base/hsSlider/src/hsSlider.vue +0 -25
  85. package/src/components/base/hsSteps/src/hsStep.vue +0 -15
  86. package/src/components/base/hsSteps/src/hsSteps.vue +0 -15
  87. package/src/components/base/hsSwitch/src/hsSwitch.vue +0 -35
  88. package/src/components/base/hsTable/hsBCTable.vue +0 -116
  89. package/src/components/base/hsTable/hsTable copy.vue +0 -226
  90. package/src/components/base/hsTable/hsTable.vue +0 -213
  91. package/src/components/base/hsTable/useHsTableConfig.ts +0 -95
  92. package/src/components/base/hsTable/useTableEvents.ts +0 -118
  93. package/src/components/base/hsTabs/src/hsTabPane.vue +0 -15
  94. package/src/components/base/hsTabs/src/hsTabs.vue +0 -29
  95. package/src/components/base/hsTag/src/hsCheckTag.vue +0 -16
  96. package/src/components/base/hsTag/src/hsTag.vue +0 -15
  97. package/src/components/base/hsTest/HsTest.vue +0 -320
  98. package/src/components/base/hsTooltip/src/hsTooltip.vue +0 -22
  99. package/src/components/base/hsTour/src/hsTour.vue +0 -31
  100. package/src/components/base/hsTour/src/hsTourStep.vue +0 -15
  101. package/src/components/base/hsTransfer/src/hsTransfer.vue +0 -36
  102. package/src/components/base/hsTree/src/hsTree.vue +0 -24
  103. package/src/components/base/hsTreeSelect/src/hsTreeSelect.vue +0 -39
  104. package/src/components/base/hsUpload/src/hsUpload.vue +0 -32
  105. package/src/components/base/hsWatermark/src/hsWatermark.vue +0 -15
  106. package/src/components/business/bcAutoComplete/bcAutoComplete.vue +0 -38
  107. package/src/components/business/bcAutoComplete/defaultData.ts +0 -25
  108. package/src/components/business/bcAutoComplete/useAutoComplete.ts +0 -65
  109. package/src/components/business/bcBtn/bcBtn.vue +0 -40
  110. package/src/components/business/bcForm/bcForm.vue +0 -113
  111. package/src/components/business/bcForm/bcFormDrag.vue +0 -104
  112. package/src/components/business/bcForm/bcFormSearch.vue +0 -154
  113. package/src/components/business/bcForm/components/sortForm/index.ts +0 -18
  114. package/src/components/business/bcForm/components/sortForm/sortForm.vue +0 -92
  115. package/src/components/business/bcFormConfig/bcFormConfig.vue +0 -196
  116. package/src/components/business/bcFormTable/bcFormTable.vue +0 -91
  117. package/src/components/business/bcFormTable/components/bcTabs/bcTabs.vue +0 -53
  118. package/src/components/business/bcFormTable/components/contextBody/contextBody.vue +0 -67
  119. package/src/components/business/bcFormTable/components/contextBody/useContextMenu.ts +0 -53
  120. package/src/components/business/bcFormTable/components/formSearchBtn/formSearchBtn.vue +0 -21
  121. package/src/components/business/bcFormTable/methods/cellDetailMethod.ts +0 -5
  122. package/src/components/business/bcFormTable/methods/filterAgeMethod.ts +0 -5
  123. package/src/components/business/bcFormTable/methods/footerMethod.ts +0 -25
  124. package/src/components/business/bcFormTable/methods/index.ts +0 -10
  125. package/src/components/business/bcFormTable/utils/onFormKey.ts +0 -121
  126. package/src/components/business/bcFormTable/utils/onTableKey.ts +0 -119
  127. package/src/components/business/bcFormTable/utils/parseTable.ts +0 -201
  128. package/src/components/business/bcFormTable/utils/useButon.ts +0 -20
  129. package/src/components/business/bcFormTable/utils/useTableHeight.ts +0 -44
  130. package/src/components/business/bcPageConfig/bcPageConfig.vue +0 -79
  131. package/src/components/business/bcPageConfig/components/hsBtn/src/hsAttrBtn.vue +0 -39
  132. package/src/components/business/bcPageConfig/components/hsBtn/src/hsBtnConfigList.vue +0 -45
  133. package/src/components/business/bcPageConfig/components/hsBtn/src/hsBtnItemConfig.vue +0 -32
  134. package/src/components/business/bcPageConfig/components/hsBtn/src/hsBtnPanel.vue +0 -45
  135. package/src/components/business/bcPageConfig/components/hsBtn/useAttrBtn.ts +0 -58
  136. package/src/components/business/bcPageConfig/components/hsBtn/useBtnConfigList.ts +0 -71
  137. package/src/components/business/bcPageConfig/components/hsBtn/useBtnItemConfig.ts +0 -35
  138. package/src/components/business/bcPageConfig/components/hsExpand/src/hsExpand.vue +0 -33
  139. package/src/components/business/bcPageConfig/components/hsExpand/useExpand.ts +0 -9
  140. package/src/components/business/bcPageConfig/components/hsForm/src/hsAttrForm.vue +0 -54
  141. package/src/components/business/bcPageConfig/components/hsForm/src/hsFormConfig.vue +0 -180
  142. package/src/components/business/bcPageConfig/components/hsForm/src/hsFormConfigList.vue +0 -45
  143. package/src/components/business/bcPageConfig/components/hsForm/src/hsFormPanel.vue +0 -64
  144. package/src/components/business/bcPageConfig/components/hsForm/src/hsFormParse.vue +0 -24
  145. package/src/components/business/bcPageConfig/components/hsForm/useAttrForm.ts +0 -108
  146. package/src/components/business/bcPageConfig/components/hsForm/useFormListConfig.ts +0 -69
  147. package/src/components/business/bcPageConfig/components/hsForm/useFormParse.ts +0 -120
  148. package/src/components/business/bcPageConfig/components/hsSaveForm/saveFormConfig.ts +0 -66
  149. package/src/components/business/bcPageConfig/components/hsSaveForm/src/saveForm.vue +0 -48
  150. package/src/components/business/bcPageConfig/components/hsSaveForm/useSaveForm.ts +0 -148
  151. package/src/components/business/bcPageConfig/components/hsTables/src/hsAttrTable.vue +0 -122
  152. package/src/components/business/bcPageConfig/components/hsTables/src/hsRecursionConfig.vue +0 -36
  153. package/src/components/business/bcPageConfig/components/hsTables/src/hsTableConfig.vue +0 -51
  154. package/src/components/business/bcPageConfig/components/hsTables/src/hsTableConfigList.vue +0 -46
  155. package/src/components/business/bcPageConfig/components/hsTables/src/hsTablePanel.vue +0 -68
  156. package/src/components/business/bcPageConfig/components/hsTables/src/hsTableParse.vue +0 -24
  157. package/src/components/business/bcPageConfig/components/hsTables/useAttrTable.ts +0 -218
  158. package/src/components/business/bcPageConfig/components/hsTables/useTableConfigList.ts +0 -77
  159. package/src/components/business/bcPageConfig/components/hsTables/useTableParse.ts +0 -78
  160. package/src/components/business/bcPageConfig/default/apis.json +0 -24712
  161. package/src/components/business/bcPageConfig/default/baseBtnConfig.ts +0 -256
  162. package/src/components/business/bcPageConfig/default/baseFormConfig.ts +0 -380
  163. package/src/components/business/bcPageConfig/default/baseTableConfig.ts +0 -2399
  164. package/src/components/business/bcPageConfig/usePageConfig.ts +0 -469
  165. package/src/components/business/bcSelect/bcSelect.vue +0 -50
  166. package/src/components/business/bcSwitchSystems/bcSwitchSystems.vue +0 -36
  167. package/src/components/business/bcSwitchSystems/useSwitchSystems.ts +0 -74
  168. package/src/components/business/bcTable/bcTable.vue +0 -63
  169. package/src/components/business/bcTable/components/sortColumn/index.ts +0 -19
  170. package/src/components/business/bcTable/components/sortColumn/sortColumn.vue +0 -107
  171. package/src/components/business/bcTable/useTable.ts +0 -51
  172. package/src/components/business/bcTable/useTableHeight.ts +0 -24
  173. package/src/components/business/bcTreeSelect/bcTreeSelect.vue +0 -12
  174. package/src/components/business/cardID/cardID.vue +0 -24
  175. package/src/components/business/cardID/type.ts +0 -0
  176. package/src/components/business/cardID/useCardID.ts +0 -0
  177. package/src/components/component.ts +0 -188
  178. package/src/components/config/autocompleteAttrConfig/autocompleteAttrConfig.vue +0 -26
  179. package/src/components/config/autocompleteAttrConfig/config.ts +0 -170
  180. package/src/components/config/baseForm.vue +0 -175
  181. package/src/components/config/buttonAttrConfig/buttonAttrConfig.vue +0 -26
  182. package/src/components/config/buttonAttrConfig/config.ts +0 -261
  183. package/src/components/config/cascaderAttrConfig/cascaderAttrConfig.vue +0 -26
  184. package/src/components/config/cascaderAttrConfig/config.ts +0 -287
  185. package/src/components/config/cascaderPanelAttrConfig/cascaderPanelAttrConfig.vue +0 -26
  186. package/src/components/config/cascaderPanelAttrConfig/config.ts +0 -278
  187. package/src/components/config/checkboxAttrConfig/checkboxAttrConfig.vue +0 -26
  188. package/src/components/config/checkboxAttrConfig/config.ts +0 -301
  189. package/src/components/config/datePickerAttrConfig/config.ts +0 -256
  190. package/src/components/config/datePickerAttrConfig/datePickerAttrConfig.vue +0 -26
  191. package/src/components/config/inputAttrConfig/config.ts +0 -322
  192. package/src/components/config/inputAttrConfig/inputAttrConfig.vue +0 -33
  193. package/src/components/config/inputAttrConfig/inputEventConfig.vue +0 -35
  194. package/src/components/config/inputNumberAttrConfig/config.ts +0 -177
  195. package/src/components/config/inputNumberAttrConfig/inputNumberAttrConfig.vue +0 -26
  196. package/src/components/config/radioAttrConfig/config.ts +0 -212
  197. package/src/components/config/radioAttrConfig/radioAttrConfig.vue +0 -26
  198. package/src/components/config/selectAttrConfig/config.ts +0 -478
  199. package/src/components/config/selectAttrConfig/selectAttrConfig.vue +0 -26
  200. package/src/components/config/switchAttrConfig/config.ts +0 -195
  201. package/src/components/config/switchAttrConfig/switchAttrConfig.vue +0 -26
  202. package/src/components/config/treeSelectAttrConfig/config.ts +0 -625
  203. package/src/components/config/treeSelectAttrConfig/treeSelectAttrConfig.vue +0 -26
  204. package/src/components/config/type/formType.ts +0 -25
  205. package/src/components/config/uploadAttrConfig/config.ts +0 -250
  206. package/src/components/config/uploadAttrConfig/uploadAttrConfig.vue +0 -26
  207. package/src/components/iconSelector/index.vue +0 -247
  208. package/src/components/iconSelector/list.vue +0 -84
  209. package/src/components/svgIcon/index.vue +0 -61
  210. package/src/directive/authDirective.ts +0 -40
  211. package/src/directive/customDirective.ts +0 -178
  212. package/src/directive/index.ts +0 -18
  213. package/src/hooks/useCrypto.ts +0 -36
  214. package/src/hooks/useExpose.ts +0 -60
  215. package/src/layout/component/aside.vue +0 -160
  216. package/src/layout/component/columnsAside.vue +0 -299
  217. package/src/layout/component/header.vue +0 -18
  218. package/src/layout/component/main.vue +0 -65
  219. package/src/layout/footer/index.vue +0 -25
  220. package/src/layout/index.vue +0 -53
  221. package/src/layout/lockScreen/index.vue +0 -352
  222. package/src/layout/logo/index.vue +0 -75
  223. package/src/layout/main/classic.vue +0 -73
  224. package/src/layout/main/columns.vue +0 -73
  225. package/src/layout/main/defaults.vue +0 -73
  226. package/src/layout/main/transverse.vue +0 -60
  227. package/src/layout/navBars/index.vue +0 -35
  228. package/src/layout/navBars/tagsView/contextmenu.vue +0 -133
  229. package/src/layout/navBars/tagsView/tagsView.vue +0 -737
  230. package/src/layout/navBars/topBar/breadcrumb.vue +0 -146
  231. package/src/layout/navBars/topBar/closeFull.vue +0 -53
  232. package/src/layout/navBars/topBar/index.vue +0 -107
  233. package/src/layout/navBars/topBar/search.vue +0 -123
  234. package/src/layout/navBars/topBar/setings.vue +0 -789
  235. package/src/layout/navBars/topBar/user.vue +0 -222
  236. package/src/layout/navBars/topBar/userNews.vue +0 -107
  237. package/src/layout/navMenu/horizontal.vue +0 -138
  238. package/src/layout/navMenu/subItem.vue +0 -49
  239. package/src/layout/navMenu/vertical.vue +0 -100
  240. package/src/layout/routerView/iframes.vue +0 -101
  241. package/src/layout/routerView/link.vue +0 -93
  242. package/src/layout/routerView/parent.vue +0 -104
  243. package/src/layout/upgrade/index.vue +0 -147
  244. package/src/main.ts +0 -70
  245. package/src/router/backEnd.ts +0 -173
  246. package/src/router/frontEnd.ts +0 -155
  247. package/src/router/index.ts +0 -138
  248. package/src/router/route.ts +0 -94
  249. package/src/stores/index.ts +0 -8
  250. package/src/stores/keepAliveNames.ts +0 -38
  251. package/src/stores/requestOldRoutes.ts +0 -16
  252. package/src/stores/routesList.ts +0 -26
  253. package/src/stores/tagsViewRoutes.ts +0 -23
  254. package/src/stores/themeConfig.ts +0 -142
  255. package/src/stores/userInfo.ts +0 -65
  256. package/src/style/index.scss +0 -0
  257. package/src/style/tailwind.css +0 -29
  258. package/src/theme/app.scss +0 -333
  259. package/src/theme/common/transition.scss +0 -147
  260. package/src/theme/dark.scss +0 -255
  261. package/src/theme/element.scss +0 -321
  262. package/src/theme/iconSelector.scss +0 -31
  263. package/src/theme/index.scss +0 -8
  264. package/src/theme/loading.scss +0 -51
  265. package/src/theme/media/chart.scss +0 -94
  266. package/src/theme/media/cityLinkage.scss +0 -10
  267. package/src/theme/media/date.scss +0 -25
  268. package/src/theme/media/dialog.scss +0 -12
  269. package/src/theme/media/error.scss +0 -45
  270. package/src/theme/media/form.scss +0 -31
  271. package/src/theme/media/home.scss +0 -23
  272. package/src/theme/media/index.scss +0 -15
  273. package/src/theme/media/layout.scss +0 -63
  274. package/src/theme/media/login.scss +0 -74
  275. package/src/theme/media/media.scss +0 -13
  276. package/src/theme/media/pagination.scss +0 -15
  277. package/src/theme/media/personal.scss +0 -16
  278. package/src/theme/media/scrollbar.scss +0 -56
  279. package/src/theme/media/tagsView.scss +0 -11
  280. package/src/theme/mixins/index.scss +0 -56
  281. package/src/theme/other.scss +0 -36
  282. package/src/theme/tableTool.scss +0 -27
  283. package/src/theme/waves.scss +0 -101
  284. package/src/types/auth.d.ts +0 -44
  285. package/src/types/axios.d.ts +0 -13
  286. package/src/types/components.d.ts +0 -30
  287. package/src/types/customData.d.ts +0 -163
  288. package/src/types/form.ts +0 -68
  289. package/src/types/formItem/autocomplete.ts +0 -43
  290. package/src/types/formItem/button.ts +0 -39
  291. package/src/types/formItem/input.ts +0 -66
  292. package/src/types/formItem/inputNumber.ts +0 -42
  293. package/src/types/formItem/selelct.ts +0 -54
  294. package/src/types/formItem/treeSelect.ts +0 -37
  295. package/src/types/formTable.d.ts +0 -210
  296. package/src/types/global.d.ts +0 -118
  297. package/src/types/layout.d.ts +0 -59
  298. package/src/types/mitt.d.ts +0 -38
  299. package/src/types/pinia.d.ts +0 -92
  300. package/src/types/views.d.ts +0 -331
  301. package/src/utils/arrayOperation.ts +0 -65
  302. package/src/utils/authFunction.ts +0 -38
  303. package/src/utils/build.ts +0 -124
  304. package/src/utils/commonFunction.ts +0 -64
  305. package/src/utils/formatTime.ts +0 -137
  306. package/src/utils/getDataType.ts +0 -136
  307. package/src/utils/getStyleSheets.ts +0 -101
  308. package/src/utils/loading.ts +0 -44
  309. package/src/utils/mitt.ts +0 -8
  310. package/src/utils/other.ts +0 -214
  311. package/src/utils/request.ts +0 -82
  312. package/src/utils/setIconfont.ts +0 -48
  313. package/src/utils/showMessage.ts +0 -57
  314. package/src/utils/showMessageBox.ts +0 -39
  315. package/src/utils/showNotification.ts +0 -50
  316. package/src/utils/showPopup.ts +0 -81
  317. package/src/utils/storage.ts +0 -137
  318. package/src/utils/theme.ts +0 -65
  319. package/src/utils/toolsValidate.ts +0 -370
  320. package/src/utils/watermark.ts +0 -47
  321. package/src/views/error/401.vue +0 -88
  322. package/src/views/error/404.vue +0 -89
  323. package/src/views/home/index.vue +0 -62
  324. package/src/views/login/component/account.vue +0 -172
  325. package/src/views/login/component/mobile.vue +0 -72
  326. package/src/views/login/component/scan.vue +0 -63
  327. package/src/views/login/index.vue +0 -254
  328. package/src/views/system/auth/index.vue +0 -48
  329. package/src/views/system/auth/list.ts +0 -50
  330. package/src/views/system/auth/useAuth.ts +0 -34
  331. package/src/views/system/dept/dialog.vue +0 -167
  332. package/src/views/system/dept/index.vue +0 -135
  333. package/src/views/system/dic/dialog.vue +0 -150
  334. package/src/views/system/dic/index.vue +0 -132
  335. package/src/views/system/form/data.json +0 -360
  336. package/src/views/system/form/index.vue +0 -24
  337. package/src/views/system/formSetting/components/hsBtn/src/hsAttrBtn.vue +0 -58
  338. package/src/views/system/formSetting/components/hsBtn/src/hsBtnConfigList.vue +0 -45
  339. package/src/views/system/formSetting/components/hsBtn/src/hsBtnPanel.vue +0 -51
  340. package/src/views/system/formSetting/components/hsBtn/useAttrBtn.ts +0 -129
  341. package/src/views/system/formSetting/components/hsBtn/useBtnConfigList.ts +0 -73
  342. package/src/views/system/formSetting/components/hsExpand/src/hsExpand.vue +0 -27
  343. package/src/views/system/formSetting/components/hsExpand/useExpand.ts +0 -9
  344. package/src/views/system/formSetting/components/hsForm/src/hsAttrForm.vue +0 -124
  345. package/src/views/system/formSetting/components/hsForm/src/hsFormConfig.vue +0 -180
  346. package/src/views/system/formSetting/components/hsForm/src/hsFormConfigList.vue +0 -45
  347. package/src/views/system/formSetting/components/hsForm/src/hsFormPanel.vue +0 -152
  348. package/src/views/system/formSetting/components/hsForm/src/hsFormParse.vue +0 -33
  349. package/src/views/system/formSetting/components/hsForm/useAttrForm.ts +0 -109
  350. package/src/views/system/formSetting/components/hsForm/useFormListConfig.ts +0 -70
  351. package/src/views/system/formSetting/components/hsPageTree/configData.ts +0 -3700
  352. package/src/views/system/formSetting/components/hsPageTree/src/hsPageTree.vue +0 -30
  353. package/src/views/system/formSetting/components/hsPageTree/usePageTree.ts +0 -50
  354. package/src/views/system/formSetting/components/hsSaveForm/saveFormConfig.ts +0 -66
  355. package/src/views/system/formSetting/components/hsSaveForm/src/saveForm.vue +0 -47
  356. package/src/views/system/formSetting/components/hsSaveForm/useSaveForm.ts +0 -122
  357. package/src/views/system/formSetting/components/hsTables/src/hsAttrTable.vue +0 -91
  358. package/src/views/system/formSetting/components/hsTables/src/hsRecursionConfig.vue +0 -36
  359. package/src/views/system/formSetting/components/hsTables/src/hsTableConfig.vue +0 -39
  360. package/src/views/system/formSetting/components/hsTables/src/hsTableConfigList.vue +0 -45
  361. package/src/views/system/formSetting/components/hsTables/src/hsTablePanel.vue +0 -56
  362. package/src/views/system/formSetting/components/hsTables/src/hsTableParse.vue +0 -29
  363. package/src/views/system/formSetting/components/hsTables/useAttrTable.ts +0 -125
  364. package/src/views/system/formSetting/components/hsTables/useTableConfigList.ts +0 -77
  365. package/src/views/system/formSetting/components/selectConfig/config.ts +0 -476
  366. package/src/views/system/formSetting/components/selectConfig/selectConfig.vue +0 -30
  367. package/src/views/system/formSetting/data.json +0 -360
  368. package/src/views/system/formSetting/default/baseBtnConfig.ts +0 -216
  369. package/src/views/system/formSetting/default/baseFormConfig.ts +0 -567
  370. package/src/views/system/formSetting/default/baseTableConfig.ts +0 -2353
  371. package/src/views/system/formSetting/formConfig.vue +0 -108
  372. package/src/views/system/formSetting/index.vue +0 -35
  373. package/src/views/system/formSetting/menuType.d.ts +0 -12
  374. package/src/views/system/formSetting/panelConfig.json +0 -164
  375. package/src/views/system/formSetting/useForm.ts +0 -89
  376. package/src/views/system/formSetting/useFormConfig.ts +0 -192
  377. package/src/views/system/menu/dialog.vue +0 -285
  378. package/src/views/system/menu/index.vue +0 -180
  379. package/src/views/system/page/components/hsPageTree/configData.ts +0 -3700
  380. package/src/views/system/page/components/hsPageTree/src/hsPageTree.vue +0 -30
  381. package/src/views/system/page/components/hsPageTree/usePageTree.ts +0 -49
  382. package/src/views/system/page/index.vue +0 -32
  383. package/src/views/system/page/menuType.d.ts +0 -12
  384. package/src/views/system/page/usePage.ts +0 -125
  385. package/src/views/system/role/dialog.vue +0 -236
  386. package/src/views/system/role/index.vue +0 -146
  387. package/src/views/system/table/data.json +0 -747
  388. package/src/views/system/table/formate.js +0 -49
  389. package/src/views/system/table/index.vue +0 -53
  390. package/src/views/system/user/dialog.vue +0 -187
  391. package/src/views/system/user/index.vue +0 -161
  392. package/src/views/test/test/components/hsBtn/src/hsAttrBtn.vue +0 -58
  393. package/src/views/test/test/components/hsBtn/src/hsBtnConfigList.vue +0 -45
  394. package/src/views/test/test/components/hsBtn/src/hsBtnPanel.vue +0 -51
  395. package/src/views/test/test/components/hsBtn/useAttrBtn.ts +0 -129
  396. package/src/views/test/test/components/hsBtn/useBtnConfigList.ts +0 -73
  397. package/src/views/test/test/components/hsExpand/src/hsExpand.vue +0 -27
  398. package/src/views/test/test/components/hsExpand/useExpand.ts +0 -9
  399. package/src/views/test/test/components/hsForm/src/hsAttrForm.vue +0 -124
  400. package/src/views/test/test/components/hsForm/src/hsFormConfig.vue +0 -180
  401. package/src/views/test/test/components/hsForm/src/hsFormConfigList.vue +0 -45
  402. package/src/views/test/test/components/hsForm/src/hsFormPanel.vue +0 -152
  403. package/src/views/test/test/components/hsForm/src/hsFormParse.vue +0 -33
  404. package/src/views/test/test/components/hsForm/useAttrForm.ts +0 -109
  405. package/src/views/test/test/components/hsForm/useFormListConfig.ts +0 -70
  406. package/src/views/test/test/components/hsSaveForm/saveFormConfig.ts +0 -66
  407. package/src/views/test/test/components/hsSaveForm/src/saveForm.vue +0 -47
  408. package/src/views/test/test/components/hsSaveForm/useSaveForm.ts +0 -122
  409. package/src/views/test/test/components/hsTables/src/hsAttrTable.vue +0 -91
  410. package/src/views/test/test/components/hsTables/src/hsRecursionConfig.vue +0 -36
  411. package/src/views/test/test/components/hsTables/src/hsTableConfig.vue +0 -39
  412. package/src/views/test/test/components/hsTables/src/hsTableConfigList.vue +0 -45
  413. package/src/views/test/test/components/hsTables/src/hsTablePanel.vue +0 -56
  414. package/src/views/test/test/components/hsTables/src/hsTableParse.vue +0 -29
  415. package/src/views/test/test/components/hsTables/useAttrTable.ts +0 -125
  416. package/src/views/test/test/components/hsTables/useTableConfigList.ts +0 -77
  417. package/src/views/test/test/components/selectConfig/config.ts +0 -476
  418. package/src/views/test/test/components/selectConfig/selectConfig.vue +0 -30
  419. package/src/views/test/test/data.json +0 -360
  420. package/src/views/test/test/default/baseBtnConfig.ts +0 -216
  421. package/src/views/test/test/default/baseFormConfig.ts +0 -567
  422. package/src/views/test/test/default/baseTableConfig.ts +0 -2353
  423. package/src/views/test/test/formConfig.vue +0 -102
  424. package/src/views/test/test/test.vue +0 -28
  425. package/src/views/test/test/test3.vue +0 -24
  426. package/src/views/test/test/test4.vue +0 -107
  427. package/src/views/test/test/test/345/211/257/346/234/254.vue +0 -2424
  428. package/src/views/test/test/useFormConfig.ts +0 -192
  429. package/src/views/test/test2/test2.vue +0 -17
  430. package/src/views/test/test3/test.vue +0 -20
  431. package/tailwind.config.js +0 -12
  432. package/tsconfig.json +0 -75
  433. package/vite.config.ts +0 -123
@@ -1,71 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import IFormTable from '/@/types/formTable';
3
- import { Ref } from 'vue';
4
- import { ElMessageBox, ElMessage } from 'element-plus';
5
- import { btnItemConfig, emptyBtnItemData } from '../../default/baseBtnConfig';
6
-
7
- import _ from 'lodash';
8
- export function useHsBtnListConfig(
9
- emit: (event: 'chose', ...args: any[]) => void,
10
- props: any, // ComponentAttr.Props<typeof hsFormConfigList>,
11
- btnsModel: Ref<IFormTable.BtnItem[]>
12
- ) {
13
- // ModelRef<Array<IFormTable.BtnItem>>
14
- /**
15
- * 选择配置项
16
- * @param item
17
- */
18
- const choseTagItem = (item: IFormTable.BtnItem) => {
19
- // 获取操作项
20
- let current = item.id == props.current?.id ? _.cloneDeep(emptyBtnItemData) : item;
21
- console.log('current', current);
22
-
23
- emit('chose', current);
24
- };
25
- /**
26
- * 添加字段
27
- * @returns
28
- */
29
- const appendField = () => {
30
- // 用时间戳设置唯一id
31
- let defaultItemConfig: IFormTable.BtnItem = _.cloneDeep(btnItemConfig);
32
- defaultItemConfig.id = new Date().getTime().toString();
33
- console.log('btnsModel', btnsModel.value, defaultItemConfig);
34
-
35
- // 追加字段配置项
36
- btnsModel.value.push(defaultItemConfig);
37
- // 获取新增的配置对象
38
- let obj = btnsModel.value[btnsModel.value.length - 1]; // || _.cloneDeep(emptyBtnItemData);
39
- // 设置默认选中
40
- choseTagItem(obj);
41
- };
42
-
43
- /**
44
- * 删除配置
45
- * @param item
46
- */
47
- const deleteTagItem = (item: IFormTable.BtnItem) => {
48
- ElMessageBox.confirm(`确定删除“${item['data'] && item['data']['name']}”字段吗?`, '提示', {
49
- confirmButtonText: '确认',
50
- cancelButtonText: '取消',
51
- type: 'warning',
52
- })
53
- .then(() => {
54
- // 获取被删除的配置所在id
55
- _.remove(btnsModel.value || [], item);
56
- // 更新当前选中配置
57
- choseTagItem(item);
58
- // 给出操作成功提示
59
- ElMessage.success('删除成功');
60
- })
61
- .catch((err) => {
62
- console.log('err', err);
63
- });
64
- };
65
-
66
- return {
67
- choseTagItem,
68
- appendField,
69
- deleteTagItem,
70
- };
71
- }
@@ -1,35 +0,0 @@
1
- import { ref, Ref } from 'vue';
2
- import IFormData from '/@/types/form';
3
- interface hsBtnItemConfig {
4
- getSubmitData: () => boolean;
5
- }
6
- export function useHsBtnItemConfig(data: Record<string, IFormData.Data>, baseConfigRef: Ref<hsBtnItemConfig>) {
7
- // 表单配置项
8
- const parentConfig = ref({
9
- labelWidth: 150,
10
- span: 24,
11
- minWidth: 350,
12
- style: 'padding:5px 10px',
13
- });
14
-
15
- // ======================================================================== 自动完成 start ================================================================
16
- interface RestaurantItem {
17
- field_code: string;
18
- field_name: string;
19
- }
20
- /**
21
- * 切换选择按钮事件
22
- * @param item
23
- */
24
- const onChangeItem = (item: RestaurantItem) => {
25
- console.debug('handleSelect', item);
26
- data.value.name = item.field_name || '';
27
- data.value.key = item.field_code || '';
28
- };
29
- // ======================================================================== 自动完成 end ==================================================================
30
- const getSubmitData = async () => {
31
- let flag = await baseConfigRef.value.getSubmitData();
32
- return flag;
33
- };
34
- return { parentConfig, onChangeItem, getSubmitData };
35
- }
@@ -1,33 +0,0 @@
1
- <template>
2
- <div class="flex align-center justify-between cursor-pointer hover:bg-red-200" :class="expandConfig.class">
3
- <div class="flex align-center flex-1" @click="toggleExpand">
4
- <svgIcon class="pt-1" :name="visible ? 'ele-CaretBottom' : 'ele-CaretRight'" :size="expandConfig.iconSize || 18"></svgIcon>
5
- <div>{{ expandConfig['subTitle'] }}</div>
6
- </div>
7
- <div v-if="expandConfig.rightSlot">
8
- <slot></slot>
9
- </div>
10
- </div>
11
- </template>
12
-
13
- <script setup lang="ts">
14
- import { defineModel } from 'vue';
15
- import { useExpand } from '../useExpand';
16
- defineProps({
17
- expandConfig: {
18
- type: Object,
19
- default: () => {
20
- return {
21
- iconSize: 18,
22
- subTitle: '',
23
- class: '',
24
- rightSlot: '',
25
- };
26
- },
27
- },
28
- });
29
- const visible = defineModel();
30
- const { toggleExpand } = useExpand(visible);
31
- </script>
32
-
33
- <style scoped></style>
@@ -1,9 +0,0 @@
1
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2
- export function useExpand (visible:any) {
3
- const toggleExpand = ()=>{
4
- visible.value = !visible.value;
5
- }
6
- return {
7
- toggleExpand,
8
- }
9
- }
@@ -1,54 +0,0 @@
1
- <template>
2
- <div class="bg-blue-200 h-full flex flex-col">
3
- <div style="height: calc(100% -50px)" class="overflow-y-auto flex-1">
4
- <component :is="hsExpand" v-model="visible" :expandConfig="{ subTitle: '表单项代码' }"></component>
5
- <div v-if="visible">{{ formItemConfig }}</div>
6
- <!-- <template v-if="formItemConfig?.base && (formItemConfig?.baseConfig.list || []).length > 0"> -->
7
- <component :is="hsExpand" v-model="tableConfig.baseConfig.visible" :expandConfig="tableConfig.baseConfig.title"></component>
8
- <component
9
- ref="baseConfigRef"
10
- v-show="tableConfig.baseConfig.visible"
11
- :parentConfig="parentConfig"
12
- :is="'bc-form-config'"
13
- :data="formItemConfig?.data.baseData"
14
- :config="tableConfig.baseConfig.list"
15
- :rules="tableConfig.baseConfig.rules"
16
- @change="onChange"
17
- >
18
- <template #label>
19
- <bc-auto-complete type="form" v-model="formItemConfig.data.baseData.label" @change="onChangeItem"></bc-auto-complete>
20
- </template>
21
- </component>
22
- <!-- </template> -->
23
- <template v-if="formItemConfig?.data.baseData.el">
24
- <component :is="hsExpand" v-model="tableConfig.elConfig.visible" :expandConfig="tableConfig.elConfig.title"></component>
25
- <component v-if="tableConfig.elConfig.visible" :data="formItemConfig?.data.elData" :is="elComName" ref="elRef" isVModel></component>
26
- </template>
27
- </div>
28
-
29
- <div class="text-center grow-0">
30
- <hs-button @click="saveData" type="primary">保存</hs-button>
31
- </div>
32
- </div>
33
- </template>
34
-
35
- <script setup lang="ts">
36
- import { ref } from 'vue';
37
- import hsExpand from '../../hsExpand/src/hsExpand.vue';
38
- import { useHsAttrForm } from './../useAttrForm';
39
-
40
- const props = defineProps({
41
- current: {
42
- type: Object,
43
- default: () => {},
44
- },
45
- data: {
46
- type: Object,
47
- default: () => {},
48
- },
49
- });
50
- const baseConfigRef = ref();
51
- const { parentConfig, visible, formItemConfig, elComName, tableConfig, onChange, saveData, onChangeItem } = useHsAttrForm(props, baseConfigRef);
52
- </script>
53
-
54
- <style lang="scss" scoped></style>
@@ -1,180 +0,0 @@
1
- <!--
2
- desc: 父类配置
3
- author:lvling
4
- -->
5
- <template>
6
- <div>
7
- <hs-form
8
- ref="formRef"
9
- :label-width="parentConfig['labelWidth']"
10
- :inline="false"
11
- label-position="right"
12
- label-suffix=":"
13
- :hide-required-asterisk="false"
14
- require-asterisk-position="right"
15
- show-message
16
- inline-message
17
- status-icon
18
- :disabled="false"
19
- v-bind="$attrs"
20
- scroll-to-error
21
- :rules="rules"
22
- :model="formData"
23
- >
24
- <hs-row :gutter="0" justify="start" align="middle" class="hs-row">
25
- <template v-for="(item, index) in formConfig">
26
- <hs-col
27
- :key="index"
28
- v-if="item['show'] !== false"
29
- :span="item['span'] || parentConfig['span']"
30
- :xs="item['xs'] || parentConfig['xs']"
31
- :sm="item['sm'] || parentConfig['sm']"
32
- :md="item['md'] || parentConfig['md']"
33
- :lg="item['lg'] || parentConfig['lg']"
34
- :xl="item['xl'] || parentConfig['xl']"
35
- :style="parentConfig.style"
36
- >
37
- <template v-if="item.slot">
38
- <slot :name="item.slot" v-bind="item"></slot>
39
- </template>
40
- <hs-form-item v-else :label="item['label']" :prop="item['prop']" :required="item['required']">
41
- <template #label>
42
- <span class="text-[#606266] truncate">&nbsp; {{ item['label'] }}&nbsp; <span v-if="parentConfig.showColon">: &nbsp; </span></span>
43
- <el-tooltip class="box-item" effect="dark" :content="item['tooltip'] || item['label']" placement="top">
44
- <div>
45
- <el-icon><ele-Warning /></el-icon>
46
- </div>
47
- </el-tooltip>
48
- </template>
49
- <template v-if="item.slotValue">
50
- <slot :name="item.slotValue" v-bind="item"></slot>
51
- </template>
52
- <!-- placeholder="请输入" -->
53
-
54
- <component
55
- v-else
56
- :is="item['el']"
57
- v-model="formData[item.prop]"
58
- :multiple="item['multiple']"
59
- :size="item['size']"
60
- :type="item['type']"
61
- :disabled="item['disabled']"
62
- border
63
- :clearable="item.clearable != false"
64
- @change="onChange($event, item)"
65
- >
66
- <component
67
- :is="item['cel']"
68
- v-for="(value, idx) in item['op'] || []"
69
- :key="idx"
70
- :label="value['label']"
71
- :value="value['value']"
72
- ></component>
73
- </component>
74
- </hs-form-item>
75
- </hs-col>
76
- </template>
77
- <div></div>
78
- </hs-row>
79
- </hs-form>
80
- </div>
81
- </template>
82
-
83
- <script setup lang="ts">
84
- import { ref, watch } from 'vue';
85
- import IFormTable from '/@/types/formTable';
86
-
87
- const props = defineProps({
88
- // 表单配置
89
- parentConfig: {
90
- type: Object,
91
- default: () => {
92
- return {
93
- labelWidth: 200,
94
- xs: 24,
95
- sm: 24,
96
- md: 12,
97
- lg: 12,
98
- xl: 8,
99
- style: '',
100
- showColon: false, // 显示冒号
101
- };
102
- },
103
- },
104
- // 表单绑定数据
105
- data: {
106
- type: Object,
107
- default: () => {},
108
- },
109
- // 表单配置项数组
110
- config: {
111
- type: Array<IFormTable.FormItem>,
112
- default: () => [],
113
- },
114
- rules: {
115
- type: Object,
116
- default: () => {},
117
- },
118
- });
119
- let formData = ref(props.data);
120
-
121
- let formConfig = ref(props.config);
122
-
123
- watch(
124
- () => props.data,
125
- (value) => {
126
- formData.value = value;
127
- },
128
- {
129
- deep: true,
130
- }
131
- );
132
- // 表单实例
133
- const formRef = ref();
134
- /**
135
- * 校验formdata
136
- */
137
- const getSubmitData = () => {
138
- return new Promise((resolve) => {
139
- if (!formRef.value) {
140
- resolve(false);
141
- return;
142
- }
143
- formRef.value.validate((valid: 'undefined' | boolean) => {
144
- if (valid) {
145
- // console.log('submit!', formData.value);
146
- // oldData.value = Object.assign(oldData.value, formData.value);
147
- resolve(true);
148
- } else {
149
- // console.log('error submit!', formData.value);
150
- resolve(false);
151
- }
152
- });
153
- });
154
- };
155
- // 派生事件
156
- let emits = defineEmits(['change']);
157
- /**
158
- *选择器切换事件
159
- * @param e
160
- */
161
- const onChange = (value: string, item) => {
162
- let prop = item.prop;
163
- emits('change', value, prop);
164
- };
165
- defineExpose({ getSubmitData });
166
- </script>
167
-
168
- <style lang="scss" scoped>
169
- .hs-row {
170
- :deep(.el-form-item) {
171
- border: 1px solid #e7eaf2;
172
- background-color: #f2f5f9;
173
- }
174
- :deep(.el-form-item__content) {
175
- border-left: 1px solid #e7eaf2;
176
- background-color: #fff;
177
- }
178
- }
179
- //
180
- </style>
@@ -1,45 +0,0 @@
1
- <!--
2
- desc: 表单配置项集合
3
- author: lvling
4
- -->
5
- <template>
6
- <div>
7
- <div class="flex flex-wrap">
8
- <div class="p-2 relative" v-for="(item, index) in configModel?.form?.formConfig" :key="index" @click="choseTagItem(item)">
9
- <div class="border border-solid border-zinc-300 hover:bg-blue-200 p-2 rounded" :class="current['id'] == item['id'] ? 'bg-blue-200' : ''">
10
- {{ item['data'] && item['data']['baseData']['label'] }}
11
- </div>
12
- <div
13
- v-if="current['id'] == item['id']"
14
- @click.stop.prevent="deleteTagItem(item)"
15
- style="position: absolute; top: 0px; right: 5px; cursor: pointer"
16
- >
17
- ✖️
18
- </div>
19
- </div>
20
- <div class="p-2">
21
- <div @click="appendField" class="p-2 bg-pink-200 w-10 h-10 flex justify-center align-center rounded-full">+</div>
22
- </div>
23
- </div>
24
- </div>
25
- </template>
26
-
27
- <script setup lang="ts">
28
- import { PropType, defineModel } from 'vue';
29
- import { useHsFormListConfig } from './../useFormListConfig';
30
- import IFormTable from '/@/types/formTable';
31
-
32
- const emit = defineEmits(['chose']);
33
-
34
- const configModel = defineModel<IFormTable.FormTable>();
35
- const prop = defineProps({
36
- current: {
37
- type: Object as PropType<Record<'id', string>>,
38
- default: () => {},
39
- },
40
- });
41
-
42
- const { appendField, deleteTagItem, choseTagItem } = useHsFormListConfig(emit, prop, configModel);
43
- </script>
44
-
45
- <style lang="scss" scoped></style>
@@ -1,64 +0,0 @@
1
- <!--
2
- desc: 配置表单面板
3
- author: 吕玲
4
- -->
5
- <template>
6
- <!-- flex flex-row -->
7
- <div class="mx-auto flex flex-row h-full">
8
- <div class="flex-1 grow overflow-y-auto">
9
- <hsExpand v-model="formTitleConfig.code.visible" :expandConfig="formTitleConfig.code"></hsExpand>
10
- <div v-if="formTitleConfig.code.visible">
11
- {{ configModel }}
12
- </div>
13
- <hsFormParse :is="hsFormParse" v-model="configModel" />
14
- <template v-if="configModel?.form">
15
- <component :is="hsExpand" v-model="formTitleConfig.form.visible" :expandConfig="formTitleConfig.form"></component>
16
- <component :is="'bc-form-config'" v-if="formTitleConfig.form.visible" :data="configModel.form.baseData" :config="baseParentConfig" />
17
-
18
- <component :is="hsExpand" v-model="formTitleConfig.formItem.visible" :expandConfig="formTitleConfig.formItem"></component>
19
- <component :is="hsFormConfigList" v-if="formTitleConfig.formItem.visible" v-model="configModel" :current="currentItem" @chose="onChoseItem" />
20
- </template>
21
- </div>
22
- <div v-if="(configModel?.form?.formConfig || []).length > 0 && currentItem.id" class="flex-none basis-1/4 ml-4">
23
- <component :is="hsAttrForm" :current="currentItem" :data="configModel?.form?.formData" />
24
- </div>
25
- </div>
26
- </template>
27
- <script setup lang="ts" name="formPanel">
28
- import { defineModel, watch, ref } from 'vue';
29
- import hsFormParse from './hsFormParse.vue'; // 一键解析
30
- import hsFormConfigList from './hsFormConfigList.vue'; // 表单元素配置项集合
31
- import hsAttrForm from './hsAttrForm.vue'; // 元素配置配置详情
32
- import { emptyFormItemData, formTitleConfig, parentFormConfig } from '../../../default/baseFormConfig'; // 表单配置方法
33
- import IFormTable from '/@/types/formTable';
34
- import hsExpand from '../../hsExpand/src/hsExpand.vue';
35
- import _ from 'lodash';
36
-
37
- const configModel = defineModel<IFormTable.FormTable>();
38
- let baseParentConfig = ref(_.cloneDeep(parentFormConfig));
39
- // 当前选中项配置
40
- let currentItem = _.cloneDeep(emptyFormItemData);
41
- let oldId = ref<string>('');
42
-
43
- watch(
44
- () => configModel.value,
45
- (value) => {
46
- if (oldId.value != value?.config_unique_id) {
47
- currentItem.value = _.cloneDeep(emptyFormItemData);
48
- oldId.value = value?.config_unique_id || '';
49
- }
50
- },
51
- {
52
- immediate: true,
53
- }
54
- );
55
- /**
56
- * 选择某配置回调
57
- */
58
- const onChoseItem = (item: IFormTable.ConfigItemType) => {
59
- currentItem.value = item;
60
- // currentItem.value.elConfig.visible = true;
61
- };
62
- </script>
63
-
64
- <style lang="scss" scoped></style>
@@ -1,24 +0,0 @@
1
- <!--
2
- desc: 通过查询类名解析表单配置
3
- author: 吕玲
4
- -->
5
- <template>
6
- <div class="flex flex-row">
7
- <hs-input class="basis-1/4 mr-2" v-model="parseApi" placeholder="请输入解析接口" />
8
- <hs-button @click="parseForm" type="primary">{{ parseApi ? '一键解析' : '初始化配置' }}</hs-button>
9
- </div>
10
- </template>
11
-
12
- <script setup lang="ts">
13
- import IFormTable from '/@/types/formTable';
14
- // /Users/lvping/huasuProjects/pc-admin/src/components/config/inputAttrConfig/config.ts
15
- import { ref, defineModel } from 'vue';
16
- import { useHsFormParse } from './../useFormParse';
17
-
18
- let configModel = defineModel<IFormTable.FormTable>();
19
- let parseApi = ref<string>('');
20
-
21
- const { parseForm } = useHsFormParse(parseApi, configModel);
22
- </script>
23
-
24
- <style lang="scss" scoped></style>
@@ -1,108 +0,0 @@
1
- import { ref, Ref, watch } from 'vue';
2
- import ComponentAttr from '/@/types/components';
3
- import hsAttrForm from './src/hsAttrForm.vue';
4
- import { ElMessage } from 'element-plus';
5
- import { compConfig, config } from './../../default/baseFormConfig';
6
-
7
- interface BaseConfigRef {
8
- getSubmitData: () => boolean;
9
- }
10
- import _ from 'lodash';
11
- import IFormData from '/@/types/form';
12
- export function useHsAttrForm(props: ComponentAttr.Props<typeof hsAttrForm>, baseConfigRef: Ref<BaseConfigRef>) {
13
- // 原始数据
14
- let oldItem = ref<Record<string, IFormData.Data> | undefined>(props.current);
15
- // 当前项绑定数据
16
- let formItemConfig = ref(_.cloneDeep(props.current));
17
- let formData = ref<Record<string, IFormData.Data> | undefined>(props.data);
18
- let tableConfig = ref(_.cloneDeep(config));
19
-
20
- /**
21
- * 监听当前项
22
- */
23
- watch(
24
- () => props.current,
25
- (value) => {
26
- // 解决切换不同表单项不及时更新数据问题
27
- if (value && value.id != formItemConfig.value.id) {
28
- tableConfig.value.elConfig.visible = false;
29
- oldItem.value = value;
30
- formItemConfig.value = _.cloneDeep(value);
31
- formData.value = props.data;
32
- }
33
- },
34
- { deep: true }
35
- );
36
-
37
- // 表单配置项
38
- const parentConfig = ref({
39
- labelWidth: 150,
40
- span: 24,
41
- minWidth: 350,
42
- style: 'padding:5px 10px',
43
- });
44
- // 控制表单项属性的展开关闭
45
- const visible = ref(false);
46
- // 基本配置属性实例
47
- /**
48
- * 保存功能
49
- */
50
- const saveData = async function () {
51
- try {
52
- // 校验表单项属性
53
- let flag = await baseConfigRef.value.getSubmitData();
54
- if (!flag) return;
55
- // 将默认值根据key值赋值给data中
56
- let oldKey = oldItem.value?.data.baseData.prop; // 表单项【old】key值
57
- let newKey = formItemConfig.value.data.baseData.prop; // 表单项【new】key值
58
- let value = formItemConfig.value.data.elData?.attrs?.defaultValue || ''; // 表单项【new】value值
59
- // 如果修改过key后,修改后的key不能formData中的key重复
60
- if (_.has(formData.value, newKey) && newKey != oldKey) {
61
- return ElMessage.warning(`查询参数重复,请修改`);
62
- }
63
- // 如果修改了表单中字段的key值
64
- if (_.has(formData.value, oldKey) && oldKey != newKey) {
65
- delete formData.value[oldKey]; // 删除原来的key值
66
- }
67
- // 更新formData数据
68
- formData.value = Object.assign(formData.value, {
69
- [newKey]: value,
70
- });
71
- // 保存表单配置
72
- oldItem.value = Object.assign(oldItem.value, _.cloneDeep(formItemConfig.value));
73
- } catch (err) {
74
- console.log('er', err);
75
- }
76
- };
77
- let elComName = ref<string>('hs-config-input');
78
- /**
79
- * 组件类型切换回调方法
80
- * @param value
81
- * @param prop
82
- */
83
- const onChange = function (value: string | number, prop: string) {
84
- if (prop != 'el') return;
85
- // 关闭元素项属性
86
- tableConfig.value.elConfig.visible = false;
87
- // 清空元素项数据
88
- formItemConfig.value.data.elData = {};
89
- // 组件名称赋值
90
- let typeName: string = formItemConfig.value.data.baseData.el;
91
- elComName.value = compConfig[typeName];
92
- // 展开元素项属性
93
- tableConfig.value.elConfig.visible = true;
94
- };
95
- interface RestaurantItem {
96
- field_code: string;
97
- field_name: string;
98
- }
99
- /**
100
- * 自动输入
101
- * @param item
102
- */
103
- const onChangeItem = (item: RestaurantItem) => {
104
- formItemConfig.value.data.baseData.label = item.field_name;
105
- formItemConfig.value.data.baseData.prop = item.field_code;
106
- };
107
- return { parentConfig, visible, formItemConfig, elComName, tableConfig, onChange, saveData, onChangeItem };
108
- }