Răsfoiți Sursa

wip:列表页数据提交

wangkaiyue 1 an în urmă
părinte
comite
4a37ae2a30

+ 3 - 1
internal/controller/area.go

@@ -23,7 +23,8 @@ func AreaIndexHandler(areaNode *service.AreaNode, r *ghttp.Request) {
 func CityListHandler(areaNode *service.AreaNode, r *ghttp.Request) {
 	pageNum := r.Get("pageNum", 1).Int() //页码
 	code := r.Get("code").String()
-	cityNode := service.JyBxSeoAreaRoot.GetNodeByCode(code)
+
+	cityNode := areaNode.GetChildNode(code)
 	if cityNode == nil {
 		utility.HtmlRender.NotFound(r)
 		return
@@ -38,6 +39,7 @@ func CityListHandler(areaNode *service.AreaNode, r *ghttp.Request) {
 	}
 	utility.HtmlRender.Render(r, utility.GetCommonRenderPatch(r.Request.UserAgent(), "area_city_list.html"),
 		g.Map{
+			"areaNode": areaNode,
 			"cityNode": cityNode,
 			"list":     rData.List,
 			//"tdk":        service.JySeoTdk.GetAreaSTypeListTdk(r.Context(), sTypeNode.Code, areaNode.Name),

+ 1 - 0
internal/tags/init.go

@@ -40,4 +40,5 @@ func init() {
 	g.View().BindFunc("GetCityBidding", GetCityBidding)   // 获取城市标讯
 	g.View().BindFunc("GetClassBidding", GetClassBidding) // 获取行业标讯
 	g.View().BindFunc("GetSortLocation", GetSortLocation) // 获取行业标讯
+	g.View().BindFunc("GetAllLocation", GetAllLocation)   // 获取行业标讯
 }

+ 5 - 0
internal/tags/other.go

@@ -37,6 +37,11 @@ func GetSortLocation(areaCode string, num int) []*service.AreaNode {
 	return service.JyBxSeoAreaRoot.GetSortLocation(areaCode, num)
 }
 
+// GetAllLocation 获取所有区位
+func GetAllLocation() []*service.AreaLocation {
+	return service.JyBxSeoAreaRoot.GetAllLocation()
+}
+
 // GetAreaHotBidding 获取省份下的热门标讯
 func GetAreaHotBidding(areaCode string, num int) []*service.InfoList {
 	areaNode := service.JyBxSeoAreaRoot.GetNodeByCode(areaCode)

+ 51 - 1
resource/template/pc/area_class_list.html

@@ -2,9 +2,59 @@
 <html lang="en">
 <head>
     <meta charset="UTF-8">
-    <title>Title</title>
+    <title>列表页</title>
+    <meta name="Keywords" content=''/>
+    <meta name="Description" content=''/>
+    <meta name="applicable-device" content="pc" />
+    <meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,initial-scale=1.0" user-scalable="no" />
+    <link href="//cdn-common.jianyu360.com/cdn/lib/reset-css/5.0.1/reset.min.css" rel="stylesheet" type="text/css" />
+    <link href="https://cdn-common.jianyu360.com/cdn/lib/bootstrap/4.5.0/bootstrap.min.css" rel="stylesheet" type="text/css" />
+    <link href='{{Cdn}}/jybx/css/common.css?v={{Msg "version"}}' rel="stylesheet" type="text/css" />
+    <link href='{{Cdn}}/jybx/css/icons.css?v={{Msg "version"}}' rel="stylesheet" type="text/css" />
+    <link href='{{Cdn}}/jybx/css/header.css?v={{Msg "version"}}' rel="stylesheet">
+    <link href='{{Cdn}}/jybx/css/tags-common.css?v={{Msg "version"}}' rel="stylesheet">
+    <link href='{{Cdn}}/jybx/css/area-list.css?v={{Msg "version"}}' rel="stylesheet" type="text/css" />
+    <script src="https://cdn-common.jianyu360.com/cdn/lib/jquery/3.6.0/jquery.min.js"></script>
+    <script src="/common-module/public/head.js"></script>
 </head>
 <body>
+{{$global:=.}}
+<div class="page-container page-area-container">
+    <header class="page-header">
+        <!-- 顶部导航 -->
+        {{include "pc/common/header.html" .}}
+    </header>
+    <main class="page-main">
+        <!-- 顶部网站导航 -->
+        {{include "pc/components/tags-site-nav.html" .}}
+        <!-- 标讯导航 -->
+        {{include "pc/components/tags-bid-nav.html" .}}
+        <!-- 面包屑 -->
+        {{include "pc/components/tags-breadcrumb.html" .}}
+        <section class="w page-main-container">
+            <section class="page-main-content">
+                <section class="page-bidding-container">
+                    {{include "pc/components/tags-bid-list.html" .}}
+                    <div class="pagination-container">
+                        {{include "pc/components/seo-pagination.html" .}}
+                    </div>
+                </section>
+            </section>
+            <section class="page-main-aside">
+                <div class="tags-aside-ad">
+                    <img src="" alt="右侧广告位">
+                </div>
+                {{include "pc/components/tags-aside-class.html" .}}
+                {{include "pc/components/tags-aside-area.html" .}}
+            </section>
+        </section>
 
+    </main>
+    <footer class="page-footer">
+        <!-- include 底部 -->
+    </footer>
+</div>
+<script src="https://cdn-common.jianyu360.com/cdn/lib/bootstrap/4.5.0/bootstrap.min.js"></script>
+<script src='{{Cdn}}/jybx/js/common.js?v={{Msg "version"}}'></script>
 </body>
 </html>

+ 10 - 8
resource/template/pc/common/header.html

@@ -7,16 +7,18 @@
       <div class="home-site">
         <button class="site-btn">各省分站</button>
         <div class="site-dropdown-panel">
-          <header class="dropdown-header">当前地区:</header>
+          {{if .areaNode}}
+          <header class="dropdown-header">当前地区:{{.areaNode.Name}}</header>
+          {{end}}
           <ul class="dropdown-content">
+            {{range $location:=GetAllLocation}}
             <li class="dropdown-list">
-              <strong class="list-label">华北</strong>
-              <a class="list-value" href="#">北京</a>
-              <a class="list-value" href="#">天津</a>
-              <a class="list-value" href="#">河北</a>
-              <a class="list-value" href="#">山西</a>
-              <a class="list-value" href="#">内蒙古</a>
+                <strong class="list-label">{{$location.Name}}</strong>
+                {{range $city:=$location.AreaList}}
+                  <a class="list-value" href="{{$city.Href}}">{{$city.Name}}</a>
+                {{end}}
             </li>
+            {{end}}
           </ul>
         </div>
       </div>
@@ -67,4 +69,4 @@
   </div>
 </div>
 <script src='{{Cdn}}/jybx/js/login.js?v={{Msg "version"}}'></script>
-<script src='{{Cdn}}/jybx/js/pc-header.js?v={{Msg "version"}}'></script>
+<script src='{{Cdn}}/jybx/js/pc-header.js?v={{Msg "version"}}'></script>

+ 2 - 2
resource/template/pc/components/tags-aside-area.html

@@ -1,10 +1,10 @@
 {{$global:=.}}
 <section class="aside-card city-aside-card">
   <header class="aside-card-header">
-      <h3 class="aside-card-title">{{$global.cityNode.PNode.Name}}招标网相关城市招标</h3>
+      <h3 class="aside-card-title">{{$global.areaNode.Name}}招标网相关城市招标</h3>
   </header>
   <main class="aside-card-content city-aside-list">
-      {{range $city:=$global.cityNode.PNode.Child}}
+      {{range $city:=$global.areaNode.Child}}
         <a class="city-aside-item ellipsis cms-link" title="{{$city.Name}}招标网" href="{{$city.Href}}" target="_blank">{{$city.Name}}招标网</a>
       {{end}}
   </main>

+ 2 - 2
resource/template/pc/components/tags-bid-list.html

@@ -5,10 +5,10 @@
     <li class="card-bid-item">
       <span class="item-flex">
         <em class="item-index">{{$k | plus 1}}. </em>
-        <a class="item-title ellipsis-2" title="{{$v.Title}}" href="#" target="_blank">{{$v.Title}}</a>
+        <a class="item-title ellipsis-2" title="{{$v.Title}}" href="{{$v.Url}}" target="_blank">{{$v.Title}}</a>
       </span>
       <span class="item-time">{{$v.PublishTime | date "Y-m-d"}}</span>
     </li>
     {{end}}
   </ul>
-</section>
+</section>

+ 7 - 3
resource/template/pc/components/tags-breadcrumb.html

@@ -2,13 +2,17 @@
 <section class="w breadcrumb-nav">
   <span class="label-tag">当前位置:</span>
   <a href="/">剑鱼标讯官网</a>
-  {{if $global.cityNode.PNode}}
+  {{if $global.areaNode}}
   <em>></em>
-  <a href="{{$global.cityNode.PNode.Href}}">{{$global.cityNode.PNode.Name}}招标网</a>
+  <a href="{{$global.areaNode.Href}}">{{$global.areaNode.Name}}招标网</a>
   {{else}}
   <em>></em>
   <a href="{{$global.cityNode.Href}}">{{$global.cityNode.Name}}招标网</a>
   {{end}}
   <em>></em>
+  {{if $global.cityNode.Name}}
   <span class="current-tag">{{$global.cityNode.Name}}招标网</span>
-</section>
+  {{else if $global.classNode.Name}}
+  <span class="current-tag">{{$global.classNode.Name}}招标网</span>
+  {{end}}
+</section>