清单新增字段

yfy
严飞永 1 day ago
parent 38b903493b
commit de8962d04c

@ -5,6 +5,6 @@ VUE_APP_TITLE = 苏州工业园区工业上楼管理系统
ENV = 'production'
# 苏州工业园区工业上楼管理系统/生产环境
VUE_APP_BASE_API = ''
# VUE_APP_BASE_API = 'http://39.101.188.84:7071'
# VUE_APP_BASE_API = ''
VUE_APP_BASE_API = 'http://39.101.188.84:7071'
# VUE_APP_BASE_API = '/api'

@ -30,7 +30,7 @@
<div class="descriptionsdiv">
<el-descriptions class="margin-top" :column="3" border>
<el-descriptions-item v-for="(item, index) in descriptions" :key="index"
:span="item.label === '项目法人单位简介' || item.label === '统一社会信用代码' ? 3 : 1">
:span="item.label === '项目法人单位简介' || item.label === '计划投资额' ? 3 : 1">
<template slot="label">
{{ item.label }}
</template>
@ -77,7 +77,7 @@
<el-col :span="12">
<el-form-item label="项目法人单位性质" prop="nature">
<el-select v-model="form.nature" placeholder="请选择" value-key="value"
style="width: 22.5rem;">
style="width: 100%;">
<el-option v-for="dict in dict.type.xmfrdwxz" :key="dict.value" :label="dict.label"
:value="parseInt(dict.value)" />
</el-select>
@ -85,7 +85,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="建设模式" prop="jsms">
<el-select v-model="form.jsms" placeholder="请选择" value-key="value" style="width: 22.5rem;">
<el-select v-model="form.jsms" placeholder="请选择" value-key="value" style="width: 100%;">
<el-option v-for="dict in dict.type.jsms" :key="dict.value" :label="dict.label"
:value="parseInt(dict.value)" />
</el-select>
@ -131,7 +131,7 @@
<el-row>
<el-col :span="12">
<el-form-item label="所属功能区" prop="ssgnq">
<el-select v-model="form.ssgnq" placeholder="请选择" value-key="value" style="width: 22.5rem;">
<el-select v-model="form.ssgnq" placeholder="请选择" value-key="value" style="width: 100%;">
<el-option v-for="dict in dict.type.ssgnq" :key="dict.value" :label="dict.label"
:value="parseInt(dict.value)" />
</el-select>
@ -162,7 +162,7 @@
<el-row>
<el-col :span="12">
<el-form-item label="现状分类" prop="xzfl">
<el-select v-model="form.xzfl" placeholder="请选择" value-key="value" style="width: 22.5rem;">
<el-select v-model="form.xzfl" placeholder="请选择" value-key="value" style="width: 100%;">
<el-option v-for="dict in dict.type.xzfl" :key="dict.value" :label="dict.label"
:value="parseInt(dict.value)" />
</el-select>
@ -180,6 +180,11 @@
<el-input v-model="form.tyshxydm" maxlength="50" placeholder="请输入统一社会信用代码"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="计划投资额" prop="jhtze">
<el-input v-model="form.jhtze" maxlength="50" placeholder="请输入计划投资额"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: none;">
<el-col :span="12">
@ -412,6 +417,7 @@ export default {
{ label: '竣工验收时间', value: data.acceptanceTime },
{ label: '建设进度', value: data.jsjd },
{ label: '统一社会信用代码', value: data.tyshxydm },
{ label: '计划投资额', value: data.jhtze },
{ label: '项目法人单位简介', value: data.unitIntroduction },
{ label: '项目简介', value: data.introduction }
];

@ -104,6 +104,18 @@
<template slot="label">四层及以上楼面荷载(/平方米)</template>
{{ selectedBuilding.fourYslmhz }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 地基基础等级</template>
{{ selectedBuilding.djjcdj }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 吊车情况</template>
{{ selectedBuilding.dcqk }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 货梯情况</template>
{{ selectedBuilding.htqk }}
</el-descriptions-item>
</el-descriptions>
</div>
</div>
@ -118,7 +130,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="是否为重要楼栋:" prop="sfwzyld">
<el-select v-model="buildingForm.sfwzyld" placeholder="请选择" style="width: 22.5rem;">
<el-select v-model="buildingForm.sfwzyld" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.isno" :key="dict.value" :label="dict.label"
:value="parseInt(dict.value)"></el-option>
</el-select>
@ -181,7 +193,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="是否有汽车盘道:" prop="sfyqcpd">
<el-select v-model="buildingForm.sfyqcpd" placeholder="请选择" style="width: 22.5rem;">
<el-select v-model="buildingForm.sfyqcpd" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.isno" :key="dict.value" :label="dict.label"
:value="parseInt(dict.value)"></el-option>
</el-select>
@ -191,7 +203,7 @@
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="是否有吊装口:" prop="sfydzk">
<el-select v-model="buildingForm.sfydzk" placeholder="请选择" style="width: 22.5rem;">
<el-select v-model="buildingForm.sfydzk" placeholder="请选择" style="width: 100%;">
<el-option v-for="dict in dict.type.isno" :key="dict.value" :label="dict.label"
:value="parseInt(dict.value)"></el-option>
</el-select>
@ -203,6 +215,25 @@
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="地基基础等级:" prop="djjcdj">
<el-input v-model="buildingForm.djjcdj" placeholder="请输入地基基础等级"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="吊车情况:" prop="dcqk">
<el-input v-model="buildingForm.dcqk" placeholder="请输入吊车情况"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="货梯情况:" prop="htqk">
<el-input v-model="buildingForm.htqk" placeholder="请输入货梯情况"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button>
@ -280,7 +311,10 @@ export default {
updateId: 0,
updateTime: '',
xmId: 0,
zj: 0
zj: 0,
djjcdj:'',
dcqk:'',
htqk:''
},
//
upload: {
@ -413,7 +447,10 @@ export default {
updateId: '',
updateTime: '',
xmId: this.xmId,
zj: ''
zj: '',
djjcdj:'',
dcqk:'',
htqk:''
};
},
fetchBuildings() {

@ -65,32 +65,81 @@
<!-- 表格显示区 -->
<div class="contenttwo">
<div class="descriptionsdiv">
<el-table :data="tableData" style="width: 100%">
<el-table-column label="序号" width="200">
<el-table :data="tableData">
<el-table-column label="序号" width="50">
<template slot-scope="scope">
{{ (pagination.currentPage - 1) * pagination.pageSize + scope.$index + 1 }}
</template>
</el-table-column>
<el-table-column prop="name" label="企业名称">
<template slot-scope="scope">
<el-input v-if="scope.row.isEditing" v-model="scope.row.name" style="width: 100%;"></el-input>
<el-input v-if="scope.row.isEditing" v-model="scope.row.name"></el-input>
<span v-else style="color: #2B62F1;">{{ scope.row.name }}</span>
</template>
</el-table-column>
<el-table-column prop="code" label="统一社会信用代码">
<el-table-column prop="code" label="统一社会信用代码" width="200">
</el-table-column>
<el-table-column prop="sshy" label="所属行业">
<template slot-scope="scope">
<el-input v-if="scope.row.isEditing" v-model="scope.row.sshy" style="width: 100%;"></el-input>
<el-input v-if="scope.row.isEditing" v-model="scope.row.sshy"></el-input>
<span v-else>{{ scope.row.sshy }}</span>
</template>
</el-table-column>
<el-table-column prop="zjjg" label='租金价格'>
<template slot-scope="scope">
<el-input v-if="scope.row.isEditing" v-model.number="scope.row.zjjg" style="width: 100%;"></el-input>
<el-input v-if="scope.row.isEditing" v-model.number="scope.row.zjjg"></el-input>
<span v-else>{{ scope.row.zjjg }}</span>
</template>
</el-table-column>
<el-table-column prop="zcdz" label='注册地址'>
<template slot-scope="scope">
<el-input v-if="scope.row.isEditing" v-model.number="scope.row.zcdz"></el-input>
<span v-else>{{ scope.row.zcdz }}</span>
</template>
</el-table-column>
<el-table-column prop="clrq" label='成立日期'>
<template slot-scope="scope">
<el-date-picker v-if="scope.row.isEditing" v-model="scope.row.clrq" type="datetime"
value-format="yyyy-MM-dd HH:mm:ss" style="width: 100%;"></el-date-picker>
<span v-else>{{ new Date(scope.row.clrq).toLocaleDateString('en-CA') }}</span>
</template>
</el-table-column>
<el-table-column prop="zczb" label='注册资本'>
<template slot-scope="scope">
<el-input v-if="scope.row.isEditing" v-model.number="scope.row.zczb"></el-input>
<span v-else>{{ scope.row.zczb }}</span>
</template>
</el-table-column>
<el-table-column prop="fddbr" label='法定代表人'>
<template slot-scope="scope">
<el-input v-if="scope.row.isEditing" v-model.number="scope.row.fddbr"></el-input>
<span v-else>{{ scope.row.fddbr }}</span>
</template>
</el-table-column>
<el-table-column prop="qylx" label='企业类型'>
<template slot-scope="scope">
<el-input v-if="scope.row.isEditing" v-model.number="scope.row.qylx"></el-input>
<span v-else>{{ scope.row.qylx }}</span>
</template>
</el-table-column>
<el-table-column prop="jyfw" label='经营范围'>
<template slot-scope="scope">
<el-input v-if="scope.row.isEditing" v-model.number="scope.row.jyfw"></el-input>
<span v-else>{{ scope.row.jyfw }}</span>
</template>
</el-table-column>
<el-table-column prop="zzjgdm" label='组织机构代码'>
<template slot-scope="scope">
<el-input v-if="scope.row.isEditing" v-model.number="scope.row.zzjgdm"></el-input>
<span v-else>{{ scope.row.zzjgdm }}</span>
</template>
</el-table-column>
<el-table-column prop="swdjhm" label='税务登记号码'>
<template slot-scope="scope">
<el-input v-if="scope.row.isEditing" v-model.number="scope.row.swdjhm"></el-input>
<span v-else>{{ scope.row.swdjhm }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center">
<template slot-scope="scope">
<el-button v-if="scope.row.isEditing" size="medium" type="text" icon="el-icon-check"
@ -171,7 +220,7 @@ export default {
form: {
...this.qyrzInfo
},
tableData: [],
tableData: [],
pagination: {
currentPage: 1,
pageSize: 10,
@ -192,7 +241,7 @@ export default {
};
},
created() {
this.fetchTableData();
this.fetchTableData();
},
methods: {
async fetchTableData() {
@ -204,8 +253,8 @@ export default {
// form.rzqys
this.form.rzqys = this.tableData.length;
this.$emit('update-data', { ...this.form });
} catch (error) {}
this.$emit('update-data', { ...this.form });
} catch (error) { }
}
},
watch: {
@ -359,19 +408,19 @@ export default {
}
.containertop {
height: auto;
display: flex;
justify-content: space-between;
padding: .5rem;
border-bottom: 1px solid #E5E5E5;
height: auto;
display: flex;
justify-content: space-between;
padding: .5rem;
border-bottom: 1px solid #E5E5E5;
}
.topleft {
height: 2rem;
width: 8rem;
display: flex;
gap: 0.4rem;
align-items: center;
height: 2rem;
width: 8rem;
display: flex;
gap: 0.4rem;
align-items: center;
}
.topleft img {

@ -76,7 +76,7 @@
<script>
//
import { getMonthInformationPage } from "@/api/ManageApi/index";
// import { getMonthInformationPage } from "@/api/ManageApi/index";
//Apitwo
import { updateProjectProgress, deletemonth } from "@/api/manageApitwo/index";
import { checkPermi, checkRole } from "@/utils/permission";
@ -145,7 +145,7 @@ export default {
row.isEditing = false;
row.status = "已更新";
this.getMonthInformationPage();
// this.getMonthInformationPage();
} else {
this.$message.error(response.msg || "更新失败");
Object.assign(row, row.originalData);
@ -187,7 +187,7 @@ export default {
//
if (this.tableData.length === 0 && this.current > 1) {
this.current -= 1;
this.getMonthInformationPage();
// this.getMonthInformationPage();
}
} else {
this.$message.error(response.msg || "删除失败");
@ -204,26 +204,26 @@ export default {
});
});
},
async getMonthInformationPage() {
try {
const response = await getMonthInformationPage({ xmId: this.xmId });
// async getMonthInformationPage() {
// try {
// const response = await getMonthInformationPage({ xmId: this.xmId });
if (Array.isArray(response.data.records) && response.data.records.length > 0) {
this.tableData = response.data.records;
this.total = response.data.total || 0;
} else {
//
this.tableData = [];
this.total = 0;
}
} catch (error) {
console.error("获取月度进展信息失败:", error);
this.$message.error("获取月度进展信息失败");
}
},
// if (Array.isArray(response.data.records) && response.data.records.length > 0) {
// this.tableData = response.data.records;
// this.total = response.data.total || 0;
// } else {
// //
// this.tableData = [];
// this.total = 0;
// }
// } catch (error) {
// console.error(":", error);
// this.$message.error("");
// }
// },
},
created() {
this.getMonthInformationPage();
// this.getMonthInformationPage();
},
};
</script>

@ -42,6 +42,8 @@
<div class="number">{{ projectData.allBuilding2 }}</div>
</div>
</div>
</div>
<div class="mainarea" style="margin-top: 0rem;">
<div class="itemone">
<img src="@/assets/images/icon-yjsl@2x.png" alt="">
<div class="itemleft">
@ -49,6 +51,27 @@
<div class="number">{{ projectData.allBuilding3 }}</div>
</div>
</div>
<div class="itemone">
<img src="@/assets/images/icon-yjsl@2x.png" alt="">
<div class="itemleft">
<div class="lefttitle">总投资额</div>
<div class="number">{{ projectData.allInvest1 }}</div>
</div>
</div>
<div class="itemone">
<img src="@/assets/images/icon-yjsl@2x.png" alt="">
<div class="itemleft">
<div class="lefttitle">计划投资额</div>
<div class="number">{{ projectData.allInvest2 }}</div>
</div>
</div>
<div class="itemone">
<img src="@/assets/images/icon-yjsl@2x.png" alt="">
<div class="itemleft">
<div class="lefttitle">占地面积</div>
<div class="number">{{ projectData.allInvest3 }}</div>
</div>
</div>
</div>
</div>
<div>
@ -82,6 +105,8 @@
<div class="number">{{ currentYearData.currentBuilding2 }}</div>
</div>
</div>
</div>
<div class="mainarea" style="margin-top: 0rem;">
<div class="itemone">
<img src="@/assets/images/icon-yjsl@2x.png" alt="">
<div class="itemleft">
@ -89,6 +114,27 @@
<div class="number">{{ currentYearData.currentBuilding3 }}</div>
</div>
</div>
<div class="itemone">
<img src="@/assets/images/icon-yjsl@2x.png" alt="">
<div class="itemleft">
<div class="lefttitle">总投资额</div>
<div class="number">{{ currentYearData.currentAllInvest1 }}</div>
</div>
</div>
<div class="itemone">
<img src="@/assets/images/icon-yjsl@2x.png" alt="">
<div class="itemleft">
<div class="lefttitle">计划投资额</div>
<div class="number">{{ currentYearData.currentAllInvest2 }}</div>
</div>
</div>
<div class="itemone">
<img src="@/assets/images/icon-yjsl@2x.png" alt="">
<div class="itemleft">
<div class="lefttitle">占地面积</div>
<div class="number">{{ currentYearData.currentAllInvest3 }}</div>
</div>
</div>
</div>
</div>
</div>
@ -106,14 +152,20 @@ export default {
allGrossArea: 0, //
allBuilding1: 0, //
allBuilding2: 0, //
allBuilding3: 0 //
allBuilding3: 0, //
allInvest1:0, //
allInvest2:0, //
allInvest3:0, //
},
currentYearData: {
currentYearProject: 0, //
currentYearGrossArea: 0, //
currentYearBuilding1: 0, //
currentBuilding2: 0, //
currentBuilding3: 0
currentBuilding3: 0,
currentAllInvest1:0, //
currentAllInvest2:0,
currentAllInvest3:0
},
loading: false,
error: null
@ -154,14 +206,20 @@ export default {
allGrossArea: response.data.allGrossArea || 0,
allBuilding1: response.data.allBuilding1 || 0,
allBuilding2: response.data.allBuilding2 || 0,
allBuilding3: response.data.allBuilding3 || 0
allBuilding3: response.data.allBuilding3 || 0,
allInvest1: response.data.allInvest1 || 0,
allInvest2: response.data.allInvest2 || 0,
allInvest3: response.data.allInvest3 || 0,
};
this.currentYearData = {
currentYearProject: response.data.currentYearProject || 0,
currentYearGrossArea: response.data.currentYearGrossArea || 0,
currentYearBuilding1: response.data.currentYearBuilding1 || 0,
currentBuilding2: response.data.currentBuilding2 || 0 ,
currentBuilding3: response.data.currentBuilding3 || 0
currentBuilding3: response.data.currentBuilding3 || 0,
currentAllInvest1: response.data.currentAllInvest1 || 0,
currentAllInvest2: response.data.currentAllInvest2 || 0,
currentAllInvest3: response.data.currentAllInvest3 || 0
};
} catch (error) {
console.error("获取数据失败:", error);
@ -239,7 +297,7 @@ th {
}
.mainarea {
padding: .5rem;
padding: .5rem 0rem;
height: auto;
width: 100%;
display: flex;
@ -253,7 +311,6 @@ th {
height: 3rem;
/* background-color: lightblue; */
display: flex;
gap: .3rem;
}
.itemleft {

@ -505,7 +505,7 @@ export default {
.map-container {
width: 100%;
height: 100%;
height: 25rem;
position: relative;
}

@ -141,6 +141,7 @@
:visibility-height="200"
:bottom="50"
:right="10"
title="返回顶部"
style="z-index: 1000; border: 1px solid #2b62f1"
>
</el-backtop>
@ -289,7 +290,6 @@ export default {
},
projectRemarks: [],
loading: false,
scrollTimeout: null,
};
},
created() {
@ -474,34 +474,28 @@ export default {
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
},
handleScroll() {
//
const container = document.querySelector(".containerbody");
if (!container) return;
if (this.scrollTimeout) {
clearTimeout(this.scrollTimeout);
}
this.scrollTimeout = setTimeout(() => {
const scrollPosition = container.scrollTop;
if (scrollPosition > this.lastScrollTop) {
this.scrollDirection = 'down';
} else {
this.scrollDirection = 'up';
}
this.lastScrollTop = scrollPosition;
const offset = this.scrollDirection === 'down' ? 500 : 200;
const adjustedScrollPosition = scrollPosition + offset;
for (let i = this.sections.length - 1; i >= 0; i--) {
const element = document.getElementById(this.sections[i].id);
if (element) {
const elementPosition = element.offsetTop - container.offsetTop;
if (elementPosition <= adjustedScrollPosition) {
if (this.activeSection !== this.sections[i].id) {
this.activeSection = this.sections[i].id;
}
break;
//
const scrollPosition = container.scrollTop; //
//
for (let i = this.sections.length - 1; i >= 0; i--) {
const element = document.getElementById(this.sections[i].id);
if (element) {
//
const elementPosition = element.offsetTop - container.offsetTop;
if (elementPosition <= scrollPosition) {
if (this.activeSection !== this.sections[i].id) {
this.activeSection = this.sections[i].id;
}
break;
}
}
}, 50);
}
},
handleMenuClick() {
if (this.$refs.menuRef) {

@ -146,6 +146,7 @@
:visibility-height="200"
:bottom="50"
:right="10"
title="返回顶部"
style="z-index: 1000"
>
</el-backtop>

@ -158,7 +158,7 @@ export default {
.dashboard-rowtwo {
display: flex;
flex: 3;
height: auto;
gap: 0.5rem;
}

@ -46,7 +46,7 @@ module.exports = {
proxy: {
// detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: {
target: `http://192.168.0.110:7071/`,
target: `http://192.168.0.111:7071/`,
// target: `http://39.101.188.84:7071/`,
changeOrigin: true,
pathRewrite: {

Loading…
Cancel
Save