| | |
| | | <!DOCTYPE html> |
| | | <html lang="zh-CN"> |
| | | <head> |
| | | <meta charset="utf-8" /> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge" /> |
| | | <link rel="icon" href="./logo.ico"> |
| | | <title>中国医学人物知识库</title> |
| | | <script> |
| | | var coverSupport = |
| | | "CSS" in window && |
| | | typeof CSS.supports === "function" && |
| | | (CSS.supports("top: env(a)") || CSS.supports("top: constant(a)")); |
| | | document.write( |
| | | '<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + |
| | | (coverSupport ? ", viewport-fit=cover" : "") + |
| | | '" />' |
| | | ); |
| | | </script> |
| | | <link |
| | | rel="stylesheet" |
| | | href="<%= BASE_URL %>static/index.<%= VUE_APP_INDEX_CSS_HASH %>.css" |
| | | /> |
| | | </head> |
| | | |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge"> |
| | | <title> |
| | | <%= htmlWebpackPlugin.options.title %> |
| | | </title> |
| | | <script> |
| | | var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)')) |
| | | document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />') |
| | | </script> |
| | | <link rel="stylesheet" href="<%= BASE_URL %>static/index.<%= VUE_APP_INDEX_CSS_HASH %>.css" /> |
| | | </head> |
| | | |
| | | <body> |
| | | <noscript> |
| | | <strong>Please enable JavaScript to continue.</strong> |
| | | </noscript> |
| | | <div id="app"></div> |
| | | <!-- built files will be auto injected --> |
| | | </body> |
| | | |
| | | </html> |
| | | <body> |
| | | <noscript> |
| | | <strong>Please enable JavaScript to continue.</strong> |
| | | </noscript> |
| | | <div id="app"></div> |
| | | <!-- built files will be auto injected --> |
| | | </body> |
| | | </html> |
| | |
| | | |
| | | // 验证码 /account/verifyCode |
| | | export const getverifyCode = (req) => { |
| | | console.log(req, qs.encode(req), "rrr"); |
| | | return req1({ |
| | | url: "/account/verifyCode", |
| | | method: "post", |
| | |
| | | |
| | | // login 登录 |
| | | export const getLogin = (req) => { |
| | | console.log(req, qs.encode(req), "rrr"); |
| | | return req1({ |
| | | url: "/account/verification", |
| | | method: "post", |
| | |
| | | v-if="isAdvancedSearch" |
| | | style="padding: 0 1.24rem; margin-bottom: 0.18rem" |
| | | > |
| | | <view style="background-color: #fff; padding: 0.29rem" class=""> |
| | | <view style="background-color: #fff; padding: 0.29rem" > |
| | | <h3>高级搜索</h3> |
| | | <MyForm @submit="onSubmit" :from="from" /> |
| | | </view> |
| | |
| | | // var box1Height = document.querySelector('.fbox').offsetHeight; |
| | | // // let box2Height= document.querySelector('.fbox1').style.height = box1Height + 'px'; |
| | | // let box2Height = document.querySelector('.fbox1').offsetHeight |
| | | // console.log(box1Height, box2Height); |
| | | // if (box1Height <= box2Height) { |
| | | // document.querySelector('.fbox1').style.height = box1Height + 'px'; |
| | | // } |
| | |
| | | }, |
| | | onSubmit(val) { |
| | | this.$emit("onSubmit", val); |
| | | // console.log(val); |
| | | } |
| | | } |
| | | }; |
| | |
| | | class="font-family" |
| | | style="color: #2c2c2c; font-size: 0.12rem; line-height: 1.5" |
| | | > |
| | | <view class=""> |
| | | <view > |
| | | ©2017 中国中医科学院中医药信息研究所版权所有 京ICP备********号 |
| | | </view> |
| | | <view class="" |
| | | <view |
| | | >地址:北京市东城区东直门内南小街16号 邮编:100700 电话:8610-64089611 |
| | | Email: tcmtczy@mail.cintcm.ac.cn</view |
| | | > |
| | |
| | | <template class=""> |
| | | <template > |
| | | <div> |
| | | <el-form |
| | | size="mini" |
| | |
| | | style="background-color: #244a7b; color: #fff" |
| | | size="mini" |
| | | @click="handleSubmit" |
| | | >提交</el-button |
| | | >检索</el-button |
| | | > |
| | | <el-button type="info" plain size="mini" @click="handleReset" |
| | | >重置</el-button |
| | |
| | | export default { |
| | | props: ["from"], |
| | | mounted(){ |
| | | console.log(this.from,"from"); |
| | | }, |
| | | methods: { |
| | | handleSubmit() { |
| | |
| | | <view class="flex" style="letter-spacing: 5rpx"> |
| | | <view class="logo"></view> |
| | | <view |
| | | class="" |
| | | style=" |
| | | margin-left: 0.19rem; |
| | | font-size: 0.24rem; |
| | | font-weight: 900; |
| | | " |
| | | style="margin-left: 0.19rem; font-size: 0.24rem; font-weight: 900" |
| | | > |
| | | {{ text }} |
| | | </view> |
| | |
| | | justify-content: flex-end; |
| | | " |
| | | > |
| | | <!-- overflow: hidden; --> |
| | | <input |
| | | :style="{ display: isExpanded == true ? 'block' : 'none' }" |
| | | type="text" |
| | |
| | | font-size: 0.13rem; |
| | | " |
| | | @blur="InputBlur" |
| | | @confirm="toggleSearch" |
| | | class="search-input" |
| | | v-model="searchInput" |
| | | placeholder="请输入搜索内容" |
| | |
| | | > |
| | | <!-- 背景 --> |
| | | <img class="leftListBgImage" src="@/static/image/leftListBg.png" alt="" /> |
| | | <view class="" style="position: relative; z-index: 999"> |
| | | <view style="position: relative; z-index: 999"> |
| | | <view class="flex flex-center LeftLogo"> |
| | | <!-- <img src="@/static/image/logo.png" ></img> --> |
| | | <view class="img"></view> |
| | |
| | | <span slot="title">世医医家数据库</span> |
| | | </el-menu-item> |
| | | <el-menu-item index="3"> |
| | | <span slot="title">中医医学流派</span> |
| | | <span slot="title">中医学术流派</span> |
| | | </el-menu-item> |
| | | <el-menu-item index="4"> |
| | | <span slot="title">中医地域图谱</span> |
| | |
| | | </el-menu> |
| | | </view> |
| | | </el-dialog> |
| | | <!-- <view class="" style="position: fixed;right: 0;top: 0;" @click="dialogVisible = !dialogVisible">水水水水</view> --> |
| | | <!-- <view style="position: fixed;right: 0;top: 0;" @click="dialogVisible = !dialogVisible">水水水水</view> --> |
| | | <!-- <el-card v-if="menuNav" |
| | | style="position: fixed;left: 0;top: 0; z-index: 999999999; width: 240px;height: 100vh;"> |
| | | |
| | |
| | | // 修改密码 |
| | | changePassword(index) { |
| | | if (index == 1) { |
| | | // console.log('sdfdsf'); |
| | | // 检查 localStorage 中是否存在 token |
| | | if (localStorage.getItem("access_token")) { |
| | | // token 存在 |
| | | console.log("access_token"); |
| | | this.isCommand = true; |
| | | } else { |
| | | // token 不存在 |
| | | // console.log('Token does not exist.'); |
| | | this.isCommand = false; |
| | | // uni.navigateTo({ |
| | | // url: '/pages/Login/Login' |
| | | // }) |
| | | console.log("不存在"); |
| | | uni.showModal({ |
| | | // 询问用户是否退出登录 |
| | | title: "请重新登录", |
| | | content: "您确定要重新登录吗?", |
| | | success: async (res) => { |
| | | console.log(res, "reresresrer"); |
| | | if (res.confirm) { |
| | | setTimeout(() => { |
| | | uni.reLaunch({ |
| | |
| | | }, 1500); |
| | | } else if (res.cancel) { |
| | | // console.log('用户点击取消'); |
| | | uni.showToast({ |
| | | title: "用户点击取消", |
| | | icon: "none" |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | |
| | | // 修改获取退出按钮 |
| | | handleCommand(int) { |
| | | if (int == 1) { |
| | | console.log("修改密码"); |
| | | uni.navigateTo({ |
| | | url: "/pages/changePassword/changePassword" |
| | | }); |
| | | } else if (int == 2) { |
| | | // console.log('退出登录'); |
| | | uni.showModal({ |
| | | // 询问用户是否退出登录 |
| | | title: "退出登录", |
| | | content: "您确定要退出登录吗?", |
| | | success: async (res) => { |
| | | console.log(res, "reresresrer"); |
| | | |
| | | success: (res) => { |
| | | if (res.confirm) { |
| | | // 退出接口 |
| | | await getlogout().then((res) => { |
| | | getlogout().then((res) => { |
| | | //确定退出拿到token并清除token |
| | | let TOKEN = uni.getStorageSync("access_token"); |
| | | uni.clearStorageSync(); |
| | | //退出成功!并跳转到其他页面 |
| | | uni.showToast({ |
| | | title: "退出成功", |
| | | icon: "none" |
| | | }); |
| | | }); |
| | | setTimeout(() => { |
| | | this.$message.success("退出成功"); |
| | | uni.reLaunch({ |
| | | url: "/pages/Login/Login" |
| | | }); |
| | | }, 1500); |
| | | }); |
| | | } else if (res.cancel) { |
| | | // console.log('用户点击取消'); |
| | | uni.showToast({ |
| | | title: "用户点击取消", |
| | | icon: "none" |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | aaa() { |
| | | console.log("ss"); |
| | | }, |
| | | handleSelect(index) { |
| | | console.log(index); |
| | | if (index === "0") { |
| | | uni.navigateTo({ |
| | | url: "/pages/index/index?id=" + 0 |
| | |
| | | url: |
| | | "/pages/knowledgeBase/knowledgeBase?keyword=" + this.searchInput |
| | | }); |
| | | } else { |
| | | console.log("不搜索"); |
| | | } |
| | | |
| | | this.searchInput = ""; |
| | | }); |
| | | } |
| | |
| | | <template> |
| | | <view> |
| | | <el-card :style="{width: width + 'px'}"> |
| | | <view class="" style="display: flex; justify-content: space-between;"> |
| | | <view style="display: flex; justify-content: space-between;"> |
| | | <h2 style="color: #244a7b;padding-bottom: 20rpx;">{{title}}</h2> |
| | | <view class="" v-if="BackLoginTrue" style="cursor: pointer;font-size: 20rpx;color: #244a7b;"> |
| | | <view v-if="BackLoginTrue" style="cursor: pointer;font-size: 20rpx;color: #244a7b;"> |
| | | {{BackLogin}} |
| | | </view> |
| | | </view> |
| | |
| | | style="margin-top: 30rpx; font-weight:900;font-size: 30rpx; width: 100%;background-color: #244a7b;color: #fff;padding: 30rpx;" |
| | | size="medium" @click="Login">登录</el-button> |
| | | </el-form-item> |
| | | <view class="" |
| | | <view |
| | | style="font-size: 18rpx;color: #9E9E9E;text-align: center;line-height: 1;margin-bottom: 20rpx;"> |
| | | 用户注册即代表同意《服务条款》和《用户隐私保护和个人信息条款》</view> |
| | | <!-- 登录时 忘记密码/快速注册 --> |
| | | <view class="" v-if="loginTrue" style="display: flex;font-size: 20rpx;" :style="{color:color}"> |
| | | <view class="" style="display: inline-block;cursor: pointer;" @click="forgetPass">忘记密码</view> |
| | | <view class="" style="display: inline-block;margin: 0 20rpx;"> | </view> |
| | | <view class="" style="display: inline-block;cursor: pointer;" @click="quickRegister">快速注册</view> |
| | | <view v-if="loginTrue" style="display: flex;font-size: 20rpx;" :style="{color:color}"> |
| | | <view style="display: inline-block;cursor: pointer;" @click="forgetPass">忘记密码</view> |
| | | <view style="display: inline-block;margin: 0 20rpx;"> | </view> |
| | | <view style="display: inline-block;cursor: pointer;" @click="quickRegister">快速注册</view> |
| | | </view> |
| | | </el-form> |
| | | </el-card> |
| | |
| | | message: '请输入' + item.lable, |
| | | trigger: ['blur', 'change'] |
| | | }, ) |
| | | console.log(dynamicRules[item.id]); |
| | | // 所有不是的走 |
| | | } else { |
| | | dynamicRules[item.id].push({ |
| | |
| | | }); |
| | | } |
| | | }); |
| | | console.log(dynamicRules); |
| | | return dynamicRules; |
| | | }, |
| | | }, |
| | |
| | | obj[item.name] = item.val |
| | | return obj |
| | | }, {}) |
| | | console.log(result); |
| | | this.$emit('Login', result) |
| | | }, |
| | | // 忘记密码 |
| | |
| | | "pages": [{ |
| | | "path": "pages/index/index", |
| | | "style": { |
| | | // "navigationBarTitleText": "中国医学人物数据库", |
| | | "navigationStyle": "custom" |
| | | } |
| | | }, { |
| | | "path": "pages/Login/Login", |
| | | "style": { |
| | | "navigationBarTitleText": "", |
| | | "enablePullDownRefresh": false, |
| | | "navigationStyle": "custom" |
| | | } |
| | |
| | | { |
| | | "path": "pages/character/index", |
| | | "style": { |
| | | "navigationBarTitleText": "", |
| | | "enablePullDownRefresh": false, |
| | | "navigationStyle": "custom" |
| | | } |
| | |
| | | { |
| | | "path": "pages/character/detail", |
| | | "style": { |
| | | "navigationBarTitleText": "", |
| | | "enablePullDownRefresh": false, |
| | | "navigationStyle": "custom" |
| | | } |
| | |
| | | { |
| | | "path": "pages/academicGenres/index", |
| | | "style": { |
| | | "navigationBarTitleText": "", |
| | | "enablePullDownRefresh": false, |
| | | "navigationStyle": "custom" |
| | | } |
| | |
| | | { |
| | | "path": "pages/academicGenres/detail", |
| | | "style": { |
| | | "navigationBarTitleText": "", |
| | | "enablePullDownRefresh": false, |
| | | "navigationStyle": "custom" |
| | | } |
| | |
| | | { |
| | | "path": "pages/academicGenres/chart", |
| | | "style": { |
| | | "navigationBarTitleText": "", |
| | | "enablePullDownRefresh": false, |
| | | "navigationStyle": "custom" |
| | | } |
| | |
| | | { |
| | | "path": "pages/TcmSystem/TcmSystem", |
| | | "style": { |
| | | "navigationBarTitleText": "", |
| | | "enablePullDownRefresh": false, |
| | | "navigationStyle": "custom" |
| | | } |
| | |
| | | { |
| | | "path": "pages/territory/territory", |
| | | "style": { |
| | | "navigationBarTitleText": "", |
| | | "enablePullDownRefresh": false, |
| | | "navigationStyle": "custom" |
| | | } |
| | |
| | | { |
| | | "path": "pages/inherit/index", |
| | | "style": { |
| | | "navigationBarTitleText": "", |
| | | "enablePullDownRefresh": false, |
| | | "navigationStyle": "custom" |
| | | } |
| | |
| | | { |
| | | "path": "pages/inherit/list", |
| | | "style": { |
| | | "navigationBarTitleText": "", |
| | | "enablePullDownRefresh": false, |
| | | "navigationStyle": "custom" |
| | | } |
| | |
| | | { |
| | | "path": "pages/knowledgeBase/knowledgeBase", |
| | | "style": { |
| | | "navigationBarTitleText": "", |
| | | "enablePullDownRefresh": false, |
| | | "navigationStyle": "custom" |
| | | } |
| | |
| | | { |
| | | "path": "pages/characterMap/characterMap", |
| | | "style": { |
| | | "navigationBarTitleText": "", |
| | | "enablePullDownRefresh": false, |
| | | "navigationStyle": "custom" |
| | | } |
| | |
| | | { |
| | | "path": "pages/Register/Register", |
| | | "style": { |
| | | "navigationBarTitleText": "", |
| | | "enablePullDownRefresh": false, |
| | | "navigationStyle": "custom" |
| | | } |
| | |
| | | { |
| | | "path": "pages/forgetPass/forgetPass", |
| | | "style": { |
| | | "navigationBarTitleText": "", |
| | | "enablePullDownRefresh": false, |
| | | "navigationStyle": "custom" |
| | | } |
| | |
| | | { |
| | | "path": "pages/changePassword/changePassword", |
| | | "style": { |
| | | "navigationBarTitleText": "", |
| | | "enablePullDownRefresh": false, |
| | | "navigationStyle": "custom" |
| | | } |
| | |
| | | "path" : "pages/userAgreement/userAgreement", |
| | | "style" : |
| | | { |
| | | "navigationBarTitleText" : "", |
| | | "enablePullDownRefresh" : false, |
| | | "navigationStyle": "custom" |
| | | } |
| | |
| | | "path" : "pages/fileDetail/index", |
| | | "style" : |
| | | { |
| | | "navigationBarTitleText" : "", |
| | | "enablePullDownRefresh" : false, |
| | | "navigationStyle": "custom" |
| | | } |
| | |
| | | "path" : "pages/shiyiHome/shiyiHome", |
| | | "style" : |
| | | { |
| | | "navigationBarTitleText" : "", |
| | | "enablePullDownRefresh" : false, |
| | | "navigationStyle": "custom" |
| | | } |
| | |
| | | ], |
| | | "globalStyle": { |
| | | "navigationBarTextStyle": "black", |
| | | "navigationBarTitleText": "中国医学人物数据库", |
| | | "navigationBarTitleText": "中国医学人物知识库", |
| | | "navigationBarBackgroundColor": "#F8F8F8", |
| | | "backgroundColor": "#F8F8F8" |
| | | } |
| | |
| | | <template> |
| | | <view class="container flex flex-center" style="align-items: flex-start;"> |
| | | <view class="repository relative"> |
| | | <view class="Ttop flex flex-center flex-wrap" style="flex-direction: column;"> |
| | | <view class=""></view> |
| | | <view class="" ref="Rtop"> |
| | | <text class="login"></text> |
| | | <text |
| | | style="font-size: .36rem;letter-spacing: 4rpx;vertical-align: middle;font-family: cursive;font-weight: bold;">中国医学人物知识库</text> |
| | | </view> |
| | | <view></view> |
| | | </view> |
| | | <el-card> |
| | | <!-- 用户登录 v-if="isLogin"--> |
| | | <view class="LoginTop" |
| | | style="display: flex; justify-content: space-between;margin-bottom: .47rem;align-items: center;"> |
| | | <!-- <view style="color: #244A7B;padding-bottom: .47rem;font-size: .3rem;font-weight: bold;">用户登录</view> --> |
| | | <view class="LoginBg"></view> |
| | | <view class=""> </view> |
| | | </view> |
| | | |
| | | <el-form :hide-required-asterisk="true" ref="formLogin1" label-position="top" :rules="rules1" |
| | | :model="loginData"> |
| | | <el-form-item label="登录账号" prop="loginID"> |
| | | <el-input v-model="loginData.loginID"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="登录密码" prop="pass"> |
| | | <el-input type="password" v-model="loginData.pass"></el-input> |
| | | </el-form-item> |
| | | <el-form-item class="btn"> |
| | | <el-button class="font-family" |
| | | style="margin-top: .47rem; font-weight:900;font-size: .3rem; width: 100%;background-color:#244A7B;color: #fff;padding: .16rem;" |
| | | size="medium" @click="Login('formLogin1')">登录</el-button> |
| | | </el-form-item> |
| | | <view class="" style="display: flex;font-size: .14rem;color: #244A7B;"> |
| | | <view class="" style="display: inline-block;cursor: pointer;" @click="forgetPass">忘记密码 |
| | | </view> |
| | | <view class="" style="display: inline-block;margin: 0 20rpx;"> | </view> |
| | | <view class="" style="display: inline-block;cursor: pointer;" @click="quickRegister">快速注册 |
| | | </view> |
| | | </view> |
| | | </el-form> |
| | | </el-card> |
| | | </view> |
| | | <view class="hua"></view> |
| | | <!-- 底部人物背景图左侧 --> |
| | | <view class="fff"></view> |
| | | <!-- 底部花的背景图右侧 --> |
| | | <view class="rrr"></view> |
| | | <view class="container flex flex-center" style="align-items: flex-start"> |
| | | <view class="repository relative"> |
| | | <view |
| | | class="Ttop flex flex-center flex-wrap" |
| | | style="flex-direction: column" |
| | | > |
| | | <view ></view> |
| | | <view ref="Rtop"> |
| | | <text class="login"></text> |
| | | <text |
| | | style=" |
| | | font-size: 0.36rem; |
| | | letter-spacing: 4rpx; |
| | | vertical-align: middle; |
| | | font-family: cursive; |
| | | font-weight: bold; |
| | | " |
| | | >中国医学人物知识库</text |
| | | > |
| | | </view> |
| | | <view></view> |
| | | </view> |
| | | <el-card> |
| | | <!-- 用户登录 v-if="isLogin"--> |
| | | <view |
| | | class="LoginTop" |
| | | style=" |
| | | display: flex; |
| | | justify-content: space-between; |
| | | margin-bottom: 0.47rem; |
| | | align-items: center; |
| | | " |
| | | > |
| | | <!-- <view style="color: #244A7B;padding-bottom: .47rem;font-size: .3rem;font-weight: bold;">用户登录</view> --> |
| | | <view class="LoginBg"></view> |
| | | <view > </view> |
| | | </view> |
| | | |
| | | <Footer1 /> |
| | | </view> |
| | | <el-form |
| | | :hide-required-asterisk="true" |
| | | ref="formLogin1" |
| | | label-position="top" |
| | | :rules="rules1" |
| | | :model="loginData" |
| | | > |
| | | <el-form-item label="登录账号" prop="loginID"> |
| | | <el-input v-model="loginData.loginID"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="登录密码" prop="pass"> |
| | | <el-input type="password" v-model="loginData.pass"></el-input> |
| | | </el-form-item> |
| | | <el-form-item class="btn"> |
| | | <el-button |
| | | class="font-family" |
| | | style=" |
| | | margin-top: 0.47rem; |
| | | font-weight: 900; |
| | | font-size: 0.3rem; |
| | | width: 100%; |
| | | background-color: #244a7b; |
| | | color: #fff; |
| | | padding: 0.16rem; |
| | | " |
| | | size="medium" |
| | | @click="Login('formLogin1')" |
| | | >登录</el-button |
| | | > |
| | | </el-form-item> |
| | | <view |
| | | |
| | | style="display: flex; font-size: 0.14rem; color: #244a7b" |
| | | > |
| | | <view |
| | | |
| | | style="display: inline-block; cursor: pointer" |
| | | @click="forgetPass" |
| | | >忘记密码 |
| | | </view> |
| | | <view style="display: inline-block; margin: 0 20rpx"> |
| | | | |
| | | </view> |
| | | <view |
| | | |
| | | style="display: inline-block; cursor: pointer" |
| | | @click="quickRegister" |
| | | >快速注册 |
| | | </view> |
| | | </view> |
| | | </el-form> |
| | | </el-card> |
| | | </view> |
| | | <view class="hua"></view> |
| | | <!-- 底部人物背景图左侧 --> |
| | | <view class="fff"></view> |
| | | <!-- 底部花的背景图右侧 --> |
| | | <view class="rrr"></view> |
| | | |
| | | <Footer1 /> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | encryptAES,decryptAES |
| | | } from '@/utils/Crypto.js' |
| | | import { |
| | | nextTick |
| | | } from "vue"; |
| | | import { |
| | | getLogin, |
| | | getUserInfo |
| | | } from '@/api/index.js' |
| | | import Footer1 from '@/components/footer/footer.vue' |
| | | export default { |
| | | components: { |
| | | Footer1 |
| | | }, |
| | | data() { |
| | | // 密码 |
| | | var validatePass = (rule, value, callback) => { |
| | | if (value === '') { |
| | | callback(new Error('请输入密码')); |
| | | } else { |
| | | if (this.registerData.checkPass !== '') { |
| | | this.$nextTick(() => { |
| | | this.$refs.formLogin.validateField('checkPass'); |
| | | }); |
| | | } |
| | | callback(); |
| | | } |
| | | }; |
| | | // 确认密码 |
| | | var validatePass2 = (rule, value, callback) => { |
| | | if (value === '') { |
| | | callback(new Error('请再次输入密码')); |
| | | } else if (value !== this.registerData.pass) { |
| | | callback(new Error('两次输入密码不一致!')); |
| | | } else { |
| | | callback(); |
| | | } |
| | | }; |
| | | return { |
| | | // 用户注册 |
| | | isRegister: false, |
| | | // 用户登录 |
| | | isLogin: true, |
| | | // 修改密码 |
| | | isAmendPass: false, |
| | | // 重置密码 |
| | | isResetPass: false, |
| | | // 注册用户账号的校验 |
| | | rules: { |
| | | loginID: [{ |
| | | required: true, |
| | | message: '请输入登录账号', |
| | | trigger: 'blur' |
| | | }, |
| | | |
| | | ], |
| | | pass: [{ |
| | | required: true, |
| | | message: '请输入密码', |
| | | trigger: 'blur' |
| | | }, |
| | | { |
| | | min: 6, |
| | | max: 12, |
| | | message: '密码长度在 6 到 12 个字符', |
| | | trigger: 'blur' |
| | | }, |
| | | { |
| | | validator: validatePass, |
| | | trigger: 'blur' |
| | | } |
| | | ], |
| | | checkPass: [{ |
| | | validator: validatePass2, |
| | | trigger: 'blur' |
| | | }], |
| | | cellphoneORmailbox: [{ |
| | | required: true, |
| | | message: '请输入邮箱地址', |
| | | trigger: 'blur' |
| | | }, |
| | | { |
| | | type: 'email', |
| | | message: '请输入正确的邮箱地址', |
| | | trigger: ['blur', 'change'] |
| | | } |
| | | ], |
| | | verifyCode: [{ |
| | | required: true, |
| | | message: '请输入验证码', |
| | | trigger: 'blur' |
| | | }, |
| | | { |
| | | validator: (rule, value, callback) => this.validateVerificationCode(rule, value, callback), |
| | | trigger: 'blur' |
| | | } |
| | | ] |
| | | }, |
| | | rules1: { |
| | | loginID: [{ |
| | | required: true, |
| | | message: '请输入登录账号', |
| | | trigger: 'blur' |
| | | }], |
| | | pass: [{ |
| | | required: true, |
| | | message: '请输入密码', |
| | | trigger: 'blur' |
| | | }, |
| | | { |
| | | min: 6, |
| | | max: 12, |
| | | message: '密码长度在 6 到 12 个字符', |
| | | trigger: 'blur' |
| | | } |
| | | ], |
| | | }, |
| | | import { encryptAES, decryptAES } from "@/utils/Crypto.js"; |
| | | import { nextTick } from "vue"; |
| | | import { getLogin, getUserInfo } from "@/api/index.js"; |
| | | import Footer1 from "@/components/footer/footer.vue"; |
| | | export default { |
| | | components: { |
| | | Footer1 |
| | | }, |
| | | data() { |
| | | // 密码 |
| | | var validatePass = (rule, value, callback) => { |
| | | if (value === "") { |
| | | callback(new Error("请输入密码")); |
| | | } else { |
| | | if (this.registerData.checkPass !== "") { |
| | | this.$nextTick(() => { |
| | | this.$refs.formLogin.validateField("checkPass"); |
| | | }); |
| | | } |
| | | callback(); |
| | | } |
| | | }; |
| | | // 确认密码 |
| | | var validatePass2 = (rule, value, callback) => { |
| | | if (value === "") { |
| | | callback(new Error("请再次输入密码")); |
| | | } else if (value !== this.registerData.pass) { |
| | | callback(new Error("两次输入密码不一致!")); |
| | | } else { |
| | | callback(); |
| | | } |
| | | }; |
| | | return { |
| | | // 用户注册 |
| | | isRegister: false, |
| | | // 用户登录 |
| | | isLogin: true, |
| | | // 修改密码 |
| | | isAmendPass: false, |
| | | // 重置密码 |
| | | isResetPass: false, |
| | | // 注册用户账号的校验 |
| | | rules: { |
| | | loginID: [ |
| | | { |
| | | required: true, |
| | | message: "请输入登录账号", |
| | | trigger: "blur" |
| | | } |
| | | ], |
| | | pass: [ |
| | | { |
| | | required: true, |
| | | message: "请输入密码", |
| | | trigger: "blur" |
| | | }, |
| | | { |
| | | min: 6, |
| | | max: 12, |
| | | message: "密码长度在 6 到 12 个字符", |
| | | trigger: "blur" |
| | | }, |
| | | { |
| | | validator: validatePass, |
| | | trigger: "blur" |
| | | } |
| | | ], |
| | | checkPass: [ |
| | | { |
| | | validator: validatePass2, |
| | | trigger: "blur" |
| | | } |
| | | ], |
| | | cellphoneORmailbox: [ |
| | | { |
| | | required: true, |
| | | message: "请输入邮箱地址", |
| | | trigger: "blur" |
| | | }, |
| | | { |
| | | type: "email", |
| | | message: "请输入正确的邮箱地址", |
| | | trigger: ["blur", "change"] |
| | | } |
| | | ], |
| | | verifyCode: [ |
| | | { |
| | | required: true, |
| | | message: "请输入验证码", |
| | | trigger: "blur" |
| | | }, |
| | | { |
| | | validator: (rule, value, callback) => |
| | | this.validateVerificationCode(rule, value, callback), |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | }, |
| | | rules1: { |
| | | loginID: [ |
| | | { |
| | | required: true, |
| | | message: "请输入登录账号", |
| | | trigger: "blur" |
| | | } |
| | | ], |
| | | pass: [ |
| | | { |
| | | required: true, |
| | | message: "请输入密码", |
| | | trigger: "blur" |
| | | }, |
| | | { |
| | | min: 6, |
| | | max: 12, |
| | | message: "密码长度在 6 到 12 个字符", |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | }, |
| | | |
| | | // 登录注册框 |
| | | loginTrue: true, |
| | | Rtop1: 0, |
| | | value: 'sdfdsf', |
| | | // 登录用户账号 |
| | | loginData: { |
| | | // 账号 |
| | | loginID: '', |
| | | pass: '' |
| | | }, |
| | | // 书籍数据 |
| | | listData: [{ |
| | | name: '中医人物数据库', |
| | | id: 1, |
| | | }, { |
| | | name: '世医医家数据库', |
| | | id: 2, |
| | | }, { |
| | | name: '中医学术流派', |
| | | id: 3, |
| | | }, { |
| | | name: '中医地域医谱', |
| | | id: 4, |
| | | }, { |
| | | name: '中医医事制度', |
| | | id: 5, |
| | | }, |
| | | |
| | | ] |
| | | } |
| | | }, |
| | | onLoad() { |
| | | uni.getSystemInfo({ |
| | | success: function(info) { |
| | | // console.log('屏幕的宽度:' + info.windowWidth); |
| | | // console.log('屏幕的高度:' + info.windowHeight); |
| | | } |
| | | }); |
| | | }, |
| | | mounted() { |
| | | this.getElementWidth(); |
| | | }, |
| | | methods: { |
| | | // 列表项跳转 |
| | | listDataClick(item) { |
| | | console.log(item); |
| | | // 在当前页面设置全局变量 |
| | | // uni.setStorageSync('globalData', { id: 123, name: 'example' }); |
| | | if (item.id == 1) { |
| | | uni.navigateTo({ |
| | | url: '/pages/character/detail?id=' + item.id |
| | | }) |
| | | } else if (item.id == 2) { |
| | | console.log(item.name); |
| | | // uni.navigateTo({ |
| | | // url:'/pages/character/detail?id='+item.id |
| | | // }) |
| | | } else if (item.id == 3) { |
| | | uni.navigateTo({ |
| | | url: '/pages/academicGenres/index?id=' + item.id |
| | | }) |
| | | } else if (item.id == 4) { |
| | | uni.navigateTo({ |
| | | url: '/pages/territory/territory?id=' + item.id |
| | | }) |
| | | } else if (item.id == 5) { |
| | | uni.navigateTo({ |
| | | url: '/pages/TcmSystem/TcmSystem?id=' + item.id |
| | | }) |
| | | } |
| | | |
| | | }, |
| | | // 忘记密码 |
| | | forgetPass() { |
| | | uni.redirectTo({ |
| | | url: '/pages/forgetPass/forgetPass' |
| | | }) |
| | | }, |
| | | // 快速注册 |
| | | quickRegister() { |
| | | uni.redirectTo({ |
| | | url: '/pages/Register/Register' |
| | | }) |
| | | }, |
| | | // 验证码校验 |
| | | validateVerificationCode(rule, value, callback) { |
| | | if (value !== '123456') { |
| | | callback(new Error('验证码错误')); |
| | | } else { |
| | | callback(); |
| | | } |
| | | }, |
| | | getElementWidth() { |
| | | |
| | | this.$nextTick(() => { |
| | | var width = this.$refs.Rtop.$el.clientWidth; |
| | | this.Rtop1 = width + 50; |
| | | console.log('Element width:', width); |
| | | }) |
| | | }, |
| | | // 用户登录 |
| | | async Login(formName) { |
| | | console.log(decryptAES(this.loginData.pass),'this.loginData.pass'); |
| | | let Obj = { |
| | | username: this.loginData.loginID, |
| | | // encryptAES(this.loginData.pass) | this.loginData.pass |
| | | password: encryptAES(this.loginData.pass), |
| | | } |
| | | console.log(Obj, 'Obj'); |
| | | |
| | | let res = await getLogin(Obj) |
| | | console.log(res, 'sfdsf'); |
| | | if (res.success) { |
| | | uni.showToast({ |
| | | title: '登录成功', |
| | | }) |
| | | // 将token存储再本地中 |
| | | window.localStorage.setItem("access_token", res.results.token) |
| | | await getUserInfo().then(res => { |
| | | console.log(res, 'rrrrrrrrrrsd'); |
| | | }) |
| | | // 将账号存入到vuex中 |
| | | this.$store.dispatch('setUserName',res.object.username) |
| | | |
| | | uni.redirectTo({ |
| | | url: '/pages/index/index' |
| | | }) |
| | | } else { |
| | | console.log('sdfdsfsdf'); |
| | | uni.showToast({ |
| | | title: res.errorText, |
| | | icon: 'error' |
| | | }) |
| | | // alert("sdfdsf") |
| | | this.loginData.pass = '' |
| | | } |
| | | this.$refs[formName].validate(async (valid) => { |
| | | if (valid) { |
| | | // alert('submit!成功'); |
| | | // uni.redirectTo({ |
| | | // url: '/pages/index/index' |
| | | // }) |
| | | } else { |
| | | console.log('error submit!!失败'); |
| | | return false; |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | // 登录注册框 |
| | | loginTrue: true, |
| | | Rtop1: 0, |
| | | value: "sdfdsf", |
| | | // 登录用户账号 |
| | | loginData: { |
| | | // 账号 |
| | | loginID: "", |
| | | pass: "" |
| | | }, |
| | | // 书籍数据 |
| | | listData: [ |
| | | { |
| | | name: "中医人物数据库", |
| | | id: 1 |
| | | }, |
| | | { |
| | | name: "世医医家数据库", |
| | | id: 2 |
| | | }, |
| | | { |
| | | name: "中医学术流派", |
| | | id: 3 |
| | | }, |
| | | { |
| | | name: "中医地域医谱", |
| | | id: 4 |
| | | }, |
| | | { |
| | | name: "中医医事制度", |
| | | id: 5 |
| | | } |
| | | ] |
| | | }; |
| | | }, |
| | | onLoad() { |
| | | uni.getSystemInfo({ |
| | | success: function (info) { |
| | | // console.log('屏幕的宽度:' + info.windowWidth); |
| | | // console.log('屏幕的高度:' + info.windowHeight); |
| | | } |
| | | }); |
| | | }, |
| | | mounted() { |
| | | this.getElementWidth(); |
| | | }, |
| | | methods: { |
| | | // 列表项跳转 |
| | | listDataClick(item) { |
| | | // 在当前页面设置全局变量 |
| | | // uni.setStorageSync('globalData', { id: 123, name: 'example' }); |
| | | if (item.id == 1) { |
| | | uni.navigateTo({ |
| | | url: "/pages/character/detail?id=" + item.id |
| | | }); |
| | | } else if (item.id == 2) { |
| | | // uni.navigateTo({ |
| | | // url:'/pages/character/detail?id='+item.id |
| | | // }) |
| | | } else if (item.id == 3) { |
| | | uni.navigateTo({ |
| | | url: "/pages/academicGenres/index?id=" + item.id |
| | | }); |
| | | } else if (item.id == 4) { |
| | | uni.navigateTo({ |
| | | url: "/pages/territory/territory?id=" + item.id |
| | | }); |
| | | } else if (item.id == 5) { |
| | | uni.navigateTo({ |
| | | url: "/pages/TcmSystem/TcmSystem?id=" + item.id |
| | | }); |
| | | } |
| | | }, |
| | | // 忘记密码 |
| | | forgetPass() { |
| | | uni.redirectTo({ |
| | | url: "/pages/forgetPass/forgetPass" |
| | | }); |
| | | }, |
| | | // 快速注册 |
| | | quickRegister() { |
| | | uni.redirectTo({ |
| | | url: "/pages/Register/Register" |
| | | }); |
| | | }, |
| | | // 验证码校验 |
| | | validateVerificationCode(rule, value, callback) { |
| | | if (value !== "123456") { |
| | | callback(new Error("验证码错误")); |
| | | } else { |
| | | callback(); |
| | | } |
| | | }, |
| | | getElementWidth() { |
| | | this.$nextTick(() => { |
| | | var width = this.$refs.Rtop.$el.clientWidth; |
| | | this.Rtop1 = width + 50; |
| | | }); |
| | | }, |
| | | // 用户登录 |
| | | async Login(formName) { |
| | | let Obj = { |
| | | username: this.loginData.loginID, |
| | | // encryptAES(this.loginData.pass) | this.loginData.pass |
| | | password: encryptAES(this.loginData.pass) |
| | | }; |
| | | let res = await getLogin(Obj); |
| | | if (res.success) { |
| | | this.$message.success("登录成功"); |
| | | // 将token存储再本地中 |
| | | window.localStorage.setItem("access_token", res.results.token); |
| | | // await getUserInfo().then((res) => { |
| | | // }); |
| | | // 将账号存入到vuex中 |
| | | this.$store.dispatch("setUserName", res.object.username); |
| | | uni.redirectTo({ |
| | | url: "/pages/index/index" |
| | | }); |
| | | } else { |
| | | this.$message.error(res.errorText); |
| | | this.loginData.pass = ""; |
| | | } |
| | | this.$refs[formName].validate(async (valid) => { |
| | | if (valid) { |
| | | // alert('submit!成功'); |
| | | // uni.redirectTo({ |
| | | // url: '/pages/index/index' |
| | | // }) |
| | | } else { |
| | | console.log("error submit!!失败"); |
| | | return false; |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | /* @media screen and (max-width:1366px) { |
| | | /* @media screen and (max-width:1366px) { |
| | | ::v-deep .el-card { |
| | | top: 50% !important; |
| | | } |
| | |
| | | } |
| | | } */ |
| | | |
| | | ::v-deep .el-form-item__error { |
| | | font-size: .13rem !important; |
| | | } |
| | | ::v-deep .el-form-item__error { |
| | | font-size: 0.13rem !important; |
| | | } |
| | | |
| | | /* |
| | | /* |
| | | @media screen and (min-width: 1920px) and (max-width:2560px) { |
| | | ::v-deep .el-card { |
| | | top: 80% !important; |
| | |
| | | } |
| | | } */ |
| | | |
| | | /* @media screen and (min-width:2560px)and (max-width:3840px) { |
| | | /* @media screen and (min-width:2560px)and (max-width:3840px) { |
| | | .LoginBg { |
| | | margin: 0 !important; |
| | | } |
| | |
| | | |
| | | } */ |
| | | |
| | | .LoginBg { |
| | | width: 1.2rem; |
| | | height: 0.37rem; |
| | | background: url(@/static/image/用户登录.png) no-repeat 0 0; |
| | | background-size: 100%; |
| | | margin-bottom: 0.47rem; |
| | | } |
| | | |
| | | .LoginBg { |
| | | width: 1.2rem; |
| | | height: .37rem; |
| | | background: url(@/static/image/用户登录.png) no-repeat 0 0; |
| | | background-size: 100%; |
| | | margin-bottom: .47rem; |
| | | } |
| | | ::v-deep .el-card { |
| | | border-radius: 0; |
| | | width: 5.42rem; |
| | | /* height: 4.75rem; */ |
| | | position: absolute; |
| | | top: 80%; |
| | | } |
| | | |
| | | ::v-deep .el-card__body { |
| | | padding: 0.17rem 0.58rem; |
| | | } |
| | | |
| | | ::v-deep .el-card { |
| | | border-radius: 0; |
| | | width: 5.42rem; |
| | | /* height: 4.75rem; */ |
| | | position: absolute; |
| | | top: 80%; |
| | | } |
| | | .btn >>> .el-form-item__content { |
| | | margin-left: 0 !important; |
| | | } |
| | | |
| | | ::v-deep .el-card__body { |
| | | padding: .17rem .58rem; |
| | | } |
| | | ::v-deep .el-input__inner { |
| | | border: none; |
| | | border-bottom: 1px solid #2d476a; |
| | | border-radius: 0; |
| | | } |
| | | |
| | | .btn>>>.el-form-item__content { |
| | | margin-left: 0 !important; |
| | | } |
| | | ::v-deep .el-form-item__error { |
| | | /* display: none; */ |
| | | } |
| | | |
| | | ::v-deep .input.invalid:focus { |
| | | border-color: #2d476a !important; |
| | | } |
| | | |
| | | ::v-deep .el-input__inner { |
| | | border: none; |
| | | border-bottom: 1px solid #2d476a; |
| | | border-radius: 0; |
| | | ::v-deep .el-input__inner:invalid { |
| | | border-color: #2d476a !important; |
| | | } |
| | | |
| | | } |
| | | ::v-deep .el-form-item__label { |
| | | padding: 0; |
| | | color: #244a7b; |
| | | font-size: 0.14rem; |
| | | font-weight: 500; |
| | | } |
| | | |
| | | ::v-deep .el-form-item__error { |
| | | /* display: none; */ |
| | | } |
| | | ::v-deep .el-form-item { |
| | | margin-bottom: 0.25rem; |
| | | } |
| | | |
| | | ::v-deep .input.invalid:focus { |
| | | border-color: #2d476a !important; |
| | | } |
| | | .ss1 { |
| | | background-repeat: no-repeat; |
| | | background-size: 100% 100%; |
| | | width: 40rpx; |
| | | height: 40rpx; |
| | | background-size: 100% 100%; |
| | | } |
| | | |
| | | ::v-deep .el-input__inner:invalid { |
| | | border-color: #2d476a !important; |
| | | } |
| | | .s1 { |
| | | background-image: url(@/static/image/search.png); |
| | | } |
| | | |
| | | .s2 { |
| | | background-image: url(@/static/image/question.png); |
| | | } |
| | | |
| | | ::v-deep .el-form-item__label { |
| | | padding: 0; |
| | | color: #244A7B; |
| | | font-size: .14rem; |
| | | font-weight: 500; |
| | | } |
| | | .s3 { |
| | | background-image: url(@/static/image/question.png); |
| | | } |
| | | |
| | | ::v-deep .el-form-item { |
| | | margin-bottom: .25rem; |
| | | } |
| | | .container { |
| | | background: url(@/static/image/bg1.png); |
| | | width: 100vw; |
| | | height: 100vh; |
| | | |
| | | .ss1 { |
| | | background-repeat: no-repeat; |
| | | background-size: 100% 100%; |
| | | width: 40rpx; |
| | | height: 40rpx; |
| | | background-size: 100% 100%; |
| | | } |
| | | color: #fff; |
| | | |
| | | .s1 { |
| | | background-image: url(@/static/image/search.png); |
| | | .repository { |
| | | width: 100% !important; |
| | | /* margin-top: 19px; */ |
| | | /* height: 68%; */ |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: space-around; |
| | | align-items: center; |
| | | |
| | | } |
| | | .Ttop { |
| | | margin-top: 0.38rem; |
| | | margin-bottom: 1.22rem; |
| | | } |
| | | |
| | | .s2 { |
| | | background-image: url(@/static/image/question.png); |
| | | } |
| | | .r-top { |
| | | font-size: 40rpx !important; |
| | | margin: 10rpx 0; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .s3 { |
| | | background-image: url(@/static/image/question.png); |
| | | } |
| | | .login { |
| | | width: 0.52rem; |
| | | height: 0.52rem; |
| | | display: inline-block; |
| | | vertical-align: middle; |
| | | margin-right: 0.19rem; |
| | | background: url(@/static/image/logo.png) no-repeat 0 0; |
| | | background-size: 100% 100%; |
| | | } |
| | | |
| | | .container { |
| | | background: url(@/static/image/bg1.png); |
| | | width: 100vw; |
| | | height: 100vh; |
| | | .rrr { |
| | | position: absolute; |
| | | right: 0.53rem; |
| | | bottom: 0.36rem; |
| | | width: 2.5rem; |
| | | height: 3.07rem; |
| | | opacity: 1; |
| | | background: url(@/static/image/bg4.png); |
| | | background-size: 100% 100%; |
| | | } |
| | | |
| | | color: #fff; |
| | | .hua { |
| | | width: 13.81rem; |
| | | height: 5.965rem; |
| | | position: absolute; |
| | | background: url(@/static/image/bg3.png) no-repeat 0 0; |
| | | background-size: 100% 100%; |
| | | } |
| | | |
| | | .repository { |
| | | width: 100% !important; |
| | | /* margin-top: 19px; */ |
| | | /* height: 68%; */ |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: space-around; |
| | | align-items: center; |
| | | /* 底部人物背景图 */ |
| | | .fff { |
| | | background: url(@/static/image/bg2.png) no-repeat 0 0; |
| | | background-size: 100% 100%; |
| | | width: 2.74rem; |
| | | height: 4.52rem; |
| | | position: fixed; |
| | | bottom: 0; |
| | | z-index: 9999999999999; |
| | | left: 0; |
| | | } |
| | | |
| | | .Ttop { |
| | | margin-top: .38rem; |
| | | margin-bottom: 1.22rem; |
| | | } |
| | | ::v-deep .uni-easyinput__content { |
| | | border-radius: 30rpx !important; |
| | | /* height: 52rpx; */ |
| | | } |
| | | |
| | | .r-top { |
| | | font-size: 40rpx !important; |
| | | margin: 10rpx 0; |
| | | } |
| | | } |
| | | .secretary { |
| | | width: 1300rpx !important; |
| | | height: 50rpx; |
| | | /* height: 80%; */ |
| | | /* flex-wrap: wrap; */ |
| | | padding: 0 20px; |
| | | text-align: center; |
| | | |
| | | } |
| | | li { |
| | | background-color: #fff; |
| | | color: black; |
| | | height: 600rpx; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | border: 1rpx solid #fff; |
| | | padding: 50rpx 65rpx; |
| | | /* padding: 58rpx 128rpx 88rpx; */ |
| | | text-align: center; |
| | | background: #ebf4ff; |
| | | } |
| | | } |
| | | |
| | | .login { |
| | | width: .52rem; |
| | | height: .52rem; |
| | | display: inline-block; |
| | | vertical-align: middle; |
| | | margin-right: .19rem; |
| | | background: url(@/static/image/logo.png) no-repeat 0 0; |
| | | background-size: 100% 100%; |
| | | } |
| | | .Bbottom { |
| | | display: flex; |
| | | justify-content: center; |
| | | } |
| | | |
| | | .rrr { |
| | | position: absolute; |
| | | right: .53rem; |
| | | bottom: .36rem; |
| | | width: 2.5rem; |
| | | height: 3.07rem; |
| | | opacity: 1; |
| | | background: url(@/static/image/bg4.png); |
| | | background-size: 100% 100%; |
| | | } |
| | | .LoginBg { |
| | | margin: 0 !important; |
| | | } |
| | | |
| | | .hua { |
| | | width: 13.81rem; |
| | | height: 5.965rem; |
| | | position: absolute; |
| | | background: url(@/static/image/bg3.png) no-repeat 0 0; |
| | | background-size: 100% 100%; |
| | | } |
| | | ::v-deep .el-card { |
| | | top: 85% !important; |
| | | } |
| | | |
| | | /* 底部人物背景图 */ |
| | | .fff { |
| | | background: url(@/static/image/bg2.png) no-repeat 0 0; |
| | | background-size: 100% 100%; |
| | | width: 2.74rem; |
| | | height: 4.52rem; |
| | | position: fixed; |
| | | bottom: 0; |
| | | z-index: 9999999999999; |
| | | left: 0; |
| | | } |
| | | ::v-deep .el-input__inner { |
| | | height: 0.4rem !important; |
| | | font-size: 0.14rem; |
| | | } |
| | | |
| | | ::v-deep .uni-easyinput__content { |
| | | border-radius: 30rpx !important; |
| | | /* height: 52rpx; */ |
| | | } |
| | | .hua { |
| | | height: 4rem !important; |
| | | } |
| | | |
| | | .LoginBg { |
| | | margin: 0 !important; |
| | | height: 0.3rem !important; |
| | | } |
| | | |
| | | .secretary { |
| | | width: 1300rpx !important; |
| | | height: 50rpx; |
| | | /* height: 80%; */ |
| | | /* flex-wrap: wrap; */ |
| | | padding: 0 20px; |
| | | text-align: center; |
| | | ::v-deep .el-card { |
| | | top: 80% !important; |
| | | padding: 0 !important; |
| | | } |
| | | |
| | | ::v-deep .el-card__body { |
| | | padding: 0.25rem 0.5rem !important; |
| | | } |
| | | |
| | | ::v-deep .el-form { |
| | | padding-left: 0.1rem !important; |
| | | } |
| | | |
| | | ::v-deep .el-form-item__error { |
| | | font-size: 0.13rem !important; |
| | | } |
| | | |
| | | li { |
| | | background-color: #fff; |
| | | color: black; |
| | | height: 600rpx; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | border: 1rpx solid #fff; |
| | | padding: 50rpx 65rpx; |
| | | /* padding: 58rpx 128rpx 88rpx; */ |
| | | text-align: center; |
| | | background: #EBF4FF; |
| | | } |
| | | } |
| | | ::v-deep .el-input__inner { |
| | | height: 0.44rem !important; |
| | | } |
| | | |
| | | .hua { |
| | | height: 5rem !important; |
| | | } |
| | | |
| | | .LoginTop { |
| | | margin-bottom: 0.4rem !important; |
| | | } |
| | | |
| | | .Bbottom { |
| | | display: flex; |
| | | justify-content: center; |
| | | .yzm { |
| | | top: 15% !important; |
| | | } |
| | | |
| | | } |
| | | .fff { |
| | | width: 2.4rem !important; |
| | | height: 4rem !important; |
| | | } |
| | | |
| | | .rrr { |
| | | width: 2rem !important; |
| | | height: 2.5rem !important; |
| | | } |
| | | |
| | | .LoginBg { |
| | | margin: 0 !important; |
| | | } |
| | | |
| | | ::v-deep .el-card { |
| | | top: 85% !important; |
| | | } |
| | | |
| | | ::v-deep .el-input__inner { |
| | | height: .4rem !important; |
| | | font-size: .14rem; |
| | | } |
| | | |
| | | .hua { |
| | | height: 4rem !important; |
| | | } |
| | | |
| | | .LoginBg { |
| | | margin: 0 !important; |
| | | height: .3rem !important; |
| | | } |
| | | |
| | | ::v-deep .el-card { |
| | | top: 80% !important; |
| | | padding: 0 !important; |
| | | } |
| | | |
| | | ::v-deep .el-card__body { |
| | | padding: .25rem .5rem !important; |
| | | } |
| | | |
| | | ::v-deep .el-form { |
| | | padding-left: .1rem !important; |
| | | } |
| | | |
| | | ::v-deep .el-form-item__error { |
| | | font-size: .13rem !important; |
| | | } |
| | | |
| | | ::v-deep .el-input__inner { |
| | | height: .44rem !important; |
| | | } |
| | | |
| | | .hua { |
| | | height: 5rem !important; |
| | | } |
| | | |
| | | .LoginTop { |
| | | margin-bottom: .4rem !important; |
| | | } |
| | | |
| | | .yzm { |
| | | top: 15% !important; |
| | | } |
| | | |
| | | .fff { |
| | | width: 2.4rem !important; |
| | | height: 4rem !important; |
| | | } |
| | | |
| | | .rrr { |
| | | width: 2rem !important; |
| | | height: 2.5rem !important; |
| | | } |
| | | |
| | | .btn ::v-deep .el-button { |
| | | margin-top: 0.2rem !important; |
| | | /* font-size: 0.2rem !important; |
| | | .btn ::v-deep .el-button { |
| | | margin-top: 0.2rem !important; |
| | | /* font-size: 0.2rem !important; |
| | | width: 100%; |
| | | padding: 0.12rem !important; */ |
| | | } |
| | | } |
| | | |
| | | .asdf { |
| | | margin-bottom: .1rem !important; |
| | | } |
| | | </style> |
| | | .asdf { |
| | | margin-bottom: 0.1rem !important; |
| | | } |
| | | </style> |
| | |
| | | class="Ttop flex flex-center flex-wrap" |
| | | style="flex-direction: column" |
| | | > |
| | | <view class=""></view> |
| | | <view class="" ref="Rtop"> |
| | | <view ></view> |
| | | <view ref="Rtop"> |
| | | <text class="login"></text> |
| | | <text |
| | | style=" |
| | |
| | | align-items: center; |
| | | " |
| | | > |
| | | <!-- <view class="" style="color: #244A7B;padding-bottom: .47rem;font-size: .3rem;font-weight: bold;">用户注册</view> --> |
| | | <!-- <view style="color: #244A7B;padding-bottom: .47rem;font-size: .3rem;font-weight: bold;">用户注册</view> --> |
| | | <view class="LoginBg"></view> |
| | | <view |
| | | class="" |
| | | |
| | | @click="BacktoLogin" |
| | | style=" |
| | | cursor: pointer; |
| | |
| | | import Footer1 from "@/components/footer/footer.vue"; |
| | | export default { |
| | | components: { |
| | | Footer1, |
| | | Footer1 |
| | | }, |
| | | data() { |
| | | // 密码 |
| | |
| | | { |
| | | required: true, |
| | | message: "请输入登录账号", |
| | | trigger: "blur", |
| | | trigger: "blur" |
| | | }, |
| | | { |
| | | pattern: /^[a-zA-Z0-9]{3,15}$/, |
| | | message: "请输入3-15个字符的字母或数字", |
| | | trigger: "blur", |
| | | }, // 自定义校验规则,使用正则表达式 |
| | | trigger: "blur" |
| | | } // 自定义校验规则,使用正则表达式 |
| | | ], |
| | | pass: [ |
| | | { |
| | | required: true, |
| | | message: "请输入密码", |
| | | trigger: "blur", |
| | | trigger: "blur" |
| | | }, |
| | | { |
| | | min: 6, |
| | | max: 10, |
| | | message: "密码长度在 6 到 12 个字符", |
| | | trigger: "blur", |
| | | trigger: "blur" |
| | | }, |
| | | { |
| | | validator: validatePass, |
| | | trigger: "blur", |
| | | }, |
| | | trigger: "blur" |
| | | } |
| | | ], |
| | | checkPass: [ |
| | | { |
| | | validator: validatePass2, |
| | | trigger: "blur", |
| | | }, |
| | | trigger: "blur" |
| | | } |
| | | ], |
| | | cellphoneORmailbox: [ |
| | | { |
| | | required: true, |
| | | message: "请输入手机", |
| | | trigger: "blur", |
| | | trigger: "blur" |
| | | }, |
| | | { |
| | | validator: this.validateContact, |
| | | trigger: "blur", |
| | | }, |
| | | trigger: "blur" |
| | | } |
| | | ], |
| | | verifyCode: [ |
| | | { |
| | | required: true, |
| | | message: "请输入验证码", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | }, |
| | | // 登录注册框 |
| | | loginTrue: true, |
| | |
| | | pass: "", |
| | | checkPass: "", |
| | | cellphoneORmailbox: null, |
| | | verifyCode: "", |
| | | verifyCode: "" |
| | | }, |
| | | // 登录用户账号 |
| | | loginData: { |
| | | // 账号 |
| | | loginID: "", |
| | | pass: "", |
| | | pass: "" |
| | | }, |
| | | // 重置密码 |
| | | resetDataPass: { |
| | | cellphoneORmailbox: null, |
| | | verifyCode: "", |
| | | newPass: "", |
| | | checkPass: "", |
| | | checkPass: "" |
| | | }, |
| | | // 修改密码 |
| | | amendDataPass: { |
| | | loginID: "", |
| | | originalPass: "", |
| | | newPass: "", |
| | | checkPass: "", |
| | | checkPass: "" |
| | | }, |
| | | // 书籍数据 |
| | | listData: [ |
| | | { |
| | | name: "中医人物数据库", |
| | | id: 1, |
| | | id: 1 |
| | | }, |
| | | { |
| | | name: "世医医家数据库", |
| | | id: 2, |
| | | id: 2 |
| | | }, |
| | | { |
| | | name: "中医学术流派", |
| | | id: 3, |
| | | id: 3 |
| | | }, |
| | | { |
| | | name: "中医地域医谱", |
| | | id: 4, |
| | | id: 4 |
| | | }, |
| | | { |
| | | name: "中医医事制度", |
| | | id: 5, |
| | | }, |
| | | ], |
| | | id: 5 |
| | | } |
| | | ] |
| | | }; |
| | | }, |
| | | onLoad() { |
| | |
| | | success: function (info) { |
| | | // console.log('屏幕的宽度:' + info.windowWidth); |
| | | // console.log('屏幕的高度:' + info.windowHeight); |
| | | }, |
| | | } |
| | | }); |
| | | }, |
| | | mounted() { |
| | |
| | | methods: { |
| | | // 服务条款 |
| | | termOfServiceClick(number) { |
| | | // console.log(number); |
| | | if (number == 1) { |
| | | console.log("服务条款"); |
| | | window.open(`#/pages/userAgreement/userAgreement`); |
| | | // uni.navigateTo({ |
| | | // url: '/pages/userAgreement/userAgreement' |
| | | // }) |
| | | } else if (number == 2) { |
| | | window.open(`#/pages/userAgreement/userAgreement`); |
| | | console.log("用户隐私保护和个人信息条款"); |
| | | } |
| | | }, |
| | | // 已有账号?返回登录 |
| | | BacktoLogin() { |
| | | uni.redirectTo({ |
| | | url: "/pages/Login/Login", |
| | | url: "/pages/Login/Login" |
| | | }); |
| | | }, |
| | | // 获取验证码 |
| | |
| | | if (!this.registerData.cellphoneORmailbox) { |
| | | this.$message({ |
| | | message: "请输入手机!", |
| | | type: "warning", |
| | | type: "warning" |
| | | }); |
| | | |
| | | return false; |
| | |
| | | return; |
| | | } |
| | | let Obj = { |
| | | communicateParam: this.registerData.cellphoneORmailbox, |
| | | communicateParam: this.registerData.cellphoneORmailbox |
| | | }; |
| | | this.countdown = 60; |
| | | const intervalId = setInterval(() => { |
| | |
| | | } |
| | | }, 1000); |
| | | let code = await getverifyCode(Obj); |
| | | |
| | | }, |
| | | // 手机号/或者邮箱 |
| | | validateContact(rule, value, callback) { |
| | | const regPhone = /^1[0-9]{10}$/; |
| | | const regEmail = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; |
| | | console.log(value, regPhone.test(value), regEmail.test(value)); |
| | | if (regPhone.test(value) || regEmail.test(value)) { |
| | | callback(); // 校验通过 |
| | | } else { |
| | |
| | | this.$nextTick(() => { |
| | | var width = this.$refs.Rtop.$el.clientWidth; |
| | | this.Rtop1 = width + 50; |
| | | console.log("Element width:", width); |
| | | }); |
| | | }, |
| | | // 用户注册 |
| | | async Login(formName) { |
| | | console.log(formName); |
| | | let Obj = { |
| | | username: this.registerData.loginID, |
| | | password: encryptAES(this.registerData.pass), |
| | | communicateParam: this.registerData.cellphoneORmailbox, |
| | | verifyCode: this.registerData.verifyCode, |
| | | verifyCode: this.registerData.verifyCode |
| | | }; |
| | | this.$refs[formName].validate(async (valid) => { |
| | | if (valid) { |
| | | // alert('submit!'); |
| | | console.log("sdfds"); |
| | | await getaddLogin(Obj).then((res) => { |
| | | console.log(res, "注册成功"); |
| | | if (res.success == true) { |
| | | uni.showToast({ |
| | | title: res.errorText, |
| | | icon: "success", |
| | | }); |
| | | this.$message.success("注册成功"); |
| | | uni.navigateTo({ |
| | | url: "/pages/Login/Login", |
| | | url: "/pages/Login/Login" |
| | | }); |
| | | } else { |
| | | uni.showToast({ |
| | | title: res.errorText, |
| | | icon: "error", |
| | | }); |
| | | this.$message.error(res.errorText); |
| | | } |
| | | }); |
| | | // encryptAES |
| | | // uni.navigateTo({ |
| | | // url: '/pages/Login/Login' |
| | | // }) |
| | | } else { |
| | | console.log("error submit!!"); |
| | | return false; |
| | | } |
| | | }); |
| | | |
| | | // console.log(Obj, '用户登录的登录按钮'); |
| | | |
| | | // let res = await getaddLogin(Obj) |
| | | // console.log('sdfdsfs', res); |
| | | }, |
| | | }, |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | <style scoped> |
| | |
| | | }); |
| | | }, |
| | | // 右侧的list数据 |
| | | getMList(obj) { |
| | | getMList(key) { |
| | | this.pageLoading = true; |
| | | let Obj = { |
| | | medicalSearchType: this.searchType, |
| | | type: this.classifyType, //查询类型 取值:OFFICIAL->职官 INSTITUTION->机构 ALL->职官、机构 |
| | | name: this.SearchValue, //搜索框检索 |
| | | name: key ? key : this.SearchValue, //搜索框检索 |
| | | dynastyId: this.classifyId, //点击朝代查询数据时,带上此参数 |
| | | sort: this.rankVal, //排序方式 取值:CREATE创建时间,NAME名称 |
| | | page: this.CurrentPage, //第几页 |
| | |
| | | }, |
| | | // list数组 获取list里面的详情shuju |
| | | ListClick(item, index) { |
| | | console.log(item, "item"); |
| | | let Obj = { |
| | | rowId: item.requestId, |
| | | medicalSearchType: this.searchType, |
| | |
| | | }, |
| | | // 热门搜索 |
| | | HotClick(val) { |
| | | this.SearchValue = val; |
| | | this.getMList(); |
| | | // this.SearchValue = val; |
| | | this.getMList(val); |
| | | }, |
| | | // 按照什么排序 |
| | | selectChange(e) { |
| | |
| | | style="width: 100%; height: 100%; display: flex; flex-direction: column" |
| | | > |
| | | <!-- 顶部导航 --> |
| | | <headNav :idIndex="3 + ''" text="历代学术流派" /> |
| | | <headNav :idIndex="3 + ''" text="中医学术流派" /> |
| | | <view class="Midde flex"> |
| | | <!-- <view class="MiddeBack">返回</view> --> |
| | | <el-button class="MiddeBack flex flex-center" @click="goBack" |
| | |
| | | > |
| | | <view class="flex flex-center flex-column"> |
| | | <view |
| | | class="" |
| | | style=" |
| | | font-weight: 900; |
| | | margin-bottom: 0.2rem; |
| | |
| | | " |
| | | > |
| | | <view |
| | | class="" |
| | | :style="{ background: item.color }" |
| | | style=" |
| | | margin-right: 0.07rem; |
| | |
| | | border-radius: 50%; |
| | | " |
| | | ></view> |
| | | <view class="" style="color: #2c2c2c; font-size: 0.12rem">{{ |
| | | <view style="color: #2c2c2c; font-size: 0.12rem">{{ |
| | | item.name |
| | | }}</view> |
| | | </view> |
| | |
| | | searchSchoolPerson({ |
| | | keyword: item |
| | | }).then((res) => { |
| | | console.log(res.list, i); |
| | | for (let i = 0; i < res.list.length; i++) { |
| | | const citem = res.list[i]; |
| | | // 节点 |
| | |
| | | height: 0.24rem; |
| | | font-size: 0.12rem; |
| | | padding: 0; |
| | | border-radius: 0; |
| | | border: 1px solid #9e9e9e; |
| | | color: #000; |
| | | } |
| | | |
| | | .Lists { |
| | |
| | | <template> |
| | | <view class="bag"> |
| | | <!-- 顶部导航 --> |
| | | <headNav idIndex="3" text="历代学术流派" /> |
| | | <headNav idIndex="3" text="中医学术流派" /> |
| | | <view class="Midde flex"> |
| | | <!-- <view class="MiddeBack">返回</view> --> |
| | | <el-button class="MiddeBack flex flex-center" @click="goBack" |
| | |
| | | > |
| | | <view class="flex flex-center flex-column"> |
| | | <view |
| | | class="" |
| | | |
| | | style=" |
| | | font-weight: 900; |
| | | margin-bottom: 0.2rem; |
| | |
| | | </li> |
| | | </ul> |
| | | </view> |
| | | <view class=""></view> |
| | | <view ></view> |
| | | </view> |
| | | <view class="Bottom"> |
| | | <view class="Bottom_top flex"> |
| | |
| | | methods: { |
| | | getData() { |
| | | getIntroduction(Number(this.idIndex)).then((res) => { |
| | | console.log(res,"rrrr"); |
| | | this.detailData = { |
| | | name: res.object.school_NAME[0].content, |
| | | icon: |
| | |
| | | }) |
| | | : [] |
| | | }; |
| | | console.log(this.detailData,"detailDatadetailData"); |
| | | }); |
| | | }, |
| | | goBack() { |
| | |
| | | height: 0.24rem; |
| | | font-size: 0.12rem; |
| | | padding: 0; |
| | | border-radius: 0; |
| | | border: 1px solid #9e9e9e; |
| | | color: #000; |
| | | } |
| | | |
| | | .Lists { |
| | |
| | | <template> |
| | | <view style="width: 100%;height: 100%;display: flex;flex-direction: column;"> |
| | | <!-- 顶部导航 --> |
| | | <headNav :idIndex="idIndex" text="历代学术流派" /> |
| | | <headNav :idIndex="idIndex" text="中医学术流派" /> |
| | | <view id="line-chart" style="flex: 1;overflow: hidden;padding: 50px;"></view> |
| | | </view> |
| | | </template> |
| | |
| | | class="Ttop flex flex-center flex-wrap" |
| | | style="flex-direction: column" |
| | | > |
| | | <view class=""></view> |
| | | <view class="" ref="Rtop"> |
| | | <view ></view> |
| | | <view ref="Rtop"> |
| | | <text class="login"></text> |
| | | <text |
| | | style=" |
| | |
| | | align-items: center; |
| | | " |
| | | > |
| | | <!-- <view class="" style="color: #244A7B;padding-bottom: .47rem;font-size: .3rem;font-weight: bold;">用户注册</view> --> |
| | | <!-- <view style="color: #244A7B;padding-bottom: .47rem;font-size: .3rem;font-weight: bold;">用户注册</view> --> |
| | | <view class="LoginBg"></view> |
| | | <view |
| | | class="" |
| | | |
| | | @click="BacktoLogin" |
| | | style=" |
| | | cursor: pointer; |
| | |
| | | this.$nextTick(() => { |
| | | var width = this.$refs.Rtop.$el.clientWidth; |
| | | this.Rtop1 = width + 50; |
| | | console.log("Element width:", width); |
| | | }); |
| | | }, |
| | | // 忘记密码 |
| | |
| | | password: encryptAES(this.amendDataPass.rawPass), |
| | | newPassword: encryptAES(this.amendDataPass.newPass) |
| | | }; |
| | | console.log(Obj); |
| | | this.$refs[formName].validate(async (valid) => { |
| | | if (valid) { |
| | | // alert('submit!成功'); |
| | | await getchangePassword(Obj).then((res) => { |
| | | // console.log(res,'修改密码成功'); |
| | | getchangePassword(Obj).then((res) => { |
| | | if (res.success == true) { |
| | | uni.showToast({ |
| | | title: res.object, |
| | | icon: "none" |
| | | }); |
| | | this.$message.success('修改成功'); |
| | | uni.navigateBack(); |
| | | console.log("修改成功", res); |
| | | } else { |
| | | uni.showToast({ |
| | | title: res.errorText, |
| | | icon: "none" |
| | | }); |
| | | this.$message.error(res.errorText); |
| | | } |
| | | }); |
| | | // uni.redirectTo({ encryptAES |
| | |
| | | }, |
| | | methods: { |
| | | copyText() { |
| | | console.log(navigator.clipboard); |
| | | const textToCopy = this.biogData[0].content + ";来源:中医医学人物数据库"; |
| | | const textarea = document.createElement("textarea"); |
| | | textarea.value = textToCopy; |
| | |
| | | : fieldItem.content1; |
| | | } |
| | | } |
| | | console.log(obj); |
| | | this.detailInfo = obj; |
| | | // 关系图谱 |
| | | this.getMappingData(this.detailInfo.NAME); |
| | |
| | | getPersonRelationAtSchool({ |
| | | personId: this.detailId, |
| | | }).then((res) => { |
| | | console.log(res, "PERSON_RELATIONS"); |
| | | // this.personRelationList = res.object.personRelationList; |
| | | // if (this.personRelationList.length) { |
| | | // this.tableData4 = this.personRelationList.map((f) => { |
| | |
| | | getWebBasic({ |
| | | personId: this.detailId, |
| | | }).then((res) => { |
| | | console.log(res, "resres"); |
| | | const obj = res.object; |
| | | if (obj.school) { |
| | | getIntroduction(Number(obj.school)).then((sres) => { |
| | | console.log(sres, "sres"); |
| | | this.handleData(obj, sres); |
| | | }); |
| | | } else { |
| | |
| | | getRelationship() { |
| | | getPersonRelationAtSchool({ |
| | | personId: this.detailId, |
| | | // relationSearchTypeEO: "SOCIAL" |
| | | relationSearchTypeEO: "KINSHIP" |
| | | }).then((res) => { |
| | | console.log(res, "getPersonRelationAtSchool"); |
| | | // 这里接口有问题 |
| | | }); |
| | | }, |
| | |
| | | getSpaceTime({ |
| | | personId: this.detailId, |
| | | }).then((res) => { |
| | | console.log(res, "getSpaceTime"); |
| | | const data = res.list.map((item) => { |
| | | return { |
| | | name: item.activityName, |
| | |
| | | <template> |
| | | <view> |
| | | <view |
| | | style="width: 100%; height: 100%; display: flex; flex-direction: column" |
| | | > |
| | | <headNav idIndex="1" text="中医人物数据库" /> |
| | | <!-- 高级搜索 --> |
| | | <view style="margin: 0.35rem 0 0.16rem 0"> |
| | |
| | | </li> |
| | | </ul> |
| | | </view> |
| | | <view class="" style="margin-left: 0.2rem">书中最常提到的100位人物</view> |
| | | <view style="margin-left: 0.2rem">书中最常提到的100位人物</view> |
| | | <!-- 关系表地图 --> |
| | | <view id="relation" style="margin-top: 0.2rem; height: 70vh; width: 100%;position: relative;" |
| | | ><div v-if="!loading && relationships.length == 0" style="position: absolute;top: 30%;left: 0;right: 0;text-align: center;font-size: 0.20rem;color: #666;">暂无相关数据</div></view |
| | | <view |
| | | id="relation" |
| | | style="margin-top: 0.2rem; flex: 1; width: 100%; position: relative" |
| | | ><div |
| | | v-if="!loading && relationships.length == 0" |
| | | style=" |
| | | position: absolute; |
| | | top: 30%; |
| | | left: 0; |
| | | right: 0; |
| | | text-align: center; |
| | | font-size: 0.2rem; |
| | | color: #666; |
| | | " |
| | | > |
| | | 暂无相关数据 |
| | | </div></view |
| | | > |
| | | |
| | | <!-- 朝代 --> |
| | | <view |
| | | <!-- <view |
| | | class="flex flex-center" |
| | | style="width: 100%; position: fixed; bottom: 0.33rem; left: 0" |
| | | > |
| | |
| | | </view> |
| | | </li> |
| | | </ul> |
| | | </view> |
| | | </view> --> |
| | | </view> |
| | | </template> |
| | | |
| | |
| | | this.searchKey = options.keyword; |
| | | }, |
| | | methods: { |
| | | getData() { |
| | | getData(key) { |
| | | getFuzzySearch({ |
| | | keyword: this.searchKey ? this.searchKey : "" |
| | | keyword: key ? key : this.searchKey ? this.searchKey : "" |
| | | }).then((res) => { |
| | | this.nodes = []; |
| | | this.relationships = []; |
| | |
| | | // 设置点击事件监听 |
| | | myChart.off("click"); |
| | | myChart.on("click", (params) => { |
| | | console.log(params); |
| | | if (params.dataType === "node") { |
| | | this.spaceTimeArr(params.data.id); |
| | | } |
| | |
| | | }, |
| | | // 基础搜索 |
| | | onSearch(val) { |
| | | this.searchKey = val.text; |
| | | this.getData(); |
| | | // this.searchKey = val.text; |
| | | this.getData(val.text); |
| | | }, |
| | | // 高级搜索 |
| | | onSubmit(val) { |
| | |
| | | // this.aaa(); |
| | | // }); |
| | | this.$route; |
| | | console.log(this.$route, "this.$route"); |
| | | this.getPersonInfoFun(); |
| | | this.getBasicInfo(); |
| | | }, |
| | |
| | | id: this.$route.query.id, |
| | | type: "PERSON_SPACE_TIME" |
| | | }).then((res) => { |
| | | console.log(res, "res"); |
| | | this.initMap(res.object.personSpaceTimeList); |
| | | }); |
| | | }, |
| | |
| | | id: this.$route.query.id, |
| | | type: "PERSON_BASIC" |
| | | }).then((res) => { |
| | | console.log(res, "res"); |
| | | this.basicInfo.name = res.object.personFieldList.find( |
| | | (f) => f.fieldName == "WEAK_NAME" |
| | | ).content1; |
| | |
| | | }, |
| | | |
| | | creatMX(len) { |
| | | console.log(len); |
| | | let width = len * 50 + 10; |
| | | // this.MX.style.width = `${width}px` |
| | | // this.scales.style.width = `${width}px` |
| | | // console.log(this.box.style.width); |
| | | }, |
| | | creatScale() { |
| | | // for (let i = 0; i < this.yearArr.length; i++) { |
| | |
| | | // scale.addEventListener("click", this.scaleClick) |
| | | // scales.appendChild(scale) |
| | | // } |
| | | // console.log(arr[0]); |
| | | }, |
| | | |
| | | handleSliderChange(value) { |
| | |
| | | }, |
| | | scaleClick(i) { |
| | | // let i = Number(this.getAttribute("data-index")) |
| | | console.log(i, this.cursorML); |
| | | |
| | | if (i > this.yearIndex) { |
| | | this.cursorML += (i - this.yearIndex + +("0.0" + this.yearIndex)) / 1.9; |
| | | // this.spanML += 50 * (i - this.yearIndex) |
| | | console.log(i - this.yearIndex + 0.2, "aaaa"); |
| | | } else { |
| | | this.cursorML -= (this.yearIndex - i) / 2 + 0.04; |
| | | // this.spanML -= 50 * (this.yearIndex - i) |
| | | console.log(this.yearIndex, i, "bbbb"); |
| | | } |
| | | this.yearIndex = i; |
| | | }, |
| | |
| | | // 设置点击事件监听 |
| | | myChart.on("click", (params) => { |
| | | // menuNav2 = !menuNav1 |
| | | // console.log(menuNav); |
| | | if (params.componentType === "series") { |
| | | var dataName = params.data.name; // 获取点击的数据名称 |
| | | var dataValue = params.data.value; // 获取点击的数据值 |
| | | // 在这里可以根据需要处理点击事件,比如弹出对应数据的详细信息等操作 |
| | | // console.log('点击了', dataName, '数据,数值为', dataValue); |
| | | // 这里可以编写触发时间获取对应数据信息的逻辑 |
| | | this.spaceTimeArr(params); |
| | | } |
| | |
| | | // 修改 Vue 组件的数据,例如显示菜单导航 |
| | | this.menuNav = !this.menuNav; |
| | | // 时空地图的数据 |
| | | console.log(Arr); |
| | | } |
| | | } |
| | | }; |
| | |
| | | personId: this.options.id, |
| | | dataTypeEO: this.options.outputType |
| | | }).then((res) => { |
| | | console.log(res); |
| | | this.data = res; |
| | | }); |
| | | } else { |
| | | getMedicalDataOutput(this.options).then((res) => { |
| | | console.log(res); |
| | | this.data = res; |
| | | }); |
| | | } |
| | |
| | | class="Ttop flex flex-center flex-wrap" |
| | | style="flex-direction: column" |
| | | > |
| | | <view class=""></view> |
| | | <view class="" ref="Rtop"> |
| | | <view ></view> |
| | | <view ref="Rtop"> |
| | | <text class="login"></text> |
| | | <text |
| | | style=" |
| | |
| | | align-items: center; |
| | | " |
| | | > |
| | | <!-- <view class="" style="color: #244A7B;padding-bottom: .47rem;font-size: .3rem;font-weight: bold;">用户注册</view> --> |
| | | <!-- <view style="color: #244A7B;padding-bottom: .47rem;font-size: .3rem;font-weight: bold;">用户注册</view> --> |
| | | <view class="LoginBg"></view> |
| | | <view |
| | | class="" |
| | | |
| | | @click="BacktoLogin" |
| | | style=" |
| | | cursor: pointer; |
| | |
| | | }, |
| | | // 列表项跳转 |
| | | listDataClick(item) { |
| | | console.log(item); |
| | | // 在当前页面设置全局变量 |
| | | // uni.setStorageSync('globalData', { id: 123, name: 'example' }); |
| | | if (item.id == 1) { |
| | |
| | | url: "/pages/character/detail?id=" + item.id, |
| | | }); |
| | | } else if (item.id == 2) { |
| | | console.log(item.name); |
| | | // uni.navigateTo({ |
| | | // url:'/pages/character/detail?id='+item.id |
| | | // }) |
| | |
| | | validateContact(rule, value, callback) { |
| | | const regPhone = /^1[0-9]{10}$/; |
| | | const regEmail = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; |
| | | console.log(value, regPhone.test(value), regEmail.test(value)); |
| | | if (regPhone.test(value) || regEmail.test(value)) { |
| | | callback(); // 校验通过 |
| | | } else { |
| | |
| | | this.$nextTick(() => { |
| | | var width = this.$refs.Rtop.$el.clientWidth; |
| | | this.Rtop1 = width + 50; |
| | | console.log("Element width:", width); |
| | | }); |
| | | }, |
| | | // 忘记密码 |
| | |
| | | verifyCode: this.resetDataPass.verifyCode, //验证码 |
| | | newPassword: encryptAES(this.resetDataPass.newPass), //新密码 |
| | | }; |
| | | console.log(Obj); |
| | | this.$refs[formName].validate(async (valid) => { |
| | | if (valid) { |
| | | await getRestPassword(Obj).then((res) => { |
| | | console.log(res, "接口"); |
| | | if (res.success) { |
| | | console.log("忘记密码的接口拿到数据了"); |
| | | uni.navigateTo({ |
| | | url: "/pages/Login/Login", |
| | | }); |
| | |
| | | <template> |
| | | <view class="container flex flex-center" style="align-items: flex-start;"> |
| | | <view class="repository relative"> |
| | | <view class="flex Ttop flex-column" style="width: 100%;"> |
| | | <view class="flex" style="width: 100%;"> |
| | | <view class="" style="padding-left: 4rem;"></view> |
| | | <view class=" flex flex-center flex-wrap" style="width: 100%; flex-direction: column;"> |
| | | <view class=""></view> |
| | | <view class="" ref="Rtop"> |
| | | <text class="login"></text> |
| | | <text style="font-size: .36rem;letter-spacing: 4rpx;vertical-align: middle;font-family: cursive;font-weight: bold;">中国医学人物知识库</text> |
| | | </view> |
| | | </view> |
| | | <view class="flex relative" style="height: .5rem;"> |
| | | <!-- 小搜索图片 --> |
| | | <view class="flex searchCss" :style="{'backgroundColor': isExpanded==true?'#fff':''}" |
| | | style="border-radius: .5rem; height: 75%; width: 2.33rem;margin-right: .30rem;justify-content: flex-end;"> |
| | | <!-- overflow: hidden; --> |
| | | <input :style="{'display': isExpanded == true ? 'block' : 'none'}" @confirm="toggleSearch" type="text" |
| | | style="margin-left: .05rem;color: #2C2C2C; flex: 1; background-color: #fff; font-size: .13rem;" |
| | | class="search-input" v-model="searchInput" placeholder="请输入搜索内容" /> |
| | | <view class="search-logo" @click="toggleSearch" |
| | | style="background-color: #244A7B;border-radius: 50%;margin-top: -4rpx;"></view> |
| | | </view> |
| | | <el-dropdown trigger="click" @command="handleCommand" style="margin-right: .3rem;"> |
| | | <view @click="iconClick(2)" class="s2 ss1 "></view> |
| | | <el-dropdown-menu v-if="isCommand" slot="dropdown"> |
| | | <el-dropdown-item command="1" >修改密码</el-dropdown-item> |
| | | <el-dropdown-item command="2" >退出登录</el-dropdown-item> |
| | | </el-dropdown-menu> |
| | | </el-dropdown> |
| | | <view @click="iconClick(item+2)" v-for="item in 1" :key="item" :class="'s'+(item+2)" |
| | | class="ss1 cursor" style="margin-right: .3rem;"> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <!-- 高级搜索 --> |
| | | <view v-if="isSearchTrue" class="Search" style="margin: .35rem 0 .16rem 0; height: .52rem;"> |
| | | <advancedSearch @onSearch="onSearch" placehold="" :isAvancedTrue="false" :isSearchTrue="false" /> |
| | | </view> |
| | | </view> |
| | | <view class="Bbottom "> |
| | | <!-- 选项卡 --> |
| | | <ul class="secretary flex "> |
| | | <li @click="listDataClick(item)" v-for="(item,index) in listData" :key="index"> |
| | | <span class="font-family" |
| | | style="font-weight: 700;color: #2C2C2C; width: .36rem;display: inline-block; font-size: .32rem;overflow: hidden;height: 80%;line-height: 1.5;">{{item.name}}</span> |
| | | <view class="flex flex-content" |
| | | style="width: .5rem;height: .5rem;border-radius: 50%;background-color: #244A7B;"> |
| | | <image style="width: 40%;height: 20%;" src="@/static/image/eResize.png" mode=""></image> |
| | | </view> |
| | | </li> |
| | | </ul> |
| | | </view> |
| | | </view> |
| | | <view class="hua"></view> |
| | | <!-- 底部人物背景图左侧 --> |
| | | <view class="fff"></view> |
| | | <!-- 底部花的背景图右侧 --> |
| | | <view class="rrr"></view> |
| | | <Footer1 /> |
| | | </view> |
| | | <view class="container flex flex-center" style="align-items: flex-start"> |
| | | <view class="repository relative"> |
| | | <view class="flex Ttop flex-column" style="width: 100%"> |
| | | <view class="flex" style="width: 100%"> |
| | | <view style="padding-left: 4rem"></view> |
| | | <view |
| | | class="flex flex-center flex-wrap" |
| | | style="width: 100%; flex-direction: column" |
| | | > |
| | | <view ></view> |
| | | <view ref="Rtop"> |
| | | <text class="login"></text> |
| | | <text |
| | | style=" |
| | | font-size: 0.36rem; |
| | | letter-spacing: 4rpx; |
| | | vertical-align: middle; |
| | | font-family: cursive; |
| | | font-weight: bold; |
| | | " |
| | | >中国医学人物知识库</text |
| | | > |
| | | </view> |
| | | </view> |
| | | <view class="flex relative" style="height: 0.5rem"> |
| | | <!-- 小搜索图片 --> |
| | | <view |
| | | class="flex searchCss" |
| | | :style="{ backgroundColor: isExpanded == true ? '#fff' : '' }" |
| | | style=" |
| | | border-radius: 0.5rem; |
| | | height: 75%; |
| | | width: 2.33rem; |
| | | margin-right: 0.3rem; |
| | | justify-content: flex-end; |
| | | " |
| | | > |
| | | <!-- overflow: hidden; --> |
| | | <input |
| | | :style="{ display: isExpanded == true ? 'block' : 'none' }" |
| | | @confirm="toggleSearch" |
| | | type="text" |
| | | style=" |
| | | margin-left: 0.05rem; |
| | | color: #2c2c2c; |
| | | flex: 1; |
| | | background-color: #fff; |
| | | font-size: 0.13rem; |
| | | " |
| | | class="search-input" |
| | | v-model="searchInput" |
| | | placeholder="请输入搜索内容" |
| | | /> |
| | | <view |
| | | class="search-logo" |
| | | @click="toggleSearch" |
| | | style=" |
| | | background-color: #244a7b; |
| | | border-radius: 50%; |
| | | margin-top: -4rpx; |
| | | " |
| | | ></view> |
| | | </view> |
| | | <el-dropdown |
| | | trigger="click" |
| | | @command="handleCommand" |
| | | style="margin-right: 0.3rem" |
| | | > |
| | | <view @click="iconClick(2)" class="s2 ss1"></view> |
| | | <el-dropdown-menu v-if="isCommand" slot="dropdown"> |
| | | <el-dropdown-item command="1">修改密码</el-dropdown-item> |
| | | <el-dropdown-item command="2">退出登录</el-dropdown-item> |
| | | </el-dropdown-menu> |
| | | </el-dropdown> |
| | | <view |
| | | @click="iconClick(item + 2)" |
| | | v-for="item in 1" |
| | | :key="item" |
| | | :class="'s' + (item + 2)" |
| | | class="ss1 cursor" |
| | | style="margin-right: 0.3rem" |
| | | > |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <!-- 高级搜索 --> |
| | | <view |
| | | v-if="isSearchTrue" |
| | | class="Search" |
| | | style="margin: 0.35rem 0 0.16rem 0; height: 0.52rem" |
| | | > |
| | | <advancedSearch |
| | | @onSearch="onSearch" |
| | | placehold="" |
| | | :isAvancedTrue="false" |
| | | :isSearchTrue="false" |
| | | /> |
| | | </view> |
| | | </view> |
| | | <view class="Bbottom"> |
| | | <!-- 选项卡 --> |
| | | <ul class="secretary flex"> |
| | | <li |
| | | @click="listDataClick(item)" |
| | | v-for="(item, index) in listData" |
| | | :key="index" |
| | | > |
| | | <span |
| | | class="font-family" |
| | | style=" |
| | | font-weight: 700; |
| | | color: #2c2c2c; |
| | | width: 0.36rem; |
| | | display: inline-block; |
| | | font-size: 0.32rem; |
| | | overflow: hidden; |
| | | height: 80%; |
| | | line-height: 1.5; |
| | | " |
| | | >{{ item.name }}</span |
| | | > |
| | | <view |
| | | class="flex flex-content" |
| | | style=" |
| | | width: 0.5rem; |
| | | height: 0.5rem; |
| | | border-radius: 50%; |
| | | background-color: #244a7b; |
| | | " |
| | | > |
| | | <image |
| | | style="width: 40%; height: 20%" |
| | | src="@/static/image/eResize.png" |
| | | mode="" |
| | | ></image> |
| | | </view> |
| | | </li> |
| | | </ul> |
| | | </view> |
| | | </view> |
| | | <view class="hua"></view> |
| | | <!-- 底部人物背景图左侧 --> |
| | | <view class="fff"></view> |
| | | <!-- 底部花的背景图右侧 --> |
| | | <view class="rrr"></view> |
| | | <Footer1 /> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | nextTick |
| | | } from "vue"; |
| | | import { |
| | | getlogout |
| | | } from '@/api/index.js' |
| | | import Footer1 from '@/components/footer/footer.vue' |
| | | export default { |
| | | components: { |
| | | Footer1 |
| | | }, |
| | | data() { |
| | | return { |
| | | isCommand: true, |
| | | // 搜索的显示 |
| | | isSearchTrue: true, |
| | | isExpanded: false, // 控制搜索框是否展开 |
| | | searchInput: '', //小图标的搜索框 |
| | | // 登录注册框 |
| | | loginTrue: true, |
| | | Rtop1: 0, |
| | | value: 'sdfdsf', |
| | | // 注册用户对应的数据 |
| | | registerData: { |
| | | loginID: '', |
| | | pass: '', |
| | | checkPass: '', |
| | | cellphoneORmailbox: '', |
| | | verifyCode: '' |
| | | }, |
| | | // 登录用户账号 |
| | | loginData: { |
| | | // 账号 |
| | | loginID: '', |
| | | pass: '' |
| | | }, |
| | | // 重置密码 |
| | | resetDataPass: { |
| | | cellphoneORmailbox: '', |
| | | verifyCode: "", |
| | | newPass: "", |
| | | checkPass: "" |
| | | }, |
| | | // 修改密码 |
| | | amendDataPass: { |
| | | loginID: '', |
| | | originalPass: "", |
| | | newPass: "", |
| | | checkPass: "" |
| | | }, |
| | | // 书籍数据 |
| | | listData: [{ |
| | | name: '中医人物数据库', |
| | | id: 1, |
| | | }, { |
| | | name: '世医医家数据库', |
| | | id: 2, |
| | | }, { |
| | | name: '中医学术流派', |
| | | id: 3, |
| | | }, { |
| | | name: '中医地域医谱', |
| | | id: 4, |
| | | }, { |
| | | name: '中医医事制度', |
| | | id: 5, |
| | | }, |
| | | import { nextTick } from "vue"; |
| | | import { getlogout } from "@/api/index.js"; |
| | | import Footer1 from "@/components/footer/footer.vue"; |
| | | export default { |
| | | components: { |
| | | Footer1 |
| | | }, |
| | | data() { |
| | | return { |
| | | isCommand: true, |
| | | // 搜索的显示 |
| | | isSearchTrue: true, |
| | | isExpanded: false, // 控制搜索框是否展开 |
| | | searchInput: "", //小图标的搜索框 |
| | | // 登录注册框 |
| | | loginTrue: true, |
| | | Rtop1: 0, |
| | | value: "sdfdsf", |
| | | // 注册用户对应的数据 |
| | | registerData: { |
| | | loginID: "", |
| | | pass: "", |
| | | checkPass: "", |
| | | cellphoneORmailbox: "", |
| | | verifyCode: "" |
| | | }, |
| | | // 登录用户账号 |
| | | loginData: { |
| | | // 账号 |
| | | loginID: "", |
| | | pass: "" |
| | | }, |
| | | // 重置密码 |
| | | resetDataPass: { |
| | | cellphoneORmailbox: "", |
| | | verifyCode: "", |
| | | newPass: "", |
| | | checkPass: "" |
| | | }, |
| | | // 修改密码 |
| | | amendDataPass: { |
| | | loginID: "", |
| | | originalPass: "", |
| | | newPass: "", |
| | | checkPass: "" |
| | | }, |
| | | // 书籍数据 |
| | | listData: [ |
| | | { |
| | | name: "中医人物数据库", |
| | | id: 1 |
| | | }, |
| | | { |
| | | name: "世医医家数据库", |
| | | id: 2 |
| | | }, |
| | | { |
| | | name: "中医学术流派", |
| | | id: 3 |
| | | }, |
| | | { |
| | | name: "中医地域医谱", |
| | | id: 4 |
| | | }, |
| | | { |
| | | name: "中医医事制度", |
| | | id: 5 |
| | | } |
| | | ] |
| | | }; |
| | | }, |
| | | onLoad() { |
| | | |
| | | ] |
| | | } |
| | | }, |
| | | onLoad() { |
| | | // console.log(,';dsfdsf'); |
| | | |
| | | uni.getSystemInfo({ |
| | | success: function(info) { |
| | | // console.log('屏幕的宽度:' + info.windowWidth); |
| | | // console.log('屏幕的高度:' + info.windowHeight); |
| | | } |
| | | }); |
| | | }, |
| | | mounted() { |
| | | this.getElementWidth(); |
| | | // this.$store.commit('set_id',1) |
| | | }, |
| | | methods: { |
| | | // 搜索 |
| | | onSearch(val) { |
| | | uni.navigateTo({ |
| | | url: '/pages/knowledgeBase/knowledgeBase?keyword=' + val.text |
| | | }) |
| | | }, |
| | | // 搜索 |
| | | // 切换搜索框的展开和收起状态 |
| | | toggleSearch() { |
| | | this.isExpanded = !this.isExpanded; |
| | | this.$nextTick(() => { |
| | | if (this.searchInput.trim() !== '') { |
| | | uni.navigateTo({ |
| | | url: '/pages/knowledgeBase/knowledgeBase?keyword=' + this.searchInput |
| | | }) |
| | | } else { |
| | | console.log('不搜索'); |
| | | } |
| | | this.searchInput = ''; |
| | | }) |
| | | }, |
| | | // 列表项跳转 |
| | | listDataClick(item) { |
| | | console.log(item); |
| | | // 在当前页面设置全局变量 |
| | | // uni.setStorageSync('globalData', { id: 123, name: 'example' }); |
| | | if (item.id == 1) { |
| | | uni.navigateTo({ |
| | | // url: '/pages/character/detail?id=' + item.id |
| | | url: '/pages/character/index?id=' + item.id |
| | | }) |
| | | } else if (item.id == 2) { |
| | | console.log(item.name); |
| | | uni.navigateTo({ |
| | | url: '/pages/inherit/index?id=' + item.id |
| | | }) |
| | | // uni.navigateTo({ |
| | | // url: '/pages/shiyiHome/shiyiHome' |
| | | // }) |
| | | } else if (item.id == 3) { |
| | | uni.navigateTo({ |
| | | url: '/pages/academicGenres/index?id=' + item.id |
| | | }) |
| | | } else if (item.id == 4) { |
| | | uni.navigateTo({ |
| | | url: '/pages/territory/territory?id=' + item.id |
| | | }) |
| | | } else if (item.id == 5) { |
| | | uni.navigateTo({ |
| | | url: '/pages/TcmSystem/TcmSystem?id=' + item.id |
| | | }) |
| | | } |
| | | uni.getSystemInfo({ |
| | | success: function (info) { |
| | | // console.log('屏幕的宽度:' + info.windowWidth); |
| | | // console.log('屏幕的高度:' + info.windowHeight); |
| | | } |
| | | }); |
| | | }, |
| | | mounted() { |
| | | this.getElementWidth(); |
| | | // this.$store.commit('set_id',1) |
| | | }, |
| | | methods: { |
| | | // 搜索 |
| | | onSearch(val) { |
| | | uni.navigateTo({ |
| | | url: "/pages/knowledgeBase/knowledgeBase?keyword=" + val.text |
| | | }); |
| | | }, |
| | | // 搜索 |
| | | // 切换搜索框的展开和收起状态 |
| | | toggleSearch() { |
| | | this.isExpanded = !this.isExpanded; |
| | | this.$nextTick(() => { |
| | | if (this.searchInput.trim() !== "") { |
| | | uni.navigateTo({ |
| | | url: |
| | | "/pages/knowledgeBase/knowledgeBase?keyword=" + this.searchInput |
| | | }); |
| | | } |
| | | this.searchInput = ""; |
| | | }); |
| | | }, |
| | | // 列表项跳转 |
| | | listDataClick(item) { |
| | | // 在当前页面设置全局变量 |
| | | // uni.setStorageSync('globalData', { id: 123, name: 'example' }); |
| | | if (item.id == 1) { |
| | | uni.navigateTo({ |
| | | // url: '/pages/character/detail?id=' + item.id |
| | | url: "/pages/character/index?id=" + item.id |
| | | }); |
| | | } else if (item.id == 2) { |
| | | uni.navigateTo({ |
| | | url: "/pages/inherit/index?id=" + item.id |
| | | }); |
| | | // uni.navigateTo({ |
| | | // url: '/pages/shiyiHome/shiyiHome' |
| | | // }) |
| | | } else if (item.id == 3) { |
| | | uni.navigateTo({ |
| | | url: "/pages/academicGenres/index?id=" + item.id |
| | | }); |
| | | } else if (item.id == 4) { |
| | | uni.navigateTo({ |
| | | url: "/pages/territory/territory?id=" + item.id |
| | | }); |
| | | } else if (item.id == 5) { |
| | | uni.navigateTo({ |
| | | url: "/pages/TcmSystem/TcmSystem?id=" + item.id |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | }, |
| | | |
| | | // 验证码校验 |
| | | validateVerificationCode(rule, value, callback) { |
| | | if (value !== '123456') { |
| | | callback(new Error('验证码错误')); |
| | | } else { |
| | | callback(); |
| | | } |
| | | }, |
| | | getElementWidth() { |
| | | |
| | | this.$nextTick(() => { |
| | | var width = this.$refs.Rtop.$el.clientWidth; |
| | | this.Rtop1 = width + 50; |
| | | console.log('Element width:', width); |
| | | }) |
| | | }, |
| | | iconClick(index) { |
| | | console.log(index); |
| | | // 搜索的显示 |
| | | if (index == 1) { |
| | | // this.isSearchTrue = !this.isSearchTrue |
| | | } else if (index == 2) { |
| | | // 检查 localStorage 中是否存在 token |
| | | if (localStorage.getItem('access_token')) { |
| | | // token 存在 |
| | | console.log('access_token'); |
| | | this.isCommand = true |
| | | } else { |
| | | // token 不存在 |
| | | // console.log('Token does not exist.'); |
| | | this.isCommand = false |
| | | uni.navigateTo({ |
| | | url: '/pages/Login/Login' |
| | | }) |
| | | } |
| | | |
| | | } else if (index == 3) { |
| | | console.log('帮助'); |
| | | } |
| | | }, |
| | | // 修改获取退出按钮 |
| | | handleCommand(int) { |
| | | if (int == 1) { |
| | | console.log('修改密码'); |
| | | uni.navigateTo({ |
| | | url: '/pages/changePassword/changePassword' |
| | | }) |
| | | } else if (int == 2) { |
| | | // console.log('退出登录'); |
| | | uni.showModal({ |
| | | // 询问用户是否退出登录 |
| | | title: '退出登录', |
| | | content: '您确定要退出登录吗?', |
| | | success: async (res) => { |
| | | console.log(res, 'reresresrer'); |
| | | |
| | | if (res.confirm) { |
| | | // 退出接口 |
| | | await getlogout().then(res => { |
| | | //确定退出拿到token并清除token |
| | | let TOKEN = uni.getStorageSync('缓存名称'); |
| | | uni.clearStorageSync(); |
| | | //退出成功!并跳转到其他页面 |
| | | uni.showToast({ |
| | | title: '退出成功', |
| | | icon: 'none', |
| | | }); |
| | | }) |
| | | // setTimeout(() => { |
| | | // uni.reLaunch({ |
| | | // url: '退出后跳转地址', |
| | | // }); |
| | | // }, 1500); |
| | | } else if (res.cancel) { |
| | | // console.log('用户点击取消'); |
| | | uni.showToast({ |
| | | title: '用户点击取消', |
| | | icon: 'none', |
| | | }); |
| | | } |
| | | }, |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | } |
| | | } |
| | | // 验证码校验 |
| | | validateVerificationCode(rule, value, callback) { |
| | | if (value !== "123456") { |
| | | callback(new Error("验证码错误")); |
| | | } else { |
| | | callback(); |
| | | } |
| | | }, |
| | | getElementWidth() { |
| | | this.$nextTick(() => { |
| | | var width = this.$refs.Rtop.$el.clientWidth; |
| | | this.Rtop1 = width + 50; |
| | | }); |
| | | }, |
| | | iconClick(index) { |
| | | // 搜索的显示 |
| | | if (index == 1) { |
| | | // this.isSearchTrue = !this.isSearchTrue |
| | | } else if (index == 2) { |
| | | // 检查 localStorage 中是否存在 token |
| | | if (localStorage.getItem("access_token")) { |
| | | // token 存在 |
| | | this.isCommand = true; |
| | | } else { |
| | | // token 不存在 |
| | | this.isCommand = false; |
| | | uni.navigateTo({ |
| | | url: "/pages/Login/Login" |
| | | }); |
| | | } |
| | | } else if (index == 3) { |
| | | console.log("帮助"); |
| | | } |
| | | }, |
| | | // 修改获取退出按钮 |
| | | handleCommand(int) { |
| | | if (int == 1) { |
| | | uni.navigateTo({ |
| | | url: "/pages/changePassword/changePassword" |
| | | }); |
| | | } else if (int == 2) { |
| | | uni.showModal({ |
| | | // 询问用户是否退出登录 |
| | | title: "退出登录", |
| | | content: "您确定要退出登录吗?", |
| | | success: (res) => { |
| | | if (res.confirm) { |
| | | // 退出接口 |
| | | getlogout().then((res) => { |
| | | //确定退出拿到token并清除token |
| | | let TOKEN = uni.getStorageSync("缓存名称"); |
| | | uni.clearStorageSync(); |
| | | //退出成功!并跳转到其他页面 |
| | | this.$message.success("退出成功"); |
| | | uni.reLaunch({ |
| | | url: "/pages/Login/Login" |
| | | }); |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .search-logo { |
| | | width: .34rem; |
| | | /* logo图标的宽度 */ |
| | | height: .34rem; |
| | | /* logo图标的高度 */ |
| | | margin-left: 10rpx; |
| | | /* 与输入框之间的间距 */ |
| | | cursor: pointer; |
| | | background-image: url(@/static/image/search.svg); |
| | | background-size: 100% 100%; |
| | | } |
| | | .search-logo { |
| | | width: 0.34rem; |
| | | /* logo图标的宽度 */ |
| | | height: 0.34rem; |
| | | /* logo图标的高度 */ |
| | | margin-left: 10rpx; |
| | | /* 与输入框之间的间距 */ |
| | | cursor: pointer; |
| | | background-image: url(@/static/image/search.svg); |
| | | background-size: 100% 100%; |
| | | } |
| | | |
| | | /* |
| | | /* |
| | | 在屏幕宽度超过 1440px 时的样式设置 */ |
| | | /* @media screen and (min-width: 1441px) { |
| | | /* @media screen and (min-width: 1441px) { |
| | | ::v-deep .el-card { |
| | | top: 60% !important; |
| | | } |
| | |
| | | height: 2.5rem !important; |
| | | } |
| | | } */ |
| | | @media screen and (min-width:2560px)and (max-width:3840px) { |
| | | .Ttop { |
| | | margin-bottom: .7rem !important; |
| | | margin-top: .3rem !important; |
| | | } |
| | | @media screen and (min-width: 2560px) and (max-width: 3840px) { |
| | | .Ttop { |
| | | margin-bottom: 0.7rem !important; |
| | | margin-top: 0.3rem !important; |
| | | } |
| | | |
| | | .login { |
| | | width: .52rem !important; |
| | | height: .52rem !important; |
| | | } |
| | | .login { |
| | | width: 0.52rem !important; |
| | | height: 0.52rem !important; |
| | | } |
| | | |
| | | .LoginBg { |
| | | margin: 0 !important; |
| | | height: .3rem !important; |
| | | } |
| | | .LoginBg { |
| | | margin: 0 !important; |
| | | height: 0.3rem !important; |
| | | } |
| | | |
| | | ::v-deep .Bbar img { |
| | | width: .52rem !important; |
| | | height: .52rem !important; |
| | | } |
| | | ::v-deep .Bbar img { |
| | | width: 0.52rem !important; |
| | | height: 0.52rem !important; |
| | | } |
| | | |
| | | ::v-deep .el-card { |
| | | top: 90% !important; |
| | | padding: 0 !important; |
| | | } |
| | | ::v-deep .el-card { |
| | | top: 90% !important; |
| | | padding: 0 !important; |
| | | } |
| | | |
| | | ::v-deep .el-card__body { |
| | | padding: .25rem .5rem !important; |
| | | } |
| | | ::v-deep .el-card__body { |
| | | padding: 0.25rem 0.5rem !important; |
| | | } |
| | | |
| | | .Search ::v-deep .flex-center { |
| | | height: 80% !important; |
| | | } |
| | | .Search ::v-deep .flex-center { |
| | | height: 80% !important; |
| | | } |
| | | |
| | | ::v-deep .searchBg { |
| | | width: .35rem; |
| | | height: .35rem; |
| | | margin-right: .03rem; |
| | | } |
| | | ::v-deep .searchBg { |
| | | width: 0.35rem; |
| | | height: 0.35rem; |
| | | margin-right: 0.03rem; |
| | | } |
| | | |
| | | ::v-deep .ffff { |
| | | border-radius: .3rem !important; |
| | | } |
| | | ::v-deep .ffff { |
| | | border-radius: 0.3rem !important; |
| | | } |
| | | |
| | | ::v-deep .searchBg { |
| | | border-radius: inherit !important; |
| | | } |
| | | ::v-deep .searchBg { |
| | | border-radius: inherit !important; |
| | | } |
| | | |
| | | ::v-deep .uni-input-placeholder { |
| | | font-size: .14rem; |
| | | height: 100%; |
| | | display: flex; |
| | | align-content: center; |
| | | align-items: center; |
| | | } |
| | | ::v-deep .uni-input-placeholder { |
| | | font-size: 0.14rem; |
| | | height: 100%; |
| | | display: flex; |
| | | align-content: center; |
| | | align-items: center; |
| | | } |
| | | |
| | | ::v-deep .el-form { |
| | | padding-left: .1rem !important; |
| | | } |
| | | ::v-deep .el-form { |
| | | padding-left: 0.1rem !important; |
| | | } |
| | | |
| | | ::v-deep .el-form-item__error { |
| | | font-size: .13rem !important; |
| | | } |
| | | ::v-deep .el-form-item__error { |
| | | font-size: 0.13rem !important; |
| | | } |
| | | |
| | | ::v-deep .el-input__inner { |
| | | height: .35rem !important; |
| | | font-size: .14rem; |
| | | } |
| | | ::v-deep .el-input__inner { |
| | | height: 0.35rem !important; |
| | | font-size: 0.14rem; |
| | | } |
| | | |
| | | ::v-deep .el-form-item__label { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: flex-end; |
| | | margin-right: .2rem !important; |
| | | width: .7rem; |
| | | } |
| | | ::v-deep .el-form-item__label { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: flex-end; |
| | | margin-right: 0.2rem !important; |
| | | width: 0.7rem; |
| | | } |
| | | |
| | | .secretary li { |
| | | width: 1.3rem !important; |
| | | height: 4rem !important; |
| | | |
| | | .secretary li { |
| | | width: 1.3rem !important; |
| | | height: 4rem !important; |
| | | span { |
| | | width: 0.5rem !important; |
| | | height: 70% !important; |
| | | font-size: 0.25rem !important; |
| | | } |
| | | } |
| | | |
| | | span { |
| | | width: .5rem !important; |
| | | height: 70% !important; |
| | | font-size: 0.25rem !important; |
| | | } |
| | | } |
| | | .hua { |
| | | height: 5rem !important; |
| | | } |
| | | |
| | | .hua { |
| | | height: 5rem !important; |
| | | } |
| | | .LoginTop { |
| | | margin-bottom: 0.4rem !important; |
| | | } |
| | | |
| | | .LoginTop { |
| | | margin-bottom: .4rem !important; |
| | | } |
| | | .yzm { |
| | | top: 15% !important; |
| | | } |
| | | |
| | | .yzm { |
| | | top: 15% !important; |
| | | } |
| | | .fff { |
| | | width: 2.4rem !important; |
| | | height: 4rem !important; |
| | | } |
| | | |
| | | .fff { |
| | | width: 2.4rem !important; |
| | | height: 4rem !important; |
| | | } |
| | | .rrr { |
| | | width: 2rem !important; |
| | | } |
| | | |
| | | .rrr { |
| | | width: 2rem !important; |
| | | } |
| | | .btn { |
| | | margin-bottom: 0.1rem !important; |
| | | } |
| | | |
| | | .btn { |
| | | margin-bottom: .1rem !important; |
| | | } |
| | | .btn ::v-deep .el-button { |
| | | margin-top: 0.2rem !important; |
| | | font-size: 0.2rem !important; |
| | | width: 100%; |
| | | padding: 0.12rem !important; |
| | | |
| | | .btn ::v-deep .el-button { |
| | | margin-top: 0.2rem !important; |
| | | font-size: 0.2rem !important; |
| | | width: 100%; |
| | | padding: 0.12rem !important; |
| | | span { |
| | | font-weight: bold !important; |
| | | } |
| | | } |
| | | |
| | | span { |
| | | font-weight: bold !important; |
| | | } |
| | | } |
| | | .asdf { |
| | | margin-bottom: 0.1rem !important; |
| | | } |
| | | } |
| | | |
| | | .asdf { |
| | | margin-bottom: .1rem !important; |
| | | } |
| | | } |
| | | @media screen and (min-width: 1366px) { |
| | | .Ttop { |
| | | margin-bottom: 0.6rem !important; |
| | | } |
| | | |
| | | @media screen and (min-width:1366px) { |
| | | .Ttop { |
| | | margin-bottom: .6rem !important; |
| | | } |
| | | ::v-deep .uni-input-placeholder { |
| | | font-size: 0.14rem; |
| | | height: 100%; |
| | | display: flex; |
| | | align-content: center; |
| | | align-items: center; |
| | | } |
| | | |
| | | ::v-deep .uni-input-placeholder { |
| | | font-size: .14rem; |
| | | height: 100%; |
| | | display: flex; |
| | | align-content: center; |
| | | align-items: center; |
| | | } |
| | | .secretary li { |
| | | width: 1.3rem !important; |
| | | height: 4rem !important; |
| | | |
| | | .secretary li { |
| | | width: 1.3rem !important; |
| | | height: 4rem !important; |
| | | span { |
| | | width: 0.5rem !important; |
| | | height: 70% !important; |
| | | font-size: 0.25rem !important; |
| | | } |
| | | } |
| | | |
| | | span { |
| | | width: .5rem !important; |
| | | height: 70% !important; |
| | | font-size: 0.25rem !important; |
| | | } |
| | | } |
| | | /* 高级搜索 */ |
| | | .Search ::v-deep .flex-center { |
| | | height: 80% !important; |
| | | } |
| | | |
| | | /* 高级搜索 */ |
| | | .Search ::v-deep .flex-center { |
| | | height: 80% !important; |
| | | } |
| | | ::v-deep .searchBg { |
| | | width: 0.35rem; |
| | | height: 0.35rem; |
| | | margin-right: 0.03rem; |
| | | } |
| | | |
| | | ::v-deep .searchBg { |
| | | width: .35rem; |
| | | height: .35rem; |
| | | margin-right: .03rem; |
| | | } |
| | | .fff { |
| | | width: 2.4rem !important; |
| | | height: 4rem !important; |
| | | } |
| | | |
| | | .fff { |
| | | width: 2.4rem !important; |
| | | height: 4rem !important; |
| | | } |
| | | .rrr { |
| | | width: 2rem !important; |
| | | } |
| | | } |
| | | |
| | | .rrr { |
| | | width: 2rem !important; |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | .btn>>>.el-form-item__content { |
| | | margin-left: 0 !important; |
| | | } |
| | | |
| | | ::v-deep .el-form-item__label { |
| | | color: #244a7b; |
| | | } |
| | | |
| | | ::v-deep .el-input__inner { |
| | | border: none; |
| | | border-bottom: 1px solid #2d476a; |
| | | border-radius: 0; |
| | | } |
| | | |
| | | ::v-deep .el-form-item__error { |
| | | /* display: none; */ |
| | | } |
| | | |
| | | ::v-deep .input.invalid:focus { |
| | | border-color: #2d476a !important; |
| | | } |
| | | |
| | | ::v-deep .el-input__inner:invalid { |
| | | border-color: #2d476a !important; |
| | | } |
| | | .btn >>> .el-form-item__content { |
| | | margin-left: 0 !important; |
| | | } |
| | | |
| | | ::v-deep .el-form-item__label { |
| | | padding: 0; |
| | | } |
| | | ::v-deep .el-form-item__label { |
| | | color: #244a7b; |
| | | } |
| | | |
| | | ::v-deep .el-form-item__label { |
| | | color: #2d476a; |
| | | } |
| | | ::v-deep .el-input__inner { |
| | | border: none; |
| | | border-bottom: 1px solid #2d476a; |
| | | border-radius: 0; |
| | | } |
| | | |
| | | ::v-deep .el-form-item { |
| | | margin-bottom: 32rpx; |
| | | } |
| | | ::v-deep .el-form-item__error { |
| | | /* display: none; */ |
| | | } |
| | | |
| | | .ss1 { |
| | | background-repeat: no-repeat; |
| | | background-size: 100% 100%; |
| | | width: .34rem; |
| | | height: .34rem; |
| | | background-size: 100% 100%; |
| | | } |
| | | ::v-deep .input.invalid:focus { |
| | | border-color: #2d476a !important; |
| | | } |
| | | |
| | | .s1 { |
| | | background-image: url(@/static/image/search.svg); |
| | | ::v-deep .el-input__inner:invalid { |
| | | border-color: #2d476a !important; |
| | | } |
| | | |
| | | } |
| | | ::v-deep .el-form-item__label { |
| | | padding: 0; |
| | | } |
| | | |
| | | .s2 { |
| | | background-image: url(@/static/image/profile.svg); |
| | | } |
| | | ::v-deep .el-form-item__label { |
| | | color: #2d476a; |
| | | } |
| | | |
| | | .s3 { |
| | | background-image: url(@/static/image/quote.svg); |
| | | margin-right: .59rem !important; |
| | | } |
| | | ::v-deep .el-form-item { |
| | | margin-bottom: 32rpx; |
| | | } |
| | | |
| | | .container { |
| | | background: url(@/static/image/bg1.png); |
| | | width: 100vw; |
| | | height: 100vh; |
| | | .ss1 { |
| | | background-repeat: no-repeat; |
| | | background-size: 100% 100%; |
| | | width: 0.34rem; |
| | | height: 0.34rem; |
| | | background-size: 100% 100%; |
| | | } |
| | | |
| | | color: #fff; |
| | | .s1 { |
| | | background-image: url(@/static/image/search.svg); |
| | | } |
| | | |
| | | .repository { |
| | | width: 100% !important; |
| | | /* margin-top: 19px; */ |
| | | /* height: 68%; */ |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: space-around; |
| | | align-items: center; |
| | | .s2 { |
| | | background-image: url(@/static/image/profile.svg); |
| | | } |
| | | |
| | | .Ttop { |
| | | margin-top: .38rem; |
| | | margin-bottom: 1.22rem; |
| | | } |
| | | .s3 { |
| | | background-image: url(@/static/image/quote.svg); |
| | | margin-right: 0.59rem !important; |
| | | } |
| | | |
| | | .r-top { |
| | | font-size: 40rpx !important; |
| | | margin: 10rpx 0; |
| | | } |
| | | } |
| | | .container { |
| | | background: url(@/static/image/bg1.png); |
| | | width: 100vw; |
| | | height: 100vh; |
| | | |
| | | } |
| | | color: #fff; |
| | | |
| | | .login { |
| | | width: .52rem; |
| | | height: .52rem; |
| | | display: inline-block; |
| | | vertical-align: middle; |
| | | margin-right: .2rem; |
| | | background: url(@/static/image/logo.png) no-repeat 0 0; |
| | | background-size: 100% 100%; |
| | | } |
| | | .repository { |
| | | width: 100% !important; |
| | | /* margin-top: 19px; */ |
| | | /* height: 68%; */ |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: space-around; |
| | | align-items: center; |
| | | |
| | | .rrr { |
| | | position: absolute; |
| | | right: .53rem; |
| | | bottom: .36rem; |
| | | width: 2.5rem; |
| | | height: 3.07rem; |
| | | opacity: 1; |
| | | background: url(@/static/image/bg4.png); |
| | | background-size: 100% 100%; |
| | | } |
| | | .Ttop { |
| | | margin-top: 0.38rem; |
| | | margin-bottom: 1.22rem; |
| | | } |
| | | |
| | | .hua { |
| | | width: 13.81rem; |
| | | height: 5.965rem; |
| | | position: absolute; |
| | | background: url(@/static/image/bg3.png) no-repeat 0 0; |
| | | background-size: 100% 100%; |
| | | } |
| | | .r-top { |
| | | font-size: 40rpx !important; |
| | | margin: 10rpx 0; |
| | | } |
| | | } |
| | | } |
| | | |
| | | /* 底部人物背景图 */ |
| | | .fff { |
| | | background: url(@/static/image/bg2.png) no-repeat 0 0; |
| | | background-size: 100% 100%; |
| | | width: 2.74rem; |
| | | height: 4.52rem; |
| | | position: fixed; |
| | | bottom: 0; |
| | | z-index: 9999999999999; |
| | | left: 0; |
| | | } |
| | | .login { |
| | | width: 0.52rem; |
| | | height: 0.52rem; |
| | | display: inline-block; |
| | | vertical-align: middle; |
| | | margin-right: 0.2rem; |
| | | background: url(@/static/image/logo.png) no-repeat 0 0; |
| | | background-size: 100% 100%; |
| | | } |
| | | |
| | | ::v-deep .uni-easyinput__content { |
| | | border-radius: 30rpx !important; |
| | | /* height: 52rpx; */ |
| | | } |
| | | .rrr { |
| | | position: absolute; |
| | | right: 0.53rem; |
| | | bottom: 0.36rem; |
| | | width: 2.5rem; |
| | | height: 3.07rem; |
| | | opacity: 1; |
| | | background: url(@/static/image/bg4.png); |
| | | background-size: 100% 100%; |
| | | } |
| | | |
| | | .hua { |
| | | width: 13.81rem; |
| | | height: 5.965rem; |
| | | position: absolute; |
| | | background: url(@/static/image/bg3.png) no-repeat 0 0; |
| | | background-size: 100% 100%; |
| | | } |
| | | |
| | | .secretary { |
| | | /* width: 1300rpx !important; */ |
| | | /* height: 50rpx; */ |
| | | /* height: 80%; */ |
| | | /* flex-wrap: wrap; */ |
| | | padding: 0 20px; |
| | | text-align: center; |
| | | /* 底部人物背景图 */ |
| | | .fff { |
| | | background: url(@/static/image/bg2.png) no-repeat 0 0; |
| | | background-size: 100% 100%; |
| | | width: 2.74rem; |
| | | height: 4.52rem; |
| | | position: fixed; |
| | | bottom: 0; |
| | | z-index: 9999999999999; |
| | | left: 0; |
| | | } |
| | | |
| | | li { |
| | | background-color: #fff; |
| | | color: black; |
| | | width: 1.6rem; |
| | | height: 4.8rem; |
| | | display: flex; |
| | | justify-content: center; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | text-align: center; |
| | | background: #EBF4FF; |
| | | font-weight: 600; |
| | | margin: 0 .21rem; |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | ::v-deep .uni-easyinput__content { |
| | | border-radius: 30rpx !important; |
| | | /* height: 52rpx; */ |
| | | } |
| | | |
| | | .secretary { |
| | | /* width: 1300rpx !important; */ |
| | | /* height: 50rpx; */ |
| | | /* height: 80%; */ |
| | | /* flex-wrap: wrap; */ |
| | | padding: 0 20px; |
| | | text-align: center; |
| | | |
| | | li { |
| | | background-color: #fff; |
| | | color: black; |
| | | width: 1.6rem; |
| | | height: 4.8rem; |
| | | display: flex; |
| | | justify-content: center; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | text-align: center; |
| | | background: #ebf4ff; |
| | | font-weight: 600; |
| | | margin: 0 0.21rem; |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | |
| | | /* .Bbottom { |
| | | /* .Bbottom { |
| | | display: flex; |
| | | justify-content: center; |
| | | |
| | | } */ |
| | | </style> |
| | | </style> |
| | |
| | | <template> |
| | | <view class=""> |
| | | <view > |
| | | <headNav |
| | | idIndex="2" |
| | | :searchBg="false" |
| | |
| | | }, |
| | | onLoad(options) { |
| | | this.idIndex = options.id; |
| | | console.log("optionsoptionsoptions", options.id); |
| | | }, |
| | | mounted() { |
| | | this.getStatistics(); |
| | |
| | | getData() { |
| | | this.nodeData = []; |
| | | // const defaultDynasty = this.dynasty.find(f.dynasty == "宋"); |
| | | |
| | | this.showTool = false; |
| | | inheritMedicalList({ |
| | | keywords: this.keyword, |
| | | dynastyId: this.activeId, |
| | |
| | | } |
| | | }); |
| | | myChart.on("click", (params) => { |
| | | console.log(params.event.offsetX, params.event.offsetY); |
| | | if (params.componentType === "series") { |
| | | this.showTool = true; |
| | | this.toolTop = params.event.offsetY + "px"; |
| | |
| | | border: none; |
| | | outline: none; |
| | | margin: auto; |
| | | width: 100%; |
| | | flex: 1; |
| | | overflow: hidden; |
| | | padding-left: 20px; |
| | | } |
| | | .searchBox > button { |
| | | width: 10%; |
| | | color: white; |
| | | height: 40px; |
| | | line-height: 40px; |
| | |
| | | v-if="!culture1 && !culture2 && !culture3" |
| | | style="color: #666; text-align: center; font-size: 16px" |
| | | > |
| | | 暂无数据 |
| | | 世医文化无数据 |
| | | </div> |
| | | </view> |
| | | </view> |
| | |
| | | identifier: this.idIndex, |
| | | socialFlag: true |
| | | }).then((res) => { |
| | | console.log(res); |
| | | let data = res.object; |
| | | // 处理节点颜色 |
| | | this.links = []; |
| | |
| | | } |
| | | }; |
| | | }); |
| | | console.log(this.dataList); |
| | | console.log(this.links); |
| | | this.initBarChart(this.dataList, this.links); |
| | | }); |
| | | |
| | |
| | | inheritMedicalCultureList({ |
| | | identifier: this.idIndex |
| | | }).then((res) => { |
| | | this.culture1 = res.list.find(item=>item.typeName == "家风") |
| | | this.culture2 = res.list.find(item=>item.typeName == "医德") |
| | | this.culture3 = res.list.find(item=>item.typeName == "家训") |
| | | this.culture1 = res.list.find((item) => item.typeName == "家风"); |
| | | this.culture2 = res.list.find((item) => item.typeName == "医德"); |
| | | this.culture3 = res.list.find((item) => item.typeName == "家训"); |
| | | }); |
| | | }, |
| | | showSocialMapping() { |
| | |
| | | height: 0.24rem; |
| | | font-size: 0.12rem; |
| | | padding: 0; |
| | | border: 1px solid #9e9e9e; |
| | | border-radius: 0; |
| | | color: #000; |
| | | } |
| | | .barChart { |
| | | width: 100vw; |
| | |
| | | <!-- <luanqing-search class="search_bar" @onSearch="onSearch"></luanqing-search> --> |
| | | <advancedSearch |
| | | @onSearch="onSearch" |
| | | placehold="输入姓名/别名/时期/传主职业搜索" |
| | | placehold="输入姓名/别名/朝代/传主职业搜索" |
| | | :isAvancedTrue="false" |
| | | :keyword="keywords" |
| | | /> |
| | |
| | | class="advancedSea" |
| | | @click="isAvancedClick" |
| | | style="color: #244a7b; cursor: pointer" |
| | | >高级搜索 ∨</view |
| | | >高级搜索 {{isAdvancedSearch ? "∧" : "∨"}}</view |
| | | > |
| | | </view> |
| | | <!-- 热门搜索 --> |
| | |
| | | style="padding: 0 20rpx; line-height: 0.3rem; height: 0.3rem" |
| | | @click="handInstitCLick(item, 'a')" |
| | | > |
| | | <view class="">{{ item.tagName }}</view> |
| | | <view class="">{{ item.count }}</view> |
| | | <view >{{ item.tagName }}</view> |
| | | <view >{{ item.count }}</view> |
| | | </li> |
| | | </ul> |
| | | <view v-if="profession.list.length - 1 > 3" class="flex flex-center"> |
| | |
| | | style="padding: 0 20rpx" |
| | | @click="handInstitCLick(item, 'b')" |
| | | > |
| | | <view class="">{{ item.dynastyName }}</view> |
| | | <view class="">{{ item.count }}</view> |
| | | <view >{{ item.dynastyName }}</view> |
| | | <view >{{ item.count }}</view> |
| | | </li> |
| | | </ul> |
| | | <view v-if="dynasty.list.length - 1 > 3" class="flex flex-center"> |
| | |
| | | style="padding: 0 20rpx; color: #244a7b" |
| | | @click="handInstitCLick(item, 'c')" |
| | | > |
| | | <view class="">{{ index + 1 + ". " + item.source }}</view> |
| | | <view >{{ index + 1 + ". " + item.source }}</view> |
| | | </li> |
| | | </ul> |
| | | <!-- <view class="flex flex-center"> |
| | |
| | | " |
| | | > |
| | | <view class="flex lightTop" style="width: 100%; margin: 0.1rem 0"> |
| | | <view class="" style="color: #2c2c2c">共{{ total }}条</view> |
| | | <view style="color: #2c2c2c">共{{ total }}条</view> |
| | | <el-button size="small" @click="exportClick">下载</el-button> |
| | | </view> |
| | | <el-table :data="tableData" class="lightBo" style="width: 100%"> |
| | | <el-table :data="tableData" class="lightBo" style="width: 100%" empty-text="暂无搜索信息"> |
| | | <el-table-column prop="id" label="序号" width="110"></el-table-column> |
| | | <el-table-column prop="personName" label="姓名"></el-table-column> |
| | | <el-table-column prop="personAlias" label="别名"></el-table-column> |
| | |
| | | label="性别" |
| | | width="70" |
| | | ></el-table-column> |
| | | <el-table-column prop="period" label="时期"></el-table-column> |
| | | <el-table-column prop="period" label="时代"></el-table-column> |
| | | <el-table-column |
| | | prop="birthYear" |
| | | label="生年" |
| | |
| | | }, |
| | | { |
| | | type: "input", |
| | | label: "时期", |
| | | label: "时间", |
| | | name: "dynasty", |
| | | value: "", |
| | | }, |
| | |
| | | activeBox: null, |
| | | // 时期 |
| | | dynasty: { |
| | | title: "时期", |
| | | title: "时代", |
| | | id: "", |
| | | index: "", |
| | | list: [], |
| | |
| | | }; |
| | | }, |
| | | onLoad(options) { |
| | | console.log(options.keyword); |
| | | this.onSearch({ text: options.keyword }); |
| | | }, |
| | | mounted() { |
| | |
| | | // 下载按钮 |
| | | async exportClick() { |
| | | const dataList = this.tableData; |
| | | console.log(this.keywords, "keywords"); |
| | | let Obj = { |
| | | keywords: "", //搜索框检索 |
| | | // keywords: this.keywords, //搜索框检索 |
| | |
| | | page: 1, |
| | | pageSize: 1, |
| | | }; |
| | | console.log(Obj, "Obj"); |
| | | // // 搜索 |
| | | await getPDownload(Obj).then((res) => { |
| | | console.log(res, "exportClick"); |
| | | // if (res.success) { |
| | | // console.log(res, "搜索接口"); |
| | | // this.tableData = res.list; |
| | | // // 总数量 |
| | | // this.total = res.npage.totalCount; |
| | |
| | | async getStatistics() { |
| | | // 热门搜索 |
| | | await getHotSearch().then((res) => { |
| | | console.log(res, "热门搜索"); |
| | | this.hot = Object.keys(res.object).map((key) => { |
| | | return { |
| | | id: parseInt(key), |
| | |
| | | }); |
| | | // 右侧职业、时期、来源的数据 |
| | | await getPDataStatistics().then((res) => { |
| | | console.log(res, "接口成功sdsdfsdsfs"); |
| | | let totalCount1 = res.object.occupationStatistic.details.reduce( |
| | | (total, item) => total + item.count, |
| | | 0 |
| | |
| | | // 热门搜索 |
| | | hotSearchClick(item) { |
| | | this.onSearch({ text: item.name }); |
| | | console.log(item, "热门搜索"); |
| | | }, |
| | | // 左侧的机构统计等等按钮 |
| | | handInstitCLick(item, name) { |
| | |
| | | this.dynasty.index = item.dynastyId; |
| | | this.dynasty.id = item.dynastyId; |
| | | this.CurrentPage = 1; |
| | | console.log(item); |
| | | } else if (name == "c") { |
| | | this.source.index = item.bookId; |
| | | this.source.id = item.bookId; |
| | | this.CurrentPage = 1; |
| | | console.log("来源"); |
| | | } |
| | | this.onSearch(""); |
| | | |
| | | console.log(item, name); |
| | | }, |
| | | isAvancedClick() { |
| | | this.isAdvancedSearch = !this.isAdvancedSearch; |
| | |
| | | }, |
| | | // 高级搜索 |
| | | async onSubmit(val) { |
| | | console.log(val); |
| | | this.profession.index = Number(val.tagId); |
| | | this.profession.id = Number(val.tagId); |
| | | const currentDynasty = this.dynasty.list.find( |
| | |
| | | }; |
| | | // // 搜索 |
| | | await getPersonList(Obj).then((res) => { |
| | | console.log(res); |
| | | if (res.success) { |
| | | console.log(res, "搜索接口"); |
| | | this.tableData = res.list; |
| | | // 总数量 |
| | | this.total = res.npage.totalCount; |
| | | } |
| | | }); |
| | | console.log(val); |
| | | }, |
| | | // 基础搜索 |
| | | async onSearch(val) { |
| | |
| | | page: this.CurrentPage, |
| | | pageSize: this.pageSize, |
| | | }; |
| | | console.log(Obj, "ObjObjObj"); |
| | | // // 搜索 |
| | | await getPersonList(Obj).then((res) => { |
| | | if (res.success) { |
| | | console.log(res, "搜索接口"); |
| | | this.tableData = res.list; |
| | | // 总数量 |
| | | this.total = res.npage.totalCount; |
| | | } |
| | | }); |
| | | // console.log(val, '士大夫但是'); |
| | | }, |
| | | // 热门搜索 |
| | | 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; |
| | | } |
| | | }); |
| | | }, |
| | | // 展开收缩 |
| | | shrinkClick(box, name) { |
| | | console.log(box); |
| | | console.log(this.dynasty.list); |
| | | |
| | | // this.activeBox = this.activeBox === 'a' ? null : 'a'; |
| | | if (name == "职业") { |
| | | console.log("职业"); |
| | | this.professionIndex = |
| | | this.professionIndex < this.profession.list.length |
| | | ? this.profession.list.length |
| | |
| | | this.dynastyIndex = 4; |
| | | this.activeBox = this.activeBox === "a" ? null : "a"; |
| | | } else { |
| | | console.log("时期"); |
| | | this.dynastyIndex = |
| | | this.dynastyIndex < this.dynasty.list.length |
| | | ? this.dynasty.list.length |
| | |
| | | CurrentChange(val) { |
| | | if (this.CurrentPage != val) { |
| | | this.CurrentPage = val; |
| | | console.log("当前页", val); |
| | | this.onSearch(""); |
| | | } |
| | | }, |
| | |
| | | PrevClick(val) { |
| | | if (this.CurrentPage != val) { |
| | | this.CurrentPage = val; |
| | | // console.log('上一页', val); |
| | | // console.log(this.CurrentPage); |
| | | this.onSearch(""); |
| | | } |
| | | }, |
| | | // 下一页 |
| | | NextClick(val) { |
| | | if (this.CurrentPage != val) { |
| | | // console.log('下一页',val); |
| | | this.CurrentPage = val; |
| | | // console.log(this.CurrentPage); |
| | | this.onSearch(""); |
| | | } |
| | | }, |
| | |
| | | <view class="Midde flex"> |
| | | <el-button class="MiddeBack flex flex-center" @click="goBack">返回</el-button> |
| | | <view style="width: 70%;" class="flex flex-center flex-column"> |
| | | <view class="" style="font-weight: bold;font-size: .20rem;">李时珍</view> |
| | | <view style="font-weight: bold;font-size: .20rem;">李时珍</view> |
| | | <ul class="flex" style="line-height: 1.2;margin: .15rem 0 ;"> |
| | | <li v-for="item in 4" |
| | | style="background-color: #fff; padding: 0 .08rem ; border: .01rem solid #000;border-radius:.1rem ;font-size: .12rem;text-align: center;margin-right: .15rem;"> |
| | |
| | | 东璧,时人谓之:李东璧。号濒湖,晚年自号濒湖山人,湖北薪州(今湖北省黄冈市薪春县薪州镇)人,汉族,生于明武宗正德十三年(公元1518年),卒于神宗万历二十二年(公元1593年)。是中国明代与万密斋齐名的医学家、药物学家、博物学家、著述家。李时珍对道家医学的继承是多方面的,曾参考历代有关医药及其学术书籍八百余种,结合自身经验和调查研究,历时27年编成《本草纲目》一书,是我国古代药物学的总结性巨著,在国内外均有很高的评价,已有几种文字的译本或节译本,其著有《濒湖脉学》 |
| | | </view> |
| | | <view class="flex" style="width: 100%;margin: .25rem 0 .15rem 0;"> |
| | | <view class=""> |
| | | <view > |
| | | <!-- <el-button style="padding: 10rpx;" size="mini" icon="el-icon-folder-add">收藏</el-button> --> |
| | | <el-button style="padding: .05rem .085rem;" class="yinyong flex"> |
| | | <img src="@/static/image/yinyong.png" alt="" />引用</el-button> |
| | | </view> |
| | | <view class="" style="font-size: .12rem;color: #244A7B;" @click="ProfileClick">阅读更多></view> |
| | | <view style="font-size: .12rem;color: #244A7B;" @click="ProfileClick">阅读更多></view> |
| | | </view> |
| | | </view> |
| | | <view class="" style="width: 5%;"></view> |
| | | <view style="width: 5%;"></view> |
| | | </view> |
| | | <el-row style="padding: 0 1.2rem 0;padding-top: .24rem;"> |
| | | <!-- 左侧 --> |
| | |
| | | <view class="ProfileNav flex flex-center"> |
| | | 个人小传 |
| | | </view> |
| | | <view class="" style="padding: .44rem .3rem;min-height: 7.32rem;"> |
| | | <view class="" |
| | | <view style="padding: .44rem .3rem;min-height: 7.32rem;"> |
| | | <view |
| | | style="margin-bottom: .2rem; background-color: #F0F0F0;padding: .18rem .1rem .1rem .27rem;font-size: .12rem;line-height: .24rem;font-weight: 400;"> |
| | | <view class="" style="color: #2C2C2C;"> |
| | | <view style="color: #2C2C2C;"> |
| | | 蕙展丁丑同里日岩额序先考月池翁著《四彭酸明》八卷,皆精指奥室,茂犀未能疯造,珍因撮粹想菜,僵撰此唐,以便智睛,服指南。世之雷病雨家,咸以服焉首务,不知派乃四能之末,谓之巧者雨。上士欲舍其全,非四不可。 |
| | | </view> |
| | | <view class="flex"> |
| | | <view class=""></view> |
| | | <view class="" style="font-weight: 700;color: #2C2C2C;">——《奇八服考》P 3</view> |
| | | <view ></view> |
| | | <view style="font-weight: 700;color: #2C2C2C;">——《奇八服考》P 3</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | }, |
| | | onLoad(options) { |
| | | this.idIndex = options.id |
| | | console.log('optionsoptionsoptions', options.id); |
| | | }, |
| | | mounted() { |
| | | |
| | |
| | | // 获取第一个选项卡的 DOM 元素 |
| | | const firstTab = this.$refs.tabs.$el.querySelector('.el-tabs__active-bar'); |
| | | firstTab.style.transform = 'translateX(' + '-.2rem' + ')' |
| | | console.log(firstTab); |
| | | }); |
| | | |
| | | |
| | |
| | | methods: { |
| | | // 放大地图跳转 |
| | | fangdaClick(index) { |
| | | console.log(index); |
| | | if (index == 1) { |
| | | console.log('跳转关系地图'); |
| | | uni.navigateTo({ |
| | | url: '/pages/character/index' |
| | | }) |
| | |
| | | uni.navigateTo({ |
| | | url: '/pages/characterMap/characterMap' |
| | | }) |
| | | console.log('跳转时空地图'); |
| | | } |
| | | }, |
| | | // 小传 |
| | |
| | | }, |
| | | // 返回顶部 |
| | | scrollToTop() { |
| | | console.log('ss'); |
| | | window.scrollTo({ |
| | | top: 0, |
| | | behavior: "smooth" // 使用平滑滚动 |
| | |
| | | this.$nextTick(() => { |
| | | let firstTab = this.$refs.tabs.$el.querySelector('.el-tabs__active-bar'); |
| | | if (index == 0) { |
| | | console.log('sss'); |
| | | firstTab.style.transform = 'translateX(-' + .2 + 'rem)' |
| | | } else if (index == 1) { |
| | | firstTab.style.transform = 'translateX(' + .85 * index + 'rem)' |
| | |
| | | let firstTab = this.$refs.tabs.$el.querySelector('.el-tabs__active-bar'); |
| | | firstTab.style.transform = 'translateX(' + '-.2' + 'rem)' |
| | | } |
| | | // console.log(firstTab); |
| | | }) |
| | | }, |
| | | // 关系图谱 |
| | |
| | | } |
| | | |
| | | }); |
| | | console.log(links); |
| | | let FontSize = 12; // 字体大小 |
| | | let BorderWidth = 2; // 边框大小 |
| | | let SymbolSize = 80; // 尺寸距离 |
| | |
| | | @click="SchoolClick(item.id)" |
| | | class="flex flex-center font-family school" |
| | | :style="{ |
| | | marginRight: index === dynasty.length - 1 ? '0' : '0.03rem', |
| | | marginRight: index === dynasty.length - 1 ? '0' : '0.03rem' |
| | | }" |
| | | style=" |
| | | font-weight: 500; |
| | |
| | | " |
| | | > |
| | | <view |
| | | class="" |
| | | :style="{ background: item.color }" |
| | | style=" |
| | | margin-right: 0.07rem; |
| | |
| | | border-radius: 50%; |
| | | " |
| | | ></view> |
| | | <view class="" style="color: #2c2c2c; font-size: 0.12rem">{{ |
| | | <view style="color: #2c2c2c; font-size: 0.12rem">{{ |
| | | item.name |
| | | }}</view> |
| | | </view> |
| | |
| | | >关闭</el-button |
| | | > |
| | | </div> |
| | | <view class="" style="overflow: auto; height: 2.5rem"> |
| | | <view style="overflow: auto; height: 2.5rem"> |
| | | <ul |
| | | class="information" |
| | | v-for="(item, index) in SearchArr" |
| | |
| | | position: fixed; |
| | | bottom: 0.33rem; |
| | | left: 0; |
| | | right: 0; |
| | | z-index: 99; |
| | | overflow: auto; |
| | | " |
| | | > |
| | | <ul class="flex"> |
| | |
| | | <view |
| | | class="flex flex-center font-family" |
| | | style=" |
| | | padding: 0.05rem 0.19rem; |
| | | min-width: 0.6rem; |
| | | height: 0.3rem; |
| | | line-height: 0.3rem; |
| | | text-align: center; |
| | | color: #fff; |
| | | font-size: 0.14rem; |
| | | margin-top: 0.03rem; |
| | |
| | | " |
| | | :style="{ |
| | | marginRight: index === dynasty1.length - 1 ? '0' : '0.03rem', |
| | | background: dynasty1Color == item.id ? '#244A7B' : '#597AA5', |
| | | background: dynasty1Color == item.id ? '#244A7B' : '#597AA5' |
| | | }" |
| | | > |
| | | {{ item.dynastyChs }} |
| | |
| | | information: [ |
| | | { |
| | | label: "姓名", |
| | | content: "李时珍", |
| | | content: "李时珍" |
| | | }, |
| | | { |
| | | label: "别名", |
| | | content: "东丽先生", |
| | | content: "东丽先生" |
| | | }, |
| | | { |
| | | label: "籍贯", |
| | | content: "湖北", |
| | | content: "湖北" |
| | | }, |
| | | { |
| | | label: "医学分科", |
| | | content: "中药,针灸", |
| | | content: "中药,针灸" |
| | | }, |
| | | { |
| | | label: "小传", |
| | | content: |
| | | "李时珍(约1518年~1593 年), 字东璧, 晚年自号濒湖山人, 湖广黄州府薪州(今湖北省薪春县) 人, 明代著名医药学家。 与“ 医圣” 万密斋齐名, 古有“ 万密斋的方, 李时珍的药” 之说。 后为楚干府...", |
| | | }, |
| | | "李时珍(约1518年~1593 年), 字东璧, 晚年自号濒湖山人, 湖广黄州府薪州(今湖北省薪春县) 人, 明代著名医药学家。 与“ 医圣” 万密斋齐名, 古有“ 万密斋的方, 李时珍的药” 之说。 后为楚干府..." |
| | | } |
| | | ], |
| | | // 下面的朝代1 |
| | | dynasty1Color: "", |
| | |
| | | { |
| | | name: "夏朝", |
| | | coord: "2070BC", |
| | | id: 1, |
| | | id: 1 |
| | | }, |
| | | { |
| | | name: "商朝", |
| | | id: 2, |
| | | coord: "1600BC", |
| | | coord: "1600BC" |
| | | }, |
| | | { |
| | | name: "西周", |
| | | id: 3, |
| | | coord: "1600BC", |
| | | coord: "1600BC" |
| | | }, |
| | | { |
| | | name: "春秋战国", |
| | | id: 4, |
| | | coord: "770BC", |
| | | coord: "770BC" |
| | | }, |
| | | { |
| | | name: "秦朝", |
| | | id: 5, |
| | | coord: "221BC", |
| | | coord: "221BC" |
| | | }, |
| | | { |
| | | name: "汉朝", |
| | | id: 6, |
| | | coord: "202BC", |
| | | coord: "202BC" |
| | | }, |
| | | { |
| | | name: "三国两晋南北朝", |
| | | id: 7, |
| | | coord: "184", |
| | | coord: "184" |
| | | }, |
| | | { |
| | | name: "隋朝", |
| | | id: 8, |
| | | coord: "581", |
| | | coord: "581" |
| | | }, |
| | | { |
| | | name: "唐朝", |
| | | id: 9, |
| | | coord: "618", |
| | | coord: "618" |
| | | }, |
| | | { |
| | | name: "五代十国", |
| | | id: 10, |
| | | coord: "907", |
| | | coord: "907" |
| | | }, |
| | | { |
| | | name: "辽夏金", |
| | | id: 11, |
| | | coord: "907", |
| | | coord: "907" |
| | | }, |
| | | { |
| | | name: "宋朝", |
| | | id: 12, |
| | | coord: "960", |
| | | coord: "960" |
| | | }, |
| | | { |
| | | name: "元朝", |
| | | id: 13, |
| | | coord: "1271", |
| | | coord: "1271" |
| | | }, |
| | | { |
| | | name: "明朝", |
| | | id: 14, |
| | | coord: "1368", |
| | | coord: "1368" |
| | | }, |
| | | { |
| | | name: "清朝", |
| | | id: 15, |
| | | coord: "1636", |
| | | }, |
| | | coord: "1636" |
| | | } |
| | | ], |
| | | // 标题顶部栏需要的东西 |
| | | idIndex: 0, |
| | |
| | | { |
| | | name: "夏", |
| | | color: "#90BBD8", |
| | | id: 1, |
| | | id: 1 |
| | | }, |
| | | { |
| | | name: "商", |
| | | color: "#EDD28B", |
| | | id: 2, |
| | | id: 2 |
| | | }, |
| | | { |
| | | name: "西周", |
| | | color: "#CF746D", |
| | | id: 3, |
| | | id: 3 |
| | | }, |
| | | { |
| | | name: "秦", |
| | | color: "#9CC27A", |
| | | id: 4, |
| | | id: 4 |
| | | }, |
| | | { |
| | | name: "汉", |
| | | color: "#5B6CB9", |
| | | id: 5, |
| | | id: 5 |
| | | }, |
| | | { |
| | | name: "隋", |
| | | color: "#8860A8", |
| | | id: 6, |
| | | id: 6 |
| | | }, |
| | | { |
| | | name: "唐", |
| | | color: "#DE8E66", |
| | | id: 7, |
| | | id: 7 |
| | | }, |
| | | { |
| | | name: "明", |
| | | color: "#DE8E66", |
| | | id: 8, |
| | | }, |
| | | id: 8 |
| | | } |
| | | ], |
| | | // 搜索后是否显示弹框 |
| | | isSearch: false, |
| | |
| | | id: 1, |
| | | name: "李时珍", |
| | | birthAndDeath: "1518-1593", |
| | | source: "国图规范档,CBDB,上图古籍数据库 籍贯:湖北", |
| | | source: "国图规范档,CBDB,上图古籍数据库 籍贯:湖北" |
| | | }, |
| | | { |
| | | id: 2, |
| | | name: "李时珍", |
| | | birthAndDeath: "1518-1593", |
| | | source: "国图规范档,CBDB,上图古籍数据库 籍贯:湖北", |
| | | }, |
| | | ], |
| | | source: "国图规范档,CBDB,上图古籍数据库 籍贯:湖北" |
| | | } |
| | | ] |
| | | }; |
| | | }, |
| | | onLoad(options) { |
| | | this.idIndex = options.id; |
| | | console.log("optionsoptionsoptions", options.id); |
| | | }, |
| | | mounted() { |
| | | this.getDynastyList(); |
| | |
| | | methods: { |
| | | getDynastyList() { |
| | | getDynasty().then((res) => { |
| | | console.log(res, "123123"); |
| | | this.dynasty1 = res.list; |
| | | }); |
| | | }, |
| | | showCard(info) { |
| | | console.log(info); |
| | | console.log(this.markerList); |
| | | console.log(this.map); |
| | | const item = this.markerList.find((f) => f.id == info.id); |
| | | var latlng = L.latLng(item.yCoord, item.xCoord); |
| | | this.map.setView(latlng, 10); |
| | |
| | | if (res.object) { |
| | | let markerList = []; |
| | | const listData = res.object.personList; |
| | | console.log(listData, "listData"); |
| | | for (let i = 0; i < listData.length; i++) { |
| | | const item = listData[i]; |
| | | if (item.NATIVE_PLACE?.length > 0) { |
| | |
| | | }); |
| | | } |
| | | } |
| | | console.log(markerList, "markerList"); |
| | | this.initMap(markerList); |
| | | this.SearchArr = markerList.map((item) => ({ |
| | | birthAndDeath: item?.BIRTH_YEAR[0]?.content1 |
| | |
| | | : "-", |
| | | name: item?.NAME[0]?.content1, |
| | | source: "-", |
| | | id: item.id, |
| | | id: item.id |
| | | })); |
| | | this.markerList = markerList; |
| | | } |
| | |
| | | } |
| | | var map = L.map("map", { |
| | | preferCanvas: true, |
| | | attributionControl: false, |
| | | attributionControl: false |
| | | }).setView([39.91667, 116.41667], 3); |
| | | |
| | | L.tileLayer |
| | | .chinaProvider("TianDiTu.Normal.Map", { |
| | | key: "76bc34ead7e30e663a4eded8aeaf5860", |
| | | maxZoom: 18, |
| | | minZoom: 3, |
| | | minZoom: 3 |
| | | }) |
| | | .addTo(map); |
| | | let DefaultIcon1 = L.icon({ |
| | | iconUrl: this.icoName, |
| | | iconSize: [24, 41], // 图标的大小 【值1,值2】 为具体你自定义图标的尺寸,比如我图标尺寸是32×52,表示该图标:宽度32像素,高度:52像素,那么值1:就是32,值2:就是52 |
| | | iconAnchor: [24, 41], // 图标将对应标记点的位置 这个是重点, 【值1,值2】,值1:为图标坐标第一个值(即32)的一半,值2:为图标坐标第二个值(即52) |
| | | popupAnchor: [1, -24], // 该点是相对于iconAnchor弹出信息的位置 这个是我手动调出来的,文档默认原始值是[-1,-76],我是去一半值,取一半值调出来的 |
| | | popupAnchor: [1, -24] // 该点是相对于iconAnchor弹出信息的位置 这个是我手动调出来的,文档默认原始值是[-1,-76],我是去一半值,取一半值调出来的 |
| | | }); |
| | | |
| | | let icon = L.divIcon({ |
| | | html: "<div class='map-circle-name '></div>", |
| | | iconSize: [80, 80], |
| | | className: "map-circle", |
| | | className: "map-circle" |
| | | }); |
| | | this.map = map; |
| | | if (markerList.length) { |
| | |
| | | let icon = L.divIcon({ |
| | | html: `<div class='${currentClassName} ripple'></div>`, |
| | | iconSize: [80, 80], |
| | | className: "map-circle", |
| | | className: "map-circle" |
| | | }); |
| | | const temp_mark = L.marker([item.yCoord, item.xCoord], { |
| | | icon: icon, |
| | | icon: icon |
| | | }).addTo(map); |
| | | temp_mark.on("click", (e) => { |
| | | this.isEchTrue = true; |
| | |
| | | nikeName: item?.ALIAS[0]?.content2, |
| | | nativePlace: item?.content1, |
| | | barnch: item?.MEDICAL_BRANCH[0]?.content1, |
| | | medical: item?.MEDICAL_EXPERTISE[0]?.content1, |
| | | medical: item?.MEDICAL_EXPERTISE[0]?.content1 |
| | | }; |
| | | this.$nextTick(() => { |
| | | this.isTop = |
| | |
| | | |
| | | // 点击下面的朝代按钮 |
| | | dynastyBottomClick(id) { |
| | | console.log(id); |
| | | this.dynasty1Color = id; |
| | | this.getDataList(); |
| | | }, |
| | |
| | | this.getDataList(); |
| | | }, |
| | | // 点击上面的朝代按钮 |
| | | SchoolClick(id) { |
| | | console.log(id); |
| | | }, |
| | | SchoolClick(id) {}, |
| | | // 查看更多>> |
| | | viewMoreClick() { |
| | | uni.navigateTo({ |
| | | url: "/pages/character/detail", |
| | | url: "/pages/character/detail" |
| | | }); |
| | | }, |
| | | }, |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | |
| | | } |
| | | |
| | | ::v-deep .ripple { |
| | | |
| | | border-radius: 50%; |
| | | position: relative; |
| | | overflow: hidden; |
| | |
| | | <template> |
| | | <view class=""> |
| | | <view > |
| | | <headNav :idIndex="idIndex" :searchBg="false" text="中医世医传承数据库" bg="/static/image/topBg1.png" |
| | | bg1="/static/image/line1.png" /> |
| | | |
| | |
| | | <li style="background-color: #DA7A2B;color: #fff;">世医传承</li> |
| | | <li @click="ListClick" style="background-color: #fff;color: #DA7A2B;" >世医传承</li> |
| | | </ul> |
| | | <view class="" style="width: 1rem;"></view> |
| | | <view style="width: 1rem;"></view> |
| | | </view> |
| | | <!-- echarts图 --> |
| | | <div class="barChart" ref="barChart"></div> |
| | |
| | | }, |
| | | onLoad(options) { |
| | | this.idIndex = options.id |
| | | console.log('optionsoptionsoptions', options.id); |
| | | }, |
| | | mounted() { |
| | | // 初始化 echarts |
| | |
| | | getters, |
| | | mutations:{ |
| | | Set_UserName(state,username){ |
| | | console.log(username,'uuu'); |
| | | state.username=username |
| | | } |
| | | }, |
| | |
| | | // 监听mutaions 记录state到本地存储 |
| | | store.subscribe((mutation,state)=>{ |
| | | uni.setStorageSync('state',state) |
| | | console.log(state,'statestatestate'); |
| | | }) |
| | | // 读取缓存中state |
| | | if(uni.getStorageSync('state')){ |
| | | // console.log(state,'aaaaaaaaastatestatestate'); |
| | | store.replaceState(Object.assign({},store.state,uni.getStorageSync('state'))) |
| | | } |
| | | }] |
| | |
| | | mutations: { |
| | | set_token: (state, params) => (state.token = params), |
| | | set_id: (state, params) => { |
| | | console.log('sdf'); |
| | | state.id = params |
| | | } |
| | | }, |
| | | actions: { |
| | | isSet_id(store, role){ |
| | | console.log(role); |
| | | store.commit('set_id',role) |
| | | } |
| | | } |
| | |
| | | function showToastError(errors) { |
| | | const { message } = errors.shift() |
| | | if (!message) return |
| | | uni.showToast({ |
| | | icon: 'none', |
| | | title: message |
| | | }) |
| | | // uni.showToast({ |
| | | // icon: 'none', |
| | | // title: message |
| | | // }) |
| | | this.$message.error(message); |
| | | } |
| | | |
| | | function reset() { |
| | |
| | | // 搜索下拉框 |
| | | change(e) { |
| | | this.$emit("select", e); |
| | | console.log(e); |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | }, |
| | | watch: { |
| | | keyword(value) { |
| | | console.log(value); |
| | | this.inputVal = value; |
| | | } |
| | | } |
| | |
| | | */ |
| | | export const debounce = function(func, wait = 1000, immediate = true) { |
| | | let timer; |
| | | console.log(1); |
| | | return function() { |
| | | console.log(123); |
| | | let context = this, |
| | | args = arguments; |
| | | if (timer) clearTimeout(timer); |
| | |
| | | }, |
| | | |
| | | msg() { |
| | | // console.log('computed', this.form, this.formItem); |
| | | // if (this.form) { |
| | | // return this.errorMessage || this.formItem.errMsg; |
| | | // } |
| | |
| | | res.data.errorText == "需要验证身份" && |
| | | res.data.errorCode == "11" |
| | | ) { |
| | | console.log("token过期了"); |
| | | Message.error(res.data.errorText || ""); |
| | | // 清楚token |
| | | uni.getStorageSync("access_token"); |
| | | uni.clearStorageSync(); |
| | | uni.showToast({ |
| | | title: "请重新登录", |
| | | icon: "none" |
| | | }); |
| | | uni.reLaunch({ |
| | | url: "/pages/Login/Login" |
| | | }); |