From e13792c607fa4a15ff830848b801b48598f74ab5 Mon Sep 17 00:00:00 2001 From: yanfeiyong <2060201549@qq.com> Date: Tue, 24 Jun 2025 14:02:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=B8=89=E6=96=B9=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 2 +- .env.production | 2 +- package.json | 4 +- src/permission.js | 14 +- src/views/Home/index.vue | 9 - src/views/components/ProjectDetails/Basic.vue | 330 +++++++++++------- .../components/ProjectDetails/Buildings.vue | 6 - src/views/components/ProjectDetails/Liver.vue | 4 - src/views/components/ProjectDetails/Memo.vue | 2 - .../components/ProjectDetails/Models.vue | 10 +- src/views/components/ProjectDetails/luotu.vue | 3 - src/views/components/analysis/daiban.vue | 2 +- src/views/components/analysis/map.vue | 2 +- src/views/components/analysis/projectList.vue | 2 - .../components/zhengwuxinxi/zhengwuxinxi.vue | 3 +- src/views/manage-info/index.vue | 9 + src/views/register.vue | 2 +- vue.config.js | 5 +- 18 files changed, 228 insertions(+), 183 deletions(-) diff --git a/.env.development b/.env.development index 2e8c0ab..008a81c 100644 --- a/.env.development +++ b/.env.development @@ -6,7 +6,7 @@ ENV = 'development' # 苏州工业园区工业上楼管理系统/开发环境 # VUE_APP_BASE_API = 'http://192.168.0.108:7071' -VUE_APP_BASE_API = 'http://39.101.188.84:7071' +VUE_APP_BASE_API = 'http://36.213.9.3:7071' # 路由懒加载 VUE_CLI_BABEL_TRANSPILE_MODULES = true diff --git a/.env.production b/.env.production index 369dfee..a1fb394 100644 --- a/.env.production +++ b/.env.production @@ -10,7 +10,7 @@ ENV = 'production' # VUE_APP_BASE_API = 'http://114.216.202.175:8008' # 公司测试环境 -VUE_APP_BASE_API = 'http://39.101.188.84:7071' +VUE_APP_BASE_API = 'http://36.213.9.3:7071' # 正式环境 # VUE_APP_BASE_API = '/api' diff --git a/package.json b/package.json index 994ddd6..b5b42bd 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { - "name": "ruoyi", + "name": "suzhou", "version": "3.8.9", "description": "苏州工业园区工业上楼管理系统", - "author": "若依", + "author": "苏州工业园区", "license": "MIT", "scripts": { "dev": "vue-cli-service serve", diff --git a/src/permission.js b/src/permission.js index 5d7ede3..1ed9b7b 100644 --- a/src/permission.js +++ b/src/permission.js @@ -32,9 +32,8 @@ router.beforeEach((to, from, next) => { const signature = params.get("signature"); const timespan = params.get("timespan"); - // ============================= - // 🔑 新增:处理 clienttoken 登录企业单点登录逻辑 - // ============================= + // 处理 clienttoken 登录企业单点登录逻辑 + if (window.location.href.includes("clienttoken=")) { const reg = /[?&]clienttoken=([^&#]+)/; const match = window.location.href.match(reg); @@ -83,9 +82,7 @@ router.beforeEach((to, from, next) => { } } - // ============================= - // 📦 原有政务参数处理逻辑 - // ============================= + // 政务参数处理逻辑 if (from.path === to.path && store.getters.token) { next(); return; @@ -153,9 +150,8 @@ router.beforeEach((to, from, next) => { return; } - // ============================= - // 🔐 原始本地登录逻辑 - // ============================= + + // 本地登录逻辑 if (getToken()) { to.meta.title && store.dispatch("settings/setTitle", to.meta.title); /* has token*/ diff --git a/src/views/Home/index.vue b/src/views/Home/index.vue index 91eee4f..c173df7 100644 --- a/src/views/Home/index.vue +++ b/src/views/Home/index.vue @@ -135,13 +135,9 @@ export default { .grid-container { display: grid; grid-template-columns: repeat(2, 1fr); - /* 三列 */ grid-template-rows: auto auto auto; - /* 三行 */ gap: 1rem; - /* 模块之间的间隔 */ padding: 1rem; - /* 容器内边距 */ } .grid-item { @@ -179,10 +175,7 @@ export default { flex-direction: column; gap: 1rem; } - -/* 第一行:第一个模块占两列 */ .item-1 { - /* background-image: url(@/src/assets/images/allbg.png); */ background-size: 100% 100%; background-repeat: no-repeat; } @@ -193,10 +186,8 @@ export default { padding: 1rem 1.5rem; } -/* 最后一行:一个模块占一整行 */ .item-6 { grid-column: span 3; - /* 占三列 */ } .mainareaitem { diff --git a/src/views/components/ProjectDetails/Basic.vue b/src/views/components/ProjectDetails/Basic.vue index 7602b7d..e74ef50 100644 --- a/src/views/components/ProjectDetails/Basic.vue +++ b/src/views/components/ProjectDetails/Basic.vue @@ -54,31 +54,188 @@
- 项目代表性照片 + + + 项目图片 + +
+
- + + + {{ basicInfo.name }} + + + + + + {{ basicInfo.xmfrdwxz }} + + + + + + + + + + + + {{ basicInfo.sgdw }} + + + + + + {{ basicInfo.sjdw }} + + + + + + {{ basicInfo.ztze }} + + + + + + + + + + + + {{ basicInfo.begainTime }} 至 {{ basicInfo.endTime }} + + + + + + + + + + + + {{ basicInfo.jsdd }} + + + + + + {{ basicInfo.prioritize }} + + + + + + + + + + + + {{ basicInfo.label }} + + + + + + {{ basicInfo.projectLeader }} + + + + + + {{ basicInfo.phone }} + - {{ item.value }} + + + + {{ basicInfo.issuingTime }} + + + + + + {{ basicInfo.acceptanceTime }} + + + + + + {{ basicInfo.jsjd }} + + + + + + {{ basicInfo.tyshxydm }} + + + + + + {{ basicInfo.jhtze }} + + + + + + + + + + + + + + + + + + {{ basicInfo.unitIntroduction }} + + + + + + {{ basicInfo.introduction }}
@@ -257,11 +414,13 @@ - + type="date" + value-format="yyyy-MM-dd" + placeholder="请选择施工许可证发放时间" + style="width: 100%" + > @@ -287,11 +446,13 @@ - + type="date" + value-format="yyyy-MM-dd" + placeholder="请选择竣工验收时间" + style="width: 100%" + > @@ -409,7 +570,7 @@ placeholder="请输入项目简介" > - + @@ -465,19 +626,6 @@ export default { }, data() { return { - requiredFields: [ - "项目名称", - "项目法人单位", - "项目法人单位性质", - "建设模式", - "项目负责人", - "总投资额(万元)", - "联系方式", - "所属功能区", - "建设起止时间", - "现状分类", - "统一社会信用代码", - ], baseUrl: process.env.VUE_APP_BASE_API, descriptions: [], dialogImageUrl: "", @@ -590,47 +738,21 @@ export default { }, ], }, - // select映射 - ssgnqMap: { - 1: "高端制造与国际贸易区", - 2: "独墅湖科教创新区", - 3: "阳澄湖半岛旅游度假区", - 4: "金鸡湖商务区", - 5: "苏相合作区", - }, - xmfrdwxzMap: { - 1: "国企", - 2: "外资企业", - 3: "民营企业", - 4: "其他", - }, - jsmsMap: { - 1: "工地实施", - 2: "利用存量用地改扩建", - }, - xzflMap: { - 1: "已建", - 2: "在建", - 3: "拟建", - }, - mlMap: { - 1: "重点鼓励上楼", - 2: "有条件上楼", - }, - xfMap: { - 1: "新一代信息技术", - 2: "高端装备制造", - 3: "生物医药及大健康", - 4: "纳米技术应用及新材料", - 5: "人工智能及数字产业", - 6: "新能源及绿色产业", - }, }; }, watch: { basicInfo: { handler(newVal) { - this.descriptions = this.formatDescriptions(newVal); + // 处理图片轮播数据 + if (newVal.fj) { + this.carouselImages = newVal.fj + .split(",") + .map((url) => this.baseUrl + url.trim()); + } else { + this.carouselImages = []; + } + + // 设置表单数据 this.form = { ...newVal, begainTime: newVal.begainTime ? new Date(newVal.begainTime) : "", @@ -651,7 +773,7 @@ export default { this.form.latitude = location.lat; // 设置纬度 this.mapDialogVisible = false; // 关闭地图弹窗 }, - /** 导出按钮操作 */ + /* 导出按钮操作 */ handleExport() { this.download( "/gysl/basicInformation/export", @@ -661,47 +783,6 @@ export default { `基本信息导出${new Date().getTime()}.xlsx` ); }, - // 格式化描述信息 - formatDescriptions(data) { - const requiredFields = this.requiredFields; - return [ - { label: "项目名称", value: data.name }, - { label: "项目法人单位", value: data.xmfrdwxz }, - { - label: "项目法人单位性质", - value: this.xmfrdwxzMap[data.nature] || "", - }, - { label: "施工单位", value: data.sgdw }, - { label: "设计单位", value: data.sjdw }, - { label: "总投资额(万元)", value: data.ztze }, - { label: "所属功能区", value: this.ssgnqMap[data.ssgnq] || "" }, - { - label: "建设起止时间", - value: `${data.begainTime ? data.begainTime : ""} 至 ${ - data.endTime ? data.endTime : "" - }`, - }, - { label: "现状分类", value: this.xzflMap[data.xzfl] || "" }, - { label: "建设地点", value: data.jsdd }, - { label: "重点发展产业", value: data.prioritize }, - { label: "建设模式", value: this.jsmsMap[data.jsms] || "" }, - { label: "项目标签", value: data.label }, - { label: "项目负责人", value: data.projectLeader }, - { label: "联系方式", value: data.phone }, - { label: "施工许可证发放时间", value: data.issuingTime }, - { label: "竣工验收时间", value: data.acceptanceTime }, - { label: "建设进度", value: data.jsjd }, - { label: "统一社会信用代码", value: data.tyshxydm }, - { label: "计划投资额(亿元)", value: data.jhtze }, - { label: "所属产业目录", value: this.mlMap[data.ml] || "" }, - { label: "所属细分产业", value: this.xfMap[data.xfcy] || "" }, - { label: "项目法人单位简介", value: data.unitIntroduction }, - { label: "项目简介", value: data.introduction }, - ].map((item) => ({ - ...item, - required: requiredFields.includes(item.label), - })); - }, // 打开编辑对话框 edit() { this.dialogVisible = true; @@ -734,14 +815,12 @@ export default { // 格式化日期字段 const formatDate = (date) => { if (!date) return ""; - // 如果是 Date 对象,直接格式化;如果是字符串,保持原样 return date instanceof Date ? date.toISOString().split("T")[0] : date; }; - return { ...formData, begainTime: formatDate(formData.begainTime), // 单独格式化 begainTime - endTime: formatDate(formData.endTime), + endTime: formatDate(formData.endTime), createBy: "", createId: 0, createTime: "", @@ -760,7 +839,6 @@ export default { // const d = date instanceof Date ? date : new Date(date); // return d.toISOString().split('T')[0]; // 取 YYYY-MM-DD 部分 // }; - // return [ // formatDate(dateRange[0]), // 开始日期 // formatDate(dateRange[1]) // 结束日期 @@ -840,8 +918,8 @@ export default { } .picturediv { - width: 18.31rem; - height: 25rem; + width: 24.4rem; + height: 26rem; position: relative; overflow: hidden; } @@ -859,7 +937,7 @@ export default { } .descriptionsdiv { - width: calc(100% - 18.31rem); + width: calc(100% - 25rem); margin-left: 1rem; height: auto; } diff --git a/src/views/components/ProjectDetails/Buildings.vue b/src/views/components/ProjectDetails/Buildings.vue index c34f7c8..9a49e7f 100644 --- a/src/views/components/ProjectDetails/Buildings.vue +++ b/src/views/components/ProjectDetails/Buildings.vue @@ -571,7 +571,6 @@ export default { buildings: { immediate: true, handler(newVal) { - // 当 buildings 数据变化时,通知父组件当前状态 this.$emit("update:hasBuildingData", newVal.length > 0); }, }, @@ -840,21 +839,16 @@ export default { align-items: center; cursor: pointer; border: 1px solid transparent; - /* 添加透明边框保持布局稳定 */ transition: all 0.3s ease; - /* 添加过渡效果 */ } .tagitem.active-tag { border: 1px solid #2b62f1; - /* 选中时的蓝色边框 */ box-shadow: 0 0 0 2px rgba(43, 98, 241, 0.2); - /* 可选的外发光效果 */ } .tagitem:hover { background: #f0f0f0; - /* 鼠标悬停时的背景色变化 */ } .important-building { diff --git a/src/views/components/ProjectDetails/Liver.vue b/src/views/components/ProjectDetails/Liver.vue index 59644d6..416be15 100644 --- a/src/views/components/ProjectDetails/Liver.vue +++ b/src/views/components/ProjectDetails/Liver.vue @@ -50,9 +50,6 @@ export default { data() { return { images: [ - // { src: 'https://picsum.photos/300/200?random=1', isOnline: true }, - // { src: 'https://picsum.photos/300/200?random=2', isOnline: false }, - // { src: 'https://picsum.photos/300/200?random=3', isOnline: true }, ] }; }, @@ -65,7 +62,6 @@ export default { }).then(() => { this.images.splice(index, 1); }).catch(() => { - // 用户点击了取消按钮,无需处理 }); } } diff --git a/src/views/components/ProjectDetails/Memo.vue b/src/views/components/ProjectDetails/Memo.vue index c8ec3e3..a8338ae 100644 --- a/src/views/components/ProjectDetails/Memo.vue +++ b/src/views/components/ProjectDetails/Memo.vue @@ -404,9 +404,7 @@ export default { .el-textarea__inner { height: 10rem !important; - /* 固定高度 */ resize: none; - /* 禁止调整大小 */ } .iconguanbi { diff --git a/src/views/components/ProjectDetails/Models.vue b/src/views/components/ProjectDetails/Models.vue index cd01ed8..da59e3a 100644 --- a/src/views/components/ProjectDetails/Models.vue +++ b/src/views/components/ProjectDetails/Models.vue @@ -85,7 +85,6 @@ export default { { value: '有', label: '有' }, { value: '无', label: '无' }, ], - // 添加更多选项数据 } }; }, @@ -93,9 +92,7 @@ export default { wysmxInfo: { immediate: true, handler(newVal) { - // console.log('接收到的 wysmxInfo 数据:', newVal); this.form = newVal.map(item => ({ - // id: item.id, xmId: item.xmId, ysmc: item.ysmc, list: item.list.map(subItem => ({ @@ -111,10 +108,8 @@ export default { methods: { toggleEditAll() { if (this.isEditingAll) { - // 保存模式:过滤掉 isEditing 字段 const cleanedForm = this.form.map(row => ({ ysmc: row.ysmc, - // id: row.id, xmId: row.xmId, list: row.list.map(item => ({ id: item.id, @@ -122,9 +117,8 @@ export default { zdinfor: item.zdinfor, })) })); - this.$emit('updata-data', cleanedForm); // 传递过滤后的数据 + this.$emit('updata-data', cleanedForm); } else { - // 编辑模式:开启所有字段的编辑状态 this.form.forEach(row => { row.list.forEach(item => { item.isEditing = true; @@ -134,12 +128,10 @@ export default { this.isEditingAll = !this.isEditingAll; }, getOptionsForItem(rowIndex, itemIndex) { - // 根据 rowIndex 和 itemIndex 获取对应的选项数据 return this.optionsMap[`${rowIndex}-${itemIndex}`] || []; } }, created() { - // console.log('wysmxInfo 内容:', this.wysmxInfo); // 初始化时打印数据 } }; diff --git a/src/views/components/ProjectDetails/luotu.vue b/src/views/components/ProjectDetails/luotu.vue index 7df460a..c95c7de 100644 --- a/src/views/components/ProjectDetails/luotu.vue +++ b/src/views/components/ProjectDetails/luotu.vue @@ -282,12 +282,10 @@ export default { .search-input { width: 100%; - /* max-width: 500px; */ } .selected-place-input { width: 100%; - /* max-width: 500px; */ } .search-results { @@ -342,7 +340,6 @@ export default { height: 100%; } -/* 悬浮面板样式 */ .floating-panel { position: absolute; top: 20px; diff --git a/src/views/components/analysis/daiban.vue b/src/views/components/analysis/daiban.vue index 0c63ce9..fbfbc65 100644 --- a/src/views/components/analysis/daiban.vue +++ b/src/views/components/analysis/daiban.vue @@ -82,7 +82,7 @@ export default { this.total = response.data.total; this.loading = false; }).catch(error => { - console.error('查询失败:', error); + // console.error('查询失败:', error); this.loading = false; }); }, diff --git a/src/views/components/analysis/map.vue b/src/views/components/analysis/map.vue index 2958ccb..161ce8d 100644 --- a/src/views/components/analysis/map.vue +++ b/src/views/components/analysis/map.vue @@ -208,7 +208,7 @@ export default { }); graphicLayer.addGraphic(polygon); } catch (error) { - console.error('加载苏州园区数据失败:', error); + console.error('1', error); } }, toggleCollapse() { diff --git a/src/views/components/analysis/projectList.vue b/src/views/components/analysis/projectList.vue index f00ada8..208e5ee 100644 --- a/src/views/components/analysis/projectList.vue +++ b/src/views/components/analysis/projectList.vue @@ -155,7 +155,6 @@ export default { display: grid; grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)); gap: 1rem; - /* background-color: #fff; */ border-radius: 0.5rem; height: 26rem; padding: .5rem; @@ -182,7 +181,6 @@ export default { .project-name { color: #2B62F1; cursor: pointer; - /* font-weight: bold; */ font-family: aliregular; font-size: 0.8rem; } diff --git a/src/views/components/zhengwuxinxi/zhengwuxinxi.vue b/src/views/components/zhengwuxinxi/zhengwuxinxi.vue index 108ee06..dc016f9 100644 --- a/src/views/components/zhengwuxinxi/zhengwuxinxi.vue +++ b/src/views/components/zhengwuxinxi/zhengwuxinxi.vue @@ -365,8 +365,7 @@ export default { this.loading = false; }) .catch((error) => { - console.error("API请求错误:", error); - console.error("错误详情:", error.response); + // console.error("API请求错误:", error) this.loading = false; }); }, diff --git a/src/views/manage-info/index.vue b/src/views/manage-info/index.vue index b868a64..10089f8 100644 --- a/src/views/manage-info/index.vue +++ b/src/views/manage-info/index.vue @@ -496,11 +496,20 @@ export default { // 校验 basicInformation const basicRequiredFields = [ + "name", + "xmfrdwxz", + "nature", + "ztze", "ssgnq", "begainTime", "endTime", "xzfl", "jsms", + "projectLeader", + "phone", + "unitIntroduction", + "introduction", + "tyshxydm", ]; const basicMissingFields = basicRequiredFields.filter( (field) => !this.basicInformation[field] diff --git a/src/views/register.vue b/src/views/register.vue index 60d8bca..57cdf41 100644 --- a/src/views/register.vue +++ b/src/views/register.vue @@ -1,7 +1,7 @@