1、新增评论、回复功能
2、工具发布权限完善一部分
This commit is contained in:
@@ -1,18 +1,78 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-card>
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
|
||||
<div class="search">
|
||||
<div class="sl">
|
||||
<el-form-item label="文档名称" prop="roleName">
|
||||
<el-form-item label="文档编号" prop="docCode">
|
||||
<el-input
|
||||
v-model="queryParams.docCode"
|
||||
placeholder="请输入文档名称"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="文档名称" prop="docName">
|
||||
<el-input
|
||||
v-model="queryParams.docName"
|
||||
placeholder="请输入文档名称"
|
||||
clearable
|
||||
style="width: 240px"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="类别" prop="docType">
|
||||
<el-select v-model="queryParams.docType" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="dict in dict.type.doc_class"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="负责人" prop="docPrincipals">
|
||||
<el-input
|
||||
v-model="queryParams.docPrincipals"
|
||||
placeholder="请输入负责人"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="归属单位" prop="docRespDept">
|
||||
<treeselect v-model="queryParams.docRespDept" :options="deptOptions"
|
||||
placeholder="请选择归属单位"
|
||||
:show-count="true" style="width: 150px"/>
|
||||
</el-form-item>-->
|
||||
<el-form-item label="来源" prop="docSource">
|
||||
<el-select v-model="queryParams.docSource" placeholder="请选择" >
|
||||
<el-option
|
||||
v-for="dict in dict.type.doc_source"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态" prop="docStatus">
|
||||
<el-select v-model="queryParams.docStatus" placeholder="请选择" >
|
||||
<el-option
|
||||
v-for="dict in dict.type.doc_upload_status"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="创建时间">
|
||||
<el-date-picker
|
||||
v-model="dateRange"
|
||||
value-format="yyyy-MM-dd"
|
||||
type="daterange"
|
||||
range-separator="-"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="sr">
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
@@ -47,9 +107,11 @@
|
||||
icon="el-icon-upload2"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['document:add']"
|
||||
>上传文档</el-button>
|
||||
<el-button type="primary" icon="el-icon-position" @click="handlePush">发布</el-button>
|
||||
<el-button icon="el-icon-delete" @click="handleDelete">批量删除</el-button>
|
||||
<el-button type="primary" icon="el-icon-position" @click="handlePush" v-hasPermi="['document:push']">发布</el-button>
|
||||
<el-button icon="el-icon-delete" @click="handleDelete" v-hasPermi="['document:batch:remove']">批量删除</el-button>
|
||||
<el-button icon="el-icon-download" @click="handleOpenExport()" v-hasPermi="['document:export']">导出</el-button>
|
||||
</div><!--operate 操作按钮-->
|
||||
|
||||
<el-table v-loading="loading" :data="docList" @selection-change="handleSelectionChange">
|
||||
@@ -69,12 +131,17 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="关联工具" align="center" prop="toolName" width="100" />
|
||||
<el-table-column label="上传状态" align="center" prop="docUploadProgress" width="100" >
|
||||
<el-table-column label="上传状态" align="center" prop="docStatus" width="100" >
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.doc_upload_status" :value="scope.row.docStatus"/>
|
||||
</template>
|
||||
<!--
|
||||
<template slot-scope="scope">
|
||||
<el-tag type="info" v-if="scope.row.docStatus == 'ysc'">已上传</el-tag>
|
||||
<el-tag type="success" v-else-if="scope.row.docStatus == 'yfb'">已发布</el-tag>
|
||||
<el-tag type="warning" v-else-if="scope.row.docStatus == 'shz'">审核中</el-tag>
|
||||
</template>
|
||||
</template>-->
|
||||
|
||||
</el-table-column>
|
||||
<el-table-column label="创建时间" align="center" prop="createTime" width="180" :show-overflow-tooltip="true">
|
||||
<template slot-scope="scope">
|
||||
@@ -89,6 +156,7 @@
|
||||
icon="el-icon-edit"
|
||||
v-if="scope.row.docStatus != 'yfb' && scope.row.docStatus != 'shz'"
|
||||
@click="handleEdit(scope.row)"
|
||||
v-hasPermi="['document:edit']"
|
||||
>编辑</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
@@ -96,6 +164,7 @@
|
||||
icon="el-icon-view"
|
||||
v-if="previewAuth(scope.row)"
|
||||
@click="handlePreview(scope.row)"
|
||||
v-hasPermi="['document:preview']"
|
||||
>预览</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
@@ -103,8 +172,11 @@
|
||||
icon="el-icon-delete"
|
||||
v-if="scope.row.docStatus != 'yfb' && scope.row.docStatus != 'shz'"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['document:remove']"
|
||||
>删除</el-button>
|
||||
<el-button type="text" icon="el-icon-download" @click="handleDownload(scope.row)" v-loading="loadingDownload">下载</el-button>
|
||||
<el-button type="text" icon="el-icon-download" @click="handleDownload(scope.row)"
|
||||
v-hasPermi="['document:batch:remove']"
|
||||
v-loading="loadingDownload">下载</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@@ -156,7 +228,39 @@
|
||||
<edit-document ref="editDocumentRef" @submit="editDocumentSubmit"/>
|
||||
</el-drawer>
|
||||
|
||||
<upload-progress/>
|
||||
|
||||
<!-- 工具导出对话框 -->
|
||||
<el-drawer :visible.sync="exportDrawerOpen" size="75%" :show-close="false">
|
||||
<template #title>
|
||||
<span class="title">导出</span>
|
||||
<div class="drawer-head-btn">
|
||||
<el-button type="primary" @click="handleExport">提交</el-button>
|
||||
<el-button @click="exportDrawerOpen=false">取消</el-button>
|
||||
</div><!--drawer-head-btn 抽屉顶部按钮区域-->
|
||||
</template>
|
||||
<div class="el-form-border">
|
||||
<el-form ref="form" label-width="200px">
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="选择需要导出的字段信息">
|
||||
<el-checkbox-group v-model="checkList">
|
||||
<el-checkbox label="docCode">文档编号</el-checkbox>
|
||||
<el-checkbox label="docName">文档名称</el-checkbox>
|
||||
<el-checkbox label="docType">类别</el-checkbox>
|
||||
<el-checkbox label="docPrincipals">负责人</el-checkbox>
|
||||
<el-checkbox label="docRespDeptName">归属单位</el-checkbox>
|
||||
<el-checkbox label="docSource">来源</el-checkbox>
|
||||
<el-checkbox label="toolName">关联工具</el-checkbox>
|
||||
<el-checkbox label="docStatus">上传状态</el-checkbox>
|
||||
<el-checkbox label="createTime">创建时间</el-checkbox>
|
||||
</el-checkbox-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form><!--el-form-->
|
||||
</div><!--el-form-border 表单-->
|
||||
</el-drawer><!--el-drawer 导出抽屉-->
|
||||
<!-- <upload-progress/>-->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -174,7 +278,7 @@ import Treeselect from "@riophae/vue-treeselect";
|
||||
export default {
|
||||
name: "Document",
|
||||
components: { iFrame, editDocument, uploadProgress, Treeselect},
|
||||
dicts:['doc_class','doc_source'],
|
||||
dicts:['doc_class','doc_source','doc_upload_status'],
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
@@ -220,7 +324,13 @@ export default {
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
docName: undefined
|
||||
docName: '',
|
||||
docCode: '',
|
||||
docType: '',
|
||||
docPrincipals: '',
|
||||
docSource: '',
|
||||
docStatus: '',
|
||||
docCategoryId: '',
|
||||
},
|
||||
// 表单参数
|
||||
form: {
|
||||
@@ -263,6 +373,10 @@ export default {
|
||||
},
|
||||
loadingDownload: false,
|
||||
acceptType: "zip,rar,7z",
|
||||
//导出属性
|
||||
columnList: ['docCode', 'docName', 'docType', 'docPrincipals', 'docRespDeptName', 'docSource', 'toolName', 'docStatus', 'createTime'],
|
||||
checkList: [],
|
||||
exportDrawerOpen: false,
|
||||
};
|
||||
},
|
||||
created() {
|
||||
@@ -290,18 +404,22 @@ export default {
|
||||
},
|
||||
// 节点单击事件
|
||||
handleNodeClick(data) {
|
||||
this.queryParams.toolRespDept = data.id;
|
||||
this.queryParams.docCategoryId = data.id;
|
||||
this.handleQuery();
|
||||
},
|
||||
/** 查询列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
let self = this
|
||||
self.loading = true;
|
||||
listDocument(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
|
||||
this.docList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
self.docList = response.rows;
|
||||
self.total = response.total;
|
||||
self.loading = false;
|
||||
}
|
||||
);
|
||||
).catch(err=>{
|
||||
console.error("getList=======", err)
|
||||
self.loading = false;
|
||||
});
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
@@ -311,6 +429,7 @@ export default {
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.dateRange = [];
|
||||
this.queryParams.docCategoryId = '';
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
@@ -350,7 +469,7 @@ export default {
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch((err) => {console.info(err)});
|
||||
}).catch((err) => {console.error(err)});
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleDocCategoryAdd(data) {
|
||||
@@ -370,7 +489,7 @@ export default {
|
||||
this.getDocumentTree();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch((err) => {
|
||||
console.info("err============", err)
|
||||
console.error("err============", err)
|
||||
});
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
@@ -460,7 +579,23 @@ export default {
|
||||
},
|
||||
isSelectable(row) {
|
||||
return row.docStatus !== 'yfb' && row.docStatus !== 'shz';
|
||||
}
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleOpenExport() {
|
||||
if (this.checkList.length<1) {
|
||||
this.checkList = JSON.parse(JSON.stringify(this.columnList))
|
||||
}
|
||||
this.exportDrawerOpen = true
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
let excludeFields = this.columnList.filter(item=>!this.checkList.includes(item))
|
||||
this.download('/document/export', {
|
||||
...this.queryParams,
|
||||
downloadCheck:false,
|
||||
excludeFields:excludeFields,
|
||||
}, `文档资源信息数据_${new Date().getTime()}.xlsx`)
|
||||
},
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user