@utogether/udp-core 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 (343) hide show
  1. package/build/index.ts +90 -0
  2. package/build/plugins.ts +26 -0
  3. package/dist/403-B1R-4vXw.js +64 -0
  4. package/dist/404-fXPl8csw.js +64 -0
  5. package/dist/500-eI5842YB.js +66 -0
  6. package/dist/AuthorityInfo-CfVH6PaB.js +4 -0
  7. package/dist/AuthorityInfo.vue_vue_type_style_index_0_lang-DbK-f8jH.js +102 -0
  8. package/dist/AuthorityPanel-BaLMwMgW.js +4 -0
  9. package/dist/AuthorityPanel.vue_vue_type_style_index_0_lang-C_bkqLD9.js +107 -0
  10. package/dist/Company-CYC9Avfz.js +25 -0
  11. package/dist/CompanyPanel-B4MzoqN_.js +206 -0
  12. package/dist/DataSet-DT-rGICv.js +147 -0
  13. package/dist/Department-B4BNSiYx.js +25 -0
  14. package/dist/DepartmentPanel-zJO89L2O.js +224 -0
  15. package/dist/DesignPanel-S8P0J97f.js +4 -0
  16. package/dist/DesignPanel.vue_vue_type_style_index_0_lang-DW-_Vqrr.js +1015 -0
  17. package/dist/DictView-bIS5-rK-.js +95 -0
  18. package/dist/InvOrganization-MuM2jtsG.js +66 -0
  19. package/dist/Org-kXHSjsgJ.js +35 -0
  20. package/dist/Preview-CRyiwUIR.js +48 -0
  21. package/dist/ReportDefine-WZYIx8Sm.js +10 -0
  22. package/dist/ReportDesign-D-7GKgpb.js +165 -0
  23. package/dist/ReportQuery-BIIJny6w.js +75 -0
  24. package/dist/ReportQueryFrom-OoUl7N2O.js +4 -0
  25. package/dist/ReportQueryFrom.vue_vue_type_style_index_0_lang-B878fgj8.js +177 -0
  26. package/dist/ReportTemplate-Cfeq9US-.js +161 -0
  27. package/dist/Role-BwTV2QMH.js +25 -0
  28. package/dist/RoleAssign-De1JjOun.js +26 -0
  29. package/dist/RolePanel-E3RcdByM.js +4 -0
  30. package/dist/RolePanel-pUBXsqCM.js +4 -0
  31. package/dist/RolePanel.vue_vue_type_script_setup_true_lang-B2pQwHb0.js +148 -0
  32. package/dist/RolePanel.vue_vue_type_script_setup_true_lang-CTIad9_Q.js +126 -0
  33. package/dist/ScrollPanel.vue_vue_type_style_index_0_lang-vMR1fBi0.js +100 -0
  34. package/dist/Staff-Czm7A8vI.js +25 -0
  35. package/dist/StaffInfo-DJzvBuxy.js +4 -0
  36. package/dist/StaffInfo.vue_vue_type_style_index_0_lang-DMTL7KCh.js +108 -0
  37. package/dist/StaffPanel-CHk60LEz.js +4 -0
  38. package/dist/StaffPanel.vue_vue_type_script_setup_true_lang-iPKLb5wG.js +114 -0
  39. package/dist/SysUser-BGwbttRn.js +15 -0
  40. package/dist/SysUserPanel-BCbKoLKt.js +4 -0
  41. package/dist/SysUserPanel.vue_vue_type_script_setup_true_lang-0QUjnhjF.js +289 -0
  42. package/dist/SystemMenu-BkqZSDKl.js +151 -0
  43. package/dist/UserInfo-BsyAcT2d.js +4 -0
  44. package/dist/UserInfo.vue_vue_type_style_index_0_lang-D0-KDxAh.js +158 -0
  45. package/dist/await-to-js.es5-BtRbN2QH.js +10 -0
  46. package/dist/childView-CF83nhxb.js +4 -0
  47. package/dist/childView-CyuLTUqC.js +4 -0
  48. package/dist/childView.vue_vue_type_style_index_0_lang-CNSgGda3.js +187 -0
  49. package/dist/childView.vue_vue_type_style_index_0_lang-Cch4lE-i.js +144 -0
  50. package/dist/code-rule-Bz-gnktN.js +147 -0
  51. package/dist/core.es.js +13 -0
  52. package/dist/core.umd.js +173 -0
  53. package/dist/cron-task-CIifSUdW.js +135 -0
  54. package/dist/frameView-_d2mqjjQ.js +43 -0
  55. package/dist/img/l_img.svg +1 -0
  56. package/dist/img/minicolors.png +0 -0
  57. package/dist/img/v_img.svg +1 -0
  58. package/dist/index-BKIw8tSn.js +9195 -0
  59. package/dist/layoutView-DLKVepB8.js +3317 -0
  60. package/dist/log-in-e7D5Ss1P.js +110 -0
  61. package/dist/log-out--RRncZhN.js +120 -0
  62. package/dist/login-LREiDfFU.js +251 -0
  63. package/dist/login-log-CvVnyGi3.js +68 -0
  64. package/dist/lov-view-DDrIVILB.js +97 -0
  65. package/dist/menuInfo-B1FUV-Sk.js +4 -0
  66. package/dist/menuInfo.vue_vue_type_style_index_0_lang-Cnk3vdtD.js +338 -0
  67. package/dist/pda-app-CRhVGijN.js +2209 -0
  68. package/dist/redirect-DiaNDu8F.js +15 -0
  69. package/dist/resource-BCwx9fEv.js +97 -0
  70. package/dist/su-welcome-189A7N4r.js +526 -0
  71. package/dist/sys-config-BZ3sejow.js +277 -0
  72. package/dist/udp-core.css +9 -0
  73. package/dist/utogether-r08LNiIZ.js +182 -0
  74. package/index.ts +36 -0
  75. package/package.json +16 -0
  76. package/public/img/l_img.svg +1 -0
  77. package/public/img/minicolors.png +0 -0
  78. package/public/img/v_img.svg +1 -0
  79. package/src/App.vue +70 -0
  80. package/src/api/http.ts +50 -0
  81. package/src/api/index.ts +31 -0
  82. package/src/api/mock.ts +20 -0
  83. package/src/api/user.ts +43 -0
  84. package/src/assets/images/avatars.jpg +0 -0
  85. package/src/assets/images/empty.png +0 -0
  86. package/src/assets/images/login.png +0 -0
  87. package/src/assets/images/logo.png +0 -0
  88. package/src/assets/images/mask-text.jpg +0 -0
  89. package/src/assets/images/minicolors.png +0 -0
  90. package/src/assets/images/utogether.png +0 -0
  91. package/src/assets/images/welcome.png +0 -0
  92. package/src/assets/status/403.svg +1 -0
  93. package/src/assets/status/404.svg +1 -0
  94. package/src/assets/status/500.svg +1 -0
  95. package/src/assets/svg/back_top.svg +1 -0
  96. package/src/assets/svg/bg.svg +1 -0
  97. package/src/assets/svg/close.svg +1 -0
  98. package/src/assets/svg/close_all.svg +1 -0
  99. package/src/assets/svg/close_left.svg +1 -0
  100. package/src/assets/svg/close_other.svg +1 -0
  101. package/src/assets/svg/close_right.svg +1 -0
  102. package/src/assets/svg/dark.svg +1 -0
  103. package/src/assets/svg/day.svg +1 -0
  104. package/src/assets/svg/enter_outlined.svg +1 -0
  105. package/src/assets/svg/exit_screen.svg +1 -0
  106. package/src/assets/svg/full_screen.svg +1 -0
  107. package/src/assets/svg/globalization.svg +1 -0
  108. package/src/assets/svg/loading.svg +17 -0
  109. package/src/assets/svg/mdi_keyboard_esc.svg +1 -0
  110. package/src/assets/svg/refresh.svg +1 -0
  111. package/src/assets/svg/system.svg +1 -0
  112. package/src/components/ReCountTo/README.md +2 -0
  113. package/src/components/ReCountTo/index.ts +18 -0
  114. package/src/components/ReCountTo/src/normal/index.tsx +165 -0
  115. package/src/components/ReCountTo/src/normal/props.ts +37 -0
  116. package/src/components/ReCountTo/src/rebound/index.tsx +67 -0
  117. package/src/components/ReCountTo/src/rebound/props.ts +14 -0
  118. package/src/components/ReCountTo/src/rebound/rebound.css +77 -0
  119. package/src/components/ReCropper/index.ts +14 -0
  120. package/src/components/ReCropper/src/index.tsx +141 -0
  121. package/src/components/ReFlicker/index.css +39 -0
  122. package/src/components/ReFlicker/index.ts +50 -0
  123. package/src/components/ReFlop/index.ts +14 -0
  124. package/src/components/ReFlop/src/Filpper.tsx +99 -0
  125. package/src/components/ReFlop/src/filpper.css +184 -0
  126. package/src/components/ReFlop/src/index.vue +126 -0
  127. package/src/components/ReFlowChart/index.ts +24 -0
  128. package/src/components/ReFlowChart/src/Control.vue +139 -0
  129. package/src/components/ReFlowChart/src/DataDialog.vue +12 -0
  130. package/src/components/ReFlowChart/src/NodePanel.vue +151 -0
  131. package/src/components/ReFlowChart/src/adpterForTurbo.ts +160 -0
  132. package/src/components/ReFlowChart/src/assets/iconfont/iconfont.css +49 -0
  133. package/src/components/ReFlowChart/src/assets/iconfont/iconfont.eot +0 -0
  134. package/src/components/ReFlowChart/src/assets/iconfont/iconfont.js +61 -0
  135. package/src/components/ReFlowChart/src/assets/iconfont/iconfont.json +58 -0
  136. package/src/components/ReFlowChart/src/assets/iconfont/iconfont.svg +47 -0
  137. package/src/components/ReFlowChart/src/assets/iconfont/iconfont.ttf +0 -0
  138. package/src/components/ReFlowChart/src/assets/iconfont/iconfont.woff +0 -0
  139. package/src/components/ReFlowChart/src/assets/iconfont/iconfont.woff2 +0 -0
  140. package/src/components/ReFlowChart/src/config.ts +62 -0
  141. package/src/components/ReIcon/index.ts +12 -0
  142. package/src/components/ReIcon/src/Icon.vue +81 -0
  143. package/src/components/ReIcon/src/hooks.ts +63 -0
  144. package/src/components/ReIcon/src/iconfont.ts +45 -0
  145. package/src/components/ReIcon/src/iconifyIconOffline.ts +36 -0
  146. package/src/components/ReIcon/src/iconifyIconOnline.ts +28 -0
  147. package/src/components/ReIcon/src/offlineIcon.ts +64 -0
  148. package/src/components/ReIcon/src/types.ts +20 -0
  149. package/src/components/ReSplitPane/index.css +49 -0
  150. package/src/components/ReSplitPane/index.tsx +119 -0
  151. package/src/components/ReSplitPane/resizer.css +45 -0
  152. package/src/components/ReSplitPane/resizer.tsx +30 -0
  153. package/src/components/SuCharts/index.ts +36 -0
  154. package/src/components/SuCharts/src/EchartBar.vue +134 -0
  155. package/src/components/SuCharts/src/UserInfo.vue +78 -0
  156. package/src/components/SuCharts/src/echart-line.vue +85 -0
  157. package/src/components/SuCharts/src/echart-pie.vue +95 -0
  158. package/src/components/SuCommon/card/components/Card.vue +148 -0
  159. package/src/components/SuCommon/card/components/DialogForm.vue +127 -0
  160. package/src/components/SuCommon/card/index.vue +142 -0
  161. package/src/components/SuCommon/icon-select/index.vue +241 -0
  162. package/src/components/SuCommon/table/index.vue +208 -0
  163. package/src/components/SuCommon/utils/index.ts +103 -0
  164. package/src/components/SuCommon/utils/slot.tsx +50 -0
  165. package/src/components/SuFloatButton/index.vue +159 -0
  166. package/src/components/SuQrcode/index.ts +14 -0
  167. package/src/components/SuQrcode/src/index.scss +9 -0
  168. package/src/components/SuQrcode/src/index.tsx +236 -0
  169. package/src/components/SuScrollTree/ScrollPanel.vue +175 -0
  170. package/src/components/SuTable/SuTable.vue +334 -0
  171. package/src/components/SuTypeit/index.ts +51 -0
  172. package/src/config/index.ts +35 -0
  173. package/src/contant/index.ts +20 -0
  174. package/src/directives/elResizeDetector/index.ts +33 -0
  175. package/src/directives/index.ts +11 -0
  176. package/src/directives/permission/index.ts +29 -0
  177. package/src/layout/components/lay-chrome/index.vue +30 -0
  178. package/src/layout/components/lay-content/index.vue +143 -0
  179. package/src/layout/components/lay-navbar/index.vue +237 -0
  180. package/src/layout/components/lay-notice/data.ts +59 -0
  181. package/src/layout/components/lay-notice/index.vue +83 -0
  182. package/src/layout/components/lay-notice/noticeItem.vue +160 -0
  183. package/src/layout/components/lay-notice/noticeList.vue +19 -0
  184. package/src/layout/components/lay-panel/index.vue +150 -0
  185. package/src/layout/components/lay-search/components/SearchFooter.vue +67 -0
  186. package/src/layout/components/lay-search/components/SearchModal.vue +189 -0
  187. package/src/layout/components/lay-search/components/SearchResult.vue +132 -0
  188. package/src/layout/components/lay-search/components/index.ts +10 -0
  189. package/src/layout/components/lay-search/index.vue +25 -0
  190. package/src/layout/components/lay-select-org/index.vue +69 -0
  191. package/src/layout/components/lay-setting/index.vue +510 -0
  192. package/src/layout/components/lay-sidebar/breadCrumb.vue +131 -0
  193. package/src/layout/components/lay-sidebar/extraIcon.vue +25 -0
  194. package/src/layout/components/lay-sidebar/hamBurger.vue +72 -0
  195. package/src/layout/components/lay-sidebar/horizontal.vue +191 -0
  196. package/src/layout/components/lay-sidebar/mixNav.vue +258 -0
  197. package/src/layout/components/lay-sidebar/sidebar-logo.vue +98 -0
  198. package/src/layout/components/lay-sidebar/sidebarItem.vue +205 -0
  199. package/src/layout/components/lay-sidebar/vertical.vue +94 -0
  200. package/src/layout/components/lay-tag/index.scss +375 -0
  201. package/src/layout/components/lay-tag/index.vue +625 -0
  202. package/src/layout/frameView.vue +71 -0
  203. package/src/layout/hooks/useBoolean.ts +33 -0
  204. package/src/layout/hooks/useDataThemeChange.ts +142 -0
  205. package/src/layout/hooks/useLayout.ts +65 -0
  206. package/src/layout/hooks/useNav.ts +173 -0
  207. package/src/layout/hooks/useTag.ts +233 -0
  208. package/src/layout/hooks/useTranslationLang.ts +51 -0
  209. package/src/layout/layoutView.vue +215 -0
  210. package/src/layout/redirect.vue +30 -0
  211. package/src/layout/routerView/parent.vue +23 -0
  212. package/src/layout/types.ts +92 -0
  213. package/src/main.ts +108 -0
  214. package/src/plugins/echarts/index.ts +58 -0
  215. package/src/plugins/echarts/theme.json +394 -0
  216. package/src/plugins/i18n/en.ts +289 -0
  217. package/src/plugins/i18n/index.ts +76 -0
  218. package/src/plugins/i18n/module/u-report.ts +64 -0
  219. package/src/plugins/i18n/module/u-workflow.ts +71 -0
  220. package/src/plugins/i18n/module/umsg.ts +28 -0
  221. package/src/plugins/i18n/zh.ts +337 -0
  222. package/src/plugins/vxe-table/index.ts +46 -0
  223. package/src/plugins/vxe-table/render.tsx +397 -0
  224. package/src/router/createComponent.tsx +25 -0
  225. package/src/router/index.ts +183 -0
  226. package/src/router/modules/error.ts +32 -0
  227. package/src/router/modules/home.ts +32 -0
  228. package/src/router/modules/nested.ts +93 -0
  229. package/src/router/modules/remaining.ts +83 -0
  230. package/src/router/modules/tabs.ts +55 -0
  231. package/src/router/utils.ts +377 -0
  232. package/src/store/index.ts +9 -0
  233. package/src/store/modules/app.ts +69 -0
  234. package/src/store/modules/epTheme.ts +49 -0
  235. package/src/store/modules/multiTags.ts +109 -0
  236. package/src/store/modules/permission.ts +103 -0
  237. package/src/store/modules/settings.ts +40 -0
  238. package/src/store/modules/system.ts +180 -0
  239. package/src/store/modules/types.ts +49 -0
  240. package/src/style/button.scss +78 -0
  241. package/src/style/clear-mixin.scss +28 -0
  242. package/src/style/dark.scss +218 -0
  243. package/src/style/element-plus.scss +206 -0
  244. package/src/style/index.scss +76 -0
  245. package/src/style/login.css +336 -0
  246. package/src/style/login2.css +106 -0
  247. package/src/style/print-lock.css +375 -0
  248. package/src/style/reset.scss +272 -0
  249. package/src/style/sidebar.scss +770 -0
  250. package/src/style/suprint.css +985 -0
  251. package/src/style/tailwind.css +68 -0
  252. package/src/style/theme.scss +143 -0
  253. package/src/style/transition.scss +42 -0
  254. package/src/style/vxetable.scss +256 -0
  255. package/src/utils/authority/index.ts +29 -0
  256. package/src/utils/browers.ts +59 -0
  257. package/src/utils/dataFormat/index.ts +223 -0
  258. package/src/utils/http/index.ts +297 -0
  259. package/src/utils/http/types.d.ts +46 -0
  260. package/src/utils/index.ts +47 -0
  261. package/src/utils/lifecycle.ts +20 -0
  262. package/src/utils/mitt.ts +19 -0
  263. package/src/utils/propTypes.ts +47 -0
  264. package/src/utils/storage/index.ts +51 -0
  265. package/src/views/components/contextmenu/basic.vue +74 -0
  266. package/src/views/components/contextmenu/context-menu.vue +40 -0
  267. package/src/views/components/contextmenu/menuDynamic.vue +99 -0
  268. package/src/views/components/contextmenu/menuGroup.vue +71 -0
  269. package/src/views/components/count-to/index.vue +43 -0
  270. package/src/views/components/cropping/index.vue +59 -0
  271. package/src/views/components/cropping/picture.jpeg +0 -0
  272. package/src/views/components/split-pane/index.vue +82 -0
  273. package/src/views/components/video/index.vue +57 -0
  274. package/src/views/error/403.vue +50 -0
  275. package/src/views/error/404.vue +50 -0
  276. package/src/views/error/500.vue +52 -0
  277. package/src/views/login/login-view.vue +314 -0
  278. package/src/views/login/utils/motion.ts +47 -0
  279. package/src/views/login/utils/rule.ts +70 -0
  280. package/src/views/login/utils/verifyCode.ts +52 -0
  281. package/src/views/organization/company/Company.vue +56 -0
  282. package/src/views/organization/company/CompanyPanel.vue +259 -0
  283. package/src/views/organization/department/Department.vue +58 -0
  284. package/src/views/organization/department/DepartmentPanel.vue +283 -0
  285. package/src/views/organization/inv-org/InvOrganization.vue +53 -0
  286. package/src/views/organization/org/Org.vue +43 -0
  287. package/src/views/organization/staff/Staff.vue +58 -0
  288. package/src/views/organization/staff/StaffInfo.vue +163 -0
  289. package/src/views/organization/staff/StaffPanel.vue +144 -0
  290. package/src/views/system/cron/cron-task.vue +157 -0
  291. package/src/views/system/menu/AuthorityPanel.vue +140 -0
  292. package/src/views/system/menu/SystemMenu.vue +191 -0
  293. package/src/views/system/menu/menuInfo.vue +368 -0
  294. package/src/views/system/role/AuthorityInfo.vue +147 -0
  295. package/src/views/system/role/Role.vue +57 -0
  296. package/src/views/system/role/RolePanel.vue +191 -0
  297. package/src/views/system/role/UserInfo.vue +193 -0
  298. package/src/views/system/role-assign/RoleAssign.vue +57 -0
  299. package/src/views/system/role-assign/RolePanel.vue +136 -0
  300. package/src/views/system/sys/sys-config.vue +291 -0
  301. package/src/views/system/sysUser/SysUser.vue +45 -0
  302. package/src/views/system/sysUser/SysUserPanel.vue +278 -0
  303. package/src/views/uapp/pda/pda-app.vue +176 -0
  304. package/src/views/udev/coderule/code-rule.vue +121 -0
  305. package/src/views/udev/dict/DictView.vue +106 -0
  306. package/src/views/udev/dict/childView.vue +222 -0
  307. package/src/views/udev/lov/childView.vue +180 -0
  308. package/src/views/udev/lov/lov-view.vue +91 -0
  309. package/src/views/ufile/aggregation/File.vue +87 -0
  310. package/src/views/ufile/file/water-mark.vue +103 -0
  311. package/src/views/uhome/components/menu-favorite.vue +331 -0
  312. package/src/views/uhome/su-welcome.vue +339 -0
  313. package/src/views/ulogin/login.vue +316 -0
  314. package/src/views/umsg/monitor/msg-monitor.vue +36 -0
  315. package/src/views/umsg/msg/TemplateContent.vue +103 -0
  316. package/src/views/umsg/msg/msg-template.vue +66 -0
  317. package/src/views/umsg/send/childView.vue +142 -0
  318. package/src/views/umsg/send/msg-send.vue +95 -0
  319. package/src/views/upms/interface/log-in.vue +106 -0
  320. package/src/views/upms/interface/log-out.vue +107 -0
  321. package/src/views/upms/user/login-log.vue +60 -0
  322. package/src/views/urpt/dataSet/DataSet.vue +139 -0
  323. package/src/views/urpt/design/DesignPanel.vue +526 -0
  324. package/src/views/urpt/design/Preview.vue +65 -0
  325. package/src/views/urpt/design/ReportDesign.vue +249 -0
  326. package/src/views/urpt/design/bg.png +0 -0
  327. package/src/views/urpt/design/panel.ts +841 -0
  328. package/src/views/urpt/design/print-data.ts +59 -0
  329. package/src/views/urpt/query/ReportQuery.vue +122 -0
  330. package/src/views/urpt/query/ReportQueryFrom.vue +252 -0
  331. package/src/views/urpt/report-request/ReportDefine.vue +10 -0
  332. package/src/views/urpt/static-resource/resource.vue +116 -0
  333. package/src/views/urpt/template/ReportTemplate.vue +198 -0
  334. package/tsconfig.json +30 -0
  335. package/types/env.d.ts +1 -0
  336. package/types/global-components.d.ts +12 -0
  337. package/types/global.d.ts +236 -0
  338. package/types/image.d.ts +7 -0
  339. package/types/index.d.ts +73 -0
  340. package/types/router.d.ts +107 -0
  341. package/types/shims-tsx.d.ts +22 -0
  342. package/types/shims-vue.d.ts +20 -0
  343. package/vite.config.ts +73 -0
@@ -0,0 +1,176 @@
1
+ <!--
2
+ * @Author: wei.li
3
+ * @Date: 2021-12-23 11:22:51
4
+ * @LastEditors: levi7754 levi7754@163.com
5
+ * @LastEditTime: 2025-04-29 17:11:13
6
+ * @Description: 托盘管理
7
+ -->
8
+
9
+ <template>
10
+ <div>
11
+ <ut-grid ref="xgrid" :columns="columns" :url="url" mode="form" @buttonClick="onButtonClick" />
12
+ <ut-modal-form
13
+ v-if="showModalForm"
14
+ :record="record"
15
+ :items="items"
16
+ :width="360"
17
+ :height="340"
18
+ :title="$t('message.title.appAdd')"
19
+ :url="url"
20
+ data-status="add"
21
+ @close="showModalForm = false"
22
+ @confirm="onConfirm"
23
+ />
24
+ </div>
25
+ </template>
26
+ <script lang="tsx">
27
+ export default { name: 'PdaApp' };
28
+ </script>
29
+ <script setup lang="tsx">
30
+ import { ref } from 'vue';
31
+ import { useI18n } from 'vue-i18n';
32
+ import to from 'await-to-js';
33
+ import { getBaseURL, getServiceApi } from '../../../api';
34
+ import { useRender } from '@utogether/utils';
35
+ import { clone } from 'xe-utils';
36
+ import SuQrcode from '../../../components/SuQrcode';
37
+
38
+ const baseURL = getBaseURL();
39
+
40
+ const renderHook = useRender();
41
+
42
+ const { t } = useI18n();
43
+ const url = '/upms/v1/app-manage';
44
+ const xgrid = ref(null);
45
+ const record = ref({});
46
+
47
+ // const formItems = [
48
+ // { field: 'organizationName', itemRender: renderHook.renderInvOrg() },
49
+ // { field: 'trayTypeCode', itemRender: renderHook.renderDict('SU.TRAY.TYPE') },
50
+ // { field: 'trayCode' },
51
+ // { field: 'materialCode' },
52
+ // { field: 'materialName' },
53
+ // { field: 'packCode', title: 'message.boxSignCode' }
54
+ // ];
55
+
56
+ // 列字段
57
+ const columns = [
58
+ { type: 'checkbox', width: 45, align: 'center' },
59
+ // { field: 'trayTypeCode', width: 110, formatter: ['formatDict', 'SU.TRAY.TYPE'] },
60
+ { field: 'appVersion', width: 110 },
61
+ { field: 'buildNo', width: 130 },
62
+ { field: 'versionInfo', miWidth: 200 },
63
+ {
64
+ field: 'enabled',
65
+ title: 'message.status',
66
+ width: 90,
67
+ formatter: ({ row }) => (row.enabled === '1' ? t('message.appupper') : t('message.applower'))
68
+ },
69
+ { field: 'creationDate', width: 140 },
70
+ {
71
+ field: 'operate',
72
+ width: 260,
73
+ fixed: 'right',
74
+ slots: {
75
+ default: ({ row }) => {
76
+ const content = row.enabled === '1' ? 'applower' : 'appupper';
77
+ const status = row.enabled === '1' ? 'warning' : 'primary';
78
+ const icon = row.enabled === '1' ? 'ri-inbox-archive-line' : 'ri-inbox-unarchive-line';
79
+ if (row.enabled !== '1') {
80
+ return [
81
+ <ut-button content={content} icon={icon} status={status} onTap={() => handleChild(row)} />
82
+ ];
83
+ }
84
+ return [
85
+ <>
86
+ <div style="display: flex; justify-content: space-between;">
87
+ <ut-button content={content} icon={icon} status={status} onTap={() => handleChild(row)} />
88
+ <el-popover
89
+ placement="left"
90
+ v-slots={{
91
+ reference: () => <el-button type="success">{t('message.btn.scan')}</el-button>
92
+ }}
93
+ >
94
+ <>
95
+ <SuQrcode text={baseURL + '/ufil/' + row.downloadUrl} />
96
+ </>
97
+ </el-popover>
98
+ </div>
99
+ </>
100
+ // <el-popover
101
+ // placement="left"
102
+ // v-slots={{
103
+ // reference: () => <el-button type="primary">外网下载</el-button>
104
+ // }}
105
+ // >
106
+ // <>
107
+ // <SuQrcode text={'http://jemes.uzuo.cn/gateway/ufil/' + row.downloadUrl} />
108
+ // </>
109
+ // </el-popover>
110
+ ];
111
+ }
112
+ }
113
+ }
114
+ ];
115
+
116
+ // 启用/禁用
117
+ // async function handleClick({ row }) {
118
+ // await to(getServiceApi().put(url, row));
119
+ // xgrid.value.refreshData();
120
+ // }
121
+
122
+ /**
123
+ * @param {*} row 数据源
124
+ */
125
+ const handleChild = async row => {
126
+ const body = clone(row, true);
127
+ body.enabled = row.enabled === '1' ? '0' : '1';
128
+ await to(getServiceApi().put(url, body));
129
+ xgrid.value.refreshData();
130
+ };
131
+
132
+ /**
133
+ * @description:监听grid事件
134
+ * @return {*}
135
+ */
136
+ const onButtonClick = code => {
137
+ code === 'add' && handleAdd();
138
+ code === 'del' && handleDel();
139
+ };
140
+
141
+ const items = [
142
+ { field: 'appVersion', required: true },
143
+ { field: 'buildNo', required: true },
144
+ { field: 'versionInfo', required: true, itemRender: renderHook.renderTextarea() },
145
+ {
146
+ field: 'downloadUrl',
147
+ required: false,
148
+ itemRender: { name: '#upload', props: { baseUrl: baseURL } }
149
+ }
150
+ ];
151
+
152
+ const showModalForm = ref(false);
153
+
154
+ /**
155
+ * @description: 添加
156
+ */
157
+ const handleAdd = () => {
158
+ record.value = {};
159
+ showModalForm.value = true;
160
+ };
161
+
162
+ const handleDel = () => {
163
+ xgrid.value.getInstance().commitProxy('delete');
164
+ };
165
+
166
+ // const handleDownFile = row => {
167
+ // clipboardRef.value = baseURL + '/ufil/' + row.downloadUrl;
168
+ // successMessage('复制成功,快试试右键粘贴吧');
169
+ // };
170
+
171
+ // const buttons = [{ code: 'del', status: 'danger', icon: 'ri-delete-bin-line', auth: 'del' }];
172
+
173
+ const onConfirm = () => {
174
+ xgrid.value.refreshData();
175
+ };
176
+ </script>
@@ -0,0 +1,121 @@
1
+ <!--
2
+ * @Author: wei.li
3
+ * @Date: 2021-12-15 17:45:07
4
+ * @LastEditors: levi7754 levi7754@163.com
5
+ * @LastEditTime: 2025-04-08 15:29:48
6
+ * @Description: 编码规则
7
+ -->
8
+ <template>
9
+ <div>
10
+ <ut-grid ref="xgrid" :items="formItems" :columns="columns" :url="url" />
11
+
12
+ <ut-modal-grid
13
+ v-if="showModal"
14
+ ref="xmgrid"
15
+ :default-value="subParam"
16
+ :default-params="subParam"
17
+ :columns="subColumns"
18
+ :url="url + 'Detail'"
19
+ :editable="!haveBeenUsed"
20
+ :show-footer="false"
21
+ width="80%"
22
+ title="编码段设置"
23
+ @close="showModal = false"
24
+ />
25
+ </div>
26
+ </template>
27
+
28
+ <script lang="tsx">
29
+ export default { name: 'CodeRule' };
30
+ </script>
31
+ <script setup lang="tsx">
32
+ import { ref } from 'vue';
33
+ import to from 'await-to-js';
34
+ import { useRender } from '@utogether/utils';
35
+ import { getServiceApi } from '../../../api';
36
+
37
+ const renderHook = useRender();
38
+
39
+ const xgrid = ref(null);
40
+ const showModal = ref(false);
41
+ const haveBeenUsed = ref(false);
42
+ const subParam = ref({});
43
+
44
+ const url = '/upfm/v1/codingRule';
45
+
46
+ const formItems = [
47
+ { field: 'ruleCode', title: 'message.udp.ruleCode' },
48
+ { field: 'ruleName', title: 'message.udp.ruleName' }
49
+ ];
50
+ // 列字段
51
+ const columns = [
52
+ { type: 'checkbox', width: 40, align: 'center' },
53
+ {
54
+ field: 'ruleCode',
55
+ title: 'message.udp.ruleCode',
56
+ required: true,
57
+ editRender: renderHook.renderInput()
58
+ },
59
+ {
60
+ field: 'ruleName',
61
+ title: 'message.udp.ruleName',
62
+ required: true,
63
+ editRender: renderHook.renderInput()
64
+ },
65
+ { field: 'remark', editRender: renderHook.renderInput() },
66
+ { field: 'haveBeenUsed', title: 'message.udp.haveBeenUsed', formatter: ['formatDict', 'SU.WHETHER'] },
67
+ { field: 'enabled', width: 80, cellRender: renderHook.renderEnabled(handleClick) },
68
+ {
69
+ field: 'operate',
70
+ width: 80,
71
+ fixed: 'right',
72
+ slots: {
73
+ default: ({ row }) => {
74
+ const content = row.haveBeenUsed === 'Y' ? 'look' : 'encode';
75
+ const status = row.haveBeenUsed === 'Y' ? 'info' : 'primary';
76
+ return [<ut-button content={content} status={status} onTap={() => handleEdit(row)} />];
77
+ }
78
+ }
79
+ }
80
+ ];
81
+
82
+ const subColumns = [
83
+ { type: 'checkbox', width: 40, align: 'center' },
84
+ { field: 'orderSeq', title: 'message.seqNo', required: true, editRender: renderHook.renderNumber() },
85
+ {
86
+ field: 'fieldType',
87
+ title: 'message.udp.xxx',
88
+ required: true,
89
+ editRender: renderHook.renderDict('SU.CODE.RULE.TYPE')
90
+ },
91
+ { field: 'fieldValue', title: 'message.udp.fieldValue', editRender: renderHook.renderInput() },
92
+ {
93
+ field: 'dateMask',
94
+ title: 'message.udp.dateMask',
95
+ editRender: renderHook.renderDict('SU.DATE.MASK')
96
+ },
97
+ {
98
+ field: 'resetFrequency',
99
+ title: 'message.udp.resetFrequency',
100
+ editRender: renderHook.renderDict('SU.RESET.FREQUENCY')
101
+ },
102
+ { field: 'seqLength', title: 'message.udp.seqLength', editRender: renderHook.renderInput() },
103
+ { field: 'startValue', title: 'message.udp.startValue', editRender: renderHook.renderInput() },
104
+ { field: 'currentValue', title: 'message.udp.currentValue' },
105
+ { field: 'remark', editRender: renderHook.renderInput() }
106
+ // { field: 'enabled', width: 80, cellRender: renderHook.renderEnabled(handleClick) }
107
+ ];
108
+
109
+ const handleEdit = row => {
110
+ haveBeenUsed.value = row.haveBeenUsed === 'Y';
111
+ subParam.value = { codingRuleId: row.id };
112
+ showModal.value = true;
113
+ };
114
+
115
+ // 启用/禁用
116
+ async function handleClick({ row }) {
117
+ console.log(row);
118
+ const [err] = await to(getServiceApi().put(url, row));
119
+ !err && xgrid.value.refreshData();
120
+ }
121
+ </script>
@@ -0,0 +1,106 @@
1
+ <!--
2
+ * @Author: wei.li
3
+ * @Date: 2021-12-23 17:33:21
4
+ * @LastEditors: levi7754 levi7754@163.com
5
+ * @LastEditTime: 2025-04-08 15:22:57
6
+ * @Description: 数据字典
7
+ -->
8
+ <template>
9
+ <div>
10
+ <ut-grid
11
+ ref="xgrid"
12
+ :items="formItems"
13
+ :columns="columns"
14
+ url="/upfm/v1/lov"
15
+ :events="onGridEvents"
16
+ />
17
+ <child-view v-if="shouDrawer" :show="shouDrawer" :record="record" @onClose="handleClose" />
18
+ </div>
19
+ </template>
20
+
21
+ <script lang="tsx">
22
+ export default { name: 'DictView' };
23
+ </script>
24
+ <script setup lang="tsx">
25
+ import { ref, nextTick } from 'vue';
26
+ import childView from './childView.vue';
27
+ import { useRender } from '@utogether/utils';
28
+
29
+ const xgrid = ref(null);
30
+ // const renderOption = useRenderOption();
31
+
32
+ const formItems = [
33
+ { field: 'dictCode', title: 'message.udp.dictCode' },
34
+ { field: 'dictName', title: 'message.udp.dictName' },
35
+ { field: 'dictType', title: 'message.udp.dictType' }
36
+ ];
37
+
38
+ const renderHook = useRender();
39
+ // 列字段
40
+ const columns = [
41
+ { type: 'checkbox', width: 40, align: 'center' },
42
+ {
43
+ field: 'dictCode',
44
+ title: 'message.udp.dictCode',
45
+ required: true,
46
+ editRender: renderHook.renderInput()
47
+ },
48
+ {
49
+ field: 'dictName',
50
+ title: 'message.udp.dictCode',
51
+ required: true,
52
+ editRender: renderHook.renderInput()
53
+ },
54
+ {
55
+ field: 'dictType',
56
+ title: 'message.udp.dictType',
57
+ required: true,
58
+ editRender: renderHook.renderDict('SU.DICT.TYPE'),
59
+ formatter: ['formatDict', 'SU.DICT.TYPE']
60
+ },
61
+ { field: 'dictDesc', title: 'message.remark', editRender: renderHook.renderInput() },
62
+ {
63
+ field: 'enabled',
64
+ width: 90,
65
+ editRender: renderHook.renderDict({ code: 'SU.ENABLE', defaultValue: '1' }),
66
+ formatter: ['formatDict', 'SU.ENABLE']
67
+ },
68
+ {
69
+ field: 'operate',
70
+ width: 80,
71
+ slots: {
72
+ default: ({ row }) => {
73
+ if (!row.id) return null;
74
+ return [<ut-button content="lov" onClick={() => hanldeDipose(row)} />];
75
+ }
76
+ }
77
+ }
78
+ ];
79
+
80
+ const shouDrawer = ref(false);
81
+ const record = ref(null);
82
+ const hanldeDipose = row => {
83
+ nextTick(() => {
84
+ shouDrawer.value = true;
85
+ record.value = row;
86
+ record.value.total = row.children?.length;
87
+ });
88
+ };
89
+ const handleClose = () => {
90
+ xgrid.value.refreshData();
91
+ shouDrawer.value = false;
92
+ };
93
+
94
+ const onGridEvents = {
95
+ editActived({ row }) {
96
+ columns[1].editRender.props.disabled = !!row.id;
97
+ }
98
+ };
99
+
100
+ // function onChange(e) {
101
+ // console.log('onChange', e);
102
+ // }
103
+ // function onFocus(e) {
104
+ // console.log('onFocus', e);
105
+ // }
106
+ </script>
@@ -0,0 +1,222 @@
1
+ <!--
2
+ * @Author: wei.li
3
+ * @Date: 2022-07-15 17:02:56
4
+ * @LastEditors: levi7754 levi7754@163.com
5
+ * @LastEditTime: 2025-04-08 15:29:30
6
+ * @Description: file contentu
7
+ -->
8
+ <template>
9
+ <div class="u-dict-config_wrapper">
10
+ <el-drawer
11
+ :model-value="show"
12
+ :before-close="handleClose"
13
+ :title="$t('message.title.dictList', { name: record.dictName })"
14
+ direction="rtl"
15
+ destroy-on-close
16
+ size="76%"
17
+ >
18
+ <div style="margin: 10px">
19
+ <vxe-toolbar>
20
+ <template #buttons>
21
+ <vxe-button status="primary" icon="vxe-icon-add" @click="onAdd">
22
+ {{ $t('message.btn.add') }}
23
+ </vxe-button>
24
+ </template>
25
+ <template #tools>
26
+ <vxe-button icon="vxe-icon-refresh" @click="getDict" />
27
+ </template>
28
+ </vxe-toolbar>
29
+ <vxe-table
30
+ border
31
+ row-id="id"
32
+ :data="tableData"
33
+ :loading="loading"
34
+ :tree-config="{ childrenField: 'children', expandAll: true }"
35
+ >
36
+ <vxe-table-column type="seq" width="130" :title="$t('message.seqNo')" tree-node />
37
+ <vxe-table-column field="dictCode" :title="$t('message.udp.dictCode')" />
38
+ <vxe-table-column field="dictName" :title="$t('message.udp.dictName')" />
39
+ <vxe-table-column field="dictDesc" :title="$t('message.remark')" />
40
+ <vxe-table-column field="enabled" :title="$t('message.enabled')" width="100">
41
+ <template #default="{ row }">
42
+ <span>{{ row.enabled === '1' ? $t('message.enabled') : $t('message.disabled') }}</span>
43
+ </template>
44
+ </vxe-table-column>
45
+ <vxe-table-column field="" :title="$t('message.operate')" width="200">
46
+ <template #default="{ row }">
47
+ <ut-button status="primary" content="edit" @tap="onEdit(row)" />
48
+ <ut-button status="warning" content="delete" @tap="onDel(row)" />
49
+ <ut-button
50
+ status="success"
51
+ content="add"
52
+ :disabled="row.enabled !== '1'"
53
+ @tap="onChildren(row)"
54
+ />
55
+ </template>
56
+ </vxe-table-column>
57
+ </vxe-table>
58
+ </div>
59
+ <!-- <ut-grid
60
+ ref="gridRef"
61
+ :columns="columns"
62
+ url="/upfm/v1/lov"
63
+ :default-params="{ parentId: record.id }"
64
+ :default-value="{ parentId: record.id }"
65
+ :events="onEvents"
66
+ /> -->
67
+ <ut-modal-form
68
+ v-if="showModal"
69
+ ref="xmodal"
70
+ :record="subRecord"
71
+ :items="subItems"
72
+ width="400"
73
+ height="280"
74
+ :data-status="modalType"
75
+ :title="$t('message.title.dictInfo', { name: record.dictName })"
76
+ @close="showModal = false"
77
+ @confirm="onConfirm"
78
+ />
79
+ </el-drawer>
80
+ </div>
81
+ </template>
82
+
83
+ <script setup lang="ts">
84
+ import { ref, onMounted } from 'vue';
85
+ import { useI18n } from 'vue-i18n';
86
+ import to from 'await-to-js';
87
+ import { VxeUI } from 'vxe-pc-ui';
88
+ import { successMessage, useRender } from '@utogether/utils';
89
+ import { getServiceApi } from '../../../api';
90
+ import { useSystemStoreHook } from '../../../store/modules/system';
91
+
92
+ interface IProps {
93
+ record: IRecord;
94
+ show: boolean;
95
+ }
96
+
97
+ const props = withDefaults(defineProps<IProps>(), {
98
+ record: (): IRecord => {
99
+ return {};
100
+ },
101
+ show: false
102
+ });
103
+ const renderHook = useRender();
104
+ const { t } = useI18n();
105
+
106
+ const URL = '/upfm/v1/lov';
107
+ const tableData = ref([]);
108
+ const loading = ref(false);
109
+ const showModal = ref(false);
110
+ const subRecord = ref<IRecord>({});
111
+ const temp = ref<IRecord>({});
112
+ const modalType = ref('add');
113
+ const subItems = [
114
+ { field: 'dictCode', title: 'message.udp.dictCode', required: true },
115
+ { field: 'dictName', title: 'message.udp.dictName', required: true },
116
+ { field: 'dictDesc', title: 'message.remark' },
117
+ {
118
+ field: 'enabled',
119
+ itemRender: renderHook.renderSwitch({ openValue: '1', closeValue: '0', defaultValue: '1' })
120
+ // itemRender: renderHook.renderDict({ code: 'SU.ENABLE', defaultValue: '1' })
121
+ // formatter: ['formatDict', 'SU.ENABLE']
122
+ }
123
+ ];
124
+
125
+ const onAdd = () => {
126
+ showModal.value = true;
127
+ modalType.value = 'add';
128
+ subRecord.value = {
129
+ dictCode: '',
130
+ dictName: '',
131
+ dictDesc: '',
132
+ enabled: '1'
133
+ };
134
+ temp.value = props.record;
135
+ };
136
+ const onChildren = row => {
137
+ showModal.value = true;
138
+ modalType.value = 'child';
139
+ subRecord.value = {
140
+ dictCode: '',
141
+ dictName: '',
142
+ dictDesc: '',
143
+ enabled: '1'
144
+ };
145
+ temp.value = JSON.parse(JSON.stringify(row));
146
+ };
147
+ const onDel = async row => {
148
+ const type = await VxeUI.modal.confirm(t('message.deleteRecord'));
149
+ if (type === 'confirm') {
150
+ await getServiceApi().delete(URL, [row]);
151
+ successMessage();
152
+ getDict();
153
+ }
154
+ };
155
+ const onEdit = async row => {
156
+ // const type = await VXETable.modal.confirm('此删除操作不可逆,确定继续?');
157
+ showModal.value = true;
158
+ modalType.value = 'edit';
159
+ temp.value = props.record;
160
+ subRecord.value = JSON.parse(JSON.stringify(row));
161
+ console.log({ subRecord });
162
+ };
163
+
164
+ const onConfirm = async () => {
165
+ const query = {
166
+ ...subRecord.value,
167
+ orgId: useSystemStoreHook().getOrgId,
168
+ organizationId: useSystemStoreHook().getOrganizationId,
169
+ parentId: subRecord.value.parentId || temp.value.id
170
+ };
171
+ let type = 'post';
172
+ if (['add', 'child'].includes(modalType.value)) {
173
+ type = 'post';
174
+ } else {
175
+ type = 'put';
176
+ }
177
+ loading.value = true;
178
+ const [err, res]: [Error, any] = await to(getServiceApi()[type](URL, [query]));
179
+ loading.value = false;
180
+ if (!err) {
181
+ console.log({ res });
182
+ showModal.value = false;
183
+ successMessage();
184
+ getDict();
185
+ }
186
+ };
187
+
188
+ const getDict = async () => {
189
+ const query = {
190
+ parentId: props.record.id
191
+ };
192
+ loading.value = true;
193
+ const [err, res]: [Error, any] = await to(getServiceApi().get(URL + '/children', query));
194
+ loading.value = false;
195
+ if (!err) {
196
+ tableData.value = res.list;
197
+ // status.value = 'update';
198
+ // successMessage();
199
+ }
200
+ };
201
+
202
+ const emit = defineEmits<{
203
+ (e: 'onClose'): void;
204
+ }>();
205
+
206
+ // 抽屉关闭
207
+ function handleClose() {
208
+ emit('onClose');
209
+ }
210
+
211
+ onMounted(() => {
212
+ getDict();
213
+ });
214
+ </script>
215
+
216
+ <style lang="scss">
217
+ .u-dict-config_wrapper {
218
+ .el-drawer__header {
219
+ margin-bottom: 0;
220
+ }
221
+ }
222
+ </style>