{"version":3,"file":"notices.js","sources":["pages/index/notices/notices.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvaW5kZXgvbm90aWNlcy9ub3RpY2VzLnZ1ZQ"],"sourcesContent":["<template>\n\t<view class=\"min-h-screen bg-gray-100\">\n\t\t<!-- Tab 切换 -->\n\t\t<view class=\"mt-10 p-4 w-95-percent\">\n\t\t\t<uni-segmented-control :current=\"currentTab\" :values=\"tabs\" @clickItem=\"onTabChange\" style-type=\"button\"\n\t\t\t\tactive-color=\"#3b82f6\" class=\"mb-4\" />\n\t\t</view>\n\t\t<!-- 加载提示 -->\n\t\t<view v-if=\"loading\" class=\"text-center text-gray-500 py-8\">\n\t\t\t加载中...\n\t\t</view>\n\t\t<!-- 预约信息卡片列表 -->\n\t\t<scroll-view scroll-y class=\"h-calc-100vh-120px w-95-percent\">\n\t\t\t<view v-for=\"(item, index) in filterednotices\" :key=\"index\"\n\t\t\t\tclass=\"bg-white rounded-lg shadow p-4 mb-4 relative\">\n\t\t\t\t<!-- 卡片内容 -->\n\t\t\t\t<view class=\"space-y-2\">\n\t\t\t\t\t<div class=\"w-24 h-16 flex-shrink-0 mr-2 rounded-5\">\n\t\t\t\t\t\t<img :src=\"`https://farm.evcc.top/Uploads/yuanboyuan/news/${encodeURIComponent(item.category)}.jpg`\"\n\t\t\t\t\t\t\tmode=\"aspectFill\" alt=\"icon\" class=\"w-24 h-16\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t\n\t\t\t\t\t<view class=\"text-sm space-y-2\">\n\t\t\t\t\t\t<text class=\"text-gray-600\">消息标题:</text>\n\t\t\t\t\t\t<text>{{ item.title }}</text>\n\t\t\t\t\t</view>\n\t\t\t\t\t<view class=\"text-sm space-y-2\">\n\t\t\t\t\t\t<text class=\"text-gray-600\">发布时间:</text>\n\t\t\t\t\t\t<text>{{ item.createTime }}</text>\n\t\t\t\t\t</view>\n\t\t\t\t\t<view class=\"text-sm space-y-2\">\n\t\t\t\t\t\t<text class=\"text-gray-600\">消息正文:</text>\n\t\t\t\t\t\t<text>{{ item.content }}</text>\n\t\t\t\t\t</view>\n\t\t\t\t</view>\n\t\t\t</view>\n\t\t\t<!-- 无数据提示 -->\n\t\t\t<view v-if=\"!filterednotices.length\" class=\"text-center text-gray-500 py-8\">\n\t\t\t\t暂无{{ tabs[currentTab] }}的信息\n\t\t\t</view>\n\t\t</scroll-view>\n\t</view>\n</template>\n\n<script>\n\timport {\n\t\tref,\n\t\tcomputed,\n\t\tonMounted\n\t} from 'vue'\n\timport {\n\t\tapiService\n\t} from '@/apiservice/apiService'\n\n\texport default {\n\t\tsetup() {\n\t\t\t// Tab 数据\n\t\t\tconst tabs = ['景区动态', '新闻报道', '活动演出', '景区通知'];\n\t\t\tconst currentTab = ref(0);\n\t\t\tlet notices = ref([]);\n\t\t\tconst loading = ref(false);\n\n\t\t\t// 获取预约列表\n\t\t\tconst fetchnotices = async () => {\n\t\t\t\tloading.value = true;\n\t\t\t\ttry {\n\t\t\t\t\tconst res = await apiService.noticeList()\n\t\t\t\t\tif (res.code === 1000) {\n\t\t\t\t\t\tnotices.value = res.data\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconsole.warn('查询失败:', res.message)\n\t\t\t\t\t}\n\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.error('获取预约信息错误:', error);\n\t\t\t\t\tuni.showToast({\n\t\t\t\t\t\ttitle: '网络错误',\n\t\t\t\t\t\ticon: 'none'\n\t\t\t\t\t});\n\t\t\t\t} finally {\n\t\t\t\t\tloading.value = false;\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t// 根据当前 Tab 过滤数据\n\t\t\tconst filterednotices = computed(() => {\n\t\t\t\treturn notices.value.filter(item => item.category === tabs[currentTab.value]);\n\t\t\t});\n\n\n\t\t\t// Tab 切换\n\t\t\tconst onTabChange = (e) => {\n\t\t\t\tcurrentTab.value = e.currentIndex;\n\t\t\t};\n\n\t\t\t// 页面加载时获取数据\n\t\t\tonMounted(() => {\n\t\t\t\tfetchnotices();\n\t\t\t});\n\n\t\t\treturn {\n\t\t\t\ttabs,\n\t\t\t\tcurrentTab,\n\t\t\t\tnotices,\n\t\t\t\tfilterednotices,\n\t\t\t\tloading,\n\t\t\t\tonTabChange\n\t\t\t};\n\t\t}\n\t};\n</script>\n\n<style>\n\t.min-h-screen {\n\t\tmin-height: 100vh;\n\t}\n\n\t.bg-gray-100 {\n\t\tbackground-color: #f3f4f6;\n\t}\n\n\t.ml-5 {\n\t\tleft: 10rpx;\n\t}\n\n\t.w-95-percent {\n\t\twidth: 95%;\n\t}\n\n\t.mr-5 {\n\t\tright: 10rpx;\n\t}\n\n\t.mb-4 {\n\t\tmargin-bottom: 1rem;\n\t}\n\n\t.text-center {\n\t\ttext-align: center;\n\t}\n\n\t.text-gray-500 {\n\t\tcolor: #6b7280;\n\t}\n\n\t.text-gray-600 {\n\t\tcolor: #4b5563;\n\t}\n\n\t.py-8 {\n\t\tpadding-top: 2rem;\n\t\t/* 32px */\n\t\tpadding-bottom: 2rem;\n\t}\n\n\t.h-calc-100vh-120px {\n\t\theight: calc(100vh - 120px);\n\t}\n\n\t.px-4 {\n\t\tpadding-left: 1rem;\n\t\tpadding-right: 1rem;\n\t}\n\n\t.bg-white {\n\t\tbackground-color: #ffffff;\n\t}\n\n\t.rounded-lg {\n\t\tborder-radius: 0.5rem;\n\t\t/* 8px */\n\t}\n\n\t.shadow {\n\t\tbox-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);\n\t}\n\n\t.p-4 {\n\t\tpadding: 1rem;\n\t}\n\n\t.mb-4 {\n\t\tmargin-bottom: 1rem;\n\t}\n\n\t.mt-10 {\n\t\tmargin-top: 2rem;\n\t}\n\n\t.relative {\n\t\tposition: relative;\n\t}\n\n\t.absolute {\n\t\tposition: absolute;\n\t}\n\n\t.top-2 {\n\t\ttop: 0.5rem;\n\t\t/* 8px */\n\t}\n\n\t.right-2 {\n\t\tright: 0.5rem;\n\t\t/* 8px */\n\t}\n\n\t.bg-red-500 {\n\t\tbackground-color: #ef4444;\n\t}\n\n\t.bg-blue-500 {\n\t\tbackground-color: #3b82f6;\n\t}\n\n\t.text-white {\n\t\tcolor: #ffffff;\n\t}\n\n\t.text-sm {\n\t\tfont-size: 0.875rem;\n\t\t/* 14px */\n\t\tline-height: 1.25rem;\n\t\t/* 20px */\n\t}\n\n\t.text-base {\n\t\tfont-size: 1rem;\n\t\t/* 14px */\n\t\tline-height: 1.5rem;\n\t\t/* 20px */\n\t}\n\n\t.px-2 {\n\t\tpadding-left: 0.5rem;\n\t\tpadding-right: 0.5rem;\n\t}\n\n\t.py-1 {\n\t\tpadding-top: 0.25rem;\n\t\tpadding-bottom: 0.25rem;\n\t}\n\n\t.rounded {\n\t\tborder-radius: 0.25rem;\n\t\t/* 4px */\n\t}\n\n\t.space-y-2 {\n\t\tmargin-top: 0.5rem;\n\t\t/* 8px */\n\t}\n\n\t.flex {\n\t\tdisplay: flex;\n\t}\n\n\t.justify-between {\n\t\tjustify-content: space-between;\n\t}\n\n\t.font-bold {\n\t\tfont-weight: 700;\n\t}\n\n\t.text-lg {\n\t\tfont-size: 1.125rem;\n\t\t/* 18px */\n\t\tline-height: 1.75rem;\n\t\t/* 28px */\n\t}\n\t\n\t.w-24 {\n\t\twidth: 6rem;\n\t\t/* 32px */\n\t\n\t}\n\t\n\t.h-16 {\n\t\theight: 5rem;\n\t\t/* 32px */\n\t}\n\t.flex-shrink-0 {\n\t\tflex-shrink: 0;\n\t}\n\t\n\t.mr-2 {\n\t\tmargin-right: 0.5rem;\n\t\t/* 8px */\n\t}\n\t\n\t.rounded-5 {\n\t\tborder-radius: 5px;\n\t}\n\t\n\t\n</style>","import MiniProgramPage from 'D:/HBuilderProjects/园博园/pages/index/notices/notices.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","apiService","uni","computed","onMounted"],"mappings":";;;AAsDC,MAAK,YAAU;AAAA,EACd,QAAQ;AAEP,UAAM,OAAO,CAAC,QAAQ,QAAQ,QAAQ,MAAM;AAC5C,UAAM,aAAaA,kBAAI,CAAC;AACxB,QAAI,UAAUA,kBAAI,CAAA,CAAE;AACpB,UAAM,UAAUA,kBAAI,KAAK;AAGzB,UAAM,eAAe,YAAY;AAChC,cAAQ,QAAQ;AAChB,UAAI;AACH,cAAM,MAAM,MAAMC,sBAAU,WAAC,WAAW;AACxC,YAAI,IAAI,SAAS,KAAM;AACtB,kBAAQ,QAAQ,IAAI;AAAA,eAEd;AACNC,wBAAa,MAAA,MAAA,QAAA,yCAAA,SAAS,IAAI,OAAO;AAAA,QAClC;AAAA,MAEC,SAAO,OAAO;AACfA,sBAAA,MAAA,MAAA,SAAA,yCAAc,aAAa,KAAK;AAChCA,sBAAAA,MAAI,UAAU;AAAA,UACb,OAAO;AAAA,UACP,MAAM;AAAA,QACP,CAAC;AAAA,MACF,UAAU;AACT,gBAAQ,QAAQ;AAAA,MACjB;AAAA;AAID,UAAM,kBAAkBC,cAAAA,SAAS,MAAM;AACtC,aAAO,QAAQ,MAAM,OAAO,UAAQ,KAAK,aAAa,KAAK,WAAW,KAAK,CAAC;AAAA,IAC7E,CAAC;AAID,UAAM,cAAc,CAAC,MAAM;AAC1B,iBAAW,QAAQ,EAAE;AAAA;AAItBC,kBAAAA,UAAU,MAAM;AACf;IACD,CAAC;AAED,WAAO;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;EAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5GF,GAAG,WAAW,eAAe;"}
|