vue2-client 1.15.85 → 1.15.87

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 (698) hide show
  1. package/.claude/settings.local.json +12 -0
  2. package/.cursorrules +19 -19
  3. package/.editorconfig +9 -9
  4. package/.env +20 -20
  5. package/.env.apply +19 -19
  6. package/.env.development +1 -1
  7. package/.env.gaslink +19 -19
  8. package/.env.his +19 -19
  9. package/.env.iot +19 -19
  10. package/.env.liuli +20 -20
  11. package/.env.message +19 -19
  12. package/.env.revenue +19 -19
  13. package/.env.runtime +19 -19
  14. package/.env.scada +19 -19
  15. package/.eslintrc.js +90 -90
  16. package/.eslintrc.json +5 -5
  17. package/CHANGELOG.md +824 -824
  18. package/CLAUDE.md +89 -89
  19. package/Components.md +60 -60
  20. package/README.md +65 -65
  21. package/babel.config.js +21 -21
  22. package/docs/Logic/345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +46 -46
  23. package/docs/LowCode/lowcode.md +155 -155
  24. package/docs/LowCode/lowcodeForDeveloper.md +230 -230
  25. package/docs/index.md +30 -30
  26. package/docs/notice.md +22 -22
  27. package/docs//345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +179 -179
  28. package/index.js +31 -31
  29. package/jest-transform-stub.js +8 -8
  30. package/jest.config.js +22 -22
  31. package/jest.setup.js +7 -7
  32. package/jsconfig.json +19 -19
  33. package/package.json +111 -111
  34. package/public/his/editor/editor.html +51 -51
  35. package/public/his/editor/mock/bind_data.html +779 -779
  36. package/public/his/editor/mock/data_table.html +40 -40
  37. package/public/his/editor/mock/sign.html +75 -75
  38. package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
  39. package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
  40. package/public/his/editor/vender/date97/WdatePicker.js +677 -677
  41. package/public/his/editor/vender/date97/calendar.js +4 -4
  42. package/public/his/editor/vender/date97/lang/en.js +13 -13
  43. package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
  44. package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
  45. package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
  46. package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
  47. package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
  48. package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
  49. package/public/his/editor/vender/diff.js +1627 -1627
  50. package/public/his/editor/vender/editor.js +1 -1
  51. package/public/his/editor/vender/fabric.js +31187 -31187
  52. package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
  53. package/public/his/editor/vender/jquery/jquery.js +10872 -10872
  54. package/public/his/editor/vender/jquery/jquery.print.js +255 -255
  55. package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
  56. package/public/his/editor/vender/mui/mui.min.css +4 -4
  57. package/public/his/editor/vender/mui/mui.min.js +5 -5
  58. package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
  59. package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
  60. package/public/his/editor/vender/qrcode.js +7 -7
  61. package/public/his/editor/vender/requirejs/require.js +2145 -2145
  62. package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
  63. package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
  64. package/public/his/editor/vender/signature/jSignature.js +1486 -1486
  65. package/public/his/editor/vender/validator.js +5094 -5094
  66. package/public/his/editor/vender/weui/weui.css +5659 -5659
  67. package/public/his/editor/vender/weui/weui.min.css +4 -4
  68. package/public/his/editor/vender/weui/weui.min.js +11 -11
  69. package/public/index.html +27 -27
  70. package/src/App.vue +196 -196
  71. package/src/ReportView.js +13 -13
  72. package/src/assets/img/querySlotDemo.svg +15 -15
  73. package/src/assets/svg/badtwo.svg +1 -1
  74. package/src/assets/svg/goodtwo.svg +1 -1
  75. package/src/base-client/components/AI/AskAiBtn.vue +136 -136
  76. package/src/base-client/components/AI/demo.vue +31 -31
  77. package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +532 -532
  78. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  79. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  80. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  81. package/src/base-client/components/common/AddressSearchCombobox/index.js +3 -3
  82. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  83. package/src/base-client/components/common/AmapMarker/index.js +3 -3
  84. package/src/base-client/components/common/CitySelect/CitySelect.vue +376 -376
  85. package/src/base-client/components/common/CitySelect/demo.vue +43 -43
  86. package/src/base-client/components/common/CitySelect/index.js +3 -3
  87. package/src/base-client/components/common/CitySelect/index.md +109 -109
  88. package/src/base-client/components/common/ColorPickerCombobox/ColorPickerCombobox.vue +99 -99
  89. package/src/base-client/components/common/ColorPickerCombobox/demo.vue +34 -34
  90. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  91. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  92. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  93. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  94. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  95. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  96. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  97. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  98. package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +146 -146
  99. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  100. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  101. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  102. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  103. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  104. package/src/base-client/components/common/JSONToTree/index.js +3 -3
  105. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  106. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  107. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  108. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  109. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  110. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  111. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  112. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  113. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  114. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  115. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  116. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  117. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  118. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  119. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  120. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  121. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  122. package/src/base-client/components/common/Recording/index.js +3 -3
  123. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  124. package/src/base-client/components/common/Tree/index.js +2 -2
  125. package/src/base-client/components/common/Upload/Upload.vue +323 -323
  126. package/src/base-client/components/common/Upload/index.js +3 -3
  127. package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
  128. package/src/base-client/components/common/XAddForm/index.js +3 -3
  129. package/src/base-client/components/common/XAddForm/index.md +61 -61
  130. package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +1169 -1169
  131. package/src/base-client/components/common/XAddNativeForm/demo.vue +54 -40
  132. package/src/base-client/components/common/XAddNativeForm/index.js +3 -3
  133. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  134. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +303 -303
  135. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  136. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  137. package/src/base-client/components/common/XAddReport/XAddReport.vue +212 -212
  138. package/src/base-client/components/common/XAddReport/index.js +3 -3
  139. package/src/base-client/components/common/XAddReport/index.md +56 -56
  140. package/src/base-client/components/common/XBadge/XBadge.vue +94 -94
  141. package/src/base-client/components/common/XBadge/index.js +3 -3
  142. package/src/base-client/components/common/XBadge/index.md +39 -39
  143. package/src/base-client/components/common/XButtons/XButtonDemo.vue +28 -28
  144. package/src/base-client/components/common/XButtons/XButtons.vue +284 -284
  145. package/src/base-client/components/common/XButtons/index.js +3 -3
  146. package/src/base-client/components/common/XButtons/index.md +61 -61
  147. package/src/base-client/components/common/XCalendar/XCalendar.vue +369 -369
  148. package/src/base-client/components/common/XCalendar/index.md +284 -284
  149. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  150. package/src/base-client/components/common/XCard/index.js +3 -3
  151. package/src/base-client/components/common/XCard/index.md +43 -43
  152. package/src/base-client/components/common/XCardSet/XCardSet.vue +300 -300
  153. package/src/base-client/components/common/XCheckList/XCheckList.vue +106 -106
  154. package/src/base-client/components/common/XCheckList/XCheckListDemo.vue +41 -41
  155. package/src/base-client/components/common/XCollapse/XCollapse.vue +354 -354
  156. package/src/base-client/components/common/XConversation/XConversation.vue +576 -576
  157. package/src/base-client/components/common/XConversation/XConversationDemo.vue +28 -28
  158. package/src/base-client/components/common/XDataCard/XDataCard.vue +629 -629
  159. package/src/base-client/components/common/XDataCard/index.js +3 -3
  160. package/src/base-client/components/common/XDataCard/index.md +1 -1
  161. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  162. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  163. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  164. package/src/base-client/components/common/XDatePicker/demo.vue +153 -153
  165. package/src/base-client/components/common/XDatePicker/index.vue +276 -276
  166. package/src/base-client/components/common/XDescriptions/XDescriptions.vue +174 -174
  167. package/src/base-client/components/common/XDescriptions/XDescriptionsGroup.vue +314 -314
  168. package/src/base-client/components/common/XDescriptions/demo.vue +51 -51
  169. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  170. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  171. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +238 -238
  172. package/src/base-client/components/common/XDetailsView/index.js +3 -3
  173. package/src/base-client/components/common/XForm/XForm.vue +420 -420
  174. package/src/base-client/components/common/XForm/XFormItem.vue +1474 -1390
  175. package/src/base-client/components/common/XForm/XStatusButton.vue +54 -54
  176. package/src/base-client/components/common/XForm/XTreeSelect.vue +276 -276
  177. package/src/base-client/components/common/XForm/demo.vue +105 -105
  178. package/src/base-client/components/common/XForm/index.js +3 -3
  179. package/src/base-client/components/common/XForm/index.md +178 -178
  180. package/src/base-client/components/common/XForm/itemComponent/XClickChangeBtn/index.vue +49 -49
  181. package/src/base-client/components/common/XFormCol/XFormCol.vue +157 -157
  182. package/src/base-client/components/common/XFormCol/index.js +3 -3
  183. package/src/base-client/components/common/XFormCol/index.md +35 -35
  184. package/src/base-client/components/common/XFormGroup/XFormGroup.vue +301 -301
  185. package/src/base-client/components/common/XFormGroup/demo.vue +41 -41
  186. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  187. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  188. package/src/base-client/components/common/XFormGroupDetails/XFormGroupDetails.vue +72 -72
  189. package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
  190. package/src/base-client/components/common/XFormTable/XFormTable.vue +938 -938
  191. package/src/base-client/components/common/XFormTable/demo.vue +87 -87
  192. package/src/base-client/components/common/XFormTable/index.js +3 -3
  193. package/src/base-client/components/common/XFormTable/index.md +92 -92
  194. package/src/base-client/components/common/XImportExcel/XImportExcel.vue +174 -174
  195. package/src/base-client/components/common/XImportExcel/index.js +3 -3
  196. package/src/base-client/components/common/XImportExcel/index.md +38 -38
  197. package/src/base-client/components/common/XInput/XInput.vue +128 -128
  198. package/src/base-client/components/common/XInput/index.js +3 -3
  199. package/src/base-client/components/common/XInput/index.md +97 -97
  200. package/src/base-client/components/common/XIntervalPicker/XIntervalPicker.vue +121 -121
  201. package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
  202. package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
  203. package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
  204. package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
  205. package/src/base-client/components/common/XLicensePlate/index.js +3 -3
  206. package/src/base-client/components/common/XLicensePlate/index.md +38 -38
  207. package/src/base-client/components/common/XPrint/Demo.vue +41 -41
  208. package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
  209. package/src/base-client/components/common/XPrint/PrintBill.vue +308 -308
  210. package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
  211. package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
  212. package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
  213. package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
  214. package/src/base-client/components/common/XPrint/index.vue +97 -97
  215. package/src/base-client/components/common/XRate/demo.vue +102 -102
  216. package/src/base-client/components/common/XRate/index.vue +149 -149
  217. package/src/base-client/components/common/XReport/XReport.vue +963 -963
  218. package/src/base-client/components/common/XReport/XReportDemo.vue +70 -70
  219. package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
  220. package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
  221. package/src/base-client/components/common/XReport/XReportTrGroup.vue +1005 -1005
  222. package/src/base-client/components/common/XReport/index.js +3 -3
  223. package/src/base-client/components/common/XReport/index.md +103 -103
  224. package/src/base-client/components/common/XReport/print.js +186 -186
  225. package/src/base-client/components/common/XReportDrawer/XReportDrawer.vue +201 -201
  226. package/src/base-client/components/common/XReportDrawer/index.js +3 -3
  227. package/src/base-client/components/common/XReportGrid/XReport.vue +1075 -1075
  228. package/src/base-client/components/common/XReportGrid/XReportDemo.vue +44 -44
  229. package/src/base-client/components/common/XReportGrid/XReportDesign.vue +620 -620
  230. package/src/base-client/components/common/XReportGrid/XReportTrGroup.vue +723 -723
  231. package/src/base-client/components/common/XReportGrid/index.js +3 -3
  232. package/src/base-client/components/common/XReportGrid/index.md +44 -44
  233. package/src/base-client/components/common/XReportGrid/print.js +184 -184
  234. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  235. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  236. package/src/base-client/components/common/XReportSlot/index.md +48 -48
  237. package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
  238. package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
  239. package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
  240. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  241. package/src/base-client/components/common/XStepView/index.js +3 -3
  242. package/src/base-client/components/common/XStepView/index.md +31 -31
  243. package/src/base-client/components/common/XTab/XTab.vue +299 -299
  244. package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
  245. package/src/base-client/components/common/XTab/index.js +3 -3
  246. package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
  247. package/src/base-client/components/common/XTable/ExportExcel.vue +283 -283
  248. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  249. package/src/base-client/components/common/XTable/XTable.vue +1599 -1599
  250. package/src/base-client/components/common/XTable/XTableWrapper.vue +597 -597
  251. package/src/base-client/components/common/XTable/index.js +3 -3
  252. package/src/base-client/components/common/XTable/index.md +255 -255
  253. package/src/base-client/components/common/XTagGroup/index.vue +52 -52
  254. package/src/base-client/components/common/XTimeline/XTimeline.vue +358 -358
  255. package/src/base-client/components/common/XTimeline/index.md +191 -191
  256. package/src/base-client/components/common/XTree/XTree.vue +424 -424
  257. package/src/base-client/components/common/XTree/XTreePro.vue +450 -452
  258. package/src/base-client/components/common/XTree/index.js +3 -3
  259. package/src/base-client/components/common/XTree/index.md +36 -36
  260. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
  261. package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
  262. package/src/base-client/components/common/XTreeOne/index.js +3 -3
  263. package/src/base-client/components/common/XUploadFilesView/index.vue +485 -485
  264. package/src/base-client/components/common/richTextModal/index.vue +56 -56
  265. package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
  266. package/src/base-client/components/his/XCharge/XCharge.vue +238 -238
  267. package/src/base-client/components/his/XCheckbox/XCheckbox.vue +105 -105
  268. package/src/base-client/components/his/XCheckbox/index.md +253 -253
  269. package/src/base-client/components/his/XHDescriptions/XHDescriptions.vue +430 -430
  270. package/src/base-client/components/his/XHDescriptions/index.md +217 -217
  271. package/src/base-client/components/his/XHisEditor/XHisEditor.vue +629 -629
  272. package/src/base-client/components/his/XHisEditor/diagnosisAutocomplete.js +263 -263
  273. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  274. package/src/base-client/components/his/XList/XList.vue +495 -495
  275. package/src/base-client/components/his/XQuestionnaire/XQuestionnaire.json +3 -3
  276. package/src/base-client/components/his/XQuestionnaire/XQuestionnaire.vue +106 -106
  277. package/src/base-client/components/his/XQuestionnaire/XQuestionnaireDemo.vue +51 -51
  278. package/src/base-client/components/his/XQuestionnaire/XQuestionnaireItem.vue +269 -269
  279. package/src/base-client/components/his/XRadio/XRadio.vue +125 -125
  280. package/src/base-client/components/his/XRadio/index.md +234 -234
  281. package/src/base-client/components/his/XSelect/XSelect.vue +72 -72
  282. package/src/base-client/components/his/XShiftSchedule/XShiftSchedule.vue +234 -234
  283. package/src/base-client/components/his/XShiftSchedule/dome.vue +29 -29
  284. package/src/base-client/components/his/XSidebar/XSidebar.vue +240 -240
  285. package/src/base-client/components/his/XTextCard/XTextCard.vue +207 -207
  286. package/src/base-client/components/his/XTimeSelect/XTimeSelect.vue +162 -162
  287. package/src/base-client/components/his/XTimeSelect/XTimeSelectDemo.vue +23 -23
  288. package/src/base-client/components/his/XTitle/README.md +113 -113
  289. package/src/base-client/components/his/XTitle/XTitle.vue +123 -123
  290. package/src/base-client/components/his/XTreeRows/TreeNode.vue +107 -107
  291. package/src/base-client/components/his/XTreeRows/XTreeRows.vue +307 -307
  292. package/src/base-client/components/his/threeTestOrders/dome.vue +68 -68
  293. package/src/base-client/components/his/threeTestOrders/editor.vue +111 -111
  294. package/src/base-client/components/his/threeTestOrders/textBox.vue +457 -457
  295. package/src/base-client/components/his/threeTestOrders/threeTestOrders.vue +475 -475
  296. package/src/base-client/components/index.js +51 -51
  297. package/src/base-client/components/layout/XPageView/RenderRow.vue +88 -88
  298. package/src/base-client/components/layout/XPageView/XErrorView.vue +22 -22
  299. package/src/base-client/components/layout/XPageView/XPageRowTemplate.vue +37 -37
  300. package/src/base-client/components/layout/XPageView/XPageView.vue +223 -223
  301. package/src/base-client/components/layout/XPageView/XTab/XTab.vue +96 -96
  302. package/src/base-client/components/layout/XPageView/XTab/index.js +3 -3
  303. package/src/base-client/components/layout/XPageView/componentTypes.js +22 -22
  304. package/src/base-client/components/layout/XPageView/index.js +2 -2
  305. package/src/base-client/components/layout/XPageView/index.md +96 -96
  306. package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
  307. package/src/base-client/components/layout/XTreeView/index.js +3 -3
  308. package/src/base-client/components/layout/XTreeView/index.md +46 -46
  309. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  310. package/src/base-client/components/system/DictionaryDetailsView/index.js +3 -3
  311. package/src/base-client/components/system/DictionaryDetailsView/index.md +41 -41
  312. package/src/base-client/components/system/LogDetailsView/LogDetailsView.vue +376 -376
  313. package/src/base-client/components/system/LogDetailsView/index.js +3 -3
  314. package/src/base-client/components/system/LogDetailsView/index.md +41 -41
  315. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  316. package/src/base-client/components/system/QueryParamsDetailsView/index.js +3 -3
  317. package/src/base-client/components/ticket/TicketDetailsView/TicketDetailsView.vue +807 -807
  318. package/src/base-client/components/ticket/TicketDetailsView/index.js +3 -3
  319. package/src/base-client/components/ticket/TicketDetailsView/index.md +29 -29
  320. package/src/base-client/components/ticket/TicketDetailsView/part/TicketDetailsFlow.vue +260 -260
  321. package/src/base-client/components/ticket/TicketDetailsView/part/index.js +3 -3
  322. package/src/base-client/components/ticket/TicketSubmitSuccessView/TicketSubmitSuccessView.vue +532 -532
  323. package/src/base-client/components/ticket/TicketSubmitSuccessView/index.js +3 -3
  324. package/src/base-client/components/ticket/TicketSubmitSuccessView/index.md +29 -29
  325. package/src/base-client/plugins/AppData.js +126 -126
  326. package/src/base-client/plugins/Config.js +19 -19
  327. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  328. package/src/base-client/plugins/PagedList.js +177 -177
  329. package/src/base-client/plugins/Recording.js +258 -258
  330. package/src/base-client/plugins/__tests__/selectValueTypeHelper.test.js +154 -0
  331. package/src/base-client/plugins/authority-plugin.js +167 -167
  332. package/src/base-client/plugins/compatible/LoginServiceOA.js +20 -20
  333. package/src/base-client/plugins/i18n-extend.js +32 -32
  334. package/src/base-client/plugins/index.js +23 -23
  335. package/src/base-client/plugins/moment.js +8 -8
  336. package/src/base-client/plugins/selectValueTypeHelper.js +281 -0
  337. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  338. package/src/bootstrap.js +51 -51
  339. package/src/components/Charts/Bar.vue +62 -62
  340. package/src/components/Charts/ChartCard.vue +134 -134
  341. package/src/components/Charts/Liquid.vue +67 -67
  342. package/src/components/Charts/MiniArea.vue +39 -39
  343. package/src/components/Charts/MiniBar.vue +39 -39
  344. package/src/components/Charts/MiniProgress.vue +75 -75
  345. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  346. package/src/components/Charts/Radar.vue +68 -68
  347. package/src/components/Charts/RankList.vue +77 -77
  348. package/src/components/Charts/TagCloud.vue +113 -113
  349. package/src/components/Charts/TransferBar.vue +64 -64
  350. package/src/components/Charts/Trend.vue +82 -82
  351. package/src/components/Charts/chart.less +12 -12
  352. package/src/components/Charts/smooth.area.less +13 -13
  353. package/src/components/CodeMirror/inedx.vue +118 -118
  354. package/src/components/CodeMirror/setting.js +40 -40
  355. package/src/components/Ellipsis/Ellipsis.vue +65 -65
  356. package/src/components/Ellipsis/index.js +3 -3
  357. package/src/components/Ellipsis/index.md +38 -38
  358. package/src/components/FileImageItem/FileItem.vue +320 -320
  359. package/src/components/FileImageItem/FileItemGroup.vue +197 -197
  360. package/src/components/FileImageItem/ImageItem.vue +107 -107
  361. package/src/components/FileImageItem/index.js +4 -4
  362. package/src/components/FilePreview/FilePreview.vue +181 -181
  363. package/src/components/FilePreview/FilePreviewDemo.vue +30 -30
  364. package/src/components/FilePreview/index.js +3 -3
  365. package/src/components/HeightScanner/index.vue +615 -615
  366. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  367. package/src/components/NumberInfo/index.js +3 -3
  368. package/src/components/NumberInfo/index.less +54 -54
  369. package/src/components/NumberInfo/index.md +43 -43
  370. package/src/components/STable/README.md +341 -341
  371. package/src/components/STable/index.js +558 -558
  372. package/src/components/TableSetting/TableSetting.vue +143 -143
  373. package/src/components/TableSetting/index.js +3 -3
  374. package/src/components/Trend/Trend.vue +41 -41
  375. package/src/components/Trend/index.js +3 -3
  376. package/src/components/Trend/index.less +41 -41
  377. package/src/components/Trend/index.md +45 -45
  378. package/src/components/_util/util.js +46 -46
  379. package/src/components/cache/AKeepAlive.js +179 -179
  380. package/src/components/card/ChartCard.vue +79 -79
  381. package/src/components/chart/Bar.vue +60 -60
  382. package/src/components/chart/MiniArea.vue +67 -67
  383. package/src/components/chart/MiniBar.vue +59 -59
  384. package/src/components/chart/MiniProgress.vue +57 -57
  385. package/src/components/chart/Radar.vue +80 -80
  386. package/src/components/chart/RankingList.vue +60 -60
  387. package/src/components/chart/Trend.vue +79 -79
  388. package/src/components/chart/index.less +9 -9
  389. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  390. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  391. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  392. package/src/components/checkbox/index.js +9 -9
  393. package/src/components/exception/ExceptionPage.vue +70 -70
  394. package/src/components/exception/typeConfig.js +19 -19
  395. package/src/components/form/FormRow.vue +52 -52
  396. package/src/components/g2Charts/constants.js +202 -202
  397. package/src/components/g2Charts/demo.vue +808 -808
  398. package/src/components/g2Charts/designer.vue +228 -228
  399. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  400. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  401. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  402. package/src/components/g2Charts/index.vue +397 -397
  403. package/src/components/index.js +36 -36
  404. package/src/components/index.less +5 -5
  405. package/src/components/input/IInput.vue +66 -66
  406. package/src/components/menu/Contextmenu.vue +84 -84
  407. package/src/components/menu/SideMenu.vue +75 -75
  408. package/src/components/menu/index.less +38 -38
  409. package/src/components/menu/menu.js +273 -273
  410. package/src/components/page/header/PageHeader.vue +64 -64
  411. package/src/components/page/header/index.less +40 -40
  412. package/src/components/result/Result.vue +77 -77
  413. package/src/components/setting/Setting.vue +234 -234
  414. package/src/components/setting/SettingItem.vue +26 -26
  415. package/src/components/setting/i18n.js +117 -117
  416. package/src/components/table/StandardTable.vue +141 -141
  417. package/src/components/table/advance/ActionColumns.vue +158 -158
  418. package/src/components/table/advance/ActionSize.vue +45 -45
  419. package/src/components/table/advance/AdvanceTable.vue +275 -275
  420. package/src/components/table/advance/SearchArea.vue +355 -355
  421. package/src/components/table/advance/index.js +2 -2
  422. package/src/components/table/api/ApiTable.vue +50 -50
  423. package/src/components/task/TaskGroup.vue +80 -80
  424. package/src/components/task/TaskItem.vue +26 -26
  425. package/src/components/tool/AStepItem.vue +60 -60
  426. package/src/components/tool/AvatarList.vue +68 -68
  427. package/src/components/tool/DetailList.vue +157 -157
  428. package/src/components/tool/Drawer.vue +142 -142
  429. package/src/components/tool/FooterToolBar.vue +30 -30
  430. package/src/components/tool/HeadInfo.vue +35 -35
  431. package/src/components/tool/TagSelect.vue +83 -83
  432. package/src/components/tool/TagSelectOption.vue +33 -33
  433. package/src/components/transition/PageToggleTransition.vue +97 -97
  434. package/src/config/CreateQueryConfig.js +325 -325
  435. package/src/config/default/admin.config.js +18 -18
  436. package/src/config/default/animate.config.js +21 -21
  437. package/src/config/default/antd.config.js +89 -89
  438. package/src/config/default/index.js +6 -6
  439. package/src/config/default/setting.config.js +55 -55
  440. package/src/config/index.js +3 -3
  441. package/src/config/replacer/index.js +10 -10
  442. package/src/config/replacer/resolve.config.js +67 -67
  443. package/src/expression/ExpressionRunner.js +26 -26
  444. package/src/expression/TestExpression.js +509 -509
  445. package/src/expression/core/Delegate.js +115 -115
  446. package/src/expression/core/Expression.js +1358 -1358
  447. package/src/expression/core/Program.js +932 -932
  448. package/src/expression/core/Token.js +27 -27
  449. package/src/expression/enums/ExpressionType.js +81 -81
  450. package/src/expression/enums/TokenType.js +11 -11
  451. package/src/expression/exception/BreakWayException.js +2 -2
  452. package/src/expression/exception/ContinueWayException.js +2 -2
  453. package/src/expression/exception/ExpressionException.js +28 -28
  454. package/src/expression/exception/ReturnWayException.js +14 -14
  455. package/src/expression/exception/ServiceException.js +22 -22
  456. package/src/expression/instances/LogicConsole.js +44 -44
  457. package/src/expression/ts/ExpressionRunner.ts +28 -28
  458. package/src/expression/ts/TestExpression.ts +509 -509
  459. package/src/expression/ts/core/Delegate.ts +114 -114
  460. package/src/expression/ts/core/Expression.ts +1309 -1309
  461. package/src/expression/ts/core/Program.ts +950 -950
  462. package/src/expression/ts/core/Token.ts +29 -29
  463. package/src/expression/ts/enums/ExpressionType.ts +81 -81
  464. package/src/expression/ts/enums/TokenType.ts +13 -13
  465. package/src/expression/ts/exception/BreakWayException.ts +2 -2
  466. package/src/expression/ts/exception/ContinueWayException.ts +2 -2
  467. package/src/expression/ts/exception/ExpressionException.ts +28 -28
  468. package/src/expression/ts/exception/ReturnWayException.ts +14 -14
  469. package/src/expression/ts/exception/ServiceException.ts +22 -22
  470. package/src/expression/ts/instances/JSONArray.ts +48 -48
  471. package/src/expression/ts/instances/JSONObject.ts +109 -109
  472. package/src/expression/ts/instances/LogicConsole.ts +32 -32
  473. package/src/font-style/font.css +4 -4
  474. package/src/layouts/AdminLayout.vue +176 -176
  475. package/src/layouts/BlankView.vue +79 -79
  476. package/src/layouts/CommonLayout.vue +56 -56
  477. package/src/layouts/ComponentLayoutOne.vue +47 -47
  478. package/src/layouts/GridView.vue +43 -43
  479. package/src/layouts/PageLayout.vue +151 -151
  480. package/src/layouts/PageView.vue +55 -55
  481. package/src/layouts/SinglePageView.vue +136 -136
  482. package/src/layouts/footer/PageFooter.vue +49 -49
  483. package/src/layouts/header/AdminHeader.vue +132 -132
  484. package/src/layouts/header/HeaderAvatar.vue +64 -64
  485. package/src/layouts/header/HeaderNotice.vue +177 -177
  486. package/src/layouts/header/HeaderSearch.vue +67 -67
  487. package/src/layouts/header/InstitutionDetail.vue +181 -181
  488. package/src/layouts/header/index.less +92 -92
  489. package/src/layouts/tabs/TabsHead.vue +189 -189
  490. package/src/layouts/tabs/TabsView.vue +383 -383
  491. package/src/layouts/tabs/i18n.js +25 -25
  492. package/src/layouts/tabs/index.js +2 -2
  493. package/src/lib.js +1 -1
  494. package/src/logic/LogicRunner.js +62 -62
  495. package/src/logic/TestLogic.js +13 -13
  496. package/src/logic/plugins/common/DateTools.js +35 -35
  497. package/src/logic/plugins/common/VueTools.js +30 -30
  498. package/src/logic/plugins/index.js +7 -7
  499. package/src/logic/ts/LogicRunner.ts +67 -67
  500. package/src/logic/ts/TestLogic.ts +13 -13
  501. package/src/main.js +33 -33
  502. package/src/mixins/formValidationMixin.js +46 -46
  503. package/src/mock/common/activityData.js +32 -32
  504. package/src/mock/common/index.js +89 -89
  505. package/src/mock/common/reportData.js +20 -20
  506. package/src/mock/common/tableData.js +118 -118
  507. package/src/mock/extend/index.js +84 -84
  508. package/src/mock/goods/index.js +108 -108
  509. package/src/mock/index.js +12 -12
  510. package/src/mock/project/index.js +17 -17
  511. package/src/mock/user/current.js +13 -13
  512. package/src/mock/user/login.js +39 -39
  513. package/src/mock/user/routes.js +61 -61
  514. package/src/mock/workplace/index.js +15 -15
  515. package/src/pages/DefaultExample/index.vue +77 -77
  516. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  517. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  518. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  519. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  520. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  521. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  522. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  523. package/src/pages/DynamicStatistics/index.vue +282 -282
  524. package/src/pages/Example/childIndex.vue +15 -15
  525. package/src/pages/Example/index.vue +30 -30
  526. package/src/pages/LogicCallExample/index.vue +46 -46
  527. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  528. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  529. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  530. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  531. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  532. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  533. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  534. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  535. package/src/pages/Recording/index.vue +77 -77
  536. package/src/pages/ReportGrid/index.vue +76 -76
  537. package/src/pages/ReportView.vue +50 -50
  538. package/src/pages/ServiceReview/index.vue +284 -284
  539. package/src/pages/SubExample/index.vue +26 -26
  540. package/src/pages/WorkflowDetail/WorkFlowDemo.vue +47 -47
  541. package/src/pages/WorkflowDetail/WorkFlowDemo2.vue +204 -204
  542. package/src/pages/WorkflowDetail/WorkFlowDemo3.vue +203 -225
  543. package/src/pages/WorkflowDetail/WorkflowDetail.vue +391 -391
  544. package/src/pages/WorkflowDetail/WorkflowPageDetail/LeaveMessage.vue +388 -388
  545. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  546. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformation.vue +415 -415
  547. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformationDetails.vue +276 -276
  548. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandle.vue +1766 -1766
  549. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandleReso.vue +975 -975
  550. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowPreview.vue +109 -109
  551. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowTimeline.vue +929 -929
  552. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkOrderParentDetails.vue +222 -222
  553. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowDetailResso.vue +243 -243
  554. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowListResolution.vue +248 -248
  555. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowLog.vue +188 -188
  556. package/src/pages/WorkflowDetail/WorkflowPageDetail/components/WorkflowPersonSelector.vue +109 -109
  557. package/src/pages/WorkflowDetail/WorkflowPageDetail/worklog.vue +97 -97
  558. package/src/pages/XPageViewExample/index.vue +149 -149
  559. package/src/pages/XReportView/index.vue +64 -64
  560. package/src/pages/XTreeOneProExample/index.vue +67 -67
  561. package/src/pages/addressSelect/addressDemo.vue +24 -24
  562. package/src/pages/addressSelect/index.vue +270 -270
  563. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  564. package/src/pages/dashboard/workplace/i18n.js +40 -40
  565. package/src/pages/dashboard/workplace/index.js +2 -2
  566. package/src/pages/dashboard/workplace/index.less +59 -59
  567. package/src/pages/exception/403.vue +21 -21
  568. package/src/pages/exception/404.vue +24 -24
  569. package/src/pages/exception/500.vue +21 -21
  570. package/src/pages/login/Login.vue +380 -380
  571. package/src/pages/login/LoginV3.vue +389 -389
  572. package/src/pages/login/index.js +2 -2
  573. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  574. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  575. package/src/pages/report/ReportTable.js +124 -124
  576. package/src/pages/report/ReportTableHome.vue +28 -28
  577. package/src/pages/resourceManage/depListManage.vue +23 -23
  578. package/src/pages/resourceManage/funListManage.vue +23 -23
  579. package/src/pages/resourceManage/index.js +15 -15
  580. package/src/pages/resourceManage/orgListManage.vue +98 -98
  581. package/src/pages/resourceManage/resourceManageMain.vue +57 -57
  582. package/src/pages/resourceManage/roleListManage.vue +23 -23
  583. package/src/pages/resourceManage/staffListManage.vue +23 -23
  584. package/src/pages/system/dictionary/index.vue +44 -44
  585. package/src/pages/system/file/Info.vue +56 -56
  586. package/src/pages/system/file/index.vue +317 -317
  587. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  588. package/src/pages/system/monitor/operLog/index.vue +37 -37
  589. package/src/pages/system/settings/index.vue +126 -126
  590. package/src/pages/system/settings/modifyPassword.vue +117 -117
  591. package/src/pages/system/ticket/index.vue +480 -480
  592. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  593. package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
  594. package/src/pages/userInfoDetailManage/FillCardRecordQuery/index.vue +77 -77
  595. package/src/pages/userInfoDetailManage/FillGasRecordQuery/index.vue +75 -75
  596. package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
  597. package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
  598. package/src/pages/userInfoDetailManage/InsuranceDetailQuery/index.vue +64 -64
  599. package/src/pages/userInfoDetailManage/MachineRecordQuery/index.vue +75 -75
  600. package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
  601. package/src/pages/userInfoDetailManage/OtherChargeRecordQuery/index.vue +75 -75
  602. package/src/pages/userInfoDetailManage/PriceAdjustments/index.vue +64 -64
  603. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
  604. package/src/pages/userInfoDetailManage/UserChargeRecordQuery/index.vue +94 -94
  605. package/src/pages/userInfoDetailManage/UserException/index.vue +64 -64
  606. package/src/pages/userInfoDetailManage/UserHandRecordQuery/index.vue +87 -87
  607. package/src/pages/userInfoDetailManage/UserRecordQuery/index.vue +74 -74
  608. package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
  609. package/src/pages/userInfoDetailManage/index.vue +290 -290
  610. package/src/pages/userInfoDetailManage/uploadFilesHistory/ImagePreview.vue +101 -101
  611. package/src/pages/userInfoDetailManage/uploadFilesHistory/index.vue +129 -129
  612. package/src/pages/userInfoDetailManage/userInfoDetailQueryTabs.vue +144 -144
  613. package/src/plugins/EventLogPlugin.js +33 -33
  614. package/src/plugins/FindParentsData.js +17 -17
  615. package/src/plugins/HiPrintPlugin.js +164 -164
  616. package/src/router/async/config.async.js +35 -35
  617. package/src/router/async/router.map.js +126 -130
  618. package/src/router/guards.js +262 -262
  619. package/src/router/i18n.js +57 -57
  620. package/src/router/index.js +27 -27
  621. package/src/router.js +17 -17
  622. package/src/services/DataModel.js +30 -30
  623. package/src/services/LodopFuncs.js +137 -137
  624. package/src/services/api/DictionaryDetailsViewApi.js +6 -6
  625. package/src/services/api/LogDetailsViewApi.js +10 -10
  626. package/src/services/api/QueryParamsDetailsViewApi.js +6 -6
  627. package/src/services/api/TicketDetailsViewApi.js +46 -46
  628. package/src/services/api/cas.js +79 -79
  629. package/src/services/api/common.js +346 -346
  630. package/src/services/api/entity.js +18 -18
  631. package/src/services/api/index.js +17 -17
  632. package/src/services/api/logininfor/index.js +6 -6
  633. package/src/services/api/manage.js +8 -8
  634. package/src/services/api/restTools.js +215 -215
  635. package/src/services/api/workFlow.js +57 -57
  636. package/src/services/apiService.js +16 -16
  637. package/src/services/dataSource.js +12 -12
  638. package/src/services/index.js +7 -7
  639. package/src/services/user.js +92 -92
  640. package/src/services/v3Api.js +116 -116
  641. package/src/store/index.js +5 -5
  642. package/src/store/modules/account.js +115 -115
  643. package/src/store/modules/index.js +5 -5
  644. package/src/store/modules/lowCode.js +33 -33
  645. package/src/store/modules/setting.js +119 -119
  646. package/src/store/mutation-types.js +4 -4
  647. package/src/theme/antd/ant-menu.less +2 -2
  648. package/src/theme/antd/ant-message.less +3 -3
  649. package/src/theme/antd/ant-table.less +22 -22
  650. package/src/theme/antd/ant-time-picker.less +3 -3
  651. package/src/theme/antd/index.less +3 -3
  652. package/src/theme/default/color.less +43 -43
  653. package/src/theme/default/index.less +3 -3
  654. package/src/theme/default/nprogress.less +76 -76
  655. package/src/theme/default/style.less +58 -58
  656. package/src/theme/global.less +279 -279
  657. package/src/theme/index.less +5 -5
  658. package/src/theme/reportTable.less +58 -58
  659. package/src/theme/theme.less +1 -1
  660. package/src/utils/EncryptUtil.js +162 -162
  661. package/src/utils/Objects.js +25 -25
  662. package/src/utils/authority-utils.js +85 -85
  663. package/src/utils/axios-interceptors.js +100 -100
  664. package/src/utils/colors.js +107 -107
  665. package/src/utils/common.js +10 -10
  666. package/src/utils/errorCode.js +6 -6
  667. package/src/utils/excel/Blob.js +180 -180
  668. package/src/utils/excel/Export2Excel.js +141 -141
  669. package/src/utils/filter.js +21 -21
  670. package/src/utils/formatter.js +74 -74
  671. package/src/utils/htmlToPDF.js +108 -108
  672. package/src/utils/htmlToPDFApi.js +5 -5
  673. package/src/utils/i18n.js +80 -80
  674. package/src/utils/indexedDB.js +549 -549
  675. package/src/utils/login.js +188 -188
  676. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  677. package/src/utils/lowcode/lowcodeLog.js +29 -29
  678. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  679. package/src/utils/lowcode/registerComponentForEditor.js +1 -1
  680. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  681. package/src/utils/map-utils.js +47 -47
  682. package/src/utils/microAppUtils.js +49 -49
  683. package/src/utils/reg.js +95 -95
  684. package/src/utils/request.js +395 -395
  685. package/src/utils/routerUtil.js +553 -553
  686. package/src/utils/runEvalFunction.js +14 -14
  687. package/src/utils/theme-color-replacer-extend.js +92 -92
  688. package/src/utils/themeUtil.js +100 -100
  689. package/src/utils/util.js +329 -329
  690. package/src/utils/waterMark.js +31 -31
  691. package/test/Tree.spec.js +168 -168
  692. package/test/myDialog.spec.js +47 -47
  693. package/test/request.test.js +17 -17
  694. package/test/util.test.js +53 -53
  695. package/test/v3Api.test.js +1984 -1984
  696. package/tests/unit/ReportTable.spec.js +16 -16
  697. package/vue.config.js +222 -222
  698. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
@@ -1,532 +1,532 @@
1
- <template>
2
- <div id="addressSearchCombobox" style="padding: 4px 0;">
3
- <div style="display: flex; width: 100%;">
4
- <a-input-group style="flex: 1; display: flex;padding-top: 1px;" compact>
5
- <a-input
6
- v-model="addressInput"
7
- :read-only="readOnly || !this.addressObj.address"
8
- @change="change"
9
- style="flex: 1; min-width: 0;"
10
- placeholder="请选择地址信息"/>
11
- <a-button
12
- v-if="attr?.inputOnAfterName && attr?.inputOnAfterFunc"
13
- style="min-width: 4rem; max-width: 6rem;"
14
- type="primary"
15
- @click="emitFunc(attr?.inputOnAfterFunc, addressInput)">
16
- {{ attr?.inputOnAfterName }}
17
- </a-button>
18
- </a-input-group>
19
- <a-button
20
- style="flex-shrink: 0; margin-left: 0.2rem;"
21
- :type="attr?.inputOnAfterName ? 'primary' : ''"
22
- @click="visible = true">
23
- <IcMapIcon/>
24
- 定位
25
- </a-button>
26
- </div>
27
- <a-modal
28
- v-model="visible"
29
- title="地址选择"
30
- @ok="selected"
31
- :zIndex="m_index"
32
- :destroyOnClose="true"
33
- width="70%"
34
- >
35
- <div class="certain-category-search-wrapper">
36
- <a-auto-complete
37
- style="right: 0px;width: 90%;z-index:2;margin-top:2%;"
38
- :disabled="!mapAutocomplete"
39
- class="certain-category-search"
40
- dropdown-class-name="certain-category-search-dropdown"
41
- option-label-prop="value"
42
- placeholder="输入地址关键字搜索"
43
- @search="fetchFunction"
44
- @select="onSelect"
45
- >
46
- <a-spin v-if="searching" slot="notFoundContent" size="small"/>
47
- <template slot="dataSource">
48
- <a-select-opt-group v-for="group in option" :key="group.title">
49
- <span
50
- slot="label">
51
- <a-icon type="bank"/> {{ group.title }}
52
- </span>
53
- <a-select-option
54
- v-for="address in group.children"
55
- :key="address.address+'['+address.label+']'+' <' + address.value + '>'"
56
- >
57
- <p class="addressName">
58
- <a-icon type="environment"/>
59
- <span v-html="highLight(address.label, address.word)"></span></p>
60
- <p v-if="address.address !== '[]'" class="addressRemark">
61
- {{ address.address }}
62
- </p>
63
- </a-select-option>
64
- </a-select-opt-group>
65
- </template>
66
- <a-input>
67
- <a-icon slot="suffix" class="certain-category-icon" type="search"/>
68
- </a-input>
69
- </a-auto-complete>
70
- </div>
71
- <div id="addressSearchCombobox_map"/>
72
- <a-descriptions
73
- bordered
74
- class="asc_descriptions"
75
- :column="{ xxl: 2, xl: 2, lg: 2, md: 2, sm: 1, xs: 1 }"
76
- >
77
- <a-descriptions-item label="坐标" span="2"><span>{{ addressObj.lng_lat }}</span></a-descriptions-item>
78
- <a-descriptions-item label="地址" span="2" v-if="attr.type != 'coordinateSearch'"><span>{{ addressObj.address }}</span></a-descriptions-item>
79
- </a-descriptions>
80
- </a-modal>
81
- </div>
82
- </template>
83
- <script>
84
-
85
- import { GetGDMap } from '@vue2-client/utils/map-utils'
86
- import { debounce } from 'ant-design-vue/lib/vc-table/src/utils'
87
- import { mapState } from 'vuex'
88
- import { runLogic } from '@vue2-client/services/api/common'
89
- import IcMapIcon from '@vue2-client/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue'
90
-
91
- export default {
92
- name: 'AddressSearchCombobox',
93
- components: { IcMapIcon },
94
- data () {
95
- // 检索去抖
96
- this.fetchFunction = debounce(this.fetchFunction, 300)
97
- return {
98
- // 地址搜索联想
99
- mapAutocomplete: undefined,
100
- // 检索结果
101
- option: [],
102
- // 最后检索版本
103
- lastFetchId: 0,
104
- // 检索中
105
- searching: false,
106
- addressObj: {
107
- lng_lat: '',
108
- address: '',
109
- },
110
- visible: false,
111
- map: null,
112
- m_index: 1002,
113
- positionPicker: null,
114
- addressInput: this.searchResult,
115
- // 选择地址返回的行政区域
116
- divisions: {},
117
- // 生成地址串中省市区街道信息禁止修改
118
- readOnlyDivisions: false,
119
- // cur 位置
120
- curPosition: [108.878703, 34.223701],
121
- searchFlag: false,
122
- }
123
- },
124
- computed: {
125
- ...mapState('setting', ['isMobile', 'gaode_key', 'gaode_secret_key'])
126
- },
127
- props: {
128
- attr: {
129
- type: Object,
130
- default: () => {
131
- }
132
- },
133
- emitFunc: {
134
- type: Function,
135
- default: () => {
136
- }
137
- },
138
- searchResult: {
139
- type: String,
140
- default: undefined
141
- },
142
- // 返回数据格式
143
- searchResultType: {
144
- type: String,
145
- default: 'Default'
146
- // default: 'Array'
147
- // default: 'Object'
148
- },
149
- // Object 返回格式时 可以自定义key
150
- resultKeys: {
151
- type: Object,
152
- default: () => {
153
- return { address: 'address', coords: 'coords' }
154
- }
155
- },
156
- readOnly: {
157
- type: Boolean,
158
- default: false
159
- },
160
- // 省市区是否可以修改
161
- divisionsChange: {
162
- type: Boolean,
163
- default: false
164
- },
165
- },
166
- created () {
167
- },
168
- mounted () {
169
- },
170
- methods: {
171
- change (value) {
172
- if (this.readOnlyDivisions && !this.divisionsChange) {
173
- // 如果省市区街道信息禁止修改
174
- if (this.addressInput.includes('省') && this.addressInput.includes('市') && this.divisions.str && !this.addressInput.startsWith(this.divisions.str)) {
175
- this.addressInput = this.addressObj.address
176
- this.$message.info('省市区街道信息请从选择新地址以变更')
177
- return
178
- }
179
- }
180
- debounce(() => {
181
- this.selected(null, this.addressInput)
182
- }, 200)()
183
- },
184
- initMap (aMap) {
185
- this.map = new (aMap).Map('addressSearchCombobox_map', { // 设置地图容器id
186
- resizeEnable: true, // 是否监控地图容器尺寸变化
187
- zoom: 10, // 初始化地图层级
188
- })
189
- this.geocoder = new (aMap).Geocoder({
190
- radius: 500 // 范围,默认:500
191
- })
192
- this.map.addControl(new (aMap).ToolBar()) // 初始化工具插件
193
-
194
- // 等待地图加载完成
195
- this.map.on('complete', () => {
196
- // 获取地图中心点
197
- const center = this.map.getCenter()
198
-
199
- // 创建标记对象 - 使用默认样式
200
- this.marker = new (aMap).Marker({
201
- position: [center.lng, center.lat], // 使用地图中心点作为初始位置
202
- map: this.map // 直接在地图创建时添加标记
203
- })
204
-
205
- // 获取中心点地址信息
206
- this.geocoder.getAddress(center, (status, result) => {
207
- if (status === 'complete' && result.info === 'OK') {
208
- const addressComponent = result.regeocode.addressComponent
209
- this.divisions.province = addressComponent.province
210
- this.divisions.city = addressComponent.city
211
- this.divisions.district = addressComponent.district
212
- this.divisions.township = addressComponent.township
213
- this.divisions.towncode = addressComponent.towncode
214
- this.divisions.street = addressComponent.street
215
-
216
- // 获取小区信息
217
- if (result.regeocode.aois && result.regeocode.aois.length) {
218
- this.divisions.area = result.regeocode.aois[0].name
219
- } else if (result.regeocode.pois && result.regeocode.pois.length) {
220
- this.divisions.area = result.regeocode.pois[0].name
221
- }
222
-
223
- this.divisions.str = `${addressComponent.province}${addressComponent.city}${addressComponent.district}${addressComponent.township}`
224
-
225
- if (this.divisions.str && result.regeocode.formattedAddress.startsWith(this.divisions.str)) {
226
- this.readOnlyDivisions = true
227
- }
228
-
229
- this.addressObj.address = result.regeocode.formattedAddress
230
- this.addressObj.lng_lat = `${center.lng},${center.lat}`
231
- }
232
- })
233
- })
234
-
235
- // 添加地图点击事件
236
- this.map.on('click', (e) => {
237
- const lnglat = e.lnglat
238
- this.curPosition = lnglat
239
-
240
- // 更新标记位置
241
- this.marker.setPosition([lnglat.lng, lnglat.lat])
242
-
243
- // 将地图中心移动到点击位置
244
- this.map.setCenter([lnglat.lng, lnglat.lat])
245
-
246
- // 获取点击位置的地址信息
247
- this.geocoder.getAddress(lnglat, (status, result) => {
248
- if (status === 'complete' && result.info === 'OK') {
249
- const addressComponent = result.regeocode.addressComponent
250
- this.divisions.province = addressComponent.province
251
- this.divisions.city = addressComponent.city
252
- this.divisions.district = addressComponent.district
253
- this.divisions.township = addressComponent.township
254
- this.divisions.towncode = addressComponent.towncode
255
- this.divisions.street = addressComponent.street
256
-
257
- // 获取小区信息
258
- if (result.regeocode.aois && result.regeocode.aois.length) {
259
- this.divisions.area = result.regeocode.aois[0].name
260
- } else if (result.regeocode.pois && result.regeocode.pois.length) {
261
- this.divisions.area = result.regeocode.pois[0].name
262
- }
263
-
264
- this.divisions.str = `${addressComponent.province}${addressComponent.city}${addressComponent.district}${addressComponent.township}`
265
-
266
- if (this.divisions.str && result.regeocode.formattedAddress.startsWith(this.divisions.str)) {
267
- this.readOnlyDivisions = true
268
- }
269
-
270
- if (!this.searchFlag) {
271
- this.addressObj.address = result.regeocode.formattedAddress
272
- this.addressObj.lng_lat = `${lnglat.lng},${lnglat.lat}`
273
- } else {
274
- this.searchFlag = false
275
- }
276
- }
277
- })
278
- })
279
- },
280
- onSelect (value) {
281
- // 选中地址后不触发更新坐标
282
- this.searchFlag = true
283
- const addressRegex = /^(.+?)\[/ // 匹配地址部分
284
- const labelRegex = /\[(.+?)\]/ // 匹配标签部分
285
- const coordinatesRegex = /<(.+?)>/ // 匹配坐标部分
286
-
287
- const addressMatch = value.match(addressRegex)
288
- const labelMatch = value.match(labelRegex)
289
- const coordinatesMatch = value.match(coordinatesRegex)
290
-
291
- this.addressObj.address = addressMatch ? addressMatch[1].trim() : null
292
- const label = labelMatch ? labelMatch[1].trim() : null
293
- this.addressObj.address = this.addressObj.address != null ? this.mergeAddressAndLabel(this.addressObj.address, label) : labelMatch[1].trim()
294
- this.addressObj.lng_lat = coordinatesMatch ? coordinatesMatch[1] : ''
295
-
296
- // 更新地图中心和标记位置
297
- const [lng, lat] = this.addressObj.lng_lat.split(',')
298
- this.map.setCenter([lng, lat])
299
- this.marker.setPosition([lng, lat])
300
- },
301
- mergeAddressAndLabel (address, label = '') {
302
- // 从地址的末尾开始匹配标签的开头部分
303
- for (let i = 0; i < label.length; i++) {
304
- const substring = label.substring(0, i + 1)
305
- if (address.endsWith(substring)) {
306
- // 找到最大匹配部分,拼接不重复的部分
307
- return address + label.substring(i + 1)
308
- }
309
- }
310
- // 如果没有重复部分,直接拼接
311
- return address + label
312
- },
313
- selected (_value, _addstr) {
314
- let result
315
- if (this.searchResultType !== 'Default') {
316
- if (this.searchResultType === 'Array') {
317
- result = [_addstr || this.addressObj.address, this.addressObj.lng_lat]
318
- } else {
319
- result = {}
320
- // 如果是坐标搜索,只返回坐标
321
- // 不知道为什么这么加 命名之前的组件已经返回了 lng_lat ,算了 还是相信后人的智慧吧
322
- if (this.attr.type === 'coordinateSearch') {
323
- result[this.resultKeys.address] = this.addressObj.lng_lat
324
- } else {
325
- result[this.resultKeys.address] = _addstr || this.addressObj.address
326
- result[this.resultKeys.coords] = this.addressObj.lng_lat
327
- }
328
- }
329
- }
330
- this.visible = false
331
- this.$emit('onSelect', JSON.stringify(result))
332
- // 如果传递了地址 是为了更新上级 不做省市区检验处理
333
- if (!_addstr) {
334
- // 如果是坐标搜索,输入框显示坐标
335
- if (this.attr.type === 'coordinateSearch') {
336
- this.addressInput = this.addressObj.lng_lat
337
- } else {
338
- this.addressInput = this.addressObj.address
339
- }
340
- this.$emit('onDivisionsChange', Object.assign({}, result, { divisions: this.divisions, vm: this }))
341
- }
342
- },
343
- // 懒加载检索方法
344
- fetchFunction (value) {
345
- if (value && this.mapAutocomplete) {
346
- this.searching = true
347
- this.lastFetchId += 1
348
- const fetchId = this.lastFetchId
349
- this.mapAutocomplete.search(value, (status, result) => {
350
- if (fetchId !== this.lastFetchId) {
351
- return
352
- }
353
- if (status === 'complete') {
354
- this.option = []
355
- const addressMap = {}
356
- const addressDisMap = {}
357
- result.tips.forEach((res) => {
358
- if (res.location) {
359
- if (!Object.prototype.hasOwnProperty.call(addressMap, res.district)) {
360
- addressMap[res.district] = []
361
- }
362
- const msgData = {
363
- label: res.name,
364
- value: res.location.lng + ',' + res.location.lat,
365
- address: res.address + '',
366
- word: value
367
- }
368
- const p1 = [this.curPosition.lng, this.curPosition.lat]
369
- const p2 = [res.location.lng, res.location.lat]
370
- // 判断与当前位置的距离
371
- let dis = 0
372
- try {
373
- // eslint-disable-next-line
374
- dis = AMap.GeometryUtil.distance(p1, p2)
375
- } catch (e) {
376
- console.log(e)
377
- }
378
- addressDisMap[res.district] = {}
379
- addressDisMap[res.district].dis = dis
380
- addressMap[res.district].push(msgData)
381
- }
382
- })
383
- for (const key of Object.keys(addressMap)) {
384
- this.option.push({
385
- title: key,
386
- dis: addressDisMap[key].dis,
387
- children: addressMap[key]
388
- })
389
- }
390
- // 根据 dis 排序
391
- this.option.sort((a, b) => {
392
- return a.dis - b.dis
393
- })
394
- }
395
- this.searching = false
396
- })
397
- }
398
- },
399
- // 获取数据
400
- getData (value, callback) {
401
- if (value !== '') {
402
- const logicName = this.attr.keyName
403
- const logic = logicName.substring(6)
404
- runLogic(logic, value, 'af-system').then(res => {
405
- callback(res)
406
- })
407
- }
408
- },
409
- // 关键字高亮
410
- highLight (value, word) {
411
- // 如果标题中包含,关键字就替换一下
412
- if (value.includes(word)) {
413
- value = value.replace(word,
414
- // 这里是替换成html格式的数据,最好再加一个样式权重,保险一点
415
- '<span style="color:red!important;">' + word + '</span>'
416
- )
417
- return value
418
- // eslint-disable-next-line brace-style
419
- }
420
- // 不包含的话还用这个
421
- else {
422
- return value
423
- }
424
- }
425
- },
426
- watch: {
427
- 'visible' (val) {
428
- if (val) {
429
- this.$nextTick(() => {
430
- GetGDMap(this.gaode_secret_key, this.gaode_key).then(aMap => {
431
- this.initMap(aMap)
432
- this.mapAutocomplete = new (aMap).AutoComplete({
433
- city: '全国',
434
- dragEnable: true,
435
- animateEnable: false
436
- })
437
- })
438
- })
439
- }
440
- },
441
- attr: {
442
- handler (newValue) {
443
- console.log('监听事件触发:', { new: newValue })
444
- if (newValue.type === 'coordinateSearch') {
445
- this.addressInput = newValue.formDefault_lng_lat
446
- } else if (newValue.type === 'addressSearch') {
447
- this.addressInput = newValue.formDefault
448
- }
449
- },
450
- deep: true, // 深度监听对象内部变化
451
- immediate: true
452
- }
453
- }
454
- }
455
- </script>
456
-
457
- <style lang="less" scoped>
458
- #addressSearchCombobox_map {
459
- margin: 1% 0;
460
- width: 100%;
461
- height: 50vh;
462
- text-align: center
463
- }
464
-
465
- .address_btn_logo {
466
- width: 1rem;
467
- margin-right: 0.5rem
468
- }
469
-
470
- .asc_descriptions .ant-descriptions-item-content {
471
- width: 80%;
472
- }
473
-
474
- .certain-category-search-wrapper {
475
- margin-bottom: -4rem;
476
- text-align: center;
477
- }
478
-
479
- #addressSearchCombobox {
480
-
481
- .certain-category-search-dropdown .ant-select-dropdown-menu-item-group-title {
482
- color: #666;
483
- font-weight: bold;
484
- font-size: 14px;
485
- }
486
-
487
- .certain-category-search-dropdown .ant-select-dropdown-menu-item-group {
488
- border-bottom: 1px solid #f6f6f6;
489
- }
490
-
491
- .certain-category-search-dropdown .ant-select-dropdown-menu-item {
492
- padding-left: 16px;
493
- }
494
-
495
- .certain-category-search-dropdown .ant-select-dropdown-menu-item.show-all {
496
- text-align: center;
497
- cursor: default;
498
- }
499
-
500
- .certain-category-search-dropdown .ant-select-dropdown-menu {
501
- max-height: 300px;
502
- }
503
-
504
- .certain-category-search-wrapper .certain-search-item-count {
505
- position: absolute;
506
- color: #999;
507
- right: 16px;
508
- }
509
-
510
- .certain-category-search-wrapper .certain-category-search.ant-select-focused,
511
- .certain-category-icon {
512
- color: #108ee9;
513
- }
514
-
515
- .certain-category-search-wrapper .certain-category-icon {
516
- color: #6e6e6e;
517
- transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
518
- font-size: 16px;
519
- }
520
-
521
- .addressName {
522
- margin-bottom: 0;
523
- font-size: 14px;
524
- font-weight: bold;
525
- }
526
-
527
- .addressRemark {
528
- margin-bottom: 0;
529
- font-size: 12px;
530
- }
531
- }
532
- </style>
1
+ <template>
2
+ <div id="addressSearchCombobox" style="padding: 4px 0;">
3
+ <div style="display: flex; width: 100%;">
4
+ <a-input-group style="flex: 1; display: flex;padding-top: 1px;" compact>
5
+ <a-input
6
+ v-model="addressInput"
7
+ :read-only="readOnly || !this.addressObj.address"
8
+ @change="change"
9
+ style="flex: 1; min-width: 0;"
10
+ placeholder="请选择地址信息"/>
11
+ <a-button
12
+ v-if="attr?.inputOnAfterName && attr?.inputOnAfterFunc"
13
+ style="min-width: 4rem; max-width: 6rem;"
14
+ type="primary"
15
+ @click="emitFunc(attr?.inputOnAfterFunc, addressInput)">
16
+ {{ attr?.inputOnAfterName }}
17
+ </a-button>
18
+ </a-input-group>
19
+ <a-button
20
+ style="flex-shrink: 0; margin-left: 0.2rem;"
21
+ :type="attr?.inputOnAfterName ? 'primary' : ''"
22
+ @click="visible = true">
23
+ <IcMapIcon/>
24
+ 定位
25
+ </a-button>
26
+ </div>
27
+ <a-modal
28
+ v-model="visible"
29
+ title="地址选择"
30
+ @ok="selected"
31
+ :zIndex="m_index"
32
+ :destroyOnClose="true"
33
+ width="70%"
34
+ >
35
+ <div class="certain-category-search-wrapper">
36
+ <a-auto-complete
37
+ style="right: 0px;width: 90%;z-index:2;margin-top:2%;"
38
+ :disabled="!mapAutocomplete"
39
+ class="certain-category-search"
40
+ dropdown-class-name="certain-category-search-dropdown"
41
+ option-label-prop="value"
42
+ placeholder="输入地址关键字搜索"
43
+ @search="fetchFunction"
44
+ @select="onSelect"
45
+ >
46
+ <a-spin v-if="searching" slot="notFoundContent" size="small"/>
47
+ <template slot="dataSource">
48
+ <a-select-opt-group v-for="group in option" :key="group.title">
49
+ <span
50
+ slot="label">
51
+ <a-icon type="bank"/> {{ group.title }}
52
+ </span>
53
+ <a-select-option
54
+ v-for="address in group.children"
55
+ :key="address.address+'['+address.label+']'+' <' + address.value + '>'"
56
+ >
57
+ <p class="addressName">
58
+ <a-icon type="environment"/>
59
+ <span v-html="highLight(address.label, address.word)"></span></p>
60
+ <p v-if="address.address !== '[]'" class="addressRemark">
61
+ {{ address.address }}
62
+ </p>
63
+ </a-select-option>
64
+ </a-select-opt-group>
65
+ </template>
66
+ <a-input>
67
+ <a-icon slot="suffix" class="certain-category-icon" type="search"/>
68
+ </a-input>
69
+ </a-auto-complete>
70
+ </div>
71
+ <div id="addressSearchCombobox_map"/>
72
+ <a-descriptions
73
+ bordered
74
+ class="asc_descriptions"
75
+ :column="{ xxl: 2, xl: 2, lg: 2, md: 2, sm: 1, xs: 1 }"
76
+ >
77
+ <a-descriptions-item label="坐标" span="2"><span>{{ addressObj.lng_lat }}</span></a-descriptions-item>
78
+ <a-descriptions-item label="地址" span="2" v-if="attr.type != 'coordinateSearch'"><span>{{ addressObj.address }}</span></a-descriptions-item>
79
+ </a-descriptions>
80
+ </a-modal>
81
+ </div>
82
+ </template>
83
+ <script>
84
+
85
+ import { GetGDMap } from '@vue2-client/utils/map-utils'
86
+ import { debounce } from 'ant-design-vue/lib/vc-table/src/utils'
87
+ import { mapState } from 'vuex'
88
+ import { runLogic } from '@vue2-client/services/api/common'
89
+ import IcMapIcon from '@vue2-client/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue'
90
+
91
+ export default {
92
+ name: 'AddressSearchCombobox',
93
+ components: { IcMapIcon },
94
+ data () {
95
+ // 检索去抖
96
+ this.fetchFunction = debounce(this.fetchFunction, 300)
97
+ return {
98
+ // 地址搜索联想
99
+ mapAutocomplete: undefined,
100
+ // 检索结果
101
+ option: [],
102
+ // 最后检索版本
103
+ lastFetchId: 0,
104
+ // 检索中
105
+ searching: false,
106
+ addressObj: {
107
+ lng_lat: '',
108
+ address: '',
109
+ },
110
+ visible: false,
111
+ map: null,
112
+ m_index: 1002,
113
+ positionPicker: null,
114
+ addressInput: this.searchResult,
115
+ // 选择地址返回的行政区域
116
+ divisions: {},
117
+ // 生成地址串中省市区街道信息禁止修改
118
+ readOnlyDivisions: false,
119
+ // cur 位置
120
+ curPosition: [108.878703, 34.223701],
121
+ searchFlag: false,
122
+ }
123
+ },
124
+ computed: {
125
+ ...mapState('setting', ['isMobile', 'gaode_key', 'gaode_secret_key'])
126
+ },
127
+ props: {
128
+ attr: {
129
+ type: Object,
130
+ default: () => {
131
+ }
132
+ },
133
+ emitFunc: {
134
+ type: Function,
135
+ default: () => {
136
+ }
137
+ },
138
+ searchResult: {
139
+ type: String,
140
+ default: undefined
141
+ },
142
+ // 返回数据格式
143
+ searchResultType: {
144
+ type: String,
145
+ default: 'Default'
146
+ // default: 'Array'
147
+ // default: 'Object'
148
+ },
149
+ // Object 返回格式时 可以自定义key
150
+ resultKeys: {
151
+ type: Object,
152
+ default: () => {
153
+ return { address: 'address', coords: 'coords' }
154
+ }
155
+ },
156
+ readOnly: {
157
+ type: Boolean,
158
+ default: false
159
+ },
160
+ // 省市区是否可以修改
161
+ divisionsChange: {
162
+ type: Boolean,
163
+ default: false
164
+ },
165
+ },
166
+ created () {
167
+ },
168
+ mounted () {
169
+ },
170
+ methods: {
171
+ change (value) {
172
+ if (this.readOnlyDivisions && !this.divisionsChange) {
173
+ // 如果省市区街道信息禁止修改
174
+ if (this.addressInput.includes('省') && this.addressInput.includes('市') && this.divisions.str && !this.addressInput.startsWith(this.divisions.str)) {
175
+ this.addressInput = this.addressObj.address
176
+ this.$message.info('省市区街道信息请从选择新地址以变更')
177
+ return
178
+ }
179
+ }
180
+ debounce(() => {
181
+ this.selected(null, this.addressInput)
182
+ }, 200)()
183
+ },
184
+ initMap (aMap) {
185
+ this.map = new (aMap).Map('addressSearchCombobox_map', { // 设置地图容器id
186
+ resizeEnable: true, // 是否监控地图容器尺寸变化
187
+ zoom: 10, // 初始化地图层级
188
+ })
189
+ this.geocoder = new (aMap).Geocoder({
190
+ radius: 500 // 范围,默认:500
191
+ })
192
+ this.map.addControl(new (aMap).ToolBar()) // 初始化工具插件
193
+
194
+ // 等待地图加载完成
195
+ this.map.on('complete', () => {
196
+ // 获取地图中心点
197
+ const center = this.map.getCenter()
198
+
199
+ // 创建标记对象 - 使用默认样式
200
+ this.marker = new (aMap).Marker({
201
+ position: [center.lng, center.lat], // 使用地图中心点作为初始位置
202
+ map: this.map // 直接在地图创建时添加标记
203
+ })
204
+
205
+ // 获取中心点地址信息
206
+ this.geocoder.getAddress(center, (status, result) => {
207
+ if (status === 'complete' && result.info === 'OK') {
208
+ const addressComponent = result.regeocode.addressComponent
209
+ this.divisions.province = addressComponent.province
210
+ this.divisions.city = addressComponent.city
211
+ this.divisions.district = addressComponent.district
212
+ this.divisions.township = addressComponent.township
213
+ this.divisions.towncode = addressComponent.towncode
214
+ this.divisions.street = addressComponent.street
215
+
216
+ // 获取小区信息
217
+ if (result.regeocode.aois && result.regeocode.aois.length) {
218
+ this.divisions.area = result.regeocode.aois[0].name
219
+ } else if (result.regeocode.pois && result.regeocode.pois.length) {
220
+ this.divisions.area = result.regeocode.pois[0].name
221
+ }
222
+
223
+ this.divisions.str = `${addressComponent.province}${addressComponent.city}${addressComponent.district}${addressComponent.township}`
224
+
225
+ if (this.divisions.str && result.regeocode.formattedAddress.startsWith(this.divisions.str)) {
226
+ this.readOnlyDivisions = true
227
+ }
228
+
229
+ this.addressObj.address = result.regeocode.formattedAddress
230
+ this.addressObj.lng_lat = `${center.lng},${center.lat}`
231
+ }
232
+ })
233
+ })
234
+
235
+ // 添加地图点击事件
236
+ this.map.on('click', (e) => {
237
+ const lnglat = e.lnglat
238
+ this.curPosition = lnglat
239
+
240
+ // 更新标记位置
241
+ this.marker.setPosition([lnglat.lng, lnglat.lat])
242
+
243
+ // 将地图中心移动到点击位置
244
+ this.map.setCenter([lnglat.lng, lnglat.lat])
245
+
246
+ // 获取点击位置的地址信息
247
+ this.geocoder.getAddress(lnglat, (status, result) => {
248
+ if (status === 'complete' && result.info === 'OK') {
249
+ const addressComponent = result.regeocode.addressComponent
250
+ this.divisions.province = addressComponent.province
251
+ this.divisions.city = addressComponent.city
252
+ this.divisions.district = addressComponent.district
253
+ this.divisions.township = addressComponent.township
254
+ this.divisions.towncode = addressComponent.towncode
255
+ this.divisions.street = addressComponent.street
256
+
257
+ // 获取小区信息
258
+ if (result.regeocode.aois && result.regeocode.aois.length) {
259
+ this.divisions.area = result.regeocode.aois[0].name
260
+ } else if (result.regeocode.pois && result.regeocode.pois.length) {
261
+ this.divisions.area = result.regeocode.pois[0].name
262
+ }
263
+
264
+ this.divisions.str = `${addressComponent.province}${addressComponent.city}${addressComponent.district}${addressComponent.township}`
265
+
266
+ if (this.divisions.str && result.regeocode.formattedAddress.startsWith(this.divisions.str)) {
267
+ this.readOnlyDivisions = true
268
+ }
269
+
270
+ if (!this.searchFlag) {
271
+ this.addressObj.address = result.regeocode.formattedAddress
272
+ this.addressObj.lng_lat = `${lnglat.lng},${lnglat.lat}`
273
+ } else {
274
+ this.searchFlag = false
275
+ }
276
+ }
277
+ })
278
+ })
279
+ },
280
+ onSelect (value) {
281
+ // 选中地址后不触发更新坐标
282
+ this.searchFlag = true
283
+ const addressRegex = /^(.+?)\[/ // 匹配地址部分
284
+ const labelRegex = /\[(.+?)\]/ // 匹配标签部分
285
+ const coordinatesRegex = /<(.+?)>/ // 匹配坐标部分
286
+
287
+ const addressMatch = value.match(addressRegex)
288
+ const labelMatch = value.match(labelRegex)
289
+ const coordinatesMatch = value.match(coordinatesRegex)
290
+
291
+ this.addressObj.address = addressMatch ? addressMatch[1].trim() : null
292
+ const label = labelMatch ? labelMatch[1].trim() : null
293
+ this.addressObj.address = this.addressObj.address != null ? this.mergeAddressAndLabel(this.addressObj.address, label) : labelMatch[1].trim()
294
+ this.addressObj.lng_lat = coordinatesMatch ? coordinatesMatch[1] : ''
295
+
296
+ // 更新地图中心和标记位置
297
+ const [lng, lat] = this.addressObj.lng_lat.split(',')
298
+ this.map.setCenter([lng, lat])
299
+ this.marker.setPosition([lng, lat])
300
+ },
301
+ mergeAddressAndLabel (address, label = '') {
302
+ // 从地址的末尾开始匹配标签的开头部分
303
+ for (let i = 0; i < label.length; i++) {
304
+ const substring = label.substring(0, i + 1)
305
+ if (address.endsWith(substring)) {
306
+ // 找到最大匹配部分,拼接不重复的部分
307
+ return address + label.substring(i + 1)
308
+ }
309
+ }
310
+ // 如果没有重复部分,直接拼接
311
+ return address + label
312
+ },
313
+ selected (_value, _addstr) {
314
+ let result
315
+ if (this.searchResultType !== 'Default') {
316
+ if (this.searchResultType === 'Array') {
317
+ result = [_addstr || this.addressObj.address, this.addressObj.lng_lat]
318
+ } else {
319
+ result = {}
320
+ // 如果是坐标搜索,只返回坐标
321
+ // 不知道为什么这么加 命名之前的组件已经返回了 lng_lat ,算了 还是相信后人的智慧吧
322
+ if (this.attr.type === 'coordinateSearch') {
323
+ result[this.resultKeys.address] = this.addressObj.lng_lat
324
+ } else {
325
+ result[this.resultKeys.address] = _addstr || this.addressObj.address
326
+ result[this.resultKeys.coords] = this.addressObj.lng_lat
327
+ }
328
+ }
329
+ }
330
+ this.visible = false
331
+ this.$emit('onSelect', JSON.stringify(result))
332
+ // 如果传递了地址 是为了更新上级 不做省市区检验处理
333
+ if (!_addstr) {
334
+ // 如果是坐标搜索,输入框显示坐标
335
+ if (this.attr.type === 'coordinateSearch') {
336
+ this.addressInput = this.addressObj.lng_lat
337
+ } else {
338
+ this.addressInput = this.addressObj.address
339
+ }
340
+ this.$emit('onDivisionsChange', Object.assign({}, result, { divisions: this.divisions, vm: this }))
341
+ }
342
+ },
343
+ // 懒加载检索方法
344
+ fetchFunction (value) {
345
+ if (value && this.mapAutocomplete) {
346
+ this.searching = true
347
+ this.lastFetchId += 1
348
+ const fetchId = this.lastFetchId
349
+ this.mapAutocomplete.search(value, (status, result) => {
350
+ if (fetchId !== this.lastFetchId) {
351
+ return
352
+ }
353
+ if (status === 'complete') {
354
+ this.option = []
355
+ const addressMap = {}
356
+ const addressDisMap = {}
357
+ result.tips.forEach((res) => {
358
+ if (res.location) {
359
+ if (!Object.prototype.hasOwnProperty.call(addressMap, res.district)) {
360
+ addressMap[res.district] = []
361
+ }
362
+ const msgData = {
363
+ label: res.name,
364
+ value: res.location.lng + ',' + res.location.lat,
365
+ address: res.address + '',
366
+ word: value
367
+ }
368
+ const p1 = [this.curPosition.lng, this.curPosition.lat]
369
+ const p2 = [res.location.lng, res.location.lat]
370
+ // 判断与当前位置的距离
371
+ let dis = 0
372
+ try {
373
+ // eslint-disable-next-line
374
+ dis = AMap.GeometryUtil.distance(p1, p2)
375
+ } catch (e) {
376
+ console.log(e)
377
+ }
378
+ addressDisMap[res.district] = {}
379
+ addressDisMap[res.district].dis = dis
380
+ addressMap[res.district].push(msgData)
381
+ }
382
+ })
383
+ for (const key of Object.keys(addressMap)) {
384
+ this.option.push({
385
+ title: key,
386
+ dis: addressDisMap[key].dis,
387
+ children: addressMap[key]
388
+ })
389
+ }
390
+ // 根据 dis 排序
391
+ this.option.sort((a, b) => {
392
+ return a.dis - b.dis
393
+ })
394
+ }
395
+ this.searching = false
396
+ })
397
+ }
398
+ },
399
+ // 获取数据
400
+ getData (value, callback) {
401
+ if (value !== '') {
402
+ const logicName = this.attr.keyName
403
+ const logic = logicName.substring(6)
404
+ runLogic(logic, value, 'af-system').then(res => {
405
+ callback(res)
406
+ })
407
+ }
408
+ },
409
+ // 关键字高亮
410
+ highLight (value, word) {
411
+ // 如果标题中包含,关键字就替换一下
412
+ if (value.includes(word)) {
413
+ value = value.replace(word,
414
+ // 这里是替换成html格式的数据,最好再加一个样式权重,保险一点
415
+ '<span style="color:red!important;">' + word + '</span>'
416
+ )
417
+ return value
418
+ // eslint-disable-next-line brace-style
419
+ }
420
+ // 不包含的话还用这个
421
+ else {
422
+ return value
423
+ }
424
+ }
425
+ },
426
+ watch: {
427
+ 'visible' (val) {
428
+ if (val) {
429
+ this.$nextTick(() => {
430
+ GetGDMap(this.gaode_secret_key, this.gaode_key).then(aMap => {
431
+ this.initMap(aMap)
432
+ this.mapAutocomplete = new (aMap).AutoComplete({
433
+ city: '全国',
434
+ dragEnable: true,
435
+ animateEnable: false
436
+ })
437
+ })
438
+ })
439
+ }
440
+ },
441
+ attr: {
442
+ handler (newValue) {
443
+ console.log('监听事件触发:', { new: newValue })
444
+ if (newValue.type === 'coordinateSearch') {
445
+ this.addressInput = newValue.formDefault_lng_lat
446
+ } else if (newValue.type === 'addressSearch') {
447
+ this.addressInput = newValue.formDefault
448
+ }
449
+ },
450
+ deep: true, // 深度监听对象内部变化
451
+ immediate: true
452
+ }
453
+ }
454
+ }
455
+ </script>
456
+
457
+ <style lang="less" scoped>
458
+ #addressSearchCombobox_map {
459
+ margin: 1% 0;
460
+ width: 100%;
461
+ height: 50vh;
462
+ text-align: center
463
+ }
464
+
465
+ .address_btn_logo {
466
+ width: 1rem;
467
+ margin-right: 0.5rem
468
+ }
469
+
470
+ .asc_descriptions .ant-descriptions-item-content {
471
+ width: 80%;
472
+ }
473
+
474
+ .certain-category-search-wrapper {
475
+ margin-bottom: -4rem;
476
+ text-align: center;
477
+ }
478
+
479
+ #addressSearchCombobox {
480
+
481
+ .certain-category-search-dropdown .ant-select-dropdown-menu-item-group-title {
482
+ color: #666;
483
+ font-weight: bold;
484
+ font-size: 14px;
485
+ }
486
+
487
+ .certain-category-search-dropdown .ant-select-dropdown-menu-item-group {
488
+ border-bottom: 1px solid #f6f6f6;
489
+ }
490
+
491
+ .certain-category-search-dropdown .ant-select-dropdown-menu-item {
492
+ padding-left: 16px;
493
+ }
494
+
495
+ .certain-category-search-dropdown .ant-select-dropdown-menu-item.show-all {
496
+ text-align: center;
497
+ cursor: default;
498
+ }
499
+
500
+ .certain-category-search-dropdown .ant-select-dropdown-menu {
501
+ max-height: 300px;
502
+ }
503
+
504
+ .certain-category-search-wrapper .certain-search-item-count {
505
+ position: absolute;
506
+ color: #999;
507
+ right: 16px;
508
+ }
509
+
510
+ .certain-category-search-wrapper .certain-category-search.ant-select-focused,
511
+ .certain-category-icon {
512
+ color: #108ee9;
513
+ }
514
+
515
+ .certain-category-search-wrapper .certain-category-icon {
516
+ color: #6e6e6e;
517
+ transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
518
+ font-size: 16px;
519
+ }
520
+
521
+ .addressName {
522
+ margin-bottom: 0;
523
+ font-size: 14px;
524
+ font-weight: bold;
525
+ }
526
+
527
+ .addressRemark {
528
+ margin-bottom: 0;
529
+ font-size: 12px;
530
+ }
531
+ }
532
+ </style>