<template>
|
<div>
|
<el-dialog width="35%" :title="dialogTitle" @close="closeDialog" :visible.sync="dialogFormVisible" :destroy-on-close="true" :append-to-body="true" :close-on-click-modal="false">
|
<el-form :model="projectInfoForm" :rules="projectInfoRules" ref="projectInfoForm">
|
<el-form-item label="项目名称" :label-width="formLabelWidth" prop="projectName">
|
<el-input v-model="projectInfoForm.projectName" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="项目代码" :label-width="formLabelWidth" prop="projectCode">
|
<el-input v-model="projectInfoForm.projectCode" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="建设内容" :label-width="formLabelWidth" prop="content">
|
<el-input v-model="projectInfoForm.content" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="项目类型(0房屋建筑,1城市基础设施,2交通运输,3水利,4能源,5非煤矿山,6其他)" :label-width="formLabelWidth" prop="projectType">
|
<el-input v-model="projectInfoForm.projectType" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="项目状态 (0未开工,1已开工,2已竣工,3暂停)" :label-width="formLabelWidth" prop="projectStatus">
|
<el-input v-model="projectInfoForm.projectStatus" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="资金类型(0中预资金,1国债资金,2超长期国债,3地方政府专项债)" :label-width="formLabelWidth" prop="fundType">
|
<el-input v-model="projectInfoForm.fundType" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="投资类别(0企业投资,1政府投资,2外商投资,3境外投资)" :label-width="formLabelWidth" prop="investType">
|
<el-input v-model="projectInfoForm.investType" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="项目阶段(0储备规划阶段, 1项目前期阶段, 2实施阶段, 3竣工投用阶段)" :label-width="formLabelWidth" prop="projectPhase">
|
<el-input v-model="projectInfoForm.projectPhase" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="标签" :label-width="formLabelWidth" prop="tag">
|
<el-input v-model="projectInfoForm.tag" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="主管部门(对应审批部门id)" :label-width="formLabelWidth" prop="competentDepartment">
|
<el-input v-model="projectInfoForm.competentDepartment" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="行政区域" :label-width="formLabelWidth" prop="areaCode">
|
<el-input v-model="projectInfoForm.areaCode" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="管理归口 (0基本建设(发改), 1更新改造(经信), 2单纯购置(发改), 3信息化(发改), 4其他投资)" :label-width="formLabelWidth" prop="managementCentralization">
|
<el-input v-model="projectInfoForm.managementCentralization" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="项目审批类型" :label-width="formLabelWidth" prop="projectApprovalType">
|
<el-input v-model="projectInfoForm.projectApprovalType" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="投资目录(?)" :label-width="formLabelWidth" prop="investmentCatalogue">
|
<el-input v-model="projectInfoForm.investmentCatalogue" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="重点分类 (0省重点项目, 1遂宁市重点项目, 2.射洪市重点项目, 3.一般项目)" :label-width="formLabelWidth" prop="importanceType">
|
<el-input v-model="projectInfoForm.importanceType" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="年度投资计划" :label-width="formLabelWidth" prop="year">
|
<el-input v-model="projectInfoForm.year" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="年度投资金额" :label-width="formLabelWidth" prop="yearInvestAmount">
|
<el-input v-model="projectInfoForm.yearInvestAmount" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="立项时间" :label-width="formLabelWidth" prop="createProjectTime">
|
<el-input v-model="projectInfoForm.createProjectTime" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="计划开工时间" :label-width="formLabelWidth" prop="planStartTime">
|
<el-input v-model="projectInfoForm.planStartTime" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="计划竣工时间" :label-width="formLabelWidth" prop="planCompleteTime">
|
<el-input v-model="projectInfoForm.planCompleteTime" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="中标单位" :label-width="formLabelWidth" prop="winUnit">
|
<el-input v-model="projectInfoForm.winUnit" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="中标金额" :label-width="formLabelWidth" prop="winAmount">
|
<el-input v-model="projectInfoForm.winAmount" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="中标时间" :label-width="formLabelWidth" prop="winTime">
|
<el-input v-model="projectInfoForm.winTime" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="详细地址" :label-width="formLabelWidth" prop="projectAddress">
|
<el-input v-model="projectInfoForm.projectAddress" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="经度" :label-width="formLabelWidth" prop="longitude">
|
<el-input v-model="projectInfoForm.longitude" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="纬度" :label-width="formLabelWidth" prop="latitude">
|
<el-input v-model="projectInfoForm.latitude" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="项目业主单位" :label-width="formLabelWidth" prop="projectOwnerUnit">
|
<el-input v-model="projectInfoForm.projectOwnerUnit" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="项目联系人" :label-width="formLabelWidth" prop="projectContactPerson">
|
<el-input v-model="projectInfoForm.projectContactPerson" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="联系方式" :label-width="formLabelWidth" prop="contact">
|
<el-input v-model="projectInfoForm.contact" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="创建时间" :label-width="formLabelWidth" prop="gmtCreateTime">
|
<el-input v-model="projectInfoForm.gmtCreateTime" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="更新时间" :label-width="formLabelWidth" prop="gmtUpdateTime">
|
<el-input v-model="projectInfoForm.gmtUpdateTime" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="更新人" :label-width="formLabelWidth" prop="updateBy">
|
<el-input v-model="projectInfoForm.updateBy" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="创建人" :label-width="formLabelWidth" prop="createBy">
|
<el-input v-model="projectInfoForm.createBy" autocomplete="off"></el-input>
|
</el-form-item>
|
</el-form>
|
<div slot="footer" class="dialog-footer">
|
<el-button @click="closeDialog">取 消</el-button>
|
<el-button type="primary" @click="addOrEditProjectInfo">确 定</el-button>
|
</div>
|
</el-dialog>
|
</div>
|
</template>
|
|
<script>
|
import {Message} from "element-ui";
|
import {getDictDataByType} from "@/api/dict-data";
|
import {addProjectInfo, editProjectInfo, getProjectInfos} from "@/api/projectInfo";
|
export default {
|
name: "ProjectInfoDialog",
|
data() {
|
return {
|
formLabelWidth: '120px',
|
projectInfoRules: {
|
projectName: [
|
{ required: true, message: '请输入项目名称', trigger: 'blur' }
|
],
|
projectCode: [
|
{ required: true, message: '请输入项目代码', trigger: 'blur' }
|
],
|
content: [
|
{ required: true, message: '请输入建设内容', trigger: 'blur' }
|
],
|
projectType: [
|
{ required: true, message: '请输入项目类型(0房屋建筑,1城市基础设施,2交通运输,3水利,4能源,5非煤矿山,6其他)', trigger: 'blur' }
|
],
|
projectStatus: [
|
{ required: true, message: '请输入项目状态 (0未开工,1已开工,2已竣工,3暂停)', trigger: 'blur' }
|
],
|
fundType: [
|
{ required: true, message: '请输入资金类型(0中预资金,1国债资金,2超长期国债,3地方政府专项债)', trigger: 'blur' }
|
],
|
investType: [
|
{ required: true, message: '请输入投资类别(0企业投资,1政府投资,2外商投资,3境外投资)', trigger: 'blur' }
|
],
|
projectPhase: [
|
{ required: true, message: '请输入项目阶段(0储备规划阶段, 1项目前期阶段, 2实施阶段, 3竣工投用阶段)', trigger: 'blur' }
|
],
|
tag: [
|
{ required: true, message: '请输入标签', trigger: 'blur' }
|
],
|
competentDepartment: [
|
{ required: true, message: '请输入主管部门(对应审批部门id)', trigger: 'blur' }
|
],
|
areaCode: [
|
{ required: true, message: '请输入行政区域', trigger: 'blur' }
|
],
|
managementCentralization: [
|
{ required: true, message: '请输入管理归口 (0基本建设(发改), 1更新改造(经信), 2单纯购置(发改), 3信息化(发改), 4其他投资)', trigger: 'blur' }
|
],
|
projectApprovalType: [
|
{ required: true, message: '请输入项目审批类型', trigger: 'blur' }
|
],
|
investmentCatalogue: [
|
{ required: true, message: '请输入投资目录(?)', trigger: 'blur' }
|
],
|
importanceType: [
|
{ required: true, message: '请输入重点分类 (0省重点项目, 1遂宁市重点项目, 2.射洪市重点项目, 3.一般项目)', trigger: 'blur' }
|
],
|
year: [
|
{ required: true, message: '请输入年度投资计划', trigger: 'blur' }
|
],
|
yearInvestAmount: [
|
{ required: true, message: '请输入年度投资金额', trigger: 'blur' }
|
],
|
createProjectTime: [
|
{ required: true, message: '请输入立项时间', trigger: 'blur' }
|
],
|
planStartTime: [
|
{ required: true, message: '请输入计划开工时间', trigger: 'blur' }
|
],
|
planCompleteTime: [
|
{ required: true, message: '请输入计划竣工时间', trigger: 'blur' }
|
],
|
winUnit: [
|
{ required: true, message: '请输入中标单位', trigger: 'blur' }
|
],
|
winAmount: [
|
{ required: true, message: '请输入中标金额', trigger: 'blur' }
|
],
|
winTime: [
|
{ required: true, message: '请输入中标时间', trigger: 'blur' }
|
],
|
projectAddress: [
|
{ required: true, message: '请输入详细地址', trigger: 'blur' }
|
],
|
longitude: [
|
{ required: true, message: '请输入经度', trigger: 'blur' }
|
],
|
latitude: [
|
{ required: true, message: '请输入纬度', trigger: 'blur' }
|
],
|
projectOwnerUnit: [
|
{ required: true, message: '请输入项目业主单位', trigger: 'blur' }
|
],
|
projectContactPerson: [
|
{ required: true, message: '请输入项目联系人', trigger: 'blur' }
|
],
|
contact: [
|
{ required: true, message: '请输入联系方式', trigger: 'blur' }
|
],
|
gmtCreateTime: [
|
{ required: true, message: '请输入创建时间', trigger: 'blur' }
|
],
|
gmtUpdateTime: [
|
{ required: true, message: '请输入更新时间', trigger: 'blur' }
|
],
|
updateBy: [
|
{ required: true, message: '请输入更新人', trigger: 'blur' }
|
],
|
createBy: [
|
{ required: true, message: '请输入创建人', trigger: 'blur' }
|
],
|
}
|
}
|
},
|
computed: {
|
dialogFormVisible: {
|
get() {
|
return this.$store.state.projectInfo.dialogFormVisible;
|
},
|
set(value) {
|
this.$store.state.projectInfo.dialogFormVisible = value;
|
}
|
},
|
dialogTitle: {
|
get() {
|
return this.$store.state.projectInfo.dialogTitle;
|
},
|
set(value) {
|
this.$store.state.projectInfo.dialogTitle = value;
|
}
|
|
},
|
projectInfoForm: {
|
get() {
|
return this.$store.state.projectInfo.projectInfoForm;
|
},
|
set(value) {
|
this.$store.state.projectInfo.projectInfoForm = value;
|
}
|
}
|
},
|
mounted() {
|
},
|
methods: {
|
getDictData(value) {
|
let params = {
|
keyword: value,
|
dictTypeId: value,
|
current: 1,
|
size: 200
|
}
|
getDictDataByType(params).then(res => {
|
this.dictTypeList = res.data.data
|
})
|
},
|
refreshData() {
|
var params = {
|
"current": this.$store.state.projectInfo.currentPage,
|
"size": this.$store.state.projectInfo.pageSize
|
};
|
// 刷新
|
getProjectInfos(params).then((res) => {
|
this.$store.state.projectInfo.tableData = res.data.data;
|
this.$store.state.projectInfo.total = res.data.total;
|
this.clearForm();
|
})
|
},
|
clearForm() {
|
Object.keys(this.projectInfoForm).forEach((key) => {
|
this.projectInfoForm[key] = null;
|
})
|
},
|
closeDialog() {
|
this.$store.state.projectInfo.dialogFormVisible = false;
|
this.clearForm();
|
},
|
addOrEditProjectInfo() {
|
this.$refs["projectInfoForm"].validate((valid) => {
|
if (valid) {
|
if (this.dialogTitle === "添加项目管理基础信息表") {
|
addProjectInfo(this.projectInfoForm).then((res) => {
|
Message.success(res.data.msg);
|
this.dialogFormVisible = false;
|
this.refreshData();
|
})
|
} else {
|
editProjectInfo(this.projectInfoForm).then((res) => {
|
Message.success(res.data.msg);
|
this.dialogFormVisible = false;
|
this.refreshData();
|
})
|
}
|
} else {
|
console.log('error submit!!');
|
return false;
|
}
|
});
|
}
|
}
|
}
|
</script>
|
|
<style scoped>
|
|
</style>
|