杨磊
17 小时以前 8b3880c31ceb67416a6eee67ed059d3c17f3d9ec
src/views/achievements/index.vue
@@ -19,17 +19,12 @@
        </ul>
        <!-- 高级搜索 -->
        <div v-if="isDisplay" class="page-search">
          <MyForm
            class="myfrom"
            @submit="
              (data) => {
                CurrentPage = 1;
                onSubmit(data);
              }
            "
            @reset="resetForm"
            :from="from"
          />
          <MyForm class="myfrom" @submit="
            (data) => {
              CurrentPage = 1;
              onSubmit(data);
            }
          " @reset="resetForm" :from="from" />
        </div>
        <!-- 搜索结果 -->
        <div class="page-content">
@@ -39,31 +34,15 @@
              <li class="left-title">
                <span>{{ category.title }}</span>
                <p @click="category.isDisplay = !category.isDisplay">
                  <img
                    :src="[category.isDisplay ? topIcon : bottomIcon]"
                    alt=""
                  />
                  <img :src="[category.isDisplay ? topIcon : bottomIcon]" alt="" />
                </p>
              </li>
              <li class="left-main" v-if="category.isDisplay">
                <div
                  class="category-main"
                  v-for="(item, index) in category.list"
                  :key="index"
                >
                  <el-checkbox
                    class="el-checkbox"
                    v-model="item.checked"
                    :title="item.name"
                    @change="categoryChange(item)"
                    style="display: inline-block; vertical-align: middle"
                    >{{ item.name }}</el-checkbox
                  >
                  <span
                    class=""
                    style="display: inline-block; vertical-align: middle"
                    >{{ item.num }}</span
                  >
                <div class="category-main" v-for="(item, index) in category.list" :key="index">
                  <el-checkbox class="el-checkbox" v-model="item.checked" :title="item.name"
                    @change="categoryChange(item)" style="display: inline-block; vertical-align: middle">{{ item.name
                    }}</el-checkbox>
                  <span class="" style="display: inline-block; vertical-align: middle">{{ item.num }}</span>
                </div>
              </li>
            </ul>
@@ -74,50 +53,25 @@
                  <span>{{ annual.title }}</span>
                  <span>
                    时间
                    <img
                      class="sort-Icon"
                      :src="[isDisplay ? sortTop : sortBottom]"
                      alt=""
                    />
                    <img class="sort-Icon" :src="[isDisplay ? sortTop : sortBottom]" alt="" />
                  </span>
                  <span
                    >文献量
                    <img
                      class="sort-Icon"
                      :src="[isDisplay ? sortBottom : sortTop]"
                      alt=""
                    />
                  <span>文献量
                    <img class="sort-Icon" :src="[isDisplay ? sortBottom : sortTop]" alt="" />
                  </span>
                </div>
                <p @click="annual.isDisplay = !annual.isDisplay">
                  <img
                    :src="[annual.isDisplay ? topIcon : bottomIcon]"
                    alt=""
                  />
                  <img :src="[annual.isDisplay ? topIcon : bottomIcon]" alt="" />
                </p>
              </li>
              <li class="left-main" v-if="annual.isDisplay">
                <div
                  class="annual-main"
                  :style="{
                    display: index + 1 > professionIndex ? 'none' : '',
                  }"
                  v-for="(item, index) in annual.list"
                  :key="index"
                >
                  <el-checkbox
                    class="el-checkbox"
                    v-model="item.checked"
                    :title="item.years"
                    >{{ item.years }}</el-checkbox
                  >
                <div class="annual-main" :style="{
                  display: index + 1 > professionIndex ? 'none' : '',
                }" v-for="(item, index) in annual.list" :key="index">
                  <el-checkbox class="el-checkbox" v-model="item.checked" :title="item.years">{{ item.years
                  }}</el-checkbox>
                  <span class="">{{ item.num }}</span>
                </div>
                <p
                  class="annual-footer"
                  v-if="annual.list && annual.list.length > 5"
                  @click="shrinkClick('a', '年度')"
                >
                <p class="annual-footer" v-if="annual.list && annual.list.length > 5" @click="shrinkClick('a', '年度')">
                  {{ activeBox !== "a" ? "更多 ∨" : "收起 ∧" }}
                </p>
              </li>
@@ -129,42 +83,23 @@
                  <span>{{ sources.title }}</span>
                  <span>
                    文献量
                    <img
                      class="sort-Icon"
                      :src="[isDisplay ? sortBottom : sortTop]"
                      alt=""
                    />
                    <img class="sort-Icon" :src="[isDisplay ? sortBottom : sortTop]" alt="" />
                  </span>
                </div>
                <p @click="sources.isDisplay = !sources.isDisplay">
                  <img
                    :src="[sources.isDisplay ? topIcon : bottomIcon]"
                    alt=""
                  />
                  <img :src="[sources.isDisplay ? topIcon : bottomIcon]" alt="" />
                </p>
              </li>
              <li class="left-main" v-if="sources.isDisplay">
                <div
                  class="sources-main"
                  v-for="(item, index) in sources.list"
                  :key="index"
                  :style="{
                    display: index + 1 > dynastyIndex ? 'none' : '',
                  }"
                >
                  <el-checkbox
                    class="el-checkbox"
                    :title="item.name"
                    v-model="item.checked"
                    >{{ item.name }}</el-checkbox
                  >
                <div class="sources-main" v-for="(item, index) in sources.list" :key="index" :style="{
                  display: index + 1 > dynastyIndex ? 'none' : '',
                }">
                  <el-checkbox class="el-checkbox" :title="item.name" v-model="item.checked">{{ item.name
                  }}</el-checkbox>
                  <span class="">{{ item.num }}</span>
                </div>
                <p
                  class="sources-footer"
                  v-if="sources.list && sources.list.length > 5"
                  @click="shrinkClick('b', '文献来源')"
                >
                <p class="sources-footer" v-if="sources.list && sources.list.length > 5"
                  @click="shrinkClick('b', '文献来源')">
                  {{ activeBox !== "b" ? "更多 ∨" : "收起 ∧" }}
                </p>
              </li>
@@ -174,67 +109,39 @@
              <li class="left-title">
                <span>{{ subject.title }}</span>
                <p @click="subject.isDisplay = !subject.isDisplay">
                  <img
                    :src="[subject.isDisplay ? topIcon : bottomIcon]"
                    alt=""
                  />
                  <img :src="[subject.isDisplay ? topIcon : bottomIcon]" alt="" />
                </p>
              </li>
              <li class="left-main" v-if="subject.isDisplay">
                <div
                  class="category-main"
                  v-for="(item, index) in subject.list"
                  :key="index"
                >
                  <el-checkbox
                    class="el-checkbox"
                    v-model="item.checked"
                    :title="item.name"
                    @change="subjectChange(item)"
                    >{{ item.name }}</el-checkbox
                  >
                <div class="category-main" v-for="(item, index) in subject.list" :key="index">
                  <el-checkbox class="el-checkbox" v-model="item.checked" :title="item.name"
                    @change="subjectChange(item)">{{ item.name }}</el-checkbox>
                  <span class="">{{ item.num }}</span>
                </div>
              </li>
            </ul>
          </div>
          <div
            class="content-right"
            v-loading="loading"
            element-loading-text="检索结果加载中"
            element-loading-spinner="el-icon-loading"
            element-loading-background="rgba(0, 0, 0, 0)"
          >
          <div class="content-right" v-loading="loading" element-loading-text="检索结果加载中"
            element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0)">
            <!-- title部分 -->
            <ul class="right-header">
              <li v-for="(item, index) in associationList" :key="index">
                <p>{{ item.type }} : {{ item.content }}</p>
                <img
                  @click="removeAssociationList(item.content)"
                  :src="errorIcon"
                  alt=""
                />
                <img @click="removeAssociationList(item.content)" :src="errorIcon" alt="" />
              </li>
            </ul>
            <!-- 共xx条 -->
            <ul class="right-number">
              <ul class="number-number">
                共找到<span>{{ this.total }}</span
                >条结果
                共找到<span>{{ this.total }}</span>条结果
              </ul>
              <ul class="number-time">
                发表时间
                <span @click="sortChange()"
                  ><img :src="!postedSortInfo ? sortBottom : sortTop" alt=""
                /></span>
                <span @click="sortChange()"><img :src="!postedSortInfo ? sortBottom : sortTop" alt="" /></span>
              </ul>
            </ul>
            <!-- 结果展示 -->
            <ul
              class="right-main"
              v-for="(item, index) in resultList"
              :key="index"
            >
            <ul class="right-main" v-for="(item, index) in resultList" :key="index">
              <li class="main-name">
                <p>{{ item.name }}</p>
                <p>
@@ -257,29 +164,20 @@
              </li>
              <li class="main-keyword" v-if="item.keyWords && item.keyWords.length > 0">
                <span>关键词:</span>
                <span
                  class="keyWord"
                  v-for="(citem, cindex) in item.keyWords"
                  :key="cindex"
                >
                <span class="keyWord" v-for="(citem, cindex) in item.keyWords" :key="cindex"
                  @click="() => handleSearch({ text: citem, type: 'keyWords', label: '关键词' })">
                  {{ citem }}
                </span>
              </li>
            </ul>
            <!-- 分页 -->
            <div class="pagination" v-if="total > 6">
              <el-pagination
                @current-change="handleCurrentChange"
                class="msg-pagination-container"
                :background="isBackground"
                layout="prev, pager, next"
                :total="total"
                :page-size="6"
              >
              <el-pagination @current-change="handleCurrentChange" class="msg-pagination-container"
                :background="isBackground" layout="prev, pager, next" :total="total" :page-size="6">
              </el-pagination>
            </div>
            <el-empty v-if="!loading && !resultList.length"></el-empty>
          </div>
          <el-empty v-if="!loading && !resultList.length"></el-empty>
        </div>
      </div>
    </div>
@@ -761,7 +659,10 @@
              // 设置一个默认值或者进行其他错误处理
              item.keyWords = [];
            }
            // item.cleanAbstract = item.abstract.replace(/<[^>]+>/g, "");
            if (item.abstract) {
              item.cleanAbstract = item.abstract.replace(/<[^>]+>/g, "");
            }
            const foundItem = this.category.list.find((citem) => citem.value == item.cmsItemType);
            item.resourceTypeName = foundItem ? foundItem.name : '';
          })
@@ -827,6 +728,20 @@
  }
}
::v-deep .el-loading-spinner {
  .el-loading-text {
    font-size: 14px;
    color: #937950;
  }
  .el-icon-loading {
    font-size: 14px;
    color: #937950;
  }
}
.page-main-father {
  flex: 1;
  width: 100%;
@@ -850,16 +765,43 @@
  background-color: #fefbf5;
  border: 1px solid #e4dace;
  .input-main {
  ::v-deep(.input-main) {
    padding: 15px 0;
    display: flex;
    justify-content: center;
    width: 90%;
    border-right: 2px solid #e4dace;
    font-weight: bold;
    .input-with-select {
      width: 50%;
      font-weight: bold;
    }
    .el-select .el-input.is-focus .el-input__inner {
      color: #937950 !important;
      border-color: #937950 !important;
      font-weight: bold;
    }
    .el-select-dropdown__item.selected {
      color: #937950 !important;
      font-weight: bold;
    }
    .el-select .el-input__inner:focus {
      border-color: #937950;
      font-weight: bold;
    }
    .el-select .el-input__inner {
      font-family: Source Han Sans;
      font-size: 14px;
      font-weight: bold;
      color: #2C2C2C;
    }
  }
  .input-txt {
@@ -911,11 +853,12 @@
        font-size: 14px;
        background-color: transparent;
        color: #937950;
        border: 1px solid #6f5a3a;
        border: 1px solid #937950;
        ;
        cursor: pointer;
        &:hover {
          background-color: #6f5a3a;
          background-color: #937950;
          color: #fffdf8;
        }
      }
@@ -1039,15 +982,12 @@
    border-color: #d1d1d1;
  }
  ::v-deep .el-checkbox .el-checkbox__input.is-checked + .el-checkbox__label {
  ::v-deep .el-checkbox .el-checkbox__input.is-checked+.el-checkbox__label {
    color: #2c2c2c;
  }
  ::v-deep .el-checkbox .el-checkbox__input.is-checked .el-checkbox__inner,
  ::v-deep
    .el-checkbox
    .el-checkbox__input.is-indeterminate
    .el-checkbox__inner {
  ::v-deep .el-checkbox .el-checkbox__input.is-indeterminate .el-checkbox__inner {
    border-color: #8f7a5a;
    background-color: #8f7a5a;
  }
@@ -1081,6 +1021,7 @@
    .right-header {
      display: flex;
      flex-wrap: wrap;
      li {
        background: #ffffff;
@@ -1092,6 +1033,8 @@
        font-family: Poppins;
        font-size: 13px;
        color: #937950;
        line-height: 20px;
        margin-bottom: 10px;
        img {
          cursor: pointer;
@@ -1151,16 +1094,17 @@
        font-size: 16px;
        font-weight: bold;
        color: #937950;
        margin-bottom: 5px;
        ::v-deep .el-button {
          font-size: 14px;
          background-color: transparent;
          color: #937950;
          border: 1px solid #6f5a3a;
          border: 1px solid #937950;
          border-radius: 0;
          &:hover {
            background-color: #6f5a3a;
            background-color: #937950;
            color: #fffdf8;
          }
        }
@@ -1296,13 +1240,31 @@
  border: 1px solid #cccccc;
}
:deep.msg-pagination-container.is-background
  .el-pager
  li:not(.disabled).active {
:deep.msg-pagination-container.is-background .el-pager li:not(.disabled).active {
  /*当前选中页数的样式进行修改*/
  background-color: #937950;
  color: #fff;
  border-radius: 5px;
  border: 1px solid #cccccc;
}
</style>
<style>
.el-input.is-focus .el-input__inner {
  color: #937950 !important;
  border-color: #937950 !important;
  font-weight: bold;
}
.el-select-dropdown__item.selected {
  color: #937950 !important;
  font-weight: bold;
}
.el-select .el-input__inner:focus {
  border-color: #937950;
  font-weight: bold;
}
</style>