明树Git Lab

Commit 754ee983 authored by chenron's avatar chenron

.common-container

parents eef91c57 cd2cfd16
...@@ -522,7 +522,7 @@ const handleNextClick = (val) => { ...@@ -522,7 +522,7 @@ const handleNextClick = (val) => {
:deep(.el-table) { :deep(.el-table) {
thead { thead {
color: var(--el-table-header-text-color); color: #000;
} }
.el-table__cell { .el-table__cell {
padding: 0; padding: 0;
......
...@@ -50,7 +50,6 @@ export function $post ({ url, data = {}, callback }) { ...@@ -50,7 +50,6 @@ export function $post ({ url, data = {}, callback }) {
console.log(err); console.log(err);
ElMessage.error(err.msg || "操作失败"); ElMessage.error(err.msg || "操作失败");
if (err && err.response && err.response.status === 401) { if (err && err.response && err.response.status === 401) {
store.commit("clearUserInfo");
router.replace("/login"); router.replace("/login");
} }
}); });
......
This diff is collapsed.
...@@ -6,10 +6,30 @@ ...@@ -6,10 +6,30 @@
<el-button type="primary" @click="addProject">新增</el-button> <el-button type="primary" @click="addProject">新增</el-button>
</div> </div>
</div> </div>
<div class="project-manage-content"> <div class="project-manage-content" v-loading="loading">
<div class="table-wrap"> <common-table
:tableHeight="tableHeight"
:data="tableData"
:columns="tableColumns"
:total="total"
:current-page="currentPage"
:page-size="pageSize"
:index="true"
:indexLabel="'序号'"
title=""
:border="true"
@size-change="handleSizeChange"
@current-page-change="handleCurrentPageChange"
>
<template #operations="{ row, index }">
<el-button link type="primary" size="small" @click="previewProject(row)">查看</el-button>
<el-button link type="primary" size="small" @click="editProject(row)">编辑</el-button>
<el-button link type="danger" size="small" @click="deleteProject(row)">删除</el-button>
</template>
</common-table>
<!-- <div class="table-wrap">
<el-table :data="tableData" style="width: 100%" <el-table :data="tableData" style="width: 100%"
empty-text="暂无数据" height="100%" empty-text="暂无数据" height="100%" border
> >
<el-table-column type="index" width="50" /> <el-table-column type="index" width="50" />
<el-table-column prop="projectName" label="项目名称" /> <el-table-column prop="projectName" label="项目名称" />
...@@ -25,52 +45,100 @@ ...@@ -25,52 +45,100 @@
</div> </div>
<div class="page-wrap"> <div class="page-wrap">
<el-pagination background layout="prev, pager, next" :total="1000" /> <el-pagination background layout="prev, pager, next" :total="1000" />
</div> </div> -->
</div> </div>
</div> </div>
</template> </template>
<script setup> <script setup>
import { reactive, ref, onMounted, getCurrentInstance } from "vue"; import { reactive, ref, onMounted, computed, getCurrentInstance } from "vue";
import { useRouter } from "vue-router"; import { useRouter } from "vue-router";
import { useProjectStore } from "@/stores/project.js"; import { useProjectStore } from "@/stores/project.js";
import { ElMessage, ElMessageBox } from "element-plus"; import { ElMessage, ElMessageBox } from "element-plus";
import CommonTable from "@/components/common/commonTable.vue";
const projectStore = useProjectStore(); const projectStore = useProjectStore();
const router = useRouter(); const router = useRouter();
const { proxy } = getCurrentInstance(); const { proxy } = getCurrentInstance();
const tableData = ref([]);
// 计算表格高度
let tableData = ref([]);
const tableColumns = reactive([
{
prop: "projectName",
label: "项目名称",
showOverflowTooltip: true
},
{
prop: "projectCode",
label: "项目编号",
showOverflowTooltip: true
},
{
prop: "operations",
label: "操作",
width: 160,
slot: "operations",
fixed: "right",
align: "center",
}
]);
const tableHeight = computed(() => {
const headerHeight = 50;
const rowHeight = 45;
// 1.如果数据超过10条,固定显示10行的高度 + 滚动条;2.如果数据不超过10条,按实际行数计算高度
const maxRows = Math.min(tableData.value.length, 10);
const contentHeight = maxRows * rowHeight;
return `${headerHeight + contentHeight}px`;
});
let loading = ref(false);
let total = ref(0);
let currentPage = ref(1);
let pageSize = ref(10);
const getProjectData = () => { const getProjectData = () => {
loading.value = true;
proxy.$post({ proxy.$post({
url: "/api/project/listProject", url: "/api/project/getOwnProjects",
data: { data: {
page: 1, page: currentPage.value,
pagesize: 10, pagesize: pageSize.value,
attributes: [] attributes: []
}, },
callback: (data) => { callback: (data) => {
tableData.value = data.rows; tableData.value = data.rows;
total.value = data.count;
loading.value = false;
} }
}) })
}; };
// 分页
const handleSizeChange = (size) => {
pageSize.value = size;
currentPage.value = 1;
getProjectData();
}
const handleCurrentPageChange = (page) => {
currentPage.value = page;
getProjectData();
}
const addProject = () => { const addProject = () => {
router.push("/addProject"); router.push("/addProject");
}; };
const editProject = (item) => { const editProject = (item) => {
projectStore.setParams({ router.push({
projectInfo: { ...item } name: "addProject",
query: {
projectId: item.id
}
}); });
router.push("/addProject");
}; };
const previewProject = (item) => { const previewProject = (item) => {
projectStore.setParams({
projectInfo: { ...item }
});
router.push({ router.push({
name: "addProject", name: "addProject",
query: { query: {
isPreview: true isPreview: true,
projectId: item.id
} }
}) })
} }
...@@ -89,14 +157,11 @@ ...@@ -89,14 +157,11 @@
ElMessage.success("删除成功"); ElMessage.success("删除成功");
getProjectData(); getProjectData();
} }
}).catch(() => {}) })
}) }).catch(() => {})
} }
onMounted(() => { onMounted(() => {
getProjectData(); getProjectData();
projectStore.setParams({
projectInfo: undefined
});
}) })
</script> </script>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment