123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245 |
- <template>
- <div class="navigate">
- <div class="partOne">
- <div class="inner">
- <div class="navLeft">
- <div class="navIndex">
- <NuxtLink :to="'/'">首页</NuxtLink>
- </div>
- <div class="navClass">
- <div>主题资讯</div>
- <div>互动资讯</div>
- </div>
- </div>
- <ul class="navigationOne">
- <li v-for="(item, index) in navigation1" :key="index">
- <NuxtLink :href="getLinkPath(item)" :title="item.alias" v-if="index<=23" :target="item.is_url == 1 ? '_blank' : '_self'">
- <span class="active" v-if="item.category_id == routeId">{{ item.alias }}</span>
- <span v-else>{{ item.alias }}</span>
- </NuxtLink>
- </li>
- </ul>
- </div>
- </div>
- <!-- 展示地区 -->
- <div class="cityBox">
- <div class="cityMain">
- <div class="cityTitle">地方频道</div>
- <ul class="cityList">
- <li v-for="item in provinceList">
- <NuxtLink :to="{ path: `/search/${item.id}`}">{{item.abbreviation}}</NuxtLink>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </template>
- <script setup>
- //1.加载依赖 start ---------------------------------------->
- import { ElMessage } from 'element-plus'
- import { ref,onMounted } from 'vue';
- import { ElSelect, ElOption } from 'element-plus'
- const nuxtApp = useNuxtApp();
- const axios = nuxtApp.$axios;
- const route = useRoute();
- const routeId = route.params.id; //获得该页面的id
- //1.加载依赖 end ---------------------------------------->
- //2.加载模块数据 start ---------------------------------------->
- const navigation1 = ref("");
- async function getPageData2() {
- const mkdata = await requestDataPromise('/web/getWebsiteModelCategory', {
- method: 'GET',
- query: {
- 'placeid': 1,
- 'pid': 0,
- 'num': 35
- },
- });
- navigation1.value = mkdata.data;
- }
- getPageData2();
- //格式化跳转路径
- const getLinkPath = (item) => {
- if(item.is_url==1){
- return `${item.web_url}`;
- }else if(item.children_count == 0){
- //return `/newsList/${item.category_id}?page=1`;
- return `/${item.aLIas_pinyin}/list-1.html`;
- }else{
- //return `/primaryNavigation/${item.aLIas_pinyin}/`;
- return `/${item.aLIas_pinyin}/index.html`;
- }
- }
- //2.加载模块数据 end ---------------------------------------->
- //3.职能部门 start ---------------------------------------->
- // let department = ref("")
- const depValue = ref("")
- const typeValue = ref("")
- // let departmentList = async () => {
- // const mkdata = await requestDataPromise('/web/selectWebsiteDepartment', {
- // method: 'GET',
- // query: {
- // 'keyword': department.value,
- // },
- // });
- // if(mkdata.code == 200){
- // department.value = mkdata.data;
- // }else{
- // console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
- // console.log("错误位置:获取职能部门")
- // console.log("后端错误反馈:",mkdata.message)
- // console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
- // }
- // }
- // //获得所有部门
- // departmentList();
- //3.职能部门 end ---------------------------------------->
- //4.展示行政区划 start ---------------------------------------->
- let areaList = ref("")
- //4.1 省
- let province = ref("")
- let provinceid = ref("")
- let provinceList = ref("")
- //4.2 市
- let city = ref("")
- let cityid = ref("")
- let cityList = ref("")
- //4.3 县
- let region = ref("")
- let regionid = ref("")
- let regionList = ref("")
- //选择省
- // let areaArrList = async () => {
- // const mkdata = await requestDataPromise('/web/selectWebsiteArea', {
- // method: 'GET',
- // query: {},
- // });
- // if(mkdata.code == 200){
- // provinceList.value = mkdata.data;
- // }else{
- // console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
- // console.log("错误位置:获取行政区划")
- // console.log("后端错误反馈:",mkdata.message)
- // console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
- // }
- // }
- // //一开始只需要获取一下省
- // areaArrList();
- onMounted(async () => {
- //从客户端获取行政区划
- try {
- const { $webUrl, $CwebUrl } = useNuxtApp();
- const response2 = await fetch($webUrl + '/web/selectWebsiteArea', {
- headers: {
- 'Content-Type': 'application/json',
- 'Userurl': $CwebUrl,
- 'Origin': $CwebUrl
- }
- });
- const result2 = await response2.json();
- provinceList.value = result2.data;
- } catch (error) {
- console.error('获取行政区划数据失败:', error);
- }
- })
- //选择市
- let change = async (id) => {
- provinceid.value = id;
- const shengData = await requestDataPromise('/web/selectWebsiteArea', {
- method: 'GET',
- query: {
- 'province': id,
- 'city': 0
- },
- });
- cityList.value = shengData.data.city;
- }
- //选择县
- let change1 = async (id) => {
- cityid.value = id;
- const xianData = await requestDataPromise('/web/selectWebsiteArea', {
- method: 'GET',
- query: {
- 'province': provinceid.value,
- 'city': cityid.value
- },
- });
- regionList.value = xianData.data.region;
- }
- //4.展示行政区划 end ---------------------------------------->
- //5.执行搜索 start ---------------------------------------->
- const getcityid = ref("")
- //跳转到搜索页面
- let goToSearch = (id) => {
- console.log(id)
- const route = `/search/search?catids=${id}`;
- window.open(route, '_blank');
- }
- //获得cityid和
- let goToPrimary = async () => {
- if (province.value != "") { getcityid.value = province.value }
- if (city.value != "") { getcityid.value = city.value }
- if (region.value != "") { getcityid.value = region.value }
- if (province.value == ""&&city.value == ""&®ion.value == ""&&depValue.value=="") {
- ElMessage.error('请选择行政区划或者职能部门!')
- }else{
- const responseStatus = await requestDataPromise('/web/selectWebsiteCategory', {
- method: 'GET',
- query: {
- 'cityid': getcityid.value,
- 'department_id': depValue.value
- },
- });
- if (responseStatus.data.catid && responseStatus.data.catid.length > 0) {
- const catids = responseStatus.data.catid.join(',');
- const route = `/search/search?catids=${catids}`;
- window.open(route, '_blank');
- } else {
- // 可以在这里处理数组为空的情况
- console.log('没有可用的分类ID');
- const route = `/search/search`;
- window.open(route, '_blank');
- }
- }
- }
- let searchDepartment = () => {
- //搜索职能部门
- let status = false;
- for (let item of department.value) {
- if (item.name == typeValue.value) {
- //如果有就赋值过去
- depValue.value = item.id
- status = true; //说明有可用的结果
- }
- }
- if (status == true) {
- //弹出提示告诉用户不存在
- }
- }
- //5.执行搜索 end ---------------------------------------->
- </script>
- <style lang="less" scoped>
- @import url('@/assets/css/nav.less');
- </style>
|