Browse Source

添加错误状态

添加错误状态
dangyunlong 1 month ago
parent
commit
8f6cd89f7e

+ 0 - 44
404.vue

@@ -1,44 +0,0 @@
-<template>
-  <div class="errorBox">
-    <img src="./public/error/404.png" alt="">
-    <div @click="goHome" class="goHome">
-      返回网站首页
-    </div>
-  </div>
-</template>
-
-<script setup>
-//import { ElButton } from 'element-plus'
-
-const router = useRouter()
-//跳转回到首页
-const goHome = () => {
-  router.push('/')
-}
-</script>
-
-<style lang="less" scoped>
-  .errorBox {
-    width: 100%;
-    text-align: center;
-    padding-top: 150px;
-    img {
-      width: 532px;
-      height: 440px;
-      margin: 0 auto;
-    }
-    .goHome {
-      width: 152px;
-      height: 48px;
-      line-height: 48px;
-      font-size: 16px;
-      color: #fff;
-      text-align: center;
-      margin: 0 auto;
-      background: #a01c0e;
-      border-radius: 8px;
-      margin-top: 70px;
-      cursor: pointer;
-    }
-  }
-</style>

+ 1 - 1
components/home/pageNavigation.vue

@@ -18,7 +18,7 @@
                 <ul class="navigationOne">
                     <li v-for="(item, index) in navigation1" :key="index">
                         <NuxtLink :to="getLinkPath(item)" :target="item.is_url == 1 ? '_blank' : '_self'">
-                            <span>{{ item.alias }}</span>
+                            <span>{{ item.alias }}{{ item.children_count }}</span>
                         </NuxtLink>
                     </li>
                 </ul>

+ 68 - 16
components/public/breadcrumb.vue

@@ -7,30 +7,43 @@
             <div v-if="routeLayer.routeType == 'list' && routeLayer.dirNum == 1" class="crumbItem">
                 <NuxtLink to="/">首页</NuxtLink>
                 <span>&gt;</span>
-                <span>
-                    {{name1}}
-                </span>
+                <span>{{name1}}</span>
             </div>
             <!--二级-->
             <div v-if="routeLayer.routeType == 'list' && routeLayer.dirNum == 2" class="crumbItem">
                 <NuxtLink to="/">首页</NuxtLink>
                 <span>&gt;</span>
-                <NuxtLink :to="`/${targetSegment1}/index.html`">
+                <NuxtLink :to="`/${targetSegment1}/list-1.html`">
                     {{name1}}
                 </NuxtLink>
                 <span>&gt;</span>
                 <span>{{name2}}</span>
             </div>
+            <!--三级-->
+            <div v-if="routeLayer.routeType == 'list' && routeLayer.dirNum == 3" class="crumbItem">
+                <NuxtLink to="/">首页</NuxtLink>
+                <span>&gt;</span>
+                <!--通常来说能进入第三级的列表,第一级一定是频道页-->
+                <NuxtLink :to="`/${targetSegment1}/index.html`">
+                    {{name1}}
+                </NuxtLink>
+                <span>&gt;</span>
+                <NuxtLink :to="`/${targetSegment2}/list-1.html`">
+                    {{name2}}
+                </NuxtLink>
+                <span>&gt;</span>
+                <span>{{name3}}</span>
+            </div>
             <!--详情页 此时页面详情的名字需要靠外部传进来-->
             <!--一级-->
             <div v-if="routeLayer.routeType == 'id' && routeLayer.dirNum == 1" class="crumbItem">
                 <NuxtLink to="/">首页</NuxtLink>
                 <span>&gt;</span>
                 <NuxtLink :to="`/${targetSegment1}/list-1.html`" v-if="targetChildren1 == 0">
-                    {{name1 }}
+                    {{name1}}
                 </NuxtLink>
                 <NuxtLink :to="`/${targetSegment1}/index.html`" v-else>
-                    {{name1 }}
+                    {{name1}}
                 </NuxtLink>
                 <span>&gt;</span>
                 <span>{{articleName}}</span>
@@ -40,16 +53,37 @@
                 <NuxtLink to="/">首页</NuxtLink>
                 <span>&gt;</span>
                 <NuxtLink :to="`/${targetSegment1}/list-1.html`" v-if="targetChildren1 == 0">
-                    {{name1 }}
+                    {{name1}}
+                </NuxtLink>
+                <NuxtLink :to="`/${targetSegment1}/index.html`" v-else>
+                    {{name1}}
+                </NuxtLink>
+                <span>&gt;</span>
+                <NuxtLink :to="`/${targetSegment2}/list-1.html`">
+                    {{name2}}
+                </NuxtLink>
+                <span>&gt;</span>
+                <span>{{articleName}}</span>
+            </div>
+            <!--三级-->
+            <div v-if="routeLayer.routeType == 'id' && routeLayer.dirNum == 3" class="crumbItem">
+                <NuxtLink to="/">首页</NuxtLink>
+                <span>&gt;</span>
+                <NuxtLink :to="`/${targetSegment1}/list-1.html`" v-if="targetChildren1 == 0">
+                    {{name1}}
                 </NuxtLink>
                 <NuxtLink :to="`/${targetSegment1}/index.html`" v-else>
-                    {{name1 }}
+                    {{name1}}
                 </NuxtLink>
                 <span>&gt;</span>
                 <NuxtLink :to="`/${targetSegment2}/list-1.html`">
                     {{name2}}
                 </NuxtLink>
                 <span>&gt;</span>
+                <NuxtLink :to="`/${targetSegment3}/list-1.html`">
+                    {{name3}}
+                </NuxtLink>
+                <span>&gt;</span>
                 <span>{{articleName}}</span>
             </div>
         </div>
@@ -58,9 +92,9 @@
 
 <script setup>
 //引入element-plus组件
-import { ElBreadcrumb, ElBreadcrumbItem } from 'element-plus'
-//引入mounted
-import { onMounted } from 'vue';
+// import { ElBreadcrumb, ElBreadcrumbItem } from 'element-plus'
+// //引入mounted
+// import { onMounted } from 'vue';
 
 const props = defineProps({
     articleName: {
@@ -87,15 +121,20 @@ let routeLayer = parseRouteName(route.name)
 //1.获得路由类型和深度 end ---------------------------------------->
 
 //2.开始获得面包屑路径 start ---------------------------------------->
+//第一级导航
 const name1 = ref(''); 
 const targetChildren1 = ref(0);//子级数量
 const targetSegment1 = getRoutePath(1);
-
+//第二级导航
 const name2 = ref('');
 const targetChildren2 = ref(0);//子级数量
 const targetSegment2 = getRoutePath(2);
+//第三级导航 - 理论最大为三级
+const name3 = ref(''); 
+const targetChildren3 = ref(0);//子级数量
+const targetSegment3 = getRoutePath(3);
 
-if(routeLayer.dirNum >= 1){
+if(routeLayer.dirNum == 1){
     //通过导航路径反向查询导航id
     const getRouteId1 = await requestDataPromise('/web/getWebsiteRoute', {
         method: 'GET',
@@ -105,10 +144,10 @@ if(routeLayer.dirNum >= 1){
     });
     if(getRouteId1.code == 200){
         name1.value = getRouteId1.data.alias;
-        targetChildren1.value = getRouteId1.data.childrencount;
+        targetChildren1.value = getRouteId1.data.children_count;
     }
 }
-if(routeLayer.dirNum >= 2){
+if(routeLayer.dirNum == 2){
     //通过导航路径反向查询导航id
     const getRouteId2 = await requestDataPromise('/web/getWebsiteRoute', {
         method: 'GET',
@@ -118,7 +157,20 @@ if(routeLayer.dirNum >= 2){
     });
     if(getRouteId2.code == 200){
         name2.value = getRouteId2.data.alias;
-        targetChildren2.value = getRouteId2.data.childrencount;
+        targetChildren2.value = getRouteId2.data.children_count;
+    }
+}
+if(routeLayer.dirNum == 3){
+    //通过导航路径反向查询导航id
+    const getRouteId3 = await requestDataPromise('/web/getWebsiteRoute', {
+        method: 'GET',
+        query: {
+            'pinyin': targetSegment3,
+        },
+    });
+    if(getRouteId3.code == 200){
+        name3.value = getRouteId3.data.alias;
+        targetChildren3.value = getRouteId3.data.children_count;
     }
 }
 //2.开始获得面包屑路径 end ---------------------------------------->

+ 40 - 1
composables/getData.js

@@ -1,4 +1,43 @@
 import { getToken } from '@/store/useCookieStore';
+//获得nuxt.config中配置的域名
+
+//const servUrl = 'http://apipre1.bjzxtw.org.cn:29501'; //pre
+//const servUrl = 'http://apidev.bjzxtw.org.cn'; //dev
+//const UserUrl = 'http://localhost:3000'; //用户来源
+
+// requestData方法 如果只是单一请求,可以直接调用这个方法
+function requestData(url, options = {}) {
+    //获得全局变量中的webUrl和userUrl
+    const { $webUrl, $userUrl,$CwebUrl } = useNuxtApp()
+    let fullUrl = $webUrl + url;
+   
+    // 生成唯一的 key
+    const key = `${url}-${JSON.stringify(options.query || options.body)}`;
+
+    // 设置默认的请求头
+    const headers = {
+        'Content-Type': 'application/json',
+        'Userurl': $CwebUrl,
+        'token': getToken(),
+        //'Origin': 'http://nwpre.bjzxtw.org.cn',//pre
+        'Origin': $CwebUrl,
+    };
+
+    // 确定请求方法
+    const method = options.method || 'GET';
+
+    // 使用 useAsyncData 进行数据获取
+    const { data, error } = useAsyncData(key, () => {
+        return $fetch(fullUrl, {
+            method,
+            headers,
+            body: method === 'POST' ? options.body : undefined, // 仅在 POST 请求时设置 body
+            query: method === 'GET' ? options.query : undefined, // 仅在 GET 请求时设置 query
+        });
+    }, { lazy: true }); // 禁用缓存
+
+    return { data, error };
+}
 
 // requestDataPromise 如果你的请求中的参数依赖上一个请求,使用这个方法
 function requestDataPromise(url, options = {}) {
@@ -140,4 +179,4 @@ function requestHome(url, options = {}) {
     });
 }
 
-export { requestDataPromise ,requestDataWebUrl, requestHome };
+export { requestData, requestDataPromise ,requestDataWebUrl,requestHome };

+ 38 - 20
error.vue

@@ -1,20 +1,32 @@
 <template>
   <div class="errorBox">
-    <img src="./public/error/404.png" alt="">
-    <div @click="goHome" class="goHome">
-      返回网站首页
-    </div>
+    <img src="./public/error/404.png" alt="页面不存在" v-if="errorCode == 404">
+    <img src="./public/error/error.png" alt="服务器渲染错误" v-if="errorCode == 500">
+    <div class="errorText" v-if="errorCode == 404">对不起,您访问的页面不存在({{ errorText }})</div>
+    <div class="errorText" v-if="errorCode == 500">服务器渲染错误({{ errorText }})</div>
+    <div @click="goHome" class="goHome">返回网站首页</div>
   </div>
 </template>
 
 <script setup>
-//import { ElButton } from 'element-plus'
+    //1.处理错误 start ---------------------------------------->
+    //获得错误信息
+    const error = useError();
+    //console.log('错误信息:', error.value);
+    //获得错误代码与错误文字
+    const errorCode = ref(0)
+    const errorText = ref('')
+    errorCode.value = error.value.statusCode;
+    errorText.value = error.value.message;
+    //console.log('错误代码:', errorCode.value);
+    //1.处理错误 end ---------------------------------------->
 
-const router = useRouter()
-//跳转回到首页
-const goHome = () => {
-  router.push('/')
-}
+    //2.处理跳转 start ---------------------------------------->
+    const router = useRouter()
+    const goHome = () => {
+        router.push('/')
+    }
+    //2.处理跳转 end ---------------------------------------->
 </script>
 
 <style lang="less" scoped>
@@ -23,22 +35,28 @@ const goHome = () => {
     text-align: center;
     padding-top: 150px;
     img {
-      width: 532px;
-      height: 440px;
+      width: 404px;
+      height: 302px;
       margin: 0 auto;
     }
     .goHome {
-      width: 152px;
-      height: 48px;
-      line-height: 48px;
-      font-size: 16px;
-      color: #fff;
+      width: 120px;
+      height: 32px;
+      line-height: 32px;
+      font-size: 14px;
+      color: #20242E;
       text-align: center;
       margin: 0 auto;
-      background: #a01c0e;
-      border-radius: 8px;
-      margin-top: 70px;
+      background: #fff;
+      border: 1px solid #D4D6D9;
+      border-radius: 2px;
       cursor: pointer;
     }
+    .errorText {
+        font-size:16px;
+        color: #727785;
+        margin-top: 40px;
+        margin-bottom: 20px;
+    }
   }
 </style>

+ 6 - 53
pages/index.vue

@@ -5,7 +5,7 @@
         <!-- 页面导航 -->
         <HomePageNavigation></HomePageNavigation>
         <!-- 广告位 1 -->
-        <HomeAdvertising :imgurl="adImg1"></HomeAdvertising>
+        <HomeAdvertising :imgurl="adImg4"></HomeAdvertising>
         <!-- 新闻头条部分 -->
         <div class="topNewsPart">
             <div class="inner">
@@ -54,14 +54,11 @@
                         </NuxtLink>
                     </div>
                 </div>
-                <!-- 三个横线样式 start-->
                 <ul class="vibrant" v-if="headlinelist.length >= 1">
                     <li @mouseenter="tabsData = 1" :class="{ active: tabsData == 1 }"></li>
                     <li @mouseenter="tabsData = 2" :class="{ active: tabsData == 2 }"></li>
                     <li @mouseenter="tabsData = 3" :class="{ active: tabsData == 3 }"></li>
                 </ul>
-                <!-- 三个横线样式 end-->
-                <!-- 模块1 三农资讯 -->
                 <div class="messageLeft" v-if="pageData.length >= 1">
                     <div class="leftTitle">
                         <h2 class="leftnav">
@@ -199,11 +196,7 @@
                 </div>
             </div>
         </div>
-
-        <!-- 广告位 2 -->
         <HomeAdvertising :imgurl="adImg2"></HomeAdvertising>
-
-        <!-- 第一部分 -->
         <div class="part1">
             <div class="inner">
                 <div class="part1_left" v-if="pageData.length >= 4">
@@ -257,7 +250,6 @@
                 </div>
                 <div class="part1_right" v-if="pageData.length >= 7">
                     <div class="part1_right_title">
-                        <!-- 乡村建设 -->
                         <h2 class="part1_right_title1" v-if="pageData[4].cid" @mouseenter="tabsData1 = 1"
                             :class="{ part1_right_title1_active: tabsData1 == 1 }">
                             <NuxtLink :href="getLinkPath(pageData[4])" @mouseenter="tabsData1 = 1"
@@ -266,7 +258,6 @@
                             </NuxtLink>
                             <em class="active_bg"></em>
                         </h2>
-                        <!-- 乡村管理 -->
                         <h2 class="part1_right_title1" v-if="pageData[5].cid" @mouseenter="tabsData1 = 2"
                             :class="{ part1_right_title1_active: tabsData1 == 2 }">
                             <NuxtLink class="active" :href="getLinkPath(pageData[5])" @mouseenter="tabsData1 = 2"
@@ -275,7 +266,6 @@
                             </NuxtLink>
                             <em class="active_bg"></em>
                         </h2>
-                        <!-- 乡村文化 -->
                         <h2 class="part1_right_title1" v-if="pageData[6].cid" @mouseenter="tabsData1 = 3"
                             :class="{ part1_right_title1_active: tabsData1 == 3 }">
                             <NuxtLink class="active" :href="getLinkPath(pageData[6])" @mouseenter="tabsData1 = 3"
@@ -354,7 +344,6 @@
                 </div>
             </div>
         </div>
-        <!-- 第二部分 三农投资-->
         <div class="part2">
             <div class="inner">
                 <div class="part2_left" v-if="pageData.length >= 8">
@@ -408,7 +397,6 @@
                 </div>
                 <div class="part2_right" v-if="pageData.length >= 11">
                     <div class="part2_right_title">
-                        <!-- 乡村生活 -->
                         <h2 class="part2_right_title1" v-if="pageData[8].cid" @mouseenter="tabsData2 = 1"
                             :class="{ part2_right_title1_active: tabsData2 == 1 }">
                             <NuxtLink :href="getLinkPath(pageData[8])" @mouseenter="tabsData2 = 1"
@@ -417,7 +405,6 @@
                             </NuxtLink>
                             <em class="active_bg11"></em>
                         </h2>
-                        <!-- 乡村经济 -->
                         <h2 class="part2_right_title1" v-if="pageData[9].cid" @mouseenter="tabsData2 = 2"
                             :class="{ part2_right_title1_active: tabsData2 == 2 }">
                             <NuxtLink :href="getLinkPath(pageData[9])" @mouseenter="tabsData2 = 2"
@@ -426,7 +413,6 @@
                             </NuxtLink>
                             <em class="active_bg11"></em>
                         </h2>
-                        <!-- 乡村风采 -->
                         <h2 class="part2_right_title1" v-if="pageData[10].cid" @mouseenter="tabsData2 = 3"
                             :class="{ part2_right_title1_active: tabsData2 == 3 }">
                             <NuxtLink :href="getLinkPath(pageData[10])" @mouseenter="tabsData2 = 3"
@@ -505,15 +491,10 @@
                 </div>
             </div>
         </div>
-
-        <!-- 广告位 3 -->
         <HomeAdvertising :imgurl="adImg3"></HomeAdvertising>
-
-        <!-- 第三部分 -->
         <div class="part3">
             <div class="inner" v-if="pageData.length >= 13">
                 <div class="part3_left">
-                    <!-- 乡村名企 -->
                     <div class="part3_left_1">
                         <h2 class="part3_title1">
                             <NuxtLink class="active" v-if="pageData[11].cid" :href="getLinkPath(pageData[11])"
@@ -538,7 +519,6 @@
                             </li>
                         </ul>
                     </div>
-                    <!-- 特色乡村 -->
                     <div class="part3_left_1">
                         <h2 class="part3_title1">
                             <NuxtLink class="active" v-if="pageData[12].cid" :href="getLinkPath(pageData[12])"
@@ -608,11 +588,8 @@
                 </div>
             </div>
         </div>
-
-        <!-- 第四部分 -->
         <div class="part4">
             <div class="inner" v-if="pageData.length >= 14">
-                <!-- 产业集群 -->
                 <div class="part4_title">
                     <h2 class="part4_title_left">
                         <NuxtLink class="active" v-if="pageData[13].cid" :href="getLinkPath(pageData[13])"
@@ -664,17 +641,12 @@
                 </div>
             </div>
         </div>
-
-        <!-- 广告位 4 -->
         <HomeAdvertising :imgurl="adImg4"></HomeAdvertising>
-
-        <!-- 第五部分 -->
         <div class="part5">
             <div class="inner">
                 <div class="part5_left">
                     <div class="part5_left_top">
                         <div class="part5_leftTitle" v-if="pageData.length >= 15">
-                            <!-- 三农人物 -->
                             <h2 class="part5_left_title" v-if="pageData[14].cid" @mouseenter="tabsData3 = 1"
                                 :class="{ part5_left_title_active: tabsData3 == 1 }">
                                 <NuxtLink :href="getLinkPath(pageData[14])" @mouseenter="tabsData3 = 1"
@@ -683,7 +655,6 @@
                                 </NuxtLink>
                                 <em></em>
                             </h2>
-                            <!-- 三农名企 -->
                             <h2 class="part5_left_title" v-if="pageData[15].cid" @mouseenter="tabsData3 = 2"
                                 :class="{ part5_left_title_active: tabsData3 == 2 }">
                                 <NuxtLink :href="getLinkPath(pageData[15])" @mouseenter="tabsData3 = 2"
@@ -716,11 +687,6 @@
                                 <ul class="content_top_right">
                                     <li class="content_right_list" v-for="item in boxData15data2">
                                         <NuxtLink to="#">
-                                            <!-- <div class="part5_time">
-                                                <span class="month">{{ getTime(item.updated_at, 'day', 1) }}</span>
-                                                <span class="xiegang">/</span>
-                                                <span class="day">{{ getTime(item.updated_at, 'month', 1) }}</span>
-                                            </div> -->
                                             <div class="time_left_content">
                                                 <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
                                                     :target="item.islink == 1 ? '_blank' : '_self'">
@@ -753,11 +719,6 @@
                                 <ul class="content_top_right">
                                     <li class="content_right_list" v-for="item in boxData16data2">
                                         <NuxtLink to="#">
-                                            <!-- <div class="part5_time">
-                                                <span class="month">{{ getTime(item.updated_at, 'day', 1) }}</span>
-                                                <span class="xiegang">/</span>
-                                                <span class="day">{{ getTime(item.updated_at, 'month', 1) }}</span>
-                                            </div> -->
                                             <div class="time_left_content">
                                                 <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
                                                     :target="item.islink == 1 ? '_blank' : '_self'">
@@ -772,7 +733,6 @@
                     </div>
                     <div class="part5_left_bottom" v-if="pageData.length >= 17">
                         <div class="part5_leftTitle1" v-if="pageData.length >= 17">
-                            <!-- 农技推广 -->
                             <h2 class="part5_left_title" v-if="pageData[16].cid" @mouseenter="tabsData4 = 1"
                                 :class="{ part5_left_title_active: tabsData4 == 1 }">
                                 <NuxtLink :href="getLinkPath(pageData[16])" @mouseenter="tabsData4 = 1"
@@ -781,7 +741,6 @@
                                 </NuxtLink>
                                 <em></em>
                             </h2>
-                            <!-- 致富信息 -->
                             <h2 class="part5_left_title" v-if="pageData[17]" @mouseenter="tabsData4 = 2"
                                 :class="{ part5_left_title_active: tabsData4 == 2 }">
                                 <NuxtLink :href="getLinkPath(pageData[17])" @mouseenter="tabsData4 = 2"
@@ -874,7 +833,6 @@
                             <em></em>
                         </h2>
                         <div class="rightMore">
-                            <!-- <NuxtLink to="#">更多 ></NuxtLink> -->
                         </div>
                     </div>
                     <div v-if="tabsData5 == 1">
@@ -913,7 +871,6 @@
                             </NuxtLink>
                         </div>
                     </div>
-                    <!-- 招工求职 -->
                     <div v-if="tabsData5 == 2">
                         <ul class="part5_right_content_top">
                             <li class="part5_right_contentlist_top" v-for="(item, index) in boxData20" :key="index">
@@ -950,7 +907,6 @@
                             </NuxtLink>
                         </div>
                     </div>
-                    <!-- 广告5 -->
                     <div class="adBox1" v-if="adImg5">
                         <a href="http://nzgxw.org.cn/" v-if="adImg5.image_url == null" target="_blank"
                             :title="adImg5.introduce">
@@ -965,12 +921,9 @@
                 </div>
             </div>
         </div>
-
-        <!-- 第六部分 -->
         <div class="part6">
             <div class="inner">
                 <div class="part6_left">
-                    <!-- 乡村商城 -->
                     <div class="part6_left_content1">
                         <h2 class="part6_left_content_title">
                             <NuxtLink class="active" v-if="pageData[20].cid" href="/" :title="pageData[20].alias">
@@ -1017,7 +970,6 @@
                             </li>
                         </ul>
                     </div>
-                    <!-- 市场报价 -->
                     <div class="part6_left_content2">
                         <h2 class="part6_left_content_title">
                             <NuxtLink class="active" v-if="pageData[21].cid" href="/" :title="pageData[21].alias">
@@ -1061,7 +1013,6 @@
                         </ul>
                     </div>
                 </div>
-                <!-- 乡土特产 -->
                 <div class="part6_right">
                     <h2 class="part6_right_title">
                         <NuxtLink v-if="pageData[22].cid" :href="getLinkPath(pageData[22])" :title="pageData[22].alias">
@@ -1285,7 +1236,7 @@ async function getModelData1() {
         console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
     }
 }
-getModelData1()
+//getModelData1()
 //获取头条 end ---------------------------------------->
 //获得全局配置的导航数据
 const { $pageNav } = useNuxtApp();
@@ -1410,6 +1361,7 @@ let getJson = [
 
 let jsonString = JSON.stringify(getJson);
 
+
 //获取所有数据
 async function getPageAllData() {
     const mkdata = await requestDataPromise('/web/getWebsiteAllArticle', {
@@ -1421,7 +1373,9 @@ async function getPageAllData() {
     // console.log("成功获取模块数据1111!", mkdata);
 
     if (mkdata.code == 200) {
-        // console.log("成功获取模块数据1111222!", mkdata.data[1].textnum);
+
+
+        console.log("成功获取模块数据1111222!", mkdata);
 
         //模块1 三农资讯
         boxData1.value = mkdata.data[0].textnum;
@@ -1701,7 +1655,6 @@ onMounted(async () => {
     });
     const resultAd5 = await responseAd5.json();
     adImg5.value = resultAd5.data[0];
-
 })
 
 //3.广告 end ---------------------------------------->

+ 0 - 210
pages/xiangcunshangcheng/[dir]/[dir]/gongying/[id].html.vue

@@ -1,210 +0,0 @@
-<template>
-    <ShopPageHead></ShopPageHead>
-    <main class="index_main" id="all_vue">
-        <HomeAdvertising :imgurl="adImg1"></HomeAdvertising>
-        <ShopSubMenu></ShopSubMenu>
-        <!-- 当前位置 -->
-        <div class="categ_crumb_box clearfix_2">
-            <div class="categ_crumb_left">
-                <span class="categ_crumb_left_a" title=""> 当前位置: </span>
-                <NuxtLink
-                    :to="`/xiangcunshangcheng/index.html`"
-                    class="categ_crumb_left_a"
-                >
-                    乡村商城
-                </NuxtLink>
-                &gt;
-                <NuxtLink
-                    :to="`/xiangcunshangcheng/${targetSegment1}/index.html`"
-                    class="categ_crumb_left_a"
-                >
-                    {{name1}}
-                </NuxtLink>
-                &gt;
-                <NuxtLink
-                    :to="`/xiangcunshangcheng/${targetSegment1}/${targetSegment2}/index.html`"
-                    class="categ_crumb_left_a"
-                >
-                    {{name2}}
-                </NuxtLink>
-                &gt;
-                <NuxtLink
-                    :to="`/xiangcunshangcheng/${targetSegment1}/${targetSegment2}/gongying/list-1.html`"
-                    class="categ_crumb_left_a"
-                >
-                    供应
-                </NuxtLink>
-                &gt;
-                <span class="categ_crumb_left_text">{{shopData.name}}</span>
-            </div>
-        </div>
-
-        <div class="supply_1_index clearfix">
-            <img class="supply_1_img" :src="shopImg" :alt="shopData.name">
-            <div class="supply_1_right">
-                <h4 class="supply_1_h4">{{shopData.name}}</h4>
-                <div class="supply_1_title_box clearfix">
-                    <time class="supply_1_title"> 更新日期:{{shopData.updated_at}}</time>
-                    <span class="supply_1_title">浏览次数:{{ shopData.hits }}</span>
-                </div>
-                <div class="supply_1_ul clearfix">
-                    <div class="supply_1_li clearfix"><label class="supply_1_li_label">公 司 名</label><span
-                            class="supply_1_li_text ">{{ shopData.com }}</span></div>
-                    <div class="supply_1_li clearfix"><label class="supply_1_li_label">所 在 地</label><span
-                            class="supply_1_li_text ">{{ shopData.address }}</span></div>
-                    <div class="supply_1_li clearfix"><label class="supply_1_li_label">联 系 人</label><span
-                            class="supply_1_li_text ">{{ shopData.contact}}</span></div>
-                    <div class="supply_1_li clearfix"><label class="supply_1_li_label">产品单价</label><span
-                            class="supply_1_li_text ">{{shopData.price}}元/{{ shopData.unit }}</span></div>
-                    <div class="supply_1_li clearfix"><label class="supply_1_li_label">最小定量</label><span
-                            class="supply_1_li_text ">{{ shopData.min }}</span></div>
-                    <div class="supply_1_li clearfix"><label class="supply_1_li_label">供货总量</label><span
-                            class="supply_1_li_text ">{{shopData.max}}</span></div>
-                    <div class="supply_1_li clearfix"><label class="supply_1_li_label">有 效 期</label><span
-                            class="supply_1_li_text ">{{getValidityTime(shopData)}}</span></div>
-                </div>
-            </div>
-        </div>
-        <div class="supply_2_index clearfix">
-
-            <div class="supply_head_box clearfix_2">
-                <a class="supply_head_a" title="" :class="{ supply_head_a_only: 1 == supply_choice_1_num }"
-                    @mouseover="supply_choice_1_num = 1">详情信息</a>
-                <a class="supply_head_a" title="" :class="{ supply_head_a_only: 2 == supply_choice_1_num }"
-                    @mouseover="supply_choice_1_num = 2">联系方式</a>
-                <a class="supply_head_a" title="" :class="{ supply_head_a_only: 3 == supply_choice_1_num }"
-                    @mouseover="supply_choice_1_num = 3">图片展示</a>
-            </div>
-
-            <div class="supply_art_out clearfix">
-                <!-- 详情信息 -->
-                <div class="supply_art_box" v-show="supply_choice_1_num == 1" v-html="shopData.detail"></div>
-                <!-- 联系方式 -->
-                <div class="supply_art_box" v-show="supply_choice_1_num == 2">
-                    <p class="supply_art_box_p">公司名:</p>
-                    <p class="supply_art_box_p">联系人:{{shopData.contact}}</p>
-                    <p class="supply_art_box_p">电话:{{shopData.phone}}</p>
-                    <p class="supply_art_box_p">邮箱:{{shopData.email}}</p>
-                    <p class="supply_art_box_p">邮政编码:{{shopData.postal}}</p>
-                    <p class="supply_art_box_p">详细地址:{{shopData.address}}</p>
-                </div>
-                <!-- 图片展示 -->
-                <div class="supply_art_box" v-show="supply_choice_1_num == 3">
-                    <div class="supply_art_box_img">
-                        <img :src="item" v-for="item in shopData.imgurl">
-                    </div>
-                </div>
-            </div>
-        </div>
-        <ShopHotNews></ShopHotNews>
-    </main>
-    <HomeFoot></HomeFoot>
-</template>
-
-<script setup>
-//1.页面必备方法 start ---------------------------------------->
-import { ref, onMounted } from 'vue'
-import { ElRadio, ElRadioGroup } from 'element-plus'
-//1.2选项卡 
-const supply_choice_1_num = ref(1)
-//1.3是否展示有效期
-const getValidityTime = (shopData) => {
-    if(shopData.islong==1){
-        return "无期限"
-    }else{
-        if(shopData.validity){
-            return shopData.validity.split(' ')[0];
-        }
-    }
-}
-//1.页面必备方法 end ---------------------------------------->
-
-//2.页面路径 start ---------------------------------------->
-//2.1 获得页面数据id
-const route = useRoute();
-
-//2.2 获得第一层面包屑地址
-let articleId1 = 0;
-const name1 = ref('') 
-const targetSegment1 = getRoutePath(2);
-//通过导航路径反向查询导航id
-const getRouteId1 = await requestDataPromise('/web/getWebsiteRoute', {
-    method: 'GET',
-    query: {
-        'pinyin': targetSegment1,
-    },
-});
-if(getRouteId1.code == 200){
-    articleId1 = getRouteId1.data.category_id;
-    name1.value = getRouteId1.data.alias;
-}else{
-    console.log("错误位置:获得页面路径")
-}
-
-//2.3 获得第二层面包屑地址
-let articleId2 = 0;
-const name2 = ref('') 
-const targetSegment2 = getRoutePath(3);
-//通过导航路径反向查询导航id
-const getRouteId2 = await requestDataPromise('/web/getWebsiteRoute', {
-    method: 'GET',
-    query: {
-        'pinyin': targetSegment2,
-    },
-});
-if(getRouteId2.code == 200){
-    articleId2 = getRouteId2.data.category_id;
-    name2.value = getRouteId2.data.alias;
-}else{
-    console.log("错误位置:获得页面路径")
-}
-//2.页面路径 end ---------------------------------------->
-
-//3.获得商品详情 start ---------------------------------------->
-const shopId = ref(route.params.id) //获得商品的id
-const shopData = ref({});
-const shopImg = ref("")
-
-let getShopData = async () => {
-    const shopReq = await requestDataPromise('/web/getWebsiteshopInfo', {
-        method: 'GET',
-        query: {
-            'id': parseFloat(shopId.value),
-        },
-    });
-
-    if (shopReq.code == 200) {
-        console.log(667788)
-        console.log(shopReq)
-        shopData.value = shopReq.data
-        shopImg.value = shopReq.data.imgurl[0]
-    } else {
-        console.log("错误位置:获得商品详情")
-    }
-}
-getShopData();
-//3.获得商品详情 end  ---------------------------------------->
-
-//5.广告 start ---------------------------------------->
-//获得所有广告
-let adImg1 = ref({})
-onMounted(async () => {
-    const { $webUrl, $CwebUrl } = useNuxtApp();
-    //从客户端启动广告
-    //广告1
-    let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=xcw_shopdetail_0001`
-    const responseAd1 = await fetch(url, {
-        headers: {
-            'Content-Type': 'application/json',
-            'Userurl': $CwebUrl,
-            'Origin': $CwebUrl
-        }
-    });
-    const resultAd1 = await responseAd1.json();
-    adImg1.value = resultAd1.data[0];
-})
-//5.广告 end ---------------------------------------->
-</script>
-<style lang="less" scoped>
-@import '@/assets/css/shop/detail.less';
-</style>

+ 0 - 425
pages/xiangcunshangcheng/[dir]/[dir]/gongying/list-[id].html.vue

@@ -1,425 +0,0 @@
-<template>
-    <ShopPageHead></ShopPageHead>
-    <!-- xc_shop_search_more_no_card  乡村网-商城-搜索-查看更多 -->
-    <main class="index_main" id="all_vue">
-        <HomeAdvertising :imgurl="adImg1"></HomeAdvertising>
-        <!--子菜单和地区选择-->
-        <ShopSubMenu2></ShopSubMenu2>
-        <!-- 地区选择 -->
-        <div class="categ_crumb_box clearfix_2">
-            <!-- 当前位置 -->
-            <div class="categ_crumb_left">
-                <span class="categ_crumb_left_a" title=""> 当前位置: </span>
-                <NuxtLink
-                    :to="`/xiangcunshangcheng/index.html`"
-                    class="categ_crumb_left_a"
-                >
-                    乡村商城
-                </NuxtLink>
-                &gt;
-                <NuxtLink
-                    :to="`/xiangcunshangcheng/${targetSegment}/index.html`"
-                    class="categ_crumb_left_a"
-                >
-                    {{name}}
-                </NuxtLink>
-                &gt;
-                <NuxtLink
-                    :to="`/xiangcunshangcheng/${targetSegment}/${targetSegment2}/index.html`"
-                    class="categ_crumb_left_a"
-                >
-                    {{name2}}
-                </NuxtLink>
-                &gt;
-                <span class="categ_crumb_left_text">供应</span>
-            </div>
-            <!-- 当前位置 -->
-            <!-- 当前商品所在地 -->
-            <div class="categ_crumb_right clearfix" v-if="cityList.length > 0">
-                <div class="categ_crumb_right_text">当前商品所在地:</div>
-                <div class="categ_crumb_right_text hand">{{cityName}}</div>
-                <div class="categ_crumb_right_btn back100 hand" @click="btn_if_categ_crumb_panel_fun" tabindex="1"
-                    @blur="categ_crumb_panel_btn_blur_fun">
-                </div>
-            </div>
-            <!-- 当前商品所在地 -->
-            <div class="categ_crumb_panel" v-show="if_categ_crumb_panel" tabindex="0"
-                @click="categ_crumb_panel_focus_fun" @blur="categ_crumb_panel_blur_fun">
-                <h4 class="categ_crumb_panel_h4">您可以选择以下详细地区</h4>
-                <div class="categ_crumb_panel_btn_box clearfix">
-                    <span 
-                        class="categ_crumb_panel_btn hand"
-                        :class="{ categ_crumb_panel_btn_only: item.id == chooseCityId }"
-                        v-for="item in cityList"
-                        @click="chooseCity(item.id)"
-                    >
-                        {{ item.name }}
-                    </span>
-                </div>
-            </div>
-        </div>
-        <!-- 您可以选择以下详细分类 -->
-        <!-- <div class="categ_grey_box clearfix" v-if="secondNav.length > 0">
-            <div class="categ_grey_head">您可以选择以下详细分类:</div>
-            <div class="categ_grey_ul clearfix">
-                <span 
-                    :class="['categ_grey_btn hand', { 'categ_grey_btn_only': selectedSecondId == item.category_id }]"
-                    v-for="item in secondNav"
-                    @click="selectSecond(item)"
-                >
-                    {{ item.alias }}
-                </span>
-            </div>
-        </div> -->
-        <!-- 您可以选择以下详细分类 -->
-
-        <!-- 供应信息列表 -->
-        <div class=" clearfix">
-            <div class="categ_1_index clearfix">
-                <div class="categ_head_box clearfix_2">
-                    <a class="categ_head_a" href="" title="">供应信息列表</a>
-                </div>
-                <div class="categ_table clearfix">
-                    <div class="categ_table_head_box">
-                        <div class="categ_table_td_1">产品图片</div>
-                        <div class="categ_table_td_2">供求信息/公司</div>
-                        <div class="categ_table_td_3">发布时间</div>
-                        <div class="categ_table_td_4">地区</div>
-                    </div>
-                    <ShopNoData v-if="pageDataType1.length == 0" :pagetype="'list'"></ShopNoData>
-                    <div class="categ_table_li" v-for="item in pageDataType1">
-                        <NuxtLink
-                            :to="getShopPathDetail1(item)"
-                            class="categ_table_li_a"
-                            :title="item.name"
-                        >
-                            <div class="categ_table_td_1">
-                                <img class="categ_table_td_1_img" :src="item.imgurl" :alt="item.name">
-                            </div>
-                            <div class="search_table_td_2 ">
-                                <div class="search_table_td_2_in clearfix">
-                                    <div class="search_table_td_2_head dot1">
-                                        {{ item.name }}
-                                    </div>
-                                    <div class="search_table_td_2_dot3 dot2" v-if="item.com!=''&&item.com!= null">
-                                        {{item.com}}
-                                    </div>
-                                    <div class="search_table_td_2_dot2 dot2">
-                                        {{ item.description }}
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="categ_table_td_3">{{ getTime(item.created_at, 'year', 1) }}</div>
-                            <div class="categ_table_td_4 dot1">{{ item.city_name }}</div>
-                        </NuxtLink>
-                    </div>
-                </div>
-            </div>
-            <!-- 分页器 -->
-            <div class="pagination" v-if="total">
-                <el-pagination 
-                    size="small" 
-                    background layout="prev, pager, next" 
-                    :total="total"
-                    v-model:page-size="pageSize" 
-                    prev-text="上一页" 
-                    next-text="下一页" 
-                    :current-page="pageNum"
-                    @current-change="changePage" 
-                />
-            </div>
-        </div>
-        <ShopHotNews></ShopHotNews>
-    </main>
-    <!-- 页面底部 -->
-    <HomeFoot></HomeFoot>
-</template>
-
-<script setup>
-//1.页面必备方法 start ---------------------------------------->
-import { ref, onMounted,watch } from 'vue'
-import { ElMessage,ElPagination } from 'element-plus'
-
-//分页
-let pageNum = ref(1);
-let pageSize = ref(10);
-let total = ref(0);
-
-let changePage = (value) => {
-    console.log("当前页码", value);
-    navigateTo(`/xiangcunshangcheng/${targetSegment}/${targetSegment2}/gongying/list-${value}.html`)
-}
-//1.页面必备方法 end ---------------------------------------->
-
-//2.页面路径 start ---------------------------------------->
-//2.1 获得页面数据id
-const route = useRoute();
-const router = useRouter()
-
-//2.2 获得第一层面包屑地址
-let articleId = 0; //把路径转换为数据id
-const targetSegment = getRoutePath(2);//返回第二层的路径id
-//通过导航路径反向查询导航id
-const getRouteId = await requestDataPromise('/web/getWebsiteRoute', {
-    method: 'GET',
-    query: {
-        'pinyin': targetSegment,
-    },
-});
-if(getRouteId.code == 200){
-    articleId = getRouteId.data.category_id
-}else{
-    console.log("错误位置:获得页面路径")
-}
-
-const name = ref('') //当前频道名称
-let getPageName = async () => {
-    const pageName = await requestDataPromise('/web/getOneWebsiteCategory', {
-        method: 'GET',
-        query: {
-            'catid': articleId
-        },
-    });
-    if (pageName.code == 200) {
-        name.value = pageName.data.alias
-    } else {
-        console.log("错误位置:获取当前频道名称", pageName.message)
-    }
-}
-getPageName();
-
-//2.3 获得第二层面包屑地址
-let articleId2 = 0; //把路径转换为数据id
-const targetSegment2 = getRoutePath(3);//返回第二层的路径id
-//通过导航路径反向查询导航id
-const getRouteId2 = await requestDataPromise('/web/getWebsiteRoute', {
-    method: 'GET',
-    query: {
-        'pinyin': targetSegment2,
-    },
-});
-if(getRouteId2.code == 200){
-    articleId2 = getRouteId2.data.category_id
-}else{
-    console.log("错误位置:获得页面路径")
-}
-
-const name2 = ref('') 
-let getPageName2 = async () => {
-    const pageName = await requestDataPromise('/web/getOneWebsiteCategory', {
-        method: 'GET',
-        query: {
-            'catid': articleId2
-        },
-    });
-    if (pageName.code == 200) {
-        name2.value = pageName.data.alias
-    } else {
-        console.log("错误位置:获取当前频道名称", pageName.message)
-    }
-}
-getPageName2();
-
-
-//2.4 获得子栏目列表
-// const secondNav = ref([]);
-const selectedSecondId = ref(route.query.catid);//当前选中了哪个子导航
-// let getSecondNav = async () => {
-//     const listData = await requestDataPromise('/web/getWebsiteModelCategory', {
-//         method: 'GET',
-//         query: {
-//             'placeid': 1,
-//             'pid': articleId,
-//             'num': 50,
-//         },
-//     });
-//     if (listData.code == 200) {
-//         secondNav.value = listData.data
-//     } else {
-//         console.log("错误位置:获得子级栏目列表")
-//     }
-// }
-// getSecondNav();
-
-//2.5 获得cityid
-const cityId = ref(route.query.cityid)
-//2.页面路径 end ---------------------------------------->
-
-//3.选择商品所在地 start ---------------------------------------->
-//3.1 弹出下拉框
-const if_categ_crumb_panel = ref(false)//当前商品所在地下拉板
-const if_categ_crumb_panel_click = ref(false)//判断是否点击在下拉板内
-const btn_if_categ_crumb_panel_fun = () => {//点击下拉btn
-    if_categ_crumb_panel.value = !if_categ_crumb_panel.value
-}
-const categ_crumb_panel_btn_blur_fun = () => {//btn失去焦点事件
-    setTimeout(() => {
-        if (if_categ_crumb_panel_click.value == true) {
-            //点击在下拉panel内
-        } else {
-            //没点击在下拉panel内
-            if_categ_crumb_panel.value = false
-        }
-    }, 100);
-}
-//3.2 点击下拉panel
-const categ_crumb_panel_focus_fun = () => {
-    if_categ_crumb_panel_click.value = true
-    if_categ_crumb_panel.value = true
-}
-//3.3 下拉panel失去焦点事件
-const categ_crumb_panel_blur_fun = () => {
-    if_categ_crumb_panel_click.value = false
-    if_categ_crumb_panel.value = false
-}
-
-//3.4 获得详细地址列表
-const cityName = ref('')
-const cityList = ref([])
-const chooseCityId = ref('')
-let getCityList = async (id) => {
-    const shengData =  await requestDataPromise('/web/selectWebsiteArea', {
-        method: 'GET',
-        query: {
-            'pid': id,
-        },
-    });
-    if(shengData.code==200){
-        cityList.value = shengData.data;
-        cityName.value = shengData.data[0].pid_name;
-    }else{
-        ElMessage.error(shengData.message)
-    }
-}
-//3.5 初始化的时候先获取一下城市列表
-if(cityId.value != undefined){
-    getCityList(cityId.value);
-}
-//3.6 选择城市
-const chooseCity = (id) => {
-    chooseCityId.value = id;
-    router.replace({
-        query: { 
-            ...route.query, 
-            select: id
-        }
-    })
-}
-//3.选择商品所在地 end ---------------------------------------->
-
-//4.搜索 start ---------------------------------------->
-//4.1 选择一个子导航
-const selectSecond = (item) => {
-    //高亮显示当前选中的子导航
-    selectedSecondId.value = item.category_id
-    router.replace({
-        query: { ...route.query, catid: item.category_id }
-    })
-}
-
-//4.2 页面展示的数据
-const pageDataType1 = ref([]);//供应数据
-//const pageDataType2 = ref([]);//求购数据 此页面不需要求购数据
-
-//4.3 发起搜索
-const pageSearch = async () => {
-    let params = {
-        catid:"",//栏目id
-        city_id:"",//城市id
-        keyword:"",//搜索关键词 - 该页不需要
-        page:1,
-        pageSize:10,
-        type_id:1//1:供应 2:求购
-    }
-
-    if(selectedSecondId.value == undefined){
-        params.catid = articleId2
-    }else{
-        params.catid = parseFloat(selectedSecondId.value)
-    }
-
-    let routeCiteId = route.query.select;
-
-    if(routeCiteId != undefined && routeCiteId != ''){
-        params.city_id = parseFloat(routeCiteId)
-    }else{
-        if(cityId.value == undefined || cityId.value == '' || cityId.value == 'NaN'){
-            //删除变量params中的city_id参数
-            delete params.city_id
-        }else{
-            params.city_id = parseFloat(cityId.value)
-        }
-    }
-
-    const pageData = await requestDataPromise('/web/getWebsiteshopList', {
-        method: 'GET',
-        query: params,
-    });
-
-    if (pageData.code == 200) {
-        pageDataType1.value = pageData.data.type1;
-        //pageDataType2.value = pageData.data.type2;
-        total.value = pageData.data.type1_count;
-    } else {
-        console.log("错误位置:获得该页面数据失败!")
-    }
-    //开始请求数据
-    console.log(params)
-    console.log(pageData)
-}
-//页面初始化的时候调用一下搜索
-pageSearch();
-
-//4.4 每次路由一变化就重新请求数据
-//4.4.1 监听cityid
-watch(() => route.query.cityid, (newVal, oldVal) => {
-    if(newVal != undefined){
-        cityId.value = parseFloat(newVal)
-        getCityList(newVal)
-    }else{
-        cityList.value = []
-    }
-    pageSearch()
-})
-//4.4.2 监听catid
-watch(() => route.query.catid, (newVal, oldVal) => {
-    pageSearch()
-})
-//4.4.3 监听select
-//如果路由中存在select参数就忽略cityid
-watch(() => route.query.select, (newVal, oldVal) => {
-    if(newVal != undefined){
-        pageSearch()
-    }else{
-        chooseCityId.value = '';
-        pageSearch()
-    }
-})
-//4.搜索 end ---------------------------------------->
-
-
-//5.广告 start ---------------------------------------->
-//获得所有广告
-let adImg1 = ref({})
-onMounted(async () => {
-    const { $webUrl, $CwebUrl } = useNuxtApp();
-    //从客户端启动广告
-    //广告1
-    let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=xcw_shoplist_0001`
-    const responseAd1 = await fetch(url, {
-        headers: {
-            'Content-Type': 'application/json',
-            'Userurl': $CwebUrl,
-            'Origin': $CwebUrl
-        }
-    });
-    const resultAd1 = await responseAd1.json();
-    adImg1.value = resultAd1.data[0];
-})
-//5.广告 end ---------------------------------------->
-</script>
-
-
-<style lang="less" scoped>
-@import '@/assets/css/shop/list.less';
-</style>

+ 0 - 474
pages/xiangcunshangcheng/[dir]/[dir]/index.html.vue

@@ -1,474 +0,0 @@
-<template>
-    <ShopPageHead></ShopPageHead>
-    <main class="index_main" id="all_vue">
-        <HomeAdvertising :imgurl="adImg1"></HomeAdvertising>
-        <!--子菜单和地区选择-->
-        <ShopSubMenu2></ShopSubMenu2>
-        <!-- 地区选择 -->
-        <div class="categ_crumb_box clearfix_2">
-            <!-- 当前位置 -->
-            <div class="categ_crumb_left">
-                <span class="categ_crumb_left_a" title=""> 当前位置: </span>
-                <NuxtLink
-                    :to="`/xiangcunshangcheng/index.html`"
-                    class="categ_crumb_left_a"
-                >
-                    乡村商城
-                </NuxtLink>
-                &gt;
-                <NuxtLink
-                    :to="`/xiangcunshangcheng/${targetSegment}/index.html`"
-                    class="categ_crumb_left_a"
-                >
-                    {{name}}
-                </NuxtLink>
-                &gt;
-                <span class="categ_crumb_left_text">{{name2}}</span>
-            </div>
-            <!-- 当前位置 -->
-            <!-- 当前商品所在地 -->
-            <div class="categ_crumb_right clearfix" v-if="cityList.length > 0">
-                <div class="categ_crumb_right_text">当前商品所在地:</div>
-                <div class="categ_crumb_right_text hand">{{cityName}}</div>
-                <div class="categ_crumb_right_btn back100 hand" @click="btn_if_categ_crumb_panel_fun" tabindex="1"
-                    @blur="categ_crumb_panel_btn_blur_fun">
-                </div>
-            </div>
-            <!-- 当前商品所在地 -->
-            <div class="categ_crumb_panel" v-show="if_categ_crumb_panel" tabindex="0"
-                @click="categ_crumb_panel_focus_fun" @blur="categ_crumb_panel_blur_fun">
-                <h4 class="categ_crumb_panel_h4">您可以选择以下详细地区</h4>
-                <div class="categ_crumb_panel_btn_box clearfix">
-                    <span 
-                        class="categ_crumb_panel_btn hand"
-                        :class="{ categ_crumb_panel_btn_only: item.id == chooseCityId }"
-                        v-for="item in cityList"
-                        @click="chooseCity(item.id)"
-                    >
-                        {{ item.name }}
-                    </span>
-                </div>
-            </div>
-        </div>
-        <!-- 您可以选择以下详细地区 -->
-        <div class="categ_grey_box clearfix" v-if="secondNav.length > 0">
-            <div class="categ_grey_head">您可以选择以下详细分类:</div>
-            <div class="categ_grey_ul clearfix">
-                <span 
-                    :class="['categ_grey_btn hand', { 'categ_grey_btn_only': selectedSecondId == item.category_id }]"
-                    v-for="item in secondNav"
-                    @click="selectSecond(item)"
-                >
-                    {{ item.alias }}
-                </span>
-            </div>
-        </div>
-        <!-- 您可以选择以下详细地区 -->
-        <!-- 供应信息列表 -->
-        <!-- <div class=" clearfix" v-show="choice_categ_num == 1"> -->
-        <div class=" clearfix">
-            <div class="categ_1_index clearfix">
-                <div class="categ_head_box clearfix_2">
-                    <span class="categ_head_a">供应信息列表</span>
-                    <span class="categ_head_a_more" @click="pageShopList(1)" v-if="pageDataType1.length != 0">
-                        查看更多 &gt;
-                    </span>
-                </div>
-                <div class="categ_table clearfix">
-                    <div class="categ_table_head_box">
-                        <div class="categ_table_td_1">产品图片</div>
-                        <div class="categ_table_td_2">供求信息/公司</div>
-                        <div class="categ_table_td_3">发布时间</div>
-                        <div class="categ_table_td_4">地区</div>
-                    </div>
-                    <ShopNoData v-if="pageDataType1.length == 0" :pagetype="'class'"></ShopNoData>
-                    <div class="categ_table_li" v-for="item in pageDataType1" :key="item.id">
-                        <NuxtLink
-                            :to="getShopPathDetail1(item)"
-                            class="categ_table_li_a"
-                            :title="item.name"
-                        >
-                            <div class="categ_table_td_1">
-                                <img class="categ_table_td_1_img" :src="item.imgurl" alt="item.name">
-                            </div>
-                            <div class="search_table_td_2 ">
-                                <div class="search_table_td_2_in clearfix">
-                                    <div class="search_table_td_2_head dot1">
-                                        {{ item.name }}
-                                    </div>
-                                    <div class="search_table_td_2_dot3 dot2" v-if="item.com!=''&&item.com!= null">
-                                        {{item.com}}
-                                    </div>
-                                    <div class="search_table_td_2_dot2 dot2">
-                                        {{ item.description }}
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="categ_table_td_3">{{getTime(item.created_at, 'year', 1)}}</div>
-                            <div class="categ_table_td_4 dot1">{{item.city_name}}</div>
-                        </NuxtLink>
-                    </div>
-                </div>
-            </div>
-        </div>
-        <div class=" clearfix">
-            <div class="categ_1_index clearfix">
-                <div class="categ_head_box clearfix_2">
-                    <span class="categ_head_a">求购信息列表</span>
-                    <span class="categ_head_a_more" @click="pageShopList(2)" v-if="pageDataType2.length != 0">
-                        查看更多 &gt;
-                    </span>
-                </div>
-                <div class="categ_table clearfix">
-                    <div class="categ_table_head_box">
-                        <div class="categ_table_td_1">产品图片</div>
-                        <div class="categ_table_td_2">供求信息/公司</div>
-                        <div class="categ_table_td_3">发布时间</div>
-                        <div class="categ_table_td_4">地区</div>
-                    </div>
-                    <ShopNoData v-if="pageDataType2.length == 0" :pagetype="'class'"></ShopNoData>
-                    <div class="categ_table_li" v-for="item in pageDataType2" :key="item.id">
-                        <NuxtLink
-                            :to="getShopPathDetail1(item)"
-                            class="categ_table_li_a"
-                            :title="item.name"
-                        >
-                            <div class="categ_table_td_1">
-                                <img class="categ_table_td_1_img" :src="item.imgurl" alt="item.name">
-                            </div>
-                            <div class="search_table_td_2 ">
-                                <div class="search_table_td_2_in clearfix">
-                                    <div class="search_table_td_2_head dot1">
-                                        {{ item.name }}
-                                    </div>
-                                    <div class="search_table_td_2_dot3 dot2" v-if="item.com!=''&&item.com!= null">
-                                        {{item.com}}
-                                    </div>
-                                    <div class="search_table_td_2_dot2 dot2">
-                                        {{ item.description }}
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="categ_table_td_3">{{getTime(item.created_at, 'year', 1)}}</div>
-                            <div class="categ_table_td_4 dot1">{{item.city_name}}</div>
-                        </NuxtLink>
-                    </div>
-                </div>
-            </div>
-        </div>
-        <ShopHotNews></ShopHotNews>
-    </main>
-    <!-- 页面底部 -->
-    <HomeFoot></HomeFoot>
-</template>
-<script setup>
-//1.页面必备方法 start ---------------------------------------->
-import { ref, onMounted,watch } from 'vue'
-import { ElMessage } from 'element-plus'
-//1.页面必备方法 end ---------------------------------------->
-
-//2.页面路径 start ---------------------------------------->
-//2.1 获得页面数据id
-const route = useRoute();
-const router = useRouter()
-//第一层路径
-let articleId = 0; //把路径转换为数据id
-//第二层路径
-let articleId2 = 0;
-
-const targetSegment = getRoutePath(2);//返回第二层的路径id
-const targetSegment2 = getRoutePath(3);//返回第二层的路径id
-
-//2.3 获得子栏目列表
-const secondNav = ref([]);
-const selectedSecondId = ref(route.query.catid);//当前选中了哪个子导航
-
-//通过导航路径反向查询第一层导航id
-const getRouteId = await requestDataPromise('/web/getWebsiteRoute', {
-    method: 'GET',
-    query: {
-        'pinyin': targetSegment,
-    },
-});
-if(getRouteId.code == 200){
-    articleId = getRouteId.data.category_id
-}else{
-    console.log("错误位置:获得页面路径")
-}
-
-//通过导航路径反向查询第二层导航id
-const getRouteId2 = await requestDataPromise('/web/getWebsiteRoute', {
-    method: 'GET',
-    query: {
-        'pinyin': targetSegment2,
-    },
-});
-if(getRouteId2.code == 200){
-    articleId2 = getRouteId2.data.category_id
-    selectedSecondId.value = getRouteId2.data.category_id
-}else{
-    console.log("错误位置:获得页面路径")
-}
-
-//2.2 生成面包屑导航 
-const name = ref('') //当前频道名称
-let getPageName = async () => {
-    const pageName = await requestDataPromise('/web/getOneWebsiteCategory', {
-        method: 'GET',
-        query: {
-            'catid': articleId
-        },
-    });
-    if (pageName.code == 200) {
-        name.value = pageName.data.alias
-    } else {
-        console.log("错误位置:获取当前频道名称", pageName.message)
-    }
-}
-getPageName();
-
-const name2 = ref('') //当前频道名称
-let getPageName2 = async () => {
-    const pageName = await requestDataPromise('/web/getOneWebsiteCategory', {
-        method: 'GET',
-        query: {
-            'catid': articleId2
-        },
-    });
-    if (pageName.code == 200) {
-        name2.value = pageName.data.alias
-    } else {
-        console.log("错误位置:获取当前频道名称", pageName.message)
-    }
-}
-getPageName2();
-
-
-
-let getSecondNav = async () => {
-    const listData = await requestDataPromise('/web/getWebsiteModelCategory', {
-        method: 'GET',
-        query: {
-            'placeid': 1,
-            'pid': articleId,
-            'num': 50,
-        },
-    });
-    if (listData.code == 200) {
-        secondNav.value = listData.data
-    } else {
-        console.log("错误位置:获得子级栏目列表")
-    }
-}
-getSecondNav();
-
-//2.4 获得cityid
-const cityId = ref(route.query.cityid)
-//2.页面路径 end ---------------------------------------->
-
-//3.选择商品所在地 start ---------------------------------------->
-//3.1 弹出下拉框
-const if_categ_crumb_panel = ref(false)//当前商品所在地下拉板
-const if_categ_crumb_panel_click = ref(false)//判断是否点击在下拉板内
-const btn_if_categ_crumb_panel_fun = () => {//点击下拉btn
-    if_categ_crumb_panel.value = !if_categ_crumb_panel.value
-}
-const categ_crumb_panel_btn_blur_fun = () => {//btn失去焦点事件
-    setTimeout(() => {
-        if (if_categ_crumb_panel_click.value == true) {
-            //点击在下拉panel内
-        } else {
-            //没点击在下拉panel内
-            if_categ_crumb_panel.value = false
-        }
-    }, 100);
-}
-//3.2 点击下拉panel
-const categ_crumb_panel_focus_fun = () => {
-    if_categ_crumb_panel_click.value = true
-    if_categ_crumb_panel.value = true
-}
-//3.3 下拉panel失去焦点事件
-const categ_crumb_panel_blur_fun = () => {
-    if_categ_crumb_panel_click.value = false
-    if_categ_crumb_panel.value = false
-}
-
-//3.4 获得详细地址列表
-const cityName = ref('')
-const cityList = ref([])
-const chooseCityId = ref('')
-let getCityList = async (id) => {
-    const shengData =  await requestDataPromise('/web/selectWebsiteArea', {
-        method: 'GET',
-        query: {
-            'pid': id,
-        },
-    });
-    if(shengData.code==200){
-        cityList.value = shengData.data;
-        cityName.value = shengData.data[0].pid_name;
-    }else{
-        ElMessage.error(shengData.message)
-    }
-}
-//3.5 初始化的时候先获取一下城市列表
-if(cityId.value != undefined){
-    getCityList(cityId.value);
-}
-//3.6 选择城市
-const chooseCity = (id) => {
-    chooseCityId.value = id;
-    router.replace({
-        path: route.path,
-        query: { 
-            ...route.query, 
-            select: id
-        }
-    })
-}
-//3.选择商品所在地 end ---------------------------------------->
-
-//4.搜索 start ---------------------------------------->
-//4.1 选择一个子导航
-const selectSecond = (item) => {
-    //高亮显示当前选中的子导航
-    selectedSecondId.value = item.category_id
-    router.push({
-        path: `/xiangcunshangcheng/${targetSegment}/${item.aLIas_pinyin}/index.html`,
-        //query: { ...route.query, catid: item.category_id }
-    })
-}
-
-//4.2 页面展示的数据
-const pageDataType1 = ref([]);//供应数据
-const pageDataType2 = ref([]);//求购数据
-
-//4.3 发起搜索
-const pageSearch = async () => {
-    let params = {
-        catid:"",//栏目id
-        city_id:"",//城市id
-        keyword:"",//搜索关键词 - 该页不需要
-        page:1,
-        pageSize:3,
-        //type_id:1//1:供应 2:求购
-    }
-
-    if(selectedSecondId.value == undefined){
-        params.catid = articleId
-    }else{
-        params.catid = parseFloat(selectedSecondId.value)
-    }
-
-    let routeCiteId = route.query.select;
-
-    if(routeCiteId != undefined && routeCiteId != ''){
-        params.city_id = parseFloat(routeCiteId)
-    }else{
-        if(cityId.value == undefined || cityId.value == '' || cityId.value == 'NaN'){
-            //删除变量params中的city_id参数
-            delete params.city_id
-        }else{
-            params.city_id = parseFloat(cityId.value)
-        }
-    }
-
-    const pageData = await requestDataPromise('/web/getWebsiteshopList', {
-        method: 'GET',
-        query: params,
-    });
-
-    if (pageData.code == 200) {
-        pageDataType1.value = pageData.data.type1;
-        pageDataType2.value = pageData.data.type2;
-    } else {
-        console.log("错误位置:获得该页面数据失败!")
-    }
-    //开始请求数据
-    console.log(params)
-    console.log(pageData)
-}
-//页面初始化的时候调用一下搜索
-pageSearch();
-
-//4.4 每次路由一变化就重新请求数据
-//4.4.1 监听cityid
-watch(() => route.query.cityid, (newVal, oldVal) => {
-    if(newVal != undefined){
-        cityId.value = parseFloat(newVal)
-        getCityList(newVal)
-    }else{
-        cityList.value = []
-    }
-    pageSearch()
-})
-//4.4.2 监听catid
-watch(() => route.query.catid, (newVal, oldVal) => {
-    pageSearch()
-})
-//4.4.3 监听select
-//如果路由中存在select参数就忽略cityid
-watch(() => route.query.select, (newVal, oldVal) => {
-    if(newVal != undefined){
-        pageSearch()
-    }else{
-        chooseCityId.value = '';
-        pageSearch()
-    }
-})
-//4.搜索 end ---------------------------------------->
-
-//5.广告 start ---------------------------------------->
-//获得所有广告
-let adImg1 = ref({})
-onMounted(async () => {
-    const { $webUrl, $CwebUrl } = useNuxtApp();
-    //从客户端启动广告
-    //广告1
-    let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=xcw_shoplist_0001`
-    const responseAd1 = await fetch(url, {
-        headers: {
-            'Content-Type': 'application/json',
-            'Userurl': $CwebUrl,
-            'Origin': $CwebUrl
-        }
-    });
-    const resultAd1 = await responseAd1.json();
-    adImg1.value = resultAd1.data[0];
-})
-//5.广告 end ---------------------------------------->
-
-
-//6.跳转到列表页 start ---------------------------------------->
-const pageShopList = (type) => {
-    const { catid, cityid, select } = route.query
-
-    const queryParams = {
-        ...(catid && { catid }),
-        ...(cityid && { cityid }),
-        ...(select && { select })
-    }
-
-    if(type == 1){
-        //type==1 跳转到供应列表页
-        const targetPath = `/xiangcunshangcheng/${targetSegment}/${targetSegment2}/gongying/list-1.html`
-        router.push({
-            path: targetPath,
-            query: queryParams
-        })
-    }else{
-        //type==2 跳转到求购列表页
-        const targetPath = `/xiangcunshangcheng/${targetSegment}/${targetSegment2}/qiugou/list-1.html`
-        router.push({
-            path: targetPath,
-            query: queryParams
-        })
-    }
-}
-//6.跳转到列表页 end ---------------------------------------->
-</script>
-
-<style lang="less" scoped>
-@import '@/assets/css/shop/class.less';
-</style>

+ 0 - 319
pages/xiangcunshangcheng/[dir]/[dir]/qiugou/[id].html.vue

@@ -1,319 +0,0 @@
-<template>
-    <ShopPageHead></ShopPageHead>
-    <main class="index_main" id="all_vue">
-        <HomeAdvertising :imgurl="adImg1"></HomeAdvertising>
-        <ShopSubMenu></ShopSubMenu>
-        <!-- 当前位置 -->
-        <div class="categ_crumb_box2 clearfix_2">
-            <div class="categ_crumb_left">
-                <span class="categ_crumb_left_a" title=""> 当前位置: </span>
-                <NuxtLink
-                    :to="`/xiangcunshangcheng/index.html`"
-                    class="categ_crumb_left_a"
-                >
-                    乡村商城
-                </NuxtLink>
-                &gt;
-                <NuxtLink
-                    :to="`/xiangcunshangcheng/${targetSegment}/index.html`"
-                    class="categ_crumb_left_a"
-                >
-                    {{name}}
-                </NuxtLink>
-                &gt;
-                <NuxtLink
-                    :to="`/xiangcunshangcheng/${targetSegment}/${targetSegment2}/index.html`"
-                    class="categ_crumb_left_a"
-                >
-                    {{name2}}
-                </NuxtLink>
-                &gt;
-                <NuxtLink
-                    :to="`/xiangcunshangcheng/${targetSegment}/${targetSegment2}/qiugou/list-1.html`"
-                    class="categ_crumb_left_a"
-                >
-                    求购
-                </NuxtLink>
-                &gt;
-                <span class="categ_crumb_left_text">{{shopData.name}}</span>
-            </div>
-        </div>
-
-        <div class="supply_1_index_qiugou clearfix">
-            <div class="supply_1_index_qiugou_left">
-                <img class="supply_1_img" :src="shopImg" :alt="shopData.name">
-                <div class="supply_1_right_qiugou">
-                    <h4 class="supply_1_h4">{{shopData.name}}</h4>
-                    <div class="supply_1_ul_qiugou clearfix">
-                        <div class="supply_1_li_qiugou clearfix"><label class="supply_1_li_label">发布日期</label><span
-                            class="supply_1_li_text ">{{getTimeText(shopData.created_at)}}</span></div>
-                        <div class="supply_1_li_qiugou clearfix"><label class="supply_1_li_label">截止日期</label><span
-                            class="supply_1_li_text ">{{getValidityTime(shopData)}}</span></div>
-                        <div class="supply_1_li_qiugou clearfix"><label class="supply_1_li_label">浏览次数</label><span
-                            class="supply_1_li_text ">{{ shopData.hits }}</span></div>
-                        <div class="supply_1_li_qiugou clearfix"><label class="supply_1_li_label">联 系 人</label><span
-                            class="supply_1_li_text ">{{ shopData.contact}}</span></div>
-                        <div class="supply_1_li_qiugou clearfix"><label class="supply_1_li_label">发布地区</label><span
-                            class="supply_1_li_text ">{{ shopData.address }}</span></div>
-                        <div class="supply_1_li_qiugou clearfix"><label class="supply_1_li_label">座 机</label><span
-                            class="supply_1_li_text ">{{ shopData.landline }}</span></div>
-                        <div class="supply_1_li_qiugou clearfix"><label class="supply_1_li_label">联系电话</label><span
-                            class="supply_1_li_text ">{{ shopData.phone }}</span></div>
-                    </div>
-                </div>
-            </div>
-
-            <div class="supply_1_index_qiugou_right">
-                <div class="shop_3_right clearfix">
-                    <div class="choice_1_box clearfix">
-                        <div class="choice_1_btn_box clearfix">
-                            <div class="choice_1_btn" 
-                                :class="{ choice_1_btn_only: choice_1_num == 1 }"
-                                @mouseover="choice_1_num = 1">
-                                <span class="choice_1_btn_a">供应商品</span>
-                            </div>
-                            <div class="choice_1_btn" 
-                                :class="{ choice_1_btn_only: choice_1_num == 2 }"
-                                @mouseover="choice_1_num = 2">
-                                <span class="choice_1_btn_a">求购商品</span>
-                            </div>
-                        </div>
-                        <div class="choice_1_card_box">
-                            <div class="shop_ul_img_2 choice_1_card clearfix" v-show="choice_1_num == 1">
-                                <div class="shop_li_img_2" v-for="(item,index) in boxData1">
-                                    <nuxtLink 
-                                        :to="getShopPathDetail1(item)"
-                                        class="shop_li_img_2_a"
-                                    >
-                                        <div class="shop_li_img_2_num"> {{ index + 1 }} </div>
-                                        <div class="shop_li_img_2_right clearfix">
-                                            <img class="shop_li_img_2_img" :src="item.imgurl" :alt="item.name">
-                                            <div class="shop_li_img_2_text">
-                                                {{item.name}}
-                                            </div>
-                                        </div>
-                                    </nuxtLink>
-                                </div>
-                            </div>
-                            <div class="shop_ul_img_2 choice_1_card clearfix" v-show="choice_1_num == 2">
-                                <div class="shop_li_img_2" v-for="(item,index) in boxData2">
-                                    <nuxtLink 
-                                        :to="getShopPathDetail1(item)"
-                                        class="shop_li_img_2_a"
-                                    >
-                                        <div class="shop_li_img_2_num"> {{ index + 1 }} </div>
-                                        <div class="shop_li_img_2_right clearfix">
-                                            <img class="shop_li_img_2_img" :src="item.imgurl" :alt="item.name">
-                                            <div class="shop_li_img_2_text">
-                                                {{item.name}}
-                                            </div>
-                                        </div>
-                                    </nuxtLink>
-                                </div>
-                            </div>
-                        </div>
-                    </div>
-                </div>
-            </div>
-
-        </div>
-        <div class="supply_2_index clearfix">
-
-            <div class="supply_head_box clearfix_2">
-                <a class="supply_head_a" title="" :class="{ supply_head_a_only: 1 == supply_choice_1_num }"
-                    @mouseover="supply_choice_1_num = 1">详情信息</a>
-                <a class="supply_head_a" title="" :class="{ supply_head_a_only: 2 == supply_choice_1_num }"
-                    @mouseover="supply_choice_1_num = 2">发布人信息</a>
-            </div>
-
-            <div class="supply_art_out clearfix">
-                <!-- 详情信息 -->
-                <div class="supply_art_box" v-show="supply_choice_1_num == 1" v-html="shopData.detail"></div>
-                <!-- 发布人信息 -->
-                <div class="supply_art_box" v-show="supply_choice_1_num == 2">
-                    <p class="supply_art_box_p">公司名称:</p>
-                    <p class="supply_art_box_p">电子邮箱:{{shopData.email}}</p>
-                    <p class="supply_art_box_p">邮政编码:{{shopData.postal}}</p>
-                    <p class="supply_art_box_p">联系地址:{{shopData.address}}</p>
-                </div>
-            </div>
-        </div>
-        <ShopHotNews></ShopHotNews>
-    </main>
-    <HomeFoot></HomeFoot>
-</template>
-
-<script setup>
-//1.页面必备方法 start ---------------------------------------->
-import { ref, onMounted } from 'vue'
-import { ElRadio, ElRadioGroup } from 'element-plus'
-//1.2选项卡 
-const supply_choice_1_num = ref(1)
-//1.3是否展示有效期
-const getValidityTime = (shopData) => {
-    if(shopData.islong==1){
-        return "无期限"
-    }else{
-        if(shopData.validity){
-            return shopData.validity.split(' ')[0];
-        }
-    }
-}
-//1.4 格式化字符串时间
-const getTimeText = (time) => {
-    if(time){
-        return time.split(' ')[0];
-    }else{
-        return '';
-    }
-}
-// 1.4应商品与求购商品的选项卡	
-const choice_1_num = ref(1)
-//1.页面必备方法 end ---------------------------------------->
-
-//2.页面路径 start ---------------------------------------->
-//2.1 获得页面数据id
-const route = useRoute();
-const router = useRouter()
-
-//2.2 获得第一层面包屑地址
-let articleId = 0; //把路径转换为数据id
-const targetSegment = getRoutePath(2);//返回第二层的路径id
-const name = ref('') //当前频道名称
-//通过导航路径反向查询导航id
-const getRouteId = await requestDataPromise('/web/getWebsiteRoute', {
-    method: 'GET',
-    query: {
-        'pinyin': targetSegment,
-    },
-});
-if(getRouteId.code == 200){
-    articleId = getRouteId.data.category_id;
-    name.value = getRouteId.data.alias;
-}else{
-    console.log("错误位置:获得页面路径")
-}
-
-//2.3 获得第二层面包屑地址
-let articleId2 = 0;
-const name2 = ref('');
-const targetSegment2 = getRoutePath(3);
-//通过导航路径反向查询导航id
-const getRouteId2 = await requestDataPromise('/web/getWebsiteRoute', {
-    method: 'GET',
-    query: {
-        'pinyin': targetSegment2,
-    },
-});
-if(getRouteId2.code == 200){
-    articleId2 = getRouteId2.data.category_id;
-    name2.value = getRouteId2.data.alias;
-}else{
-    console.log("错误位置:获得页面路径")
-}
-
-//2.4 获得子栏目列表
-const secondNav = ref([]);
-const selectedSecondId = ref(route.query.catid);//当前选中了哪个子导航
-let getSecondNav = async () => {
-    const listData = await requestDataPromise('/web/getWebsiteModelCategory', {
-        method: 'GET',
-        query: {
-            'placeid': 1,
-            'pid': articleId,
-            'num': 50,
-        },
-    });
-    if (listData.code == 200) {
-        secondNav.value = listData.data
-    } else {
-        console.log("错误位置:获得子级栏目列表")
-    }
-}
-getSecondNav();
-
-//2.5 获得cityid
-const cityId = ref(route.query.cityid)
-//2.页面路径 end ---------------------------------------->
-
-//3.获得商品详情 start ---------------------------------------->
-const shopId = ref(route.params.id) //获得商品的id
-const shopData = ref({});
-const shopImg = ref("")
-
-let getShopData = async () => {
-    const shopReq = await requestDataPromise('/web/getWebsiteshopInfo', {
-        method: 'GET',
-        query: {
-            'id': parseFloat(shopId.value),
-        },
-    });
-
-    if (shopReq.code == 200) {
-        console.log(667788)
-        console.log(shopReq)
-        shopData.value = shopReq.data
-        shopImg.value = shopReq.data.imgurl[0]
-    } else {
-        console.log("错误位置:获得商品详情")
-    }
-}
-getShopData();
-
-//获得右侧供应与求购的内容
-const boxData1 = ref([]) //供应商品
-const boxData2 = ref([]) //求购商品
-
-//创建请求数据json
-let getJson = [
-    {"level":"5,0,6"},//供应商品
-    {"level":"6,0,6"},//求购商品
-]
-
-let jsonString = JSON.stringify(getJson)
-
-//获取所有数据
-async function getPageAllData() {
-    const mkdata = await requestDataPromise('/web/getWebsiteshop', {
-        method: 'GET',
-        query: {
-            'catid': 346,
-            'id': jsonString,
-        },
-    });
-
-    if (mkdata.code == 200) {
-        //供应商品
-        boxData1.value = mkdata.data.goods[0];
-        //求购商品
-        boxData2.value = mkdata.data.goods[1];
-    } else {
-        ElMessage.error(mkdata.message)
-    }
-}
-getPageAllData();
-//3.获得商品详情 end  ---------------------------------------->
-
-//5.广告 start ---------------------------------------->
-//获得所有广告
-let adImg1 = ref({})
-onMounted(async () => {
-    const { $webUrl, $CwebUrl } = useNuxtApp();
-    //从客户端启动广告
-    //广告1
-    let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=xcw_shopdetail_0001`
-    const responseAd1 = await fetch(url, {
-        headers: {
-            'Content-Type': 'application/json',
-            'Userurl': $CwebUrl,
-            'Origin': $CwebUrl
-        }
-    });
-    const resultAd1 = await responseAd1.json();
-    adImg1.value = resultAd1.data[0];
-})
-//5.广告 end ---------------------------------------->
-</script>
-<style lang="less" scoped>
-@import '@/assets/css/shop/detail.less';
-</style>

+ 0 - 396
pages/xiangcunshangcheng/[dir]/[dir]/qiugou/list-[id].html.vue

@@ -1,396 +0,0 @@
-<template>
-    <ShopPageHead></ShopPageHead>
-    <!-- xc_shop_search_more_no_card  乡村网-商城-搜索-查看更多 -->
-    <main class="index_main" id="all_vue">
-        <HomeAdvertising :imgurl="adImg1"></HomeAdvertising>
-        <!--子菜单和地区选择-->
-        <ShopSubMenu2></ShopSubMenu2>
-        <!-- 地区选择 -->
-        <div class="categ_crumb_box clearfix_2">
-            <!-- 当前位置 -->
-            <div class="categ_crumb_left">
-                <span class="categ_crumb_left_a" title=""> 当前位置: </span>
-                <NuxtLink
-                    :to="`/xiangcunshangcheng/index.html`"
-                    class="categ_crumb_left_a"
-                >
-                    乡村商城
-                </NuxtLink>
-                &gt;
-                <NuxtLink
-                    :to="`/xiangcunshangcheng/${targetSegment}/index.html`"
-                    class="categ_crumb_left_a"
-                >
-                    {{name}}
-                </NuxtLink>
-                &gt;
-                <NuxtLink
-                    :to="`/xiangcunshangcheng/${targetSegment}/${targetSegment2}/index.html`"
-                    class="categ_crumb_left_a"
-                >
-                    {{name2}}
-                </NuxtLink>
-                &gt;
-                <span class="categ_crumb_left_text">求购</span>
-            </div>
-            <!-- 当前位置 -->
-            <!-- 当前商品所在地 -->
-            <div class="categ_crumb_right clearfix" v-if="cityList.length > 0">
-                <div class="categ_crumb_right_text">当前商品所在地:</div>
-                <div class="categ_crumb_right_text hand">{{cityName}}</div>
-                <div class="categ_crumb_right_btn back100 hand" @click="btn_if_categ_crumb_panel_fun" tabindex="1"
-                    @blur="categ_crumb_panel_btn_blur_fun">
-                </div>
-            </div>
-            <!-- 当前商品所在地 -->
-            <div class="categ_crumb_panel" v-show="if_categ_crumb_panel" tabindex="0"
-                @click="categ_crumb_panel_focus_fun" @blur="categ_crumb_panel_blur_fun">
-                <h4 class="categ_crumb_panel_h4">您可以选择以下详细地区</h4>
-                <div class="categ_crumb_panel_btn_box clearfix">
-                    <span 
-                        class="categ_crumb_panel_btn hand"
-                        :class="{ categ_crumb_panel_btn_only: item.id == chooseCityId }"
-                        v-for="item in cityList"
-                        @click="chooseCity(item.id)"
-                    >
-                        {{ item.name }}
-                    </span>
-                </div>
-            </div>
-        </div>
-        <!-- 您可以选择以下详细分类 -->
-        <!-- <div class="categ_grey_box clearfix" v-if="secondNav.length > 0">
-            <div class="categ_grey_head">您可以选择以下详细分类:</div>
-            <div class="categ_grey_ul clearfix">
-                <span 
-                    :class="['categ_grey_btn hand', { 'categ_grey_btn_only': selectedSecondId == item.category_id }]"
-                    v-for="item in secondNav"
-                    @click="selectSecond(item)"
-                >
-                    {{ item.alias }}
-                </span>
-            </div>
-        </div> -->
-        <!-- 您可以选择以下详细分类 -->
-
-        <!-- 供应信息列表 -->
-        <div class=" clearfix">
-            <div class="categ_1_index clearfix">
-                <div class="categ_head_box clearfix_2">
-                    <a class="categ_head_a" href="" title="">求购信息列表</a>
-                </div>
-                <div class="categ_table clearfix">
-                    <div class="categ_table_head_box">
-                        <div class="categ_table_td_1">产品图片</div>
-                        <div class="categ_table_td_2">供求信息/公司</div>
-                        <div class="categ_table_td_3">发布时间</div>
-                        <div class="categ_table_td_4">地区</div>
-                    </div>
-                    <ShopNoData v-if="pageDataType2.length == 0" :pagetype="'list'"></ShopNoData>
-                    <div class="categ_table_li" v-for="item in pageDataType2">
-                        <NuxtLink
-                            :to="getShopPathDetail1(item)"
-                            class="categ_table_li_a"
-                            :title="item.name"
-                        >
-                            <div class="categ_table_td_1">
-                                <img class="categ_table_td_1_img" :src="item.imgurl" :alt="item.name">
-                            </div>
-                            <div class="search_table_td_2 ">
-                                <div class="search_table_td_2_in clearfix">
-                                    <div class="search_table_td_2_head dot1">
-                                        {{ item.name }}
-                                    </div>
-                                    <div class="search_table_td_2_dot3 dot2" v-if="item.com!=''&&item.com!= null">
-                                        {{item.com}}
-                                    </div>
-                                    <div class="search_table_td_2_dot2 dot2">
-                                        {{ item.description }}
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="categ_table_td_3">{{ getTime(item.created_at, 'year', 1) }}</div>
-                            <div class="categ_table_td_4 dot1">{{ item.city_name }}</div>
-                        </NuxtLink>
-                    </div>
-                </div>
-            </div>
-            <!-- 分页器 -->
-            <div class="pagination" v-if="total">
-                <el-pagination 
-                    size="small" 
-                    background layout="prev, pager, next" 
-                    :total="total"
-                    v-model:page-size="pageSize" 
-                    prev-text="上一页" 
-                    next-text="下一页" 
-                    :current-page="pageNum"
-                    @current-change="changePage" 
-                />
-            </div>
-        </div>
-        <ShopHotNews></ShopHotNews>
-    </main>
-    <!-- 页面底部 -->
-    <HomeFoot></HomeFoot>
-</template>
-
-<script setup>
-//1.页面必备方法 start ---------------------------------------->
-import { ref, onMounted,watch } from 'vue'
-import { ElMessage,ElPagination } from 'element-plus'
-
-//分页
-let pageNum = ref(1);
-let pageSize = ref(10);
-let total = ref(0);
-
-let changePage = (value) => {
-    console.log("当前页码", value);
-    navigateTo(`/xiangcunshangcheng/${targetSegment}/${targetSegment2}/gongying/list-${value}.html`)
-}
-//1.页面必备方法 end ---------------------------------------->
-
-//2.页面路径 start ---------------------------------------->
-//2.1 获得页面数据id
-const route = useRoute();
-const router = useRouter()
-
-//2.2 获得第一层面包屑地址
-let articleId = 0; //把路径转换为数据id
-const name = ref('') //当前频道名称
-const targetSegment = getRoutePath(2);//返回第二层的路径id
-//通过导航路径反向查询导航id
-const getRouteId = await requestDataPromise('/web/getWebsiteRoute', {
-    method: 'GET',
-    query: {
-        'pinyin': targetSegment,
-    },
-});
-if(getRouteId.code == 200){
-    articleId = getRouteId.data.category_id;
-    name.value = getRouteId.data.alias;
-}else{
-    console.log("错误位置:获得页面路径")
-}
-
-//2.3 获得第二层面包屑地址
-let articleId2 = 0; //把路径转换为数据id
-const name2 = ref('') 
-const targetSegment2 = getRoutePath(3);//返回第二层的路径id
-//通过导航路径反向查询导航id
-const getRouteId2 = await requestDataPromise('/web/getWebsiteRoute', {
-    method: 'GET',
-    query: {
-        'pinyin': targetSegment2,
-    },
-});
-if(getRouteId2.code == 200){
-    articleId2 = getRouteId2.data.category_id;
-    name2.value = getRouteId2.data.alias;
-}else{
-    console.log("错误位置:获得页面路径")
-}
-
-//2.4 获得子栏目列表
-// const secondNav = ref([]);
-const selectedSecondId = ref(route.query.catid);//当前选中了哪个子导航
-// let getSecondNav = async () => {
-//     const listData = await requestDataPromise('/web/getWebsiteModelCategory', {
-//         method: 'GET',
-//         query: {
-//             'placeid': 1,
-//             'pid': articleId,
-//             'num': 50,
-//         },
-//     });
-//     if (listData.code == 200) {
-//         secondNav.value = listData.data
-//     } else {
-//         console.log("错误位置:获得子级栏目列表")
-//     }
-// }
-// getSecondNav();
-
-//2.5 获得cityid
-const cityId = ref(route.query.cityid)
-//2.页面路径 end ---------------------------------------->
-
-//3.选择商品所在地 start ---------------------------------------->
-//3.1 弹出下拉框
-const if_categ_crumb_panel = ref(false)//当前商品所在地下拉板
-const if_categ_crumb_panel_click = ref(false)//判断是否点击在下拉板内
-const btn_if_categ_crumb_panel_fun = () => {//点击下拉btn
-    if_categ_crumb_panel.value = !if_categ_crumb_panel.value
-}
-const categ_crumb_panel_btn_blur_fun = () => {//btn失去焦点事件
-    setTimeout(() => {
-        if (if_categ_crumb_panel_click.value == true) {
-            //点击在下拉panel内
-        } else {
-            //没点击在下拉panel内
-            if_categ_crumb_panel.value = false
-        }
-    }, 100);
-}
-//3.2 点击下拉panel
-const categ_crumb_panel_focus_fun = () => {
-    if_categ_crumb_panel_click.value = true
-    if_categ_crumb_panel.value = true
-}
-//3.3 下拉panel失去焦点事件
-const categ_crumb_panel_blur_fun = () => {
-    if_categ_crumb_panel_click.value = false
-    if_categ_crumb_panel.value = false
-}
-
-//3.4 获得详细地址列表
-const cityName = ref('')
-const cityList = ref([])
-const chooseCityId = ref('')
-let getCityList = async (id) => {
-    const shengData =  await requestDataPromise('/web/selectWebsiteArea', {
-        method: 'GET',
-        query: {
-            'pid': id,
-        },
-    });
-    if(shengData.code==200){
-        cityList.value = shengData.data;
-        cityName.value = shengData.data[0].pid_name;
-    }else{
-        ElMessage.error(shengData.message)
-    }
-}
-//3.5 初始化的时候先获取一下城市列表
-if(cityId.value != undefined){
-    getCityList(cityId.value);
-}
-//3.6 选择城市
-const chooseCity = (id) => {
-    chooseCityId.value = id;
-    router.replace({
-        query: { 
-            ...route.query, 
-            select: id
-        }
-    })
-}
-//3.选择商品所在地 end ---------------------------------------->
-
-//4.搜索 start ---------------------------------------->
-//4.1 选择一个子导航
-const selectSecond = (item) => {
-    //高亮显示当前选中的子导航
-    selectedSecondId.value = item.category_id
-    router.replace({
-        query: { ...route.query, catid: item.category_id }
-    })
-}
-
-//4.2 页面展示的数据
-//const pageDataType1 = ref([]);//供应数据
-const pageDataType2 = ref([]);//求购数据 此页面不需要求购数据
-
-//4.3 发起搜索
-const pageSearch = async () => {
-    let params = {
-        catid:"",//栏目id
-        city_id:"",//城市id
-        keyword:"",//搜索关键词 - 该页不需要
-        page:1,
-        pageSize:10,
-        type_id:2//1:供应 2:求购
-    }
-
-    if(selectedSecondId.value == undefined){
-        params.catid = articleId2
-    }else{
-        params.catid = parseFloat(selectedSecondId.value)
-    }
-
-    let routeCiteId = route.query.select;
-
-    if(routeCiteId != undefined && routeCiteId != ''){
-        params.city_id = parseFloat(routeCiteId)
-    }else{
-        if(cityId.value == undefined || cityId.value == '' || cityId.value == 'NaN'){
-            //删除变量params中的city_id参数
-            delete params.city_id
-        }else{
-            params.city_id = parseFloat(cityId.value)
-        }
-    }
-
-    const pageData = await requestDataPromise('/web/getWebsiteshopList', {
-        method: 'GET',
-        query: params,
-    });
-
-    if (pageData.code == 200) {
-        //pageDataType1.value = pageData.data.type1;
-        pageDataType2.value = pageData.data.type2;
-        total.value = pageData.data.type2_count;
-    } else {
-        console.log("错误位置:获得该页面数据失败!")
-    }
-    //开始请求数据
-    console.log(params)
-    console.log(pageData)
-}
-//页面初始化的时候调用一下搜索
-pageSearch();
-
-//4.4 每次路由一变化就重新请求数据
-//4.4.1 监听cityid
-watch(() => route.query.cityid, (newVal, oldVal) => {
-    if(newVal != undefined){
-        cityId.value = parseFloat(newVal)
-        getCityList(newVal)
-    }else{
-        cityList.value = []
-    }
-    pageSearch()
-})
-//4.4.2 监听catid
-watch(() => route.query.catid, (newVal, oldVal) => {
-    pageSearch()
-})
-//4.4.3 监听select
-//如果路由中存在select参数就忽略cityid
-watch(() => route.query.select, (newVal, oldVal) => {
-    if(newVal != undefined){
-        pageSearch()
-    }else{
-        chooseCityId.value = '';
-        pageSearch()
-    }
-})
-//4.搜索 end ---------------------------------------->
-
-
-//5.广告 start ---------------------------------------->
-//获得所有广告
-let adImg1 = ref({})
-onMounted(async () => {
-    const { $webUrl, $CwebUrl } = useNuxtApp();
-    //从客户端启动广告
-    //广告1
-    let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=xcw_shoplist_0001`
-    const responseAd1 = await fetch(url, {
-        headers: {
-            'Content-Type': 'application/json',
-            'Userurl': $CwebUrl,
-            'Origin': $CwebUrl
-        }
-    });
-    const resultAd1 = await responseAd1.json();
-    adImg1.value = resultAd1.data[0];
-})
-//5.广告 end ---------------------------------------->
-</script>
-
-
-<style lang="less" scoped>
-@import '@/assets/css/shop/list.less';
-</style>

+ 0 - 207
pages/xiangcunshangcheng/[dir]/gongying/[id].html.vue

@@ -1,207 +0,0 @@
-<template>
-    <ShopPageHead></ShopPageHead>
-    <main class="index_main" id="all_vue">
-        <HomeAdvertising :imgurl="adImg1"></HomeAdvertising>
-        <ShopSubMenu></ShopSubMenu>
-        <!-- 当前位置 -->
-        <div class="categ_crumb_box clearfix_2">
-            <div class="categ_crumb_left">
-                <span class="categ_crumb_left_a" title=""> 当前位置: </span>
-                <NuxtLink
-                    :to="`/xiangcunshangcheng/index.html`"
-                    class="categ_crumb_left_a"
-                >
-                    乡村商城
-                </NuxtLink>
-                &gt;
-                <NuxtLink
-                    :to="`/xiangcunshangcheng/${targetSegment}/index.html`"
-                    class="categ_crumb_left_a"
-                >
-                    {{name}}
-                </NuxtLink>
-                &gt;
-                <NuxtLink
-                    :to="`/xiangcunshangcheng/${targetSegment}/gongying/list-1.html`"
-                    class="categ_crumb_left_a"
-                >
-                    供应
-                </NuxtLink>
-                &gt;
-                <span class="categ_crumb_left_text">{{shopData.name}}</span>
-            </div>
-        </div>
-
-        <div class="supply_1_index clearfix">
-            <img class="supply_1_img" :src="shopImg" :alt="shopData.name">
-            <div class="supply_1_right">
-                <h4 class="supply_1_h4">{{shopData.name}}</h4>
-                <div class="supply_1_title_box clearfix">
-                    <time class="supply_1_title"> 更新日期:{{shopData.updated_at}}</time>
-                    <span class="supply_1_title">浏览次数:{{ shopData.hits }}</span>
-                </div>
-                <div class="supply_1_ul clearfix">
-                    <div class="supply_1_li clearfix"><label class="supply_1_li_label">公 司 名</label><span
-                            class="supply_1_li_text ">{{ shopData.com }}</span></div>
-                    <div class="supply_1_li clearfix"><label class="supply_1_li_label">所 在 地</label><span
-                            class="supply_1_li_text ">{{ shopData.address }}</span></div>
-                    <div class="supply_1_li clearfix"><label class="supply_1_li_label">联 系 人</label><span
-                            class="supply_1_li_text ">{{ shopData.contact}}</span></div>
-                    <div class="supply_1_li clearfix"><label class="supply_1_li_label">产品单价</label><span
-                            class="supply_1_li_text ">{{shopData.price}}元/{{ shopData.unit }}</span></div>
-                    <div class="supply_1_li clearfix"><label class="supply_1_li_label">最小定量</label><span
-                            class="supply_1_li_text ">{{ shopData.min }}</span></div>
-                    <div class="supply_1_li clearfix"><label class="supply_1_li_label">供货总量</label><span
-                            class="supply_1_li_text ">{{shopData.max}}</span></div>
-                    <div class="supply_1_li clearfix"><label class="supply_1_li_label">有 效 期</label><span
-                            class="supply_1_li_text ">{{getValidityTime(shopData)}}</span></div>
-                </div>
-            </div>
-        </div>
-        <div class="supply_2_index clearfix">
-
-            <div class="supply_head_box clearfix_2">
-                <a class="supply_head_a" title="" :class="{ supply_head_a_only: 1 == supply_choice_1_num }"
-                    @mouseover="supply_choice_1_num = 1">详情信息</a>
-                <a class="supply_head_a" title="" :class="{ supply_head_a_only: 2 == supply_choice_1_num }"
-                    @mouseover="supply_choice_1_num = 2">联系方式</a>
-                <a class="supply_head_a" title="" :class="{ supply_head_a_only: 3 == supply_choice_1_num }"
-                    @mouseover="supply_choice_1_num = 3">图片展示</a>
-            </div>
-
-            <div class="supply_art_out clearfix">
-                <!-- 详情信息 -->
-                <div class="supply_art_box" v-show="supply_choice_1_num == 1" v-html="shopData.detail"></div>
-                <!-- 联系方式 -->
-                <div class="supply_art_box" v-show="supply_choice_1_num == 2">
-                    <p class="supply_art_box_p">公司名:</p>
-                    <p class="supply_art_box_p">联系人:{{shopData.contact}}</p>
-                    <p class="supply_art_box_p">电话:{{shopData.phone}}</p>
-                    <p class="supply_art_box_p">邮箱:{{shopData.email}}</p>
-                    <p class="supply_art_box_p">邮政编码:{{shopData.postal}}</p>
-                    <p class="supply_art_box_p">详细地址:{{shopData.address}}</p>
-                </div>
-                <!-- 图片展示 -->
-                <div class="supply_art_box" v-show="supply_choice_1_num == 3">
-                    <div class="supply_art_box_img">
-                        <img :src="item" v-for="item in shopData.imgurl">
-                    </div>
-                </div>
-            </div>
-        </div>
-        <ShopHotNews></ShopHotNews>
-    </main>
-    <HomeFoot></HomeFoot>
-</template>
-
-<script setup>
-//1.页面必备方法 start ---------------------------------------->
-import { ref, onMounted } from 'vue'
-import { ElRadio, ElRadioGroup } from 'element-plus'
-//1.2选项卡 
-const supply_choice_1_num = ref(1)
-//1.3是否展示有效期
-const getValidityTime = (shopData) => {
-    if(shopData.islong==1){
-        return "无期限"
-    }else{
-        if(shopData.validity){
-            return shopData.validity.split(' ')[0];
-        }
-    }
-}
-//1.页面必备方法 end ---------------------------------------->
-
-//2.页面路径 start ---------------------------------------->
-//2.1 获得页面数据id
-const route = useRoute();
-const router = useRouter()
-let articleId = 0; //把路径转换为数据id
-const name = ref('') //当前频道名称
-const targetSegment = getRoutePath(2);//返回第二层的路径id
-//通过导航路径反向查询导航id
-const getRouteId = await requestDataPromise('/web/getWebsiteRoute', {
-    method: 'GET',
-    query: {
-        'pinyin': targetSegment,
-    },
-});
-if(getRouteId.code == 200){
-    articleId = getRouteId.data.category_id;
-    name.value = getRouteId.data.alias;
-}else{
-    console.log("错误位置:获得页面路径")
-}
-
-//2.3 获得子栏目列表
-const secondNav = ref([]);
-const selectedSecondId = ref(route.query.catid);//当前选中了哪个子导航
-let getSecondNav = async () => {
-    const listData = await requestDataPromise('/web/getWebsiteModelCategory', {
-        method: 'GET',
-        query: {
-            'placeid': 1,
-            'pid': articleId,
-            'num': 50,
-        },
-    });
-    if (listData.code == 200) {
-        secondNav.value = listData.data
-    } else {
-        console.log("错误位置:获得子级栏目列表")
-    }
-}
-getSecondNav();
-
-//2.4 获得cityid
-const cityId = ref(route.query.cityid)
-//2.页面路径 end ---------------------------------------->
-
-//3.获得商品详情 start ---------------------------------------->
-const shopId = ref(route.params.id) //获得商品的id
-const shopData = ref({});
-const shopImg = ref("")
-
-let getShopData = async () => {
-    const shopReq = await requestDataPromise('/web/getWebsiteshopInfo', {
-        method: 'GET',
-        query: {
-            'id': parseFloat(shopId.value),
-        },
-    });
-
-    if (shopReq.code == 200) {
-        console.log(667788)
-        console.log(shopReq)
-        shopData.value = shopReq.data
-        shopImg.value = shopReq.data.imgurl[0]
-    } else {
-        console.log("错误位置:获得商品详情")
-    }
-}
-getShopData();
-//3.获得商品详情 end  ---------------------------------------->
-
-//5.广告 start ---------------------------------------->
-//获得所有广告
-let adImg1 = ref({})
-onMounted(async () => {
-    const { $webUrl, $CwebUrl } = useNuxtApp();
-    //从客户端启动广告
-    //广告1
-    let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=xcw_shopdetail_0001`
-    const responseAd1 = await fetch(url, {
-        headers: {
-            'Content-Type': 'application/json',
-            'Userurl': $CwebUrl,
-            'Origin': $CwebUrl
-        }
-    });
-    const resultAd1 = await responseAd1.json();
-    adImg1.value = resultAd1.data[0];
-})
-//5.广告 end ---------------------------------------->
-</script>
-<style lang="less" scoped>
-@import '@/assets/css/shop/detail.less';
-</style>

+ 0 - 368
pages/xiangcunshangcheng/[dir]/gongying/list-[id].html.vue

@@ -1,368 +0,0 @@
-<template>
-    <ShopPageHead></ShopPageHead>
-    <!-- xc_shop_search_more_no_card  乡村网-商城-搜索-查看更多 -->
-    <main class="index_main" id="all_vue">
-        <HomeAdvertising :imgurl="adImg1"></HomeAdvertising>
-        <!--子菜单和地区选择-->
-        <ShopSubMenu2></ShopSubMenu2>
-        <!-- 地区选择 -->
-        <div class="categ_crumb_box clearfix_2">
-            <!-- 当前位置 -->
-            <div class="categ_crumb_left">
-                <span class="categ_crumb_left_a" title=""> 当前位置: </span>
-                <NuxtLink
-                    :to="`/xiangcunshangcheng/index.html`"
-                    class="categ_crumb_left_a"
-                >
-                    乡村商城
-                </NuxtLink>
-                &gt;
-                <NuxtLink
-                    :to="`/xiangcunshangcheng/${targetSegment}/index.html`"
-                    class="categ_crumb_left_a"
-                >
-                    {{name}}
-                </NuxtLink>
-                &gt;
-                <span class="categ_crumb_left_text">供应</span>
-            </div>
-            <!-- 当前位置 -->
-            <!-- 当前商品所在地 -->
-            <div class="categ_crumb_right clearfix" v-if="cityList.length > 0">
-                <div class="categ_crumb_right_text">当前商品所在地:</div>
-                <div class="categ_crumb_right_text hand">{{cityName}}</div>
-                <div class="categ_crumb_right_btn back100 hand" @click="btn_if_categ_crumb_panel_fun" tabindex="1"
-                    @blur="categ_crumb_panel_btn_blur_fun">
-                </div>
-            </div>
-            <!-- 当前商品所在地 -->
-            <div class="categ_crumb_panel" v-show="if_categ_crumb_panel" tabindex="0"
-                @click="categ_crumb_panel_focus_fun" @blur="categ_crumb_panel_blur_fun">
-                <h4 class="categ_crumb_panel_h4">您可以选择以下详细地区</h4>
-                <div class="categ_crumb_panel_btn_box clearfix">
-                    <span 
-                        class="categ_crumb_panel_btn hand"
-                        :class="{ categ_crumb_panel_btn_only: item.id == chooseCityId }"
-                        v-for="item in cityList"
-                        @click="chooseCity(item.id)"
-                    >
-                        {{ item.name }}
-                    </span>
-                </div>
-            </div>
-        </div>
-        <!-- 您可以选择以下详细地区 -->
-        <div class="categ_grey_box clearfix" v-if="secondNav.length > 0">
-            <div class="categ_grey_head">您可以选择以下详细分类:</div>
-            <div class="categ_grey_ul clearfix">
-                <span 
-                    :class="['categ_grey_btn hand', { 'categ_grey_btn_only': selectedSecondId == item.category_id }]"
-                    v-for="item in secondNav"
-                    @click="selectSecond(item)"
-                >
-                    {{ item.alias }}
-                </span>
-            </div>
-        </div>
-        <!-- 您可以选择以下详细地区 -->
-
-        <!-- 供应信息列表 -->
-        <div class=" clearfix">
-            <div class="categ_1_index clearfix">
-                <div class="categ_head_box clearfix_2">
-                    <a class="categ_head_a" href="" title="">供应信息列表</a>
-                </div>
-                <div class="categ_table clearfix">
-                    <div class="categ_table_head_box">
-                        <div class="categ_table_td_1">产品图片</div>
-                        <div class="categ_table_td_2">供求信息/公司</div>
-                        <div class="categ_table_td_3">发布时间</div>
-                        <div class="categ_table_td_4">地区</div>
-                    </div>
-                    <div class="categ_table_li" v-for="item in pageDataType1">
-                        <NuxtLink
-                            :to="getShopPathDetail1(item)"
-                            class="categ_table_li_a"
-                            :title="item.name"
-                        >
-                            <div class="categ_table_td_1">
-                                <img class="categ_table_td_1_img" :src="item.imgurl" :alt="item.name">
-                            </div>
-                            <div class="search_table_td_2 ">
-                                <div class="search_table_td_2_in clearfix">
-                                    <div class="search_table_td_2_head dot1">
-                                        {{ item.name }}
-                                    </div>
-                                    <div class="search_table_td_2_dot3 dot2" v-if="item.com!=''&&item.com!= null">
-                                        {{item.com}}
-                                    </div>
-                                    <div class="search_table_td_2_dot2 dot2">
-                                        {{ item.description }}
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="categ_table_td_3">{{ getTime(item.created_at, 'year', 1) }}</div>
-                            <div class="categ_table_td_4 dot1">{{ item.city_name }}</div>
-                        </NuxtLink>
-                    </div>
-                </div>
-            </div>
-            <!-- 分页器 -->
-            <div class="pagination" v-if="total">
-                <el-pagination 
-                    size="small" 
-                    background layout="prev, pager, next" 
-                    :total="total"
-                    v-model:page-size="pageSize" 
-                    prev-text="上一页" 
-                    next-text="下一页" 
-                    :current-page="pageNum"
-                    @current-change="changePage" 
-                />
-            </div>
-        </div>
-        <ShopHotNews></ShopHotNews>
-    </main>
-    <!-- 页面底部 -->
-    <HomeFoot></HomeFoot>
-</template>
-
-<script setup>
-//1.页面必备方法 start ---------------------------------------->
-import { ref, onMounted,watch } from 'vue'
-import { ElMessage,ElPagination } from 'element-plus'
-
-//分页
-let pageNum = ref(1);
-let pageSize = ref(10);
-let total = ref(0);
-
-let changePage = (value) => {
-    console.log("当前页码", value);
-    navigateTo(`/xiangcunshangcheng/${targetSegment}/gongying/list-${value}.html`)
-}
-//1.页面必备方法 end ---------------------------------------->
-
-//2.页面路径 start ---------------------------------------->
-//2.1 获得页面数据id
-const route = useRoute();
-const router = useRouter()
-let articleId = 0; //把路径转换为数据id
-const name = ref('') //当前频道名称
-const targetSegment = getRoutePath(2);//返回第二层的路径id
-//通过导航路径反向查询导航id
-const getRouteId = await requestDataPromise('/web/getWebsiteRoute', {
-    method: 'GET',
-    query: {
-        'pinyin': targetSegment,
-    },
-});
-if(getRouteId.code == 200){
-    articleId = getRouteId.data.category_id;
-    name.value = getRouteId.data.alias;
-}else{
-    console.log("错误位置:获得页面路径")
-}
-
-//2.3 获得子栏目列表
-const secondNav = ref([]);
-const selectedSecondId = ref(route.query.catid);//当前选中了哪个子导航
-let getSecondNav = async () => {
-    const listData = await requestDataPromise('/web/getWebsiteModelCategory', {
-        method: 'GET',
-        query: {
-            'placeid': 1,
-            'pid': articleId,
-            'num': 50,
-        },
-    });
-    if (listData.code == 200) {
-        secondNav.value = listData.data
-    } else {
-        console.log("错误位置:获得子级栏目列表")
-    }
-}
-getSecondNav();
-
-//2.4 获得cityid
-const cityId = ref(route.query.cityid)
-//2.页面路径 end ---------------------------------------->
-
-//3.选择商品所在地 start ---------------------------------------->
-//3.1 弹出下拉框
-const if_categ_crumb_panel = ref(false)//当前商品所在地下拉板
-const if_categ_crumb_panel_click = ref(false)//判断是否点击在下拉板内
-const btn_if_categ_crumb_panel_fun = () => {//点击下拉btn
-    if_categ_crumb_panel.value = !if_categ_crumb_panel.value
-}
-const categ_crumb_panel_btn_blur_fun = () => {//btn失去焦点事件
-    setTimeout(() => {
-        if (if_categ_crumb_panel_click.value == true) {
-            //点击在下拉panel内
-        } else {
-            //没点击在下拉panel内
-            if_categ_crumb_panel.value = false
-        }
-    }, 100);
-}
-//3.2 点击下拉panel
-const categ_crumb_panel_focus_fun = () => {
-    if_categ_crumb_panel_click.value = true
-    if_categ_crumb_panel.value = true
-}
-//3.3 下拉panel失去焦点事件
-const categ_crumb_panel_blur_fun = () => {
-    if_categ_crumb_panel_click.value = false
-    if_categ_crumb_panel.value = false
-}
-
-//3.4 获得详细地址列表
-const cityName = ref('')
-const cityList = ref([])
-const chooseCityId = ref('')
-let getCityList = async (id) => {
-    const shengData =  await requestDataPromise('/web/selectWebsiteArea', {
-        method: 'GET',
-        query: {
-            'pid': id,
-        },
-    });
-    if(shengData.code==200){
-        cityList.value = shengData.data;
-        cityName.value = shengData.data[0].pid_name;
-    }else{
-        ElMessage.error(shengData.message)
-    }
-}
-//3.5 初始化的时候先获取一下城市列表
-if(cityId.value != undefined){
-    getCityList(cityId.value);
-}
-//3.6 选择城市
-const chooseCity = (id) => {
-    chooseCityId.value = id;
-    router.replace({
-        query: { 
-            ...route.query, 
-            select: id
-        }
-    })
-}
-//3.选择商品所在地 end ---------------------------------------->
-
-//4.搜索 start ---------------------------------------->
-//4.1 选择一个子导航
-const selectSecond = (item) => {
-    //高亮显示当前选中的子导航
-    selectedSecondId.value = item.category_id
-    router.replace({
-        query: { ...route.query, catid: item.category_id }
-    })
-}
-
-//4.2 页面展示的数据
-const pageDataType1 = ref([]);//供应数据
-//const pageDataType2 = ref([]);//求购数据 此页面不需要求购数据
-
-//4.3 发起搜索
-const pageSearch = async () => {
-    let params = {
-        catid:"",//栏目id
-        city_id:"",//城市id
-        keyword:"",//搜索关键词 - 该页不需要
-        page:1,
-        pageSize:10,
-        type_id:1//1:供应 2:求购
-    }
-
-    if(selectedSecondId.value == undefined){
-        params.catid = articleId
-    }else{
-        params.catid = parseFloat(selectedSecondId.value)
-    }
-
-    let routeCiteId = route.query.select;
-
-    if(routeCiteId != undefined && routeCiteId != ''){
-        params.city_id = parseFloat(routeCiteId)
-    }else{
-        if(cityId.value == undefined || cityId.value == '' || cityId.value == 'NaN'){
-            //删除变量params中的city_id参数
-            delete params.city_id
-        }else{
-            params.city_id = parseFloat(cityId.value)
-        }
-    }
-
-    const pageData = await requestDataPromise('/web/getWebsiteshopList', {
-        method: 'GET',
-        query: params,
-    });
-
-    if (pageData.code == 200) {
-        pageDataType1.value = pageData.data.type1;
-        //pageDataType2.value = pageData.data.type2;
-        total.value = pageData.data.type1_count;
-    } else {
-        console.log("错误位置:获得该页面数据失败!")
-    }
-    //开始请求数据
-    console.log(params)
-    console.log(pageData)
-}
-//页面初始化的时候调用一下搜索
-pageSearch();
-
-//4.4 每次路由一变化就重新请求数据
-//4.4.1 监听cityid
-watch(() => route.query.cityid, (newVal, oldVal) => {
-    if(newVal != undefined){
-        cityId.value = parseFloat(newVal)
-        getCityList(newVal)
-    }else{
-        cityList.value = []
-    }
-    pageSearch()
-})
-//4.4.2 监听catid
-watch(() => route.query.catid, (newVal, oldVal) => {
-    pageSearch()
-})
-//4.4.3 监听select
-//如果路由中存在select参数就忽略cityid
-watch(() => route.query.select, (newVal, oldVal) => {
-    if(newVal != undefined){
-        pageSearch()
-    }else{
-        chooseCityId.value = '';
-        pageSearch()
-    }
-})
-//4.搜索 end ---------------------------------------->
-
-
-//5.广告 start ---------------------------------------->
-//获得所有广告
-let adImg1 = ref({})
-onMounted(async () => {
-    const { $webUrl, $CwebUrl } = useNuxtApp();
-    //从客户端启动广告
-    //广告1
-    let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=xcw_shoplist_0001`
-    const responseAd1 = await fetch(url, {
-        headers: {
-            'Content-Type': 'application/json',
-            'Userurl': $CwebUrl,
-            'Origin': $CwebUrl
-        }
-    });
-    const resultAd1 = await responseAd1.json();
-    adImg1.value = resultAd1.data[0];
-})
-//5.广告 end ---------------------------------------->
-</script>
-
-
-<style lang="less" scoped>
-@import '@/assets/css/shop/list.less';
-</style>

+ 0 - 431
pages/xiangcunshangcheng/[dir]/index.html.vue

@@ -1,431 +0,0 @@
-<template>
-    <ShopPageHead></ShopPageHead>
-    <main class="index_main" id="all_vue">
-        <HomeAdvertising :imgurl="adImg1"></HomeAdvertising>
-        <!--子菜单和地区选择-->
-        <ShopSubMenu2></ShopSubMenu2>
-        <!-- 地区选择 -->
-        <div class="categ_crumb_box clearfix_2">
-            <!-- 当前位置 -->
-            <div class="categ_crumb_left">
-                <span class="categ_crumb_left_a" title=""> 当前位置: </span>
-                <NuxtLink
-                    :to="`/xiangcunshangcheng/index.html`"
-                    class="categ_crumb_left_a"
-                >
-                    乡村商城
-                </NuxtLink>
-                &gt;
-                <span class="categ_crumb_left_text">{{name}}</span>
-            </div>
-            <!-- 当前位置 -->
-            <!-- 当前商品所在地 -->
-            <div class="categ_crumb_right clearfix" v-if="cityList.length > 0">
-                <div class="categ_crumb_right_text">当前商品所在地:</div>
-                <div class="categ_crumb_right_text hand">{{cityName}}</div>
-                <div class="categ_crumb_right_btn back100 hand" @click="btn_if_categ_crumb_panel_fun" tabindex="1"
-                    @blur="categ_crumb_panel_btn_blur_fun">
-                </div>
-            </div>
-            <!-- 当前商品所在地 -->
-            <div class="categ_crumb_panel" v-show="if_categ_crumb_panel" tabindex="0"
-                @click="categ_crumb_panel_focus_fun" @blur="categ_crumb_panel_blur_fun">
-                <h4 class="categ_crumb_panel_h4">您可以选择以下详细地区</h4>
-                <div class="categ_crumb_panel_btn_box clearfix">
-                    <span 
-                        class="categ_crumb_panel_btn hand"
-                        :class="{ categ_crumb_panel_btn_only: item.id == chooseCityId }"
-                        v-for="item in cityList"
-                        @click="chooseCity(item.id)"
-                    >
-                        {{ item.name }}
-                    </span>
-                </div>
-            </div>
-        </div>
-        <!-- 您可以选择以下详细地区 -->
-        <div class="categ_grey_box clearfix" v-if="secondNav.length > 0">
-            <div class="categ_grey_head">您可以选择以下详细分类:</div>
-            <div class="categ_grey_ul clearfix">
-                <span 
-                    :class="['categ_grey_btn hand', { 'categ_grey_btn_only': selectedSecondId == item.category_id }]"
-                    v-for="item in secondNav"
-                    @click="selectSecond(item)"
-                >
-                    {{ item.alias }}
-                </span>
-            </div>
-        </div>
-        <!-- 您可以选择以下详细地区 -->
-        <!-- 供应信息列表 -->
-        <!-- <div class=" clearfix" v-show="choice_categ_num == 1"> -->
-        <div class=" clearfix">
-            <div class="categ_1_index clearfix">
-                <div class="categ_head_box clearfix_2">
-                    <span class="categ_head_a">供应信息列表</span>
-                    <span class="categ_head_a_more" @click="pageShopList(1)" v-if="pageDataType1.length != 0">
-                        查看更多 &gt;
-                    </span>
-                </div>
-                <div class="categ_table clearfix">
-                    <div class="categ_table_head_box">
-                        <div class="categ_table_td_1">产品图片</div>
-                        <div class="categ_table_td_2">供求信息/公司</div>
-                        <div class="categ_table_td_3">发布时间</div>
-                        <div class="categ_table_td_4">地区</div>
-                    </div>
-                    <ShopNoData v-if="pageDataType1.length == 0" :pagetype="'class'"></ShopNoData>
-                    <div class="categ_table_li" v-for="item in pageDataType1" :key="item.id">
-                        <NuxtLink
-                            :to="getShopPathDetail1(item)"
-                            class="categ_table_li_a"
-                            :title="item.name"
-                        >
-                            <div class="categ_table_td_1">
-                                <img class="categ_table_td_1_img" :src="item.imgurl" alt="item.name">
-                            </div>
-                            <div class="search_table_td_2 ">
-                                <div class="search_table_td_2_in clearfix">
-                                    <div class="search_table_td_2_head dot1">
-                                        {{ item.name }}
-                                    </div>
-                                    <div class="search_table_td_2_dot3 dot2" v-if="item.com!=''&&item.com!= null">
-                                        {{item.com}}
-                                    </div>
-                                    <div class="search_table_td_2_dot2 dot2">
-                                        {{ item.description }}
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="categ_table_td_3">{{getTime(item.created_at, 'year', 1)}}</div>
-                            <div class="categ_table_td_4 dot1">{{item.city_name}}</div>
-                        </NuxtLink>
-                    </div>
-                </div>
-            </div>
-        </div>
-        <div class=" clearfix">
-            <div class="categ_1_index clearfix">
-                <div class="categ_head_box clearfix_2">
-                    <span class="categ_head_a">求购信息列表</span>
-                    <span class="categ_head_a_more" @click="pageShopList(2)" v-if="pageDataType2.length != 0">
-                        查看更多 &gt;
-                    </span>
-                </div>
-                <div class="categ_table clearfix">
-                    <div class="categ_table_head_box">
-                        <div class="categ_table_td_1">产品图片</div>
-                        <div class="categ_table_td_2">供求信息/公司</div>
-                        <div class="categ_table_td_3">发布时间</div>
-                        <div class="categ_table_td_4">地区</div>
-                    </div>
-                    <ShopNoData v-if="pageDataType2.length == 0" :pagetype="'class'"></ShopNoData>
-                    <div class="categ_table_li" v-for="item in pageDataType2" :key="item.id">
-                        <NuxtLink
-                            :to="getShopPathDetail1(item)"
-                            class="categ_table_li_a"
-                            :title="item.name"
-                        >
-                            <div class="categ_table_td_1">
-                                <img class="categ_table_td_1_img" :src="item.imgurl" alt="item.name">
-                            </div>
-                            <div class="search_table_td_2 ">
-                                <div class="search_table_td_2_in clearfix">
-                                    <div class="search_table_td_2_head dot1">
-                                        {{ item.name }}
-                                    </div>
-                                    <div class="search_table_td_2_dot3 dot2" v-if="item.com!=''&&item.com!= null">
-                                        {{item.com}}
-                                    </div>
-                                    <div class="search_table_td_2_dot2 dot2">
-                                        {{ item.description }}
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="categ_table_td_3">{{getTime(item.created_at, 'year', 1)}}</div>
-                            <div class="categ_table_td_4 dot1">{{item.city_name}}</div>
-                        </NuxtLink>
-                    </div>
-                </div>
-            </div>
-        </div>
-        <ShopHotNews></ShopHotNews>
-    </main>
-    <!-- 页面底部 -->
-    <HomeFoot></HomeFoot>
-</template>
-<script setup>
-//1.页面必备方法 start ---------------------------------------->
-import { ref, onMounted,watch } from 'vue'
-import { ElMessage } from 'element-plus'
-//1.页面必备方法 end ---------------------------------------->
-
-//2.页面路径 start ---------------------------------------->
-//2.1 获得页面数据id
-const route = useRoute();
-const router = useRouter()
-let articleId = 0; //把路径转换为数据id
-const targetSegment = getRoutePath(2);//返回第二层的路径id
-
-//通过导航路径反向查询导航id
-const getRouteId = await requestDataPromise('/web/getWebsiteRoute', {
-    method: 'GET',
-    query: {
-        'pinyin': targetSegment,
-    },
-});
-if(getRouteId.code == 200){
-    articleId = getRouteId.data.category_id
-}else{
-    console.log("错误位置:获得页面路径")
-}
-
-//2.2 生成面包屑导航 
-const name = ref('') //当前频道名称
-let getPageName = async () => {
-    const pageName = await requestDataPromise('/web/getOneWebsiteCategory', {
-        method: 'GET',
-        query: {
-            'catid': articleId
-        },
-    });
-    if (pageName.code == 200) {
-        name.value = pageName.data.alias
-    } else {
-        console.log("错误位置:获取当前频道名称", pageName.message)
-    }
-}
-getPageName();
-
-//2.3 获得子栏目列表
-const secondNav = ref([]);
-const selectedSecondId = ref(route.query.catid);//当前选中了哪个子导航
-let getSecondNav = async () => {
-    const listData = await requestDataPromise('/web/getWebsiteModelCategory', {
-        method: 'GET',
-        query: {
-            'placeid': 1,
-            'pid': articleId,
-            'num': 50,
-        },
-    });
-    if (listData.code == 200) {
-        secondNav.value = listData.data
-        console.log(secondNav.value)
-    } else {
-        console.log("错误位置:获得子级栏目列表")
-    }
-}
-getSecondNav();
-
-
-//2.4 获得cityid
-const cityId = ref(route.query.cityid)
-//2.页面路径 end ---------------------------------------->
-
-//3.选择商品所在地 start ---------------------------------------->
-//3.1 弹出下拉框
-const if_categ_crumb_panel = ref(false)//当前商品所在地下拉板
-const if_categ_crumb_panel_click = ref(false)//判断是否点击在下拉板内
-const btn_if_categ_crumb_panel_fun = () => {//点击下拉btn
-    if_categ_crumb_panel.value = !if_categ_crumb_panel.value
-}
-const categ_crumb_panel_btn_blur_fun = () => {//btn失去焦点事件
-    setTimeout(() => {
-        if (if_categ_crumb_panel_click.value == true) {
-            //点击在下拉panel内
-        } else {
-            //没点击在下拉panel内
-            if_categ_crumb_panel.value = false
-        }
-    }, 100);
-}
-//3.2 点击下拉panel
-const categ_crumb_panel_focus_fun = () => {
-    if_categ_crumb_panel_click.value = true
-    if_categ_crumb_panel.value = true
-}
-//3.3 下拉panel失去焦点事件
-const categ_crumb_panel_blur_fun = () => {
-    if_categ_crumb_panel_click.value = false
-    if_categ_crumb_panel.value = false
-}
-
-//3.4 获得详细地址列表
-const cityName = ref('')
-const cityList = ref([])
-const chooseCityId = ref('')
-let getCityList = async (id) => {
-    const shengData =  await requestDataPromise('/web/selectWebsiteArea', {
-        method: 'GET',
-        query: {
-            'pid': id,
-        },
-    });
-    if(shengData.code==200){
-        cityList.value = shengData.data;
-        cityName.value = shengData.data[0].pid_name;
-    }else{
-        ElMessage.error(shengData.message)
-    }
-}
-//3.5 初始化的时候先获取一下城市列表
-if(cityId.value != undefined){
-    getCityList(cityId.value);
-}
-//3.6 选择城市
-const chooseCity = (id) => {
-    chooseCityId.value = id;
-    router.replace({
-        path: route.path,
-        query: { 
-            ...route.query, 
-            select: id
-        }
-    })
-}
-//3.选择商品所在地 end ---------------------------------------->
-
-//4.搜索 start ---------------------------------------->
-//4.1 选择一个子导航
-const selectSecond = (item) => {
-    //高亮显示当前选中的子导航
-    selectedSecondId.value = item.category_id
-    //带着catid,cityid,select跳转(如果有)
-    router.push({
-        path: `/xiangcunshangcheng/${targetSegment}/${item.aLIas_pinyin}/index.html`,
-        //query: { ...route.query, catid: item.category_id }
-    })
-}
-
-//4.2 页面展示的数据
-const pageDataType1 = ref([]);//供应数据
-const pageDataType2 = ref([]);//求购数据
-
-//4.3 发起搜索
-const pageSearch = async () => {
-    let params = {
-        catid:"",//栏目id
-        city_id:"",//城市id
-        keyword:"",//搜索关键词 - 该页不需要
-        page:1,
-        pageSize:3,
-        //type_id:1//1:供应 2:求购
-    }
-
-    if(selectedSecondId.value == undefined){
-        params.catid = articleId
-    }else{
-        params.catid = parseFloat(selectedSecondId.value)
-    }
-
-    let routeCiteId = route.query.select;
-
-    if(routeCiteId != undefined && routeCiteId != ''){
-        params.city_id = parseFloat(routeCiteId)
-    }else{
-        if(cityId.value == undefined || cityId.value == '' || cityId.value == 'NaN'){
-            //删除变量params中的city_id参数
-            delete params.city_id
-        }else{
-            params.city_id = parseFloat(cityId.value)
-        }
-    }
-
-    const pageData = await requestDataPromise('/web/getWebsiteshopList', {
-        method: 'GET',
-        query: params,
-    });
-
-    if (pageData.code == 200) {
-        pageDataType1.value = pageData.data.type1;
-        pageDataType2.value = pageData.data.type2;
-    } else {
-        console.log("错误位置:获得该页面数据失败!")
-    }
-    //开始请求数据
-    console.log(params)
-    console.log(pageData)
-}
-//页面初始化的时候调用一下搜索
-pageSearch();
-
-//4.4 每次路由一变化就重新请求数据
-//4.4.1 监听cityid
-watch(() => route.query.cityid, (newVal, oldVal) => {
-    if(newVal != undefined){
-        cityId.value = parseFloat(newVal)
-        getCityList(newVal)
-    }else{
-        cityList.value = []
-    }
-    pageSearch()
-})
-//4.4.2 监听catid
-// watch(() => route.query.catid, (newVal, oldVal) => {
-//     pageSearch()
-// })
-//4.4.3 监听select
-//如果路由中存在select参数就忽略cityid
-watch(() => route.query.select, (newVal, oldVal) => {
-    if(newVal != undefined){
-        pageSearch()
-    }else{
-        chooseCityId.value = '';
-        pageSearch()
-    }
-})
-//4.搜索 end ---------------------------------------->
-
-//5.广告 start ---------------------------------------->
-//获得所有广告
-let adImg1 = ref({})
-onMounted(async () => {
-    const { $webUrl, $CwebUrl } = useNuxtApp();
-    //从客户端启动广告
-    //广告1
-    let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=xcw_shoplist_0001`
-    const responseAd1 = await fetch(url, {
-        headers: {
-            'Content-Type': 'application/json',
-            'Userurl': $CwebUrl,
-            'Origin': $CwebUrl
-        }
-    });
-    const resultAd1 = await responseAd1.json();
-    adImg1.value = resultAd1.data[0];
-})
-//5.广告 end ---------------------------------------->
-
-
-//6.跳转到列表页 start ---------------------------------------->
-const pageShopList = (type) => {
-    const { cityid, select } = route.query
-
-    const queryParams = {
-        ...(cityid && { cityid }),
-        ...(select && { select })
-    }
-
-    if(type == 1){
-        //type==1 跳转到供应列表页
-        const targetPath = `/xiangcunshangcheng/${targetSegment}/gongying/list-1.html`
-        router.push({
-            path: targetPath,
-            query: queryParams
-        })
-    }else{
-        //type==2 跳转到求购列表页
-        const targetPath = `/xiangcunshangcheng/${targetSegment}/qiugou/list-1.html`
-        router.push({
-            path: targetPath,
-            query: queryParams
-        })
-    }
-}
-//6.跳转到列表页 end ---------------------------------------->
-</script>
-
-<style lang="less" scoped>
-@import '@/assets/css/shop/class.less';
-</style>

+ 0 - 293
pages/xiangcunshangcheng/[dir]/qiugou/[id].html.vue

@@ -1,293 +0,0 @@
-<template>
-    <ShopPageHead></ShopPageHead>
-    <main class="index_main" id="all_vue">
-        <HomeAdvertising :imgurl="adImg1"></HomeAdvertising>
-        <ShopSubMenu></ShopSubMenu>
-        <!-- 当前位置 -->
-        <div class="categ_crumb_box2 clearfix_2">
-            <div class="categ_crumb_left">
-                <span class="categ_crumb_left_a" title=""> 当前位置: </span>
-                <NuxtLink
-                    :to="`/xiangcunshangcheng/index.html`"
-                    class="categ_crumb_left_a"
-                >
-                    乡村商城
-                </NuxtLink>
-                &gt;
-                <NuxtLink
-                    :to="`/xiangcunshangcheng/${targetSegment}/index.html`"
-                    class="categ_crumb_left_a"
-                >
-                    {{name}}
-                </NuxtLink>
-                &gt;
-                <NuxtLink
-                    :to="`/xiangcunshangcheng/${targetSegment}/qiugou/list-1.html`"
-                    class="categ_crumb_left_a"
-                >
-                    求购
-                </NuxtLink>
-                &gt;
-                <span class="categ_crumb_left_text">{{shopData.name}}</span>
-            </div>
-        </div>
-
-        <div class="supply_1_index_qiugou clearfix">
-            <div class="supply_1_index_qiugou_left">
-                <img class="supply_1_img" :src="shopImg" :alt="shopData.name">
-                <div class="supply_1_right_qiugou">
-                    <h4 class="supply_1_h4">{{shopData.name}}</h4>
-                    <div class="supply_1_ul_qiugou clearfix">
-                        <div class="supply_1_li_qiugou clearfix"><label class="supply_1_li_label">发布日期</label><span
-                            class="supply_1_li_text ">{{getTimeText(shopData.created_at)}}</span></div>
-                        <div class="supply_1_li_qiugou clearfix"><label class="supply_1_li_label">截止日期</label><span
-                            class="supply_1_li_text ">{{getValidityTime(shopData)}}</span></div>
-                        <div class="supply_1_li_qiugou clearfix"><label class="supply_1_li_label">浏览次数</label><span
-                            class="supply_1_li_text ">{{ shopData.hits }}</span></div>
-                        <div class="supply_1_li_qiugou clearfix"><label class="supply_1_li_label">联 系 人</label><span
-                            class="supply_1_li_text ">{{ shopData.contact}}</span></div>
-                        <div class="supply_1_li_qiugou clearfix"><label class="supply_1_li_label">发布地区</label><span
-                            class="supply_1_li_text ">{{ shopData.address }}</span></div>
-                        <div class="supply_1_li_qiugou clearfix"><label class="supply_1_li_label">座 机</label><span
-                            class="supply_1_li_text ">{{ shopData.landline }}</span></div>
-                        <div class="supply_1_li_qiugou clearfix"><label class="supply_1_li_label">联系电话</label><span
-                            class="supply_1_li_text ">{{ shopData.phone }}</span></div>
-                    </div>
-                </div>
-            </div>
-
-            <div class="supply_1_index_qiugou_right">
-                <div class="shop_3_right clearfix">
-                    <div class="choice_1_box clearfix">
-                        <div class="choice_1_btn_box clearfix">
-                            <div class="choice_1_btn" 
-                                :class="{ choice_1_btn_only: choice_1_num == 1 }"
-                                @mouseover="choice_1_num = 1">
-                                <span class="choice_1_btn_a">供应商品</span>
-                            </div>
-                            <div class="choice_1_btn" 
-                                :class="{ choice_1_btn_only: choice_1_num == 2 }"
-                                @mouseover="choice_1_num = 2">
-                                <span class="choice_1_btn_a">求购商品</span>
-                            </div>
-                        </div>
-                        <div class="choice_1_card_box">
-                            <div class="shop_ul_img_2 choice_1_card clearfix" v-show="choice_1_num == 1">
-                                <div class="shop_li_img_2" v-for="(item,index) in boxData1">
-                                    <nuxtLink 
-                                        :to="getShopPathDetail1(item)"
-                                        class="shop_li_img_2_a"
-                                    >
-                                        <div class="shop_li_img_2_num"> {{ index + 1 }} </div>
-                                        <div class="shop_li_img_2_right clearfix">
-                                            <img class="shop_li_img_2_img" :src="item.imgurl" :alt="item.name">
-                                            <div class="shop_li_img_2_text">
-                                                {{item.name}}
-                                            </div>
-                                        </div>
-                                    </nuxtLink>
-                                </div>
-                            </div>
-                            <div class="shop_ul_img_2 choice_1_card clearfix" v-show="choice_1_num == 2">
-                                <div class="shop_li_img_2" v-for="(item,index) in boxData2">
-                                    <nuxtLink 
-                                        :to="getShopPathDetail1(item)"
-                                        class="shop_li_img_2_a"
-                                    >
-                                        <div class="shop_li_img_2_num"> {{ index + 1 }} </div>
-                                        <div class="shop_li_img_2_right clearfix">
-                                            <img class="shop_li_img_2_img" :src="item.imgurl" :alt="item.name">
-                                            <div class="shop_li_img_2_text">
-                                                {{item.name}}
-                                            </div>
-                                        </div>
-                                    </nuxtLink>
-                                </div>
-                            </div>
-                        </div>
-                    </div>
-                </div>
-            </div>
-
-        </div>
-        <div class="supply_2_index clearfix">
-
-            <div class="supply_head_box clearfix_2">
-                <a class="supply_head_a" title="" :class="{ supply_head_a_only: 1 == supply_choice_1_num }"
-                    @mouseover="supply_choice_1_num = 1">详情信息</a>
-                <a class="supply_head_a" title="" :class="{ supply_head_a_only: 2 == supply_choice_1_num }"
-                    @mouseover="supply_choice_1_num = 2">发布人信息</a>
-            </div>
-
-            <div class="supply_art_out clearfix">
-                <!-- 详情信息 -->
-                <div class="supply_art_box" v-show="supply_choice_1_num == 1" v-html="shopData.detail"></div>
-                <!-- 发布人信息 -->
-                <div class="supply_art_box" v-show="supply_choice_1_num == 2">
-                    <p class="supply_art_box_p">公司名称:</p>
-                    <p class="supply_art_box_p">电子邮箱:{{shopData.email}}</p>
-                    <p class="supply_art_box_p">邮政编码:{{shopData.postal}}</p>
-                    <p class="supply_art_box_p">联系地址:{{shopData.address}}</p>
-                </div>
-            </div>
-        </div>
-        <ShopHotNews></ShopHotNews>
-    </main>
-    <HomeFoot></HomeFoot>
-</template>
-
-<script setup>
-//1.页面必备方法 start ---------------------------------------->
-import { ref, onMounted } from 'vue'
-import { ElRadio, ElRadioGroup } from 'element-plus'
-//1.2选项卡 
-const supply_choice_1_num = ref(1)
-//1.3是否展示有效期
-const getValidityTime = (shopData) => {
-    if(shopData.islong==1){
-        return "无期限"
-    }else{
-        if(shopData.validity){
-            return shopData.validity.split(' ')[0];
-        }
-    }
-}
-//1.4 格式化字符串时间
-const getTimeText = (time) => {
-    if(time){
-        return time.split(' ')[0];
-    }else{
-        return '';
-    }
-}
-// 1.4应商品与求购商品的选项卡	
-const choice_1_num = ref(1)
-//1.页面必备方法 end ---------------------------------------->
-
-//2.页面路径 start ---------------------------------------->
-//2.1 获得页面数据id
-const route = useRoute();
-const router = useRouter()
-let articleId = 0; //把路径转换为数据id
-const name = ref('') //当前频道名称
-const targetSegment = getRoutePath(2);//返回第二层的路径id
-//通过导航路径反向查询导航id
-const getRouteId = await requestDataPromise('/web/getWebsiteRoute', {
-    method: 'GET',
-    query: {
-        'pinyin': targetSegment,
-    },
-});
-if(getRouteId.code == 200){
-    articleId = getRouteId.data.category_id;
-    name.value = getRouteId.data.alias;
-}else{
-    console.log("错误位置:获得页面路径")
-}
-
-
-//2.3 获得子栏目列表
-const secondNav = ref([]);
-const selectedSecondId = ref(route.query.catid);//当前选中了哪个子导航
-let getSecondNav = async () => {
-    const listData = await requestDataPromise('/web/getWebsiteModelCategory', {
-        method: 'GET',
-        query: {
-            'placeid': 1,
-            'pid': articleId,
-            'num': 50,
-        },
-    });
-    if (listData.code == 200) {
-        secondNav.value = listData.data
-    } else {
-        console.log("错误位置:获得子级栏目列表")
-    }
-}
-getSecondNav();
-
-//2.4 获得cityid
-const cityId = ref(route.query.cityid)
-//2.页面路径 end ---------------------------------------->
-
-//3.获得商品详情 start ---------------------------------------->
-const shopId = ref(route.params.id) //获得商品的id
-const shopData = ref({});
-const shopImg = ref("")
-
-let getShopData = async () => {
-    const shopReq = await requestDataPromise('/web/getWebsiteshopInfo', {
-        method: 'GET',
-        query: {
-            'id': parseFloat(shopId.value),
-        },
-    });
-
-    if (shopReq.code == 200) {
-        console.log(667788)
-        console.log(shopReq)
-        shopData.value = shopReq.data
-        shopImg.value = shopReq.data.imgurl[0]
-    } else {
-        console.log("错误位置:获得商品详情")
-    }
-}
-getShopData();
-
-//获得右侧供应与求购的内容
-const boxData1 = ref([]) //供应商品
-const boxData2 = ref([]) //求购商品
-
-//创建请求数据json
-let getJson = [
-    {"level":"5,0,6"},//供应商品
-    {"level":"6,0,6"},//求购商品
-]
-
-let jsonString = JSON.stringify(getJson)
-
-//获取所有数据
-async function getPageAllData() {
-    const mkdata = await requestDataPromise('/web/getWebsiteshop', {
-        method: 'GET',
-        query: {
-            'catid': 346,
-            'id': jsonString,
-        },
-    });
-
-    if (mkdata.code == 200) {
-        //供应商品
-        boxData1.value = mkdata.data.goods[0];
-        //求购商品
-        boxData2.value = mkdata.data.goods[1];
-    } else {
-        ElMessage.error(mkdata.message)
-    }
-}
-getPageAllData();
-//3.获得商品详情 end  ---------------------------------------->
-
-//5.广告 start ---------------------------------------->
-//获得所有广告
-let adImg1 = ref({})
-onMounted(async () => {
-    const { $webUrl, $CwebUrl } = useNuxtApp();
-    //从客户端启动广告
-    //广告1
-    let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=xcw_shopdetail_0001`
-    const responseAd1 = await fetch(url, {
-        headers: {
-            'Content-Type': 'application/json',
-            'Userurl': $CwebUrl,
-            'Origin': $CwebUrl
-        }
-    });
-    const resultAd1 = await responseAd1.json();
-    adImg1.value = resultAd1.data[0];
-})
-//5.广告 end ---------------------------------------->
-</script>
-<style lang="less" scoped>
-@import '@/assets/css/shop/detail.less';
-</style>

+ 0 - 367
pages/xiangcunshangcheng/[dir]/qiugou/list-[id].html.vue

@@ -1,367 +0,0 @@
-<template>
-    <ShopPageHead></ShopPageHead>
-    <!-- xc_shop_search_more_no_card  乡村网-商城-搜索-查看更多 -->
-    <main class="index_main" id="all_vue">
-        <HomeAdvertising :imgurl="adImg1"></HomeAdvertising>
-        <!--子菜单和地区选择-->
-        <ShopSubMenu2></ShopSubMenu2>
-        <!-- 地区选择 -->
-        <div class="categ_crumb_box clearfix_2">
-            <!-- 当前位置 -->
-            <div class="categ_crumb_left">
-                <span class="categ_crumb_left_a" title=""> 当前位置: </span>
-                <NuxtLink
-                    :to="`/xiangcunshangcheng/index.html`"
-                    class="categ_crumb_left_a"
-                >
-                    乡村商城
-                </NuxtLink>
-                &gt;
-                <NuxtLink
-                    :to="`/xiangcunshangcheng/${targetSegment}/index.html`"
-                    class="categ_crumb_left_a"
-                >
-                    {{name}}
-                </NuxtLink>
-                &gt;
-                <span class="categ_crumb_left_text">求购</span>
-            </div>
-            <!-- 当前位置 -->
-            <!-- 当前商品所在地 -->
-            <div class="categ_crumb_right clearfix" v-if="cityList.length > 0">
-                <div class="categ_crumb_right_text">当前商品所在地:</div>
-                <div class="categ_crumb_right_text hand">{{cityName}}</div>
-                <div class="categ_crumb_right_btn back100 hand" @click="btn_if_categ_crumb_panel_fun" tabindex="1"
-                    @blur="categ_crumb_panel_btn_blur_fun">
-                </div>
-            </div>
-            <!-- 当前商品所在地 -->
-            <div class="categ_crumb_panel" v-show="if_categ_crumb_panel" tabindex="0"
-                @click="categ_crumb_panel_focus_fun" @blur="categ_crumb_panel_blur_fun">
-                <h4 class="categ_crumb_panel_h4">您可以选择以下详细地区</h4>
-                <div class="categ_crumb_panel_btn_box clearfix">
-                    <span 
-                        class="categ_crumb_panel_btn hand"
-                        :class="{ categ_crumb_panel_btn_only: item.id == chooseCityId }"
-                        v-for="item in cityList"
-                        @click="chooseCity(item.id)"
-                    >
-                        {{ item.name }}
-                    </span>
-                </div>
-            </div>
-        </div>
-        <!-- 您可以选择以下详细地区 -->
-        <div class="categ_grey_box clearfix" v-if="secondNav.length > 0">
-            <div class="categ_grey_head">您可以选择以下详细分类:</div>
-            <div class="categ_grey_ul clearfix">
-                <span 
-                    :class="['categ_grey_btn hand', { 'categ_grey_btn_only': selectedSecondId == item.category_id }]"
-                    v-for="item in secondNav"
-                    @click="selectSecond(item)"
-                >
-                    {{ item.alias }}
-                </span>
-            </div>
-        </div>
-        <!-- 您可以选择以下详细地区 -->
-
-        <!-- 供应信息列表 -->
-        <div class=" clearfix">
-            <div class="categ_1_index clearfix">
-                <div class="categ_head_box clearfix_2">
-                    <a class="categ_head_a" href="" title="">供应信息列表</a>
-                </div>
-                <div class="categ_table clearfix">
-                    <div class="categ_table_head_box">
-                        <div class="categ_table_td_1">产品图片</div>
-                        <div class="categ_table_td_2">供求信息/公司</div>
-                        <div class="categ_table_td_3">发布时间</div>
-                        <div class="categ_table_td_4">地区</div>
-                    </div>
-                    <div class="categ_table_li" v-for="item in pageDataType2">
-                        <NuxtLink
-                            :to="getShopPathDetail1(item)"
-                            class="categ_table_li_a"
-                            :title="item.name"
-                        >
-                            <div class="categ_table_td_1">
-                                <img class="categ_table_td_1_img" :src="item.imgurl" :alt="item.name">
-                            </div>
-                            <div class="search_table_td_2 ">
-                                <div class="search_table_td_2_in clearfix">
-                                    <div class="search_table_td_2_head dot1">
-                                        {{ item.name }}
-                                    </div>
-                                    <div class="search_table_td_2_dot3 dot2" v-if="item.com!=''&&item.com!= null">
-                                        {{item.com}}
-                                    </div>
-                                    <div class="search_table_td_2_dot2 dot2">
-                                        {{ item.description }}
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="categ_table_td_3">{{ getTime(item.created_at, 'year', 1) }}</div>
-                            <div class="categ_table_td_4 dot1">{{ item.city_name }}</div>
-                        </NuxtLink>
-                    </div>
-                </div>
-            </div>
-            <!-- 分页器 -->
-            <div class="pagination" v-if="total">
-                <el-pagination 
-                    size="small" 
-                    background layout="prev, pager, next" 
-                    :total="total"
-                    v-model:page-size="pageSize" 
-                    prev-text="上一页" 
-                    next-text="下一页" 
-                    :current-page="pageNum"
-                    @current-change="changePage" 
-                />
-            </div>
-        </div>
-        <ShopHotNews></ShopHotNews>
-    </main>
-    <!-- 页面底部 -->
-    <HomeFoot></HomeFoot>
-</template>
-
-<script setup>
-//1.页面必备方法 start ---------------------------------------->
-import { ref, onMounted,watch } from 'vue'
-import { ElMessage,ElPagination } from 'element-plus'
-
-//分页
-let pageNum = ref(1);
-let pageSize = ref(10);
-let total = ref(0);
-
-let changePage = (value) => {
-    console.log("当前页码", value);
-    navigateTo(`/xiangcunshangcheng/${targetSegment}/gongying/list-${value}.html`)
-}
-//1.页面必备方法 end ---------------------------------------->
-
-//2.页面路径 start ---------------------------------------->
-//2.1 获得页面数据id
-const route = useRoute();
-const router = useRouter()
-let articleId = 0; //把路径转换为数据id
-const name = ref('') //当前频道名称
-const targetSegment = getRoutePath(2);//返回第二层的路径id
-//通过导航路径反向查询导航id
-const getRouteId = await requestDataPromise('/web/getWebsiteRoute', {
-    method: 'GET',
-    query: {
-        'pinyin': targetSegment,
-    },
-});
-if(getRouteId.code == 200){
-    articleId = getRouteId.data.category_id;
-    name.value = getRouteId.data.alias;
-}else{
-    console.log("错误位置:获得页面路径")
-}
-//2.3 获得子栏目列表
-const secondNav = ref([]);
-const selectedSecondId = ref(route.query.catid);//当前选中了哪个子导航
-let getSecondNav = async () => {
-    const listData = await requestDataPromise('/web/getWebsiteModelCategory', {
-        method: 'GET',
-        query: {
-            'placeid': 1,
-            'pid': articleId,
-            'num': 50,
-        },
-    });
-    if (listData.code == 200) {
-        secondNav.value = listData.data
-    } else {
-        console.log("错误位置:获得子级栏目列表")
-    }
-}
-getSecondNav();
-
-//2.4 获得cityid
-const cityId = ref(route.query.cityid)
-//2.页面路径 end ---------------------------------------->
-
-//3.选择商品所在地 start ---------------------------------------->
-//3.1 弹出下拉框
-const if_categ_crumb_panel = ref(false)//当前商品所在地下拉板
-const if_categ_crumb_panel_click = ref(false)//判断是否点击在下拉板内
-const btn_if_categ_crumb_panel_fun = () => {//点击下拉btn
-    if_categ_crumb_panel.value = !if_categ_crumb_panel.value
-}
-const categ_crumb_panel_btn_blur_fun = () => {//btn失去焦点事件
-    setTimeout(() => {
-        if (if_categ_crumb_panel_click.value == true) {
-            //点击在下拉panel内
-        } else {
-            //没点击在下拉panel内
-            if_categ_crumb_panel.value = false
-        }
-    }, 100);
-}
-//3.2 点击下拉panel
-const categ_crumb_panel_focus_fun = () => {
-    if_categ_crumb_panel_click.value = true
-    if_categ_crumb_panel.value = true
-}
-//3.3 下拉panel失去焦点事件
-const categ_crumb_panel_blur_fun = () => {
-    if_categ_crumb_panel_click.value = false
-    if_categ_crumb_panel.value = false
-}
-
-//3.4 获得详细地址列表
-const cityName = ref('')
-const cityList = ref([])
-const chooseCityId = ref('')
-let getCityList = async (id) => {
-    const shengData =  await requestDataPromise('/web/selectWebsiteArea', {
-        method: 'GET',
-        query: {
-            'pid': id,
-        },
-    });
-    if(shengData.code==200){
-        cityList.value = shengData.data;
-        cityName.value = shengData.data[0].pid_name;
-    }else{
-        ElMessage.error(shengData.message)
-    }
-}
-//3.5 初始化的时候先获取一下城市列表
-if(cityId.value != undefined){
-    getCityList(cityId.value);
-}
-//3.6 选择城市
-const chooseCity = (id) => {
-    chooseCityId.value = id;
-    router.replace({
-        query: { 
-            ...route.query, 
-            select: id
-        }
-    })
-}
-//3.选择商品所在地 end ---------------------------------------->
-
-//4.搜索 start ---------------------------------------->
-//4.1 选择一个子导航
-const selectSecond = (item) => {
-    //高亮显示当前选中的子导航
-    selectedSecondId.value = item.category_id
-    router.replace({
-        query: { ...route.query, catid: item.category_id }
-    })
-}
-
-//4.2 页面展示的数据
-//const pageDataType1 = ref([]);//供应数据
-const pageDataType2 = ref([]);//求购数据 此页面不需要求购数据
-
-//4.3 发起搜索
-const pageSearch = async () => {
-    let params = {
-        catid:"",//栏目id
-        city_id:"",//城市id
-        keyword:"",//搜索关键词 - 该页不需要
-        page:1,
-        pageSize:10,
-        type_id:2//1:供应 2:求购
-    }
-
-    if(selectedSecondId.value == undefined){
-        params.catid = articleId
-    }else{
-        params.catid = parseFloat(selectedSecondId.value)
-    }
-
-    let routeCiteId = route.query.select;
-
-    if(routeCiteId != undefined && routeCiteId != ''){
-        params.city_id = parseFloat(routeCiteId)
-    }else{
-        if(cityId.value == undefined || cityId.value == '' || cityId.value == 'NaN'){
-            //删除变量params中的city_id参数
-            delete params.city_id
-        }else{
-            params.city_id = parseFloat(cityId.value)
-        }
-    }
-
-    const pageData = await requestDataPromise('/web/getWebsiteshopList', {
-        method: 'GET',
-        query: params,
-    });
-
-    if (pageData.code == 200) {
-        //pageDataType1.value = pageData.data.type1;
-        pageDataType2.value = pageData.data.type2;
-        total.value = pageData.data.type2_count;
-    } else {
-        console.log("错误位置:获得该页面数据失败!")
-    }
-    //开始请求数据
-    console.log(params)
-    console.log(pageData)
-}
-//页面初始化的时候调用一下搜索
-pageSearch();
-
-//4.4 每次路由一变化就重新请求数据
-//4.4.1 监听cityid
-watch(() => route.query.cityid, (newVal, oldVal) => {
-    if(newVal != undefined){
-        cityId.value = parseFloat(newVal)
-        getCityList(newVal)
-    }else{
-        cityList.value = []
-    }
-    pageSearch()
-})
-//4.4.2 监听catid
-watch(() => route.query.catid, (newVal, oldVal) => {
-    pageSearch()
-})
-//4.4.3 监听select
-//如果路由中存在select参数就忽略cityid
-watch(() => route.query.select, (newVal, oldVal) => {
-    if(newVal != undefined){
-        pageSearch()
-    }else{
-        chooseCityId.value = '';
-        pageSearch()
-    }
-})
-//4.搜索 end ---------------------------------------->
-
-
-//5.广告 start ---------------------------------------->
-//获得所有广告
-let adImg1 = ref({})
-onMounted(async () => {
-    const { $webUrl, $CwebUrl } = useNuxtApp();
-    //从客户端启动广告
-    //广告1
-    let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=xcw_shoplist_0001`
-    const responseAd1 = await fetch(url, {
-        headers: {
-            'Content-Type': 'application/json',
-            'Userurl': $CwebUrl,
-            'Origin': $CwebUrl
-        }
-    });
-    const resultAd1 = await responseAd1.json();
-    adImg1.value = resultAd1.data[0];
-})
-//5.广告 end ---------------------------------------->
-</script>
-
-
-<style lang="less" scoped>
-@import '@/assets/css/shop/list.less';
-</style>

+ 0 - 319
pages/xiangcunshangcheng/index.html.vue

@@ -1,319 +0,0 @@
-<template>
-    <ShopPageHead></ShopPageHead>
-    <main class="index_main" id="all_vue">
-        <HomeAdvertising :imgurl="adImg1"></HomeAdvertising>
-        <ShopSubMenu></ShopSubMenu>
-        <section class="shop_1_box clearfix">
-            <div class="shop_2_left clearfix">
-                <div class="shop_2_left_name_box">
-                    <label class="shop_2_left_name">商城公告:</label>
-                    <span class="shop_2_left_name_box_a dot1" @click="ShowDialog = true" v-if="DialogData">
-                        {{ DialogData.title }}
-                    </span>
-                </div>
-                <div class="shop_ul_img_1 clearfix">
-                    <ShopSwiperXcShop :data="boxData1_data1" :data2="boxData1_data2" :data3="boxData1_data3"></ShopSwiperXcShop>
-                </div>
-            </div>
-            <div class="shop_3_right clearfix">
-                <div class="choice_1_box clearfix">
-                    <div class="choice_1_btn_box clearfix">
-                        <div class="choice_1_btn" 
-                            :class="{ choice_1_btn_only: choice_1_num == 1 }"
-                            @mouseover="choice_1_num = 1">
-                            <span class="choice_1_btn_a">供应商品</span>
-                        </div>
-                        <div class="choice_1_btn" 
-                            :class="{ choice_1_btn_only: choice_1_num == 2 }"
-                            @mouseover="choice_1_num = 2">
-                            <span class="choice_1_btn_a">求购商品</span>
-                        </div>
-                    </div>
-                    <div class="choice_1_card_box">
-                        <div class="shop_ul_img_2 choice_1_card clearfix" v-show="choice_1_num == 1">
-                            <div class="shop_li_img_2" v-for="(item,index) in boxData2">
-                                <nuxtLink 
-                                    :to="getShopPathDetail1(item)"
-                                    class="shop_li_img_2_a"
-                                >
-                                    <div class="shop_li_img_2_num"> {{ index + 1 }} </div>
-                                    <div class="shop_li_img_2_right clearfix">
-                                        <img class="shop_li_img_2_img" :src="item.imgurl" :alt="item.name">
-                                        <div class="shop_li_img_2_text">
-                                            {{item.name}}
-                                        </div>
-                                    </div>
-                                </nuxtLink>
-                            </div>
-                        </div>
-                        <div class="shop_ul_img_2 choice_1_card clearfix" v-show="choice_1_num == 2">
-                            <div class="shop_li_img_2" v-for="(item,index) in boxData3">
-                                <nuxtLink 
-                                    :to="getShopPathDetail1(item)"
-                                    class="shop_li_img_2_a"
-                                >
-                                    <div class="shop_li_img_2_num"> {{ index + 1 }} </div>
-                                    <div class="shop_li_img_2_right clearfix">
-                                        <img class="shop_li_img_2_img" :src="item.imgurl" :alt="item.name">
-                                        <div class="shop_li_img_2_text">
-                                            {{item.name}}
-                                        </div>
-                                    </div>
-                                </nuxtLink>
-                            </div>
-                        </div>
-                    </div>
-                </div>
-            </div>
-        </section>
-        <section class="shop_2_box clearfix">
-            <div class="shop_name_box">
-                <div class="shop_name">
-                    <span class="shop_name_box_a">为你精选</span>
-                </div>
-                <div class="shop_name_right">
-                </div>
-            </div>
-            <div class="shop_ul_img_3 clearfix">
-                <div class="shop_li_img_3" v-for="(item,index) in boxData4">
-                    <NuxtLink
-                        :to="getShopPathDetail1(item)"
-                        class="shop_li_img_3_a"
-                        :title="item.name"
-                    >
-                        <img class="shop_li_img_3_img" :src="item.imgurl" alt="">
-                        <div class="shop_li_img_3_dot2 dot2">
-                            {{ item.name }}
-                        </div>
-                        <div class="shop_li_img_3_hover" v-if="index == 0">
-                            <div class="shop_li_img_3_hover_dot1 dot1">
-                                {{ item.name }}
-                            </div>
-                        </div>
-                    </NuxtLink>
-                </div>
-            </div>
-        </section>
-        <section class="shop_3_box clearfix">
-            <div class="shop_name_box">
-                <div class="shop_name">
-                    <span class="shop_name_box_a">热门产品</span>
-                </div>
-                <div class="shop_name_right"></div>
-            </div>
-            <div class="shop_ul_img_3_box_2 clearfix">
-                <section class="shop_hot_door_box clearfix" v-for="item in boxData5">
-                    <NuxtLink
-                        :to="getShopPathDetail1(item)"
-                        class="shop_hot_door_a"
-                        :title="item.name"
-                        
-                    >
-                        <img class="shop_hot_door_img" :src="item.imgurl" title="" alt="">
-                        <div class="shop_hot_door_left">
-                            <h4 class="shop_hot_door_h4">乡村商城热门产品</h4>
-                            <div class="shop_hot_door_title">性价比高</div>
-                            <div class="shop_hot_door_btn">点击查看</div>
-                        </div>
-                    </NuxtLink>
-                </section>
-                <div class="shop_li_img_3" v-for="(per_obj, per_index) in 2" :key="per_obj" v-show="false">
-                    <!--占位-->
-                </div>
-                <div class="shop_li_img_3" v-for="item in boxData5data2">
-                    <NuxtLink
-                        :to="getShopPathDetail1(item)"
-                        class="shop_alert_img_li_a"
-                        :title="item.name"
-                    >
-                        <img class="shop_li_img_3_img" :src="item.imgurl" alt="item.name">
-                        <div class="shop_li_img_3_dot2 dot2">
-                            {{ item.name }}
-                        </div>
-                    </NuxtLink>
-                </div>
-            </div>
-        </section>
-        <section class="shop_4_box clearfix">
-            <div class="shop_name_box">
-                <div class="shop_name">
-                    <span class="shop_name_box_a">热搜商品</span>
-                </div>
-                <div class="shop_name_right"> </div>
-            </div>
-            <div class="shop_ul_img_3 clearfix">
-                <div class="shop_li_img_3" v-for="item in boxData6">
-                    <NuxtLink
-                        :to="getShopPathDetail1(item)"
-                        class="shop_li_img_3_a"
-                        :title="item.name"
-                    >
-                        <img class="shop_li_img_3_img" :src="item.imgurl" alt="item.name">
-                        <div class="shop_li_img_3_dot2 dot2">
-                            {{ item.name}}
-                        </div>
-                    </NuxtLink>
-                </div>
-            </div>
-        </section>
-        <!-- 最新发布 -->
-        <!-- 热搜商品 -->
-        <section class="shop_5_box clearfix">
-            <div class="shop_name_box">
-                <div class="shop_name"><a class="shop_name_box_a" href="" title="">最新发布</a></div>
-                <div class="shop_name_right"> </div>
-            </div>
-            <!--热搜商品-->
-            <div class="shop_ul_img_3_3 clearfix">
-                <div class="shop_li_img_3" v-for="item in boxData7" :key="per_obj">
-                    <NuxtLink
-                        :to="getShopPathDetail1(item)"
-                        class="shop_li_img_3_a"
-                        :title="item.name"
-                    >
-                        <img class="shop_li_img_3_img" :src="item.imgurl" alt="item.name">
-                        <div class="shop_li_img_3_dot2 dot2">
-                            {{ item.name }}
-                        </div>
-                    </NuxtLink>
-                </div>
-            </div>
-            <!--热搜商品-->
-        </section>
-        <!-- 热搜商品 -->
-    </main>
-    <!-- 页面底部 -->
-    <HomeFoot></HomeFoot>
-
-    <!--公告弹出框-->
-    <el-dialog
-        v-if="DialogData"
-        v-model="ShowDialog"
-        :title="DialogData.title"
-        width="50%"
-        :before-close="handleClose"
-        center
-    >
-        <div v-html="DialogData.content" class="shop_notice_content"></div>
-    </el-dialog>
-</template>
-
-<script setup>
-//1.页面必备方法 start ---------------------------------------->
-import { ref, onMounted } from 'vue'
-import { ElRadio, ElRadioGroup, ElMessage, ElDialog} from 'element-plus'
-const radio1 = ref('1')
-// vue选项卡	
-const choice_1_num = ref(1)
-//1.页面必备方法 end ---------------------------------------->
-
-//2.获得所有数据 start ---------------------------------------->
-//模块1 最新数据 轮埠图
-const boxData1_data1 = ref([])
-const boxData1_data2 = ref([])
-const boxData1_data3 = ref([])
-//模块2 供应商品
-const boxData2 = ref([])
-//模块3 求购商品
-const boxData3 = ref([])
-//模块4 为你精选
-const boxData4 = ref([])
-//模块5 热门产品
-const boxData5 = ref([])
-const boxData5data2 = ref([])
-//模块6 热搜商品
-const boxData6 = ref([])
-//模块7 最新发布 图文
-const boxData7 = ref([])
-//公告
-const DialogData = ref("")
-const ShowDialog = ref(false)
-
-//创建请求数据json
-let getJson = [
-    {"level":"4,0,24"},//最新数据
-    {"level":"5,0,6"},//供应商品
-    {"level":"6,0,6"},//求购商品
-    {"level":"1,0,6"},//为你精选
-    {"level":"2,0,11"},//热门产品
-    {"level":"3,0,6"},//热搜商品
-]
-
-let jsonString = JSON.stringify(getJson)
-
-//获取所有数据
-async function getPageAllData() {
-    const mkdata = await requestDataPromise('/web/getWebsiteshop', {
-        method: 'GET',
-        query: {
-            'catid': 346,
-            'id': jsonString,
-        },
-    });
-
-    if (mkdata.code == 200) {
-        console.log(mkdata)
-        //最新数据1
-        for(let index in mkdata.data.goods[0]){
-            //取出前面15个放到boxData1中
-            if(index < 5){
-                boxData1_data1.value.push(mkdata.data.goods[0][index])
-            }else if(index >= 5 && index < 10){
-                boxData1_data2.value.push(mkdata.data.goods[0][index])
-            }else if(index >= 10 && index < 15){
-                boxData1_data3.value.push(mkdata.data.goods[0][index])
-            }
-        }
-        //最新数据2
-        boxData7.value = mkdata.data.goods[0];
-        //供应商品
-        boxData2.value = mkdata.data.goods[1];
-        //求购商品
-        boxData3.value = mkdata.data.goods[2];
-        //为你精选
-        boxData4.value = mkdata.data.goods[3];
-        //热门产品
-        for(let index in mkdata.data.goods[4]){
-            if(index < 1){
-                boxData5.value.push(mkdata.data.goods[4][index])
-            }else{
-                boxData5data2.value.push(mkdata.data.goods[4][index])
-            }
-        }
-        //热搜商品
-        boxData6.value = mkdata.data.goods[5];
-        //通知公告
-        DialogData.value = mkdata.data.article;
-    } else {
-        ElMessage.error(mkdata.message)
-    }
-}
-getPageAllData();
-//2.获得所有数据 end ---------------------------------------->
-
-//3.广告 start ---------------------------------------->
-//获得所有广告
-let adImg1 = ref({})
-onMounted(async () => {
-    const { $webUrl, $CwebUrl } = useNuxtApp();
-
-    //从客户端启动广告
-    //广告1
-    let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=xcw_shopcategory_0001`
-    const responseAd1 = await fetch(url, {
-        headers: {
-            'Content-Type': 'application/json',
-            'Userurl': $CwebUrl,
-            'Origin': $CwebUrl
-        }
-    });
-    const resultAd1 = await responseAd1.json();
-    adImg1.value = resultAd1.data[0];
-})
-//3.广告 end ---------------------------------------->
-</script>
-
-
-<style lang="less" scoped>
-@import '@/assets/css/shop/index.less';
-</style>

+ 0 - 200
pages/xiangcunshangcheng/search/gongying/list-[id].html.vue

@@ -1,200 +0,0 @@
-<template>
-    <ShopPageHead></ShopPageHead>
-    <main class="index_main" id="all_vue">
-        <HomeAdvertising :imgurl="adImg1"></HomeAdvertising>
-        <ShopSubMenu2></ShopSubMenu2>
-        <div class="categ_crumb_box clearfix_2">
-            <div class="categ_crumb_left">
-                <span class="categ_crumb_left_a" title=""> 当前位置: </span>
-                <NuxtLink
-                    :to="`/xiangcunshangcheng/index.html`"
-                    class="categ_crumb_left_a"
-                >
-                    乡村商城
-                </NuxtLink>
-                &gt;
-                <NuxtLink
-                    :to="`/xiangcunshangcheng/search/search`"
-                    class="categ_crumb_left_a"
-                >
-                    搜索
-                </NuxtLink>
-                &gt;
-                <span class="categ_crumb_left_text">供应</span>
-            </div>
-        </div>
-        <!-- 供应信息列表 -->
-        <div class=" clearfix">
-            <div class="categ_1_index clearfix">
-                <div class="categ_head_box clearfix_2">
-                    <a class="categ_head_a" href="" title="">供应信息列表</a>
-                    <div class="search_head_text_box">
-                        搜索到有关的供应信息:共 
-                        <span class="search_head_text_red">{{total}}</span>
-                        条
-                    </div>
-                </div>
-                <div class="categ_table clearfix">
-                    <div class="categ_table_head_box">
-                        <div class="categ_table_td_1">产品图片</div>
-                        <div class="categ_table_td_2">供求信息/公司</div>
-                        <div class="categ_table_td_3">发布时间</div>
-                        <div class="categ_table_td_4">地区</div>
-                    </div>
-                    <div class="categ_table_li" v-for="item in pageDataType1">
-                        <NuxtLink
-                            :to="getShopPathDetail1(item)"
-                            class="categ_table_li_a"
-                            :title="item.name"
-                        >
-                            <div class="categ_table_td_1">
-                                <img class="categ_table_td_1_img" :src="item.imgurl" :alt="item.name">
-                            </div>
-                            <div class="search_table_td_2 ">
-                                <div class="search_table_td_2_in clearfix">
-                                    <div class="search_table_td_2_head dot1">
-                                        {{ item.name }}
-                                    </div>
-                                    <div class="search_table_td_2_dot2 dot2">
-                                        {{ item.description }}
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="categ_table_td_3">{{ getTime(item.created_at, 'year', 1) }}</div>
-                            <div class="categ_table_td_4 dot1">{{ item.city_name }}</div>
-                        </NuxtLink>
-                    </div>
-                </div>
-            </div>
-            <!-- 分页器 -->
-            <div class="pagination" v-if="total">
-                <el-pagination 
-                    size="small" 
-                    background layout="prev, pager, next" 
-                    :total="total"
-                    v-model:page-size="pageSize" 
-                    prev-text="上一页" 
-                    next-text="下一页" 
-                    :current-page="pageNum"
-                    @current-change="changePage" 
-                />
-            </div>
-        </div>
-        <ShopHotNews></ShopHotNews>
-    </main>
-    <!-- 页面底部 -->
-    <HomeFoot></HomeFoot>
-</template>
-
-<script setup>
-//1.页面必备方法 start ---------------------------------------->
-import { ref, onMounted,watch } from 'vue'
-import { ElMessage,ElPagination } from 'element-plus'
-
-//分页
-let pageNum = ref(1);
-let pageSize = ref(10);
-let total = ref(0);
-
-let changePage = (value) => {
-    console.log("当前页码", value);
-    navigateTo(`/xiangcunshangcheng/search/gongying/list-${value}.html`)
-}
-//1.页面必备方法 end ---------------------------------------->
-
-//2.页面路径 start ---------------------------------------->
-//2.1 获得页面数据id
-const route = useRoute();
-const router = useRouter()
-//2.4 获得cityid
-const cityId = ref(route.query.cityid)
-//2.5 获得keyword
-const keyword = ref(route.query.keyword)
-//2.页面路径 end ---------------------------------------->
-
-
-//4.搜索 start ---------------------------------------->
-//4.2 页面展示的数据
-const pageDataType1 = ref([]);//供应数据
-//const pageDataType2 = ref([]);//求购数据 此页面不需要求购数据
-
-//4.3 发起搜索
-const pageSearch = async () => {
-    let params = {
-        catid:346,//栏目id
-        city_id:"",//城市id
-        keyword:keyword,//搜索关键词 
-        page:1,
-        pageSize:10,
-        type_id:1
-    }
-
-    if(keyword.value == undefined || keyword.value == '' || keyword.value == 'NaN'){
-        //删除变量params中的city_id参数
-        delete params.keyword
-    }else{
-        params.keyword = keyword.value
-    }
-
-    if(cityId.value == undefined || cityId.value == '' || cityId.value == 'NaN'){
-        //删除变量params中的city_id参数
-        delete params.city_id
-    }else{
-        params.city_id = parseFloat(cityId.value)
-    }
-
-    const pageData = await requestDataPromise('/web/getWebsiteshopList', {
-        method: 'GET',
-        query: params,
-    });
-
-    if (pageData.code == 200) {
-        pageDataType1.value = pageData.data.type1;
-        total.value = pageData.data.type1_count;
-    } else {
-        console.log("错误位置:获得该页面数据失败!")
-    }
-    //开始请求数据
-    console.log(params)
-    console.log(pageData)
-}
-//页面初始化的时候调用一下搜索
-pageSearch();
-
-//4.4 每次路由一变化就重新请求数据
-//4.4.1 监听cityid
-watch(() => route.query.cityid, (newVal, oldVal) => {
-    if(newVal != undefined){
-        cityId.value = parseFloat(newVal)
-    }else{
-        cityList.value = []
-    }
-    pageSearch()
-})
-//4.搜索 end ---------------------------------------->
-
-//5.广告 start ---------------------------------------->
-//获得所有广告
-let adImg1 = ref({})
-onMounted(async () => {
-    const { $webUrl, $CwebUrl } = useNuxtApp();
-    //从客户端启动广告
-    //广告1
-    let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=xcw_shopsearch_0001`
-    const responseAd1 = await fetch(url, {
-        headers: {
-            'Content-Type': 'application/json',
-            'Userurl': $CwebUrl,
-            'Origin': $CwebUrl
-        }
-    });
-    const resultAd1 = await responseAd1.json();
-    adImg1.value = resultAd1.data[0];
-})
-//5.广告 end ---------------------------------------->
-</script>
-
-
-<style lang="less" scoped>
-@import '@/assets/css/shop/list.less';
-</style>

+ 0 - 200
pages/xiangcunshangcheng/search/qiugou/list-[id].html.vue

@@ -1,200 +0,0 @@
-<template>
-    <ShopPageHead></ShopPageHead>
-    <main class="index_main" id="all_vue">
-        <HomeAdvertising :imgurl="adImg1"></HomeAdvertising>
-        <ShopSubMenu2></ShopSubMenu2>
-        <div class="categ_crumb_box clearfix_2">
-            <div class="categ_crumb_left">
-                <span class="categ_crumb_left_a" title=""> 当前位置: </span>
-                <NuxtLink
-                    :to="`/xiangcunshangcheng/index.html`"
-                    class="categ_crumb_left_a"
-                >
-                    乡村商城
-                </NuxtLink>
-                &gt;
-                <NuxtLink
-                    :to="`/xiangcunshangcheng/search/search`"
-                    class="categ_crumb_left_a"
-                >
-                    搜索
-                </NuxtLink>
-                &gt;
-                <span class="categ_crumb_left_text">求购</span>
-            </div>
-        </div>
-        <!-- 供应信息列表 -->
-        <div class=" clearfix">
-            <div class="categ_1_index clearfix">
-                <div class="categ_head_box clearfix_2">
-                    <a class="categ_head_a" href="" title="">供应信息列表</a>
-                    <div class="search_head_text_box">
-                        搜索到有关的供应信息:共 
-                        <span class="search_head_text_red">{{total}}</span>
-                        条
-                    </div>
-                </div>
-                <div class="categ_table clearfix">
-                    <div class="categ_table_head_box">
-                        <div class="categ_table_td_1">产品图片</div>
-                        <div class="categ_table_td_2">供求信息/公司</div>
-                        <div class="categ_table_td_3">发布时间</div>
-                        <div class="categ_table_td_4">地区</div>
-                    </div>
-                    <div class="categ_table_li" v-for="item in pageDataType2">
-                        <NuxtLink
-                            :to="getShopPathDetail1(item)"
-                            class="categ_table_li_a"
-                            :title="item.name"
-                        >
-                            <div class="categ_table_td_1">
-                                <img class="categ_table_td_1_img" :src="item.imgurl" :alt="item.name">
-                            </div>
-                            <div class="search_table_td_2 ">
-                                <div class="search_table_td_2_in clearfix">
-                                    <div class="search_table_td_2_head dot1">
-                                        {{ item.name }}
-                                    </div>
-                                    <div class="search_table_td_2_dot2 dot2">
-                                        {{ item.description }}
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="categ_table_td_3">{{ getTime(item.created_at, 'year', 1) }}</div>
-                            <div class="categ_table_td_4 dot1">{{ item.city_name }}</div>
-                        </NuxtLink>
-                    </div>
-                </div>
-            </div>
-            <!-- 分页器 -->
-            <div class="pagination" v-if="total">
-                <el-pagination 
-                    size="small" 
-                    background layout="prev, pager, next" 
-                    :total="total"
-                    v-model:page-size="pageSize" 
-                    prev-text="上一页" 
-                    next-text="下一页" 
-                    :current-page="pageNum"
-                    @current-change="changePage" 
-                />
-            </div>
-        </div>
-        <ShopHotNews></ShopHotNews>
-    </main>
-    <!-- 页面底部 -->
-    <HomeFoot></HomeFoot>
-</template>
-
-<script setup>
-//1.页面必备方法 start ---------------------------------------->
-import { ref, onMounted,watch } from 'vue'
-import { ElMessage,ElPagination } from 'element-plus'
-
-//分页
-let pageNum = ref(1);
-let pageSize = ref(10);
-let total = ref(0);
-
-let changePage = (value) => {
-    console.log("当前页码", value);
-    navigateTo(`/xiangcunshangcheng/search/gongying/list-${value}.html`)
-}
-//1.页面必备方法 end ---------------------------------------->
-
-//2.页面路径 start ---------------------------------------->
-//2.1 获得页面数据id
-const route = useRoute();
-const router = useRouter()
-//2.4 获得cityid
-const cityId = ref(route.query.cityid)
-//2.5 获得keyword
-const keyword = ref(route.query.keyword)
-//2.页面路径 end ---------------------------------------->
-
-
-//4.搜索 start ---------------------------------------->
-//4.2 页面展示的数据
-//const pageDataType1 = ref([]);//供应数据
-const pageDataType2 = ref([]);//求购数据 此页面不需要求购数据
-
-//4.3 发起搜索
-const pageSearch = async () => {
-    let params = {
-        catid:346,//栏目id
-        city_id:"",//城市id
-        keyword:keyword,//搜索关键词 
-        page:1,
-        pageSize:10,
-        type_id:2
-    }
-
-    if(keyword.value == undefined || keyword.value == '' || keyword.value == 'NaN'){
-        //删除变量params中的city_id参数
-        delete params.keyword
-    }else{
-        params.keyword = keyword.value
-    }
-
-    if(cityId.value == undefined || cityId.value == '' || cityId.value == 'NaN'){
-        //删除变量params中的city_id参数
-        delete params.city_id
-    }else{
-        params.city_id = parseFloat(cityId.value)
-    }
-
-    const pageData = await requestDataPromise('/web/getWebsiteshopList', {
-        method: 'GET',
-        query: params,
-    });
-
-    if (pageData.code == 200) {
-        pageDataType2.value = pageData.data.type2;
-        total.value = pageData.data.type2_count;
-    } else {
-        console.log("错误位置:获得该页面数据失败!")
-    }
-    //开始请求数据
-    console.log(params)
-    console.log(pageData)
-}
-//页面初始化的时候调用一下搜索
-pageSearch();
-
-//4.4 每次路由一变化就重新请求数据
-//4.4.1 监听cityid
-watch(() => route.query.cityid, (newVal, oldVal) => {
-    if(newVal != undefined){
-        cityId.value = parseFloat(newVal)
-    }else{
-        cityList.value = []
-    }
-    pageSearch()
-})
-//4.搜索 end ---------------------------------------->
-
-//5.广告 start ---------------------------------------->
-//获得所有广告
-let adImg1 = ref({})
-onMounted(async () => {
-    const { $webUrl, $CwebUrl } = useNuxtApp();
-    //从客户端启动广告
-    //广告1
-    let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=xcw_shopsearch_0001`
-    const responseAd1 = await fetch(url, {
-        headers: {
-            'Content-Type': 'application/json',
-            'Userurl': $CwebUrl,
-            'Origin': $CwebUrl
-        }
-    });
-    const resultAd1 = await responseAd1.json();
-    adImg1.value = resultAd1.data[0];
-})
-//5.广告 end ---------------------------------------->
-</script>
-
-
-<style lang="less" scoped>
-@import '@/assets/css/shop/list.less';
-</style>

+ 0 - 247
pages/xiangcunshangcheng/search/search.vue

@@ -1,247 +0,0 @@
-<template>
-    <ShopPageHead></ShopPageHead>
-    <main class="index_main" id="all_vue">
-        <HomeAdvertising :imgurl="adImg1"></HomeAdvertising>
-        <!--子菜单和地区选择-->
-        <ShopSubMenu2></ShopSubMenu2>
-        <!-- 地区选择 -->
-        <div class="categ_crumb_box clearfix_2">
-            <!-- 当前位置 -->
-            <div class="categ_crumb_left">
-                <span class="categ_crumb_left_a" title=""> 当前位置: </span>
-                <NuxtLink
-                    :to="`/xiangcunshangcheng/index.html`"
-                    class="categ_crumb_left_a"
-                >
-                    乡村商城
-                </NuxtLink>
-                &gt;
-                <span class="categ_crumb_left_text">搜索</span>
-            </div>
-        </div>
-        <!-- 供应信息列表 -->
-        <!-- <div class=" clearfix" v-show="choice_categ_num == 1"> -->
-        <div class=" clearfix">
-            <div class="categ_1_index clearfix">
-                <div class="categ_head_box clearfix_2">
-                    <span class="categ_head_a">供应信息列表</span>
-                    <div class="search_head_text_box">
-                        搜索到有关的供应信息:共 
-                        <span class="search_head_text_red">{{pageDataType1Total}}</span>
-                        条
-                    </div>
-                    <span class="categ_head_a_more" @click="pageShopList(1)" v-if="pageDataType1.length != 0">
-                        查看更多 &gt;
-                    </span>
-                </div>
-                <div class="categ_table clearfix">
-                    <div class="categ_table_head_box">
-                        <div class="categ_table_td_1">产品图片</div>
-                        <div class="categ_table_td_2">供求信息/公司</div>
-                        <div class="categ_table_td_3">发布时间</div>
-                        <div class="categ_table_td_4">地区</div>
-                    </div>
-                    <ShopNoData v-if="pageDataType1.length == 0" :pagetype="'class'"></ShopNoData>
-                    <div class="categ_table_li" v-for="item in pageDataType1" :key="item.id">
-                        <NuxtLink
-                            :to="getShopPathDetail1(item)"
-                            class="categ_table_li_a"
-                            :title="item.name"
-                        >
-                            <div class="categ_table_td_1">
-                                <img class="categ_table_td_1_img" :src="item.imgurl" alt="item.name">
-                            </div>
-                            <div class="search_table_td_2 ">
-                                <div class="search_table_td_2_in clearfix">
-                                    <div class="search_table_td_2_head dot1">
-                                        {{ item.name }}
-                                    </div>
-                                    <div class="search_table_td_2_dot2 dot2">
-                                        {{ item.description }}
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="categ_table_td_3">{{getTime(item.created_at, 'year', 1)}}</div>
-                            <div class="categ_table_td_4 dot1">{{item.city_name}}</div>
-                        </NuxtLink>
-                    </div>
-                </div>
-            </div>
-        </div>
-        <div class=" clearfix">
-            <div class="categ_1_index clearfix">
-                <div class="categ_head_box clearfix_2">
-                    <span class="categ_head_a">求购信息列表</span>
-                    <div class="search_head_text_box">
-                        搜索到有关的求购信息:共 
-                        <span class="search_head_text_red">{{pageDataType2Total}}</span>
-                        条
-                    </div>
-                    <span class="categ_head_a_more" @click="pageShopList(2)" v-if="pageDataType2.length != 0">
-                        查看更多 &gt;
-                    </span>
-                </div>
-                <div class="categ_table clearfix">
-                    <div class="categ_table_head_box">
-                        <div class="categ_table_td_1">产品图片</div>
-                        <div class="categ_table_td_2">供求信息/公司</div>
-                        <div class="categ_table_td_3">发布时间</div>
-                        <div class="categ_table_td_4">地区</div>
-                    </div>
-                    <ShopNoData v-if="pageDataType2.length == 0" :pagetype="'class'"></ShopNoData>
-                    <div class="categ_table_li" v-for="item in pageDataType2" :key="item.id">
-                        <NuxtLink
-                            :to="getShopPathDetail1(item)"
-                            class="categ_table_li_a"
-                            :title="item.name"
-                        >
-                            <div class="categ_table_td_1">
-                                <img class="categ_table_td_1_img" :src="item.imgurl" alt="item.name">
-                            </div>
-                            <div class="search_table_td_2 ">
-                                <div class="search_table_td_2_in clearfix">
-                                    <div class="search_table_td_2_head dot1">
-                                        {{ item.name }}
-                                    </div>
-                                    <div class="search_table_td_2_dot2 dot2">
-                                        {{ item.description }}
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="categ_table_td_3">{{getTime(item.created_at, 'year', 1)}}</div>
-                            <div class="categ_table_td_4 dot1">{{item.city_name}}</div>
-                        </NuxtLink>
-                    </div>
-                </div>
-            </div>
-        </div>
-        <ShopHotNews></ShopHotNews>
-    </main>
-    <!-- 页面底部 -->
-    <HomeFoot></HomeFoot>
-</template>
-<script setup>
-//1.页面必备方法 start ---------------------------------------->
-import { ref, onMounted,watch } from 'vue'
-import { ElMessage } from 'element-plus'
-//1.页面必备方法 end ---------------------------------------->
-
-//2.页面路径 start ---------------------------------------->
-//2.1 获得页面数据id
-const route = useRoute();
-const router = useRouter()
-//2.4 获得cityid
-const cityId = ref(route.query.cityid)
-//2.5 获得keyword
-const keyword = ref(route.query.keyword)
-//2.页面路径 end ---------------------------------------->
-
-
-//4.搜索 start ---------------------------------------->
-//4.2 页面展示的数据
-const pageDataType1 = ref([]);//供应数据
-const pageDataType2 = ref([]);//求购数据
-const pageDataType1Total = ref(0);//供应总条数
-const pageDataType2Total = ref(0);//求购总条数
-
-//4.3 发起搜索
-const pageSearch = async () => {
-    let params = {
-        catid: 346,
-        city_id:"",//城市id
-        keyword:keyword.value,//搜索关键词
-        page:1,
-        pageSize:3,
-    }
-
-    if(cityId.value == undefined || cityId.value == '' || cityId.value == 'NaN'){
-        //删除变量params中的city_id参数
-        delete params.city_id
-    }else{
-        params.city_id = parseFloat(cityId.value)
-    }
-
-    const pageData = await requestDataPromise('/web/getWebsiteshopList', {
-        method: 'GET',
-        query: params,
-    });
-
-    if (pageData.code == 200) {
-        pageDataType1.value = pageData.data.type1;
-        pageDataType2.value = pageData.data.type2;
-        pageDataType1Total.value = pageData.data.type1_count;
-        pageDataType2Total.value = pageData.data.type2_count;
-
-    } else {
-        console.log("错误位置:获得该页面数据失败!")
-    }
-    //开始请求数据
-    console.log(params)
-    console.log(pageData)
-}
-//页面初始化的时候调用一下搜索
-pageSearch();
-
-//4.4 每次路由一变化就重新请求数据
-//4.4.1 监听cityid
-watch(() => route.query.cityid, (newVal, oldVal) => {
-    if(newVal != undefined){
-        cityId.value = parseFloat(newVal)
-    }else{
-        cityList.value = []
-    }
-    pageSearch()
-})
-//4.搜索 end ---------------------------------------->
-
-//5.广告 start ---------------------------------------->
-//获得所有广告
-let adImg1 = ref({})
-onMounted(async () => {
-    const { $webUrl, $CwebUrl } = useNuxtApp();
-    //从客户端启动广告
-    //广告1
-    let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=xcw_shopsearch_0001`
-    const responseAd1 = await fetch(url, {
-        headers: {
-            'Content-Type': 'application/json',
-            'Userurl': $CwebUrl,
-            'Origin': $CwebUrl
-        }
-    });
-    const resultAd1 = await responseAd1.json();
-    adImg1.value = resultAd1.data[0];
-})
-//5.广告 end ---------------------------------------->
-
-//6.跳转到列表页 start ---------------------------------------->
-const pageShopList = (type) => {
-    const { keyword, cityid } = route.query
-
-    const queryParams = {
-        ...(keyword && { keyword }),
-        ...(cityid && { cityid })
-    }
-
-    if(type == 1){
-        //type==1 跳转到供应列表页
-        const targetPath = `/xiangcunshangcheng/search/gongying/list-1.html`
-        router.push({
-            path: targetPath,
-            query: queryParams
-        })
-    }else{
-        //type==2 跳转到求购列表页
-        const targetPath = `/xiangcunshangcheng/search/qiugou/list-1.html`
-        router.push({
-            path: targetPath,
-            query: queryParams
-        })
-    }
-}
-//6.跳转到列表页 end ---------------------------------------->
-</script>
-
-<style lang="less" scoped>
-@import '@/assets/css/shop/search.less';
-</style>

+ 10 - 10
plugins/globals.js

@@ -1,19 +1,19 @@
 export default defineNuxtPlugin((nuxtApp) => {
   //乡村网pre环境
-//   nuxtApp.provide('webUrl', 'http://apipre1.bjzxtw.org.cn:29501')
-//   nuxtApp.provide('CwebUrl', 'http://pre.china-village.com.cn')
-//   nuxtApp.provide('BwebUrl', 'http://adminpre.bjzxtw.org.cn')
-//   nuxtApp.provide('LoginWebUrl', 'http://adminpre.bjzxtw.org.cn/adminapi')
-//   nuxtApp.provide('userUrl', 'http://localhost:3000')
+  nuxtApp.provide('webUrl', 'http://apipre1.bjzxtw.org.cn:29501')
+  nuxtApp.provide('CwebUrl', 'http://pre.china-village.com.cn')
+  nuxtApp.provide('BwebUrl', 'http://adminpre.bjzxtw.org.cn')
+  nuxtApp.provide('LoginWebUrl', 'http://adminpre.bjzxtw.org.cn/adminapi')
+  nuxtApp.provide('userUrl', 'http://localhost:3000')
   //Dev环境
   // nuxtApp.provide('webUrl', 'http://apidev.bjzxtw.org.cn')
   // nuxtApp.provide('CwebUrl', 'http://nwdev.bjzxtw.org.cn')
   // nuxtApp.provide('BwebUrl', 'http://admindev.bjzxtw.org.cn')
   // nuxtApp.provide('userUrl', 'http://localhost:3000')
   //乡村网正式环境
-  nuxtApp.provide('webUrl', 'https://flzxw.bjzxtw.org.cn')
-  nuxtApp.provide('CwebUrl', 'http://nw.china-village.com.cn')
-  nuxtApp.provide('BwebUrl', 'https://admin.bjzxtw.org.cn')
-  nuxtApp.provide('LoginWebUrl', 'http://admin.bjzxtw.org.cn/adminapi')
-  nuxtApp.provide('userUrl', 'http://localhost:3001')
+//   nuxtApp.provide('webUrl', 'https://flzxw.bjzxtw.org.cn')
+//   nuxtApp.provide('CwebUrl', 'http://nw.china-village.com.cn')
+//   nuxtApp.provide('BwebUrl', 'https://admin.bjzxtw.org.cn')
+//   nuxtApp.provide('LoginWebUrl', 'http://admin.bjzxtw.org.cn/adminapi')
+//   nuxtApp.provide('userUrl', 'http://localhost:3001')
 })

BIN
public/error/404.png


BIN
public/error/error.png