|
@@ -0,0 +1,77 @@
|
|
|
+<template>
|
|
|
+ <div>
|
|
|
+ <div class="px-10 pt-20">
|
|
|
+ <input
|
|
|
+ v-model="searchStr"
|
|
|
+ placeholder="请输入搜索关键词"
|
|
|
+ confirm-type="search"
|
|
|
+ @confirm="onSearch"
|
|
|
+ />
|
|
|
+ <scroll-view
|
|
|
+ v-if="dataList.length"
|
|
|
+ type="list"
|
|
|
+ @scrolltolower="loadMore"
|
|
|
+ class="scroll-container"
|
|
|
+ scroll-y="true"
|
|
|
+ >
|
|
|
+ <TravelProjectItem v-for="item in dataList" :key="item.id" :item-data="item" />
|
|
|
+ </scroll-view>
|
|
|
+ <Empty v-else-if="!dataList.length && !loading" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script setup>
|
|
|
+import TravelProjectItem from '@/components/Travel/ProjectItem/index.vue';
|
|
|
+import Empty from '@/components/Empty/index.vue';
|
|
|
+import { getTravelProjectList } from '@/api/common';
|
|
|
+
|
|
|
+const id = ref(0);
|
|
|
+const searchStr = ref('');
|
|
|
+const dataList = ref([]);
|
|
|
+const loading = ref(false);
|
|
|
+const finished = ref(false);
|
|
|
+const pageNum = ref(1);
|
|
|
+const pageSize = ref(10);
|
|
|
+async function getProjects() {
|
|
|
+ const { data } = await getTravelProjectList({
|
|
|
+ pageNum: pageNum.value,
|
|
|
+ pageSize: pageSize.value,
|
|
|
+ belongTab: id.value,
|
|
|
+ searchString: searchStr.value,
|
|
|
+ });
|
|
|
+ dataList.value = dataList.value.concat(data.dataList);
|
|
|
+ loading.value = false;
|
|
|
+ if (dataList.value.length >= data.totalCount) {
|
|
|
+ finished.value = true;
|
|
|
+ } else {
|
|
|
+ finished.value = false;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+function loadMore() {
|
|
|
+ pageNum.value++;
|
|
|
+ getProjects();
|
|
|
+}
|
|
|
+
|
|
|
+function onSearch() {
|
|
|
+ pageNum.value = 1;
|
|
|
+ dataList.value = [];
|
|
|
+ // finished.value = false;
|
|
|
+ getProjects();
|
|
|
+}
|
|
|
+
|
|
|
+onLoad((options) => {
|
|
|
+ id.value = options.id;
|
|
|
+ wx.setNavigationBarTitle({
|
|
|
+ title: options.menuName,
|
|
|
+ success: function (res) {
|
|
|
+ },
|
|
|
+ fail: function (err) {
|
|
|
+ },
|
|
|
+ });
|
|
|
+ getProjects();
|
|
|
+});
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped></style>
|