Merge branch 'main' of http://49.232.154.205:10100/liujingchao/fad_oa into main
This commit is contained in:
@@ -126,8 +126,9 @@
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
<!-- Viewer -->
|
||||
<div class="viewer-area" ref="viewerContainer">
|
||||
<div v-if="!selected || !selected.fileUrl" class="viewer-placeholder">
|
||||
<div class="viewer-area">
|
||||
<iframe v-if="selected && selected.fileUrl" :src="selected.fileUrl" style="width:100%;height:100%;border:0;" />
|
||||
<div v-else class="viewer-placeholder">
|
||||
<i class="el-icon-view" style="font-size:48px;color:#c0c4cc;"></i>
|
||||
<p style="color:#909399;margin-top:8px;">{{ selected ? '暂未上传文件' : '点击左侧图纸进行预览' }}</p>
|
||||
</div>
|
||||
@@ -254,7 +255,6 @@ import { listProject } from '@/api/rm/project'
|
||||
import { listFileReview, addFileReview } from '@/api/rm/fileReview'
|
||||
import { listRmTask } from '@/api/oa/task'
|
||||
import { getToken } from '@/utils/auth'
|
||||
import { mountViewerFrame } from '@flyfish-group/file-viewer-web'
|
||||
|
||||
export default {
|
||||
name: 'RmDrawingDesign',
|
||||
@@ -274,7 +274,6 @@ export default {
|
||||
uploadUrl: process.env.VUE_APP_BASE_API + '/common/upload',
|
||||
uploadHeaders: { Authorization: 'Bearer ' + getToken() },
|
||||
selected: null,
|
||||
viewerCtrl: null,
|
||||
collapseActive: [],
|
||||
fileReviews: [],
|
||||
rmTasks: [],
|
||||
@@ -287,9 +286,6 @@ export default {
|
||||
}
|
||||
},
|
||||
created() { this.loadCurrentProject() },
|
||||
beforeDestroy() {
|
||||
this.destroyViewer()
|
||||
},
|
||||
methods: {
|
||||
loadRmTasks(projectId) {
|
||||
if (!projectId) return
|
||||
@@ -329,25 +325,8 @@ export default {
|
||||
handlePageChange(val) { this.query.pageNum = val; this.loadList() },
|
||||
handleRowClick(row) {
|
||||
this.selected = row
|
||||
this.$nextTick(() => {
|
||||
this.mountPreview(row)
|
||||
})
|
||||
this.loadReviews('drawing_design', row.drawingId)
|
||||
},
|
||||
mountPreview(row) {
|
||||
this.destroyViewer()
|
||||
if (!row.fileUrl || !this.$refs.viewerContainer) return
|
||||
this.viewerCtrl = mountViewerFrame(this.$refs.viewerContainer, {
|
||||
url: row.fileUrl,
|
||||
options: { theme: 'light' }
|
||||
})
|
||||
},
|
||||
destroyViewer() {
|
||||
if (this.viewerCtrl) {
|
||||
this.viewerCtrl.destroy()
|
||||
this.viewerCtrl = null
|
||||
}
|
||||
},
|
||||
handleAdd() {
|
||||
this.dialogTitle = '新增图纸'
|
||||
if (!this.currentProjectId) { this.$message.warning('请先在项目总览中创建项目'); return }
|
||||
@@ -368,7 +347,6 @@ export default {
|
||||
delDrawingDesign(row.drawingId).then(() => {
|
||||
this.$message.success('删除成功')
|
||||
if (this.selected && this.selected.drawingId === row.drawingId) {
|
||||
this.destroyViewer()
|
||||
this.selected = null
|
||||
this.fileReviews = []
|
||||
}
|
||||
|
||||
@@ -88,7 +88,9 @@
|
||||
<el-button type="text" size="mini" icon="el-icon-download" style="margin-left:auto;" @click.stop="downloadFile(f)">下载</el-button>
|
||||
</div>
|
||||
<!-- Preview area (below attachments) -->
|
||||
<div v-if="previewFile" class="attach-preview" ref="viewerContainer"></div>
|
||||
<div v-if="previewFile" class="attach-preview">
|
||||
<iframe :src="previewFile" style="width:100%;height:100%;border:0;" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- No selection -->
|
||||
@@ -154,7 +156,6 @@
|
||||
import { listInstallFeedbackAll, addInstallFeedback, updateInstallFeedback, delInstallFeedback } from '@/api/rm/installFeedback'
|
||||
import { listProject } from '@/api/rm/project'
|
||||
import { getToken } from '@/utils/auth'
|
||||
import { mountViewerFrame } from '@flyfish-group/file-viewer-web'
|
||||
|
||||
export default {
|
||||
name: 'RmInstallFeedback',
|
||||
@@ -173,8 +174,7 @@ export default {
|
||||
selected: null,
|
||||
filterTitle: '',
|
||||
filterStatus: '',
|
||||
previewFile: null,
|
||||
viewerCtrl: null
|
||||
previewFile: null
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -191,9 +191,6 @@ export default {
|
||||
}
|
||||
},
|
||||
created() { this.loadCurrentProject() },
|
||||
beforeDestroy() {
|
||||
this.destroyViewer()
|
||||
},
|
||||
methods: {
|
||||
statusTag(status) {
|
||||
return { pending: 'warning', processing: 'primary', resolved: 'success' }[status] || ''
|
||||
@@ -225,24 +222,9 @@ export default {
|
||||
handleRowClick(row) {
|
||||
this.selected = row
|
||||
this.previewFile = null
|
||||
this.destroyViewer()
|
||||
},
|
||||
previewAttachment(url) {
|
||||
this.previewFile = url
|
||||
this.$nextTick(() => {
|
||||
this.destroyViewer()
|
||||
if (!this.$refs.viewerContainer) return
|
||||
this.viewerCtrl = mountViewerFrame(this.$refs.viewerContainer, {
|
||||
url: url,
|
||||
options: { theme: 'light' }
|
||||
})
|
||||
})
|
||||
},
|
||||
destroyViewer() {
|
||||
if (this.viewerCtrl) {
|
||||
this.viewerCtrl.destroy()
|
||||
this.viewerCtrl = null
|
||||
}
|
||||
},
|
||||
handleAdd() {
|
||||
this.dialogTitle = '反馈问题'
|
||||
@@ -274,7 +256,6 @@ export default {
|
||||
this.$confirm('确认删除?', '提示', { type: 'warning' }).then(() => {
|
||||
delInstallFeedback(row.feedbackId).then(() => {
|
||||
if (this.selected && this.selected.feedbackId === row.feedbackId) {
|
||||
this.destroyViewer()
|
||||
this.selected = null
|
||||
this.previewFile = null
|
||||
}
|
||||
|
||||
@@ -138,8 +138,9 @@
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
<!-- Viewer -->
|
||||
<div class="viewer-area" ref="viewerContainer">
|
||||
<div v-if="!selectedFile || !selectedFile.fileUrl" class="viewer-placeholder">
|
||||
<div class="viewer-area">
|
||||
<iframe v-if="selectedFile && selectedFile.fileUrl" :src="selectedFile.fileUrl" style="width:100%;height:100%;border:0;" />
|
||||
<div v-else class="viewer-placeholder">
|
||||
<i class="el-icon-view" style="font-size:48px;color:#c0c4cc;"></i>
|
||||
<p style="color:#909399;margin-top:8px;">点击左侧文件进行预览</p>
|
||||
</div>
|
||||
@@ -242,7 +243,6 @@ import { listProject } from '@/api/rm/project'
|
||||
import { listFileReview, addFileReview } from '@/api/rm/fileReview'
|
||||
import { listRmTask } from '@/api/oa/task'
|
||||
import { getToken } from '@/utils/auth'
|
||||
import { mountViewerFrame } from '@flyfish-group/file-viewer-web'
|
||||
|
||||
export default {
|
||||
name: 'RmLayoutFile',
|
||||
@@ -262,7 +262,6 @@ export default {
|
||||
uploadUrl: process.env.VUE_APP_BASE_API + '/common/upload',
|
||||
uploadHeaders: { Authorization: 'Bearer ' + getToken() },
|
||||
selectedFile: null,
|
||||
viewerCtrl: null,
|
||||
collapseActive: [],
|
||||
fileReviews: [],
|
||||
rmTasks: [],
|
||||
@@ -275,9 +274,6 @@ export default {
|
||||
}
|
||||
},
|
||||
created() { this.loadCurrentProject() },
|
||||
beforeDestroy() {
|
||||
this.destroyViewer()
|
||||
},
|
||||
methods: {
|
||||
loadCurrentProject() {
|
||||
const pid = this.$route.query.projectId || sessionStorage.getItem('rm_current_project_id')
|
||||
@@ -317,9 +313,6 @@ export default {
|
||||
handlePageChange(val) { this.query.pageNum = val; this.loadList() },
|
||||
handleRowClick(row) {
|
||||
this.selectedFile = row
|
||||
this.$nextTick(() => {
|
||||
this.mountPreview(row)
|
||||
})
|
||||
this.loadReviews('layout', row.layoutFileId)
|
||||
},
|
||||
loadReviews(fileModule, fileId) {
|
||||
@@ -328,20 +321,6 @@ export default {
|
||||
this.fileReviews = res.data || []
|
||||
})
|
||||
},
|
||||
mountPreview(row) {
|
||||
this.destroyViewer()
|
||||
if (!row.fileUrl || !this.$refs.viewerContainer) return
|
||||
this.viewerCtrl = mountViewerFrame(this.$refs.viewerContainer, {
|
||||
url: row.fileUrl,
|
||||
options: { theme: 'light' }
|
||||
})
|
||||
},
|
||||
destroyViewer() {
|
||||
if (this.viewerCtrl) {
|
||||
this.viewerCtrl.destroy()
|
||||
this.viewerCtrl = null
|
||||
}
|
||||
},
|
||||
handleAdd() {
|
||||
this.dialogTitle = '新增布局图'
|
||||
if (!this.currentProjectId) { this.$message.warning('请先在项目总览中创建项目'); return }
|
||||
@@ -362,7 +341,6 @@ export default {
|
||||
delLayoutFile(row.layoutFileId).then(() => {
|
||||
this.$message.success('删除成功')
|
||||
if (this.selectedFile && this.selectedFile.layoutFileId === row.layoutFileId) {
|
||||
this.destroyViewer()
|
||||
this.selectedFile = null
|
||||
this.fileReviews = []
|
||||
}
|
||||
|
||||
@@ -88,8 +88,9 @@
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
<!-- Viewer -->
|
||||
<div class="viewer-area" ref="viewerContainer">
|
||||
<div v-if="!selected || !selected.fileUrl" class="viewer-placeholder">
|
||||
<div class="viewer-area">
|
||||
<iframe v-if="selected && selected.fileUrl" :src="selected.fileUrl" style="width:100%;height:100%;border:0;" />
|
||||
<div v-else class="viewer-placeholder">
|
||||
<i class="el-icon-view" style="font-size:48px;color:#c0c4cc;"></i>
|
||||
<p style="color:#909399;margin-top:8px;">{{ selected ? '暂未上传文件' : '点击左侧文件进行预览' }}</p>
|
||||
</div>
|
||||
@@ -168,7 +169,6 @@ import { listProject } from '@/api/rm/project'
|
||||
import { listFileReview, addFileReview } from '@/api/rm/fileReview'
|
||||
import { listRmTask } from '@/api/oa/task'
|
||||
import { getToken } from '@/utils/auth'
|
||||
import { mountViewerFrame } from '@flyfish-group/file-viewer-web'
|
||||
|
||||
export default {
|
||||
name: 'RmManual',
|
||||
@@ -186,7 +186,6 @@ export default {
|
||||
uploadUrl: process.env.VUE_APP_BASE_API + '/common/upload',
|
||||
uploadHeaders: { Authorization: 'Bearer ' + getToken() },
|
||||
selected: null,
|
||||
viewerCtrl: null,
|
||||
collapseActive: [],
|
||||
fileReviews: [],
|
||||
rmTasks: [],
|
||||
@@ -210,9 +209,6 @@ export default {
|
||||
}
|
||||
},
|
||||
created() { this.loadCurrentProject() },
|
||||
beforeDestroy() {
|
||||
this.destroyViewer()
|
||||
},
|
||||
methods: {
|
||||
tagType(type) {
|
||||
return { '说明书': 'primary', '图纸': 'success', '维护手册': 'warning', '备件清单': 'info' }[type] || ''
|
||||
@@ -240,25 +236,8 @@ export default {
|
||||
clearFilter() { this.filterName = ''; this.filterType = '' },
|
||||
handleRowClick(row) {
|
||||
this.selected = row
|
||||
this.$nextTick(() => {
|
||||
this.mountPreview(row)
|
||||
})
|
||||
this.loadReviews('manual', row.manualId)
|
||||
},
|
||||
mountPreview(row) {
|
||||
this.destroyViewer()
|
||||
if (!row.fileUrl || !this.$refs.viewerContainer) return
|
||||
this.viewerCtrl = mountViewerFrame(this.$refs.viewerContainer, {
|
||||
url: row.fileUrl,
|
||||
options: { theme: 'light' }
|
||||
})
|
||||
},
|
||||
destroyViewer() {
|
||||
if (this.viewerCtrl) {
|
||||
this.viewerCtrl.destroy()
|
||||
this.viewerCtrl = null
|
||||
}
|
||||
},
|
||||
handleAdd() {
|
||||
this.dialogTitle = '上传说明书/图纸'
|
||||
this.form = { manualName: '', docType: '说明书', version: 'V1.0', uploadDate: new Date().toISOString().slice(0, 10), fileUrl: '', description: '' }
|
||||
@@ -281,7 +260,6 @@ export default {
|
||||
this.$confirm('确认删除?', '提示', { type: 'warning' }).then(() => {
|
||||
delManual(row.manualId).then(() => {
|
||||
if (this.selected && this.selected.manualId === row.manualId) {
|
||||
this.destroyViewer()
|
||||
this.selected = null
|
||||
this.fileReviews = []
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user