vue2-client 1.12.59 → 1.12.61

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 (388) hide show
  1. package/.cursorrules +19 -19
  2. package/.env.gaslink +19 -19
  3. package/.env.his +19 -19
  4. package/.env.iot +19 -19
  5. package/.env.liuli +19 -19
  6. package/.env.revenue +19 -19
  7. package/.env.scada +19 -19
  8. package/.eslintrc.js +90 -90
  9. package/CHANGELOG.md +824 -824
  10. package/Components.md +60 -60
  11. package/docs/Logic/345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +45 -45
  12. package/docs/LowCode/lowcode.md +155 -155
  13. package/docs/LowCode/lowcodeForDeveloper.md +230 -230
  14. package/docs/index.md +30 -30
  15. package/index.js +31 -31
  16. package/jest-transform-stub.js +8 -8
  17. package/jest.setup.js +7 -7
  18. package/jsconfig.json +19 -19
  19. package/package.json +108 -108
  20. package/public/his/editor/editor.html +51 -51
  21. package/public/his/editor/mock/bind_data.html +779 -779
  22. package/public/his/editor/mock/data_table.html +40 -40
  23. package/public/his/editor/mock/sign.html +75 -75
  24. package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
  25. package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
  26. package/public/his/editor/vender/date97/WdatePicker.js +677 -677
  27. package/public/his/editor/vender/date97/calendar.js +4 -4
  28. package/public/his/editor/vender/date97/lang/en.js +13 -13
  29. package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
  30. package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
  31. package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
  32. package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
  33. package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
  34. package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
  35. package/public/his/editor/vender/diff.js +1627 -1627
  36. package/public/his/editor/vender/editor.js +1 -1
  37. package/public/his/editor/vender/fabric.js +31187 -31187
  38. package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
  39. package/public/his/editor/vender/jquery/jquery.js +10872 -10872
  40. package/public/his/editor/vender/jquery/jquery.print.js +255 -255
  41. package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
  42. package/public/his/editor/vender/mui/mui.min.css +4 -4
  43. package/public/his/editor/vender/mui/mui.min.js +5 -5
  44. package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
  45. package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
  46. package/public/his/editor/vender/qrcode.js +7 -7
  47. package/public/his/editor/vender/requirejs/require.js +2145 -2145
  48. package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
  49. package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
  50. package/public/his/editor/vender/signature/jSignature.js +1486 -1486
  51. package/public/his/editor/vender/validator.js +5094 -5094
  52. package/public/his/editor/vender/weui/weui.css +5659 -5659
  53. package/public/his/editor/vender/weui/weui.min.css +4 -4
  54. package/public/his/editor/vender/weui/weui.min.js +11 -11
  55. package/public/index.html +27 -27
  56. package/src/ReportView.js +19 -19
  57. package/src/assets/img/querySlotDemo.svg +15 -15
  58. package/src/assets/svg/badtwo.svg +1 -1
  59. package/src/assets/svg/goodtwo.svg +1 -1
  60. package/src/base-client/components/AI/AskAiBtn.vue +136 -136
  61. package/src/base-client/components/AI/demo.vue +31 -31
  62. package/src/base-client/components/common/AMisRender/index.js +3 -3
  63. package/src/base-client/components/common/AMisRender/index.vue +263 -263
  64. package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +470 -470
  65. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  66. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  67. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  68. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  69. package/src/base-client/components/common/CitySelect/index.js +3 -3
  70. package/src/base-client/components/common/CitySelect/index.md +109 -109
  71. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  72. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  73. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  74. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  75. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  76. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  77. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  78. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  79. package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +149 -149
  80. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  81. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  82. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  83. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  84. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  85. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  86. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  87. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  88. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  89. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  90. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  91. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  92. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  93. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  94. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  95. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  96. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  97. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  98. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  99. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  100. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  101. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  102. package/src/base-client/components/common/Recording/index.js +3 -3
  103. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  104. package/src/base-client/components/common/Tree/index.js +2 -2
  105. package/src/base-client/components/common/Upload/index.js +3 -3
  106. package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
  107. package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +1156 -1156
  108. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  109. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +303 -303
  110. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  111. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  112. package/src/base-client/components/common/XAddReport/index.js +3 -3
  113. package/src/base-client/components/common/XAddReport/index.md +56 -56
  114. package/src/base-client/components/common/XBadge/XBadge.vue +94 -94
  115. package/src/base-client/components/common/XButtons/XButtonDemo.vue +28 -28
  116. package/src/base-client/components/common/XButtons/XButtons.vue +71 -71
  117. package/src/base-client/components/common/XButtons/index.js +3 -3
  118. package/src/base-client/components/common/XButtons/index.md +61 -61
  119. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  120. package/src/base-client/components/common/XCheckList/XCheckList.vue +106 -106
  121. package/src/base-client/components/common/XCheckList/XCheckListDemo.vue +41 -41
  122. package/src/base-client/components/common/XCollapse/XCollapse.vue +176 -154
  123. package/src/base-client/components/common/XCollapse/XCollapseDemo.vue +15 -0
  124. package/src/base-client/components/common/XDataCard/index.js +3 -3
  125. package/src/base-client/components/common/XDataCard/index.md +1 -1
  126. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  127. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  128. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  129. package/src/base-client/components/common/XDatePicker/demo.vue +153 -153
  130. package/src/base-client/components/common/XDatePicker/index.vue +269 -269
  131. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  132. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  133. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +238 -238
  134. package/src/base-client/components/common/XDetailsView/index.js +3 -3
  135. package/src/base-client/components/common/XForm/XForm.vue +404 -404
  136. package/src/base-client/components/common/XForm/XFormItem.vue +1310 -1310
  137. package/src/base-client/components/common/XForm/XStatusButton.vue +54 -54
  138. package/src/base-client/components/common/XForm/XTreeSelect.vue +270 -270
  139. package/src/base-client/components/common/XForm/index.md +178 -178
  140. package/src/base-client/components/common/XForm/itemComponent/XClickChangeBtn/index.vue +49 -49
  141. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  142. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  143. package/src/base-client/components/common/XFormGroupDetails/XFormGroupDetails.vue +72 -72
  144. package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
  145. package/src/base-client/components/common/XFormTable/index.md +92 -92
  146. package/src/base-client/components/common/XImportExcel/XImportExcel.vue +167 -167
  147. package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
  148. package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
  149. package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
  150. package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
  151. package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
  152. package/src/base-client/components/common/XPrint/PrintBill.vue +302 -302
  153. package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
  154. package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
  155. package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
  156. package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
  157. package/src/base-client/components/common/XPrint/index.vue +97 -97
  158. package/src/base-client/components/common/XReport/XReport.vue +892 -892
  159. package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
  160. package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
  161. package/src/base-client/components/common/XReport/index.js +3 -3
  162. package/src/base-client/components/common/XReport/index.md +44 -44
  163. package/src/base-client/components/common/XReport/print.js +186 -186
  164. package/src/base-client/components/common/XReportDrawer/index.js +3 -3
  165. package/src/base-client/components/common/XReportGrid/XReportDesign.vue +616 -398
  166. package/src/base-client/components/common/XReportGrid/XReportTrGroup.vue +700 -699
  167. package/src/base-client/components/common/XReportGrid/index.js +3 -3
  168. package/src/base-client/components/common/XReportGrid/index.md +44 -44
  169. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  170. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  171. package/src/base-client/components/common/XReportSlot/index.md +48 -48
  172. package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
  173. package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
  174. package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
  175. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  176. package/src/base-client/components/common/XStepView/index.js +3 -3
  177. package/src/base-client/components/common/XStepView/index.md +31 -31
  178. package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
  179. package/src/base-client/components/common/XTab/index.js +3 -3
  180. package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
  181. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  182. package/src/base-client/components/common/XTable/index.md +255 -255
  183. package/src/base-client/components/common/XTagGroup/index.vue +52 -52
  184. package/src/base-client/components/common/XTree/XTree.vue +424 -424
  185. package/src/base-client/components/common/XTree/index.js +3 -3
  186. package/src/base-client/components/common/XTree/index.md +36 -36
  187. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
  188. package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
  189. package/src/base-client/components/common/richTextModal/index.vue +56 -56
  190. package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
  191. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  192. package/src/base-client/components/his/XList/XList.vue +86 -0
  193. package/src/base-client/components/his/XSidebar/XSidebar.vue +1 -2
  194. package/src/base-client/components/index.js +51 -51
  195. package/src/base-client/components/layout/XPageView/XErrorView.vue +11 -11
  196. package/src/base-client/components/layout/XPageView/XPageView.vue +155 -155
  197. package/src/base-client/components/layout/XPageView/index.js +3 -3
  198. package/src/base-client/components/layout/XPageView/index.md +38 -38
  199. package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
  200. package/src/base-client/components/layout/XTreeView/index.js +3 -3
  201. package/src/base-client/components/layout/XTreeView/index.md +46 -46
  202. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  203. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  204. package/src/base-client/plugins/AppData.js +126 -126
  205. package/src/base-client/plugins/Config.js +19 -19
  206. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  207. package/src/base-client/plugins/Recording.js +258 -258
  208. package/src/base-client/plugins/index.js +23 -23
  209. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  210. package/src/components/Charts/Bar.vue +62 -62
  211. package/src/components/Charts/ChartCard.vue +134 -134
  212. package/src/components/Charts/Liquid.vue +67 -67
  213. package/src/components/Charts/MiniArea.vue +39 -39
  214. package/src/components/Charts/MiniBar.vue +39 -39
  215. package/src/components/Charts/MiniProgress.vue +75 -75
  216. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  217. package/src/components/Charts/Radar.vue +68 -68
  218. package/src/components/Charts/RankList.vue +77 -77
  219. package/src/components/Charts/TagCloud.vue +113 -113
  220. package/src/components/Charts/TransferBar.vue +64 -64
  221. package/src/components/Charts/Trend.vue +82 -82
  222. package/src/components/Charts/chart.less +12 -12
  223. package/src/components/Charts/smooth.area.less +13 -13
  224. package/src/components/CodeMirror/inedx.vue +118 -118
  225. package/src/components/CodeMirror/setting.js +40 -40
  226. package/src/components/FilePreview/FilePreview.vue +181 -181
  227. package/src/components/FilePreview/FilePreviewDemo.vue +30 -30
  228. package/src/components/HeightScanner/index.vue +571 -571
  229. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  230. package/src/components/NumberInfo/index.js +3 -3
  231. package/src/components/NumberInfo/index.less +54 -54
  232. package/src/components/NumberInfo/index.md +43 -43
  233. package/src/components/STable/index.js +434 -434
  234. package/src/components/card/ChartCard.vue +79 -79
  235. package/src/components/chart/Bar.vue +60 -60
  236. package/src/components/chart/MiniArea.vue +67 -67
  237. package/src/components/chart/MiniBar.vue +59 -59
  238. package/src/components/chart/MiniProgress.vue +57 -57
  239. package/src/components/chart/Radar.vue +80 -80
  240. package/src/components/chart/RankingList.vue +60 -60
  241. package/src/components/chart/Trend.vue +79 -79
  242. package/src/components/chart/index.less +9 -9
  243. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  244. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  245. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  246. package/src/components/checkbox/index.js +9 -9
  247. package/src/components/exception/ExceptionPage.vue +70 -70
  248. package/src/components/g2Charts/constants.js +202 -202
  249. package/src/components/g2Charts/demo.vue +808 -808
  250. package/src/components/g2Charts/designer.vue +228 -228
  251. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  252. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  253. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  254. package/src/components/g2Charts/index.vue +397 -397
  255. package/src/components/index.js +36 -36
  256. package/src/components/input/IInput.vue +66 -66
  257. package/src/components/menu/SideMenu.vue +75 -75
  258. package/src/components/menu/menu.js +273 -273
  259. package/src/components/setting/Setting.vue +234 -234
  260. package/src/components/tool/AStepItem.vue +60 -60
  261. package/src/config/CreateQueryConfig.js +325 -325
  262. package/src/config/default/antd.config.js +89 -89
  263. package/src/config/default/setting.config.js +55 -55
  264. package/src/font-style/font.css +4 -4
  265. package/src/layouts/CommonLayout.vue +56 -56
  266. package/src/layouts/PageLayout.vue +151 -151
  267. package/src/layouts/SinglePageView.vue +136 -136
  268. package/src/layouts/header/AdminHeader.vue +132 -132
  269. package/src/layouts/header/HeaderNotice.vue +177 -177
  270. package/src/layouts/header/InstitutionDetail.vue +181 -181
  271. package/src/layouts/tabs/TabsHead.vue +189 -189
  272. package/src/layouts/tabs/TabsView.vue +389 -389
  273. package/src/lib.js +1 -1
  274. package/src/main.js +34 -34
  275. package/src/mixins/formValidationMixin.js +46 -46
  276. package/src/mock/extend/index.js +84 -84
  277. package/src/mock/goods/index.js +108 -108
  278. package/src/pages/AMisDemo/AMisDemo.vue +325 -325
  279. package/src/pages/AMisDemo/AMisDemo2.vue +74 -74
  280. package/src/pages/DefaultExample/index.vue +77 -77
  281. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  282. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  283. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  284. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  285. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  286. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  287. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  288. package/src/pages/DynamicStatistics/index.vue +282 -282
  289. package/src/pages/Example/childIndex.vue +15 -15
  290. package/src/pages/Example/index.vue +30 -30
  291. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  292. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  293. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  294. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  295. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  296. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  297. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  298. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  299. package/src/pages/Recording/index.vue +77 -77
  300. package/src/pages/ServiceReview/index.vue +284 -284
  301. package/src/pages/SubExample/index.vue +26 -26
  302. package/src/pages/WorkflowDetail/WorkflowDetail.vue +235 -235
  303. package/src/pages/WorkflowDetail/WorkflowPageDetail/LeaveMessage.vue +131 -131
  304. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  305. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformation.vue +302 -302
  306. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformationDetails.vue +276 -276
  307. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandleReso.vue +997 -997
  308. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowTimeline.vue +222 -222
  309. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkOrderParentDetails.vue +233 -233
  310. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowDetailResso.vue +261 -261
  311. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowListResolution.vue +248 -248
  312. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowLog.vue +73 -73
  313. package/src/pages/XPageViewExample/index.vue +38 -38
  314. package/src/pages/XReportView/index.vue +64 -64
  315. package/src/pages/XTreeOneProExample/index.vue +67 -67
  316. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  317. package/src/pages/login/Login.vue +378 -378
  318. package/src/pages/login/LoginV3.vue +389 -389
  319. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  320. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  321. package/src/pages/report/ReportTable.js +124 -124
  322. package/src/pages/resourceManage/orgListManage.vue +98 -98
  323. package/src/pages/system/dictionary/index.vue +44 -44
  324. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  325. package/src/pages/system/monitor/operLog/index.vue +37 -37
  326. package/src/pages/system/settings/modifyPassword.vue +117 -117
  327. package/src/pages/system/ticket/index.vue +480 -480
  328. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  329. package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
  330. package/src/pages/userInfoDetailManage/FillCardRecordQuery/index.vue +76 -76
  331. package/src/pages/userInfoDetailManage/FillGasRecordQuery/index.vue +74 -74
  332. package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
  333. package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
  334. package/src/pages/userInfoDetailManage/MachineRecordQuery/index.vue +74 -74
  335. package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
  336. package/src/pages/userInfoDetailManage/OtherChargeRecordQuery/index.vue +74 -74
  337. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
  338. package/src/pages/userInfoDetailManage/UserChargeRecordQuery/index.vue +92 -92
  339. package/src/pages/userInfoDetailManage/UserHandRecordQuery/index.vue +86 -86
  340. package/src/pages/userInfoDetailManage/UserRecordQuery/index.vue +73 -73
  341. package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
  342. package/src/pages/userInfoDetailManage/userInfoDetailQueryTabs.vue +132 -132
  343. package/src/plugins/EventLogPlugin.js +33 -33
  344. package/src/plugins/FindParentsData.js +17 -17
  345. package/src/router/async/config.async.js +35 -35
  346. package/src/router/async/router.map.js +122 -119
  347. package/src/router/index.js +27 -27
  348. package/src/router.js +19 -19
  349. package/src/services/DataModel.js +30 -30
  350. package/src/services/LodopFuncs.js +137 -137
  351. package/src/services/api/TicketDetailsViewApi.js +46 -46
  352. package/src/services/api/cas.js +79 -79
  353. package/src/services/api/common.js +346 -346
  354. package/src/services/api/entity.js +18 -18
  355. package/src/services/api/index.js +17 -17
  356. package/src/services/api/restTools.js +145 -145
  357. package/src/services/api/workFlow.js +63 -63
  358. package/src/services/apiService.js +16 -16
  359. package/src/store/modules/account.js +115 -115
  360. package/src/store/modules/index.js +5 -5
  361. package/src/store/modules/lowCode.js +33 -33
  362. package/src/store/modules/setting.js +119 -119
  363. package/src/theme/default/style.less +58 -58
  364. package/src/theme/global.less +159 -159
  365. package/src/utils/authority-utils.js +85 -85
  366. package/src/utils/errorCode.js +6 -6
  367. package/src/utils/formatter.js +74 -74
  368. package/src/utils/htmlToPDF.js +108 -108
  369. package/src/utils/htmlToPDFApi.js +5 -5
  370. package/src/utils/login.js +188 -188
  371. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  372. package/src/utils/lowcode/lowcodeLog.js +29 -29
  373. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  374. package/src/utils/lowcode/registerComponentForEditor.js +1 -1
  375. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  376. package/src/utils/map-utils.js +47 -47
  377. package/src/utils/reg.js +95 -95
  378. package/src/utils/runEvalFunction.js +14 -14
  379. package/src/utils/theme-color-replacer-extend.js +92 -92
  380. package/src/utils/util.js +329 -329
  381. package/src/utils/waterMark.js +31 -31
  382. package/test/Amis.spec.js +164 -164
  383. package/test/Tree.spec.js +168 -168
  384. package/test/myDialog.spec.js +47 -47
  385. package/test/util.test.js +53 -53
  386. package/test/v3Api.test.js +1984 -1984
  387. package/vue.config.js +214 -214
  388. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
@@ -1,122 +1,122 @@
1
- <template>
2
- <a-collapse :active-key="activeKey">
3
- <a-collapse-panel
4
- :key="value"
5
- v-for="(item, value) in questionList">
6
- <!-- 使用具名插槽#header来自定义头部内容 -->
7
- <template #header>
8
- <!-- 这里可以根据需要设计你的标题结构 -->
9
- <div class="custom-header">
10
- {{ item.question }}
11
- <!-- 假设你想在标题后显示一个状态图标,可以根据item.sql的存在与否来决定 -->
12
- <a-icon v-if="!item.sql" type="close-circle" style="color: red; margin-left: 5px;" />
13
- </div>
14
- </template>
15
- <a-row v-if="item.sql && item.data">
16
- <DynamicTable :title="item.question" :table-data="item.data" />
17
- <ChartSelector :rawData="item.data"/>
18
- </a-row>
19
- <a-row v-else>
20
- <a-result
21
- status="error"
22
- title="请求失败"
23
- sub-title="这通常是因为网络波动或程序故障导致的"
24
- >
25
-
26
- <div class="desc">
27
- <p style="font-size: 16px;">
28
- <strong>我如何解决这个问题:</strong>
29
- </p>
30
- <p>
31
- <a-icon :style="{ color: 'red' }" type="close-circle" /> 尝试重新发起请求
32
- </p>
33
- <p>
34
- <a-icon :style="{ color: 'red' }" type="close-circle" /> 调整提问方式
35
- </p>
36
- </div>
37
- </a-result>
38
- </a-row>
39
- <a-icon slot="extra" type="delete" @click.stop="handleClick(item)" />
40
- </a-collapse-panel>
41
- </a-collapse>
42
- </template>
43
-
44
- <script>
45
- import ChartSelector from './ChartSelector.vue'
46
- import EvaluationArea from './EvaluationArea.vue'
47
- import Ellipsis from '@vue2-client/components/Ellipsis/Ellipsis.vue'
48
- import DynamicTable from './DynamicTable.vue'
49
- import { indexedDB } from '@vue2-client/utils/indexedDB'
50
-
51
- export default {
52
- components: {
53
- DynamicTable,
54
- Ellipsis,
55
- ChartSelector,
56
- EvaluationArea
57
- },
58
- data () {
59
- return {
60
- dataTypeActiveKey: '0',
61
- pane: {},
62
- questionList: [],
63
- currentKey: '',
64
- activeKey: 0
65
- }
66
- },
67
- mounted () {
68
- this.pane = {}
69
- },
70
- methods: {
71
- async show (obj) {
72
- this.questionList = obj.questionList
73
- this.currentKey = obj.key
74
- },
75
- handleClick (item) {
76
- indexedDB.get(this.currentKey, (data) => {
77
- let index = 0
78
- // 使用while循环以避免在遍历过程中修改数组长度导致的问题
79
- while (index < data.questionList.length) {
80
- if (data.questionList[index].uuid === item.uuid) {
81
- // 找到匹配的uuid,使用splice方法移除该元素
82
- data.questionList.splice(index, 1)
83
- break
84
- } else {
85
- // 如果uuid不匹配,则索引加1继续检查下一个元素
86
- index++
87
- }
88
- }
89
- // 回更indexedDB库中的数据
90
- indexedDB.update(this.currentKey, data)
91
- // 刷新数据
92
- this.$emit('afterDelDialogOfOne', data)
93
- this.questionList = data.questionList
94
- })
95
- }
96
- }
97
- }
98
- </script>
99
- <style lang="less" scoped>
100
- .tab-title {
101
- font-size: 20px;
102
- font-weight: bold;
103
- color: #333;
104
- }
105
-
106
- .chart-card {
107
- margin-top: 20px;
108
- }
109
-
110
- .data-content {
111
- min-height: 100%;
112
- background-color: #fff;
113
- padding: 20px;
114
- border-radius: 8px;
115
- }
116
- :deep(.ant-tabs-bar) {
117
- margin-bottom: 0px;
118
- }
119
- :deep(.ant-collapse-extra) {
120
- margin-top: -20px
121
- }
122
- </style>
1
+ <template>
2
+ <a-collapse :active-key="activeKey">
3
+ <a-collapse-panel
4
+ :key="value"
5
+ v-for="(item, value) in questionList">
6
+ <!-- 使用具名插槽#header来自定义头部内容 -->
7
+ <template #header>
8
+ <!-- 这里可以根据需要设计你的标题结构 -->
9
+ <div class="custom-header">
10
+ {{ item.question }}
11
+ <!-- 假设你想在标题后显示一个状态图标,可以根据item.sql的存在与否来决定 -->
12
+ <a-icon v-if="!item.sql" type="close-circle" style="color: red; margin-left: 5px;" />
13
+ </div>
14
+ </template>
15
+ <a-row v-if="item.sql && item.data">
16
+ <DynamicTable :title="item.question" :table-data="item.data" />
17
+ <ChartSelector :rawData="item.data"/>
18
+ </a-row>
19
+ <a-row v-else>
20
+ <a-result
21
+ status="error"
22
+ title="请求失败"
23
+ sub-title="这通常是因为网络波动或程序故障导致的"
24
+ >
25
+
26
+ <div class="desc">
27
+ <p style="font-size: 16px;">
28
+ <strong>我如何解决这个问题:</strong>
29
+ </p>
30
+ <p>
31
+ <a-icon :style="{ color: 'red' }" type="close-circle" /> 尝试重新发起请求
32
+ </p>
33
+ <p>
34
+ <a-icon :style="{ color: 'red' }" type="close-circle" /> 调整提问方式
35
+ </p>
36
+ </div>
37
+ </a-result>
38
+ </a-row>
39
+ <a-icon slot="extra" type="delete" @click.stop="handleClick(item)" />
40
+ </a-collapse-panel>
41
+ </a-collapse>
42
+ </template>
43
+
44
+ <script>
45
+ import ChartSelector from './ChartSelector.vue'
46
+ import EvaluationArea from './EvaluationArea.vue'
47
+ import Ellipsis from '@vue2-client/components/Ellipsis/Ellipsis.vue'
48
+ import DynamicTable from './DynamicTable.vue'
49
+ import { indexedDB } from '@vue2-client/utils/indexedDB'
50
+
51
+ export default {
52
+ components: {
53
+ DynamicTable,
54
+ Ellipsis,
55
+ ChartSelector,
56
+ EvaluationArea
57
+ },
58
+ data () {
59
+ return {
60
+ dataTypeActiveKey: '0',
61
+ pane: {},
62
+ questionList: [],
63
+ currentKey: '',
64
+ activeKey: 0
65
+ }
66
+ },
67
+ mounted () {
68
+ this.pane = {}
69
+ },
70
+ methods: {
71
+ async show (obj) {
72
+ this.questionList = obj.questionList
73
+ this.currentKey = obj.key
74
+ },
75
+ handleClick (item) {
76
+ indexedDB.get(this.currentKey, (data) => {
77
+ let index = 0
78
+ // 使用while循环以避免在遍历过程中修改数组长度导致的问题
79
+ while (index < data.questionList.length) {
80
+ if (data.questionList[index].uuid === item.uuid) {
81
+ // 找到匹配的uuid,使用splice方法移除该元素
82
+ data.questionList.splice(index, 1)
83
+ break
84
+ } else {
85
+ // 如果uuid不匹配,则索引加1继续检查下一个元素
86
+ index++
87
+ }
88
+ }
89
+ // 回更indexedDB库中的数据
90
+ indexedDB.update(this.currentKey, data)
91
+ // 刷新数据
92
+ this.$emit('afterDelDialogOfOne', data)
93
+ this.questionList = data.questionList
94
+ })
95
+ }
96
+ }
97
+ }
98
+ </script>
99
+ <style lang="less" scoped>
100
+ .tab-title {
101
+ font-size: 20px;
102
+ font-weight: bold;
103
+ color: #333;
104
+ }
105
+
106
+ .chart-card {
107
+ margin-top: 20px;
108
+ }
109
+
110
+ .data-content {
111
+ min-height: 100%;
112
+ background-color: #fff;
113
+ padding: 20px;
114
+ border-radius: 8px;
115
+ }
116
+ :deep(.ant-tabs-bar) {
117
+ margin-bottom: 0px;
118
+ }
119
+ :deep(.ant-collapse-extra) {
120
+ margin-top: -20px
121
+ }
122
+ </style>
@@ -1,128 +1,128 @@
1
- <template>
2
- <div class="table-main">
3
- <template v-if="title">
4
- <a-table
5
- v-if="tableData"
6
- :scroll="{ x: scrollXWidth, y: scrollYHeight }"
7
- size="middle"
8
- :columns="tableColumns"
9
- :dataSource="tableData"
10
- :rowKey="record => record.id">
11
- <template slot="footer">
12
- <a-space>
13
- <span>
14
- <strong>{{ `总行数 : ${tableData.length}` }}</strong>
15
- </span>
16
- <span v-for="column in tableColumns" :key="column.key">
17
- <strong v-if="column.sum !== undefined">{{ `${column.key} : ${column.sum}` }}</strong>
18
- </span>
19
- </a-space>
20
- </template>
21
- </a-table>
22
- <a-result
23
- v-else
24
- status="error"
25
- title="请求失败"
26
- sub-title="这通常是因为网络波动或程序故障导致的"
27
- >
28
-
29
- <div class="desc">
30
- <p style="font-size: 16px;">
31
- <strong>我如何解决这个问题:</strong>
32
- </p>
33
- <p>
34
- <a-icon :style="{ color: 'red' }" type="close-circle" /> 尝试重新发起请求
35
- </p>
36
- <p>
37
- <a-icon :style="{ color: 'red' }" type="close-circle" /> 调整提问方式
38
- </p>
39
- </div>
40
- </a-result>
41
- </template>
42
- </div></template>
43
-
44
- <script>
45
-
46
- export default {
47
- name: 'DynamicTable',
48
- data () {
49
- return {
50
- tableColumns: [],
51
- // x滚动条宽度
52
- scrollXWidth: 1600,
53
- scrollYHeight: 400
54
- }
55
- },
56
- mounted () {
57
- this.initData()
58
- },
59
- props: {
60
- title: {
61
- type: String,
62
- default: undefined
63
- },
64
- tableData: {
65
- type: Array,
66
- default: () => null
67
- }
68
- },
69
- watch: {
70
- tableData: {
71
- deep: true,
72
- handler (newVal) {
73
- this.initData()
74
- }
75
- }
76
- },
77
- methods: {
78
- async initData () {
79
- try {
80
- if (!this.tableData) {
81
- return
82
- }
83
- // 从数据第一项推断列信息
84
- if (this.tableData.length === 0) {
85
- this.tableColumns = []
86
- return
87
- }
88
- const sample = this.tableData[0]
89
- this.tableColumns = Object.keys(sample).map(key => {
90
- // 检查是否所有的值都是数字
91
- const allNumbers = this.tableData.every(item => typeof item[key] === 'number')
92
- let sum = 0
93
- if (allNumbers) {
94
- // 计算总和
95
- sum = this.tableData.reduce((total, item) => total + item[key], 0)
96
- }
97
- return {
98
- title: key, // 使用键名作为列标题
99
- dataIndex: key, // 数据索引与键名相同
100
- key: key,
101
- ellipsis: true,
102
- sum: allNumbers ? sum : undefined, // 如果所有的值都是数字,添加总和
103
- }
104
- })
105
- let totalWidth = 0
106
- // 设置表格宽度
107
- for (let i = 0; i < this.tableColumns.length; i++) {
108
- totalWidth = totalWidth + 180
109
- }
110
- // 设置表格高度为固定值
111
- this.scrollYHeight = 'calc(100vh - 35rem)'
112
- // 横向滚动长度大于所有宽度,才能实现固定表头
113
- this.scrollXWidth = totalWidth
114
- } catch (error) {
115
- console.error('Fetching data failed:', error)
116
- }
117
- },
118
- }
119
- }
120
- </script>
121
- <style lang="less" scoped>
122
- .table-main {
123
- margin-top: 8px;
124
- :deep(.ant-table) {
125
- background-color: #fff;
126
- }
127
- }
128
- </style>
1
+ <template>
2
+ <div class="table-main">
3
+ <template v-if="title">
4
+ <a-table
5
+ v-if="tableData"
6
+ :scroll="{ x: scrollXWidth, y: scrollYHeight }"
7
+ size="middle"
8
+ :columns="tableColumns"
9
+ :dataSource="tableData"
10
+ :rowKey="record => record.id">
11
+ <template slot="footer">
12
+ <a-space>
13
+ <span>
14
+ <strong>{{ `总行数 : ${tableData.length}` }}</strong>
15
+ </span>
16
+ <span v-for="column in tableColumns" :key="column.key">
17
+ <strong v-if="column.sum !== undefined">{{ `${column.key} : ${column.sum}` }}</strong>
18
+ </span>
19
+ </a-space>
20
+ </template>
21
+ </a-table>
22
+ <a-result
23
+ v-else
24
+ status="error"
25
+ title="请求失败"
26
+ sub-title="这通常是因为网络波动或程序故障导致的"
27
+ >
28
+
29
+ <div class="desc">
30
+ <p style="font-size: 16px;">
31
+ <strong>我如何解决这个问题:</strong>
32
+ </p>
33
+ <p>
34
+ <a-icon :style="{ color: 'red' }" type="close-circle" /> 尝试重新发起请求
35
+ </p>
36
+ <p>
37
+ <a-icon :style="{ color: 'red' }" type="close-circle" /> 调整提问方式
38
+ </p>
39
+ </div>
40
+ </a-result>
41
+ </template>
42
+ </div></template>
43
+
44
+ <script>
45
+
46
+ export default {
47
+ name: 'DynamicTable',
48
+ data () {
49
+ return {
50
+ tableColumns: [],
51
+ // x滚动条宽度
52
+ scrollXWidth: 1600,
53
+ scrollYHeight: 400
54
+ }
55
+ },
56
+ mounted () {
57
+ this.initData()
58
+ },
59
+ props: {
60
+ title: {
61
+ type: String,
62
+ default: undefined
63
+ },
64
+ tableData: {
65
+ type: Array,
66
+ default: () => null
67
+ }
68
+ },
69
+ watch: {
70
+ tableData: {
71
+ deep: true,
72
+ handler (newVal) {
73
+ this.initData()
74
+ }
75
+ }
76
+ },
77
+ methods: {
78
+ async initData () {
79
+ try {
80
+ if (!this.tableData) {
81
+ return
82
+ }
83
+ // 从数据第一项推断列信息
84
+ if (this.tableData.length === 0) {
85
+ this.tableColumns = []
86
+ return
87
+ }
88
+ const sample = this.tableData[0]
89
+ this.tableColumns = Object.keys(sample).map(key => {
90
+ // 检查是否所有的值都是数字
91
+ const allNumbers = this.tableData.every(item => typeof item[key] === 'number')
92
+ let sum = 0
93
+ if (allNumbers) {
94
+ // 计算总和
95
+ sum = this.tableData.reduce((total, item) => total + item[key], 0)
96
+ }
97
+ return {
98
+ title: key, // 使用键名作为列标题
99
+ dataIndex: key, // 数据索引与键名相同
100
+ key: key,
101
+ ellipsis: true,
102
+ sum: allNumbers ? sum : undefined, // 如果所有的值都是数字,添加总和
103
+ }
104
+ })
105
+ let totalWidth = 0
106
+ // 设置表格宽度
107
+ for (let i = 0; i < this.tableColumns.length; i++) {
108
+ totalWidth = totalWidth + 180
109
+ }
110
+ // 设置表格高度为固定值
111
+ this.scrollYHeight = 'calc(100vh - 35rem)'
112
+ // 横向滚动长度大于所有宽度,才能实现固定表头
113
+ this.scrollXWidth = totalWidth
114
+ } catch (error) {
115
+ console.error('Fetching data failed:', error)
116
+ }
117
+ },
118
+ }
119
+ }
120
+ </script>
121
+ <style lang="less" scoped>
122
+ .table-main {
123
+ margin-top: 8px;
124
+ :deep(.ant-table) {
125
+ background-color: #fff;
126
+ }
127
+ }
128
+ </style>
@@ -1,69 +1,69 @@
1
- <template>
2
- <div class="evaluation-card">
3
- <div v-if="!action">
4
- <p>您对这次搜索结果满意吗?</p>
5
- <a-button-group>
6
- <a-space>
7
- <a-button type="primary" icon="like" @click="submitEvaluation(0)">满意</a-button>
8
- <a-button type="danger" icon="dislike" @click="submitEvaluation(1)">不满意</a-button>
9
- <a-button type="default" icon="frown" @click="submitEvaluation(3)">问题不明确</a-button>
10
- </a-space>
11
- </a-button-group>
12
- </div>
13
- </div>
14
- </template>
15
-
16
- <script>
17
- import { post } from '@vue2-client/services/api'
18
- import { indexedDB } from '@vue2-client/utils/indexedDB'
19
-
20
- export default {
21
- data () {
22
- return {
23
- action: false
24
- }
25
- },
26
- props: {
27
- uuid: {
28
- type: String,
29
- required: true
30
- }
31
- },
32
- methods: {
33
- submitEvaluation (result) {
34
- const key = 'question-' + this.uuid
35
- let flag = true
36
- indexedDB.get(key, (item) => {
37
- flag = false
38
- // 收藏状态不存储到库里
39
- delete item.isFavorite
40
- const content = Object.assign(item, {
41
- evaluation: result
42
- })
43
- // 保存到数据库中
44
- post('/api/af-system/logic/openapi/updateCommonData', {
45
- type: 'ai-question',
46
- content: this.uuid,
47
- newContent: content
48
- }).then(res => {
49
- this.action = true
50
- this.$message.success('评论成功')
51
- indexedDB.delete(key)
52
- indexedDB.add(key, content)
53
- })
54
- })
55
- // 如果 indexedDB 没有获取到说明是对话库的数据
56
- if (flag) {
57
- this.$emit('submitEvaluationLib', result, this.uuid)
58
- }
59
- }
60
- }
61
- }
62
- </script>
63
- <style lang="less" scoped>
64
- .evaluation-card {
65
- width: 50%;
66
- text-align: center;
67
- margin: 20px auto 0 auto;
68
- }
69
- </style>
1
+ <template>
2
+ <div class="evaluation-card">
3
+ <div v-if="!action">
4
+ <p>您对这次搜索结果满意吗?</p>
5
+ <a-button-group>
6
+ <a-space>
7
+ <a-button type="primary" icon="like" @click="submitEvaluation(0)">满意</a-button>
8
+ <a-button type="danger" icon="dislike" @click="submitEvaluation(1)">不满意</a-button>
9
+ <a-button type="default" icon="frown" @click="submitEvaluation(3)">问题不明确</a-button>
10
+ </a-space>
11
+ </a-button-group>
12
+ </div>
13
+ </div>
14
+ </template>
15
+
16
+ <script>
17
+ import { post } from '@vue2-client/services/api'
18
+ import { indexedDB } from '@vue2-client/utils/indexedDB'
19
+
20
+ export default {
21
+ data () {
22
+ return {
23
+ action: false
24
+ }
25
+ },
26
+ props: {
27
+ uuid: {
28
+ type: String,
29
+ required: true
30
+ }
31
+ },
32
+ methods: {
33
+ submitEvaluation (result) {
34
+ const key = 'question-' + this.uuid
35
+ let flag = true
36
+ indexedDB.get(key, (item) => {
37
+ flag = false
38
+ // 收藏状态不存储到库里
39
+ delete item.isFavorite
40
+ const content = Object.assign(item, {
41
+ evaluation: result
42
+ })
43
+ // 保存到数据库中
44
+ post('/api/af-system/logic/openapi/updateCommonData', {
45
+ type: 'ai-question',
46
+ content: this.uuid,
47
+ newContent: content
48
+ }).then(res => {
49
+ this.action = true
50
+ this.$message.success('评论成功')
51
+ indexedDB.delete(key)
52
+ indexedDB.add(key, content)
53
+ })
54
+ })
55
+ // 如果 indexedDB 没有获取到说明是对话库的数据
56
+ if (flag) {
57
+ this.$emit('submitEvaluationLib', result, this.uuid)
58
+ }
59
+ }
60
+ }
61
+ }
62
+ </script>
63
+ <style lang="less" scoped>
64
+ .evaluation-card {
65
+ width: 50%;
66
+ text-align: center;
67
+ margin: 20px auto 0 auto;
68
+ }
69
+ </style>