wangfumin 4 days ago
parent
commit
99c1232ab4

+ 11 - 41
mobile/src/views/collectpage/components/SearchPageComponent.vue

@@ -83,6 +83,10 @@ const props = defineProps({
   initialSearch: {
     type: Object,
     default: () => ({searchText: '', dim: 3, level: '', category: '', material: '', era: ''})
+  },
+  categoryOptions: {
+    type: Object,
+    default: () => {return {}}
   }
 })
 
@@ -102,56 +106,22 @@ const levelOptions = ref([
   { label: '一级', value: '一级' },
   { label: '二级', value: '二级' },
   { label: '三级', value: '三级' },
+  { label: '一般文物', value: '一般文物' },
   { label: '未定级', value: '未定级' }
 ])
 
-const categoryOptions = ref([
-  { label: '陶瓷器', value: '陶瓷器' },
-  { label: '金属器', value: '金属器' },
-  { label: '玉石器', value: '玉石器' },
-  { label: '漆木器', value: '漆木器' },
-  { label: '书画', value: '书画' },
-  { label: '织绣', value: '织绣' },
-  { label: '其他', value: '其他' }
-])
-
 const materialOptions = ref([
-  { label: '陶', value: '陶' },
-  { label: '瓷', value: '瓷' },
-  { label: '铜', value: '铜' },
-  { label: '铁', value: '铁' },
-  { label: '银', value: '银' },
-  { label: '金', value: '金' },
-  { label: '玉', value: '玉' },
   { label: '石', value: '石' },
-  { label: '木', value: '木' },
-  { label: '竹', value: '竹' },
-  { label: '纸', value: '纸' },
-  { label: '绢', value: '绢' },
-  { label: '丝', value: '丝' },
-  { label: '棉', value: '棉' },
+  { label: '铜', value: '铜' },
+  { label: '铜宝玉石', value: '铜宝玉石' },
+  { label: '瓷', value: '瓷' },
+  { label: '陶', value: '陶' },
+  { label: '宝玉石', value: '宝玉石' },
+  { label: '玻璃', value: '玻璃' },
   { label: '其他', value: '其他' }
 ])
 
 const eraOptions = ref([
-  { label: '新石器时代', value: '新石器时代' },
-  { label: '夏', value: '夏' },
-  { label: '商', value: '商' },
-  { label: '周', value: '周' },
-  { label: '春秋', value: '春秋' },
-  { label: '战国', value: '战国' },
-  { label: '秦', value: '秦' },
-  { label: '汉', value: '汉' },
-  { label: '三国', value: '三国' },
-  { label: '晋', value: '晋' },
-  { label: '南北朝', value: '南北朝' },
-  { label: '隋', value: '隋' },
-  { label: '唐', value: '唐' },
-  { label: '五代', value: '五代' },
-  { label: '宋', value: '宋' },
-  { label: '元', value: '元' },
-  { label: '明', value: '明' },
-  { label: '清', value: '清' },
   { label: '近现代', value: '近现代' }
 ])
 

+ 1 - 1
mobile/src/views/collectpage/components/collectDetail.vue

@@ -250,7 +250,7 @@ const getArtifactDetail = async () => {
         name: response.name || response.title,
         remark: response.description || response.desc || '暂无描述',
         era: response.era || response.agetype || '近现代',
-        category: response.category || '其他',
+        category: response.texturetype1 || '其他',
         level: response.level || response.grade || '未定级',
         texture: response.material || response.texture || '其他',
         size: response.size || response.dimensions,

+ 1 - 0
mobile/src/views/collectpage/index.vue

@@ -4,6 +4,7 @@
     <div v-if="showSearchPage" class="search-page">
       <SearchPageComponent
         :initialSearch="searchParams"
+        :categoryOptions="categoryOptions"
         @search="handleSearch"
         @close="closeSearchPage"
       />

+ 2 - 2
pc/src/views/collect/components/AnnouncementContent.vue

@@ -6,9 +6,9 @@
       <!-- 顶部标题行 -->
       <div class="search-header">
         <span class="search-title">检索</span>
-        <div class="toggle-btn" @click="toggleSearch">
+        <!-- <div class="toggle-btn" @click="toggleSearch">
           <img :src="searchCollapsed ? downIcon : upIcon" alt="切换" />
-        </div>
+        </div> -->
       </div>
 
       <!-- 搜索内容 -->

+ 4 - 2
pc/src/views/collect/components/collectDetails.vue

@@ -148,7 +148,7 @@
       </div>
     </div>
     <!-- 底部导航 -->
-    <div class="navigation-section">
+    <div class="navigation-section" v-if="!isFromHome">
       <button
         class="nav-btn prev-btn"
         @click="navigateArtifact('prev')"
@@ -192,6 +192,8 @@ import { ref, computed, watch, defineProps, defineEmits, onMounted } from 'vue';
 import { useStore } from 'vuex';
 import getBookCountApi from '@/api';
 import ModelLook from './modelLook.vue';
+import { useRoute } from 'vue-router';
+const route = useRoute();
 const imguRL =  import.meta.env.VITE_COS_BASE_URL
 const modelUrl = import.meta.env.VITE_MODEL_URL
 // Props
@@ -229,7 +231,7 @@ const modelLookTitle = ref('');
 
 // 从Vuex获取所有文物数据
 const allArtifacts = computed(() => store.getters.getAllArtifacts);
-
+const isFromHome = computed(() => route.query.showDetails);
 // 使用Vuex中的文物列表,如果没有则使用props传入的列表
 const effectiveArtifactList = computed(() => {
   return allArtifacts.value.length > 0 ? allArtifacts.value : props.artifactList;

+ 9 - 2
pc/src/views/collect/index.vue

@@ -135,8 +135,15 @@ const showArtifactDetails = (artifact, list) => {
 
 // 返回列表页
 const backToList = () => {
-  showDetails.value = false;
-  currentArtifact.value = null;
+  console.log(route.query, 'route.query')
+  if(route.query.showDetails){
+    showDetails.value = false;
+    currentArtifact.value = null;
+    router.replace({path: '/collect', query: {'nav': currentNav.value }});
+  } else {
+    showDetails.value = false;
+    currentArtifact.value = null;
+  }
 };
 
 // 切换到公告详情页