vue2-client 1.14.94 → 1.14.95

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