|
@@ -0,0 +1,105 @@
|
|
|
+<template>
|
|
|
+ <div>
|
|
|
+ <!-- 导航栏 -->
|
|
|
+ <van-nav-bar title="问答库" left-text="返回" left-arrow @click-left="onClickLeft" />
|
|
|
+ <!-- 搜索框 -->
|
|
|
+ <van-search v-model="title" :clearable="false" placeholder="请输入内容" @search="onSearch" />
|
|
|
+ <div v-if="isShow" style="padding: 10px;font-size: 14px;color: #979797;">暂无数据,是否进行 <i style="color: #2196F3;font-style: normal;" @click="handleGoKnowledge">自动咨询</i> ?</div>
|
|
|
+ <!-- 列表 -->
|
|
|
+ <van-list v-model:loading="loading" :finished="finished" finished-text="没有更多了" @load="onLoad">
|
|
|
+ <!-- <van-cell v-for="item in list" :key="item" :title="item" /> -->
|
|
|
+ <div class="vanlist-box" v-for="item in list" :key="item">
|
|
|
+ <div class="vanlist-box_top">
|
|
|
+ <div class="title">{{ item.title }}</div>
|
|
|
+ <van-button size="mini" type="primary" round @click = "handleGoDetail(item)">查看详情</van-button>
|
|
|
+ </div>
|
|
|
+ <van-tag type="primary">{{item.typeName}}</van-tag>
|
|
|
+ </div>
|
|
|
+ </van-list>
|
|
|
+
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script lang="ts" setup>
|
|
|
+import { onMounted, ref } from 'vue'
|
|
|
+import { getPageData } from '@/api/questionsApi'
|
|
|
+
|
|
|
+const onClickLeft = () => history.back();
|
|
|
+const isShow = ref(false);
|
|
|
+// 搜索
|
|
|
+const title = ref('');
|
|
|
+const onSearch = (val) => {
|
|
|
+ title.value = val;
|
|
|
+ pageInfo.value.pageNumber = 1;
|
|
|
+ list.value = [];
|
|
|
+ loading.value = true;
|
|
|
+ getPage();
|
|
|
+}
|
|
|
+// 列表
|
|
|
+const list = ref([]);
|
|
|
+const loading = ref(false);
|
|
|
+const finished = ref(false);
|
|
|
+
|
|
|
+const onLoad = () => {
|
|
|
+ getPage()
|
|
|
+};
|
|
|
+
|
|
|
+const pageInfo = ref({
|
|
|
+ pageNumber: 1,
|
|
|
+ pageSize: 10,
|
|
|
+})
|
|
|
+const getPage = async() => {
|
|
|
+ const { data } = await getPageData({
|
|
|
+ pageNumber: pageInfo.value.pageNumber,
|
|
|
+ pageSize: pageInfo.value.pageSize,
|
|
|
+ title: title.value,
|
|
|
+ })
|
|
|
+ list.value = list.value.concat(data.records)
|
|
|
+ pageInfo.value.pageNumber++
|
|
|
+ loading.value = false
|
|
|
+ finished.value = data.records.length < pageInfo.value.pageSize
|
|
|
+ if (data.records.length === 0 || !data.records) {
|
|
|
+ finished.value = true
|
|
|
+ }
|
|
|
+
|
|
|
+ if(list.value.length === 0){
|
|
|
+ isShow.value = true
|
|
|
+ }else{
|
|
|
+ isShow.value = false
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+/** 跳转问题详情 */
|
|
|
+const handleGoDetail = (item:any) => {
|
|
|
+ uni.navigateTo({
|
|
|
+ url: `/subPages/pages/questions/detail?id=${item.uuid}`,
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+const handleGoKnowledge = () => {
|
|
|
+ uni.navigateTo({
|
|
|
+ url: `/subPages/pages/reportProblems/index`,
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+.vanlist-box{
|
|
|
+ padding: 10px;
|
|
|
+ margin: 10px;
|
|
|
+ border-bottom: 1px solid #9e9e9e42;
|
|
|
+ &_top{
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
+ padding: 10px;
|
|
|
+ .title{
|
|
|
+ width: 80%;
|
|
|
+ white-space: nowrap;
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|