YM
2024-04-26 a640a68b55034ad38b1936eedd33c23f63bec0f0
调整医事制度、医学流派
3个文件已删除
12个文件已修改
2个文件已添加
1795 ■■■■■ 已修改文件
src/api/index.js 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/headNav/headNav.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages.json 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/Login/Login.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/NT/NT.vue 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/RDF/RDF.vue 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/TcmSystem/TcmSystem.vue 986 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/academicGenres/index.vue 275 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/character/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/dataDisplay/dataDisplay.vue 223 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/fileDetail/index.vue 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/forgetPass/forgetPass.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/index/index.vue 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/static/initialize.css 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/uni_modules/next-search-more/components/next-search-more/next-search-more.vue 128 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/request/req1.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/index.js
@@ -144,7 +144,7 @@
export const getFuzzySearch = (requestData) => {
  return req1({
    url: "/person/fuzzySearch?keyword="+requestData?.keyword,
    method: "post",
    method: "post"
  });
};
@@ -218,6 +218,30 @@
};
// -------------------------P
// 朝代
export const getDynastyAll = () => {
  return req1({
    url: "/dynasty/list",
    method: "post"
  });
};
export const getDynasty = () => {
  return req1({
    url: "/dynasty/listAll",
    method: "post"
  });
};
// 学术流派
export const getDynastyStatistics = () => {
  return req1({
    url: "/school/dynasty/statistics",
    method: "get"
  });
};
// 医事制度
// 数据统计
export const getDataStatistics = () => {
@@ -235,11 +259,11 @@
  });
};
// 详情
export const getMedicalDetails = (Obj) => {
export const getMedicalDetails = (data) => {
  return req1({
    url: "/medical/details",
    method: "post",
    data: Obj
    data: data
  });
};
// 取值:RDF、NT、XML、JSON
@@ -252,8 +276,6 @@
};
// -----------
// 中国医学人物知识库
// 数据统计
src/components/headNav/headNav.vue
@@ -292,7 +292,7 @@
        });
      } else if (index === "3") {
        uni.navigateTo({
          url: "/pages/dataDisplay/dataDisplay?id=" + 3
          url: "/pages/academicGenres/index?id=" + 3
        });
      } else if (index === "4") {
        uni.navigateTo({
src/pages.json
@@ -47,7 +47,7 @@
            }
        },
        {
            "path": "pages/dataDisplay/dataDisplay",
            "path": "pages/academicGenres/index",
            "style": {
                "navigationBarTitleText": "",
                "enablePullDownRefresh": false,
@@ -139,16 +139,7 @@
            }
        },
        {
            "path" : "pages/RDF/RDF",
            "style" :
            {
                "navigationBarTitleText" : "",
                "enablePullDownRefresh" : false,
                "navigationStyle": "custom"
            }
        },
        {
            "path" : "pages/NT/NT",
            "path" : "pages/fileDetail/index",
            "style" : 
            {
                "navigationBarTitleText" : "",
src/pages/Login/Login.vue
@@ -231,7 +231,7 @@
                    // })
                } else if (item.id == 3) {
                    uni.navigateTo({
                        url: '/pages/dataDisplay/dataDisplay?id=' + item.id
                        url: '/pages/academicGenres/index?id=' + item.id
                    })
                } else if (item.id == 4) {
                    uni.navigateTo({
src/pages/NT/NT.vue
File was deleted
src/pages/RDF/RDF.vue
File was deleted
src/pages/TcmSystem/TcmSystem.vue
@@ -1,16 +1,25 @@
<template>
    <view>
        <headNav :idIndex="idIndex" text="中医医事制度" />
        <view class="flex flex-center sousuo" style="flex-direction: column;">
    <view class="flex flex-center sousuo" style="flex-direction: column">
            <view class="search1">
                <next-search-more @search="onSearch" placeholder="搜索职官/机构" :selectValue="selectValue">
        <next-search-more
          :keyword="SearchValue"
          @search="onSearch"
          placeholder="搜索职官/机构"
          :selectValue="selectValue"
        >
                </next-search-more>
            </view>
            <view class="flex remen">
                热门搜索:
                <ul class="flex" style="margin-right: 10rpx;">
                    <li v-for="item in hot" :key="item.id" @tap="HotClick(item.id)"
                        style="margin: 0 .05rem;color: #244A7B;">
        <ul class="flex" style="margin-right: 10rpx">
          <li
            v-for="item in hot"
            :key="item.id"
            @tap="HotClick(item.name)"
            style="margin: 0 0.05rem; color: #244a7b; cursor: pointer"
          >
                        {{item.name}}
                    </li>
                </ul>
@@ -20,134 +29,257 @@
            <!-- 左 -->
            <view class="CLeft flex fbox">
                <!-- 职业 -->
                <view class="demo-uni-col MargB  box boox" :class="{ 'a': activeBox === 'a'?'a':'' }"
                    style="background-color: #fff; border: 2rpx solid #e0e0e0;">
                    <h3>{{institution.title}} ({{institution.list.length}}) </h3>
                    <ul style="margin-top: 10rpx;">
                        <!-- background-color: #d6e3f4;border-radius: 60rpx; -->
                        <li class="flex"
                            :style="{'background':institution.index === item.dynastyId ?  '#DDE8F6' :'','borderRadius': institution.index === item.dynastyId ?  '60rpx' :'',display:index+1>institutionIndex?'none':'flex'}"
                            v-for="(item,index) in institution.list" :key="index"
                            style="padding:0 20rpx;color: #2C2C2C;" @click="handInstitCLick(item,'a')">
        <view
          class="demo-uni-col MargB box boox"
          :class="{ a: activeBox === 'a' ? 'a' : '' }"
          style="background-color: #fff; border: 2rpx solid #e0e0e0"
        >
          <h3>{{ institution.title }} ({{ institution.list.length - 1 }})</h3>
          <ul style="margin-top: 10rpx">
            <li
              class="flex"
              :style="{
                background:
                  institution.index === item.dynastyId ? '#DDE8F6' : '',
                borderRadius:
                  institution.index === item.dynastyId ? '60rpx' : '',
                display: index + 1 > institutionIndex ? 'none' : 'flex'
              }"
              v-for="(item, index) in institution.list"
              :key="index"
              style="padding: 0 20rpx; color: #2c2c2c; cursor: pointer"
              @click="handInstitCLick(item, 'a')"
            >
                            <view class="">{{item.dynastyName}}</view>
                            <view class="">{{item.count}}</view>
                        </li>
                    </ul>
                    <view v-if="institution.list.length-1 >3" class="flex flex-center ">
                        <view class="toggleButton" style="color: #244A7B;" @click="shrinkClick('a','机构')">
                            {{ activeBox !== 'a' ? '更多  ﹀' : '收起  ︿' }}
            <view
              class="toggleButton"
              style="color: #244a7b; cursor: pointer"
              @click="shrinkClick('a', '机构')"
            >
              {{ activeBox !== "a" ? "更多  ∨" : "收起  ∧" }}
                        </view>
                    </view>
                </view>
                <!-- 职官统计(10) -->
                <view class="demo-uni-col  MargB dark box boox" :class="{ 'b': activeBox === 'b'?'b':'' }"
                    style="background-color: #fff; border: 2rpx solid #e0e0e0;">
                    <h3>{{officials.title}} ({{officials.list.length}}) </h3>
                    <ul style="margin-top: 10rpx;">
        <view
          class="demo-uni-col MargB dark box boox"
          :class="{ b: activeBox === 'b' ? 'b' : '' }"
          style="background-color: #fff; border: 2rpx solid #e0e0e0"
        >
          <h3>{{ officials.title }} ({{ officials.list.length - 1 }})</h3>
          <ul style="margin-top: 10rpx">
                        <!-- background-color: #d6e3f4;border-radius: 60rpx; -->
                        <li class="flex"
                            :style="{'background':officials.index === item.dynastyId ?  '#DDE8F6' :'','borderRadius': officials.index == item.dynastyId ?  '10rem' :'',display:index+1>officialsIndex?'none':'flex'}"
                            v-for="(item,index) in officials.list" :key="index" style="padding:0 20rpx;"
                            @click="handInstitCLick(item,'b')">
            <li
              class="flex"
              :style="{
                background: officials.index === item.dynastyId ? '#DDE8F6' : '',
                borderRadius: officials.index == item.dynastyId ? '10rem' : '',
                display: index + 1 > officialsIndex ? 'none' : 'flex'
              }"
              v-for="(item, index) in officials.list"
              :key="index"
              style="padding: 0 20rpx; cursor: pointer"
              @click="handInstitCLick(item, 'b')"
            >
                            <view class="">{{item.dynastyName}}</view>
                            <view class="">{{item.count}}</view>
                        </li>
                    </ul>
                    <view v-if="officials.list.length-1 >3" class="flex flex-center ">
                        <view class="toggleButton" style="color: #244A7B;" @click="shrinkClick('b','职官')">
                            {{ activeBox !== 'b' ? '更多  ﹀' : '收起  ︿' }}
            <view
              class="toggleButton"
              style="color: #244a7b; cursor: pointer"
              @click="shrinkClick('b', '职官')"
            >
              {{ activeBox !== "b" ? "更多  ∨" : "收起  ∧" }}
                        </view>
                    </view>
                </view>
                <!-- 来源(5) -->
                <view class="demo-uni-col  dark box boox" style="background-color: #fff; border: 2rpx solid #e0e0e0;">
        <view
          class="demo-uni-col dark box boox"
          style="background-color: #fff; border: 2rpx solid #e0e0e0"
        >
                    <h3>{{source.title}} ({{source.list.length}}) </h3>
                    <ul style="margin-top: 10rpx;">
          <ul style="margin-top: 10rpx">
                        <!-- background-color: #d6e3f4;border-radius: 60rpx; -->
                        <li class="flex" v-for="(item,index) in source.list" style="padding:0 20rpx;color: #244A7B;">
                            <view @click="handInstitCLick(item,'c')" class="BeyondHiding1">{{index+1}}.{{item.source}}
            <li
              class="flex"
              v-for="(item, index) in source.list"
              style="padding: 0 20rpx; color: #244a7b"
            >
              <view @click="handInstitCLick(item, 'c')" class="BeyondHiding1"
                >{{ index + 1 }}.{{ item.source }}
                            </view>
                            <!-- <view class="">{{item.number}}</view> -->
                        </li>
                    </ul>
                </view>
            </view>
            <!-- 右 -->
            <view class="CRight fbox1 flex flex-column relative">
                <!-- <el-row style="height: 50rpx;width: 100%;"> -->
                <view class="flex" style="width: 100%;margin-bottom: .3rem;">
                    <view class="" style="font-size: .14rem;color: #2C2C2C;font-weight: 400;">共{{total}}条</view>
      <view
        class="CRight fbox1 flex flex-column relative"
        v-loading="pageLoading"
      >
        <view class="flex" style="width: 100%; margin-bottom: 0.3rem">
          <view
            class=""
            style="font-size: 0.14rem; color: #2c2c2c; font-weight: 400"
            >共{{ total }}条</view
          >
                    <view class="paixu">
                        <!-- <el-select v-model="rankVal" placeholder="按提名排序">
                            <el-option v-for="(item,index) in rank" :key="index" :label="item.label"
                                :value="item.value"></el-option>
                        </el-select> -->
                        <el-select v-model="rankVal" @change="selectChange" placeholder="请提名排序">
                            <el-option v-for="(item,rankIndex) in rank" :key="rankIndex" :label="item.label"
                                :value="item.value">
            <el-select v-model="rankVal" @change="selectChange">
              <el-option
                v-for="(item, rankIndex) in rank"
                :key="rankIndex"
                :label="item.label"
                :value="item.value"
              >
                            </el-option>
                        </el-select>
                    </view>
                </view>
                <!-- </el-row> flex-grow: 1;-->
                <view style="" class="flex CommodityList">
                    <view class="rightList" @click="ListClick(item)" v-for="item in CommodityList" :key="item">
                        <el-card class="box-card" style="height:  100%;">
        <view class="flex CommodityList">
          <view
            class="rightList"
            @click="ListClick(item)"
            v-for="item in CommodityList"
            :key="item"
          >
            <el-card class="box-card" style="height: 100%">
                            <view class="flex flex-start RightListTop">
                                <view class="Topzhiwei"
                                    style="background-color: #5879a4;text-align: right;;color: #fff;"
                                    :style="{background:item.post === '职官' ? '#DA7A2B' : '#597AA5'}">
                                    <!-- :style="{background:item.color}"> -->
                <view
                  class="Topzhiwei"
                  style="
                    background-color: #5879a4;
                    text-align: right;
                    color: #fff;
                  "
                  :style="{
                    background: item.post === '职官' ? '#DA7A2B' : '#597AA5'
                  }"
                >
                                    {{item.post}}
                                </view>
                                <view class="TopName">{{item.name}}</view>
                                <view class="TopDynasty"
                                    style="border: 1px solid #d4d4d4;font-weight:500;padding: 0 10rpx;border-radius: 10rpx;">
                <view
                  class="TopName flex"
                  :title="item.name"
                  style="justify-content: left"
                >
                  <view class="title">{{ item.name }}</view>
                  <view class="TopDynasty">
                                    {{item.dynasty}}
                                </view>
                            </view>
                            <view class="desBox" style="padding: .14rem .2rem .23rem;">
              </view>
              <view class="desBox" style="padding: 0.14rem 0.2rem 0.23rem">
                                <view class="biecheng">
                                    <view class="flex" title="sdfsdf"> 别称:
                                        <view class="BeyondHiding1" style="width: .75rem;line-height: 1;">
                                            {{item.anotherNamer}}
                  <view
                    class="flex"
                    style="flex: 1; justify-content: left; overflow: hidden"
                  >
                    <view>别称:</view>
                    <view
                      class="BeyondHiding1"
                      style="width: 0.75rem; line-height: 1; flex: 1"
                      :title="item.alias"
                    >
                      {{ item.alias || "-" }}
                                        </view>
                                    </view>
                                    <view class="flex " style="">来源:
                                        <view class="BeyondHiding1" style="margin-left: .1rem;line-height: 1">
                                            {{item.source}}
                  <view
                    class="flex"
                    style="flex: 1; justify-content: left; overflow: hidden"
                  >
                    <view>来源:</view>
                    <view
                      class="BeyondHiding1"
                      style="margin-left: 0.1rem; line-height: 1; flex: 1"
                      :title="item.source"
                    >
                      {{ item.source || "-" }}
                                        </view>
                                    </view>
                                </view>
                                <view class="describe font-family BeyondHiding2">
                                    {{item.content}}
                <view
                  class="describe font-family BeyondHiding2"
                  :title="item.desc"
                >
                  {{ item.desc || "-" }}
                                </view>
                            </view>
                        </el-card>
                    </view>
          <view
            class="nullBox"
            v-if="CommodityList.length == 0 && !pageLoading"
          >
            <el-empty description="暂无数据"></el-empty>
          </view>
                </view>
                <!-- 分页 -->
                <el-row class="fenye" style="position: absolute;bottom: .1rem;">
                    <el-pagination class="paging" :current-page="CurrentPage" :total="total" :page-size="pageSize"
                        @current-change="CurrentChange" @prev-click="PrevClick" @next-click="NextClick" prev-text="上一页"
                        next-text="下一页" background layout="prev, pager, next">
        <el-row
          v-if="CommodityList.length"
          class="fenye"
          style="position: absolute; bottom: 0.1rem"
        >
          <el-pagination
            class="paging"
            :current-page="CurrentPage"
            :total="total"
            :page-size="pageSize"
            @current-change="CurrentChange"
            @prev-click="PrevClick"
            @next-click="NextClick"
            prev-text="上一页"
            next-text="下一页"
            background
            layout="prev, pager, next"
          >
                    </el-pagination>
                </el-row>
            </view>
        </view>
        <!-- 弹出层 -->
        <el-dialog title="" class="dialog" :visible.sync="dialogVisible" width="40%">
    <el-dialog class="dialog" :visible.sync="dialogVisible" width="40%">
            <!-- 取消键 -->
            <view class=""
                style="padding: .16rem;position: absolute;z-index: 9999999999999999999999999999999999999999; left: 0;top: 0;">
                <img @click="dialogVisible=false" src="@/static/image/X.png" alt="" style="width: 100%;height: 100%;"
                    sizes="" srcset="" />
      <view
        class=""
        style="
          padding: 0.16rem;
          position: absolute;
          z-index: 999999;
          left: 0;
          top: 0;
        "
      >
        <img
          @click="dialogVisible = false"
          src="@/static/image/X.png"
          alt=""
          style="width: 100%; height: 100%; cursor: pointer"
          sizes=""
          srcset=""
        />
            </view>
            <view class="flex" style="position: relative; height: 100%;flex-direction: column;">
                <view class="detailImage" style="position: relative;">
      <view
        class="flex"
        style="position: relative; height: 100%; flex-direction: column"
      >
        <view class="detailImage" style="position: relative">
                    <img src="@/static/image/personageBg.png" alt="" />
                    <view class=" flex flex-column "
                        style="height: 100%;justify-content: flex-start; position: relative;z-index: 999;">
          <view
            class="flex flex-column"
            style="
              height: 100%;
              justify-content: flex-start;
              position: relative;
              z-index: 999;
            "
          >
                        <view class="creatureXinxi1">{{ListDetails.name}}</view>
                        <view class="creatureXinxi2">
                            {{ListDetails.dynasty}}
@@ -160,49 +292,89 @@
                        </ul>
                    </view>
                </view>
                <view class="" style="width: 80%; height: 100%;position: relative;">
        <view class="" style="width: 80%; height: 100%; position: relative">
                    <view class="pinji flex ">
                        <view class="">品级: <span> {{ListDetails.grade}}</span> </view>
                        <view class="">别名: <span> {{ListDetails.alias}}</span> </view>
                        <view class="">来源: <span> {{ListDetails.source}}</span> </view>
            <view class=""
              >品级:<span> {{ ListDetails.grade || "-" }}</span>
            </view>
            <view class=""
              >别名:<span> {{ ListDetails.alias || "-" }}</span>
            </view>
            <view class=""
              >来源:<span> {{ ListDetails.source || "-" }}</span>
            </view>
                    </view>
                    <view class="">
                        <view class=""
                            style="font-size: .14rem;color: #2C2C2C;  background-color: #F0F0F0;font-weight: 700;padding-left: .18rem;height: .34rem;line-height: .34rem;">
            <view
              class=""
              style="
                font-size: 0.14rem;
                color: #2c2c2c;
                background-color: #f0f0f0;
                font-weight: 700;
                padding-left: 0.18rem;
                height: 0.34rem;
                line-height: 0.34rem;
              "
            >
                            相关描述
                        </view>
                        <view class="" style="font-size: .1rem;color: #2C2C2C;margin: .1rem 0 .19rem;line-height: 2.3;">
                            {{ListDetails.desc}}
            <view
              class=""
              style="
                font-size: 0.14rem;
                color: #2c2c2c;
                margin: 0.1rem 0 0.19rem;
                line-height: 2.3;
              "
            >
              {{ ListDetails.desc || "-" }}
                        </view>
                        <view class="">
                            <view class=""
                                style="font-size: .14rem;color: #2C2C2C;  background-color: #F0F0F0;font-weight: 700;padding-left: .18rem;height: .34rem;line-height: .34rem;">
              <view
                class=""
                style="
                  font-size: 0.14rem;
                  color: #2c2c2c;
                  background-color: #f0f0f0;
                  font-weight: 700;
                  padding-left: 0.18rem;
                  height: 0.34rem;
                  line-height: 0.34rem;
                "
              >
                                备注
                            </view>
                            <span class="" v-for="item in ListDetails.notesList"
                                style="font-size: .1rem;color: #2C2C2C;margin: .1rem 0 .19rem;line-height: 2.3;">
              <span
                class=""
                v-for="item in ListDetails.notesList"
                style="
                  font-size: 0.14rem;
                  color: #2c2c2c;
                  margin: 0.1rem 0 0.19rem;
                  line-height: 2.3;
                "
              >
                                {{item.content}}
                            </span>
                        </view>
                    </view>
                </view>
                <view class="flex detailsBtn">
        <!-- <view class="flex detailsBtn">
                    <el-button class="flex btn-prev">
                        <view class="flex">
                            <view class="" style="margin-right: 40rpx;">上一条</view>
              <view class="" style="margin-right: 40rpx">上一条</view>
                            <view class="btn-prev-L">机构: 太医院 </view>
                        </view>
                    </el-button>
                    <view class="">
                        102/329
                    </view>
          <view class=""> 102/329 </view>
                    <el-button class="flex btn-next">
                        <view class="flex">
                            <view class="" style="margin-right: 40rpx;">机构: 太医院 </view>
              <view class="" style="margin-right: 40rpx">机构: 太医院 </view>
                            <view class="btn-prev-R">下一条</view>
                        </view>
                    </el-button>
                </view>
        </view> -->
            </view>
        </el-dialog>
@@ -217,8 +389,8 @@
        getMedicalDetails,
        getHotSearch,
        getMedicalDataOutput
    } from '@/api/index.js'
    import Footer1 from '@/components/footer/footer.vue'
} from "@/api/index.js";
import Footer1 from "@/components/footer/footer.vue";
    export default {
        components: {
            Footer1
@@ -227,19 +399,19 @@
            return {
                // 机构统计
                institution: {
                    title: '机构统计',
        title: "机构统计",
                    index: 0,
                    list: [ ]
                },
                // 显示多少条职官数据
                institutionIndex:4,
                // 机构和职官的类型 取值:OFFICIAL->职官 INSTITUTION->机构 ALL->职官、机构
                classifyType: 'ALL',
      classifyType: "ALL",
                // 机构和职官的id
                classifyId: "",
                // 职官统计
                officials: {
                    title: '职官统计',
        title: "职官统计",
                    index: 0,
                    list: [ ]
                },
@@ -247,7 +419,7 @@
                officialsIndex:4,
                // 来源
                source: {
                    title: '来源',
        title: "来源",
                    index: 0,
                    list: [ ]
                },
@@ -258,30 +430,29 @@
                // 弹出层
                dialogVisible: false,
                // 搜索的下拉列表
                selectValue: [{
      selectValue: [
        {
                    value: 0,
                    text: '医事制度'
                }, {
                    value: 1,
                    text: '11sd1'
                }, {
                    value: 2,
                    text: '11sdsd1'
                }],
          text: "医事制度"
        }
      ],
                // 热门搜索  
                hot: [],
                // 点击的搜索项
                HotBg: false,
                // 排序下拉菜单
                rank: [{
                    value: 'CREATE',
                    label: '创建时间'
                }, {
                    value: 'NAME',
                    label: '名称'
                }],
                rankVal: 'NAME',
      rank: [
        {
          value: "CREATE",
          label: "按创建时间排序"
        },
        {
          value: "NAME",
          label: "按名称排序"
        }
      ],
      rankVal: "NAME",
                // 列表项  
                CommodityList: [ ],
                // 列表的详情数据
@@ -293,149 +464,138 @@
                // 一页显示多少条数据
                pageSize: 6,
                // 搜索的value
                SearchValue: ''
            }
      SearchValue: "",
      pageLoading: true
    };
  },
  onLoad(options) {
    this.idIndex = options.id;
        },
        mounted() {
            // 修改两次的高度保持一致
            var box1Height = document.querySelector('.fbox').offsetHeight;
            console.log(box1Height, 'box1Height');
            document.querySelector('.fbox1').style.height = box1Height + 'px';
    var box1Height = document.querySelector(".fbox").offsetHeight;
            // 接口左侧的机构统计等
            this.getStatistics()
            this.getMList()
        },
        onLoad(options) {
            this.idIndex = options.id
            console.log('optionsoptionsoptions', options.id);
    this.getStatistics();
    this.getMList();
        },
        methods: {
            // 接口的数据统计
            async getStatistics() {
                await getHotSearch().then(res => {
                    console.log(res, '热门搜索');
                    this.hot = Object.keys(res.object).map(key => {
    getStatistics() {
      getHotSearch().then((res) => {
        this.hot = Object.keys(res.object).map((key) => {
                        return {
                            id: parseInt(key),
                            name: res.object[key]
                        };
                    })
                })
                await getDataStatistics().then(res => {
                    let totalCount1 = res.object.institutionStatistic.details.reduce((total, item) => total +
                        item.count, 0);
                    let totalCount2 = res.object.officialStatistic.details.reduce((total, item) => total + item
                        .count, 0);
        });
      });
      getDataStatistics().then((res) => {
                    this.institution.list = [
                        // {
                        //     count: totalCount1,
                        //     dynastyId: 0,
                        //     dynastyName: "全部"
                        // },
          {
            count: res.object.institutionStatistic.totalCount,
            dynastyId: "",
            dynastyName: "全部"
          },
                        ...res.object.institutionStatistic.details
                    ]
                    this.institution.index = this.institution.list[0].dynastyId
        ];
        // this.institution.index = this.institution.list[0].dynastyId;
                    this.officials.list = [
                        // {
                        //     count: totalCount2,
                        //     dynastyId: 0,
                        //     dynastyName: "全部"
                        // },
          {
            count: res.object.officialStatistic.totalCount,
            dynastyId: "",
            dynastyName: "全部"
          },
                        ...res.object.officialStatistic.details
                    ]
                    this.officials.index = this.officials.list[0].dynastyId
                    // this.officials.list = res.object.officialStatistic.details
                    this.source.list = res.object.sourceStatistic.details
                    this.source.index = this.source.list[0].bookId
                    // let a = [{count:4,dynastyName:'sdf'}]
                    //  [{name:'sdf',number}]
                    console.log(res, '接口成功sdsdfsdsfs');
                })
        ];
        // this.officials.index = this.officials.list[0].dynastyId;
        this.source.list = res.object.sourceStatistic.details;
        this.source.index = this.source.list[0].bookId;
      });
            },
            // 右侧的list数据 
            async getMList(obj) {
    getMList(obj) {
      this.pageLoading = true;
                let Obj = {
                    medicalSearchType: "ALL",
                    "type": this.classifyType, //查询类型 取值:OFFICIAL->职官 INSTITUTION->机构 ALL->职官、机构
                    "name": this.SearchValue, //搜索框检索
                    "dynastyId": this.classifyId, //点击朝代查询数据时,带上此参数
                    "sort": this.rankVal, //排序方式 取值:CREATE创建时间,NAME名称
                    "page": this.CurrentPage, //第几页
                    "pageSize": this.pageSize //每页数量
                }
                await getMedicalList(Obj).then(res => {
                    this.CommodityList = res.list.map(item => {
        type: this.classifyType, //查询类型 取值:OFFICIAL->职官 INSTITUTION->机构 ALL->职官、机构
        name: this.SearchValue, //搜索框检索
        dynastyId: this.classifyId, //点击朝代查询数据时,带上此参数
        sort: this.rankVal, //排序方式 取值:CREATE创建时间,NAME名称
        page: this.CurrentPage, //第几页
        pageSize: this.pageSize //每页数量
      };
      getMedicalList(Obj).then((res) => {
        this.CommodityList = res.list.map((item) => {
                        return {
                            id: item.id,
                            post: item.type === 'OFFICIAL' ? '职官' : item.type === 'INSTITUTION' ?
                                '机构' : '职官、机构',
                            name: item.name,
                            anotherNamer: item.alias,
                            source: item.source, // 来源
                            dynasty: item.dynasty, // 朝代
                            content: item.desc,
            post:
              item.type === "OFFICIAL"
                ? "职官"
                : item.type === "INSTITUTION"
                ? "机构"
                : "职官、机构",
                            ...item
                        }
                    })
          };
        });
                    // 总数量
                    this.total = res.npage.totalCount
                    console.log(res, '数据');
                })
        this.total = res.npage.totalCount;
        this.pageLoading = false;
      });
            },
            // list数组 获取list里面的详情shuju
            async ListClick(item) {
                console.log(item, 'listsdfdsfsdfs');
    ListClick(item) {
                let Obj = {
                    id: item.id,
        id: item.dataId,
                    type: item.type
                }
                await getMedicalDetails(Obj).then(res => {
      };
      getMedicalDetails(Obj).then((res) => {
                    this.ListDetails = {
                        ...item,
                        ...res.object
                    }
                    console.log(res, this.ListDetails, '详情数据');
                })
                this.dialogVisible = !this.dialogVisible
        };
      });
      this.dialogVisible = !this.dialogVisible;
            },
            // 左侧的机构统计等等按钮
            handInstitCLick(item, name) {
                if (name == 'a') {
                    this.CurrentPage = 1
                    this.institution.index = item.dynastyId
                    this.classifyId = item.dynastyId
                    this.classifyType = 'INSTITUTION'
                    this.getMList()
                } else if (name == 'b') {
                    this.CurrentPage = 1
                    this.officials.index = item.dynastyId
                    this.classifyId = item.dynastyId
                    this.classifyType = 'OFFICIAL'
                    this.getMList()
                } else if (name == 'c') {
                    this.CurrentPage = 1
                    this.source.index = item.bookId
                    this.getMList()
                    console.log();
      if (name == "a") {
        this.CurrentPage = 1;
        this.institution.index = item.dynastyId;
        this.officials.index = 0;
        this.classifyId = item.dynastyId;
        this.classifyType = "INSTITUTION";
        this.getMList();
      } else if (name == "b") {
        this.CurrentPage = 1;
        this.officials.index = item.dynastyId;
        this.institution.index = 0;
        this.classifyId = item.dynastyId;
        this.classifyType = "OFFICIAL";
        this.getMList();
      } else if (name == "c") {
        this.CurrentPage = 1;
        this.source.index = item.bookId;
        this.getMList();
                }
                console.log(item, name);
            },
            // 展开收缩
            shrinkClick(box,name) {
                console.log(box);
                if(name=='机构'){
                    this.institutionIndex = this.institutionIndex < this.institution.list.length ? this.institution.list.length : 4;
                    this.officialsIndex=4
                    this.activeBox = this.activeBox === 'a' ? null : 'a';
                }else if(name=='职官'){
                    this.officialsIndex = this.officialsIndex < this.officials.list.length ? this.officials.list.length : 4;
                    this.institutionIndex=4
                    this.activeBox = this.activeBox === 'b' ? null : 'b';
      if (name == "机构") {
        this.institutionIndex =
          this.institutionIndex < this.institution.list.length
            ? this.institution.list.length
            : 4;
        this.officialsIndex = 4;
        this.activeBox = this.activeBox === "a" ? null : "a";
      } else if (name == "职官") {
        this.officialsIndex =
          this.officialsIndex < this.officials.list.length
            ? this.officials.list.length
            : 4;
        this.institutionIndex = 4;
        this.activeBox = this.activeBox === "b" ? null : "b";
                }
                // if (this.activeBox === box) {
                //     console.log('sdfs');
                //     this.activeBox = null;
                // } else {
                //     this.activeBox = box;
@@ -444,144 +604,116 @@
            //取值:RDF、NT、XML、JSON
            async PDFClick(item,index) {
                let Obj = {
                    id:item.id,
                    type:item.type,
                }
        id: item.dataId,
        type: item.type
      };
                if (index == 1) {
                    Obj.outputType='RDF'
                    console.log(Obj);
                    let queryString = Object.keys(Obj).map(key => `${encodeURIComponent(key)}=${encodeURIComponent(Obj[key])}`).join('&');
                    console.log(queryString);
                    // uni.navigateTo({
                    //     url:`/pages/RDF/RDF?${queryString}`
                    // })
                    window.open(`#/pages/RDF/RDF?${queryString}`)
        Obj.outputType = "RDF";
                }else if(index ==2){
                    Obj.outputType='NT'
                    let queryString = Object.keys(Obj).map(key => `${encodeURIComponent(key)}=${encodeURIComponent(Obj[key])}`).join('&');
                    window.open(`#/pages/NT/NT?${queryString}`)
        Obj.outputType = "NT";
                }else if(index==3){
                    Obj.outputType='XML'
                    console.log('XML');
                    await getMedicalDataOutput(Obj).then(res=>{
                        console.log(res,'接口XML');
                    })
        Obj.outputType = "XML";
                }else if(index ==4){
                    Obj.outputType='JSON'
                    console.log('JSON');
                    await getMedicalDataOutput(Obj).then(res=>{
                        console.log(res,'接口JSON');
                    })
        Obj.outputType = "JSON";
                }
                // console.log(Obj.id,);
      let queryString = Object.keys(Obj)
        .map(
          (key) => `${encodeURIComponent(key)}=${encodeURIComponent(Obj[key])}`
        )
        .join("&");
      window.open(`#/pages/fileDetail/index?${queryString}`);
            },
            // 搜索按钮
            onSearch(val) {
                this.SearchValue = val
                this.getMList()
                console.log(val, '士大夫大师傅');
      this.SearchValue = val;
      this.getMList();
            },
            // 热门搜索
            HotClick(id) {
                this.hot.forEach(item => {
                    if (item.id === id) {
                        console.log(item.id === id);
                        item.bgColor = true
                    } else {
                        console.log(item.id === id);
                        item.bgColor = false
                    }
                })
    HotClick(val) {
      this.SearchValue = val;
      this.getMList();
            },
            // 按照什么排序
            selectChange(e) {
                this.getMList()
                // console.log(e,this.rankVal);
      this.getMList();
            },
            // 分页当前页触发事件
            CurrentChange(val) {
                if (this.CurrentPage != val) {
                    this.CurrentPage = val
                    console.log('当前页', val);
                    console.log(this.CurrentPage);
                    this.getMList()
        this.CurrentPage = val;
        this.getMList();
                }
            },
            // 上一页
            PrevClick(val) {
                if (this.CurrentPage != val) {
                    this.CurrentPage = val
                    // console.log('上一页', val);
                    // console.log(this.CurrentPage);
                    this.getMList()
        this.CurrentPage = val;
        this.getMList();
                }
            },
            // 下一页
            NextClick(val) {
                if (this.CurrentPage != val) {
                    // console.log('下一页',val);
                    this.CurrentPage = val
                    // console.log(this.CurrentPage);
                    this.getMList()
        this.CurrentPage = val;
        this.getMList();
                }
            }
        }
    }
};
</script>
<style scoped>
    @media screen and (min-width:2560px)and (max-width:3840px) {
        ::v-deep .search {
            height: .36rem;
            border-radius: .5rem !important;
    height: 0.36rem;
    border-radius: 0.5rem !important;
            align-items: center;
            border-color: #597AA5 !important;
    border-color: #597aa5 !important;
        }
    }
    @media screen and (min-width:1366px) and (max-width:1920px) {
        ::v-deep .search {
            height: .36rem;
            border-radius: .5rem !important;
    height: 0.36rem;
    border-radius: 0.5rem !important;
            align-items: center;
            border-color: #597AA5 !important;
    border-color: #597aa5 !important;
        }
    }
    /* 个人信息 */
    .creatureXinxi1 {
        font-size: .24rem;
  font-size: 0.24rem;
        font-weight: 700;
        line-height: 1;
        margin-top: .29rem;
  margin-top: 0.29rem;
    }
    .creatureXinxi2 {
        /* width: .24rem; */
        height: .17rem;
  height: 0.17rem;
        line-height: 1;
        font-size: .12rem;
  font-size: 0.12rem;
        font-weight: 600;
        background-color: #fff;
        padding: .02rem .04rem;
        margin: .15rem 0;
        color: #2C2C2C;
        border: 1px solid #2C2C2C;
  padding: 0.02rem 0.04rem;
  margin: 0.15rem 0;
  color: #2c2c2c;
  border: 1px solid #2c2c2c;
        border-radius: 2px;
    }
    .creatureXinxi3 li {
        height: .16rem;
        line-height: .16rem;
  height: 0.16rem;
  line-height: 0.16rem;
        background-color: #fff;
        padding: 0 .08rem;
        margin: 0 .07rem;
        font-size: .12rem;
        color: #2C2C2C;
        border: 1px solid #2C2C2C;
        border-radius: .3rem;
  padding: 0 0.08rem;
  margin: 0 0.07rem;
  font-size: 0.12rem;
  color: #2c2c2c;
  border: 1px solid #2c2c2c;
  border-radius: 0.3rem;
  cursor: pointer;
    }
    /* --------- */
@@ -592,17 +724,17 @@
        width: 100%;
        /* height: .6rem;
        line-height: .6rem; */
        font-size: .14rem;
        padding: .19rem .28rem .21rem;
  font-size: 0.14rem;
  padding: 0.19rem 0.28rem 0.21rem;
        left: 0;
        position: relative;
        top: -.25rem;
        color: #2C2C2C;
  top: -0.25rem;
  color: #2c2c2c;
    }
    /* 个人信息的按钮 */
    .detailsBtn {
        padding: .2rem;
  padding: 0.2rem;
        width: 100%;
        margin-bottom: 2rpx;
        position: absolute;
@@ -611,23 +743,23 @@
    .detailsBtn .btn-prev,
    .detailsBtn .btn-next {
        font-size: .14rem;
  font-size: 0.14rem;
        /* padding: .14rem .1rem; */
        border: 1px solid #9E9E9E;
  border: 1px solid #9e9e9e;
        border-radius: 5px;
        /* height: .32rem; */
        line-height: .32rem;
  line-height: 0.32rem;
    }
    .detailsBtn .btn-prev-L,
    .detailsBtn .btn-prev-R {
        border-left: 1px solid #9E9E9E;
        padding-left: .1rem;
  border-left: 1px solid #9e9e9e;
  padding-left: 0.1rem;
    }
    .detailsBtn>:nth-child(2) {
        font-size: .14rem;
        color: #2C2C2C;
  font-size: 0.14rem;
  color: #2c2c2c;
    }
    /* ------ */
@@ -663,53 +795,34 @@
        }
    }
    .centre {
        padding-left: 1.23rem;
        padding-right: 1.17rem;
        /* border: 1px solid #000; */
        /* height: 70vh; */
        /* overflow: hidden; */
        align-items: flex-start;
        position: relative;
        z-index: 1;
  align-items: stretch;
        .CLeft {
            width: 2.6rem;
            height: 100%;
            vertical-align: top;
    width: 2.4rem;
            flex-direction: column;
            justify-content: flex-start;
            margin-right: .2rem;
    margin-right: 0.2rem;
            .institution {
                width: 100%;
                border: 1px solid #000;
                padding: 20rpx;
            }
            .institution2 {
                margin: 20rpx 0;
            }
            .institution3 {
                flex-grow: 1;
            }
        }
        .CRight {
            /* margin-left: 20rpx; */
            width: 100%;
            height: 100%;
            flex-grow: 1;
    flex: 1;
            border: 1px solid #c1d3ea;
            box-sizing: border-box;
            overflow: hidden;
            padding: 10rpx 30rpx;
            padding: .1rem .2rem;
            background-color: #fff;
    padding: 0.1rem 0.2rem;
        }
    }
@@ -724,7 +837,7 @@
        /* padding: 20rpx 20rpx 0 20rpx; */
        justify-content: space-between;
        >view {
  > .rightList {
            width: 49%;
            margin-bottom: 20rpx;
@@ -750,25 +863,25 @@
    .paging ::v-deep .btn-prev span,
    .paging ::v-deep .btn-next span {
        font-size: .12rem;
        height: .3rem;
        line-height: .3rem;
  font-size: 0.12rem;
  height: 0.36rem;
  line-height: 0.36rem;
        background-color: #fff;
        color: #9E9E9E;
  color: #9e9e9e;
        text-align: center;
        border: 1px solid #9E9E9E;
        padding: 0 .1rem;
  border: 1px solid #9e9e9e;
  padding: 0 0.1rem;
    }
    .paging ::v-deep .el-pager li {
        font-size: .1rem;
        width: .28rem;
        height: .3rem;
        line-height: .3rem;
  font-size: 0.1rem;
  width: 0.36rem;
  height: 0.36rem;
  line-height: 0.36rem;
        background-color: #fff;
        color: #9E9E9E;
  color: #9e9e9e;
        text-align: center;
        border: 1px solid #9E9E9E;
  border: 1px solid #9e9e9e;
    }
    /* ------------ */
@@ -788,7 +901,6 @@
            > :nth-child(1) {
                display: none;
            }
            >:nth-child(2) {
                padding: 0;
@@ -813,22 +925,20 @@
        }
    }
    /* 搜索按钮 */
    .sousuo {
        margin: .35rem 0 .19rem;
  margin: 0.35rem 0 0.19rem;
    }
    .search1 {
        width: 5rem;
    }
    ::v-deep .search {
        height: .36rem;
        border-radius: .3rem;
  height: 0.36rem;
  border-radius: 0.3rem;
        align-items: center;
        border-color: #597AA5 !important;
  border-color: #597aa5 !important;
    }
    ::v-deep .search .content {
@@ -837,17 +947,17 @@
    }
    ::v-deep .search .uni-input-placeholder {
        font-size: .14rem;
  font-size: 0.14rem;
    }
    ::v-deep .search .uni-icons {
        font-size: .14rem !important;
        color: #244A7B !important;
  font-size: 0.14rem !important;
  color: #244a7b !important;
    }
    ::v-deep .search .uni-input-input,
    ::v-deep .search .uni-select__input-box {
        font-size: .14rem;
  font-size: 0.14rem;
        line-height: 1;
    }
@@ -857,32 +967,34 @@
    }
    ::v-deep .uni-select__input-text {
        color: #244A7B;
  color: #244a7b;
    }
    ::v-deep .next-search-more .search {
        border: 2px solid #597AA5 !important;
  border: 2px solid #597aa5 !important;
    }
    ::v-deep .next-search-more .search .content {
        border-left: 1px solid #597AA5 !important;
  border-left: 1px solid #597aa5 !important;
    }
    .search1 ::v-deep .btnn {
        /* border: 10px solid red; */
        width: .74rem !important;
        height: .3rem;
        line-height: .3rem;
  width: 0.74rem !important;
  height: 0.3rem;
  line-height: 0.3rem;
        text-align: center;
        font-size: .14rem;
        background-color: #597AA5;
        border-radius: .5rem;
  font-size: 0.14rem;
  background-color: #244a7b;
  border-radius: 0.5rem;
        color: #fff;
        margin-right: .03rem;
  margin-right: 0.03rem;
  cursor: pointer;
    }
    .search1 ::v-deep .icon-del {
        font-size: .24rem !important;
  font-size: 0.24rem !important;
  cursor: pointer;
    }
    .search1 ::v-deep .uni-select__selector-item {
@@ -891,17 +1003,17 @@
        display: flex;
        justify-content: center;
        font-size: .14rem;
        height: .3rem;
        line-height: .3rem;
  font-size: 0.14rem;
  height: 0.3rem;
  line-height: 0.3rem;
    }
    /* ------------- */
    /* 热门搜索 */
    .remen {
        font-size: .12rem;
        margin-top: .1rem;
        color: #2C2C2C;
  font-size: 0.12rem;
  margin-top: 0.1rem;
  color: #2c2c2c;
    }
    /* --------- */
@@ -915,46 +1027,45 @@
        }
    } */
    .MargB {
        margin-bottom: .2rem;
  margin-bottom: 0.2rem;
    }
    /* 左边的 */
    .boox {
        width: 100%;
        padding: .1rem .09rem;
  padding: 0.1rem 0.09rem;
        min-height: 2rem !important;
        position: relative;
        border: 1px solid #c1d3ea !important;
        ul {
            margin-top: .16rem !important;
    margin-top: 0.16rem !important;
        }
        h3 {
            font-size: .14rem;
            margin-left: .1rem;
    font-size: 0.14rem;
    margin-left: 0.1rem;
        }
        li {
            height: .3rem;
            line-height: .3rem;
            padding: 0 .2rem !important;
            margin: .05rem 0 !important;
            border-radius: .3rem !important;
            font-size: .14rem;
    height: 0.3rem;
    line-height: 0.3rem;
    padding: 0 0.2rem !important;
    margin: 0.05rem 0 !important;
    border-radius: 0.3rem !important;
    font-size: 0.14rem;
        }
        .toggleButton1 {
            position: absolute;
            bottom: .1rem !important;
    bottom: 0.1rem !important;
            left: 40% !important;
        }
        .toggleButton {
            font-size: .14rem !important;
    font-size: 0.14rem !important;
        }
    }
    .paixu {
        /*     margin-right: .3rem;
@@ -962,33 +1073,33 @@
    }
    .paixu ::v-deep .el-input__icon {
        font-size: .12rem;
        line-height: .24rem;
        margin-right: .05rem;
  font-size: 0.12rem;
  line-height: 0.24rem;
  margin-right: 0.05rem;
    }
    .paixu ::v-deep .el-input__inner {
        width: 1.09rem;
        font-size: .12rem;
        padding-left: .15rem;
        height: .24rem;
        line-height: .24rem;
        color: #2C2C2C;
        border-color: #9E9E9E;
  font-size: 0.12rem;
  padding-left: 0.15rem;
  height: 0.24rem;
  line-height: 0.24rem;
  color: #2c2c2c;
  border-color: #9e9e9e;
    }
    .el-select-dropdown__item {
        font-size: .12rem;
        height: .2rem;
        line-height: .2rem;
  font-size: 0.12rem;
  height: 0.2rem;
  line-height: 0.2rem;
    }
    .rightList {
        height: 1.6rem;
        position: relative;
        overflow: hidden;
        margin-bottom: .2rem !important;
  margin-bottom: 0.2rem !important;
  cursor: pointer;
    }
    .rightList ::v-deep .el-card__body {
@@ -996,59 +1107,76 @@
    }
    .rightList .RightListTop {
        margin: .14rem 0;
        font-size: .14rem;
        height: .24rem;
        line-height: .24rem;
  margin: 0.14rem 0;
  font-size: 0.14rem;
  height: 0.24rem;
  line-height: 0.24rem;
        display: flex;
    }
    .rightList .RightListTop .Topzhiwei {
        min-width: .52rem;
        margin-right: .08rem;
        padding-right: .05rem;
  min-width: 0.52rem;
  margin-right: 0.08rem;
  padding-right: 0.05rem;
    }
    .rightList .RightListTop .TopName {
        font-weight: 700;
        color: #2C2C2C;
        margin-right: .17rem;
  color: #2c2c2c;
  margin-right: 0.17rem;
  overflow: hidden;
  flex: 1;
}
.rightList .RightListTop .TopName .title {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
    }
    .rightList .RightListTop .TopDynasty {
        /* width: .34rem; */
        height: .19rem;
        font-size: .12rem;
        line-height: .19rem;
  height: 0.19rem;
  font-size: 0.12rem;
  line-height: 0.19rem;
        text-align: center;
        border-color: #9E9E9E;
        color: #9E9E9E;
  border-color: #9e9e9e;
  color: #9e9e9e;
  border: 1px solid #d4d4d4;
  font-weight: 500;
  padding: 0 10rpx;
  border-radius: 10rpx;
  margin-left: 0.1rem;
  min-width: max-content;
    }
    .rightList .desBox {
        padding: .14rem .2rem .23rem;
  padding: 0.14rem 0.2rem 0.23rem;
        /* position: relative; */
        .biecheng {
            height: .24rem;
    height: 0.24rem;
            /* line-height: .24rem; */
            font-size: .12rem;
            padding-left: .1rem;
            background-color: #F0F0F0;
    font-size: 0.12rem;
    padding-left: 0.1rem;
    background-color: #f0f0f0;
            display: flex;
            align-items: center;
            margin-bottom: .12rem;
    margin-bottom: 0.12rem;
        }
        .describe {
            position: absolute;
            bottom: .1rem;
    bottom: 0.1rem;
            left: 0;
            /* width: 100%; */
            padding: 0 .23rem;
            height: .49rem;
            line-height: .24rem;
            font-size: .12rem;
    padding: 0 0.23rem;
    height: 0.49rem;
    line-height: 0.24rem;
    font-size: 0.12rem;
        }
    }
.nullBox {
  width: 100%;
}
</style>
src/pages/academicGenres/index.vue
New file
@@ -0,0 +1,275 @@
<template>
  <view>
    <!-- 顶部导航 -->
    <headNav :idIndex="idIndex" text="历代学术流派" />
    <!-- 学派 -->
    <view class="flex flex-center" style="width: 100%; margin: 0.2rem 0">
      <ul class="flex">
        <li style="" v-for="(item, index) in dynasty" :key="item.id">
          <view
            @click="SchoolClick(item.id)"
            class="flex flex-center font-family school"
            :style="{
              marginRight: index === dynasty.length - 1 ? '0' : '0.03rem'
            }"
            style="
              font-weight: 500;
              border-radius: 0.3rem;
              padding: 0.06rem 0.15rem;
              color: #2c2c2c;
              font-size: 0.12rem;
              margin-top: 0.03rem;
              margin-right: 0.1rem;
              background-color: #fff;
            "
          >
            <view
              class=""
              :style="{ background: item.color }"
              style="
                margin-right: 0.07rem;
                width: 0.12rem;
                height: 0.12rem;
                border-radius: 50%;
              "
            ></view>
            <view class="" style="color: #2c2c2c; font-size: 0.12rem">{{
              item.name
            }}</view>
          </view>
        </li>
      </ul>
    </view>
    <view class="" style="background-color: #fff">
      <view id="line-chart" style="width: 100vw"></view>
    </view>
  </view>
</template>
<script>
import { getDynasty, getDynastyStatistics } from "@/api/index.js";
import * as echarts from "echarts";
import axios from "axios";
export default {
  data() {
    return {
      // 标题顶部栏需要的东西
      idIndex: 0,
      // 朝代
      dynasty: [
        {
          name: "医经学派",
          color: "#90BBD8",
          id: 1
        },
        {
          name: "经方学派",
          color: "#EDD28B",
          id: 2
        },
        {
          name: "伤寒学派",
          color: "#CF746D",
          id: 3
        },
        {
          name: "河间学派",
          color: "#9CC27A",
          id: 4
        },
        {
          name: "攻邪学派",
          color: "#5B6CB9",
          id: 5
        },
        {
          name: "滋阴学派",
          color: "#8860A8",
          id: 6
        },
        {
          name: "易水学派",
          color: "#DE8E66",
          id: 7
        },
        {
          name: "温补学派",
          color: "#7FAC8C",
          id: 8
        }
      ],
      chartData: [
        {
          name: "经方学派",
          values: [30, 10, 100, 400, 30, 70]
        },
        {
          name: "伤寒学派",
          values: [23, 30, 140, 200, 230, 470, 230, 470]
        }
      ],
      xAxisData: []
    };
  },
  onLoad(options) {
    this.idIndex = options.id;
    // 获取朝代
    this.getDynastyData();
  },
  methods: {
    getDynastyData() {
      getDynasty().then((res) => {
        res.list.sort((a, b) => a.end - b.end);
        this.xAxisData = res.list.map((item) => item.dynasty);
        console.log(this.xAxisData);
        this.getData();
      });
    },
    getData() {
      getDynastyStatistics().then((res) => {
        console.log(res);
      });
    },
    SchoolClick(id) {
      uni.navigateTo({
        url: "/pages/interchannel/interchannel?id=" + this.idIndex
      });
    },
    // 随机色
    getRandomColor() {
      var letters = "0123456789ABCDEF";
      var color = "#";
      for (var i = 0; i < 6; i++) {
        color += letters[Math.floor(Math.random() * 16)];
      }
      return color;
    },
    renderChart() {
      const chart = echarts.init(document.getElementById("line-chart"));
      // 暂存一下
      let chartData1 = this.chartData;
      let color = [];
      const series = this.chartData.map((item, i) => {
        color.push(this.getRandomColor());
        return {
          name: item.name,
          type: "line",
          data: item.values,
          smooth: 0.5,
          // 设置线条的颜色
          itemStyle: {
            normal: {
              color: "lineColor", // 改变折线点的颜色
              lineStyle: {
                color: color[i], // 改变折线颜色
                width: 3
              }
            }
          },
          // 设置线条右侧的字体颜色等
          label: {
            show: true, // 显示标签
            position: "right", // 标签位置:右侧
            formatter: function (param) {
              if (chartData1[i].values.length - 1 === param.dataIndex) {
                return param.seriesName + "   " + param.value;
              } else {
                return "";
              }
            },
            color: color[i]
          }
        };
      });
      console.log(series, "series");
      const option = {
        // legend: {
        //     data: this.chartData.map(item => item.name),
        // },
        zoom: 8, // 这里可以根据需要调整缩放级别
        xAxis: {
          type: "category",
          data: this.xAxisData,
          axisLabel: {
            fontSize: 32 // 设置 x 轴上文字的字体大小为 12 像素
          },
          axisLine: {
            lineStyle: {
              width: 4 // 设置x轴线条宽度为2像素
            }
          }
        },
        yAxis: {
          type: "value",
          axisLabel: {
            fontSize: 32 // 设置 x 轴上文字的字体大小为 12 像素
          },
          axisLine: {
            lineStyle: {
              width: 10 // 设置x轴线条宽度为2像素
            }
          }
        },
        series: series,
        // 其他配置项...
        textStyle: {
          fontSize: 30 // 设置全局文字的字体大小
        }
      };
      chart.setOption(option);
    }
  },
  mounted() {
    this.renderChart();
  }
};
</script>
<style>
view {
  color: #fff;
}
.school {
}
.bag {
  height: 100vh;
  background-color: #fff;
}
.NavTop {
  background-color: #0c274c;
  padding: 25rpx;
  img {
    width: 30rpx;
    height: 30rpx;
    vertical-align: middle;
  }
  .NavTopr {
    img {
      margin-right: 10rpx;
    }
  }
}
.mImage {
  width: 100%;
  height: 40rpx;
  img {
    vertical-align: top;
  }
}
#line-chart {
  height: 6rem;
}
</style>
src/pages/character/index.vue
@@ -272,7 +272,7 @@
  methods: {
    getData() {
      getPersonList({
        keywords: "楊", //搜索框检索
        keywords: "", //搜索框检索
        name: "", //姓名
        alias: "", //别名
        nativePlace: "", //机关
src/pages/dataDisplay/dataDisplay.vue
File was deleted
src/pages/fileDetail/index.vue
New file
@@ -0,0 +1,38 @@
<template>
  <view id="box">
    <!-- RDF对应的参数 -->
    {{data}}
  </view>
</template>
<script>
import { getMedicalDataOutput } from "@/api/index.js";
export default {
  data() {
    return {
      Obj: {},
      data: ""
    };
  },
  onLoad(options) {
    this.Obj = options;
  },
  mounted() {
    this.innt();
  },
  methods: {
    innt() {
      getMedicalDataOutput(this.Obj).then((res) => {
        console.log(res);
        this.data = res;
      });
    }
  }
};
</script>
<style>
  #box{
    font-size: 14px;
  }
</style>
src/pages/forgetPass/forgetPass.vue
@@ -207,7 +207,7 @@
                    // })
                } else if (item.id == 3) {
                    uni.navigateTo({
                        url: '/pages/dataDisplay/dataDisplay?id=' + item.id
                        url: '/pages/academicGenres/index?id=' + item.id
                    })
                } else if (item.id == 4) {
                    uni.navigateTo({
src/pages/index/index.vue
@@ -195,7 +195,7 @@
                    // })
                } else if (item.id == 3) {
                    uni.navigateTo({
                        url: '/pages/dataDisplay/dataDisplay?id=' + item.id
                        url: '/pages/academicGenres/index?id=' + item.id
                    })
                } else if (item.id == 4) {
                    uni.navigateTo({
@@ -486,7 +486,7 @@
        }
    }
    @media screen and (min-width:1366px) and (max-width:1920px) {
    @media screen and (min-width:1366px) {
        .Ttop {
            margin-bottom: .6rem !important;
        }
@@ -530,9 +530,7 @@
            width: 2rem !important;
        }
        .hua {
            height: 4rem !important;
        }
    }
src/static/initialize.css
@@ -5,12 +5,12 @@
    }
    html {
        font-size: calc(100 * 100vw / 1440) !important;
  font-size: calc(100vw / 1440 * 96) !important;
        /* font-size: 10px; */
    }
    body {
        font-size: .16rem !important;
  font-size: 0.16rem !important;
    }
    .flex {
@@ -45,7 +45,7 @@
    }
    .flex-start {
        justify-content: flex-start
  justify-content: flex-start;
    }
    .flex-content {
src/uni_modules/next-search-more/components/next-search-more/next-search-more.vue
@@ -6,21 +6,48 @@
                <view class="button xiala active" @click="selectMore">
                    <view class="button-item">
                        <!-- <text class="icon icon-more">&#xe61a;</text> -->
                        <uni-data-select style="width: 100%;" v-model="val" :localdata="selectValue" @change="change"
                            :clear="false" ></uni-data-select>
            <uni-data-select
              style="width: 100%"
              v-model="val"
              :localdata="selectValue"
              @change="change"
              :clear="false"
            ></uni-data-select>
                    </view>
                </view>
            </template>
            <view class="content" :style="{ 'border-radius': radius + 'px', border: border }">
      <view
        class="content"
        :style="{ 'border-radius': radius + 'px', border: border }"
      >
                <view class="content-box" :class="{ center: mode === 'center' }">
                    <!-- <text class="icon icon-search">&#xe66f;</text> -->
                    <text style="display: inline-block;padding-left: 20rpx;"></text>
                    <input class="input" @confirm="search" :class="{ center: !active && mode === 'center' }" :focus="isFocus"
                        :placeholder="' '+placeholder" v-model="inputVal"  id="sdf" @input="input" @focus="focus" @blur="blur" />
                    <text v-if="isDelShow" class="icon icon-del" @click="clear">&#xe61c;</text>
          <text style="display: inline-block; padding-left: 20rpx"></text>
          <input
            class="input"
            @confirm="search"
            :class="{ center: !active && mode === 'center' }"
            :focus="isFocus"
            :placeholder="' ' + placeholder"
            v-model="inputVal"
            id="sdf"
            @input="input"
            @focus="focus"
            @blur="blur"
          />
          <text v-if="isDelShow" class="icon icon-del" @click="clear"
            >&#xe61c;</text
          >
                </view>
                <view v-show="(active && isFixedSearchBtn && button === 'inside') || (isDelShow && button === 'inside')"
                    class="searchBtn" @click="search">搜索</view>
        <view
          v-show="
            (active && isFixedSearchBtn && button === 'inside') ||
            (isDelShow && button === 'inside')
          "
          class="searchBtn"
          @click="search"
          >搜索</view
        >
            </view>
            <!-- <template v-if="mode === 'common' || mode ==='center'">
                <view v-if="button === 'outside'" class="button" :class="{ active: isFixedSearchBtn || active }" @click="search">
@@ -33,11 +60,16 @@
                </view>
            </template> -->
            <template>
                <view class="button btnn" :class="{ active: isFixedSearchBtn || active }" @click="search">
                    <view class="button-item btn">{{ !isFixedSearchBtn ? searchName : '搜索' }}</view>
        <view
          class="button btnn"
          :class="{ active: isFixedSearchBtn || active }"
          @click="search"
        >
          <view class="button-item btn">{{
            !isFixedSearchBtn ? searchName : "搜索"
          }}</view>
                </view>
            </template>
        </view>
        <view class="more-container-parent">
            <view v-if="mode === 'more' && showMore" class="more-container">
@@ -57,19 +89,21 @@
            selectValue: {
                type: Array,
                default () {
                    return [{
        return [
          {
                        value: 0,
                        text: '篮球sdf'
                    }]
            text: ""
          }
        ];
                }
            },
            mode: {
                type: String,
                default: 'common'
      default: "common"
            },
            button: {
                type: String,
                default: 'outside'
      default: "outside"
            },
            isFixedSearchBtn: {
                type: Boolean,
@@ -77,15 +111,15 @@
            },
            radius: {
                type: String,
                default: '60'
      default: "60"
            },
            placeholder: {
                type: String,
                default: '请输入搜索内容'
      default: "请输入搜索内容"
            },
            backgroundColor: {
                type: String,
                default: '#fff'
      default: "#fff"
            },
            showMore: {
                type: Boolean,
@@ -93,15 +127,17 @@
            },
            border: {
                type: String,
                default: '1px #f5f5f5 solid'
      default: "1px #f5f5f5 solid"
    },
    keyword: {
      type: String
            }
        },
        data() {
            return {
                active: false,
                inputVal: '',
                searchName: '取消',
      inputVal: "",
      searchName: "取消",
                isDelShow: false,
                isFocus: false,
                timer: 0
@@ -118,45 +154,53 @@
                }
            },
            input() {
                clearInterval(this.timer)
      clearInterval(this.timer);
                this.timer = setTimeout(() => {
                    this.$emit('input', this.inputVal);
                }, 500)
        this.$emit("input", this.inputVal);
      }, 500);
            },
            clear() {
                this.inputVal = '';
      this.inputVal = "";
                this.active = false;
                this.$emit('input', this.inputVal);
                this.$emit('search', '');
      this.$emit("input", this.inputVal);
      this.$emit("search", "");
            },
            getFocus() {
                this.isFocus = true;
            },
            // 搜索
            search() {
                if (!this.inputVal) return;
                // console.log(this.inputVal);
                this.$emit('search', this.inputVal);
      this.$emit("search", this.inputVal);
            },
            selectMore() {
                this.$emit('moreClick')
      this.$emit("moreClick");
            },
            // 搜索下拉框
            change(e){
                this.$emit('select',e)
      this.$emit("select", e);
                console.log(e);
            }
        },
        created() {
            this.$watch(() => this.inputVal, (newVal) => {
    this.inputVal = this.keyWord;
    this.$watch(
      () => this.inputVal,
      (newVal) => {
                if (newVal) {
                    this.searchName = '搜索';
          this.searchName = "搜索";
                    this.isDelShow = true;
                } else {
                    this.searchName = '取消';
          this.searchName = "取消";
                    this.isDelShow = false;
                }
            })
      }
    );
  },
  watch: {
    keyword(value) {
            console.log(value);
      this.inputVal = value;
    }
        }
    };
</script>
@@ -259,7 +303,6 @@
                white-space: nowrap;
                // overflow: hidden;
                &.active {
                    padding-left: 15upx;
                    width: 100upx;
                }
@@ -297,8 +340,9 @@
    }
    @font-face {
        font-family: 'iconfont';
        src: url('https://at.alicdn.com/t/c/font_4110624_nikfg21uyk8.ttf?t=1686190660183') format('truetype');
  font-family: "iconfont";
  src: url("https://at.alicdn.com/t/c/font_4110624_nikfg21uyk8.ttf?t=1686190660183")
    format("truetype");
    }
    .icon {
src/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue
@@ -503,7 +503,6 @@
    .uni-select__input-placeholder {
        color: $uni-base-color;
        font-size: 12px;
    }
    .uni-select--mask {
src/utils/request/req1.js
@@ -14,6 +14,7 @@
  (config) => {
    // 携带token参数,一般会加载header  Authorization
    config.headers.Authorization = localStorage.getItem("access_token");
    config.headers.token = localStorage.getItem("access_token");
    return config;
  },
  (error) => {