正式环境页面

xuhongjie
严飞永 3 months ago
parent de8962d04c
commit 98ec61a753

@ -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'

@ -37,6 +37,14 @@ export function deletespan(idList) {
});
}
//月度信息新增
export function addmonth(data) {
return request({
url: "/gysl/projectProgress/add",
method: "post",
data,
})
}
// 月度进展信息修改
export function updateProjectProgress(data) {

@ -8,7 +8,7 @@
</div>
<div class="right-menu">
<!-- <bearicon /> -->
<div class="avatar-container right-menu-item hover-effect" >
<div class="avatar-container right-menu-item hover-effect" style="display: flex;">
<div class="avatar-wrapper">
<div v-if="checkRole(['common'])">
<span>{{ name }}</span>
@ -16,10 +16,31 @@
<div v-if="showCompanySection">
<span>{{ name }}</span>
</div>
<img src="@/assets/images/退出登录.png" alt="" @click="logout">
<img src="@/assets/images/退出登录.png" alt="" @click="logout">
</div>
<router-link to="/user/profile" style="margin-left: 10px;margin-top: 1px;" v-if="checkRole(['admin'])">
<i class="el-icon-user-solid"></i>
</router-link>
</div>
<!-- <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click">
<div class="avatar-wrapper">
<img :src="avatar" class="user-avatar">
<i class="el-icon-caret-bottom" />
</div>
<el-dropdown-menu slot="dropdown">
<router-link to="/user/profile">
<el-dropdown-item>个人中心</el-dropdown-item>
</router-link>
<el-dropdown-item @click.native="setting = true">
<span>布局设置</span>
</el-dropdown-item>
<el-dropdown-item divided @click.native="logout">
<span>退出登录</span>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown> -->
</div>
</div>
</template>
@ -78,7 +99,7 @@ export default {
this.$store.dispatch('LogOut').then(() => {
this.$router.replace('/login')
})
}).catch(() => {})
}).catch(() => { })
},
handleCommand(command) {
this.$message('点击了: ' + command)
@ -110,7 +131,7 @@ export default {
.logoimg span {
width: auto;
height: 2.06rem;
font-family: AlibabaPuHuiTi, AlibabaPuHuiTi;
font-family: AlibabaPuHuiTi;
font-weight: 500;
font-size: 1.5rem;
color: #292C33;
@ -118,7 +139,6 @@ export default {
text-align: left;
font-style: normal;
text-transform: none;
}
.navbarleft {
@ -189,17 +209,20 @@ export default {
position: relative;
display: flex;
align-items: center;
.user-avatar {
width: 40px;
height: 40px;
border-radius: 10px;
}
img{
img {
width: 1rem;
height: 1rem;
margin-left: 1rem;
cursor: pointer;
}
.el-icon-caret-bottom {
position: absolute;
right: -20px;

@ -24,8 +24,8 @@
</el-col>
<el-col :span="8">
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
<el-button type="primary" icon="el-icon-search" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" @click="resetQuery"></el-button>
</el-form-item>
</el-col>
</el-row>

@ -388,12 +388,12 @@ export default {
this.reset();
const catalogId = row.id;
this.form = { ...row };
this.setProtocolType(this.form.wz); //
this.setProtocolType(this.form.wz);
this.$nextTick(() => {
this.handleTypeChange(); // DOM
});
this.open = true;
this.title = "修改项目知识库";
this.title = "编辑项目知识库";
},
/** 提交按钮 */
submitForm: function () {
@ -404,9 +404,7 @@ export default {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
}).catch(error => {
console.error('API Request Error:', error);
});
}).catch();
} else {
addXmzsk(this.form).then(response => {
this.$modal.msgSuccess("新增成功");

@ -119,8 +119,8 @@
</el-descriptions>
</div>
</div>
<!-- 新增楼栋弹窗 -->
<el-dialog title="新增楼栋" :visible.sync="dialogVisible" width="68%">
<!-- 新增编辑楼栋弹窗 -->
<el-dialog :title="buildingForm.id ? '编辑楼栋' : '新增楼栋'" :visible.sync="dialogVisible" width="68%">
<el-form :model="buildingForm" :rules="rules" ref="buildingFormRef" label-width="260px">
<el-row :gutter="20">
<el-col :span="12">

@ -101,7 +101,7 @@
<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>
<span v-else>{{ scope.row.clrq ? new Date(scope.row.clrq).toLocaleDateString('en-CA') : '' }}</span>
</template>
</el-table-column>
<el-table-column prop="zczb" label='注册资本'>
@ -145,9 +145,9 @@
<el-button v-if="scope.row.isEditing" size="medium" type="text" icon="el-icon-check"
@click="saveRow(scope.row)">保存</el-button>
<el-button v-else size="medium" type="text" icon="el-icon-edit"
@click="editRow(scope.row)">编辑</el-button>
@click="editRow(scope.row)"></el-button>
<el-button size="medium" type="text" icon="el-icon-delete" style="color: #F25353;"
@click="deleteRow(scope.$index)">删除</el-button>
@click="deleteRow(scope.$index)"></el-button>
</template>
</el-table-column>
</el-table>

@ -7,11 +7,17 @@
<span>月度进展信息</span>
</div>
<div class="topright" v-if="action === 'fill' || !action || action === 'okay'">
<el-button type="primary" size="medium" plain v-if="checkRole(['admin', 'common'])"
<!-- <el-button type="primary" size="medium" plain v-if="checkRole(['admin', 'common'])"
style="border: none;background-color: rgba(43,98,241,0.1);color: #2B62F1;" @click="handleExport">
<img src="../../../assets/images/detailsicon/icon-dc@2x.png" alt="导出"
style="width: 0.6rem; height: 0.6rem; margin-right: 4px;">
导出
</el-button> -->
<el-button type="primary" size="medium" plain
style="border: none;background-color: rgba(43,98,241,0.1);color: #2B62F1;" @click="handleAdd">
<img src="../../../assets/images/detailsicon/icon-xz@2x.png" alt="新增"
style="width: 0.6rem; height: 0.6rem; margin-right: 4px;">
新增
</el-button>
</div>
</div>
@ -71,14 +77,60 @@
</div>
</div>
</div>
<!-- 弹窗 -->
<el-dialog title="新增月度进展" :visible.sync="dialogVisible" width="50%">
<el-form :model="form" :rules="rules" label-width="160px" ref="formRef">
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="进度月份" prop="month">
<el-date-picker v-model="form.month" type="month" placeholder="选择月份" value-format="yyyy-MM"
style="width: 100%;"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="状态" prop="status" style="display: none;">
<el-select v-model="form.status" placeholder="请选择状态" style="width: 100%;">
<el-option label="未更新" value="未更新"></el-option>
<el-option label="已更新" value="已更新"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="当月完成投资" prop="monthDoneAmount">
<el-input v-model.number="form.monthDoneAmount" placeholder="请输入金额"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="累计完成投资" prop="totalDoneAmount">
<el-input v-model.number="form.totalDoneAmount" placeholder="请输入金额"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="累计建成面积(㎡)" prop="cumulativeArea">
<el-input v-model="form.cumulativeArea" placeholder="请输入面积"></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="项目进展详情" prop="xmjzxq">
<el-input v-model="form.xmjzxq" type="textarea" :rows="3" 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>
<el-button type="primary" @click="submitForm"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
//
// import { getMonthInformationPage } from "@/api/ManageApi/index";
import { getMonthInformationPage } from "@/api/ManageApi/index";
//Apitwo
import { updateProjectProgress, deletemonth } from "@/api/manageApitwo/index";
import { updateProjectProgress, deletemonth, addmonth } from "@/api/manageApitwo/index";
import { checkPermi, checkRole } from "@/utils/permission";
export default {
@ -98,11 +150,72 @@ export default {
current: 1,
size: 10,
total: 0,
dialogVisible: false, //
form: {
month: '', //
status: '未更新', //
monthDoneAmount: 0, //
totalDoneAmount: 0, //
cumulativeArea: '', //
xmjzxq: '' //
},
rules: {
month: [
{ required: true, message: '请选择月份', trigger: 'change' }
],
monthDoneAmount: [
{ required: true, message: '请输入当月完成投资', trigger: 'blur' }
],
totalDoneAmount: [
{ required: true, message: '请输入累计完成投资', trigger: 'blur' }
]
}
};
},
methods: {
checkPermi,
checkRole,
handleAdd() {
this.form = {
month: '',
status: '未更新',
monthDoneAmount: 0,
totalDoneAmount: 0,
cumulativeArea: '',
xmjzxq: ''
};
this.dialogVisible = true;
},
submitForm() {
this.$refs.formRef.validate(valid => {
if (valid) {
const payload = {
...this.form,
xmId: this.xmId, // props ID
projectId: this.xmId, // projectId
status: this.form.status
};
addmonth(payload)
.then(response => {
if (response.code === 200) {
this.$message.success('新增成功');
this.dialogVisible = false;
this.getMonthInformationPage(); //
} else {
this.$message.error(response.msg || '新增失败');
}
})
.catch(error => {
console.error('新增失败:', error);
this.$message.error('新增失败,请稍后再试');
});
} else {
this.$message.error('请填写必填项');
return false;
}
});
},
/** 导出 */
handleExport() {
this.download(
@ -130,7 +243,7 @@ export default {
async handleSave(row) {
try {
const updateData = {
id: row.id,
id: row.id,
monthDoneAmount: row.monthDoneAmount,
totalDoneAmount: row.totalDoneAmount,
cumulativeArea: row.cumulativeArea,
@ -143,8 +256,8 @@ export default {
message: "更新成功!",
});
row.isEditing = false;
row.status = "已更新";
row.status = "已更新";
// this.getMonthInformationPage();
} else {
this.$message.error(response.msg || "更新失败");
@ -167,7 +280,7 @@ export default {
.then(async () => {
try {
//
const response = await deletemonth([row.id]);
const response = await deletemonth([row.id]);
if (response.code === 200) {
this.$message({
@ -204,26 +317,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>

@ -49,7 +49,7 @@
<el-col :span="12">
<el-form-item label="年度">
<el-date-picker v-model="form.year" type="year" value-format="yyyy" placeholder="选择年度"
@change="handleYearChange" />
@change="handleYearChange" style="width: 100%;" />
</el-form-item>
</el-col>
</el-row>
@ -69,7 +69,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="时间">
<el-date-picker v-model="form.sj" type="date" value-format="yyyy-MM-dd" placeholder="选择日期">
<el-date-picker v-model="form.sj" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;">
</el-date-picker>
</el-form-item>
</el-col>
@ -497,6 +497,7 @@ export default {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
padding: .5rem 1rem;
}
.image-box {

@ -42,8 +42,6 @@
<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">
@ -51,6 +49,15 @@
<div class="number">{{ projectData.allBuilding3 }}</div>
</div>
</div>
<el-tooltip class="item" effect="dark" content="更多信息" placement="top-start" style="cursor: pointer;">
<div @click="toggleSection('section1')">
<i v-if="showSection1" class="el-icon-caret-top"></i>
<i v-else class="el-icon-caret-bottom"></i>
</div>
</el-tooltip>
</div>
<div class="mainareatwo" style="margin-top: 0rem;" v-show="showSection1">
<div class="itemone">
<img src="@/assets/images/icon-yjsl@2x.png" alt="">
<div class="itemleft">
@ -72,6 +79,26 @@
<div class="number">{{ projectData.allInvest3 }}</div>
</div>
</div>
<div class="itemone" style="visibility: hidden;">
<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 class="itemone" style="visibility: hidden;">
<img src="@/assets/images/icon-yjsl@2x.png" alt="">
<div class="itemleft">
<div class="lefttitle">占地面积</div>
<div class="number">{{ projectData.allInvest3 }}</div>
</div>
</div>
<el-tooltip class="item" effect="dark" content="更多信息" placement="top-start">
<div style="visibility: hidden;">
<i v-if="showSection1" class="el-icon-caret-top"></i>
<i v-else class="el-icon-caret-bottom"></i>
</div>
</el-tooltip>
</div>
</div>
<div>
@ -105,8 +132,6 @@
<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">
@ -114,6 +139,15 @@
<div class="number">{{ currentYearData.currentBuilding3 }}</div>
</div>
</div>
<el-tooltip class="item" effect="dark" content="更多信息" placement="top-start" style="cursor: pointer;">
<div @click="toggleSection('section2')">
<i v-if="showSection2" class="el-icon-caret-top"></i>
<i v-else class="el-icon-caret-bottom"></i>
</div>
</el-tooltip>
</div>
<div class="mainareatwo" style="margin-top: 0rem;" v-show="showSection2">
<div class="itemone">
<img src="@/assets/images/icon-yjsl@2x.png" alt="">
<div class="itemleft">
@ -135,6 +169,24 @@
<div class="number">{{ currentYearData.currentAllInvest3 }}</div>
</div>
</div>
<div class="itemone" style="visibility: hidden;">
<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 class="itemone" style="visibility: hidden;">
<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 style="visibility: hidden;">
<i v-if="showSection1" class="el-icon-caret-top"></i>
<i v-else class="el-icon-caret-bottom"></i>
</div>
</div>
</div>
</div>
@ -146,16 +198,18 @@ import { allinformation } from '@/api/ManageApi';
export default {
data() {
return {
selectedYear: new Date().getFullYear().toString(),
showSection1: false, //
showSection2: false, //
selectedYear: new Date().getFullYear().toString(),
projectData: {
allProject: 0, //
allGrossArea: 0, //
allBuilding1: 0, //
allBuilding2: 0, //
allBuilding3: 0, //
allInvest1:0, //
allInvest2:0, //
allInvest3:0, //
allInvest1: 0, //
allInvest2: 0, //
allInvest3: 0, //
},
currentYearData: {
currentYearProject: 0, //
@ -163,9 +217,9 @@ export default {
currentYearBuilding1: 0, //
currentBuilding2: 0, //
currentBuilding3: 0,
currentAllInvest1:0, //
currentAllInvest2:0,
currentAllInvest3:0
currentAllInvest1: 0, //
currentAllInvest2: 0,
currentAllInvest3: 0
},
loading: false,
error: null
@ -175,6 +229,13 @@ export default {
this.fetchProjectData();
},
methods: {
toggleSection(section) {
if (section === 'section1') {
this.showSection1 = !this.showSection1;
} else if (section === 'section2') {
this.showSection2 = !this.showSection2;
}
},
/** 导出按钮操作 */
handleExport() {
this.download(
@ -197,7 +258,7 @@ export default {
this.loading = true;
try {
// API years
const response = await allinformation({
const response = await allinformation({
years: this.selectedYear,
_t: Date.now() //
});
@ -215,7 +276,7 @@ export default {
currentYearProject: response.data.currentYearProject || 0,
currentYearGrossArea: response.data.currentYearGrossArea || 0,
currentYearBuilding1: response.data.currentYearBuilding1 || 0,
currentBuilding2: response.data.currentBuilding2 || 0 ,
currentBuilding2: response.data.currentBuilding2 || 0,
currentBuilding3: response.data.currentBuilding3 || 0,
currentAllInvest1: response.data.currentAllInvest1 || 0,
currentAllInvest2: response.data.currentAllInvest2 || 0,
@ -242,6 +303,7 @@ export default {
display: flex;
flex-direction: column;
gap: 1rem;
padding: .5rem 0;
}
table {
@ -277,6 +339,7 @@ th {
font-family: aliregular;
font-weight: 400;
font-size: 0.9rem;
padding-left: .3rem;
color: #7B8599;
line-height: 1.19rem;
text-align: left;
@ -297,7 +360,17 @@ th {
}
.mainarea {
padding: .5rem 0rem;
padding: .5rem 0rem;
height: auto;
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1rem;
}
.mainareatwo {
padding: .5rem 0rem;
height: auto;
width: 100%;
display: flex;

@ -3,8 +3,15 @@
<div>
<div class="top">
<div class="title">整体项目情况</div>
<div class="importdiv">
</div>
<!-- <div class="importdiv">
<el-date-picker v-model="selectedYear" type="year" placeholder="选择年份" format="yyyy"
value-format="yyyy" @change="handleYearChange">
</el-date-picker>
<el-button icon="el-icon-upload2" style="background-color: #2B62F1; color: #FFFFFF;"
@click="handleExport">
报告导出
</el-button>
</div> -->
</div>
<div class="mainarea">
<div class="itemone">
@ -42,6 +49,56 @@
<div class="number">{{ projectData.allBuilding3 }}</div>
</div>
</div>
<el-tooltip class="item" effect="dark" content="更多信息" placement="top-start" style="cursor: pointer;">
<div @click="toggleSection('section1')">
<i v-if="showSection1" class="el-icon-caret-top"></i>
<i v-else class="el-icon-caret-bottom"></i>
</div>
</el-tooltip>
</div>
<div class="mainareatwo" style="margin-top: 0rem;" v-show="showSection1">
<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 class="itemone" style="visibility: hidden;">
<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 class="itemone" style="visibility: hidden;">
<img src="@/assets/images/icon-yjsl@2x.png" alt="">
<div class="itemleft">
<div class="lefttitle">占地面积</div>
<div class="number">{{ projectData.allInvest3 }}</div>
</div>
</div>
<el-tooltip class="item" effect="dark" content="更多信息" placement="top-start">
<div style="visibility: hidden;">
<i v-if="showSection1" class="el-icon-caret-top"></i>
<i v-else class="el-icon-caret-bottom"></i>
</div>
</el-tooltip>
</div>
</div>
<div>
@ -82,6 +139,54 @@
<div class="number">{{ currentYearData.currentBuilding3 }}</div>
</div>
</div>
<el-tooltip class="item" effect="dark" content="更多信息" placement="top-start" style="cursor: pointer;">
<div @click="toggleSection('section2')">
<i v-if="showSection2" class="el-icon-caret-top"></i>
<i v-else class="el-icon-caret-bottom"></i>
</div>
</el-tooltip>
</div>
<div class="mainareatwo" style="margin-top: 0rem;" v-show="showSection2">
<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 class="itemone" style="visibility: hidden;">
<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 class="itemone" style="visibility: hidden;">
<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 style="visibility: hidden;">
<i v-if="showSection1" class="el-icon-caret-top"></i>
<i v-else class="el-icon-caret-bottom"></i>
</div>
</div>
</div>
</div>
@ -93,20 +198,28 @@ import { allinformationtwo } from '@/api/ManageApi';
export default {
data() {
return {
selectedYear: new Date().getFullYear().toString(),
showSection1: false, //
showSection2: false, //
selectedYear: new Date().getFullYear().toString(),
projectData: {
allProject: 0, //
allGrossArea: 0, //
allBuilding1: 0, //
allBuilding2: 0, //
allBuilding3: 0 //
allBuilding3: 0, //
allInvest1: 0, //
allInvest2: 0, //
allInvest3: 0, //
},
currentYearData: {
currentYearProject: 0, //
currentYearGrossArea: 0, //
currentYearProject: 0, //
currentYearGrossArea: 0, //
currentYearBuilding1: 0, //
currentBuilding2: 0 , //
currentBuilding3: 0 //
currentBuilding2: 0, //
currentBuilding3: 0,
currentAllInvest1: 0, //
currentAllInvest2: 0,
currentAllInvest3: 0
},
loading: false,
error: null
@ -116,6 +229,13 @@ export default {
this.fetchProjectData();
},
methods: {
toggleSection(section) {
if (section === 'section1') {
this.showSection1 = !this.showSection1;
} else if (section === 'section2') {
this.showSection2 = !this.showSection2;
}
},
/** 导出按钮操作 */
handleExport() {
this.download(
@ -126,12 +246,11 @@ export default {
`项目整体情况${this.selectedYear}.docx`
);
},
// Handle year change
handleYearChange(year) {
if (year) {
this.selectedYear = year;
this.fetchProjectData();
this.$emit('year-change', this.selectedYear); //
}
},
@ -139,16 +258,19 @@ export default {
this.loading = true;
try {
// API years
const response = await allinformationtwo({
const response = await allinformationtwo({
years: this.selectedYear,
_t: Date.now() //
// _t: Date.now()
});
this.projectData = {
allProject: response.data.allProject || 0,
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,
@ -156,6 +278,9 @@ export default {
currentYearBuilding1: response.data.currentYearBuilding1 || 0,
currentBuilding2: response.data.currentBuilding2 || 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);
@ -174,11 +299,11 @@ export default {
gap: .5rem;
}
/* Your existing styles remain unchanged */
.container {
display: flex;
flex-direction: column;
gap: 2rem;
gap: 1rem;
padding: .5rem 0;
}
table {
@ -213,7 +338,7 @@ th {
.lefttitle {
font-family: aliregular;
font-weight: 400;
font-size: 0.88rem;
font-size: 0.9rem;
color: #7B8599;
line-height: 1.19rem;
text-align: left;
@ -234,7 +359,17 @@ th {
}
.mainarea {
padding: .5rem;
padding: .5rem 0rem;
height: auto;
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 1rem;
}
.mainareatwo {
padding: .5rem 0rem;
height: auto;
width: 100%;
display: flex;
@ -248,7 +383,6 @@ th {
height: 3rem;
/* background-color: lightblue; */
display: flex;
gap: .3rem;
}
.itemleft {

@ -39,7 +39,7 @@
</div>
<!-- 悬浮窗 -->
<div class="app-container" v-show="dialogVisible" v-click-outside="closeDialog">
<div class="app-container" v-show="dialogVisible">
<div class="close-btn" @click="closeDialog">
<i class="el-icon-close"></i>
</div>

@ -152,7 +152,7 @@ export default {
const postId = row.id || this.ids; // 使 id
this.form = { ...row };
this.open = true;
this.title = '修改规则';
this.title = '编辑规则';
},
//
cancel() {

@ -389,7 +389,7 @@ export default {
this.isView = true;
this.dialogVisible = true;
this.dialogTitle = "查看智能提醒规则";
this.dialogTitle = "查看流程提醒规则";
//
this.$nextTick(() => {
this.$refs.ruleForm.clearValidate();
@ -401,7 +401,7 @@ export default {
handleAdd() {
this.isView = false;
this.dialogVisible = true;
this.dialogTitle = "新增智能提醒规则";
this.dialogTitle = "新增流程提醒规则";
this.isReminder = 1; //
//
@ -428,7 +428,7 @@ export default {
},
handleEdit(row) {
this.dialogVisible = true;
this.dialogTitle = "修改智能提醒规则";
this.dialogTitle = "编辑流程提醒规则";
this.isView = false;
this.ruleForm = {
@ -503,7 +503,7 @@ export default {
this.$refs[formName].validate((valid) => {
if (valid) {
let param = {};
if (this.dialogTitle == "新增智能提醒规则") {
if (this.dialogTitle == "新增流程提醒规则") {
param = {
rulesName: this.ruleForm.rulesName,
alertRecipients: Number(this.ruleForm.alertRecipients),
@ -520,7 +520,7 @@ export default {
this.initData();
}
});
} else if (this.dialogTitle == "修改智能提醒规则") {
} else if (this.dialogTitle == "修改流程提醒规则") {
param = {
...this.editData,
};

@ -46,7 +46,9 @@
style="width:100%;background: #2B62F1;" @click.native.prevent="handleEnterpriseLogin">
<span>企业统一身份认证登录</span>
</el-button>
</el-form-item>
<div style="font-size: 0.88rem;color: #333;">主办单位苏州工业园区经济发展委员会</div>
</el-form>
<!-- 底部 -->
<div class="el-login-footer">
@ -314,7 +316,7 @@ export default {
bottom: 0;
width: 100%;
text-align: center;
color: #fff;
color: #333;
font-family: Arial;
font-size: 12px;
letter-spacing: 1px;

@ -87,7 +87,7 @@
</div>
<!-- 月度进展信息 -->
<div id="months">
<Months :action="action" :zwId="projectId"></Months>
<Months :action="action" :xmId="projectId"></Months>
</div>
<!-- 企业入驻信息 -->
<div id="companyenter">

@ -286,7 +286,7 @@ export default {
handleAdd() {
this.reset();
this.open = true;
this.title = "新增项目知识库";
this.title = "新增目录";
},
/** 修改按钮操作 */
handleUpdate(row) {
@ -294,7 +294,7 @@ export default {
const catalogId = row.id;
this.form = { ...row };
this.open = true;
this.title = "修改项目知识库";
this.title = "编辑目录";
},
/** 提交按钮 */
submitForm: function () {

@ -318,7 +318,7 @@ export default {
const catalogId = row.id;
this.form = { ...row };
this.open = true;
this.title = "修改细分产业";
this.title = "编辑细分产业";
},
/** 提交按钮 */
submitForm: function () {

@ -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.111:7071/`,
target: `http://192.168.0.105:7071/`,
// target: `http://39.101.188.84:7071/`,
changeOrigin: true,
pathRewrite: {

Loading…
Cancel
Save