|
@@ -1,80 +1,92 @@
|
|
|
<template>
|
|
|
<div class="app-container">
|
|
|
- <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
|
|
- <el-form-item label="文档名称" prop="docName">
|
|
|
- <el-input v-model="queryParams.docName" placeholder="请输入文档名称" clearable @keyup.enter.native="handleQuery" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="文档级别" prop="docLevel">
|
|
|
- <el-input v-model="queryParams.docLevel" placeholder="请输入文档级别" clearable @keyup.enter.native="handleQuery" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="文档年份" prop="createYear">
|
|
|
- <el-input v-model="queryParams.createYear" placeholder="请输入文档创建年份" clearable
|
|
|
- @keyup.enter.native="handleQuery" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item>
|
|
|
- <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
|
|
- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
-
|
|
|
- <el-row :gutter="10" class="mb8">
|
|
|
- <el-col :span="1.5">
|
|
|
- <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
|
|
|
- v-hasPermi="['doc:info:add']">新增</el-button>
|
|
|
- </el-col>
|
|
|
- <el-col :span="1.5">
|
|
|
- <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
|
|
|
- v-hasPermi="['doc:info:edit']">修改</el-button>
|
|
|
- </el-col>
|
|
|
- <el-col :span="1.5">
|
|
|
- <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
|
|
|
- v-hasPermi="['doc:info:remove']">删除</el-button>
|
|
|
- </el-col>
|
|
|
- <el-col :span="1.5">
|
|
|
- <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
|
|
|
- v-hasPermi="['doc:info:export']">导出</el-button>
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <!--目录数据-->
|
|
|
+ <el-col :span="4" :xs="24">
|
|
|
+ <div class="head-container">
|
|
|
+ <el-tree :data="dirList" :props="defaultProps" :expand-on-click-node="false" ref="tree" node-key="id"
|
|
|
+ default-expand-all highlight-current @node-click="handleNodeClick" />
|
|
|
+ </div>
|
|
|
</el-col>
|
|
|
- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
- </el-row>
|
|
|
+ <!--文档数据-->
|
|
|
+ <el-col :span="16" :xs=24>
|
|
|
+ <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
|
|
|
+ label-width="68px">
|
|
|
+ <el-form-item label="文档名称" prop="docName">
|
|
|
+ <el-input v-model="queryParams.docName" placeholder="请输入文档名称" clearable @keyup.enter.native="handleQuery" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="文档级别" prop="docLevel">
|
|
|
+ <el-input v-model="queryParams.docLevel" placeholder="请输入文档级别" clearable
|
|
|
+ @keyup.enter.native="handleQuery" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="文档年份" prop="createYear">
|
|
|
+ <el-input v-model="queryParams.createYear" placeholder="请输入文档创建年份" clearable
|
|
|
+ @keyup.enter.native="handleQuery" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
|
|
+ <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+
|
|
|
+ <el-row :gutter="10" class="mb8">
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
|
|
|
+ v-hasPermi="['doc:info:add']">上传</el-button>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
|
|
|
+ v-hasPermi="['doc:info:edit']">修改</el-button>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
|
|
|
+ v-hasPermi="['doc:info:remove']">删除</el-button>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
|
|
|
+ v-hasPermi="['doc:info:export']">导出</el-button>
|
|
|
+ </el-col>
|
|
|
+ <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
+ </el-row>
|
|
|
|
|
|
- <el-table v-loading="loading" :data="infoList" @selection-change="handleSelectionChange">
|
|
|
- <el-table-column type="selection" width="55" align="center" />
|
|
|
- <el-table-column label="文档ID" align="center" prop="docId" />
|
|
|
- <el-table-column label="文档名称" align="center" prop="docName" />
|
|
|
- <el-table-column label="文档级别" align="center" prop="docLevel" />
|
|
|
- <el-table-column label="文档年份" align="center" prop="createYear" />
|
|
|
- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-button size="mini" type="text" icon="el-icon-view" @click="handlePreview(scope.row)">预览</el-button>
|
|
|
- <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
|
|
- v-hasPermi="['doc:info:edit']">修改</el-button>
|
|
|
- <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
|
|
|
- v-hasPermi="['doc:info:remove']">删除</el-button>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
+ <el-table v-loading="loading" :data="infoList" @selection-change="handleSelectionChange">
|
|
|
+ <el-table-column type="selection" width="55" align="center" />
|
|
|
+ <el-table-column label="文档ID" align="center" prop="docId" />
|
|
|
+ <el-table-column label="文档名称" align="center" prop="docName" />
|
|
|
+ <el-table-column label="文档级别" align="center" prop="docLevel" />
|
|
|
+ <el-table-column label="文档年份" align="center" prop="createYear" />
|
|
|
+ <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button size="mini" type="text" icon="el-icon-view" @click="handlePreview(scope.row)">预览</el-button>
|
|
|
+ <el-button size="mini" type="text" icon="el-icon-view" @click="handleEdit(scope.row)">在线编辑</el-button>
|
|
|
+ <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
|
|
+ v-hasPermi="['doc:info:edit']">修改</el-button>
|
|
|
+ <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
|
|
|
+ v-hasPermi="['doc:info:remove']">删除</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
|
|
|
- <pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
|
|
|
- @pagination="getList" />
|
|
|
+ <pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
|
|
|
+ @pagination="getList" />
|
|
|
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
<!-- 添加或修改文档基本信息对话框 -->
|
|
|
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
|
|
- <el-form-item label="文档名称" prop="docName">
|
|
|
- <el-input v-model="form.docName" placeholder="请输入文档名称" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="文档描述">
|
|
|
- <editor v-model="form.docDesc" :min-height="192" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="文档存储路径" prop="docPath">
|
|
|
+ <el-form-item label="" prop="docPath">
|
|
|
<!-- <el-input v-model="form.docPath" placeholder="请输入文档路径" /> -->
|
|
|
<file-upload v-model="form.docPath" />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="文档级别" prop="docLevel">
|
|
|
- <el-input v-model="form.docLevel" placeholder="请输入文档级别" />
|
|
|
+ <el-form-item label="文件名称" prop="docName">
|
|
|
+ <el-input v-model="form.docName" placeholder="请输入文档名称" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="文件描述">
|
|
|
+ <el-input v-model="form.docDesc" type="textarea" placeholder="请输入内容" />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="文档年份" prop="createYear">
|
|
|
- <el-input v-model="form.createYear" placeholder="请输入文档创建年份" />
|
|
|
+ <el-form-item label="文件级别" prop="docLevel">
|
|
|
+ <el-input v-model="form.docLevel" placeholder="请输入文档级别" />
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
@@ -82,9 +94,6 @@
|
|
|
<el-button @click="cancel">取 消</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
- <div v-if='show' class='qualityManual-container-office'>
|
|
|
- <vab-only-office :option='option' />
|
|
|
- </div>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -96,14 +105,23 @@
|
|
|
addInfo,
|
|
|
updateInfo
|
|
|
} from "@/api/doc/info";
|
|
|
+ import {
|
|
|
+ listDir,
|
|
|
+ getDir,
|
|
|
+ delDir,
|
|
|
+ addDir,
|
|
|
+ updateDir,
|
|
|
+ personalList
|
|
|
+ } from "@/api/doc/dir";
|
|
|
|
|
|
- import vabOnlyOffice from '@/views/tool/onlyoffice.vue';
|
|
|
+ import Treeselect from "@riophae/vue-treeselect";
|
|
|
+ import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
|
|
|
|
|
export default {
|
|
|
+ name: "Info",
|
|
|
components: {
|
|
|
- vabOnlyOffice
|
|
|
+ Treeselect
|
|
|
},
|
|
|
- name: "Info",
|
|
|
data() {
|
|
|
return {
|
|
|
// 遮罩层
|
|
@@ -120,6 +138,8 @@
|
|
|
total: 0,
|
|
|
// 文档基本信息表格数据
|
|
|
infoList: [],
|
|
|
+ dirId: undefined, //目录ID
|
|
|
+ dirList: undefined,
|
|
|
// 弹出层标题
|
|
|
title: "",
|
|
|
// 是否显示弹出层
|
|
@@ -134,6 +154,11 @@
|
|
|
},
|
|
|
// 表单参数
|
|
|
form: {},
|
|
|
+ defaultProps: {
|
|
|
+ children: "children",
|
|
|
+ label: "dirName",
|
|
|
+ id: "dirId"
|
|
|
+ },
|
|
|
// 表单校验
|
|
|
rules: {
|
|
|
docName: [{
|
|
@@ -146,44 +171,37 @@
|
|
|
message: "文档创建年份;文档创建年份,分表用不能为空",
|
|
|
trigger: "blur"
|
|
|
}],
|
|
|
- },
|
|
|
- option: {
|
|
|
- key: '', //key 使用文档ID+年份
|
|
|
- url: '', //在线文档地址
|
|
|
- isEdit: '', //是否允许编辑
|
|
|
- fileType: '', //文件扩展名
|
|
|
- title: '', //文件标题
|
|
|
- user: {
|
|
|
- id: null, //用户ID
|
|
|
- name: '' //用户姓名
|
|
|
- },
|
|
|
- editUrl: '' //回调地址
|
|
|
- },
|
|
|
- show: true //是否显示
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
|
this.getList();
|
|
|
+ this.dirTree();
|
|
|
},
|
|
|
methods: {
|
|
|
+ //目录树
|
|
|
+ dirTree() {
|
|
|
+ personalList().then(response => {
|
|
|
+ this.dirId = response.data[0].dirId;
|
|
|
+ this.dirList = this.handleTree(response.data, "dirId");
|
|
|
+ this.loading = false;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 节点单击事件
|
|
|
+ handleNodeClick(data) {
|
|
|
+ this.queryParams.dirId = data.dirId;
|
|
|
+ this.dirId = data.dirId;
|
|
|
+ this.handleQuery();
|
|
|
+ },
|
|
|
+ //预览
|
|
|
handlePreview(row) {
|
|
|
- console.log(row);
|
|
|
- //获取当前登录用户名:this.$store.state.user.name
|
|
|
- //获取当前登录用户ID:this.$store.state.user.uid
|
|
|
- //获取当前登录用户昵称:this.$store.state.user.uname
|
|
|
- this.show = true;
|
|
|
- // getAction('/file/selectById', { id: this.id }).then(res => {
|
|
|
- this.option.isEdit = true;
|
|
|
- this.option.url = row.docPath;
|
|
|
- //'http://192.168.1.26:9300/statics/2023/04/03/产品研发会议纪要20230314_20230403170635A001.doc';
|
|
|
- this.option.title = row.docName; //'测试word';
|
|
|
- this.option.fileType = row.docType;
|
|
|
-
|
|
|
- this.option.user = {
|
|
|
- id: this.$store.state.user.uid,
|
|
|
- name: this.$store.state.user.uname
|
|
|
- };
|
|
|
- this.option.editUrl = 'http://192.168.1.26:8080/doc/only-office/callback?id='+row.docId+"&year="+row.createYear
|
|
|
+ row.isEdit = false;
|
|
|
+ this.$tab.openPage("文件[" + row.docName + "]预览", '/doc/oo-edit/index/' + row.docId, row);
|
|
|
+ },
|
|
|
+ //在线编辑
|
|
|
+ handleEdit(row) {
|
|
|
+ row.isEdit = true;
|
|
|
+ this.$tab.openPage("文件[" + row.docName + "]在线编辑", '/doc/oo-edit/index/' + row.docId, row);
|
|
|
},
|
|
|
/** 查询文档基本信息列表 */
|
|
|
getList() {
|
|
@@ -203,6 +221,7 @@
|
|
|
reset() {
|
|
|
this.form = {
|
|
|
docId: null,
|
|
|
+ dirId: this.dirId,
|
|
|
docName: null,
|
|
|
docType: null,
|
|
|
docSize: null,
|