调整
This commit is contained in:
@@ -2,8 +2,8 @@
|
||||
<el-dialog title="新增附件信息" :visible.sync="visible" width="85%" append-to-body>
|
||||
<edit-document ref="editDocumentRef" :toolId="toolId" @docSubmitData="editDocumentSubmit" :relatedTool="false"/>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm()">确 定</el-button>
|
||||
<el-button @click="cancel()">取 消</el-button>
|
||||
<el-button type="primary" icon="el-icon-check" @click="submitForm()">保 存</el-button>
|
||||
<el-button icon="el-icon-close" @click="cancel()">关 闭</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div class="fbox1">
|
||||
<div class="fl">
|
||||
<el-tabs v-model="detailActiveName">
|
||||
<el-tab-pane label="附件信息" name="first" v-loading="previewLoading" >
|
||||
<el-tab-pane label="附件信息" name="first" v-loading="previewLoading" element-loading-text="预览转换中,请耐心等待">
|
||||
<el-table :data="attachmentList" style="width: 100%">
|
||||
<el-table-column label="序号" width="60" align="center" type="index"></el-table-column>
|
||||
<el-table-column label="附件名称" prop="fileName" :show-overflow-tooltip="true" />
|
||||
|
||||
@@ -89,9 +89,10 @@
|
||||
icon="el-icon-plus"
|
||||
@click="handleAdd"
|
||||
>工具发布</el-button>
|
||||
<el-button type="primary" icon="el-icon-download" @click="handleOpenExport()" v-hasPermi="['tool:export']">全量导出</el-button>
|
||||
<el-button type="primary" icon="el-icon-download" @click="handleOpenBatchExport()" v-hasPermi="['tool:batch:export']">批量导出</el-button>
|
||||
<el-button icon="el-icon-delete" @click="handleDelete(selection)" v-hasPermi="['tool:batch:remove']">批量删除</el-button>
|
||||
<el-button icon="el-icon-download" @click="handleOpenExport()" v-hasPermi="['tool:export']">全量导出</el-button>
|
||||
<el-button icon="el-icon-download" @click="handleOpenBatchExport()" v-hasPermi="['tool:batch:export']">批量导出</el-button>
|
||||
|
||||
</div><!--operate 操作按钮-->
|
||||
<el-table v-loading="loading" :data="toolList" ref="tableRef" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="50" align="center"/>
|
||||
@@ -114,7 +115,7 @@
|
||||
<dict-tag :options="dict.type.flow_status" :value="scope.row.recordStatus"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="引用工具" align="center" :show-overflow-tooltip="true">
|
||||
<!-- <el-table-column label="关联工具" align="center" :show-overflow-tooltip="true">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="handleRelationTool(scope.row.relationToolList)">
|
||||
<el-link target="_blank" v-for="assItem in scope.row.relationToolList" :key="assItem.id" @click="handleToolDetail(assItem)">{{assItem.toolName}}</el-link>
|
||||
@@ -122,14 +123,14 @@
|
||||
</template>
|
||||
</el-table-column>-->
|
||||
|
||||
<el-table-column label="引用工具" align="center" :show-overflow-tooltip="true" width="100">
|
||||
<el-table-column label="关联工具" align="center" :show-overflow-tooltip="true" width="100">
|
||||
<template slot-scope="scope">
|
||||
<el-popover
|
||||
trigger="click"
|
||||
placement="top-start"
|
||||
v-if="Array.isArray(scope.row.relationToolList) && scope.row.relationToolList.length > 0"
|
||||
>
|
||||
<!-- 这里展示引用工具的详细信息 -->
|
||||
<!-- 这里展示关联工具的详细信息 -->
|
||||
<ul>
|
||||
<li v-for="assItem in scope.row.relationToolList" :key="assItem.id">
|
||||
<el-link target="_blank" @click="handleToolDetail(assItem)">
|
||||
@@ -139,7 +140,7 @@
|
||||
</ul>
|
||||
<!-- 弹出框触发器 -->
|
||||
<el-link slot="reference">
|
||||
引用工具 ({{ scope.row.relationToolList.length }})
|
||||
关联工具 ({{ scope.row.relationToolList.length }})
|
||||
</el-link>
|
||||
</el-popover>
|
||||
</template>
|
||||
@@ -184,7 +185,8 @@
|
||||
</el-card><!--el-card-->
|
||||
|
||||
<!-- 工具导出对话框 -->
|
||||
<el-dialog :title="exportTitle" :visible.sync="exoportDrawerOpen" width="980px" append-to-body :close-on-press-escape="false" :close-on-click-modal="false" :show-close="false">
|
||||
<el-dialog :title="exportTitle" :visible.sync="exoportDrawerOpen" width="980px" append-to-body :close-on-press-escape="false" :close-on-click-modal="false"
|
||||
:show-close="false" :wrapperClosable="false">
|
||||
<div class="el-form-border">
|
||||
<el-form ref="exportFrom" label-width="180px">
|
||||
<el-row>
|
||||
@@ -243,12 +245,12 @@
|
||||
</el-drawer>
|
||||
|
||||
<!-- 工具详情对话框 -->
|
||||
<el-drawer :visible.sync="detailDrawerOpen" :modal-append-to-body="false" :show-close="false"
|
||||
<el-drawer :visible.sync="detailDrawerOpen" :modal-append-to-body="false" :show-close="false" :wrapperClosable="false"
|
||||
size="80%" class="no-padding" :close-on-press-escape="false" @close="handleCloseDetail()">
|
||||
<template #title>
|
||||
<span>{{toolTitle}}</span>
|
||||
<div class="drawer-head-btn">
|
||||
<el-button @click="detailDrawerOpen = false">关 闭</el-button>
|
||||
<el-button icon="el-icon-close" @click="detailDrawerOpen = false">关 闭</el-button>
|
||||
</div><!--drawer-head-btn 抽屉顶部按钮区域-->
|
||||
</template>
|
||||
<template v-if="detailOpen">
|
||||
@@ -259,12 +261,12 @@
|
||||
|
||||
|
||||
<!-- 工具详情对话框 -->
|
||||
<el-drawer :visible.sync="fileDetailDrawerOpen" :modal-append-to-body="false" :show-close="false"
|
||||
<el-drawer :visible.sync="fileDetailDrawerOpen" :modal-append-to-body="false" :show-close="false" :wrapperClosable="false"
|
||||
size="80%" class="no-padding" :close-on-press-escape="false" @close="handleFileCloseDetail()">
|
||||
<template #title>
|
||||
<span>工具附件下载</span>
|
||||
<div class="drawer-head-btn">
|
||||
<el-button @click="fileDetailDrawerOpen = false">关 闭</el-button>
|
||||
<el-button icon="el-icon-close" @click="fileDetailDrawerOpen = false">关 闭</el-button>
|
||||
</div><!--drawer-head-btn 抽屉顶部按钮区域-->
|
||||
</template>
|
||||
<template v-if="fileDetailOpen">
|
||||
@@ -608,7 +610,7 @@ export default {
|
||||
handleOpenBatchExport() {
|
||||
let self = this
|
||||
if(self.selection == null || self.selection == '' || self.selection == undefined || self.selection.length <= 0){
|
||||
this.$modal.msgError(`最少选择一条数据`);
|
||||
this.$modal.msgWarning(`最少选择一条数据`);
|
||||
return;
|
||||
}
|
||||
if (this.checkList.length<1) {
|
||||
@@ -697,7 +699,7 @@ export default {
|
||||
handleDelete(list){
|
||||
let _this = this
|
||||
if (!list||list.length<1) {
|
||||
this.$modal.msgError(`最少选择一条数据`);
|
||||
this.$modal.msgWarning(`最少选择一条数据`);
|
||||
return
|
||||
}
|
||||
//只能删除草稿数据
|
||||
|
||||
@@ -19,17 +19,19 @@
|
||||
<el-col :span="12"> <el-form-item label="操作说明">{{detailData.operateExplain}}</el-form-item> </el-col>
|
||||
<el-col :span="12"> <el-form-item label="备注">{{detailData.remark}}</el-form-item> </el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="引用工具">
|
||||
<span v-if="detailData.association != null && detailData.association != '' && detailData.association != undefined">
|
||||
<el-tag :key="tag.toolId" v-for="tag in JSON.parse(detailData.association)" type="info" style="margin-right: 5px">{{tag.toolName}}</el-tag>
|
||||
</span>
|
||||
<el-form-item label="关联工具">
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" v-if="detailData.association != null && detailData.association != '' && detailData.association != undefined" @click="getToolRelationTree">查看</el-button>
|
||||
|
||||
<!-- <span v-if="detailData.association != null && detailData.association != '' && detailData.association != undefined">
|
||||
<el-tag :key="tag.toolId" v-for="tag in JSON.parse(detailData.association)" type="info" style="margin-right: 5px">{{tag.toolName}}</el-tag>
|
||||
</span>-->
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form><!--el-form-->
|
||||
</div><!--el-form-border 表单-->
|
||||
</el-tab-pane><!--el-tab-pane-->
|
||||
<el-tab-pane label="关联附件" name="second" v-loading="previewLoading" >
|
||||
<el-tab-pane label="关联附件" name="second" v-loading="previewLoading" element-loading-text="预览转换中,请耐心等待">
|
||||
<el-table :data="attachmentList" style="width: 100%">
|
||||
<el-table-column label="附件名称" prop="fileName" :show-overflow-tooltip="true" />
|
||||
<!-- <el-table-column label="类别" prop="docType" :show-overflow-tooltip="true" width="80" >
|
||||
@@ -130,6 +132,44 @@
|
||||
|
||||
<preview-util v-if="isPreviewDisable" ref="previewForm" @previewClose="previewClose" @previewLoadingClose="previewLoadingClose"></preview-util>
|
||||
|
||||
|
||||
<!-- 关联工具展示 -->
|
||||
<el-dialog title="关联工具" :visible.sync="toolTreeVisible" width="980px" append-to-body :close-on-press-escape="false" :close-on-click-modal="false"
|
||||
:show-close="false" :wrapperClosable="false" v-loading="toolTreeLoading">
|
||||
<el-tree :data="toolRelationOptions" :props="defaultProps"></el-tree>
|
||||
<!-- <el-table
|
||||
:data="relationToolData"
|
||||
border
|
||||
ref="multipleTable"
|
||||
header-align="left"
|
||||
>
|
||||
<el-table-column label="序号" width="60" type="index" align="center"></el-table-column>
|
||||
<el-table-column label="工具编号" key="toolCode" prop="toolCode"/>
|
||||
<el-table-column label="工具名称" key="toolName" prop="toolName":show-overflow-tooltip="true" />
|
||||
<el-table-column label="操作" width="100px" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
@click="selectDelete(scope.row)"
|
||||
>删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!– 分页组件 –>
|
||||
<el-pagination
|
||||
v-show="relationToolTotal > 0"
|
||||
:current-page.sync="currentToolPage"
|
||||
:page-size.sync="pageToolSize"
|
||||
:total="relationToolTotal"
|
||||
@current-change="handlePageToolChange"
|
||||
layout="total, prev, pager, next"
|
||||
/>-->
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button icon="el-icon-close" @click="toolTreeVisible = false">关 闭</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
<!-- 上传 -->
|
||||
<!-- <AddDoc :show.sync="open" :toolId="detailData.toolId" @callback="getAttachmentList"/>-->
|
||||
</div><!--fbox1 左右分栏-->
|
||||
@@ -144,6 +184,7 @@
|
||||
import { addCount } from "@/api/tool/downloadCount";
|
||||
import { listAttachment } from "@/api/attachment/attachment";
|
||||
import previewUtil from '@/components/PreviewUtil/previewUtil.vue'
|
||||
import { getDataThree } from '@/api/tool/toolRelation'
|
||||
|
||||
export default {
|
||||
name: 'toolDetail',
|
||||
@@ -208,7 +249,17 @@
|
||||
previewLoading:false,
|
||||
previewUseFront: "txt,doc,docx,pdf",
|
||||
isPreviewDisable: false,
|
||||
total: 0
|
||||
total: 0,
|
||||
//工具树显示
|
||||
toolTreeVisible: false,
|
||||
toolTreeLoading: false,
|
||||
toolDataList: [],
|
||||
defaultProps: {
|
||||
children: 'children',
|
||||
label: 'label'
|
||||
},
|
||||
//工具关系选择项
|
||||
toolRelationOptions: [],
|
||||
|
||||
}
|
||||
},
|
||||
@@ -445,6 +496,7 @@
|
||||
self.detailLoading = true
|
||||
getTool(self.toolDetail.toolId).then((res) => {
|
||||
self.detailData = res.data
|
||||
self.detailData.association = JSON.parse(res.data.association)
|
||||
/*let formData = res.data;
|
||||
formData.type = _this.form.type
|
||||
_this.form = formData*/
|
||||
@@ -470,6 +522,45 @@
|
||||
const extension = parts.pop();
|
||||
return extension;
|
||||
},
|
||||
/** 获取工具关联树展示 */
|
||||
getToolRelationTree() {
|
||||
let self = this
|
||||
let toolRelation ={
|
||||
resourceId: "",
|
||||
}
|
||||
let toolIds = []
|
||||
if(self.detailData.toolId){
|
||||
self.$set(toolRelation,"resourceIds",[self.detailData.toolId])
|
||||
}else if(self.detailData.association && self.detailData.association.length > 0){
|
||||
self.detailData.association.forEach(item=>{
|
||||
toolIds.push(item.toolId)
|
||||
})
|
||||
self.$set(toolRelation,"resourceIds",toolIds)
|
||||
}
|
||||
|
||||
self.toolTreeVisible = true;
|
||||
self.toolTreeLoading = true;
|
||||
getDataThree(toolRelation).then(res => {
|
||||
if(self.detailData.toolName){
|
||||
let treeArray = []
|
||||
let treeData = {
|
||||
"id": "20240908001",
|
||||
"label": self.detailData.toolName,
|
||||
"types": null,
|
||||
"children": res.data
|
||||
}
|
||||
treeArray.push(treeData)
|
||||
this.toolRelationOptions = treeArray;
|
||||
self.toolTreeLoading = false;
|
||||
return
|
||||
}
|
||||
this.toolRelationOptions = res.data;
|
||||
self.toolTreeLoading = false;
|
||||
}).catch(err => {
|
||||
console.error("err========", err)
|
||||
self.toolTreeLoading = false;
|
||||
});
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user