vue2-client 1.18.65 → 1.18.67

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 (95) hide show
  1. package/.claude/settings.local.json +28 -28
  2. package/.eslintrc.js +74 -74
  3. package/Components.md +60 -60
  4. package/docs/index.md +30 -30
  5. package/index.js +31 -31
  6. package/jest-transform-stub.js +8 -8
  7. package/jest.setup.js +7 -7
  8. package/package.json +1 -1
  9. package/src/assets/img/querySlotDemo.svg +15 -15
  10. package/src/assets/svg/female.svg +1 -1
  11. package/src/assets/svg/male.svg +1 -1
  12. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  13. package/src/base-client/components/common/CitySelect/index.js +3 -3
  14. package/src/base-client/components/common/CitySelect/index.md +109 -109
  15. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  16. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  17. package/src/base-client/components/common/HIS/HFormGroup/index.js +3 -3
  18. package/src/base-client/components/common/HIS/HTab/HTab.vue +23 -11
  19. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  20. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  21. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  22. package/src/base-client/components/common/Tree/index.js +2 -2
  23. package/src/base-client/components/common/Upload/index.js +3 -3
  24. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  25. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  26. package/src/base-client/components/common/XCollapse/XCollapse.vue +830 -830
  27. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  28. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  29. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  30. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  31. package/src/base-client/components/common/XDescriptions/index.md +322 -322
  32. package/src/base-client/components/common/XForm/index.md +178 -178
  33. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  34. package/src/base-client/components/common/XStepView/index.js +3 -3
  35. package/src/base-client/components/common/XStepView/index.md +31 -31
  36. package/src/base-client/components/common/XTable/XTable.vue +1715 -1715
  37. package/src/base-client/components/common/XTable/XTableWrapper.vue +786 -786
  38. package/src/base-client/components/common/XTable/index.md +255 -255
  39. package/src/base-client/components/common/XTimeline/XTimeline.vue +477 -477
  40. package/src/base-client/components/his/XHDescriptions/XHDescriptions.vue +217 -4
  41. package/src/base-client/components/his/XTimeSelect/XTimeSelect.vue +354 -354
  42. package/src/base-client/components/his/XTitle/XTitle.vue +13 -3
  43. package/src/base-client/components/his/threeTestOrders/editor.vue +113 -113
  44. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  45. package/src/base-client/plugins/Config.js +19 -19
  46. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  47. package/src/components/Charts/Bar.vue +62 -62
  48. package/src/components/Charts/ChartCard.vue +134 -134
  49. package/src/components/Charts/Liquid.vue +67 -67
  50. package/src/components/Charts/MiniArea.vue +39 -39
  51. package/src/components/Charts/MiniBar.vue +39 -39
  52. package/src/components/Charts/MiniProgress.vue +75 -75
  53. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  54. package/src/components/Charts/Radar.vue +68 -68
  55. package/src/components/Charts/RankList.vue +77 -77
  56. package/src/components/Charts/TagCloud.vue +113 -113
  57. package/src/components/Charts/TransferBar.vue +64 -64
  58. package/src/components/Charts/Trend.vue +82 -82
  59. package/src/components/Charts/chart.less +12 -12
  60. package/src/components/Charts/smooth.area.less +13 -13
  61. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  62. package/src/components/NumberInfo/index.js +3 -3
  63. package/src/components/NumberInfo/index.less +54 -54
  64. package/src/components/NumberInfo/index.md +43 -43
  65. package/src/components/card/ChartCard.vue +79 -79
  66. package/src/components/chart/Bar.vue +60 -60
  67. package/src/components/chart/MiniArea.vue +67 -67
  68. package/src/components/chart/MiniBar.vue +59 -59
  69. package/src/components/chart/MiniProgress.vue +57 -57
  70. package/src/components/chart/Radar.vue +80 -80
  71. package/src/components/chart/RankingList.vue +60 -60
  72. package/src/components/chart/Trend.vue +79 -79
  73. package/src/components/chart/index.less +9 -9
  74. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  75. package/src/components/input/IInput.vue +66 -66
  76. package/src/components/menu/SideMenu.vue +75 -75
  77. package/src/components/menu/menu.js +273 -273
  78. package/src/components/tool/AStepItem.vue +60 -60
  79. package/src/layouts/CommonLayout.vue +56 -56
  80. package/src/layouts/header/HeaderNotice.vue +177 -177
  81. package/src/lib.js +1 -1
  82. package/src/mock/extend/index.js +84 -84
  83. package/src/mock/goods/index.js +108 -108
  84. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  85. package/src/pages/system/dictionary/index.vue +44 -44
  86. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  87. package/src/pages/system/monitor/operLog/index.vue +37 -37
  88. package/src/pages/userInfoDetailManage/ExceptionRecordQuery/index.vue +45 -45
  89. package/src/services/api/cas.js +79 -79
  90. package/src/store/modules/setting.js +119 -119
  91. package/src/utils/authority-utils.js +85 -85
  92. package/src/utils/errorCode.js +6 -6
  93. package/src-base-client/components/common/HIS/HForm/HForm.vue +347 -0
  94. package/src-base-client/components/common/XCollapse/XCollapse.vue +0 -0
  95. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
@@ -117,7 +117,17 @@ const parseConfig = (data) => {
117
117
  config.value.clickName = ''
118
118
  return
119
119
  }
120
-
120
+ // 判断是否有 display 属性
121
+ if (attrs.display === true || attrs.display === '' || attrs.display === 'true') {
122
+ // 有 display 属性时:整个字符串作为标题,不分隔
123
+ config.value.label = data
124
+ config.value.type = 'title'
125
+ config.value.line = ''
126
+ config.value.color = ''
127
+ config.value.lineLength = ''
128
+ config.value.clickName = ''
129
+ return
130
+ }
121
131
  if (!data) return
122
132
 
123
133
  const parts = data.includes('-') ? data.split('-') : data === 'line' ? ['', 'title', 'line'] : [data]
@@ -243,8 +253,8 @@ onMounted(() => {
243
253
  &.x-title-container,
244
254
  .x-title-container {
245
255
  :deep(.title-dot) {
246
- width: 14px;
247
- height: 14px;
256
+ width: 12px;
257
+ height: 12px;
248
258
  margin-right: 8px;
249
259
  flex-shrink: 0;
250
260
  }
@@ -1,113 +1,113 @@
1
- <template>
2
- <!-- 根据实际部署环境修改 editor.html 的路径 -->
3
- <iframe
4
- src="/his/editor/editor.html"
5
- width="100%"
6
- height="800"
7
- frameborder="0"
8
- @load="onIframeLoad"
9
- ref="editorIframe">
10
- </iframe>
11
- </template>
12
-
13
- <script setup>
14
-
15
- import { ref, onBeforeUnmount } from 'vue'
16
-
17
- const editorIframe = ref(null)
18
- const checkEditorTimer = ref(null)
19
- const checkCount = ref(0)
20
- const editor = ref(null)
21
- const iframeWindow = ref(null)
22
- // 对外暴露的获取editor方法
23
- const getEditor = () => {
24
- if (editor.value) {
25
- return editor.value
26
- }
27
- if (iframeWindow.value && iframeWindow.value.editor) {
28
- editor.value = iframeWindow.value.editor
29
- return editor.value
30
- }
31
- if (editorIframe.value && editorIframe.value.contentWindow && editorIframe.value.contentWindow.editor) {
32
- editor.value = editorIframe.value.contentWindow.editor
33
- return editor.value
34
- }
35
- return null
36
- }
37
- // 创建体温单方法
38
- const createVitalSigns = (data) => {
39
- const editorObj = getEditor()
40
- if (!editorObj) {
41
- throw new Error('editor对象未初始化,无法创建体温单')
42
- }
43
- if (typeof editorObj.createVitalSigns === 'function') {
44
- return editorObj.createVitalSigns(data)
45
- } else {
46
- throw new Error('editor对象未包含createVitalSigns方法')
47
- }
48
- }
49
-
50
- // 检查editor对象是否已初始化
51
- const startEditorCheck = (frameWindow, iframe) => {
52
- if (checkEditorTimer.value) {
53
- clearInterval(checkEditorTimer.value)
54
- }
55
- checkCount.value = 0
56
- checkEditorTimer.value = setInterval(() => {
57
- checkCount.value++
58
- try {
59
- const editorObj = frameWindow.editor
60
- if (editorObj && typeof editorObj.createVitalSigns === 'function') {
61
- clearInterval(checkEditorTimer.value)
62
- editor.value = editorObj
63
- // 将editor对象暴露到全局
64
- window.iframeEditor = editorObj
65
- window.iframeWindow = frameWindow
66
- // 触发事件
67
- emit('editor-ready', editorObj)
68
- emit('load', { target: iframe, editor: editorObj })
69
- // 发送消息通知
70
- window.parent.postMessage({ type: 'editorReady' }, '*')
71
- }
72
- } catch (err) {
73
- console.error('检查editor对象时出错:', err)
74
- }
75
- if (checkCount.value >= 20) {
76
- clearInterval(checkEditorTimer.value)
77
- console.error('Editor 对象加载失败')
78
- }
79
- }, 500)
80
- }
81
- // iframe加载完成的处理
82
- const onIframeLoad = (e) => {
83
- const iframe = e.target
84
- const frameWindow = iframe.contentWindow
85
- iframeWindow.value = frameWindow
86
- if (!frameWindow) {
87
- console.error('无法访问 iframe 内容')
88
- return
89
- }
90
- // 关闭文书工具栏
91
- iframe.contentWindow.editor.option.toolbar = false
92
- startEditorCheck(frameWindow, iframe)
93
- }
94
- // 组件销毁前清理
95
- onBeforeUnmount(() => {
96
- if (checkEditorTimer.value) {
97
- clearInterval(checkEditorTimer.value)
98
- }
99
- })
100
- // 暴露方法给父组件
101
- defineExpose({ getEditor, createVitalSigns })
102
-
103
- // 定义事件
104
- const emit = defineEmits(['editor-ready', 'load'])
105
- </script>
106
-
107
- <style scoped>
108
- iframe {
109
- border: none;
110
- width: 100%;
111
- min-height: 800px;
112
- }
113
- </style>
1
+ <template>
2
+ <!-- 根据实际部署环境修改 editor.html 的路径 -->
3
+ <iframe
4
+ src="/his/editor/editor.html"
5
+ width="100%"
6
+ height="800"
7
+ frameborder="0"
8
+ @load="onIframeLoad"
9
+ ref="editorIframe">
10
+ </iframe>
11
+ </template>
12
+
13
+ <script setup>
14
+
15
+ import { ref, onBeforeUnmount } from 'vue'
16
+
17
+ const editorIframe = ref(null)
18
+ const checkEditorTimer = ref(null)
19
+ const checkCount = ref(0)
20
+ const editor = ref(null)
21
+ const iframeWindow = ref(null)
22
+ // 对外暴露的获取editor方法
23
+ const getEditor = () => {
24
+ if (editor.value) {
25
+ return editor.value
26
+ }
27
+ if (iframeWindow.value && iframeWindow.value.editor) {
28
+ editor.value = iframeWindow.value.editor
29
+ return editor.value
30
+ }
31
+ if (editorIframe.value && editorIframe.value.contentWindow && editorIframe.value.contentWindow.editor) {
32
+ editor.value = editorIframe.value.contentWindow.editor
33
+ return editor.value
34
+ }
35
+ return null
36
+ }
37
+ // 创建体温单方法
38
+ const createVitalSigns = (data) => {
39
+ const editorObj = getEditor()
40
+ if (!editorObj) {
41
+ throw new Error('editor对象未初始化,无法创建体温单')
42
+ }
43
+ if (typeof editorObj.createVitalSigns === 'function') {
44
+ return editorObj.createVitalSigns(data)
45
+ } else {
46
+ throw new Error('editor对象未包含createVitalSigns方法')
47
+ }
48
+ }
49
+
50
+ // 检查editor对象是否已初始化
51
+ const startEditorCheck = (frameWindow, iframe) => {
52
+ if (checkEditorTimer.value) {
53
+ clearInterval(checkEditorTimer.value)
54
+ }
55
+ checkCount.value = 0
56
+ checkEditorTimer.value = setInterval(() => {
57
+ checkCount.value++
58
+ try {
59
+ const editorObj = frameWindow.editor
60
+ if (editorObj && typeof editorObj.createVitalSigns === 'function') {
61
+ clearInterval(checkEditorTimer.value)
62
+ editor.value = editorObj
63
+ // 将editor对象暴露到全局
64
+ window.iframeEditor = editorObj
65
+ window.iframeWindow = frameWindow
66
+ // 触发事件
67
+ emit('editor-ready', editorObj)
68
+ emit('load', { target: iframe, editor: editorObj })
69
+ // 发送消息通知
70
+ window.parent.postMessage({ type: 'editorReady' }, '*')
71
+ }
72
+ } catch (err) {
73
+ console.error('检查editor对象时出错:', err)
74
+ }
75
+ if (checkCount.value >= 20) {
76
+ clearInterval(checkEditorTimer.value)
77
+ console.error('Editor 对象加载失败')
78
+ }
79
+ }, 500)
80
+ }
81
+ // iframe加载完成的处理
82
+ const onIframeLoad = (e) => {
83
+ const iframe = e.target
84
+ const frameWindow = iframe.contentWindow
85
+ iframeWindow.value = frameWindow
86
+ if (!frameWindow) {
87
+ console.error('无法访问 iframe 内容')
88
+ return
89
+ }
90
+ // 关闭文书工具栏
91
+ iframe.contentWindow.editor.option.toolbar = false
92
+ startEditorCheck(frameWindow, iframe)
93
+ }
94
+ // 组件销毁前清理
95
+ onBeforeUnmount(() => {
96
+ if (checkEditorTimer.value) {
97
+ clearInterval(checkEditorTimer.value)
98
+ }
99
+ })
100
+ // 暴露方法给父组件
101
+ defineExpose({ getEditor, createVitalSigns })
102
+
103
+ // 定义事件
104
+ const emit = defineEmits(['editor-ready', 'load'])
105
+ </script>
106
+
107
+ <style scoped>
108
+ iframe {
109
+ border: none;
110
+ width: 100%;
111
+ min-height: 800px;
112
+ }
113
+ </style>