vue2-client 1.15.61 → 1.15.63

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/package.json +110 -110
  2. package/src/base-client/components/common/XButtons/XButtons.vue +3 -12
  3. package/src/base-client/components/his/XTextCard/XTextCard.vue +207 -207
  4. package/src/base-client/components/his/threeTestOrders/editor.vue +111 -111
  5. package/src/components/FileImageItem/FileItem.vue +321 -305
  6. package/src/pages/WorkflowDetail/WorkflowDetail.vue +391 -379
  7. package/src/pages/WorkflowDetail/WorkflowPageDetail/worklog.vue +97 -0
  8. package/.history/public/his/editor/editor_20250606134713.html +0 -51
  9. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527173925.vue +0 -509
  10. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174316.vue +0 -524
  11. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174419.vue +0 -524
  12. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174422.vue +0 -524
  13. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172825.vue +0 -207
  14. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172945.vue +0 -211
  15. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172949.vue +0 -212
  16. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611173010.vue +0 -212
  17. package/.history/src/base-client/components/common/XForm/XFormItem_20250508134122.vue +0 -1320
  18. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171604.vue +0 -1332
  19. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171613.vue +0 -1331
  20. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171703.vue +0 -1331
  21. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171720.vue +0 -1331
  22. package/.history/src/base-client/components/common/XForm/XFormItem_20250527174327.vue +0 -1339
  23. package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612092804.vue +0 -731
  24. package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612112546.vue +0 -748
  25. package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612113808.vue +0 -748
  26. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115237.vue +0 -1071
  27. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115346.vue +0 -1078
  28. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115350.vue +0 -1077
  29. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115415.vue +0 -1077
  30. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115429.vue +0 -1077
  31. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611091619.vue +0 -442
  32. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092547.vue +0 -442
  33. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092552.vue +0 -442
  34. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092744.vue +0 -475
  35. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092955.vue +0 -475
  36. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092957.vue +0 -475
  37. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095652.vue +0 -477
  38. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095701.vue +0 -477
  39. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095704.vue +0 -477
  40. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100005.vue +0 -473
  41. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100011.vue +0 -473
  42. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100014.vue +0 -473
  43. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100833.vue +0 -473
  44. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100853.vue +0 -473
  45. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100940.vue +0 -473
  46. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101011.vue +0 -473
  47. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101013.vue +0 -473
  48. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101014.vue +0 -473
  49. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101159.vue +0 -473
  50. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101238.vue +0 -474
  51. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101240.vue +0 -474
  52. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101242.vue +0 -474
  53. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101404.vue +0 -472
  54. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101410.vue +0 -472
  55. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101459.vue +0 -472
  56. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101500.vue +0 -472
  57. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101502.vue +0 -472
  58. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101504.vue +0 -472
  59. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101610.vue +0 -501
  60. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101700.vue +0 -501
  61. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101702.vue +0 -501
  62. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101741.vue +0 -504
  63. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101749.vue +0 -504
  64. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101759.vue +0 -504
  65. package/.history/src/base-client/components/his/XHisEditor/dome_20250611091349.vue +0 -131
  66. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105854.vue +0 -160
  67. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105902.vue +0 -160
  68. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105924.vue +0 -160
  69. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105932.vue +0 -158
  70. package/.history/src/base-client/components/his/XList/XList_20250609135848.vue +0 -173
  71. package/.history/src/base-client/components/his/XList/XList_20250609141026.vue +0 -222
  72. package/.history/src/base-client/components/his/XList/XList_20250609141035.vue +0 -229
  73. package/.history/src/base-client/components/his/XList/XList_20250609141103.vue +0 -229
  74. package/.history/src/base-client/components/his/XList/XList_20250609141105.vue +0 -229
  75. package/.history/src/base-client/components/his/XList/XList_20250609141334.vue +0 -241
  76. package/.history/src/base-client/components/his/XList/XList_20250609141404.vue +0 -241
  77. package/.history/src/base-client/components/his/XList/XList_20250609141406.vue +0 -241
  78. package/.history/src/base-client/components/his/XList/XList_20250609141801.vue +0 -245
  79. package/.history/src/base-client/components/his/XList/XList_20250609142033.vue +0 -245
  80. package/.history/src/base-client/components/his/XList/XList_20250609142038.vue +0 -245
  81. package/.history/src/base-client/components/his/XList/XList_20250609142435.vue +0 -255
  82. package/.history/src/base-client/components/his/XList/XList_20250609142503.vue +0 -255
  83. package/.history/src/base-client/components/his/XList/XList_20250609142504.vue +0 -255
  84. package/.history/src/base-client/components/his/XList/XList_20250609143012.vue +0 -270
  85. package/.history/src/base-client/components/his/XList/XList_20250609143044.vue +0 -270
  86. package/.history/src/base-client/components/his/XList/XList_20250609143046.vue +0 -270
  87. package/.history/src/base-client/components/his/XList/XList_20250609143210.vue +0 -270
  88. package/.history/src/base-client/components/his/XList/XList_20250609144339.vue +0 -294
  89. package/.history/src/base-client/components/his/XList/XList_20250609144410.vue +0 -294
  90. package/.history/src/base-client/components/his/XList/XList_20250609144412.vue +0 -294
  91. package/.history/src/base-client/components/his/XList/XList_20250609144647.vue +0 -303
  92. package/.history/src/base-client/components/his/XList/XList_20250609144716.vue +0 -303
  93. package/.history/src/base-client/components/his/XList/XList_20250609144729.vue +0 -303
  94. package/.history/src/base-client/components/his/XList/XList_20250609151232.vue +0 -288
  95. package/.history/src/base-client/components/his/XList/XList_20250609151247.vue +0 -288
  96. package/.history/src/base-client/components/his/XList/XList_20250609151252.vue +0 -288
  97. package/.history/src/base-client/components/his/XList/XList_20250609161220.vue +0 -317
  98. package/.history/src/base-client/components/his/XList/XList_20250609161258.vue +0 -306
  99. package/.history/src/base-client/components/his/XList/XList_20250609161319.vue +0 -306
  100. package/.history/src/base-client/components/his/XList/XList_20250609161320.vue +0 -306
  101. package/.history/src/base-client/components/his/XList/XList_20250704142024.vue +0 -495
  102. package/.history/src/base-client/components/his/XList/XList_20250704142033.vue +0 -495
  103. package/.history/src/base-client/components/his/XList/XList_20250704142040.vue +0 -494
  104. package/.history/src/base-client/components/his/XList/XList_20250704142211.vue +0 -494
  105. package/.history/src/base-client/components/his/XList/XList_20250704142214.vue +0 -494
  106. package/.history/src/base-client/components/his/XList/XList_20250704143010.vue +0 -495
  107. package/.history/src/base-client/components/his/XList/XList_20250704143203.vue +0 -495
  108. package/.history/src/base-client/components/his/XList/XList_20250707095101.vue +0 -492
  109. package/.history/src/base-client/components/his/XList/XList_20250707100152.vue +0 -492
  110. package/.history/src/base-client/components/his/XList/XList_20250707100200.vue +0 -485
  111. package/.history/src/base-client/components/his/XList/XList_20250707100208.vue +0 -485
  112. package/.history/src/base-client/components/his/XList/XList_20250707100259.vue +0 -488
  113. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250609151519.vue +0 -222
  114. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250612155514.vue +0 -183
  115. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250612155556.vue +0 -183
  116. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250612155600.vue +0 -183
  117. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250612181609.vue +0 -206
  118. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250612181629.vue +0 -209
  119. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613095553.vue +0 -242
  120. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613095610.vue +0 -242
  121. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613095612.vue +0 -242
  122. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100041.vue +0 -251
  123. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100047.vue +0 -251
  124. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100054.vue +0 -250
  125. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100105.vue +0 -250
  126. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100107.vue +0 -250
  127. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100114.vue +0 -250
  128. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613140844.vue +0 -238
  129. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613140910.vue +0 -238
  130. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613140912.vue +0 -238
  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,501 +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
- this.editorRef.paste(newContent)
317
-
318
- if (bindObject) {
319
- this.editorRef.setBindObject(bindObject)
320
- if (bindObject.template) {
321
- for (const key of Object.keys(bindObject.template)) {
322
- this.editorRef.bindDataList(key, bindObject.template[key])
323
- }
324
- }
325
- }
326
- this.changeMode()
327
- this.fileUrl = fileUrl
328
- if (!currResData.f_file_name) {
329
- currResData.f_file_name = '未命名'
330
- }
331
- this.currResData = currResData
332
- this.loading = false
333
- this.$emit('afterLoadFile', {})
334
- resolve()
335
- })
336
- } else {
337
- // 原有的加载逻辑
338
- this.editorRef.loadUrl(fileUrl).then(() => {
339
- if (bindObject) {
340
- this.editorRef.setBindObject(bindObject)
341
- if (bindObject.template) {
342
- for (const key of Object.keys(bindObject.template)) {
343
- this.editorRef.bindDataList(key, bindObject.template[key])
344
- }
345
- }
346
- }
347
- this.changeMode()
348
- this.fileUrl = fileUrl
349
- if (!currResData.f_file_name) {
350
- currResData.f_file_name = '未命名'
351
- }
352
- this.currResData = currResData
353
- this.loading = false
354
- this.$emit('afterLoadFile', {})
355
- resolve()
356
- })
357
- }
358
- })
359
- },
360
- // 加载文档列表
361
- loadResList () {
362
- runLogic('getMedicalList', this.logicExtraParams, this.serviceName).then(res => {
363
- this.resList = res
364
- this.toggleResId = this.resId
365
- })
366
- },
367
- // 修改模式
368
- changeMode (e) {
369
- this.editorRef.execCommand(this.modeType)
370
- },
371
- // 打开文档信息修改面板
372
- openRenameModal () {
373
- this.resDataModalMode = 'modify'
374
- this.modifyResModel = {
375
- f_file_name: this.currResData.f_file_name
376
- }
377
- this.resDataModalVisible = true
378
- },
379
- // 提交文档信息修改
380
- onSubmit () {
381
- this.$refs.resModifyForm.validate(valid => {
382
- if (valid) {
383
- if (this.resDataModalMode === 'modify' && this.modifyResModel.f_file_name === this.currResData.f_file_name) {
384
- this.$message.warn('新文档名不能与原文档名一致!')
385
- return false
386
- }
387
- this.save()
388
- return true
389
- } else {
390
- return false
391
- }
392
- })
393
- },
394
- // 打开文档新建面板
395
- openAddResModal () {
396
- this.resDataModalMode = 'add'
397
- this.modifyResModel = {
398
- f_file_name: undefined
399
- }
400
- this.resDataModalVisible = true
401
- },
402
- // 新建文档
403
- addRes () {
404
- this.$emit('add', {})
405
- // const params = Object.assign({
406
- // isAddForce: true
407
- // }, this.logicExtraParams)
408
- // this.reload(params)
409
- },
410
- // 重新加载
411
- reload (params) {
412
- runLogic('getFileInformation', params, this.serviceName).then(res => {
413
- this.resDataModalVisible = false
414
- this.init({
415
- modeType: this.modeType,
416
- fileUrl: res.url,
417
- resId: res.id,
418
- currResData: res.currResData,
419
- bindObject: res.bindObject,
420
- saveDataLogicName: this.saveDataLogicName,
421
- serviceName: this.serviceName,
422
- logicExtraParams: this.logicExtraParams,
423
- dropDownBoxParams: this.dropDownBoxParams
424
- })
425
- })
426
- },
427
- // 切换文档
428
- changeRes (value) {
429
- if (this.resId === -1) {
430
- const that = this
431
- this.$confirm({
432
- title: '确认切换文档吗?',
433
- content: '您有尚未保存的文档,切换文档将丢失所有的修改',
434
- onOk () {
435
- that.reload({
436
- resId: value
437
- })
438
- },
439
- onCancel () {
440
- that.toggleResId = that.resId
441
- },
442
- })
443
- } else {
444
- this.reload({
445
- resId: value
446
- })
447
- }
448
- },
449
- // 保存文档
450
- save () {
451
- // 验证必须输入项
452
- if (this.editorRef.validate()) {
453
- // 获取HTML文档和结构化数据(JSON)
454
- const data = {
455
- doc: this.editorRef.getHtml(),
456
- dataObject: this.editorRef.getBindObject(),
457
- dataMode: this.dataMode,
458
- resId: this.resId,
459
- modifyResModel: this.modifyResModel,
460
- logicExtraParams: this.logicExtraParams
461
- }
462
- // 保存HTML文档和结构化数据到后端服务
463
- runLogic(this.saveDataLogicName, data, this.serviceName).then(res => {
464
- this.$message.success('保存成功')
465
- this.changeRes(res.currResData.id)
466
- this.$emit('saveafter', data.dataObject)
467
- }).finally(() => {
468
- this.resDataModalVisible = false
469
- })
470
- } else {
471
- this.$message.error('请检查未填写的项目')
472
- }
473
- },
474
- // 打印文档
475
- print () {
476
- this.editorRef.execCommand('print')
477
- },
478
- // 关闭编辑器
479
- close () {
480
- this.ready = false
481
- },
482
- // 刷新文档
483
- refresh () {
484
- this.loadFile(this.fileUrl, this.bindObject, this.currResData)
485
- },
486
- // 导出下拉菜单
487
- handleExportMenuClick (e) {
488
- const key = e.key
489
- this.editorRef.execCommand(key)
490
- }
491
- }
492
- }
493
- </script>
494
- <style scoped lang="less">
495
- .editor-action-container {
496
- height: 40px;
497
- }
498
- :deep(.ant-divider-horizontal) {
499
- margin: 4px 0;
500
- }
501
- </style>