|
@@ -0,0 +1,114 @@
|
|
|
+<template>
|
|
|
+ <Dialog type="xl" title="指挥记录" class="custom-dialog" customShow hide-footer @close="handleClose">
|
|
|
+ <!-- 表格组件 -->
|
|
|
+ <div class="common-table">
|
|
|
+ <div class="table-header">
|
|
|
+ <div class="td">操作人员</div>
|
|
|
+ <div class="td">操作地址</div>
|
|
|
+ <div class="td">操作内容</div>
|
|
|
+ <div class="td">操作日期</div>
|
|
|
+ </div>
|
|
|
+ <div v-for="(item, index) in operlogList" :key="index" class="tr">
|
|
|
+ <div class="td">{{ item.operName }}</div>
|
|
|
+ <div class="td">{{ item.operIp }}</div>
|
|
|
+ <div class="td">{{ item.czrz }}</div>
|
|
|
+ <div class="td">{{ item.operTime }}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="footer">
|
|
|
+ <pagination
|
|
|
+ v-show="total > 0"
|
|
|
+ v-model:page="queryParams.pageNum"
|
|
|
+ v-model:limit="queryParams.pageSize"
|
|
|
+ :total="total"
|
|
|
+ layout="total, prev, pager, next"
|
|
|
+ @pagination="getList"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ </Dialog>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script lang="ts" setup name="CommandRecord">
|
|
|
+import { list } from '@/api/monitor/operlog';
|
|
|
+
|
|
|
+const props = defineProps({
|
|
|
+ modelValue: {
|
|
|
+ type: Boolean,
|
|
|
+ default: () => {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+});
|
|
|
+const emits = defineEmits(['update:modelValue']);
|
|
|
+
|
|
|
+const operlogList = ref([]);
|
|
|
+const total = ref(0);
|
|
|
+const queryParams = reactive({
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 10
|
|
|
+});
|
|
|
+
|
|
|
+/** 查询日志 */
|
|
|
+const getList = async () => {
|
|
|
+ const res = await list(queryParams);
|
|
|
+ operlogList.value = res.rows;
|
|
|
+ total.value = res.total;
|
|
|
+};
|
|
|
+
|
|
|
+const handleClose = () => {
|
|
|
+ emits('update:modelValue', false);
|
|
|
+};
|
|
|
+
|
|
|
+getList();
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+.footer {
|
|
|
+ height: 64px;
|
|
|
+ display: flex;
|
|
|
+ justify-content: flex-end;
|
|
|
+ margin-bottom: 30px;
|
|
|
+ .pagination-container {
|
|
|
+ height: 64px;
|
|
|
+ margin: 0;
|
|
|
+ }
|
|
|
+ :deep(.el-pagination__total) {
|
|
|
+ color: #a7ccdf !important;
|
|
|
+ }
|
|
|
+ :deep(.el-pagination) {
|
|
|
+ .btn-next,
|
|
|
+ .btn-prev {
|
|
|
+ background-color: transparent !important;
|
|
|
+ border: none !important;
|
|
|
+ .el-icon {
|
|
|
+ color: #a7ccdf !important;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .btn-prev:disabled,
|
|
|
+ .btn-next:disabled {
|
|
|
+ background-color: transparent !important;
|
|
|
+ border: none !important;
|
|
|
+ }
|
|
|
+ .el-pager li {
|
|
|
+ text-align: center;
|
|
|
+ color: #a7ccdf !important;
|
|
|
+ background-color: #0e3064 !important;
|
|
|
+ border: 1px solid #0c57a7 !important;
|
|
|
+ &:hover {
|
|
|
+ background-color: #038dff !important;
|
|
|
+ border: 1px solid #038dff !important;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .el-pager li.is-active {
|
|
|
+ background-color: #038dff !important;
|
|
|
+ border: 1px solid #038dff !important;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+:deep(.el-form) {
|
|
|
+ .el-form-item__label {
|
|
|
+ color: #ffffff !important;
|
|
|
+ margin-right: 10px !important;
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|