# Conflicts:
#	vue.config.js
xuhongjie
项洋 1 month ago
commit 0b7bb7aa5a

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

@ -227,7 +227,7 @@
ref="projectTable" ref="projectTable"
:data="projectList" :data="projectList"
@row-click="handleRowClick" @row-click="handleRowClick"
height="400" height="200"
:row-key="(row) => row.id" :row-key="(row) => row.id"
v-loading="loading" v-loading="loading"
@select="handleSelect" @select="handleSelect"
@ -1164,7 +1164,7 @@ export default {
.pagination-box { .pagination-box {
display: flex; display: flex;
justify-content: right; justify-content: right;
margin: 16px 0; // margin: 16px 0;
} }
/* 已选项目区域样式 */ /* 已选项目区域样式 */
@ -1188,7 +1188,7 @@ export default {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: 12px; gap: 12px;
max-height: 200px; max-height: 100px;
overflow-y: auto; overflow-y: auto;
padding-right: 10px; padding-right: 10px;
flex: 1; flex: 1;

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

@ -104,6 +104,18 @@
<template slot="label">四层及以上楼面荷载(/平方米)</template> <template slot="label">四层及以上楼面荷载(/平方米)</template>
{{ selectedBuilding.fourYslmhz }} {{ selectedBuilding.fourYslmhz }}
</el-descriptions-item> </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> </el-descriptions>
</div> </div>
</div> </div>
@ -118,7 +130,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="是否为重要楼栋:" prop="sfwzyld"> <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" <el-option v-for="dict in dict.type.isno" :key="dict.value" :label="dict.label"
:value="parseInt(dict.value)"></el-option> :value="parseInt(dict.value)"></el-option>
</el-select> </el-select>
@ -181,7 +193,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="是否有汽车盘道:" prop="sfyqcpd"> <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" <el-option v-for="dict in dict.type.isno" :key="dict.value" :label="dict.label"
:value="parseInt(dict.value)"></el-option> :value="parseInt(dict.value)"></el-option>
</el-select> </el-select>
@ -191,7 +203,7 @@
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="是否有吊装口:" prop="sfydzk"> <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" <el-option v-for="dict in dict.type.isno" :key="dict.value" :label="dict.label"
:value="parseInt(dict.value)"></el-option> :value="parseInt(dict.value)"></el-option>
</el-select> </el-select>
@ -203,6 +215,25 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </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> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button> <el-button @click="dialogVisible = false"> </el-button>
@ -280,7 +311,10 @@ export default {
updateId: 0, updateId: 0,
updateTime: '', updateTime: '',
xmId: 0, xmId: 0,
zj: 0 zj: 0,
djjcdj:'',
dcqk:'',
htqk:''
}, },
// //
upload: { upload: {
@ -413,7 +447,10 @@ export default {
updateId: '', updateId: '',
updateTime: '', updateTime: '',
xmId: this.xmId, xmId: this.xmId,
zj: '' zj: '',
djjcdj:'',
dcqk:'',
htqk:''
}; };
}, },
fetchBuildings() { fetchBuildings() {

@ -65,32 +65,81 @@
<!-- 表格显示区 --> <!-- 表格显示区 -->
<div class="contenttwo"> <div class="contenttwo">
<div class="descriptionsdiv"> <div class="descriptionsdiv">
<el-table :data="tableData" style="width: 100%"> <el-table :data="tableData">
<el-table-column label="序号" width="200"> <el-table-column label="序号" width="50">
<template slot-scope="scope"> <template slot-scope="scope">
{{ (pagination.currentPage - 1) * pagination.pageSize + scope.$index + 1 }} {{ (pagination.currentPage - 1) * pagination.pageSize + scope.$index + 1 }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="name" label="企业名称"> <el-table-column prop="name" label="企业名称">
<template slot-scope="scope"> <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> <span v-else style="color: #2B62F1;">{{ scope.row.name }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="code" label="统一社会信用代码"> <el-table-column prop="code" label="统一社会信用代码" width="200">
</el-table-column> </el-table-column>
<el-table-column prop="sshy" label="所属行业"> <el-table-column prop="sshy" label="所属行业">
<template slot-scope="scope"> <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> <span v-else>{{ scope.row.sshy }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="zjjg" label='租金价格'> <el-table-column prop="zjjg" label='租金价格'>
<template slot-scope="scope"> <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> <span v-else>{{ scope.row.zjjg }}</span>
</template> </template>
</el-table-column> </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"> <el-table-column label="操作" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-if="scope.row.isEditing" size="medium" type="text" icon="el-icon-check" <el-button v-if="scope.row.isEditing" size="medium" type="text" icon="el-icon-check"

@ -47,10 +47,10 @@
<span v-else>{{ scope.row.cumulativeArea }}</span> <span v-else>{{ scope.row.cumulativeArea }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="progressDetails" label='项目进展详情' align="center"> <el-table-column prop="xmjzxq" label='项目进展详情' align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-if="scope.row.isEditing" v-model="scope.row.progressDetails" style="width: 100%;"></el-input> <el-input v-if="scope.row.isEditing" v-model="scope.row.xmjzxq" style="width: 100%;"></el-input>
<span v-else>{{ scope.row.progressDetails }}</span> <span v-else>{{ scope.row.xmjzxq }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center">
@ -87,7 +87,7 @@ export default {
type: String, type: String,
required: true, required: true,
}, },
zwId: { xmId: {
type: Number, type: Number,
required: true, required: true,
}, },
@ -108,7 +108,7 @@ export default {
this.download( this.download(
"/gysl/projectProgress/export", "/gysl/projectProgress/export",
{ {
zwId: this.zwId xmId: this.xmId
}, },
`月度信息${new Date().getTime()}.xlsx` `月度信息${new Date().getTime()}.xlsx`
); );
@ -134,7 +134,7 @@ export default {
monthDoneAmount: row.monthDoneAmount, monthDoneAmount: row.monthDoneAmount,
totalDoneAmount: row.totalDoneAmount, totalDoneAmount: row.totalDoneAmount,
cumulativeArea: row.cumulativeArea, cumulativeArea: row.cumulativeArea,
progressDetails: row.progressDetails, xmjzxq: row.xmjzxq,
}; };
const response = await updateProjectProgress(updateData); const response = await updateProjectProgress(updateData);
if (response.code === 200) { if (response.code === 200) {
@ -206,7 +206,7 @@ export default {
}, },
// async getMonthInformationPage() { // async getMonthInformationPage() {
// try { // try {
// const response = await getMonthInformationPage({ zwId: this.zwId }); // const response = await getMonthInformationPage({ xmId: this.xmId });
// if (Array.isArray(response.data.records) && response.data.records.length > 0) { // if (Array.isArray(response.data.records) && response.data.records.length > 0) {
// this.tableData = response.data.records; // this.tableData = response.data.records;

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

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

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

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

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

@ -46,8 +46,8 @@ module.exports = {
proxy: { proxy: {
// detail: https://cli.vuejs.org/config/#devserver-proxy // detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: { [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/`, // target: `http://39.101.188.84:7071/`,
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
['^' + process.env.VUE_APP_BASE_API]: '' ['^' + process.env.VUE_APP_BASE_API]: ''

Loading…
Cancel
Save