zhongshujie
21 小时以前 5e73d562bae941a7658c3c13fdb585461f1a24e4
src/views/achievements/index.vue
@@ -174,25 +174,13 @@
              <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>
@@ -239,11 +227,13 @@
                <p>{{ item.name }}</p>
                <p>
                  <el-button @click="goPage(item.id)">详情</el-button>
                  <el-button>AI智能阅读</el-button>
                  <el-button @click="openAiReading(item.AIReading, item.name)">AI智能阅读</el-button>
                </p>
              </li>
              <li class="main-sources">
                <span>{{ item.resourceTypeName }}</span>
                <span :class="getResourceTypeClass(item.cmsItemType)">{{
                  item.resourceTypeName
                }}</span>
                <span>{{ item.source }}</span>
                <span>{{ item.year }}</span>
                <span v-if="item.DOI">doi:{{ item.DOI }}</span>
@@ -257,10 +247,7 @@
                v-if="item.abstract"
              >
                <span>摘要: </span>
                <span
                  class="page-main-abstract"
                  v-html="item.cleanAbstract"
                ></span>
                <span class="page-main-abstract" v-html="item.cleanAbstract"></span>
              </li>
              <li
                class="main-keyword"
@@ -292,10 +279,18 @@
                :background="isBackground"
                layout="prev, pager, next"
                :total="total"
                :page-size="6"
                :page-size="10"
              >
              </el-pagination>
            </div>
            <el-dialog v-model="dialogVisible" :title="aIName" width="60vw" top="3vh" bottom="2vh"
              :visible.sync="dialogVisible" class="custom-dialog">
              <div class="AIReadingBox" element-loading-spinner="el-icon-loading"
                element-loading-background="rgba(0, 0, 0, 0)">
                <div class="richTextInitBox" v-if="AIReading" v-html="AIReading"></div>
                <div class="richTextInitError" v-else>网络繁忙,请稍后再试。</div>
              </div>
            </el-dialog>
            <el-empty v-if="!loading && !resultList.length"></el-empty>
          </div>
        </div>
@@ -318,6 +313,9 @@
  },
  data() {
    return {
      dialogVisible: false,
      aIName: "",
      AIReading: "",
      relatedList: [],
      // 输入框的内容
      inputValue: "",
@@ -391,7 +389,7 @@
          {
            type: "input",
            label: "关键词",
            name: "keyword",
            name: "keyWords",
            value: "",
          },
          {
@@ -478,7 +476,6 @@
            num: 24,
            check: false,
          },
        ],
      },
      // 文献来源
@@ -513,7 +510,6 @@
            num: 25,
            check: false,
          },
        ],
      },
      // 学科
@@ -562,11 +558,11 @@
      resultList: [],
      total: 0,
      paginationPage: 1,
      loading: false,
      loading: true,
      labelList: {
        abstract: "摘要",
        author: "作者",
        keyword: "关键词",
        keyWords: "关键词",
        source: "来源",
        Name: "标题",
        year: "年份",
@@ -624,8 +620,8 @@
              content: val[key],
              value: key,
            });
          }else {
            hasKey.content = val[key]
          } else {
            hasKey.content = val[key];
          }
        }
      }
@@ -710,7 +706,6 @@
      console.log(isText, "isText");
      this.associationList = [];
      console.log(isText, "isText");
      if (isText.text != "") {
        this.inputValue = isText.text;
        this.inputType = isText.type;
@@ -754,8 +749,6 @@
          }
        }
      }
      console.log(searchData, "searchData1");
      if (this.associationList && this.associationList.length) {
        this.associationList.forEach((item) => {
          if (item.value == "year") {
@@ -765,6 +758,8 @@
            searchData[item.value + "<="] = endDate;
          } else if (item.value) {
            searchData[item.value + "*"] = item.content;
          } else {
            searchData["||" + item.value + "*"] = item.content;
          }
        });
      }
@@ -774,8 +769,8 @@
          path: "*",
          queryType: "*",
          paging: {
            start: (this.paginationPage - 1) * 6,
            size: 6,
            start: (this.paginationPage - 1) * 10,
            size: 10,
          },
          sort: {
            year: this.postedSortInfo ? "Desc" : "Asc",
@@ -787,6 +782,7 @@
                ? this.categoryChecList
                : this.resourceTypeValueList,
            source: [],
            isbn: [],
            year: [],
            abstract: [],
            keyWords: [],
@@ -858,6 +854,28 @@
      this.postedSortInfo = !this.postedSortInfo;
      this.getItemList();
    },
    getResourceTypeClass(typeName) {
      switch (typeName) {
        case "journal":
          return "journal-color";
        case "books":
          return "books-color";
        case "video":
          return "video-color";
        case "audio":
          return "audio-color";
        case "newspaper":
          return "newspaper-color";
        default:
          return "other-color";
      }
    },
    openAiReading(text, name) {
        this.AIReading = text;
        this.aIName = name;
        this.dialogVisible = true;
    }
  },
};
</script>
@@ -1280,10 +1298,34 @@
        }
      }
      .journal-color {
        background-color: #87a8b9;
      }
      .books-color {
        background-color: #c48787;
      }
      .video-color {
        background-color: #6f8f5a;
      }
      .audio-color {
        background-color: #937950;
      }
      .newspaper-color {
        background-color: #8d77b3;
      }
      .other-color {
        background-color: #009f9f;
      }
      .main-sources {
        span:nth-child(1) {
          padding: 3px 5px;
          background-color: #87a8b9;
          color: #fff;
          margin-right: 10px;
        }
@@ -1376,6 +1418,23 @@
  }
}
.AIReadingBox {
  height: 85vh;
  min-height: 600px;
  padding: 20px 10px;
}
.richTextInitBox {
  height: 100%;
  overflow: auto;
}
.richTextInitError{
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.pagination {
  display: flex;
  justify-content: center;
@@ -1419,8 +1478,21 @@
  border-radius: 5px;
  border: 1px solid #cccccc;
}
:deep.el-pagination.is-background .el-pager li:not(.disabled):hover{
  color: #937950
:deep.el-pagination.is-background .el-pager li:not(.disabled):hover {
  color: #937950;
}
:deep.el-button--primary {
  background-color: #937950;
  color: #937950;
  border: 1px solid #937950;
  cursor: pointer;
  &:hover {
    background-color: #937950;
    color: #fffdf8;
  }
}
</style>