<template>
|
<div>
|
<el-table
|
:data="tableData"
|
:class="{tableTopLevel1: topLevel === 1, tableTopLevel2: topLevel === 2, tableTopLevel3: topLevel === 3, tableTopLevelDefault: topLevel === -1}"
|
row-key="id"
|
border
|
@selection-change="handleSelectionChange">
|
<el-table-column
|
type="selection"
|
width="55">
|
</el-table-column>
|
<el-table-column
|
prop="projectName"
|
label="项目名称"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="projectCode"
|
label="项目代码"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="content"
|
label="建设内容"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="projectType"
|
label="项目类型(0房屋建筑,1城市基础设施,2交通运输,3水利,4能源,5非煤矿山,6其他)"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="projectStatus"
|
label="项目状态 (0未开工,1已开工,2已竣工,3暂停)"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="fundType"
|
label="资金类型(0中预资金,1国债资金,2超长期国债,3地方政府专项债)"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="investType"
|
label="投资类别(0企业投资,1政府投资,2外商投资,3境外投资)"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="projectPhase"
|
label="项目阶段(0储备规划阶段, 1项目前期阶段, 2实施阶段, 3竣工投用阶段)"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="tag"
|
label="标签"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="competentDepartment"
|
label="主管部门(对应审批部门id)"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="areaCode"
|
label="行政区域"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="managementCentralization"
|
label="管理归口 (0基本建设(发改), 1更新改造(经信), 2单纯购置(发改), 3信息化(发改), 4其他投资)"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="projectApprovalType"
|
label="项目审批类型"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="investmentCatalogue"
|
label="投资目录(?)"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="importanceType"
|
label="重点分类 (0省重点项目, 1遂宁市重点项目, 2.射洪市重点项目, 3.一般项目)"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="year"
|
label="年度投资计划"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="yearInvestAmount"
|
label="年度投资金额"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="createProjectTime"
|
label="立项时间"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="planStartTime"
|
label="计划开工时间"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="planCompleteTime"
|
label="计划竣工时间"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="winUnit"
|
label="中标单位"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="winAmount"
|
label="中标金额"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="winTime"
|
label="中标时间"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="projectAddress"
|
label="详细地址"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="longitude"
|
label="经度"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="latitude"
|
label="纬度"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="projectOwnerUnit"
|
label="项目业主单位"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="projectContactPerson"
|
label="项目联系人"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="contact"
|
label="联系方式"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="gmtCreateTime"
|
label="创建时间"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="gmtUpdateTime"
|
label="更新时间"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="updateBy"
|
label="更新人"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="createBy"
|
label="创建人"
|
>
|
</el-table-column>
|
<el-table-column
|
label="操作">
|
<template slot-scope="scope">
|
<el-button v-if="editShow" type="primary" @click="editProjectInfo(scope.row.id)" size="mini">修改</el-button>
|
<el-button v-if="delShow" type="primary" @click="deleteProjectInfo(scope.row.id)" size="mini">删除</el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
<PageC
|
:top-level="topLevel"
|
:handleSizeChange="handleSizeChange"
|
:handleCurrentChange="handleCurrentChange"
|
:pageSize="pageSize"
|
:total="total"
|
:currentPage="currentPage"></PageC>
|
</div>
|
</template>
|
|
<script>
|
import PageC from "@/components/PageC";
|
import {deleteProjectInfoById, getProjectInfos} from "@/api/projectInfo";
|
import {Message} from "element-ui";
|
export default {
|
name: "ProjectInfoTable",
|
components: {PageC},
|
computed: {
|
tableData: {
|
get() {
|
return this.$store.state.projectInfo.tableData;
|
},
|
set(value) {
|
this.$store.state.projectInfo.tableData = value;
|
}
|
},
|
// 选中行id
|
multipleSelection: {
|
get() {
|
return this.$store.state.projectInfo.multipleSelection;
|
},
|
set(value) {
|
this.$store.state.projectInfo.multipleSelection = value;
|
}
|
},
|
total: {
|
get() {
|
return this.$store.state.projectInfo.total;
|
},
|
set(value) {
|
this.$store.state.projectInfo.total = value;
|
}
|
},
|
pageSize: {
|
get() {
|
return this.$store.state.projectInfo.pageSize;
|
},
|
set(value) {
|
this.$store.state.projectInfo.pageSize = value;
|
}
|
},
|
currentPage: {
|
get() {
|
return this.$store.state.projectInfo.currentPage;
|
},
|
set(value) {
|
this.$store.state.projectInfo.currentPage = value;
|
}
|
}
|
},
|
props: {
|
topLevel: {
|
required: false,
|
default: -1,
|
type: Number
|
},
|
editShow: {
|
required: true,
|
default: false,
|
type: Boolean
|
},
|
delShow: {
|
required: true,
|
default: false,
|
type: Boolean
|
},
|
},
|
methods: {
|
handleSelectionChange(val) {
|
this.multipleSelection = val.map((item) => {return item.id;})
|
},
|
getProjectInfos(params) {
|
if (! params) {
|
params = {
|
"current": this.currentPage,
|
"size": this.pageSize
|
};
|
} else {
|
params.current = this.currentPage;
|
params.size = this.pageSize;
|
}
|
// 刷新
|
getProjectInfos(params).then((res) => {
|
this.tableData = res.data.data;
|
this.total = res.data.total;
|
})
|
},
|
editProjectInfo(id) {
|
this.$store.dispatch("projectInfo/editProjectInfo", id);
|
},
|
deleteProjectInfo(id) {
|
this.$confirm('此操作将永久删除该记录, 是否继续?', '提示', {
|
confirmButtonText: '确定',
|
cancelButtonText: '取消',
|
type: 'warning'
|
}).then(() => {
|
deleteProjectInfoById(id).then((res) => {
|
Message.success(res.data.msg);
|
this.getProjectInfos();
|
})
|
}).catch(() => {
|
this.$message({
|
type: 'info',
|
message: '已取消删除'
|
});
|
});
|
},
|
handleSizeChange(val) {
|
this.pageSize = val;
|
this.getProjectInfos();
|
},
|
handleCurrentChange(val) {
|
this.currentPage = val;
|
this.getProjectInfos();
|
}
|
},
|
created() {
|
this.getProjectInfos();
|
}
|
}
|
</script>
|
|
<style scoped>
|
|
</style>
|