vue2-client 1.15.93 → 1.15.96

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