From 025e46e11cb2962fd7692adfa401333758cc779b Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 02 九月 2025 14:00:34 +0800
Subject: [PATCH] 修改组件

---
 src/pages/template.vue |  109 +++++++++++++++++++++++-------------------------------
 1 files changed, 46 insertions(+), 63 deletions(-)

diff --git a/src/pages/template.vue b/src/pages/template.vue
index 3f0b7ac..505e971 100644
--- a/src/pages/template.vue
+++ b/src/pages/template.vue
@@ -1,65 +1,48 @@
+<script setup lang="ts">
+import tab from "@/plugins/tab";
+import list from "./template.config.js";
+
+interface ListItem {
+  groupName: string;
+  list: FieldItem[];
+}
+
+interface FieldItem {
+  title: string;
+  icon: string;
+  path: string;
+}
+
+const listData = list as ListItem[];
+const getIcon = (path: string) => `../static/uview/demo/${path}.png`;
+const openPage = (path: string) => tab.navigateTo(path)
+const getGroupTitle = (item: ListItem) => item.groupName;
+const getFieldTitle = (item: FieldItem) => item.title;
+</script>
 <template>
-    <view class="wrap">
-      <view class="list-wrap">
-        <u-cell-group title-bg-color="rgb(243, 244, 246)" :title="getGroupTitle(item)" v-for="(item, index) in list"
-          :key="index">
-          <u-cell :titleStyle="{ fontWeight: 500 }" @click="openPage(item1.path)" :title="getFieldTitle(item1)"
-            v-for="(item1, index1) in item.list" :key="index1">
-            <template v-slot:icon>
-              <image class="u-cell-icon" :src="getIcon(item1.icon)" mode="widthFix"></image>
-            </template>
-          </u-cell>
-        </u-cell-group>
-      </view>
-      <u-gap height="70"></u-gap>
-      <!-- <u-tabbar :list="vuex_tabbar" :mid-button="true"></u-tabbar> -->
+  <view class="wrap">
+    <view class="list-wrap">
+      <u-cell-group title-bg-color="rgb(243, 244, 246)" :title="getGroupTitle(item)" v-for="(item, index) in listData"
+        :key="index">
+        <u-cell :titleStyle="{ fontWeight: 500 }" @click="openPage(item1.path)" :title="getFieldTitle(item1)"
+          v-for="(item1, index1) in item.list" :key="index1">
+          <template v-slot:icon>
+            <image class="u-cell-icon" :src="getIcon(item1.icon)" mode="widthFix"></image>
+          </template>
+        </u-cell>
+      </u-cell-group>
     </view>
-  </template>
-  
-  <script>
-  import list from "./template.config.js";
-  export default {
-    data() {
-      return {
-        list: list,
-        // desc: '鏀堕泦浼楀鐨勫父鐢ㄩ〉闈㈠拰甯冨眬锛屽噺灏戝紑鍙戣�呯殑閲嶅宸ヤ綔锛岃浣犱笓娉ㄩ�昏緫锛屼簨鍗婂姛鍊�'
-      }
-    },
-    computed: {
-      getIcon() {
-        return path => {
-          return '../static/uview/demo/' + path + '.png';
-          return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
-        }
-      },
-    },
-    methods: {
-      openPage(path) {
-        this.$u.route({
-          url: path
-        })
-      },
-      getGroupTitle(item) {
-        return item.groupName
-      },
-      getFieldTitle(item) {
-        return item.title
-      }
-    }
-  }
-  </script>
-  
-  <style>
-  /* page {
-          background-color: rgb(240, 242, 244);
-      } */
-  </style>
-  
-  <style lang="scss" scoped>
-  .u-cell-icon {
-    width: 36rpx;
-    height: 36rpx;
-    margin-right: 8rpx;
-  }
-  </style>
-  
\ No newline at end of file
+    <u-gap height="70"></u-gap>
+  </view>
+</template>
+<style lang="scss" scoped>
+page {
+  background-color: rgb(240, 242, 244);
+}
+
+.u-cell-icon {
+  width: 36rpx;
+  height: 36rpx;
+  margin-right: 8rpx;
+}
+</style>
\ No newline at end of file

--
Gitblit v1.9.3