vue2-client 1.14.84 → 1.14.86

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 (134) 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/XFormTable/XFormTable.vue +7 -0
  5. package/src/base-client/components/his/XQuestionnaire/XQuestionnaire.vue +20 -7
  6. package/src/base-client/components/his/XQuestionnaire/XQuestionnaireDemo.vue +10 -1
  7. package/src/base-client/components/his/XQuestionnaire/XQuestionnaireItem.vue +0 -3
  8. package/src/base-client/components/his/XTextCard/XTextCard.vue +207 -207
  9. package/src/base-client/components/his/XTreeRows/TreeNode.vue +100 -100
  10. package/src/base-client/components/his/XTreeRows/XTreeRows.vue +197 -197
  11. package/src/base-client/components/his/threeTestOrders/editor.vue +111 -111
  12. package/src/base-client/components/layout/XPageView/RenderRow.vue +57 -31
  13. package/src/base-client/components/layout/XPageView/XErrorView.vue +14 -3
  14. package/src/base-client/components/layout/XPageView/XPageView.vue +138 -71
  15. package/src/base-client/components/layout/XPageView/index.js +1 -3
  16. package/src/base-client/components/layout/XPageView/index.md +65 -26
  17. package/src/pages/WorkflowDetail/WorkFlowDemo2.vue +90 -0
  18. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandle.vue +13 -1
  19. package/src/pages/XPageViewExample/index.vue +41 -8
  20. package/src/pages/addressSelect/addressDemo.vue +24 -24
  21. package/src/pages/addressSelect/index.vue +6 -12
  22. package/src/router/async/router.map.js +4 -2
  23. package/.history/public/his/editor/editor_20250606134713.html +0 -51
  24. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527173925.vue +0 -509
  25. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174316.vue +0 -524
  26. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174419.vue +0 -524
  27. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174422.vue +0 -524
  28. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172825.vue +0 -207
  29. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172945.vue +0 -211
  30. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172949.vue +0 -212
  31. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611173010.vue +0 -212
  32. package/.history/src/base-client/components/common/XForm/XFormItem_20250508134122.vue +0 -1320
  33. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171604.vue +0 -1332
  34. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171613.vue +0 -1331
  35. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171703.vue +0 -1331
  36. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171720.vue +0 -1331
  37. package/.history/src/base-client/components/common/XForm/XFormItem_20250527174327.vue +0 -1339
  38. package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612092804.vue +0 -731
  39. package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612112546.vue +0 -748
  40. package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612113808.vue +0 -748
  41. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115237.vue +0 -1071
  42. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115346.vue +0 -1078
  43. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115350.vue +0 -1077
  44. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115415.vue +0 -1077
  45. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115429.vue +0 -1077
  46. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611091619.vue +0 -442
  47. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092547.vue +0 -442
  48. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092552.vue +0 -442
  49. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092744.vue +0 -475
  50. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092955.vue +0 -475
  51. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092957.vue +0 -475
  52. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095652.vue +0 -477
  53. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095701.vue +0 -477
  54. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095704.vue +0 -477
  55. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100005.vue +0 -473
  56. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100011.vue +0 -473
  57. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100014.vue +0 -473
  58. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100833.vue +0 -473
  59. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100853.vue +0 -473
  60. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100940.vue +0 -473
  61. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101011.vue +0 -473
  62. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101013.vue +0 -473
  63. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101014.vue +0 -473
  64. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101159.vue +0 -473
  65. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101238.vue +0 -474
  66. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101240.vue +0 -474
  67. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101242.vue +0 -474
  68. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101404.vue +0 -472
  69. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101410.vue +0 -472
  70. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101459.vue +0 -472
  71. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101500.vue +0 -472
  72. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101502.vue +0 -472
  73. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101504.vue +0 -472
  74. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101610.vue +0 -501
  75. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101700.vue +0 -501
  76. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101702.vue +0 -501
  77. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101741.vue +0 -504
  78. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101749.vue +0 -504
  79. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101759.vue +0 -504
  80. package/.history/src/base-client/components/his/XHisEditor/dome_20250611091349.vue +0 -131
  81. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105854.vue +0 -160
  82. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105902.vue +0 -160
  83. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105924.vue +0 -160
  84. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105932.vue +0 -158
  85. package/.history/src/base-client/components/his/XList/XList_20250609135848.vue +0 -173
  86. package/.history/src/base-client/components/his/XList/XList_20250609141026.vue +0 -222
  87. package/.history/src/base-client/components/his/XList/XList_20250609141035.vue +0 -229
  88. package/.history/src/base-client/components/his/XList/XList_20250609141103.vue +0 -229
  89. package/.history/src/base-client/components/his/XList/XList_20250609141105.vue +0 -229
  90. package/.history/src/base-client/components/his/XList/XList_20250609141334.vue +0 -241
  91. package/.history/src/base-client/components/his/XList/XList_20250609141404.vue +0 -241
  92. package/.history/src/base-client/components/his/XList/XList_20250609141406.vue +0 -241
  93. package/.history/src/base-client/components/his/XList/XList_20250609141801.vue +0 -245
  94. package/.history/src/base-client/components/his/XList/XList_20250609142033.vue +0 -245
  95. package/.history/src/base-client/components/his/XList/XList_20250609142038.vue +0 -245
  96. package/.history/src/base-client/components/his/XList/XList_20250609142435.vue +0 -255
  97. package/.history/src/base-client/components/his/XList/XList_20250609142503.vue +0 -255
  98. package/.history/src/base-client/components/his/XList/XList_20250609142504.vue +0 -255
  99. package/.history/src/base-client/components/his/XList/XList_20250609143012.vue +0 -270
  100. package/.history/src/base-client/components/his/XList/XList_20250609143044.vue +0 -270
  101. package/.history/src/base-client/components/his/XList/XList_20250609143046.vue +0 -270
  102. package/.history/src/base-client/components/his/XList/XList_20250609143210.vue +0 -270
  103. package/.history/src/base-client/components/his/XList/XList_20250609144339.vue +0 -294
  104. package/.history/src/base-client/components/his/XList/XList_20250609144410.vue +0 -294
  105. package/.history/src/base-client/components/his/XList/XList_20250609144412.vue +0 -294
  106. package/.history/src/base-client/components/his/XList/XList_20250609144647.vue +0 -303
  107. package/.history/src/base-client/components/his/XList/XList_20250609144716.vue +0 -303
  108. package/.history/src/base-client/components/his/XList/XList_20250609144729.vue +0 -303
  109. package/.history/src/base-client/components/his/XList/XList_20250609151232.vue +0 -288
  110. package/.history/src/base-client/components/his/XList/XList_20250609151247.vue +0 -288
  111. package/.history/src/base-client/components/his/XList/XList_20250609151252.vue +0 -288
  112. package/.history/src/base-client/components/his/XList/XList_20250609161220.vue +0 -317
  113. package/.history/src/base-client/components/his/XList/XList_20250609161258.vue +0 -306
  114. package/.history/src/base-client/components/his/XList/XList_20250609161319.vue +0 -306
  115. package/.history/src/base-client/components/his/XList/XList_20250609161320.vue +0 -306
  116. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250609151519.vue +0 -222
  117. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250612155514.vue +0 -183
  118. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250612155556.vue +0 -183
  119. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250612155600.vue +0 -183
  120. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250612181609.vue +0 -206
  121. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250612181629.vue +0 -209
  122. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613095553.vue +0 -242
  123. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613095610.vue +0 -242
  124. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613095612.vue +0 -242
  125. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100041.vue +0 -251
  126. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100047.vue +0 -251
  127. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100054.vue +0 -250
  128. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100105.vue +0 -250
  129. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100107.vue +0 -250
  130. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100114.vue +0 -250
  131. package/Users/objecrt/af-vue2-client/src/base-client/components/his/XShiftSchedule/XShiftSchedule.vue +0 -36
  132. package/src/base-client/components/TreeList/TreeList.vue +0 -91
  133. package/src/base-client/components/TreeList/TreeNode.vue +0 -81
  134. package/src/base-client/components/common/XCardSet/XTiltle.vue +0 -191
@@ -1,504 +0,0 @@
1
- <template>
2
- <div>
3
- <div v-show="ready">
4
- <a-row 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 type="primary" @click="openRenameModal" v-if="this.resId !== -1">
36
- 重命名
37
- </a-button>
38
- <a-button type="primary" @click="() => this.resId !== -1 ? save() : openAddResModal()">
39
- 保存
40
- </a-button>
41
- </template>
42
- <a-button type="primary" @click="print">
43
- 打印
44
- </a-button>
45
- <a-button @click="refresh">
46
- 刷新
47
- </a-button>
48
- </a-space>
49
- <a-dropdown>
50
- <a-menu slot="overlay" @click="handleExportMenuClick">
51
- <a-menu-item key="exportPdf">导出为Pdf</a-menu-item>
52
- <a-menu-item key="exportWord">导出为Word</a-menu-item>
53
- <a-menu-item key="exportHtmlWithStyle">导出为Html</a-menu-item>
54
- </a-menu>
55
- <a-button style="margin-left: 8px"> 导出 <a-icon type="down" /> </a-button>
56
- </a-dropdown>
57
- </a-col>
58
- </a-row>
59
- <a-divider/>
60
- <a-spin tip="加载中,马上好" :spinning="loading">
61
- <iframe
62
- id="x-editor"
63
- src="/his/editor/editor.html"
64
- v-bind="objectOfAttrs"
65
- @load="onload"
66
- style="height: calc(-200px - 3rem + 100vh);">
67
- </iframe>
68
- </a-spin>
69
- </div>
70
- <div v-show="!ready">
71
- <a-empty description="请选择文书" />
72
- </div>
73
- <a-modal
74
- :destroyOnClose="true"
75
- :title="this.resDataModalMode === 'modify' ? '修改文档' : '新建文档'"
76
- :visible="resDataModalVisible"
77
- okText="提交"
78
- @cancel="resDataModalVisible = false"
79
- @ok="onSubmit">
80
- <a-form-model ref="resModifyForm" :model="modifyResModel" :rules="resRules">
81
- <a-form-model-item prop="f_file_name" label="文档名">
82
- <a-input v-model="modifyResModel.f_file_name" placeholder="请输入文档名"/>
83
- </a-form-model-item>
84
- </a-form-model>
85
- </a-modal></div>
86
- </template>
87
-
88
- <script>
89
-
90
- import { runLogic } from '@vue2-client/services/api/common'
91
- import { initDiagnosisDropdown } from './diagnosisAutocomplete'
92
-
93
- export default {
94
- name: 'XHisEditor',
95
- computed: {
96
- resListCp () {
97
- const list = this.resList
98
- if (this.resId === -1) {
99
- list.push({
100
- label: '未保存文档*', value: -1
101
- })
102
- }
103
- return list
104
- }
105
- },
106
- data () {
107
- return {
108
- ready: false,
109
- loading: false,
110
- resDataModalMode: 'modify',
111
- resDataModalVisible: false,
112
- objectOfAttrs: {
113
- width: '100%',
114
- height: '650vh',
115
- frameborder: 0
116
- },
117
- // 数据模式
118
- modeType: 'form',
119
- // 是否显示模式切换功能
120
- showModeChoose: true,
121
- // 数据模式列表
122
- modeList: [
123
- {
124
- label: '预览',
125
- value: 'readonly'
126
- },
127
- {
128
- label: '表单',
129
- value: 'form'
130
- },
131
- {
132
- label: '设计',
133
- value: 'design'
134
- }
135
- ],
136
- // 编辑器实例
137
- editorRef: null,
138
- // 文档资源列表
139
- resList: [],
140
- // 文档资源ID
141
- resId: undefined,
142
- // 文档链接
143
- fileUrl: undefined,
144
- // 文档绑定数据
145
- bindObject: undefined,
146
- // 数据模式 template:模板编辑;data:数据编辑
147
- dataMode: undefined,
148
- // 保存数据调用的Logic名称
149
- saveDataLogicName: undefined,
150
- // 保存数据调用Logic传入的额外参数
151
- logicExtraParams: undefined,
152
- // 服务名
153
- serviceName: undefined,
154
- // 当前文档信息
155
- currResData: {},
156
- // 切换的文档id
157
- toggleResId: undefined,
158
- // 待提交的修改信息
159
- modifyResModel: {},
160
- resRules: {
161
- f_file_name: [{ required: true, message: '请输入文档名', trigger: 'blur' }],
162
- },
163
- // 待加载的数据
164
- pendingFileUrl: null,
165
- pendingBindObject: null,
166
- pendingCurrResData: null,
167
- pendingIsAppend: null
168
- }
169
- },
170
- // 初始化 保存后 加载文件后 诊断选择
171
- emits: ['init', 'saveafter', 'afterLoadFile', 'selected'],
172
- methods: {
173
- runLogic,
174
- /* eslint-disable */
175
- async initDiagnosisAutocomplete (dropDownBoxParams) {
176
- if (!this.editorRef || !this.editorRef.document) {
177
- return
178
- }
179
-
180
- // 添加参数检查
181
- if (!dropDownBoxParams || !Array.isArray(dropDownBoxParams) || dropDownBoxParams.length === 0) {
182
- return
183
- }
184
-
185
- // 创建一个简单的自定义事件系统
186
- // 1. 创建一个隐藏的DOM元素作为事件通道
187
- const eventChannel = this.editorRef.document.createElement('div');
188
- eventChannel.id = 'diagnosis-event-channel';
189
- eventChannel.style.display = 'none';
190
- this.editorRef.document.body.appendChild(eventChannel);
191
- // 2. 在iframe文档中监听自定义事件
192
- const that = this;
193
- this.editorRef.document.addEventListener('diagnosis-selected', function(e) {
194
- if (e && e.detail) {
195
- that.$emit('selected', { item: e.detail, editor: that.editorRef });
196
- }
197
- });
198
-
199
- for (const param of dropDownBoxParams) {
200
- if (param.identificationCode && param.dataLogic) {
201
- try {
202
- let preliDiagnoData = null
203
- // 保留获取后端数据的逻辑
204
- await runLogic(param.dataLogic,
205
- {}, 'af-his').then(res => {
206
- preliDiagnoData = res
207
- })
208
-
209
- // 创建脚本元素
210
- const scriptElement = this.editorRef.document.createElement('script')
211
-
212
- // 注入自定义事件触发函数和初始化代码
213
- scriptElement.textContent = `
214
- // 定义一个函数来触发自定义事件
215
- function triggerDiagnosisSelected(data) {
216
- const event = new CustomEvent('diagnosis-selected', {
217
- detail: data,
218
- bubbles: true
219
- });
220
- document.dispatchEvent(event);
221
- }
222
-
223
- // 初始化诊断下拉菜单,使用自定义事件触发函数
224
- (${initDiagnosisDropdown.toString()})(
225
- editor,
226
- ${JSON.stringify(preliDiagnoData)},
227
- '${param.identificationCode}',
228
- triggerDiagnosisSelected
229
- );
230
- `;
231
-
232
- this.editorRef.document.body.appendChild(scriptElement);
233
- } catch (error) {
234
- console.error('初始化诊断自动完成失败:', error);
235
- }
236
- }
237
- }
238
- },
239
- /* eslint-disable */
240
- // 初始化文档
241
- onload (e) {
242
- if (e && e.target && e.target.contentWindow) {
243
- this.editorRef = e.target.contentWindow.editor
244
- // 等待文档加载完成
245
- this.$emit('init', {})
246
- // 如果已经有待加载的文件,则加载它
247
- if (this.pendingFileUrl) {
248
- this.loadFile(this.pendingFileUrl, this.pendingBindObject, this.pendingCurrResData, this.pendingIsAppend)
249
- // 清除待加载的数据
250
- this.pendingFileUrl = null
251
- this.pendingBindObject = null
252
- this.pendingCurrResData = null
253
- this.pendingIsAppend = null
254
- }
255
- }
256
- },
257
- init (params) {
258
- const {
259
- fileUrl,
260
- resId,
261
- currResData = {},
262
- bindObject,
263
- saveDataLogicName,
264
- logicExtraParams,
265
- dropDownBoxParams,
266
- serviceName,
267
- showModeChoose = true,
268
- modeType = 'form'
269
- } = params
270
- this.resId = resId
271
- if (bindObject) {
272
- this.dataMode = 'data'
273
- this.bindObject = bindObject
274
- } else {
275
- this.dataMode = 'template'
276
- }
277
- this.saveDataLogicName = saveDataLogicName
278
- this.logicExtraParams = logicExtraParams
279
- this.serviceName = serviceName
280
- this.showModeChoose = showModeChoose
281
- this.modeType = modeType
282
- this.ready = true
283
-
284
- // 如果编辑器实例已经准备好,直接加载文件
285
- if (this.editorRef) {
286
- this.loadFile(fileUrl, bindObject, currResData, true).then(async () => {
287
- // 文件加载完成后再初始化自动完成
288
- await this.initDiagnosisAutocomplete(dropDownBoxParams)
289
- })
290
- } else {
291
- // 否则保存待加载的数据
292
- this.pendingFileUrl = fileUrl
293
- this.pendingBindObject = bindObject
294
- this.pendingCurrResData = currResData
295
- this.pendingIsAppend = true
296
- }
297
- this.loadResList()
298
- },
299
- // 加载文档
300
- loadFile (fileUrl, bindObject, currResData, isAppend = true) {
301
- // 检查编辑器实例是否存在
302
- if (!this.editorRef) {
303
- console.error('编辑器实例未初始化')
304
- return Promise.reject(new Error('编辑器实例未初始化'))
305
- }
306
-
307
- this.loading = true
308
- return new Promise((resolve) => {
309
- if (isAppend) {
310
- // 加载新文档
311
- this.editorRef.loadUrl(fileUrl).then(() => {
312
- // 获取新文档内容
313
- const newContent = this.editorRef.getHtml()
314
- console.log('html', { newContent })
315
-
316
- // 使用jQuery的html方法插入内容
317
- const $editor = this.editorRef.$(this.editorRef.document.body)
318
- const currentContent = $editor.html()
319
- $editor.html(currentContent + newContent)
320
-
321
- if (bindObject) {
322
- this.editorRef.setBindObject(bindObject)
323
- if (bindObject.template) {
324
- for (const key of Object.keys(bindObject.template)) {
325
- this.editorRef.bindDataList(key, bindObject.template[key])
326
- }
327
- }
328
- }
329
- this.changeMode()
330
- this.fileUrl = fileUrl
331
- if (!currResData.f_file_name) {
332
- currResData.f_file_name = '未命名'
333
- }
334
- this.currResData = currResData
335
- this.loading = false
336
- this.$emit('afterLoadFile', {})
337
- resolve()
338
- })
339
- } else {
340
- // 原有的加载逻辑
341
- this.editorRef.loadUrl(fileUrl).then(() => {
342
- if (bindObject) {
343
- this.editorRef.setBindObject(bindObject)
344
- if (bindObject.template) {
345
- for (const key of Object.keys(bindObject.template)) {
346
- this.editorRef.bindDataList(key, bindObject.template[key])
347
- }
348
- }
349
- }
350
- this.changeMode()
351
- this.fileUrl = fileUrl
352
- if (!currResData.f_file_name) {
353
- currResData.f_file_name = '未命名'
354
- }
355
- this.currResData = currResData
356
- this.loading = false
357
- this.$emit('afterLoadFile', {})
358
- resolve()
359
- })
360
- }
361
- })
362
- },
363
- // 加载文档列表
364
- loadResList () {
365
- runLogic('getMedicalList', this.logicExtraParams, this.serviceName).then(res => {
366
- this.resList = res
367
- this.toggleResId = this.resId
368
- })
369
- },
370
- // 修改模式
371
- changeMode (e) {
372
- this.editorRef.execCommand(this.modeType)
373
- },
374
- // 打开文档信息修改面板
375
- openRenameModal () {
376
- this.resDataModalMode = 'modify'
377
- this.modifyResModel = {
378
- f_file_name: this.currResData.f_file_name
379
- }
380
- this.resDataModalVisible = true
381
- },
382
- // 提交文档信息修改
383
- onSubmit () {
384
- this.$refs.resModifyForm.validate(valid => {
385
- if (valid) {
386
- if (this.resDataModalMode === 'modify' && this.modifyResModel.f_file_name === this.currResData.f_file_name) {
387
- this.$message.warn('新文档名不能与原文档名一致!')
388
- return false
389
- }
390
- this.save()
391
- return true
392
- } else {
393
- return false
394
- }
395
- })
396
- },
397
- // 打开文档新建面板
398
- openAddResModal () {
399
- this.resDataModalMode = 'add'
400
- this.modifyResModel = {
401
- f_file_name: undefined
402
- }
403
- this.resDataModalVisible = true
404
- },
405
- // 新建文档
406
- addRes () {
407
- this.$emit('add', {})
408
- // const params = Object.assign({
409
- // isAddForce: true
410
- // }, this.logicExtraParams)
411
- // this.reload(params)
412
- },
413
- // 重新加载
414
- reload (params) {
415
- runLogic('getFileInformation', params, this.serviceName).then(res => {
416
- this.resDataModalVisible = false
417
- this.init({
418
- modeType: this.modeType,
419
- fileUrl: res.url,
420
- resId: res.id,
421
- currResData: res.currResData,
422
- bindObject: res.bindObject,
423
- saveDataLogicName: this.saveDataLogicName,
424
- serviceName: this.serviceName,
425
- logicExtraParams: this.logicExtraParams,
426
- dropDownBoxParams: this.dropDownBoxParams
427
- })
428
- })
429
- },
430
- // 切换文档
431
- changeRes (value) {
432
- if (this.resId === -1) {
433
- const that = this
434
- this.$confirm({
435
- title: '确认切换文档吗?',
436
- content: '您有尚未保存的文档,切换文档将丢失所有的修改',
437
- onOk () {
438
- that.reload({
439
- resId: value
440
- })
441
- },
442
- onCancel () {
443
- that.toggleResId = that.resId
444
- },
445
- })
446
- } else {
447
- this.reload({
448
- resId: value
449
- })
450
- }
451
- },
452
- // 保存文档
453
- save () {
454
- // 验证必须输入项
455
- if (this.editorRef.validate()) {
456
- // 获取HTML文档和结构化数据(JSON)
457
- const data = {
458
- doc: this.editorRef.getHtml(),
459
- dataObject: this.editorRef.getBindObject(),
460
- dataMode: this.dataMode,
461
- resId: this.resId,
462
- modifyResModel: this.modifyResModel,
463
- logicExtraParams: this.logicExtraParams
464
- }
465
- // 保存HTML文档和结构化数据到后端服务
466
- runLogic(this.saveDataLogicName, data, this.serviceName).then(res => {
467
- this.$message.success('保存成功')
468
- this.changeRes(res.currResData.id)
469
- this.$emit('saveafter', data.dataObject)
470
- }).finally(() => {
471
- this.resDataModalVisible = false
472
- })
473
- } else {
474
- this.$message.error('请检查未填写的项目')
475
- }
476
- },
477
- // 打印文档
478
- print () {
479
- this.editorRef.execCommand('print')
480
- },
481
- // 关闭编辑器
482
- close () {
483
- this.ready = false
484
- },
485
- // 刷新文档
486
- refresh () {
487
- this.loadFile(this.fileUrl, this.bindObject, this.currResData)
488
- },
489
- // 导出下拉菜单
490
- handleExportMenuClick (e) {
491
- const key = e.key
492
- this.editorRef.execCommand(key)
493
- }
494
- }
495
- }
496
- </script>
497
- <style scoped lang="less">
498
- .editor-action-container {
499
- height: 40px;
500
- }
501
- :deep(.ant-divider-horizontal) {
502
- margin: 4px 0;
503
- }
504
- </style>
@@ -1,131 +0,0 @@
1
- <template>
2
- <div>
3
- <button style="width: 100px; height: 100px; background-color: red;" @click=order></button>
4
- <button style="width: 100px; height: 100px; background-color: green;" @click=order1></button>
5
- <x-his-editor ref="XHisEditor">
6
- </x-his-editor >
7
- </div>
8
- </template>
9
-
10
- <script>
11
- import XHisEditor from '@/base-client/components/his/XHisEditor/XHisEditor.vue'
12
- export default {
13
- components: {
14
- XHisEditor
15
- },
16
- data () {
17
- return {
18
- data: {
19
- fileUrl: '/resource/af-his/html/510f0732cca14a0b84caead7dbcf6793.html',
20
- currResData: {
21
- f_file_name: '未命名'
22
- },
23
- bindObject: {
24
- JZSJ: '2025-05-30 10:00:11',
25
- TGJCTZ: null,
26
- TYZL: [],
27
- YSQZRQ: null,
28
- YBLB: [],
29
- SFCFZ: '0',
30
- CBZD: '埃贝特Eberth`s氏病(伤寒)',
31
- JZKS: '神经内科',
32
- FBRQ: '2025-05-30 00:00:00',
33
- YSQM: '神经内科医生2',
34
- HYZK: 0,
35
- XGKYJC: null,
36
- GWS: 3,
37
- GMYW: '',
38
- JJNR: [],
39
- sex: 2,
40
- GZDW: '奥枫',
41
- JTZZ: '啊实打实打算',
42
- XBS: 2,
43
- TGJCT: '',
44
- ZLYJ: null,
45
- LXRname: 11,
46
- FZJC: null,
47
- MZ: '汉',
48
- LXRphone: '13891905385',
49
- SFCRB: null,
50
- phone: '143434343',
51
- name: '黄梅怪',
52
- ZS: 1,
53
- MZH: 371,
54
- age: 23,
55
- ZY: ''
56
- },
57
- saveDataLogicName: 'saveMedicalRecordFile',
58
- serviceName: 'af-his',
59
- logicExtraParams: {
60
- admissionId: 554,
61
- templateId: 87
62
- },
63
- dropDownBoxParams: [
64
- {
65
- identificationCode: '#CBZD',
66
- dataLogic: 'preliDiagnoLogic'
67
- }
68
- ]
69
- },
70
- data1: {
71
- fileUrl: '/resource/af-his/html/ea798f5680ff417f8eb5c753c93eb293.html',
72
- currResData: {
73
- f_file_name: '未命名'
74
- },
75
- bindObject: {
76
- outpatientNo: 365,
77
- aptt: '',
78
- pt: '',
79
- fibrinogen: '',
80
- transfusionComponent: '',
81
- hemoglobin: '',
82
- transfusionIndication: '',
83
- antiHiv: '',
84
- hct: '',
85
- department: '',
86
- antiHcv: '',
87
- transfusionPurpose: '',
88
- sex: 2,
89
- diagnosis: '伤寒',
90
- syphilis: '',
91
- transfusionTimes: false,
92
- sxs: null,
93
- rhd: '',
94
- name: '张岚',
95
- aboBloodType: '',
96
- hbsag: '',
97
- crossMatchTime: '',
98
- reaction1: true,
99
- platelet: '',
100
- reaction2: true,
101
- reaction3: true,
102
- transfusionMethod: false,
103
- age: 31,
104
- preTransfusionExam: ''
105
- },
106
- saveDataLogicName: 'saveMedicalRecordFile',
107
- serviceName: 'af-his',
108
- logicExtraParams: {
109
- admissionId: 544,
110
- templateId: 340
111
- },
112
- dropDownBoxParams: []
113
- }
114
- }
115
- },
116
- methods: {
117
- order () {
118
- this.$refs.XHisEditor.init(this.data)
119
- },
120
- order1 () {
121
- this.$refs.XHisEditor.init(this.data1)
122
- }
123
- },
124
- mounted () {
125
- }
126
- }
127
- </script>
128
-
129
- <style scoped lang=less'>
130
-
131
- </style>