From 15dab9153139bb4990c11082ce1c370c32835c35 Mon Sep 17 00:00:00 2001 From: wangyx <2838268875@qq.com> Date: Fri, 30 May 2025 18:25:01 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E6=A5=BC=E6=A0=8B=E7=AE=A1=E7=90=86--?= =?UTF-8?q?=E5=B1=95=E5=BC=80=E5=B7=A6=E4=BE=A7=E8=8F=9C=E5=8D=95=E6=A0=8F?= =?UTF-8?q?=EF=BC=8C=E9=A1=B5=E9=9D=A2=E5=8A=A0=E8=BD=BD=E4=B8=8D=E5=85=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/mz/dept/index.vue | 379 +++++++++++++++++++++++++++--------- 1 file changed, 288 insertions(+), 91 deletions(-) diff --git a/src/views/mz/dept/index.vue b/src/views/mz/dept/index.vue index f83d740..05daf85 100644 --- a/src/views/mz/dept/index.vue +++ b/src/views/mz/dept/index.vue @@ -2,92 +2,208 @@
- +
- + - + - + - + - 搜索 - 重置 + 搜索 + 重置 - 新增 + 新增 - + - - + + - - - - + + + + - +
- + - + - + - - + - - + + @@ -96,9 +212,18 @@ - - {{ dict.label }} + + {{ dict.label }} @@ -106,10 +231,22 @@ - + @@ -121,26 +258,54 @@ - + - +
- - + +
@@ -158,7 +323,9 @@
-->
@@ -256,8 +423,8 @@ export default { // 查询参数 queryParams: { parentId: 100, - phone: '', - address: '', + phone: "", + address: "", pageNum: 1, pageSize: 10, }, @@ -303,7 +470,7 @@ export default { { required: true, pattern: /^(?:\d{3,4}-?)?\d{7,8}$|^1[3-9]\d{9}$/, - message: "请输入正确的联系电话", // 修改提示语 + message: "请输入正确的联系电话", // 修改提示语 trigger: "blur", }, ], @@ -318,8 +485,8 @@ export default { { required: true, message: "请选择关联物业", trigger: "change" }, ], introduce: [ - { required: true, message: "请输入详细介绍", trigger: "blur" }, - ] + { required: true, message: "请输入详细介绍", trigger: "blur" }, + ], }, map: null, marker: null, @@ -327,9 +494,9 @@ export default { searchAddress: "", // 搜索框输入值 total: 0, dataList: [], - currentParentId: null, // 当前选中的父节点ID - allDeptData: [], // 保存完整的部门数据 - disabled: false, // 控制表单是否可编辑 + currentParentId: null, // 当前选中的父节点ID + allDeptData: [], // 保存完整的部门数据 + disabled: false, // 控制表单是否可编辑 }; }, created() { @@ -363,10 +530,12 @@ export default { }, }, methods: { - //跳转到楼栋管理 toBuilding(row) { - this.$router.push({ path: '/mz/building', query: { apartmentId: row.deptId } }); + this.$router.push({ + path: "/mz/building", + query: { apartmentId: row.deptId }, + }); }, /** 初始化地图 */ initMap() { @@ -385,13 +554,19 @@ export default { // 创建地图实例 this.map = new window.AMap.Map("map-container", { zoom: 10, - center: [this.form.longitude || 120.207813, this.form.latitude || 36.147907], // 动态设置中心点 + center: [ + this.form.longitude || 120.207813, + this.form.latitude || 36.147907, + ], // 动态设置中心点 resizeEnable: true, }); // 创建标记点 this.marker = new window.AMap.Marker({ - position: [this.form.longitude || 120.207813, this.form.latitude || 36.147907], // 动态设置标记位置 + position: [ + this.form.longitude || 120.207813, + this.form.latitude || 36.147907, + ], // 动态设置标记位置 draggable: true, }); this.map.add(this.marker); @@ -427,7 +602,7 @@ export default { // 监听地图点击事件 this.map.on("click", (e) => { - if (this.disabled) return + if (this.disabled) return; const lnglat = { longitude: e.lnglat.lng, latitude: e.lnglat.lat, @@ -529,18 +704,18 @@ export default { this.allDeptData = response.data; // 找到根节点(parentId 为 0 的节点) - const rootNode = response.data.find(item => item.parentId === 0); + const rootNode = response.data.find((item) => item.parentId === 0); if (rootNode) { // 获取根节点的直接子节点 - const firstLevelNodes = response.data.filter(item => - item.parentId === rootNode.deptId + const firstLevelNodes = response.data.filter( + (item) => item.parentId === rootNode.deptId ); // 为根节点添加子节点,但不添加更深层级 - rootNode.children = firstLevelNodes.map(node => ({ + rootNode.children = firstLevelNodes.map((node) => ({ ...node, - children: [] // 将子节点的 children 设置为空数组,这样就不会显示更深层级 + children: [], // 将子节点的 children 设置为空数组,这样就不会显示更深层级 })); // 将根节点设置为 deptList @@ -557,6 +732,7 @@ export default { listApartment(this.queryParams).then((response) => { this.dataList = response.rows; this.total = response.total; + this.loading = false; }); }, /** 查询关联物业列表 */ @@ -583,7 +759,7 @@ export default { // 构建提交的数据 const submitData = { ...this.form, - type: 2 + type: 2, }; this.saveData(submitData); } @@ -653,7 +829,13 @@ export default { this.open = true; this.title = "添加公寓"; listDept().then((response) => { - this.deptOptions = this.handleTree(response.data, "deptId", "parentId", "children", 2); + this.deptOptions = this.handleTree( + response.data, + "deptId", + "parentId", + "children", + 2 + ); }); }, /** 展开/折叠操作 */ @@ -668,13 +850,23 @@ export default { handleUpdate(row) { this.reset(); getDept(row.deptId).then((response) => { - this.fileList = response.data.images.map(item => ({ url: item.fileUrl, fileName: item.fileName, fileFormat: item.fileFormat })); + this.fileList = response.data.images.map((item) => ({ + url: item.fileUrl, + fileName: item.fileName, + fileFormat: item.fileFormat, + })); this.form = response.data; this.open = true; this.title = "修改公寓"; if (this.deptOptions) { listDept().then((response) => { - this.deptOptions = this.handleTree(response.data, "deptId", "parentId", "children", 2); + this.deptOptions = this.handleTree( + response.data, + "deptId", + "parentId", + "children", + 2 + ); }); } }); @@ -683,14 +875,20 @@ export default { handleView(row) { this.reset(); getDept(row.deptId).then((response) => { - this.fileList = response.data.images + this.fileList = response.data.images; this.form = response.data; this.open = true; this.disabled = true; this.title = "公寓详情"; if (this.deptOptions) { listDept().then((response) => { - this.deptOptions = this.handleTree(response.data, "deptId", "parentId", "children", 2); + this.deptOptions = this.handleTree( + response.data, + "deptId", + "parentId", + "children", + 2 + ); }); } }); @@ -702,17 +900,17 @@ export default { return delDept(row.deptId); }) .then(() => { - this.getApartmentList() + this.getApartmentList(); this.$modal.msgSuccess("删除成功"); }) - .catch(() => { }); + .catch(() => {}); }, /** 图片上传相关方法 */ handleRemove(file, fileList) { this.fileList = fileList; this.form.images = this.form.images.filter( (item) => item.fileUrl !== file.url - ) + ); }, handlePictureCardPreview(file) { this.dialogImageUrl = file.url; @@ -723,14 +921,18 @@ export default { }, handleSuccess(response, file, fileList) { if (response.code === 200) { - this.form.images.push({ fileUrl: response.url, fileName: file.name, fileFormat: file.raw.type }); + this.form.images.push({ + fileUrl: response.url, + fileName: file.name, + fileFormat: file.raw.type, + }); } }, /** 处理树结构 */ handleNodeClick(node) { this.queryParams.parentId = node.deptId; this.getApartmentList(); - } + }, }, }; @@ -755,38 +957,33 @@ export default { .amap-box { width: 100%; height: 28.5714rem; - border: .0714rem solid #dcdfe6; - border-radius: .2857rem; + border: 0.0714rem solid #dcdfe6; + border-radius: 0.2857rem; } .map-container { position: relative; - margin-bottom: .7143rem; + margin-bottom: 0.7143rem; } .map-search-box { position: absolute; - top: .7143rem; - left: .7143rem; + top: 0.7143rem; + left: 0.7143rem; width: 21.4286rem; z-index: 1; background: rgba(255, 255, 255, 0.9); - padding: .3571rem; - border-radius: .2857rem; + padding: 0.3571rem; + border-radius: 0.2857rem; } .tag-group { display: flex; flex-wrap: wrap; - gap: .7143rem; + gap: 0.7143rem; } .tag-item { margin-right: 0 !important; } - -.app-container { - background: #f2f2f2; - height: calc(100vh - 5.7143rem); -}