vue2-client 1.14.56 → 1.14.58

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 (368) 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/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527173925.vue +509 -0
  8. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174316.vue +524 -0
  9. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174419.vue +524 -0
  10. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174422.vue +524 -0
  11. package/.history/src/base-client/components/common/XForm/XFormItem_20250508134122.vue +1320 -0
  12. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171604.vue +1332 -0
  13. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171613.vue +1331 -0
  14. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171703.vue +1331 -0
  15. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171720.vue +1331 -0
  16. package/.history/src/base-client/components/common/XForm/XFormItem_20250527174327.vue +1339 -0
  17. package/CHANGELOG.md +824 -824
  18. package/Components.md +60 -60
  19. package/Users/objecrt/af-vue2-client/src/base-client/components/his/XShiftSchedule/XShiftSchedule.vue +36 -0
  20. package/docs/Logic/345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +46 -45
  21. package/docs/LowCode/lowcode.md +155 -155
  22. package/docs/LowCode/lowcodeForDeveloper.md +230 -230
  23. package/docs/index.md +30 -30
  24. package/docs//345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +2 -1
  25. package/index.js +31 -31
  26. package/jest-transform-stub.js +8 -8
  27. package/jest.setup.js +7 -7
  28. package/jsconfig.json +19 -19
  29. package/package.json +1 -1
  30. package/public/his/editor/editor.html +51 -51
  31. package/public/his/editor/mock/bind_data.html +779 -779
  32. package/public/his/editor/mock/data_table.html +40 -40
  33. package/public/his/editor/mock/sign.html +75 -75
  34. package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
  35. package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
  36. package/public/his/editor/vender/date97/WdatePicker.js +677 -677
  37. package/public/his/editor/vender/date97/calendar.js +4 -4
  38. package/public/his/editor/vender/date97/lang/en.js +13 -13
  39. package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
  40. package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
  41. package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
  42. package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
  43. package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
  44. package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
  45. package/public/his/editor/vender/diff.js +1627 -1627
  46. package/public/his/editor/vender/editor.js +1 -1
  47. package/public/his/editor/vender/fabric.js +31187 -31187
  48. package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
  49. package/public/his/editor/vender/jquery/jquery.js +10872 -10872
  50. package/public/his/editor/vender/jquery/jquery.print.js +255 -255
  51. package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
  52. package/public/his/editor/vender/mui/mui.min.css +4 -4
  53. package/public/his/editor/vender/mui/mui.min.js +5 -5
  54. package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
  55. package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
  56. package/public/his/editor/vender/qrcode.js +7 -7
  57. package/public/his/editor/vender/requirejs/require.js +2145 -2145
  58. package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
  59. package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
  60. package/public/his/editor/vender/signature/jSignature.js +1486 -1486
  61. package/public/his/editor/vender/validator.js +5094 -5094
  62. package/public/his/editor/vender/weui/weui.css +5659 -5659
  63. package/public/his/editor/vender/weui/weui.min.css +4 -4
  64. package/public/his/editor/vender/weui/weui.min.js +11 -11
  65. package/public/index.html +27 -27
  66. package/src/ReportView.js +19 -19
  67. package/src/assets/img/querySlotDemo.svg +15 -15
  68. package/src/assets/svg/badtwo.svg +1 -1
  69. package/src/assets/svg/goodtwo.svg +1 -1
  70. package/src/base-client/components/AI/AskAiBtn.vue +136 -136
  71. package/src/base-client/components/AI/demo.vue +31 -31
  72. package/src/base-client/components/TreeList/TreeList.vue +91 -0
  73. package/src/base-client/components/TreeList/TreeNode.vue +81 -0
  74. package/src/base-client/components/common/AMisRender/index.js +3 -3
  75. package/src/base-client/components/common/AMisRender/index.vue +263 -263
  76. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  77. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  78. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  79. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  80. package/src/base-client/components/common/CitySelect/index.js +3 -3
  81. package/src/base-client/components/common/CitySelect/index.md +109 -109
  82. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  83. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  84. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  85. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  86. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  87. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  88. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  89. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  90. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  91. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  92. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  93. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  94. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  95. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  96. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  97. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  98. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  99. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  100. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  101. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  102. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  103. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  104. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  105. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  106. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  107. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  108. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  109. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  110. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  111. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  112. package/src/base-client/components/common/Recording/index.js +3 -3
  113. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  114. package/src/base-client/components/common/Tree/index.js +2 -2
  115. package/src/base-client/components/common/Upload/index.js +3 -3
  116. package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
  117. package/src/base-client/components/common/XAddNativeForm/demo.vue +5 -2
  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/XTab.vue +3 -3
  181. package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
  182. package/src/base-client/components/common/XTab/index.js +3 -3
  183. package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
  184. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  185. package/src/base-client/components/common/XTable/index.md +255 -255
  186. package/src/base-client/components/common/XTagGroup/index.vue +52 -52
  187. package/src/base-client/components/common/XTree/XTree.vue +424 -424
  188. package/src/base-client/components/common/XTree/index.js +3 -3
  189. package/src/base-client/components/common/XTree/index.md +36 -36
  190. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
  191. package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
  192. package/src/base-client/components/common/richTextModal/index.vue +56 -56
  193. package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
  194. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  195. package/src/base-client/components/his/XTextCard/XTextCard.vue +207 -207
  196. package/src/base-client/components/his/XTreeRows/TreeNode.vue +100 -100
  197. package/src/base-client/components/his/XTreeRows/XTreeRows.vue +197 -197
  198. package/src/base-client/components/his/threeTestOrders/editor.vue +111 -111
  199. package/src/base-client/components/his/threeTestOrders/textBox.vue +463 -463
  200. package/src/base-client/components/index.js +51 -51
  201. package/src/base-client/components/layout/XPageView/XErrorView.vue +11 -11
  202. package/src/base-client/components/layout/XPageView/XPageView.vue +155 -155
  203. package/src/base-client/components/layout/XPageView/index.js +3 -3
  204. package/src/base-client/components/layout/XPageView/index.md +38 -38
  205. package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
  206. package/src/base-client/components/layout/XTreeView/index.js +3 -3
  207. package/src/base-client/components/layout/XTreeView/index.md +46 -46
  208. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  209. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  210. package/src/base-client/plugins/Config.js +19 -19
  211. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  212. package/src/base-client/plugins/Recording.js +258 -258
  213. package/src/base-client/plugins/index.js +23 -23
  214. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  215. package/src/components/Charts/Bar.vue +62 -62
  216. package/src/components/Charts/ChartCard.vue +134 -134
  217. package/src/components/Charts/Liquid.vue +67 -67
  218. package/src/components/Charts/MiniArea.vue +39 -39
  219. package/src/components/Charts/MiniBar.vue +39 -39
  220. package/src/components/Charts/MiniProgress.vue +75 -75
  221. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  222. package/src/components/Charts/Radar.vue +68 -68
  223. package/src/components/Charts/RankList.vue +77 -77
  224. package/src/components/Charts/TagCloud.vue +113 -113
  225. package/src/components/Charts/TransferBar.vue +64 -64
  226. package/src/components/Charts/Trend.vue +82 -82
  227. package/src/components/Charts/chart.less +12 -12
  228. package/src/components/Charts/smooth.area.less +13 -13
  229. package/src/components/CodeMirror/inedx.vue +118 -118
  230. package/src/components/CodeMirror/setting.js +40 -40
  231. package/src/components/HeightScanner/index.vue +571 -571
  232. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  233. package/src/components/NumberInfo/index.js +3 -3
  234. package/src/components/NumberInfo/index.less +54 -54
  235. package/src/components/NumberInfo/index.md +43 -43
  236. package/src/components/card/ChartCard.vue +79 -79
  237. package/src/components/chart/Bar.vue +60 -60
  238. package/src/components/chart/MiniArea.vue +67 -67
  239. package/src/components/chart/MiniBar.vue +59 -59
  240. package/src/components/chart/MiniProgress.vue +57 -57
  241. package/src/components/chart/Radar.vue +80 -80
  242. package/src/components/chart/RankingList.vue +60 -60
  243. package/src/components/chart/Trend.vue +79 -79
  244. package/src/components/chart/index.less +9 -9
  245. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  246. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  247. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  248. package/src/components/checkbox/index.js +9 -9
  249. package/src/components/exception/ExceptionPage.vue +70 -70
  250. package/src/components/g2Charts/constants.js +202 -202
  251. package/src/components/g2Charts/demo.vue +808 -808
  252. package/src/components/g2Charts/designer.vue +228 -228
  253. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  254. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  255. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  256. package/src/components/g2Charts/index.vue +397 -397
  257. package/src/components/index.js +36 -36
  258. package/src/components/input/IInput.vue +66 -66
  259. package/src/components/menu/SideMenu.vue +75 -75
  260. package/src/components/menu/menu.js +273 -273
  261. package/src/components/setting/Setting.vue +234 -234
  262. package/src/components/tool/AStepItem.vue +60 -60
  263. package/src/config/CreateQueryConfig.js +325 -325
  264. package/src/config/default/antd.config.js +89 -89
  265. package/src/config/default/setting.config.js +55 -55
  266. package/src/font-style/font.css +4 -4
  267. package/src/layouts/CommonLayout.vue +56 -56
  268. package/src/layouts/PageLayout.vue +151 -151
  269. package/src/layouts/SinglePageView.vue +136 -136
  270. package/src/layouts/header/AdminHeader.vue +132 -132
  271. package/src/layouts/header/HeaderNotice.vue +177 -177
  272. package/src/layouts/header/InstitutionDetail.vue +181 -181
  273. package/src/layouts/tabs/TabsHead.vue +189 -189
  274. package/src/layouts/tabs/TabsView.vue +389 -389
  275. package/src/lib.js +1 -1
  276. package/src/main.js +34 -34
  277. package/src/mock/extend/index.js +84 -84
  278. package/src/mock/goods/index.js +108 -108
  279. package/src/pages/AMisDemo/AMisDemo.vue +325 -325
  280. package/src/pages/AMisDemo/AMisDemo2.vue +74 -74
  281. package/src/pages/DefaultExample/index.vue +77 -77
  282. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  283. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  284. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  285. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  286. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  287. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  288. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  289. package/src/pages/DynamicStatistics/index.vue +282 -282
  290. package/src/pages/Example/childIndex.vue +15 -15
  291. package/src/pages/Example/index.vue +30 -30
  292. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  293. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  294. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  295. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  296. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  297. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  298. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  299. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  300. package/src/pages/Recording/index.vue +77 -77
  301. package/src/pages/ServiceReview/index.vue +284 -284
  302. package/src/pages/SubExample/index.vue +26 -26
  303. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  304. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformationDetails.vue +276 -276
  305. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandleReso.vue +975 -975
  306. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkOrderParentDetails.vue +233 -233
  307. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowDetailResso.vue +261 -261
  308. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowListResolution.vue +248 -248
  309. package/src/pages/XPageViewExample/index.vue +38 -38
  310. package/src/pages/XReportView/index.vue +64 -64
  311. package/src/pages/XTreeOneProExample/index.vue +67 -67
  312. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  313. package/src/pages/login/Login.vue +378 -378
  314. package/src/pages/login/LoginV3.vue +389 -389
  315. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  316. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  317. package/src/pages/report/ReportTable.js +124 -124
  318. package/src/pages/resourceManage/orgListManage.vue +98 -98
  319. package/src/pages/system/dictionary/index.vue +44 -44
  320. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  321. package/src/pages/system/monitor/operLog/index.vue +37 -37
  322. package/src/pages/system/settings/modifyPassword.vue +117 -117
  323. package/src/pages/system/ticket/index.vue +480 -480
  324. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  325. package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
  326. package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
  327. package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
  328. package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
  329. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
  330. package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
  331. package/src/plugins/EventLogPlugin.js +33 -33
  332. package/src/plugins/FindParentsData.js +17 -17
  333. package/src/router/async/config.async.js +35 -35
  334. package/src/router/async/router.map.js +2 -2
  335. package/src/router/index.js +27 -27
  336. package/src/router.js +19 -19
  337. package/src/services/DataModel.js +30 -30
  338. package/src/services/LodopFuncs.js +137 -137
  339. package/src/services/api/TicketDetailsViewApi.js +46 -46
  340. package/src/services/api/cas.js +79 -79
  341. package/src/services/api/common.js +346 -346
  342. package/src/services/api/entity.js +18 -18
  343. package/src/services/api/index.js +17 -17
  344. package/src/services/api/workFlow.js +61 -61
  345. package/src/store/modules/account.js +115 -115
  346. package/src/store/modules/index.js +5 -5
  347. package/src/store/modules/lowCode.js +33 -33
  348. package/src/store/modules/setting.js +119 -119
  349. package/src/theme/default/style.less +58 -58
  350. package/src/theme/global.less +159 -159
  351. package/src/utils/authority-utils.js +85 -85
  352. package/src/utils/errorCode.js +6 -6
  353. package/src/utils/formatter.js +74 -74
  354. package/src/utils/htmlToPDF.js +108 -108
  355. package/src/utils/htmlToPDFApi.js +5 -5
  356. package/src/utils/login.js +188 -188
  357. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  358. package/src/utils/lowcode/lowcodeLog.js +29 -29
  359. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  360. package/src/utils/lowcode/registerComponentForEditor.js +1 -1
  361. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  362. package/src/utils/map-utils.js +47 -47
  363. package/src/utils/reg.js +95 -95
  364. package/src/utils/runEvalFunction.js +14 -14
  365. package/src/utils/theme-color-replacer-extend.js +92 -92
  366. package/src/utils/util.js +329 -329
  367. package/src/utils/waterMark.js +31 -31
  368. 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 }