From 9e7b9c04609ba8595ea45eea732b312fcb387151 Mon Sep 17 00:00:00 2001
From: rjg <746338628@qq.com>
Date: Mon, 14 Apr 2025 14:14:11 +0800
Subject: [PATCH] Merge branch 'master' of http://139.196.74.78:10010/r/drone/drone-web-manage
---
src/views/system/dept.vue | 59 ++++++++++++++++++++++++++++++-----------------------------
1 files changed, 30 insertions(+), 29 deletions(-)
diff --git a/src/views/system/dept.vue b/src/views/system/dept.vue
index 7fc8860..f253b58 100644
--- a/src/views/system/dept.vue
+++ b/src/views/system/dept.vue
@@ -48,7 +48,7 @@
</template>
<!-- 自定义 areaCode 的显示模板,确保显示单一值 -->
<template #areaCode="{ row }">
- {{ row.areaCode }}
+ <span>{{ row.areaName }}</span>
</template>
</avue-crud>
</basic-container>
@@ -391,19 +391,15 @@
}
console.log('--- Start rowUpdate ---');
- // 处理 areaCode,确保只取最后一个值
- let areaCode = this.form.areaCode;
- if (Array.isArray(areaCode)) {
- areaCode = areaCode[areaCode.length - 1]; // 数组取最后一个
- } else if (typeof areaCode === 'string' && areaCode.includes(',')) {
- const codes = areaCode.split(',');
- areaCode = codes[codes.length - 1]; // 字符串拆分取最后一个
- }
- row.areaCode = areaCode || null; // 确保非空
+ // 提交时只使用县级代码
+ const submitData = {
+ ...row,
+ areaCode: row.areaCode.split(',').pop() // 取最后一个代码(县级)
+ };
console.log('Row data before submit:', row);
- update(row).then(
+ update(submitData).then(
(res) => {
console.log('Update response:', res.data);
this.$message({
@@ -492,18 +488,21 @@
if (['edit', 'view'].includes(type)) {
getDept(this.form.id).then((res) => {
const areaCode = res.data.data.areaCode;
- let finalareaCode = areaCode;
- if (typeof areaCode === 'string' && areaCode.includes(',')) {
- const codes = areaCode.split(',');
- finalareaCode = codes[codes.length - 1]; // 取最后一个值
- }
+ const areaName = res.data.data.areaName;
+
+ // 生成完整的行政区划代码
+ const fullAreaCode = this.getFullAreaCode(areaCode);
+
this.form = Object.assign({}, res.data.data, {
hasChildren: this.form.hasChildren,
- areaCode: finalareaCode ? String(finalareaCode) : null // 确保是字符串
+ // 使用完整的行政区划代码
+ areaCode: fullAreaCode,
+ areaName: areaName || '',
});
});
} else if (type === 'add') {
- this.form.areaCode = null;
+ this.form.areaCode = '';
+ this.form.areaName = '';
}
done();
},
@@ -534,19 +533,13 @@
console.log('onLoad response:', res.data);
// 处理 areaCode,确保是单一字符串
const data = (res.data.data || []).map(item => {
- let areaCode = item.areaCode;
- // 如果是数组,取最后一个值
- if (Array.isArray(areaCode)) {
- areaCode = areaCode[areaCode.length - 1];
- }
- // 如果是逗号分隔的字符串,取最后一个值
- else if (typeof areaCode === 'string' && areaCode.includes(',')) {
- const codes = areaCode.split(',');
- areaCode = codes[codes.length - 1];
- }
+ const fullAreaCode = this.getFullAreaCode(item.areaCode);
return {
...item,
- areaCode: areaCode ? String(areaCode) : '' // 确保是字符串
+ // 保存完整的行政区划代码
+ areaCode: fullAreaCode,
+ // 使用原始的县级代码作为实际值
+ originalAreaCode: item.areaCode
};
});
this.data = data;
@@ -565,6 +558,14 @@
resolve(res.data.data);
});
},
+ // 新增:获取完整的行政区划代码
+ getFullAreaCode(countyCode) {
+ if (!countyCode) return '';
+ // 县级代码是12位,省级代码取前2位,市级代码取前4位
+ const provinceCode = countyCode.substring(0, 2) + '0000000000';
+ const cityCode = countyCode.substring(0, 4) + '00000000';
+ return `${provinceCode},${cityCode},${countyCode}`;
+ },
},
};
</script>
--
Gitblit v1.9.3