vue2-client 1.14.94 → 1.14.95

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 (139) hide show
  1. package/docs/Logic/345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +0 -1
  2. package/docs//345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +2 -4
  3. package/package.json +1 -1
  4. package/src/base-client/components/common/XTab/XTab.vue +40 -8
  5. package/src/base-client/components/common/XTable/XTable.vue +23 -21
  6. package/src/base-client/components/his/XList/XList.vue +35 -35
  7. package/src/base-client/components/his/XQuestionnaire/XQuestionnaireItem.vue +7 -6
  8. package/src/base-client/components/his/XShiftSchedule/XShiftSchedule.vue +1 -1
  9. package/src/base-client/components/his/XTextCard/XTextCard.vue +207 -207
  10. package/src/base-client/components/his/XTreeRows/TreeNode.vue +100 -100
  11. package/src/base-client/components/his/XTreeRows/XTreeRows.vue +197 -197
  12. package/src/base-client/components/his/threeTestOrders/editor.vue +111 -111
  13. package/src/base-client/components/layout/XPageView/RenderRow.vue +30 -32
  14. package/src/base-client/components/layout/XPageView/XPageRowTemplate.vue +37 -0
  15. package/src/base-client/components/layout/XPageView/XPageView.vue +10 -9
  16. package/src/base-client/components/layout/XPageView/XTab/XTab.vue +96 -0
  17. package/src/base-client/components/layout/XPageView/XTab/index.js +3 -0
  18. package/src/base-client/components/layout/XPageView/componentTypes.js +22 -0
  19. package/src/base-client/components/layout/XPageView/index.js +1 -0
  20. package/src/base-client/components/layout/XPageView/index.md +19 -0
  21. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandle.vue +10 -4
  22. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowTimeline.vue +1 -1
  23. package/src/pages/XPageViewExample/index.vue +125 -47
  24. package/src/pages/addressSelect/addressDemo.vue +24 -24
  25. package/.history/public/his/editor/editor_20250606134713.html +0 -51
  26. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527173925.vue +0 -509
  27. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174316.vue +0 -524
  28. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174419.vue +0 -524
  29. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174422.vue +0 -524
  30. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172825.vue +0 -207
  31. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172945.vue +0 -211
  32. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172949.vue +0 -212
  33. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611173010.vue +0 -212
  34. package/.history/src/base-client/components/common/XForm/XFormItem_20250508134122.vue +0 -1320
  35. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171604.vue +0 -1332
  36. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171613.vue +0 -1331
  37. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171703.vue +0 -1331
  38. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171720.vue +0 -1331
  39. package/.history/src/base-client/components/common/XForm/XFormItem_20250527174327.vue +0 -1339
  40. package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612092804.vue +0 -731
  41. package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612112546.vue +0 -748
  42. package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612113808.vue +0 -748
  43. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115237.vue +0 -1071
  44. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115346.vue +0 -1078
  45. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115350.vue +0 -1077
  46. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115415.vue +0 -1077
  47. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115429.vue +0 -1077
  48. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611091619.vue +0 -442
  49. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092547.vue +0 -442
  50. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092552.vue +0 -442
  51. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092744.vue +0 -475
  52. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092955.vue +0 -475
  53. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092957.vue +0 -475
  54. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095652.vue +0 -477
  55. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095701.vue +0 -477
  56. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095704.vue +0 -477
  57. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100005.vue +0 -473
  58. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100011.vue +0 -473
  59. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100014.vue +0 -473
  60. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100833.vue +0 -473
  61. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100853.vue +0 -473
  62. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100940.vue +0 -473
  63. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101011.vue +0 -473
  64. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101013.vue +0 -473
  65. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101014.vue +0 -473
  66. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101159.vue +0 -473
  67. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101238.vue +0 -474
  68. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101240.vue +0 -474
  69. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101242.vue +0 -474
  70. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101404.vue +0 -472
  71. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101410.vue +0 -472
  72. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101459.vue +0 -472
  73. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101500.vue +0 -472
  74. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101502.vue +0 -472
  75. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101504.vue +0 -472
  76. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101610.vue +0 -501
  77. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101700.vue +0 -501
  78. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101702.vue +0 -501
  79. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101741.vue +0 -504
  80. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101749.vue +0 -504
  81. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101759.vue +0 -504
  82. package/.history/src/base-client/components/his/XHisEditor/dome_20250611091349.vue +0 -131
  83. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105854.vue +0 -160
  84. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105902.vue +0 -160
  85. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105924.vue +0 -160
  86. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105932.vue +0 -158
  87. package/.history/src/base-client/components/his/XList/XList_20250609135848.vue +0 -173
  88. package/.history/src/base-client/components/his/XList/XList_20250609141026.vue +0 -222
  89. package/.history/src/base-client/components/his/XList/XList_20250609141035.vue +0 -229
  90. package/.history/src/base-client/components/his/XList/XList_20250609141103.vue +0 -229
  91. package/.history/src/base-client/components/his/XList/XList_20250609141105.vue +0 -229
  92. package/.history/src/base-client/components/his/XList/XList_20250609141334.vue +0 -241
  93. package/.history/src/base-client/components/his/XList/XList_20250609141404.vue +0 -241
  94. package/.history/src/base-client/components/his/XList/XList_20250609141406.vue +0 -241
  95. package/.history/src/base-client/components/his/XList/XList_20250609141801.vue +0 -245
  96. package/.history/src/base-client/components/his/XList/XList_20250609142033.vue +0 -245
  97. package/.history/src/base-client/components/his/XList/XList_20250609142038.vue +0 -245
  98. package/.history/src/base-client/components/his/XList/XList_20250609142435.vue +0 -255
  99. package/.history/src/base-client/components/his/XList/XList_20250609142503.vue +0 -255
  100. package/.history/src/base-client/components/his/XList/XList_20250609142504.vue +0 -255
  101. package/.history/src/base-client/components/his/XList/XList_20250609143012.vue +0 -270
  102. package/.history/src/base-client/components/his/XList/XList_20250609143044.vue +0 -270
  103. package/.history/src/base-client/components/his/XList/XList_20250609143046.vue +0 -270
  104. package/.history/src/base-client/components/his/XList/XList_20250609143210.vue +0 -270
  105. package/.history/src/base-client/components/his/XList/XList_20250609144339.vue +0 -294
  106. package/.history/src/base-client/components/his/XList/XList_20250609144410.vue +0 -294
  107. package/.history/src/base-client/components/his/XList/XList_20250609144412.vue +0 -294
  108. package/.history/src/base-client/components/his/XList/XList_20250609144647.vue +0 -303
  109. package/.history/src/base-client/components/his/XList/XList_20250609144716.vue +0 -303
  110. package/.history/src/base-client/components/his/XList/XList_20250609144729.vue +0 -303
  111. package/.history/src/base-client/components/his/XList/XList_20250609151232.vue +0 -288
  112. package/.history/src/base-client/components/his/XList/XList_20250609151247.vue +0 -288
  113. package/.history/src/base-client/components/his/XList/XList_20250609151252.vue +0 -288
  114. package/.history/src/base-client/components/his/XList/XList_20250609161220.vue +0 -317
  115. package/.history/src/base-client/components/his/XList/XList_20250609161258.vue +0 -306
  116. package/.history/src/base-client/components/his/XList/XList_20250609161319.vue +0 -306
  117. package/.history/src/base-client/components/his/XList/XList_20250609161320.vue +0 -306
  118. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250609151519.vue +0 -222
  119. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250612155514.vue +0 -183
  120. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250612155556.vue +0 -183
  121. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250612155600.vue +0 -183
  122. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250612181609.vue +0 -206
  123. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250612181629.vue +0 -209
  124. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613095553.vue +0 -242
  125. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613095610.vue +0 -242
  126. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613095612.vue +0 -242
  127. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100041.vue +0 -251
  128. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100047.vue +0 -251
  129. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100054.vue +0 -250
  130. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100105.vue +0 -250
  131. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100107.vue +0 -250
  132. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100114.vue +0 -250
  133. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613140844.vue +0 -238
  134. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613140910.vue +0 -238
  135. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613140912.vue +0 -238
  136. package/Users/objecrt/af-vue2-client/src/base-client/components/his/XShiftSchedule/XShiftSchedule.vue +0 -36
  137. package/src/base-client/components/TreeList/TreeList.vue +0 -91
  138. package/src/base-client/components/TreeList/TreeNode.vue +0 -81
  139. package/src/base-client/components/common/XCardSet/XTiltle.vue +0 -191
@@ -1,197 +1,197 @@
1
- <template>
2
- <div class="tree-container">
3
- <div class="tree-header">
4
- <span class="tree-title">{{ title }}</span>
5
- <span class="tree-expand-all" @click="isToOpenAll" v-if="isShowOpen">
6
- {{ isExpanded ? '收起' : '全部展开' }}
7
- </span>
8
- </div>
9
- <div class="tree-list">
10
- <tree-node
11
- v-for="node in showData"
12
- :key="node.id"
13
- :node="node"
14
- @toggle="toggleNode"/>
15
- </div>
16
- </div>
17
- </template>
18
-
19
- <script>
20
- import TreeNode from '@vue2-client/base-client/components/his/XTreeRows/TreeNode.vue'
21
- import { getConfigByName, runLogic } from '@vue2-client/services/api/common'
22
-
23
- export default {
24
- name: 'XTreeRows',
25
- components: {
26
- TreeNode
27
- },
28
- props: {
29
- queryParamsName: {
30
- type: String,
31
- default: ''
32
- },
33
- isOpenAll: {
34
- type: Boolean,
35
- default: false
36
- },
37
- parameter: {
38
- type: Object,
39
- default: () => {
40
- return {}
41
- }
42
- }
43
- },
44
- data () {
45
- return {
46
- treeData: [
47
- {
48
- id: '1',
49
- title: '体征',
50
- expanded: false,
51
- children: [
52
- {
53
- id: '1-1',
54
- title: '一般情况'
55
- },
56
- {
57
- id: '1-2',
58
- title: '皮肤粘膜'
59
- },
60
- {
61
- id: '1-3',
62
- title: '头颈',
63
- expanded: false,
64
- children: [
65
- {
66
- id: '1-3-1',
67
- title: '头部头部头部头部头部头部头部头部头部头部头部头部头部头部',
68
- expanded: false,
69
- children: [
70
- {
71
- id: '1-3-1-1',
72
- title: '123456'
73
- }
74
- ]
75
- },
76
- {
77
- id: '1-2-2',
78
- title: '颈部'
79
- }
80
- ]
81
- },
82
- {
83
- id: '1-4',
84
- title: '胸部'
85
- },
86
- ]
87
- }
88
- ],
89
- isExpanded: false,
90
- showData: [],
91
- isShowOpen: true,
92
- title: '标题'
93
- }
94
- },
95
- methods: {
96
- toggleNode (node) {
97
- node.expanded = !node.expanded
98
- this.$emit('node-toggle', node)
99
- },
100
- isToOpenAll () {
101
- this.isExpanded = !this.isExpanded
102
- this.expandAllNodes(this.showData, this.isExpanded)
103
- this.$emit('isOpenAll', this.isExpanded)
104
- },
105
- expandAllNodes (nodes, expand) {
106
- nodes.forEach(node => {
107
- if (node.children && node.children.length > 0) {
108
- node.expanded = expand
109
- this.expandAllNodes(node.children, expand)
110
- }
111
- })
112
- },
113
- init (config, parameterData) {
114
- getConfigByName(config, 'af-his', res => {
115
- this.isShowOpen = res.isShowOpen
116
- this.title = res.title
117
- console.log(res)
118
- if (!res.isCheck) {
119
- this.showData = res.showData
120
- return
121
- }
122
- const parameter = { ...parameterData, ...this.parameter }
123
- runLogic(res.logicName, parameter, 'af-his').then(result => {
124
- this.showData = result
125
- })
126
- })
127
- }
128
- },
129
- watch: {
130
- queryParamsName: {
131
- immediate: true,
132
- handler (newValue) {
133
- console.log(newValue)
134
- this.init(newValue, {})
135
- },
136
- deep: true
137
- }
138
- }
139
- }
140
- </script>
141
-
142
- <style scoped>
143
- .tree-container {
144
- width: 100%;
145
- height: 320px;
146
- overflow-y: auto;
147
- overflow-x: auto;
148
- padding: 6px;
149
- box-sizing: border-box;
150
- }
151
- /* 自定义滚动条样式 */
152
- .tree-container::-webkit-scrollbar {
153
- width: 4px;
154
- height: 4px;
155
- }
156
- .tree-container::-webkit-scrollbar-thumb {
157
- background-color: #ccc;
158
- border-radius: 2px;
159
- }
160
- .tree-container::-webkit-scrollbar-track {
161
- background-color: #f5f5f5;
162
- }
163
- .tree-list {
164
- font-size: 14px;
165
- min-width: 100%;
166
- }
167
-
168
- .tree-header {
169
- padding: 8px 4px;
170
- border-bottom: 1px solid #e8e8e8;
171
- margin-bottom: 8px;
172
- position: sticky;
173
- top: 0;
174
- background-color: #fff;
175
- z-index: 1;
176
- }
177
-
178
- .tree-title {
179
- font-size: 16px;
180
- font-weight: 700;
181
- color:#5D5C5C;
182
- }
183
-
184
- .tree-expand-all {
185
- float: right;
186
- margin-right: 15px;
187
- font-size: 14px;
188
- font-weight: 400;
189
- color: #5D5C5C;
190
- cursor: pointer;
191
- user-select: none;
192
- }
193
-
194
- .tree-expand-all:hover {
195
- color: #989a9a;
196
- }
197
- </style>
1
+ <template>
2
+ <div class="tree-container">
3
+ <div class="tree-header">
4
+ <span class="tree-title">{{ title }}</span>
5
+ <span class="tree-expand-all" @click="isToOpenAll" v-if="isShowOpen">
6
+ {{ isExpanded ? '收起' : '全部展开' }}
7
+ </span>
8
+ </div>
9
+ <div class="tree-list">
10
+ <tree-node
11
+ v-for="node in showData"
12
+ :key="node.id"
13
+ :node="node"
14
+ @toggle="toggleNode"/>
15
+ </div>
16
+ </div>
17
+ </template>
18
+
19
+ <script>
20
+ import TreeNode from '@vue2-client/base-client/components/his/XTreeRows/TreeNode.vue'
21
+ import { getConfigByName, runLogic } from '@vue2-client/services/api/common'
22
+
23
+ export default {
24
+ name: 'XTreeRows',
25
+ components: {
26
+ TreeNode
27
+ },
28
+ props: {
29
+ queryParamsName: {
30
+ type: String,
31
+ default: ''
32
+ },
33
+ isOpenAll: {
34
+ type: Boolean,
35
+ default: false
36
+ },
37
+ parameter: {
38
+ type: Object,
39
+ default: () => {
40
+ return {}
41
+ }
42
+ }
43
+ },
44
+ data () {
45
+ return {
46
+ treeData: [
47
+ {
48
+ id: '1',
49
+ title: '体征',
50
+ expanded: false,
51
+ children: [
52
+ {
53
+ id: '1-1',
54
+ title: '一般情况'
55
+ },
56
+ {
57
+ id: '1-2',
58
+ title: '皮肤粘膜'
59
+ },
60
+ {
61
+ id: '1-3',
62
+ title: '头颈',
63
+ expanded: false,
64
+ children: [
65
+ {
66
+ id: '1-3-1',
67
+ title: '头部头部头部头部头部头部头部头部头部头部头部头部头部头部',
68
+ expanded: false,
69
+ children: [
70
+ {
71
+ id: '1-3-1-1',
72
+ title: '123456'
73
+ }
74
+ ]
75
+ },
76
+ {
77
+ id: '1-2-2',
78
+ title: '颈部'
79
+ }
80
+ ]
81
+ },
82
+ {
83
+ id: '1-4',
84
+ title: '胸部'
85
+ },
86
+ ]
87
+ }
88
+ ],
89
+ isExpanded: false,
90
+ showData: [],
91
+ isShowOpen: true,
92
+ title: '标题'
93
+ }
94
+ },
95
+ methods: {
96
+ toggleNode (node) {
97
+ node.expanded = !node.expanded
98
+ this.$emit('node-toggle', node)
99
+ },
100
+ isToOpenAll () {
101
+ this.isExpanded = !this.isExpanded
102
+ this.expandAllNodes(this.showData, this.isExpanded)
103
+ this.$emit('isOpenAll', this.isExpanded)
104
+ },
105
+ expandAllNodes (nodes, expand) {
106
+ nodes.forEach(node => {
107
+ if (node.children && node.children.length > 0) {
108
+ node.expanded = expand
109
+ this.expandAllNodes(node.children, expand)
110
+ }
111
+ })
112
+ },
113
+ init (config, parameterData) {
114
+ getConfigByName(config, 'af-his', res => {
115
+ this.isShowOpen = res.isShowOpen
116
+ this.title = res.title
117
+ console.log(res)
118
+ if (!res.isCheck) {
119
+ this.showData = res.showData
120
+ return
121
+ }
122
+ const parameter = { ...parameterData, ...this.parameter }
123
+ runLogic(res.logicName, parameter, 'af-his').then(result => {
124
+ this.showData = result
125
+ })
126
+ })
127
+ }
128
+ },
129
+ watch: {
130
+ queryParamsName: {
131
+ immediate: true,
132
+ handler (newValue) {
133
+ console.log(newValue)
134
+ this.init(newValue, {})
135
+ },
136
+ deep: true
137
+ }
138
+ }
139
+ }
140
+ </script>
141
+
142
+ <style scoped>
143
+ .tree-container {
144
+ width: 100%;
145
+ height: 320px;
146
+ overflow-y: auto;
147
+ overflow-x: auto;
148
+ padding: 6px;
149
+ box-sizing: border-box;
150
+ }
151
+ /* 自定义滚动条样式 */
152
+ .tree-container::-webkit-scrollbar {
153
+ width: 4px;
154
+ height: 4px;
155
+ }
156
+ .tree-container::-webkit-scrollbar-thumb {
157
+ background-color: #ccc;
158
+ border-radius: 2px;
159
+ }
160
+ .tree-container::-webkit-scrollbar-track {
161
+ background-color: #f5f5f5;
162
+ }
163
+ .tree-list {
164
+ font-size: 14px;
165
+ min-width: 100%;
166
+ }
167
+
168
+ .tree-header {
169
+ padding: 8px 4px;
170
+ border-bottom: 1px solid #e8e8e8;
171
+ margin-bottom: 8px;
172
+ position: sticky;
173
+ top: 0;
174
+ background-color: #fff;
175
+ z-index: 1;
176
+ }
177
+
178
+ .tree-title {
179
+ font-size: 16px;
180
+ font-weight: 700;
181
+ color:#5D5C5C;
182
+ }
183
+
184
+ .tree-expand-all {
185
+ float: right;
186
+ margin-right: 15px;
187
+ font-size: 14px;
188
+ font-weight: 400;
189
+ color: #5D5C5C;
190
+ cursor: pointer;
191
+ user-select: none;
192
+ }
193
+
194
+ .tree-expand-all:hover {
195
+ color: #989a9a;
196
+ }
197
+ </style>
@@ -1,111 +1,111 @@
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
- startEditorCheck(frameWindow, iframe)
91
- }
92
- // 组件销毁前清理
93
- onBeforeUnmount(() => {
94
- if (checkEditorTimer.value) {
95
- clearInterval(checkEditorTimer.value)
96
- }
97
- })
98
- // 暴露方法给父组件
99
- defineExpose({ getEditor, createVitalSigns })
100
-
101
- // 定义事件
102
- const emit = defineEmits(['editor-ready', 'load'])
103
- </script>
104
-
105
- <style scoped>
106
- iframe {
107
- border: none;
108
- width: 100%;
109
- min-height: 800px;
110
- }
111
- </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
+ startEditorCheck(frameWindow, iframe)
91
+ }
92
+ // 组件销毁前清理
93
+ onBeforeUnmount(() => {
94
+ if (checkEditorTimer.value) {
95
+ clearInterval(checkEditorTimer.value)
96
+ }
97
+ })
98
+ // 暴露方法给父组件
99
+ defineExpose({ getEditor, createVitalSigns })
100
+
101
+ // 定义事件
102
+ const emit = defineEmits(['editor-ready', 'load'])
103
+ </script>
104
+
105
+ <style scoped>
106
+ iframe {
107
+ border: none;
108
+ width: 100%;
109
+ min-height: 800px;
110
+ }
111
+ </style>