vue2-client 1.9.78 → 1.9.79

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 (337) hide show
  1. package/.env +19 -19
  2. package/.env.gaslink +19 -19
  3. package/.env.his +19 -19
  4. package/.env.revenue +19 -19
  5. package/.eslintrc.js +90 -90
  6. package/CHANGELOG.md +824 -824
  7. package/Components.md +60 -60
  8. package/babel.config.js +21 -21
  9. package/docs/Logic/345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +45 -45
  10. package/docs/LowCode/lowcode.md +155 -155
  11. package/docs/LowCode/lowcodeForDeveloper.md +230 -230
  12. package/docs/index.md +30 -30
  13. package/docs//345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +143 -143
  14. package/index.js +31 -31
  15. package/jest-transform-stub.js +8 -8
  16. package/jest.config.js +21 -21
  17. package/jest.setup.js +7 -7
  18. package/package.json +1 -1
  19. package/public/his/editor/editor.html +51 -51
  20. package/public/his/editor/mock/bind_data.html +779 -779
  21. package/public/his/editor/mock/data_table.html +40 -40
  22. package/public/his/editor/mock/sign.html +75 -75
  23. package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
  24. package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
  25. package/public/his/editor/vender/date97/WdatePicker.js +677 -677
  26. package/public/his/editor/vender/date97/calendar.js +4 -4
  27. package/public/his/editor/vender/date97/lang/en.js +13 -13
  28. package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
  29. package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
  30. package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
  31. package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
  32. package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
  33. package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
  34. package/public/his/editor/vender/diff.js +1627 -1627
  35. package/public/his/editor/vender/editor.js +1 -1
  36. package/public/his/editor/vender/fabric.js +31187 -31187
  37. package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
  38. package/public/his/editor/vender/jquery/jquery.js +10872 -10872
  39. package/public/his/editor/vender/jquery/jquery.print.js +255 -255
  40. package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
  41. package/public/his/editor/vender/mui/mui.min.css +4 -4
  42. package/public/his/editor/vender/mui/mui.min.js +5 -5
  43. package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
  44. package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
  45. package/public/his/editor/vender/qrcode.js +7 -7
  46. package/public/his/editor/vender/requirejs/require.js +2145 -2145
  47. package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
  48. package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
  49. package/public/his/editor/vender/signature/jSignature.js +1486 -1486
  50. package/public/his/editor/vender/validator.js +5094 -5094
  51. package/public/his/editor/vender/weui/weui.css +5659 -5659
  52. package/public/his/editor/vender/weui/weui.min.css +4 -4
  53. package/public/his/editor/vender/weui/weui.min.js +11 -11
  54. package/public/index.html +27 -27
  55. package/src/App.vue +192 -192
  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/common/AMisRender/index.js +3 -3
  61. package/src/base-client/components/common/AMisRender/index.vue +263 -263
  62. package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +470 -470
  63. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  64. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  65. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  66. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  67. package/src/base-client/components/common/CitySelect/CitySelect.vue +342 -342
  68. package/src/base-client/components/common/CitySelect/index.js +3 -3
  69. package/src/base-client/components/common/CitySelect/index.md +109 -109
  70. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  71. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  72. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  73. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  74. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  75. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  76. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  77. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  78. package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +149 -149
  79. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  80. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  81. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  82. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  83. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  84. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  85. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  86. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  87. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  88. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  89. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  90. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  91. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  92. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  93. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  94. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  95. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  96. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  97. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  98. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  99. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  100. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  101. package/src/base-client/components/common/Tree/index.js +2 -2
  102. package/src/base-client/components/common/Upload/Upload.vue +239 -239
  103. package/src/base-client/components/common/Upload/index.js +3 -3
  104. package/src/base-client/components/common/XAddForm/XAddForm.vue +107 -107
  105. package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +868 -868
  106. package/src/base-client/components/common/XAddNativeForm/demo.vue +30 -30
  107. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  108. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +303 -303
  109. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  110. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  111. package/src/base-client/components/common/XAddReport/XAddReport.vue +207 -207
  112. package/src/base-client/components/common/XBadge/XBadge.vue +94 -94
  113. package/src/base-client/components/common/XButtons/XButtonDemo.vue +28 -28
  114. package/src/base-client/components/common/XButtons/XButtons.vue +71 -71
  115. package/src/base-client/components/common/XButtons/index.js +3 -3
  116. package/src/base-client/components/common/XButtons/index.md +61 -61
  117. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  118. package/src/base-client/components/common/XConversation/XConversation.vue +140 -140
  119. package/src/base-client/components/common/XConversation/XConversationDemo.vue +28 -28
  120. package/src/base-client/components/common/XDataCard/XDataCard.vue +420 -420
  121. package/src/base-client/components/common/XDataCard/index.js +3 -3
  122. package/src/base-client/components/common/XDataCard/index.md +1 -1
  123. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  124. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  125. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  126. package/src/base-client/components/common/XDescriptions/XDescriptions.vue +169 -169
  127. package/src/base-client/components/common/XDescriptions/XDescriptionsGroup.vue +304 -304
  128. package/src/base-client/components/common/XDescriptions/demo.vue +50 -50
  129. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  130. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  131. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +238 -238
  132. package/src/base-client/components/common/XDetailsView/index.js +3 -3
  133. package/src/base-client/components/common/XForm/XForm.vue +340 -340
  134. package/src/base-client/components/common/XForm/XFormItem.vue +4 -3
  135. package/src/base-client/components/common/XForm/XTreeSelect.vue +250 -250
  136. package/src/base-client/components/common/XForm/index.md +178 -178
  137. package/src/base-client/components/common/XFormCol/XFormCol.vue +96 -96
  138. package/src/base-client/components/common/XFormGroup/XFormGroup.vue +261 -261
  139. package/src/base-client/components/common/XFormGroup/demo.vue +45 -45
  140. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  141. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  142. package/src/base-client/components/common/XFormGroupDetails/XFormGroupDetails.vue +72 -72
  143. package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
  144. package/src/base-client/components/common/XFormTable/XFormTable.vue +713 -713
  145. package/src/base-client/components/common/XFormTable/demo.vue +76 -76
  146. package/src/base-client/components/common/XFormTable/index.md +92 -92
  147. package/src/base-client/components/common/XImportExcel/XImportExcel.vue +162 -162
  148. package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
  149. package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
  150. package/src/base-client/components/common/XReport/XReport.vue +892 -892
  151. package/src/base-client/components/common/XReport/XReportDemo.vue +304 -304
  152. package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
  153. package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
  154. package/src/base-client/components/common/XReport/XReportTrGroup.vue +808 -808
  155. package/src/base-client/components/common/XReport/index.js +3 -3
  156. package/src/base-client/components/common/XReport/index.md +44 -44
  157. package/src/base-client/components/common/XReport/print.js +186 -186
  158. package/src/base-client/components/common/XReportDrawer/XReportDrawer.vue +201 -201
  159. package/src/base-client/components/common/XReportDrawer/index.js +3 -3
  160. package/src/base-client/components/common/XReportGrid/XReport.vue +995 -959
  161. package/src/base-client/components/common/XReportGrid/XReportDemo.vue +42 -42
  162. package/src/base-client/components/common/XReportGrid/XReportDesign.vue +557 -557
  163. package/src/base-client/components/common/XReportGrid/XReportJsonRender.vue +380 -380
  164. package/src/base-client/components/common/XReportGrid/XReportTrGroup.vue +999 -999
  165. package/src/base-client/components/common/XReportGrid/index.js +3 -3
  166. package/src/base-client/components/common/XReportGrid/index.md +44 -44
  167. package/src/base-client/components/common/XReportGrid/print.js +184 -184
  168. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  169. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  170. package/src/base-client/components/common/XReportSlot/index.md +48 -48
  171. package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
  172. package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
  173. package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
  174. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  175. package/src/base-client/components/common/XStepView/index.js +3 -3
  176. package/src/base-client/components/common/XStepView/index.md +31 -31
  177. package/src/base-client/components/common/XTab/XTab.vue +201 -201
  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/TableCellRenderer.vue +161 -161
  181. package/src/base-client/components/common/XTable/XTable.vue +1191 -1191
  182. package/src/base-client/components/common/XTable/index.md +255 -255
  183. package/src/base-client/components/common/XTree/XTree.vue +423 -423
  184. package/src/base-client/components/common/XTree/XTreePro.vue +434 -434
  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/XHisEditor.vue +203 -203
  192. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  193. package/src/base-client/components/index.js +51 -51
  194. package/src/base-client/components/layout/XPageView/RenderRow.vue +63 -63
  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/tabs-page-plugin.js +39 -39
  208. package/src/bootstrap.js +39 -39
  209. package/src/components/CodeMirror/inedx.vue +118 -118
  210. package/src/components/CodeMirror/setting.js +40 -40
  211. package/src/components/FilePreview/FilePreview.vue +166 -166
  212. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  213. package/src/components/STable/index.js +380 -380
  214. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  215. package/src/components/checkbox/ImgCheckbox.vue +163 -163
  216. package/src/components/exception/ExceptionPage.vue +70 -70
  217. package/src/components/menu/SideMenu.vue +75 -75
  218. package/src/components/menu/menu.js +273 -273
  219. package/src/components/tool/AStepItem.vue +60 -60
  220. package/src/config/default/antd.config.js +89 -89
  221. package/src/config/default/setting.config.js +55 -55
  222. package/src/font-style/font.css +4 -4
  223. package/src/layouts/CommonLayout.vue +56 -56
  224. package/src/layouts/GridView.vue +45 -45
  225. package/src/layouts/PageLayout.vue +151 -151
  226. package/src/layouts/SinglePageView.vue +136 -136
  227. package/src/layouts/header/AdminHeader.vue +132 -132
  228. package/src/layouts/header/HeaderNotice.vue +177 -177
  229. package/src/layouts/tabs/TabsHead.vue +189 -189
  230. package/src/layouts/tabs/TabsView.vue +389 -389
  231. package/src/lib.js +1 -1
  232. package/src/main.js +30 -30
  233. package/src/mock/extend/index.js +84 -84
  234. package/src/mock/goods/index.js +108 -108
  235. package/src/pages/AMisDemo/AMisDemo.vue +325 -325
  236. package/src/pages/AMisDemo/AMisDemo2.vue +74 -74
  237. package/src/pages/DefaultExample/index.vue +77 -77
  238. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  239. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  240. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  241. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  242. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  243. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  244. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  245. package/src/pages/DynamicStatistics/index.vue +282 -282
  246. package/src/pages/Example/childIndex.vue +15 -15
  247. package/src/pages/Example/index.vue +30 -30
  248. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  249. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  250. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  251. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  252. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  253. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  254. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  255. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  256. package/src/pages/Recording/index.vue +76 -0
  257. package/src/pages/ReportGrid/index.vue +76 -76
  258. package/src/pages/ServiceReview/index.vue +284 -284
  259. package/src/pages/SubExample/index.vue +26 -26
  260. package/src/pages/WorkflowDetail/WorkFlowDemo.vue +32 -32
  261. package/src/pages/WorkflowDetail/WorkflowDetail.vue +230 -230
  262. package/src/pages/WorkflowDetail/WorkflowPageDetail/LeaveMessage.vue +131 -131
  263. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  264. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformation.vue +302 -302
  265. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformationDetails.vue +276 -276
  266. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandle.vue +864 -864
  267. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandleReso.vue +997 -997
  268. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowTimeline.vue +222 -222
  269. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkOrderParentDetails.vue +233 -233
  270. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowDetailResso.vue +261 -261
  271. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowListResolution.vue +248 -248
  272. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowLog.vue +73 -73
  273. package/src/pages/XPageViewExample/index.vue +38 -38
  274. package/src/pages/XReportView/index.vue +64 -64
  275. package/src/pages/XTreeOneProExample/index.vue +67 -67
  276. package/src/pages/login/Login.vue +378 -378
  277. package/src/pages/login/LoginV3.vue +389 -389
  278. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  279. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  280. package/src/pages/resourceManage/orgListManage.vue +98 -98
  281. package/src/pages/system/dictionary/index.vue +44 -44
  282. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  283. package/src/pages/system/monitor/operLog/index.vue +37 -37
  284. package/src/pages/system/settings/modifyPassword.vue +117 -117
  285. package/src/pages/system/ticket/index.vue +480 -480
  286. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  287. package/src/plugins/EventLogPlugin.js +33 -33
  288. package/src/plugins/FindParentsData.js +17 -17
  289. package/src/router/async/config.async.js +1 -0
  290. package/src/router/async/router.map.js +183 -183
  291. package/src/router/guards.js +263 -263
  292. package/src/router/index.js +27 -27
  293. package/src/router.js +19 -19
  294. package/src/services/api/TicketDetailsViewApi.js +46 -46
  295. package/src/services/api/cas.js +79 -79
  296. package/src/services/api/common.js +329 -329
  297. package/src/services/api/entity.js +18 -18
  298. package/src/services/api/index.js +17 -17
  299. package/src/services/api/restTools.js +67 -67
  300. package/src/services/api/workFlow.js +63 -63
  301. package/src/services/apiService.js +15 -15
  302. package/src/services/user.js +90 -90
  303. package/src/services/v3Api.js +116 -116
  304. package/src/store/modules/account.js +115 -115
  305. package/src/store/modules/index.js +5 -5
  306. package/src/store/modules/lowCode.js +33 -33
  307. package/src/store/modules/setting.js +119 -119
  308. package/src/theme/default/style.less +58 -58
  309. package/src/theme/global.less +159 -159
  310. package/src/utils/authority-utils.js +85 -85
  311. package/src/utils/errorCode.js +6 -6
  312. package/src/utils/formatter.js +74 -74
  313. package/src/utils/htmlToPDF.js +108 -108
  314. package/src/utils/htmlToPDFApi.js +5 -5
  315. package/src/utils/indexedDB.js +263 -263
  316. package/src/utils/login.js +188 -188
  317. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  318. package/src/utils/lowcode/lowcodeLog.js +29 -29
  319. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  320. package/src/utils/lowcode/registerComponentForEditor.js +1 -1
  321. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  322. package/src/utils/map-utils.js +47 -47
  323. package/src/utils/microAppUtils.js +40 -40
  324. package/src/utils/reg.js +95 -95
  325. package/src/utils/request.js +362 -362
  326. package/src/utils/routerUtil.js +450 -450
  327. package/src/utils/runEvalFunction.js +14 -14
  328. package/src/utils/util.js +313 -313
  329. package/src/utils/waterMark.js +31 -31
  330. package/test/Amis.spec.js +163 -163
  331. package/test/Tree.spec.js +167 -167
  332. package/test/myDialog.spec.js +46 -46
  333. package/test/util.test.js +36 -36
  334. package/test/v3Api.test.js +1983 -1983
  335. package/vue.config.js +199 -199
  336. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
  337. /package/src/base-client/components/common/Recording/{Recoding.vue → Recording.vue} +0 -0
@@ -1,380 +1,380 @@
1
- <template>
2
- <div :class="noPadding ? 'reportMainNoPadding' : 'reportMain'">
3
- <table class="reportTable" :style="config.style ? config.style : undefined">
4
- <tbody class="'reportTable'">
5
- <!-- 标题 -->
6
- <tr v-if="showTitle && config.title.type && config.title.type !== ''">
7
- <td :class="noTopBorder ? 'tdWithNoTopBorder' : 'tdWithBorder'" colspan="12">
8
- <template v-if="config.title.type === 'titleKey'">
9
- {{ config.data[config.title.value] }}
10
- </template>
11
- <template v-else-if="config.title.type === 'titleValue'">
12
- {{ config.title.value }}
13
- </template>
14
- </td>
15
- </tr>
16
- <template v-for="(row, rowIndex) in config.content">
17
- <!-- 数据对象是一个Obj -->
18
- <template v-if="row.type === 'jsonKey'">
19
- <tr :key="rowIndex">
20
- <!-- 表头 -->
21
- <td
22
- :class="noTopBorder ? 'tdWithNoTopBorder' : 'tdWithBorder'"
23
- :style="determineCellStyle(receivedFunction[rowIndex].labelFunction(config, item))"
24
- colspan="6">
25
- <template v-if="receivedFunction[rowIndex].labelFunction(config).type === 'key'">
26
- {{ config.data[receivedFunction[rowIndex].labelFunction(config).content] }}
27
- </template>
28
- <template v-else-if="receivedFunction[rowIndex].labelFunction(config).type === 'value'">
29
- {{ receivedFunction[rowIndex].labelFunction(config).content }}
30
- </template>
31
- </td>
32
- <!-- 内容 -->
33
- <td
34
- :class="noTopBorder ? 'tdWithNoTopBorder' : 'tdWithBorder'"
35
- :style="determineCellStyle(receivedFunction[rowIndex].valueFunction(config))"
36
- colspan="6">
37
- <template v-if="displayOnly">
38
- <template v-if="receivedFunction[rowIndex].valueFunction(config).type === 'key'">
39
- {{ config.data[receivedFunction[rowIndex].valueFunction(config).content] }}
40
- </template>
41
- <template v-else-if="receivedFunction[rowIndex].valueFunction(config).type === 'value'">
42
- {{ receivedFunction[rowIndex].valueFunction(config).content }}
43
- </template>
44
- </template>
45
- <template v-else>
46
- <template v-if="receivedFunction[rowIndex].valueFunction(config).originalKey">
47
- <a-input v-model="config.data[receivedFunction[rowIndex].valueFunction(config).originalKey]"/>
48
- </template>
49
- <template v-else>
50
- <a-input v-model="config.data[receivedFunction[rowIndex].valueFunction(config).content]"/>
51
- </template>
52
- </template>
53
- <template v-if="receivedFunction[rowIndex].valueFunction(config).type === 'img'">
54
- <template v-for="(img, imgIndex) in receivedFunction[rowIndex].valueFunction(config).content">
55
- <span :key="imgIndex" class="imgText">
56
- <a-icon type="link"/>
57
- <span @click="openImgModal(img)">{{ formatImgName(img) }}</span>
58
- <br/>
59
- </span>
60
- </template>
61
- </template>
62
- </td>
63
- </tr>
64
- </template>
65
- <!-- 数据对象是一个Array -->
66
- <template v-else-if="row.type === 'jsonArray'">
67
- <tr :key="rowIndex + '' + jsonArrayItemIndex" v-for="(item, jsonArrayItemIndex) in config.data[row.jsonArrayDataIndex]">
68
- <!-- 表头 -->
69
- <td
70
- :class="noTopBorder ? 'tdWithNoTopBorder' : 'tdWithBorder'"
71
- :style="determineCellStyle(receivedFunction[rowIndex].labelFunction(config, item))"
72
- colspan="6">
73
- <template v-if="receivedFunction[rowIndex].labelFunction(config, item).type === 'key'">
74
- {{ item[receivedFunction[rowIndex].labelFunction(config, item).content] }}
75
- </template>
76
- <template v-if="receivedFunction[rowIndex].labelFunction(config, item).type === 'value'">
77
- {{ receivedFunction[rowIndex].labelFunction(config, item).content }}
78
- </template>
79
- </td>
80
- <!-- 内容 -->
81
- <td
82
- :class="noTopBorder ? 'tdWithNoTopBorder' : 'tdWithBorder'"
83
- :style="determineCellStyle(receivedFunction[rowIndex].valueFunction(config, item))"
84
- colspan="6">
85
- <template v-if="displayOnly">
86
- <template v-if="receivedFunction[rowIndex].valueFunction(config, item).type === 'key'">
87
- {{ item[receivedFunction[rowIndex].valueFunction(config, item).content] }}
88
- </template>
89
- <template v-if="receivedFunction[rowIndex].valueFunction(config, item).type === 'value'">
90
- {{ receivedFunction[rowIndex].valueFunction(config, item).content }}
91
- </template>
92
- <template v-if="receivedFunction[rowIndex].valueFunction(config, item).type === 'imgs'">
93
- <template v-if="!item.imgs || item.imgs.length === 0">
94
- <p style="margin: auto">无</p>
95
- </template>
96
- <template v-else>
97
- <template v-for="(img, imgIndex) in item.imgs">
98
- <div :key="imgIndex">
99
- <img :src="img.path" style="max-width: 200px; max-height: 200px"/>
100
- <p style="margin: auto">
101
- {{ img.path.substring(img.path.lastIndexOf('/') + 1, img.path.lastIndexOf('.')) }}
102
- </p>
103
- </div>
104
- </template>
105
- </template>
106
- </template>
107
- </template>
108
- <template v-else>
109
- <template v-if="receivedFunction[rowIndex].valueFunction(config, item).originalKey">
110
- <template v-if="receivedFunction[rowIndex].valueFunction(config, item).type === 'imgs'">
111
- <upload
112
- :model="{
113
- type: 'image',
114
- accept: ['*'],
115
- resUploadStock: 1,
116
- pathKey: 'cs'
117
- }"
118
- :outer-container-index="1"
119
- :img-prefix="imgPrefix"
120
- :service-name="serverName"
121
- :images="checkImg(item.imgs)"
122
- @setFiles="(...args) => {setImages(args, item, config.data)}"
123
- :upload-style="'simple'"
124
- />
125
- </template>
126
- <template v-else>
127
- <a-input v-model="item[receivedFunction[rowIndex].valueFunction(config, item).originalKey]"/>
128
- </template>
129
- </template>
130
- <template v-else>
131
- <a-input v-model="item[receivedFunction[rowIndex].valueFunction(config, item).content]"/>
132
- </template>
133
- </template>
134
- </td>
135
- </tr>
136
- </template>
137
- </template>
138
- </tbody>
139
- </table>
140
- <!-- 图片展示弹框 -->
141
- <a-modal
142
- title="图片"
143
- width="80%"
144
- :visible="showImgModal"
145
- @ok="handleShowImgOk"
146
- @cancel="handleShowImgCancel"
147
- :z-index="1001"
148
- :destroyOnClose="true">
149
- <div style="width: 100%;display: flex;justify-content: center;align-items: center">
150
- <img :src="showImageSrc" alt="图片"/>
151
- </div>
152
- </a-modal>
153
- </div>
154
- </template>
155
-
156
- <script>
157
- import Upload from '@vue2-client/base-client/components/common/Upload'
158
- import { nanoid } from 'nanoid'
159
-
160
- export default {
161
- name: 'XReportJsonRender',
162
- components: {
163
- Upload
164
- },
165
- props: {
166
- // 配置
167
- config: {
168
- type: Object,
169
- required: true
170
- },
171
- // 表格没有边距
172
- noPadding: {
173
- type: Boolean,
174
- default: false
175
- },
176
- // 表格没有上边框,与noPadding搭配可以实现连续表格
177
- noTopBorder: {
178
- type: Boolean,
179
- default: false
180
- },
181
- // 命名空间
182
- serverName: {
183
- type: String,
184
- default: 'af-system'
185
- },
186
- // 是否展示标题
187
- showTitle: {
188
- type: Boolean,
189
- default: true
190
- },
191
- // 是否仅展示
192
- displayOnly: {
193
- type: Boolean,
194
- default: true
195
- },
196
- // 图片上传后添加前缀
197
- imgPrefix: {
198
- type: String,
199
- default: undefined
200
- }
201
- },
202
- data () {
203
- return {
204
- // 储存所有json传递的函数
205
- receivedFunction: [],
206
- // 控制弹框显隐
207
- showImgModal: false,
208
- // 弹框中图片路径
209
- showImageSrc: undefined
210
- }
211
- },
212
- methods: {
213
- checkImg (target) {
214
- if (target === undefined) {
215
- return []
216
- }
217
- target.forEach(obj => {
218
- if (obj.imgid) {
219
- obj.uid = obj.imgid.toString()
220
- } else {
221
- obj.uid = nanoid(6)
222
- }
223
- if (obj.url === undefined) {
224
- if (obj.path) {
225
- obj.url = obj.path
226
- }
227
- }
228
- if (obj.name === undefined) {
229
- const withOutEndFix = obj.url.split('.')[0]
230
- const temp = withOutEndFix.split('/')
231
- obj.name = temp[temp.length - 1]
232
- }
233
- if (obj.status === undefined) {
234
- obj.status = 'done'
235
- }
236
- })
237
- return target
238
- },
239
- setImages (args, item, config) {
240
- // 如果基础上传组件在初始化完成后,就调用emit了setImage,此时图片并没有变化,直接返回
241
- if (args[2] === 'created') {
242
- return
243
- }
244
- const result = {
245
- name: item.f_project,
246
- data: args[0],
247
- orignalData: config
248
- }
249
- this.$emit('updateImg', result)
250
- },
251
- // 判断单元格样式
252
- determineCellStyle (labelFunctionReturn, color = '#000', borderWidth = '1px') {
253
- if (labelFunctionReturn.style) {
254
- // 如果声明了边框颜色
255
- if (labelFunctionReturn.style.borderColor) {
256
- color = labelFunctionReturn.style.borderColor
257
- }
258
- // 如果声明了边框宽度
259
- if (labelFunctionReturn.style.borderWidth) {
260
- borderWidth = labelFunctionReturn.style.borderWidth
261
- }
262
- }
263
- // 正常边框单元格
264
- const withBorder = {
265
- border: borderWidth + ' solid ' + color,
266
- padding: '8px'
267
- }
268
- // 仅没有上边框单元格
269
- const NoTopBorder = {
270
- borderTopStyle: 'none',
271
- borderLeft: borderWidth + ' solid ' + color,
272
- borderRight: borderWidth + ' solid ' + color,
273
- borderBottom: borderWidth + ' solid ' + color,
274
- padding: '8px'
275
- }
276
- let result = {}
277
- // 判断表头是否有声明的样式
278
- if (labelFunctionReturn.style !== undefined) {
279
- if (this.noTopBorder) {
280
- result = { ...NoTopBorder, ...labelFunctionReturn.style }
281
- } else {
282
- result = { ...withBorder, ...labelFunctionReturn.style }
283
- }
284
- } else {
285
- if (this.noTopBorder) {
286
- result = { ...NoTopBorder }
287
- } else {
288
- result = { ...withBorder }
289
- }
290
- }
291
- return result
292
- },
293
- handleShowImgOk () {
294
- this.showImgModal = false
295
- this.showImageSrc = undefined
296
- },
297
- handleShowImgCancel () {
298
- this.showImgModal = false
299
- this.showImageSrc = undefined
300
- },
301
- openImgModal (img) {
302
- this.showImageSrc = img
303
- this.showImgModal = true
304
- },
305
- formatImgName (imgSrc) {
306
- return imgSrc.split('/').pop()
307
- }
308
- },
309
- beforeMount () {
310
- // 遍历配置,将所有JSON传递的方法保存到一个数组中,并用index来一一对应
311
- for (let i = 0; i < this.config.content.length; i++) {
312
- this.receivedFunction.push({
313
- // eslint-disable-next-line no-eval
314
- labelFunction: eval('(' + this.config.content[i].customFunctionForLabel + ')'),
315
- // eslint-disable-next-line no-eval
316
- valueFunction: eval('(' + this.config.content[i].customFunctionForValue + ')')
317
- })
318
- }
319
- }
320
- }
321
- </script>
322
-
323
- <style scoped lang="less">
324
- .imgSrc {
325
- color: rgb( 24,144,255 );
326
- font-size: 0.9em;
327
- margin: auto;
328
- }
329
- .imgSrc:hover {
330
- color: rgba(24, 144, 255, 0.8);
331
- font-size: 0.9em;
332
- cursor: pointer;
333
- }
334
- .reportMain {
335
- text-align: center;
336
- margin: 0 auto;
337
- font-size: 16px;
338
- color: #000;
339
- background-color: #fff;
340
- border-radius: 8px;
341
- }
342
-
343
- .reportMainNoPadding {
344
- text-align: center;
345
- margin: 0 auto;
346
- font-size: 16px;
347
- color: #000;
348
- background-color: #fff;
349
- border-radius: 8px;
350
- }
351
-
352
- .reportTitle {
353
- font-weight: bold;
354
- }
355
-
356
- .reportTable {
357
- width: 100%;
358
- border-collapse: collapse;
359
- table-layout: fixed;
360
- word-break: break-all;
361
- }
362
-
363
- .tdWithBorder {
364
- border: 1px solid #000;
365
- padding: 8px;
366
- }
367
-
368
- .imgText:hover {
369
- color: rgb(24, 144, 255);
370
- cursor: pointer;
371
- }
372
-
373
- .tdWithNoTopBorder {
374
- border-top-style: none;
375
- border-left: 1px solid #000;
376
- border-right: 1px solid #000;
377
- border-bottom: 1px solid #000;
378
- padding: 8px;
379
- }
380
- </style>
1
+ <template>
2
+ <div :class="noPadding ? 'reportMainNoPadding' : 'reportMain'">
3
+ <table class="reportTable" :style="config.style ? config.style : undefined">
4
+ <tbody class="'reportTable'">
5
+ <!-- 标题 -->
6
+ <tr v-if="showTitle && config.title.type && config.title.type !== ''">
7
+ <td :class="noTopBorder ? 'tdWithNoTopBorder' : 'tdWithBorder'" colspan="12">
8
+ <template v-if="config.title.type === 'titleKey'">
9
+ {{ config.data[config.title.value] }}
10
+ </template>
11
+ <template v-else-if="config.title.type === 'titleValue'">
12
+ {{ config.title.value }}
13
+ </template>
14
+ </td>
15
+ </tr>
16
+ <template v-for="(row, rowIndex) in config.content">
17
+ <!-- 数据对象是一个Obj -->
18
+ <template v-if="row.type === 'jsonKey'">
19
+ <tr :key="rowIndex">
20
+ <!-- 表头 -->
21
+ <td
22
+ :class="noTopBorder ? 'tdWithNoTopBorder' : 'tdWithBorder'"
23
+ :style="determineCellStyle(receivedFunction[rowIndex].labelFunction(config, item))"
24
+ colspan="6">
25
+ <template v-if="receivedFunction[rowIndex].labelFunction(config).type === 'key'">
26
+ {{ config.data[receivedFunction[rowIndex].labelFunction(config).content] }}
27
+ </template>
28
+ <template v-else-if="receivedFunction[rowIndex].labelFunction(config).type === 'value'">
29
+ {{ receivedFunction[rowIndex].labelFunction(config).content }}
30
+ </template>
31
+ </td>
32
+ <!-- 内容 -->
33
+ <td
34
+ :class="noTopBorder ? 'tdWithNoTopBorder' : 'tdWithBorder'"
35
+ :style="determineCellStyle(receivedFunction[rowIndex].valueFunction(config))"
36
+ colspan="6">
37
+ <template v-if="displayOnly">
38
+ <template v-if="receivedFunction[rowIndex].valueFunction(config).type === 'key'">
39
+ {{ config.data[receivedFunction[rowIndex].valueFunction(config).content] }}
40
+ </template>
41
+ <template v-else-if="receivedFunction[rowIndex].valueFunction(config).type === 'value'">
42
+ {{ receivedFunction[rowIndex].valueFunction(config).content }}
43
+ </template>
44
+ </template>
45
+ <template v-else>
46
+ <template v-if="receivedFunction[rowIndex].valueFunction(config).originalKey">
47
+ <a-input v-model="config.data[receivedFunction[rowIndex].valueFunction(config).originalKey]"/>
48
+ </template>
49
+ <template v-else>
50
+ <a-input v-model="config.data[receivedFunction[rowIndex].valueFunction(config).content]"/>
51
+ </template>
52
+ </template>
53
+ <template v-if="receivedFunction[rowIndex].valueFunction(config).type === 'img'">
54
+ <template v-for="(img, imgIndex) in receivedFunction[rowIndex].valueFunction(config).content">
55
+ <span :key="imgIndex" class="imgText">
56
+ <a-icon type="link"/>
57
+ <span @click="openImgModal(img)">{{ formatImgName(img) }}</span>
58
+ <br/>
59
+ </span>
60
+ </template>
61
+ </template>
62
+ </td>
63
+ </tr>
64
+ </template>
65
+ <!-- 数据对象是一个Array -->
66
+ <template v-else-if="row.type === 'jsonArray'">
67
+ <tr :key="rowIndex + '' + jsonArrayItemIndex" v-for="(item, jsonArrayItemIndex) in config.data[row.jsonArrayDataIndex]">
68
+ <!-- 表头 -->
69
+ <td
70
+ :class="noTopBorder ? 'tdWithNoTopBorder' : 'tdWithBorder'"
71
+ :style="determineCellStyle(receivedFunction[rowIndex].labelFunction(config, item))"
72
+ colspan="6">
73
+ <template v-if="receivedFunction[rowIndex].labelFunction(config, item).type === 'key'">
74
+ {{ item[receivedFunction[rowIndex].labelFunction(config, item).content] }}
75
+ </template>
76
+ <template v-if="receivedFunction[rowIndex].labelFunction(config, item).type === 'value'">
77
+ {{ receivedFunction[rowIndex].labelFunction(config, item).content }}
78
+ </template>
79
+ </td>
80
+ <!-- 内容 -->
81
+ <td
82
+ :class="noTopBorder ? 'tdWithNoTopBorder' : 'tdWithBorder'"
83
+ :style="determineCellStyle(receivedFunction[rowIndex].valueFunction(config, item))"
84
+ colspan="6">
85
+ <template v-if="displayOnly">
86
+ <template v-if="receivedFunction[rowIndex].valueFunction(config, item).type === 'key'">
87
+ {{ item[receivedFunction[rowIndex].valueFunction(config, item).content] }}
88
+ </template>
89
+ <template v-if="receivedFunction[rowIndex].valueFunction(config, item).type === 'value'">
90
+ {{ receivedFunction[rowIndex].valueFunction(config, item).content }}
91
+ </template>
92
+ <template v-if="receivedFunction[rowIndex].valueFunction(config, item).type === 'imgs'">
93
+ <template v-if="!item.imgs || item.imgs.length === 0">
94
+ <p style="margin: auto">无</p>
95
+ </template>
96
+ <template v-else>
97
+ <template v-for="(img, imgIndex) in item.imgs">
98
+ <div :key="imgIndex">
99
+ <img :src="img.path" style="max-width: 200px; max-height: 200px"/>
100
+ <p style="margin: auto">
101
+ {{ img.path.substring(img.path.lastIndexOf('/') + 1, img.path.lastIndexOf('.')) }}
102
+ </p>
103
+ </div>
104
+ </template>
105
+ </template>
106
+ </template>
107
+ </template>
108
+ <template v-else>
109
+ <template v-if="receivedFunction[rowIndex].valueFunction(config, item).originalKey">
110
+ <template v-if="receivedFunction[rowIndex].valueFunction(config, item).type === 'imgs'">
111
+ <upload
112
+ :model="{
113
+ type: 'image',
114
+ accept: ['*'],
115
+ resUploadStock: 1,
116
+ pathKey: 'cs'
117
+ }"
118
+ :outer-container-index="1"
119
+ :img-prefix="imgPrefix"
120
+ :service-name="serverName"
121
+ :images="checkImg(item.imgs)"
122
+ @setFiles="(...args) => {setImages(args, item, config.data)}"
123
+ :upload-style="'simple'"
124
+ />
125
+ </template>
126
+ <template v-else>
127
+ <a-input v-model="item[receivedFunction[rowIndex].valueFunction(config, item).originalKey]"/>
128
+ </template>
129
+ </template>
130
+ <template v-else>
131
+ <a-input v-model="item[receivedFunction[rowIndex].valueFunction(config, item).content]"/>
132
+ </template>
133
+ </template>
134
+ </td>
135
+ </tr>
136
+ </template>
137
+ </template>
138
+ </tbody>
139
+ </table>
140
+ <!-- 图片展示弹框 -->
141
+ <a-modal
142
+ title="图片"
143
+ width="80%"
144
+ :visible="showImgModal"
145
+ @ok="handleShowImgOk"
146
+ @cancel="handleShowImgCancel"
147
+ :z-index="1001"
148
+ :destroyOnClose="true">
149
+ <div style="width: 100%;display: flex;justify-content: center;align-items: center">
150
+ <img :src="showImageSrc" alt="图片"/>
151
+ </div>
152
+ </a-modal>
153
+ </div>
154
+ </template>
155
+
156
+ <script>
157
+ import Upload from '@vue2-client/base-client/components/common/Upload'
158
+ import { nanoid } from 'nanoid'
159
+
160
+ export default {
161
+ name: 'XReportJsonRender',
162
+ components: {
163
+ Upload
164
+ },
165
+ props: {
166
+ // 配置
167
+ config: {
168
+ type: Object,
169
+ required: true
170
+ },
171
+ // 表格没有边距
172
+ noPadding: {
173
+ type: Boolean,
174
+ default: false
175
+ },
176
+ // 表格没有上边框,与noPadding搭配可以实现连续表格
177
+ noTopBorder: {
178
+ type: Boolean,
179
+ default: false
180
+ },
181
+ // 命名空间
182
+ serverName: {
183
+ type: String,
184
+ default: 'af-system'
185
+ },
186
+ // 是否展示标题
187
+ showTitle: {
188
+ type: Boolean,
189
+ default: true
190
+ },
191
+ // 是否仅展示
192
+ displayOnly: {
193
+ type: Boolean,
194
+ default: true
195
+ },
196
+ // 图片上传后添加前缀
197
+ imgPrefix: {
198
+ type: String,
199
+ default: undefined
200
+ }
201
+ },
202
+ data () {
203
+ return {
204
+ // 储存所有json传递的函数
205
+ receivedFunction: [],
206
+ // 控制弹框显隐
207
+ showImgModal: false,
208
+ // 弹框中图片路径
209
+ showImageSrc: undefined
210
+ }
211
+ },
212
+ methods: {
213
+ checkImg (target) {
214
+ if (target === undefined) {
215
+ return []
216
+ }
217
+ target.forEach(obj => {
218
+ if (obj.imgid) {
219
+ obj.uid = obj.imgid.toString()
220
+ } else {
221
+ obj.uid = nanoid(6)
222
+ }
223
+ if (obj.url === undefined) {
224
+ if (obj.path) {
225
+ obj.url = obj.path
226
+ }
227
+ }
228
+ if (obj.name === undefined) {
229
+ const withOutEndFix = obj.url.split('.')[0]
230
+ const temp = withOutEndFix.split('/')
231
+ obj.name = temp[temp.length - 1]
232
+ }
233
+ if (obj.status === undefined) {
234
+ obj.status = 'done'
235
+ }
236
+ })
237
+ return target
238
+ },
239
+ setImages (args, item, config) {
240
+ // 如果基础上传组件在初始化完成后,就调用emit了setImage,此时图片并没有变化,直接返回
241
+ if (args[2] === 'created') {
242
+ return
243
+ }
244
+ const result = {
245
+ name: item.f_project,
246
+ data: args[0],
247
+ orignalData: config
248
+ }
249
+ this.$emit('updateImg', result)
250
+ },
251
+ // 判断单元格样式
252
+ determineCellStyle (labelFunctionReturn, color = '#000', borderWidth = '1px') {
253
+ if (labelFunctionReturn.style) {
254
+ // 如果声明了边框颜色
255
+ if (labelFunctionReturn.style.borderColor) {
256
+ color = labelFunctionReturn.style.borderColor
257
+ }
258
+ // 如果声明了边框宽度
259
+ if (labelFunctionReturn.style.borderWidth) {
260
+ borderWidth = labelFunctionReturn.style.borderWidth
261
+ }
262
+ }
263
+ // 正常边框单元格
264
+ const withBorder = {
265
+ border: borderWidth + ' solid ' + color,
266
+ padding: '8px'
267
+ }
268
+ // 仅没有上边框单元格
269
+ const NoTopBorder = {
270
+ borderTopStyle: 'none',
271
+ borderLeft: borderWidth + ' solid ' + color,
272
+ borderRight: borderWidth + ' solid ' + color,
273
+ borderBottom: borderWidth + ' solid ' + color,
274
+ padding: '8px'
275
+ }
276
+ let result = {}
277
+ // 判断表头是否有声明的样式
278
+ if (labelFunctionReturn.style !== undefined) {
279
+ if (this.noTopBorder) {
280
+ result = { ...NoTopBorder, ...labelFunctionReturn.style }
281
+ } else {
282
+ result = { ...withBorder, ...labelFunctionReturn.style }
283
+ }
284
+ } else {
285
+ if (this.noTopBorder) {
286
+ result = { ...NoTopBorder }
287
+ } else {
288
+ result = { ...withBorder }
289
+ }
290
+ }
291
+ return result
292
+ },
293
+ handleShowImgOk () {
294
+ this.showImgModal = false
295
+ this.showImageSrc = undefined
296
+ },
297
+ handleShowImgCancel () {
298
+ this.showImgModal = false
299
+ this.showImageSrc = undefined
300
+ },
301
+ openImgModal (img) {
302
+ this.showImageSrc = img
303
+ this.showImgModal = true
304
+ },
305
+ formatImgName (imgSrc) {
306
+ return imgSrc.split('/').pop()
307
+ }
308
+ },
309
+ beforeMount () {
310
+ // 遍历配置,将所有JSON传递的方法保存到一个数组中,并用index来一一对应
311
+ for (let i = 0; i < this.config.content.length; i++) {
312
+ this.receivedFunction.push({
313
+ // eslint-disable-next-line no-eval
314
+ labelFunction: eval('(' + this.config.content[i].customFunctionForLabel + ')'),
315
+ // eslint-disable-next-line no-eval
316
+ valueFunction: eval('(' + this.config.content[i].customFunctionForValue + ')')
317
+ })
318
+ }
319
+ }
320
+ }
321
+ </script>
322
+
323
+ <style scoped lang="less">
324
+ .imgSrc {
325
+ color: rgb( 24,144,255 );
326
+ font-size: 0.9em;
327
+ margin: auto;
328
+ }
329
+ .imgSrc:hover {
330
+ color: rgba(24, 144, 255, 0.8);
331
+ font-size: 0.9em;
332
+ cursor: pointer;
333
+ }
334
+ .reportMain {
335
+ text-align: center;
336
+ margin: 0 auto;
337
+ font-size: 16px;
338
+ color: #000;
339
+ background-color: #fff;
340
+ border-radius: 8px;
341
+ }
342
+
343
+ .reportMainNoPadding {
344
+ text-align: center;
345
+ margin: 0 auto;
346
+ font-size: 16px;
347
+ color: #000;
348
+ background-color: #fff;
349
+ border-radius: 8px;
350
+ }
351
+
352
+ .reportTitle {
353
+ font-weight: bold;
354
+ }
355
+
356
+ .reportTable {
357
+ width: 100%;
358
+ border-collapse: collapse;
359
+ table-layout: fixed;
360
+ word-break: break-all;
361
+ }
362
+
363
+ .tdWithBorder {
364
+ border: 1px solid #000;
365
+ padding: 8px;
366
+ }
367
+
368
+ .imgText:hover {
369
+ color: rgb(24, 144, 255);
370
+ cursor: pointer;
371
+ }
372
+
373
+ .tdWithNoTopBorder {
374
+ border-top-style: none;
375
+ border-left: 1px solid #000;
376
+ border-right: 1px solid #000;
377
+ border-bottom: 1px solid #000;
378
+ padding: 8px;
379
+ }
380
+ </style>