vue2-client 1.12.21 → 1.12.22

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 +19 -19
  3. package/.env.gaslink +19 -19
  4. package/.env.his +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/docs//345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +174 -174
  16. package/index.js +31 -31
  17. package/jest-transform-stub.js +8 -8
  18. package/jest.setup.js +7 -7
  19. package/jsconfig.json +19 -19
  20. package/package.json +107 -107
  21. package/public/his/editor/editor.html +51 -51
  22. package/public/his/editor/mock/bind_data.html +779 -779
  23. package/public/his/editor/mock/data_table.html +40 -40
  24. package/public/his/editor/mock/sign.html +75 -75
  25. package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
  26. package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
  27. package/public/his/editor/vender/date97/WdatePicker.js +677 -677
  28. package/public/his/editor/vender/date97/calendar.js +4 -4
  29. package/public/his/editor/vender/date97/lang/en.js +13 -13
  30. package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
  31. package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
  32. package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
  33. package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
  34. package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
  35. package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
  36. package/public/his/editor/vender/diff.js +1627 -1627
  37. package/public/his/editor/vender/editor.js +1 -1
  38. package/public/his/editor/vender/fabric.js +31187 -31187
  39. package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
  40. package/public/his/editor/vender/jquery/jquery.js +10872 -10872
  41. package/public/his/editor/vender/jquery/jquery.print.js +255 -255
  42. package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
  43. package/public/his/editor/vender/mui/mui.min.css +4 -4
  44. package/public/his/editor/vender/mui/mui.min.js +5 -5
  45. package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
  46. package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
  47. package/public/his/editor/vender/qrcode.js +7 -7
  48. package/public/his/editor/vender/requirejs/require.js +2145 -2145
  49. package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
  50. package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
  51. package/public/his/editor/vender/signature/jSignature.js +1486 -1486
  52. package/public/his/editor/vender/validator.js +5094 -5094
  53. package/public/his/editor/vender/weui/weui.css +5659 -5659
  54. package/public/his/editor/vender/weui/weui.min.css +4 -4
  55. package/public/his/editor/vender/weui/weui.min.js +11 -11
  56. package/public/index.html +27 -27
  57. package/src/ReportView.js +19 -19
  58. package/src/assets/img/querySlotDemo.svg +15 -15
  59. package/src/assets/svg/badtwo.svg +1 -1
  60. package/src/assets/svg/goodtwo.svg +1 -1
  61. package/src/base-client/components/AI/AskAiBtn.vue +136 -136
  62. package/src/base-client/components/AI/demo.vue +31 -31
  63. package/src/base-client/components/common/AMisRender/index.js +3 -3
  64. package/src/base-client/components/common/AMisRender/index.vue +263 -263
  65. package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +470 -470
  66. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  67. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  68. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  69. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  70. package/src/base-client/components/common/CitySelect/index.js +3 -3
  71. package/src/base-client/components/common/CitySelect/index.md +109 -109
  72. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  73. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  74. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  75. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  76. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  77. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  78. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  79. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  80. package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +149 -149
  81. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  82. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  83. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  84. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  85. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  86. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  87. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  88. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  89. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  90. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  91. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  92. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  93. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  94. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  95. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  96. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  97. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  98. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  99. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  100. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  101. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  102. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  103. package/src/base-client/components/common/Recording/index.js +3 -3
  104. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  105. package/src/base-client/components/common/Tree/index.js +2 -2
  106. package/src/base-client/components/common/Upload/index.js +3 -3
  107. package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
  108. package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +1146 -1146
  109. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  110. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +303 -303
  111. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  112. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  113. package/src/base-client/components/common/XAddReport/index.js +3 -3
  114. package/src/base-client/components/common/XAddReport/index.md +56 -56
  115. package/src/base-client/components/common/XBadge/XBadge.vue +94 -94
  116. package/src/base-client/components/common/XButtons/XButtonDemo.vue +28 -28
  117. package/src/base-client/components/common/XButtons/XButtons.vue +71 -71
  118. package/src/base-client/components/common/XButtons/index.js +3 -3
  119. package/src/base-client/components/common/XButtons/index.md +61 -61
  120. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  121. package/src/base-client/components/common/XCheckList/XCheckList.vue +106 -106
  122. package/src/base-client/components/common/XCheckList/XCheckListDemo.vue +41 -41
  123. package/src/base-client/components/common/XCollapse/XCollapse.vue +153 -153
  124. package/src/base-client/components/common/XDataCard/XDataCard.vue +565 -565
  125. package/src/base-client/components/common/XDataCard/index.js +3 -3
  126. package/src/base-client/components/common/XDataCard/index.md +1 -1
  127. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  128. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  129. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  130. package/src/base-client/components/common/XDatePicker/demo.vue +153 -153
  131. package/src/base-client/components/common/XDatePicker/index.vue +269 -269
  132. package/src/base-client/components/common/XDescriptions/XDescriptions.vue +169 -169
  133. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  134. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  135. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +238 -238
  136. package/src/base-client/components/common/XDetailsView/index.js +3 -3
  137. package/src/base-client/components/common/XForm/XFormItem.vue +4 -2
  138. package/src/base-client/components/common/XForm/XStatusButton.vue +54 -54
  139. package/src/base-client/components/common/XForm/XTreeSelect.vue +264 -264
  140. package/src/base-client/components/common/XForm/index.md +178 -178
  141. package/src/base-client/components/common/XForm/itemComponent/XClickChangeBtn/index.vue +49 -49
  142. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  143. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  144. package/src/base-client/components/common/XFormGroupDetails/XFormGroupDetails.vue +72 -72
  145. package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
  146. package/src/base-client/components/common/XFormTable/index.md +92 -92
  147. package/src/base-client/components/common/XImportExcel/XImportExcel.vue +167 -167
  148. package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
  149. package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
  150. package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
  151. package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
  152. package/src/base-client/components/common/XPrint/Demo.vue +41 -41
  153. package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
  154. package/src/base-client/components/common/XPrint/PrintBill.vue +302 -302
  155. package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
  156. package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
  157. package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
  158. package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
  159. package/src/base-client/components/common/XPrint/index.vue +97 -97
  160. package/src/base-client/components/common/XReport/XReport.vue +892 -892
  161. package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
  162. package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
  163. package/src/base-client/components/common/XReport/index.js +3 -3
  164. package/src/base-client/components/common/XReport/index.md +44 -44
  165. package/src/base-client/components/common/XReport/print.js +186 -186
  166. package/src/base-client/components/common/XReportDrawer/index.js +3 -3
  167. package/src/base-client/components/common/XReportGrid/XReportTrGroup.vue +1107 -1107
  168. package/src/base-client/components/common/XReportGrid/index.js +3 -3
  169. package/src/base-client/components/common/XReportGrid/index.md +44 -44
  170. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  171. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  172. package/src/base-client/components/common/XReportSlot/index.md +48 -48
  173. package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
  174. package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
  175. package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
  176. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  177. package/src/base-client/components/common/XStepView/index.js +3 -3
  178. package/src/base-client/components/common/XStepView/index.md +31 -31
  179. package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
  180. package/src/base-client/components/common/XTab/index.js +3 -3
  181. package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
  182. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  183. package/src/base-client/components/common/XTable/index.md +255 -255
  184. package/src/base-client/components/common/XTagGroup/index.vue +52 -52
  185. package/src/base-client/components/common/XTree/XTree.vue +424 -424
  186. package/src/base-client/components/common/XTree/index.js +3 -3
  187. package/src/base-client/components/common/XTree/index.md +36 -36
  188. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
  189. package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
  190. package/src/base-client/components/common/richTextModal/index.vue +56 -56
  191. package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
  192. package/src/base-client/components/his/XHisEditor/XHisEditor.vue +359 -359
  193. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  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 +121 -121
  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/bootstrap.js +42 -42
  211. package/src/components/Charts/Bar.vue +62 -62
  212. package/src/components/Charts/ChartCard.vue +134 -134
  213. package/src/components/Charts/Liquid.vue +67 -67
  214. package/src/components/Charts/MiniArea.vue +39 -39
  215. package/src/components/Charts/MiniBar.vue +39 -39
  216. package/src/components/Charts/MiniProgress.vue +75 -75
  217. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  218. package/src/components/Charts/Radar.vue +68 -68
  219. package/src/components/Charts/RankList.vue +77 -77
  220. package/src/components/Charts/TagCloud.vue +113 -113
  221. package/src/components/Charts/TransferBar.vue +64 -64
  222. package/src/components/Charts/Trend.vue +82 -82
  223. package/src/components/Charts/chart.less +12 -12
  224. package/src/components/Charts/smooth.area.less +13 -13
  225. package/src/components/CodeMirror/inedx.vue +118 -118
  226. package/src/components/CodeMirror/setting.js +40 -40
  227. package/src/components/FilePreview/FilePreview.vue +166 -166
  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/card/ChartCard.vue +79 -79
  234. package/src/components/chart/Bar.vue +60 -60
  235. package/src/components/chart/MiniArea.vue +67 -67
  236. package/src/components/chart/MiniBar.vue +59 -59
  237. package/src/components/chart/MiniProgress.vue +57 -57
  238. package/src/components/chart/Radar.vue +80 -80
  239. package/src/components/chart/RankingList.vue +60 -60
  240. package/src/components/chart/Trend.vue +79 -79
  241. package/src/components/chart/index.less +9 -9
  242. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  243. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  244. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  245. package/src/components/checkbox/index.js +9 -9
  246. package/src/components/exception/ExceptionPage.vue +70 -70
  247. package/src/components/g2Charts/constants.js +202 -202
  248. package/src/components/g2Charts/demo.vue +808 -808
  249. package/src/components/g2Charts/designer.vue +228 -228
  250. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  251. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  252. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  253. package/src/components/g2Charts/index.vue +397 -397
  254. package/src/components/index.js +36 -36
  255. package/src/components/input/IInput.vue +66 -66
  256. package/src/components/menu/SideMenu.vue +75 -75
  257. package/src/components/menu/menu.js +273 -273
  258. package/src/components/setting/Setting.vue +234 -234
  259. package/src/components/tool/AStepItem.vue +60 -60
  260. package/src/config/CreateQueryConfig.js +325 -325
  261. package/src/config/default/antd.config.js +89 -89
  262. package/src/config/default/setting.config.js +55 -55
  263. package/src/font-style/font.css +4 -4
  264. package/src/layouts/CommonLayout.vue +56 -56
  265. package/src/layouts/GridView.vue +45 -45
  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/mock/extend/index.js +84 -84
  276. package/src/mock/goods/index.js +108 -108
  277. package/src/pages/AMisDemo/AMisDemo.vue +325 -325
  278. package/src/pages/AMisDemo/AMisDemo2.vue +74 -74
  279. package/src/pages/DefaultExample/index.vue +77 -77
  280. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  281. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  282. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  283. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  284. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  285. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  286. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  287. package/src/pages/DynamicStatistics/index.vue +282 -282
  288. package/src/pages/Example/childIndex.vue +15 -15
  289. package/src/pages/Example/index.vue +30 -30
  290. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  291. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  292. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  293. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  294. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  295. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  296. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  297. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  298. package/src/pages/Recording/index.vue +77 -77
  299. package/src/pages/ServiceReview/index.vue +284 -284
  300. package/src/pages/SubExample/index.vue +26 -26
  301. package/src/pages/WorkflowDetail/WorkflowDetail.vue +235 -235
  302. package/src/pages/WorkflowDetail/WorkflowPageDetail/LeaveMessage.vue +131 -131
  303. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  304. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformation.vue +302 -302
  305. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformationDetails.vue +276 -276
  306. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandleReso.vue +997 -997
  307. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowTimeline.vue +222 -222
  308. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkOrderParentDetails.vue +233 -233
  309. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowDetailResso.vue +261 -261
  310. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowListResolution.vue +248 -248
  311. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowLog.vue +73 -73
  312. package/src/pages/XPageViewExample/index.vue +38 -38
  313. package/src/pages/XReportView/index.vue +64 -64
  314. package/src/pages/XTreeOneProExample/index.vue +67 -67
  315. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  316. package/src/pages/login/Login.vue +378 -378
  317. package/src/pages/login/LoginV3.vue +389 -389
  318. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  319. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  320. package/src/pages/report/ReportTable.js +124 -124
  321. package/src/pages/resourceManage/orgListManage.vue +98 -98
  322. package/src/pages/system/dictionary/index.vue +44 -44
  323. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  324. package/src/pages/system/monitor/operLog/index.vue +37 -37
  325. package/src/pages/system/settings/modifyPassword.vue +117 -117
  326. package/src/pages/system/ticket/index.vue +480 -480
  327. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  328. package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
  329. package/src/pages/userInfoDetailManage/FillCardRecordQuery/index.vue +76 -76
  330. package/src/pages/userInfoDetailManage/FillGasRecordQuery/index.vue +74 -74
  331. package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
  332. package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
  333. package/src/pages/userInfoDetailManage/MachineRecordQuery/index.vue +74 -74
  334. package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
  335. package/src/pages/userInfoDetailManage/OtherChargeRecordQuery/index.vue +74 -74
  336. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
  337. package/src/pages/userInfoDetailManage/UserChargeRecordQuery/index.vue +92 -92
  338. package/src/pages/userInfoDetailManage/UserHandRecordQuery/index.vue +86 -86
  339. package/src/pages/userInfoDetailManage/UserRecordQuery/index.vue +73 -73
  340. package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
  341. package/src/pages/userInfoDetailManage/userInfoDetailQueryTabs.vue +132 -132
  342. package/src/plugins/EventLogPlugin.js +33 -33
  343. package/src/plugins/FindParentsData.js +17 -17
  344. package/src/router/async/config.async.js +35 -35
  345. package/src/router/async/router.map.js +116 -118
  346. package/src/router/index.js +27 -27
  347. package/src/router.js +19 -19
  348. package/src/services/DataModel.js +30 -30
  349. package/src/services/LodopFuncs.js +137 -137
  350. package/src/services/api/TicketDetailsViewApi.js +46 -46
  351. package/src/services/api/cas.js +79 -79
  352. package/src/services/api/common.js +346 -346
  353. package/src/services/api/entity.js +18 -18
  354. package/src/services/api/index.js +17 -17
  355. package/src/services/api/restTools.js +145 -145
  356. package/src/services/api/workFlow.js +63 -63
  357. package/src/services/apiService.js +16 -16
  358. package/src/services/v3Api.js +1 -1
  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//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
  388. package/src/base-client/components/common/XCollapse/XCollapseDemo.vue +0 -15
@@ -1,565 +1,565 @@
1
- <template>
2
- <div>
3
- <div v-if="render" class="XCard">
4
- <template v-for="(card, itemIndex) in data">
5
- <a-card :key="'card' + itemIndex" class="data-card">
6
- <div
7
- v-if="config && card[config.ribbon]"
8
- class="ribbon"
9
- :style="{ backgroundColor: getRibbonColor(card[config.ribbonColor]) }">
10
- {{ card[config.ribbon] }}
11
- </div>
12
- <!-- 自定义标题 -->
13
- <template #title>
14
- <div class="custom-title" @click="clickFooter(card, 'cardclick')">
15
- <a-tooltip placement="top">
16
- <template #title>{{ card[config.id] }}</template>
17
- <div class="title-id" v-if="card[config.id]">{{ card[config.id] }}</div>
18
- </a-tooltip>
19
- <div class="title-basic">
20
- <div class="title-main">
21
- <span class="title-name">{{ card[config.title] }}</span>
22
- <span class="title-info">{{ card[config.title2] }}</span>
23
- <span class="title-title3">{{ card[config.title3] }}</span>
24
- </div>
25
- <div class="additional-info" v-if="card[config.subtitle2] || card[config.subtitle3] || card[config.subtitle4]">
26
- <a-tooltip placement="top" v-if="card[config.subtitle2]">
27
- <template #title>{{ card[config.subtitle2] }}</template>
28
- <span class="subtitle2">{{ card[config.subtitle2] }}</span>
29
- </a-tooltip>
30
- <a-tooltip placement="top" v-if="card[config.subtitle3]">
31
- <template #title>{{ card[config.subtitle3] }}</template>
32
- <span class="subtitle3">{{ card[config.subtitle3] }}</span>
33
- </a-tooltip>
34
- <span class="subtitle4" v-if="card[config.subtitle4]">{{ card[config.subtitle4] }}</span>
35
- </div>
36
- </div>
37
- </div>
38
- </template>
39
- <!-- 主体 -->
40
- <div class="body">
41
- <div class="body-text" v-if="card[config.text]">
42
- <a-tooltip :title="card[config.text]">
43
- <span class="text-ellipsis">{{ card[config.text] }}</span>
44
- </a-tooltip>
45
- </div>
46
- <template v-for="(item, bodyIndex) in config.content" v-if="bodyIndex < 6">
47
- <div :key="'body' + bodyIndex" class="body-item">
48
- <span class="body-item-label">{{ item.label }}:</span>
49
- <template v-if="item.type === 'progress'">
50
- <div class="progress">
51
- <div class="progress-bar">
52
- <div class="progress-done" :style="'width:' + card[item.key] * 100 + '%;backgroundColor: ' + determineRatioColor(card[item.key] * 100)"></div>
53
- </div>
54
- </div>
55
- <div class="progress-num">{{ card[item.key] * 100 }}%</div>
56
- </template>
57
- <template v-else-if="item.type === 'custom' && tableColumns">
58
- <!-- 根据 tableColumns 显示自定义内容 -->
59
- <span v-for="column in tableColumns" v-if="column.dataIndex === item.key" :key="column.dataIndex">
60
- <template v-if="column.slotType === 'badge'">
61
- <x-badge
62
- :service-name="serviceName"
63
- :env="env"
64
- :dataCard="true"
65
- :badge-key="column.slotKeyMap"
66
- :value="card[item.key]" />
67
- </template>
68
- <template v-else>
69
- <slot :name="column.slots.customRender">{{ card[item.key] }}</slot>
70
- </template>
71
- </span>
72
- </template>
73
- <template v-else>
74
- <span class="body-item-value">{{ card[item.key] }}</span>
75
- </template>
76
- </div>
77
- <a-divider
78
- v-if="bodyIndex !== config.content.length - 1"
79
- dashed
80
- :key="'body' + bodyIndex + 'after'"
81
- class="body-split" />
82
- </template>
83
- </div>
84
- <!-- 下方按钮 -->
85
- <template #actions>
86
- <a-row align="middle" class="custom-actions" v-if="config && config.footer && config.footer.length > 0">
87
- <template v-for="(item, footerIndex) in config.footer">
88
- <a-col :key="'footer_' + footerIndex" class="footer-item" :span="11" @click="clickFooter(card, item.emit)">
89
- <span>
90
- <a-icon :type="item.icon" class="footer-icon" />
91
- <span>{{ item.label }}</span>
92
- </span>
93
- </a-col>
94
- <a-col
95
- v-if="footerIndex !== config.footer.length - 1"
96
- :span="1"
97
- :key="'footer_' + footerIndex + 'after'"
98
- class="footer-item-split">
99
- |
100
- </a-col>
101
- </template>
102
- </a-row>
103
- </template>
104
- </a-card>
105
- </template>
106
- </div>
107
- <div v-else>
108
- <a-skeleton />
109
- </div>
110
- <div v-if="this.showPagination">
111
- <a-divider />
112
- <a-pagination
113
- v-model="pageNum"
114
- style="float: right"
115
- :total="total"
116
- show-less-items
117
- :page-size="pageSize"
118
- :page-size-options="pageSizeOptions"
119
- show-size-changer
120
- @change="pageNumChange"
121
- :showTotal="paginationShowTotal"
122
- @showSizeChange="pageSizeChange">
123
- </a-pagination>
124
- </div>
125
- </div>
126
- </template>
127
-
128
- <script>
129
- import XBadge from '@vue2-client/base-client/components/common/XBadge'
130
-
131
- export default {
132
- name: 'XDataCard',
133
- components: {
134
- XBadge,
135
- },
136
- props: {
137
- // 卡片数据更新方法
138
- cardData: {
139
- type: Function,
140
- default: undefined
141
- },
142
- // 卡片的配置
143
- cardConfig: {
144
- type: Object,
145
- default: undefined
146
- },
147
- showPagination: {
148
- type: Boolean,
149
- default: false
150
- },
151
- // 临时
152
- testData: {
153
- type: Array,
154
- default: undefined
155
- },
156
- tableColumns: {
157
- type: Array,
158
- default: undefined
159
- },
160
- // 服务名称
161
- serviceName: undefined,
162
- // 当前环境
163
- env: {
164
- type: String,
165
- default: 'prod'
166
- },
167
- // pageSize参数
168
- prePageSize: {
169
- type: Number,
170
- default: undefined
171
- },
172
- // 初始是否加载数据
173
- createdQuery: {
174
- type: Boolean,
175
- default: false
176
- }
177
- },
178
- data () {
179
- return {
180
- // 配置
181
- config: {},
182
- // 数据
183
- data: {},
184
- // 当前页码
185
- pageNum: 1,
186
- // 控制渲染
187
- render: true,
188
- // 分页大小
189
- pageSize: 10,
190
- // 分页大小选项
191
- pageSizeOptions: ['4', '6', '8', '10'],
192
- // 数据总数
193
- total: 0
194
- }
195
- },
196
- created () {
197
- // 根据参数初始化数据值
198
- if (this.prePageSize) {
199
- this.pageSize = this.prePageSize
200
- }
201
- },
202
- mounted () {
203
- // 配置初始化
204
- if (this.cardConfig) {
205
- this.config = this.cardConfig
206
- } else {
207
- this.config = {
208
- id: '未获取到配置',
209
- title: '未获取到配置',
210
- title2: '未获取到配置',
211
- title3: '未获取到配置',
212
- subtitle2: '未获取到配置',
213
- subtitle3: '未获取到配置',
214
- subtitle4: '未获取到配置',
215
- text: '未获取到配置',
216
- ribbon: '未获取到配置',
217
- ribbonColor: '未获取到配置',
218
- content: [
219
- {
220
- label: '未获取到配置',
221
- key: 'one'
222
- },
223
- {
224
- label: '未获取到配置',
225
- key: 'two'
226
- },
227
- {
228
- label: '未获取到配置',
229
- key: 'three'
230
- },
231
- {
232
- label: '未获取到配置',
233
- key: 'four'
234
- },
235
- {
236
- label: '未获取到配置',
237
- key: 'five'
238
- },
239
- {
240
- label: '未获取到配置',
241
- key: 'six',
242
- type: 'progress'
243
- }
244
- ],
245
- footer: [
246
- {
247
- icon: 'edit',
248
- label: '未获取到配置',
249
- emit: 'planEdit'
250
- },
251
- {
252
- icon: 'user',
253
- label: '未获取到配置',
254
- emit: 'user'
255
- }
256
- ]
257
- }
258
- console.warn(this.config)
259
- }
260
-
261
- // 数据初始化
262
- if (this.cardData) {
263
- // if (this.createdQuery) {
264
- // this.loadData()
265
- // }
266
- } else {
267
- this.data = {
268
- one: '未获取到配置',
269
- two: '未获取到配置',
270
- three: '未获取到配置',
271
- four: '未获取到配置',
272
- five: '未获取到配置',
273
- six: 70
274
- }
275
- }
276
- // 测试数据初始化
277
- if (this.testData) {
278
- this.data = this.testData
279
- }
280
- },
281
- methods: {
282
- // 根据比例计算出颜色
283
- determineRatioColor (ratio, isNum = false) {
284
- let result
285
- // 如果是数字,并且比例大于79,则将数字显示为黑色
286
- if (isNum && ratio > 79) {
287
- return 'rgb(0,0,0)'
288
- }
289
- if (ratio >= 90) {
290
- result = 'rgb( 1,245, 38 )'
291
- } else if (ratio >= 75) {
292
- result = 'rgb( 139,245, 0)'
293
- } else if (ratio >= 40) {
294
- result = 'rgb(245,163, 0)'
295
- } else if (ratio >= 20) {
296
- result = 'rgb(244, 96, 0)'
297
- } else {
298
- result = 'rgb(255, 0, 0)'
299
- }
300
- return result
301
- },
302
- // 点击按钮
303
- clickFooter (data, eventName) {
304
- this.$emit('cardEmit', data, eventName)
305
- },
306
- // 获取数据
307
- loadData () {
308
- this.render = false
309
- const parameter = Object.assign({
310
- querySummary: false, // 分页查询的情况不重新获取汇总数据
311
- pageNo: this.pageNum,
312
- pageSize: this.pageSize
313
- }
314
- )
315
- this.cardData(parameter).then(res => {
316
- this.data = res.data
317
- this.total = res.totalCount
318
- this.render = true
319
- })
320
- },
321
- // 页码改变
322
- pageNumChange (page, pageSize) {
323
- this.pageNum = page
324
- this.pageSize = pageSize
325
- this.loadData()
326
- },
327
- // 分页大小改变
328
- pageSizeChange (current, pageSize) {
329
- this.pageSize = pageSize
330
- this.loadData()
331
- },
332
- // 刷新
333
- refresh () {
334
- this.loadData()
335
- },
336
- // 分页前展示当前项和总数
337
- paginationShowTotal () {
338
- return `${(this.pageNum - 1) * this.pageSize + 1 } - ${ this.pageNum * this.pageSize } | 共 ${ this.total } 项`
339
- },
340
- getRibbonColor (color) {
341
- switch (color) {
342
- case 'red':
343
- return '#ff4d4f'
344
- case 'blue':
345
- return '#1890ff'
346
- case 'yellow':
347
- return '#fadb14'
348
- default:
349
- return '#ff4d4f' // 默认红色
350
- }
351
- }
352
- }
353
- }
354
- </script>
355
-
356
- <style lang="less" scoped>
357
- .hide-page-numbers /deep/ .ant-pagination-item,
358
- .hide-page-numbers /deep/ .ant-pagination-jump-next {
359
- display: none !important; /* 隐藏数字页码和多页跳转 */
360
- }
361
- .hide-page-numbers /deep/ .ant-pagination-prev,
362
- .hide-page-numbers /deep/ .ant-pagination-next {
363
- display: inline-block !important; /* 保留左右跳转按钮 */
364
- }
365
-
366
- .XCard {
367
- display: flex;
368
- flex-wrap: wrap;
369
- justify-content: flex-start;
370
- overflow-y: auto;
371
- overflow-x: hidden;
372
- max-height: 85vh;
373
- .data-card {
374
- width: 100%;
375
- max-width: 300px;
376
- border: 2px solid rgb(244,244,244);
377
- border-radius: 5px;
378
- margin: 2px;
379
- overflow: hidden;
380
-
381
- ::v-deep .ant-card-body {
382
- padding: 15px !important; // 使用 !important 确保样式覆盖
383
- }
384
-
385
- .header {
386
- width: 100%;
387
- background-color: rgb(244,244,244);
388
- padding: 5px 15px;
389
-
390
- span {
391
- font-weight: bold;
392
- font-size: 1.1em;
393
- }
394
- }
395
-
396
- .body {
397
- .body-text{
398
- width: 500px;
399
- font-weight: bold;
400
- font-size: 1.1em;
401
- .text-ellipsis{
402
- display: inline-block;
403
- max-width: 260px; /* 控制文本的最大宽度 */
404
- white-space: nowrap;
405
- overflow: hidden;
406
- text-overflow: ellipsis;
407
- }
408
- }
409
-
410
- .body-item {
411
- padding: 3px 5px;
412
- }
413
-
414
- .body-split {
415
- margin: 1px 0;
416
- }
417
-
418
- .body-item-label {
419
- color: rgba(117, 117, 117, 0.8);
420
- font-size: 0.95em;
421
- }
422
-
423
- .body-item-value {
424
- color: black;
425
- }
426
-
427
- .progress {
428
- display: inline-block;
429
- width: 60%;
430
- height: 60%;
431
- float: right;
432
- padding-right: 1.5%;
433
- margin-top: 0.5%;
434
-
435
- .progress-bar {
436
- width: 100%;
437
- height: 90%;
438
- display: inline-block;
439
- border-radius: 10%;
440
- background-color: rgba(212,217,218, 0.6);
441
-
442
- .progress-done {
443
- float: left;
444
- display: inline-block;
445
- height: 100%;
446
- border-radius: 10%;
447
- }
448
- }
449
- }
450
- .progress-num {
451
- position: relative;
452
- top: -83%;
453
- left: -3%;
454
- text-align: end;
455
- font-size: 0.9em;
456
- color: black;
457
- }
458
- }
459
- }
460
-
461
- .custom-title {
462
- display: flex;
463
- align-items: center;
464
- gap: 12px;
465
-
466
- &:hover {
467
- cursor: pointer;
468
- }
469
-
470
- .title-id {
471
- flex-shrink: 0;
472
- width: 65px;
473
- color: #1890ff;
474
- font-size: 16px;
475
- font-weight: bold;
476
- padding: 4px 8px;
477
- border: 1px solid #1890ff;
478
- border-radius: 4px;
479
- line-height: 1.4;
480
- text-align: center;
481
- white-space: nowrap;
482
- overflow: hidden;
483
- text-overflow: ellipsis;
484
- }
485
-
486
- .title-basic {
487
- display: flex;
488
- flex-direction: column;
489
- flex-grow: 1;
490
-
491
- .subtitle2, .subtitle3 {
492
- display: inline-block;
493
- max-width: 50px; /* 固定宽度 */
494
- white-space: nowrap;
495
- overflow: hidden;
496
- text-overflow: ellipsis;
497
- }
498
-
499
- .title-main {
500
- display: flex;
501
- align-items: center;
502
- gap: 8px;
503
- .title-info {
504
- margin-left: 6px;
505
- color: #808080;
506
- }
507
- .title-title3 {
508
- color: #808080;
509
- }
510
- }
511
-
512
- .additional-info {
513
- display: flex;
514
- gap: 8px;
515
- font-size: 13px;
516
- color: #808080;
517
- .subtitle4 {
518
- color: rgba(0, 0, 255, 0.8);
519
- }
520
- }
521
- }
522
- }
523
-
524
- .ribbon {
525
- position: absolute;
526
- top: 16px;
527
- right: -6px;
528
- background-color: #ff4d4f;
529
- color: white;
530
- padding: 5px 25px;
531
- font-size: 12px;
532
- transform: rotate(45deg) translateX(30%);
533
- transform-origin: top right;
534
- z-index: 1;
535
- }
536
-
537
- .custom-actions {
538
- .footer-icon {
539
- margin-right: 5px;
540
- }
541
-
542
- .footer-item-split {
543
- color: rgba(220, 220, 220, 0.59);
544
- }
545
-
546
- .footer-item {
547
- color: rgba(117, 117, 117, 0.8);
548
- font-size: 1em;
549
- }
550
-
551
- .footer-item:hover {
552
- color: rgb( 24,144,255 );
553
- cursor: pointer;
554
- }
555
- }
556
- }
557
-
558
- .ellipsis {
559
- display: inline-block;
560
- max-width: 60px;
561
- white-space: nowrap;
562
- overflow: hidden;
563
- text-overflow: ellipsis;
564
- }
565
- </style>
1
+ <template>
2
+ <div>
3
+ <div v-if="render" class="XCard">
4
+ <template v-for="(card, itemIndex) in data">
5
+ <a-card :key="'card' + itemIndex" class="data-card">
6
+ <div
7
+ v-if="config && card[config.ribbon]"
8
+ class="ribbon"
9
+ :style="{ backgroundColor: getRibbonColor(card[config.ribbonColor]) }">
10
+ {{ card[config.ribbon] }}
11
+ </div>
12
+ <!-- 自定义标题 -->
13
+ <template #title>
14
+ <div class="custom-title" @click="clickFooter(card, 'cardclick')">
15
+ <a-tooltip placement="top">
16
+ <template #title>{{ card[config.id] }}</template>
17
+ <div class="title-id" v-if="card[config.id]">{{ card[config.id] }}</div>
18
+ </a-tooltip>
19
+ <div class="title-basic">
20
+ <div class="title-main">
21
+ <span class="title-name">{{ card[config.title] }}</span>
22
+ <span class="title-info">{{ card[config.title2] }}</span>
23
+ <span class="title-title3">{{ card[config.title3] }}</span>
24
+ </div>
25
+ <div class="additional-info" v-if="card[config.subtitle2] || card[config.subtitle3] || card[config.subtitle4]">
26
+ <a-tooltip placement="top" v-if="card[config.subtitle2]">
27
+ <template #title>{{ card[config.subtitle2] }}</template>
28
+ <span class="subtitle2">{{ card[config.subtitle2] }}</span>
29
+ </a-tooltip>
30
+ <a-tooltip placement="top" v-if="card[config.subtitle3]">
31
+ <template #title>{{ card[config.subtitle3] }}</template>
32
+ <span class="subtitle3">{{ card[config.subtitle3] }}</span>
33
+ </a-tooltip>
34
+ <span class="subtitle4" v-if="card[config.subtitle4]">{{ card[config.subtitle4] }}</span>
35
+ </div>
36
+ </div>
37
+ </div>
38
+ </template>
39
+ <!-- 主体 -->
40
+ <div class="body">
41
+ <div class="body-text" v-if="card[config.text]">
42
+ <a-tooltip :title="card[config.text]">
43
+ <span class="text-ellipsis">{{ card[config.text] }}</span>
44
+ </a-tooltip>
45
+ </div>
46
+ <template v-for="(item, bodyIndex) in config.content" v-if="bodyIndex < 6">
47
+ <div :key="'body' + bodyIndex" class="body-item">
48
+ <span class="body-item-label">{{ item.label }}:</span>
49
+ <template v-if="item.type === 'progress'">
50
+ <div class="progress">
51
+ <div class="progress-bar">
52
+ <div class="progress-done" :style="'width:' + card[item.key] * 100 + '%;backgroundColor: ' + determineRatioColor(card[item.key] * 100)"></div>
53
+ </div>
54
+ </div>
55
+ <div class="progress-num">{{ card[item.key] * 100 }}%</div>
56
+ </template>
57
+ <template v-else-if="item.type === 'custom' && tableColumns">
58
+ <!-- 根据 tableColumns 显示自定义内容 -->
59
+ <span v-for="column in tableColumns" v-if="column.dataIndex === item.key" :key="column.dataIndex">
60
+ <template v-if="column.slotType === 'badge'">
61
+ <x-badge
62
+ :service-name="serviceName"
63
+ :env="env"
64
+ :dataCard="true"
65
+ :badge-key="column.slotKeyMap"
66
+ :value="card[item.key]" />
67
+ </template>
68
+ <template v-else>
69
+ <slot :name="column.slots.customRender">{{ card[item.key] }}</slot>
70
+ </template>
71
+ </span>
72
+ </template>
73
+ <template v-else>
74
+ <span class="body-item-value">{{ card[item.key] }}</span>
75
+ </template>
76
+ </div>
77
+ <a-divider
78
+ v-if="bodyIndex !== config.content.length - 1"
79
+ dashed
80
+ :key="'body' + bodyIndex + 'after'"
81
+ class="body-split" />
82
+ </template>
83
+ </div>
84
+ <!-- 下方按钮 -->
85
+ <template #actions>
86
+ <a-row align="middle" class="custom-actions" v-if="config && config.footer && config.footer.length > 0">
87
+ <template v-for="(item, footerIndex) in config.footer">
88
+ <a-col :key="'footer_' + footerIndex" class="footer-item" :span="11" @click="clickFooter(card, item.emit)">
89
+ <span>
90
+ <a-icon :type="item.icon" class="footer-icon" />
91
+ <span>{{ item.label }}</span>
92
+ </span>
93
+ </a-col>
94
+ <a-col
95
+ v-if="footerIndex !== config.footer.length - 1"
96
+ :span="1"
97
+ :key="'footer_' + footerIndex + 'after'"
98
+ class="footer-item-split">
99
+ |
100
+ </a-col>
101
+ </template>
102
+ </a-row>
103
+ </template>
104
+ </a-card>
105
+ </template>
106
+ </div>
107
+ <div v-else>
108
+ <a-skeleton />
109
+ </div>
110
+ <div v-if="this.showPagination">
111
+ <a-divider />
112
+ <a-pagination
113
+ v-model="pageNum"
114
+ style="float: right"
115
+ :total="total"
116
+ show-less-items
117
+ :page-size="pageSize"
118
+ :page-size-options="pageSizeOptions"
119
+ show-size-changer
120
+ @change="pageNumChange"
121
+ :showTotal="paginationShowTotal"
122
+ @showSizeChange="pageSizeChange">
123
+ </a-pagination>
124
+ </div>
125
+ </div>
126
+ </template>
127
+
128
+ <script>
129
+ import XBadge from '@vue2-client/base-client/components/common/XBadge'
130
+
131
+ export default {
132
+ name: 'XDataCard',
133
+ components: {
134
+ XBadge,
135
+ },
136
+ props: {
137
+ // 卡片数据更新方法
138
+ cardData: {
139
+ type: Function,
140
+ default: undefined
141
+ },
142
+ // 卡片的配置
143
+ cardConfig: {
144
+ type: Object,
145
+ default: undefined
146
+ },
147
+ showPagination: {
148
+ type: Boolean,
149
+ default: false
150
+ },
151
+ // 临时
152
+ testData: {
153
+ type: Array,
154
+ default: undefined
155
+ },
156
+ tableColumns: {
157
+ type: Array,
158
+ default: undefined
159
+ },
160
+ // 服务名称
161
+ serviceName: undefined,
162
+ // 当前环境
163
+ env: {
164
+ type: String,
165
+ default: 'prod'
166
+ },
167
+ // pageSize参数
168
+ prePageSize: {
169
+ type: Number,
170
+ default: undefined
171
+ },
172
+ // 初始是否加载数据
173
+ createdQuery: {
174
+ type: Boolean,
175
+ default: false
176
+ }
177
+ },
178
+ data () {
179
+ return {
180
+ // 配置
181
+ config: {},
182
+ // 数据
183
+ data: {},
184
+ // 当前页码
185
+ pageNum: 1,
186
+ // 控制渲染
187
+ render: true,
188
+ // 分页大小
189
+ pageSize: 10,
190
+ // 分页大小选项
191
+ pageSizeOptions: ['4', '6', '8', '10'],
192
+ // 数据总数
193
+ total: 0
194
+ }
195
+ },
196
+ created () {
197
+ // 根据参数初始化数据值
198
+ if (this.prePageSize) {
199
+ this.pageSize = this.prePageSize
200
+ }
201
+ },
202
+ mounted () {
203
+ // 配置初始化
204
+ if (this.cardConfig) {
205
+ this.config = this.cardConfig
206
+ } else {
207
+ this.config = {
208
+ id: '未获取到配置',
209
+ title: '未获取到配置',
210
+ title2: '未获取到配置',
211
+ title3: '未获取到配置',
212
+ subtitle2: '未获取到配置',
213
+ subtitle3: '未获取到配置',
214
+ subtitle4: '未获取到配置',
215
+ text: '未获取到配置',
216
+ ribbon: '未获取到配置',
217
+ ribbonColor: '未获取到配置',
218
+ content: [
219
+ {
220
+ label: '未获取到配置',
221
+ key: 'one'
222
+ },
223
+ {
224
+ label: '未获取到配置',
225
+ key: 'two'
226
+ },
227
+ {
228
+ label: '未获取到配置',
229
+ key: 'three'
230
+ },
231
+ {
232
+ label: '未获取到配置',
233
+ key: 'four'
234
+ },
235
+ {
236
+ label: '未获取到配置',
237
+ key: 'five'
238
+ },
239
+ {
240
+ label: '未获取到配置',
241
+ key: 'six',
242
+ type: 'progress'
243
+ }
244
+ ],
245
+ footer: [
246
+ {
247
+ icon: 'edit',
248
+ label: '未获取到配置',
249
+ emit: 'planEdit'
250
+ },
251
+ {
252
+ icon: 'user',
253
+ label: '未获取到配置',
254
+ emit: 'user'
255
+ }
256
+ ]
257
+ }
258
+ console.warn(this.config)
259
+ }
260
+
261
+ // 数据初始化
262
+ if (this.cardData) {
263
+ // if (this.createdQuery) {
264
+ // this.loadData()
265
+ // }
266
+ } else {
267
+ this.data = {
268
+ one: '未获取到配置',
269
+ two: '未获取到配置',
270
+ three: '未获取到配置',
271
+ four: '未获取到配置',
272
+ five: '未获取到配置',
273
+ six: 70
274
+ }
275
+ }
276
+ // 测试数据初始化
277
+ if (this.testData) {
278
+ this.data = this.testData
279
+ }
280
+ },
281
+ methods: {
282
+ // 根据比例计算出颜色
283
+ determineRatioColor (ratio, isNum = false) {
284
+ let result
285
+ // 如果是数字,并且比例大于79,则将数字显示为黑色
286
+ if (isNum && ratio > 79) {
287
+ return 'rgb(0,0,0)'
288
+ }
289
+ if (ratio >= 90) {
290
+ result = 'rgb( 1,245, 38 )'
291
+ } else if (ratio >= 75) {
292
+ result = 'rgb( 139,245, 0)'
293
+ } else if (ratio >= 40) {
294
+ result = 'rgb(245,163, 0)'
295
+ } else if (ratio >= 20) {
296
+ result = 'rgb(244, 96, 0)'
297
+ } else {
298
+ result = 'rgb(255, 0, 0)'
299
+ }
300
+ return result
301
+ },
302
+ // 点击按钮
303
+ clickFooter (data, eventName) {
304
+ this.$emit('cardEmit', data, eventName)
305
+ },
306
+ // 获取数据
307
+ loadData () {
308
+ this.render = false
309
+ const parameter = Object.assign({
310
+ querySummary: false, // 分页查询的情况不重新获取汇总数据
311
+ pageNo: this.pageNum,
312
+ pageSize: this.pageSize
313
+ }
314
+ )
315
+ this.cardData(parameter).then(res => {
316
+ this.data = res.data
317
+ this.total = res.totalCount
318
+ this.render = true
319
+ })
320
+ },
321
+ // 页码改变
322
+ pageNumChange (page, pageSize) {
323
+ this.pageNum = page
324
+ this.pageSize = pageSize
325
+ this.loadData()
326
+ },
327
+ // 分页大小改变
328
+ pageSizeChange (current, pageSize) {
329
+ this.pageSize = pageSize
330
+ this.loadData()
331
+ },
332
+ // 刷新
333
+ refresh () {
334
+ this.loadData()
335
+ },
336
+ // 分页前展示当前项和总数
337
+ paginationShowTotal () {
338
+ return `${(this.pageNum - 1) * this.pageSize + 1 } - ${ this.pageNum * this.pageSize } | 共 ${ this.total } 项`
339
+ },
340
+ getRibbonColor (color) {
341
+ switch (color) {
342
+ case 'red':
343
+ return '#ff4d4f'
344
+ case 'blue':
345
+ return '#1890ff'
346
+ case 'yellow':
347
+ return '#fadb14'
348
+ default:
349
+ return '#ff4d4f' // 默认红色
350
+ }
351
+ }
352
+ }
353
+ }
354
+ </script>
355
+
356
+ <style lang="less" scoped>
357
+ .hide-page-numbers /deep/ .ant-pagination-item,
358
+ .hide-page-numbers /deep/ .ant-pagination-jump-next {
359
+ display: none !important; /* 隐藏数字页码和多页跳转 */
360
+ }
361
+ .hide-page-numbers /deep/ .ant-pagination-prev,
362
+ .hide-page-numbers /deep/ .ant-pagination-next {
363
+ display: inline-block !important; /* 保留左右跳转按钮 */
364
+ }
365
+
366
+ .XCard {
367
+ display: flex;
368
+ flex-wrap: wrap;
369
+ justify-content: flex-start;
370
+ overflow-y: auto;
371
+ overflow-x: hidden;
372
+ max-height: 85vh;
373
+ .data-card {
374
+ width: 100%;
375
+ max-width: 300px;
376
+ border: 2px solid rgb(244,244,244);
377
+ border-radius: 5px;
378
+ margin: 2px;
379
+ overflow: hidden;
380
+
381
+ ::v-deep .ant-card-body {
382
+ padding: 15px !important; // 使用 !important 确保样式覆盖
383
+ }
384
+
385
+ .header {
386
+ width: 100%;
387
+ background-color: rgb(244,244,244);
388
+ padding: 5px 15px;
389
+
390
+ span {
391
+ font-weight: bold;
392
+ font-size: 1.1em;
393
+ }
394
+ }
395
+
396
+ .body {
397
+ .body-text{
398
+ width: 500px;
399
+ font-weight: bold;
400
+ font-size: 1.1em;
401
+ .text-ellipsis{
402
+ display: inline-block;
403
+ max-width: 260px; /* 控制文本的最大宽度 */
404
+ white-space: nowrap;
405
+ overflow: hidden;
406
+ text-overflow: ellipsis;
407
+ }
408
+ }
409
+
410
+ .body-item {
411
+ padding: 3px 5px;
412
+ }
413
+
414
+ .body-split {
415
+ margin: 1px 0;
416
+ }
417
+
418
+ .body-item-label {
419
+ color: rgba(117, 117, 117, 0.8);
420
+ font-size: 0.95em;
421
+ }
422
+
423
+ .body-item-value {
424
+ color: black;
425
+ }
426
+
427
+ .progress {
428
+ display: inline-block;
429
+ width: 60%;
430
+ height: 60%;
431
+ float: right;
432
+ padding-right: 1.5%;
433
+ margin-top: 0.5%;
434
+
435
+ .progress-bar {
436
+ width: 100%;
437
+ height: 90%;
438
+ display: inline-block;
439
+ border-radius: 10%;
440
+ background-color: rgba(212,217,218, 0.6);
441
+
442
+ .progress-done {
443
+ float: left;
444
+ display: inline-block;
445
+ height: 100%;
446
+ border-radius: 10%;
447
+ }
448
+ }
449
+ }
450
+ .progress-num {
451
+ position: relative;
452
+ top: -83%;
453
+ left: -3%;
454
+ text-align: end;
455
+ font-size: 0.9em;
456
+ color: black;
457
+ }
458
+ }
459
+ }
460
+
461
+ .custom-title {
462
+ display: flex;
463
+ align-items: center;
464
+ gap: 12px;
465
+
466
+ &:hover {
467
+ cursor: pointer;
468
+ }
469
+
470
+ .title-id {
471
+ flex-shrink: 0;
472
+ width: 65px;
473
+ color: #1890ff;
474
+ font-size: 16px;
475
+ font-weight: bold;
476
+ padding: 4px 8px;
477
+ border: 1px solid #1890ff;
478
+ border-radius: 4px;
479
+ line-height: 1.4;
480
+ text-align: center;
481
+ white-space: nowrap;
482
+ overflow: hidden;
483
+ text-overflow: ellipsis;
484
+ }
485
+
486
+ .title-basic {
487
+ display: flex;
488
+ flex-direction: column;
489
+ flex-grow: 1;
490
+
491
+ .subtitle2, .subtitle3 {
492
+ display: inline-block;
493
+ max-width: 50px; /* 固定宽度 */
494
+ white-space: nowrap;
495
+ overflow: hidden;
496
+ text-overflow: ellipsis;
497
+ }
498
+
499
+ .title-main {
500
+ display: flex;
501
+ align-items: center;
502
+ gap: 8px;
503
+ .title-info {
504
+ margin-left: 6px;
505
+ color: #808080;
506
+ }
507
+ .title-title3 {
508
+ color: #808080;
509
+ }
510
+ }
511
+
512
+ .additional-info {
513
+ display: flex;
514
+ gap: 8px;
515
+ font-size: 13px;
516
+ color: #808080;
517
+ .subtitle4 {
518
+ color: rgba(0, 0, 255, 0.8);
519
+ }
520
+ }
521
+ }
522
+ }
523
+
524
+ .ribbon {
525
+ position: absolute;
526
+ top: 16px;
527
+ right: -6px;
528
+ background-color: #ff4d4f;
529
+ color: white;
530
+ padding: 5px 25px;
531
+ font-size: 12px;
532
+ transform: rotate(45deg) translateX(30%);
533
+ transform-origin: top right;
534
+ z-index: 1;
535
+ }
536
+
537
+ .custom-actions {
538
+ .footer-icon {
539
+ margin-right: 5px;
540
+ }
541
+
542
+ .footer-item-split {
543
+ color: rgba(220, 220, 220, 0.59);
544
+ }
545
+
546
+ .footer-item {
547
+ color: rgba(117, 117, 117, 0.8);
548
+ font-size: 1em;
549
+ }
550
+
551
+ .footer-item:hover {
552
+ color: rgb( 24,144,255 );
553
+ cursor: pointer;
554
+ }
555
+ }
556
+ }
557
+
558
+ .ellipsis {
559
+ display: inline-block;
560
+ max-width: 60px;
561
+ white-space: nowrap;
562
+ overflow: hidden;
563
+ text-overflow: ellipsis;
564
+ }
565
+ </style>