格式调整
This commit is contained in:
+269
-274
@@ -15,19 +15,19 @@
|
||||
</template>
|
||||
</el-select>
|
||||
<el-select v-model="q.labelOneId" multiple collapse-tags
|
||||
:placeholder="'请选择' + tagsForm.tags01.name">
|
||||
:placeholder="'请选择' + tagsForm.tags01.name">
|
||||
<template v-for="item in tagsForm.tags01.childList">
|
||||
<el-option :label="item.name" :value="item.id" :key="item.id"></el-option>
|
||||
</template>
|
||||
</el-select>
|
||||
<el-select v-model="q.labelTwoId" multiple collapse-tags
|
||||
:placeholder="'请选择' + tagsForm.tags02.name">
|
||||
:placeholder="'请选择' + tagsForm.tags02.name">
|
||||
<template v-for="item in tagsForm.tags02.childList">
|
||||
<el-option :label="item.name" :value="item.id" :key="item.id"></el-option>
|
||||
</template>
|
||||
</el-select>
|
||||
<el-select v-model="q.labelThreeId" multiple collapse-tags
|
||||
:placeholder="'请选择' + tagsForm.tags03.name">
|
||||
:placeholder="'请选择' + tagsForm.tags03.name">
|
||||
<template v-for="item in tagsForm.tags03.childList">
|
||||
<el-option :label="item.name" :value="item.id" :key="item.id"></el-option>
|
||||
</template>
|
||||
@@ -50,16 +50,20 @@
|
||||
</el-row>
|
||||
</div>
|
||||
<div class="table">
|
||||
<vxe-table :data="tableData" :empty-render="{name: 'NotData'}" align="center" border stripe v-table-min-height="'calc(100vh - 320px)'">
|
||||
<vxe-table :data="tableData" :empty-render="{ name: 'NotData' }" align="center" border stripe
|
||||
v-table-min-height="'calc(100vh - 320px)'">
|
||||
<vxe-column show-overflow show-header-overflow type="seq" title="序号" width="77">
|
||||
<template #default="{ row, rowIndex }">
|
||||
{{ rowIndex + (q.pageNo - 1) * q.pageSize + 1 }}
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column show-overflow show-header-overflow field="labelOneName" :title="tagsForm.tags01.name"></vxe-column>
|
||||
<vxe-column show-overflow show-header-overflow field="labelOneName"
|
||||
:title="tagsForm.tags01.name"></vxe-column>
|
||||
<vxe-column show-overflow show-header-overflow field="name" title="报告名称"></vxe-column>
|
||||
<vxe-column show-overflow show-header-overflow field="labelTwoName" :title="tagsForm.tags02.name"></vxe-column>
|
||||
<vxe-column show-overflow show-header-overflow field="labelThreeName" :title="tagsForm.tags03.name"></vxe-column>
|
||||
<vxe-column show-overflow show-header-overflow field="labelTwoName"
|
||||
:title="tagsForm.tags02.name"></vxe-column>
|
||||
<vxe-column show-overflow show-header-overflow field="labelThreeName"
|
||||
:title="tagsForm.tags03.name"></vxe-column>
|
||||
<vxe-column show-overflow show-header-overflow field="year" title="报告年份"></vxe-column>
|
||||
<vxe-column show-overflow show-header-overflow field="createDate" title="上传时间"></vxe-column>
|
||||
<vxe-column show-overflow show-header-overflow title="操作" width="200" fixed="right">
|
||||
@@ -67,29 +71,25 @@
|
||||
<el-button type="text" @click="openReportModify('modify', row)">编辑</el-button>
|
||||
<el-button type="text" class="del-btn" @click="reportDelete(row.id)">删除</el-button>
|
||||
<el-button type="text" @click="previewRow(row)">预览</el-button>
|
||||
<!-- <el-button type="text" @click="downloadRow(row)">下载</el-button>-->
|
||||
<!-- <el-button type="text" @click="downloadRow(row)">下载</el-button>-->
|
||||
</template>
|
||||
</vxe-column>
|
||||
</vxe-table>
|
||||
<el-pagination
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
:current-page="q.pageNo"
|
||||
:page-sizes="[5, 10, 20]"
|
||||
:page-size="q.pageSize"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="total"/>
|
||||
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="q.pageNo"
|
||||
:page-sizes="[5, 10, 20]" :page-size="q.pageSize" layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="total" />
|
||||
</div>
|
||||
<!--操作日志-->
|
||||
<el-dialog title="操作日志" :visible.sync="dialogLog" width="1100px" :close-on-click-modal="false"
|
||||
:close-on-press-escape="false" modal-append-to-body append-to-body>
|
||||
:close-on-press-escape="false" modal-append-to-body append-to-body>
|
||||
<div class="dialog-log">
|
||||
<div class="search">
|
||||
<el-row>
|
||||
<el-col :span="20">
|
||||
<div class="search-box-left">
|
||||
<label>操作类型:</label>
|
||||
<el-select v-model="doNames" multiple collapse-tags placeholder="请选择操作类型" @change="handleTyleChange">
|
||||
<el-select v-model="doNames" multiple collapse-tags placeholder="请选择操作类型"
|
||||
@change="handleTyleChange">
|
||||
<el-option label="新增" value="新增"></el-option>
|
||||
<el-option label="编辑" value="编辑"></el-option>
|
||||
<el-option label="删除" value="删除"></el-option>
|
||||
@@ -97,13 +97,8 @@
|
||||
<label>报告名称:</label>
|
||||
<el-input v-model="qLog.reportName" placeholder="请输入报告名称"></el-input>
|
||||
<label>操作时间:</label>
|
||||
<el-date-picker
|
||||
v-model="qLogDateRange"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始时间"
|
||||
end-placeholder="结束时间"
|
||||
value-format="yyyy-MM-dd"
|
||||
<el-date-picker v-model="qLogDateRange" type="daterange" range-separator="至"
|
||||
start-placeholder="开始时间" end-placeholder="结束时间" value-format="yyyy-MM-dd"
|
||||
@change="handleLogDate">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
@@ -117,7 +112,8 @@
|
||||
</el-row>
|
||||
</div>
|
||||
<div class="table">
|
||||
<vxe-table :data="logTableData" :empty-render="{name: 'NotData'}" align="center" border stripe height="440">
|
||||
<vxe-table :data="logTableData" :empty-render="{ name: 'NotData' }" align="center" border stripe
|
||||
height="440">
|
||||
<vxe-column show-overflow show-header-overflow type="seq" title="序号" width="77">
|
||||
<template #default="{ row, rowIndex }">
|
||||
{{ rowIndex + (qLog.pageNo - 1) * qLog.pageSize + 1 }}
|
||||
@@ -128,78 +124,66 @@
|
||||
<vxe-column show-overflow show-header-overflow field="account" title="用户名"></vxe-column>
|
||||
<vxe-column show-overflow show-header-overflow field="operateTime" title="操作时间"></vxe-column>
|
||||
</vxe-table>
|
||||
<el-pagination
|
||||
@size-change="handleLogSizeChange"
|
||||
@current-change="handleLogCurrentChange"
|
||||
:current-page="qLog.pageNo"
|
||||
:page-sizes="[5, 10, 20]"
|
||||
:page-size="qLog.pageSize"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="qLogTotal"/>
|
||||
<el-pagination @size-change="handleLogSizeChange" @current-change="handleLogCurrentChange"
|
||||
:current-page="qLog.pageNo" :page-sizes="[5, 10, 20]" :page-size="qLog.pageSize"
|
||||
layout="total, sizes, prev, pager, next, jumper" :total="qLogTotal" />
|
||||
</div>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!--标签维护-->
|
||||
<el-dialog title="标签维护" :visible.sync="dialogTags" width="30%" :close-on-click-modal="false"
|
||||
:close-on-press-escape="false" modal-append-to-body append-to-body :before-close="handleTagsClose">
|
||||
<div class="head">
|
||||
<el-input placeholder="输入关键字进行过滤" v-model="filterText">
|
||||
</el-input>
|
||||
<el-button type="primary" class="btn" @click="add">新增</el-button>
|
||||
</div>
|
||||
<div class="tree">
|
||||
<el-tree class="filter-tree" :data="data" default-expand-all :filter-node-method="filterNode"
|
||||
ref="tree">
|
||||
<span class="custom-tree-node" slot-scope="{ node,data}">
|
||||
<span>{{ node.label }}</span>
|
||||
<span>
|
||||
<!-- <el-button type="text" @click.stop="add">新建</el-button> -->
|
||||
<el-button type="text" v-if="data.label != '根节点'"
|
||||
@click.stop="update(node, data)">编辑</el-button>
|
||||
<el-button type="text" v-if="data.label != '根节点'"
|
||||
@click.stop="deleteNode(node, data)">删除</el-button>
|
||||
</span>
|
||||
</span>
|
||||
</el-tree>
|
||||
</div>
|
||||
<el-dialog title="标签维护" :visible.sync="dialogTags" width="30%" :close-on-click-modal="false"
|
||||
:close-on-press-escape="false" modal-append-to-body append-to-body :before-close="handleTagsClose">
|
||||
<div class="head">
|
||||
<el-input placeholder="输入关键字进行过滤" v-model="filterText">
|
||||
</el-input>
|
||||
<el-button type="primary" class="btn" @click="add">新增</el-button>
|
||||
</div>
|
||||
<div class="tree">
|
||||
<el-tree class="filter-tree" :data="data" default-expand-all :filter-node-method="filterNode" ref="tree">
|
||||
<span class="custom-tree-node" slot-scope="{ node,data}">
|
||||
<span>{{ node.label }}</span>
|
||||
<span>
|
||||
<!-- <el-button type="text" @click.stop="add">新建</el-button> -->
|
||||
<el-button type="text" v-if="data.label != '根节点'"
|
||||
@click.stop="update(node, data)">编辑</el-button>
|
||||
<el-button type="text" v-if="data.label != '根节点'"
|
||||
@click.stop="deleteNode(node, data)">删除</el-button>
|
||||
</span>
|
||||
</span>
|
||||
</el-tree>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<labelModalVue ref="labelModalVue"></labelModalVue>
|
||||
<!--报告上传-->
|
||||
<el-dialog :title="mode === 'modify' ? '报告编辑' : '报告上传'" :visible.sync="dialogReport" width="750px" :close-on-click-modal="false"
|
||||
:close-on-press-escape="false" modal-append-to-body append-to-body>
|
||||
<el-dialog :title="mode === 'modify' ? '报告编辑' : '报告上传'" :visible.sync="dialogReport" width="750px"
|
||||
:close-on-click-modal="false" :close-on-press-escape="false" modal-append-to-body append-to-body>
|
||||
<div class="report-upload">
|
||||
<el-form :model="reportF" label-width="186px" :disabled="mode === 'view'">
|
||||
<el-form-item label="报告名称:" required>
|
||||
<el-input v-model="reportF.name" placeholder="请填写" maxlength="100" show-word-limit></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="关键词:">
|
||||
<vue-tags-input
|
||||
placeholder="请输入关键词"
|
||||
v-model="reportF.tag"
|
||||
:tags="tags"
|
||||
@tags-changed="newTags => tags = newTags"
|
||||
/>
|
||||
<vue-tags-input placeholder="请输入关键词" v-model="reportF.keyContent" :tags="tags"
|
||||
@tags-changed="newTags => tags = newTags" />
|
||||
</el-form-item>
|
||||
<el-form-item label="内容摘要:">
|
||||
<el-input v-model="reportF.mainContent" placeholder="请填写" type="textarea"
|
||||
maxlength="500" show-word-limit></el-input>
|
||||
<el-input v-model="reportF.mainContent" placeholder="请填写" type="textarea" maxlength="500"
|
||||
show-word-limit></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="报告所属部门:">
|
||||
<el-input v-model="reportF.department" placeholder="请填写" maxlength="100" show-word-limit></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="报告涉密等级:">
|
||||
<el-select v-model="reportF.secretLevel" placeholder="请选择报告涉密等级">
|
||||
<el-option v-for="item in options" :key="item.value" :label="item.label"
|
||||
:value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-select v-model="reportF.secretLevel" placeholder="请选择报告涉密等级">
|
||||
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="报告隐私等级:">
|
||||
<el-select v-model="reportF.privacyLevel" placeholder="请选择报告隐私等级">
|
||||
<el-option v-for="item in options" :key="item.value" :label="item.label"
|
||||
:value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="上传报告:" required>
|
||||
<el-row type="flex">
|
||||
@@ -207,8 +191,8 @@
|
||||
<el-input v-model="reportF.fileName" disabled placeholder="请上传报告"></el-input>
|
||||
</el-col>
|
||||
<el-col :span="5" align="center">
|
||||
<el-upload action="#" :http-request="(params)=>uploadFile(params)"
|
||||
:show-file-list="false" :before-upload="beforeUploadFile">
|
||||
<el-upload action="#" :http-request="(params) => uploadFile(params)" :show-file-list="false"
|
||||
:before-upload="beforeUploadFile">
|
||||
<el-button>选择文件</el-button>
|
||||
</el-upload>
|
||||
</el-col>
|
||||
@@ -219,25 +203,16 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="报告年份:" required>
|
||||
<el-date-picker v-model="reportF.year" type="year" value-format="yyyy" placeholder="请选择"
|
||||
prefix-icon="null" :picker-options="pickerOptions"/>
|
||||
prefix-icon="null" :picker-options="pickerOptions" />
|
||||
</el-form-item>
|
||||
<el-form-item label="标签:" required>
|
||||
<el-cascader
|
||||
width="100%"
|
||||
v-model="reportF.label"
|
||||
:options="cascaderOptions"
|
||||
:props="{ checkStrictly: true }"
|
||||
clearable>
|
||||
<el-cascader width="100%" v-model="reportF.label" :options="cascaderOptions"
|
||||
:props="{ checkStrictly: true }" clearable>
|
||||
</el-cascader>
|
||||
</el-form-item>
|
||||
<el-form-item label="权限设置:" required>
|
||||
<el-select v-model="reportF.reportUserIdList"
|
||||
class="icon-auth"
|
||||
multiple
|
||||
collapse-tags
|
||||
@change="changeSelect"
|
||||
@visible-change="changeSelect"
|
||||
placeholder="请选择">
|
||||
<el-select v-model="reportF.reportUserIdList" class="icon-auth" multiple collapse-tags
|
||||
@change="changeSelect" @visible-change="changeSelect" placeholder="请选择">
|
||||
<el-checkbox class="check-all" v-model="checked" @change="selectAll">全选</el-checkbox>
|
||||
<template v-for="item in userList">
|
||||
<el-option :label="item.USNAME" :value="item.USID" :key="item.USID"></el-option>
|
||||
@@ -252,19 +227,18 @@
|
||||
</el-dialog>
|
||||
<!--预览-->
|
||||
<el-dialog title="预览" :visible.sync="dialogPreview" width="1000px" :close-on-click-modal="false"
|
||||
:close-on-press-escape="false" modal-append-to-body append-to-body :fullscreen="fullscreen">
|
||||
:close-on-press-escape="false" modal-append-to-body append-to-body :fullscreen="fullscreen">
|
||||
<div slot="title" class="dialog-title">
|
||||
<span>预览</span>
|
||||
<img v-if="!fullscreen" class="full-screen" src="@/assets/imgs/icon-full.png" alt="" @click="fullscreen = !fullscreen">
|
||||
<img v-if="!fullscreen" class="full-screen" src="@/assets/imgs/icon-full.png" alt=""
|
||||
@click="fullscreen = !fullscreen">
|
||||
<img v-else class="full-screen" src="@/assets/imgs/icon-small.png" alt="" @click="fullscreen = !fullscreen">
|
||||
</div>
|
||||
<div class="preview-dialog-body" :class="{'active': fullscreen}">
|
||||
<div class="preview-dialog-body" :class="{ 'active': fullscreen }">
|
||||
<!-- <img v-if="!fullscreen" class="full-screen" src="@/assets/imgs/icon-full.png" alt="" @click="fullscreen = !fullscreen">
|
||||
<img v-else class="full-screen" src="@/assets/imgs/icon-small.png" alt="" @click="fullscreen = !fullscreen"> -->
|
||||
<!-- 这里用v-if是让水印更新 -->
|
||||
<el-scrollbar
|
||||
v-if="dialogPreview"
|
||||
v-watermark="{ text: watermarkText }">
|
||||
<el-scrollbar v-if="dialogPreview" v-watermark="{ text: watermarkText }">
|
||||
<div class="preview-content" v-html="content"></div>
|
||||
</el-scrollbar>
|
||||
</div>
|
||||
@@ -273,14 +247,14 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {fileType} from '@/utils/fileType'
|
||||
import {downloadFile} from "../../utils/downloadFile";
|
||||
import {formatDate} from '@/utils/date'
|
||||
import { fileType } from '@/utils/fileType'
|
||||
import { downloadFile } from "../../utils/downloadFile";
|
||||
import { formatDate } from '@/utils/date'
|
||||
import VueTagsInput from '@johmun/vue-tags-input';
|
||||
import labelModalVue from './reportManager/labelModal.vue';
|
||||
export default {
|
||||
name: "ReportManager",
|
||||
components:{
|
||||
components: {
|
||||
labelModalVue,
|
||||
VueTagsInput
|
||||
},
|
||||
@@ -401,50 +375,51 @@ export default {
|
||||
fileName: '', // 文件上传
|
||||
fileId: '',
|
||||
year: '', // 报告年份
|
||||
labelOneId: '', // 标签1
|
||||
labelOneName: '', // 标签1
|
||||
labelTwoId: '', // 标签2
|
||||
labelTwoName: '', // 标签2
|
||||
labelThreeId: '', // 标签3
|
||||
labelThreeName: '', // 标签3
|
||||
// labelOneId: '', // 标签1
|
||||
// labelOneName: '', // 标签1
|
||||
// labelTwoId: '', // 标签2
|
||||
// labelTwoName: '', // 标签2
|
||||
// labelThreeId: '', // 标签3
|
||||
// labelThreeName: '', // 标签3
|
||||
reportUserIdList: [], // 权限
|
||||
tag: []
|
||||
},
|
||||
tag:'',
|
||||
tags:[],
|
||||
tag: '',
|
||||
tags: [],
|
||||
labelOne: {},
|
||||
labelTwo: {},
|
||||
labelThree: {},
|
||||
mode: '',
|
||||
userList: [],
|
||||
cascaderOptions:[{
|
||||
value: 1,
|
||||
label: '东南',
|
||||
children: [{
|
||||
value: 2,
|
||||
label: '上海',
|
||||
children: [
|
||||
{ value: 3, label: '普陀' },
|
||||
{ value: 4, label: '黄埔' },
|
||||
{ value: 5, label: '徐汇' }
|
||||
]
|
||||
}, {
|
||||
value: 7,
|
||||
label: '江苏',
|
||||
children: [
|
||||
{ value: 8, label: '南京' },
|
||||
{ value: 9, label: '苏州' },
|
||||
{ value: 10, label: '无锡' }
|
||||
]
|
||||
}, {
|
||||
value: 12,
|
||||
label: '浙江',
|
||||
children: [
|
||||
{ value: 13, label: '杭州' },
|
||||
{ value: 14, label: '宁波' },
|
||||
{ value: 15, label: '嘉兴' }
|
||||
]
|
||||
}]
|
||||
}],
|
||||
cascaderOptions: [{
|
||||
value: 1,
|
||||
label: '东南',
|
||||
children: [{
|
||||
value: 2,
|
||||
label: '上海',
|
||||
children: [
|
||||
{ value: 3, label: '普陀' },
|
||||
{ value: 4, label: '黄埔' },
|
||||
{ value: 5, label: '徐汇' }
|
||||
]
|
||||
}, {
|
||||
value: 7,
|
||||
label: '江苏',
|
||||
children: [
|
||||
{ value: 8, label: '南京' },
|
||||
{ value: 9, label: '苏州' },
|
||||
{ value: 10, label: '无锡' }
|
||||
]
|
||||
}, {
|
||||
value: 12,
|
||||
label: '浙江',
|
||||
children: [
|
||||
{ value: 13, label: '杭州' },
|
||||
{ value: 14, label: '宁波' },
|
||||
{ value: 15, label: '嘉兴' }
|
||||
]
|
||||
}]
|
||||
}],
|
||||
pickerOptions: {
|
||||
disabledDate(time) {
|
||||
return time.getFullYear() > new Date().getFullYear() + 1 || time.getFullYear() < new Date().getFullYear() - 10;
|
||||
@@ -482,30 +457,31 @@ export default {
|
||||
if (!value) return true;
|
||||
return data.label.indexOf(value) !== -1;
|
||||
},
|
||||
add(){
|
||||
add() {
|
||||
this.$refs.labelModalVue.open()
|
||||
},
|
||||
update(node, data){
|
||||
update(node, data) {
|
||||
this.$refs.labelModalVue.open(node, data)
|
||||
},
|
||||
deleteNode(node, data){
|
||||
this.$confirm('确认删除?','提示',{
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'})
|
||||
.then(_ => {
|
||||
done();
|
||||
})
|
||||
.catch(_ => {});
|
||||
deleteNode(node, data) {
|
||||
this.$confirm('确认删除?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
})
|
||||
.then(_ => {
|
||||
done();
|
||||
})
|
||||
.catch(_ => { });
|
||||
},
|
||||
|
||||
addTag(){
|
||||
|
||||
addTag() {
|
||||
},
|
||||
/* 权限全选 */
|
||||
selectAll() {
|
||||
this.reportF.reportUserIdList = [];
|
||||
if (this.checked) {
|
||||
this.userList.forEach((item) => { this.reportF.reportUserIdList.push(item.USID )});
|
||||
this.userList.forEach((item) => { this.reportF.reportUserIdList.push(item.USID) });
|
||||
} else {
|
||||
this.reportF.reportUserIdList = [];
|
||||
}
|
||||
@@ -552,7 +528,7 @@ export default {
|
||||
// 报告列表
|
||||
reportLogList() {
|
||||
this.$api.report.reportLogList(this.qLog)
|
||||
.then(({data}) => {
|
||||
.then(({ data }) => {
|
||||
this.logTableData = data.records;
|
||||
this.qLogTotal = data.total;
|
||||
this.qLog.pageNo = data.current;
|
||||
@@ -584,7 +560,7 @@ export default {
|
||||
this.qLog.endDate = '';
|
||||
}
|
||||
},
|
||||
handleTyleChange(val){
|
||||
handleTyleChange(val) {
|
||||
this.qLog.doName = val.join(',');
|
||||
},
|
||||
/* =============================================== 标签维护 =============================================== */
|
||||
@@ -598,15 +574,15 @@ export default {
|
||||
// },
|
||||
// 标签维护 删除
|
||||
delTag(index, type) {
|
||||
let {id, status} = this.tagsForm['tags0' + type].childList[index];
|
||||
if(status === '1'){
|
||||
let { id, status } = this.tagsForm['tags0' + type].childList[index];
|
||||
if (status === '1') {
|
||||
this.$confirm('此标签已应用于报告, 是否删除?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
if (id) {
|
||||
this.$api.report.labelDeleteId({id}).then(_ => {
|
||||
this.$api.report.labelDeleteId({ id }).then(_ => {
|
||||
this.$message.success('操作成功');
|
||||
this.labelList();
|
||||
})
|
||||
@@ -615,9 +591,9 @@ export default {
|
||||
this.$message.success('操作成功');
|
||||
}
|
||||
})
|
||||
}else{
|
||||
} else {
|
||||
if (id) {
|
||||
this.$api.report.labelDeleteId({id}).then(_ => {
|
||||
this.$api.report.labelDeleteId({ id }).then(_ => {
|
||||
this.$message.success('操作成功');
|
||||
this.labelList();
|
||||
})
|
||||
@@ -628,22 +604,22 @@ export default {
|
||||
}
|
||||
},
|
||||
// 上移
|
||||
upTag(item, index, type){
|
||||
upTag(item, index, type) {
|
||||
this.$api.report.labelMove({
|
||||
id: item.id,
|
||||
moveType: 'up',
|
||||
type: String(type)
|
||||
}).then(_=>{
|
||||
}).then(_ => {
|
||||
this.labelList();
|
||||
})
|
||||
},
|
||||
// 下移
|
||||
downTag(item, index, type){
|
||||
downTag(item, index, type) {
|
||||
this.$api.report.labelMove({
|
||||
id: item.id,
|
||||
moveType: 'down',
|
||||
type: String(type)
|
||||
}).then(_=>{
|
||||
}).then(_ => {
|
||||
this.labelList();
|
||||
})
|
||||
},
|
||||
@@ -654,23 +630,23 @@ export default {
|
||||
},
|
||||
// 单个标签保存
|
||||
handleSaveTag(val, item, type) {
|
||||
if(val === ''){
|
||||
if (val === '') {
|
||||
this.$message.warning('标签名称不能为空');
|
||||
this.labelList();
|
||||
return;
|
||||
}
|
||||
if(val === '-'){
|
||||
if (val === '-') {
|
||||
this.$message.warning('标签名称不能为-');
|
||||
this.labelList();
|
||||
return;
|
||||
}
|
||||
if(this.tagsForm['tags0' + type].childList.filter(item => item.name === val).length > 1){
|
||||
if (this.tagsForm['tags0' + type].childList.filter(item => item.name === val).length > 1) {
|
||||
this.$message.warning('标签名称不能重复');
|
||||
this.labelList();
|
||||
return;
|
||||
}
|
||||
let params = {name: val, parentId: this.tagsForm['tags0' + type].id, type: String(type), id: item.id || ''}
|
||||
if(item.status === '1'){
|
||||
let params = { name: val, parentId: this.tagsForm['tags0' + type].id, type: String(type), id: item.id || '' }
|
||||
if (item.status === '1') {
|
||||
this.$confirm('此标签已应用于报告, 是否编辑?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
@@ -682,10 +658,10 @@ export default {
|
||||
}).catch(_ => {
|
||||
this.labelList();
|
||||
})
|
||||
}).catch(_=>{
|
||||
}).catch(_ => {
|
||||
this.labelList();
|
||||
})
|
||||
}else{
|
||||
} else {
|
||||
this.$api.report.labelAdd(params).then(_ => {
|
||||
this.$message.success('操作成功');
|
||||
this.labelList();
|
||||
@@ -696,32 +672,32 @@ export default {
|
||||
},
|
||||
// 单个顶级标签保存
|
||||
handleSaveTopTag(val, type) {
|
||||
if(val === ''){
|
||||
if (val === '') {
|
||||
this.$message.warning('标签名称不能为空');
|
||||
this.labelList();
|
||||
return;
|
||||
}
|
||||
if(val === '-'){
|
||||
if (val === '-') {
|
||||
this.$message.warning('标签名称不能为-');
|
||||
this.labelList();
|
||||
return;
|
||||
}
|
||||
if(type === 1 && (val === this.tagsForm.tags02.name || val === this.tagsForm.tags03.name)){
|
||||
if (type === 1 && (val === this.tagsForm.tags02.name || val === this.tagsForm.tags03.name)) {
|
||||
this.$message.warning('标签名称不能重复');
|
||||
this.labelList();
|
||||
return;
|
||||
}
|
||||
if(type === 2 && (val === this.tagsForm.tags01.name || val === this.tagsForm.tags03.name)){
|
||||
if (type === 2 && (val === this.tagsForm.tags01.name || val === this.tagsForm.tags03.name)) {
|
||||
this.$message.warning('标签名称不能重复');
|
||||
this.labelList();
|
||||
return;
|
||||
}
|
||||
if(type === 3 && (val === this.tagsForm.tags01.name || val === this.tagsForm.tags02.name)){
|
||||
if (type === 3 && (val === this.tagsForm.tags01.name || val === this.tagsForm.tags02.name)) {
|
||||
this.$message.warning('标签名称不能重复');
|
||||
this.labelList();
|
||||
return;
|
||||
}
|
||||
let params = {name: val, id: this.tagsForm['tags0' + type].id, parentId: '0', type: String(type)};
|
||||
let params = { name: val, id: this.tagsForm['tags0' + type].id, parentId: '0', type: String(type) };
|
||||
this.$api.report.labelAdd(params).then(_ => {
|
||||
this.$message.success('操作成功');
|
||||
this.labelList();
|
||||
@@ -731,22 +707,22 @@ export default {
|
||||
},
|
||||
// 标签列表
|
||||
labelList() {
|
||||
this.$api.report.labelList().then(({data}) => {
|
||||
if(!data.labelOne.childList.length){
|
||||
data.labelOne.childList = [{name: '', id: '', parentId: this.tagsForm.tags01.id, type: '1'}]
|
||||
}
|
||||
if(!data.labelTwo.childList.length){
|
||||
data.labelTwo.childList = [{name: '', id: '', parentId: this.tagsForm.tags02.id, type: '2'}]
|
||||
}
|
||||
if(!data.labelThree.childList.length){
|
||||
data.labelThree.childList = [{name: '', id: '', parentId: this.tagsForm.tags03.id, type: '3'}]
|
||||
}
|
||||
this.tagsForm.tags01 = data.labelOne;
|
||||
this.tagsForm.tags02 = data.labelTwo;
|
||||
this.tagsForm.tags03 = data.labelThree;
|
||||
})
|
||||
// this.$api.report.labelList().then(({data}) => {
|
||||
// if(!data.labelOne.childList.length){
|
||||
// data.labelOne.childList = [{name: '', id: '', parentId: this.tagsForm.tags01.id, type: '1'}]
|
||||
// }
|
||||
// if(!data.labelTwo.childList.length){
|
||||
// data.labelTwo.childList = [{name: '', id: '', parentId: this.tagsForm.tags02.id, type: '2'}]
|
||||
// }
|
||||
// if(!data.labelThree.childList.length){
|
||||
// data.labelThree.childList = [{name: '', id: '', parentId: this.tagsForm.tags03.id, type: '3'}]
|
||||
// }
|
||||
// this.tagsForm.tags01 = data.labelOne;
|
||||
// this.tagsForm.tags02 = data.labelTwo;
|
||||
// this.tagsForm.tags03 = data.labelThree;
|
||||
// })
|
||||
},
|
||||
handleTagsClose(){
|
||||
handleTagsClose() {
|
||||
this.dialogTags = false;
|
||||
this.labelList();
|
||||
this.reset();
|
||||
@@ -789,25 +765,28 @@ export default {
|
||||
openReportAdd() {
|
||||
this.mode = 'add';
|
||||
this.reportF = {
|
||||
name: '', // 报告名称
|
||||
keyContent: '', // 关键词
|
||||
mainContent: '', // 内容摘要
|
||||
department: '', // 报告所属部门
|
||||
fileName: '', // 文件上传
|
||||
name: '', // 报告名称
|
||||
tags: '', // 关键词
|
||||
mainContent: '', // 内容摘要
|
||||
department: '', // 报告所属部门
|
||||
fileName: '', // 文件上传
|
||||
fileId: '',
|
||||
year: '', // 报告年份
|
||||
labelOneId: '', // 标签1
|
||||
labelOneName: '', // 标签1
|
||||
labelTwoId: '', // 标签2
|
||||
labelTwoName: '', // 标签2
|
||||
labelThreeId: '', // 标签3
|
||||
labelThreeName: '', // 标签3
|
||||
reportUserIdList: [], // 权限
|
||||
year: '', // 报告年份
|
||||
secretLevel: '', //涉密等级
|
||||
privacyLevel: '', //报告隐私等级
|
||||
// labelOneId: '', // 标签1
|
||||
// labelOneName: '', // 标签1
|
||||
// labelTwoId: '', // 标签2
|
||||
// labelTwoName: '', // 标签2
|
||||
// labelThreeId: '', // 标签3
|
||||
// labelThreeName: '', // 标签3
|
||||
reportUserIdList: [], // 权限
|
||||
};
|
||||
this.labelOne = {};
|
||||
this.labelTwo = {};
|
||||
this.labelThree = {};
|
||||
this.labelList();
|
||||
this.tags = []
|
||||
// this.labelOne = {};
|
||||
// this.labelTwo = {};
|
||||
// this.labelThree = {};
|
||||
// this.labelList();
|
||||
this.dialogReport = true;
|
||||
},
|
||||
// 选择标签
|
||||
@@ -829,15 +808,18 @@ export default {
|
||||
// },
|
||||
// 必填项
|
||||
checkReportF() {
|
||||
// if (!this.reportF.name) {
|
||||
// return this.$message.warning('请检查报告名称') && false;
|
||||
// }
|
||||
// if (!this.reportF.fileId || !this.reportF.fileName) {
|
||||
// return this.$message.warning('请检查上传文件') && false;
|
||||
// }
|
||||
// if (!this.reportF.year) {
|
||||
// return this.$message.warning('请检查报告年份') && false;
|
||||
// }
|
||||
if (!this.reportF.name) {
|
||||
return this.$message.warning('请检查报告名称') && false;
|
||||
}
|
||||
if (!this.reportF.fileId || !this.reportF.fileName) {
|
||||
return this.$message.warning('请检查上传文件') && false;
|
||||
}
|
||||
if (!this.reportF.year) {
|
||||
return this.$message.warning('请检查报告年份') && false;
|
||||
}
|
||||
if (!this.reportF.label) {
|
||||
return this.$message.warning('请检查报告年份') && false;
|
||||
}
|
||||
// if (!this.reportF.labelOneId || !this.reportF.labelOneName || this.reportF.labelOneName === '-' ) {
|
||||
// return this.$message.warning(`请检查${this.tagsForm.tags01.name}`) && false;
|
||||
// }
|
||||
@@ -847,15 +829,15 @@ export default {
|
||||
// if (!this.reportF.labelThreeId || !this.reportF.labelThreeName || this.reportF.labelThreeName === '-') {
|
||||
// return this.$message.warning(`请检查${this.tagsForm.tags03.name}`) && false;
|
||||
// }
|
||||
// if (!this.reportF.reportUserIdList || !this.reportF.reportUserIdList.length) {
|
||||
// return this.$message.warning('请检查权限') && false;
|
||||
// }
|
||||
if (!this.reportF.reportUserIdList || !this.reportF.reportUserIdList.length) {
|
||||
return this.$message.warning('请检查权限') && false;
|
||||
}
|
||||
return true;
|
||||
},
|
||||
// 新增或编辑报告
|
||||
reportAdd() {
|
||||
if (!this.checkReportF()) return;
|
||||
this.$api.report.reportAdd(this.reportF).then(_ => {
|
||||
this.$api.report.reportAdd({ ...this.reportF, tags: this.tags }).then(_ => {
|
||||
this.$message.success('操作成功');
|
||||
this.dialogReport = false;
|
||||
this.reset();
|
||||
@@ -865,7 +847,7 @@ export default {
|
||||
uploadFile(params) {
|
||||
let fd = new FormData();
|
||||
fd.append('file', params.file);
|
||||
this.$api.report.reportUploadFile(fd).then(({data}) => {
|
||||
this.$api.report.reportUploadFile(fd).then(({ data }) => {
|
||||
this.reportF.fileName = data.name;
|
||||
this.reportF.fileId = data.key;
|
||||
})
|
||||
@@ -896,19 +878,19 @@ export default {
|
||||
this.mode = mode;
|
||||
this.labelList();
|
||||
let rowData = JSON.parse(JSON.stringify(row));
|
||||
if(rowData.labelOneName !== '-'){
|
||||
this.labelOne = {id: rowData.labelOneId, rowData: rowData.labelOneName};
|
||||
}else{
|
||||
if (rowData.labelOneName !== '-') {
|
||||
this.labelOne = { id: rowData.labelOneId, rowData: rowData.labelOneName };
|
||||
} else {
|
||||
this.labelOne = {};
|
||||
}
|
||||
if(rowData.labelTwoName !== '-'){
|
||||
this.labelTwo = {id: rowData.labelTwoId, name: rowData.labelTwoName};
|
||||
}else{
|
||||
if (rowData.labelTwoName !== '-') {
|
||||
this.labelTwo = { id: rowData.labelTwoId, name: rowData.labelTwoName };
|
||||
} else {
|
||||
this.labelTwo = {};
|
||||
}
|
||||
if(rowData.labelThreeName !== '-'){
|
||||
this.labelThree = {id: rowData.labelThreeId, name: rowData.labelThreeName};
|
||||
}else{
|
||||
if (rowData.labelThreeName !== '-') {
|
||||
this.labelThree = { id: rowData.labelThreeId, name: rowData.labelThreeName };
|
||||
} else {
|
||||
this.labelThree = {};
|
||||
}
|
||||
this.reportF = rowData;
|
||||
@@ -916,7 +898,7 @@ export default {
|
||||
},
|
||||
// 获取所有用户
|
||||
sysUserList() {
|
||||
this.$api.user.sysUserList({pageNo: 1, pageSize: 999999}).then(({data}) => {
|
||||
this.$api.user.sysUserList({ pageNo: 1, pageSize: 999999 }).then(({ data }) => {
|
||||
this.userList = data.records;
|
||||
})
|
||||
},
|
||||
@@ -944,7 +926,7 @@ export default {
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.$api.report.reportDelete({ids}).then(_ => {
|
||||
this.$api.report.reportDelete({ ids }).then(_ => {
|
||||
this.$message.success('操作成功');
|
||||
this.reportList();
|
||||
this.reportDateList();
|
||||
@@ -957,7 +939,7 @@ export default {
|
||||
},
|
||||
// 列表
|
||||
reportList() {
|
||||
this.$api.report.reportList(this.q).then(({data}) => {
|
||||
this.$api.report.reportList(this.q).then(({ data }) => {
|
||||
this.tableData = data.records;
|
||||
this.total = data.total;
|
||||
this.q.pageNo = data.current;
|
||||
@@ -970,7 +952,7 @@ export default {
|
||||
},
|
||||
// 日期列表
|
||||
reportDateList() {
|
||||
this.$api.report.reportDateList().then(({data}) => {
|
||||
this.$api.report.reportDateList().then(({ data }) => {
|
||||
this.yearList = data.list;
|
||||
})
|
||||
},
|
||||
@@ -990,7 +972,7 @@ export default {
|
||||
this.fullscreen = false;
|
||||
// 更新预览水印的时间戳
|
||||
this.watermarkText = `${this.$store.state.userInfo.usname} ${formatDate(+new Date(), 'yyyy年MM月dd日 hh:mm:ss')}`;
|
||||
this.$api.report.reportGetReportHtmlId({id: row.id}).then(({data}) => {
|
||||
this.$api.report.reportGetReportHtmlId({ id: row.id }).then(({ data }) => {
|
||||
this.content = data.content;
|
||||
this.dialogPreview = true;
|
||||
})
|
||||
@@ -1002,9 +984,9 @@ export default {
|
||||
// cancelButtonText: '取消',
|
||||
// type: 'warning'
|
||||
// }).then(() => {
|
||||
this.$api.report.reportDownload({fileId: row.fileId}).then(res => {
|
||||
downloadFile(res);
|
||||
})
|
||||
this.$api.report.reportDownload({ fileId: row.fileId }).then(res => {
|
||||
downloadFile(res);
|
||||
})
|
||||
// })
|
||||
},
|
||||
},
|
||||
@@ -1019,6 +1001,7 @@ export default {
|
||||
text-align: right;
|
||||
width: 95%;
|
||||
}
|
||||
|
||||
.report-manager {
|
||||
.title {
|
||||
border-bottom: 1px solid #EBEEF5;
|
||||
@@ -1185,34 +1168,38 @@ export default {
|
||||
}
|
||||
|
||||
/* 标签维护 */
|
||||
.head {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.btn{
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
.head {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
.tree {
|
||||
margin-top: 30px;
|
||||
padding:0px 50px 50px 50px;
|
||||
.custom-tree-node {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
font-size: 14px;
|
||||
.btn {
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
.head ::v-deep .el-input__inner {
|
||||
.tree {
|
||||
margin-top: 30px;
|
||||
padding: 0px 50px 50px 50px;
|
||||
|
||||
.custom-tree-node {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
font-size: 14px;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.head ::v-deep .el-input__inner {
|
||||
margin-top: 10px;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
width: 50% !important;
|
||||
margin-left: 50px;
|
||||
}
|
||||
.head ::v-deep .el-button{
|
||||
|
||||
.head ::v-deep .el-button {
|
||||
margin-top: 10px;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
@@ -1282,8 +1269,9 @@ export default {
|
||||
margin-left: 10px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.icon-sub,
|
||||
.icon-up{
|
||||
.icon-up {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
@@ -1292,7 +1280,7 @@ export default {
|
||||
.icon-add,
|
||||
.icon-sub,
|
||||
.icon-up,
|
||||
.icon-down{
|
||||
.icon-down {
|
||||
cursor: pointer;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
@@ -1335,17 +1323,22 @@ export default {
|
||||
font-weight: 400;
|
||||
color: #434343;
|
||||
}
|
||||
|
||||
.el-select {
|
||||
width: 100%;
|
||||
}
|
||||
.ti-input{
|
||||
|
||||
.ti-input {
|
||||
width: 107.5% !important;
|
||||
}
|
||||
.el-cascader{
|
||||
|
||||
.el-cascader {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.el-date-editor {
|
||||
width: 100%;
|
||||
|
||||
.el-input__inner {
|
||||
padding-left: 15px;
|
||||
}
|
||||
@@ -1393,11 +1386,12 @@ export default {
|
||||
}
|
||||
}
|
||||
|
||||
.dialog-title{
|
||||
.dialog-title {
|
||||
display: inline-flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
.full-screen{
|
||||
|
||||
.full-screen {
|
||||
cursor: pointer;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
@@ -1411,10 +1405,12 @@ export default {
|
||||
padding: 9px 25px 17px 22px;
|
||||
height: 60vh;
|
||||
position: relative;
|
||||
&.active{
|
||||
|
||||
&.active {
|
||||
height: calc(100vh - 52px);
|
||||
}
|
||||
.full-screen{
|
||||
|
||||
.full-screen {
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
z-index: 10;
|
||||
@@ -1430,7 +1426,7 @@ export default {
|
||||
::v-deep .el-scrollbar {
|
||||
height: 100%;
|
||||
|
||||
.el-scrollbar__wrap{
|
||||
.el-scrollbar__wrap {
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
@@ -1450,5 +1446,4 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user