@epxing/business 5.3.0-beta.2 → 5.3.0-beta.4
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.
- package/API.md +115 -111
- package/README.md +44 -44
- package/dist/src/base/AiSkillEditor.js +1 -1
- package/dist/src/base/AiSkillEditor.vue.js +2 -0
- package/dist/src/base/AppConfigFormItem.js +1 -3
- package/dist/src/base/AppConfigFormItem.vue.js +210 -85
- package/dist/src/base/CommonFieldList.js +1 -1
- package/dist/src/base/CommonFieldList.vue.js +2 -1
- package/dist/src/base/ConfigModuleIndex.js +38 -1
- package/dist/src/base/ManageAppNav.js +1 -1
- package/dist/src/base/ManageMenu.js +1 -1
- package/dist/src/base/RoleBindTrace.js +253 -0
- package/dist/src/base/RoleGroupManage.js +1037 -0
- package/dist/src/base/ServiceMenu.js +7 -6
- package/dist/src/components/AiList.js +1278 -3
- package/dist/src/components/EntityCheckboxFind.vue.js +14 -10
- package/dist/src/components/EntityRightFormItem.js +1 -5
- package/dist/src/components/EntityRightFormItem.vue.js +3 -1
- package/dist/src/components/EntitySystemEr.js +492 -0
- package/dist/src/components/HallNav.vue.js +7 -36
- package/dist/src/components/IconFontLibrary.js +22 -1
- package/dist/src/components/IconFontList.js +21 -1
- package/dist/src/components/PrintFormList.js +2 -1
- package/dist/src/components/PrintFormList.vue.js +3 -1
- package/dist/src/components/WikiWorkbench.js +153 -129
- package/dist/src/components/authorization/AuthorizationInterface.js +3 -1
- package/dist/src/components/custom-bpmn/PropertiesView.js +1991 -1942
- package/dist/src/components/icon-gallery/IconGallery.js +193 -0
- package/dist/src/components/icon-gallery/mixin.js +150 -0
- package/dist/src/components/wiki-workbench/WikiIntake.js +86 -93
- package/dist/src/components/wiki-workbench/WikiIntake.vue.js +153 -73
- package/dist/src/index.js +26 -20
- package/dist/src/public-components.js +16 -14
- package/dist/src/route-components.js +5 -5
- package/dist/src/system.component.index.js +1 -1
- package/dist/src/system.component.js +8 -3
- package/dist/src/system.component.lazy.js +1 -1
- package/dist/src/views/Add.js +1 -1
- package/dist/src/views/Add.vue.js +8 -3
- package/dist/src/views/AiToolManager.js +792 -317
- package/dist/src/views/App.js +3 -45
- package/dist/src/views/AppRoleSelect.js +3 -230
- package/dist/src/views/Error.js +3 -207
- package/dist/src/views/ExcelDesign.js +326 -316
- package/dist/src/views/JvmMemoryMonitor.js +463 -0
- package/dist/src/views/Module.js +3 -170
- package/dist/src/views/WikiBinding.js +88 -25
- package/dist/style.css +2867 -1487
- package/package.json +12 -6
- package/src/base/AiSkillEditor.vue +2 -0
- package/src/base/AppConfigFormItem.vue +211 -145
- package/src/base/CommonFieldList.vue +9 -6
- package/src/base/ConfigModuleIndex.vue +37 -1
- package/src/base/ManageAppNav.vue +1188 -1188
- package/src/base/ManageMenu.vue +933 -933
- package/src/base/RoleBindTrace.vue +364 -0
- package/src/base/RoleGroupManage.vue +1160 -0
- package/src/base/ServiceMenu.vue +6 -5
- package/src/components/AiList.vue +439 -113
- package/src/components/EntityCheckboxFind.vue +12 -8
- package/src/components/EntityRightFormItem.vue +9 -10
- package/src/components/EntitySystemEr.vue +517 -0
- package/src/components/HallNav.vue +6 -33
- package/src/components/IconFontLibrary.vue +27 -60
- package/src/components/IconFontList.vue +13 -64
- package/src/components/PrintFormList.vue +33 -27
- package/src/components/WikiWorkbench.vue +90 -60
- package/src/components/authorization/AuthorizationInterface.vue +2 -0
- package/src/components/custom-bpmn/CustomPalette.js +1 -1
- package/src/components/custom-bpmn/CustomRenderer.js +1 -1
- package/src/components/custom-bpmn/PropertiesView.vue +35 -4
- package/src/components/custom-bpmn/index.js +1 -1
- package/src/components/icon-gallery/IconGallery.vue +130 -0
- package/src/components/icon-gallery/mixin.jsx +109 -0
- package/src/components/wiki-workbench/WikiIntake.vue +178 -104
- package/src/index.js +24 -20
- package/src/public-components.js +1 -0
- package/src/route-components.js +4 -4
- package/src/system.component.index.js +1 -1
- package/src/views/Add.vue +8 -5
- package/src/views/AiToolManager.vue +326 -4
- package/src/views/App.vue +4 -53
- package/src/views/AppRoleSelect.vue +4 -334
- package/src/views/Error.vue +4 -63
- package/src/views/ExcelDesign.vue +24 -7
- package/src/views/JvmMemoryMonitor.vue +284 -0
- package/src/views/Module.vue +4 -210
- package/src/views/WikiBinding.vue +42 -0
- package/types/app.d.ts +1 -0
- package/types/dept-find.d.ts +1 -1
- package/types/index.d.ts +15 -14
- package/types/popup.d.ts +2 -2
- package/types/route-components.d.ts +1 -1
- package/types/user-find.d.ts +1 -1
- package/dist/assets/role_select-DTqRlFNz.webp +0 -0
- package/dist/src/components/AiList.vue.js +0 -93
- package/dist/src/components/IconFontLibrary.vue.js +0 -67
- package/dist/src/components/IconFontList.vue.js +0 -79
|
@@ -19,34 +19,40 @@
|
|
|
19
19
|
入库记录
|
|
20
20
|
<span class="sub">共 {{ rows.length }} 条</span>
|
|
21
21
|
<el-upload
|
|
22
|
+
ref="filePicker"
|
|
22
23
|
class="r"
|
|
23
24
|
action=""
|
|
24
25
|
multiple
|
|
25
26
|
:limit="MAX_FILES"
|
|
26
27
|
:auto-upload="false"
|
|
28
|
+
:disabled="uploading"
|
|
29
|
+
:show-file-list="false"
|
|
27
30
|
:file-list="picked"
|
|
28
31
|
:on-change="onPick"
|
|
29
|
-
:on-remove="onPick"
|
|
30
32
|
:on-exceed="onExceed"
|
|
31
33
|
accept=".doc,.docx,.pdf,.ppt,.pptx,.xls,.xlsx,.txt,.md"
|
|
32
34
|
>
|
|
33
|
-
<el-button size="small"
|
|
35
|
+
<el-button type="primary" size="small" :loading="uploading">上传并 AI 生成</el-button>
|
|
34
36
|
</el-upload>
|
|
35
|
-
<!-- 手动提交而不是选完就传:一批文件要走**一个请求**才能落成一条入库记录,
|
|
36
|
-
而 el-upload 的自动上传是每个文件各调一次 -->
|
|
37
|
-
<el-button
|
|
38
|
-
type="primary"
|
|
39
|
-
size="small"
|
|
40
|
-
:disabled="!picked.length"
|
|
41
|
-
:loading="uploading"
|
|
42
|
-
@click="doUpload"
|
|
43
|
-
>⬆ 上传{{ picked.length ? ' ' + picked.length + ' 个' : '' }}</el-button>
|
|
44
37
|
</div>
|
|
45
38
|
|
|
46
39
|
<el-table :data="rows" size="small" empty-text="还没有上传过原始文件">
|
|
47
40
|
<el-table-column label="文件" min-width="200">
|
|
48
|
-
<template
|
|
49
|
-
<div class="epx-wiki-intake__nm">
|
|
41
|
+
<template #default="s">
|
|
42
|
+
<div class="epx-wiki-intake__nm">
|
|
43
|
+
<el-button v-if="filesOf(s.row).length === 1" type="text" class="epx-wiki-intake__file" @click="download(filesOf(s.row)[0])">
|
|
44
|
+
{{ ICON[s.row.fileType] || '📄' }} {{ s.row.fileName }}
|
|
45
|
+
</el-button>
|
|
46
|
+
<el-popover v-else-if="filesOf(s.row).length > 1" placement="bottom-start" trigger="click" width="360">
|
|
47
|
+
<div v-for="file in filesOf(s.row)" :key="file.id">
|
|
48
|
+
<el-button type="text" class="epx-wiki-intake__file" @click="download(file)">{{ file.fileName }}</el-button>
|
|
49
|
+
</div>
|
|
50
|
+
<template #reference><el-button type="text" class="epx-wiki-intake__file">
|
|
51
|
+
{{ ICON[s.row.fileType] || '📄' }} {{ s.row.fileName }} <i class="el-icon-arrow-down"></i>
|
|
52
|
+
</el-button></template>
|
|
53
|
+
</el-popover>
|
|
54
|
+
<span v-else>{{ ICON[s.row.fileType] || '📄' }} {{ s.row.fileName }}</span>
|
|
55
|
+
</div>
|
|
50
56
|
<div class="epx-wiki-intake__sub">{{ size(s.row.fileSize) }}</div>
|
|
51
57
|
</template>
|
|
52
58
|
</el-table-column>
|
|
@@ -91,32 +97,15 @@
|
|
|
91
97
|
</template>
|
|
92
98
|
</el-table-column>
|
|
93
99
|
<el-table-column label="操作" width="250">
|
|
94
|
-
<template
|
|
95
|
-
<!--
|
|
96
|
-
<el-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
@command="mode => run(s.row, mode)"
|
|
100
|
-
>
|
|
101
|
-
<el-button type="text">
|
|
102
|
-
{{ s.row.state === 'fail' ? '换方式重试' : '开始处理' }}<i class="el-icon-arrow-down"></i>
|
|
103
|
-
</el-button>
|
|
104
|
-
<template v-slot:dropdown><el-dropdown-menu>
|
|
105
|
-
<!-- 走 Beaver 的 WikiGenerator:它自己规划目录树、逐页生成、逐页验收,
|
|
106
|
-
产物先落平台草稿,确认后再发布。和下面三项不是一个量级 -->
|
|
107
|
-
<el-dropdown-item command="wiki" divided>AI 生成目录与内容(会调模型,慢)</el-dropdown-item>
|
|
108
|
-
<el-dropdown-item command="ai">AI 按语义拆页(Word/PDF 用这个)</el-dropdown-item>
|
|
109
|
-
<el-dropdown-item command="outline">按标题拆页(原文是 markdown 才有效)</el-dropdown-item>
|
|
110
|
-
<el-dropdown-item command="single">整篇转成一个页</el-dropdown-item>
|
|
111
|
-
</el-dropdown-menu></template>
|
|
112
|
-
</el-dropdown>
|
|
100
|
+
<template #default="s">
|
|
101
|
+
<!-- 历史待处理记录、失败记录和已完成记录都从同一入口重新生成 -->
|
|
102
|
+
<el-button v-if="s.row.state === 'wait' || s.row.state === 'fail' || canRegenerate(s.row)" type="text" @click="generate(s.row)">
|
|
103
|
+
重新 AI 生成
|
|
104
|
+
</el-button>
|
|
113
105
|
<el-button v-if="s.row.state === 'done' && s.row.purged !== '1'" type="text" @click="purge(s.row)">
|
|
114
106
|
清理原文件
|
|
115
107
|
</el-button>
|
|
116
|
-
<el-button
|
|
117
|
-
重新 AI 生成
|
|
118
|
-
</el-button>
|
|
119
|
-
<el-button type="text" class="epx-wiki-intake__del" @click="drop(s.row)">删记录</el-button>
|
|
108
|
+
<el-button type="text" class="epx-wiki-intake__del" :disabled="s.row.state === 'run'" @click="drop(s.row)">删记录</el-button>
|
|
120
109
|
</template>
|
|
121
110
|
</el-table-column>
|
|
122
111
|
</el-table>
|
|
@@ -124,16 +113,17 @@
|
|
|
124
113
|
</template>
|
|
125
114
|
|
|
126
115
|
<script>
|
|
116
|
+
import { h } from 'vue'
|
|
127
117
|
import { codeLabelsAll } from './codes'
|
|
128
118
|
|
|
129
119
|
/**
|
|
130
120
|
* 工作台「原始文件」页签。
|
|
131
121
|
*
|
|
132
|
-
*
|
|
133
|
-
*
|
|
122
|
+
* 上传与生成合并成一步;完成后默认直接发布并纳入索引,也可以选「保存草稿」
|
|
123
|
+
* 核对后再发布——生成产物落的是平台草稿页,发布才写回源。
|
|
134
124
|
*
|
|
135
125
|
* 解析失败时原始文件<strong>保留</strong>并把原因写进记录:先删文件会让
|
|
136
|
-
*
|
|
126
|
+
* 「重新生成」无从下手。
|
|
137
127
|
*/
|
|
138
128
|
// 处理方式与状态的中文名读代码表(FM_AI_WIKI_INTAKE_MODE / _STATE)。颜色留在组件里
|
|
139
129
|
const STATE_TYPE = { wait: 'info', run: 'primary', done: 'success', fail: 'danger' }
|
|
@@ -178,6 +168,10 @@ export default {
|
|
|
178
168
|
// 已选但还没提交的文件。一批要一起发,所以自己收着,不用 el-upload 的自动上传
|
|
179
169
|
picked: [],
|
|
180
170
|
uploading: false,
|
|
171
|
+
pickPromptTimer: null,
|
|
172
|
+
// 生成表单(上传并生成 / 单条生成共用)。publish '1' 直接发布、'0' 只保存草稿
|
|
173
|
+
genForm: { publish: '1' },
|
|
174
|
+
generateFormId: 0,
|
|
181
175
|
pollingTimer: null,
|
|
182
176
|
// 按入库记录保存“生成的页”展开状态。轮询会替换 rows,不能把状态挂在行对象上。
|
|
183
177
|
expandedPages: {},
|
|
@@ -195,11 +189,13 @@ export default {
|
|
|
195
189
|
this.load()
|
|
196
190
|
codeLabelsAll(this.$http, { mode: 'FM_AI_WIKI_INTAKE_MODE', state: 'FM_AI_WIKI_INTAKE_STATE' })
|
|
197
191
|
.then(m => {
|
|
198
|
-
|
|
192
|
+
// wiki 不在代码表里(AI 生成不走 processIntake),本地补一个显示名
|
|
193
|
+
this.modeLabels = Object.assign({ wiki: 'AI 生成' }, m.mode)
|
|
199
194
|
this.stateLabels = m.state
|
|
200
195
|
})
|
|
201
196
|
},
|
|
202
197
|
beforeUnmount () {
|
|
198
|
+
if (this.pickPromptTimer) window.clearTimeout(this.pickPromptTimer)
|
|
203
199
|
this.stopPolling()
|
|
204
200
|
},
|
|
205
201
|
computed: {
|
|
@@ -212,9 +208,9 @@ export default {
|
|
|
212
208
|
},
|
|
213
209
|
methods: {
|
|
214
210
|
load (silent) {
|
|
215
|
-
if (!this.wikiId) return
|
|
211
|
+
if (!this.wikiId) return Promise.resolve()
|
|
216
212
|
if (!silent) this.loading = true
|
|
217
|
-
this.$http.get({ action: 'intakes', entityId: this.metaId, wikiId: this.wikiId })
|
|
213
|
+
return this.$http.get({ action: 'intakes', entityId: this.metaId, wikiId: this.wikiId })
|
|
218
214
|
.then(d => {
|
|
219
215
|
this.rows = (d && d.intakes) || []
|
|
220
216
|
this.stash = (d && d.stash) || '暂存区'
|
|
@@ -250,6 +246,15 @@ export default {
|
|
|
250
246
|
return (row.pages || '').split(',').map(s => s.trim()).filter(Boolean)
|
|
251
247
|
},
|
|
252
248
|
|
|
249
|
+
filesOf (row) {
|
|
250
|
+
return row.purged === '1' ? [] : (row.files || [])
|
|
251
|
+
},
|
|
252
|
+
|
|
253
|
+
/** 复用平台附件下载地址,保留租户上下文与鉴权参数。 */
|
|
254
|
+
download (file) {
|
|
255
|
+
if (file && file.id) window.location.href = this.$util.getFileUrl(file.id)
|
|
256
|
+
},
|
|
257
|
+
|
|
253
258
|
togglePages (row) {
|
|
254
259
|
this.$set(this.expandedPages, row.id, !this.expandedPages[row.id])
|
|
255
260
|
},
|
|
@@ -270,93 +275,146 @@ export default {
|
|
|
270
275
|
this.$message.warning('一次最多选 ' + MAX_FILES + ' 个文件,分批传')
|
|
271
276
|
},
|
|
272
277
|
|
|
273
|
-
/**
|
|
278
|
+
/** 多选文件会逐个触发 on-change,等本轮选择结束后只弹一次生成确认框。 */
|
|
274
279
|
onPick (file, fileList) {
|
|
275
280
|
this.picked = fileList
|
|
281
|
+
if (this.pickPromptTimer) window.clearTimeout(this.pickPromptTimer)
|
|
282
|
+
this.pickPromptTimer = window.setTimeout(() => {
|
|
283
|
+
this.pickPromptTimer = null
|
|
284
|
+
this.generateFromFiles()
|
|
285
|
+
}, 0)
|
|
286
|
+
},
|
|
287
|
+
|
|
288
|
+
clearPicked () {
|
|
289
|
+
this.picked = []
|
|
290
|
+
this.$refs.filePicker.clearFiles()
|
|
276
291
|
},
|
|
277
292
|
|
|
278
293
|
/**
|
|
279
|
-
*
|
|
294
|
+
* 「选择文件 → 上传 → 生成」合并成的一步:校验文件后弹生成表单,
|
|
295
|
+
* 确认时先落一条入库记录(uploadRaw),拿到记录 id 再直接发起 AI 生成。
|
|
280
296
|
*
|
|
281
297
|
* <p>平台 http 层的 formData 模式对数组会把每一项用同一个字段名 append 进去,
|
|
282
298
|
* 所以 file 传数组就是一个请求里的多个 part,后端按 getMultiFileMap 全取出来、
|
|
283
299
|
* 落成<strong>一条</strong>入库记录。
|
|
284
300
|
*/
|
|
285
|
-
|
|
301
|
+
generateFromFiles () {
|
|
286
302
|
const files = this.picked.map(f => f.raw || f).filter(Boolean)
|
|
287
303
|
if (!files.length) return
|
|
288
304
|
const over = files.find(f => f.size > MAX_MB * 1024 * 1024)
|
|
289
305
|
if (over) {
|
|
290
306
|
this.$message.error('「' + over.name + '」超过 ' + MAX_MB + 'MB。太大的文档拆出来的页也没法看,先自己拆一下')
|
|
307
|
+
this.clearPicked()
|
|
291
308
|
return
|
|
292
309
|
}
|
|
310
|
+
this.openGenerateForm({
|
|
311
|
+
title: 'AI 生成 Wiki',
|
|
312
|
+
confirmText: '开始生成',
|
|
313
|
+
hint: '将上传选中的 ' + files.length + ' 个文件,由 AI 规划目录树、逐页生成并逐页验收(会调模型,慢)。',
|
|
314
|
+
run: () => {
|
|
315
|
+
this.clearPicked()
|
|
316
|
+
this.uploadThenGenerate(files)
|
|
317
|
+
},
|
|
318
|
+
cancel: () => this.clearPicked()
|
|
319
|
+
})
|
|
320
|
+
},
|
|
321
|
+
|
|
322
|
+
/**
|
|
323
|
+
* 列表内单条生成:wait 是上传后没生成的兜底入口,fail / done 是重跑。
|
|
324
|
+
* 重跑会原位更新这条记录上次生成的页面,不会复制出一套重名页。
|
|
325
|
+
*/
|
|
326
|
+
generate (row) {
|
|
327
|
+
this.openGenerateForm({
|
|
328
|
+
title: '重新 AI 生成',
|
|
329
|
+
confirmText: '重新生成',
|
|
330
|
+
hint: '将根据这条记录的原始文件重新生成目录和内容;已有生成页会原位更新。',
|
|
331
|
+
run: () => this.startGenerate(row.id, row)
|
|
332
|
+
})
|
|
333
|
+
},
|
|
334
|
+
|
|
335
|
+
/**
|
|
336
|
+
* 生成确认弹窗:发布方式默认直接发布。
|
|
337
|
+
* 确认后立即关闭,由 run 在后台跑——整套生成要几分钟,不能让人守着弹窗等。
|
|
338
|
+
*/
|
|
339
|
+
openGenerateForm ({ title, confirmText, hint, run, cancel }) {
|
|
340
|
+
this.genForm.publish = '1'
|
|
341
|
+
const radioName = 'wiki-generate-publish-' + ++this.generateFormId
|
|
342
|
+
this.$msgbox({
|
|
343
|
+
title,
|
|
344
|
+
message: h('div', null, [
|
|
345
|
+
h('p', { style: 'margin:0 0 10px;line-height:1.6;font-size:12px;color:var(--color-text-assistant);' }, hint),
|
|
346
|
+
h('div', [
|
|
347
|
+
h('p', { style: 'margin:0 0 6px;' }, '完成后'),
|
|
348
|
+
h('label', { style: 'display:block;margin:0 0 8px;cursor:pointer;' }, [
|
|
349
|
+
h('input', {
|
|
350
|
+
key: radioName + '-publish',
|
|
351
|
+
type: 'radio',
|
|
352
|
+
name: radioName,
|
|
353
|
+
value: '1',
|
|
354
|
+
checked: true,
|
|
355
|
+
onChange: () => { this.genForm.publish = '1' }
|
|
356
|
+
}),
|
|
357
|
+
' 直接发布(纳入索引)'
|
|
358
|
+
]),
|
|
359
|
+
h('label', { style: 'display:block;cursor:pointer;' }, [
|
|
360
|
+
h('input', {
|
|
361
|
+
key: radioName + '-draft',
|
|
362
|
+
attrs: { type: 'radio', name: radioName, value: '0' },
|
|
363
|
+
on: { change: () => { this.genForm.publish = '0' } }
|
|
364
|
+
}),
|
|
365
|
+
' 保存草稿(核对后再发布)'
|
|
366
|
+
])
|
|
367
|
+
])
|
|
368
|
+
]),
|
|
369
|
+
confirmButtonText: confirmText,
|
|
370
|
+
cancelButtonText: '取消'
|
|
371
|
+
}).then(() => { run() }).catch(() => { if (cancel) cancel() })
|
|
372
|
+
},
|
|
373
|
+
|
|
374
|
+
/** 先落入库记录再直接发起生成;上传响应里的 id 就是生成入口要的记录 id。 */
|
|
375
|
+
uploadThenGenerate (files) {
|
|
293
376
|
this.uploading = true
|
|
294
377
|
this.$http.update(
|
|
295
378
|
{ action: 'uploadRaw', entityId: this.metaId, wikiId: this.wikiId, file: files },
|
|
296
379
|
{ requestType: 'formData' })
|
|
297
380
|
.then(d => {
|
|
298
|
-
|
|
299
|
-
|
|
381
|
+
const intakeId = d && d.id
|
|
382
|
+
if (!intakeId) throw new Error('上传响应里没有记录 id')
|
|
383
|
+
return this.load().then(() => this.startGenerate(intakeId))
|
|
384
|
+
})
|
|
385
|
+
.catch(e => {
|
|
386
|
+
this.$message.error((e && e.message) || '上传失败')
|
|
300
387
|
this.load()
|
|
301
388
|
})
|
|
302
|
-
.catch(e => this.$message.error((e && e.message) || '上传失败'))
|
|
303
389
|
.finally(() => { this.uploading = false })
|
|
304
390
|
},
|
|
305
391
|
|
|
306
392
|
/**
|
|
307
|
-
*
|
|
393
|
+
* 发起 AI 生成并处理结果。
|
|
308
394
|
*
|
|
309
|
-
* <p
|
|
310
|
-
*
|
|
311
|
-
* 替人默认一种的话,选错的代价是整批页要删回去重来。
|
|
395
|
+
* <p>生成要跑几分钟:先在本地把记录置成运行态并启动轮询,让人立刻看到「正在生成」;
|
|
396
|
+
* HTTP 返回只代表任务结束,发布或草稿、验收情况按结果分组展示。
|
|
312
397
|
*/
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
398
|
+
startGenerate (intakeId, row) {
|
|
399
|
+
const target = row || this.rows.find(r => r.id === intakeId)
|
|
400
|
+
if (target) {
|
|
401
|
+
this.$set(target, 'state', 'run')
|
|
402
|
+
this.$set(target, 'note', '任务已开始,正在解析上传材料…')
|
|
403
|
+
}
|
|
404
|
+
this.syncPolling()
|
|
317
405
|
return this.$http.update({
|
|
318
|
-
action: '
|
|
406
|
+
action: 'generateWiki',
|
|
407
|
+
entityId: this.metaId,
|
|
408
|
+
intakeId: intakeId,
|
|
409
|
+
publish: this.genForm.publish
|
|
319
410
|
}).then(d => {
|
|
320
|
-
this
|
|
411
|
+
this.showGenerationResult(d)
|
|
321
412
|
this.load()
|
|
322
413
|
this.$emit('changed')
|
|
323
414
|
}).catch(e => {
|
|
324
|
-
this.$message.error((e && e.message) || '
|
|
415
|
+
this.$message.error((e && e.message) || '生成失败')
|
|
325
416
|
this.load()
|
|
326
|
-
}).finally(() => { this.
|
|
327
|
-
},
|
|
328
|
-
|
|
329
|
-
/**
|
|
330
|
-
* AI 生成目录与内容。
|
|
331
|
-
*
|
|
332
|
-
* 与「AI 按语义拆页」的区别:拆页只把这份文件切成几页;这条是让 Beaver 的生成器
|
|
333
|
-
* 规划一套目录树、逐页写内容、再逐页验收,完成后统一发布并更新索引。
|
|
334
|
-
* 同一条入库记录再次生成时,后端会原位更新上次登记的页面,不会复制出一套重名页。
|
|
335
|
-
*/
|
|
336
|
-
generate (row) {
|
|
337
|
-
const regenerating = this.canRegenerate(row)
|
|
338
|
-
this.$prompt((regenerating ? '会原位更新这条记录上次生成的页面,不会复制一套重名页。' : '') +
|
|
339
|
-
'会调模型逐页生成,每页一次,完成后自动发布并纳入索引。' +
|
|
340
|
-
'主题用于告诉模型「这是什么的文档」。',
|
|
341
|
-
regenerating ? '重新 AI 生成' : 'AI 生成目录与内容', {
|
|
342
|
-
confirmButtonText: regenerating ? '重新生成' : '开始生成',
|
|
343
|
-
cancelButtonText: '取消',
|
|
344
|
-
inputPlaceholder: '例如:实施交付手册(留空则用空间名)'
|
|
345
|
-
}).then(({ value }) => {
|
|
346
|
-
row.state = 'run'
|
|
347
|
-
row.note = '任务已开始,正在解析上传材料…'
|
|
348
|
-
this.syncPolling()
|
|
349
|
-
return this.$http.update({
|
|
350
|
-
action: 'generateWiki', entityId: this.metaId, intakeId: row.id, subject: (value || '').trim()
|
|
351
|
-
}).then(d => {
|
|
352
|
-
this.showGenerationResult(d)
|
|
353
|
-
this.load()
|
|
354
|
-
this.$emit('changed')
|
|
355
|
-
}).catch(e => {
|
|
356
|
-
this.$message.error((e && e.message) || '生成失败')
|
|
357
|
-
this.load()
|
|
358
|
-
}).finally(() => { this.load(true) })
|
|
359
|
-
}).catch(() => {})
|
|
417
|
+
}).finally(() => { this.load(true) })
|
|
360
418
|
},
|
|
361
419
|
|
|
362
420
|
/**
|
|
@@ -375,7 +433,6 @@ export default {
|
|
|
375
433
|
const inputMissing = new Set(inputFailed.map(item => '输入材料:' + item))
|
|
376
434
|
const missing = (Array.isArray(data.missing) ? data.missing : [])
|
|
377
435
|
.filter(item => !inputMissing.has(String(item)))
|
|
378
|
-
const h = this.$createElement
|
|
379
436
|
const sections = [h('p', data.message || '部分内容未生成,请检查后重试')]
|
|
380
437
|
if (missing.length) {
|
|
381
438
|
sections.push(h('strong', '未完成项'))
|
|
@@ -407,22 +464,39 @@ export default {
|
|
|
407
464
|
},
|
|
408
465
|
|
|
409
466
|
drop (row) {
|
|
410
|
-
this.$confirm('
|
|
411
|
-
type: 'warning',
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
467
|
+
this.$confirm('是否同时删除这条记录生成的 Wiki 内容页及检索索引?空间总览页会保留。若仅删除原文件和记录,生成页将失去来源追溯。', '删除入库记录', {
|
|
468
|
+
type: 'warning',
|
|
469
|
+
confirmButtonText: '是,同时删除相关 Wiki 页',
|
|
470
|
+
cancelButtonText: '否,仅删除原文件和记录',
|
|
471
|
+
distinguishCancelAndClose: true,
|
|
472
|
+
confirmButtonClass: 'el-button--danger'
|
|
473
|
+
}).then(() => { this.dropRecord(row, true) }).catch(action => {
|
|
474
|
+
if (action === 'cancel') this.dropRecord(row, false)
|
|
475
|
+
})
|
|
476
|
+
},
|
|
477
|
+
|
|
478
|
+
dropRecord (row, deleteWiki) {
|
|
479
|
+
return this.$http.update({
|
|
480
|
+
action: 'dropIntake', entityId: this.metaId, intakeId: row.id, deleteWiki: deleteWiki ? '1' : '0'
|
|
481
|
+
}).then(d => {
|
|
482
|
+
this.$message.success((d && d.message) || '已删除')
|
|
483
|
+
this.load()
|
|
484
|
+
this.$emit('changed')
|
|
485
|
+
}).catch(e => this.$message.error((e && e.message) || '删除失败'))
|
|
420
486
|
}
|
|
421
487
|
}
|
|
422
488
|
}
|
|
423
489
|
</script>
|
|
424
490
|
|
|
425
491
|
<style lang="scss">
|
|
492
|
+
.epx-wiki-intake__file.el-button {
|
|
493
|
+
padding: 0;
|
|
494
|
+
white-space: normal;
|
|
495
|
+
overflow-wrap: anywhere;
|
|
496
|
+
text-align: left;
|
|
497
|
+
line-height: 1.5;
|
|
498
|
+
}
|
|
499
|
+
|
|
426
500
|
@include b(wiki-intake) {
|
|
427
501
|
padding: 16px;
|
|
428
502
|
overflow-y: auto;
|
package/src/index.js
CHANGED
|
@@ -1,20 +1,24 @@
|
|
|
1
|
-
import systemComponents from './system.component'
|
|
2
|
-
import { installComponents } from '@epxing/core/src/register-components'
|
|
3
|
-
import { configureRuntime } from '@epxing/core/src/runtime-services'
|
|
4
|
-
import routeComponents from './route-components'
|
|
5
|
-
import PopupInstall from './popup'
|
|
6
|
-
import * as components from './public-components'
|
|
7
|
-
import { publishSharedPackage } from '@epxing/core/src/shared-packages'
|
|
8
|
-
|
|
9
|
-
export * from './public-components'
|
|
10
|
-
export { systemComponents, routeComponents }
|
|
11
|
-
export function install (app) {
|
|
12
|
-
publishSharedPackage('@epxing/business', components)
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}
|
|
20
|
-
|
|
1
|
+
import systemComponents from './system.component'
|
|
2
|
+
import { installComponents } from '@epxing/core/src/register-components'
|
|
3
|
+
import { configureRuntime } from '@epxing/core/src/runtime-services'
|
|
4
|
+
import routeComponents from './route-components'
|
|
5
|
+
import PopupInstall from './popup'
|
|
6
|
+
import * as components from './public-components'
|
|
7
|
+
import { publishSharedPackage } from '@epxing/core/src/shared-packages'
|
|
8
|
+
|
|
9
|
+
export * from './public-components'
|
|
10
|
+
export { systemComponents, routeComponents }
|
|
11
|
+
export function install (app) {
|
|
12
|
+
publishSharedPackage('@epxing/business', components)
|
|
13
|
+
const { QyWechat, Task, HelpDocSet } = routeComponents
|
|
14
|
+
configureRuntime({
|
|
15
|
+
routeComponents: { QyWechat, Task, HelpDocSet },
|
|
16
|
+
businessLoader: () => import('./system.component.lazy').then(module => {
|
|
17
|
+
module.installLazyRegistry(app)
|
|
18
|
+
return module
|
|
19
|
+
})
|
|
20
|
+
})
|
|
21
|
+
app.use(PopupInstall)
|
|
22
|
+
installComponents(app, systemComponents, { byKey: true })
|
|
23
|
+
}
|
|
24
|
+
export default { install }
|
package/src/public-components.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { default as UserFind } from './components/UserFind'
|
|
2
|
+
export { default as App } from './views/App'
|
|
2
3
|
export { default as DeptFind } from './components/DeptFind'
|
|
3
4
|
export { default as HeaderNav } from './components/HeaderNav'
|
|
4
5
|
export { default as EntityTreeManage } from './components/EntityTreeManage'
|
package/src/route-components.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import QyWechat from '@epxing/business/src/views/QyWechat'
|
|
2
|
-
import App from '@epxing/
|
|
3
|
-
import Module from '@epxing/
|
|
4
|
-
import AppRoleSelect from '@epxing/
|
|
2
|
+
import App from '@epxing/core/src/views/App.vue'
|
|
3
|
+
import Module from '@epxing/core/src/views/Module.vue'
|
|
4
|
+
import AppRoleSelect from '@epxing/core/src/views/AppRoleSelect.vue'
|
|
5
|
+
import Error from '@epxing/core/src/views/Error.vue'
|
|
5
6
|
import Task from '@epxing/business/src/views/TaskPage'
|
|
6
|
-
import Error from '@epxing/business/src/views/Error'
|
|
7
7
|
import HelpDocSet from '@epxing/business/src/base/HelpDocSet'
|
|
8
8
|
export default { QyWechat, App, Module, AppRoleSelect, Task, Error, HelpDocSet }
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// 自动生成(build/gen-system-component-index.mjs),勿手改、勿入库(.gitignore)。
|
|
2
2
|
// 名 → business/src 相对路径;未命中的名字运行时回退整组加载。
|
|
3
|
-
export default {"epx-base-ai-prompt-designer":"./base/AiPromptDesigner.vue","epx-base-ai-prompt-view":"./base/AiPromptView.vue","epx-base-ai-skill-editor":"./base/AiSkillEditor.vue","epx-base-app-config-form-item":"./base/AppConfigFormItem.vue","epx-base-app-market":"./base/AppMarket.vue","epx-base-app-market-list":"./base/AppMarketList.vue","epx-base-app-market-system-detail":"./base/AppMarketSystemDetail.vue","epx-base-attribute-sub-add":"./base/AttributeSubAdd.vue","epx-base-client-choose-applicaton":"./base/ChooseApplication.vue","epx-client-app-item":"./base/ClientAppItem.vue","epx-base-client-module-applicaton":"./base/ClientApplication.vue","epx-base-client-application-list":"./base/ClientApplicationList.vue","ClientModule":"./base/ClientModule.vue","epx-base-client-module-index":"./base/ClientModuleIndex.vue","epx-base-client-system-detail":"./base/ClientSystemDetail.vue","epx-base-client-system-list":"./base/ClientSystemList.vue","epx-base-common-field-list":"./base/CommonFieldList.vue","epx-base-common-search-list":"./base/CommonSearchList.vue","epx-base-company-detail":"./base/CompayDetail.vue","epx-component-global-set":"./base/ComponentGlobalSet.vue","ComponentParamsTree":"./base/ComponentParamsTree.vue","ConfigModuleIndex":"./base/ConfigModuleIndex.vue","CurrentClientApplication":"./base/CurrentClientApplication.vue","epx-base-current-version-info":"./base/CurrentVersionInfo.vue","epx-base-data-check-detail":"./base/data-check/DataChckDetail.vue","epx-base-data-check":"./base/data-check/DataCheck.vue","epx-base-data-check-list":"./base/data-check/DataCheckList.vue","epx-base-data-check-sub-list":"./base/data-check/DataCheckSubList.vue","epx-base-entity-view-form-item":"./base/entity-view/EntityViewFormItem.vue","epx-base-entity-view-sub-list":"./base/entity-view/EntityViewSubList.vue","epx-base-entity-view-config-basic-dialog":"./base/entity-view-config/BasicInfoDialog.vue","epx-base-entity-view-config-field-panel":"./base/entity-view-config/FieldPanel.vue","epx-base-entity-view-config-prop":"./base/entity-view-config/FieldPropForm.vue","epx-base-entity-view-config-formula-dialog":"./base/entity-view-config/FormulaDialog.vue","epx-base-entity-view-config-field-dialog":"./base/entity-view-config/ObjectFieldDialog.vue","epx-base-entity-view-config-relation-panel":"./base/entity-view-config/RelationPanel.vue","epx-base-entity-view-config-source-manager-dialog":"./base/entity-view-config/SourceManagerDialog.vue","epx-base-entity-view-config-sql-panel":"./base/entity-view-config/SqlPanel.vue","epx-base-entity-view-config-union-panel":"./base/entity-view-config/UnionPanel.vue","epx-base-entity-view-config":"./base/entity-view-config/ViewConfig.vue","epx-base-entity-match-compare":"./base/EntityMatchCompare.vue","epx-field-relation-form-item":"./base/FieldRelationFormItem.vue","epx-help-docset":"./base/HelpDocSet.vue","epx-base-index-form-item":"./base/IndexFormItem.vue","epx-job-form-item":"./base/JobFormItem.vue","epx-manage-app-nav":"./base/ManageAppNav.vue","epx-manager-menu":"./base/ManageMenu.vue","epx-manage-menu-item":"./base/ManageMenuItem.vue","epx-base-no-install-system-list":"./base/NoInstallSystemList.vue","epx-base-page-list":"./base/PageList.vue","epx-base-password-form-item":"./base/PasswordFormItem.vue","epx-process-form-item":"./base/ProcessFormItem.vue","epx-base-publish-system-apply-form-item":"./base/PublishSystemApplyFormItem.vue","epx-base-request-log":"./base/RequestLog.vue","epx-base-right-risk-list":"./base/RightRiskList.vue","epx-role-accredit":"./base/RoleAccredit.vue","epx-base-role-right-list":"./base/RoleRightList.vue","epx-base-role-user-manage":"./base/RoleUserManage.vue","epx-service-accredit":"./base/ServiceAccredit.vue","epx-base-service-menu":"./base/ServiceMenu.vue","epx-service-menu-form-item":"./base/ServiceMenuFormItem.vue","epx-base-promission":"./base/ServiceOperate.vue","epx-base-system-help-tree-find":"./base/SystemHelpTreeFind.vue","epx-base-user-type-form-item":"./base/user-type/UserTypeFormItem.vue","epx-add-page-form-item":"./components/AddPageFormItem.vue","epx-add-used-interface":"./components/AddUsedInterface.vue","epx-ai-doc-form-item":"./components/AiDocFormItem.vue","epx-ai-list":"./components/AiList.vue","epx-ai-permission-assistant":"./components/AiPermissionAssistant.vue","epx-app-list":"./components/AppList.vue","epx-ai-apply-list":"./components/Apply/AIApplyIndex.vue","epx-apply-index":"./components/Apply/ApplyIndex.vue","epx-attribute-list":"./components/AttributeList.vue","epx-add-api-permiss":"./components/authorization/AddApiPermiss.vue","epx-add-authorization":"./components/authorization/AddAuthorization.vue","epx-add-entity-find":"./components/authorization/AddEntityFind.vue","epx-authorization-add-no-api":"./components/authorization/AddNoApi.vue","epx-add-role-scope":"./components/authorization/AddRoleScope.vue","epx-authorization-ai-role-plan":"./components/authorization/AiRolePlan.vue","epx-api-share-other-list":"./components/authorization/ApiShareOtherList.vue","epx-api-system-list":"./components/authorization/ApiSystemList.vue","epx-authorization-interface":"./components/authorization/AuthorizationInterface.vue","epx-authorization-role-system":"./components/authorization/AuthorizationRoleSystem.vue","epx-entity-constraint-form-item":"./components/authorization/EntityConstraintFormItem.vue","epx-other-share-api-list":"./components/authorization/OtherShareApiList.vue","epx-permiss-common-role-tabs":"./components/authorization/PermissCommonRoleTabs.vue","epx-permiss-role-authorization":"./components/authorization/PermissRoleAuthorization.vue","epx-permiss-role-tabs":"./components/authorization/PermissRoleTabs.vue","epx-api-role-level":"./components/authorization/RoleLevel.vue","epx-role-level-scope":"./components/authorization/RoleLevelScope.vue","epx-authorization-system-add-no-api":"./components/authorization/SystemAddNoApi.vue","epx-banner":"./components/Banner.vue","epx-batch-add-ai-tool-param":"./components/BatchAddFieldDialog.vue","epx-card-list":"./components/card/CardList.vue","epx-card-list-item":"./components/card/CardListItem.vue","epx-card-title":"./components/card/Title.vue","epx-card-o":"./components/CardO.vue","epx-check-form":"./components/CheckForm.vue","epx-client-admin-form-item":"./components/ClientAdminFormItem.vue","epx-client-admin-list":"./components/ClientAdminList.vue","ClientFormItem":"./components/ClientFormItem.vue","epx-client-list":"./components/ClientList.vue","epx-code-detail":"./components/CodeDetail.vue","epx-code-manage":"./components/CodeManage.vue","epx-component-find":"./components/ComponentFind.vue","epx-component-list":"./components/ComponentList.vue","epx-config-param-form-item":"./components/ConfigParamFormItem.vue","epx-create-page":"./components/CreatePage.vue","epx-bpmn-ai-model":"./components/custom-bpmn/components/AiModel.vue","epx-bpmn-api":"./components/custom-bpmn/components/Api.vue","epx-bpmn-batch-operation":"./components/custom-bpmn/components/BatchOperation.vue","epx-bpmn-copy":"./components/custom-bpmn/components/Copy.vue","epx-bpmn-data-transform":"./components/custom-bpmn/components/DataTransform.vue","epx-bpmn-demo":"./components/custom-bpmn/components/Demo.vue","epx-bpmn-edit-div":"./components/custom-bpmn/components/EditDiv.vue","epx-bpmn-gen-scope":"./components/custom-bpmn/components/GenScope.vue","epx-bpmn-global-params-tree":"./components/custom-bpmn/components/GlobalParamsTree.vue","epx-bpmn-knowledges":"./components/custom-bpmn/components/Knowledges.vue","epx-bpmn-login":"./components/custom-bpmn/components/Login.vue","epx-bpmn-message-queue":"./components/custom-bpmn/components/MessageQueue.vue","epx-bpmn-meta-select":"./components/custom-bpmn/components/MetaSelect.vue","epx-bpmn-num-statistic":"./components/custom-bpmn/components/NumStatistic.vue","epx-bpmn-object-transform":"./components/custom-bpmn/components/ObjectTransform.vue","epx-bpmn-out-put":"./components/custom-bpmn/components/OutPut.vue","epx-bpmn-params-machining":"./components/custom-bpmn/components/ParamsMachining.vue","epx-bpmn-params-output":"./components/custom-bpmn/components/ParamsOutput.vue","epx-bpmn-process-audit":"./components/custom-bpmn/components/ProcessAudit.vue","epx-bpmn-single-multiple-find":"./components/custom-bpmn/components/SingleMultipleFind.vue","epx-bpmn-test-dialog":"./components/custom-bpmn/components/TestDialog.vue","epx-properties-view":"./components/custom-bpmn/PropertiesView.vue","epx-dashboard-create":"./components/DashboardCreate.vue","epx-data-log":"./components/DataLog.vue","epx-data-log-timeline":"./components/DataLogTimeline.vue","epx-data-snapshot":"./components/DataSnapshot.vue","epx-data-snapshot-list":"./components/DataSnapshotList.vue","epx-data-sync-init":"./components/DataSyncInit.vue","epx-dblog-list":"./components/DblogList.vue","epx-dept-find":"./components/DeptFind.vue","epx-dynamic-user-list":"./components/DynamicUserList.vue","epx-entity-relation-diagram":"./components/entity-relation-diagram/Er.vue","epx-entity-checkbox-find":"./components/EntityCheckboxFind.vue","epx-entity-relation-add":"./components/EntityRelationAdd.vue","epx-entity-relation-add-form-item":"./components/EntityRelationAddFormItem.vue","epx-entity-right-form-item":"./components/EntityRightFormItem.vue","epx-entity-right-sub-list":"./components/EntityRightSubList.vue","epx-entity-tag-sub-list":"./components/EntityTagSubList.vue","epx-entity-tree-manage":"./components/EntityTreeManage.vue","epx-expand-add-form":"./components/expand/AddForm.vue","epx-expand-add-form-item":"./components/expand/AddFormItem.vue","epx-export-system-config":"./components/ExportSystemConfig.vue","epx-field-tree-find":"./components/FieldTreeFind.vue","epx-filter":"./components/filter/Filter.vue","epx-filter-item":"./components/filter/FilterItem.vue","epx-formula-editor1":"./components/FormulaEditor.vue","epx-gen-test-data":"./components/GenTestData.vue","epx-hr-hall-app-collect":"./components/hall/AppCollect.vue","epx-hr-hall-app-list":"./components/hall/AppList.vue","epx-hall-app-visit-record":"./components/hall/AppVisitRecord.vue","epx-hr-hall-banner":"./components/hall/Banner.vue","epx-hall-service-card":"./components/hall/ServiceCard.vue","epx-hall-user-card":"./components/hall/UserCard.vue","epx-hall-nav":"./components/HallNav.vue","epx-header-nav":"./components/HeaderNav.vue","epx-icon-card":"./components/IconCard.vue","epx-icon-font-library":"./components/IconFontLibrary.vue","epx-icon-font-list":"./components/IconFontList.vue","epx-identify-list":"./components/IdentifyList.vue","epx-import-system-config":"./components/ImportSystemConfig.vue","epx-interface-sub-list":"./components/InterfaceSubList.vue","epx-js-panel":"./components/JsPanel.vue","epx-language-import-page":"./components/LanguageImportPage.vue","epx-language-setting":"./components/LanguageSetting.vue","epx-column-list-item":"./components/List/LinkItem.vue","cepx-list":"./components/List/List.vue","cepx-list-item":"./components/List/ListItem.vue","epx-menu-tree-find":"./components/MenuTreeFind.vue","epx-message-list":"./components/MessageList.vue","epx-message-rule-form-item":"./components/MessageRuleFormItem.vue","epx-message-rule-receiver-form-item":"./components/MessageRuleReceiverFormItem.vue","epx-message-template":"./components/MessageTemplate.vue","epx-meta-list":"./components/MetaList.vue","epx-nav":"./components/Nav.vue","epx-nav-form-catalog-item":"./components/NavFormCatalogItem.vue","epx-num-list":"./components/NumList.vue","epx-operate-log":"./components/OperateLog.vue","epx-page-catalog":"./components/PageCatalog.vue","epx-page-chart":"./components/PageChart.vue","epx-page-swipes":"./components/PageSwipes.vue","epx-premiss-add-api":"./components/permiss/AddApi.vue","epx-premiss-add-noentity-api":"./components/permiss/AddNoEntityApi.vue","epx-add-system-permiss":"./components/permiss/AddSystemPermiss.vue","epx-premiss-allocate-role":"./components/permiss/AllocateRole.vue","epx-permiss-api-sublist":"./components/permiss/ApiSubList.vue","epx-permiss-common-role-menu":"./components/permiss/CommonRoleMenu.vue","epx-permiss-field-scope":"./components/permiss/FieldScope.vue","epx-permiss-role-jurisdiction":"./components/permiss/jurisdiction.vue","epx-permiss-manage":"./components/permiss/PermissManage.vue","epx-permiss-role-app-list":"./components/permiss/RoleAppList.vue","epx-permiss-role-menu":"./components/permiss/RoleMenu.vue","epx-permiss-role-sublist":"./components/permiss/RoleSubList.vue","epx-person-form-item":"./components/PersonFormItem.vue","epx-popup":"./components/Popup.vue","epx-print-form-list":"./components/PrintFormList.vue","epx-process-healthcheck-chart":"./components/process-healthcheck/HealthcheckChart.vue","epx-publish-entity":"./components/PublishEntity.vue","epx-rely-field-tree-find":"./components/RelyFieldTreeFind.vue","epx-report-config":"./components/report/Config.vue","epx-report-design":"./components/report/Design.vue","epx-report-stat-list":"./components/report/StatList.vue","epx-report-from-list":"./components/ReportFormList.vue","epx-report-list-comp":"./components/ReportList.vue","epx-right-entity-other-system-list":"./components/right/EntityOtherSystemList.vue","epx-right-system-interface-list":"./components/right/SystemInterfaceList.vue","epx-right-system-list":"./components/right/SystemList.vue","epx-right-sub-list":"./components/RightSubList.vue","RoleAddUser":"./components/RoleAddUser.vue","epx-role-application-card":"./components/RoleApplicationCard.vue","epx-role-application-list":"./components/RoleApplicationList.vue","epx-role-application-set":"./components/RoleApplicationSet.vue","epx-search":"./components/Search.vue","epx-service-form-item":"./components/ServiceFormItem.vue","epx-snapshot-data-list":"./components/SnapshotDataList.vue","epx-system-admin-list":"./components/SystemAdminList.vue","epx-system-form-item":"./components/SystemFormItem.vue","epx-system-nav":"./components/SystemNav.vue","epx-task-num-card":"./components/TaskNumCard.vue","epx-timer-rule-form-item":"./components/TimerRuleFormItem.vue","epx-todo-list":"./components/TodoList.vue","epx-update-system-config":"./components/UpdateSystemConfig.vue","epx-upload":"./components/upLoad.vue","epx-user-card":"./components/UserCard.vue","epx-user-find":"./components/UserFind.vue","epx-user-form-item":"./components/UserFormItem.vue","epx-user-list":"./components/UserList.vue","epx-user-manage":"./components/UserManage.vue","epx-user-role-list":"./components/UserRoleList.vue","epx-validate-rule-form-item":"./components/ValidateRuleFormItem.vue","epx-view-field-define":"./components/ViewFieldDefine.vue","epx-look-view-list":"./components/viewport/LookViewList.vue","epx-view-add-form":"./components/viewport/ViewAddForm.vue","epx-view-define-list":"./components/viewport/ViewDefineList.vue","epx-view-field-list":"./components/viewport/ViewFiedList.vue","epx-view-scope":"./components/viewport/ViewScope.vue","epx-wiki-cites":"./components/wiki-workbench/WikiCites.vue","epx-wiki-intake":"./components/wiki-workbench/WikiIntake.vue","epx-wiki-jobs":"./components/wiki-workbench/WikiJobs.vue","epx-wiki-revisions":"./components/wiki-workbench/WikiRevisions.vue","epx-wiki-space-settings":"./components/wiki-workbench/WikiSpaceSettings.vue","epx-wiki-space-list":"./components/WikiSpaceList.vue","epx-wiki-workbench":"./components/WikiWorkbench.vue","epx-add":"./views/Add.vue","epx-ai-tool-manager":"./views/AiToolManager.vue","epx-app":"./views/App.vue","epx-app-role-select":"./views/AppRoleSelect.vue","epx-batch-edit":"./views/BatchEdit.vue","epx-bpmn":"./views/Bpmn.vue","epx-client-add-form":"./views/client/AddForm.vue","epx-client-app-market":"./views/client/AppMarket.vue","机构":"./views/client/ClientIndex.vue","clientClientModuleIndexPage":"./views/client/ClientModuleIndexPage.vue","epx-client-copy-system":"./views/client/CopySystem.vue","epx-client-create-app-form-item":"./views/client/CreateAppFormItem.vue","epx-client-create-method":"./views/client/CreateMethod.vue","epx-client-install-system":"./views/client/InstallSystem.vue","epx-client-manage-list":"./views/client/ManageList.vue","epx-open-client-manage":"./views/client/OpenClientManage.vue","epx-client-open-system-manage":"./views/client/OpenSystemManage.vue","epx-client-page-tabs-cyclic":"./views/client/PageTabsCyclic.vue","epx-client-self-build-system":"./views/client/SelfBuiltSystem.vue","epx-client-stand-product":"./views/client/StandardProduct.vue","epx-client-system-app-accredit":"./views/client/SystemAppAccredit.vue","epx-client-system-app-manager":"./views/client/SystemAppManager.vue","epx-client-system-manager":"./views/client/SystemManager.vue","epx-entity-check-page":"./views/EntityCheckPage.vue","epx-entity-detail-page":"./views/EntityDetailPage.vue","epx-entity-edit-page":"./views/EntityEditPage.vue","epx-entity-sub-list-page":"./views/EntitySubListPage.vue","epx-entity-tree-page":"./views/EntityTreePage.vue","epx-error":"./views/Error.vue","epx-excel-design":"./views/ExcelDesign.vue","epx-excel-preview-page":"./views/ExcelPreviewPage.vue","epx-export-file-page":"./views/ExportFilePage.vue","epx-export-page":"./views/ExportPage.vue","epx-form-design":"./views/FormDesign.vue","epx-i18n-ai-task-history-dialog":"./views/i18n/I18nAiTaskHistoryDialog.vue","epx-i18n-publish-dialog":"./views/i18n/I18nPublishDialog.vue","epx-i18n-translation-list":"./views/i18n/I18nTranslationList.vue","epx-i18n-workbench":"./views/I18nWorkbench.vue","epx-import-file-page":"./views/ImportFilePage.vue","epx-import-page":"./views/ImportPage.vue","epx-layout-card-list":"./views/layout/CardList.vue","epx-layout-grid":"./views/layout/Grid.vue","epx-match-add-target-field":"./views/match/AddTargetField.vue","epx-match-conversion":"./views/match/conversion.vue","epx-match-customize":"./views/match/customize.vue","epx-field-match":"./views/match/fieldMatch.vue","epx-match-add-form-item":"./views/match/MatchAddFormItem.vue","epx-m-entity-list-page":"./views/MEntityListPage.vue","epx-m-entity-sub-list-page":"./views/MEntitySubListPage.vue","epx-mine-page":"./views/MinePage.vue","epx-module":"./views/Module.vue","epx-page-attribute-tree-page":"./views/PageAttributeTreePage.vue","epx-page-config":"./views/PageConfig.vue","epx-promission":"./views/Permission.vue","epx-personal-info":"./views/PersonalInfo.vue","epx-qy-wechat":"./views/QyWechat.vue","epx-report-add-form-item":"./views/report/AddFormItem.vue","epx-report-design-report":"./views/report/DesignReport.vue","epx-report-tree-find":"./views/report/ReportTreeFind.vue","epx-report-form-list-page":"./views/ReportFormListPage.vue","epx-task-page":"./views/TaskPage.vue","epx-wiki-binding":"./views/WikiBinding.vue"}
|
|
3
|
+
export default {"epx-base-ai-prompt-designer":"./base/AiPromptDesigner.vue","epx-base-ai-prompt-view":"./base/AiPromptView.vue","epx-base-ai-skill-editor":"./base/AiSkillEditor.vue","epx-base-app-config-form-item":"./base/AppConfigFormItem.vue","epx-base-app-market":"./base/AppMarket.vue","epx-base-app-market-list":"./base/AppMarketList.vue","epx-base-app-market-system-detail":"./base/AppMarketSystemDetail.vue","epx-base-attribute-sub-add":"./base/AttributeSubAdd.vue","epx-base-client-choose-applicaton":"./base/ChooseApplication.vue","epx-client-app-item":"./base/ClientAppItem.vue","epx-base-client-module-applicaton":"./base/ClientApplication.vue","epx-base-client-application-list":"./base/ClientApplicationList.vue","ClientModule":"./base/ClientModule.vue","epx-base-client-module-index":"./base/ClientModuleIndex.vue","epx-base-client-system-detail":"./base/ClientSystemDetail.vue","epx-base-client-system-list":"./base/ClientSystemList.vue","epx-base-common-field-list":"./base/CommonFieldList.vue","epx-base-common-search-list":"./base/CommonSearchList.vue","epx-base-company-detail":"./base/CompayDetail.vue","epx-component-global-set":"./base/ComponentGlobalSet.vue","ComponentParamsTree":"./base/ComponentParamsTree.vue","ConfigModuleIndex":"./base/ConfigModuleIndex.vue","CurrentClientApplication":"./base/CurrentClientApplication.vue","epx-base-current-version-info":"./base/CurrentVersionInfo.vue","epx-base-data-check-detail":"./base/data-check/DataChckDetail.vue","epx-base-data-check":"./base/data-check/DataCheck.vue","epx-base-data-check-list":"./base/data-check/DataCheckList.vue","epx-base-data-check-sub-list":"./base/data-check/DataCheckSubList.vue","epx-base-entity-view-form-item":"./base/entity-view/EntityViewFormItem.vue","epx-base-entity-view-sub-list":"./base/entity-view/EntityViewSubList.vue","epx-base-entity-view-config-basic-dialog":"./base/entity-view-config/BasicInfoDialog.vue","epx-base-entity-view-config-field-panel":"./base/entity-view-config/FieldPanel.vue","epx-base-entity-view-config-prop":"./base/entity-view-config/FieldPropForm.vue","epx-base-entity-view-config-formula-dialog":"./base/entity-view-config/FormulaDialog.vue","epx-base-entity-view-config-field-dialog":"./base/entity-view-config/ObjectFieldDialog.vue","epx-base-entity-view-config-relation-panel":"./base/entity-view-config/RelationPanel.vue","epx-base-entity-view-config-source-manager-dialog":"./base/entity-view-config/SourceManagerDialog.vue","epx-base-entity-view-config-sql-panel":"./base/entity-view-config/SqlPanel.vue","epx-base-entity-view-config-union-panel":"./base/entity-view-config/UnionPanel.vue","epx-base-entity-view-config":"./base/entity-view-config/ViewConfig.vue","epx-base-entity-match-compare":"./base/EntityMatchCompare.vue","epx-field-relation-form-item":"./base/FieldRelationFormItem.vue","epx-help-docset":"./base/HelpDocSet.vue","epx-base-index-form-item":"./base/IndexFormItem.vue","epx-job-form-item":"./base/JobFormItem.vue","epx-manage-app-nav":"./base/ManageAppNav.vue","epx-manager-menu":"./base/ManageMenu.vue","epx-manage-menu-item":"./base/ManageMenuItem.vue","epx-base-no-install-system-list":"./base/NoInstallSystemList.vue","epx-base-page-list":"./base/PageList.vue","epx-base-password-form-item":"./base/PasswordFormItem.vue","epx-process-form-item":"./base/ProcessFormItem.vue","epx-base-publish-system-apply-form-item":"./base/PublishSystemApplyFormItem.vue","epx-base-request-log":"./base/RequestLog.vue","epx-base-right-risk-list":"./base/RightRiskList.vue","epx-role-accredit":"./base/RoleAccredit.vue","epx-role-bind-trace":"./base/RoleBindTrace.vue","epx-role-group-manage":"./base/RoleGroupManage.vue","epx-base-role-right-list":"./base/RoleRightList.vue","epx-base-role-user-manage":"./base/RoleUserManage.vue","epx-service-accredit":"./base/ServiceAccredit.vue","epx-base-service-menu":"./base/ServiceMenu.vue","epx-service-menu-form-item":"./base/ServiceMenuFormItem.vue","epx-base-promission":"./base/ServiceOperate.vue","epx-base-system-help-tree-find":"./base/SystemHelpTreeFind.vue","epx-base-user-type-form-item":"./base/user-type/UserTypeFormItem.vue","epx-add-page-form-item":"./components/AddPageFormItem.vue","epx-add-used-interface":"./components/AddUsedInterface.vue","epx-ai-doc-form-item":"./components/AiDocFormItem.vue","epx-ai-list":"./components/AiList.vue","epx-ai-permission-assistant":"./components/AiPermissionAssistant.vue","epx-app-list":"./components/AppList.vue","epx-ai-apply-list":"./components/Apply/AIApplyIndex.vue","epx-apply-index":"./components/Apply/ApplyIndex.vue","epx-attribute-list":"./components/AttributeList.vue","epx-add-api-permiss":"./components/authorization/AddApiPermiss.vue","epx-add-authorization":"./components/authorization/AddAuthorization.vue","epx-add-entity-find":"./components/authorization/AddEntityFind.vue","epx-authorization-add-no-api":"./components/authorization/AddNoApi.vue","epx-add-role-scope":"./components/authorization/AddRoleScope.vue","epx-authorization-ai-role-plan":"./components/authorization/AiRolePlan.vue","epx-api-share-other-list":"./components/authorization/ApiShareOtherList.vue","epx-api-system-list":"./components/authorization/ApiSystemList.vue","epx-authorization-interface":"./components/authorization/AuthorizationInterface.vue","epx-authorization-role-system":"./components/authorization/AuthorizationRoleSystem.vue","epx-entity-constraint-form-item":"./components/authorization/EntityConstraintFormItem.vue","epx-other-share-api-list":"./components/authorization/OtherShareApiList.vue","epx-permiss-common-role-tabs":"./components/authorization/PermissCommonRoleTabs.vue","epx-permiss-role-authorization":"./components/authorization/PermissRoleAuthorization.vue","epx-permiss-role-tabs":"./components/authorization/PermissRoleTabs.vue","epx-api-role-level":"./components/authorization/RoleLevel.vue","epx-role-level-scope":"./components/authorization/RoleLevelScope.vue","epx-authorization-system-add-no-api":"./components/authorization/SystemAddNoApi.vue","epx-banner":"./components/Banner.vue","epx-batch-add-ai-tool-param":"./components/BatchAddFieldDialog.vue","epx-card-list":"./components/card/CardList.vue","epx-card-list-item":"./components/card/CardListItem.vue","epx-card-title":"./components/card/Title.vue","epx-card-o":"./components/CardO.vue","epx-check-form":"./components/CheckForm.vue","epx-client-admin-form-item":"./components/ClientAdminFormItem.vue","epx-client-admin-list":"./components/ClientAdminList.vue","ClientFormItem":"./components/ClientFormItem.vue","epx-client-list":"./components/ClientList.vue","epx-code-detail":"./components/CodeDetail.vue","epx-code-manage":"./components/CodeManage.vue","epx-component-find":"./components/ComponentFind.vue","epx-component-list":"./components/ComponentList.vue","epx-config-param-form-item":"./components/ConfigParamFormItem.vue","epx-create-page":"./components/CreatePage.vue","epx-bpmn-ai-model":"./components/custom-bpmn/components/AiModel.vue","epx-bpmn-api":"./components/custom-bpmn/components/Api.vue","epx-bpmn-batch-operation":"./components/custom-bpmn/components/BatchOperation.vue","epx-bpmn-copy":"./components/custom-bpmn/components/Copy.vue","epx-bpmn-data-transform":"./components/custom-bpmn/components/DataTransform.vue","epx-bpmn-demo":"./components/custom-bpmn/components/Demo.vue","epx-bpmn-edit-div":"./components/custom-bpmn/components/EditDiv.vue","epx-bpmn-gen-scope":"./components/custom-bpmn/components/GenScope.vue","epx-bpmn-global-params-tree":"./components/custom-bpmn/components/GlobalParamsTree.vue","epx-bpmn-knowledges":"./components/custom-bpmn/components/Knowledges.vue","epx-bpmn-login":"./components/custom-bpmn/components/Login.vue","epx-bpmn-message-queue":"./components/custom-bpmn/components/MessageQueue.vue","epx-bpmn-meta-select":"./components/custom-bpmn/components/MetaSelect.vue","epx-bpmn-num-statistic":"./components/custom-bpmn/components/NumStatistic.vue","epx-bpmn-object-transform":"./components/custom-bpmn/components/ObjectTransform.vue","epx-bpmn-out-put":"./components/custom-bpmn/components/OutPut.vue","epx-bpmn-params-machining":"./components/custom-bpmn/components/ParamsMachining.vue","epx-bpmn-params-output":"./components/custom-bpmn/components/ParamsOutput.vue","epx-bpmn-process-audit":"./components/custom-bpmn/components/ProcessAudit.vue","epx-bpmn-single-multiple-find":"./components/custom-bpmn/components/SingleMultipleFind.vue","epx-bpmn-test-dialog":"./components/custom-bpmn/components/TestDialog.vue","epx-properties-view":"./components/custom-bpmn/PropertiesView.vue","epx-dashboard-create":"./components/DashboardCreate.vue","epx-data-log":"./components/DataLog.vue","epx-data-log-timeline":"./components/DataLogTimeline.vue","epx-data-snapshot":"./components/DataSnapshot.vue","epx-data-snapshot-list":"./components/DataSnapshotList.vue","epx-data-sync-init":"./components/DataSyncInit.vue","epx-dblog-list":"./components/DblogList.vue","epx-dept-find":"./components/DeptFind.vue","epx-dynamic-user-list":"./components/DynamicUserList.vue","epx-entity-relation-diagram":"./components/entity-relation-diagram/Er.vue","epx-entity-checkbox-find":"./components/EntityCheckboxFind.vue","epx-entity-relation-add":"./components/EntityRelationAdd.vue","epx-entity-relation-add-form-item":"./components/EntityRelationAddFormItem.vue","epx-entity-right-form-item":"./components/EntityRightFormItem.vue","epx-entity-right-sub-list":"./components/EntityRightSubList.vue","epx-entity-system-er":"./components/EntitySystemEr.vue","epx-entity-tag-sub-list":"./components/EntityTagSubList.vue","epx-entity-tree-manage":"./components/EntityTreeManage.vue","epx-expand-add-form":"./components/expand/AddForm.vue","epx-expand-add-form-item":"./components/expand/AddFormItem.vue","epx-export-system-config":"./components/ExportSystemConfig.vue","epx-field-tree-find":"./components/FieldTreeFind.vue","epx-filter":"./components/filter/Filter.vue","epx-filter-item":"./components/filter/FilterItem.vue","epx-formula-editor1":"./components/FormulaEditor.vue","epx-gen-test-data":"./components/GenTestData.vue","epx-hr-hall-app-collect":"./components/hall/AppCollect.vue","epx-hr-hall-app-list":"./components/hall/AppList.vue","epx-hall-app-visit-record":"./components/hall/AppVisitRecord.vue","epx-hr-hall-banner":"./components/hall/Banner.vue","epx-hall-service-card":"./components/hall/ServiceCard.vue","epx-hall-user-card":"./components/hall/UserCard.vue","epx-hall-nav":"./components/HallNav.vue","epx-header-nav":"./components/HeaderNav.vue","epx-remix-gallery":"./components/icon-gallery/IconGallery.vue","epx-icon-card":"./components/IconCard.vue","epx-icon-font-library":"./components/IconFontLibrary.vue","epx-icon-font-list":"./components/IconFontList.vue","epx-identify-list":"./components/IdentifyList.vue","epx-import-system-config":"./components/ImportSystemConfig.vue","epx-interface-sub-list":"./components/InterfaceSubList.vue","epx-js-panel":"./components/JsPanel.vue","epx-language-import-page":"./components/LanguageImportPage.vue","epx-language-setting":"./components/LanguageSetting.vue","epx-column-list-item":"./components/List/LinkItem.vue","cepx-list":"./components/List/List.vue","cepx-list-item":"./components/List/ListItem.vue","epx-menu-tree-find":"./components/MenuTreeFind.vue","epx-message-list":"./components/MessageList.vue","epx-message-rule-form-item":"./components/MessageRuleFormItem.vue","epx-message-rule-receiver-form-item":"./components/MessageRuleReceiverFormItem.vue","epx-message-template":"./components/MessageTemplate.vue","epx-meta-list":"./components/MetaList.vue","epx-nav":"./components/Nav.vue","epx-nav-form-catalog-item":"./components/NavFormCatalogItem.vue","epx-num-list":"./components/NumList.vue","epx-operate-log":"./components/OperateLog.vue","epx-page-catalog":"./components/PageCatalog.vue","epx-page-chart":"./components/PageChart.vue","epx-page-swipes":"./components/PageSwipes.vue","epx-premiss-add-api":"./components/permiss/AddApi.vue","epx-premiss-add-noentity-api":"./components/permiss/AddNoEntityApi.vue","epx-add-system-permiss":"./components/permiss/AddSystemPermiss.vue","epx-premiss-allocate-role":"./components/permiss/AllocateRole.vue","epx-permiss-api-sublist":"./components/permiss/ApiSubList.vue","epx-permiss-common-role-menu":"./components/permiss/CommonRoleMenu.vue","epx-permiss-field-scope":"./components/permiss/FieldScope.vue","epx-permiss-role-jurisdiction":"./components/permiss/jurisdiction.vue","epx-permiss-manage":"./components/permiss/PermissManage.vue","epx-permiss-role-app-list":"./components/permiss/RoleAppList.vue","epx-permiss-role-menu":"./components/permiss/RoleMenu.vue","epx-permiss-role-sublist":"./components/permiss/RoleSubList.vue","epx-person-form-item":"./components/PersonFormItem.vue","epx-popup":"./components/Popup.vue","epx-print-form-list":"./components/PrintFormList.vue","epx-process-healthcheck-chart":"./components/process-healthcheck/HealthcheckChart.vue","epx-publish-entity":"./components/PublishEntity.vue","epx-rely-field-tree-find":"./components/RelyFieldTreeFind.vue","epx-report-config":"./components/report/Config.vue","epx-report-design":"./components/report/Design.vue","epx-report-stat-list":"./components/report/StatList.vue","epx-report-from-list":"./components/ReportFormList.vue","epx-report-list-comp":"./components/ReportList.vue","epx-right-entity-other-system-list":"./components/right/EntityOtherSystemList.vue","epx-right-system-interface-list":"./components/right/SystemInterfaceList.vue","epx-right-system-list":"./components/right/SystemList.vue","epx-right-sub-list":"./components/RightSubList.vue","RoleAddUser":"./components/RoleAddUser.vue","epx-role-application-card":"./components/RoleApplicationCard.vue","epx-role-application-list":"./components/RoleApplicationList.vue","epx-role-application-set":"./components/RoleApplicationSet.vue","epx-search":"./components/Search.vue","epx-service-form-item":"./components/ServiceFormItem.vue","epx-snapshot-data-list":"./components/SnapshotDataList.vue","epx-system-admin-list":"./components/SystemAdminList.vue","epx-system-form-item":"./components/SystemFormItem.vue","epx-system-nav":"./components/SystemNav.vue","epx-task-num-card":"./components/TaskNumCard.vue","epx-timer-rule-form-item":"./components/TimerRuleFormItem.vue","epx-todo-list":"./components/TodoList.vue","epx-update-system-config":"./components/UpdateSystemConfig.vue","epx-upload":"./components/upLoad.vue","epx-user-card":"./components/UserCard.vue","epx-user-find":"./components/UserFind.vue","epx-user-form-item":"./components/UserFormItem.vue","epx-user-list":"./components/UserList.vue","epx-user-manage":"./components/UserManage.vue","epx-user-role-list":"./components/UserRoleList.vue","epx-validate-rule-form-item":"./components/ValidateRuleFormItem.vue","epx-view-field-define":"./components/ViewFieldDefine.vue","epx-look-view-list":"./components/viewport/LookViewList.vue","epx-view-add-form":"./components/viewport/ViewAddForm.vue","epx-view-define-list":"./components/viewport/ViewDefineList.vue","epx-view-field-list":"./components/viewport/ViewFiedList.vue","epx-view-scope":"./components/viewport/ViewScope.vue","epx-wiki-cites":"./components/wiki-workbench/WikiCites.vue","epx-wiki-intake":"./components/wiki-workbench/WikiIntake.vue","epx-wiki-jobs":"./components/wiki-workbench/WikiJobs.vue","epx-wiki-revisions":"./components/wiki-workbench/WikiRevisions.vue","epx-wiki-space-settings":"./components/wiki-workbench/WikiSpaceSettings.vue","epx-wiki-space-list":"./components/WikiSpaceList.vue","epx-wiki-workbench":"./components/WikiWorkbench.vue","epx-add":"./views/Add.vue","epx-ai-tool-manager":"./views/AiToolManager.vue","App":"./views/App.vue","AppRoleSelect":"./views/AppRoleSelect.vue","epx-batch-edit":"./views/BatchEdit.vue","epx-bpmn":"./views/Bpmn.vue","epx-client-add-form":"./views/client/AddForm.vue","epx-client-app-market":"./views/client/AppMarket.vue","机构":"./views/client/ClientIndex.vue","clientClientModuleIndexPage":"./views/client/ClientModuleIndexPage.vue","epx-client-copy-system":"./views/client/CopySystem.vue","epx-client-create-app-form-item":"./views/client/CreateAppFormItem.vue","epx-client-create-method":"./views/client/CreateMethod.vue","epx-client-install-system":"./views/client/InstallSystem.vue","epx-client-manage-list":"./views/client/ManageList.vue","epx-open-client-manage":"./views/client/OpenClientManage.vue","epx-client-open-system-manage":"./views/client/OpenSystemManage.vue","epx-client-page-tabs-cyclic":"./views/client/PageTabsCyclic.vue","epx-client-self-build-system":"./views/client/SelfBuiltSystem.vue","epx-client-stand-product":"./views/client/StandardProduct.vue","epx-client-system-app-accredit":"./views/client/SystemAppAccredit.vue","epx-client-system-app-manager":"./views/client/SystemAppManager.vue","epx-client-system-manager":"./views/client/SystemManager.vue","epx-entity-check-page":"./views/EntityCheckPage.vue","epx-entity-detail-page":"./views/EntityDetailPage.vue","epx-entity-edit-page":"./views/EntityEditPage.vue","epx-entity-sub-list-page":"./views/EntitySubListPage.vue","epx-entity-tree-page":"./views/EntityTreePage.vue","Error":"./views/Error.vue","epx-excel-design":"./views/ExcelDesign.vue","epx-excel-preview-page":"./views/ExcelPreviewPage.vue","epx-export-file-page":"./views/ExportFilePage.vue","epx-export-page":"./views/ExportPage.vue","epx-form-design":"./views/FormDesign.vue","epx-i18n-ai-task-history-dialog":"./views/i18n/I18nAiTaskHistoryDialog.vue","epx-i18n-publish-dialog":"./views/i18n/I18nPublishDialog.vue","epx-i18n-translation-list":"./views/i18n/I18nTranslationList.vue","epx-i18n-workbench":"./views/I18nWorkbench.vue","epx-import-file-page":"./views/ImportFilePage.vue","epx-import-page":"./views/ImportPage.vue","epx-jvm-memory-monitor":"./views/JvmMemoryMonitor.vue","epx-layout-card-list":"./views/layout/CardList.vue","epx-layout-grid":"./views/layout/Grid.vue","epx-match-add-target-field":"./views/match/AddTargetField.vue","epx-match-conversion":"./views/match/conversion.vue","epx-match-customize":"./views/match/customize.vue","epx-field-match":"./views/match/fieldMatch.vue","epx-match-add-form-item":"./views/match/MatchAddFormItem.vue","epx-m-entity-list-page":"./views/MEntityListPage.vue","epx-m-entity-sub-list-page":"./views/MEntitySubListPage.vue","epx-mine-page":"./views/MinePage.vue","Module":"./views/Module.vue","epx-page-attribute-tree-page":"./views/PageAttributeTreePage.vue","epx-page-config":"./views/PageConfig.vue","epx-promission":"./views/Permission.vue","epx-personal-info":"./views/PersonalInfo.vue","epx-qy-wechat":"./views/QyWechat.vue","epx-report-add-form-item":"./views/report/AddFormItem.vue","epx-report-design-report":"./views/report/DesignReport.vue","epx-report-tree-find":"./views/report/ReportTreeFind.vue","epx-report-form-list-page":"./views/ReportFormListPage.vue","epx-task-page":"./views/TaskPage.vue","epx-wiki-binding":"./views/WikiBinding.vue"}
|