明树Git Lab

Commit f432e65a authored by chenron's avatar chenron
parents fd84dd6b de2f45df
......@@ -9,13 +9,15 @@ import { nextTick, onMounted, reactive, ref } from "vue";
import gansuLine from "./newLine.json";
let map = null;
window._AMapSecurityConfig = {
securityJsCode: "75a8291a9e8f7c838fc5e4dd0d538f30",
// securityJsCode: "75a8291a9e8f7c838fc5e4dd0d538f30",
securityJsCode: "7aee6d6553ba9a8178e0c57b60a51481",
};
// 初始化地图
const handleInitMap = () => {
let selectName = sessionStorage.getItem("selectedContentBtn");
AMapLoader.load({
key: "c691971f068b92c897fb908c4ddef6d4", // 申请好的Web端开发者Key
// key: "c691971f068b92c897fb908c4ddef6d4", // 申请好的Web端开发者Key
key: "9a22433229a51dc5114d4bbf92f687ee", // 申请好的Web端开发者Key
version: "2.0",
plugins: ["AMap.DistrictSearch", "AMap.GeoJSON"],
})
......@@ -26,7 +28,8 @@ const handleInitMap = () => {
zoom: 4, //初始化地图级别
center: [100.808299, 35.791787], //初始化地图中心点位置
expandZoomRange: true, // 开启显示范围设置
mapStyle: "amap://styles/2d017848d08f94f20b6e50aaae661148",
// mapStyle: "amap://styles/2d017848d08f94f20b6e50aaae661148",
mapStyle: "amap://styles/d9cd35cfbd75e272e528a7fde0bcfc53",
rotateEnable: false, // 是否可以旋转
copyrightControl: false,
logoControl: false,
......@@ -390,6 +393,9 @@ onMounted(() => {
color: #93d2ff;
margin-left: 2px;
}
.amap-container{
background: none;
}
:deep(.amap-logo) {
display: none;
......
......@@ -397,8 +397,9 @@ const computedTableHeight = computed(() => {
}
const headerHeight = 50;
const paginationHeight = props.pagination ? 50 : 0;
const baseHeight = headerHeight + paginationHeight;
// const paginationHeight = props.pagination ? 50 : 0;
const noDataHeight = tableData.value.length ? 0 : 50;
const baseHeight = headerHeight + noDataHeight;
// 如果数据超过最大行数,固定显示最大行数的高度;如果数据不超过最大行数,按实际行数计算高度
const actualRows = Math.min(tableData.value.length, props.maxRows);
......
......@@ -51,7 +51,7 @@
<span>{{ route.meta?.menuName || route.name }}</span>
</template>
<template v-for="child in route.children" :key="child.path">
<el-menu-item
<el-menu-item v-if="child.meta?.showInMenu !== false"
:index="child.path"
style="padding-left: 20px !important"
>
......
......@@ -26,18 +26,36 @@ const routes = [
path: '/projectManage',
name: 'projectManage',
title: '项目管理',
component: () => import('@/views/managePage/projectManage.vue'),
meta: { menuName: '项目管理', icon: 'Management' }
},
{
path: '/addProject',
name: 'addProject',
title: '新增项目',
component: () => import('@/views/managePage/addProject.vue'),
meta: {
menuName: '新增项目',
showInMenu: false // 不在菜单中显示
}
meta: { menuName: '项目管理', icon: 'Management' },
redirect: "/projectAllPage",
children: [
{
path: '/projectAllPage',
name: 'projectAllPage',
title: '项目档案库',
component: () => import('@/views/managePage/projectAllPage.vue'),
meta: { menuName: '项目档案库' }
},
{
path: '/addProject',
name: 'addProject',
title: '新增项目',
component: () => import('@/views/managePage/addProject.vue'),
meta: {
menuName: '新增项目',
showInMenu: false // 不在菜单中显示
}
},
{
path: '/projectSetUp',
name: 'projectSetUp',
title: '项目立项',
component: () => import('@/views/managePage/projectSetUp.vue'),
meta: {
menuName: '项目立项'
}
}
]
},
{
path: '/templateManage',
......
......@@ -208,7 +208,7 @@ window.addEventListener("fullscreenchange", () => {
// background-position: center;
width: 100%;
height: 100%;
background-color: #04427e;
background: linear-gradient(to bottom, #04427E, #095DCC);
overflow: hidden;
color: #fff;
display: flex;
......
......@@ -4,15 +4,15 @@
<div class="header-left"></div>
<div class="header-right">
<el-button type="default" @click="backClick">返回</el-button>
<el-button type="primary" @click="saveClick">保存</el-button>
<el-button type="primary" @click="commitClick">提交</el-button>
<el-button type="primary" @click="saveClick('save')">保存</el-button>
<el-button type="primary" v-if="formData.projectLzType" @click="saveClick('submit')">提交</el-button>
</div>
</div>
<div class="add-project-content" v-loading="loading">
<el-tabs v-model="tabActiveName">
<el-tab-pane label="项目基本信息" name="项目基本信息">
<div class="tab-content">
<el-form :model="formData" :label-width="200" :disabled="isPreview">
<el-form :model="formData" :label-width="150" :disabled="isPreview">
<el-collapse v-model="activeCollapse">
<el-collapse-item title="项目基本信息" name="项目基本信息">
<el-row :gutter="20">
......@@ -21,11 +21,16 @@
<el-input v-model="formData.projectName" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-col :span="12">
<el-form-item label="项目编号">
<el-input v-model="formData.projectCode" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="项目外文名称">
<el-input v-model="formData.projectForeignName" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="是否再决策">
<el-radio-group v-model="formData.sfzjc">
......@@ -34,12 +39,7 @@
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="项目外文名称">
<el-input v-model="formData.projectForeignName" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="是否能建联合体项目">
<el-radio-group v-model="formData.sfnjlhtxm">
<el-radio :value="1"></el-radio>
......@@ -48,8 +48,12 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申报单位">
<el-input v-model="formData.applicationUnit" />
<el-form-item label="投资主体">
<el-select v-model="formData.tzzt" placeholder="请选择">
<el-option v-for="item in tzztList" :key="item.value"
:label="item.value" :value="item.key"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
......@@ -67,7 +71,7 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="是否能建重大或重要投资">
<el-form-item label="是否能建重大或重要投资" :label-width="170">
<el-radio-group v-model="formData.sfnjzdhzytz">
<el-radio :value="1"></el-radio>
<el-radio :value="2"></el-radio>
......@@ -82,7 +86,7 @@
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="6">
<el-col :span="9">
<el-form-item label="财务报表类型">
<el-select v-model="formData.cwbblx" placeholder="请选择">
<el-option v-for="item in cwbblxList" :key="item.value"
......@@ -91,8 +95,8 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="政府审批(核准、备案)级别">
<el-col :span="9">
<el-form-item label="政府审批(核准、备案)级别" :label-width="200">
<el-select v-model="formData.zfsphzbajb" placeholder="请选择">
<el-option v-for="item in zfspjbList" :key="item.value"
:label="item.value" :value="item.key"
......@@ -100,8 +104,8 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否履行标前预审程序">
<el-col :span="6">
<el-form-item label="是否履行标前预审程序" :label-width="170">
<el-radio-group v-model="formData.sflxbqyscx">
<el-radio :value="1"></el-radio>
<el-radio :value="2"></el-radio>
......@@ -112,7 +116,7 @@
</el-collapse-item>
<el-collapse-item title="项目所在地" name="项目所在地">
<el-row :gutter="20">
<el-col :span="6">
<el-col :span="8">
<el-form-item label="境内/外">
<el-select v-model="formData.jnw" placeholder="请选择">
<el-option v-for="item in jnwList" :key="item.value"
......@@ -121,21 +125,21 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="省(境内)/洲际(境外)">
<el-col :span="8">
<el-form-item label="省(境内)/洲际(境外)" :label-width="180">
<el-select v-model="formData.sjnzjjw" placeholder="请选择">
<el-option label="1" value="1" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="地市(境内)/国家(境外)">
<el-col :span="8">
<el-form-item label="地市(境内)/国家(境外)" :label-width="190">
<el-select v-model="formData.dsjngjjw" placeholder="请选择">
<el-option label="1" value="1" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-col :span="8">
<el-form-item label="区县(境内)/国家(境外)">
<el-select v-model="formData.qxjngjjw" placeholder="请选择">
<el-option v-for="item in qxgjList" :key="item.value"
......@@ -144,8 +148,8 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="项目区域">
<el-col :span="8">
<el-form-item label="项目区域" :label-width="180">
<el-select v-model="formData.xmqy" placeholder="请选择">
<el-option v-for="item in xmqyList" :key="item.value"
:label="item.value" :value="item.key"
......@@ -153,8 +157,8 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="是否一带一路沿线国家">
<el-col :span="8">
<el-form-item label="是否一带一路沿线国家" :label-width="190">
<el-select v-model="formData.sfydylyxgj" placeholder="请选择">
<el-option label="1" value="1" />
</el-select>
......@@ -182,8 +186,8 @@
</el-collapse-item>
<el-collapse-item title="实施时间" name="实施时间">
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="项目建设期">
<el-col :span="8">
<el-form-item label="项目建设期" :label-width="170">
<el-input
v-model="formData.xmjsqy"
placeholder="请输入"
......@@ -193,8 +197,8 @@
</el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="运营年限">
<el-col :span="8">
<el-form-item label="运营年限" :label-width="170">
<el-input
v-model="formData.yynxn"
placeholder="请输入"
......@@ -204,7 +208,7 @@
</el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-col :span="8">
<el-form-item label="项目合作期">
<el-input
v-model="formData.xmhzqn"
......@@ -215,9 +219,8 @@
</el-input>
</el-form-item>
</el-col>
<el-col :span="6"></el-col>
<el-col :span="6">
<el-form-item label="项目开工时间(预计)">
<el-col :span="8">
<el-form-item label="项目开工时间(预计)" :label-width="170">
<el-date-picker
v-model="formData.xmkgsjyj"
type="date"
......@@ -225,8 +228,8 @@
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="项目交工时间(预计)">
<el-col :span="8">
<el-form-item label="项目交工时间(预计)" :label-width="170">
<el-date-picker
v-model="formData.xmjgsjyj"
type="date"
......@@ -304,10 +307,12 @@
</el-form-item>
</el-col>
<el-col :span="12">
<div class="col-title"></div>
<el-form-item label="国民经济行业">
<el-tree-select
v-model="formData.gmjjhy"
:data="gmjjhyList"
placeholder="请选择"
multiple
show-checkbox
:render-after-expand="false"
......@@ -320,21 +325,21 @@
</el-collapse-item>
<el-collapse-item title="特别关注、特别监管类等信息" name="特别关注、特别监管类等信息">
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="是否需报国家发展改革委和商务部核准">
<el-col :span="8">
<el-form-item label="是否需报国家发展改革委和商务部核准" :label-width="170">
<el-select v-model="formData.sfxbgjfzggwhswbhz" placeholder="请选择">
<el-option label="1" value="1" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-col :span="8">
<el-form-item label="是否国家领导见签">
<el-select v-model="formData.sfgjldjq" placeholder="请选择">
<el-option label="1" value="1" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-col :span="8">
<el-form-item label="是否境内特别监管类">
<el-select v-model="formData.sfjntbjgl" placeholder="请选择">
<el-option label="1" value="1" />
......@@ -445,12 +450,12 @@
<el-form-item label="项目可行性">
<el-input v-model="formData.xmkxx" type="textarea" />
</el-form-item>
<el-form-item label="其他说明">
<!-- <el-form-item label="其他说明">
<el-input v-model="formData.qtsm" type="textarea" />
</el-form-item>
</el-form-item> -->
</el-collapse-item>
<el-collapse-item title="立项资料" name="立项资料">
<el-form-item label="相关支撑材料">
<el-form-item label="相关支撑材料" :label-width="100">
<el-upload
:action="windowConfig.baseUrl + '/api/file/upload'"
:headers="{Authorization: '8681f75e775447f7903708c55a35634e'}"
......@@ -613,12 +618,12 @@
<el-collapse-item title="项目立项信息" name="项目立项信息">
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="其他会议审议情况">
<el-form-item label="其他会议审议情况" :label-width="160">
<el-input v-model="formData.qthysyqk" type="textarea" />
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="立项最终审批意见">
<el-col :span="8">
<el-form-item label="立项最终审批意见" :label-width="160">
<el-select v-model="formData.lxzzpfyj" placeholder="请选择">
<el-option v-for="item in lxzzspyjList" :key="item.value"
:label="item.value" :value="item.key"
......@@ -626,7 +631,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="7">
<el-col :span="8">
<el-form-item label="项目立项批复时间">
<el-date-picker
v-model="formData.lxxmpfsj"
......@@ -635,18 +640,18 @@
/>
</el-form-item>
</el-col>
<el-col :span="7">
<el-col :span="8">
<el-form-item label="立项项目批复文号">
<el-input v-model="formData.lxxmpfwh" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="未通过主要原因与要求">
<el-form-item label="未通过主要原因与要求" :label-width="160">
<el-input v-model="formData.wtgzyyyyyq" type="textarea" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="立项批复文件">
<el-form-item label="立项批复文件" :label-width="100">
<el-upload
:action="windowConfig.baseUrl + '/api/file/upload'"
:headers="{Authorization: '8681f75e775447f7903708c55a35634e'}"
......@@ -707,7 +712,7 @@
</template>
</el-table-column>
</el-table>
<el-form-item label="相关上会材料">
<el-form-item label="相关上会材料" :label-width="100">
<el-upload
:action="windowConfig.baseUrl + '/api/file/upload'"
:headers="{Authorization: '8681f75e775447f7903708c55a35634e'}"
......@@ -737,19 +742,6 @@
</div>
</el-tab-pane>
<el-tab-pane label="决策及批复信息" name="决策及批复信息"></el-tab-pane>
<el-tab-pane label="项目公司落实批复信息" name="项目公司落实批复信息"></el-tab-pane>
<el-tab-pane label="项目合法合规性附件" name="项目合法合规性附件"></el-tab-pane>
<el-tab-pane label="全生命周期策划文件" name="全生命周期策划文件"></el-tab-pane>
<el-tab-pane label="项目绩效评价" name="项目绩效评价">项目绩效评价</el-tab-pane>
<el-tab-pane label="目标责任书考核" name="目标责任书考核">目标责任书考核</el-tab-pane>
<el-tab-pane label="后评价" name="后评价">后评价</el-tab-pane>
<el-tab-pane label="重大事项上报" name="重大事项上报">重大事项上报</el-tab-pane>
<el-tab-pane label="投资分析" name="投资分析">投资分析</el-tab-pane>
<el-tab-pane label="投资检查" name="投资检查">投资检查</el-tab-pane>
<el-tab-pane label="投资回收" name="投资回收">投资回收</el-tab-pane>
<el-tab-pane label="管理费上缴" name="管理费上缴">管理费上缴</el-tab-pane>
<el-tab-pane label="PPP整改方案" name="PPP整改方案">PPP整改方案</el-tab-pane>
<el-tab-pane label="项目结束/暂停(备案资料)" name="项目结束/暂停(备案资料)">项目结束/暂停(备案资料)</el-tab-pane>
</el-tabs>
</div>
</div>
......@@ -772,9 +764,7 @@
"建设规模(实物量指标)", "股东信息", "项目必要性及可行性", "立项资料", "项目投资总额(全口径)",
"财务评价指标", "核心边界条件", "项目立项信息", "审批意见"
]);
let formData = reactive({
gmjjhy: ["1.1", "2.2"]
});
let formData = reactive({});
let loading = ref(false);
// 建设规模(实物量指标)
let swlzbData = reactive([]);
......@@ -963,6 +953,7 @@
};
// 获取资源库数据
let tzztList = reactive([]); // 申报单位
let zyList = reactive([]); // 主页/非主业
let cwbblxList = reactive([]); // 财务报表类型
let zfspjbList = reactive([]); // 政府审批(核准、备案)级别
......@@ -1068,29 +1059,31 @@
router.push("/projectManage");
}
// 保存数据
const saveClick = () => {
let url = formData.id ? "updateProject" : "createProject";
const saveClick = (type) => {
let url = formData.id ? type === "submit" ? "startLixiang" : "saveProjectPreLixiang" : "createProject";
let params = {
...formData,
projectJsgms: swlzbData,
projectGdxxs: gdxxData,
lxzl: zcclData.value,
projectXmtzzes: tzzeqkjData,
projectCwpjzbs: cwpjzbData,
projectBjtjs: hxbjtjData,
lxpfwj: lxpfwjData.value,
projectSpyjs: spyjTableData,
xgshcl: shclData.value
}
if (type === "submit") {
params.buttonType = "submit";
}
proxy.$post({
url: "/api/project/" + url,
data: {
...formData,
projectJsgms: swlzbData,
projectGdxxs: gdxxData,
lxzl: zcclData.value,
projectXmtzzes: tzzeqkjData,
projectCwpjzbs: cwpjzbData,
projectBjtjs: hxbjtjData,
lxpfwj: lxpfwjData.value,
projectSpyjs: spyjTableData,
xgshcl: shclData.value
},
data: params,
callback: (data) => {
router.push("/projectManage");
}
})
};
// 提交数据
const commitClick = () => {};
</script>
<style lang="less">
......@@ -1124,6 +1117,8 @@
overflow: auto;
padding: 0 10px;
.col-title{
height: 24px;
line-height: 24px;
font-weight: bold;
text-align: center;
}
......
<template>
<div class="project-manage-container">
<div class="project-manage-header">
<div class="header-left"></div>
<div class="header-right">
<el-button type="primary" @click="showFieldsModal">表头筛选</el-button>
<el-button type="primary" @click="addProject">新增</el-button>
</div>
</div>
<div class="project-manage-content" v-loading="loading">
<common-table
:autoHeight="true"
:maxRows="10"
:rowHeight="40"
: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%"
empty-text="暂无数据" height="100%" border
>
<el-table-column type="index" width="50" />
<el-table-column prop="projectName" label="项目名称" />
<el-table-column prop="projectCode" label="项目编号" />
<el-table-column fixed="right" label="操作" min-width="120">
<template #default="scope">
<el-button link type="primary" size="small" @click="previewProject(scope.row)">查看</el-button>
<el-button link type="primary" size="small" @click="editProject(scope.row)">编辑</el-button>
<el-button link type="danger" size="small" @click="deleteProject(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div class="page-wrap">
<el-pagination background layout="prev, pager, next" :total="1000" />
</div> -->
</div>
<el-dialog v-model="filedsModalShow"
modal-class="fields-modal"
title="筛选查询" width="50%" top="10vh"
>
<common-table
:data="tableFields"
:columns="fieldsTableColumns"
:selection="true"
:border="true"
:pagination="false"
:autoHeight="true"
:rowHeight="40"
@selection-change="handleFieldsSelectChange"
></common-table>
<template #footer>
<div class="dialog-footer">
<el-button @click="cancelFieldsModal">取消</el-button>
<el-button type="primary" @click="confirmFieldsModal">确定</el-button>
</div>
</template>
</el-dialog>
</div>
</template>
<script setup>
import { reactive, ref, onMounted, computed, getCurrentInstance } from "vue";
import { useRouter } from "vue-router";
import { useProjectStore } from "@/stores/project.js";
import { ElMessage, ElMessageBox } from "element-plus";
import CommonTable from "@/components/common/commonTable.vue";
const projectStore = useProjectStore();
const router = useRouter();
const { proxy } = getCurrentInstance();
// 计算表格高度
let tableData = ref([]);
let tableColumns = ref([
{
prop: "projectName",
label: "项目名称",
showOverflowTooltip: true
},
{
prop: "projectCode",
label: "项目编号",
showOverflowTooltip: true
},
{
prop: "projectLzType",
label: "状态",
width: 120,
align: "center",
formatter: (data) => {
return data.projectLzType === 1 ? "待立项" : data.projectLzType === 3 ? "立项审批中" :
data.projectLzType === 5 ? "已立项" : data.projectLzType === 7 ? "决策填报中" :
data.projectLzType === 8 ? "决策审批中" : data.projectLzType === 9 ? "已决策" : "待立项"
}
},
{
prop: "operations",
label: "操作",
width: 160,
slot: "operations",
fixed: "right",
align: "center"
}
]);
// 获取可显示表头项
let filedsModalShow = ref(false);
let tableFields = reactive([]);
const fieldsTableColumns = reactive([
{
prop: "comment",
label: "名称"
}
]);
const getTableFields = () => {
proxy.$post({
url: "/api/project/getProjectFields",
data: {},
callback: (data) => {
tableFields = (data[0] && data[0].attributes) || [];
}
})
};
const showFieldsModal = () => {
filedsModalShow.value = true;
}
let selectFields = ref([]);
const handleFieldsSelectChange = (datas) => {
selectFields.value = datas;
};
const cancelFieldsModal = () => {
selectFields.value = [];
filedsModalShow.value = false;
}
const confirmFieldsModal = () => {
tableColumns.value = selectFields.value.map(item => {
return {
prop: item.fieldName,
label: item.comment,
showOverflowTooltip: true
};
}).concat([
{
prop: "projectLzType",
label: "状态",
width: 120,
align: "center",
formatter: (data) => {
return data.projectLzType === 1 ? "待立项" : data.projectLzType === 3 ? "立项审批中" :
data.projectLzType === 5 ? "已立项" : data.projectLzType === 7 ? "决策填报中" :
data.projectLzType === 8 ? "决策审批中" : data.projectLzType === 9 ? "已决策" : "待立项"
}
},
{
prop: "operations",
label: "操作",
width: 160,
slot: "operations",
fixed: "right",
align: "center",
}
]);
filedsModalShow.value = false;
};
let loading = ref(false);
let total = ref(0);
let currentPage = ref(1);
let pageSize = ref(10);
// 获取列表数据
const getProjectData = () => {
loading.value = true;
proxy.$post({
url: "/api/project/listProject",
data: {
page: currentPage.value,
pagesize: pageSize.value,
attributes: [],
buttonType: "xmdak"
},
callback: (data) => {
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 = () => {
router.push("/addProject");
};
const editProject = (item) => {
router.push({
name: "addProject",
query: {
projectId: item.id
}
});
};
const previewProject = (item) => {
router.push({
name: "addProject",
query: {
isPreview: true,
projectId: item.id
}
})
}
const deleteProject = (item) => {
ElMessageBox.confirm("确认删除该项?", "提示",{
confirmButtonText: '确认',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
proxy.$post({
url: "/api/project/deleteProject",
data: {
id: item.id
},
callback: (data) => {
ElMessage.success("删除成功");
getProjectData();
}
})
}).catch(() => {})
}
onMounted(() => {
getTableFields();
getProjectData();
})
</script>
<style scoped lang="less">
.project-manage{
&-container{
width: 100%;
height: 100%;
padding: 20px;
box-sizing: border-box;
display: flex;
flex-direction: column;
.tab-content{
padding: 10px 15px;
}
}
&-header{
display: flex;
justify-content: space-between;
}
&-content{
flex: 1;
height: 0;
display: flex;
flex-direction: column;
.table-wrap{
margin: 15px 0;
flex: 1;
height: 0;
}
.page-wrap{
display: flex;
justify-content: flex-end;
}
}
}
</style>
......@@ -144,26 +144,20 @@
label: item.comment,
showOverflowTooltip: true
};
}).concat({
prop: "operations",
label: "操作",
width: 160,
slot: "operations",
fixed: "right",
align: "center",
});
}).concat([
{
prop: "operations",
label: "操作",
width: 160,
slot: "operations",
fixed: "right",
align: "center",
}
]);
filedsModalShow.value = false;
};
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);
......@@ -172,11 +166,12 @@
const getProjectData = () => {
loading.value = true;
proxy.$post({
url: "/api/project/getOwnProjects",
url: "/api/project/listProject",
data: {
page: currentPage.value,
pagesize: pageSize.value,
attributes: []
attributes: [],
buttonType: "xmlx"
},
callback: (data) => {
tableData.value = data.rows;
......
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