格式调整

This commit is contained in:
yuekuo
2023-04-18 15:01:02 +08:00
parent 93a3e41710
commit a4fc250adc
2 changed files with 270 additions and 275 deletions
+104 -109
View File
@@ -50,16 +50,20 @@
</el-row> </el-row>
</div> </div>
<div class="table"> <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"> <vxe-column show-overflow show-header-overflow type="seq" title="序号" width="77">
<template #default="{ row, rowIndex }"> <template #default="{ row, rowIndex }">
{{ rowIndex + (q.pageNo - 1) * q.pageSize + 1 }} {{ rowIndex + (q.pageNo - 1) * q.pageSize + 1 }}
</template> </template>
</vxe-column> </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="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="labelTwoName"
<vxe-column show-overflow show-header-overflow field="labelThreeName" :title="tagsForm.tags03.name"></vxe-column> :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="year" title="报告年份"></vxe-column>
<vxe-column show-overflow show-header-overflow field="createDate" 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"> <vxe-column show-overflow show-header-overflow title="操作" width="200" fixed="right">
@@ -71,13 +75,8 @@
</template> </template>
</vxe-column> </vxe-column>
</vxe-table> </vxe-table>
<el-pagination <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="q.pageNo"
@size-change="handleSizeChange" :page-sizes="[5, 10, 20]" :page-size="q.pageSize" layout="total, sizes, prev, pager, next, jumper"
@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" /> :total="total" />
</div> </div>
<!--操作日志--> <!--操作日志-->
@@ -89,7 +88,8 @@
<el-col :span="20"> <el-col :span="20">
<div class="search-box-left"> <div class="search-box-left">
<label>操作类型:</label> <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> <el-option label="编辑" value="编辑"></el-option>
<el-option label="删除" value="删除"></el-option> <el-option label="删除" value="删除"></el-option>
@@ -97,13 +97,8 @@
<label>报告名称:</label> <label>报告名称:</label>
<el-input v-model="qLog.reportName" placeholder="请输入报告名称"></el-input> <el-input v-model="qLog.reportName" placeholder="请输入报告名称"></el-input>
<label>操作时间:</label> <label>操作时间:</label>
<el-date-picker <el-date-picker v-model="qLogDateRange" type="daterange" range-separator="至"
v-model="qLogDateRange" start-placeholder="开始时间" end-placeholder="结束时间" value-format="yyyy-MM-dd"
type="daterange"
range-separator=""
start-placeholder="开始时间"
end-placeholder="结束时间"
value-format="yyyy-MM-dd"
@change="handleLogDate"> @change="handleLogDate">
</el-date-picker> </el-date-picker>
</div> </div>
@@ -117,7 +112,8 @@
</el-row> </el-row>
</div> </div>
<div class="table"> <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"> <vxe-column show-overflow show-header-overflow type="seq" title="序号" width="77">
<template #default="{ row, rowIndex }"> <template #default="{ row, rowIndex }">
{{ rowIndex + (qLog.pageNo - 1) * qLog.pageSize + 1 }} {{ rowIndex + (qLog.pageNo - 1) * qLog.pageSize + 1 }}
@@ -128,14 +124,9 @@
<vxe-column show-overflow show-header-overflow field="account" title="用户名"></vxe-column> <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-column show-overflow show-header-overflow field="operateTime" title="操作时间"></vxe-column>
</vxe-table> </vxe-table>
<el-pagination <el-pagination @size-change="handleLogSizeChange" @current-change="handleLogCurrentChange"
@size-change="handleLogSizeChange" :current-page="qLog.pageNo" :page-sizes="[5, 10, 20]" :page-size="qLog.pageSize"
@current-change="handleLogCurrentChange" layout="total, sizes, prev, pager, next, jumper" :total="qLogTotal" />
:current-page="qLog.pageNo"
:page-sizes="[5, 10, 20]"
:page-size="qLog.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="qLogTotal"/>
</div> </div>
</div> </div>
</el-dialog> </el-dialog>
@@ -148,8 +139,7 @@
<el-button type="primary" class="btn" @click="add">新增</el-button> <el-button type="primary" class="btn" @click="add">新增</el-button>
</div> </div>
<div class="tree"> <div class="tree">
<el-tree class="filter-tree" :data="data" default-expand-all :filter-node-method="filterNode" <el-tree class="filter-tree" :data="data" default-expand-all :filter-node-method="filterNode" ref="tree">
ref="tree">
<span class="custom-tree-node" slot-scope="{ node,data}"> <span class="custom-tree-node" slot-scope="{ node,data}">
<span>{{ node.label }}</span> <span>{{ node.label }}</span>
<span> <span>
@@ -165,39 +155,33 @@
</el-dialog> </el-dialog>
<labelModalVue ref="labelModalVue"></labelModalVue> <labelModalVue ref="labelModalVue"></labelModalVue>
<!--报告上传--> <!--报告上传-->
<el-dialog :title="mode === 'modify' ? '报告编辑' : '报告上传'" :visible.sync="dialogReport" width="750px" :close-on-click-modal="false" <el-dialog :title="mode === 'modify' ? '报告编辑' : '报告上传'" :visible.sync="dialogReport" width="750px"
:close-on-press-escape="false" modal-append-to-body append-to-body> :close-on-click-modal="false" :close-on-press-escape="false" modal-append-to-body append-to-body>
<div class="report-upload"> <div class="report-upload">
<el-form :model="reportF" label-width="186px" :disabled="mode === 'view'"> <el-form :model="reportF" label-width="186px" :disabled="mode === 'view'">
<el-form-item label="报告名称:" required> <el-form-item label="报告名称:" required>
<el-input v-model="reportF.name" placeholder="请填写" maxlength="100" show-word-limit></el-input> <el-input v-model="reportF.name" placeholder="请填写" maxlength="100" show-word-limit></el-input>
</el-form-item> </el-form-item>
<el-form-item label="关键词:"> <el-form-item label="关键词:">
<vue-tags-input <vue-tags-input placeholder="请输入关键词" v-model="reportF.keyContent" :tags="tags"
placeholder="请输入关键词" @tags-changed="newTags => tags = newTags" />
v-model="reportF.tag"
:tags="tags"
@tags-changed="newTags => tags = newTags"
/>
</el-form-item> </el-form-item>
<el-form-item label="内容摘要:"> <el-form-item label="内容摘要:">
<el-input v-model="reportF.mainContent" placeholder="请填写" type="textarea" <el-input v-model="reportF.mainContent" placeholder="请填写" type="textarea" maxlength="500"
maxlength="500" show-word-limit></el-input> show-word-limit></el-input>
</el-form-item> </el-form-item>
<el-form-item label="报告所属部门:"> <el-form-item label="报告所属部门:">
<el-input v-model="reportF.department" placeholder="请填写" maxlength="100" show-word-limit></el-input> <el-input v-model="reportF.department" placeholder="请填写" maxlength="100" show-word-limit></el-input>
</el-form-item> </el-form-item>
<el-form-item label="报告涉密等级:"> <el-form-item label="报告涉密等级:">
<el-select v-model="reportF.secretLevel" placeholder="请选择报告涉密等级"> <el-select v-model="reportF.secretLevel" placeholder="请选择报告涉密等级">
<el-option v-for="item in options" :key="item.value" :label="item.label" <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
:value="item.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="报告隐私等级:"> <el-form-item label="报告隐私等级:">
<el-select v-model="reportF.privacyLevel" placeholder="请选择报告隐私等级"> <el-select v-model="reportF.privacyLevel" placeholder="请选择报告隐私等级">
<el-option v-for="item in options" :key="item.value" :label="item.label" <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
:value="item.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@@ -207,8 +191,8 @@
<el-input v-model="reportF.fileName" disabled placeholder="请上传报告"></el-input> <el-input v-model="reportF.fileName" disabled placeholder="请上传报告"></el-input>
</el-col> </el-col>
<el-col :span="5" align="center"> <el-col :span="5" align="center">
<el-upload action="#" :http-request="(params)=>uploadFile(params)" <el-upload action="#" :http-request="(params) => uploadFile(params)" :show-file-list="false"
:show-file-list="false" :before-upload="beforeUploadFile"> :before-upload="beforeUploadFile">
<el-button>选择文件</el-button> <el-button>选择文件</el-button>
</el-upload> </el-upload>
</el-col> </el-col>
@@ -222,22 +206,13 @@
prefix-icon="null" :picker-options="pickerOptions" /> prefix-icon="null" :picker-options="pickerOptions" />
</el-form-item> </el-form-item>
<el-form-item label="标签:" required> <el-form-item label="标签:" required>
<el-cascader <el-cascader width="100%" v-model="reportF.label" :options="cascaderOptions"
width="100%" :props="{ checkStrictly: true }" clearable>
v-model="reportF.label"
:options="cascaderOptions"
:props="{ checkStrictly: true }"
clearable>
</el-cascader> </el-cascader>
</el-form-item> </el-form-item>
<el-form-item label="权限设置:" required> <el-form-item label="权限设置:" required>
<el-select v-model="reportF.reportUserIdList" <el-select v-model="reportF.reportUserIdList" class="icon-auth" multiple collapse-tags
class="icon-auth" @change="changeSelect" @visible-change="changeSelect" placeholder="请选择">
multiple
collapse-tags
@change="changeSelect"
@visible-change="changeSelect"
placeholder="请选择">
<el-checkbox class="check-all" v-model="checked" @change="selectAll">全选</el-checkbox> <el-checkbox class="check-all" v-model="checked" @change="selectAll">全选</el-checkbox>
<template v-for="item in userList"> <template v-for="item in userList">
<el-option :label="item.USNAME" :value="item.USID" :key="item.USID"></el-option> <el-option :label="item.USNAME" :value="item.USID" :key="item.USID"></el-option>
@@ -255,16 +230,15 @@
: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"> <div slot="title" class="dialog-title">
<span>预览</span> <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"> <img v-else class="full-screen" src="@/assets/imgs/icon-small.png" alt="" @click="fullscreen = !fullscreen">
</div> </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-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"> --> <img v-else class="full-screen" src="@/assets/imgs/icon-small.png" alt="" @click="fullscreen = !fullscreen"> -->
<!-- 这里用v-if是让水印更新 --> <!-- 这里用v-if是让水印更新 -->
<el-scrollbar <el-scrollbar v-if="dialogPreview" v-watermark="{ text: watermarkText }">
v-if="dialogPreview"
v-watermark="{ text: watermarkText }">
<div class="preview-content" v-html="content"></div> <div class="preview-content" v-html="content"></div>
</el-scrollbar> </el-scrollbar>
</div> </div>
@@ -401,13 +375,14 @@ export default {
fileName: '', // 文件上传 fileName: '', // 文件上传
fileId: '', fileId: '',
year: '', // 报告年份 year: '', // 报告年份
labelOneId: '', // 标签1 // labelOneId: '', // 标签1
labelOneName: '', // 标签1 // labelOneName: '', // 标签1
labelTwoId: '', // 标签2 // labelTwoId: '', // 标签2
labelTwoName: '', // 标签2 // labelTwoName: '', // 标签2
labelThreeId: '', // 标签3 // labelThreeId: '', // 标签3
labelThreeName: '', // 标签3 // labelThreeName: '', // 标签3
reportUserIdList: [], // 权限 reportUserIdList: [], // 权限
tag: []
}, },
tag: '', tag: '',
tags: [], tags: [],
@@ -492,7 +467,8 @@ export default {
this.$confirm('确认删除?', '提示', { this.$confirm('确认删除?', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning'}) type: 'warning'
})
.then(_ => { .then(_ => {
done(); done();
}) })
@@ -731,20 +707,20 @@ export default {
}, },
// 标签列表 // 标签列表
labelList() { labelList() {
this.$api.report.labelList().then(({data}) => { // this.$api.report.labelList().then(({data}) => {
if(!data.labelOne.childList.length){ // if(!data.labelOne.childList.length){
data.labelOne.childList = [{name: '', id: '', parentId: this.tagsForm.tags01.id, type: '1'}] // data.labelOne.childList = [{name: '', id: '', parentId: this.tagsForm.tags01.id, type: '1'}]
} // }
if(!data.labelTwo.childList.length){ // if(!data.labelTwo.childList.length){
data.labelTwo.childList = [{name: '', id: '', parentId: this.tagsForm.tags02.id, type: '2'}] // data.labelTwo.childList = [{name: '', id: '', parentId: this.tagsForm.tags02.id, type: '2'}]
} // }
if(!data.labelThree.childList.length){ // if(!data.labelThree.childList.length){
data.labelThree.childList = [{name: '', id: '', parentId: this.tagsForm.tags03.id, type: '3'}] // data.labelThree.childList = [{name: '', id: '', parentId: this.tagsForm.tags03.id, type: '3'}]
} // }
this.tagsForm.tags01 = data.labelOne; // this.tagsForm.tags01 = data.labelOne;
this.tagsForm.tags02 = data.labelTwo; // this.tagsForm.tags02 = data.labelTwo;
this.tagsForm.tags03 = data.labelThree; // this.tagsForm.tags03 = data.labelThree;
}) // })
}, },
handleTagsClose() { handleTagsClose() {
this.dialogTags = false; this.dialogTags = false;
@@ -790,24 +766,27 @@ export default {
this.mode = 'add'; this.mode = 'add';
this.reportF = { this.reportF = {
name: '', // 报告名称 name: '', // 报告名称
keyContent: '', // 关键词 tags: '', // 关键词
mainContent: '', // 内容摘要 mainContent: '', // 内容摘要
department: '', // 报告所属部门 department: '', // 报告所属部门
fileName: '', // 文件上传 fileName: '', // 文件上传
fileId: '', fileId: '',
year: '', // 报告年份 year: '', // 报告年份
labelOneId: '', // 标签1 secretLevel: '', //涉密等级
labelOneName: '', // 标签1 privacyLevel: '', //报告隐私等级
labelTwoId: '', // 标签2 // labelOneId: '', // 标签1
labelTwoName: '', // 标签2 // labelOneName: '', // 标签1
labelThreeId: '', // 标签3 // labelTwoId: '', // 标签2
labelThreeName: '', // 标签3 // labelTwoName: '', // 标签2
// labelThreeId: '', // 标签3
// labelThreeName: '', // 标签3
reportUserIdList: [], // 权限 reportUserIdList: [], // 权限
}; };
this.labelOne = {}; this.tags = []
this.labelTwo = {}; // this.labelOne = {};
this.labelThree = {}; // this.labelTwo = {};
this.labelList(); // this.labelThree = {};
// this.labelList();
this.dialogReport = true; this.dialogReport = true;
}, },
// 选择标签 // 选择标签
@@ -829,15 +808,18 @@ export default {
// }, // },
// 必填项 // 必填项
checkReportF() { checkReportF() {
// if (!this.reportF.name) { if (!this.reportF.name) {
// return this.$message.warning('请检查报告名称') && false; return this.$message.warning('请检查报告名称') && false;
// } }
// if (!this.reportF.fileId || !this.reportF.fileName) { if (!this.reportF.fileId || !this.reportF.fileName) {
// return this.$message.warning('请检查上传文件') && false; return this.$message.warning('请检查上传文件') && false;
// } }
// if (!this.reportF.year) { if (!this.reportF.year) {
// return this.$message.warning('请检查报告年份') && false; return this.$message.warning('请检查报告年份') && false;
// } }
if (!this.reportF.label) {
return this.$message.warning('请检查报告年份') && false;
}
// if (!this.reportF.labelOneId || !this.reportF.labelOneName || this.reportF.labelOneName === '-' ) { // if (!this.reportF.labelOneId || !this.reportF.labelOneName || this.reportF.labelOneName === '-' ) {
// return this.$message.warning(`请检查${this.tagsForm.tags01.name}`) && false; // 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 === '-') { // if (!this.reportF.labelThreeId || !this.reportF.labelThreeName || this.reportF.labelThreeName === '-') {
// return this.$message.warning(`请检查${this.tagsForm.tags03.name}`) && false; // return this.$message.warning(`请检查${this.tagsForm.tags03.name}`) && false;
// } // }
// if (!this.reportF.reportUserIdList || !this.reportF.reportUserIdList.length) { if (!this.reportF.reportUserIdList || !this.reportF.reportUserIdList.length) {
// return this.$message.warning('请检查权限') && false; return this.$message.warning('请检查权限') && false;
// } }
return true; return true;
}, },
// 新增或编辑报告 // 新增或编辑报告
reportAdd() { reportAdd() {
if (!this.checkReportF()) return; 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.$message.success('操作成功');
this.dialogReport = false; this.dialogReport = false;
this.reset(); this.reset();
@@ -1019,6 +1001,7 @@ export default {
text-align: right; text-align: right;
width: 95%; width: 95%;
} }
.report-manager { .report-manager {
.title { .title {
border-bottom: 1px solid #EBEEF5; border-bottom: 1px solid #EBEEF5;
@@ -1188,6 +1171,7 @@ export default {
.head { .head {
display: flex; display: flex;
align-items: center; align-items: center;
.btn { .btn {
cursor: pointer; cursor: pointer;
} }
@@ -1196,6 +1180,7 @@ export default {
.tree { .tree {
margin-top: 30px; margin-top: 30px;
padding: 0px 50px 50px 50px; padding: 0px 50px 50px 50px;
.custom-tree-node { .custom-tree-node {
flex: 1; flex: 1;
display: flex; display: flex;
@@ -1205,6 +1190,7 @@ export default {
} }
} }
.head ::v-deep .el-input__inner { .head ::v-deep .el-input__inner {
margin-top: 10px; margin-top: 10px;
height: 40px; height: 40px;
@@ -1212,6 +1198,7 @@ export default {
width: 50% !important; width: 50% !important;
margin-left: 50px; margin-left: 50px;
} }
.head ::v-deep .el-button { .head ::v-deep .el-button {
margin-top: 10px; margin-top: 10px;
height: 40px; height: 40px;
@@ -1282,6 +1269,7 @@ export default {
margin-left: 10px; margin-left: 10px;
margin-right: 5px; margin-right: 5px;
} }
.icon-sub, .icon-sub,
.icon-up { .icon-up {
margin-right: 5px; margin-right: 5px;
@@ -1335,17 +1323,22 @@ export default {
font-weight: 400; font-weight: 400;
color: #434343; color: #434343;
} }
.el-select { .el-select {
width: 100%; width: 100%;
} }
.ti-input { .ti-input {
width: 107.5% !important; width: 107.5% !important;
} }
.el-cascader { .el-cascader {
width: 100%; width: 100%;
} }
.el-date-editor { .el-date-editor {
width: 100%; width: 100%;
.el-input__inner { .el-input__inner {
padding-left: 15px; padding-left: 15px;
} }
@@ -1397,6 +1390,7 @@ export default {
display: inline-flex; display: inline-flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
.full-screen { .full-screen {
cursor: pointer; cursor: pointer;
width: 24px; width: 24px;
@@ -1411,9 +1405,11 @@ export default {
padding: 9px 25px 17px 22px; padding: 9px 25px 17px 22px;
height: 60vh; height: 60vh;
position: relative; position: relative;
&.active { &.active {
height: calc(100vh - 52px); height: calc(100vh - 52px);
} }
.full-screen { .full-screen {
cursor: pointer; cursor: pointer;
position: absolute; position: absolute;
@@ -1450,5 +1446,4 @@ export default {
} }
} }
} }
</style> </style>