vue2-client 1.15.67 → 1.15.70

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 (138) hide show
  1. package/docs//345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +0 -10
  2. package/package.json +1 -1
  3. package/src/base-client/components/common/XFormTable/demo.vue +2 -2
  4. package/src/base-client/components/common/XTable/XTableWrapper.vue +1 -1
  5. package/src/base-client/components/his/XHisEditor/XHisEditor.vue +43 -51
  6. package/src/base-client/components/his/XTextCard/XTextCard.vue +207 -207
  7. package/src/base-client/components/his/threeTestOrders/editor.vue +111 -111
  8. package/src/router/async/router.map.js +2 -2
  9. package/src/utils/EncryptUtil.js +87 -0
  10. package/src/utils/request.js +12 -0
  11. package/vue.config.js +1 -1
  12. package/.history/public/his/editor/editor_20250606134713.html +0 -51
  13. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527173925.vue +0 -509
  14. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174316.vue +0 -524
  15. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174419.vue +0 -524
  16. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174422.vue +0 -524
  17. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172825.vue +0 -207
  18. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172945.vue +0 -211
  19. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172949.vue +0 -212
  20. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611173010.vue +0 -212
  21. package/.history/src/base-client/components/common/XForm/XFormItem_20250508134122.vue +0 -1320
  22. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171604.vue +0 -1332
  23. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171613.vue +0 -1331
  24. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171703.vue +0 -1331
  25. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171720.vue +0 -1331
  26. package/.history/src/base-client/components/common/XForm/XFormItem_20250527174327.vue +0 -1339
  27. package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612092804.vue +0 -731
  28. package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612112546.vue +0 -748
  29. package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612113808.vue +0 -748
  30. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115237.vue +0 -1071
  31. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115346.vue +0 -1078
  32. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115350.vue +0 -1077
  33. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115415.vue +0 -1077
  34. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115429.vue +0 -1077
  35. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611091619.vue +0 -442
  36. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092547.vue +0 -442
  37. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092552.vue +0 -442
  38. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092744.vue +0 -475
  39. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092955.vue +0 -475
  40. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092957.vue +0 -475
  41. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095652.vue +0 -477
  42. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095701.vue +0 -477
  43. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095704.vue +0 -477
  44. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100005.vue +0 -473
  45. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100011.vue +0 -473
  46. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100014.vue +0 -473
  47. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100833.vue +0 -473
  48. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100853.vue +0 -473
  49. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100940.vue +0 -473
  50. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101011.vue +0 -473
  51. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101013.vue +0 -473
  52. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101014.vue +0 -473
  53. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101159.vue +0 -473
  54. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101238.vue +0 -474
  55. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101240.vue +0 -474
  56. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101242.vue +0 -474
  57. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101404.vue +0 -472
  58. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101410.vue +0 -472
  59. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101459.vue +0 -472
  60. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101500.vue +0 -472
  61. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101502.vue +0 -472
  62. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101504.vue +0 -472
  63. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101610.vue +0 -501
  64. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101700.vue +0 -501
  65. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101702.vue +0 -501
  66. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101741.vue +0 -504
  67. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101749.vue +0 -504
  68. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101759.vue +0 -504
  69. package/.history/src/base-client/components/his/XHisEditor/dome_20250611091349.vue +0 -131
  70. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105854.vue +0 -160
  71. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105902.vue +0 -160
  72. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105924.vue +0 -160
  73. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105932.vue +0 -158
  74. package/.history/src/base-client/components/his/XList/XList_20250609135848.vue +0 -173
  75. package/.history/src/base-client/components/his/XList/XList_20250609141026.vue +0 -222
  76. package/.history/src/base-client/components/his/XList/XList_20250609141035.vue +0 -229
  77. package/.history/src/base-client/components/his/XList/XList_20250609141103.vue +0 -229
  78. package/.history/src/base-client/components/his/XList/XList_20250609141105.vue +0 -229
  79. package/.history/src/base-client/components/his/XList/XList_20250609141334.vue +0 -241
  80. package/.history/src/base-client/components/his/XList/XList_20250609141404.vue +0 -241
  81. package/.history/src/base-client/components/his/XList/XList_20250609141406.vue +0 -241
  82. package/.history/src/base-client/components/his/XList/XList_20250609141801.vue +0 -245
  83. package/.history/src/base-client/components/his/XList/XList_20250609142033.vue +0 -245
  84. package/.history/src/base-client/components/his/XList/XList_20250609142038.vue +0 -245
  85. package/.history/src/base-client/components/his/XList/XList_20250609142435.vue +0 -255
  86. package/.history/src/base-client/components/his/XList/XList_20250609142503.vue +0 -255
  87. package/.history/src/base-client/components/his/XList/XList_20250609142504.vue +0 -255
  88. package/.history/src/base-client/components/his/XList/XList_20250609143012.vue +0 -270
  89. package/.history/src/base-client/components/his/XList/XList_20250609143044.vue +0 -270
  90. package/.history/src/base-client/components/his/XList/XList_20250609143046.vue +0 -270
  91. package/.history/src/base-client/components/his/XList/XList_20250609143210.vue +0 -270
  92. package/.history/src/base-client/components/his/XList/XList_20250609144339.vue +0 -294
  93. package/.history/src/base-client/components/his/XList/XList_20250609144410.vue +0 -294
  94. package/.history/src/base-client/components/his/XList/XList_20250609144412.vue +0 -294
  95. package/.history/src/base-client/components/his/XList/XList_20250609144647.vue +0 -303
  96. package/.history/src/base-client/components/his/XList/XList_20250609144716.vue +0 -303
  97. package/.history/src/base-client/components/his/XList/XList_20250609144729.vue +0 -303
  98. package/.history/src/base-client/components/his/XList/XList_20250609151232.vue +0 -288
  99. package/.history/src/base-client/components/his/XList/XList_20250609151247.vue +0 -288
  100. package/.history/src/base-client/components/his/XList/XList_20250609151252.vue +0 -288
  101. package/.history/src/base-client/components/his/XList/XList_20250609161220.vue +0 -317
  102. package/.history/src/base-client/components/his/XList/XList_20250609161258.vue +0 -306
  103. package/.history/src/base-client/components/his/XList/XList_20250609161319.vue +0 -306
  104. package/.history/src/base-client/components/his/XList/XList_20250609161320.vue +0 -306
  105. package/.history/src/base-client/components/his/XList/XList_20250704142024.vue +0 -495
  106. package/.history/src/base-client/components/his/XList/XList_20250704142033.vue +0 -495
  107. package/.history/src/base-client/components/his/XList/XList_20250704142040.vue +0 -494
  108. package/.history/src/base-client/components/his/XList/XList_20250704142211.vue +0 -494
  109. package/.history/src/base-client/components/his/XList/XList_20250704142214.vue +0 -494
  110. package/.history/src/base-client/components/his/XList/XList_20250704143010.vue +0 -495
  111. package/.history/src/base-client/components/his/XList/XList_20250704143203.vue +0 -495
  112. package/.history/src/base-client/components/his/XList/XList_20250707095101.vue +0 -492
  113. package/.history/src/base-client/components/his/XList/XList_20250707100152.vue +0 -492
  114. package/.history/src/base-client/components/his/XList/XList_20250707100200.vue +0 -485
  115. package/.history/src/base-client/components/his/XList/XList_20250707100208.vue +0 -485
  116. package/.history/src/base-client/components/his/XList/XList_20250707100259.vue +0 -488
  117. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250609151519.vue +0 -222
  118. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250612155514.vue +0 -183
  119. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250612155556.vue +0 -183
  120. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250612155600.vue +0 -183
  121. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250612181609.vue +0 -206
  122. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250612181629.vue +0 -209
  123. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613095553.vue +0 -242
  124. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613095610.vue +0 -242
  125. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613095612.vue +0 -242
  126. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100041.vue +0 -251
  127. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100047.vue +0 -251
  128. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100054.vue +0 -250
  129. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100105.vue +0 -250
  130. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100107.vue +0 -250
  131. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100114.vue +0 -250
  132. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613140844.vue +0 -238
  133. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613140910.vue +0 -238
  134. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613140912.vue +0 -238
  135. package/Users/objecrt/af-vue2-client/src/base-client/components/his/XShiftSchedule/XShiftSchedule.vue +0 -36
  136. package/src/base-client/components/TreeList/TreeList.vue +0 -91
  137. package/src/base-client/components/TreeList/TreeNode.vue +0 -81
  138. package/src/base-client/components/common/XCardSet/XTiltle.vue +0 -191
@@ -1,473 +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
- },
165
- // 初始化 保存后 加载文件后 诊断选择
166
- emits: ['init', 'saveafter', 'afterLoadFile', 'selected'],
167
- methods: {
168
- runLogic,
169
- /* eslint-disable */
170
- async initDiagnosisAutocomplete (dropDownBoxParams) {
171
- if (!this.editorRef || !this.editorRef.document) {
172
- return
173
- }
174
-
175
- // 添加参数检查
176
- if (!dropDownBoxParams || !Array.isArray(dropDownBoxParams) || dropDownBoxParams.length === 0) {
177
- return
178
- }
179
-
180
- // 创建一个简单的自定义事件系统
181
- // 1. 创建一个隐藏的DOM元素作为事件通道
182
- const eventChannel = this.editorRef.document.createElement('div');
183
- eventChannel.id = 'diagnosis-event-channel';
184
- eventChannel.style.display = 'none';
185
- this.editorRef.document.body.appendChild(eventChannel);
186
- // 2. 在iframe文档中监听自定义事件
187
- const that = this;
188
- this.editorRef.document.addEventListener('diagnosis-selected', function(e) {
189
- if (e && e.detail) {
190
- that.$emit('selected', { item: e.detail, editor: that.editorRef });
191
- }
192
- });
193
-
194
- for (const param of dropDownBoxParams) {
195
- if (param.identificationCode && param.dataLogic) {
196
- try {
197
- let preliDiagnoData = null
198
- // 保留获取后端数据的逻辑
199
- await runLogic(param.dataLogic,
200
- {}, 'af-his').then(res => {
201
- preliDiagnoData = res
202
- })
203
-
204
- // 创建脚本元素
205
- const scriptElement = this.editorRef.document.createElement('script')
206
-
207
- // 注入自定义事件触发函数和初始化代码
208
- scriptElement.textContent = `
209
- // 定义一个函数来触发自定义事件
210
- function triggerDiagnosisSelected(data) {
211
- const event = new CustomEvent('diagnosis-selected', {
212
- detail: data,
213
- bubbles: true
214
- });
215
- document.dispatchEvent(event);
216
- }
217
-
218
- // 初始化诊断下拉菜单,使用自定义事件触发函数
219
- (${initDiagnosisDropdown.toString()})(
220
- editor,
221
- ${JSON.stringify(preliDiagnoData)},
222
- '${param.identificationCode}',
223
- triggerDiagnosisSelected
224
- );
225
- `;
226
-
227
- this.editorRef.document.body.appendChild(scriptElement);
228
- } catch (error) {
229
- console.error('初始化诊断自动完成失败:', error);
230
- }
231
- }
232
- }
233
- },
234
- /* eslint-disable */
235
- // 初始化文档
236
- onload (e) {
237
- if (e && e.target && e.target.contentWindow) {
238
- this.editorRef = e.target.contentWindow.editor
239
- // 等待文档加载完成
240
- this.$emit('init', {})
241
- }
242
- },
243
- init (params) {
244
- const {
245
- fileUrl,
246
- resId,
247
- currResData = {},
248
- bindObject,
249
- saveDataLogicName,
250
- logicExtraParams,
251
- dropDownBoxParams,
252
- serviceName,
253
- showModeChoose = true,
254
- modeType = 'form'
255
- } = params
256
- this.resId = resId
257
- if (bindObject) {
258
- this.dataMode = 'data'
259
- this.bindObject = bindObject
260
- } else {
261
- this.dataMode = 'template'
262
- }
263
- this.saveDataLogicName = saveDataLogicName
264
- this.logicExtraParams = logicExtraParams
265
- this.serviceName = serviceName
266
- this.showModeChoose = showModeChoose
267
- this.modeType = modeType
268
- this.ready = true
269
- // 先加载文件
270
- this.loadFile(fileUrl, bindObject, currResData, true).then(async () => {
271
- // 文件加载完成后再初始化自动完成
272
- await this.initDiagnosisAutocomplete(dropDownBoxParams)
273
- })
274
- this.loadResList()
275
- },
276
- // 加载文档
277
- loadFile (fileUrl, bindObject, currResData, isAppend = true) {
278
- this.loading = true
279
- return new Promise((resolve) => {
280
- if (isAppend) {
281
- // 加载新文档
282
- this.editorRef.loadUrl(fileUrl).then(() => {
283
- // 获取新文档内容
284
- const newContent = this.editorRef.getHtml()
285
- console.log('html', { newContent })
286
-
287
- // 使用编辑器提供的insertContent方法
288
- this.editorRef.insertContent(newContent)
289
-
290
- if (bindObject) {
291
- this.editorRef.setBindObject(bindObject)
292
- if (bindObject.template) {
293
- for (const key of Object.keys(bindObject.template)) {
294
- this.editorRef.bindDataList(key, bindObject.template[key])
295
- }
296
- }
297
- }
298
- this.changeMode()
299
- this.fileUrl = fileUrl
300
- if (!currResData.f_file_name) {
301
- currResData.f_file_name = '未命名'
302
- }
303
- this.currResData = currResData
304
- this.loading = false
305
- this.$emit('afterLoadFile', {})
306
- resolve()
307
- })
308
- } else {
309
- // 原有的加载逻辑
310
- this.editorRef.loadUrl(fileUrl).then(() => {
311
- if (bindObject) {
312
- this.editorRef.setBindObject(bindObject)
313
- if (bindObject.template) {
314
- for (const key of Object.keys(bindObject.template)) {
315
- this.editorRef.bindDataList(key, bindObject.template[key])
316
- }
317
- }
318
- }
319
- this.changeMode()
320
- this.fileUrl = fileUrl
321
- if (!currResData.f_file_name) {
322
- currResData.f_file_name = '未命名'
323
- }
324
- this.currResData = currResData
325
- this.loading = false
326
- this.$emit('afterLoadFile', {})
327
- resolve()
328
- })
329
- }
330
- })
331
- },
332
- // 加载文档列表
333
- loadResList () {
334
- runLogic('getMedicalList', this.logicExtraParams, this.serviceName).then(res => {
335
- this.resList = res
336
- this.toggleResId = this.resId
337
- })
338
- },
339
- // 修改模式
340
- changeMode (e) {
341
- this.editorRef.execCommand(this.modeType)
342
- },
343
- // 打开文档信息修改面板
344
- openRenameModal () {
345
- this.resDataModalMode = 'modify'
346
- this.modifyResModel = {
347
- f_file_name: this.currResData.f_file_name
348
- }
349
- this.resDataModalVisible = true
350
- },
351
- // 提交文档信息修改
352
- onSubmit () {
353
- this.$refs.resModifyForm.validate(valid => {
354
- if (valid) {
355
- if (this.resDataModalMode === 'modify' && this.modifyResModel.f_file_name === this.currResData.f_file_name) {
356
- this.$message.warn('新文档名不能与原文档名一致!')
357
- return false
358
- }
359
- this.save()
360
- return true
361
- } else {
362
- return false
363
- }
364
- })
365
- },
366
- // 打开文档新建面板
367
- openAddResModal () {
368
- this.resDataModalMode = 'add'
369
- this.modifyResModel = {
370
- f_file_name: undefined
371
- }
372
- this.resDataModalVisible = true
373
- },
374
- // 新建文档
375
- addRes () {
376
- this.$emit('add', {})
377
- // const params = Object.assign({
378
- // isAddForce: true
379
- // }, this.logicExtraParams)
380
- // this.reload(params)
381
- },
382
- // 重新加载
383
- reload (params) {
384
- runLogic('getFileInformation', params, this.serviceName).then(res => {
385
- this.resDataModalVisible = false
386
- this.init({
387
- modeType: this.modeType,
388
- fileUrl: res.url,
389
- resId: res.id,
390
- currResData: res.currResData,
391
- bindObject: res.bindObject,
392
- saveDataLogicName: this.saveDataLogicName,
393
- serviceName: this.serviceName,
394
- logicExtraParams: this.logicExtraParams,
395
- dropDownBoxParams: this.dropDownBoxParams
396
- })
397
- })
398
- },
399
- // 切换文档
400
- changeRes (value) {
401
- if (this.resId === -1) {
402
- const that = this
403
- this.$confirm({
404
- title: '确认切换文档吗?',
405
- content: '您有尚未保存的文档,切换文档将丢失所有的修改',
406
- onOk () {
407
- that.reload({
408
- resId: value
409
- })
410
- },
411
- onCancel () {
412
- that.toggleResId = that.resId
413
- },
414
- })
415
- } else {
416
- this.reload({
417
- resId: value
418
- })
419
- }
420
- },
421
- // 保存文档
422
- save () {
423
- // 验证必须输入项
424
- if (this.editorRef.validate()) {
425
- // 获取HTML文档和结构化数据(JSON)
426
- const data = {
427
- doc: this.editorRef.getHtml(),
428
- dataObject: this.editorRef.getBindObject(),
429
- dataMode: this.dataMode,
430
- resId: this.resId,
431
- modifyResModel: this.modifyResModel,
432
- logicExtraParams: this.logicExtraParams
433
- }
434
- // 保存HTML文档和结构化数据到后端服务
435
- runLogic(this.saveDataLogicName, data, this.serviceName).then(res => {
436
- this.$message.success('保存成功')
437
- this.changeRes(res.currResData.id)
438
- this.$emit('saveafter', data.dataObject)
439
- }).finally(() => {
440
- this.resDataModalVisible = false
441
- })
442
- } else {
443
- this.$message.error('请检查未填写的项目')
444
- }
445
- },
446
- // 打印文档
447
- print () {
448
- this.editorRef.execCommand('print')
449
- },
450
- // 关闭编辑器
451
- close () {
452
- this.ready = false
453
- },
454
- // 刷新文档
455
- refresh () {
456
- this.loadFile(this.fileUrl, this.bindObject, this.currResData)
457
- },
458
- // 导出下拉菜单
459
- handleExportMenuClick (e) {
460
- const key = e.key
461
- this.editorRef.execCommand(key)
462
- }
463
- }
464
- }
465
- </script>
466
- <style scoped lang="less">
467
- .editor-action-container {
468
- height: 40px;
469
- }
470
- :deep(.ant-divider-horizontal) {
471
- margin: 4px 0;
472
- }
473
- </style>