明树Git Lab

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