From de2f2613ffd98786bc7252a35ceb6a4d165849ef Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期五, 15 三月 2024 14:27:14 +0800
Subject: [PATCH] 界面调整

---
 src/views/geographyData/index.vue |   98 ++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 93 insertions(+), 5 deletions(-)

diff --git a/src/views/geographyData/index.vue b/src/views/geographyData/index.vue
index 5a16b43..2389b01 100644
--- a/src/views/geographyData/index.vue
+++ b/src/views/geographyData/index.vue
@@ -36,8 +36,9 @@
       <el-table v-loading="loading" :data="geographyDataList" @selection-change="handleSelectionChange">
         <el-table-column type="selection" width="55" align="center" />
         <el-table-column label="搴忓彿" align="center" type="index" width="50" />
-        <el-table-column label="绫诲瀷" align="center" prop="type" />
         <el-table-column label="鍚嶇О" align="center" prop="name" />
+        <el-table-column label="绫诲瀷" align="center" prop="type" />
+        <el-table-column label="鎵�灞炶闀�" align="center" prop="townStreetName" />
         <el-table-column label="鎻忚堪" align="center" prop="description" />
         <el-table-column label="鏍囪鐘舵��" align="center" prop="status">
           <template #default="scope">
@@ -66,10 +67,10 @@
       />
     </el-card>
     <!-- 娣诲姞鎴栦慨鏀规暟鎹笂鍥惧璇濇 -->
-    <el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
+    <el-dialog :title="dialog.title" v-model="dialog.visible" width="430px" append-to-body>
       <el-form ref="geographyDataFormRef" :model="form" :rules="rules" label-width="80px">
         <el-form-item label="绫诲瀷" prop="type">
-          <el-select v-model="form.type" placeholder="璇烽�夋嫨" style="width: 240px;">
+          <el-select v-model="form.type" placeholder="璇烽�夋嫨" class="el-input-width">
             <el-option key="1" label="浜嬫晠鏄撳彂澶氬彂璺" value="浜嬫晠鏄撳彂澶氬彂璺" />
             <el-option key="2" label="閲嶇偣鏃呮父閫氶亾" value="閲嶇偣鏃呮父閫氶亾" />
             <el-option key="3" label="閮芥睙鍫版櫙鍖�" value="閮芥睙鍫版櫙鍖�" />
@@ -82,10 +83,50 @@
           </el-select>
         </el-form-item>
         <el-form-item label="鍚嶇О" prop="name">
-          <el-input v-model="form.name" placeholder="璇疯緭鍏ュ悕绉�" />
+          <el-input class="el-input-width" v-model="form.name" placeholder="璇疯緭鍏ュ悕绉�" />
+        </el-form-item>
+        <el-form-item label="闀囪" prop="townStreetName">
+          <el-select v-model="form.townStreetName" placeholder="璇烽�夋嫨" clearable class="el-input-width">
+            <el-option v-for="item in townStreetNames" :key="item.name" :label="item.name" :value="item.name"/>
+          </el-select>
         </el-form-item>
         <el-form-item label="鎻忚堪" prop="description">
-            <el-input v-model="form.description" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />
+            <el-input class="el-input-width" v-model="form.description" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />
+        </el-form-item>
+        <el-form-item label="鍥剧墖" prop="">
+          <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="2">
+            <el-icon><Plus /></el-icon>
+            <template #file="{ file }">
+              <div>
+                <img class="el-upload-list__item-thumbnail" :src="file.url" alt="" />
+                <span class="el-upload-list__item-actions">
+                  <span
+                    class="el-upload-list__item-preview"
+                    @click="handlePictureCardPreview(file)"
+                  >
+                    <el-icon><zoom-in /></el-icon>
+                  </span>
+                  <span
+                    v-if="!disabled"
+                    class="el-upload-list__item-delete"
+                    @click="handleDownload(file)"
+                  >
+                    <el-icon><Download /></el-icon>
+                  </span>
+                  <span
+                    v-if="!disabled"
+                    class="el-upload-list__item-delete"
+                    @click="handleRemove(file)"
+                  >
+                    <el-icon><Delete /></el-icon>
+                  </span>
+                </span>
+              </div>
+            </template>
+          </el-upload>
+          <el-dialog v-model="dialogVisible">
+            <img w-full :src="dialogImageUrl" alt="Preview Image" />
+          </el-dialog>
         </el-form-item>
       </el-form>
       <template #footer>
@@ -125,6 +166,7 @@
   id: undefined,
   type: undefined,
   name: undefined,
+  townStreetName: undefined,
   description: undefined,
   status: undefined
 }
@@ -134,6 +176,7 @@
     pageNum: 1,
     pageSize: 10,
     name: undefined,
+    townStreetName: undefined,
     params: {
     }
   },
@@ -146,6 +189,9 @@
     ],
     name: [
       { required: true, message: "鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }
+    ],
+    townStreetName: [
+      { required: true, message: "琛楅晣涓嶈兘涓虹┖", trigger: "blur" }
     ],
     description: [
       { required: true, message: "鎻忚堪涓嶈兘涓虹┖", trigger: "blur" }
@@ -251,5 +297,47 @@
 
 onMounted(() => {
   getList();
+  getTownStreetNames();
 });
+
+
+import { Delete, Download, Plus, ZoomIn } from '@element-plus/icons-vue'
+
+import type { UploadFile } from 'element-plus'
+
+const dialogImageUrl = ref('')
+const dialogVisible = ref(false)
+const disabled = ref(false)
+
+const handleRemove = (file: UploadFile) => {
+  console.log(file)
+}
+
+const handlePictureCardPreview = (file: UploadFile) => {
+  dialogImageUrl.value = file.url!
+  dialogVisible.value = true
+}
+
+const handleDownload = (file: UploadFile) => {
+  console.log(file)
+}
+
+// 璋冪敤鍚庣API鑾峰彇闀囪鍚嶇О鍒楄〃
+import { listRegion} from '@/api/region';
+const townStreetNames = ref<RegionVO[]>([]);
+
+const regionQueryParams = {
+  parentCode: 510181
+}
+
+/** 鏌ヨ闀囪 */
+const getTownStreetNames = async () => {
+  const res = await listRegion(regionQueryParams);
+  townStreetNames.value = res.rows;
+}
 </script>
+<style scoped>
+.el-input-width {
+  width: 265px;
+}
+</style>
\ No newline at end of file

--
Gitblit v1.8.0