<template>
|
<div class="logLog_box">
|
<My-bread :list="[
|
`${$t('operatManage.operatManage')}`,
|
`${$t('operatManage.DownloadLog')}`,
|
]"></My-bread>
|
<el-divider />
|
<div
|
class="inquire subpage_Div"
|
ref="container"
|
>
|
<el-form
|
:inline="true"
|
ref="sizeForm"
|
:model="sizeForm"
|
>
|
<div class="flex_box">
|
<div style="margin-right: auto">
|
<el-form-item
|
prop="uname"
|
:label="$t('operatManage.operationLogObj.username')"
|
>
|
<el-input
|
style="width: 200px"
|
size="small"
|
v-model="sizeForm.uname"
|
:placeholder="$t('operatManage.operationLogObj.pleaseInput')"
|
/>
|
</el-form-item>
|
<el-form-item
|
prop="type"
|
:label="$t('operatManage.operationLogObj.operationType')"
|
>
|
<el-select
|
style="width: 200px"
|
size="small"
|
:popper-append-to-body="false"
|
v-model="sizeForm.type"
|
:placeholder="$t('operatManage.operationLogObj.operationTypeHolder')"
|
>
|
<el-option
|
:label="$t('downlog.type1')"
|
value="1"
|
/>
|
<el-option
|
:label="$t('downlog.type2')"
|
value="2"
|
/>
|
<el-option
|
:label="$t('downlog.type3')"
|
value="3"
|
/>
|
<el-option
|
:label="$t('downlog.type4')"
|
value="4"
|
/>
|
<el-option
|
:label="$t('downlog.type5')"
|
value="5"
|
/>
|
<el-option
|
:label="$t('downlog.type6')"
|
value="6"
|
/>
|
</el-select>
|
</el-form-item>
|
<el-form-item
|
prop="start"
|
:label="$t('operatManage.operationLogObj.startTime')"
|
>
|
<el-date-picker
|
size="small"
|
format="yyyy-MM-dd HH:mm:ss"
|
value-format="yyyy-MM-dd HH:mm:ss"
|
v-model="sizeForm.start"
|
style="width: 200px"
|
type="datetime"
|
:popper-class="popperclass"
|
:placeholder="$t('operatManage.operationLogObj.startTimeHolder')"
|
></el-date-picker>
|
</el-form-item>
|
<el-form-item
|
prop="end"
|
:label="$t('operatManage.operationLogObj.endTime')"
|
>
|
<el-date-picker
|
format="yyyy-MM-dd HH:mm:ss"
|
value-format="yyyy-MM-dd HH:mm:ss"
|
v-model="sizeForm.end"
|
size="small"
|
style="width: 200px"
|
type="datetime"
|
:placeholder="$t('operatManage.operationLogObj.endTimeHolder')"
|
>
|
</el-date-picker>
|
</el-form-item>
|
</div>
|
<div>
|
<el-form-item>
|
<el-button
|
@click="onSubmit"
|
icon="el-icon-search"
|
size="small"
|
type="primary"
|
>{{ $t("operatManage.operationLogObj.inquire") }}</el-button>
|
<el-button
|
@click="resAllTable"
|
icon="el-icon-delete"
|
type="info"
|
size="small"
|
>{{ $t("operatManage.operationLogObj.empty") }}</el-button>
|
</el-form-item>
|
</div>
|
</div>
|
</el-form>
|
</div>
|
<div class="dividing-line"></div>
|
<div
|
class="table_box subpage_Div"
|
:style="styleVar"
|
>
|
<el-table
|
:data="tableData"
|
style="width: 100%"
|
border
|
height="calc(100% - 45px)"
|
>
|
<el-table-column
|
align="center"
|
type="index"
|
:label="$t('operatManage.ELM.index')"
|
width="70px"
|
/>
|
<el-table-column
|
align="center"
|
prop="name"
|
:label="$t('operatManage.ELM.fileName')"
|
/>
|
<el-table-column
|
align="center"
|
prop="uname"
|
:label="$t('operatManage.ELM.username')"
|
/>
|
|
<el-table-column
|
align="center"
|
prop="type"
|
:label="$t('operatManage.ELM.type')"
|
:formatter="formatType"
|
/>
|
<el-table-column
|
align="center"
|
prop="sizes"
|
:label="$t('operatManage.ELM.size')"
|
:formatter="formatSize"
|
/>
|
<el-table-column
|
align="center"
|
prop="ip"
|
:label="$t('operatManage.ELM.ipadress')"
|
/>
|
<el-table-column
|
align="center"
|
prop="createTime"
|
:label="$t('operatManage.ELM.careatetime')"
|
:formatter="formatData"
|
/>
|
</el-table>
|
<div
|
style="margin-top: 10px"
|
class="pagination_box"
|
>
|
<el-pagination
|
@size-change="handleSizeChange"
|
@current-change="handleCurrentChange"
|
:current-page="listData.pageIndex"
|
:page-sizes="[10, 20, 50, 100]"
|
:page-size="listData.pageSize"
|
layout="total, sizes, prev, pager, next, jumper"
|
:total="count"
|
>
|
</el-pagination>
|
</div>
|
</div>
|
</div>
|
</template>
|
|
<script>
|
import MyBread from "../../components/MyBread.vue";
|
import { downlog_selectByPageAndCount } from "../../api/api";
|
export default {
|
//import引入的组件需要注入到对象中才能使用
|
components: {
|
MyBread,
|
},
|
|
data() {
|
return {
|
popperclass: "",
|
sizeForm: {
|
start: null,
|
end: null,
|
uname: null,
|
type: null,
|
},
|
tableData: [],
|
listData: {
|
pageIndex: 1,
|
pageSize: 10,
|
start: null,
|
end: null,
|
uname: null,
|
type: null,
|
},
|
count: 0,
|
tableHeight: 0,
|
timer: 0,
|
styleVar: {
|
height: "calc(100% - 109px)",
|
},
|
};
|
},
|
methods: {
|
onResize() {
|
this.timer && clearTimeout(this.timer);
|
this.timer = setTimeout(() => {
|
this.calHeight();
|
}, 500);
|
},
|
calHeight() {
|
this.$nextTick(() => {
|
const rect = this.$refs.container.getBoundingClientRect();
|
this.tableHeight = `${rect.height + 97}px`;
|
// this.styleVar["height"] = `calc(100% - ${rect.height + 97}px)`;
|
this.styleVar["height"] = `calc(100% - ${rect.height + 30}px)`;
|
});
|
},
|
formatSize(row, column) {
|
let data = row[column.property];
|
if (data == null) {
|
return data;
|
}
|
|
if (data > 1024) {
|
var val = data / 1024;
|
return val + "GB";
|
} else {
|
return data + "MB";
|
}
|
},
|
formatType(row, column) {
|
let data = row[column.property];
|
if (data == null) {
|
return data;
|
}
|
switch (data) {
|
case 1:
|
return "Shp文件";
|
break;
|
case 2:
|
return "专题图";
|
break;
|
case 3:
|
return "源数据";
|
break;
|
case 4:
|
return "业务数据";
|
break;
|
case 5:
|
return "管道分析";
|
break;
|
case 6:
|
return "统计报告";
|
break;
|
default:
|
return "未知数据";
|
break;
|
}
|
},
|
add0(m) {
|
return m < 10 ? "0" + m : m;
|
},
|
//格式化时间
|
format(shijianchuo) {
|
//shijianchuo是整数,否则要parseInt转换
|
var time = new Date(shijianchuo);
|
var y = time.getFullYear();
|
var m = time.getMonth() + 1;
|
var d = time.getDate();
|
var h = time.getHours();
|
var mm = time.getMinutes();
|
var s = time.getSeconds();
|
return (
|
y +
|
"-" +
|
this.add0(m) +
|
"-" +
|
this.add0(d) +
|
" " +
|
this.add0(h) +
|
":" +
|
this.add0(mm) +
|
":" +
|
this.add0(s)
|
);
|
},
|
//格式化列表
|
formatData(row, column) {
|
let data = row[column.property];
|
if (data == null) {
|
return data;
|
}
|
return this.format(data);
|
},
|
resAllTable() {
|
this.listData = {
|
pageIndex: 1,
|
pageSize: 10,
|
start: null,
|
end: null,
|
uname: null,
|
type: null,
|
};
|
this.sizeForm = {
|
start: null,
|
end: null,
|
uname: null,
|
type: null,
|
};
|
this.getAllData();
|
},
|
onSubmit() {
|
this.listData.end = this.sizeForm.end;
|
this.listData.start = this.sizeForm.start;
|
this.listData.type = this.sizeForm.type;
|
this.listData.uname = this.sizeForm.uname;
|
this.getAllData();
|
},
|
|
handleSizeChange(val) {
|
this.listData.pageSize = val;
|
this.listData.pageIndex = 1;
|
this.getAllData();
|
},
|
handleCurrentChange(val) {
|
this.listData.pageIndex = val;
|
this.getAllData();
|
},
|
async getAllData() {
|
const data = await downlog_selectByPageAndCount(this.listData);
|
if (data.code != 200) {
|
return this.$message.error("列表调用失败");
|
}
|
this.tableData = data.result;
|
this.count = data.count;
|
},
|
},
|
beforeDestroy() {
|
this.timer && clearTimeout(this.timer);
|
window.removeEventListener("resize", this.onResize);
|
},
|
mounted() {
|
window.addEventListener("resize", this.onResize);
|
this.calHeight();
|
},
|
created() {
|
this.getAllData();
|
},
|
};
|
</script>
|
<style lang="less" scoped>
|
//@import url(); 引入公共css类
|
.logLog_box {
|
height: 98%;
|
width: 98%;
|
padding: 0.5% 1%;
|
.el-input {
|
width: 300px;
|
}
|
.inquire {
|
padding: 0 8px;
|
//margin-top: 20px;
|
|
border-radius: 5px;
|
|
//margin-bottom: 20px;
|
.el-form-item {
|
margin: 5px;
|
}
|
}
|
|
.text-center {
|
text-align: center;
|
}
|
}
|
</style>
|