Jing 1 mês atrás
pai
commit
bddb95d274

+ 1 - 1
.nuxt/manifest/latest.json

@@ -1 +1 @@
-{"id":"638eeb66-e8b3-4e83-96ac-ae3451a2ba79","timestamp":1747706581432}
+{"id":"4b83ae7c-967f-42ab-b87c-efa9d949eeb8","timestamp":1748247901212}

+ 1 - 0
.nuxt/manifest/meta/4b83ae7c-967f-42ab-b87c-efa9d949eeb8.json

@@ -0,0 +1 @@
+{"id":"4b83ae7c-967f-42ab-b87c-efa9d949eeb8","timestamp":1748247901212,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}

+ 0 - 1
.nuxt/manifest/meta/638eeb66-e8b3-4e83-96ac-ae3451a2ba79.json

@@ -1 +0,0 @@
-{"id":"638eeb66-e8b3-4e83-96ac-ae3451a2ba79","timestamp":1747706581432,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}

+ 1 - 1
.nuxt/tsconfig.json

@@ -102,7 +102,7 @@
         "./imports"
       ],
       "#app-manifest": [
-        "./manifest/meta/638eeb66-e8b3-4e83-96ac-ae3451a2ba79.json"
+        "./manifest/meta/4b83ae7c-967f-42ab-b87c-efa9d949eeb8.json"
       ],
       "#components": [
         "./components"

+ 1 - 0
assets/css/index.less

@@ -633,6 +633,7 @@ section {
     float: left;
     width: 575px;
     margin-top: 20px;
+    min-height: 220px;
 }
 
 .index_6_right {

+ 1644 - 0
assets/css/zgzpClass.less

@@ -0,0 +1,1644 @@
+@charset "utf-8";
+
+* {
+    font-family: "微软雅黑", "microsoft yahei";
+}
+
+ul,
+ol {
+    list-style: none;
+}
+
+a:active {
+    text-decoration: none;
+}
+
+a:hover {
+    text-decoration: none;
+}
+
+a:visited {
+    text-decoration: none;
+}
+
+a:link {
+    text-decoration: none;
+}
+
+a:focus {
+    text-decoration: none;
+}
+
+body {
+    position: relative;
+}
+
+.clearfix {
+    overflow: hidden;
+}
+
+.clearfix_2::after {
+    content: '';
+    display: block;
+    height: 0;
+    visibility: hidden;
+    clear: both;
+}
+
+.hiddenColor {
+    visibility: hidden;
+}
+
+.hand {
+    cursor: pointer;
+}
+
+.aTag_parent {
+    position: relative;
+}
+
+.aTag_parent>a,
+.aTag {
+    display: block;
+    width: 100%;
+    height: 100%;
+    position: absolute;
+    z-index: 99;
+    border: 0px;
+    top: 0px;
+    left: 0px;
+    background: rgba(0, 0, 0, 0);
+}
+
+.dot1 {
+    display: block;
+    word-break: keep-all;
+    white-space: nowrap;
+    overflow: hidden;
+    text-overflow: ellipsis;
+}
+
+.dot2 {
+    overflow: hidden;
+    display: -webkit-box;
+    -webkit-box-orient: vertical;
+    -webkit-line-clamp: 2;
+}
+
+input,
+img {
+    border: none;
+}
+
+.cover100 img {
+    display: block;
+    width: 100%;
+    height: 100%;
+    object-fit: cover;
+}
+
+.back100 {
+    background-size: 100% 100%;
+    background-repeat: no-repeat;
+}
+
+article,
+aside,
+footer,
+header,
+time,
+video,
+main,
+nav,
+h4,
+h3,
+section {
+    display: block;
+}
+
+.index_main {
+    margin: 0 auto;
+}
+
+.slow_6 {
+    -webkit-transition: all .6s;
+    -moz-transition: all .6s;
+    -ms-transition: all .6s;
+    -o-transition: all .6s;
+    transition: all .6s;
+}
+
+.index_main {
+    width: 1200px;
+}
+
+.recruit_head_box {
+    border-bottom: solid 1px #D9D9D9;
+}
+
+.cruit_head_left {
+    float: left;
+}
+
+.cruit_head_a {
+    float: left;
+    height: 55px;
+    line-height: 55px;
+    color: #333;
+    font-weight: bold;
+    font-size: 22px;
+    border-bottom: solid 3px rgba(0, 0, 0, 0);
+    margin-right: 40px;
+}
+
+.cruit_head_only {
+    float: left;
+    height: 55px;
+    line-height: 55px;
+    color: #489d97;
+    font-weight: bold;
+    font-size: 22px;
+    border-bottom: solid 3px #489d97;
+}
+
+.cruit_head_a_more {
+    float: right;
+    height: 19px;
+    line-height: 19px;
+    margin-top: 18px;
+    color: #333;
+    font-size: 16px;
+}
+
+.cruit_head_right {
+    float: right;
+    margin-top: 11px;
+}
+
+.cruit_head_right_a {
+    float: left;
+    height: 31px;
+    line-height: 31px;
+    color: #fff;
+    font-size: 16px;
+    border-radius: 4px;
+    overflow: hidden;
+    padding: 0px 10px 0px 33px;
+}
+
+.cruit_head_right_a:nth-of-type(1) {
+    background: url(@/public/image/1.png) no-repeat 10px 7px #489d97;
+    background-size: 18px 18px;
+}
+
+.cruit_head_right_a:nth-of-type(2) {
+    background: url(@/public/image/2.png) no-repeat 10px 7px #489d97;
+    background-size: 18px 18px;
+    margin-left: 17px;
+}
+
+.cruit_ul_1 {
+    border-bottom: solid 1px #D9D9D9;
+    padding: 30px 0px 16px;
+}
+
+.cruit_ul_1_a {
+    float: left;
+    height: 24px;
+    line-height: 24px;
+    color: #333;
+    font-size: 18px;
+    margin: 0px 25px 14px 5px;
+}
+
+.cruit_ul_1_a:hover {
+    color: #489d97;
+}
+
+.cruit_ul_1_a_only {
+    color: #489d97;
+}
+
+.cruit_form {
+    display: block;
+    margin-top: 30px;
+}
+
+.cruit_form_tip {
+    line-height: 30px;
+    margin-bottom: 30px;
+}
+
+.cruit_form_per {
+    // height: 30px;
+    // line-height: 30px;
+    float: left;
+    margin-right: 150px;
+}
+
+.cruit_form_label_radio_box {
+    height: 30px;
+    line-height: 30px;
+    float: left;
+    color: #999;
+    font-size: 18px;
+    margin-right: 50px;
+    padding-left: 22px;
+    position: relative;
+}
+
+.cruit_form_radio {
+    float: left;
+    width: 0px;
+    height: 0px;
+}
+
+.cruit_form_radio::after {
+    content: '';
+    display: block;
+    position: absolute;
+    border: solid 1px #C8CFD2;
+    border-radius: 2px;
+    width: 12px;
+    height: 12px;
+    left: 0px;
+    top: 8px;
+    z-index: 11;
+}
+
+input[type="radio"]:checked.cruit_form_radio::after {
+    border: 0px;
+}
+
+input[type="radio"]:checked.cruit_form_radio::before {
+    content: '';
+    display: block;
+    position: absolute;
+    background: url(@/public/image/4.png) no-repeat 1px 1px #489d97;
+    background-size: 10px 10px;
+    border-radius: 2px;
+    width: 12px;
+    height: 12px;
+    left: 0px;
+    top: 8px;
+    z-index: 11;
+}
+
+.cruit_form_label {
+    width: 90px;
+    height: 30px;
+    line-height: 30px;
+    float: left;
+    color: #333;
+    font-size: 18px;
+    margin-right: 15px;
+}
+
+.cruit_form_label_right {
+    float: left;
+    // height: 30px;
+}
+
+.cruit_form_select {
+    height: 30px;
+    line-height: 30px;
+    float: left;
+    margin-right: 20px;
+    width: 140px;
+    border: solid 1px #C8CFD2;
+    border-radius: 4px;
+    overflow: hidden;
+    color: #999;
+    font-size: 14px;
+}
+
+.cruit_form_select {
+    text-indent: 5px;
+}
+
+.cruit_form_inp_search {
+    float: left;
+    height: 30px;
+    line-height: 30px;
+    color: #999;
+    font-size: 14px;
+    text-indent: 10px;
+    border: solid 1px #C8CFD2;
+    border-radius: 4px;
+    overflow: hidden;
+    width: 300px;
+    margin: 0px 20px 0px 17px;
+}
+
+.cruit_form_btn_sub {
+    height: 30px;
+    line-height: 30px;
+    color: #fff;
+    font-size: 14px;
+    background: #489d97;
+    border-radius: 4px;
+    padding: 0px 20px;
+}
+
+.cruit_form_per:nth-last-of-type(1) {
+    margin-right: 0px;
+}
+
+.color_main {
+    margin-bottom: 30px;
+    box-sizing: border-box;
+    background: #fbfbfb;
+    border: solid 1px #fbfbfb;
+    /* background:pink; */
+}
+
+.index_3 {
+    margin-top: 11px;
+}
+
+.cruit_ul_2 {
+    margin-top: 30px;
+}
+
+.cruit_li_2 {
+    width: 590px;
+    border-radius: 4px;
+    background: #fff;
+    padding: 0px 20px;
+    box-sizing: border-box;
+    margin-bottom: 20px;
+}
+
+.cruit_li_2:nth-of-type(odd) {
+    border-top: solid 5px #489d97;
+    float: left;
+}
+
+.cruit_li_2:nth-of-type(even) {
+    border-top: solid 5px #DF9A2B;
+    float: right;
+}
+
+.cruit_li_2_a {
+    display: block;
+    width: 100%;
+    padding-bottom: 20px;
+}
+
+.cruit_li_2_head_box {
+    margin-top: 26px;
+}
+
+.cruit_li_2_head {
+    float: left;
+    max-width: 49%;
+    height: 23px;
+    line-height: 23px;
+    color: #333;
+    font-size: 20px;
+    font-weight: bold;
+}
+
+.cruit_li_2_head_name {
+    max-width: 49%;
+    height: 23px;
+    line-height: 23px;
+    color: #333;
+    font-size: 16px;
+    text-align: right;
+    float: right;
+}
+
+.cruit_li_2_foot_title {
+    float: left;
+    height: 25px;
+    line-height: 25px;
+    color: #999;
+    font-size: 14px;
+    background: #F8F8F8;
+    padding: 0px 10px;
+    margin-top: 17px;
+}
+
+.cruit_li_2_foot {
+    margin-top: 20px;
+}
+
+.cruit_li_2_foot_tag {
+    float: left;
+    margin-right: 30px;
+    height: 24px;
+    line-height: 24px;
+    color: #999;
+    font-size: 16px;
+    padding-left: 34px;
+    background: no-repeat left center;
+    background-size: 24px 100%;
+}
+
+.cruit_li_2_foot_addres {
+    background-image: url(@/public/image/01.png);
+}
+
+.cruit_li_2_foot_exper {
+    background-image: url(@/public/image/02.png);
+}
+
+
+.cruit_li_2_foot_time {
+    background-image: url(@/public/image/03.png);
+}
+
+.cruit_li_2_foot_tag_in {
+    height: 24px;
+    line-height: 24px;
+    color: #999;
+    font-size: 16px;
+    float: left;
+}
+
+.cruit_li_2_foot_tag_in:nth-of-type(2) {
+    padding-left: 24px;
+    position: relative;
+}
+
+.cruit_li_2_foot_tag_in:nth-of-type(2)::after {
+    content: '';
+    display: block;
+    position: absolute;
+    width: 2px;
+    height: 2px;
+    background: #999;
+    left: 11px;
+    top: 11px;
+}
+
+.cruit_ul_3 {
+    margin-top: 30px;
+}
+
+.cruit_li_3 {
+    float: left;
+    width: 385px;
+    background: #fff;
+    border-radius: 6px;
+    margin: 0px 20px 20px 0px;
+    padding: 0px 15px;
+    box-sizing: border-box;
+}
+
+.cruit_li_3:nth-child(3n) {
+    margin: 0px;
+}
+
+// .cruit_li_3:nth-of-type(4n) {
+//     margin-right: 0px;
+// }
+
+.cruit_li_3_a {
+    display: block;
+    width: 100%;
+}
+
+.cruit_li_3_head_box {
+    margin-top: 11px;
+}
+
+.cruit_li_3_head {
+    float: left;
+    height: 26px;
+    line-height: 26px;
+    color: #333;
+    font-size: 20px;
+    max-width: 30%;
+    font-weight: bold;
+}
+
+.cruit_li_3_head_name {
+    float: right;
+    height: 26px;
+    line-height: 26px;
+    font-size: 16px;
+    max-width: 70%;
+    color: #489d97;
+}
+
+.cruit_li_3_text_box {
+    margin-top: 20px;
+    // height: 30px;
+    // overflow: hidden;
+}
+
+.cruit_li_3_text {
+    float: left;
+    height: 21px;
+    line-height: 21px;
+    color: #333;
+    font-size: 16px;
+    // padding-right: 20px;
+    position: relative;
+    max-width: 99px;
+    white-space: nowrap;
+    overflow: hidden;
+    text-overflow: ellipsis;
+}
+
+.point {
+    display: inline-block;
+    width: 8px;
+    height: 20px;
+    line-height: 20px;
+    color: #999;
+    vertical-align: middle;
+    text-align: center;
+    margin-right: 6px;
+    font-weight: 500;
+}
+
+.cruit_li_3_text:nth-last-of-type(1) {
+    padding-right: 0px;
+}
+
+.cruit_li_3_tag_box {
+    margin: 20px 0 20px;
+}
+
+.cruit_li_3_tag {
+    float: left;
+    height: 25px;
+    line-height: 25px;
+    color: #999;
+    font-size: 14px;
+    background: #F8F8F8;
+    padding: 0px 10px;
+    margin-right: 15px;
+}
+
+@media screen and (min-width:1200px) {
+    /*pc_1440*/
+    @media screen and (max-width:1440px) {
+        /*1200*/
+    }
+
+    .pc_none {
+        display: none;
+    }
+}
+
+@media screen and (max-width:599px) {}
+
+@media screen and (max-width:320px) {}
+
+//布局复制
+.layoutCopy {
+    display: flex;
+    justify-content: space-between;
+    position: relative;
+    width: 1200px;
+    margin: 0 auto;
+    margin-bottom: 15px;
+
+    .layoutCopyLeft {
+        width: 720px;
+
+        .layoutCopyLeftTop {
+            width: 720px;
+            display: flex;
+            justify-content: space-between;
+
+            .layoutCopyLeft1 {
+                width: 350px;
+            }
+
+            .layoutCopyLeft2 {
+                width: 350px;
+            }
+
+            .layoutCopyAll {
+                width: 720px;
+            }
+        }
+
+        .layoutCopyLeftBottom {
+            height: 338px;
+        }
+
+        .layoutCopyAll {
+            width: 720px;
+        }
+    }
+
+    .layoutCopyRight {
+        width: 450px;
+    }
+
+    .layoutTitleBox {
+        border-bottom: 1px solid #D9D9D9;
+        margin-bottom: 40px;
+        display: flex;
+        justify-content: space-between;
+
+        .layoutTitleBoxTabs {
+            display: flex;
+            justify-content: space-between;
+
+            div.layoutTitle {
+                margin-right: 40px;
+                border-bottom: 0;
+                color: #333;
+                cursor: pointer;
+                font-weight: bold;
+            }
+
+            div.active {
+                border-bottom: 3px solid #489d97;
+                color: #489d97;
+                cursor: pointer;
+            }
+        }
+
+        .layoutTitle {
+            font-size: 22px;
+            color: #489d97;
+            border-bottom: 3px solid #489d97;
+            height: 50px;
+            line-height: 50px;
+            font-weight: bold;
+
+            a {
+                font-size: 22px;
+                color: #489d97;
+            }
+        }
+
+        .layoutMore {
+            color: #333333;
+            font-size: 16px;
+            height: 50px;
+            line-height: 50px;
+
+            a {
+                color: #333333;
+                font-size: 16px;
+            }
+        }
+    }
+}
+
+//布局内容样式
+.layoutCopyData_style1 {
+    margin-bottom: 30px;
+
+    a:nth-child(1) {
+        color: #333333;
+        font-size: 16px;
+        display: flex;
+        justify-content: space-between;
+        align-items: center;
+
+        img {
+            width: 152px;
+            height: 103px;
+            margin-right: 10px;
+            border-radius: 8px;
+        }
+
+        div {
+            width: 181px;
+            height: 103px;
+            box-sizing: border-box;
+            border-bottom: 1px solid #D9D9D9;
+
+            span {
+                display: -webkit-box;
+                -webkit-box-orient: vertical;
+                -webkit-line-clamp: 3;
+                font-weight: bold;
+                overflow: hidden;
+                text-overflow: ellipsis;
+                word-break: break-all;
+            }
+        }
+    }
+
+    a:nth-child(1):hover {
+        color: #489d97
+    }
+
+    a:nth-child(2) {
+        margin-top: 30px;
+        display: -webkit-box;
+        -webkit-box-orient: vertical;
+        -webkit-line-clamp: 2;
+        overflow: hidden;
+        text-overflow: ellipsis;
+        word-break: break-all;
+        font-size: 16px;
+        color: #333333;
+        border-bottom: 1px solid #E6E6E6;
+
+        .title {
+            display: -webkit-box;
+            -webkit-box-orient: vertical;
+            -webkit-line-clamp: 2;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            word-break: break-all;
+            height: 45px;
+        }
+
+        p {
+            margin-top: 10px;
+            margin-bottom: 15px;
+        }
+    }
+
+    a:hover .title {
+        color: #489d97
+    }
+}
+
+.layoutCopyData_style2 {
+    a {
+        margin-top: 32px;
+        font-size: 16px;
+        color: #333333;
+        display: block;
+        border-bottom: 1px solid #E6E6E6;
+
+        .title {
+            display: -webkit-box;
+            -webkit-box-orient: vertical;
+            -webkit-line-clamp: 2;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            word-break: break-all;
+            height: 45px;
+        }
+
+        p {
+            margin-top: 10px;
+            margin-bottom: 13px;
+        }
+    }
+
+    a:nth-child(1) .title {
+        font-weight: bold;
+    }
+
+    a:hover .title {
+        color: #489d97
+    }
+}
+
+.layoutCopyData_style3 {
+    .style3link1 {
+        display: flex;
+        align-items: center;
+        justify-content: space-between;
+
+        .time {
+            width: 100px;
+            height: 100px;
+            background: #F4FFF7;
+
+            p:nth-child(1) {
+                font-size: 38px;
+                color: #489d97;
+                text-align: center;
+                border-bottom: 1px solid #489d97;
+                width: 75px;
+                margin: 0 auto;
+                margin-bottom: 5px;
+                padding-bottom: 5px;
+                padding-top: 10px;
+            }
+
+            p:nth-child(2) {
+                font-size: 15px;
+                color: #489d97;
+                text-align: center;
+            }
+        }
+
+        .title {
+            width: 590px;
+            font-size: 22px;
+            color: #333333;
+            display: -webkit-box;
+            -webkit-box-orient: vertical;
+            -webkit-line-clamp: 2;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            word-break: break-all;
+
+            &:hover {
+                color: #489d97;
+            }
+        }
+
+        .introduce {
+            width: 590px;
+            font-size: 16px;
+            color: #999999;
+            margin-top: 10px;
+            display: -webkit-box;
+            -webkit-box-orient: vertical;
+            -webkit-line-clamp: 2;
+            height: 40px;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            word-break: break-all;
+        }
+
+        margin-bottom: 20px;
+    }
+
+    .style3link2 {
+        display: flex;
+        justify-content: space-between;
+        height: 30px;
+        line-height: 30px;
+        color: #333333;
+
+        div {
+            display: flex;
+            justify-content: space-between;
+            align-items: center;
+
+            .title {
+                width: 600px;
+                // 修改这里,添加单行文本溢出省略样式
+                white-space: nowrap;
+                overflow: hidden;
+                text-overflow: ellipsis;
+                color: #333333;
+                font-size: 16px;
+
+                &:hover {
+                    color: #489d97;
+                }
+            }
+        }
+
+        b {
+            width: 6px;
+            height: 6px;
+            background: #489d97;
+            margin-right: 8px;
+        }
+
+        margin-bottom: 10px;
+    }
+
+}
+
+.layoutCopyData_style4 {
+    .layoutCopyData_pic {
+        display: flex;
+        flex-wrap: wrap;
+        justify-content: space-between;
+        position: relative;
+
+        a {
+            width: 220px;
+            height: 140px;
+            display: block;
+            position: relative;
+            z-index: 99;
+
+            img {
+                width: 220px;
+                height: 140px;
+                border-radius: 8px;
+            }
+
+            p {
+                position: absolute;
+                bottom: 10px;
+                width: 200px;
+                height: 18px;
+                font-size: 14px;
+                white-space: nowrap;
+                overflow: hidden;
+                text-overflow: ellipsis;
+                color: #fff;
+                left: 10px;
+            }
+        }
+    }
+
+    .layoutCopyData_text {
+        a {
+            border-bottom: 1px soild #E6E6E6;
+            color: #333333;
+            font-size: 16px;
+            display: flex;
+            height: 41px;
+            display: flex;
+            align-items: center;
+            justify-content: space-between;
+            border-bottom: 1px solid #E6E6E6;
+            padding-bottom: 12px;
+            margin-top: 10px;
+
+            .title {
+                white-space: nowrap;
+                overflow: hidden;
+                text-overflow: ellipsis;
+                width: 431px;
+
+                &:hover {
+                    color: #489d97;
+                }
+            }
+
+            .more {
+                width: 16px;
+                height: 16px;
+                background: #EDF7F0;
+                color: #489d97;
+                font-size: 12px;
+                text-align: center;
+                line-height: 15px;
+                border-radius: 3px;
+            }
+        }
+    }
+}
+
+.farming {
+    width: 100%;
+    height: 664px;
+
+    .inner {
+        width: 1200px;
+        margin: 0 auto;
+    }
+
+    .farmerLeft,
+    .farmerRight {
+        float: left;
+    }
+
+    .farmerLeft {
+        width: 720px;
+        height: 616px;
+        margin-right: 21px;
+
+        .farmer {
+            width: 720px;
+            height: 330px;
+
+            >h3 {
+                font-family: Source Han Sans, Source Han Sans;
+                font-weight: bold;
+                font-size: 24px;
+                color: #000000;
+                text-align: left;
+                font-style: normal;
+                text-transform: none;
+                border-bottom: 1px solid #D9D9D9;
+                height: 50px;
+                line-height: 50px;
+                display: flex;
+                justify-content: space-between;
+
+                a.active {
+                    font-size: 22px;
+                    height: 50px;
+                    line-height: 50px;
+                    display: inline-block;
+                    color: #489d97;
+                    font-weight: bold;
+                    box-sizing: border-box;
+                    width: auto;
+                    font-weight: bold;
+                    border-bottom: 3px solid #489d97;
+                }
+
+                .titleBoxTabs {
+                    a {
+                        color: #333;
+                    }
+
+                    span {
+                        a {
+                            font-size: 22px;
+                            height: 50px;
+                            line-height: 50px;
+                            display: inline-block;
+                            box-sizing: border-box;
+                        }
+
+                        margin-right: 20px;
+                    }
+
+                    .active {
+                        a {
+                            height: 50px;
+                            line-height: 50px;
+                            display: inline-block;
+                            box-sizing: border-box;
+                            margin-right: 40px;
+                            font-weight: bold;
+                        }
+
+                        a.active {
+                            color: #489d97;
+                            border-bottom: 3px solid #489d97;
+                        }
+                    }
+
+                    a.active {
+                        color: #489d97;
+                        border-bottom: 3px solid #489d97;
+                    }
+                }
+
+                span {
+                    height: 50px;
+                    line-height: 50px;
+                    display: inline-block;
+                    box-sizing: border-box;
+                }
+
+                >a {
+                    width: 65px;
+                    height: 50px;
+                    line-height: 50px;
+                    font-weight: 400;
+                    font-size: 16px;
+                    color: #333333;
+                    font-style: normal;
+                    text-transform: none;
+                    display: inline-block;
+                }
+            }
+
+            ul.mode1ul_style1 {
+                display: flex;
+                align-items: center;
+                justify-content: space-between;
+                padding-top: 30px;
+
+                li {
+                    position: relative;
+                    width: 349px;
+                    height: 236px;
+                    border-radius: 10px;
+                    box-sizing: border-box;
+                    overflow: hidden;
+
+                    img {
+                        width: 349px;
+                        height: 236px;
+                    }
+
+                    a {
+                        div {
+                            position: absolute;
+                            width: 320px;
+                            height: 48px;
+                            bottom: 10px;
+                            z-index: 10;
+                            left: 15px;
+                            color: #fff;
+                            font-size: 16px;
+                            z-index: 99;
+
+                            span {
+                                display: inline-block;
+                                background: #489d97;
+                                font-size: 14px;
+                                color: #fff;
+                                padding: 2px 6px;
+                                border-radius: 4px;
+                                margin-right: 5px;
+                            }
+
+                            p {
+                                font-size: 16px;
+                                margin-top: 5px;
+                                height: 46px;
+                            }
+
+                            p:nth-child(1) {
+                                display: -webkit-box;
+                                -webkit-box-orient: vertical;
+                                -webkit-line-clamp: 2;
+                                overflow: hidden;
+                                text-overflow: ellipsis;
+                                word-break: break-all;
+                            }
+                        }
+                    }
+                }
+            }
+
+            ul.mode1ul_style2 {
+                display: flex;
+                align-items: center;
+                justify-content: space-between;
+                flex-wrap: wrap;
+                padding-top: 20px;
+
+                li {
+                    width: 349px;
+                    height: 58px;
+                    border-radius: 10px;
+                    border-bottom: 1px solid #E6E6E6;
+                    box-sizing: border-box;
+                    margin-bottom: 22px;
+                }
+
+                p {
+                    font-size: 16px;
+                    color: #333333;
+                    margin-bottom: 4px;
+                }
+
+                p.title {
+                    width: 349px;
+                    height: 46px;
+                    display: -webkit-box;
+                    -webkit-box-orient: vertical;
+                    -webkit-line-clamp: 2;
+                    overflow: hidden;
+                    text-overflow: ellipsis;
+                    word-break: break-all;
+                }
+
+                p.title:hover {
+                    color: #489d97;
+                }
+            }
+        }
+
+        .farmerbottom {
+            width: 720px;
+            height: 280px;
+
+            img {
+                width: 498px;
+                height: 280px;
+            }
+
+            >.leftList {
+                width: 290px;
+                height: 280px;
+                background-color: #f6f6f6;
+                padding: 11px 26px 6px 20px;
+                box-sizing: border-box;
+
+                >li {
+                    width: 296px;
+                    height: 32px;
+                    color: #666666;
+                    font-size: 14px;
+                    margin-bottom: 14px;
+
+                    h4 {
+                        width: 249px;
+                        white-space: nowrap;
+                        overflow: hidden;
+                        text-overflow: ellipsis;
+                        font-family: Source Han Sans, Source Han Sans;
+                        height: 27px;
+                        line-height: 21px;
+                        font-size: 18px;
+                        color: #333333;
+                        font-weight: 400;
+
+                        em {
+                            display: inline-block;
+                            width: 8px;
+                            height: 8px;
+                            background-color: #333333;
+                            border-radius: 8px;
+                        }
+                    }
+
+                    p {
+                        width: 249px;
+                        height: 48px;
+                        // line-height: 24px;
+                        padding-left: 14px;
+                        // color: #333333;
+                    }
+
+                    a {
+                        color: #333333;
+                    }
+
+                    a:hover {
+                        color: #489d97;
+                    }
+                }
+
+                >li:hover,
+                >li:hover>a>h4 {
+                    color: #489d97;
+                }
+
+                >li:hover>a>h4>em {
+                    background-color: #489d97;
+                }
+            }
+        }
+    }
+
+    .farmerRight {
+        width: 450px;
+        height: 600px;
+
+        .rich,
+        .inquire {
+            width: 100%;
+            height: 309px;
+
+            >h3 {
+                height: 36px;
+                font-family: Source Han Sans, Source Han Sans;
+                font-weight: bold;
+                font-size: 24px;
+                color: #000000;
+                line-height: 28px;
+                text-align: left;
+                font-style: normal;
+                text-transform: none;
+                border-bottom: 1px solid #D9D9D9;
+                height: 50px;
+                line-height: 50px;
+                display: flex;
+                justify-content: space-between;
+
+                .active {
+                    font-size: 22px;
+                    height: 50px;
+                    line-height: 50px;
+                    display: inline-block;
+                    color: #489d97;
+                    border-bottom: 3px solid #489d97;
+                    box-sizing: border-box;
+                    width: auto;
+                    font-weight: bold;
+                }
+
+                span {
+                    font-size: 22px;
+                    height: 50px;
+                    line-height: 50px;
+                    display: inline-block;
+                    color: #489d97;
+                    border-bottom: 3px solid #489d97;
+                    box-sizing: border-box;
+                }
+
+                a {
+                    width: 65px;
+                    height: 50px;
+                    line-height: 50px;
+                    font-size: 16px;
+                    color: #333333;
+                    font-weight: normal;
+                }
+            }
+
+            .photo {
+                height: 104px;
+                margin-top: 23px;
+
+                >.photoL:first-child {
+                    margin-right: 10px;
+                }
+            }
+
+            .photoL {
+                display: inline-block;
+                width: 185px;
+                height: 104px;
+                border-radius: 6px;
+                position: relative;
+
+                a {
+                    width: 185px;
+                    height: 104px;
+                }
+
+                img {
+                    width: 185px;
+                    height: 104px;
+                    border-radius: 6px;
+                }
+
+                span {
+                    position: absolute;
+                    bottom: 0;
+                    left: 0;
+                    display: inline-block;
+                    padding-left: 7px;
+                    box-sizing: border-box;
+                    width: 185px;
+                    height: 22px;
+                    white-space: nowrap;
+                    overflow: hidden;
+                    text-overflow: ellipsis;
+                    background-color: rgba(0, 0, 0, 0.5);
+                    font-weight: 500px;
+                    font-size: 14px;
+                    color: #FFFFFF;
+                    line-height: 22px;
+                }
+            }
+
+            .photoList {
+                display: inline-block;
+                width: 185px;
+                height: 104px;
+                position: relative;
+
+                img {
+                    width: 185px;
+                    height: 104px;
+                }
+
+                span {
+                    position: absolute;
+                    bottom: 0;
+                    left: 0;
+                    display: inline-block;
+                    width: 185px;
+                    height: 30px;
+                    font-weight: 500;
+                    color: #FFFFFF;
+                    padding-top: 7px;
+                    padding-left: 6px;
+                    box-sizing: border-box;
+                }
+            }
+
+            // 文字部分
+            ul {
+                height: 220px;
+                margin-bottom: 10px;
+                padding-top: 10px;
+
+                li {
+                    height: 55px;
+                    padding: 10px 0 6px 0;
+                    border-bottom: 1px solid #E6E6E6;
+
+                    a {
+                        display: flex;
+                        color: #333333;
+                        font-size: 16px;
+
+                        .index {
+                            height: 48px;
+                            margin-right: 20px;
+                        }
+
+                        .title {
+                            height: 48px;
+                            display: -webkit-box;
+                            -webkit-box-orient: vertical;
+                            -webkit-line-clamp: 2;
+                            overflow: hidden;
+                            text-overflow: ellipsis;
+                            word-break: break-all;
+                        }
+                    }
+
+                    a:hover {
+                        color: #489d97;
+                    }
+                }
+
+                li:nth-child(1) .index,
+                li:nth-child(2) .index,
+                li:nth-child(3) .index {
+                    color: #489d97;
+                    font-weight: bold;
+                }
+            }
+        }
+
+        .richList {
+            margin-top: 30px;
+
+            .richListPic,
+            .richListPictow {
+                a {
+                    color: #333333;
+                    font-size: 16px;
+                    display: flex;
+                    justify-content: space-between;
+                    align-items: center;
+
+                    img {
+                        width: 152px;
+                        height: 103px;
+                        margin-right: 10px;
+                        border-radius: 8px;
+                    }
+
+                    div {
+                        width: 285px;
+                        height: 103px;
+                        padding-top: 10px;
+                        box-sizing: border-box;
+                        border-bottom: 1px solid #D9D9D9;
+
+                        span {
+                            display: -webkit-box;
+                            -webkit-box-orient: vertical;
+                            -webkit-line-clamp: 3;
+                            font-weight: bold;
+                            overflow: hidden;
+                            text-overflow: ellipsis;
+                            word-break: break-all;
+
+                            &:hover {
+                                color: #489d97;
+                            }
+                        }
+                    }
+                }
+            }
+
+            .richListPic {
+                margin-bottom: 20px;
+            }
+
+            .richListPictow {
+                margin-top: 30px;
+                margin-bottom: 20px;
+            }
+
+            .richListText {
+                margin-bottom: 17px;
+
+                a {
+                    font-size: 16px;
+                    color: #333333;
+                    border-bottom: 1px solid #E6E6E6;
+                    display: block;
+                    height: 60px;
+                    line-height: 60px;
+
+                    &:hover {
+                        color: #489d97;
+                    }
+
+                    span {
+                        white-space: nowrap;
+                        overflow: hidden;
+                        text-overflow: ellipsis;
+                        display: block;
+                    }
+                }
+            }
+        }
+
+        .rich {
+            .photoL {
+                display: inline-block;
+                width: 185px;
+                height: 104px;
+                position: relative;
+                border-radius: 6px;
+
+                img {
+                    width: 185px;
+                    height: 104px;
+                    border-radius: 6px;
+                }
+
+                span {
+                    position: absolute;
+                    bottom: 0;
+                    left: 0;
+                    display: inline-block;
+                    padding-left: 7px;
+                    box-sizing: border-box;
+                    width: 185px;
+                    height: 22px;
+                    white-space: nowrap;
+                    overflow: hidden;
+                    text-overflow: ellipsis;
+                    background-color: rgba(0, 0, 0, 0.5);
+                    font-weight: 500px;
+                    font-size: 14px;
+                    color: #FFFFFF;
+                    line-height: 22px;
+                    border-radius: 0px 0px 6px 6px;
+                }
+            }
+        }
+
+        .inquire {
+            width: 380px;
+            height: 280px;
+            margin-top: 20px;
+            background: #FFFFFF;
+            box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.1);
+            border-radius: 6px 6px 6px 6px;
+            padding: 4px 6px;
+            box-sizing: border-box;
+
+            p {
+                width: 328px;
+                height: 69px;
+                font-family: PingFang SC, PingFang SC;
+                font-weight: 500;
+                font-size: 18px;
+                color: #333333;
+                line-height: 21px;
+                text-align: left;
+                font-style: normal;
+                text-transform: none;
+                padding: 12px 20px 0 32px;
+
+            }
+
+            .radio {
+                /deep/.el-radio {
+                    --el-radio-input-border-color-hover: #489d97;
+                }
+
+                /deep/.el-radio-group {
+                    align-items: center;
+                    display: inline-flex;
+                    flex-wrap: wrap;
+                    font-size: 0;
+                    padding-left: 35px;
+                }
+
+                /deep/.el-radio.el-radio--large {
+                    height: 29px;
+                }
+
+                /deep/.el-radio.el-radio--large .el-radio__label {
+                    font-family: PingFang SC, PingFang SC;
+                    font-weight: 400;
+                    font-size: 16px;
+                    color: #333333;
+                }
+
+                /deep/.el-radio.el-radio--large .el-radio__inner {
+                    height: 16px;
+                    width: 16px;
+                }
+
+                /deep/.el-radio__input.is-checked+.el-radio__label {
+                    color: #489d97;
+                }
+
+                /deep/.el-radio__input.is-checked .el-radio__inner {
+                    background: #489d97;
+                    border-color: #489d97;
+                }
+            }
+
+            .btn {
+                width: 188px;
+                height: 32px;
+                margin: 20px auto;
+
+                button {
+                    width: 70px;
+                    height: 32px;
+                    line-height: 32px;
+                    border-radius: 6px;
+                    border: none;
+                    font-family: PingFang SC, PingFang SC;
+                    font-weight: 400;
+                    font-size: 16px;
+                    color: #999999;
+                    cursor: pointer;
+                }
+
+                .voting {
+                    background-color: #489d97;
+                    color: #fff;
+                    margin-right: 44px;
+                }
+
+
+
+
+            }
+        }
+    }
+}
+
+.el-select {
+    margin-right: 20px;
+}
+
+.el-button {
+    border: none;
+    margin-left: 20px;
+    background-color: #489d97;
+}

+ 441 - 0
assets/css/zgzpjianli.less

@@ -0,0 +1,441 @@
+* {
+      font-family: "微软雅黑", "microsoft yahei";
+}
+
+//导航条
+.breadcrumb {
+      width: 100%;
+      height: 22px;
+      margin-top: 30px;
+      margin-bottom: 20px;
+      font-family: Microsoft YaHei, Microsoft YaHei;
+      font-weight: 400;
+      font-size: 20px;
+      color: #666666;
+      line-height: 23px;
+      text-align: left;
+      font-style: normal;
+      text-transform: none;
+
+      .el-breadcrumb::v-deep {
+            display: inline-block;
+            vertical-align: -4px;
+      }
+
+      /deep/.el-breadcrumb__inner a,
+      /deep/.el-breadcrumb__inner.is-link {
+            color: #666666;
+            font-weight: 400;
+            text-decoration: none;
+            transition: var(--el-transition-color);
+      }
+
+      span {
+            font-family: Microsoft YaHei, Microsoft YaHei;
+            font-weight: 400;
+            font-size: 20px;
+            color: #666666;
+            line-height: 23px;
+            text-align: left;
+            font-style: normal;
+            text-transform: none;
+      }
+
+      span:hover {
+            color: #666666;
+      }
+
+      .location {
+            margin-right: 20px;
+            width: 100px;
+            height: 22px;
+            font-family: Microsoft YaHei, Microsoft YaHei;
+            font-weight: 400;
+            font-size: 20px;
+            color: #666666;
+            line-height: 23px;
+            text-align: left;
+            font-style: normal;
+            text-transform: none;
+      }
+}
+
+a {
+      color: #666666;
+}
+
+.jianli {
+      margin: auto;
+}
+
+ul,
+ol {
+      list-style: none;
+}
+
+a:active {
+      text-decoration: none;
+}
+
+a:hover {
+      text-decoration: none;
+}
+
+a:visited {
+      text-decoration: none;
+}
+
+a:link {
+      text-decoration: none;
+}
+
+a:focus {
+      text-decoration: none;
+}
+
+body {
+      position: relative;
+}
+
+.clearfix {
+      overflow: hidden;
+}
+
+.clearfix_2::after {
+      content: '';
+      display: block;
+      height: 0;
+      visibility: hidden;
+      clear: both;
+}
+
+.hiddenColor {
+      visibility: hidden;
+}
+
+.hand {
+      cursor: pointer;
+}
+
+.aTag_parent {
+      position: relative;
+}
+
+.aTag_parent>a,
+.aTag {
+      display: block;
+      width: 100%;
+      height: 100%;
+      position: absolute;
+      z-index: 99;
+      border: 0px;
+      top: 0px;
+      left: 0px;
+      background: rgba(0, 0, 0, 0);
+}
+
+.dot1 {
+      display: block;
+      word-break: keep-all;
+      white-space: nowrap;
+      overflow: hidden;
+      text-overflow: ellipsis;
+}
+
+.dot2 {
+      overflow: hidden;
+      display: -webkit-box;
+      -webkit-box-orient: vertical;
+      -webkit-line-clamp: 2;
+}
+
+input,
+img {
+      border: none;
+}
+
+.cover100 img {
+      display: block;
+      width: 100%;
+      height: 100%;
+      object-fit: cover;
+}
+
+.back100 {
+      background-size: 100% 100%;
+      background-repeat: no-repeat;
+}
+
+article,
+aside,
+footer,
+header,
+time,
+video,
+main,
+nav,
+h4,
+h3,
+section {
+      display: block;
+}
+
+.jianli {
+      margin: 0 auto;
+}
+
+.slow_6 {
+      -webkit-transition: all .6s;
+      -moz-transition: all .6s;
+      -ms-transition: all .6s;
+      -o-transition: all .6s;
+      transition: all .6s;
+}
+
+.jianli {
+      width: 1200px;
+}
+
+.seek_head_box {
+      border-bottom: solid 1px #D9D9D9;
+}
+
+.seek_head_left {
+      float: left;
+}
+
+.seek_head_a {
+      float: left;
+      height: 55px;
+      line-height: 55px;
+      color: #333;
+      font-weight: bold;
+      font-size: 22px;
+      border-bottom: solid 3px rgba(0, 0, 0, 0);
+      margin-right: 40px;
+}
+
+.seek_head_only {
+      float: left;
+      height: 55px;
+      line-height: 55px;
+      color: #49A769;
+      font-weight: bold;
+      font-size: 22px;
+      border-bottom: solid 3px #49A769;
+}
+
+.seek_head_right_box {
+      float: right;
+      margin-top: 19px;
+}
+
+.seek_head_right_text {
+      float: left;
+      height: 21px;
+      line-height: 21px;
+      color: #999;
+      font-size: 16px;
+      margin-left: 22px;
+}
+
+.seek_introduce_box {
+      margin-top: 29px;
+}
+
+.seek_introduce_left {
+      float: left;
+      width: 77%;
+}
+
+
+.seek_introduce_h4 {
+      height: 37px;
+      line-height: 37px;
+      color: #333;
+      font-size: 28px;
+      margin-right: 15px;
+      float: left;
+}
+
+.seek_introduce_tag {
+      float: left;
+      height: 25px;
+      line-height: 25px;
+      padding: 0px 8px 0px 36px;
+      background: url(@/public/image/06.png) no-repeat 10px center #f2f7ed;
+      background-size: 16px 16px;
+      border: solid 1px #9CD26B;
+      color: #ADCF8B;
+      font-size: 16px;
+      border-radius: 3px;
+      margin: 10px 5px 0px 0px;
+}
+
+.seek_introduce_text {
+      height: 25px;
+      line-height: 25px;
+      color: #999;
+      font-size: 16px;
+      margin-top: 10px;
+      float: left;
+}
+
+.seek_introduce_num {
+      color: #9CD26B;
+}
+
+.seek_introduce_title_box {
+      margin-top: 29px;
+}
+
+.seek_introduce_label {
+      margin-right: 11px;
+      line-height: 21px;
+      color: #333;
+      font-size: 16px;
+      font-weight: bold;
+}
+
+.seek_introduce_title {
+      margin-right: 40px;
+      line-height: 21px;
+      color: #333;
+      font-size: 16px;
+      font-weight: bold;
+}
+
+.seek_introduce_foot {
+      margin-top: 32px;
+}
+
+.seek_introduce_foot_text {
+      height: 16px;
+      line-height: 16px;
+      float: left;
+      color: #999;
+      font-size: 16px;
+      padding-right: 10px;
+      margin-right: 10px;
+      border-right: solid 1px #999;
+}
+
+.seek_introduce_foot_text:nth-last-of-type(1) {
+      border: 0px;
+}
+
+.index_1_left {
+      float: left;
+      width: 70%;
+}
+
+.index_1_right {
+      float: right;
+      width: 28%;
+}
+
+.index_1_right_img {
+      float: right;
+      width: 130px;
+      height: 130px;
+      margin-top: 28px;
+      opacity: .6;
+}
+
+.index_2 {
+      margin-top: 56px;
+}
+
+.index_3 {
+      margin-top: 16px;
+}
+
+.index_4 {
+      margin-top: 10px;
+}
+
+.index_5 {
+      margin-top: 10px;
+}
+
+.index_5 .seek_in {
+      margin-top: 33px;
+}
+
+.index_6 {
+      margin-top: 10px;
+}
+
+.index_6 .seek_in {
+      margin-top: 33px;
+}
+
+.seek_article {
+      margin-top: 33px;
+}
+
+
+
+.seek_in_head {
+      margin: 31px 0px 10px;
+}
+
+.seek_in_head_text {
+      float: left;
+      height: 35px;
+      line-height: 35px;
+      color: #333;
+      font-size: 18px;
+      margin-right: 40px;
+}
+
+
+.seek_in_li {
+      display: flex;
+      margin-bottom: 10px;
+}
+
+.seek_in_label {
+      height: 35px;
+      line-height: 35px;
+      color: #333;
+      font-size: 18px;
+      word-break: keep-all;
+      white-space: nowrap;
+}
+
+.seek_in_li_text {
+      height: 35px;
+      line-height: 35px;
+      color: #333;
+      font-size: 18px;
+}
+
+.seek_in_li:nth-last-of-type(1) {
+      margin-bottom: 0px;
+}
+
+.seek_article_2 {
+      color: #333;
+      font-size: 18px;
+}
+
+.seek_article{
+      color: #333;
+      font-size: 18px;
+}
+
+@media screen and (min-width:1200px) {
+      /*pc_1440*/
+      @media screen and (max-width:1440px) {
+            /*1200*/
+      }
+
+      .pc_none {
+            display: none;
+      }
+}
+
+@media screen and (max-width:599px) {}
+
+@media screen and (max-width:320px) {}

+ 1002 - 0
assets/css/zgzplist.less

@@ -0,0 +1,1002 @@
+@charset "utf-8";
+
+* {
+    font-family: "微软雅黑", "microsoft yahei";
+}
+
+//二级栏目
+.sannongzhichuang {
+    margin: 30px 0 40px;
+
+    .inner {
+        width: 1200px;
+        height: 67px;
+        position: relative;
+    }
+
+    h2 {
+        display: inline-block;
+        //background-image: url("@/@/public/image/bg1.png");
+        background: #489d97;
+        width: 156px;
+        height: 43px;
+        padding: 14px 31px 10px 25px;
+        font-family: STXingkai, STXingkai;
+        font-weight: 400;
+        font-size: 39px;
+        color: #FFFFFF;
+        line-height: 46px;
+        text-align: center;
+        font-style: normal;
+        text-transform: none;
+        -webkit-text-stroke: 0.3px #3C6C47;
+        position: absolute;
+        top: 0;
+        left: 0;
+        z-index: 99;
+
+        em {
+            position: absolute;
+            top: -16px;
+            right: -12px;
+            color: #489d97;
+            display: inline-block;
+            width: 13px;
+            height: 13px;
+        }
+
+        a {
+            font-family: STXingkai, STXingkai;
+            font-weight: 400;
+            font-size: 39px;
+            color: #FFFFFF;
+            line-height: 46px;
+            text-align: center;
+            -webkit-text-stroke: 0.3px #3C6C47;
+        }
+    }
+
+    p.introduction {
+        display: inline-block;
+        width: 1003px;
+        height: 56px;
+        line-height: 56px;
+        background-color: #fafafa;
+        position: absolute;
+        bottom: 0;
+        right: 0;
+        display: flex;
+
+        >strong:first-child {
+            margin-left: 40px;
+            display: inline-block;
+            vertical-align: middle;
+            width: 32px;
+            height: 36px;
+            padding: 3px 7px;
+            border: 0.5px solid #489d97;
+            font-family: Microsoft YaHei, Microsoft YaHei;
+            font-weight: bold;
+            font-size: 14px;
+            color: #489d97;
+            line-height: 18px;
+            text-align: center;
+            font-style: normal;
+            text-transform: none;
+
+        }
+
+        div {
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+
+            >span {
+                width: 64px;
+                height: 21px;
+                font-family: Microsoft YaHei, Microsoft YaHei;
+                font-weight: 400;
+                font-size: 16px;
+                color: #000000;
+                line-height: 21px;
+                text-align: left;
+                font-style: normal;
+                text-transform: none;
+                margin-top: 17px;
+                padding: 0 24px;
+                border-right: 1px solid #ccc;
+
+                a {
+                    color: #000;
+                }
+            }
+
+            >span:hover a {
+                color: #489d97;
+            }
+
+            >span:last-child {
+                border: none;
+            }
+        }
+
+    }
+}
+
+.pagination {
+    display: flex;
+    justify-content: center;
+    width: 1200px;
+    height: 34px;
+    margin: 0;
+    margin-bottom: 50px;
+    margin-top: 10px;
+
+    // 鼠标移入后字体颜色
+    .el-pagination::v-deep :hover {
+        color: #489d97;
+    }
+
+    .el-pagination.is-background::v-deep .btn-next,
+    .el-pagination.is-background::v-deep .btn-prev {
+        width: 70px;
+        height: 34px;
+        margin: 0px 10px;
+        border-radius: 4px;
+    }
+
+    .el-pagination.is-background::v-deep .el-pager li {
+        margin: 0px 10px;
+        width: 38px;
+        height: 34px;
+        border-radius: 4px;
+    }
+
+    .el-pagination.is-background::v-deep .btn-next.is-active,
+    .el-pagination.is-background::v-deep .btn-prev.is-active,
+    .el-pagination.is-background::v-deep .el-pager li.is-active {
+        background-color: #489d97;
+        color: #fff;
+    }
+}
+
+ul,
+ol {
+    list-style: none;
+}
+
+a:active {
+    text-decoration: none;
+}
+
+a:hover {
+    text-decoration: none;
+}
+
+a:visited {
+    text-decoration: none;
+}
+
+a:link {
+    text-decoration: none;
+}
+
+a:focus {
+    text-decoration: none;
+}
+
+body {
+    position: relative;
+}
+
+.clearfix {
+    overflow: hidden;
+}
+
+.clearfix_2::after {
+    content: '';
+    display: block;
+    height: 0;
+    visibility: hidden;
+    clear: both;
+}
+
+.hiddenColor {
+    visibility: hidden;
+}
+
+.hand {
+    cursor: pointer;
+}
+
+.aTag_parent {
+    position: relative;
+}
+
+.aTag_parent>a,
+.aTag {
+    display: block;
+    width: 100%;
+    height: 100%;
+    position: absolute;
+    z-index: 99;
+    border: 0px;
+    top: 0px;
+    left: 0px;
+    background: rgba(0, 0, 0, 0);
+}
+
+.dot1 {
+    display: block;
+    word-break: keep-all;
+    white-space: nowrap;
+    overflow: hidden;
+    text-overflow: ellipsis;
+}
+
+.dot2 {
+    overflow: hidden;
+    display: -webkit-box;
+    -webkit-box-orient: vertical;
+    -webkit-line-clamp: 2;
+}
+
+input,
+img {
+    border: none;
+}
+
+.cover100 img {
+    display: block;
+    width: 100%;
+    height: 100%;
+    object-fit: cover;
+}
+
+.back100 {
+    background-size: 100% 100%;
+    background-repeat: no-repeat;
+}
+
+article,
+aside,
+footer,
+header,
+time,
+video,
+main,
+nav,
+h4,
+h3,
+section {
+    display: block;
+}
+
+.index_main {
+    margin: 0 auto;
+    margin-top: 20px;
+}
+
+.slow_6 {
+    -webkit-transition: all .6s;
+    -moz-transition: all .6s;
+    -ms-transition: all .6s;
+    -o-transition: all .6s;
+    transition: all .6s;
+}
+
+.index_main {
+    width: 1200px;
+}
+
+.recruit_head_box {
+    border-bottom: solid 1px #D9D9D9;
+}
+
+.cruit_head_left {
+    float: left;
+}
+
+.cruit_head_a {
+    float: left;
+    height: 55px;
+    line-height: 55px;
+    color: #333;
+    font-weight: bold;
+    font-size: 22px;
+    border-bottom: solid 3px rgba(0, 0, 0, 0);
+    margin-right: 40px;
+}
+
+.cruit_head_only {
+    float: left;
+    height: 55px;
+    line-height: 55px;
+    color: #489d97;
+    font-weight: bold;
+    font-size: 22px;
+    border-bottom: solid 3px #489d97;
+}
+
+.cruit_head_a_more {
+    float: right;
+    height: 19px;
+    line-height: 19px;
+    margin-top: 18px;
+    color: #333;
+    font-size: 16px;
+}
+
+.cruit_head_right {
+    float: right;
+    margin-top: 11px;
+}
+
+.cruit_head_right_a {
+    float: left;
+    height: 31px;
+    line-height: 31px;
+    color: #fff;
+    font-size: 16px;
+    border-radius: 4px;
+    overflow: hidden;
+    padding: 0px 10px 0px 33px;
+}
+
+.cruit_head_right_a:nth-of-type(1) {
+    background: url(@/public/image/1.png) no-repeat 10px 7px #489d97;
+    background-size: 18px 18px;
+}
+
+.cruit_head_right_a:nth-of-type(2) {
+    background: url(@/public/image/2.png) no-repeat 10px 7px #49d8e2;
+    background-size: 18px 18px;
+    margin-left: 17px;
+}
+
+.cruit_ul_1 {
+    border-bottom: solid 1px #D9D9D9;
+    padding: 30px 0px 16px;
+}
+
+.cruit_ul_1_a {
+    float: left;
+    height: 24px;
+    line-height: 24px;
+    color: #333;
+    font-size: 18px;
+    margin: 0px 25px 14px 5px;
+}
+
+.cruit_ul_1_a:hover {
+    color: #489d97;
+}
+
+.cruit_ul_1_a_only {
+    color: #489d97;
+}
+
+.cruit_form {
+    display: block;
+    margin-top: 28px;
+}
+
+.cruit_form_tip {
+    line-height: 30px;
+    margin-bottom: 24px;
+}
+
+.cruit_form_per {
+    height: 30px;
+    line-height: 30px;
+    float: left;
+    margin-right: 150px;
+}
+
+.cruit_form_label_radio_box {
+    height: 30px;
+    line-height: 30px;
+    float: left;
+    color: #999;
+    font-size: 18px;
+    margin-right: 50px;
+    padding-left: 22px;
+    position: relative;
+}
+
+.cruit_form_radio {
+    float: left;
+    width: 0px;
+    height: 0px;
+}
+
+.cruit_form_radio::after {
+    content: '';
+    display: block;
+    position: absolute;
+    border: solid 1px #C8CFD2;
+    border-radius: 2px;
+    width: 12px;
+    height: 12px;
+    left: 0px;
+    top: 8px;
+    z-index: 11;
+}
+
+input[type="radio"]:checked.cruit_form_radio::after {
+    border: 0px;
+}
+
+input[type="radio"]:checked.cruit_form_radio::before {
+    content: '';
+    display: block;
+    position: absolute;
+    background: url(@/public/img/4.png) no-repeat 1px 1px #489d97;
+    background-size: 10px 10px;
+    border-radius: 2px;
+    width: 12px;
+    height: 12px;
+    left: 0px;
+    top: 8px;
+    z-index: 11;
+}
+
+.cruit_form_label_radio_box:has(input[type="radio"]:checked.cruit_form_radio) {
+    color: #333333FF
+}
+
+.cruit_form_label {
+    height: 30px;
+    line-height: 30px;
+    float: left;
+    color: #333;
+    font-size: 18px;
+    margin-right: 15px;
+}
+
+.cruit_form_label_right {
+    float: left;
+    height: 30px;
+}
+
+.cruit_form_select {
+    height: 30px;
+    line-height: 30px;
+    float: left;
+    margin-right: 20px;
+    width: 140px;
+    border: solid 1px #C8CFD2;
+    border-radius: 4px;
+    overflow: hidden;
+    color: #999;
+    font-size: 14px;
+}
+
+.cruit_form_select {
+    text-indent: 5px;
+}
+
+.cruit_form_inp_search {
+    float: left;
+    height: 30px;
+    line-height: 30px;
+    color: #999;
+    font-size: 14px;
+    text-indent: 10px;
+    border: solid 1px #C8CFD2;
+    border-radius: 4px;
+    overflow: hidden;
+    width: 300px;
+    margin: 0px 20px 0px 17px;
+}
+
+.cruit_form_btn_sub {
+    height: 30px;
+    line-height: 30px;
+    color: #fff;
+    font-size: 14px;
+    background: #489d97;
+    border-radius: 4px;
+    padding: 0px 20px;
+}
+
+.cruit_form_per:nth-last-of-type(1) {
+    margin-right: 0px;
+}
+
+.color_main {
+    // margin-bottom: 333px;
+    box-sizing: border-box;
+    background: #fbfbfb;
+    border: solid 1px #fbfbfb;
+    //   background: pink;
+}
+
+.index_3 {
+    margin-top: 11px;
+}
+
+.cruit_ul_2 {
+    margin-top: 30px;
+}
+
+.cruit_li_2 {
+    width: 590px;
+    border-radius: 4px;
+    background: #fff;
+    position: relative;
+    padding: 0px 20px;
+    box-sizing: border-box;
+    margin-bottom: 20px;
+}
+
+.cruit_li_2:nth-of-type(odd) {
+    border-top: solid 5px #489d97;
+    float: left;
+}
+
+.cruit_li_2:nth-of-type(even) {
+    border-top: solid 5px #DF9A2B;
+    float: right;
+}
+
+.cruit_li_2_a {
+    display: block;
+    width: 100%;
+    padding-bottom: 20px;
+    position: relative;
+    z-index: 2;
+}
+
+.cruit_li_2_head_box {
+    margin-top: 26px;
+}
+
+.cruit_li_2_head {
+    float: left;
+    max-width: 44%;
+    margin-left: 27px;
+    height: 23px;
+    line-height: 23px;
+    color: #333;
+    font-size: 20px;
+    font-weight: bold;
+}
+
+.cruit_li_2_head_name {
+    max-width: 49%;
+    height: 23px;
+    line-height: 23px;
+    color: #333;
+    font-size: 16px;
+    text-align: right;
+    float: right;
+    margin-right: 20px;
+}
+
+.cruit_li_2_foot_title_box {}
+
+.cruit_li_2_foot_title {
+    float: left;
+    height: 25px;
+    line-height: 25px;
+    color: #999;
+    font-size: 14px;
+    background: #F8F8F8;
+    padding: 0px 10px;
+    margin: 17px 0px 0px 26px;
+}
+
+.cruit_li_2_foot {
+    margin-top: 20px;
+    margin-left: 20px;
+}
+
+.cruit_li_2_foot_tag {
+    float: left;
+    margin-right: 30px;
+    height: 24px;
+    line-height: 24px;
+    color: #999;
+    font-size: 16px;
+    padding-left: 34px;
+    background: no-repeat left center;
+    background-size: 24px 100%;
+}
+
+.cruit_li_2_foot_addres {
+    background-image: url(@/public/image/01.png);
+}
+
+.cruit_li_2_foot_exper {
+    background-image: url(@/public/image/02.png)
+}
+
+.cruit_li_2_foot_educat {}
+
+.cruit_li_2_foot_time {
+    background-image: url(@/public/image/03.png);
+}
+
+.cruit_li_2_foot_tag_in {
+    height: 24px;
+    line-height: 24px;
+    color: #999;
+    font-size: 16px;
+    float: left;
+}
+
+.cruit_li_2_foot_tag_in:nth-of-type(2) {
+    padding-left: 24px;
+    position: relative;
+}
+
+.cruit_li_2_foot_tag_in:nth-of-type(2)::after {
+    content: '';
+    display: block;
+    position: absolute;
+    width: 2px;
+    height: 2px;
+    background: #999;
+    left: 11px;
+    top: 11px;
+}
+
+/* 三农资讯网-招工招聘-社会招聘                   */
+.society_form_tip {
+    line-height: 30px;
+    display: flex;
+    margin-bottom: 4px;
+}
+
+.society_form_label {
+    height: 30px;
+    line-height: 30px;
+    color: #333;
+    font-size: 18px;
+    margin-right: 15px;
+    word-break: keep-all;
+    white-space: nowrap;
+}
+
+.society_form_right_a_box {}
+
+.society_form_right_a {
+    float: left;
+    height: 30px;
+    line-height: 30px;
+    color: #333;
+    font-size: 18px;
+    margin: 0px 30px 14px 0px;
+}
+
+.society_form_right_a_only {
+    color: #489d97;
+}
+
+.society_form_right_a:hover {
+    color: #489d97;
+}
+
+.society_form_right_btn {
+    float: left;
+    height: 30px;
+    line-height: 30px;
+    color: #333;
+    font-size: 18px;
+    margin: 0px 30px 20px 0px;
+    padding-right: 24px;
+    background: url(@/public/img/8.png) no-repeat right center;
+    background-size: 20px 18px;
+}
+
+.society_form_right_btn_up {
+    background-image: url(@/public/img/9.png);
+}
+
+.society_head_right {
+    float: right;
+    height: 31px;
+    line-height: 31px;
+    margin-top: 13px;
+}
+
+.society_head_checkbox_box {
+    width: 18px;
+    height: 18px;
+    float: left;
+    margin: 6px 10px 0px 0px;
+    position: relative;
+}
+
+.society_head_checkbox_box_gray {
+    border: solid 1px #C8CFD2;
+}
+
+.society_head_checkbox {
+    width: 0px;
+    height: 0px;
+}
+
+.society_head_checkbox::after {
+    content: '';
+    display: block;
+    position: absolute;
+    border: solid 1px #C8CFD2;
+    border-radius: 2px;
+    width: 100%;
+    height: 100%;
+    left: 0px;
+    top: 0px;
+    z-index: 11;
+}
+
+input[type="checkbox"]:checked.society_head_checkbox::after {
+    content: '';
+    display: block;
+    position: absolute;
+    border: 0px;
+    background: url(@/public/img/4.png) no-repeat center center #489d97;
+    background-size: 12px 12px;
+    border-radius: 2px;
+    width: 100%;
+    height: 100%;
+    left: 0px;
+    top: 0px;
+    z-index: 11;
+}
+
+.society_head_checkbox_box_gray input[type="checkbox"]:checked.society_head_checkbox::after {
+    content: '';
+    display: block;
+    position: absolute;
+    border: 0px;
+    background: url(@/public/img/14.png) no-repeat center center;
+    background-size: 12px 12px;
+    border-radius: 2px;
+    width: 100%;
+    height: 100%;
+    left: 0px;
+    top: 0px;
+    z-index: 11;
+}
+
+.society_head_right_all_box {
+    float: left;
+    color: #333;
+    font-size: 14px;
+    height: 100%;
+    line-height: 31px;
+}
+
+.society_head_right_a {
+    float: left;
+    height: 31px;
+    line-height: 31px;
+    color: #fff;
+    font-size: 16px;
+    border-radius: 4px;
+    overflow: hidden;
+    padding: 0px 10px;
+    background: #489d97;
+    margin-left: 20px;
+}
+
+.society_head_right_a_gray {
+    background: #ccc;
+}
+
+.society_inp_checkbox_box_li_1 {
+    width: 18px;
+    height: 18px;
+    z-index: 11;
+    position: absolute;
+    left: 15px;
+    top: 28px;
+}
+
+.society_inp_checkbox_box_li_1_btn {
+    width: 0px;
+    height: 0px;
+}
+
+.society_inp_checkbox_box_li_1_btn::after {
+    content: '';
+    display: block;
+    position: absolute;
+    border: solid 1px #C8CFD2;
+    border-radius: 2px;
+    width: 100%;
+    height: 100%;
+    left: 0px;
+    top: 0px;
+    z-index: 11;
+}
+
+input[type="checkbox"]:checked.society_inp_checkbox_box_li_1_btn::after {
+    content: '';
+    display: block;
+    position: absolute;
+    border: 0px;
+    background: url(@/public/img/4.png) no-repeat center center #489d97;
+    background-size: 12px 12px;
+    border-radius: 2px;
+    width: 100%;
+    height: 100%;
+    left: 0px;
+    top: 0px;
+    z-index: 11;
+}
+
+.society_ul_3 {
+    margin-top: 30px;
+}
+
+.society_li_3 {
+    float: left;
+    width: 385px;
+    background: #fff;
+    border-radius: 6px;
+    position: relative;
+    margin: 0px 20px 20px 0px;
+    padding: 0px 15px;
+    box-sizing: border-box;
+}
+
+.society_li_3:nth-of-type(3n) {
+    margin-right: 0px;
+}
+
+.society_li_3_a {
+    display: block;
+    width: 100%;
+    position: relative;
+    z-index: 2;
+}
+
+.society_li_3_head_box {
+    margin-top: 11px;
+}
+
+.society_li_3_head {
+    float: left;
+    height: 26px;
+    line-height: 26px;
+    color: #333;
+    font-size: 20px;
+    max-width: 30%;
+    font-weight: bold;
+    // margin-left: 34px;
+}
+
+.society_li_3_head_name {
+    float: right;
+    height: 26px;
+    line-height: 26px;
+    font-size: 16px;
+    max-width: 70%;
+    color: #489d97;
+}
+
+.society_li_3_text_box {
+    margin-top: 20px;
+}
+
+.society_li_3_text {
+    max-width: 100px;
+    white-space: nowrap;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    float: left;
+    height: 21px;
+    line-height: 21px;
+    color: #333;
+    font-size: 16px;
+    // padding-right: 20px;
+    position: relative;
+}
+
+.point {
+    display: inline-block;
+    width: 8px;
+    height: 20px;
+    line-height: 20px;
+    color: #999;
+    vertical-align: middle;
+    text-align: center;
+    margin-right: 6px;
+    font-weight: 500;
+}
+
+.society_li_3_text:nth-last-of-type(1) {
+    padding-right: 0px;
+}
+
+.society_li_3_tag_box {
+    margin: 20px 0 20px;
+}
+
+.society_li_3_tag {
+    float: left;
+    height: 25px;
+    line-height: 25px;
+    color: #999;
+    font-size: 14px;
+    background: #F8F8F8;
+    padding: 0px 10px;
+    margin-right: 15px;
+}
+
+.society_inp_checkbox_box_li_3 {
+    width: 18px;
+    height: 18px;
+    z-index: 11;
+    position: absolute;
+    left: 15px;
+    top: 16px;
+}
+
+.society_inp_checkbox_box_li_3_btn {
+    width: 0px;
+    height: 0px;
+}
+
+.society_inp_checkbox_box_li_3_btn::after {
+    content: '';
+    display: block;
+    position: absolute;
+    border: solid 1px #C8CFD2;
+    border-radius: 2px;
+    width: 100%;
+    height: 100%;
+    left: 0px;
+    top: 0px;
+    z-index: 11;
+}
+
+input[type="checkbox"]:checked.society_inp_checkbox_box_li_3_btn::after {
+    content: '';
+    display: block;
+    position: absolute;
+    border: 0px;
+    background: url(@/public/img/4.png) no-repeat center center #489d97;
+    background-size: 12px 12px;
+    border-radius: 2px;
+    width: 100%;
+    height: 100%;
+    left: 0px;
+    top: 0px;
+    z-index: 11;
+}
+
+.cruit_alert_box {
+    position: fixed;
+    height: 30px;
+    line-height: 30px;
+    color: #fff;
+    font-size: 14px;
+    text-align: center;
+    background: #666666FF;
+    border-radius: 4px;
+    left: 50%;
+    top: 33%;
+    z-index: 111;
+    width: auto;
+    padding: 0px 15px;
+    margin-left: -44px;
+}
+
+@media screen and (min-width:1200px) {
+    /*pc_1440*/
+    @media screen and (max-width:1440px) {
+        /*1200*/
+    }
+
+    .pc_none {
+        display: none;
+    }
+}
+
+@media screen and (max-width:599px) {}
+
+@media screen and (max-width:320px) {}

+ 1202 - 0
assets/css/zgzpsearch.less

@@ -0,0 +1,1202 @@
+@charset "utf-8";
+
+* {
+    font-family: "微软雅黑", "microsoft yahei";
+}
+
+//二级栏目
+.sannongzhichuang {
+    margin: 30px 0 40px;
+
+    .inner {
+        width: 1200px;
+        height: 67px;
+        position: relative;
+    }
+
+    h2 {
+        display: inline-block;
+        //background-image: url("@/@/public/image/bg1.png");
+        background: #489d97;
+        width: 156px;
+        height: 43px;
+        padding: 14px 31px 10px 25px;
+        font-family: STXingkai, STXingkai;
+        font-weight: 400;
+        font-size: 39px;
+        color: #FFFFFF;
+        line-height: 46px;
+        text-align: center;
+        font-style: normal;
+        text-transform: none;
+        -webkit-text-stroke: 0.3px #3C6C47;
+        position: absolute;
+        top: 0;
+        left: 0;
+        z-index: 99;
+
+        em {
+            position: absolute;
+            top: -16px;
+            right: -12px;
+            color: #185410;
+            display: inline-block;
+            width: 13px;
+            height: 13px;
+        }
+
+        a {
+            font-family: STXingkai, STXingkai;
+            font-weight: 400;
+            font-size: 39px;
+            color: #FFFFFF;
+            line-height: 46px;
+            text-align: center;
+            -webkit-text-stroke: 0.3px #3C6C47;
+        }
+    }
+
+    p.introduction {
+        display: inline-block;
+        width: 1003px;
+        height: 56px;
+        line-height: 56px;
+        background-color: #fafafa;
+        position: absolute;
+        bottom: 0;
+        right: 0;
+        display: flex;
+
+        >strong:first-child {
+            margin-left: 40px;
+            display: inline-block;
+            vertical-align: middle;
+            width: 32px;
+            height: 36px;
+            padding: 3px 7px;
+            border: 0.5px solid #129502;
+            font-family: Microsoft YaHei, Microsoft YaHei;
+            font-weight: bold;
+            font-size: 14px;
+            color: #489d97;
+            line-height: 18px;
+            text-align: center;
+            font-style: normal;
+            text-transform: none;
+
+        }
+
+        div {
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+
+            >span {
+                width: 64px;
+                height: 21px;
+                font-family: Microsoft YaHei, Microsoft YaHei;
+                font-weight: 400;
+                font-size: 16px;
+                color: #000000;
+                line-height: 21px;
+                text-align: left;
+                font-style: normal;
+                text-transform: none;
+                margin-top: 17px;
+                padding: 0 24px;
+                border-right: 1px solid #ccc;
+
+                a {
+                    color: #000;
+                }
+            }
+
+            >span:hover a {
+                color: #489d97;
+            }
+
+            >span:last-child {
+                border: none;
+            }
+        }
+
+    }
+}
+
+.pagination {
+    display: flex;
+    justify-content: center;
+    width: 1200px;
+    height: 34px;
+    margin: 0;
+    margin-bottom: 50px;
+    margin-top: 20px;
+
+    // 鼠标移入后字体颜色
+    .el-pagination::v-deep :hover {
+        color: #489d97;
+    }
+
+    .el-pagination.is-background::v-deep .btn-next,
+    .el-pagination.is-background::v-deep .btn-prev {
+        width: 70px;
+        height: 34px;
+        margin: 0px 10px;
+        border-radius: 4px;
+    }
+
+    .el-pagination.is-background::v-deep .el-pager li {
+        margin: 0px 10px;
+        width: 38px;
+        height: 34px;
+        border-radius: 4px;
+    }
+
+    .el-pagination.is-background::v-deep .btn-next.is-active,
+    .el-pagination.is-background::v-deep .btn-prev.is-active,
+    .el-pagination.is-background::v-deep .el-pager li.is-active {
+        background-color: #489d97;
+        color: #fff;
+    }
+}
+
+ul,
+ol {
+    list-style: none;
+}
+
+a:active {
+    text-decoration: none;
+}
+
+a:hover {
+    text-decoration: none;
+}
+
+a:visited {
+    text-decoration: none;
+}
+
+a:link {
+    text-decoration: none;
+}
+
+a:focus {
+    text-decoration: none;
+}
+
+body {
+    position: relative;
+}
+
+.clearfix {
+    overflow: hidden;
+}
+
+.clearfix_2::after {
+    content: '';
+    display: block;
+    height: 0;
+    visibility: hidden;
+    clear: both;
+}
+
+.hiddenColor {
+    visibility: hidden;
+}
+
+.hand {
+    cursor: pointer;
+}
+
+.aTag_parent {
+    position: relative;
+}
+
+.aTag_parent>a,
+.aTag {
+    display: block;
+    width: 100%;
+    height: 100%;
+    position: absolute;
+    z-index: 99;
+    border: 0px;
+    top: 0px;
+    left: 0px;
+    background: rgba(0, 0, 0, 0);
+}
+
+.dot1 {
+    display: block;
+    word-break: keep-all;
+    white-space: nowrap;
+    overflow: hidden;
+    text-overflow: ellipsis;
+}
+
+.dot2 {
+    overflow: hidden;
+    display: -webkit-box;
+    -webkit-box-orient: vertical;
+    -webkit-line-clamp: 2;
+}
+
+input,
+img {
+    border: none;
+}
+
+.cover100 img {
+    display: block;
+    width: 100%;
+    height: 100%;
+    object-fit: cover;
+}
+
+.back100 {
+    background-size: 100% 100%;
+    background-repeat: no-repeat;
+}
+
+article,
+aside,
+footer,
+header,
+time,
+video,
+main,
+nav,
+h4,
+h3,
+section {
+    display: block;
+}
+
+.index_main {
+    margin: 0 auto;
+    margin-top: 20px;
+}
+
+.slow_6 {
+    -webkit-transition: all .6s;
+    -moz-transition: all .6s;
+    -ms-transition: all .6s;
+    -o-transition: all .6s;
+    transition: all .6s;
+}
+
+.index_main {
+    width: 1200px;
+}
+
+.recruit_head_box {
+    border-bottom: solid 1px #D9D9D9;
+}
+
+.cruit_head_left {
+    float: left;
+}
+
+.cruit_head_a {
+    float: left;
+    height: 55px;
+    line-height: 55px;
+    color: #333;
+    font-weight: bold;
+    font-size: 22px;
+    border-bottom: solid 3px rgba(0, 0, 0, 0);
+    margin-right: 40px;
+}
+
+.cruit_head_only {
+    float: left;
+    height: 55px;
+    line-height: 55px;
+    color: #489d97;
+    font-weight: bold;
+    font-size: 22px;
+    border-bottom: solid 3px #489d97;
+}
+
+.cruit_head_a_more {
+    float: right;
+    height: 19px;
+    line-height: 19px;
+    margin-top: 18px;
+    color: #333;
+    font-size: 16px;
+}
+
+.cruit_head_right {
+    float: right;
+    margin-top: 11px;
+}
+
+.cruit_head_right_a {
+    cursor: pointer;
+    float: left;
+    height: 31px;
+    line-height: 31px;
+    color: #fff;
+    font-size: 16px;
+    border-radius: 4px;
+    overflow: hidden;
+    padding: 0px 10px 0px 33px;
+}
+
+.cruit_head_right_a:nth-of-type(1) {
+    background: url(@/public/image/1.png) no-repeat 10px 7px #489d97;
+    background-size: 18px 18px;
+}
+
+.cruit_head_right_a:nth-of-type(2) {
+    background: url(@/public/image/2.png) no-repeat 10px 7px #9CD26B;
+    background-size: 18px 18px;
+    margin-left: 17px;
+}
+
+.cruit_ul_1 {
+    border-bottom: solid 1px #D9D9D9;
+    padding: 30px 0px 16px;
+}
+
+.cruit_ul_1_a {
+    float: left;
+    height: 24px;
+    line-height: 24px;
+    color: #333;
+    font-size: 18px;
+    margin: 0px 25px 14px 5px;
+}
+
+.cruit_ul_1_a:hover {
+    color: #489d97;
+}
+
+.cruit_ul_1_a_only {
+    color: #489d97;
+}
+
+.cruit_form {
+    display: block;
+    margin-top: 28px;
+}
+
+.cruit_form_tip {
+    line-height: 30px;
+    margin-bottom: 24px;
+}
+
+.cruit_form_per {
+    // height: 30px;
+    // line-height: 30px;
+    float: left;
+    margin-right: 150px;
+}
+
+.cruit_form_label_radio_box {
+    height: 30px;
+    line-height: 30px;
+    float: left;
+    color: #999;
+    font-size: 18px;
+    margin-right: 50px;
+    padding-left: 22px;
+    position: relative;
+}
+
+.cruit_form_radio {
+    float: left;
+    width: 0px;
+    height: 0px;
+}
+
+.cruit_form_radio::after {
+    content: '';
+    display: block;
+    position: absolute;
+    border: solid 1px #C8CFD2;
+    border-radius: 2px;
+    width: 12px;
+    height: 12px;
+    left: 0px;
+    top: 8px;
+    z-index: 11;
+}
+
+input[type="radio"]:checked.cruit_form_radio::after {
+    border: 0px;
+}
+
+input[type="radio"]:checked.cruit_form_radio::before {
+    content: '';
+    display: block;
+    position: absolute;
+    background: url(@/public/img/4.png) no-repeat 1px 1px #489d97;
+    background-size: 10px 10px;
+    border-radius: 2px;
+    width: 12px;
+    height: 12px;
+    left: 0px;
+    top: 8px;
+    z-index: 11;
+}
+
+.cruit_form_label_radio_box:has(input[type="radio"]:checked.cruit_form_radio) {
+    color: #333333FF
+}
+
+.cruit_form_label {
+    width: 90px;
+    float: left;
+    color: #333;
+    font-size: 18px;
+    margin-right: 15px;
+}
+
+.cruit_form_label_right {
+    float: left;
+}
+
+.cruit_form_select {
+    float: left;
+    margin-right: 20px;
+    width: 140px;
+    border: solid 1px #C8CFD2;
+    border-radius: 4px;
+    overflow: hidden;
+    color: #999;
+    font-size: 14px;
+}
+
+.cruit_form_select {
+    text-indent: 5px;
+}
+
+.cruit_form_inp_search {
+    float: left;
+    height: 30px;
+    line-height: 30px;
+    color: #999;
+    font-size: 14px;
+    text-indent: 10px;
+    border: solid 1px #C8CFD2;
+    border-radius: 4px;
+    overflow: hidden;
+    width: 300px;
+    margin: 0px 20px 0px 17px;
+}
+
+.cruit_form_btn_sub {
+    height: 30px;
+    line-height: 30px;
+    color: #fff;
+    font-size: 14px;
+    background: #489d97;
+    border-radius: 4px;
+    padding: 0px 20px;
+}
+
+.cruit_form_per:nth-last-of-type(1) {
+    margin-right: 0px;
+}
+
+.color_main {
+    // margin-bottom: 333px;
+    box-sizing: border-box;
+    background: #fbfbfb;
+    border: solid 1px #fbfbfb;
+    //   background: pink;
+}
+
+.index_3 {
+    margin-top: 11px;
+}
+
+.cruit_ul_2 {
+    margin-top: 30px;
+}
+
+.cruit_li_2 {
+    width: 590px;
+    border-radius: 4px;
+    background: #fff;
+    position: relative;
+    padding: 0px 20px;
+    box-sizing: border-box;
+    margin-bottom: 20px;
+}
+
+.cruit_li_2:nth-of-type(odd) {
+    border-top: solid 5px #489d97;
+    float: left;
+}
+
+.cruit_li_2:nth-of-type(even) {
+    border-top: solid 5px #DF9A2B;
+    float: right;
+}
+
+.cruit_li_2_a {
+    display: block;
+    width: 100%;
+    padding-bottom: 20px;
+    position: relative;
+    z-index: 2;
+}
+
+.cruit_li_2_head_box {
+    margin-top: 26px;
+}
+
+.cruit_li_2_head {
+    float: left;
+    max-width: 44%;
+    margin-left: 27px;
+    height: 23px;
+    line-height: 23px;
+    color: #333;
+    font-size: 20px;
+    font-weight: bold;
+}
+
+.cruit_li_2_head_name {
+    max-width: 49%;
+    height: 23px;
+    line-height: 23px;
+    color: #333;
+    font-size: 16px;
+    text-align: right;
+    float: right;
+    margin-right: 20px;
+}
+
+.cruit_li_2_foot_title_box {}
+
+.cruit_li_2_foot_title {
+    float: left;
+    height: 25px;
+    line-height: 25px;
+    color: #999;
+    font-size: 14px;
+    background: #F8F8F8;
+    padding: 0px 10px;
+    margin: 17px 0px 0px 26px;
+}
+
+.cruit_li_2_foot {
+    margin-top: 20px;
+    margin-left: 20px;
+}
+
+.cruit_li_2_foot_tag {
+    float: left;
+    margin-right: 30px;
+    height: 24px;
+    line-height: 24px;
+    color: #999;
+    font-size: 16px;
+    padding-left: 34px;
+    background: no-repeat left center;
+    background-size: 24px 100%;
+}
+
+.cruit_li_2_foot_addres {
+    background-image: url(@/public/image/01.png);
+}
+
+.cruit_li_2_foot_exper {
+    background-image: url(@/public/image/02.png)
+}
+
+.cruit_li_2_foot_educat {}
+
+.cruit_li_2_foot_time {
+    background-image: url(@/public/image/03.png);
+}
+
+.cruit_li_2_foot_tag_in {
+    height: 24px;
+    line-height: 24px;
+    color: #999;
+    font-size: 16px;
+    float: left;
+}
+
+.cruit_li_2_foot_tag_in:nth-of-type(2) {
+    padding-left: 24px;
+    position: relative;
+}
+
+.cruit_li_2_foot_tag_in:nth-of-type(2)::after {
+    content: '';
+    display: block;
+    position: absolute;
+    width: 2px;
+    height: 2px;
+    background: #999;
+    left: 11px;
+    top: 11px;
+}
+
+/* 三农资讯网-招工招聘-社会招聘  */
+.society_form_tip {
+    line-height: 30px;
+    display: flex;
+    margin-bottom: 4px;
+}
+
+.society_form_label {
+    height: 30px;
+    line-height: 30px;
+    color: #333;
+    font-size: 18px;
+    margin-right: 15px;
+    word-break: keep-all;
+    white-space: nowrap;
+}
+
+.society_form_right_a_box {}
+
+.society_form_right_a {
+    float: left;
+    height: 30px;
+    line-height: 30px;
+    color: #333;
+    font-size: 18px;
+    margin: 0px 30px 14px 0px;
+}
+
+.society_form_right_a_only {
+    color: #489d97;
+}
+
+.society_form_right_a:hover {
+    color: #489d97;
+}
+
+.society_form_right_btn {
+    float: left;
+    height: 30px;
+    line-height: 30px;
+    color: #25837d;
+    font-size: 18px;
+    margin: 0px 30px 20px 0px;
+    padding-right: 24px;
+    // background: url(@/public/img/8.png) no-repeat right center;
+    background-size: 20px 18px;
+    cursor: pointer;
+}
+
+// .society_form_right_btn_up {
+//     background-image: url(@/public/img/9.png);
+// }
+
+.society_head_right {
+    float: right;
+    height: 31px;
+    line-height: 31px;
+    margin-top: 13px;
+}
+
+.society_head_checkbox_box {
+    width: 18px;
+    height: 18px;
+    float: left;
+    // margin: 6px 10px 0px 0px;
+    margin-right: 10px;
+    position: relative;
+}
+
+.society_head_checkbox_box_gray {
+    border: solid 1px #C8CFD2;
+}
+
+.society_head_checkbox {
+    width: 0px;
+    height: 0px;
+}
+
+.society_head_checkbox::after {
+    content: '';
+    display: block;
+    position: absolute;
+    border: solid 1px #C8CFD2;
+    border-radius: 2px;
+    width: 100%;
+    height: 100%;
+    left: 0px;
+    top: 0px;
+    z-index: 11;
+}
+
+input[type="checkbox"]:checked.society_head_checkbox::after {
+    content: '';
+    display: block;
+    position: absolute;
+    border: 0px;
+    background: url(@/public/img/4.png) no-repeat center center #489d97;
+    background-size: 12px 12px;
+    border-radius: 2px;
+    width: 100%;
+    height: 100%;
+    left: 0px;
+    top: 0px;
+    z-index: 11;
+}
+
+.society_head_checkbox_box_gray input[type="checkbox"]:checked.society_head_checkbox::after {
+    content: '';
+    display: block;
+    position: absolute;
+    border: 0px;
+    background: url(@/public/img/14.png) no-repeat center center;
+    background-size: 12px 12px;
+    border-radius: 2px;
+    width: 100%;
+    height: 100%;
+    left: 0px;
+    top: 0px;
+    z-index: 11;
+}
+
+.society_head_right_all_box {
+    float: left;
+    color: #333;
+    font-size: 14px;
+    height: 100%;
+    line-height: 31px;
+}
+
+.society_head_right_a {
+    float: left;
+    height: 31px;
+    line-height: 31px;
+    color: #fff;
+    font-size: 16px;
+    border-radius: 4px;
+    overflow: hidden;
+    padding: 0px 10px;
+    background: #489d97;
+    margin-left: 20px;
+}
+
+.society_head_right_a_gray {
+    background: #ccc;
+}
+
+.society_inp_checkbox_box_li_1 {
+    width: 18px;
+    height: 18px;
+    z-index: 11;
+    position: absolute;
+    left: 14px;
+    top: 35px;
+}
+
+.society_inp_checkbox_box_li_1_btn {
+    width: 0px;
+    height: 0px;
+}
+
+.society_inp_checkbox_box_li_1_btn::after {
+    content: '';
+    display: block;
+    position: absolute;
+    border: solid 1px #C8CFD2;
+    border-radius: 2px;
+    width: 100%;
+    height: 100%;
+    left: 0px;
+    top: 0px;
+    z-index: 11;
+}
+
+input[type="checkbox"]:checked.society_inp_checkbox_box_li_1_btn::after {
+    content: '';
+    display: block;
+    position: absolute;
+    border: 0px;
+    background: url(@/public/img/4.png) no-repeat center center #489d97;
+    background-size: 12px 12px;
+    border-radius: 2px;
+    width: 100%;
+    height: 100%;
+    left: 0px;
+    top: 0px;
+    z-index: 11;
+}
+
+.society_ul_3 {
+    margin-top: 30px;
+}
+
+.society_li_3 {
+    float: left;
+    width: 385px;
+    background: #fff;
+    border-radius: 6px;
+    position: relative;
+    margin: 0px 20px 20px 0px;
+    padding: 0px 15px;
+    box-sizing: border-box;
+}
+
+.society_li_3:nth-of-type(3n) {
+    margin-right: 0px;
+}
+
+.society_li_3_a {
+    display: block;
+    width: 100%;
+    position: relative;
+    z-index: 2;
+}
+
+.society_li_3_head_box {
+    margin-top: 11px;
+}
+
+.society_li_3_head {
+    float: left;
+    height: 26px;
+    line-height: 26px;
+    color: #333;
+    font-size: 20px;
+    max-width: 30%;
+    font-weight: bold;
+    margin-left: 34px;
+}
+
+.society_li_3_head_name {
+    float: right;
+    height: 26px;
+    line-height: 26px;
+    font-size: 16px;
+    max-width: 70%;
+    color: #489d97;
+}
+
+.society_li_3_text_box {
+    margin-top: 20px;
+}
+
+.society_li_3_text {
+    max-width: 100px;
+    white-space: nowrap;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    float: left;
+    height: 21px;
+    line-height: 21px;
+    color: #333;
+    font-size: 16px;
+    // padding-right: 20px;
+    position: relative;
+}
+
+.point {
+    display: inline-block;
+    width: 8px;
+    height: 20px;
+    line-height: 20px;
+    color: #999;
+    vertical-align: middle;
+    text-align: center;
+    margin-right: 6px;
+    font-weight: 500;
+}
+
+.society_li_3_text:nth-last-of-type(1) {
+    padding-right: 0px;
+}
+
+.society_li_3_tag_box {
+    margin: 20px 0 20px;
+}
+
+.society_li_3_tag {
+    float: left;
+    height: 25px;
+    line-height: 25px;
+    color: #999;
+    font-size: 14px;
+    background: #F8F8F8;
+    padding: 0px 10px;
+    margin-right: 15px;
+}
+
+.society_inp_checkbox_box_li_3 {
+    width: 18px;
+    height: 18px;
+    z-index: 11;
+    position: absolute;
+    left: 15px;
+    top: 11px;
+}
+
+.society_inp_checkbox_box_li_3_btn {
+    width: 0px;
+    height: 0px;
+}
+
+.society_inp_checkbox_box_li_3_btn::after {
+    content: '';
+    display: block;
+    position: absolute;
+    border: solid 1px #C8CFD2;
+    border-radius: 2px;
+    width: 100%;
+    height: 100%;
+    left: 0px;
+    top: 0px;
+    z-index: 11;
+}
+
+input[type="checkbox"]:checked.society_inp_checkbox_box_li_3_btn::after {
+    content: '';
+    display: block;
+    position: absolute;
+    border: 0px;
+    background: url(@/public/img/4.png) no-repeat center center #489d97;
+    background-size: 12px 12px;
+    border-radius: 2px;
+    width: 100%;
+    height: 100%;
+    left: 0px;
+    top: 0px;
+    z-index: 11;
+}
+
+.cruit_alert_box {
+    position: fixed;
+    height: 30px;
+    line-height: 30px;
+    color: #fff;
+    font-size: 14px;
+    text-align: center;
+    background: #666666FF;
+    border-radius: 4px;
+    left: 50%;
+    top: 33%;
+    z-index: 111;
+    width: auto;
+    padding: 0px 15px;
+    margin-left: -44px;
+}
+
+.cruit_alert_rgb {
+    position: fixed;
+    width: 100%;
+    height: 100%;
+    left: 0px;
+    top: 0px;
+    z-index: 1111;
+    background: rgba(0, 0, 0, 0.2);
+
+    .cruit_alert_rgb_box {
+        width: 836px;
+        background: #fff;
+        border-radius: 20px;
+        position: absolute;
+        left: 50%;
+        top: 20%;
+        z-index: 1112;
+        margin-left: -418px;
+    }
+
+    .cruit_alert_rgb_head_box {
+        height: 29px;
+        margin-top: 24px;
+        position: relative;
+    }
+
+    .cruit_alert_rgb_head {
+        height: 29px;
+        line-height: 29px;
+        color: #333;
+        font-size: 20px;
+        text-align: center;
+        font-weight: bold;
+        position: relative;
+
+        .close {
+            position: absolute;
+            font-weight: 400;
+            right: 45px;
+            top: -5px;
+            font-size: 25px;
+            width: 20px;
+            height: 20px;
+            cursor: pointer;
+        }
+    }
+
+    .cruit_alert_rgb_close {
+        width: 26px;
+        height: 26px;
+        background-image: url(@/public/img/4.png);
+        position: absolute;
+        top: 0px;
+        right: 24px;
+    }
+
+    .cruit_alert_rgb_form {
+        display: block;
+        width: 760px;
+        margin: 30px auto 0;
+    }
+
+    .cruit_alert_rgb_form_in {
+        width: 100%;
+        height: 243px;
+        overflow: auto;
+    }
+
+    .cruit_alert_rgb_li {
+        float: left;
+        background: #FBFBFB;
+        border-top: solid 5px #489d97;
+        border-radius: 4px;
+        width: 230px;
+        margin-bottom: 20px;
+        padding: 15px 0px 20px 10px;
+        box-sizing: border-box;
+    }
+
+    .cruit_alert_rgb_li:nth-of-type(3n-1) {
+        margin-left: 33px;
+    }
+
+    .cruit_alert_rgb_li:nth-of-type(3n) {
+        float: right;
+    }
+
+    .cruit_alert_rgb_li:nth-of-type(6n-0) {
+        border-top: solid 5px #DF9A2B;
+    }
+
+    .cruit_alert_rgb_li:nth-of-type(6n-1) {
+        border-top: solid 5px #DF9A2B;
+    }
+
+    .cruit_alert_rgb_li:nth-of-type(6n-2) {
+        border-top: solid 5px #DF9A2B;
+    }
+
+    .cruit_alert_rgb_label {
+        float: right;
+        height: 21px;
+        line-height: 21px;
+        color: #333;
+        font-size: 16px;
+        margin-left: 0px;
+        font-weight: bold;
+        width: 180px;
+        padding-right: 15px;
+        margin-top: 5px;
+    }
+
+    .cruit_alert_rgb_checkbox {
+        float: left;
+        border: 0px;
+        display: block;
+        width: 0px;
+        height: 0px;
+        position: relative;
+        margin: 4px 0px 0px 20px;
+        background: rgba(0, 0, 0, 0);
+        border: none;
+    }
+
+    .cruit_alert_rgb_checkbox::after {
+        content: '';
+        display: block;
+        position: absolute;
+        border: solid 1px #C8CFD2;
+        border-radius: 2px;
+        width: 15px;
+        height: 15px;
+        left: 0px;
+        top: 0px;
+        z-index: 11;
+    }
+
+    input[type="checkbox"]:checked.cruit_alert_rgb_checkbox::after {
+        border: 0px;
+    }
+
+    input[type="checkbox"]:checked.cruit_alert_rgb_checkbox::before {
+        content: '';
+        display: block;
+        position: absolute;
+        background: url(../public/img/4.png) no-repeat 1px 1px #489d97;
+        background-size: 13px 13px;
+        border-radius: 2px;
+        width: 15px;
+        height: 15px;
+        left: 0px;
+        top: 0px;
+        z-index: 11;
+    }
+
+    .cruit_alert_rgb_foot {
+        text-align: center;
+    }
+
+    .cruit_alert_rgb_foot_sub {
+        display: inline-block;
+        text-align: right;
+        color: #fff;
+        font-size: 14px;
+        margin: 20px auto 40px;
+        border-radius: 4px;
+        height: 30px;
+        line-height: 30px;
+        background: #489d97;
+        padding: 0px 15px;
+    }
+}
+
+@media screen and (min-width:1200px) {
+    /*pc_1440*/
+    @media screen and (max-width:1440px) {
+        /*1200*/
+    }
+
+    .pc_none {
+        display: none;
+    }
+}
+
+@media screen and (max-width:599px) {}
+
+@media screen and (max-width:320px) {}
+
+.el-select {
+    margin-right: 20px;
+}
+
+.el-button {
+    border: none;
+    margin-left: 20px;
+    background-color: #489d97;
+}
+
+/deep/.el-checkbox__input.is-checked .el-checkbox__inner {
+    background-color: #489d97;
+    border-color: #489d97;
+}
+
+/deep/.el-checkbox__inner:hover {
+    border-color: #489d97;
+}
+
+/deep/.el-radio__input.is-checked .el-radio__inner {
+    background: #489d97;
+    border-color: #489d97;
+}
+
+/deep/.el-radio__inner:hover {
+    border-color: #489d97;
+}

+ 365 - 0
assets/css/zgzpzhaopin.less

@@ -0,0 +1,365 @@
+* {
+    font-family: "微软雅黑", "microsoft yahei";
+}
+
+.gangwei {
+    margin: 30px auto;
+}
+
+ul,
+ol {
+    list-style: none;
+}
+
+a:active {
+    text-decoration: none;
+}
+
+a:hover {
+    text-decoration: none;
+}
+
+a:visited {
+    text-decoration: none;
+}
+
+a:link {
+    text-decoration: none;
+}
+
+a:focus {
+    text-decoration: none;
+}
+
+body {
+    position: relative;
+}
+
+.clearfix {
+    overflow: hidden;
+}
+
+.clearfix_2::after {
+    content: '';
+    display: block;
+    height: 0;
+    visibility: hidden;
+    clear: both;
+}
+
+.hiddenColor {
+    visibility: hidden;
+}
+
+.hand {
+    cursor: pointer;
+}
+
+.aTag_parent {
+    position: relative;
+}
+
+.aTag_parent>a,
+.aTag {
+    display: block;
+    width: 100%;
+    height: 100%;
+    position: absolute;
+    z-index: 99;
+    border: 0px;
+    top: 0px;
+    left: 0px;
+    background: rgba(0, 0, 0, 0);
+}
+
+.dot1 {
+    display: block;
+    word-break: keep-all;
+    white-space: nowrap;
+    overflow: hidden;
+    text-overflow: ellipsis;
+}
+
+.dot2 {
+    overflow: hidden;
+    display: -webkit-box;
+    -webkit-box-orient: vertical;
+    -webkit-line-clamp: 2;
+}
+
+input,
+img {
+    border: none;
+}
+
+.cover100 img {
+    display: block;
+    width: 100%;
+    height: 100%;
+    object-fit: cover;
+}
+
+.back100 {
+    background-size: 100% 100%;
+    background-repeat: no-repeat;
+}
+
+article,
+aside,
+footer,
+header,
+time,
+video,
+main,
+nav,
+h4,
+h3,
+section {
+    display: block;
+}
+
+.index_main {
+    margin: 0 auto;
+}
+
+.slow_6 {
+    -webkit-transition: all .6s;
+    -moz-transition: all .6s;
+    -ms-transition: all .6s;
+    -o-transition: all .6s;
+    transition: all .6s;
+}
+
+.index_main {
+    width: 1200px;
+}
+
+.color_main {
+    box-sizing: border-box;
+    background: #fbfbfb;
+    border: solid 1px #fbfbfb;
+    /* background:pink; */
+}
+
+.cruit_head_box {
+    border-bottom: solid 1px #D9D9D9;
+}
+
+.cruit_head_left {
+    float: left;
+}
+
+.cruit_head_a {
+    float: left;
+    height: 55px;
+    line-height: 55px;
+    color: #333;
+    font-weight: bold;
+    font-size: 22px;
+    border-bottom: solid 3px rgba(0, 0, 0, 0);
+    margin-right: 40px;
+}
+
+.cruit_head_only {
+    float: left;
+    height: 55px;
+    line-height: 55px;
+    color: #489d97;
+    font-weight: bold;
+    font-size: 22px;
+    border-bottom: solid 3px #489d97;
+}
+
+.demand_head_box {}
+
+.demand_head_name {
+    float: left;
+    color: #333;
+    font-size: 28px;
+    margin-top: 30px;
+    font-weight: bold;
+}
+
+.demand_head_btn {
+    float: right;
+    height: 45px;
+    line-height: 45px;
+    color: #fff;
+    font-size: 16px;
+    border-radius: 4px;
+    overflow: hidden;
+    padding: 0px 20px 0px 43px;
+    margin-top: 30px;
+    background: url(@/public/image/05.png) no-repeat 14px center #489d97;
+    background-size: 18px 18px;
+}
+.demand_head_btn1 {
+    float: right;
+    height: 45px;
+    line-height: 45px;
+    color: #fff;
+    font-size: 16px;
+    border-radius: 4px;
+    overflow: hidden;
+    padding: 0px 20px 0px 43px;
+    margin-top: 30px;
+    background: url(@/public/image/05.png) no-repeat 14px center #ccc;
+    background-size: 18px 18px;
+    cursor: not-allowed;
+}
+
+.cruit_li_2_foot {
+    margin: 20px 0px 30px;
+}
+
+.cruit_li_2_foot_tag {
+    float: left;
+    margin-right: 30px;
+    height: 24px;
+    line-height: 24px;
+    color: #999;
+    font-size: 16px;
+    padding-left: 34px;
+    background: no-repeat left center;
+    background-size: 24px 100%;
+}
+
+.cruit_li_2_foot_addres {
+    background-image: url(@/public/image/01.png);
+}
+
+.cruit_li_2_foot_exper {
+    background-image: url(@/public/image/04.png);
+}
+
+.cruit_li_2_foot_educat {}
+
+.cruit_li_2_foot_tag_in {
+    height: 24px;
+    line-height: 24px;
+    color: #999;
+    font-size: 16px;
+    float: left;
+}
+
+.cruit_li_2_foot_tag_in:nth-of-type(2) {
+    padding-left: 24px;
+    position: relative;
+}
+
+.cruit_li_2_foot_tag_in:nth-of-type(2)::after {
+    content: '';
+    display: block;
+    position: absolute;
+    width: 2px;
+    height: 2px;
+    background: #999;
+    left: 11px;
+    top: 11px;
+}
+
+.index_2 {
+    margin-top: 11px;
+}
+
+.demand_1 {
+    float: left;
+    width: 790px;
+}
+
+.demand_2 {
+    float: right;
+    width: 380px;
+}
+
+.demand_right_2 {
+    margin-top: 11px;
+}
+
+.demand_left_1 {}
+
+.demand_left_2 {
+    margin-top: 30px;
+}
+
+.demand_left_3 {
+    margin-top: 30px;
+}
+
+.demand_left_4 {
+    margin-top: 30px;
+}
+
+.demand_left_5 {
+    margin-top: 11px;
+}
+
+.demand_ul_1 {
+    margin-top: 32px;
+}
+
+.demand_ul_1_a {
+    height: 21px;
+    line-height: 21px;
+    color: #333;
+    font-size: 18px;
+    margin-bottom: 33px;
+}
+
+.demand_ul_1_a:nth-last-of-type(1) {
+    margin-bottom: 0px;
+}
+
+.demand_ul_1_a:hover {
+    color: #489d97;
+}
+
+.demand_ul_2 {
+    margin-top: 30px;
+}
+
+.demand_li_2 {
+    display: flex;
+    margin-bottom: 30px;
+}
+
+.demand_li_2_label {
+    word-break: keep-all;
+    white-space: nowrap;
+    height: 24px;
+    line-height: 24px;
+    margin-right: 16px;
+    color: #333;
+    font-size: 18px;
+}
+
+.demand_li_2_text {
+    line-height: 24px;
+    color: #333;
+    font-size: 18px;
+}
+
+.demand_article_1 {
+    margin-top: 30px;
+    color: #333;
+    font-size: 18px;
+}
+
+.demand_li_2:nth-last-of-type(1) {
+    margin-bottom: 0px;
+}
+
+@media screen and (min-width:1200px) {
+    /*pc_1440*/
+    @media screen and (max-width:1440px) {
+        /*1200*/
+    }
+
+    .pc_none {
+        display: none;
+    }
+}
+
+@media screen and (max-width:599px) {}
+
+@media screen and (max-width:320px) {}

+ 7 - 3
components/home/ListSecondaryHeading.vue

@@ -2,7 +2,9 @@
     <section class="channel_1 clearfix">
         <div class="channel_head_box clearfix">
             <div class="channel_head_a_name_box clearfix">
-                <a class="channel_head_a_name" href="javascript:(void)" title="title">{{ name }}</a>
+                <NuxtLink :href="`/${pinyin}/index.html`" class="channel_head_a_name">
+                    {{ name }}
+                </NuxtLink>
             </div>
             <div class="channel_head_a_img_box back100"></div>
             <nav class="channel_nav_box clearfix">
@@ -18,7 +20,8 @@
 //子导航
 const props = defineProps({
     name: String,
-    nav: Array
+    nav: Array,
+    pinyin: String,
 });
 
 //获取当前url路径
@@ -42,7 +45,8 @@ const targetRoute = segments[1];
     border-top-left-radius: 3px;
     border-top-right-radius: 3px;
     border: solid 1px #D9D9D9;
-    margin-top: 40px;
+    margin-top: 30px;
+    margin-bottom: 15px;
     box-sizing: border-box;
     border-bottom: solid 2px #489D97;
     background: #fafafa;

+ 4 - 0
composables/publicFunction.ts

@@ -7,6 +7,10 @@ const getTime = function (time: string, type: string, style: Number) {
   const month = date.getMonth() + 1;
   const day = date.getDate();
 
+  //返回 年-月-日
+  if (type == 'year' && style == 0) {
+    return `${year}.${month}.${day}`;
+  }
   //返回 年-月-日
   if (type == 'year' && style == 1) {
     return `${year}-${month}-${day}`;

+ 16 - 14
middleware/setup.global.js

@@ -1,11 +1,11 @@
 export default async function (to, from) {
     //获得全局url
     const { $webUrl, $CwebUrl } = useNuxtApp();
-    if (getRouteWhiteList(to.path)) {
+    if(getRouteWhiteList(to.path)){
         //如果目标路由是/,或者/404 无需验证
-    } else {
+    }else{
         // to是目标路由对象,from是来源路由对象
-        console.log('进入路由中间件,目标路由:', to.path, "当前路由:", from.path);
+        console.log('进入路由中间件,目标路由:', to.path,"当前路由:",from.path);
         //拆分目标路由
         let parts = parseRoute(to.path)
         console.log(parts)
@@ -19,9 +19,9 @@ export default async function (to, from) {
             query: parts
         })
         console.log(responseRoute)
-        if (responseRoute.code == 200) {
+        if(responseRoute.code == 200){
             //如果路由存在,不做任何操作
-        } else {
+        }else{
             return navigateTo('/404')
         }
     }
@@ -31,17 +31,17 @@ export default async function (to, from) {
 function parseRoute(url) {
     const parts = url.split('/').filter(Boolean); // 分割并过滤空字符串
     const lastPart = parts[parts.length - 1];
-
+    
     // 提取 id(数字.html 的数字部分)
     const idMatch = lastPart.match(/^(\d+)\.html$/);
     const id = idMatch ? idMatch[1] : undefined;
-
+    
     // 如果最后是数字.html、index.html 或 list-数字.html,则去掉它
     const isSpecialRoute = idMatch || lastPart === "index.html" || lastPart.startsWith("list-");
     if (isSpecialRoute) {
         parts.pop();
     }
-
+    
     let all_route, last_route;
 
     // 如果路径以 xiangcunshangcheng 开头
@@ -83,12 +83,12 @@ function parseRoute(url) {
 }
 
 //获得路由白名单列表
-function getRouteWhiteList(path) {
-    if (path == '/') {
+function getRouteWhiteList(path){
+    if(path=='/'){
         console.log('白名单路由!允许访问!')
         //如果用户进入的是首页,直接返回true
         return true
-    } else {
+    }else{
         //如果用户进入的不是首页,则需要判断第一层路由是否在白名单
         const parts = path.split('/').filter(Boolean); // 分割并过滤空字符串
         console.log(parts[0])
@@ -99,13 +99,15 @@ function getRouteWhiteList(path) {
             "topic",//商圈
             "advertising",//广告
             "about",//关于我们
-            "shukanyinxiangcheng",//书刊音像
+
+            "zhaogongzhaopin",//招工招聘
+            "zhaogongzhaopinnongmingong",//招工招聘
         ]
 
-        if (whiteList.includes(parts[0])) {
+        if(whiteList.includes(parts[0])){
             console.log('白名单路由!允许访问!')
             return true
-        } else {
+        }else{
             return false
         }
     }

+ 6 - 7
pages/index.vue

@@ -358,27 +358,26 @@
             <!-- open 农民工资讯-->
             <section class="index_6 clearfix">
                 <div class="index_2_head clearfix">
-                    <NuxtLink class="index_2_head_a index_2_head_a_only" v-if="pageData[5].cid"
+                    <NuxtLink class="index_2_head_a index_2_head_a_only" v-if="pageData.length > 5"
                         :href="getLinkPath(pageData[5])" :title="pageData[5].alias">
                         {{ pageData[5].alias }}
                     </NuxtLink>
-
                     <div class="index_6_head_right">
-                        <div class="index_6_head_right_in">
+                        <div class="index_6_head_right_in" v-if="boxData6menu">
                             <NuxtLink class="index_6_head_right_in_a" v-for="item in boxData6menu"
                                 :to="{ path: `/${item.aLIas_pinyin}/list-1.html` }" :title="item.alias">
                                 {{ item.alias }}
                             </NuxtLink>
                         </div>
 
-                        <NuxtLink class="index_6_head_right_in_a" v-if="pageData[5].cid"
+                        <NuxtLink class="index_6_head_right_in_a" v-if="pageData.length > 5"
                             :href="getLinkPath(pageData[5])" :title="pageData[5].alias">
                             更多 &gt;
                         </NuxtLink>
                     </div>
                 </div>
                 <div class="index_6_left clearfix">
-                    <div class="roll_2_box">
+                    <div class="roll_2_box" v-if="boxData6.length > 0">
                         <div class="roll_2_img_ul">
                             <div class="roll_2_per">
                                 <NuxtLink class="roll_2_per_a" v-if="showImg == 1 && boxData6[0].length > 0"
@@ -399,7 +398,7 @@
                             </div>
                         </div>
                     </div>
-                    <div class="roll_2_btn_box">
+                    <div class="roll_2_btn_box" v-if="boxData6.length > 0">
                         <div class="roll_2_btn roll_2_btn_only" v-if="boxData6[0].length > 0">
                             <NuxtLink class="roll_2_btn_dot2 dot2" @mouseenter="changeImg(1)"
                                 :href="getLinkPathDetail(boxData6[0])" :title="boxData6[0].title"
@@ -424,7 +423,7 @@
                     </div>
                 </div>
                 <div class="index_6_right clearfix">
-                    <div class="index_6_img_ul clearfix">
+                    <div class="index_6_img_ul clearfix" v-if="boxData6data2.length > 0">
                         <div class="index_6_img_li" v-for="item in boxData6data2">
                             <NuxtLink class="index_6_img_li_a" :href="getLinkPathDetail(item)" :title="item.title"
                                 :target="item.islink == 1 ? '_blank' : '_self'">

+ 555 - 0
pages/zhaogongzhaopin/[dir]/[id].vue

@@ -0,0 +1,555 @@
+<template>
+    <div>
+        <HomePageHead></HomePageHead>
+        <HomePageNavigation></HomePageNavigation>
+        <HomeAdvertising :imgurl="adImg1" v-if="adImg1"></HomeAdvertising>
+        <!-- 面包屑导航 -->
+        <div class="breadcrumb">
+            <div class="inner">
+                <span class="location">当前位置:</span>
+                <el-breadcrumb :separator-icon="ArrowRight">
+                    <el-breadcrumb-item>
+                        <NuxtLink to="/">首页</NuxtLink>
+                    </el-breadcrumb-item>
+                    <el-breadcrumb-item>
+                        <NuxtLink :to="`/${parent_pinyin}/index.html`"> {{ parent_name }}</NuxtLink>
+                    </el-breadcrumb-item>
+                    <el-breadcrumb-item>招聘详情</el-breadcrumb-item>
+                </el-breadcrumb>
+            </div>
+        </div>
+        <!-- 简历 -->
+        <main class="jianli" v-if="type == 2">
+            <!-- 个人简历 -->
+            <section class="index_1 clearfix">
+                <div class="seek_head_box clearfix">
+                    <div class="seek_head_left">
+                        <a class="seek_head_a seek_head_only" title="">个人简历</a>
+                    </div>
+                    <div class="seek_head_right_box clearfix">
+                        <span class="seek_head_right_text">更新时间:{{ jobInfo.created_at }}</span>
+                    </div>
+                </div>
+                <div class="index_1_left clearfix">
+                    <div class="seek_introduce_box clearfix">
+                        <div class="seek_introduce_left clearfix">
+                            <div class="seek_introduce_head clearfix">
+                                <h4 class="seek_introduce_h4">{{ jobInfo.name }}</h4>
+                                <div class="seek_introduce_tag clearfix" v-if="resume">此简历已被推荐</div>
+                                <div class="seek_introduce_text clearfix" v-if="resume">
+                                    (已有单位把本简历加入人才库)
+                                </div>
+                            </div>
+                            <div class="seek_introduce_title_box clearfix">
+                                <span class="seek_introduce_label">期望岗位:</span>
+                                <span class="seek_introduce_title">{{ jobInfo.job_name_get }}</span>
+                                <span class="seek_introduce_label">薪资待遇:</span>
+                                <span class="seek_introduce_title">{{ jobInfo.salary_name }}</span>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="seek_introduce_foot clearfix">
+                        <span class="seek_introduce_foot_text">
+                            {{ jobInfo.sexy == 1 ? '男' : '女' }}
+                        </span>
+                        <span class="seek_introduce_foot_text" v-if="jobInfo.birth">
+                            {{ getTime(jobInfo.birth, 'year', 0) }}
+                        </span>
+                        <span class="seek_introduce_foot_text" v-if="jobInfo.origin">
+                            籍贯:{{ jobInfo.origin }}
+                        </span>
+                        <!-- <span class="seek_introduce_foot_text">汉族</span> -->
+                        <span class="seek_introduce_foot_text" v-if="jobInfo.education_name">
+                            {{ jobInfo.education_name }}
+                        </span>
+                        <span class="seek_introduce_foot_text" v-if="jobInfo.experience_name">
+                            {{ jobInfo.experience_name }}
+                        </span>
+                        <span class="seek_introduce_foot_text" v-if="jobInfo.hunt_cityname">
+                            工作地点:{{ jobInfo.hunt_cityname }}
+                        </span>
+                        <span class="seek_introduce_foot_text" v-if="jobInfo.language_name">
+                            {{ jobInfo.language_name }}
+                        </span>
+                    </div>
+                </div>
+                <div class="index_1_right clearfix">
+                    <img class="index_1_right_img" src="@/public/image/touxiang.png" title="" alt=""
+                        v-if="!jobInfo.imgurl">
+                    <img class="index_1_right_img" :src="jobInfo.imgurl" title="" alt="" v-if="jobInfo.imgurl">
+
+                </div>
+            </section>
+            <!-- 个人简历 -->
+            <!-- 自我介绍 -->
+            <section class="index_2 clearfix">
+                <div class="seek_head_box clearfix">
+                    <div class="seek_head_left">
+                        <a class="seek_head_a seek_head_only" title="">自我介绍</a>
+                    </div>
+                </div>
+                <article class="seek_article">
+                    {{ jobInfo.self_evaluation }}
+                </article>
+            </section>
+            <!-- 自我介绍 -->
+            <!-- 工作经历 -->
+            <section class="index_3 clearfix">
+                <div class="seek_head_box clearfix">
+                    <div class="seek_head_left">
+                        <a class="seek_head_a seek_head_only" title="">工作经历</a>
+                    </div>
+                </div>
+                <div class="seek_in clearfix" v-for="(item, index) in experienceInfo" :key="index">
+                    <div class="seek_in_head clearfix">
+                        <span class="seek_in_head_text">{{ index + 1 }}.{{ item.company_name }}</span>
+                        <span class="seek_in_head_text">
+                            职位类别:
+                            {{ item.zw_name }}
+                            <!-- <span v-for="(item1, index1) in position_categoryList">
+                                {{ item.job_typename == position_categoryList[index1].zwid ?
+                                    position_categoryList[index1].zwname : '' }}
+                            </span> -->
+                        </span>
+                        <span class="seek_in_head_text">
+                            具体职位:
+                            {{ item.jtzw_name }}
+                            <!-- <span v-for="(item1, index1) in positionList">
+                                {{ item.job_name == positionList[index1].zwid ? positionList[index1].zwname : '' }}
+                            </span> -->
+                        </span>
+                        <!-- <span class="seek_in_head_text">{{ item.department }}</span>  //部门 -->
+                        <span class="seek_in_head_text" style="float: right;">
+                            {{ getTime(item.job_timeList[0], 'year', 0) }}
+                            -
+                            {{ getTime(item.job_timeList[1], 'year', 0) }}
+                        </span>
+                    </div>
+                    <div class="seek_in_ul clearfix">
+                        <div class="seek_in_li clearfix">
+                            <label class="seek_in_label">工作内容:</label>
+                            <div class="seek_in_li_text">{{ item.job_content }}</div>
+                        </div>
+                        <div class="seek_in_li clearfix">
+                            <label class="seek_in_label">工作业绩:</label>
+                            <div class="seek_in_li_text">{{ item.performance }}</div>
+                        </div>
+                    </div>
+                </div>
+            </section>
+            <!-- 工作经历 -->
+            <!-- 教育背景 -->
+            <section class="index_4 clearfix">
+                <div class="seek_head_box clearfix">
+                    <div class="seek_head_left">
+                        <a class="seek_head_a seek_head_only" title="">教育背景</a>
+                    </div>
+                </div>
+                <div class="seek_in clearfix" v-for="(item, index) in education" :key="index">
+                    <div class="seek_in_head clearfix">
+                        <span class="seek_in_head_text">{{ index + 1 }}. {{ item.school_name }}</span>
+                        <span class="seek_in_head_text">
+                            {{ item.education_name }}
+                            <!-- <span v-for="(item1, index1) in educationList">
+                                {{ item.education == educationList[index1].zwid ? educationList[index1].zwname : '' }}
+                            </span> -->
+                        </span>
+                        <span class="seek_in_head_text">{{ item.school_major }}</span>
+                        <span class="seek_in_head_text" style="float: right;">
+                            {{ getTime(item.school_timeList[0], 'year', 0) }}
+                            -
+                            {{ getTime(item.school_timeList[1], 'year', 0) }}
+                        </span>
+                    </div>
+                    <div class="seek_in_ul clearfix">
+                        <div class="seek_in_li clearfix">
+                            <label class="seek_in_label">在校经历:</label>
+                            <div class="seek_in_li_text">{{ item.school_experience }}</div>
+                        </div>
+                    </div>
+                </div>
+            </section>
+            <!-- 教育背景 -->
+            <!-- 专业技能 -->
+            <section class="index_5 clearfix">
+                <div class="seek_head_box clearfix">
+                    <div class="seek_head_left">
+                        <a class="seek_head_a seek_head_only" title="">专业技能</a>
+                    </div>
+                </div>
+                <div class="seek_in clearfix">
+                    <div class="seek_in_ul clearfix">
+                        <div class="seek_in_li clearfix" v-for="(item, index) in skillList">
+                            <label class="seek_in_label">{{ index + 1 }}.</label>
+                            <div class="seek_in_li_text">{{ item.skill }}</div>
+                        </div>
+                    </div>
+                </div>
+            </section>
+            <!-- 专业技能 -->
+            <!-- 联系方式 -->
+            <section class="index_6 clearfix" v-if="type_id == 10000 || type_id == 3">
+                <div class="seek_head_box clearfix">
+                    <div class="seek_head_left">
+                        <a class="seek_head_a seek_head_only" title="">联系方式</a>
+                    </div>
+                </div>
+                <div class="seek_in clearfix">
+                    <article class="seek_article_2">
+                        {{ jobInfo.phone }}
+                    </article>
+                </div>
+            </section>
+            <!-- 联系方式 -->
+        </main>
+        <!-- 岗位 -->
+        <div class="gangwei" v-if="type == 1">
+            <main class="color_main">
+                <main class="index_main">
+                    <section class="index_1 clearfix">
+                        <div class="cruit_head_box clearfix">
+                            <div class="cruit_head_left">
+                                <a class="cruit_head_a cruit_head_only" title="">基本信息</a>
+                            </div>
+                        </div>
+                        <div class="index_1_box clearfix">
+                            <div class="demand_head_box clearfix">
+                                <div class="demand_head_name">{{ jobInfo.title }}</div>
+                                <div class="demand_head_btn hand" v-if="type_id == 1">申请该职位</div>
+                                <div class="demand_head_btn1" v-if="type_id != 1">申请该职位</div>
+                            </div>
+                            <div class="cruit_li_2_foot clearfix">
+                                <span class="cruit_li_2_foot_tag cruit_li_2_foot_exper">
+                                    {{ jobInfo.hy_name }}
+                                    &gt;
+                                    {{ jobInfo.zw_name }}
+                                    <!-- &gt;
+                                    {{ jobInfo.jtzw_name }} -->
+                                </span>
+                                <span class="cruit_li_2_foot_tag cruit_li_2_foot_addres">{{ jobInfo.city_name }}</span>
+                            </div>
+                        </div>
+                    </section>
+                </main>
+            </main>
+
+            <main class="index_main">
+                <section class="index_2 clearfix">
+                    <div class="demand_1 clearfix">
+                        <!-- 基本要求 -->
+                        <div class="demand_left_1 clearfix">
+                            <div class="cruit_head_box clearfix">
+                                <div class="cruit_head_left">
+                                    <a class="cruit_head_a cruit_head_only" title="">基本要求</a>
+                                </div>
+                            </div>
+                            <div class="demand_ul_2">
+                                <div class="demand_li_2 clearfix">
+                                    <div class="demand_li_2_label">工作性质:</div>
+                                    <div class="demand_li_2_text clearfix">{{ jobInfo.job_nature_name }}</div>
+                                </div>
+                                <div class="demand_li_2 clearfix">
+                                    <div class="demand_li_2_label">工作经验:</div>
+                                    <div class="demand_li_2_text clearfix">{{ jobInfo.experience_name }}</div>
+                                </div>
+                                <div class="demand_li_2 clearfix">
+                                    <div class="demand_li_2_label">学历文凭:</div>
+                                    <div class="demand_li_2_text clearfix">{{ jobInfo.education_name }}</div>
+                                </div>
+                                <div class="demand_li_2 clearfix">
+                                    <div class="demand_li_2_label">语言选择:</div>
+                                    <div class="demand_li_2_text clearfix">{{ jobInfo.language_name }}</div>
+                                </div>
+                                <div class="demand_li_2 clearfix">
+                                    <div class="demand_li_2_label">薪资待遇:</div>
+                                    <div class="demand_li_2_text clearfix">{{ jobInfo.salary_name }}</div>
+                                </div>
+                                <div class="demand_li_2 clearfix">
+                                    <div class="demand_li_2_label">截止日期:</div>
+                                    <div class="demand_li_2_text clearfix">
+                                        {{ getTime(jobInfo.created_at, 'year', 1) }}
+                                    </div>
+                                </div>
+                            </div>
+                        </div>
+                        <!-- 基本要求 -->
+                        <!-- 岗位职责 -->
+                        <div class="demand_left_2 clearfix">
+                            <div class="cruit_head_box clearfix">
+                                <div class="cruit_head_left">
+                                    <a class="cruit_head_a cruit_head_only" title="">岗位职责</a>
+                                </div>
+                            </div>
+                            <article class="demand_article_1">
+                                {{ jobInfo.description }}
+                            </article>
+                        </div>
+                        <!-- 岗位职责 -->
+                        <!-- 具体要求 -->
+                        <div class="demand_left_3 clearfix">
+                            <div class="cruit_head_box clearfix">
+                                <div class="cruit_head_left">
+                                    <a class="cruit_head_a cruit_head_only" title="">具体要求</a>
+                                </div>
+                            </div>
+                            <article class="demand_article_1">
+                                {{ jobInfo.jt_description }}
+                            </article>
+                        </div>
+                        <!-- 具体要求 -->
+                        <!-- 联系方式 -->
+                        <div class="demand_left_4 clearfix">
+                            <div class="cruit_head_box clearfix">
+                                <div class="cruit_head_left">
+                                    <a class="cruit_head_a cruit_head_only" title="">联系方式</a>
+                                </div>
+                            </div>
+                            <div class="demand_ul_2">
+                                <div class="demand_li_2 clearfix">
+                                    <div class="demand_li_2_label">地址:</div>
+                                    <div class="demand_li_2_text clearfix">{{ companyInfo.address_name }}</div>
+                                </div>
+                                <div class="demand_li_2 clearfix">
+                                    <div class="demand_li_2_label">邮箱:</div>
+                                    <div class="demand_li_2_text clearfix">{{ companyInfo.email_name }}</div>
+                                </div>
+                            </div>
+                        </div>
+                        <!-- 联系方式 -->
+                        <!-- 公司介绍 -->
+                        <div class="demand_left_5 clearfix">
+                            <div class="cruit_head_box clearfix">
+                                <div class="cruit_head_left">
+                                    <a class="cruit_head_a cruit_head_only" title="">公司介绍</a>
+                                </div>
+                            </div>
+                            <div class="demand_ul_2">
+                                <div class="demand_li_2 clearfix">
+                                    <div class="demand_li_2_label">公司规模:</div>
+                                    <div class="demand_li_2_text clearfix">{{ companyInfo.company_size_name }}</div>
+                                </div>
+                                <div class="demand_li_2 clearfix">
+                                    <div class="demand_li_2_label">公司性质:</div>
+                                    <div class="demand_li_2_text clearfix">{{ companyInfo.company_nature_name }}</div>
+                                </div>
+                                <div class="demand_li_2 clearfix">
+                                    <div class="demand_li_2_label">公司行业:</div>
+                                    <div class="demand_li_2_text clearfix">{{ companyInfo.hy_name }}</div>
+                                </div>
+                            </div>
+                        </div>
+                        <!-- 公司介绍 -->
+                    </div>
+                    <div class="demand_2 clearfix">
+                        <div class="demand_right_1 clearfix">
+                            <div class="cruit_head_box clearfix">
+                                <div class="cruit_head_left">
+                                    <a class="cruit_head_a cruit_head_only" title="">招聘单位</a>
+                                </div>
+                            </div>
+                            <div class="demand_ul_1">
+                                <a class="demand_ul_1_a dot1" href="" title="">
+                                    {{ companyInfo.business_name }}
+                                </a>
+                            </div>
+                        </div>
+                        <div class="demand_right_2 clearfix">
+                            <div class="cruit_head_box clearfix">
+                                <div class="cruit_head_left">
+                                    <a class="cruit_head_a cruit_head_only" title="">其他职位</a>
+                                </div>
+                            </div>
+                            <div class="demand_ul_1">
+                                <a class="demand_ul_1_a dot1" href="" title="" v-for="(item, index) in other_job"
+                                    :key="item.id">
+                                    {{ item.title }}
+                                </a>
+                            </div>
+                        </div>
+                    </div>
+                </section>
+            </main>
+        </div>
+        <HomeAdvertising :imgurl="adImg2" v-if="adImg2"></HomeAdvertising>
+        <HomeFoot1></HomeFoot1>
+    </div>
+
+</template>
+<script setup>
+import { ref } from 'vue'
+import { ElBreadcrumb, ElBreadcrumbItem } from 'element-plus'
+import { ArrowRight } from '@element-plus/icons-vue'
+const route = useRoute();
+const type = route.query.type;
+
+//获取用户信息
+let type_id = ref('')
+const gettypeid = await requestDataPromise('/user/getUserInfo', {
+    method: 'GET',
+    query: {},
+});
+// console.log("gettypeid", gettypeid);
+if (gettypeid.code == 200) {
+    type_id.value = gettypeid.data.type_id
+}
+
+
+//1.1 获得跳转过来的id
+const articleId = parseInt(route.params.id);  //获得该页面的id
+// console.log('111222111', articleId);
+
+//1.2 获得父级栏目的名称、id
+//获得当前的完整路径
+const fullPath = route.path;
+//拆分,取出来中间这一段,然后提取数字部分
+const segments = fullPath.split('/');
+const targetSegment = segments[1];
+// const numberPart = targetSegment.match(/\d+$/)?.[0]; 
+// const routeId = numberPart;
+
+let routeId;
+//通过导航路径反向查询导航id
+const getRouteId = await requestDataPromise('/web/getWebsiteRoute', {
+    method: 'GET',
+    query: {
+        'pinyin': targetSegment,
+    },
+});
+if (getRouteId.code == 200) {
+    routeId = getRouteId.data.category_id
+} else {
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    console.log("错误位置:通过url路径查询导航池id")
+    console.log("后端错误反馈:", getRouteId.message)
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+}
+
+//1.3 面包屑导航
+const parent_name = ref("");
+const parent_id = ref("");
+const parent_pinyin = ref("");
+let getParentNav = async () => {
+    const listData = await requestDataPromise('/web/getOneWebsiteCategory', {
+        method: 'GET',
+        query: {
+            'catid': routeId
+        },
+    });
+
+    if (listData.code == 200) {
+        parent_name.value = listData.data.alias;
+        parent_id.value = listData.data.parent_id;
+        parent_pinyin.value = listData.data.aLIas_pinyin;
+
+    } else {
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+        console.log("错误位置:获取面包屑导航")
+        console.log("后端错误反馈:", listData.message)
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    }
+}
+//获得父级栏目详情
+getParentNav();
+
+//1.4 展示广告
+let adImg1 = ref({})
+let adImg2 = ref({})
+onMounted(async () => {
+    //从客户端获取行政职能部门 加快打开速度
+    const { $webUrl, $CwebUrl } = useNuxtApp();
+    //广告1
+    let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snzxw_detail_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];
+
+    //广告2
+    let url2 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snzxw_detail_0002`
+    const responseAd2 = await fetch(url2, {
+        headers: {
+            'Content-Type': 'application/json',
+            'Userurl': $CwebUrl,
+            'Origin': $CwebUrl
+        }
+    });
+    const resultAd2 = await responseAd2.json();
+    adImg2.value = resultAd2.data[0];
+})
+
+// 2 获取详情
+let jobInfo = ref([]) //基本信息
+let companyInfo = ref([])// 公司介绍
+let category = ref([]) // 栏目
+let other_job = ref([]) // 岗位
+let experienceInfo = ref([]) // 工作经历
+let education = ref([]) // 教育背景
+let skillList = ref([]) // 专业技能
+let resume = ref(0)
+
+
+const getDetail = async () => {
+    const listData = await requestDataPromise('/web/getWebsiteJobInfo', {
+        method: 'GET',
+        query: {
+            'id': articleId,
+            'type': type,
+            'pageSize': 10,
+        },
+    });
+
+    if (listData.code == 200) {
+        // console.log("详情1111", listData.data);
+        // console.log("详情1111222", listData.data.job[0].job_experience);
+        // console.log("详情111122233", JSON.parse(listData.data.job[0].job_experience));
+        // console.log("详情1111222233344", JSON.parse(listData.data.job[0].education_experience));
+        // jobInfo.value = listData.data.job[0];
+        // category.value = listData.data.category;
+        if (type == 1) {
+            jobInfo.value = listData.data.job[0];
+            category.value = listData.data.category;
+            companyInfo.value = listData.data.company[0];
+            other_job.value = listData.data.other_job;
+        }
+        if (type == 2) {
+            jobInfo.value = listData.data.job[0];
+            category.value = listData.data.category;
+            experienceInfo.value = listData.data.job_experience;
+            education.value = listData.data.education_experience;
+            skillList.value = JSON.parse(listData.data.job[0].skillList);
+            resume.value = listData.data.resume;
+        }
+    }
+
+}
+getDetail();
+
+//获取行业 职位 具体职位
+const industry_categoryList = ref([])  //行业类别列表
+const position_categoryList = ref([])  //职位类别列表
+const positionList = ref([])  //具体职位列表
+
+const getData = async () => {
+    const getData = await requestDataPromise('/web/getWebsiteJobSelect', {
+        method: 'GET',
+        query: {},
+    });
+    if (getData.code == 200) {
+        // console.log("获取到的分类数据:", getData.data);
+        industry_categoryList.value = getData.data.hy; //行业
+        position_categoryList.value = getData.data.zw; //职位
+        positionList.value = getData.data.jtzw; //具体职位
+    }
+}
+getData()
+</script>
+
+<style scoped lang="less">
+@import "@/assets/css/zgzpjianli.less";
+@import "@/assets/css/zgzpzhaopin.less";
+</style>

+ 427 - 0
pages/zhaogongzhaopin/[dir]/list-[id].vue

@@ -0,0 +1,427 @@
+<template>
+    <div id="newsList">
+        <!-- 页面头部 -->
+        <HomePageHead></HomePageHead>
+
+        <!-- 导航栏 -->
+        <HomePageNavigation1></HomePageNavigation1>
+
+        <!-- 列表页广告一 -->
+        <!-- <HomeTopTen :imgurl="adImg1" v-if="adImg1"></HomeTopTen> -->
+
+        <!-- 二级标题-->
+        <div class="sannongzhichuang" v-if="parent_name != ''">
+            <div class="inner">
+                <h2>
+                    <NuxtLink :to="`/zhaogongzhaopin/index.html`"> 招工招聘 </NuxtLink>
+                    <em class="iconfont icon-xingzhuang-zhijiaosanjiaoxing-copy"></em>
+                </h2>
+                <p class="introduction">
+                    <strong>频道介绍</strong>
+                <div v-for="(item, index) in secondNav" :key="index">
+                    <span v-if="index <= 7">
+                        <NuxtLink :to="{ path: `/${targetRoute}/${item.aLIas_pinyin}/list-1.html` }">{{ item.alias }}
+                        </NuxtLink>
+                    </span>
+                    <b v-else></b>
+                </div>
+                </p>
+            </div>
+        </div>
+        <main class="color_main">
+            <main class="index_main">
+                <!-- 选项卡头 -->
+                <section class="index_3 clearfix">
+                    <div class="recruit_head_box clearfix">
+                        <div class="cruit_head_left">
+                            <!-- cruit_head_only  -->
+                            <a class="cruit_head_a" :class="{ cruit_head_only: society_choice_1_num == 1 }"
+                                @mouseover="society_choice_1_num = 1" title="">找工作</a>
+                            <a class="cruit_head_a" :class="{ cruit_head_only: society_choice_1_num == 2 }"
+                                @mouseover="society_choice_1_num = 2" title="">招人才</a>
+                        </div>
+                        <!--<div class="society_head_right clearfix">
+                             <div class="society_head_checkbox_box">
+                                <input name="" type="checkbox" value="" class="society_head_checkbox hand" checked />
+                            </div>
+                            <div class="society_head_checkbox_box society_head_checkbox_box_gray">
+                                <input name="" type="checkbox" value="" class="society_head_checkbox hand" checked />
+                            </div>
+                            <div class="society_head_right_all_box">
+                                全部
+                            </div> -->
+                        <!-- <a class="society_head_right_a" href="" title="">申请职位</a>
+                            <a class="society_head_right_a society_head_right_a_gray" href="" title="">沟通简历</a> 
+                        </div>-->
+                    </div>
+                    <!-- 选项卡头 -->
+                    <!-- 选项卡 -->
+                    <div class=" clearfix">
+                        <!-- 找工作 -->
+                        <div class=" clearfix" v-show="society_choice_1_num == 1">
+                            <div class="cruit_ul_2 clearfix">
+                                <div class="cruit_li_2 clearfix" v-for="(item, index) in job_vacancy" :key="item.id">
+                                    <a class="cruit_li_2_a" href="" title="">
+                                        <div class="cruit_li_2_head_box clearfix">
+                                            <div class="cruit_li_2_head clearfix dot1">{{ item.title }}</div>
+                                            <div class="cruit_li_2_head_name clearfix dot1">
+                                                {{ item.business_name }}
+                                            </div>
+                                        </div>
+                                        <div class="cruit_li_2_foot_title_box clearfix">
+                                            <span class="cruit_li_2_foot_title">{{ item.jtzw_name }}</span>
+                                        </div>
+                                        <div class="cruit_li_2_foot clearfix">
+                                            <span class="cruit_li_2_foot_tag cruit_li_2_foot_addres">
+                                                {{ item.city_name }}
+                                            </span>
+                                            <span class="cruit_li_2_foot_tag cruit_li_2_foot_exper">
+                                                <span class="cruit_li_2_foot_tag_in">{{ item.experience_name }}</span>
+                                                <span class="cruit_li_2_foot_tag_in">{{ item.education_name }}</span>
+                                            </span>
+                                            <span class="cruit_li_2_foot_tag cruit_li_2_foot_time">
+                                                {{ getTime(item.updated_at, 'year', 1) }}
+                                            </span>
+                                        </div>
+                                    </a>
+                                </div>
+                            </div>
+                            <div class="pagination">
+                                <el-pagination size="small" background layout="prev, pager, next" :total="total"
+                                    class="mt-4" prev-text="上一页" next-text="下一页" @change="change" />
+                            </div>
+                        </div>
+                        <!-- 找工作 -->
+                        <!-- 招人才 -->
+                        <div class=" clearfix" v-show="society_choice_1_num == 2">
+                            <div class="society_ul_3 clearfix">
+                                <div class="society_li_3 clearfix" v-for="(item, index) in job_resume" :key="item">
+                                    <!-- <div class="society_inp_checkbox_box_li_3 hand">
+                                        <input name="" type="checkbox" value=""
+                                            class="society_inp_checkbox_box_li_3_btn hand">
+                                    </div> -->
+                                    <a class="society_li_3_a" href="" title="">
+                                        <div class="society_li_3_head_box clearfix">
+                                            <div class="society_li_3_head clearfix dot1">
+                                                {{ item.name }}
+                                            </div>
+                                            <div class="society_li_3_head_name clearfix dot1">
+                                                {{ item.jtzw_name }}
+                                            </div>
+                                        </div>
+                                        <div class="society_li_3_text_box clearfix">
+                                            <div class="society_li_3_text">
+                                                {{ item.sexy == 1 ? '男' : '女' }}
+                                                <em class="point">·</em>
+                                            </div>
+                                            <div class="society_li_3_text" v-if="item.experience">
+                                                {{ item.experience }}年
+                                                <em class="point">·</em>
+                                            </div>
+                                            <div class="society_li_3_text">
+                                                {{ item.origin }}
+                                                <em class="point">·</em>
+                                            </div>
+                                            <div class="society_li_3_text">{{ item.hy_name }}</div>
+                                        </div>
+                                        <div class="society_li_3_tag_box clearfix">
+                                            <span class="society_li_3_tag">{{ item.city_name }}</span>
+                                            <span class="society_li_3_tag">
+                                                {{ getTime(item.updated_at, 'year', 1) }}
+                                            </span>
+                                        </div>
+                                    </a>
+                                </div>
+                            </div>
+                            <div class="pagination">
+                                <el-pagination size="small" background layout="prev, pager, next" :total="total"
+                                    class="mt-4" prev-text="上一页" next-text="下一页" @change="change" />
+                            </div>
+                        </div>
+                        <!-- 招人才 -->
+                    </div>
+                    <!-- 选项卡 -->
+                </section>
+                <!-- 招聘职位 -->
+                <!-- <div class="cruit_alert_box">投递成功</div> -->
+            </main>
+        </main>
+
+
+
+        <!-- 页面底部 -->
+        <HomeFoot1></HomeFoot1>
+    </div>
+</template>
+
+<script setup>
+//1.页面必备依赖 start ---------------------------------------->
+import { ElBreadcrumb, ElBreadcrumbItem, ElPagination } from 'element-plus'
+import { ArrowRight } from '@element-plus/icons-vue'
+import { ref, onMounted } from 'vue';
+//当前列表名称
+const name = ref('')
+const cruit_ul_1_a_only_num = ref(0)
+const society_choice_1_num = ref(2)   // 选项卡
+const { $webUrl, $CwebUrl, $BwebUrl } = useNuxtApp()
+
+//格式化跳转路径
+const getLinkPathDetail = (item) => {
+    if (item.islink == 1) {
+        return `${item.linkurl}`;
+    } else {
+        //return `/${item.aLIas_pinyin}/${item.id}`;
+        //return `/newsDetail/${item.id}`
+        return `/${item.pinyin}/${item.id}.html`;
+    }
+}
+//1.页面必备依赖 end ---------------------------------------->
+
+//1.获得路由id start ---------------------------------------->
+const route = useRoute();
+let articleId = 0;//路由id
+let pageNum = ref(2);
+let total = ref(1);
+let zptotal = ref(1);
+let qztotal = ref(1);
+let page = ref(1);
+let pageSize = ref(20);
+
+//获得当前的完整路径
+const fullPath = route.path;
+//拆分,取出来中间这一段,然后提取数字部分
+const segments = fullPath.split('/');
+const targetSegment = segments[2];
+const targetRoute = segments[1];
+
+//const numberPart = targetSegment.match(/\d+$/)?.[0]; 
+//let routeId = 20 //排除路径错误可以打开这个
+//articleId = numberPart;
+
+//通过导航路径反向查询导航id
+const getRouteId = await requestDataPromise('/web/getWebsiteRoute', {
+    method: 'GET',
+    query: {
+        'pinyin': targetSegment,
+    },
+});
+if (getRouteId.code == 200) {
+    articleId = getRouteId.data.category_id
+} else {
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    console.log("错误位置:通过url路径查询导航池id")
+    console.log("后端错误反馈:", getRouteId.message)
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+}
+//获得html前的数字
+// const pageUrl = segments[3]; 
+// const pageNumber = pageUrl.split('.')[0];
+// console.log("当前URL中的页码:")
+// console.log(pageNumber)//2
+// pageNum.value = parseInt(pageNumber);
+pageNum.value = parseInt(route.params.id);
+
+//1.获得路由id end ---------------------------------------->
+
+//2.页面数据 start ---------------------------------------->
+// 2.1 获取岗位和简历
+const job_vacancy = ref('') // 招聘岗位
+const job_resume = ref('') // 简历
+const getJob = async () => {
+    const getJob = await requestDataPromise('/web/getWebsiteJobList', {
+        method: 'GET',
+        query: {
+            'catid': 20,
+            'page': page.value,
+            'pageSize': pageSize.value
+        },
+    });
+    if (getJob.code == 200) {
+        console.log("获取到的岗位和简历:", getJob.data);
+        job_vacancy.value = getJob.data.JobRecruiting; // 招聘岗位
+        job_resume.value = getJob.data.JobHunting; // 简历
+        if (society_choice_1_num == 1) {
+            total.value = getJob.data.recruit_count;
+        } else {
+            total.value = getJob.data.hunt_count;
+        }
+    }
+}
+getJob()
+//2.2新闻列表
+const newsList = ref([]);
+let newslists = async () => {
+    const listData = await requestDataPromise('/web/getWebsiteArticleList', {
+        method: 'GET',
+        query: {
+            'page': pageNum.value,
+            'pageSize': pageSize.value,
+            'catid': articleId
+        },
+    });
+    if (listData.code == 200) {
+        newsList.value = listData.data.rows;
+        total.value = listData.data.count;
+
+    } else {
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+        console.log("错误位置:获取新闻列表")
+        console.log("后端错误反馈:", listData.message)
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    }
+}
+//获得列表
+newslists();
+
+//分页事件
+let changePage = (value) => {
+    console.log("当前页码", value);
+    navigateTo(`/${targetSegment}/${value}.html`)
+}
+
+//2.3获得页面名称
+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("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+        console.log("错误位置:设置页面标题")
+        console.log("后端错误反馈:", pageName.message)
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    }
+}
+//获得列表
+getPageName();
+//2.页面数据 end ---------------------------------------->
+
+
+//3.二级栏目 start ---------------------------------------->
+//3.1通过id获取父栏目
+const parent_name = ref([]);
+const parent_id = ref([]);
+const parent_pinyin = ref("");
+let getParentNav = async () => {
+    const listData = await requestDataPromise('/web/getOneWebsiteCategory', {
+        method: 'GET',
+        query: {
+            'catid': articleId
+        },
+    });
+    if (listData.code == 200) {
+        console.log(111999)
+        console.log(listData.data);
+        parent_name.value = listData.data.parent_name;
+        parent_id.value = listData.data.parent_id;
+        parent_pinyin.value = listData.data.parent_pinyin;
+    } else {
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+        console.log("错误位置:获取新闻列表")
+        console.log("后端错误反馈:", listData.message)
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    }
+    getSecondNav();
+}
+//获得父级栏目详情
+getParentNav();
+
+// 3.2获取二级栏目
+const secondNav = ref([]);
+let getSecondNav = async () => {
+    const listData = await requestDataPromise('/web/getWebsiteModelCategory', {
+        method: 'GET',
+        query: {
+            'placeid': 1,
+            'pid': parent_id.value,
+            'num': 8,
+        },
+    });
+    console.log('listData', listData);
+
+    if (listData.code == 200) {
+        secondNav.value = listData.data;
+    } else {
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+        console.log("错误位置:获取新闻列表")
+        console.log("后端错误反馈:", listData.message)
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    }
+}
+//3.二级栏目 end ---------------------------------------->
+
+//4.设置seo信息 start---------------------------------------->
+//4.1 设置seo信息
+const setData = await requestDataPromise('/web/getWebsiteCategoryHead', {
+    method: 'GET',
+    query: {
+        'catid': articleId
+    },
+});
+
+if (setData.code == 200) {
+    let seoTitle = setData.data.seo_title;
+    let seoDescription = setData.data.seo_description;
+    let seoKeywords = setData.data.seo_keywords;
+    let seoSuffix = setData.data.suffix;
+    let seoName = setData.data.website_name;
+
+    useSeoMeta({
+        title: seoTitle + "_" + seoName + "_" + seoSuffix,
+        meta: [
+            { name: 'description', content: seoDescription + "_" + seoName + "_" + seoSuffix, tagPriority: 10 },
+            { name: 'keywords', content: seoKeywords + "_" + seoName + "_" + seoSuffix, tagPriority: 10 }
+        ]
+    });
+} else {
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    console.log("错误位置:设置列表页面SEO数据")
+    console.log("后端错误反馈:", setData.message)
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+}
+//4.设置seo信息 end---------------------------------------->
+
+
+//5.广告 start---------------------------------------->
+let adImg1 = ref({});
+let adImg2 = ref({});
+
+onMounted(async () => {
+
+    //从客户端获取行政职能部门 加快打开速度
+    const { $webUrl, $CwebUrl } = useNuxtApp();
+    //广告1
+    let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snzxw_list_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];
+
+    //广告2
+    let url2 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snzxw_list_0002`
+    const responseAd2 = await fetch(url2, {
+        headers: {
+            'Content-Type': 'application/json',
+            'Userurl': $CwebUrl,
+            'Origin': $CwebUrl
+        }
+    });
+    const resultAd2 = await responseAd2.json();
+    adImg2.value = resultAd2.data[0];
+
+})
+//5.广告 end---------------------------------------->
+</script>
+
+<style lang="less" scoped>
+@import url('@/assets/css/zgzplist.less');
+</style>

+ 1097 - 0
pages/zhaogongzhaopin/index.html.vue

@@ -0,0 +1,1097 @@
+<template>
+    <div>
+        <HomePageHead></HomePageHead>
+        <HomePageNavigation></HomePageNavigation>
+        <HomeSecondaryHeading :titleData="pageDataList" :pinyinid="routeId"></HomeSecondaryHeading>
+
+        <main class="index_main">
+            <!-- 三农资讯网-招工招聘 snzx_recruit-->
+            <section class="index_2">
+                <!-- 职位搜索 -->
+                <div class="recruit_head_box clearfix">
+                    <div class="cruit_head_left">
+                        <a class="cruit_head_a cruit_head_only" href="" title="">职位搜索</a>
+                    </div>
+                    <div class="cruit_head_right clearfix">
+                        <a class="cruit_head_right_a" href="" title="" v-if="job_search == 1 && type_id == 1">创建个人简历</a>
+                        <a class="cruit_head_right_a" href="" title="" v-if="job_search == 1 && type_id == 3">发布招聘信息</a>
+                    </div>
+                </div>
+                <div class="cruit_ul_1 clearfix">
+                    <NuxtLink class="cruit_ul_1_a" :class="{ cruit_ul_1_a_only: cruit_ul_1_a_only_num == index }"
+                        :href="{ path: '/zhaogongzhaopin/search', query: { provinceid: `${item.id}` } }" title=""
+                        v-for="(item, index) in provinceList" :key="item.id">
+                        {{ item.name }}
+                    </NuxtLink>
+                </div>
+                <form class="cruit_form clearfix" action=" " method=" ">
+                    <div class="cruit_form_tip clearfix">
+                        <div class="cruit_form_per">
+                            <label class="cruit_form_label">行业类别:</label>
+                            <div class="cruit_form_label_right clearfix">
+                                <el-select v-model="industry_category" placeholder="请选择" style="width: 140px"
+                                    @change="hyChange">
+                                    <el-option v-for="item in industry_categoryList" :key="item.hyid"
+                                        :label="item.hyname" :value="item.hyid" />
+                                </el-select>
+                            </div>
+                        </div>
+                        <div class="cruit_form_per">
+                            <label class="cruit_form_label">职位类别:</label>
+                            <div class="cruit_form_label_right clearfix">
+                                <el-select v-model="position_category" placeholder="请选择" style="width: 140px"
+                                    @change="zwChange">
+                                    <el-option v-for="item in position_categoryList" :key="item.zwid"
+                                        :label="item.zwname" :value="item.zwid" />
+                                </el-select>
+                            </div>
+                        </div>
+                        <div class="cruit_form_per">
+                            <label class="cruit_form_label">具体职位:</label>
+                            <div class="cruit_form_label_right clearfix">
+                                <el-select v-model="position" placeholder="请选择" style="width: 140px"
+                                    @change="jtzwChange">
+                                    <el-option v-for="item in positionList" :key="item.zwid" :label="item.zwname"
+                                        :value="item.zwid" />
+                                </el-select>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="cruit_form_tip clearfix">
+                        <div class="cruit_form_per">
+                            <label class="cruit_form_label">地区选择:</label>
+                            <div class="cruit_form_label_right clearfix">
+                                <el-select v-model="province" placeholder="请选择省" style="width: 140px"
+                                    @change="provinceChange">
+                                    <el-option v-for="item in provinceList" :key="item.id" :label="item.name"
+                                        :value="item.id" />
+                                </el-select>
+                                <el-select v-model="city" placeholder="请选择市" style="width: 140px" no-data-text="请先选择省"
+                                    @change="cityChange">
+                                    <el-option v-for="item in cityList" :key="item.id" :label="item.name"
+                                        :value="item.id" />
+                                </el-select>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="cruit_form_tip clearfix">
+                        <div class="cruit_form_per">
+                            <label class="cruit_form_label">关键词:</label>
+                            <div class="cruit_form_label_right clearfix">
+                                <el-input v-model="keywords" style="width: 300px" placeholder="请输入搜索关键词" />
+                                <!-- <NuxtLink
+                                    :href="{ path: '/zhaogongzhaopin/search', query: { hyid: `${hyid}`, zwid: `${zwid}`, jtzwid: `${jtzwid}`, provinceid: `${provinceid}`, cityid: `${cityid}`, keywords: `${keywords}` } }"> -->
+                                <el-button type="success" @click="goSearch">搜索</el-button>
+                                <!-- </NuxtLink> -->
+                            </div>
+                        </div>
+                    </div>
+                </form>
+                <!-- 职位搜索 -->
+            </section>
+        </main>
+        <main class="color_main">
+            <main class="index_main">
+                <!-- 招聘职位 -->
+                <section class="index_3 clearfix">
+                    <div class="recruit_head_box clearfix">
+                        <div class="cruit_head_left">
+                            <a class="cruit_head_a cruit_head_only" href="" title="">招聘职位</a>
+                        </div>
+                        <!-- <a class="cruit_head_a_more" href="" title=""> 更多 &gt </a> -->
+                    </div>
+                    <div class="cruit_ul_2 clearfix">
+                        <div class="cruit_li_2 clearfix" v-for="(item, index) in job_vacancy" :key="item.id">
+                            <NuxtLink class="cruit_li_2_a" :href="`/${item.pinyin}/${item.id}.html?type=${1}`" title="">
+                                <div class="cruit_li_2_head_box clearfix">
+                                    <div class="cruit_li_2_head clearfix dot1">{{ item.title }}</div>
+                                    <div class="cruit_li_2_head_name clearfix dot1">{{ item.business_name }}</div>
+                                </div>
+                                <div class="cruit_li_2_foot_title_box clearfix">
+                                    <span class="cruit_li_2_foot_title">{{ item.jtzw_name }}</span>
+                                </div>
+                                <div class="cruit_li_2_foot clearfix">
+                                    <span class="cruit_li_2_foot_tag cruit_li_2_foot_addres">{{ item.city_name }}</span>
+                                    <span class="cruit_li_2_foot_tag cruit_li_2_foot_exper"
+                                        v-if="item.experience_name || item.education_name">
+                                        <span class="cruit_li_2_foot_tag_in">{{ item.experience_name }}</span>
+                                        <span class="cruit_li_2_foot_tag_in">{{ item.education_name }}</span>
+                                    </span>
+                                    <span class="cruit_li_2_foot_tag cruit_li_2_foot_time">
+                                        {{ getTime(item.due_data, 'year', 1) }}
+                                    </span>
+                                </div>
+                            </NuxtLink>
+                        </div>
+                    </div>
+                </section>
+                <!-- 招聘职位 -->
+                <!-- 人才服务 -->
+                <section class="index_4 clearfix">
+                    <div class="recruit_head_box clearfix">
+                        <div class="cruit_head_left">
+                            <a class="cruit_head_a cruit_head_only" href="" title="">人才服务</a>
+                        </div>
+                        <!-- <a class="cruit_head_a_more" href="" title=""> 更多 &gt </a> -->
+                    </div>
+                    <div class="cruit_ul_3 clearfix">
+                        <div class="cruit_li_3 clearfix" v-for="(item, index) in job_resume" :key="item.id">
+                            <NuxtLink class="cruit_li_3_a" :href="`/${item.pinyin}/${item.id}.html?type=${2}`" title="">
+                                <div class="cruit_li_3_head_box clearfix">
+                                    <div class="cruit_li_3_head clearfix dot1">{{ item.name }}</div>
+                                    <div class="cruit_li_3_head_name clearfix dot1">{{ item.jtzw_name }}</div>
+                                </div>
+                                <div class="cruit_li_3_text_box clearfix">
+                                    <div class="cruit_li_3_text">
+                                        {{ item.sexy == 1 ? '男' : '女' }}
+                                        <em class="point">·</em>
+                                    </div>
+                                    <div class="cruit_li_3_text" v-if="item.experience">
+                                        {{ item.experience }} 年
+                                        <em class="point">·</em>
+                                    </div>
+
+                                    <div class="cruit_li_3_text">
+                                        {{ item.origin }}
+                                        <em class="point">·</em>
+                                    </div>
+
+                                    <div class="cruit_li_3_text">{{ item.hy_name }}</div>
+                                </div>
+                                <div class="cruit_li_3_tag_box clearfix">
+                                    <span class="cruit_li_3_tag">{{ item.city_name }}</span>
+                                    <!-- updated_at -->
+                                    <span class="cruit_li_3_tag">
+                                        {{ getTime(item.updated_at, 'year', 1) }}
+                                    </span>
+                                </div>
+                            </NuxtLink>
+                        </div>
+                    </div>
+                </section>
+                <!-- 人才服务-->
+            </main>
+        </main>
+        <HomeAdvertising :imgurl="adImg1" v-if="adImg1"></HomeAdvertising>
+        <!-- 资讯部分 -->
+        <!-- <div class="layoutCopy">
+            <div class="layoutCopyLeft">
+                <div class="layoutCopyLeftTop">
+                    <div class="layoutCopyLeft1" v-if="pageData.length >= 5">
+                        <div class="layoutTitleBox" v-if="pageData[4]">
+                            <div class="layoutTitle" v-if="pageData[4].cid">
+                                <NuxtLink v-if="pageData[4].cid" :href="getLinkPath(pageData[4])" class="active"
+                                    :title="pageData[4].alias">
+                                    {{ pageData[4].alias }}
+                                </NuxtLink>
+                            </div>
+                            <div class="layoutMore" v-if="pageData[4].cid">
+                                <NuxtLink v-if="pageData[4].cid" :href="getLinkPath(pageData[4])"
+                                    :title="pageData[4].alias">
+                                    查看更多
+                                </NuxtLink>
+                            </div>
+                        </div>
+                        <div class="layoutCopyData_style1" v-if="boxData5[0]">
+                            <NuxtLink :href="getLinkPathDetail(boxData5[0])" :title="boxData5[0].title"
+                                :target="boxData5[0].islink == 1 ? '_blank' : '_self'">
+                                <img :src="boxData5[0].imgurl" :alt="boxData5[0].title">
+                                <div>
+                                    <span>{{ boxData5[0].title }}</span>
+                                </div>
+                            </NuxtLink>
+                            <NuxtLink :href="getLinkPathDetail(boxData5data2[0])" :title="boxData5data2[0]"
+                                :target="boxData5data2[0].islink == 1 ? '_blank' : '_self'">
+                                <p class="title">{{ boxData5data2[0].title }}</p>
+                                <p>&nbsp;</p>
+                            </NuxtLink>
+                        </div>
+                    </div>
+                    <div class="layoutCopyLeft2" v-if="pageData.length >= 6">
+                        <div class="layoutTitleBox" v-if="pageData[5]">
+                            <div class="layoutTitle" v-if="pageData[5].cid">
+                                <NuxtLink v-if="pageData[5].cid" :href="getLinkPath(pageData[5])" class="active"
+                                    :title="pageData[5].alias">
+                                    {{ pageData[5].alias }}
+                                </NuxtLink>
+                            </div>
+                            <div class="layoutMore" v-if="pageData[5].cid">
+                                <NuxtLink v-if="pageData[5].cid" :href="getLinkPath(pageData[5])"
+                                    :title="pageData[5].alias">
+                                    查看更多
+                                </NuxtLink>
+                            </div>
+                        </div>
+                        <div class="layoutCopyData_style2">
+                            <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" v-for="item in boxData6"
+                                :target="item.islink == 1 ? '_blank' : '_self'">
+                                <p class="title">{{ item.title }}</p>
+                            </NuxtLink>
+                        </div>
+                    </div>
+                </div>
+                <div class="layoutCopyLeftBottom" v-if="pageData.length >= 7">
+                    <div class="layoutTitleBox" v-if="pageData[6]">
+                        <div class="layoutTitle" v-if="pageData[6].cid">
+                            <NuxtLink v-if="pageData[6].cid" :href="getLinkPath(pageData[6])" class="active"
+                                :title="pageData[6].alias">
+                                {{ pageData[6].alias }}
+                            </NuxtLink>
+                        </div>
+                        <div class="layoutMore" v-if="pageData[6].cid">
+                            <NuxtLink v-if="pageData[6].cid" :href="getLinkPath(pageData[6])"
+                                :title="pageData[6].alias">
+                                查看更多
+                            </NuxtLink>
+                        </div>
+                    </div>
+                    <div class="layoutCopyData_style3">
+                        <div v-for="(item, index) in boxData7">
+                            <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" class="style3link1"
+                                v-if="index == 0" :target="item.islink == 1 ? '_blank' : '_self'">
+                                <div class="time">
+                                    <p>{{ getTime(item.updated_at, 'day', 1) }}</p>
+                                    <p>{{ getTime(item.updated_at, 'month', 1) }}</p>
+                                </div>
+                                <div>
+                                    <p class="title">{{ item.title }}</p>
+                                    <p class="introduce">{{ item.introduce }}</p>
+                                </div>
+                            </NuxtLink>
+                            <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" class="style3link2"
+                                v-if="index > 0" :target="item.islink == 1 ? '_blank' : '_self'">
+                                <div>
+                                    <b></b>
+                                    <p class="title">{{ item.title }}</p>
+                                </div>
+                                <p>&nbsp;</p>
+                            </NuxtLink>
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div class="layoutCopyRight" v-if="pageData.length >= 8">
+                <div class="layoutTitleBox" v-if="pageData[7]">
+                    <div class="layoutTitle" v-if="pageData[7].cid">
+                        <NuxtLink v-if="pageData[7].cid" :href="getLinkPath(pageData[7])" class="active"
+                            :title="pageData[7].alias">
+                            {{ pageData[7].alias }}
+                        </NuxtLink>
+                    </div>
+                    <div class="layoutMore" v-if="pageData[7].cid">
+                        <NuxtLink v-if="pageData[7].cid" :href="getLinkPath(pageData[7])" :title="pageData[7].alias">
+                            查看更多
+                        </NuxtLink>
+                    </div>
+                </div>
+                <div class="layoutCopyData_style4">
+                    <div class="layoutCopyData_pic">
+                        <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" v-for="item in boxData8"
+                            :target="item.islink == 1 ? '_blank' : '_self'">
+                            <img :src="item.imgurl" :alt="item.title">
+                            <p>{{ item.title }}</p>
+                        </NuxtLink>
+                    </div>
+                    <div class="layoutCopyData_text">
+                        <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" v-for="item in boxData88"
+                            :target="item.islink == 1 ? '_blank' : '_self'">
+                            <div class="title">{{ item.title }}</div>
+                            <div class="more">详</div>
+                        </NuxtLink>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="farming">
+            <div class="inner">
+                <div class="farmerLeft">
+                    <div class="farmer">
+                        <h3>
+                            <div class="titleBoxTabs" v-if="pageData.length >= 9">
+                                <span class="active" v-if="pageData[8].cid">
+                                    <NuxtLink :href="getLinkPath(pageData[8])" :title="pageData[8].alias"
+                                        @mouseenter="tabsData1 = 1" :class="{ active: tabsData1 == 1 }">
+                                        {{ pageData[8].alias }}
+                                    </NuxtLink>
+                                </span>
+                                <span v-if="pageData[9].cid">
+                                    <NuxtLink :href="getLinkPath(pageData[9])" :title="pageData[9].alias"
+                                        @mouseenter="tabsData1 = 2" :class="{ active: tabsData1 == 2 }">
+                                        {{ pageData[9].alias }}
+                                    </NuxtLink>
+                                </span>
+                            </div>
+                        </h3>
+                        <ul class="mode1ul_style1" v-if="tabsData1 == 1">
+                            <li v-for="(item, index) in boxData9" class="imgbg">
+                                <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
+                                    :target="item.islink == 1 ? '_blank' : '_self'">
+                                    <img :src="item.imgurl" :alt="item.title">
+                                    <div>
+                                        <p>
+                                            <span v-if="index == 0">专题</span>
+                                            {{ item.title }}
+                                        </p>
+                                        <p>&nbsp;</p>
+                                    </div>
+                                </NuxtLink>
+                            </li>
+                        </ul>
+                        <ul class="mode1ul_style2" v-if="tabsData1 == 1">
+                            <li v-for="item in boxData9data2">
+                                <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
+                                    :target="item.islink == 1 ? '_blank' : '_self'">
+                                    <p class="title">{{ item.title }}</p>
+                                    <p>&nbsp;</p>
+                                </NuxtLink>
+                            </li>
+                        </ul>
+                        <ul class="mode1ul_style1" v-if="tabsData1 == 2">
+                            <li v-for="(item, index) in boxData10" class="imgbg">
+                                <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
+                                    :target="item.islink == 1 ? '_blank' : '_self'">
+                                    <img :src="item.imgurl" :alt="item.title">
+                                    <div>
+                                        <p>
+                                            <span v-if="index == 0">专题</span>
+                                            {{ item.title }}
+                                        </p>
+                                        <p>&nbsp;</p>
+                                    </div>
+                                </NuxtLink>
+                            </li>
+                        </ul>
+                        <ul class="mode1ul_style2" v-if="tabsData1 == 2">
+                            <li v-for="item in boxData10data2">
+                                <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
+                                    :target="item.islink == 1 ? '_blank' : '_self'">
+                                    <p class="title">{{ item.title }}</p>
+                                    <p>&nbsp;</p>
+                                </NuxtLink>
+                            </li>
+                        </ul>
+                    </div>
+                </div>
+                <div class="farmerRight">
+                    <div class="rich" v-if="pageData.length >= 11">
+                        <h3 v-if="pageData[10]">
+                            <span v-if="pageData[10].cid">
+                                <NuxtLink v-if="pageData[10].cid" :href="getLinkPath(pageData[10])" class="active"
+                                    :title="pageData[10].alias">
+                                    {{ pageData[10].alias }}
+                                </NuxtLink>
+                            </span>
+                            <NuxtLink v-if="pageData[10].cid" :href="getLinkPath(pageData[10])"
+                                :title="pageData[10].alias">
+                                查看更多
+                            </NuxtLink>
+                        </h3>
+                        <div class="richList">
+                            <div class="richListPic" v-if="boxData11[0]">
+                                <NuxtLink :href="getLinkPathDetail(boxData11[0])" :title="boxData11[0].title"
+                                    :target="boxData11[0].islink == 1 ? '_blank' : '_self'">
+                                    <img :src="boxData11[0].imgurl" :alt="boxData11[0].title">
+                                    <div>
+                                        <span>{{ boxData11[0].title }}</span>
+                                    </div>
+                                </NuxtLink>
+                            </div>
+                            <div class="richListText" v-if="boxData11data2[0]">
+                                <NuxtLink :href="getLinkPathDetail(boxData11data2[0])" :title="boxData11data2[0].title"
+                                    :target="boxData11data2[0].islink == 1 ? '_blank' : '_self'">
+                                    <span>{{ boxData11data2[0].title }}</span>
+                                </NuxtLink>
+                            </div>
+                            <div class="richListText" v-if="boxData11data2[1]">
+                                <NuxtLink :href="getLinkPathDetail(boxData11data2[1])" :title="boxData11data2[1].title"
+                                    :target="boxData11data2[1].islink == 1 ? '_blank' : '_self'">
+                                    <span>{{ boxData11data2[1].title }}</span>
+                                </NuxtLink>
+                            </div>
+                            <div class="richListPictow" v-if="boxData11[1]">
+                                <NuxtLink :href="getLinkPathDetail(boxData11[1])" :title="boxData11[1].title"
+                                    :target="boxData11[1].islink == 1 ? '_blank' : '_self'">
+                                    <img :src="boxData11[1].imgurl" :alt="boxData11[1].title">
+                                    <div>
+                                        <span>{{ boxData11[1].title }}</span>
+                                    </div>
+                                </NuxtLink>
+                            </div>
+                            <div class="richListText" v-if="boxData11data2[2]">
+                                <NuxtLink :href="getLinkPathDetail(boxData11data2[2])" :title="boxData11data2[2].title"
+                                    :target="boxData11data2[2].islink == 1 ? '_blank' : '_self'">
+                                    <span>{{ boxData11data2[2].title }}</span>
+                                </NuxtLink>
+                            </div>
+                            <div class="richListText" v-if="boxData11data2[3]">
+                                <NuxtLink :href="getLinkPathDetail(boxData11data2[3])" :title="boxData11data2[3].title"
+                                    :target="boxData11data2[3].islink == 1 ? '_blank' : '_self'">
+                                    <span>{{ boxData11data2[3].title }}</span>
+                                </NuxtLink>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div> -->
+
+        <HomeFoot1></HomeFoot1>
+    </div>
+</template>
+
+<script setup>
+//0.加载页面依赖 start ---------------------------------------->
+import { ref, onMounted } from 'vue';
+import { ElMessage, ElSelect, ElOption, ElInput, ElButton } from 'element-plus';
+
+//格式化跳转路径 - 标题
+//首页分类栏目标题,不需要考虑外链
+const getLinkPath = (item) => {
+    //return `/${item.url}/1.html`;
+    //return `/newsList/${item.cid}?page=1`;
+    return `/${item.aLIas_pinyin}/list-1.html`;
+}
+//首页跳转到详情,这里需要考虑外链
+const getLinkPathDetail = (item) => {
+    if (item.islink == 1) {
+        return `${item.linkurl}`;
+    } else {
+        //return `/${item.aLIas_pinyin}/${item.id}`;
+        //return `/newsDetail/${item.id}`
+        return `/${item.pinyin}/${item.id}.html`;
+    }
+}
+
+//获取用户信息
+let type_id = ref('')
+const gettypeid = await requestDataPromise('/user/getUserInfo', {
+    method: 'GET',
+    query: {},
+});
+// console.log("gettypeid", gettypeid);
+if (gettypeid.code == 200) {
+    type_id.value = gettypeid.data.type_id
+}
+//0.加载页面依赖 end ---------------------------------------->
+
+//1.获得路由id start ---------------------------------------->
+const route = useRoute();
+
+//获得当前的完整路径
+const fullPath = route.path;
+//拆分,取出来中间这一段,然后提取数字部分
+const segments = fullPath.split('/');
+const targetSegment = segments[1];
+//let routeId = 11 //排除路径错误可以打开这个
+//const numberPart = targetSegment.match(/\d+$/)?.[0]; 
+//let routeId = numberPart;
+let routeId;
+//通过导航路径反向查询导航id
+const getRouteId = await requestDataPromise('/web/getWebsiteRoute', {
+    method: 'GET',
+    query: {
+        'pinyin': targetSegment,
+    },
+});
+if (getRouteId.code == 200) {
+    routeId = getRouteId.data.category_id
+} else {
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    console.log("错误位置:通过url路径查询导航池id")
+    console.log("后端错误反馈:", getRouteId.message)
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+}
+//1.获得路由id end ---------------------------------------->
+
+//2.页面交互效果 start ---------------------------------------->
+// 2.1 下拉列表
+// 2.1.1 获取省份
+const province = ref('')  //省
+const provinceid = ref('')  //省
+const city = ref('')  //市
+const provinceList = ref([])  //省列表
+const cityList = ref([])  //市列表
+const getArea = await requestDataPromise('/web/selectWebsiteArea', {
+    method: 'GET',
+    query: {},
+});
+if (getArea.code == 200) {
+    provinceList.value = getArea.data;
+}
+// 2.1.2 获取市
+const provinceChange = async (val) => {
+    console.log('获取到的省份id', val);
+    provinceid.value = val;
+    getCity(val)
+}
+const getCity = async (val) => {
+    const getCity = await requestDataPromise('/web/selectWebsiteArea', {
+        method: 'GET',
+        query: {
+            'pid': val,
+        },
+    });
+    if (getCity.code == 200) {
+        cityList.value = getCity.data;
+    }
+}
+
+// 2.2.1 行业和职位
+const industry_category = ref('')  //行业类别
+const position_category = ref('')  //职位类别
+const position = ref('')  //具体职位
+const keywords = ref('')  //关键词
+const industry_categoryList = ref([])  //行业类别列表
+const position_categoryList = ref([])  //职位类别列表
+const positionList = ref([])  //具体职位列表
+
+const getData = async () => {
+    const getData = await requestDataPromise('/web/getWebsiteJobSelect', {
+        method: 'GET',
+        query: {},
+    });
+    if (getData.code == 200) {
+        // console.log("获取到的分类数据:", getData.data);
+        industry_categoryList.value = getData.data.hy; //行业
+        position_categoryList.value = getData.data.zw; //职位
+        positionList.value = getData.data.jtzw; //具体职位
+    }
+}
+getData()
+//2.2.2 获取岗位和简历
+const job_vacancy = ref('') // 招聘岗位
+const job_resume = ref('') // 简历
+const getJob = async () => {
+    const getJob = await requestDataPromise('/web/getWebsiteJob', {
+        method: 'GET',
+        query: {
+            'job1_num': 6,
+            'job2_num': 9
+        },
+    });
+    if (getJob.code == 200) {
+        console.log("获取到的岗位和简历:", getJob.data);
+        job_vacancy.value = getJob.data.job_recuiting; // 招聘岗位
+        job_resume.value = getJob.data.job_hunting; // 简历
+    }
+}
+getJob()
+
+// 2.3 change事件
+const hyid = ref('')  //行业
+const zwid = ref('')  //职位
+const jtzwid = ref('')  //具体职位
+const cityid = ref('')  //具体城市
+const hyChange = async (val) => {
+    hyid.value = val;
+}
+const zwChange = async (val) => {
+    zwid.value = val;
+}
+const jtzwChange = async (val) => {
+    jtzwid.value = val;
+}
+const cityChange = async (val) => {
+    cityid.value = val;
+}
+
+//2.3 搜索
+const router = useRouter();
+const goSearch = async () => {
+    router.push({
+        path: '/zhaogongzhaopin/search',
+        query: {
+            'hyid': hyid.value,
+            'zwid': zwid.value,
+            'jtzwid': jtzwid.value,
+            'provinceid': provinceid.value,
+            'cityid': cityid.value,
+            'keywords': keywords.value,
+        }
+    })
+}
+
+
+//2.4 展示广告
+let adImg1 = ref({})
+let adImg2 = ref({})
+let adImg3 = ref({})
+let adImg4 = ref({})
+onMounted(async () => {
+    //从客户端获取行政职能部门 加快打开速度
+    const { $webUrl, $CwebUrl } = useNuxtApp();
+    //广告1
+    let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snzxw_category_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];
+
+    //广告2
+    let url2 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snzxw_category_0002`
+    const responseAd2 = await fetch(url2, {
+        headers: {
+            'Content-Type': 'application/json',
+            'Userurl': $CwebUrl,
+            'Origin': $CwebUrl
+        }
+    });
+    const resultAd2 = await responseAd2.json();
+    adImg2.value = resultAd2.data[0];
+
+    //广告3
+    let url3 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snzxw_category_0003`
+    const responseAd3 = await fetch(url3, {
+        headers: {
+            'Content-Type': 'application/json',
+            'Userurl': $CwebUrl,
+            'Origin': $CwebUrl
+        }
+    });
+    const resultAd3 = await responseAd3.json();
+    adImg3.value = resultAd3.data[0];
+
+    //广告4
+    let url4 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snzxw_category_0004`
+    const responseAd4 = await fetch(url4, {
+        headers: {
+            'Content-Type': 'application/json',
+            'Userurl': $CwebUrl,
+            'Origin': $CwebUrl
+        }
+    });
+    const resultAd4 = await responseAd4.json();
+    adImg4.value = resultAd4.data[0];
+
+})
+//2.页面交互效果 end ---------------------------------------->
+
+//3.渲染页面数据 start ---------------------------------------->
+//3.1 该页面上所有的导航池 转为动态数据
+//3.1 该页面上所有的导航池 转为动态数据
+const pageCategory = ref([]);
+//3.2 该页面上需要渲染的所有数据
+const pageData = ref([])
+const pageDataList = ref([])
+//3.3 获取所有导航
+try {
+    const navigateData = await requestDataPromise('/web/getWebsiteModelCategory', {
+        method: 'GET',
+        query: {
+            'placeid': 1,
+            'pid': routeId,
+            'num': 8
+        },
+    });
+    if (navigateData.code == 200) {
+        // 遍历可用的导航池放到页面中
+        for (let index in navigateData.data) {
+            let data = {
+                title: navigateData.data[index].name,
+                cid: navigateData.data[index].category_id,
+                children_count: navigateData.data[index].children_count,
+                alias: navigateData.data[index].alias,
+                aLIas_pinyin: targetSegment + "/" + navigateData.data[index].aLIas_pinyin,
+                data: [],
+                data1: [],
+                data2: [],
+                data3: [],
+                data4: [],
+                category_id1: "",
+                category_id2: "",
+                category_id3: "",
+                category_id4: "",
+                title1: "",
+                title2: "",
+                title3: "",
+                title4: ""
+            };
+            console.log("导航池数据:", navigateData.data[index]);
+
+            if (navigateData.data[index].type == 1) {
+                //每个页面最多8个模块
+                pageData.value.push(data);
+            }
+
+            if (navigateData.data[index].is_url == 1) {
+                // 处理 URL 的逻辑
+            } else {
+                //每个页面最多8个模块
+                pageDataList.value.push(data);
+            }
+        }
+        console.log("导航池数据11:", pageDataList.value);
+        //导航池加载完毕,开始申请模块数据
+        // await getPageData1();
+        // await getPageData2();
+        // await getPageData3();
+        // await getPageData4();
+        // await getPageData5();
+        // await getPageData6();
+        // await getPageData7();
+        // await getPageData8();
+        let getJson = [
+            { "parent": routeId + ",0,0", "child": pageDataList.value[0].cid + ",1,1" },//模块1理论前沿
+            { "parent": routeId + ",0,0", "child": pageDataList.value[1].cid + ",5,0" },//模块2典型经验
+            { "parent": routeId + ",0,0", "child": pageDataList.value[2].cid + ",1,6" },//模块3农业天地
+            { "parent": routeId + ",0,0", "child": pageDataList.value[3].cid + ",1,6" },//模块4美丽乡村
+            { "parent": routeId + ",0,0", "child": pageDataList.value[4].cid + ",1,6" },//模块5农民之家
+            { "parent": routeId + ",0,0", "child": pageDataList.value[5].cid + ",6,3" },//模块6农业天地
+        ]
+
+        let jsonString = JSON.stringify(getJson);
+        getPageAllData(jsonString);
+
+    } else {
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+        console.log("错误位置:分类页导航池")
+        console.log("后端错误反馈:", navigateData.message)
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    }
+} catch (error) {
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    console.log("错误位置:分类页导航渲染阶段")
+    console.log("错误:导航池渲染执行接口出错!请检查首页的14的模块的具体执行方法!")
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+}
+//获取资讯
+async function getPageAllData(jsonString) {
+    const mkdata = await requestDataPromise('/web/getWebsiteAllArticle', {
+        method: 'GET',
+        query: {
+            'id': jsonString
+        },
+    });
+    console.log('mkdata', mkdata);
+
+    if (mkdata.code == 200) {
+        console.log(778899)
+        console.log(mkdata.data)
+        //模块1理论前沿
+        if (mkdata.data[0].child.imgnum.length > 0) {
+            pageData.value[0].data.push(mkdata.data[0].child.imgnum[0]);
+        }
+        if (mkdata.data[0].child.imgnum.length > 1) {
+            pageData.value[0].data2.push(mkdata.data[0].child.imgnum[1]);
+        }
+        if (mkdata.data[0].child.imgnum.length > 2) {
+            pageData.value[0].data2.push(mkdata.data[0].child.imgnum[2]);
+        }
+        if (mkdata.data[0].child.imgnum.length > 3) {
+            pageData.value[0].data2.push(mkdata.data[0].child.imgnum[3]);
+        }
+        if (mkdata.data[0].child.imgnum.length > 4) {
+            pageData.value[0].data2.push(mkdata.data[0].child.imgnum[4]);
+        }
+        pageData.value[0].data3 = mkdata.data[0].child.textnum;
+        //模块2典型经验
+        pageData.value[1].data = mkdata.data[1].child.imgnum;
+        //模块3农业天地
+        pageData.value[2].data = mkdata.data[2].child.imgnum;
+        pageData.value[2].data2 = mkdata.data[2].child.textnum;
+        //模块4美丽乡村
+        pageData.value[3].data = mkdata.data[3].child.imgnum;
+        pageData.value[3].data2 = mkdata.data[3].child.textnum;
+        //模块5农民之家
+        pageData.value[4].data = mkdata.data[4].child.imgnum;
+        pageData.value[4].data2 = mkdata.data[4].child.textnum;
+        //模块6农业天地 注意,三农资讯网跟其他行星站不一样,你不需要复制我这个
+        //因为本来二级分类页有9个模块,但是实际应用中只有8个,所以我把本来是模块7
+        //的地方和现有的模块6合并成1个了
+        if (mkdata.data[5].child.imgnum.length > 0) {
+            pageData.value[5].data.push(mkdata.data[5].child.imgnum[0]);
+        }
+        pageData.value[5].data2 = mkdata.data[5].child.textnum;
+        //把模块6的内容放到模块7中一部分
+        for (let i = 1; i < mkdata.data[5].child.imgnum.length && i <= 5; i++) {
+            pageData.value[7].data.push(mkdata.data[5].child.imgnum[i]);
+        }
+        //模块7农村建设
+        pageData.value[6].data = mkdata.data[6].child.imgnum;
+        pageData.value[6].data2 = mkdata.data[6].child.textnum;
+        //模块8高端资讯
+        pageData.value[7].data2 = mkdata.data[7].child.imgnum;
+
+    } else {
+        ElMessage.error(mkdata.message)
+    }
+}
+
+//5.页面基本信息 start---------------------------------------->
+//5.1 导航信息
+// const pageData = ref([
+//     // { cid: "", title: "", data: [] ,children_count:""},
+// ]);
+// //5.2 模块数据
+// //注意前置变量 在nuxt3的ssr模式中,并不存在变量提升。
+// //模块1
+// const boxData1 = ref([])
+// const boxData1data2 = 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([]);
+// //模块8
+// const boxData8 = ref([]);
+// const boxData88 = ref([]);
+// //模块9 模块10 切换
+// const tabsData1 = ref(1)
+// //模块9
+// const boxData9 = ref([]);
+// const boxData9data2 = ref([]);
+// //模块10 
+// const boxData10 = ref([]);
+// const boxData10data2 = ref([]);
+// //模块11
+// const boxData11 = ref([]);
+// const boxData11data2 = ref([]);
+// //模块12 模块13 切换
+// const tabsData2 = ref(1)
+// //模块12
+// const boxData12 = ref([]);
+// //模块13 - 该模块只有一个入口
+// const boxData13 = ref([]);
+// //模块14 模块15 切换
+// const tabsData3 = ref(1)
+// //模块14 - 该模块含有子导航
+// const boxData14 = ref([]);
+// const boxData14data2 = ref([]);
+// const boxData14menu = ref([]);
+// const boxData14childpinyin = ref([]);
+// const boxData14mainData = ref([]);
+// //模块15
+// const boxData15 = ref([]);
+// const boxData15data2 = ref([]);
+// const boxData15menu = ref([]);
+// const boxData15childpinyin = ref([]);
+// const boxData15mainData = ref([]);
+// //模块16 模块17 切换
+// const tabsData4 = ref(1)
+// //模块16 - 该模块含有子导航
+// const boxData16 = ref([]);
+// const boxData16data2 = ref([]);
+// const boxData16menu = ref([]);
+// const boxData16childpinyin = ref([]);
+// const boxData16mainData = ref([]);
+// //模块17 - 政策法规 本来这个是模块3 原来是单独放到一个模块中的,现在提出来了
+// const boxData17 = ref({})
+
+
+// //3.2获得导航数据
+// try {
+//     const navigateData = await requestDataPromise('/web/getWebsiteModelCategory', {
+//         method: 'GET',
+//         query: {
+//             'placeid': 1,
+//             'pid': 0,
+//             'num': 30
+//         },
+//     });
+//     if (navigateData.code == 200) {
+//         // 遍历可用的导航池放到页面中
+//         for (let index in navigateData.data) {
+//             let data = {
+//                 title: navigateData.data[index].name,
+//                 cid: navigateData.data[index].category_id,
+//                 children_count: navigateData.data[index].children_count,
+//                 alias: navigateData.data[index].alias,
+//                 aLIas_pinyin: navigateData.data[index].aLIas_pinyin
+//             };
+//             //主体渲染 第一层
+//             //新农村11
+//             if (navigateData.data[index].category_id == 11) { pageData.value[0] = data }
+//             //农民工317
+//             if (navigateData.data[index].category_id == 317) { pageData.value[1] = data }
+//             //第二层
+//             //政策法规1
+//             if (navigateData.data[index].category_id == 1) { pageData.value[2] = data }
+//             //三农之窗2
+//             if (navigateData.data[index].category_id == 2) { pageData.value[3] = data }
+//             //第三层
+//             //区域经济5
+//             if (navigateData.data[index].category_id == 5) { pageData.value[4] = data }
+//             //三农投资6
+//             if (navigateData.data[index].category_id == 12) { pageData.value[5] = data }
+//             //农贸信息13
+//             if (navigateData.data[index].category_id == 13) { pageData.value[6] = data }
+//             //书刊信息24
+//             if (navigateData.data[index].category_id == 24) { pageData.value[7] = data }
+//             //第四层
+//             //三农科教14
+//             if (navigateData.data[index].category_id == 14) { pageData.value[8] = data }
+//             //文化生活15
+//             if (navigateData.data[index].category_id == 15) { pageData.value[9] = data }
+//             //三农服务27
+//             if (navigateData.data[index].category_id == 27) { pageData.value[10] = data }
+//             //第五层
+//             //三农探索16
+//             if (navigateData.data[index].category_id == 16) { pageData.value[11] = data }
+//             //三农人物18
+//             if (navigateData.data[index].category_id == 18) { pageData.value[12] = data }
+//             //第六层
+//             //农资购销21
+//             if (navigateData.data[index].category_id == 21) { pageData.value[13] = data }
+//             //农产购销153
+//             if (navigateData.data[index].category_id == 153) { pageData.value[14] = data }
+//             //第七层
+//             //打假维权26
+//             if (navigateData.data[index].category_id == 26) { pageData.value[15] = data }
+//         }
+//     } else {
+//         console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+//         console.log("错误位置:首页导航池")
+//         console.log("后端错误反馈:", navigateData.message)
+//         console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+//     }
+// } catch (error) {
+//     console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+//     console.log("错误位置:首页导航渲染阶段")
+//     console.log("错误:导航池渲染执行接口出错!请检查首页的14的模块的具体执行方法!")
+//     console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+// }
+
+
+
+// let getJson = [
+//     { "parent": "11,2,8", "child": "" },//模块1新农村 
+//     { "parent": "317,0,8", "child": "" },//模块2农民工 
+//     { "parent": "2,0,5", "child": "" },//模块4三农之窗
+//     { "parent": "5,1,1", "child": "" },//模块5区域经济
+//     { "parent": "12,0,3", "child": "" },//模块6三农投资 
+//     { "parent": "13,0,4", "child": "" },//模块7农贸信息 
+//     { "parent": "24,2,7", "child": "" },//模块8书刊信息
+//     { "parent": "14,2,8", "child": "" },//模块9三农科教 
+//     { "parent": "15,2,8", "child": "" },//模块10文化生活
+//     { "parent": "27,2,4", "child": "" },//模块11三农服务27
+//     { "parent": "16,0,14", "child": "" },//模块12三农探索16
+//     { "parent": "18,0,14", "child": "" },//模块13三农人物18
+//     { "parent": "21,2,8", "child": "188,0,5" },//模块14农资购销
+//     { "parent": "153,2,8", "child": "258,0,5" },//模块15农产购销
+//     { "parent": "26,4,8", "child": "191,0,5" },//模块16打假维权
+//     { "parent": "1,4,8", "child": "" },//模块3政策法规
+// ]
+
+// let jsonString = JSON.stringify(getJson);
+
+// async function getPageAllData() {
+//     const mkdata = await requestDataPromise('/web/getWebsiteAllArticle', {
+//         method: 'GET',
+//         query: {
+//             'id': jsonString
+//         },
+//     });
+//     console.log("makdata:", mkdata);
+
+
+//     if (mkdata.code == 200) {
+//         //模块1新农村
+//         boxData1.value = mkdata.data[0].imgnum;
+//         boxData1data2.value = mkdata.data[0].textnum;
+//         //模块2农名工
+//         boxData2.value = mkdata.data[1].textnum;
+//         //模块4三农之窗
+//         boxData4.value = mkdata.data[2].textnum;
+//         //模块5区域经济
+//         boxData5.value = mkdata.data[3].imgnum;
+//         boxData5data2.value = mkdata.data[3].textnum;
+//         //模块6三农投资
+//         boxData6.value = mkdata.data[4].textnum;
+//         //模块7农贸信息
+//         boxData7.value = mkdata.data[5].textnum;
+//         //模块8书刊信息
+//         boxData8.value = mkdata.data[6].imgnum;
+//         boxData88.value = mkdata.data[6].textnum;
+//         //模块9三农科教
+//         boxData9.value = mkdata.data[7].imgnum;
+//         boxData9data2.value = mkdata.data[7].textnum;
+//         //模块10文化生活
+//         boxData10.value = mkdata.data[8].imgnum;
+//         boxData10data2.value = mkdata.data[8].textnum;
+//         //模块11三农服务
+//         boxData11.value = mkdata.data[9].imgnum;
+//         boxData11data2.value = mkdata.data[9].textnum;
+//         //模块12三农探索
+//         boxData12.value = mkdata.data[10].textnum;
+//         //模块13三农人物
+//         boxData13.value = mkdata.data[11].textnum;
+//         //模块14农资购销 该栏目含有子导航
+//         boxData14.value = mkdata.data[12].imgnum;
+//         boxData14data2.value = mkdata.data[12].textnum;
+//         boxData14menu.value = mkdata.data[12].child.all_childcat;
+//         boxData14childpinyin.value = mkdata.data[12].child.pinyin;
+//         boxData14mainData.value = mkdata.data[12].child.textnum;
+//         //模块14农产购销 
+//         boxData15.value = mkdata.data[13].imgnum;
+//         boxData15data2.value = mkdata.data[13].textnum;
+//         boxData15menu.value = mkdata.data[13].child.all_childcat;
+//         boxData15childpinyin.value = mkdata.data[13].child.pinyin;
+//         boxData15mainData.value = mkdata.data[13].child.textnum;
+//         //模块15打假维权 
+//         boxData16.value = mkdata.data[14].imgnum;
+//         boxData16data2.value = mkdata.data[14].textnum;
+//         boxData16menu.value = mkdata.data[14].child.all_childcat;
+//         boxData16childpinyin.value = mkdata.data[14].child.pinyin;
+//         boxData16mainData.value = mkdata.data[14].child.textnum;
+//         //模块17政策法规
+//         boxData17.value = mkdata.data[15];
+
+//     } else {
+//         ElMessage.error(mkdata.message)
+//     }
+// }
+// getPageAllData();
+
+//5.页面基本信息 end---------------------------------------->
+
+
+//4.设置seo信息 start---------------------------------------->
+const setData = await requestDataPromise('/web/getWebsiteCategoryHead', {
+    method: 'GET',
+    query: {
+        'catid': routeId
+    },
+});
+
+if (setData.code == 200) {
+    let seoTitle = setData.data.seo_title;
+    let seoDescription = setData.data.seo_description;
+    let seoKeywords = setData.data.seo_keywords;
+    let seoSuffix = setData.data.suffix;
+    let seoName = setData.data.website_name;
+
+    useSeoMeta({
+        title: seoTitle + "_" + seoSuffix,
+        meta: [
+            { name: 'description', content: seoDescription + "_" + seoName + "_" + seoSuffix, tagPriority: 10 },
+            { name: 'keywords', content: seoKeywords + "_" + seoName + "_" + seoSuffix, tagPriority: 10 }
+        ]
+    });
+} else {
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    console.log("错误位置:设置分类页面SEO数据")
+    console.log("后端错误反馈:", setData.message)
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+}
+//4.设置seo信息 end---------------------------------------->
+
+
+
+</script>
+
+<style lang="less" scoped>
+@import '@/assets/css/zgzpClass.less';
+</style>

+ 860 - 0
pages/zhaogongzhaopin/search.vue

@@ -0,0 +1,860 @@
+<template>
+    <div id="newsList">
+        <!-- <el-checkbox v-model="checked1" label="" /> -->
+        <!-- 页面头部 -->
+        <HomePageHead></HomePageHead>
+
+        <!-- 导航栏 -->
+        <HomePageNavigation></HomePageNavigation>
+
+        <!-- 列表页广告一 -->
+        <HomeTopTen :imgurl="adImg1" v-if="adImg1"></HomeTopTen>
+
+        <!-- 二级标题-->
+        <div class="sannongzhichuang">
+            <div class="inner">
+                <h2>
+                    <NuxtLink :to="`/${parent_pinyin}/index.html`"> {{ parent_name }} </NuxtLink>
+                    <em class="iconfont icon-xingzhuang-zhijiaosanjiaoxing-copy"></em>
+                </h2>
+                <p class="introduction">
+                    <strong>频道介绍</strong>
+                <div v-for="(item, index) in secondNav" :key="index">
+                    <span v-if="index <= 7">
+                        <NuxtLink :to="{ path: `/${targetRoute}/${item.aLIas_pinyin}/list-1.html` }">{{ item.alias }}
+                        </NuxtLink>
+                    </span>
+                    <b v-else></b>
+                </div>
+                </p>
+            </div>
+        </div>
+
+        <main class="index_main">
+            <!-- 三农资讯网-招工招聘-社会招聘 snzx_society -->
+            <section class="index_2">
+                <!-- 职位搜索 -->
+                <div class="recruit_head_box clearfix">
+                    <div class="cruit_head_left">
+                        <span class="cruit_head_a cruit_head_only">职位搜索</span>
+                    </div>
+                    <div class="cruit_head_right clearfix">
+                        <span class="cruit_head_right_a" @click="createResume"
+                            v-if="job_search == 1 && type_id == 1">创建个人简历</span>
+                        <span class="cruit_head_right_a" @click="createJob"
+                            v-if="job_search == 1 && type_id == 3">发布招聘信息</span>
+                    </div>
+                </div>
+                <form class="cruit_form clearfix" action=" " method=" ">
+                    <div class="society_form_tip clearfix">
+                        <label class="society_form_label">行业类别:</label>
+                        <div class="society_form_right_a_box clearfix">
+                            <a class="society_form_right_a" :class="{ society_form_right_a_only: hyid == '' || !hyid }"
+                                title="全部">
+                                全部
+                            </a>
+                            <NuxtLink v-for="(item, index) in industry_categoryList" :key="item">
+                                <span class="society_form_right_a"
+                                    :class="{ society_form_right_a_only: item.hyid == hyid }" :title="item.hyname"
+                                    v-if="index < 20 && hyIndex == 1">{{ item.hyname }}</span>
+                                <span class="society_form_right_a" v-if="hyIndex == 2"
+                                    :class="{ society_form_right_a_only: item.hyid == hyid }" :title="item.hyname">
+                                    {{ item.hyname }}
+                                </span>
+                            </NuxtLink>
+                            <span class="society_form_right_btn" @click="hyIndex = 2" v-if="hyIndex == 1">展开</span>
+                            <span class="society_form_right_btn" @click="hyIndex = 1" v-if="hyIndex == 2">收起</span>
+                        </div>
+                    </div>
+                    <div class="society_form_tip clearfix">
+                        <label class="society_form_label">职位类别:</label>
+                        <div class="society_form_right_a_box clearfix">
+                            <a class="society_form_right_a" :class="{ society_form_right_a_only: zwid == '' || !zwid }"
+                                title="">全部</a>
+                            <span v-for="(item, index) in position_categoryList" :key="item">
+                                <span class="society_form_right_a" v-if="index < 20 && zwIndex == 1"
+                                    :class="{ society_form_right_a_only: item.zwid == zwid }" :title="item.zwname">
+                                    {{ item.zwname }}
+                                </span>
+                                <span class="society_form_right_a" v-if="zwIndex == 2"
+                                    :class="{ society_form_right_a_only: item.zwid == zwid }" :title="item.zwname">
+                                    {{ item.zwname }}
+                                </span>
+                            </span>
+                            <span class="society_form_right_btn society_form_right_btn_up" @click="zwIndex = 2"
+                                v-if="zwIndex == 1">展开</span>
+                            <span class="society_form_right_btn society_form_right_btn_up" @click="zwIndex = 1"
+                                v-if="zwIndex == 2">收起</span>
+                        </div>
+                    </div>
+                    <div class="society_form_tip clearfix" v-if="job_search == 2">
+                        <label class="society_form_label">具体职位:</label>
+                        <div class="society_form_right_a_box clearfix">
+                            <a class="society_form_right_a"
+                                :class="{ society_form_right_a_only: jtzwid == '' || !jtzwid }" title="">全部</a>
+                            <span v-for="(item, index) in positionList" :key="item">
+                                <span class="society_form_right_a" v-if="index < 20 && jtzwIndex == 1"
+                                    :class="{ society_form_right_a_only: item.zwid == jtzwid }" :title="item.zwname">
+                                    {{ item.zwname }}
+                                </span>
+                                <span class="society_form_right_a" v-if="jtzwIndex == 2"
+                                    :class="{ society_form_right_a_only: item.zwid == jtzwid }" :title="item.zwname">
+                                    {{ item.zwname }}
+                                </span>
+                            </span>
+                            <!-- <span class="society_form_right_btn">展开</span> -->
+                            <span class="society_form_right_btn" @click="jtzwIndex = 2" v-if="jtzwIndex == 1">展开</span>
+                            <span class="society_form_right_btn" @click="jtzwIndex = 1" v-if="jtzwIndex == 2">收起</span>
+                        </div>
+                    </div>
+                    <div class="cruit_form_tip clearfix">
+                        <div class="cruit_form_per">
+                            <label class="cruit_form_label">地区选择:</label>
+                            <div class="cruit_form_label_right clearfix">
+                                <el-select v-model="province" placeholder="请选择省" style="width: 140px" clearable
+                                    @change="provinceChange">
+                                    <el-option v-for="item in provinceList" :key="item.id" :label="item.name"
+                                        :value="item.id" />
+                                </el-select>
+                                <el-select v-model="city" placeholder="请选择市" style="width: 140px" no-data-text="请先选择省"
+                                    clearable @change="cityChange">
+                                    <el-option v-for="item in cityList" :key="item.id" :label="item.name"
+                                        :value="item.id" />
+                                </el-select>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="cruit_form_tip clearfix">
+                        <div class="cruit_form_per">
+                            <label class="cruit_form_label">关键词:</label>
+                            <div class="cruit_form_label_right clearfix">
+                                <el-input v-model="keywords" style="width: 300px" placeholder="请输入搜索关键词" clearable />
+                                <el-button type="success" @click="goSearch">搜索</el-button>
+                            </div>
+                        </div>
+                    </div>
+                </form>
+                <!-- 职位搜索 -->
+            </section>
+        </main>
+        <main class="color_main">
+            <main class="index_main">
+                <!-- 选项卡头 -->
+                <section class="index_3 clearfix">
+                    <div class="recruit_head_box clearfix">
+                        <div class="cruit_head_left">
+                            <a class="cruit_head_a" :class="{ cruit_head_only: job_search == 1 }"
+                                @mouseover="job_search = 1" title="">找工作</a>
+                            <a class="cruit_head_a" :class="{ cruit_head_only: job_search == 2 }"
+                                @mouseover="job_search = 2" title="">招人才</a>
+                        </div>
+                        <div class="society_head_right clearfix">
+                            <div class="society_head_checkbox_box" v-if="job_search == 1 && type_id == 1">
+                                <el-checkbox v-model="allJob" label="" @change="toggleAllJob" />
+                            </div>
+                            <div class="society_head_right_all_box" v-if="job_search == 1 && type_id == 1">
+                                全选
+                            </div>
+                            <div class="society_head_checkbox_box" v-if="job_search == 2 && type_id == 3">
+                                <el-checkbox v-model="allResume" label="" @change="toggleAllResume" />
+                            </div>
+                            <div class="society_head_right_all_box" v-if="job_search == 2 && type_id == 3">
+                                全选
+                            </div>
+                            <div class="society_head_right_a" title="" v-if="job_search == 1 && type_id == 1"
+                                @click="getjob">申请职位</div>
+                            <div class="society_head_right_a" v-if="job_search == 2 && type_id == 3"
+                                @click="talkResume">
+                                沟通简历</div>
+                            <!-- resumeBoo = true -->
+                        </div>
+                    </div>
+                    <!-- 选项卡头 -->
+                    <!-- 选项卡 -->
+                    <div class=" clearfix">
+                        <!-- 找工作 -->
+                        <div class=" clearfix" v-show="job_search == 1">
+                            <div class="cruit_ul_2 clearfix">
+                                <div class="cruit_li_2 clearfix" v-for="(item, index) in job_vacancy" :key="item.id">
+
+                                    <div class="society_inp_checkbox_box_li_1 hand">
+                                        <el-checkbox v-model="selectedJobs" :value="item.id" @change="jobChange" />
+                                    </div>
+                                    <NuxtLink class="cruit_li_2_a"
+                                        :href="`/${item.pinyin}/${item.id}.html?type=${job_search}`" title="">
+
+                                        <div class="cruit_li_2_head_box clearfix">
+                                            <div class="cruit_li_2_head clearfix dot1">{{ item.title }}</div>
+                                            <div class="cruit_li_2_head_name clearfix dot1">
+                                                {{ item.business_name }}
+                                            </div>
+                                        </div>
+                                        <div class="cruit_li_2_foot_title_box clearfix">
+                                            <span class="cruit_li_2_foot_title">{{ item.jtzw_name }}</span>
+                                        </div>
+                                        <div class="cruit_li_2_foot clearfix">
+                                            <span class="cruit_li_2_foot_tag cruit_li_2_foot_addres">
+                                                {{ item.city_name }}
+                                            </span>
+                                            <span class="cruit_li_2_foot_tag cruit_li_2_foot_exper">
+                                                <span class="cruit_li_2_foot_tag_in">{{ item.experience_name }}</span>
+                                                <span class="cruit_li_2_foot_tag_in">{{ item.education_name }}</span>
+                                            </span>
+                                            <span class="cruit_li_2_foot_tag cruit_li_2_foot_time">
+                                                {{ getTime(item.updated_at, 'year', 1) }}
+                                            </span>
+                                        </div>
+                                    </NuxtLink>
+                                </div>
+                            </div>
+                            <div class="pagination">
+                                <el-pagination size="small" background layout="prev, pager, next" :total="total"
+                                    class="mt-4" prev-text="上一页" next-text="下一页" @change="change" />
+                            </div>
+                        </div>
+                        <!-- 找工作 -->
+                        <!-- 招人才 -->
+                        <div class=" clearfix" v-show="job_search == 2">
+                            <div class="society_ul_3 clearfix">
+                                <div class="society_li_3 clearfix" v-for="(item, index) in job_resume" :key="item">
+                                    <div class="society_inp_checkbox_box_li_3 hand">
+                                        <el-checkbox v-model="selectedResume" :value="item.id" @change="jobChange" />
+                                    </div>
+                                    <NuxtLink class="society_li_3_a"
+                                        :href="`/${item.pinyin}/${item.id}.html?type=${job_search}`" title="">
+                                        <div class="society_li_3_head_box clearfix">
+                                            <div class="society_li_3_head clearfix dot1">
+                                                {{ item.name }}
+                                            </div>
+                                            <div class="society_li_3_head_name clearfix dot1">
+                                                {{ item.jtzw_name }}
+                                            </div>
+                                        </div>
+                                        <div class="society_li_3_text_box clearfix">
+                                            <div class="society_li_3_text">
+                                                {{ item.sexy == 1 ? '男' : '女' }}
+                                                <em class="point">·</em>
+                                            </div>
+                                            <div class="society_li_3_text" v-if="item.experience">
+                                                {{ item.experience }}年
+                                                <em class="point">·</em>
+                                            </div>
+                                            <div class="society_li_3_text">
+                                                {{ item.origin }}
+                                                <em class="point">·</em>
+                                            </div>
+                                            <div class="society_li_3_text">{{ item.hy_name }}</div>
+                                        </div>
+                                        <div class="society_li_3_tag_box clearfix">
+                                            <span class="society_li_3_tag">{{ item.city_name }}</span>
+                                            <span class="society_li_3_tag">
+                                                {{ getTime(item.updated_at, 'year', 1) }}
+                                            </span>
+                                        </div>
+                                    </NuxtLink>
+                                </div>
+                            </div>
+                            <div class="pagination">
+                                <el-pagination size="small" background layout="prev, pager, next" :total="total"
+                                    class="mt-4" prev-text="上一页" next-text="下一页" @change="change" />
+                            </div>
+                        </div>
+                        <!-- 招人才 -->
+                    </div>
+                    <!-- 选项卡 -->
+                </section>
+                <!-- 招聘职位 -->
+                <!-- <div class="cruit_alert_box">投递成功</div> -->
+            </main>
+            <!-- 弹框 -->
+            <section class="cruit_alert_rgb clearfix" v-if="resumeBoo">
+                <!-- 请选择要沟通的职位1 -->
+                <!-- <div class="cruit_alert_rgb_box">
+                    <div class="cruit_alert_rgb_head_box">
+                        <div class="cruit_alert_rgb_close hand back100"></div>
+                        <div class="cruit_alert_rgb_head">请选择要沟通的职位</div>
+                    </div>
+                    <form class="cruit_alert_rgb_form clearfix" action=" " method=" ">
+                        <div class="cruit_alert_rgb_form_in clearfix">
+                            <div class="cruit_alert_rgb_li clearfix" v-for="(item, index) in 17" :key="item.id">
+                                <input name="type" type="checkbox" value="" class="cruit_alert_rgb_checkbox hand" />
+                                <label
+                                    class="cruit_alert_rgb_label dot1">高级PHP工程HP工程HP工程HP工程HP工程HP工程HP工程HP工程HP工程HP工程HP工程HP工程HP工程HP工程HP工程HP工程师</label>
+                            </div>
+                        </div>
+                        <div class="cruit_alert_rgb_foot clearfix">
+                            <input class="cruit_alert_rgb_foot_sub hand" name="" type="submit" value="沟通职位">
+                        </div>
+                    </form>
+                </div> -->
+                <!-- 请选择要沟通的职位2 -->
+                <!-- 请选择要投递的简历1 -->
+                <div class="cruit_alert_rgb_box">
+                    <div class="cruit_alert_rgb_head_box">
+                        <div class="cruit_alert_rgb_close hand back100"></div>
+                        <div class="cruit_alert_rgb_head">请选择要投递的简历
+                            <span class="close" @click="resumeBoo = false">x</span>
+                        </div>
+
+                    </div>
+                    <form class="cruit_alert_rgb_form clearfix" action=" " method=" ">
+                        <div class="cruit_alert_rgb_form_in clearfix">
+                            <div class="cruit_alert_rgb_li clearfix" v-for="(item, index) in companyJobList"
+                                :key="item.id">
+                                <!-- <el-checkbox v-model="company_job" :value="item.id" @change="jobChange" /> -->
+                                <el-radio :value="item.id" v-model="company_job" @change="jobChange">
+                                    <div class="cruit_alert_rgb_label dot1">
+                                        {{ item.title }}
+                                    </div>
+                                </el-radio>
+                            </div>
+                        </div>
+                        <div class="cruit_alert_rgb_foot clearfix">
+                            <div class="cruit_alert_rgb_foot_sub hand" @click="getresume">沟通岗位</div>
+                        </div>
+                    </form>
+                </div>
+                <!-- 请选择要投递的简历2 -->
+            </section>
+        </main>
+        <!-- 页面底部 -->
+        <HomeFoot1></HomeFoot1>
+    </div>
+</template>
+
+<script setup>
+//1.页面必备依赖 start ---------------------------------------->
+import { ElSelect, ElOption, ElInput, ElButton, ElPagination, ElCheckbox, ElRadio, ElMessage } from 'element-plus';
+import { ref, onMounted } from 'vue';
+import { useRoute } from 'vue-router'
+//当前列表名称
+
+
+const name = ref('')
+const selectedJobs = ref([])
+const selectedResume = ref([])
+const company_job = ref('')
+const allJob = ref(false)
+const allResume = ref(false)
+const cruit_ul_1_a_only_num = ref(0)
+const job_search = ref(1)   // 选项卡
+const { $webUrl, $CwebUrl, $BwebUrl } = useNuxtApp()
+
+//格式化跳转路径
+const getLinkPathDetail = (item) => {
+    if (item.islink == 1) {
+        return `${item.linkurl}`;
+    } else {
+        //return `/${item.aLIas_pinyin}/${item.id}`;
+        //return `/newsDetail/${item.id}`
+        return `/${item.pinyin}/${item.id}.html`;
+    }
+}
+//获取用户信息
+let type_id = ref('')
+let website_id = ref('')
+const gettypeid = await requestDataPromise('/user/getUserInfo', {
+    method: 'GET',
+    query: {},
+});
+console.log("gettypeid", gettypeid);
+if (gettypeid.code == 200) {
+    type_id.value = gettypeid.data.type_id
+    website_id.value = gettypeid.data.website_id
+}
+//1.页面必备依赖 end ---------------------------------------->
+
+//1.获得路由id start ---------------------------------------->
+const route = useRoute();
+
+const hyid = route.query.hyid;
+const zwid = route.query.zwid;
+const jtzwid = route.query.jtzwid;
+const provinceid = route.query.provinceid;
+const cityid = route.query.cityid;
+const keyword = route.query.keywords;
+
+let articleId = 0;//路由id
+let pageNum = ref(2);
+let total = ref(1);
+const page = ref(1)
+let pageSize = ref(20);
+let hyIndex = ref(1);
+let zwIndex = ref(1);
+let jtzwIndex = ref(1);
+
+//获得当前的完整路径
+const fullPath = route.path;
+//拆分,取出来中间这一段,然后提取数字部分
+const segments = fullPath.split('/');
+const targetSegment = segments[2];
+const targetRoute = segments[1];
+// console.log('111222', targetRoute);
+
+
+//const numberPart = targetSegment.match(/\d+$/)?.[0]; 
+//let routeId = 20 //排除路径错误可以打开这个
+//articleId = numberPart;
+
+//通过导航路径反向查询导航id
+const getRouteId = await requestDataPromise('/web/getWebsiteRoute', {
+    method: 'GET',
+    query: {
+        'pinyin': targetRoute,
+    },
+});
+// console.log("111222333", getRouteId);
+
+if (getRouteId.code == 200) {
+    articleId = getRouteId.data.category_id
+} else {
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    console.log("错误位置:通过url路径查询导航池id")
+    console.log("后端错误反馈:", getRouteId.message)
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+}
+//获得html前的数字
+// const pageUrl = segments[3]; 
+// const pageNumber = pageUrl.split('.')[0];
+// console.log("当前URL中的页码:")
+// console.log(pageNumber)//2
+// pageNum.value = parseInt(pageNumber);
+pageNum.value = parseInt(route.params.id);
+// 创建个人简历
+let createResume = () => {
+    window.open($BwebUrl + '/#/addJobHunting', '_blank');
+}
+// 发布招聘信息
+let createJob = () => {
+    window.open($BwebUrl + '/#/creatJob', '_blank');
+}
+//1.获得路由id end ---------------------------------------->
+
+//2.页面数据 start ---------------------------------------->
+// 2.1.1 获取省份
+const province = ref('')  //省
+const city = ref('')  //市
+let province_id = ref('')
+const provinceList = ref([])  //省列表
+const cityList = ref([])  //市列表
+const getArea = await requestDataPromise('/web/selectWebsiteArea', {
+    method: 'GET',
+    query: {},
+});
+if (getArea.code == 200) {
+    provinceList.value = getArea.data;
+}
+
+
+// 2.1.2 获取
+const provinceChange = (val) => {
+    province_id.value = val;
+    console.log('获取到的省份id', val);
+    getCity(val)
+}
+const getCity = async (value) => {
+    const getCity = await requestDataPromise('/web/selectWebsiteArea', {
+        method: 'GET',
+        query: {
+            'pid': value,
+        },
+    });
+    if (getCity.code == 200) {
+        cityList.value = getCity.data;
+    }
+}
+
+
+if (provinceid) {
+    for (let i = 0; i < provinceList.value.length; i++) {
+        if (provinceList.value[i].id == provinceid) {
+            province.value = provinceList.value[i].id;
+        }
+    }
+    const getCity = await requestDataPromise('/web/selectWebsiteArea', {
+        method: 'GET',
+        query: {
+            'pid': provinceid,
+        },
+    });
+    if (getCity.code == 200) {
+        cityList.value = getCity.data;
+    }
+    if (cityid) {
+        for (let i = 0; i < cityList.value.length; i++) {
+            if (cityList.value[i].id == cityid) {
+                city.value = cityList.value[i].id;
+            }
+        }
+    }
+}
+
+
+// 2.2.1 行业和职位
+const keywords = ref('')  //关键词
+const industry_categoryList = ref([])  //行业类别列表
+const position_categoryList = ref([])  //职位类别列表
+const positionList = ref([])  //具体职位列表
+
+const getData = async () => {
+    const getData = await requestDataPromise('/web/getWebsiteJobSelect', {
+        method: 'GET',
+        query: {},
+    });
+    if (getData.code == 200) {
+        // console.log("获取到的分类数据:", getData.data);
+        industry_categoryList.value = getData.data.hy; //行业
+        position_categoryList.value = getData.data.zw; //职位
+        positionList.value = getData.data.jtzw; //具体职位
+    }
+}
+getData()
+
+const job_vacancy = ref('') // 招聘岗位
+const job_resume = ref('') // 简历
+if (keyword) {
+    keywords.value = keyword
+}
+const getJob = async () => {
+    const getJob = await requestDataPromise('/web/getWebsiteJobList', {
+        method: 'GET',
+        query: {
+            'catid': articleId,
+            'city_id': provinceid,
+            'hy_id': hyid,
+            'zw_id': zwid,
+            'jtzw_id': jtzwid,
+            'page': page.value,
+            'pageSize': pageSize.value,
+            'keyword': keywords.value,
+        },
+    });
+    if (getJob.code == 200) {
+        // console.log("获取到的岗位和简历:", getJob.data);
+        job_vacancy.value = getJob.data.JobRecruiting; // 招聘岗位
+        job_resume.value = getJob.data.JobHunting; // 简历
+        if (job_search == 1) {
+            total.value = getJob.data.recruit_count;
+        } else {
+            total.value = getJob.data.hunt_count;
+        }
+    }
+}
+getJob()
+
+// 搜索
+const goSearch = async () => {
+    const getJob = await requestDataPromise('/web/getWebsiteJobList', {
+        method: 'GET',
+        query: {
+            'catid': articleId,
+            'city_id': province_id.value,
+            'hy_id': hyid,
+            'zw_id': zwid,
+            'jtzw_id': jtzwid,
+            'page': page.value,
+            'pageSize': pageSize.value,
+            'keyword': keywords.value,
+        },
+    });
+    if (getJob.code == 200) {
+        // console.log("获取到的岗位和简历:", getJob.data);
+        job_vacancy.value = getJob.data.JobRecruiting; // 招聘岗位
+        job_resume.value = getJob.data.JobHunting; // 简历
+        if (job_search == 1) {
+            total.value = getJob.data.recruit_count;
+        } else {
+            total.value = getJob.data.hunt_count;
+        }
+    }
+}
+
+//2.2change事件
+let jobChange = (val) => {
+    console.log('jobChange', val)
+    console.log('jobChange111', selectedJobs.value)
+    console.log('jobChange111', selectedResume.value)
+    console.log('jobChange11122', company_job.value) //企业会员的职位
+    if (selectedJobs.value.length == job_vacancy.value.length) {
+        allJob.value = true;
+    } else {
+        allJob.value = false;
+    }
+    if (selectedResume.value.length == job_resume.value.length) {
+        allResume.value = true;
+    } else {
+        allResume.value = false;
+    }
+}
+let toggleAllJob = () => {
+    if (allJob.value) {
+        selectedJobs.value = job_vacancy.value.map(item => item.id);
+    } else {
+        selectedJobs.value = [];
+    }
+}
+
+let toggleAllResume = () => {
+    if (allResume.value) {
+        selectedResume.value = job_resume.value.map(item => item.id);
+    } else {
+        selectedResume.value = [];
+    }
+}
+
+
+//分页事件
+let changePage = (value) => {
+    console.log("当前页码", value);
+    navigateTo(`/${targetSegment}/${value}.html`)
+}
+
+//申请职位
+let getjob = async () => {
+    if (selectedJobs.value.length == 0) {
+        ElMessage({
+            message: '请选择要申请的职位',
+            type: 'warning',
+        });
+    } else {
+        // getWebsiteJobApply
+        const getJobList = await requestDataPromise('/web/getWebsiteJobApply', {
+            method: 'POST',
+            body: {
+                'website_id': website_id.value,
+                'recruit_id': selectedJobs.value,
+            }
+        })
+        if (getJobList.code == 200) {
+            ElMessage({
+                message: '投递成功',
+                type: 'success',
+            });
+        } else {
+            ElMessage({
+                message: getJobList.message,
+                type: 'error',
+            });
+        }
+
+    }
+
+}
+//沟通简历
+let talkResume = () => {
+    if (selectedResume.value.length == 0) {
+        ElMessage({
+            message: '请选择要沟通的简历',
+            type: 'warning',
+        });
+        return false;
+    } else {
+        resumeBoo.value = true;
+    }
+    // resumeBoo.value = true;
+
+}
+//获取当前企业会员的职位
+const companyJobList = ref([])
+let companyJOb = async () => {
+    const companyJOb = await requestDataPromise('/web/getWebsiteJobRecruiting', {
+        method: 'POST',
+        body: {
+            'pageSize': 10,
+            'website_id': 2,
+        }
+    })
+    // console.log("获取到的企业会员的职位11:", companyJOb.data);
+    if (companyJOb.code == 200) {
+        // console.log("获取到的企业会员的职位:", companyJOb.data);
+        companyJobList.value = companyJOb.data
+    }
+}
+companyJOb()
+
+// 沟通简历
+let resumeBoo = ref(false)
+let getresume = async () => {
+    const resumelist = await requestDataPromise('/web/getWebsiteJobResume', {
+        method: 'POST',
+        body: {
+            'website_id': website_id.value,
+            'recruit_id': company_job.value,
+            'hunt_id': selectedResume.value,
+        },
+    });
+
+    // console.log("沟通简历00", resumelist);
+    // console.log("沟通简历11", website_id.value);
+    // console.log("沟通简历22", company_job.value);
+    // console.log("沟通简历33", selectedResume.value);
+    if (resumelist.code == 200) {
+        ElMessage({
+            message: '投递成功',
+            type: 'sussess',
+        });
+        resumeBoo.value = false;
+    } else {
+        ElMessage({
+            message: resumelist.message,
+            type: 'error',
+        });
+        resumeBoo.value = false;
+    }
+    company_job.value = '';
+    selectedResume.value = [];
+    job_search.value = 2
+}
+
+
+
+// //2.3获得页面名称
+// let getPageName = async () => {
+//     const pageName = await requestDataPromise('/web/getOneWebsiteCategory', {
+//         method: 'GET',
+//         query: {
+//             'catid': articleId
+//         },
+//     });
+//     console.log('11122233344',pageName);
+
+//     if (pageName.code == 200) {
+//         name.value = pageName.data.alias
+//     } else {
+//         console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+//         console.log("错误位置:设置页面标题")
+//         console.log("后端错误反馈:", pageName.message)
+//         console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+//     }
+// }
+// //获得列表
+// getPageName();
+//2.页面数据 end ---------------------------------------->
+
+
+//3.二级栏目 start ---------------------------------------->
+//3.1通过id获取一级栏目
+const parent_name = ref([]);
+const parent_id = ref([]);
+const parent_pinyin = ref("");
+let getParentNav = async () => {
+    const listData = await requestDataPromise('/web/getOneWebsiteCategory', {
+        method: 'GET',
+        query: {
+            'catid': articleId
+        },
+    });
+    // console.log("1112223334455", listData.data);
+
+    if (listData.code == 200) {
+        // console.log(111999)
+        console.log(listData.data);
+        parent_name.value = listData.data.alias;
+        parent_id.value = listData.data.category_id;
+        parent_pinyin.value = listData.data.aLIas_pinyin;
+    } else {
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+        console.log("错误位置:获取新闻列表")
+        console.log("后端错误反馈:", listData.message)
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    }
+    getSecondNav();
+}
+//获得父级栏目详情
+getParentNav();
+
+// 3.2获取二级栏目
+const secondNav = ref([]);
+let getSecondNav = async () => {
+    const listData = await requestDataPromise('/web/getWebsiteModelCategory', {
+        method: 'GET',
+        query: {
+            'placeid': 1,
+            'pid': parent_id.value,
+            'num': 8,
+        },
+    });
+    console.log('listData', listData);
+
+    if (listData.code == 200) {
+        secondNav.value = listData.data;
+    } else {
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+        console.log("错误位置:获取新闻列表")
+        console.log("后端错误反馈:", listData.message)
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    }
+}
+//3.二级栏目 end ---------------------------------------->
+
+//4.设置seo信息 start---------------------------------------->
+//4.1 设置seo信息
+const setData = await requestDataPromise('/web/getWebsiteCategoryHead', {
+    method: 'GET',
+    query: {
+        'catid': articleId
+    },
+});
+
+if (setData.code == 200) {
+    let seoTitle = setData.data.seo_title;
+    let seoDescription = setData.data.seo_description;
+    let seoKeywords = setData.data.seo_keywords;
+    let seoSuffix = setData.data.suffix;
+    let seoName = setData.data.website_name;
+
+    useSeoMeta({
+        title: seoTitle + "_" + seoName + "_" + seoSuffix,
+        meta: [
+            { name: 'description', content: seoDescription + "_" + seoName + "_" + seoSuffix, tagPriority: 10 },
+            { name: 'keywords', content: seoKeywords + "_" + seoName + "_" + seoSuffix, tagPriority: 10 }
+        ]
+    });
+} else {
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    console.log("错误位置:设置列表页面SEO数据")
+    console.log("后端错误反馈:", setData.message)
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+}
+//4.设置seo信息 end---------------------------------------->
+
+
+//5.广告 start---------------------------------------->
+let adImg1 = ref({});
+let adImg2 = ref({});
+
+onMounted(async () => {
+
+    //从客户端获取行政职能部门 加快打开速度
+    const { $webUrl, $CwebUrl } = useNuxtApp();
+    //广告1
+    let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snzxw_search_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];
+
+    //广告2
+    let url2 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=snzxw_list_0002`
+    const responseAd2 = await fetch(url2, {
+        headers: {
+            'Content-Type': 'application/json',
+            'Userurl': $CwebUrl,
+            'Origin': $CwebUrl
+        }
+    });
+    const resultAd2 = await responseAd2.json();
+    adImg2.value = resultAd2.data[0];
+
+})
+//5.广告 end---------------------------------------->
+</script>
+
+<style lang="less" scoped>
+@import url('@/assets/css/zgzpsearch.less');
+</style>

+ 545 - 0
pages/zhaogongzhaopinnongmingong/[dir]/[id].vue

@@ -0,0 +1,545 @@
+<template>
+    <div>
+        <HomePageHead></HomePageHead>
+        <HomePageNavigation></HomePageNavigation>
+        <HomeAdvertising :imgurl="adImg1" v-if="adImg1"></HomeAdvertising>
+        <!-- 面包屑导航 -->
+        <div class="breadcrumb">
+            <div class="inner">
+                <span class="location">当前位置:</span>
+                <el-breadcrumb :separator-icon="ArrowRight">
+                    <el-breadcrumb-item>
+                        <NuxtLink to="/">首页</NuxtLink>
+                    </el-breadcrumb-item>
+                    <el-breadcrumb-item>
+                        <NuxtLink :to="`/${parent_pinyin}/index.html`"> {{ parent_name }}</NuxtLink>
+                    </el-breadcrumb-item>
+                    <el-breadcrumb-item>招聘详情</el-breadcrumb-item>
+                </el-breadcrumb>
+            </div>
+        </div>
+        <!-- 简历 -->
+        <main class="jianli" v-if="type == 2">
+            <!-- 个人简历 -->
+            <section class="index_1 clearfix">
+                <div class="seek_head_box clearfix">
+                    <div class="seek_head_left">
+                        <a class="seek_head_a seek_head_only" title="">个人简历</a>
+                    </div>
+                    <div class="seek_head_right_box clearfix">
+                        <span class="seek_head_right_text">更新时间:{{ jobInfo.created_at }}</span>
+                    </div>
+                </div>
+                <div class="index_1_left clearfix">
+                    <div class="seek_introduce_box clearfix">
+                        <div class="seek_introduce_left clearfix">
+                            <div class="seek_introduce_head clearfix">
+                                <h4 class="seek_introduce_h4">{{ jobInfo.name }}</h4>
+                                <div class="seek_introduce_tag clearfix" v-if="resume">此简历已被推荐</div>
+                                <div class="seek_introduce_text clearfix" v-if="resume">
+                                    (已有单位把本简历加入人才库)
+                                </div>
+                            </div>
+                            <div class="seek_introduce_title_box clearfix">
+                                <span class="seek_introduce_label">期望岗位:</span>
+                                <span class="seek_introduce_title">{{ jobInfo.jtzw_name }}</span>
+                                <span class="seek_introduce_label">薪资待遇:</span>
+                                <span class="seek_introduce_title">{{ jobInfo.salary_name }}</span>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="seek_introduce_foot clearfix">
+                        <span class="seek_introduce_foot_text" v-if="jobInfo.sexy">
+                            {{ jobInfo.sexy == 1 ? '男' : '女' }}
+                        </span>
+                        <span class="seek_introduce_foot_text" v-if="jobInfo.birth">
+                            {{ getTime(jobInfo.birth, 'year', 0) }}
+                        </span>
+                        <span class="seek_introduce_foot_text" v-if="jobInfo.origin">
+                            籍贯:{{ jobInfo.origin }}
+                        </span>
+                        <!-- <span class="seek_introduce_foot_text">汉族</span> -->
+                        <span class="seek_introduce_foot_text" v-if="jobInfo.education_name">
+                            {{ jobInfo.education_name }}
+                        </span>
+                        <span class="seek_introduce_foot_text" v-if="jobInfo.experience_name">
+                            {{ jobInfo.experience_name }}
+                        </span>
+                        <span class="seek_introduce_foot_text" v-if="jobInfo.hunt_cityname">
+                            工作地点:{{ jobInfo.hunt_cityname }}
+                        </span>
+                        <span class="seek_introduce_foot_text" v-if="jobInfo.language_name">
+                            {{ jobInfo.language_name }}
+                        </span>
+                    </div>
+                </div>
+                <div class="index_1_right clearfix">
+                    <img class="index_1_right_img" src="@/public/image/touxiang.png" title="" alt=""
+                        v-if="!jobInfo.imgurl">
+                    <img class="index_1_right_img" :src="jobInfo.imgurl" title="" alt="" v-if="jobInfo.imgurl">
+
+                </div>
+            </section>
+            <!-- 个人简历 -->
+            <!-- 自我介绍 -->
+            <section class="index_2 clearfix">
+                <div class="seek_head_box clearfix">
+                    <div class="seek_head_left">
+                        <a class="seek_head_a seek_head_only" title="">自我介绍</a>
+                    </div>
+                </div>
+                <article class="seek_article">
+                    {{ jobInfo.self_evaluation }}
+                </article>
+            </section>
+            <!-- 自我介绍 -->
+            <!-- 工作经历 -->
+            <section class="index_3 clearfix">
+                <div class="seek_head_box clearfix">
+                    <div class="seek_head_left">
+                        <a class="seek_head_a seek_head_only" title="">工作经历</a>
+                    </div>
+                </div>
+                <div class="seek_in clearfix" v-for="(item, index) in experienceInfo" :key="index">
+                    <div class="seek_in_head clearfix">
+                        <span class="seek_in_head_text">{{ index + 1 }}.{{ item.company_name }}</span>
+                        <span class="seek_in_head_text">
+                            职位类别:
+                            {{ item.zw_name }}
+                        </span>
+                        <span class="seek_in_head_text">
+                            具体职位:
+                            {{ item.jtzw_name }}
+                        </span>
+                        <span class="seek_in_head_text" style="float: right;" v-if="item.job_timeList">
+                            {{ getTime(item.job_timeList[0], 'year', 0) }}
+                            -
+                            {{ getTime(item.job_timeList[1], 'year', 0) }}
+                        </span>
+                    </div>
+                    <div class="seek_in_ul clearfix">
+                        <div class="seek_in_li clearfix">
+                            <label class="seek_in_label">工作内容:</label>
+                            <div class="seek_in_li_text">{{ item.job_content }}</div>
+                        </div>
+                        <div class="seek_in_li clearfix">
+                            <label class="seek_in_label">工作业绩:</label>
+                            <div class="seek_in_li_text">{{ item.performance }}</div>
+                        </div>
+                    </div>
+                </div>
+            </section>
+            <!-- 工作经历 -->
+            <!-- 教育背景 -->
+            <section class="index_4 clearfix">
+                <div class="seek_head_box clearfix">
+                    <div class="seek_head_left">
+                        <a class="seek_head_a seek_head_only" title="">教育背景</a>
+                    </div>
+                </div>
+                <div class="seek_in clearfix" v-for="(item, index) in education" :key="index">
+                    <div class="seek_in_head clearfix">
+                        <span class="seek_in_head_text" v-if="education">{{ index + 1 }}. {{ item.school_name
+                            }}</span>
+                        <span class="seek_in_head_text">
+                            {{ item.education_name }}
+                        </span>
+                        <span class="seek_in_head_text">{{ item.school_major }}</span>
+                        <span class="seek_in_head_text" style="float: right;" v-if="item.school_timeList">
+                            {{ getTime(item.school_timeList[0], 'year', 0) }}
+                            -
+                            {{ getTime(item.school_timeList[1], 'year', 0) }}
+                        </span>
+                    </div>
+                    <div class="seek_in_ul clearfix" v-if="item.school_experience">
+                        <div class="seek_in_li clearfix">
+                            <label class="seek_in_label">在校经历:</label>
+                            <div class="seek_in_li_text">{{ item.school_experience }}</div>
+                        </div>
+                    </div>
+                </div>
+            </section>
+            <!-- 教育背景 -->
+            <!-- 专业技能 -->
+            <section class="index_5 clearfix">
+                <div class="seek_head_box clearfix">
+                    <div class="seek_head_left">
+                        <a class="seek_head_a seek_head_only" title="">专业技能</a>
+                    </div>
+                </div>
+                <div class="seek_in clearfix">
+                    <div class="seek_in_ul clearfix">
+                        <div class="seek_in_li clearfix" v-for="(item, index) in skillList">
+                            <label class="seek_in_label" v-if="item.skill">{{ index + 1 }}.</label>
+                            <div class="seek_in_li_text">{{ item.skill }}</div>
+                        </div>
+                    </div>
+                </div>
+            </section>
+            <!-- 专业技能 -->
+            <!-- 联系方式 -->
+            <section class="index_6 clearfix" v-if="type_id == 10000 || type_id == 3">
+                <div class="seek_head_box clearfix">
+                    <div class="seek_head_left">
+                        <a class="seek_head_a seek_head_only" title="">联系方式</a>
+                    </div>
+                </div>
+                <div class="seek_in clearfix">
+                    <article class="seek_article_2">
+                        {{ jobInfo.phone }}
+                    </article>
+                </div>
+            </section>
+            <!-- 联系方式 -->
+        </main>
+        <!-- 岗位 -->
+        <div class="gangwei" v-if="type == 1">
+            <main class="color_main">
+                <main class="index_main">
+                    <section class="index_1 clearfix">
+                        <div class="cruit_head_box clearfix">
+                            <div class="cruit_head_left">
+                                <a class="cruit_head_a cruit_head_only" title="">基本信息</a>
+                            </div>
+                        </div>
+                        <div class="index_1_box clearfix">
+                            <div class="demand_head_box clearfix">
+                                <div class="demand_head_name">{{ jobInfo.title }}</div>
+                                <div class="demand_head_btn hand" v-if="type_id == 1">申请该职位</div>
+                                <div class="demand_head_btn1" v-if="type_id != 1">申请该职位</div>
+                            </div>
+                            <div class="cruit_li_2_foot clearfix">
+                                <span class="cruit_li_2_foot_tag cruit_li_2_foot_exper">
+                                    {{ jobInfo.hy_name }}
+                                    &gt;
+                                    {{ jobInfo.zw_name }}
+                                    <!-- &gt;
+                                    {{ jobInfo.jtzw_name }} -->
+                                </span>
+                                <span class="cruit_li_2_foot_tag cruit_li_2_foot_addres">{{ jobInfo.city_name }}</span>
+                            </div>
+                        </div>
+                    </section>
+                </main>
+            </main>
+
+            <main class="index_main">
+                <section class="index_2 clearfix">
+                    <div class="demand_1 clearfix">
+                        <!-- 基本要求 -->
+                        <div class="demand_left_1 clearfix">
+                            <div class="cruit_head_box clearfix">
+                                <div class="cruit_head_left">
+                                    <a class="cruit_head_a cruit_head_only" title="">基本要求</a>
+                                </div>
+                            </div>
+                            <div class="demand_ul_2">
+                                <div class="demand_li_2 clearfix">
+                                    <div class="demand_li_2_label">工作性质:</div>
+                                    <div class="demand_li_2_text clearfix">{{ jobInfo.job_nature_name }}</div>
+                                </div>
+                                <div class="demand_li_2 clearfix">
+                                    <div class="demand_li_2_label">工作经验:</div>
+                                    <div class="demand_li_2_text clearfix">{{ jobInfo.experience_name }}</div>
+                                </div>
+                                <div class="demand_li_2 clearfix">
+                                    <div class="demand_li_2_label">学历文凭:</div>
+                                    <div class="demand_li_2_text clearfix">{{ jobInfo.education_name }}</div>
+                                </div>
+                                <div class="demand_li_2 clearfix">
+                                    <div class="demand_li_2_label">语言选择:</div>
+                                    <div class="demand_li_2_text clearfix">{{ jobInfo.language_name }}</div>
+                                </div>
+                                <div class="demand_li_2 clearfix">
+                                    <div class="demand_li_2_label">薪资待遇:</div>
+                                    <div class="demand_li_2_text clearfix">{{ jobInfo.salary_name }}</div>
+                                </div>
+                                <div class="demand_li_2 clearfix">
+                                    <div class="demand_li_2_label">截止日期:</div>
+                                    <div class="demand_li_2_text clearfix">
+                                        {{ getTime(jobInfo.created_at, 'year', 1) }}
+                                    </div>
+                                </div>
+                            </div>
+                        </div>
+                        <!-- 基本要求 -->
+                        <!-- 岗位职责 -->
+                        <div class="demand_left_2 clearfix">
+                            <div class="cruit_head_box clearfix">
+                                <div class="cruit_head_left">
+                                    <a class="cruit_head_a cruit_head_only" title="">岗位职责</a>
+                                </div>
+                            </div>
+                            <article class="demand_article_1">
+                                {{ jobInfo.description }}
+                            </article>
+                        </div>
+                        <!-- 岗位职责 -->
+                        <!-- 具体要求 -->
+                        <div class="demand_left_3 clearfix">
+                            <div class="cruit_head_box clearfix">
+                                <div class="cruit_head_left">
+                                    <a class="cruit_head_a cruit_head_only" title="">具体要求</a>
+                                </div>
+                            </div>
+                            <article class="demand_article_1">
+                                {{ jobInfo.jt_description }}
+                            </article>
+                        </div>
+                        <!-- 具体要求 -->
+                        <!-- 联系方式 -->
+                        <div class="demand_left_4 clearfix">
+                            <div class="cruit_head_box clearfix">
+                                <div class="cruit_head_left">
+                                    <a class="cruit_head_a cruit_head_only" title="">联系方式</a>
+                                </div>
+                            </div>
+                            <div class="demand_ul_2">
+                                <div class="demand_li_2 clearfix">
+                                    <div class="demand_li_2_label">地址:</div>
+                                    <div class="demand_li_2_text clearfix">{{ companyInfo.address_name }}</div>
+                                </div>
+                                <div class="demand_li_2 clearfix">
+                                    <div class="demand_li_2_label">邮箱:</div>
+                                    <div class="demand_li_2_text clearfix">{{ companyInfo.email }}</div>
+                                </div>
+                            </div>
+                        </div>
+                        <!-- 联系方式 -->
+                        <!-- 公司介绍 -->
+                        <div class="demand_left_5 clearfix">
+                            <div class="cruit_head_box clearfix">
+                                <div class="cruit_head_left">
+                                    <a class="cruit_head_a cruit_head_only" title="">公司介绍</a>
+                                </div>
+                            </div>
+                            <div class="demand_ul_2">
+                                <div class="demand_li_2 clearfix">
+                                    <div class="demand_li_2_label">公司规模:</div>
+                                    <div class="demand_li_2_text clearfix">{{ companyInfo.company_size_name }}</div>
+                                </div>
+                                <div class="demand_li_2 clearfix">
+                                    <div class="demand_li_2_label">公司性质:</div>
+                                    <div class="demand_li_2_text clearfix">{{ companyInfo.company_nature_name }}</div>
+                                </div>
+                                <div class="demand_li_2 clearfix">
+                                    <div class="demand_li_2_label">公司行业:</div>
+                                    <div class="demand_li_2_text clearfix">{{ companyInfo.hy_name }}</div>
+                                </div>
+                            </div>
+                        </div>
+                        <!-- 公司介绍 -->
+                    </div>
+                    <div class="demand_2 clearfix">
+                        <div class="demand_right_1 clearfix">
+                            <div class="cruit_head_box clearfix">
+                                <div class="cruit_head_left">
+                                    <a class="cruit_head_a cruit_head_only" title="">招聘单位</a>
+                                </div>
+                            </div>
+                            <div class="demand_ul_1">
+                                <a class="demand_ul_1_a dot1" href="" title="">
+                                    {{ companyInfo.business_name }}
+                                </a>
+                            </div>
+                        </div>
+                        <div class="demand_right_2 clearfix">
+                            <div class="cruit_head_box clearfix">
+                                <div class="cruit_head_left">
+                                    <a class="cruit_head_a cruit_head_only" title="">其他职位</a>
+                                </div>
+                            </div>
+                            <div class="demand_ul_1">
+                                <a class="demand_ul_1_a dot1" href="" title="" v-for="(item, index) in other_job"
+                                    :key="item.id">
+                                    {{ item.title }}
+                                </a>
+                            </div>
+                        </div>
+                    </div>
+                </section>
+            </main>
+        </div>
+        <HomeAdvertising :imgurl="adImg2" v-if="adImg2"></HomeAdvertising>
+        <HomeFoot1></HomeFoot1>
+    </div>
+
+</template>
+<script setup>
+import { ref } from 'vue'
+import { ElBreadcrumb, ElBreadcrumbItem } from 'element-plus'
+import { ArrowRight } from '@element-plus/icons-vue'
+const route = useRoute();
+const type = route.query.type;
+
+//获取用户信息
+let type_id = ref('')
+const gettypeid = await requestDataPromise('/user/getUserInfo', {
+    method: 'GET',
+    query: {},
+});
+// console.log("gettypeid", gettypeid);
+if (gettypeid.code == 200) {
+    type_id.value = gettypeid.data.type_id
+}
+
+
+//1.1 获得跳转过来的id
+const articleId = parseInt(route.params.id);  //获得该页面的id
+// console.log('111222111', articleId);
+
+//1.2 获得父级栏目的名称、id
+//获得当前的完整路径
+const fullPath = route.path;
+//拆分,取出来中间这一段,然后提取数字部分
+const segments = fullPath.split('/');
+const targetSegment = segments[1];
+// const numberPart = targetSegment.match(/\d+$/)?.[0]; 
+// const routeId = numberPart;
+
+let routeId;
+//通过导航路径反向查询导航id
+const getRouteId = await requestDataPromise('/web/getWebsiteRoute', {
+    method: 'GET',
+    query: {
+        'pinyin': targetSegment,
+    },
+});
+if (getRouteId.code == 200) {
+    routeId = getRouteId.data.category_id
+} else {
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    console.log("错误位置:通过url路径查询导航池id")
+    console.log("后端错误反馈:", getRouteId.message)
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+}
+
+//1.3 面包屑导航
+const parent_name = ref("");
+const parent_id = ref("");
+const parent_pinyin = ref("");
+let getParentNav = async () => {
+    const listData = await requestDataPromise('/web/getOneWebsiteCategory', {
+        method: 'GET',
+        query: {
+            'catid': routeId
+        },
+    });
+
+    if (listData.code == 200) {
+        parent_name.value = listData.data.alias;
+        parent_id.value = listData.data.parent_id;
+        parent_pinyin.value = listData.data.aLIas_pinyin;
+
+    } else {
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+        console.log("错误位置:获取面包屑导航")
+        console.log("后端错误反馈:", listData.message)
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    }
+}
+//获得父级栏目详情
+getParentNav();
+
+//1.4 展示广告
+let adImg1 = ref({})
+let adImg2 = ref({})
+onMounted(async () => {
+    //从客户端获取行政职能部门 加快打开速度
+    const { $webUrl, $CwebUrl } = useNuxtApp();
+    //广告1
+    let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=nmgw_detail_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];
+
+    //广告2
+    let url2 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=nmgw_detail_0002`
+    const responseAd2 = await fetch(url2, {
+        headers: {
+            'Content-Type': 'application/json',
+            'Userurl': $CwebUrl,
+            'Origin': $CwebUrl
+        }
+    });
+    const resultAd2 = await responseAd2.json();
+    adImg2.value = resultAd2.data[0];
+})
+
+// 2 获取详情
+let jobInfo = ref([]) //基本信息
+let companyInfo = ref([])// 公司介绍
+let category = ref([]) // 栏目
+let other_job = ref([]) // 岗位
+let experienceInfo = ref([]) // 工作经历
+let education = ref([]) // 教育背景
+let skillList = ref([]) // 专业技能
+let resume = ref(0)
+
+
+const getDetail = async () => {
+    const listData = await requestDataPromise('/web/getWebsiteJobInfo', {
+        method: 'GET',
+        query: {
+            'id': articleId,
+            'type': type,
+            'pageSize': 10,
+        },
+    });
+
+    if (listData.code == 200) {
+        console.log("详情1111", listData.data);
+        // console.log("详情1111222", listData.data.job[0].job_experience);
+        // console.log("详情111122233", JSON.parse(listData.data.job[0].job_experience));
+        // console.log("详情1111222233344", JSON.parse(listData.data.job[0].education_experience));
+        // jobInfo.value = listData.data.job[0];
+        // category.value = listData.data.category;
+        if (type == 1) {
+            jobInfo.value = listData.data.job[0];
+            category.value = listData.data.category;
+            companyInfo.value = listData.data.company[0];
+            other_job.value = listData.data.other_job;
+        }
+        if (type == 2) {
+            jobInfo.value = listData.data.job[0];
+            category.value = listData.data.category;
+            experienceInfo.value = listData.data.job_experience;
+            education.value = listData.data.education_experience;
+            skillList.value = JSON.parse(listData.data.job[0].skillList);
+            resume.value = listData.data.resume;
+        }
+    }
+
+}
+getDetail();
+
+//获取行业 职位 具体职位
+const industry_categoryList = ref([])  //行业类别列表
+const position_categoryList = ref([])  //职位类别列表
+const positionList = ref([])  //具体职位列表
+
+const getData = async () => {
+    const getData = await requestDataPromise('/web/getWebsiteJobSelect', {
+        method: 'GET',
+        query: {},
+    });
+    if (getData.code == 200) {
+        // console.log("获取到的分类数据:", getData.data);
+        industry_categoryList.value = getData.data.hy; //行业
+        position_categoryList.value = getData.data.zw; //职位
+        positionList.value = getData.data.jtzw; //具体职位
+    }
+}
+getData()
+</script>
+
+<style scoped lang="less">
+@import "@/assets/css/zgzpjianli.less";
+@import "@/assets/css/zgzpzhaopin.less";
+</style>

+ 392 - 0
pages/zhaogongzhaopinnongmingong/[dir]/list-[id].vue

@@ -0,0 +1,392 @@
+<template>
+    <div id="newsList">
+        <!-- 页面头部 -->
+        <HomePageHead></HomePageHead>
+
+        <!-- 导航栏 -->
+        <HomePageNavigation1></HomePageNavigation1>
+
+        <!-- 列表页广告一 -->
+        <HomeAdvertising :imgurl="adImg1" v-if="adImg1"></HomeAdvertising>
+
+        <!-- 二级标题-->
+        <HomeListSecondaryHeading v-if="parent_name != ''" :name="parent_name" :nav="secondNav" :pinyin="parent_pinyin">
+        </HomeListSecondaryHeading>
+
+        <main class="color_main">
+            <main class="index_main">
+                <section class="index_3 clearfix">
+                    <div class="recruit_head_box clearfix">
+                        <div class="cruit_head_left">
+                            <a class="cruit_head_a" :class="{ cruit_head_only: job_resume_tabs == 1 }"
+                                @mouseover="job_resume_tabs = 1" title="">找工作</a>
+                            <a class="cruit_head_a" :class="{ cruit_head_only: job_resume_tabs == 2 }"
+                                @mouseover="job_resume_tabs = 2" title="">招人才</a>
+                        </div>
+                    </div>
+                    <div class=" clearfix">
+                        <div class=" clearfix" v-show="job_resume_tabs == 1">
+                            <div class="cruit_ul_2 clearfix">
+                                <div class="cruit_li_2 clearfix" v-for="(item, index) in job_vacancy" :key="item.id">
+                                    <NuxtLink class="cruit_li_2_a" :href="`/${item.pinyin}/${item.id}.html?type=${1}`"
+                                        title="">
+                                        <div class="cruit_li_2_head_box clearfix">
+                                            <div class="cruit_li_2_head clearfix dot1">{{ item.title }}</div>
+                                            <div class="cruit_li_2_head_name clearfix dot1">
+                                                {{ item.business_name }}
+                                            </div>
+                                        </div>
+                                        <div class="cruit_li_2_foot_title_box clearfix">
+                                            <span class="cruit_li_2_foot_title">{{ item.jtzw_name }}</span>
+                                        </div>
+                                        <div class="cruit_li_2_foot clearfix">
+                                            <span class="cruit_li_2_foot_tag cruit_li_2_foot_addres">
+                                                {{ item.city_name }}
+                                            </span>
+                                            <span class="cruit_li_2_foot_tag cruit_li_2_foot_exper"
+                                                v-if="item.experience_name || item.education_name">
+                                                <span class="cruit_li_2_foot_tag_in">{{ item.experience_name }}</span>
+                                                <span class="cruit_li_2_foot_tag_in">{{ item.education_name }}</span>
+                                            </span>
+                                            <span class="cruit_li_2_foot_tag cruit_li_2_foot_time">
+                                                {{ getTime(item.updated_at, 'year', 1) }}
+                                            </span>
+                                        </div>
+                                    </NuxtLink>
+                                </div>
+                            </div>
+                            <div class="pagination">
+                                <el-pagination size="small" background layout="prev, pager, next" :total="total"
+                                    class="mt-4" prev-text="上一页" next-text="下一页" @change="change" />
+                            </div>
+                        </div>
+                        <!-- 找工作 -->
+                        <!-- 招人才 -->
+                        <div class=" clearfix" v-show="job_resume_tabs == 2">
+                            <div class="society_ul_3 clearfix">
+                                <div class="society_li_3 clearfix" v-for="(item, index) in job_resume" :key="item">
+                                    <NuxtLink class="society_li_3_a" :href="`/${item.pinyin}/${item.id}.html?type=${2}`"
+                                        title="">
+                                        <div class="society_li_3_head_box clearfix">
+                                            <div class="society_li_3_head clearfix dot1">
+                                                {{ item.name }}
+                                            </div>
+                                            <div class="society_li_3_head_name clearfix dot1">
+                                                {{ item.jtzw_name }}
+                                            </div>
+                                        </div>
+                                        <div class="society_li_3_text_box clearfix">
+                                            <div class="society_li_3_text">
+                                                {{ item.sexy == 1 ? '男' : '女' }}
+                                                <em class="point">·</em>
+                                            </div>
+                                            <div class="society_li_3_text" v-if="item.experience">
+                                                {{ item.experience }}年
+                                                <em class="point">·</em>
+                                            </div>
+                                            <div class="society_li_3_text">
+                                                {{ item.origin }}
+                                                <em class="point">·</em>
+                                            </div>
+                                            <div class="society_li_3_text">{{ item.hy_name }}</div>
+                                        </div>
+                                        <div class="society_li_3_tag_box clearfix">
+                                            <span class="society_li_3_tag">{{ item.city_name }}</span>
+                                            <span class="society_li_3_tag">
+                                                {{ getTime(item.updated_at, 'year', 1) }}
+                                            </span>
+                                        </div>
+                                    </NuxtLink>
+                                </div>
+                            </div>
+                            <div class="pagination">
+                                <el-pagination size="small" background layout="prev, pager, next" :total="total"
+                                    class="mt-4" prev-text="上一页" next-text="下一页" @change="change" />
+                            </div>
+                        </div>
+                    </div>
+                </section>
+            </main>
+        </main>
+
+        <!-- 页面底部 -->
+        <HomeFoot1></HomeFoot1>
+    </div>
+</template>
+
+<script setup>
+//1.页面必备依赖 start ---------------------------------------->
+import { ElPagination } from 'element-plus'
+import { ref, onMounted } from 'vue';
+//当前列表名称
+const name = ref('')
+// 找工作 招人才选项卡
+const job_resume_tabs = ref(2)   // 选项卡
+const { $webUrl, $CwebUrl, $BwebUrl } = useNuxtApp()
+
+//格式化跳转路径
+const getLinkPathDetail = (item) => {
+    if (item.islink == 1) {
+        return `${item.linkurl}`;
+    } else {
+        //return `/${item.aLIas_pinyin}/${item.id}`;
+        //return `/newsDetail/${item.id}`
+        return `/${item.pinyin}/${item.id}.html`;
+    }
+}
+//1.页面必备依赖 end ---------------------------------------->
+
+//1.获得路由id start ---------------------------------------->
+const route = useRoute();
+let articleId = 0;//路由id
+let pageNum = ref(2);
+let total = ref(1);
+let zptotal = ref(1);
+let qztotal = ref(1);
+let page = ref(1);
+let pageSize = ref(20);
+
+//获得当前的完整路径
+const fullPath = route.path;
+//拆分,取出来中间这一段,然后提取数字部分
+const segments = fullPath.split('/');
+const targetSegment = segments[2];
+const targetRoute = segments[1];
+
+//const numberPart = targetSegment.match(/\d+$/)?.[0]; 
+//let routeId = 20 //排除路径错误可以打开这个
+//articleId = numberPart;
+
+//通过导航路径反向查询导航id
+const getRouteId = await requestDataPromise('/web/getWebsiteRoute', {
+    method: 'GET',
+    query: {
+        'pinyin': targetSegment,
+    },
+});
+if (getRouteId.code == 200) {
+    articleId = getRouteId.data.category_id
+} else {
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    console.log("错误位置:通过url路径查询导航池id")
+    console.log("后端错误反馈:", getRouteId.message)
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+}
+//获得html前的数字
+// const pageUrl = segments[3]; 
+// const pageNumber = pageUrl.split('.')[0];
+// console.log("当前URL中的页码:")
+// console.log(pageNumber)//2
+// pageNum.value = parseInt(pageNumber);
+pageNum.value = parseInt(route.params.id);
+
+//1.获得路由id end ---------------------------------------->
+
+//2.页面数据 start ---------------------------------------->
+
+if (targetSegment == 'shehuizhaopin') {
+    job_resume_tabs.value = 2;
+} else {
+    job_resume_tabs.value = 1;
+}
+// 2.1 获取岗位和简历
+const job_vacancy = ref('') // 招聘岗位
+const job_resume = ref('') // 简历
+const getJob = async () => {
+    const getJob = await requestDataPromise('/web/getWebsiteJobList', {
+        method: 'GET',
+        query: {
+            'catid': articleId,
+            'page': page.value,
+            'pageSize': pageSize.value
+        },
+    });
+    if (getJob.code == 200) {
+        console.log("获取到的岗位和简历:", getJob.data);
+        job_vacancy.value = getJob.data.JobRecruiting; // 招聘岗位
+        job_resume.value = getJob.data.JobHunting; // 简历
+        if (job_resume_tabs == 1) {
+            total.value = getJob.data.recruit_count;
+        } else {
+            total.value = getJob.data.hunt_count;
+        }
+    }
+}
+getJob()
+//2.2新闻列表
+const newsList = ref([]);
+let newslists = async () => {
+    const listData = await requestDataPromise('/web/getWebsiteArticleList', {
+        method: 'GET',
+        query: {
+            'page': pageNum.value,
+            'pageSize': pageSize.value,
+            'catid': articleId
+        },
+    });
+    if (listData.code == 200) {
+        newsList.value = listData.data.rows;
+        total.value = listData.data.count;
+
+    } else {
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+        console.log("错误位置:获取新闻列表")
+        console.log("后端错误反馈:", listData.message)
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    }
+}
+//获得列表
+newslists();
+
+//分页事件
+let changePage = (value) => {
+    console.log("当前页码", value);
+    navigateTo(`/${targetSegment}/${value}.html`)
+}
+
+//2.3获得页面名称
+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("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+        console.log("错误位置:设置页面标题")
+        console.log("后端错误反馈:", pageName.message)
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    }
+}
+//获得列表
+getPageName();
+//2.页面数据 end ---------------------------------------->
+
+
+//3.二级栏目 start ---------------------------------------->
+//3.1通过id获取父栏目
+const parent_name = ref([]);
+const parent_id = ref([]);
+const parent_pinyin = ref("");
+let getParentNav = async () => {
+    const listData = await requestDataPromise('/web/getOneWebsiteCategory', {
+        method: 'GET',
+        query: {
+            'catid': articleId
+        },
+    });
+    if (listData.code == 200) {
+        console.log(111999)
+        console.log(listData.data);
+        parent_name.value = listData.data.parent_name;
+        parent_id.value = listData.data.parent_id;
+        parent_pinyin.value = listData.data.parent_pinyin;
+    } else {
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+        console.log("错误位置:获取新闻列表")
+        console.log("后端错误反馈:", listData.message)
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    }
+    getSecondNav();
+}
+//获得父级栏目详情
+getParentNav();
+
+// 3.2获取二级栏目
+const secondNav = ref([]);
+let getSecondNav = async () => {
+    const listData = await requestDataPromise('/web/getWebsiteModelCategory', {
+        method: 'GET',
+        query: {
+            'placeid': 1,
+            'pid': parent_id.value,
+            'num': 8,
+        },
+    });
+    console.log('listData', listData);
+
+    if (listData.code == 200) {
+        secondNav.value = listData.data;
+    } else {
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+        console.log("错误位置:获取新闻列表")
+        console.log("后端错误反馈:", listData.message)
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    }
+}
+//3.二级栏目 end ---------------------------------------->
+
+//4.设置seo信息 start---------------------------------------->
+//4.1 设置seo信息
+const setData = await requestDataPromise('/web/getWebsiteCategoryHead', {
+    method: 'GET',
+    query: {
+        'catid': articleId
+    },
+});
+
+if (setData.code == 200) {
+    let seoTitle = setData.data.seo_title;
+    let seoDescription = setData.data.seo_description;
+    let seoKeywords = setData.data.seo_keywords;
+    let seoSuffix = setData.data.suffix;
+    let seoName = setData.data.website_name;
+
+    useSeoMeta({
+        title: seoTitle + "_" + seoName + "_" + seoSuffix,
+        meta: [
+            { name: 'description', content: seoDescription + "_" + seoName + "_" + seoSuffix, tagPriority: 10 },
+            { name: 'keywords', content: seoKeywords + "_" + seoName + "_" + seoSuffix, tagPriority: 10 }
+        ]
+    });
+} else {
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    console.log("错误位置:设置列表页面SEO数据")
+    console.log("后端错误反馈:", setData.message)
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+}
+//4.设置seo信息 end---------------------------------------->
+
+
+//5.广告 start---------------------------------------->
+let adImg1 = ref({});
+let adImg2 = ref({});
+
+onMounted(async () => {
+
+    //从客户端获取行政职能部门 加快打开速度
+    const { $webUrl, $CwebUrl } = useNuxtApp();
+    //广告1
+    let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=nmgw_list_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];
+
+    //广告2
+    let url2 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=nmgw_list_0002`
+    const responseAd2 = await fetch(url2, {
+        headers: {
+            'Content-Type': 'application/json',
+            'Userurl': $CwebUrl,
+            'Origin': $CwebUrl
+        }
+    });
+    const resultAd2 = await responseAd2.json();
+    adImg2.value = resultAd2.data[0];
+
+})
+//5.广告 end---------------------------------------->
+</script>
+
+<style lang="less" scoped>
+@import url('@/assets/css/zgzplist.less');
+</style>

+ 1108 - 0
pages/zhaogongzhaopinnongmingong/index.html.vue

@@ -0,0 +1,1108 @@
+<template>
+    <div>
+        <HomePageHead></HomePageHead>
+        <HomePageNavigation></HomePageNavigation>
+        <HomeSecondaryHeading :titleData="pageDataList" :pinyinid="routeId"></HomeSecondaryHeading>
+
+        <main class="index_main">
+            <!-- 三农资讯网-招工招聘 snzx_recruit-->
+            <section class="index_2">
+                <!-- 职位搜索 -->
+                <div class="recruit_head_box clearfix">
+                    <div class="cruit_head_left">
+                        <a class="cruit_head_a cruit_head_only" href="" title="">职位搜索</a>
+                    </div>
+                    <div class="cruit_head_right clearfix">
+                        <a class="cruit_head_right_a" href="" title="" v-if="job_search == 1 && type_id == 1">创建个人简历</a>
+                        <a class="cruit_head_right_a" href="" title="" v-if="job_search == 1 && type_id == 3">发布招聘信息</a>
+                    </div>
+                </div>
+                <div class="cruit_ul_1 clearfix">
+                    <NuxtLink class="cruit_ul_1_a" :class="{ cruit_ul_1_a_only: cruit_ul_1_a_only_num == index }"
+                        :href="{ path: '/zhaogongzhaopinnongmingong/search', query: { provinceid: `${item.id}` } }"
+                        title="" v-for="(item, index) in provinceList" :key="item.id">
+                        {{ item.name }}
+                    </NuxtLink>
+                </div>
+                <form class="cruit_form clearfix" action=" " method=" ">
+                    <div class="cruit_form_tip clearfix">
+                        <div class="cruit_form_per">
+                            <label class="cruit_form_label">行业类别:</label>
+                            <div class="cruit_form_label_right clearfix">
+                                <el-select v-model="industry_category" placeholder="请选择" style="width: 140px" clearable
+                                    @change="hyChange">
+                                    <el-option v-for="item in industry_categoryList" :key="item.hyid"
+                                        :label="item.hyname" :value="item.hyid" />
+                                </el-select>
+                            </div>
+                        </div>
+                        <div class="cruit_form_per">
+                            <label class="cruit_form_label">职位类别:</label>
+                            <div class="cruit_form_label_right clearfix">
+                                <el-select v-model="position_category" placeholder="请选择" style="width: 140px" clearable
+                                    @change="zwChange">
+                                    <el-option v-for="item in position_categoryList" :key="item.zwid"
+                                        :label="item.zwname" :value="item.zwid" />
+                                </el-select>
+                            </div>
+                        </div>
+                        <div class="cruit_form_per">
+                            <label class="cruit_form_label">具体职位:</label>
+                            <div class="cruit_form_label_right clearfix">
+                                <el-select v-model="position" placeholder="请选择" style="width: 140px" clearable
+                                    no-data-text="请先选择职位类别" @change="jtzwChange">
+                                    <el-option v-for="item in positionList" :key="item.zwid" :label="item.zwname"
+                                        :value="item.zwid" />
+                                </el-select>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="cruit_form_tip clearfix">
+                        <div class="cruit_form_per">
+                            <label class="cruit_form_label">地区选择:</label>
+                            <div class="cruit_form_label_right clearfix">
+                                <el-select v-model="province" placeholder="请选择省" style="width: 140px" clearable
+                                    @change="provinceChange">
+                                    <el-option v-for="item in provinceList" :key="item.id" :label="item.name"
+                                        :value="item.id" />
+                                </el-select>
+                                <el-select v-model="city" placeholder="请选择市" style="width: 140px" no-data-text="请先选择省"
+                                    clearable @change="cityChange">
+                                    <el-option v-for="item in cityList" :key="item.id" :label="item.name"
+                                        :value="item.id" />
+                                </el-select>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="cruit_form_tip clearfix">
+                        <div class="cruit_form_per">
+                            <label class="cruit_form_label">关键词:</label>
+                            <div class="cruit_form_label_right clearfix">
+                                <el-input v-model="keywords" style="width: 300px" placeholder="请输入搜索关键词" clearable />
+                                <!-- <NuxtLink
+                                    :href="{ path: '/zhaogongzhaopin/search', query: { hyid: `${hyid}`, zwid: `${zwid}`, jtzwid: `${jtzwid}`, provinceid: `${provinceid}`, cityid: `${cityid}`, keywords: `${keywords}` } }"> -->
+                                <el-button type="success" @click="goSearch">搜索</el-button>
+                                <!-- </NuxtLink> -->
+                            </div>
+                        </div>
+                    </div>
+                </form>
+                <!-- 职位搜索 -->
+            </section>
+        </main>
+        <main class="color_main">
+            <main class="index_main">
+                <!-- 招聘职位 -->
+                <section class="index_3 clearfix">
+                    <div class="recruit_head_box clearfix">
+                        <div class="cruit_head_left">
+                            <a class="cruit_head_a cruit_head_only" href="" title="">招聘职位</a>
+                        </div>
+                        <!-- <a class="cruit_head_a_more" href="" title=""> 更多 &gt </a> -->
+                    </div>
+                    <div class="cruit_ul_2 clearfix" v-if="job_vacancy">
+                        <div class="cruit_li_2 clearfix" v-for="(item, index) in job_vacancy" :key="item.id">
+                            <NuxtLink class="cruit_li_2_a" :href="`/${item.pinyin}/${item.id}.html?type=${1}`" title="">
+                                <div class="cruit_li_2_head_box clearfix">
+                                    <div class="cruit_li_2_head clearfix dot1">{{ item.title }}</div>
+                                    <div class="cruit_li_2_head_name clearfix dot1">{{ item.business_name }}</div>
+                                </div>
+                                <div class="cruit_li_2_foot_title_box clearfix">
+                                    <span class="cruit_li_2_foot_title">{{ item.jtzw_name }}</span>
+                                </div>
+                                <div class="cruit_li_2_foot clearfix">
+                                    <span class="cruit_li_2_foot_tag cruit_li_2_foot_addres">{{ item.city_name }}</span>
+                                    <span class="cruit_li_2_foot_tag cruit_li_2_foot_exper"
+                                        v-if="item.experience_name || item.education_name">
+                                        <span class="cruit_li_2_foot_tag_in">{{ item.experience_name }}</span>
+                                        <span class="cruit_li_2_foot_tag_in">{{ item.education_name }}</span>
+                                    </span>
+                                    <span class="cruit_li_2_foot_tag cruit_li_2_foot_time">
+                                        {{ getTime(item.due_data, 'year', 1) }}
+                                    </span>
+                                </div>
+                            </NuxtLink>
+                        </div>
+                    </div>
+                </section>
+
+                <section class="index_4 clearfix">
+                    <div class="recruit_head_box clearfix">
+                        <div class="cruit_head_left">
+                            <a class="cruit_head_a cruit_head_only" href="" title="">人才服务</a>
+                        </div>
+                        <!-- <a class="cruit_head_a_more" href="" title=""> 更多 &gt </a> -->
+                    </div>
+                    <div class="cruit_ul_3 clearfix">
+                        <div class="cruit_li_3 clearfix" v-for="(item, index) in job_resume" :key="item.id">
+                            <NuxtLink class="cruit_li_3_a" :href="`/${item.pinyin}/${item.id}.html?type=${2}`" title="">
+                                <div class="cruit_li_3_head_box clearfix">
+                                    <div class="cruit_li_3_head clearfix dot1">{{ item.name }}</div>
+                                    <div class="cruit_li_3_head_name clearfix dot1">{{ item.jtzw_name }}</div>
+                                </div>
+                                <div class="cruit_li_3_text_box clearfix">
+                                    <div class="cruit_li_3_text">
+                                        {{ item.sexy == 1 ? '男' : '女' }}
+                                        <em class="point">·</em>
+                                    </div>
+                                    <div class="cruit_li_3_text" v-if="item.experience">
+                                        {{ item.experience }} 年
+                                        <em class="point">·</em>
+                                    </div>
+
+                                    <div class="cruit_li_3_text">
+                                        {{ item.origin }}
+                                        <em class="point">·</em>
+                                    </div>
+
+                                    <div class="cruit_li_3_text">{{ item.hy_name }}</div>
+                                </div>
+                                <div class="cruit_li_3_tag_box clearfix">
+                                    <span class="cruit_li_3_tag">{{ item.city_name }}</span>
+                                    <!-- updated_at -->
+                                    <span class="cruit_li_3_tag">
+                                        {{ getTime(item.updated_at, 'year', 1) }}
+                                    </span>
+                                </div>
+                            </NuxtLink>
+                        </div>
+                    </div>
+                </section>
+            </main>
+        </main>
+        <HomeAdvertising :imgurl="adImg1" v-if="adImg1"></HomeAdvertising>
+        <!-- 资讯部分 -->
+        <!-- <div class="layoutCopy">
+            <div class="layoutCopyLeft">
+                <div class="layoutCopyLeftTop">
+                    <div class="layoutCopyLeft1" v-if="pageData.length >= 5">
+                        <div class="layoutTitleBox" v-if="pageData[4]">
+                            <div class="layoutTitle" v-if="pageData[4].cid">
+                                <NuxtLink v-if="pageData[4].cid" :href="getLinkPath(pageData[4])" class="active"
+                                    :title="pageData[4].alias">
+                                    {{ pageData[4].alias }}
+                                </NuxtLink>
+                            </div>
+                            <div class="layoutMore" v-if="pageData[4].cid">
+                                <NuxtLink v-if="pageData[4].cid" :href="getLinkPath(pageData[4])"
+                                    :title="pageData[4].alias">
+                                    查看更多
+                                </NuxtLink>
+                            </div>
+                        </div>
+                        <div class="layoutCopyData_style1" v-if="boxData5[0]">
+                            <NuxtLink :href="getLinkPathDetail(boxData5[0])" :title="boxData5[0].title"
+                                :target="boxData5[0].islink == 1 ? '_blank' : '_self'">
+                                <img :src="boxData5[0].imgurl" :alt="boxData5[0].title">
+                                <div>
+                                    <span>{{ boxData5[0].title }}</span>
+                                </div>
+                            </NuxtLink>
+                            <NuxtLink :href="getLinkPathDetail(boxData5data2[0])" :title="boxData5data2[0]"
+                                :target="boxData5data2[0].islink == 1 ? '_blank' : '_self'">
+                                <p class="title">{{ boxData5data2[0].title }}</p>
+                                <p>&nbsp;</p>
+                            </NuxtLink>
+                        </div>
+                    </div>
+                    <div class="layoutCopyLeft2" v-if="pageData.length >= 6">
+                        <div class="layoutTitleBox" v-if="pageData[5]">
+                            <div class="layoutTitle" v-if="pageData[5].cid">
+                                <NuxtLink v-if="pageData[5].cid" :href="getLinkPath(pageData[5])" class="active"
+                                    :title="pageData[5].alias">
+                                    {{ pageData[5].alias }}
+                                </NuxtLink>
+                            </div>
+                            <div class="layoutMore" v-if="pageData[5].cid">
+                                <NuxtLink v-if="pageData[5].cid" :href="getLinkPath(pageData[5])"
+                                    :title="pageData[5].alias">
+                                    查看更多
+                                </NuxtLink>
+                            </div>
+                        </div>
+                        <div class="layoutCopyData_style2">
+                            <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" v-for="item in boxData6"
+                                :target="item.islink == 1 ? '_blank' : '_self'">
+                                <p class="title">{{ item.title }}</p>
+                            </NuxtLink>
+                        </div>
+                    </div>
+                </div>
+                <div class="layoutCopyLeftBottom" v-if="pageData.length >= 7">
+                    <div class="layoutTitleBox" v-if="pageData[6]">
+                        <div class="layoutTitle" v-if="pageData[6].cid">
+                            <NuxtLink v-if="pageData[6].cid" :href="getLinkPath(pageData[6])" class="active"
+                                :title="pageData[6].alias">
+                                {{ pageData[6].alias }}
+                            </NuxtLink>
+                        </div>
+                        <div class="layoutMore" v-if="pageData[6].cid">
+                            <NuxtLink v-if="pageData[6].cid" :href="getLinkPath(pageData[6])"
+                                :title="pageData[6].alias">
+                                查看更多
+                            </NuxtLink>
+                        </div>
+                    </div>
+                    <div class="layoutCopyData_style3">
+                        <div v-for="(item, index) in boxData7">
+                            <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" class="style3link1"
+                                v-if="index == 0" :target="item.islink == 1 ? '_blank' : '_self'">
+                                <div class="time">
+                                    <p>{{ getTime(item.updated_at, 'day', 1) }}</p>
+                                    <p>{{ getTime(item.updated_at, 'month', 1) }}</p>
+                                </div>
+                                <div>
+                                    <p class="title">{{ item.title }}</p>
+                                    <p class="introduce">{{ item.introduce }}</p>
+                                </div>
+                            </NuxtLink>
+                            <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" class="style3link2"
+                                v-if="index > 0" :target="item.islink == 1 ? '_blank' : '_self'">
+                                <div>
+                                    <b></b>
+                                    <p class="title">{{ item.title }}</p>
+                                </div>
+                                <p>&nbsp;</p>
+                            </NuxtLink>
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div class="layoutCopyRight" v-if="pageData.length >= 8">
+                <div class="layoutTitleBox" v-if="pageData[7]">
+                    <div class="layoutTitle" v-if="pageData[7].cid">
+                        <NuxtLink v-if="pageData[7].cid" :href="getLinkPath(pageData[7])" class="active"
+                            :title="pageData[7].alias">
+                            {{ pageData[7].alias }}
+                        </NuxtLink>
+                    </div>
+                    <div class="layoutMore" v-if="pageData[7].cid">
+                        <NuxtLink v-if="pageData[7].cid" :href="getLinkPath(pageData[7])" :title="pageData[7].alias">
+                            查看更多
+                        </NuxtLink>
+                    </div>
+                </div>
+                <div class="layoutCopyData_style4">
+                    <div class="layoutCopyData_pic">
+                        <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" v-for="item in boxData8"
+                            :target="item.islink == 1 ? '_blank' : '_self'">
+                            <img :src="item.imgurl" :alt="item.title">
+                            <p>{{ item.title }}</p>
+                        </NuxtLink>
+                    </div>
+                    <div class="layoutCopyData_text">
+                        <NuxtLink :href="getLinkPathDetail(item)" :title="item.title" v-for="item in boxData88"
+                            :target="item.islink == 1 ? '_blank' : '_self'">
+                            <div class="title">{{ item.title }}</div>
+                            <div class="more">详</div>
+                        </NuxtLink>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="farming">
+            <div class="inner">
+                <div class="farmerLeft">
+                    <div class="farmer">
+                        <h3>
+                            <div class="titleBoxTabs" v-if="pageData.length >= 9">
+                                <span class="active" v-if="pageData[8].cid">
+                                    <NuxtLink :href="getLinkPath(pageData[8])" :title="pageData[8].alias"
+                                        @mouseenter="tabsData1 = 1" :class="{ active: tabsData1 == 1 }">
+                                        {{ pageData[8].alias }}
+                                    </NuxtLink>
+                                </span>
+                                <span v-if="pageData[9].cid">
+                                    <NuxtLink :href="getLinkPath(pageData[9])" :title="pageData[9].alias"
+                                        @mouseenter="tabsData1 = 2" :class="{ active: tabsData1 == 2 }">
+                                        {{ pageData[9].alias }}
+                                    </NuxtLink>
+                                </span>
+                            </div>
+                        </h3>
+                        <ul class="mode1ul_style1" v-if="tabsData1 == 1">
+                            <li v-for="(item, index) in boxData9" class="imgbg">
+                                <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
+                                    :target="item.islink == 1 ? '_blank' : '_self'">
+                                    <img :src="item.imgurl" :alt="item.title">
+                                    <div>
+                                        <p>
+                                            <span v-if="index == 0">专题</span>
+                                            {{ item.title }}
+                                        </p>
+                                        <p>&nbsp;</p>
+                                    </div>
+                                </NuxtLink>
+                            </li>
+                        </ul>
+                        <ul class="mode1ul_style2" v-if="tabsData1 == 1">
+                            <li v-for="item in boxData9data2">
+                                <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
+                                    :target="item.islink == 1 ? '_blank' : '_self'">
+                                    <p class="title">{{ item.title }}</p>
+                                    <p>&nbsp;</p>
+                                </NuxtLink>
+                            </li>
+                        </ul>
+                        <ul class="mode1ul_style1" v-if="tabsData1 == 2">
+                            <li v-for="(item, index) in boxData10" class="imgbg">
+                                <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
+                                    :target="item.islink == 1 ? '_blank' : '_self'">
+                                    <img :src="item.imgurl" :alt="item.title">
+                                    <div>
+                                        <p>
+                                            <span v-if="index == 0">专题</span>
+                                            {{ item.title }}
+                                        </p>
+                                        <p>&nbsp;</p>
+                                    </div>
+                                </NuxtLink>
+                            </li>
+                        </ul>
+                        <ul class="mode1ul_style2" v-if="tabsData1 == 2">
+                            <li v-for="item in boxData10data2">
+                                <NuxtLink :href="getLinkPathDetail(item)" :title="item.title"
+                                    :target="item.islink == 1 ? '_blank' : '_self'">
+                                    <p class="title">{{ item.title }}</p>
+                                    <p>&nbsp;</p>
+                                </NuxtLink>
+                            </li>
+                        </ul>
+                    </div>
+                </div>
+                <div class="farmerRight">
+                    <div class="rich" v-if="pageData.length >= 11">
+                        <h3 v-if="pageData[10]">
+                            <span v-if="pageData[10].cid">
+                                <NuxtLink v-if="pageData[10].cid" :href="getLinkPath(pageData[10])" class="active"
+                                    :title="pageData[10].alias">
+                                    {{ pageData[10].alias }}
+                                </NuxtLink>
+                            </span>
+                            <NuxtLink v-if="pageData[10].cid" :href="getLinkPath(pageData[10])"
+                                :title="pageData[10].alias">
+                                查看更多
+                            </NuxtLink>
+                        </h3>
+                        <div class="richList">
+                            <div class="richListPic" v-if="boxData11[0]">
+                                <NuxtLink :href="getLinkPathDetail(boxData11[0])" :title="boxData11[0].title"
+                                    :target="boxData11[0].islink == 1 ? '_blank' : '_self'">
+                                    <img :src="boxData11[0].imgurl" :alt="boxData11[0].title">
+                                    <div>
+                                        <span>{{ boxData11[0].title }}</span>
+                                    </div>
+                                </NuxtLink>
+                            </div>
+                            <div class="richListText" v-if="boxData11data2[0]">
+                                <NuxtLink :href="getLinkPathDetail(boxData11data2[0])" :title="boxData11data2[0].title"
+                                    :target="boxData11data2[0].islink == 1 ? '_blank' : '_self'">
+                                    <span>{{ boxData11data2[0].title }}</span>
+                                </NuxtLink>
+                            </div>
+                            <div class="richListText" v-if="boxData11data2[1]">
+                                <NuxtLink :href="getLinkPathDetail(boxData11data2[1])" :title="boxData11data2[1].title"
+                                    :target="boxData11data2[1].islink == 1 ? '_blank' : '_self'">
+                                    <span>{{ boxData11data2[1].title }}</span>
+                                </NuxtLink>
+                            </div>
+                            <div class="richListPictow" v-if="boxData11[1]">
+                                <NuxtLink :href="getLinkPathDetail(boxData11[1])" :title="boxData11[1].title"
+                                    :target="boxData11[1].islink == 1 ? '_blank' : '_self'">
+                                    <img :src="boxData11[1].imgurl" :alt="boxData11[1].title">
+                                    <div>
+                                        <span>{{ boxData11[1].title }}</span>
+                                    </div>
+                                </NuxtLink>
+                            </div>
+                            <div class="richListText" v-if="boxData11data2[2]">
+                                <NuxtLink :href="getLinkPathDetail(boxData11data2[2])" :title="boxData11data2[2].title"
+                                    :target="boxData11data2[2].islink == 1 ? '_blank' : '_self'">
+                                    <span>{{ boxData11data2[2].title }}</span>
+                                </NuxtLink>
+                            </div>
+                            <div class="richListText" v-if="boxData11data2[3]">
+                                <NuxtLink :href="getLinkPathDetail(boxData11data2[3])" :title="boxData11data2[3].title"
+                                    :target="boxData11data2[3].islink == 1 ? '_blank' : '_self'">
+                                    <span>{{ boxData11data2[3].title }}</span>
+                                </NuxtLink>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div> -->
+
+        <HomeFoot1></HomeFoot1>
+    </div>
+</template>
+
+<script setup>
+//0.加载页面依赖 start ---------------------------------------->
+import { ref, onMounted } from 'vue';
+import { ElMessage, ElSelect, ElOption, ElInput, ElButton } from 'element-plus';
+
+//格式化跳转路径 - 标题
+//首页分类栏目标题,不需要考虑外链
+const getLinkPath = (item) => {
+    //return `/${item.url}/1.html`;
+    //return `/newsList/${item.cid}?page=1`;
+    return `/${item.aLIas_pinyin}/list-1.html`;
+}
+//首页跳转到详情,这里需要考虑外链
+const getLinkPathDetail = (item) => {
+    if (item.islink == 1) {
+        return `${item.linkurl}`;
+    } else {
+        //return `/${item.aLIas_pinyin}/${item.id}`;
+        //return `/newsDetail/${item.id}`
+        return `/${item.pinyin}/${item.id}.html`;
+    }
+}
+
+//获取用户信息
+let type_id = ref('')
+const gettypeid = await requestDataPromise('/user/getUserInfo', {
+    method: 'GET',
+    query: {},
+});
+// console.log("gettypeid", gettypeid);
+if (gettypeid.code == 200) {
+    type_id.value = gettypeid.data.type_id
+}
+//0.加载页面依赖 end ---------------------------------------->
+
+//1.获得路由id start ---------------------------------------->
+const route = useRoute();
+
+//获得当前的完整路径
+const fullPath = route.path;
+//拆分,取出来中间这一段,然后提取数字部分
+const segments = fullPath.split('/');
+const targetSegment = segments[1];
+//let routeId = 11 //排除路径错误可以打开这个
+//const numberPart = targetSegment.match(/\d+$/)?.[0]; 
+//let routeId = numberPart;
+let routeId;
+//通过导航路径反向查询导航id
+const getRouteId = await requestDataPromise('/web/getWebsiteRoute', {
+    method: 'GET',
+    query: {
+        'pinyin': targetSegment,
+    },
+});
+if (getRouteId.code == 200) {
+    routeId = getRouteId.data.category_id
+} else {
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    console.log("错误位置:通过url路径查询导航池id")
+    console.log("后端错误反馈:", getRouteId.message)
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+}
+//1.获得路由id end ---------------------------------------->
+
+//2.页面交互效果 start ---------------------------------------->
+// 2.1 下拉列表
+// 2.1.1 获取省份
+const province = ref('')  //省
+const provinceid = ref('')  //省
+const city = ref('')  //市
+const provinceList = ref([])  //省列表
+const cityList = ref([])  //市列表
+const getArea = await requestDataPromise('/web/selectWebsiteArea', {
+    method: 'GET',
+    query: {},
+});
+if (getArea.code == 200) {
+    provinceList.value = getArea.data;
+}
+// 2.1.2 获取市
+const provinceChange = async (val) => {
+    console.log('获取到的省份id', val);
+    provinceid.value = val;
+    getCity(val)
+}
+const getCity = async (val) => {
+    const getCity = await requestDataPromise('/web/selectWebsiteArea', {
+        method: 'GET',
+        query: {
+            'pid': val,
+        },
+    });
+    if (getCity.code == 200) {
+        cityList.value = getCity.data;
+    }
+}
+
+// 2.2.1 行业和职位
+const industry_category = ref('')  //行业类别
+const position_category = ref('')  //职位类别
+const position = ref('')  //具体职位
+const keywords = ref('')  //关键词
+const industry_categoryList = ref([])  //行业类别列表
+const position_categoryList = ref([])  //职位类别列表
+const positionList = ref([])  //具体职位列表
+
+const getData = async () => {
+    const getData = await requestDataPromise('/web/getWebsiteJobSelect', {
+        method: 'GET',
+        query: {},
+    });
+    if (getData.code == 200) {
+        // console.log("获取到的分类数据:", getData.data);
+        industry_categoryList.value = getData.data.hy; //行业
+        position_categoryList.value = getData.data.zw; //职位
+        // positionList.value = getData.data.jtzw; //具体职位
+    }
+}
+getData()
+//2.2.2 获取岗位和简历
+const job_vacancy = ref('') // 招聘岗位
+const job_resume = ref('') // 简历
+const getJob = async () => {
+    const getJob = await requestDataPromise('/web/getWebsiteJob', {
+        method: 'GET',
+        query: {
+            'job1_num': 8,
+            'job2_num': 8
+        },
+    });
+    if (getJob.code == 200) {
+        console.log("获取到的岗位和简历:", getJob.data);
+        job_vacancy.value = getJob.data.job_recuiting; // 招聘岗位
+        job_resume.value = getJob.data.job_hunting; // 简历
+    }
+}
+getJob()
+
+// 2.3 change事件
+const hyid = ref('')  //行业
+const zwid = ref('')  //职位
+const jtzwid = ref('')  //具体职位
+const cityid = ref('')  //具体城市
+const hyChange = async (val) => {
+    hyid.value = val;
+}
+const zwChange = async (val) => {
+    console.log('111', val);
+
+    zwid.value = val;
+    const getPosition = await requestDataPromise('/web/getPositionList', {
+        method: 'GET',
+        query: {
+            'zwpid': val,
+        },
+    })
+    console.log("11112222", getPosition);
+
+    if (getPosition.code == 200) {
+        positionList.value = getPosition.data; //具体职位 
+    }
+}
+const jtzwChange = async (val) => {
+    jtzwid.value = val;
+}
+const cityChange = async (val) => {
+    cityid.value = val;
+}
+
+//2.3 搜索
+const router = useRouter();
+const goSearch = async () => {
+    router.push({
+        path: '/zhaogongzhaopinnongmingong/search',
+        query: {
+            'hyid': hyid.value,
+            'zwid': zwid.value,
+            'jtzwid': jtzwid.value,
+            'provinceid': provinceid.value,
+            'cityid': cityid.value,
+            'keywords': keywords.value,
+        }
+    })
+}
+
+
+//2.4 展示广告
+let adImg1 = ref({})
+let adImg2 = ref({})
+let adImg3 = ref({})
+let adImg4 = ref({})
+onMounted(async () => {
+    //从客户端获取行政职能部门 加快打开速度
+    const { $webUrl, $CwebUrl } = useNuxtApp();
+    //广告1
+    let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=nmgw_category_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];
+
+    //广告2
+    let url2 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=nmgw_category_0002`
+    const responseAd2 = await fetch(url2, {
+        headers: {
+            'Content-Type': 'application/json',
+            'Userurl': $CwebUrl,
+            'Origin': $CwebUrl
+        }
+    });
+    const resultAd2 = await responseAd2.json();
+    adImg2.value = resultAd2.data[0];
+
+    //广告3
+    let url3 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=nmgw_category_0003`
+    const responseAd3 = await fetch(url3, {
+        headers: {
+            'Content-Type': 'application/json',
+            'Userurl': $CwebUrl,
+            'Origin': $CwebUrl
+        }
+    });
+    const resultAd3 = await responseAd3.json();
+    adImg3.value = resultAd3.data[0];
+
+    //广告4
+    let url4 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=nmgw_category_0004`
+    const responseAd4 = await fetch(url4, {
+        headers: {
+            'Content-Type': 'application/json',
+            'Userurl': $CwebUrl,
+            'Origin': $CwebUrl
+        }
+    });
+    const resultAd4 = await responseAd4.json();
+    adImg4.value = resultAd4.data[0];
+
+})
+//2.页面交互效果 end ---------------------------------------->
+
+//3.渲染页面数据 start ---------------------------------------->
+//3.1 该页面上所有的导航池 转为动态数据
+//3.1 该页面上所有的导航池 转为动态数据
+const pageCategory = ref([]);
+//3.2 该页面上需要渲染的所有数据
+const pageData = ref([])
+const pageDataList = ref([])
+//3.3 获取所有导航
+try {
+    const navigateData = await requestDataPromise('/web/getWebsiteModelCategory', {
+        method: 'GET',
+        query: {
+            'placeid': 1,
+            'pid': routeId,
+            'num': 8
+        },
+    });
+    if (navigateData.code == 200) {
+        // 遍历可用的导航池放到页面中
+        for (let index in navigateData.data) {
+            let data = {
+                title: navigateData.data[index].name,
+                cid: navigateData.data[index].category_id,
+                children_count: navigateData.data[index].children_count,
+                alias: navigateData.data[index].alias,
+                aLIas_pinyin: targetSegment + "/" + navigateData.data[index].aLIas_pinyin,
+                data: [],
+                data1: [],
+                data2: [],
+                data3: [],
+                data4: [],
+                category_id1: "",
+                category_id2: "",
+                category_id3: "",
+                category_id4: "",
+                title1: "",
+                title2: "",
+                title3: "",
+                title4: ""
+            };
+            console.log("导航池数据:", navigateData.data[index]);
+
+            if (navigateData.data[index].type == 1) {
+                //每个页面最多8个模块
+                pageData.value.push(data);
+            }
+
+            if (navigateData.data[index].is_url == 1) {
+                // 处理 URL 的逻辑
+            } else {
+                //每个页面最多8个模块
+                pageDataList.value.push(data);
+            }
+        }
+        console.log("导航池数据11:", pageDataList.value);
+        //导航池加载完毕,开始申请模块数据
+        // await getPageData1();
+        // await getPageData2();
+        // await getPageData3();
+        // await getPageData4();
+        // await getPageData5();
+        // await getPageData6();
+        // await getPageData7();
+        // await getPageData8();
+        let getJson = [
+            { "parent": routeId + ",0,0", "child": pageDataList.value[0].cid + ",1,1" },//模块1理论前沿
+            { "parent": routeId + ",0,0", "child": pageDataList.value[1].cid + ",5,0" },//模块2典型经验
+            { "parent": routeId + ",0,0", "child": pageDataList.value[2].cid + ",1,6" },//模块3农业天地
+            { "parent": routeId + ",0,0", "child": pageDataList.value[3].cid + ",1,6" },//模块4美丽乡村
+            { "parent": routeId + ",0,0", "child": pageDataList.value[4].cid + ",1,6" },//模块5农民之家
+            { "parent": routeId + ",0,0", "child": pageDataList.value[5].cid + ",6,3" },//模块6农业天地
+        ]
+
+        let jsonString = JSON.stringify(getJson);
+        getPageAllData(jsonString);
+
+    } else {
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+        console.log("错误位置:分类页导航池")
+        console.log("后端错误反馈:", navigateData.message)
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    }
+} catch (error) {
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    console.log("错误位置:分类页导航渲染阶段")
+    console.log("错误:导航池渲染执行接口出错!请检查首页的14的模块的具体执行方法!")
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+}
+//获取资讯
+async function getPageAllData(jsonString) {
+    const mkdata = await requestDataPromise('/web/getWebsiteAllArticle', {
+        method: 'GET',
+        query: {
+            'id': jsonString
+        },
+    });
+    console.log('mkdata', mkdata);
+
+    if (mkdata.code == 200) {
+        console.log(778899)
+        console.log(mkdata.data)
+        //模块1理论前沿
+        if (mkdata.data[0].child.imgnum.length > 0) {
+            pageData.value[0].data.push(mkdata.data[0].child.imgnum[0]);
+        }
+        if (mkdata.data[0].child.imgnum.length > 1) {
+            pageData.value[0].data2.push(mkdata.data[0].child.imgnum[1]);
+        }
+        if (mkdata.data[0].child.imgnum.length > 2) {
+            pageData.value[0].data2.push(mkdata.data[0].child.imgnum[2]);
+        }
+        if (mkdata.data[0].child.imgnum.length > 3) {
+            pageData.value[0].data2.push(mkdata.data[0].child.imgnum[3]);
+        }
+        if (mkdata.data[0].child.imgnum.length > 4) {
+            pageData.value[0].data2.push(mkdata.data[0].child.imgnum[4]);
+        }
+        pageData.value[0].data3 = mkdata.data[0].child.textnum;
+        //模块2典型经验
+        pageData.value[1].data = mkdata.data[1].child.imgnum;
+        //模块3农业天地
+        pageData.value[2].data = mkdata.data[2].child.imgnum;
+        pageData.value[2].data2 = mkdata.data[2].child.textnum;
+        //模块4美丽乡村
+        pageData.value[3].data = mkdata.data[3].child.imgnum;
+        pageData.value[3].data2 = mkdata.data[3].child.textnum;
+        //模块5农民之家
+        pageData.value[4].data = mkdata.data[4].child.imgnum;
+        pageData.value[4].data2 = mkdata.data[4].child.textnum;
+        //模块6农业天地 注意,三农资讯网跟其他行星站不一样,你不需要复制我这个
+        //因为本来二级分类页有9个模块,但是实际应用中只有8个,所以我把本来是模块7
+        //的地方和现有的模块6合并成1个了
+        if (mkdata.data[5].child.imgnum.length > 0) {
+            pageData.value[5].data.push(mkdata.data[5].child.imgnum[0]);
+        }
+        pageData.value[5].data2 = mkdata.data[5].child.textnum;
+        //把模块6的内容放到模块7中一部分
+        for (let i = 1; i < mkdata.data[5].child.imgnum.length && i <= 5; i++) {
+            pageData.value[7].data.push(mkdata.data[5].child.imgnum[i]);
+        }
+        //模块7农村建设
+        pageData.value[6].data = mkdata.data[6].child.imgnum;
+        pageData.value[6].data2 = mkdata.data[6].child.textnum;
+        //模块8高端资讯
+        pageData.value[7].data2 = mkdata.data[7].child.imgnum;
+
+    } else {
+        ElMessage.error(mkdata.message)
+    }
+}
+
+//5.页面基本信息 start---------------------------------------->
+//5.1 导航信息
+// const pageData = ref([
+//     // { cid: "", title: "", data: [] ,children_count:""},
+// ]);
+// //5.2 模块数据
+// //注意前置变量 在nuxt3的ssr模式中,并不存在变量提升。
+// //模块1
+// const boxData1 = ref([])
+// const boxData1data2 = 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([]);
+// //模块8
+// const boxData8 = ref([]);
+// const boxData88 = ref([]);
+// //模块9 模块10 切换
+// const tabsData1 = ref(1)
+// //模块9
+// const boxData9 = ref([]);
+// const boxData9data2 = ref([]);
+// //模块10 
+// const boxData10 = ref([]);
+// const boxData10data2 = ref([]);
+// //模块11
+// const boxData11 = ref([]);
+// const boxData11data2 = ref([]);
+// //模块12 模块13 切换
+// const tabsData2 = ref(1)
+// //模块12
+// const boxData12 = ref([]);
+// //模块13 - 该模块只有一个入口
+// const boxData13 = ref([]);
+// //模块14 模块15 切换
+// const tabsData3 = ref(1)
+// //模块14 - 该模块含有子导航
+// const boxData14 = ref([]);
+// const boxData14data2 = ref([]);
+// const boxData14menu = ref([]);
+// const boxData14childpinyin = ref([]);
+// const boxData14mainData = ref([]);
+// //模块15
+// const boxData15 = ref([]);
+// const boxData15data2 = ref([]);
+// const boxData15menu = ref([]);
+// const boxData15childpinyin = ref([]);
+// const boxData15mainData = ref([]);
+// //模块16 模块17 切换
+// const tabsData4 = ref(1)
+// //模块16 - 该模块含有子导航
+// const boxData16 = ref([]);
+// const boxData16data2 = ref([]);
+// const boxData16menu = ref([]);
+// const boxData16childpinyin = ref([]);
+// const boxData16mainData = ref([]);
+// //模块17 - 政策法规 本来这个是模块3 原来是单独放到一个模块中的,现在提出来了
+// const boxData17 = ref({})
+
+
+// //3.2获得导航数据
+// try {
+//     const navigateData = await requestDataPromise('/web/getWebsiteModelCategory', {
+//         method: 'GET',
+//         query: {
+//             'placeid': 1,
+//             'pid': 0,
+//             'num': 30
+//         },
+//     });
+//     if (navigateData.code == 200) {
+//         // 遍历可用的导航池放到页面中
+//         for (let index in navigateData.data) {
+//             let data = {
+//                 title: navigateData.data[index].name,
+//                 cid: navigateData.data[index].category_id,
+//                 children_count: navigateData.data[index].children_count,
+//                 alias: navigateData.data[index].alias,
+//                 aLIas_pinyin: navigateData.data[index].aLIas_pinyin
+//             };
+//             //主体渲染 第一层
+//             //新农村11
+//             if (navigateData.data[index].category_id == 11) { pageData.value[0] = data }
+//             //农民工317
+//             if (navigateData.data[index].category_id == 317) { pageData.value[1] = data }
+//             //第二层
+//             //政策法规1
+//             if (navigateData.data[index].category_id == 1) { pageData.value[2] = data }
+//             //三农之窗2
+//             if (navigateData.data[index].category_id == 2) { pageData.value[3] = data }
+//             //第三层
+//             //区域经济5
+//             if (navigateData.data[index].category_id == 5) { pageData.value[4] = data }
+//             //三农投资6
+//             if (navigateData.data[index].category_id == 12) { pageData.value[5] = data }
+//             //农贸信息13
+//             if (navigateData.data[index].category_id == 13) { pageData.value[6] = data }
+//             //书刊信息24
+//             if (navigateData.data[index].category_id == 24) { pageData.value[7] = data }
+//             //第四层
+//             //三农科教14
+//             if (navigateData.data[index].category_id == 14) { pageData.value[8] = data }
+//             //文化生活15
+//             if (navigateData.data[index].category_id == 15) { pageData.value[9] = data }
+//             //三农服务27
+//             if (navigateData.data[index].category_id == 27) { pageData.value[10] = data }
+//             //第五层
+//             //三农探索16
+//             if (navigateData.data[index].category_id == 16) { pageData.value[11] = data }
+//             //三农人物18
+//             if (navigateData.data[index].category_id == 18) { pageData.value[12] = data }
+//             //第六层
+//             //农资购销21
+//             if (navigateData.data[index].category_id == 21) { pageData.value[13] = data }
+//             //农产购销153
+//             if (navigateData.data[index].category_id == 153) { pageData.value[14] = data }
+//             //第七层
+//             //打假维权26
+//             if (navigateData.data[index].category_id == 26) { pageData.value[15] = data }
+//         }
+//     } else {
+//         console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+//         console.log("错误位置:首页导航池")
+//         console.log("后端错误反馈:", navigateData.message)
+//         console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+//     }
+// } catch (error) {
+//     console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+//     console.log("错误位置:首页导航渲染阶段")
+//     console.log("错误:导航池渲染执行接口出错!请检查首页的14的模块的具体执行方法!")
+//     console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+// }
+
+
+
+// let getJson = [
+//     { "parent": "11,2,8", "child": "" },//模块1新农村 
+//     { "parent": "317,0,8", "child": "" },//模块2农民工 
+//     { "parent": "2,0,5", "child": "" },//模块4三农之窗
+//     { "parent": "5,1,1", "child": "" },//模块5区域经济
+//     { "parent": "12,0,3", "child": "" },//模块6三农投资 
+//     { "parent": "13,0,4", "child": "" },//模块7农贸信息 
+//     { "parent": "24,2,7", "child": "" },//模块8书刊信息
+//     { "parent": "14,2,8", "child": "" },//模块9三农科教 
+//     { "parent": "15,2,8", "child": "" },//模块10文化生活
+//     { "parent": "27,2,4", "child": "" },//模块11三农服务27
+//     { "parent": "16,0,14", "child": "" },//模块12三农探索16
+//     { "parent": "18,0,14", "child": "" },//模块13三农人物18
+//     { "parent": "21,2,8", "child": "188,0,5" },//模块14农资购销
+//     { "parent": "153,2,8", "child": "258,0,5" },//模块15农产购销
+//     { "parent": "26,4,8", "child": "191,0,5" },//模块16打假维权
+//     { "parent": "1,4,8", "child": "" },//模块3政策法规
+// ]
+
+// let jsonString = JSON.stringify(getJson);
+
+// async function getPageAllData() {
+//     const mkdata = await requestDataPromise('/web/getWebsiteAllArticle', {
+//         method: 'GET',
+//         query: {
+//             'id': jsonString
+//         },
+//     });
+//     console.log("makdata:", mkdata);
+
+
+//     if (mkdata.code == 200) {
+//         //模块1新农村
+//         boxData1.value = mkdata.data[0].imgnum;
+//         boxData1data2.value = mkdata.data[0].textnum;
+//         //模块2农名工
+//         boxData2.value = mkdata.data[1].textnum;
+//         //模块4三农之窗
+//         boxData4.value = mkdata.data[2].textnum;
+//         //模块5区域经济
+//         boxData5.value = mkdata.data[3].imgnum;
+//         boxData5data2.value = mkdata.data[3].textnum;
+//         //模块6三农投资
+//         boxData6.value = mkdata.data[4].textnum;
+//         //模块7农贸信息
+//         boxData7.value = mkdata.data[5].textnum;
+//         //模块8书刊信息
+//         boxData8.value = mkdata.data[6].imgnum;
+//         boxData88.value = mkdata.data[6].textnum;
+//         //模块9三农科教
+//         boxData9.value = mkdata.data[7].imgnum;
+//         boxData9data2.value = mkdata.data[7].textnum;
+//         //模块10文化生活
+//         boxData10.value = mkdata.data[8].imgnum;
+//         boxData10data2.value = mkdata.data[8].textnum;
+//         //模块11三农服务
+//         boxData11.value = mkdata.data[9].imgnum;
+//         boxData11data2.value = mkdata.data[9].textnum;
+//         //模块12三农探索
+//         boxData12.value = mkdata.data[10].textnum;
+//         //模块13三农人物
+//         boxData13.value = mkdata.data[11].textnum;
+//         //模块14农资购销 该栏目含有子导航
+//         boxData14.value = mkdata.data[12].imgnum;
+//         boxData14data2.value = mkdata.data[12].textnum;
+//         boxData14menu.value = mkdata.data[12].child.all_childcat;
+//         boxData14childpinyin.value = mkdata.data[12].child.pinyin;
+//         boxData14mainData.value = mkdata.data[12].child.textnum;
+//         //模块14农产购销 
+//         boxData15.value = mkdata.data[13].imgnum;
+//         boxData15data2.value = mkdata.data[13].textnum;
+//         boxData15menu.value = mkdata.data[13].child.all_childcat;
+//         boxData15childpinyin.value = mkdata.data[13].child.pinyin;
+//         boxData15mainData.value = mkdata.data[13].child.textnum;
+//         //模块15打假维权 
+//         boxData16.value = mkdata.data[14].imgnum;
+//         boxData16data2.value = mkdata.data[14].textnum;
+//         boxData16menu.value = mkdata.data[14].child.all_childcat;
+//         boxData16childpinyin.value = mkdata.data[14].child.pinyin;
+//         boxData16mainData.value = mkdata.data[14].child.textnum;
+//         //模块17政策法规
+//         boxData17.value = mkdata.data[15];
+
+//     } else {
+//         ElMessage.error(mkdata.message)
+//     }
+// }
+// getPageAllData();
+
+//5.页面基本信息 end---------------------------------------->
+
+
+//4.设置seo信息 start---------------------------------------->
+const setData = await requestDataPromise('/web/getWebsiteCategoryHead', {
+    method: 'GET',
+    query: {
+        'catid': routeId
+    },
+});
+
+if (setData.code == 200) {
+    let seoTitle = setData.data.seo_title;
+    let seoDescription = setData.data.seo_description;
+    let seoKeywords = setData.data.seo_keywords;
+    let seoSuffix = setData.data.suffix;
+    let seoName = setData.data.website_name;
+
+    useSeoMeta({
+        title: seoTitle + "_" + seoSuffix,
+        meta: [
+            { name: 'description', content: seoDescription + "_" + seoName + "_" + seoSuffix, tagPriority: 10 },
+            { name: 'keywords', content: seoKeywords + "_" + seoName + "_" + seoSuffix, tagPriority: 10 }
+        ]
+    });
+} else {
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    console.log("错误位置:设置分类页面SEO数据")
+    console.log("后端错误反馈:", setData.message)
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+}
+//4.设置seo信息 end---------------------------------------->
+
+
+
+</script>
+
+<style lang="less" scoped>
+@import '@/assets/css/zgzpClass.less';
+</style>

+ 844 - 0
pages/zhaogongzhaopinnongmingong/search.vue

@@ -0,0 +1,844 @@
+<template>
+    <div id="newsList">
+        <!-- 页面头部 -->
+        <HomePageHead></HomePageHead>
+
+        <!-- 导航栏 -->
+        <HomePageNavigation></HomePageNavigation>
+
+        <!-- 列表页广告一 -->
+        <HomeAdvertising :imgurl="adImg1" v-if="adImg1"></HomeAdvertising>
+
+        <!-- 二级标题-->
+        <HomeListSecondaryHeading v-if="parent_name != ''" :name="parent_name" :nav="secondNav" :pinyin="parent_pinyin">
+        </HomeListSecondaryHeading>
+
+        <main class="index_main">
+            <!-- 三农资讯网-招工招聘-社会招聘 snzx_society -->
+            <section class="index_2">
+                <!-- 职位搜索 -->
+                <div class="recruit_head_box clearfix">
+                    <div class="cruit_head_left">
+                        <span class="cruit_head_a cruit_head_only">职位搜索</span>
+                    </div>
+                    <div class="cruit_head_right clearfix">
+                        <span class="cruit_head_right_a" @click="createResume"
+                            v-if="job_search == 1 && type_id == 1">创建个人简历</span>
+                        <span class="cruit_head_right_a" @click="createJob"
+                            v-if="job_search == 1 && type_id == 3">发布招聘信息</span>
+                    </div>
+                </div>
+                <form class="cruit_form clearfix" action=" " method=" ">
+                    <div class="society_form_tip clearfix">
+                        <label class="society_form_label">行业类别:</label>
+                        <div class="society_form_right_a_box clearfix">
+                            <a class="society_form_right_a" :class="{ society_form_right_a_only: hyid == '' || !hyid }"
+                                title="全部">
+                                全部
+                            </a>
+                            <NuxtLink v-for="(item, index) in industry_categoryList" :key="item">
+                                <span class="society_form_right_a"
+                                    :class="{ society_form_right_a_only: item.hyid == hyid }" :title="item.hyname"
+                                    v-if="index < 20 && hyIndex == 1">{{ item.hyname }}</span>
+                                <span class="society_form_right_a" v-if="hyIndex == 2"
+                                    :class="{ society_form_right_a_only: item.hyid == hyid }" :title="item.hyname">
+                                    {{ item.hyname }}
+                                </span>
+                            </NuxtLink>
+                            <span class="society_form_right_btn" @click="hyIndex = 2" v-if="hyIndex == 1">展开</span>
+                            <span class="society_form_right_btn" @click="hyIndex = 1" v-if="hyIndex == 2">收起</span>
+                        </div>
+                    </div>
+                    <div class="society_form_tip clearfix">
+                        <label class="society_form_label">职位类别:</label>
+                        <div class="society_form_right_a_box clearfix">
+                            <a class="society_form_right_a" :class="{ society_form_right_a_only: zwid == '' || !zwid }"
+                                title="">全部</a>
+                            <span v-for="(item, index) in position_categoryList" :key="item">
+                                <span class="society_form_right_a" v-if="index < 20 && zwIndex == 1"
+                                    :class="{ society_form_right_a_only: item.zwid == zwid }" :title="item.zwname">
+                                    {{ item.zwname }}
+                                </span>
+                                <span class="society_form_right_a" v-if="zwIndex == 2"
+                                    :class="{ society_form_right_a_only: item.zwid == zwid }" :title="item.zwname">
+                                    {{ item.zwname }}
+                                </span>
+                            </span>
+                            <span class="society_form_right_btn society_form_right_btn_up" @click="zwIndex = 2"
+                                v-if="zwIndex == 1">展开</span>
+                            <span class="society_form_right_btn society_form_right_btn_up" @click="zwIndex = 1"
+                                v-if="zwIndex == 2">收起</span>
+                        </div>
+                    </div>
+                    <div class="society_form_tip clearfix" v-if="job_search == 2">
+                        <label class="society_form_label">具体职位:</label>
+                        <div class="society_form_right_a_box clearfix">
+                            <a class="society_form_right_a"
+                                :class="{ society_form_right_a_only: jtzwid == '' || !jtzwid }" title="">全部</a>
+                            <span v-for="(item, index) in positionList" :key="item">
+                                <span class="society_form_right_a" v-if="index < 20 && jtzwIndex == 1"
+                                    :class="{ society_form_right_a_only: item.zwid == jtzwid }" :title="item.zwname">
+                                    {{ item.zwname }}
+                                </span>
+                                <span class="society_form_right_a" v-if="jtzwIndex == 2"
+                                    :class="{ society_form_right_a_only: item.zwid == jtzwid }" :title="item.zwname">
+                                    {{ item.zwname }}
+                                </span>
+                            </span>
+                            <!-- <span class="society_form_right_btn">展开</span> -->
+                            <span class="society_form_right_btn" @click="jtzwIndex = 2" v-if="jtzwIndex == 1">展开</span>
+                            <span class="society_form_right_btn" @click="jtzwIndex = 1" v-if="jtzwIndex == 2">收起</span>
+                        </div>
+                    </div>
+                    <div class="cruit_form_tip clearfix">
+                        <div class="cruit_form_per">
+                            <label class="cruit_form_label">地区选择:</label>
+                            <div class="cruit_form_label_right clearfix">
+                                <el-select v-model="province" placeholder="请选择省" style="width: 140px" clearable
+                                    @change="provinceChange">
+                                    <el-option v-for="item in provinceList" :key="item.id" :label="item.name"
+                                        :value="item.id" />
+                                </el-select>
+                                <el-select v-model="city" placeholder="请选择市" style="width: 140px" no-data-text="请先选择省"
+                                    clearable @change="cityChange">
+                                    <el-option v-for="item in cityList" :key="item.id" :label="item.name"
+                                        :value="item.id" />
+                                </el-select>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="cruit_form_tip clearfix">
+                        <div class="cruit_form_per">
+                            <label class="cruit_form_label">关键词:</label>
+                            <div class="cruit_form_label_right clearfix">
+                                <el-input v-model="keywords" style="width: 300px" placeholder="请输入搜索关键词" clearable />
+                                <el-button type="success" @click="goSearch">搜索</el-button>
+                            </div>
+                        </div>
+                    </div>
+                </form>
+                <!-- 职位搜索 -->
+            </section>
+        </main>
+        <main class="color_main">
+            <main class="index_main">
+                <!-- 选项卡头 -->
+                <section class="index_3 clearfix">
+                    <div class="recruit_head_box clearfix">
+                        <div class="cruit_head_left">
+                            <a class="cruit_head_a" :class="{ cruit_head_only: job_search == 1 }"
+                                @mouseover="job_search = 1" title="">找工作</a>
+                            <a class="cruit_head_a" :class="{ cruit_head_only: job_search == 2 }"
+                                @mouseover="job_search = 2" title="">招人才</a>
+                        </div>
+                        <div class="society_head_right clearfix">
+                            <div class="society_head_checkbox_box" v-if="job_search == 1 && type_id == 1">
+                                <el-checkbox v-model="allJob" label="" @change="toggleAllJob" />
+                            </div>
+                            <div class="society_head_right_all_box" v-if="job_search == 1 && type_id == 1">
+                                全选
+                            </div>
+                            <div class="society_head_checkbox_box" v-if="job_search == 2 && type_id == 3">
+                                <el-checkbox v-model="allResume" label="" @change="toggleAllResume" />
+                            </div>
+                            <div class="society_head_right_all_box" v-if="job_search == 2 && type_id == 3">
+                                全选
+                            </div>
+                            <div class="society_head_right_a" title="" v-if="job_search == 1 && type_id == 1"
+                                @click="getjob">申请职位</div>
+                            <div class="society_head_right_a" v-if="job_search == 2 && type_id == 3"
+                                @click="talkResume">
+                                沟通简历</div>
+                            <!-- resumeBoo = true -->
+                        </div>
+                    </div>
+                    <!-- 选项卡头 -->
+                    <!-- 选项卡 -->
+                    <div class=" clearfix">
+                        <!-- 找工作 -->
+                        <div class=" clearfix" v-show="job_search == 1">
+                            <div class="cruit_ul_2 clearfix">
+                                <div class="cruit_li_2 clearfix" v-for="(item, index) in job_vacancy" :key="item.id">
+
+                                    <div class="society_inp_checkbox_box_li_1 hand">
+                                        <el-checkbox v-model="selectedJobs" :value="item.id" @change="jobChange" />
+                                    </div>
+                                    <NuxtLink class="cruit_li_2_a"
+                                        :href="`/${item.pinyin}/${item.id}.html?type=${job_search}`" title="">
+
+                                        <div class="cruit_li_2_head_box clearfix">
+                                            <div class="cruit_li_2_head clearfix dot1">{{ item.title }}</div>
+                                            <div class="cruit_li_2_head_name clearfix dot1">
+                                                {{ item.business_name }}
+                                            </div>
+                                        </div>
+                                        <div class="cruit_li_2_foot_title_box clearfix">
+                                            <span class="cruit_li_2_foot_title">{{ item.jtzw_name }}</span>
+                                        </div>
+                                        <div class="cruit_li_2_foot clearfix">
+                                            <span class="cruit_li_2_foot_tag cruit_li_2_foot_addres">
+                                                {{ item.city_name }}
+                                            </span>
+                                            <span class="cruit_li_2_foot_tag cruit_li_2_foot_exper"
+                                                v-if="item.experience_name || item.education_name">
+                                                <span class="cruit_li_2_foot_tag_in">{{ item.experience_name }}</span>
+                                                <span class="cruit_li_2_foot_tag_in">{{ item.education_name }}</span>
+                                            </span>
+                                            <span class="cruit_li_2_foot_tag cruit_li_2_foot_time">
+                                                {{ getTime(item.updated_at, 'year', 1) }}
+                                            </span>
+                                        </div>
+                                    </NuxtLink>
+                                </div>
+                            </div>
+                            <div class="pagination">
+                                <el-pagination size="small" background layout="prev, pager, next" :total="total"
+                                    class="mt-4" prev-text="上一页" next-text="下一页" @change="change" />
+                            </div>
+                        </div>
+                        <!-- 找工作 -->
+                        <!-- 招人才 -->
+                        <div class=" clearfix" v-show="job_search == 2">
+                            <div class="society_ul_3 clearfix">
+                                <div class="society_li_3 clearfix" v-for="(item, index) in job_resume" :key="item">
+                                    <div class="society_inp_checkbox_box_li_3 hand">
+                                        <el-checkbox v-model="selectedResume" :value="item.id" @change="jobChange" />
+                                    </div>
+                                    <NuxtLink class="society_li_3_a"
+                                        :href="`/${item.pinyin}/${item.id}.html?type=${job_search}`" title="">
+                                        <div class="society_li_3_head_box clearfix">
+                                            <div class="society_li_3_head clearfix dot1">
+                                                {{ item.name }}
+                                            </div>
+                                            <div class="society_li_3_head_name clearfix dot1">
+                                                {{ item.jtzw_name }}
+                                            </div>
+                                        </div>
+                                        <div class="society_li_3_text_box clearfix">
+                                            <div class="society_li_3_text">
+                                                {{ item.sexy == 1 ? '男' : '女' }}
+                                                <em class="point">·</em>
+                                            </div>
+                                            <div class="society_li_3_text" v-if="item.experience">
+                                                {{ item.experience }}年
+                                                <em class="point">·</em>
+                                            </div>
+                                            <div class="society_li_3_text">
+                                                {{ item.origin }}
+                                                <em class="point">·</em>
+                                            </div>
+                                            <div class="society_li_3_text">{{ item.hy_name }}</div>
+                                        </div>
+                                        <div class="society_li_3_tag_box clearfix">
+                                            <span class="society_li_3_tag">{{ item.city_name }}</span>
+                                            <span class="society_li_3_tag">
+                                                {{ getTime(item.updated_at, 'year', 1) }}
+                                            </span>
+                                        </div>
+                                    </NuxtLink>
+                                </div>
+                            </div>
+                            <div class="pagination">
+                                <el-pagination size="small" background layout="prev, pager, next" :total="total"
+                                    class="mt-4" prev-text="上一页" next-text="下一页" @change="change" />
+                            </div>
+                        </div>
+                        <!-- 招人才 -->
+                    </div>
+                    <!-- 选项卡 -->
+                </section>
+                <!-- 招聘职位 -->
+                <!-- <div class="cruit_alert_box">投递成功</div> -->
+            </main>
+            <!-- 弹框 -->
+            <section class="cruit_alert_rgb clearfix" v-if="resumeBoo">
+                <!-- 请选择要沟通的职位1 -->
+                <!-- <div class="cruit_alert_rgb_box">
+                    <div class="cruit_alert_rgb_head_box">
+                        <div class="cruit_alert_rgb_close hand back100"></div>
+                        <div class="cruit_alert_rgb_head">请选择要沟通的职位</div>
+                    </div>
+                    <form class="cruit_alert_rgb_form clearfix" action=" " method=" ">
+                        <div class="cruit_alert_rgb_form_in clearfix">
+                            <div class="cruit_alert_rgb_li clearfix" v-for="(item, index) in 17" :key="item.id">
+                                <input name="type" type="checkbox" value="" class="cruit_alert_rgb_checkbox hand" />
+                                <label
+                                    class="cruit_alert_rgb_label dot1">高级PHP工程HP工程HP工程HP工程HP工程HP工程HP工程HP工程HP工程HP工程HP工程HP工程HP工程HP工程HP工程HP工程师</label>
+                            </div>
+                        </div>
+                        <div class="cruit_alert_rgb_foot clearfix">
+                            <input class="cruit_alert_rgb_foot_sub hand" name="" type="submit" value="沟通职位">
+                        </div>
+                    </form>
+                </div> -->
+                <!-- 请选择要沟通的职位2 -->
+                <!-- 请选择要投递的简历1 -->
+                <div class="cruit_alert_rgb_box">
+                    <div class="cruit_alert_rgb_head_box">
+                        <div class="cruit_alert_rgb_close hand back100"></div>
+                        <div class="cruit_alert_rgb_head">请选择要投递的简历
+                            <span class="close" @click="resumeBoo = false">x</span>
+                        </div>
+
+                    </div>
+                    <form class="cruit_alert_rgb_form clearfix" action=" " method=" ">
+                        <div class="cruit_alert_rgb_form_in clearfix">
+                            <div class="cruit_alert_rgb_li clearfix" v-for="(item, index) in companyJobList"
+                                :key="item.id">
+                                <!-- <el-checkbox v-model="company_job" :value="item.id" @change="jobChange" /> -->
+                                <el-radio :value="item.id" v-model="company_job" @change="jobChange">
+                                    <div class="cruit_alert_rgb_label dot1">
+                                        {{ item.title }}
+                                    </div>
+                                </el-radio>
+                            </div>
+                        </div>
+                        <div class="cruit_alert_rgb_foot clearfix">
+                            <div class="cruit_alert_rgb_foot_sub hand" @click="getresume">沟通岗位</div>
+                        </div>
+                    </form>
+                </div>
+                <!-- 请选择要投递的简历2 -->
+            </section>
+        </main>
+        <!-- 页面底部 -->
+        <HomeFoot1></HomeFoot1>
+    </div>
+</template>
+
+<script setup>
+//1.页面必备依赖 start ---------------------------------------->
+import { ElSelect, ElOption, ElInput, ElButton, ElPagination, ElCheckbox, ElRadio, ElMessage } from 'element-plus';
+import { ref, onMounted } from 'vue';
+import { useRoute } from 'vue-router'
+//当前列表名称
+
+
+const name = ref('')
+const selectedJobs = ref([])
+const selectedResume = ref([])
+const company_job = ref('')
+const allJob = ref(false)
+const allResume = ref(false)
+const cruit_ul_1_a_only_num = ref(0)
+const job_search = ref(1)   // 选项卡
+const { $webUrl, $CwebUrl, $BwebUrl } = useNuxtApp()
+
+//格式化跳转路径
+const getLinkPathDetail = (item) => {
+    if (item.islink == 1) {
+        return `${item.linkurl}`;
+    } else {
+        //return `/${item.aLIas_pinyin}/${item.id}`;
+        //return `/newsDetail/${item.id}`
+        return `/${item.pinyin}/${item.id}.html`;
+    }
+}
+//获取用户信息
+let type_id = ref('')
+let website_id = ref('')
+const gettypeid = await requestDataPromise('/user/getUserInfo', {
+    method: 'GET',
+    query: {},
+});
+console.log("gettypeid", gettypeid);
+if (gettypeid.code == 200) {
+    type_id.value = gettypeid.data.type_id
+    website_id.value = gettypeid.data.website_id
+}
+//1.页面必备依赖 end ---------------------------------------->
+
+//1.获得路由id start ---------------------------------------->
+const route = useRoute();
+
+const hyid = route.query.hyid;
+const zwid = route.query.zwid;
+const jtzwid = route.query.jtzwid;
+const provinceid = route.query.provinceid;
+const cityid = route.query.cityid;
+const keyword = route.query.keywords;
+
+let articleId = 0;//路由id
+let pageNum = ref(2);
+let total = ref(1);
+const page = ref(1)
+let pageSize = ref(20);
+let hyIndex = ref(1);
+let zwIndex = ref(1);
+let jtzwIndex = ref(1);
+
+//获得当前的完整路径
+const fullPath = route.path;
+//拆分,取出来中间这一段,然后提取数字部分
+const segments = fullPath.split('/');
+const targetSegment = segments[2];
+const targetRoute = segments[1];
+// console.log('111222', targetRoute);
+
+
+//const numberPart = targetSegment.match(/\d+$/)?.[0]; 
+//let routeId = 20 //排除路径错误可以打开这个
+//articleId = numberPart;
+
+//通过导航路径反向查询导航id
+const getRouteId = await requestDataPromise('/web/getWebsiteRoute', {
+    method: 'GET',
+    query: {
+        'pinyin': targetRoute,
+    },
+});
+// console.log("111222333", getRouteId);
+
+if (getRouteId.code == 200) {
+    articleId = getRouteId.data.category_id
+} else {
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    console.log("错误位置:通过url路径查询导航池id")
+    console.log("后端错误反馈:", getRouteId.message)
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+}
+//获得html前的数字
+// const pageUrl = segments[3]; 
+// const pageNumber = pageUrl.split('.')[0];
+// console.log("当前URL中的页码:")
+// console.log(pageNumber)//2
+// pageNum.value = parseInt(pageNumber);
+pageNum.value = parseInt(route.params.id);
+// 创建个人简历
+let createResume = () => {
+    window.open($BwebUrl + '/#/addJobHunting', '_blank');
+}
+// 发布招聘信息
+let createJob = () => {
+    window.open($BwebUrl + '/#/creatJob', '_blank');
+}
+//1.获得路由id end ---------------------------------------->
+
+//2.页面数据 start ---------------------------------------->
+// 2.1.1 获取省份
+const province = ref('')  //省
+const city = ref('')  //市
+let province_id = ref('')
+const provinceList = ref([])  //省列表
+const cityList = ref([])  //市列表
+const getArea = await requestDataPromise('/web/selectWebsiteArea', {
+    method: 'GET',
+    query: {},
+});
+if (getArea.code == 200) {
+    provinceList.value = getArea.data;
+}
+
+
+// 2.1.2 获取
+const provinceChange = (val) => {
+    province_id.value = val;
+    console.log('获取到的省份id', val);
+    getCity(val)
+}
+const getCity = async (value) => {
+    const getCity = await requestDataPromise('/web/selectWebsiteArea', {
+        method: 'GET',
+        query: {
+            'pid': value,
+        },
+    });
+    if (getCity.code == 200) {
+        cityList.value = getCity.data;
+    }
+}
+
+
+if (provinceid) {
+    for (let i = 0; i < provinceList.value.length; i++) {
+        if (provinceList.value[i].id == provinceid) {
+            province.value = provinceList.value[i].id;
+        }
+    }
+    const getCity = await requestDataPromise('/web/selectWebsiteArea', {
+        method: 'GET',
+        query: {
+            'pid': provinceid,
+        },
+    });
+    if (getCity.code == 200) {
+        cityList.value = getCity.data;
+    }
+    if (cityid) {
+        for (let i = 0; i < cityList.value.length; i++) {
+            if (cityList.value[i].id == cityid) {
+                city.value = cityList.value[i].id;
+            }
+        }
+    }
+}
+
+
+// 2.2.1 行业和职位
+const keywords = ref('')  //关键词
+const industry_categoryList = ref([])  //行业类别列表
+const position_categoryList = ref([])  //职位类别列表
+const positionList = ref([])  //具体职位列表
+
+const getData = async () => {
+    const getData = await requestDataPromise('/web/getWebsiteJobSelect', {
+        method: 'GET',
+        query: {},
+    });
+    if (getData.code == 200) {
+        // console.log("获取到的分类数据:", getData.data);
+        industry_categoryList.value = getData.data.hy; //行业
+        position_categoryList.value = getData.data.zw; //职位
+        positionList.value = getData.data.jtzw; //具体职位
+    }
+}
+getData()
+
+const job_vacancy = ref('') // 招聘岗位
+const job_resume = ref('') // 简历
+if (keyword) {
+    keywords.value = keyword
+}
+const getJob = async () => {
+    const getJob = await requestDataPromise('/web/getWebsiteJobList', {
+        method: 'GET',
+        query: {
+            'catid': articleId,
+            'city_id': provinceid,
+            'hy_id': hyid,
+            'zw_id': zwid,
+            'jtzw_id': jtzwid,
+            'page': page.value,
+            'pageSize': pageSize.value,
+            'keyword': keywords.value,
+        },
+    });
+    if (getJob.code == 200) {
+        // console.log("获取到的岗位和简历:", getJob.data);
+        job_vacancy.value = getJob.data.JobRecruiting; // 招聘岗位
+        job_resume.value = getJob.data.JobHunting; // 简历
+        if (job_search == 1) {
+            total.value = getJob.data.recruit_count;
+        } else {
+            total.value = getJob.data.hunt_count;
+        }
+    }
+}
+getJob()
+
+// 搜索
+const goSearch = async () => {
+    const getJob = await requestDataPromise('/web/getWebsiteJobList', {
+        method: 'GET',
+        query: {
+            'catid': articleId,
+            'city_id': province_id.value,
+            'hy_id': hyid,
+            'zw_id': zwid,
+            'jtzw_id': jtzwid,
+            'page': page.value,
+            'pageSize': pageSize.value,
+            'keyword': keywords.value,
+        },
+    });
+    if (getJob.code == 200) {
+        // console.log("获取到的岗位和简历:", getJob.data);
+        job_vacancy.value = getJob.data.JobRecruiting; // 招聘岗位
+        job_resume.value = getJob.data.JobHunting; // 简历
+        if (job_search == 1) {
+            total.value = getJob.data.recruit_count;
+        } else {
+            total.value = getJob.data.hunt_count;
+        }
+    }
+}
+
+//2.2change事件
+let jobChange = (val) => {
+    console.log('jobChange', val)
+    console.log('jobChange111', selectedJobs.value)
+    console.log('jobChange111', selectedResume.value)
+    console.log('jobChange11122', company_job.value) //企业会员的职位
+    if (selectedJobs.value.length == job_vacancy.value.length) {
+        allJob.value = true;
+    } else {
+        allJob.value = false;
+    }
+    if (selectedResume.value.length == job_resume.value.length) {
+        allResume.value = true;
+    } else {
+        allResume.value = false;
+    }
+}
+let toggleAllJob = () => {
+    if (allJob.value) {
+        selectedJobs.value = job_vacancy.value.map(item => item.id);
+    } else {
+        selectedJobs.value = [];
+    }
+}
+
+let toggleAllResume = () => {
+    if (allResume.value) {
+        selectedResume.value = job_resume.value.map(item => item.id);
+    } else {
+        selectedResume.value = [];
+    }
+}
+
+
+//分页事件
+let changePage = (value) => {
+    console.log("当前页码", value);
+    navigateTo(`/${targetSegment}/${value}.html`)
+}
+
+//申请职位
+let getjob = async () => {
+    if (selectedJobs.value.length == 0) {
+        ElMessage({
+            message: '请选择要申请的职位',
+            type: 'warning',
+        });
+    } else {
+        // getWebsiteJobApply
+        const getJobList = await requestDataPromise('/web/getWebsiteJobApply', {
+            method: 'POST',
+            body: {
+                'website_id': website_id.value,
+                'recruit_id': selectedJobs.value,
+            }
+        })
+        if (getJobList.code == 200) {
+            ElMessage({
+                message: '投递成功',
+                type: 'success',
+            });
+        } else {
+            ElMessage({
+                message: getJobList.message,
+                type: 'error',
+            });
+        }
+
+    }
+
+}
+//沟通简历
+let talkResume = () => {
+    if (selectedResume.value.length == 0) {
+        ElMessage({
+            message: '请选择要沟通的简历',
+            type: 'warning',
+        });
+        return false;
+    } else {
+        resumeBoo.value = true;
+    }
+    // resumeBoo.value = true;
+
+}
+//获取当前企业会员的职位
+const companyJobList = ref([])
+let companyJOb = async () => {
+    const companyJOb = await requestDataPromise('/web/getWebsiteJobRecruiting', {
+        method: 'POST',
+        body: {
+            'pageSize': 10,
+            'website_id': 2,
+        }
+    })
+    // console.log("获取到的企业会员的职位11:", companyJOb.data);
+    if (companyJOb.code == 200) {
+        // console.log("获取到的企业会员的职位:", companyJOb.data);
+        companyJobList.value = companyJOb.data
+    }
+}
+companyJOb()
+
+// 沟通简历
+let resumeBoo = ref(false)
+let getresume = async () => {
+    const resumelist = await requestDataPromise('/web/getWebsiteJobResume', {
+        method: 'POST',
+        body: {
+            'website_id': website_id.value,
+            'recruit_id': company_job.value,
+            'hunt_id': selectedResume.value,
+        },
+    });
+
+    // console.log("沟通简历00", resumelist);
+    // console.log("沟通简历11", website_id.value);
+    // console.log("沟通简历22", company_job.value);
+    // console.log("沟通简历33", selectedResume.value);
+    if (resumelist.code == 200) {
+        ElMessage({
+            message: '投递成功',
+            type: 'sussess',
+        });
+        resumeBoo.value = false;
+    } else {
+        ElMessage({
+            message: resumelist.message,
+            type: 'error',
+        });
+        resumeBoo.value = false;
+    }
+    company_job.value = '';
+    selectedResume.value = [];
+    job_search.value = 2
+}
+
+
+
+// //2.3获得页面名称
+// let getPageName = async () => {
+//     const pageName = await requestDataPromise('/web/getOneWebsiteCategory', {
+//         method: 'GET',
+//         query: {
+//             'catid': articleId
+//         },
+//     });
+//     console.log('11122233344',pageName);
+
+//     if (pageName.code == 200) {
+//         name.value = pageName.data.alias
+//     } else {
+//         console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+//         console.log("错误位置:设置页面标题")
+//         console.log("后端错误反馈:", pageName.message)
+//         console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+//     }
+// }
+// //获得列表
+// getPageName();
+//2.页面数据 end ---------------------------------------->
+
+
+//3.二级栏目 start ---------------------------------------->
+//3.1通过id获取一级栏目
+const parent_name = ref([]);
+const parent_id = ref([]);
+const parent_pinyin = ref("");
+let getParentNav = async () => {
+    const listData = await requestDataPromise('/web/getOneWebsiteCategory', {
+        method: 'GET',
+        query: {
+            'catid': articleId
+        },
+    });
+    // console.log("1112223334455", listData.data);
+
+    if (listData.code == 200) {
+        // console.log(111999)
+        console.log(listData.data);
+        parent_name.value = listData.data.alias;
+        parent_id.value = listData.data.category_id;
+        parent_pinyin.value = listData.data.aLIas_pinyin;
+    } else {
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+        console.log("错误位置:获取新闻列表")
+        console.log("后端错误反馈:", listData.message)
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    }
+    getSecondNav();
+}
+//获得父级栏目详情
+getParentNav();
+
+// 3.2获取二级栏目
+const secondNav = ref([]);
+let getSecondNav = async () => {
+    const listData = await requestDataPromise('/web/getWebsiteModelCategory', {
+        method: 'GET',
+        query: {
+            'placeid': 1,
+            'pid': parent_id.value,
+            'num': 8,
+        },
+    });
+    console.log('listData', listData);
+
+    if (listData.code == 200) {
+        secondNav.value = listData.data;
+    } else {
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+        console.log("错误位置:获取新闻列表")
+        console.log("后端错误反馈:", listData.message)
+        console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    }
+}
+//3.二级栏目 end ---------------------------------------->
+
+//4.设置seo信息 start---------------------------------------->
+//4.1 设置seo信息
+const setData = await requestDataPromise('/web/getWebsiteCategoryHead', {
+    method: 'GET',
+    query: {
+        'catid': articleId
+    },
+});
+
+if (setData.code == 200) {
+    let seoTitle = setData.data.seo_title;
+    let seoDescription = setData.data.seo_description;
+    let seoKeywords = setData.data.seo_keywords;
+    let seoSuffix = setData.data.suffix;
+    let seoName = setData.data.website_name;
+
+    useSeoMeta({
+        title: seoTitle + "_" + seoName + "_" + seoSuffix,
+        meta: [
+            { name: 'description', content: seoDescription + "_" + seoName + "_" + seoSuffix, tagPriority: 10 },
+            { name: 'keywords', content: seoKeywords + "_" + seoName + "_" + seoSuffix, tagPriority: 10 }
+        ]
+    });
+} else {
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+    console.log("错误位置:设置列表页面SEO数据")
+    console.log("后端错误反馈:", setData.message)
+    console.log("SSR waring ---------- SSR waring ---------- SSR waring ---------->")
+}
+//4.设置seo信息 end---------------------------------------->
+
+
+//5.广告 start---------------------------------------->
+let adImg1 = ref({});
+let adImg2 = ref({});
+
+onMounted(async () => {
+
+    //从客户端获取行政职能部门 加快打开速度
+    const { $webUrl, $CwebUrl } = useNuxtApp();
+    //广告1
+    let url = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=nmgw_search_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];
+
+    //广告2
+    let url2 = `${$webUrl}/web/getWebsiteAdvertisement?ad_tag=nmgw_list_0002`
+    const responseAd2 = await fetch(url2, {
+        headers: {
+            'Content-Type': 'application/json',
+            'Userurl': $CwebUrl,
+            'Origin': $CwebUrl
+        }
+    });
+    const resultAd2 = await responseAd2.json();
+    adImg2.value = resultAd2.data[0];
+
+})
+//5.广告 end---------------------------------------->
+</script>
+
+<style lang="less" scoped>
+@import url('@/assets/css/zgzpsearch.less');
+</style>

+ 2 - 2
plugins/category.ts

@@ -64,7 +64,7 @@ const navPre: number[] = [
 
 export default defineNuxtPlugin((nuxtApp) => {
     //master 环境
-    nuxtApp.provide('pageNav', navMaster)
+    // nuxtApp.provide('pageNav', navMaster)
     //pre 环境
-    // nuxtApp.provide('pageNav', navPre)
+    nuxtApp.provide('pageNav', navPre)
 })

+ 10 - 10
plugins/globals.ts

@@ -1,17 +1,17 @@
 export default defineNuxtPlugin((nuxtApp) => {
   //Pre环境
-  // nuxtApp.provide('webUrl', 'http://apipre1.bjzxtw.org.cn:29501')
-  // nuxtApp.provide('CwebUrl', 'http://pre.zgnmg.org.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.zgnmg.org.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', 'https://flzxw.bjzxtw.org.cn')
-  nuxtApp.provide('CwebUrl', 'http://nw.zgnmg.org.cn')
-  nuxtApp.provide('BwebUrl', 'https://admin.bjzxtw.org.cn')
-  nuxtApp.provide('LoginWebUrl', 'http://admin.bjzxtw.org.cn/adminapi')
-  nuxtApp.provide('userUrl', 'http://localhost:3004')
+  // nuxtApp.provide('webUrl', 'https://flzxw.bjzxtw.org.cn')
+  // nuxtApp.provide('CwebUrl', 'http://nw.zgnmg.org.cn')
+  // nuxtApp.provide('BwebUrl', 'https://admin.bjzxtw.org.cn')
+  // nuxtApp.provide('LoginWebUrl', 'http://admin.bjzxtw.org.cn/adminapi')
+  // nuxtApp.provide('userUrl', 'http://localhost:3004')
   
   //乡村网
   // nuxtApp.provide('webUrl', 'http://apipre1.bjzxtw.org.cn:29501')

+ 4 - 4
plugins/request.ts

@@ -6,11 +6,11 @@ export default defineNuxtPlugin(() => {
 
     let Url = {
         //正式环境
-        webUrl: 'https://flzxw.bjzxtw.org.cn', //接口地址
-        CwebUrl: 'nw.zgnmg.org.cn' //页面地址
+        // webUrl: 'https://flzxw.bjzxtw.org.cn', //接口地址
+        // CwebUrl: 'nw.zgnmg.org.cn' //页面地址
         //pre环境
-        // webUrl: 'http://apipre1.bjzxtw.org.cn:29501', //pre接口地址
-        // CwebUrl: 'pre.zgnmg.org.cn' //页面地址
+        webUrl: 'http://apipre1.bjzxtw.org.cn:29501', //pre接口地址
+        CwebUrl: 'pre.zgnmg.org.cn' //页面地址
     }
 
     const service = axios.create({

BIN
public/image/01.png


BIN
public/image/02.png


BIN
public/image/03.png


BIN
public/image/04.png


BIN
public/image/05.png


BIN
public/image/06.png


BIN
public/image/1.png


BIN
public/image/2.png


BIN
public/image/4.png


BIN
public/image/touxiang.png