vue2-client 1.15.107 → 1.15.109

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 (888) hide show
  1. package/.cursorrules +19 -19
  2. package/.editorconfig +9 -9
  3. package/.env +20 -20
  4. package/.env.apply +19 -19
  5. package/.env.development +1 -1
  6. package/.env.gaslink +19 -19
  7. package/.env.his +19 -19
  8. package/.env.iot +19 -19
  9. package/.env.liuli +20 -20
  10. package/.env.message +19 -19
  11. package/.env.revenue +19 -19
  12. package/.env.runtime +19 -19
  13. package/.env.scada +19 -19
  14. package/.eslintrc.js +90 -90
  15. package/.eslintrc.json +5 -5
  16. package/.history/public/his/editor/editor_20250606134713.html +51 -0
  17. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527173925.vue +509 -0
  18. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174316.vue +524 -0
  19. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174419.vue +524 -0
  20. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174422.vue +524 -0
  21. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172825.vue +207 -0
  22. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172945.vue +211 -0
  23. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172949.vue +212 -0
  24. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611173010.vue +212 -0
  25. package/.history/src/base-client/components/common/XForm/XFormItem_20250508134122.vue +1320 -0
  26. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171604.vue +1332 -0
  27. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171613.vue +1331 -0
  28. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171703.vue +1331 -0
  29. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171720.vue +1331 -0
  30. package/.history/src/base-client/components/common/XForm/XFormItem_20250527174327.vue +1339 -0
  31. package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612092804.vue +731 -0
  32. package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612112546.vue +748 -0
  33. package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612113808.vue +748 -0
  34. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115237.vue +1071 -0
  35. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115346.vue +1078 -0
  36. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115350.vue +1077 -0
  37. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115415.vue +1077 -0
  38. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115429.vue +1077 -0
  39. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611091619.vue +442 -0
  40. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092547.vue +442 -0
  41. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092552.vue +442 -0
  42. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092744.vue +475 -0
  43. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092955.vue +475 -0
  44. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092957.vue +475 -0
  45. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095652.vue +477 -0
  46. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095701.vue +477 -0
  47. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095704.vue +477 -0
  48. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100005.vue +473 -0
  49. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100011.vue +473 -0
  50. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100014.vue +473 -0
  51. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100833.vue +473 -0
  52. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100853.vue +473 -0
  53. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100940.vue +473 -0
  54. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101011.vue +473 -0
  55. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101013.vue +473 -0
  56. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101014.vue +473 -0
  57. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101159.vue +473 -0
  58. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101238.vue +474 -0
  59. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101240.vue +474 -0
  60. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101242.vue +474 -0
  61. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101404.vue +472 -0
  62. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101410.vue +472 -0
  63. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101459.vue +472 -0
  64. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101500.vue +472 -0
  65. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101502.vue +472 -0
  66. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101504.vue +472 -0
  67. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101610.vue +501 -0
  68. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101700.vue +501 -0
  69. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101702.vue +501 -0
  70. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101741.vue +504 -0
  71. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101749.vue +504 -0
  72. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101759.vue +504 -0
  73. package/.history/src/base-client/components/his/XHisEditor/dome_20250611091349.vue +131 -0
  74. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105854.vue +160 -0
  75. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105902.vue +160 -0
  76. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105924.vue +160 -0
  77. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105932.vue +158 -0
  78. package/.history/src/base-client/components/his/XList/XList_20250609135848.vue +173 -0
  79. package/.history/src/base-client/components/his/XList/XList_20250609141026.vue +222 -0
  80. package/.history/src/base-client/components/his/XList/XList_20250609141035.vue +229 -0
  81. package/.history/src/base-client/components/his/XList/XList_20250609141103.vue +229 -0
  82. package/.history/src/base-client/components/his/XList/XList_20250609141105.vue +229 -0
  83. package/.history/src/base-client/components/his/XList/XList_20250609141334.vue +241 -0
  84. package/.history/src/base-client/components/his/XList/XList_20250609141404.vue +241 -0
  85. package/.history/src/base-client/components/his/XList/XList_20250609141406.vue +241 -0
  86. package/.history/src/base-client/components/his/XList/XList_20250609141801.vue +245 -0
  87. package/.history/src/base-client/components/his/XList/XList_20250609142033.vue +245 -0
  88. package/.history/src/base-client/components/his/XList/XList_20250609142038.vue +245 -0
  89. package/.history/src/base-client/components/his/XList/XList_20250609142435.vue +255 -0
  90. package/.history/src/base-client/components/his/XList/XList_20250609142503.vue +255 -0
  91. package/.history/src/base-client/components/his/XList/XList_20250609142504.vue +255 -0
  92. package/.history/src/base-client/components/his/XList/XList_20250609143012.vue +270 -0
  93. package/.history/src/base-client/components/his/XList/XList_20250609143044.vue +270 -0
  94. package/.history/src/base-client/components/his/XList/XList_20250609143046.vue +270 -0
  95. package/.history/src/base-client/components/his/XList/XList_20250609143210.vue +270 -0
  96. package/.history/src/base-client/components/his/XList/XList_20250609144339.vue +294 -0
  97. package/.history/src/base-client/components/his/XList/XList_20250609144410.vue +294 -0
  98. package/.history/src/base-client/components/his/XList/XList_20250609144412.vue +294 -0
  99. package/.history/src/base-client/components/his/XList/XList_20250609144647.vue +303 -0
  100. package/.history/src/base-client/components/his/XList/XList_20250609144716.vue +303 -0
  101. package/.history/src/base-client/components/his/XList/XList_20250609144729.vue +303 -0
  102. package/.history/src/base-client/components/his/XList/XList_20250609151232.vue +288 -0
  103. package/.history/src/base-client/components/his/XList/XList_20250609151247.vue +288 -0
  104. package/.history/src/base-client/components/his/XList/XList_20250609151252.vue +288 -0
  105. package/.history/src/base-client/components/his/XList/XList_20250609161220.vue +317 -0
  106. package/.history/src/base-client/components/his/XList/XList_20250609161258.vue +306 -0
  107. package/.history/src/base-client/components/his/XList/XList_20250609161319.vue +306 -0
  108. package/.history/src/base-client/components/his/XList/XList_20250609161320.vue +306 -0
  109. package/.history/src/base-client/components/his/XList/XList_20250704142024.vue +495 -0
  110. package/.history/src/base-client/components/his/XList/XList_20250704142033.vue +495 -0
  111. package/.history/src/base-client/components/his/XList/XList_20250704142040.vue +494 -0
  112. package/.history/src/base-client/components/his/XList/XList_20250704142211.vue +494 -0
  113. package/.history/src/base-client/components/his/XList/XList_20250704142214.vue +494 -0
  114. package/.history/src/base-client/components/his/XList/XList_20250704143010.vue +495 -0
  115. package/.history/src/base-client/components/his/XList/XList_20250704143203.vue +495 -0
  116. package/.history/src/base-client/components/his/XList/XList_20250707095101.vue +492 -0
  117. package/.history/src/base-client/components/his/XList/XList_20250707100152.vue +492 -0
  118. package/.history/src/base-client/components/his/XList/XList_20250707100200.vue +485 -0
  119. package/.history/src/base-client/components/his/XList/XList_20250707100208.vue +485 -0
  120. package/.history/src/base-client/components/his/XList/XList_20250707100259.vue +488 -0
  121. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807134604.vue +263 -0
  122. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807134615.vue +302 -0
  123. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807134621.vue +301 -0
  124. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807134634.vue +311 -0
  125. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807134644.vue +330 -0
  126. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807134653.vue +330 -0
  127. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807134836.vue +330 -0
  128. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135247.vue +330 -0
  129. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135303.vue +354 -0
  130. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135316.vue +363 -0
  131. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135323.vue +363 -0
  132. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135334.vue +366 -0
  133. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135342.vue +364 -0
  134. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135349.vue +364 -0
  135. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135351.vue +346 -0
  136. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135354.vue +346 -0
  137. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135401.vue +346 -0
  138. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135406.vue +346 -0
  139. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807135424.vue +346 -0
  140. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807143043.vue +254 -0
  141. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807155506.vue +329 -0
  142. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807155535.vue +330 -0
  143. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807155543.vue +330 -0
  144. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807155926.vue +304 -0
  145. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807155928.vue +304 -0
  146. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807172548.vue +298 -0
  147. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807172609.vue +298 -0
  148. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807172623.vue +298 -0
  149. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807172631.vue +298 -0
  150. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807172701.vue +298 -0
  151. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807172704.vue +298 -0
  152. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807175937.vue +290 -0
  153. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807175942.vue +290 -0
  154. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807180210.vue +290 -0
  155. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807180424.vue +290 -0
  156. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807180448.vue +290 -0
  157. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807180915.vue +262 -0
  158. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250807180917.vue +262 -0
  159. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250808101106.vue +283 -0
  160. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250808101112.vue +289 -0
  161. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250808101118.vue +289 -0
  162. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250808101129.vue +294 -0
  163. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250808101137.vue +318 -0
  164. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250808101145.vue +320 -0
  165. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250808101154.vue +320 -0
  166. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250808101211.vue +320 -0
  167. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250808101236.vue +320 -0
  168. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250808101239.vue +320 -0
  169. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114001.vue +342 -0
  170. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114005.vue +342 -0
  171. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114014.vue +345 -0
  172. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114020.vue +345 -0
  173. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114028.vue +345 -0
  174. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114108.vue +345 -0
  175. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114115.vue +345 -0
  176. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114333.vue +346 -0
  177. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114339.vue +350 -0
  178. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114344.vue +355 -0
  179. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114351.vue +355 -0
  180. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114408.vue +355 -0
  181. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250811114410.vue +355 -0
  182. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807103845.vue +142 -0
  183. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807103852.vue +142 -0
  184. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807103857.vue +142 -0
  185. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807103859.vue +142 -0
  186. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807103907.vue +142 -0
  187. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807103910.vue +142 -0
  188. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807103911.vue +142 -0
  189. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807103913.vue +142 -0
  190. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807103916.vue +142 -0
  191. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807103931.vue +142 -0
  192. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807145127.vue +85 -0
  193. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807145136.vue +81 -0
  194. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807145142.vue +81 -0
  195. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807145145.vue +81 -0
  196. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807145148.vue +81 -0
  197. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807145151.vue +81 -0
  198. package/.history/src/base-client/components/his/XShiftSchedule/dome_20250807145155.vue +81 -0
  199. package/CHANGELOG.md +824 -824
  200. package/CLAUDE.md +89 -89
  201. package/Components.md +60 -60
  202. package/README.md +65 -65
  203. package/Users/objecrt/af-vue2-client/src/base-client/components/his/XShiftSchedule/XShiftSchedule.vue +213 -0
  204. package/babel.config.js +21 -21
  205. package/docs/Logic/345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +46 -46
  206. package/docs/LowCode/lowcode.md +155 -155
  207. package/docs/LowCode/lowcodeForDeveloper.md +230 -230
  208. package/docs/index.md +30 -30
  209. package/docs/notice.md +22 -22
  210. package/docs//345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +185 -179
  211. package/index.js +31 -31
  212. package/jest-transform-stub.js +8 -8
  213. package/jest.config.js +22 -22
  214. package/jest.setup.js +7 -7
  215. package/jsconfig.json +19 -19
  216. package/package.json +111 -111
  217. package/public/his/editor/editor.html +51 -51
  218. package/public/his/editor/mock/bind_data.html +779 -779
  219. package/public/his/editor/mock/data_table.html +40 -40
  220. package/public/his/editor/mock/sign.html +75 -75
  221. package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
  222. package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
  223. package/public/his/editor/vender/date97/WdatePicker.js +677 -677
  224. package/public/his/editor/vender/date97/calendar.js +4 -4
  225. package/public/his/editor/vender/date97/lang/en.js +13 -13
  226. package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
  227. package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
  228. package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
  229. package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
  230. package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
  231. package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
  232. package/public/his/editor/vender/diff.js +1627 -1627
  233. package/public/his/editor/vender/editor.js +1 -1
  234. package/public/his/editor/vender/fabric.js +31187 -31187
  235. package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
  236. package/public/his/editor/vender/jquery/jquery.js +10872 -10872
  237. package/public/his/editor/vender/jquery/jquery.print.js +255 -255
  238. package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
  239. package/public/his/editor/vender/mui/mui.min.css +4 -4
  240. package/public/his/editor/vender/mui/mui.min.js +5 -5
  241. package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
  242. package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
  243. package/public/his/editor/vender/qrcode.js +7 -7
  244. package/public/his/editor/vender/requirejs/require.js +2145 -2145
  245. package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
  246. package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
  247. package/public/his/editor/vender/signature/jSignature.js +1486 -1486
  248. package/public/his/editor/vender/validator.js +5094 -5094
  249. package/public/his/editor/vender/weui/weui.css +5659 -5659
  250. package/public/his/editor/vender/weui/weui.min.css +4 -4
  251. package/public/his/editor/vender/weui/weui.min.js +11 -11
  252. package/public/index.html +27 -27
  253. package/src/App.vue +196 -196
  254. package/src/ReportView.js +13 -13
  255. package/src/assets/img/querySlotDemo.svg +15 -15
  256. package/src/assets/svg/badtwo.svg +1 -1
  257. package/src/assets/svg/goodtwo.svg +1 -1
  258. package/src/base-client/components/AI/AskAiBtn.vue +136 -136
  259. package/src/base-client/components/AI/demo.vue +31 -31
  260. package/src/base-client/components/TreeList/TreeList.vue +91 -0
  261. package/src/base-client/components/TreeList/TreeNode.vue +81 -0
  262. package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +532 -532
  263. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  264. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  265. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  266. package/src/base-client/components/common/AddressSearchCombobox/index.js +3 -3
  267. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  268. package/src/base-client/components/common/AmapMarker/index.js +3 -3
  269. package/src/base-client/components/common/CitySelect/CitySelect.vue +376 -376
  270. package/src/base-client/components/common/CitySelect/demo.vue +43 -43
  271. package/src/base-client/components/common/CitySelect/index.js +3 -3
  272. package/src/base-client/components/common/CitySelect/index.md +109 -109
  273. package/src/base-client/components/common/ColorPickerCombobox/ColorPickerCombobox.vue +99 -99
  274. package/src/base-client/components/common/ColorPickerCombobox/demo.vue +34 -34
  275. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  276. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  277. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  278. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  279. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  280. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  281. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  282. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  283. package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +146 -146
  284. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  285. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  286. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  287. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  288. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  289. package/src/base-client/components/common/JSONToTree/index.js +3 -3
  290. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  291. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  292. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  293. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  294. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  295. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  296. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  297. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  298. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  299. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  300. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  301. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  302. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  303. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  304. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  305. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  306. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  307. package/src/base-client/components/common/Recording/index.js +3 -3
  308. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  309. package/src/base-client/components/common/Tree/index.js +2 -2
  310. package/src/base-client/components/common/Upload/Upload.vue +323 -323
  311. package/src/base-client/components/common/Upload/index.js +3 -3
  312. package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
  313. package/src/base-client/components/common/XAddForm/index.js +3 -3
  314. package/src/base-client/components/common/XAddForm/index.md +61 -61
  315. package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +1169 -1169
  316. package/src/base-client/components/common/XAddNativeForm/demo.vue +54 -54
  317. package/src/base-client/components/common/XAddNativeForm/index.js +3 -3
  318. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  319. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +303 -303
  320. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  321. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  322. package/src/base-client/components/common/XAddReport/XAddReport.vue +212 -212
  323. package/src/base-client/components/common/XAddReport/index.js +3 -3
  324. package/src/base-client/components/common/XAddReport/index.md +56 -56
  325. package/src/base-client/components/common/XBadge/XBadge.vue +94 -94
  326. package/src/base-client/components/common/XBadge/index.js +3 -3
  327. package/src/base-client/components/common/XBadge/index.md +39 -39
  328. package/src/base-client/components/common/XButtons/XButtonDemo.vue +28 -28
  329. package/src/base-client/components/common/XButtons/XButtons.vue +284 -284
  330. package/src/base-client/components/common/XButtons/index.js +3 -3
  331. package/src/base-client/components/common/XButtons/index.md +61 -61
  332. package/src/base-client/components/common/XCalendar/XCalendar.vue +369 -369
  333. package/src/base-client/components/common/XCalendar/index.md +284 -284
  334. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  335. package/src/base-client/components/common/XCard/index.js +3 -3
  336. package/src/base-client/components/common/XCard/index.md +43 -43
  337. package/src/base-client/components/common/XCardSet/XCardSet.vue +300 -300
  338. package/src/base-client/components/common/XCardSet/XTiltle.vue +191 -0
  339. package/src/base-client/components/common/XCheckList/XCheckList.vue +106 -106
  340. package/src/base-client/components/common/XCheckList/XCheckListDemo.vue +41 -41
  341. package/src/base-client/components/common/XCollapse/XCollapse.vue +355 -355
  342. package/src/base-client/components/common/XConversation/XConversation.vue +576 -576
  343. package/src/base-client/components/common/XConversation/XConversationDemo.vue +28 -28
  344. package/src/base-client/components/common/XDataCard/XDataCard.vue +629 -629
  345. package/src/base-client/components/common/XDataCard/index.js +3 -3
  346. package/src/base-client/components/common/XDataCard/index.md +1 -1
  347. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  348. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  349. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  350. package/src/base-client/components/common/XDatePicker/demo.vue +153 -153
  351. package/src/base-client/components/common/XDatePicker/index.vue +276 -276
  352. package/src/base-client/components/common/XDescriptions/XDescriptions.vue +174 -174
  353. package/src/base-client/components/common/XDescriptions/XDescriptionsGroup.vue +314 -314
  354. package/src/base-client/components/common/XDescriptions/demo.vue +51 -51
  355. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  356. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  357. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +238 -238
  358. package/src/base-client/components/common/XDetailsView/index.js +3 -3
  359. package/src/base-client/components/common/XForm/XForm.vue +426 -426
  360. package/src/base-client/components/common/XForm/XFormItem.vue +1479 -1479
  361. package/src/base-client/components/common/XForm/XStatusButton.vue +54 -54
  362. package/src/base-client/components/common/XForm/XTreeSelect.vue +276 -276
  363. package/src/base-client/components/common/XForm/demo.vue +105 -105
  364. package/src/base-client/components/common/XForm/index.js +3 -3
  365. package/src/base-client/components/common/XForm/index.md +178 -178
  366. package/src/base-client/components/common/XForm/itemComponent/XClickChangeBtn/index.vue +49 -49
  367. package/src/base-client/components/common/XFormCol/XFormCol.vue +157 -157
  368. package/src/base-client/components/common/XFormCol/index.js +3 -3
  369. package/src/base-client/components/common/XFormCol/index.md +35 -35
  370. package/src/base-client/components/common/XFormGroup/XFormGroup.vue +301 -301
  371. package/src/base-client/components/common/XFormGroup/demo.vue +41 -41
  372. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  373. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  374. package/src/base-client/components/common/XFormGroupDetails/XFormGroupDetails.vue +72 -72
  375. package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
  376. package/src/base-client/components/common/XFormTable/XFormTable.vue +939 -939
  377. package/src/base-client/components/common/XFormTable/demo.vue +87 -87
  378. package/src/base-client/components/common/XFormTable/index.js +3 -3
  379. package/src/base-client/components/common/XFormTable/index.md +92 -92
  380. package/src/base-client/components/common/XImportExcel/XImportExcel.vue +174 -174
  381. package/src/base-client/components/common/XImportExcel/index.js +3 -3
  382. package/src/base-client/components/common/XImportExcel/index.md +38 -38
  383. package/src/base-client/components/common/XInput/XInput.vue +128 -128
  384. package/src/base-client/components/common/XInput/index.js +3 -3
  385. package/src/base-client/components/common/XInput/index.md +97 -97
  386. package/src/base-client/components/common/XIntervalPicker/XIntervalPicker.vue +121 -121
  387. package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
  388. package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
  389. package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
  390. package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
  391. package/src/base-client/components/common/XLicensePlate/index.js +3 -3
  392. package/src/base-client/components/common/XLicensePlate/index.md +38 -38
  393. package/src/base-client/components/common/XPrint/Demo.vue +41 -41
  394. package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
  395. package/src/base-client/components/common/XPrint/PrintBill.vue +308 -308
  396. package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
  397. package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
  398. package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
  399. package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
  400. package/src/base-client/components/common/XPrint/index.vue +97 -97
  401. package/src/base-client/components/common/XRate/demo.vue +102 -102
  402. package/src/base-client/components/common/XRate/index.vue +149 -149
  403. package/src/base-client/components/common/XReport/XReport.vue +963 -963
  404. package/src/base-client/components/common/XReport/XReportDemo.vue +70 -70
  405. package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
  406. package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
  407. package/src/base-client/components/common/XReport/XReportTrGroup.vue +1005 -1005
  408. package/src/base-client/components/common/XReport/index.js +3 -3
  409. package/src/base-client/components/common/XReport/index.md +103 -103
  410. package/src/base-client/components/common/XReport/print.js +186 -186
  411. package/src/base-client/components/common/XReportDrawer/XReportDrawer.vue +201 -201
  412. package/src/base-client/components/common/XReportDrawer/index.js +3 -3
  413. package/src/base-client/components/common/XReportGrid/XReport.vue +1075 -1075
  414. package/src/base-client/components/common/XReportGrid/XReportDemo.vue +44 -44
  415. package/src/base-client/components/common/XReportGrid/XReportDesign.vue +620 -620
  416. package/src/base-client/components/common/XReportGrid/XReportTrGroup.vue +724 -724
  417. package/src/base-client/components/common/XReportGrid/index.js +3 -3
  418. package/src/base-client/components/common/XReportGrid/index.md +44 -44
  419. package/src/base-client/components/common/XReportGrid/print.js +184 -184
  420. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  421. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  422. package/src/base-client/components/common/XReportSlot/index.md +48 -48
  423. package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
  424. package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
  425. package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
  426. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  427. package/src/base-client/components/common/XStepView/index.js +3 -3
  428. package/src/base-client/components/common/XStepView/index.md +31 -31
  429. package/src/base-client/components/common/XTab/XTab.vue +299 -299
  430. package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
  431. package/src/base-client/components/common/XTab/index.js +3 -3
  432. package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
  433. package/src/base-client/components/common/XTable/ExportExcel.vue +283 -283
  434. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  435. package/src/base-client/components/common/XTable/XTable.vue +1599 -1599
  436. package/src/base-client/components/common/XTable/XTableWrapper.vue +597 -597
  437. package/src/base-client/components/common/XTable/index.js +3 -3
  438. package/src/base-client/components/common/XTable/index.md +255 -255
  439. package/src/base-client/components/common/XTagGroup/index.vue +52 -52
  440. package/src/base-client/components/common/XTimeline/XTimeline.vue +358 -358
  441. package/src/base-client/components/common/XTimeline/index.md +191 -191
  442. package/src/base-client/components/common/XTree/XTree.vue +424 -424
  443. package/src/base-client/components/common/XTree/XTreePro.vue +452 -452
  444. package/src/base-client/components/common/XTree/index.js +3 -3
  445. package/src/base-client/components/common/XTree/index.md +36 -36
  446. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
  447. package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
  448. package/src/base-client/components/common/XTreeOne/index.js +3 -3
  449. package/src/base-client/components/common/XUploadFilesView/index.vue +485 -485
  450. package/src/base-client/components/common/richTextModal/index.vue +56 -56
  451. package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
  452. package/src/base-client/components/his/XCharge/XCharge.vue +238 -238
  453. package/src/base-client/components/his/XCheckbox/XCheckbox.vue +105 -105
  454. package/src/base-client/components/his/XCheckbox/index.md +253 -253
  455. package/src/base-client/components/his/XHDescriptions/XHDescriptions.vue +430 -430
  456. package/src/base-client/components/his/XHDescriptions/index.md +217 -217
  457. package/src/base-client/components/his/XHisEditor/XHisEditor.vue +678 -629
  458. package/src/base-client/components/his/XHisEditor/diagnosisAutocomplete.js +263 -263
  459. package/src/base-client/components/his/XHisEditor/dome.vue +144 -0
  460. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  461. package/src/base-client/components/his/XImportExcelButton/XFrontImportExcel.vue +218 -218
  462. package/src/base-client/components/his/XImportExcelButton/XFrontImportExcelDemo.vue +23 -21
  463. package/src/base-client/components/his/XImportExcelButton/XImportExcelButton.vue +103 -103
  464. package/src/base-client/components/his/XList/XList.vue +495 -495
  465. package/src/base-client/components/his/XQuestionnaire/XQuestionnaire.json +3 -3
  466. package/src/base-client/components/his/XQuestionnaire/XQuestionnaire.vue +106 -106
  467. package/src/base-client/components/his/XQuestionnaire/XQuestionnaireDemo.vue +51 -51
  468. package/src/base-client/components/his/XQuestionnaire/XQuestionnaireItem.vue +269 -269
  469. package/src/base-client/components/his/XRadio/XRadio.vue +125 -125
  470. package/src/base-client/components/his/XRadio/index.md +234 -234
  471. package/src/base-client/components/his/XSelect/XSelect.vue +72 -72
  472. package/src/base-client/components/his/XShiftSchedule/XShiftSchedule.vue +354 -339
  473. package/src/base-client/components/his/XShiftSchedule/dome.vue +29 -29
  474. package/src/base-client/components/his/XSidebar/XSidebar.vue +240 -240
  475. package/src/base-client/components/his/XSimpleTable/XSimpleTable.vue +119 -119
  476. package/src/base-client/components/his/XTimeSelect/XTimeSelect.vue +162 -162
  477. package/src/base-client/components/his/XTimeSelect/XTimeSelectDemo.vue +23 -23
  478. package/src/base-client/components/his/XTitle/README.md +113 -113
  479. package/src/base-client/components/his/XTitle/XTitle.vue +123 -123
  480. package/src/base-client/components/his/XTreeRows/TreeNode.vue +107 -107
  481. package/src/base-client/components/his/XTreeRows/XTreeRows.vue +307 -307
  482. package/src/base-client/components/his/threeTestOrders/dome.vue +68 -68
  483. package/src/base-client/components/his/threeTestOrders/textBox.vue +457 -457
  484. package/src/base-client/components/his/threeTestOrders/threeTestOrders.vue +475 -475
  485. package/src/base-client/components/index.js +51 -51
  486. package/src/base-client/components/layout/XPageView/RenderRow.vue +88 -88
  487. package/src/base-client/components/layout/XPageView/XErrorView.vue +22 -22
  488. package/src/base-client/components/layout/XPageView/XPageRowTemplate.vue +37 -37
  489. package/src/base-client/components/layout/XPageView/XPageView.vue +223 -223
  490. package/src/base-client/components/layout/XPageView/XTab/XTab.vue +96 -96
  491. package/src/base-client/components/layout/XPageView/XTab/index.js +3 -3
  492. package/src/base-client/components/layout/XPageView/componentTypes.js +22 -22
  493. package/src/base-client/components/layout/XPageView/index.js +2 -2
  494. package/src/base-client/components/layout/XPageView/index.md +96 -96
  495. package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
  496. package/src/base-client/components/layout/XTreeView/index.js +3 -3
  497. package/src/base-client/components/layout/XTreeView/index.md +46 -46
  498. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  499. package/src/base-client/components/system/DictionaryDetailsView/index.js +3 -3
  500. package/src/base-client/components/system/DictionaryDetailsView/index.md +41 -41
  501. package/src/base-client/components/system/LogDetailsView/LogDetailsView.vue +376 -376
  502. package/src/base-client/components/system/LogDetailsView/index.js +3 -3
  503. package/src/base-client/components/system/LogDetailsView/index.md +41 -41
  504. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  505. package/src/base-client/components/system/QueryParamsDetailsView/index.js +3 -3
  506. package/src/base-client/components/ticket/TicketDetailsView/TicketDetailsView.vue +807 -807
  507. package/src/base-client/components/ticket/TicketDetailsView/index.js +3 -3
  508. package/src/base-client/components/ticket/TicketDetailsView/index.md +29 -29
  509. package/src/base-client/components/ticket/TicketDetailsView/part/TicketDetailsFlow.vue +260 -260
  510. package/src/base-client/components/ticket/TicketDetailsView/part/index.js +3 -3
  511. package/src/base-client/components/ticket/TicketSubmitSuccessView/TicketSubmitSuccessView.vue +532 -532
  512. package/src/base-client/components/ticket/TicketSubmitSuccessView/index.js +3 -3
  513. package/src/base-client/components/ticket/TicketSubmitSuccessView/index.md +29 -29
  514. package/src/base-client/plugins/AppData.js +126 -126
  515. package/src/base-client/plugins/Config.js +19 -19
  516. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  517. package/src/base-client/plugins/PagedList.js +177 -177
  518. package/src/base-client/plugins/Recording.js +258 -258
  519. package/src/base-client/plugins/__tests__/selectValueTypeHelper.test.js +154 -154
  520. package/src/base-client/plugins/authority-plugin.js +167 -167
  521. package/src/base-client/plugins/compatible/LoginServiceOA.js +20 -20
  522. package/src/base-client/plugins/i18n-extend.js +32 -32
  523. package/src/base-client/plugins/index.js +23 -23
  524. package/src/base-client/plugins/moment.js +8 -8
  525. package/src/base-client/plugins/selectValueTypeHelper.js +281 -281
  526. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  527. package/src/bootstrap.js +51 -51
  528. package/src/components/Charts/Bar.vue +62 -62
  529. package/src/components/Charts/ChartCard.vue +134 -134
  530. package/src/components/Charts/Liquid.vue +67 -67
  531. package/src/components/Charts/MiniArea.vue +39 -39
  532. package/src/components/Charts/MiniBar.vue +39 -39
  533. package/src/components/Charts/MiniProgress.vue +75 -75
  534. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  535. package/src/components/Charts/Radar.vue +68 -68
  536. package/src/components/Charts/RankList.vue +77 -77
  537. package/src/components/Charts/TagCloud.vue +113 -113
  538. package/src/components/Charts/TransferBar.vue +64 -64
  539. package/src/components/Charts/Trend.vue +82 -82
  540. package/src/components/Charts/chart.less +12 -12
  541. package/src/components/Charts/smooth.area.less +13 -13
  542. package/src/components/CodeMirror/inedx.vue +118 -118
  543. package/src/components/CodeMirror/setting.js +40 -40
  544. package/src/components/Ellipsis/Ellipsis.vue +65 -65
  545. package/src/components/Ellipsis/index.js +3 -3
  546. package/src/components/Ellipsis/index.md +38 -38
  547. package/src/components/FileImageItem/FileItem.vue +320 -320
  548. package/src/components/FileImageItem/FileItemGroup.vue +197 -197
  549. package/src/components/FileImageItem/ImageItem.vue +107 -107
  550. package/src/components/FileImageItem/index.js +4 -4
  551. package/src/components/FilePreview/FilePreview.vue +181 -181
  552. package/src/components/FilePreview/FilePreviewDemo.vue +30 -30
  553. package/src/components/FilePreview/index.js +3 -3
  554. package/src/components/HeightScanner/index.vue +615 -615
  555. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  556. package/src/components/NumberInfo/index.js +3 -3
  557. package/src/components/NumberInfo/index.less +54 -54
  558. package/src/components/NumberInfo/index.md +43 -43
  559. package/src/components/STable/README.md +341 -341
  560. package/src/components/STable/index.js +558 -558
  561. package/src/components/TableSetting/TableSetting.vue +143 -143
  562. package/src/components/TableSetting/index.js +3 -3
  563. package/src/components/Trend/Trend.vue +41 -41
  564. package/src/components/Trend/index.js +3 -3
  565. package/src/components/Trend/index.less +41 -41
  566. package/src/components/Trend/index.md +45 -45
  567. package/src/components/_util/util.js +46 -46
  568. package/src/components/cache/AKeepAlive.js +179 -179
  569. package/src/components/card/ChartCard.vue +79 -79
  570. package/src/components/chart/Bar.vue +60 -60
  571. package/src/components/chart/MiniArea.vue +67 -67
  572. package/src/components/chart/MiniBar.vue +59 -59
  573. package/src/components/chart/MiniProgress.vue +57 -57
  574. package/src/components/chart/Radar.vue +80 -80
  575. package/src/components/chart/RankingList.vue +60 -60
  576. package/src/components/chart/Trend.vue +79 -79
  577. package/src/components/chart/index.less +9 -9
  578. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  579. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  580. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  581. package/src/components/checkbox/index.js +9 -9
  582. package/src/components/exception/ExceptionPage.vue +70 -70
  583. package/src/components/exception/typeConfig.js +19 -19
  584. package/src/components/form/FormRow.vue +52 -52
  585. package/src/components/g2Charts/constants.js +202 -202
  586. package/src/components/g2Charts/demo.vue +808 -808
  587. package/src/components/g2Charts/designer.vue +228 -228
  588. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  589. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  590. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  591. package/src/components/g2Charts/index.vue +397 -397
  592. package/src/components/index.js +36 -36
  593. package/src/components/index.less +5 -5
  594. package/src/components/input/IInput.vue +66 -66
  595. package/src/components/menu/Contextmenu.vue +84 -84
  596. package/src/components/menu/SideMenu.vue +75 -75
  597. package/src/components/menu/index.less +38 -38
  598. package/src/components/menu/menu.js +273 -273
  599. package/src/components/page/header/PageHeader.vue +64 -64
  600. package/src/components/page/header/index.less +40 -40
  601. package/src/components/result/Result.vue +77 -77
  602. package/src/components/setting/Setting.vue +234 -234
  603. package/src/components/setting/SettingItem.vue +26 -26
  604. package/src/components/setting/i18n.js +117 -117
  605. package/src/components/table/StandardTable.vue +141 -141
  606. package/src/components/table/advance/ActionColumns.vue +158 -158
  607. package/src/components/table/advance/ActionSize.vue +45 -45
  608. package/src/components/table/advance/AdvanceTable.vue +275 -275
  609. package/src/components/table/advance/SearchArea.vue +355 -355
  610. package/src/components/table/advance/index.js +2 -2
  611. package/src/components/table/api/ApiTable.vue +50 -50
  612. package/src/components/task/TaskGroup.vue +80 -80
  613. package/src/components/task/TaskItem.vue +26 -26
  614. package/src/components/tool/AStepItem.vue +60 -60
  615. package/src/components/tool/AvatarList.vue +68 -68
  616. package/src/components/tool/DetailList.vue +157 -157
  617. package/src/components/tool/Drawer.vue +142 -142
  618. package/src/components/tool/FooterToolBar.vue +30 -30
  619. package/src/components/tool/HeadInfo.vue +35 -35
  620. package/src/components/tool/TagSelect.vue +83 -83
  621. package/src/components/tool/TagSelectOption.vue +33 -33
  622. package/src/components/transition/PageToggleTransition.vue +97 -97
  623. package/src/config/CreateQueryConfig.js +325 -325
  624. package/src/config/default/admin.config.js +18 -18
  625. package/src/config/default/animate.config.js +21 -21
  626. package/src/config/default/antd.config.js +89 -89
  627. package/src/config/default/index.js +6 -6
  628. package/src/config/default/setting.config.js +55 -55
  629. package/src/config/index.js +3 -3
  630. package/src/config/replacer/index.js +10 -10
  631. package/src/config/replacer/resolve.config.js +67 -67
  632. package/src/expression/ExpressionRunner.js +26 -26
  633. package/src/expression/TestExpression.js +509 -509
  634. package/src/expression/core/Delegate.js +115 -115
  635. package/src/expression/core/Expression.js +1358 -1358
  636. package/src/expression/core/Program.js +932 -932
  637. package/src/expression/core/Token.js +27 -27
  638. package/src/expression/enums/ExpressionType.js +81 -81
  639. package/src/expression/enums/TokenType.js +11 -11
  640. package/src/expression/exception/BreakWayException.js +2 -2
  641. package/src/expression/exception/ContinueWayException.js +2 -2
  642. package/src/expression/exception/ExpressionException.js +28 -28
  643. package/src/expression/exception/ReturnWayException.js +14 -14
  644. package/src/expression/exception/ServiceException.js +22 -22
  645. package/src/expression/instances/LogicConsole.js +44 -44
  646. package/src/expression/ts/ExpressionRunner.ts +28 -28
  647. package/src/expression/ts/TestExpression.ts +509 -509
  648. package/src/expression/ts/core/Delegate.ts +114 -114
  649. package/src/expression/ts/core/Expression.ts +1309 -1309
  650. package/src/expression/ts/core/Program.ts +950 -950
  651. package/src/expression/ts/core/Token.ts +29 -29
  652. package/src/expression/ts/enums/ExpressionType.ts +81 -81
  653. package/src/expression/ts/enums/TokenType.ts +13 -13
  654. package/src/expression/ts/exception/BreakWayException.ts +2 -2
  655. package/src/expression/ts/exception/ContinueWayException.ts +2 -2
  656. package/src/expression/ts/exception/ExpressionException.ts +28 -28
  657. package/src/expression/ts/exception/ReturnWayException.ts +14 -14
  658. package/src/expression/ts/exception/ServiceException.ts +22 -22
  659. package/src/expression/ts/instances/JSONArray.ts +48 -48
  660. package/src/expression/ts/instances/JSONObject.ts +109 -109
  661. package/src/expression/ts/instances/LogicConsole.ts +32 -32
  662. package/src/font-style/font.css +4 -4
  663. package/src/layouts/AdminLayout.vue +176 -176
  664. package/src/layouts/BlankView.vue +81 -81
  665. package/src/layouts/CommonLayout.vue +56 -56
  666. package/src/layouts/ComponentLayoutOne.vue +47 -47
  667. package/src/layouts/GridView.vue +43 -43
  668. package/src/layouts/PageLayout.vue +151 -151
  669. package/src/layouts/PageView.vue +55 -55
  670. package/src/layouts/SinglePageView.vue +136 -136
  671. package/src/layouts/footer/PageFooter.vue +49 -49
  672. package/src/layouts/header/AdminHeader.vue +132 -132
  673. package/src/layouts/header/HeaderAvatar.vue +64 -64
  674. package/src/layouts/header/HeaderNotice.vue +177 -177
  675. package/src/layouts/header/HeaderSearch.vue +67 -67
  676. package/src/layouts/header/InstitutionDetail.vue +181 -181
  677. package/src/layouts/header/index.less +92 -92
  678. package/src/layouts/tabs/TabsHead.vue +189 -189
  679. package/src/layouts/tabs/TabsView.vue +383 -383
  680. package/src/layouts/tabs/i18n.js +25 -25
  681. package/src/layouts/tabs/index.js +2 -2
  682. package/src/lib.js +1 -1
  683. package/src/logic/LogicRunner.js +62 -62
  684. package/src/logic/TestLogic.js +13 -13
  685. package/src/logic/plugins/common/DateTools.js +35 -35
  686. package/src/logic/plugins/common/VueTools.js +30 -30
  687. package/src/logic/plugins/index.js +7 -7
  688. package/src/logic/ts/LogicRunner.ts +67 -67
  689. package/src/logic/ts/TestLogic.ts +13 -13
  690. package/src/main.js +33 -33
  691. package/src/mixins/formValidationMixin.js +46 -46
  692. package/src/mock/common/activityData.js +32 -32
  693. package/src/mock/common/index.js +89 -89
  694. package/src/mock/common/reportData.js +20 -20
  695. package/src/mock/common/tableData.js +118 -118
  696. package/src/mock/extend/index.js +84 -84
  697. package/src/mock/goods/index.js +108 -108
  698. package/src/mock/index.js +12 -12
  699. package/src/mock/project/index.js +17 -17
  700. package/src/mock/user/current.js +13 -13
  701. package/src/mock/user/login.js +39 -39
  702. package/src/mock/user/routes.js +61 -61
  703. package/src/mock/workplace/index.js +15 -15
  704. package/src/pages/DefaultExample/index.vue +77 -77
  705. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  706. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  707. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  708. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  709. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  710. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  711. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  712. package/src/pages/DynamicStatistics/index.vue +282 -282
  713. package/src/pages/Example/childIndex.vue +15 -15
  714. package/src/pages/Example/index.vue +30 -30
  715. package/src/pages/LogicCallExample/index.vue +46 -46
  716. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  717. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  718. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  719. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  720. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  721. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  722. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  723. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  724. package/src/pages/Recording/index.vue +77 -77
  725. package/src/pages/ReportGrid/index.vue +76 -76
  726. package/src/pages/ReportView.vue +50 -50
  727. package/src/pages/ServiceReview/index.vue +284 -284
  728. package/src/pages/SubExample/index.vue +26 -26
  729. package/src/pages/WorkflowDetail/WorkFlowDemo.vue +47 -47
  730. package/src/pages/WorkflowDetail/WorkFlowDemo2.vue +204 -204
  731. package/src/pages/WorkflowDetail/WorkFlowDemo3.vue +203 -203
  732. package/src/pages/WorkflowDetail/WorkflowDetail.vue +397 -397
  733. package/src/pages/WorkflowDetail/WorkflowPageDetail/LeaveMessage.vue +388 -388
  734. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  735. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformation.vue +415 -415
  736. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformationDetails.vue +276 -276
  737. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandle.vue +1766 -1766
  738. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandleReso.vue +975 -975
  739. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowPreview.vue +125 -125
  740. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowTimeline.vue +929 -929
  741. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkOrderParentDetails.vue +218 -218
  742. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowDetailResso.vue +243 -243
  743. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowListResolution.vue +248 -248
  744. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowLog.vue +188 -188
  745. package/src/pages/WorkflowDetail/WorkflowPageDetail/components/WorkflowPersonSelector.vue +109 -109
  746. package/src/pages/WorkflowDetail/WorkflowPageDetail/worklog.vue +97 -97
  747. package/src/pages/XPageViewExample/index.vue +149 -149
  748. package/src/pages/XReportView/index.vue +64 -64
  749. package/src/pages/XTreeOneProExample/index.vue +67 -67
  750. package/src/pages/addressSelect/addressDemo.vue +24 -24
  751. package/src/pages/addressSelect/index.vue +270 -270
  752. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  753. package/src/pages/dashboard/workplace/i18n.js +40 -40
  754. package/src/pages/dashboard/workplace/index.js +2 -2
  755. package/src/pages/dashboard/workplace/index.less +59 -59
  756. package/src/pages/exception/403.vue +21 -21
  757. package/src/pages/exception/404.vue +24 -24
  758. package/src/pages/exception/500.vue +21 -21
  759. package/src/pages/login/Login.vue +380 -380
  760. package/src/pages/login/LoginV3.vue +389 -389
  761. package/src/pages/login/index.js +2 -2
  762. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  763. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  764. package/src/pages/report/ReportTable.js +124 -124
  765. package/src/pages/report/ReportTableHome.vue +28 -28
  766. package/src/pages/resourceManage/depListManage.vue +23 -23
  767. package/src/pages/resourceManage/funListManage.vue +23 -23
  768. package/src/pages/resourceManage/index.js +15 -15
  769. package/src/pages/resourceManage/orgListManage.vue +98 -98
  770. package/src/pages/resourceManage/resourceManageMain.vue +57 -57
  771. package/src/pages/resourceManage/roleListManage.vue +23 -23
  772. package/src/pages/resourceManage/staffListManage.vue +23 -23
  773. package/src/pages/system/dictionary/index.vue +44 -44
  774. package/src/pages/system/file/Info.vue +56 -56
  775. package/src/pages/system/file/index.vue +317 -317
  776. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  777. package/src/pages/system/monitor/operLog/index.vue +37 -37
  778. package/src/pages/system/settings/index.vue +126 -126
  779. package/src/pages/system/settings/modifyPassword.vue +117 -117
  780. package/src/pages/system/ticket/index.vue +480 -480
  781. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  782. package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
  783. package/src/pages/userInfoDetailManage/FillCardRecordQuery/index.vue +77 -77
  784. package/src/pages/userInfoDetailManage/FillGasRecordQuery/index.vue +75 -75
  785. package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
  786. package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
  787. package/src/pages/userInfoDetailManage/InsuranceDetailQuery/index.vue +64 -64
  788. package/src/pages/userInfoDetailManage/MachineRecordQuery/index.vue +75 -75
  789. package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
  790. package/src/pages/userInfoDetailManage/OtherChargeRecordQuery/index.vue +75 -75
  791. package/src/pages/userInfoDetailManage/PriceAdjustments/index.vue +64 -64
  792. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
  793. package/src/pages/userInfoDetailManage/UserChargeRecordQuery/index.vue +94 -94
  794. package/src/pages/userInfoDetailManage/UserException/index.vue +64 -64
  795. package/src/pages/userInfoDetailManage/UserHandRecordQuery/index.vue +87 -87
  796. package/src/pages/userInfoDetailManage/UserRecordQuery/index.vue +74 -74
  797. package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
  798. package/src/pages/userInfoDetailManage/index.vue +290 -290
  799. package/src/pages/userInfoDetailManage/uploadFilesHistory/ImagePreview.vue +101 -101
  800. package/src/pages/userInfoDetailManage/uploadFilesHistory/index.vue +129 -129
  801. package/src/pages/userInfoDetailManage/userInfoDetailQueryTabs.vue +144 -144
  802. package/src/plugins/EventLogPlugin.js +33 -33
  803. package/src/plugins/FindParentsData.js +17 -17
  804. package/src/plugins/HiPrintPlugin.js +164 -164
  805. package/src/router/async/config.async.js +35 -35
  806. package/src/router/async/router.map.js +127 -127
  807. package/src/router/guards.js +262 -262
  808. package/src/router/i18n.js +57 -57
  809. package/src/router/index.js +27 -27
  810. package/src/router.js +17 -17
  811. package/src/services/DataModel.js +30 -30
  812. package/src/services/LodopFuncs.js +137 -137
  813. package/src/services/api/DictionaryDetailsViewApi.js +6 -6
  814. package/src/services/api/LogDetailsViewApi.js +10 -10
  815. package/src/services/api/QueryParamsDetailsViewApi.js +6 -6
  816. package/src/services/api/TicketDetailsViewApi.js +46 -46
  817. package/src/services/api/cas.js +79 -79
  818. package/src/services/api/common.js +346 -346
  819. package/src/services/api/entity.js +18 -18
  820. package/src/services/api/index.js +17 -17
  821. package/src/services/api/logininfor/index.js +6 -6
  822. package/src/services/api/manage.js +8 -8
  823. package/src/services/api/restTools.js +215 -215
  824. package/src/services/api/workFlow.js +57 -57
  825. package/src/services/apiService.js +16 -16
  826. package/src/services/dataSource.js +12 -12
  827. package/src/services/index.js +7 -7
  828. package/src/services/user.js +92 -92
  829. package/src/services/v3Api.js +116 -116
  830. package/src/store/index.js +5 -5
  831. package/src/store/modules/account.js +115 -115
  832. package/src/store/modules/index.js +5 -5
  833. package/src/store/modules/lowCode.js +33 -33
  834. package/src/store/modules/setting.js +119 -119
  835. package/src/store/mutation-types.js +4 -4
  836. package/src/theme/antd/ant-menu.less +2 -2
  837. package/src/theme/antd/ant-message.less +3 -3
  838. package/src/theme/antd/ant-table.less +22 -22
  839. package/src/theme/antd/ant-time-picker.less +3 -3
  840. package/src/theme/antd/index.less +3 -3
  841. package/src/theme/default/color.less +43 -43
  842. package/src/theme/default/index.less +3 -3
  843. package/src/theme/default/nprogress.less +76 -76
  844. package/src/theme/default/style.less +58 -58
  845. package/src/theme/global.less +279 -279
  846. package/src/theme/index.less +5 -5
  847. package/src/theme/reportTable.less +58 -58
  848. package/src/theme/theme.less +1 -1
  849. package/src/utils/EncryptUtil.js +162 -162
  850. package/src/utils/Objects.js +25 -25
  851. package/src/utils/authority-utils.js +85 -85
  852. package/src/utils/axios-interceptors.js +100 -100
  853. package/src/utils/colors.js +107 -107
  854. package/src/utils/common.js +10 -10
  855. package/src/utils/errorCode.js +6 -6
  856. package/src/utils/excel/Blob.js +180 -180
  857. package/src/utils/excel/Export2Excel.js +184 -184
  858. package/src/utils/filter.js +21 -21
  859. package/src/utils/formatter.js +74 -74
  860. package/src/utils/htmlToPDF.js +108 -108
  861. package/src/utils/htmlToPDFApi.js +5 -5
  862. package/src/utils/i18n.js +80 -80
  863. package/src/utils/indexedDB.js +549 -549
  864. package/src/utils/login.js +188 -188
  865. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  866. package/src/utils/lowcode/lowcodeLog.js +29 -29
  867. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  868. package/src/utils/lowcode/registerComponentForEditor.js +1 -1
  869. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  870. package/src/utils/map-utils.js +47 -47
  871. package/src/utils/microAppUtils.js +49 -49
  872. package/src/utils/reg.js +95 -95
  873. package/src/utils/request.js +395 -395
  874. package/src/utils/routerUtil.js +574 -567
  875. package/src/utils/runEvalFunction.js +14 -14
  876. package/src/utils/theme-color-replacer-extend.js +92 -92
  877. package/src/utils/themeUtil.js +100 -100
  878. package/src/utils/util.js +329 -329
  879. package/src/utils/waterMark.js +31 -31
  880. package/test/Tree.spec.js +168 -168
  881. package/test/myDialog.spec.js +47 -47
  882. package/test/request.test.js +17 -17
  883. package/test/util.test.js +53 -53
  884. package/test/v3Api.test.js +1984 -1984
  885. package/tests/unit/ReportTable.spec.js +16 -16
  886. package/vue.config.js +222 -222
  887. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
  888. package/.claude/settings.local.json +0 -12
@@ -1,629 +1,678 @@
1
- <template>
2
- <div>
3
- <div v-show="ready">
4
- <a-row v-if="this.readonly" class="editor-action-container" type="flex" justify="space-between">
5
- <a-col class="editor-tools">
6
- <a-space>
7
- <template v-if="resList.length > 0">
8
- <a-select
9
- style="width: 200px"
10
- v-model="toggleResId"
11
- placeholder="请选择文档"
12
- show-search
13
- @change="changeRes"
14
- >
15
- <a-select-option v-for="item of resListCp" :key="item.value" :value="item.value">{{ item.label }}</a-select-option>
16
- </a-select>
17
- <!-- <template v-if="this.modeType !== 'readonly' && this.resId !== -1">-->
18
- <!-- <a-button icon="plus" @click="addRes"/>-->
19
- <!-- </template>-->
20
- </template>
21
- <a-radio-group
22
- v-show="showModeChoose"
23
- button-style="solid"
24
- @change="changeMode"
25
- v-model="modeType">
26
- <a-radio-button v-for="item of modeList" :key="item.value" :value="item.value">
27
- {{ item.label }}
28
- </a-radio-button>
29
- </a-radio-group>
30
- </a-space>
31
- </a-col>
32
- <a-col class="editor-action">
33
- <a-space>
34
- <template v-if="this.modeType !== 'readonly'">
35
- <!-- <a-button-->
36
- <!-- type="primary"-->
37
- <!-- v-if = "userTemplateVisible"-->
38
- <!-- @click="useTemplateData"-->
39
- <!-- >-->
40
- <!-- 使用-->
41
- <!-- </a-button>-->
42
-
43
- <a-button type="primary" @click="openRenameModal" v-if="this.resId !== -1">
44
- 重命名
45
- </a-button>
46
- <!-- 组合按钮容器 -->
47
- <div class="save-btn-main">
48
- <!-- 保存按钮 (左侧) -->
49
- <a-button
50
- type="primary"
51
- class="save-btn-main"
52
- @click="showSaveModal('normal')"
53
- >
54
- 保存
55
- </a-button>
56
-
57
- <!-- 下拉部分 (右侧) -->
58
- <!-- 下拉触发部分 -->
59
- <template v-if="modeType !== 'design'">
60
- <a-dropdown
61
- :trigger="['click']"
62
- placement="bottomRight">
63
- <a-button
64
- type="primary"
65
- class="dropdown-trigger-btn">
66
- <a-icon type="down" />
67
- </a-button>
68
- <a-menu slot="overlay">
69
- <a-menu-item @click="showSaveModal('template')">
70
- 保存并作为模板
71
- </a-menu-item>
72
- </a-menu>
73
- </a-dropdown>
74
- </template>
75
- </div>
76
- <a-modal
77
- title="保存"
78
- :visible="saveVisible"
79
- confirm-loading = false
80
- @ok="handleSaveConfirm"
81
- @cancel="saveVisible = false"
82
- >
83
- <a-form-item label="文件名" :label-col="{ span: 4 }" :wrapper-col="{ span: 20 }">
84
- <a-input
85
- v-model="fileName"
86
- placeholder="请输入文件名"
87
- @pressEnter="handleSaveConfirm"
88
- />
89
- </a-form-item>
90
- </a-modal>
91
- </template>
92
- <a-button type="primary" @click="print">
93
- 打印
94
- </a-button>
95
- <a-button @click="refresh">
96
- 刷新
97
- </a-button>
98
- </a-space>
99
- <a-dropdown>
100
- <a-menu slot="overlay" @click="handleExportMenuClick">
101
- <a-menu-item key="exportPdf">导出为Pdf</a-menu-item>
102
- <a-menu-item key="exportWord">导出为Word</a-menu-item>
103
- <a-menu-item key="exportHtmlWithStyle">导出为Html</a-menu-item>
104
- </a-menu>
105
- <a-button style="margin-left: 8px"> 导出 <a-icon type="down" /> </a-button>
106
- </a-dropdown>
107
- </a-col>
108
- </a-row>
109
- <a-divider/>
110
- <a-spin tip="加载中,马上好" :spinning="loading">
111
- <iframe
112
- id="x-editor"
113
- src="/his/editor/editor.html"
114
- v-bind="objectOfAttrs"
115
- @load="onload"
116
- style="height: calc(-200px - 3rem + 100vh);">
117
- </iframe>
118
- </a-spin>
119
- </div>
120
- <div v-show="!ready">
121
- <a-empty description="请选择文书" />
122
- </div>
123
- <a-modal
124
- :destroyOnClose="true"
125
- :title="this.resDataModalMode === 'modify' ? '修改文档' : '新建文档'"
126
- :visible="resDataModalVisible"
127
- okText="提交"
128
- @cancel="resDataModalVisible = false"
129
- @ok="onSubmit">
130
- <a-form-model ref="resModifyForm" :model="modifyResModel" :rules="resRules">
131
- <a-form-model-item prop="f_file_name" label="文档名">
132
- <a-input v-model="modifyResModel.f_file_name" placeholder="请输入文档名"/>
133
- </a-form-model-item>
134
- </a-form-model>
135
- </a-modal></div>
136
- </template>
137
-
138
- <script>
139
-
140
- import { runLogic } from '@vue2-client/services/api/common'
141
- import { initDiagnosisDropdown } from './diagnosisAutocomplete'
142
-
143
- export default {
144
- name: 'XHisEditor',
145
- computed: {
146
- resListCp () {
147
- const list = this.resList
148
- if (this.resId === -1) {
149
- list.push({
150
- label: '未保存文档*', value: -1
151
- })
152
- }
153
- return list
154
- }
155
- },
156
- data () {
157
- return {
158
- readonly: false,
159
- ready: false,
160
- loading: false,
161
- resDataModalMode: 'modify',
162
- resDataModalVisible: false,
163
- saveVisible: false,
164
- // 使用按钮显隐控制
165
- // userTemplateVisible: false,
166
- objectOfAttrs: {
167
- width: '100%',
168
- height: '650vh',
169
- frameborder: 0
170
- },
171
- // 数据模式
172
- modeType: 'form',
173
- // 是否显示模式切换功能
174
- showModeChoose: true,
175
- // 是否作为模板 1 是,0 否
176
- isTemplate: 0,
177
- // 模板id
178
- templateId: undefined,
179
- admissionId: undefined,
180
- // 保存类型
181
- saveType: 'normal',
182
- fileName: '',
183
- // 数据模式列表
184
- modeList: [
185
- {
186
- label: '预览',
187
- value: 'readonly'
188
- },
189
- {
190
- label: '表单',
191
- value: 'form'
192
- },
193
- {
194
- label: '设计',
195
- value: 'design'
196
- }
197
- ],
198
- // 编辑器实例
199
- editorRef: null,
200
- // 文档资源列表
201
- resList: [],
202
- // 文档资源ID
203
- resId: undefined,
204
- // 文档链接
205
- fileUrl: undefined,
206
- // 文档绑定数据
207
- bindObject: undefined,
208
- // 合并模板数据后文档数据
209
- assignBindObject: undefined,
210
- // 数据模式 template:模板编辑;data:数据编辑
211
- dataMode: undefined,
212
- // 保存数据调用的Logic名称
213
- saveDataLogicName: undefined,
214
- // 保存数据调用Logic传入的额外参数
215
- logicExtraParams: undefined,
216
- // 服务名
217
- serviceName: undefined,
218
- // 当前文档信息
219
- currResData: {},
220
- // 切换的文档id
221
- toggleResId: undefined,
222
- // 待提交的修改信息
223
- modifyResModel: {},
224
- codeData: {},
225
- resRules: {
226
- f_file_name: [{ required: true, message: '请输入文档名', trigger: 'blur' }],
227
- }
228
- }
229
- },
230
- // 初始化 保存后 加载文件后 诊断选择
231
- emits: ['init', 'saveafter', 'afterLoadFile', 'selected'],
232
- methods: {
233
- runLogic,
234
- /* eslint-disable */
235
- async initDiagnosisAutocomplete (dropDownBoxParams) {
236
- console.log('dropDownBoxParams',dropDownBoxParams)
237
- if (!this.editorRef || !this.editorRef.document) {
238
- return
239
- }
240
-
241
- // 添加参数检查
242
- if (!dropDownBoxParams || !Array.isArray(dropDownBoxParams) || dropDownBoxParams.length === 0) {
243
- return
244
- }
245
-
246
- // 创建一个简单的自定义事件系统
247
- // 1. 创建一个隐藏的DOM元素作为事件通道
248
- const eventChannel = this.editorRef.document.createElement('div');
249
- eventChannel.id = 'diagnosis-event-channel';
250
- eventChannel.style.display = 'none';
251
- this.editorRef.document.body.appendChild(eventChannel);
252
- // 2. 在iframe文档中监听自定义事件
253
- const that = this;
254
- this.editorRef.document.addEventListener('diagnosis-selected', function(e) {
255
- if (e && e.detail) {
256
- that.$emit('selected', { item: e.detail, editor: that.editorRef });
257
- that.codeData = { ...that.codeData, ...{[e.detail.codeKey]: e.detail.code} }
258
- }
259
- });
260
-
261
- for (const param of dropDownBoxParams) {
262
- if (param.identificationCode && param.dataLogic) {
263
- try {
264
- let preliDiagnoData = null
265
- // 保留获取后端数据的逻辑
266
- await runLogic(param.dataLogic,
267
- {}, 'af-his').then(res => {
268
- preliDiagnoData = res
269
- })
270
-
271
- // 创建脚本元素
272
- const scriptElement = this.editorRef.document.createElement('script')
273
-
274
- // 注入自定义事件触发函数和初始化代码
275
- scriptElement.textContent = `
276
- // 定义一个函数来触发自定义事件
277
- function triggerDiagnosisSelected(data) {
278
- const event = new CustomEvent('diagnosis-selected', {
279
- detail: data,
280
- bubbles: true
281
- });
282
- document.dispatchEvent(event);
283
- }
284
-
285
- // 初始化诊断下拉菜单,使用自定义事件触发函数
286
- (${initDiagnosisDropdown.toString()})(
287
- editor,
288
- ${JSON.stringify(preliDiagnoData)},
289
- '${param.identificationCode}',
290
- triggerDiagnosisSelected
291
- );
292
- `;
293
-
294
- this.editorRef.document.body.appendChild(scriptElement);
295
- } catch (error) {
296
- console.error('初始化诊断自动完成失败:', error);
297
- }
298
- }
299
- }
300
- },
301
- showSaveModal (type) {
302
- this.saveType = type // 记录当前保存类型
303
- if (type === 'template') {
304
- this.saveVisible = true
305
- }else {
306
- if (this.resId !== -1 || this.resId !== undefined) {
307
- this.save()
308
- } else {
309
- this.openAddResModal()
310
- }
311
- }
312
-
313
- },
314
- handleSaveConfirm () {
315
- if (!this.fileName.trim()) {
316
- this.$message.error('文件名不能为空')
317
- return
318
- }
319
- this.saveAsTemplate()
320
- },
321
- /* eslint-disable */
322
- // 初始化文档
323
- onload (e) {
324
- if (e && e.target && e.target.contentWindow) {
325
- this.editorRef = e.target.contentWindow.editor
326
- // 等待文档加载完成
327
- this.$emit('init', {})
328
- }
329
- },
330
- init (params) {
331
- const {
332
- fileUrl,
333
- resId,
334
- currResData = {},
335
- bindObject,
336
- saveDataLogicName,
337
- logicExtraParams,
338
- dropDownBoxParams,
339
- serviceName,
340
- showModeChoose = true,
341
- modeType = 'form'
342
- } = params
343
- this.resId = resId
344
- if (bindObject) {
345
- this.dataMode = 'data'
346
- this.bindObject = bindObject
347
- } else {
348
- this.dataMode = 'template'
349
- }
350
- if (logicExtraParams?.admissionId !== undefined && logicExtraParams?.templateId !== undefined) {
351
- this.admissionId = logicExtraParams.admissionId
352
- this.templateId = logicExtraParams.templateId
353
- } else {
354
- console.warn('病例id:admissionId不存在或模板id:templateId不存在')
355
- }
356
- this.saveDataLogicName = saveDataLogicName
357
- this.logicExtraParams = logicExtraParams
358
- this.serviceName = serviceName
359
- this.showModeChoose = showModeChoose
360
- this.modeType = (modeType === "readonly!" ? "readonly" :modeType)
361
- this.readonly = (modeType !== "readonly!")
362
- this.ready = true
363
- // 先加载文件
364
- this.loadFile(fileUrl, bindObject, currResData).then(async () => {
365
- // 文件加载完成后再初始化自动完成
366
- await this.initDiagnosisAutocomplete(dropDownBoxParams)
367
- })
368
- this.loadResList()
369
- },
370
- // 加载文档
371
- loadFile (fileUrl, bindObject, currResData) {
372
- this.loading = true
373
- return new Promise((resolve) => {
374
- this.editorRef.loadUrl(fileUrl).then(() => {
375
- if (bindObject) {
376
- this.editorRef.setBindObject(bindObject)
377
- if (bindObject.template) {
378
- for (const key of Object.keys(bindObject.template)) {
379
- this.editorRef.bindDataList(key, bindObject.template[key])
380
- }
381
- }
382
- }
383
- // 拿取多于模板中的数据
384
- const diff = this.bindObject? Object.fromEntries(
385
- Object.entries(this.bindObject)
386
- .filter(([key]) => !(key in this.editorRef.getBindObject()))
387
- ) : {}
388
- this.codeData = {...this.codeData,...diff}
389
- this.changeMode()
390
- this.fileUrl = fileUrl
391
- if (!currResData.f_file_name) {
392
- currResData.f_file_name = '未命名'
393
- }
394
- this.currResData = currResData
395
- this.loading = false
396
- this.$emit('afterLoadFile', {})
397
- resolve()
398
- })
399
- })
400
- },
401
- // 保存并作为模板
402
- saveAsTemplate () {
403
- this.isTemplate = 1
404
- this.save()
405
- },
406
- // 加载文档列表
407
- loadResList () {
408
- runLogic('getTemplateListLogic', this.logicExtraParams, this.serviceName).then(res => {
409
- this.resList = res
410
- this.toggleResId = this.resId
411
- })
412
- },
413
- // 修改模式
414
- changeMode (e) {
415
- this.editorRef.execCommand(this.modeType)
416
- },
417
- // 打开文档信息修改面板
418
- openRenameModal () {
419
- this.resDataModalMode = 'modify'
420
- this.modifyResModel = {
421
- f_file_name: this.currResData.f_file_name
422
- }
423
- this.resDataModalVisible = true
424
- },
425
- // 提交文档信息修改
426
- onSubmit () {
427
- this.$refs.resModifyForm.validate(valid => {
428
- if (valid) {
429
- if (this.resDataModalMode === 'modify' && this.modifyResModel.f_file_name === this.currResData.f_file_name) {
430
- this.$message.warn('新文档名不能与原文档名一致!')
431
- return false
432
- }
433
- this.save()
434
- return true
435
- } else {
436
- return false
437
- }
438
- })
439
- },
440
- // 打开文档新建面板
441
- openAddResModal () {
442
- this.resDataModalMode = 'add'
443
- this.modifyResModel = {
444
- f_file_name: undefined
445
- }
446
- this.resDataModalVisible = true
447
- },
448
- // 新建文档
449
- addRes () {
450
- this.$emit('add', {})
451
- // const params = Object.assign({
452
- // isAddForce: true
453
- // }, this.logicExtraParams)
454
- // this.reload(params)
455
- },
456
- // 重新加载
457
- reload (params) {
458
- runLogic('getFileInformation', params, this.serviceName).then(res => {
459
- this.resDataModalVisible = false
460
- this.assignBindObject = this.assignTemplates(this.bindObject, res.bindObject)
461
- this.useTemplateData()
462
- // this.init({
463
- // modeType: this.modeType,
464
- // fileUrl: res.url,
465
- // resId: res.id,
466
- // currResData: res.currResData,
467
- // bindObject: res.bindObject,
468
- // saveDataLogicName: this.saveDataLogicName,
469
- // serviceName: this.serviceName,
470
- // logicExtraParams: this.logicExtraParams,
471
- // dropDownBoxParams: this.dropDownBoxParams
472
- // })
473
- })
474
- },
475
- // 合并模板数据
476
- assignTemplates (newBindObject, templateData) {
477
- // 检查templates数组是否存在
478
- if (!templateData.templates || !Array.isArray(templateData.templates)) {
479
- console.warn('templateData.templates不存在或不是数组')
480
- return newBindObject
481
- }
482
- // 遍历templates数组中的每个属性名
483
- templateData.templates.forEach(propName => {
484
- // 检查templateData是否有该属性
485
- if (propName in templateData) {
486
- // 无论newBindObject是否有该属性,都进行赋值/添加
487
- newBindObject[propName] = templateData[propName]
488
- } else {
489
- console.warn(`templateData中不存在属性: ${propName}`)
490
- }
491
- })
492
- return newBindObject
493
- },
494
- useTemplateData () {
495
- // 确认是否有合并后的模板数据
496
- if (!this.assignBindObject) {
497
- this.$message.warning('没有可用的模板数据');
498
- return;
499
- }
500
- this.editorRef.setBindObject(this.assignBindObject)
501
- // console.log('resId', this.resId)
502
- },
503
- // 切换文档
504
- changeRes (value) {
505
- console.log('value', value)
506
- let params = {
507
- resId: value
508
- }
509
- if (value === -1) {
510
- params = {
511
- ...params,
512
- admissionId: this.admissionId,
513
- f_template_id: this.templateId
514
- }
515
- const that = this
516
- this.$confirm({
517
- title: '确认切换文档吗?',
518
- content: '您有尚未保存的文档,切换文档将丢失所有的修改',
519
- onOk () {
520
- that.reload(params)
521
- // that.userTemplateVisible = true
522
- },
523
- onCancel () {
524
- that.toggleResId = that.resId
525
- },
526
- })
527
- } else {
528
- this.reload(params)
529
- }
530
- },
531
- // 保存文档
532
- save () {
533
- // 验证必须输入项
534
- if (this.editorRef.validate()) {
535
- // 获取HTML文档和结构化数据(JSON)
536
- console.log('save',this.editorRef.getBindObject())
537
- const data = {
538
- doc: this.editorRef.getHtml(),
539
- dataObject: {
540
- ...this.editorRef.getBindObject(),
541
- ...this.codeData // 合并 codeData 数据
542
- },
543
- dataMode: this.dataMode,
544
- resId: this.resId,
545
- modifyResModel: this.modifyResModel,
546
- logicExtraParams: this.logicExtraParams,
547
- is_template: this.isTemplate,
548
- f_file_name: this.fileName
549
- }
550
- // 保存HTML文档和结构化数据到后端服务
551
- runLogic(this.saveDataLogicName, data, this.serviceName).then(res => {
552
- this.$message.success('保存成功')
553
- this.changeRes(res.currResData.id)
554
- this.$emit('saveafter', data.dataObject)
555
- }).finally(() => {
556
- this.resDataModalVisible = false
557
- this.saveVisible = false
558
- })
559
- } else {
560
- this.$message.error('请检查未填写的项目')
561
- }
562
- },
563
- // 打印文档
564
- print () {
565
- this.editorRef.execCommand('print')
566
- },
567
- // 关闭编辑器
568
- close () {
569
- this.ready = false
570
- },
571
- // 刷新文档
572
- refresh () {
573
- this.loadFile(this.fileUrl, this.bindObject, this.currResData)
574
- },
575
- // 导出下拉菜单
576
- handleExportMenuClick (e) {
577
- const key = e.key
578
- this.editorRef.execCommand(key)
579
- }
580
- }
581
- }
582
- </script>
583
- <style scoped lang="less">
584
- .editor-action-container {
585
- height: 40px;
586
- }
587
- :deep(.ant-divider-horizontal) {
588
- margin: 4px 0;
589
- }
590
- /* 组合按钮容器 - 关键修正 */
591
- .combined-save-btn {
592
- display: inline-flex;
593
- height: 32px;
594
- }
595
-
596
- /* 主保存按钮 - 保持原有样式 */
597
- .save-btn-main {
598
- border-top-right-radius: 0 !important;
599
- border-bottom-right-radius: 0 !important;
600
- border-right: none !important;
601
- height: 32px;
602
- padding: 0 15px;
603
- display: inline-flex;
604
- align-items: center;
605
- justify-content: center;
606
- margin-right: -1px; /* 关键:负边距消除间距 */
607
- }
608
-
609
- /* 下拉按钮 - 仅调整间距 */
610
- .dropdown-trigger-btn {
611
- height: 32px !important;
612
- width: 24px !important;
613
- min-width: 24px !important;
614
- padding: 0 !important;
615
- border-top-left-radius: 0 !important;
616
- border-bottom-left-radius: 0 !important;
617
- border-left: 1px solid rgba(255, 255, 255, 0.3) !important;
618
- display: inline-flex;
619
- align-items: center;
620
- justify-content: center;
621
- margin-left: 0px;
622
- }
623
-
624
- /* 下拉图标保持原样 */
625
- .dropdown-trigger-btn .anticon {
626
- font-size: 12px;
627
- margin: 0 !important;
628
- }
629
- </style>
1
+ <template>
2
+ <div>
3
+ <div v-show="ready">
4
+ <a-row v-if="this.readonly" class="editor-action-container" type="flex" justify="space-between">
5
+ <a-col class="editor-tools">
6
+ <a-space>
7
+ <template v-if="resList.length > 0">
8
+ <a-select
9
+ style="width: 200px"
10
+ v-model="toggleResId"
11
+ placeholder="请选择文档"
12
+ show-search
13
+ @change="changeRes"
14
+ >
15
+ <a-select-option v-for="item of resListCp" :key="item.value" :value="item.value">{{ item.label }}</a-select-option>
16
+ </a-select>
17
+ <!-- <template v-if="this.modeType !== 'readonly' && this.resId !== -1">-->
18
+ <!-- <a-button icon="plus" @click="addRes"/>-->
19
+ <!-- </template>-->
20
+ </template>
21
+ <a-radio-group
22
+ v-show="showModeChoose"
23
+ button-style="solid"
24
+ @change="changeMode"
25
+ v-model="modeType">
26
+ <a-radio-button v-for="item of modeList" :key="item.value" :value="item.value">
27
+ {{ item.label }}
28
+ </a-radio-button>
29
+ </a-radio-group>
30
+ </a-space>
31
+ </a-col>
32
+ <a-col class="editor-action">
33
+ <a-space>
34
+ <template v-if="this.modeType !== 'readonly'">
35
+ <!-- <a-button-->
36
+ <!-- type="primary"-->
37
+ <!-- v-if = "userTemplateVisible"-->
38
+ <!-- @click="useTemplateData"-->
39
+ <!-- >-->
40
+ <!-- 使用-->
41
+ <!-- </a-button>-->
42
+ <a-button type="primary" @click="Recording" v-if="this.resId !== -1" v-model="recording">
43
+ {{recording? '停止' : '录音'}}
44
+ </a-button>
45
+ <a-button type="primary" @click="openRenameModal" v-if="this.resId !== -1">
46
+ 重命名
47
+ </a-button>
48
+ <!-- 组合按钮容器 -->
49
+ <div class="save-btn-main">
50
+ <!-- 保存按钮 (左侧) -->
51
+ <a-button
52
+ type="primary"
53
+ class="save-btn-main"
54
+ @click="showSaveModal('normal')"
55
+ >
56
+ 保存
57
+ </a-button>
58
+
59
+ <!-- 下拉部分 (右侧) -->
60
+ <!-- 下拉触发部分 -->
61
+ <template v-if="modeType !== 'design'">
62
+ <a-dropdown
63
+ :trigger="['click']"
64
+ placement="bottomRight">
65
+ <a-button
66
+ type="primary"
67
+ class="dropdown-trigger-btn">
68
+ <a-icon type="down" />
69
+ </a-button>
70
+ <a-menu slot="overlay">
71
+ <a-menu-item @click="showSaveModal('template')">
72
+ 保存并作为模板
73
+ </a-menu-item>
74
+ </a-menu>
75
+ </a-dropdown>
76
+ </template>
77
+ </div>
78
+ <a-modal
79
+ title="保存"
80
+ :visible="saveVisible"
81
+ :confirm-loading = "false"
82
+ @ok="handleSaveConfirm"
83
+ @cancel="saveVisible = false"
84
+ >
85
+ <a-form-item label="文件名" :label-col="{ span: 4 }" :wrapper-col="{ span: 20 }">
86
+ <a-input
87
+ v-model="fileName"
88
+ placeholder="请输入文件名"
89
+ @pressEnter="handleSaveConfirm"
90
+ />
91
+ </a-form-item>
92
+ </a-modal>
93
+ </template>
94
+ <a-button type="primary" @click="print">
95
+ 打印
96
+ </a-button>
97
+ <a-button @click="refresh">
98
+ 刷新
99
+ </a-button>
100
+ </a-space>
101
+ <a-dropdown>
102
+ <a-menu slot="overlay" @click="handleExportMenuClick">
103
+ <a-menu-item key="exportPdf">导出为Pdf</a-menu-item>
104
+ <a-menu-item key="exportWord">导出为Word</a-menu-item>
105
+ <a-menu-item key="exportHtmlWithStyle">导出为Html</a-menu-item>
106
+ </a-menu>
107
+ <a-button style="margin-left: 8px"> 导出 <a-icon type="down" /> </a-button>
108
+ </a-dropdown>
109
+ </a-col>
110
+ </a-row>
111
+ <a-divider/>
112
+ <a-spin tip="加载中,马上好" :spinning="loading">
113
+ <iframe
114
+ id="x-editor"
115
+ src="/his/editor/editor.html"
116
+ v-bind="objectOfAttrs"
117
+ @load="onload"
118
+ style="height: calc(-200px - 3rem + 100vh);">
119
+ </iframe>
120
+ </a-spin>
121
+ </div>
122
+ <div v-show="!ready">
123
+ <a-empty description="请选择文书" />
124
+ </div>
125
+ <a-modal
126
+ :destroyOnClose="true"
127
+ :title="this.resDataModalMode === 'modify' ? '修改文档' : '新建文档'"
128
+ :visible="resDataModalVisible"
129
+ okText="提交"
130
+ @cancel="resDataModalVisible = false"
131
+ @ok="onSubmit">
132
+ <a-form-model ref="resModifyForm" :model="modifyResModel" :rules="resRules">
133
+ <a-form-model-item prop="f_file_name" label="文档名">
134
+ <a-input v-model="modifyResModel.f_file_name" placeholder="请输入文档名"/>
135
+ </a-form-model-item>
136
+ </a-form-model>
137
+ </a-modal></div>
138
+ </template>
139
+
140
+ <script>
141
+
142
+ import { runLogic } from '@vue2-client/services/api/common'
143
+ import { initDiagnosisDropdown } from './diagnosisAutocomplete'
144
+
145
+ export default {
146
+ name: 'XHisEditor',
147
+ computed: {
148
+ resListCp () {
149
+ const list = this.resList
150
+ if (this.resId === -1) {
151
+ list.push({
152
+ label: '未保存文档*', value: -1
153
+ })
154
+ }
155
+ return list
156
+ }
157
+ },
158
+ data () {
159
+ return {
160
+ recording: false, // 是否正在录音
161
+ readonly: false,
162
+ ready: false,
163
+ loading: false,
164
+ resDataModalMode: 'modify',
165
+ resDataModalVisible: false,
166
+ saveVisible: false,
167
+ // 使用按钮显隐控制
168
+ // userTemplateVisible: false,
169
+ objectOfAttrs: {
170
+ width: '100%',
171
+ height: '650vh',
172
+ frameborder: 0
173
+ },
174
+ // 数据模式
175
+ modeType: 'form',
176
+ // 是否显示模式切换功能
177
+ showModeChoose: true,
178
+ // 是否作为模板 1 是,0 否
179
+ isTemplate: 0,
180
+ // 模板id
181
+ templateId: undefined,
182
+ admissionId: undefined,
183
+ // 保存类型
184
+ saveType: 'normal',
185
+ fileName: '',
186
+ // 数据模式列表
187
+ modeList: [
188
+ {
189
+ label: '预览',
190
+ value: 'readonly'
191
+ },
192
+ {
193
+ label: '表单',
194
+ value: 'form'
195
+ },
196
+ {
197
+ label: '设计',
198
+ value: 'design'
199
+ }
200
+ ],
201
+ // 编辑器实例
202
+ editorRef: null,
203
+
204
+ // 文档资源列表
205
+ resList: [],
206
+ // 文档资源ID
207
+ resId: undefined,
208
+ // 文档链接
209
+ fileUrl: undefined,
210
+ // 文档绑定数据
211
+ bindObject: undefined,
212
+ // 合并模板数据后文档数据
213
+ assignBindObject: undefined,
214
+ // 数据模式 template:模板编辑;data:数据编辑
215
+ dataMode: undefined,
216
+ // 保存数据调用的Logic名称
217
+ saveDataLogicName: undefined,
218
+ // 保存数据调用Logic传入的额外参数
219
+ logicExtraParams: undefined,
220
+ // 服务名
221
+ serviceName: undefined,
222
+ // 当前文档信息
223
+ currResData: {},
224
+ // 切换的文档id
225
+ toggleResId: undefined,
226
+ // 待提交的修改信息
227
+ modifyResModel: {},
228
+ codeData: {},
229
+ resRules: {
230
+ f_file_name: [{ required: true, message: '请输入文档名', trigger: 'blur' }],
231
+ }
232
+ }
233
+ },
234
+ // 初始化 保存后 加载文件后 诊断选择
235
+ emits: ['init', 'saveafter', 'afterLoadFile', 'selected'],
236
+ methods: {
237
+ runLogic,
238
+ /* eslint-disable */
239
+ async initDiagnosisAutocomplete (dropDownBoxParams) {
240
+ console.log('dropDownBoxParams',dropDownBoxParams)
241
+ if (!this.editorRef || !this.editorRef.document) {
242
+ return
243
+ }
244
+
245
+ // 添加参数检查
246
+ if (!dropDownBoxParams || !Array.isArray(dropDownBoxParams) || dropDownBoxParams.length === 0) {
247
+ return
248
+ }
249
+
250
+ // 创建一个简单的自定义事件系统
251
+ // 1. 创建一个隐藏的DOM元素作为事件通道
252
+ const eventChannel = this.editorRef.document.createElement('div');
253
+ eventChannel.id = 'diagnosis-event-channel';
254
+ eventChannel.style.display = 'none';
255
+ this.editorRef.document.body.appendChild(eventChannel);
256
+ // 2. 在iframe文档中监听自定义事件
257
+ const that = this;
258
+ this.editorRef.document.addEventListener('diagnosis-selected', function(e) {
259
+ if (e && e.detail) {
260
+ that.$emit('selected', { item: e.detail, editor: that.editorRef });
261
+ that.codeData = { ...that.codeData, ...{[e.detail.codeKey]: e.detail.code} }
262
+ }
263
+ });
264
+
265
+ for (const param of dropDownBoxParams) {
266
+ if (param.identificationCode && param.dataLogic) {
267
+ try {
268
+ let preliDiagnoData = null
269
+ // 保留获取后端数据的逻辑
270
+ await runLogic(param.dataLogic,
271
+ {}, 'af-his').then(res => {
272
+ preliDiagnoData = res
273
+ })
274
+
275
+ // 创建脚本元素
276
+ const scriptElement = this.editorRef.document.createElement('script')
277
+
278
+ // 注入自定义事件触发函数和初始化代码
279
+ scriptElement.textContent = `
280
+ // 定义一个函数来触发自定义事件
281
+ function triggerDiagnosisSelected(data) {
282
+ const event = new CustomEvent('diagnosis-selected', {
283
+ detail: data,
284
+ bubbles: true
285
+ });
286
+ document.dispatchEvent(event);
287
+ }
288
+
289
+ // 初始化诊断下拉菜单,使用自定义事件触发函数
290
+ (${initDiagnosisDropdown.toString()})(
291
+ editor,
292
+ ${JSON.stringify(preliDiagnoData)},
293
+ '${param.identificationCode}',
294
+ triggerDiagnosisSelected
295
+ );
296
+ `;
297
+
298
+ this.editorRef.document.body.appendChild(scriptElement);
299
+ } catch (error) {
300
+ console.error('初始化诊断自动完成失败:', error);
301
+ }
302
+ }
303
+ }
304
+ },
305
+ showSaveModal (type) {
306
+ this.saveType = type // 记录当前保存类型
307
+ if (type === 'template') {
308
+ this.saveVisible = true
309
+ }else {
310
+ if (this.resId !== -1 || this.resId !== undefined) {
311
+ this.save()
312
+ } else {
313
+ this.openAddResModal()
314
+ }
315
+ }
316
+
317
+ },
318
+ handleSaveConfirm () {
319
+ if (!this.fileName.trim()) {
320
+ this.$message.error('文件名不能为空')
321
+ return
322
+ }
323
+ this.saveAsTemplate()
324
+ },
325
+ /* eslint-disable */
326
+ // 初始化文档
327
+ onload (e) {
328
+ if (e && e.target && e.target.contentWindow) {
329
+ this.editorRef = e.target.contentWindow.editor
330
+ // 等待文档加载完成
331
+ this.$emit('init', {})
332
+ }
333
+ },
334
+ init (params) {
335
+ const {
336
+ fileUrl,
337
+ resId,
338
+ currResData = {},
339
+ bindObject,
340
+ saveDataLogicName,
341
+ logicExtraParams,
342
+ dropDownBoxParams,
343
+ serviceName,
344
+ showModeChoose = true,
345
+ modeType = 'form'
346
+ } = params
347
+ this.resId = resId
348
+ if (bindObject) {
349
+ this.dataMode = 'data'
350
+ this.bindObject = bindObject
351
+ } else {
352
+ this.dataMode = 'template'
353
+ }
354
+ if (logicExtraParams?.admissionId !== undefined && logicExtraParams?.templateId !== undefined) {
355
+ this.admissionId = logicExtraParams.admissionId
356
+ this.templateId = logicExtraParams.templateId
357
+ } else {
358
+ console.warn('病例id:admissionId不存在或模板id:templateId不存在')
359
+ }
360
+ this.saveDataLogicName = saveDataLogicName
361
+ this.logicExtraParams = logicExtraParams
362
+ this.serviceName = serviceName
363
+ this.showModeChoose = showModeChoose
364
+ this.modeType = (modeType === "readonly!" ? "readonly" :modeType)
365
+ this.readonly = (modeType !== "readonly!")
366
+ this.ready = true
367
+ // 先加载文件
368
+ this.loadFile(fileUrl, bindObject, currResData).then(async () => {
369
+ // 文件加载完成后再初始化自动完成
370
+ await this.initDiagnosisAutocomplete(dropDownBoxParams)
371
+ })
372
+ this.loadResList()
373
+ },
374
+ // 加载文档
375
+ loadFile (fileUrl, bindObject, currResData) {
376
+ this.loading = true
377
+ return new Promise((resolve) => {
378
+ this.editorRef.loadUrl(fileUrl).then(() => {
379
+ if (bindObject) {
380
+ this.editorRef.setBindObject(bindObject)
381
+ if (bindObject.template) {
382
+ for (const key of Object.keys(bindObject.template)) {
383
+ this.editorRef.bindDataList(key, bindObject.template[key])
384
+ }
385
+ }
386
+ }
387
+ // 拿取多于模板中的数据
388
+ const diff = this.bindObject? Object.fromEntries(
389
+ Object.entries(this.bindObject)
390
+ .filter(([key]) => !(key in this.editorRef.getBindObject()))
391
+ ) : {}
392
+ this.codeData = {...this.codeData,...diff}
393
+ this.changeMode()
394
+ this.fileUrl = fileUrl
395
+ if (!currResData.f_file_name) {
396
+ currResData.f_file_name = '未命名'
397
+ }
398
+ this.currResData = currResData
399
+ this.loading = false
400
+ this.$emit('afterLoadFile', {})
401
+ resolve()
402
+ })
403
+ })
404
+ },
405
+ // 保存并作为模板
406
+ saveAsTemplate () {
407
+ this.isTemplate = 1
408
+ this.save()
409
+ },
410
+ // 加载文档列表
411
+ loadResList () {
412
+ runLogic('getTemplateListLogic', this.logicExtraParams, this.serviceName).then(res => {
413
+ this.resList = res
414
+ this.toggleResId = this.resId
415
+ })
416
+ },
417
+ // 修改模式
418
+ changeMode (e) {
419
+ this.editorRef.execCommand(this.modeType)
420
+ },
421
+ // 启动录音功能
422
+ async Recording () {
423
+ this.recording = !this.recording
424
+ if (this.recording) {
425
+ const recording = await this.$recording.startRecording()
426
+ this.$message.warn(recording.msg)
427
+ } else {
428
+ try {
429
+ // 1. 获取录音和接口数据
430
+ const recording = this.$recording.stopRecording()
431
+ this.$message.warn(recording.msg)
432
+ const data = await this.$recording.getRecordingData()
433
+ const result = await this.runLogic('communacation', {record_content: data}, 'af-his')
434
+ // 验证基础结构
435
+ if (!result || typeof result.value !== 'string') {
436
+ throw new Error('接口返回格式错误,缺少有效的value字段')
437
+ }
438
+ // 2. 处理外层JSON字符串(关键修复)
439
+ let outerJsonStr = result.value
440
+ // 修复1:处理布尔值
441
+ outerJsonStr = outerJsonStr.replace(/\bTrue\b/g, 'true')
442
+ // 修复2:移除所有控制字符
443
+ outerJsonStr = outerJsonStr.replace(/[\x00-\x1F]/g, '')
444
+ // 修复3:精准转义data字段内的双引号
445
+ // 匹配 "data": "..." 结构并转义内容中的双引号
446
+ outerJsonStr = outerJsonStr.replace(/"data":\s*"([^"]*)"/g, (match, content) => {
447
+ // 转义内容中的双引号为\"
448
+ const escapedContent = content.replace(/"/g, '\\"')
449
+ return `"data": "${escapedContent}"`
450
+ })
451
+ // 直接在整个字符串里匹配 ```json{...}```
452
+ const regex = /```json([\s\S]*?)```/
453
+ const match = outerJsonStr.match(regex)
454
+ let extractedJsonStr = ''
455
+ if (match && match[1]) {
456
+ extractedJsonStr = match[1].trim()
457
+ }
458
+ const outerObj = JSON.parse(extractedJsonStr)
459
+ console.log("outerObj = ", outerObj)
460
+ } catch (e) {
461
+ console.error('总错误:', e.message)
462
+ this.$message.error(`解析失败: ${e.message}`)
463
+ }
464
+ }
465
+ },
466
+ // 打开文档信息修改面板
467
+ openRenameModal () {
468
+ this.resDataModalMode = 'modify'
469
+ this.modifyResModel = {
470
+ f_file_name: this.currResData.f_file_name
471
+ }
472
+ this.resDataModalVisible = true
473
+ },
474
+ // 提交文档信息修改
475
+ onSubmit () {
476
+ this.$refs.resModifyForm.validate(valid => {
477
+ if (valid) {
478
+ if (this.resDataModalMode === 'modify' && this.modifyResModel.f_file_name === this.currResData.f_file_name) {
479
+ this.$message.warn('新文档名不能与原文档名一致!')
480
+ return false
481
+ }
482
+ this.save()
483
+ return true
484
+ } else {
485
+ return false
486
+ }
487
+ })
488
+ },
489
+ // 打开文档新建面板
490
+ openAddResModal () {
491
+ this.resDataModalMode = 'add'
492
+ this.modifyResModel = {
493
+ f_file_name: undefined
494
+ }
495
+ this.resDataModalVisible = true
496
+ },
497
+ // 新建文档
498
+ addRes () {
499
+ this.$emit('add', {})
500
+ // const params = Object.assign({
501
+ // isAddForce: true
502
+ // }, this.logicExtraParams)
503
+ // this.reload(params)
504
+ },
505
+ // 重新加载
506
+ reload (params) {
507
+ runLogic('getFileInformation', params, this.serviceName).then(res => {
508
+ this.resDataModalVisible = false
509
+ this.assignBindObject = this.assignTemplates(this.bindObject, res.bindObject)
510
+ this.useTemplateData()
511
+ // this.init({
512
+ // modeType: this.modeType,
513
+ // fileUrl: res.url,
514
+ // resId: res.id,
515
+ // currResData: res.currResData,
516
+ // bindObject: res.bindObject,
517
+ // saveDataLogicName: this.saveDataLogicName,
518
+ // serviceName: this.serviceName,
519
+ // logicExtraParams: this.logicExtraParams,
520
+ // dropDownBoxParams: this.dropDownBoxParams
521
+ // })
522
+ })
523
+ },
524
+ // 合并模板数据
525
+ assignTemplates (newBindObject, templateData) {
526
+ // 检查templates数组是否存在
527
+ if (!templateData.templates || !Array.isArray(templateData.templates)) {
528
+ console.warn('templateData.templates不存在或不是数组')
529
+ return newBindObject
530
+ }
531
+ // 遍历templates数组中的每个属性名
532
+ templateData.templates.forEach(propName => {
533
+ // 检查templateData是否有该属性
534
+ if (propName in templateData) {
535
+ // 无论newBindObject是否有该属性,都进行赋值/添加
536
+ newBindObject[propName] = templateData[propName]
537
+ } else {
538
+ console.warn(`templateData中不存在属性: ${propName}`)
539
+ }
540
+ })
541
+ return newBindObject
542
+ },
543
+ useTemplateData () {
544
+ // 确认是否有合并后的模板数据
545
+ if (!this.assignBindObject) {
546
+ this.$message.warning('没有可用的模板数据');
547
+ return;
548
+ }
549
+ this.editorRef.setBindObject(this.assignBindObject)
550
+ // console.log('resId', this.resId)
551
+ },
552
+ // 切换文档
553
+ changeRes (value) {
554
+ console.log('value', value)
555
+ let params = {
556
+ resId: value
557
+ }
558
+ if (value === -1) {
559
+ params = {
560
+ ...params,
561
+ admissionId: this.admissionId,
562
+ f_template_id: this.templateId
563
+ }
564
+ const that = this
565
+ this.$confirm({
566
+ title: '确认切换文档吗?',
567
+ content: '您有尚未保存的文档,切换文档将丢失所有的修改',
568
+ onOk () {
569
+ that.reload(params)
570
+ // that.userTemplateVisible = true
571
+ },
572
+ onCancel () {
573
+ that.toggleResId = that.resId
574
+ },
575
+ })
576
+ } else {
577
+ this.reload(params)
578
+ }
579
+ },
580
+ // 保存文档
581
+ save () {
582
+ // 验证必须输入项
583
+ if (this.editorRef.validate()) {
584
+ // 获取HTML文档和结构化数据(JSON)
585
+ console.log('save',this.editorRef.getBindObject())
586
+ const data = {
587
+ doc: this.editorRef.getHtml(),
588
+ dataObject: {
589
+ ...this.editorRef.getBindObject(),
590
+ ...this.codeData // 合并 codeData 数据
591
+ },
592
+ dataMode: this.dataMode,
593
+ resId: this.resId,
594
+ modifyResModel: this.modifyResModel,
595
+ logicExtraParams: this.logicExtraParams,
596
+ is_template: this.isTemplate,
597
+ f_file_name: this.fileName
598
+ }
599
+ // 保存HTML文档和结构化数据到后端服务
600
+ runLogic(this.saveDataLogicName, data, this.serviceName).then(res => {
601
+ this.$message.success('保存成功')
602
+ this.changeRes(res.currResData.id)
603
+ this.$emit('saveafter', data.dataObject)
604
+ }).finally(() => {
605
+ this.resDataModalVisible = false
606
+ this.saveVisible = false
607
+ })
608
+ } else {
609
+ this.$message.error('请检查未填写的项目')
610
+ }
611
+ },
612
+ // 打印文档
613
+ print () {
614
+ this.editorRef.execCommand('print')
615
+ },
616
+ // 关闭编辑器
617
+ close () {
618
+ this.ready = false
619
+ },
620
+ // 刷新文档
621
+ refresh () {
622
+ this.loadFile(this.fileUrl, this.bindObject, this.currResData)
623
+ },
624
+ // 导出下拉菜单
625
+ handleExportMenuClick (e) {
626
+ const key = e.key
627
+ this.editorRef.execCommand(key)
628
+ }
629
+ }
630
+ }
631
+ </script>
632
+ <style scoped lang="less">
633
+ .editor-action-container {
634
+ height: 40px;
635
+ }
636
+ :deep(.ant-divider-horizontal) {
637
+ margin: 4px 0;
638
+ }
639
+ /* 组合按钮容器 - 关键修正 */
640
+ .combined-save-btn {
641
+ display: inline-flex;
642
+ height: 32px;
643
+ }
644
+
645
+ /* 主保存按钮 - 保持原有样式 */
646
+ .save-btn-main {
647
+ border-top-right-radius: 0 !important;
648
+ border-bottom-right-radius: 0 !important;
649
+ border-right: none !important;
650
+ height: 32px;
651
+ padding: 0 15px;
652
+ display: inline-flex;
653
+ align-items: center;
654
+ justify-content: center;
655
+ margin-right: -1px; /* 关键:负边距消除间距 */
656
+ }
657
+
658
+ /* 下拉按钮 - 仅调整间距 */
659
+ .dropdown-trigger-btn {
660
+ height: 32px !important;
661
+ width: 24px !important;
662
+ min-width: 24px !important;
663
+ padding: 0 !important;
664
+ border-top-left-radius: 0 !important;
665
+ border-bottom-left-radius: 0 !important;
666
+ border-left: 1px solid rgba(255, 255, 255, 0.3) !important;
667
+ display: inline-flex;
668
+ align-items: center;
669
+ justify-content: center;
670
+ margin-left: 0px;
671
+ }
672
+
673
+ /* 下拉图标保持原样 */
674
+ .dropdown-trigger-btn .anticon {
675
+ font-size: 12px;
676
+ margin: 0 !important;
677
+ }
678
+ </style>