hailu
2022-09-26 bbf0ca09b8ce6fe42a88af6bcb1c396245f7cf58
字号,顺序
7个文件已修改
1170 ■■■■■ 已修改文件
src/components/MainHeader.vue 262 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/AboutView.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/BatchView.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/HomeView.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/PersonalCenter.vue 261 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/SeniorView.vue 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/SmartView.vue 591 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/MainHeader.vue
@@ -9,7 +9,8 @@
          <li class="item" :class="{secItem:$route.path=='/home'}">
            <router-link to="/"><span>首页</span></router-link>
          </li>
          <li class="Retrieval item" :class="{secItem:['smart','senior','batch','law','detail'].indexOf($route.name)>=0 }">
          <li class="Retrieval item"
            :class="{secItem:['smart','senior','batch','law','detail'].indexOf($route.name)>=0 }">
            <span>检索</span>
            <ul class="RetrievalShow">
              <li>
@@ -41,9 +42,12 @@
          <li class="patent item">
            <span>特色专利数据库</span>
            <ul class="patentShow">
              <li><a href="">人工智能专利数据库</a></li>
              <li><a href="">人工智能专利数据库</a></li>
              <li><a href="">人工智能专利数据库</a></li>
              <!-- -->
              <li @click="namiSenior()" >
                <!-- <router-link :to="{path:'/smart',query:{rule:'in',field: 'typeInfoList', name: '纳米产业'}}"> -->
               纳米产业专利数据库
              <!-- </router-link> -->
            </li>
            </ul>
          </li>
          <li class="item" :class="{secItem:$route.path=='/analyst'||$route.path=='/analystDetail'}">
@@ -90,9 +94,7 @@
    <div class="mask" v-if="maskShow"></div>
    <div class="loginDialog" v-show="loginShow">
      <img src="@/assets/logo.png" alt="" />
      <span class="close" @click="(loginShow = false), (maskShow = false)"
        >X</span
      >
      <span class="close" @click="(loginShow = false), (maskShow = false)">X</span>
      <div class="title"><span class="fontColor">登陆</span>探数狗PIISA</div>
      <form action="" method="post">
        <label for="userName">
@@ -115,32 +117,22 @@
    </div>
    <div class="forgetTel" v-show="forgetShow">
      <img src="@/assets/logo.png" alt="" />
      <span class="close" @click="(forgetShow = false), (maskShow = false)"
        >X</span
      >
      <span class="close" @click="(forgetShow = false), (maskShow = false)">X</span>
      <div class="title"><span class="fontColor">忘记</span>密码</div>
      <input type="tel" v-model="phoneNumber" placeholder="请输入手机号" />
      <div class="inputCode">
        <input type="text" v-model="checkCode" placeholder="请输入验证码" /><span
          class="postCode"
          :class="{disabled:countShow}"
          @click="getCheckCode"
          >{{countShow?codeCount:'发送验证码'}}</span
        >
        <input type="text" v-model="checkCode" placeholder="请输入验证码" /><span class="postCode"
          :class="{disabled:countShow}" @click="getCheckCode">{{countShow?codeCount:'发送验证码'}}</span>
      </div>
      <input type="passWord" v-model="newPassword" placeholder="请输入新密码" />
      <input
        type="passWord"
        v-model="confirmPassword"
        placeholder="请输入确认密码"
      />
      <input type="passWord" v-model="confirmPassword" placeholder="请输入确认密码" />
      <div class="ConfirmLogin reset" @click="resetPsd">确认重置</div>
      <!-- <div class="emailBack"><a>通过邮箱找回</a></div> -->
    </div>
  </div>
</template>
<script>
import { postLogin , postLogout , postSendsms , postResetPassword , getUserInfo } from '../api/url_user.js'
import { postLogin, postLogout, postSendsms, postResetPassword, getUserInfo } from '../api/url_user.js'
import { staticUrl } from '@/utils/constant'
export default {
  data() {
@@ -148,99 +140,104 @@
      // loginShow: false,
      forgetShow: false,
      // maskShow: false,
      avatar:'',
      myUsername:localStorage.getItem('username')||'',
      username:'',
      password:'',
      phoneNumber:'',
      checkCode:'',
      newPassword:'',
      confirmPassword:'',
      codeCount:120,
      countShow:false,
      avatar: '',
      myUsername: localStorage.getItem('username') || '',
      username: '',
      password: '',
      phoneNumber: '',
      checkCode: '',
      newPassword: '',
      confirmPassword: '',
      codeCount: 120,
      countShow: false,
    }
  },
  filters:{
    filterName(name){
      if(name.length<12){
  filters: {
    filterName(name) {
      if (name.length < 12) {
        return name
      }else{
        return name.slice(0,12) + '...'
      } else {
        return name.slice(0, 12) + '...'
      }
    }
  },
  watch:{
    $route(val){
      if(val.path == '/home'){
  watch: {
    $route(val) {
      if (val.path == '/home') {
        //其他页面导回home时刷新顶部登录状态
        this.avatar = localStorage.getItem('user_avatar') ||''
        this.myUsername  = localStorage.getItem('username')||''
        this.avatar = localStorage.getItem('user_avatar') || ''
        this.myUsername = localStorage.getItem('username') || ''
      }
    }
  },
  computed:{
    loginShow:{
      get(){
  computed: {
    loginShow: {
      get() {
        return this.$store.state.loginShow
      },
      set(val){
        this.$store.commit('setLoginShow',val)
      set(val) {
        this.$store.commit('setLoginShow', val)
      }
    },
    maskShow:{
      get(){
    maskShow: {
      get() {
        return this.$store.state.maskShow
      },
      set(val){
        this.$store.commit('setMaskShow',val)
      set(val) {
        this.$store.commit('setMaskShow', val)
      }
    }
  },
  mounted() {
    this.avatar = localStorage.getItem('user_avatar')||''
  mounted() {
    this.avatar = localStorage.getItem('user_avatar') || ''
    this.checkLogin()
  },
  methods: {
    namiSenior() {
      let params ={rule:'in',field: "typeInfoList", name: "纳米产业"}
      localStorage.setItem('namiParams',JSON.stringify(params))
      this.$router.push("/smart")
    },
    showLogin() {
      this.loginShow = true;
      this.maskShow = this.loginShow;
    },
    login(type){
    login(type) {
      let params = {}
      if(type === "IP"){
      if (type === "IP") {
        params = {
          isIpLogin:true
          isIpLogin: true
        }
      }else{
      } else {
        params = {
        username:this.username,
        password:this.password,
        isIpLogin:false,
          username: this.username,
          password: this.password,
          isIpLogin: false,
        }
      }
      }
      postLogin(params).then(()=>{
      postLogin(params).then(() => {
        this.getUserInfo()
      })
    },
    checkLogin(){
      getUserInfo().then(res=>{
      }).catch(err=>{
        this.myUsername = ''
    checkLogin() {
      getUserInfo().then(res => {
      }).catch(err => {
        this.myUsername = ''
      })
    },
    getUserInfo(){
      getUserInfo().then(res=>{
        this.myUsername = res.Data.RealName
        localStorage.setItem('username',this.myUsername)
        if(res.Data.Avatar){
          this.avatar =  staticUrl + res.Data.Avatar
          localStorage.setItem('user_avatar',this.avatar)
    getUserInfo() {
      getUserInfo().then(res => {
        this.myUsername = res.Data.RealName
        localStorage.setItem('username', this.myUsername)
        if (res.Data.Avatar) {
          this.avatar = staticUrl + res.Data.Avatar
          localStorage.setItem('user_avatar', this.avatar)
        }
        this.loginShow = false
        this.maskShow = false
      })
    },
    handleLogout(){
    handleLogout() {
      let that = this
      this.$confirm({
        title: "提示",
@@ -248,48 +245,48 @@
        okText: "确认",
        cancelText: "取消",
        onOk() {
          postLogout().then(()=>{
          postLogout().then(() => {
            that.myUsername = ''
            that.avatar = ''
          })
        },
      });
    },
    getCheckCode(){
      if(!this.phoneNumber){
    getCheckCode() {
      if (!this.phoneNumber) {
        this.$message.error('请输入手机号!')
        return
      }
      if(this.countShow) return
      if (this.countShow) return
      // this.codeCountDown()
      postSendsms({
        // username:this.username,
        phoneNumber:this.phoneNumber,
      }).then(()=>{
        phoneNumber: this.phoneNumber,
      }).then(() => {
        this.codeCountDown()
      })
    },
    codeCountDown(){
    codeCountDown() {
      this.countShow = true
      let time = window.setInterval(()=>{
      let time = window.setInterval(() => {
        this.codeCount -= 1
        if(this.codeCount <= 0 ){
        if (this.codeCount <= 0) {
          this.codeCount = 120
          this.countShow = false
          window.clearInterval(time)
        }
      },1000)
      }, 1000)
    },
    resetPsd(){
      if(this.confirmPassword !== this.newPassword){
    resetPsd() {
      if (this.confirmPassword !== this.newPassword) {
        this.$message.error('密码不一致,请重新输入!')
        return
      }
      postResetPassword({
        phoneNumber:this.phoneNumber,
        code:this.checkCode,
        password:this.newPassword
      }).then(res=>{
        phoneNumber: this.phoneNumber,
        code: this.checkCode,
        password: this.newPassword
      }).then(res => {
        console.log(res)
      })
@@ -304,16 +301,19 @@
}
</script>
<style lang="scss" scoped>
.main-header{
.main-header {
  min-width: 800px;
  box-shadow:0 1px 6px 0 hsl(0deg 5% 84% / 50%);
  box-shadow: 0 1px 6px 0 hsl(0deg 5% 84% / 50%);
}
input {
  padding-left: 10px;
}
input:focus::-webkit-input-placeholder {
  color: transparent;
}
.mask {
  position: fixed;
  left: 0px;
@@ -324,23 +324,26 @@
  opacity: 0.298039;
  z-index: 998;
}
.forgetTel,
.loginDialog,
.opened {
  background-color: #ffffff;
  width:430px;
  width: 430px;
  padding: 20px;
  position: absolute;
  top: 100px;
  left: 35%;
  z-index: 999;
  box-shadow: 0px 0px 4px 0px;
  img {
    width: 200px;
    height: 70px;
    position: absolute;
    left: 20px;
  }
  .title {
    margin-top: 70px;
    width: 100%;
@@ -348,10 +351,12 @@
    height: 50px;
    line-height: 50px;
    font-size: 38px;
    .fontColor {
      color: #ef8201;
    }
  }
  input {
    width: 100%;
    margin-top: 20px;
@@ -360,14 +365,17 @@
    // color: #cccccc;
    border-radius: 5px;
  }
  input:focus {
    outline-color: #ef8201;
  }
}
.loginDialog {
  form {
    width: 100%;
  }
  .foget {
    cursor: pointer;
    width: 60px;
@@ -379,9 +387,11 @@
    right: 20px;
    top: 290px;
  }
  .foget:hover {
    border-bottom: 1px solid #999999;
  }
  .ipLogin {
    cursor: pointer;
    margin: 10px auto 0;
@@ -394,10 +404,12 @@
    background-color: rgba(51, 204, 204, 1);
    line-height: 50px;
    text-align: center;
    a {
      color: #ffffff;
    }
  }
  .enroll {
    width: 100%;
    text-align: center;
@@ -408,10 +420,12 @@
    color: #999999;
    margin: 10px auto;
  }
  .tryout {
    cursor: pointer;
    color: #ef8201;
  }
  .close {
    font-size: 20px;
    border: 1px solid #333333;
@@ -423,6 +437,7 @@
    right: 20px;
    text-align: center;
  }
  .ConfirmLogin {
    cursor: pointer;
    margin: 30px auto 15px;
@@ -438,9 +453,11 @@
    text-align: center;
  }
}
.forgetTel {
  // position: relative;
  .close{
  .close {
    width: 30px;
    height: 30px;
    position: absolute;
@@ -452,6 +469,7 @@
    line-height: 30px;
    text-align: center;
  }
  .emailBack {
    cursor: pointer;
    color: #ef8201;
@@ -459,15 +477,19 @@
    right: 20px;
    bottom: 30px;
    border-bottom: 1px solid #ffffff;
    a {
      color: #ef8201;
    }
  }
  .emailBack:hover {
    border-color: #ef8201;
  }
  .inputCode {
    position: relative;
    .postCode {
      cursor: pointer;
      width: 30%;
@@ -482,12 +504,14 @@
      top: 20px;
      line-height: 50px;
      text-align: center;
      &.disabled{
      &.disabled {
        cursor: not-allowed;
        background-color: #c2c2c2;
      }
    }
  }
  .ConfirmLogin {
    cursor: pointer;
    margin: 30px auto 40px;
@@ -503,15 +527,18 @@
    text-align: center;
  }
}
header {
  width: 100%;
  position: relative;
  display: flex;
  justify-content: space-between;
  .logo {
    // width: 40%;
    height: 62px;
    position: relative;
    img {
      position: absolute;
      left: 50px;
@@ -523,6 +550,7 @@
      // }
    }
  }
  .features {
    // width: 60%;
    display: flex;
@@ -535,34 +563,42 @@
      line-height: 70px;
      text-align: center;
    }
    .login {
      display: flex;
      align-items: center;
      margin: 0 16px;
      padding-top: 10px;
      .icon-201yonghu_yonghu2 {
        font-size: 25px;
        margin-right: 8px;
        cursor: pointer;
      }
      img{
        width:26px;
      img {
        width: 26px;
        margin-right: 6px;
      }
      .username{
      .username {
        color: #ef8201;
      }
    }
    .home_icon {
      position: relative;
      top: 5px;
      a {
        color: #ef8201;
        .icon-shouye {
          font-size: 25px;
        }
      }
    }
    .nav {
      // @media (min-width: 1280px) {
      //   min-width: 80px;
@@ -572,6 +608,7 @@
      color: #ffffff;
      font-size: 16px;
      position: relative;
      .menuList {
        width: 100%;
        position: absolute;
@@ -580,6 +617,7 @@
        border: 1px solid #c2c2c2;
        z-index: 999;
        display: none;
        li {
          height: 40px;
          line-height: 40px;
@@ -588,17 +626,21 @@
          color: black;
          text-align: center;
        }
        span:hover {
          color: #ef8201;
        }
      }
    }
    .nav:hover .menuList {
      display: block;
    }
    .classList {
      display: flex;
      justify-content: space-around;
      .item {
        height: 50px;
        line-height: 50px;
@@ -610,30 +652,38 @@
        white-space: nowrap;
        margin: 12px 10px 0;
        cursor: pointer;
        a {
          color: #333333;
          display: inline-block;
          height: 100%;
          width: 100%;
        }
        a:hover {
          color: #ef8201;
        }
        span:hover {
          color: #ef8201;
        }
      }
      .item:hover {
        border-bottom: 5px solid #ef8201;
      }
      .secItem {
        border-bottom: 5px solid #ef8201;
        span {
          color: #ef8201;
        }
      }
      .patent {
        position: relative;
        .patentShow {
          display: none;
          position: absolute;
@@ -641,22 +691,27 @@
          background-color: #ffffff;
          border: 1px solid #c2c2c2;
          z-index: 999;
          li {
            margin: 2px 0;
            text-align: center;
            font-size: 16px;
            color: black;
          }
          li:hover a {
          li:hover  {
            color: #ef8201;
          }
        }
      }
      .patent:hover .patentShow {
        display: block;
      }
      .Retrieval {
        position: relative;
        .RetrievalShow {
          display: none;
          position: absolute;
@@ -664,30 +719,36 @@
          background-color: #ffffff;
          border: 1px solid #c2c2c2;
          z-index: 999;
          li {
            height: 40px;
            line-height: 40px;
            text-align: center;
            font-size: 16px;
            color: black;
            span {
              font-size: 20px;
            }
          }
          li:hover a {
            color: #ef8201;
          }
        }
      }
      .Retrieval:hover .RetrievalShow {
        display: block;
      }
    }
    .language {
      cursor: pointer;
      width: 10%;
      display: flex;
      justify-content: space-around;
      li {
        height: 62px;
        line-height: 73px;
@@ -697,10 +758,12 @@
        font-style: normal;
        font-size: 16px;
      }
      li:nth-child(1) {
        color: #ef8201;
      }
    }
    // .home_icon,
    // .classList,
    // .language,
@@ -717,5 +780,4 @@
    // }
  }
}
</style>
src/views/AboutView.vue
@@ -32,7 +32,7 @@
                  <span class="title">我们的实力</span>
                </div>
                <div class="content">
                  凭借自身的技术能力和强大的产品服务,已经服务全球50多个国家超1万家客户,国内客户包括中芯国际、赛迪咨询、华大基因、新松机器人、清华大学、中科院大学、同济大学、东北大学等;国际客户包括哈佛大学、瑞士皇家科学院、埃因霍温理工大学、首尔国立大学、东软集团、飞利浦等。
                  凭借自身的技术能力和强大的产品实力,已经服务全球50多个国家超1万家客户,国内客户包括中芯国际、赛迪咨询、华大基因、新松机器人、清华大学、中科院大学、同济大学、东北大学等;国际客户包括哈佛大学、瑞士皇家科学院、埃因霍温理工大学、首尔国立大学、东软集团、飞利浦等。
                </div>
              </li>
            </ul>
@@ -628,7 +628,7 @@
                margin: 10px 0;
                text-align: left;
                color: #999999;
                font-size: 14px;
                font-size: 16px;
              }
            }
          }
src/views/BatchView.vue
@@ -106,6 +106,7 @@
        content:this.searchParams[this.currentTab]
      }
      console.log(JSON.stringify(params));
      console.log(params);
      this.$router.push({
        path:"/smart",
        query:{
src/views/HomeView.vue
@@ -13,16 +13,7 @@
          <div v-for="item in this.imgList" :key=item.Id>
            <img :src=item.Url alt="" style="height: 500px; width: 100%" />
          </div>
          <!-- <div>
            <img
              src="https://th.bing.com/th/id/R.3d65ceb916e50ab97ea198341fd6e18c?rik=m9nclAHZL4Vb4Q&riu=http%3a%2f%2fwww.ghostw7.com%2fuploadslxy%2fallimg%2f160125%2f1T9132T7-5.jpg&ehk=Dpnr0mb4j8x%2b1kHVSTDsdyJMDwntoS3rlUXla8uBexg%3d&risl=&pid=ImgRaw&r=0"
              alt="" style="height: 500px; width: 100%" />
          </div>
          <div>
            <img
              src="https://th.bing.com/th/id/R.3d65ceb916e50ab97ea198341fd6e18c?rik=m9nclAHZL4Vb4Q&riu=http%3a%2f%2fwww.ghostw7.com%2fuploadslxy%2fallimg%2f160125%2f1T9132T7-5.jpg&ehk=Dpnr0mb4j8x%2b1kHVSTDsdyJMDwntoS3rlUXla8uBexg%3d&risl=&pid=ImgRaw&r=0"
              alt="" style="height: 500px; width: 100%" />
          </div> -->
        </a-carousel>
      </section>
      <section class="features">
src/views/PersonalCenter.vue
@@ -19,11 +19,7 @@
      <section class="right person-wrapper" v-show="tag == 'person'">
        <ul>
          <li class="persontab">
            <a-tabs
              default-active-key="1"
              @change="callback"
              style="height: 500px"
            >
            <a-tabs default-active-key="1" @change="callback" style="height: 500px">
              <a-tab-pane key="1" tab="基本信息">
                <ul class="infoTab1">
                  <!-- <li class="edit-box">
@@ -37,26 +33,17 @@
                  </li>
                  <li>
                    <span class="label">用户名:</span>
                    <a-input
                      v-if="editing"
                      v-model="personInfo.RealName"
                    ></a-input>
                    <a-input v-if="editing" v-model="personInfo.RealName"></a-input>
                    <b v-else>{{ personInfo.RealName }}</b>
                  </li>
                  <li>
                    <span class="label">邮箱:</span>
                    <a-input
                      v-if="editing"
                      v-model="personInfo.Email"
                    ></a-input>
                    <a-input v-if="editing" v-model="personInfo.Email"></a-input>
                    <b v-else>{{ personInfo.Email || "-" }}</b>
                  </li>
                  <li>
                    <span class="label">手机:</span>
                    <a-input
                      v-if="editing"
                      v-model="personInfo.Phone"
                    ></a-input>
                    <a-input v-if="editing" v-model="personInfo.Phone"></a-input>
                    <b v-else>{{ personInfo.Phone || "-" }}</b>
                  </li>
                  <li>
@@ -73,16 +60,11 @@
                    <b v-else>{{ $fnFormatDate(personInfo.Birthday || "") || "-" }}</b>
                  </li>
                  <li class="edit-box" v-show="!editing" style="margin-top:40px">
                    <div class="save"  @click="editing = true">编辑</div>
                    <div class="save" @click="editing = true">编辑</div>
                  </li>
                  <li class="edit-box" v-show="editing">
                    <a-button @click="cancleEdit"
                      style="margin-right:20px"
                      >取消</a-button
                    >
                    <a-button type="primary" @click="confirmEdit"
                      >提交</a-button
                    >
                    <a-button @click="cancleEdit" style="margin-right:20px">取消</a-button>
                    <a-button type="primary" @click="confirmEdit">提交</a-button>
                  </li>
                  <!-- <li>
                    <span>地址: </span>
@@ -91,60 +73,43 @@
                </ul>
              </a-tab-pane>
              <a-tab-pane key="2" tab="修改密码" force-render>
                <a-form
                  class="newpsw"
                  :form="form"
                  :label-col="{ span: 5 }"
                  :wrapper-col="{ span: 12 }"
                >
                <a-form class="newpsw" :form="form" :label-col="{ span: 5 }" :wrapper-col="{ span: 12 }">
                  <a-form-item label="用户名">
                    <b>{{ personInfo.UserName }}</b>
                  </a-form-item>
                  <a-form-item label="输入原密码">
                    <a-input
                      type="password"
                      v-decorator="[
                        'oldpwd',
                        {
                          rules: [
                            { required: true, message: '请输入密码' },
                            { trigger: 'blur', validator: rulePwdCheck },
                          ],
                        },
                      ]"
                      placeholder="请输入"
                    />
                    <a-input type="password" v-decorator="[
                      'oldpwd',
                      {
                        rules: [
                          { required: true, message: '请输入密码' },
                          { trigger: 'blur', validator: rulePwdCheck },
                        ],
                      },
                    ]" placeholder="请输入" />
                  </a-form-item>
                  <a-form-item label="输入新密码">
                    <a-input
                      type="password"
                      v-decorator="[
                        'newpwd',
                        {
                          rules: [
                            { required: true, message: '请输入密码' },
                            { trigger: 'blur', validator: rulePwdCheck },
                          ],
                        },
                      ]"
                      placeholder="请输入"
                    />
                    <a-input type="password" v-decorator="[
                      'newpwd',
                      {
                        rules: [
                          { required: true, message: '请输入密码' },
                          { trigger: 'blur', validator: rulePwdCheck },
                        ],
                      },
                    ]" placeholder="请输入" />
                  </a-form-item>
                  <a-form-item label="确认新密码">
                    <a-input
                      type="password"
                      v-decorator="[
                        'confirmpwd',
                        {
                          rules: [
                            { required: true, message: '请输入密码' },
                            { trigger: 'blur', validator: rulePwdCheck },
                            { validator: compareNewPwd },
                          ],
                        },
                      ]"
                      placeholder="请输入"
                    />
                    <a-input type="password" v-decorator="[
                      'confirmpwd',
                      {
                        rules: [
                          { required: true, message: '请输入密码' },
                          { trigger: 'blur', validator: rulePwdCheck },
                          { validator: compareNewPwd },
                        ],
                      },
                    ]" placeholder="请输入" />
                  </a-form-item>
                </a-form>
                <div class="save" @click="handleSubmit">提交</div>
@@ -176,13 +141,13 @@
              </li>
              <li v-if="vipInfo.ExpiredDay>0">
                距离过期还有 <span class="datanum">{{
                  $fnFormatK(vipInfo.ExpiredDay || "") || "-"
                $fnFormatK(vipInfo.ExpiredDay || "") || "-"
                }}</span>
                天
              </li>
              <li v-else>
                您的账号已经过期 <span class="datanum">{{
                  $fnFormatK(Math.abs(vipInfo.ExpiredDay) || "") || "-"
                $fnFormatK(Math.abs(vipInfo.ExpiredDay) || "") || "-"
                }}</span>
                天,请及时续费
              </li>
@@ -190,15 +155,9 @@
          </a-card>
        </div>
        <div class="download">
          <a-card
            title="日下载"
            style="width: 48%"
            :headStyle="cVipStyle"
            class="cardDown"
          >
          <a-card title="日下载" style="width: 48%" :headStyle="cVipStyle" class="cardDown">
            <div>
              日下载总额度: <span>{{ $fnFormatK(vipInfo.DownNumPerDay) }}</span
              > 条/天
              日下载总额度: <span>{{ $fnFormatK(vipInfo.DownNumPerDay) }}</span> 条/天
            </div>
            <div>
              今日已使用:
@@ -208,21 +167,14 @@
            </div>
          </a-card>
          <a-card
            title="月下载"
            style="width: 48%"
            :headStyle="cVipStyle"
            class="cardDown"
          >
          <a-card title="月下载" style="width: 48%" :headStyle="cVipStyle" class="cardDown">
            <div>
              月下载总额度:
              <span>{{ $fnFormatK(vipInfo.DownNumPerMonth) }}</span
              > 条/月
              <span>{{ $fnFormatK(vipInfo.DownNumPerMonth) }}</span> 条/月
            </div>
            <div>
              当月已使用:
              <span>{{ $fnFormatK(vipInfo.DownNumPerMonthActual) }}</span
              > 条&nbsp;&nbsp;&nbsp;&nbsp;当月剩余:
              <span>{{ $fnFormatK(vipInfo.DownNumPerMonthActual) }}</span> 条&nbsp;&nbsp;&nbsp;&nbsp;当月剩余:
              <span>{{ $fnFormatK(vipInfo.DownNumPerMonthLeft) }}</span> 条
            </div>
          </a-card>
@@ -230,7 +182,10 @@
      </section>
      <section class="right suggest-wrapper" v-show="tag == 'suggest'">
        <div style="width: 100%; height: 100%" class="suggestion">
          <div>开发中,敬请期待...</div>
          <!-- <div>开发中,敬请期待...</div> -->
          <a-table :columns="columns" :data-source="data">
            <a slot="name" slot-scope="text">{{ text }}</a>
          </a-table>
        </div>
      </section>
    </main>
@@ -250,7 +205,56 @@
  postLogout
} from "@/api/url_user";
import { pwdCheck } from "@/utils/validRules";
const columns = [
  {
    title: 'Name',
    dataIndex: 'name',
    key: 'name',
    scopedSlots: { customRender: 'name' },
  },
  {
    title: 'Age',
    dataIndex: 'age',
    key: 'age',
    width: 80,
  },
  {
    title: 'Address',
    dataIndex: 'address',
    key: 'address 1',
    ellipsis: true,
  },
  {
    title: 'Long Column Long Column Long Column',
    dataIndex: 'address',
    key: 'address 2',
    ellipsis: true,
  },
];
const data = [
  {
    key: '1',
    name: 'John Brown',
    age: 32,
    address: 'New York No. 1 Lake Park, New York No. 1 Lake Park',
    tags: ['nice', 'developer'],
  },
  {
    key: '2',
    name: 'Jim Green',
    age: 42,
    address: 'London No. 2 Lake Park, London No. 2 Lake Park',
    tags: ['loser'],
  },
  {
    key: '3',
    name: 'Joe Black',
    age: 32,
    address: 'Sidney No. 1 Lake Park, Sidney No. 1 Lake Park',
    tags: ['cool', 'teacher'],
  },
];
export default {
  //import引入的组件需要注入到components对象中才能使用
  // props: {
@@ -271,7 +275,9 @@
  data() {
    //这里存放数据
    return {
      cVipStyle: { background: "rgba(239,130,1,.2)",textAlign:'center' },
      data,
      columns,
      cVipStyle: { background: "rgba(239,130,1,.2)", textAlign: 'center' },
      tabinfo: 1,
      mode: "left",
      tag: "person", //person个人中心 vipInfo 余量查询 suggest 建议
@@ -293,17 +299,20 @@
    tag() {
      this.getBasicData();
    },
    '$route.query.tag'(val){
    '$route.query.tag'(val) {
      this.tag = val
    }
  },
  //方法集合
  methods: {
    delectTable(row){
console.log(row);
    },
    callback(e) {
      this.tabinfo = e;
      console.log(e);
    },
    handleLogout(){
    handleLogout() {
      let that = this
      this.$confirm({
        title: "提示",
@@ -311,15 +320,15 @@
        okText: "确认",
        cancelText: "取消",
        onOk() {
          postLogout().then(()=>{
          postLogout().then(() => {
            that.myUsername = ''
            that.avatar = ''
          })
        },
      });
    },
    tagChange(tag){
      this.$router.push('/person?tag='+tag)
    tagChange(tag) {
      this.$router.push('/person?tag=' + tag)
    },
    getBasicData() {
      if (this.onRequest) return;
@@ -357,8 +366,8 @@
      this.getUserInfo();
      this.editing = false;
    },
    confirmEdit(){
      postUpdateAccountBasic(this.personInfo).then(()=>{
    confirmEdit() {
      postUpdateAccountBasic(this.personInfo).then(() => {
        this.editing = false
      })
    },
@@ -389,20 +398,20 @@
      callbackFn();
    },
  },
  beforeCreate() {}, //生命周期 - 创建之前
  beforeCreate() { }, //生命周期 - 创建之前
  //生命周期 - 创建完成(可以访问当前this实例)
  created() {},
  beforeMount() {}, //生命周期 - 挂载之前
  created() { },
  beforeMount() { }, //生命周期 - 挂载之前
  //生命周期 - 挂载完成(可以访问DOM元素)
  mounted() {
    let tag = this.$route.query.tag;
    if (tag) this.tag = tag;
    this.getBasicData();
  },
  beforeUpdate() {}, //生命周期 - 更新之前
  updated() {}, //生命周期 - 更新之后
  beforeDestroy() {}, //生命周期 - 销毁之前
  destroyed() {}, //生命周期 - 销毁完成
  beforeUpdate() { }, //生命周期 - 更新之前
  updated() { }, //生命周期 - 更新之后
  beforeDestroy() { }, //生命周期 - 销毁之前
  destroyed() { }, //生命周期 - 销毁完成
  activated() {
    // this.show1=this.$route.query.showPer
    // this.show2=this.$route.query.showDow
@@ -410,36 +419,46 @@
  }, //如果页面有keep-alive缓存功能,这个函数会触发
};
</script>
<style lang="scss" scoped>
a {
  color: #333333;
  cursor: pointer;
}
.person {
  min-width: 1280px;
}
main {
  width: 100%;
  // min-width: 1280px;
  // margin: 0 auto 100px;
  display: flex;
  //   justify-content: space-between;
  .left {
    width: 20%;
    height: calc(100vh - 60px);
    border-right: 1px solid #c2c2c2;
    ul.menu {
      padding-top: 20px;
      text-align: center;
      li {
        font-size: 20px;
        font-weight: 500;
        margin: 20px 0;
        cursor: pointer;
        &.active {
          color: #ef8201;
          span {
            position: relative;
            &::before {
              content: "";
              position: absolute;
@@ -451,6 +470,7 @@
            }
          }
        }
        &:hover {
          color: #ef8201;
          opacity: 0.8;
@@ -458,14 +478,18 @@
      }
    }
  }
  .right {
    // height: 500px;
    // width: 80%;
    padding: 20px;
    flex: 1;
    &.person-wrapper {
      width: 900px;
      .persontab {
        // width: 900px;
        .infoTab1 {
          width: 800px;
@@ -473,6 +497,7 @@
          display: flex;
          justify-content: space-between;
          flex-wrap: wrap;
          li {
            min-width: 400px;
            font-size: 18px;
@@ -482,12 +507,14 @@
            margin: 10px 0;
            text-align: left;
            padding-left: 50px;
            &.edit-box {
              width: 100%;
              text-align: right;
              padding-right: 116px;
              margin-bottom: 20px;
            }
            span.label {
              display: inline-block;
              width: 70px;
@@ -495,6 +522,7 @@
              padding-left: 0;
              opacity: 0.5;
            }
            input {
              width: 166px;
              // border-radius: 6px;
@@ -504,6 +532,7 @@
              //   padding-left: 5px;
            }
          }
          // li:nth-last-child(1) {
          //   width: 900px;
          //   height: 100px;
@@ -528,6 +557,7 @@
          //   }
          // }
        }
        .ascertain {
          width: 100px;
          height: 40px;
@@ -539,6 +569,7 @@
          background: #ef8201;
          margin: 0 auto;
        }
        .save {
          width: 100px;
          height: 40px;
@@ -551,20 +582,24 @@
          margin: 0 auto;
          border-radius: 5px;
          cursor: pointer;
          &:hover {
            opacity: 0.8;
          }
        }
        .newpsw {
          width: 600px;
          margin: 20px auto 0px;
          padding: 20px 0;
          text-align: left;
          li {
            margin: 20px auto;
            height: 40px;
            line-height: 40px;
            text-align: left;
            span {
              display: inline-block;
              width: 200px;
@@ -572,10 +607,12 @@
              font-size: 18px;
              opacity: 0.5;
            }
            b {
              margin-left: 10px;
            }
          }
          input {
            width: 300px;
            // height: 40px;
@@ -588,42 +625,51 @@
          }
        }
      }
      .suggestion {
        width: 100%;
        height: 100%;
      }
    }
    &.vip-wrapper {
      padding-top: 40px;
      .allowance {
        width: 86%;
        margin: 0 auto 15px;
        height: 130px;
        .cardVip {
          width: 100%;
          //   background: #eeeeee;
          a {
            color: #0eafc0;
            position: relative;
            right: 100px;
          }
          ul {
            // width: 80%;
            display: flex;
            justify-content: space-around;
            font-size: 18px;
            font-weight: 500;
            .datanum {
              color: #ef8201;
            }
          }
        }
      }
      .download {
        width: 86%;
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
        .cardDown {
          div {
            width: 90%;
@@ -631,6 +677,7 @@
            text-align: left;
            font-size: 18px;
            font-weight: 500;
            span {
              color: #ef8201;
            }
src/views/SeniorView.vue
@@ -27,18 +27,18 @@
              <span>关键词</span>
              <div class="seclect">
                <div v-for="(item,index) in form.keyWords">
                  <a-select v-model="item.logic" style="width: 80px"  @change="item.value=''">
                  <a-select v-model="item.logic" style="width: 10%"  @change="item.value=''">
                    <a-select-option v-for="(it) in options.logic" :key="it.code" :value="it.code">
                      {{it.name}}
                    </a-select-option>
                  </a-select>
                  <a-select v-model="item.select" style="width: 150px" @change="item.text=''">
                  <a-select v-model="item.select" style="width: 15%" @change="item.text=''">
                    <a-select-option v-for="(it) in options.keyWords" :key="it.code" :value="it.code">
                      {{it.name}}
                    </a-select-option>
                  </a-select>
                  <a-input
                    style="width: 50%"
                    style="width: 40%"
                    v-model="item.text"
                    placeholder="请输入"
                  />
@@ -51,18 +51,18 @@
              <span>名称</span>
              <div class="seclect">
                <div v-for="(item,index) in form.name">
                  <a-select v-model="item.logic" style="width: 80px"  @change="item.value=''">
                  <a-select v-model="item.logic" style="width: 10%"  @change="item.value=''">
                    <a-select-option v-for="(it) in options.logic" :key="it.code" :value="it.code">
                      {{it.name}}
                    </a-select-option>
                  </a-select>
                  <a-select v-model="item.select" style="width: 150px" @change="item.text=''">
                  <a-select v-model="item.select" style="width: 15%" @change="item.text=''">
                    <a-select-option v-for="(it) in options.name" :key="it.code" :value="it.code">
                      {{it.name}}
                    </a-select-option>
                  </a-select>
                  <a-input
                    style="width: 50%"
                  style="width: 40%"
                    v-model="item.text"
                    placeholder="请输入"
                  />
@@ -75,18 +75,18 @@
              <span>地址</span>
              <div class="seclect">
                <div v-for="(item,index) in form.address">
                  <a-select v-model="item.logic" style="width: 80px"  @change="item.value=''">
                  <a-select v-model="item.logic" style="width: 10%"  @change="item.value=''">
                    <a-select-option v-for="(it) in options.logic" :key="it.code" :value="it.code">
                      {{it.name}}
                    </a-select-option>
                  </a-select>
                  <a-select v-model="item.select" style="width: 150px" @change="item.text=''">
                  <a-select v-model="item.select" style="width: 15%" @change="item.text=''">
                    <a-select-option v-for="(it) in options.address" :key="it.code" :value="it.code">
                      {{it.name}}
                    </a-select-option>
                  </a-select>
                  <a-input
                    style="width: 50%"
                  style="width: 40%"
                    v-model="item.text"
                    placeholder="例如:北京"
                  />
@@ -95,28 +95,28 @@
                </div>
              </div>
            </li>
            <li>
            <li style="position:relative">
              <span>分类号</span>
              <div class="seclect">
                <div v-for="(item,index) in form.fenlei">
                  <a-select v-model="item.logic" style="width: 80px"  @change="item.value=''">
                  <a-select v-model="item.logic" style="width: 10%"  @change="item.value=''">
                    <a-select-option v-for="(it) in options.logic" :key="it.code" :value="it.code">
                      {{it.name}}
                    </a-select-option>
                  </a-select>
                  <a-select v-model="item.select" style="width: 150px" @change="item.text='';item.treeData=[]">
                  <a-select v-model="item.select" style="width: 15%" @change="item.text='';item.treeData=[]">
                    <a-select-option v-for="(it) in options.fenlei" :key="it.code" :value="it.code">
                      {{it.name}}
                    </a-select-option>
                  </a-select>
                  <a-input
                    style="width: 50%"
                  style="width: 40%"
                    v-model="item.text"
                    placeholder="请输入"
                  />
                  <a-button type="primary" v-if="index == (form.fenlei.length-1)&&form.fenlei.length<20" shape="circle" icon="plus" @click="doFormItem('plus','fenlei','logic',index)"/>
                  <a-button type="danger" v-else shape="circle" icon="minus" @click="doFormItem('minus','fenlei','logic',index)"/>
                  <a-button @click="openTool(item)">查询工具</a-button>
                  <a-button  @click="openTool(item)">查询工具</a-button>
                </div>
              </div>
            </li>
@@ -124,18 +124,18 @@
              <span>号码</span>
              <div class="seclect">
                <div v-for="(item,index) in form.haoma">
                  <a-select v-model="item.logic" style="width: 80px"  @change="item.value=''">
                  <a-select v-model="item.logic" style="width: 10%"  @change="item.value=''">
                    <a-select-option v-for="(it) in options.logic" :key="it.code" :value="it.code">
                      {{it.name}}
                    </a-select-option>
                  </a-select>
                  <a-select v-model="item.select" style="width: 150px" @change="item.text=''">
                  <a-select v-model="item.select" style="width: 15%" @change="item.text=''">
                    <a-select-option v-for="(it) in options.haoma" :key="it.code" :value="it.code">
                      {{it.name}}
                    </a-select-option>
                  </a-select>
                  <a-input
                    style="width: 50%"
                  style="width: 40%"
                    v-model="item.text"
                    placeholder="请输入"
                  />
@@ -146,12 +146,12 @@
              <span>日期</span>
              <div class="seclect">
                <div v-for="(item,index) in form.date">
                  <a-select v-model="item.logic" style="width: 80px"  @change="item.value=''">
                  <a-select v-model="item.logic" style="width: 10%"  @change="item.value=''">
                    <a-select-option v-for="(it) in options.logic" :key="it.code" :value="it.code">
                      {{it.name}}
                    </a-select-option>
                  </a-select>
                  <a-select v-model="item.select" style="width: 20%" @change="item.text='';item.type='before'">
                  <a-select v-model="item.select" style="width:15%" @change="item.text='';item.type='before'">
                    <a-select-option v-for="(it) in options.date" :key="it.code" :value="it.code">
                      {{it.name}}
                    </a-select-option>
@@ -431,7 +431,7 @@
              align-items: center;
              margin-bottom: 10px;
              >*{
                margin-right: 18px;
                margin-right: 10px;
              }
              textarea {
                width: 100%;
src/views/SmartView.vue
@@ -18,24 +18,27 @@
            <li v-for="(item,index) in conditionAnd" :key="index">
              <span :class="item.rule">{{item.rule=='in'?'筛选':"过滤"}}</span>
              <span class="label" :title="item.name">{{item.name}}:</span>
              <span class="list" >
              <span class="list">
                <template v-for="it in item.checkedList">
                  {{it.text||it.code}}
                  {{it.text||it.code}}
                </template>
              </span>
              <a-icon type="close" @click="conditionRemove(index,item)"/>
              <a-icon type="close" @click="conditionRemove(index,item)" />
            </li>
          </ul>
          <a-collapse default-active-key="1" :expand-icon-position="'right'" >
          <a-collapse default-active-key="1" :expand-icon-position="'right'">
            <template #expandIcon="props">
              <a-icon type="caret-right" :rotate="props.isActive ? 90 : 0" />
            </template>
            <a-collapse-panel key="1" header="受理局">
              <a-checkbox-group v-model="checkedOption.countryCodeCount" v-if="leftOptions.countryCodeCount"  style="width:100%">
              <a-checkbox-group v-model="checkedOption.countryCodeCount" v-if="leftOptions.countryCodeCount"
                style="width:100%">
                <ul class="option-list" v-if="leftOptions.countryCodeCount">
                  <li v-for="item in leftOptions.countryCodeCount" v-if="item.value!=='0'">
                    <a-checkbox :checked="item.checked" :disabled="item.disabled" :value="item.code" @change="checkChange(item)">
                      <img :src="require('../assets/nation_flags/'+item.code+'.png')" alt="" style="width:20px;margin-right:10px"/>{{item.text}}
                    <a-checkbox :checked="item.checked" :disabled="item.disabled" :value="item.code"
                      @change="checkChange(item)">
                      <img :src="require('../assets/nation_flags/'+item.code+'.png')" alt=""
                        style="width:20px;margin-right:10px" />{{item.text}}
                    </a-checkbox>
                    <span>{{item.count}}</span>
                  </li>
@@ -46,53 +49,15 @@
                </p>
              </a-checkbox-group>
            </a-collapse-panel>
            <a-collapse-panel key="2" header="申请日">
              <a-checkbox-group v-model="checkedOption.systemCount" style="width:100%">
                <ul class="option-list" v-if="leftOptions.systemCount">
                  <li v-for="item in leftOptions.systemCount" v-if="item.count!=='0'">
                    <a-checkbox :value="item.code" :checked="item.checked" :disabled="item.disabled" @change="checkChange(item)">{{item.code}}</a-checkbox>
                    <span>{{item.count}}</span>
                  </li>
                </ul>
                <p class="option-btn">
                  <a-button @click="handleCondition('range','system','申请日')">筛选</a-button>
                  <a-button @click="handleCondition('not range','system','申请日')">过滤</a-button>
                </p>
              </a-checkbox-group>
            </a-collapse-panel>
            <a-collapse-panel key="3" header="公开日">
              <a-checkbox-group v-model="checkedOption.publicationDateCount" style="width:100%">
                <ul class="option-list" v-if="leftOptions.publicationDateCount">
                  <li v-for="item in leftOptions.publicationDateCount" v-if="item.count!=='0'">
                    <a-checkbox :value="item.code" :checked="item.checked" :disabled="item.disabled" @change="checkChange(item)">{{item.code}}</a-checkbox>
                    <span>{{item.count}}</span>
                  </li>
                </ul>
                <p class="option-btn">
                  <a-button @click="handleCondition('range','publicationDate','公开日')">筛选</a-button>
                  <a-button @click="handleCondition('not range','publicationDate','公开日')">过滤</a-button>
                </p>
              </a-checkbox-group>
            </a-collapse-panel>
            <a-collapse-panel key="4" header="IPC分类">
              <a-checkbox-group v-model="checkedOption.ipcListCount" style="width:100%">
                <ul class="option-list" v-if="leftOptions.ipcListCount">
                  <li v-for="item in leftOptions.ipcListCount" v-if="item.count!=='0'">
                    <a-checkbox :value="item.code" :checked="item.checked" :disabled="item.disabled" @change="checkChange(item)">{{item.text}}</a-checkbox>
                    <span>{{item.count}}</span>
                  </li>
                </ul>
                <p class="option-btn">
                  <a-button @click="handleCondition('in','ipcList','IPC分类')">筛选</a-button>
                  <a-button @click="handleCondition('not in','ipcList','IPC分类')">过滤</a-button>
                </p>
              </a-checkbox-group>
            </a-collapse-panel>
            <a-collapse-panel key="5" header="法律状态">
            <!-- <a-collapse-panel key="2" header="公开类型">
             未知
            </a-collapse-panel> -->
            <a-collapse-panel key="3" header="法律状态">
              <a-checkbox-group v-model="checkedOption.lawStatusCount" style="width:100%">
                <ul class="option-list" v-if="leftOptions.lawStatusCount">
                  <li v-for="item in leftOptions.lawStatusCount" v-if="item.count!=='0'">
                    <a-checkbox :value="item.code" :checked="item.checked" :disabled="item.disabled" @change="checkChange(item)">{{item.text}}</a-checkbox>
                    <a-checkbox :value="item.code" :checked="item.checked" :disabled="item.disabled"
                      @change="checkChange(item)">{{item.text}}</a-checkbox>
                    <span>{{item.count}}</span>
                  </li>
                </ul>
@@ -102,11 +67,42 @@
                </p>
              </a-checkbox-group>
            </a-collapse-panel>
            <a-collapse-panel key="4" header="公开日">
              <a-checkbox-group v-model="checkedOption.publicationDateCount" style="width:100%">
                <ul class="option-list" v-if="leftOptions.publicationDateCount">
                  <li v-for="item in leftOptions.publicationDateCount" v-if="item.count!=='0'">
                    <a-checkbox :value="item.code" :checked="item.checked" :disabled="item.disabled"
                      @change="checkChange(item)">{{item.code}}</a-checkbox>
                    <span>{{item.count}}</span>
                  </li>
                </ul>
                <p class="option-btn">
                  <a-button @click="handleCondition('range','publicationDate','公开日')">筛选</a-button>
                  <a-button @click="handleCondition('not range','publicationDate','公开日')">过滤</a-button>
                </p>
              </a-checkbox-group>
            </a-collapse-panel>
            <a-collapse-panel key="5" header="申请日">
              <a-checkbox-group v-model="checkedOption.systemCount" style="width:100%">
                <ul class="option-list" v-if="leftOptions.systemCount">
                  <li v-for="item in leftOptions.systemCount" v-if="item.count!=='0'">
                    <a-checkbox :value="item.code" :checked="item.checked" :disabled="item.disabled"
                      @change="checkChange(item)">{{item.code}}</a-checkbox>
                    <span>{{item.count}}</span>
                  </li>
                </ul>
                <p class="option-btn">
                  <a-button @click="handleCondition('range','system','申请日')">筛选</a-button>
                  <a-button @click="handleCondition('not range','system','申请日')">过滤</a-button>
                </p>
              </a-checkbox-group>
            </a-collapse-panel>
            <a-collapse-panel key="6" header="申请人">
              <a-checkbox-group v-model="checkedOption.assigneeHarmonizedCount" style="width:100%">
                <ul class="option-list" v-if="leftOptions.assigneeHarmonizedCount">
                  <li v-for="item in leftOptions.assigneeHarmonizedCount" v-if="item.count!=='0'">
                    <a-checkbox :value="item.code||item.text" :checked="item.checked" :disabled="item.disabled" @change="checkChange(item)">{{item.text}}</a-checkbox>
                    <a-checkbox :value="item.code||item.text" :checked="item.checked" :disabled="item.disabled"
                      @change="checkChange(item)">{{item.text}}</a-checkbox>
                    <span>{{item.count}}</span>
                  </li>
                </ul>
@@ -120,7 +116,8 @@
              <a-checkbox-group v-model="checkedOption.inventorHarmonizedCount" style="width:100%">
                <ul class="option-list" v-if="leftOptions.inventorHarmonizedCount">
                  <li v-for="item in leftOptions.inventorHarmonizedCount" v-if="item.count!=='0'">
                    <a-checkbox :value="item.code||item.text" :checked="item.checked" :disabled="item.disabled" @change="checkChange(item)">{{item.text}}</a-checkbox>
                    <a-checkbox :value="item.code||item.text" :checked="item.checked" :disabled="item.disabled"
                      @change="checkChange(item)">{{item.text}}</a-checkbox>
                    <span>{{item.count}}</span>
                  </li>
                </ul>
@@ -130,11 +127,32 @@
                </p>
              </a-checkbox-group>
            </a-collapse-panel>
            <a-collapse-panel key="8" header="战略新兴产业分类">
            <a-collapse-panel key="8" header="IPC分类号">
              <a-checkbox-group v-model="checkedOption.ipcListCount" style="width:100%">
                <ul class="option-list" v-if="leftOptions.ipcListCount">
                  <li v-for="item in leftOptions.ipcListCount" v-if="item.count!=='0'">
                    <a-checkbox :value="item.code" :checked="item.checked" :disabled="item.disabled"
                      @change="checkChange(item)">{{item.text}}</a-checkbox>
                    <span>{{item.count}}</span>
                  </li>
                </ul>
                <p class="option-btn">
                  <a-button @click="handleCondition('in','ipcList','IPC分类')">筛选</a-button>
                  <a-button @click="handleCondition('not in','ipcList','IPC分类')">过滤</a-button>
                </p>
              </a-checkbox-group>
            </a-collapse-panel>
            <!-- <a-collapse-panel key="9" header="中国申请人地址">
             未知
            </a-collapse-panel> -->
            <a-collapse-panel key="10" header="战略新兴产业分类">
              <a-checkbox-group v-model="checkedOption.strategyIndustryCount" style="width:100%">
                <ul class="option-list" v-if="leftOptions.strategyIndustryCount">
                  <li v-for="item in leftOptions.strategyIndustryCount" v-if="item.count!=='0'">
                    <a-checkbox :value="item.code" :checked="item.checked" :disabled="item.disabled" @change="checkChange(item)">{{item.text}}</a-checkbox>
                    <a-checkbox :value="item.code" :checked="item.checked" :disabled="item.disabled"
                      @change="checkChange(item)">{{item.text}}</a-checkbox>
                    <span>{{item.count}}</span>
                  </li>
                </ul>
@@ -144,11 +162,12 @@
                </p>
              </a-checkbox-group>
            </a-collapse-panel>
            <a-collapse-panel key="9" header="国民经济行业分类">
            <a-collapse-panel key="11" header="国民经济行业分类">
              <a-checkbox-group v-model="checkedOption.economyIndustryCount" style="width:100%">
                <ul class="option-list" v-if="leftOptions.economyIndustryCount">
                  <li v-for="item in leftOptions.economyIndustryCount" v-if="item.count!=='0'">
                    <a-checkbox :value="item.code" :checked="item.checked" :disabled="item.disabled" @change="checkChange(item)">{{item.text}}</a-checkbox>
                    <a-checkbox :value="item.code" :checked="item.checked" :disabled="item.disabled"
                      @change="checkChange(item)">{{item.text}}</a-checkbox>
                    <span>{{item.count}}</span>
                  </li>
                </ul>
@@ -163,10 +182,9 @@
      </section>
      <section class="right">
        <!-- v-if="num" -->
        <div class="header flex justify-between item-center" >
        <div class="header flex justify-between item-center">
          <div>
            共<span>{{ num }}</span
            >条专利
            共<span>{{ num }}</span>条专利
          </div>
          <a-button type="link" icon="download" @click="exportShow=true">
            导出
@@ -174,27 +192,23 @@
        </div>
        <div class="dataList white">
          <div class="checkAll">
            <a-checkbox
              @change="onChangeAll"
              :indeterminate="indeterminate"
              :checked="checkAll"
            >
            <a-checkbox @change="onChangeAll" :indeterminate="indeterminate" :checked="checkAll">
              全选此页
            </a-checkbox>
            <div class="sort">
              <span style="margin:0 10px">排序:</span>
              <a-select v-model="sortFields" style="width: 130px" @change="reloadPageList">
              <a-select-option value="_score">相关度</a-select-option>
              <a-select-option value="system">申请日</a-select-option>
              <a-select-option value="publicationDate">公开日</a-select-option>
              <a-select-option value="citedCount">被引用数量</a-select-option>
              <a-select-option value="citationCount">引用数量</a-select-option>
              <a-select-option value="publicationNumber">公开号</a-select-option>
              <a-select-option value="applicationNumber">申请号</a-select-option>
              <a-select-option value="priorityDate">最早优先权日</a-select-option>
              <a-select-option value="sameFamilyCount">同族数量</a-select-option>
              <a-select-option value="assigneeHarmonizedCount">申请人数量</a-select-option>
              <a-select-option value="inventorHarmonizedCount">发明人数量</a-select-option>
                <a-select-option value="_score">相关度</a-select-option>
                <a-select-option value="system">申请日</a-select-option>
                <a-select-option value="publicationDate">公开日</a-select-option>
                <a-select-option value="citedCount">被引用数量</a-select-option>
                <a-select-option value="citationCount">引用数量</a-select-option>
                <a-select-option value="publicationNumber">公开号</a-select-option>
                <a-select-option value="applicationNumber">申请号</a-select-option>
                <a-select-option value="priorityDate">最早优先权日</a-select-option>
                <a-select-option value="sameFamilyCount">同族数量</a-select-option>
                <a-select-option value="assigneeHarmonizedCount">申请人数量</a-select-option>
                <a-select-option value="inventorHarmonizedCount">发明人数量</a-select-option>
              </a-select>
              <a-radio-group v-model="direction" button-style="solid" style="margin-left:10px" @change="reloadPageList">
                <a-radio-button value="desc">
@@ -207,25 +221,25 @@
            </div>
          </div>
          <a-spin :spinning="spinning">
          <div class="list" v-show="plainOptions.length" v-for="(item, index) in plainOptions" :key="index">
            <div class="item">
              <div class="header">
                <span class="point">
                  <a-checkbox :checked="item.check" @change="onChange(item)" />
                </span>
                <span class="application cm-hover ellipsis" @click="handleItem(item)">
                  <span style="margin-right:16px">{{item.publicationNumber}}</span>
                  <span>{{ item.title0 || '-' }}</span>
                </span>
                <a-tag v-if="item.status_dictText == '失效'" color="#f50">
                  失效
                </a-tag>
                <a-tag v-if="item.status_dictText == '有效'" color="green"> 有效 </a-tag>
                <a-tag v-if="item.status_dictText == '审查中'" color="orange"> 审查中 </a-tag>
              </div>
              <div class="title cm-hover ellipsis" @click="handleItem(item)">{{ item.title1 }}</div>
              <ul>
                <!-- <li>
            <div class="list" v-show="plainOptions.length" v-for="(item, index) in plainOptions" :key="index">
              <div class="item">
                <div class="header">
                  <span class="point">
                    <a-checkbox :checked="item.check" @change="onChange(item)" />
                  </span>
                  <span class="application cm-hover ellipsis" @click="handleItem(item)">
                    <span style="margin-right:16px">{{item.publicationNumber}}</span>
                    <span>{{ item.title0 || '-' }}</span>
                  </span>
                  <a-tag v-if="item.status_dictText == '失效'" color="#f50">
                    失效
                  </a-tag>
                  <a-tag v-if="item.status_dictText == '有效'" color="green"> 有效 </a-tag>
                  <a-tag v-if="item.status_dictText == '审查中'" color="orange"> 审查中 </a-tag>
                </div>
                <div class="title cm-hover ellipsis" @click="handleItem(item)">{{ item.title1 }}</div>
                <ul>
                  <!-- <li>
                  <span>公开(公告)日:</span
                  ><span>{{ $fnFormatDate(item.publicationDate ) }}</span>
                </li>
@@ -243,64 +257,43 @@
                  <span>IPC分类号:</span><span>{{ item.ipcList ||'-' }}</span>
                </li> -->
                <li>
                  <span>申请日:</span
                  ><span>{{$fnFormatDate(item.system)}}</span>
                </li>
                <li>
                  <span>公开日:</span
                  ><span>{{ $fnFormatDate(item.publicationDate ) }}</span>
                </li>
                <li>
                  <span>申请号:</span><span>{{ item.applicationNumber }}</span>
                </li>
                <li>
                  <span>发明人:</span><span>{{ item.inventorHarmonizedName }}</span>
                </li>
                <li>
                  <span>申请人:</span
                  ><span>{{ item.assigneeHarmonizedName }}</span>
                </li>
                <li>
                  <span>IPC分类号:</span><span>{{ item.ipcList ||'-' }}</span>
                </li>
                <!-- <li >
                  <li>
                    <span>申请日:</span><span>{{$fnFormatDate(item.system)}}</span>
                  </li>
                  <li>
                    <span>公开日:</span><span>{{ $fnFormatDate(item.publicationDate ) }}</span>
                  </li>
                  <li>
                    <span>申请号:</span><span>{{ item.applicationNumber }}</span>
                  </li>
                  <li>
                    <span>发明人:</span><span>{{ item.inventorHarmonizedName }}</span>
                  </li>
                  <li>
                    <span>申请人:</span><span>{{ item.assigneeHarmonizedName }}</span>
                  </li>
                  <li>
                    <span>IPC分类号:</span><span>{{ item.ipcList ||'-' }}</span>
                  </li>
                  <!-- <li >
                  <span >摘要:</span><span>{{ item.abstract1 }}</span>
                </li> -->
                <li >
                  <span >摘要:</span>
                </li>
<!-- 申请日
公开日
申请号
发明人
申请人
IPC分类号
摘要 -->
              </ul>
              <div class="content">{{ item.abstract1 }}</div>
                  <li>
                    <span>摘要:</span>
                  </li>
                </ul>
                <div class="content">{{ item.abstract1 }}</div>
              </div>
            </div>
          </div>
          <div style="text-align:right" v-if="num>10">
            <a-pagination
              :default-current="1"
              :total="num"
              @change="onPageChange"
            />
          </div>
          <a-empty v-show="plainOptions.length == 0 & !spinning" />
            <div style="text-align:right" v-if="num>10">
              <a-pagination :default-current="1" :total="num" @change="onPageChange" />
            </div>
            <a-empty v-show="plainOptions.length == 0 & !spinning" />
          </a-spin>
        </div>
      </section>
    </main>
    <a-modal
      title="数据导出"
      :visible="exportShow"
      :width="1200"
      :footer="null"
      @cancel="exportShow=false"
    >
    <a-modal title="数据导出" :visible="exportShow" :width="1200" :footer="null" @cancel="exportShow=false">
      <export-com v-if="exportShow" :total="num" />
    </a-modal>
  </div>
@@ -309,22 +302,22 @@
<script>
//这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
//例如:import 《组件名称》 from '《组件路径》';
import { GetPatentListbyAdvance, GetPatentList , GetPatentListbyLaw , GetPatentListCount,GetPatentListbyPatch} from "@/api/url_analyst";
import { GetPatentListbyAdvance, GetPatentList, GetPatentListbyLaw, GetPatentListCount, GetPatentListbyPatch } from "@/api/url_analyst";
import ExportCom from '../components/ExportCom.vue'
export default {
  //import引入的组件需要注入到components对象中才能使用
  components: {ExportCom},
  components: { ExportCom },
  data() {
    //这里存放数据
    return {
      ScrollHeight: document.documentElement.scrollTop,
      siftDialog: false, //筛选弹窗
      keyWord: "",
      conditionAnd:[],
      conditionAnd: [],
      num: 0,
      pageNo: 1,
      spinning:false,
      spinning: false,
      indeterminate: false, //全选此页多选
      checkAll: false, //全选此页全选
      indeterminatePatent: false, //全部专利多选
@@ -333,109 +326,155 @@
      checkAllCountry: false, //全选专利国家全选
      checkCountryList: false, //全选专利国家分类
      plainOptions: [],
      leftOptions:{
        countryCodeCount:[]
      leftOptions: {
        countryCodeCount: []
      },
      length: 0, //复选框选中数量
      exportShow:false,
      checkedOption:{
      exportShow: false,
      checkedOption: {
      },
      currentUrl:null,
      currentParams:{},
      direction:'desc',
      sortFields:'publicationDate'
      currentUrl: null,
      currentParams: {},
      direction: 'desc',
      sortFields: 'publicationDate'
    };
  },
  //计算属性 类似于data概念
  computed: {},
  //监控data中的数据变化
  watch: {
    ScrollHeight() {},
    "$route"(){
    ScrollHeight() { },
    "$route"() {
      window.location.reload()
    }
  },
  //方法集合
  mounted() {
    let from = this.$route.query.from
    this.getOptions()
    this.initSearch(from)
    // let namiPOarams = JSON.parse(localStorage.getItem('namiParams'))
    // console.log(namiPOarams);
    // if(namiPOarams){
    //   this.handleCondition(namiPOarams.rule,namiPOarams.field,namiPOarams.name)
    // }
  },
  methods: {
    keyWordSearch(){
      if(!this.keyWord){
    keyWordSearch() {
      if (!this.keyWord) {
        this.$message.warning('请输入非空的关键词进行智能检索!')
      }else{
      } else {
        this.getPageList()
      }
    },
    checkChange(item){
    checkChange(item) {
      console.log(item)
      this.$set(item,'checked',!item.checked)
      this.$set(item, 'checked', !item.checked)
    },
    handleCondition(rule,field,name){
    handleCondition(rule, field, name) {
      console.log(rule, field, name);
      let checkedList = []
      this.leftOptions[field+"Count"].forEach(item=>{
        if(item.checked && !item.disabled){
      // console.log(this.leftOptions);
      // if(this.leftOptions[field + "Count"]){
        this.leftOptions[field + "Count"].forEach(item => {
          console.log(item);
        if (item.checked && !item.disabled) {
          item.disabled = true
          checkedList.push(item)
        }
      })
      if(checkedList.length==0) return
      let conditionItem = this.conditionAnd.find(item=>item.field==field&&item.rule==rule)
      if(conditionItem){
      console.log(checkedList);
      // }
      // this.leftOptions[field + "Count"].forEach(item => {
      //   if (item.checked && !item.disabled) {
      //     item.disabled = true
      //     checkedList.push(item)
      //   }
      // })
      if (checkedList.length == 0) return
      let conditionItem = this.conditionAnd.find(item => item.field == field && item.rule == rule)
      if (conditionItem) {
        conditionItem.checkedList.push(...checkedList)
        conditionItem.val = conditionItem.checkedList.map(item=>item.code||item.text).join(',')
      }else{
        conditionItem.val = conditionItem.checkedList.map(item => item.code || item.text).join(',')
      } else {
        let obj = {
          field,
          rule,
          name,
          checkedList,
          val:checkedList.map(item=>item.code||item.text).join(','),
          childFieldLevel:0,
          val: checkedList.map(item => item.code || item.text).join(','),
          childFieldLevel: 0,
        }
        if (field.indexOf('ipcList') > -1) {
          obj.field = 'ipcListObject'
        } else if (field.indexOf('assigneeHarmonized') > -1) {
          obj.field = 'assigneeHarmonizedNameArray'
        } else if (field.indexOf('inventorHarmonized') > -1) {
          obj.field = 'inventorHarmonizedNameArray'
        } else if (field.indexOf('strategyIndustry') > -1) {
          obj.field = 'straIndustryList'
        } else if (field.indexOf('economyIndustry') > -1) {
          obj.field = 'ecoIndustryList'
        }else if(field.indexOf('namiParams') > -1) {
          obj.val = '纳米产业'
        }
        console.log(obj);
        this.conditionAnd.push(obj)
      }
      this.initSearch()
    },
    conditionRemove(index,item){
    conditionRemove(index, item) {
      console.log(index, item);
      if (item.field.indexOf('ipcListObject') > -1) {
        item.field = 'ipcList'
      } else if (item.field.indexOf('assigneeHarmonizedNameArray') > -1) {
        item.field = 'assigneeHarmonized'
      } else if (item.field.indexOf('inventorHarmonizedNameArray') > -1) {
        item.field = 'inventorHarmonized'
      } else if (item.field.indexOf('straIndustryList') > -1) {
        item.field = 'strategyIndustry'
      } else if (item.field.indexOf('ecoIndustryList') > -1) {
        item.field = 'economyIndustry'
      }
      let val = item.val
      let checkedCode = []
      this.leftOptions[item.field+"Count"].forEach(it=>{
        if(val.indexOf(it.code||it.text)>=0){
      this.leftOptions[item.field + "Count"].forEach(it => {
        if (val.indexOf(it.code || it.text) >= 0) {
          it.checked = false
          it.disabled = false
        }
        if(it.checked) checkedCode.push(it.code||it.text)
        if (it.checked) checkedCode.push(it.code || it.text)
      })
      this.checkedOption[item.field+"Count"] = checkedCode
      this.conditionAnd.splice(index,1)
      this.checkedOption[item.field + "Count"] = checkedCode
      console.log(this.checkedOption);
      this.conditionAnd.splice(index, 1)
      this.initSearch()
    },
    initSearch(from){
    initSearch(from) {
      this.direction = 'desc'
      if(from){
      if (from) {
        this.sortFields = 'publicationDate'
        this.currentParams =  JSON.parse(this.$route.query.params)
        switch(from){
        this.currentParams = JSON.parse(this.$route.query.params)
        switch (from) {
          case 'home':
            this.currentUrl = GetPatentList
          break;
            break;
          case 'law':
            this.currentUrl = GetPatentListbyLaw
          break;
            break;
          case 'batch':
            this.currentUrl = GetPatentListbyPatch
          break;
            break;
          case 'senior':
            this.currentUrl = GetPatentListbyAdvance
            this.currentParams = {
              conditionAnd:JSON.parse(this.$route.query.params),
              conditionAnd: JSON.parse(this.$route.query.params),
              conditionFilter: [
                {
                  "countryCode": "",
@@ -444,24 +483,24 @@
                }
              ],
            }
          break;
            break;
        }
      }else{
      } else {
        this.sortFields = '_score'
        this.currentUrl = GetPatentListbyAdvance
        // 涉及时间的要特殊处理,多选时间要拆分
        let conditionAnd = []
        this.conditionAnd.map(item=>{
          if(item.rule=='range'||item.rule=='not range'){
            item.checkedList.map(it=>{
        this.conditionAnd.map(item => {
          if (item.rule == 'range' || item.rule == 'not range') {
            item.checkedList.map(it => {
              conditionAnd.push({
                field:item.field,
                rule:item.rule,
                start:it.code + '-01-01',
                end:(Number(it.code)+1) + '-01-01'
                field: item.field,
                rule: item.rule,
                start: it.code + '-01-01',
                end: (Number(it.code) + 1) + '-01-01'
              })
            })
          }else{
          } else {
            conditionAnd.push(item)
          }
        })
@@ -480,7 +519,7 @@
      this.reloadPageList()
    },
    reloadPageList(){
    reloadPageList() {
      this.pageNo == 1
      this.getPageList()
    },
@@ -488,36 +527,37 @@
      this.spinning = true
      this.currentUrl({
        pageNo: this.pageNo,
        pageSize:10,
        sortFields:[{
          direction:this.direction,
          field:this.sortFields,
        pageSize: 10,
        sortFields: [{
          direction: this.direction,
          field: this.sortFields,
        }],
        ...this.currentParams
      }).then((res) => {
        this.plainOptions = res.Data.records.map(item=>{
        this.plainOptions = res.Data.records.map(item => {
          item.check = false
          return item
        })
        this.num = res.Data.total;
        this.spinning = false
      }).catch(()=>{
      }).catch(() => {
        this.spinning = false
        this.plainOptions = []
        this.num = 0
      })
    },
    getOptions(){
      GetPatentListCount({value:''}).then(res=>{
    getOptions() {
      GetPatentListCount({ value: '' }).then(res => {
        this.leftOptions = res.Data
        console.log(this.leftOptions);
      })
    },
    handleItem(item){
    },
    handleItem(item) {
      // localStorage.setItem('searchItem',JSON.stringify(item))
      window.open('/#/detail/'+item.id)
      window.open('/#/detail/' + item.id)
      // this.$router.push('/detail/'+item.id)
    },
    onPageChange(current){
    onPageChange(current) {
      this.pageNo = current
      this.getPageList()
    },
@@ -558,42 +598,47 @@
      }
    },
  },
  beforeCreate() {}, //生命周期 - 创建之前
  beforeCreate() { }, //生命周期 - 创建之前
  //生命周期 - 创建完成(可以访问当前this实例)
  created() {},
  beforeMount() {}, //生命周期 - 挂载之前
  created() { },
  beforeMount() { }, //生命周期 - 挂载之前
  //生命周期 - 挂载完成(可以访问DOM元素)
  beforeUpdate() {}, //生命周期 - 更新之前
  updated() {}, //生命周期 - 更新之后
  beforeDestroy() {}, //生命周期 - 销毁之前
  destroyed() {}, //生命周期 - 销毁完成
  activated() {}, //如果页面有keep-alive缓存功能,这个函数会触发
  beforeUpdate() { }, //生命周期 - 更新之前
  updated() { }, //生命周期 - 更新之后
  beforeDestroy() { }, //生命周期 - 销毁之前
  destroyed() { }, //生命周期 - 销毁完成
  activated() { }, //如果页面有keep-alive缓存功能,这个函数会触发
};
</script>
<style lang="scss" scoped>
.search {
  min-width: 1280px;
  padding: 40px 0;
  header {
    width: 100%;
    position: relative;
    display: flex;
    justify-content: space-between;
    .logo {
      width: 40%;
      height: 62px;
      position: relative;
      img {
        position: absolute;
        left: 50px;
        top: 0;
        width: 145px;
        height: 62px;
        @media screen and (max-width: 1280px) {
          left: 0;
        }
      }
    }
    .features {
      width: 60%;
      display: flex;
@@ -606,31 +651,38 @@
        height: 62px;
        line-height: 70px;
      }
      .login {
        .icon-201yonghu_yonghu2 {
          font-size: 25px;
          cursor: pointer;
        }
      }
      .home_icon {
        position: relative;
        top: 5px;
        a {
          color: #ef8201;
          .icon-shouye {
            font-size: 25px;
          }
        }
      }
      .nav {
        @media (min-width: 1280px) {
          min-width: 80px;
        }
        cursor: pointer;
        background: #ef8201;
        color: #ffffff;
        font-size: 16px;
        position: relative;
        .menuList {
          width: 100%;
          position: absolute;
@@ -639,6 +691,7 @@
          border: 1px solid #c2c2c2;
          z-index: 999;
          display: none;
          li {
            height: 40px;
            line-height: 40px;
@@ -647,18 +700,22 @@
            color: black;
            text-align: center;
          }
          a:hover {
            color: #ef8201;
          }
        }
      }
      .nav:hover .menuList {
        display: block;
      }
      .classList {
        width: 70%;
        display: flex;
        justify-content: space-around;
        .item {
          height: 50px;
          margin-top: 12px;
@@ -669,27 +726,35 @@
          font-style: normal;
          font-size: 20px;
          cursor: pointer;
          a {
            color: #333333;
          }
          a:hover {
            color: #ef8201;
          }
          span:hover {
            color: #ef8201;
          }
        }
        .item:hover {
          border-bottom: 5px solid #ef8201;
        }
        .secItem {
          border-bottom: 5px solid #ef8201;
          span {
            color: #ef8201;
          }
        }
        .patent {
          position: relative;
          .patentShow {
            display: none;
            position: absolute;
@@ -698,22 +763,27 @@
            border: 1px solid #c2c2c2;
            // box-shadow: 0px 0px 3px 1px;
            z-index: 999;
            li {
              margin: 2px 0;
              text-align: center;
              font-size: 16px;
              color: black;
            }
            li:hover a {
              color: #ef8201;
            }
          }
        }
        .patent:hover .patentShow {
          display: block;
        }
        .Retrieval {
          position: relative;
          .RetrievalShow {
            display: none;
            position: absolute;
@@ -722,30 +792,36 @@
            border: 1px solid #c2c2c2;
            // box-shadow: 0px 0px 3px 1px;
            z-index: 999;
            li {
              height: 40px;
              line-height: 40px;
              text-align: center;
              font-size: 16px;
              color: black;
              span {
                font-size: 20px;
              }
            }
            li:hover a {
              color: #ef8201;
            }
          }
        }
        .Retrieval:hover .RetrievalShow {
          display: block;
        }
      }
      .language {
        cursor: pointer;
        width: 10%;
        display: flex;
        justify-content: space-around;
        li {
          height: 62px;
          line-height: 73px;
@@ -755,10 +831,12 @@
          font-style: normal;
          font-size: 16px;
        }
        li:nth-child(1) {
          color: #ef8201;
        }
      }
      .home_icon,
      .classList,
      .language,
@@ -767,6 +845,7 @@
          display: none;
        }
      }
      .nav {
        @media screen and (max-width: 1280px) {
          position: absolute;
@@ -776,64 +855,80 @@
    }
  }
}
main {
  width: 100%;
  display: flex;
  .left {
    width: 20%;
    .left_search {
      padding: 0 25px;
    }
    .condition-box{
    .condition-box {
      border: 1px solid #ef8201;
      padding: 10px;
      margin-bottom: 10px;
      li{
      li {
        display: flex;
        // align-items: center;
        span.in{
        span.in {
          color: green;
          &.not{
          &.not {
            color: red;
          }
        }
        span.label{
        span.label {
          max-width: 70px;
          margin-right: 8px;
          white-space: nowrap;
          overflow: hidden;
          text-overflow: ellipsis;
        }
        span.list{
        span.list {
          flex: 1;
          color: #ef8201;
        }
        .anticon-close{
        .anticon-close {
          cursor: pointer;
          padding-top: 3px;
          &:hover{
          &:hover {
            color: #ef8201;
          }
        }
      }
    }
    .option-list li{
    .option-list li {
      display: flex;
      width: 100%;
      justify-content: space-between;
    }
    .option-btn{
    .option-btn {
      padding-top: 10px;
      >*{
      >* {
        margin-right: 8px;
      }
    }
    .siftDialog {
      margin: 20px auto;
      width: 90%;
      text-align: left;
      border: 1px solid #c2c2c2;
      div {
        width: 80%;
        font-family: "微软雅黑";
@@ -842,17 +937,20 @@
        font-size: 12px;
        margin: 5px auto;
      }
      span {
        width: 80%;
        padding-left: 30px;
      }
    }
    .allPatent {
      width: 100%;
      padding-left: 25px;
      margin: 20px auto;
      display: flex;
    }
    .countryList {
      width: 100%;
      margin: 10px auto;
@@ -860,23 +958,27 @@
      display: flex;
      flex-direction: column;
      flex-wrap: nowrap;
      .list {
        width: 100%;
        padding-left: 20px;
        .item {
          display: block;
          margin: 2px 0;
          text-align: left;
        }
      }
    }
    .more {
      width: 100%;
      padding-left: 25px;
      height: 40px;
      line-height: 40px;
      display: flex;
      .sift,
      .exclude {
        width: 60px;
@@ -887,23 +989,28 @@
      }
    }
  }
  .right {
    width: 80%;
    padding: 0 20px;
    .header {
      width: 100%;
      // height: 60px;
      // line-height: 60px;
      text-align: center;
      display: flex;
      div {
        margin: 0 20px;
      }
    }
    .dataList {
      width: 100%;
      margin-top: 20px;
      padding: 40px;
      .checkAll {
        width: 100%;
        text-align: left;
@@ -911,16 +1018,20 @@
        display: flex;
        align-items: center;
      }
      .list {
        width: 100%;
        margin-bottom: 40px;
        display: flex;
        .item {
          width: 100%;
          text-align: left;
          .header {
            width: 100%;
            align-items: center;
            // background: #ffffff;
            .point {
              position: relative;
@@ -931,16 +1042,19 @@
              // border-radius: 50%;
              margin: 0 5px 0 0;
            }
            .application {
              font-size: 18px;
              font-weight: 400;
              cursor: pointer;
            }
            .ant-tag {
              height: 20px;
              margin-left: 10px;
            }
          }
          .title {
            padding-left: 20px;
            font-size: 20px;
@@ -948,11 +1062,14 @@
            font-weight: bold;
            cursor: pointer;
          }
          ul {
            width: 100%;
            padding-left: 20px;
            li {
              margin: 5px 0;
              // display: flex;
              span:nth-child(1) {
                color: #a0a2a0;
@@ -961,6 +1078,7 @@
              }
            }
          }
          .content {
            // color: #a0a2a0;
            font-size: 14px;
@@ -973,6 +1091,7 @@
    }
  }
}
footer {
  // position: absolute;
  // bottom: 0;
@@ -985,6 +1104,7 @@
  font-style: normal;
  font-size: 14px;
  text-align: center;
  // @media (max-width: 1280px) {
  //   position: relative;
  //   top: var(--height);
@@ -994,6 +1114,7 @@
    margin: 0 auto;
    line-height: 80px;
    justify-content: space-between;
    @media (max-width: 1280px) {
      width: 90%;
    }