From a1d7e81859f554f3a53680cc35f0f49bf1f77098 Mon Sep 17 00:00:00 2001
From: wwf <1971391498@qq.com>
Date: 星期四, 14 五月 2026 14:37:02 +0800
Subject: [PATCH] 导入项目
---
src/views/system/area/index.vue | 79 +++++++++++++++++++++++++++++++++++++++
1 files changed, 79 insertions(+), 0 deletions(-)
diff --git a/src/views/system/area/index.vue b/src/views/system/area/index.vue
new file mode 100644
index 0000000..339ecef
--- /dev/null
+++ b/src/views/system/area/index.vue
@@ -0,0 +1,79 @@
+<template>
+ <doc-alert title="鍦板尯 & IP" url="https://doc.iocoder.cn/area-and-ip/" />
+
+ <!-- 鎿嶄綔鏍� -->
+ <ContentWrap>
+ <el-button type="primary" plain @click="openForm()">
+ <Icon icon="ep:plus" class="mr-5px" /> IP 鏌ヨ
+ </el-button>
+ </ContentWrap>
+
+ <!-- 鍒楄〃 -->
+ <ContentWrap>
+ <div style="width: 100%; height: 700px">
+ <!-- AutoResizer 鑷姩璋冭妭澶у皬 -->
+ <el-auto-resizer>
+ <template #default="{ height, width }">
+ <!-- Virtualized Table 铏氭嫙鍖栬〃鏍硷細楂樻�ц兘锛岃В鍐宠〃鏍煎湪澶ф暟鎹噺涓嬬殑鍗¢】闂 -->
+ <el-table-v2
+ v-loading="loading"
+ :columns="columns"
+ :data="list"
+ :width="width"
+ :height="height"
+ expand-column-key="id"
+ />
+ </template>
+ </el-auto-resizer>
+ </div>
+ </ContentWrap>
+
+ <!-- 琛ㄥ崟寮圭獥锛氭坊鍔�/淇敼 -->
+ <AreaForm ref="formRef" />
+</template>
+<script setup lang="tsx">
+import { Column } from 'element-plus'
+import AreaForm from './AreaForm.vue'
+import * as AreaApi from '@/api/system/area'
+
+defineOptions({ name: 'SystemArea' })
+
+// 琛ㄦ牸鐨� column 瀛楁
+const columns: Column[] = [
+ {
+ dataKey: 'id', // 闇�瑕佹覆鏌撳綋鍓嶅垪鐨勬暟鎹瓧娈�
+ title: '缂栧彿', // 鏄剧ず鍦ㄥ崟鍏冩牸琛ㄥご鐨勬枃鏈�
+ width: 400, // 褰撳墠鍒楃殑瀹藉害锛屽繀椤昏缃�
+ fixed: true, // 鏄惁鍥哄畾鍒�
+ key: 'id' // 鏍戝舰灞曞紑瀵瑰簲鐨� key
+ },
+ {
+ dataKey: 'name',
+ title: '鍦板悕',
+ width: 200
+ }
+]
+const loading = ref(true) // 鍒楄〃鐨勫姞杞戒腑
+const list = ref([]) // 琛ㄦ牸鐨勬暟鎹�
+
+/** 鑾峰緱鏁版嵁鍒楄〃 */
+const getList = async () => {
+ loading.value = true
+ try {
+ list.value = await AreaApi.getAreaTree()
+ } finally {
+ loading.value = false
+ }
+}
+
+/** 娣诲姞/淇敼鎿嶄綔 */
+const formRef = ref()
+const openForm = () => {
+ formRef.value.open()
+}
+
+/** 鍒濆鍖� **/
+onMounted(() => {
+ getList()
+})
+</script>
--
Gitblit v1.8.0