vue2-client 1.15.78 → 1.15.80

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