yuanyuan 2 lat temu
rodzic
commit
51b08e8eeb
100 zmienionych plików z 4289 dodań i 2401 usunięć
  1. 1 1
      src/main/yzzscq-web/public/index.html
  2. 1 1
      src/main/yzzscq-web/src/App.vue
  3. BIN
      src/main/yzzscq-web/src/assets/banner@3x.png
  4. BIN
      src/main/yzzscq-web/src/assets/bgfuwu@3x.png
  5. BIN
      src/main/yzzscq-web/src/assets/icon-gongyong@3x.png
  6. BIN
      src/main/yzzscq-web/src/assets/icon_renzheng@3x.png
  7. BIN
      src/main/yzzscq-web/src/assets/iconarrowright@3x.png
  8. BIN
      src/main/yzzscq-web/src/assets/iconclosefanhui@3x.png
  9. BIN
      src/main/yzzscq-web/src/assets/iconright@3x.png
  10. BIN
      src/main/yzzscq-web/src/assets/icon/searchs@3x.png
  11. BIN
      src/main/yzzscq-web/src/assets/img_defaultphoto@3x.png
  12. BIN
      src/main/yzzscq-web/src/assets/nav_icon_bianji@3x.png
  13. BIN
      src/main/yzzscq-web/src/assets/nav_icon_bianjirigth@3x.png
  14. BIN
      src/main/yzzscq-web/src/assets/nav_icon_bianjis@3x.png
  15. BIN
      src/main/yzzscq-web/src/assets/platform_introduction.png
  16. BIN
      src/main/yzzscq-web/src/assets/png-01@3x.png
  17. BIN
      src/main/yzzscq-web/src/assets/png-03@3x.png
  18. BIN
      src/main/yzzscq-web/src/assets/png-04@3x.png
  19. BIN
      src/main/yzzscq-web/src/assets/png-05@3x.png
  20. BIN
      src/main/yzzscq-web/src/assets/png-2@3x.png
  21. BIN
      src/main/yzzscq-web/src/assets/png-Selected@3x.png
  22. BIN
      src/main/yzzscq-web/src/assets/png-chengjiaoanli-bg@3x.png
  23. BIN
      src/main/yzzscq-web/src/assets/png-gongjice-bg@3x.png
  24. BIN
      src/main/yzzscq-web/src/assets/png-ipfuwu-bg@3x.png
  25. BIN
      src/main/yzzscq-web/src/assets/png-jishujingliren-bg@3x.png
  26. BIN
      src/main/yzzscq-web/src/assets/png-xuqiuce-bg@3x.png
  27. 0 0
      src/main/yzzscq-web/src/assets/svgs/top-png-biaoti.svg
  28. BIN
      src/main/yzzscq-web/src/assets/top_nav_icon_xiaoxi@3x.png
  29. BIN
      src/main/yzzscq-web/src/assets/xiaoxi_icon_xitong@3x.png
  30. BIN
      src/main/yzzscq-web/src/assets/xuanzhong@3x.png
  31. 229 12
      src/main/yzzscq-web/src/components/Banner.vue
  32. 69 0
      src/main/yzzscq-web/src/components/BannerNav.vue
  33. 7 7
      src/main/yzzscq-web/src/components/DividerTitle.vue
  34. 9 2
      src/main/yzzscq-web/src/components/MechanismInfo.vue
  35. 209 331
      src/main/yzzscq-web/src/components/PageHeader.vue
  36. 2 2
      src/main/yzzscq-web/src/components/PersonalInfos.vue
  37. 1 1
      src/main/yzzscq-web/src/components/SecurityPhone.vue
  38. 38 37
      src/main/yzzscq-web/src/components/home/ServiceBox.vue
  39. 50 14
      src/main/yzzscq-web/src/components/list/CopyrightDemandRow.vue
  40. 50 12
      src/main/yzzscq-web/src/components/list/CopyrightRow.vue
  41. 51 32
      src/main/yzzscq-web/src/components/list/DigitalRow.vue
  42. 96 57
      src/main/yzzscq-web/src/components/list/ExpertGride.vue
  43. 66 13
      src/main/yzzscq-web/src/components/list/IntellectualPropertyRow.vue
  44. 48 10
      src/main/yzzscq-web/src/components/list/LogoDemand.vue
  45. 51 12
      src/main/yzzscq-web/src/components/list/LogoRow.vue
  46. 6 8
      src/main/yzzscq-web/src/components/list/ManageGride.vue
  47. 34 18
      src/main/yzzscq-web/src/components/list/PatentRow.vue
  48. 51 13
      src/main/yzzscq-web/src/components/list/ProductRow.vue
  49. 71 36
      src/main/yzzscq-web/src/components/list/ServiceDetailGrid.vue
  50. 5 5
      src/main/yzzscq-web/src/components/list/SuccessPatentRow.vue
  51. 50 12
      src/main/yzzscq-web/src/components/list/TechProductDemandRow.vue
  52. 4 4
      src/main/yzzscq-web/src/components/list/newsRow.vue
  53. 35 19
      src/main/yzzscq-web/src/components/list/patentDemandRow.vue
  54. 67 15
      src/main/yzzscq-web/src/components/newsDynamic.vue
  55. 64 16
      src/main/yzzscq-web/src/components/newsDynamics.vue
  56. 93 45
      src/main/yzzscq-web/src/components/newsField.vue
  57. 53 44
      src/main/yzzscq-web/src/components/page/FilterList.vue
  58. 8 8
      src/main/yzzscq-web/src/components/page/MenuPage.vue
  59. 19 16
      src/main/yzzscq-web/src/components/page/SortList.vue
  60. 2 2
      src/main/yzzscq-web/src/components/popup/Agreement2.vue
  61. 2 2
      src/main/yzzscq-web/src/components/popup/Agreement3.vue
  62. 19 1
      src/main/yzzscq-web/src/components/popup/CopyrightAdd.vue
  63. 22 5
      src/main/yzzscq-web/src/components/popup/CopyrightDemandAdd.vue
  64. 20 2
      src/main/yzzscq-web/src/components/popup/LogoAdd.vue
  65. 20 2
      src/main/yzzscq-web/src/components/popup/LogoDemandAdd.vue
  66. 25 2
      src/main/yzzscq-web/src/components/popup/PatentAdd.vue
  67. 32 4
      src/main/yzzscq-web/src/components/popup/PatentDemandAdd.vue
  68. 20 2
      src/main/yzzscq-web/src/components/popup/TechProductDemandAdd.vue
  69. 19 1
      src/main/yzzscq-web/src/components/popup/TechnologyProductAdd.vue
  70. 2 2
      src/main/yzzscq-web/src/components/popup/registrationReset.vue
  71. 4 4
      src/main/yzzscq-web/src/mixins/common.js
  72. 2 2
      src/main/yzzscq-web/src/mixins/menu.js
  73. 5 5
      src/main/yzzscq-web/src/router/index.js
  74. 2 2
      src/main/yzzscq-web/src/styles/theme/button.css
  75. 2 2
      src/main/yzzscq-web/src/styles/theme/calendar.css
  76. 2 2
      src/main/yzzscq-web/src/styles/theme/dropdown.css
  77. 2 2
      src/main/yzzscq-web/src/styles/theme/index.css
  78. 2 2
      src/main/yzzscq-web/src/styles/theme/message-box.css
  79. 2 2
      src/main/yzzscq-web/src/styles/theme/transfer.css
  80. 9 1
      src/main/yzzscq-web/src/utils/variables.js
  81. 489 55
      src/main/yzzscq-web/src/views/About.vue
  82. 582 574
      src/main/yzzscq-web/src/views/Allsearch.vue
  83. 589 174
      src/main/yzzscq-web/src/views/Home.vue
  84. 26 32
      src/main/yzzscq-web/src/views/Index.vue
  85. 3 3
      src/main/yzzscq-web/src/views/Login.vue
  86. 3 4
      src/main/yzzscq-web/src/views/Register.vue
  87. 60 41
      src/main/yzzscq-web/src/views/agent/Index.vue
  88. 70 65
      src/main/yzzscq-web/src/views/detail/Copyright.vue
  89. 46 41
      src/main/yzzscq-web/src/views/detail/CopyrightDemand.vue
  90. 15 11
      src/main/yzzscq-web/src/views/detail/Digital.vue
  91. 15 11
      src/main/yzzscq-web/src/views/detail/Digitals.vue
  92. 1 1
      src/main/yzzscq-web/src/views/detail/ExpertDetail.vue
  93. 58 54
      src/main/yzzscq-web/src/views/detail/IntellectualProperty.vue
  94. 73 68
      src/main/yzzscq-web/src/views/detail/Logo.vue
  95. 62 58
      src/main/yzzscq-web/src/views/detail/LogoDemand.vue
  96. 95 90
      src/main/yzzscq-web/src/views/detail/Patent.vue
  97. 62 57
      src/main/yzzscq-web/src/views/detail/PatentDemand.vue
  98. 55 51
      src/main/yzzscq-web/src/views/detail/SuccessDetail.vue
  99. 143 74
      src/main/yzzscq-web/src/views/detail/TechnicalManager.vue
  100. 89 85
      src/main/yzzscq-web/src/views/detail/TechnologyProduct.vue

+ 1 - 1
src/main/yzzscq-web/public/index.html

@@ -7,7 +7,7 @@
         <link rel="icon" href="<%= BASE_URL %>logo.ico" />
         <link rel="stylesheet" href="https://at.alicdn.com/t/font_2605369_p2nnseyr5n.css" />
         <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css" />
-        <title>白下管理平台</title>
+        <title>扬州市知识产权综合服务平合</title>
         <style>
             @font-face {
                 font-family: 'Noto Sans';

+ 1 - 1
src/main/yzzscq-web/src/App.vue

@@ -429,7 +429,7 @@ export default {
     mounted() {},
     computed: {
         pageTitle() {
-            return this.$route.meta.title || '白下知识产权';
+            return this.$route.meta.title || '扬州市知识产权综合服务平合';
         }
     }
 };

BIN
src/main/yzzscq-web/src/assets/banner@3x.png


BIN
src/main/yzzscq-web/src/assets/bgfuwu@3x.png


BIN
src/main/yzzscq-web/src/assets/icon-gongyong@3x.png


BIN
src/main/yzzscq-web/src/assets/icon_renzheng@3x.png


BIN
src/main/yzzscq-web/src/assets/iconarrowright@3x.png


BIN
src/main/yzzscq-web/src/assets/iconclosefanhui@3x.png


BIN
src/main/yzzscq-web/src/assets/iconright@3x.png


BIN
src/main/yzzscq-web/src/assets/icon/searchs@3x.png


BIN
src/main/yzzscq-web/src/assets/img_defaultphoto@3x.png


BIN
src/main/yzzscq-web/src/assets/nav_icon_bianji@3x.png


BIN
src/main/yzzscq-web/src/assets/nav_icon_bianjirigth@3x.png


BIN
src/main/yzzscq-web/src/assets/nav_icon_bianjis@3x.png


BIN
src/main/yzzscq-web/src/assets/platform_introduction.png


BIN
src/main/yzzscq-web/src/assets/png-01@3x.png


BIN
src/main/yzzscq-web/src/assets/png-03@3x.png


BIN
src/main/yzzscq-web/src/assets/png-04@3x.png


BIN
src/main/yzzscq-web/src/assets/png-05@3x.png


BIN
src/main/yzzscq-web/src/assets/png-2@3x.png


BIN
src/main/yzzscq-web/src/assets/png-Selected@3x.png


BIN
src/main/yzzscq-web/src/assets/png-chengjiaoanli-bg@3x.png


BIN
src/main/yzzscq-web/src/assets/png-gongjice-bg@3x.png


BIN
src/main/yzzscq-web/src/assets/png-ipfuwu-bg@3x.png


BIN
src/main/yzzscq-web/src/assets/png-jishujingliren-bg@3x.png


BIN
src/main/yzzscq-web/src/assets/png-xuqiuce-bg@3x.png


Plik diff jest za duży
+ 0 - 0
src/main/yzzscq-web/src/assets/svgs/top-png-biaoti.svg


BIN
src/main/yzzscq-web/src/assets/top_nav_icon_xiaoxi@3x.png


BIN
src/main/yzzscq-web/src/assets/xiaoxi_icon_xitong@3x.png


BIN
src/main/yzzscq-web/src/assets/xuanzhong@3x.png


+ 229 - 12
src/main/yzzscq-web/src/components/Banner.vue

@@ -1,6 +1,66 @@
 <template>
     <div class="banner">
-        <div class="banner_con">
+        <div class="banner_top_title">
+            <div class="banner_top_title_con">
+                <div class="banner_top_title_con_content banner_top_title_con_one" @click="all('/')">首页</div>
+                <div class="banner_top_title_con_content banner_top_title_con_two">
+                    IP政策法律
+                    <div class="banner_top_title_con_two_con">
+                        <div
+                            v-for="(item, index) in policyLawList"
+                            :key="index"
+                            class="banner_top_title_con_two_con_content"
+                            @click="details(item.title)"
+                        >
+                            {{ item.title }}
+                        </div>
+                    </div>
+                </div>
+                <div class="banner_top_title_con_content banner_top_title_con_three">
+                    IP转化数据
+                    <div class="banner_top_title_con_two_con">
+                        <div
+                            v-for="(item, index) in convertDataList"
+                            :key="index"
+                            class="banner_top_title_con_two_con_content"
+                            @click="details(item.title)"
+                        >
+                            {{ item.title }}
+                        </div>
+                    </div>
+                </div>
+                <div class="banner_top_title_con_content banner_top_title_con_four">
+                    IP交易市场
+                    <div class="banner_top_title_con_two_con">
+                        <div
+                            v-for="(item, index) in tradingMarketList"
+                            :key="index"
+                            class="banner_top_title_con_two_con_content"
+                            @click="details(item.title)"
+                        >
+                            {{ item.title }}
+                        </div>
+                    </div>
+                </div>
+                <div class="banner_top_title_con_content banner_top_title_con_five">
+                    IP全维服务
+                    <div class="banner_top_title_con_two_con">
+                        <div
+                            v-for="(item, index) in fullServiceList"
+                            :key="index"
+                            class="banner_top_title_con_two_con_content"
+                            @click="details(item.title)"
+                        >
+                            {{ item.title }}
+                        </div>
+                    </div>
+                </div>
+                <div class="banner_top_title_con_content banner_top_title_con_six" @click="$router.push('/about')">
+                    辖区风采
+                </div>
+            </div>
+        </div>
+        <!-- <div class="banner_con">
             <div class="banner_con_top">
                 <el-dropdown @command="onCommand" style="margin-left: 20px" trigger="click">
                     <div class="banner_con_top_left">
@@ -18,10 +78,6 @@
                         </el-dropdown-item>
                     </el-dropdown-menu>
                 </el-dropdown>
-                <!-- <div class="banner_con_top_left">
-                    <div>全部</div>
-                    <img src="../assets/icon/arrow/down@3x (1).png" alt="" class="banner_con_top_left_img" />
-                </div> -->
                 <div class="banner_con_top_right" @click="all('/Allsearch')">
                     <div class="banner_con_top_right_title">请输入搜索内容</div>
                     <div class="banner_con_top_right_con">
@@ -77,7 +133,7 @@
                     </div>
                 </div>
             </div>
-        </div>
+        </div> -->
     </div>
     <!-- <swiper class="swiper" :options="swiperOption">
         <swiper-slide
@@ -102,6 +158,65 @@ export default {
             navigationId: 0,
             homeId: 0,
             banners: [],
+            policyLawList: [
+                {
+                    title: '通知公告'
+                },
+                {
+                    title: '新闻资讯'
+                },
+                {
+                    title: '政策法规'
+                }
+            ],
+            tradingMarketList: [
+                {
+                    title: '供给侧'
+                },
+                {
+                    title: '需求侧'
+                },
+                {
+                    title: '技术经理人'
+                },
+                {
+                    title: '成交案例'
+                }
+            ],
+            convertDataList: [
+                {
+                    title: '知产'
+                },
+                {
+                    title: '技术'
+                },
+                {
+                    title: '产品'
+                },
+                {
+                    title: '企业'
+                },
+                {
+                    title: '专家'
+                }
+            ],
+            fullServiceList: [
+                {
+                    title: '信息服务'
+                },
+                {
+                    title: '咨询服务'
+                },
+                {
+                    title: '转化运用服务'
+                },
+                {
+                    title: '法律服务'
+                },
+                {
+                    title: '培训服务'
+                }
+            ],
             swiperOption: {
                 watchOverflow: true,
                 pagination: {
@@ -134,6 +249,46 @@ export default {
                 this.$router.push('/newsList?flag=1');
             }
         },
+        details(name) {
+            if (name === '通知公告') {
+                this.$router.push('/newsList?flag=1');
+                this.$store.commit('modifyFlag', 1);
+            } else if (name === '新闻资讯') {
+                this.$router.push('/newsList?flag=2');
+                this.$store.commit('modifyFlag', 2);
+            } else if (name === '政策法规') {
+                this.$router.push('/newsList?flag=3');
+                this.$store.commit('modifyFlag', 3);
+            } else if (name === '供给侧') {
+                this.$router.push('/patent?caseType=GENERAL');
+            } else if (name === '需求侧') {
+                this.$router.push('/patentDemand?caseType=GENERAL');
+            } else if (name === '技术经理人') {
+                this.$router.push('/technicalManager');
+            } else if (name === '成交案例') {
+                this.$router.push('/successCases?category=GENERAL');
+            } else if (name === '信息服务') {
+                this.$router.push('/agent?navigationId=95');
+            } else if (name === '咨询服务') {
+                this.$router.push('/agent?navigationId=101');
+            } else if (name === '转化运用服务') {
+                this.$router.push('/agent?navigationId=1014');
+            } else if (name === '法律服务') {
+                this.$router.push('/agent?navigationId=111');
+            } else if (name === '培训服务') {
+                this.$router.push('/agent?navigationId=127');
+            } else if (name === '知产') {
+                this.$router.push('/intellectualProperty');
+            } else if (name === '技术') {
+                this.$router.push('/digital?type=TECHNOLOGY');
+            } else if (name === '产品') {
+                this.$router.push('/digital?type=PRODUCT');
+            } else if (name === '企业') {
+                this.$router.push('/digital?type=COMPANY');
+            } else if (name === '专家') {
+                this.$router.push('/expert');
+            }
+        },
         getBanner() {
             return this.$http
                 .post(
@@ -165,7 +320,7 @@ export default {
             this.$store.commit('updateShowAdd', true);
             this.$router.push('/successCases?category=GENERAL');
         }
-    },
+    }
     // components: {
     //     Swiper,
     //     SwiperSlide,
@@ -180,11 +335,73 @@ export default {
 }
 .banner {
     width: 100%;
-    height: 540px;
-    background: linear-gradient(180deg, #01a041 1%, rgba(1, 160, 65, 0) 100%);
-    padding: 60px 0px 21px;
-    box-sizing: border-box;
     cursor: pointer;
+    .banner_top_title {
+        width: 100%;
+        height: 60px;
+        background: #405cff;
+        .banner_top_title_con {
+            width: 1200px;
+            height: 60px;
+            margin: 0 auto;
+            display: flex;
+            .banner_top_title_con_content {
+                height: 60px;
+                flex: 1;
+                text-align: center;
+                font-size: 18px;
+                color: #ffffff;
+                line-height: 60px;
+            }
+            .banner_top_title_con_content:hover {
+                background: #ffe54f;
+                font-size: 20px;
+                font-weight: bold;
+                color: #000000;
+            }
+            .banner_top_title_con_two:hover {
+                .banner_top_title_con_two_con {
+                    display: block;
+                }
+            }
+            .banner_top_title_con_four:hover {
+                .banner_top_title_con_two_con {
+                    display: block;
+                }
+            }
+            .banner_top_title_con_five:hover {
+                .banner_top_title_con_two_con {
+                    display: block;
+                }
+            }
+            .banner_top_title_con_three:hover {
+                .banner_top_title_con_two_con {
+                    display: block;
+                }
+            }
+            .banner_top_title_con_two_con {
+                width: 100%;
+                background: #ffffff;
+                display: none;
+                position: relative;
+                z-index: 99;
+                .banner_top_title_con_two_con_content {
+                    width: 100%;
+                    height: 56px;
+                    font-size: 14px;
+                    color: #000000;
+                    line-height: 56px;
+                    text-align: center;
+                    cursor: pointer;
+                }
+                .banner_top_title_con_two_con_content:hover {
+                    background: #e4e4e4;
+                    color: #353535;
+                    font-weight: bold;
+                }
+            }
+        }
+    }
     .banner_con {
         width: 1200px;
         margin: 0 auto;
@@ -326,7 +543,7 @@ export default {
     // display: block;
 }
 .el-dropdown-menu__item:not(.is-disabled):hover {
-    color: #01a041;
+    color: #405CFF;
 }
 .banner_con_titleOne_con_one {
     background: #3452fe;

+ 69 - 0
src/main/yzzscq-web/src/components/BannerNav.vue

@@ -0,0 +1,69 @@
+<template>
+    <div class="banner_navigation">
+        <div class="banner_navigation_con">
+            <div class="banner_navigation_con_one">特色知识产权运营公共服务</div>
+            <div class="banner_navigation_con_two">打造知识产权融合全链条生态服务</div>
+            <div class="banner_navigation_con_three">
+                <div>了解更多</div>
+                <img src="../assets/iconarrowright@3x.png" alt="" class="banner_navigation_con_three_img" />
+            </div>
+        </div>
+    </div>
+</template>
+<script>
+export default {};
+</script>
+<style lang="less" scoped>
+.banner_navigation {
+    width: 100%;
+    height: 420px;
+    background-image: url('../assets/banner@3x.png');
+    background-size: 100% 100%;
+    background-repeat: no-repeat;
+    .banner_navigation_con {
+        width: 1200px;
+        height: 420px;
+        margin: 0 auto;
+        padding-top: 128px;
+        padding-left: 40px;
+        box-sizing: border-box;
+        .banner_navigation_con_one {
+            font-size: 51px;
+            font-family: ZhenyanGB-Regular, ZhenyanGB;
+            color: #000000;
+            line-height: 52px;
+            font-weight: bold;
+            letter-spacing: 4px;
+            margin-bottom: 31px;
+        }
+        .banner_navigation_con_two {
+            font-size: 20px;
+            font-family: Kingsoft_Cloud_Font;
+            color: rgba(0, 0, 0, 0.66);
+            line-height: 28px;
+            letter-spacing: 12px;
+            margin-bottom: 54px;
+            font-weight: bold;
+        }
+        .banner_navigation_con_three {
+            width: 106px;
+            height: 49px;
+            background: #405cff;
+            border-radius: 4px;
+            display: flex;
+            align-items: center;
+            padding-left: 18px;
+            box-sizing: border-box;
+            font-size: 20px;
+            color: #ffffff;
+            font-weight: bold;
+            line-height: 24px;
+            .banner_navigation_con_three_img {
+                width: 16px;
+                height: 17px;
+                margin-left: 5px;
+            }
+        }
+    }
+}
+</style>

+ 7 - 7
src/main/yzzscq-web/src/components/DividerTitle.vue

@@ -63,13 +63,13 @@ export default {
 
 <style lang="less" scoped>
 .title {
-    font-size: 22px;
+    font-size: 24px;
     font-weight: bold;
     display: flex;
     color: @warn;
     line-height: 32px;
-    font-family: Noto Sans Bold;
-    margin-left: 10px;
+    font-family: SourceHanSansCN-Heavy, SourceHanSansCN;
+    // margin-left: 10px;
     span {
         vertical-align: middle;
         line-height: 32px;
@@ -88,10 +88,10 @@ export default {
 }
 
 .page-title {
-    // margin: auto;
-    padding: 0px 50px 40px;
-    padding-left: 0px;
-    // .flex-col();
+    margin: auto;
+    // padding: 0px 50px 40px;
+    // padding-left: 0px;
+    .flex-col();
     align-items: center;
     cursor: pointer;
 

+ 9 - 2
src/main/yzzscq-web/src/components/MechanismInfo.vue

@@ -247,6 +247,13 @@ export default {
 /deep/ .el-form-item__error {
     margin-left: 135px;
 }
+/deep/ .el-radio__input.is-checked .el-radio__inner{
+    border-color: #01A041 !important;
+    background: #01A041 !important;
+}
+/deep/ .el-radio__input.is-checked + .el-radio__label{
+    color: #000000 !important;
+}
 /deep/ .el-button {
     width: 110px;
     border-radius: 4px;
@@ -299,10 +306,10 @@ export default {
 /deep/ .el-button{
     width: 220px;
     height: 36px;
-    background: #01a041;
+    background: #405CFF;
     border-radius: 4px;
 }
 /deep/ .el-button--primary{
-    border-color: #01a041;
+    border-color: #405CFF;
 }
 </style>

+ 209 - 331
src/main/yzzscq-web/src/components/PageHeader.vue

@@ -1,184 +1,28 @@
 <template>
     <div>
-        <el-header height="90px" class="header_top" v-if="!toMeta">
+        <el-header height="90px" class="header_top">
             <div class="header_top_con">
                 <div class="header_top_left" @click="all('/')">
-                    <img src="../assets/nav_logo@3x (1).png" alt="" class="header_top_img" />
+                    <div class="header_top_left_logo">LOGO</div>
+                    <!-- <img src="../assets/nav_logo@3x (1).png" alt="" class="header_top_img" /> -->
                     <div class="header_top_label"></div>
-                    <div class="header_top_title">白下高新区知识产权运营服务平台</div>
+                    <div class="header_top_title">扬州市知识产权综合服务平合</div>
                 </div>
                 <div class="header_top_right">
-                    <div class="header_top_login" @click="$router.push('/login')" v-if="!isLogin">[登录]</div>
+                    <img src="../assets/icon/searchs@3x.png" alt="" class="header_top_right_sousuo" @click="all('/Allsearch')"/>
                     <div
-                        class="header_top_login"
-                        @click="
-                            $router.push({
-                                path: '/register',
-                                query: {
-                                    type: 1
-                                }
-                            })
-                        "
+                        class="header_top_register"
                         v-if="!isLogin"
+                        @click.prevent="($refs.agreement3.register = true), ($refs.agreement3.identification = 1)"
                     >
-                        [注册]
+                        快速注册
                     </div>
-                    <div class="btn-list" v-if="isLogin">
-                        <el-dropdown @command="onCommand" style="margin-right: 10px" trigger="click">
-                            <div class="img">消息</div>
-                            <div class="title" v-if="NewsList > 0">
-                                {{ NewsList }}
-                            </div>
-                            <el-dropdown-menu slot="dropdown">
-                                <el-dropdown-item class="newsAll" command="allNews" style="word-break: keep-all"
-                                    >查看全部
-                                </el-dropdown-item>
-                                <div class="right-tabbox-newnotice">
-                                    <el-tabs v-model="activeName">
-                                        <el-tab-pane label="消息" name="first"></el-tab-pane>
-                                        <!-- <el-tab-pane label="留言" name="message"></el-tab-pane> -->
-                                    </el-tabs>
-                                </div>
-                                <div v-if="newsList != 0">
-                                    <div v-for="(item, index) in newsLists" :key="index">
-                                        <div class="news">
-                                            <div class="news-l">
-                                                <img
-                                                    src="../assets/xiaoxi_icon_xitong@3x.png"
-                                                    alt=""
-                                                    class="news-l_img"
-                                                />
-                                                <div class="news-con">
-                                                    <div class="txt">
-                                                        <div class="txt1">系统消息</div>
-                                                        <div class="txt2">{{ item.createdAt }}</div>
-                                                    </div>
-                                                    <div class="txt3">{{ item.content }}</div>
-                                                </div>
-                                            </div>
-                                        </div>
-                                        <div class="border" v-if="newsLists.length > 1"></div>
-                                    </div>
-                                </div>
-                                <div class="empty" v-else>
-                                    <i class="el-icon-takeaway-box" style="margin-left: 21px"></i>
-                                    <div style="font-size: 16px">暂无信息</div>
-                                </div>
-                            </el-dropdown-menu>
-                        </el-dropdown>
-                        <el-dropdown @command="onCommand" style="margin-left: 20px" trigger="click">
-                            <span class="el-dropdown-link">
-                                <img style="display: block" :src="avatarBox" /><i
-                                    class="el-icon-arrow-down el-icon--right"
-                                ></i>
-                            </span>
-                            <el-dropdown-menu slot="dropdown">
-                                <el-dropdown-item command="nickname" style="word-break: keep-all"
-                                    >{{ userInfo.nickname }}
-                                </el-dropdown-item>
-                                <div class="border1"></div>
-                                <el-dropdown-item command="edit" style="word-break: keep-all"
-                                    >个人资料
-                                </el-dropdown-item>
-                                <el-dropdown-item command="supply" style="word-break: keep-all"
-                                    >我的供给
-                                </el-dropdown-item>
-                                <el-dropdown-item command="demand" style="word-break: keep-all"
-                                    >我的需求
-                                </el-dropdown-item>
-                                <div class="border1"></div>
-                                <el-dropdown-item command="logout">退出登录 </el-dropdown-item>
-                            </el-dropdown-menu>
-                        </el-dropdown>
-                    </div>
-                    <div class="header_top_navigation" @click="navigation"><i class="el-icon-menu"></i>网站导航</div>
-                </div>
-                <div
-                    class="header_top_navigation_con"
-                    ref="header_top_navigation_con"
-                    v-if="navigationDisplay"
-                    tabindex="0"
-                    @blur="navigationNone"
-                >
-                    <img src="../assets/juxing@3x.png" alt="" class="header_top_navigation_con_img" />
-                    <div class="navigation_information" v-for="(item, index) in navigationTab" :key="index">
-                        <div class="navigation_tab">{{ item.title }}</div>
-                        <div
-                            class="navigation_details"
-                            v-for="(item, index) in item.navigationDetails"
-                            :key="index"
-                            @click="details(item.name)"
-                        >
-                            <div class="navigation_details_con">{{ item.name }}</div>
-                        </div>
-                    </div>
-                </div>
-            </div>
-            <!-- <div class="header">
-            <div class="left" v-if="this.$route.name !== 'allsearch'">
-                <router-link :to="{ name: 'home' }">
-                    <img src="../assets/logo.png" alt="" />
-                </router-link>
-                <div class="header-r"></div>
-                <div class="title">
-                    <img src="../assets/top-png-biaoti@3x.png" alt="" />
-                </div>
-            </div>
-            <div class="left2" v-else>
-                <router-link :to="{ name: 'home' }">
-                    <img src="../assets/logo.png" alt="" />
-                </router-link>
-                <div class="header-r"></div>
-                <div class="title">
-                    <img src="../assets/top-png-biaoti@3x.png" alt="" />
-                </div>
-            </div>
-
-            <div class="right" v-if="this.$route.name !== 'allsearch'">
-                <search-input
-                    size="mini"
-                    v-model="search"
-                    class="search"
-                    placeholder="搜索..."
-                    @focus="all('/Allsearch')"
-                    clearable
-                >
-                    <i slot="append" class="el-icon-search"></i>
-                </search-input>
-                <div class="btn-list" v-else>
-                    <el-button size="mini" plain type="warning" @click="all('/Login')">登录</el-button>
-                    <div class="line"></div>
-                    <el-button size="mini" plain type="warning" @click="all('/Register')">注册</el-button>
-                </div>
-            </div>
-        </div> -->
-        </el-header>
-        <el-header height="90px" class="header_tops" v-else>
-            <div class="header_top_con">
-                <div class="header_top_left" @click="all('/')">
-                    <img src="../assets/nav_logo@3x (2).png" alt="" class="header_top_img" />
-                    <div class="header_top_labels"></div>
-                    <div class="header_top_titles">白下高新区知识产权运营服务平台</div>
-                </div>
-                <div class="header_top_right">
-                    <div class="header_top_logins" @click="$router.push('/login')" v-if="!isLogin">[登录]</div>
-                    <div
-                        class="header_top_logins"
-                        @click="
-                            $router.push({
-                                path: '/register',
-                                query: {
-                                    type: 1
-                                }
-                            })
-                        "
-                        v-if="!isLogin"
-                    >
-                        [注册]
+                    <div class="header_top_login" @click.prevent="$refs.registrationReset.login = true" v-if="!isLogin">
+                        立即登陆
                     </div>
                     <div class="btn-list" v-if="isLogin">
                         <el-dropdown @command="onCommand" style="margin-right: 10px" trigger="click">
-                            <div class="imgs">消息</div>
+                            <img src="../assets/top_nav_icon_xiaoxi@3x.png" alt="" class="header_top_right_xiaoxi" />
                             <div class="title" v-if="NewsList > 0">
                                 {{ NewsList }}
                             </div>
@@ -244,7 +88,7 @@
                             </el-dropdown-menu>
                         </el-dropdown>
                     </div>
-                    <div class="header_top_navigations" @click="navigation"><i class="el-icon-menu"></i>网站导航</div>
+                    <!-- <div class="header_top_navigation" @click="navigation"><i class="el-icon-menu"></i>网站导航</div> -->
                 </div>
                 <div
                     class="header_top_navigation_con"
@@ -428,9 +272,7 @@ export default {
             });
         },
         avatarBox() {
-            return this.userInfo.avatar
-                ? this.userInfo.avatar
-                : 'https://baixiaip.oss-cn-hangzhou.aliyuncs.com/image/2022-09-06-17-04-39jfwMIPtC.png';
+            return this.userInfo.avatar ? this.userInfo.avatar : require('../assets/img_defaultphoto@3x.png');
         }
     },
 
@@ -497,7 +339,6 @@ export default {
         } else {
             this.toMeta = false;
         }
-        console.log('141414', this.loginHome);
         if (this.loginHome) {
             this.$refs.registrationReset.login = true;
         }
@@ -613,7 +454,6 @@ export default {
         }
     },
     components: {
-        SearchInput,
         RegistrationReset,
         Agreement3
     }
@@ -623,7 +463,7 @@ export default {
 <style lang="less" scoped>
 .header_top {
     width: 100%;
-    background: #01a041;
+    background: #ffffff;
     // border-radius: 2px;
     .header_top_con {
         height: 90px;
@@ -670,7 +510,7 @@ export default {
                     line-height: 26px;
                     cursor: pointer;
                     &:hover {
-                        color: #01a041;
+                        color: #405cff;
                     }
                 }
                 .navigation_details:nth-of-type(odd) {
@@ -683,7 +523,7 @@ export default {
                     background: #ffffff;
                     font-size: 18px;
                     font-weight: bold;
-                    color: #01a041;
+                    color: #405CFF;
                     line-height: 24px;
                     position: absolute;
                     top: -15px;
@@ -705,6 +545,19 @@ export default {
         align-items: center;
         cursor: pointer;
     }
+    .header_top_left_logo {
+        width: 148px;
+        height: 56px;
+        border-radius: 8px;
+        border: 1px solid #000000;
+        font-size: 24px;
+        font-family: SourceHanSansCN-Heavy, SourceHanSansCN;
+        font-weight: bold;
+        color: #000000;
+        line-height: 56px;
+        text-align: center;
+        margin-right: 10px;
+    }
     .header_top_img {
         width: 170px;
         height: 58px;
@@ -713,9 +566,9 @@ export default {
     .header_top_label {
         width: 1px;
         height: 42px;
-        background: rgba(255, 255, 255, 0.24);
+        background: rgba(0, 0, 0, 0.24);
         border-radius: 1px;
-        margin-right: 6px;
+        margin-right: 11px;
     }
     .header_top_title {
         width: 410px;
@@ -723,163 +576,42 @@ export default {
         font-size: 24px;
         font-family: SourceHanSansCN-Heavy, SourceHanSansCN;
         font-weight: bold;
-        color: #ffffff;
+        color: #000000;
         // line-height: 36px;
     }
     .header_top_right {
         display: flex;
         align-items: center;
-        .header_top_login {
-            width: 44px;
+        .header_top_right_sousuo {
+            width: 24px;
             height: 24px;
-            font-size: 16px;
-            font-family: PingFangSC-Regular, PingFang SC;
-            font-weight: 400;
-            color: rgba(255, 255, 255, 0.5);
-            line-height: 24px;
-            margin-right: 20px;
             cursor: pointer;
         }
-        .header_top_navigation {
-            cursor: pointer;
-            margin-left: 4px;
-            // width: 67px;
-            height: 24px;
+        .header_top_register {
+            width: 89px;
+            height: 32px;
+            border-radius: 4px;
+            border: 1px solid #405cff;
             font-size: 16px;
-            font-family: PingFangSC-Medium, PingFang SC;
-            font-weight: bold;
-            color: #ffffff;
-            line-height: 24px;
-            .el-icon-menu:before {
-                width: 24px;
-                height: 24px;
-                margin-right: 5px;
-            }
-        }
-    }
-    .el-icon--right {
-        color: #ffffff;
-    }
-}
-.header_tops {
-    width: 100%;
-    background: #ffffff;
-    .header_top_con {
-        height: 90px;
-        width: 1200px;
-        display: flex;
-        justify-content: space-between;
-        margin: 0 auto;
-        position: relative;
-        .header_top_navigation_con {
-            outline: 0 none;
-            position: absolute;
-            top: 83px;
-            z-index: 9999;
-            width: 1200px;
-            height: 213px;
-            background: #ffffff;
-            border-radius: 2px;
-            padding: 37px 26px 19px;
-            box-sizing: border-box;
-            display: flex;
-            justify-content: space-between;
-            .navigation_information {
-                width: 266px;
-                height: 157px;
-                border-radius: 4px;
-                border: 1px solid #f2f3f5;
-                padding: 20px 30px 0px;
-                box-sizing: border-box;
-                // display: flex;
-                justify-content: space-between;
-                flex-wrap: wrap;
-                position: relative;
-                .navigation_details {
-                    display: inline-block;
-                    height: 26px;
-                    margin-bottom: 20px;
-                }
-                .navigation_details_con {
-                    width: 100px;
-                    height: 26px;
-                    font-size: 16px;
-                    font-weight: 400;
-                    color: #313233;
-                    line-height: 26px;
-                    cursor: pointer;
-                    &:hover {
-                        color: #01a041;
-                    }
-                }
-                .navigation_details:nth-of-type(odd) {
-                    text-align: right;
-                }
-                .navigation_tab {
-                    width: 112px;
-                    height: 24px;
-                    text-align: center;
-                    background: #ffffff;
-                    font-size: 18px;
-                    font-weight: bold;
-                    color: #01a041;
-                    line-height: 24px;
-                    position: absolute;
-                    top: -15px;
-                    left: 81px;
-                    z-index: 99;
-                }
-            }
-        }
-        .header_top_navigation_con_img {
-            width: 12px;
-            height: 8px;
-            position: absolute;
-            top: -8px;
-            right: 36px;
+            color: #405cff;
+            line-height: 32px;
+            text-align: center;
+            margin-left: 50px;
+            margin-right: 30px;
+            cursor: pointer;
         }
-    }
-    .header_top_left {
-        display: flex;
-        align-items: center;
-        cursor: pointer;
-    }
-    .header_top_img {
-        width: 170px;
-        height: 58px;
-        margin-right: 5px;
-    }
-    .header_top_labels {
-        width: 1px;
-        height: 42px;
-        background: rgba(0, 0, 0, 0.24);
-        border-radius: 1px;
-        margin-right: 6px;
-    }
-    .header_top_titles {
-        width: 410px;
-        // height: 24px;
-        font-size: 24px;
-        font-family: SourceHanSansCN-Heavy, SourceHanSansCN;
-        font-weight: bold;
-        color: #727172;
-        // line-height: 36px;
-    }
-    .header_top_right {
-        display: flex;
-        align-items: center;
-        .header_top_logins {
-            width: 44px;
-            height: 24px;
+        .header_top_login {
+            width: 89px;
+            height: 32px;
+            background: #405cff;
+            border-radius: 4px;
             font-size: 16px;
-            font-family: PingFangSC-Regular, PingFang SC;
-            font-weight: 400;
-            color: #c8c9cc;
-            line-height: 24px;
-            margin-right: 20px;
+            color: #ffffff;
+            line-height: 32px;
             cursor: pointer;
+            text-align: center;
         }
-        .header_top_navigations {
+        .header_top_navigation {
             cursor: pointer;
             margin-left: 4px;
             // width: 67px;
@@ -887,7 +619,7 @@ export default {
             font-size: 16px;
             font-family: PingFangSC-Medium, PingFang SC;
             font-weight: bold;
-            color: #727172;
+            color: #ffffff;
             line-height: 24px;
             .el-icon-menu:before {
                 width: 24px;
@@ -897,9 +629,148 @@ export default {
         }
     }
     .el-icon--right {
-        color: #727172;
+        color: #939599;
     }
 }
+// .header_tops {
+//     width: 100%;
+//     background: #ffffff;
+//     .header_top_con {
+//         height: 90px;
+//         width: 1200px;
+//         display: flex;
+//         justify-content: space-between;
+//         margin: 0 auto;
+//         position: relative;
+//         .header_top_navigation_con {
+//             outline: 0 none;
+//             position: absolute;
+//             top: 83px;
+//             z-index: 9999;
+//             width: 1200px;
+//             height: 213px;
+//             background: #ffffff;
+//             border-radius: 2px;
+//             padding: 37px 26px 19px;
+//             box-sizing: border-box;
+//             display: flex;
+//             justify-content: space-between;
+//             .navigation_information {
+//                 width: 266px;
+//                 height: 157px;
+//                 border-radius: 4px;
+//                 border: 1px solid #f2f3f5;
+//                 padding: 20px 30px 0px;
+//                 box-sizing: border-box;
+//                 // display: flex;
+//                 justify-content: space-between;
+//                 flex-wrap: wrap;
+//                 position: relative;
+//                 .navigation_details {
+//                     display: inline-block;
+//                     height: 26px;
+//                     margin-bottom: 20px;
+//                 }
+//                 .navigation_details_con {
+//                     width: 100px;
+//                     height: 26px;
+//                     font-size: 16px;
+//                     font-weight: 400;
+//                     color: #313233;
+//                     line-height: 26px;
+//                     cursor: pointer;
+//                     &:hover {
+//                         color: #405CFF;
+//                     }
+//                 }
+//                 .navigation_details:nth-of-type(odd) {
+//                     text-align: right;
+//                 }
+//                 .navigation_tab {
+//                     width: 112px;
+//                     height: 24px;
+//                     text-align: center;
+//                     background: #ffffff;
+//                     font-size: 18px;
+//                     font-weight: bold;
+//                     color: #405CFF;
+//                     line-height: 24px;
+//                     position: absolute;
+//                     top: -15px;
+//                     left: 81px;
+//                     z-index: 99;
+//                 }
+//             }
+//         }
+//         .header_top_navigation_con_img {
+//             width: 12px;
+//             height: 8px;
+//             position: absolute;
+//             top: -8px;
+//             right: 36px;
+//         }
+//     }
+//     .header_top_left {
+//         display: flex;
+//         align-items: center;
+//         cursor: pointer;
+//     }
+//     .header_top_img {
+//         width: 170px;
+//         height: 58px;
+//         margin-right: 5px;
+//     }
+//     .header_top_labels {
+//         width: 1px;
+//         height: 42px;
+//         background: rgba(0, 0, 0, 0.24);
+//         border-radius: 1px;
+//         margin-right: 6px;
+//     }
+//     .header_top_titles {
+//         width: 410px;
+//         // height: 24px;
+//         font-size: 24px;
+//         font-family: SourceHanSansCN-Heavy, SourceHanSansCN;
+//         font-weight: bold;
+//         color: #727172;
+//         // line-height: 36px;
+//     }
+//     .header_top_right {
+//         display: flex;
+//         align-items: center;
+//         .header_top_logins {
+//             width: 44px;
+//             height: 24px;
+//             font-size: 16px;
+//             font-family: PingFangSC-Regular, PingFang SC;
+//             font-weight: 400;
+//             color: #c8c9cc;
+//             line-height: 24px;
+//             margin-right: 20px;
+//             cursor: pointer;
+//         }
+//         .header_top_navigations {
+//             cursor: pointer;
+//             margin-left: 4px;
+//             // width: 67px;
+//             height: 24px;
+//             font-size: 16px;
+//             font-family: PingFangSC-Medium, PingFang SC;
+//             font-weight: bold;
+//             color: #727172;
+//             line-height: 24px;
+//             .el-icon-menu:before {
+//                 width: 24px;
+//                 height: 24px;
+//                 margin-right: 5px;
+//             }
+//         }
+//     }
+//     .el-icon--right {
+//         color: #727172;
+//     }
+// }
 .selectA {
     /deep/ .el-input {
         .el-input__inner {
@@ -936,7 +807,8 @@ export default {
     color: #c8c9cc;
 }
 .el-dropdown-menu__item:not(.is-disabled):hover {
-    color: #01a041;
+    color: #405cff;
+    background-color: #fff;
 }
 /deep/ .el-avatar {
     background: none;
@@ -1069,6 +941,12 @@ export default {
     // margin-top: 24px;
     cursor: pointer;
     // margin-right: -15px;
+    .header_top_right_xiaoxi {
+        width: 34px;
+        height: 34px;
+        margin-left: 40px;
+        margin-right: 20px;
+    }
     .img {
         font-size: 16px;
         font-family: PingFangSC-Medium, PingFang SC;
@@ -1088,8 +966,8 @@ export default {
     }
     .title {
         position: absolute;
-        right: -7px;
-        top: -7px;
+        right: 20px;
+        top: -5px;
         width: 14px;
         height: 14px;
         background: #ff8700;
@@ -1130,20 +1008,20 @@ export default {
         margin-right: 12px;
     }
     img {
-        width: 30px;
-        height: 30px;
+        width: 34px;
+        height: 34px;
         margin: 0 2px 0 -12px;
         border-radius: 50%;
     }
 }
 /deep/ .is-active {
-    color: #01a041;
+    color: #405cff;
     position: relative;
     &::after {
         content: '';
         width: 26px;
         height: 1px;
-        background: #01a041;
+        background: #405cff;
         position: absolute;
         bottom: 1px;
         left: 0;

+ 2 - 2
src/main/yzzscq-web/src/components/PersonalInfos.vue

@@ -291,11 +291,11 @@ export default {
 /deep/ .el-button {
     width: 220px;
     height: 36px;
-    background: #01a041;
+    background: #405CFF;
     border-radius: 4px;
 }
 /deep/ .el-button--primary {
-    border-color: #01a041;
+    border-color: #405CFF;
 }
 .avatar {
     margin: 30px 0 -220px 550px;

+ 1 - 1
src/main/yzzscq-web/src/components/SecurityPhone.vue

@@ -87,7 +87,7 @@ export default {
 }
 /deep/.el-step:nth-child(2) {
     .el-step__icon {
-        background: #01a041 !important;
+        background: #405CFF !important;
         color: #ffffff;
         border: 0;
     }

+ 38 - 37
src/main/yzzscq-web/src/components/home/ServiceBox.vue

@@ -6,7 +6,7 @@
         <div class="service-text">
             <div class="text2">{{ info.name }}</div>
         </div>
-
+        <div class="service-top_arrow" v-if="info.name != '培训服务'"></div>
         <!-- <div class="service-hover">
             <div class="top">
                 <div class="text">
@@ -43,11 +43,11 @@ export default {
 <style lang="less" scoped>
 .service-box {
     display: block;
-    width: 208px;
-    height: 208px;
-    border-radius: 1px;
-    box-shadow: 0px 2px 10px 0px #f5f7fa, inset 2px 2px 4px 0px #f5f7fa;
-    overflow: hidden;
+    // width: 208px;
+    // height: 208px;
+    // border-radius: 1px;
+    // box-shadow: 0px 2px 10px 0px #f5f7fa, inset 2px 2px 4px 0px #f5f7fa;
+    // overflow: hidden;
     cursor: pointer;
     position: relative;
     color: #000000;
@@ -62,45 +62,41 @@ export default {
     //     z-index: 2;
     // }
 
-    &:hover {
-        box-sizing: border-box;
-        border: 1px solid #01a041;
-        color: #01a041;
-    }
+    // &:hover {
+    //     box-sizing: border-box;
+    //     border: 1px solid #405CFF;
+    //     color: #405CFF;
+    // }
+}
+.service-top_arrow {
+    position: absolute;
+    top: 80px;
+    right: -44px;
+    width: 30px;
+    height: 1px;
+    background: #bcc1cc;
 }
 .service-top {
-    padding-top: 48px;
-    box-sizing: border-box;
-    .flex();
-    justify-content: center;
-    .text {
-        // font-size: 16px;
-        // font-weight: bold;
-        // color: @prim;
-        // line-height: 24px;
-
-        // div {
-        //     &:first-child {
-        //         font-size: 25px;
-        //         font-family: Impact;
-        //         padding-bottom: 15px;
-        //     }
-        // }
-    }
+    width: 190px;
+    height: 160px;
+    background: #f2f3f7;
+    box-shadow: 0px 0px 6px 0px #d2dbf0;
+    display: flex;
+    align-items: center;
+    justify-content: flex-end;
     img {
-        width: 76px;
-        height: 76px;
-        display: block;
-        margin-bottom: 22px;
+        width: 140px;
+        height: 130px;
     }
 }
 .service-text {
-    font-size: 20px;
+    font-size: 18px;
     font-family: PingFangSC-Regular, PingFang SC;
-    font-weight: 400;
+    font-weight: bold;
     line-height: 24px;
-    .flex();
-    justify-content: center;
+    color: #818999;
+    margin-top: 30px;
+    padding-left: 30px;
     // color: #ff8700;
     // line-height: 24px;
     // .flex();
@@ -116,6 +112,11 @@ export default {
     //     font-size: 22px;
     // }
 }
+.service-box:hover {
+    .service-text {
+        color: #0144cb;
+    }
+}
 .service-content {
     font-size: 14px;
     color: #515151;

+ 50 - 14
src/main/yzzscq-web/src/components/list/CopyrightDemandRow.vue

@@ -54,12 +54,19 @@
             </div> -->
         </div>
         <div class="edit-btn" v-if="isEdit">
-            <el-button v-if="info.status === 'PASS'" type="primary" size="small" plain @click.prevent="edit"
+            <el-button
+                v-if="info.status === 'PASS'"
+                type="primary"
+                size="small"
+                class="edit_information"
+                @click.prevent="edit"
                 >编辑</el-button
             >
-            <el-button v-if="info.status === 'PENDING'" type="primary" size="small" plain>审核中</el-button>
+            <el-button v-if="info.status === 'PENDING'" type="primary" size="small" class="under_review"
+                >审核中</el-button
+            >
             <el-button v-if="info.status === 'DENY'" type="danger" size="small" plain>已拒绝</el-button>
-            <el-button size="small" plain @click.prevent="del">删除</el-button>
+            <div class="delbut" @click.prevent="del">删除</div>
         </div>
         <div class="btn" v-else>
             <div class="icon-button" @click.prevent="connectKefu">
@@ -155,6 +162,31 @@ export default {
         }
     }
 }
+.under_review {
+    width: 88px;
+    border-radius: 2px;
+    border: 1px solid #405cff;
+    background: #ffffff;
+    color: #405cff;
+}
+.delbut {
+    width: 56px;
+    height: 32px;
+    border-radius: 2px;
+    border: 1px solid #c8c9cc;
+    font-size: 13px;
+    color: #626366;
+    line-height: 32px;
+    text-align: center;
+    margin-left: 16px;
+}
+.edit_information {
+    width: 88px;
+    border-radius: 2px;
+    border: 1px solid #405cff;
+    background: #ffffff;
+    color: #405cff;
+}
 .funding {
     padding: 20px;
     margin-bottom: 20px;
@@ -167,21 +199,25 @@ export default {
     }
     position: relative;
     cursor: pointer;
-    border: 1px solid rgba(56,85,142,0.04);
+    border: 1px solid rgba(56, 85, 142, 0.04);
     // border: 1px solid transparent;
     // border-bottom-color: @bg;
 
     &:hover {
-        box-shadow: 0px 3px 12px 0px rgba(81, 81, 81, 0.1);
-        border: 1px solid #01a041;
-        // box-shadow: 0px 3px 12px 0px rgba(255, 135, 0, 0.2);
-        // border: 1px solid #ff8700;
+        box-shadow: 0px 0px 6px 0px #d2dbf0;
+        background: #f5f8ff;
         .text2 {
-            color: #01a041;
+            color: #405cff;
+        }
+        .icon-button {
+            background: #405cff;
+            color: #ffffff;
+        }
+        .under_review {
+            background: #f5f8ff;
         }
-        .icon-button{
-            background: #01A041;
-            color: #FFFFFF;
+        .edit_information {
+            background: #f5f8ff;
         }
     }
 }
@@ -222,8 +258,8 @@ export default {
     display: flex;
     justify-content: center;
     border-radius: 2px;
-    border: 1px solid #01a041;
-    color: #01a041;
+    border: 1px solid #405cff;
+    color: #405cff;
     box-sizing: border-box;
     padding: 0px;
 }

+ 50 - 12
src/main/yzzscq-web/src/components/list/CopyrightRow.vue

@@ -47,12 +47,19 @@
             </div>
         </div>
         <div class="edit-btn" v-if="isEdit">
-            <el-button v-if="info.status === 'PASS'" type="primary" size="small" plain @click.prevent="edit"
+            <el-button
+                v-if="info.status === 'PASS'"
+                type="primary"
+                size="small"
+                class="edit_information"
+                @click.prevent="edit"
                 >编辑</el-button
             >
-            <el-button v-if="info.status === 'PENDING'" type="primary" size="small" plain>审核中</el-button>
+            <el-button v-if="info.status === 'PENDING'" type="primary" size="small" class="under_review"
+                >审核中</el-button
+            >
             <el-button v-if="info.status === 'DENY'" type="danger" size="small" plain>已拒绝</el-button>
-            <el-button size="small" plain @click.prevent="del">删除</el-button>
+            <div class="delbut" @click.prevent="del">删除</div>
         </div>
         <div class="btn" v-else>
             <div class="icon-button" @click.prevent="connectKefu">
@@ -157,6 +164,31 @@ export default {
         }
     }
 }
+.under_review {
+    width: 88px;
+    border-radius: 2px;
+    border: 1px solid #405cff;
+    background: #ffffff;
+    color: #405cff;
+}
+.delbut {
+    width: 56px;
+    height: 32px;
+    border-radius: 2px;
+    border: 1px solid #c8c9cc;
+    font-size: 13px;
+    color: #626366;
+    line-height: 32px;
+    text-align: center;
+    margin-left: 16px;
+}
+.edit_information {
+    width: 88px;
+    border-radius: 2px;
+    border: 1px solid #405cff;
+    background: #ffffff;
+    color: #405cff;
+}
 .funding {
     padding: 20px;
     .flex();
@@ -168,17 +200,23 @@ export default {
     }
     position: relative;
     cursor: pointer;
-    border: 1px solid rgba(56,85,142,0.04);
+    border: 1px solid rgba(56, 85, 142, 0.04);
 
     &:hover {
-        box-shadow: 0px 3px 12px 0px rgba(81, 81, 81, 0.1);
-        border: 1px solid #01a041;
+        box-shadow: 0px 0px 6px 0px #d2dbf0;
+        background: #f5f8ff;
         .text2 {
-            color: #01a041;
+            color: #405cff;
+        }
+        .icon-button {
+            background: #405cff;
+            color: #ffffff;
+        }
+        .under_review {
+            background: #f5f8ff;
         }
-        .icon-button{
-            background: #01A041;
-            color: #FFFFFF;
+        .edit_information {
+            background: #f5f8ff;
         }
     }
 }
@@ -207,8 +245,8 @@ export default {
     display: flex;
     justify-content: center;
     border-radius: 2px;
-    border: 1px solid #01a041;
-    color: #01a041;
+    border: 1px solid #405cff;
+    color: #405cff;
     box-sizing: border-box;
     padding: 0px;
 }

+ 51 - 32
src/main/yzzscq-web/src/components/list/DigitalRow.vue

@@ -13,18 +13,20 @@
         <div class="content">
             <div class="title">{{ info.name }}</div>
             <!-- <div class="flex1" style="flex-gorw: 1"><div class="desc" v-html="info.manual"></div></div> -->
+            <div class="flex1" style="flex-gorw: 1"><div class="desc" v-html="info.settingName"></div></div>
             <div class="time">
-                <span>{{ ownerName }}:{{ info.owner }}</span>
-                <span>行业领域:{{ info.fieldName }}</span>
-            </div>
-            <div class="time">
-                <span>{{ formatTime(info.createdAt, 'YYYY.MM.DD') }}</span>
+                <div>
+                    <span>{{ ownerName }}:{{ info.owner }}</span>
+                    <span>行业领域:{{ info.fieldName }}</span>
+                </div>
+                <div>
+                    <span>{{ formatTime(info.createdAt, 'YYYY.MM.DD') }}</span>
+                </div>
             </div>
         </div>
-        <!-- 
         <div class="btn">
-            <el-button size="small"> 查看详情 </el-button>
-        </div> -->
+            <div class="btn_con">查看详情</div>
+        </div>
     </router-link>
 </template>
 
@@ -58,50 +60,52 @@ export default {
 <style lang="less" scoped>
 .patent {
     padding: 10px 20px;
-    .flex();
-
+    display: flex;
     .el-image {
-        width: 140px;
+        width: 138px;
         height: 140px;
         flex-shrink: 0;
     }
     position: relative;
     cursor: pointer;
-    border: 1px solid transparent;
-    border-bottom-color: @bg;
+    background: #ffffff;
+    border: 1px solid rgba(56, 85, 142, 0.04);
+    margin-bottom: 20px;
 
     &:hover {
-        box-shadow: 0px 3px 12px 0px rgba(81,81,81,0.1);
-        // border: 1px solid @prim;
-        border: 1px solid #01A041;
-        .content {
-            .title {
-                color: #01A041;
-            }
-            .desc {
-                color: #01A041;
-            }
-            .time {
-                color: #01A041;
-            }
+        background: #f5f8ff;
+        box-shadow: 0px 0px 6px 0px #d2dbf0;
+        .btn .btn_con{
+            border: 1px solid #405CFF;
+            color: #405CFF;
         }
+        // .content {
+        //     .title {
+        //         color: #405CFF;
+        //     }
+        //     .desc {
+        //         color: #405CFF;
+        //     }
+        //     .time {
+        //         color: #405CFF;
+        //     }
+        // }
     }
     overflow: hidden;
 }
 
 .content {
-    padding: 0 10px 0 16px;
+    padding: 14px 20px;
     flex-grow: 1;
-    height: 140px;
     .flex-col();
     overflow: hidden;
     .title {
         font-size: 14px;
         font-weight: bold;
         color: #000000;
-        line-height: 20px;
-        padding: 24px 0 8px 0;
+        line-height: 22px;
         .ellipsis();
+        margin-bottom: 12px;
     }
 
     .desc {
@@ -117,8 +121,8 @@ export default {
         color: #939599;
         line-height: 20px;
         padding: 8px 0;
-
-        .flex();
+        display: flex;
+        justify-content: space-between;
         span {
             &:nth-child(2) {
                 flex-grow: 1;
@@ -127,4 +131,19 @@ export default {
         }
     }
 }
+.btn {
+    display: flex;
+    align-items: center;
+    margin-left: 70px;
+    .btn_con {
+        width: 98px;
+        height: 30px;
+        border-radius: 2px;
+        border: 1px solid #979797;
+        font-size: 14px;
+        color: #939599;
+        line-height: 30px;
+        text-align: center;
+    }
+}
 </style>

+ 96 - 57
src/main/yzzscq-web/src/components/list/ExpertGride.vue

@@ -1,33 +1,39 @@
 <template>
-    <router-link
-        :to="{
-            name: 'expertDetail',
-            query: {
-                id: info.id
-            }
-        }"
-        class="manage"
-        :class="{ 'manage-mini': size === 'mini' }"
-    >
-        <el-image :src="getImg(info.avatar)" fit="fill"></el-image>
-        <div class="content">
-            <div class="name">{{ info.name }}</div>
+    <div class="list_con">
+        <div class="manage" :class="{ 'manage-mini': size === 'mini' }">
+            <!-- <router-link class="manage" :class="{ 'manage-mini': size === 'mini' }"> -->
+            <div class="manage_top">
+                <el-image :src="getImg(info.avatar)" fit="fill"></el-image>
+                <div class="manage_top_content">
+                    <div class="name">{{ info.name }}</div>
+                    <div class="go">
+                        擅长领域:
+                        <span v-for="(item, index) in info.fieldName" :key="index" class="go_field">{{ item }}</span>
+                    </div>
+                </div>
+            </div>
+            <div class="bottom">
+                <!-- <div style="margin-bottom: 10px">联系方式:{{ info.phone }}</div>
+                <div>任职单位:{{ info.work }}</div> -->
+                <div>发布时间:{{ formatTime(info.createdAt, 'YYYY-MM-DD') }}</div>
+            </div>
+            <!-- <div class="content"> -->
             <!-- <div class="tags">
                 <el-tag size="mini" :key="index" v-for="(item, index) in info.fieldName" effect="plain">{{
                     item
                 }}</el-tag>
                 <el-tag size="mini" effect="plain">电子信息</el-tag>
             </div> -->
-            <div class="go">
-                专业领域:
 
-                <span v-for="(item, index) in info.fieldName" :key="index">{{ item }}</span>
-            </div>
-            <div class="edit-btn" v-if="isEdit">
-                <el-button type="primary" size="small" plain @click.prevent="edit">编辑</el-button>
+            <!-- <div class="edit-btn" v-if="isEdit">
+                <el-button v-if="info.status === 'PASS'" type="primary" size="small" plain @click.prevent="edit"
+                    >编辑</el-button
+                >
+                <el-button v-if="info.status === 'PENDING'" type="primary" size="small" plain>审核中</el-button>
+                <el-button v-if="info.status === 'DENY'" type="danger" size="small" plain>已拒绝</el-button>
                 <el-button size="small" plain @click.prevent="del">删除</el-button>
             </div>
-            <!-- <div v-else>
+            <div v-else>
                 <div class="btn" v-if="size !== 'mini'">
                     <el-button type="primary" class="icon-button" @click.prevent="connectKefu" size="small" plain>
                         <i class="iconfont iconfont-nav_icon_xiaoxi1"></i>
@@ -38,9 +44,10 @@
                     </el-button>
                 </div>
             </div> -->
-            <!-- <div class="bottom">{{ formatTime(info.createdAt, 'YYYY.MM.DD') }}</div> -->
+            <!-- </div> -->
+            <!-- </router-link> -->
         </div>
-    </router-link>
+    </div>
 </template>
 
 <script>
@@ -93,36 +100,49 @@ export default {
 </script>
 
 <style lang="less" scoped>
+.list_con {
+    width: 50%;
+    padding: 0px 20px 0px !important;
+    box-sizing: border-box;
+    margin-bottom: 20px;
+}
 .manage {
-    width: 220px;
-    height: 290px;
+    // width: 460px;
+    height: 190px;
     background: #ffffff;
     border: 1px solid rgba(56, 85, 142, 0.04);
-    padding: 20px 20px 20px 20px;
-    .flex-col();
-    align-items: stretch;
+    padding: 24px 20px 0;
+    display: block;
+    // .flex-col();
+    // align-items: stretch;
     box-sizing: border-box;
     cursor: pointer;
-    display: inline-block;
-    margin: 10px 10px 10px 14px;
+    // display: inline-block;
+    // margin: 10px 10px 10px 14px;
 
     &:hover {
-        box-shadow: 0px 3px 12px 0px rgba(81,81,81,0.1);
-        border: 1px solid #01A041;
+        background: #f5f8ff;
+        box-shadow: 0px 0px 6px 0px #d2dbf0;
     }
 }
-
-.el-image {
-    width: 180px;
-    height: 180px;
-    flex-shrink: 0;
-    border-radius: 100px;
-}
-.content {
-    .flex-col();
-    align-items: center;
-    padding: 14px 0 10px;
+.manage_top {
+    display: flex;
+    padding-bottom: 16px;
+    border-bottom: 1px solid #f2f3f5;
+    box-sizing: border-box;
+    .el-image {
+        width: 56px;
+        height: 56px;
+        border-radius: 8px;
+        flex-shrink: 0;
+        margin-right: 12px;
+    }
 }
+// .content {
+//     .flex-col();
+//     align-items: center;
+//     padding: 14px 0 10px;
+// }
 
 .tags {
     max-width: 100%;
@@ -137,6 +157,7 @@ export default {
 }
 .edit-btn {
     .flex();
+    margin: 10px 0;
     .el-button {
         &:first-child {
             width: 88px;
@@ -152,17 +173,33 @@ export default {
     font-weight: bold;
     color: #292c33;
     line-height: 26px;
+    margin-bottom: 8px;
 }
 
 .go {
-    text-align: center;
-    font-size: 14px;
+    // text-align: center;
+    font-size: 13px;
     color: #878d99;
-    line-height: 24px;
-    margin-top: 6px;
+    line-height: 22px;
+    display: flex;
+    flex-wrap: wrap;
+    height: 64px;
+    overflow-y: auto;
+    .go_field {
+        height: 22px;
+        background: rgba(64, 92, 255, 0.08);
+        border-radius: 1px;
+        padding: 0px 6px;
+        box-sizing: border-box;
+        color: #405cff;
+        line-height: 22px;
+        margin-right: 10px;
+        margin-bottom: 10px;
+    }
+    // margin-top: 6px;
     // height: 48px;
-    .ellipsis();
-    max-width: 100%;
+    // .ellipsis();
+    // max-width: 100%;
 }
 .btn {
     .flex();
@@ -181,25 +218,27 @@ export default {
 }
 .bottom {
     font-size: 13px;
-    color: #939599;
+    color: #bcc1cc;
     line-height: 18px;
-    padding-top: 8px;
-    border-top: 1px solid @bg;
-    margin-top: 5px;
+    // padding-top: 4px;
+    // margin-top: 5px;
     align-self: stretch;
-    text-align: center;
+    margin: 12px 0px;
+    // text-align: center;
 }
 .manage-mini {
     width: 204px;
-    height: 233px;
-    margin-left: -11px;
-    margin-right: 30px;
+    height: 240px;
+    padding: 12px 12px 0;
     .el-image {
         width: 112px;
         height: 112px;
         margin: auto;
         display: block;
-        margin-top: 5px;
+    }
+
+    .content {
+        padding: 12px 0 10px;
     }
 }
 </style>

+ 66 - 13
src/main/yzzscq-web/src/components/list/IntellectualPropertyRow.vue

@@ -8,7 +8,7 @@
         }"
         class="IntellectualProperty"
     >
-        <el-image :src="getImg(info.img)" fit="cover"></el-image>
+        <el-image style="width: 182px; height: 182px" :src="getImg(info.img)" fit="cover"></el-image>
 
         <div class="content">
             <div class="title">{{ info.name }}</div>
@@ -18,15 +18,17 @@
                     <span class="text2">{{ info.code }}</span>
                 </div>
                 <div class="info-item">
-                    <span class="text1">行业分类:</span>
-                    <span class="text2">{{ info.setting.name }}</span>
+                    <span class="text1">行业领域:</span>
+                    <span class="text2">{{ info.techOne }}</span>
                 </div>
                 <div class="info-item">
                     <span class="text1">申请日:</span>
-                    <span class="text2">{{ info.applyTime }}</span>
+                    <!-- <span class="text2">{{ info.applyTime }}</span> -->
+                    <span class="text2">{{ info.createdAt }}</span>
                 </div>
                 <div class="info-item">
-                    <span class="text1">专利权人:</span>
+                    <!-- <span class="text1">专利权人:</span> -->
+                    <span class="text1">转化类型:</span>
                     <span class="text2">{{ info.owner }}</span>
                 </div>
                 <div class="info-item">
@@ -34,6 +36,19 @@
                     <span class="text2">{{ info.inventor.join(';') }}</span>
                 </div>
             </div>
+            <div class="look">
+                <i class="iconfont iconfont-icon-lliulan"></i>
+                <span>{{ info.view }}个人看过</span>
+            </div>
+        </div>
+        <div class="btn">
+            <div class="icon-button" @click.prevent="connectKefu">
+                <i class="iconfont iconfont-nav_icon_xiaoxi1"></i>
+                咨询
+            </div>
+            <!-- <el-button type="primary" @click.prevent="postMessage" class="icon-button" size="small" plain>
+                <i class="iconfont iconfont-nav_icon_xiaoxi"></i>提交留言
+            </el-button> -->
         </div>
         <!-- <div class="btn">
             <el-button size="small"> 详情 </el-button>
@@ -77,14 +92,22 @@ export default {
     margin-right: 20px;
 }
 .IntellectualProperty {
-    border-bottom: 1px solid @bg;
+    border: 1px solid rgba(56, 85, 142, 0.04);
+    margin-bottom: 20px;
     &:hover {
-        box-shadow: 0px 3px 12px 0px rgba(81,81,81,0.1);
-        border: 1px solid #01A041;
+        background: #f5f8ff;
+        box-shadow: 0px 0px 6px 0px #d2dbf0;
+        .content .info .info-item .text2 {
+            color: #405cff;
+        }
+        .btn .icon-button {
+            background: #405cff;
+            color: #ffffff;
+        }
     }
     overflow: hidden;
-    .flex();
-    padding: 20px 0 20px 20px;
+    display: flex;
+    padding: 20px;
 
     .el-image {
         width: 122px;
@@ -93,9 +116,8 @@ export default {
     }
 
     .content {
-        padding: 20px;
+        padding-left: 20px;
         flex-grow: 1;
-        padding-right: 80px;
         overflow: hidden;
         .title {
             font-size: 16px;
@@ -125,7 +147,7 @@ export default {
 
                 .text2 {
                     font-size: 13px;
-                    color: #00684f;
+                    color: #000000;
                     margin-left: 10px;
                     display: inline-block;
                     overflow: hidden;
@@ -134,6 +156,37 @@ export default {
                 }
             }
         }
+        .look {
+            margin-top: 24px;
+            i {
+                font-size: 18px;
+                color: #c8c9cc;
+                vertical-align: middle;
+            }
+            span {
+                font-size: 13px;
+                font-weight: 400;
+                color: #818999;
+                line-height: 18px;
+                vertical-align: middle;
+                margin: 0 3px 0 5px;
+            }
+        }
+    }
+    .btn {
+        display: flex;
+        align-items: center;
+        .icon-button {
+            width: 134px;
+            line-height: 36px;
+            display: flex;
+            justify-content: center;
+            border-radius: 2px;
+            border: 1px solid #405cff;
+            box-sizing: border-box;
+            color: #405cff;
+            padding: 0px;
+        }
     }
 }
 </style>

+ 48 - 10
src/main/yzzscq-web/src/components/list/LogoDemand.vue

@@ -47,12 +47,19 @@
             </div>
         </div>
         <div class="edit-btn" v-if="isEdit">
-            <el-button v-if="info.status === 'PASS'" type="primary" size="small" plain @click.prevent="edit"
+            <el-button
+                v-if="info.status === 'PASS'"
+                type="primary"
+                size="small"
+                class="edit_information"
+                @click.prevent="edit"
                 >编辑</el-button
             >
-            <el-button v-if="info.status === 'PENDING'" type="primary" size="small" plain>审核中</el-button>
+            <el-button v-if="info.status === 'PENDING'" type="primary" size="small" class="under_review"
+                >审核中</el-button
+            >
             <el-button v-if="info.status === 'DENY'" type="danger" size="small" plain>已拒绝</el-button>
-            <el-button size="small" plain @click.prevent="del">删除</el-button>
+            <div class="delbut" @click.prevent="del">删除</div>
         </div>
         <div class="btn" v-else>
             <div class="icon-button" @click.prevent="connectKefu">
@@ -146,8 +153,33 @@ export default {
         }
     }
 }
+.under_review {
+    width: 88px;
+    border-radius: 2px;
+    border: 1px solid #405cff;
+    background: #ffffff;
+    color: #405cff;
+}
+.delbut {
+    width: 56px;
+    height: 32px;
+    border-radius: 2px;
+    border: 1px solid #c8c9cc;
+    font-size: 13px;
+    color: #626366;
+    line-height: 32px;
+    text-align: center;
+    margin-left: 16px;
+}
+.edit_information {
+    width: 88px;
+    border-radius: 2px;
+    border: 1px solid #405cff;
+    background: #ffffff;
+    color: #405cff;
+}
 .funding {
-    padding:20px;
+    padding: 20px;
     margin-bottom: 20px;
     .flex();
 
@@ -163,15 +195,21 @@ export default {
     // border-bottom-color: @bg;
 
     &:hover {
-        box-shadow: 0px 3px 12px 0px rgba(81, 81, 81, 0.1);
-        border: 1px solid #01a041;
+        box-shadow: 0px 0px 6px 0px #d2dbf0;
+        background: #f5f8ff;
         .text2 {
-            color: #01a041;
+            color: #405cff;
         }
         .icon-button {
-            background: #01a041;
+            background: #405cff;
             color: #ffffff;
         }
+        .under_review {
+            background: #f5f8ff;
+        }
+        .edit_information {
+            background: #f5f8ff;
+        }
     }
 }
 .look {
@@ -206,9 +244,9 @@ export default {
     display: flex;
     justify-content: center;
     border-radius: 2px;
-    border: 1px solid #01a041;
+    border: 1px solid #405cff;
     box-sizing: border-box;
-    color: #01a041;
+    color: #405cff;
     padding: 0px;
 }
 

+ 51 - 12
src/main/yzzscq-web/src/components/list/LogoRow.vue

@@ -58,12 +58,19 @@
         </div> -->
 
         <div class="edit-btn" v-if="isEdit">
-            <el-button v-if="info.status === 'PASS'" type="primary" size="small" plain @click.prevent="edit"
+            <el-button
+                v-if="info.status === 'PASS'"
+                type="primary"
+                size="small"
+                class="edit_information"
+                @click.prevent="edit"
                 >编辑</el-button
             >
-            <el-button v-if="info.status === 'PENDING'" type="primary" size="small" plain>审核中</el-button>
+            <el-button v-if="info.status === 'PENDING'" type="primary" size="small" class="under_review"
+                >审核中</el-button
+            >
             <el-button v-if="info.status === 'DENY'" type="danger" size="small" plain>已拒绝</el-button>
-            <el-button size="small" plain @click.prevent="del">删除</el-button>
+            <div class="delbut" @click.prevent="del">删除</div>
         </div>
 
         <div class="btn" v-else>
@@ -173,6 +180,32 @@ export default {
         }
     }
 }
+.delbut {
+    width: 56px;
+    height: 32px;
+    border-radius: 2px;
+    border: 1px solid #c8c9cc;
+    font-size: 13px;
+    color: #626366;
+    line-height: 32px;
+    text-align: center;
+    margin-left: 16px;
+}
+.edit_information {
+    width: 88px;
+    border-radius: 2px;
+    border: 1px solid #405cff;
+    background: #ffffff;
+    color: #405cff;
+}
+
+.under_review {
+    width: 88px;
+    border-radius: 2px;
+    border: 1px solid #405cff;
+    background: #ffffff;
+    color: #405cff;
+}
 .patent {
     padding: 20px;
     .flex();
@@ -184,19 +217,25 @@ export default {
     }
     position: relative;
     cursor: pointer;
-    border: 1px solid rgba(56,85,142,0.04);
+    border: 1px solid rgba(56, 85, 142, 0.04);
     // border: 1px solid transparent;
     // border-bottom-color: @bg;
 
     &:hover {
-        box-shadow: 0px 3px 12px 0px rgba(81, 81, 81, 0.1);
-        border: 1px solid #01a041;
+        box-shadow: 0px 0px 6px 0px #d2dbf0;
+        background: #f5f8ff;
         .text2 {
-            color: #01a041;
+            color: #405cff;
+        }
+        .icon-button {
+            background: #405cff;
+            color: #ffffff;
+        }
+        .under_review {
+            background: #f5f8ff;
         }
-        .icon-button{
-            background: #01A041;
-            color: #FFFFFF;
+        .edit_information {
+            background: #f5f8ff;
         }
     }
 }
@@ -255,8 +294,8 @@ export default {
     display: flex;
     justify-content: center;
     border-radius: 2px;
-    border: 1px solid #01a041;
-    color: #01a041;
+    border: 1px solid #405cff;
+    color: #405cff;
     box-sizing: border-box;
     padding: 0px;
 }

+ 6 - 8
src/main/yzzscq-web/src/components/list/ManageGride.vue

@@ -1,6 +1,6 @@
 <template>
     <div class="list_con">
-        <div class="manage" :class="{ 'manage-mini': size === 'mini' }">
+        <div class="manage" :class="{ 'manage-mini': size === 'mini' }" @click="edit">
             <!-- <router-link class="manage" :class="{ 'manage-mini': size === 'mini' }"> -->
             <div class="manage_top">
                 <el-image :src="getImg(info.avatar)" fit="fill"></el-image>
@@ -90,7 +90,7 @@ export default {
     methods: {
         edit() {
             this.$router.push({
-                path: '/technicalEdit',
+                path: '/technicalManagerDetail',
                 query: {
                     id: this.info.id
                 }
@@ -137,10 +137,8 @@ export default {
     // margin: 10px 10px 10px 14px;
 
     &:hover {
-        box-shadow: 0px 3px 12px 0px rgba(81, 81, 81, 0.1);
-        border: 1px solid #01a041;
-        // box-shadow: 0px 3px 12px 0px rgba(255, 135, 0, 0.2);
-        // border: 1px solid #ff8700;
+        background: #f5f8ff;
+        box-shadow: 0px 0px 6px 0px #d2dbf0;
     }
 }
 .manage_top {
@@ -205,11 +203,11 @@ export default {
     overflow-y: auto;
     .go_field {
         height: 22px;
-        background: rgba(1, 160, 65, 0.08);
+        background: rgba(64, 92, 255, 0.08);
         border-radius: 1px;
         padding: 0px 6px;
         box-sizing: border-box;
-        color: #01a041;
+        color: #405cff;
         line-height: 22px;
         margin-right: 10px;
         margin-bottom: 10px;

+ 34 - 18
src/main/yzzscq-web/src/components/list/PatentRow.vue

@@ -68,15 +68,14 @@
                 v-if="info.status === 'PASS'"
                 type="primary"
                 size="small"
-                plain
                 @click.prevent="edit"
                 >编辑</el-button
             >
-            <el-button v-if="info.status === 'PENDING'" type="primary" size="small" plain class="under_review"
+            <el-button v-if="info.status === 'PENDING'" type="primary" size="small" class="under_review"
                 >资料审核中</el-button
             >
-            <el-button v-if="info.status === 'DENY'" type="danger" size="small" plain>已拒绝</el-button>
-            <el-button size="small" plain @click.prevent="del">删除</el-button>
+            <el-button v-if="info.status === 'DENY'" type="danger" size="small">已拒绝</el-button>
+            <div class="delbut" @click.prevent="del">删除</div>
         </div>
 
         <div class="btn" v-else>
@@ -178,16 +177,27 @@ export default {
 .under_review {
     width: 88px;
     border-radius: 2px;
-    border: 1px solid #ff8700;
+    border: 1px solid #405cff;
     background: #ffffff;
-    color: #ff8700;
+    color: #405cff;
+}
+.delbut {
+    width: 56px;
+    height: 32px;
+    border-radius: 2px;
+    border: 1px solid #c8c9cc;
+    font-size: 13px;
+    color: #626366;
+    line-height: 32px;
+    text-align: center;
+    margin-left: 16px;
 }
 .edit_information {
     width: 88px;
     border-radius: 2px;
-    border: 1px solid #01a041;
+    border: 1px solid #405cff;
     background: #ffffff;
-    color: #01a041;
+    color: #405cff;
 }
 .patent {
     padding: 20px;
@@ -200,18 +210,24 @@ export default {
     }
     position: relative;
     cursor: pointer;
-    border: 1px solid rgba(56,85,142,0.04);
+    border: 1px solid rgba(56, 85, 142, 0.04);
     // border-bottom-color: @bg;
 
     &:hover {
-        box-shadow: 0px 3px 12px 0px rgba(81, 81, 81, 0.1);
-        border: 1px solid #01a041;
+        box-shadow: 0px 0px 6px 0px #d2dbf0;
+        background: #f5f8ff;
         .text2 {
-            color: #01a041;
+            color: #405cff;
+        }
+        .icon-button {
+            background: #405cff;
+            color: #ffffff;
+        }
+        .under_review {
+            background: #f5f8ff;
         }
-        .icon-button{
-            background: #01A041;
-            color: #FFFFFF;
+        .edit_information {
+            background: #f5f8ff;
         }
     }
 }
@@ -252,10 +268,10 @@ export default {
     display: flex;
     justify-content: center;
     border-radius: 2px;
-    border: 1px solid #01a041;
+    border: 1px solid #405cff;
     box-sizing: border-box;
-    color: #01a041;
-    padding: 0px
+    color: #405cff;
+    padding: 0px;
 }
 .edit-btn {
     .flex();

+ 51 - 13
src/main/yzzscq-web/src/components/list/ProductRow.vue

@@ -37,12 +37,19 @@
             </div>
         </div>
         <div class="edit-btn" v-if="isEdit">
-            <el-button v-if="info.status === 'PASS'" type="primary" size="small" plain @click.prevent="edit"
+            <el-button
+                v-if="info.status === 'PASS'"
+                type="primary"
+                size="small"
+                class="edit_information"
+                @click.prevent="edit"
                 >编辑</el-button
             >
-            <el-button v-if="info.status === 'PENDING'" type="primary" size="small" plain>审核中</el-button>
+            <el-button v-if="info.status === 'PENDING'" type="primary" size="small" class="under_review"
+                >审核中</el-button
+            >
             <el-button v-if="info.status === 'DENY'" type="danger" size="small" plain>已拒绝</el-button>
-            <el-button size="small" plain @click.prevent="del">删除</el-button>
+            <div class="delbut" @click.prevent="del">删除</div>
         </div>
         <div class="btn" v-else>
             <div class="icon-button" @click.prevent="connectKefu">
@@ -144,6 +151,31 @@ export default {
         }
     }
 }
+.under_review {
+    width: 88px;
+    border-radius: 2px;
+    border: 1px solid #405cff;
+    background: #ffffff;
+    color: #405cff;
+}
+.delbut {
+    width: 56px;
+    height: 32px;
+    border-radius: 2px;
+    border: 1px solid #c8c9cc;
+    font-size: 13px;
+    color: #626366;
+    line-height: 32px;
+    text-align: center;
+    margin-left: 16px;
+}
+.edit_information {
+    width: 88px;
+    border-radius: 2px;
+    border: 1px solid #405cff;
+    background: #ffffff;
+    color: #405cff;
+}
 .product {
     padding: 20px;
     .flex();
@@ -155,19 +187,25 @@ export default {
     }
     position: relative;
     cursor: pointer;
-    border: 1px solid rgba(56,85,142,0.04);
+    border: 1px solid rgba(56, 85, 142, 0.04);
     // border: 1px solid transparent;
     // border-bottom-color: @bg;
 
     &:hover {
-        box-shadow: 0px 3px 12px 0px rgba(81, 81, 81, 0.1);
-        border: 1px solid #01a041;
+        box-shadow: 0px 0px 6px 0px #d2dbf0;
+        background: #f5f8ff;
         .text2 {
-            color: #01a041;
+            color: #405cff;
+        }
+        .icon-button {
+            background: #405cff;
+            color: #ffffff;
+        }
+        .under_review {
+            background: #f5f8ff;
         }
-        .icon-button{
-            background: #01A041;
-            color: #FFFFFF;
+        .edit_information {
+            background: #f5f8ff;
         }
     }
 }
@@ -246,9 +284,9 @@ export default {
     display: flex;
     justify-content: center;
     border-radius: 2px;
-    border: 1px solid #01a041;
+    border: 1px solid #405cff;
     box-sizing: border-box;
-    color: #01a041;
-    padding: 0px
+    color: #405cff;
+    padding: 0px;
 }
 </style>

+ 71 - 36
src/main/yzzscq-web/src/components/list/ServiceDetailGrid.vue

@@ -1,15 +1,19 @@
 <template>
-        <div class="service">
-            <div class="service-img">
-                <img :src="info.icon" alt="" />
-                <div class="text">{{ info.title }}</div>
-            </div>
+    <div class="service">
+        <div class="service-img">
+            <img src="../../assets/icon-gongyong@3x.png" alt="" class="service-img_con" />
+            <div class="text">{{ info.title }}</div>
+            <div class="service-img_number">{{ NewNumber }}</div>
+        </div>
 
-            <div class="service-hover">
+        <div class="service-hover">
+            <img :src="info.icon" alt="" class="service-hover_img" />
+            <div class="service-hover_content">
                 <div class="name">{{ info.title }}</div>
                 <div class="content" v-html="content"></div>
             </div>
         </div>
+    </div>
 </template>
 
 <script>
@@ -20,11 +24,24 @@ export default {
             default: () => {
                 return {};
             }
+        },
+        num: {
+            type: Number,
+            default: () => {
+                return 1;
+            }
         }
     },
     computed: {
         content() {
             return this.info.content.replace(/\n/g, '<br/>');
+        },
+        NewNumber() {
+            if (this.num >= 10) {
+                return this.num;
+            } else {
+                return '0' + this.num;
+            }
         }
     }
 };
@@ -34,68 +51,83 @@ export default {
 .service {
     width: 300px !important;
     // width: 300px;
-    height: 128px;
+    height: 110px;
     // height: 340px;
     overflow: hidden;
-    border-radius: 2px;
     position: relative;
-    border: 1px solid rgba(56,85,142,0.04);
     box-sizing: border-box;
-    margin: 10px;
-    
+    margin-bottom: 20px;
+    margin-right: 20px;
     .service-img {
-        box-sizing: border-box;
-        background: #FBFBFB;
-        padding-left: 50px;
-        padding-right: 50px;
+        width: 100%;
+        height: 100%;
+        padding-left: 40px;
+        background: linear-gradient(90deg, #dae0ff 0%, #f6f6ff 100%);
+        border: 1px solid rgba(56, 85, 142, 0.04);
         box-sizing: border-box;
         // border-bottom: 6px solid @prim;
-        height: 100%;
         .flex();
         // justify-content: center;
-        img {
-            width: 56px;
-            height: 56px;
+        .service-img_con {
+            width: 24px;
+            height: 24px;
+        }
+        .service-img_number {
+            font-size: 100px;
+            font-family: Arial-BoldMT, Arial;
+            color: rgba(64, 92, 255, 0.08);
+            line-height: 80px;
+            position: absolute;
+            font-weight: bold;
+            left: 10px;
+            top: 15px;
         }
-
         .text {
             font-size: 16px;
             font-weight: bold;
-            color: #000000;
+            color: #5870ff;
             line-height: 24px;
-            margin-left: 12px;
+            margin-left: 10px;
         }
     }
 
     .service-hover {
-        background: #008a69;
+        width: 100%;
         height: 100%;
+        background-image: url('../../assets/bgfuwu@3x.png');
+        background-size: 100% 100%;
+        background-repeat: no-repeat;
         position: absolute;
         top: 100%;
         left: 0;
         right: 0;
-        padding: 0 20px;
         transition: top ease-in-out 0.3s;
-        .flex-col();
-
+        display: flex;
+        align-items: center;
+        padding: 25px 17px;
+        box-sizing: border-box;
+        .service-hover_img {
+            width: 42px;
+            height: 42px;
+        }
+        .service-hover_content{
+            margin-left: 10px;
+        }
         .name {
             font-size: 16px;
             font-weight: bold;
             color: #ffffff;
             line-height: 24px;
-            text-align: center;
-            padding: 10px 0 10px;
-            border-bottom: 1px solid #fff;
+            margin-bottom: 10px;
         }
 
         .content {
-            font-size: 14px;
-            color: #ffffff;
-            line-height: 22px;
-            text-align: center;
-            padding: 16px 0 16px;
-            flex-grow: 1;
-            overflow: auto;
+            width: 216px;
+            height: 30px;
+            font-size: 12px;
+            color: rgba(255, 255, 255, 0.6);
+            line-height: 16px;
+            overflow-y: auto;
 
             &::-webkit-scrollbar-thumb {
                 background: lighten(@warn, 10%);
@@ -114,4 +146,7 @@ export default {
         }
     }
 }
+.service:nth-child(3n) {
+    margin-right: 0px;
+}
 </style>

+ 5 - 5
src/main/yzzscq-web/src/components/list/SuccessPatentRow.vue

@@ -83,10 +83,10 @@ export default {
     border: 1px solid rgba(56, 85, 142, 0.04);
     background: #ffffff;
     &:hover {
-        border: 1px solid #01a041;
+        border: 1px solid #405CFF;
         .icon-button {
-            background: #01a041;
-            color: #ffffff;
+            background: #405CFF;
+            color: #FFFFFF;
         }
     }
 }
@@ -170,8 +170,8 @@ export default {
     display: flex;
     justify-content: center;
     border-radius: 2px;
-    border: 1px solid #01a041;
-    color: #01a041;
+    border: 1px solid #405CFF;
+    color: #405CFF;
     box-sizing: border-box;
     padding: 0px;
 }

+ 50 - 12
src/main/yzzscq-web/src/components/list/TechProductDemandRow.vue

@@ -67,12 +67,19 @@
             </div> -->
         </div>
         <div class="edit-btn" v-if="isEdit">
-            <el-button v-if="info.status === 'PASS'" type="primary" size="small" plain @click.prevent="edit"
+            <el-button
+                v-if="info.status === 'PASS'"
+                type="primary"
+                size="small"
+                class="edit_information"
+                @click.prevent="edit"
                 >编辑</el-button
             >
-            <el-button v-if="info.status === 'PENDING'" type="primary" size="small" plain>审核中</el-button>
+            <el-button v-if="info.status === 'PENDING'" type="primary" size="small" class="under_review"
+                >审核中</el-button
+            >
             <el-button v-if="info.status === 'DENY'" type="danger" size="small" plain>已拒绝</el-button>
-            <el-button size="small" plain @click.prevent="del">删除</el-button>
+            <div class="delbut" @click.prevent="del">删除</div>
         </div>
         <div class="btn" v-else>
             <div class="icon-button" @click.prevent="connectKefu">
@@ -191,6 +198,31 @@ export default {
         }
     }
 }
+.under_review {
+    width: 88px;
+    border-radius: 2px;
+    border: 1px solid #405cff;
+    background: #ffffff;
+    color: #405cff;
+}
+.delbut {
+    width: 56px;
+    height: 32px;
+    border-radius: 2px;
+    border: 1px solid #c8c9cc;
+    font-size: 13px;
+    color: #626366;
+    line-height: 32px;
+    text-align: center;
+    margin-left: 16px;
+}
+.edit_information {
+    width: 88px;
+    border-radius: 2px;
+    border: 1px solid #405cff;
+    background: #ffffff;
+    color: #405cff;
+}
 .funding {
     padding: 20px;
     margin-bottom: 20px;
@@ -203,16 +235,22 @@ export default {
     }
     position: relative;
     cursor: pointer;
-    border: 1px solid rgba(56,85,142,0.04);
+    border: 1px solid rgba(56, 85, 142, 0.04);
     &:hover {
-        box-shadow: 0px 3px 12px 0px rgba(81, 81, 81, 0.1);
-        border: 1px solid #01a041;
+        box-shadow: 0px 0px 6px 0px #d2dbf0;
+        background: #f5f8ff;
         .text2 {
-            color: #01a041;
+            color: #405cff;
+        }
+        .icon-button {
+            background: #405cff;
+            color: #ffffff;
+        }
+        .under_review {
+            background: #f5f8ff;
         }
-        .icon-button{
-            background: #01A041;
-            color: #FFFFFF;
+        .edit_information {
+            background: #f5f8ff;
         }
     }
 }
@@ -252,8 +290,8 @@ export default {
     display: flex;
     justify-content: center;
     border-radius: 2px;
-    border: 1px solid #01a041;
-    color: #01a041;
+    border: 1px solid #405cff;
+    color: #405cff;
     box-sizing: border-box;
     padding: 0px;
 }

+ 4 - 4
src/main/yzzscq-web/src/components/list/newsRow.vue

@@ -82,16 +82,16 @@ export default {
 
     &:hover {
         .name {
-            color: #01A041;
+            color: #405CFF;
         }
         .used {
-            color: #01A041;
+            color: #405CFF;
         }
         .time {
-            color: #01A041;
+            color: #405CFF;
         }
         &::before {
-            background-color: #01A041;
+            background-color: #405CFF;
         }
     }
     overflow: hidden;

+ 35 - 19
src/main/yzzscq-web/src/components/list/patentDemandRow.vue

@@ -43,15 +43,14 @@
                     v-if="info.status === 'PASS'"
                     type="primary"
                     size="small"
-                    plain
                     @click.prevent="edit"
                     >编辑</el-button
                 >
-                <el-button class="under_review" v-if="info.status === 'PENDING'" type="primary" size="small" plain
+                <el-button class="under_review" v-if="info.status === 'PENDING'" type="primary" size="small"
                     >资料审核中</el-button
                 >
                 <el-button v-if="info.status === 'DENY'" type="danger" size="small" plain>已拒绝</el-button>
-                <el-button size="small" plain @click.prevent="del">删除</el-button>
+                <div class="delbut" @click.prevent="del">删除</div>
             </div>
             <div class="btn" v-else>
                 <div class="icon-button" @click.prevent="connectKefu">
@@ -149,7 +148,7 @@ export default {
     }
 }
 .funding {
-    padding:20px;
+    padding: 20px;
     margin-bottom: 20px;
     .flex();
 
@@ -160,21 +159,27 @@ export default {
     }
     position: relative;
     cursor: pointer;
-    border: 1px solid rgba(56,85,142,0.04);
+    border: 1px solid rgba(56, 85, 142, 0.04);
     // border: 1px solid transparent;
     // border-bottom-color: @bg;
 
     &:hover {
-        box-shadow: 0px 3px 12px 0px rgba(81, 81, 81, 0.1);
-        border: 1px solid #01a041;
+        box-shadow: 0px 0px 6px 0px #d2dbf0;
+        background: #f5f8ff;
         // box-shadow: 0px 3px 12px 0px rgba(255, 135, 0, 0.2);
         // border: 1px solid #ff8700;
         .text2 {
-            color: #01a041;
+            color: #405cff;
         }
-        .icon-button{
-            background: #01A041;
-            color: #FFFFFF;
+        .icon-button {
+            background: #405cff;
+            color: #ffffff;
+        }
+        .under_review {
+            background: #f5f8ff;
+        }
+        .edit_information {
+            background: #f5f8ff;
         }
     }
 }
@@ -211,8 +216,8 @@ export default {
     display: flex;
     justify-content: center;
     border-radius: 2px;
-    border: 1px solid #01a041;
-    color: #01a041;
+    border: 1px solid #405cff;
+    color: #405cff;
     box-sizing: border-box;
     padding: 0px;
 }
@@ -228,19 +233,30 @@ export default {
         }
     }
 }
-.edit_information {
+.under_review {
     width: 88px;
     border-radius: 2px;
-    border: 1px solid #01a041;
+    border: 1px solid #405cff;
     background: #ffffff;
-    color: #01a041;
+    color: #405cff;
 }
-.under_review {
+.delbut {
+    width: 56px;
+    height: 32px;
+    border-radius: 2px;
+    border: 1px solid #c8c9cc;
+    font-size: 13px;
+    color: #626366;
+    line-height: 32px;
+    text-align: center;
+    margin-left: 16px;
+}
+.edit_information {
     width: 88px;
     border-radius: 2px;
-    border: 1px solid #ff8700;
+    border: 1px solid #405cff;
     background: #ffffff;
-    color: #FF8700;
+    color: #405cff;
 }
 .sub {
     font-size: 14px;

+ 67 - 15
src/main/yzzscq-web/src/components/newsDynamic.vue

@@ -1,23 +1,25 @@
 <template>
-    <sort-list
-        :Flag="false"
-        :searchs="true"
-        v-model="list"
-        :defaultQuery="defaultQuery"
-        :sortKey="sortKey"
-        ref="list"
-        url="/policyLaw/all"
-    >
-        <!-- <div class="border"></div> -->
-        <div v-for="item in list" :key="item.id">
-            <news-row :key="item.id" :info="item"></news-row>
-        </div>
-    </sort-list>
+    <div class="page">
+        <sort-list
+            v-model="list"
+            :defaultQuery="defaultQuery"
+            :sortKey="sortKey"
+            ref="list"
+            url="/policyLaw/all"
+            :filters="filters"
+        >
+            <!-- <div class="border"></div> -->
+            <div v-for="item in list" :key="item.id">
+                <news-row :key="item.id" :info="item"></news-row>
+            </div>
+        </sort-list>
+    </div>
 </template>
 
 <script>
 import newsRow from './list/newsRow.vue';
 import SortList from './page/SortList.vue';
+import { policyLevel } from '../utils/variables';
 export default {
     components: { SortList, newsRow },
     created() {
@@ -26,6 +28,7 @@ export default {
     data() {
         return {
             list: [],
+            policyLevel,
             defaultQuery: {
                 category: 'NEWS',
                 typeSettingId: 324
@@ -34,11 +37,57 @@ export default {
                 {
                     name: '发布时间',
                     key: 'issuedAt'
+                },
+                {
+                    name: '实施年份',
+                    key: 'issuedAt'
                 }
             ]
         };
     },
-    computed: {},
+    computed: {
+        filters() {
+            return [
+                // {
+                //     name: '专利区分',
+                //     key: 'typeId',
+                //     type: 'select',
+                //     list: [...this.typeOptions],
+                //     default: this.$route.query.typeId ? Number(this.$route.query.typeId) : ''
+                // },
+                {
+                    name: '筛选政策层级',
+                    key: 'industryClass',
+                    type: 'select',
+                    list: [...this.policyLevel]
+                },
+                // {
+                //     name: '法律状态',
+                //     key: 'lawStatusId',
+                //     type: 'select',
+                //     list: [...this.intePropLawStatus]
+                // },
+
+                {
+                    name: '政策名称',
+                    key: 'name'
+                },
+                {
+                    name: '发布年份',
+                    key: 'industryClassyear',
+                    type: 'date'
+                },
+                {
+                    name: '发文单位',
+                    key: 'inventor'
+                },
+                {
+                    name: '发文号',
+                    key: 'code'
+                }
+            ];
+        }
+    },
     methods: {
         init() {
             this.$nextTick(() => {
@@ -50,6 +99,9 @@ export default {
 </script>
 
 <style lang="less" scoped>
+.page {
+    padding-top: 20px;
+}
 .border {
     border-bottom: 20px solid @bg;
 }

+ 64 - 16
src/main/yzzscq-web/src/components/newsDynamics.vue

@@ -1,24 +1,26 @@
 <template>
-    <sort-list
-        :Flag="false"
-        :searchs="true"
-        v-model="list"
-        :defaultQuery="defaultQuery"
-        :sortKey="sortKey"
-        :newsList="newsList"
-        ref="list"
-        url="/policyLaw/all"
-    >
-        <!-- <div class="border"></div> -->
-        <div v-for="item in list" :key="item.id">
-            <news-row :key="item.id" :info="item"></news-row>
-        </div>
-    </sort-list>
+    <div class="page">
+        <sort-list
+            v-model="list"
+            :defaultQuery="defaultQuery"
+            :sortKey="sortKey"
+            :newsList="newsList"
+            ref="list"
+            url="/policyLaw/all"
+            :filters="filters"
+        >
+            <!-- <div class="border"></div> -->
+            <div v-for="item in list" :key="item.id">
+                <news-row :key="item.id" :info="item"></news-row>
+            </div>
+        </sort-list>
+    </div>
 </template>
 
 <script>
 import newsRow from './list/newsRow.vue';
 import SortList from './page/SortList.vue';
+import { policyLevel } from '../utils/variables';
 export default {
     components: { SortList, newsRow },
     created() {
@@ -27,6 +29,7 @@ export default {
     data() {
         return {
             list: [],
+            policyLevel,
             defaultQuery: {
                 category: 'NEWS',
                 typeSettingId: 3240
@@ -40,7 +43,49 @@ export default {
             newsList: true
         };
     },
-    computed: {},
+    computed: {
+        filters() {
+            return [
+                // {
+                //     name: '专利区分',
+                //     key: 'typeId',
+                //     type: 'select',
+                //     list: [...this.typeOptions],
+                //     default: this.$route.query.typeId ? Number(this.$route.query.typeId) : ''
+                // },
+                {
+                    name: '筛选政策层级',
+                    key: 'industryClass',
+                    type: 'select',
+                    list: [...this.policyLevel]
+                },
+                // {
+                //     name: '法律状态',
+                //     key: 'lawStatusId',
+                //     type: 'select',
+                //     list: [...this.intePropLawStatus]
+                // },
+
+                {
+                    name: '政策名称',
+                    key: 'name'
+                },
+                {
+                    name: '发布年份',
+                    key: 'industryClassyear',
+                    type: 'date'
+                },
+                {
+                    name: '发文单位',
+                    key: 'inventor'
+                },
+                {
+                    name: '发文号',
+                    key: 'code'
+                }
+            ];
+        }
+    },
     methods: {
         init() {
             this.$nextTick(() => {
@@ -52,6 +97,9 @@ export default {
 </script>
 
 <style lang="less" scoped>
+.page {
+    padding-top: 20px;
+}
 .border {
     border-bottom: 20px solid @bg;
 }

+ 93 - 45
src/main/yzzscq-web/src/components/newsField.vue

@@ -1,65 +1,110 @@
 <template>
-    <sort-list
-        :Flag="false"
-        :searchs="true"
-        v-model="list"
-        :defaultQuery="defaultQuery"
-        :sortKey="sortKey"
-        ref="list"
-        url="/policyLaw/all"
-    >
-        <!-- <div class="border"></div> -->
-        <div class="science_list">
-            <div v-for="item in list" :key="item.id" class="science_list_con">
-                <router-link
-                    :to="{
-                        name: 'newsDetail',
-                        query: {
-                            id: item.id
-                        }
-                    }"
-                    class="patent"
-                >
-                    <div class="science_list_con_one">
-                        <img :src="item.img" alt="" class="science_list_con_img" />
-                        <div class="science_list_con_text">
-                            <div class="science_list_con_title">{{ item.name }}</div>
-                            <div class="science_list_con_content">{{ item.name }}</div>
-                            <div class="science_list_con_time">{{ formatTime(item.issuedAt, 'YYYY.MM.DD') }}</div>
+    <div class="page">
+        <sort-list
+            v-model="list"
+            :defaultQuery="defaultQuery"
+            :sortKey="sortKey"
+            ref="list"
+            url="/policyLaw/all"
+            :filters="filters"
+        >
+            <!-- <div class="border"></div> -->
+            <div class="science_list">
+                <div v-for="item in list" :key="item.id" class="science_list_con">
+                    <router-link
+                        :to="{
+                            name: 'newsDetail',
+                            query: {
+                                id: item.id
+                            }
+                        }"
+                        class="patent"
+                    >
+                        <div class="science_list_con_one">
+                            <img :src="item.img" alt="" class="science_list_con_img" />
+                            <div class="science_list_con_text">
+                                <div class="science_list_con_title">{{ item.name }}</div>
+                                <div class="science_list_con_content">{{ item.name }}</div>
+                                <div class="science_list_con_time">{{ formatTime(item.issuedAt, 'YYYY.MM.DD') }}</div>
+                            </div>
                         </div>
-                    </div>
-                    <div class="science_list_con_two">详情<i class="el-icon-arrow-right"></i></div>
-                    <!-- <news-row :key="item.id" :info="item"></news-row> -->
-                </router-link>
+                        <div class="science_list_con_two">详情<i class="el-icon-arrow-right"></i></div>
+                        <!-- <news-row :key="item.id" :info="item"></news-row> -->
+                    </router-link>
+                </div>
             </div>
-        </div>
-    </sort-list>
+        </sort-list>
+    </div>
 </template>
 
 <script>
 import newsRow from './list/newsRow.vue';
 import SortList from './page/SortList.vue';
+import { policyLevel } from '../utils/variables';
 export default {
-    components: { SortList, newsRow },
+    components: { SortList },
     created() {
         this.init();
     },
     data() {
         return {
             list: [],
+            policyLevel,
             defaultQuery: {
                 category: 'NEWS',
                 typeSettingId: 325
             },
             sortKey: [
-                    {
-                        name: '发布时间',
-                        key: 'issuedAt'
-                    }
-                ]
+                {
+                    name: '发布时间',
+                    key: 'issuedAt'
+                }
+            ]
         };
     },
-    computed: {},
+    computed: {
+        filters() {
+            return [
+                // {
+                //     name: '专利区分',
+                //     key: 'typeId',
+                //     type: 'select',
+                //     list: [...this.typeOptions],
+                //     default: this.$route.query.typeId ? Number(this.$route.query.typeId) : ''
+                // },
+                {
+                    name: '筛选政策层级',
+                    key: 'policyLevelId',
+                    type: 'select',
+                    list: [...this.policyLevel]
+                },
+                // {
+                //     name: '法律状态',
+                //     key: 'lawStatusId',
+                //     type: 'select',
+                //     list: [...this.intePropLawStatus]
+                // },
+
+                {
+                    name: '政策名称',
+                    key: 'name'
+                },
+                {
+                    name: '发布年份',
+                    key: 'industryClassyear',
+                    type: 'date'
+                },
+                {
+                    name: '发文单位',
+                    key: 'inventor'
+                },
+                {
+                    name: '发文号',
+                    key: 'code'
+                }
+            ];
+        }
+    },
     methods: {
         init() {
             this.$nextTick(() => {
@@ -74,6 +119,9 @@ export default {
 .border {
     border-bottom: 20px solid @bg;
 }
+.page {
+    padding-top: 20px;
+}
 .science_list {
     padding: 20px;
     .science_list_con {
@@ -126,17 +174,17 @@ export default {
         }
         &:hover {
             .science_list_con_title {
-                color: #01a041;
+                color: #405cff;
             }
             .science_list_con_content {
-                color: #01a041;
+                color: rgba(64, 92, 255, 0.6);
             }
             .science_list_con_time {
-                color: #01a041;
+                color: rgba(64, 92, 255, 0.6);
             }
             .science_list_con_two {
-                border: 1px solid #01a041;
-                color: #01a041;
+                border: 1px solid #405cff;
+                color: #405cff;
             }
         }
     }

+ 53 - 44
src/main/yzzscq-web/src/components/page/FilterList.vue

@@ -58,18 +58,17 @@
 
                 <div class="btn-right" v-if="hasAction">
                     <el-button size="small" type="primary" @click="show = true">
-                        <img src="../../assets/home_icon_gongjifabu@3x (3).png" alt="" class="button_img" />
                         <div class="button_title">信息发布</div>
+                        <img src="../../assets/nav_icon_bianjis@3x.png" alt="" class="button_img" />
                     </el-button>
                     <el-button v-if="isDemand" size="small" type="primary" @click="btnEvent">
-                        <img src="../../assets/home_icon_xuqiufabu@3x (3).png" alt="" class="button_img" />
+                        <img src="../../assets/nav_icon_bianjis@3x.png" alt="" class="button_img" />
                         <div class="button_title">需求发布</div>
                     </el-button>
                     <el-button v-else size="small" type="primary" @click="btnEvent">
-                        <img src="../../assets/home_icon_xuqiufabu@3x (3).png" alt="" class="button_img" />
+                        <img src="../../assets/nav_icon_bianjis@3x.png" alt="" class="button_img" />
                         <div class="button_title">供给发布</div>
-                    </el-button
-                    >
+                    </el-button>
                 </div>
             </div>
             <div class="list" v-loading="fetchingData">
@@ -109,8 +108,8 @@
             </el-form>
             <div class="btns">
                 <!-- <el-button type="info" size="small" @click="show = false">返回</el-button> -->
-                <el-button v-if="isDemand" type="primary" size="small" @click="Onsaves">确定</el-button>
-                <el-button v-else type="primary" size="small" @click="Onsave">确定</el-button>
+                <el-button v-if="isDemand" type="primaryone" size="small" @click="Onsaves">确定</el-button>
+                <el-button v-else type="primaryone" size="small" @click="Onsave">确定</el-button>
             </div>
         </el-dialog>
     </div>
@@ -207,10 +206,10 @@ export default {
         }
     },
     created() {
-        if(this.sortKeys){
-            this.sortStr = 'digest,desc'
-        }else{
-            this.sortStr = 'createdAt,desc'
+        if (this.sortKeys) {
+            this.sortStr = 'digest,desc';
+        } else {
+            this.sortStr = 'createdAt,desc';
         }
         this.$nextTick(() => {
             this.init();
@@ -231,25 +230,25 @@ export default {
             this.$store.commit('updateShowAdd', true);
             if (this.formData.patent == 157) {
                 this.$router.push('/patent?caseType=DECLASSIFICATION');
-                this.show = false
+                this.show = false;
             } else if (this.formData.patent == 158) {
                 this.$router.push('/patent?caseType=GENERAL');
-                this.show = false
+                this.show = false;
             } else if (this.formData.patent == 159) {
                 this.$router.push('/logo');
-                this.show = false
+                this.show = false;
             } else if (this.formData.patent == 160) {
                 this.$router.push('/copyright?type=COPY');
-                this.show = false
+                this.show = false;
             } else if (this.formData.patent == 161) {
                 this.$router.push('/copyright?type=SOFT');
-                this.show = false
+                this.show = false;
             } else if (this.formData.patent == 162) {
                 this.$router.push('/technologyProduct?tpType=TECHNOLOGY');
-                this.show = false
+                this.show = false;
             } else if (this.formData.patent == 163) {
                 this.$router.push('/technologyProduct?tpType=PRODUCT');
-                this.show = false
+                this.show = false;
             }
         },
         Onsaves() {
@@ -260,25 +259,25 @@ export default {
             this.$store.commit('updateShowAdd', true);
             if (this.formData.patent == 167) {
                 this.$router.push('/patentDemand?caseType=DECLASSIFICATION');
-                this.show = false
+                this.show = false;
             } else if (this.formData.patent == 168) {
                 this.$router.push('/patentDemand?caseType=GENERAL');
-                this.show = false
+                this.show = false;
             } else if (this.formData.patent == 169) {
                 this.$router.push('/logoDemand');
-                this.show = false
+                this.show = false;
             } else if (this.formData.patent == 170) {
                 this.$router.push('/copyrightDemand?type=COPY');
-                this.show = false
+                this.show = false;
             } else if (this.formData.patent == 171) {
                 this.$router.push('/copyrightDemand?type=SOFT');
-                this.show = false
+                this.show = false;
             } else if (this.formData.patent == 172) {
                 this.$router.push('/techProductDemand?tpType=TECHNOLOGY');
-                this.show = false
+                this.show = false;
             } else if (this.formData.patent == 173) {
                 this.$router.push('/techProductDemand?tpType=PRODUCT');
-                this.show = false
+                this.show = false;
             }
         },
         init() {
@@ -340,7 +339,7 @@ export default {
             this.changeSort(key, this.sortList[(index + 1) % 2]);
         },
         btnEvent() {
-            this.$emit('btnEvent',true);
+            this.$emit('btnEvent', true);
         },
         setList(list) {
             this.$emit('input', list);
@@ -364,9 +363,9 @@ export default {
 }
 
 .main {
-    background-color: #fff;
+    background: #FFFFFF;
     flex-grow: 1;
-    margin-top: 20px;
+    padding-top: 20px;
     .flex-col();
 }
 .list {
@@ -395,7 +394,7 @@ export default {
     }
 }
 .el-tag--dark {
-    background: #01a041;
+    background: #405cff;
     border-radius: 2px;
 }
 .sort {
@@ -433,23 +432,23 @@ export default {
 
             &.desc {
                 .el-icon-caret-bottom {
-                    color: #01a041;
+                    color: #405cff;
                 }
             }
 
             &.asc {
                 .el-icon-caret-top {
-                    color: #01a041;
+                    color: #405cff;
                 }
             }
         }
 
         &:hover {
-            color: #01a041;
+            color: #405cff;
         }
 
         &.active {
-            color: #01a041;
+            color: #405cff;
         }
     }
 }
@@ -465,16 +464,21 @@ export default {
         margin-left: 20px;
     }
 }
+/deep/ .el-button--primaryone{
+    background: #405CFF !important;
+    border-color: #405CFF !important;
+    color: #fff;
+}
 .search {
     width: 260px;
     /deep/.el-input__inner {
         background-color: @bg;
         border-color: @bg;
         &:focus {
-            border-color: #01a041;
+            border-color: #405cff;
         }
     }
-    ::-webkit-input-placeholder{
+    ::-webkit-input-placeholder {
         color: #313233;
     }
 }
@@ -504,7 +508,7 @@ export default {
 .filter {
     background-color: #fff;
     padding: 20px 20px 9px 20px;
-
+    // box-shadow: 0px 0px 6px 0px #D2DBF0;
     .filter-item {
         .flex();
         align-items: flex-start;
@@ -528,7 +532,7 @@ export default {
                     border-width: 0;
                     color: #313233;
                     &:hover {
-                        color: #01a041;
+                        color: #405cff;
                     }
                 }
                 margin-bottom: 10px;
@@ -566,21 +570,26 @@ export default {
     }
 }
 /deep/ .el-pager li.active {
-    color: #01a041 !important;
+    color: #405cff !important;
 }
 .el-button {
     position: relative;
 }
 .button_img {
-    width: 24px;
-    height: 24px;
+    width: 22px;
+    height: 22px;
     position: absolute;
     top: 6px;
-    left: 24px;
+    right: 18px;
 }
 .button_title {
-    font-size: 12px;
-    color: #fff;
-    margin-left: 30px;
+    font-size: 14px;
+    color: #000000;
+    font-weight: bold;
+    margin-left: -15px;
+}
+/deep/ .el-button--primary {
+    border-color: #ffe54f;
+    background: #ffe54f;
 }
 </style>

+ 8 - 8
src/main/yzzscq-web/src/components/page/MenuPage.vue

@@ -36,10 +36,10 @@ export default {};
     margin-top: 10px;
     // margin-bottom: 10px;
     &.is-active {
-        // background: linear-gradient(90deg, #01a041 0%, #ffffff 100%);
-        // background: linear-gradient(90deg, #01a041 0%, #ffffff 100%);
-        // box-shadow: inset 2px 0px 0px 0px #01a041;
-        // color: #01a041;
+        // background: linear-gradient(90deg, #405CFF 0%, #ffffff 100%);
+        // background: linear-gradient(90deg, #405CFF 0%, #ffffff 100%);
+        // box-shadow: inset 2px 0px 0px 0px #405CFF;
+        // color: #405CFF;
         font-weight: 400;
         position: relative;
     }
@@ -73,7 +73,7 @@ export default {};
                 }
                 &.is-active {
                     background: #ffffff;
-                    color: #01a041;
+                    // color: #405CFF;
                 }
             }
         }
@@ -94,10 +94,10 @@ export default {};
         }
 
         &.is-active > .el-submenu__title {
-            background: linear-gradient(90deg, rgba(1, 160, 65, 0.1) 0%, rgba(255, 255, 255, 0.1) 100%);
-            color: #01a041;
+            background: linear-gradient(90deg, rgba(64, 92, 255, 0.1) 0%, rgba(255, 255, 255, 0.1) 100%);
+            color: #405CFF;
             i {
-                color: #01a041;
+                color: #405CFF;
             }
         }
         //     &.is-active > .el-submenu__title::after {

+ 19 - 16
src/main/yzzscq-web/src/components/page/SortList.vue

@@ -45,7 +45,7 @@
                     <search-input
                         size="mini"
                         v-model="search"
-                        placeholder="搜索..."
+                        :placeholder="isExpert ? '请输入专家名称或其他信息' : '请输入其他任意信息'"
                         @suffixClick="getData"
                         @keyup.enter.native="getData"
                         clearable
@@ -79,7 +79,7 @@
                         <search-input
                             size="mini"
                             v-model="search"
-                            placeholder="请输入名称或其他信息"
+                            :placeholder="isExpert ? '请输入专家名称或其他信息' : '请输入名称或其他信息'"
                             @suffixClick="getData"
                             @keyup.enter.native="getData"
                             clearable
@@ -87,7 +87,7 @@
                             class="search"
                         ></search-input>
                     </div>
-                    <div class="flex1" v-if="searchs">
+                    <div class="flex1">
                         <div class="text">当前结果共{{ value.length }}个数据</div>
                     </div>
                 </div>
@@ -139,6 +139,10 @@ export default {
             type: String,
             default: ''
         },
+        isExpert: {
+            type: Boolean,
+            default: false
+        },
         Flag: {
             type: Boolean,
             default: true
@@ -191,7 +195,7 @@ export default {
             filterData: {},
             sortList: ['desc', 'asc'],
             areaList,
-            areaValue: [],
+            areaValue: []
         };
     },
     watch: {
@@ -200,8 +204,8 @@ export default {
         }
     },
     mounted() {
-        if(this.newsList){
-            this.sortStr= 'issuedAt,desc'
+        if (this.newsList) {
+            this.sortStr = 'issuedAt,desc';
         }
     },
     methods: {
@@ -289,7 +293,7 @@ export default {
 .filter-top {
     background-color: #fff;
     .flex();
-    padding: 12px 10px 0 20px;
+    padding: 0px 10px 0 20px;
 
     /deep/.el-input-group__prepend {
         background-color: transparent;
@@ -327,14 +331,13 @@ export default {
 .main {
     // background-color: #fff;
     flex-grow: 1;
-    margin-top: 20px;
     .flex-col();
 }
 .list {
     background-color: #fff;
     flex-grow: 1;
     min-height: 740px;
-    margin-top: 20px;
+    margin-top: 15px;
 }
 .footer {
     align-self: center;
@@ -342,10 +345,10 @@ export default {
     flex-shrink: 0;
 }
 /deep/ .el-select-dropdown__item.selected {
-    color: #01a041;
+    color: #405cff;
 }
 /deep/ .el-pager li.active {
-    color: #01a041;
+    color: #405cff;
 }
 .empty {
     padding: 300px 0;
@@ -403,23 +406,23 @@ export default {
 
             &.desc {
                 .el-icon-caret-bottom {
-                    color: #01a041;
+                    color: #405cff;
                 }
             }
 
             &.asc {
                 .el-icon-caret-top {
-                    color: #01a041;
+                    color: #405cff;
                 }
             }
         }
 
         &:hover {
-            color: #01a041;
+            color: #405cff;
         }
 
         &.active {
-            color: #01a041;
+            color: #405cff;
         }
     }
 }
@@ -450,7 +453,7 @@ export default {
         height: 32px;
 
         &:focus {
-            border-color: #01a041;
+            border-color: #405cff;
         }
     }
     /deep/ .el-input__icon {

+ 2 - 2
src/main/yzzscq-web/src/components/popup/Agreement2.vue

@@ -264,7 +264,7 @@ export default {
 .forgot_password {
     font-size: 12px;
     font-weight: 400;
-    color: #01a041;
+    color: #405CFF;
     line-height: 17px;
     margin-left: 385px;
     margin-top: 10px;
@@ -277,7 +277,7 @@ export default {
     .btn_one {
         width: 330px;
         height: 40px;
-        background: #01a041;
+        background: #405CFF;
         border-radius: 4px;
         font-size: 12px;
         font-weight: bold;

+ 2 - 2
src/main/yzzscq-web/src/components/popup/Agreement3.vue

@@ -106,7 +106,7 @@
                         <template>
                             <img class="img-icon" :src="checked ? activeIcon : inactiveIcon" />
                         </template>
-                        <el-link style="margin-left: 23px" @click.prevent="$refs.argeement.flag = true"
+                        <el-link style="margin-left: 23px; color: #405cff" @click.prevent="$refs.argeement.flag = true"
                             >点击同意注册协议</el-link
                         >
                     </el-checkbox>
@@ -343,7 +343,7 @@ export default {
     .btn-block {
         width: 330px;
         height: 40px;
-        background: #01a041;
+        background: #405cff;
         border-radius: 4px;
         font-size: 12px;
         color: #ffffff;

+ 19 - 1
src/main/yzzscq-web/src/components/popup/CopyrightAdd.vue

@@ -223,7 +223,7 @@ export default {
                         required: true,
                         message: `请输入${this.types === 'COPY' ? '版本' : '软著'}登记号`
                     }
-                ],
+                ]
                 // workType: [{ required: true, message: `请选择${this.types === 'COPY' ? '作品' : '软著'}类型` }],
                 // author: [{ required: true, message: '请输入作者,按回车分割' }],
                 // owner: [{ required: true, message: '请输入著作权人' }],
@@ -387,6 +387,24 @@ export default {
 /deep/ .el-dialog__header {
     padding: 17px 0px !important;
 }
+/deep/ .el-radio__input.is-checked .el-radio__inner {
+    border-color: #405cff !important;
+    background: #405cff !important;
+}
+/deep/ .el-checkbox__input.is-checked .el-checkbox__inner {
+    border-color: #405cff !important;
+    background: #405cff !important;
+}
+/deep/ .el-radio__input.is-checked + .el-radio__label {
+    color: #000000 !important;
+}
+/deep/ .el-checkbox__input.is-checked + .el-checkbox__label {
+    color: #000000 !important;
+}
+/deep/ .el-button--primary {
+    background: #405cff !important;
+    border-color: #405cff !important;
+}
 /deep/ .el-form {
     width: 100% !important;
     margin: 0px !important;

+ 22 - 5
src/main/yzzscq-web/src/components/popup/CopyrightDemandAdd.vue

@@ -91,7 +91,7 @@ export default {
     // components: { RichText },
     name: 'CopyrightDemandEdit',
     created() {
-        console.log("fsdrdr",this.tradingMethodOption)
+        console.log('fsdrdr', this.tradingMethodOption);
     },
     data() {
         return {
@@ -116,7 +116,7 @@ export default {
                         required: true,
                         message: `请输入需求${this.type === 'COPY' ? '作品' : '软著'}名称`
                     }
-                ],
+                ]
                 // workType: [{ required: true, message: `请选择需求${this.type === 'COPY' ? '作品' : '软著'}类型` }],
                 // description: [{ required: true, message: '请填写需求描述' }],
                 // modeId: [{ required: true, message: '请选择交易方式' }],
@@ -243,15 +243,32 @@ export default {
     width: 100%;
     vertical-align: bottom;
 }
+/deep/ .el-radio__input.is-checked .el-radio__inner {
+    border-color: #405cff !important;
+    background: #405cff !important;
+}
+/deep/ .el-checkbox__input.is-checked .el-checkbox__inner {
+    border-color: #405cff !important;
+    background: #405cff !important;
+}
+/deep/ .el-radio__input.is-checked + .el-radio__label {
+    color: #000000 !important;
+}
+/deep/ .el-checkbox__input.is-checked + .el-checkbox__label {
+    color: #000000 !important;
+}
+/deep/ .el-button--primary {
+    background: #405cff !important;
+    border-color: #405cff !important;
+}
 /deep/ .el-checkbox__inner {
     border-radius: 50%;
 }
-/deep/ .el-dialog__header{
+/deep/ .el-dialog__header {
     padding: 17px 0px !important;
 }
-/deep/ .el-form{
+/deep/ .el-form {
     width: 100% !important;
     margin: 0px !important;
 }
-
 </style>

+ 20 - 2
src/main/yzzscq-web/src/components/popup/LogoAdd.vue

@@ -223,7 +223,7 @@ export default {
             },
             rules: {
                 name: [{ required: true, message: '请输入商标名称' }],
-                code: [{ required: true, message: '请输入商标申请号' }],
+                code: [{ required: true, message: '请输入商标申请号' }]
                 // logoType: [{ required: true, message: '请选择商标类型' }],
                 // category: [{ required: true, message: '请选择所属分类' }],
                 // servicesItem: [{ required: true, message: '请输入使用商品/服务项目' }],
@@ -306,7 +306,7 @@ export default {
             // console.log(data);
             data.owner = data.owner.join(',');
             this.saving = true;
-            console.log("dfaeaff",data)
+            console.log('dfaeaff', data);
             this.$http
                 .post('/logo/save', data, { body: 'json' })
                 .then(() => {
@@ -368,6 +368,24 @@ export default {
     width: 100%;
     vertical-align: bottom;
 }
+/deep/ .el-button--primary {
+    background: #405cff !important;
+    border-color: #405cff !important;
+}
+/deep/ .el-radio__input.is-checked .el-radio__inner {
+    border-color: #405cff !important;
+    background: #405cff !important;
+}
+/deep/ .el-checkbox__input.is-checked .el-checkbox__inner {
+    border-color: #405cff !important;
+    background: #405cff !important;
+}
+/deep/ .el-radio__input.is-checked + .el-radio__label {
+    color: #000000 !important;
+}
+/deep/ .el-checkbox__input.is-checked + .el-checkbox__label {
+    color: #000000 !important;
+}
 .imgBox {
     width: 600px !important;
 }

+ 20 - 2
src/main/yzzscq-web/src/components/popup/LogoDemandAdd.vue

@@ -125,7 +125,7 @@ export default {
             saving: false,
             formData: {},
             rules: {
-                containText: [{ required: true, message: '请输入需求商标包含文字' }],
+                containText: [{ required: true, message: '请输入需求商标包含文字' }]
                 // containLetter: [{ required: true, message: '请输入需求商标包含字母' }],
                 // containGraphic: [{ required: true, message: '请输入需求商标包含图形元素' }],
                 // category: [{ required: true, message: '请选择商标所属分类' }],
@@ -224,6 +224,24 @@ export default {
 .el-tag + .el-tag {
     margin-left: 10px;
 }
+/deep/ .el-button--primary {
+    background: #405cff !important;
+    border-color: #405cff !important;
+}
+/deep/ .el-radio__input.is-checked .el-radio__inner {
+    border-color: #405cff !important;
+    background: #405cff !important;
+}
+/deep/ .el-checkbox__input.is-checked .el-checkbox__inner {
+    border-color: #405cff !important;
+    background: #405cff !important;
+}
+/deep/ .el-radio__input.is-checked + .el-radio__label {
+    color: #000000 !important;
+}
+/deep/ .el-checkbox__input.is-checked + .el-checkbox__label {
+    color: #000000 !important;
+}
 .input-new-tag {
     width: 100%;
     vertical-align: bottom;
@@ -238,7 +256,7 @@ export default {
     width: 100% !important;
     margin: 0px !important;
 }
-/deep/ .el-select{
+/deep/ .el-select {
     width: 93% !important;
 }
 </style>

+ 25 - 2
src/main/yzzscq-web/src/components/popup/PatentAdd.vue

@@ -109,7 +109,12 @@
                     </el-option>
                 </el-select>
             </el-form-item>
-            <el-form-item prop="ownerType" label="专利权人类型" v-if="formData.caseType == 'GENERAL'" style="padding-left: 20px">
+            <el-form-item
+                prop="ownerType"
+                label="专利权人类型"
+                v-if="formData.caseType == 'GENERAL'"
+                style="padding-left: 20px"
+            >
                 <el-radio-group v-model="formData.ownerType">
                     <el-radio v-for="item in ownerTypeOptions" :key="item.value" :label="item.value">
                         {{ item.label }}
@@ -386,7 +391,7 @@ export default {
             },
             rules: {
                 name: [{ required: true, message: '请输入专利名称' }],
-                code: [{ required: true, message: '请输入专利申请号' }],
+                code: [{ required: true, message: '请输入专利申请号' }]
                 // patentTypeId: [{ required: true, message: '请选择专利类型' }],
                 // ownerType: [{ required: true, message: '请输入专利权人类型', trigger: 'blur' }],
                 // industryClass: [{ required: true, message: '请选择所属领域' }],
@@ -547,6 +552,24 @@ export default {
 .content {
     display: flex;
 }
+/deep/ .el-radio__input.is-checked .el-radio__inner {
+    border-color: #405cff !important;
+    background: #405cff !important;
+}
+/deep/ .el-checkbox__input.is-checked .el-checkbox__inner {
+    border-color: #405cff !important;
+    background: #405cff !important;
+}
+/deep/ .el-radio__input.is-checked + .el-radio__label {
+    color: #000000 !important;
+}
+/deep/ .el-checkbox__input.is-checked + .el-checkbox__label {
+    color: #000000 !important;
+}
+/deep/ .el-button--primary {
+    background: #405cff !important;
+    border-color: #405cff !important;
+}
 .imgBox {
     width: 600px !important;
 }

+ 32 - 4
src/main/yzzscq-web/src/components/popup/PatentDemandAdd.vue

@@ -19,7 +19,11 @@
                 prop="name"
                 :label="`${formData.caseType === 'GENERAL' ? '需求专利名称' : '需求脱密专利名称'}`"
             >
-                <el-input style="width: 400px" v-model="formData.name" placeholder="例:一种***方法 / 一种***装置"></el-input>
+                <el-input
+                    style="width: 400px"
+                    v-model="formData.name"
+                    placeholder="例:一种***方法 / 一种***装置"
+                ></el-input>
             </el-form-item>
             <el-form-item
                 prop="keyword"
@@ -43,7 +47,13 @@
                 </el-select>
             </el-form-item>
             <el-form-item prop="patentStatusId" v-if="formData.caseType === 'GENERAL'" label="专利状态">
-                <el-select v-model="formData.patentStatusId" clearable filterable placeholder="请选择" style="width: 26%">
+                <el-select
+                    v-model="formData.patentStatusId"
+                    clearable
+                    filterable
+                    placeholder="请选择"
+                    style="width: 26%"
+                >
                     <el-option
                         v-for="item in patentStatusOptions"
                         :key="item.value"
@@ -202,7 +212,7 @@ export default {
                         required: true,
                         message: `请输入需求${this.types === 'DECLASSIFICATION' ? '脱密专利' : '专利'}名称`
                     }
-                ],
+                ]
                 // keyword: [
                 //     {
                 //         required: true,
@@ -323,6 +333,24 @@ export default {
     width: 100%;
     vertical-align: bottom;
 }
+/deep/ .el-radio__input.is-checked .el-radio__inner {
+    border-color: #405cff !important;
+    background: #405cff !important;
+}
+/deep/ .el-checkbox__input.is-checked .el-checkbox__inner {
+    border-color: #405cff !important;
+    background: #405cff !important;
+}
+/deep/ .el-radio__input.is-checked + .el-radio__label {
+    color: #000000 !important;
+}
+/deep/ .el-checkbox__input.is-checked + .el-checkbox__label {
+    color: #000000 !important;
+}
+/deep/ .el-button--primary {
+    background: #405cff !important;
+    border-color: #405cff !important;
+}
 /deep/ .el-checkbox__inner {
     border-radius: 50%;
 }
@@ -333,7 +361,7 @@ export default {
     width: 100% !important;
     margin: 0px !important;
 }
-/deep/ .el-select{
+/deep/ .el-select {
     width: 93% !important;
 }
 </style>

+ 20 - 2
src/main/yzzscq-web/src/components/popup/TechProductDemandAdd.vue

@@ -182,7 +182,7 @@ export default {
                         required: true,
                         message: `请输入需求${this.types === 'TECHNOLOGY' ? '技术成果' : '产品'}名称`
                     }
-                ],
+                ]
                 // industry: [{ required: true, message: '请选择所属领域' }],
                 // stage: [{ required: true, message: '请选择所处阶段' }],
                 // patentType: [{ required: true, message: '请选择专利类型', trigger: 'blur' }],
@@ -304,6 +304,24 @@ export default {
     width: 100%;
     vertical-align: bottom;
 }
+/deep/ .el-button--primary {
+    background: #405cff !important;
+    border-color: #405cff !important;
+}
+/deep/ .el-radio__input.is-checked .el-radio__inner {
+    border-color: #405cff !important;
+    background: #405cff !important;
+}
+/deep/ .el-checkbox__input.is-checked .el-checkbox__inner {
+    border-color: #405cff !important;
+    background: #405cff !important;
+}
+/deep/ .el-radio__input.is-checked + .el-radio__label {
+    color: #000000 !important;
+}
+/deep/ .el-checkbox__input.is-checked + .el-checkbox__label {
+    color: #000000 !important;
+}
 /deep/ .el-checkbox__inner {
     border-radius: 50%;
 }
@@ -314,7 +332,7 @@ export default {
     width: 100% !important;
     margin: 0px !important;
 }
-/deep/ .el-select{
+/deep/ .el-select {
     width: 93% !important;
 }
 </style>

+ 19 - 1
src/main/yzzscq-web/src/components/popup/TechnologyProductAdd.vue

@@ -242,7 +242,7 @@ export default {
         },
         rules() {
             return {
-                name: [{ required: true, message: `请输入${this.types === 'TECHNOLOGY' ? '成果' : '产品'}名称` }],
+                name: [{ required: true, message: `请输入${this.types === 'TECHNOLOGY' ? '成果' : '产品'}名称` }]
                 // field: [{ required: true, message: '请选择所属领域' }],
                 // owner: [
                 //     {
@@ -397,6 +397,24 @@ export default {
 /deep/ .el-checkbox__inner {
     border-radius: 50%;
 }
+/deep/ .el-button--primary {
+    background: #405cff !important;
+    border-color: #405cff !important;
+}
+/deep/ .el-radio__input.is-checked .el-radio__inner {
+    border-color: #405cff !important;
+    background: #405cff !important;
+}
+/deep/ .el-checkbox__input.is-checked .el-checkbox__inner {
+    border-color: #405cff !important;
+    background: #405cff !important;
+}
+/deep/ .el-radio__input.is-checked + .el-radio__label {
+    color: #000000 !important;
+}
+/deep/ .el-checkbox__input.is-checked + .el-checkbox__label {
+    color: #000000 !important;
+}
 .content {
     display: flex;
 }

+ 2 - 2
src/main/yzzscq-web/src/components/popup/registrationReset.vue

@@ -266,7 +266,7 @@ export default {
 .forgot_password {
     font-size: 12px;
     font-weight: 400;
-    color: #01a041;
+    color: #405CFF;
     line-height: 17px;
     margin-left: 385px;
     margin-top: 10px;
@@ -279,7 +279,7 @@ export default {
     .btn_one {
         width: 330px;
         height: 40px;
-        background: #01a041;
+        background: #405CFF;
         border-radius: 4px;
         font-size: 12px;
         font-weight: bold;

+ 4 - 4
src/main/yzzscq-web/src/mixins/common.js

@@ -118,10 +118,10 @@ export default {
                     })
                     .then(() => {
                         // this.$store.commit('loginVerification', true);
-                        this.$router.push('/login')
-                        // this.$router.push({
-                        //     name: "home"
-                        // });
+                        // this.$router.push('/login')
+                        this.$router.push({
+                            name: "home"
+                        });
                     })
                     .catch(() => {});
 

+ 2 - 2
src/main/yzzscq-web/src/mixins/menu.js

@@ -133,11 +133,11 @@ export default {
         },
         scrollTo(isFirst = false) {
             this.$nextTick(() => {
-                let top = window.innerWidth * 0.2625 > 341 ? window.innerWidth * 0.2625 : 341;
+                let top = window.innerHeight * 0.2625 > 341 ? window.innerHeight * 0.2625 : 341;
                 setTimeout(
                     () => {
                         window.scrollTo({
-                            top: top + 200
+                            top: top + 260
                         });
                     },
                     isFirst ? 500 : 0

+ 5 - 5
src/main/yzzscq-web/src/router/index.js

@@ -615,7 +615,7 @@ const routes = [{
                 name: 'newsList',
                 component: () => import('../views/news/List.vue'),
                 meta: {
-                    title: '知产咨询动态'
+                    title: '政策法律'
                 }
             },
             {
@@ -1001,10 +1001,10 @@ router.beforeEach((to, from, next) => {
                         })
                         .then(() => {
                             // this.$store.commit('loginVerification', true);
-                            router.push('/login')
-                            // router.push({
-                            //     name: "home"
-                            // })
+                            // router.push('/login')
+                            router.push({
+                                name: "home"
+                            })
                         })
                         .catch(() => {});
                     // next('/login');

+ 2 - 2
src/main/yzzscq-web/src/styles/theme/button.css

@@ -483,8 +483,8 @@
     padding: 12px; }
   .el-button--primary {
     color: #FFFFFF;
-    background-color: #ff8700;
-    border-color: #ff8700; }
+    background-color: #405CFF;
+    border-color: #405CFF; }
     .el-button--primary:hover, .el-button--primary:focus {
       background: #ff9f33;
       border-color: #ff9f33;

+ 2 - 2
src/main/yzzscq-web/src/styles/theme/calendar.css

@@ -753,8 +753,8 @@
     padding: 12px; }
   .el-button--primary {
     color: #FFFFFF;
-    background-color: #ff8700;
-    border-color: #ff8700; }
+    background-color: #405CFF;
+    border-color: #405CFF; }
     .el-button--primary:hover, .el-button--primary:focus {
       background: #ff9f33;
       border-color: #ff9f33;

+ 2 - 2
src/main/yzzscq-web/src/styles/theme/dropdown.css

@@ -753,8 +753,8 @@
     padding: 12px; }
   .el-button--primary {
     color: #FFFFFF;
-    background-color: #ff8700;
-    border-color: #ff8700; }
+    background-color: #405CFF;
+    border-color: #405CFF; }
     .el-button--primary:hover, .el-button--primary:focus {
       background: #ff9f33;
       border-color: #ff9f33;

+ 2 - 2
src/main/yzzscq-web/src/styles/theme/index.css

@@ -7729,8 +7729,8 @@
     padding: 12px; }
   .el-button--primary {
     color: #FFFFFF;
-    background-color: #ff8700;
-    border-color: #ff8700; }
+    background-color: #405CFF;
+    border-color: #405CFF; }
     .el-button--primary:hover, .el-button--primary:focus {
       background: #ff9f33;
       border-color: #ff9f33;

+ 2 - 2
src/main/yzzscq-web/src/styles/theme/message-box.css

@@ -1063,8 +1063,8 @@
     padding: 12px; }
   .el-button--primary {
     color: #FFFFFF;
-    background-color: #ff8700;
-    border-color: #ff8700; }
+    background-color: #405CFF;
+    border-color: #405CFF; }
     .el-button--primary:hover, .el-button--primary:focus {
       background: #ff9f33;
       border-color: #ff9f33;

+ 2 - 2
src/main/yzzscq-web/src/styles/theme/transfer.css

@@ -1311,8 +1311,8 @@
     padding: 12px; }
   .el-button--primary {
     color: #FFFFFF;
-    background-color: #ff8700;
-    border-color: #ff8700; }
+    background-color: #405CFF;
+    border-color: #405CFF; }
     .el-button--primary:hover, .el-button--primary:focus {
       background: #ff9f33;
       border-color: #ff9f33;

+ 9 - 1
src/main/yzzscq-web/src/utils/variables.js

@@ -318,7 +318,15 @@ export const typeOptions = [{
         value: 'MILITARY_TO_CIVILIAN'
     }
 ];
-
+export const policyLevel = [{
+        label: '脱密国防专利',
+        value: 'RESEARCH'
+    },
+    {
+        label: '军转民专利',
+        value: 'MILITARY_TO_CIVILIAN'
+    }
+];
 export const ownerTypeOptions = [{
         label: '高校',
         value: 'UNIVERSITIES_AND_INSTITUTES'

+ 489 - 55
src/main/yzzscq-web/src/views/About.vue

@@ -1,34 +1,36 @@
 <template>
     <div class="about">
-        <!-- <banner></banner> -->
+        <banner></banner>
         <!-- <bread-page> -->
-        <div class="banner_top">
-            <el-image fit="cover" src="https://baixiaip.oss-cn-hangzhou.aliyuncs.com/image/2022-10-24-16-13-06MXJmzqmv.jpg" class="about_img"/>
+        <!-- <div class="banner_top">
+            <el-image
+                fit="cover"
+                src="https://baixiaip.oss-cn-hangzhou.aliyuncs.com/image/2022-10-24-16-13-06MXJmzqmv.jpg"
+                class="about_img"
+            />
             <div class="banner_top_title">关于我们</div>
-        </div>
+        </div> -->
         <div class="intro" id="intro">
-            <divider-title>
-                <!-- <template> 平台 </template> -->
-                <template #prim>中心简介</template>
-                <template #sub>Platform Overview</template>
-            </divider-title>
             <div class="intro_con">
-                <div class="text" v-html="connect"></div>
-                <div class="intro_con_right">
-                    <swiper :options="honorOption">
-                        <swiper-slide v-for="(item, index) in honorOptionImage" :key="index">
-                            <el-image fit="fill" :src="item.img" class="intro_con_right_img"/>
-                        </swiper-slide>
-                    </swiper>
-                    <!-- <img src="../assets/bianzu3@3x.png" alt="" class="intro_con_right_img" /> -->
-                    <div class="intro_con_right_one"></div>
-                    <div class="intro_con_right_two"></div>
-                    <div class="intro_con_right_three"></div>
+                <divider-title>
+                    <!-- <template> 平台 </template> -->
+                    <template #prim>
+                        <div class="intro_con_title">平台简介</div>
+                    </template>
+                    <template #sub>Convert Database</template>
+                </divider-title>
+                <div class="intro_con_content">
+                    <el-image fit="fill" class="intro_con_content_img" />
+                    <div class="intro_con_content_right">
+                        <div class="intro_con_content_right_title">扬州市知识产权综合服务平合</div>
+                        <div class="intro_con_content_right_segmentation"></div>
+                        <div class="intro_con_content_right_text" v-html="connect"></div>
+                    </div>
                 </div>
             </div>
         </div>
         <!-- </bread-page> -->
-        <!-- <div class="history" ref="history" id="history">
+        <div class="history" ref="history" id="history">
             <div class="history_con">
                 <divider-title>
                     <template>发展</template>
@@ -60,23 +62,80 @@
                         <img :src="index === actives ? select : unchecked" alt="" class="content_subscript_con_img" />
                     </div>
                 </div>
+                <!-- <div class="history_con_content">
+                    <swiper ref="imgSwiper" class="history_con_content_left" :options="imgOptions">
+                        <swiper-slide
+                            v-for="(item, index) in historys"
+                            :key="index"
+                            class="history_con_content_left_con"
+                        >
+                            <img :src="item.img" alt="" class="history_con_content_left_img" />
+                        </swiper-slide>
+                    </swiper>
+                    <swiper class="timeLine" ref="timeSwiper" :options="boxOptions">
+                        <swiper-slide v-for="(item, index) in historys" :key="index">
+                            <div class="time-item">
+                                <div class="text1">
+                                    <span>{{ formatTime(item.time, 'YYYY') }}</span>
+                                    <span>年</span>
+                                    <span>{{ formatTime(item.time, 'MM月') }}</span>
+                                </div>
+                                <div class="text2" v-html="item.title"></div>
+                            </div>
+                        </swiper-slide>
+                        <div class="time-pagination" slot="pagination"></div>
+                    </swiper>
+                    <div class="history_con_content_right">
+                        <swiper class="history_con_content_right_con" ref="timeSwiper" :options="honorOption">
+                            <swiper-slide v-for="(item, index) in historys" :key="index">
+                                <div class="history_con_content_right_con_top">
+                                    <img
+                                        :src="index === actives ? select : unchecked"
+                                        alt=""
+                                        class="history_con_content_right_con_img"
+                                    />
+                                    <div class="history_con_content_right_con_time">
+                                        <span>{{ formatTime(item.time, 'YYYY') }}</span>
+                                        <span>年</span>
+                                        <span>{{ formatTime(item.time, 'MM月') }}</span>
+                                    </div>
+                                </div>
+                                <div class="history_con_content_right_con_content" v-html="item.title"></div>
+                            </swiper-slide>
+                            <div class="time-pagination" slot="pagination"></div>
+                        </swiper>
+                    </div>
+                </div> -->
+                <!-- <div class="content_subscript">
+                    <div class="content_subscript_con" v-for="(item, index) in historys" :key="index">
+                        <div
+                            :class="index === actives ? 'content_subscript_con_titles' : 'content_subscript_con_title'"
+                        >
+                            <span>{{ formatTime(item.time, 'YYYY') }}</span>
+                            <span>.</span>
+                            <span>{{ formatTime(item.time, 'MM') }}</span>
+                        </div>
+                        <img :src="index === actives ? select : unchecked" alt="" class="content_subscript_con_img" />
+                    </div>
+                </div> -->
             </div>
-        </div> -->
-
-        <!-- <div class="center-content honor-content" id="honor">
+        </div>
+        <div class="center-content honor-content" id="honor">
             <divider-title>
                 <template #prim>荣誉资质</template>
                 <template #sub>Qualification honor</template>
             </divider-title>
             <swiper ref="honor" class="honor" :options="honorOptions">
                 <swiper-slide v-for="(item, index) in honors" :key="index">
-                    <img :src="item.img" alt="" />
-                    <div class="name">{{ item.title }}</div>
+                    <div class="honor_con">
+                        <img :src="item.img" alt="" />
+                        <div class="name">{{ item.title }}</div>
+                    </div>
                 </swiper-slide>
             </swiper>
             <div class="el-icon-arrow-right" slot="button-next"></div>
             <div class="el-icon-arrow-left" slot="button-prev"></div>
-        </div> -->
+        </div>
 
         <div class="connect" id="connect">
             <div class="center-content">
@@ -106,6 +165,38 @@
                 </div>
             </div>
         </div>
+        <div class="center-content_five">
+            <div class="center-content">
+                <div class="link">
+                    <div class="link-name">
+                        <div
+                            class="name"
+                            :class="{ active: partnerType === 'CLIENT' }"
+                            @mouseover="getPartner('CLIENT')"
+                        >
+                            客户
+                        </div>
+                        <div class="name" :class="{ active: partnerType === 'LINK' }" @mouseover="getPartner('LINK')">
+                            链接
+                        </div>
+                    </div>
+                    <div class="link-list">
+                        <swiper class="link-swiper" ref="swiper" :options="linkOptions">
+                            <swiper-slide v-for="item in partners" :key="item.id">
+                                <a
+                                    class="link-img"
+                                    :href="item.url || 'http://zhirongip.izouma.com/web'"
+                                    target="_blank"
+                                    rel="noopener noreferrer"
+                                >
+                                    <img :src="item.img" alt="" class="link-img-content"
+                                /></a>
+                            </swiper-slide>
+                        </swiper>
+                    </div>
+                </div>
+            </div>
+        </div>
     </div>
 </template>
 
@@ -116,16 +207,22 @@ import BreadPage from '../components/page/BreadPage.vue';
 import { Swiper, SwiperSlide, directive } from 'vue-awesome-swiper';
 import MapContainer from '../components/MapContainer.vue';
 export default {
-    components: { Banner, BreadPage, DividerTitle, Swiper, SwiperSlide, MapContainer },
+    components: { DividerTitle, Swiper, SwiperSlide, MapContainer, Banner },
     directives: {
         swiper: directive
     },
     data() {
         return {
             connect: '',
+            partners: [],
+            partnerType: 'CLIENT',
             select: require('../assets/xuanzhong@3x.png'),
             unchecked: require('../assets/weixuanzhong@3x.png'),
             historys: [],
+            linkOptions: {
+                slidesPerView: 'auto',
+                spaceBetween: 30
+            },
             boxOptions: {
                 direction: 'vertical',
                 slidesPerView: 'auto',
@@ -162,8 +259,9 @@ export default {
                 }
             },
             honorOption: {
+                direction: 'vertical',
                 autoplay: {
-                    delay: 3000,
+                    delay: 5000,
                     stopOnLastSlide: false,
                     disableOnInteraction: false
                 }
@@ -227,6 +325,7 @@ export default {
         }
     },
     mounted() {
+        this.getPartner('CLIENT');
         this.$http
             .get('/sysConfig/get/CONVERGENCE')
             .then(res => {
@@ -274,6 +373,27 @@ export default {
         });
     },
     methods: {
+        getPartner(type) {
+            this.partnerType = type;
+            this.$http
+                .post(
+                    '/partner/all',
+                    {
+                        query: {
+                            type: this.partnerType
+                        }
+                    },
+                    {
+                        body: 'json'
+                    }
+                )
+                .then(res => {
+                    this.partners = res.content;
+                    this.$nextTick(() => {
+                        this.$refs.swiper.$swiper.update();
+                    });
+                });
+        },
         scrollEvent() {
             if (this.$route.hash) {
                 this.$nextTick(() => {
@@ -330,12 +450,53 @@ export default {
     margin-top: -90px;
 }
 .intro {
-    max-width: 1300px;
-    padding: 100px 50px 100px 50px;
-    margin: 0 auto;
-    box-sizing: border-box;
+    width: 100%;
+    height: 573px;
+    background-image: url('../assets/platform_introduction.png');
+    background-size: 100% 100%;
+    background-repeat: no-repeat;
     .intro_con {
-        display: flex;
+        max-width: 1300px;
+        padding: 80px 50px 100px 50px;
+        margin: 0 auto;
+        box-sizing: border-box;
+        .intro_con_title {
+            font-size: 24px;
+            color: #ffffff;
+            line-height: 24px;
+        }
+        .intro_con_content {
+            display: flex;
+            .intro_con_content_img {
+                width: 360px;
+                height: 280px;
+            }
+            .intro_con_content_right {
+                margin-left: 50px;
+                padding: 10px 0px;
+                box-sizing: border-box;
+                .intro_con_content_right_title {
+                    font-size: 20px;
+                    color: #ffffff;
+                    line-height: 24px;
+                    margin-bottom: 14px;
+                }
+                .intro_con_content_right_segmentation {
+                    width: 750px;
+                    height: 1px;
+                    background: rgba(255, 255, 255, 0.3);
+                    margin-bottom: 14px;
+                }
+                .intro_con_content_right_text {
+                    width: 750px;
+                    height: 208px;
+                    overflow-y: auto;
+                    font-size: 14px;
+                    color: #ffffff;
+                    line-height: 26px;
+                }
+            }
+        }
         .intro_con_right {
             width: 360px;
             height: 360px;
@@ -348,7 +509,7 @@ export default {
             .intro_con_right_one {
                 width: 189px;
                 height: 20px;
-                background: #01a041;
+                background: #405CFF;
                 opacity: 0.6;
                 position: absolute;
                 right: -20px;
@@ -357,7 +518,7 @@ export default {
             .intro_con_right_two {
                 width: 20px;
                 height: 169px;
-                background: #01a041;
+                background: #405CFF;
                 opacity: 0.6;
                 position: absolute;
                 right: -20px;
@@ -383,14 +544,12 @@ export default {
 }
 
 .history {
-    background: #f8f8f8;
+    background: linear-gradient(180deg, rgba(244, 247, 255, 0) 0%, #f4f7ff 100%);
     position: relative;
-    padding: 40px 0px;
-    box-sizing: border-box;
     .history_con {
         max-width: 1300px;
         margin: 0 auto;
-        padding: 0px 50px;
+        padding: 80px 50px 100px;
         box-sizing: border-box;
     }
     .content {
@@ -399,8 +558,8 @@ export default {
             display: flex;
             margin-bottom: 50px;
             .content_con_img {
-                width: 432px;
-                height: 288px;
+                width: 360px;
+                height: 360px;
             }
             .content_con_title {
                 flex-grow: 1;
@@ -411,7 +570,7 @@ export default {
                     font-size: 18px;
                     font-family: PingFangSC-Medium, PingFang SC;
                     font-weight: bold;
-                    color: #01a041;
+                    color: #405cff;
                     line-height: 24px;
                     margin-bottom: 16px;
                 }
@@ -424,6 +583,48 @@ export default {
             }
         }
     }
+    .history_con_content {
+        display: flex;
+        .history_con_content_left {
+            width: 360px !important;
+            height: 360px !important;
+            .history_con_content_left_img {
+                width: 100%;
+                height: 100%;
+            }
+        }
+        .history_con_content_right {
+            width: 840px;
+            height: 360px;
+            background: #ffffff;
+            box-shadow: 0px 0px 6px 0px #d2dbf0;
+            overflow-y: auto;
+            .history_con_content_right_con {
+                width: 100%;
+                padding: 40px 60px 22px 40px;
+                box-sizing: border-box;
+                .history_con_content_right_con_top {
+                    display: flex;
+                    .history_con_content_right_con_img {
+                        width: 24px;
+                        height: 24px;
+                        margin-right: 20px;
+                    }
+                    .history_con_content_right_con_time {
+                        font-size: 18px;
+                        color: #939599;
+                        line-height: 24px;
+                        font-weight: bold;
+                    }
+                    .history_con_content_right_con_content {
+                        font-size: 14px;
+                        color: #313233;
+                        line-height: 24px;
+                    }
+                }
+            }
+        }
+    }
     // .content {
     //     position: relative;
     //     background: #f8f8f8;
@@ -671,7 +872,7 @@ export default {
     .content_subscript_con_titles {
         font-size: 14px;
         font-weight: 400;
-        color: #01a041;
+        color: #405cff;
         line-height: 24px;
         margin-bottom: 10px;
     }
@@ -695,7 +896,7 @@ export default {
 .el-icon-arrow-left,
 .el-icon-arrow-right {
     position: absolute;
-    bottom: 295px;
+    bottom: 240px;
     font-size: 32px;
     z-index: 10;
     cursor: pointer;
@@ -703,7 +904,7 @@ export default {
     align-items: center;
     justify-content: center;
     color: var(var(--swiper-theme-color));
-    color: #01a041;
+    color: #405cff;
 
     &::after {
         font-family: iconfont;
@@ -721,36 +922,48 @@ export default {
 }
 
 .el-icon-arrow-left {
-    left: -43px;
+    left: 98px;
     right: auto;
 }
 .el-icon-arrow-right {
-    right: -43px;
+    right: 98px;
     left: auto;
 }
 
 .honor {
+    width: 940px;
     // padding-bottom: 40px;
+    .honor_con {
+        width: 290px;
+        height: 250px;
+        background: #ffffff;
+        box-shadow: 0px 0px 6px 0px #d2dbf0;
+        padding: 10px;
+        padding-bottom: 0px;
+        box-sizing: border-box;
+    }
     img {
         width: 100%;
-        height: 280px;
+        height: 180px;
         display: block;
     }
 
     .name {
         font-size: 14px;
-        color: #393939;
+        color: #313233;
         line-height: 24px;
         text-align: center;
-        padding: 20px;
-        border-bottom: 1px solid #dcdfe6;
+        padding: 18px;
+        overflow: hidden;
+        white-space: nowrap;
+        text-overflow: ellipsis;
     }
 }
 
 .connect {
-    height: 700px;
     background-color: #f8f8f8;
-    padding-top: 40px;
+    padding-top: 80px;
+    padding-bottom: 100px;
     .connect-content {
         .flex();
 
@@ -807,7 +1020,7 @@ export default {
 }
 .honor-content {
     background: #ffffff;
-    padding: 100px 50px !important;
+    padding: 80px 50px 100px !important;
     position: relative;
 }
 .banner_top {
@@ -824,4 +1037,225 @@ export default {
         left: 45%;
     }
 }
+// .history {
+//     position: relative;
+//     padding-top: 1px;
+//     margin-top: 70px;
+//     .content {
+//         position: relative;
+//         background: #f8f8f8;
+//         box-shadow: 0px 3px 12px 0px rgba(0, 0, 0, 0.07);
+//         padding: 80px 0 300px;
+//         height: 700px;
+//         box-sizing: border-box;
+//         @media screen and (max-width: 1300px) {
+//             height: 500px;
+//         }
+//     }
+//     .center-content {
+//         padding: 100px 50px 60px;
+//         position: relative;
+//         z-index: 2;
+//     }
+//     .page-title {
+//         padding: 50px 100px 80px;
+//     }
+
+//     .left {
+//         width: 600px;
+//         right: 50%;
+//         position: relative;
+//         padding-top: 172px;
+//     }
+//     .title {
+//         font-size: 20px;
+//         font-weight: bold;
+//         color: #393939;
+//         line-height: 30px;
+//         position: absolute;
+//         top: 80px;
+//         right: calc(50% + 200px);
+//         width: 320px;
+//         padding-left: 30px;
+//         z-index: 3;
+//         background-color: rgba(255, 255, 255, 0.4);
+//         padding: 10px;
+//         &::before {
+//             content: '';
+//             width: 2px;
+//             position: absolute;
+//             left: 0px;
+//             top: 10px;
+//             bottom: 10px;
+//             background-color: @prim;
+//         }
+
+//         .time {
+//             span {
+//                 vertical-align: middle;
+//                 &:first-child {
+//                     font-size: 24px;
+//                     font-family: Impact;
+//                     line-height: 40px;
+//                 }
+
+//                 &:nth-child(2) {
+//                     font-size: 22px;
+//                     font-weight: bold;
+//                     line-height: 30px;
+//                     padding: 0 6px 0 2px;
+//                 }
+//             }
+//         }
+//     }
+
+//     .timeLine {
+//         width: 340px;
+//         height: 50%;
+//         padding: 20px;
+//         box-sizing: border-box;
+//         background-color: fade(@warn, 70%);
+//         position: absolute;
+//         right: calc(50% - 100px);
+//         bottom: 90px;
+
+//         /deep/ .swiper-slide {
+//             height: auto;
+//             padding: 10px 0 20px;
+//         }
+
+//         .time-item {
+//             font-size: 14px;
+//             color: #ffffff;
+//             line-height: 24px;
+//             padding-left: 30px;
+//             position: relative;
+//             .text1 {
+//                 position: relative;
+//                 span {
+//                     vertical-align: middle;
+//                     &:first-child {
+//                         font-family: Impact;
+//                         color: #ffffff;
+//                         line-height: 30px;
+//                     }
+
+//                     &:nth-child(2) {
+//                         font-size: 18px;
+//                         font-weight: bold;
+//                         color: #ffffff;
+//                         line-height: 30px;
+//                         margin-right: 6px;
+//                     }
+//                 }
+
+//                 &::before {
+//                     content: '';
+//                     width: 11px;
+//                     height: 11px;
+//                     background: #ffffff;
+//                     position: absolute;
+
+//                     position: absolute;
+//                     left: -29px;
+//                     top: 11px;
+//                     border-radius: 100%;
+//                 }
+//             }
+
+//             &::before {
+//                 content: '';
+//                 width: 15px;
+//                 height: 15px;
+//                 border: 1px solid #ffffff;
+//                 position: absolute;
+//                 left: -2px;
+//                 top: 8px;
+//                 border-radius: 100%;
+//             }
+
+//             &::after {
+//                 content: '';
+//                 width: 0px;
+//                 height: 110%;
+//                 border-left: 1px dashed #fff;
+//                 position: absolute;
+//                 left: 6px;
+//                 top: 28px;
+//             }
+//         }
+
+//         /deep/ .swiper-slide {
+//             &:last-child {
+//                 .time-item {
+//                     &::after {
+//                         content: none;
+//                     }
+//                 }
+//             }
+//         }
+
+//         /deep/ .swiper-pagination-progressbar {
+//             left: auto;
+//             right: 20px;
+//             height: calc(100% - 60px);
+//             top: 30px;
+//             width: 2px;
+//             .swiper-pagination-progressbar-fill {
+//                 background-color: #fff;
+//             }
+//         }
+//     }
+// }
+.center-content_five {
+    width: 100%;
+    background: #ffffff;
+    padding: 50px 0 50px;
+    .link {
+        .link-name {
+            .flex();
+        }
+        .name {
+            width: 52px;
+            height: 28px;
+            font-size: 16px;
+            font-weight: bold;
+            color: #818999;
+            line-height: 28px;
+            text-align: center;
+            margin-right: 20px;
+            &.active {
+                width: 52px;
+                height: 28px;
+                color: #405cff;
+                background: rgba(64, 92, 255, 0.08);
+                border-radius: 2px;
+                text-align: center;
+                line-height: 28px;
+            }
+            cursor: pointer;
+        }
+        .link-list {
+            margin-top: 27px;
+        }
+        .link-swiper {
+            display: flex;
+            .link-img-content {
+                margin-right: 20px;
+            }
+        }
+    }
+    .link-swiper {
+        .link-img {
+            img {
+                height: 30px;
+                width: auto;
+                display: block;
+            }
+        }
+        /deep/ .swiper-slide {
+            width: auto;
+        }
+    }
+}
 </style>

Plik diff jest za duży
+ 582 - 574
src/main/yzzscq-web/src/views/Allsearch.vue


+ 589 - 174
src/main/yzzscq-web/src/views/Home.vue

@@ -1,69 +1,77 @@
 <template>
     <div class="home">
         <banner></banner>
-        <div class="center-content" style="padding-top: 79px">
-            <divider-title>
+        <BannerNav></BannerNav>>
+        <div class="center-content_one">
+            <div class="center-content" style="padding-top: 74px">
+                <!-- <divider-title>
                 <template #prim>知产咨询动态</template>
                 <template #sub>Information trends</template>
-            </divider-title>
-            <div class="news">
-                <div class="carousel news-item" @mouseover="autoplay = false" @mouseout="autoplay = true">
-                    <el-carousel ref="carousel" height="360px" arrow="never" trigger="hover" @change="changeCarousl">
-                        <el-carousel-item v-for="(item, index) in newsListIndex" :key="index">
-                            <el-image
-                                :src="item.img"
-                                @click="moreQualificationsOne"
-                                style="width: 100%; height: 100%; cursor: pointer"
-                                fit="cover"
-                            ></el-image>
-
-                            <p class="swiper-itemText">{{ item.name }}</p>
-                        </el-carousel-item>
-                    </el-carousel>
-                    <div class="indicators">
-                        <span
-                            v-for="(item, index) in newsListIndex"
-                            @mouseover="changeIndex(index)"
-                            :key="index"
-                            :class="{ active: activeIndex === index }"
-                            >{{ index + 1 }}</span
+            </divider-title> -->
+                <div class="news">
+                    <div class="carousel news-item" @mouseover="autoplay = false" @mouseout="autoplay = true">
+                        <el-carousel
+                            ref="carousel"
+                            height="360px"
+                            arrow="never"
+                            trigger="hover"
+                            @change="changeCarousl"
                         >
-                    </div>
-                </div>
+                            <el-carousel-item v-for="(item, index) in newsListIndex" :key="index">
+                                <el-image
+                                    :src="item.img"
+                                    @click="moreQualificationsOne"
+                                    style="width: 100%; height: 100%; cursor: pointer"
+                                    fit="cover"
+                                ></el-image>
 
-                <div class="tab news-item">
-                    <el-link :underline="false" class="more" @click="moreQualifications">
-                        更多<i class="el-icon-view el-icon-arrow-right"></i>
-                    </el-link>
-                    <div class="tabBox">
-                        <div
-                            v-for="(item, index) in tabs"
-                            @mouseover="handleClick(item)"
-                            :key="index"
-                            :class="{ active: item === active }"
-                            class="tabs"
-                        >
-                            {{ item }}
+                                <p class="swiper-itemText">{{ item.name }}</p>
+                            </el-carousel-item>
+                        </el-carousel>
+                        <div class="indicators">
+                            <span
+                                v-for="(item, index) in newsListIndex"
+                                @mouseover="changeIndex(index)"
+                                :key="index"
+                                :class="{ active: activeIndex === index }"
+                                >{{ index + 1 }}</span
+                            >
                         </div>
                     </div>
-                    <div class="news-list" v-if="newsList">
-                        <router-link
-                            v-for="i in newsList"
-                            :key="i.id"
-                            :to="{ name: 'newsDetail', query: { id: i.id, fromHome: true } }"
-                            class="news-link"
-                        >
-                            <span class="text1">{{ i.name }}</span>
-                            <span class="text2">{{ formatTime(i.issuedAt, 'YYYY.MM.DD') }}</span>
-                        </router-link>
-                    </div>
-                    <div class="empty" v-else>
-                        <i class="el-icon-takeaway-box" style="margin-left: 24px"></i>
-                        <div style="font-size: 20px">暂无数据</div>
+
+                    <div class="tab news-item">
+                        <el-link :underline="false" class="more" @click="moreQualifications">
+                            更多<i class="el-icon-view el-icon-arrow-right"></i>
+                        </el-link>
+                        <div class="tabBox">
+                            <div
+                                v-for="(item, index) in tabs"
+                                @mouseover="handleClick(item)"
+                                :key="index"
+                                :class="{ active: item === active }"
+                                class="tabs"
+                            >
+                                {{ item }}
+                            </div>
+                        </div>
+                        <div class="news-list" v-if="newsList">
+                            <router-link
+                                v-for="i in newsList"
+                                :key="i.id"
+                                :to="{ name: 'newsDetail', query: { id: i.id, fromHome: true } }"
+                                class="news-link"
+                            >
+                                <span class="text1">{{ i.name }}</span>
+                                <span class="text2">{{ formatTime(i.issuedAt, 'YYYY.MM.DD') }}</span>
+                            </router-link>
+                        </div>
+                        <div class="empty" v-else>
+                            <i class="el-icon-takeaway-box" style="margin-left: 24px"></i>
+                            <div style="font-size: 20px">暂无数据</div>
+                        </div>
                     </div>
                 </div>
-            </div>
-            <!-- <div class="hot">
+                <!-- <div class="hot">
                 <div class="hot-btn">
                     <div class="btn-item">
                         <el-button icon="el-icon-edit" type="primary" @click="show = true">供给发布</el-button>
@@ -125,6 +133,7 @@
                     </router-link>
                 </div>
             </div> -->
+            </div>
         </div>
         <!-- <a
             href="http://ggfw.cnipa.gov.cn:8010/PatentCMS_Center"
@@ -132,13 +141,85 @@
             class="ad"
             :style="{ backgroundImage: `url(${require('../assets/jpg-bg.jpg')})` }"
         ></a> -->
-        <div class="center-content">
+        <div class="center-content_two">
             <divider-title>
-                <template #prim>知产转化数据</template>
-                <template #sub>IP Conversion data</template>
+                <template #prim>IP 交易市场</template>
+                <template #sub>Trading market</template>
             </divider-title>
-            <div class="center-content_con">
-                <!-- <div class="center-content_con_left">
+            <div class="center-content">
+                <div class="banner_con_titleOne">
+                    <div class="banner_con_titleOne_con banner_con_titleOne_con_one" @click="supplySide">
+                        <img src="../assets/png-gongjice-bg@3x.png" alt="" class="banner_con_titleOne_img" />
+                        <div class="supply_side_supply supply_side">
+                            <div class="supply_side_supply_one supply_side_one">供给侧</div>
+                            <div class="supply_side_supply_two supply_side_two">丰富的行业交流、政企交流活动</div>
+                            <div class="supply_side_supply_three">
+                                去发布
+                                <img
+                                    src="../assets/nav_icon_bianji@3x.png"
+                                    alt=""
+                                    class="supply_side_supply_three_img"
+                                />
+                            </div>
+                        </div>
+                    </div>
+                    <div class="banner_con_titleOne_con banner_con_titleOne_con_two" @click="demandSide">
+                        <div class="supply_side">
+                            <div class="supply_side_one supply_side_demand_one">需求侧</div>
+                            <div class="supply_side_two supply_side_demand_two">丰富的行业交流、政企交流活动</div>
+                            <div class="supply_side_demand_three">
+                                去发布
+                                <img
+                                    src="../assets/nav_icon_bianjirigth@3x.png"
+                                    alt=""
+                                    class="supply_side_demand_three_img"
+                                />
+                            </div>
+                        </div>
+                        <img src="../assets/png-xuqiuce-bg@3x.png" alt="" class="banner_con_titleOne_img" />
+                    </div>
+                </div>
+                <div class="banner_con_titleTwo">
+                    <div class="banner_con_titleTwo_con banner_con_titleTwo_con_one" @click="technology">
+                        <img src="../assets/png-jishujingliren-bg@3x.png" alt="" class="banner_con_titleTwo_img" />
+                        <div class="supply_sides">
+                            <div class="supply_sides_one">技术经理人</div>
+                            <div class="supply_sides_two">
+                                立即查看<i class="el-icon-arrow-right" style="margin-left: 6px"></i>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="banner_con_titleTwo_con banner_con_titleTwo_con_two" @click="transactionCase">
+                        <img src="../assets/png-chengjiaoanli-bg@3x.png" alt="" class="banner_con_titleTwo_img" />
+                        <div class="supply_sides">
+                            <div class="supply_sides_one">成交案例</div>
+                            <div class="supply_sides_two">
+                                立即查看<i class="el-icon-arrow-right" style="margin-left: 6px"></i>
+                            </div>
+                        </div>
+                    </div>
+                    <div
+                        class="banner_con_titleTwo_con banner_con_titleTwo_con_three"
+                        @click="all('/agent?navigationId=95')"
+                    >
+                        <img src="../assets/png-ipfuwu-bg@3x.png" alt="" class="banner_con_titleTwo_img" />
+                        <div class="supply_sides">
+                            <div class="supply_sides_one">知产运营服务</div>
+                            <div class="supply_sides_two">
+                                立即查看<i class="el-icon-arrow-right" style="margin-left: 6px"></i>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="center-content_three">
+            <div class="center-content">
+                <divider-title>
+                    <template #prim>IP 转化数据库</template>
+                    <template #sub>Convert Database</template>
+                </divider-title>
+                <div class="center-content_con_left">
                     <div class="tab news-item" style="height: 383px">
                         <el-link :underline="false" class="more" @click="moreQualificationsTwo">
                             更多<i class="el-icon-view el-icon-arrow-right"></i>
@@ -155,12 +236,80 @@
                             </div>
                         </div>
                         <div class="news-list" v-if="newsLists.length > 0">
-                            <div v-for="i in newsLists" :key="i.id" class="news-link" @click="toDetails(i.id)">
-                                <div class="news-link_con" v-if="actives === '知识产权'">
-                                    <el-image :src="getImg(i.img)" fit="cover" class="news-link_img"></el-image>
-                                    <div class="text4">{{ i.name }}</div>
+                            <div
+                                v-for="(i, index) in newsLists"
+                                :key="i.id"
+                                class="intellectual_property"
+                                @click="toDetails(i.id)"
+                                @mouseover="changeIndexNum(index)"
+                            >
+                                <div class="intellectual_property_one" v-if="index == num">
+                                    <div class="intellectual_property_one_left">
+                                        <el-image
+                                            :src="getImg(i.img)"
+                                            fit="cover"
+                                            class="intellectual_property_one_left_img"
+                                            v-if="actives != '专家'"
+                                        ></el-image>
+                                        <el-image
+                                            :src="getImg(i.avatar)"
+                                            fit="cover"
+                                            class="intellectual_property_one_left_img"
+                                            v-if="actives === '专家'"
+                                        ></el-image>
+                                        <div>
+                                            <div class="intellectual_property_one_left_name">{{ i.name }}</div>
+                                            <div class="intellectual_property_one_left_content">
+                                                <div class="intellectual_property_one_left_content_con">
+                                                    申请号:&nbsp;{{ i.code }}
+                                                </div>
+                                                <div class="intellectual_property_one_left_content_con">
+                                                    行业领域:&nbsp;{{ i.techOne }}
+                                                </div>
+                                                <div class="intellectual_property_one_left_content_con">
+                                                    申请日:&nbsp;{{ formatTime(i.createdAt, 'YYYY-MM-DD') }}
+                                                </div>
+                                                <div class="intellectual_property_one_left_content_con">
+                                                    专利权人:&nbsp;{{ i.owner }}
+                                                </div>
+                                            </div>
+                                            <div class="intellectual_property_one_left_own">
+                                                发明人:&nbsp;{{ i.owner }}
+                                            </div>
+                                        </div>
+                                    </div>
+                                    <div class="intellectual_property_one_right">查看详情</div>
                                 </div>
-                                <div class="text2" v-if="actives === '知识产权'">{{ i.createdAt }}</div>
+                                <div class="intellectual_property_two" v-if="index != num">
+                                    <div class="intellectual_property_two_left">
+                                        <el-image
+                                            :src="getImg(i.img)"
+                                            fit="cover"
+                                            class="intellectual_property_two_left_img"
+                                            v-if="actives != '专家'"
+                                        ></el-image>
+                                        <el-image
+                                            :src="getImg(i.avatar)"
+                                            fit="cover"
+                                            class="intellectual_property_two_left_img"
+                                            v-if="actives === '专家'"
+                                        ></el-image>
+                                        <div class="intellectual_property_two_left_name">{{ i.name }}</div>
+                                    </div>
+                                    <img
+                                        src="../assets/iconright@3x.png"
+                                        alt=""
+                                        class="intellectual_property_two_right"
+                                    />
+                                </div>
+                            </div>
+                            <!-- <div
+                                v-for="i in newsLists"
+                                :key="i.id"
+                                class="news-link"
+                                @click="toDetails(i.id)"
+                                v-if="actives != '知产'"
+                            >
                                 <div class="news-link_con" v-if="actives === '技术'">
                                     <el-image :src="getImg(i.img)" fit="cover" class="news-link_img"></el-image>
                                     <div class="text4">{{ i.name }}</div>
@@ -181,14 +330,18 @@
                                     <div class="text4">{{ i.name }}</div>
                                 </div>
                                 <div class="text2" v-if="actives === '专家'">{{ i.createdAt }}</div>
-                            </div>
+                            </div> -->
                         </div>
                         <div class="empty" v-else>
                             <i class="el-icon-takeaway-box" style="margin-left: 24px"></i>
                             <div style="font-size: 20px">暂无数据</div>
                         </div>
                     </div>
-                </div> -->
+                </div>
+            </div>
+        </div>
+        <!-- <div class="center-content">
+            <div class="center-content_con">
                 <div class="center-content_con_right">
                     <div class="center-content_con_right_top">
                         <div class="center-content_con_right_top_content" @click="show = true">
@@ -199,14 +352,6 @@
                             />
                             <div class="center-content_con_right_top_content_title">供给发布</div>
                         </div>
-                        <!-- <div class="center-content_con_right_top_content" @click="shows = true">
-                            <img
-                                src="../assets/home_icon_xuqiufabu@3x (2).png"
-                                alt=""
-                                class="center-content_con_right_top_content_img"
-                            />
-                            <div class="center-content_con_right_top_content_title">需求发布</div>
-                        </div> -->
                     </div>
                     <div class="center-content_con_right_list">
                         <div
@@ -215,10 +360,6 @@
                             :key="item.id"
                             @click="supplyPatents(item.id)"
                         >
-                            <!-- <div style="margin-right: 20px">{{ formatTime(item.createdAt, 'YYYY.MM.DD') }}</div> -->
-                            <!-- <div class="center-content_con_right_list_con_One">
-                                <div class="center-content_con_right_list_con_One_a">专利类型: {{ item.name }}</div>
-                            </div> -->
                             <div class="center-content_con_right_list_cons_one">专利名称: {{ item.name }}</div>
                             <div class="center-content_con_right_list_cons_two">
                                 申请人: {{ item.applicant.join(',') }}
@@ -228,14 +369,6 @@
                 </div>
                 <div class="center-content_con_right">
                     <div class="center-content_con_right_top">
-                        <!-- <div class="center-content_con_right_top_content" @click="show = true">
-                            <img
-                                src="../assets/home_icon_gongjifabu@3x (1).png"
-                                alt=""
-                                class="center-content_con_right_top_content_img"
-                            />
-                            <div class="center-content_con_right_top_content_title">供给发布</div>
-                        </div> -->
                         <div class="center-content_con_right_top_content" @click="shows = true">
                             <img
                                 src="../assets/home_icon_xuqiufabu@3x (2).png"
@@ -252,20 +385,14 @@
                             :key="item.id"
                             @click="demandPatents(item.id)"
                         >
-                            <!-- <div style="margin-right: 20px">{{ formatTime(item.createdAt, 'YYYY.MM.DD') }}</div> -->
-                            <!-- <div class="center-content_con_right_list_con_One">
-                                <div class="center-content_con_right_list_con_One_a">专利类型: {{ item.name }}</div>
-                                <div class="center-content_con_right_list_con_One_b">专利内容: {{ item.digest }}</div>
-                            </div>
-                            <div class="center-content_con_right_list_con_Two">成果所属人: {{ item.owner }}</div> -->
                             <div class="center-content_con_right_list_cons_one">专利名称: {{ item.name }}</div>
                             <div class="center-content_con_right_list_cons_two">需求描述: {{ item.description }}</div>
                         </div>
                     </div>
                 </div>
-            </div>
-            <!-- <div class="service"> -->
-            <!-- <div class="service-btn">
+            </div> -->
+        <!-- <div class="service"> -->
+        <!-- <div class="service-btn">
                     <div class="btn-item">
                         <el-button type="primary" @click="connectKefu">
                             <i class="iconfont iconfont-nav_icon_xiaoxi1"></i>
@@ -277,7 +404,7 @@
                     </div>
                 </div> -->
 
-            <!-- <div class="service-list">
+        <!-- <div class="service-list">
                     <service-box
                         v-for="(item, index) in services"
                         :key="index"
@@ -287,46 +414,55 @@
                 </div>
             </div> -->
 
-            <!-- <resources></resources> -->
-
-            <!-- <div class="link">
-                <div class="link-name">
-                    <div class="name" :class="{ active: partnerType === 'CLIENT' }" @mouseover="getPartner('CLIENT')">
-                        客户
-                    </div>
-                    <div class="name" :class="{ active: partnerType === 'LINK' }" @mouseover="getPartner('LINK')">
-                        链接
+        <!-- <resources></resources> -->
+        <!-- </div> -->
+        <div class="center-content_four">
+            <div class="center-content">
+                <divider-title>
+                    <template #prim>IP 全维服务</template>
+                    <template #sub>Full service</template>
+                </divider-title>
+                <div class="service">
+                    <div class="service-list">
+                        <service-box
+                            v-for="(item, index) in services"
+                            :key="index"
+                            :info="item"
+                            :index="index"
+                        ></service-box>
                     </div>
                 </div>
-                <div class="link-list">
-                    <swiper class="link-swiper" ref="swiper" :options="linkOptions">
-                        <swiper-slide v-for="item in partners" :key="item.id">
-                            <a
-                                class="link-img"
-                                :href="item.url || 'http://zhirongip.izouma.com/web'"
-                                target="_blank"
-                                rel="noopener noreferrer"
-                            >
-                                <img :src="item.img" alt=""
-                            /></a>
-                        </swiper-slide>
-                    </swiper>
-                </div>
-            </div> -->
+            </div>
         </div>
-        <div class="center-content">
-            <divider-title>
-                <template #prim>知产运营服务</template>
-                <template #sub>IP Serve</template>
-            </divider-title>
-            <div class="service">
-                <div class="service-list">
-                    <service-box
-                        v-for="(item, index) in services"
-                        :key="index"
-                        :info="item"
-                        :index="index"
-                    ></service-box>
+        <div class="center-content_five">
+            <div class="center-content">
+                <div class="link">
+                    <div class="link-name">
+                        <div
+                            class="name"
+                            :class="{ active: partnerType === 'CLIENT' }"
+                            @mouseover="getPartner('CLIENT')"
+                        >
+                            客户
+                        </div>
+                        <div class="name" :class="{ active: partnerType === 'LINK' }" @mouseover="getPartner('LINK')">
+                            链接
+                        </div>
+                    </div>
+                    <div class="link-list">
+                        <swiper class="link-swiper" ref="swiper" :options="linkOptions">
+                            <swiper-slide v-for="item in partners" :key="item.id">
+                                <a
+                                    class="link-img"
+                                    :href="item.url || 'http://zhirongip.izouma.com/web'"
+                                    target="_blank"
+                                    rel="noopener noreferrer"
+                                >
+                                    <img :src="item.img" alt="" class="link-img-content"
+                                /></a>
+                            </swiper-slide>
+                        </swiper>
+                    </div>
                 </div>
             </div>
         </div>
@@ -363,13 +499,14 @@
 
 <script>
 import Banner from '../components/Banner.vue';
+import BannerNav from '../components/BannerNav.vue';
 import DividerTitle from '../components/DividerTitle.vue';
 import Resources from '../components/home/Resources.vue';
 import ServiceBox from '../components/home/ServiceBox.vue';
 import comEvent from '../mixins/comEvent';
 import { Swiper, SwiperSlide } from 'vue-awesome-swiper';
 export default {
-    components: { DividerTitle, ServiceBox, Resources, Banner, Swiper, SwiperSlide },
+    components: { DividerTitle, ServiceBox, Banner, BannerNav },
     name: 'Home',
     mixins: [comEvent],
     data() {
@@ -387,43 +524,43 @@ export default {
             newsListIndex: [],
             newsLists: [],
             supplys: [],
-            active: '平台动态',
-            tabs: ['平台动态', '通知公告', '知产百科'],
-            actives: '知',
-            tabss: ['知', '技术', '产品', '企业', '专家'],
+            active: '通知公告',
+            tabs: ['通知公告', '新闻资讯', '政策法规'],
+            actives: '知产',
+            tabss: ['知产', '技术', '产品', '企业', '专家'],
             demands: [],
             formData: {},
             activeName: 'first',
             services: [
                 {
                     name: '信息服务',
-                    icon: 'png-xinxifuwu@3x',
+                    icon: 'png-01@3x',
                     content: '提供军民二元知识产权获权、管理、运用、保护等全生命周期的实务代理咨询服务',
                     path: '/agent?navigationId=95'
                 },
                 {
                     name: '咨询服务',
-                    icon: 'png-zixunfuwu@3x',
+                    icon: 'png-2@3x',
                     content: '提供面向知识产权、军民融合、科技创新、新兴产业类政策性项目的申报、实施等全流程辅导',
                     path: '/agent?navigationId=101'
                 },
                 {
                     name: '转化运用服务',
-                    icon: 'png-zhuanhuayunyongfuwu@3x',
+                    icon: 'png-03@3x',
                     content:
                         '为中小微企业、创新创业团队提供办公空间、资本对接、企业策划、财税法务等低成本、高效率的一站式服务',
                     path: '/agent?navigationId=1014'
                 },
                 {
                     name: '法律服务',
-                    icon: 'png-falvfuwu@3x (1)',
+                    icon: 'png-04@3x',
                     content:
                         '为地方政府、军事单位、产业部门、军民融合企业提供“知识产权+军民融合”规划编制、信息分析、资产运营、政策培训…',
                     path: '/agent?navigationId=111'
                 },
                 {
                     name: '培训服务',
-                    icon: 'png-peixunfuwu@3x (1)',
+                    icon: 'png-05@3x',
                     content: '为民参军企业提供军工资质、通用资质、军用市场准入等认证/认可的标准化建设辅导服务',
                     path: '/agent?navigationId=127'
                 }
@@ -435,7 +572,8 @@ export default {
             partnerType: 'CLIENT',
             partners: [],
             supplyPatent: [],
-            demandPatent: []
+            demandPatent: [],
+            num: 0
         };
     },
     computed: {
@@ -511,12 +649,31 @@ export default {
         });
     },
     methods: {
+        changeIndexNum(index) {
+            this.num = index;
+        },
+        supplySide() {
+            this.$store.commit('updateShowAdd', true);
+            this.$router.push('/patent?caseType=GENERAL');
+        },
+        demandSide() {
+            this.$store.commit('updateShowAdd', true);
+            this.$router.push('/patentDemand?caseType=GENERAL');
+        },
+        technology() {
+            this.$store.commit('updateShowAdd', true);
+            this.$router.push('/technicalManager');
+        },
+        transactionCase() {
+            this.$store.commit('updateShowAdd', true);
+            this.$router.push('/successCases?category=GENERAL');
+        },
         handleClick(item) {
             this.active = item;
             // let name = item == '平台动态' ? 324 : 325;
-            if (item === '平台动态') {
+            if (item === '通知公告') {
                 this.typeSettingId = 324;
-            } else if (item === '通知公告') {
+            } else if (item === '新闻资讯') {
                 this.typeSettingId = 325;
             } else {
                 this.typeSettingId = 3240;
@@ -533,8 +690,9 @@ export default {
         },
         handleClicks(item) {
             this.actives = item;
+            // this.num = 0;
             // const typeSettingId = name;
-            if (item === '知') {
+            if (item === '知产') {
                 this.$http
                     .post(
                         '/intellectualProperty/all',
@@ -593,7 +751,7 @@ export default {
             //     });
         },
         toDetails(id) {
-            if (this.actives === '知') {
+            if (this.actives === '知产') {
                 this.$router.push({ name: 'intellectualPropertyDetail', query: { id: id } });
             } else if (this.actives === '技术') {
                 this.$router.push({ name: 'digitalDetail', query: { id: id } });
@@ -602,7 +760,7 @@ export default {
             } else if (this.actives === '企业') {
                 this.$router.push({ name: 'digitalDetails', query: { id: id } });
             } else if (this.actives === '专家') {
-                this.$router.push({ name: 'expertDetail', query: { id: id } });
+                // this.$router.push({ name: 'expertDetail', query: { id: id } });
             }
         },
         Onsave() {
@@ -683,11 +841,11 @@ export default {
                 });
         },
         moreQualifications() {
-            if (this.active === '平台动态') {
+            if (this.active === '通知公告') {
                 this.$router.push('/newsList?flag=1');
-            } else if (this.active === '通知公告') {
+            } else if (this.active === '新闻资讯') {
                 this.$router.push('/newsList?flag=2');
-            } else if (this.active === '知产百科') {
+            } else if (this.active === '政策法规') {
                 this.$router.push('/newsList?flag=3');
             }
         },
@@ -695,8 +853,7 @@ export default {
             this.$router.push('/newsList?flag=1');
         },
         moreQualificationsTwo() {
-            console.log(this.actives);
-            if (this.actives === '知识产权') {
+            if (this.actives === '知产') {
                 this.$router.push('/intellectualProperty');
             } else if (this.actives === '技术') {
                 this.$router.push('/digital?type=TECHNOLOGY');
@@ -725,7 +882,7 @@ export default {
 <style lang="less" scoped>
 .home {
     background-color: #fff;
-    padding: 0 0 80px;
+    padding: 0;
 }
 .btns {
     padding: 50px 30px 0;
@@ -757,7 +914,7 @@ export default {
     }
 }
 .news {
-    margin-bottom: 100px;
+    // margin-bottom: 100px;
     .flex();
     justify-content: space-between;
     .carousel {
@@ -789,7 +946,7 @@ export default {
             cursor: pointer;
 
             &.active {
-                background-color: #009e40;
+                background-color: #405cff;
             }
         }
     }
@@ -801,7 +958,8 @@ export default {
 }
 .center-content_con_left {
     .news-item {
-        width: 793px;
+        width: 100%;
+        margin-top: 60px;
     }
 }
 .center-content_con_right {
@@ -839,7 +997,7 @@ export default {
                 font-size: 14px;
                 font-family: PingFangSC-Medium, PingFang SC;
                 font-weight: bold;
-                color: #01a041;
+                color: #405cff;
             }
         }
     }
@@ -930,8 +1088,8 @@ export default {
             cursor: pointer;
             line-height: 22px;
             &.active {
-                color: #009f40;
-                border-bottom: 1px solid #009e40;
+                color: #405cff;
+                border-bottom: 1px solid #405cff;
             }
         }
         border-bottom: 1px solid #f2f3f5;
@@ -987,7 +1145,7 @@ export default {
 .news-list {
     flex-grow: 1;
     overflow: auto;
-    padding: 25px 5px 15px;
+    padding: 15px 5px 15px;
     .news-link {
         cursor: pointer;
         .news-link_con {
@@ -1022,20 +1180,121 @@ export default {
 
         &:hover {
             .text1 {
-                color: #01a041;
+                color: #405cff;
             }
 
             .text2 {
-                color: #01a041;
+                color: #405cff;
             }
             .text4 {
-                color: #01a041;
+                color: #405cff;
             }
         }
     }
     .news-link + .news-link {
         margin-top: 25px;
     }
+    .intellectual_property_one {
+        display: flex;
+        align-items: center;
+        justify-content: space-between;
+        background: #f5f8ff;
+        border-radius: 4px;
+        padding: 10px;
+        box-sizing: border-box;
+        margin-bottom: 12px;
+        cursor: pointer;
+        .intellectual_property_one_left {
+            display: flex;
+            .intellectual_property_one_left_img {
+                width: 94px;
+                height: 94px;
+                margin-right: 10px;
+            }
+            .intellectual_property_one_left_name {
+                width: 770px;
+                overflow: hidden;
+                white-space: nowrap;
+                text-overflow: ellipsis;
+                font-size: 14px;
+                color: #000000;
+                line-height: 24px;
+                margin-bottom: 10px;
+            }
+            .intellectual_property_one_left_content {
+                display: flex;
+                font-size: 13px;
+                color: #939599;
+                line-height: 22px;
+                margin-bottom: 4px;
+                .intellectual_property_one_left_content_con {
+                    margin-right: 60px;
+                }
+                .intellectual_property_one_left_content_con:last-child {
+                    margin-right: 0px;
+                }
+                .intellectual_property_one_left_content_con:nth-of-type(2) {
+                    width: 130px;
+                    overflow: hidden;
+                    white-space: nowrap;
+                    text-overflow: ellipsis;
+                }
+                .intellectual_property_one_left_content_con:nth-of-type(4) {
+                    width: 160px;
+                    overflow: hidden;
+                    white-space: nowrap;
+                    text-overflow: ellipsis;
+                }
+            }
+            .intellectual_property_one_left_own {
+                font-size: 13px;
+                color: #939599;
+                line-height: 22px;
+            }
+        }
+        .intellectual_property_one_right {
+            width: 130px;
+            height: 36px;
+            background: #ffffff;
+            border-radius: 2px;
+            text-align: center;
+            font-size: 14px;
+            color: #405cff;
+            line-height: 36px;
+            font-weight: bold;
+        }
+    }
+    .intellectual_property_two {
+        display: flex;
+        align-items: center;
+        justify-content: space-between;
+        margin-bottom: 12px;
+        padding: 0px 10px;
+        box-sizing: border-box;
+        cursor: pointer;
+        .intellectual_property_two_left {
+            display: flex;
+            align-items: center;
+            .intellectual_property_two_left_img {
+                width: 36px;
+                height: 36px;
+                margin-right: 10px;
+            }
+            .intellectual_property_two_left_name {
+                width: 770px;
+                overflow: hidden;
+                white-space: nowrap;
+                text-overflow: ellipsis;
+                font-size: 14px;
+                color: #000000;
+                line-height: 24px;
+            }
+        }
+        .intellectual_property_two_right {
+            width: 34px;
+            height: 16px;
+        }
+    }
 }
 .hot {
     padding: 0 0 50px;
@@ -1091,12 +1350,9 @@ export default {
 }
 
 .service-list {
-    padding: 0px 0 115px;
+    padding: 70px 0 90px;
     .flex();
     justify-content: space-between;
-    .service-box {
-        width: 17%;
-    }
 }
 
 .link {
@@ -1104,16 +1360,34 @@ export default {
         .flex();
     }
     .name {
+        width: 52px;
+        height: 28px;
         font-size: 16px;
         font-weight: bold;
-        color: #000000;
-        line-height: 22px;
-        padding: 15px 30px 15px 0;
+        color: #818999;
+        line-height: 28px;
+        text-align: center;
+        margin-right: 20px;
         &.active {
-            color: @prim;
+            width: 52px;
+            height: 28px;
+            color: #405cff;
+            background: rgba(64, 92, 255, 0.08);
+            border-radius: 2px;
+            text-align: center;
+            line-height: 28px;
         }
         cursor: pointer;
     }
+    .link-list {
+        margin-top: 27px;
+    }
+    .link-swiper {
+        display: flex;
+        .link-img-content {
+            margin-right: 20px;
+        }
+    }
 }
 
 .symbol {
@@ -1229,4 +1503,145 @@ export default {
         width: auto;
     }
 }
+.center-content_one {
+    width: 100%;
+    background: #ffffff;
+    padding-bottom: 83px;
+}
+.center-content_two {
+    width: 100%;
+    background: linear-gradient(180deg, rgba(244, 247, 255, 0) 0%, #f4f7ff 100%);
+    padding-bottom: 90px;
+    .banner_con_titleOne {
+        width: 1200px;
+        display: flex;
+        justify-content: space-between;
+        margin-bottom: 20px;
+        .banner_con_titleOne_img {
+            width: 590px;
+            height: 240px;
+            // background: #3452fe;
+        }
+        .banner_con_titleOne_con {
+            width: 590px;
+            position: relative;
+            cursor: pointer;
+            .supply_side {
+                position: absolute;
+                top: 82px;
+                left: 38px;
+                .supply_side_one {
+                    font-size: 22px;
+                    font-weight: bold;
+                    line-height: 22px;
+                    margin-bottom: 12px;
+                }
+                .supply_side_two {
+                    font-size: 14px;
+                    line-height: 24px;
+                    margin-bottom: 26px;
+                }
+                .supply_side_supply_one {
+                    color: #ffffff;
+                }
+                .supply_side_supply_two {
+                    color: #ffffff;
+                }
+                .supply_side_supply_three {
+                    width: 100px;
+                    height: 40px;
+                    background: #ffe54f;
+                    border-radius: 4px;
+                    padding-left: 14px;
+                    box-sizing: border-box;
+                    display: flex;
+                    align-items: center;
+                    font-size: 16px;
+                    font-weight: bold;
+                    color: #000000;
+                    line-height: 24px;
+                    .supply_side_supply_three_img {
+                        width: 22px;
+                        height: 22px;
+                        margin-left: 3px;
+                    }
+                }
+                .supply_side_demand_one {
+                    color: #000000;
+                }
+                .supply_side_demand_two {
+                    color: rgba(0, 0, 0, 0.6);
+                }
+                .supply_side_demand_three {
+                    width: 100px;
+                    height: 40px;
+                    background: #2b496e;
+                    border-radius: 4px;
+                    padding-left: 14px;
+                    box-sizing: border-box;
+                    display: flex;
+                    align-items: center;
+                    font-size: 16px;
+                    font-weight: bold;
+                    color: #ffffff;
+                    line-height: 24px;
+                    .supply_side_demand_three_img {
+                        width: 22px;
+                        height: 22px;
+                        margin-left: 3px;
+                    }
+                }
+            }
+        }
+    }
+    .banner_con_titleTwo {
+        width: 1200px;
+        display: flex;
+        justify-content: space-between;
+        .banner_con_titleTwo_con {
+            width: 387px;
+            height: 160px;
+            position: relative;
+            cursor: pointer;
+            .supply_sides {
+                position: absolute;
+                top: 51px;
+                left: 30px;
+                .supply_sides_one {
+                    font-size: 20px;
+                    font-weight: bold;
+                    color: #000000;
+                    line-height: 30px;
+                    margin-bottom: 15px;
+                }
+                .supply_sides_two {
+                    font-size: 14px;
+                    color: rgba(0, 0, 0, 0.6);
+                    line-height: 24px;
+                }
+            }
+        }
+        .banner_con_titleTwo_img {
+            width: 387px;
+            height: 161px;
+            // background: #7d84ff;
+        }
+    }
+}
+.center-content_three {
+    width: 100%;
+    background: #ffffff;
+    padding-top: 70px;
+    padding-bottom: 90px;
+}
+.center-content_four {
+    width: 100%;
+    background: #f2f3f7;
+    padding-top: 70px;
+}
+.center-content_five {
+    width: 100%;
+    background: #ffffff;
+    padding: 50px 0 50px;
+}
 </style>

+ 26 - 32
src/main/yzzscq-web/src/views/Index.vue

@@ -8,32 +8,27 @@
                         <router-view class="appContainer" />
                     </keep-alive>
                 </el-main>
-                <el-footer height="257px">
+                <el-footer height="260px">
                     <div class="footer-content">
                         <div class="footer-content_con">
                             <div class="center-item center-item_one">
                                 <div class="link">友情链接</div>
                                 <a href="http://jsip.jiangsu.gov.cn/" class="link_con" target="_blank"
-                                    >江苏省知识产权局</a
+                                    >工业和信息化部</a
                                 >
                                 <a href="https://www.jstec.com.cn/" class="link_con" target="_blank"
-                                    >江苏省技术产权交易市场</a
-                                >
-                                <a href="https://ip.jsipp.cn/" class="link_con" target="_blank"
-                                    >江苏省知识产权公共服务平台</a
-                                >
-                                <a href="https://www.jspc.org.cn/" class="link_con" target="_blank"
-                                    >江苏省生产力促进中心</a
+                                    >省工业和信息化主管部门</a
                                 >
+                                <a href="https://ip.jsipp.cn/" class="link_con" target="_blank">中小企业公共服务平台</a>
                             </div>
                             <div class="center-item center-item_two">
                                 <div class="link"></div>
                                 <a href="http://amr.nanjing.gov.cn/" class="link_con" target="_blank"
-                                    >南京市市场监督管理局南京市知识产权局</a
+                                    >全军武器装备采购信息网</a
                                 >
-                                <a href="http://www.njdbc.cn/" class="link_con" target="_blank">南京专利代办处</a>
-                                <a href="https://www.bxgxq.com/" class="link_con" target="_blank">白下高新智慧园区</a>
-                                <a class="link_con" target="_blank">智戎知识产权公共服务平台</a>
+                                <a href="http://www.njdbc.cn/" class="link_con" target="_blank">中小企业公共服务平台</a>
+                                <a href="https://www.bxgxq.com/" class="link_con" target="_blank">融资需求</a>
+                                <!-- <a class="link_con" target="_blank">智戎知识产权公共服务平台</a> -->
                                 <!-- <a href="http://gxt.jiangsu.gov.cn/" class="link_con">江苏省工业和信息化厅</a>
                             <a href="http://kxjst.jiangsu.gov.cn/" class="link_con">江苏省科学技术厅</a> -->
                             </div>
@@ -52,22 +47,22 @@
                             <a href="http://jxw.nanjing.gov.cn/" class="link_con">南京市工业和信息化局</a>
                             <a href="http://www.njsmzx.gov.cn/" class="link_con">南京市中小企业公共服务平台</a>
                         </div> -->
-                            <!-- <div class="center-item center-item_three">
-                            <div class="link">核心服务</div>
-                            <router-link to="" class="link_con">专利运营</router-link>
-                            <router-link to="" class="link_con">培训服务</router-link>
-                            <router-link to="" class="link_con">综合服务</router-link>
-                        </div> -->
+                            <div class="center-item center-item_three">
+                                <div class="link">核心服务</div>
+                                <router-link to="" class="link_con">IP融合运营</router-link>
+                                <router-link to="" class="link_con">IP融合服务</router-link>
+                                <router-link to="" class="link_con">IP融合资源</router-link>
+                            </div>
                             <div class="center-item center-item_four">
                                 <div class="link">联系我们</div>
                                 <router-link to="/about#connect" class="link_con">电话:{{ phone }}</router-link>
                                 <router-link to="/about#connect" class="link_con">邮箱:{{ email }}</router-link>
                                 <router-link to="/about#connect" class="link_con">地址:{{ address }}</router-link>
                             </div>
-                            <!-- <div>
-                            <img src="../assets/erweima-jpg-01.png" alt="" class="footer-content_con_img" />
-                            <div class="link_con">官方微信公众号</div>
-                        </div> -->
+                            <div>
+                                <img src="../assets/jpg-erweima-02@3x.png" alt="" class="footer-content_con_img" />
+                                <div class="link_con">官方微信公众号</div>
+                            </div>
                         </div>
                         <!-- <div class="left"></div>
                     <div style="padding-right: 80px">
@@ -134,7 +129,7 @@ import PopComponents from './PopComponents.vue';
 import BreadPage from '../components/page/BreadPage.vue';
 // import Login from './Login.vue';
 export default {
-    components: { PageHeader, NavMenu, PopComponents, BreadPage },
+    components: { PageHeader, PopComponents },
     name: 'Index',
     metaInfo() {
         return {
@@ -144,7 +139,7 @@ export default {
     computed: {
         ...mapState(['keeps']),
         pageTitle() {
-            return this.$route.meta.title || '白下知识产权';
+            return this.$route.meta.title || '扬州市知识产权综合服务平合';
         }
     },
     data() {
@@ -200,10 +195,9 @@ export default {
 .appContainer {
     padding: 0 0 60px;
     flex-grow: 1;
-    background: linear-gradient(180deg, #01a041 1%, rgba(1, 160, 65, 0) 100%);
     background-size: 100% 300px;
     background-repeat: no-repeat;
-    background-color: @bg;
+    background: #FFFFFF;
 }
 .main {
     padding: 0;
@@ -216,8 +210,8 @@ export default {
 .footer-content {
     width: 100%;
     height: 210px;
-    background: #373737;
-    padding-top: 20px;
+    background: #1a2033;
+    padding-top: 50px;
     box-sizing: border-box;
     .footer-content_con {
         width: 1000px;
@@ -263,14 +257,14 @@ export default {
 }
 .footer-content_pIc {
     width: 100%;
-    height: 47px;
-    background: #282727;
+    height: 50px;
+    background: #141b30;
     font-size: 12px;
     font-family: PingFangSC-Regular, PingFang SC;
     font-weight: 400;
     color: rgba(255, 255, 255, 0.4);
     text-align: center;
-    line-height: 47px;
+    line-height: 50px;
 }
 .el-footer {
     padding: 0px;

+ 3 - 3
src/main/yzzscq-web/src/views/Login.vue

@@ -382,7 +382,7 @@ export default {
 .forgot_password {
     font-size: 12px;
     font-weight: 400;
-    color: #01a041;
+    color: #405CFF;
     line-height: 17px;
     margin-left: 330px;
     margin-top: 10px;
@@ -395,7 +395,7 @@ export default {
     .btn_one {
         width: 330px;
         height: 40px;
-        background: #01a041;
+        background: #405CFF;
         border-radius: 4px;
         font-size: 12px;
         font-weight: bold;
@@ -438,7 +438,7 @@ export default {
 .code2 {
     width: 100px;
     height: 34px;
-    background: #01a041;
+    background: #405CFF;
     border-radius: 4px;
     font-size: 13px;
     font-weight: 400;

+ 3 - 4
src/main/yzzscq-web/src/views/Register.vue

@@ -258,7 +258,6 @@ export default {
         }
     },
     components: {
-        Agreement
     }
 };
 </script>
@@ -387,7 +386,7 @@ export default {
 .code2 {
     width: 100px;
     height: 34px;
-    background: #01A041;
+    background: #405CFF;
     border-radius: 4px;
     font-size: 13px;
     font-weight: 400;
@@ -410,7 +409,7 @@ export default {
     margin-bottom: 39px;
 }
 /deep/ .el-link.el-link--default{
-    color: #01a041;
+    color: #405CFF;
 }
 .sub-btn {
     margin-left: 60px;
@@ -419,7 +418,7 @@ export default {
     .btn-block {
         width: 330px;
         height: 40px;
-        background: #01a041;
+        background: #405CFF;
         border-radius: 4px;
         font-size: 12px;
         color: #ffffff;

+ 60 - 41
src/main/yzzscq-web/src/views/agent/Index.vue

@@ -1,42 +1,51 @@
 <template>
     <!-- <div class="container"> -->
-    <!-- <banner></banner> -->
-    <!-- <div class="center-content" style="padding-top: 60px"> -->
-    <bread-page>
-        <menu-page>
-            <div class="menu-content" slot="menuList">
-                <div class="menu-left-con">
-                    <img src="../../assets/gongxu_icon_xuqiuxinxi@3x.png" alt="" />
-                    <div class="menu-left-con_title">知产运营服务</div>
+    <div class="container">
+        <banner></banner>
+        <BannerNav></BannerNav>
+        <div class="center-content">
+            <menu-page>
+                <div class="menu-content" slot="menuList">
+                    <div class="menu-left-con">
+                        <img src="../../assets/gongxu_icon_xuqiuxinxi@3x.png" alt="" />
+                        <div class="menu-left-con_title">IP全维服务</div>
+                    </div>
+                    <el-menu :default-active="active" @select="selectEvent" class="menu-content" unique-opened>
+                        <sys-menu v-for="item in menus" :menu="item" :key="item.id"></sys-menu>
+                    </el-menu>
                 </div>
-                <el-menu :default-active="active" @select="selectEvent" class="menu-content" unique-opened>
-                    <sys-menu v-for="item in menus" :menu="item" :key="item.id"></sys-menu>
-                </el-menu>
-            </div>
 
-            <div class="main">
-                <div class="list">
-                    <service-detail-grid v-for="(item, index) in list" :info="item" :key="index"></service-detail-grid>
-                </div>
+                <div class="main">
+                    <div class="list">
+                        <service-detail-grid
+                            v-for="(item, index) in list"
+                            :info="item"
+                            :key="index"
+                            :num="index + 1"
+                        ></service-detail-grid>
+                    </div>
 
-                <div class="btn">
-                    <el-button type="primary" class="icon-button" @click.prevent="connectKefu" size="small">
-                        <i class="iconfont iconfont-nav_icon_xiaoxi1"></i>
-                        咨询
-                    </el-button>
-                    <el-button type="primary" @click.prevent="postMessage" class="icon-button" size="small">
-                        <i class="iconfont iconfont-nav_icon_xiaoxi"></i>留言
-                    </el-button>
+                    <div class="btn">
+                        <el-button type="primary" class="icon-button" @click.prevent="connectKefu" size="small">
+                            <i class="iconfont iconfont-nav_icon_xiaoxi1"></i>
+                            咨询
+                        </el-button>
+                        <el-button type="primary" @click.prevent="postMessage" class="icon-button" size="small">
+                            <i class="iconfont iconfont-nav_icon_xiaoxi"></i>留言
+                        </el-button>
+                    </div>
                 </div>
-            </div>
-        </menu-page>
-    </bread-page>
+            </menu-page>
+        </div>
+    </div>
+    <!-- <div class="center-content" style="padding-top: 60px"> -->
     <!-- </div>
     </div> -->
 </template>
 
 <script>
 import Banner from '../../components/Banner.vue';
+import BannerNav from '../../components/BannerNav.vue';
 import MenuPage from '../../components/page/MenuPage.vue';
 import SysMenu from '../../components/SysMenu.vue';
 import { Swiper, SwiperSlide } from 'vue-awesome-swiper';
@@ -44,7 +53,7 @@ import ServiceDetailGrid from '../../components/list/ServiceDetailGrid.vue';
 import comEvent from '../../mixins/comEvent';
 import BreadPage from '../../components/page/BreadPage.vue';
 export default {
-    components: { MenuPage, Banner, SysMenu, Swiper, SwiperSlide, ServiceDetailGrid, BreadPage },
+    components: { MenuPage, SysMenu, ServiceDetailGrid, Banner, BannerNav },
     data() {
         return {
             active: '',
@@ -64,6 +73,7 @@ export default {
                 this.active = this.$route.query.navigationId;
                 this.getContent();
             }
+            this.scrollTo();
         }
     },
     mounted() {
@@ -72,6 +82,7 @@ export default {
                 type: 'AGENT'
             })
             .then(res => {
+                this.scrollTo(true);
                 let defaultList = [1014, 127];
                 this.menus = res.map(item => {
                     return {
@@ -84,7 +95,6 @@ export default {
                         })
                     };
                 });
-                // this.scrollTo(true);
                 if (this.$route.query.navigationId) {
                     this.active = this.$route.query.navigationId;
                     this.getContent();
@@ -147,11 +157,19 @@ export default {
 
 <style lang="less" scoped>
 .container {
-    background-color: @bg;
+    background: #ffffff;
+}
+.center-content {
+    width: 100%;
+    box-sizing: border-box;
+    padding: 0 50px;
+    max-width: 1300px;
+    margin: 0 auto;
+    margin-top: 60px;
 }
 .menu-left-con {
     height: 60px;
-    background: #01a041;
+    background: #405cff;
     display: flex;
     padding-left: 34px;
     align-items: center;
@@ -159,7 +177,7 @@ export default {
     font-family: PingFangSC-Medium, PingFang SC;
     font-weight: bold;
     color: #ffffff;
-    .menu-left-con_title{
+    .menu-left-con_title {
         font-size: 16px;
     }
     img {
@@ -169,14 +187,15 @@ export default {
     }
 }
 .main {
-    // min-height: 1080px;
+    min-height: 980px;
     flex-grow: 1;
     .flex-col();
 }
 
 .menu-content {
-    min-height: 800px;
+    min-height: 420px;
     background-color: #fff;
+    box-shadow: 0px 0px 6px 0px #d2dbf0;
 }
 .detail {
     padding: 20px;
@@ -213,11 +232,11 @@ export default {
     .icon-button {
         width: 134px;
         height: 36px;
-        color: #01a041;
+        color: #405cff;
         justify-content: center;
         border-radius: 2px;
-        border: 1px solid #01a041;
-        background: #FFFFFF;
+        border: 1px solid #405cff;
+        background: #ffffff;
     }
     .btn {
         padding: 60px 0 60px;
@@ -228,7 +247,7 @@ export default {
 
 .list {
     background: #fff;
-    padding: 10px;
+    padding: 20px;
     .flex();
     flex-wrap: wrap;
     .service {
@@ -257,8 +276,8 @@ export default {
 }
 /deep/ .el-menu > .el-menu-item {
     &.is-active {
-        background: linear-gradient(90deg, rgba(1, 160, 65, 0.1) 0%, rgba(255, 255, 255 , 0.1) 100%);
-        color: #01a041;
+        background: linear-gradient(90deg, rgba(64, 92, 255, 0.1) 0%, rgba(255, 255, 255, 0.1) 100%);
+        color: #405cff;
     }
 }
 &.is-active::after {
@@ -268,6 +287,6 @@ export default {
     left: 0;
     height: 60px;
     width: 1px;
-    background-color: #01a041;
+    background-color: #405cff;
 }
 </style>

+ 70 - 65
src/main/yzzscq-web/src/views/detail/Copyright.vue

@@ -1,45 +1,47 @@
 <template>
-    <bread-pages>
-        <div class="main" v-loading="loading">
-            <div class="title">{{ info.name }}</div>
-            <div class="title_tip">专利公开详情</div>
-            <div class="content">
-                <div class="sub-title">著录项</div>
-                <div class="info">
-                    <div class="info-item">
-                        <span class="text1">登记号:</span>
-                        <span class="text2">{{ info.code }}</span>
-                    </div>
-                    <div class="info-item">
-                        <span class="text1">登记日期:</span>
-                        <span class="text2">{{ info.registrationTime || '暂无' }}</span>
-                    </div>
-                    <div class="info-item">
-                        <span class="text1">{{ `${info.type == 'COPY' ? '作品类型' : '软著类型'}` }}:</span>
-                        <span class="text2">{{ info.workName }}</span>
-                    </div>
-                    <div class="info-item" v-if="info.type == 'COPY'">
-                        <span class="text1">作者:</span>
-                        <span class="text2">{{ info.author }}</span>
-                    </div>
-                    <div class="info-item">
-                        <span class="text1">著作权人:</span>
-                        <span class="text2">{{ info.owner }}</span>
-                    </div>
-                    <!-- <div class="info-item" v-else>
+    <div>
+        <Banner></Banner>
+        <bread-pages>
+            <div class="main" v-loading="loading">
+                <div class="title">{{ info.name }}</div>
+                <div class="title_tip">专利公开详情</div>
+                <div class="content">
+                    <div class="sub-title">著录项</div>
+                    <div class="info">
+                        <div class="info-item">
+                            <span class="text1">登记号:</span>
+                            <span class="text2">{{ info.code }}</span>
+                        </div>
+                        <div class="info-item">
+                            <span class="text1">登记日期:</span>
+                            <span class="text2">{{ info.registrationTime || '暂无' }}</span>
+                        </div>
+                        <div class="info-item">
+                            <span class="text1">{{ `${info.type == 'COPY' ? '作品类型' : '软著类型'}` }}:</span>
+                            <span class="text2">{{ info.workName }}</span>
+                        </div>
+                        <div class="info-item" v-if="info.type == 'COPY'">
+                            <span class="text1">作者:</span>
+                            <span class="text2">{{ info.author }}</span>
+                        </div>
+                        <div class="info-item">
+                            <span class="text1">著作权人:</span>
+                            <span class="text2">{{ info.owner }}</span>
+                        </div>
+                        <!-- <div class="info-item" v-else>
                         <span class="text1">著作权人:</span>
                         <span class="text2">{{ info.owner }}</span>
                     </div> -->
-                    <div class="info-item">
-                        <span class="text1">交易方式:</span>
-                        <span class="text2">{{ getLabelName(info.tradingMethod, tradingMethodOption) }}</span>
-                    </div>
-                    <div class="info-item">
-                        <span class="text1">价格:</span>
-                        <span class="text2" v-if="info.negotiateDirectly">面议 </span>
-                        <span class="text2" v-else>{{ info.expectedPrice }}万元 </span>
-                    </div>
-                    <!-- <div class="info-item">
+                        <div class="info-item">
+                            <span class="text1">交易方式:</span>
+                            <span class="text2">{{ getLabelName(info.tradingMethod, tradingMethodOption) }}</span>
+                        </div>
+                        <div class="info-item">
+                            <span class="text1">价格:</span>
+                            <span class="text2" v-if="info.negotiateDirectly">面议 </span>
+                            <span class="text2" v-else>{{ info.expectedPrice }}万元 </span>
+                        </div>
+                        <!-- <div class="info-item">
                         <span class="text1">底价:</span>
                         <span class="text2">{{ info.basePrice }}万元</span>
                     </div>
@@ -51,11 +53,11 @@
                         <span class="text1">佣金:</span>
                         <span class="text2">{{ info.commission }}万元</span>
                     </div> -->
-                    <!-- <div class="info-item">
+                        <!-- <div class="info-item">
                         <span class="text1">联系人:</span>
                         <span class="text2">{{ info.contact }}</span>
                     </div> -->
-                    <!-- <div class="info-item">
+                        <!-- <div class="info-item">
                         <span class="text1">电话:</span>
                         <span class="text2">{{ info.phone }}</span>
                     </div>
@@ -63,38 +65,40 @@
                         <span class="text1">邮箱:</span>
                         <span class="text2">{{ info.email }}</span>
                     </div> -->
-                    <!-- <div class="info-item">
+                        <!-- <div class="info-item">
                         <span class="text1">所在地区:</span>
                         <span class="text2">{{ info.address }}</span>
                     </div> -->
-                </div>
-                <div class="sub-title">{{ `${info.type == 'COPY' ? '作品图样' : '软著图样'}` }}</div>
-                <div class="ImgBox">
-                    <el-carousel>
-                        <el-carousel-item v-for="(item, index) in info.img" :key="index">
-                            <el-image :src="getImg(item)" fit="fill"></el-image>
-                        </el-carousel-item>
-                    </el-carousel>
-                </div>
-                <!-- <div class="text">
+                    </div>
+                    <div class="sub-title">{{ `${info.type == 'COPY' ? '作品图样' : '软著图样'}` }}</div>
+                    <div class="ImgBox">
+                        <el-carousel>
+                            <el-carousel-item v-for="(item, index) in info.img" :key="index">
+                                <el-image :src="getImg(item)" fit="fill"></el-image>
+                            </el-carousel-item>
+                        </el-carousel>
+                    </div>
+                    <!-- <div class="text">
                     <el-image v-for="(item, index) in info.img" :key="index" :src="item" fit="fill"></el-image>
                 </div> -->
+                </div>
+                <div class="btn">
+                    <el-button type="primary" class="icon-button" @click.prevent="connectKefu" size="small">
+                        <i class="iconfont iconfont-nav_icon_xiaoxi1"></i>
+                        咨询
+                    </el-button>
+                    <el-button @click.prevent="postMessage" type="primary" class="icon-button" size="small">
+                        <i class="iconfont iconfont-nav_icon_xiaoxi"></i>留言
+                    </el-button>
+                </div>
             </div>
-            <div class="btn">
-                <el-button type="primary" class="icon-button" @click.prevent="connectKefu" size="small">
-                    <i class="iconfont iconfont-nav_icon_xiaoxi1"></i>
-                    咨询
-                </el-button>
-                <el-button @click.prevent="postMessage" type="primary" class="icon-button" size="small">
-                    <i class="iconfont iconfont-nav_icon_xiaoxi"></i>留言
-                </el-button>
-            </div>
-        </div>
-    </bread-pages>
+        </bread-pages>
+    </div>
 </template>
 
 <script>
 import BreadPages from '../../components/page/BreadPages.vue';
+import Banner from '../../components/Banner.vue';
 import comEvent from '../../mixins/comEvent';
 import {
     patentTypeOptions,
@@ -117,7 +121,8 @@ export default {
         };
     },
     components: {
-        BreadPages
+        BreadPages,
+        Banner
     },
     mixins: [comEvent],
     mounted() {
@@ -216,10 +221,10 @@ export default {
         width: 134px;
         height: 36px;
         border-radius: 2px;
-        border: 1px solid #01a041;
+        border: 1px solid #405cff;
         line-height: 36px;
         background: #ffffff;
-        color: #01a041;
+        color: #405cff;
         justify-content: center;
     }
 }

+ 46 - 41
src/main/yzzscq-web/src/views/detail/CopyrightDemand.vue

@@ -1,29 +1,31 @@
 <template>
-    <bread-pages>
-        <div class="main" v-loading="loading">
-            <div class="title">{{ info.name }}</div>
-            <div class="content">
-                <div class="sub-title">需求项</div>
-                <div class="info">
-                    <div class="info-item">
-                        <span class="text1">{{ `${info.type == 'COPY' ? '作品类型' : '软著类型'}` }}:</span>
-                        <span class="text2">{{ info.workName }}</span>
-                    </div>
+    <div>
+        <Banner></Banner>
+        <bread-pages>
+            <div class="main" v-loading="loading">
+                <div class="title">{{ info.name }}</div>
+                <div class="content">
+                    <div class="sub-title">需求项</div>
+                    <div class="info">
+                        <div class="info-item">
+                            <span class="text1">{{ `${info.type == 'COPY' ? '作品类型' : '软著类型'}` }}:</span>
+                            <span class="text2">{{ info.workName }}</span>
+                        </div>
 
-                    <div class="info-item">
-                        <span class="text1">交易方式:</span>
-                        <span class="text2">{{ getLabelName(info.mode, tradingMethodOption) }}</span>
-                    </div>
-                    <div class="info-item">
-                        <span class="text1">预算:</span>
-                        <span class="text2" v-if="info.negotiateDirectly">面议 </span>
-                        <span class="text2" v-else>{{ info.expectedPrice }}万元 </span>
-                    </div>
-                    <div class="info-item">
-                        <span class="text1">发布时间:</span>
-                        <span class="text2">{{ formatTime(info.createdAt, 'YYYY-MM-DD') }}</span>
-                    </div>
-                    <!-- <div class="info-item">
+                        <div class="info-item">
+                            <span class="text1">交易方式:</span>
+                            <span class="text2">{{ getLabelName(info.mode, tradingMethodOption) }}</span>
+                        </div>
+                        <div class="info-item">
+                            <span class="text1">预算:</span>
+                            <span class="text2" v-if="info.negotiateDirectly">面议 </span>
+                            <span class="text2" v-else>{{ info.expectedPrice }}万元 </span>
+                        </div>
+                        <div class="info-item">
+                            <span class="text1">发布时间:</span>
+                            <span class="text2">{{ formatTime(info.createdAt, 'YYYY-MM-DD') }}</span>
+                        </div>
+                        <!-- <div class="info-item">
                         <span class="text1">联系人:</span>
                         <span class="text2">{{ info.contact }}</span>
                     </div>
@@ -31,27 +33,29 @@
                         <span class="text1">所在地区:</span>
                         <span class="text2">{{ info.address }}</span>
                     </div> -->
-                </div>
+                    </div>
 
-                <div class="sub-title">需求描述</div>
-                <div class="text">{{ info.description }}</div>
-                <div class="btn">
-                    <el-button type="primary" class="icon-button" @click.prevent="connectKefu" size="small">
-                        <i class="iconfont iconfont-nav_icon_xiaoxi1"></i>
-                        咨询
-                    </el-button>
-                    <el-button @click.prevent="postMessage" type="primary" class="icon-button" size="small">
-                        <i class="iconfont iconfont-nav_icon_xiaoxi"></i>留言
-                    </el-button>
+                    <div class="sub-title">需求描述</div>
+                    <div class="text">{{ info.description }}</div>
+                    <div class="btn">
+                        <el-button type="primary" class="icon-button" @click.prevent="connectKefu" size="small">
+                            <i class="iconfont iconfont-nav_icon_xiaoxi1"></i>
+                            咨询
+                        </el-button>
+                        <el-button @click.prevent="postMessage" type="primary" class="icon-button" size="small">
+                            <i class="iconfont iconfont-nav_icon_xiaoxi"></i>留言
+                        </el-button>
+                    </div>
                 </div>
             </div>
-        </div>
-    </bread-pages>
+        </bread-pages>
+    </div>
 </template>
 
 <script>
 import BreadPage from '../../components/page/BreadPage.vue';
 import BreadPages from '../../components/page/BreadPages.vue';
+import Banner from '../../components/Banner.vue';
 import comEvent from '../../mixins/comEvent';
 import {
     patentTypeOptions,
@@ -74,7 +78,8 @@ export default {
         };
     },
     components: {
-        BreadPages
+        BreadPages,
+        Banner
     },
     mixins: [comEvent],
     mounted() {
@@ -192,9 +197,9 @@ export default {
         width: 134px;
         line-height: 36px;
         border-radius: 2px;
-        border: 1px solid #01a041;
-        background: #FFFFFF;
-        color: #01A041;
+        border: 1px solid #405cff;
+        background: #ffffff;
+        color: #405cff;
         justify-content: center;
     }
 }

+ 15 - 11
src/main/yzzscq-web/src/views/detail/Digital.vue

@@ -1,24 +1,28 @@
 <template>
-    <bread-pages>
-        <div class="main" v-loading="loading">
-            <div class="title">{{ info.name }}</div>
-            <div class="sub-title">
-                <span>{{ typeName }}{{ info.settingName }}</span>
+    <div>
+        <Banner></Banner>
+        <bread-pages>
+            <div class="main" v-loading="loading">
+                <div class="title">{{ info.name }}</div>
+                <div class="sub-title">
+                    <span>{{ typeName }}{{ info.settingName }}</span>
 
-                <span>行业领域:{{ info.fieldName }}</span>
-                <span>{{ ownerName }}{{ info.owner }}</span>
+                    <span>行业领域:{{ info.fieldName }}</span>
+                    <span>{{ ownerName }}{{ info.owner }}</span>
+                </div>
+                <div class="content" v-html="info.manual"></div>
             </div>
-            <div class="content" v-html="info.manual"></div>
-        </div>
-    </bread-pages>
+        </bread-pages>
+    </div>
 </template>
 
 <script>
 import BreadPage from '../../components/page/BreadPage.vue';
 import BreadPages from '../../components/page/BreadPages.vue';
+import Banner from '../../components/Banner.vue';
 import { digitalTypeOptions } from '../../utils/variables';
 export default {
-    components: { BreadPages },
+    components: { BreadPages, Banner },
     data() {
         return {
             loading: false,

+ 15 - 11
src/main/yzzscq-web/src/views/detail/Digitals.vue

@@ -1,23 +1,27 @@
 <template>
-    <bread-pages>
-        <div class="main" v-loading="loading">
-            <div class="title">{{ info.name }}</div>
-            <div class="sub-title">
-                <span>企业性质:{{ info.settingName }}</span>
+    <div>
+        <Banner></Banner>
+        <bread-pages>
+            <div class="main" v-loading="loading">
+                <div class="title">{{ info.name }}</div>
+                <div class="sub-title">
+                    <span>企业性质:{{ info.settingName }}</span>
 
-                <span>行业领域:{{ info.fieldName }}</span>
-                <span>所属地区:{{ info.owner }}</span>
+                    <span>行业领域:{{ info.fieldName }}</span>
+                    <span>所属地区:{{ info.owner }}</span>
+                </div>
+                <div class="content" v-html="info.manual"></div>
             </div>
-            <div class="content" v-html="info.manual"></div>
-        </div>
-    </bread-pages>
+        </bread-pages>
+    </div>
 </template>
 
 <script>
 import BreadPages from '../../components/page/BreadPages.vue';
+import Banner from '../../components/Banner.vue';
 import { digitalTypeOptions } from '../../utils/variables';
 export default {
-    components: { BreadPages },
+    components: { BreadPages, Banner },
     data() {
         return {
             loading: false,

+ 1 - 1
src/main/yzzscq-web/src/views/detail/ExpertDetail.vue

@@ -107,7 +107,7 @@ import { stageOptions, tradingMethodOptions, affiliationOptions } from '../../ut
 import comEvent from '../../mixins/comEvent';
 import BreadPages from '../../components/page/BreadPages.vue';
 export default {
-    components: { BreadPage, BreadPages },
+    components: { BreadPages },
     mixins: [comEvent],
     data() {
         return {

+ 58 - 54
src/main/yzzscq-web/src/views/detail/IntellectualProperty.vue

@@ -1,58 +1,60 @@
 <template>
-    <bread-pages>
-        <div class="main" v-loading="loading">
-            <div class="title">{{ info.name }}</div>
-            <div class="content">
-                <div class="sub-title">著录项</div>
-                <div class="info">
-                    <div class="info-item">
-                        <span class="text1">申请号:</span>
-                        <span class="text2">{{ info.code }}</span>
+    <div>
+        <Banner></Banner>
+        <bread-pages>
+            <div class="main" v-loading="loading">
+                <div class="title">{{ info.name }}</div>
+                <div class="content">
+                    <div class="sub-title">著录项</div>
+                    <div class="info">
+                        <div class="info-item">
+                            <span class="text1">申请号:</span>
+                            <span class="text2">{{ info.code }}</span>
+                        </div>
+                        <div class="info-item" v-if="info.applyTime">
+                            <span class="text1">申请日:</span>
+                            <span class="text2">{{ info.applyTime }}</span>
+                        </div>
+                        <div class="info-item">
+                            <span class="text1">专利区分:</span>
+                            <span class="text2">{{ info.type }}</span>
+                        </div>
+                        <div class="info-item">
+                            <span class="text1">行业分类:</span>
+                            <span class="text2">{{ setting.name }}</span>
+                        </div>
+                        <div class="info-item">
+                            <span class="text1">法律状态:</span>
+                            <span class="text2">{{ info.lawStatus }}</span>
+                        </div>
+                        <div class="info-item">
+                            <span class="text1">专利权人:</span>
+                            <span class="text2">{{ info.owner }}</span>
+                        </div>
+                        <div class="info-item">
+                            <span class="text1">发明人:</span>
+                            <span class="text2">{{ showList(info.inventor, ';') }}</span>
+                        </div>
+                        <div class="info-item">
+                            <span class="text1">公开号:</span>
+                            <span class="text2">{{ info.openCode || '暂无' }}</span>
+                        </div>
+                        <div class="info-item">
+                            <span class="text1">分类号:</span>
+                            <span class="text2">{{ showList(info.ipc, ';') }}</span>
+                        </div>
                     </div>
-                    <div class="info-item" v-if="info.applyTime">
-                        <span class="text1">申请日:</span>
-                        <span class="text2">{{ info.applyTime }}</span>
+                    <div class="sub-title">摘要</div>
+                    <div class="text" v-html="info.digest || '暂无内容'"></div>
+                    <div class="sub-title">权利要求书</div>
+                    <div class="text" v-html="info.manual || '暂无内容'"></div>
+                    <div class="sub-title">附图</div>
+                    <div class="text imgs">
+                        <el-image :src="getImg(info.img)" fit="cover"></el-image>
                     </div>
-                    <div class="info-item">
-                        <span class="text1">专利区分:</span>
-                        <span class="text2">{{ info.type }}</span>
-                    </div>
-                    <div class="info-item">
-                        <span class="text1">行业分类:</span>
-                        <span class="text2">{{ setting.name }}</span>
-                    </div>
-                    <div class="info-item">
-                        <span class="text1">法律状态:</span>
-                        <span class="text2">{{ info.lawStatus }}</span>
-                    </div>
-                    <div class="info-item">
-                        <span class="text1">专利权人:</span>
-                        <span class="text2">{{ info.owner }}</span>
-                    </div>
-                    <div class="info-item">
-                        <span class="text1">发明人:</span>
-                        <span class="text2">{{ showList(info.inventor, ';') }}</span>
-                    </div>
-                    <div class="info-item">
-                        <span class="text1">公开号:</span>
-                        <span class="text2">{{ info.openCode || '暂无' }}</span>
-                    </div>
-                    <div class="info-item">
-                        <span class="text1">分类号:</span>
-                        <span class="text2">{{ showList(info.ipc, ';') }}</span>
-                    </div>
-                </div>
-                <div class="sub-title">摘要</div>
-                <div class="text" v-html="info.digest || '暂无内容'"></div>
-                <div class="sub-title">权利要求书</div>
-                <div class="text" v-html="info.manual || '暂无内容'"></div>
-                <div class="sub-title">附图</div>
-                <div class="text imgs">
-                    <el-image :src="getImg(info.img)" fit="cover"></el-image>
                 </div>
-            </div>
 
-            <!-- <div class="btn">
+                <!-- <div class="btn">
                 <el-button type="primary" class="icon-button" size="small" plain>
                     <i class="iconfont iconfont-nav_icon_xiaoxi1"></i>
                     咨询客服
@@ -61,13 +63,15 @@
                     <i class="iconfont iconfont-nav_icon_xiaoxi"></i>提交留言
                 </el-button>
             </div> -->
-        </div>
-    </bread-pages>
+            </div>
+        </bread-pages>
+    </div>
 </template>
 
 <script>
 import BreadPage from '../../components/page/BreadPage.vue';
 import BreadPages from '../../components/page/BreadPages.vue';
+import Banner from '../../components/Banner.vue';
 import {
     typeOptions,
     intePropLawStatus,
@@ -88,8 +92,8 @@ export default {
         };
     },
     components: {
-        BreadPage,
-        BreadPages
+        BreadPages,
+        Banner
     },
     computed: {
         setting() {

+ 73 - 68
src/main/yzzscq-web/src/views/detail/Logo.vue

@@ -1,52 +1,54 @@
 <template>
-    <bread-pages>
-        <div class="main" v-loading="loading">
-            <div class="main_con">
-                <div class="ImgBox">
-                    <el-carousel>
-                        <el-carousel-item v-for="(item, index) in info.img" :key="index">
-                            <el-image :src="getImg(item)" fit="fill"></el-image>
-                        </el-carousel-item>
-                    </el-carousel>
-                </div>
-                <div class="main_con_title">
-                    <div class="title">{{ info.name }}</div>
-                    <div class="info">
-                        <div class="info-item">
-                            <span class="text1">申请号:</span>
-                            <span class="text2">{{ info.code }}</span>
-                        </div>
-                        <div class="info-item" v-if="info.applyTime">
-                            <span class="text1">申请日:</span>
-                            <span class="text2">{{ info.applyTime }}</span>
-                        </div>
-                        <div class="info-item">
-                            <span class="text1">所属分类:</span>
-                            <span class="text2">{{ info.categoryName }}</span>
-                        </div>
-                        <div class="info-item">
-                            <span class="text1">商标类型:</span>
-                            <span class="text2">{{ getLabelName(info.logoType, logoTypeOptions) }}</span>
-                        </div>
+    <div>
+        <Banner></Banner>
+        <bread-pages>
+            <div class="main" v-loading="loading">
+                <div class="main_con">
+                    <div class="ImgBox">
+                        <el-carousel>
+                            <el-carousel-item v-for="(item, index) in info.img" :key="index">
+                                <el-image :src="getImg(item)" fit="fill"></el-image>
+                            </el-carousel-item>
+                        </el-carousel>
+                    </div>
+                    <div class="main_con_title">
+                        <div class="title">{{ info.name }}</div>
+                        <div class="info">
+                            <div class="info-item">
+                                <span class="text1">申请号:</span>
+                                <span class="text2">{{ info.code }}</span>
+                            </div>
+                            <div class="info-item" v-if="info.applyTime">
+                                <span class="text1">申请日:</span>
+                                <span class="text2">{{ info.applyTime }}</span>
+                            </div>
+                            <div class="info-item">
+                                <span class="text1">所属分类:</span>
+                                <span class="text2">{{ info.categoryName }}</span>
+                            </div>
+                            <div class="info-item">
+                                <span class="text1">商标类型:</span>
+                                <span class="text2">{{ getLabelName(info.logoType, logoTypeOptions) }}</span>
+                            </div>
 
-                        <div class="info-item">
-                            <span class="text1">商标注册人:</span>
-                            <span class="text2">{{ info.owner }}</span>
-                        </div>
-                        <div class="info-item">
-                            <span class="text1">交易方式:</span>
-                            <span class="text2">{{ getLabelName(info.tradingMethod, tradingMethodOptions) }}</span>
-                        </div>
-                        <div class="info-item">
-                            <span class="text1">价格:</span>
-                            <span class="text2" v-if="info.negotiateDirectly">面议 </span>
-                            <span class="text2" v-else>{{ info.expectedPrice }}万元 </span>
-                        </div>
-                        <div class="info-item">
-                            <span class="text1">核定使用商品/服务项目:</span>
-                            <span class="text2">{{ showList(info.servicesItem, ';') }}</span>
-                        </div>
-                        <!-- <div class="info-item">
+                            <div class="info-item">
+                                <span class="text1">商标注册人:</span>
+                                <span class="text2">{{ info.owner }}</span>
+                            </div>
+                            <div class="info-item">
+                                <span class="text1">交易方式:</span>
+                                <span class="text2">{{ getLabelName(info.tradingMethod, tradingMethodOptions) }}</span>
+                            </div>
+                            <div class="info-item">
+                                <span class="text1">价格:</span>
+                                <span class="text2" v-if="info.negotiateDirectly">面议 </span>
+                                <span class="text2" v-else>{{ info.expectedPrice }}万元 </span>
+                            </div>
+                            <div class="info-item">
+                                <span class="text1">核定使用商品/服务项目:</span>
+                                <span class="text2">{{ showList(info.servicesItem, ';') }}</span>
+                            </div>
+                            <!-- <div class="info-item">
                         <span class="text1">底价:</span>
                         <span class="text2">{{ info.basePrice }}万元</span>
                     </div>
@@ -58,11 +60,11 @@
                         <span class="text1">佣金:</span>
                         <span class="text2">{{ info.commission }}万元</span>
                     </div> -->
-                        <!-- <div class="info-item">
+                            <!-- <div class="info-item">
                         <span class="text1">联系人:</span>
                         <span class="text2">{{ info.contact }}</span>
                     </div> -->
-                        <!-- <div class="info-item">
+                            <!-- <div class="info-item">
                         <span class="text1">电话:</span>
                         <span class="text2">{{ info.phone }}</span>
                     </div>
@@ -70,38 +72,40 @@
                         <span class="text1">邮箱:</span>
                         <span class="text2">{{ info.email }}</span>
                     </div> -->
-                        <!-- <div class="info-item">
+                            <!-- <div class="info-item">
                         <span class="text1">所在地区:</span>
                         <span class="text2">{{ info.address }}</span>
                     </div> -->
-                    </div>
-                    <div class="btn">
-                        <div class="icon-button" @click.prevent="connectKefu">
-                            <i class="iconfont iconfont-nav_icon_xiaoxi1"></i>
-                            咨询
                         </div>
-                        <div class="icon-button" @click="postMessage">
-                            <i class="iconfont iconfont-nav_icon_xiaoxi"></i>
-                            留言
+                        <div class="btn">
+                            <div class="icon-button" @click.prevent="connectKefu">
+                                <i class="iconfont iconfont-nav_icon_xiaoxi1"></i>
+                                咨询
+                            </div>
+                            <div class="icon-button" @click="postMessage">
+                                <i class="iconfont iconfont-nav_icon_xiaoxi"></i>
+                                留言
+                            </div>
                         </div>
                     </div>
                 </div>
-            </div>
 
-            <!-- <div class="content">
+                <!-- <div class="content">
                 <div class="sub-title">著录项</div>
 
                 <div class="sub-title">商标图样</div> -->
-            <!-- <div class="text">
+                <!-- <div class="text">
                     <el-image v-for="(item, index) in info.img" :key="index" :src="getImg(item)" fit="cover"></el-image>
                 </div> -->
-            <!-- </div> -->
-        </div>
-    </bread-pages>
+                <!-- </div> -->
+            </div>
+        </bread-pages>
+    </div>
 </template>
 
 <script>
 import BreadPage from '../../components/page/BreadPage.vue';
+import Banner from '../../components/Banner.vue';
 import BreadPages from '../../components/page/BreadPages.vue';
 import comEvent from '../../mixins/comEvent';
 import { logoTypeOptions, tradingMethodOptions, commissionTypeOptions } from '../../utils/variables';
@@ -116,7 +120,8 @@ export default {
         };
     },
     components: {
-        BreadPages
+        BreadPages,
+        Banner
     },
     mixins: [comEvent],
     mounted() {
@@ -242,14 +247,14 @@ export default {
         width: 134px;
         height: 36px;
         border-radius: 2px;
-        border: 1px solid #01a041;
+        border: 1px solid #405cff;
         line-height: 36px;
-        color: #01A041;
+        color: #405cff;
         justify-content: center;
         padding: 0px;
         cursor: pointer;
     }
-    .icon-button:nth-of-type(1){
+    .icon-button:nth-of-type(1) {
         margin-right: 20px;
     }
 }

+ 62 - 58
src/main/yzzscq-web/src/views/detail/LogoDemand.vue

@@ -1,41 +1,43 @@
 <template>
-    <bread-pages>
-        <div class="main" v-loading="loading">
-            <div class="title">{{ info.name }}</div>
-            <div class="title_tip">专利公开详情</div>
-            <div class="content">
-                <div class="sub-title">需求项</div>
-                <div class="info">
-                    <div class="info-item">
-                        <span class="text1">所属分类:</span>
-                        <span class="text2">{{ info.categoryName }}</span>
-                    </div>
-                    <div class="info-item">
-                        <span class="text1">包含文字:</span>
-                        <span class="text2">{{ info.containText }}</span>
-                    </div>
-                    <div class="info-item">
-                        <span class="text1">包含字母:</span>
-                        <span class="text2">{{ info.containLetter }}</span>
-                    </div>
-                    <div class="info-item">
-                        <span class="text1">包含图形:</span>
-                        <span class="text2">{{ info.containGraphic }}</span>
-                    </div>
-                    <div class="info-item">
-                        <span class="text1">交易方式:</span>
-                        <span class="text2">{{ getLabelName(info.mode, tradingMethodOption) }}</span>
-                    </div>
-                    <div class="info-item">
-                        <span class="text1">预算:</span>
-                        <span class="text2" v-if="info.negotiateDirectly">面议 </span>
-                        <span class="text2" v-else>{{ info.expectedPrice }}万元 </span>
-                    </div>
-                    <div class="info-item">
-                        <span class="text1">发布时间:</span>
-                        <span class="text2">{{ formatTime(info.createdAt, 'YYYY-MM-DD') }}</span>
-                    </div>
-                    <!-- <div class="info-item">
+    <div>
+        <Banner></Banner>
+        <bread-pages>
+            <div class="main" v-loading="loading">
+                <div class="title">{{ info.name }}</div>
+                <div class="title_tip">专利公开详情</div>
+                <div class="content">
+                    <div class="sub-title">需求项</div>
+                    <div class="info">
+                        <div class="info-item">
+                            <span class="text1">所属分类:</span>
+                            <span class="text2">{{ info.categoryName }}</span>
+                        </div>
+                        <div class="info-item">
+                            <span class="text1">包含文字:</span>
+                            <span class="text2">{{ info.containText }}</span>
+                        </div>
+                        <div class="info-item">
+                            <span class="text1">包含字母:</span>
+                            <span class="text2">{{ info.containLetter }}</span>
+                        </div>
+                        <div class="info-item">
+                            <span class="text1">包含图形:</span>
+                            <span class="text2">{{ info.containGraphic }}</span>
+                        </div>
+                        <div class="info-item">
+                            <span class="text1">交易方式:</span>
+                            <span class="text2">{{ getLabelName(info.mode, tradingMethodOption) }}</span>
+                        </div>
+                        <div class="info-item">
+                            <span class="text1">预算:</span>
+                            <span class="text2" v-if="info.negotiateDirectly">面议 </span>
+                            <span class="text2" v-else>{{ info.expectedPrice }}万元 </span>
+                        </div>
+                        <div class="info-item">
+                            <span class="text1">发布时间:</span>
+                            <span class="text2">{{ formatTime(info.createdAt, 'YYYY-MM-DD') }}</span>
+                        </div>
+                        <!-- <div class="info-item">
                         <span class="text1">联系人:</span>
                         <span class="text2">{{ info.contact }}</span>
                     </div>
@@ -43,23 +45,23 @@
                         <span class="text1">所在地区:</span>
                         <span class="text2">{{ info.address }}</span>
                     </div> -->
-                </div>
+                    </div>
 
-                <div class="sub-title">需求描述</div>
-                <div class="text">
-                    {{ info.description }}
-                </div>
-                <div class="btn">
-                    <el-button type="primary" class="icon-button" @click.prevent="connectKefu" size="small">
-                        <i class="iconfont iconfont-nav_icon_xiaoxi1"></i>
-                        咨询
-                    </el-button>
-                    <el-button @click.prevent="postMessage" type="primary" class="icon-button" size="small">
-                        <i class="iconfont iconfont-nav_icon_xiaoxi"></i>留言
-                    </el-button>
+                    <div class="sub-title">需求描述</div>
+                    <div class="text">
+                        {{ info.description }}
+                    </div>
+                    <div class="btn">
+                        <el-button type="primary" class="icon-button" @click.prevent="connectKefu" size="small">
+                            <i class="iconfont iconfont-nav_icon_xiaoxi1"></i>
+                            咨询
+                        </el-button>
+                        <el-button @click.prevent="postMessage" type="primary" class="icon-button" size="small">
+                            <i class="iconfont iconfont-nav_icon_xiaoxi"></i>留言
+                        </el-button>
+                    </div>
                 </div>
-            </div>
-            <!-- <div class="btn">
+                <!-- <div class="btn">
                 <el-button type="primary" class="icon-button" size="small" plain>
                     <i class="iconfont iconfont-nav_icon_xiaoxi1"></i>
                     咨询客服
@@ -68,13 +70,15 @@
                     <i class="iconfont iconfont-nav_icon_xiaoxi"></i>提交留言
                 </el-button>
             </div> -->
-        </div>
-    </bread-pages>
+            </div>
+        </bread-pages>
+    </div>
 </template>
 
 <script>
 import BreadPage from '../../components/page/BreadPage.vue';
 import BreadPages from '../../components/page/BreadPages.vue';
+import Banner from '../../components/Banner.vue';
 import comEvent from '../../mixins/comEvent';
 import { logoTypeOptions, tradingMethodOption, commissionTypeOptions } from '../../utils/variables';
 export default {
@@ -88,8 +92,8 @@ export default {
         };
     },
     components: {
-        BreadPage,
-        BreadPages
+        BreadPages,
+        Banner
     },
     mixins: [comEvent],
     mounted() {
@@ -210,10 +214,10 @@ export default {
         width: 134px;
         height: 36px;
         border-radius: 2px;
-        border: 1px solid #01a041;
+        border: 1px solid #405cff;
         line-height: 36px;
         background: #ffffff;
-        color: #01a041;
+        color: #405cff;
         justify-content: center;
     }
 }

+ 95 - 90
src/main/yzzscq-web/src/views/detail/Patent.vue

@@ -1,69 +1,71 @@
 <template>
-    <bread-pages>
-        <div class="main" v-loading="loading">
-            <div class="top">
-                <div class="img">
-                    <el-carousel height="360px" v-if="info.img.length > 0">
-                        <el-carousel-item v-for="(item, index) in info.img" :key="index">
-                            <el-image :src="item" fit="fill" style="width: 100%; height: 100%"></el-image>
-                        </el-carousel-item>
-                    </el-carousel>
-                    <el-image
-                        :src="require('../../assets/logo2.png')"
-                        fit="fill"
-                        style="width: 360px; height: 360px"
-                        v-else
-                    ></el-image>
-                </div>
-                <div class="main_con_title">
-                    <div class="title">{{ info.name }}</div>
-                    <div class="info">
-                        <div class="info-item">
-                            <span class="text1">申请号:</span>
-                            <span class="text2">{{ info.code }}</span>
-                        </div>
-                        <div class="info-item" v-if="info.applyTime">
-                            <span class="text1">申请日:</span>
-                            <span class="text2">{{ info.applyTime }}</span>
-                        </div>
-                        <div class="info-item">
-                            <span class="text1">所属领域:</span>
-                            <span class="text2">{{ info.industryName }}</span>
-                        </div>
-                        <div class="info-item" v-if="info.caseType === 'GENERAL'">
-                            <span class="text1">专利类型:</span>
-                            <span class="text2">{{ getLabelName(info.patentType, patentTypeOptions) }}</span>
-                        </div>
-                        <div class="info-item" v-if="info.ipc">
-                            <span class="text1">IPC分类号:</span>
-                            <span class="text2">{{ info.ipc || '暂无' }}</span>
-                        </div>
-                        <div class="info-item" v-if="info.caseType === 'GENERAL'">
-                            <span class="text1">法律状态:</span>
-                            <span class="text2">{{ getLabelName(info.lawStatus, patentStatusOptions) }}</span>
-                        </div>
-                        <!-- <div class="info-item">
+    <div>
+        <Banner></Banner>
+        <bread-pages>
+            <div class="main" v-loading="loading">
+                <div class="top">
+                    <div class="img">
+                        <el-carousel height="360px" v-if="info.img.length > 0">
+                            <el-carousel-item v-for="(item, index) in info.img" :key="index">
+                                <el-image :src="item" fit="fill" style="width: 100%; height: 100%"></el-image>
+                            </el-carousel-item>
+                        </el-carousel>
+                        <el-image
+                            :src="require('../../assets/logo2.png')"
+                            fit="fill"
+                            style="width: 360px; height: 360px"
+                            v-else
+                        ></el-image>
+                    </div>
+                    <div class="main_con_title">
+                        <div class="title">{{ info.name }}</div>
+                        <div class="info">
+                            <div class="info-item">
+                                <span class="text1">申请号:</span>
+                                <span class="text2">{{ info.code }}</span>
+                            </div>
+                            <div class="info-item" v-if="info.applyTime">
+                                <span class="text1">申请日:</span>
+                                <span class="text2">{{ info.applyTime }}</span>
+                            </div>
+                            <div class="info-item">
+                                <span class="text1">所属领域:</span>
+                                <span class="text2">{{ info.industryName }}</span>
+                            </div>
+                            <div class="info-item" v-if="info.caseType === 'GENERAL'">
+                                <span class="text1">专利类型:</span>
+                                <span class="text2">{{ getLabelName(info.patentType, patentTypeOptions) }}</span>
+                            </div>
+                            <div class="info-item" v-if="info.ipc">
+                                <span class="text1">IPC分类号:</span>
+                                <span class="text2">{{ info.ipc || '暂无' }}</span>
+                            </div>
+                            <div class="info-item" v-if="info.caseType === 'GENERAL'">
+                                <span class="text1">法律状态:</span>
+                                <span class="text2">{{ getLabelName(info.lawStatus, patentStatusOptions) }}</span>
+                            </div>
+                            <!-- <div class="info-item">
                             <span class="text1">专利权人:</span>
                             <span class="text2" v-if="info.owner">{{ info.owner.join(',') }}</span>
                         </div> -->
-                        <!-- <div class="info-item" v-if="info.ownerType">
+                            <!-- <div class="info-item" v-if="info.ownerType">
                         <span class="text1">专利权人类型:</span>
                         <span class="text2">{{ getLabelName(info.ownerType, ownerTypeOptions) }}</span>
                     </div> -->
-                        <div class="info-item">
-                            <span class="text1">申请人:</span>
-                            <span class="text2">{{ showList(info.applicant, ';') }}</span>
-                        </div>
-                        <div class="info-item">
-                            <span class="text1">交易方式:</span>
-                            <span class="text2">{{ getLabelName(info.tradingMethod, tradingMethodOptions) }}</span>
-                        </div>
-                        <div class="info-item">
-                            <span class="text1">价格:</span>
-                            <span class="text2" v-if="info.negotiateDirectly">面议 </span>
-                            <span class="text2" v-else>{{ info.expectedPrice }}万元 </span>
-                        </div>
-                        <!-- <div class="info-item">
+                            <div class="info-item">
+                                <span class="text1">申请人:</span>
+                                <span class="text2">{{ showList(info.applicant, ';') }}</span>
+                            </div>
+                            <div class="info-item">
+                                <span class="text1">交易方式:</span>
+                                <span class="text2">{{ getLabelName(info.tradingMethod, tradingMethodOptions) }}</span>
+                            </div>
+                            <div class="info-item">
+                                <span class="text1">价格:</span>
+                                <span class="text2" v-if="info.negotiateDirectly">面议 </span>
+                                <span class="text2" v-else>{{ info.expectedPrice }}万元 </span>
+                            </div>
+                            <!-- <div class="info-item">
                         <span class="text1">联系人:</span>
                         <span class="text2">{{ info.contact }}</span>
                     </div>
@@ -71,43 +73,43 @@
                         <span class="text1">所在地区:</span>
                         <span class="text2">{{ info.address }}</span>
                     </div> -->
-                    </div>
-                    <div class="btn">
-                        <div class="icon-button" @click.prevent="connectKefu">
-                            <i class="iconfont iconfont-nav_icon_xiaoxi1"></i>
-                            咨询
                         </div>
-                        <div class="icon-button" @click="postMessage">
-                            <i class="iconfont iconfont-nav_icon_xiaoxi"></i>
-                            留言
+                        <div class="btn">
+                            <div class="icon-button" @click.prevent="connectKefu">
+                                <i class="iconfont iconfont-nav_icon_xiaoxi1"></i>
+                                咨询
+                            </div>
+                            <div class="icon-button" @click="postMessage">
+                                <i class="iconfont iconfont-nav_icon_xiaoxi"></i>
+                                留言
+                            </div>
                         </div>
                     </div>
                 </div>
-            </div>
-            <div class="detail">
-                <div class="detail_top">
-                    <div class="detail-title" :class="{ active: active === 0 }" @click="active = 0">摘要</div>
-                    <!-- <div class="detail-title" :class="{ active: active === 1 }" @click="active = 1">权利要求书</div> -->
-                </div>
-                <div class="detail_con">
-                    <div class="detail-content" v-if="active === 0">{{ info.digest }}</div>
-                    <div class="detail-content" v-html="info.manual" v-else></div>
+                <div class="detail">
+                    <div class="detail_top">
+                        <div class="detail-title" :class="{ active: active === 0 }" @click="active = 0">专利摘要</div>
+                        <div class="detail-title" :class="{ active: active === 1 }" @click="active = 1">权利要求书</div>
+                    </div>
+                    <div class="detail_con">
+                        <div class="detail-content" v-if="active === 0">{{ info.digest }}</div>
+                        <div class="detail-content" v-html="info.manual" v-else></div>
+                    </div>
                 </div>
-            </div>
-            <!-- <div class="content">
+                <!-- <div class="content">
                  -->
 
-            <!-- <div class="sub-title">附图</div>
+                <!-- <div class="sub-title">附图</div>
                 <div class="ImgBox">
                     <el-carousel>
                         <el-carousel-item v-for="(item, index) in info.img" :key="index">
                             <el-image :src="getImg(item)" fit="fill"></el-image>
                         </el-carousel-item>
                     </el-carousel> -->
-            <!-- <el-image v-for="(item, index) in info.img" :key="index" :src="getImg(item)" fit="cover"></el-image> -->
-            <!-- </div> -->
-            <!-- </div> -->
-            <!-- <div class="btn">
+                <!-- <el-image v-for="(item, index) in info.img" :key="index" :src="getImg(item)" fit="cover"></el-image> -->
+                <!-- </div> -->
+                <!-- </div> -->
+                <!-- <div class="btn">
                 <el-button type="primary" class="icon-button" @click.prevent="connectKefu" size="small">
                     <i class="iconfont iconfont-nav_icon_xiaoxi1"></i>
                     咨询客服
@@ -116,12 +118,14 @@
                     <i class="iconfont iconfont-nav_icon_xiaoxi"></i>提交留言
                 </el-button>
             </div> -->
-        </div>
-    </bread-pages>
+            </div>
+        </bread-pages>
+    </div>
 </template>
 
 <script>
 import BreadPages from '../../components/page/BreadPages.vue';
+import Banner from '../../components/Banner.vue';
 import comEvent from '../../mixins/comEvent';
 import { ownerTypeOptions, commissionTypeOptions, caseTypeOptions } from '../../utils/variables';
 export default {
@@ -135,7 +139,8 @@ export default {
         };
     },
     components: {
-        BreadPages
+        BreadPages,
+        Banner
     },
     mixins: [comEvent],
     mounted() {
@@ -282,14 +287,14 @@ export default {
         height: 56px;
         background: #ffffff;
         font-weight: bold;
-        color: #01a041;
+        color: #405cff;
         box-sizing: border-box;
         position: relative;
         &::after {
             content: '';
             width: 110px;
             height: 3px;
-            background-color: #01a041;
+            background: #405cff;
             position: absolute;
             left: 0px;
             top: 0px;
@@ -319,9 +324,9 @@ export default {
         width: 134px;
         height: 36px;
         border-radius: 2px;
-        border: 1px solid #01a041;
+        border: 1px solid #405cff;
         line-height: 36px;
-        color: #01a041;
+        color: #405cff;
         justify-content: center;
         padding: 0px;
         cursor: pointer;

+ 62 - 57
src/main/yzzscq-web/src/views/detail/PatentDemand.vue

@@ -1,45 +1,47 @@
 <template>
-    <bread-pages>
-        <div class="main" v-loading="loading">
-            <div class="title">{{ info.name }}</div>
-            <div class="title_tip">专利公开详情</div>
-            <div class="content">
-                <div class="sub-title">需求项</div>
-                <div class="info">
-                    <div class="info-item">
-                        <span class="text1">所属领域:</span>
-                        <span class="text2">{{ info.industryName }}</span>
-                    </div>
+    <div>
+        <Banner></Banner>
+        <bread-pages>
+            <div class="main" v-loading="loading">
+                <div class="title">{{ info.name }}</div>
+                <div class="title_tip">专利公开详情</div>
+                <div class="content">
+                    <div class="sub-title">需求项</div>
+                    <div class="info">
+                        <div class="info-item">
+                            <span class="text1">所属领域:</span>
+                            <span class="text2">{{ info.industryName }}</span>
+                        </div>
 
-                    <div class="info-item" v-if="info.patentType">
-                        <span class="text1">专利类型:</span>
-                        <span class="text2">{{ getLabelName(info.patentType, patentTypeOptions) }}</span>
-                    </div>
+                        <div class="info-item" v-if="info.patentType">
+                            <span class="text1">专利类型:</span>
+                            <span class="text2">{{ getLabelName(info.patentType, patentTypeOptions) }}</span>
+                        </div>
 
-                    <div class="info-item" v-if="info.caseType === 'GENERAL'">
-                        <span class="text1">法律状态:</span>
-                        <span class="text2">{{ getLabelName(info.patentStatus, patentStatusOptions) }}</span>
-                    </div>
-                    <div class="info-item">
-                        <span class="text1">包含关键字:</span>
-                        <span class="text2">{{ info.keyword }}</span>
-                    </div>
+                        <div class="info-item" v-if="info.caseType === 'GENERAL'">
+                            <span class="text1">法律状态:</span>
+                            <span class="text2">{{ getLabelName(info.patentStatus, patentStatusOptions) }}</span>
+                        </div>
+                        <div class="info-item">
+                            <span class="text1">包含关键字:</span>
+                            <span class="text2">{{ info.keyword }}</span>
+                        </div>
 
-                    <div class="info-item">
-                        <span class="text1">交易方式:</span>
-                        <span class="text2">{{ getLabelName(info.mode, tradingMethodOption) }}</span>
-                    </div>
+                        <div class="info-item">
+                            <span class="text1">交易方式:</span>
+                            <span class="text2">{{ getLabelName(info.mode, tradingMethodOption) }}</span>
+                        </div>
 
-                    <div class="info-item">
-                        <span class="text1">预算:</span>
-                        <span class="text2" v-if="info.negotiateDirectly">面议 </span>
-                        <span class="text2" v-else>{{ info.expectedPrice }}万元 </span>
-                    </div>
-                    <div class="info-item">
-                        <span class="text1">发布时间:</span>
-                        <span class="text2">{{ formatTime(info.createdAt, 'YYYY-MM-DD') }}</span>
-                    </div>
-                    <!-- <div class="info-item">
+                        <div class="info-item">
+                            <span class="text1">预算:</span>
+                            <span class="text2" v-if="info.negotiateDirectly">面议 </span>
+                            <span class="text2" v-else>{{ info.expectedPrice }}万元 </span>
+                        </div>
+                        <div class="info-item">
+                            <span class="text1">发布时间:</span>
+                            <span class="text2">{{ formatTime(info.createdAt, 'YYYY-MM-DD') }}</span>
+                        </div>
+                        <!-- <div class="info-item">
                         <span class="text1">联系人:</span>
                         <span class="text2">{{ info.contact }}</span>
                     </div>
@@ -51,23 +53,23 @@
                         <span class="text1">所在地区:</span>
                         <span class="text2">{{ info.address }}</span>
                     </div> -->
-                </div>
+                    </div>
 
-                <div class="sub-title">需求描述</div>
-                <div class="text">
-                    {{ info.description }}
+                    <div class="sub-title">需求描述</div>
+                    <div class="text">
+                        {{ info.description }}
+                    </div>
                 </div>
-            </div>
-            <div class="btn">
-                <el-button type="primary" class="icon-button" @click.prevent="connectKefu" size="small">
-                    <i class="iconfont iconfont-nav_icon_xiaoxi1"></i>
-                    咨询
-                </el-button>
-                <el-button @click.prevent="postMessage" type="primary" class="icon-button" size="small">
-                    <i class="iconfont iconfont-nav_icon_xiaoxi"></i>留言
-                </el-button>
-            </div>
-            <!-- <div class="btn">
+                <div class="btn">
+                    <el-button type="primary" class="icon-button" @click.prevent="connectKefu" size="small">
+                        <i class="iconfont iconfont-nav_icon_xiaoxi1"></i>
+                        咨询
+                    </el-button>
+                    <el-button @click.prevent="postMessage" type="primary" class="icon-button" size="small">
+                        <i class="iconfont iconfont-nav_icon_xiaoxi"></i>留言
+                    </el-button>
+                </div>
+                <!-- <div class="btn">
                 <el-button type="primary" class="icon-button" size="small" plain>
                     <i class="iconfont iconfont-nav_icon_xiaoxi1"></i>
                     咨询客服
@@ -76,13 +78,15 @@
                     <i class="iconfont iconfont-nav_icon_xiaoxi"></i>提交留言
                 </el-button>
             </div> -->
-        </div>
-    </bread-pages>
+            </div>
+        </bread-pages>
+    </div>
 </template>
 
 <script>
 // import BreadPage from '../../components/page/BreadPage.vue';
 import BreadPages from '../../components/page/BreadPages.vue';
+import Banner from '../../components/Banner.vue';
 import comEvent from '../../mixins/comEvent';
 import { patentTypeOptions, tradingMethodOption, patentStatusOptions, caseTypeOptions } from '../../utils/variables';
 export default {
@@ -96,7 +100,8 @@ export default {
         };
     },
     components: {
-        BreadPages
+        BreadPages,
+        Banner
     },
     mixins: [comEvent],
     mounted() {
@@ -231,10 +236,10 @@ export default {
         width: 134px;
         height: 36px;
         border-radius: 2px;
-        border: 1px solid #01a041;
+        border: 1px solid #405cff;
         line-height: 36px;
         background: #ffffff;
-        color: #01a041;
+        color: #405cff;
         justify-content: center;
     }
 }

+ 55 - 51
src/main/yzzscq-web/src/views/detail/SuccessDetail.vue

@@ -1,62 +1,66 @@
 <template>
-    <bread-pages>
-        <div class="main" v-loading="loading">
-            <div class="title">{{ info.name }}</div>
-            <div class="content">
-                <div class="sub-title">著录项</div>
-                <div class="info">
-                    <div class="info-item">
-                        <span
-                            class="text1"
-                            v-if="
-                                info.category == 'DECLASSIFICATION' ||
-                                info.category == 'GENERAL' ||
-                                info.category == 'PRODUCT' ||
-                                info.category == 'TECHNOLOGY'
-                            "
-                            >所属领域:</span
-                        >
-                        <span class="text1" v-if="info.category == 'LOGO'">所属分类:</span>
-                        <span class="text1" v-if="info.category == 'COPYRIGHT'">作品类型:</span>
-                        <span class="text1" v-if="info.category == 'SOFT_COPYRIGHT'">软著类型:</span>
-                        <span class="text2" v-if="info.setting">{{ info.setting.name }}</span>
-                    </div>
-                    <div class="info-item" v-if="info.patentType">
-                        <span class="text1">专利类型:</span>
-                        <span class="text2">{{ getLabelName(info.patentType, patentTypeOptionsOne) }}</span>
-                    </div>
-                    <div class="info-item">
-                        <span class="text1">交易方式:</span>
-                        <span class="text2">{{ mode }}</span>
-                    </div>
-                    <div class="info-item">
-                        <span class="text1">成交价格:</span>
-                        <span class="text2">{{ info.soldPrice }}万元 </span>
-                    </div>
-                    <div class="info-item">
-                        <span class="text1">转化来源:</span>
-                        <span class="text2">{{ info.soldAddress }}</span>
-                    </div>
+    <div>
+        <Banner></Banner>
+        <bread-pages>
+            <div class="main" v-loading="loading">
+                <div class="title">{{ info.name }}</div>
+                <div class="content">
+                    <div class="sub-title">著录项</div>
+                    <div class="info">
+                        <div class="info-item">
+                            <span
+                                class="text1"
+                                v-if="
+                                    info.category == 'DECLASSIFICATION' ||
+                                    info.category == 'GENERAL' ||
+                                    info.category == 'PRODUCT' ||
+                                    info.category == 'TECHNOLOGY'
+                                "
+                                >所属领域:</span
+                            >
+                            <span class="text1" v-if="info.category == 'LOGO'">所属分类:</span>
+                            <span class="text1" v-if="info.category == 'COPYRIGHT'">作品类型:</span>
+                            <span class="text1" v-if="info.category == 'SOFT_COPYRIGHT'">软著类型:</span>
+                            <span class="text2" v-if="info.setting">{{ info.setting.name }}</span>
+                        </div>
+                        <div class="info-item" v-if="info.patentType">
+                            <span class="text1">专利类型:</span>
+                            <span class="text2">{{ getLabelName(info.patentType, patentTypeOptionsOne) }}</span>
+                        </div>
+                        <div class="info-item">
+                            <span class="text1">交易方式:</span>
+                            <span class="text2">{{ mode }}</span>
+                        </div>
+                        <div class="info-item">
+                            <span class="text1">成交价格:</span>
+                            <span class="text2">{{ info.soldPrice }}万元 </span>
+                        </div>
+                        <div class="info-item">
+                            <span class="text1">转化来源:</span>
+                            <span class="text2">{{ info.soldAddress }}</span>
+                        </div>
 
-                    <div class="info-item">
-                        <span class="text1">成交时间:</span>
-                        <span class="text2">{{ info.soldAt }}</span>
+                        <div class="info-item">
+                            <span class="text1">成交时间:</span>
+                            <span class="text2">{{ info.soldAt }}</span>
+                        </div>
+                    </div>
+                    <div class="sub-title">描述</div>
+                    <div class="text" v-html="info.manual"></div>
+                    <div class="sub-title">成交案例附图</div>
+                    <div class="text imgs">
+                        <el-image :src="info.img" fit="fill" :preview-src-list="[info.img]"></el-image>
                     </div>
-                </div>
-                <div class="sub-title">描述</div>
-                <div class="text" v-html="info.manual"></div>
-                <div class="sub-title">成交案例附图</div>
-                <div class="text imgs">
-                    <el-image :src="info.img" fit="fill" :preview-src-list="[info.img]"></el-image>
                 </div>
             </div>
-        </div>
-    </bread-pages>
+        </bread-pages>
+    </div>
 </template>
 
 <script>
 import BreadPage from '../../components/page/BreadPage.vue';
 import BreadPages from '../../components/page/BreadPages.vue';
+import Banner from '../../components/Banner.vue';
 import { mode3Options, caseType2Options, patentTypeOptionsOne } from '../../utils/variables';
 import common from '../../mixins/common';
 export default {
@@ -70,8 +74,8 @@ export default {
         };
     },
     components: {
-        BreadPage,
-        BreadPages
+        BreadPages,
+        Banner
     },
     computed: {
         mode() {

+ 143 - 74
src/main/yzzscq-web/src/views/detail/TechnicalManager.vue

@@ -1,54 +1,56 @@
 <template>
-    <bread-pages>
-        <div class="main" v-loading="loading">
-            <div class="details">
-                <div class="img">
-                    <!-- <el-image :src="getImg(info.avatar)" fit="fill"></el-image> -->
-                    <el-carousel height="360px">
-                        <el-carousel-item v-for="(item, index) in info.qualification" :key="index">
-                            <el-image :src="item" fit="fill" style="width: 100%; height: 100%"></el-image>
-                        </el-carousel-item>
-                    </el-carousel>
-                </div>
-                <div class="details_con">
-                    <div>
-                        <div class="title">{{ info.name }}</div>
-                        <div class="info-item">
-                            <!-- <span class="text1">专业领域:</span> -->
-                            擅长领域:
-                            <div class="text3" v-for="(item, index) in info.fieldName" :key="index">{{ item }}</div>
-                        </div>
-                        <div class="info-item">
-                            <!-- v-if="info.keyAchievement" -->
-                            <!-- <span class="text1">主要成果:</span> -->
-                            主要成果:
-                            <!-- <span class="text2">{{ info.keyAchievement }}</span> -->
-                            <div class="text4" v-html="info.selfIntroduction"></div>
-                        </div>
+    <div>
+        <Banner></Banner>
+        <bread-pages>
+            <div class="main" v-loading="loading">
+                <div class="details">
+                    <div class="img">
+                        <!-- <el-image :src="getImg(info.avatar)" fit="fill"></el-image> -->
+                        <el-carousel height="360px">
+                            <el-carousel-item v-for="(item, index) in info.qualification" :key="index">
+                                <el-image :src="item" fit="fill" style="width: 100%; height: 100%"></el-image>
+                            </el-carousel-item>
+                        </el-carousel>
                     </div>
+                    <div class="details_con">
+                        <div>
+                            <div class="title">{{ info.name }}</div>
+                            <div class="info-item">
+                                <!-- <span class="text1">专业领域:</span> -->
+                                擅长领域:
+                                <div class="text3" v-for="(item, index) in info.fieldName" :key="index">{{ item }}</div>
+                            </div>
+                            <div class="info-item">
+                                <!-- v-if="info.keyAchievement" -->
+                                <!-- <span class="text1">主要成果:</span> -->
+                                主要成果:
+                                <!-- <span class="text2">{{ info.keyAchievement }}</span> -->
+                                <div class="text4" v-html="info.selfIntroduction"></div>
+                            </div>
+                        </div>
 
-                    <!-- <div class="detail">
+                        <!-- <div class="detail">
                         <div class="detail-title">主要业绩</div>
                         <div class="detail-content" v-html="info.selfIntroduction"></div>
                     </div> -->
-                    <div class="btn">
-                        <el-button type="primary" class="icon-button" @click.prevent="connectKefu" size="small">
-                            <i class="iconfont iconfont-nav_icon_xiaoxi1"></i>
-                            咨询
-                        </el-button>
-                        <el-button @click.stop="postMessage" type="primary" class="icon-button" size="small">
-                            <i class="iconfont iconfont-nav_icon_xiaoxi"></i>留言
-                        </el-button>
+                        <div class="btn">
+                            <el-button type="primary" class="icon-button" @click.prevent="connectKefu" size="small">
+                                <i class="iconfont iconfont-nav_icon_xiaoxi1"></i>
+                                咨询
+                            </el-button>
+                            <el-button @click.stop="postMessage" type="primary" class="icon-button" size="small">
+                                <i class="iconfont iconfont-nav_icon_xiaoxi"></i>留言
+                            </el-button>
+                        </div>
                     </div>
                 </div>
-            </div>
-            <!-- <div class="top">
+                <!-- <div class="top">
                 <div class="info"> -->
-            <!-- <div class="info-item">
+                <!-- <div class="info-item">
                         <span class="text1">所在单位:</span>
                         <span class="text2">{{ info.work }}</span>
                     </div> -->
-            <!-- <div class="info-item">
+                <!-- <div class="info-item">
                         <span class="text1">电话:</span>
                         <span class="text2">{{ info.phone }}</span>
                     </div>
@@ -57,49 +59,59 @@
                         <span class="text2">{{ info.email }}</span>
                     </div> -->
 
-            <!-- <div class="flex1"></div>
+                <!-- <div class="flex1"></div>
                 </div>
             </div> -->
-
-            <!-- <div class="content">
-                <div class="recommends">
-                    <div class="recommends-title">为你推荐</div>
-                    <router-link
-                        :to="{
-                            name: 'technicalManagerDetail',
-                            query: {
-                                id: item.id
-                            }
-                        }"
-                        class="recomend-item"
-                        v-for="item in recommends"
-                        :key="item.id"
-                    >
-                        <el-image
-                            :src="getImg(item.qualification)"
-                            style="width: 180px; height: 180px; display: block"
-                            fit="cover"
-                        ></el-image>
-                        <div class="info">
-                            <span>{{ item.name }}</span>
-                            <div class="tabs" v-if="item.fieldName">
-                                <span class="tab" v-for="(name, index) in info.fieldName" :key="index">{{ name }}</span>
+                <div class="detail_new">
+                    <div class="detail_new_top">
+                        <div class="detail_new-title" :class="{ active: active === 0 }" @click="active = 0">
+                            为你推荐
+                        </div>
+                    </div>
+                    <div class="detail_new_con">
+                        <div
+                            class="detail_new_con_content"
+                            v-for="item in recommends"
+                            :key="item.id"
+                            @click="
+                                $router.push({
+                                    name: 'technicalManagerDetail',
+                                    query: {
+                                        id: item.id
+                                    }
+                                })
+                            "
+                        >
+                            <el-image
+                                :src="getImg(item.qualification)"
+                                style="width: 180px; height: 180px; display: block"
+                                fit="cover"
+                            ></el-image>
+                            <div class="detail_new_con_content_name">
+                                {{ item.name }}
+                                <!-- <span>{{ item.name }}</span>
+                                <div class="tabs" v-if="item.fieldName">
+                                    <span class="tab" v-for="(name, index) in info.fieldName" :key="index">{{
+                                        name
+                                    }}</span>
+                                </div> -->
                             </div>
                         </div>
-                    </router-link>
+                    </div>
                 </div>
-            </div> -->
-        </div>
-    </bread-pages>
+            </div>
+        </bread-pages>
+    </div>
 </template>
 
 <script>
 import BreadPage from '../../components/page/BreadPage.vue';
+import Banner from '../../components/Banner.vue';
 import { stageOptions, tradingMethodOptions } from '../../utils/variables';
 import comEvent from '../../mixins/comEvent';
 import BreadPages from '../../components/page/BreadPages.vue';
 export default {
-    components: { BreadPage, BreadPages },
+    components: { BreadPages, Banner },
     mixins: [comEvent],
     data() {
         return {
@@ -107,7 +119,8 @@ export default {
             info: {},
             stageOptions,
             tradingMethodOptions,
-            recommends: []
+            recommends: [],
+            active: 0
         };
     },
     computed: {
@@ -212,8 +225,8 @@ export default {
         width: 134px;
         height: 36px;
         border-radius: 2px;
-        border: 1px solid #01a041;
-        color: #01a041;
+        border: 1px solid #405cff;
+        color: #405cff;
         font-size: 12px;
         justify-content: center;
         background: #ffffff;
@@ -231,12 +244,13 @@ export default {
     // display: flex;
     margin-bottom: 16px;
     .text3 {
+        font-size: 13px;
         height: 22px;
-        background: rgba(1, 160, 65, 0.08);
+        background: rgba(64, 92, 255, 0.08);
         border-radius: 1px;
         padding: 0px 6px;
         box-sizing: border-box;
-        color: #01a041;
+        color: #405cff;
         line-height: 22px;
         margin-right: 10px;
         // margin-bottom: 10px;
@@ -362,6 +376,61 @@ export default {
         }
     }
 }
+.detail_new {
+    width: 1200px;
+    background: #ffffff;
+    min-height: 768px;
+    margin-bottom: 134px;
+    margin-top: 50px;
+    .detail_new_top {
+        height: 56px;
+        background: #f5f7fa;
+        font-size: 14px;
+        font-weight: 400;
+        color: #565b66;
+        margin-bottom: 8px;
+        display: flex;
+        cursor: pointer;
+    }
+    .detail_new-title {
+        width: 110px;
+        height: 56px;
+        line-height: 56px;
+        text-align: center;
+    }
+    .active {
+        width: 110px;
+        height: 56px;
+        background: #ffffff;
+        font-weight: bold;
+        color: #405cff;
+        box-sizing: border-box;
+        position: relative;
+        &::after {
+            content: '';
+            width: 110px;
+            height: 3px;
+            background: #405cff;
+            position: absolute;
+            left: 0px;
+            top: 0px;
+        }
+    }
+    .detail_new_con_content {
+        width: 180px;
+        height: 224px;
+        background: #ffffff;
+        border: 1px solid #f5f7fa;
+        margin-bottom: 16px;
+        .detail_new_con_content_name {
+            font-size: 14px;
+            color: #000000;
+            line-height: 20px;
+            margin-top: 12px;
+            margin-left: 12px;
+        }
+    }
+}
 .appContainer {
     background: #ffffff !important;
 }

+ 89 - 85
src/main/yzzscq-web/src/views/detail/TechnologyProduct.vue

@@ -1,93 +1,95 @@
 <template>
-    <bread-pages>
-        <div class="main" v-loading="loading">
-            <div class="top">
-                <div class="img">
-                    <el-carousel height="360px">
-                        <el-carousel-item v-for="(item, index) in info.img" :key="index">
-                            <el-image :src="item" fit="fill" style="width: 100%; height: 100%"></el-image>
-                        </el-carousel-item>
-                    </el-carousel>
-                </div>
-                <div class="main_con_title">
-                    <div class="title">{{ info.name }}</div>
-                    <div class="info">
-                        <div class="info-item">
-                            <span class="text1">所属领域:</span>
-                            <span class="text2">{{ info.fieldName }}</span>
-                        </div>
-                        <div class="info-item">
-                            <span class="text1">所处阶段:</span>
-                            <span class="text2">{{ getLabelName(info.stage, stageOptions) }}</span>
-                        </div>
-                        <div class="info-item">
-                            <span class="text1"
-                                >{{ `${info.tpType == 'TECHNOLOGY' ? '成果所属人' : '产品持有人'}` }}:</span
-                            >
-                            <span class="text2">{{ info.owner }}</span>
-                        </div>
-                        <div class="info-item">
-                            <span class="text1">价格:</span>
-                            <span class="text2" v-if="info.negotiateDirectly">面议 </span>
-                            <span class="text2" v-else>{{ info.expectedPrice }}万元 </span>
-                        </div>
-                        <div class="info-item">
-                            <span class="text1">交易方式:</span>
-                            <span v-if="info.tpType === 'TECHNOLOGY'" class="text2">{{
-                                getLabelName(info.tradingMethod, tradingMethodOptionsDemand)
-                            }}</span>
-                            <span v-else class="text2">{{
-                                getLabelName(info.tradingMethod, tradingMethodOptionsDemands)
-                            }}</span>
-                        </div>
-                        <div class="info-item">
-                            <span class="text1"
-                                >{{ `${info.tpType == 'TECHNOLOGY' ? '是否专利技术' : '是否专利产品'}` }}:</span
-                            >
-                            <span class="text2" v-if="info.patented">{{ info.patentNo.join(',') }}</span>
-                            <span class="text2" v-else> 否</span>
-                        </div>
-
-                        <div class="flex1"></div>
+    <div>
+        <Banner></Banner>
+        <bread-pages>
+            <div class="main" v-loading="loading">
+                <div class="top">
+                    <div class="img">
+                        <el-carousel height="360px">
+                            <el-carousel-item v-for="(item, index) in info.img" :key="index">
+                                <el-image :src="item" fit="fill" style="width: 100%; height: 100%"></el-image>
+                            </el-carousel-item>
+                        </el-carousel>
                     </div>
-                    <div class="btn">
-                        <div class="icon-button" @click.prevent="connectKefu">
-                            <i class="iconfont iconfont-nav_icon_xiaoxi1"></i>
-                            咨询
+                    <div class="main_con_title">
+                        <div class="title">{{ info.name }}</div>
+                        <div class="info">
+                            <div class="info-item">
+                                <span class="text1">所属领域:</span>
+                                <span class="text2">{{ info.fieldName }}</span>
+                            </div>
+                            <div class="info-item">
+                                <span class="text1">所处阶段:</span>
+                                <span class="text2">{{ getLabelName(info.stage, stageOptions) }}</span>
+                            </div>
+                            <div class="info-item">
+                                <span class="text1"
+                                    >{{ `${info.tpType == 'TECHNOLOGY' ? '成果所属人' : '产品持有人'}` }}:</span
+                                >
+                                <span class="text2">{{ info.owner }}</span>
+                            </div>
+                            <div class="info-item">
+                                <span class="text1">价格:</span>
+                                <span class="text2" v-if="info.negotiateDirectly">面议 </span>
+                                <span class="text2" v-else>{{ info.expectedPrice }}万元 </span>
+                            </div>
+                            <div class="info-item">
+                                <span class="text1">交易方式:</span>
+                                <span v-if="info.tpType === 'TECHNOLOGY'" class="text2">{{
+                                    getLabelName(info.tradingMethod, tradingMethodOptionsDemand)
+                                }}</span>
+                                <span v-else class="text2">{{
+                                    getLabelName(info.tradingMethod, tradingMethodOptionsDemands)
+                                }}</span>
+                            </div>
+                            <div class="info-item">
+                                <span class="text1"
+                                    >{{ `${info.tpType == 'TECHNOLOGY' ? '是否专利技术' : '是否专利产品'}` }}:</span
+                                >
+                                <span class="text2" v-if="info.patented">{{ info.patentNo.join(',') }}</span>
+                                <span class="text2" v-else> 否</span>
+                            </div>
+
+                            <div class="flex1"></div>
                         </div>
-                        <div class="icon-button" @click="postMessage">
-                            <i class="iconfont iconfont-nav_icon_xiaoxi"></i>
-                            留言
+                        <div class="btn">
+                            <div class="icon-button" @click.prevent="connectKefu">
+                                <i class="iconfont iconfont-nav_icon_xiaoxi1"></i>
+                                咨询
+                            </div>
+                            <div class="icon-button" @click="postMessage">
+                                <i class="iconfont iconfont-nav_icon_xiaoxi"></i>
+                                留言
+                            </div>
                         </div>
                     </div>
                 </div>
-            </div>
-            <div class="detail">
-                <div class="detail_top">
-                    <div class="detail-title" :class="{ active: active === 0 }" @click="active = 0">
-                        {{ `${info.tpType == 'TECHNOLOGY' ? '摘要' : '产品概述'}` }}
-                    </div>
-                    <div class="detail-title" :class="{ active: active === 1 }" @click="active = 1">
-                        {{ `${info.tpType == 'TECHNOLOGY' ? '成果描述' : '产品描述'}` }}
-                    </div>
-                    <!-- <div class="detail-title" :class="{ active: active === 2 }" @click="active = 2">
+                <div class="detail">
+                    <div class="detail_top">
+                        <div class="detail-title" :class="{ active: active === 0 }" @click="active = 0">
+                            {{ `${info.tpType == 'TECHNOLOGY' ? '摘要' : '产品概述'}` }}
+                        </div>
+                        <div class="detail-title" :class="{ active: active === 1 }" @click="active = 1">
+                            {{ `${info.tpType == 'TECHNOLOGY' ? '成果描述' : '产品描述'}` }}
+                        </div>
+                        <!-- <div class="detail-title" :class="{ active: active === 2 }" @click="active = 2">
                         {{ `${info.tpType == 'TECHNOLOGY' ? '技术附图' : '产品附图'}` }}
                     </div> -->
-                </div>
-                <div class="detail_con">
-                    <div class="detail-content" v-html="info.digest" v-if="active === 0"></div>
-                    <div class="detail-content" v-html="info.manual" v-else></div>
-                    <!-- <div class="ImgBox" v-else>
+                    </div>
+                    <div class="detail_con">
+                        <div class="detail-content" v-html="info.digest" v-if="active === 0"></div>
+                        <div class="detail-content" v-html="info.manual" v-else></div>
+                        <!-- <div class="ImgBox" v-else>
                         <el-carousel>
                             <el-carousel-item v-for="(item, index) in info.img" :key="index">
                                 <el-image :src="getImg(item)" fit="fill"></el-image>
                             </el-carousel-item>
                         </el-carousel> -->
                         <!-- <el-image v-for="(item, index) in info.img" :key="index" :src="getImg(item)" fit="cover"></el-image> -->
-                    <!-- </div> -->
+                        <!-- </div> -->
+                    </div>
                 </div>
-            </div>
-            <!-- <div class="btn">
+                <!-- <div class="btn">
                 <el-button type="primary" class="icon-button" @click.prevent="connectKefu" size="small">
                     <i class="iconfont iconfont-nav_icon_xiaoxi1"></i>
                     咨询客服
@@ -96,13 +98,15 @@
                     <i class="iconfont iconfont-nav_icon_xiaoxi"></i>提交留言
                 </el-button>
             </div> -->
-        </div>
-    </bread-pages>
+            </div>
+        </bread-pages>
+    </div>
 </template>
 
 <script>
 import BreadPage from '../../components/page/BreadPage.vue';
 import BreadPages from '../../components/page/BreadPages.vue';
+import Banner from '../../components/Banner.vue';
 import {
     stageOptions,
     tradingMethodOptionsDemands,
@@ -112,7 +116,7 @@ import {
 import comEvent from '../../mixins/comEvent';
 export default {
     mixins: [comEvent],
-    components: { BreadPage, BreadPages },
+    components: { BreadPages, Banner },
     data() {
         return {
             active: 0,
@@ -313,14 +317,14 @@ export default {
         height: 56px;
         background: #ffffff;
         font-weight: bold;
-        color: #01a041;
+        color: #405cff;
         box-sizing: border-box;
         position: relative;
-        &::after{
-            content: "";
+        &::after {
+            content: '';
             width: 110px;
             height: 3px;
-            background-color: #01a041;
+            background: #405cff;
             position: absolute;
             left: 0px;
             top: 0px;
@@ -329,7 +333,7 @@ export default {
     .detail-content {
         padding: 20px 30px;
     }
-    .ImgBox{
+    .ImgBox {
         padding-top: 60px;
     }
 }
@@ -343,9 +347,9 @@ export default {
         width: 134px;
         height: 36px;
         border-radius: 2px;
-        border: 1px solid #01a041;
+        border: 1px solid #405cff;
         line-height: 36px;
-        color: #01a041;
+        color: #405cff;
         justify-content: center;
         padding: 0px;
         cursor: pointer;

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików