zhongshujie
13 小时以前 894bbea89dd32c42750a39790883840a3fe35796
Merge branch 'master' of http://182.92.203.7:2001/r/wyyDatabase
9个文件已修改
3个文件已添加
396 ■■■■ 已修改文件
dist.zip 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/css/base.css 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/font/SourceHanSansCN-Bold.otf 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/font/SourceHanSansCN-Regular.otf 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/images/right_arrow.svg 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/index.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/achievements/details.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/achievements/index.vue 275 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/chronology/floatingWindow.vue 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/chronology/index.vue 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/chronology/yearWindow.vue 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/directory/index.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dist.zip
Binary files differ
src/assets/css/base.css
@@ -101,11 +101,11 @@
@font-face {
  font-family: "siyuanBold";
  src: url(../font/SourceHanSerifCN-Bold.otf);
  src: url(../font/SourceHanSansCN-Bold.otf);
}
@font-face {
  font-family: "siyuan";
  src: url(../font/SourceHanSerifCN-Regular.otf);
  src: url(../font/SourceHanSansCN-Regular.otf);
}
src/assets/font/SourceHanSansCN-Bold.otf
Binary files differ
src/assets/font/SourceHanSansCN-Regular.otf
Binary files differ
src/assets/images/right_arrow.svg
New file
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="48" height="48" viewBox="0 0 48 48"><defs><clipPath id="master_svg0_55_1931"><rect x="0" y="0" width="48" height="48" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_55_1931)"><g><rect x="0" y="0" width="48" height="48" rx="0" fill="#FFFFFF" fill-opacity="0.009999999776482582" style="mix-blend-mode:passthrough"/></g><g><path d="M9.15075,9.15076Q3,15.3015,3,24Q3,32.698499999999996,9.15076,38.8492Q15.3015,45,24,45Q32.698499999999996,45,38.8492,38.8492Q45,32.698499999999996,45,24Q45,15.3015,38.8492,9.15075Q32.698499999999996,3,24,3Q15.3015,3,9.15075,9.15076ZM10.564969999999999,37.435Q5,31.8701,5,24Q5,16.1299,10.564969999999999,10.564969999999999Q16.1299,5,24,5Q31.8701,5,37.435,10.564969999999999Q43,16.1299,43,24Q43,31.8701,37.435,37.435Q31.8701,43,24,43Q16.1299,43,10.564969999999999,37.435Z" fill-rule="evenodd" fill="#6F5A3A" fill-opacity="1" style="mix-blend-mode:passthrough"/></g><g><path d="M14.49163818359375,23.5L32.49163818359375,23.5Q32.59013818359375,23.5,32.68673818359375,23.519215Q32.78333818359375,23.538429999999998,32.87433818359375,23.576121Q32.96533818359375,23.613812,33.04723818359375,23.66853Q33.12913818359375,23.723249,33.19873818359375,23.792893Q33.268338183593755,23.862537,33.32313818359375,23.94443Q33.37783818359375,24.026322,33.41553818359375,24.117317Q33.453238183593754,24.208311,33.47243818359375,24.30491Q33.49163818359375,24.4015086,33.49163818359375,24.5Q33.49163818359375,24.5984914,33.47243818359375,24.69509Q33.453238183593754,24.791689,33.41553818359375,24.882683Q33.37783818359375,24.973678,33.32313818359375,25.05557Q33.268338183593755,25.137463,33.19873818359375,25.207107Q33.12913818359375,25.276751,33.04723818359375,25.33147Q32.96533818359375,25.386188,32.87433818359375,25.423879Q32.78333818359375,25.461570000000002,32.68673818359375,25.480785Q32.59013818359375,25.5,32.49163818359375,25.5L14.49163818359375,25.5Q14.39314678359375,25.5,14.29654818359375,25.480785Q14.19994918359375,25.461570000000002,14.10895518359375,25.423879Q14.01796018359375,25.386188,13.93606818359375,25.33147Q13.85417518359375,25.276751,13.78453118359375,25.207107Q13.71488718359375,25.137463,13.66016818359375,25.05557Q13.60545018359375,24.973678,13.56775918359375,24.882683Q13.53006818359375,24.791689,13.510853183593749,24.69509Q13.49163818359375,24.5984914,13.49163818359375,24.5Q13.49163818359375,24.4015086,13.510853183593749,24.30491Q13.53006818359375,24.208311,13.56775918359375,24.117317Q13.60545018359375,24.026322,13.66016818359375,23.94443Q13.71488718359375,23.862537,13.78453118359375,23.792893Q13.85417518359375,23.723249,13.93606818359375,23.66853Q14.01796018359375,23.613812,14.10895518359375,23.576121Q14.19994918359375,23.538429999999998,14.29654818359375,23.519215Q14.39314678359375,23.5,14.49163818359375,23.5Z" fill-rule="evenodd" fill="#6F5A3A" fill-opacity="1" style="mix-blend-mode:passthrough"/></g><g><path d="M22.78453118359375,16.207107Q22.64387918359375,16.066455,22.56775818359375,15.882683Q22.49163818359375,15.698912,22.49163818359375,15.5Q22.49163818359375,15.4015086,22.51085318359375,15.30491Q22.530068183593748,15.208311,22.56775918359375,15.117317Q22.60545018359375,15.026322,22.66016818359375,14.94443Q22.71488718359375,14.862537,22.78453118359375,14.792893Q22.85417518359375,14.723249,22.93606818359375,14.66853Q23.01796018359375,14.613812,23.10895518359375,14.576121Q23.19994918359375,14.53843,23.29654818359375,14.519214999999999Q23.39314678359375,14.5,23.49163818359375,14.5Q23.69055018359375,14.5,23.87432118359375,14.57612Q24.05809318359375,14.652241,24.19874518359375,14.792893L33.19874818359375,23.79289Q33.33939818359375,23.93355,33.41551818359375,24.11732Q33.49163818359375,24.301090000000002,33.49163818359375,24.5Q33.49163818359375,24.698909999999998,33.41551818359375,24.88268Q33.33939818359375,25.06645,33.19874818359375,25.20711L24.19874518359375,34.2071Q24.05809218359375,34.3478,23.87432118359375,34.4239Q23.69055018359375,34.5,23.49163818359375,34.5Q23.39314678359375,34.5,23.29654818359375,34.4808Q23.19994918359375,34.461600000000004,23.10895518359375,34.4239Q23.01796018359375,34.3862,22.93606818359375,34.3315Q22.85417518359375,34.276700000000005,22.78453118359375,34.2071Q22.71488718359375,34.1375,22.66016818359375,34.0556Q22.60545018359375,33.9737,22.56775918359375,33.8827Q22.530068183593748,33.7917,22.51085318359375,33.6951Q22.49163818359375,33.5985,22.49163818359375,33.5Q22.49163818359375,33.301100000000005,22.56775818359375,33.1173Q22.64387918359375,32.933499999999995,22.78453118359375,32.7929L22.78541118359375,32.792L31.07742818359375,24.5L22.78453118359375,16.207107L22.78453118359375,16.207107Z" fill-rule="evenodd" fill="#6F5A3A" fill-opacity="1" style="mix-blend-mode:passthrough"/></g></g></svg>
src/layout/index.vue
@@ -114,13 +114,14 @@
    background: #937950;
    display: flex;
    flex-direction: column;
    font-family: Alimama DongFangDaKai;
    font-family: siyuanBlod;
    .leftMenuTitle {
      width: 100%;
      height: 50px;
      line-height: 50px;
      text-align: center;
      margin-top: 20px;
      color: #fff;
      font-size: 24px;
    }
@@ -129,11 +130,14 @@
      font-size: 20px;
      line-height: 30px;
      color: #fff;
      margin: 10px 20px;
      margin: 10px 14px;
      margin-top: 0px;
      padding: 10px 0;
      text-align: center;
      border-top: 1px solid #fff;
      border-bottom: 1px solid #fff;
      letter-spacing: 4px;
      white-space: nowrap;
    }
    .leftMenuList > menuItem:first-child {
@@ -146,7 +150,7 @@
      justify-content: space-around;
      border-top: 1px solid #b9a587;
      margin-top: 20px;
      font-weight: bold;
      .menuItem {
        width: 100%;
        display: flex;
@@ -161,6 +165,7 @@
        cursor: pointer;
        .menuText {
          line-height: 50px;
          font-weight: 700;
        }
        i {
src/views/achievements/details.vue
@@ -182,6 +182,7 @@
    if (this.details.cmsItemType == "video" || this.details.cmsItemType == "audio") {
      if (this.details.file != "") {
        this.details.src = await this.getResourcePath(this.details.file)
        console.log(this.details.src, "视频地址");
      }
    }
src/views/achievements/index.vue
@@ -19,12 +19,17 @@
        </ul>
        <!-- 高级搜索 -->
        <div v-if="isDisplay" class="page-search">
          <MyForm class="myfrom" @submit="
          <MyForm
            class="myfrom"
            @submit="
            (data) => {
              CurrentPage = 1;
              onSubmit(data);
            }
          " @reset="resetForm" :from="from" />
            "
            @reset="resetForm"
            :from="from"
          />
        </div>
        <!-- 搜索结果 -->
        <div class="page-content">
@@ -34,15 +39,31 @@
              <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>
@@ -53,25 +74,50 @@
                  <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="{
                <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>
                  }"
                  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>
@@ -83,23 +129,42 @@
                  <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="{
                <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>
                  }"
                >
                  <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>
@@ -109,39 +174,67 @@
              <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>
@@ -158,22 +251,46 @@
              <li class="main-author">
                {{ item.author }}
              </li>
              <li class="main-title" :title="item.cleanAbstract" v-if="item.abstract">
              <li
                class="main-title"
                :title="item.cleanAbstract"
                v-if="item.abstract"
              >
                <span>摘要: </span>
                <span class="page-main-abstract" v-html="item.cleanAbstract"></span>
              </li>
              <li class="main-keyword" v-if="item.keyWords && item.keyWords.length > 0">
              <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"
                  @click="() => handleSearch({ text: citem, type: 'keyWords', label: '关键词' })">
                <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>
@@ -468,14 +585,21 @@
  methods: {
    categoryChange(val) {
      console.log(val, "val");
      if (val.checked) {
        this.categoryChecList.push(val.value);
        this.associationList.push({
          type: "类型",
          content: val.name,
        });
      } else {
        const index = this.categoryChecList.findIndex(
          (item) => item === val.value
        );
        const index2 = this.associationList.findIndex(
          (item) => item.name === val.name
        );
        this.categoryChecList.splice(index, 1);
        this.associationList.splice(index2, 1);
      }
      this.getItemList();
    },
@@ -578,12 +702,12 @@
      );
      this.inputValue = "";
      // 通知父组件数据已改变
      this.getItemList()
      this.getItemList();
    },
    // 搜索
    handleSearch(isText) {
      this.associationList = []
      this.associationList = [];
      if (isText.text != "") {
        this.inputValue = isText.text;
        this.inputType = isText.type;
@@ -598,19 +722,25 @@
    // 请求数据
    getItemList() {
      let searchData = {}; // 初始化一个空对象来存储搜索数据
      if (this.inputValue) { // 如果输入值存在
        if (this.inputType != "all") { // 如果输入类型不是"all"
      if (this.inputValue) {
        // 如果输入值存在
        if (this.inputType != "all") {
          // 如果输入类型不是"all"
          // 将输入值与输入类型关联,并添加一个星号(*)作为后缀
          searchData[this.inputType + "*"] = this.inputValue;
        } else { // 如果输入类型是"all"
        } else {
          // 如果输入类型是"all"
          // 遍历输入选项
          for (let index = 0; index < this.inputOptions.length; index++) {
            const item = this.inputOptions[index]; // 获取当前选项
            if (item.value !== "all") { // 如果当前选项的值不是"all"
              if (!Object.keys(searchData).length) { // 如果searchData是空的
            if (item.value !== "all") {
              // 如果当前选项的值不是"all"
              if (!Object.keys(searchData).length) {
                // 如果searchData是空的
                // 将第一个选项的值与输入值关联,并添加一个星号(*)作为后缀
                searchData[item.value + "*"] = this.inputValue;
              } else { // 如果searchData不是空的
              } else {
                // 如果searchData不是空的
                // 使用"||"作为前缀,将后续选项的值与输入值关联,并添加一个星号(*)作为后缀
                // 这通常用于构建一个逻辑或(OR)查询
                searchData["||" + item.value + "*"] = this.inputValue;
@@ -619,6 +749,19 @@
          }
        }
      }
      if (this.associationList && this.associationList.length) {
        this.associationList.forEach((item) => {
          if (item.value == "year") {
            const endDate = item.content.split("/")[0] + "/12/31 23:59:59";
            const startDate = item.content.split("/")[0] + "/01/01 00:00:00";
            searchData[item.value + ">="] = startDate;
            searchData[item.value + "<="] = endDate;
          } else {
            searchData[item.value + "*"] = item.content;
          }
        });
      }
      console.log(searchData, "searchData");
      MG.resource
        .getItem({
          path: "*",
@@ -664,10 +807,12 @@
              item.cleanAbstract = item.abstract.replace(/<[^>]+>/g, "");
            }
            const foundItem = this.category.list.find((citem) => citem.value == item.cmsItemType);
            item.resourceTypeName = foundItem ? foundItem.name : '';
          })
          this.resultList = res.datas
            const foundItem = this.category.list.find(
              (citem) => citem.value == item.cmsItemType
            );
            item.resourceTypeName = foundItem ? foundItem.name : "";
          });
          this.resultList = res.datas;
          this.total = res.total;
          this.loading = false;
        }).catch((error) => {
@@ -692,11 +837,11 @@
      this.getItemList(); // 重新获取数据
      // 滚动到页面顶部
      this.$nextTick(() => {
        const pageMain = document.querySelector('.page-main-father');
        const pageMain = document.querySelector(".page-main-father");
        if (pageMain) {
          pageMain.scrollTo({
            top: 0,
            behavior: 'smooth'
            behavior: "smooth",
          });
        }
      });
@@ -745,7 +890,6 @@
::v-deep .el-loading-spinner {
  .el-loading-text {
    font-size: 14px;
    color: #937950;
  }
@@ -755,7 +899,6 @@
    color: #937950;
  }
}
.page-main-father {
  flex: 1;
@@ -813,10 +956,8 @@
      font-family: Source Han Sans;
      font-size: 14px;
      font-weight: bold;
      color: #2C2C2C;
      color: #2c2c2c;
    }
  }
  .input-txt {
@@ -869,7 +1010,6 @@
        background-color: transparent;
        color: #937950;
        border: 1px solid #937950;
        ;
        cursor: pointer;
        &:hover {
@@ -1002,7 +1142,10 @@
  }
  ::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;
  }
@@ -1259,7 +1402,9 @@
  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;
@@ -1276,9 +1421,7 @@
  color: #937950 !important;
  border-color: #937950 !important;
  font-weight: bold;
}
.el-select-dropdown__item.selected {
  color: #937950 !important;
src/views/chronology/floatingWindow.vue
@@ -4,7 +4,7 @@
      class="journalBox"
      v-if="info.cmsItemType === 'journal' || info.cmsItemType === 'books'"
    >
      <div class="title">{{ info.name }}</div>
      <div :title="info.name" class="title">{{ info.name }}</div>
      <div class="subtitle">
        <div class="source">{{ info.source }}</div>
        <div class="journalInformation">{{ info.IssueNumber }}</div>
@@ -43,7 +43,7 @@
      </div>
    </div>
    <div class="videoBox" v-if="info.cmsItemType === 'video'">
      <video width="370" height="200" controls :src="info.requestCtx"></video>
      <video width="370" height="200" controls :src="info.fileLink"></video>
      <div>
        <div class="subtitle">
@@ -53,14 +53,15 @@
        <div class="contentBox" style="text-align: left">
          <div class="contentBox" style="text-align: left">
          <div class="audioContent" v-html="info.abstract"></div>
        </div></div>
          </div>
        </div>
      </div>
    </div>
    <div class="audioBox" v-if="info.cmsItemType === 'audio'">
      <div style="text-align: center">
        <audio
          style="width: 90%"
          src="https://www.w3schools.com/html/horse.ogg"
          :src="info.fileLink"
          controls
        ></audio>
      </div>
@@ -76,7 +77,7 @@
    </div>
    <div class="btnBox">
      <div class="detailBtn">查看详情</div>
      <div @click="toDetail" class="detailBtn">查看详情</div>
    </div>
  </div>
</template>
@@ -94,7 +95,14 @@
  data() {
    return {};
  },
  mounted() {
    console.log(this.info);
  },
  methods: {
    toDetail() {
      this.$router.push({ name: "details", query: { id: this.info.id } });
    },
  },
};
</script>
@@ -112,6 +120,10 @@
  font-size: 16px;
  line-height: 22px;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-top: 10px;
}
.subtitle {
@@ -205,4 +217,9 @@
  overflow-y: auto;
  margin-top: 20px;
}
video {
      border-radius: 10px;
      border: 1px solid #dcdcdc;
      box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
    }
</style>
src/views/chronology/index.vue
@@ -96,7 +96,8 @@
import floatingWindow from "./floatingWindow.vue";
import yearWindow from "./yearWindow.vue";
import { nextTick } from "vue";
import fileApi from "@/assets/js/middleGround/api/file";
import { requestCtx, appRefCode } from "@/assets/js/config";
export default {
  components: {
    floatingWindow,
@@ -158,6 +159,7 @@
          },
        })
        .then(async (res) => {
          console.log(res, "res");
          for (let i = 0; i < res.datas.length; i++) {
            const item = res.datas[i];
            this.$set(item, "showDetail", false);
@@ -172,7 +174,6 @@
            }
          }
          console.log(this.contentList, "this.contentList");
          this.contentList = res.datas;
          this.showList = true;
        });
@@ -205,13 +206,12 @@
      const filterList = yearDataList.datas.filter((item) => {
        return item.cmsItemType != "chronology" && item.cmsItemType != "AWARD";
      });
      if (filterList && filterList.length > 0) {
        for (let i = 0; i < filterList.length; i++) {
          const item = filterList[i];
          if (item.file) {
            const requestCtx =
              this.config.requestCtx + `/file/api/ApiDownload?md5=${item.file}`;
            const requestCtx = await this.getResourcePath(item.file);
            console.log(requestCtx, "requestCtx");
            this.$set(item, "fileLink", requestCtx);
          }
          this.$set(item, "showDetail", false);
@@ -224,6 +224,20 @@
      }
      return filterList;
    },
    // 获取阿里云加速地址 (视频,音频)
    async getResourcePath(md5) {
      try {
        // 如果返回的数据为空或未定义,则拼接默认下载路径
        return requestCtx + "/file/api/ApiDownload?md5=" + md5;
      } catch (error) {
        // 捕获异常并打印错误日志
        console.error("获取资源路径失败:", error);
        // 返回一个默认值或抛出错误(根据业务需求)
        return requestCtx + "/file/api/ApiDownload?md5=" + md5;
      }
    },
    closeDetail(index, cindex, type) {
      for (let i = 0; i < this.contentList.length; i++) {
        const item = this.contentList[i];
@@ -297,6 +311,7 @@
  display: flex;
  flex-direction: column;
  overflow: auto;
  font-family: Source Han Sans;
}
.pageBox {
@@ -469,7 +484,11 @@
  border: 2px solid #cbbeaa;
  box-shadow: 2px 2px 4px 1px rgba(0, 0, 0, 0.5);
}
video {
  border-radius: 10px;
  border: 1px solid #dcdcdc;
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
}
.yaerWindow {
  position: absolute;
  left: -54px;
@@ -501,7 +520,6 @@
::v-deep .el-loading-spinner {
  .el-loading-text {
    font-size: 14px;
    color: #937950;
  }
@@ -511,5 +529,4 @@
    color: #937950;
  }
}
</style>
src/views/chronology/yearWindow.vue
@@ -4,10 +4,20 @@
    <div class="content">
      <div class="leftTxt" v-html="info.eventOverview"></div>
      <div class="rightimg">
        <div v-if="imgLink != ''" class="imgBox">
        <div class="imgBox" style="text-align: center" v-if="imgLink != ''">
          <div class="arrowBox leftArrowBox">
            <img class="autoImg" :src="arrow" alt="" />
          </div>
          <div class="imgBox">
          <img class="autoImg" :src="imgLink" alt="" />
        </div>
        <div style="text-align: center; font-size: 18px; color: #999" v-else>暂无图片</div>
          <div class="arrowBox">
            <img  class="autoImg" :src="arrow" alt="" />
          </div>
        </div>
        <div style="text-align: center; font-size: 18px; color: #999" v-else>
          暂无图片
        </div>
      </div>
    </div>
  </div>
@@ -15,7 +25,7 @@
<script>
import { getPublicImage } from "@/assets/js/middleGround/tool";
import arrow from "@/assets/images/right_arrow.svg";
export default {
  name: "floatingWindow",
  props: {
@@ -28,6 +38,7 @@
    return {
      title: "",
      imgLink: "",
      arrow,
    };
  },
  methods: {},
@@ -49,7 +60,7 @@
  padding: 15px;
  z-index: 20;
  box-sizing: border-box;
  background-color: #FDF8F0;
  background-color: #fdf8f0;
}
.content {
  display: flex;
@@ -61,11 +72,13 @@
  overflow: hidden;
  white-space: normal;
  overflow-y: auto;
  padding: 10px;
}
.rightimg {
  width: 350px;
  height: 100%;
  padding: 10px;
  padding-top: 0px;
}
.title {
  font-size: 24px;
@@ -77,4 +90,22 @@
  min-height: 300px;
  position: relative;
}
.arrowBox {
  width: 30px;
  height: 30px;
  position: relative;
}
.imgBox{
  display: flex;
  justify-content: center;
  align-items: center;
}
.arrowBox{
  margin: 0 5px;
}
.leftArrowBox{
  transform: rotate(180deg);
}
</style>
src/views/directory/index.vue
@@ -595,6 +595,7 @@
  overflow: hidden;
  display: flex;
  flex-direction: column;
  font-family: Source Han Sans;
}
.page-header {