소스 검색

📦 首页外链图片

快乐的梦鱼 1 주 전
부모
커밋
3591b6ad8e

+ 7 - 3
server/api/ecms/channel/[id].ts

@@ -19,6 +19,8 @@ export default defineEventHandler<EventHandlerRequest, Promise<IResponse<IChanne
 }>>>(async (event) => {
   try {
     const id = event.context.params?.id;
+    const query = getQuery(event);
+    const onlyNavVisible = query.onlyNavVisible === 'true';
     if (!id)
       return createErrorResponse('分类ID不能为空');
     
@@ -29,12 +31,14 @@ export default defineEventHandler<EventHandlerRequest, Promise<IResponse<IChanne
     if (!category) 
       return createErrorResponse('分类不存在');
 
-    const childs = await DB.table('pr_cms_channel')
+    const query2 = DB.table('pr_cms_channel')
       .where('status', 'normal')
       .where('parent_id', id)
       .orderBy('weigh', 'desc')
-      .orderBy('id', 'desc')
-      .get();
+      .orderBy('id', 'desc');
+    if (onlyNavVisible)
+      query2.where('isnav', 1);
+    const childs = await query2.get();
 
     const parents : IChannel[] = [];
     let parentId = category.parent_id;

+ 1 - 0
server/api/ecms/channel/nav.ts

@@ -8,6 +8,7 @@ export default defineEventHandler<EventHandlerRequest, Promise<IResponse<IChanne
     return createSuccessResponse(await DB.table('pr_cms_channel')
             .where('status', 'normal')
             .where('isnav', 1)
+            .where('parent_id', 0)
             .orderBy('weigh', 'desc')
             .orderBy('id', 'asc')
             .select('*')

BIN
src/assets/images/bars/chuangxin.png


BIN
src/assets/images/bars/dangshi.png


BIN
src/assets/images/bars/gwy.jpg


BIN
src/assets/images/bars/sixiang.png


BIN
src/assets/images/bars/wangshuanbanshi.png


BIN
src/assets/images/bars/xmlvyou.jpg


src/assets/images/xuexi.png → src/assets/images/bars/xuexi.png


+ 1 - 1
src/pages/channel/[id].vue

@@ -91,7 +91,7 @@ const router = useRouter();
 const channelId = parseInt(route.params.id as string);
 
 const channelData = await useSSrSimpleDataLoader('channel' + channelId, async () => {
-  const res = await $fetch(`/api/ecms/channel/${channelId}`);
+  const res = await $fetch(`/api/ecms/channel/${channelId}?onlyNavVisible=true`);
   if (!res.status)
     throw new Error(res.message);
   const data = res.data as IChannel & {

+ 3 - 3
src/pages/channel/laws.vue

@@ -25,17 +25,17 @@
               </div>
               
               <!-- 搜索区域 -->
-              <div class="d-flex justify-content-center align-items-center gap-3 mb-4">
+              <div class="d-flex justify-content-center flex-wrap align-items-center gap-3 mb-4">
                 <button 
                   v-for="value in channelData.content.value?.childs"
                   :key="value.id"
-                  class="bordered" 
+                  class="bordered flex-shrink-0" 
                   :class="{ 'active': selectedCategory === value.id }"
                   @click="selectCategory(value.id)"
                 >
                   {{ value.name }}
                 </button>
-                <div class="bordered-input">
+                <div class="bordered-input flex-shrink-0">
                   <input 
                     type="text" 
                     id="search-input" 

+ 55 - 9
src/pages/index.vue

@@ -57,15 +57,6 @@
               </template>
             </Carousel>
 
-            <!-- 学习强国 -->
-            <div class="d-flex flex-row justify-content-between">
-              <a href="http://cpc.people.com.cn/GB/67481/448544/index.html" class="w-50">
-                <img src="https://wlj.xm.gov.cn/ztzl/202211/W020221213510920336898.jpg" class="mt-3" style="width: 100%; height:130px;object-fit:cover;" /> 
-              </a>
-              <a href="https://www.12371.cn/special/xxzd/" class="w-50">
-                <img src="@/assets/images/xuexi.png" class="mt-3" style="width: 100%; height:130px;object-fit:cover;" /> 
-              </a>
-            </div>
           </div>
 
           <div class="d-flex flex-column col col-sm-12 col-md-6 col-lg-6 notices-list">
@@ -119,6 +110,51 @@
           </div>
         </div>
 
+        <!-- 学习强国 -->
+        <div class="row">
+          <div class="col col-12">
+            
+            <Carousel v-bind="carouselConfig2">
+              <Slide>
+                <div class="d-flex flex-row w-100">
+                  <a href="http://www.12371.cn/special/xxzd/" target="_blank" class="w-25">
+                    <img src="@/assets/images/bars/sixiang.png" class="mt-3 bars-image" /> 
+                  </a>
+                  <a href="http://cpc.people.com.cn/GB/67481/448544/index.html" target="_blank" class="w-25">
+                    <img src="https://wlj.xm.gov.cn/ztzl/202211/W020221213510920336898.jpg" class="mt-3 bars-image" /> 
+                  </a>
+                  <a href="https://www.12371.cn/special/xxzd/" target="_blank" class="w-25">
+                    <img src="@/assets/images/bars/xuexi.png" class="mt-3 bars-image" /> 
+                  </a>
+                  <a href="http://wlj.xm.gov.cn/ztzl/dsxxjy/" target="_blank" class="w-25">
+                    <img src="@/assets/images/bars/dangshi.png" class="mt-3 bars-image" /> 
+                  </a>
+                </div>
+              </Slide>
+              <Slide>
+                <div class="d-flex flex-row w-100">
+                  <a href="http://wlj.xm.gov.cn/ztzl/ggcx/" target="_blank" class="w-25">
+                    <img src="@/assets/images/bars/chuangxin.png" class="mt-3 bars-image" /> 
+                  </a>
+                  <a href="https://liuyan.www.gov.cn/2021wxzlsjh/bmdf.html?q=fj" target="_blank" class="w-25">
+                    <img src="@/assets/images/bars/gwy.jpg" class="mt-3 bars-image" /> 
+                  </a>
+                  <a href="https://wlj.xm.gov.cn/ztzl/202003/t20200326_2434593.htm" target="_blank" class="w-25">
+                    <img src="@/assets/images/bars/xmlvyou.jpg" class="mt-3 bars-image" /> 
+                  </a>
+                  <a href="http://xm.zwfw.fujian.gov.cn/person-todo/detail?userType=3&curStatus=dept&deptId=A8E0954E119F2E6342C87F48AC54EE31&bsfwCount=93&xzjgCount=609" target="_blank" class="w-25">
+                    <img src="@/assets/images/bars/wangshuanbanshi.png" class="mt-3 bars-image" /> 
+                  </a>
+                </div>
+              </Slide>
+              <template #addons>
+                <Navigation />
+                <Pagination />
+              </template>
+            </Carousel>
+          </div>
+        </div>
+
         <!-- 工作动态和党建工作 -->
         <div class="row mt-lg-3 mt-md-2 mt-sm-2">
 
@@ -303,6 +339,11 @@ const carouselConfig = {
   wrapAround: true,
   autoplay: 5000,
 }
+const carouselConfig2 = {
+  itemsToShow: 1,
+  wrapAround: true,
+  autoplay: false,
+}
 const carouselData = await useSSrSimpleDataLoader('carousel', async () => {
   const res = await $fetch(`/api/ecms/carousel?name=banner`);
   if (!res.status)
@@ -389,6 +430,11 @@ onMounted(() => {
 @use "sass:list";
 @use "sass:math";
 
+.bars-image {
+  width: 100%;
+  height: 130px;
+  object-fit: cover;
+}
 .qr-modal-content {
   text-align: center;
   padding: 8px 0;