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 @@
-
+
-
+
-
+
-
+
-
+
- 搜索
- 重置
+ 搜索
+ 重置
- 新增
+ 新增
-
+
-
-
+
+
-
+
{{ scope.row.deptName }}
-
-
-
-
+
+
+
+
- 查看
- 修改
- 删除
+ 查看
+ 修改
+ 删除
-
+
-
+
-
+
-
+
-
-
+
-
-
+
+
@@ -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);
-}