vue2-client 1.14.64 → 1.14.65

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 (369) hide show
  1. package/.cursorrules +19 -19
  2. package/.env.gaslink +19 -19
  3. package/.env.his +19 -19
  4. package/.env.liuli +19 -19
  5. package/.env.scada +19 -19
  6. package/.eslintrc.js +90 -90
  7. package/.history/public/his/editor/editor_20250606134713.html +51 -0
  8. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527173925.vue +509 -0
  9. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174316.vue +524 -0
  10. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174419.vue +524 -0
  11. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174422.vue +524 -0
  12. package/.history/src/base-client/components/common/XForm/XFormItem_20250508134122.vue +1320 -0
  13. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171604.vue +1332 -0
  14. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171613.vue +1331 -0
  15. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171703.vue +1331 -0
  16. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171720.vue +1331 -0
  17. package/.history/src/base-client/components/common/XForm/XFormItem_20250527174327.vue +1339 -0
  18. package/CHANGELOG.md +824 -824
  19. package/Components.md +60 -60
  20. package/Users/objecrt/af-vue2-client/src/base-client/components/his/XShiftSchedule/XShiftSchedule.vue +36 -0
  21. package/docs/Logic/345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +46 -45
  22. package/docs/LowCode/lowcode.md +155 -155
  23. package/docs/LowCode/lowcodeForDeveloper.md +230 -230
  24. package/docs/index.md +30 -30
  25. package/docs//345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +2 -1
  26. package/index.js +31 -31
  27. package/jest-transform-stub.js +8 -8
  28. package/jest.setup.js +7 -7
  29. package/jsconfig.json +19 -19
  30. package/package.json +1 -1
  31. package/public/his/editor/editor.html +51 -51
  32. package/public/his/editor/mock/bind_data.html +779 -779
  33. package/public/his/editor/mock/data_table.html +40 -40
  34. package/public/his/editor/mock/sign.html +75 -75
  35. package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
  36. package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
  37. package/public/his/editor/vender/date97/WdatePicker.js +677 -677
  38. package/public/his/editor/vender/date97/calendar.js +4 -4
  39. package/public/his/editor/vender/date97/lang/en.js +13 -13
  40. package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
  41. package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
  42. package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
  43. package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
  44. package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
  45. package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
  46. package/public/his/editor/vender/diff.js +1627 -1627
  47. package/public/his/editor/vender/editor.js +1 -1
  48. package/public/his/editor/vender/fabric.js +31187 -31187
  49. package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
  50. package/public/his/editor/vender/jquery/jquery.js +10872 -10872
  51. package/public/his/editor/vender/jquery/jquery.print.js +255 -255
  52. package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
  53. package/public/his/editor/vender/mui/mui.min.css +4 -4
  54. package/public/his/editor/vender/mui/mui.min.js +5 -5
  55. package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
  56. package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
  57. package/public/his/editor/vender/qrcode.js +7 -7
  58. package/public/his/editor/vender/requirejs/require.js +2145 -2145
  59. package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
  60. package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
  61. package/public/his/editor/vender/signature/jSignature.js +1486 -1486
  62. package/public/his/editor/vender/validator.js +5094 -5094
  63. package/public/his/editor/vender/weui/weui.css +5659 -5659
  64. package/public/his/editor/vender/weui/weui.min.css +4 -4
  65. package/public/his/editor/vender/weui/weui.min.js +11 -11
  66. package/public/index.html +27 -27
  67. package/src/ReportView.js +19 -19
  68. package/src/assets/img/querySlotDemo.svg +15 -15
  69. package/src/assets/svg/badtwo.svg +1 -1
  70. package/src/assets/svg/goodtwo.svg +1 -1
  71. package/src/base-client/components/AI/AskAiBtn.vue +136 -136
  72. package/src/base-client/components/AI/demo.vue +31 -31
  73. package/src/base-client/components/TreeList/TreeList.vue +91 -0
  74. package/src/base-client/components/TreeList/TreeNode.vue +81 -0
  75. package/src/base-client/components/common/AMisRender/index.js +3 -3
  76. package/src/base-client/components/common/AMisRender/index.vue +263 -263
  77. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  78. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  79. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  80. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  81. package/src/base-client/components/common/CitySelect/index.js +3 -3
  82. package/src/base-client/components/common/CitySelect/index.md +109 -109
  83. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  84. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  85. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  86. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  87. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  88. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  89. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  90. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  91. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  92. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  93. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  94. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  95. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  96. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  97. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  98. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  99. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  100. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  101. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  102. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  103. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  104. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  105. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  106. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  107. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  108. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  109. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  110. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  111. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  112. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  113. package/src/base-client/components/common/Recording/index.js +3 -3
  114. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  115. package/src/base-client/components/common/Tree/index.js +2 -2
  116. package/src/base-client/components/common/Upload/index.js +3 -3
  117. package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
  118. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  119. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +303 -303
  120. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  121. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  122. package/src/base-client/components/common/XAddReport/index.js +3 -3
  123. package/src/base-client/components/common/XAddReport/index.md +56 -56
  124. package/src/base-client/components/common/XBadge/XBadge.vue +94 -94
  125. package/src/base-client/components/common/XButtons/XButtonDemo.vue +28 -28
  126. package/src/base-client/components/common/XButtons/XButtons.vue +71 -71
  127. package/src/base-client/components/common/XButtons/index.js +3 -3
  128. package/src/base-client/components/common/XButtons/index.md +61 -61
  129. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  130. package/src/base-client/components/common/XCardSet/XTiltle.vue +191 -0
  131. package/src/base-client/components/common/XCheckList/XCheckList.vue +106 -106
  132. package/src/base-client/components/common/XCheckList/XCheckListDemo.vue +41 -41
  133. package/src/base-client/components/common/XDataCard/index.js +3 -3
  134. package/src/base-client/components/common/XDataCard/index.md +1 -1
  135. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  136. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  137. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  138. package/src/base-client/components/common/XDatePicker/demo.vue +153 -153
  139. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  140. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  141. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +238 -238
  142. package/src/base-client/components/common/XDetailsView/index.js +3 -3
  143. package/src/base-client/components/common/XForm/XStatusButton.vue +54 -54
  144. package/src/base-client/components/common/XForm/index.md +178 -178
  145. package/src/base-client/components/common/XForm/itemComponent/XClickChangeBtn/index.vue +49 -49
  146. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  147. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  148. package/src/base-client/components/common/XFormGroupDetails/XFormGroupDetails.vue +72 -72
  149. package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
  150. package/src/base-client/components/common/XFormTable/index.md +92 -92
  151. package/src/base-client/components/common/XImportExcel/XImportExcel.vue +167 -167
  152. package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
  153. package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
  154. package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
  155. package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
  156. package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
  157. package/src/base-client/components/common/XPrint/PrintBill.vue +302 -302
  158. package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
  159. package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
  160. package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
  161. package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
  162. package/src/base-client/components/common/XPrint/index.vue +97 -97
  163. package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
  164. package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
  165. package/src/base-client/components/common/XReport/index.js +3 -3
  166. package/src/base-client/components/common/XReport/index.md +44 -44
  167. package/src/base-client/components/common/XReport/print.js +186 -186
  168. package/src/base-client/components/common/XReportDrawer/index.js +3 -3
  169. package/src/base-client/components/common/XReportGrid/index.js +3 -3
  170. package/src/base-client/components/common/XReportGrid/index.md +44 -44
  171. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  172. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  173. package/src/base-client/components/common/XReportSlot/index.md +48 -48
  174. package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
  175. package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
  176. package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
  177. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  178. package/src/base-client/components/common/XStepView/index.js +3 -3
  179. package/src/base-client/components/common/XStepView/index.md +31 -31
  180. package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
  181. package/src/base-client/components/common/XTab/index.js +3 -3
  182. package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
  183. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  184. package/src/base-client/components/common/XTable/index.md +255 -255
  185. package/src/base-client/components/common/XTagGroup/index.vue +52 -52
  186. package/src/base-client/components/common/XTree/XTree.vue +424 -424
  187. package/src/base-client/components/common/XTree/index.js +3 -3
  188. package/src/base-client/components/common/XTree/index.md +36 -36
  189. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
  190. package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
  191. package/src/base-client/components/common/richTextModal/index.vue +56 -56
  192. package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
  193. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  194. package/src/base-client/components/his/XTextCard/XTextCard.vue +207 -207
  195. package/src/base-client/components/his/XTreeRows/TreeNode.vue +100 -100
  196. package/src/base-client/components/his/XTreeRows/XTreeRows.vue +197 -197
  197. package/src/base-client/components/his/threeTestOrders/dome.vue +53 -2
  198. package/src/base-client/components/his/threeTestOrders/editor.vue +111 -111
  199. package/src/base-client/components/his/threeTestOrders/index.md +0 -0
  200. package/src/base-client/components/his/threeTestOrders/textBox.vue +6 -12
  201. package/src/base-client/components/his/threeTestOrders/threeTestOrders.vue +55 -19
  202. package/src/base-client/components/index.js +51 -51
  203. package/src/base-client/components/layout/XPageView/XErrorView.vue +11 -11
  204. package/src/base-client/components/layout/XPageView/XPageView.vue +155 -155
  205. package/src/base-client/components/layout/XPageView/index.js +3 -3
  206. package/src/base-client/components/layout/XPageView/index.md +38 -38
  207. package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
  208. package/src/base-client/components/layout/XTreeView/index.js +3 -3
  209. package/src/base-client/components/layout/XTreeView/index.md +46 -46
  210. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  211. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  212. package/src/base-client/plugins/Config.js +19 -19
  213. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  214. package/src/base-client/plugins/Recording.js +258 -258
  215. package/src/base-client/plugins/index.js +23 -23
  216. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  217. package/src/components/Charts/Bar.vue +62 -62
  218. package/src/components/Charts/ChartCard.vue +134 -134
  219. package/src/components/Charts/Liquid.vue +67 -67
  220. package/src/components/Charts/MiniArea.vue +39 -39
  221. package/src/components/Charts/MiniBar.vue +39 -39
  222. package/src/components/Charts/MiniProgress.vue +75 -75
  223. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  224. package/src/components/Charts/Radar.vue +68 -68
  225. package/src/components/Charts/RankList.vue +77 -77
  226. package/src/components/Charts/TagCloud.vue +113 -113
  227. package/src/components/Charts/TransferBar.vue +64 -64
  228. package/src/components/Charts/Trend.vue +82 -82
  229. package/src/components/Charts/chart.less +12 -12
  230. package/src/components/Charts/smooth.area.less +13 -13
  231. package/src/components/CodeMirror/inedx.vue +118 -118
  232. package/src/components/CodeMirror/setting.js +40 -40
  233. package/src/components/HeightScanner/index.vue +571 -571
  234. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  235. package/src/components/NumberInfo/index.js +3 -3
  236. package/src/components/NumberInfo/index.less +54 -54
  237. package/src/components/NumberInfo/index.md +43 -43
  238. package/src/components/card/ChartCard.vue +79 -79
  239. package/src/components/chart/Bar.vue +60 -60
  240. package/src/components/chart/MiniArea.vue +67 -67
  241. package/src/components/chart/MiniBar.vue +59 -59
  242. package/src/components/chart/MiniProgress.vue +57 -57
  243. package/src/components/chart/Radar.vue +80 -80
  244. package/src/components/chart/RankingList.vue +60 -60
  245. package/src/components/chart/Trend.vue +79 -79
  246. package/src/components/chart/index.less +9 -9
  247. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  248. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  249. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  250. package/src/components/checkbox/index.js +9 -9
  251. package/src/components/exception/ExceptionPage.vue +70 -70
  252. package/src/components/g2Charts/constants.js +202 -202
  253. package/src/components/g2Charts/demo.vue +808 -808
  254. package/src/components/g2Charts/designer.vue +228 -228
  255. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  256. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  257. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  258. package/src/components/g2Charts/index.vue +397 -397
  259. package/src/components/index.js +36 -36
  260. package/src/components/input/IInput.vue +66 -66
  261. package/src/components/menu/SideMenu.vue +75 -75
  262. package/src/components/menu/menu.js +273 -273
  263. package/src/components/setting/Setting.vue +234 -234
  264. package/src/components/tool/AStepItem.vue +60 -60
  265. package/src/config/CreateQueryConfig.js +325 -325
  266. package/src/config/default/antd.config.js +89 -89
  267. package/src/config/default/setting.config.js +55 -55
  268. package/src/font-style/font.css +4 -4
  269. package/src/layouts/CommonLayout.vue +56 -56
  270. package/src/layouts/PageLayout.vue +151 -151
  271. package/src/layouts/SinglePageView.vue +136 -136
  272. package/src/layouts/header/AdminHeader.vue +132 -132
  273. package/src/layouts/header/HeaderNotice.vue +177 -177
  274. package/src/layouts/header/InstitutionDetail.vue +181 -181
  275. package/src/layouts/tabs/TabsHead.vue +189 -189
  276. package/src/layouts/tabs/TabsView.vue +389 -389
  277. package/src/lib.js +1 -1
  278. package/src/main.js +34 -34
  279. package/src/mock/extend/index.js +84 -84
  280. package/src/mock/goods/index.js +108 -108
  281. package/src/pages/AMisDemo/AMisDemo.vue +325 -325
  282. package/src/pages/AMisDemo/AMisDemo2.vue +74 -74
  283. package/src/pages/DefaultExample/index.vue +77 -77
  284. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  285. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  286. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  287. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  288. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  289. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  290. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  291. package/src/pages/DynamicStatistics/index.vue +282 -282
  292. package/src/pages/Example/childIndex.vue +15 -15
  293. package/src/pages/Example/index.vue +30 -30
  294. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  295. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  296. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  297. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  298. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  299. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  300. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  301. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  302. package/src/pages/Recording/index.vue +77 -77
  303. package/src/pages/ServiceReview/index.vue +284 -284
  304. package/src/pages/SubExample/index.vue +26 -26
  305. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  306. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformationDetails.vue +276 -276
  307. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandleReso.vue +975 -975
  308. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkOrderParentDetails.vue +233 -233
  309. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowDetailResso.vue +261 -261
  310. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowListResolution.vue +248 -248
  311. package/src/pages/XPageViewExample/index.vue +38 -38
  312. package/src/pages/XReportView/index.vue +64 -64
  313. package/src/pages/XTreeOneProExample/index.vue +67 -67
  314. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  315. package/src/pages/login/Login.vue +378 -378
  316. package/src/pages/login/LoginV3.vue +389 -389
  317. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  318. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  319. package/src/pages/report/ReportTable.js +124 -124
  320. package/src/pages/resourceManage/orgListManage.vue +98 -98
  321. package/src/pages/system/dictionary/index.vue +44 -44
  322. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  323. package/src/pages/system/monitor/operLog/index.vue +37 -37
  324. package/src/pages/system/settings/modifyPassword.vue +117 -117
  325. package/src/pages/system/ticket/index.vue +480 -480
  326. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  327. package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
  328. package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
  329. package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
  330. package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
  331. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
  332. package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
  333. package/src/plugins/EventLogPlugin.js +33 -33
  334. package/src/plugins/FindParentsData.js +17 -17
  335. package/src/router/async/config.async.js +35 -35
  336. package/src/router/index.js +27 -27
  337. package/src/router.js +19 -19
  338. package/src/services/DataModel.js +30 -30
  339. package/src/services/LodopFuncs.js +137 -137
  340. package/src/services/api/TicketDetailsViewApi.js +46 -46
  341. package/src/services/api/cas.js +79 -79
  342. package/src/services/api/common.js +346 -346
  343. package/src/services/api/entity.js +18 -18
  344. package/src/services/api/index.js +17 -17
  345. package/src/services/api/workFlow.js +61 -61
  346. package/src/store/modules/account.js +115 -115
  347. package/src/store/modules/index.js +5 -5
  348. package/src/store/modules/lowCode.js +33 -33
  349. package/src/store/modules/setting.js +119 -119
  350. package/src/theme/default/style.less +58 -58
  351. package/src/theme/global.less +159 -159
  352. package/src/utils/authority-utils.js +85 -85
  353. package/src/utils/errorCode.js +6 -6
  354. package/src/utils/formatter.js +74 -74
  355. package/src/utils/htmlToPDF.js +108 -108
  356. package/src/utils/htmlToPDFApi.js +5 -5
  357. package/src/utils/login.js +188 -188
  358. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  359. package/src/utils/lowcode/lowcodeLog.js +29 -29
  360. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  361. package/src/utils/lowcode/registerComponentForEditor.js +1 -1
  362. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  363. package/src/utils/map-utils.js +47 -47
  364. package/src/utils/reg.js +95 -95
  365. package/src/utils/runEvalFunction.js +14 -14
  366. package/src/utils/theme-color-replacer-extend.js +92 -92
  367. package/src/utils/util.js +329 -329
  368. package/src/utils/waterMark.js +31 -31
  369. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
@@ -1 +1 @@
1
- export {}
1
+ export {}
@@ -1,11 +1,11 @@
1
- import XFormTable from '@vue2-client/base-client/components/common/XFormTable/XFormTable.vue'
2
- import XTreeOne from '@vue2-client/base-client/components/common/XTreeOne/XTreeOne.vue'
3
- import XAddNativeForm from '@vue2-client/base-client/components/common/XAddNativeForm/XAddNativeForm.vue'
4
- import XDescriptions from '@vue2-client/base-client/components/common/XDescriptions/XDescriptions.vue'
5
-
6
- export {
7
- XFormTable,
8
- XTreeOne,
9
- XAddNativeForm,
10
- XDescriptions
11
- }
1
+ import XFormTable from '@vue2-client/base-client/components/common/XFormTable/XFormTable.vue'
2
+ import XTreeOne from '@vue2-client/base-client/components/common/XTreeOne/XTreeOne.vue'
3
+ import XAddNativeForm from '@vue2-client/base-client/components/common/XAddNativeForm/XAddNativeForm.vue'
4
+ import XDescriptions from '@vue2-client/base-client/components/common/XDescriptions/XDescriptions.vue'
5
+
6
+ export {
7
+ XFormTable,
8
+ XTreeOne,
9
+ XAddNativeForm,
10
+ XDescriptions
11
+ }
@@ -1,47 +1,47 @@
1
- import AMapLoader from '@amap/amap-jsapi-loader'
2
- let Amap
3
- async function GetGDMap (secretKey, key) {
4
- if (!Amap) {
5
- window._AMapSecurityConfig = {
6
- securityJsCode: secretKey
7
- }
8
- // 解决高德地图加载报错 ---> 禁止多种API加载方式混用
9
- AMapLoader.reset()
10
- Amap = await AMapLoader.load({
11
- key: key, // 申请好的Web端开发者Key,首次调用 load 时必填
12
- version: '2.0', // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
13
- plugins: ['AMap.IndexCluster', 'AMP.MarkerCluster', 'AMap.InfoWindow', 'AMap.HeatMap', 'AMap.HawkEye', 'AMap.DistrictSearch',
14
- 'AMap.ToolBar', 'AMap.Geolocation', 'AMap.MouseTool',
15
- 'AMap.Geocoder', 'AMap.MarkerClusterer', 'AMap.AutoComplete', 'AMap.Scale'], // 需要使用的的插件列表,如比例尺'AMap.Scale'等
16
- AMapUI: {
17
- version: '1.1', // AMapUI 缺省 1.1
18
- plugins: ['misc/PositionPicker'] // 需要加载的 AMapUI ui插件
19
- }
20
- })
21
- }
22
- return Amap
23
- }
24
-
25
- async function getGDMap (address) {
26
- new (await GetGDMap()).Geocoder({
27
- radius: 500 // 范围,默认:500
28
- }).getLocation(address, function (status, result) {
29
- if (status === 'complete' && result.geocodes.length) {
30
- return ({ lng: result.geocodes[0].location.lng, lat: result.geocodes[0].location.lat })
31
- } else {
32
- // eslint-disable-next-line prefer-promise-reject-errors
33
- throw new Error('根据经纬度查询地址失败')
34
- }
35
- })
36
- }
37
-
38
- async function GetLocation (address) {
39
- return new Promise((resolve, reject) => {
40
- try {
41
- resolve(getGDMap(address))
42
- } catch (e) {
43
- reject(e)
44
- }
45
- })
46
- }
47
- export { GetGDMap, GetLocation }
1
+ import AMapLoader from '@amap/amap-jsapi-loader'
2
+ let Amap
3
+ async function GetGDMap (secretKey, key) {
4
+ if (!Amap) {
5
+ window._AMapSecurityConfig = {
6
+ securityJsCode: secretKey
7
+ }
8
+ // 解决高德地图加载报错 ---> 禁止多种API加载方式混用
9
+ AMapLoader.reset()
10
+ Amap = await AMapLoader.load({
11
+ key: key, // 申请好的Web端开发者Key,首次调用 load 时必填
12
+ version: '2.0', // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
13
+ plugins: ['AMap.IndexCluster', 'AMP.MarkerCluster', 'AMap.InfoWindow', 'AMap.HeatMap', 'AMap.HawkEye', 'AMap.DistrictSearch',
14
+ 'AMap.ToolBar', 'AMap.Geolocation', 'AMap.MouseTool',
15
+ 'AMap.Geocoder', 'AMap.MarkerClusterer', 'AMap.AutoComplete', 'AMap.Scale'], // 需要使用的的插件列表,如比例尺'AMap.Scale'等
16
+ AMapUI: {
17
+ version: '1.1', // AMapUI 缺省 1.1
18
+ plugins: ['misc/PositionPicker'] // 需要加载的 AMapUI ui插件
19
+ }
20
+ })
21
+ }
22
+ return Amap
23
+ }
24
+
25
+ async function getGDMap (address) {
26
+ new (await GetGDMap()).Geocoder({
27
+ radius: 500 // 范围,默认:500
28
+ }).getLocation(address, function (status, result) {
29
+ if (status === 'complete' && result.geocodes.length) {
30
+ return ({ lng: result.geocodes[0].location.lng, lat: result.geocodes[0].location.lat })
31
+ } else {
32
+ // eslint-disable-next-line prefer-promise-reject-errors
33
+ throw new Error('根据经纬度查询地址失败')
34
+ }
35
+ })
36
+ }
37
+
38
+ async function GetLocation (address) {
39
+ return new Promise((resolve, reject) => {
40
+ try {
41
+ resolve(getGDMap(address))
42
+ } catch (e) {
43
+ reject(e)
44
+ }
45
+ })
46
+ }
47
+ export { GetGDMap, GetLocation }
package/src/utils/reg.js CHANGED
@@ -1,95 +1,95 @@
1
- /** 手机号 */
2
- export const REG_PHONE =
3
- /^[1](([3][0-9])|([4][01456789])|([5][012356789])|([6][2567])|([7][0-8])|([8][0-9])|([9][012356789]))[0-9]{8}$/
4
-
5
- /** 邮箱 */
6
- export const REG_EMAIL = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/
7
-
8
- /** url */
9
- export const REG_URL =
10
- /(((^https?:(?:\/\/)?)(?:[-;:&=+$,\w]+@)?[A-Za-z0-9.-]+(?::\d+)?|(?:www.|[-;:&=+$,\w]+@)[A-Za-z0-9.-]+)((?:\/[+~%/.\w-_]*)?\??(?:[-+=&;%@.\w_]*)#?(?:[\w]*))?)$/
11
-
12
- /** 身份证号校验 */
13
- export function checkIdNumber (value) {
14
- const psidno = String(value)
15
- // 1.校验身份证号格式和长度
16
- const regPsidno = /^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[X])$)$/
17
- if (!regPsidno.test(psidno)) {
18
- return false
19
- }
20
- // 2.校验前两位的省份编码是否正确
21
- const province = { 11: '北京', 12: '天津', 13: '河北', 14: '山西', 15: '内蒙古', 21: '辽宁', 22: '吉林', 23: '黑龙江 ', 31: '上海', 32: '江苏', 33: '浙江', 34: '安徽', 35: '福建', 36: '江西', 37: '山东', 41: '河南', 42: '湖北 ', 43: '湖南', 44: '广东', 45: '广西', 46: '海南', 50: '重庆', 51: '四川', 52: '贵州', 53: '云南', 54: '西藏 ', 61: '陕西', 62: '甘肃', 63: '青海', 64: '宁夏', 65: '新疆', 71: '台湾', 81: '香港', 82: '澳门', 91: '国外' }
22
- if (!province[Number(psidno.slice(0, 2))]) {
23
- return false
24
- }
25
- // 3.校验出生日期
26
- if (psidno.length === 15) {
27
- // 15位号码 省(2位)市(2位)县(2位)年(2位)月(2位)日(2位)校验码(3位)
28
- const reg = /^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/
29
- const arrSplit = psidno.match(reg)
30
- // 15位号码在年份前补 19 或 20
31
- const year = Number(arrSplit[2].charAt(0)) > 0 ? '19' + arrSplit[2] : '20' + arrSplit[2]
32
- const month = arrSplit[3]
33
- const day = arrSplit[4]
34
- if (!validateBirthday(year, month, day)) {
35
- return false
36
- }
37
- } else if (psidno.length === 18) {
38
- // 18位号码 省(2位)市(2位)县(2位)年(4位)月(2位)日(2位)校验码(4位)
39
- const reg = /^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/
40
- const arrSplit = psidno.match(reg)
41
- const year = arrSplit[2]
42
- const month = arrSplit[3]
43
- const day = arrSplit[4]
44
- if (!validateBirthday(year, month, day)) {
45
- return false
46
- }
47
- } else {
48
- return false
49
- }
50
- // 校验出生日期是否合理
51
- function validateBirthday (year, month, day) {
52
- year = Number(year) // 年
53
- month = Number(month) // 月
54
- day = Number(day) // 日
55
- const nowTime = new Date().getTime() // 当前时间戳
56
- const birthTime = new Date(`${year}-${month}-${day}`).getTime() // 获取出生日期的时间戳
57
- // 不能是明天出生的吧
58
- if (birthTime > nowTime) {
59
- return false
60
- }
61
- // 一般人活不到150岁吧
62
- const nowYear = new Date().getFullYear()
63
- if ((nowYear - year) > 150) {
64
- return false
65
- }
66
- // 不能是13月出生的吧
67
- if (month < 1 || month > 12) {
68
- return false
69
- }
70
- // 不能是2月30号、4月31号、5月32号出生的吧
71
- const date = new Date(year, month, 0) // 获取当月的最后一天
72
- if (day < 1 || day > date.getDate()) {
73
- return false
74
- }
75
- return true
76
- }
77
- // 4.18位号码校验生成的校验码
78
- if (psidno.length === 18) {
79
- const Wi = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2] // 加权因子
80
- const parity = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'] // 校验码
81
- let sum = 0
82
- for (let i = 0; i < 17; i++) {
83
- sum += Number(psidno.charAt(i)) * Wi[i]
84
- }
85
- if (parity[sum % 11] !== psidno[17]) {
86
- return false
87
- }
88
- }
89
- return true
90
- }
91
- /** 座机号 */
92
- export const REG_LANDLINE = /\d{3}-\d{8}|\d{4}-\d{7}/
93
-
94
- /** 营业执照 */
95
- export const REG_BUSINESS_LICENSE = /^[0-9a-zA-Z]{15}$/
1
+ /** 手机号 */
2
+ export const REG_PHONE =
3
+ /^[1](([3][0-9])|([4][01456789])|([5][012356789])|([6][2567])|([7][0-8])|([8][0-9])|([9][012356789]))[0-9]{8}$/
4
+
5
+ /** 邮箱 */
6
+ export const REG_EMAIL = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/
7
+
8
+ /** url */
9
+ export const REG_URL =
10
+ /(((^https?:(?:\/\/)?)(?:[-;:&=+$,\w]+@)?[A-Za-z0-9.-]+(?::\d+)?|(?:www.|[-;:&=+$,\w]+@)[A-Za-z0-9.-]+)((?:\/[+~%/.\w-_]*)?\??(?:[-+=&;%@.\w_]*)#?(?:[\w]*))?)$/
11
+
12
+ /** 身份证号校验 */
13
+ export function checkIdNumber (value) {
14
+ const psidno = String(value)
15
+ // 1.校验身份证号格式和长度
16
+ const regPsidno = /^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[X])$)$/
17
+ if (!regPsidno.test(psidno)) {
18
+ return false
19
+ }
20
+ // 2.校验前两位的省份编码是否正确
21
+ const province = { 11: '北京', 12: '天津', 13: '河北', 14: '山西', 15: '内蒙古', 21: '辽宁', 22: '吉林', 23: '黑龙江 ', 31: '上海', 32: '江苏', 33: '浙江', 34: '安徽', 35: '福建', 36: '江西', 37: '山东', 41: '河南', 42: '湖北 ', 43: '湖南', 44: '广东', 45: '广西', 46: '海南', 50: '重庆', 51: '四川', 52: '贵州', 53: '云南', 54: '西藏 ', 61: '陕西', 62: '甘肃', 63: '青海', 64: '宁夏', 65: '新疆', 71: '台湾', 81: '香港', 82: '澳门', 91: '国外' }
22
+ if (!province[Number(psidno.slice(0, 2))]) {
23
+ return false
24
+ }
25
+ // 3.校验出生日期
26
+ if (psidno.length === 15) {
27
+ // 15位号码 省(2位)市(2位)县(2位)年(2位)月(2位)日(2位)校验码(3位)
28
+ const reg = /^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/
29
+ const arrSplit = psidno.match(reg)
30
+ // 15位号码在年份前补 19 或 20
31
+ const year = Number(arrSplit[2].charAt(0)) > 0 ? '19' + arrSplit[2] : '20' + arrSplit[2]
32
+ const month = arrSplit[3]
33
+ const day = arrSplit[4]
34
+ if (!validateBirthday(year, month, day)) {
35
+ return false
36
+ }
37
+ } else if (psidno.length === 18) {
38
+ // 18位号码 省(2位)市(2位)县(2位)年(4位)月(2位)日(2位)校验码(4位)
39
+ const reg = /^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/
40
+ const arrSplit = psidno.match(reg)
41
+ const year = arrSplit[2]
42
+ const month = arrSplit[3]
43
+ const day = arrSplit[4]
44
+ if (!validateBirthday(year, month, day)) {
45
+ return false
46
+ }
47
+ } else {
48
+ return false
49
+ }
50
+ // 校验出生日期是否合理
51
+ function validateBirthday (year, month, day) {
52
+ year = Number(year) // 年
53
+ month = Number(month) // 月
54
+ day = Number(day) // 日
55
+ const nowTime = new Date().getTime() // 当前时间戳
56
+ const birthTime = new Date(`${year}-${month}-${day}`).getTime() // 获取出生日期的时间戳
57
+ // 不能是明天出生的吧
58
+ if (birthTime > nowTime) {
59
+ return false
60
+ }
61
+ // 一般人活不到150岁吧
62
+ const nowYear = new Date().getFullYear()
63
+ if ((nowYear - year) > 150) {
64
+ return false
65
+ }
66
+ // 不能是13月出生的吧
67
+ if (month < 1 || month > 12) {
68
+ return false
69
+ }
70
+ // 不能是2月30号、4月31号、5月32号出生的吧
71
+ const date = new Date(year, month, 0) // 获取当月的最后一天
72
+ if (day < 1 || day > date.getDate()) {
73
+ return false
74
+ }
75
+ return true
76
+ }
77
+ // 4.18位号码校验生成的校验码
78
+ if (psidno.length === 18) {
79
+ const Wi = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2] // 加权因子
80
+ const parity = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'] // 校验码
81
+ let sum = 0
82
+ for (let i = 0; i < 17; i++) {
83
+ sum += Number(psidno.charAt(i)) * Wi[i]
84
+ }
85
+ if (parity[sum % 11] !== psidno[17]) {
86
+ return false
87
+ }
88
+ }
89
+ return true
90
+ }
91
+ /** 座机号 */
92
+ export const REG_LANDLINE = /\d{3}-\d{8}|\d{4}-\d{7}/
93
+
94
+ /** 营业执照 */
95
+ export const REG_BUSINESS_LICENSE = /^[0-9a-zA-Z]{15}$/
@@ -1,14 +1,14 @@
1
- export function executeStrFunction (funcString, args) {
2
- // 使用 eval 执行传入的函数字符串
3
- // eslint-disable-next-line no-eval
4
- return eval(`(${funcString})`)(...args)
5
- }
6
-
7
- export function executeStrFunctionByContext (context, fnStr, args) {
8
- // 使用 new Function 创建函数,并绑定 context 作为 this
9
- // eslint-disable-next-line no-eval,no-new-func
10
- const fn = new Function(`return (${fnStr});`)()
11
-
12
- // 使用 bind 绑定 context,并立即调用
13
- return fn.bind(context)(...args)
14
- }
1
+ export function executeStrFunction (funcString, args) {
2
+ // 使用 eval 执行传入的函数字符串
3
+ // eslint-disable-next-line no-eval
4
+ return eval(`(${funcString})`)(...args)
5
+ }
6
+
7
+ export function executeStrFunctionByContext (context, fnStr, args) {
8
+ // 使用 new Function 创建函数,并绑定 context 作为 this
9
+ // eslint-disable-next-line no-eval,no-new-func
10
+ const fn = new Function(`return (${fnStr});`)()
11
+
12
+ // 使用 bind 绑定 context,并立即调用
13
+ return fn.bind(context)(...args)
14
+ }
@@ -1,92 +1,92 @@
1
- const { cssResolve } = require('../config/replacer')
2
- // 修正 webpack-theme-color-replacer 插件提取的 css 结果
3
- function resolveCss (output, srcArr) {
4
- const regExps = []
5
- // 提取 resolve 配置中所有的正则配置
6
- Object.keys(cssResolve).forEach(key => {
7
- let isRegExp
8
- let reg = {}
9
- try {
10
- // eslint-disable-next-line no-eval
11
- reg = eval(key)
12
- isRegExp = reg instanceof RegExp
13
- } catch (e) {
14
- isRegExp = false
15
- }
16
- if (isRegExp) {
17
- regExps.push([reg, cssResolve[key]])
18
- }
19
- })
20
-
21
- // 去重
22
- srcArr = dropDuplicate(srcArr)
23
-
24
- // 处理 css
25
- const outArr = []
26
- srcArr.forEach(text => {
27
- // 转换为 css 对象
28
- const cssObj = parseCssObj(text)
29
- // 根据selector匹配配置,匹配成功,则按配置处理 css
30
- if (cssResolve[cssObj.selector] !== undefined) {
31
- const cfg = cssResolve[cssObj.selector]
32
- if (cfg) {
33
- outArr.push(cfg.resolve(text, cssObj))
34
- }
35
- } else {
36
- let cssText = ''
37
- // 匹配不成功,则测试是否有匹配的正则配置,有则按正则对应的配置处理
38
- for (const regExp of regExps) {
39
- if (regExp[0].test(cssObj.selector)) {
40
- const cssCfg = regExp[1]
41
- cssText = cssCfg ? cssCfg.resolve(text, cssObj) : ''
42
- break
43
- }
44
- // 未匹配到正则,则设置 cssText 为默认的 css(即不处理)
45
- cssText = text
46
- }
47
- if (cssText !== '') {
48
- outArr.push(cssText)
49
- }
50
- }
51
- })
52
- output = outArr.join('\n')
53
- return output
54
- }
55
-
56
- // 数组去重
57
- function dropDuplicate (arr) {
58
- const map = {}
59
- const r = []
60
- for (const s of arr) {
61
- if (!map[s]) {
62
- r.push(s)
63
- map[s] = 1
64
- }
65
- }
66
- return r
67
- }
68
-
69
- /**
70
- * 从字符串解析 css 对象
71
- * @param cssText
72
- * @returns {{
73
- * name: String,
74
- * rules: Array[String],
75
- * toText: function
76
- * }}
77
- */
78
- function parseCssObj (cssText) {
79
- const css = {}
80
- const ruleIndex = cssText.indexOf('{')
81
- css.selector = cssText.substring(0, ruleIndex)
82
- const ruleBody = cssText.substring(ruleIndex + 1, cssText.length - 1)
83
- css.rules = ruleBody.split(';')
84
- css.toText = function () {
85
- let body = ''
86
- this.rules.forEach(item => { body += item + ';' })
87
- return `${this.selector}{${body}}`
88
- }
89
- return css
90
- }
91
-
92
- module.exports = { resolveCss }
1
+ const { cssResolve } = require('../config/replacer')
2
+ // 修正 webpack-theme-color-replacer 插件提取的 css 结果
3
+ function resolveCss (output, srcArr) {
4
+ const regExps = []
5
+ // 提取 resolve 配置中所有的正则配置
6
+ Object.keys(cssResolve).forEach(key => {
7
+ let isRegExp
8
+ let reg = {}
9
+ try {
10
+ // eslint-disable-next-line no-eval
11
+ reg = eval(key)
12
+ isRegExp = reg instanceof RegExp
13
+ } catch (e) {
14
+ isRegExp = false
15
+ }
16
+ if (isRegExp) {
17
+ regExps.push([reg, cssResolve[key]])
18
+ }
19
+ })
20
+
21
+ // 去重
22
+ srcArr = dropDuplicate(srcArr)
23
+
24
+ // 处理 css
25
+ const outArr = []
26
+ srcArr.forEach(text => {
27
+ // 转换为 css 对象
28
+ const cssObj = parseCssObj(text)
29
+ // 根据selector匹配配置,匹配成功,则按配置处理 css
30
+ if (cssResolve[cssObj.selector] !== undefined) {
31
+ const cfg = cssResolve[cssObj.selector]
32
+ if (cfg) {
33
+ outArr.push(cfg.resolve(text, cssObj))
34
+ }
35
+ } else {
36
+ let cssText = ''
37
+ // 匹配不成功,则测试是否有匹配的正则配置,有则按正则对应的配置处理
38
+ for (const regExp of regExps) {
39
+ if (regExp[0].test(cssObj.selector)) {
40
+ const cssCfg = regExp[1]
41
+ cssText = cssCfg ? cssCfg.resolve(text, cssObj) : ''
42
+ break
43
+ }
44
+ // 未匹配到正则,则设置 cssText 为默认的 css(即不处理)
45
+ cssText = text
46
+ }
47
+ if (cssText !== '') {
48
+ outArr.push(cssText)
49
+ }
50
+ }
51
+ })
52
+ output = outArr.join('\n')
53
+ return output
54
+ }
55
+
56
+ // 数组去重
57
+ function dropDuplicate (arr) {
58
+ const map = {}
59
+ const r = []
60
+ for (const s of arr) {
61
+ if (!map[s]) {
62
+ r.push(s)
63
+ map[s] = 1
64
+ }
65
+ }
66
+ return r
67
+ }
68
+
69
+ /**
70
+ * 从字符串解析 css 对象
71
+ * @param cssText
72
+ * @returns {{
73
+ * name: String,
74
+ * rules: Array[String],
75
+ * toText: function
76
+ * }}
77
+ */
78
+ function parseCssObj (cssText) {
79
+ const css = {}
80
+ const ruleIndex = cssText.indexOf('{')
81
+ css.selector = cssText.substring(0, ruleIndex)
82
+ const ruleBody = cssText.substring(ruleIndex + 1, cssText.length - 1)
83
+ css.rules = ruleBody.split(';')
84
+ css.toText = function () {
85
+ let body = ''
86
+ this.rules.forEach(item => { body += item + ';' })
87
+ return `${this.selector}{${body}}`
88
+ }
89
+ return css
90
+ }
91
+
92
+ module.exports = { resolveCss }